[gpstk] 01/09: Imported Upstream version 1.0

Bas Couwenberg sebastic at debian.org
Sat Jul 9 21:51:03 UTC 2016


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master
in repository gpstk.

commit f7b32f934b9197a5e9def8f01bdd1a3c0d7e784c
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Sat Jun 4 19:27:58 2016 +0200

    Imported Upstream version 1.0
---
 trunk/AUTHORS                                     |    32 +
 trunk/COPYING                                     |   504 +
 trunk/ChangeLog                                   |   131 +
 trunk/Doxyfile                                    |  1168 +
 trunk/INSTALL                                     |   236 +
 trunk/Jamfile                                     |    10 +
 trunk/Jamrules                                    |   276 +
 trunk/Makefile.am                                 |     2 +
 trunk/NEWS                                        |    17 +
 trunk/README                                      |    91 +
 trunk/apps/Jamfile                                |    21 +
 trunk/apps/MDPtools/DataStatus.hpp                |    85 +
 trunk/apps/MDPtools/FormatConversionFunctions.cpp |   234 +
 trunk/apps/MDPtools/FormatConversionFunctions.hpp |    60 +
 trunk/apps/MDPtools/Jamfile                       |    30 +
 trunk/apps/MDPtools/MDPHeader.cpp                 |   350 +
 trunk/apps/MDPtools/MDPHeader.hpp                 |   118 +
 trunk/apps/MDPtools/MDPNavSubframe.cpp            |   136 +
 trunk/apps/MDPtools/MDPNavSubframe.hpp            |    76 +
 trunk/apps/MDPtools/MDPObsEpoch.cpp               |   219 +
 trunk/apps/MDPtools/MDPObsEpoch.hpp               |    85 +
 trunk/apps/MDPtools/MDPPVTSolution.cpp            |   116 +
 trunk/apps/MDPtools/MDPPVTSolution.hpp            |    54 +
 trunk/apps/MDPtools/MDPProcessors.cpp             |   314 +
 trunk/apps/MDPtools/MDPProcessors.hpp             |   136 +
 trunk/apps/MDPtools/MDPSelftestStatus.cpp         |    98 +
 trunk/apps/MDPtools/MDPSelftestStatus.hpp         |    52 +
 trunk/apps/MDPtools/MDPStream.hpp                 |   101 +
 trunk/apps/MDPtools/NavProc.cpp                   |   159 +
 trunk/apps/MDPtools/NavProc.hpp                   |    55 +
 trunk/apps/MDPtools/ScreenProc.cpp                |   354 +
 trunk/apps/MDPtools/ScreenProc.hpp                |    54 +
 trunk/apps/MDPtools/SummaryProc.cpp               |   402 +
 trunk/apps/MDPtools/SummaryProc.hpp               |    62 +
 trunk/apps/MDPtools/TCPStream.cpp                 |   317 +
 trunk/apps/MDPtools/TCPStream.hpp                 |   154 +
 trunk/apps/MDPtools/TrackProc.cpp                 |   141 +
 trunk/apps/MDPtools/TrackProc.hpp                 |    36 +
 trunk/apps/MDPtools/mdp2rinex.cpp                 |   301 +
 trunk/apps/MDPtools/mdptool.cpp                   |   296 +
 trunk/apps/MDPtools/miscenum.hpp                  |   134 +
 trunk/apps/MDPtools/tcptest.cpp                   |    83 +
 trunk/apps/Makefile.am                            |     1 +
 trunk/apps/Makefile.in                            |   467 +
 trunk/apps/RinexPlot/README                       |    31 +
 trunk/apps/RinexPlot/RSW214B.obs                  |  6827 ++
 trunk/apps/RinexPlot/RinexPlot.bat                |    10 +
 trunk/apps/RinexPlot/RinexPlot.pl                 |  3458 +
 trunk/apps/RinexPlot/alic0320.04o                 | 56143 ++++++++++++++
 trunk/apps/RinexPlot/goRP                         |     1 +
 trunk/apps/RinexPlot/goRP.bat                     |     1 +
 trunk/apps/RinexPlot/goRP1                        |     2 +
 trunk/apps/RinexPlot/goRP1.bat                    |     2 +
 trunk/apps/RinexPlot/positions.txt                |   151 +
 trunk/apps/Rinextools/EditRinex                   |   Bin 0 -> 842076 bytes
 trunk/apps/Rinextools/EditRinex.cpp               |   330 +
 trunk/apps/Rinextools/Jamfile                     |    18 +
 trunk/apps/Rinextools/Makefile.am                 |    13 +
 trunk/apps/Rinextools/Makefile.in                 |   482 +
 trunk/apps/Rinextools/NavMerge                    |   Bin 0 -> 489118 bytes
 trunk/apps/Rinextools/NavMerge.cpp                |   251 +
 trunk/apps/Rinextools/README                      |    45 +
 trunk/apps/Rinextools/ResCor                      |   Bin 0 -> 1331833 bytes
 trunk/apps/Rinextools/ResCor.cpp                  |  2063 +
 trunk/apps/Rinextools/RinSum                      |   Bin 0 -> 814962 bytes
 trunk/apps/Rinextools/RinSum.cpp                  |   662 +
 trunk/apps/Rinextools/RinexDump                   |   Bin 0 -> 690710 bytes
 trunk/apps/Rinextools/RinexDump.cpp               |   242 +
 trunk/apps/Rinextools/RinexEditor.cpp             |  1290 +
 trunk/apps/Rinextools/RinexEditor.hpp             |   287 +
 trunk/apps/Rinextools/RinexUtilities.cpp          |   237 +
 trunk/apps/Rinextools/RinexUtilities.hpp          |    90 +
 trunk/apps/Rinextools/toolslib.a                  |   Bin 0 -> 560266 bytes
 trunk/apps/bindings/DayTime.i                     |   283 +
 trunk/apps/bindings/Exception.i                   |    16 +
 trunk/apps/bindings/FFTextStream.i                |    17 +
 trunk/apps/bindings/GPSZcount.i                   |    17 +
 trunk/apps/bindings/README                        |    67 +
 trunk/apps/bindings/RinexObsStream.i              |    34 +
 trunk/apps/bindings/common.i                      |    49 +
 trunk/apps/bindings/gpstk.i                       |    15 +
 trunk/apps/bindings/java/Makefile                 |    51 +
 trunk/apps/bindings/java/examples/example1.java   |    11 +
 trunk/apps/bindings/octave/Makefile               |    29 +
 trunk/apps/bindings/octave/calculatePosition.cpp  |   203 +
 trunk/apps/bindings/octave/readRinexObsFast.cpp   |   332 +
 trunk/apps/bindings/octave/readRinexObsGeom.cpp   |   397 +
 trunk/apps/bindings/perl/Makefile                 |    50 +
 trunk/apps/bindings/python/DayTimeException.i     |     5 +
 trunk/apps/bindings/python/Developer.txt          |    45 +
 trunk/apps/bindings/python/ExtraWaveFact.i        |    11 +
 trunk/apps/bindings/python/Makefile               |    44 +
 trunk/apps/bindings/python/RinexDatum.i           |    10 +
 trunk/apps/bindings/python/RinexObsType.i         |    20 +
 trunk/apps/bindings/python/common.i               |    56 +
 trunk/apps/bindings/python/examples/example1.html |    38 +
 trunk/apps/bindings/python/examples/example1.py   |    20 +
 trunk/apps/bindings/python/examples/example2.html |    29 +
 trunk/apps/bindings/python/examples/example2.py   |    17 +
 trunk/apps/bindings/python/examples/example3.html |    61 +
 trunk/apps/bindings/python/examples/example3.py   |    63 +
 trunk/apps/bindings/python/gpstkPython.html       | 25524 +++++++
 trunk/apps/bindings/python/gpstkPython.i          |   321 +
 trunk/apps/bindings/python/gpstkPythonUtils.cpp   |    67 +
 trunk/apps/bindings/python/gpstkPythonUtils.i     |    14 +
 trunk/apps/bindings/python/gpstkPython_wrap.cxx   | 76622 ++++++++++++++++++++
 trunk/apps/bindings/python/pydoc.py               |  2142 +
 trunk/apps/bindings/python/sensorType.i           |    17 +
 trunk/apps/bindings/python/streamRead.cpp         |    11 +
 trunk/apps/bindings/python/streamRead.i           |     3 +
 trunk/apps/bindings/tcl/Makefile                  |    49 +
 trunk/apps/bindings/tcl/examples/example1.tcl     |    10 +
 trunk/apps/bindings/tcl/gpstk_wrap_mod.cxx        | 11807 +++
 trunk/apps/checktools/CheckFrame.hpp              |   120 +
 trunk/apps/checktools/Jamfile                     |    12 +
 trunk/apps/checktools/Makefile.am                 |    10 +
 trunk/apps/checktools/Makefile.in                 |   460 +
 trunk/apps/checktools/ficacheck                   |   Bin 0 -> 529884 bytes
 trunk/apps/checktools/ficacheck.cpp               |    38 +
 trunk/apps/checktools/ficcheck                    |   Bin 0 -> 528156 bytes
 trunk/apps/checktools/ficcheck.cpp                |    38 +
 trunk/apps/checktools/rmwcheck                    |   Bin 0 -> 417111 bytes
 trunk/apps/checktools/rmwcheck.cpp                |    39 +
 trunk/apps/checktools/rnwcheck                    |   Bin 0 -> 508042 bytes
 trunk/apps/checktools/rnwcheck.cpp                |    38 +
 trunk/apps/checktools/rowcheck                    |   Bin 0 -> 495613 bytes
 trunk/apps/checktools/rowcheck.cpp                |    38 +
 trunk/apps/converters/Jamfile                     |     9 +
 trunk/apps/converters/Makefile.am                 |     6 +
 trunk/apps/converters/NovatelData.cpp             |  1065 +
 trunk/apps/converters/NovatelData.hpp             |   183 +
 trunk/apps/converters/NovatelStream.hpp           |    96 +
 trunk/apps/converters/novaRinex                   |   Bin 0 -> 761182 bytes
 trunk/apps/converters/novaRinex.cpp               |   981 +
 trunk/apps/cycleslips/DiscCorr.cpp                |  2902 +
 trunk/apps/cycleslips/DiscCorr.hpp                |   246 +
 trunk/apps/cycleslips/DiscFix                     |   Bin 0 -> 748753 bytes
 trunk/apps/cycleslips/DiscFix.cpp                 |  1411 +
 trunk/apps/cycleslips/Jamfile                     |     9 +
 trunk/apps/cycleslips/Makefile.am                 |     6 +
 trunk/apps/cycleslips/Makefile.in                 |   422 +
 trunk/apps/cycleslips/README                      |    67 +
 trunk/apps/cycleslips/examples/GFP2.gp            |    12 +
 trunk/apps/cycleslips/examples/GFP2_Win.gp        |    13 +
 trunk/apps/cycleslips/examples/GFP3.gp            |    12 +
 trunk/apps/cycleslips/examples/GFP3_Win.gp        |    13 +
 trunk/apps/cycleslips/examples/GFP6.gp            |    12 +
 trunk/apps/cycleslips/examples/GFP6_Win.gp        |    13 +
 trunk/apps/cycleslips/examples/GFRF2G17.jpg       |   Bin 0 -> 55250 bytes
 trunk/apps/cycleslips/examples/GFRF3G17.jpg       |   Bin 0 -> 61949 bytes
 trunk/apps/cycleslips/examples/GFRF6G31.jpg       |   Bin 0 -> 34517 bytes
 trunk/apps/cycleslips/examples/WLSS2.gp           |    15 +
 trunk/apps/cycleslips/examples/WLSS2G17.jpg       |   Bin 0 -> 69436 bytes
 trunk/apps/cycleslips/examples/WLSS2_Win.gp       |    16 +
 trunk/apps/cycleslips/examples/WLSS3.gp           |    15 +
 trunk/apps/cycleslips/examples/WLSS3G17.jpg       |   Bin 0 -> 60771 bytes
 trunk/apps/cycleslips/examples/WLSS3_Win.gp       |    16 +
 trunk/apps/cycleslips/examples/WLSS6.gp           |    15 +
 trunk/apps/cycleslips/examples/WLSS6G31.jpg       |   Bin 0 -> 42029 bytes
 trunk/apps/cycleslips/examples/WLSS6_Win.gp       |    16 +
 trunk/apps/cycleslips/examples/chmp0110.02o.G31   |  1213 +
 trunk/apps/cycleslips/examples/df.inp             |    22 +
 trunk/apps/cycleslips/examples/df_occult.inp      |    21 +
 trunk/apps/cycleslips/examples/eusk2950.01o.G17   |  3016 +
 trunk/apps/cycleslips/examples/euskCorrected.jpg  |   Bin 0 -> 43278 bytes
 trunk/apps/cycleslips/examples/goDF1              |    24 +
 trunk/apps/cycleslips/examples/goDF1.bat          |    24 +
 trunk/apps/cycleslips/examples/goDF2              |    16 +
 trunk/apps/cycleslips/examples/goDF2.bat          |    16 +
 trunk/apps/cycleslips/examples/mjd2gps.awk        |    26 +
 trunk/apps/differential/Jamfile                   |     7 +
 trunk/apps/differential/Makefile.am               |     6 +
 trunk/apps/differential/Makefile.in               |   421 +
 trunk/apps/differential/vecsol                    |   Bin 0 -> 1075487 bytes
 trunk/apps/differential/vecsol.1                  |   111 +
 trunk/apps/differential/vecsol.conf               |    10 +
 trunk/apps/differential/vecsol.cpp                |   883 +
 trunk/apps/differential/vecsol.eph                |     7 +
 trunk/apps/differential/vecsol.nav                |     3 +
 trunk/apps/differential/vecsol.pdf                |   Bin 0 -> 12538 bytes
 trunk/apps/difftools/DiffFrame.hpp                |    84 +
 trunk/apps/difftools/Jamfile                      |    12 +
 trunk/apps/difftools/Makefile.am                  |    10 +
 trunk/apps/difftools/Makefile.in                  |   460 +
 trunk/apps/difftools/ephdiff                      |   Bin 0 -> 746819 bytes
 trunk/apps/difftools/ephdiff.cpp                  |   359 +
 trunk/apps/difftools/ficdiff                      |   Bin 0 -> 659848 bytes
 trunk/apps/difftools/ficdiff.cpp                  |   103 +
 trunk/apps/difftools/rmwdiff                      |   Bin 0 -> 576219 bytes
 trunk/apps/difftools/rmwdiff.cpp                  |   221 +
 trunk/apps/difftools/rnwdiff                      |   Bin 0 -> 644514 bytes
 trunk/apps/difftools/rnwdiff.cpp                  |   205 +
 trunk/apps/difftools/rowdiff                      |   Bin 0 -> 658399 bytes
 trunk/apps/difftools/rowdiff.cpp                  |   203 +
 trunk/apps/filetools/Jamfile                      |    14 +
 trunk/apps/filetools/Makefile.am                  |    10 +
 trunk/apps/filetools/Makefile.in                  |   460 +
 trunk/apps/filetools/RinexThin.cpp                |   123 +
 trunk/apps/filetools/fic2rin                      |   Bin 0 -> 690752 bytes
 trunk/apps/filetools/fic2rin.cpp                  |   125 +
 trunk/apps/filetools/ficafic                      |   Bin 0 -> 568592 bytes
 trunk/apps/filetools/ficafic.cpp                  |    89 +
 trunk/apps/filetools/ficfica                      |   Bin 0 -> 568624 bytes
 trunk/apps/filetools/ficfica.cpp                  |    89 +
 trunk/apps/filetools/navdmp                       |   Bin 0 -> 743486 bytes
 trunk/apps/filetools/navdmp.cpp                   |   429 +
 trunk/apps/filetools/rinexthin                    |   Bin 0 -> 469813 bytes
 trunk/apps/ionosphere/IonoBias                    |   Bin 0 -> 978140 bytes
 trunk/apps/ionosphere/IonoBias.cpp                |  1612 +
 trunk/apps/ionosphere/Jamfile                     |    10 +
 trunk/apps/ionosphere/Makefile.am                 |     7 +
 trunk/apps/ionosphere/Makefile.in                 |   433 +
 trunk/apps/ionosphere/README                      |    15 +
 trunk/apps/ionosphere/RinexUtilities.cpp          |   237 +
 trunk/apps/ionosphere/RinexUtilities.hpp          |    90 +
 trunk/apps/ionosphere/TECMaps                     |   Bin 0 -> 1027794 bytes
 trunk/apps/ionosphere/TECMaps.cpp                 |  1482 +
 trunk/apps/ionosphere/VTECMap.cpp                 |   484 +
 trunk/apps/ionosphere/VTECMap.hpp                 |   251 +
 trunk/apps/ionosphere/example/README              |    69 +
 trunk/apps/ionosphere/example/bias.inp            |    18 +
 trunk/apps/ionosphere/example/getigs              |   373 +
 trunk/apps/ionosphere/example/gobias              |     3 +
 trunk/apps/ionosphere/example/gomaps              |     1 +
 trunk/apps/ionosphere/example/gopre               |   371 +
 trunk/apps/ionosphere/example/list.files          |   366 +
 trunk/apps/ionosphere/example/maps.inp            |    35 +
 trunk/apps/ionosphere/example/plotall.pl          |    87 +
 trunk/apps/ionosphere/example/preprocess.pl       |   104 +
 trunk/apps/ionosphere/example/see                 |     1 +
 trunk/apps/mergetools/Jamfile                     |     9 +
 trunk/apps/mergetools/Makefile.am                 |     9 +
 trunk/apps/mergetools/Makefile.in                 |   451 +
 trunk/apps/mergetools/MergeFrame.hpp              |    93 +
 trunk/apps/mergetools/mergeFIC                    |   Bin 0 -> 638182 bytes
 trunk/apps/mergetools/mergeFIC.cpp                |   109 +
 trunk/apps/mergetools/mergeRinMet                 |   Bin 0 -> 572860 bytes
 trunk/apps/mergetools/mergeRinMet.cpp             |   123 +
 trunk/apps/mergetools/mergeRinNav                 |   Bin 0 -> 644262 bytes
 trunk/apps/mergetools/mergeRinNav.cpp             |   126 +
 trunk/apps/mergetools/mergeRinObs                 |   Bin 0 -> 657707 bytes
 trunk/apps/mergetools/mergeRinObs.cpp             |   126 +
 trunk/apps/positioning/Jamfile                    |     8 +
 trunk/apps/positioning/Makefile.am                |     8 +
 trunk/apps/positioning/Makefile.in                |   440 +
 trunk/apps/positioning/PRSolve                    |   Bin 0 -> 1207021 bytes
 trunk/apps/positioning/PRSolve.cpp                |  1723 +
 trunk/apps/positioning/doc/brdc0200.05n           |  3240 +
 trunk/apps/positioning/doc/nga13063.apc           |  5687 ++
 trunk/apps/positioning/doc/nga13064.apc           |  5687 ++
 trunk/apps/positioning/doc/nga13065.apc           |  5879 ++
 trunk/apps/positioning/doc/rinexpvt-manual.pdf    |   Bin 0 -> 127764 bytes
 trunk/apps/positioning/doc/rinexpvt-manual.tm     |   599 +
 trunk/apps/positioning/doc/usno0200.05m           |   304 +
 trunk/apps/positioning/doc/usno0200.05o           | 51808 +++++++++++++
 trunk/apps/positioning/poscvt                     |   Bin 0 -> 225733 bytes
 trunk/apps/positioning/poscvt.cpp                 |   215 +
 trunk/apps/positioning/rinexpvt                   |   Bin 0 -> 1231371 bytes
 trunk/apps/positioning/rinexpvt.cpp               |   467 +
 trunk/apps/positioning/rinexpvt.hpp               |   112 +
 trunk/apps/reszilla/DDEpoch.cpp                   |   402 +
 trunk/apps/reszilla/DDEpoch.hpp                   |    61 +
 trunk/apps/reszilla/ElevationRange.hpp            |    36 +
 trunk/apps/reszilla/Jamfile                       |    22 +
 trunk/apps/reszilla/Makefile.am                   |    10 +
 trunk/apps/reszilla/Makefile.in                   |   451 +
 trunk/apps/reszilla/PhaseCleaner.cpp              |   180 +
 trunk/apps/reszilla/PhaseCleaner.hpp              |    38 +
 trunk/apps/reszilla/PhaseResidual.cpp             |   115 +
 trunk/apps/reszilla/PhaseResidual.hpp             |    71 +
 trunk/apps/reszilla/ordUtils.cpp                  |   268 +
 trunk/apps/reszilla/ordUtils.hpp                  |    28 +
 trunk/apps/reszilla/readers.cpp                   |   499 +
 trunk/apps/reszilla/readers.hpp                   |    41 +
 trunk/apps/reszilla/reszilla                      |   Bin 0 -> 1517142 bytes
 trunk/apps/reszilla/reszilla.cpp                  |   318 +
 trunk/apps/reszilla/rlib.a                        |   Bin 0 -> 805776 bytes
 trunk/apps/reszilla/util.cpp                      |   360 +
 trunk/apps/reszilla/util.hpp                      |   126 +
 trunk/apps/time/Jamfile                           |     7 +
 trunk/apps/time/Makefile.am                       |     7 +
 trunk/apps/time/Makefile.in                       |   430 +
 trunk/apps/time/README.txt                        |    94 +
 trunk/apps/time/calgps                            |   Bin 0 -> 238633 bytes
 trunk/apps/time/calgps.cpp                        |   142 +
 trunk/apps/time/timcvt                            |   Bin 0 -> 282937 bytes
 trunk/apps/time/timcvt.cpp                        |   217 +
 trunk/apps/visibility/Jamfile                     |     7 +
 trunk/apps/visibility/Makefile.am                 |     6 +
 trunk/apps/visibility/UsingWhereSat.doc           |   Bin 0 -> 44544 bytes
 trunk/apps/visibility/WhereSat.cpp                |   261 +
 trunk/apps/visibility/wheresat                    |   Bin 0 -> 555858 bytes
 trunk/configure.ac                                |    54 +
 trunk/examples/Jamfile                            |     7 +
 trunk/examples/Makefile.am                        |    10 +
 trunk/examples/Makefile.in                        |   452 +
 trunk/examples/bahr1620.04m                       |   109 +
 trunk/examples/bahr1620.04n                       |  1331 +
 trunk/examples/bahr1620.04o                       |  2013 +
 trunk/examples/example1.cpp                       |    27 +
 trunk/examples/example2.cpp                       |    33 +
 trunk/examples/example3.cpp                       |   112 +
 trunk/examples/example4.cpp                       |   160 +
 trunk/src/ANSITime.cpp                            |   126 +
 trunk/src/ANSITime.hpp                            |   150 +
 trunk/src/AlmOrbit.cpp                            |   282 +
 trunk/src/AlmOrbit.hpp                            |   118 +
 trunk/src/AlmanacStore.cpp                        |   164 +
 trunk/src/AlmanacStore.hpp                        |   114 +
 trunk/src/BCEphemerisStore.cpp                    |   459 +
 trunk/src/BCEphemerisStore.hpp                    |   243 +
 trunk/src/BasicFramework.cpp                      |   130 +
 trunk/src/BasicFramework.hpp                      |   182 +
 trunk/src/BinUtils.cpp                            |    59 +
 trunk/src/BinUtils.hpp                            |   388 +
 trunk/src/CivilTime.cpp                           |   316 +
 trunk/src/CivilTime.hpp                           |   168 +
 trunk/src/ClockModel.hpp                          |    75 +
 trunk/src/CodeBuffer.cpp                          |    81 +
 trunk/src/CodeBuffer.hpp                          |   173 +
 trunk/src/CommandOption.cpp                       |   394 +
 trunk/src/CommandOption.hpp                       |   629 +
 trunk/src/CommandOptionParser.cpp                 |   358 +
 trunk/src/CommandOptionParser.hpp                 |   153 +
 trunk/src/CommandOptionWithPositionArg.cpp        |    89 +
 trunk/src/CommandOptionWithPositionArg.hpp        |   129 +
 trunk/src/CommandOptionWithTimeArg.cpp            |   107 +
 trunk/src/CommandOptionWithTimeArg.hpp            |   160 +
 trunk/src/CommonTime.cpp                          |   314 +
 trunk/src/CommonTime.hpp                          |   328 +
 trunk/src/DayTime.cpp                             |  1863 +
 trunk/src/DayTime.hpp                             |  1185 +
 trunk/src/ECEF.cpp                                |   102 +
 trunk/src/ECEF.hpp                                |   108 +
 trunk/src/EngAlmanac.cpp                          |   495 +
 trunk/src/EngAlmanac.hpp                          |   320 +
 trunk/src/EngEphemeris.cpp                        |  1383 +
 trunk/src/EngEphemeris.hpp                        |   494 +
 trunk/src/EngNav.cpp                              |   677 +
 trunk/src/EngNav.hpp                              |   176 +
 trunk/src/EphemerisRange.cpp                      |   230 +
 trunk/src/EphemerisRange.hpp                      |   115 +
 trunk/src/EphemerisStore.hpp                      |   115 +
 trunk/src/EpochClockModel.hpp                     |   115 +
 trunk/src/Exception.cpp                           |   213 +
 trunk/src/Exception.hpp                           |   479 +
 trunk/src/FFBinaryStream.hpp                      |   219 +
 trunk/src/FFData.cpp                              |    99 +
 trunk/src/FFData.hpp                              |   189 +
 trunk/src/FFStream.cpp                            |   276 +
 trunk/src/FFStream.hpp                            |   209 +
 trunk/src/FFStreamError.hpp                       |    63 +
 trunk/src/FFTextStream.hpp                        |   220 +
 trunk/src/FICAStream.hpp                          |    90 +
 trunk/src/FICBase.hpp                             |    67 +
 trunk/src/FICData.cpp                             |  1182 +
 trunk/src/FICData.hpp                             |   187 +
 trunk/src/FICFilterOperators.hpp                  |   301 +
 trunk/src/FICHeader.cpp                           |   140 +
 trunk/src/FICHeader.hpp                           |   111 +
 trunk/src/FICStream.hpp                           |    94 +
 trunk/src/FICStreamBase.hpp                       |    85 +
 trunk/src/FileFilter.hpp                          |   409 +
 trunk/src/FileFilterFrame.hpp                     |   376 +
 trunk/src/FileFilterFrameWithHeader.hpp           |   431 +
 trunk/src/FileHunter.cpp                          |   696 +
 trunk/src/FileHunter.hpp                          |   227 +
 trunk/src/FileSpec.cpp                            |   535 +
 trunk/src/FileSpec.hpp                            |   317 +
 trunk/src/FileStore.hpp                           |   119 +
 trunk/src/FileUtils.hpp                           |   132 +
 trunk/src/GPSEpochWeekSecond.cpp                  |   197 +
 trunk/src/GPSEpochWeekSecond.hpp                  |   151 +
 trunk/src/GPSGeoid.hpp                            |    87 +
 trunk/src/GPSWeekSecond.cpp                       |   186 +
 trunk/src/GPSWeekSecond.hpp                       |   149 +
 trunk/src/GPSWeekZcount.cpp                       |   173 +
 trunk/src/GPSWeekZcount.hpp                       |   149 +
 trunk/src/GPSZcount.cpp                           |   375 +
 trunk/src/GPSZcount.hpp                           |   331 +
 trunk/src/GPSZcount29.cpp                         |   171 +
 trunk/src/GPSZcount29.hpp                         |   149 +
 trunk/src/GPSZcount32.cpp                         |   142 +
 trunk/src/GPSZcount32.hpp                         |   146 +
 trunk/src/GenXSequence.cpp                        |   215 +
 trunk/src/GenXSequence.hpp                        |   159 +
 trunk/src/Geodetic.cpp                            |   199 +
 trunk/src/Geodetic.hpp                            |   132 +
 trunk/src/GeoidModel.hpp                          |   101 +
 trunk/src/IonoModel.cpp                           |   176 +
 trunk/src/IonoModel.hpp                           |   152 +
 trunk/src/IonoModelStore.cpp                      |    93 +
 trunk/src/IonoModelStore.hpp                      |   115 +
 trunk/src/Jamfile                                 |   104 +
 trunk/src/JulianDate.cpp                          |   132 +
 trunk/src/JulianDate.hpp                          |   146 +
 trunk/src/LinearClockModel.cpp                    |   176 +
 trunk/src/LinearClockModel.hpp                    |   109 +
 trunk/src/LoopedFramework.cpp                     |    66 +
 trunk/src/LoopedFramework.hpp                     |   107 +
 trunk/src/MJD.cpp                                 |   135 +
 trunk/src/MJD.hpp                                 |   146 +
 trunk/src/MSCData.cpp                             |   133 +
 trunk/src/MSCData.hpp                             |   112 +
 trunk/src/MSCStream.hpp                           |    85 +
 trunk/src/Makefile.am                             |     0
 trunk/src/Makefile.in                             |   309 +
 trunk/src/MathBase.hpp                            |    56 +
 trunk/src/Matrix.hpp                              |   710 +
 trunk/src/MatrixBase.hpp                          |   420 +
 trunk/src/MatrixBaseOperators.hpp                 |   169 +
 trunk/src/MatrixFunctors.hpp                      |   712 +
 trunk/src/MatrixImplementation.hpp                |   137 +
 trunk/src/MatrixOperators.hpp                     |   737 +
 trunk/src/MiscMath.hpp                            |   201 +
 trunk/src/ORDEpoch.hpp                            |   106 +
 trunk/src/ObsClockModel.cpp                       |   180 +
 trunk/src/ObsClockModel.hpp                       |   211 +
 trunk/src/ObsRngDev.cpp                           |   332 +
 trunk/src/ObsRngDev.hpp                           |   327 +
 trunk/src/ObservationStore.cpp                    |   338 +
 trunk/src/ObservationStore.hpp                    |   338 +
 trunk/src/PCodeConst.hpp                          |   104 +
 trunk/src/PRSolution.cpp                          |   713 +
 trunk/src/PRSolution.hpp                          |   276 +
 trunk/src/PolyFit.hpp                             |   262 +
 trunk/src/Position.cpp                            |  1432 +
 trunk/src/Position.hpp                            |   893 +
 trunk/src/RACRotation.cpp                         |   113 +
 trunk/src/RACRotation.hpp                         |    34 +
 trunk/src/RAIM.cpp                                |   592 +
 trunk/src/RAIMSolution.hpp                        |   240 +
 trunk/src/README                                  |   201 +
 trunk/src/RTFileFrame.hpp                         |   599 +
 trunk/src/RinexEphemerisStore.cpp                 |   102 +
 trunk/src/RinexEphemerisStore.hpp                 |    96 +
 trunk/src/RinexMetBase.hpp                        |    73 +
 trunk/src/RinexMetData.cpp                        |   281 +
 trunk/src/RinexMetData.hpp                        |   157 +
 trunk/src/RinexMetFilterOperators.hpp             |   247 +
 trunk/src/RinexMetHeader.cpp                      |   494 +
 trunk/src/RinexMetHeader.hpp                      |   262 +
 trunk/src/RinexMetStream.hpp                      |   111 +
 trunk/src/RinexNavBase.hpp                        |    73 +
 trunk/src/RinexNavData.cpp                        |   573 +
 trunk/src/RinexNavData.hpp                        |   253 +
 trunk/src/RinexNavFilterOperators.hpp             |   238 +
 trunk/src/RinexNavHeader.cpp                      |   337 +
 trunk/src/RinexNavHeader.hpp                      |   160 +
 trunk/src/RinexNavStream.hpp                      |   102 +
 trunk/src/RinexObsBase.hpp                        |    73 +
 trunk/src/RinexObsData.cpp                        |   405 +
 trunk/src/RinexObsData.hpp                        |   182 +
 trunk/src/RinexObsFilterOperators.hpp             |   268 +
 trunk/src/RinexObsHeader.cpp                      |   958 +
 trunk/src/RinexObsHeader.hpp                      |   442 +
 trunk/src/RinexObsStream.hpp                      |   108 +
 trunk/src/RungeKutta4.cpp                         |   118 +
 trunk/src/RungeKutta4.hpp                         |   142 +
 trunk/src/SMODFData.cpp                           |   369 +
 trunk/src/SMODFData.hpp                           |   140 +
 trunk/src/SMODFStream.hpp                         |   114 +
 trunk/src/SP3Base.hpp                             |    71 +
 trunk/src/SP3Data.cpp                             |   146 +
 trunk/src/SP3Data.hpp                             |   117 +
 trunk/src/SP3EphemerisStore.cpp                   |   136 +
 trunk/src/SP3EphemerisStore.hpp                   |    97 +
 trunk/src/SP3Header.cpp                           |   215 +
 trunk/src/SP3Header.hpp                           |   128 +
 trunk/src/SP3Stream.hpp                           |    87 +
 trunk/src/SVExclusionList.cpp                     |   312 +
 trunk/src/SVExclusionList.hpp                     |   126 +
 trunk/src/SVPCodeGen.cpp                          |   118 +
 trunk/src/SVPCodeGen.hpp                          |   151 +
 trunk/src/SatID.cpp                               |    52 +
 trunk/src/SatID.hpp                               |   174 +
 trunk/src/Stats.hpp                               |   512 +
 trunk/src/StringUtils.hpp                         |  2566 +
 trunk/src/TabularEphemerisStore.cpp               |   265 +
 trunk/src/TabularEphemerisStore.hpp               |   140 +
 trunk/src/TimeConstants.hpp                       |    49 +
 trunk/src/TimeConverters.cpp                      |   150 +
 trunk/src/TimeConverters.hpp                      |    65 +
 trunk/src/TimeString.cpp                          |   405 +
 trunk/src/TimeString.hpp                          |    35 +
 trunk/src/TimeTag.cpp                             |   168 +
 trunk/src/TimeTag.hpp                             |   121 +
 trunk/src/Triple.cpp                              |   255 +
 trunk/src/Triple.hpp                              |   206 +
 trunk/src/TropModel.cpp                           |  1700 +
 trunk/src/TropModel.hpp                           |   900 +
 trunk/src/UnixTime.cpp                            |   158 +
 trunk/src/UnixTime.hpp                            |   169 +
 trunk/src/ValidType.hpp                           |   125 +
 trunk/src/Vector.hpp                              |   382 +
 trunk/src/VectorBase.cpp                          |    36 +
 trunk/src/VectorBase.hpp                          |   299 +
 trunk/src/VectorBaseOperators.hpp                 |   270 +
 trunk/src/VectorOperators.hpp                     |   187 +
 trunk/src/WGS84Geoid.hpp                          |   126 +
 trunk/src/X1Sequence.cpp                          |   159 +
 trunk/src/X1Sequence.hpp                          |   132 +
 trunk/src/X2Sequence.cpp                          |   237 +
 trunk/src/X2Sequence.hpp                          |   294 +
 trunk/src/Xvt.cpp                                 |   123 +
 trunk/src/Xvt.hpp                                 |   101 +
 trunk/src/YDSTime.cpp                             |   202 +
 trunk/src/YDSTime.hpp                             |   151 +
 trunk/src/convhelp.hpp                            |   133 +
 trunk/src/geometry.hpp                            |    69 +
 trunk/src/getopt.c                                |  1059 +
 trunk/src/getopt.h                                |   178 +
 trunk/src/getopt1.c                               |   188 +
 trunk/src/gps_constants.hpp                       |    65 +
 trunk/src/gpstkplatform.h                         |    23 +
 trunk/src/icd_200_constants.hpp                   |   120 +
 trunk/src/mergePCodeWords.h                       |    25 +
 trunk/src/regex.c                                 |  4948 ++
 trunk/src/regex.h                                 |   483 +
 trunk/src/stl_helpers.hpp                         |   127 +
 trunk/tests/AnotherFileFilterTest.cpp             |   149 +
 trunk/tests/DayTimeConversionTest.cpp             |   258 +
 trunk/tests/DayTimeIncrementTest.cpp              |   129 +
 trunk/tests/DayTimeIncrementTest2.cpp             |   102 +
 trunk/tests/DayTimeToleranceTest.cpp              |   101 +
 trunk/tests/EphComp.cpp                           |   108 +
 trunk/tests/EphComp.gp                            |    30 +
 trunk/tests/EphCompWin.gp                         |    31 +
 trunk/tests/FileSpecTest.cpp                      |   114 +
 trunk/tests/FileSpecTest.pl                       |    15 +
 trunk/tests/Jamfile                               |    63 +
 trunk/tests/Makefile.am                           |    34 +
 trunk/tests/MatrixTest.cpp                        |   673 +
 trunk/tests/MinSfTest.cpp                         |   307 +
 trunk/tests/Rinex_dl.pl                           |   111 +
 trunk/tests/RungeKuttaTest.cpp                    |    87 +
 trunk/tests/TimeTest.cpp                          |   388 +
 trunk/tests/Xbegweek.cpp                          |   135 +
 trunk/tests/Xendweek.cpp                          |   158 +
 trunk/tests/configfile.txt                        |    52 +
 trunk/tests/configfile_readme.txt                 |    14 +
 trunk/tests/data/405_077A.02M                     |   108 +
 trunk/tests/data/MatrixTest.ref                   |  1332 +
 trunk/tests/data/MatrixTest.ref.Win32             |  1332 +
 trunk/tests/data/Xbegweek.can                     |    41 +
 trunk/tests/data/Xendweek.can                     |    41 +
 trunk/tests/data/anotsym.dat                      |    15 +
 trunk/tests/data/cov.dat                          |    17 +
 trunk/tests/data/dia.dat                          |     6 +
 trunk/tests/data/lt.dat                           |     6 +
 trunk/tests/data/nga12600.apc                     |  5303 ++
 trunk/tests/data/nga12601.apc                     |  5303 ++
 trunk/tests/data/partials.dat                     |    18 +
 trunk/tests/data/positiontest.ref                 |    84 +
 trunk/tests/data/squ.dat                          |     7 +
 trunk/tests/data/stringutiltest.ref               |    45 +
 trunk/tests/data/sym.dat                          |     6 +
 trunk/tests/data/tmatrix.dat                      |    15 +
 trunk/tests/data/ut.dat                           |     6 +
 trunk/tests/daytimetest.cpp                       |    78 +
 trunk/tests/delFileSpecTestDirs.pl                |    25 +
 trunk/tests/exceptiontest.cpp                     |    50 +
 trunk/tests/genFileSpecTestDirs.pl                |    30 +
 trunk/tests/gpszcounttest.cpp                     |   182 +
 trunk/tests/petest.cpp                            |   102 +
 trunk/tests/positiontest.cpp                      |   232 +
 trunk/tests/rinex_met_livetest.pl                 |    60 +
 trunk/tests/rinex_met_read_write.cpp              |    61 +
 trunk/tests/rinex_met_test.cpp                    |    57 +
 trunk/tests/rinex_nav_read_write.cpp              |    59 +
 trunk/tests/rinex_nav_test.cpp                    |    58 +
 trunk/tests/rinex_obs_read_write.cpp              |    63 +
 trunk/tests/rinex_obs_test.cpp                    |    59 +
 trunk/tests/runAllTests                           |    40 +
 trunk/tests/runAllTests.bat                       |    72 +
 trunk/tests/stringutiltest.cpp                    |   468 +
 trunk/tests/testscript.pl                         |   184 +
 trunk/tests/testscript_readme.txt                 |    18 +
 578 files changed, 390174 insertions(+)

diff --git a/trunk/AUTHORS b/trunk/AUTHORS
new file mode 100644
index 0000000..ba15b55
--- /dev/null
+++ b/trunk/AUTHORS
@@ -0,0 +1,32 @@
+$Id: //depot/sgl/gpstk/dev/AUTHORS#1 $
+
+GPS Toolkit Authorship
+------------------------------------------------------------------------------
+    The GPSTk is sponsored by the Space and Geophysics Laboratory, within the
+    Applied Research Laboratories at the University of Texas at Austin (ARL:UT).
+    GPSTk is the by-product of GPS research conducted at ARL:UT since before
+    the first GPS satellite launched in 1978; it is the combined effort
+    of many software engineers and scientists. In 2003 the research staff
+    at ARL:UT decided to open source much of their basic GPS processing
+    software as the GPSTk.
+
+Contact Information
+------------------------------------------------------------------------------
+   GPSTk Homepage
+   ----------------------------
+   http://gpstk.sourceforge.net
+
+   SGL:ARL:UT Homepage
+   ----------------------------
+   http://sgl.arlut.utexas.edu
+
+   Mailing Lists                         Subscribe/Unsubscribe/Archive URL
+   ------------------------------------  -------------------------------------
+   gpstk-users at lists.sourceforge.net     http://lists.sourceforge.net/lists/listinfo/gpstk-users
+   gpstk-devel at lists.sourceforge.net     http://lists.sourceforge.net/lists/listinfo/gpstk-devel
+   gpstk-announce at lists.sourceforge.net  http://lists.sourceforge.net/lists/listinfo/gpstk-announce
+   gpstk-admin at lists.sourceforge.net     http://lists.sourceforge.net/lists/listinfo/gpstk-admin
+  
+   Email
+   ----------------------------
+   Please send general GPSTk comments to gpstk at arlut.utexas.edu .
diff --git a/trunk/COPYING b/trunk/COPYING
new file mode 100644
index 0000000..b1e3f5a
--- /dev/null
+++ b/trunk/COPYING
@@ -0,0 +1,504 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+

+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+

+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+

+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+

+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+

+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+

+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+

+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+

+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+

+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/trunk/ChangeLog b/trunk/ChangeLog
new file mode 100644
index 0000000..8008bb6
--- /dev/null
+++ b/trunk/ChangeLog
@@ -0,0 +1,131 @@
+Version 1.1   Friday, January 7, 2005
+
+	General modifications
+        ---------------------
+
+	- Added patches to support more compilers:
+	     GNU compiler version 3.4
+	     GNU compiler under AIX
+	     Sun ONE Studio 8
+
+	- GNU make/configure capabilities have been added. Since this
+	  is a new feature, your mileage may vary. The makefiles
+	  work on systems with newer autoconf toolchain versions.
+
+	- More examples were added to gpstk/examples.
+	  These examples are described in the website.
+
+	- Major revamp of the website.
+	
+	Library modifications
+	---------------------
+
+	- P code generator was allocating over 20 megabytes in
+	  processes that use the shared library. Now the 20 megabytes
+	  are not allocated until the P code generator is initialized
+	  by the user.
+	
+	- Bug fix: FileSpec::extractDayTime() now initializes
+	  DayTimes generated from file name to have zero hours,
+	  zero minutes, zero seconds, etc.
+	
+	- Bug fix: DayTime::setGPS now more robust when accepting
+	  a year number as a hint to disambiguate which full GPS
+	  week to use.
+	
+	- Added more DayTime tests.
+	
+	- Bug fix: DayTime user-defined tolerance for comparisons now is
+	  working.
+
+	- Bug fix: DayTime::setGPS(short week, long zcount, short year)
+	  now works across a year rollover.
+	
+        - Renamed WxObsData::find(...) to getWxObservation(...) to remove
+          any confusion that might develop over having the same method
+          name as the STL.
+	
+	- Bug fix: satellite combinations in RAIM sometimes incorrect when 
+	  a user-marked satellite was present.
+
+	- Some Vector routines were throwing Exception instead of 
+	  VectorException.
+
+	- Added Vector-Matrix concatentation operators.
+
+	- Added a sub-Vector constructor.
+
+	- Modification to Householder decomposition routine.
+	
+	- Various fixes to MatrixOperators.
+
+	- Updates to FIC routines.
+
+	- Implemented azimuth and elevation functions in Position, making 
+	  use of the functions inherited from Triple. Modified EphemerisRange
+	  to use Position, as well as TropModel and ResCor; this eliminated 
+	  a bug in the azimuth() in EphemerisRange and means that now there 
+	  is only one implementation of az and el. Added a test of the new 
+	  routines in positiontest. Also added a Position constructor from Xvt.
+
+	- Bugs in DayTime::setToString() - %f was missing (!) and %S 
+	  was acting as %f should; date was trashed when time was set, 
+	  and vice versa, and year input was not properly handled.
+
+        - Implemented ionospheric model types other than linear.
+
+	- Cleaned up weather data handling (e.g., error checks).
+
+	
+	Application modifications
+        -------------------------
+	
+	apps/difftools
+
+	- Unified code using a common class.
+
+
+	apps/filetools
+
+	- Improvments to navdmp.
+
+	- New utility called rinexthin for subsampling RINEX observation
+	  files.
+
+	
+	apps/binding
+	
+	- This  new project provides GPSTk bindings in other languages
+	  has been added. This capability is in an alpha state.
+	  Currently there are a limited set of bindings for
+	  Tcl/Tk, Python and Octave.
+
+	
+	apps/RinexEditor
+
+	-  Bug fix: 'delete all' command was being deleted prematurely.
+
+
+	apps/RinexPlot
+
+	- Improved documentation.
+        
+	- Various tweaks.
+
+	- Plotting improvements.
+
+
+	apps/ionosphere
+
+	- Various improvements.
+
+
+
+
+
+
+
+
+
+
+	
\ No newline at end of file
diff --git a/trunk/Doxyfile b/trunk/Doxyfile
new file mode 100644
index 0000000..53485ee
--- /dev/null
+++ b/trunk/Doxyfile
@@ -0,0 +1,1168 @@
+# Doxyfile 1.3.9.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = "GPS ToolKit Software Library"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = 
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = doc
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
+# 4096 sub-directories (in 2 levels) under the output directory of each output 
+# format and will distribute the generated files over these directories. 
+# Enabling this option can be useful when feeding doxygen a huge amount of source 
+# files, where putting all generated files in the same directory would otherwise 
+# cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, 
+# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, 
+# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, 
+# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, 
+# Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE        = English
+
+# This tag can be used to specify the encoding used in the generated output. 
+# The encoding is not always determined by the language that is chosen, 
+# but also whether or not the output is meant for Windows or non-Windows users. 
+# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES 
+# forces the Windows encoding (this is the default for the Windows binary), 
+# whereas setting the tag to NO uses a Unix-style encoding (the default for 
+# all platforms other than Windows).
+
+USE_WINDOWS_ENCODING   = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator 
+# that is used to form the text in various listings. Each string 
+# in this list, if found as the leading text of the brief description, will be 
+# stripped from the text and the result after processing the whole list, is used 
+# as the annotated text. Otherwise, the brief description is used as-is. If left 
+# blank, the following values are used ("$name" is automatically replaced with the 
+# name of the entity): "The $name class" "The $name widget" "The $name file" 
+# "is" "provides" "specifies" "contains" "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       = 
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited 
+# members of a class in the documentation of that class as if those members were 
+# ordinary class members. Constructors, destructors and assignment operators of 
+# the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user-defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. The tag can be used to show relative paths in the file list. 
+# If left blank the directory from which doxygen is run is used as the 
+# path to strip.
+
+STRIP_FROM_PATH        = 
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
+# the path mentioned in the documentation of a class, which tells 
+# the reader which header file to include in order to use a class. 
+# If left blank only the name of the header file containing the class 
+# definition is used. Otherwise one should specify the include paths that 
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    = 
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments will behave just like the Qt-style comments (thus requiring an 
+# explicit @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF      = YES
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
+# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
+# comments) as a brief description. This used to be the default behaviour. 
+# The new default is to treat a multi-line C++ comment block as a detailed 
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen 
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member 
+# documentation.
+
+DETAILS_AT_TOP         = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# re-implements.
+
+INHERIT_DOCS           = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user-defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
+# only. Doxygen will then generate output that is more tailored for C. 
+# For instance, some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources 
+# only. Doxygen will then generate output that is more tailored for Java. 
+# For instance, namespaces will be presented as packages, qualified scopes 
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of 
+# the same type (for instance a group of public functions) to be put as a 
+# subgroup of that type (e.g. under the Public Functions section). Set it to 
+# NO to prevent subgrouping. Alternatively, this can be done per class using 
+# the \nosubgrouping command.
+
+SUBGROUPING            = YES
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) 
+# defined locally in source files will be included in the documentation. 
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = YES
+
+# This flag is only useful for Objective-C code. When set to YES local 
+# methods, which are defined in the implementation section but not in 
+# the interface are included in the documentation. 
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these classes will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
+# friend (class|struct|union) declarations. 
+# If set to NO (the default) these declarations will be included in the 
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
+# documentation blocks found inside the body of a function. 
+# If set to NO (the default) these blocks will be appended to the 
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = NO
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower-case letters. If set to YES upper-case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put a list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+
+SORT_MEMBER_DOCS       = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
+# brief documentation of file, namespace and class members alphabetically 
+# by member name. If set to NO (the default) the members will appear in 
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
+# sorted by fully-qualified names, including namespaces. If set to 
+# NO (the default), the class list will be sorted only by class name, 
+# not including the namespace part. 
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the 
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or 
+# disable (NO) the deprecated list. This list is created by putting 
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consists of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = YES
+
+# If the sources in your project are distributed over multiple directories 
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
+# in the documentation.
+
+SHOW_DIRECTORIES       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
+# potential errors in the documentation, such as not documenting some 
+# parameters in a documented function, or documenting parameters that 
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text.
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = . \
+                         ./src/README
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank the following patterns are tested: 
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp 
+# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm
+
+FILE_PATTERNS          = *.hpp \
+                         *.h \
+                         *.cpp
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                = ./tests \
+                         ./examples \
+                         ./apps
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
+# that are symbolic links (a Unix filesystem feature) are excluded from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories.
+
+EXCLUDE_PATTERNS       = getopt.h \
+                         regex.h
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = ./tests \
+                         ./examples
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = *.cpp
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 
+# searched for input files to be used with the \include or \dontinclude 
+# commands irrespective of the value of the RECURSIVE tag. 
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
+# ignored.
+
+INPUT_FILTER           = 
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
+# basis.  Doxygen will compare the file name with each pattern and apply the 
+# filter if there is a match.  The filters are a list of the form: 
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
+# is applied to all files.
+
+FILTER_PATTERNS        = 
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+# Note: To get rid of all source code in the generated output, make sure also 
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default) 
+# then for each documented function all documented 
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default) 
+# then for each documented function all documented entities 
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = YES
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = YES
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for 
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank 
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet. Note that doxygen will try to copy 
+# the style sheet file to the HTML output directory, so don't put your own 
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
+# be used to specify the file name of the resulting .chm file. You 
+# can add a path in front of the file if the result should not be 
+# written to the html output directory.
+
+CHM_FILE               = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
+# be used to specify the location (absolute path including file name) of 
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run 
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           = 
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, 
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are 
+# probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW      = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to 
+# generate index for LaTeX. If left blank `makeindex' will be used as the 
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not 
+# include the index chapters (such as File Index, Compound Index, etc.) 
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimized for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assignments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output, 
+# then it will generate one additional man file for each entity 
+# documented in the real man page(s). These additional files 
+# only source the real man page, but without them the man command 
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_SCHEMA             = 
+
+# The XML_DTD tag can be used to specify an XML DTD, 
+# which can be used by a validating XML parser to check the 
+# syntax of the XML files.
+
+XML_DTD                = 
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will 
+# dump the program listings (including syntax highlighting 
+# and cross-referencing information) to the XML output. Note that 
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
+# generate an AutoGen Definitions (see autogen.sf.net) file 
+# that captures the structure of the code including all 
+# documentation. Note that this feature is still experimental 
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
+# generate a Perl module file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate 
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able 
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
+# nicely formatted so it can be parsed by a human reader.  This is useful 
+# if you want to understand what is going on.  On the other hand, if this 
+# tag is set to NO the size of the Perl module output will be much smaller 
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file 
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. 
+# This is useful so different doxyrules.make files included by the same 
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = ./src
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed. To prevent a macro definition from being 
+# undefined via #undef or recursively expanded use the := operator 
+# instead of the = operator.
+
+PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
+# doxygen's preprocessor will remove all function-like macros that are alone 
+# on a line, have an all uppercase name, and do not end with a semicolon. Such 
+# function macros are typically used for boiler-plate code, and will confuse the 
+# parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles. 
+# Optionally an initial location of the external documentation 
+# can be added for each tagfile. The format of a tag file without 
+# this location is as follows: 
+#   TAGFILES = file1 file2 ... 
+# Adding location for the tag files is done as follows: 
+#   TAGFILES = file1=loc1 "file2 = loc2" ... 
+# where "loc1" and "loc2" can be relative or absolute paths or 
+# URLs. If a location is present for each tag, the installdox tool 
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen 
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed 
+# in the modules index. If set to NO, only the current project's groups will 
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or 
+# super classes. Setting the tag to NO turns the diagrams off. Note that this 
+# option is superseded by the HAVE_DOT option below. This is only a fallback. It is 
+# recommended to install and use dot, since it yields more powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# If set to YES, the inheritance and collaboration graphs will hide 
+# inheritance and usage relations if the target is undocumented 
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and 
+# collaboration diagrams in a style similar to the OMG's Unified Modeling 
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the 
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will 
+# generate a call dependency graph for every global function or class method. 
+# Note that enabling this option will significantly increase the time of a run. 
+# So in most cases it will be better to enable call graphs for selected 
+# functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH               = /usr/bin
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that 
+# contain dot files that are included in the documentation (see the 
+# \dotfile command).
+
+DOTFILE_DIRS           = .
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_WIDTH    = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT   = 1024
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
+# graphs generated by dot. A depth value of 3 means that only nodes reachable 
+# from the root by following a path via at most 3 edges will be shown. Nodes that 
+# lay further from the root node will be omitted. Note that setting this option to 
+# 1 or 2 may greatly reduce the computation time needed for large code bases. Also 
+# note that a graph may be further truncated if the graph's image dimensions are 
+# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). 
+# If 0 is used for the depth value (the default), the graph is not depth-constrained.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermediate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine   
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO
diff --git a/trunk/INSTALL b/trunk/INSTALL
new file mode 100644
index 0000000..23e5f25
--- /dev/null
+++ b/trunk/INSTALL
@@ -0,0 +1,236 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
+Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about.  Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory.  After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).  Here is a another example:
+
+     /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
+configuration-related scripts to be executed by `/bin/bash'.
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+     Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
+
diff --git a/trunk/Jamfile b/trunk/Jamfile
new file mode 100644
index 0000000..4157069
--- /dev/null
+++ b/trunk/Jamfile
@@ -0,0 +1,10 @@
+#
+# $Id: //depot/sgl/gpstk/dev/Jamfile#3 $
+#
+
+SubDir TOP ;
+
+SubInclude TOP src ;
+SubInclude TOP apps ;
+SubInclude TOP examples ;
+# SubInclude TOP tests ;
diff --git a/trunk/Jamrules b/trunk/Jamrules
new file mode 100644
index 0000000..03a5e4a
--- /dev/null
+++ b/trunk/Jamrules
@@ -0,0 +1,276 @@
+#
+# $Id: //depot/sgl/gpstk/dev/Jamrules#7 $
+#
+
+# not much here... just use defaults as much as possible
+
+NotFile install ;
+
+KEEPOBJS = true ;
+
+# where to install the .hpp files
+INCDIR = /usr/local/include ;
+
+# override the built-in EXEMODE
+EXEMODE = 755 ;
+
+# Used to prevent mixing static and dynamic library objects.
+# This was, once upon a time, .lo, but forte's C compiler prevents, stupidly,
+# any attempt to use any extension other than .o
+SUFOBJ2      ?= -l.o ;
+
+# some OS specific stuff
+if $(UNIX)
+{
+   LIBPREFIX     = lib ;
+   LDSHARE_FLAGS = -shared ;
+   LINKLIBS += -lm ;
+   switch $(OS)
+   {
+      case CYGWIN :
+         LINKLIBS += -lstdc++ ;
+
+      case LINUX :
+         LINKLIBS += -lstdc++ ;
+         CCSHARE_FLAGS = -fPIC ;
+
+      case SOLARIS :
+         LINKLIBS += -lgen ;
+         # for solaris forte
+         if ( $(C++) = CC )
+         {
+            LDSHARE_FLAGS = -G -mt ;
+            CCSHARE_FLAGS = -KPIC ;
+            CCFLAGS += -Xc ;
+            C++FLAGS += -compat=5 ;
+            AR = "CC -xar -o" ;
+            NOARSCAN = true ;
+            RM = "rm -rf" ;
+         }
+	 else # for solaris gcc
+         {
+            LINKLIBS += -lstdc++ ;
+            CCSHARE_FLAGS = -fPIC ;  
+         }
+
+      case AIX :
+         LINKLIBS += -lstdc++ ;
+   }
+   SUFLIBSHR      ?= .so ;
+}
+else if $(NT)
+{
+   LIBPREFIX       = "" ;
+   #LDSHARE_FLAGS  ?= /MAP /DLL ;
+   #SUFLIBSHR       = .dll ;
+   # for reference, VC++6 defines _MSC_VER=12xx.xx, VS.NET2003 _MSC_VER=13xx.xx
+   # do NOT define __STDC__ here
+   CCFLAGS        += /ML -wd4274 ;
+   C++FLAGS       += /ML -DWIN32 /GX /GR -wd4274 ;
+   NEED_REGEX      = true ;
+}
+
+# compiler specific stuff - this is probably actually pretty clumsy
+if ( $(CC) != gcc )
+{
+   NEED_GETOPT = true ;
+}
+
+if $(PREFIX)
+{
+# fix does this need to be forward/backslash independent? darn windows.
+   BINDIR = [ FDirName $(PREFIX) bin ] ;
+   LIBDIR = [ FDirName $(PREFIX) lib ] ;
+   INCDIR = [ FDirName $(PREFIX) include ] ;
+}
+
+# debug - edit this as needed.
+if $(DEBUG)
+{
+      # forte
+   if ( $(C++) = CC ) && ( $(OS) = SOLARIS )
+   {
+      OPTIM = -g -xs ;
+   }
+      # gcc-ish rules
+   else if ( $(C++) = cc ) || ( $(C++) = g++ ) || ( $(C++) = c++ )
+   {
+      OPTIM = -ggdb ;
+   }
+   else if $(MSVC) || $(MSVCNT)
+   {
+      OPTIM = /DEBUG ;
+   }
+}
+
+rule BonkForte
+{
+   # forte for solaris...
+   if ( $(C++) = CC ) && ( $(OS) = SOLARIS )
+   {
+      # we need the explicit /usr/include to make sure the regex.h there
+      # is included instead of the one in the gpstk/dev/src directory
+      CCFLAGS += -I/usr/include ;
+      C++FLAGS += -I/usr/include ;
+   }
+}
+
+rule LibObjects
+{
+   local _i ;
+
+   for _i in [ FGristFiles $(<) ]
+   {
+      Object $(_i:S=$(SUFOBJ2)) : $(_i) ;
+      Depends obj : $(_i:S=$(SUFOBJ2)) ;
+   }
+}
+
+rule GPSSetupLibrary
+{
+   local lib = [ FGristFiles $(LIBPREFIX)$(<:S=$(SUFLIB)) ] ;
+   MakeLocate $(lib) : $(LOCATE_SOURCE) ;
+   $(1)_DIR = $(SUBDIR) ;
+   $(1)_GRIST = $(lib) ;
+   $(1)_DEPENDENCIES = $(2) ;
+}
+
+rule GPSBuildLibrary
+{
+   # $(<) is short name of lib to build.
+   # $(>) is the list of sources that build lib.
+
+   local shlib arlib ;
+   local statobjs shrobjs ;
+   local dependencies = [ Uniqueify [ GetDependencies $(<) ] ] ;
+
+   if $(dependencies)
+   {
+      local thisDependency ;
+      for thisDependency in $(dependencies)
+      {
+         SubDirHdrs $($(thisDependency)_DIR) ;
+      }
+   }
+
+   arlib = $(LIBPREFIX)$(<:S=$(SUFLIB)) ;
+   statobjs = $(>:S=$(SUFOBJ)) ;
+
+   Depends lib : $(arlib) ;
+   Objects $(>) ;
+   LibraryFromObjects $(arlib) : $(statobjs) ;
+   InstallLib $(LIBDIR) : $(arlib) ;
+
+   # Windows is limited to 1024 character command lines.  This goes over that.
+   # Until we can figure out how to properly split our library, we just can't
+   # build DLLs for Windows.
+   if $(UNIX)
+   {
+      shlib = $(LIBPREFIX)$(<:S=$(SUFLIBSHR)) ;
+      shrobjs = $(>:S=$(SUFOBJ2)) ;
+      ObjectCcFlags $(shrobjs) : $(CCSHARE_FLAGS) ;
+      ObjectC++Flags $(shrobjs) : $(CCSHARE_FLAGS) ;
+      LINKFLAGS on $(shlib) += $(CCSHARE_FLAGS) $(LDSHARE_FLAGS) $(OPTIM) ;
+      Depends lib : $(shlib) ;
+      LibObjects $(>) ;
+      MainFromObjects $(shlib) : $(shrobjs) ;
+      InstallLib $(LIBDIR) : $(shlib) ;
+   }
+}
+
+rule GPSLinkLibraries
+{
+   local dependencies = [ Uniqueify [ GetDependencies $(>) ] ] ;
+   dependencies = [ Uniqueify $(>) $(dependencies) ] ;
+
+   if $(dependencies)
+   {
+      local thisDependency ;
+      local thisDir thisLib ;
+      for thisDependency in $(dependencies)
+      {
+         thisDir = $($(thisDependency)_DIR) ;
+         SubDirHdrs $(thisDir) ;
+         thisLib = $($(thisDependency)_GRIST) ;
+         LinkLibraries $(<) : $(thisLib) ;
+      }
+#      LinkLibraries $(<) : $(dependencies) ;
+   }
+}
+
+# a rule to replace Main that includes the functionality of GPSFile.
+rule GPSMain
+{
+   Main $(<) : $(>) ;
+   InstallBin $(BINDIR) : $(<:S=$(SUFEXE)) ;
+}
+
+# a rule to replace File that also cleans it when "jam clean" is run.
+# $(1) is the target, $(2) is the source, $(3) is the mode.
+# $(3) is optional - it will default to 644.
+#
+#  GPSFile $(TARGETETCDIR)/moo : moo : $(EXEMODE) ;
+#  GPSFile $(TARGETETCDIR)/moo2 : moo2 ;
+#
+rule GPSFile
+{
+   File $(1) : $(2) ;
+   if $(3)
+   {
+      MODE on $(1) = $(3) ;
+   }
+   Clean clean : $(1) ;
+}
+
+PREPROCESSING = yes ;
+SubInclude TOP src ;
+PREPROCESSING = ;
+
+rule TestFiles
+{
+   Depends test : $(<) ;
+   if $(TESTCODE)
+   {
+      ReallyTestFiles $(<) : $(>) ;
+   }
+}
+
+actions ReallyTestFiles
+{
+   $(<) $(>)
+}
+
+
+rule GetDependencies
+{
+   local thisDepends itr ;
+
+   if $($(1)_DEPENDENCIES)
+   {
+      thisDepends += $($(1)_DEPENDENCIES) ;
+      thisDepends += [ GetDependencies $($(1)_DEPENDENCIES) ] ;
+   }
+   return $(thisDepends) ;
+}
+
+rule Uniqueify
+{
+   local thisList thisItem thatItem found newList ;
+
+   for thatItem in $(1)
+   {
+      found = 0 ;
+      newList = ;
+      for thisItem in $(thisList)
+      {
+         if $(thatItem) != $(thisItem)
+         {
+             newList += $(thisItem) ;
+         }
+      }
+      newList += $(thatItem) ;
+      thisList = $(newList) ;
+   }
+   return $(thisList) ;
+}
+
diff --git a/trunk/Makefile.am b/trunk/Makefile.am
new file mode 100644
index 0000000..3b52323
--- /dev/null
+++ b/trunk/Makefile.am
@@ -0,0 +1,2 @@
+EXTRA_DIST = README
+SUBDIRS = src apps examples tests
diff --git a/trunk/NEWS b/trunk/NEWS
new file mode 100644
index 0000000..7539f94
--- /dev/null
+++ b/trunk/NEWS
@@ -0,0 +1,17 @@
+$Id: //depot/sgl/gpstk/dev/NEWS#1 $
+
+GPS Toolkit News
+------------------------------------------------------------------------------
+   January 10, 2005 . . . Version 1.1 is released.
+
+   September 20, 2004 . . Version 1.0.2 is released to coincide with
+                          presentation at the ION GNSS 2002 in
+                          Portland, Oregon.
+
+   August 9, 2004 . . . . Version 1.0.1 released quickly to address
+                          minor issues.
+
+   August 8, 2004 . . . . The first version of the GPSTk is released to 
+                          coincide with an article in LinuxJournal.
+
+   February 25, 2004  . . The GPSTk project is registered at SourceForge.net.
diff --git a/trunk/README b/trunk/README
new file mode 100644
index 0000000..495b189
--- /dev/null
+++ b/trunk/README
@@ -0,0 +1,91 @@
+$Id: //depot/sgl/gpstk/dev/README#5 $
+
+The following is excerpted from the GPSTk web site at http://www.gpstk.org/ :
+
+What is GPSTk?
+--------------
+
+The goal of the GPSTk project is to provide a world class, open source 
+computing suite to the satellite navigation community. It is our hope that the
+GPSTk will empower its users to perform new research and create new 
+applications.
+
+GPS users employ practically every computational architecture and operating 
+system. Therefore the design of the GPSTk suite is as platform-independent as 
+possible. Platform independence is achieved through use of the ANSI-standard 
+C++ programming language. The principles of object-oriented programming are 
+used throughout the GPSTk code base in order to ensure that the code is 
+modular, extensible and maintainable.
+
+The GPSTk suite consists of a core ibrary and a set of applications. The 
+library provides a wide array of functions that solve processing problems 
+associated with GPS such as processing or using RINEX. The library is the 
+basis for the more advanced applications distributed as part of the GPSTk 
+suite.
+
+The GPSTk is sponsored by Space and Geophysics Laboratory, within the Applied 
+Research Laboratories at the University of Texas at Austin (ARL:UT). GPSTk is
+the by-product of GPS research conducted at ARL:UT since before the first 
+satellite launched in 1978; it is the combined effort of many software 
+engineers and scientists. In 2003 the research staff at ARL:UT decided to 
+open source much of their basic GPS processing software as the GPSTk.
+
+
+GPSTk Library
+-------------
+
+The GPSTk library provides a number of models and algorithms found in GPS 
+textbooks and classic papers, such as solving for the user position, or 
+estimating atmospheric refraction. Common formats are supported as well, such 
+as RINEX or SP-3. There are several categories of functions in the GPSTk 
+library:
+
+   1. GPS time. Conversion among time representations such as MJD, GPS week 
+      and seconds of week, and many others.
+
+   2. Ephemeris calculations. Position and clock interpolation for both
+      broadcast and precise ephemerides.
+
+   3. Atmospheric delay models. Includes ionosphere and troposphere models.
+
+   4. Position solution. Includes an implementation of a Receiver Autonomous 
+      Integrity Monitoring algorithm.
+
+   5. Mathematics. Includes Matrix and Vector implementations, as well as 
+      interpolation and numerical integration.
+
+   6. Application framework. Includes processing command lines options, 
+      providing interactive help and working with file systems.
+
+A more detailed description of the functionality provided by the GPSTk library can be found in the Doxygen documentation.
+
+
+GPSTk Applications
+------------------
+
+The library is the foundation for applications within the GPSTk suite. Many 
+such applications are utilities necessary for advanced research and 
+development. For example the GPSTk utility DiscFix fixes cycle slips. Some 
+applications implement algorithms described in research papers. The TECMap 
+application is an example of an application that creates models of the 
+ionosphere, based on models published by a number of researchers. To date 
+GPSTk applications fall into the following categories.
+
+   1. Ionosphere modeling. TEC calculation, receiver bias estimation.
+
+   2. Residual analysis. Computation of pseudorange observations residuals, 
+      and comparison between the precise and broadcast ephemerides.
+
+   3. RINEX file manipulation. Differencing, mergins and clipping RINEX files.
+
+   4. Interactive analysis. Bindings to Octave, an open source alternative to 
+      MATLAB.
+
+
+License
+-------
+
+The source code provided by the GPSTk is distributed under the GNU LGPL. 
+This license gives all users the right to use and redistribute the code. 
+Users of the GPSTk are not required to open their source, according to the 
+LGPL. This makes the GPSTk a practical choice for commercial projects.
\ No newline at end of file
diff --git a/trunk/apps/Jamfile b/trunk/apps/Jamfile
new file mode 100644
index 0000000..b4383c2
--- /dev/null
+++ b/trunk/apps/Jamfile
@@ -0,0 +1,21 @@
+#
+# $Id: //depot/sgl/gpstk/dev/apps/Jamfile#11 $
+#
+
+SubDir TOP apps ;
+
+SubInclude TOP apps checktools ;
+SubInclude TOP apps converters ;
+SubInclude TOP apps cycleslips ;
+SubInclude TOP apps differential ;
+SubInclude TOP apps difftools ;
+SubInclude TOP apps filetools ;
+SubInclude TOP apps ionosphere ;
+SubInclude TOP apps mergetools ;
+#Need to make this not require everything else to have curses
+#SubInclude TOP apps MDPtools ; 
+SubInclude TOP apps positioning ;
+SubInclude TOP apps reszilla ;
+SubInclude TOP apps Rinextools ;
+SubInclude TOP apps time ;
+SubInclude TOP apps visibility ;
diff --git a/trunk/apps/MDPtools/DataStatus.hpp b/trunk/apps/MDPtools/DataStatus.hpp
new file mode 100644
index 0000000..8529ff2
--- /dev/null
+++ b/trunk/apps/MDPtools/DataStatus.hpp
@@ -0,0 +1,85 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/DataStatus.hpp#3 $"
+
+/**
+ * @file DataStatus.hpp
+ * gpstk::DataStatus - This class is intended to provide an interface 
+   similiar to the iostream status bits (good, eof, bad, & fail) for
+   the data.  This is to support 'soft' errors such as a format or crc error. 
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef DATASTATUS_HPP
+#define DATASTATUS_HPP
+
+#include <iostream>
+
+namespace gpstk
+{
+   class DataStatus
+   {
+      std::ios_base::iostate state;
+
+   public:
+
+      DataStatus() : state(std::ios_base::goodbit) {};
+
+      /// Note that the goodbit isn't really a bit, it is just the lack
+      /// of any bits being set.
+      bool good() const 
+      {return rdstate() == std::ios_base::goodbit;}
+
+      std::ios_base::iostate rdstate() const
+      {return state;}
+
+      void clear(std::ios_base::iostate s = std::ios_base::goodbit)
+      {state=s;}
+
+      void setstate(std::ios_base::iostate s)
+      {clear(rdstate() | s);}
+
+      void clearstate(std::ios_base::iostate s)
+      {state &= ~s;}
+
+      bool operator()() const
+      {return good();}
+
+      operator void*() const 
+      {return good() ? const_cast<DataStatus*>(this) : 0;}
+   };
+
+   /// Define additional/other bits are the data requires
+   static const std::ios_base::iostate crcbit = std::ios_base::iostate(0x01);
+   static const std::ios_base::iostate fmtbit = std::ios_base::iostate(0x02);
+   static const std::ios_base::iostate lenbit = std::ios_base::iostate(0x04);
+
+   class CRCDataStatus : public DataStatus
+   {
+   public:
+      bool crcerr() const {return (rdstate() & crcbit) != 0;}
+      bool fmterr() const {return (rdstate() & fmtbit) != 0;}
+      bool lenerr() const {return (rdstate() & lenbit) != 0;}
+   };
+} // namespace gpstk
+
+#endif // DATASTATUS_HPP
diff --git a/trunk/apps/MDPtools/FormatConversionFunctions.cpp b/trunk/apps/MDPtools/FormatConversionFunctions.cpp
new file mode 100644
index 0000000..d1e5522
--- /dev/null
+++ b/trunk/apps/MDPtools/FormatConversionFunctions.cpp
@@ -0,0 +1,234 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/FormatConversionFunctions.cpp#7 $"
+
+/** @file Translates between various similiar objects */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "StringUtils.hpp"
+
+#include "FormatConversionFunctions.hpp"
+
+using namespace std;
+
+namespace gpstk
+{
+   short snr2ssi(float x)
+   {
+      // These values were obtained from the comments in a RINEX obs file that was
+      // generated from a TurboBinary file recorded on an AOA Benchmark  receiver
+      if (x>316) return 9;
+      if (x>100) return 8;
+      if (x>31.6) return 7;
+      if (x>10) return 6;
+      if (x>3.2) return 5;
+      if (x>0) return 4;
+      return 0;
+   }
+
+   void makeRinexObsData(
+      gpstk::RinexObsHeader& roh,
+      gpstk::RinexObsData& rod,
+      const gpstk::MDPEpoch& mdp)
+   {
+      rod.obs.clear();
+      rod.clockOffset=0;
+      rod.numSvs = mdp.size();
+      rod.epochFlag = 0;
+      rod.time = mdp.begin()->second.time;
+      for (MDPEpoch::const_iterator i=mdp.begin(); i!=mdp.end(); i++)
+      {
+         const MDPObsEpoch& moe = i->second;
+         MDPObsEpoch::ObsMap ol=moe.obs;
+         gpstk::RinexObsData::RinexObsTypeMap rotm;
+         gpstk::RinexPrn prn(moe.prn, gpstk::systemGPS);
+         MDPObsEpoch::ObsMap::const_iterator j;
+
+         // The C1 Rinex obs is easy
+         j = ol.find(MDPObsEpoch::ObsKey(ccL1,rcCA));
+         if (j!=ol.end())
+         {
+            rotm[gpstk::RinexObsHeader::C1].data = j->second.pseudorange;
+            rotm[gpstk::RinexObsHeader::C1].lli = j->second.lockCount ? 1 : 0;
+            rotm[gpstk::RinexObsHeader::C1].ssi = snr2ssi(j->second.snr);
+            rotm[gpstk::RinexObsHeader::L1].data = j->second.phase;
+            rotm[gpstk::RinexObsHeader::D1].data = j->second.doppler;
+         }
+
+         // Now get the P1, L1, D1, S1 obs
+         j = ol.find(MDPObsEpoch::ObsKey(ccL1, rcYcode));
+         if (j == ol.end())
+            j = ol.find(MDPObsEpoch::ObsKey(ccL1, rcPcode));
+         if (j == ol.end())
+            j = ol.find(MDPObsEpoch::ObsKey(ccL1, rcCodeless));
+         if (j != ol.end())
+         {
+            rotm[gpstk::RinexObsHeader::P1].data = j->second.pseudorange;
+            rotm[gpstk::RinexObsHeader::L1].data = j->second.phase;
+            rotm[gpstk::RinexObsHeader::D1].data = j->second.doppler;
+
+            rotm[gpstk::RinexObsHeader::P1].lli = j->second.lockCount ? 1 : 0;
+            rotm[gpstk::RinexObsHeader::P1].ssi = snr2ssi(j->second.snr);
+
+            rotm[gpstk::RinexObsHeader::L1].lli = j->second.lockCount ? 1 : 0;
+            rotm[gpstk::RinexObsHeader::L1].ssi = snr2ssi(j->second.snr);
+
+            rotm[gpstk::RinexObsHeader::D1].lli = j->second.lockCount ? 1 : 0;
+            rotm[gpstk::RinexObsHeader::D1].ssi = snr2ssi(j->second.snr);
+         }
+      
+         // Now get the P2, L2, D2, S2 obs
+         j = ol.find(MDPObsEpoch::ObsKey(ccL2, rcYcode));
+         if (j == ol.end())
+            j = ol.find(MDPObsEpoch::ObsKey(ccL2, rcPcode));
+         if (j == ol.end())
+            j = ol.find(MDPObsEpoch::ObsKey(ccL2, rcCodeless));
+         if (j != ol.end())
+         {
+            rotm[gpstk::RinexObsHeader::P2].data = j->second.pseudorange;
+            rotm[gpstk::RinexObsHeader::L2].data = j->second.phase;
+            rotm[gpstk::RinexObsHeader::D2].data = j->second.doppler;
+
+            rotm[gpstk::RinexObsHeader::P2].lli = j->second.lockCount ? 0 : 1;
+            rotm[gpstk::RinexObsHeader::P2].ssi = snr2ssi(j->second.snr);
+
+            rotm[gpstk::RinexObsHeader::L2].lli = j->second.lockCount ? 0 : 1;
+            rotm[gpstk::RinexObsHeader::L2].ssi = snr2ssi(j->second.snr);
+
+            rotm[gpstk::RinexObsHeader::D2].lli = j->second.lockCount ? 0 : 1;
+            rotm[gpstk::RinexObsHeader::D2].ssi = snr2ssi(j->second.snr);
+         }
+
+         // Now get the C2
+         j = ol.find(MDPObsEpoch::ObsKey(ccL2, rcCM));
+         if (j == ol.end())
+            j = ol.find(MDPObsEpoch::ObsKey(ccL2, rcCL));
+         if (j == ol.end())
+            j = ol.find(MDPObsEpoch::ObsKey(ccL2, rcCMCL));
+         if (j != ol.end())
+         {
+            rotm[gpstk::RinexObsHeader::C2].data = j->second.pseudorange;
+            rotm[gpstk::RinexObsHeader::C2].lli = j->second.lockCount ? 0 : 1;
+            rotm[gpstk::RinexObsHeader::C2].ssi = snr2ssi(j->second.snr);
+         }
+
+         rod.obs[prn] = rotm;
+      }
+   }
+
+   // Try to convert the given pages into an EngAlmanc object. Returns true
+   // upon success. This algorithm will only work for a receiver that outputs
+   // all 4/5 subframes from a code/carrier. Basically it looks for a 12.5 minute
+   // cycle that starts with page 1 from subframe 4.
+   // It makes sure that there hasn't been a cutover during it by checking that
+   // all sv pages (i.e. svid 1-32) have the same toa as the last page 25
+   // (svid 51).
+   // In the IS-GPS-200D, see pages 72-79, 82, 105
+   bool makeEngAlmanac(EngAlmanac& alm, const AlmanacPages& pages)
+   {
+      if (pages.size()!=50)
+         return false;
+
+      AlmanacPages::const_iterator i, firstPage, lastPage;
+      firstPage = pages.find(SubframePage(4, 1));
+      lastPage = pages.find(SubframePage(5,25));
+      long dt = lastPage->second.getHOWTime() - firstPage->second.getHOWTime();
+
+      // 25 pairs of pages every 30 seconds = 750 seconds minus the 24 seconds
+      // that the three ephemeris pages take gives us 726 seconds
+      if (dt != 726)
+         return false;
+
+      int week = firstPage->second.time.GPSfullweek();
+      long sfa[10];
+      long long_sfa[10];
+      for (i = pages.begin(); i != pages.end(); i++)
+      {
+         i->second.fillArray(sfa);
+         for( long j = 0; j < 10; j++ )
+            long_sfa[j] = static_cast<long>( sfa[j] );
+         if (!alm.addSubframe(long_sfa, week))
+            return false;
+      }
+      cout << endl;
+      
+      double p51Toa=alm.getToa();
+      double svToa;
+      for (int prn=1; prn<=32; prn++)
+      {
+         try {
+            svToa = alm.getToa(prn);
+            if (svToa != p51Toa)
+               return false;
+         }
+         catch (EngAlmanac::SVNotPresentException& e)
+         {}
+      }
+
+      return true;
+   }
+
+   // Try to convert the given pages into an EngEphemeris object. Returns true
+   // upon success.
+   bool makeEngEphemeris(EngEphemeris& eph, const EphemerisPages& pages)
+   {
+      EphemerisPages::const_iterator sf[4];
+
+      sf[1] = pages.find(1);
+      if (sf[1] == pages.end())
+         return false;
+      
+      sf[2] = pages.find(2);
+      if (sf[2] == pages.end())
+         return false;
+
+      sf[3] = pages.find(3);
+      if (sf[3] == pages.end())
+         return false;
+
+      long t1 = sf[1]->second.getHOWTime();
+      long t2 = sf[2]->second.getHOWTime();
+      long t3 = sf[3]->second.getHOWTime();
+      if (t2 != t1+6 || t3 != t1+12)
+         return false;
+
+      int prn = sf[1]->second.prn;
+      int week = sf[1]->second.time.GPSfullweek();
+      long sfa[10];
+      long long_sfa[10];
+
+      for (int i=1; i<=3; i++)
+      {
+         sf[i]->second.fillArray(sfa);
+         for( int j = 0; j < 10; j++ )
+            long_sfa[j] = static_cast<long>( sfa[j] );
+         if (!eph.addSubframe(long_sfa, week, prn, 0))
+            return false;
+      }
+
+      if (eph.isData(1) && eph.isData(2) && eph.isData(3))
+         return true;
+
+      return false;
+   }
+
+} // end of namespace gpstk
diff --git a/trunk/apps/MDPtools/FormatConversionFunctions.hpp b/trunk/apps/MDPtools/FormatConversionFunctions.hpp
new file mode 100644
index 0000000..9daa8a4
--- /dev/null
+++ b/trunk/apps/MDPtools/FormatConversionFunctions.hpp
@@ -0,0 +1,60 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/FormatConversionFunctions.hpp#2 $"
+
+/** @file Translates between various similiar objects */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef FORMATCONVERSIONFUNCTIONS_HPP
+#define FORMATCONVERSIONFUNCTIONS_HPP
+
+#include "RinexObsData.hpp"
+#include "RinexNavData.hpp"
+
+#include "EngAlmanac.hpp"
+
+#include "MDPNavSubframe.hpp"
+#include "MDPObsEpoch.hpp"
+
+namespace gpstk
+{
+   // A translation from SNR in dB-Hz to the rinex signal strength indicator
+   // values were taken from a header written by teqc
+   short snr2ssi(float x);
+
+   // generates a single epoch of rinex obs data from mdp data.
+   // Updates the rinex obs header as appropriate
+   void makeRinexObsData(RinexObsHeader& roh, RinexObsData& rod, 
+                         const MDPEpoch& mdp);
+
+   // Try to convert the given pages into an EngAlmanc object. Returns true
+   // upon success.
+   bool makeEngAlmanac(EngAlmanac& alm,
+                       const AlmanacPages& pages);
+
+   // Try to convert the given pages into an EngEphemeris object. Returns true
+   // upon success.
+   bool makeEngEphemeris(EngEphemeris& eph,
+                         const EphemerisPages& pages);
+}
+
+#endif
diff --git a/trunk/apps/MDPtools/Jamfile b/trunk/apps/MDPtools/Jamfile
new file mode 100644
index 0000000..fc265ea
--- /dev/null
+++ b/trunk/apps/MDPtools/Jamfile
@@ -0,0 +1,30 @@
+# $Id: //depot/sgl/gpstk/dev/apps/MDPtools/Jamfile#12 $
+
+SubDir TOP apps MDPtools ;
+
+# It seems that if I explicity add the src directory, things are much happier.
+SEARCH_SOURCE += $(TOP)/src ;
+
+LINKLIBS += -lncurses ;
+
+if ( $(C++) = CC ) && ( $(OS) = SOLARIS )
+{
+  CCFLAGS += -Xc ;
+  C++FLAGS += -compat=5 ;
+}
+
+Library mdplib : MDPHeader.cpp MDPPVTSolution.cpp MDPNavSubframe.cpp 
+   MDPObsEpoch.cpp MDPSelftestStatus.cpp FormatConversionFunctions.cpp 
+   TCPStream.cpp 
+   ScreenProc.cpp MDPProcessors.cpp SummaryProc.cpp TrackProc.cpp NavProc.cpp
+   ;
+
+LinkLibraries mdptool mdp2rinex tcptest : mdplib ;
+
+GPSLinkLibraries mdptool mdp2rinex tcptest : gpstk ;
+
+GPSMain mdptool : mdptool.cpp ;
+
+GPSMain mdp2rinex : mdp2rinex.cpp ;
+
+GPSMain tcptest : tcptest.cpp ;
diff --git a/trunk/apps/MDPtools/MDPHeader.cpp b/trunk/apps/MDPtools/MDPHeader.cpp
new file mode 100644
index 0000000..52c5e12
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPHeader.cpp
@@ -0,0 +1,350 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPHeader.cpp#12 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <StringUtils.hpp>
+#include <BinUtils.hpp>
+
+#include "MDPHeader.hpp"
+#include "MDPStream.hpp"
+
+using namespace std;
+
+using gpstk::BinUtils::computeCRC;
+using gpstk::StringUtils::asString;
+using gpstk::StringUtils::d2x;
+using gpstk::StringUtils::int2x;
+using gpstk::BinUtils::netToHost;
+using gpstk::BinUtils::hostToNet;
+using gpstk::BinUtils::encodeVar;
+using gpstk::BinUtils::decodeVar;
+
+
+namespace gpstk
+{
+   // Set to zero for no debugging output
+   // set to 1 to output text messages about decode/format/range errors
+   // set to 2 to add a hex dump of those messages
+   // set to 3+ to add the tossed bytes whether or not they are bad
+   int MDPHeader::debugLevel = 0;
+
+   // set true to print a hex dump of every message to cout
+   bool MDPHeader::hexDump = false;
+
+   //---------------------------------------------------------------------------
+   string MDPHeader::encode() const 
+      throw()
+   {
+      short week=time.GPSfullweek();
+      unsigned long sow100=static_cast<unsigned long>(
+         0.5 + time.GPSsecond() * 100);
+      if (sow100==60480000)
+      {
+         sow100=0;
+         week++;
+      }
+
+      string str;
+      str += encodeVar<uint16_t>(frameWord);
+      str += encodeVar<uint16_t>(id);
+      str += encodeVar<uint16_t>(length);
+      str += encodeVar<uint16_t>(week);
+      str += encodeVar<uint32_t>(sow100);
+      str += encodeVar<uint16_t>(freshnessCount);
+      str += encodeVar<uint16_t>(0); // placeholder for the CRC
+
+      // No, the CRC is not computed here. That needs to be done after
+      // the body of the message has been encoded.
+      return str;
+   }
+
+      
+   //---------------------------------------------------------------------------
+   void MDPHeader::decode(string str)
+      throw() 
+   {
+      if (str.length() != myLength)
+         return;
+
+      clearstate(lenbit);
+
+      unsigned short fw    = decodeVar<uint16_t>(str);
+      id                   = decodeVar<uint16_t>(str);
+      length               = decodeVar<uint16_t>(str);
+      unsigned short week  = decodeVar<uint16_t>(str);
+      unsigned long sow100 = decodeVar<uint32_t>(str);
+      freshnessCount       = decodeVar<uint16_t>(str);
+      crc                  = decodeVar<uint16_t>(str);
+
+      if (fw != frameWord)
+         return;
+
+      const unsigned long MaxSOW=604800;
+      if (sow100 == MaxSOW*100)
+      {
+         week += 1;
+         sow100 = 0;
+      }
+      if (sow100 > MaxSOW*100 || week>5000)
+         return;
+
+      time.setGPSfullweek(week, double(sow100)/100);
+
+      // only clear the these bits if this object isn't a leaf data member
+      if (id==0)
+         clearstate(fmtbit & crcbit);
+   }
+      
+
+   //---------------------------------------------------------------------------
+   // Compute and set the CRC in an encoded representation of this
+   // object
+   void MDPHeader::setCRC(string& str) const
+      throw()
+   {
+      // Here we make sure that the length of the string matches
+      // the length in the header.
+      if(str.length() != length)
+      {
+         FFStreamError e("Message Length should be >= " + 
+                         asString(length) + ".  Was: " +
+                         asString(str.length()));
+         GPSTK_THROW(e);
+      }
+         
+      // clear out the spot for the crc
+      str.replace(14, 2, 2, (char)0);
+         
+      // calculate the crc on the string
+      unsigned short lcrc = computeCRC((const unsigned char*)str.c_str(),
+                                       length, gpstk::BinUtils::CRCCCITT);
+
+      // and place that value in the string
+      unsigned short tmp=lcrc;
+      hostToNet(tmp);
+      str.replace(14, 2, (char*)&tmp, 2);
+   } // MDPHeader::encode()
+      
+
+   //---------------------------------------------------------------------------
+   // Compute the CRC of the string and set the crcbit appropriately.
+   void MDPHeader::checkCRC(string str)
+      throw()
+   {
+      // zero the CRC in the incoming string
+      str.replace(14, 2, 2, (char)0);
+         
+      unsigned short ccrc1 = computeCRC((const unsigned char*)str.c_str(), 
+                                        length, gpstk::BinUtils::CRCCCITT);
+      if (ccrc1 == crc)
+      {
+         clearstate(crcbit);
+         return;
+      }
+
+      // This crc will also be accepted until such time as it is no longer needed
+      uint16_t ccrc2 = computeCRC((const unsigned char*)str.c_str(), 
+                                  length, gpstk::BinUtils::CRC16);
+      if (ccrc2 == crc)
+      {
+         clearstate(crcbit);
+         return;
+      }
+
+      if (debugLevel)
+         cout << "Bad CRC.  Received " << hex << crc
+              << " computed " << ccrc1
+              << " and " << ccrc2
+              << ". Message ID=" << dec << id << endl;
+      
+   } // MDPHeader::checkCRC()
+
+
+   //---------------------------------------------------------------------------
+   void MDPHeader::reallyPutRecord(FFStream& ffs) const
+      throw(std::exception, gpstk::StringUtils::StringException, 
+            gpstk::FFStreamError)
+   {
+      if (typeid(*this) == typeid(MDPHeader))
+      {
+         gpstk::FFStreamError e("Directly writing an MDPHeader object to an"
+                                " FFStream is not supported.");
+         GPSTK_THROW(e);
+      }
+
+      MDPStream& stream = dynamic_cast<MDPStream&>(ffs);
+
+      string body = encode();
+      length = body.length() + MDPHeader::myLength;
+
+      string str = MDPHeader::encode() + body;
+      setCRC(str);
+
+      stream << str;
+
+      if (hexDump)
+      {
+         cout << endl;
+         StringUtils::hexDumpData(cout, str);
+      }
+   } // MDPHeader::reallyPutRecord()
+
+
+   //---------------------------------------------------------------------------
+   void MDPHeader::reallyGetRecord(FFStream& ffs)
+      throw(std::exception, gpstk::StringUtils::StringException, 
+            gpstk::FFStreamError)
+   {
+      // Note that this will generate a bad_cast exception if it don't work.
+      MDPStream& stream=dynamic_cast<MDPStream&>(ffs);
+
+      gpstk::FFStreamError e("MDP read() returned to few bytes.");
+
+      // first, make sure the data is flagged bad.
+      clear(fmtbit | lenbit | crcbit);
+
+      if (typeid(*this) == typeid(MDPHeader))
+      {
+         // first reset the data status
+         setstate(fmtbit | lenbit);
+         
+         // If a header has been read in but the corresponding body hasn't been
+         // read, read and toss the body
+         if (stream.streamState == MDPStream::gotHeader)
+         {
+            unsigned bodyLen = length-myLength;
+            char *trash = new char[bodyLen];
+            stream.read(trash, bodyLen);
+            string body(trash, stream.gcount());
+            delete trash;
+
+            if (stream.gcount() != bodyLen)
+               GPSTK_THROW(e);
+
+            stream.streamState = MDPStream::gotBody;
+            if (hexDump || debugLevel>2)
+            {
+               cout << "Tossing Record Number:" << stream.recordNumber << endl;
+               StringUtils::hexDumpData(cout, stream.rawHeader+body);
+            }
+         }
+
+         char buff[myLength];
+         if (stream.streamState == MDPStream::outOfSync ||
+             stream.streamState == MDPStream::gotBody)
+         {
+            uint16_t fw;
+            while (stream)
+            {
+               stream.read(buff, sizeof(fw));
+               memcpy(&fw, buff, sizeof(fw));
+               fw = netToHost(fw);
+               if (stream.gcount() != 2)
+                  GPSTK_THROW(e);
+               if (fw==frameWord)
+                  break;
+            }
+            if (stream)
+            {
+               // then read in the rest of a header
+               stream.read(buff+2, myLength-2);
+               if (stream.gcount() != myLength-2)
+               {
+                  GPSTK_THROW(e);
+               }
+               else
+               {
+                  stream.rawHeader = string(buff, myLength);
+                  stream.streamState = MDPStream::outOfSync;
+                  decode(stream.rawHeader);
+                  stream.streamState = MDPStream::gotHeader;
+                  stream.header = *this;
+               }
+            }
+         } 
+      }
+      else
+      {
+         // This object is not a header
+         // Before reading this body in, we need to make sure that
+         // we have received a header with the right message ID
+         while (stream.header.id != id && stream)
+            MDPHeader::reallyGetRecord(stream);
+
+         // Now get the header values from the most recently
+         // read header
+         MDPHeader& myHeader = dynamic_cast<MDPHeader&>(*this);
+         myHeader = stream.header;
+         const unsigned myLen = length - MDPHeader::myLength;
+
+         // Read in the body of the message
+         char *buff = new char[myLen];
+         stream.read(buff, myLen);
+         string me(buff, stream.gcount());
+         delete buff;
+
+         if (stream.gcount() != myLen)
+            GPSTK_THROW(e);
+         stream.streamState = MDPStream::gotBody;
+
+         setstate(crcbit);
+         checkCRC(stream.rawHeader+me);
+
+         decode(me);
+
+         if (debugLevel && rdstate())
+            MDPHeader::dump(cout);
+
+         if (hexDump || (debugLevel>1 && rdstate()))
+         {
+            cout << "Record Number:" << stream.recordNumber << endl;
+            StringUtils::hexDumpData(cout, stream.rawHeader+me);
+         }
+      }
+   } // MDPHeader::reallyGetRecord()
+
+
+   //---------------------------------------------------------------------------
+   void MDPHeader::dump(ostream& out) const
+      throw()
+   {
+      ostringstream oss;
+      oss << getName() << " :"
+          << " ID:" << id
+          << " Len:" << length
+          << " Time:" << time.printf("%4Y/%03j/%02H:%02M:%05.2f")
+          << " FC:" << hex << setfill('0') << setw(4) << freshnessCount
+          << " crc:" << setw(4) << crc
+          << " rdstate:" << rdstate();
+
+      if (rdstate() & crcbit)
+         oss << "-crc";
+      if (rdstate() & fmtbit)
+         oss << "-fmt";
+      if (rdstate() & lenbit)
+         oss << "-len";
+
+      out << oss.str() << endl;
+   }  // MDPHeader::dump()
+
+} // namespace gpstk
diff --git a/trunk/apps/MDPtools/MDPHeader.hpp b/trunk/apps/MDPtools/MDPHeader.hpp
new file mode 100644
index 0000000..e4ddda4
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPHeader.hpp
@@ -0,0 +1,118 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPHeader.hpp#9 $"
+
+/**
+ * @file MDPHeader.hpp
+ * gpstk::MDPHeader - base cass for MDP formatted data. Includes the MDP header.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef MDPHEADER_HPP
+#define MDPHEADER_HPP
+
+#include <map>
+#include <iostream>
+
+#include <Exception.hpp>
+#include <DayTime.hpp>
+#include <StringUtils.hpp>
+#include <BinUtils.hpp>
+
+#include <FFData.hpp>
+#include <FFStream.hpp>
+#include <DataStatus.hpp>
+
+#include <RinexObsData.hpp>
+
+#ifndef __SUNPRO_CC
+#include <stdint.h>
+#endif
+
+namespace gpstk
+{
+   /// This class contains header information for all data types
+   /// transmitted by the MSN SAASM Receiver.
+   class MDPHeader : public FFData, public CRCDataStatus
+   {
+   public:
+      MDPHeader() throw() : id(0) {}
+
+      // Returns whether or not this MDPData is valid.
+      bool isValid() const {return good();}
+
+      //! This class is "data" so this function always returns "true".
+      virtual bool isData() const {return true;}
+
+      /** Encode this object to a string.
+       * @return this object as a string.
+       */
+      virtual std::string encode() const throw();
+         
+      /** Decode this object from a string.
+       * @param str the string to read from.
+       * @note Decoded data is *NOT* removed from the string.
+       */
+      virtual void decode(std::string str) throw();
+
+      /// Simple accessors for various static thangs.
+      virtual std::string getName() const {return "hdr";}
+
+      /** Dump some debugging information to the given ostream.
+       * @param out the ostream to write to
+       */
+      void dump(std::ostream& out) const throw();
+
+      /// Compute the CRC over the string and set the CRC in that
+      /// string and in the header.
+      void setCRC(std::string& str) const throw();
+         
+      /// Checks the crc of the message and set crc_err if it fails.
+      void checkCRC(std::string str) throw();
+
+      unsigned short id;              ///< Identifies this data's type.
+      gpstk::DayTime time;            ///< The time associated with this message
+      unsigned short freshnessCount;  ///< A message counter
+
+      // These items need to be mutable so they can be set when an object
+      // is sent to a stream.
+      mutable unsigned short length;  ///< number of bytes in this message (includes the length of the header)
+      mutable unsigned short crc;     ///< the 16 bit CCITT crc covering the header and body of the message
+
+      static const unsigned myLength = 16;
+      static const unsigned frameWord = 0x9c9c;
+      static int debugLevel;
+      static bool hexDump;
+
+   protected:
+      virtual void reallyPutRecord(FFStream& s) const 
+         throw(std::exception, StringUtils::StringException, 
+               FFStreamError);
+
+      virtual void reallyGetRecord(FFStream& s)
+         throw(std::exception, gpstk::StringUtils::StringException, 
+               FFStreamError);
+   }; // class MDPHeader
+
+} // namespace gpstk
+
+#endif // MDPHEADER_HPP
diff --git a/trunk/apps/MDPtools/MDPNavSubframe.cpp b/trunk/apps/MDPtools/MDPNavSubframe.cpp
new file mode 100644
index 0000000..160f3a3
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPNavSubframe.cpp
@@ -0,0 +1,136 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPNavSubframe.cpp#9 $"
+
+#include <sstream>
+#include <BinUtils.hpp>
+#include <StringUtils.hpp>
+#include <gps_constants.hpp>
+
+#include "miscenum.hpp"
+#include "MDPNavSubframe.hpp"
+#include "MDPStream.hpp"
+
+using gpstk::StringUtils::asString;
+using gpstk::BinUtils::netToHost;
+using gpstk::BinUtils::hostToNet;
+using gpstk::BinUtils::encodeVar;
+using gpstk::BinUtils::decodeVar;
+using namespace std;
+
+namespace gpstk
+{
+   //---------------------------------------------------------------------------
+   MDPNavSubframe::MDPNavSubframe() 
+      throw()
+      : subframe(11)
+   {
+      id = myId;
+   }
+
+  
+   //---------------------------------------------------------------------------
+   string MDPNavSubframe::encode() const 
+      throw()
+   {
+      string str;
+      str += encodeVar<int8_t>(prn);
+      str += encodeVar<int8_t>(carrier);
+      str += encodeVar<int8_t>(range);
+      str += encodeVar<int8_t>(nav);
+         
+      for(int i=1; i<11; i++)
+         str += encodeVar<uint32_t>(subframe[i]);
+
+      return str;
+   } // MDPNavSubframe::encode()
+      
+
+   //---------------------------------------------------------------------------
+   void MDPNavSubframe::decode(string str) 
+      throw()
+   {
+      if (str.length() != myLength)
+         return;
+
+      clearstate(lenbit);
+
+      prn     = static_cast<int>        (decodeVar<int8_t>(str));
+      carrier = static_cast<CarrierCode>(decodeVar<int8_t>(str));
+      range   = static_cast<RangeCode>  (decodeVar<int8_t>(str));
+      nav     = static_cast<NavCode>    (decodeVar<int8_t>(str));
+
+      for (int i=1; i<11; i++)
+         subframe[i] = decodeVar<uint32_t>(str);
+
+      if (prn > gpstk::MAX_PRN ||
+          carrier >= ccMax ||
+          range >= rcMax ||
+          nav >= ncMax)
+         return;
+
+      clearstate(fmtbit);
+   } // MDPNavSubframe::decode()
+
+
+   //---------------------------------------------------------------------------
+   // This cracks the sow from the handover word
+   unsigned long MDPNavSubframe::getHOWTime() const throw()
+   {
+      uint32_t  itemp,iret;
+      itemp = subframe[2];
+      itemp >>= 13;
+      itemp &= 0x0001FFFFL;
+      iret = itemp;
+      iret = iret * 6;
+      
+      return iret;
+   }
+
+   //---------------------------------------------------------------------------
+   // This cracks the subframe ID from the handover word
+   unsigned int MDPNavSubframe::getSFID() const throw()
+   {
+      uint32_t  itemp;
+      short iret;
+      itemp = subframe[2];
+      itemp >>= 8;
+      itemp &= 0x00000007L;
+      iret = ( short) itemp;
+      return iret;
+   }
+   
+   //---------------------------------------------------------------------------
+   // This cracks the SV (page) ID from an almanac subframe
+   unsigned int MDPNavSubframe::getSVID() const throw()
+   {
+      if (getSFID() <4)
+         return 0;
+      else
+         return (subframe[3] >> 22) & 0x3F;
+   }
+
+   //---------------------------------------------------------------------------
+   void MDPNavSubframe::dump(ostream& out) const
+      throw()
+   {
+      ostringstream oss;
+      MDPHeader::dump(oss);
+      oss << getName() << 0 <<":"
+          << " PRN:" << prn
+          << " CC:" << static_cast<int>(carrier)
+          << " RC:" << static_cast<int>(range)
+          << " NC:" << static_cast<int>(nav)
+          << endl;
+
+      oss << setfill('0') << hex;
+      for(int i = 1; i < subframe.size(); i++)
+      {
+         if ((i % 5) == 1)
+            oss << getName() << i <<": ";
+         oss << setw(8) << uppercase << subframe[i] << "  ";
+         if ((i % 5) == 0)
+            oss << endl;
+      }
+      out << oss.str() << flush;
+   }
+      
+} // namespace gpstk
diff --git a/trunk/apps/MDPtools/MDPNavSubframe.hpp b/trunk/apps/MDPtools/MDPNavSubframe.hpp
new file mode 100644
index 0000000..d4bf248
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPNavSubframe.hpp
@@ -0,0 +1,76 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPNavSubframe.hpp#8 $"
+
+#ifndef MDPNAVSUBFRAME_HPP
+#define MDPNAVSUBFRAME_HPP
+
+#include <vector>
+#include "miscenum.hpp"
+#include "MDPHeader.hpp"
+
+namespace gpstk
+{
+   /// This class represents a Navigation Subframe Message.
+   class MDPNavSubframe : public MDPHeader
+   {
+   public:
+      MDPNavSubframe() throw();
+         
+      /**  Encode this object to a string.
+       * @return this object as a string.
+       */
+      virtual std::string encode() const throw();
+         
+      /** Decode this object from a string.
+       * @param str the string to read from.
+       * @note This is a non-destructive decode.
+       */
+      virtual void decode(std::string str)
+         throw();
+
+      // Return the seconds of week computed from the HOW
+      unsigned long getHOWTime() const throw();
+
+      // extract the SFID from the HOW 
+      unsigned int getSFID() const throw();
+
+      // extract the SVID from word 3 of an almanac page
+      unsigned int getSVID() const throw();
+
+      void fillArray(long out[10]) const
+      { for(int i=1; i<=10; i++) out[i-1]=subframe[i];};
+      
+      virtual std::string getName() const {return "nav";}
+
+      /** Dump some debugging information to the given ostream.
+       * @param out the ostream to write to (default: cout)
+       * @param level the level of debugging to provide (default: 0)
+       */
+      void dump(std::ostream& out) const throw();
+
+      int prn;              ///< The SV's PRN.
+      CarrierCode carrier;  ///< This NavSubframe's carrier frequency code.
+      RangeCode range;      ///< This NavSubframe's range code.
+      NavCode nav;          ///< This NavSubframe's nav code.
+   
+      /** The Navigation Subframe. 10 4-byte words.  There are 11
+       * elements to facilitate access to elements 1-10. */
+      std::vector<uint32_t> subframe;
+
+      static const unsigned myLength = 44;
+      static const unsigned myId = 310;
+
+   }; // class MDPNavSubframe
+
+   // These used to group together a set of nav subframes, indexed by the
+   // subframe number. It is used in building up a complete a complete 
+   // ephemeris from an SV.
+   typedef std::map<short, MDPNavSubframe> EphemerisPages;
+
+   // First element is the page number, as determined from the HOW TOW
+   // i.e. page = tow % 750
+   typedef std::pair<short, short> SubframePage;
+   typedef std::map<SubframePage, MDPNavSubframe> AlmanacPages;
+
+} // namespace gpstk
+
+#endif //  MDPNAVSUBFRAME_HPP
diff --git a/trunk/apps/MDPtools/MDPObsEpoch.cpp b/trunk/apps/MDPtools/MDPObsEpoch.cpp
new file mode 100644
index 0000000..feb8f16
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPObsEpoch.cpp
@@ -0,0 +1,219 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPObsEpoch.cpp#7 $"
+
+#include <sstream>
+#include <StringUtils.hpp>
+#include <StringUtils.hpp>
+#include <BinUtils.hpp>
+#include <gps_constants.hpp>
+
+#include "MDPObsEpoch.hpp"
+#include "MDPStream.hpp"
+
+using gpstk::StringUtils::asString;
+using gpstk::BinUtils::hostToNet;
+using gpstk::BinUtils::netToHost;
+using gpstk::BinUtils::encodeVar;
+using gpstk::BinUtils::decodeVar;
+using namespace std;
+
+namespace gpstk
+{
+   //---------------------------------------------------------------------------
+   MDPObsEpoch::MDPObsEpoch()
+      throw()
+   {
+      id = myId;
+   } // MDPObsEpoch::MDPObsEpoch()
+
+
+   //---------------------------------------------------------------------------
+   string MDPObsEpoch::encode() const
+      throw()
+   {
+      string str;
+      unsigned short ustemp;
+      unsigned char svsobs = (numSVs & 0x0f);
+      svsobs <<= 4;
+      svsobs |= ((unsigned char)obs.size() & 0x0f);
+      
+      str += encodeVar( static_cast<uint8_t>(svsobs));
+      str += encodeVar( static_cast<uint8_t>(channel));
+      str += encodeVar( static_cast<uint8_t>(prn));
+      str += encodeVar( static_cast<uint8_t>(status & 0x3f));
+      str += encodeVar( static_cast<uint16_t>(elevation * 100));
+      str += encodeVar( static_cast<uint16_t>(azimuth * 100));
+
+      for(ObsMap::const_iterator oli = obs.begin(); 
+          oli != obs.end(); oli++)
+      {
+         MDPObsEpoch::Observation mdpobs(oli->second);
+         str += mdpobs.encode();
+      }
+      return str;
+   } // MDPObsEpoch::encode()
+
+      
+   //---------------------------------------------------------------------------
+   void MDPObsEpoch::decode(string str)
+      throw()
+   {
+      if (str.length() < myLength)
+         return;
+
+      clearstate(lenbit);
+
+      unsigned obsSVs;
+      obsSVs    = decodeVar<uint8_t>(str);
+      channel   = decodeVar<uint8_t>(str);
+      prn       = decodeVar<uint8_t>(str);
+      status    = decodeVar<uint8_t>(str);
+      elevation = decodeVar<uint16_t>(str) * 0.01 ;
+      azimuth   = decodeVar<uint16_t>(str) * 0.01;
+         
+      numSVs = obsSVs >> 4;
+      numSVs &= 0x0f;
+      obsSVs &= 0x0f;
+
+      bool obsError=false;
+
+      obs.erase(obs.begin(), obs.end());
+      for(int j=0; j<obsSVs; j++)
+      {
+         if (str.length() < myObsLength)
+         {
+            clear(lenbit);
+            std::string msg("MDP Obs block decode requires at least " + 
+                       asString(myObsLength) +" bytes.  Received " +
+                       asString(str.length()) + " bytes");
+            if (debugLevel>1)
+               cout << msg << endl;
+            return;
+         }
+         MDPObsEpoch::Observation o;      
+         o.decode(str);
+         if (o.carrier >= ccMax || o.range >= rcMax || o.snr > 60 || o.bw > 100)
+         {
+            obsError=true;
+         }
+         else
+         {
+            ObsKey key(o.carrier, o.range);
+            obs[key] = o;
+         }
+      }
+
+      if (prn > gpstk::MAX_PRN || elevation>90 || azimuth > 360 || obsError)
+         return;
+
+      clearstate(fmtbit);
+   } // MDPObsEpoch::decode()
+
+
+   //---------------------------------------------------------------------------
+   std::string MDPObsEpoch::Observation::encode() const
+      throw()
+   {
+      string str;
+
+      uint8_t ccrc = carrier & 0x0f;
+      ccrc <<= 4;
+      ccrc |= range & 0x0f;
+
+      str += encodeVar( (uint8_t)  ccrc);
+      str += encodeVar( (uint8_t)  bw);
+      str += encodeVar( (uint16_t) std::max(static_cast<int>(snr*100),0));
+      str += encodeVar( (uint32_t) lockCount);
+      str += encodeVar( (double)   pseudorange);
+      str += encodeVar( (double)   phase);
+      str += encodeVar( (double)   doppler);
+      return str;
+   } // MDPObservation::encode()
+
+
+   //---------------------------------------------------------------------------
+   void MDPObsEpoch::Observation::decode(std::string& str)
+      throw()
+   {
+      unsigned char ccrc;
+
+      ccrc        = decodeVar<uint8_t>(str);      
+      bw          = decodeVar<uint8_t>(str);
+      snr         = decodeVar<uint16_t>(str) * 0.01;
+      lockCount   = decodeVar<uint32_t>(str);
+      pseudorange = decodeVar<double>(str);
+      phase       = decodeVar<double>(str);
+      doppler     = decodeVar<double>(str);
+
+      range = RangeCode(ccrc & 0x0f);
+      ccrc >>= 4;
+      carrier = CarrierCode(ccrc & 0x0f);
+   }  // MDPObservation::decode()
+
+
+   bool MDPObsEpoch::haveObservation(
+      const CarrierCode cc,
+      const RangeCode rc) const
+   {
+      return (obs.find(ObsKey(cc,rc)) != obs.end());
+   }
+
+   MDPObsEpoch::Observation MDPObsEpoch::getObservation(
+      const CarrierCode cc, 
+      const RangeCode rc) const
+   {
+      if (haveObservation(cc, rc))
+         return obs.find(ObsKey(cc,rc))->second;
+      else
+         return Observation();
+   }
+
+
+   //---------------------------------------------------------------------------
+   void MDPObsEpoch::dump(ostream& out) const
+      throw()
+   {
+      ostringstream oss;
+
+      MDPHeader::dump(oss);
+
+      oss << getName() << "0:"
+          << " #SV:" << (int)numSVs
+          << " Ch:" << (int)channel
+          << " PRN:" << (int)prn
+          << " El:" << fixed << setprecision(2) <<elevation
+          << " Az:" << azimuth
+          << " H:0x" << hex << (int)status
+          << dec << endl;
+
+      int j=1;
+      for (ObsMap::const_iterator i = obs.begin(); i != obs.end(); i++)
+      {
+         oss << getName() << j++ << ":";
+         i->second.dump(oss);
+         oss << endl;
+      }
+      
+      out << oss.str();
+
+   } // MDPObsEpoch::dump()
+
+
+   //---------------------------------------------------------------------------
+   void MDPObsEpoch::Observation::dump(std::ostream& out) const 
+      throw()
+   {
+      using gpstk::StringUtils::asString;
+
+      ostringstream oss;
+      oss << " "     << asString(carrier)
+          << " "     << asString(range)
+          << " BW:"  << bw
+          << " SNR:" << snr
+          << " LC:"  << lockCount
+          << " PR:"  << asString(pseudorange, 3)
+          << " PH:"  << asString(phase, 3)
+          << " Dop:" << asString(doppler, 3);      
+      out << oss.str();
+   } // MDPObservation::dump()
+
+} // namespace sglmsn
diff --git a/trunk/apps/MDPtools/MDPObsEpoch.hpp b/trunk/apps/MDPtools/MDPObsEpoch.hpp
new file mode 100644
index 0000000..f217ee4
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPObsEpoch.hpp
@@ -0,0 +1,85 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPObsEpoch.hpp#6 $"
+
+#ifndef MDPOBSEPOCH_HPP
+#define MDPOBSEPOCH_HPP
+
+#include <map>
+#include "MDPHeader.hpp"
+#include "miscenum.hpp"
+
+namespace gpstk
+{
+   /// This class represents a set of observations from a single SV at a 
+   /// single point in time
+   class MDPObsEpoch : public MDPHeader
+   {
+   public:
+      // A helper class to hold a single code/carrier block of observations
+      class Observation
+      {
+      public:
+         void dump(std::ostream& out) const throw();
+         std::string encode() const throw();
+
+         // Note that this is a destructive decode, unlike the others in this set 
+         // of classes.
+         void decode(std::string& str) throw();
+  
+         CarrierCode carrier;     ///< This observation's carrier frequency code.
+         RangeCode range;         ///< This observation's range code.
+         unsigned bw;             ///< The Effective Tracking Loop Bandwidth. (Hz)
+         double snr;              ///< The Signal-to-Noise Ratio. (dB-Hz)
+         unsigned long lockCount; ///< The number of consecutive observations (0 implies a cycle slip or beginning of track).
+         double pseudorange;      ///< Pseudorange Measurement (meters)
+         double phase;            ///< Phase Measurement (cycles)
+         double doppler;          ///< Doppler Measurement (Hz, positive for approaching satellites)
+      };
+
+      MDPObsEpoch() throw();
+
+      /**  Encode this object to a string.
+       * @return this object as a string.
+       */
+      virtual std::string encode() const
+         throw();
+         
+      /** Decode this object from a string.
+       * @param str the string to read from.
+       * @note This is a non-destructive decode.
+       */
+      virtual void decode(std::string str)
+         throw();
+         
+      virtual std::string getName() const {return "obs";};
+
+      /** Dump some debugging information to the given ostream.
+       * @param out the ostream to write to
+       */
+      void dump(std::ostream& out) const throw();
+
+      typedef std::pair<CarrierCode, RangeCode> ObsKey;
+      typedef std::map<ObsKey, Observation> ObsMap;
+   
+      unsigned numSVs;      ///< The number of SVs in track for this epoch.
+      unsigned channel;     ///< The channel this SV is tracked on.
+      unsigned prn;         ///< The SV's PRN.
+      unsigned status;      ///< SV Health status.
+      double elevation;     ///< The SV's elevation in degrees.
+      double azimuth;       ///< The SV's azimuth in degrees.
+
+      ObsMap obs;          ///< The list of Observations made at this Epoch.
+      bool haveObservation(const CarrierCode cc, const RangeCode rc) const;
+      Observation getObservation(const CarrierCode cc, const RangeCode rc) const;
+
+      static const unsigned myId = 300;
+      static const unsigned myLength = 8;  // This is just the pre obs_block stuff
+      static const unsigned myObsLength=32;  // This is the size of a single obs_block
+
+   }; // class MDPObsEpoch
+
+   // The key is intended to the PRN of the MDPObsEpoch
+   typedef std::map<int, gpstk::MDPObsEpoch> MDPEpoch;
+      
+} // namespace gpstk
+
+#endif //MDPOBSEPOCH_HPP
diff --git a/trunk/apps/MDPtools/MDPPVTSolution.cpp b/trunk/apps/MDPtools/MDPPVTSolution.cpp
new file mode 100644
index 0000000..285b92e
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPPVTSolution.cpp
@@ -0,0 +1,116 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPPVTSolution.cpp#8 $"
+
+#include <sstream>
+#include <StringUtils.hpp>
+#include <StringUtils.hpp>
+#include <BinUtils.hpp>
+
+#include "MDPPVTSolution.hpp"
+#include "MDPStream.hpp"
+
+using gpstk::StringUtils::asString;
+using gpstk::BinUtils::hostToNet;
+using gpstk::BinUtils::netToHost;
+using gpstk::BinUtils::encodeVar;
+using gpstk::BinUtils::decodeVar;
+using namespace std;
+
+namespace gpstk
+{
+   //---------------------------------------------------------------------------
+   MDPPVTSolution::MDPPVTSolution()
+      throw()
+   {
+      id = myId;
+      timep = gpstk::DayTime::BEGINNING_OF_TIME;
+      x[0] = x[1] = x[2] = 0;
+      v[0] = v[1] = v[2] = 0;
+      dtime = ddtime = 0;
+      numSVs = fom = pvtMode = corrections = 0;
+   } // MDPPVTSolution::MDPPVTSolution()
+
+
+   //---------------------------------------------------------------------------
+   string MDPPVTSolution::encode() const
+      throw()
+   {
+      string str;
+      str += encodeVar<double>(x[0]);
+      str += encodeVar<double>(x[1]);
+      str += encodeVar<double>(x[2]);
+      str += encodeVar<float>(v[0]);
+      str += encodeVar<float>(v[1]);
+      str += encodeVar<float>(v[2]);
+      str += encodeVar<uint8_t>(numSVs);
+      str += encodeVar<int8_t>(fom);
+      str += encodeVar<uint16_t>(time.GPSfullweek());
+      str += encodeVar<double>(time.GPSsecond());
+      str += encodeVar<double>(dtime);
+      str += encodeVar<double>(ddtime);
+      str += encodeVar<uint8_t>(pvtMode);
+      str += encodeVar<uint8_t>(corrections);
+      return str;
+   } // MDPPVTSolution::encode()
+
+      
+   //---------------------------------------------------------------------------
+   void MDPPVTSolution::decode(string str)
+      throw()
+   {
+      if (str.length() != myLength)
+         return;
+
+      clearstate(lenbit);
+      
+      x[0]        = decodeVar<double>(str);
+      x[1]        = decodeVar<double>(str);
+      x[2]        = decodeVar<double>(str);
+      v[0]        = decodeVar<float>(str);
+      v[1]        = decodeVar<float>(str);
+      v[2]        = decodeVar<float>(str);
+      numSVs      = decodeVar<uint8_t>(str);
+      fom         = decodeVar<int8_t>(str);
+      int week    = decodeVar<uint16_t>(str);
+      double sow  = decodeVar<double>(str);
+      dtime       = decodeVar<double>(str);
+      ddtime      = decodeVar<double>(str);
+      pvtMode     = decodeVar<uint8_t>(str);
+      corrections = decodeVar<uint8_t>(str);
+
+      if (week < 0 || week > 5000 || sow < 0 || sow > 604800)
+         return;
+
+      timep.setGPS(week, sow);
+
+      clearstate(fmtbit);
+   } // MDPPVTSolution::decode()
+
+
+   //---------------------------------------------------------------------------
+   void MDPPVTSolution::dump(ostream& out) const
+      throw()
+   {
+      ostringstream oss;
+      using gpstk::StringUtils::asString;
+      using gpstk::StringUtils::leftJustify;
+
+      MDPHeader::dump(oss);
+      oss << getName() << "1:"
+          << " #SV:" << (int)numSVs
+          << " FoM:" << (int)fom
+          << " ClkOff:" << asString(dtime*1e9, 3) 
+          << " ClkDft:" << asString(ddtime*86400*1e6, 3)
+          << " PVTMode:" << (int)pvtMode
+          << " Corr:" << hex << (int)corrections << dec
+          << endl
+          << getName() << "2:"
+          << " X:" << asString(x[0], 3)
+          << " Y:" << asString(x[1], 3)
+          << " Z:" << asString(x[2], 3)
+          << " Vx:" << asString(v[0], 3)
+          << " Vy:" << asString(v[1], 3)
+          << " Vz:" << asString(v[2], 3)
+          << endl;
+      out << oss.str() << flush;
+   } // MDPPVTSolution::dump()
+} // namespace sglmsn
diff --git a/trunk/apps/MDPtools/MDPPVTSolution.hpp b/trunk/apps/MDPtools/MDPPVTSolution.hpp
new file mode 100644
index 0000000..62d4ce8
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPPVTSolution.hpp
@@ -0,0 +1,54 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPPVTSolution.hpp#5 $"
+
+#ifndef MDPPVTSOLUTION_HPP
+#define MDPPVTSOLUTION_HPP
+
+#include "MDPHeader.hpp"
+#include <Xvt.hpp>
+
+namespace gpstk
+{
+   /// This class represents a Position-Velocity-Time Solution.
+   class MDPPVTSolution : public MDPHeader
+   {
+   public:
+      MDPPVTSolution() throw();
+
+      /**  Encode this object to a string.
+       * @return this object as a string.
+       */
+      virtual std::string encode() const
+         throw();
+         
+      /** Decode this object from a string.
+       * @param str the string to read from.
+       * @note This is a non-destructive decode.
+       */
+      virtual void decode(std::string str)
+         throw();
+         
+      virtual std::string getName() const {return "pvt";};
+
+      /** Dump some debugging information to the given ostream.
+       * @param out the ostream to write to
+       */
+      void dump(std::ostream& out) const throw();
+
+      gpstk::ECEF x;              ///< receiver position (x,y,z), earth fixed, in meters
+      gpstk::Triple v;            ///< receiver velocity, Earth-fixed, including rotation, in meters/sec
+      double dtime;               ///< receiver clock offset from GPS in sec
+      double ddtime;              ///< receiver clock drift rate in sec/sec
+      gpstk::DayTime timep;       ///< PVT time: dtime = timep - time.
+      unsigned char numSVs;       ///< Number of SVs in track.
+      unsigned char fom;          ///< Figure of Merit (receiver dependent).
+      unsigned char pvtMode;      ///< Type of PVT solution (receiver dependent).
+      unsigned char corrections;  ///< Corrections (also receiver dependent).
+
+      static const unsigned myLength = 66;
+      static const unsigned myId = 301;
+
+   }; // class MDPPVTSolution
+
+} // namespace gpstk
+
+#endif //MDPPVTSOLUTION_HPP
diff --git a/trunk/apps/MDPtools/MDPProcessors.cpp b/trunk/apps/MDPtools/MDPProcessors.cpp
new file mode 100644
index 0000000..cb83c1a
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPProcessors.cpp
@@ -0,0 +1,314 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPProcessors.cpp#7 $"
+
+/** @file Various presentations/analysis on MDP streams */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "MDPProcessors.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+gpstk::MDPStream d1;
+std::ofstream d2;
+
+
+MDPProcessor::MDPProcessor() :
+      timeFormat("%4Y/%03j/%02H:%02M:%05.2f"),
+      stopTime(gpstk::DayTime::END_OF_TIME),
+      startTime(gpstk::DayTime::BEGINNING_OF_TIME),
+      timeSpan(-1), processBad(false),
+      debugLevel(0), verboseLevel(0), in(d1), out(d2)
+{}
+
+MDPProcessor::MDPProcessor(gpstk::MDPStream& in, std::ofstream& out) :
+      timeFormat("%4Y/%03j/%02H:%02M:%05.2f"),
+      stopTime(gpstk::DayTime::END_OF_TIME),
+      startTime(gpstk::DayTime::BEGINNING_OF_TIME),
+      timeSpan(-1), processBad(false),
+      debugLevel(0), verboseLevel(0), in(in), out(out)
+{}
+
+void MDPProcessor::process()
+{
+   MDPHeader header;
+
+   while (in)
+   {
+      in >> header;
+
+      if (verboseLevel>3)
+         out << "Record: " << in.recordNumber << endl;
+
+      if (in.header.id == gpstk::MDPObsEpoch::myId ||
+          in.header.id == gpstk::MDPPVTSolution::myId)
+      {
+         if (startTime == DayTime(DayTime::BEGINNING_OF_TIME))
+         {
+            startTime = header.time;
+            if (debugLevel)
+               cout << "startTime: " << startTime << endl;
+         }
+
+         if (stopTime == DayTime(DayTime::END_OF_TIME) && timeSpan>0)
+         {
+            stopTime = startTime + timeSpan;
+            if (debugLevel)
+               cout << "stopTime: " << stopTime << endl;
+         }
+
+         if (header.time > stopTime)
+            return;
+            
+         if (header.time < startTime)
+            continue;
+      }
+
+      switch (in.header.id)
+      {
+         case gpstk::MDPObsEpoch::myId:
+            if (obsOut)
+            {
+               gpstk::MDPObsEpoch obs;
+               in >> obs;
+               if (obs || processBad)
+                  process(obs);
+            }
+            break;
+
+         case gpstk::MDPPVTSolution::myId:
+            if (pvtOut)
+            {
+               gpstk::MDPPVTSolution pvt;
+               in >> pvt;
+               if (pvt || processBad)
+                  process(pvt);
+            }
+            break;
+
+         case gpstk::MDPNavSubframe::myId:
+            if (navOut)
+            {
+               gpstk::MDPNavSubframe nav;
+               in >> nav;
+               if (nav || processBad)
+                  process(nav);
+            }
+            break;
+
+         case gpstk::MDPSelftestStatus::myId:
+            if (tstOut) 
+            {
+               gpstk::MDPSelftestStatus sts;
+               in >> sts;
+               if (sts || processBad)
+                  process(sts);
+            }
+            break;
+      } // end of switch()
+   } // end of while()
+}
+
+
+//-----------------------------------------------------------------------------
+MDPTableProcessor::MDPTableProcessor(gpstk::MDPStream& in, std::ofstream& out) :
+   MDPProcessor(in, out)
+{
+   out << "# time, 300, prn, chan, hlth, ele, az, code, carrier, LC, SNR, range, phase, doppler" << endl;
+   out << "# time, 301, #SV, dtime, ddtime, x, y, z, vx, vy, vz" << endl;
+   out << "# time, 310, prn, carrier_code, range_code, nav_code, word1, word2, ..." << endl;
+   out << "# time, 400, tstTime, startTime, Tant, Trx, status, cpu, freq" << endl;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPTableProcessor::process(const gpstk::MDPObsEpoch& oe)
+{
+   MDPObsEpoch::ObsMap::const_iterator i;
+   for (i = oe.obs.begin(); i != oe.obs.end(); i++)
+   {
+      const MDPObsEpoch::Observation& obs=i->second;
+      out << oe.time.printf(timeFormat)
+          << fixed
+          << ", " << setw(3) << oe.id
+          << ", " << setw(2) << (int) oe.prn
+          << ", " << setw(2) << (int) oe.channel
+          << ", " << setw(2) << hex << (int) oe.status << dec
+          << setprecision(1)
+          << ", " << setw(2) << (int) oe.elevation
+          << ", " << setw(3) << (int) oe.azimuth
+          << ", " << setw(1) << obs.range
+          << ", " << setw(1) << obs.carrier
+          << ", " << setw(7) << obs.lockCount
+          << setprecision(2)
+          << ", " << setw(5) << obs.snr
+          << setprecision(4)
+          << ", " << setw(13) << obs.pseudorange
+          << ", " << setw(14) << obs.phase
+          << ", " << setw(10) << obs.doppler
+          << endl;
+   }
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPTableProcessor::process(const gpstk::MDPPVTSolution& pvt)
+{
+   out << pvt.time.printf(timeFormat)
+       << fixed
+       << ", " << setw(3) << pvt.id
+       << ", " << setw(2) << (int)pvt.numSVs
+       << setprecision(3)
+       << ", " << setw(12) << pvt.dtime*1e9
+       << setprecision(6)
+       << ", " << setw(9)  << pvt.ddtime*1e9
+       << setprecision(3)
+       << ", " << setw(12) << pvt.x[0]
+       << ", " << setw(12) << pvt.x[1]
+       << ", " << setw(12) << pvt.x[2]
+       << setprecision(3)
+       << ", " << setw(8) << pvt.v[0]
+       << ", " << setw(8) << pvt.v[1]
+       << ", " << setw(8) << pvt.v[2]
+       << endl;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPTableProcessor::process(const gpstk::MDPNavSubframe& sf)
+{
+   out << sf.time.printf(timeFormat)
+       << fixed
+       << ", " << setw(3) << sf.id
+       << ", " << setw(2) << sf.prn
+       << ", " << int(sf.carrier)
+       << ", " << int(sf.range)
+       << ", " << int(sf.nav);
+
+   if (verboseLevel)
+   {
+      out <<  setfill('0') << hex;
+      for(int i = 1; i < sf.subframe.size(); i++)
+         out << ", " << setw(8) << uppercase << sf.subframe[i];
+      out << dec << setfill(' ');
+   }
+   out << endl;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPTableProcessor::process(const gpstk::MDPSelftestStatus& sts)
+{
+   out << sts.time.printf(timeFormat)
+       << ", " << sts.selfTestTime.printf("%4F/%9.2g")
+       << ", " << sts.firstPVTTime.printf("%4F/%9.2g")
+       << ", " << sts.antennaTemp
+       << ", " << sts.receiverTemp
+       << ", " << hex << sts.status << dec
+       << ", " << sts.cpuLoad
+       << ", " << hex << sts.extFreqStatus << dec
+       << endl;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPVerboseProcessor::process(const gpstk::MDPObsEpoch& oe)
+{
+   if (verboseLevel)
+   {
+      oe.dump(out);
+      out << endl;
+   }
+   else
+   {
+      out << oe.getName() << "-:"
+          << " T:" << oe.time.printf(timeFormat)
+          << left
+          << " #SV:" << setw(2) << (int)oe.numSVs
+          << " Ch:" << setw(2) << (int)oe.channel
+          << " PRN:" << setw(2) << (int)oe.prn
+          << " El:" << setw(2) << (int)oe.elevation;
+      
+      MDPObsEpoch::ObsMap::const_iterator i;
+      for (i = oe.obs.begin(); i != oe.obs.end(); i++)
+      {
+         const MDPObsEpoch::Observation& obs=i->second;
+         out << " " << StringUtils::asString(obs.carrier)
+             << "-" << StringUtils::asString(obs.range);
+      }
+      out << endl;
+   }
+
+
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPVerboseProcessor::process(const gpstk::MDPPVTSolution& pvt)
+{
+   if (verboseLevel)
+   {
+      pvt.dump(out);
+      out << endl;
+   }
+   else
+   {
+      out << pvt.getName() << "-:"
+          << " T:" << pvt.time.printf(timeFormat)
+          << left
+          << " #SV:" << setw(2) << (int)pvt.numSVs
+          << " X:" << StringUtils::asString(pvt.x[0], 3)
+          << " Y:" << StringUtils::asString(pvt.x[1], 3)
+          << " Z:" << StringUtils::asString(pvt.x[2], 3)
+          << endl;
+   }
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPVerboseProcessor::process(const gpstk::MDPNavSubframe& sf)
+{
+   if (verboseLevel)
+   {
+      sf.dump(out);
+      out << endl;
+   }
+   else
+   {
+      out << sf.getName() << "-:"
+          << " T:" << sf.time.printf(timeFormat)
+          << " PRN:" << sf.prn
+          << " " << StringUtils::asString(sf.carrier)
+          << "-" << StringUtils::asString(sf.range)
+          << " " << static_cast<int>(sf.nav)
+          << endl;
+   }
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPVerboseProcessor::process(const gpstk::MDPSelftestStatus& sts)
+{
+   sts.dump(out);
+   out << endl;
+}
diff --git a/trunk/apps/MDPtools/MDPProcessors.hpp b/trunk/apps/MDPtools/MDPProcessors.hpp
new file mode 100644
index 0000000..bd080b7
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPProcessors.hpp
@@ -0,0 +1,136 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPProcessors.hpp#4 $"
+
+/** @file Various presentations/analysis on MDP streams */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef MDPPROCESSORS_HPP
+#define MDPPROCESSORS_HPP
+
+#include <vector>
+#include <map>
+#include <set>
+
+#include <StringUtils.hpp>
+#include <Stats.hpp>
+#include <DayTime.hpp>
+
+#include "MDPStream.hpp"
+#include "MDPNavSubframe.hpp"
+#include "MDPObsEpoch.hpp"
+#include "MDPPVTSolution.hpp"
+#include "MDPSelftestStatus.hpp"
+
+//-----------------------------------------------------------------------------
+class MDPProcessor
+{
+public:
+
+   MDPProcessor();
+   MDPProcessor(gpstk::MDPStream& in, std::ofstream& out);
+   virtual ~MDPProcessor() {};
+
+   void process();
+
+   std::string timeFormat;
+   int debugLevel;
+   int verboseLevel;
+
+   bool processBad;
+   bool pvtOut, obsOut, navOut, tstOut;
+
+   std::ofstream& out;
+   gpstk::MDPStream& in;
+
+   gpstk::DayTime startTime, stopTime;
+   double timeSpan;
+
+private:
+   /// All processors are defined so that subclasses don't have to
+   /// define process methods for messages they don't care about.
+   virtual void process(const gpstk::MDPObsEpoch& oe)        {};
+   virtual void process(const gpstk::MDPPVTSolution& pvt)    {};
+   virtual void process(const gpstk::MDPNavSubframe& sf)     {};
+   virtual void process(const gpstk::MDPSelftestStatus& sts) {};
+};
+
+
+//-----------------------------------------------------------------------------
+class MDPTableProcessor : public MDPProcessor
+{
+   void process(const gpstk::MDPObsEpoch& oe);
+   void process(const gpstk::MDPPVTSolution& pvt);
+   void process(const gpstk::MDPNavSubframe& sts);
+   void process(const gpstk::MDPSelftestStatus& sts);
+
+public:
+   MDPTableProcessor(gpstk::MDPStream& in, std::ofstream& out);
+};
+
+
+//-----------------------------------------------------------------------------
+class MDPBriefProcessor : public MDPProcessor
+{
+   void process(const gpstk::MDPObsEpoch& oe)
+   {out << "o " << std::flush; };
+
+   void process(const gpstk::MDPPVTSolution& pvt)
+   {out << "p " << std::flush; };
+
+   void process(const gpstk::MDPNavSubframe& sf)
+   {out << "n " << std::flush; };
+
+   void process(const gpstk::MDPSelftestStatus& sts)
+   {out << "s " << std::flush; };
+
+public:
+   MDPBriefProcessor(gpstk::MDPStream& in, std::ofstream& out) :
+      MDPProcessor(in, out)
+   {};
+};
+
+
+//-----------------------------------------------------------------------------
+class MDPVerboseProcessor : public MDPProcessor
+{
+   void process(const gpstk::MDPObsEpoch& oe);
+   void process(const gpstk::MDPPVTSolution& pvt);
+   void process(const gpstk::MDPNavSubframe& sf);
+   void process(const gpstk::MDPSelftestStatus& sts);
+
+public:
+   MDPVerboseProcessor(gpstk::MDPStream& in, std::ofstream& out) :
+      MDPProcessor(in, out)
+   {}
+};
+
+
+//-----------------------------------------------------------------------------
+class MDPNullProcessor : public MDPProcessor
+{
+public:
+   MDPNullProcessor(gpstk::MDPStream& in, std::ofstream& out) :
+      MDPProcessor(in, out)
+   {}
+};
+#endif
diff --git a/trunk/apps/MDPtools/MDPSelftestStatus.cpp b/trunk/apps/MDPtools/MDPSelftestStatus.cpp
new file mode 100644
index 0000000..de648e0
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPSelftestStatus.cpp
@@ -0,0 +1,98 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPSelftestStatus.cpp#4 $"
+
+#include <sstream>
+#include <StringUtils.hpp>
+#include <StringUtils.hpp>
+#include <BinUtils.hpp>
+
+#include "MDPSelftestStatus.hpp"
+#include "MDPStream.hpp"
+
+using gpstk::StringUtils::asString;
+using gpstk::BinUtils::encodeVar;
+using gpstk::BinUtils::decodeVar;
+using namespace std;
+
+namespace gpstk
+{
+   //---------------------------------------------------------------------------
+   MDPSelftestStatus::MDPSelftestStatus()
+      throw() :
+      selfTestTime(gpstk::DayTime::BEGINNING_OF_TIME),
+      firstPVTTime(gpstk::DayTime::BEGINNING_OF_TIME),
+      antennaTemp(0), receiverTemp(0), status(0xffffffff),
+      cpuLoad(0), extFreqStatus(0)
+   {
+      id = myId;
+   } // MDPSelftestStatus::MDPSelftestStatus()
+
+
+   //---------------------------------------------------------------------------
+   string MDPSelftestStatus::encode() const
+      throw()
+   {
+      string str;
+      str += encodeVar( (float)    antennaTemp);
+      str += encodeVar( (float)    receiverTemp);
+      str += encodeVar( (uint32_t) status);
+      str += encodeVar( (float)    cpuLoad);
+      str += encodeVar( (uint32_t) 100*selfTestTime.GPSsecond());
+      str += encodeVar( (uint16_t) selfTestTime.GPSfullweek());
+      str += encodeVar( (uint16_t) firstPVTTime.GPSfullweek());
+      str += encodeVar( (uint32_t) 100*firstPVTTime.GPSsecond());
+      str += encodeVar( (uint16_t) extFreqStatus);
+      return str;
+   } // MDPSelftestStatus::encode()
+
+      
+   //---------------------------------------------------------------------------
+   void MDPSelftestStatus::decode(string str)
+      throw()
+   {
+      if (str.length() != myLength)
+         return;
+
+      clearstate(lenbit);
+      
+      
+      long sow100;
+      int week;
+
+      antennaTemp  = decodeVar<float>(str);
+      receiverTemp = decodeVar<float>(str);
+      status       = decodeVar<uint32_t>(str);
+      cpuLoad      = decodeVar<float>(str);
+      sow100       = decodeVar<uint32_t>(str);
+      week         = decodeVar<uint16_t>(str);
+      selfTestTime.setGPSfullweek(week, double(sow100)*0.01);
+      week         = decodeVar<uint16_t>(str);
+      sow100       = decodeVar<uint32_t>(str);
+      firstPVTTime.setGPSfullweek(week, double(sow100)*0.01);
+      extFreqStatus = decodeVar<uint16_t>(str);
+      
+      clearstate(fmtbit);
+   } // MDPSelftestStatus::decode()
+
+
+   //---------------------------------------------------------------------------
+   void MDPSelftestStatus::dump(ostream& out) const
+      throw()
+   {
+      ostringstream oss;
+      using gpstk::StringUtils::asString;
+      using gpstk::StringUtils::leftJustify;
+
+      MDPHeader::dump(oss);
+      oss << getName() << "1:"
+          << " Tst:" << selfTestTime.printf("%4F/%9.2g")
+          << " Tpvt:" << firstPVTTime.printf("%4F/%9.2g")
+          << " Ant. Temp:" << antennaTemp
+          << " Rx. Temp:" << receiverTemp
+          << " status:" << hex << status << dec
+          << " cpuLoad:" << cpuLoad
+          << " extFreq:" << hex << extFreqStatus << dec
+          << endl;
+      out << oss.str() << flush;
+   } // MDPSelftestStatus::dump()
+
+} // namespace sglmsn
diff --git a/trunk/apps/MDPtools/MDPSelftestStatus.hpp b/trunk/apps/MDPtools/MDPSelftestStatus.hpp
new file mode 100644
index 0000000..9f88675
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPSelftestStatus.hpp
@@ -0,0 +1,52 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPSelftestStatus.hpp#3 $"
+
+#ifndef MDPSELFTESTSTATUS_HPP
+#define MDPSELFTESTSTATUS_HPP
+
+#include "MDPHeader.hpp"
+#include <Xvt.hpp>
+
+namespace gpstk
+{
+   /// This class represents a runtime selftest status message
+   class MDPSelftestStatus : public MDPHeader
+   {
+   public:
+      MDPSelftestStatus() throw();
+
+      /**  Encode this object to a string.
+       * @return this object as a string.
+       */
+      virtual std::string encode() const
+         throw();
+         
+      /** Decode this object from a string.
+       * @param str the string to read from.
+       * @note This is a non-destructive decode.
+       */
+      virtual void decode(std::string str)
+         throw();
+         
+      virtual std::string getName() const {return "sts";};
+
+      /** Dump some debugging information to the given ostream.
+       * @param out the ostream to write to
+       */
+      void dump(std::ostream& out) const throw();
+
+      float antennaTemp;
+      float receiverTemp;
+      long status;
+      float cpuLoad;
+      gpstk::DayTime selfTestTime; ///< SelfTest SOW & week
+      gpstk::DayTime firstPVTTime; ///< First PVT SOW & week
+      short extFreqStatus;
+
+      static const unsigned myLength = 30;
+      static const unsigned myId = 400;
+
+   }; // class MDPSelftestStatus
+      
+} // namespace gpstk
+
+#endif //MDPSELFTESTSTATUS_HPP
diff --git a/trunk/apps/MDPtools/MDPStream.hpp b/trunk/apps/MDPtools/MDPStream.hpp
new file mode 100644
index 0000000..deff90d
--- /dev/null
+++ b/trunk/apps/MDPtools/MDPStream.hpp
@@ -0,0 +1,101 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/MDPStream.hpp#3 $"
+
+/**
+ * @file MDPStream.hpp
+ * gpstk::MDPStream - binary MDP file stream container.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef MDPSTREAM_HPP
+#define MDPSTREAM_HPP
+
+#include <vector>
+#include <map>
+
+#include <FFBinaryStream.hpp>
+#include "MDPHeader.hpp"
+
+namespace gpstk
+{
+   /** 
+    * This is a stream used to decode data in the MDP format.
+    */
+   class MDPStream : public FFBinaryStream
+   {
+   public:
+      MDPStream() : streamState(outOfSync)
+      {}
+
+         /**
+          * @param fn the name of the MDP file to be opened
+          * @param mode the ios::openmode to be used on \a fn
+          */
+      MDPStream(const char* fn,
+                std::ios::openmode mode = std::ios::in)
+         : FFBinaryStream(fn, mode), 
+           streamState(outOfSync)
+      {}
+
+      /// destructor per the coding standards
+      virtual ~MDPStream()
+      {}
+
+      /// overrides open to reset the header
+      virtual void open(const char* fn, std::ios::openmode mode = std::ios::in)
+      {
+         FFBinaryStream::open(fn, mode); 
+         streamState = outOfSync;
+      }
+
+      /// Used to track what has been retrieved from the stream
+      enum {outOfSync, gotHeader, gotBody} streamState;
+
+      /// A copy of the most recent header read
+      MDPHeader header;
+
+      /// The raw bytes of the above header
+      std::string rawHeader;
+   }; // class MDPStream
+} // namespace gpstk
+
+#endif
diff --git a/trunk/apps/MDPtools/NavProc.cpp b/trunk/apps/MDPtools/NavProc.cpp
new file mode 100644
index 0000000..c1e876a
--- /dev/null
+++ b/trunk/apps/MDPtools/NavProc.cpp
@@ -0,0 +1,159 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/NavProc.cpp#5 $"
+
+/*
+  Think, navdmp for mdp, with bonus output that you get data from all code/carrier
+  combos.
+*/
+
+#include "Geodetic.hpp"
+#include "NavProc.hpp"
+
+#include "FormatConversionFunctions.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+
+//-----------------------------------------------------------------------------
+MDPNavProcessor::MDPNavProcessor(gpstk::MDPStream& in, std::ofstream& out)
+   : MDPProcessor(in, out),
+     firstNav(true), almOut(false), ephOut(false)
+{
+   timeFormat = "%4Y/%03j/%02H:%02M:%02S";
+}
+
+
+//-----------------------------------------------------------------------------
+MDPNavProcessor::~MDPNavProcessor()
+{
+   using gpstk::RangeCode;
+   using gpstk::CarrierCode;
+   using gpstk::StringUtils::asString;
+   
+   out << "Done processing data." << endl << endl;
+
+   out << endl << "Navigation Subframe message summary:" << endl;
+   if (firstNav)
+      out << "  No Navigation Subframe messages processed." << endl;
+   else
+   {
+      out << "  TBD." << endl;
+   }
+      
+   out << endl;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPNavProcessor::process(const gpstk::MDPNavSubframe& msg)
+{
+   if (firstNav)
+   {
+      firstNav = false;
+      if (verboseLevel)
+         out << msg.time.printf(timeFormat)
+             << "  Received first Navigation Subframe message"
+             << endl;
+   }
+
+   short sfid = msg.getSFID();
+   short svid = msg.getSVID();
+   bool isAlm = sfid > 3;
+   long sow = msg.getHOWTime();
+   short page = ((sow-6) / 30) % 25 + 1;
+
+   if ((isAlm && !almOut) || (!isAlm && !ephOut))
+      return;
+
+   if (verboseLevel>2)
+   {
+      out << msg.time.printf(timeFormat)
+          << "  prn:" << setw(2) << msg.prn
+          << " " << asString(msg.carrier)
+          << ":" << setw(6) << left << asString(msg.range)
+          << " nav:" << static_cast<int>(msg.nav)
+          << " SOW:" << setw(6) << sow
+          << " SFID:" << sfid;
+      if (isAlm)
+         out << " SVID:" << svid
+             << " Page:" << page;
+      out << endl;
+   }
+
+   // Sanity check on the header time versus the HOW time
+   short week = msg.time.GPSfullweek();
+   DayTime howTime(week, msg.getHOWTime());
+   if (howTime == msg.time)
+   {
+      // Move this back down to verboseLevel>0 when ITT fixes their code...
+      if (verboseLevel>2)
+         out << msg.time.printf(timeFormat) << "  header time is HOW time" << endl;
+   }
+   else if (howTime != msg.time+6)
+      out << msg.time.printf(timeFormat)
+          << "  HOW/header time miscompare " << howTime.printf(timeFormat)
+          << endl;
+
+   NavIndex ni(RangeCarrierPair(msg.range, msg.carrier), msg.prn);
+   prev[ni] = curr[ni];
+   curr[ni] = msg;
+
+   long sfa[10];
+   msg.fillArray(sfa);
+   long long_sfa[10];
+   for( int j = 0; j < 10; j++ )
+      long_sfa[j] = static_cast<long>( sfa[j] );
+   if (gpstk::EngNav::subframeParity(long_sfa))
+   {
+      if (isAlm)
+      {
+         AlmanacPages& almPages = almPageStore[ni];
+         EngAlmanac& engAlm = almStore[ni];
+         SubframePage sp(sfid, page);
+         almPages[sp] = msg;
+         almPages.insert(make_pair(sp, msg));
+         
+         if (makeEngAlmanac(engAlm, almPages))
+         {
+            out << msg.time.printf(timeFormat)
+                << "  Built complete alm from prn " << ni.second
+                << " " << asString(ni.first.second)
+                 << " " << asString(ni.first.first)
+                << endl;
+            if (verboseLevel>1)
+               engAlm.dump(out);
+            almPages.clear();
+            engAlm = EngAlmanac();
+         }            
+      }
+      else
+      {
+         EphemerisPages& ephPages = ephPageStore[ni];
+         ephPages[sfid] = msg;
+         EngEphemeris engEph;
+
+         if (makeEngEphemeris(engEph, ephPages))
+         {
+            out << msg.time.printf(timeFormat)
+                << "  Built complete eph from prn " << ni.second
+                << " " << asString(ni.first.second)
+                << " " << asString(ni.first.first)
+                << endl;
+            if (verboseLevel>1)
+               out << engEph;
+            ephStore[ni] = engEph;
+         }
+      }
+   }
+   else
+   {
+      out << msg.time.printf(timeFormat)
+          << "  Parity error on prn:" << setw(2) << msg.prn
+          << " " << asString(msg.carrier)
+             << ":" << setw(6) << left << asString(msg.range)
+          << " TOW:" << setw(6) << msg.getHOWTime()
+          << " SFID:" << sfid
+          << endl;
+   }
+}  // end of process()
diff --git a/trunk/apps/MDPtools/NavProc.hpp b/trunk/apps/MDPtools/NavProc.hpp
new file mode 100644
index 0000000..64902ff
--- /dev/null
+++ b/trunk/apps/MDPtools/NavProc.hpp
@@ -0,0 +1,55 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/NavProc.hpp#2 $"
+
+#ifndef MDPNAV_HPP
+#define MDPNAV_HPP
+
+#include "EngEphemeris.hpp"
+#include "EngAlmanac.hpp"
+
+#include "MDPProcessors.hpp"
+
+//-----------------------------------------------------------------------------
+class MDPNavProcessor : public MDPProcessor
+{
+public:
+   MDPNavProcessor(gpstk::MDPStream& in, std::ofstream& out);
+   ~MDPNavProcessor();
+
+   virtual void process(const gpstk::MDPNavSubframe& msg);
+   
+   bool firstNav;
+
+   static const int maxChannel=12;
+
+   // First time is of the first missed epoch, second time is the last missed epoch
+   // (i.e. first = previous + obsRateEst, second=current-ObsRateEst
+   typedef std::pair<gpstk::DayTime, gpstk::DayTime> DayTimePair;
+   typedef std::list<DayTimePair> DayTimePairList;
+
+   // Used to control whether we process the engineering eph/alms.
+   bool ephOut;
+   bool almOut;
+
+   // This is really a triple: prn, RangeCode, CarrierCode
+   typedef std::pair<gpstk::RangeCode, gpstk::CarrierCode> RangeCarrierPair;
+   typedef std::pair<RangeCarrierPair, short> NavIndex;
+
+   // This class can keep track of a subframe and where it came from
+   typedef std::map<NavIndex, gpstk::MDPNavSubframe> NavMap;
+   
+   // A note on nomenclature. A navigation subframe is as defined in the
+   // '200 and refers a set of 300 bits of the navigation that can be modulated
+   // on the various codes. Think of it as the raw bits.  A navigation message
+   // is a logical set of these subframes. For an ephemeris it will always consist
+   // of three subframes, with subframe ids of 1, 2, and 3. For an almanac it will
+   // consist of an undefined number of subframes, all with subframe ids of 4 and 5.
+
+   NavMap prev, curr;
+
+   std::map<NavIndex, gpstk::AlmanacPages> almPageStore;
+   std::map<NavIndex, gpstk::EngAlmanac> almStore;
+
+   std::map<NavIndex, gpstk::EphemerisPages> ephPageStore;
+   std::map<NavIndex, gpstk::EngEphemeris> ephStore;
+};
+#endif
diff --git a/trunk/apps/MDPtools/ScreenProc.cpp b/trunk/apps/MDPtools/ScreenProc.cpp
new file mode 100644
index 0000000..49ae792
--- /dev/null
+++ b/trunk/apps/MDPtools/ScreenProc.cpp
@@ -0,0 +1,354 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/ScreenProc.cpp#5 $"
+
+#include "Geodetic.hpp"
+#include "GPSGeoid.hpp"
+#include "StringUtils.hpp"
+
+
+#include "ScreenProc.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+extern "C" void wench(int sig);
+
+/*           1         2         3         4         5         6         7
+   01234567890123456789012345678901234567890123456789012345678901234567890123456789
+  |--------------------------------------------------------------------------------
+ 0|hostname:port                                        02:43:12  7/7/05 GPS
+ 1|                   
+ 2|PVT: 02:43:23.5   Offset: 234,456.1 ns  Drift: 13.235 ns/d
+ 3|Lon: -179.122345   Lat: 30.12345 N   Ht: 230.0 m      Rate: 1.0 s
+ 4| Vx:  0.0 cm/s     Vy:  0.0 cm/s    Vz: 0.00 cm/s    PDOP: 12.2
+ 5|
+ 6|Obs Rate: 1.5 s
+ 7|                   C1    P1      C2    P2      lock             res   
+ 8|Ch Prn   Az  El    SNR   SNR     SNR   SNR     count  iodc  h   (m)
+ 9|-- ---  ---  ---  ----  ------  ----  ------  ------  ----  -  -----
+10| 1   8  133  22+  41.2  33.8 Y  38.1  39.2 Y  432000   2ba  0  
+11| 2  31
+12| 3  23
+13| 4  27
+14| 5  28
+15| 6   3
+16| 7  11
+17| 8  13
+18| 9   7
+19|10  19
+20|11  --
+21|12  --
+22|
+23|
+  |-------------------------------------------------------------------------------
+*/
+int tCol=5, offCol=26, driftCol=47, lonCol=5, latCol=23, altCol=40, prateCol=59;
+
+int prnCol=3, azCol=8, elCol=13, c1snrCol=18, p1snrCol=24, c2snrCol=32, 
+   p2snrCol=38, resCol=63, lockCol=46, iodcCol=54, healthCol=60, orateCol=10;
+
+int chanRow=9, pvtRow=2;
+
+bool MDPScreenProcessor::gotWench;
+
+MDPScreenProcessor::MDPScreenProcessor(gpstk::MDPStream& in, std::ofstream& out):
+   MDPProcessor(in, out),
+   updateRate(0.5), obsRate(-1), pvtRate(-1), die(false)
+{
+   // First set up curses
+   signal(SIGWINCH, wench);
+   win = initscr();
+   cbreak();
+   nodelay(win,true);
+   noecho();
+   nonl();
+   intrflush(win, true);
+   keypad(win, true);
+   prev_curs = ::curs_set(0);   // we want an invisible cursor. 
+   gotWench=false;
+
+   drawBase();
+
+   obsOut = true;
+   pvtOut = true;
+   navOut = true;
+   tstOut = true;
+}
+
+
+MDPScreenProcessor::~MDPScreenProcessor()
+{
+   curs_set(prev_curs);
+   endwin();
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPScreenProcessor::process(const MDPObsEpoch& oe)
+{
+   int chan=oe.channel;
+
+   if (chan>12)
+      return;
+
+   // Figure out whether the SV is rising or setting
+   if ((currentObs[chan]).elevation > oe.elevation)
+      elDir[chan]=-1;
+   else if ((currentObs[chan]).elevation < oe.elevation)
+      elDir[chan]=+1;
+   else
+      elDir[chan]=0;
+
+   // Determine the obs output rate
+   double dt = oe.time - currentObs[chan].time;
+   if (currentObs[chan].prn > 0 && std::abs(dt-obsRate) > 1e-3)
+      obsRate=dt;
+
+   currentObs[chan] = oe;
+   
+   // Set channels inactive if we haven't seen data from them recently
+   if (obsRate>0)
+      for (int i=1; i<=12; i++)
+         if (currentObs[i].prn > 0 && oe.time - currentObs[i].time > obsRate*2)
+            currentObs[i].prn = 0;
+
+   drawChan(chan);
+   redraw();
+
+}
+
+//-----------------------------------------------------------------------------
+void MDPScreenProcessor::process(const MDPPVTSolution& pvt)
+{
+   if (host=="")
+   {
+      host=in.filename;
+      drawBase();
+   }
+
+   double dt = pvt.time - currentPvt.time;
+   if (std::abs(dt-pvtRate) > 1e-3)
+      pvtRate=dt;
+   currentPvt = pvt;
+   drawPVT();
+   redraw();
+}
+
+
+
+void MDPScreenProcessor::process(const gpstk::MDPNavSubframe& sf)
+{
+}
+
+
+// Yes, one would think that sun would have a working curses but NO!!
+// They require a non-const string to be passed to mvwaddstr()
+// grrr.
+void writeAt(WINDOW* win, int row, int col, const string s)
+{
+   char *str = const_cast<char*>(s.c_str());
+   mvwaddstr(win, row, col, str);
+}
+
+void MDPScreenProcessor::redraw()
+{
+   gpstk::DayTime now;
+   if (now - lastUpdateTime > updateRate)
+   {
+      string time=currentPvt.time.printf(" %02H:%02M:%02S %2m/%d/%02y");
+      writeAt(win, 0, COLS-time.length()-5, time.c_str());
+      lastUpdateTime = now;
+      int ch = getch();
+      if (tolower(ch)=='q')
+      {
+         die=true;
+         writeAt(win, 0, 0, "Exiting program.");
+         // Use this to indicate that it is time to quit
+         in.setstate(ios_base::failbit);
+      }
+
+      if (gotWench)
+      {
+         char buff[30];
+         sprintf(buff, "%2d x %2d (wench)", LINES, COLS);
+         writeAt(win, 0, COLS/2-15, buff);
+         gotWench=false;
+         clearok(win,true);
+      }
+   }
+   wrefresh(win);
+}
+
+
+void MDPScreenProcessor::drawPVT()
+{
+   string s=rightJustify(asString(pvtRate,1), 3) + " s";
+   writeAt(win, pvtRow+1 , prateCol, s.c_str());
+
+   string time=currentPvt.time.printf("%02H:%02M:%04.1f");
+   writeAt(win, pvtRow, tCol, time.c_str());
+   string off=rightJustify(asString(currentPvt.dtime*1e9, 1), 9) + " ns";
+   writeAt(win, pvtRow, offCol, off.c_str());
+
+   gpstk::GPSGeoid gm;
+   gpstk::Geodetic llh(currentPvt.x, &gm);
+
+   string lat, lon, alt;
+   if (llh[0] > 0)
+      lat=leftJustify(asString(llh[0],5)+" N", 12);
+   else
+      lat=leftJustify(asString(std::abs(llh[0]),5)+" S", 12);
+   if (llh[1] < 180)
+      lon=leftJustify(asString(llh[1],5)+" E", 12);
+   else
+      lon=leftJustify(asString(360.0-llh[1],5)+" W", 12);
+   alt=leftJustify(asString(llh[2],3) + " m", 12);
+   writeAt(win, pvtRow+1, latCol, (const char *)lat.c_str());
+   writeAt(win, pvtRow+1, lonCol, lon.c_str());
+   writeAt(win, pvtRow+1, altCol, alt.c_str());
+
+   // These items are of questionable value, so make the user ask for them.
+   if (verboseLevel)
+   {
+      string drift=rightJustify(asString(currentPvt.ddtime*1e9*86400, 2), 9) + " ns/d";
+      writeAt(win, pvtRow, driftCol, drift.c_str());
+      string vx, vy, vz;
+      vx=leftJustify(asString(currentPvt.v[0] * 100, 2)+" cm/s", 11);
+      vy=leftJustify(asString(currentPvt.v[1] * 100, 2)+" cm/s", 11);
+      vz=leftJustify(asString(currentPvt.v[2] * 100, 2)+" cm/s", 11);
+      writeAt(win, pvtRow+2, lonCol, vx.c_str());
+      writeAt(win, pvtRow+2, latCol, vy.c_str());
+      writeAt(win, pvtRow+2, altCol, vz.c_str());
+   }
+}
+
+void MDPScreenProcessor::drawChan(int chan)
+{
+   if (chan>12 || chan < 1)
+      return;
+
+   for (int i=1; i<=12; i++)
+      if (currentObs[i].prn == 0)
+      {
+         writeAt(win, chanRow+i, prnCol, " --");
+         wclrtoeol(win);
+      }
+
+   int row = chanRow + chan;
+   const MDPObsEpoch& obs=currentObs[chan];
+   if (obs.prn == 0)
+      return;
+
+   string orate=rightJustify(asString(obsRate,1)+" s", 5);
+   writeAt(win, chanRow-3 , orateCol, orate.c_str());
+
+   string prn=rightJustify(asString((int)obs.prn), 3);
+   string az=rightJustify(asString(obs.azimuth, 0), 3);
+   string el=rightJustify(asString(obs.elevation, 0), 2);
+   string health = rightJustify(int2x(obs.status), 2);
+
+   if (elDir[chan] > 0)
+      el=el+"+";
+   else if (elDir[chan] < 0)
+      el=el+"-";
+
+   writeAt(win, row, prnCol, prn.c_str());
+   writeAt(win, row, azCol, az.c_str());
+   writeAt(win, row, elCol, el.c_str());
+   writeAt(win, row, healthCol, health.c_str());
+
+   // RangeCode:  rcUnknown, rcCA, rcPcode, rcYcode, rcCodeless, rcL2CM, rcL2CL, rcMcode1, rcMcode2
+   // NavCode:  ncUnknown, ncICD_200_2, ncICD_700_M, ncICD_705_L5, ncICD_200_4
+   if (obs.haveObservation(ccL1, rcCA))
+   {
+      MDPObsEpoch::Observation o = obs.getObservation(ccL1, rcCA);
+      string snr = rightJustify(asString(o.snr, 1), 4);
+      string lockCount = rightJustify(asString(o.lockCount), 6);
+      writeAt(win, row, c1snrCol, snr.c_str());
+      writeAt(win, row, lockCol, lockCount.c_str());
+   }
+
+   if (obs.haveObservation(ccL2,rcCM))
+   {
+      MDPObsEpoch::Observation o = obs.getObservation(ccL2, rcCM);
+      string snr = rightJustify(asString(o.snr, 1), 4);
+      string lockCount = rightJustify(asString(o.lockCount), 6);
+      writeAt(win, row, c2snrCol, snr.c_str());
+   }
+
+   if (obs.haveObservation(ccL1, rcYcode))
+   {
+      MDPObsEpoch::Observation o=obs.getObservation(ccL1, rcYcode);
+      string snr = rightJustify(asString(o.snr, 1), 4) + " Y";
+      writeAt(win, row, p1snrCol, snr.c_str());
+   }
+   else if (obs.haveObservation(ccL1, rcPcode))
+   {
+      MDPObsEpoch::Observation o=obs.getObservation(ccL1, rcPcode);
+      string snr = rightJustify(asString(o.snr, 1), 4) + " P";
+      writeAt(win, row, p1snrCol, snr.c_str());
+   }
+   else if (obs.haveObservation(ccL1, rcCodeless))
+   {
+      MDPObsEpoch::Observation o=obs.getObservation(ccL1, rcYcode);
+      string snr = rightJustify(asString(o.snr, 1), 4) + " Z";
+      writeAt(win, row, p1snrCol, snr.c_str());
+   }
+
+   if (obs.haveObservation(ccL2, rcYcode))
+   {
+      MDPObsEpoch::Observation o=obs.getObservation(ccL2, rcPcode);
+      string snr = rightJustify(asString(o.snr, 1), 4) + " Y";
+      writeAt(win, row, p2snrCol, snr.c_str());
+   }
+   else if (obs.haveObservation(ccL2, rcPcode))
+   {
+      MDPObsEpoch::Observation o=obs.getObservation(ccL2, rcYcode);
+      string snr = rightJustify(asString(o.snr, 1), 4) + " P";
+      writeAt(win, row, p2snrCol, snr.c_str());
+   }
+   else if (obs.haveObservation(ccL2, rcCodeless))
+   {
+      MDPObsEpoch::Observation o=obs.getObservation(ccL2, rcYcode);
+      string snr = rightJustify(asString(o.snr, 1), 4) + " Z";
+      writeAt(win, row, p2snrCol, snr.c_str());
+   }
+}
+
+void MDPScreenProcessor::drawBase()
+{
+   wclear(win);
+   char buff[80];
+   sprintf(buff, "%2d x %2d", LINES, COLS);
+   writeAt(win, 0, COLS/2-4, buff);
+
+   writeAt(win, 0, 0, host.c_str());
+   writeAt(win, 0, COLS-3, "GPS");
+
+   writeAt(win, pvtRow,   0, "PVT:              Offset:");
+   writeAt(win, pvtRow+1, 0, "Lon:              Lat:              Ht:              Rate:");
+   if (verboseLevel)
+   {
+       writeAt(win, pvtRow,   0, "PVT:              Offset:               Drift:");
+       writeAt(win, pvtRow+2, 0, " Vx:               Vy:              Vz:");
+   }
+
+   writeAt(win, chanRow-3, 0, "Obs Rate:");
+   writeAt(win, chanRow-2, 0, "                   C1    P1      C2    P2      lock           ");
+   writeAt(win, chanRow-1, 0, "Ch Prn   Az  El    SNR   SNR     SNR   SNR     count  iodc   h");
+   writeAt(win, chanRow,   0, "-- ---  ---  --   ----  ------  ----  ------  ------  ----  --");
+   for (int i=1; i<=12; i++)
+   {
+      string str=rightJustify(asString(i),2);
+      writeAt(win, chanRow+i, 0, str.c_str());
+      writeAt(win, chanRow+i, prnCol, " --");
+      wclrtoeol(win);
+   }
+   redraw();
+}
+
+/* should consider doing endwin(), initscr() and redrawing the window */
+void wench(int sig)
+{
+   MDPScreenProcessor::gotWench=true;
+}
diff --git a/trunk/apps/MDPtools/ScreenProc.hpp b/trunk/apps/MDPtools/ScreenProc.hpp
new file mode 100644
index 0000000..9e79c1c
--- /dev/null
+++ b/trunk/apps/MDPtools/ScreenProc.hpp
@@ -0,0 +1,54 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/ScreenProc.hpp#2 $"
+
+#ifndef MDPSCREEN_HPP
+#define MDPSCREEN_HPP
+
+#include "MDPProcessors.hpp"
+
+#include <signal.h>
+#ifdef LINUX
+#include <bits/signum.h>
+#endif
+
+// This prevents forte from using the macro implementation of many of the curses
+// calls. They tend to interfere with parts of the STL.
+#define NOMACROS
+#include <curses.h>
+#ifndef __linux__
+typedef int attr_t;
+#endif
+
+
+class MDPScreenProcessor : public MDPProcessor
+{
+public:
+   MDPScreenProcessor(gpstk::MDPStream& in, std::ofstream& out);
+   ~MDPScreenProcessor();
+
+   virtual void process(const gpstk::MDPObsEpoch& obs);
+   virtual void process(const gpstk::MDPPVTSolution& pvt);
+   virtual void process(const gpstk::MDPNavSubframe& sf);
+
+   void redraw();
+
+   void drawChan(int chan=0);
+   void drawPVT();
+   void drawBase();
+
+   std::string host;
+   float updateRate;
+   double obsRate, pvtRate;
+   WINDOW *win;
+   int prev_curs;
+
+   int verboseLevel;
+   bool die;
+   static bool gotWench;
+
+   int elDir[13];
+   gpstk::MDPObsEpoch currentObs[13];
+   gpstk::MDPPVTSolution currentPvt;
+   gpstk::DayTime lastUpdateTime;
+};
+
+#endif
diff --git a/trunk/apps/MDPtools/SummaryProc.cpp b/trunk/apps/MDPtools/SummaryProc.cpp
new file mode 100644
index 0000000..b61abb8
--- /dev/null
+++ b/trunk/apps/MDPtools/SummaryProc.cpp
@@ -0,0 +1,402 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/SummaryProc.cpp#6 $"
+
+/*
+  This intended to perform a quick summary/analysis of the data in a MDP file
+  or stream. The idea is teqc +meta or +mds with a little bit of +qc thrown
+  in for good measure.
+
+  Mainly driven by the needs of the receiver test cases. The following are
+  some of the test cases that this class is to support.
+
+  RS-13  | needs to report data gaps |
+  RS-16  | needs to report data gaps (based upon presense of data, not sv visibility) |
+  RS-31  | Needs to report jumps in the clock offset reported in the PVT messages |
+  RS-32  | "" |
+  RS-58  | Analyze the changes in lock count over tracking anomolies |
+  RS-72  | |
+  RS-133  | Heh, need to run this for 90 days... |
+*/
+
+#include "Geodetic.hpp"
+#include "SummaryProc.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+
+//-----------------------------------------------------------------------------
+MDPSummaryProcessor::MDPSummaryProcessor(gpstk::MDPStream& in, std::ofstream& out)
+   : MDPProcessor(in, out),
+     numEpochs(0), numObsEpochMsg(0),
+     firstObs(true), firstPvt(true), firstNav(true), firstSelftest(true),
+     firstEpochTime(gpstk::DayTime::END_OF_TIME),
+     lastEpochTime(gpstk::DayTime::BEGINNING_OF_TIME),
+     prevEpochTime(gpstk::DayTime::BEGINNING_OF_TIME),
+     obsRateEst(0), pvtRateEst(0),
+     prevObs(maxChannel+1),
+     chanGapList(maxChannel+1)
+{
+   elevBins.push_back(elevationPair(10,90));
+   elevBins.push_back(elevationPair( 0, 5));
+   elevBins.push_back(elevationPair( 5,10));
+   elevBins.push_back(elevationPair(10,20));
+   elevBins.push_back(elevationPair(20,60));
+   elevBins.push_back(elevationPair(60,90));
+   processBad = true;
+}
+
+
+//-----------------------------------------------------------------------------
+MDPSummaryProcessor::~MDPSummaryProcessor()
+{
+   using gpstk::RangeCode;
+   using gpstk::CarrierCode;
+   using gpstk::StringUtils::asString;
+   
+   out << "Done processing data." << endl << endl;
+
+   out << endl << "Observation Epoch message summary:" << endl;
+
+   if (firstObs)
+      out << "No Observation Epoch messages processed." << endl;
+   else
+   {
+
+      double dt = lastEpochTime - firstEpochTime;
+      out << "  Processed " << numObsEpochMsg
+          << " observation epoch messages spanning "
+          << numEpochs << " epochs."
+          << endl
+          << "  Obs data spans " << firstEpochTime.printf(timeFormat) 
+          << " to " << lastEpochTime.printf(timeFormat)
+          << " (" << secondsAsHMS(dt) << ")"
+          << endl
+          << "  Obs output rate is " << obsRateEst
+          << " sec."
+          << endl << endl;
+
+      if (epochGapList.size())
+         for (DayTimePairList::const_iterator i=epochGapList.begin(); i!=epochGapList.end(); i++)
+            out << "  Data gap from " << i->first.printf(timeFormat)
+                << " to " << i->second .printf(timeFormat)
+                << " ( " << secondsAsHMS(i->first - i->second) << " )."
+                << endl;
+
+      for (elevBinList::const_iterator i=elevBins.begin(); i!=elevBins.end(); i++)
+      {
+         const ocm &oc = whack[*i];
+         if (oc.size())
+            out << "  Elevation: " << i->first << "..." << i->second << endl;
+         for (ocm::const_iterator j=oc.begin(); j!=oc.end(); j++)
+         {
+            const rc_set ccs = j->first;
+            if (ccs.size())
+            {
+               out << setw(10) << j->second << "   ";
+               for (rc_set::const_iterator k=ccs.begin(); k!=ccs.end(); k++)
+                  out << "(" << asString(k->second)
+                      << ", " << asString(k->first) << ")";
+               out << endl;
+            }
+         }
+         if (verboseLevel<2)
+            break;
+         out << endl;
+      }
+   }
+
+   out << endl << "PVT Solution message summary:" << endl;
+   if (firstPvt)
+      out << "  No PVT Solution messages processed." << endl;
+   else
+   {
+      out << "  PVT output rate is " << pvtRateEst << " sec." << endl;
+   }
+
+
+   out << endl << "Navigation Subframe message summary:" << endl;
+   if (firstNav)
+      out << "  No Navigation Subframe messages processed." << endl;
+   else
+   {
+      out << "  TBD." << endl;
+   }
+      
+   out << endl;
+   if (badMessages.size())
+   {
+      out << "Received " << badMessages.size() << " messages with an error." << endl;
+      if (verboseLevel)
+         for (MDPList::const_iterator i=badMessages.begin(); i!=badMessages.end(); i++)
+            i->dump(out);
+   }
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPSummaryProcessor::process(const gpstk::MDPObsEpoch& msg)
+{
+   if (!msg)
+   {
+      badMessages.push_back(msg);
+      return;
+   }
+
+   // First, do gross accounting on the rate the obs are coming in
+   if (firstObs)
+   {
+      firstEpochTime = msg.time;
+      firstObs = false;
+      if (verboseLevel)
+         out << msg.time.printf(timeFormat)
+             << "  Received first Observation Epoch message"
+             << endl;
+   }
+   else
+   {
+      double dt = msg.time - prevEpochTime;
+      if (std::abs(dt - obsRateEst) > 1e-3 && dt>0)
+      {
+         gpstk::DayTime first =  prevEpochTime + dt;
+         gpstk::DayTime second = msg.time - dt;
+         epochGapList.push_back(DayTimePair(first, second));
+         if (verboseLevel)
+         {
+            out << msg.time.printf(timeFormat)
+                << "  Obs output rate " << dt << " sec";
+            if (obsRateEst != 0)
+               out << "was " << obsRateEst << " sec).";
+            out << endl;
+         }
+         obsRateEst = dt;
+      }
+   }
+   lastEpochTime=msg.time;
+   // Keep track of the number of epochs we have processed
+   if (prevEpochTime != msg.time)
+      numEpochs++;
+
+   // Next, make a set of the obs that this epoch has and add 
+   // this to a list in the appropriate elevation bin
+   rc_set ccs;
+   for (gpstk::MDPObsEpoch::ObsMap::const_iterator i = msg.obs.begin();
+        i != msg.obs.end(); i++)
+   {
+      const gpstk::MDPObsEpoch::Observation& obs=i->second;
+      rcpair rcPair(obs.range, obs.carrier);
+      ccs.insert(rcPair);
+   }
+
+   // figure out what bins we should update code/carrier counts on
+   for (elevBinList::const_iterator i=elevBins.begin(); i!=elevBins.end(); i++)
+      if (msg.elevation >= i->first && msg.elevation <= i->second)
+         whack[*i][ccs]++;
+
+   // This part does some accounting on a per channel basis. The intent is to
+   // look for when there is a gap in the data on a channel.
+   int prn=msg.prn;
+   int chan=msg.channel;
+
+   // First check to see if this channel has been used yet...
+   if (prevObs[chan].prn == 0)
+   {
+      // do nothing
+   }
+   else
+   {
+      // flag when there is a gap on this channel
+      double dt = msg.time - prevObs[chan].time;
+      if (std::abs(dt) < 1e-3)
+      {
+         out << msg.time.printf(timeFormat)
+             << "  Got two consecutive obs on channel "
+             << chan << " with the same time." << endl;
+         if (verboseLevel)
+            msg.dump(out), prevObs[chan].dump(out);
+      }
+      else if (obsRateEst == 0)
+      {
+         // do nothing
+      }
+      else if ( (std::abs(dt - obsRateEst) > 1e-3) &&
+                (prevObs[chan].prn == msg.prn) )
+      {
+         gpstk::DayTime first =  prevObs[chan].time + dt;
+         gpstk::DayTime second = msg.time - dt;
+         chanGapList[chan].push_back(DayTimePair(first, second));
+         if (verboseLevel)
+            out << msg.time.printf(timeFormat)
+                << "  Data gap on channel " << chan
+                << ", " << secondsAsHMS(dt)
+                << endl;
+         if (verboseLevel>2)
+         {
+            out << "  prev obs on chan " << chan << endl;
+            prevObs[chan].dump(out);
+            out << "  curr obs:" << endl;
+            msg.dump(out);
+         }
+      }
+
+      // Look for discontinuities in the lock count
+      // Since this can be quite verbose, only do it in verbose mode
+      if (verboseLevel)
+      {
+         for (gpstk::MDPObsEpoch::ObsMap::const_iterator i = msg.obs.begin();
+              i != msg.obs.end(); i++)
+         {
+            const gpstk::MDPObsEpoch::Observation& curr=i->second;
+            if (prevObs[chan].haveObservation(i->first.first, i->first.second))
+            {
+               gpstk::MDPObsEpoch::Observation prev = prevObs[chan].getObservation(i->first.first, i->first.second);
+               if (curr.lockCount - prev.lockCount != 1)
+               {
+                  // The current ash2mdp has periods where it outputs every
+                  // message with a lock count of zero 
+                  if ((prev.lockCount > 0 && verboseLevel) || verboseLevel>1)
+                     out << msg.time.printf(timeFormat)
+                         << "  Lock count reset prn " << prn
+                         << ", chan " << chan
+                         << ", " << asString(i->first.first)
+                         << " "  << asString(i->first.second)
+                         << " (" << prev.lockCount
+                         << " -> " << curr.lockCount
+                         << ")" << endl;
+               }
+            }
+         }
+      }
+   }
+
+   prevObs[chan] = msg;
+   prevEpochTime = msg.time;
+   numObsEpochMsg++;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPSummaryProcessor::process(const gpstk::MDPPVTSolution& msg)
+{
+   if (!msg)
+   {
+      badMessages.push_back(msg);
+      return;
+   }
+
+   if (firstPvt)
+   {
+      firstPvt = false;
+      if (verboseLevel)
+         out << msg.time.printf(timeFormat)
+             << "  Received first PVT Solution message"
+             << endl;
+   }
+   else
+   {
+      double dt = msg.time - prevPvt.time;
+      if (std::abs(dt - pvtRateEst) > 1e-3 && dt>0)
+      {
+         if (verboseLevel)
+         {
+            out << msg.time.printf(timeFormat)
+                << "  PVT output rate " << dt << " sec";
+            if (pvtRateEst != 0)
+               out << "(was " << pvtRateEst << " sec).";
+            out << endl;
+         }
+         pvtRateEst = dt;
+      }
+      
+      // Look for discontinuities in the recevier clock estimate
+      double ddt = msg.dtime - prevPvt.dtime;
+      double dtdt = ddt/(msg.time - prevPvt.time);
+      double dtdtErr = std::abs(dtdt - msg.ddtime);
+      if (dtdt > 1e-6)
+         out << msg.time.printf(timeFormat)
+             << "  Clock jump: " << setprecision(3) << scientific << ddt
+             << " sec, (" << dtdt << " vs " << msg.ddtime
+             << " sec/sec)"
+             << fixed << endl;
+      else if (dtdtErr > 1e-8 && verboseLevel)
+         out << msg.time.printf(timeFormat)
+             << "  Clock error: " << setprecision(3) << scientific << ddt
+             << " sec, (" << dtdt << " vs " << msg.ddtime
+             << " sec/sec)"
+             << fixed << endl;
+   }
+
+   prevPvt = msg;
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPSummaryProcessor::process(const gpstk::MDPNavSubframe& msg)
+{
+   if (!msg)
+   {
+      badMessages.push_back(msg);
+      return;
+   }
+
+   if (firstNav)
+   {
+      firstNav = false;
+      if (verboseLevel)
+         out << msg.time.printf(timeFormat)
+             << "  Received first Navigation Subframe message"
+             << endl;
+   }
+}
+
+
+//-----------------------------------------------------------------------------
+void MDPSummaryProcessor::process(const gpstk::MDPSelftestStatus& msg)
+{
+   if (!msg)
+   {
+      badMessages.push_back(msg);
+      return;
+   }
+
+   if (firstSelftest)
+   {
+      firstSelftest = false;
+      if (verboseLevel)
+         out << msg.time.printf(timeFormat)
+             << "  Received first Selftest Status message"
+             << endl;
+   }
+}
+
+std::string MDPSummaryProcessor::secondsAsHMS(double seconds) const
+{
+   std::ostringstream oss;
+   oss << setfill('0');
+   
+   if (seconds<0)
+      oss << "-";
+
+   seconds = std::abs(seconds);
+   long d=0,h=0,m=0,s=0;
+   s = static_cast<long>(std::floor(seconds));
+   seconds -= static_cast<double>(s);
+
+   if (s > 86400) { d = s/86400; s %= 86400; }
+   if (s > 3600)  { h = s/3600;  s %= 3600;  }
+   if (s > 60)    { m = s/60;    s %= 60;    }
+
+   if (d) oss << d << " d ";
+   if (h) oss << setw(2) << h << ":";
+   if (m) oss << setw(2) << m << ":";
+   if (h || m)
+      oss << setw(2);
+   oss << s;
+
+   if (seconds >1e-3)
+      oss << "." << setw(3) << seconds*1e3;
+
+   if (h==0 && m==0)
+      oss << " s";
+   return oss.str();
+}
diff --git a/trunk/apps/MDPtools/SummaryProc.hpp b/trunk/apps/MDPtools/SummaryProc.hpp
new file mode 100644
index 0000000..df6427a
--- /dev/null
+++ b/trunk/apps/MDPtools/SummaryProc.hpp
@@ -0,0 +1,62 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/SummaryProc.hpp#4 $"
+
+#ifndef MDPSUMMARY_HPP
+#define MDPSUMMARY_HPP
+
+#include "MDPProcessors.hpp"
+
+//-----------------------------------------------------------------------------
+class MDPSummaryProcessor : public MDPProcessor
+{
+public:
+   MDPSummaryProcessor(gpstk::MDPStream& in, std::ofstream& out);
+   ~MDPSummaryProcessor();
+
+   virtual void process(const gpstk::MDPObsEpoch& msg);
+   virtual void process(const gpstk::MDPPVTSolution& msg);
+   virtual void process(const gpstk::MDPNavSubframe& msg);
+   virtual void process(const gpstk::MDPSelftestStatus& msg);
+   
+   unsigned long numEpochs;
+   unsigned long numObsEpochMsg;
+
+   std::string secondsAsHMS(double s) const;
+
+   typedef std::pair<int, int> elevationPair;  // first is min, second is max
+   typedef std::list<elevationPair> elevBinList;
+   elevBinList elevBins;
+
+   // Used to determine how many of each type of obs we get
+   typedef std::pair<gpstk::RangeCode, gpstk::CarrierCode> rcpair;
+   typedef std::set<rcpair> rc_set;
+   typedef std::map<rc_set, unsigned long> ocm;
+   typedef std::map<elevationPair, ocm> ebocm;
+   ebocm whack;
+
+   // the time of the first epoch processed and the last epoch processed
+   gpstk::DayTime firstEpochTime, lastEpochTime;
+
+   bool firstObs, firstPvt, firstNav, firstSelftest;
+   double obsRateEst, pvtRateEst;
+   gpstk::DayTime prevEpochTime;
+
+   static const int maxChannel=12;
+
+   // First time is of the first missed epoch, second time is the last missed epoch
+   // (i.e. first = previous + obsRateEst, second=current-ObsRateEst
+   typedef std::pair<gpstk::DayTime, gpstk::DayTime> DayTimePair;
+   typedef std::list<DayTimePair> DayTimePairList;
+   DayTimePairList epochGapList;
+   std::vector<DayTimePairList> chanGapList;
+
+   // This is used to record the previous obs on each channel
+   typedef std::vector<gpstk::MDPObsEpoch> ObsEpochVector;
+   ObsEpochVector prevObs;
+
+   gpstk::MDPPVTSolution prevPvt;
+
+   // A list of all messages that had an error decoding them...
+   typedef std::list<gpstk::MDPHeader> MDPList;
+   MDPList badMessages;
+};
+#endif
diff --git a/trunk/apps/MDPtools/TCPStream.cpp b/trunk/apps/MDPtools/TCPStream.cpp
new file mode 100644
index 0000000..7c143a9
--- /dev/null
+++ b/trunk/apps/MDPtools/TCPStream.cpp
@@ -0,0 +1,317 @@
+#pragma ident * $Id: //depot/sgl/gpstk/dev/apps/MDPtools/TCPStream.cpp#3 $
+
+#include <sstream>
+#include <errno.h>
+#include <stdlib.h>
+
+#include <unistd.h>
+#include <netdb.h>
+#include <fcntl.h>
+#include <sys/file.h>
+#include <netinet/tcp.h>
+
+#include "TCPStream.hpp"
+
+using std::cout;
+using std::endl;
+
+#define BSIZE 4096
+
+#include <arpa/inet.h>
+
+namespace gpstk
+{
+IPaddress::IPaddress(const std::string& host_name)
+{
+   // If the address is in dotted quad notation, this will work.
+   address = inet_addr(host_name.c_str());
+   if ( address != (uint32_t)(-1) )
+      return;
+   
+   struct hostent *host_ptr = ::gethostbyname(host_name.c_str());
+   if( host_ptr == 0 )
+   {
+      std::cout << "Host name '" << host_name << "' cannot be resolved";
+      return;
+   }
+   if( host_ptr->h_addrtype != AF_INET )
+   {
+      std::cout << "Host name '" << host_name
+                << "' isn't an AF_INET address" << endl;
+      return;
+   }
+
+   memcpy(&address, host_ptr->h_addr, sizeof(address));
+}
+
+
+ostream& operator << (ostream& os, const IPaddress addr)
+{
+  struct hostent * const host_ptr = 
+  	::gethostbyaddr((char *)&addr.address,
+                        sizeof(addr.address), AF_INET);
+  if( host_ptr != 0 )
+    return os << host_ptr->h_name;
+
+  // Reverse DNS failed, print in the dot notation
+  char buffer[80];
+  const unsigned int native_addr = ntohl(addr.address);
+  sprintf(buffer,"%0d.%0d.%0d.%0d", (native_addr >> 24) & 0xff,
+          (native_addr >> 16) & 0xff, (native_addr >> 8) & 0xff,
+          native_addr & 0xff);
+  return os << buffer;
+}
+
+//------------------------------------------------------------------------
+SocketAddr::SocketAddr(const IPaddress host, const short port_no)
+{
+   sin_family = AF_INET;
+   sin_port = htons((short)port_no);
+   sin_addr.s_addr = host.net_addr();
+}
+
+ostream& operator << (ostream& os, const SocketAddr& addr)
+{
+   return os << IPaddress(addr.sin_addr.s_addr) << ':'
+             << (unsigned short)ntohs((short)addr.sin_port);
+}
+
+
+//------------------------------------------------------------------------
+TCPbuf* TCPbuf::connect(const SocketAddr target_address)
+{
+   if (is_open())
+      return 0;
+
+   socket_handle = socket(AF_INET,SOCK_STREAM,0);
+   if (!socket_handle)
+      return 0;
+
+   //  set_blocking_io(false);
+  
+   int connect_status = -1;
+   for (int i=0; i<5 && connect_status != 0; i++)
+   {
+      connect_status = ::connect(socket_handle, (sockaddr *)target_address, 
+                                sizeof(target_address));
+      if (false)
+         cout << "connect_status " << connect_status
+              << "(" << strerror(connect_status)
+              << ")" << endl;
+      
+      //    if( errno == EINPROGRESS || errno == EINTR )
+      //      callbacks.yield();
+   }
+   if (connect_status !=0)
+      return (TCPbuf*)0;
+  
+   set_blocking_io(true);
+  
+   // We do our own buffering...
+   char off=0;
+   ::setsockopt(socket_handle, IPPROTO_TCP, TCP_NODELAY, &off, sizeof(off));
+   return this;
+}
+
+
+// Take a file handle (which is supposed to be a listening socket), accept
+// a connection if any, and return a TCPbuf for that connection. On exit, 
+// peeraddr would be an addr of the connected peer.
+TCPbuf* TCPbuf::accept(int listening_socket, SocketAddr& peeraddr)
+{
+   // do nothing if we are already connected
+   if (is_open())
+      return 0;
+  
+   for(;;)
+   {
+      socklen_t target_addr_size = sizeof(peeraddr);
+      socket_handle = ::accept(listening_socket,(sockaddr *)peeraddr,
+                               &target_addr_size);
+      if (socket_handle >= 0)
+         break;			// Successfully accepted the connection
+      if (errno == EAGAIN || errno == EINTR)
+         std::cout << "to be implimented" << std::endl;
+      else
+         return this;
+   }
+  
+   set_blocking_io(true);
+  
+   // We do our own buffering...
+   char off=0;
+   ::setsockopt(socket_handle, IPPROTO_TCP, TCP_NODELAY, &off, sizeof(off));
+   return this;
+}
+
+
+// Close the socket
+TCPbuf* TCPbuf::close(void)
+{
+   if (is_open())
+   {
+      ::close(socket_handle);
+      socket_handle = -1;
+   }
+   return  this;
+}
+
+// All that has really been tested is blocking. Non-blocking I/O will need
+// more code to make it functional.
+void TCPbuf::set_blocking_io(const bool onoff)
+{
+   int rc;
+   rc = ::fcntl(socket_handle,F_GETFL,0);
+   rc = ::fcntl(socket_handle,F_SETFL,onoff ? rc & ~O_NONBLOCK :
+                rc | O_NONBLOCK);
+}
+
+// Write characters to the stream, giving time. Return the number of
+// characters actually written (which is always n, or EOF in case of error).
+int TCPbuf::write(const char * buffer, const int n)
+{
+   if( !is_open() )
+      return EOF;
+   if( n == 0 )
+      return 0;
+  
+   const char * const buffer_end = buffer + n;
+   while( buffer < buffer_end )
+   {
+      const int char_written = ::write(socket_handle, buffer, buffer_end-buffer);
+      if( char_written > 0 )
+         buffer += char_written;
+      else
+         if (char_written < 0 && !(errno == EAGAIN || errno == EINTR ))
+            return EOF;
+         else
+            std::cout << "to be implimented" << endl;
+   }
+   return n;
+}
+
+// Read characters from the stream into a given buffer (of given size n)
+// If there is nothing to read, yield and keep trying. Return the number
+// of characters actually read, or 0 (in the case of EOF) or EOF on error.
+int TCPbuf::read(char * buffer, const int n)
+{
+   if( !is_open() )
+      return EOF;
+   if( n == 0 )
+      return 0;
+   
+   for(;;)
+   {
+      const int char_read = ::read(socket_handle, buffer, n);
+      if( char_read >= 0 )
+         return char_read;
+      if( errno == EAGAIN || errno == EINTR )
+         std::cout << "to be implimented" << std::endl;
+      else
+         return EOF;
+   }
+}
+
+// See libg++-2.7.2/libio/iostream.info-1 for some nice words on how this
+// stuff should work.
+// Flush (write out) the put area, resetting pptr if the write was successful
+// Return 0, or EOF on error
+int TCPbuf::sync(void)
+{
+   const int n = pptr() - pbase();
+   if( n == 0 )
+      return 0;
+   return write(pbase(), n) == n ? (pbump(-n), 0) : EOF;
+}
+
+
+// Write out the buffer into the communication channel After that, put a
+// character c (unless it's EOF) Return 0, or EOF on error. This method
+// allocates a buffer if there wasn't any, and switches it to the "put mode"
+// (discarding all data that may have been in the buffer)
+int TCPbuf::overflow(int ch)
+{
+   if (sync() == EOF)
+      return EOF;
+
+   if (base() == 0)			// If there wasn't any buffer,
+      doallocate();			// ... make one
+   
+   setg(base(),base(),base());		// Make the get area completely empty
+   setp(base(),ebuf());			// Give all the buffer to the put area
+
+   if (pptr() == 0)
+      cout << "Throw an exception here or something bad." << endl;
+
+   if (ch != EOF)
+      *pptr() = ch, pbump(1);
+
+   return 0;
+}
+
+
+// Fill in the get area, and return its first character. Actually read into
+// the main buffer from the beginning (syncing pending output if was any)
+// and set the get area to that part of the buffer. Also set pptr() = eptr()
+// so that the first write would call overflow() (which would discard the
+// read data)
+int TCPbuf::underflow(void)
+{
+   if( gptr() < egptr() )
+      return *(unsigned char*)gptr();
+
+   if( sync() == EOF )	// commit all pending output first
+      return EOF;	// libg++ uses switch_to_get_mode() in here
+
+   if( base() == 0 )	// If there wasn't any buffer, make one first
+      doallocate();
+  
+   //assert( base() );
+   base();
+   const int count = read(base(),ebuf() - base());
+   setg(base(),base(),base() + (count <= 0 ? 0 : count));
+   setp(base(),base());		// no put area - do overflow on the first put
+   return count <= 0 ? EOF : *(unsigned char*)gptr();
+}
+
+// Allocate a new buffer
+int TCPbuf::doallocate(void)
+{
+   const int size = BSIZE;
+   // have to do malloc() as ~streambuf() does free() on the buffer
+   char *p = (char *)malloc(size);
+
+   if (p == NULL)
+      cout << "throw an exception here?" << endl;
+
+   setb(p, p+size, true);
+   return 1;
+}
+
+// Associate a user buffer with the TCPbuf
+TCPbuf* TCPbuf::setbuf(char* p, const int len)
+{
+  if( streambuf::setbuf(p,len) == 0 )
+    return 0;
+
+  setp(base(),base());
+  setg(base(),base(),base());
+  return this;
+}
+
+void TCPbuf::dump(ostream& out) const
+{
+   std::ostringstream ost;
+   ost << "TCPbuf: " 
+       << " H:" << socket_handle << endl
+       << " put: " << std::hex << pbase() << " - " << epptr()
+       << " curr:" << pptr() - pbase() << endl
+       << " get:"  << eback() << " - " << egptr()
+       << " curr:" << gptr() - eback() << endl
+       << " buff:" << base() << " - " << ebuf()
+       << endl;
+   //printf("\nSend buffer size %d\n",get_sock_opt(SO_SNDBUF,int()));
+   out << ost.str();
+}
+
+} // end of namespace
diff --git a/trunk/apps/MDPtools/TCPStream.hpp b/trunk/apps/MDPtools/TCPStream.hpp
new file mode 100644
index 0000000..9f464b7
--- /dev/null
+++ b/trunk/apps/MDPtools/TCPStream.hpp
@@ -0,0 +1,154 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/TCPStream.hpp#4 $"
+
+#ifndef TCPSTREAM_HPP
+#define TCPSTREAM_HPP
+
+#include <stdio.h>
+#if !defined(unix)
+#include <winsock.h>
+#else
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#endif
+
+#include <iostream>
+using std::ostream;
+using std::iostream;
+using std::streambuf;
+using std::streamoff;
+using std::streampos;
+using std::ios;
+
+namespace gpstk
+{
+   class SocketAddr;
+
+   class IPaddress
+   {
+      friend class SocketAddr;
+      
+      unsigned long address;                // Address: 4 bytes in the network byte order
+      IPaddress(const unsigned int netaddr) : address(netaddr) {}
+
+   public:
+      IPaddress() : address(INADDR_ANY) {}   // Wildcard address
+      IPaddress(const std::string& name);         // Involves the name resolution
+      unsigned long net_addr() const { return address; }
+  
+      friend ostream& operator << (ostream& os, const IPaddress addr);
+      friend ostream& operator << (ostream& os, const SocketAddr& addr);
+   };
+
+   class SocketAddr : sockaddr_in
+   {
+      friend class StreamSocket;
+      friend class UDPsocketIn;
+      SocketAddr() {}
+      
+   public:
+      SocketAddr(const IPaddress host, const short port_no);
+      operator sockaddr * () const      { return (sockaddr *)this; }
+      friend ostream& operator << (ostream& os, const SocketAddr& addr);
+   };
+
+   struct Buffer
+   {
+      char * start;
+      char * end;
+      bool do_dispose;
+      void dispose()
+      { 
+         if(!do_dispose) return;
+         free(start); start = end = 0; do_dispose = false;
+      }
+      Buffer(void) : start(0), end(0), do_dispose(false) {}
+      ~Buffer(void) { dispose(); }
+   };
+
+
+   // TCPStream buffer: Its streambuf parent is supposed to handle all buffering
+   // chores. We only have to allocate the buffer and provide for its filling
+   // and flushing.
+   class TCPbuf : public streambuf
+   {
+   public:
+      TCPbuf() : socket_handle(-1), bufferSize(4096)
+      {}
+
+      ~TCPbuf()
+      {close();};
+
+      // These are the functions that actually read/write from the socket to/from
+      // a given buffer. They return the number of bytes transmitted (or
+      // EOF on error)
+      int write(const char * buffer, const int n);
+      int read(char * buffer, const int n);
+
+      bool is_open() const { return socket_handle >= 0; }
+      TCPbuf* close();
+      virtual TCPbuf* setbuf(char* p, const int len);
+  
+      // TCP stream is strictly sequential
+      streampos seekoff(streamoff, ios::seekdir, int)
+      { return EOF; }
+
+      // Actual connection operation
+      TCPbuf* connect(const SocketAddr target_address);
+  
+      void dump(ostream& out) const;
+
+      // Some TCP specific stuff
+      void set_blocking_io(const bool onoff);
+
+      // Enable/disable SIGIO upon arriving of a new packet
+      void enable_sigio(const bool onoff);
+  
+      // Take a file handle (which is supposed to be a listening socket), 
+      // accept a connection if any,  and return the corresponding TCPbuf
+      // for that connection. On exit, peeraddr would be an addr of the
+      // connected peer
+      TCPbuf* accept(int listening_socket, SocketAddr& peeraddr);
+
+      Buffer buffer;
+      int socket_handle;
+      unsigned bufferSize;
+  
+   protected:
+      // Standard streambuf functions we have to
+      // provide an implementation for
+      virtual int overflow(int c = EOF);	// Write out a "put area"
+      virtual int underflow(void);		// Fill in a "get area"
+      virtual int sync(void);		// Commit all uncommitted writes
+      virtual int doallocate(void);	// Allocate a new buffer
+
+      // we use the same buffer for get and put areas
+      char * base(void) const { return buffer.start; }
+      char * ebuf(void) const { return buffer.end; }
+      void setb(char * buffer_beg, char * buffer_end, bool do_dispose)
+      { buffer.start = buffer_beg; buffer.end = buffer_end;
+      buffer.do_dispose = do_dispose;}
+   };
+
+
+   class TCPStream : public iostream
+   {
+      mutable TCPbuf tcp_buffer;	// mutable so rdbuf() can be const
+   public:
+      TCPStream(void) : iostream(0)
+      { init(&tcp_buffer); }
+
+      void connect(const SocketAddr target_address)
+      { clear(); if (!rdbuf()->connect(target_address)) setstate(ios::badbit); }
+
+      TCPbuf* rdbuf(void) const
+      { return &tcp_buffer; }
+
+      bool is_open() const
+      { return rdbuf()->is_open(); }
+
+      void close(void)
+      { if (!rdbuf()->close()) setstate(ios::failbit); }
+   };
+} // end of namespace
+#endif
diff --git a/trunk/apps/MDPtools/TrackProc.cpp b/trunk/apps/MDPtools/TrackProc.cpp
new file mode 100644
index 0000000..18044b5
--- /dev/null
+++ b/trunk/apps/MDPtools/TrackProc.cpp
@@ -0,0 +1,141 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/TrackProc.cpp#5 $"
+
+/*
+  This intended to perform a quick summary/analysis of the data in a MDP file
+  or stream. The idea is teqc +meta or +mds with a little bit of +qc thrown
+  in for good measure
+*/
+
+#include "Geodetic.hpp"
+#include "TrackProc.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+
+//-----------------------------------------------------------------------------
+MDPTrackProcessor::MDPTrackProcessor(gpstk::MDPStream& in, std::ofstream& out)
+   : MDPProcessor(in, out),
+   currCv(13), prevCv(13)
+{
+   timeFormat = "%02H:%02M:%04.1f";
+   for (int i=1; i<currCv.size(); i++)
+      currCv[i].prn=-1;
+   for (int i=1; i<prevCv.size(); i++)
+      prevCv[i].prn=-1;
+
+   obsOut = true;
+}
+
+
+MDPTrackProcessor::~MDPTrackProcessor()
+{}
+
+void MDPTrackProcessor::process(const gpstk::MDPObsEpoch& oe)
+{
+   if (oe.time != currTime)
+   {
+      printChanges();
+      prevTime = currTime;
+      currTime = oe.time;
+      prevCv = currCv;
+      for (int i=1; i<currCv.size(); i++)
+         currCv[i].prn=-1;
+   }
+
+   int prn=oe.prn;
+   int chan=oe.channel;
+
+   if (chan<1 || chan >12)
+      cout << "Bad channel" << endl, exit(-1);
+
+   // make a set of the obs that this epoch has
+   rc_set ccs;
+   currCv[chan].codes = "    ";
+   for (gpstk::MDPObsEpoch::ObsMap::const_iterator i = oe.obs.begin();
+        i != oe.obs.end(); i++)
+   {
+      const gpstk::MDPObsEpoch::Observation& obs=i->second;
+      rcpair rcPair(obs.range, obs.carrier);
+      ccs.insert(rcPair);
+      if (obs.carrier == ccL1)
+      {
+         if      (obs.range == rcCA)       currCv[chan].codes[0] = 'c';
+         if      (obs.range == rcPcode)    currCv[chan].codes[1] = 'p';
+         else if (obs.range == rcYcode)    currCv[chan].codes[1] = 'y';
+         else if (obs.range == rcCodeless) currCv[chan].codes[1] = 'z';
+      }
+      else if (obs.carrier == ccL2)
+      {
+         if      (obs.range == rcCM)       currCv[chan].codes[2] = 'm';
+         else if (obs.range == rcCL)       currCv[chan].codes[2] = 'l';
+         else if (obs.range == rcCMCL)     currCv[chan].codes[2] = 'x';
+         else if (obs.range == rcCA)       currCv[chan].codes[2] = 'c';
+         if      (obs.range == rcPcode)    currCv[chan].codes[3] = 'p';
+         else if (obs.range == rcYcode)    currCv[chan].codes[3] = 'y';
+         else if (obs.range == rcCodeless) currCv[chan].codes[3] = 'z';
+      }
+   }
+   currCv[chan].obs = ccs;
+   currCv[chan].prn = oe.prn;
+   currCv[chan].elevation = oe.elevation;
+}
+
+void MDPTrackProcessor::printChanges()
+{
+   if (verboseLevel)
+   {
+      // This is the one line per channel format.
+      for (int i = 1; i < currCv.size(); i++)
+      {
+         // This means that there has been a change in track
+         bool change = currCv[i].obs != prevCv[i].obs ||
+            currCv[i].prn != prevCv[i].prn ||
+            (prevCv[i].prn == -1 && currCv[i].prn == -1);
+         if (change)
+         {
+            if (prevCv[i].prn == -1 && currCv[i].prn == -1)
+               continue;
+            out << currTime.printf(timeFormat) << "  Ch:" << setw(2) <<  i;
+            if (currCv[i].prn >0)
+            {
+               out << "  Prn: " << setw(2) << currCv[i].prn
+                   << "  Elev: " << fixed <<  setprecision(1) << setw(4) 
+                   << currCv[i].elevation << " ";
+               const rc_set &ccs = currCv[i].obs;
+               for (rc_set::const_iterator j=ccs.begin(); j!=ccs.end(); j++)
+                  out << " (" << asString(j->second)
+                      << ", " << asString(j->first) << ")";
+            }
+            else
+            {
+               out << "  unused";
+            }
+            out << endl;
+         }
+      }
+   }
+   else
+   {
+      // This is the one line per epoch with changes
+      bool change=false;
+      for (int i = 1; i < currCv.size() && change==false; i++)
+         change = (currCv[i].obs != prevCv[i].obs ||
+                   currCv[i].prn != prevCv[i].prn) &&
+            (prevCv[i].prn != -1 || currCv[i].prn != -1);
+
+      if (change)
+      {
+         out << currTime.printf(timeFormat);
+         for (int i = 1; i < currCv.size(); i++)
+         {
+            if (currCv[i].prn >0)
+               out << setw(4) << currCv[i].prn << currCv[i].codes;
+            else
+               out << setw(4) << "  -" << "    ";
+         }
+         out << endl;
+      }
+   }
+}
diff --git a/trunk/apps/MDPtools/TrackProc.hpp b/trunk/apps/MDPtools/TrackProc.hpp
new file mode 100644
index 0000000..d526404
--- /dev/null
+++ b/trunk/apps/MDPtools/TrackProc.hpp
@@ -0,0 +1,36 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/TrackProc.hpp#2 $"
+
+#ifndef MDPTRACK_HPP
+#define MDPTRACK_HPP
+
+#include "MDPProcessors.hpp"
+
+//-----------------------------------------------------------------------------
+class MDPTrackProcessor : public MDPProcessor
+{
+public:
+   MDPTrackProcessor(gpstk::MDPStream& in, std::ofstream& out);
+   ~MDPTrackProcessor();
+
+   virtual void process(const gpstk::MDPObsEpoch& oe);
+   
+   // Used to determine how many of each type of obs we get
+   typedef std::pair<gpstk::RangeCode, gpstk::CarrierCode> rcpair;
+   typedef std::set<rcpair> rc_set;
+
+   struct ChanRec
+   {
+      int prn;
+      float elevation;
+      rc_set obs;
+      std::string codes;
+   };
+
+   // This is a list of what is being received for each channel
+   typedef std::vector<ChanRec> ChanVector;
+   ChanVector currCv, prevCv;
+   gpstk::DayTime currTime, prevTime;
+
+   void printChanges();
+};
+#endif
diff --git a/trunk/apps/MDPtools/mdp2rinex.cpp b/trunk/apps/MDPtools/mdp2rinex.cpp
new file mode 100644
index 0000000..4a53423
--- /dev/null
+++ b/trunk/apps/MDPtools/mdp2rinex.cpp
@@ -0,0 +1,301 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/mdp2rinex.cpp#8 $"
+
+/** @file Converts an MDP stream into RINEX obs/nav files */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "StringUtils.hpp"
+#include "LoopedFramework.hpp"
+
+#include "RinexObsStream.hpp"
+#include "RinexObsData.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+
+#include "MDPStream.hpp"
+#include "MDPNavSubframe.hpp"
+#include "MDPObsEpoch.hpp"
+
+#include "FormatConversionFunctions.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+
+class MDP2Rinex : public gpstk::LoopedFramework
+{
+public:
+   MDP2Rinex(const std::string& applName)
+      throw()
+      : LoopedFramework(applName, "Converts an MDP stream to RINEX."),
+        navFileOpt('n', "nav",   "Filename to write RINEX nav data to."),
+        obsFileOpt('o', "obs",   "Filename to write RINEX obs data to. The filename of '-' means to use stdout.", true),
+        mdpFileOpt('i', "mdp-input", "Filename to read MDP data from. The filename of '-' means to use stdin.", true),
+        c2Opt('c', "l2c", "Enable output of L2C data in C2"),
+        thinningOpt('t', "thinning", "A thinning factor for the data, specified in seconds between points. Default: none.")
+   {
+      navFileOpt.setMaxCount(1);
+      obsFileOpt.setMaxCount(1);
+      mdpFileOpt.setMaxCount(1);
+   }
+
+   bool initialize(int argc, char *argv[]) throw()
+   {
+      if (!LoopedFramework::initialize(argc,argv)) return false;
+
+      if (mdpFileOpt.getCount())
+         if (mdpFileOpt.getValue()[0] != "-")
+            mdpInput.open(mdpFileOpt.getValue()[0].c_str());
+         else
+         {
+            
+            if (debugLevel)
+               cout << "Taking input from stdin." << endl;
+            mdpInput.copyfmt(std::cin);
+            mdpInput.clear(std::cin.rdstate());
+            mdpInput.std::basic_ios<char>::rdbuf(std::cin.rdbuf());
+         }
+      
+
+      if (obsFileOpt.getCount())
+         if (obsFileOpt.getValue()[0] != "-")
+            rinexObsOutput.open(obsFileOpt.getValue()[0].c_str(), std::ios::out);
+         else
+         {
+            if (debugLevel)
+               cout << "Sending output to stdout." << endl;
+            rinexObsOutput.copyfmt(std::cout);
+            rinexObsOutput.clear(std::cout.rdstate());
+            rinexObsOutput.std::basic_ios<char>::rdbuf(std::cout.rdbuf());
+         }
+
+      if (navFileOpt.getCount())
+         rinexNavOutput.open(navFileOpt.getValue()[0].c_str(), std::ios::out);
+      else
+         rinexNavOutput.clear(std::ios::badbit);
+
+      if (thinningOpt.getCount())
+      {
+         thin = true;
+         thinning = gpstk::StringUtils::asInt(thinningOpt.getValue()[0]);
+         if (debugLevel)
+            cout << "Thinning data modulo " << thinning << " seconds." << endl;
+      }
+      else
+         thin = false;
+
+      firstObs = true;
+      return true;
+   }
+   
+protected:
+   virtual void spinUp()
+   {
+      if (!mdpInput)
+      {
+         cout << "Error: could not open input." << endl;
+         exit(-1);
+      }
+
+      mdpInput.exceptions(fstream::failbit);
+      rinexObsOutput.exceptions(fstream::failbit);
+
+      if (rinexNavOutput)
+         rinexNavOutput.exceptions(fstream::failbit);
+      
+      roh.valid |= gpstk::RinexObsHeader::allValid21;
+      roh.fileType = "Observation";
+      roh.fileProgram = "mdp2rinex";
+      roh.markerName = "Unknown";
+      roh.observer = "Unknown";
+      roh.agency = "Unknown";
+      roh.antennaOffset = gpstk::Triple(0,0,0);
+      roh.antennaPosition = gpstk::Triple(0,0,0);
+      roh.wavelengthFactor[0] = 1;
+      roh.wavelengthFactor[1] = 1;
+      roh.recType = "Unknown MDP";
+      roh.recVers = "Unknown";
+      roh.recNo = "1";
+      roh.antType = "Unknown";
+      roh.antNo = "1";
+      roh.obsTypeList.push_back(gpstk::RinexObsHeader::C1);
+      roh.obsTypeList.push_back(gpstk::RinexObsHeader::P1);
+      roh.obsTypeList.push_back(gpstk::RinexObsHeader::L1);
+      roh.obsTypeList.push_back(gpstk::RinexObsHeader::D1);
+      roh.obsTypeList.push_back(gpstk::RinexObsHeader::P2);
+      roh.obsTypeList.push_back(gpstk::RinexObsHeader::L2);
+      roh.obsTypeList.push_back(gpstk::RinexObsHeader::D2);
+      if (c2Opt.getCount())
+         roh.obsTypeList.push_back(gpstk::RinexObsHeader::C2);
+
+      rnh.valid = gpstk::RinexNavHeader::allValid21;
+      rnh.fileType = "Navigation";
+      rnh.fileProgram = "mdp2rinex";
+      rnh.fileAgency = "Unknown";
+      rnh.version = 2.1;
+
+      if (rinexNavOutput)
+         rinexNavOutput << rnh;
+   }
+
+   virtual void process(MDPNavSubframe& nav)
+   {
+      short sfid = nav.getSFID();
+      if (sfid > 3)
+         return;
+
+      short week = nav.time.GPSfullweek();
+      long sow = nav.getHOWTime();
+      if ( sow >604800)
+         return;
+
+      DayTime howTime(week, sow);
+
+      if (nav.range != rcCA || nav.carrier != ccL1)
+         return;
+
+      NavIndex ni(RangeCarrierPair(nav.range, nav.carrier), nav.prn);
+      ephData[ni] = nav;
+
+      long sfa[10];
+      nav.fillArray(sfa);
+      long long_sfa[10];
+
+      for( int j = 0; j < 10; j++ )
+         long_sfa[j] = static_cast<long>( sfa[j] );
+
+      if (gpstk::EngNav::subframeParity(long_sfa))
+      {
+         ephPageStore[ni][sfid] = nav;
+         EngEphemeris engEph;
+         if (makeEngEphemeris(engEph, ephPageStore[ni]))
+         {
+            RinexNavData rnd(engEph);
+            rinexNavOutput << rnd;
+            ephPageStore[ni].clear();
+         }
+      }
+   } // end of process(MDPNavSubframe)
+
+
+   virtual void process(MDPObsEpoch& obs)
+   {
+      const DayTime& t=epoch.begin()->second.time;
+
+      if (!firstObs && t<prevTime)
+      {
+         if (debugLevel)
+            cout << "Out of order data at " << t << endl;
+         return;
+      }
+
+      if (epoch.size() > 0 && t != obs.time)
+      {
+         if (!thin || (static_cast<int>(t.DOYsecond()) % thinning) == 0)
+         {
+            if (firstObs)
+            {
+               roh.firstObs = t;
+               rinexObsOutput << roh;
+               firstObs=false;
+            }
+
+            RinexObsData rod;
+            makeRinexObsData(roh, rod, epoch);
+            rinexObsOutput << rod;
+         }
+         epoch.clear();
+         prevTime = t;
+      }
+      epoch[obs.prn] = obs;
+   } // end of process(MDPObsEpoch)
+
+
+   virtual void process()
+   {
+      MDPHeader header;
+      MDPNavSubframe nav;
+      MDPObsEpoch obs;
+
+      mdpInput >> header;
+      switch (header.id)
+      {
+         case MDPNavSubframe::myId :
+            mdpInput >> nav;
+            process(nav);
+            break;
+            
+         case MDPObsEpoch::myId :
+            mdpInput >> obs;
+            process(obs);
+            break;
+      }
+      timeToDie = !mdpInput;
+   }
+
+   virtual void shutDown()
+   {}
+
+private:
+   gpstk::RinexObsHeader roh;
+   gpstk::RinexNavHeader rnh;
+   MDPStream mdpInput;
+   RinexObsStream rinexObsOutput;
+   RinexNavStream rinexNavOutput;
+   MDPEpoch epoch;
+
+   typedef std::pair<gpstk::RangeCode, gpstk::CarrierCode> RangeCarrierPair;
+   typedef std::pair<RangeCarrierPair, short> NavIndex;
+   typedef std::map<NavIndex, gpstk::MDPNavSubframe> NavMap;
+   NavMap ephData;
+   std::map<NavIndex, gpstk::EphemerisPages> ephPageStore;
+   std::map<NavIndex, gpstk::EngEphemeris> ephStore;
+
+   bool thin;
+   int thinning;
+   bool firstObs;
+   gpstk::DayTime prevTime;
+   gpstk::CommandOptionWithAnyArg mdpFileOpt, navFileOpt, obsFileOpt;
+   gpstk::CommandOptionWithAnyArg thinningOpt;
+   gpstk::CommandOptionWithAnyArg c2Opt;
+};
+
+
+int main(int argc, char *argv[])
+{
+   try
+   {
+      MDP2Rinex crap(argv[0]);
+
+      if (!crap.initialize(argc, argv))
+         exit(0);
+
+      crap.run();
+   }
+   catch (gpstk::Exception &exc)
+   { cout << exc << endl; }
+   catch (std::exception &exc)
+   { cout << "Caught std::exception " << exc.what() << endl; }
+   catch (...)
+   { cout << "Caught unknown exception" << endl; }
+}
diff --git a/trunk/apps/MDPtools/mdptool.cpp b/trunk/apps/MDPtools/mdptool.cpp
new file mode 100644
index 0000000..913e2c7
--- /dev/null
+++ b/trunk/apps/MDPtools/mdptool.cpp
@@ -0,0 +1,296 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/mdptool.cpp#12 $"
+
+/** @file Various utility functions on MDP streams/files */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "StringUtils.hpp"
+#include "LoopedFramework.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+
+#include "TCPStream.hpp"
+
+#include "MDPProcessors.hpp"
+#include "ScreenProc.hpp"
+#include "SummaryProc.hpp"
+#include "TrackProc.hpp"
+#include "NavProc.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class MDPTool : public gpstk::BasicFramework
+{
+public:
+   MDPTool(const std::string& applName)
+      throw()
+      : BasicFramework(applName, "Perform various functions on a stream of MDP "
+                       "data. In the summary mode, the default is to only "
+                       "summarize the obs data above 10 degrees. Increasing "
+                       "the verbosity level will also summarize the data below "
+                       "10 degrees."),
+        mdpInputOpt('i', "input", "Where to get the MDP data from. The default "
+                    "is to use stdin. If the file name begins with \"tcp:\" "
+                    "the remainder is assumed to be a hostname[:port] and the "
+                    "source is taken from a tcp socket at this address. If the "
+                    "port number is not specified a default of 8910 is used."),
+        outputOpt('\0', "output", "Where to send the output. The default is stdout."),
+        styleOpt('s', "output-style", "What type of output to produce from the "
+                 "MDP stream. Valid styles are: brief, verbose, table, track, "
+                 "null, mdp, nav, and summary. The default is summary. Some "
+                 "modes aren't quite complete. Sorry."),
+        pvtOpt('p', "pvt",  "Enable pvt output"),
+        navOpt('n', "nav",  "Enable nav output"),
+        tstOpt('t', "test", "Enable selftest output"),
+        obsOpt('o', "obs",  "Enable obs output"),
+        hexOpt('x', "hex",  "Dump all messages in hex"),
+        badOpt('b', "bad",  "Try to process bad messages also."),
+        almOpt('a', "almanac",   "Build and process almanacs. Only applies to "
+               "the nav style"),
+        ephOpt('e', "ephemeris", "Build and process engineering ephemerides. "
+               "Only applies to the nav style"),
+        startTimeOpt('\0', "startTime", "%4Y/%03j/%02H:%02M:%05.2f", "Ignore "
+                     "data before this time. (%4Y/%03j/%02H:%02M:%05.2f)"),
+        stopTimeOpt('\0',  "stopTime", "%4Y/%03j/%02H:%02M:%05.2f", "Ignore "
+                    "any data after this time"),
+        timeSpanOpt('l',   "timeSpan", "How much data to process, in seconds")
+   {
+      pvtOpt.setMaxCount(1);
+      navOpt.setMaxCount(1);
+      obsOpt.setMaxCount(1);
+      tstOpt.setMaxCount(1);
+      styleOpt.setMaxCount(1);
+   }
+
+   bool initialize(int argc, char *argv[]) throw()
+   {
+      if (!BasicFramework::initialize(argc,argv)) return false;
+
+      if (debugLevel)
+         cout << "debugLevel: " << debugLevel << endl
+              << "verboseLevel: " << verboseLevel << endl;
+
+      if (mdpInputOpt.getCount())
+      {
+         string ifn(mdpInputOpt.getValue()[0]);
+         if (ifn.substr(0, 4) == "tcp:")
+         {
+            int port = 8910;
+            ifn.erase(0,4);
+            string::size_type i = ifn.find(":");
+            if (i<ifn.size())
+            {
+               port = StringUtils::asInt(ifn.substr(i+1));
+               ifn.erase(i);
+            }
+            if (debugLevel)
+               cout << "Taking input from TCP socket at " << ifn
+                    << ":" << port << endl;
+
+            SocketAddr client(ifn, port);
+            if (rdbuf.connect(client))
+            {
+               if (debugLevel)
+                  cout << "Conected to " << ifn << endl;
+            }   
+            else
+            {
+               cout << "Could not connect to " << ifn << endl;
+               exit(-1);
+            }
+            mdpInput.std::basic_ios<char>::rdbuf(&rdbuf);
+            mdpInput.filename = ifn;
+         }
+         else
+         {
+            mdpInput.open(mdpInputOpt.getValue()[0].c_str());
+            if (debugLevel)
+               cout << "Taking input from the file " << mdpInput.filename << endl;
+         }
+      }
+      else
+      {
+         if (debugLevel)
+            cout << "Taking input from stdin" << endl;
+         mdpInput.copyfmt(std::cin);
+         mdpInput.clear(std::cin.rdstate());
+         mdpInput.std::basic_ios<char>::rdbuf(std::cin.rdbuf());
+         mdpInput.filename = "<stdin>";
+      }
+
+      if (outputOpt.getCount())
+      {
+         output.open(outputOpt.getValue()[0].c_str(), std::ios::out);
+         if (debugLevel)
+            cout << "Sending output to" 
+                 << outputOpt.getValue()[0]
+                 << endl;
+      }
+      else
+      {
+         if (debugLevel)
+            cout << "Sending output to stdout" << endl;
+         output.copyfmt(std::cout);
+         output.clear(std::cout.rdstate());
+         output.std::basic_ios<char>::rdbuf(std::cout.rdbuf());
+      }
+
+      style = "summary";
+      if (styleOpt.getCount())
+         style = styleOpt.getValue()[0];
+
+      if (style == "brief")
+         processor = new MDPBriefProcessor(mdpInput, output);
+      else if (style == "table")
+         processor = new MDPTableProcessor(mdpInput, output);
+      else if (style == "verbose")
+         processor = new MDPVerboseProcessor(mdpInput, output);
+      else if (style == "summary")
+         processor = new MDPSummaryProcessor(mdpInput, output);
+      else if (style == "null")
+         processor = new MDPNullProcessor(mdpInput, output);
+      else if (style == "screen")
+         processor = new MDPScreenProcessor(mdpInput, output);
+      else if (style == "track")
+         processor = new MDPTrackProcessor(mdpInput, output);
+      else if (style == "nav")
+         processor = new MDPNavProcessor(mdpInput, output);
+      else
+      {
+         cout << "Style " << style << " is not a valid style. (it may just not be implimented yet.)" << endl;
+         return false;
+      }
+      
+      if (debugLevel)
+         cout << "Using style: " << style << endl;
+
+      processor->pvtOut |= pvtOpt;
+      processor->obsOut |= obsOpt;
+      processor->navOut |= navOpt | style=="nav";
+      processor->tstOut |= tstOpt;
+      processor->processBad |= badOpt;
+      
+      // If no outputs are specified, then at lest set the obs output
+      processor->obsOut = !pvtOpt && !obsOpt && !navOpt && !tstOpt;
+
+      // Some nav specific options
+      if (style == "nav")
+      {
+         processor->navOut = true;
+         MDPNavProcessor& np=dynamic_cast<MDPNavProcessor&>(*processor);
+         np.almOut = almOpt;
+         np.ephOut = ephOpt;
+      }
+      
+      if (debugLevel)
+      {
+         string msgList;
+         if (pvtOpt) msgList += "pvt ";
+         if (obsOpt) msgList += "obs ";
+         if (navOpt) msgList += "nav ";
+         if (tstOpt) msgList += "tst ";
+         if (msgList.size()==0)
+            msgList = "no ";
+         cout  << "processing " << msgList << "messages." << endl;
+      }
+
+      processor->debugLevel = debugLevel;
+      processor->verboseLevel = verboseLevel;
+
+      MDPHeader::hexDump = hexOpt;
+      MDPHeader::debugLevel = debugLevel;
+
+      if (startTimeOpt.getCount())
+         processor->startTime = startTimeOpt.getTime()[0];
+      if (stopTimeOpt.getCount())
+         processor->stopTime = stopTimeOpt.getTime()[0];
+      if (timeSpanOpt.getCount())
+         processor->timeSpan = StringUtils::asDouble(timeSpanOpt.getValue()[0]);
+
+      return true;
+   }
+   
+protected:
+   virtual void spinUp()
+   {
+      if (!processor)
+         cout << "No processor assigned." << endl, exit(-1);
+   }
+
+   virtual void process()
+   {      
+      try
+      {
+         processor->process();
+      }
+      catch (gpstk::Exception &e) 
+      {
+         cout << e << endl;
+      }
+      catch (std::exception &e)
+      {
+         cout << e.what() << endl;
+      }
+   }
+   
+   virtual void shutDown()
+   {
+      delete processor;
+   }
+
+private:
+   MDPStream mdpInput;
+   ofstream output;
+   TCPbuf rdbuf;
+   gpstk::CommandOptionWithAnyArg mdpInputOpt, outputOpt;
+
+   gpstk::CommandOptionNoArg pvtOpt, obsOpt, navOpt, tstOpt, hexOpt, badOpt;
+   gpstk::CommandOptionNoArg almOpt, ephOpt;
+   gpstk::CommandOptionWithAnyArg styleOpt;
+   gpstk::CommandOptionWithNumberArg timeSpanOpt;
+   gpstk::CommandOptionWithTimeArg startTimeOpt, stopTimeOpt;
+
+   string style;
+
+   MDPProcessor* processor;
+};
+
+
+int main(int argc, char *argv[])
+{
+   try
+   {
+      MDPTool crap(argv[0]);
+
+      if (!crap.initialize(argc, argv))
+         exit(0);
+
+      crap.run();
+   }
+   catch (gpstk::Exception &exc)
+   { cout << exc << endl; }
+   catch (std::exception &exc)
+   { cout << "Caught std::exception " << exc.what() << endl; }
+   catch (...)
+   { cout << "Caught unknown exception" << endl; }
+}
diff --git a/trunk/apps/MDPtools/miscenum.hpp b/trunk/apps/MDPtools/miscenum.hpp
new file mode 100644
index 0000000..153bfae
--- /dev/null
+++ b/trunk/apps/MDPtools/miscenum.hpp
@@ -0,0 +1,134 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/MDPtools/miscenum.hpp#3 $"
+
+/**
+ * @file miscenum.hpp
+ * This file contains miscellaneous enumerations that potentially have
+ * global significance (as opposed to being relevant only to one class).
+ */
+
+#ifndef MISCENUM_HPP
+#define MISCENUM_HPP
+
+#include <string>
+
+namespace gpstk
+{
+      /// An enumeration of the various Carrier Codes.
+   enum CarrierCode
+   {
+      ccUnknown = 0,
+      ccL1 = 1,
+      ccL2 = 2,
+      ccL5 = 5,
+      ccMax
+   };
+
+      /// An enumeration of the various Range Codes.
+   enum RangeCode 
+   {
+      rcUnknown  = 0,
+      rcCA       = 1,
+      rcPcode    = 2,
+      rcYcode    = 3,
+      rcCodeless = 4,
+      rcCM       = 5,
+      rcCL       = 6,
+      rcMcode1   = 7,
+      rcMcode2   = 8,
+      rcCMCL     = 9,
+      rcMax
+   };
+
+      /// An enumeration of the various Navigation Message Codes.
+   enum NavCode
+   {
+      ncUnknown    = 0, ///< Unknown or uninitialized navigation message code.
+      ncICD_200_2  = 1, ///< ICD-GPS-200 Data ID No 2.
+      ncICD_700_M  = 2, ///< ICD-GPS-700 M-code.
+      ncICD_705_L5 = 3, ///< ICD-GPS-705 L5 nav.
+      ncICD_200_4  = 4,  ///< ICD-GPS-200 Data ID No 4.
+      ncMax
+   };
+
+      /** An enumeration of the External Frequency Status.  Relevant
+       * to receivers using external timing sources. */
+   enum ExternalFrequencyStatus
+   {
+      efsUnknown   = -1,
+      efsNotLocked = 0,
+      efsLocked    = 1
+   };
+
+   namespace StringUtils
+   {
+         /** Decode Carrier Code to a string.
+          * @param cc the Carrier Code to convert.
+          * @return the Carrier Code as a string.
+          */
+      inline std::string asString(const CarrierCode& cc) throw()
+      {
+         switch(cc)
+         {
+            case ccL1: return "L1";
+            case ccL2: return "L2";
+            case ccL5: return "L5";
+         }
+         return "BadCarrierCode";
+      }
+
+         /** Decode Range Code to a string.
+          * @param rc the Range Code to convert.
+          * @return the Range Code as a string.
+          */
+      inline std::string asString(const RangeCode& rc) throw()
+      {
+         switch(rc)
+         {
+            case rcCA:       return "CA";
+            case rcPcode:    return "P-code";
+            case rcYcode:    return "Y-code";
+            case rcCodeless: return "Codeless";
+            case rcCM:       return "CM";
+            case rcCL:       return "CL";
+            case rcMcode1:   return "M-code1";
+            case rcMcode2:   return "M-code2";
+            case rcCMCL:     return "CMCL";
+         }
+         return "BadRangeCode";
+      }
+
+         /** Decode Navigation Message Code to a string.
+          * @param nc the Navigation Code to convert.
+          * @return the Navigation Code as a string.
+          */
+      inline std::string asString(const NavCode& nc) throw()
+      {
+         switch(nc)
+         {
+            case ncICD_200_2:  return "ICD-GPS-200 Data ID No. 2";
+            case ncICD_700_M:  return "ICD-GPS-700 M-code";
+            case ncICD_705_L5: return "ICD-GPS-705 L5 nav";
+            case ncICD_200_4:  return "ICD-GPS-200 Data ID No. 4";
+         }
+         return "BadNavCode";
+      }
+
+         /** Decode external frequency status to a string.
+          * @param e the external frequency status to convert.
+          * @return the Carrier Code as a string.
+          */
+      inline std::string asString(const ExternalFrequencyStatus& e)
+         throw()
+      {
+         switch(e)
+         {
+            case efsNotLocked: return "NotLocked";
+            case efsLocked:    return "Locked";
+         }
+         return "BadEFS";
+      }
+   } // namespace StringUtils
+
+} // namespace sglmsn
+
+#endif // MISCENUM_HPP
diff --git a/trunk/apps/MDPtools/tcptest.cpp b/trunk/apps/MDPtools/tcptest.cpp
new file mode 100644
index 0000000..0901a79
--- /dev/null
+++ b/trunk/apps/MDPtools/tcptest.cpp
@@ -0,0 +1,83 @@
+#pragma ident "$Id"
+
+#include <iostream>
+#include <string>
+using std::istream;
+using std::cout;
+using std::endl;
+
+#include "TCPStream.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionParser.hpp"
+
+#include <sys/errno.h>
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      gpstk::SocketAddr client(std::string("localhost"), 4621);
+      gpstk::IPaddress any;
+      gpstk::SocketAddr server(any, 4621);
+      int debugLevel = 0;
+      gpstk::CommandOptionNoArg
+         debugOption('d', "debug", "Enable debug output."),
+         serverOption('s', "server", "Run as server, not client");
+      std::string appDescription("Test program for the TCPStream stuff.");
+      gpstk::CommandOptionParser cop(appDescription);
+      cop.parseOptions(argc, argv);
+      if (cop.hasErrors())
+      {
+         cop.dumpErrors(cout);
+         cop.displayUsage(cout);
+         exit(0);
+      }
+
+      debugLevel = debugOption.getCount();
+
+      gpstk::TCPStream tcpStream;
+
+      if (serverOption.getCount())
+      {
+         cout << "Running as a server on " << server << endl;
+         int listening_socket = ::socket(AF_INET,SOCK_STREAM,0);
+         if (listening_socket < 0)
+            cout << "Couldn't create listening socket"
+                 << " (" << strerror(errno) << ")" << endl, exit(-1);
+         
+         int value = 1;
+         int rc=0;
+         
+         if (::setsockopt(listening_socket, SOL_SOCKET, SO_REUSEADDR,
+                          (char*)&value, sizeof(value)))
+            cout << "Couldn't set reuse address"
+                 << " (" << strerror(errno) << ")" << endl, exit(-1);
+         
+         if (::bind(listening_socket, (sockaddr *)server, sizeof(sockaddr)))
+            cout << "Couldn't bind"
+                 << " (" << strerror(errno) << ")" << endl, exit(-1);
+         
+         if (::listen(listening_socket, 5))
+            cout << "Couldn't listen"
+                 << " (" << strerror(errno) << ")" << endl, exit(-1);
+         
+         gpstk::TCPStream link;
+         gpstk::SocketAddr peeraddr = gpstk::SocketAddr(any,1);
+         link.rdbuf()->accept(listening_socket,peeraddr);
+         cout << "Accepted connection from " << peeraddr << endl;
+         link.close();
+      }
+      else
+      {
+         cout << "Running as client, :" << client << endl;
+         
+         tcpStream.connect(client);
+         if( !tcpStream.good() )
+            cout << "Connection failed!" << endl, exit(0);
+      }
+   }
+   catch (...)
+   {
+      cout << "Caught one" << endl;
+   }
+}
diff --git a/trunk/apps/Makefile.am b/trunk/apps/Makefile.am
new file mode 100644
index 0000000..9de6e39
--- /dev/null
+++ b/trunk/apps/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = checktools converters cycleslips differential difftools filetools ionosphere mergetools positioning reszilla Rinextools time visibility
diff --git a/trunk/apps/Makefile.in b/trunk/apps/Makefile.in
new file mode 100644
index 0000000..febf98b
--- /dev/null
+++ b/trunk/apps/Makefile.in
@@ -0,0 +1,467 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = apps
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-exec-recursive install-info-recursive \
+	install-recursive installcheck-recursive installdirs-recursive \
+	pdf-recursive ps-recursive uninstall-info-recursive \
+	uninstall-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+SUBDIRS = checktools converters cycleslips differential difftools filetools ionosphere mergetools positioning reszilla Rinextools time visibility
+all: all-recursive
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  apps/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  apps/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+	@failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(mkdir_p) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	    distdir=`$(am__cd) $(distdir) && pwd`; \
+	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+	    (cd $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$top_distdir" \
+	        distdir="$$distdir/$$subdir" \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-recursive
+all-am: Makefile
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool \
+	distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-recursive
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+uninstall-info: uninstall-info-recursive
+
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+	clean clean-generic clean-libtool clean-recursive ctags \
+	ctags-recursive distclean distclean-generic distclean-libtool \
+	distclean-recursive distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic maintainer-clean-recursive \
+	mostlyclean mostlyclean-generic mostlyclean-libtool \
+	mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/RinexPlot/README b/trunk/apps/RinexPlot/README
new file mode 100644
index 0000000..8c8609c
--- /dev/null
+++ b/trunk/apps/RinexPlot/README
@@ -0,0 +1,31 @@
+RinexPlot (/apps/RinexPlot)
+
+   This directory contains a Perl script which uses the Perl::Tk module to
+provide a menu-driven GUI that will plot the data in Rinex observation files.
+It makes use of the Rinex tools, found in /apps/Rinextools, by calling them on
+the command line from within Perl.
+
+   RinexPlot will run under Unix, Linux and Windows. For Windows, you must
+have Perl and Perl::Tk installed on your system; the best place to get these 
+(free) is at ActiveState:
+
+http://www.activestate.com/Products/ActivePerl/ 
+
+Be sure to get Perl::Tk. Normally the Tk module will come with ActivePerl;
+you also get a Perl Package Manager which allows you to update your perl,
+or you can do this with CPAN. Under Windows you can use the
+batch file RinexPlot.bat.
+
+   Two examples are included here, using scripts goRP and goRP1 (Unix), or
+goRP.bat and goRP1.bat (Windows).
+
+   Getting started is easy. Run the example scripts (batch files) first. The
+GUI is menu and mouse driven, and you can get some brief instructions from the
+Help/Topics menu item. You can also provide options on the command line; see
+under Help/Topics again, or just look in the example scripts.
+
+   RinexPlot is young; some menu items are yet to be implemented, and it still
+has a few rough edges. I expect to it be improved greatly in the near future.
+
+Brian Tolman
+btolman at arlut.utexas.edu
diff --git a/trunk/apps/RinexPlot/RSW214B.obs b/trunk/apps/RinexPlot/RSW214B.obs
new file mode 100644
index 0000000..e02548c
--- /dev/null
+++ b/trunk/apps/RinexPlot/RSW214B.obs
@@ -0,0 +1,6827 @@
+     2.10           Observation         G (GPS)             RINEX VERSION / TYPE
+RINEXCvt v.3.0      ARL:UT/SGL          04/02/2004 02:04:29 PGM / RUN BY / DATE
+ARL Rooftop SW                                              MARKER NAME
+                    ARL:UT                                  OBSERVER / AGENCY
+                    Ashtech Z-XII3      1Y07  1DY4*22       REC # / TYPE / VERS
+                                                            ANT # / TYPE
+  -740316.4990 -5457075.4372  3207241.2292                  APPROX POSITION XYZ
+        0.0000        0.0000        0.0000                  ANTENNA: DELTA H/E/N
+     1     1                                                WAVELENGTH FACT L1/2
+     9    L1    L2    P1    P2    C1    D1    D2    S1    S2# / TYPES OF OBSERV
+     1.500                                                  INTERVAL
+  2003     8     2     0    20    0.0000000     GPS         TIME OF FIRST OBS
+  2003     8     2     0    29   58.5000000     GPS         TIME OF LAST OBS
+                                                            MARKER NUMBER
+AshtechFile::B-file = BSW00A03.213                          COMMENT
+Edited by GPSTK Rinex Editor ver 3.0 9/8/2003 on 2004/01/09 COMMENT
+Edited by GPSTK Rinex Editor ver 3.0 9/8/2003 on 2004/04/01 COMMENT
+     8                                                      # OF SATELLITES
+   G 1   400   400   400   400   400   400   400   400   400PRN / # OF OBS
+   G 2   400   400   400   400   400   400   400   400   400PRN / # OF OBS
+   G 3   400   400   400   400   400   400   400   400   400PRN / # OF OBS
+   G13   400   400   400   400   400   400   400   400   400PRN / # OF OBS
+   G16   400   400   400   400   400   400   400   400   400PRN / # OF OBS
+   G20   400   400   400   400   400   400   400   400   400PRN / # OF OBS
+   G27   400   400   400   400   400   400   400   400   400PRN / # OF OBS
+   G31   400   400   400   400   400   400   400   400   400PRN / # OF OBS
+                                                            END OF HEADER
+ 03  8  2  0 20  0.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927231
+ -24270360.274   -18900111.444    20466623.429    20466625.791    20466623.546  
+       291.238         226.935          52.065          47.676  
+ -15203384.683   -11818407.411    22087666.002    22087669.296    22087666.629  
+     -1935.217       -1507.964          50.502          45.591  
+ -17189279.642   -13382596.623    21800517.662    21800520.407    21800517.695  
+      1183.433         922.145          51.544          45.417  
+ -17946557.303   -13969052.482    21381451.284    21381452.646    21381451.112  
+      2042.712        1591.722          51.023          45.591  
+  -9606184.643    -7472122.257    23138945.679    23138948.560    23138945.729  
+     -2966.519       -2311.575          46.680          42.117  
+  -4090786.704    -3141795.876    23597409.466    23597412.728    23597410.028  
+     -3120.785       -2431.772          49.633          42.117  
+  -4852957.470    -3773152.312    23958876.068    23958879.232    23958875.882  
+      1959.410        1526.824          47.896          42.290  
+ -13810174.492   -10506319.018    22407214.665    22407217.681    22407215.183  
+      3041.284        2369.825          50.676          44.549  
+ 03  8  2  0 20  1.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927231
+ -24270796.572   -18900451.418    20466540.355    20466542.771    20466540.469  
+       290.614         226.456          52.065          47.676  
+ -15200481.692   -11816145.342    22088218.355    22088221.774    22088219.147  
+     -1935.344       -1508.062          50.502          45.591  
+ -17191054.173   -13383979.377    21800180.031    21800182.722    21800180.029  
+      1182.733         921.612          51.544          45.244  
+ -17949620.950   -13971439.741    21380868.446    21380869.524    21380868.083  
+      2042.286        1591.396          51.023          45.765  
+  -9601734.717    -7468654.784    23139792.530    23139795.266    23139792.707  
+     -2966.515       -2311.576          46.680          42.117  
+  -4086105.435    -3138148.143    23598300.303    23598303.618    23598300.740  
+     -3120.804       -2431.785          49.633          42.290  
+  -4855896.708    -3775442.627    23958316.766    23958320.335    23958316.539  
+      1959.566        1526.929          47.896          42.464  
+ -13814736.161   -10509873.566    22406346.469    22406349.936    22406347.040  
+      3040.995        2369.605          50.676          44.549  
+ 03  8  2  0 20  3.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927231
+ -24271231.627   -18900790.424    20466457.559    20466459.879    20466457.685  
+       289.853         225.867          52.065          47.676  
+ -15197578.222   -11813882.897    22088770.840    22088774.440    22088771.668  
+     -1935.550       -1508.214          50.502          45.417  
+ -17192827.390   -13385361.105    21799842.408    21799845.287    21799842.547  
+      1181.941         920.995          51.544          45.244  
+ -17952683.647   -13973826.254    21380285.470    21380286.858    21380285.119  
+      2041.725        1590.957          51.023          45.591  
+  -9597284.437    -7465187.030    23140639.647    23140642.759    23140639.637  
+     -2966.722       -2311.721          46.680          41.943  
+  -4081423.883    -3134500.188    23599191.194    23599193.907    23599191.453  
+     -3120.900       -2431.868          49.633          42.290  
+  -4858835.974    -3777732.966    23957757.447    23957760.960    23957757.112  
+      1959.694        1527.038          47.896          42.464  
+ -13819297.158   -10513427.593    22405478.613    22405481.557    22405479.108  
+      3040.649        2369.350          50.676          44.549  
+ 03  8  2  0 20  4.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927231
+ -24271665.408   -18901128.432    20466374.960    20466377.425    20466375.122  
+       288.574         224.856          52.065          47.676  
+ -15194674.249   -11811620.058    22089323.379    22089326.839    22089324.312  
+     -1936.276       -1508.792          50.502          45.591  
+ -17194599.257   -13386741.774    21799505.278    21799508.594    21799505.337  
+      1180.626         919.958          51.544          45.417  
+ -17955745.377   -13976212.016    21379702.779    21379704.326    21379702.409  
+      2040.665        1590.129          51.023          45.765  
+  -9592833.821    -7461719.020    23141486.108    23141489.530    23141486.752  
+     -2967.412       -2312.277          46.680          42.117  
+  -4076742.016    -3130851.975    23600082.246    23600085.393    23600082.303  
+     -3121.526       -2432.373          49.633          42.117  
+  -4861775.228    -3780023.292    23957198.284    23957201.696    23957197.812  
+      1959.260        1526.698          47.896          42.464  
+ -13823857.452   -10516981.060    22404610.952    22404613.707    22404611.288  
+      3039.773        2368.647          50.676          44.549  
+ 03  8  2  0 20  6.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927231
+ -24272098.053   -18901465.559    20466292.771    20466295.201    20466292.832  
+       287.950         224.373          52.065          47.676  
+ -15191769.885   -11809356.924    22089876.122    22089879.467    22089876.928  
+     -1936.477       -1508.945          50.502          45.417  
+ -17196369.897   -13388121.495    21799168.434    21799170.952    21799168.437  
+      1179.929         919.425          51.544          45.417  
+ -17958806.266   -13978597.122    21379120.491    21379121.680    21379119.950  
+      2040.222        1589.778          51.023          45.591  
+  -9588382.922    -7458250.792    23142333.242    23142336.706    23142333.878  
+     -2967.449       -2312.297          46.680          41.943  
+  -4072059.956    -3127203.618    23600973.087    23600976.026    23600973.292  
+     -3121.522       -2432.352          49.633          42.290  
+  -4864714.604    -3782313.714    23956638.686    23956642.832    23956638.453  
+      1959.473        1526.857          47.896          42.464  
+ -13828417.168   -10520534.086    22403742.999    22403746.347    22403743.566  
+      3039.496        2368.432          50.676          44.549  
+ 03  8  2  0 20  7.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927231
+ -24272529.524   -18901801.771    20466210.650    20466212.968    20466210.732  
+       287.480         224.015          52.065          47.676  
+ -15188865.113   -11807093.468    22090428.919    22090432.189    22090429.702  
+     -1936.447       -1508.914          50.502          45.591  
+ -17198139.286   -13389500.239    21798831.731    21798834.499    21798831.774  
+      1179.392         919.001          51.544          45.417  
+ -17961866.285   -13980981.551    21378538.172    21378539.437    21378537.539  
+      2039.940        1589.572          51.023          45.765  
+  -9583931.739    -7454782.344    23143179.999    23143183.625    23143181.080  
+     -2967.273       -2312.141          46.680          41.943  
+  -4067377.665    -3123555.086    23601864.164    23601867.192    23601864.237  
+     -3121.394       -2432.245          49.633          42.117  
+  -4867654.053    -3784604.184    23956079.276    23956083.456    23956079.234  
+      1959.844        1527.158          47.896          42.464  
+ -13832976.278   -10524086.638    22402875.440    22402878.498    22402876.079  
+      3039.417        2368.372          50.676          44.549  
+ 03  8  2  0 20  9.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24272959.696   -18902136.967    20466128.928    20466130.916    20466128.895  
+       286.233         223.030          52.065          47.676  
+ -15185959.811   -11804829.594    22090981.767    22090985.008    22090982.550  
+     -1937.172       -1509.494          50.502          45.591  
+ -17199907.305   -13390877.912    21798495.359    21798498.184    21798495.378  
+      1178.084         917.978          51.544          45.417  
+ -17964925.297   -13983365.197    21377956.069    21377957.377    21377955.444  
+      2038.883        1588.733          51.023          45.765  
+  -9579480.177    -7451313.593    23144027.073    23144029.928    23144028.235  
+     -2967.973       -2312.706          46.680          41.943  
+  -4062695.039    -3119906.284    23602754.904    23602757.975    23602755.284  
+     -3121.996       -2432.728          49.633          41.943  
+  -4870593.473    -3786894.638    23955519.779    23955523.859    23955519.955  
+      1959.399        1526.806          47.896          42.290  
+ -13837534.627   -10527638.592    22402007.975    22402011.096    22402008.693  
+      3038.520        2367.666          50.502          44.549  
+ 03  8  2  0 20 10.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24273388.712   -18902471.268    20466047.226    20466049.320    20466047.198  
+       285.347         222.342          52.065          47.676  
+ -15183054.126   -11802565.428    22091534.863    22091537.863    22091535.549  
+     -1937.494       -1509.736          50.502          45.417  
+ -17201674.090   -13392254.630    21798159.056    21798161.717    21798159.199  
+      1177.151         917.257          51.544          45.417  
+ -17967983.472   -13985748.192    21377374.215    21377375.363    21377373.463  
+      2038.218        1588.217          51.023          45.765  
+  -9575028.355    -7447844.649    23144874.109    23144877.431    23144875.341  
+     -2968.292       -2312.965          46.680          41.943  
+  -4058012.219    -3116257.334    23603645.923    23603648.955    23603646.355  
+     -3122.228       -2432.906          49.633          41.943  
+  -4873532.993    -3789185.178    23954960.504    23954963.556    23954960.690  
+      1959.378        1526.797          47.896          42.464  
+ -13842092.408   -10531190.108    22401140.309    22401143.865    22401141.338  
+      3038.011        2367.272          50.502          44.549  
+ 03  8  2  0 20 12.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24273816.529   -18902804.632    20465965.960    20465967.986    20465965.816  
+       284.835         221.948          52.065          47.676  
+ -15180148.004   -11800300.917    22092087.823    22092090.950    22092088.589  
+     -1937.501       -1509.742          50.502          45.591  
+ -17203439.599   -13393630.350    21797823.110    21797825.884    21797823.243  
+      1176.610         916.829          51.544          45.244  
+ -17971040.740   -13988130.477    21376792.271    21376793.456    21376791.673  
+      2037.903        1587.972          51.023          45.765  
+  -9570576.232    -7444375.455    23145721.523    23145725.551    23145722.663  
+     -2968.120       -2312.835          46.680          41.943  
+  -4053329.138    -3112608.186    23604537.330    23604540.498    23604537.518  
+     -3122.087       -2432.804          49.633          41.943  
+  -4876472.580    -3791475.763    23954401.081    23954405.023    23954401.370  
+      1959.746        1527.062          47.896          42.290  
+ -13846649.520   -10534741.104    22400273.133    22400276.755    22400273.990  
+      3037.901        2367.196          50.502          44.549  
+ 03  8  2  0 20 13.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24274243.225   -18903137.125    20465884.810    20465886.836    20465884.664  
+       284.145         221.410          52.065          47.676  
+ -15177241.519   -11798036.128    22092640.891    22092644.003    22092641.766  
+     -1937.712       -1509.908          50.502          45.591  
+ -17205203.900   -13395005.132    21797487.281    21797490.372    21797487.487  
+      1175.856         916.250          51.544          45.244  
+ -17974097.194   -13990512.128    21376210.608    21376212.163    21376210.025  
+      2037.404        1587.580          51.023          45.591  
+  -9566123.888    -7440906.107    23146568.916    23146572.372    23146569.817  
+     -2968.214       -2312.885          46.680          42.117  
+  -4048645.893    -3108958.908    23605428.278    23605431.927    23605428.738  
+     -3122.159       -2432.861          49.633          41.943  
+  -4879412.318    -3793766.460    23953841.369    23953845.968    23953841.868  
+      1959.832        1527.127          47.896          42.464  
+ -13851206.095   -10538291.683    22399406.311    22399409.672    22399406.870  
+      3037.535        2366.907          50.502          44.549  
+ 03  8  2  0 20 15.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927231
+ -24274668.650   -18903468.626    20465803.811    20465805.832    20465803.794  
+       283.388         220.823          52.065          47.676  
+ -15174334.525   -11795770.939    22093194.059    22093197.130    22093194.968  
+     -1937.987       -1510.120          50.502          45.591  
+ -17206966.852   -13396378.859    21797151.793    21797154.564    21797152.022  
+      1175.034         915.610          51.544          45.244  
+ -17977152.669   -13992893.022    21375629.260    21375630.461    21375628.589  
+      2036.842        1587.150          51.023          45.591  
+  -9561671.133    -7437436.431    23147416.480    23147419.097    23147416.944  
+     -2968.395       -2313.024          46.680          41.943  
+  -4043962.337    -3105309.382    23606319.423    23606322.203    23606320.027  
+     -3122.292       -2432.950          49.633          41.943  
+  -4882352.035    -3796057.145    23953281.921    23953286.178    23953282.326  
+      1959.935        1527.227          47.722          42.290  
+ -13855761.969   -10541841.713    22398539.211    22398542.537    22398539.852  
+      3037.171        2366.628          50.502          44.549  
+ 03  8  2  0 20 16.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24275092.754   -18903799.093    20465722.978    20465725.349    20465723.171  
+       282.164         219.860          52.065          47.676  
+ -15171426.984   -11793505.321    22093747.360    22093750.562    22093748.308  
+     -1938.660       -1510.648          50.502          45.591  
+ -17208728.408   -13397751.498    21796816.672    21796819.479    21796816.854  
+      1173.778         914.622          51.544          45.244  
+ -17980207.133   -13995273.119    21375048.013    21375049.210    21375047.375  
+      2035.884        1586.391          51.023          45.591  
+  -9557217.963    -7433966.429    23148263.994    23148266.422    23148264.204  
+     -2969.052       -2313.541          46.680          41.943  
+  -4039278.408    -3101659.572    23607210.794    23607213.981    23607211.401  
+     -3122.842       -2433.394          49.460          42.117  
+  -4885291.667    -3798347.768    23952722.586    23952726.710    23952722.836  
+      1959.529        1526.900          47.722          42.290  
+ -13860317.076   -10545391.142    22397672.385    22397675.938    22397672.964  
+      3036.303        2365.937          50.502          44.722  
+ 03  8  2  0 20 18.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24275515.836   -18904128.767    20465642.624    20465644.657    20465642.730  
+       281.625         219.448          52.065          47.676  
+ -15168519.186   -11791239.506    22094300.862    22094303.765    22094301.685  
+     -1938.696       -1510.660          50.502          45.591  
+ -17210488.871   -13399123.287    21796481.827    21796484.471    21796481.830  
+      1173.190         914.171          51.544          45.417  
+ -17983260.870   -13997652.654    21374466.956    21374468.133    21374466.317  
+      2035.476        1586.085          51.023          45.765  
+  -9552764.705    -7430496.366    23149111.631    23149113.541    23149111.678  
+     -2968.991       -2313.494          46.680          41.943  
+  -4034594.413    -3098009.710    23608102.194    23608105.722    23608102.627  
+     -3122.767       -2433.335          49.460          41.943  
+  -4888231.573    -3800638.594    23952163.262    23952167.252    23952163.437  
+      1959.876        1527.159          47.722          42.464  
+ -13864871.718   -10548940.213    22396805.628    22396809.085    22396806.074  
+      3036.223        2365.892          50.502          44.549  
+ 03  8  2  0 20 19.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24275937.618   -18904457.428    20465562.278    20465564.360    20465562.521  
+       280.723         218.737          52.065          47.676  
+ -15165610.864   -11788973.282    22094854.290    22094857.040    22094855.152  
+     -1939.046       -1510.946          50.676          45.591  
+ -17212247.949   -13400493.996    21796146.997    21796149.965    21796147.091  
+      1172.233         913.424          51.544          45.417  
+ -17986313.628   -14000031.429    21373885.901    21373887.285    21373885.398  
+      2034.788        1585.548          51.023          45.765  
+  -9548311.023    -7427025.963    23149959.076    23149961.411    23149959.379  
+     -2969.244       -2313.704          46.680          41.769  
+  -4029910.076    -3094359.579    23608993.719    23608997.150    23608993.972  
+     -3123.039       -2433.533          49.460          41.943  
+  -4891171.397    -3802929.361    23951603.981    23951607.842    23951604.114  
+      1959.785        1527.099          47.722          42.464  
+ -13869425.619   -10552488.702    22395939.012    22395942.432    22395939.371  
+      3035.629        2365.422          50.502          44.722  
+ 03  8  2  0 20 21.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24276358.297   -18904785.232    20465482.270    20465484.327    20465482.527  
+       279.963         218.158          52.065          47.676  
+ -15162702.191   -11786706.788    22095407.657    22095410.706    22095408.622  
+     -1939.351       -1511.180          50.676          45.417  
+ -17214005.844   -13401863.782    21795812.459    21795815.418    21795812.594  
+      1171.408         912.789          51.544          45.417  
+ -17989365.576   -14002409.575    21373305.318    21373306.285    21373304.649  
+      2034.248        1585.130          51.023          45.765  
+  -9543857.149    -7423555.416    23150806.965    23150808.409    23150806.973  
+     -2969.416       -2313.824          46.680          41.769  
+  -4025225.604    -3090709.345    23609885.049    23609889.108    23609885.393  
+     -3123.146       -2433.617          49.460          41.943  
+  -4894111.401    -3805220.275    23951044.416    23951048.675    23951044.551  
+      1959.801        1527.120          47.722          42.290  
+ -13873978.957   -10556036.758    22395072.677    22395075.858    22395072.879  
+      3035.186        2365.073          50.502          44.549  
+ 03  8  2  0 20 22.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24276777.629   -18905111.979    20465402.476    20465404.600    20465402.756  
+       279.202         217.562          52.065          47.676  
+ -15159792.953   -11784439.848    22095961.315    22095964.343    22095962.283  
+     -1939.585       -1511.363          50.676          45.591  
+ -17215762.317   -13403232.462    21795478.063    21795480.888    21795478.324  
+      1170.597         912.158          51.544          45.417  
+ -17992416.480   -14004786.902    21372724.650    21372725.606    21372724.040  
+      2033.668        1584.686          51.023          45.765  
+  -9539402.844    -7420084.530    23151654.666    23151656.331    23151654.797  
+     -2969.571       -2313.936          46.680          41.769  
+  -4020540.743    -3087058.806    23610776.769    23610780.439    23610776.949  
+     -3123.231       -2433.671          49.460          42.117  
+  -4897051.325    -3807511.114    23950485.041    23950489.002    23950484.974  
+      1959.934        1527.220          47.722          42.464  
+ -13878531.514   -10559584.198    22394206.319    22394209.415    22394206.527  
+      3034.855        2364.813          50.502          44.549  
+ 03  8  2  0 20 24.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24277195.944   -18905437.942    20465322.849    20465325.010    20465323.187  
+       278.522         217.030          52.065          47.676  
+ -15156883.466   -11782172.718    22096515.054    22096518.275    22096515.952  
+     -1939.735       -1511.480          50.676          45.591  
+ -17217517.698   -13404600.292    21795144.131    21795147.139    21795144.256  
+      1169.902         911.609          51.544          45.417  
+ -17995466.677   -14007163.677    21372144.185    21372145.374    21372143.599  
+      2033.225        1584.332          51.023          45.765  
+  -9534948.432    -7416613.563    23152502.536    23152503.534    23152502.602  
+     -2969.606       -2313.990          46.680          41.943  
+  -4015855.812    -3083408.215    23611668.450    23611671.620    23611668.455  
+     -3123.324       -2433.762          49.460          42.117  
+  -4899991.499    -3809802.159    23949925.328    23949929.684    23949925.418  
+      1960.117        1527.363          47.722          42.464  
+ -13883083.627   -10563131.299    22393340.074    22393343.372    22393340.322  
+      3034.559        2364.593          50.502          44.722  
+ 03  8  2  0 20 25.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24277612.887   -18905762.834    20465243.444    20465245.593    20465243.903  
+       277.561         216.283          52.065          47.676  
+ -15153973.384   -11779905.123    22097068.853    22097071.814    22097069.735  
+     -1940.190       -1511.836          50.676          45.591  
+ -17219271.627   -13405966.986    21794810.370    21794813.490    21794810.459  
+      1168.891         910.819          51.544          45.244  
+ -17998515.812   -14009539.622    21371563.845    21371565.076    21371563.344  
+      2032.450        1583.728          51.023          45.591  
+  -9530493.521    -7413142.197    23153349.953    23153352.025    23153350.418  
+     -2970.040       -2314.324          46.680          41.769  
+  -4011170.479    -3079757.314    23612559.642    23612563.732    23612560.136  
+     -3123.635       -2433.988          49.460          42.117  
+  -4902931.567    -3812093.123    23949366.023    23949370.012    23949366.084  
+      1959.951        1527.234          47.722          42.290  
+ -13887634.936   -10566677.771    22392474.031    22392477.511    22392474.252  
+      3033.979        2364.140          50.502          44.549  
+ 03  8  2  0 20 27.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24278028.701   -18906086.846    20465164.305    20465166.387    20465164.752  
+       277.141         215.957          52.065          47.676  
+ -15151062.944   -11777637.247    22097622.491    22097625.536    22097623.552  
+     -1940.085       -1511.748          50.676          45.591  
+ -17221024.346   -13407332.743    21794477.013    21794479.994    21794476.871  
+      1168.388         910.443          51.544          45.417  
+ -18001564.106   -14011914.918    21370983.781    21370984.951    21370983.324  
+      2032.230        1583.567          51.023          45.765  
+  -9526038.383    -7409670.669    23154197.856    23154199.158    23154198.305  
+     -2969.841       -2314.151          46.854          41.769  
+  -4006484.981    -3076106.276    23613451.302    23613455.197    23613451.810  
+     -3123.375       -2433.787          49.460          42.117  
+  -4905871.768    -3814384.186    23948806.519    23948810.723    23948806.723  
+      1960.410        1527.593          47.722          42.464  
+ -13892185.677   -10570223.805    22391608.136    22391611.125    22391608.310  
+      3033.910        2364.085          50.502          44.549  
+ 03  8  2  0 20 28.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24278443.228   -18906409.853    20465085.381    20465087.783    20465085.905  
+       275.813         214.916          52.065          47.676  
+ -15148151.974   -11775368.958    22098176.451    22098179.621    22098177.440  
+     -1940.929       -1512.415          50.676          45.591  
+ -17222775.704   -13408697.432    21794143.390    21794146.577    21794143.507  
+      1166.987         909.329          51.544          45.417  
+ -18004611.430   -14014289.455    21370403.804    21370404.686    21370403.513  
+      2031.120        1582.678          51.023          45.765  
+  -9521582.895    -7406198.858    23155045.550    23155047.569    23155045.953  
+     -2970.624       -2314.778          46.854          41.769  
+  -4001799.166    -3072454.997    23614343.256    23614346.684    23614343.527  
+     -3124.069       -2434.348          49.460          42.117  
+  -4908811.945    -3816675.229    23948247.045    23948251.366    23948247.281  
+      1959.942        1527.228          47.722          42.464  
+ -13896735.697   -10573769.274    22390742.388    22390745.406    22390742.502  
+      3032.981        2363.349          50.502          44.549  
+ 03  8  2  0 20 30.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24278856.709   -18906732.047    20465006.784    20465008.891    20465007.209  
+       275.017         214.298          52.065          47.676  
+ -15145240.736   -11773100.464    22098730.664    22098733.482    22098731.418  
+     -1941.228       -1512.651          50.676          45.417  
+ -17224525.929   -13410061.243    21793810.468    21793813.584    21793810.457  
+      1166.137         908.672          51.544          45.244  
+ -18007658.003   -14016663.407    21369824.156    21369825.454    21369823.877  
+      2030.477        1582.180          51.023          45.765  
+  -9517127.223    -7402726.913    23155893.390    23155895.460    23155893.863  
+     -2970.852       -2314.961          46.854          41.943  
+  -3997113.248    -3068803.633    23615234.886    23615238.338    23615235.245  
+     -3124.252       -2434.483          49.460          42.117  
+  -4911752.353    -3818966.451    23947688.108    23947691.802    23947687.657  
+      1959.984        1527.245          47.722          42.464  
+ -13901285.224   -10577314.361    22389876.459    22389879.844    22389876.728  
+      3032.521        2363.003          50.502          44.549  
+ 03  8  2  0 20 31.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24279268.855   -18907053.198    20464928.396    20464930.522    20464928.790  
+       274.804         214.140          52.065          47.676  
+ -15142328.942   -11770831.534    22099284.539    22099287.441    22099285.497  
+     -1940.884       -1512.367          50.676          45.417  
+ -17226274.750   -13411423.956    21793477.636    21793480.859    21793477.654  
+      1165.861         908.469          51.544          45.244  
+ -18010703.545   -14019036.559    21369244.720    21369245.590    21369244.457  
+      2030.480        1582.197          51.023          45.765  
+  -9512671.175    -7399254.668    23156741.668    23156744.001    23156742.023  
+     -2970.274       -2314.481          46.854          41.769  
+  -3992426.970    -3065151.990    23616126.673    23616130.270    23616127.022  
+     -3123.830       -2434.140          49.460          42.117  
+  -4914692.687    -3821257.613    23947128.303    23947132.437    23947128.370  
+      1960.634        1527.764          47.722          42.464  
+ -13905833.977   -10580858.835    22389010.820    22389013.722    22389011.125  
+      3032.669        2363.120          50.502          44.549  
+ 03  8  2  0 20 33.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24279679.740   -18907373.369    20464850.266    20464852.412    20464850.624  
+       273.473         213.091          52.065          47.676  
+ -15139416.664   -11768562.226    22099838.691    22099841.917    22099839.678  
+     -1941.695       -1513.016          50.676          45.417  
+ -17228022.235   -13412785.630    21793145.119    21793148.241    21793145.072  
+      1164.507         907.397          51.544          45.417  
+ -18013748.125   -14021408.959    21368665.309    21368666.343    21368665.150  
+      2029.364        1581.321          51.023          45.591  
+  -9508214.739    -7395782.128    23157589.870    23157591.401    23157590.222  
+     -2971.088       -2315.142          46.854          41.943  
+  -3987740.398    -3061500.117    23617018.206    23617021.905    23617018.893  
+     -3124.514       -2434.681          49.460          42.117  
+  -4917633.026    -3823548.787    23946568.938    23946573.061    23946568.941  
+      1960.153        1527.391          47.722          42.290  
+ -13910382.029   -10584402.769    22388145.441    22388148.614    22388145.743  
+      3031.737        2362.382          50.502          44.549  
+ 03  8  2  0 20 34.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24280089.630   -18907692.764    20464772.085    20464774.482    20464772.589  
+       272.507         212.335          52.065          47.676  
+ -15136504.141   -11766292.732    22100393.037    22100396.268    22100394.007  
+     -1942.159       -1513.375          50.676          45.417  
+ -17229768.635   -13414146.460    21792812.877    21792815.819    21792812.791  
+      1163.504         906.620          51.544          45.417  
+ -18016792.010   -14023780.817    21368085.966    21368087.195    21368085.864  
+      2028.611        1580.730          51.023          45.765  
+  -9503758.207    -7392309.515    23158438.674    23158440.351    23158438.326  
+     -2971.381       -2315.363          46.854          41.943  
+  -3983053.779    -3057848.205    23617910.137    23617914.032    23617910.771  
+     -3124.863       -2434.953          49.460          42.117  
+  -4920573.636    -3825840.174    23946009.384    23946013.159    23946009.434  
+      1960.025        1527.285          47.722          42.464  
+ -13914929.637   -10587946.364    22387280.272    22387283.170    22387280.439  
+      3031.121        2361.905          50.502          44.549  
+ 03  8  2  0 20 36.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24280498.195   -18908011.127    20464694.263    20464696.641    20464694.777  
+       272.225         212.131          52.065          47.676  
+ -15133591.078   -11764022.813    22100947.310    22100950.818    22100948.329  
+     -1941.939       -1513.189          50.676          45.417  
+ -17231513.632   -13415506.198    21792480.726    21792483.469    21792480.771  
+      1163.146         906.353          51.544          45.417  
+ -18019834.881   -14026151.886    21367506.982    21367508.202    21367506.714  
+      2028.554        1580.696          51.023          45.765  
+  -9499301.247    -7388836.545    23159286.450    23159288.380    23159286.613  
+     -2971.225       -2315.240          46.854          41.943  
+  -3978366.801    -3054196.018    23618802.017    23618805.339    23618802.657  
+     -3124.492       -2434.665          49.460          42.117  
+  -4923514.197    -3828131.515    23945449.939    23945453.239    23945450.011  
+      1960.571        1527.718          47.722          42.290  
+ -13919476.486   -10591489.361    22386415.080    22386417.867    22386415.244  
+      3031.254        2362.010          50.502          44.549  
+ 03  8  2  0 20 37.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24280905.508   -18908328.514    20464616.787    20464619.069    20464617.164  
+       271.124         211.264          52.065          47.676  
+ -15130677.529   -11761752.518    22101501.767    22101505.092    22101502.720  
+     -1942.545       -1513.671          50.676          45.591  
+ -17233257.295   -13416864.894    21792148.975    21792152.019    21792148.943  
+      1161.987         905.445          51.544          45.244  
+ -18022876.798   -14028522.205    21366928.011    21366929.128    21366927.781  
+      2027.635        1579.961          51.023          45.765  
+  -9494843.976    -7385363.344    23160134.284    23160136.479    23160134.906  
+     -2971.798       -2315.699          46.854          41.769  
+  -3973679.535    -3050543.612    23619693.745    23619697.048    23619694.500  
+     -3124.984       -2435.026          49.460          42.117  
+  -4926454.753    -3830422.858    23944890.032    23944893.699    23944890.494  
+      1960.330        1527.525          47.722          42.464  
+ -13924022.645   -10595031.819    22385549.896    22385552.556    22385550.162  
+      3030.459        2361.394          50.502          44.549  
+ 03  8  2  0 20 39.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24281311.716   -18908645.040    20464539.382    20464541.720    20464539.768  
+       270.410         210.716          52.065          47.676  
+ -15127763.666   -11759481.978    22102056.285    22102059.158    22102057.176  
+     -1942.698       -1513.785          50.676          45.591  
+ -17234999.772   -13418222.669    21791817.556    21791820.405    21791817.366  
+      1161.209         904.841          51.544          45.244  
+ -18025917.906   -14030891.898    21366349.251    21366350.747    21366349.031  
+      2027.115        1579.569          51.023          45.765  
+  -9490386.497    -7381889.990    23160982.363    23160984.132    23160983.102  
+     -2971.837       -2315.702          46.854          41.769  
+  -3968992.136    -3046891.093    23620585.967    23620589.628    23620586.414  
+     -3125.058       -2435.107          49.286          42.117  
+  -4929395.489    -3832714.338    23944330.466    23944334.032    23944330.769  
+      1960.427        1527.611          47.722          42.464  
+ -13928568.263   -10598573.858    22384684.964    22384687.675    22384685.292  
+      3030.138        2361.148          50.502          44.549  
+ 03  8  2  0 20 40.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24281716.634   -18908960.560    20464462.445    20464464.544    20464462.632  
+       269.886         210.304          52.065          47.676  
+ -15124849.265   -11757211.014    22102610.817    22102613.808    22102611.725  
+     -1942.719       -1513.802          50.676          45.591  
+ -17236740.889   -13419579.378    21791486.236    21791488.791    21791486.040  
+      1160.657         904.409          51.544          45.244  
+ -18028958.022   -14033260.822    21365770.698    21365771.874    21365770.557  
+      2026.771        1579.317          51.023          45.765  
+  -9485928.626    -7378416.325    23161830.302    23161832.550    23161831.619  
+     -2971.687       -2315.602          47.028          41.769  
+  -3964304.412    -3043238.324    23621478.065    23621481.552    23621478.541  
+     -3124.894       -2434.987          49.286          41.943  
+  -4932336.183    -3835005.787    23943771.100    23943774.367    23943770.998  
+      1960.754        1527.869          47.722          42.464  
+ -13933113.152   -10602115.327    22383820.153    22383822.930    22383820.550  
+      3030.039        2361.077          50.502          44.549  
+ 03  8  2  0 20 42.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927232
+ -24282120.380   -18909275.168    20464385.629    20464387.881    20464385.731  
+       268.976         209.599          52.065          47.676  
+ -15121934.489   -11754939.761    22103165.776    22103168.722    22103166.405  
+     -1943.049       -1514.054          50.676          45.417  
+ -17238480.745   -13420935.109    21791155.096    21791157.746    21791154.948  
+      1159.710         903.680          51.544          45.244  
+ -18031997.246   -14035629.049    21365192.339    21365193.674    21365192.265  
+      2026.064        1578.757          51.023          45.765  
+  -9481470.478    -7374942.452    23162678.615    23162681.188    23162679.654  
+     -2972.050       -2315.860          47.028          41.595  
+  -3959616.491    -3039585.404    23622370.440    23622374.152    23622370.803  
+     -3125.109       -2435.146          49.286          41.943  
+  -4935276.963    -3837297.298    23943211.249    23943214.908    23943211.381  
+      1960.663        1527.784          47.722          42.290  
+ -13937657.399   -10605656.298    22382955.303    22382958.166    22382955.906  
+      3029.512        2360.664          50.502          44.549  
+ 03  8  2  0 20 43.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927233
+ -24282522.989   -18909588.889    20464309.014    20464311.468    20464308.990  
+       267.867         208.723          52.065          47.676  
+ -15119019.325   -11752668.206    22103720.519    22103723.688    22103721.083  
+     -1943.702       -1514.579          50.676          45.591  
+ -17240219.386   -13422289.893    21790824.240    21790826.893    21790824.106  
+      1158.535         902.745          51.544          45.244  
+ -18035035.655   -14037996.642    21364614.095    21364615.412    21364614.091  
+      2025.148        1578.032          51.023          45.765  
+  -9477012.099    -7371468.392    23163526.892    23163529.120    23163527.796  
+     -2972.521       -2316.265          47.028          41.769  
+  -3954928.381    -3035932.334    23623262.610    23623265.529    23623263.045  
+     -3125.626       -2435.559          49.286          41.943  
+  -4938217.863    -3839588.908    23942651.618    23942655.569    23942651.863  
+      1960.429        1527.600          47.722          42.464  
+ -13942201.075   -10609196.824    22382090.699    22382093.358    22382091.343  
+      3028.787        2360.093          50.502          44.549  
+ 03  8  2  0 20 45.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927233
+ -24282924.248   -18909901.558    20464232.635    20464234.862    20464232.622  
+       267.438         208.397          52.065          47.676  
+ -15116103.606   -11750396.219    22104275.128    22104278.467    22104275.861  
+     -1943.594       -1514.478          50.676          45.417  
+ -17241956.607   -13423643.569    21790493.777    21790496.533    21790493.565  
+      1158.064         902.393          51.544          45.244  
+ -18038072.998   -14040363.399    21364035.993    21364037.625    21364036.063  
+      2024.944        1577.884          51.023          45.765  
+  -9472553.286    -7367994.003    23164375.379    23164378.649    23164376.005  
+     -2972.224       -2315.992          47.028          41.769  
+  -3950239.909    -3032278.975    23624154.747    23624158.411    23624155.379  
+     -3125.370       -2435.354          49.286          42.117  
+  -4941158.708    -3841880.475    23942092.316    23942095.844    23942092.286  
+      1960.862        1527.948          47.722          42.290  
+ -13946743.944   -10612736.718    22381226.071    22381229.076    22381226.919  
+      3028.690        2360.023          50.502          44.549  
+ 03  8  2  0 20 46.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927233
+ -24283324.290   -18910213.278    20464156.538    20464158.651    20464156.486  
+       266.177         207.406          52.065          47.676  
+ -15113187.443   -11748123.883    22104830.215    22104833.370    22104830.773  
+     -1944.347       -1515.079          50.676          45.417  
+ -17243692.517   -13424996.225    21790163.509    21790165.853    21790163.271  
+      1156.712         901.326          51.544          45.244  
+ -18041109.428   -14042729.447    21363458.159    21363460.011    21363458.177  
+      2023.887        1577.049          51.023          45.765  
+  -9468094.139    -7364519.339    23165223.861    23165226.613    23165224.503  
+     -2973.059       -2316.679          47.028          41.943  
+  -3945551.164    -3028625.408    23625046.924    23625050.237    23625047.784  
+     -3126.042       -2435.878          49.286          42.117  
+  -4944099.572    -3844172.050    23941532.587    23941536.034    23941532.717  
+      1960.365        1527.535          47.722          42.117  
+ -13951286.170   -10616276.108    22380361.767    22380364.621    22380362.652  
+      3027.714        2359.242          50.502          44.549  
+ 03  8  2  0 20 48.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927233
+ -24283723.312   -18910524.206    20464080.622    20464082.911    20464080.581  
+       265.700         207.041          52.065          47.676  
+ -15110271.039   -11745851.360    22105385.148    22105388.304    22105385.707  
+     -1944.337       -1515.068          50.676          45.417  
+ -17245427.342   -13426348.037    21789833.339    21789835.791    21789833.194  
+      1156.203         900.941          51.544          45.417  
+ -18044145.146   -14045094.941    21362880.584    21362882.091    21362880.389  
+      2023.597        1576.832          51.023          45.765  
+  -9463634.912    -7361044.618    23166072.604    23166075.436    23166072.889  
+     -2972.897       -2316.546          47.028          41.943  
+  -3940862.390    -3024971.830    23625938.965    23625942.219    23625940.100  
+     -3125.890       -2435.764          49.286          41.943  
+  -4947040.717    -3846463.856    23940973.205    23940976.119    23940973.060  
+      1960.837        1527.924          47.722          42.290  
+ -13955827.927   -10619815.142    22379497.711    22379500.290    22379498.433  
+      3027.630        2359.194          50.502          44.549  
+ 03  8  2  0 20 49.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927233
+ -24284120.943   -18910834.048    20464004.961    20464007.153    20464004.896  
+       265.127         206.601          52.065          47.502  
+ -15107354.017   -11743578.361    22105940.182    22105943.066    22105940.787  
+     -1944.361       -1515.078          50.676          45.417  
+ -17247160.683   -13427698.693    21789503.534    21789505.945    21789503.506  
+      1155.557         900.440          51.544          45.244  
+ -18047179.766   -14047459.579    21362303.096    21362304.628    21362302.885  
+      2023.206        1576.525          51.023          45.765  
+  -9459175.224    -7357569.543    23166921.696    23166922.995    23166921.359  
+     -2972.780       -2316.456          47.028          41.769  
+  -3936173.196    -3021317.912    23626831.376    23626834.604    23626832.453  
+     -3125.775       -2435.664          49.286          42.117  
+  -4949981.687    -3848755.518    23940413.779    23940416.175    23940413.616  
+      1960.988        1528.044          47.722          42.290  
+ -13960368.856   -10623353.528    22378633.416    22378636.237    22378634.381  
+      3027.493        2359.093          50.502          44.549  
+ 03  8  2  0 20 51.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927233
+ -24284517.486   -18911143.044    20463929.346    20463931.704    20463929.402  
+       264.147         205.829          52.065          47.676  
+ -15104436.691   -11741305.121    22106495.345    22106498.532    22106495.908  
+     -1944.796       -1515.424          50.676          45.417  
+ -17248892.860   -13429048.440    21789174.110    21789176.388    21789174.004  
+      1154.528         899.629          51.544          45.244  
+ -18050213.601   -14049823.606    21361725.726    21361727.282    21361725.532  
+      2022.465        1575.948          51.023          45.765  
+  -9454715.311    -7354094.293    23167770.537    23167772.645    23167770.181  
+     -2973.212       -2316.782          47.028          41.769  
+  -3931483.877    -3017663.899    23627723.931    23627727.478    23627724.810  
+     -3126.107       -2435.919          49.286          41.943  
+  -4952922.866    -3851047.348    23939853.925    23939857.036    23939854.178  
+      1960.981        1528.041          47.896          42.290  
+ -13964909.262   -10626891.508    22377769.448    22377772.534    22377770.498  
+      3026.864        2358.594          50.502          44.549  
+ 03  8  2  0 20 52.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927233
+ -24284912.834   -18911451.108    20463854.321    20463856.383    20463854.210  
+       262.970         204.902          52.065          47.676  
+ -15101518.939   -11739031.551    22107050.638    22107053.690    22107051.181  
+     -1945.484       -1515.964          50.676          45.417  
+ -17250623.766   -13430397.201    21788844.536    21788847.041    21788844.750  
+      1153.306         898.672          51.544          45.417  
+ -18053246.545   -14052186.942    21361148.638    21361150.428    21361148.388  
+      2021.501        1575.187          51.023          45.765  
+  -9450255.152    -7350618.843    23168619.050    23168621.390    23168619.004  
+     -2973.630       -2317.128          47.028          41.769  
+  -3926794.331    -3014009.714    23628615.984    23628619.596    23628617.201  
+     -3126.637       -2436.345          49.286          42.117  
+  -4955864.124    -3853339.238    23939293.916    23939296.889    23939294.624  
+      1960.597        1527.722          47.896          42.290  
+ -13969449.019   -10630428.980    22376905.748    22376908.359    22376906.674  
+      3026.022        2357.935          50.502          44.549  
+ 03  8  2  0 20 54.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927233
+ -24285306.878   -18911758.153    20463779.209    20463781.548    20463779.233  
+       262.547         204.582          52.065          47.676  
+ -15098600.656   -11736757.564    22107605.841    22107609.064    22107606.580  
+     -1945.402       -1515.898          50.676          45.417  
+ -17252353.286   -13431744.877    21788515.659    21788518.156    21788515.692  
+      1152.846         898.330          51.544          45.244  
+ -18056278.482   -14054549.488    21360571.797    21360573.374    21360571.370  
+      2021.274        1575.020          51.023          45.765  
+  -9445794.523    -7347143.023    23169467.519    23169469.887    23169467.845  
+     -2973.710       -2317.181          47.028          41.769  
+  -3922104.466    -3010355.280    23629508.211    23629511.672    23629509.718  
+     -3126.388       -2436.148          49.286          42.117  
+  -4958805.330    -3855631.073    23938734.294    23938737.785    23938734.965  
+      1960.959        1528.006          47.896          42.290  
+ -13973988.047   -10633965.884    22376041.942    22376044.337    22376042.914  
+      3026.039        2357.959          50.502          44.549  
+ 03  8  2  0 20 55.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927233
+ -24285699.792   -18912064.322    20463704.552    20463706.464    20463704.496  
+       261.644         203.883          52.065          47.676  
+ -15095682.028   -11734483.313    22108161.368    22108164.571    22108161.998  
+     -1945.762       -1516.173          50.676          45.417  
+ -17254081.597   -13433091.613    21788186.652    21788188.989    21788186.869  
+      1151.899         897.583          51.718          45.244  
+ -18059309.584   -14056911.387    21359994.798    21359996.461    21359994.477  
+      2020.537        1574.448          51.023          45.765  
+  -9441333.751    -7343667.109    23170316.022    23170318.936    23170316.693  
+     -2973.866       -2317.287          47.028          41.769  
+  -3917414.432    -3006700.715    23630400.904    23630404.791    23630402.195  
+     -3126.632       -2436.340          49.286          42.117  
+  -4961746.691    -3857923.041    23938174.890    23938177.744    23938175.163  
+      1960.930        1527.995          47.896          42.290  
+ -13978526.486   -10637502.331    22375178.363    22375181.000    22375179.194  
+      3025.500        2357.537          50.502          44.549  
+ 03  8  2  0 20 57.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24286091.417   -18912369.483    20463630.074    20463632.119    20463630.064  
+       260.754         203.183          52.065          47.676  
+ -15092762.880   -11732208.650    22108716.791    22108720.011    22108717.519  
+     -1946.147       -1516.483          50.676          45.417  
+ -17255808.532   -13434437.276    21787857.980    21787860.359    21787858.241  
+      1150.945         896.843          51.718          45.244  
+ -18062339.689   -14059272.506    21359418.284    21359419.887    21359417.797  
+      2019.841        1573.902          51.023          45.765  
+  -9436872.574    -7340190.867    23171164.798    23171167.368    23171165.426  
+     -2974.114       -2317.489          47.028          41.769  
+  -3912724.088    -3003045.900    23631293.710    23631297.071    23631294.802  
+     -3126.854       -2436.507          49.286          42.117  
+  -4964688.045    -3860215.007    23937614.848    23937617.383    23937615.412  
+      1960.894        1527.965          47.896          42.290  
+ -13983064.182   -10641038.195    22374314.876    22374317.281    22374315.731  
+      3024.954        2357.100          50.502          44.549  
+ 03  8  2  0 20 58.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24286481.902   -18912673.758    20463555.718    20463557.935    20463555.819  
+       260.092         202.679          52.065          47.676  
+ -15089843.365   -11729933.707    22109272.413    22109275.351    22109273.056  
+     -1946.324       -1516.605          50.676          45.417  
+ -17257534.257   -13435782.000    21787529.720    21787532.477    21787529.855  
+      1150.206         896.278          51.718          45.244  
+ -18065368.962   -14061632.976    21358841.857    21358843.427    21358841.296  
+      2019.385        1573.563          51.023          45.765  
+  -9432411.142    -7336714.445    23172013.827    23172017.222    23172014.252  
+     -2974.180       -2317.534          47.028          41.595  
+  -3908033.568    -2999390.952    23632185.895    23632189.634    23632187.429  
+     -3126.932       -2436.560          49.112          42.117  
+  -4967629.505    -3862507.053    23937054.958    23937057.964    23937055.681  
+      1961.085        1528.128          47.896          42.290  
+ -13987601.293   -10644573.610    22373451.565    22373453.904    22373452.355  
+      3024.666        2356.898          50.502          44.549  
+ 03  8  2  0 21  0.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24286871.231   -18912977.132    20463481.633    20463483.760    20463481.818  
+       259.294         202.050          52.065          47.676  
+ -15086923.486   -11727658.476    22109828.101    22109831.220    22109828.740  
+     -1946.575       -1516.812          50.676          45.417  
+ -17259258.744   -13437125.752    21787201.415    21787203.738    21787201.697  
+      1149.367         895.608          51.718          45.244  
+ -18068397.371   -14063992.777    21358265.663    21358267.264    21358264.984  
+      2018.765        1573.065          51.023          45.765  
+  -9427949.458    -7333237.803    23172862.425    23172865.843    23172863.217  
+     -2974.492       -2317.794          47.028          41.595  
+  -3903342.872    -2995735.871    23633078.872    23633082.745    23633080.062  
+     -3127.065       -2436.659          49.112          42.117  
+  -4970571.065    -3864799.172    23936495.476    23936498.480    23936495.806  
+      1961.104        1528.143          47.896          42.290  
+ -13992137.800   -10648108.548    22372588.316    22372590.786    22372589.098  
+      3024.252        2356.562          50.502          44.549  
+ 03  8  2  0 21  1.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24287259.272   -18913279.501    20463407.860    20463409.868    20463408.043  
+       258.341         201.302          52.065          47.676  
+ -15084003.089   -11725382.844    22110383.815    22110386.951    22110384.420  
+     -1947.011       -1517.148          50.676          45.417  
+ -17260981.860   -13438468.436    21786873.642    21786876.139    21786873.765  
+      1148.347         894.807          51.718          45.244  
+ -18071424.788   -14066351.803    21357689.591    21357691.241    21357688.888  
+      2018.028        1572.483          51.023          45.765  
+  -9423487.441    -7329760.912    23173711.532    23173714.182    23173712.251  
+     -2974.726       -2317.951          47.028          41.595  
+  -3898651.853    -2992080.533    23633971.462    23633974.948    23633972.665  
+     -3127.396       -2436.930          49.112          42.117  
+  -4973512.622    -3867091.298    23935935.405    23935938.231    23935935.955  
+      1961.108        1528.136          47.896          42.117  
+ -13996673.583   -10651642.925    22371724.962    22371727.879    22371725.950  
+      3023.642        2356.084          50.502          44.549  
+ 03  8  2  0 21  3.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24287646.111   -18913580.934    20463334.206    20463336.345    20463334.507  
+       257.818         200.908          52.065          47.676  
+ -15081082.278   -11723106.890    22110939.545    22110942.529    22110940.171  
+     -1946.996       -1517.133          50.676          45.417  
+ -17262703.706   -13439810.135    21786546.189    21786548.350    21786546.090  
+      1147.782         894.385          51.718          45.244  
+ -18074451.313   -14068710.136    21357113.676    21357115.590    21357112.987  
+      2017.710        1572.254          51.023          45.765  
+  -9419025.130    -7326283.796    23174560.700    23174563.894    23174561.234  
+     -2974.607       -2317.878          47.028          41.595  
+  -3893960.607    -2988425.022    23634864.137    23634867.687    23634865.277  
+     -3127.342       -2436.882          49.112          42.117  
+  -4976454.203    -3869383.437    23935375.558    23935378.894    23935376.182  
+      1961.314        1528.294          47.896          42.290  
+ -14001208.730   -10655176.802    22370861.895    22370864.738    22370862.891  
+      3023.535        2356.007          50.502          44.549  
+ 03  8  2  0 21  4.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24288031.739   -18913881.425    20463260.871    20463262.876    20463261.144  
+       256.672         200.001          52.065          47.676  
+ -15078161.036   -11720830.599    22111495.629    22111498.908    22111496.079  
+     -1947.615       -1517.620          50.676          45.591  
+ -17264424.251   -13441150.822    21786218.531    21786220.871    21786218.665  
+      1146.563         893.425          51.718          45.244  
+ -18077476.937   -14071067.763    21356537.947    21356539.594    21356537.248  
+      2016.778        1571.506          51.023          45.765  
+  -9414562.508    -7322806.429    23175410.419    23175412.635    23175410.307  
+     -2975.248       -2318.375          47.028          41.595  
+  -3889269.144    -2984769.334    23635756.851    23635760.528    23635757.911  
+     -3127.766       -2437.240          49.112          42.117  
+  -4979395.850    -3871675.619    23934815.801    23934819.013    23934816.355  
+      1961.079        1528.111          47.896          42.290  
+ -14005743.194   -10658710.148    22369999.034    22370001.826    22369999.949  
+      3022.716        2355.361          50.502          44.549  
+ 03  8  2  0 21  6.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24288416.234   -18914181.033    20463187.683    20463189.633    20463187.983  
+       255.945         199.438          52.065          47.676  
+ -15075239.430   -11718554.024    22112051.378    22112054.195    22112052.020  
+     -1947.845       -1517.797          50.676          45.417  
+ -17266143.584   -13442490.565    21785891.289    21785893.809    21785891.501  
+      1145.806         892.840          51.718          45.244  
+ -18080501.711   -14073424.729    21355962.382    21355963.861    21355961.698  
+      2016.223        1571.086          51.023          45.765  
+  -9410099.664    -7319328.894    23176259.792    23176261.625    23176259.326  
+     -2975.334       -2318.441          47.028          41.422  
+  -3884577.509    -2981113.521    23636649.780    23636653.151    23636650.708  
+     -3127.864       -2437.298          49.112          42.117  
+  -4982337.676    -3873967.950    23934256.103    23934259.477    23934256.518  
+      1961.176        1528.192          47.896          42.290  
+ -14010277.076   -10662243.043    22369136.186    22369138.925    22369137.118  
+      3022.348        2355.076          50.502          44.549  
+ 03  8  2  0 21  7.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24288799.401   -18914479.601    20463114.702    20463116.782    20463115.055  
+       255.406         199.024          52.065          47.676  
+ -15072317.283   -11716277.024    22112607.498    22112610.315    22112608.114  
+     -1947.880       -1517.826          50.676          45.417  
+ -17267861.506   -13443829.200    21785564.422    21785567.011    21785564.595  
+      1145.204         892.368          51.718          45.417  
+ -18083525.472   -14075780.905    21355387.025    21355388.552    21355386.347  
+      2015.857        1570.805          51.023          45.765  
+  -9405636.398    -7315851.027    23177109.212    23177111.347    23177108.599  
+     -2975.301       -2318.406          47.028          41.595  
+  -3879885.527    -2977457.437    23637542.299    23637546.444    23637543.386  
+     -3127.702       -2437.165          49.112          42.117  
+  -4985279.401    -3876260.209    23933696.271    23933699.474    23933696.721  
+      1961.411        1528.395          47.896          42.290  
+ -14014810.200   -10665775.342    22368273.692    22368276.442    22368274.369  
+      3022.173        2354.940          50.502          44.549  
+ 03  8  2  0 21  9.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24289181.433   -18914777.289    20463042.025    20463044.223    20463042.417  
+       254.063         197.968          52.065          47.676  
+ -15069394.788   -11713999.757    22113163.605    22113166.484    22113164.301  
+     -1948.684       -1518.454          50.676          45.417  
+ -17269578.218   -13445166.897    21785237.706    21785240.298    21785237.944  
+      1143.817         891.286          51.718          45.244  
+ -18086548.396   -14078136.430    21354811.715    21354813.298    21354811.136  
+      2014.773        1569.947          51.023          45.765  
+  -9401172.948    -7312373.020    23177959.044    23177960.221    23177957.872  
+     -2975.902       -2318.878          47.028          41.422  
+  -3875193.382    -2973801.225    23638435.085    23638439.073    23638436.090  
+     -3128.340       -2437.656          49.112          42.117  
+  -4988221.262    -3878552.562    23933136.492    23933139.650    23933136.953  
+      1960.965        1528.024          47.896          42.290  
+ -14019342.753   -10669307.198    22367410.924    22367414.188    22367411.678  
+      3021.238        2354.205          50.502          44.549  
+ 03  8  2  0 21 10.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24289562.254   -18915074.032    20462969.584    20462971.472    20462969.975  
+       253.541         197.568          52.065          47.676  
+ -15066471.866   -11711722.159    22113719.983    22113722.729    22113720.511  
+     -1948.675       -1518.441          50.676          45.417  
+ -17271293.633   -13446503.582    21784911.264    21784913.768    21784911.565  
+      1143.262         890.853          51.718          45.417  
+ -18089570.394   -14080491.229    21354236.630    21354238.341    21354236.126  
+      2014.462        1569.720          51.023          45.765  
+  -9396709.181    -7308894.765    23178807.961    23178809.898    23178807.239  
+     -2975.827       -2318.829          47.201          41.595  
+  -3870501.005    -2970144.829    23639327.978    23639332.537    23639328.790  
+     -3128.260       -2437.605          49.112          42.117  
+  -4991163.185    -3880844.965    23932576.278    23932579.751    23932577.143  
+      1961.338        1528.306          47.896          42.117  
+ -14023874.615   -10672838.517    22366548.575    22366551.555    22366549.204  
+      3021.055        2354.073          50.502          44.722  
+ 03  8  2  0 21 12.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24289941.742   -18915369.736    20462897.334    20462899.387    20462897.769  
+       252.858         197.034          52.065          47.676  
+ -15063548.393   -11709444.125    22114276.060    22114279.143    22114276.806  
+     -1948.823       -1518.562          50.676          45.417  
+ -17273007.626   -13447839.157    21784585.079    21784587.528    21784585.407  
+      1142.488         890.255          51.718          45.244  
+ -18092591.368   -14082845.232    21353661.767    21353663.346    21353661.326  
+      2013.960        1569.321          51.023          45.765  
+  -9392244.985    -7305416.162    23179657.573    23179660.050    23179656.628  
+     -2975.968       -2318.941          47.201          41.595  
+  -3865808.273    -2966488.161    23640220.888    23640225.550    23640221.595  
+     -3128.301       -2437.630          48.938          42.117  
+  -4994105.043    -3883137.322    23932016.793    23932020.593    23932017.276  
+      1961.446        1528.394          47.896          42.117  
+ -14028405.709   -10676369.238    22365686.338    22365689.373    22365686.881  
+      3020.718        2353.808          50.502          44.722  
+ 03  8  2  0 21 13.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24290320.208   -18915664.647    20462825.255    20462827.339    20462825.725  
+       251.626         196.071          52.065          47.676  
+ -15060624.659   -11707165.899    22114832.537    22114835.409    22114833.071  
+     -1949.567       -1519.145          50.676          45.417  
+ -17274720.527   -13449173.885    21784259.050    21784261.907    21784259.429  
+      1141.198         889.242          51.718          45.417  
+ -18095611.611   -14085198.674    21353087.168    21353088.742    21353086.714  
+      2012.900        1568.486          51.023          45.938  
+  -9387780.682    -7301937.498    23180507.462    23180508.985    23180506.281  
+     -2976.603       -2319.423          47.201          41.422  
+  -3861115.486    -2962831.446    23641113.990    23641117.889    23641114.559  
+     -3128.889       -2438.095          48.938          42.117  
+  -4997047.168    -3885429.881    23931456.816    23931460.367    23931457.411  
+      1961.116        1528.119          47.896          42.117  
+ -14032936.346   -10679899.604    22364824.163    22364826.910    22364824.705  
+      3019.886        2353.148          50.502          44.722  
+ 03  8  2  0 21 15.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24290697.355   -18915958.527    20462753.512    20462755.559    20462753.983  
+       251.132         195.694          52.065          47.676  
+ -15057700.408   -11704887.261    22115388.909    22115392.087    22115389.499  
+     -1949.527       -1519.102          50.676          45.417  
+ -17276432.036   -13450507.527    21783933.321    21783936.253    21783933.765  
+      1140.696         888.856          51.718          45.417  
+ -18098630.837   -14087551.316    21352512.743    21352514.100    21352512.272  
+      2012.634        1568.288          51.023          45.765  
+  -9383315.992    -7298458.512    23181357.381    23181357.970    23181355.913  
+     -2976.375       -2319.240          47.201          41.595  
+  -3856422.370    -2959174.478    23642007.223    23642011.357    23642007.559  
+     -3128.760       -2437.988          48.938          42.117  
+  -4999989.206    -3887722.378    23930896.802    23930899.861    23930897.560  
+      1961.434        1528.400          47.896          42.117  
+ -14037466.205   -10683429.363    22363962.048    22363965.070    22363962.640  
+      3019.760        2353.071          50.502          44.722  
+ 03  8  2  0 21 16.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24291073.313   -18916251.481    20462681.975    20462684.019    20462682.434  
+       250.196         194.955          52.065          47.676  
+ -15054775.753   -11702608.309    22115945.411    22115948.404    22115945.978  
+     -1949.895       -1519.405          50.849          45.417  
+ -17278142.257   -13451840.164    21783607.844    21783610.809    21783608.331  
+      1139.681         888.057          51.718          45.417  
+ -18101649.161   -14089903.254    21351938.184    21351939.871    21351937.967  
+      2011.873        1567.687          51.023          45.765  
+  -9378851.005    -7294979.304    23182206.579    23182208.523    23182205.688  
+     -2976.794       -2319.574          47.201          41.595  
+  -3851729.045    -2955517.349    23642900.541    23642904.518    23642900.792  
+     -3128.977       -2438.176          48.938          42.117  
+  -5002931.335    -3890014.942    23930337.458    23930340.043    23930337.843  
+      1961.417        1528.355          47.896          42.117  
+ -14041995.430   -10686958.629    22363100.437    22363103.107    22363100.716  
+      3019.229        2352.647          50.502          44.722  
+ 03  8  2  0 21 18.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24291448.082   -18916543.509    20462610.577    20462612.710    20462611.142  
+       248.989         194.015          52.065          47.676  
+ -15051850.681   -11700329.032    22116502.058    22116505.065    22116502.578  
+     -1950.619       -1519.977          50.849          45.417  
+ -17279851.213   -13453171.820    21783282.658    21783285.390    21783283.120  
+      1138.418         887.070          51.718          45.417  
+ -18104666.591   -14092254.499    21351363.856    21351365.819    21351363.806  
+      2010.842        1566.886          51.023          45.765  
+  -9374385.745    -7291499.887    23183056.189    23183058.655    23183055.662  
+     -2977.329       -2319.997          47.201          41.595  
+  -3847035.499    -2951860.041    23643793.647    23643797.278    23643794.052  
+     -3129.563       -2438.631          48.938          42.290  
+  -5005873.562    -3892307.587    23929777.634    23929780.602    23929778.052  
+      1960.894        1527.959          47.896          42.117  
+ -14046524.021   -10690487.399    22362238.514    22362241.707    22362238.905  
+      3018.420        2351.997          50.502          44.549  
+ 03  8  2  0 21 19.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24291821.651   -18916834.602    20462539.414    20462541.553    20462540.036  
+       248.457         193.609          52.065          47.676  
+ -15048925.202   -11698049.442    22117058.723    22117061.761    22117059.175  
+     -1950.645       -1519.977          50.849          45.417  
+ -17281558.900   -13454502.486    21782957.795    21782960.421    21782958.172  
+      1137.839         886.627          51.718          45.417  
+ -18107683.144   -14094605.059    21350790.008    21350791.524    21350789.760  
+      2010.513        1566.635          51.023          45.765  
+  -9369920.230    -7288020.264    23183905.950    23183908.278    23183905.676  
+     -2977.303       -2319.979          47.201          41.422  
+  -3842341.759    -2948202.582    23644686.807    23644690.577    23644687.403  
+     -3129.427       -2438.510          48.938          42.117  
+  -5008815.881    -3894600.300    23929217.518    23929220.940    23929218.210  
+      1961.248        1528.264          47.896          42.117  
+ -14051051.966   -10694015.663    22361376.739    22361379.814    22361377.247  
+      3018.244        2351.873          50.502          44.549  
+ 03  8  2  0 21 21.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24292193.948   -18917124.705    20462468.725    20462470.800    20462469.139  
+       247.641         192.960          52.065          47.676  
+ -15045999.236   -11695769.471    22117615.674    22117618.503    22117615.932  
+     -1950.927       -1520.204          50.849          45.417  
+ -17283265.233   -13455832.092    21782633.105    21782635.751    21782633.458  
+      1137.002         885.963          51.718          45.417  
+ -18110698.704   -14096954.845    21350216.092    21350217.765    21350215.909  
+      2009.952        1566.190          51.023          45.938  
+  -9365454.367    -7284540.380    23184755.884    23184757.658    23184755.600  
+     -2977.441       -2320.079          47.201          41.422  
+  -3837647.716    -2944544.890    23645580.174    23645584.186    23645580.744  
+     -3129.566       -2438.619          48.938          42.117  
+  -5011758.187    -3896893.004    23928657.997    23928661.260    23928658.415  
+      1961.376        1528.330          47.896          42.117  
+ -14055579.175   -10697543.359    22360515.396    22360518.473    22360515.751  
+      3017.716        2351.458          50.502          44.722  
+ 03  8  2  0 21 22.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24292565.186   -18917413.982    20462397.967    20462400.214    20462398.423  
+       246.879         192.381          52.065          47.676  
+ -15043072.986   -11693489.278    22118172.557    22118175.169    22118172.754  
+     -1951.156       -1520.377          50.849          45.417  
+ -17284970.411   -13457160.802    21782308.459    21782311.445    21782308.937  
+      1136.166         885.325          51.718          45.417  
+ -18113713.493   -14099304.032    21349642.377    21349643.867    21349642.275  
+      2009.357        1565.733          51.023          45.938  
+  -9360988.346    -7281060.366    23185605.801    23185607.118    23185605.593  
+     -2977.681       -2320.266          47.201          41.595  
+  -3832953.586    -2940887.129    23646473.231    23646477.546    23646474.056  
+     -3129.673       -2438.708          48.938          42.117  
+  -5014700.702    -3899185.874    23928098.171    23928100.160    23928098.557  
+      1961.419        1528.372          47.896          42.117  
+ -14060105.890   -10701070.666    22359654.037    22359656.774    22359654.343  
+      3017.387        2351.218          50.502          44.722  
+ 03  8  2  0 21 24.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24292935.081   -18917702.212    20462327.743    20462329.858    20462328.023  
+       246.658         192.206          52.065          47.676  
+ -15040146.180   -11691208.651    22118729.535    22118732.162    22118729.621  
+     -1950.876       -1520.158          50.849          45.244  
+ -17286674.179   -13458488.415    21781984.137    21781987.564    21781984.681  
+      1135.865         885.091          51.718          45.417  
+ -18116727.231   -14101652.400    21349068.991    21349070.550    21349068.842  
+      2009.300        1565.693          51.023          45.765  
+  -9356521.897    -7277580.016    23186455.906    23186457.674    23186455.708  
+     -2977.437       -2320.073          47.201          41.422  
+  -3828259.087    -2937229.080    23647366.666    23647370.227    23647367.452  
+     -3129.294       -2438.405          48.938          42.117  
+  -5017643.143    -3901478.682    23927538.180    23927540.781    23927538.679  
+      1962.116        1528.933          47.896          42.117  
+ -14064631.810   -10704597.358    22358792.747    22358795.713    22358793.093  
+      3017.492        2351.299          50.502          44.722  
+ 03  8  2  0 21 25.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24293303.730   -18917989.472    20462257.603    20462259.612    20462257.908  
+       245.327         191.165          52.065          47.676  
+ -15037218.921   -11688927.666    22119286.489    22119289.340    22119286.606  
+     -1951.674       -1520.792          50.849          45.417  
+ -17288376.618   -13459814.989    21781660.476    21781663.397    21781660.713  
+      1134.474         884.008          51.718          45.417  
+ -18119740.054   -14104000.054    21348495.473    21348497.302    21348495.496  
+      2008.190        1564.823          51.023          45.938  
+  -9352055.158    -7274099.448    23187306.075    23187307.796    23187305.929  
+     -2977.933       -2320.452          47.201          41.422  
+  -3823564.318    -2933570.826    23648259.924    23648263.179    23648260.795  
+     -3129.980       -2438.956          48.765          42.117  
+  -5020585.587    -3903771.492    23926978.163    23926980.566    23926978.860  
+      1961.560        1528.480          47.896          42.117  
+ -14069157.026   -10708123.499    22357931.728    22357934.722    22357931.996  
+      3016.498        2350.519          50.502          44.722  
+ 03  8  2  0 21 27.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24293671.257   -18918275.858    20462187.512    20462189.686    20462187.996  
+       244.601         190.601          52.065          47.676  
+ -15034291.316   -11686646.420    22119843.532    22119846.468    22119843.609  
+     -1951.886       -1520.951          50.849          45.417  
+ -17290077.857   -13461140.630    21781336.633    21781339.774    21781336.990  
+      1133.703         883.412          51.718          45.417  
+ -18122752.026   -14106347.047    21347922.372    21347924.069    21347922.303  
+      2007.685        1564.431          51.023          45.938  
+  -9347588.182    -7270618.688    23188156.103    23188157.527    23188156.210  
+     -2978.121       -2320.593          47.201          41.422  
+  -3818869.416    -2929912.460    23649153.243    23649156.559    23649154.219  
+     -3130.022       -2438.976          48.765          42.117  
+  -5023528.215    -3906064.446    23926418.170    23926420.743    23926418.918  
+      1961.680        1528.579          47.896          42.290  
+ -14073681.699   -10711649.220    22357070.718    22357073.819    22357070.958  
+      3016.194        2350.290          50.502          44.722  
+ 03  8  2  0 21 28.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24294037.523   -18918561.258    20462117.707    20462119.890    20462118.271  
+       243.894         190.049          52.065          47.676  
+ -15031363.246   -11684364.808    22120400.738    22120403.702    22120400.776  
+     -1952.057       -1521.070          50.849          45.244  
+ -17291777.745   -13462465.217    21781013.072    21781015.950    21781013.453  
+      1132.941         882.816          51.718          45.417  
+ -18125763.040   -14108693.288    21347349.342    21347351.312    21347349.284  
+      2007.159        1564.020          51.023          45.938  
+  -9343120.861    -7267137.651    23189006.019    23189007.966    23189006.531  
+     -2978.197       -2320.659          47.201          41.422  
+  -3814174.228    -2926253.878    23650046.732    23650050.456    23650047.550  
+     -3130.079       -2439.022          48.765          42.117  
+  -5026470.830    -3908357.385    23925858.390    23925860.926    23925859.070  
+      1961.800        1528.659          47.896          42.117  
+ -14078205.650   -10715174.375    22356209.708    22356212.791    22356210.105  
+      3015.866        2350.021          50.502          44.722  
+ 03  8  2  0 21 30.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24294402.604   -18918845.737    20462048.333    20462050.373    20462048.770  
+       242.807         189.194          52.065          47.676  
+ -15028434.786   -11682082.892    22120958.085    22120960.740    22120958.105  
+     -1952.595       -1521.503          50.849          45.417  
+ -17293476.378   -13463788.823    21780689.792    21780692.776    21780690.128  
+      1131.822         881.926          51.718          45.417  
+ -18128773.171   -14111038.844    21346776.509    21346778.370    21346776.446  
+      2006.255        1563.307          51.023          45.938  
+  -9338653.298    -7263656.433    23189856.250    23189857.303    23189856.916  
+     -2978.545       -2320.952          47.201          41.422  
+  -3809478.854    -2922595.156    23650940.578    23650943.427    23650940.968  
+     -3130.471       -2439.335          48.765          42.117  
+  -5029413.549    -3910650.418    23925298.370    23925300.875    23925299.300  
+      1961.624        1528.536          47.896          42.117  
+ -14082728.965   -10718699.033    22355349.076    22355351.943    22355349.399  
+      3015.115        2349.436          50.502          44.722  
+ 03  8  2  0 21 31.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24294766.515   -18919129.307    20461979.130    20461981.270    20461979.454  
+       242.118         188.669          52.065          47.676  
+ -15025505.938   -11679800.677    22121515.471    22121517.884    22121515.521  
+     -1952.752       -1521.620          50.849          45.417  
+ -17295173.749   -13465111.452    21780366.933    21780369.815    21780367.079  
+      1131.074         881.355          51.718          45.244  
+ -18131782.424   -14113383.714    21346204.043    21346205.713    21346203.721  
+      2005.788        1562.951          51.023          45.765  
+  -9334185.470    -7260175.014    23190706.354    23190707.720    23190707.264  
+     -2978.701       -2321.057          47.201          41.595  
+  -3804783.288    -2918936.270    23651834.112    23651837.442    23651834.561  
+     -3130.537       -2439.386          48.765          41.943  
+  -5032356.352    -3912943.514    23924738.327    23924741.033    23924739.498  
+      1961.742        1528.633          47.896          42.117  
+ -14087251.661   -10722223.212    22354488.441    22354491.583    22354488.779  
+      3014.823        2349.214          50.502          44.722  
+ 03  8  2  0 21 33.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24295129.183   -18919411.907    20461910.232    20461912.261    20461910.338  
+       241.734         188.370          52.065          47.502  
+ -15022576.641   -11677518.104    22122072.854    22122075.626    22122073.030  
+     -1952.619       -1521.523          50.849          45.244  
+ -17296869.804   -13466433.052    21780044.250    21780046.467    21780044.262  
+      1130.658         881.027          51.718          45.244  
+ -18134790.721   -14115727.842    21345631.426    21345633.347    21345631.135  
+      2005.608        1562.817          51.023          45.765  
+  -9329717.328    -7256693.354    23191556.429    23191558.665    23191557.507  
+     -2978.475       -2320.882          47.201          41.595  
+  -3800087.482    -2915277.202    23652727.525    23652731.108    23652728.197  
+     -3130.216       -2439.111          48.765          41.943  
+  -5035299.210    -3915236.650    23924178.424    23924180.525    23924179.517  
+      1962.103        1528.920          47.896          41.943  
+ -14091773.648   -10725746.839    22353628.016    22353630.969    22353628.305  
+      3014.771        2349.184          50.502          44.549  
+ 03  8  2  0 21 34.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24295490.632   -18919693.554    20461841.407    20461843.323    20461841.452  
+       240.781         187.623          52.065          47.676  
+ -15019646.911   -11675235.198    22122630.422    22122633.001    22122630.608  
+     -1953.042       -1521.844          50.849          45.417  
+ -17298564.555   -13467753.636    21779721.712    21779724.499    21779721.762  
+      1129.629         880.232          51.718          45.417  
+ -18137798.087   -14118071.241    21345059.127    21345061.016    21345058.726  
+      2004.813        1562.187          51.023          45.938  
+  -9325248.882    -7253211.444    23192406.692    23192409.221    23192407.960  
+     -2978.921       -2321.232          47.201          41.422  
+  -3795391.426    -2911617.944    23653621.032    23653623.660    23653621.774  
+     -3130.518       -2439.366          48.765          42.117  
+  -5038242.105    -3917529.810    23923618.463    23923620.739    23923619.545  
+      1962.115        1528.916          47.896          42.117  
+ -14096294.959   -10729269.934    22352767.588    22352770.482    22352767.931  
+      3014.162        2348.706          50.502          44.722  
+ 03  8  2  0 21 36.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24295850.841   -18919974.239    20461772.964    20461775.002    20461772.828  
+       239.591         186.699          52.065          47.502  
+ -15016716.712   -11672951.928    22123187.871    22123190.397    22123188.263  
+     -1953.711       -1522.376          50.849          45.244  
+ -17300257.989   -13469073.195    21779399.438    21779402.501    21779399.490  
+      1128.366         879.247          51.718          45.417  
+ -18140804.511   -14120413.910    21344487.160    21344488.625    21344486.485  
+      2003.828        1561.424          51.023          45.938  
+  -9320780.124    -7249729.296    23193257.141    23193258.979    23193258.329  
+     -2979.569       -2321.730          47.201          41.595  
+  -3790695.129    -2907958.488    23654514.637    23654518.260    23654515.250  
+     -3131.025       -2439.757          48.591          42.117  
+  -5041185.025    -3919822.992    23923057.992    23923061.541    23923059.594  
+      1961.832        1528.694          47.896          41.943  
+ -14100815.602   -10732792.509    22351907.238    22351910.587    22351907.747  
+      3013.376        2348.089          50.502          44.722  
+ 03  8  2  0 21 37.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24296209.798   -18920253.944    20461704.585    20461706.561    20461704.535  
+       239.004         186.237          52.065          47.676  
+ -15013786.067   -11670668.310    22123745.693    22123748.414    22123745.964  
+     -1953.774       -1522.420          50.849          45.417  
+ -17301950.079   -13470391.706    21779077.283    21779080.246    21779077.432  
+      1127.708         878.738          51.718          45.417  
+ -18143809.978   -14122755.832    21343915.090    21343916.853    21343914.444  
+      2003.438        1561.121          51.023          45.938  
+  -9316311.047    -7246246.903    23194107.432    23194109.750    23194108.856  
+     -2979.376       -2321.595          47.375          41.422  
+  -3785998.542    -2904298.808    23655408.324    23655411.529    23655408.903  
+     -3130.996       -2439.722          48.591          42.117  
+  -5044127.944    -3922116.166    23922498.056    23922500.852    23922499.614  
+      1961.979        1528.811          48.070          42.117  
+ -14105335.528   -10736314.526    22351047.373    22351050.410    22351047.737  
+      3013.152        2347.908          50.502          44.722  
+ 03  8  2  0 21 39.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24296567.585   -18920532.741    20461636.565    20461638.680    20461636.455  
+       237.362         184.945          52.065          47.676  
+ -15010855.029   -11668384.384    22124303.309    22124306.274    22124303.693  
+     -1954.911       -1523.317          50.849          45.244  
+ -17303640.924   -13471709.244    21778755.695    21778758.392    21778755.676  
+      1126.041         877.420          51.718          45.244  
+ -18146814.569   -14125097.073    21343343.294    21343345.216    21343342.514  
+      2002.046        1560.023          51.023          45.938  
+  -9311841.696    -7242764.301    23194958.187    23194960.405    23194959.261  
+     -2980.409       -2322.389          47.375          41.595  
+  -3781301.784    -2900639.006    23656302.727    23656305.683    23656302.640  
+     -3131.965       -2440.492          48.591          42.117  
+  -5047071.021    -3924409.476    23921937.885    23921941.271    23921939.498  
+      1961.250        1528.235          48.070          41.943  
+ -14109854.840   -10739836.070    22350187.308    22350190.215    22350187.786  
+      3011.913        2346.934          50.502          44.549  
+ 03  8  2  0 21 40.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24296924.291   -18920810.694    20461568.663    20461570.695    20461568.586  
+       237.353         184.951          52.065          47.676  
+ -15007923.701   -11666100.231    22124861.201    22124864.107    22124861.380  
+     -1954.373       -1522.887          50.849          45.244  
+ -17305330.616   -13473025.888    21778434.071    21778436.993    21778434.167  
+      1125.998         877.397          51.718          45.244  
+ -18149818.360   -14127437.690    21342771.722    21342773.203    21342770.812  
+      2002.202        1560.155          51.023          45.938  
+  -9307372.228    -7239281.600    23195809.032    23195810.557    23195809.784  
+     -2979.783       -2321.909          47.375          41.595  
+  -3776604.916    -2896979.114    23657196.197    23657200.290    23657196.391  
+     -3131.408       -2440.060          48.591          42.117  
+  -5050014.285    -3926702.929    23921377.860    23921381.151    23921379.373  
+      1962.135        1528.945          48.070          41.943  
+ -14114373.604   -10743357.183    22349327.373    22349330.305    22349327.909  
+      3012.215        2347.172          50.502          44.722  
+ 03  8  2  0 21 42.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24297279.529   -18921087.502    20461501.068    20461503.011    20461500.998  
+       236.415         184.218          52.065          47.676  
+ -15004991.704   -11663815.560    22125419.041    22125422.020    22125419.213  
+     -1954.801       -1523.220          50.849          45.244  
+ -17307018.754   -13474341.319    21778112.810    21778115.616    21778112.978  
+      1125.007         876.627          51.718          45.417  
+ -18152820.995   -14129777.400    21342200.289    21342202.115    21342199.353  
+      2001.461        1559.575          51.023          45.938  
+  -9302902.177    -7235798.440    23196659.398    23196660.484    23196660.250  
+     -2980.150       -2322.205          47.375          41.422  
+  -3771907.620    -2893318.877    23658090.334    23658093.910    23658090.247  
+     -3131.613       -2440.228          48.591          42.290  
+  -5052957.352    -3928996.218    23920817.948    23920821.035    23920819.252  
+      1961.973        1528.805          48.070          42.117  
+ -14118891.466   -10746877.595    22348467.480    22348470.522    22348468.181  
+      3011.650        2346.743          50.502          44.722  
+ 03  8  2  0 21 43.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24297633.758   -18921363.522    20461433.621    20461435.655    20461433.671  
+       235.387         183.410          52.065          47.676  
+ -15002059.483   -11661530.714    22125977.120    22125979.935    22125977.116  
+     -1955.299       -1523.624          50.849          45.244  
+ -17308705.791   -13475655.891    21777791.868    21777794.545    21777791.996  
+      1123.911         875.766          51.718          45.244  
+ -18155822.922   -14132116.561    21341629.107    21341630.661    21341628.042  
+      2000.631        1558.924          51.023          45.938  
+  -9298432.065    -7232315.233    23197509.858    23197511.569    23197510.933  
+     -2980.546       -2322.522          47.375          41.248  
+  -3767210.254    -2889658.602    23658983.983    23658987.488    23658984.143  
+     -3132.016       -2440.521          48.591          42.117  
+  -5055900.663    -3931289.716    23920257.757    23920260.564    23920259.097  
+      1961.767        1528.633          48.070          41.943  
+ -14123408.852   -10750397.637    22347607.859    22347610.869    22347608.536  
+      3010.981        2346.208          50.502          44.722  
+ 03  8  2  0 21 45.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24297986.777   -18921638.604    20461366.538    20461368.556    20461366.565  
+       235.337         183.385          52.065          47.676  
+ -14999126.845   -11659245.545    22126535.099    22126538.156    22126535.104  
+     -1954.820       -1523.235          50.849          45.244  
+ -17310391.547   -13476969.471    21777470.944    21777473.594    21777471.154  
+      1123.791         875.690          51.718          45.244  
+ -18158823.920   -14134455.004    21341058.049    21341059.826    21341057.011  
+      2000.781        1559.057          51.023          45.938  
+  -9293961.652    -7228831.805    23198360.315    23198362.496    23198361.529  
+     -2979.905       -2321.994          47.375          41.248  
+  -3762512.675    -2885998.154    23659877.724    23659881.413    23659878.100  
+     -3131.371       -2440.025          48.591          42.117  
+  -5058844.037    -3933583.251    23919697.801    23919700.611    23919698.837  
+      1962.619        1529.308          47.896          41.943  
+ -14127925.592   -10753917.171    22346748.417    22346751.302    22346748.998  
+      3011.302        2346.474          50.502          44.722  
+ 03  8  2  0 21 46.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24298338.462   -18921912.645    20461299.595    20461301.537    20461299.674  
+       234.189         182.485          52.065          47.676  
+ -14996193.657   -11656959.945    22127093.344    22127096.082    22127093.228  
+     -1955.426       -1523.696          50.849          45.244  
+ -17312075.885   -13478281.940    21777150.417    21777152.783    21777150.523  
+      1122.590         874.744          51.718          45.244  
+ -18161823.878   -14136792.634    21340487.150    21340488.640    21340486.269  
+      1999.816        1558.302          51.023          45.938  
+  -9289490.834    -7225348.048    23199211.240    23199213.052    23199212.088  
+     -2980.441       -2322.436          47.375          41.248  
+  -3757814.760    -2882337.443    23660771.556    23660775.875    23660772.136  
+     -3131.865       -2440.399          48.591          42.464  
+  -5061787.352    -3935876.742    23919137.428    23919140.386    23919138.581  
+      1962.264        1529.038          48.070          41.943  
+ -14132441.522   -10757436.078    22345888.983    22345892.144    22345889.624  
+      3010.509        2345.854          50.502          44.722  
+ 03  8  2  0 21 48.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24298689.092   -18922185.863    20461232.899    20461234.947    20461232.949  
+       233.429         181.891          52.065          47.676  
+ -14993260.209   -11654674.145    22127651.549    22127654.212    22127651.395  
+     -1955.685       -1523.911          50.849          45.244  
+ -17313759.095   -13479593.535    21776830.271    21776832.645    21776830.137  
+      1121.801         874.133          51.718          45.244  
+ -18164823.080   -14139129.673    21339916.500    21339918.043    21339915.672  
+      1999.241        1557.859          51.023          45.938  
+  -9285019.893    -7221864.200    23200061.585    23200063.128    23200062.690  
+     -2980.568       -2322.516          47.375          41.422  
+  -3753116.790    -2878676.693    23661665.196    23661669.142    23661666.012  
+     -3131.979       -2440.508          48.417          42.117  
+  -5064730.857    -3938170.380    23918577.324    23918580.512    23918578.291  
+      1962.311        1529.083          48.070          41.943  
+ -14136956.969   -10760954.607    22345029.518    22345032.933    22345030.272  
+      3010.115        2345.544          50.502          44.722  
+ 03  8  2  0 21 49.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24299038.361   -18922458.023    20461166.523    20461168.272    20461166.453  
+       232.673         181.311          52.065          47.676  
+ -14990326.193   -11652387.898    22128209.820    22128212.527    22128209.838  
+     -1955.867       -1524.050          50.849          45.244  
+ -17315440.848   -13480903.991    21776509.991    21776512.984    21776509.995  
+      1120.970         873.493          51.718          45.244  
+ -18167821.233   -14141465.898    21339345.888    21339347.395    21339345.300  
+      1998.701        1557.443          51.023          45.938  
+  -9280548.528    -7218380.014    23200912.402    23200914.259    23200913.367  
+     -2980.783       -2322.679          47.375          41.248  
+  -3748418.436    -2875015.644    23662559.485    23662563.843    23662559.990  
+     -3132.065       -2440.561          48.417          42.117  
+  -5067674.255    -3940463.940    23918017.292    23918020.552    23918018.027  
+      1962.441        1529.186          47.896          41.943  
+ -14141471.580   -10764472.483    22344170.414    22344173.726    22344171.040  
+      3009.715        2345.235          50.502          44.722  
+ 03  8  2  0 21 51.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24299386.424   -18922729.239    20461100.132    20461102.009    20461100.222  
+       231.668         180.516          52.065          47.676  
+ -14987391.757   -11650101.325    22128768.189    22128771.058    22128768.310  
+     -1956.375       -1524.448          50.849          45.244  
+ -17317121.317   -13482213.444    21776190.225    21776192.859    21776190.189  
+      1119.926         872.664          51.718          45.244  
+ -18170818.446   -14143801.386    21338775.593    21338776.973    21338775.087  
+      1997.910        1556.810          51.023          45.765  
+  -9276076.869    -7214895.607    23201763.028    23201766.230    23201764.024  
+     -2981.084       -2322.921          47.375          41.248  
+  -3743719.884    -2871354.431    23663453.582    23663457.411    23663453.929  
+     -3132.351       -2440.792          48.417          42.117  
+  -5070617.749    -3942757.566    23917457.084    23917460.577    23917457.986  
+      1962.368        1529.109          47.896          41.943  
+ -14145985.539   -10767989.851    22343311.335    22343314.519    22343312.025  
+      3009.099        2344.759          50.502          44.722  
+ 03  8  2  0 21 52.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24299733.289   -18922999.525    20461034.113    20461036.181    20461034.234  
+       230.637         179.718          52.065          47.676  
+ -14984456.917   -11647814.439    22129326.620    22129329.408    22129326.853  
+     -1956.896       -1524.853          50.849          45.244  
+ -17318800.510   -13483521.907    21775870.652    21775873.293    21775870.604  
+      1118.845         871.822          51.718          45.244  
+ -18173814.755   -14146136.173    21338205.430    21338206.800    21338204.973  
+      1997.061        1556.153          51.023          45.938  
+  -9271604.922    -7211410.979    23202614.148    23202616.209    23202614.687  
+     -2981.517       -2323.259          47.375          41.248  
+  -3739021.112    -2867693.059    23664347.646    23664351.676    23664347.891  
+     -3132.750       -2441.109          48.417          42.117  
+  -5073561.312    -3945051.245    23916896.904    23916899.966    23916897.826  
+      1962.136        1528.917          47.896          41.943  
+ -14150498.836   -10771506.703    22342452.363    22342455.966    22342453.127  
+      3008.460        2344.258          50.502          44.722  
+ 03  8  2  0 21 54.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24300079.018   -18923268.925    20460968.266    20460970.322    20460968.488  
+       230.451         179.577          52.065          47.676  
+ -14981521.732   -11645527.283    22129885.296    22129888.040    22129885.460  
+     -1956.537       -1524.569          50.849          45.244  
+ -17320478.472   -13484829.407    21775551.236    21775553.932    21775551.226  
+      1118.578         871.624          51.718          45.244  
+ -18176810.213   -14148470.295    21337635.444    21337636.902    21337634.992  
+      1997.038        1556.136          51.023          45.938  
+  -9267132.762    -7207926.184    23203465.182    23203467.436    23203465.403  
+     -2981.147       -2322.966          47.375          41.248  
+  -3734322.182    -2864031.557    23665241.638    23665246.128    23665241.860  
+     -3132.303       -2440.749          48.417          42.290  
+  -5076505.011    -3947345.043    23916336.642    23916339.959    23916337.815  
+      1962.825        1529.478          47.896          41.943  
+ -14155011.542   -10775023.094    22341593.755    22341596.985    22341594.411  
+      3008.597        2344.365          50.502          44.722  
+ 03  8  2  0 21 55.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24300423.434   -18923537.300    20460902.773    20460904.795    20460902.947  
+       229.030         178.456          52.065          47.676  
+ -14978586.028   -11643239.721    22130443.717    22130446.688    22130444.147  
+     -1957.469       -1525.302          50.849          45.244  
+ -17322155.055   -13486135.832    21775232.239    21775234.668    21775232.143  
+      1117.137         870.486          51.718          45.244  
+ -18179804.659   -14150803.628    21337065.726    21337067.136    21337065.199  
+      1995.803        1555.158          51.023          45.938  
+  -9262660.239    -7204441.098    23204316.294    23204318.956    23204316.408  
+     -2981.976       -2323.637          47.375          41.248  
+  -3729622.936    -2860369.815    23666135.977    23666139.664    23666135.962  
+     -3133.060       -2441.349          48.244          42.290  
+  -5079448.673    -3949638.797    23915776.592    23915779.751    23915777.615  
+      1962.215        1529.004          47.896          41.943  
+ -14159523.495   -10778538.899    22340735.159    22340738.236    22340735.826  
+      3007.555        2343.539          50.502          44.549  
+ 03  8  2  0 21 57.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24300766.715   -18923804.795    20460837.486    20460839.377    20460837.606  
+       228.459         178.016          52.065          47.676  
+ -14975649.990   -11640951.903    22131002.539    22131005.413    22131002.928  
+     -1957.484       -1525.319          50.849          45.244  
+ -17323830.417   -13487441.309    21774913.495    21774916.027    21774913.345  
+      1116.509         870.002          51.718          45.244  
+ -18182798.251   -14153136.299    21336495.895    21336497.719    21336495.560  
+      1995.429        1554.880          51.023          45.938  
+  -9258187.485    -7200955.838    23205167.601    23205170.166    23205167.515  
+     -2981.923       -2323.581          47.375          41.422  
+  -3724923.567    -2856707.972    23667030.187    23667034.273    23667030.014  
+     -3132.968       -2441.265          48.244          42.117  
+  -5082392.531    -3951932.712    23915216.441    23915219.699    23915217.474  
+      1962.532        1529.230          47.896          41.943  
+ -14164034.858   -10782054.245    22339876.647    22339879.910    22339877.372  
+      3007.329        2343.361          50.502          44.549  
+ 03  8  2  0 21 58.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24301108.757   -18924071.321    20460772.444    20460774.409    20460772.526  
+       228.106         177.750          52.065          47.676  
+ -14972713.493   -11638663.721    22131561.314    22131563.698    22131561.731  
+     -1957.315       -1525.174          50.849          45.244  
+ -17325504.458   -13488745.753    21774594.994    21774597.420    21774594.803  
+      1116.070         869.671          51.718          45.244  
+ -18185790.894   -14155468.226    21335926.456    21335928.010    21335926.027  
+      1995.271        1554.765          51.023          45.938  
+  -9253714.445    -7197470.353    23206018.851    23206020.994    23206018.813  
+     -2981.626       -2323.324          47.375          41.248  
+  -3720223.925    -2853045.924    23667924.330    23667928.681    23667924.406  
+     -3132.678       -2441.034          48.244          42.290  
+  -5085336.377    -3954226.615    23914656.387    23914659.726    23914657.234  
+      1962.973        1529.595          47.896          41.943  
+ -14168545.522   -10785569.045    22339018.468    22339021.613    22339019.028  
+      3007.329        2343.378          50.502          44.722  
+ 03  8  2  0 22  0.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24301449.501   -18924336.833    20460707.695    20460709.231    20460707.675  
+       226.642         176.603          52.065          47.676  
+ -14969776.500   -11636375.157    22132120.383    22132122.747    22132120.650  
+     -1958.220       -1525.888          50.849          45.244  
+ -17327177.122   -13490049.122    21774276.673    21774279.287    21774276.558  
+      1114.570         868.492          51.718          45.244  
+ -18188782.545   -14157799.379    21335357.186    21335358.861    21335356.697  
+      1994.001        1553.761          51.023          45.938  
+  -9249241.017    -7193984.568    23206870.230    23206872.443    23206870.148  
+     -2982.523       -2324.039          47.375          41.248  
+  -3715524.001    -2849383.650    23668819.007    23668822.637    23668818.708  
+     -3133.411       -2441.609          48.244          42.290  
+  -5088280.205    -3956520.505    23914096.195    23914099.837    23914097.093  
+      1962.378        1529.143          47.896          41.943  
+ -14173055.445   -10789083.269    22338160.189    22338163.167    22338160.856  
+      3006.243        2342.524          50.502          44.722  
+ 03  8  2  0 22  1.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24301789.243   -18924601.571    20460642.963    20460644.706    20460643.074  
+       226.177         176.243          52.065          47.676  
+ -14966839.300   -11634086.432    22132679.280    22132681.799    22132679.580  
+     -1958.159       -1525.840          50.849          45.244  
+ -17328848.697   -13491351.648    21773958.486    21773961.033    21773958.534  
+      1114.056         868.088          51.718          45.244  
+ -18191773.492   -14160129.987    21334788.253    21334789.490    21334787.499  
+      1993.783        1553.593          51.023          45.765  
+  -9244767.530    -7190498.731    23207721.919    23207723.746    23207721.696  
+     -2982.331       -2323.902          47.375          41.248  
+  -3710824.064    -2845721.363    23669713.650    23669717.494    23669713.129  
+     -3133.267       -2441.497          48.244          42.290  
+  -5091224.282    -3958814.599    23913536.072    23913540.056    23913536.914  
+      1962.751        1529.431          47.896          41.943  
+ -14177564.898   -10792597.130    22337301.908    22337304.884    22337302.780  
+      3006.159        2342.464          50.502          44.549  
+ 03  8  2  0 22  3.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24302127.618   -18924865.242    20460578.508    20460580.424    20460578.659  
+       224.987         175.314          52.065          47.676  
+ -14963901.523   -11631797.255    22133238.354    22133240.812    22133238.755  
+     -1958.835       -1526.361          50.849          45.244  
+ -17330518.823   -13492653.044    21773640.861    21773643.562    21773640.773  
+      1112.804         867.118          51.718          45.244  
+ -18194763.354   -14162459.751    21334219.313    21334220.411    21334218.503  
+      1992.756        1552.798          51.023          45.765  
+  -9240293.605    -7187012.555    23208572.819    23208574.979    23208573.302  
+     -2982.900       -2324.349          47.375          41.422  
+  -3706123.761    -2842058.792    23670607.802    23670612.388    23670607.636  
+     -3133.783       -2441.906          48.244          42.290  
+  -5094168.300    -3961108.636    23912976.180    23912978.593    23912976.638  
+      1962.459        1529.194          47.896          41.943  
+ -14182073.530   -10796110.349    22336444.012    22336447.305    22336444.775  
+      3005.317        2341.806          50.502          44.722  
+ 03  8  2  0 22  4.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24302464.694   -18925127.896    20460514.467    20460516.228    20460514.507  
+       224.205         174.697          52.065          47.676  
+ -14960963.248   -11629507.686    22133797.279    22133799.969    22133797.919  
+     -1959.069       -1526.551          50.849          45.244  
+ -17332187.562   -13493953.358    21773323.254    21773325.812    21773323.257  
+      1111.941         866.444          51.718          45.244  
+ -18197752.226   -14164788.735    21333650.391    21333651.694    21333649.733  
+      1992.165        1552.324          51.023          45.938  
+  -9235819.312    -7183526.094    23209424.181    23209426.479    23209424.903  
+     -2983.138       -2324.531          47.375          41.422  
+  -3701423.139    -2838395.968    23671502.153    23671506.923    23671502.205  
+     -3133.889       -2441.982          48.070          42.464  
+  -5097112.298    -3963402.656    23912415.777    23912418.287    23912416.291  
+      1962.510        1529.225          47.896          41.769  
+ -14186581.419   -10799622.986    22335586.299    22335589.496    22335586.849  
+      3004.939        2341.499          50.502          44.722  
+ 03  8  2  0 22  6.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24302800.736   -18925389.750    20460450.599    20460452.422    20460450.548  
+       223.473         174.132          52.065          47.676  
+ -14958024.732   -11627217.938    22134356.473    22134359.198    22134357.077  
+     -1959.291       -1526.723          50.849          45.244  
+ -17333855.191   -13495252.811    21773005.847    21773008.524    21773005.927  
+      1111.150         865.827          51.718          45.244  
+ -18200740.363   -14167117.156    21333081.800    21333083.101    21333081.031  
+      1991.643        1551.930          51.023          45.938  
+  -9231344.921    -7180039.555    23210275.664    23210277.886    23210276.592  
+     -2983.237       -2324.599          47.375          41.248  
+  -3696722.503    -2834733.149    23672397.144    23672401.121    23672396.752  
+     -3133.999       -2442.062          48.070          42.290  
+  -5100056.549    -3965696.865    23911855.289    23911858.794    23911855.896  
+      1962.634        1529.304          47.896          41.943  
+ -14191088.799   -10803135.228    22334728.544    22334731.814    22334729.094  
+      3004.498        2341.164          50.502          44.722  
+ 03  8  2  0 22  7.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24303135.588   -18925650.676    20460386.855    20460388.593    20460386.860  
+       222.884         173.682          52.065          47.676  
+ -14955085.832   -11624927.889    22134915.863    22134918.365    22134916.334  
+     -1959.345       -1526.757          50.849          45.244  
+ -17335521.546   -13496551.271    21772688.850    21772691.653    21772688.833  
+      1110.484         865.315          51.718          45.244  
+ -18203727.589   -14169444.866    21332513.278    21332514.442    21332512.605  
+      1991.194        1551.581          51.023          45.765  
+  -9226870.270    -7176552.815    23211127.287    23211129.064    23211128.094  
+     -2983.167       -2324.528          47.375          41.248  
+  -3692021.664    -2831070.162    23673291.408    23673295.718    23673291.396  
+     -3133.900       -2441.982          48.070          42.290  
+  -5103000.868    -3967991.149    23911295.434    23911297.550    23911295.521  
+      1962.885        1529.540          47.896          41.769  
+ -14195595.542   -10806646.976    22333870.818    22333874.093    22333871.456  
+      3004.313        2341.028          50.502          44.722  
+ 03  8  2  0 22  9.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24303468.911   -18925910.403    20460323.387    20460325.333    20460323.444  
+       221.580         172.655          52.065          47.676  
+ -14952146.185   -11622637.256    22135475.147    22135477.752    22135475.719  
+     -1960.110       -1527.360          50.849          45.244  
+ -17337186.285   -13497848.467    21772372.039    21772374.677    21772371.978  
+      1109.140         864.257          51.544          45.244  
+ -18206713.582   -14171771.611    21331945.247    21331946.437    21331944.364  
+      1990.089        1550.711          51.023          45.938  
+  -9222394.993    -7173065.577    23211978.627    23211980.797    23211979.792  
+     -2983.985       -2325.179          47.375          41.422  
+  -3687320.282    -2827406.747    23674185.711    23674190.385    23674186.109  
+     -3134.572       -2442.532          48.070          42.290  
+  -5105944.904    -3970285.199    23910734.944    23910737.858    23910735.204  
+      1962.414        1529.153          47.896          41.769  
+ -14200101.295   -10810157.946    22333013.529    22333016.666    22333014.050  
+      3003.348        2340.263          50.502          44.722  
+ 03  8  2  0 22 10.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24303801.370   -18926169.464    20460260.105    20460262.133    20460260.232  
+       221.309         172.452          52.065          47.676  
+ -14949206.469   -11620346.573    22136034.614    22136037.082    22136035.158  
+     -1959.861       -1527.158          50.849          45.244  
+ -17338850.074   -13499144.927    21772055.534    21772057.969    21772055.336  
+      1108.841         864.036          51.544          45.244  
+ -18209699.006   -14174097.918    21331377.097    21331378.228    21331376.309  
+      1990.046        1550.682          51.023          45.938  
+  -9217919.834    -7169578.446    23212830.573    23212832.710    23212831.398  
+     -2983.439       -2324.755          47.375          41.248  
+  -3682619.041    -2823743.453    23675080.604    23675084.664    23675080.711  
+     -3134.122       -2442.159          48.070          42.464  
+  -5108889.339    -3972579.560    23910174.531    23910177.597    23910175.000  
+      1962.996        1529.621          48.070          41.943  
+ -14204606.735   -10813668.685    22332156.239    22332159.226    22332156.697  
+      3003.480        2340.382          50.502          44.549  
+ 03  8  2  0 22 12.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24304132.486   -18926427.478    20460197.029    20460199.093    20460197.210  
+       220.597         171.898          52.065          47.676  
+ -14946266.222   -11618055.472    22136594.043    22136596.763    22136594.682  
+     -1960.025       -1527.285          50.849          45.244  
+ -17340512.453   -13500440.288    21771739.004    21771741.655    21771738.964  
+      1108.068         863.434          51.544          45.244  
+ -18212683.383   -14176423.409    21330809.099    21330810.437    21330808.499  
+      1989.559        1550.310          51.023          45.938  
+  -9213444.214    -7166090.955    23213682.239    23213684.040    23213683.128  
+     -2983.541       -2324.817          47.375          41.422  
+  -3677917.453    -2820079.879    23675975.739    23675979.139    23675975.446  
+     -3134.226       -2442.254          48.070          42.290  
+  -5111833.762    -3974873.921    23909614.003    23909616.558    23909614.819  
+      1963.198        1529.770          47.896          41.769  
+ -14209111.374   -10817178.792    22331298.949    22331301.920    22331299.460  
+      3003.093        2340.077          50.502          44.722  
+ 03  8  2  0 22 13.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24304462.245   -18926684.432    20460134.341    20460136.408    20460134.492  
+       219.520         171.049          52.065          47.676  
+ -14943325.411   -11615763.931    22137153.785    22137156.515    22137154.229  
+     -1960.613       -1527.753          50.849          45.244  
+ -17342173.381   -13501734.515    21771423.109    21771425.923    21771422.908  
+      1106.936         862.546          51.544          45.244  
+ -18215666.685   -14178748.058    21330241.497    21330242.666    21330240.816  
+      1988.624        1549.573          51.023          45.938  
+  -9208968.186    -7162603.139    23214534.261    23214536.017    23214534.883  
+     -2984.072       -2325.254          47.375          41.422  
+  -3673215.524    -2816416.042    23676870.545    23676874.435    23676870.440  
+     -3134.618       -2442.556          48.070          42.464  
+  -5114778.101    -3977168.206    23909053.976    23909056.928    23909054.624  
+      1962.887        1529.501          47.896          41.769  
+ -14213615.209   -10820688.268    22330441.984    22330445.099    22330442.407  
+      3002.376        2339.511          50.502          44.722  
+ 03  8  2  0 22 15.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24304791.008   -18926940.613    20460071.717    20460073.875    20460071.944  
+       218.894         170.566          52.065          47.676  
+ -14940384.402   -11613472.240    22137713.347    22137715.830    22137713.905  
+     -1960.704       -1527.816          50.849          45.244  
+ -17343833.234   -13503027.907    21771107.386    21771109.994    21771107.065  
+      1106.255         862.015          51.544          45.244  
+ -18218649.292   -14181072.169    21329674.099    21329675.086    21329673.252  
+      1988.227        1549.270          51.023          45.938  
+  -9204492.108    -7159115.295    23215386.447    23215388.222    23215386.594  
+     -2984.052       -2325.242          47.375          41.248  
+  -3668513.589    -2812752.204    23677765.464    23677768.860    23677765.354  
+     -3134.509       -2442.452          47.896          42.464  
+  -5117722.711    -3979462.708    23908493.338    23908496.630    23908494.284  
+      1963.172        1529.747          47.896          41.595  
+ -14218118.567   -10824197.378    22329584.924    22329588.070    22329585.465  
+      3002.119        2339.310          50.502          44.722  
+ 03  8  2  0 22 16.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24305118.454   -18927195.767    20460009.259    20460011.512    20460009.623  
+       218.278         170.096          52.065          47.676  
+ -14937442.870   -11611180.139    22138273.023    22138275.850    22138273.613  
+     -1960.793       -1527.882          50.849          45.244  
+ -17345491.682   -13504320.202    21770791.620    21770794.028    21770791.492  
+      1105.596         861.515          51.544          45.244  
+ -18221630.868   -14183395.477    21329106.619    21329107.490    21329105.930  
+      1987.812        1548.955          51.023          45.938  
+  -9200015.660    -7155627.142    23216238.818    23216239.998    23216238.509  
+     -2984.009       -2325.200          47.375          41.422  
+  -3663811.332    -2809088.108    23678660.308    23678664.055    23678660.203  
+     -3134.493       -2442.441          47.896          42.464  
+  -5120667.295    -3981757.185    23907932.917    23907935.988    23907933.935  
+      1963.454        1529.962          47.896          41.595  
+ -14222621.162   -10827705.897    22328728.286    22328731.456    22328728.686  
+      3001.856        2339.117          50.502          44.722  
+ 03  8  2  0 22 18.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24305444.630   -18927449.930    20459947.468    20459949.165    20459947.511  
+       217.062         169.141          52.065          47.676  
+ -14934500.876   -11608887.673    22138832.869    22138835.778    22138833.447  
+     -1961.428       -1528.378          50.849          45.244  
+ -17347148.779   -13505611.446    21770476.440    21770478.930    21770476.206  
+      1104.332         860.514          51.544          45.244  
+ -18224611.456   -14185718.008    21328539.412    21328540.379    21328538.795  
+      1986.791        1548.152          51.023          45.765  
+  -9195538.865    -7152138.729    23217090.304    23217091.288    23217090.610  
+     -2984.625       -2325.691          47.375          41.074  
+  -3659108.829    -2805423.818    23679554.733    23679558.927    23679555.115  
+     -3135.055       -2442.897          47.896          42.464  
+  -5123611.882    -3984051.659    23907372.855    23907375.171    23907373.617  
+      1963.053        1529.645          47.896          41.769  
+ -14227123.003   -10831213.821    22327871.619    22327874.448    22327872.028  
+      3000.998        2338.433          50.502          44.722  
+ 03  8  2  0 22 19.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24305769.734   -18927703.259    20459885.541    20459887.565    20459885.599  
+       216.306         168.556          52.065          47.676  
+ -14931558.600   -11606594.993    22139392.987    22139395.494    22139393.292  
+     -1961.680       -1528.576          50.849          45.244  
+ -17348804.722   -13506901.790    21770161.195    21770163.810    21770161.166  
+      1103.494         859.868          51.544          45.244  
+ -18227591.278   -14188039.949    21327972.405    21327973.653    21327971.786  
+      1986.210        1547.699          51.023          45.938  
+  -9191061.921    -7148650.198    23217942.197    23217943.820    23217942.574  
+     -2984.759       -2325.793          47.375          41.248  
+  -3654406.238    -2801759.469    23680449.430    23680453.420    23680449.948  
+     -3135.156       -2442.975          47.896          42.638  
+  -5126556.666    -3986346.303    23906811.928    23906815.670    23906813.197  
+      1963.097        1529.700          47.896          41.769  
+ -14231624.347   -10834721.359    22327015.109    22327017.920    22327015.484  
+      3000.606        2338.133          50.502          44.722  
+ 03  8  2  0 22 21.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24306093.548   -18927955.582    20459823.936    20459825.880    20459823.921  
+       215.693         168.079          52.065          47.676  
+ -14928615.842   -11604301.937    22139953.020    22139955.356    22139953.319  
+     -1961.765       -1528.639          50.676          45.244  
+ -17350459.283   -13508191.058    21769846.480    21769849.026    21769846.404  
+      1102.808         859.336          51.544          45.244  
+ -18230570.094   -14190361.105    21327405.651    21327407.042    21327404.953  
+      1985.802        1547.391          51.023          45.765  
+  -9186584.637    -7145161.403    23218794.131    23218796.464    23218794.482  
+     -2984.752       -2325.770          47.549          41.422  
+  -3649703.362    -2798094.891    23681344.371    23681349.596    23681344.790  
+     -3135.064       -2442.891          47.896          42.638  
+  -5129501.461    -3988640.949    23906251.537    23906255.048    23906252.541  
+      1963.414        1529.948          47.896          41.595  
+ -14236124.942   -10838228.315    22326158.763    22326161.647    22326159.114  
+      3000.351        2337.949          50.502          44.722  
+ 03  8  2  0 22 22.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24306416.097   -18928206.921    20459762.432    20459764.403    20459762.500  
+       214.536         167.172          52.065          47.676  
+ -14925672.609   -11602008.510    22140513.010    22140515.517    22140513.433  
+     -1962.377       -1529.126          50.676          45.244  
+ -17352112.496   -13509479.272    21769531.854    21769534.729    21769531.895  
+      1101.599         858.385          51.544          45.244  
+ -18233547.934   -14192681.496    21326839.061    21326839.928    21326838.336  
+      1984.837        1546.623          51.023          45.938  
+  -9182106.996    -7141672.338    23219646.084    23219647.711    23219646.320  
+     -2985.324       -2326.232          47.549          41.422  
+  -3645000.227    -2794430.118    23682239.011    23682244.103    23682239.599  
+     -3135.545       -2443.266          47.896          42.638  
+  -5132446.236    -3990935.573    23905691.142    23905695.087    23905691.879  
+      1963.019        1529.613          47.896          41.769  
+ -14240624.789   -10841734.691    22325302.474    22325305.439    22325302.808  
+      2999.530        2337.296          50.502          44.722  
+ 03  8  2  0 22 24.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24306737.512   -18928457.375    20459701.367    20459703.480    20459701.354  
+       213.614         166.450          52.065          47.676  
+ -14922729.062   -11599714.836    22141073.049    22141075.869    22141073.607  
+     -1962.747       -1529.420          50.676          45.244  
+ -17353764.495   -13510766.547    21769217.391    21769220.145    21769217.609  
+      1100.652         857.644          51.544          45.244  
+ -18236524.929   -14195001.232    21326272.485    21326273.312    21326271.815  
+      1984.109        1546.051          51.023          45.938  
+  -9177629.173    -7138183.131    23220498.125    23220499.988    23220498.377  
+     -2985.612       -2326.452          47.549          41.248  
+  -3640296.962    -2790765.244    23683134.248    23683138.331    23683134.557  
+     -3135.797       -2443.483          47.896          42.638  
+  -5135391.177    -3993230.335    23905130.626    23905134.144    23905131.093  
+      1962.958        1529.583          47.896          41.769  
+ -14245124.048   -10845240.609    22324446.286    22324449.060    22324446.651  
+      2998.992        2336.878          50.502          44.722  
+ 03  8  2  0 22 25.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24307057.722   -18928706.889    20459640.328    20459642.407    20459640.462  
+       213.509         166.382          52.065          47.676  
+ -14919785.098   -11597420.837    22141633.302    22141635.977    22141633.973  
+     -1962.346       -1529.087          50.676          45.244  
+ -17355415.204   -13512052.814    21768903.244    21768905.758    21768903.478  
+      1100.472         857.521          51.544          45.417  
+ -18239501.013   -14197320.259    21325706.050    21325707.105    21325705.520  
+      1984.175        1546.115          51.023          45.765  
+  -9173151.092    -7134693.722    23221350.619    23221351.616    23221350.516  
+     -2985.070       -2326.016          47.549          41.248  
+  -3635593.489    -2787100.202    23684029.207    23684033.665    23684029.594  
+     -3135.296       -2443.076          47.896          42.638  
+  -5138336.162    -3995525.132    23904570.221    23904573.201    23904570.462  
+      1963.706        1530.169          47.896          41.595  
+ -14249622.652   -10848746.013    22323590.306    22323592.919    22323590.553  
+      2999.259        2337.096          50.676          44.722  
+ 03  8  2  0 22 27.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24307376.557   -18928955.331    20459579.719    20459581.604    20459579.805  
+       212.023         165.208          52.065          47.676  
+ -14916840.572   -11595126.402    22142193.753    22142196.110    22142194.375  
+     -1963.248       -1529.804          50.676          45.244  
+ -17357064.460   -13513337.948    21768589.452    21768591.915    21768589.618  
+      1098.942         856.316          51.544          45.244  
+ -18242476.013   -14199638.438    21325140.070    21325141.113    21325139.484  
+      1982.877        1545.092          51.023          45.938  
+  -9168672.560    -7131203.952    23222202.654    23222204.665    23222202.723  
+     -2985.884       -2326.653          47.549          41.248  
+  -3630889.676    -2783434.899    23684924.108    23684929.295    23684924.750  
+     -3136.008       -2443.643          47.896          42.638  
+  -5141281.046    -3997819.840    23904009.580    23904013.370    23904009.848  
+      1963.039        1529.618          47.896          41.769  
+ -14254120.403   -10852250.754    22322734.335    22322737.159    22322734.637  
+      2998.114        2336.188          50.676          44.722  
+ 03  8  2  0 22 28.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24307694.366   -18929202.974    20459519.282    20459521.109    20459519.322  
+       211.071         164.472          52.065          47.676  
+ -14913895.810   -11592831.787    22142754.106    22142756.396    22142754.775  
+     -1963.678       -1530.133          50.676          45.244  
+ -17358712.604   -13514622.215    21768275.847    21768278.340    21768275.957  
+      1097.935         855.535          51.718          45.244  
+ -18245450.280   -14201956.052    21324573.914    21324575.007    21324573.638  
+      1982.162        1544.545          51.023          45.938  
+  -9164193.939    -7127714.118    23223054.998    23223055.972    23223054.815  
+     -2986.222       -2326.933          47.549          41.074  
+  -3626185.806    -2779769.549    23685819.233    23685824.028    23685819.750  
+     -3136.397       -2443.944          47.722          42.638  
+  -5144226.179    -4000114.741    23903449.107    23903452.983    23903449.342  
+      1962.977        1529.595          47.896          41.595  
+ -14258617.695   -10855755.139    22321878.596    22321881.255    22321878.837  
+      2997.575        2335.771          50.676          44.722  
+ 03  8  2  0 22 30.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24308010.896   -18929449.622    20459459.086    20459461.080    20459459.108  
+       210.638         164.134          52.065          47.676  
+ -14910950.577   -11590536.801    22143314.353    22143317.133    22143315.248  
+     -1963.590       -1530.076          50.676          45.244  
+ -17360359.390   -13515905.422    21767962.336    21767965.382    21767962.584  
+      1097.465         855.163          51.718          45.244  
+ -18248423.544   -14204272.880    21324008.307    21324009.476    21324008.059  
+      1981.906        1544.343          51.023          45.938  
+  -9159714.967    -7124224.004    23223907.185    23223908.958    23223907.005  
+     -2986.039       -2326.791          47.549          41.248  
+  -3621481.658    -2776103.984    23686714.181    23686719.070    23686714.675  
+     -3136.108       -2443.701          47.722          42.638  
+  -5147171.335    -4002409.676    23902888.795    23902891.882    23902888.834  
+      1963.411        1529.938          47.896          41.769  
+ -14263114.250   -10859258.946    22321022.682    22321025.897    22321023.142  
+      2997.479        2335.698          50.676          44.722  
+ 03  8  2  0 22 31.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24308326.111   -18929695.245    20459399.105    20459401.070    20459399.136  
+       209.721         163.421          52.065          47.676  
+ -14908004.831   -11588241.413    22143875.030    22143878.023    22143875.781  
+     -1963.943       -1530.351          50.676          45.244  
+ -17362004.774   -13517187.536    21767649.221    21767652.365    21767649.482  
+      1096.504         854.417          51.718          45.244  
+ -18251395.800   -14206588.924    21323442.682    21323443.835    21323442.609  
+      1981.191        1543.780          51.023          45.938  
+  -9155235.647    -7120733.627    23224759.648    23224761.323    23224759.306  
+     -2986.341       -2327.005          47.549          41.248  
+  -3616777.225    -2772438.201    23687609.098    23687614.870    23687609.520  
+     -3136.370       -2443.920          47.722          42.812  
+  -5150116.437    -4004704.553    23902328.277    23902330.950    23902328.265  
+      1963.364        1529.888          47.896          41.595  
+ -14267610.011   -10862762.133    22320167.375    22320170.300    22320167.663  
+      2996.909        2335.252          50.676          44.722  
+ 03  8  2  0 22 33.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24308640.289   -18929940.060    20459339.309    20459341.338    20459339.376  
+       209.227         163.038          52.065          47.676  
+ -14905058.848   -11585945.845    22144435.746    22144438.258    22144436.388  
+     -1963.960       -1530.360          50.676          45.244  
+ -17363649.030   -13518468.774    21767336.327    21767339.074    21767336.589  
+      1095.910         853.961          51.718          45.244  
+ -18254367.289   -14208904.371    21322877.224    21322878.014    21322877.292  
+      1980.863        1543.529          51.023          45.938  
+  -9150756.198    -7117243.152    23225612.008    23225612.623    23225611.697  
+     -2986.237       -2326.936          47.549          41.248  
+  -3612072.753    -2768772.387    23688504.677    23688510.270    23688504.526  
+     -3136.165       -2443.769          47.722          42.812  
+  -5153061.749    -4006999.599    23901767.573    23901771.850    23901767.665  
+      1963.685        1530.153          47.896          41.769  
+ -14272105.277   -10866264.936    22319311.988    22319314.770    22319312.238  
+      2996.791        2335.160          50.676          44.722  
+ 03  8  2  0 22 34.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24308953.154   -18930183.852    20459279.805    20459281.698    20459279.872  
+       208.118         162.171          52.065          47.676  
+ -14902112.355   -11583649.877    22144996.293    22144998.974    22144997.106  
+     -1964.536       -1530.811          50.676          45.244  
+ -17365291.900   -13519748.937    21767023.776    21767026.479    21767023.953  
+      1094.757         853.065          51.718          45.244  
+ -18257337.767   -14211219.027    21322311.761    21322312.781    21322312.055  
+      1979.945        1542.807          51.023          45.938  
+  -9146276.407    -7113752.404    23226464.406    23226466.383    23226464.179  
+     -2986.603       -2327.225          47.549          41.248  
+  -3607367.965    -2765106.328    23689399.929    23689404.880    23689399.553  
+     -3136.621       -2444.112          47.722          42.638  
+  -5156007.036    -4009294.630    23901207.620    23901211.248    23901207.246  
+      1963.391        1529.922          47.896          41.769  
+ -14276599.762   -10869767.131    22318456.645    22318460.021    22318457.017  
+      2995.988        2334.536          50.676          44.722  
+ 03  8  2  0 22 36.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24309264.755   -18930426.657    20459220.385    20459222.381    20459220.604  
+       207.434         161.641          52.065          47.676  
+ -14899165.404   -11581353.553    22145556.922    22145559.861    22145557.864  
+     -1964.670       -1530.905          50.676          45.244  
+ -17366933.409   -13521028.032    21766711.333    21766713.843    21766711.477  
+      1094.012         852.479          51.718          45.244  
+ -18260307.264   -14213532.920    21321746.687    21321747.566    21321746.994  
+      1979.443        1542.431          51.023          45.938  
+  -9141796.267    -7110261.388    23227317.050    23227318.542    23227316.752  
+     -2986.734       -2327.331          47.549          41.248  
+  -3602662.929    -2761440.066    23690295.172    23690300.143    23690294.673  
+     -3136.667       -2444.152          47.722          42.638  
+  -5158952.356    -4011589.684    23900646.930    23900650.363    23900646.787  
+      1963.580        1530.074          47.896          41.595  
+ -14281093.531   -10873268.765    22317601.414    22317604.844    22317601.864  
+      2995.675        2334.299          50.676          44.722  
+ 03  8  2  0 22 37.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24309575.205   -18930668.565    20459161.430    20459163.310    20459161.532  
+       206.519         160.921          52.065          47.676  
+ -14896218.114   -11579056.964    22146117.783    22146120.612    22146118.614  
+     -1965.018       -1531.174          50.676          45.244  
+ -17368573.700   -13522306.180    21766399.243    21766401.950    21766399.200  
+      1093.048         851.726          51.718          45.244  
+ -18263275.921   -14215846.153    21321181.873    21321182.811    21321182.068  
+      1978.753        1541.876          51.023          45.938  
+  -9137315.926    -7106770.206    23228169.729    23228170.982    23228169.265  
+     -2987.099       -2327.625          47.549          41.074  
+  -3597957.761    -2757773.705    23691190.620    23691195.330    23691189.892  
+     -3136.925       -2444.344          47.722          42.812  
+  -5161897.808    -4013884.836    23900086.583    23900090.121    23900086.293  
+      1963.524        1530.013          47.896          41.769  
+ -14285586.704   -10876769.938    22316746.499    22316749.376    22316746.842  
+      2995.148        2333.884          50.676          44.722  
+ 03  8  2  0 22 39.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24309884.273   -18930909.395    20459102.483    20459104.626    20459102.710  
+       205.670         160.262          52.065          47.676  
+ -14893270.245   -11576759.922    22146678.875    22146681.664    22146679.439  
+     -1965.315       -1531.417          50.676          45.244  
+ -17370212.526   -13523583.180    21766087.291    21766090.323    21766087.227  
+      1092.135         851.010          51.718          45.244  
+ -18266243.475   -14218158.528    21320617.118    21320618.067    21320617.353  
+      1978.102        1541.378          51.023          45.765  
+  -9132835.145    -7103278.693    23229022.005    23229023.475    23229021.882  
+     -2987.280       -2327.759          47.549          41.074  
+  -3593252.235    -2754107.075    23692085.798    23692091.349    23692085.056  
+     -3137.008       -2444.414          47.722          42.812  
+  -5164843.152    -4016179.910    23899525.776    23899529.065    23899525.729  
+      1963.603        1530.092          47.722          41.595  
+ -14290079.024   -10880270.445    22315891.539    22315894.435    22315891.934  
+      2994.682        2333.514          50.676          44.722  
+ 03  8  2  0 22 40.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24310192.377   -18931149.481    20459043.892    20459045.851    20459044.052  
+       204.997         159.741          52.065          47.676  
+ -14890322.211   -11574462.758    22147239.860    22147242.562    22147240.346  
+     -1965.475       -1531.537          50.676          45.244  
+ -17371850.286   -13524859.359    21765775.554    21765778.474    21765775.532  
+      1091.398         850.438          51.718          45.244  
+ -18269210.346   -14220470.380    21320052.427    21320053.756    21320052.730  
+      1977.583        1540.978          51.023          45.938  
+  -9128354.323    -7099787.138    23229874.511    23229876.966    23229874.485  
+     -2987.329       -2327.800          47.549          41.074  
+  -3588546.724    -2750440.449    23692981.362    23692986.740    23692980.336  
+     -3137.067       -2444.458          47.722          42.812  
+  -5167788.822    -4018475.241    23898965.451    23898968.494    23898964.929  
+      1963.769        1530.215          47.722          41.595  
+ -14294570.915   -10883770.620    22315036.624    22315039.490    22315037.077  
+      2994.327        2333.240          50.676          44.722  
+ 03  8  2  0 22 42.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24310499.071   -18931388.459    20458985.726    20458987.439    20458985.730  
+       203.925         158.899          52.065          47.676  
+ -14887373.573   -11572165.119    22147801.042    22147803.530    22147801.421  
+     -1966.028       -1531.967          50.676          45.244  
+ -17373486.554   -13526134.368    21765464.133    21765467.228    21765464.146  
+      1090.271         849.558          51.718          45.417  
+ -18272176.098   -14222781.353    21319488.187    21319489.032    21319488.336  
+      1976.718        1540.296          51.023          45.938  
+  -9123873.046    -7096295.244    23230727.312    23230729.976    23230727.037  
+     -2987.774       -2328.137          47.549          41.248  
+  -3583840.813    -2746773.515    23693876.923    23693881.908    23693875.789  
+     -3137.500       -2444.792          47.549          42.812  
+  -5170734.343    -4020770.451    23898405.042    23898408.513    23898404.218  
+      1963.509        1529.983          47.722          41.595  
+ -14299061.930   -10887270.110    22314182.175    22314185.310    22314182.433  
+      2993.634        2332.704          50.676          44.722  
+ 03  8  2  0 22 43.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24310804.644   -18931626.569    20458927.489    20458929.328    20458927.596  
+       203.476         158.554          52.065          47.676  
+ -14884424.618   -11569867.228    22148362.236    22148365.031    22148362.531  
+     -1965.950       -1531.910          50.676          45.244  
+ -17375121.621   -13527408.448    21765152.830    21765156.030    21765152.965  
+      1089.778         849.179          51.718          45.417  
+ -18275141.011   -14225091.673    21318923.943    21318924.510    21318924.043  
+      1976.471        1540.108          51.023          45.765  
+  -9119391.593    -7092803.203    23231580.002    23231582.995    23231579.757  
+     -2987.563       -2327.965          47.549          41.074  
+  -3579134.823    -2743106.510    23694772.505    23694777.267    23694771.473  
+     -3137.192       -2444.560          47.549          42.812  
+  -5173680.032    -4023065.786    23897844.348    23897847.992    23897843.461  
+      1963.910        1530.324          47.722          41.595  
+ -14303552.374   -10890769.151    22313327.583    22313330.757    22313327.862  
+      2993.524        2332.612          50.676          44.722  
+ 03  8  2  0 22 45.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24311109.029   -18931863.755    20458869.584    20458871.469    20458869.656  
+       202.334         157.660          52.065          47.676  
+ -14881475.296   -11567569.059    22148923.385    22148925.919    22148923.825  
+     -1966.518       -1532.350          50.676          45.244  
+ -17376755.413   -13528681.532    21764841.945    21764845.141    21764842.023  
+      1088.569         848.236          51.544          45.417  
+ -18278105.028   -14227401.297    21318359.810    21318360.620    21318359.884  
+      1975.526        1539.372          51.023          45.938  
+  -9114909.883    -7089310.962    23232432.582    23232435.282    23232432.552  
+     -2988.022       -2328.305          47.549          41.074  
+  -3574428.627    -2739439.348    23695668.050    23695673.069    23695667.198  
+     -3137.719       -2444.978          47.549          42.812  
+  -5176625.820    -4025361.206    23897283.644    23897286.749    23897282.749  
+      1963.596        1530.079          47.722          41.595  
+ -14308042.180   -10894267.704    22312473.096    22312476.217    22312473.470  
+      2992.805        2332.058          50.676          44.722  
+ 03  8  2  0 22 46.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24311412.164   -18932099.963    20458811.950    20458813.772    20458811.982  
+       201.843         157.287          52.065          47.676  
+ -14878525.516   -11565270.532    22149484.845    22149487.421    22149485.223  
+     -1966.470       -1532.307          50.676          45.244  
+ -17378387.874   -13529953.579    21764531.435    21764534.524    21764531.377  
+      1088.014         847.802          51.544          45.244  
+ -18281068.068   -14229710.155    21317795.957    21317796.834    21317795.936  
+      1975.224        1539.139          51.023          45.765  
+  -9110427.865    -7085818.482    23233285.917    23233288.448    23233285.393  
+     -2988.040       -2328.337          47.549          41.248  
+  -3569722.199    -2735772.007    23696563.655    23696568.818    23696562.843  
+     -3137.575       -2444.850          47.549          42.812  
+  -5179571.668    -4027656.674    23896723.032    23896726.394    23896722.283  
+      1964.032        1530.411          47.722          41.769  
+ -14312531.236   -10897765.665    22311619.012    22311622.004    22311619.143  
+      2992.587        2331.881          50.676          44.722  
+ 03  8  2  0 22 48.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24311713.974   -18932335.141    20458754.464    20458756.475    20458754.613  
+       200.962         156.597          52.065          47.676  
+ -14875575.222   -11562971.600    22150046.309    22150048.729    22150046.676  
+     -1966.816       -1532.586          50.676          45.244  
+ -17380018.925   -13531224.527    21764221.038    21764223.948    21764221.032  
+      1087.108         847.103          51.544          45.244  
+ -18284030.071   -14232018.211    21317232.272    21317233.424    21317232.183  
+      1974.513        1538.588          51.023          45.765  
+  -9105945.457    -7082325.694    23234138.808    23234140.466    23234138.433  
+     -2988.219       -2328.480          47.549          41.248  
+  -3565015.464    -2732104.430    23697459.401    23697464.070    23697458.696  
+     -3137.762       -2445.001          47.549          42.812  
+  -5182517.447    -4029952.078    23896162.732    23896165.909    23896161.812  
+      1964.006        1530.399          47.722          41.769  
+ -14317019.511   -10901263.020    22310764.960    22310768.175    22310764.970  
+      2992.076        2331.497          50.676          44.722  
+ 03  8  2  0 22 49.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24312014.689   -18932569.465    20458697.260    20458699.116    20458697.407  
+       200.000         155.846          52.065          47.676  
+ -14872624.634   -11560672.443    22150607.801    22150610.452    22150608.194  
+     -1967.295       -1532.955          50.676          45.244  
+ -17381648.806   -13532494.563    21763910.836    21763914.054    21763910.826  
+      1086.065         846.286          51.544          45.244  
+ -18286991.288   -14234325.656    21316668.874    21316669.670    21316668.594  
+      1973.759        1537.996          51.023          45.938  
+  -9101462.925    -7078832.818    23234991.824    23234993.614    23234991.531  
+     -2988.506       -2328.684          47.549          41.074  
+  -3560308.654    -2728436.796    23698355.173    23698359.867    23698354.501  
+     -3138.049       -2445.226          47.549          42.812  
+  -5185463.437    -4032247.648    23895601.951    23895605.474    23895601.185  
+      1963.857        1530.263          47.722          41.595  
+ -14321507.237   -10904759.955    22309910.776    22309914.138    22309910.868  
+      2991.487        2331.032          50.676          44.896  
+ 03  8  2  0 22 51.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24312314.188   -18932802.842    20458640.315    20458642.255    20458640.460  
+       199.210         155.231          52.065          47.676  
+ -14869673.655   -11558372.982    22151169.364    22151171.671    22151169.761  
+     -1967.503       -1533.119          50.676          45.244  
+ -17383277.379   -13533763.577    21763600.894    21763604.012    21763600.913  
+      1085.247         845.643          51.544          45.244  
+ -18289951.574   -14236632.375    21316105.540    21316106.352    21316105.228  
+      1973.168        1537.533          51.023          45.765  
+  -9096980.094    -7075339.706    23235844.581    23235846.333    23235844.556  
+     -2988.667       -2328.825          47.722          41.248  
+  -3555601.641    -2724768.999    23699251.046    23699255.843    23699250.389  
+     -3138.132       -2445.287          47.549          42.812  
+  -5188409.476    -4034543.268    23895041.497    23895044.173    23895040.829  
+      1963.961        1530.352          47.722          41.769  
+ -14325994.295   -10908256.361    22309056.947    22309060.316    22309056.827  
+      2991.104        2330.724          50.676          44.722  
+ 03  8  2  0 22 52.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24312612.334   -18933035.161    20458583.582    20458585.369    20458583.805  
+       198.544         154.715          52.065          47.676  
+ -14866722.120   -11556073.084    22151730.993    22151733.469    22151731.451  
+     -1967.587       -1533.186          50.676          45.244  
+ -17384904.508   -13535031.466    21763291.414    21763294.339    21763291.257  
+      1084.491         845.060          51.544          45.417  
+ -18292910.793   -14238938.257    21315542.425    21315543.194    21315542.106  
+      1972.695        1537.170          51.023          45.938  
+  -9092496.872    -7071846.289    23236697.559    23236700.381    23236697.703  
+     -2988.723       -2328.871          47.722          41.248  
+  -3550894.294    -2721100.935    23700146.921    23700152.200    23700146.245  
+     -3138.103       -2445.271          47.549          42.812  
+  -5191355.435    -4036838.810    23894480.752    23894483.519    23894480.470  
+      1964.030        1530.409          47.722          41.769  
+ -14330480.531   -10911752.125    22308203.251    22308206.418    22308203.041  
+      2990.761        2330.467          50.676          44.722  
+ 03  8  2  0 22 54.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24312909.379   -18933266.625    20458527.033    20458528.931    20458527.352  
+       197.459         153.862          52.065          47.676  
+ -14863770.283   -11553772.952    22152292.574    22152295.480    22152293.192  
+     -1968.164       -1533.631          50.676          45.244  
+ -17386530.442   -13536298.430    21762981.915    21762985.029    21762981.846  
+      1083.378         844.190          51.544          45.244  
+ -18295869.198   -14241243.508    21314979.446    21314980.469    21314979.105  
+      1971.821        1536.483          51.023          45.938  
+  -9088013.488    -7068352.747    23237551.011    23237552.781    23237550.808  
+     -2989.190       -2329.231          47.722          41.248  
+  -3546186.820    -2717432.780    23701042.670    23701047.545    23701042.178  
+     -3138.596       -2445.652          47.549          42.812  
+  -5194301.553    -4039134.490    23893920.073    23893923.860    23893919.928  
+      1963.900        1530.313          47.722          41.769  
+ -14334966.176   -10915247.435    22307349.677    22307353.191    22307349.424  
+      2990.016        2329.877          50.676          44.896  
+ 03  8  2  0 22 55.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24313205.262   -18933497.183    20458470.578    20458472.610    20458471.102  
+       196.944         153.467          52.065          47.676  
+ -14860818.094   -11551472.547    22152854.433    22152857.176    22152854.979  
+     -1968.169       -1533.636          50.676          45.244  
+ -17388155.141   -13537564.430    21762672.736    21762675.782    21762672.664  
+      1082.800         843.745          51.544          45.417  
+ -18298826.729   -14243548.076    21314416.741    21314417.387    21314416.274  
+      1971.473        1536.221          51.023          45.765  
+  -9083529.886    -7064859.032    23238404.462    23238406.343    23238403.991  
+     -2989.065       -2329.135          47.722          41.248  
+  -3541479.241    -2713764.543    23701938.588    23701943.029    23701938.212  
+     -3138.453       -2445.539          47.549          42.985  
+  -5197247.822    -4041430.285    23893359.436    23893362.811    23893359.292  
+      1964.243        1530.588          47.722          41.595  
+ -14339451.221   -10918742.273    22306496.161    22306499.419    22306496.000  
+      2989.897        2329.800          50.676          44.722  
+ 03  8  2  0 22 57.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24313499.716   -18933726.626    20458414.540    20458416.519    20458415.088  
+       195.835         152.599          52.065          47.676  
+ -14857865.309   -11549171.671    22153416.313    22153418.812    22153416.843  
+     -1968.698       -1534.052          50.676          45.244  
+ -17389778.317   -13538829.240    21762363.878    21762366.848    21762363.750  
+      1081.614         842.820          51.544          45.244  
+ -18301783.125   -14245851.758    21313854.127    21313854.790    21313853.655  
+      1970.551        1535.489          51.023          45.938  
+  -9079045.800    -7061364.941    23239257.526    23239260.002    23239257.340  
+     -2989.530       -2329.491          47.722          41.422  
+  -3536771.240    -2710095.970    23702834.275    23702839.697    23702834.256  
+     -3138.830       -2445.844          47.549          42.812  
+  -5200193.927    -4043725.942    23892798.926    23892802.115    23892798.522  
+      1963.925        1530.327          47.722          41.595  
+ -14343935.355   -10922236.402    22305642.933    22305646.107    22305642.696  
+      2989.096        2329.171          50.676          44.722  
+ 03  8  2  0 22 58.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24313793.148   -18933955.277    20458358.733    20458360.573    20458359.345  
+       194.991         151.932          52.065          47.676  
+ -14854912.287   -11546870.618    22153978.027    22153980.710    22153978.716  
+     -1969.021       -1534.306          50.676          45.244  
+ -17391400.390   -13540093.190    21762055.539    21762058.313    21762055.067  
+      1080.710         842.101          51.544          45.417  
+ -18304738.784   -14248154.871    21313291.625    21313292.616    21313291.194  
+      1969.899        1534.972          51.023          45.938  
+  -9074561.623    -7057870.780    23240111.314    23240113.727    23240110.707  
+     -2989.761       -2329.685          47.722          41.248  
+  -3532063.212    -2706427.380    23703729.930    23703734.991    23703730.192  
+     -3138.970       -2445.951          47.549          42.812  
+  -5203140.294    -4046021.815    23892238.098    23892241.315    23892237.788  
+      1963.969        1530.372          47.722          41.595  
+ -14348419.010   -10925730.158    22304789.720    22304792.918    22304789.543  
+      2988.627        2328.801          50.676          44.896  
+ 03  8  2  0 23  0.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24314085.301   -18934182.932    20458303.205    20458305.263    20458303.790  
+       194.304         151.407          52.065          47.676  
+ -14851958.800   -11544569.204    22154540.137    22154542.828    22154540.616  
+     -1969.178       -1534.423          50.676          45.244  
+ -17393021.093   -13541356.079    21761747.309    21761749.924    21761746.647  
+      1079.977         841.542          51.544          45.417  
+ -18307693.437   -14250457.202    21312729.463    21312730.248    21312728.907  
+      1969.425        1534.621          51.023          45.765  
+  -9070077.123    -7054376.364    23240964.456    23240967.471    23240964.134  
+     -2989.831       -2329.734          47.722          41.248  
+  -3527354.928    -2702758.592    23704625.762    23704631.063    23704626.036  
+     -3138.966       -2445.940          47.549          42.812  
+  -5206086.665    -4048317.691    23891677.521    23891680.274    23891677.133  
+      1964.143        1530.496          47.722          41.595  
+ -14352901.913   -10929223.332    22303936.591    22303940.016    22303936.561  
+      2988.287        2328.537          50.676          44.722  
+ 03  8  2  0 23  1.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24314376.169   -18934409.580    20458247.932    20458249.868    20458248.432  
+       193.784         151.004          52.065          47.676  
+ -14849004.829   -11542267.405    22155102.270    22155104.891    22155102.508  
+     -1969.173       -1534.413          50.676          45.417  
+ -17394640.433   -13542617.899    21761439.212    21761441.796    21761438.548  
+      1079.391         841.089          51.544          45.417  
+ -18310647.106   -14252758.756    21312167.295    21312168.057    21312166.797  
+      1969.094        1534.365          51.023          45.938  
+  -9065592.287    -7050881.691    23241818.013    23241820.121    23241817.590  
+     -2989.644       -2329.583          47.722          41.422  
+  -3522646.369    -2699089.593    23705522.515    23705527.129    23705522.074  
+     -3138.843       -2445.846          47.722          42.812  
+  -5209033.050    -4050613.570    23891116.866    23891119.888    23891116.317  
+      1964.425        1530.729          47.722          41.769  
+ -14357384.062   -10932715.907    22303083.692    22303086.987    22303083.642  
+      2988.121        2328.404          50.676          44.896  
+ 03  8  2  0 23  3.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24314665.844   -18934635.300    20458192.779    20458194.543    20458193.254  
+       192.708         150.157          52.065          47.676  
+ -14846050.490   -11539965.327    22155664.393    22155667.100    22155664.512  
+     -1969.653       -1534.791          50.676          45.244  
+ -17396258.498   -13543878.728    21761131.172    21761133.883    21761130.724  
+      1078.272         840.213          51.544          45.417  
+ -18313599.868   -14255059.610    21311605.573    21311606.223    21311604.839  
+      1968.200        1533.659          51.023          45.938  
+  -9061107.202    -7047386.823    23242672.040    23242673.969    23242671.164  
+     -2990.179       -2330.013          47.722          41.422  
+  -3517937.640    -2695420.458    23706418.589    23706422.978    23706418.266  
+     -3139.150       -2446.095          47.722          42.812  
+  -5211979.493    -4052909.502    23890556.003    23890558.843    23890555.431  
+      1964.255        1530.586          47.722          41.769  
+ -14361865.553   -10936207.976    22302230.941    22302234.503    22302230.839  
+      2987.443        2327.875          50.676          44.896  
+ 03  8  2  0 23  4.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24314954.329   -18934860.094    20458137.833    20458139.855    20458138.325  
+       192.047         149.649          52.065          47.676  
+ -14843095.758   -11537662.941    22156226.534    22156229.554    22156226.609  
+     -1969.795       -1534.907          50.676          45.244  
+ -17397875.284   -13545138.560    21760823.644    21760826.301    21760823.207  
+      1077.570         839.672          51.718          45.417  
+ -18316551.727   -14257359.756    21311043.859    21311044.354    21311043.103  
+      1967.748        1533.307          51.023          45.938  
+  -9056621.874    -7043891.769    23243525.344    23243527.924    23243524.918  
+     -2990.212       -2330.021          47.722          41.422  
+  -3513228.757    -2691751.200    23707314.849    23707319.088    23707314.730  
+     -3139.167       -2446.108          47.722          42.812  
+  -5214926.067    -4055205.533    23889995.357    23889998.536    23889994.673  
+      1964.443        1530.743          47.722          41.769  
+ -14366346.392   -10939699.536    22301378.021    22301381.629    22301378.160  
+      2987.094        2327.602          50.676          44.896  
+ 03  8  2  0 23  6.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24315241.554   -18935083.905    20458083.019    20458085.144    20458083.624  
+       191.076         148.891          52.065          47.676  
+ -14840140.590   -11535360.212    22156788.877    22156792.023    22156788.801  
+     -1970.229       -1535.241          50.676          45.244  
+ -17399490.720   -13546397.335    21760516.313    21760519.015    21760515.948  
+      1076.500         838.834          51.718          45.417  
+ -18319502.609   -14259659.142    21310482.170    21310482.775    21310481.507  
+      1966.950        1532.687          51.023          45.938  
+  -9052136.227    -7040396.457    23244379.256    23244381.049    23244378.690  
+     -2990.569       -2330.308          47.722          41.422  
+  -3508519.628    -2688081.747    23708211.215    23708215.373    23708211.046  
+     -3139.472       -2446.341          47.722          42.812  
+  -5217872.625    -4057501.548    23889434.673    23889438.345    23889434.081  
+      1964.341        1530.652          47.722          41.595  
+ -14370826.511   -10943190.529    22300525.372    22300528.837    22300525.609  
+      2986.479        2327.118          50.676          44.896  
+ 03  8  2  0 23  7.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24315527.611   -18935306.808    20458028.838    20458030.502    20458029.164  
+       190.106         148.124          52.065          47.676  
+ -14837185.057   -11533057.201    22157351.387    22157354.188    22157351.087  
+     -1970.679       -1535.608          50.676          45.417  
+ -17401104.894   -13547655.135    21760208.966    21760211.413    21760208.907  
+      1075.494         838.043          51.718          45.417  
+ -18322452.611   -14261957.844    21309920.776    21309921.477    21309920.132  
+      1966.148        1532.045          51.023          45.938  
+  -9047650.374    -7036900.988    23245232.757    23245235.199    23245232.577  
+     -2990.843       -2330.541          47.722          41.422  
+  -3503810.337    -2684412.173    23709107.032    23709111.397    23709107.338  
+     -3139.790       -2446.592          47.722          42.812  
+  -5220819.328    -4059797.681    23888874.035    23888877.201    23888873.264  
+      1964.237        1530.553          47.722          41.595  
+ -14375305.983   -10946681.027    22299673.165    22299676.332    22299673.200  
+      2985.875        2326.641          50.676          44.896  
+ 03  8  2  0 23  9.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24315812.438   -18935528.753    20457974.711    20457976.498    20457974.961  
+       189.425         147.600          52.065          47.676  
+ -14834229.107   -11530753.870    22157913.902    22157916.992    22157913.515  
+     -1970.792       -1535.678          50.676          45.244  
+ -17402717.761   -13548911.918    21759902.020    21759904.699    21759902.055  
+      1074.738         837.450          51.718          45.417  
+ -18325401.674   -14264255.816    21309359.713    21309360.612    21309358.896  
+      1965.671        1531.687          51.023          45.765  
+  -9043164.222    -7033405.289    23246086.367    23246088.194    23246086.269  
+     -2990.944       -2330.606          47.722          41.595  
+  -3499100.849    -2680742.450    23710003.122    23710007.606    23710003.616  
+     -3139.784       -2446.584          47.722          42.985  
+  -5223766.077    -4062093.841    23888313.712    23888316.183    23888312.679  
+      1964.370        1530.663          47.722          41.422  
+ -14379784.768   -10950170.990    22298820.761    22298824.380    22298820.939  
+      2985.535        2326.382          50.676          44.896  
+ 03  8  2  0 23 10.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24316096.086   -18935749.778    20457920.589    20457922.326    20457920.934  
+       188.735         147.064          52.065          47.676  
+ -14831272.791   -11528450.252    22158476.855    22158479.672    22158476.167  
+     -1970.981       -1535.834          50.676          45.417  
+ -17404329.362   -13550167.712    21759595.503    21759598.189    21759595.467  
+      1074.005         836.885          51.718          45.417  
+ -18328349.845   -14266553.098    21308798.699    21308799.353    21308797.882  
+      1965.153        1531.291          51.023          45.765  
+  -9038677.849    -7029909.422    23246940.097    23246942.395    23246940.126  
+     -2990.926       -2330.591          47.722          41.422  
+  -3494391.198    -2677072.602    23710898.999    23710903.837    23710899.948  
+     -3139.763       -2446.568          47.722          42.985  
+  -5226712.898    -4064390.070    23887752.699    23887754.815    23887752.066  
+      1964.549        1530.809          47.722          41.595  
+ -14384262.902   -10953660.445    22297968.665    22297972.205    22297968.797  
+      2985.221        2326.148          50.676          44.896  
+ 03  8  2  0 23 12.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24316378.406   -18935969.765    20457866.677    20457868.546    20457867.146  
+       187.877         146.394          52.065          47.676  
+ -14828315.966   -11526146.227    22159039.225    22159042.323    22159038.889  
+     -1971.246       -1536.036          50.676          45.244  
+ -17405939.548   -13551422.397    21759289.088    21759291.599    21759289.213  
+      1073.089         836.170          51.718          45.244  
+ -18331296.974   -14268849.558    21308237.956    21308238.361    21308237.139  
+      1964.532        1530.795          51.023          45.938  
+  -9034191.086    -7026413.234    23247793.606    23247796.010    23247793.898  
+     -2991.261       -2330.882          47.722          41.422  
+  -3489681.241    -2673402.506    23711795.783    23711799.980    23711796.368  
+     -3139.969       -2446.730          47.722          42.812  
+  -5229659.709    -4066686.292    23887192.008    23887194.677    23887191.495  
+      1964.533        1530.794          47.722          41.595  
+ -14388740.236   -10957149.280    22297116.696    22297120.177    22297116.712  
+      2984.698        2325.741          50.676          44.896  
+ 03  8  2  0 23 13.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24316659.575   -18936188.860    20457813.211    20457815.354    20457813.583  
+       187.086         145.781          52.065          47.676  
+ -14825358.801   -11523841.945    22159602.010    22159604.860    22159601.777  
+     -1971.526       -1536.249          50.676          45.244  
+ -17407548.495   -13552676.125    21758983.028    21758985.514    21758983.145  
+      1072.227         835.508          51.718          45.417  
+ -18334243.241   -14271145.353    21307677.414    21307677.868    21307676.555  
+      1963.890        1530.302          51.023          45.765  
+  -9029704.148    -7022916.930    23248647.738    23248650.482    23248647.662  
+     -2991.360       -2330.920          47.722          41.595  
+  -3484971.172    -2669732.330    23712691.998    23712696.464    23712692.964  
+     -3140.034       -2446.762          47.722          42.985  
+  -5232606.671    -4068982.621    23886631.132    23886634.069    23886630.752  
+      1964.546        1530.809          47.722          41.595  
+ -14393216.959   -10960637.629    22296264.695    22296268.189    22296264.702  
+      2984.258        2325.396          50.676          44.896  
+ 03  8  2  0 23 15.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24316939.397   -18936406.900    20457760.161    20457762.001    20457760.273  
+       186.053         144.976          52.065          47.676  
+ -14822401.096   -11521537.236    22160164.923    22160167.717    22160164.729  
+     -1971.992       -1536.621          50.676          45.244  
+ -17409156.013   -13553928.733    21758677.133    21758679.535    21758677.339  
+      1071.157         834.664          51.718          45.417  
+ -18337188.431   -14273440.303    21307116.783    21307117.225    21307116.164  
+      1963.040        1529.638          51.023          45.765  
+  -9025216.815    -7019420.299    23249501.514    23249503.860    23249501.538  
+     -2991.705       -2331.207          47.896          41.595  
+  -3480260.750    -2666061.876    23713588.105    23713593.051    23713589.352  
+     -3140.426       -2447.082          47.722          42.812  
+  -5235553.549    -4071278.884    23886070.244    23886073.043    23886070.291  
+      1964.453        1530.749          47.722          41.595  
+ -14397692.872   -10964125.350    22295413.055    22295416.580    22295412.795  
+      2983.594        2324.873          50.676          44.896  
+ 03  8  2  0 23 16.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24317218.161   -18936624.122    20457706.985    20457708.869    20457707.202  
+       185.246         144.342          52.065          47.676  
+ -14819443.156   -11519232.350    22160727.903    22160730.465    22160727.744  
+     -1972.272       -1536.842          50.676          45.244  
+ -17410762.388   -13555180.453    21758371.405    21758373.968    21758371.743  
+      1070.306         833.994          51.718          45.417  
+ -18340132.875   -14275734.673    21306556.462    21306557.044    21306555.844  
+      1962.455        1529.177          51.023          45.765  
+  -9020729.365    -7015923.592    23250355.428    23250357.438    23250355.606  
+     -2991.891       -2331.343          47.896          41.595  
+  -3475550.307    -2662391.404    23714484.627    23714489.045    23714485.741  
+     -3140.596       -2447.222          47.896          42.812  
+  -5238500.635    -4073575.315    23885509.782    23885511.911    23885509.791  
+      1964.523        1530.788          47.722          41.595  
+ -14402168.252   -10967612.658    22294561.321    22294564.886    22294561.038  
+      2983.174        2324.545          50.676          44.896  
+ 03  8  2  0 23 18.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24317495.622   -18936840.325    20457654.067    20457656.025    20457654.434  
+       184.359         143.652          52.065          47.676  
+ -14816484.715   -11516927.070    22161290.916    22161293.519    22161290.852  
+     -1972.620       -1537.104          50.676          45.244  
+ -17412367.373   -13556431.090    21758066.019    21758068.226    21758066.367  
+      1069.356         833.276          51.718          45.417  
+ -18343076.281   -14278028.236    21305996.377    21305996.954    21305995.815  
+      1961.762        1528.647          51.023          45.765  
+  -9016241.576    -7012426.613    23251209.627    23251212.461    23251209.671  
+     -2992.168       -2331.550          47.896          41.595  
+  -3470839.589    -2658720.716    23715381.037    23715385.038    23715382.339  
+     -3140.734       -2447.319          47.896          42.985  
+  -5241447.698    -4075871.723    23884948.929    23884951.263    23884949.198  
+      1964.450        1530.749          47.722          41.769  
+ -14406642.866   -10971099.366    22293709.855    22293713.279    22293709.488  
+      2982.625        2324.122          50.676          44.896  
+ 03  8  2  0 23 19.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24317771.944   -18937055.639    20457601.579    20457603.686    20457601.869  
+       184.065         143.437          52.065          47.676  
+ -14813525.955   -11514621.546    22161854.113    22161856.455    22161854.010  
+     -1972.386       -1536.919          50.676          45.417  
+ -17413971.128   -13557680.769    21757760.714    21757763.254    21757761.224  
+      1068.981         832.982          51.718          45.417  
+ -18346018.838   -14280321.142    21305436.570    21305436.925    21305435.974  
+      1961.637        1528.557          51.023          45.765  
+  -9011753.572    -7008929.472    23252063.587    23252065.821    23252063.950  
+     -2991.889       -2331.335          47.896          41.422  
+  -3466128.744    -2655049.928    23716277.759    23716281.886    23716278.879  
+     -3140.389       -2447.060          47.896          42.985  
+  -5244394.910    -4078168.249    23884388.122    23884391.002    23884388.621  
+      1965.019        1531.189          47.722          41.595  
+ -14411116.865   -10974585.597    22292858.341    22292862.219    22292858.124  
+      2982.661        2324.153          50.676          44.896  
+ 03  8  2  0 23 21.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24318046.961   -18937269.940    20457549.298    20457551.118    20457549.536  
+       182.688         142.352          52.065          47.676  
+ -14810566.705   -11512315.635    22162417.189    22162419.780    22162417.303  
+     -1973.194       -1537.560          50.676          45.417  
+ -17415573.499   -13558929.370    21757455.666    21757458.133    21757456.284  
+      1067.557         831.865          51.718          45.417  
+ -18348960.379   -14282613.252    21304876.868    21304877.356    21304876.339  
+      1960.492        1527.656          51.023          45.765  
+  -9007265.231    -7005432.064    23252918.035    23252919.962    23252918.345  
+     -2992.611       -2331.894          47.896          41.595  
+  -3461417.633    -2651378.942    23717174.192    23717178.133    23717175.419  
+     -3141.038       -2447.535          47.896          42.985  
+  -5247342.110    -4080464.769    23883827.544    23883830.474    23883827.897  
+      1964.519        1530.789          47.722          41.595  
+ -14415590.096   -10978071.230    22292007.405    22292010.389    22292006.938  
+      2981.664        2323.375          50.676          44.896  
+ 03  8  2  0 23 22.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24318320.836   -18937483.350    20457497.085    20457498.981    20457497.451  
+       182.127         141.916          52.065          47.676  
+ -14807607.133   -11510009.478    22162980.285    22162983.121    22162980.676  
+     -1973.252       -1537.603          50.676          45.417  
+ -17417174.645   -13560177.012    21757150.801    21757153.555    21757151.522  
+      1066.911         831.355          51.718          45.244  
+ -18351901.061   -14284904.691    21304317.247    21304317.626    21304316.843  
+      1960.063        1527.320          51.023          45.765  
+  -9002776.704    -7001934.512    23253772.281    23253774.333    23253772.587  
+     -2992.486       -2331.800          47.896          41.595  
+  -3456706.391    -2647707.847    23718070.405    23718074.833    23718071.784  
+     -3140.902       -2447.446          47.896          42.985  
+  -5250289.466    -4082761.410    23883266.572    23883268.957    23883267.048  
+      1964.790        1531.010          47.722          41.595  
+ -14420062.718   -10981556.390    22291156.157    22291159.988    22291155.870  
+      2981.477        2323.233          50.676          44.896  
+ 03  8  2  0 23 24.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24318593.348   -18937695.697    20457445.237    20457447.145    20457445.627  
+       181.539         141.467          52.065          47.676  
+ -14804647.021   -11507702.898    22163543.540    22163546.375    22163544.198  
+     -1973.249       -1537.590          50.676          45.417  
+ -17418774.348   -13561423.531    21756846.519    21756849.199    21756847.048  
+      1066.285         830.876          51.718          45.417  
+ -18354840.679   -14287195.303    21303757.837    21303758.117    21303757.550  
+      1959.719        1527.067          51.023          45.938  
+  -8998287.760    -6998436.633    23254626.255    23254627.904    23254626.759  
+     -2992.448       -2331.767          47.896          41.422  
+  -3451994.816    -2644036.499    23718967.040    23718971.657    23718968.393  
+     -3140.868       -2447.423          47.896          42.985  
+  -5253236.756    -4085057.998    23882705.586    23882708.002    23882706.173  
+      1965.046        1531.203          47.722          41.595  
+ -14424534.507   -10985040.894    22290305.363    22290308.900    22290304.935  
+      2981.236        2323.045          50.676          44.896  
+ 03  8  2  0 23 25.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24318864.751   -18937907.183    20457393.738    20457395.578    20457393.997  
+       180.657         140.777          52.065          47.676  
+ -14801686.606   -11505396.084    22164106.962    22164109.522    22164107.714  
+     -1973.604       -1537.868          50.676          45.417  
+ -17420372.860   -13562669.126    21756542.151    21756544.915    21756542.730  
+      1065.394         830.173          51.718          45.417  
+ -18357779.476   -14289485.272    21303198.490    21303199.005    21303198.357  
+      1958.999        1526.482          51.023          45.765  
+  -8993798.682    -6994938.651    23255480.074    23255482.160    23255481.055  
+     -2992.663       -2331.959          47.896          41.422  
+  -3447283.157    -2640365.077    23719863.513    23719868.516    23719864.876  
+     -3141.047       -2447.580          47.896          42.985  
+  -5256184.205    -4087354.710    23882144.808    23882147.766    23882145.206  
+      1965.010        1531.191          47.722          41.422  
+ -14429005.725   -10988524.961    22289454.455    22289457.771    22289454.135  
+      2980.682        2322.616          50.676          44.896  
+ 03  8  2  0 23 27.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24319134.888   -18938117.678    20457342.258    20457344.048    20457342.667  
+       179.514         139.879          52.065          47.676  
+ -14798725.751   -11503088.925    22164670.252    22164672.620    22164671.201  
+     -1974.173       -1538.323          50.676          45.417  
+ -17421969.997   -13563913.648    21756238.099    21756241.329    21756238.619  
+      1064.134         829.197          51.718          45.417  
+ -18360717.285   -14291774.473    21302639.413    21302640.312    21302639.349  
+      1958.061        1525.762          51.023          45.765  
+  -8989309.251    -6991440.389    23256334.705    23256336.759    23256335.422  
+     -2993.240       -2332.399          47.896          41.422  
+  -3442571.249    -2636693.471    23720760.651    23720764.484    23720761.363  
+     -3141.506       -2447.923          47.896          42.985  
+  -5259131.697    -4089651.459    23881583.714    23881586.324    23881584.335  
+      1964.820        1531.041          47.722          41.595  
+ -14433476.191   -10992008.438    22288603.689    22288607.234    22288603.407  
+      2979.860        2321.968          50.676          44.896  
+ 03  8  2  0 23 28.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24319403.770   -18938327.198    20457291.066    20457292.871    20457291.517  
+       178.992         139.478          52.065          47.676  
+ -14795764.448   -11500781.416    22165233.850    22165236.418    22165234.758  
+     -1974.178       -1538.323          50.676          45.244  
+ -17423565.811   -13565157.139    21755934.285    21755937.465    21755934.849  
+      1063.595         828.781          51.718          45.244  
+ -18363654.131   -14294062.921    21302080.663    21302081.208    21302080.470  
+      1957.747        1525.520          51.023          45.765  
+  -8984819.548    -6987941.935    23257188.928    23257190.584    23257189.774  
+     -2993.102       -2332.271          47.896          41.422  
+  -3437859.120    -2633021.681    23721657.097    23721661.613    23721657.820  
+     -3141.286       -2447.754          47.896          42.812  
+  -5262079.211    -4091948.222    23881022.900    23881025.564    23881023.259  
+      1964.973        1531.140          47.722          41.422  
+ -14437945.937   -10995491.353    22287753.038    22287756.389    22287752.876  
+      2979.715        2321.862          50.676          44.896  
+ 03  8  2  0 23 30.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24319671.470   -18938535.796    20457240.136    20457242.040    20457240.574  
+       177.801         138.544          52.065          47.676  
+ -14792802.783   -11498473.625    22165797.396    22165800.030    22165798.350  
+     -1974.846       -1538.848          50.676          45.244  
+ -17425160.335   -13566399.622    21755630.727    21755634.069    21755631.348  
+      1062.290         827.752          51.718          45.417  
+ -18366590.065   -14296350.661    21301521.917    21301522.336    21301521.805  
+      1956.723        1524.711          51.023          45.765  
+  -8980329.598    -6984443.276    23258043.068    23258044.853    23258044.212  
+     -2993.666       -2332.737          47.896          41.422  
+  -3433146.822    -2629349.771    23722553.630    23722558.203    23722554.467  
+     -3141.870       -2448.200          47.896          42.985  
+  -5265026.846    -4094245.080    23880462.192    23880465.136    23880462.263  
+      1964.743        1530.959          47.722          41.595  
+ -14442415.018   -10998973.752    22286902.731    22286905.947    22286902.475  
+      2978.877        2321.197          50.676          44.896  
+ 03  8  2  0 23 31.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24319937.980   -18938743.468    20457189.391    20457191.441    20457189.891  
+       177.107         138.003          52.065          47.676  
+ -14789840.756   -11496165.552    22166360.938    22166363.624    22166362.009  
+     -1974.946       -1538.923          50.676          45.244  
+ -17426753.594   -13567641.124    21755327.684    21755330.782    21755328.094  
+      1061.589         827.209          51.718          45.417  
+ -18369525.116   -14298637.712    21300963.291    21300964.075    21300963.364  
+      1956.264        1524.363          51.023          45.765  
+  -8975839.434    -6980944.452    23258897.811    23258899.064    23258898.649  
+     -2993.647       -2332.728          47.896          41.248  
+  -3428434.373    -2625677.741    23723450.767    23723455.152    23723451.175  
+     -3141.839       -2448.187          47.896          42.985  
+  -5267974.551    -4096541.995    23879901.014    23879903.652    23879901.231  
+      1964.970        1531.128          47.722          41.422  
+ -14446883.456   -11002455.650    22286052.626    22286055.445    22286052.153  
+      2978.568        2320.967          50.676          44.896  
+ 03  8  2  0 23 33.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24320203.173   -18938950.111    20457138.964    20457140.891    20457139.432  
+       176.691         137.685          52.065          47.676  
+ -14786878.217   -11493857.079    22166924.601    22166927.533    22166925.817  
+     -1974.853       -1538.844          50.676          45.417  
+ -17428345.437   -13568881.521    21755024.615    21755027.759    21755025.131  
+      1061.080         826.826          51.718          45.417  
+ -18372459.114   -14300923.943    21300405.020    21300405.559    21300405.081  
+      1955.984        1524.151          51.023          45.765  
+  -8971348.886    -6977445.321    23259752.076    23259754.011    23259753.232  
+     -2993.513       -2332.594          47.896          41.248  
+  -3423721.627    -2622005.476    23724347.457    23724351.765    23724348.072  
+     -3141.571       -2447.966          47.896          42.985  
+  -5270922.244    -4098838.893    23879339.852    23879343.011    23879340.280  
+      1965.343        1531.438          47.722          41.595  
+ -14451351.093   -11005936.923    22285202.265    22285205.604    22285201.999  
+      2978.478        2320.900          50.676          44.896  
+ 03  8  2  0 23 34.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24320467.191   -18939155.841    20457088.684    20457090.688    20457089.204  
+       175.878         137.048          52.065          47.676  
+ -14783915.331   -11491548.343    22167488.796    22167491.444    22167489.687  
+     -1975.133       -1539.052          50.676          45.417  
+ -17429936.031   -13570120.943    21754721.905    21754725.292    21754722.349  
+      1060.214         826.140          51.718          45.417  
+ -18375392.232   -14303209.491    21299846.847    21299847.485    21299847.008  
+      1955.362        1523.654          51.023          45.765  
+  -8966858.151    -6973946.046    23260607.102    23260608.940    23260607.839  
+     -2993.679       -2332.733          47.896          41.422  
+  -3419008.736    -2618333.095    23725244.361    23725248.404    23725244.875  
+     -3141.722       -2448.087          48.070          42.812  
+  -5273870.032    -4101135.877    23878778.927    23878782.188    23878779.280  
+      1965.420        1531.502          47.722          41.595  
+ -14455818.107   -11009417.710    22284352.334    22284355.424    22284351.921  
+      2978.031        2320.546          50.676          44.722  
+ 03  8  2  0 23 36.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927234
+ -24320729.989   -18939360.620    20457038.699    20457040.633    20457039.198  
+       174.721         136.145          52.065          47.676  
+ -14780952.057   -11489239.298    22168052.508    22168055.405    22168053.510  
+     -1975.690       -1539.506          50.676          45.244  
+ -17431525.318   -13571359.346    21754419.356    21754422.771    21754419.849  
+      1059.042         825.228          51.718          45.417  
+ -18378324.408   -14305494.301    21299289.081    21299289.380    21299289.143  
+      1954.420        1522.923          51.023          45.765  
+  -8962367.144    -6970446.565    23261461.310    23261462.829    23261462.439  
+     -2994.101       -2333.061          47.896          41.422  
+  -3414295.660    -2614660.572    23726141.269    23726145.663    23726141.812  
+     -3142.159       -2448.437          48.070          42.985  
+  -5276817.896    -4103432.909    23878217.815    23878220.675    23878218.070  
+      1965.201        1531.328          47.722          41.422  
+ -14460284.411   -11012897.946    22283502.555    22283505.399    22283501.998  
+      2977.196        2319.892          50.676          44.896  
+ 03  8  2  0 23 37.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24320991.604   -18939564.476    20456988.827    20456990.905    20456989.385  
+       174.201         135.741          52.065          47.676  
+ -14777988.395   -11486929.951    22168616.332    22168619.252    22168617.430  
+     -1975.693       -1539.492          50.676          45.417  
+ -17433113.334   -13572596.760    21754117.265    21754120.717    21754117.585  
+      1058.444         824.764          51.718          45.417  
+ -18381255.688   -14307778.415    21298731.325    21298731.445    21298731.361  
+      1954.066        1522.654          51.023          45.765  
+  -8957875.896    -6966946.891    23262316.306    23262317.239    23262317.101  
+     -2994.107       -2333.074          47.896          41.248  
+  -3409582.416    -2610987.928    23727038.753    23727042.733    23727038.785  
+     -3142.078       -2448.361          48.070          42.985  
+  -5279765.846    -4105730.016    23877657.126    23877660.079    23877656.955  
+      1965.436        1531.520          47.722          41.422  
+ -14464750.083   -11016377.688    22282652.649    22282655.633    22282652.244  
+      2977.096        2319.818          50.676          44.722  
+ 03  8  2  0 23 39.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24321251.928   -18939767.327    20456939.273    20456941.267    20456939.782  
+       173.112         134.889          52.065          47.676  
+ -14775024.280   -11484620.255    22169180.439    22169183.475    22169181.443  
+     -1976.213       -1539.905          50.676          45.417  
+ -17434699.980   -13573833.103    21753815.420    21753818.901    21753815.580  
+      1057.278         823.850          51.718          45.417  
+ -18384185.954   -14310061.738    21298173.666    21298174.122    21298173.778  
+      1953.174        1521.950          51.023          45.765  
+  -8953384.332    -6963446.972    23263171.197    23263172.592    23263171.758  
+     -2994.467       -2333.366          47.896          41.422  
+  -3404868.944    -2607315.097    23727935.673    23727939.067    23727935.804  
+     -3142.427       -2448.648          48.070          42.985  
+  -5282713.798    -4108027.116    23877095.870    23877098.888    23877095.851  
+      1965.230        1531.333          47.722          41.595  
+ -14469214.976   -11019856.826    22281802.852    22281806.162    22281802.621  
+      2976.294        2319.193          50.676          44.722  
+ 03  8  2  0 23 40.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24321511.018   -18939969.217    20456889.896    20456892.140    20456890.384  
+       172.086         134.093          52.065          47.676  
+ -14772059.754   -11482310.232    22169744.693    22169747.483    22169745.505  
+     -1976.712       -1540.300          50.676          45.417  
+ -17436285.302   -13575068.418    21753513.784    21753517.434    21753513.835  
+      1056.226         823.033          51.718          45.417  
+ -18387115.263   -14312344.312    21297616.265    21297616.573    21297616.361  
+      1952.316        1521.281          51.023          45.765  
+  -8948892.469    -6959946.819    23264025.814    23264027.541    23264026.656  
+     -2994.877       -2333.655          47.896          41.422  
+  -3400155.253    -2603642.093    23728832.927    23728836.185    23728832.920  
+     -3142.730       -2448.886          48.070          42.985  
+  -5285661.806    -4110324.261    23876534.844    23876537.732    23876534.662  
+      1965.064        1531.215          47.722          41.595  
+ -14473679.164   -11023335.410    22280953.669    22280956.257    22280953.184  
+      2975.645        2318.687          50.676          44.722  
+ 03  8  2  0 23 42.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24321768.923   -18940170.180    20456840.940    20456842.984    20456841.208  
+       171.726         133.811          52.065          47.676  
+ -14769094.858   -11479999.927    22170308.831    22170311.633    22170309.639  
+     -1976.490       -1540.115          50.676          45.417  
+ -17437869.358   -13576302.746    21753212.365    21753215.824    21753212.339  
+      1055.797         822.694          51.718          45.417  
+ -18390043.675   -14314626.193    21297058.807    21297059.313    21297059.085  
+      1952.188        1521.187          51.023          45.765  
+  -8944400.394    -6956446.500    23264880.452    23264881.794    23264881.486  
+     -2994.582       -2333.434          47.896          41.248  
+  -3395441.421    -2599968.978    23729730.023    23729733.358    23729730.120  
+     -3142.449       -2448.661          48.070          43.159  
+  -5288609.892    -4112621.471    23875973.447    23875976.781    23875973.481  
+      1965.494        1531.561          47.722          41.422  
+ -14478142.701   -11026813.493    22280104.310    22280107.018    22280103.852  
+      2975.619        2318.662          50.676          44.722  
+ 03  8  2  0 23 43.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24322025.567   -18940370.162    20456792.084    20456794.111    20456792.306  
+       170.528         132.875          52.065          47.676  
+ -14766129.505   -11477689.261    22170872.911    22170876.047    22170873.845  
+     -1977.222       -1540.697          50.676          45.417  
+ -17439452.069   -13577536.028    21752911.172    21752914.498    21752911.096  
+      1054.555         821.729          51.718          45.417  
+ -18392971.102   -14316907.306    21296501.920    21296502.110    21296501.935  
+      1951.120        1520.348          51.023          45.765  
+  -8939907.987    -6952945.926    23265735.504    23265736.262    23265736.319  
+     -2995.238       -2333.955          47.896          41.595  
+  -3390727.348    -2596295.683    23730627.131    23730630.312    23730627.367  
+     -3142.940       -2449.044          48.070          42.985  
+  -5291558.017    -4114918.706    23875412.495    23875416.169    23875412.179  
+      1965.199        1531.308          47.722          41.595  
+ -14482605.478   -11030290.978    22279255.258    22279257.827    22279254.755  
+      2974.797        2318.024          50.676          44.722  
+ 03  8  2  0 23 45.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24322281.091   -18940569.274    20456743.515    20456745.414    20456743.640  
+       169.744         132.276          52.065          47.676  
+ -14763163.867   -11475378.372    22171437.360    22171440.252    22171438.166  
+     -1977.448       -1540.872          50.676          45.417  
+ -17441033.565   -13578768.361    21752610.541    21752613.421    21752610.099  
+      1053.674         821.048          51.718          45.417  
+ -18395897.699   -14319187.768    21295945.031    21295945.074    21295944.972  
+      1950.539        1519.900          51.023          45.765  
+  -8935415.446    -6949445.241    23266590.315    23266591.677    23266591.170  
+     -2995.388       -2334.091          47.896          41.422  
+  -3386013.208    -2592622.326    23731524.006    23731527.495    23731524.687  
+     -3143.038       -2449.111          48.244          42.985  
+  -5294506.303    -4117216.078    23874851.605    23874854.762    23874850.977  
+      1965.266        1531.383          47.722          41.422  
+ -14487067.672   -11033768.013    22278405.991    22278408.406    22278405.698  
+      2974.319        2317.651          50.676          44.722  
+ 03  8  2  0 23 46.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24322535.228   -18940767.299    20456695.146    20456697.195    20456695.258  
+       169.001         131.683          52.065          47.676  
+ -14760197.670   -11473067.050    22172001.837    22172004.851    22172002.617  
+     -1977.617       -1541.001          50.676          45.417  
+ -17442613.597   -13579999.548    21752309.568    21752312.839    21752309.298  
+      1052.907         820.440          51.718          45.417  
+ -18398823.184   -14321467.367    21295388.388    21295388.577    21295388.178  
+      1949.998        1519.479          51.023          45.765  
+  -8930922.502    -6945944.244    23267445.526    23267446.211    23267446.054  
+     -2995.374       -2334.047          47.896          41.422  
+  -3381298.693    -2588948.681    23732421.016    23732424.410    23732421.952  
+     -3143.106       -2449.170          48.244          42.985  
+  -5297454.445    -4119513.327    23874290.593    23874293.707    23874289.891  
+      1965.272        1531.385          47.722          41.595  
+ -14491529.030   -11037244.388    22277556.994    22277559.583    22277556.860  
+      2973.959        2317.364          50.676          44.722  
+ 03  8  2  0 23 48.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24322788.314   -18940964.514    20456647.054    20456649.087    20456647.019  
+       168.109         130.999          52.065          47.676  
+ -14757231.237   -11470755.550    22172566.008    22172569.154    22172567.080  
+     -1977.977       -1541.275          50.676          45.417  
+ -17444192.489   -13581229.858    21752009.254    21752012.398    21752008.825  
+      1051.934         819.693          51.718          45.417  
+ -18401747.905   -14323746.372    21294831.789    21294831.620    21294831.575  
+      1949.275        1518.921          51.023          45.765  
+  -8926429.405    -6942443.144    23268300.378    23268302.155    23268301.035  
+     -2995.726       -2334.320          47.896          41.422  
+  -3376584.186    -2585275.054    23733318.059    23733321.440    23733319.062  
+     -3143.298       -2449.313          48.244          42.985  
+  -5300402.828    -4121810.770    23873729.595    23873733.188    23873728.821  
+      1965.300        1531.393          47.722          41.422  
+ -14495989.865   -11040720.366    22276708.037    22276710.775    22276708.095  
+      2973.430        2316.965          50.676          44.896  
+ 03  8  2  0 23 49.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24323040.055   -18941160.676    20456599.179    20456601.132    20456599.114  
+       167.322         130.378          52.065          47.676  
+ -14754264.277   -11468443.632    22173130.727    22173134.024    22173131.610  
+     -1978.206       -1541.458          50.676          45.417  
+ -17445769.951   -13582459.048    21751708.974    21751712.437    21751708.627  
+      1051.088         819.036          51.718          45.417  
+ -18404671.562   -14326024.544    21294275.365    21294275.512    21294275.220  
+      1948.684        1518.450          51.023          45.765  
+  -8921935.962    -6938941.755    23269155.260    23269157.067    23269155.965  
+     -2995.878       -2334.452          47.896          41.595  
+  -3371869.353    -2581601.161    23734215.293    23734219.005    23734216.298  
+     -3143.420       -2449.408          48.244          42.985  
+  -5303351.182    -4124108.182    23873168.460    23873172.797    23873167.635  
+      1965.406        1531.496          47.722          41.422  
+ -14500449.861   -11044195.687    22275859.402    22275862.189    22275859.470  
+      2972.996        2316.621          50.676          44.722  
+ 03  8  2  0 23 51.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24323290.520   -18941355.843    20456551.468    20456553.647    20456551.471  
+       166.365         129.629          52.065          47.676  
+ -14751296.875   -11466131.370    22173695.591    22173698.516    22173696.222  
+     -1978.610       -1541.776          50.676          45.417  
+ -17447346.044   -13583687.171    21751409.116    21751412.366    21751408.747  
+      1050.084         818.241          51.718          45.417  
+ -18407594.233   -14328301.953    21293719.275    21293719.433    21293718.970  
+      1947.926        1517.861          51.023          45.765  
+  -8917442.215    -6935440.134    23270010.565    23270011.621    23270010.931  
+     -2996.149       -2334.680          47.896          41.595  
+  -3367154.309    -2577927.099    23735112.244    23735116.166    23735113.613  
+     -3143.612       -2449.570          48.244          42.985  
+  -5306299.516    -4126405.582    23872607.284    23872610.741    23872606.465  
+      1965.289        1531.379          47.722          41.595  
+ -14504909.131   -11047670.438    22275010.885    22275013.635    22275010.990  
+      2972.381        2316.131          50.676          44.722  
+ 03  8  2  0 23 52.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24323539.959   -18941550.211    20456503.958    20456505.968    20456504.069  
+       165.890         129.265          52.065          47.676  
+ -14748329.266   -11463818.956    22174260.035    22174263.537    22174260.804  
+     -1978.504       -1541.695          50.676          45.417  
+ -17448921.028   -13584914.430    21751109.662    21751112.730    21751109.123  
+      1049.556         817.833          51.718          45.417  
+ -18410516.153   -14330578.771    21293163.180    21293163.488    21293162.963  
+      1947.639        1517.632          51.023          45.765  
+  -8912948.383    -6931938.445    23270865.773    23270867.616    23270865.939  
+     -2996.014       -2334.550          47.896          41.595  
+  -3362439.240    -2574253.027    23736009.825    23736013.484    23736010.922  
+     -3143.430       -2449.422          48.244          42.985  
+  -5309248.140    -4128703.221    23872046.247    23872049.484    23872045.127  
+      1965.662        1531.695          47.722          41.595  
+ -14509367.896   -11051144.801    22274162.367    22274165.155    22274162.642  
+      2972.244        2316.025          50.676          44.896  
+ 03  8  2  0 23 54.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24323788.071   -18941743.545    20456456.543    20456458.898    20456456.924  
+       165.181         128.718          52.065          47.676  
+ -14745361.142   -11461506.131    22174824.727    22174827.893    22174825.424  
+     -1978.706       -1541.843          50.676          45.417  
+ -17450494.601   -13586140.591    21750810.267    21750813.428    21750809.809  
+      1048.798         817.249          51.718          45.591  
+ -18413437.033   -14332854.780    21292607.317    21292607.684    21292607.125  
+      1947.109        1517.232          51.023          45.765  
+  -8908454.181    -6928436.470    23271721.261    23271723.059    23271721.125  
+     -2996.050       -2334.573          47.896          41.422  
+  -3357723.907    -2570578.742    23736907.079    23736910.757    23736908.270  
+     -3143.409       -2449.414          48.244          42.985  
+  -5312196.723    -4131000.813    23871485.499    23871488.287    23871483.798  
+      1965.772        1531.773          47.722          41.422  
+ -14513825.843   -11054618.526    22273314.190    22273316.726    22273314.470  
+      2971.884        2315.756          50.676          44.722  
+ 03  8  2  0 23 55.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24324034.883   -18941935.866    20456409.862    20456411.769    20456409.995  
+       164.056         127.836          52.065          47.676  
+ -14742392.560   -11459192.950    22175389.642    22175392.716    22175390.194  
+     -1979.284       -1542.295          50.676          45.417  
+ -17452066.781   -13587365.664    21750511.074    21750514.040    21750510.810  
+      1047.587         816.292          51.718          45.417  
+ -18416356.889   -14335129.994    21292051.501    21292051.774    21292051.602  
+      1946.150        1516.478          51.023          45.765  
+  -8903959.651    -6924934.244    23272576.021    23272577.900    23272576.351  
+     -2996.597       -2335.000          47.896          41.769  
+  -3353008.292    -2566904.239    23737804.321    23737807.577    23737805.758  
+     -3143.876       -2449.773          48.244          42.985  
+  -5315145.362    -4133298.452    23870924.335    23870927.223    23870922.606  
+      1965.711        1531.708          47.722          41.422  
+ -14518283.021   -11058091.650    22272465.943    22272468.432    22272466.383  
+      2971.117        2315.150          50.676          44.722  
+ 03  8  2  0 23 57.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24324280.521   -18942127.273    20456362.981    20456365.142    20456363.212  
+       162.968         126.979          52.065          47.676  
+ -14739423.636   -11456879.506    22175954.616    22175958.111    22175955.085  
+     -1979.801       -1542.707          50.676          45.417  
+ -17453637.707   -13588589.762    21750212.327    21750215.355    21750212.082  
+      1046.447         815.411          51.718          45.591  
+ -18419275.863   -14337404.517    21291496.095    21291496.562    21291496.175  
+      1945.283        1515.792          51.023          45.765  
+  -8899464.895    -6921431.839    23273431.596    23273433.818    23273431.672  
+     -2997.082       -2335.391          47.896          41.595  
+  -3348292.539    -2563229.631    23738701.745    23738705.774    23738703.216  
+     -3144.294       -2450.113          48.244          42.985  
+  -5318094.068    -4135596.142    23870363.474    23870366.677    23870361.391  
+      1965.360        1531.456          47.722          41.595  
+ -14522739.561   -11061564.276    22271617.987    22271620.118    22271618.390  
+      2970.394        2314.584          50.676          44.722  
+ 03  8  2  0 23 58.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24324525.056   -18942317.821    20456316.518    20456318.736    20456316.711  
+       163.130         127.122          52.065          47.676  
+ -14736454.419   -11454565.832    22176519.717    22176522.953    22176520.050  
+     -1979.110       -1542.154          50.676          45.417  
+ -17455207.444   -13589812.935    21749913.792    21749916.874    21749913.523  
+      1046.589         815.535          51.718          45.417  
+ -18422194.020   -14339678.406    21290940.924    21290941.161    21290940.849  
+      1945.671        1516.120          51.023          45.938  
+  -8894970.026    -6917929.345    23274286.871    23274289.093    23274287.047  
+     -2996.158       -2334.658          47.896          41.595  
+  -3343576.728    -2559554.978    23739599.330    23739602.764    23739600.614  
+     -3143.405       -2449.396          48.244          42.985  
+  -5321042.988    -4137894.007    23869802.245    23869805.413    23869800.212  
+      1966.423        1532.293          47.896          41.595  
+ -14527195.518   -11065036.454    22270770.296    22270772.684    22270770.556  
+      2970.904        2315.000          50.849          44.722  
+ 03  8  2  0 24  0.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24324768.022   -18942507.142    20456270.284    20456272.295    20456270.503  
+       161.395         125.751          52.065          47.676  
+ -14733484.470   -11452251.588    22177084.968    22177088.424    22177085.203  
+     -1980.263       -1543.068          50.676          45.417  
+ -17456775.521   -13591034.809    21749615.082    21749618.345    21749615.272  
+      1044.762         814.090          51.718          45.417  
+ -18425110.872   -14341951.275    21290385.690    21290386.100    21290385.725  
+      1944.082        1514.861          51.023          45.765  
+  -8890474.539    -6914426.374    23275142.422    23275143.590    23275142.576  
+     -2997.315       -2335.560          47.896          41.595  
+  -3338860.390    -2555879.918    23740496.531    23740500.574    23740498.154  
+     -3144.390       -2450.177          48.417          43.159  
+  -5323991.619    -4140191.644    23869241.223    23869244.435    23869239.288  
+      1965.491        1531.550          47.896          41.595  
+ -14531650.424   -11068507.808    22269922.126    22269924.650    22269922.857  
+      2969.506        2313.888          50.849          44.722  
+ 03  8  2  0 24  1.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24325010.077   -18942695.758    20456224.245    20456226.290    20456224.535  
+       160.562         125.107          52.065          47.676  
+ -14730514.432   -11449937.276    22177650.041    22177653.288    22177650.397  
+     -1980.563       -1543.301          50.676          45.417  
+ -17458342.607   -13592255.915    21749317.139    21749319.954    21749317.210  
+      1043.895         813.409          51.718          45.417  
+ -18428027.109   -14344223.670    21289830.793    21289830.903    21289830.738  
+      1943.446        1514.369          51.023          45.765  
+  -8885979.116    -6910923.449    23275997.672    23275999.976    23275997.957  
+     -2997.462       -2335.703          47.896          41.769  
+  -3334144.172    -2552204.943    23741394.360    23741398.464    23741395.619  
+     -3144.588       -2450.332          48.417          42.985  
+  -5326940.615    -4142489.553    23868680.125    23868683.557    23868678.182  
+      1965.608        1531.631          47.896          41.595  
+ -14536104.950   -11071978.870    22269074.665    22269077.315    22269075.160  
+      2969.008        2313.505          50.849          44.722  
+ 03  8  2  0 24  3.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24325250.816   -18942883.349    20456178.514    20456180.614    20456178.794  
+       160.292         124.907          52.065          47.676  
+ -14727543.899   -11447622.576    22178215.440    22178218.492    22178215.656  
+     -1980.291       -1543.089          50.676          45.417  
+ -17459908.277   -13593475.915    21749019.240    21749022.169    21749019.435  
+      1043.562         813.164          51.718          45.417  
+ -18430942.311   -14346495.254    21289276.026    21289276.452    21289275.956  
+      1943.366        1514.305          51.023          45.765  
+  -8881483.349    -6907420.256    23276853.674    23276855.398    23276853.397  
+     -2997.026       -2335.343          48.070          41.595  
+  -3329427.675    -2548529.753    23742291.995    23742295.435    23742293.154  
+     -3144.181       -2450.017          48.417          42.985  
+  -5329889.598    -4144787.465    23868119.049    23868122.206    23868117.144  
+      1966.191        1532.089          47.896          41.595  
+ -14540558.691   -11075449.310    22268227.065    22268229.597    22268227.603  
+      2969.144        2313.613          50.849          44.896  
+ 03  8  2  0 24  4.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24325490.250   -18943069.918    20456132.705    20456134.795    20456133.248  
+       159.038         123.923          52.065          47.676  
+ -14724572.909   -11445307.513    22178780.903    22178783.813    22178780.997  
+     -1980.951       -1543.601          50.676          45.417  
+ -17461472.569   -13594694.840    21748721.512    21748724.463    21748721.894  
+      1042.247         812.134          51.718          45.591  
+ -18433856.493   -14348766.046    21288721.586    21288722.030    21288721.423  
+      1942.313        1513.493          51.023          45.765  
+  -8876987.213    -6903916.775    23277709.211    23277710.734    23277708.952  
+     -2997.686       -2335.854          48.070          41.769  
+  -3324710.937    -2544854.376    23743189.006    23743193.782    23743190.697  
+     -3144.711       -2450.417          48.417          42.985  
+  -5332838.558    -4147085.350    23867557.676    23867560.758    23867556.300  
+      1965.740        1531.739          47.896          41.595  
+ -14545011.643   -11078919.140    22267379.627    22267382.191    22267380.228  
+      2968.202        2312.883          50.849          44.722  
+ 03  8  2  0 24  6.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24325728.610   -18943255.657    20456087.399    20456089.520    20456087.898  
+       158.473         123.493          52.065          47.676  
+ -14721601.658   -11442992.256    22179346.165    22179349.053    22179346.380  
+     -1980.954       -1543.591          50.676          45.417  
+ -17463035.700   -13595912.866    21748424.012    21748426.726    21748424.593  
+      1041.608         811.648          51.718          45.417  
+ -18436769.874   -14351036.213    21288166.983    21288167.320    21288167.069  
+      1941.927        1513.202          51.023          45.765  
+  -8872490.992    -6900413.228    23278564.652    23278566.339    23278564.632  
+     -2997.572       -2335.781          48.070          41.595  
+  -3319994.139    -2541178.953    23744086.686    23744090.770    23744088.124  
+     -3144.589       -2450.300          48.417          43.159  
+  -5335787.711    -4149383.395    23866996.640    23866999.561    23866995.251  
+      1966.099        1532.033          47.896          41.595  
+ -14549464.054   -11082388.552    22266532.335    22266534.919    22266533.005  
+      2968.012        2312.746          50.849          44.722  
+ 03  8  2  0 24  7.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927235
+ -24325965.661   -18943440.375    20456042.307    20456044.304    20456042.768  
+       158.035         123.150          52.065          47.676  
+ -14718629.919   -11440676.618    22179911.751    22179914.499    22179911.825  
+     -1980.884       -1543.541          50.676          45.417  
+ -17464597.428   -13597129.796    21748126.768    21748129.805    21748127.491  
+      1041.126         811.270          51.718          45.417  
+ -18439682.237   -14353305.583    21287612.754    21287613.182    21287612.841  
+      1941.659        1512.983          51.023          45.765  
+  -8867994.406    -6896909.396    23279420.391    23279421.905    23279420.373  
+     -2997.389       -2335.607          48.070          41.595  
+  -3315277.085    -2537503.330    23744984.332    23744988.095    23744985.594  
+     -3144.360       -2450.139          48.417          42.985  
+  -5338736.829    -4151681.413    23866435.518    23866438.495    23866434.248  
+      1966.428        1532.284          47.896          41.595  
+ -14553915.677   -11085857.348    22265685.320    22265687.851    22265685.896  
+      2967.916        2312.662          50.849          44.896  
+ 03  8  2  0 24  9.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24326201.426   -18943624.085    20455997.461    20455999.612    20455997.874  
+       156.806         122.182          52.065          47.676  
+ -14715657.727   -11438360.627    22180477.409    22180480.327    22180477.339  
+     -1981.535       -1544.058          50.676          45.417  
+ -17466157.790   -13598345.655    21747829.826    21747832.849    21747830.573  
+      1039.860         810.272          51.718          45.417  
+ -18442593.584   -14355574.165    21287058.833    21287059.083    21287058.784  
+      1940.624        1512.172          51.023          45.765  
+  -8863497.492    -6893405.308    23280275.900    23280277.001    23280276.175  
+     -2997.996       -2336.099          48.070          41.422  
+  -3310559.799    -2533827.528    23745882.099    23745886.092    23745883.101  
+     -3144.882       -2450.552          48.417          42.985  
+  -5341685.983    -4153979.452    23865874.269    23865877.140    23865873.187  
+      1966.105        1532.023          47.896          41.769  
+ -14558366.529   -11089325.544    22264838.325    22264840.778    22264838.908  
+      2967.024        2311.958          50.849          44.722  
+ 03  8  2  0 24 10.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24326436.103   -18943806.953    20455952.775    20455954.787    20455953.204  
+       155.946         121.514          52.065          47.676  
+ -14712685.277   -11436044.433    22181042.781    22181046.204    22181042.933  
+     -1981.886       -1544.330          50.676          45.417  
+ -17467716.964   -13599560.598    21747533.013    21747536.032    21747533.917  
+      1038.915         809.543          51.718          45.417  
+ -18445504.116   -14357842.112    21286505.055    21286505.387    21286504.845  
+      1939.944        1511.647          51.023          45.765  
+  -8859000.456    -6889901.122    23281131.618    23281132.869    23281131.966  
+     -2998.260       -2336.299          48.070          41.595  
+  -3305842.453    -2530151.677    23746779.738    23746783.795    23746780.698  
+     -3145.054       -2450.693          48.417          43.159  
+  -5344635.340    -4156277.651    23865313.101    23865315.814    23865312.078  
+      1965.995        1531.932          47.896          41.769  
+ -14562816.816   -11092793.301    22263991.510    22263994.015    22263991.944  
+      2966.498        2311.558          50.849          44.722  
+ 03  8  2  0 24 12.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24326669.396   -18943988.740    20455908.351    20455910.627    20455908.809  
+       155.495         121.177          52.065          47.676  
+ -14709712.269   -11433727.804    22181608.506    22181611.871    22181608.621  
+     -1981.753       -1544.212          50.676          45.417  
+ -17469274.682   -13600774.403    21747236.487    21747239.705    21747237.537  
+      1038.405         809.157          51.718          45.417  
+ -18448413.542   -14360109.195    21285951.270    21285951.706    21285951.201  
+      1939.629        1511.407          51.023          45.765  
+  -8854503.030    -6886396.640    23281987.520    23281989.427    23281987.879  
+     -2998.027       -2336.130          48.070          41.595  
+  -3301124.754    -2526475.546    23747677.259    23747681.833    23747678.322  
+     -3144.802       -2450.493          48.417          42.985  
+  -5347584.596    -4158575.773    23864751.815    23864754.781    23864751.008  
+      1966.477        1532.326          47.896          41.595  
+ -14567266.242   -11096260.385    22263144.732    22263147.333    22263145.196  
+      2966.397        2311.490          50.849          44.896  
+ 03  8  2  0 24 13.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24326901.526   -18944169.623    20455864.146    20455866.301    20455864.609  
+       154.402         120.313          52.065          47.676  
+ -14706738.928   -11431410.914    22182174.475    22182177.495    22182174.348  
+     -1982.269       -1544.631          50.676          45.417  
+ -17470831.137   -13601987.223    21746940.323    21746943.271    21746941.393  
+      1037.236         808.235          51.718          45.417  
+ -18451322.086   -14362375.590    21285397.845    21285398.190    21285397.744  
+      1938.762        1510.724          51.023          45.765  
+  -8850005.384    -6882891.985    23282843.513    23282844.961    23282843.680  
+     -2998.478       -2336.488          48.070          41.769  
+  -3296406.944    -2522799.338    23748575.171    23748579.339    23748576.018  
+     -3145.215       -2450.805          48.591          42.985  
+  -5350533.986    -4160873.991    23864190.421    23864193.612    23864189.774  
+      1966.327        1532.202          47.896          41.595  
+ -14571715.031   -11099726.971    22262298.101    22262300.925    22262298.562  
+      2965.666        2310.906          50.849          44.896  
+ 03  8  2  0 24 15.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24327132.371   -18944349.498    20455820.122    20455822.415    20455820.623  
+       153.257         119.417          52.065          47.676  
+ -14703765.117   -11429093.658    22182740.152    22182743.492    22182740.206  
+     -1982.855       -1545.084          50.676          45.417  
+ -17472386.216   -13603198.970    21746644.422    21746647.359    21746645.472  
+      1036.041         807.304          51.718          45.417  
+ -18454229.609   -14364641.193    21284844.622    21284844.830    21284844.514  
+      1937.804        1509.973          51.023          45.765  
+  -8845507.416    -6879387.069    23283698.955    23283700.900    23283699.642  
+     -2998.986       -2336.875          48.070          41.769  
+  -3291688.890    -2519122.931    23749472.814    23749477.232    23749473.772  
+     -3145.633       -2451.155          48.591          43.159  
+  -5353483.374    -4163172.208    23863628.626    23863632.313    23863628.446  
+      1965.973        1531.922          47.896          41.595  
+ -14576163.069   -11103192.973    22261451.735    22261454.600    22261452.060  
+      2964.900        2310.305          50.849          44.896  
+ 03  8  2  0 24 16.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24327362.141   -18944528.542    20455776.595    20455778.641    20455776.872  
+       152.838         119.098          52.065          47.676  
+ -14700791.084   -11426776.233    22183306.189    22183309.473    22183306.036  
+     -1982.697       -1544.953          50.676          45.244  
+ -17473940.134   -13604409.813    21746348.468    21746351.133    21746349.734  
+      1035.584         806.946          51.718          45.417  
+ -18457136.340   -14366906.180    21284291.395    21284291.739    21284291.406  
+      1937.599        1509.821          51.023          45.765  
+  -8841009.355    -6875882.099    23284555.338    23284556.811    23284555.573  
+     -2998.748       -2336.683          48.070          41.769  
+  -3286970.796    -2515446.505    23750370.609    23750374.977    23750371.531  
+     -3145.325       -2450.890          48.591          42.985  
+  -5356432.982    -4165470.602    23863067.652    23863071.323    23863067.168  
+      1966.430        1532.279          47.896          41.595  
+ -14580610.541   -11106658.536    22260605.395    22260608.201    22260605.616  
+      2964.782        2310.220          50.849          44.896  
+ 03  8  2  0 24 18.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24327590.585   -18944706.551    20455733.061    20455735.197    20455733.365  
+       152.003         118.447          52.065          47.676  
+ -14697816.525   -11424458.395    22183872.116    22183875.366    22183871.962  
+     -1983.050       -1545.231          50.676          45.417  
+ -17475492.628   -13605619.551    21746052.997    21746055.789    21746054.248  
+      1034.689         806.253          51.718          45.417  
+ -18460042.014   -14369170.339    21283738.456    21283739.073    21283738.524  
+      1936.916        1509.283          51.023          45.938  
+  -8836510.935    -6872376.837    23285411.371    23285412.489    23285411.794  
+     -2998.909       -2336.792          48.070          41.595  
+  -3282252.419    -2511769.855    23751268.437    23751272.709    23751269.350  
+     -3145.545       -2451.079          48.591          43.159  
+  -5359382.573    -4167768.985    23862506.298    23862509.212    23862505.848  
+      1966.511        1532.355          47.896          41.769  
+ -14585057.202   -11110123.464    22259759.243    22259761.907    22259759.315  
+      2964.305        2309.854          50.849          44.896  
+ 03  8  2  0 24 19.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24327817.817   -18944883.617    20455689.792    20455691.948    20455690.086  
+       150.969         117.637          52.065          47.676  
+ -14694841.591   -11422140.267    22184438.231    22184441.713    22184437.976  
+     -1983.578       -1545.650          50.676          45.417  
+ -17477043.828   -13606828.277    21745757.917    21745761.025    21745759.023  
+      1033.575         805.374          51.718          45.417  
+ -18462946.776   -14371433.791    21283185.704    21283186.087    21283185.735  
+      1936.063        1508.616          51.023          45.765  
+  -8832012.264    -6868871.383    23286267.484    23286268.597    23286267.988  
+     -2999.324       -2337.128          48.070          41.595  
+  -3277533.881    -2508093.073    23752166.400    23752170.631    23752167.157  
+     -3145.889       -2451.337          48.591          42.985  
+  -5362332.232    -4170067.418    23861944.694    23861947.473    23861944.618  
+      1966.254        1532.129          47.896          41.595  
+ -14589503.155   -11113587.843    22258913.080    22258916.018    22258913.234  
+      2963.543        2309.257          50.849          44.896  
+ 03  8  2  0 24 21.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24328043.785   -18945059.695    20455646.782    20455648.884    20455647.075  
+       150.299         117.119          52.065          47.676  
+ -14691866.231   -11419821.806    22185004.320    22185007.657    22185004.079  
+     -1983.640       -1545.686          50.676          45.417  
+ -17478593.680   -13608035.953    21745463.041    21745465.864    21745464.061  
+      1032.891         804.852          51.718          45.417  
+ -18465850.551   -14373696.476    21282633.267    21282633.616    21282633.123  
+      1935.609        1508.270          51.023          45.765  
+  -8827513.285    -6865365.685    23287123.515    23287124.706    23287124.226  
+     -2999.346       -2337.140          48.070          41.595  
+  -3272815.125    -2504416.121    23753064.484    23753068.119    23753065.008  
+     -3145.836       -2451.284          48.591          42.985  
+  -5365281.898    -4172365.858    23861383.503    23861386.242    23861383.392  
+      1966.531        1532.368          47.896          41.595  
+ -14593948.380   -11117051.655    22258067.123    22258070.057    22258067.330  
+      2963.256        2309.038          50.849          44.896  
+ 03  8  2  0 24 22.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24328268.570   -18945234.852    20455604.059    20455606.336    20455604.292  
+       149.437         116.437          52.065          47.676  
+ -14688890.519   -11417503.069    22185570.539    22185574.531    22185570.254  
+     -1983.940       -1545.932          50.676          45.417  
+ -17480142.259   -13609242.634    21745168.191    21745171.008    21745169.303  
+      1031.925         804.091          51.718          45.244  
+ -18468753.412   -14375958.443    21282080.762    21282081.195    21282080.684  
+      1934.931        1507.728          51.023          45.765  
+  -8823014.115    -6861859.832    23287979.649    23287981.820    23287980.488  
+     -2999.528       -2337.296          48.070          41.595  
+  -3268096.224    -2500739.057    23753962.497    23753966.332    23753962.889  
+     -3145.971       -2451.408          48.591          42.985  
+  -5368231.688    -4174664.398    23860822.527    23860825.338    23860822.173  
+      1966.526        1532.352          47.896          41.595  
+ -14598392.949   -11120514.953    22257221.578    22257224.321    22257221.540  
+      2962.803        2308.677          50.849          44.896  
+ 03  8  2  0 24 24.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24328492.098   -18945409.032    20455561.439    20455563.690    20455561.740  
+       148.422         115.658          52.065          47.676  
+ -14685914.372   -11415183.999    22186136.858    22186140.302    22186136.592  
+     -1984.398       -1546.273          50.676          45.417  
+ -17481689.484   -13610448.263    21744873.716    21744876.817    21744874.762  
+      1030.865         803.272          51.718          45.417  
+ -18471655.295   -14378219.654    21281528.643    21281529.030    21281528.458  
+      1934.088        1507.083          51.023          45.938  
+  -8818514.641    -6858353.755    23288835.987    23288837.654    23288836.774  
+     -2999.874       -2337.553          48.070          41.595  
+  -3263377.104    -2497061.829    23754860.419    23754863.978    23754860.815  
+     -3146.314       -2451.681          48.591          43.159  
+  -5371181.531    -4176962.970    23860260.969    23860263.855    23860261.063  
+      1966.326        1532.187          47.896          41.769  
+ -14602836.775   -11123977.673    22256375.793    22256378.462    22256375.834  
+      2962.110        2308.133          50.849          44.896  
+ 03  8  2  0 24 25.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24328714.435   -18945582.280    20455519.231    20455521.359    20455519.441  
+       147.725         115.113          52.065          47.676  
+ -14682937.867   -11412864.645    22186703.316    22186707.167    22186703.003  
+     -1984.509       -1546.367          50.676          45.417  
+ -17483235.425   -13611652.889    21744579.701    21744582.811    21744580.488  
+      1030.092         802.670          51.718          45.417  
+ -18474556.278   -14380480.159    21280976.584    21280976.892    21280976.450  
+      1933.558        1506.666          51.023          45.765  
+  -8814014.944    -6854847.499    23289691.957    23289693.996    23289693.107  
+     -2999.993       -2337.636          48.070          41.595  
+  -3258657.851    -2493384.496    23755758.633    23755762.372    23755758.886  
+     -3146.309       -2451.661          48.591          42.985  
+  -5374131.477    -4179261.624    23859699.733    23859702.188    23859699.911  
+      1966.465        1532.310          47.896          41.595  
+ -14607279.933   -11127439.874    22255530.333    22255532.992    22255530.267  
+      2961.765        2307.863          50.849          44.896  
+ 03  8  2  0 24 27.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24328935.618   -18945754.634    20455477.193    20455479.248    20455477.352  
+       147.170         114.688          52.065          47.676  
+ -14679961.043   -11410545.044    22187269.809    22187273.245    22187269.427  
+     -1984.513       -1546.360          50.676          45.417  
+ -17484780.133   -13612856.560    21744285.779    21744288.503    21744286.414  
+      1029.495         802.209          51.718          45.417  
+ -18477456.376   -14382739.973    21280424.846    21280425.010    21280424.607  
+      1933.215        1506.408          51.023          45.765  
+  -8809515.070    -6851341.106    23290548.368    23290550.328    23290549.433  
+     -2999.862       -2337.566          48.070          41.595  
+  -3253938.480    -2489707.066    23756656.566    23756660.663    23756657.083  
+     -3146.155       -2451.550          48.765          42.985  
+  -5377081.522    -4181560.371    23859138.535    23859141.077    23859138.715  
+      1966.786        1532.546          47.896          41.595  
+ -14611722.443   -11130901.569    22254684.839    22254688.009    22254684.847  
+      2961.537        2307.690          50.849          44.896  
+ 03  8  2  0 24 28.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24329155.334   -18945925.836    20455435.218    20455437.568    20455435.548  
+       145.940         113.719          52.065          47.676  
+ -14676983.576   -11408224.939    22187836.409    22187839.726    22187836.067  
+     -1985.212       -1546.913          50.676          45.417  
+ -17486323.273   -13614059.006    21743992.180    21743994.740    21743992.696  
+      1028.176         801.180          51.718          45.244  
+ -18480355.284   -14384998.861    21279873.127    21279873.177    21279872.996  
+      1932.173        1505.580          51.023          45.765  
+  -8805014.699    -6847834.318    23291405.097    23291406.598    23291405.914  
+     -3000.431       -2337.985          48.070          41.595  
+  -3249218.699    -2486029.317    23757554.925    23757558.093    23757555.419  
+     -3146.698       -2451.989          48.765          42.985  
+  -5380031.412    -4183858.973    23858577.340    23858579.699    23858577.464  
+      1966.481        1532.319          47.896          41.595  
+ -14616164.014   -11134362.531    22253839.783    22253842.911    22253839.676  
+      2960.657        2307.003          50.849          44.896  
+ 03  8  2  0 24 30.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24329374.070   -18946096.286    20455393.764    20455395.876    20455393.972  
+       145.303         113.226          52.065          47.676  
+ -14674005.970   -11405904.731    22188403.084    22188406.286    22188402.735  
+     -1985.302       -1546.988          50.676          45.417  
+ -17487865.351   -13615260.627    21743698.734    21743701.348    21743699.205  
+      1027.489         800.638          51.718          45.417  
+ -18483253.487   -14387257.202    21279321.829    21279321.838    21279321.495  
+      1931.702        1505.219          51.023          45.938  
+  -8800514.314    -6844327.531    23292261.333    23292262.407    23292262.368  
+     -3000.438       -2337.990          48.070          41.595  
+  -3244498.983    -2482351.623    23758453.209    23758456.426    23758453.709  
+     -3146.662       -2451.934          48.765          43.159  
+  -5382981.630    -4186157.852    23858016.164    23858018.852    23858016.249  
+      1966.703        1532.501          47.896          41.595  
+ -14620605.124   -11137823.137    22252994.799    22252997.655    22252994.601  
+      2960.380        2306.795          50.849          45.070  
+ 03  8  2  0 24 31.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24329591.489   -18946265.703    20455352.331    20455354.565    20455352.626  
+       144.533         112.620          52.065          47.676  
+ -14671027.879   -11403584.141    22188969.919    22188973.342    22188969.453  
+     -1985.468       -1547.114          50.676          45.417  
+ -17489406.025   -13616461.148    21743405.477    21743408.072    21743405.987  
+      1026.677         800.003          51.718          45.244  
+ -18486150.662   -14389514.743    21278770.524    21278770.740    21278770.171  
+      1931.156        1504.793          51.023          45.938  
+  -8796013.592    -6840820.473    23293117.958    23293119.087    23293118.778  
+     -3000.622       -2338.131          48.070          41.595  
+  -3239779.021    -2478673.734    23759351.782    23759354.703    23759352.065  
+     -3146.700       -2451.970          48.765          42.985  
+  -5385931.818    -4188456.700    23857454.916    23857456.784    23857454.963  
+      1966.746        1532.522          47.896          41.422  
+ -14625045.448   -11141283.128    22252149.788    22252152.433    22252149.670  
+      2959.950        2306.446          50.849          45.070  
+ 03  8  2  0 24 33.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24329807.652   -18946434.144    20455311.349    20455313.279    20455311.525  
+       143.852         112.100          52.065          47.676  
+ -14668049.363   -11401263.221    22189536.565    22189539.773    22189536.289  
+     -1985.638       -1547.240          50.676          45.244  
+ -17490945.343   -13617660.618    21743112.542    21743115.185    21743112.978  
+      1025.930         799.441          51.718          45.244  
+ -18489046.857   -14391771.517    21278219.180    21278219.553    21278219.056  
+      1930.648        1504.411          51.023          45.765  
+  -8791512.589    -6837313.205    23293974.364    23293975.981    23293975.299  
+     -3000.541       -2338.066          48.070          41.595  
+  -3235058.844    -2474995.678    23760249.924    23760253.139    23760250.469  
+     -3146.670       -2451.939          48.765          42.985  
+  -5388882.016    -4190755.550    23856893.815    23856895.824    23856893.751  
+      1966.880        1532.646          47.896          41.595  
+ -14629485.031   -11144742.539    22251304.932    22251307.805    22251304.831  
+      2959.622        2306.200          50.849          45.070  
+ 03  8  2  0 24 34.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24330022.571   -18946601.612    20455270.418    20455272.343    20455270.651  
+       142.972         111.406          52.065          47.676  
+ -14665070.439   -11398941.982    22190103.367    22190106.886    22190103.190  
+     -1985.972       -1547.505          50.676          45.417  
+ -17492483.338   -13618859.058    21742820.080    21742822.305    21742820.235  
+      1025.005         798.711          51.718          45.244  
+ -18491942.084   -14394027.537    21277668.380    21277668.561    21277668.145  
+      1929.917        1503.833          51.023          45.765  
+  -8787011.298    -6833805.708    23294831.025    23294832.248    23294831.933  
+     -3000.847       -2338.335          48.070          41.595  
+  -3230338.472    -2471317.466    23761148.153    23761151.702    23761148.802  
+     -3146.866       -2452.103          48.765          43.159  
+  -5391832.264    -4193054.451    23856332.799    23856334.324    23856332.634  
+      1966.868        1532.629          47.896          41.595  
+ -14633923.886   -11148201.383    22250460.124    22250462.973    22250460.143  
+      2959.094        2305.791          51.023          45.070  
+ 03  8  2  0 24 36.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24330236.169   -18946768.052    20455229.709    20455231.881    20455230.067  
+       141.845         110.527          52.065          47.676  
+ -14662091.021   -11396620.358    22190670.487    22190673.768    22190670.161  
+     -1986.585       -1547.990          50.676          45.244  
+ -17494019.920   -13620056.391    21742527.814    21742530.171    21742527.813  
+      1023.788         797.754          51.718          45.244  
+ -18494836.262   -14396282.740    21277117.603    21277117.721    21277117.469  
+      1928.969        1503.090          51.023          45.938  
+  -8782509.667    -6830297.940    23295687.377    23295689.776    23295688.554  
+     -3001.271       -2338.647          48.070          41.595  
+  -3225617.829    -2467639.048    23762046.444    23762049.928    23762047.171  
+     -3147.301       -2452.441          48.938          43.159  
+  -5394782.485    -4195353.325    23855771.195    23855772.401    23855771.439  
+      1966.595        1532.423          47.896          41.595  
+ -14638361.938   -11151659.610    22249615.701    22249618.382    22249615.589  
+      2958.317        2305.181          51.023          45.070  
+ 03  8  2  0 24 37.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24330448.794   -18946933.735    20455189.232    20455191.416    20455189.644  
+       141.305         110.113          52.065          47.676  
+ -14659111.479   -11394298.641    22191237.543    22191240.760    22191237.241  
+     -1986.508       -1547.921          50.676          45.417  
+ -17495555.442   -13621252.902    21742235.332    21742238.028    21742235.544  
+      1023.198         797.298          51.718          45.244  
+ -18497729.768   -14398537.422    21276567.061    21276567.236    21276566.923  
+      1928.649        1502.851          51.023          45.938  
+  -8778008.037    -6826790.177    23296544.396    23296545.771    23296545.341  
+     -3001.213       -2338.609          48.070          41.595  
+  -3220897.281    -2463960.708    23762944.864    23762948.288    23762945.516  
+     -3147.111       -2452.274          48.938          43.159  
+  -5397733.030    -4197652.456    23855209.834    23855211.354    23855210.307  
+      1967.004        1532.730          47.896          41.595  
+ -14642799.524   -11155117.468    22248771.229    22248774.158    22248771.261  
+      2958.084        2305.004          51.023          45.070  
+ 03  8  2  0 24 39.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24330659.921   -18947098.246    20455149.003    20455151.110    20455149.485  
+       140.310         109.330          52.065          47.676  
+ -14656131.279   -11391976.405    22191804.604    22191807.976    22191804.444  
+     -1986.930       -1548.258          50.676          45.244  
+ -17497089.376   -13622448.173    21741943.486    21741945.913    21741943.589  
+      1022.127         796.459          51.718          45.244  
+ -18500622.035   -14400791.132    21276016.711    21276017.016    21276016.557  
+      1927.838        1502.207          51.023          45.938  
+  -8773505.868    -6823281.990    23297401.225    23297402.259    23297402.218  
+     -3001.579       -2338.895          48.070          41.595  
+  -3216176.280    -2460282.003    23763843.081    23763846.463    23763843.978  
+     -3147.449       -2452.560          48.938          43.159  
+  -5400683.381    -4199951.427    23854648.064    23854650.079    23854649.147  
+      1966.764        1532.530          48.070          41.595  
+ -14647236.135   -11158574.558    22247926.889    22247930.139    22247927.068  
+      2957.454        2304.504          51.023          45.070  
+ 03  8  2  0 24 40.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24330869.961   -18947261.917    20455109.065    20455111.301    20455109.519  
+       139.361         108.593          52.065          47.676  
+ -14653150.804   -11389653.959    22192371.871    22192374.902    22192371.720  
+     -1987.327       -1548.567          50.676          45.244  
+ -17498622.138   -13623642.535    21741651.737    21741654.320    21741651.942  
+      1021.156         795.706          51.718          45.417  
+ -18503513.496   -14403044.215    21275466.374    21275466.550    21275466.373  
+      1927.076        1501.614          51.023          45.938  
+  -8769003.599    -6819773.732    23298257.890    23298259.522    23298259.063  
+     -3001.878       -2339.119          48.070          41.595  
+  -3211455.250    -2456603.278    23764741.694    23764744.709    23764742.374  
+     -3147.684       -2452.736          48.938          43.159  
+  -5403633.955    -4202250.570    23854086.655    23854088.209    23854087.984  
+      1966.746        1532.524          48.070          41.595  
+ -14651672.161   -11162031.205    22247082.841    22247085.628    22247083.016  
+      2956.808        2304.005          51.023          45.070  
+ 03  8  2  0 24 42.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24331078.867   -18947424.703    20455069.384    20455071.619    20455069.753  
+       139.209         108.485          52.065          47.676  
+ -14650170.045   -11387331.291    22192939.256    22192942.375    22192939.116  
+     -1986.971       -1548.285          50.676          45.244  
+ -17500153.667   -13624835.935    21741360.511    21741363.228    21741360.548  
+      1020.927         795.537          51.718          45.244  
+ -18506404.094   -14405296.631    21274916.259    21274916.836    21274916.331  
+      1927.090        1501.635          51.023          45.765  
+  -8764501.187    -6816265.354    23299114.740    23299116.802    23299116.031  
+     -3001.370       -2338.721          48.070          41.595  
+  -3206734.127    -2452924.486    23765639.849    23765643.031    23765640.755  
+     -3147.132       -2452.304          48.938          43.159  
+  -5406584.683    -4204549.832    23853525.082    23853527.253    23853526.652  
+      1967.459        1533.091          48.070          41.595  
+ -14656107.599   -11165487.389    22246238.809    22246241.685    22246239.052  
+      2957.040        2304.194          51.023          45.070  
+ 03  8  2  0 24 43.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24331286.368   -18947586.393    20455029.809    20455032.121    20455030.239  
+       137.928         107.480          52.065          47.676  
+ -14647188.714   -11385008.182    22193506.526    22193509.792    22193506.548  
+     -1987.672       -1548.827          50.676          45.244  
+ -17501683.712   -13626028.179    21741069.447    21741071.846    21741069.417  
+      1019.630         794.521          51.718          45.244  
+ -18509293.577   -14407548.177    21274366.316    21274366.911    21274366.529  
+      1926.034        1500.809          51.023          45.938  
+  -8759998.345    -6812756.652    23299971.994    23299973.460    23299972.962  
+     -3001.989       -2339.198          48.070          41.769  
+  -3202012.661    -2449245.420    23766538.211    23766542.518    23766539.244  
+     -3147.696       -2452.748          48.938          43.159  
+  -5409535.307    -4206849.025    23852963.340    23852965.714    23852965.244  
+      1967.054        1532.784          48.070          41.769  
+ -14660542.158   -11168942.888    22245395.023    22245398.128    22245395.251  
+      2956.134        2303.484          51.023          45.070  
+ 03  8  2  0 24 45.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24331492.694   -18947747.168    20454990.683    20454992.694    20454990.964  
+       137.351         107.037          52.065          47.676  
+ -14644207.048   -11382684.806    22194074.016    22194077.254    22194074.003  
+     -1987.707       -1548.856          50.676          45.244  
+ -17503212.488   -13627219.435    21740778.413    21740780.954    21740778.550  
+      1018.954         793.995          51.718          45.244  
+ -18512182.149   -14409799.013    21273816.654    21273817.061    21273816.804  
+      1925.616        1500.484          51.023          45.938  
+  -8755495.283    -6809247.782    23300828.847    23300829.615    23300829.931  
+     -3001.950       -2339.173          48.070          41.769  
+  -3197291.083    -2445566.274    23767436.817    23767440.406    23767437.724  
+     -3147.586       -2452.674          48.938          43.159  
+  -5412486.024    -4209148.283    23852402.057    23852403.901    23852403.831  
+      1967.304        1532.947          48.070          41.595  
+ -14664976.043   -11172397.861    22244551.292    22244554.312    22244551.609  
+      2955.852        2303.266          51.023          45.070  
+ 03  8  2  0 24 46.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24331697.770   -18947906.964    20454951.593    20454953.756    20454951.912  
+       136.268         106.177          52.065          47.676  
+ -14641224.975   -11380361.109    22194641.450    22194644.572    22194641.560  
+     -1988.199       -1549.240          50.676          45.244  
+ -17504739.925   -13628409.644    21740487.563    21740490.197    21740487.903  
+      1017.823         793.100          51.718          45.417  
+ -18515069.751   -14412049.088    21273267.183    21273268.030    21273267.310  
+      1924.709        1499.766          51.023          45.938  
+  -8750991.960    -6805738.695    23301685.495    23301687.147    23301686.876  
+     -3002.288       -2339.446          48.070          41.769  
+  -3192569.308    -2441886.975    23768335.463    23768339.061    23768336.266  
+     -3147.909       -2452.912          48.938          43.333  
+  -5415436.806    -4211447.591    23851840.738    23851842.347    23851842.247  
+      1967.121        1532.802          48.070          41.595  
+ -14669409.196   -11175852.260    22243707.713    22243710.667    22243708.132  
+      2955.133        2302.692          51.023          45.070  
+ 03  8  2  0 24 48.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24331901.530   -18948065.737    20454912.734    20454915.034    20454913.115  
+       134.986         105.174          52.065          47.676  
+ -14638242.413   -11378037.035    22195208.908    22195211.988    22195209.173  
+     -1988.918       -1549.816          50.676          45.244  
+ -17506265.959   -13629598.761    21740197.220    21740200.058    21740197.536  
+      1016.478         792.057          51.718          45.244  
+ -18517956.309   -14414298.354    21272717.954    21272718.665    21272717.968  
+      1923.632        1498.929          51.023          45.938  
+  -8746488.309    -6802229.355    23302542.637    23302543.666    23302543.906  
+     -3002.951       -2339.974          48.070          41.769  
+  -3187847.269    -2438207.467    23769233.916    23769237.438    23769234.796  
+     -3148.495       -2453.386          49.112          43.159  
+  -5418387.582    -4213746.899    23851279.165    23851281.272    23851280.611  
+      1966.649        1532.441          48.070          41.595  
+ -14673841.552   -11179306.040    22242864.418    22242867.236    22242864.758  
+      2954.206        2301.970          51.023          45.070  
+ 03  8  2  0 24 49.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24332104.236   -18948223.691    20454874.120    20454876.405    20454874.551  
+       134.813         105.046          52.065          47.676  
+ -14635259.628   -11375712.790    22195776.760    22195779.704    22195776.804  
+     -1988.507       -1549.486          50.676          45.244  
+ -17507790.862   -13630786.995    21739907.020    21739909.755    21739907.356  
+      1016.251         791.880          51.718          45.244  
+ -18520842.102   -14416547.026    21272168.806    21272168.915    21272168.779  
+      1923.639        1498.943          51.023          45.938  
+  -8741984.540    -6798719.925    23303399.550    23303400.657    23303400.912  
+     -3002.516       -2339.625          48.070          41.769  
+  -3183125.237    -2434527.963    23770132.606    23770136.315    23770133.453  
+     -3147.977       -2452.968          49.112          43.159  
+  -5421338.591    -4216046.376    23850717.290    23850720.032    23850718.921  
+      1967.408        1533.044          48.070          41.595  
+ -14678273.360   -11182759.395    22242020.909    22242023.790    22242021.528  
+      2954.367        2302.110          51.023          45.244  
+ 03  8  2  0 24 51.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24332305.632   -18948380.623    20454835.763    20454838.001    20454836.166  
+       133.960         104.383          52.065          47.676  
+ -14632276.371   -11373388.176    22196344.494    22196347.299    22196344.530  
+     -1988.869       -1549.768          50.676          45.244  
+ -17509314.341   -13631974.120    21739617.029    21739619.908    21739617.423  
+      1015.314         791.150          51.718          45.244  
+ -18523726.854   -14418794.880    21271619.941    21271620.619    21271619.721  
+      1922.948        1498.398          51.023          45.938  
+  -8737480.454    -6795210.257    23304256.610    23304257.748    23304258.017  
+     -3002.689       -2339.744          48.070          41.769  
+  -3178402.936    -2430848.248    23771031.024    23771034.675    23771032.139  
+     -3148.200       -2453.152          49.112          43.333  
+  -5424289.553    -4218345.829    23850155.680    23850157.658    23850157.199  
+      1967.327        1532.972          48.070          41.595  
+ -14682704.368   -11186212.128    22241177.820    22241180.654    22241178.472  
+      2953.847        2301.697          51.023          45.244  
+ 03  8  2  0 24 52.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24332505.827   -18948536.621    20454797.734    20454799.901    20454798.040  
+       132.943         103.588          52.065          47.676  
+ -14629292.758   -11371063.283    22196912.238    22196914.830    22196912.346  
+     -1989.296       -1550.105          50.676          45.244  
+ -17510836.542   -13633160.254    21739327.449    21739330.178    21739327.710  
+      1014.231         790.303          51.718          45.244  
+ -18526610.686   -14421042.024    21271071.023    21271071.679    21271070.869  
+      1922.150        1497.772          51.023          45.938  
+  -8732976.148    -6791700.418    23305114.009    23305115.066    23305115.229  
+     -3003.036       -2340.029          48.070          41.769  
+  -3173680.494    -2427168.429    23771929.760    23771933.541    23771930.800  
+     -3148.499       -2453.367          49.112          43.159  
+  -5427240.628    -4220645.374    23849594.216    23849596.616    23849595.466  
+      1967.171        1532.859          48.070          41.595  
+ -14687134.687   -11189664.322    22240334.671    22240337.787    22240335.502  
+      2953.194        2301.184          51.023          45.244  
+ 03  8  2  0 24 54.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24332704.810   -18948691.674    20454759.926    20454762.139    20454760.114  
+       132.373         103.149          52.065          47.676  
+ -14626308.771   -11368738.099    22197480.077    22197483.021    22197480.181  
+     -1989.337       -1550.135          50.676          45.244  
+ -17512357.434   -13634345.363    21739038.024    21739040.810    21739038.201  
+      1013.601         789.821          51.718          45.244  
+ -18529493.571   -14423288.424    21270522.382    21270523.133    21270522.210  
+      1921.738        1497.460          51.023          45.938  
+  -8728471.602    -6788190.373    23305971.060    23305972.100    23305972.553  
+     -3003.010       -2340.014          48.070          41.769  
+  -3168957.897    -2423488.490    23772828.538    23772831.938    23772829.466  
+     -3148.343       -2453.249          49.112          43.333  
+  -5430191.782    -4222944.966    23849032.733    23849034.279    23849033.700  
+      1967.424        1533.058          48.070          41.595  
+ -14691564.326   -11193115.988    22239491.621    22239494.756    22239492.639  
+      2952.940        2300.992          51.023          45.244  
+ 03  8  2  0 24 55.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24332902.415   -18948845.652    20454722.219    20454724.555    20454722.428  
+       131.194         102.224          52.065          47.676  
+ -14623324.244   -11366412.492    22198047.920    22198050.801    22198048.166  
+     -1989.953       -1550.626          50.676          45.244  
+ -17513876.869   -13635529.336    21738748.921    21738751.689    21738748.984  
+      1012.407         788.892          51.718          45.244  
+ -18532375.383   -14425533.989    21269973.898    21269974.780    21269973.846  
+      1920.771        1496.693          51.023          45.938  
+  -8723966.668    -6784680.028    23306828.778    23306829.450    23306829.850  
+     -3003.497       -2340.394          48.070          41.769  
+  -3164234.975    -2419808.297    23773727.397    23773730.724    23773728.261  
+     -3148.852       -2453.656          49.112          43.159  
+  -5433142.856    -4225244.503    23848470.944    23848473.559    23848472.081  
+      1967.194        1532.882          48.070          41.595  
+ -14695993.115   -11196566.987    22238648.961    22238652.060    22238649.897  
+      2952.130        2300.345          51.023          45.244  
+ 03  8  2  0 24 57.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24333098.916   -18948998.770    20454684.745    20454687.113    20454684.975  
+       130.342         101.567          52.065          47.676  
+ -14620339.450   -11364086.682    22198615.782    22198618.702    22198616.264  
+     -1990.213       -1550.810          50.676          45.244  
+ -17515395.093   -13636712.367    21738459.895    21738462.820    21738459.931  
+      1011.472         788.154          51.718          45.244  
+ -18535256.342   -14427778.894    21269425.898    21269426.681    21269425.594  
+      1920.091        1496.175          51.023          45.938  
+  -8719461.595    -6781169.592    23307685.566    23307687.233    23307687.134  
+     -3003.734       -2340.560          48.070          41.769  
+  -3159512.010    -2416128.068    23774626.084    23774629.388    23774627.077  
+     -3148.933       -2453.708          49.112          43.333  
+  -5436094.067    -4227544.150    23847909.147    23847911.123    23847910.352  
+      1967.112        1532.813          48.070          41.595  
+ -14700421.305   -11200017.524    22237806.458    22237809.366    22237807.307  
+      2951.656        2299.984          51.023          45.244  
+ 03  8  2  0 24 58.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24333294.251   -18949150.980    20454647.550    20454650.082    20454647.795  
+       129.869         101.194          52.065          47.676  
+ -14617354.344   -11361760.621    22199183.969    22199187.003    22199184.401  
+     -1990.132       -1550.752          50.676          45.244  
+ -17516912.077   -13637894.431    21738171.268    21738174.284    21738171.246  
+      1010.942         787.745          51.718          45.244  
+ -18538136.422   -14430023.114    21268877.936    21268878.634    21268877.583  
+      1919.816        1495.955          51.023          45.938  
+  -8714956.347    -6777659.011    23308542.663    23308544.769    23308544.374  
+     -3003.531       -2340.418          48.070          41.769  
+  -3154788.949    -2412447.762    23775524.975    23775528.765    23775525.884  
+     -3148.704       -2453.535          49.112          43.159  
+  -5439045.452    -4229843.929    23847348.139    23847349.712    23847348.626  
+      1967.623        1533.210          48.070          41.595  
+ -14704848.848   -11203467.558    22236963.796    22236966.920    22236964.864  
+      2951.530        2299.899          51.023          45.070  
+ 03  8  2  0 25  0.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24333488.191   -18949302.103    20454610.805    20454613.034    20454610.870  
+       128.949         100.477          52.065          47.676  
+ -14614368.664   -11359434.122    22199752.052    22199754.854    22199752.709  
+     -1990.514       -1551.048          50.676          45.244  
+ -17518427.571   -13639075.332    21737882.989    21737885.779    21737882.818  
+      1010.003         787.012          51.718          45.244  
+ -18541015.375   -14432266.453    21268329.818    21268331.067    21268329.788  
+      1919.060        1495.370          51.023          45.938  
+  -8710450.690    -6774148.112    23309400.295    23309402.119    23309401.668  
+     -3003.784       -2340.613          48.070          41.769  
+  -3150065.538    -2408767.183    23776423.585    23776426.825    23776424.644  
+     -3148.917       -2453.706          49.286          43.159  
+  -5441996.745    -4232143.632    23846786.519    23846787.533    23846787.051  
+      1967.613        1533.212          48.070          41.422  
+ -14709275.501   -11206916.894    22236121.400    22236124.177    22236122.510  
+      2950.934        2299.427          51.023          45.070  
+ 03  8  2  0 25  1.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24333680.972   -18949452.324    20454573.999    20454576.363    20454574.173  
+       127.986          99.730          52.065          47.676  
+ -14611382.677   -11357107.380    22200320.369    22200323.258    22200320.906  
+     -1990.968       -1551.405          50.676          45.244  
+ -17519941.822   -13640255.267    21737594.782    21737597.574    21737594.776  
+      1008.950         786.191          51.718          45.417  
+ -18543893.452   -14434509.110    21267782.117    21267783.060    21267782.073  
+      1918.269        1494.751          51.023          45.938  
+  -8705944.856    -6770637.076    23310257.619    23310259.570    23310258.994  
+     -3004.046       -2340.813          48.070          41.769  
+  -3145342.023    -2405086.522    23777322.190    23777326.320    23777323.506  
+     -3149.217       -2453.936          49.286          43.159  
+  -5444948.116    -4234443.403    23846224.696    23846226.290    23846225.517  
+      1967.498        1533.127          48.070          41.422  
+ -14713701.522   -11210365.739    22235279.203    22235282.097    22235280.278  
+      2950.261        2298.903          51.023          45.070  
+ 03  8  2  0 25  3.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24333872.570   -18949601.619    20454537.721    20454539.907    20454537.711  
+       127.239          99.143          52.065          47.676  
+ -14608396.349   -11354780.375    22200888.599    22200891.395    22200889.293  
+     -1991.099       -1551.510          50.676          45.244  
+ -17521454.792   -13641434.207    21737306.909    21737309.941    21737306.931  
+      1008.129         785.560          51.718          45.244  
+ -18546770.609   -14436751.050    21267234.685    21267235.782    21267234.559  
+      1917.677        1494.288          51.023          45.938  
+  -8701438.795    -6767125.860    23311115.133    23311116.732    23311116.399  
+     -3004.203       -2340.943          48.070          41.769  
+  -3140618.409    -2401405.797    23778221.008    23778225.208    23778222.235  
+     -3149.245       -2453.946          49.286          43.159  
+  -5447899.590    -4236743.260    23845663.150    23845664.844    23845664.014  
+      1967.530        1533.139          48.070          41.595  
+ -14718126.871   -11213814.062    22234437.199    22234440.174    22234438.093  
+      2949.872        2298.601          51.023          45.070  
+ 03  8  2  0 25  4.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24334062.863   -18949749.900    20454501.240    20454503.683    20454501.451  
+       126.566          98.624          52.065          47.676  
+ -14605409.570   -11352453.013    22201457.021    22201459.903    22201457.838  
+     -1991.224       -1551.600          50.676          45.244  
+ -17522966.360   -13642612.053    21737019.202    21737022.044    21737019.311  
+      1007.370         784.972          51.718          45.417  
+ -18549646.730   -14438992.181    21266687.322    21266688.070    21266687.180  
+      1917.211        1493.933          51.023          45.938  
+  -8696932.430    -6763614.407    23311972.785    23311973.823    23311973.803  
+     -3004.213       -2340.941          48.070          41.769  
+  -3135894.533    -2397724.858    23779119.976    23779124.065    23779121.037  
+     -3149.211       -2453.920          49.286          43.159  
+  -5450851.102    -4239043.139    23845101.537    23845102.997    23845102.442  
+      1967.746        1533.278          48.070          41.422  
+ -14722551.427   -11217261.765    22233595.145    22233598.258    22233596.088  
+      2949.533        2298.336          51.023          45.244  
+ 03  8  2  0 25  6.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24334251.899   -18949897.199    20454465.348    20454467.696    20454465.394  
+       125.643          97.898          52.065          47.676  
+ -14602422.356   -11350125.314    22202025.407    22202028.448    22202026.452  
+     -1991.592       -1551.893          50.676          45.070  
+ -17524476.577   -13643788.843    21736731.701    21736734.457    21736731.942  
+      1006.369         784.186          51.718          45.244  
+ -18552521.860   -14441232.540    21266140.167    21266140.965    21266139.984  
+      1916.464        1493.337          51.023          45.938  
+  -8692425.773    -6760102.729    23312830.345    23312831.932    23312831.274  
+     -3004.460       -2341.124          48.070          41.943  
+  -3131170.464    -2394043.768    23780018.938    23780022.725    23780019.814  
+     -3149.411       -2454.096          49.286          43.159  
+  -5453802.624    -4241343.017    23844539.829    23844540.870    23844540.915  
+      1967.596        1533.177          48.070          41.422  
+ -14726975.220   -11220708.875    22232753.341    22232756.377    22232754.159  
+      2948.948        2297.872          51.023          45.244  
+ 03  8  2  0 25  7.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24334439.798   -18950043.620    20454429.606    20454432.089    20454429.601  
+       125.138          97.513          52.065          47.676  
+ -14599434.853   -11347797.393    22202593.859    22202596.701    22202595.025  
+     -1991.551       -1551.863          50.676          45.070  
+ -17525985.577   -13644964.686    21736444.609    21736447.252    21736444.811  
+      1005.865         783.790          51.718          45.417  
+ -18555396.145   -14443472.238    21265593.207    21265594.227    21265592.981  
+      1916.129        1493.083          51.023          46.112  
+  -8687918.969    -6756590.937    23313688.033    23313690.067    23313688.879  
+     -3004.312       -2341.014          48.070          41.943  
+  -3126446.314    -2390362.618    23780917.769    23780921.519    23780918.658  
+     -3149.231       -2453.943          49.286          43.333  
+  -5456754.319    -4243643.033    23843977.836    23843979.596    23843979.412  
+      1968.057        1533.541          48.070          41.422  
+ -14731398.406   -11224155.510    22231911.599    22231914.593    22231912.419  
+      2948.821        2297.784          51.023          45.244  
+ 03  8  2  0 25  9.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24334626.393   -18950189.019    20454393.969    20454396.538    20454394.109  
+       124.288          96.859          52.065          47.676  
+ -14596446.894   -11345469.111    22203162.555    22203165.090    22203163.626  
+     -1991.829       -1552.072          50.676          45.244  
+ -17527493.185   -13646139.447    21736157.701    21736160.291    21736157.978  
+      1004.950         783.089          51.718          45.417  
+ -18558269.390   -14445711.133    21265046.420    21265047.406    21265046.190  
+      1915.442        1492.556          51.023          45.938  
+  -8683411.841    -6753078.884    23314545.603    23314547.080    23314546.541  
+     -3004.501       -2341.163          48.070          41.943  
+  -3121721.933    -2386681.288    23781817.099    23781820.342    23781817.642  
+     -3149.372       -2454.053          49.286          43.159  
+  -5459706.031    -4245943.076    23843416.448    23843417.561    23843417.864  
+      1968.069        1533.566          48.070          41.422  
+ -14735820.801   -11227601.531    22231070.169    22231073.111    22231070.888  
+      2948.324        2297.409          51.023          45.244  
+ 03  8  2  0 25 10.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24334811.708   -18950333.421    20454358.857    20454361.261    20454358.886  
+       123.159          95.963          52.065          47.676  
+ -14593458.492   -11343140.486    22203731.226    22203733.853    22203732.323  
+     -1992.360       -1552.497          50.676          45.244  
+ -17528999.415   -13647313.131    21735871.141    21735874.036    21735871.419  
+      1003.734         782.129          51.718          45.244  
+ -18561141.631   -14447949.240    21264499.819    21264500.720    21264499.587  
+      1914.527        1491.837          51.023          45.938  
+  -8678904.420    -6749566.605    23315403.368    23315405.283    23315404.336  
+     -3005.021       -2341.598          48.070          41.769  
+  -3116997.331    -2382999.779    23782716.223    23782720.047    23782716.689  
+     -3149.817       -2454.411          49.286          43.159  
+  -5462657.755    -4248243.124    23842854.743    23842856.419    23842856.174  
+      1967.771        1533.326          48.070          41.595  
+ -14740242.409   -11231046.936    22230228.703    22230231.505    22230229.465  
+      2947.529        2296.776          51.023          45.070  
+ 03  8  2  0 25 12.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24334995.960   -18950476.995    20454323.797    20454326.166    20454323.855  
+       122.638          95.560          52.065          47.849  
+ -14590469.857   -11340811.684    22204300.160    22204302.923    22204301.031  
+     -1992.366       -1552.489          50.676          45.244  
+ -17530504.493   -13648485.920    21735584.716    21735587.508    21735585.029  
+      1003.147         781.672          51.718          45.244  
+ -18564013.081   -14450186.739    21263953.522    21263954.353    21263953.155  
+      1914.237        1491.616          51.023          45.938  
+  -8674396.906    -6746054.260    23316260.983    23316262.548    23316262.141  
+     -3004.875       -2341.452          48.070          41.769  
+  -3112272.729    -2379318.274    23783615.319    23783618.861    23783615.734  
+     -3149.589       -2454.216          49.286          43.159  
+  -5465609.736    -4250543.371    23842292.845    23842293.984    23842294.527  
+      1968.204        1533.669          48.070          41.422  
+ -14744663.474   -11234491.918    22229387.316    22229390.294    22229388.135  
+      2947.302        2296.592          51.023          45.244  
+ 03  8  2  0 25 13.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24335178.775   -18950619.445    20454289.081    20454291.317    20454289.144  
+       121.398          94.590          52.065          47.676  
+ -14587480.647   -11338482.429    22204868.947    22204871.791    22204869.924  
+     -1992.989       -1552.982          50.676          45.070  
+ -17532008.044   -13649657.514    21735298.781    21735301.301    21735298.859  
+      1001.875         780.676          51.718          45.244  
+ -18566883.378   -14452423.328    21263407.206    21263407.747    21263406.948  
+      1913.128        1490.742          51.023          46.112  
+  -8669888.944    -6742541.568    23317118.645    23317120.598    23317119.937  
+     -3005.470       -2341.927          48.070          41.769  
+  -3107547.761    -2375636.485    23784514.353    23784517.629    23784514.787  
+     -3150.070       -2454.609          49.286          43.159  
+  -5468561.575    -4252843.498    23841731.321    23841732.021    23841732.887  
+      1967.837        1533.383          48.070          41.422  
+ -14749083.613   -11237936.180    22228546.123    22228549.314    22228546.964  
+      2946.405        2295.892          51.023          45.244  
+ 03  8  2  0 25 15.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24335360.414   -18950760.987    20454254.497    20454256.675    20454254.564  
+       120.772          94.113          52.065          47.676  
+ -14584491.089   -11336152.905    22205437.882    22205440.742    22205438.795  
+     -1993.069       -1553.041          50.676          45.070  
+ -17533510.326   -13650828.125    21735012.792    21735015.366    21735012.938  
+      1001.194         780.156          51.718          45.244  
+ -18569752.766   -14454659.215    21262861.147    21262862.181    21262860.890  
+      1912.691        1490.411          51.023          45.938  
+  -8665380.787    -6739028.719    23317976.728    23317977.857    23317977.798  
+     -3005.464       -2341.931          48.070          41.943  
+  -3102822.660    -2371954.593    23785413.484    23785417.038    23785413.899  
+     -3150.037       -2454.571          49.286          43.159  
+  -5471513.482    -4255143.692    23841169.266    23841170.524    23841170.993  
+      1968.075        1533.562          48.070          41.422  
+ -14753503.090   -11241379.933    22227705.132    22227707.511    22227705.894  
+      2946.133        2295.693          51.023          45.070  
+ 03  8  2  0 25 16.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24335540.873   -18950901.602    20454220.113    20454222.461    20454220.265  
+       119.827          93.367          52.065          47.676  
+ -14581501.209   -11333823.132    22206006.913    22206009.230    22206007.714  
+     -1993.442       -1553.335          50.676          45.070  
+ -17535011.339   -13651997.745    21734727.045    21734729.646    21734727.363  
+      1000.175         779.349          51.718          45.244  
+ -18572621.256   -14456894.403    21262315.206    21262316.360    21262315.036  
+      1911.958        1489.843          51.023          45.938  
+  -8660872.457    -6735515.739    23318834.752    23318835.866    23318835.641  
+     -3005.630       -2342.044          48.070          41.769  
+  -3098097.449    -2368272.615    23786312.811    23786316.062    23786312.960  
+     -3150.251       -2454.742          49.286          43.159  
+  -5474465.548    -4257443.997    23840607.560    23840609.354    23840609.230  
+      1967.993        1533.502          48.070          41.422  
+ -14757921.913   -11244823.171    22226864.347    22226867.366    22226864.955  
+      2945.556        2295.235          51.023          45.244  
+ 03  8  2  0 25 18.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24335720.111   -18951041.270    20454186.293    20454188.398    20454186.208  
+       119.085          92.788          52.065          47.849  
+ -14578510.954   -11331493.063    22206575.916    22206578.596    22206576.675  
+     -1993.602       -1553.462          50.676          45.070  
+ -17536511.049   -13653166.348    21734442.027    21734444.369    21734441.992  
+       999.394         778.742          51.718          45.244  
+ -18575488.798   -14459128.855    21261769.696    21261770.368    21261769.360  
+      1911.411        1489.406          51.023          45.938  
+  -8656363.858    -6732002.551    23319692.344    23319693.756    23319693.674  
+     -3005.790       -2342.176          48.070          41.769  
+  -3093372.087    -2364590.519    23787212.073    23787215.901    23787212.086  
+     -3150.254       -2454.743          49.460          43.159  
+  -5477417.687    -4259744.367    23840045.564    23840047.294    23840047.354  
+      1968.046        1533.549          48.070          41.422  
+ -14762340.033   -11248265.856    22226023.488    22226026.543    22226024.122  
+      2945.170        2294.925          51.023          45.070  
+ 03  8  2  0 25 19.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24335898.066   -18951179.936    20454152.269    20454154.495    20454152.304  
+       118.409          92.268          52.065          47.849  
+ -14575520.245   -11329162.637    22207145.072    22207147.412    22207145.688  
+     -1993.770       -1553.584          50.676          45.070  
+ -17538009.373   -13654333.868    21734156.911    21734159.127    21734156.996  
+       998.618         778.148          51.718          45.244  
+ -18578355.332   -14461362.515    21261224.116    21261224.912    21261223.832  
+      1910.881        1489.009          51.023          45.938  
+  -8651854.963    -6728489.125    23320550.635    23320551.802    23320551.704  
+     -3005.832       -2342.210          48.070          41.943  
+  -3088646.500    -2360908.244    23788111.179    23788114.632    23788111.312  
+     -3150.242       -2454.724          49.460          43.159  
+  -5480369.863    -4262044.758    23839483.783    23839485.969    23839485.387  
+      1968.169        1533.636          48.070          41.248  
+ -14766757.357   -11251707.925    22225182.934    22225185.977    22225183.478  
+      2944.815        2294.661          51.023          45.070  
+ 03  8  2  0 25 21.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24336074.802   -18951317.653    20454118.666    20454120.848    20454118.631  
+       117.644          91.671          52.065          47.676  
+ -14572529.160   -11326831.922    22207714.341    22207716.550    22207714.817  
+     -1993.971       -1553.743          50.676          45.070  
+ -17539506.383   -13655500.369    21733871.941    21733874.405    21733872.229  
+       997.775         777.484          51.718          45.244  
+ -18581220.904   -14463595.428    21260678.856    21260679.466    21260678.529  
+      1910.316        1488.561          51.023          45.938  
+  -8647345.836    -6724975.514    23321408.647    23321409.860    23321409.717  
+     -3005.928       -2342.292          48.070          41.943  
+  -3083920.749    -2357225.846    23789010.470    23789014.320    23789010.577  
+     -3150.347       -2454.806          49.460          43.159  
+  -5483322.086    -4264345.194    23838921.986    23838924.153    23838923.463  
+      1968.378        1533.803          48.070          41.422  
+ -14771173.953   -11255149.425    22224342.481    22224344.894    22224342.991  
+      2944.363        2294.307          51.023          45.070  
+ 03  8  2  0 25 22.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24336250.274   -18951454.385    20454085.266    20454087.454    20454085.234  
+       116.663          90.909          52.065          47.849  
+ -14569537.667   -11324500.889    22208283.625    22208286.083    22208284.027  
+     -1994.336       -1554.035          50.676          45.070  
+ -17541002.041   -13656665.817    21733587.350    21733589.501    21733587.723  
+       996.745         776.693          51.718          45.244  
+ -18584085.484   -14465827.570    21260133.609    21260134.405    21260133.391  
+      1909.499        1487.920          51.023          45.938  
+  -8642836.430    -6721461.696    23322266.780    23322268.186    23322267.806  
+     -3006.253       -2342.521          48.070          41.943  
+  -3079194.816    -2353543.300    23789909.674    23789913.250    23789909.797  
+     -3150.580       -2454.988          49.460          43.159  
+  -5486274.339    -4266645.644    23838360.143    23838361.735    23838361.488  
+      1968.182        1533.652          48.070          41.422  
+ -14775589.814   -11258590.357    22223502.183    22223504.892    22223502.598  
+      2943.757        2293.845          51.023          45.070  
+ 03  8  2  0 25 24.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24336424.606   -18951590.230    20454051.976    20454054.260    20454052.120  
+       115.598          90.072          52.065          47.676  
+ -14566545.873   -11322169.624    22208853.009    22208855.080    22208853.324  
+     -1994.817       -1554.406          50.676          45.070  
+ -17542496.465   -13657830.305    21733303.046    21733305.304    21733303.499  
+       995.622         775.805          51.718          45.244  
+ -18586949.194   -14468059.034    21259588.771    21259589.348    21259588.441  
+      1908.612        1487.231          51.023          45.938  
+  -8638326.873    -6717947.755    23323125.278    23323125.891    23323125.985  
+     -3006.679       -2342.885          48.070          41.769  
+  -3074468.806    -2349860.699    23790809.000    23790812.650    23790809.137  
+     -3150.919       -2455.273          49.460          43.159  
+  -5489226.732    -4268946.204    23837798.287    23837799.938    23837799.530  
+      1967.998        1533.488          48.070          41.422  
+ -14780005.045   -11262030.797    22222661.932    22222664.787    22222662.325  
+      2943.035        2293.271          51.197          45.070  
+ 03  8  2  0 25 25.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24336597.672   -18951725.085    20454019.123    20454021.509    20454019.277  
+       115.300          89.851          52.065          47.676  
+ -14563553.661   -11319838.029    22209422.399    22209424.877    22209422.711  
+     -1994.564       -1554.196          50.676          45.070  
+ -17543989.541   -13658993.745    21733018.917    21733021.311    21733019.430  
+       995.300         775.562          51.718          45.244  
+ -18589811.926   -14470289.732    21259043.977    21259044.643    21259043.675  
+      1908.508        1487.156          51.023          45.938  
+  -8633817.035    -6714433.590    23323983.175    23323984.380    23323984.246  
+     -3006.290       -2342.568          48.070          41.943  
+  -3069742.599    -2346177.947    23791708.471    23791712.379    23791708.457  
+     -3150.505       -2454.924          49.460          43.159  
+  -5492179.163    -4271246.803    23837236.216    23837238.820    23837237.614  
+      1968.530        1533.932          48.070          41.595  
+ -14784419.519   -11265470.643    22221821.720    22221824.831    22221822.212  
+      2943.063        2293.301          51.023          45.070  
+ 03  8  2  0 25 27.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24336769.428   -18951858.919    20453986.444    20453988.726    20453986.639  
+       113.947          88.784          52.065          47.676  
+ -14560560.987   -11317506.073    22209991.898    22209993.901    22209992.151  
+     -1995.385       -1554.861          50.676          45.070  
+ -17545481.194   -13660156.070    21732734.923    21732737.326    21732735.630  
+       993.846         774.419          51.718          45.244  
+ -18592673.615   -14472519.617    21258499.277    21258500.092    21258499.020  
+      1907.358        1486.243          51.023          45.938  
+  -8629306.882    -6710919.189    23324841.398    23324842.096    23324842.447  
+     -3007.009       -2343.132          48.070          41.769  
+  -3065016.149    -2342495.001    23792607.850    23792611.220    23792607.844  
+     -3151.181       -2455.474          49.460          43.159  
+  -5495131.598    -4273547.393    23836674.417    23836677.027    23836675.642  
+      1968.010        1533.507          48.070          41.422  
+ -14788833.201   -11268909.873    22220982.004    22220984.816    22220982.270  
+      2942.035        2292.485          51.197          45.244  
+ 03  8  2  0 25 28.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24336940.067   -18951991.888    20453954.051    20453956.182    20453954.194  
+       113.090          88.123          52.065          47.676  
+ -14557568.054   -11315173.920    22210561.346    22210563.560    22210561.731  
+     -1995.680       -1555.073          50.676          45.070  
+ -17546971.662   -13661317.477    21732451.322    21732453.821    21732452.039  
+       992.962         773.740          51.718          45.244  
+ -18595534.464   -14474748.852    21257954.938    21257955.737    21257954.585  
+      1906.668        1485.712          51.023          45.938  
+  -8624796.595    -6707404.685    23325699.899    23325701.482    23325700.714  
+     -3007.201       -2343.256          47.896          41.769  
+  -3060289.653    -2338812.024    23793507.456    23793511.524    23793507.180  
+     -3151.276       -2455.548          49.460          43.159  
+  -5498084.230    -4275848.144    23836112.351    23836115.369    23836113.576  
+      1968.181        1533.642          48.070          41.595  
+ -14793246.269   -11272348.626    22220142.166    22220145.134    22220142.488  
+      2941.527        2292.090          51.197          45.070  
+ 03  8  2  0 25 30.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24337109.389   -18952123.828    20453921.765    20453924.020    20453922.008  
+       112.977          88.051          52.065          47.849  
+ -14554574.632   -11312841.386    22211130.869    22211133.030    22211131.334  
+     -1995.196       -1554.674          50.676          45.070  
+ -17548460.703   -13662477.769    21732167.879    21732170.234    21732168.733  
+       992.743         773.588          51.718          45.244  
+ -18598394.274   -14476977.277    21257410.637    21257411.516    21257410.419  
+      1906.728        1485.779          51.023          45.938  
+  -8620285.976    -6703889.918    23326557.760    23326558.736    23326558.999  
+     -3006.664       -2342.832          47.896          41.769  
+  -3055562.911    -2335128.850    23794406.799    23794410.058    23794406.623  
+     -3150.705       -2455.074          49.460          43.333  
+  -5501036.807    -4278148.859    23835550.738    23835552.524    23835551.505  
+      1968.890        1534.232          48.070          41.595  
+ -14797658.520   -11275786.746    22219302.544    22219305.543    22219302.913  
+      2941.720        2292.272          51.197          45.070  
+ 03  8  2  0 25 31.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24337277.376   -18952254.727    20453889.740    20453891.872    20453890.069  
+       111.413          86.808          52.065          47.849  
+ -14551580.722   -11310508.469    22211700.543    22211703.005    22211701.077  
+     -1996.202       -1555.480          50.676          45.070  
+ -17549948.323   -13663636.952    21731884.844    21731887.436    21731885.622  
+       991.161         772.330          51.718          45.244  
+ -18601253.012   -14479204.861    21256866.779    21256867.574    21256866.404  
+      1905.346        1484.674          51.023          45.938  
+  -8615775.023    -6700374.896    23327416.213    23327417.312    23327417.504  
+     -3007.557       -2343.554          47.896          41.769  
+  -3050835.904    -2331445.470    23795306.392    23795309.890    23795306.233  
+     -3151.556       -2455.761          49.460          43.159  
+  -5503989.371    -4280449.547    23834988.948    23834990.817    23834989.497  
+      1968.175        1533.628          48.070          41.595  
+ -14802069.951   -11279224.223    22218463.069    22218465.927    22218463.476  
+      2940.526        2291.322          51.197          45.070  
+ 03  8  2  0 25 33.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24337444.277   -18952384.778    20453857.964    20453860.226    20453858.338  
+       110.552          86.137          52.065          47.676  
+ -14548586.577   -11308175.369    22212270.614    22212272.678    22212270.789  
+     -1996.516       -1555.725          50.676          45.070  
+ -17551434.769   -13664795.224    21731602.017    21731604.257    21731602.773  
+       990.232         771.606          51.718          45.244  
+ -18604110.940   -14481431.818    21256322.860    21256323.612    21256322.613  
+      1904.649        1484.143          51.023          45.938  
+  -8611263.951    -6696859.774    23328274.876    23328275.594    23328275.951  
+     -3007.795       -2343.744          47.896          41.943  
+  -3046108.877    -2327762.076    23796205.560    23796209.938    23796205.760  
+     -3151.745       -2455.912          49.460          43.159  
+  -5506942.147    -4282750.419    23834427.103    23834428.750    23834427.402  
+      1968.197        1533.661          48.070          41.595  
+ -14806480.802   -11282661.243    22217623.757    22217626.584    22217624.111  
+      2939.981        2290.888          51.197          45.070  
+ 03  8  2  0 25 34.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24337609.943   -18952513.869    20453826.352    20453828.647    20453826.757  
+       110.050          85.756          52.065          47.676  
+ -14545592.050   -11305841.972    22212840.427    22212842.524    22212840.645  
+     -1996.467       -1555.689          50.676          45.070  
+ -17552919.887   -13665952.458    21731319.397    21731321.683    21731320.163  
+       989.652         771.161          51.718          45.244  
+ -18606967.891   -14483658.016    21255779.226    21255779.957    21255778.976  
+      1904.333        1483.896          51.023          45.938  
+  -8606752.639    -6693344.469    23329133.499    23329134.448    23329134.461  
+     -3007.675       -2343.640          47.896          41.769  
+  -3041381.688    -2324078.557    23797105.328    23797109.414    23797105.283  
+     -3151.467       -2455.682          49.460          43.159  
+  -5509894.993    -4285051.341    23833865.223    23833867.443    23833865.376  
+      1968.544        1533.941          48.070          41.595  
+ -14810890.916   -11286097.696    22216784.556    22216787.314    22216784.914  
+      2939.847        2290.793          51.197          45.070  
+ 03  8  2  0 25 36.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24337774.227   -18952641.881    20453795.145    20453797.520    20453795.449  
+       109.045          84.967          52.065          47.676  
+ -14542596.987   -11303508.154    22213410.244    22213412.818    22213410.646  
+     -1996.890       -1556.021          50.676          45.070  
+ -17554403.525   -13667108.537    21731037.041    21731039.458    21731037.772  
+       988.585         770.327          51.718          45.244  
+ -18609823.732   -14485883.345    21255235.640    21255236.197    21255235.544  
+      1903.494        1483.244          51.023          45.938  
+  -8602240.957    -6689828.867    23329991.999    23329992.914    23329993.018  
+     -3007.913       -2343.841          47.896          41.943  
+  -3036654.194    -2320394.798    23798004.825    23798008.082    23798004.908  
+     -3151.783       -2455.927          49.460          43.333  
+  -5512847.760    -4287352.197    23833303.116    23833306.051    23833303.296  
+      1968.509        1533.912          48.070          41.595  
+ -14815300.168   -11289533.472    22215945.615    22215948.384    22215945.872  
+      2939.205        2290.290          51.197          45.070  
+ 03  8  2  0 25 37.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24337937.435   -18952769.061    20453764.220    20453766.371    20453764.376  
+       108.174          84.296          52.065          47.849  
+ -14539601.705   -11301174.171    22213980.184    22213982.331    22213980.640  
+     -1997.162       -1556.224          50.676          45.070  
+ -17555886.011   -13668263.722    21730754.690    21730757.248    21730755.542  
+       987.671         769.611          51.718          45.244  
+ -18612678.780   -14488108.060    21254692.473    21254692.978    21254692.214  
+      1902.827        1482.721          51.023          45.765  
+  -8597729.164    -6686313.187    23330850.448    23330851.855    23330851.618  
+     -3008.164       -2344.012          47.896          41.769  
+  -3031926.704    -2316711.046    23798904.347    23798908.722    23798904.519  
+     -3151.920       -2456.026          49.460          43.159  
+  -5515800.780    -4289653.249    23832741.009    23832742.962    23832741.171  
+      1968.454        1533.854          48.070          41.595  
+ -14819708.861   -11292968.820    22215106.634    22215109.353    22215106.924  
+      2938.644        2289.849          51.197          45.070  
+ 03  8  2  0 25 39.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24338099.445   -18952895.305    20453733.282    20453735.514    20453733.561  
+       107.713          83.938          52.065          47.676  
+ -14536606.064   -11298839.907    22214550.417    22214552.367    22214550.754  
+     -1997.105       -1556.181          50.676          45.070  
+ -17557367.199   -13669417.896    21730472.984    21730475.462    21730473.550  
+       987.131         769.192          51.718          45.244  
+ -18615532.886   -14490332.036    21254149.290    21254149.975    21254149.149  
+      1902.524        1482.488          51.023          45.938  
+  -8593217.162    -6682797.346    23331708.896    23331710.644    23331710.244  
+     -3008.044       -2343.928          47.896          41.769  
+  -3027199.070    -2313027.177    23799804.140    23799808.368    23799804.187  
+     -3151.678       -2455.845          49.460          43.159  
+  -5518753.889    -4291954.369    23832179.031    23832181.015    23832179.027  
+      1968.834        1534.169          48.070          41.422  
+ -14824116.849   -11296403.614    22214267.615    22214270.395    22214268.061  
+      2938.487        2289.736          51.197          45.070  
+ 03  8  2  0 25 40.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24338259.975   -18953020.390    20453702.750    20453704.914    20453702.984  
+       106.237          82.770          52.065          47.849  
+ -14533609.798   -11296505.150    22215120.323    22215122.703    22215121.006  
+     -1998.007       -1556.895          50.676          45.070  
+ -17558846.816   -13670570.841    21730191.311    21730193.910    21730191.899  
+       985.578         767.969          51.718          45.244  
+ -18618385.781   -14492555.067    21253606.396    21253607.048    21253606.282  
+      1901.214        1481.450          51.023          45.938  
+  -8588704.699    -6679281.145    23332567.577    23332569.247    23332568.912  
+     -3008.779       -2344.516          47.722          41.943  
+  -3022471.047    -2309343.004    23800703.816    23800707.817    23800703.912  
+     -3152.494       -2456.491          49.460          43.159  
+  -5521706.808    -4294255.345    23831617.244    23831619.415    23831616.928  
+      1968.073        1533.541          48.070          41.422  
+ -14828523.856   -11299837.642    22213429.207    22213431.594    22213429.433  
+      2937.352        2288.833          51.197          45.070  
+ 03  8  2  0 25 42.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24338419.534   -18953144.724    20453672.410    20453674.572    20453672.619  
+       105.639          82.315          52.065          47.676  
+ -14530613.406   -11294170.306    22215690.479    22215693.035    22215691.228  
+     -1998.054       -1556.924          50.676          44.896  
+ -17560325.367   -13671722.958    21729909.924    21729912.634    21729910.435  
+       984.919         767.460          51.718          45.244  
+ -18621237.982   -14494777.564    21253063.561    21253064.379    21253063.544  
+      1900.831        1481.159          51.023          45.938  
+  -8584192.228    -6675764.934    23333426.344    23333427.670    23333427.491  
+     -3008.685       -2344.422          47.722          41.943  
+  -3017743.131    -2305658.924    23801603.182    23801607.530    23801603.610  
+     -3152.317       -2456.347          49.460          43.159  
+  -5524660.071    -4296556.596    23831055.283    23831057.614    23831054.727  
+      1968.438        1533.842          48.070          41.595  
+ -14832930.399   -11303271.311    22212590.590    22212593.322    22212590.858  
+      2937.093        2288.635          51.197          45.070  
+ 03  8  2  0 25 43.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24338577.724   -18953267.988    20453642.390    20453644.608    20453642.562  
+       105.172          81.958          52.065          47.849  
+ -14527616.493   -11291835.048    22216260.841    22216263.054    22216261.489  
+     -1997.970       -1556.852          50.676          45.070  
+ -17561802.463   -13672873.943    21729628.980    21729631.780    21729629.241  
+       984.400         767.072          51.718          45.417  
+ -18624089.080   -14496999.197    21252521.237    21252521.718    21252520.986  
+      1900.518        1480.925          51.023          45.938  
+  -8579679.377    -6672248.429    23334285.175    23334286.730    23334286.147  
+     -3008.579       -2344.347          47.722          41.943  
+  -3013014.908    -2301974.595    23802503.071    23802507.085    23802503.262  
+     -3152.077       -2456.162          49.460          43.159  
+  -5527613.216    -4298857.745    23830493.184    23830495.708    23830492.514  
+      1968.861        1534.195          48.070          41.422  
+ -14837336.073   -11306704.299    22211752.197    22211755.288    22211752.434  
+      2936.945        2288.537          51.197          45.070  
+ 03  8  2  0 25 45.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24338734.749   -18953390.348    20453612.486    20453614.651    20453612.713  
+       104.285          81.267          52.065          47.676  
+ -14524619.270   -11289499.550    22216831.172    22216833.639    22216831.884  
+     -1998.268       -1557.095          50.676          45.070  
+ -17563278.294   -13674023.939    21729348.122    21729350.713    21729348.373  
+       983.465         766.333          51.718          45.244  
+ -18626939.283   -14499220.134    21251978.789    21251979.337    21251978.657  
+      1899.819        1480.379          51.023          45.938  
+  -8575166.352    -6668731.782    23335143.944    23335145.192    23335144.951  
+     -3008.756       -2344.470          47.722          42.117  
+  -3008286.593    -2298290.199    23803402.790    23803406.495    23803402.909  
+     -3152.222       -2456.278          49.460          43.159  
+  -5530566.523    -4301159.019    23829931.289    23829933.439    23829930.208  
+      1968.880        1534.188          48.070          41.595  
+ -14841741.103   -11310136.793    22210914.079    22210916.830    22210914.149  
+      2936.442        2288.139          51.197          45.070  
+ 03  8  2  0 25 46.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24338890.483   -18953511.701    20453582.830    20453585.025    20453583.154  
+       103.288          80.480          52.065          47.849  
+ -14521621.614   -11287163.717    22217401.459    22217404.248    22217402.351  
+     -1998.650       -1557.391          50.676          44.896  
+ -17564752.757   -13675172.872    21729067.534    21729070.313    21729067.814  
+       982.410         765.514          51.718          45.244  
+ -18629788.469   -14501440.277    21251436.675    21251437.288    21251436.451  
+      1899.016        1479.745          51.023          45.938  
+  -8570653.038    -6665214.915    23336002.481    23336004.511    23336003.634  
+     -3009.178       -2344.811          47.722          41.943  
+  -3003558.058    -2294605.630    23804302.604    23804306.531    23804302.569  
+     -3152.532       -2456.524          49.460          43.159  
+  -5533519.818    -4303460.280    23829369.109    23829371.496    23829368.044  
+      1968.730        1534.061          48.070          41.422  
+ -14846145.339   -11313568.665    22210075.951    22210078.492    22210075.988  
+      2935.777        2287.606          51.197          45.070  
+ 03  8  2  0 25 48.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24339045.031   -18953632.128    20453553.441    20453555.523    20453553.765  
+       102.806          80.119          52.065          47.676  
+ -14518623.612   -11284827.614    22217971.920    22217974.612    22217972.804  
+     -1998.572       -1557.326          50.676          45.070  
+ -17566225.924   -13676320.796    21728787.205    21728790.032    21728787.479  
+       981.887         765.110          51.718          45.244  
+ -18632636.731   -14503659.706    21250894.512    21250895.205    21250894.382  
+      1898.732        1479.543          51.023          45.938  
+  -8566139.539    -6661697.919    23336861.193    23336863.046    23336862.549  
+     -3008.902       -2344.596          47.722          41.943  
+  -2998829.423    -2290920.988    23805202.621    23805206.676    23805202.243  
+     -3152.238       -2456.275          49.460          43.159  
+  -5536473.236    -4305761.652    23828807.127    23828809.945    23828805.898  
+      1969.221        1534.462          48.070          41.422  
+ -14850548.897   -11317000.005    22209238.012    22209240.635    22209238.022  
+      2935.660        2287.531          51.197          45.070  
+ 03  8  2  0 25 49.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24339198.241   -18953751.512    20453524.352    20453526.338    20453524.641  
+       102.069          79.539          52.065          47.849  
+ -14515625.128   -11282491.132    22218542.598    22218545.039    22218543.365  
+     -1998.790       -1557.497          50.676          45.070  
+ -17567697.662   -13677467.601    21728507.155    21728510.082    21728507.465  
+       981.012         764.424          51.718          45.244  
+ -18635483.936   -14505878.301    21250352.784    21250353.407    21250352.570  
+      1898.090        1479.026          51.023          45.938  
+  -8561625.686    -6658180.628    23337720.550    23337722.297    23337721.563  
+     -3009.011       -2344.699          47.722          41.943  
+  -2994100.498    -2287236.110    23806102.582    23806106.148    23806102.091  
+     -3152.433       -2456.441          49.460          43.159  
+  -5539426.604    -4308062.979    23828245.221    23828247.616    23828243.800  
+      1969.187        1534.427          48.070          41.595  
+ -14854951.622   -11320430.696    22208400.214    22208402.743    22208400.189  
+      2935.220        2287.186          51.197          45.070  
+ 03  8  2  0 25 51.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24339350.338   -18953870.030    20453495.370    20453497.372    20453495.705  
+       100.919          78.640          52.065          47.676  
+ -14512626.380   -11280154.446    22219113.311    22219115.652    22219113.911  
+     -1999.363       -1557.947          50.676          45.070  
+ -17569168.208   -13678613.483    21728227.359    21728229.870    21728227.634  
+       979.872         763.536          51.718          45.244  
+ -18638330.296   -14508096.247    21249811.102    21249811.830    21249810.944  
+      1897.193        1478.333          51.023          45.938  
+  -8557111.691    -6654663.231    23338579.406    23338581.253    23338580.511  
+     -3009.467       -2345.040          47.549          41.943  
+  -2989371.565    -2283551.234    23807002.419    23807006.174    23807002.080  
+     -3152.741       -2456.681          49.460          43.159  
+  -5542380.162    -4310364.454    23827683.511    23827685.587    23827681.895  
+      1968.978        1534.259          48.070          41.422  
+ -14859353.750   -11323860.929    22207562.489    22207565.084    22207562.524  
+      2934.416        2286.555          51.197          45.070  
+ 03  8  2  0 25 52.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24339501.148   -18953987.547    20453466.612    20453468.814    20453467.041  
+       100.387          78.228          52.065          47.676  
+ -14509627.206   -11277817.430    22219684.059    22219686.370    22219684.607  
+     -1999.306       -1557.893          50.676          44.896  
+ -17570637.364   -13679758.280    21727947.756    21727950.337    21727948.032  
+       979.262         763.062          51.718          45.244  
+ -18641175.630   -14510313.390    21249269.570    21249270.225    21249269.555  
+      1896.816        1478.048          51.023          45.938  
+  -8552597.387    -6651145.599    23339438.119    23339439.962    23339439.422  
+     -3009.449       -2345.017          47.549          41.943  
+  -2984642.412    -2279866.183    23807902.475    23807906.011    23807902.133  
+     -3152.618       -2456.592          49.460          43.159  
+  -5545333.727    -4312665.930    23827121.222    23827123.407    23827120.129  
+      1969.268        1534.501          48.070          41.595  
+ -14863755.082   -11327290.540    22206724.980    22206727.382    22206725.047  
+      2934.215        2286.413          51.197          45.070  
+ 03  8  2  0 25 54.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24339650.610   -18954104.007    20453438.171    20453440.462    20453438.634  
+        99.250          77.336          52.065          47.849  
+ -14506627.538   -11275480.026    22220254.918    22220257.255    22220255.399  
+     -1999.835       -1558.312          50.676          44.896  
+ -17572105.075   -13680901.950    21727668.325    21727671.157    21727668.734  
+       978.049         762.115          51.718          45.244  
+ -18644019.898   -14512529.704    21248728.364    21248729.210    21248728.333  
+      1895.902        1477.324          51.023          45.938  
+  -8548082.753    -6647627.702    23340297.267    23340299.350    23340298.470  
+     -3009.862       -2345.356          47.549          41.943  
+  -2979912.992    -2276180.914    23808802.360    23808805.698    23808802.052  
+     -3152.968       -2456.849          49.460          42.985  
+  -5548287.246    -4314967.372    23826559.224    23826561.596    23826558.230  
+      1968.987        1534.267          48.070          41.595  
+ -14868155.572   -11330719.493    22205887.701    22205890.032    22205887.673  
+      2933.458        2285.817          51.197          45.070  
+ 03  8  2  0 25 55.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24339798.992   -18954219.634    20453409.966    20453412.193    20453410.358  
+        98.112          76.448          52.065          47.849  
+ -14503627.622   -11273142.434    22220825.747    22220828.147    22220826.184  
+     -2000.454       -1558.803          50.676          45.070  
+ -17573571.623   -13682044.716    21727389.393    21727392.105    21727389.697  
+       976.825         761.159          51.718          45.417  
+ -18646863.339   -14514745.372    21248187.237    21248188.049    21248187.232  
+      1894.927        1476.558          51.023          45.938  
+  -8543568.041    -6644109.749    23341156.251    23341158.877    23341157.351  
+     -3010.374       -2345.768          47.549          42.117  
+  -2975183.561    -2272495.651    23809702.207    23809705.743    23809701.983  
+     -3153.398       -2457.179          49.460          43.159  
+  -5551240.956    -4317268.957    23825997.304    23825999.887    23825996.271  
+      1968.730        1534.076          48.070          41.595  
+ -14872555.490   -11334148.003    22205050.295    22205052.751    22205050.312  
+      2932.641        2285.171          51.197          45.070  
+ 03  8  2  0 25 57.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24339946.078   -18954334.245    20453381.946    20453383.924    20453382.363  
+        97.709          76.142          52.065          47.676  
+ -14500627.276   -11270804.499    22221396.661    22221399.020    22221397.104  
+     -2000.321       -1558.687          50.676          45.070  
+ -17575036.782   -13683186.398    21727110.746    21727113.381    21727110.895  
+       976.376         760.809          51.718          45.417  
+ -18649705.747   -14516960.236    21247646.457    21247647.245    21247646.308  
+      1894.679        1476.375          51.023          45.938  
+  -8539053.038    -6640591.577    23342015.141    23342017.387    23342016.362  
+     -3010.045       -2345.480          47.549          41.943  
+  -2970453.913    -2268810.219    23810602.296    23810605.615    23810602.033  
+     -3153.086       -2456.952          49.460          43.159  
+  -5554194.686    -4319570.567    23825435.286    23825437.226    23825434.404  
+      1969.133        1534.398          48.070          41.595  
+ -14876954.621   -11337575.894    22204213.330    22204215.970    22204213.150  
+      2932.558        2285.108          51.197          45.070  
+ 03  8  2  0 25 58.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24340091.799   -18954447.791    20453354.157    20453356.403    20453354.637  
+        96.583          75.253          52.065          47.676  
+ -14497626.430   -11268466.174    22221967.818    22221970.052    22221968.124  
+     -2000.848       -1559.109          50.676          44.896  
+ -17576500.472   -13684326.933    21726832.092    21726834.838    21726832.366  
+       975.209         759.897          51.718          45.417  
+ -18652547.065   -14519174.249    21247105.812    21247106.701    21247105.519  
+      1893.739        1475.633          51.023          45.938  
+  -8534537.655    -6637073.096    23342874.132    23342876.728    23342875.412  
+     -3010.465       -2345.825          47.549          42.117  
+  -2965723.987    -2265124.560    23811502.556    23811505.534    23811502.100  
+     -3153.511       -2457.289          49.460          43.159  
+  -5557148.354    -4321872.125    23824873.147    23824875.077    23824872.540  
+      1968.940        1534.244          48.070          41.595  
+ -14881352.879   -11341003.104    22203376.339    22203378.993    22203376.236  
+      2931.754        2284.478          51.197          45.070  
+ 03  8  2  0 26  0.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24340236.488   -18954560.537    20453326.565    20453328.709    20453327.115  
+        95.800          74.645          52.065          47.849  
+ -14494625.391   -11266127.705    22222538.986    22222541.216    22222539.142  
+     -2001.060       -1559.269          50.676          44.896  
+ -17577963.038   -13685466.591    21726553.858    21726556.835    21726554.066  
+       974.361         759.235          51.718          45.244  
+ -18655387.616   -14521387.666    21246565.057    21246566.030    21246564.847  
+      1893.157        1475.187          51.023          45.938  
+  -8530022.219    -6633554.572    23343733.439    23343736.176    23343734.573  
+     -3010.644       -2345.956          47.375          41.943  
+  -2960994.118    -2261438.952    23812402.724    23812406.231    23812402.325  
+     -3153.542       -2457.319          49.460          43.159  
+  -5560102.303    -4324173.907    23824311.204    23824313.739    23824310.557  
+      1969.076        1534.330          48.070          41.595  
+ -14885750.609   -11344429.904    22202539.493    22202542.232    22202539.411  
+      2931.305        2284.139          51.197          45.070  
+ 03  8  2  0 26  1.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24340379.825   -18954672.228    20453299.338    20453301.666    20453299.836  
+        95.291          74.265          52.065          47.849  
+ -14491623.878   -11263788.865    22223110.160    22223112.243    22223110.318  
+     -2000.968       -1559.195          50.676          45.070  
+ -17579424.167   -13686605.135    21726275.773    21726278.798    21726276.035  
+       973.781         758.798          51.718          45.417  
+ -18658227.088   -14523600.240    21246024.745    21246025.576    21246024.428  
+      1892.825        1474.933          51.023          45.938  
+  -8525506.451    -6630035.792    23344593.052    23344595.116    23344593.777  
+     -3010.399       -2345.768          47.375          41.943  
+  -2956263.974    -2257753.126    23813302.820    23813306.454    23813302.512  
+     -3153.339       -2457.138          49.460          43.159  
+  -5563056.173    -4326475.617    23823749.039    23823751.297    23823748.559  
+      1969.316        1534.523          48.070          41.595  
+ -14890147.509   -11347856.057    22201702.777    22201705.526    22201702.816  
+      2931.181        2284.041          51.197          45.244  
+ 03  8  2  0 26  3.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24340521.951   -18954782.977    20453272.387    20453274.615    20453272.750  
+        94.379          73.541          52.065          47.676  
+ -14488621.986   -11261449.726    22223681.448    22223683.801    22223681.506  
+     -2001.335       -1559.483          50.676          45.070  
+ -17580883.991   -13687742.659    21725997.945    21726000.986    21725998.170  
+       972.813         758.040          51.718          45.244  
+ -18661065.618   -14525812.079    21245484.629    21245485.502    21245484.204  
+      1892.065        1474.331          51.023          45.938  
+  -8520990.432    -6626516.821    23345452.395    23345454.493    23345453.056  
+     -3010.720       -2346.018          47.375          41.943  
+  -2951533.688    -2254067.194    23814202.665    23814206.375    23814202.646  
+     -3153.505       -2457.264          49.460          43.159  
+  -5566010.116    -4328777.394    23823187.058    23823189.743    23823186.492  
+      1969.339        1534.542          48.070          41.595  
+ -14894543.702   -11351281.661    22200866.144    22200868.901    22200866.342  
+      2930.576        2283.571          51.197          45.244  
+ 03  8  2  0 26  4.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24340662.953   -18954892.851    20453245.545    20453247.708    20453245.921  
+        94.020          73.275          52.065          47.849  
+ -14485619.834   -11259110.390    22224252.587    22224254.614    22224252.766  
+     -2001.089       -1559.285          50.676          45.070  
+ -17582342.604   -13688879.241    21725720.530    21725723.076    21725720.597  
+       972.412         757.735          51.718          45.417  
+ -18663903.291   -14528023.256    21244944.585    21244945.799    21244944.119  
+      1891.910        1474.224          51.023          45.938  
+  -8516474.314    -6622997.778    23346311.561    23346313.748    23346312.206  
+     -3010.316       -2345.700          47.375          41.943  
+  -2946803.356    -2250381.223    23815102.635    23815107.002    23815102.846  
+     -3153.188       -2457.016          49.460          43.159  
+  -5568964.291    -4331079.352    23822624.999    23822626.420    23822624.386  
+      1969.993        1535.063          48.070          41.769  
+ -14898939.261   -11354706.774    22200029.668    22200032.562    22200029.972  
+      2930.537        2283.550          51.197          45.244  
+ 03  8  2  0 26  6.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24340802.454   -18955001.550    20453218.956    20453221.288    20453219.348  
+        92.685          72.219          52.065          47.849  
+ -14482617.037   -11256770.548    22224824.241    22224826.309    22224824.152  
+     -2001.927       -1559.937          50.676          45.070  
+ -17583799.618   -13690014.573    21725442.943    21725445.863    21725443.371  
+       970.990         756.611          51.718          45.417  
+ -18666739.734   -14530233.469    21244404.822    21244406.082    21244404.309  
+      1890.744        1473.303          51.023          45.938  
+  -8511957.685    -6619478.323    23347171.017    23347173.800    23347171.464  
+     -3011.079       -2346.297          47.375          42.117  
+  -2942072.615    -2246694.939    23816003.007    23816006.515    23816003.183  
+     -3153.781       -2457.499          49.460          43.159  
+  -5571918.275    -4333381.153    23822062.739    23822065.024    23822062.452  
+      1969.425        1534.631          48.070          41.595  
+ -14903333.836   -11358131.113    22199193.345    22199195.768    22199193.753  
+      2929.513        2282.737          51.197          45.244  
+ 03  8  2  0 26  7.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24340940.977   -18955109.492    20453192.492    20453194.855    20453192.993  
+        91.746          71.489          52.065          47.849  
+ -14479614.131   -11254430.625    22225395.705    22225398.016    22225395.575  
+     -2002.219       -1560.168          50.676          44.896  
+ -17585255.566   -13691149.079    21725166.029    21725168.938    21725166.359  
+       970.002         755.848          51.718          45.417  
+ -18669575.484   -14532443.146    21243865.173    21243866.365    21243864.583  
+      1889.969        1472.705          51.023          45.938  
+  -8507441.076    -6615958.890    23348030.668    23348032.822    23348030.838  
+     -3011.296       -2346.459          47.375          41.943  
+  -2937341.984    -2243008.740    23816903.216    23816906.660    23816903.511  
+     -3153.960       -2457.626          49.460          43.159  
+  -5574872.579    -4335683.210    23821501.076    23821503.265    23821500.539  
+      1969.276        1534.507          48.070          41.769  
+ -14907727.923   -11361555.077    22198357.177    22198359.988    22198357.615  
+      2928.940        2282.292          51.197          45.244  
+ 03  8  2  0 26  9.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24341078.182   -18955216.404    20453166.388    20453168.781    20453166.886  
+        91.403          71.227          52.065          47.849  
+ -14476610.744   -11252090.318    22225967.044    22225969.402    22225967.097  
+     -2002.031       -1560.024          50.676          45.070  
+ -17586710.088   -13692282.470    21724889.140    21724892.000    21724889.543  
+       969.554         755.503          51.718          45.417  
+ -18672410.172   -14534651.991    21243325.748    21243326.885    21243325.095  
+      1889.810        1472.588          51.023          45.938  
+  -8502924.148    -6612439.214    23348889.966    23348891.641    23348890.095  
+     -3011.050       -2346.285          47.201          42.117  
+  -2932611.110    -2239322.341    23817803.548    23817807.266    23817803.916  
+     -3153.604       -2457.349          49.460          43.159  
+  -5577826.891    -4337985.265    23820938.454    23820940.578    23820938.533  
+      1969.827        1534.932          48.070          41.943  
+ -14912121.197   -11364978.400    22197521.089    22197523.996    22197521.627  
+      2928.906        2282.262          51.197          45.244  
+ 03  8  2  0 26 10.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24341214.065   -18955322.288    20453140.458    20453142.950    20453140.960  
+        90.242          70.312          52.065          47.849  
+ -14473606.895   -11249749.658    22226538.708    22226541.026    22226538.691  
+     -2002.615       -1560.482          50.676          45.070  
+ -17588163.200   -13693414.766    21724612.541    21724615.991    21724612.976  
+       968.366         754.568          51.718          45.417  
+ -18675243.807   -14536860.020    21242786.533    21242787.680    21242785.858  
+      1888.862        1471.835          51.023          45.938  
+  -8498406.860    -6608919.251    23349749.706    23349752.155    23349749.504  
+     -3011.628       -2346.730          47.201          42.117  
+  -2927880.002    -2235635.770    23818703.998    23818707.590    23818704.357  
+     -3154.048       -2457.695          49.460          43.159  
+  -5580781.176    -4340287.309    23820376.232    23820378.430    23820376.456  
+      1969.612        1534.755          48.070          41.769  
+ -14916513.646   -11368401.087    22196685.250    22196688.358    22196685.816  
+      2928.077        2281.616          51.197          45.244  
+ 03  8  2  0 26 12.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24341348.902   -18955427.359    20453114.953    20453117.225    20453115.270  
+        89.632          69.844          52.065          47.849  
+ -14470602.867   -11247408.859    22227110.099    22227112.490    22227110.269  
+     -2002.626       -1560.495          50.676          44.896  
+ -17589615.177   -13694546.180    21724336.418    21724339.261    21724336.685  
+       967.666         754.023          51.718          45.417  
+ -18678076.662   -14539067.440    21242247.357    21242248.546    21242246.797  
+      1888.420        1471.494          51.023          45.938  
+  -8493889.576    -6605399.294    23350609.089    23350612.032    23350608.930  
+     -3011.470       -2346.617          47.201          42.117  
+  -2923148.930    -2231949.223    23819604.510    23819607.963    23819604.710  
+     -3153.932       -2457.608          49.460          43.159  
+  -5583735.699    -4342589.537    23819814.298    23819816.259    23819814.385  
+      1969.779        1534.895          48.070          41.769  
+ -14920905.569   -11371823.366    22195849.543    22195852.444    22195850.073  
+      2927.814        2281.415          51.197          45.244  
+ 03  8  2  0 26 13.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24341482.252   -18955531.268    20453089.438    20453091.985    20453089.832  
+        88.632          69.064          52.065          47.676  
+ -14467598.202   -11245067.561    22227681.925    22227684.586    22227682.056  
+     -2003.065       -1560.833          50.676          45.070  
+ -17591065.564   -13695676.348    21724060.208    21724063.242    21724060.630  
+       966.577         753.173          51.718          45.417  
+ -18680908.295   -14541273.910    21241708.595    21241709.877    21241707.910  
+      1887.537        1470.806          51.023          45.938  
+  -8489371.782    -6601878.939    23351469.266    23351471.401    23351468.514  
+     -3011.846       -2346.890          47.201          41.943  
+  -2918417.461    -2228262.367    23820504.431    23820508.942    23820505.142  
+     -3154.198       -2457.820          49.460          43.333  
+  -5586690.052    -4344891.632    23819251.759    23819255.086    23819252.380  
+      1969.652        1534.784          48.070          41.943  
+ -14925296.499   -11375244.867    22195013.888    22195016.952    22195014.484  
+      2927.163        2280.901          51.197          45.244  
+ 03  8  2  0 26 15.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927243
+ -24341614.461   -18955634.289    20453064.265    20453066.804    20453064.676  
+        87.121          67.881          52.065          47.849  
+ -14464593.257   -11242726.047    22228253.635    22228256.291    22228253.922  
+     -2004.038       -1561.600          50.676          44.896  
+ -17592514.734   -13696805.571    21723784.505    21723787.540    21723784.848  
+       965.063         751.988          51.718          45.244  
+ -18683739.067   -14543479.705    21241169.833    21241171.188    21241169.230  
+      1886.294        1469.834          51.023          45.938  
+  -8484853.853    -6598358.476    23352328.468    23352331.488    23352328.141  
+     -3012.601       -2347.492          47.201          41.943  
+  -2913685.928    -2224575.462    23821404.767    23821409.058    23821405.647  
+     -3155.071       -2458.506          49.460          42.985  
+  -5589644.556    -4347193.836    23818689.524    23818692.627    23818690.239  
+      1969.022        1534.294          48.070          41.943  
+ -14929686.768   -11378665.854    22194178.350    22194181.582    22194179.027  
+      2925.992        2279.978          51.197          45.244  
+ 03  8  2  0 26 16.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24341745.483   -18955736.385    20453039.478    20453041.763    20453039.746  
+        87.272          68.016          52.065          47.849  
+ -14461587.977   -11240384.271    22228825.544    22228828.216    22228825.785  
+     -2003.313       -1561.004          50.676          45.070  
+ -17593962.615   -13697933.786    21723509.009    21723512.103    21723509.355  
+       965.140         752.062          51.718          45.417  
+ -18686568.898   -14545684.767    21240631.500    21240632.538    21240630.761  
+      1886.565        1470.056          51.023          46.112  
+  -8480335.732    -6594837.860    23353188.784    23353191.160    23353187.924  
+     -3011.848       -2346.897          47.201          41.943  
+  -2908954.295    -2220888.484    23822305.327    23822308.944    23822306.144  
+     -3154.171       -2457.780          49.460          43.159  
+  -5592599.139    -4349496.108    23818127.305    23818130.012    23818128.091  
+      1969.966        1535.037          48.070          41.943  
+ -14934076.355   -11382086.311    22193343.068    22193345.937    22193343.661  
+      2926.487        2280.389          51.197          45.244  
+ 03  8  2  0 26 18.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24341875.197   -18955837.462    20453014.644    20453017.110    20453015.025  
+        86.040          67.043          52.065          47.849  
+ -14458582.259   -11238042.150    22229397.476    22229400.148    22229397.764  
+     -2003.962       -1561.531          50.502          45.070  
+ -17595409.098   -13699060.918    21723233.669    21723236.812    21723234.083  
+       963.819         751.026          51.718          45.417  
+ -18689397.709   -14547889.034    21240093.110    21240094.336    21240092.472  
+      1885.512        1469.228          51.023          46.112  
+  -8475817.305    -6591317.013    23354047.854    23354050.268    23354047.631  
+     -3012.365       -2347.305          47.028          42.117  
+  -2904222.461    -2217201.343    23823205.886    23823210.051    23823206.533  
+     -3154.618       -2458.146          49.460          43.159  
+  -5595553.751    -4351798.394    23817564.953    23817567.036    23817565.930  
+      1969.694        1534.814          48.244          41.943  
+ -14938465.140   -11385506.145    22192507.884    22192510.747    22192508.380  
+      2925.556        2279.655          51.197          45.244  
+ 03  8  2  0 26 19.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24342003.733   -18955937.620    20452990.220    20452992.758    20452990.491  
+        85.224          66.408          52.065          47.849  
+ -14455576.219   -11235699.782    22229969.457    22229971.896    22229969.766  
+     -2004.184       -1561.700          50.502          45.070  
+ -17596854.317   -13700187.061    21722958.619    21722961.469    21722958.968  
+       962.969         750.365          51.718          45.417  
+ -18692225.616   -14550092.594    21239554.929    21239555.980    21239554.306  
+      1884.880        1468.735          51.023          46.112  
+  -8471298.672    -6587796.004    23354907.791    23354911.017    23354907.330  
+     -3012.639       -2347.494          47.028          42.117  
+  -2899490.520    -2213514.123    23824106.365    23824110.068    23824106.973  
+     -3154.753       -2458.238          49.460          43.159  
+  -5598508.483    -4354100.780    23817002.891    23817005.437    23817003.656  
+      1969.732        1534.871          48.244          41.769  
+ -14942853.247   -11388925.445    22191672.795    22191675.713    22191673.306  
+      2925.080        2279.279          51.197          45.244  
+ 03  8  2  0 26 21.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24342130.937   -18956036.740    20452966.074    20452968.400    20452966.253  
+        84.553          65.885          52.065          47.849  
+ -14452569.703   -11233357.043    22230541.468    22230544.257    22230541.910  
+     -2004.248       -1561.755          50.502          45.070  
+ -17598298.103   -13701312.087    21722683.892    21722686.765    21722684.146  
+       962.249         749.805          51.718          45.244  
+ -18695052.451   -14552295.319    21239016.994    21239018.195    21239016.420  
+      1884.435        1468.383          51.023          46.112  
+  -8466779.760    -6584274.780    23355767.962    23355771.024    23355767.131  
+     -3012.537       -2347.417          47.028          42.117  
+  -2894758.337    -2209826.711    23825006.854    23825011.100    23825007.431  
+     -3154.698       -2458.205          49.460          43.159  
+  -5601463.200    -4356403.155    23816440.435    23816443.500    23816441.348  
+      1969.932        1535.010          48.244          41.769  
+ -14947240.533   -11392344.107    22190837.985    22190840.733    22190838.293  
+      2924.750        2279.027          51.197          45.244  
+ 03  8  2  0 26 22.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24342256.943   -18956134.928    20452942.066    20452944.554    20452942.302  
+        83.217          64.840          52.065          47.676  
+ -14449562.855   -11231014.052    22231113.605    22231116.573    22231114.112  
+     -2005.074       -1562.400          50.502          44.896  
+ -17599740.613   -13702436.119    21722409.360    21722412.392    21722409.588  
+       960.854         748.707          51.718          45.244  
+ -18697878.355   -14554497.327    21238479.213    21238480.448    21238478.673  
+      1883.259        1467.471          51.023          45.938  
+  -8462260.642    -6580753.387    23356627.608    23356629.707    23356626.903  
+     -3013.230       -2347.976          47.028          41.943  
+  -2890026.061    -2206139.227    23825907.470    23825911.497    23825907.891  
+     -3155.303       -2458.683          49.460          42.985  
+  -5604418.022    -4358705.615    23815877.809    23815880.879    23815879.033  
+      1969.472        1534.656          48.244          41.943  
+ -14951627.122   -11395762.229    22190003.232    22190006.241    22190003.466  
+      2923.718        2278.213          51.197          45.244  
+ 03  8  2  0 26 24.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24342381.718   -18956232.153    20452918.441    20452920.690    20452918.560  
+        82.944          64.636          52.065          47.676  
+ -14446555.628   -11228670.757    22231685.931    22231688.837    22231686.403  
+     -2004.743       -1562.132          50.502          45.070  
+ -17601181.778   -13703559.104    21722135.108    21722138.190    21722135.269  
+       960.483         748.437          51.718          45.244  
+ -18700703.283   -14556698.562    21237941.681    21237943.149    21237941.057  
+      1883.123        1467.370          51.023          45.938  
+  -8457741.293    -6577231.814    23357487.788    23357490.573    23357486.928  
+     -3012.862       -2347.682          47.028          41.943  
+  -2885293.632    -2202451.619    23826808.093    23826811.871    23826808.438  
+     -3154.841       -2458.310          49.460          43.159  
+  -5607372.915    -4361008.124    23815315.786    23815318.514    23815316.631  
+      1970.073        1535.131          48.244          41.943  
+ -14956012.966   -11399179.767    22189168.465    22189171.762    22189168.790  
+      2923.768        2278.264          51.197          45.244  
+ 03  8  2  0 26 25.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24342505.280   -18956328.436    20452894.796    20452897.322    20452895.055  
+        81.986          63.880          52.065          47.849  
+ -14443548.047   -11226327.188    22232258.217    22232261.180    22232258.722  
+     -2005.151       -1562.450          50.502          44.896  
+ -17602621.645   -13704681.078    21721861.185    21721864.116    21721861.211  
+       959.509         747.665          51.718          45.417  
+ -18703527.279   -14558899.081    21237404.202    21237405.427    21237403.713  
+      1882.360        1466.774          51.023          46.112  
+  -8453221.723    -6573710.078    23358347.908    23358350.592    23358346.874  
+     -3013.184       -2347.943          47.028          42.117  
+  -2880561.079    -2198763.921    23827708.578    23827712.571    23827709.055  
+     -3155.026       -2458.462          49.460          42.985  
+  -5610327.900    -4363310.707    23814753.608    23814757.046    23814754.301  
+      1969.931        1535.013          48.244          41.769  
+ -14960398.102   -11402596.754    22188334.134    22188337.028    22188334.258  
+      2923.191        2277.810          51.197          45.244  
+ 03  8  2  0 26 27.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24342627.704   -18956423.834    20452871.558    20452874.025    20452871.805  
+        81.547          63.545          52.065          47.849  
+ -14440540.195   -11223983.411    22232830.560    22232833.306    22232831.107  
+     -2005.007       -1562.343          50.502          44.896  
+ -17604060.269   -13705802.085    21721587.262    21721590.436    21721587.318  
+       958.977         747.259          51.718          45.244  
+ -18706350.387   -14561098.909    21236867.071    21236868.322    21236866.546  
+      1882.102        1466.579          51.023          45.938  
+  -8448702.042    -6570188.251    23359207.816    23359210.908    23359206.918  
+     -3012.845       -2347.675          46.854          41.943  
+  -2875828.458    -2195076.163    23828608.964    23828612.823    23828609.607  
+     -3154.781       -2458.268          49.286          42.985  
+  -5613283.032    -4365613.408    23814190.918    23814194.066    23814191.920  
+      1970.347        1535.333          48.244          41.943  
+ -14964782.605   -11406013.248    22187499.633    22187502.806    22187499.926  
+      2923.092        2277.726          51.197          45.244  
+ 03  8  2  0 26 28.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24342748.682   -18956518.099    20452848.504    20452850.883    20452848.789  
+        80.153          62.449          52.065          47.849  
+ -14437531.770   -11221639.182    22233402.970    22233405.934    22233403.527  
+     -2005.796       -1562.951          50.502          44.896  
+ -17605497.370   -13706921.900    21721313.880    21721316.672    21721313.778  
+       957.529         746.124          51.718          45.244  
+ -18709172.327   -14563297.822    21236330.120    21236331.345    21236329.582  
+      1880.909        1465.635          51.023          45.938  
+  -8444181.875    -6566666.047    23360067.672    23360071.185    23360066.730  
+     -3013.563       -2348.241          46.854          42.117  
+  -2871095.511    -2191388.154    23829510.213    23829513.354    23829510.250  
+     -3155.447       -2458.790          49.286          43.159  
+  -5616238.060    -4367916.027    23813628.945    23813631.919    23813629.516  
+      1969.893        1534.969          48.244          41.943  
+ -14969166.174   -11409429.015    22186665.491    22186668.558    22186665.789  
+      2922.056        2276.920          51.197          45.244  
+ 03  8  2  0 26 30.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24342868.515   -18956611.478    20452825.796    20452828.159    20452825.977  
+        79.264          61.767          52.065          47.676  
+ -14434523.062   -11219294.736    22233975.490    22233978.470    22233976.035  
+     -2006.088       -1563.183          50.502          44.896  
+ -17606933.229   -13708040.752    21721040.693    21721043.421    21721040.470  
+       956.581         745.384          51.718          45.244  
+ -18711993.378   -14565496.040    21235793.306    21235794.498    21235792.779  
+      1880.178        1465.070          51.023          45.938  
+  -8439661.605    -6563143.764    23360927.899    23360930.720    23360926.675  
+     -3013.724       -2348.350          46.854          42.117  
+  -2866362.512    -2187700.113    23830410.695    23830413.971    23830410.982  
+     -3155.587       -2458.900          49.286          42.985  
+  -5619193.232    -4370218.761    23813066.424    23813069.416    23813067.107  
+      1969.918        1535.009          48.244          41.943  
+ -14973549.084   -11412844.264    22185831.281    22185834.654    22185831.827  
+      2921.448        2276.446          51.197          45.244  
+ 03  8  2  0 26 31.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24342987.058   -18956703.850    20452803.271    20452805.599    20452803.421  
+        78.782          61.391          52.065          47.676  
+ -14431513.909   -11216949.939    22234548.056    22234551.105    22234548.695  
+     -2006.003       -1563.124          50.502          44.896  
+ -17608367.702   -13709158.523    21720767.650    21720770.798    21720767.467  
+       956.046         744.975          51.718          45.244  
+ -18714813.412   -14567693.468    21235256.641    21235257.968    21235256.150  
+      1879.885        1464.847          51.023          45.938  
+  -8435141.020    -6559621.231    23361788.359    23361790.934    23361786.733  
+     -3013.620       -2348.268          46.854          42.117  
+  -2861629.296    -2184011.894    23831311.492    23831314.584    23831311.736  
+     -3155.422       -2458.773          49.286          42.985  
+  -5622148.387    -4372521.473    23812504.230    23812506.684    23812504.728  
+      1970.300        1535.288          48.244          41.769  
+ -14977931.199   -11416258.896    22184997.388    22185000.704    22184997.956  
+      2921.344        2276.367          51.197          45.244  
+ 03  8  2  0 26 33.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927242
+ -24343104.387   -18956795.276    20452780.899    20452783.194    20452781.142  
+        77.585          60.455          52.065          47.849  
+ -14428504.399   -11214604.867    22235120.807    22235123.751    22235121.383  
+     -2006.693       -1563.650          50.502          45.070  
+ -17609800.857   -13710275.270    21720494.997    21720498.012    21720494.676  
+       954.778         743.989          51.718          45.417  
+ -18717632.492   -14569890.155    21234720.131    21234721.537    21234719.702  
+      1878.851        1464.038          51.023          45.938  
+  -8430620.263    -6556098.576    23362648.198    23362651.703    23362646.846  
+     -3014.103       -2348.640          46.854          41.943  
+  -2856895.958    -2180323.583    23832211.870    23832215.119    23832212.512  
+     -3155.870       -2459.112          49.286          42.985  
+  -5625103.650    -4374824.276    23811941.814    23811944.233    23811942.239  
+      1969.919        1534.995          48.244          41.769  
+ -14982312.594   -11419672.971    22184163.503    22184166.827    22184164.206  
+      2920.438        2275.665          51.197          45.244  
+ 03  8  2  0 26 34.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24343220.560   -18956885.801    20452758.916    20452760.928    20452759.056  
+        76.590          59.676          52.065          47.676  
+ -14425494.617   -11212259.586    22235693.543    22235696.324    22235694.180  
+     -2007.058       -1563.953          50.502          44.896  
+ -17611232.772   -13711391.049    21720222.578    21720225.251    21720222.147  
+       953.718         743.151          51.718          45.244  
+ -18720450.685   -14572086.153    21234183.785    21234184.860    21234183.398  
+      1878.043        1463.401          51.023          45.938  
+  -8426099.306    -6552575.752    23363508.455    23363511.544    23363507.142  
+     -3014.461       -2348.939          46.854          42.117  
+  -2852162.576    -2176635.238    23833112.367    23833115.913    23833113.221  
+     -3156.103       -2459.303          49.286          42.985  
+  -5628059.082    -4377127.206    23811379.692    23811382.502    23811380.051  
+      1969.767        1534.876          48.244          41.943  
+ -14986693.339   -11423086.539    22183330.045    22183332.992    22183330.568  
+      2919.795        2275.158          51.197          45.244  
+ 03  8  2  0 26 36.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24343335.318   -18956975.220    20452737.032    20452739.294    20452737.214  
+        76.121          59.311          52.065          47.676  
+ -14422484.285   -11209913.866    22236266.267    22236269.318    22236267.011  
+     -2006.959       -1563.871          50.502          45.070  
+ -17612663.180   -13712505.651    21719950.461    21719953.208    21719949.947  
+       953.214         742.763          51.718          45.244  
+ -18723267.729   -14574281.246    21233647.821    21233648.816    21233647.354  
+      1877.722        1463.162          51.023          45.938  
+  -8421577.979    -6549052.643    23364369.106    23364371.789    23364367.339  
+     -3014.254       -2348.759          46.680          42.117  
+  -2847428.863    -2172946.627    23834013.394    23834016.686    23834014.027  
+     -3155.853       -2459.113          49.286          42.985  
+  -5631014.438    -4379430.087    23810817.299    23810819.710    23810817.747  
+      1970.247        1535.271          48.244          41.943  
+ -14991073.162   -11426499.380    22182496.409    22182499.508    22182497.059  
+      2919.659        2275.048          51.023          45.244  
+ 03  8  2  0 26 37.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24343448.960   -18957063.775    20452715.361    20452717.581    20452715.560  
+        75.218          58.609          52.065          47.676  
+ -14419473.690   -11207567.949    22236839.223    22236841.875    22236839.868  
+     -2007.316       -1564.149          50.502          44.896  
+ -17614092.366   -13713619.304    21719678.499    21719680.993    21719677.935  
+       952.211         741.981          51.718          45.244  
+ -18726083.926   -14576475.685    21233111.673    21233112.824    21233111.472  
+      1877.004        1462.589          51.023          46.112  
+  -8417056.528    -6545529.437    23365229.620    23365232.550    23365227.708  
+     -3014.458       -2348.930          46.680          42.117  
+  -2842695.119    -2169258.008    23834913.996    23834917.884    23834914.765  
+     -3156.032       -2459.245          49.286          42.985  
+  -5633969.966    -4381733.097    23810254.749    23810257.098    23810255.332  
+      1970.193        1535.206          48.244          41.943  
+ -14995452.357   -11429911.737    22181663.093    22181666.633    22181663.636  
+      2919.066        2274.595          51.023          45.244  
+ 03  8  2  0 26 39.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24343561.366   -18957151.365    20452693.994    20452696.252    20452694.138  
+        74.628          58.157          52.065          47.676  
+ -14416462.718   -11205221.745    22237412.150    22237415.069    22237412.829  
+     -2007.314       -1564.133          50.328          44.896  
+ -17615520.220   -13714731.919    21719406.728    21719409.691    21719406.183  
+       951.536         741.461          51.718          45.244  
+ -18728899.132   -14578669.354    21232576.071    21232577.387    21232575.683  
+      1876.552        1462.249          51.023          45.938  
+  -8412534.859    -6542006.056    23366090.477    23366093.028    23366088.087  
+     -3014.441       -2348.927          46.680          42.117  
+  -2837961.236    -2165569.271    23835814.878    23835818.722    23835815.585  
+     -3155.906       -2459.152          49.286          42.985  
+  -5636925.572    -4384036.161    23809692.543    23809694.721    23809692.884  
+      1970.455        1535.421          48.244          41.943  
+ -14999830.818   -11433323.524    22180829.889    22180833.260    22180830.346  
+      2918.775        2274.368          51.023          45.244  
+ 03  8  2  0 26 40.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24343672.399   -18957237.883    20452672.834    20452674.959    20452673.000  
+        73.684          57.417          52.065          47.849  
+ -14413451.248   -11202875.144    22237985.362    22237988.288    22237985.981  
+     -2007.662       -1564.420          50.328          44.896  
+ -17616946.609   -13715843.388    21719135.367    21719138.295    21719134.731  
+       950.543         740.674          51.718          45.417  
+ -18731713.255   -14580862.175    21232040.781    21232041.991    21232040.158  
+      1875.826        1461.684          51.023          45.938  
+  -8408012.804    -6538482.386    23366950.562    23366953.564    23366948.644  
+     -3014.731       -2349.133          46.680          42.117  
+  -2833227.083    -2161880.323    23836715.665    23836719.281    23836716.472  
+     -3156.141       -2459.333          49.286          42.985  
+  -5639881.070    -4386339.150    23809129.895    23809132.367    23809130.397  
+      1970.414        1535.400          48.244          42.117  
+ -15004208.415   -11436734.636    22179996.865    22180000.128    22179997.217  
+      2918.188        2273.905          51.023          45.244  
+ 03  8  2  0 26 42.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24343782.271   -18957323.499    20452651.975    20452654.087    20452652.126  
+        72.331          56.357          52.065          47.676  
+ -14410439.478   -11200528.309    22238558.398    22238561.022    22238559.134  
+     -2008.481       -1565.054          50.328          44.896  
+ -17618371.751   -13716953.890    21718864.161    21718867.044    21718863.569  
+       949.166         739.605          51.718          45.244  
+ -18734526.469   -14583054.290    21231505.338    21231506.509    21231504.783  
+      1874.663        1460.770          51.023          45.938  
+  -8403490.597    -6534958.588    23367811.434    23367814.049    23367809.218  
+     -3015.389       -2349.661          46.680          42.117  
+  -2828492.873    -2158191.330    23837616.744    23837620.110    23837617.366  
+     -3156.634       -2459.725          49.286          42.985  
+  -5642836.693    -4388642.227    23808567.336    23808570.062    23808567.849  
+      1969.877        1534.969          48.244          41.943  
+ -15008585.342   -11440145.227    22179164.023    22179167.260    22179164.298  
+      2917.162        2273.107          51.023          45.244  
+ 03  8  2  0 26 43.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24343890.933   -18957408.171    20452631.404    20452633.247    20452631.460  
+        71.971          56.080          52.065          47.676  
+ -14407427.353   -11198181.199    22239131.728    22239134.620    22239132.332  
+     -2008.255       -1564.878          50.328          44.896  
+ -17619795.584   -13718063.372    21718593.170    21718596.047    21718592.642  
+       948.751         739.288          51.718          45.244  
+ -18737338.731   -14585245.663    21230970.105    21230971.106    21230969.618  
+      1874.450        1460.609          51.023          45.938  
+  -8398968.223    -6531434.663    23368671.959    23368674.792    23368669.945  
+     -3015.107       -2349.439          46.680          42.117  
+  -2823758.521    -2154502.224    23838517.545    23838521.497    23838518.378  
+     -3156.342       -2459.485          49.286          42.985  
+  -5645792.444    -4390945.400    23808004.749    23808008.051    23808005.222  
+      1970.388        1535.352          48.244          41.943  
+ -15012961.552   -11443555.257    22178330.983    22178334.423    22178331.428  
+      2917.160        2273.110          51.023          45.244  
+ 03  8  2  0 26 45.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927241
+ -24343998.282   -18957491.820    20452610.879    20452613.070    20452611.082  
+        70.775          55.139          52.065          47.849  
+ -14404414.800   -11195833.754    22239704.945    22239707.827    22239705.655  
+     -2008.860       -1565.354          50.328          44.896  
+ -17621218.002   -13719171.747    21718322.586    21718325.382    21718321.960  
+       947.457         738.267          51.718          45.244  
+ -18740149.944   -14587436.218    21230435.195    21230436.392    21230434.655  
+      1873.446        1459.817          51.023          45.938  
+  -8394445.526    -6527910.489    23369532.783    23369535.435    23369530.680  
+     -3015.515       -2349.754          46.680          42.117  
+  -2819023.965    -2150812.966    23839418.719    23839422.357    23839419.331  
+     -3156.822       -2459.870          49.286          42.985  
+  -5648748.156    -4393248.552    23807442.336    23807445.955    23807442.584  
+      1969.996        1535.066          48.244          41.943  
+ -15017336.940   -11446964.649    22177498.491    22177501.828    22177498.739  
+      2916.300        2272.428          51.023          45.244  
+ 03  8  2  0 26 46.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24344104.574   -18957574.646    20452590.674    20452592.691    20452590.901  
+        70.533          54.966          52.065          47.676  
+ -14401402.042   -11193486.154    22240278.204    22240281.002    22240278.959  
+     -2008.503       -1565.068          50.328          44.896  
+ -17622639.279   -13720279.238    21718052.121    21718054.818    21718051.458  
+       947.155         738.048          51.718          45.417  
+ -18742960.368   -14589626.164    21229900.360    21229901.353    21229899.887  
+      1873.374        1459.779          51.023          45.938  
+  -8389922.743    -6524386.248    23370393.323    23370395.870    23370391.579  
+     -3015.247       -2349.526          46.506          42.117  
+  -2814289.439    -2147123.734    23840319.659    23840323.405    23840320.271  
+     -3156.294       -2459.444          49.286          42.812  
+  -5651704.125    -4395551.911    23806879.608    23806883.203    23806879.895  
+      1970.691        1535.608          48.244          42.117  
+ -15021711.766   -11450373.605    22176665.967    22176669.354    22176666.189  
+      2916.358        2272.493          51.023          45.244  
+ 03  8  2  0 26 48.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24344209.465   -18957656.378    20452570.824    20452572.876    20452570.970  
+        69.580          54.215          52.065          47.849  
+ -14398388.746   -11191138.131    22240851.628    22240854.466    22240852.411  
+     -2008.910       -1565.385          50.328          44.896  
+ -17624059.057   -13721385.553    21717781.868    21717784.740    21717781.268  
+       946.152         737.255          51.718          45.244  
+ -18745769.647   -14591815.211    21229365.953    21229366.931    21229365.367  
+      1872.593        1459.162          51.023          45.938  
+  -8385399.593    -6520861.713    23371253.514    23371256.171    23371252.404  
+     -3015.541       -2349.787          46.506          42.117  
+  -2809554.618    -2143434.264    23841220.538    23841224.432    23841221.224  
+     -3156.554       -2459.657          49.286          42.985  
+  -5654659.970    -4397855.165    23806317.428    23806320.341    23806317.166  
+      1970.569        1535.512          48.244          41.943  
+ -15026085.688   -11453781.850    22175833.729    22175837.138    22175833.796  
+      2915.743        2271.999          51.023          45.244  
+ 03  8  2  0 26 49.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24344313.158   -18957737.180    20452551.033    20452553.099    20452551.263  
+        68.669          53.509          52.239          47.849  
+ -14395375.126   -11188789.858    22241425.150    22241428.000    22241425.931  
+     -2009.232       -1565.639          50.328          44.896  
+ -17625477.552   -13722490.877    21717512.072    21717514.828    21717511.378  
+       945.164         736.494          51.718          45.244  
+ -18748578.005   -14594003.541    21228831.435    21228832.549    21228831.014  
+      1871.860        1458.595          51.023          45.938  
+  -8380876.269    -6517337.054    23372114.438    23372117.380    23372113.346  
+     -3015.630       -2349.818          46.506          42.117  
+  -2804819.694    -2139744.719    23842121.565    23842125.290    23842122.237  
+     -3156.715       -2459.767          49.286          42.985  
+  -5657615.965    -4400158.542    23805754.880    23805757.653    23805754.497  
+      1970.628        1535.556          48.244          41.943  
+ -15030458.914   -11457189.560    22175001.441    22175004.760    22175001.494  
+      2915.136        2271.532          51.023          45.244  
+ 03  8  2  0 26 51.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24344415.515   -18957816.939    20452531.544    20452533.596    20452531.755  
+        67.933          52.938          52.239          47.676  
+ -14392361.043   -11186441.221    22241998.658    22242001.464    22241999.460  
+     -2009.365       -1565.738          50.328          44.896  
+ -17626894.606   -13723595.072    21717242.419    21717245.061    21717241.772  
+       944.367         735.876          51.718          45.244  
+ -18751385.279   -14596191.027    21228297.332    21228298.355    21228296.836  
+      1871.320        1458.175          51.023          45.938  
+  -8376352.575    -6513812.093    23372975.320    23372977.943    23372974.392  
+     -3015.768       -2349.958          46.506          42.117  
+  -2800084.554    -2136055.004    23843023.074    23843026.256    23843023.279  
+     -3156.692       -2459.758          49.286          42.985  
+  -5660571.962    -4402461.913    23805192.023    23805194.782    23805191.858  
+      1970.726        1535.624          48.244          42.117  
+ -15034831.306   -11460596.613    22174169.398    22174172.972    22174169.302  
+      2914.754        2271.238          51.023          45.244  
+ 03  8  2  0 26 52.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24344516.686   -18957895.773    20452512.303    20452514.479    20452512.512  
+        66.985          52.193          52.239          47.676  
+ -14389346.627   -11184092.325    22242572.312    22242575.112    22242573.031  
+     -2009.776       -1566.064          50.328          44.896  
+ -17628310.395   -13724698.282    21716972.763    21716975.408    21716972.361  
+       943.382         735.095          51.718          45.244  
+ -18754191.639   -14598377.801    21227763.314    21227764.254    21227762.815  
+      1870.553        1457.571          51.023          45.938  
+  -8371828.749    -6510287.029    23373836.078    23373839.174    23373835.236  
+     -3016.004       -2350.119          46.506          42.117  
+  -2795349.307    -2132365.206    23843924.160    23843927.243    23843924.383  
+     -3156.903       -2459.922          49.112          42.985  
+  -5663528.027    -4404765.336    23804629.710    23804632.313    23804629.124  
+      1970.625        1535.542          48.244          41.943  
+ -15039203.006   -11464003.127    22173337.586    22173341.004    22173337.327  
+      2914.157        2270.764          51.023          45.244  
+ 03  8  2  0 26 54.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24344616.633   -18957973.655    20452493.287    20452495.297    20452493.482  
+        66.296          51.655          52.239          47.849  
+ -14386331.868   -11181743.161    22243145.913    22243148.753    22243146.670  
+     -2009.886       -1566.147          50.328          44.896  
+ -17629724.851   -13725800.454    21716703.658    21716706.455    21716703.263  
+       942.591         734.490          51.718          45.417  
+ -18756997.033   -14600563.821    21227229.374    21227230.334    21227229.025  
+      1870.007        1457.151          51.023          45.938  
+  -8367304.682    -6506761.789    23374696.996    23374700.229    23374696.286  
+     -3016.029       -2350.158          46.506          42.117  
+  -2790613.940    -2128675.308    23844824.971    23844828.606    23844825.323  
+     -3156.881       -2459.895          49.112          42.985  
+  -5666484.233    -4407068.872    23804066.820    23804070.578    23804066.525  
+      1970.853        1535.736          48.244          42.117  
+ -15043573.970   -11467409.074    22172505.770    22172509.094    22172505.574  
+      2913.773        2270.473          51.023          45.244  
+ 03  8  2  0 26 55.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24344715.318   -18958050.554    20452474.468    20452476.602    20452474.667  
+        65.191          50.798          52.239          47.849  
+ -14383316.710   -11179393.691    22243719.709    22243722.254    22243720.345  
+     -2010.372       -1566.518          50.328          44.896  
+ -17631137.953   -13726901.575    21716434.747    21716437.388    21716434.391  
+       941.409         733.566          51.718          45.244  
+ -18759801.434   -14602749.071    21226695.948    21226696.508    21226695.406  
+      1869.089        1456.434          51.023          45.938  
+  -8362780.383    -6503236.367    23375557.468    23375560.836    23375557.542  
+     -3016.429       -2350.455          46.333          42.117  
+  -2785878.415    -2124985.295    23845725.772    23845729.499    23845726.347  
+     -3157.248       -2460.207          49.112          42.812  
+  -5669440.449    -4409372.417    23803504.401    23803508.008    23803503.871  
+      1970.590        1535.528          48.244          42.117  
+ -15047944.159   -11470814.415    22171674.058    22171677.822    22171674.047  
+      2913.006        2269.871          51.023          45.244  
+ 03  8  2  0 26 57.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24344812.853   -18958126.557    20452456.042    20452458.023    20452456.114  
+        64.605          50.343          52.239          47.676  
+ -14380301.265   -11177043.992    22244293.449    22244296.334    22244294.075  
+     -2010.413       -1566.553          50.328          44.896  
+ -17632549.811   -13728001.724    21716166.071    21716168.928    21716165.730  
+       940.763         733.056          51.718          45.417  
+ -18762604.945   -14604933.626    21226162.339    21226163.154    21226161.978  
+      1868.663        1456.101          51.023          45.938  
+  -8358255.922    -6499710.814    23376418.379    23376421.964    23376418.560  
+     -3016.252       -2350.320          46.333          41.943  
+  -2781142.835    -2121295.239    23846626.610    23846630.239    23846627.321  
+     -3157.120       -2460.082          49.112          42.985  
+  -5672396.861    -4411676.112    23802942.051    23802944.992    23802941.164  
+      1970.841        1535.725          48.244          42.117  
+ -15052313.696   -11474219.247    22170842.637    22170846.104    22170842.560  
+      2912.778        2269.695          51.023          45.244  
+ 03  8  2  0 26 58.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24344909.012   -18958201.486    20452437.665    20452439.726    20452437.825  
+        63.813          49.729          52.239          47.676  
+ -14377285.324   -11174693.905    22244867.483    22244870.179    22244867.899  
+     -2010.638       -1566.734          50.328          44.896  
+ -17633960.202   -13729100.726    21715897.619    21715900.116    21715897.362  
+       939.928         732.410          51.718          45.244  
+ -18765407.337   -14607117.305    21225629.242    21225629.573    21225628.757  
+      1868.039        1455.621          51.023          45.938  
+  -8353731.116    -6496184.991    23377279.635    23377282.667    23377279.716  
+     -3016.525       -2350.514          46.333          42.117  
+  -2776406.982    -2117604.970    23847527.951    23847531.227    23847528.307  
+     -3157.170       -2460.128          49.112          42.812  
+  -5675353.187    -4413979.734    23802379.100    23802382.805    23802378.493  
+      1970.940        1535.803          48.244          42.117  
+ -15056682.350   -11477623.384    22170011.466    22170014.775    22170011.279  
+      2912.263        2269.297          51.023          45.244  
+ 03  8  2  0 27  0.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24345003.921   -18958275.439    20452419.754    20452421.627    20452419.793  
+        62.552          48.733          52.239          47.849  
+ -14374268.994   -11172343.516    22245441.154    22245444.321    22245441.723  
+     -2011.283       -1567.244          50.328          44.896  
+ -17635369.246   -13730198.683    21715629.582    21715632.195    21715629.275  
+       938.620         731.390          51.718          45.244  
+ -18768208.750   -14609300.223    21225095.952    21225096.603    21225095.691  
+      1866.989        1454.793          51.023          45.938  
+  -8349206.035    -6492658.958    23378140.449    23378144.633    23378140.833  
+     -3017.138       -2351.034          46.333          42.117  
+  -2771670.959    -2113914.565    23848429.570    23848433.084    23848429.489  
+     -3157.668       -2460.511          49.112          42.812  
+  -5678309.598    -4416283.433    23801816.684    23801820.081    23801815.824  
+      1970.597        1535.521          48.244          42.117  
+ -15061050.263   -11481026.952    22169180.348    22169183.489    22169180.125  
+      2911.388        2268.611          51.023          45.244  
+ 03  8  2  0 27  1.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24345097.619   -18958348.453    20452401.748    20452403.753    20452401.947  
+        61.820          48.169          52.239          47.676  
+ -14371252.309   -11169992.860    22246015.263    22246018.361    22246015.653  
+     -2011.485       -1567.396          50.328          44.896  
+ -17636776.981   -13731295.618    21715361.648    21715364.399    21715361.430  
+       937.792         730.746          51.718          45.244  
+ -18771009.210   -14611482.400    21224563.009    21224563.916    21224562.820  
+      1866.431        1454.359          51.023          45.938  
+  -8344680.793    -6489132.801    23379001.628    23379005.249    23379002.195  
+     -3017.145       -2351.032          46.333          42.117  
+  -2766934.855    -2110224.100    23849330.998    23849334.612    23849330.759  
+     -3157.679       -2460.527          49.112          42.985  
+  -5681266.070    -4418587.185    23801254.112    23801257.570    23801253.223  
+      1970.678        1535.590          48.244          42.117  
+ -15065417.432   -11484429.943    22168349.182    22168352.552    22168349.195  
+      2910.943        2268.268          51.023          45.244  
+ 03  8  2  0 27  3.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24345190.209   -18958420.602    20452384.225    20452386.064    20452384.332  
+        61.363          47.821          52.239          47.676  
+ -14368235.394   -11167642.019    22246589.414    22246592.410    22246589.621  
+     -2011.332       -1567.268          50.328          44.896  
+ -17638183.512   -13732391.615    21715094.082    21715096.633    21715093.843  
+       937.304         730.370          51.718          45.244  
+ -18773808.812   -14613663.907    21224030.583    21224030.873    21224030.111  
+      1866.126        1454.126          51.023          45.938  
+  -8340155.416    -6485606.535    23379862.513    23379866.093    23379863.137  
+     -3016.997       -2350.900          46.333          42.117  
+  -2762198.725    -2106533.613    23850232.228    23850235.421    23850232.183  
+     -3157.388       -2460.291          49.112          42.985  
+  -5684222.779    -4420891.115    23800691.444    23800695.004    23800690.595  
+      1971.155        1535.962          48.244          42.117  
+ -15069783.973   -11487832.439    22167518.261    22167521.090    22167518.423  
+      2910.804        2268.160          50.849          45.244  
+ 03  8  2  0 27  4.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24345281.355   -18958491.624    20452366.713    20452368.778    20452366.970  
+        59.799          46.584          52.239          47.676  
+ -14365217.904   -11165290.730    22247163.606    22247166.639    22247163.770  
+     -2012.304       -1568.037          50.328          44.896  
+ -17639588.500   -13733486.408    21714826.569    21714829.210    21714826.497  
+       935.662         729.076          51.718          45.417  
+ -18776607.242   -14615844.501    21223497.996    21223498.266    21223497.672  
+      1864.741        1453.036          51.023          45.938  
+  -8335629.628    -6482079.945    23380723.626    23380727.622    23380724.292  
+     -3017.879       -2351.608          46.333          42.117  
+  -2757462.248    -2102842.847    23851133.590    23851137.213    23851133.712  
+     -3158.282       -2461.009          49.112          42.985  
+  -5687179.321    -4423194.907    23800128.919    23800131.940    23800127.982  
+      1970.415        1535.380          48.244          42.117  
+ -15074149.583   -11491234.211    22166687.521    22166690.965    22166687.714  
+      2909.595        2267.210          50.849          45.244  
+ 03  8  2  0 27  6.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24345371.431   -18958561.812    20452349.831    20452351.839    20452349.872  
+        59.728          46.541          52.239          47.676  
+ -14362200.203   -11162939.274    22247737.883    22247740.965    22247737.903  
+     -2011.810       -1567.646          50.154          44.896  
+ -17640992.319   -13734580.291    21714559.517    21714562.247    21714559.360  
+       935.506         728.963          51.718          45.417  
+ -18779404.856   -14618024.462    21222965.526    21222966.023    21222965.310  
+      1864.827        1453.114          51.023          45.938  
+  -8331103.770    -6478553.309    23381585.077    23381589.162    23381585.488  
+     -3017.270       -2351.130          46.159          42.117  
+  -2752725.822    -2099152.127    23852034.614    23852038.797    23852035.226  
+     -3157.583       -2460.453          49.112          42.812  
+  -5690136.090    -4425498.887    23799566.503    23799569.218    23799565.453  
+      1971.202        1536.005          48.244          42.117  
+ -15078514.606   -11494635.526    22165856.888    22165860.219    22165857.137  
+      2909.798        2267.376          50.849          45.244  
+ 03  8  2  0 27  7.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24345460.112   -18958630.914    20452332.770    20452334.814    20452332.974  
+        58.630          45.684          52.239          47.676  
+ -14359181.985   -11160587.418    22248312.122    22248315.499    22248312.173  
+     -2012.346       -1568.061          50.154          44.896  
+ -17642394.658   -13735673.025    21714292.591    21714295.248    21714292.455  
+       934.370         728.082          51.718          45.244  
+ -18782201.356   -14620203.552    21222433.585    21222433.945    21222433.199  
+      1863.939        1452.415          51.023          45.938  
+  -8326577.597    -6475026.429    23382446.555    23382450.432    23382446.747  
+     -3017.441       -2351.264          46.159          42.117  
+  -2747989.077    -2095461.165    23852935.662    23852939.712    23852936.592  
+     -3157.990       -2460.776          49.112          42.812  
+  -5693092.777    -4427802.797    23799004.026    23799007.039    23799003.094  
+      1970.954        1535.812          48.244          42.117  
+ -15082878.746   -11498036.152    22165026.524    22165029.496    22165026.717  
+      2909.045        2266.787          50.849          45.244  
+ 03  8  2  0 27  9.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24345547.634   -18958699.114    20452316.178    20452318.408    20452316.306  
+        58.150          45.316          52.239          47.849  
+ -14356163.486   -11158235.344    22248886.515    22248889.856    22248886.559  
+     -2012.230       -1567.974          50.154          44.896  
+ -17643795.735   -13736764.775    21714025.954    21714028.704    21714025.819  
+       933.829         727.664          51.718          45.244  
+ -18784996.945   -14622381.934    21221901.519    21221902.058    21221901.263  
+      1863.626        1452.181          51.023          45.938  
+  -8322051.164    -6471499.342    23383307.890    23383312.000    23383307.858  
+     -3017.430       -2351.247          46.159          42.117  
+  -2743252.306    -2091770.184    23853836.971    23853841.202    23853837.927  
+     -3157.672       -2460.512          48.938          42.812  
+  -5696049.591    -4430106.806    23798441.356    23798444.643    23798440.635  
+      1971.385        1536.151          48.244          42.117  
+ -15087242.198   -11501436.242    22164196.243    22164199.468    22164196.434  
+      2908.901        2266.685          50.849          45.244  
+ 03  8  2  0 27 10.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24345633.893   -18958766.331    20452299.819    20452301.732    20452299.863  
+        56.869          44.319          52.239          47.849  
+ -14353144.596   -11155882.965    22249461.201    22249464.350    22249461.028  
+     -2012.926       -1568.514          50.154          44.896  
+ -17645195.451   -13737855.461    21713759.597    21713762.395    21713759.383  
+       932.483         726.614          51.718          45.417  
+ -18787791.536   -14624559.536    21221369.666    21221369.927    21221369.461  
+      1862.525        1451.322          51.023          45.938  
+  -8317524.542    -6467972.116    23384169.202    23384172.887    23384169.114  
+     -3018.046       -2351.718          46.159          41.943  
+  -2738515.358    -2088079.061    23854738.548    23854742.439    23854739.349  
+     -3158.223       -2460.952          48.938          42.812  
+  -5699006.461    -4432410.862    23797878.807    23797881.677    23797878.128  
+      1970.987        1535.846          48.244          42.117  
+ -15091604.875   -11504835.729    22163365.993    22163368.622    22163366.333  
+      2907.963        2265.946          50.849          45.244  
+ 03  8  2  0 27 12.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24345718.844   -18958832.525    20452283.555    20452285.539    20452283.662  
+        55.976          43.617          52.239          47.676  
+ -14350125.265   -11153530.237    22250035.716    22250038.923    22250035.573  
+     -2013.248       -1568.766          50.154          44.896  
+ -17646593.764   -13738945.050    21713493.548    21713496.338    21713493.248  
+       931.536         725.869          51.718          45.244  
+ -18790585.083   -14626736.323    21220837.971    21220838.435    21220837.922  
+      1861.797        1450.747          51.023          45.938  
+  -8312997.609    -6464444.631    23385030.437    23385034.484    23385030.489  
+     -3018.235       -2351.878          46.159          42.117  
+  -2733778.217    -2084387.790    23855640.084    23855644.012    23855640.674  
+     -3158.378       -2461.078          48.938          42.812  
+  -5701963.288    -4434714.878    23797316.225    23797319.494    23797315.642  
+      1970.929        1535.754          48.244          42.117  
+ -15095966.752   -11508234.592    22162535.983    22162539.044    22162536.385  
+      2907.423        2265.519          50.849          45.244  
+ 03  8  2  0 27 13.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24345802.687   -18958897.860    20452267.666    20452269.732    20452267.703  
+        55.478          43.234          52.239          47.676  
+ -14347105.711   -11151177.343    22250610.184    22250613.211    22250610.093  
+     -2013.153       -1568.688          50.154          44.896  
+ -17647990.872   -13740033.710    21713227.668    21713230.666    21713227.415  
+       930.982         725.443          51.718          45.244  
+ -18793377.785   -14628912.458    21220306.792    21220307.086    21220306.515  
+      1861.465        1450.494          51.023          45.938  
+  -8308470.584    -6460917.092    23385892.171    23385895.628    23385892.027  
+     -3018.075       -2351.737          46.159          42.117  
+  -2729041.062    -2080696.511    23856541.839    23856545.597    23856542.193  
+     -3158.187       -2460.906          48.938          42.812  
+  -5704920.323    -4437019.070    23796753.417    23796756.279    23796753.012  
+      1971.306        1536.103          48.244          42.117  
+ -15100327.994   -11511632.963    22161706.388    22161708.974    22161706.560  
+      2907.224        2265.377          50.849          45.244  
+ 03  8  2  0 27 15.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24345885.157   -18958962.123    20452251.990    20452254.114    20452252.033  
+        54.920          42.798          52.239          47.676  
+ -14344085.654   -11148824.055    22251185.035    22251188.017    22251184.787  
+     -2013.092       -1568.637          50.154          44.896  
+ -17649386.511   -13741121.217    21712962.169    21712965.089    21712961.915  
+       930.322         724.932          51.718          45.244  
+ -18796169.374   -14631087.721    21219775.479    21219775.724    21219775.270  
+      1861.076        1450.200          51.023          45.938  
+  -8303943.229    -6457389.282    23386754.243    23386757.604    23386753.672  
+     -3018.033       -2351.710          46.159          42.290  
+  -2724303.665    -2077005.028    23857443.361    23857447.027    23857443.818  
+     -3157.930       -2460.719          48.938          42.812  
+  -5707877.304    -4439323.206    23796191.042    23796193.926    23796190.447  
+      1971.602        1536.311          48.244          42.117  
+ -15104688.362   -11515030.649    22160876.611    22160879.368    22160876.896  
+      2906.986        2265.183          50.849          45.244  
+ 03  8  2  0 27 16.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24345966.446   -18959025.468    20452236.474    20452238.720    20452236.584  
+        53.479          41.670          52.239          47.849  
+ -14341065.294   -11146470.531    22251759.981    22251762.843    22251759.476  
+     -2013.939       -1569.305          50.154          44.896  
+ -17650780.882   -13742207.747    21712696.888    21712699.537    21712696.615  
+       928.839         723.775          51.718          45.417  
+ -18798960.047   -14633262.272    21219244.481    21219244.652    21219244.242  
+      1859.833        1449.210          51.023          45.938  
+  -8299415.691    -6453861.333    23387615.394    23387619.133    23387615.579  
+     -3018.782       -2352.306          46.159          42.290  
+  -2719566.180    -2073313.485    23858344.824    23858348.520    23858345.510  
+     -3158.643       -2461.263          48.938          42.812  
+  -5710834.463    -4441627.485    23795628.118    23795630.958    23795627.864  
+      1971.131        1535.937          48.244          42.290  
+ -15109048.026   -11518427.789    22160046.850    22160049.913    22160047.357  
+      2905.887        2264.321          50.849          45.244  
+ 03  8  2  0 27 18.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24346046.520   -18959087.862    20452221.266    20452223.310    20452221.406  
+        52.898          41.219          52.239          47.849  
+ -14338044.576   -11144116.721    22252334.913    22252337.767    22252334.370  
+     -2014.010       -1569.353          50.154          44.896  
+ -17652173.929   -13743293.238    21712431.668    21712434.540    21712431.538  
+       928.179         723.256          51.718          45.417  
+ -18801749.752   -14635436.064    21218713.556    21218713.700    21218713.453  
+      1859.420        1448.902          51.023          45.938  
+  -8294887.940    -6450333.225    23388477.307    23388480.858    23388477.379  
+     -3018.631       -2352.168          46.159          42.290  
+  -2714828.580    -2069621.849    23859246.372    23859250.113    23859247.048  
+     -3158.511       -2461.168          48.938          42.812  
+  -5713791.716    -4443931.836    23795065.277    23795068.100    23795065.218  
+      1971.348        1536.121          48.244          42.290  
+ -15113406.965   -11521824.362    22159217.415    22159220.319    22159217.906  
+      2905.618        2264.124          50.849          45.244  
+ 03  8  2  0 27 19.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24346125.181   -18959149.154    20452206.246    20452208.258    20452206.494  
+        51.472          40.100          52.239          47.849  
+ -14335023.334   -11141762.502    22252909.836    22252912.395    22252909.341  
+     -2014.856       -1570.021          50.154          44.896  
+ -17653565.471   -13744377.554    21712166.888    21712169.575    21712166.739  
+       926.710         722.098          51.718          45.417  
+ -18804538.305   -14637608.964    21218182.938    21218183.471    21218182.798  
+      1858.145        1447.901          51.023          45.938  
+  -8290359.816    -6446804.812    23389339.315    23389342.245    23389339.316  
+     -3019.321       -2352.740          46.159          42.117  
+  -2710090.671    -2065929.976    23860147.653    23860151.878    23860148.634  
+     -3159.199       -2461.715          48.938          42.812  
+  -5716748.848    -4446236.093    23794502.520    23794505.454    23794502.537  
+      1970.831        1535.693          48.244          42.290  
+ -15117764.982   -11525220.217    22158388.075    22158391.011    22158388.650  
+      2904.483        2263.223          50.849          45.244  
+ 03  8  2  0 27 21.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24346202.813   -18959209.650    20452191.552    20452193.562    20452191.794  
+        51.034          39.761          52.239          47.676  
+ -14332001.938   -11139408.174    22253484.837    22253487.758    22253484.336  
+     -2014.691       -1569.889          50.154          44.896  
+ -17654955.900   -13745461.007    21711902.544    21711905.148    21711902.138  
+       926.217         721.726          51.718          45.417  
+ -18807326.093   -14639781.269    21217652.540    21217652.778    21217652.363  
+      1857.918        1447.731          51.023          45.938  
+  -8285831.659    -6443276.386    23390200.454    23390204.033    23390201.279  
+     -3019.211       -2352.644          46.159          42.117  
+  -2705352.846    -2062238.171    23861049.257    23861053.079    23861050.150  
+     -3158.958       -2461.535          48.938          42.812  
+  -5719706.272    -4448540.576    23793939.386    23793942.571    23793939.815  
+      1971.251        1536.029          48.244          42.290  
+ -15122122.484   -11528615.674    22157558.955    22157561.756    22157559.443  
+      2904.434        2263.189          50.849          45.244  
+ 03  8  2  0 27 22.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24346279.128   -18959269.116    20452177.072    20452179.152    20452177.266  
+        50.449          39.315          52.239          47.849  
+ -14328980.089   -11137053.486    22254059.724    22254062.459    22254059.458  
+     -2014.639       -1569.846          50.154          44.896  
+ -17656344.897   -13746543.344    21711638.208    21711640.936    21711637.851  
+       925.548         721.201          51.718          45.417  
+ -18810112.819   -14641952.744    21217122.242    21217122.454    21217122.086  
+      1857.495        1447.409          51.023          45.938  
+  -8281303.205    -6439747.731    23391063.042    23391066.208    23391063.360  
+     -3019.037       -2352.493          46.159          42.117  
+  -2700614.824    -2058546.215    23861951.021    23861954.552    23861951.769  
+     -3158.742       -2461.343          48.938          42.812  
+  -5722663.675    -4450845.041    23793376.728    23793380.210    23793376.969  
+      1971.576        1536.286          48.244          42.290  
+ -15126479.133   -11532010.462    22156729.862    22156732.873    22156730.431  
+      2904.142        2262.971          50.849          45.244  
+ 03  8  2  0 27 24.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24346354.218   -18959327.632    20452162.848    20452164.714    20452162.977  
+        49.366          38.468          52.239          47.676  
+ -14325957.888   -11134698.522    22254634.754    22254637.627    22254634.679  
+     -2015.213       -1570.299          50.154          44.896  
+ -17657732.590   -13747624.665    21711374.197    21711376.947    21711373.780  
+       924.403         720.312          51.718          45.417  
+ -18812898.579   -14644123.467    21216591.937    21216592.454    21216591.979  
+      1856.566        1446.667          51.023          45.938  
+  -8276774.597    -6436218.943    23391925.341    23391927.545    23391925.456  
+     -3019.350       -2352.739          46.159          42.117  
+  -2695876.682    -2054854.158    23862852.887    23862856.595    23862853.414  
+     -3159.090       -2461.647          48.938          42.812  
+  -5725621.187    -4453149.595    23792813.887    23792817.583    23792814.093  
+      1971.369        1536.131          48.244          42.290  
+ -15130835.060   -11535404.695    22155900.860    22155903.925    22155901.538  
+      2903.421        2262.411          50.849          45.244  
+ 03  8  2  0 27 25.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24346427.996   -18959385.119    20452148.684    20452150.681    20452148.996  
+        48.765          37.998          52.239          47.676  
+ -14322935.248   -11132343.219    22255210.106    22255212.637    22255210.049  
+     -2015.182       -1570.275          50.154          44.896  
+ -17659118.865   -13748704.880    21711110.391    21711113.096    21711110.004  
+       923.766         719.815          51.718          45.417  
+ -18815683.292   -14646293.370    21216062.030    21216062.254    21216062.036  
+      1856.159        1446.349          51.023          45.938  
+  -8272245.638    -6432689.886    23392786.926    23392789.036    23392787.641  
+     -3019.349       -2352.740          46.159          42.117  
+  -2691138.338    -2051161.942    23863754.704    23863758.442    23863755.249  
+     -3158.901       -2461.471          48.938          42.638  
+  -5728578.671    -4455454.124    23792251.244    23792255.146    23792251.330  
+      1971.584        1536.300          48.244          42.464  
+ -15135190.166   -11538798.279    22155071.981    22155075.198    22155072.783  
+      2903.107        2262.161          50.849          45.244  
+ 03  8  2  0 27 27.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24346500.487   -18959441.607    20452134.905    20452136.815    20452135.230  
+        47.662          37.129          52.239          47.849  
+ -14319912.208   -11129987.601    22255785.371    22255788.118    22255785.448  
+     -2015.750       -1570.722          50.154          44.896  
+ -17660503.756   -13749784.014    21710846.794    21710849.311    21710846.425  
+       922.558         718.867          51.718          45.417  
+ -18818466.970   -14648462.472    21215532.413    21215532.700    21215532.293  
+      1855.218        1445.615          51.197          45.938  
+  -8267716.431    -6429160.635    23393649.220    23393651.768    23393649.998  
+     -3019.799       -2353.094          46.159          42.117  
+  -2686399.810    -2047469.583    23864656.409    23864660.158    23864656.996  
+     -3159.291       -2461.810          48.938          42.812  
+  -5731536.203    -4457758.692    23791688.146    23791691.809    23791688.457  
+      1971.418        1536.159          48.244          42.464  
+ -15139544.465   -11542191.235    22154243.327    22154246.428    22154244.116  
+      2902.309        2261.527          50.849          45.244  
+ 03  8  2  0 27 28.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24346571.875   -18959497.234    20452121.378    20452123.284    20452121.667  
+        46.859          36.508          52.239          47.849  
+ -14316888.937   -11127631.811    22256360.676    22256363.351    22256360.977  
+     -2015.928       -1570.855          50.154          44.896  
+ -17661887.452   -13750862.221    21710583.518    21710586.333    21710583.154  
+       921.705         718.212          51.718          45.417  
+ -18821249.811   -14650630.918    21215002.706    21215003.174    21215002.786  
+      1854.599        1445.145          51.197          45.938  
+  -8263187.134    -6425631.315    23394510.657    23394513.367    23394512.266  
+     -3019.920       -2353.187          46.159          42.290  
+  -2681661.296    -2043777.244    23865558.156    23865561.225    23865558.734  
+     -3159.370       -2461.837          48.938          42.812  
+  -5734493.934    -4460063.413    23791125.587    23791129.145    23791125.478  
+      1971.449        1536.180          48.244          42.464  
+ -15143898.139   -11545583.709    22153415.087    22153418.175    22153415.436  
+      2901.849        2261.179          50.849          45.244  
+ 03  8  2  0 27 30.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24346641.918   -18959551.812    20452108.031    20452110.140    20452108.371  
+        46.346          36.111          52.239          47.849  
+ -14313865.184   -11125275.636    22256935.847    22256938.606    22256936.579  
+     -2015.865       -1570.808          50.154          44.896  
+ -17663269.705   -13751939.297    21710320.551    21710323.276    21710320.158  
+       921.125         717.758          51.718          45.417  
+ -18824031.540   -14652798.499    21214473.545    21214473.865    21214473.494  
+      1854.236        1444.863          51.197          45.938  
+  -8258657.493    -6422101.711    23395372.327    23395374.795    23395374.357  
+     -3019.753       -2353.068          46.159          41.943  
+  -2676922.538    -2040084.705    23866459.696    23866463.445    23866460.587  
+     -3159.118       -2461.658          48.938          42.812  
+  -5737451.608    -4462368.089    23790562.647    23790566.128    23790562.715  
+      1971.799        1536.470          48.244          42.464  
+ -15148250.964   -11548975.514    22152586.689    22152589.741    22152586.881  
+      2901.681        2261.053          50.849          45.244  
+ 03  8  2  0 27 31.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24346710.802   -18959605.490    20452094.979    20452096.936    20452095.261  
+        45.655          35.586          52.239          47.849  
+ -14310841.165   -11122919.259    22257511.215    22257514.317    22257512.199  
+     -2015.958       -1570.866          50.154          44.896  
+ -17664650.703   -13753015.400    21710057.716    21710060.832    21710057.459  
+       920.351         717.163          51.718          45.417  
+ -18826812.397   -14654965.402    21213944.213    21213944.915    21213944.386  
+      1853.739        1444.474          51.197          45.938  
+  -8254127.763    -6418572.061    23396234.294    23396237.166    23396236.332  
+     -3019.758       -2353.057          46.159          42.117  
+  -2672183.730    -2036392.130    23867361.395    23867365.127    23867362.344  
+     -3159.073       -2461.612          48.765          42.812  
+  -5740409.423    -4464672.883    23789999.935    23790003.450    23789999.991  
+      1972.004        1536.630          48.244          42.464  
+ -15152603.112   -11552366.800    22151758.404    22151761.261    22151758.523  
+      2901.281        2260.751          50.849          45.244  
+ 03  8  2  0 27 33.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24346778.378   -18959658.147    20452082.027    20452084.109    20452082.442  
+        44.657          34.802          52.239          47.849  
+ -14307816.698   -11120562.530    22258086.985    22258089.583    22258087.878  
+     -2016.424       -1571.232          50.154          44.896  
+ -17666030.305   -13754090.413    21709795.194    21709798.140    21709794.943  
+       919.317         716.350          51.718          45.417  
+ -18829592.192   -14657131.473    21213415.358    21213415.961    21213415.466  
+      1852.891        1443.817          51.197          45.938  
+  -8249597.711    -6415042.161    23397096.681    23397099.371    23397098.382  
+     -3020.016       -2353.249          46.159          41.943  
+  -2667444.738    -2032699.416    23868263.327    23868266.763    23868264.229  
+     -3159.377       -2461.848          48.765          42.638  
+  -5743367.244    -4466977.677    23789437.412    23789440.492    23789437.215  
+      1971.801        1536.477          48.244          42.464  
+ -15156954.442   -11555757.441    22150930.405    22150933.210    22150930.401  
+      2900.650        2260.245          50.849          45.244  
+ 03  8  2  0 27 34.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24346844.716   -18959709.838    20452069.451    20452071.442    20452069.802  
+        43.955          34.252          52.239          47.849  
+ -14304791.887   -11118205.536    22258662.522    22258664.960    22258663.594  
+     -2016.524       -1571.311          50.154          44.896  
+ -17667408.570   -13755164.387    21709532.877    21709535.761    21709532.732  
+       918.543         715.749          51.718          45.417  
+ -18832371.019   -14659296.794    21212886.327    21212887.002    21212886.668  
+      1852.390        1443.420          51.197          45.938  
+  -8245067.412    -6411512.057    23397959.042    23397961.097    23397960.311  
+     -3020.098       -2353.323          46.159          42.117  
+  -2662705.621    -2029006.600    23869165.229    23869169.250    23869165.952  
+     -3159.282       -2461.775          48.765          42.638  
+  -5746325.143    -4469282.530    23788874.308    23788877.673    23788874.474  
+      1972.059        1536.674          48.244          42.464  
+ -15161305.019   -11559147.499    22150102.418    22150105.594    22150102.389  
+      2900.229        2259.915          50.849          45.070  
+ 03  8  2  0 27 36.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24346909.860   -18959760.603    20452057.240    20452058.969    20452057.352  
+        43.185          33.650          52.239          47.676  
+ -14301766.754   -11115848.292    22259238.077    22259240.773    22259239.300  
+     -2016.685       -1571.447          50.154          44.722  
+ -17668785.542   -13756237.353    21709270.835    21709273.674    21709270.699  
+       917.719         715.103          51.718          45.417  
+ -18835148.903   -14661461.379    21212357.767    21212358.644    21212357.946  
+      1851.793        1442.952          51.197          45.938  
+  -8240536.989    -6407981.861    23398821.062    23398823.183    23398822.316  
+     -3020.235       -2353.428          46.159          42.117  
+  -2657966.420    -2025313.721    23870067.288    23870070.914    23870067.700  
+     -3159.297       -2461.783          48.765          42.638  
+  -5749283.168    -4471587.479    23788311.845    23788314.707    23788311.634  
+      1972.154        1536.736          48.244          42.290  
+ -15165654.902   -11562537.019    22149274.709    22149277.592    22149274.531  
+      2899.808        2259.593          50.849          45.070  
+ 03  8  2  0 27 37.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24346973.479   -18959810.171    20452045.045    20452046.947    20452045.200  
+        42.034          32.747          52.239          47.849  
+ -14298740.970   -11113490.533    22259813.888    22259816.944    22259815.074  
+     -2017.259       -1571.888          50.154          44.896  
+ -17670160.888   -13757309.046    21709009.152    21709012.174    21709009.037  
+       916.497         714.150          51.718          45.417  
+ -18837925.523   -14663624.973    21211829.335    21211830.231    21211829.502  
+      1850.790        1442.166          51.197          45.938  
+  -8236006.039    -6404451.243    23399683.002    23399685.593    23399684.389  
+     -3020.664       -2353.768          46.159          42.290  
+  -2653226.804    -2021620.516    23870969.197    23870972.734    23870969.637  
+     -3159.738       -2462.133          48.765          42.638  
+  -5752240.948    -4473892.243    23787748.639    23787751.624    23787748.904  
+      1971.843        1536.508          48.244          42.290  
+ -15170003.732   -11565925.713    22148447.031    22148450.419    22148446.884  
+      2898.948        2258.910          50.849          45.244  
+ 03  8  2  0 27 39.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24347036.120   -18959858.982    20452033.080    20452035.115    20452033.224  
+        41.051          31.985          52.239          47.849  
+ -14295715.086   -11111132.702    22260389.711    22260392.423    22260390.830  
+     -2017.660       -1572.200          50.154          44.896  
+ -17671535.153   -13758379.905    21708747.619    21708750.781    21708747.538  
+       915.420         713.310          51.718          45.417  
+ -18840701.426   -14665788.015    21211301.210    21211301.858    21211301.193  
+      1849.971        1441.530          51.197          45.938  
+  -8231475.159    -6400920.692    23400545.399    23400548.228    23400546.701  
+     -3020.956       -2354.007          46.333          42.117  
+  -2648487.337    -2017927.420    23871870.601    23871874.655    23871871.480  
+     -3159.977       -2462.319          48.765          42.638  
+  -5755199.116    -4476197.310    23787185.969    23787188.722    23787186.127  
+      1971.739        1536.416          48.244          42.290  
+ -15174352.078   -11569314.035    22147619.505    22147622.613    22147619.435  
+      2898.339        2258.447          50.849          45.244  
+ 03  8  2  0 27 40.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24347097.534   -18959906.842    20452021.487    20452023.263    20452021.520  
+        40.474          31.538          52.239          47.676  
+ -14292688.849   -11108774.603    22260965.536    22260968.351    22260966.629  
+     -2017.639       -1572.179          50.154          44.722  
+ -17672908.099   -13759449.738    21708486.306    21708489.483    21708486.285  
+       914.804         712.837          51.718          45.591  
+ -18843476.347   -14667950.293    21210773.123    21210773.766    21210773.019  
+      1849.552        1441.208          51.197          45.938  
+  -8226944.023    -6397389.943    23401407.451    23401409.582    23401409.134  
+     -3020.880       -2353.929          46.333          42.290  
+  -2643747.749    -2014234.244    23872772.502    23872776.093    23872773.288  
+     -3159.799       -2462.172          48.765          42.812  
+  -5758157.346    -4478502.430    23786622.849    23786625.433    23786623.249  
+      1972.062        1536.668          48.244          42.290  
+ -15178699.680   -11572701.774    22146792.158    22146795.213    22146792.014  
+      2898.073        2258.247          50.849          45.244  
+ 03  8  2  0 27 42.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24347157.550   -18959953.606    20452010.066    20452011.978    20452010.123  
+        39.626          30.867          52.239          47.849  
+ -14289662.100   -11106416.095    22261541.554    22261544.334    22261542.521  
+     -2017.921       -1572.409          50.154          44.896  
+ -17674279.552   -13760518.402    21708225.418    21708228.347    21708225.254  
+       913.894         712.124          51.718          45.591  
+ -18846250.130   -14670111.684    21210245.240    21210246.249    21210245.172  
+      1848.890        1440.689          51.197          45.938  
+  -8222412.543    -6393858.920    23402270.195    23402272.293    23402271.376  
+     -3021.067       -2354.092          46.333          42.117  
+  -2639007.867    -2010540.836    23873674.308    23873678.561    23873675.103  
+     -3159.929       -2462.282          48.765          42.638  
+  -5761115.514    -4480807.486    23786060.068    23786062.294    23786060.383  
+      1972.142        1536.723          48.244          42.290  
+ -15183046.373   -11576088.804    22145964.941    22145967.882    22145964.870  
+      2897.571        2257.840          50.849          45.070  
+ 03  8  2  0 27 43.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24347216.479   -18959999.527    20451998.884    20452000.621    20451998.962  
+        38.737          30.188          52.239          47.849  
+ -14286635.131   -11104057.423    22262117.778    22262120.325    22262118.489  
+     -2018.201       -1572.624          50.154          44.896  
+ -17675649.811   -13761586.135    21707964.496    21707967.793    21707964.412  
+       912.930         711.372          51.718          45.417  
+ -18849023.091   -14672272.430    21209717.535    21209718.504    21209717.537  
+      1848.171        1440.128          51.197          45.938  
+  -8217881.002    -6390327.844    23403132.344    23403134.749    23403133.666  
+     -3021.242       -2354.214          46.333          42.117  
+  -2634268.038    -2006847.476    23874576.367    23874580.435    23874576.980  
+     -3160.008       -2462.339          48.765          42.638  
+  -5764073.877    -4483112.713    23785497.315    23785499.655    23785497.476  
+      1972.077        1536.669          48.244          42.290  
+ -15187392.456   -11579475.361    22145138.081    22145141.462    22145137.822  
+      2896.985        2257.383          50.849          45.070  
+ 03  8  2  0 27 45.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24347274.023   -18960044.365    20451987.897    20451989.696    20451988.061  
+        38.033          29.643          52.239          47.849  
+ -14283607.657   -11101698.354    22262693.752    22262696.442    22262694.489  
+     -2018.356       -1572.734          50.154          44.722  
+ -17677018.605   -13762652.726    21707703.880    21707707.289    21707703.870  
+       912.195         710.816          51.718          45.417  
+ -18851794.913   -14674432.291    21209190.106    21209191.093    21209190.058  
+      1847.644        1439.728          51.197          45.938  
+  -8213349.101    -6386796.498    23403994.529    23403996.700    23403996.006  
+     -3021.296       -2354.250          46.333          42.290  
+  -2629527.914    -2003153.876    23875478.534    23875482.807    23875479.049  
+     -3160.046       -2462.364          48.765          42.812  
+  -5767032.182    -4485417.880    23784934.178    23784937.291    23784934.606  
+      1972.223        1536.795          48.244          42.290  
+ -15191737.645   -11582861.217    22144311.055    22144314.141    22144311.000  
+      2896.569        2257.072          50.849          45.244  
+ 03  8  2  0 27 46.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24347330.424   -18960088.315    20451977.175    20451979.126    20451977.349  
+        37.053          28.866          52.239          47.849  
+ -14280579.948   -11099339.100    22263270.022    22263272.527    22263270.504  
+     -2018.701       -1573.021          50.154          44.722  
+ -17678386.150   -13763718.345    21707443.769    21707446.944    21707443.579  
+       911.139         709.972          51.718          45.417  
+ -18854565.865   -14676591.474    21208662.698    21208663.699    21208662.796  
+      1846.834        1439.078          51.197          45.938  
+  -8208817.078    -6383265.060    23404857.484    23404859.576    23404858.144  
+     -3021.555       -2354.470          46.333          42.117  
+  -2624787.808    -1999460.289    23876380.841    23876383.964    23876381.115  
+     -3160.184       -2462.483          48.765          42.638  
+  -5769990.678    -4487723.199    23784370.927    23784373.361    23784371.606  
+      1972.093        1536.680          48.244          42.290  
+ -15196082.195   -11586246.577    22143484.315    22143487.607    22143484.311  
+      2895.991        2256.600          50.849          45.070  
+ 03  8  2  0 27 48.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24347385.581   -18960131.297    20451966.736    20451968.551    20451966.845  
+        36.409          28.385          52.239          47.849  
+ -14277551.844   -11096979.538    22263846.022    22263848.681    22263846.658  
+     -2018.720       -1573.021          50.154          44.722  
+ -17679752.338   -13764782.916    21707183.786    21707186.791    21707183.546  
+       910.408         709.423          51.718          45.591  
+ -18857335.821   -14678749.883    21208135.671    21208136.524    21208135.747  
+      1846.373        1438.744          51.197          45.938  
+  -8204284.818    -6379733.428    23405719.616    23405721.607    23405720.359  
+     -3021.600       -2354.483          46.333          42.290  
+  -2620047.528    -1995766.567    23877282.981    23877286.630    23877283.164  
+     -3160.118       -2462.419          48.765          42.638  
+  -5772949.205    -4490028.543    23783807.772    23783810.751    23783808.746  
+      1972.347        1536.901          48.244          42.290  
+ -15200425.958   -11589631.330    22142657.731    22142661.112    22142657.805  
+      2895.631        2256.350          50.849          45.244  
+ 03  8  2  0 27 49.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24347439.327   -18960173.175    20451956.471    20451958.326    20451956.650  
+        35.355          27.546          52.239          47.849  
+ -14274523.216   -11094619.569    22264422.374    22264425.145    22264422.857  
+     -2019.298       -1573.487          50.154          44.896  
+ -17681117.032   -13765846.309    21706924.062    21706927.356    21706923.865  
+       909.267         708.516          51.718          45.417  
+ -18860104.636   -14680907.394    21207608.878    21207609.931    21207608.836  
+      1845.463        1438.019          51.197          45.938  
+  -8199752.184    -6376201.504    23406582.122    23406584.189    23406582.669  
+     -3021.889       -2354.731          46.333          42.117  
+  -2615306.964    -1992072.622    23878184.884    23878188.787    23878185.238  
+     -3160.512       -2462.737          48.765          42.638  
+  -5775907.650    -4492333.820    23783245.039    23783247.282    23783245.853  
+      1972.174        1536.752          48.244          42.464  
+ -15204768.797   -11593015.356    22141831.376    22141834.692    22141831.377  
+      2894.864        2255.741          50.849          45.070  
+ 03  8  2  0 27 51.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24347491.913   -18960214.153    20451946.411    20451948.375    20451946.687  
+        34.435          26.829          52.239          47.849  
+ -14271494.307   -11092259.382    22264998.888    22265001.572    22264999.096  
+     -2019.591       -1573.709          50.154          44.722  
+ -17682480.473   -13766908.728    21706664.574    21706667.890    21706664.449  
+       908.288         707.748          51.718          45.591  
+ -18862872.531   -14683064.195    21207082.143    21207083.171    21207082.081  
+      1844.690        1437.419          51.197          46.112  
+  -8195219.416    -6372669.486    23407444.410    23407447.472    23407445.101  
+     -3022.170       -2354.936          46.333          42.117  
+  -2610566.361    -1988378.654    23879086.703    23879090.419    23879087.375  
+     -3160.600       -2462.811          48.765          42.638  
+  -5778866.253    -4494639.228    23782681.569    23782684.441    23782682.875  
+      1972.077        1536.681          48.244          42.290  
+ -15209110.956   -11596398.854    22141005.080    22141008.576    22141005.146  
+      2894.284        2255.279          50.849          45.244  
+ 03  8  2  0 27 52.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24347543.304   -18960254.198    20451936.771    20451938.530    20451937.063  
+        34.050          26.537          52.239          47.849  
+ -14268465.100   -11089898.964    22265575.447    22265578.148    22265575.505  
+     -2019.386       -1573.534          50.154          44.722  
+ -17683842.626   -13767970.144    21706405.384    21706408.709    21706405.217  
+       907.849         707.416          51.718          45.591  
+ -18865639.494   -14685220.274    21206555.586    21206556.458    21206555.469  
+      1844.514        1437.287          51.197          46.112  
+  -8190686.482    -6369137.332    23408306.651    23408309.132    23408307.487  
+     -3021.780       -2354.628          46.506          42.117  
+  -2605825.692    -1984684.629    23879989.469    23879993.149    23879989.428  
+     -3160.286       -2462.561          48.765          42.638  
+  -5781824.984    -4496944.732    23782118.543    23782121.780    23782119.816  
+      1972.610        1537.106          48.244          42.290  
+ -15213452.417   -11599781.807    22140179.059    22140182.098    22140179.109  
+      2894.261        2255.268          50.849          45.244  
+ 03  8  2  0 27 54.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24347593.454   -18960293.278    20451927.280    20451928.977    20451927.580  
+        32.902          25.638          52.239          47.849  
+ -14265435.523   -11087538.254    22266151.828    22266154.561    22266152.012  
+     -2019.948       -1573.984          50.154          44.722  
+ -17685203.435   -13769030.518    21706146.304    21706149.883    21706146.218  
+       906.636         706.471          51.718          45.591  
+ -18868405.473   -14687375.582    21206029.278    21206030.334    21206029.093  
+      1843.544        1436.526          51.197          46.112  
+  -8186153.319    -6365605.002    23409168.849    23409172.031    23409169.993  
+     -3022.387       -2355.096          46.506          42.117  
+  -2601084.889    -1980990.508    23880891.554    23880894.575    23880891.633  
+     -3160.696       -2462.873          48.591          42.638  
+  -5784783.780    -4499250.288    23781555.168    23781558.229    23781556.606  
+      1972.324        1536.873          48.244          42.290  
+ -15217793.098   -11603164.153    22139352.895    22139356.114    22139353.161  
+      2893.389        2254.582          50.849          45.244  
+ 03  8  2  0 27 55.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24347642.301   -18960331.342    20451917.850    20451919.825    20451918.365  
+        31.998          24.939          52.239          47.849  
+ -14262405.530   -11085177.220    22266728.370    22266731.189    22266728.661  
+     -2020.291       -1574.250          50.154          44.722  
+ -17686562.847   -13770089.799    21705887.621    21705891.142    21705887.499  
+       905.679         705.724          51.718          45.417  
+ -18871170.419   -14689530.087    21205503.022    21205503.976    21205502.885  
+      1842.840        1435.983          51.197          46.112  
+  -8181619.929    -6362072.496    23410031.371    23410035.254    23410032.434  
+     -3022.564       -2355.238          46.506          42.117  
+  -2596343.914    -1977296.240    23881793.694    23881797.300    23881793.998  
+     -3160.897       -2463.036          48.591          42.812  
+  -5787742.593    -4501555.854    23780992.409    23780995.494    23780993.431  
+      1972.368        1536.908          48.244          42.290  
+ -15222132.967   -11606545.869    22138527.086    22138530.152    22138527.387  
+      2892.814        2254.143          50.849          45.244  
+ 03  8  2  0 27 57.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24347689.909   -18960368.437    20451908.850    20451910.703    20451909.382  
+        31.300          24.385          52.239          47.849  
+ -14259375.182   -11082815.908    22267305.170    22267307.764    22267305.444  
+     -2020.400       -1574.334          50.154          44.722  
+ -17687920.916   -13771148.032    21705629.257    21705632.577    21705629.032  
+       904.891         705.109          51.718          45.417  
+ -18873934.365   -14691683.809    21204977.050    21204978.227    21204976.876  
+      1842.254        1435.522          51.197          46.112  
+  -8177086.287    -6358539.797    23410894.466    23410898.109    23410894.812  
+     -3022.445       -2355.139          46.506          42.290  
+  -2591602.835    -1973601.888    23882696.164    23882699.513    23882696.441  
+     -3160.776       -2462.948          48.591          42.638  
+  -5790701.426    -4503861.435    23780429.196    23780432.425    23780430.398  
+      1972.478        1536.995          48.244          42.290  
+ -15226472.074   -11609926.989    22137701.473    22137704.631    22137701.722  
+      2892.421        2253.832          50.849          45.244  
+ 03  8  2  0 27 58.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24347736.368   -18960404.642    20451899.947    20451901.841    20451900.616  
+        30.329          23.639          52.239          47.849  
+ -14256344.572   -11080454.397    22267881.925    22267884.597    22267882.283  
+     -2020.772       -1574.624          50.154          44.722  
+ -17689277.748   -13772205.309    21705371.005    21705374.136    21705370.834  
+       903.846         704.298          51.718          45.591  
+ -18876697.423   -14693836.841    21204451.332    21204452.460    21204451.046  
+      1841.451        1434.894          51.197          46.112  
+  -8172552.511    -6355007.000    23411757.599    23411760.495    23411757.593  
+     -3022.931       -2355.517          46.506          42.117  
+  -2586861.716    -1969907.513    23883598.129    23883601.231    23883598.713  
+     -3161.038       -2463.135          48.591          42.638  
+  -5793660.441    -4506167.161    23779866.138    23779868.812    23779867.211  
+      1972.374        1536.924          48.244          42.290  
+ -15230810.532   -11613307.604    22136875.848    22136879.063    22136876.150  
+      2891.764        2253.322          50.849          45.244  
+ 03  8  2  0 28  0.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24347781.379   -18960439.714    20451891.337    20451893.211    20451892.076  
+        29.578          23.050          52.239          47.849  
+ -14253313.396   -11078092.441    22268458.794    22268461.338    22268459.099  
+     -2020.880       -1574.708          50.154          44.722  
+ -17690633.038   -13773261.377    21705113.211    21705116.208    21705112.939  
+       903.086         703.697          51.718          45.591  
+ -18879459.281   -14695988.936    21203925.719    21203926.893    21203925.437  
+      1840.906        1434.473          51.197          46.112  
+  -8168018.323    -6351473.874    23412620.471    23412623.307    23412620.415  
+     -3022.778       -2355.414          46.506          42.290  
+  -2582120.267    -1966212.880    23884499.894    23884503.592    23884500.993  
+     -3161.015       -2463.123          48.591          42.638  
+  -5796619.383    -4508472.821    23779303.089    23779306.054    23779303.936  
+      1972.602        1537.080          48.244          42.290  
+ -15235148.017   -11616687.459    22136050.410    22136053.767    22136050.828  
+      2891.401        2253.037          50.849          45.070  
+ 03  8  2  0 28  1.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24347825.262   -18960473.912    20451882.989    20451884.924    20451883.709  
+        28.365          22.094          52.239          47.849  
+ -14250281.973   -11075730.296    22269035.601    22269038.295    22269035.997  
+     -2021.570       -1575.253          50.154          44.722  
+ -17691987.095   -13774316.485    21704855.608    21704858.864    21704855.246  
+       901.773         702.665          51.718          45.591  
+ -18882220.282   -14698140.365    21203400.218    21203401.415    21203399.962  
+      1839.877        1433.661          51.197          46.112  
+  -8163484.044    -6347940.681    23413483.711    23413485.852    23413483.210  
+     -3023.396       -2355.885          46.506          42.117  
+  -2577378.810    -1962518.249    23885402.043    23885406.325    23885403.154  
+     -3161.470       -2463.494          48.591          42.638  
+  -5799578.499    -4510778.628    23778739.907    23778742.852    23778740.720  
+      1972.241        1536.803          48.244          42.290  
+ -15239484.880   -11620066.826    22135225.128    22135228.458    22135225.602  
+      2890.507        2252.321          50.849          45.244  
+ 03  8  2  0 28  3.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24347867.855   -18960507.100    20451874.849    20451876.960    20451875.541  
+        27.997          21.820          52.239          47.849  
+ -14247250.142   -11073367.825    22269612.233    22269615.120    22269612.961  
+     -2021.294       -1575.034          50.154          44.722  
+ -17693339.768   -13775370.517    21704598.100    21704601.325    21704597.821  
+       901.378         702.377          51.718          45.591  
+ -18884980.240   -14700290.982    21202875.107    21202876.308    21202874.636  
+      1839.663        1433.510          51.197          46.112  
+  -8158949.497    -6344407.271    23414346.728    23414348.265    23414346.199  
+     -3023.111       -2355.672          46.506          42.117  
+  -2572637.180    -1958823.481    23886304.351    23886308.499    23886305.420  
+     -3161.072       -2463.155          48.591          42.638  
+  -5802537.610    -4513084.427    23778176.910    23778180.000    23778177.472  
+      1972.698        1537.179          48.244          42.290  
+ -15243820.905   -11623445.545    22134400.012    22134403.395    22134400.553  
+      2890.411        2252.272          50.849          45.070  
+ 03  8  2  0 28  4.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24347909.225   -18960539.337    20451867.000    20451868.992    20451867.553  
+        27.103          21.122          52.239          47.849  
+ -14244217.965   -11071005.092    22270189.444    22270192.379    22270189.888  
+     -2021.652       -1575.308          50.154          44.722  
+ -17694691.121   -13776423.520    21704340.778    21704343.731    21704340.673  
+       900.403         701.613          51.718          45.417  
+ -18887739.221   -14702440.837    21202350.036    21202351.321    21202349.536  
+      1838.923        1432.930          51.197          46.112  
+  -8154414.735    -6340873.699    23415209.813    23415212.090    23415209.254  
+     -3023.310       -2355.805          46.506          42.117  
+  -2567895.469    -1955128.647    23887206.551    23887210.846    23887207.675  
+     -3161.206       -2463.291          48.591          42.638  
+  -5805496.846    -4515390.325    23777613.508    23777617.069    23777614.306  
+      1972.817        1537.260          48.244          42.464  
+ -15248156.196   -11626823.700    22133574.961    22133578.372    22133575.618  
+      2889.844        2251.828          50.849          45.244  
+ 03  8  2  0 28  6.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24347949.388   -18960570.633    20451859.224    20451861.411    20451859.810  
+        26.254          20.453          52.239          47.849  
+ -14241185.484   -11068642.124    22270766.639    22270769.170    22270766.994  
+     -2021.885       -1575.490          50.154          44.722  
+ -17696041.175   -13777475.511    21704083.946    21704087.277    21704083.769  
+       899.495         700.907          51.718          45.417  
+ -18890497.259   -14704589.955    21201825.202    21201826.450    21201824.663  
+      1838.270        1432.412          51.197          46.112  
+  -8149879.825    -6337340.008    23416072.984    23416074.965    23416072.534  
+     -3023.466       -2355.949          46.506          41.943  
+  -2563153.653    -1951433.728    23888109.242    23888113.267    23888109.943  
+     -3161.307       -2463.364          48.591          42.638  
+  -5808456.158    -4517696.278    23777050.922    23777054.248    23777051.186  
+      1972.680        1537.155          48.244          42.290  
+ -15252490.748   -11630201.273    22132750.222    22132753.655    22132750.740  
+      2889.302        2251.403          50.849          45.244  
+ 03  8  2  0 28  7.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24347988.170   -18960600.851    20451851.988    20451853.952    20451852.313  
+        25.575          19.932          52.239          47.849  
+ -14238152.477   -11066278.745    22271343.753    22271346.621    22271344.155  
+     -2022.010       -1575.591          50.154          44.896  
+ -17697389.734   -13778526.335    21703827.489    21703830.434    21703827.168  
+       898.692         700.281          51.718          45.417  
+ -18893254.164   -14706738.191    21201300.693    21201301.964    21201299.949  
+      1837.716        1431.987          51.197          46.112  
+  -8145344.540    -6333806.022    23416935.512    23416937.603    23416935.746  
+     -3023.620       -2356.076          46.506          42.117  
+  -2558411.604    -1947738.636    23889011.456    23889015.198    23889012.316  
+     -3161.209       -2463.268          48.591          42.638  
+  -5811415.392    -4520002.175    23776487.910    23776491.261    23776488.054  
+      1972.911        1537.346          48.244          42.464  
+ -15256824.420   -11633578.153    22131925.486    22131928.972    22131926.062  
+      2888.995        2251.162          50.849          45.244  
+ 03  8  2  0 28  9.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348025.803   -18960630.176    20451844.704    20451846.763    20451845.049  
+        24.632          19.196          52.239          47.849  
+ -14235119.227   -11063915.174    22271920.982    22271923.854    22271921.440  
+     -2022.379       -1575.880          50.154          44.722  
+ -17698737.055   -13779576.194    21703571.112    21703573.859    21703570.888  
+       897.723         699.525          51.718          45.417  
+ -18896010.174   -14708885.732    21200776.214    21200777.237    21200775.436  
+      1836.959        1431.401          51.197          46.112  
+  -8140809.162    -6330271.978    23417798.315    23417800.976    23417799.003  
+     -3023.634       -2356.072          46.506          41.943  
+  -2553669.501    -1944043.488    23889913.707    23889917.486    23889914.711  
+     -3161.466       -2463.469          48.417          42.638  
+  -5814374.797    -4522308.201    23775924.558    23775927.773    23775924.771  
+      1972.816        1537.249          48.244          42.464  
+ -15261157.417   -11636954.511    22131100.951    22131104.223    22131101.422  
+      2888.339        2250.655          50.849          45.244  
+ 03  8  2  0 28 10.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348062.304   -18960658.619    20451837.778    20451839.868    20451838.014  
+        24.326          18.964          52.239          47.849  
+ -14232085.729   -11061551.414    22272498.266    22272501.093    22272498.825  
+     -2022.072       -1575.629          50.154          44.722  
+ -17700083.150   -13780625.103    21703314.797    21703317.602    21703314.794  
+       897.338         699.232          51.718          45.417  
+ -18898765.311   -14711032.595    21200252.008    21200253.229    21200251.153  
+      1836.820        1431.298          51.197          46.112  
+  -8136273.661    -6326737.837    23418661.368    23418664.157    23418662.152  
+     -3023.280       -2355.787          46.680          41.943  
+  -2548927.392    -1940348.348    23890816.270    23890820.446    23890817.122  
+     -3161.064       -2463.152          48.417          42.638  
+  -5817334.338    -4524614.338    23775361.282    23775364.446    23775361.461  
+      1973.387        1537.713          48.244          42.464  
+ -15265489.752   -11640330.354    22130276.740    22130280.174    22130276.941  
+      2888.370        2250.683          50.849          45.244  
+ 03  8  2  0 28 12.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348097.364   -18960685.938    20451831.059    20451833.225    20451831.266  
+        22.905          17.852          52.239          47.849  
+ -14229051.680   -11059187.217    22273075.635    22273077.894    22273076.303  
+     -2022.883       -1576.277          50.154          44.722  
+ -17701427.703   -13781672.804    21703058.952    21703062.191    21703058.929  
+       895.879         698.094          51.718          45.417  
+ -18901519.266   -14713178.533    21199727.797    21199729.110    21199727.090  
+      1835.612        1430.349          51.197          46.112  
+  -8131737.727    -6323203.350    23419524.920    23419527.330    23419525.343  
+     -3024.143       -2356.447          46.680          41.943  
+  -2544184.965    -1936652.946    23891718.511    23891722.510    23891719.617  
+     -3161.734       -2463.692          48.417          42.638  
+  -5820293.806    -4526920.416    23774798.111    23774801.525    23774798.266  
+      1972.921        1537.353          48.244          42.464  
+ -15269821.136   -11643705.456    22129452.471    22129455.485    22129452.694  
+      2887.267        2249.821          50.849          45.244  
+ 03  8  2  0 28 13.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348131.317   -18960712.396    20451824.590    20451826.773    20451824.740  
+        22.629          17.641          52.239          47.849  
+ -14226017.395   -11056822.838    22273653.032    22273655.585    22273653.914  
+     -2022.516       -1575.985          50.154          44.722  
+ -17702771.047   -13782719.565    21702803.387    21702806.338    21702803.309  
+       895.559         697.840          51.718          45.417  
+ -18904272.365   -14715323.801    21199203.982    21199205.189    21199203.265  
+      1835.501        1430.265          51.197          46.112  
+  -8127201.743    -6319668.822    23420387.926    23420390.766    23420388.524  
+     -3023.713       -2356.132          46.680          41.943  
+  -2539442.590    -1932957.597    23892620.980    23892624.637    23892622.009  
+     -3161.187       -2463.253          48.417          42.638  
+  -5823253.453    -4529226.637    23774235.076    23774238.479    23774234.871  
+      1973.483        1537.769          48.244          42.464  
+ -15274151.883   -11647080.065    22128628.315    22128631.686    22128628.551  
+      2887.302        2249.852          50.849          45.244  
+ 03  8  2  0 28 15.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348163.900   -18960737.783    20451818.308    20451820.603    20451818.492  
+        21.608          16.840          52.239          47.849  
+ -14222982.643   -11054458.095    22274230.503    22274233.152    22274231.486  
+     -2022.973       -1576.343          50.154          44.722  
+ -17704112.928   -13783765.186    21702548.128    21702551.005    21702547.971  
+       894.419         696.947          51.718          45.591  
+ -18907024.346   -14717468.203    21198680.175    21198681.322    21198679.649  
+      1834.630        1429.584          51.197          46.112  
+  -8122665.436    -6316134.040    23421251.267    23421253.894    23421251.881  
+     -3023.996       -2356.354          46.680          41.769  
+  -2534699.943    -1929262.038    23893523.544    23893527.746    23893524.457  
+     -3161.467       -2463.467          48.417          42.464  
+  -5826213.021    -4531532.788    23773671.748    23773675.364    23773671.626  
+      1973.195        1537.544          48.244          42.464  
+ -15278481.741   -11650453.975    22127804.337    22127807.455    22127804.581  
+      2886.629        2249.328          50.849          45.244  
+ 03  8  2  0 28 16.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348195.276   -18960762.235    20451812.356    20451814.664    20451812.509  
+        20.582          16.040          52.239          47.849  
+ -14219947.551   -11052093.093    22274807.874    22274810.616    22274809.115  
+     -2023.412       -1576.682          50.154          44.722  
+ -17705453.492   -13784809.783    21702293.003    21702295.918    21702292.938  
+       893.351         696.115          51.718          45.417  
+ -18909775.368   -14719611.855    21198156.742    21198157.991    21198156.204  
+      1833.748        1428.896          51.197          46.112  
+  -8118128.919    -6312599.100    23422114.554    23422117.562    23422115.256  
+     -3024.313       -2356.604          46.680          41.769  
+  -2529957.221    -1925566.407    23894426.097    23894430.298    23894426.987  
+     -3161.757       -2463.704          48.417          42.464  
+  -5829172.691    -4533839.031    23773108.580    23773112.220    23773108.459  
+      1973.124        1537.503          48.244          42.290  
+ -15282810.865   -11653827.318    22126980.581    22126983.592    22126980.757  
+      2885.889        2248.749          50.849          45.070  
+ 03  8  2  0 28 18.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348225.367   -18960785.683    20451806.671    20451808.954    20451806.840  
+        19.684          15.336          52.239          47.849  
+ -14216912.064   -11049727.781    22275385.633    22275388.102    22275386.681  
+     -2023.755       -1576.948          50.154          44.722  
+ -17706792.683   -13785853.309    21702038.043    21702040.998    21702038.187  
+       892.389         695.362          51.718          45.417  
+ -18912525.358   -14721754.701    21197633.545    21197634.622    21197632.893  
+      1833.004        1428.310          51.197          46.112  
+  -8113592.159    -6309063.970    23422978.084    23422979.990    23422978.662  
+     -3024.514       -2356.777          46.680          41.769  
+  -2525214.323    -1921870.646    23895328.756    23895332.330    23895329.720  
+     -3161.943       -2463.853          48.417          42.464  
+  -5832132.432    -4536145.316    23772545.056    23772548.599    23772545.279  
+      1973.172        1537.537          48.244          42.464  
+ -15287139.182   -11657200.028    22126156.900    22126160.617    22126157.081  
+      2885.301        2248.282          50.849          45.244  
+ 03  8  2  0 28 19.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348254.257   -18960808.197    20451801.066    20451803.374    20451801.432  
+        18.909          14.735          52.239          47.849  
+ -14213876.264   -11047362.224    22275963.150    22275965.985    22275964.301  
+     -2023.940       -1577.102          50.154          44.722  
+ -17708130.570   -13786895.817    21701783.630    21701786.563    21701783.715  
+       891.574         694.735          51.718          45.591  
+ -18915274.411   -14723896.821    21197110.454    21197111.665    21197109.770  
+      1832.439        1427.870          51.197          46.112  
+  -8109055.244    -6305528.719    23423841.404    23423843.601    23423842.017  
+     -3024.612       -2356.846          46.680          41.943  
+  -2520471.356    -1918174.835    23896230.887    23896234.384    23896232.328  
+     -3161.970       -2463.875          48.244          42.290  
+  -5835092.286    -4538451.692    23771981.769    23771986.381    23771981.893  
+      1973.243        1537.578          48.244          42.290  
+ -15291466.793   -11660572.190    22125333.410    22125336.640    22125333.560  
+      2884.787        2247.878          50.849          45.244  
+ 03  8  2  0 28 21.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348281.920   -18960829.754    20451795.871    20451798.147    20451796.213  
+        18.186          14.172          52.239          47.849  
+ -14210840.134   -11044996.407    22276541.199    22276544.068    22276541.931  
+     -2024.044       -1577.176          50.154          44.722  
+ -17709467.130   -13787937.294    21701529.356    21701532.157    21701529.488  
+       890.756         694.095          51.718          45.417  
+ -18918022.492   -14726038.184    21196587.609    21196588.482    21196586.837  
+      1831.889        1427.444          51.197          46.112  
+  -8104518.098    -6301993.284    23424705.504    23424707.006    23424705.407  
+     -3024.698       -2356.887          46.680          41.769  
+  -2515728.322    -1914478.964    23897133.072    23897137.381    23897134.756  
+     -3161.865       -2463.783          48.244          42.464  
+  -5838052.250    -4540758.149    23771418.515    23771422.423    23771418.553  
+      1973.446        1537.748          48.244          42.464  
+ -15295793.660   -11663943.772    22124510.070    22124513.305    22124510.265  
+      2884.436        2247.610          50.849          45.070  
+ 03  8  2  0 28 22.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348308.203   -18960850.235    20451790.834    20451793.085    20451791.286  
+        17.013          13.254          52.239          47.849  
+ -14207803.511   -11042630.209    22277118.839    22277121.339    22277119.733  
+     -2024.618       -1577.630          50.154          44.722  
+ -17710802.211   -13788977.617    21701275.197    21701278.130    21701275.540  
+       889.510         693.120          51.718          45.417  
+ -18920769.447   -14728178.668    21196064.854    21196065.932    21196064.159  
+      1830.886        1426.656          51.197          46.112  
+  -8099980.637    -6298457.598    23425568.179    23425570.142    23425568.956  
+     -3025.233       -2357.313          46.680          41.769  
+  -2510984.992    -1910782.871    23898036.163    23898039.747    23898037.222  
+     -3162.436       -2464.250          48.244          42.464  
+  -5841012.150    -4543064.558    23770855.054    23770859.420    23770855.245  
+      1973.146        1537.506          48.244          42.638  
+ -15300119.611   -11667314.638    22123686.932    22123690.209    22123687.107  
+      2883.595        2246.946          50.849          45.244  
+ 03  8  2  0 28 24.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348333.420   -18960869.886    20451786.104    20451788.193    20451786.568  
+        16.268          12.676          52.239          47.849  
+ -14204766.703   -11040263.866    22277696.687    22277699.606    22277697.490  
+     -2024.795       -1577.763          50.154          44.722  
+ -17712136.123   -13790017.031    21701021.398    21701024.010    21701021.779  
+       888.687         692.487          51.718          45.591  
+ -18923515.575   -14730318.510    21195542.468    21195543.206    21195541.620  
+      1830.282        1426.191          51.197          46.112  
+  -8095443.133    -6294921.884    23426431.596    23426433.653    23426432.246  
+     -3025.335       -2357.416          46.680          41.769  
+  -2506241.759    -1907086.859    23898938.159    23898942.128    23898939.581  
+     -3162.386       -2464.193          48.244          42.290  
+  -5843972.297    -4545371.169    23770291.776    23770296.309    23770291.955  
+      1973.336        1537.661          48.244          42.464  
+ -15304444.985   -11670685.064    22122863.925    22122866.826    22122864.014  
+      2883.195        2246.650          50.849          45.244  
+ 03  8  2  0 28 25.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348357.218   -18960888.428    20451781.581    20451783.784    20451782.106  
+        15.390          11.981          52.239          47.849  
+ -14201729.366   -11037897.108    22278274.750    22278277.101    22278275.337  
+     -2025.001       -1577.927          50.154          44.722  
+ -17713468.527   -13791055.264    21700767.849    21700770.854    21700768.330  
+       887.792         691.778          51.718          45.417  
+ -18926260.550   -14732457.451    21195020.157    21195020.754    21195019.280  
+      1829.589        1425.644          51.197          46.112  
+  -8090905.253    -6291385.875    23427294.993    23427296.687    23427295.677  
+     -3025.225       -2357.349          46.680          41.769  
+  -2501498.222    -1903390.601    23899841.260    23899845.436    23899842.102  
+     -3162.484       -2464.276          48.244          42.290  
+  -5846932.346    -4547677.696    23769728.391    23769732.436    23769728.683  
+      1973.311        1537.625          48.244          42.464  
+ -15308769.415   -11674054.740    22122041.107    22122044.033    22122041.146  
+      2882.613        2246.176          50.849          45.244  
+ 03  8  2  0 28 27.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348379.789   -18960906.017    20451777.111    20451779.504    20451777.879  
+        14.382          11.204          52.239          47.849  
+ -14198691.687   -11035530.085    22278852.681    22278855.839    22278853.166  
+     -2025.477       -1578.293          49.981          44.722  
+ -17714799.595   -13792092.461    21700514.525    21700517.314    21700515.078  
+       886.665         690.906          51.718          45.417  
+ -18929004.549   -14734595.630    21194497.794    21194498.972    21194497.121  
+      1828.747        1424.991          51.197          46.112  
+  -8086367.152    -6287849.700    23428158.218    23428160.393    23428159.268  
+     -3025.739       -2357.720          46.680          41.769  
+  -2496754.589    -1899694.278    23900743.769    23900747.995    23900744.686  
+     -3162.685       -2464.419          48.244          42.290  
+  -5849892.454    -4549984.269    23769164.829    23769169.582    23769165.497  
+      1973.095        1537.474          48.244          42.638  
+ -15313093.103   -11677423.846    22121218.511    22121221.288    22121218.383  
+      2881.899        2245.639          50.849          45.244  
+ 03  8  2  0 28 28.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348401.201   -18960922.703    20451773.244    20451775.409    20451773.838  
+        13.918          10.839          52.239          47.849  
+ -14195653.737   -11033162.858    22279430.970    22279433.629    22279431.132  
+     -2025.356       -1578.203          49.981          44.722  
+ -17716129.410   -13793128.676    21700261.368    21700264.345    21700262.076  
+       886.141         690.491          51.718          45.417  
+ -18931747.630   -14736733.097    21193976.036    21193976.722    21193975.201  
+      1828.433        1424.756          51.197          46.112  
+  -8081828.931    -6284313.427    23429022.125    23429024.203    23429022.621  
+     -3025.510       -2357.538          46.680          41.595  
+  -2492010.956    -1895997.938    23901646.896    23901650.775    23901647.244  
+     -3162.403       -2464.210          48.070          42.290  
+  -5852852.713    -4552290.958    23768601.932    23768605.779    23768602.136  
+      1973.581        1537.848          48.244          42.638  
+ -15317416.090   -11680792.405    22120395.679    22120398.723    22120395.764  
+      2881.799        2245.555          50.849          45.244  
+ 03  8  2  0 28 30.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348421.320   -18960938.382    20451769.382    20451771.580    20451769.926  
+        12.882          10.032          52.239          47.849  
+ -14192615.388   -11030795.313    22280008.967    22280012.015    22280009.104  
+     -2025.811       -1578.563          49.981          44.722  
+ -17717457.838   -13794163.814    21700008.645    21700011.598    21700009.371  
+       885.032         689.631          51.718          45.417  
+ -18934489.673   -14738869.756    21193454.152    21193454.911    21193453.500  
+      1827.558        1424.070          51.197          46.112  
+  -8077290.450    -6280776.949    23429886.081    23429887.880    23429886.287  
+     -3025.869       -2357.827          46.680          41.595  
+  -2487267.121    -1892301.446    23902549.776    23902553.127    23902550.037  
+     -3162.730       -2464.466          48.070          42.290  
+  -5855812.977    -4554597.659    23768038.727    23768042.657    23768038.850  
+      1973.399        1537.724          48.244          42.464  
+ -15321738.263   -11684160.331    22119573.168    22119575.975    22119573.317  
+      2881.038        2244.959          50.849          45.070  
+ 03  8  2  0 28 31.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348440.230   -18960953.120    20451765.891    20451768.000    20451766.208  
+        12.333           9.619          52.239          47.849  
+ -14189576.718   -11028427.521    22280587.341    22280590.096    22280587.270  
+     -2025.758       -1578.509          49.981          44.722  
+ -17718784.957   -13795197.936    21699756.124    21699759.159    21699756.833  
+       884.421         689.169          51.718          45.417  
+ -18937230.776   -14741005.683    21192932.622    21192933.195    21192931.978  
+      1827.225        1423.821          51.197          46.112  
+  -8072751.762    -6277240.310    23430749.666    23430751.567    23430749.822  
+     -3025.749       -2357.704          46.680          41.595  
+  -2482523.229    -1888604.913    23903452.523    23903455.932    23903452.730  
+     -3162.573       -2464.341          48.070          42.290  
+  -5858773.385    -4556904.468    23767475.164    23767479.521    23767475.603  
+      1973.755        1538.003          48.244          42.464  
+ -15326059.722   -11687527.705    22118751.070    22118753.676    22118751.036  
+      2880.824        2244.808          50.849          45.070  
+ 03  8  2  0 28 33.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348457.743   -18960966.765    20451762.475    20451764.566    20451762.795  
+        11.185           8.713          52.239          47.849  
+ -14186537.554   -11026059.338    22281165.679    22281168.305    22281165.594  
+     -2026.250       -1578.896          49.981          44.722  
+ -17720110.580   -13796230.889    21699503.831    21699506.665    21699504.570  
+       883.230         688.234          51.718          45.417  
+ -18939970.727   -14743140.705    21192411.276    21192411.803    21192410.714  
+      1826.258        1423.054          51.197          46.112  
+  -8068212.781    -6273703.451    23431613.722    23431614.645    23431613.487  
+     -3026.074       -2357.992          46.680          41.595  
+  -2477779.094    -1884908.185    23904355.146    23904359.096    23904355.518  
+     -3162.779       -2464.512          48.070          42.290  
+  -5861733.721    -4559211.224    23766911.923    23766915.972    23766912.380  
+      1973.452        1537.758          48.244          42.464  
+ -15330380.248   -11690894.344    22117928.737    22117931.377    22117928.933  
+      2880.034        2244.185          51.023          45.070  
+ 03  8  2  0 28 34.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348474.238   -18960979.621    20451759.274    20451761.512    20451759.580  
+        10.734           8.365          52.239          47.849  
+ -14183498.248   -11023691.054    22281744.166    22281746.628    22281743.988  
+     -2026.145       -1578.811          49.981          44.722  
+ -17721435.087   -13797262.972    21699251.809    21699254.752    21699252.549  
+       882.747         687.854          51.718          45.417  
+ -18942709.899   -14745275.127    21191890.082    21191890.691    21191889.624  
+      1825.940        1422.807          51.197          46.112  
+  -8063673.787    -6270166.566    23432477.123    23432479.544    23432477.067  
+     -3025.909       -2357.843          46.854          41.769  
+  -2473035.053    -1881211.535    23905257.626    23905262.206    23905258.326  
+     -3162.552       -2464.333          48.070          42.290  
+  -5864694.358    -4561518.215    23766348.728    23766352.246    23766349.041  
+      1973.883        1538.097          48.244          42.464  
+ -15334700.214   -11694260.550    22117106.668    22117109.346    22117106.840  
+      2879.810        2243.999          51.023          45.070  
+ 03  8  2  0 28 36.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348489.347   -18960991.395    20451756.404    20451758.649    20451756.667  
+         9.891           7.716          52.239          47.849  
+ -14180458.449   -11021322.382    22282322.589    22282325.349    22282322.579  
+     -2026.402       -1579.007          49.981          44.722  
+ -17722758.102   -13798293.896    21698999.916    21699003.014    21699000.793  
+       881.810         687.140          51.718          45.417  
+ -18945447.942   -14747408.668    21191369.031    21191369.389    21191368.706  
+      1825.255        1422.280          51.197          46.112  
+  -8059134.417    -6266629.386    23433341.437    23433342.798    23433340.964  
+     -3026.033       -2357.939          46.854          41.769  
+  -2468290.740    -1877514.676    23906160.561    23906164.760    23906161.071  
+     -3162.682       -2464.411          48.070          42.290  
+  -5867654.925    -4563825.148    23765785.653    23765789.225    23765785.861  
+      1973.876        1538.076          48.244          42.638  
+ -15339019.289   -11697626.064    22116284.896    22116287.454    22116284.975  
+      2879.357        2243.662          51.023          45.070  
+ 03  8  2  0 28 37.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348503.113   -18961002.120    20451753.826    20451755.806    20451753.936  
+         8.904           6.933          52.239          47.849  
+ -14177418.202   -11018953.356    22282900.968    22282903.889    22282901.127  
+     -2026.814       -1579.341          49.981          44.722  
+ -17724079.688   -13799323.700    21698748.525    21698751.584    21698749.300  
+       880.769         686.307          51.718          45.417  
+ -18948184.908   -14749541.367    21190848.133    21190848.807    21190847.959  
+      1824.470        1421.662          51.197          46.112  
+  -8054594.801    -6263092.022    23434205.173    23434207.149    23434204.794  
+     -3026.327       -2358.164          46.854          41.769  
+  -2463546.243    -1873817.667    23907063.740    23907067.637    23907063.873  
+     -3162.941       -2464.623          48.070          42.290  
+  -5870615.439    -4566132.035    23765221.922    23765225.659    23765222.622  
+      1973.793        1538.007          48.244          42.464  
+ -15343337.490   -11700990.891    22115463.235    22115465.640    22115463.290  
+      2878.667        2243.107          51.023          45.070  
+ 03  8  2  0 28 39.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348515.801   -18961012.005    20451751.414    20451753.547    20451751.437  
+         8.007           6.232          52.239          47.849  
+ -14174377.770   -11016584.186    22283479.824    22283482.658    22283479.760  
+     -2027.122       -1579.577          49.981          44.722  
+ -17725400.080   -13800352.573    21698497.295    21698500.099    21698498.066  
+       879.773         685.531          51.718          45.417  
+ -18950921.044   -14751673.420    21190327.518    21190327.971    21190327.370  
+      1823.726        1421.078          51.197          46.112  
+  -8050055.074    -6259554.578    23435069.225    23435070.622    23435068.713  
+     -3026.711       -2358.464          46.854          41.769  
+  -2458801.790    -1870120.698    23907966.868    23907970.005    23907966.823  
+     -3162.999       -2464.683          48.070          42.290  
+  -5873576.180    -4568439.107    23764658.838    23764662.122    23764659.215  
+      1973.733        1537.971          48.244          42.464  
+ -15347655.091   -11704355.254    22114641.628    22114643.950    22114641.703  
+      2878.100        2242.673          51.023          45.070  
+ 03  8  2  0 28 40.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348527.085   -18961020.797    20451749.169    20451751.382    20451749.241  
+         7.504           5.845          52.239          47.849  
+ -14171336.824   -11014214.618    22284058.353    22284061.193    22284058.403  
+     -2026.982       -1579.454          49.981          44.722  
+ -17726718.983   -13801380.288    21698246.209    21698249.299    21698247.086  
+       879.237         685.116          51.718          45.417  
+ -18953656.037   -14753804.582    21189807.107    21189807.736    21189806.978  
+      1823.418        1420.847          51.197          46.112  
+  -8045515.040    -6256016.886    23435933.147    23435934.389    23435932.736  
+     -3026.346       -2358.192          46.854          41.769  
+  -2454057.099    -1866423.537    23908869.406    23908873.448    23908869.801  
+     -3162.722       -2464.459          48.070          42.464  
+  -5876536.844    -4570746.119    23764095.410    23764098.523    23764095.922  
+      1974.168        1538.316          48.244          42.464  
+ -15351971.765   -11707718.895    22113819.984    22113822.760    22113820.284  
+      2877.895        2242.517          51.023          45.070  
+ 03  8  2  0 28 42.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348537.239   -18961028.714    20451747.267    20451749.441    20451747.341  
+         6.266           4.878          52.239          47.849  
+ -14168295.647   -11011844.872    22284637.030    22284639.871    22284637.093  
+     -2027.646       -1580.001          49.981          44.722  
+ -17728036.657   -13802407.050    21697995.631    21697998.638    21697996.355  
+       877.935         684.104          51.718          45.417  
+ -18956390.139   -14755935.052    21189286.726    21189287.197    21189286.735  
+      1822.326        1419.988          51.197          46.112  
+  -8040974.874    -6252479.087    23436797.234    23436798.079    23436796.701  
+     -3026.927       -2358.653          46.854          41.769  
+  -2449312.403    -1862726.381    23909772.352    23909776.386    23909772.631  
+     -3163.203       -2464.837          48.070          42.290  
+  -5879497.718    -4573053.289    23763531.979    23763535.021    23763532.518  
+      1973.794        1538.026          48.244          42.638  
+ -15356287.777   -11711082.018    22112998.973    22113001.273    22112998.982  
+      2876.978        2241.788          51.023          45.070  
+ 03  8  2  0 28 43.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348546.060   -18961035.587    20451745.551    20451747.864    20451745.675  
+         5.494           4.286          52.239          47.849  
+ -14165254.010   -11009474.768    22285215.925    22285219.104    22285215.798  
+     -2027.869       -1580.162          49.981          44.722  
+ -17729352.894   -13803432.690    21697745.127    21697748.125    21697745.909  
+       877.082         683.443          51.718          45.417  
+ -18959123.170   -14758064.684    21188766.706    21188767.069    21188766.698  
+      1821.716        1419.515          51.197          46.112  
+  -8036434.419    -6248941.069    23437661.372    23437662.735    23437660.584  
+     -3026.891       -2358.604          46.854          41.769  
+  -2444567.485    -1859029.047    23910675.128    23910679.458    23910675.607  
+     -3163.278       -2464.891          48.070          42.117  
+  -5882458.583    -4575360.457    23762968.784    23762971.519    23762968.953  
+      1973.869        1538.084          48.244          42.464  
+ -15360602.929   -11714444.475    22112177.701    22112180.232    22112177.896  
+      2876.501        2241.434          51.023          45.070  
+ 03  8  2  0 28 45.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348553.607   -18961041.468    20451744.069    20451746.301    20451744.221  
+         4.582           3.565          52.239          47.849  
+ -14162212.026   -11007104.391    22285794.924    22285797.301    22285794.503  
+     -2028.122       -1580.366          49.981          44.722  
+ -17730667.765   -13804457.265    21697494.661    21697497.961    21697495.716  
+       876.101         682.678          51.718          45.417  
+ -18961855.177   -14760193.521    21188246.530    21188247.291    21188246.856  
+      1820.984        1418.949          51.197          45.938  
+  -8031893.740    -6245402.884    23438525.391    23438526.744    23438524.664  
+     -3027.196       -2358.868          47.028          41.769  
+  -2439822.438    -1855331.615    23911577.954    23911582.436    23911578.563  
+     -3163.491       -2465.051          48.070          42.117  
+  -5885419.480    -4577667.653    23762405.255    23762408.648    23762405.633  
+      1973.823        1538.042          48.244          42.464  
+ -15364917.278   -11717806.302    22111356.752    22111359.080    22111356.931  
+      2875.909        2240.960          51.023          45.070  
+ 03  8  2  0 28 46.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348559.989   -18961046.441    20451742.858    20451744.859    20451743.020  
+         3.462           2.687          52.239          47.849  
+ -14159169.748   -11004733.786    22286373.762    22286376.398    22286373.397  
+     -2028.695       -1580.812          49.981          44.722  
+ -17731981.366   -13805480.846    21697244.595    21697247.945    21697245.730  
+       874.888         681.720          51.718          45.417  
+ -18964586.263   -14762321.640    21187727.060    21187727.405    21187727.154  
+      1820.008        1418.178          51.197          46.112  
+  -8027352.922    -6241864.585    23439389.073    23439390.446    23439388.703  
+     -3027.696       -2359.260          47.028          41.769  
+  -2435077.381    -1851634.177    23912480.989    23912485.116    23912481.450  
+     -3163.764       -2465.283          47.896          42.117  
+  -5888380.540    -4579974.969    23761841.611    23761845.255    23761842.084  
+      1973.641        1537.889          48.244          42.638  
+ -15369230.932   -11721167.588    22110535.885    22110538.530    22110536.103  
+      2875.082        2240.308          51.023          45.070  
+ 03  8  2  0 28 48.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348565.099   -18961050.426    20451742.028    20451744.145    20451742.097  
+         3.119           2.436          52.239          47.849  
+ -14156127.097   -11002362.886    22286952.560    22286955.328    22286952.416  
+     -2028.405       -1580.574          49.981          44.722  
+ -17733293.603   -13806503.373    21696995.081    21696998.174    21696995.995  
+       874.504         681.439          51.718          45.417  
+ -18967316.332   -14764448.968    21187207.570    21187207.955    21187207.645  
+      1819.850        1418.073          51.197          46.112  
+  -8022811.879    -6238326.108    23440253.087    23440254.324    23440252.845  
+     -3027.388       -2359.022          47.028          41.595  
+  -2430332.171    -1847936.623    23913383.965    23913388.323    23913384.436  
+     -3163.419       -2465.007          47.896          42.117  
+  -5891341.623    -4582282.300    23761278.360    23761281.239    23761278.637  
+      1974.161        1538.310          48.244          42.638  
+ -15373543.794   -11724528.262    22109715.283    22109717.415    22109715.481  
+      2875.108        2240.344          51.023          45.070  
+ 03  8  2  0 28 49.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348568.884   -18961053.378    20451741.245    20451743.309    20451741.450  
+         2.005           1.556          52.239          47.849  
+ -14153084.019   -10999991.655    22287531.401    22287534.602    22287531.574  
+     -2028.934       -1581.002          49.981          44.722  
+ -17734604.409   -13807524.778    21696745.605    21696748.914    21696746.454  
+       873.314         680.500          51.718          45.591  
+ -18970045.332   -14766575.461    21186687.873    21186688.732    21186688.312  
+      1818.886        1417.301          51.197          46.112  
+  -8018270.564    -6234787.416    23441117.332    23441119.148    23441117.199  
+     -3027.767       -2359.317          47.028          41.595  
+  -2425586.785    -1844238.915    23914287.110    23914290.655    23914287.524  
+     -3163.797       -2465.304          47.896          42.117  
+  -5894302.695    -4584589.635    23760714.860    23760717.467    23760715.135  
+      1973.902        1538.100          48.244          42.638  
+ -15377855.819   -11727888.280    22108894.806    22108897.110    22108895.008  
+      2874.280        2239.692          51.023          45.070  
+ 03  8  2  0 28 51.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348571.486   -18961055.405    20451740.678    20451742.859    20451740.981  
+         1.047           0.816          52.239          47.849  
+ -14150040.654   -10997620.204    22288110.681    22288113.614    22288110.815  
+     -2029.275       -1581.248          49.981          44.722  
+ -17735913.941   -13808545.191    21696496.619    21696499.813    21696497.169  
+       872.318         679.731          51.718          45.417  
+ -18972773.393   -14768701.223    21186168.940    21186169.557    21186169.169  
+      1818.116        1416.713          51.197          46.112  
+  -8013729.089    -6231248.613    23441981.740    23441983.161    23441981.466  
+     -3028.057       -2359.520          47.028          41.769  
+  -2420841.367    -1840541.195    23915189.964    23915193.405    23915190.732  
+     -3163.920       -2465.381          47.896          42.117  
+  -5897263.915    -4586897.077    23760151.303    23760154.778    23760151.675  
+      1973.905        1538.107          48.244          42.638  
+ -15382167.120   -11731247.732    22108074.279    22108076.577    22108074.615  
+      2873.639        2239.202          51.023          45.070  
+ 03  8  2  0 28 52.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348572.729   -18961056.373    20451740.488    20451742.667    20451740.796  
+         0.275           0.206          52.239          47.849  
+ -14146996.814   -10995248.380    22288689.850    22288692.771    22288690.121  
+     -2029.455       -1581.396          49.981          44.722  
+ -17737222.007   -13809564.462    21696247.582    21696250.863    21696248.190  
+       871.466         679.062          51.718          45.591  
+ -18975500.339   -14770826.114    21185649.841    21185650.641    21185650.217  
+      1817.509        1416.232          51.197          46.112  
+  -8009187.316    -6227709.569    23442845.760    23442847.414    23442845.841  
+     -3028.111       -2359.558          47.028          41.769  
+  -2416095.725    -1836843.286    23916093.167    23916096.653    23916093.817  
+     -3163.942       -2465.414          47.896          42.117  
+  -5900225.134    -4589204.514    23759587.309    23759591.411    23759588.144  
+      1973.957        1538.143          48.244          42.638  
+ -15386477.539   -11734606.497    22107253.962    22107256.490    22107254.367  
+      2873.201        2238.851          51.023          45.070  
+ 03  8  2  0 28 54.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348572.834   -18961056.458    20451740.548    20451742.647    20451740.781  
+        -0.497          -0.387          52.239          47.849  
+ -14143952.736   -10992876.374    22289269.055    22289272.283    22289269.457  
+     -2029.680       -1581.571          49.981          44.722  
+ -17738528.837   -13810582.770    21695998.941    21696001.705    21695999.414  
+       870.599         678.380          51.718          45.417  
+ -18978226.396   -14772950.313    21185131.166    21185131.901    21185131.452  
+      1816.885        1415.749          51.197          46.112  
+  -8004645.441    -6224170.442    23443710.215    23443711.334    23443710.334  
+     -3028.184       -2359.611          47.028          41.769  
+  -2411350.076    -1833145.381    23916996.104    23916999.273    23916996.980  
+     -3163.971       -2465.457          47.896          41.943  
+  -5903186.510    -4591512.077    23759023.918    23759026.942    23759024.552  
+      1974.080        1538.234          48.244          42.464  
+ -15390787.283   -11737964.738    22106433.984    22106436.275    22106434.211  
+      2872.708        2238.471          51.023          45.070  
+ 03  8  2  0 28 55.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927236
+ -24348571.734   -18961055.602    20451740.619    20451742.829    20451741.013  
+        -0.889          -0.681          52.239          47.849  
+ -14140908.347   -10990504.127    22289848.513    22289851.480    22289848.861  
+     -2029.480       -1581.404          49.981          44.722  
+ -17739834.354   -13811600.056    21695750.406    21695753.643    21695750.931  
+       870.149         678.047          51.718          45.417  
+ -18980951.488   -14775073.761    21184612.543    21184613.357    21184612.829  
+      1816.630        1415.563          51.197          46.112  
+  -8000103.388    -6220631.169    23444574.732    23444575.663    23444574.896  
+     -3027.857       -2359.371          47.028          41.769  
+  -2406604.340    -1829447.416    23917898.677    23917902.755    23917899.903  
+     -3163.643       -2465.163          47.896          41.943  
+  -5906148.016    -4593819.751    23758460.446    23758464.449    23758460.807  
+      1974.567        1538.630          48.244          42.638  
+ -15395096.308   -11741322.422    22105613.893    22105616.163    22105614.226  
+      2872.633        2238.424          51.023          45.070  
+ 03  8  2  0 28 57.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24348569.217   -18961053.641    20451741.109    20451743.300    20451741.510  
+        -2.137          -1.663          52.239          47.849  
+ -14137863.459   -10988131.486    22290427.709    22290431.044    22290428.186  
+     -2030.134       -1581.918          49.981          44.722  
+ -17741138.372   -13812616.173    21695502.275    21695505.271    21695502.703  
+       868.817         677.002          51.718          45.417  
+ -18983675.420   -14777196.309    21184094.177    21184094.863    21184094.471  
+      1815.558        1414.722          51.197          46.112  
+  -7995560.969    -6217091.626    23445439.002    23445440.183    23445439.505  
+     -3028.580       -2359.945          47.201          41.769  
+  -2401858.373    -1825749.271    23918802.419    23918805.873    23918802.910  
+     -3164.036       -2465.474          47.896          41.769  
+  -5909109.437    -4596127.347    23757896.868    23757900.676    23757897.277  
+      1974.241        1538.368          48.244          42.638  
+ -15399404.385   -11744679.365    22104794.013    22104796.192    22104794.441  
+      2871.733        2237.711          51.023          44.896  
+ 03  8  2  0 28 58.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24348565.613   -18961050.835    20451741.896    20451743.944    20451742.210  
+        -2.423          -1.880          52.239          47.849  
+ -14134818.347   -10985758.676    22291007.292    22291010.479    22291007.590  
+     -2029.799       -1581.656          49.981          44.722  
+ -17742441.201   -13813631.362    21695254.272    21695257.710    21695254.781  
+       868.489         676.750          51.718          45.417  
+ -18986398.509   -14779318.197    21183576.103    21183576.504    21183576.223  
+      1815.457        1414.650          51.197          46.112  
+  -7991018.547    -6213552.083    23446303.532    23446304.467    23446304.119  
+     -3027.912       -2359.410          47.201          41.769  
+  -2397112.435    -1822051.142    23919705.012    23919708.739    23919705.952  
+     -3163.555       -2465.082          47.896          41.769  
+  -5912071.052    -4598435.093    23757333.120    23757336.756    23757333.623  
+      1974.719        1538.744          48.244          42.638  
+ -15403711.841   -11748035.822    22103974.272    22103976.636    22103974.759  
+      2871.740        2237.735          51.023          44.896  
+ 03  8  2  0 29  0.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24348560.577   -18961046.912    20451742.725    20451744.824    20451743.208  
+        -3.574          -2.779          52.239          47.849  
+ -14131772.721   -10983385.466    22291586.923    22291590.401    22291587.097  
+     -2030.335       -1582.067          49.981          44.722  
+ -17743742.489   -13814645.354    21695006.714    21695009.941    21695007.097  
+       867.257         675.787          51.718          45.417  
+ -18989120.413   -14781439.160    21183057.928    21183058.739    21183058.132  
+      1814.468        1413.873          51.197          46.112  
+  -7986475.663    -6210012.170    23447168.301    23447169.387    23447168.604  
+     -3028.439       -2359.834          47.201          41.595  
+  -2392366.219    -1818352.789    23920608.640    23920612.035    23920609.180  
+     -3163.973       -2465.454          47.896          41.769  
+  -5915032.571    -4600742.770    23756769.502    23756773.132    23756770.119  
+      1974.410        1538.501          48.244          42.638  
+ -15408018.352   -11751391.544    22103154.847    22103157.012    22103155.257  
+      2870.889        2237.066          51.023          45.070  
+ 03  8  2  0 29  1.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24348554.427   -18961042.117    20451743.721    20451746.196    20451744.390  
+        -4.417          -3.442          52.239          47.849  
+ -14128726.876   -10981012.079    22292166.444    22292169.375    22292166.691  
+     -2030.615       -1582.292          49.981          44.722  
+ -17745042.563   -13815658.397    21694759.379    21694762.414    21694759.633  
+       866.363         675.089          51.718          45.417  
+ -18991841.460   -14783559.454    21182540.211    21182540.961    21182540.228  
+      1813.804        1413.352          51.197          46.112  
+  -7981932.749    -6206472.243    23448032.444    23448033.847    23448033.080  
+     -3028.575       -2359.914          47.201          41.769  
+  -2387620.020    -1814654.452    23921512.054    23921515.282    23921512.418  
+     -3164.073       -2465.508          47.896          41.769  
+  -5917994.275    -4603050.589    23756206.140    23756209.849    23756206.401  
+      1974.561        1538.617          48.244          42.638  
+ -15412324.207   -11754746.751    22102335.490    22102337.857    22102335.821  
+      2870.404        2236.682          51.023          45.070  
+ 03  8  2  0 29  3.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24348546.928   -18961036.276    20451745.151    20451747.508    20451745.814  
+        -5.771          -4.504          52.239          47.849  
+ -14125680.573   -10978638.336    22292746.062    22292749.084    22292746.430  
+     -2031.333       -1582.863          49.981          44.722  
+ -17746341.184   -13816670.310    21694512.363    21694515.542    21694512.521  
+       864.929         673.965          51.718          45.417  
+ -18994561.406   -14785678.891    21182022.682    21182023.471    21182022.562  
+      1812.632        1412.431          51.197          46.112  
+  -7977389.523    -6202932.057    23448897.022    23448898.514    23448897.639  
+     -3029.273       -2360.474          47.201          41.769  
+  -2382873.613    -1810955.959    23922415.472    23922418.266    23922415.627  
+     -3164.740       -2466.044          47.896          41.769  
+  -5920955.961    -4605358.392    23755642.915    23755645.587    23755642.804  
+      1974.116        1538.268          48.244          42.638  
+ -15416629.176   -11758101.274    22101516.161    22101518.344    22101516.605  
+      2869.363        2235.852          51.023          45.070  
+ 03  8  2  0 29  4.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24348538.250   -18961029.513    20451746.884    20451749.147    20451747.426  
+        -6.318          -4.928          52.239          47.849  
+ -14122634.007   -10976264.387    22293326.087    22293328.997    22293326.276  
+     -2031.265       -1582.808          49.981          44.722  
+ -17747638.531   -13817681.225    21694265.399    21694268.419    21694265.696  
+       864.332         673.506          51.718          45.417  
+ -18997280.422   -14787797.604    21181505.261    21181506.055    21181505.132  
+      1812.240        1412.131          51.197          46.112  
+  -7972846.170    -6199391.785    23449761.716    23449762.766    23449762.185  
+     -3029.038       -2360.291          47.201          41.769  
+  -2378127.184    -1807257.446    23923318.332    23923321.751    23923318.876  
+     -3164.423       -2465.788          47.896          41.769  
+  -5923917.743    -4607666.274    23755079.349    23755082.283    23755079.301  
+      1974.389        1538.493          48.244          42.638  
+ -15420933.429   -11761455.235    22100697.080    22100699.486    22100697.525  
+      2869.140        2235.698          51.023          45.070  
+ 03  8  2  0 29  6.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24348528.339   -18961021.795    20451748.583    20451751.056    20451749.268  
+        -7.008          -5.462          52.239          47.849  
+ -14119587.095   -10973890.174    22293905.779    22293908.711    22293906.217  
+     -2031.416       -1582.917          49.981          44.722  
+ -17748934.539   -13818691.106    21694018.627    21694021.980    21694019.057  
+       863.573         672.909          51.718          45.417  
+ -18999998.449   -14789915.550    21180987.939    21180988.840    21180987.841  
+      1811.678        1411.696          51.197          46.112  
+  -7968302.620    -6195851.367    23450626.369    23450626.783    23450626.802  
+     -3029.080       -2360.329          47.201          41.769  
+  -2373380.666    -1803558.867    23924221.667    23924224.615    23924221.953  
+     -3164.381       -2465.743          47.896          41.595  
+  -5926879.558    -4609974.184    23754515.729    23754519.178    23754515.776  
+      1974.465        1538.547          48.244          42.638  
+ -15425236.920   -11764808.608    22099878.109    22099880.638    22099878.571  
+      2868.718        2235.367          51.023          45.070  
+ 03  8  2  0 29  7.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24348517.085   -18961013.021    20451750.673    20451753.145    20451751.281  
+        -8.093          -6.313          52.239          47.849  
+ -14116539.743   -10971515.609    22294485.634    22294488.714    22294486.156  
+     -2031.875       -1583.289          49.981          44.722  
+ -17750229.106   -13819699.857    21693772.535    21693775.316    21693772.756  
+       862.407         671.998          51.718          45.417  
+ -19002715.394   -14792032.649    21180471.042    21180471.621    21180470.812  
+      1810.775        1410.989          51.197          46.112  
+  -7963758.769    -6192310.695    23451491.112    23451492.104    23451491.465  
+     -3029.489       -2360.651          47.201          41.769  
+  -2368633.934    -1799860.118    23925125.350    23925127.494    23925125.238  
+     -3164.680       -2465.999          47.896          41.595  
+  -5929841.413    -4612282.120    23753952.310    23753954.924    23753952.295  
+      1974.316        1538.422          48.244          42.638  
+ -15429539.549   -11768161.297    22099059.366    22099061.797    22099059.845  
+      2867.932        2234.752          51.197          45.070  
+ 03  8  2  0 29  9.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927237
+ -24348504.563   -18961003.266    20451753.091    20451755.588    20451753.526  
+        -9.023          -7.036          52.239          47.849  
+ -14113492.029   -10969140.768    22295065.722    22295068.772    22295066.148  
+     -2032.202       -1583.540          49.981          44.722  
+ -17751522.309   -13820707.550    21693526.399    21693529.355    21693526.724  
+       861.419         671.234          51.718          45.417  
+ -19005431.307   -14794148.943    21179954.117    21179954.985    21179953.948  
+      1810.017        1410.399          51.197          46.112  
+  -7959214.716    -6188769.876    23452355.150    23452356.485    23452356.130  
+     -3029.685       -2360.780          47.201          41.769  
+  -2363887.088    -1796161.286    23926028.950    23926030.834    23926028.722  
+     -3164.896       -2466.164          47.896          41.769  
+  -5932803.356    -4614590.128    23753388.545    23753391.147    23753388.857  
+      1974.287        1538.406          48.244          42.638  
+ -15433841.379   -11771513.369    22098240.796    22098243.350    22098241.281  
+      2867.323        2234.271          51.197          45.070  
+ 03  8  2  0 29 10.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24348490.879   -18960992.604    20451755.644    20451758.191    20451756.000  
+        -9.247          -7.207          52.239          47.849  
+ -14110444.036   -10966765.713    22295645.833    22295648.474    22295646.136  
+     -2031.821       -1583.229          49.981          44.722  
+ -17752814.231   -13821714.239    21693280.530    21693283.531    21693280.900  
+       861.115         671.000          51.718          45.591  
+ -19008146.293   -14796264.517    21179437.449    21179438.451    21179437.186  
+      1809.943        1410.349          51.197          46.112  
+  -7954670.512    -6185228.944    23453219.973    23453220.790    23453220.998  
+     -3029.276       -2360.472          47.375          41.769  
+  -2359140.238    -1792462.436    23926932.408    23926934.388    23926932.219  
+     -3164.322       -2465.700          47.896          41.595  
+  -5935765.460    -4616898.261    23752825.211    23752827.357    23752825.349  
+      1974.968        1538.931          48.244          42.464  
+ -15438142.518   -11774864.906    22097422.210    22097424.732    22097422.830  
+      2867.435        2234.370          51.197          45.070  
+ 03  8  2  0 29 12.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24348475.799   -18960980.854    20451758.611    20451760.946    20451758.753  
+       -10.573          -8.242          52.239          47.849  
+ -14107395.548   -10964390.269    22296225.772    22296229.068    22296226.306  
+     -2032.567       -1583.820          49.981          44.722  
+ -17754104.674   -13822719.779    21693035.022    21693038.241    21693035.322  
+       859.733         669.912          51.718          45.417  
+ -19010860.144   -14798379.204    21178921.035    21178921.919    21178920.659  
+      1808.814        1409.464          51.197          46.112  
+  -7950125.994    -6181687.753    23454084.326    23454085.612    23454085.683  
+     -3029.901       -2360.970          47.375          41.769  
+  -2354393.133    -1788763.387    23927835.410    23927838.024    23927835.658  
+     -3164.896       -2466.170          47.896          41.769  
+  -5938727.512    -4619206.339    23752261.665    23752264.201    23752261.823  
+      1974.555        1538.586          48.244          42.464  
+ -15442442.709   -11778215.698    22096603.922    22096606.564    22096604.479  
+      2866.377        2233.537          51.197          45.070  
+ 03  8  2  0 29 13.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24348459.668   -18960968.288    20451761.735    20451764.101    20451761.746  
+       -11.144          -8.680          52.239          47.849  
+ -14104346.917   -10962014.712    22296806.054    22296809.287    22296806.578  
+     -2032.483       -1583.749          49.981          44.722  
+ -17755393.949   -13823724.407    21692789.700    21692792.640    21692789.978  
+       859.106         669.438          51.718          45.417  
+ -19013573.190   -14800493.265    21178404.883    21178405.514    21178404.352  
+      1808.392        1409.136          51.197          46.112  
+  -7945581.453    -6178146.558    23454949.365    23454951.066    23454950.387  
+     -3029.741       -2360.839          47.375          41.422  
+  -2349646.120    -1785064.417    23928738.196    23928741.438    23928739.065  
+     -3164.697       -2465.992          47.896          41.769  
+  -5941689.821    -4621514.635    23751697.825    23751700.349    23751698.332  
+      1974.831        1538.826          48.244          42.638  
+ -15446742.350   -11781566.069    22095785.831    22095788.205    22095786.274  
+      2866.137        2233.358          51.197          45.070  
+ 03  8  2  0 29 15.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24348442.179   -18960954.662    20451764.868    20451767.448    20451765.001  
+       -11.685          -9.101          52.239          47.849  
+ -14101297.831   -10959638.805    22297386.243    22297389.307    22297386.955  
+     -2032.453       -1583.721          49.981          44.722  
+ -17756681.781   -13824727.916    21692544.480    21692547.652    21692544.882  
+       858.517         668.973          51.718          45.591  
+ -19016285.122   -14802606.460    21177888.725    21177889.609    21177888.234  
+      1808.010        1408.844          51.197          46.112  
+  -7941036.616    -6174605.131    23455814.309    23455816.048    23455815.042  
+     -3029.540       -2360.664          47.375          41.595  
+  -2344898.897    -1781365.298    23929640.847    23929644.670    23929642.362  
+     -3164.434       -2465.803          47.896          41.769  
+  -5944652.066    -4623822.882    23751133.858    23751136.531    23751134.623  
+      1975.128        1539.071          48.417          42.638  
+ -15451041.095   -11784915.742    22094967.781    22094970.173    22094968.221  
+      2865.929        2233.194          51.197          45.070  
+ 03  8  2  0 29 16.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24348423.373   -18960940.008    20451768.515    20451771.171    20451768.513  
+       -13.191         -10.274          52.239          47.849  
+ -14098248.321   -10957262.564    22297966.459    22297969.356    22297967.374  
+     -2033.346       -1584.422          49.981          44.896  
+ -17757968.186   -13825730.308    21692299.882    21692302.852    21692300.063  
+       856.897         667.716          51.718          45.417  
+ -19018995.984   -14804718.820    21177372.897    21177373.677    21177372.311  
+      1806.675        1407.794          51.197          46.112  
+  -7936491.487    -6171063.474    23456678.812    23456680.714    23456679.819  
+     -3030.361       -2361.316          47.375          41.769  
+  -2340151.499    -1777666.032    23930544.434    23930548.674    23930545.769  
+     -3165.134       -2466.337          47.896          41.595  
+  -5947614.305    -4626131.119    23750570.409    23750573.207    23750570.954  
+      1974.567        1538.618          48.417          42.638  
+ -15455338.991   -11788264.747    22094149.913    22094152.417    22094150.329  
+      2864.726        2232.247          51.197          45.070  
+ 03  8  2  0 29 18.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24348403.256   -18960924.333    20451772.386    20451774.919    20451772.302  
+       -14.104         -10.997          52.239          47.849  
+ -14095198.407   -10954886.006    22298547.044    22298549.869    22298547.860  
+     -2033.620       -1584.641          49.981          44.722  
+ -17759253.185   -13826731.604    21692055.250    21692058.255    21692055.503  
+       855.957         666.969          51.718          45.417  
+ -19021705.787   -14806830.352    21176857.309    21176857.993    21176856.596  
+      1805.936        1407.212          51.197          46.112  
+  -7931946.101    -6167521.618    23457543.795    23457545.241    23457544.573  
+     -3030.634       -2361.534          47.375          41.595  
+  -2335403.926    -1773966.633    23931448.189    23931452.092    23931449.038  
+     -3165.275       -2466.446          47.896          41.769  
+  -5950576.541    -4628439.349    23750006.293    23750009.809    23750007.277  
+      1974.486        1538.552          48.417          42.638  
+ -15459636.038   -11791613.092    22093332.146    22093334.653    22093332.550  
+      2864.114        2231.774          51.197          45.070  
+ 03  8  2  0 29 19.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927238
+ -24348382.136   -18960907.878    20451776.443    20451778.819    20451776.356  
+       -14.578         -11.351          52.239          47.849  
+ -14092148.374   -10952509.359    22299127.519    22299130.254    22299128.402  
+     -2033.511       -1584.546          49.981          44.722  
+ -17760537.076   -13827732.041    21691810.977    21691813.904    21691811.165  
+       855.400         666.552          51.718          45.417  
+ -19024414.839   -14808941.304    21176341.752    21176342.660    21176341.089  
+      1805.633        1406.991          51.197          46.112  
+  -7927400.755    -6163979.790    23458409.074    23458410.704    23458409.275  
+     -3030.366       -2361.313          47.375          41.595  
+  -2330656.486    -1770267.332    23932351.698    23932355.538    23932352.376  
+     -3165.085       -2466.295          47.896          41.769  
+  -5953539.121    -4630747.851    23749442.696    23749445.750    23749443.465  
+      1974.906        1538.881          48.417          42.638  
+ -15463932.554   -11794961.028    22092514.665    22092517.189    22092514.959  
+      2864.027        2231.713          51.197          45.070  
+ 03  8  2  0 29 21.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24348359.511   -18960890.250    20451780.774    20451783.124    20451780.755  
+       -15.724         -12.255          52.239          47.849  
+ -14089097.747   -10950132.249    22299707.945    22299710.747    22299709.072  
+     -2034.049       -1584.967          49.807          44.722  
+ -17761819.355   -13828731.217    21691566.975    21691569.955    21691567.141  
+       854.188         665.594          51.718          45.591  
+ -19027122.627   -14811051.267    21175826.510    21175827.591    21175825.789  
+      1804.646        1406.213          51.197          46.286  
+  -7922854.975    -6160437.629    23459274.230    23459275.284    23459273.990  
+     -3030.806       -2361.669          47.375          41.595  
+  -2325908.718    -1766567.778    23933255.053    23933258.916    23933255.784  
+     -3165.452       -2466.594          47.896          41.595  
+  -5956501.486    -4633056.187    23748878.930    23748880.938    23748879.659  
+      1974.616        1538.639          48.417          42.638  
+ -15468228.014   -11798308.139    22091697.408    22091699.900    22091697.533  
+      2863.085        2230.971          51.197          45.070  
+ 03  8  2  0 29 22.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24348335.828   -18960871.796    20451785.267    20451787.676    20451785.278  
+       -16.628         -12.965          52.239          47.849  
+ -14086046.957   -10947755.012    22300288.668    22300291.588    22300289.746  
+     -2034.381       -1585.238          49.981          44.722  
+ -17763100.482   -13829729.501    21691323.206    21691325.846    21691323.346  
+       853.227         664.847          51.718          45.417  
+ -19029829.605   -14813160.602    21175311.544    21175312.222    21175310.624  
+      1803.905        1405.633          51.197          46.286  
+  -7918309.142    -6156895.422    23460139.514    23460141.184    23460138.756  
+     -3031.057       -2361.856          47.375          41.595  
+  -2321161.028    -1762868.284    23934158.494    23934162.433    23934159.336  
+     -3165.587       -2466.694          47.896          41.595  
+  -5959464.122    -4635364.732    23748315.235    23748318.013    23748315.744  
+      1974.679        1538.698          48.417          42.638  
+ -15472522.894   -11801654.797    22090880.050    22090882.444    22090880.187  
+      2862.567        2230.567          51.197          45.070  
+ 03  8  2  0 29 24.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24348310.834   -18960852.319    20451790.126    20451792.515    20451790.084  
+       -16.900         -13.167          52.239          47.849  
+ -14082995.757   -10945377.452    22300869.165    22300872.123    22300870.469  
+     -2034.055       -1584.979          49.981          44.722  
+ -17764380.190   -13830726.672    21691079.723    21691082.476    21691079.808  
+       852.867         664.571          51.718          45.417  
+ -19032535.514   -14815269.101    21174796.635    21174797.438    21174795.739  
+      1803.796        1405.557          51.370          46.286  
+  -7913763.083    -6153353.038    23461004.376    23461005.650    23461003.724  
+     -3030.533       -2361.454          47.375          41.769  
+  -2316413.203    -1759168.676    23935061.814    23935065.406    23935062.832  
+     -3165.021       -2466.251          47.896          41.769  
+  -5962426.766    -4637673.287    23747751.065    23747754.716    23747751.900  
+      1975.170        1539.094          48.417          42.638  
+ -15476816.930   -11805000.794    22090062.925    22090065.080    22090063.097  
+      2862.582        2230.580          51.197          45.070  
+ 03  8  2  0 29 25.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24348284.592   -18960831.876    20451795.201    20451797.452    20451795.176  
+       -17.668         -13.759          52.239          47.849  
+ -14079944.225   -10942999.640    22301449.786    22301452.758    22301451.144  
+     -2034.222       -1585.101          49.981          44.722  
+ -17765658.546   -13831722.797    21690836.387    21690839.145    21690836.555  
+       852.001         663.903          51.718          45.417  
+ -19035240.426   -14817376.827    21174281.908    21174282.859    21174281.038  
+      1803.194        1405.090          51.370          46.112  
+  -7909216.789    -6149810.475    23461869.047    23461871.290    23461868.755  
+     -3030.731       -2361.588          47.375          41.769  
+  -2311665.267    -1755468.995    23935965.362    23935968.855    23935966.194  
+     -3165.094       -2466.294          47.896          41.769  
+  -5965389.500    -4639981.904    23747187.141    23747190.940    23747188.065  
+      1975.285        1539.180          48.417          42.638  
+ -15481110.176   -11808346.177    22089245.952    22089248.548    22089246.182  
+      2862.115        2230.213          51.197          45.070  
+ 03  8  2  0 29 27.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24348257.028   -18960810.399    20451800.472    20451802.765    20451800.469  
+       -18.747         -14.606          52.239          47.849  
+ -14076892.262   -10940621.487    22302030.585    22302033.124    22302031.925  
+     -2034.685       -1585.466          49.981          44.722  
+ -17766935.486   -13832717.817    21690593.520    21690596.118    21690593.552  
+       850.891         663.038          51.718          45.417  
+ -19037944.262   -14819483.710    21173767.394    21173768.133    21173766.584  
+      1802.273        1404.371          51.370          46.112  
+  -7904670.251    -6146267.717    23462734.546    23462736.513    23462733.940  
+     -3031.088       -2361.892          47.375          41.769  
+  -2306917.131    -1751769.160    23936868.757    23936872.184    23936869.539  
+     -3165.500       -2466.617          47.896          41.769  
+  -5968352.255    -4642290.540    23746623.259    23746626.905    23746624.059  
+      1975.129        1539.056          48.417          42.464  
+ -15485402.589   -11811690.913    22088429.180    22088431.634    22088429.438  
+      2861.362        2229.638          51.197          45.070  
+ 03  8  2  0 29 28.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24348228.151   -18960787.895    20451805.665    20451808.066    20451806.019  
+       -19.739         -15.394          52.239          47.849  
+ -14073839.897   -10938243.019    22302611.704    22302614.122    22302612.825  
+     -2035.053       -1585.771          49.981          44.722  
+ -17768211.001   -13833711.720    21690350.813    21690353.482    21690350.774  
+       849.835         662.205          51.718          45.417  
+ -19040647.025   -14821589.754    21173253.300    21173253.842    21173252.329  
+      1801.439        1403.703          51.370          46.286  
+  -7900123.428    -6142724.739    23463599.854    23463601.566    23463599.068  
+     -3031.366       -2362.115          47.375          41.595  
+  -2302168.871    -1748069.221    23937772.483    23937776.479    23937772.984  
+     -3165.667       -2466.749          47.896          41.769  
+  -5971315.029    -4644599.190    23746059.420    23746062.910    23746060.198  
+      1975.084        1539.008          48.417          42.638  
+ -15489694.144   -11815034.982    22087612.578    22087614.934    22087612.805  
+      2860.731        2229.127          51.197          45.070  
+ 03  8  2  0 29 30.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24348198.090   -18960764.474    20451811.525    20451813.796    20451811.796  
+       -20.920         -16.299          52.239          47.849  
+ -14070787.256   -10935864.334    22303192.461    22303195.167    22303193.830  
+     -2035.616       -1586.198          49.981          44.722  
+ -17769485.238   -13834704.634    21690108.167    21690111.023    21690108.234  
+       848.563         661.224          51.718          45.417  
+ -19043348.845   -14823695.070    21172738.909    21172739.767    21172738.243  
+      1800.418        1402.918          51.370          46.286  
+  -7895576.472    -6139181.666    23464464.779    23464466.795    23464464.297  
+     -3031.821       -2362.448          47.375          41.595  
+  -2297420.588    -1744369.267    23938676.253    23938680.685    23938676.538  
+     -3166.017       -2467.030          47.896          41.769  
+  -5974277.907    -4646907.923    23745495.445    23745499.381    23745496.307  
+      1974.682        1538.699          48.417          42.638  
+ -15493984.976   -11818378.484    22086795.921    22086798.498    22086796.351  
+      2859.789        2228.401          51.197          45.070  
+ 03  8  2  0 29 31.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24348166.824   -18960740.111    20451817.448    20451819.755    20451817.766  
+       -21.011         -16.371          52.239          47.849  
+ -14067734.303   -10933485.414    22303773.339    22303776.224    22303774.824  
+     -2035.153       -1585.823          49.981          44.722  
+ -17770758.170   -13835696.530    21689865.984    21689868.688    21689865.956  
+       848.443         661.128          51.718          45.417  
+ -19046049.712   -14825799.644    21172225.052    21172225.728    21172224.372  
+      1800.482        1402.981          51.370          46.286  
+  -7891029.369    -6135638.473    23465330.314    23465331.944    23465329.650  
+     -3031.179       -2361.961          47.375          41.595  
+  -2292672.225    -1740669.245    23939579.961    23939583.887    23939580.089  
+     -3165.363       -2466.516          47.896          41.769  
+  -5977240.907    -4649216.759    23744931.858    23744935.677    23744932.295  
+      1975.609        1539.441          48.417          42.812  
+ -15498275.067   -11821721.409    22085979.543    22085981.666    22085980.050  
+      2860.006        2228.575          51.197          45.070  
+ 03  8  2  0 29 33.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24348134.272   -18960714.745    20451823.775    20451826.016    20451823.994  
+       -22.307         -17.386          52.239          47.849  
+ -14064680.981   -10931106.196    22304354.347    22304356.551    22304355.732  
+     -2035.801       -1586.352          49.981          44.722  
+ -17772029.705   -13836687.336    21689624.101    21689627.016    21689623.967  
+       847.033         660.019          51.718          45.417  
+ -19048749.543   -14827903.410    21171711.247    21171712.117    21171710.666  
+      1799.359        1402.093          51.370          46.286  
+  -7886482.037    -6132095.099    23466195.863    23466198.086    23466195.128  
+     -3031.782       -2362.429          47.375          41.595  
+  -2287923.739    -1736969.132    23940483.850    23940486.697    23940483.841  
+     -3165.892       -2466.949          47.896          41.769  
+  -5980203.933    -4651525.606    23744367.979    23744371.715    23744368.454  
+      1975.120        1539.056          48.417          42.638  
+ -15502564.344   -11825063.703    22085163.370    22085166.082    22085163.916  
+      2859.062        2227.833          51.197          45.070  
+ 03  8  2  0 29 34.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24348100.443   -18960688.385    20451830.192    20451832.392    20451830.457  
+       -22.728         -17.704          52.239          47.676  
+ -14061627.262   -10928726.680    22304935.510    22304938.349    22304936.779  
+     -2035.724       -1586.271          49.981          44.722  
+ -17773299.866   -13837677.069    21689382.288    21689385.221    21689382.219  
+       846.517         659.624          51.718          45.417  
+ -19051448.333   -14830006.364    21171197.810    21171198.295    21171197.241  
+      1799.058        1401.871          51.370          46.112  
+  -7881934.474    -6128551.547    23467061.229    23467063.055    23467060.649  
+     -3031.600       -2362.276          47.375          41.769  
+  -2283175.120    -1733268.903    23941387.619    23941390.740    23941387.654  
+     -3165.555       -2466.667          47.896          41.769  
+  -5983166.996    -4653834.485    23743804.129    23743808.146    23743804.486  
+      1975.508        1539.355          48.417          42.638  
+ -15506852.787   -11828405.341    22084347.458    22084349.760    22084347.910  
+      2858.868        2227.694          51.197          45.070  
+ 03  8  2  0 29 36.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24348065.317   -18960661.014    20451836.882    20451839.049    20451837.191  
+       -24.166         -18.838          52.239          47.849  
+ -14058573.178   -10926346.872    22305516.624    22305519.117    22305517.826  
+     -2036.536       -1586.918          49.981          44.722  
+ -17774568.629   -13838665.715    21689141.013    21689143.608    21689140.808  
+       845.035         658.465          51.718          45.417  
+ -19054146.087   -14832108.506    21170684.485    21170685.078    21170683.958  
+      1797.827        1400.889          51.370          46.286  
+  -7877386.641    -6125007.780    23467926.705    23467928.064    23467926.278  
+     -3032.303       -2362.841          47.375          41.595  
+  -2278426.361    -1729568.568    23942291.124    23942294.366    23942291.453  
+     -3166.303       -2467.255          47.896          41.769  
+  -5986130.079    -4656143.376    23743240.792    23743244.492    23743240.675  
+      1975.006        1538.959          48.417          42.812  
+ -15511140.421   -11831746.355    22083531.447    22083534.120    22083532.022  
+      2857.780        2226.836          51.197          45.070  
+ 03  8  2  0 29 37.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24348029.102   -18960632.798    20451843.844    20451845.925    20451844.146  
+       -24.718         -19.258          52.239          47.676  
+ -14055518.907   -10923966.926    22306097.981    22306100.564    22306099.043  
+     -2036.468       -1586.847          49.981          44.722  
+ -17775836.202   -13839653.437    21688899.894    21688902.175    21688899.649  
+       844.420         657.990          51.718          45.417  
+ -19056842.995   -14834209.995    21170171.274    21170171.899    21170170.840  
+      1797.453        1400.622          51.370          46.286  
+  -7872838.810    -6121464.028    23468792.390    23468793.683    23468792.016  
+     -3032.153       -2362.707          47.375          41.422  
+  -2273677.700    -1725868.325    23943194.924    23943198.593    23943195.153  
+     -3165.995       -2466.999          47.896          41.595  
+  -5989093.441    -4658452.494    23742676.711    23742680.075    23742676.639  
+      1975.410        1539.281          48.417          42.638  
+ -15515427.428   -11835086.879    22082715.747    22082718.146    22082716.306  
+      2857.573        2226.677          51.197          45.070  
+ 03  8  2  0 29 39.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24347991.414   -18960603.428    20451850.890    20451853.226    20451851.315  
+       -25.667         -20.003          52.239          47.849  
+ -14052464.078   -10921586.535    22306679.010    22306681.830    22306680.404  
+     -2036.771       -1587.102          49.981          44.722  
+ -17777102.206   -13840639.929    21688659.052    21688661.369    21688658.791  
+       843.409         657.196          51.718          45.417  
+ -19059538.680   -14836310.525    21169658.382    21169658.770    21169657.983  
+      1796.645        1399.977          51.370          46.286  
+  -7868290.581    -6117919.946    23469658.062    23469659.338    23469657.612  
+     -3032.322       -2362.847          47.375          41.422  
+  -2268928.709    -1722167.826    23944098.021    23944101.589    23944098.922  
+     -3166.141       -2467.117          47.896          41.769  
+  -5992056.647    -4660761.482    23742113.038    23742116.209    23742112.633  
+      1975.333        1539.222          48.417          42.638  
+ -15519713.429   -11838426.619    22081900.141    22081902.341    22081900.740  
+      2856.936        2226.183          51.197          45.070  
+ 03  8  2  0 29 40.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24347952.603   -18960573.189    20451858.432    20451860.504    20451858.732  
+       -26.614         -20.738          52.239          47.676  
+ -14049409.012   -10919205.965    22307260.463    22307263.223    22307261.785  
+     -2037.139       -1587.385          49.981          44.722  
+ -17778366.976   -13841625.462    21688418.208    21688421.010    21688418.118  
+       842.378         656.391          51.718          45.417  
+ -19062233.478   -14838410.365    21169145.418    21169146.062    21169145.307  
+      1795.861        1399.361          51.370          46.286  
+  -7863742.224    -6114375.780    23470523.374    23470524.729    23470523.188  
+     -3032.627       -2363.071          47.375          41.595  
+  -2264179.730    -1718467.318    23945001.758    23945005.464    23945002.788  
+     -3166.345       -2467.290          47.896          41.595  
+  -5995020.029    -4663070.612    23741549.333    23741551.987    23741548.685  
+      1975.271        1539.156          48.417          42.638  
+ -15523998.752   -11841765.830    22081084.641    22081087.077    22081085.284  
+      2856.283        2225.669          51.197          44.896  
+ 03  8  2  0 29 42.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24347912.493   -18960541.936    20451866.062    20451868.160    20451866.394  
+       -27.182         -21.177          52.239          47.676  
+ -14046353.562   -10916825.093    22307842.005    22307844.503    22307843.198  
+     -2037.106       -1587.358          49.981          44.722  
+ -17779630.359   -13842609.916    21688177.708    21688180.283    21688177.759  
+       841.785         655.942          51.892          45.417  
+ -19064927.217   -14840509.384    21168632.973    21168633.423    21168632.820  
+      1795.461        1399.061          51.370          46.286  
+  -7859193.635    -6110831.429    23471389.222    23471389.921    23471388.982  
+     -3032.500       -2362.992          47.375          41.595  
+  -2259430.638    -1714766.726    23945905.842    23945909.249    23945906.593  
+     -3166.063       -2467.073          47.896          41.595  
+  -5997983.439    -4665379.767    23740985.417    23740987.932    23740984.796  
+      1975.538        1539.397          48.417          42.638  
+ -15528283.246   -11845104.396    22080269.487    22080271.814    22080269.968  
+      2855.997        2225.457          51.197          45.070  
+ 03  8  2  0 29 43.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24347871.050   -18960509.641    20451873.731    20451875.987    20451874.328  
+       -28.230         -22.001          52.239          47.849  
+ -14043297.700   -10914443.900    22308423.460    22308426.242    22308424.766  
+     -2037.507       -1587.671          49.981          44.722  
+ -17780892.307   -13843593.252    21687937.640    21687940.313    21687937.655  
+       840.666         655.060          51.718          45.417  
+ -19067619.885   -14842607.570    21168120.618    21168120.871    21168120.603  
+      1794.598        1398.387          51.370          46.286  
+  -7854644.785    -6107286.874    23472254.646    23472255.695    23472254.592  
+     -3032.784       -2363.229          47.549          41.422  
+  -2254681.327    -1711065.974    23946809.734    23946813.016    23946810.427  
+     -3166.418       -2467.342          47.896          41.769  
+  -6000946.842    -4667688.911    23740421.406    23740424.090    23740421.034  
+      1975.366        1539.240          48.417          42.464  
+ -15532566.881   -11848442.287    22079454.231    22079456.558    22079454.728  
+      2855.267        2224.875          51.197          45.070  
+ 03  8  2  0 29 45.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24347828.461   -18960476.458    20451882.005    20451884.101    20451882.453  
+       -29.038         -22.627          52.239          47.849  
+ -14040241.578   -10912062.511    22309005.069    22309007.745    22309006.390  
+     -2037.798       -1587.903          49.981          44.722  
+ -17782153.003   -13844575.614    21687697.651    21687700.314    21687697.777  
+       839.786         654.370          51.718          45.417  
+ -19070311.641   -14844705.043    21167608.358    21167608.923    21167608.496  
+      1793.920        1397.854          51.370          46.286  
+  -7850095.823    -6103742.233    23473120.325    23473121.876    23473120.405  
+     -3032.959       -2363.365          47.549          41.422  
+  -2249932.058    -1707365.247    23947713.369    23947716.727    23947714.224  
+     -3166.450       -2467.361          47.896          41.595  
+  -6003910.441    -4669998.210    23739857.404    23739860.145    23739857.144  
+      1975.388        1539.285          48.417          42.638  
+ -15536849.821   -11851779.644    22078639.204    22078641.392    22078639.602  
+      2854.734        2224.465          51.197          45.070  
+ 03  8  2  0 29 46.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24347784.603   -18960442.285    20451890.351    20451892.385    20451890.824  
+       -29.571         -23.036          52.239          47.676  
+ -14037185.107   -10909680.846    22309586.697    22309589.390    22309588.067  
+     -2037.688       -1587.807          49.981          44.722  
+ -17783412.324   -13845556.902    21687458.050    21687460.845    21687458.143  
+       839.199         653.925          51.718          45.417  
+ -19073002.377   -14846801.717    21167096.409    21167096.994    21167096.518  
+      1793.584        1397.601          51.370          46.112  
+  -7845546.648    -6100197.425    23473985.845    23473986.590    23473986.299  
+     -3032.703       -2363.146          47.549          41.595  
+  -2245182.656    -1703664.420    23948617.202    23948620.909    23948618.195  
+     -3166.224       -2467.177          47.896          41.769  
+  -6006874.079    -4672307.535    23739293.434    23739296.474    23739293.129  
+      1975.800        1539.585          48.417          42.638  
+ -15541131.972   -11855116.382    22077824.293    22077826.534    22077824.730  
+      2854.554        2224.321          51.197          45.070  
+ 03  8  2  0 29 48.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24347739.466   -18960407.113    20451898.684    20451901.158    20451899.449  
+       -30.506         -23.778          52.239          47.676  
+ -14034128.276   -10907298.895    22310168.177    22310171.245    22310169.749  
+     -2037.994       -1588.051          49.981          44.896  
+ -17784670.277   -13846537.120    21687218.626    21687221.155    21687218.756  
+       838.162         653.113          51.718          45.417  
+ -19075692.068   -14848897.579    21166584.442    21166585.072    21166584.690  
+      1792.806        1396.990          51.370          46.286  
+  -7840997.255    -6096652.443    23474851.569    23474852.983    23474852.231  
+     -3032.999       -2363.376          47.549          41.595  
+  -2240433.162    -1699963.517    23949520.648    23949524.242    23949522.132  
+     -3166.447       -2467.363          47.896          41.595  
+  -6009837.756    -4674616.896    23738729.431    23738732.181    23738729.082  
+      1975.757        1539.550          48.417          42.638  
+ -15545413.286   -11858452.475    22077009.648    22077011.975    22077010.018  
+      2853.940        2223.851          51.197          45.070  
+ 03  8  2  0 29 49.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927239
+ -24347693.074   -18960370.965    20451907.625    20451909.825    20451908.197  
+       -31.504         -24.544          52.239          47.676  
+ -14031071.076   -10904916.667    22310750.154    22310753.300    22310751.550  
+     -2038.422       -1588.379          49.981          44.722  
+ -17785926.862   -13847516.281    21686979.384    21686982.143    21686979.617  
+       837.106         652.295          51.718          45.417  
+ -19078380.763   -14850992.669    21166072.961    21166073.245    21166073.062  
+      1791.942        1396.319          51.370          46.286  
+  -7836447.665    -6093107.311    23475717.800    23475718.450    23475718.196  
+     -3033.265       -2363.578          47.549          41.595  
+  -2235683.554    -1696262.532    23950424.603    23950428.447    23950425.866  
+     -3166.563       -2467.451          47.896          41.422  
+  -6012801.512    -4676926.317    23738165.258    23738167.927    23738165.189  
+      1975.613        1539.430          48.417          42.638  
+ -15549693.813   -11861787.948    22076195.177    22076197.177    22076195.453  
+      2853.219        2223.286          51.197          45.070  
+ 03  8  2  0 29 51.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24347645.364   -18960333.787    20451916.694    20451918.876    20451917.172  
+       -32.301         -25.172          52.239          47.849  
+ -14028013.487   -10902534.133    22311331.985    22311334.707    22311333.371  
+     -2038.552       -1588.483          49.981          44.722  
+ -17787182.031   -13848494.334    21686740.906    21686743.390    21686740.738  
+       836.253         651.625          51.718          45.417  
+ -19081068.365   -14853086.902    21165561.564    21165561.808    21165561.666  
+      1791.315        1395.832          51.370          46.286  
+  -7831897.794    -6089561.957    23476583.557    23476584.789    23476584.278  
+     -3033.425       -2363.699          47.549          41.422  
+  -2230933.771    -1692561.410    23951328.377    23951330.987    23951329.618  
+     -3166.632       -2467.499          47.896          41.595  
+  -6015765.265    -4679235.731    23737601.293    23737604.246    23737601.255  
+      1975.697        1539.500          48.417          42.464  
+ -15553973.491   -11865122.756    22075380.662    22075382.786    22075381.052  
+      2852.761        2222.925          51.197          45.070  
+ 03  8  2  0 29 52.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24347596.493   -18960295.706    20451926.097    20451928.150    20451926.389  
+       -33.248         -25.909          52.239          47.849  
+ -14024955.631   -10900151.390    22311913.584    22311916.680    22311915.211  
+     -2038.925       -1588.778          49.981          44.722  
+ -17788435.941   -13849471.405    21686502.079    21686504.806    21686502.109  
+       835.229         650.825          51.718          45.417  
+ -19083755.054   -14855180.430    21165050.197    21165050.239    21165050.406  
+      1790.523        1395.208          51.370          46.286  
+  -7827347.839    -6086016.538    23477449.567    23477449.966    23477450.260  
+     -3033.639       -2363.891          47.549          41.422  
+  -2226183.988    -1688860.281    23952232.059    23952235.816    23952233.394  
+     -3166.814       -2467.641          47.896          41.595  
+  -6018729.179    -4681545.276    23737036.951    23737040.451    23737037.342  
+      1975.657        1539.467          48.417          42.638  
+ -15558252.465   -11868457.021    22074566.477    22074568.818    22074566.836  
+      2852.111        2222.425          51.197          45.070  
+ 03  8  2  0 29 54.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24347546.423   -18960256.695    20451935.545    20451937.817    20451935.865  
+       -33.754         -26.298          52.239          47.849  
+ -14021897.500   -10897768.436    22312495.585    22312498.888    22312497.228  
+     -2038.814       -1588.680          49.981          44.896  
+ -17789688.546   -13850447.461    21686263.621    21686266.596    21686263.691  
+       834.659         650.395          51.718          45.417  
+ -19086440.791   -14857273.214    21164539.210    21164539.422    21164539.342  
+      1790.191        1394.960          51.370          46.286  
+  -7822797.747    -6082471.015    23478314.707    23478316.178    23478316.173  
+     -3033.390       -2363.660          47.549          41.422  
+  -2221434.175    -1685159.129    23953136.660    23953140.047    23953137.204  
+     -3166.541       -2467.436          47.896          41.595  
+  -6021693.193    -4683854.895    23736472.937    23736476.287    23736473.306  
+      1976.018        1539.742          48.417          42.638  
+ -15562530.704   -11871790.717    22073752.258    22073754.406    22073752.711  
+      2851.902        2222.265          51.197          45.070  
+ 03  8  2  0 29 55.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24347494.856   -18960216.510    20451945.424    20451947.536    20451945.686  
+       -35.108         -27.365          52.239          47.676  
+ -14018838.766   -10895385.005    22313077.581    22313080.820    22313079.274  
+     -2039.557       -1589.260          49.981          44.722  
+ -17790939.544   -13851422.263    21686025.731    21686028.666    21686025.565  
+       833.260         649.285          51.718          45.417  
+ -19089125.282   -14859365.021    21164028.213    21164028.530    21164028.493  
+      1789.032        1394.043          51.370          46.286  
+  -7818247.185    -6078925.128    23479180.478    23479182.613    23479182.139  
+     -3034.119       -2364.261          47.549          41.422  
+  -2216684.042    -1681457.724    23954040.352    23954043.710    23954041.127  
+     -3167.075       -2467.860          47.896          41.595  
+  -6024657.050    -4686164.390    23735908.946    23735912.382    23735909.088  
+      1975.528        1539.358          48.417          42.464  
+ -15566807.912   -11875123.602    22072938.351    22072940.629    22072938.790  
+      2850.893        2221.468          51.197          45.070  
+ 03  8  2  0 29 57.0000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24347442.169   -18960175.454    20451955.450    20451957.629    20451955.638  
+       -35.932         -28.008          52.239          47.676  
+ -14015779.843   -10893001.431    22313659.647    22313662.839    22313661.325  
+     -2039.771       -1589.437          49.981          44.722  
+ -17792189.337   -13852396.127    21685787.839    21685790.509    21685787.693  
+       832.377         648.598          51.718          45.417  
+ -19091808.891   -14861456.145    21163517.495    21163517.791    21163517.749  
+      1788.373        1393.529          51.370          46.286  
+  -7813696.588    -6075379.211    23480046.616    23480048.131    23480047.929  
+     -3034.188       -2364.304          47.549          41.248  
+  -2211933.945    -1677756.356    23954943.815    23954947.500    23954944.888  
+     -3167.085       -2467.865          47.896          41.595  
+  -6027621.112    -4688474.047    23735344.934    23735347.902    23735344.994  
+      1975.611        1539.414          48.417          42.464  
+ -15571084.458   -11878455.972    22072124.793    22072126.723    22072124.960  
+      2850.359        2221.047          51.197          45.070  
+ 03  8  2  0 29 58.5000000  0  8G 1G 2G 3G13G16G20G27G31             0.000927240
+ -24347388.221   -18960133.417    20451965.625    20451967.851    20451965.761  
+       -36.437         -28.389          52.239          47.849  
+ -14012720.552   -10890617.566    22314242.020    22314245.049    22314243.359  
+     -2039.739       -1589.409          49.981          44.896  
+ -17793437.753   -13853368.918    21685550.200    21685552.911    21685550.126  
+       831.758         648.126          51.718          45.417  
+ -19094491.475   -14863546.469    21163007.023    21163007.131    21163007.260  
+      1787.982        1393.237          51.370          46.286  
+  -7809145.774    -6071833.117    23480912.858    23480913.539    23480913.885  
+     -3034.061       -2364.216          47.549          41.248  
+  -2207183.722    -1674054.886    23955847.899    23955851.127    23955848.651  
+     -3166.867       -2467.680          47.896          41.422  
+  -6030585.230    -4690783.752    23734780.390    23734784.128    23734780.892  
+      1975.977        1539.726          48.417          42.464  
+ -15575360.196   -11881787.714    22071310.910    22071313.659    22071311.252  
+      2850.151        2220.905          51.197          45.070  
diff --git a/trunk/apps/RinexPlot/RinexPlot.bat b/trunk/apps/RinexPlot/RinexPlot.bat
new file mode 100755
index 0000000..5da237e
--- /dev/null
+++ b/trunk/apps/RinexPlot/RinexPlot.bat
@@ -0,0 +1,10 @@
+ at echo off
+if "%OS%" == "Windows_NT" goto WinNT
+perl -S RinexPlot.pl %1 %2 %3 %4 %5 %6 %7 %8 %9
+goto endofperl
+:WinNT
+REM start /b perl -S RinexPlot.pl %*
+perl -S RinexPlot.pl %*
+if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
+if %errorlevel% == 9009 echo You do not have Perl in your PATH.
+:endofperl
diff --git a/trunk/apps/RinexPlot/RinexPlot.pl b/trunk/apps/RinexPlot/RinexPlot.pl
new file mode 100644
index 0000000..b6896c3
--- /dev/null
+++ b/trunk/apps/RinexPlot/RinexPlot.pl
@@ -0,0 +1,3458 @@
+#!/usr/bin/perl
+#
+# RinexPlot - plot Rinex data
+# 
+# $Id: //depot/sgl/gpstk/dev/apps/RinexPlot/RinexPlot.pl#7 $
+#
+#============================================================================
+#
+#  This file is part of GPSTk, the GPS Toolkit.
+#
+#  The GPSTk is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation; either version 2 of the License, or
+#  any later version.
+#
+#  The GPSTk is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with GPSTk; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#  
+#  Copyright 2004, The University of Texas at Austin
+#
+#============================================================================
+#-------------------------------------------------------------------------------------
+# TD
+# (option?) don't plot points with value 0
+# it doesn't plot a symbol for the first point.
+# need to figure out the height and width of a character in pixels.  **
+# you can open a file in a re-entrant sub .. see the Perl books .. use for --load
+# make it safe to run two copies at once .. use unique name for $CFG{'datafile'}
+# Right axis
+# Time limits
+# Gnuplot output
+# postscript output?
+# RAIM -- how to plot?
+# Dataset/Configure ? ... all ResCor options
+
+#-------------------------------------------------------------------------------------
+use strict;
+use Tk;
+use Tk::Dialog;
+use Tk::DialogBox;
+use Tk::ROText;
+use Tk::BrowseEntry;
+use File::stat;
+use File::Basename;
+use IO::Handle;
+
+#-------------------------------------------------------------------------------------
+# Version number
+my $VERSION = "1.2 (10/1/2004)";
+# Message box description of this program
+my $ABOUT_TEXT = "\nRinexPlot is a GUI for utility programs developed with\n"
+               . "the GPS Toolkit (GPSTk) that will read, manipulate and plot\n"
+               . "data in a Rinex file.\n";
+my $AUTHOR_TEXT = "RinexPlot is written in Perl/Tk by Dr. Brian W. Tolman.\n";
+
+#-------------------------------------------------------------------------------------
+# configuration - most things are stored in a hash - see Defaults()
+my (%CFG,%OPT); # CFG has one value per key, OPT can have many values per key
+my ($key,$val);
+my %Options;    # valid options for command line -- see Defaults()
+my %Grow;       # valid options that can have many values (OPT) -- see Defaults()
+
+my $SLASH="/";
+if ($^O eq "MSWin32") {
+   $SLASH="\\";
+}
+my $menutear = 1;
+
+#-------------------------------------------------------------------------------------
+# drawing area TD add to CFG
+my $BCOLOR       = 'white';        # background color for canvas
+my $FCOLOR       = 'blue';         # foreground color for canvas
+my $MCOLOR       = 'black';        # color of mouse rectangles
+my $firstcanvas = 0;               # mark very first resizing of canvas
+
+# cursors -- see
+# Win32 : \perl\site\lib\Tk\X11\cursorfont.h
+# Linux : /usr/X11R6/include/X11/cursorfont.h
+my ($cursor,$waitcursor,$crosshair)=('crosshair','watch','crosshair');
+
+#my @items = ();
+
+#-------------------------------------------------------------------------------------
+# Widgets
+my $w_top;                         # top level window
+my $w_canvas;                      # canvas
+my $statusbar;                     # status bar
+my $menubar;                       # menu bar
+
+#-------------------------------------------------------------------------------------
+# Plot configuration
+my ($Xrate, $Yrate);
+my $FirstAutoscale = 1;            # flag showing need to call autoscale()
+my $LimitsSet = 0;                 # flag indicating LoadConfig has set limits
+my $UsingDefaults = 1;             # flag indicating all labels are defaults
+my $LogOpen = 0;                   # flag saying when LOG is open
+my $MainUp = 0;                    # flag saying main window is up
+my $ScaleDefined = 0;              # flag saying scales have been defined (Rates())
+my ($begW,$begS)=(0,0);            # used in DataTime
+my ($endW,$endS);
+
+#-------------------------------------------------------------------------------------
+# Axes
+# Call NiceScale(datamin,datamax,$ScaleN,totalpixels);
+# Labels are ($ScaleMin + ($i-1) * $ScaleStep) foreach $i (1..$ScaleN).
+# Multiply labels by 10**ScaleExp to make them all (minimum size) integers.
+# There are $ScalePPL pixels per label.
+my ($ScaleMin,$ScaleStep,$ScaleExp,$ScaleN,$ScalePPL)=(0,0,0,0,0);
+my @NiceUnits=(0,12,15,20,25,30,40,50,60,80,100,120,150);
+my ($YScaleMin,$YScaleStep,$YScaleExp)=(0,0,0);
+my ($XScaleMin,$XScaleStep,$XScaleExp)=(0,0,0);
+# if plot limits (XMin,etc) are fixed by user, set this =1, else (autoscale) set =0
+my $ScaleFixed=0;
+# tics
+my ($XTicLen,$YTicLen)=(5,5);
+# use these as input to NewScale
+my ($XMin,$XMax,$YMin,$YMax);
+# save previous values for 'unzoom'
+my ($OldXMin,$OldXMax,$OldYMin,$OldYMax)=('','','','');
+
+#-------------------------------------------------------------------------------------
+# Curves to plot (ncurv of them)
+# each curve defined by Sat, OT, column in file, color, symbol type
+my $Reconfigure;       # flag that says call ConfigureCurves()
+my $ncurv;             # number of curves defined
+my @curvSV = ();       # satellite for this curve
+my @curvOT = ();       # obs type (from @obslist)
+my @curvON = ();       # switch to turn off curve, on is non-zero
+my @curvCol = ();      # column in $CFG{'datafile'} where data is found
+my @curvLines = ();    # plot with lines or not (0)
+my @curvSymbs = ();    # plot with symbols
+my @symbols     = ('none','cross','plus','diamond','square','circle','del','delta');
+my @curvColor = ();    # color to plot
+my @colors = (
+      '#0000ff', # bright blue
+      '#ff0000', # bright red
+      '#00ff00', # bright green
+      '#ff00ff', # magenta
+      '#00ffff', # cyan
+      '#80ff00', # electric green
+      '#ff0080', # pink
+      '#8000ff', # purple
+      '#ffff00', # yellow
+      '#ff8000', # orange
+      '#00ff80', # sea green
+      '#0080ff', # sky blue
+      '#000080', # dark blue
+      '#800000', # dark red almost brown
+      '#008000', # dark green
+);
+#'#000000', # black
+#'#ffffff', # white
+#'#a0b7ce', # "MSWin blue"
+
+#-------------------------------------------------------------------------------------
+# Mouse rectangle
+my $MOUSE_RECT;                              # the rectangle id
+my $MAKE_RECT=0;                             # state, initially off
+my ($RECT_X0,$RECT_X1,$RECT_Y0,$RECT_Y1);    # rectangle limits
+my $CLICK = 0;                               # is the mouse button down?
+
+#-------------------------------------------------------------------------------------
+# Data file(s)
+#my $AutoView=1;           # flag that says view RinSum output when created
+my ($filename,$ConfigFile,$ResCorfilename);
+my ($RinexInSummary,$RinexRCSummary);
+my @filelist=();
+my ($numobs, $numsvs);    # number of obs types and SVs in Rinex file
+my ($nobssel, $nsvssel);  # number of obs types and SVs (above) that are selected
+my @obslist=();           # list of obs types in Rinex header
+my @obsdesc=();           # descriptions of obs types from Rinex header dump
+my @obsselect=();         # list of switches (0,1) parallel to obslist
+my @svlist=();            # list of SVs in Rinex file
+my @svselect=();          # list of switches (0,1) parallel to svlist
+my @svbegin=();           # list of SV begin times (W,SOW)
+my @svend=();             # list of SV end times (W,SOW)
+
+#-------------------------------------------------------------------------------------
+# Computation using ResCor (create file $ResCorfilename)
+# list of extended obs types that ResCor can compute, with desc., units, dependence
+my (@ExtOT, @ExtDesc, @ExtDep, @ExtSelect);     # these kept parallel
+# hash: ExtUnit{$ExtOT[$i]} = units of that OT
+my %ExtUnit=('L1','cycles','L2','cycles','C1','meters','P1','meters','P2','meters',
+   'D1','Hz','D2','Hz','S1','dB-Hz','S2','dB-Hz');
+# flags giving dependence of the Ext obs types on standard obs types
+my ($DepL1,$DepL2,$DepC1,$DepP1,$DepP2,$DepEP,$DepPS) = (1,2,4,8,16,32,64);
+my $ETdb;    # dialog box that selects extended obs types ... create only once
+# for use as input to ResCor -- receiver label, position
+my ($RxLabel,$RxX,$RxY,$RxZ,$RxComment) = ('','','','','');
+# types that ResCor will debias: SP VP L3 L4 L5 MP M1 M2 M3 M4 M5 XR XI X1 X2
+# (XR should not be debiased by ResCor)
+# TD add config option to turn this on/off
+my %MayDebias=('SP',1,'VP',1,'L3',1,'L4',1,'L5',1,
+               'MP',1,'M1',1,'M2',1,'M3',1,'M4',1,'M5',1,
+               'XR',0,'XI',1,'X1',1,'X2',1);
+#
+my $MyPrgmDir='unknown';
+if ($^O eq 'MSWin32') {
+   $MyPrgmDir="C:\\Code\\GPSLIB\\Working\\dev\\apps\\Rinextools";
+}
+elsif ($^O eq 'linux') {
+   $MyPrgmDir="/home/btolman/mybin";
+}
+#-------------------------------------------------------------------------------------
+#-------------------------------------------------------------------------------------
+# This lists and defines(!) all valid options for CFG and OPT. This string is written
+# in the Help/Topics window, and is printed to the screen when '--help' is the only
+# cmdline option.
+# It is also parsed by Defaults() into the default CFG and OPT settings, with rules:
+# 0. one key/value pair per line.
+# 1. the key follows '--' and does not contain whitespace.
+# 2. the value is in parentheses at the end : ($val)\n$
+# 3. the option is repeatable (cmdline only) if the string '(can repeat)' appears.
+# 4. everything after 'Example:' is ignored.
+# 5. ignore any line that starts (col 1) with '#'.
+my $CmdText =
+"# RinexPlot, part of the GPSTk : Plot Rinex data\n" .
+"# Usage: perl RinexPlot.pl [--option <arg>]\n" .
+"# Input options (put on command line or in config file) :\n" .
+"# Rinex tools directory:\n" .
+" --prgmdir <dir>     directory of GPSTK programs (". $MyPrgmDir . ")\n" .
+"# input:\n" .
+" --load <file>       load options file, but don't nest (can repeat) ()\n" .
+" --Rinex <file>      load and summarize this Rinex observation file ()\n" .
+" --nav <file>        load this Rinex navigation file ()\n" .
+"# output:\n" .
+" --log <file>        send all diagnostic output to <file> (SCREEN)\n" .
+" --datafile <file>   store data to be plotted in flat <file> (RP.dat)\n" .
+"# create new obs types:\n" .
+" --AO <ExOT>         add extended obs types (can repeat) ()\n" .
+" --create [on|off]   run ResCor to create any new (AO) obs types (on)\n" .
+"# plot datasets\n" .
+" --sat <sat>         select satellite for plot (can repeat) ()\n" .
+" --obs <OT>          select obs type for plot (can repeat) ()\n" .
+" --refresh [on|off]  draw the screen (only if --sat and --obs) (on)\n" .
+" --begin <wk,sow>    begin GPS time -- do not read data before this time (0,0)\n" .
+" --end <wk,sow>      end GPS time -- do not read data after this time (9999,0)\n" .
+"# plot configuration:\n" .
+" --width <pixels>    width of plot surface, L-axis to R-axis (640)\n" .
+" --height <pixels>   height of plot surface, B-axis to T-axis (480)\n" .
+" --lines [on|off]    draw a line when drawing curves (on)\n" .
+" --points [on|off]   draw points when drawing curves (off)\n" .
+" --XMin <x>          set minimum value on X axis, omit to autoscale ()\n" .
+" --XMax <x>          set maximum value on X axis, omit to autoscale ()\n" .
+" --YMin <y>          set minimum value on Y axis, omit to autoscale ()\n" .
+" --YMax <y>          set maximum value on Y axis, omit to autoscale ()\n" .
+" --Week <w>          week number associated with XMin/Max (for Blabel) ()\n" .
+" --Bmargin <pixels>  distance between graph and window bottom (30)\n" .
+" --Tmargin <pixels>  distance between graph and window top (30)\n" .
+" --Lmargin <pixels>  distance between graph and window left (40)\n" .
+" --Rmargin <pixels>  distance between graph and window right (30)\n" .
+" --BticN <n>         number of tics on bottom axis (5)\n" .
+" --TticN <n>         number of tics on top axis (5)\n" .
+" --LticN <n>         number of tics on left axis (5)\n" .
+" --RticN <n>         number of tics on right axis (5)\n" .
+"# plot labels:\n" .
+" --Blabel <string>   label below the bottom axis (GPS Seconds of Week)\n" .
+" --Tlabel <string>   label above the top axis, i.e title (Title)\n" .
+" --Llabel <string>   label above the left axis ()\n" .
+" --Rlabel <string>   label above the right axis ()\n" .
+"# switches:\n" .
+" --verbose [on|off]  output more information to log file (off)\n" .
+" --keepdata [on|off] on exit, do not delete the data file RP.dat (off)\n" .
+" --autoview [on|off] automatically display data file summary (on)\n" .
+" --Cforce [on|off]   force C1 to replace P1 (off)\n" .
+" --Callow [on|off]   allow C1 to replace a missing P1 (on)\n" .
+"# other:\n" .
+" --zoomX <frac>      zoom commands expand(contract) by fraction (0.1)\n" .
+" --help [on|off]     show the help window (off)\n" .
+"#\n" .
+" Example:\natom>./RinexPlot --Rinex ../gdms/data/04032/alic0320.04o --autoview off" .
+"\n  --AO L4 --AO M5 --sat G08 --sat G30 --obs L4 --obs M5 --refresh\n";
+
+#-------------------------------------------------------------------------------------
+# Temp data
+my (@opt, $file, $dummy, $i, $j, $ans, $msg);
+my ($cmd,$buffer,$len);
+
+#-------------------------------------------------------------------------------------
+# computation of scales and coordinate transformations
+#-------------------------------------------------------------------------------------
+# compute a new 'nice' scale, using $XMin,$XMax,$YMin,$YMax.
+# call with first arg 'fixed' if plot limits are fixed, else 'auto' to "autoscale"
+# second arg is a label printed on LOG and Status
+sub NewScale {
+   my ($flag,$str)=@_;
+
+   ($OldXMin,    $OldXMax,    $OldYMin,    $OldYMax) = 
+   ($CFG{'XMin'},$CFG{'XMax'},$CFG{'YMin'},$CFG{'YMax'});
+
+   if($YMin > $YMax) { $ans=$YMax; $YMax=$YMin; $YMin=$ans; }
+   if($XMin > $XMax) { $ans=$XMax; $XMax=$XMin; $XMin=$ans; }
+
+   my $tics = $CFG{'BticN'};
+   if($flag eq 'fixed') { $tics = $CFG{'BticN'} + 2; }
+   NiceScale($XMin,$XMax,$tics,$CFG{'width'});
+   if($flag eq 'fixed') { $XScaleMin = $ScaleMin+$ScaleStep; }
+   if($flag eq 'auto')  { $XScaleMin = $ScaleMin; }
+   $XScaleStep = $ScaleStep;
+   $XScaleExp = $ScaleExp;
+
+   $tics = $CFG{'LticN'};
+   if($flag eq 'fixed') { $tics = $CFG{'LticN'} + 2; }
+   NiceScale($YMin,$YMax,$tics,$CFG{'height'});
+   if($flag eq 'fixed') { $YScaleMin = $ScaleMin+$ScaleStep; }
+   if($flag eq 'auto')  { $YScaleMin = $ScaleMin; }
+   $YScaleStep = $ScaleStep;
+   $YScaleExp = $ScaleExp;
+
+   if($flag eq 'auto') {
+      # let NiceScale determine the plot limits
+      $YMin = $YScaleMin;
+      $YMax = $YScaleMin+($CFG{'LticN'}-1)*$YScaleStep;
+      $XMin = $XScaleMin;
+      $XMax = $XScaleMin+($CFG{'BticN'}-1)*$XScaleStep;
+   }
+
+   ($CFG{'XMin'},$CFG{'XMax'},$CFG{'YMin'},$CFG{'YMax'})=($XMin,$XMax,$YMin,$YMax);
+   Rates();  # Rates() can change XMin, etc.
+
+   print LOG "$str: new limits are $YMin, $YMax, $XMin, $XMax\n";
+   Status("$str: new limits are X: "
+   . sprintf("%10.3f",$XMin) . ", "
+   . sprintf("%10.3f",$XMax) .  ", Y: "
+   . sprintf("%.3f",$YMin) . ", "
+   . sprintf("%.3f",$YMax) .  ".");
+
+   if($flag eq 'fixed') { $ScaleFixed=1; } else { $ScaleFixed=0; }
+   $FirstAutoscale = 0;
+}
+
+# compute the 'rates' needed for coordinate transformations
+sub Rates {
+   # check for division by 0
+   if($CFG{'XMin'} == $CFG{'XMax'}) {
+      if($CFG{'XMax'} == 0) { $CFG{'XMax'} = 1; }
+      else { $CFG{'XMax'} += 1.5 * $CFG{'XMax'}; }
+   }
+   if($CFG{'YMin'} == $CFG{'YMax'}) {
+      if($CFG{'YMax'} == 0) { $CFG{'YMax'} = 1; }
+      else { $CFG{'YMax'} += 1.5 * $CFG{'YMax'}; }
+   }
+   $Xrate = $CFG{'width'}/($CFG{'XMax'}-$CFG{'XMin'});
+   $Yrate = -$CFG{'height'}/($CFG{'YMax'}-$CFG{'YMin'});
+
+	$ScaleDefined = 1;
+}
+
+# convert data X units,    ($CFG{'XMin'} <= $rawx <= $CFG{'XMax'} )
+# into screen coordinates  (0     <= $x    <= $CFG{'width'})
+sub Xdata2scr {
+   my $rawx = shift;
+   my $x = $CFG{'Lmargin'} + ($rawx-$CFG{'XMin'}) * $Xrate;
+   return int($x);
+}
+
+# convert data Y units,    ($CFG{'YMin'}   <= $rawy <= $CFG{'YMax'})
+# into screen coordinates  ($CFG{'height'} <= $y    <= 0    )
+sub Ydata2scr {
+   my $rawy = shift;
+   my $y = $CFG{'Tmargin'} + $CFG{'height'} + ($rawy-$CFG{'YMin'}) * $Yrate;
+   return int($y);
+}
+
+# convert screen coordinates  (0     <= $x    <= $CFG{'width'})
+# into data units,            ($CFG{'XMin'} <= $rawx <= $CFG{'XMax'} )
+sub scr2Xdata {
+   my $x = shift;
+   my $rawx = $CFG{'XMin'} + ($x - $CFG{'Lmargin'})/$Xrate;
+   return $rawx;
+}
+
+# convert screen coordinates  ($CFG{'height'} <= $y    <= 0    )
+# into data units,            ($CFG{'YMin'}   <= $rawy <= $CFG{'YMax'})
+sub scr2Ydata {
+   my $y = shift;
+   my $rawy = ($y - $CFG{'Tmargin'} - $CFG{'height'})/$Yrate + $CFG{'YMin'};
+   return $rawy;
+}
+
+#-------------------------------------------------------------------------------------
+# menu callbacks
+#-------------------------------------------------------------------------------------
+sub FileLoad {
+   $filename = $w_top->getOpenFile(-title => 'Load a configuration file',
+      -initialfile => basename($ConfigFile),
+      #-initialdir => $dir,
+      #-defaultextension => $ext,
+   );
+   if($filename eq '') { return; }
+
+   $LimitsSet = 0;                      # LoadConfig will notice if limits are set
+   $ans = LoadConfig($filename);
+   if($ans ne 'fail') {
+      ProcessConfig();
+   }
+}
+
+sub FileSave {
+   print LOG "Save the configuration file $ConfigFile\n";
+   $ans = SaveConfig($ConfigFile);
+   if($ans eq 'fail') {
+      print LOG "Could not save configuration file $ConfigFile\n";
+   }
+}
+
+sub FileSaAs {
+   my $Savefilename = $w_top->getSaveFile(-title => 'Save configuration in a file');
+   $ans = SaveConfig($Savefilename);
+   if($ans eq 'fail') {
+      print LOG "Could not save configuration file $Savefilename\n";
+   }
+}
+
+#-------------------------------------------------------------------------------------
+sub FileExit {
+   Status("Cleaning up...");
+   print LOG "Clean up and exit.\n";
+   if($CFG{'keepdata'} ne 'on') {
+      $dummy = `rm -f $CFG{'datafile'}`;
+      if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+   }
+   if($CFG{'log'} ne '') { close LOG; }
+   exit;
+}
+
+#-------------------------------------------------------------------------------------
+sub FileInpu {
+   Status("Get the name of a Rinex observation file...");
+   $filename = $w_top->getOpenFile(-title => 'Choose a Rinex obs file');
+   if($filename eq '') { return; }
+   DataInputProcess($filename);
+}
+
+#-------------------------------------------------------------------------------------
+sub FileSumm {
+   $file = $RinexInSummary;
+   if($ResCorfilename ne '') { $file=$RinexRCSummary; }
+   if($file eq '') {
+      PopNotice("Error: no file","No input Rinex observation file has been chosen\n"
+            . "Go to File/Rinex Obs");
+      #$ans = $w_top->messageBox(-title => 'Error: no file',
+      #-message => "No input observation file has been chosen\n"
+      #. "Go to File/Rinex Obs",
+      #-type => 'OK', -icon => 'info');
+      return;
+   }
+   Status("Press the Close button to return to the main window...");
+   #print LOG "View data from $file\n";
+   $buffer = '';
+   my $len=0;
+   if (not open(F, "<$file")) {
+      $w_top->Dialog(
+         -title => 'File not found',
+         -text => "Could not open the file $file",
+         -bitmap => 'error',
+      )->Show;
+      return;
+   }
+   $len = read(F, $buffer, 100000);
+   #print LOG "Read $len bytes\n";
+   my @list = split("\n", $buffer);
+   my $width=0; foreach $i (@list) { if(length($i)>$width) { $width=length($i); } }
+   my $TWdb = $w_top->DialogBox(
+      -title => "View RinSum output ($len bytes): $file",
+      -buttons => ['Close'],
+      -popover => $w_top,
+      -overanchor => 'w',
+      -popanchor => 'w',
+   );
+   my $text_win = $TWdb->Scrolled('Text',
+      -setgrid => 'true',
+      -scrollbars => 'e',
+      -height => '40',   #lines
+      -width => $width,  #characters
+      )->pack(-expand => 'yes', -fill => 'both');
+   $text_win->insert('end', $buffer);  # add text at end of (empty) widget
+   $text_win->see('end');              # scroll to end of text
+   $TWdb->Show();
+   close F;
+   Status("...");
+}
+
+#-------------------------------------------------------------------------------------
+sub FileSele {
+   Status('');
+
+   # figure out the width of the box
+   my $len = length($CFG{'Rinex'});
+   if($len < length($CFG{'nav'})) { $len = length($CFG{'nav'}); }
+   if($RxLabel ne '' && $len < 60) { $len = 60; }
+   if($ResCorfilename ne '' && $len < length($ResCorfilename)) {
+      $len = length($ResCorfilename);
+   }
+   if($len < 20) { $len = 20; }
+
+   # are there extended obs types defined?
+   $dummy = 0;
+   $msg = '';
+   foreach $i (0..$#ExtOT) {
+      if($ExtSelect[$i] != 0) {
+         $dummy++;
+         $msg = $msg . $ExtOT[$i] . " ";
+      }
+   }
+
+   my $FSdb = $w_top->DialogBox(
+      -title =>  "Current Selections",
+      -buttons => ['Ok','Clear'],
+      -default_button => 'Ok',
+      -popover => $w_top,
+      -overanchor => 'c',
+      -popanchor => 'c',
+   );
+   $FSdb->add('Label',-text => "Rinex Observation File:")->pack(-anchor => 'w');
+   my $f1=$FSdb->Frame(-borderwidth => 2, -relief => 'groove',
+      )->pack(-anchor => 'w');
+   $FSdb->add('Label',-text => "Rinex Navigation File:")->pack(-anchor => 'w');
+   my $f2=$FSdb->Frame(-borderwidth => 2, -relief => 'groove',
+      )->pack(-anchor => 'w');
+   my ($f3,$f4,$f5,$f6);
+   if($RxLabel ne '') {
+      $FSdb->add('Label',-text => "Receiver Position:")->pack(-anchor => 'w');
+      $f3=$FSdb->Frame(-borderwidth => 2, -relief => 'groove',
+         )->pack(-anchor => 'w');
+   }
+   if($ResCorfilename ne '') {
+      $FSdb->add('Label',-text => "Computed Observations File")->pack(-anchor => 'w');
+      $f4=$FSdb->Frame(-borderwidth => 2, -relief => 'groove',
+         )->pack(-anchor => 'w');
+   }
+   if($dummy > 0) {
+      $FSdb->add('Label',-text => "Computed Observation Types")->pack(-anchor => 'w');
+      $f5=$FSdb->Frame(-borderwidth => 2, -relief => 'groove',
+         )->pack(-anchor => 'w');
+   }
+   $FSdb->add('Label',-text => "Current configuration file")->pack(-anchor => 'w');
+   $f6=$FSdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+
+
+   my $e1=$f1->Entry(
+      -textvariable => \$CFG{'Rinex'}, -width => $len, -justify => 'left',
+      )->pack(-side => 'top', -anchor => 'w');
+   $f1->Label(-text => 'Summary file:')->pack(-side => 'left');
+   $f1->Label(-text => $RinexInSummary, -justify => 'left')->pack(-side => 'left');
+   my $e2=$f2->Entry(
+      -textvariable => \$CFG{'nav'}, -width => $len)->pack(-side => 'left');
+   if($RxLabel ne '') {
+      my $f31=$f3->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+      $f31->Label(-text => "Label : ")->pack(-side => 'left');
+      $f31->Entry(-textvariable => \$RxLabel, -width => 5)->pack(-side => 'left');
+      my $f32=$f3->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+      $f32->Label(-text => "X : ")->pack(-side => 'left');
+      $f32->Entry(-textvariable => \$RxX, -width => 15)->pack(-side => 'left');
+      $f32->Label(-text => "  Y : ")->pack(-side => 'left');
+      $f32->Entry(-textvariable => \$RxY, -width => 15)->pack(-side => 'left');
+      $f32->Label(-text => "  Z : ")->pack(-side => 'left');
+      $f32->Entry(-textvariable => \$RxZ, -width => 15)->pack(-side => 'left');
+      my $f33=$f3->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+      $f33->Label(-text => "Comment: ")->pack(-side => 'left');
+      $f33->Entry(-textvariable => \$RxComment, -width => 50)->pack(-side => 'left');
+   }
+   if($ResCorfilename ne '') {
+      $f4->Label(-text => $ResCorfilename, -justify => 'left',
+         )->pack(-side => 'top', -anchor => 'w');
+      $f4->Label(-text => 'Summary file:'
+         )->pack(-side => 'left', -anchor => 'w');
+      $f4->Label(-text => $RinexRCSummary, -justify => 'left',
+         )->pack(-side => 'left', -anchor => 'w');
+   }
+
+   #TD add ExtOT, Selected sats/obs ? 
+   if($dummy > 0) {
+      $f5->Label(-text => $msg, -justify => 'left',
+         )->pack(-side => 'top', -anchor => 'w');
+   }
+
+   $f6->Label(-text => $ConfigFile, -justify => 'left',
+      )->pack(-side => 'top', -anchor => 'w');
+
+   $ans = $FSdb->Show();
+   $e1->focus; $e1->icursor('end');
+   if($ans eq 'Clear') {
+      FileClea();
+   }
+}
+
+#-------------------------------------------------------------------------------------
+sub FileClea {
+   $ans = $w_top->messageBox(
+      -title => "Clear all selections",
+      -message => "Are you sure you want to clear\n"
+         . "all file names and all data selections?     ",
+      -type => 'YesNo',
+      -icon => 'question',
+      #no popover for messageBox
+   );
+   if($ans eq 'yes') { ClearAll(); }
+}
+
+#-------------------------------------------------------------------------------------
+sub ClearAll {
+   Status("All the input files and data selection have been cleared.");
+   $CFG{'nav'} = '';
+   $CFG{'Rinex'} = '';
+   $ResCorfilename = '';
+   $RinexInSummary = '';
+   $RinexRCSummary = '';
+   $RxLabel = '';
+   @obslist = ();
+   @obsdesc = ();
+   @obsselect = ();
+   @svlist = ();
+   @svselect = ();
+   $dummy = `rm -f $CFG{'datafile'}`;
+   if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+   @svbegin = ();
+   @svend = ();
+   $numobs = 0;
+   $numsvs = 0;
+   $nobssel = 0;
+   $nsvssel = 0;
+   $FirstAutoscale = 1;
+   ClearExot();
+}
+
+#-------------------------------------------------------------------------------------
+sub DataInputProcess {
+   ($filename) = @_;
+   # first see that it exists
+   if (not open(F, "<$filename")) {
+      PopNotice("Empty file","File $filename        \ndoes not exist or is empty.");
+      return;
+   }
+   print LOG "Selected input Rinex obs file $filename\n";
+   ClearAll();
+   WaitCursor();
+
+	# get extended obs type information here (once) from ResCor
+   ExtDialogInit();
+
+   Status("Summarizing obs file $filename...please wait...");
+   $CFG{'Rinex'} = $filename;
+   $ResCorfilename = '';
+   $RinexRCSummary = '';
+   $RinexInSummary = basename($filename) . ".sum";
+   $cmd = $CFG{'prgmdir'} . $SLASH . "RinSum -g -i" . $CFG{'Rinex'}
+      . " > $RinexInSummary";
+   print LOG "Summarize obs file: Execute $cmd\n";
+   $dummy = `$cmd`; if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+
+   # pull out obs types from $RinexInSummary
+   $ans = DataGather($RinexInSummary);
+   if($ans == -1) {
+      Status("Choose another observation file");
+      PopNotice("Error: wrong file type",
+         $CFG{'Rinex'} . "         \nis NOT a Rinex observation file.\n");
+      $CFG{'Rinex'} = '';
+      $ResCorfilename = '';
+      $RinexInSummary = '';
+   }
+   else {
+      if($CFG{'autoview'} eq 'on') { FileSumm(); }
+      $FirstAutoscale = 1;
+   }
+   Status("Summary complete for $filename.");
+   NormalCursor();
+}
+
+#-------------------------------------------------------------------------------------
+sub DataGather {
+   ($file) = @_;
+   open FILE, "$file" or die "Error: DataGather could not open file $file\n";
+   @obslist = ();
+   @obsdesc = ();
+   @obsselect = ();
+   @svlist = ();
+   @svselect = ();
+   $dummy = `rm -f $CFG{'datafile'}`; if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+   @svbegin = ();
+   @svend = ();
+   $nobssel = 0;
+   $nsvssel = 0;
+   my $EOH = 0;
+   while(<FILE>) {
+      chomp;
+      $_ =~ s/^\s+//;
+      if(m/is not a Rinex observation file/) {
+         return -1;
+      }
+      if(m/END OF HEADER/) { $EOH=1; }
+
+      @opt = split (/\s+/, $_);
+      if($opt[0] eq "Type") {
+         push @obslist, $opt[3];
+         push @obsdesc, substr($_,13,length($_)-13);
+         push @obsselect, 0;
+      }
+      # following condition (..eq "G") means only GPS satellites get picked up
+      if($EOH==1 && $opt[0] eq "PRN" && substr($opt[1], 0, 1) eq "G") {
+         $numobs = $#obslist + 1;
+         push @svlist, $opt[1];
+         push @svselect, 0;
+         push @svbegin, [ $opt[$numobs+3], $opt[$numobs+4] ];
+         push @svend, [ $opt[$numobs+6], $opt[$numobs+7] ];
+      }
+      if($opt[0] eq "WARNING:" && $opt[1] eq "ObsType") {
+         $dummy = $opt[2];
+         foreach $i (0..$numobs-1) {
+            if($obslist[$i] eq $dummy) {
+               splice(@obslist, $i, 1);
+               splice(@obsdesc, $i, 1);
+               splice(@obsselect, $i, 1);
+               $numobs--;
+               last;
+            }
+         }
+      }
+   }
+   close FILE;
+   $numsvs = $#svlist + 1;
+
+   #print LOG "Obs types ($numobs) found: @obslist\n";
+   #print LOG "Found $numsvs SVs, here are start and stop times:\n";
+   #foreach $i (0..$numsvs-1) {
+   #   print LOG "$svlist[$i] ($svbegin[$i][0],$svbegin[$i][1])"
+   #   . " - ($svend[$i][0],$svend[$i][1])\n";
+   #}
+   return 0;
+}
+
+#-------------------------------------------------------------------------------------
+sub DataSats {
+   if($numsvs <= 0) {
+      $msg = "There are no satellites to select!"
+         . "\nGo to File/Input to load a new Rinex data file";
+      PopNotice("Error: no satellites",$msg);
+      return;
+   }
+
+   Status("Select satellites to be plotted.");
+   my $SLdb = $w_top->DialogBox(
+      -title => 'Select satellite(s) for plot',
+      -buttons => ['Ok','Cancel'],
+      -default_button => 'Ok',
+      -popover => $w_top,
+      -overanchor=> 'n',
+      -popanchor => 'n',
+   );
+   my (@cb);
+   my $rows = 6;
+   my ($r,$c,$cols)=(1,0,int 1+$numsvs/$rows);
+
+   # label and frame for satellites
+   $SLdb->add('Label',
+      -text => "Select Satellite(s)",
+      -justify => 'center')->grid(-columnspan => "$cols");
+   my $f1=$SLdb->Frame(-borderwidth => 2, -relief => 'groove')->grid();
+   foreach $i (0..$numsvs-1) {
+      $cb[$i] = $f1->Checkbutton(
+         -text => $svlist[$i],
+         -variable => \$svselect[$i],
+         -relief => 'flat')->grid(-row => $r, -column => $c, -ipadx => '2');
+      $r++;
+      if($r > $rows) { $r = 1; $c++; }
+   }
+   # frame for two buttons
+   $dummy = $rows+1;
+   my $f2 = $f1->Frame(-borderwidth => 2, -relief => 'flat'
+      )->grid(-row => $dummy, -columnspan => "$cols");
+   $dummy = int($cols/2);
+   if($dummy == 0) { $dummy=1; }
+   my $cb2 = $f2->Button(
+      -text => 'All',
+      -width => '15',
+      -relief => 'groove',
+      -command => \&SetAllSats)->grid(-row => 1, -column => 1);
+   my $cb1 = $f2->Button(
+      -text => 'Clear',
+      -width => '15',
+      -relief => 'groove',
+      -command => \&ClearSats)->grid(-row => 1, -column => 2);
+
+   # save a copy to see when sats are un-selected
+   my @saveselect = @svselect;
+   $ans = $SLdb->Show();
+   if($ans eq "Cancel") {
+      @svselect = @saveselect;
+      return;
+   }
+
+   $dummy = 0;
+   $filename = "$CFG{'datafile'}";
+   foreach $i (0..$numsvs-1) {
+      if($saveselect[$i] != $svselect[$i]) {
+         if($svselect[$i] == 0) {
+            if($dummy == 0) { print LOG "DataSet/Sats Selected Sats:"; $dummy=1; }
+            print LOG " -$svlist[$i]";
+         }
+         else {
+            if(-e $filename) {
+               $dummy = `rm -f $filename`;
+               if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+            }
+         }
+         $Reconfigure = 1;
+      }
+      if($svselect[$i] != 0) {
+         if($dummy == 0) { print LOG "DataSet/Sats Selected Sats:"; $dummy=1; }
+         print LOG " $svlist[$i]";
+         $nsvssel++;
+      }
+   }
+   if($dummy == 1) { print LOG "\n"; }
+   Status("Satellites selected ... go to DataSet/Obs to select obs?");
+}
+
+#-------------------------------------------------------------------------------------
+sub DataObst {
+   if($numobs <= 0) {
+      $msg = "There are no observation types selected!"
+         . "\nGo to File/Input to load a new Rinex data file";
+      PopNotice("Error: no obs types",$msg);
+      return;
+   }
+
+   Status("Select observations to be plotted.");
+   my $SLdb = $w_top->DialogBox(
+      -title => 'Select observation type(s) for plotting',
+      -buttons => ['Ok','Cancel'],
+      -default_button => 'Ok',
+      -popover => $w_top,
+      -overanchor=> 'n',
+      -popanchor => 'n',
+   );
+   my (@cb);
+   my $rows = 6;
+   my ($r,$c,$cols)=(1,0,int 1+$numobs/$rows);
+
+   # label and frame for obs types
+   $SLdb->add('Label',
+      -text => "\nSelect Obs Type(s)",
+      -justify => 'center')->grid(-columnspan => "$cols");
+   my $f2=$SLdb->Frame(-borderwidth => 2, -relief => 'groove')->grid();
+   foreach $i (0..$numobs-1) {
+      $cb[$i] = $f2->Checkbutton(
+         -text => $obslist[$i] . " = " . $obsdesc[$i],
+         -variable => \$obsselect[$i],
+         -relief => 'flat')->grid(-sticky => 'w');
+   }
+   # frame for two buttons
+   $dummy = $numobs+1;
+   my $f1 = $f2->Frame(-borderwidth => 2, -relief => 'flat'
+      )->grid(-row => $dummy, -columnspan => "$cols");
+   my $cb2 = $f1->Button(
+      -text => 'Clear',
+      -width => '15',
+      -relief => 'groove',
+      -command => \&ClearObs);
+   my $cb1 = $f1->Button(
+      -text => 'All',
+      -width => '15',
+      -relief => 'groove',
+      -command => \&SetAllObs)->grid($cb2);
+
+   # save a copy to see when sats are un-selected
+   my @saveselect = @obsselect;
+   $ans = $SLdb->Show();
+   if($ans eq "Cancel") {
+      @obsselect = @saveselect;
+      return;
+   }
+
+   $dummy = 0;
+   foreach $i (0..$numobs-1) {
+      if($saveselect[$i] != $obsselect[$i]) {
+         $Reconfigure = 1;
+         $ans = `rm -f $CFG{'datafile'}`; if($CFG{'verbose'} eq 'on') { print LOG $ans; }
+      }
+      if($obsselect[$i] != 0) {
+         if($dummy == 0) { print LOG "DataSet/ObsTypes Selected Obs:"; $dummy=1; }
+         print LOG "  $obslist[$i]";
+         $nobssel++;
+      }
+   }
+   if($dummy == 1) { print LOG "\n"; }
+   Status("Observations selected ... Refresh?");
+}
+
+#-------------------------------------------------------------------------------------
+sub DataTime {
+   # put up a dialog box with number entry box
+   Status("Dataset/Times Enter new time limits");
+   my $DTdb = $w_top->DialogBox(
+      -title => 'Time Limits',
+      -buttons => ['Ok','Cancel'],
+      -default_button => 'Ok',
+      -popover => $w_top,
+      -overanchor => 'c',
+      -popanchor => 'c',
+   );
+
+   ($begW,$begS) = split(',',$CFG{'begin'});
+   ($endW,$endS) = split(',',$CFG{'end'});
+
+   $DTdb->add('Label',-text => "  GPS   Week  Seconds of week")->pack(-anchor => 'w');
+   my $f1=$DTdb->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+   #$DTdb->add('Label')->pack(-anchor => 'w');
+   my $f2=$DTdb->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+
+   $f1->Label(-text => "Begin : ")->pack(-side => 'left');
+   my $e1=$f1->Entry(-textvariable => \$begW, -width => 5)->pack(-side => 'left');
+   $f1->Entry(-textvariable => \$begS, -width => 15)->pack(-side => 'left');
+   $f1->Button(-text => 'Clear', -width => '10', -relief => 'groove',
+      -command => \&ClearDTL)->pack(-side => 'right', -padx => '10');
+
+   $f2->Label(-text => "End    : ")->pack(-side => 'left');
+   $f2->Entry(-textvariable => \$endW, -width => 5)->pack(-side => 'left');
+   $f2->Entry(-textvariable => \$endS, -width => 15)->pack(-side => 'left');
+   $f2->Button(-text => 'Set to Data', -width => '10', -relief => 'groove',
+      -command => \&SetDTL)->pack(-side => 'right', -padx => '10');
+
+   $e1->focus;
+   $e1->icursor('end');
+   $ans = $DTdb->Show();
+   if($ans eq 'Ok') {
+      print LOG "Dataset/Time limits are ($begW,$begS)-($endW,$endS)\n";
+      $CFG{'begin'} = "$begW,$begS";
+      $CFG{'end'} = "$endW,$endS";
+   }
+   Status('');
+}
+sub ClearDTL {
+   $begW = 0;
+   $begS = 0;
+   $endW = 9999;
+   $endS = 0;
+}
+sub SetDTL {
+   ClearDTL();
+   if($numsvs <= 0) { return; }
+   my $firstime = 1;
+   foreach $i (0..$numsvs-1) {
+      if($svselect[$i] != 0) {
+         if($firstime) {
+            $begW = $svbegin[$i][0];
+            $begS = $svbegin[$i][1];
+            $endW = $svend[$i][0];
+            $endS = $svend[$i][1];
+            $firstime = 0;
+         }
+         else {
+            if( $svbegin[$i][0] <  $begW ||
+                   ($svbegin[$i][0] == $begW && $svbegin[$i][1] < $begS)) {
+               $begW = $svbegin[$i][0];
+               $begS = $svbegin[$i][1];
+            }
+            if( $svend[$i][0] >  $endW ||
+                   ($svend[$i][0] == $endW && $svend[$i][1] > $endS)) {
+               $endW = $svend[$i][0];
+               $endS = $svend[$i][1];
+            }
+         }
+      }
+   }
+}
+
+#-------------------------------------------------------------------------------------
+sub DataConf {
+   PopNotice("DataSet/Configure","DataSet/Configure is not yet implemented");
+   # Iono height
+   # debiasing
+}
+
+#-------------------------------------------------------------------------------------
+sub SetAllSats {
+   if($numsvs <= 0) { return; }
+   foreach $i (0..$numsvs-1) { $svselect[$i] = 1; }
+   $nsvssel = $numsvs;
+   $FirstAutoscale = 1;
+}
+
+#-------------------------------------------------------------------------------------
+sub ClearSats {
+   if($numsvs <= 0) { return; }
+   foreach $i (0..$numsvs-1) {
+      if($svselect[$i] != 0) {
+         $filename = "$CFG{'datafile'}";
+         if(-e $filename) {
+            $dummy = `rm -f $filename`;
+            if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+         }
+      }
+      $svselect[$i] = 0;
+   }
+   $nsvssel = 0;
+   $FirstAutoscale = 1;
+}
+
+#-------------------------------------------------------------------------------------
+sub SetAllObs {
+   if($numobs <= 0) { return; }
+   foreach $i (0..$numobs-1) { $obsselect[$i] = 1; }
+   $nobssel = $numobs;
+   $FirstAutoscale = 1;
+}
+
+#-------------------------------------------------------------------------------------
+sub ClearObs {
+   if($numobs <= 0) { return; }
+   foreach $i (0..$numobs-1) { $obsselect[$i] = 0; }
+   $nobssel = 0;
+   $FirstAutoscale = 1;
+}
+
+#-------------------------------------------------------------------------------------
+sub ConfigureCurves {
+   # each curve defined by Sat, OT, column in file, color, symbol type
+   # this routine must be called whenever selected svs OR selected ot changes
+   # when selected ot changes, the file $CFG{'datafile'} must be deleted
+   # if not already called, call this routine: Refresh, Graph/Curves, Graph/Limits
+   if($Reconfigure == 0) { return; }
+   print LOG "Configure curves:";
+   WaitCursor();
+   Status("Configure curves from selected data...please wait...");
+   $ncurv = 0;
+   $dummy = 0;       # count colors
+   # count symbols, if symbols 'on' (symbols[0]='none')
+   if($CFG{'points'} eq 'on') { $ans = 1; } else { $ans = 0; }
+   @curvSV = ();       # satellite for this curve
+   @curvOT = ();       # obs type (from @obslist)
+   @curvON = ();       # switch to turn off curve, on is non-zero
+   @curvCol = ();      # column in $CFG{'datafile'} where data is found
+   @curvLines = ();    # plot with lines or not (0)
+   @curvSymbs = ();    # plot with symbols (1-?) or not (0)
+   @curvColor = ();    # color to plot
+   foreach $i (0..$numsvs-1) {
+      if($svselect[$i] != 0) {                  # each satellite <-> file
+         my $n=0;   # n just counts the columns <-> obstype
+         foreach $j (0..$numobs-1) {
+            if($obsselect[$j] != 0) {           # each obstype
+               $curvSV[$ncurv] = $svlist[$i];
+               $curvOT[$ncurv] = $obslist[$j];
+               $curvON[$ncurv] = 1;
+               $curvCol[$ncurv] = 3*($n+1);
+               $n++;
+               $curvColor[$ncurv] = $colors[$dummy];
+               $dummy++; if($dummy > $#colors) { $dummy=0; }
+               if($CFG{'lines'} eq 'on') { $curvLines[$ncurv] = 1; }
+               else { $curvLines[$ncurv] = 0; }
+               $curvSymbs[$ncurv] = $symbols[$ans];
+               if($CFG{'points'} eq 'on') {
+                  $ans++;
+                  if($ans > $#symbols) { $ans=1; }
+               }
+               $ncurv++;
+               print LOG " $ncurv:$svlist[$i]/$obslist[$j]";
+            }
+         }
+      }
+   }
+   print LOG "\n";
+
+   if($ncurv <= 0) { # TD message? popup?
+      NormalCursor();
+      Status('');
+      return;
+   }
+
+   #print LOG "Number svs is $numsvs\n";
+   my $file = $CFG{'Rinex'};
+   if($ResCorfilename ne '') { $file = $ResCorfilename; }
+   $filename = "$CFG{'datafile'}";
+   if(not -e $filename) {
+      Status("Configure curves from selected data...please wait...");
+      $cmd = $CFG{'prgmdir'} . $SLASH . "RinexDump " . $file;
+      foreach $i (0..$numsvs-1) {
+         if($svselect[$i] != 0) { $cmd = $cmd . " $svlist[$i]"; }
+      }
+      foreach $j (0..$numobs-1) {
+         if($obsselect[$j] != 0) { $cmd = $cmd . " $obslist[$j]"; }
+      }
+      $cmd = $cmd . " > $filename";
+      print LOG "Collect data for plotting: Execute $cmd\n";
+      $dummy = `$cmd`; if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+   }
+
+   if($FirstAutoscale == 1) { autoscale(); }
+   if($Reconfigure == 1 && $UsingDefaults) { DefaultLabels(); }
+   $Reconfigure = 0;
+   NormalCursor();
+   Status("Curves configured...Refresh?");
+}
+
+#-------------------------------------------------------------------------------------
+sub DefaultLabels {
+   print LOG "Configure default labels\n";
+   WaitCursor();
+   Status("Configure labels from selected data...please wait...");
+
+   my (@ot, at sv, at un);
+   my %SVseen = ();
+   my %OTseen = ();
+   my %UNseen = ();
+   foreach $i (0..$ncurv-1) {
+      if($curvON[$i] != 0) {
+         # TD decide if they are plotted on left or right
+         unless($SVseen{$curvSV[$i]}) {
+            $SVseen{$curvSV[$i]} = 1;
+            push @sv, $curvSV[$i];
+         }
+         unless($OTseen{$curvOT[$i]}) {
+            $OTseen{$curvOT[$i]} = 1;
+            push @ot, $curvOT[$i];
+         }
+         unless($UNseen{$ExtUnit{$curvOT[$i]}}) {
+            $UNseen{$ExtUnit{$curvOT[$i]}} = 1;
+            push @un, $ExtUnit{$curvOT[$i]};
+         }
+      }
+   }
+
+   #print LOG "Unique SV @sv\n";
+   #print LOG "Unique OT @ot (@un)\n";
+   if($#un > 0) {
+      print LOG "WARNING: Inconsistent units on left axis (@un).\n";
+   }
+   $CFG{'Tlabel'} = "OTs (@ot) for Sats (@sv) vs. Time";
+   $CFG{'Llabel'} = "@ot (@un)";
+   $CFG{'Rlabel'} = '';
+   $CFG{'Blabel'} ="GPS Seconds of Week $CFG{'Week'}";
+
+   NormalCursor();
+   $UsingDefaults = 1;
+   Status("Labels configured.");
+}
+
+#-------------------------------------------------------------------------------------
+sub CompObst {
+   Status("Select new observation types to create...");
+   $ans = $ETdb->Show();
+   if($ans eq "Cancel") {
+      Status('');
+      return;
+   }
+   Status("New observation types have been selected..." .
+      "go to Compute/Create to compute.");
+
+   $dummy = 0;
+   foreach $i (0..$#ExtOT) {
+      if($ExtSelect[$i] != 0) {
+         if($dummy == 0) { print LOG "Compute/New Selected New Obs:"; $dummy=1; }
+         print LOG " $ExtOT[$i]";
+      }
+   }
+   if($dummy == 1) { print LOG "\n"; }
+}
+
+#-------------------------------------------------------------------------------------
+sub ExtDialogInit {
+   if($#ExtOT == -1) {  # only do this once...
+      $cmd = $CFG{'prgmdir'} . $SLASH . "ResCor -h > syntax.rc";
+      print LOG "Get list of possible new obs types: Execute $cmd\n";
+      $dummy = `$cmd`; if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+      open FILE, "syntax.rc" or die "Error: could not open syntax.rc\n";
+      my @opt = <FILE>;
+      my @ExtROT;
+      $ans = 0;
+      for($i=0; $i <= $#opt; $i++) {
+         chomp $opt[$i];
+         if($opt[$i] =~ /OT Description/) { $ans = 1; }
+         if($ans == 2) {
+            if($opt[$i] =~ /End of list of extended observation types/) { last; }
+            push @ExtROT, $opt[$i];
+            #print LOG "Line $i is $opt[$i]\n";
+         }
+         if($ans == 1 && $opt[$i] =~ /^  -- --/) { $ans = 2; }
+      }
+      for($i=0; $i <= $#ExtROT; $i++) {
+         push @ExtOT, substr($ExtROT[$i],2,2);
+			#print "New OT ",substr($ExtROT[$i],2,2);
+         my $desc = substr($ExtROT[$i],5,20);
+			#print " desc ",$desc;
+         #$desc =~ s/\s*$//;
+			push @ExtDesc, $desc;
+         my @fields = split(" ", substr($ExtROT[$i],26,length($ExtROT[$i])-26));
+         #push @ExtUnit, $fields[0];
+         $ExtUnit{$ExtOT[$i]} = $fields[0];
+			#print " units ",$ExtUnit{$ExtOT[$i]},"\n";
+         my $dep=0;
+         for($j=1; $j <= $#fields; $j++) {
+            if($fields[$j] eq 'L1') { $dep |= $DepL1; }
+            if($fields[$j] eq 'L2') { $dep |= $DepL2; }
+            if($fields[$j] eq 'P1') { $dep |= $DepP1; }
+            if($fields[$j] eq 'P2') { $dep |= $DepP2; }
+            if($fields[$j] eq 'EP') { $dep |= $DepEP; }
+            if($fields[$j] eq 'PS') { $dep |= $DepPS; }
+         }
+         push @ExtDep, $dep;
+         push @ExtSelect, 0;
+         #for($j=1; $j <= $#fields; $j++) { print LOG "/$fields[$j]"; }  # depends
+         #print LOG "\n";
+      }
+      #print LOG "Extended types:\n";
+      #for($i=0; $i <= $#ExtROT; $i++) {
+      #print LOG "$ExtOT[$i] $ExtDesc[$i] $ExtUnit{$ExtOT[$i]} dep(";
+      #if($ExtDep[$i] & $DepL1) { print LOG " L1"; }
+      #if($ExtDep[$i] & $DepL2) { print LOG " L2"; }
+      #if($ExtDep[$i] & $DepP1) { print LOG " P1"; }
+      #if($ExtDep[$i] & $DepP2) { print LOG " P2"; }
+      #if($ExtDep[$i] & $DepEP) { print LOG " EP"; }
+      #if($ExtDep[$i] & $DepPS) { print LOG " PS"; }
+      #print LOG ")\n";
+      #}
+
+      #now make up the dialog box
+      $ETdb = $w_top->DialogBox(
+         -title => 'Select extended observation type for processing',
+         -buttons => ['Ok','Cancel'],
+         -default_button => 'Ok',
+         -popover => $w_top,
+         -overanchor=> 'n',
+         -popanchor => 'n',
+      );
+      my (@cb);
+      my $rows = 1+$#ExtOT/3;
+      my ($r,$c,$cols)=(1,0,3);
+      $ETdb->add('Label',
+         -text => "Select new observation type",
+         -justify => 'center')->grid(-columnspan => "$cols");
+      my $f1=$ETdb->Frame(-borderwidth => 2, -relief => 'groove')->grid();
+      foreach $i (0..$#ExtOT) {
+         my $cb = $f1->Checkbutton(
+            -text => $ExtOT[$i] . " : " . $ExtDesc[$i],
+            -variable => \$ExtSelect[$i],
+            -relief => 'flat')->grid(
+            -sticky => 'w',
+            -row => $r,
+            -column => $c,
+            -ipadx => '2');
+         $r++;
+         if($r > $rows) { $r = 1; $c++; }
+      }
+      my $cb1 = $f1->Button(
+         -text => 'Clear',
+         -width => '15',
+         -relief => 'groove',
+         -command => \&ClearExot)->grid(-columnspan => "$cols");
+   }
+}
+
+#-------------------------------------------------------------------------------------
+sub ClearExot {
+   foreach $i (0..$#ExtOT) { $ExtSelect[$i] = 0; }
+}
+
+#-------------------------------------------------------------------------------------
+sub CompNavf {
+   Status("Get the name of a Rinex navigation file...");
+   $filename = $w_top->getOpenFile(-title => 'Choose a Rinex nav file');
+   if($filename eq '') { return; }
+   Status("The Rinex navigation file is $filename");
+   # ought to check that it is a Rinex nav file...
+   $CFG{'nav'} = $filename;
+}
+
+#-------------------------------------------------------------------------------------
+sub CompPosnSele {
+   Status("Select a receiver position");
+   $buffer='';
+   $len=0;
+   if (not open(F, "<positions.txt")) {
+      $w_top->Dialog(
+         -title => 'File \'positions.txt\' not found',
+         -text => "Could not open the file \'positions.txt\'",
+         -bitmap => 'error',
+      )->Show;
+      return;
+   }
+   $len = read(F, $buffer, 100000);
+   #print LOG "Read $len bytes\n";
+   close F;
+   my $CPdb = $w_top->DialogBox(
+      -title => "Compute/Receiver position",
+      -buttons => ['Ok','New','Cancel'],
+      -default_button => 'Ok',
+      -popover => $w_top,
+      -overanchor => 'c',
+      -popanchor => 'c',
+   );
+   $CPdb->Label(
+      -text => "Select a receiver position by highlighting\n"
+         . "a selection and pushing \'Ok\'.\n\n"
+         . "( The current Rinex observation file name is\n" . $CFG{'Rinex'}
+         . " )\n",
+      -justify => 'left',
+   )->pack(-side => 'top',-anchor => 'w');
+   my $list_win = $CPdb->Scrolled('Listbox',
+      -setgrid => 'true',
+      -selectmode => 'single',
+      -scrollbars => 'e',
+      -height => '20',   #lines
+      -width => '40',   #characters
+      );
+   $list_win->pack(-expand => 'yes', -fill => 'both');
+   #$list_win->bind('<Double-1>' =>
+   #sub {
+   #print LOG "You selected " . $_[0]->get('active') . "\n";
+   #}
+   #);
+   my @list = split("\n", $buffer);
+   $list_win->insert(0, @list);
+   $ans = $CPdb->Show();
+   #print LOG "ans is $ans\n";
+   if($ans eq 'Ok') {
+      #print LOG "You selected " . $list_win->get('active') . "\n";
+      ($RxLabel,$RxX,$RxY,$RxZ,$RxComment) = split('\s+',$list_win->get('active'));
+   }
+   elsif($ans eq 'New') {
+      Status("Compute/Receiver Position : Enter a new Receiver position");
+      my $NRdb = $w_top->DialogBox(
+         -title => 'Enter New Receiver',
+         -buttons => ['Ok','Cancel'],
+         -default_button => 'Ok',
+         -popover => $w_top,
+         -overanchor => 'c',
+         -popanchor => 'c',
+      );
+
+      my ($x,$y,$z,$label,$comment)=('','','','name','');
+
+      my $f1=$NRdb->Frame(-borderwidth => 2, -relief => 'flat'
+         )->pack(-anchor => 'w');
+      $NRdb->add('Label',-text => "\nECEF XYZ Coordinates (meters) :"
+         )->pack(-anchor => 'w');
+      my $f2=$NRdb->Frame(-borderwidth => 2, -relief => 'groove'
+         )->pack(-anchor => 'w');
+      $NRdb->add('Label',-text => "\nComment (optional)"
+         )->pack(-anchor => 'w');
+      my $f3=$NRdb->Frame(-borderwidth => 2, -relief => 'flat'
+         )->pack(-anchor => 'w');
+
+      $f1->Label(-text => "Site label for New Receiver (required, 4 characters) : "
+         )->pack(-side => 'left');
+      my $e1=$f1->Entry(-textvariable => \$label, -width => 5
+         )->pack(-side => 'left');
+      $f2->Label(-text => "X : ")->pack(-side => 'left');
+      $f2->Entry(-textvariable => \$x, -width => 15)->pack(-side => 'left');
+      $f2->Label(-text => "  Y : ")->pack(-side => 'left');
+      $f2->Entry(-textvariable => \$y, -width => 15)->pack(-side => 'left');
+      $f2->Label(-text => "  Z : ")->pack(-side => 'left');
+      $f2->Entry(-textvariable => \$z, -width => 15)->pack(-side => 'left');
+      #$f3->Label(-text => "Comment: ")->pack(-side => 'left');
+      $f3->Entry(-textvariable => \$comment, -width => 60)->pack(-side => 'left');
+
+      $e1->focus;
+      $e1->icursor('end');
+      $ans = $NRdb->Show();
+      if($ans eq 'Ok') {
+         #print LOG "New Rx position is $label, $x, $y, $z, $comment\n";
+         $RxLabel = $label;
+         $RxX = $x;
+         $RxY = $y;
+         $RxZ = $z;
+         $RxComment = $comment;
+         # TD add it to positions.txt
+      }
+   }
+   print LOG "Selected Rx Position is $RxLabel: ($RxX, $RxY, $RxZ) $RxComment\n";
+   Status('');
+}
+
+#-------------------------------------------------------------------------------------
+sub CompPosnRAIM {
+   PopNotice("Compute/Rx Position/RAIM",
+      "Compute/Rx Position/RAIM is not yet implemented");
+}
+
+#-------------------------------------------------------------------------------------
+sub CompConf {
+   my ($cf,$ca)=(0,0);
+   if($CFG{'Cforce'} eq 'on') { $cf=1; }
+   if($CFG{'Callow'} eq 'on') { $ca=1; }
+   Status("Modify computation configuration as preferred");
+   my $CCdb = $w_top->DialogBox(
+      -title =>  "Computation configuration",
+      -buttons => ['Ok','Cancel'],
+      -default_button => 'Ok',
+      -popover => $w_top,
+      -overanchor => 'c',
+      -popanchor => 'c',
+   );
+   $CCdb->add('Label',-text => "Computation Configuration")->pack(-anchor => 'w');
+   my $f2=$CCdb->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+   $f2->Checkbutton(
+         -text => "Allow C1 to replace missing P1",
+         -variable => \$ca,
+         -relief => 'flat')->pack(-anchor => 'w');
+
+   my $f1=$CCdb->Frame(-borderwidth => 2, -relief => 'flat')->pack(-anchor => 'w');
+   $f1->Checkbutton(
+         -text => "Force C1 to replace P1",
+         -variable => \$cf,
+         -relief => 'flat')->pack(-anchor => 'w');
+
+   $ans = $CCdb->Show();
+   if($ans eq 'Ok') {
+      if($ca) { $CFG{'Callow'} = 'on'; } else { $CFG{'Callow'} = 'off'; }
+      if($cf) { $CFG{'Cforce'} = 'on'; } else { $CFG{'Cforce'} = 'off'; }
+   }
+   Status('');
+}
+
+#-------------------------------------------------------------------------------------
+sub CompCrea {
+   Status("Create new observation types by computation...");
+   my ($depend,$have,$ok,$need)=(0,0,0,0);
+   my @opt = ();  # options passed to ResCor
+   $dummy = 0;    # count the number of selected ExtOT
+   for($i=0; $i <= $#ExtOT; $i++) {
+      if($ExtSelect[$i] != 0) { $dummy++; $depend |= $ExtDep[$i]; };
+   }
+   if($dummy == 0) {
+      $msg = "There are no extended obs types defined.\n"
+         . "Go to Compute/Select New Obs types to make a choice      ";
+      PopNotice("Error: no new obs types",$msg);
+      return;
+   }
+
+   foreach $i (0..$numobs-1) {
+      if($obslist[$i] eq 'C1') { $have |= $DepC1; }
+      if($obslist[$i] eq 'L1') { $have |= $DepL1; }
+      if($obslist[$i] eq 'L2') { $have |= $DepL2; }
+      if($obslist[$i] eq 'P1') { $have |= $DepP1; }
+      if($obslist[$i] eq 'P2') { $have |= $DepP2; }
+      if($CFG{'nav'} ne '') { $have |= $DepEP; }
+      if($RxLabel ne '') { $have |= $DepPS; }
+   }
+   #if(($have & $DepC1) && ($have & $DepP1)) {
+      #print LOG "Dep bits for C1 and P1 are " . sprintf("%X %X\n",$DepC1,$DepP1);
+      #print LOG "old have is " . sprintf("%X",$have) . "\n";
+      #$have |= $DepP1;
+      #$have &= ~($DepC1);
+      #print LOG "new have is " . sprintf("%X",$have) . "\n";
+   #}
+   $ok = $depend & $have;   # those we need AND have
+   $need = $ok ^ $depend;   # those we need but do NOT have
+   # can C1 substitute for P1?
+   if(($need & $DepP1) && ($have & $DepC1)
+      && ($CFG{'Callow'} eq 'on' || $CFG{'Cforce'} eq 'off')) {
+      $need &= ~($DepP1);
+   }
+   if($need != 0) {
+      my $needdata = 0;
+      $msg = "The selected new observation types cannot            \n"
+         . "be computed because some input is missing :\n\n";
+      if($need & $DepL1) { $msg = $msg . " L1 is missing\n"; $needdata++; }
+      if($need & $DepL2) { $msg = $msg . " L2 is missing\n"; $needdata++; }
+      if($need & $DepP1) {
+         if($have & $DepC1) {
+            if($CFG{'Callow'} eq 'off') {
+               $msg = $msg . " P1 is missing (Hint: Select 'Allow use of C1'\n"
+               . "   under Compute/Configure)\n";
+               $needdata++;
+            }
+         }
+         else { $msg = $msg . " P1 is missing\n"; $needdata++; }
+      }
+      if($need & $DepP2) { $msg = $msg . " P2 is missing\n"; $needdata++; }
+      #if($need & $DepEP) { $msg = $msg . " EP is missing\n"; }
+      #if($need & $DepPS) { $msg = $msg . " PS is missing\n"; }
+      #$msg = $msg . "\n";
+      if($needdata != 0) { $msg = $msg
+         . "\n-> Computation cannot proceed with this obs file.         \n";
+      }
+      if($need & $DepEP) { $msg = $msg
+         . "\n-> Go to Compute/Nav File to select a navigation file.        \n";
+      }
+      if($need & $DepPS) { $msg = $msg
+         . "\n-> Go to Compute/Rx Position to input a receiver position.         \n";
+      }
+      PopNotice("Error: Some input missing",$msg);
+      #$ans = $w_top->messageBox(-title => 'Error: Some input missing',
+      #-message => $msg, -type => 'OK', -icon => 'info');
+      return;
+   }
+
+   # call ResCor
+   WaitCursor();
+   Status("Creating new observation types...please wait");
+   $ResCorfilename = basename($CFG{'Rinex'}) . ".rc";
+   print LOG "Create new obs types; output to file $ResCorfilename\n";
+   push @opt, "-IF$CFG{'Rinex'}";
+   push @opt, "-OF$ResCorfilename";
+   if($CFG{'nav'} ne '') { push @opt, "--nav $CFG{'nav'}"; }
+   if($RxX ne '') { push @opt, "--RxXYZ $RxX,$RxY,$RxZ"; }
+   #TD allow this to be configured
+   foreach $i (0..$#ExtOT) { if($ExtSelect[$i] != 0) {
+      push @opt, "-AO$ExtOT[$i]";
+      if($MayDebias{$ExtOT[$i]}) {
+         push @opt, "--debias $ExtOT[$i],100";
+      }
+   } }
+   # use C1 when P1 is not there
+   if(($have & $DepC1) && $CFG{'Callow'} eq 'on') { push @opt, "--Callow"; }
+   if($CFG{'Cforce'} eq 'on') { push @opt, "--Cforce"; }
+   push @opt, "--verbose";
+
+   $cmd = $CFG{'prgmdir'} . $SLASH . "ResCor " . " @opt";
+   
+   print LOG "Create new obs types: Execute $cmd\n";
+   $buffer = `$cmd`;
+   #print LOG "Result is\n$buffer\n";
+   Status("New observation types are ready");
+   $RinexRCSummary = $ResCorfilename . ".sum";
+   $cmd = $CFG{'prgmdir'} . $SLASH . "RinSum -g -i" . $ResCorfilename
+      . " > $RinexRCSummary";
+   Status("Summarizing new obs file $filename...please wait...");
+   print LOG "Summarize obs file: Execute $cmd\n";
+   $dummy = `$cmd`; if($CFG{'verbose'} eq 'on') { print LOG $dummy; }
+   if($CFG{'autoview'} eq 'on') { FileSumm(); }
+   $ans = DataGather($RinexRCSummary);
+   NormalCursor();
+   Status("Summary complete for $filename.");
+}
+
+#-------------------------------------------------------------------------------------
+sub GrapLims {
+   #print LOG "Graph/Limits\n";
+   ConfigureCurves();
+
+   # put up a dialog box with number entry box
+   Status("Graph/Limits: enter new limits, or autoscale (determine from data)");
+   my $DLdb = $w_top->DialogBox(
+      -title => 'Plotting Limits',
+      -buttons => ['Ok','Auto','Cancel'],
+      -default_button => 'Ok',
+      -popover => $w_top,
+      -overanchor => 'c',
+      -popanchor => 'c',
+   );
+
+   ($YMin,$YMax,$XMin,$XMax)=($CFG{'YMin'},$CFG{'YMax'},$CFG{'XMin'},$CFG{'XMax'});
+
+   $DLdb->add('Label',-text => "Y: data")->pack(-anchor => 'w');
+   my $f1=$DLdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+   $DLdb->add('Label',-text => "X: time")->pack(-anchor => 'w');
+   my $f2=$DLdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+
+   #$f1->Label(-text => "Y: data :    ")->pack(-side => 'left');
+   my $e1=$f1->Entry(-textvariable => \$YMin, -width => 15)->pack(-side => 'left');
+   $f1->Entry(-textvariable => \$YMax, -width => 15)->pack(-side => 'left');
+
+   #$f2->Label(-text => "X: time : ")->pack(-side => 'left');
+   $f2->Entry(-textvariable => \$XMin, -width => 15)->pack(-side => 'left');
+   $f2->Entry(-textvariable => \$XMax, -width => 15)->pack(-side => 'left');
+
+   $e1->focus;
+   $e1->icursor('end');
+   $ans = $DLdb->Show();
+   if($ans eq 'Ok') {
+      print LOG "Graph/Limits are Y: $YMin, $YMax, X: $XMin, $XMax\n";
+      NewScale('fixed','Graph/Limits');
+      Refresh();
+   }
+   elsif($ans eq 'Auto') {
+      autoscale();
+      Refresh();
+   }
+   else { Status(''); }
+}
+
+#-------------------------------------------------------------------------------------
+sub AutoScale {
+   my $fas=$FirstAutoscale;
+   ConfigureCurves();
+   if($fas == 0) { autoscale(); Refresh(); }
+}
+
+#-------------------------------------------------------------------------------------
+# compute max and min y and x from file(s) -- consider time limits
+sub autoscale {
+   Status("Autoscale - redefine limits using data min/max");
+   $filename = "$CFG{'datafile'}";
+   open FILE, "$filename" or die "Error: autoscale could not open $filename\n";
+   my ($first,$firstime,$thistime,$sat)=(1,1,0,'');
+   my ($bw,$bs)=split(',',$CFG{'begin'});
+   my ($ew,$es)=split(',',$CFG{'end'});
+   while(<FILE>) {
+      chomp;
+      $_ =~ s/^\s_//;
+      if(m/Rinexdump/) { next; }
+      if(m/Week/) { next; }
+      s/^\s+//;               # no leading white space
+      @opt = split(/\s+/, $_);
+      #$week = $opt[0];
+      #$sow = $opt[1];
+      next if($opt[0] < $bw);
+      next if($opt[0] == $bw && $opt[1] < $bs);
+      last if($opt[0] > $ew);
+      last if($opt[0] == $ew && $opt[1] > $es);
+      $sat = $opt[2];
+      $thistime = 0;
+      foreach $j (0..$ncurv-1) {
+         if($curvON[$j] == 0) { next; }
+         if($curvSV[$j] eq $sat) {
+            $thistime = 1;
+            if($first == 1) {
+               $YMax = $opt[$curvCol[$j]];
+               $YMin = $opt[$curvCol[$j]];
+               $first = 0;
+            }
+            else {
+               if($opt[$curvCol[$j]] < $YMin) { $YMin = $opt[$curvCol[$j]]; }
+               if($opt[$curvCol[$j]] > $YMax) { $YMax = $opt[$curvCol[$j]]; }
+            }
+         }
+      }
+      if($thistime == 1) {
+         if($firstime == 1) {
+            $XMax = $opt[1];
+            $XMin = $opt[1];
+            $CFG{'Week'} = $opt[0];
+            $firstime = 0;
+         }
+         else {
+            $i = ($opt[0]-$CFG{'Week'})*604800 + $opt[1];
+            if($i < $XMin) { $XMin = $i; }
+            if($i > $XMax) { $XMax = $i; }
+         }
+      }
+   }
+
+   if($firstime == 1) {
+      PopNotice("Graph/Autoscale","Autoscale finds no data (within time limits)!");
+   }
+   else {
+      # NewScale requires $XMin,$XMax,$YMin,$YMax as input
+      NewScale('auto','Autoscale');
+   }
+   if($UsingDefaults) { DefaultLabels(); }
+}
+
+#-------------------------------------------------------------------------------------
+sub NiceScale {
+   # call with args Min Max Ntics Npixels
+   # results stored in $ScaleMin $ScaleStep $ScaleExp $ScaleN
+   my ($dmin,$dmax,$ntic,$npix)=@_;
+   #print LOG "NiceScale called with $dmin $dmax $ntic $npix\n";
+   ($ScaleMin,$ScaleStep,$ScaleExp,$ScaleN,$ScalePPL)=(0,0,0,0);
+   if($dmax < $dmin) { $dummy=$dmax; $dmax=$dmin; $dmin=$dummy; }
+   if($npix < 2 || $npix > 10000) {
+      print LOG "NiceScale: Number of pixels is unreasonable\n";
+      return;
+   }
+   $ScalePPL = ($npix-1)/($ntic-1);        # pixels per label
+   if($ScalePPL <= 0 || $ScalePPL >= $npix) {
+      print LOG "NiceScale: Number of pixels per label is unreasonable\n";
+      return;
+   }
+   $ScaleN = 1+($npix-1)/$ScalePPL;
+   $dummy = abs($dmax);
+   if(abs($dmin) > $dummy) { $dummy=abs($dmin); }
+   if($dmax-$dmin <= 5.0e-8 * $dummy) {   # effectively equal limits
+      if($dmax < 0)     { $dmax=0.0; }
+      elsif($dmax == 0) { $dmax=1.0; }
+      elsif($dmax > 0)  { $dmax=0.0; }
+   }
+   my $finter=$npix/$ScalePPL;
+   #print LOG "PPL is $ScalePPL, and finter is $finter\n";
+   my $scale=($dmax-$dmin)*1.00002/$finter;
+   $ScaleExp = 0;
+   while($scale <= 10) { $scale *= 10; $ScaleExp++; }
+   while($scale > 100) { $scale /= 10; $ScaleExp--; }
+   #print LOG "scale is $scale\n";
+   #print LOG "Exponent is $ScaleExp\n";
+   my $iunit;
+   foreach $i (1..$#NiceUnits-1) {
+      $iunit = $i;
+      if($scale <= $NiceUnits[$i]) { last; }
+   }
+   #print LOG "NiceUnit[$iunit] is $NiceUnits[$iunit]\n";
+   my ($istay,$aj,$tstep)=(1,0,0);
+   while($istay == 1) {
+      $ScaleStep = $NiceUnits[$iunit] / (10.0 ** $ScaleExp);
+      $aj = 0;
+      while(1) {
+         $aj++;
+         $dummy = int(($NiceUnits[$iunit]+0.1)/$aj);
+         if($NiceUnits[$iunit]-0.1 > $aj*$dummy) { next; }
+         $tstep = $ScaleStep/$aj;
+         $dummy = $dmin/$tstep + $aj*(0.5/$ScalePPL - $finter*1.0e-5);
+         $ScaleMin = $tstep * int($dummy);
+         if($dummy < 0 && $dummy != int($dummy)) { $ScaleMin -= $tstep; }
+         if($dmax < $ScaleMin + $ScaleStep*($finter*0.99999-(0.5/$ScalePPL))) {
+            $istay=0; last;
+         }
+         $dummy = 1.0 - 1.0/($aj * $finter);
+         # TD this fails occasionally: divide by zero
+         if(($NiceUnits[$iunit]/$NiceUnits[$iunit+1])*$dummy < 0.7) {
+            next;
+         }
+         $iunit++;
+         if($iunit > 11) { $istay=0; last; }   # TD ??
+      }
+   }
+   foreach $i (1,2) {
+      $aj *= 10;
+      if($NiceUnits[$iunit]-0.1 < $aj*int(($NiceUnits[$iunit]+0.1)/$aj)) {
+         $ScaleExp--;
+      }
+   }
+
+   #print LOG "NiceScale finds exp $ScaleExp ";
+   #foreach $i (0..$ScaleN-1) {
+   #   $dummy = $ScaleMin + $i * $ScaleStep;
+   #   # $dummy are labels; multiply by 10**ScaleExp to make them all integers
+   #   if($ScaleExp > 0) { print LOG sprintf(" %.$ScaleExp"."f",$dummy); }
+   #   else { print LOG " $dummy"; }
+   #}
+   #print LOG "\n";
+}
+
+#-------------------------------------------------------------------------------------
+sub GrapAxes {
+   PopNotice("Graph/Axes","Graph/Axes is not yet implemented");
+}
+
+#-------------------------------------------------------------------------------------
+sub GrapLabe {
+   Status("Labels on the graph");
+   my $GLdb = $w_top->DialogBox(
+      -title =>  "Graph Labels",
+      -buttons => ['Ok','Default','Clear'],
+      -default_button => 'Ok',
+      -popover => $w_top,
+      -overanchor => 'c',
+      -popanchor => 'c',
+   );
+   $GLdb->add('Label',-text => "Title:")->pack(-anchor => 'w');
+   my $f1=$GLdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+   $GLdb->add('Label',-text => "Bottom (X) axis label:")->pack(-anchor => 'w');
+   my $f2=$GLdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+   $GLdb->add('Label',-text => "Left (Y) axis label:")->pack(-anchor => 'w');
+   my $f3=$GLdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+   $GLdb->add('Label',-text => "Right (Y) axis label:")->pack(-anchor => 'w');
+   my $f4=$GLdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+
+   my $len = length($CFG{'Tlabel'});
+   if($len < length($CFG{'Blabel'})) { $len = length($CFG{'Blabel'}); }
+   if($len < length($CFG{'Llabel'})) { $len = length($CFG{'Llabel'}); }
+   if($len < length($CFG{'Rlabel'})) { $len = length($CFG{'Rlabel'}); }
+   if($len < 20) { $len = 20; }
+
+   my $e1=
+   $f1->Entry(-textvariable => \$CFG{'Tlabel'},-width => $len)->pack(-side => 'left');
+   $f2->Entry(-textvariable => \$CFG{'Blabel'},-width => $len)->pack(-side => 'left');
+   $f3->Entry(-textvariable => \$CFG{'Llabel'},-width => $len)->pack(-side => 'left');
+   $f4->Entry(-textvariable => \$CFG{'Rlabel'},-width => $len)->pack(-side => 'left');
+
+   $ans = $GLdb->Show();
+   $e1->focus; $e1->icursor('end');
+   if($ans eq 'Default') {
+      DefaultLabels();
+      GrapLabe();
+   }
+   if($ans eq 'Clear') {
+      $CFG{'Tlabel'}='';
+      $CFG{'Blabel'}='';
+      $CFG{'Llabel'}='';
+      $CFG{'Rlabel'}='';
+      GrapLabe();
+   }
+   else {
+      $UsingDefaults = 0;
+   }
+   Status('');
+}
+
+#-------------------------------------------------------------------------------------
+sub GrapCurv {
+   ConfigureCurves();
+
+   if($ncurv <= 0) {
+      $msg = "There are no curves defined.\n" .
+         "Go to DataSet/Select to make a choice      ";
+      PopNotice("Error: no curves",$msg);
+      return;
+   }
+
+   Status("Curves to be plotted");
+   #PopNotice("Graph/Curves","Graph/Curves is not yet implemented");
+   my $GCdb = $w_top->DialogBox(
+      -title => 'Curves defined for plotting',
+      -buttons => ['Ok','Cancel'],
+      -default_button => 'Ok',
+      -popover => $w_top,
+      -overanchor=> 'n',
+      -popanchor => 'n',
+   );
+
+   $GCdb->add('Label', -text => "CURVES", -justify => 'center')->pack(-side => 'top');
+   $GCdb->add('Label', -text =>
+      ' N   On          Sat         OT       Color    Line      Symbol              ',
+      #-font => 'C_small',
+      -justify => 'left')->pack(-side => 'top');
+   my @fr;   # frame for each curve
+   my @sats = @curvSV;
+   my @otss = @curvOT;
+   my @swit = @curvON;
+   my @line = @curvLines;
+   my @symb = @curvSymbs;
+   my @colo = @curvColor;
+   my @cb;
+   $dummy = '   ';
+   foreach $i (0..$ncurv-1) {
+      # frame for each curve
+      $fr[$i]=$GCdb->Frame(-borderwidth => 2, -relief => 'groove'
+         )->pack(-side => 'top');
+      # label and entry for Sat
+      $fr[$i]->Label(-text => sprintf("%2d",$i), -font => 'C_small'
+         )->pack(-side => 'left');
+      $fr[$i]->Checkbutton(-text => '  ', -variable => \$swit[$i],
+         -relief => 'flat')->pack(-side => 'left');
+      $fr[$i]->Label(-text => " ")->pack(-side => 'left');
+      $fr[$i]->Entry(-textvariable => \$sats[$i], -width => 4)->pack(-side => 'left');
+      $fr[$i]->Label(-text => " ")->pack(-side => 'left');
+      $fr[$i]->Entry(-textvariable => \$otss[$i], -width => 3)->pack(-side => 'left');
+      $fr[$i]->Label(-text => "  ")->pack(-side => 'left');
+      # color - colored button calls up color selection dialog
+      $cb[$i] = $fr[$i]->Button(-text => '  ',
+         -width => 2,
+         -background => $colo[$i],
+         -activebackground => $colo[$i],
+         -command => sub {
+            $dummy = $fr[$i]->chooseColor(
+               -title => 'choose a new color',
+               -initialcolor => $colo[$i]);
+            if($dummy ne '') {
+               $colo[$i] = $dummy;
+               $cb[$i]->configure('-background' => $colo[$i],
+                               '-activebackground' => $colo[$i]);
+            }
+         })->pack(-side => 'left', -ipadx => '2');
+      # line checkbox
+      $fr[$i]->Checkbutton(-text => '', -variable => \$line[$i],
+         -relief => 'flat')->pack(-side => 'left', -ipadx => '4');
+      # symbol browseentry
+      $fr[$i]->BrowseEntry(-label => ' ',
+         -variable => \$symb[$i],
+         -choices => \@symbols,
+         -width => 6,
+         -listwidth => 18,
+         -state => 'readonly',
+         )->pack(-side => 'left', -ipadx => '2');
+      #space on the right
+      $fr[$i]->Label(-text => " ")->pack(-side => 'left');
+   }
+
+   $ans = $GCdb->Show();
+   Status('');
+   if($ans eq "Cancel") { return; }
+
+   $dummy = 0;
+   foreach $i (0..$#curvON) {
+      if($curvON[$i] != $swit[$i]) {
+         if($dummy == 0) { print LOG "Graph/Curves toggles"; $dummy=1; }
+         print LOG " $i:";
+         if($swit[$i] == 0) { print LOG "OFF"; } else { print LOG "ON"; }
+      }
+   }
+   if($dummy != 0) { print LOG "\n"; }
+   @curvON = @swit;
+   @curvLines = @line;
+   @curvSymbs = @symb;
+   @curvColor = @colo;
+}
+
+#sub GrapColo {
+#   #print LOG "Graph/Colors\n";
+#   $FCOLOR= $w_top->chooseColor(-title => "Choose color for plot",
+#      -initialcolor => $FCOLOR);
+#   print LOG "New color is $FCOLOR\n";
+#}
+
+#-------------------------------------------------------------------------------------
+sub GrapZoom {
+   # (for some reason, when called from menu, arguments are different)
+   my $io;
+   ($dummy, $io) = @_;           # ignore dummy here
+   $dummy = $CFG{'zoomX'} / 2;
+
+   my $size=$CFG{'XMax'}-$CFG{'XMin'};
+   if($io eq 'In') { $size = -$size; }
+   $XMin = $CFG{'XMin'} - $CFG{'zoomX'} * $size;
+   $XMax = $CFG{'XMax'} + $CFG{'zoomX'} * $size;
+
+   $size=$CFG{'YMax'}-$CFG{'YMin'};
+   if($io eq 'In') { $size = -$size; }
+   $YMin = $CFG{'YMin'} - $CFG{'zoomX'} * $size;
+   $YMax = $CFG{'YMax'} + $CFG{'zoomX'} * $size;
+
+   # NewScale requires $XMin,$XMax,$YMin,$YMax as input
+   NewScale('fixed','Graph/Zoom');
+   Refresh();
+}
+
+#-------------------------------------------------------------------------------------
+sub GrapUnzo {
+   if($OldXMin eq '') { return; }
+   ($XMin,$XMax,$YMin,$YMax) = ($OldXMin,$OldXMax,$OldYMin,$OldYMax);
+   # NewScale requires $XMin,$XMax,$YMin,$YMax as input
+   NewScale('fixed','Graph/Unzoom');
+   Refresh();
+}
+
+#-------------------------------------------------------------------------------------
+sub GrapGnup {
+   PopNotice("Graph/Gnuplot","Graph/Gnuplot is not yet implemented.");
+}
+
+#-------------------------------------------------------------------------------------
+sub HelpTopi {
+   #PopNotice("Help/Topics","Help/Topics is    \nnot yet implemented.");
+
+   #if(! Exists($HTmw)) {  # not necessary
+   my $HTmw = MainWindow->new();
+   $HTmw->title("Help on RinexPlot");
+   my $b = $HTmw->Button(
+      -text => 'Close this Help window',
+      -width => '40',
+      -command => sub { $HTmw->withdraw },
+      )->pack();
+   my $t = $HTmw->Scrolled('ROText',
+      -setgrid => 'true',
+      -width => '65',
+      -height => '30',
+      -font => 'normal',
+      -wrap => 'word',
+      -scrollbars => 'e');
+   $t->pack(qw/-expand yes -fill both/);
+
+   # Set up display styles.
+   $HTmw->fontCreate(qw/C_small -family courier   -size 10/);
+   $HTmw->fontCreate(qw/C_big   -family courier   -size 14 -weight bold/);
+   $HTmw->fontCreate(qw/C_vbig  -family helvetica -size 24 -weight bold/);
+   $HTmw->fontCreate(qw/C_bold  -family courier -size 12 -weight bold -slant italic/);
+   $t->tag(qw/configure bold    -font C_bold/);
+   $t->tag(qw/configure big     -font C_big/);
+   $t->tag(qw/configure verybig -font C_vbig/);
+   $t->tag(qw/configure small   -font C_small/);
+   if ($HTmw->depth > 1) {
+   $t->tag(qw/configure color1 -background/ => '#a0b7ce'); #this color is "MSWin blue"
+   $t->tag(qw/configure color2 -foreground red/);
+   $t->tag(qw/configure raised -relief raised -borderwidth 1/);
+   $t->tag(qw/configure sunken -relief sunken -borderwidth 1/);
+   } else {
+   $t->tag(qw/configure color1 -background black -foreground white/);
+   $t->tag(qw/configure color2 -background black -foreground white/);
+   $t->tag(qw/configure raised -background white -relief raised -bd 1/);
+   $t->tag(qw/configure sunken -background white -relief sunken -bd 1/);
+   }
+   $t->tag(qw/configure bgstipple  -background black -borderwidth 0
+      -bgstipple gray12/);
+   $t->tag(qw/configure fgstipple  -fgstipple gray50/);
+   $t->tag(qw/configure underline  -underline on/);
+   $t->tag(qw/configure overstrike -overstrike on/);
+   $t->tag(qw/configure right      -justify right/);
+   $t->tag(qw/configure center     -justify center/);
+   $t->tag(qw/configure super      -offset 4p -font C_small/);
+   $t->tag(qw/configure sub        -offset -2p -font C_small/);
+   $t->tag(qw/configure margins    -lmargin1 12m -lmargin2 6m -rmargin 10m/);
+   $t->tag(qw/configure spacing     -spacing1 10p -spacing2 2p
+      -lmargin1 12m -lmargin2 6m -rmargin 10m/);
+
+
+   # now insert text
+   $t->insert('0.0', "RinexPlot is a GUI for the GPS Toolkit (gpstk) utility "
+      . "programs that will read, manipulate and plot data in a Rinex file.\n\n",
+      'big');
+   $t->insert('insert',"Here is the general flow of things:\n");
+   $t->insert('insert',"  1.",'big');
+   $t->insert('insert'," Select a Rinex observation file by choosing "
+     . "'File/Obs file' from the main menu. Wait for the summary window to come up,"
+     . " then close it to return to the main menu.\n");
+   $t->insert('insert',"  2.",'big');
+   $t->insert('insert'," (2-4 Optional) Select new observation types by choosing "
+     . "'Compute/New Data types' from the main menu\n");
+   $t->insert('insert',"  3.",'big');
+   $t->insert('insert'," Choose a Rinex navigation file (Compute/Nav file)"
+     . " and a Receiver position (Compute/Rx position)...these may or may not be "
+     . "required, depending on the choices you made in Step 2 (Step 4 will inform"
+     . " you if more input is needed.\n");
+   $t->insert('insert',"  4.",'big');
+   $t->insert('insert'," Compute the new types by choosing 'Compute/Create new data'."
+     . " (This step is important! - if your new obs types do not show up under"
+     . " Dataset/Obs types, you may have skipped this step.)\n");
+   $t->insert('insert',"  5.",'big');
+   $t->insert('insert'," Select dataset(s) to plot by choosing 'Dataset/Satellites'"
+     . " AND 'Dataset/Obs types'; optionally also limit the plot in time using"
+     . " 'Dataset/Times', and in other ways under Dataset/Configure.\n");
+   $t->insert('insert',"  6.",'big');
+   $t->insert('insert'," Now press 'Refresh' to re-draw the screen...whenever the "
+     . "data and/or graph are changed, press Refresh to draw the new plot.\n");
+   $t->insert('insert',"  7.",'big');
+   $t->insert('insert'," Features of the plot, such as limits and colors, can be seen"
+     . " and set under 'Graph' on the main menu.\n");
+   $t->insert('insert',"  8.",'big');
+   $t->insert('insert'," Preferences and switches can be set under 'Settings' on the"
+     . " main menu.\n");
+  #$t->insert('insert',"  9.",'big');
+  #$t->insert('insert',"\n");
+   $t->insert('insert',"\n(Usually you can look at the status bar at the bottom of "
+     . "the window to get hints about what has just happened or what to do next.)\n");
+
+   $t->insert('insert',"\nSwitches and options\n",'big');
+   $t->insert('insert',"- Summary files automatically shown in window.\n");
+   $t->insert('insert',"- Refresh automatically after selection/zoom/resizing.\n");
+   $t->insert('insert',"- GPS satellites only.\n");
+   $t->insert('insert',"- Output to a log file or the screen\n");
+   $t->insert('insert',"- Directory of GPSTk programs\n");
+
+   $t->insert('insert',"\nCommand line arguments:\n",'big');
+   $t->insert('insert',"  Command line arguments may come in any order, but note that"
+     . " many depend on others and have no effect unless those others are present."
+     . "\n\n");
+   $t->insert('insert',"All command line options:\n");
+   $t->insert('insert',"  [Note pattern: --opt <arg> OR --opt=<arg>]\n",'small');
+   $t->insert('insert',$CmdText,'small');
+
+   $t->insert('insert',"\nMouse things\n",'big');
+   $t->insert('insert',"- Click on any point in the graph; the status bar will show "
+     . "coordinates (both screen and data).\n");
+   $t->insert('insert',"- Click, drag and un-click to make a rectangle on the graph."
+     . " A box pops up allowing you to zoom the plot to the rectangle.\n");
+
+   $t->mark(qw/set insert 0.0/);
+
+   #} else {       # HTmw already exists
+   #$HTmw->deiconify();
+   #$HTmw->raise();
+   #}
+}
+
+#-------------------------------------------------------------------------------------
+sub HelpAbou {
+   #print LOG "Help/About\n";
+   my $HAdb = $w_top->DialogBox(
+      -title => 'About RinexPlot',
+      -buttons => ['Ok'],
+      -popover => $w_top,
+      -overanchor => 'n',
+      -popanchor => 'n',
+   );
+   $HAdb->add('Label', -text => $ABOUT_TEXT,
+      -justify => 'left')->pack;
+   $HAdb->add('Label', -text => $AUTHOR_TEXT,
+      -justify => 'left')->pack;
+   $HAdb->add('Label', -text => "Version is " . $VERSION . "\n",
+      -justify => 'left')->pack;
+   $HAdb->add('Label', -text => "Operating System is $^O",
+      -justify => 'left')->pack;
+   $HAdb->Show();
+}
+
+#-------------------------------------------------------------------------------------
+sub SettPref {
+   # menu tearoff (command line only - before creation) my $menutear = 1; ???
+   # (to do this you would have to scan args before calling init() )
+   my ($av,$ud,$lf,$zf)=(0,$CFG{'prgmdir'},$CFG{'log'},$CFG{'zoomX'});
+   my ($vb,$lr,$lo,$so)=(0,0,0,0);
+   if($CFG{'autoview'} eq 'on') { $av=1; }
+   if($CFG{'verbose'} eq 'on') { $vb=1; }
+   if($CFG{'keepdata'} eq 'on') { $lr=1; }
+   if($CFG{'lines'} eq 'on') { $lo=1; }
+   if($CFG{'points'} eq 'on') { $so=1; }
+   Status("Modify settings of global configuration as preferred");
+   my $SPdb = $w_top->DialogBox(
+      -title =>  "Preferences",
+      -buttons => ['Ok','Cancel'],
+      -default_button => 'Ok',
+      -popover => $w_top,
+      -overanchor => 'c',
+      -popanchor => 'c',
+   );
+   $SPdb->add('Label',-text => "Global Settings:")->pack(-anchor => 'w');
+   # AutoView
+   my $f1=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+   $f1->Checkbutton(
+         -text => "Autoview: automatically show summary file  ",
+         -variable => \$av,
+         -relief => 'flat')->pack(-anchor => 'w');
+   # Log file name
+   my $f2=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+   $f2->Label(-text => " Output log file :"
+      )->pack(-side => 'top', -anchor => 'w');
+   $f2->Label(-text => " ")->pack(-side => 'left');
+   if($lf eq '') { $lf="SCREEN"; }
+   my $e1=$f2->Entry(-textvariable => \$lf, -width => '20')->pack(-side => 'left');
+   $f2->Checkbutton(-text => "Verbose output", -variable => \$vb, -relief => 'flat',
+      )->pack(-side => 'left');
+   # GPSTk directory
+   my $f3=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+   $f3->Label(-text => " Directory of GPSTk utilities :"
+      )->pack(-side => 'top', -anchor => 'w');
+   $f3->Label(-text => " ")->pack(-side => 'left');
+   my $e1=$f3->Entry(-textvariable => \$ud, -width => '37')->pack(-side => 'left');
+   $e1->focus; $e1->icursor('end');
+   # Default lines
+   my $f4=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+   $f4->Label(-text => "Default curves have:")->pack(-side => 'left');
+   $f4->Checkbutton(
+         -text => "Lines",
+         -variable => \$lo,
+         -relief => 'flat')->pack(-side => 'left');
+   # Default symbols
+   $f4->Checkbutton(
+         -text => "Points     ",
+         -variable => \$so,
+         -relief => 'flat')->pack(-side => 'left');
+   # Zoom factor
+   my $f5=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+   $f5->Label(-text => " Zoom factor (0 < zf < 1) :  ")->pack(-side => 'left');
+   my $e2=$f5->Entry(-textvariable => \$zf, -width => '17')->pack(-side => 'left');
+   $e2->icursor('end');
+   # GPS only
+   #my $f5=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+   #$f5->Checkbutton(
+   #      -text => "GPS satellites only                                        ",
+   #      -variable => \$go,
+   #      -relief => 'flat')->pack(-anchor => 'w');
+   # Leave $CFG{'datafile'}
+   my $f6=$SPdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+   $f6->Checkbutton(
+         -text => "Leave data file ($CFG{'datafile'}) after exit                 ",
+         -variable => \$lr,
+         -relief => 'flat')->pack(-anchor => 'w');
+
+   # put it up
+   $ans = $SPdb->Show();
+   if($ans eq 'Ok') {
+      if($av) { $CFG{'autoview'} = 'on'; } else { $CFG{'autoview'} = 'off'; }
+      if($lo) { $CFG{'lines'} = 'on'; } else { $CFG{'lines'} = 'off'; }
+      if($so) { $CFG{'points'} = 'on'; } else { $CFG{'points'} = 'off'; }
+      $CFG{'zoomX'} = $zf;
+      if($lr) { $CFG{'keepdata'} = 'on'; } else { $CFG{'keepdata'} = 'off'; }
+      if($lf eq 'SCREEN') { $CFG{'log'} eq ''; } else {
+         close LOG;
+         $CFG{'log'} = $lf;
+         open LOG, ">$CFG{'log'}" or die "Could not open log file $CFG{'log'}\n";
+         autoflush LOG;
+         print LOG "Log file for RinexPlot\n";
+      }
+      if($vb) { $CFG{'verbose'} = 'on'; }
+      if($ud ne $CFG{'prgmdir'}) {
+         my($ResCor,$RinSum,$RinexDump)=('ResCor','RinSum','RinexDump');
+         if ($^O eq "MSWin32") {
+            $ResCor='ResCor.exe';
+            $RinSum='RinSum.exe';
+            $RinexDump='RinexDump.exe';
+         }
+         if(not -e $ud . $SLASH . $RinSum
+            || not -e $ud . $SLASH . $ResCor
+            || not -e $ud . $SLASH . $RinexDump) {
+            PopNotice("Error:","Error: GPSTk utilities not found in directory $ud.\n"
+               . "Go to Settings/Preferences to change it");
+         }
+         else { $CFG{'prgmdir'} = $ud; }
+      }
+   }
+   Status('');
+}
+
+#-------------------------------------------------------------------------------------
+sub SettCurs {
+   ## Open file that contains all available cursors
+   ## Might have to change this if your cursorfont.h is elsewhere
+   ## On Win32 systems look in C:\Perl\lib\site\Tk\X11\cursorfont.h
+   my $cursorfile='/usr/X11R6/include/X11/cursorfont.h';
+   if ($^O eq "MSWin32") {
+      $cursorfile = '\\perl\\site\\lib\\Tk\\X11\\cursorfont.h';
+   }
+   my @cursors=();
+   open (FH, $cursorfile) or die "Couldn't open cursor file.\n";
+   while (<FH>) { push(@cursors, $1) if (/\#define XC_(\w+) /); }
+   close(FH);
+
+   my $HSdb = $w_top->DialogBox(
+      -title => 'Available cursors',
+      -buttons => ['Ok','Cancel'],
+      -popover => $w_top,
+      -overanchor => 'n',
+      -popanchor => 'n',
+   );
+   my $lab = $HSdb->add('Label',-text =>
+      "Select a cursor name by clicking\n" .
+      "on it, then move the mouse onto\n" .
+      "the canvas to see the result.\n" .
+      "The default cursor is crosshair.\n" .
+      "The current cursor is $cursor")->pack(-anchor => 'w');
+   my $scroll = $HSdb->Scrollbar;
+   my $lb = $HSdb->Listbox(-selectmode => 'single',
+                   -yscrollcommand => [set => $scroll]);
+   $scroll->configure(-command => [yview => $lb]);
+   $scroll->pack(-side => 'right', -fill => 'y');
+   $lb->pack(-side => 'left', -fill => 'both');
+   $lb->insert('end', sort @cursors);
+   $lb->bind('<ButtonPress-1>', 
+      sub {
+         $cursor = $lb->get($lb->curselection);
+         $w_canvas->configure(-cursor => $cursor);
+         $w_top->update;
+         print LOG "Configure cursor $cursor\n";
+      }
+   );
+   $ans = $HSdb->Show();
+   if($ans eq 'Cancel') {
+      $cursor = $crosshair;
+      NormalCursor();
+   }
+}
+
+#-------------------------------------------------------------------------------------
+# this is the guts of OutputCommand() and SaveConfig()
+# call with argument 'config' for config file format : ^key = value$
+# otherwise for command line format :  (sp)--key value
+sub ConfigString {
+   ($ans) = @_;
+   my $cmd='';
+   my ($p1,$p2,$p3)=(' --',' ','');     # for the command line
+   if($ans eq 'config') {               # for the config file
+      $p1 = '';
+      $p2 = ' = ';
+      $p3 = "\n";
+   }
+
+   foreach $key (sort keys %CFG) {
+      next if($CFG{$key} eq '');
+      if($CFG{$key} =~ m/\s+/) {
+         $cmd = $cmd . $p1 . $key . $p2 . "\"$CFG{$key}\"" . $p3;
+      }
+      else {
+         $cmd = $cmd . $p1 . $key . $p2 . $CFG{$key} . $p3;
+      }
+   }
+   #foreach $key (sort keys %OPT) {
+   #   next if($OPT{$key}[0] eq '');
+   #   foreach $i (@{$OPT{$key}}) {
+   #      $cmd = $cmd . " --$key $i";
+   #   }
+   #}
+
+   # --AO <OT>        extended obs type
+   $dummy = 0;
+   foreach $i (0..$#ExtOT) {
+      if($ExtSelect[$i] != 0) {
+         $dummy =1;
+         $cmd = $cmd . $p1 . "AO" . $p2 . $ExtOT[$i] . $p3;
+      }
+   }
+   # --create        call create only if --AO
+   if($dummy == 1) {
+      $cmd = $cmd . $p1 . "create" . $p2 . "on" . $p3;
+   }
+   # --sat <sat>      select sat
+   $dummy = 0;
+   foreach $i (0..$#svlist) {
+      if($svselect[$i] != 0) {
+         $cmd = $cmd . $p1 . "sat" . $p2 . $svlist[$i] . $p3;
+         $dummy = 1;
+      }
+   }
+   # --obs <ot>       select obs type
+   $ans = 0;
+   foreach $i (0..$#obslist) {
+      if($obsselect[$i] != 0) {
+         $cmd = $cmd . $p1 . "obs" . $p2 . $obslist[$i] . $p3;
+         $ans = 1;
+      }
+   }
+   # --refresh        call refresh only if --sat and --obs
+   if($dummy != 0 && $ans != 0) {
+      $cmd = $cmd . $p1 . "refresh" . $p2 . "on" . $p3;
+   }
+
+   if($ans ne 'config') {
+      $cmd = $cmd . "\n";
+   }
+
+   return $cmd;
+}
+
+#-------------------------------------------------------------------------------------
+sub OutputCommand {
+   Status("Output the current configuration as a command line...");
+   # ask user for name of file to write to ... or screen
+   my $file = "LOG";
+   my $SOdb = $w_top->DialogBox(
+      -title =>  "Command line output",
+      -buttons => ['Ok','Cancel'],
+      -default_button => 'Ok',
+      -popover => 'cursor',
+      -overanchor => 'c',
+      -popanchor => 'nw',
+   );
+   #$SOdb->add('Label',-text => "Command line output")->pack(-anchor => 'w');
+   my $f1=$SOdb->Frame(-borderwidth => 2, -relief => 'groove')->pack(-anchor => 'w');
+   $f1->Label(-text => " Output file name for command line\n"
+      . " (SCREEN for stdout, LOG for logfile) :"
+      )->pack(-side => 'top', -anchor => 'w');
+   my $e1=$f1->Entry(-textvariable => \$file, -width => '30')->pack(-side => 'left');
+   $ans = $SOdb->Show();
+   if($ans eq 'Ok') {
+      my $cmd;
+      if($^O eq "MSWin32") { $cmd = "call RinexPlot"; }
+      elsif($^O eq "linux") { $cmd = "perl RinexPlot.pl"; }
+      else { $cmd = "RinexPlot"; }
+   
+      $msg = ConfigString();
+      $cmd = $cmd . ' ' . $msg;
+
+      if($file eq "SCREEN") {
+         open(CMDOUT,">-") or die "Could not re-open STDOUT\n";
+         print CMDOUT "$cmd";
+      }
+      elsif($file eq "LOG") {
+         print LOG "$cmd";
+      }
+      else {
+         open CMDOUT, ">$file" or die "Could not open log file $file\n";
+         print CMDOUT "$cmd";
+         close CMDOUT;
+      }
+   }
+   Status('');
+}
+
+#-------------------------------------------------------------------------------------
+sub Refresh {
+   #print LOG "Refresh\n";
+   ConfigureCurves();
+
+   if($ncurv <= 0) {
+      $msg = "There are no curves defined.\n" .
+         "Go to DataSet/Select to make a choice      ";
+      PopNotice("Error: no curves",$msg);
+      return;
+   }
+
+   WaitCursor();
+   Status("Refreshing the screen...");
+
+   # clear the screen
+   #$w_canvas->createRectangle(0,0,$CFG{'Lmargin'}+$CFG{'width'}+$CFG{'Rmargin'},
+   #  $CFG{'Tmargin'}+$CFG{'height'}+$CFG{'Bmargin'},
+   #  -outline => $BCOLOR, -fill => $BCOLOR);
+   $w_canvas->delete("all");
+
+   DrawBase();
+
+   PlotData();
+
+   NormalCursor();
+   Status("Refresh done.");
+}
+
+#-------------------------------------------------------------------------------------
+sub DrawBase {
+   # draw around the matte
+   $w_canvas->createRectangle($CFG{'Lmargin'}, $CFG{'Tmargin'},
+      $CFG{'width'}+$CFG{'Lmargin'}, $CFG{'height'}+$CFG{'Tmargin'},
+      -outline => 'black');
+
+   print LOG "Draw base: limits are X: ";
+   if($XScaleExp > 0) {
+      print LOG sprintf("%.$XScaleExp"."f",$CFG{'XMin'}) . ", "
+      . sprintf("%.$XScaleExp"."f",$CFG{'XMax'}) .  ", Y: ";
+   }
+   else { print LOG "$CFG{'XMin'},$CFG{'XMax'}, Y: "; }
+   if($YScaleExp > 0) {
+      print LOG sprintf("%.$YScaleExp"."f",$CFG{'YMin'}) . ", "
+      . sprintf("%.$YScaleExp"."f",$CFG{'YMax'}) .  "\n";
+   }
+   else { print LOG "$CFG{'YMin'},$CFG{'YMax'}\n"; }
+
+   print LOG "XScale : exp $XScaleExp ";
+   foreach $i (0..$CFG{'BticN'}-1) {
+      $dummy = $XScaleMin + $i * $XScaleStep;
+      if($XScaleExp > 0) { print LOG sprintf(" %.$XScaleExp"."f",$dummy); }
+      else { print LOG " $dummy"; }
+   }
+   print LOG "\n";
+   print LOG "YScale : exp $YScaleExp ";
+   foreach $i (0..$CFG{'LticN'}-1) {
+      $dummy = $YScaleMin + $i * $YScaleStep;
+      if($YScaleExp > 0) { print LOG sprintf(" %.$YScaleExp"."f",$dummy); }
+      else { print LOG " $dummy"; }
+   }
+   print LOG "\n";
+
+   # title above plot
+   $ans = $w_canvas->createText($CFG{'Lmargin'}+$CFG{'width'}/2,$CFG{'Tmargin'}/2,
+      -justify => 'center', -fill => 'black', -text => $CFG{'Tlabel'},
+      # -font => 'fontname',
+      );
+   # bottom label
+   $ans = $w_canvas->createText($CFG{'Lmargin'}+$CFG{'width'}/2,
+      $CFG{'Tmargin'}+$CFG{'height'}+$CFG{'Bmargin'}-8,
+      -justify => 'center', -fill => 'black', -text => $CFG{'Blabel'},
+      # -font => 'fontname',
+      );
+   # left label
+   $ans = $w_canvas->createText(0.28*$CFG{'Lmargin'}+2*length($CFG{'Llabel'}),
+      0.6*$CFG{'Tmargin'}, -justify => 'left', -fill => 'black',
+      -text => $CFG{'Llabel'},
+      # -font => 'fontname',
+      );
+   # right label
+   $ans = $w_canvas->createText(
+      $CFG{'Lmargin'}+$CFG{'width'}+0.70*$CFG{'Rmargin'}-2*length($CFG{'Rlabel'}),
+      0.6*$CFG{'Tmargin'}, -justify => 'right', -fill => 'black',
+      -text => $CFG{'Rlabel'},
+      # -font => 'fontname',
+      );
+   
+   DrawLabels();
+}
+
+#-------------------------------------------------------------------------------------
+sub DrawLabels {
+   # tics and numeric labels
+   # (M,M)   (M+W,M)
+   # (M,M+H) (M+W,M+H)
+   my ($min,$max)=(0,0);
+   foreach $i (-1..$CFG{'BticN'}) {                             # X axes
+      $dummy = Xdata2scr($XScaleMin+$i*$XScaleStep);
+      if($dummy >= $CFG{'Lmargin'} && $dummy <= $CFG{'width'}+$CFG{'Lmargin'}) {
+         # bottom tic
+         $ans = $w_canvas->createLine($dummy,$CFG{'Tmargin'}+$CFG{'height'},$dummy,
+            $CFG{'Tmargin'}+$CFG{'height'}-$XTicLen, -fill => 'black');
+         # bottom numeric label
+         $msg = sprintf("%d",$XScaleMin+$i*$XScaleStep);
+         $ans = $w_canvas->createText($dummy, $CFG{'Tmargin'}+$CFG{'height'}+10,
+            -justify => 'center', -fill => 'black', -text => $msg);
+         # save for next if block
+         if($min == 0) { $min = $dummy; }
+         $max = $dummy;
+
+         # top tic
+         $ans = $w_canvas->createLine($dummy, $CFG{'Tmargin'}, $dummy,
+            $CFG{'Tmargin'}+$XTicLen, -fill => 'black');
+      }
+   }
+   if($ScaleFixed == 1) {        # numeric labels at ends
+      my $limit=$CFG{'width'}/(2*$CFG{'BticN'});
+      $msg = sprintf("%d",$CFG{'XMin'});
+      if($min-$CFG{'Lmargin'} > $limit) { # don't print if too close to another label
+         $ans = $w_canvas->createText(
+            $CFG{'Lmargin'}, $CFG{'Tmargin'}+$CFG{'height'}+10,
+            -justify => 'center', -fill => 'black', -text => $msg);
+      }
+      $msg = sprintf("%d",$CFG{'XMax'});
+      if($CFG{'Lmargin'}+$CFG{'width'}-$max > $limit) {
+         $ans = $w_canvas->createText(
+            $CFG{'Lmargin'}+$CFG{'width'},$CFG{'Tmargin'}+$CFG{'height'}+10,
+            -justify => 'center', -fill => 'black', -text => $msg);
+      }
+   }
+   #($min,$max)=(0,0);
+   foreach $i (-1..$CFG{'LticN'}) {                             # Y axes
+      $dummy = Ydata2scr($YScaleMin+$i*$YScaleStep);
+      if($dummy >= $CFG{'Tmargin'} && $dummy <= $CFG{'Tmargin'}+$CFG{'height'}) {
+         # left tic
+         $ans = $w_canvas->createLine(
+            $CFG{'Lmargin'},$dummy,$CFG{'Lmargin'}+$YTicLen,$dummy,
+            -fill => 'black');  # tics
+         if($YScaleExp > 0) {
+            $msg = sprintf(" %.$YScaleExp"."f",$YScaleMin+$i*$YScaleStep);
+         }
+         else { $msg = sprintf("%.0f",$YScaleMin+$i*$YScaleStep); }
+         # left numeric label
+         $ans = $w_canvas->createText($CFG{'Lmargin'}-2*length($msg)-5, $dummy,
+            -justify => 'left', -fill => 'black', -text => $msg);
+         # save for next if block
+         #if($min == 0) { $min = $dummy; }
+         #$max = $dummy;
+
+         # right tic
+         $ans = $w_canvas->createLine(
+            $CFG{'Lmargin'}+$CFG{'width'}, $dummy,
+            $CFG{'Lmargin'}+$CFG{'width'}-$YTicLen, $dummy, -fill => 'black');
+      }
+   }
+   #if($ScaleFixed) {       # numeric labels at ends
+   #   my $limit=20;           # need character size in pixels here...
+   #   $msg = sprintf("%d",$CFG{'YMin'});
+   #   if($min-$CFG{'Tmargin'} > $limit) {# don't print if too close to another label
+   #      $ans = $w_canvas->createText($CFG{'Lmargin'}-2*length($msg)-5,
+   #         $CFG{'Tmargin'}+$CFG{'height'},
+   #         -justify => 'left', -fill => 'black', -text => $msg);
+   #   }
+   #   if($CFG{'Tmargin'}+$CFG{'height'}-$max > $limit) {
+   #      $msg = sprintf("%d",$CFG{'YMax'});
+   #      $ans = $w_canvas->createText($CFG{'Lmargin'}-2*length($msg)-5,
+   #      $CFG{'Tmargin'}, -justify => 'left', -fill => 'black', -text => $msg);
+   #   }
+   #}
+}
+
+#-------------------------------------------------------------------------------------
+sub PlotData { # plot the data
+   my (@penup, at y, at prevx, at prevy);
+   my ($x,$id);
+   my ($xfr,$xto,$yfr,$yto,$tfl,$ffl);
+   ($begW,$begS) = split(',',$CFG{'begin'});
+   ($endW,$endS) = split(',',$CFG{'end'});
+   my ($sat,$c,$week,$sow);
+   my $sow0 = 0;
+   $CFG{'Week'} = 0;
+
+   # lift all pens
+   foreach $j (0..$ncurv-1) { $penup[$j] = 1; }
+
+   # open the data file and read
+   $filename = "$CFG{'datafile'}";
+   print LOG "Open $filename to plot ...";
+   open FILE, "$filename" or die "Error: Refresh could not open $filename\n";
+   Status("Refresh is plotting data in file $filename ...");
+
+   # loop over data in this file
+   while(<FILE>) {
+      chomp;
+      $_ =~ s/^\s_//;
+      if(m/Rinexdump/) { next; }
+      if(m/Week/) { next; }
+      # data
+      #print LOG "Read $_\n";
+      s/^\s+//;               # no leading white space
+      @opt = split(/\s+/, $_);
+      $week = $opt[0];                    # GPS week
+      $sow = $opt[1];                     # GPS seconds of week
+      # ignore if outside time limits
+      next if($week < $begW);
+      next if($week == $begW && $sow < $begS);
+      last if($week > $endW);
+      last if($week == $endW && $sow > $endS);
+      if($CFG{'Week'} == 0) { $CFG{'Week'} = $week; $sow0 = $sow; }
+      $x = Xdata2scr($sow + ($week-$CFG{'Week'})*604800.);
+      $sat = $opt[2];
+      #print LOG "Sat is $sat   ncurves $ncurv\n";
+      foreach $j (0..$ncurv-1) {
+         if($curvON[$j] == 0) { next; }
+         if($curvSV[$j] eq $sat) {
+            $y[$j] = Ydata2scr($opt[$curvCol[$j]]);
+				#print LOG "Data $sat: x=$opt[1] y=$opt[$curvCol[$j]] "
+				#. "sx=$x sy=$y[$j] pen=$penup[$j]\n";
+            if($penup[$j] == 1) {
+               $penup[$j] = 0;
+            }
+            elsif($penup[$j] == 0) {
+					#print LOG "Plot [$j]: ($prevx[$j],$prevy[$j]) to ($x,$y[$j])\n";
+               $xfr = $prevx[$j]; $xto = $x; $yfr = $prevy[$j]; $yto = $y[$j];
+               # clip
+					#print LOG "Clip [$j]: ($xfr,$yfr,$xto,$yto,$tfl,$ffl)\n";
+               if(Clip(\$xfr,\$yfr,\$xto,\$yto,\$tfl,\$ffl) != 0) {
+                  $c = $curvColor[$j];
+						#print LOG "Draw [$j]: ($xfr,$yfr) to ($xto,$yto)\n";
+                  if($curvLines[$j] != 0) {
+                     # draw line
+                     $id = $w_canvas->createLine($xfr,$yfr,$xto,$yto,-fill => $c);
+                  }
+                  if($tfl != 0 && $curvSymbs[$j] ne 'none') {
+                     # pt visible, symb selected -> draw symbol
+                     # (no clipping here ... maybe should)
+                     if($curvSymbs[$j] eq 'cross') {
+                        $id = $w_canvas->createLine(  # why 2/3 you ask? I don't know
+                           $xto-2,$yto-2,$xto+3,$yto+3,-fill => $c);
+                        $id = $w_canvas->createLine(
+                           $xto+2,$yto-2,$xto-3,$yto+3,-fill => $c);
+                     }
+                     elsif($curvSymbs[$j] eq 'plus') {
+                        $id = $w_canvas->createLine(
+                           $xto-2,$yto,$xto+3,$yto,-fill => $c);
+                        $id = $w_canvas->createLine(
+                           $xto,$yto-2,$xto,$yto+3,-fill => $c);
+                     }
+                     elsif($curvSymbs[$j] eq 'diamond') {
+                        $id = $w_canvas->createLine(
+                           $xto-3,$yto,$xto,$yto+3,-fill => $c);
+                        $id = $w_canvas->createLine(
+                           $xto,$yto+3,$xto+3,$yto,-fill => $c);
+                        $id = $w_canvas->createLine(
+                           $xto+3,$yto,$xto,$yto-3,-fill => $c);
+                        $id = $w_canvas->createLine(
+                           $xto,$yto-3,$xto-3,$yto,-fill => $c);
+                     }
+                     elsif($curvSymbs[$j] eq 'square') {
+                        $id = $w_canvas->createLine(
+                           $xto-2,$yto-2,$xto-2,$yto+2,-fill => $c);
+                        $id = $w_canvas->createLine(
+                           $xto-2,$yto+2,$xto+2,$yto+2,-fill => $c);
+                        $id = $w_canvas->createLine(
+                           $xto+2,$yto+2,$xto+2,$yto-2,-fill => $c);
+                        $id = $w_canvas->createLine(
+                           $xto+2,$yto-2,$xto-2,$yto-2,-fill => $c);
+                     }
+                     elsif($curvSymbs[$j] eq 'circle') {
+                        $id = $w_canvas->createOval($xto-2,$yto-2,
+                           $xto+2,$yto+2,-outline => $c);
+                     }
+                     elsif($curvSymbs[$j] eq 'del') {
+                        $id = $w_canvas->createLine(
+                           $xto,$yto+3,$xto+3,$yto-2,-fill => $c);
+                        $id = $w_canvas->createLine(
+                           $xto+3,$yto-2,$xto-2,$yto-2,-fill => $c);
+                        $id = $w_canvas->createLine(
+                           $xto-2,$yto-2,$xto,$yto+3,-fill => $c);
+                     }
+                     elsif($curvSymbs[$j] eq 'delta') {
+                        $id = $w_canvas->createLine(
+                           $xto-2,$yto+2,$xto+3,$yto+2,-fill => $c);
+                        $id = $w_canvas->createLine(
+                           $xto+3,$yto+2,$xto,$yto-3,-fill => $c);
+                        $id = $w_canvas->createLine(
+                           $xto,$yto-3,$xto-2,$yto+2,-fill => $c);
+                     }
+                  }
+               }
+            }
+            $prevy[$j] = $y[$j];
+            $prevx[$j] = $x;
+            next;
+         }
+      }
+   }
+   close FILE;
+   print LOG " done.\n";
+}
+
+#-------------------------------------------------------------------------------------
+sub Clip {
+   # (M,M)   (M+W,M)
+   # (M,M+H) (M+W,M+H)
+   #my $fflag=0;   # flag = 1,0 as inside, outside region
+   #my $tflag=0;   # 'f' is from, 't' is to
+   my $xf = shift;
+   my $yf = shift;
+   my $xt = shift;
+   my $yt = shift;
+   my $tflag = shift;
+   my $fflag = shift;
+   $$tflag = 0;
+   $$fflag = 0;
+   if($$xt >= $CFG{'Lmargin'} && $$xt <= $CFG{'Lmargin'}+$CFG{'width'}
+      && $$yt >= $CFG{'Tmargin'} && $$yt <= $CFG{'Tmargin'}+$CFG{'height'}) {
+         $$tflag = 1;
+   }
+   if($$xf >= $CFG{'Lmargin'} && $$xf <= $CFG{'Lmargin'}+$CFG{'width'}
+      && $$yf >= $CFG{'Tmargin'} && $$yf <= $CFG{'Tmargin'}+$CFG{'height'}) {
+         $$fflag = 1;
+   }
+   if($$tflag == 1 && $$fflag == 1) { return 1; }
+
+   # Two line segments intersect at (x,y) where
+   #                   * (x3,y3)
+   #                   |
+   #                   |
+   # (x2,y2) * --------+-----------* (x1,y1)
+   #                   |
+   #                   |
+   #                   |
+   #                   |
+   #                   * (x4,y4)
+   #
+   # and x = [(x1*y2-x2*y1)*(x3-x4)-(x3*y4-x4*y3)*(x1-x2)]
+   #       / [(x1-x2)*(y3-y4)-(x3-x4)*(y1-y2)] ,
+   #     y = [(x1*y2-x2*y1)*(y3-y4)-(x3*y4-x4*y3)*(y1-y2)]
+   #       / [(x1-x2)*(y3-y4)-(x3-x4)*(y1-y2)]
+   # Note correct reduction when horiz or vert: x=x3 when x3=x4, y=y1 when y1=y2, etc.
+
+   my ($p,$x1,$y1,$x2,$y2);   # intersections
+   my $npt=0;
+   $ans = $$yt-$$yf; # y3-y4
+   if($ans != 0) {
+      $dummy = ($$xt*$$yf-$$xf*$$yt)/$ans;
+      $msg = ($$xt-$$xf)/$ans;
+      # intersect top    x2=$CFG{'Lmargin'}, x1=$CFG{'Lmargin'}+$CFG{'width'},
+      #                  y1=y2=$CFG{'Tmargin'}
+      $ans = $CFG{'Tmargin'};
+      $p = int($ans*$msg-$dummy+0.5);
+      if($p > $CFG{'Lmargin'} && $p < $CFG{'Lmargin'}+$CFG{'width'}
+            && ($$yt-$ans)*($$yf-$ans) < 0) {
+         $x1 = $p; $y1 = $CFG{'Tmargin'}; $npt = 1;
+      }
+      # intersect bottom x2=$CFG{'Lmargin'}, x1=$CFG{'Lmargin'}+$CFG{'width'},
+      #                  y1=y2=$CFG{'Tmargin'}+$CFG{'height'}
+      $ans = $CFG{'Tmargin'}+$CFG{'height'};
+      $p = int($ans*$msg-$dummy+0.5);
+      if($p > $CFG{'Lmargin'} && $p < $CFG{'Lmargin'}+$CFG{'width'}
+            && ($$yt-$ans)*($$yf-$ans) < 0) {
+         if($npt == 0) { $x1 = $p; $y1 = $CFG{'Tmargin'}+$CFG{'height'}; }
+         else { $x2 = $p; $y2 = $CFG{'Tmargin'}+$CFG{'height'}; }
+         $npt++;
+      }
+   }
+   $ans = $$xt-$$xf;  # x3-x4
+   if($ans != 0) {
+      $dummy = ($$yt*$$xf-$$yf*$$xt)/$ans;
+      $msg = ($$yt-$$yf)/$ans;
+      # intersect left   x3=x4=$CFG{'Lmargin'},s
+      #                  y3=$CFG{'Tmargin'}, $y4=$CFG{'Tmargin'}+$CFG{'height'}
+      $ans = $CFG{'Lmargin'};
+      $p = int($ans*$msg-$dummy+0.5);
+      if($p > $CFG{'Tmargin'} && $p < $CFG{'Tmargin'}+$CFG{'height'}
+            && ($$xt-$ans)*($$xf-$ans) < 0) {
+         if($npt == 0) { $y1 = $p; $x1 = $CFG{'Lmargin'}; }
+         else { $y2 = $p; $x2 = $CFG{'Lmargin'}; }
+         $npt++;
+      }
+
+      # intersect right  x3=x4=$CFG{'Lmargin'}+$CFG{'width'},
+      #                  y3=$CFG{'Tmargin'}, $y4=$CFG{'Tmargin'}+$CFG{'height'}
+      $ans = $CFG{'Lmargin'}+$CFG{'width'};
+      $p = int($ans*$msg-$dummy+0.5);
+      if($p > $CFG{'Tmargin'} && $p < $CFG{'Tmargin'}+$CFG{'height'}
+            && ($$xt-$ans)*($$xf-$ans) < 0) {
+         if($npt == 0) { $y1 = $p; $x1 = $CFG{'Lmargin'}+$CFG{'width'}; }
+         else { $y2 = $p; $x2 = $CFG{'Lmargin'}+$CFG{'width'}; }
+         $npt++;
+      }
+   }
+
+   if($npt == 0) { return 0; }          # no intersections
+
+   if($$tflag == 1 && $$fflag == 0) {     # outside to inside
+      $$xf = $x1; $$yf = $y1;
+   }
+   elsif($$tflag == 0 && $$fflag == 1) {  # inside to outside
+      $$xt = $x1; $$yt = $y1;
+   }
+   else {                               # outside to outside
+      if($npt!=2) {
+         print LOG "WARNING: Clip finds outside to outside with"
+                . " $npt intersections\n";
+         return 0;
+      }
+      if((($$xt-$x1)*($$xt-$x1)+($$yt-$y1)*($$yt-$y1)) <
+         (($$xf-$x1)*($$xf-$x1)+($$yf-$y1)*($$yf-$y1))) {
+         $$xt = $x1; $$yt = $y1;
+         $$xf = $x2; $$yf = $y2;
+      }
+      else {
+         $$xt = $x2; $$yt = $y2;
+         $$xf = $x1; $$yf = $y1;
+      }
+   }
+   return 1;
+}
+
+#-------------------------------------------------------------------------------------
+sub CanvConf {
+   my $w = $w_canvas->width;
+   my $h = $w_canvas->height;
+   my $W = $CFG{'Lmargin'}+$CFG{'width'}+$CFG{'Rmargin'};
+   my $H = $CFG{'Tmargin'}+$CFG{'height'}+$CFG{'Bmargin'};
+   if($w != $CFG{'Lmargin'}+$CFG{'width'}+$CFG{'Rmargin'} ||
+      $h != $CFG{'Tmargin'}+$CFG{'height'}+$CFG{'Bmargin'}) {
+      $CFG{'width'} = $w - $CFG{'Lmargin'} - $CFG{'Rmargin'};
+      $CFG{'height'} = $h - $CFG{'Tmargin'} - $CFG{'Bmargin'};
+      Rates();
+      if($firstcanvas == 1) {
+         Status("Plot reconfigured to $CFG{'width'} x $CFG{'height'} ...Refresh?");
+      }
+      $firstcanvas = 1;
+   }
+}
+
+#-------------------------------------------------------------------------------------
+sub PopNotice {
+   my ($dummy1, $dummy2) = @_;
+   #$ans = $w_top->messageBox(
+   #-title => $dummy1,
+   #-message => $dummy2 . "        ",
+   #-type => 'OK',
+   #-icon => 'info',
+   ##no popover for messageBox
+   #);
+   my $PNdb = $w_top->DialogBox(
+      -title => $dummy1,
+      -buttons => ['Ok'],
+      -popover => $w_top,
+      -overanchor => 'c',
+      -popanchor => 'c',
+   );
+   $PNdb->add('Label', -text => $dummy2, -justify => 'left')->pack;
+   $PNdb->Show();
+}
+
+#-------------------------------------------------------------------------------------
+sub Status {
+   ($dummy) = (@_);
+   $statusbar->delete('0.0','end');
+   $statusbar->insert('0.0',$dummy);
+   $w_top->update;
+}
+
+#-------------------------------------------------------------------------------------
+sub WaitCursor {
+   $w_canvas->configure(-cursor => $waitcursor);
+   $w_top->update;
+}
+
+#-------------------------------------------------------------------------------------
+sub NormalCursor {
+   $w_canvas->configure(-cursor => $cursor);
+   $w_top->update;
+}
+
+#-------------------------------------------------------------------------------------
+#-------------------------------------------------------------------------------------
+sub mouse_events {
+	# do not enter this routine unless screen is up and scale has been defined
+	if($MainUp == 0 || $ScaleDefined == 0) { return; }
+
+   my ($canv, $x, $y, $mousemsg) = @_;
+
+   if($mousemsg eq "motion") {
+      if($MAKE_RECT) {
+         # first erase the old one
+         $canv->delete($MOUSE_RECT);
+
+         # where is the corner now?
+         $RECT_X1 = $canv->canvasx($x);
+         $RECT_Y1 = $canv->canvasy($y);
+
+         # draw a new foreground-color rectangle
+         $MOUSE_RECT = $canv->createRectangle(
+            $RECT_X0,$RECT_Y0, $RECT_X1,$RECT_Y1,
+            -outline => $MCOLOR );
+      }
+   }
+   else {
+      #print LOG "mouse$msg: (x,y) = ", $canv->canvasx($x), ", ", $canv->canvasy($y),
+      #   " (datax,datay) = ", scr2Xdata($canv->canvasx($x)), " , ",
+      #   scr2Ydata($canv->canvasy($y)),
+      #   "\n";
+      if($mousemsg eq "push left") {
+         $RECT_X0 = $canv->canvasx($x);
+         $RECT_Y0 = $canv->canvasy($y);
+         #print LOG "push: RECT_X0 $RECT_X0, RECT_Y0 $RECT_Y0\n";
+         $MAKE_RECT = 1;
+      }
+      if($mousemsg eq "rel left") {
+         $RECT_X1 = $canv->canvasx($x);
+         $RECT_Y1 = $canv->canvasy($y);
+         #print LOG "rele: RECT_X1 $RECT_X1, RECT_Y1 $RECT_Y1\n";
+         #print LOG "just checking: (x,y) = ", $RECT_X1, ", ", $RECT_Y1,
+         #   " (datax,datay) = ", scr2Xdata($RECT_X1), " , ", scr2Ydata($RECT_Y1),
+         #   "\n";
+         Status("(x,y) = screen("
+            . $RECT_X1 . ","
+            . $RECT_Y1 . ") = data("
+            . sprintf("%10.3f",scr2Xdata($RECT_X1)) . ","
+            . sprintf("%.3f",scr2Ydata($RECT_Y1)) . ")");
+         $canv->delete($MOUSE_RECT);
+         $MAKE_RECT = 0;
+
+         # ignore zero-area rectangles
+         if(($RECT_X0 == $RECT_X1) || ($RECT_Y0 == $RECT_Y1)) {
+            return;
+         }
+
+         $MOUSE_RECT = $canv->createRectangle(
+            $RECT_X0,$RECT_Y0, $RECT_X1,$RECT_Y1,
+            -outline => $MCOLOR );
+
+         # put up a dialog asking what to do with the rectangle
+         my $db = $w_top->DialogBox(
+            -title => 'Mouse Rectangle',
+            -buttons => ['Zoom', 'Cancel'],
+            -default_button => 'Zoom',
+            -popover => 'cursor', -overanchor => 'c', -popanchor => 'nw',
+         );
+         $db->add('Label', -text => "Zoom: are you sure?    ")->pack;
+         $ans = $db->Show();
+         if($ans eq "Zoom") {
+            #print LOG "You said to zoom to mouse rectangle\n";
+            #$canv->move($MOUSE_RECT, 100, 100);
+            ($YMin, $YMax, $XMin, $XMax) =
+               (scr2Ydata($RECT_Y1), scr2Ydata($RECT_Y0),
+                scr2Xdata($RECT_X0), scr2Xdata($RECT_X1) );
+            if($YMin > $YMax) {
+               $ans = $YMax;
+               $YMax = $YMin;
+               $YMin = $ans;
+            }
+            if($XMin > $XMax) {
+               $ans = $XMax;
+               $XMax = $XMin;
+               $XMin = $ans;
+            }
+            # NewScale requires $XMin,$XMax,$YMin,$YMax as input
+            NewScale('fixed','Mouse zoom');
+            Refresh();
+         }
+         if($ans eq "Cancel") {
+            #print LOG "You said to cancel mouse rectangle\n";
+            $canv->delete($MOUSE_RECT);
+            Status('');
+         }
+      }
+   }
+}
+
+#-------------------------------------------------------------------------------------
+#-------------------------------------------------------------------------------------
+# string CmdText defines configuration constants and options on command line,
+# with their default values. See documentation of CmdText and sub CommandLine.
+sub Defaults {
+   # parse CmdText
+   my @lines = split('\n',$CmdText);
+   foreach (@lines) {
+      last if(m/Example:/);
+      next if(m/^#/);
+      if(m/(can repeat)/) { $dummy='grow'; } else { $dummy=''; }
+      s/--(\S+)\s.*\((.*)\)$/$1 = $2/;
+      s/^\s+//;
+      s/\s+$//;
+      ($key, $val) = split(/ = /,$_,2);
+      if($val eq '') { $key =~ s/ =$//; }
+      #print "Line:",$_,"\n";
+      #print "key |$key| value |$val|\n";
+      #AddDefault($key,$val,$dummy);
+      $Options{$key} = 1;         # this says 'key' is a valid option
+      if($dummy eq 'grow') {
+         $Grow{$key} = 1;         # this says 'key' belongs to OPT, not CFG
+         if($val ne '') { push(@{$OPT{$key}}, $val); }   # OPT -- 1 to many
+      }
+      else {
+         if($val ne '') { $CFG{$key} = $val; }            # CFG -- 1 to 1
+      }
+   }
+   # TD this should belong to CFG also
+   $ConfigFile = 'rp.cfg';
+}
+
+#-------------------------------------------------------------------------------------
+# command line arguments -- see CmdText above for doc.
+# process the command line, converting command line into key/val pairs,
+# where --key=val --key val --key (val='on')
+# don't allow -key because this makes val = (negative number) impossible
+sub CommandLine {
+   if($#ARGV == 0 && $ARGV[0] eq '--help') {
+      print $CmdText,"\n";
+      exit;
+   }
+   $LimitsSet = 0;                  # notice if limits are set
+   $key = '';
+   $val = '';
+   while($#ARGV >= 0) {
+      $dummy = shift @ARGV;
+      if(substr($dummy,0,2) eq "--") {                # '--' => its key or key=value
+         $dummy = substr($dummy,2,length($dummy)-2);     # remove --
+         if($key ne '' && $val eq 'on') {                # was prev arg a key alone?
+            AddToConfig($key,$val);
+            $key = '';
+            $val = '';
+         }
+         if($dummy =~ '=') {                             # is there an '='?
+            ($key, $val) = split(/=/,$dummy,2);
+            AddToConfig($key,$val);
+            $key = '';
+            $val = '';
+         }
+         else {                                          # no =; val is 'on' for now
+            $key = $dummy;
+            $val = 'on';
+         }
+      }
+      else {                                          # no '--' => its val or an error
+         if($key ne '' && $val eq 'on') {                # prev arg was --key
+            $val = $dummy;
+            AddToConfig($key,$val);
+            $key = '';
+            $val = '';
+         }
+         else {                                          # isolated and no '--' => err
+            print "Unrecognized argument: $dummy\n";
+         }
+      }
+   }
+   # the last arg
+   if($key ne '' && $val eq 'on') { AddToConfig($key,$val); }
+}
+
+#-------------------------------------------------------------------------------------
+sub AddToConfig {
+   my ($k,$v) = @_;
+   if($Options{$k} == 1) {
+      if($Grow{$k} == 1) {
+         push(@{$OPT{$k}}, split(/\s+/,$v));
+      }
+      else {
+         if($k eq 'prgmdir') {
+            $v =~ s/\//$SLASH/g;
+            $v =~ s/\\/$SLASH/g;
+         }
+         # save it
+         $CFG{$k} = $v;
+         # set flags here -- any option set by the user will pass here
+         if($k eq 'XMin' or $k eq 'XMax' or $k eq 'YMin' or $k eq 'YMax') {
+            $LimitsSet = 1;
+         }
+         if(($k eq 'Blabel' && $v ne 'GPS Seconds of Week') or
+            ($k eq 'Tlabel' && $v ne 'Title') or
+            $k eq 'Rlabel' or
+            $k eq 'Llabel') {
+            $UsingDefaults = 0;
+         }
+      }
+
+      # open file and read as config; do here so later cmds may override
+      if($k eq 'load') {
+         my @c = @{$OPT{'load'}};
+         while($#c >= 0) {
+            $i = shift @c;
+            last unless($i ne '');
+            delete(@{$OPT{'load'}}[0]);
+            LoadConfig($i);
+         }
+      }
+
+      return 'ok';
+   }
+   else {
+      print "Invalid configuration option: $k\n";
+      return 'fail';
+   }
+}
+
+#-------------------------------------------------------------------------------------
+sub LoadConfig {
+   ($filename) = @_;
+   if($CFG{'verbose'}) {
+      if($LogOpen) {
+         print LOG "Attempt to open and read configuration file $filename\n";
+      }
+      else {
+         print "Attempt to open and read configuration file $filename\n";
+      }
+   }
+
+   $dummy = 0;                   # dummy will count the number of read errors
+   $LimitsSet = 0;
+   if(open(CONFIG, "$filename")) {
+      while (<CONFIG>) {
+         if($dummy > 20) {
+            close CONFIG;
+            if($LogOpen) {
+               print LOG "\nAbort - Too many read errors loading configuration\n";
+               print LOG "  File \"$filename\" may not be a configuration file.\n";
+            }
+            else {
+               print "\nAbort - Too many read errors loading configuration\n";
+               print "  File \"$filename\" may not be a configuration file.\n";
+            }
+            if($MainUp) {
+               PopNotice("Error loading file",
+               "Abort - Too many read errors while loading a\n" .
+               "configuration file. This may not be a configuration file:\n" .
+               "   $filename");
+            }
+            return 'fail';
+         }
+         chomp;                  # no newline
+         s/^\s+//;               # no leading whitespace
+         s/#.*//;                # no comments
+         s/\s+$//;               # no trailing whitespace
+         s/^--//;                # no leading --
+         next unless length;     # anything left?
+         unless(m/=/) {          # ignore if no =
+            print "Warning: configuration option has no '=' : $_\n";
+            $dummy++;
+            next;
+         }
+         ($key, $val) = split(/\s*=\s*/, $_, 2);
+         # nested conf files do not work
+         if($key eq 'load') {
+            print "Warning: nested --load <file> do not work\n";
+            next;
+         }
+         if($val =~ m/^"/ && $val =~ m/"$/) {
+            # remove quotes around values with whitespace
+            $val =~ s/^"//;
+            $val =~ s/"$//;
+            $ans = AddToConfig($key,$val);
+         }
+         else {
+            $ans = AddToConfig($key,$val);
+         }
+         if($ans eq 'fail') { $dummy++; }
+      }
+      close CONFIG;
+
+      $ConfigFile = $filename;
+      return 'ok';
+   }
+   else {
+      # don't put a popup here b/c top level window may not exist yet.
+      if($LogOpen) {
+         print LOG "Error: Could not open configuration file $filename\n";
+      }
+      else {
+         print "Error: Could not open configuration file $filename\n";
+      }
+      #$ConfigFile = '';
+      return 'fail';
+   }
+}
+
+#-------------------------------------------------------------------------------------
+sub SaveConfig {
+   my ($file)=@_;
+   if($file eq '') { return 'ok'; }
+   print LOG "Save the configuration to the file $file\n";
+
+   my $cmd = ConfigString('config');
+
+   if(open(CONFIG, ">$file")) {
+      print CONFIG $cmd;
+      close CONFIG;
+      return 'ok';
+   }
+   else {
+      return 'fail';
+   }
+}
+
+#-------------------------------------------------------------------------------------
+# process the config, used for command line processing and after config file loaded.
+sub ProcessConfig {
+   if($CFG{'log'} ne '' && $CFG{'log'} ne 'SCREEN') {
+      open LOG, ">$CFG{'log'}" or die "Could not open log file $CFG{'log'}\n";
+      autoflush LOG;
+      $LogOpen = 1;
+      if($CFG{'verbose'}) {
+         print "RP Output directed to log file $CFG{'log'}\n";
+         print LOG "Log file for RinexPlot\n";
+      }
+   }
+   else { open(LOG,">-") or die "Could not re-open STDOUT\n"; }
+
+   if($CFG{'Rinex'} ne '') {
+      DataInputProcess($CFG{'Rinex'});
+
+      my %index;
+      my (@AOs, at Sats, at Obs)=((),(),());
+      if(defined(@{$OPT{'AO'}})) { @AOs = @{$OPT{'AO'}}; }
+      if(defined(@{$OPT{'sat'}})) { @Sats = @{$OPT{'sat'}}; }
+      if(defined(@{$OPT{'obs'}})) { @Obs = @{$OPT{'obs'}}; }
+
+      if($#AOs >= 0) {
+         %index=();
+         $j=0;
+         foreach $i (@ExtOT) {
+            unless($index{$i}) {
+               $index{$i}=$j;
+               $j++;
+            }
+         }
+         $dummy = 0;
+         foreach $i (@AOs) {
+            $j = $index{$i};
+            if($dummy == 0) { print LOG "Selected new obs types"; $dummy=1; }
+            print LOG " $i";
+            $ExtSelect[$j] = 1;
+         }
+         if($dummy==1) { print LOG "\n"; }
+         if($CFG{'create'} eq 'on') { CompCrea(); }
+      }
+      if($#Sats >= 0) {
+         %index=();
+         $j=0;
+         foreach $i (@svlist) {
+            unless($index{$i}) {
+               $index{$i}=$j;
+               $j++;
+            }
+         }
+         $dummy = 0;
+         foreach $i (@Sats) {
+            $j = $index{$i};
+            if($j eq '') {
+               if($dummy==1) { print LOG "\n"; }
+               print LOG "Error: satellite $i is not found in file!\n";
+               print LOG "  Satellites in file are: @svlist\n";
+            }
+            else {
+               if($dummy == 0) { print LOG "Selected Sats:"; $dummy=1; }
+               print LOG " $i";
+               $svselect[$j] = 1;
+            }
+         }
+         if($dummy==1) { print LOG "\n"; }
+      }
+      if($#Obs >= 0) {
+         %index=();
+         $j=0;
+         foreach $i (@obslist) {
+            unless($index{$i}) {
+               $index{$i}=$j;
+               $j++;
+            }
+         }
+         $dummy = 0;
+         foreach $i (@Obs) {
+            $j = $index{$i};
+            if($j eq '') {
+               if($dummy==1) { print LOG "\n"; }
+               print LOG "Error: obs type $i is not found in file!\n";
+               print LOG "  Obs types in file are: @obslist\n";
+            }
+            else {
+               if($dummy == 0) { print LOG "Selected Obs:"; $dummy=1; }
+               print LOG " $i";
+               $obsselect[$j] = 1;
+            }
+         }
+         if($dummy==1) { print LOG "\n"; }
+      }
+      if($CFG{'refresh'} eq 'on' && $#Obs >= 0 && $#Sats >= 0) {
+         # NewScale requires $XMin,$XMax,$YMin,$YMax as input
+         ($XMin,$XMax,$YMin,$YMax)
+            = ($CFG{'XMin'},$CFG{'XMax'},$CFG{'YMin'},$CFG{'YMax'});
+         NewScale('fixed','Command line');
+         if($LimitsSet == 1) {
+            $FirstAutoscale = 0;
+            $LimitsSet = 0;
+         }
+         else { $FirstAutoscale = 1; }
+         $Reconfigure = 1;
+         ConfigureCurves();
+         Refresh();
+      }
+   }
+   if($CFG{'help'} eq 'on') { HelpTopi(); }
+
+   $LimitsSet = 0;
+   # delete these, as they are used only for cmdline and config file input
+   delete($OPT{'load'});
+   delete($OPT{'AO'});
+   delete($CFG{'create'});
+   delete($OPT{'sat'});
+   delete($OPT{'obs'});
+   delete($CFG{'refresh'});
+   delete($CFG{'help'});
+}
+
+#-------------------------------------------------------------------------------------
+#-------------------------------------------------------------------------------------
+# Create the menubar and everything under it.
+sub create_menu {
+  [
+    [ 'cascade', '~File', -tearoff => $menutear, -menuitems =>
+      [
+        ['command', '~Load File ...', -accelerator => 'Ctrl-L',
+           -command => \&FileLoad ],
+        ['command', '~Save File', -accelerator => 'Ctrl-S', -command => \&FileSave ],
+        ['command', 'Save ~As ...', -command => \&FileSaAs ],
+        ['command', '~Output as command ...', -command => \&OutputCommand ],
+        '',
+        ['command', '~Rinex Obs File ...', -command => \&FileInpu ],
+        '',
+        ['command', 'View ~Data Summary ...', -command => \&FileSumm ],
+        ['command', '~View Selections ...', -command => \&FileSele ],
+        ['command', '~Clear all selections', -command => \&FileClea ],
+        '',
+        ['command', '~Exit',  -accelerator => 'Ctrl-Q', -command => \&FileExit ],
+      ],
+    ],
+
+    [ 'cascade', '~Compute', -tearoff => $menutear, -menuitems =>
+      [
+        ['command', 'New ~Data types...', -command => \&CompObst ],
+        ['command', '~Nav File...', -command => \&CompNavf ],
+        ['cascade', '~Rx Position', -tearoff => $menutear, -menuitems =>
+          [
+            ['command', '~Select Rx...', -command => \&CompPosnSele ],
+            ['command', '~RAIM Solution', -command => \&CompPosnRAIM ],
+          ],
+        ],
+        ['command', 'Con~figure...', -command => \&CompConf ],
+        '',
+        ['command', '~Create new data', -command => \&CompCrea ],
+      ],
+    ],
+
+    [ 'cascade', '~DataSet', -tearoff => $menutear, -menuitems =>
+      [
+        ['command', '~Satellites', -command => \&DataSats ],
+        ['command', '~Obs types', -command => \&DataObst ],
+        ['command', '~Times', -command => \&DataTime ],
+        ['command', '~Configure', -command => \&DataConf ],
+      ],
+    ],
+
+    [ 'cascade', '~Graph', -tearoff => $menutear, -menuitems =>
+      [
+        ['command', '~AutoScale', -accelerator => '   Ctrl-A',
+           -command => \&AutoScale ],
+        ['command', '~Limits', -command => \&GrapLims ],
+        ['command', '~Axes', -command => \&GrapAxes ],
+        ['command', 'La~bels', -command => \&GrapLabe ],
+        ['command', '~Curves', -command => \&GrapCurv ],
+        ['command', 'Zoom ~In', '-accelerator', '    Ctrl-I',
+            -command => [ \&GrapZoom, 'dummy', 'In' ] ],
+        ['command', 'Zoom ~Out', '-accelerator', '    Ctrl-O',
+            -command => [ \&GrapZoom, 'dummy', 'Out' ] ],
+        ['command', '~UnZoom', '-accelerator', '    Ctrl-U',
+            -command => \&GrapUnzo ],
+        '',
+        ['command', '~Gnuplot', -command => \&GrapGnup ],
+      ],
+    ],
+
+    # this makes Refresh just a button - no menu under it
+    [ 'command', '~Refresh', -command => \&Refresh ],
+
+    [ 'cascade', '~Settings', -tearoff => $menutear, -menuitems =>
+      [
+        ['command', '~Preferences', -command => \&SettPref ],
+        ['command', '~Set Cursor', -command => \&SettCurs ],
+      ],
+    ],
+
+    [ 'cascade', '~Help', -tearoff => $menutear, -menuitems =>
+      [
+        ['command', '~Topics', -command => \&HelpTopi ],
+        ['command', '~About', -command => \&HelpAbou ],
+      ],
+    ],
+
+  ]; 
+} # end sub create_menu
+
+#-------------------------------------------------------------------------------------
+# initialize: create menu system and define bindings
+sub init {
+   create_screen();
+
+   # key bindings
+   $w_top->bind("<Control-Key-l>", \&FileLoad);
+   $w_top->bind("<Control-Key-s>", \&FileSave);
+   $w_top->bind("<Control-Key-a>", \&AutoScale);
+   $w_top->bind("<Control-Key-q>", \&FileExit);
+   $w_top->bind("<Control-Key-i>", [ \&GrapZoom, "In"] );
+   $w_top->bind("<Control-Key-o>", [ \&GrapZoom, "Out"] );
+   $w_top->bind("<Control-Key-u>", \&GrapUnzo);
+   $w_top->bind("<Control-Key-r>", \&Refresh);
+
+   # mouse bindings
+   $w_canvas->CanvasBind("<ButtonPress-1>",
+      [ \&mouse_events, Ev('x'), Ev('y'), "push left" ]);
+   $w_canvas->CanvasBind("<ButtonPress-3>",
+      [ \&mouse_events, Ev('x'), Ev('y'), "push right" ]);
+   $w_canvas->CanvasBind("<ButtonRelease-1>",
+      [ \&mouse_events, Ev('x'), Ev('y'), "rel left" ]);
+   $w_canvas->CanvasBind("<ButtonRelease-3>",
+      [ \&mouse_events, Ev('x'), Ev('y'), "rel right" ]);
+   $w_canvas->CanvasBind("<Motion>",
+      [ \&mouse_events, Ev('x'), Ev('y'), "motion" ]);
+
+   # window resizing
+   $w_canvas->CanvasBind("<Configure>", \&CanvConf);
+
+   # fonts
+   $w_top->fontCreate(qw/C_small -family courier   -size 10/);
+   $w_top->fontCreate(qw/C_big   -family courier   -size 14 -weight bold/);
+   $w_top->fontCreate(qw/C_vbig  -family helvetica -size 24 -weight bold/);
+   $w_top->fontCreate(qw/C_bold -family courier -size 12 -weight bold -slant italic/);
+
+   $MainUp = 1;
+}
+
+#-------------------------------------------------------------------------------------
+sub create_screen {
+   $w_top = MainWindow->new(-title =>'Rinex Plot');
+
+   # menus
+   $w_top->configure(-menu => $menubar = $w_top->Menu(-menuitems => create_menu));
+
+   # status bar - putting statusbar before canvas means when resizing window,
+   #              canvas shrinks but status bar stays
+   $statusbar = $w_top->ROText(
+      -height => 1,
+      -relief => 'flat',
+      -background => '#a0b7ce',
+      -foreground => 'white',
+      -borderwidth => 2
+       )->pack(
+      -expand => '0',
+      -fill => 'both',
+      -side => 'bottom',
+      -anchor => 'w');
+   $statusbar->insert('0.0', 'Welcome to Rinex Plot');
+
+   # canvas
+   $w_canvas = $w_top->Canvas(
+      '-width'  => $CFG{'width'}+$CFG{'Lmargin'}+$CFG{'Rmargin'},
+      '-height' => $CFG{'height'}+$CFG{'Tmargin'}+$CFG{'Bmargin'},
+      '-border' => 1,
+      # this has no effect ... '-relief' => 'solid',
+      '-background' => $BCOLOR,
+      '-cursor' => $cursor);
+   $w_canvas->pack(-expand => '1', -anchor => 'nw', -fill => 'both');
+
+   # need update here to prevent a <Configure> event that calls CanvConf at odd time
+   $w_top->update;
+}
+
+#-------------------------------------------------------------------------------------
+# execution begins here
+#-------------------------------------------------------------------------------------
+# define default CFG values
+Defaults();
+
+# process command line arguments
+CommandLine();
+
+# create menu and screen and define bindings
+init();
+
+# process any command line input
+ProcessConfig();
+
+# make sure utilities are available
+my($ResCor,$RinSum,$RinexDump)=('ResCor','RinSum','RinexDump');
+if ($^O eq "MSWin32") {
+   $ResCor='ResCor.exe';
+   $RinSum='RinSum.exe';
+   $RinexDump='RinexDump.exe';
+}
+if(not -e $CFG{'prgmdir'} . $SLASH . $RinSum
+   || not -e $CFG{'prgmdir'} . $SLASH . $ResCor
+   || not -e $CFG{'prgmdir'} . $SLASH . $RinexDump) {
+   PopNotice("Error: GPSTk not found",
+      "Error: GPSTk utilities are not found in directory $CFG{'prgmdir'}.\n"
+      . "Go to Settings/Preferences to change this");
+}
+
+MainLoop();
+#-------------------------------------------------------------------------------------
diff --git a/trunk/apps/RinexPlot/alic0320.04o b/trunk/apps/RinexPlot/alic0320.04o
new file mode 100644
index 0000000..edcdacc
--- /dev/null
+++ b/trunk/apps/RinexPlot/alic0320.04o
@@ -0,0 +1,56143 @@
+     2.10           OBSERVATION DATA    G (GPS)             RINEX VERSION / TYPE
+teqc  2000Jul20     ARGNET              20040202 03:37:14UTCPGM / RUN BY / DATE
+Solaris 2.7|Ultra 2|cc SC5.0|=+-|*Sparc                     COMMENT
+BIT 2 OF LLI FLAGS DATA COLLECTED UNDER A/S CONDITION       COMMENT
+alic                                                        MARKER NAME
+50137M001                                                   MARKER NUMBER
+Geoscience AustraliaGeoscience Australia                    OBSERVER / AGENCY
+UC2200302004        ASHTECH UZ-12       ZC00                REC # / TYPE / VERS
+318                 AOAD/M_T        NONE                    ANT # / TYPE
+ -4052059.5100  4212844.0100 -2545111.4500                  APPROX POSITION XYZ
+        0.0070        0.0000        0.0000                  ANTENNA: DELTA H/E/N
+     1     1                                                WAVELENGTH FACT L1/2
+     9    L1    L2    C1    P2    P1    D1    D2    S1    S2# / TYPES OF OBSERV
+    30.0000                                                 INTERVAL
+Australian Regional GPS Network (ARGN)                      COMMENT
+ALICE SPRINGS AU012                                         COMMENT
+ SNR is mapped to RINEX snr flag value [1-9]                COMMENT
+  L1: 1 -> 1;  90 -> 5; 210 -> 9                            COMMENT
+  L2: 1 -> 1; 150 -> 5; 250 -> 9                            COMMENT
+teqc windowed: start @ 2004 Feb  1 00:00:00.000             COMMENT
+teqc windowed: delta = 86398.560 sec                        COMMENT
+  2004     2     1     0     0    0.0000000     GPS         TIME OF FIRST OBS
+                                                            END OF HEADER
+ 04  2  1  0  0  0.0000000  0  9G 3G20G22G31G15G11G14G25G23
+ -16176747.00843 -12355304.59442  22418150.425    22418155.516    22418149.647
+     -2741.371       -2136.133          50.000          44.000
+  -3817114.94143  -2786970.02742  24599165.143    24599170.366    24599163.560
+      1731.321        1349.081          43.000          38.000
+   2098711.48143   1648338.44742  23617627.241    23617628.394    23617626.128
+     -1854.882       -1445.362          48.000          42.000
+ -19862225.61543 -15425988.20742  21722920.988    21722924.617    21722919.051
+      -786.651        -612.975          53.000          47.000
+ -12222589.82943  -9467674.91342  22589840.476    22589845.972    22589839.200
+     -2060.072       -1605.251          52.000          45.000
+ -13290671.44743 -10306106.20142  22581326.277    22581328.858    22581325.694
+      2935.808        2287.643          53.000          45.000
+ -16242920.33343 -12645631.31542  21509006.854    21509009.199    21509005.339
+     -2448.548       -1907.959          55.000          49.000
+ -17420555.79243 -13563552.55842  21811169.016    21811172.916    21811167.995
+      2288.533        1783.272          55.000          48.000
+ -15985767.55643 -12394562.48942  22255196.271    22255199.723    22255194.972
+     -1670.581       -1301.751          51.000          44.000
+ 04  2  1  0  0 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+                                  24878177.576
+      3334.344        2598.190          41.000
+ -16094412.37643 -12291147.80142  22433818.867    22433824.458    22433817.491
+     -2747.137       -2140.626          51.000          44.000
+  -3869054.26943  -2827442.23642  24589280.998    24589285.923    24589279.917
+      1730.841        1348.707          42.000          38.000
+   2154358.07843   1691699.36042  23628215.212    23628219.487    23628214.918
+     -1854.571       -1445.120          47.000          41.000
+ -19838391.04843 -15407415.85242  21727455.838    21727460.112    21727454.529
+      -802.274        -625.148          53.000          47.000
+ -12160634.24743  -9419397.87442  22601630.960    22601636.191    22601629.281
+     -2070.478       -1613.359          51.000          45.000
+ -13378655.25543 -10374665.00442  22564584.425    22564586.371    22564583.258
+      2930.194        2283.268          52.000          45.000
+ -16169322.24743 -12588282.18542  21523011.934    21523014.612    21523010.767
+     -2457.731       -1915.115          55.000          49.000
+ -17489041.20543 -13616917.79142  21798136.155    21798140.246    21798135.340
+      2277.291        1774.512          54.000          48.000
+ -15935632.53143 -12355496.27842  22264736.510    22264739.814    22264734.800
+     -1671.670       -1302.600          51.000          44.000
+ 04  2  1  0  1  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+                                  24859163.483
+      3329.047        2594.063          42.000
+ -16011909.07843 -12226859.57042  22449519.694    22449524.017    22449517.961
+     -2752.563       -2144.854          51.000          44.000
+  -3920984.08143  -2867906.98042  24579402.855    24579403.071    24579401.125
+      1731.154        1348.951          43.000          37.000
+   2209993.90443   1735051.90142  23638802.991    23638806.192    23638801.336
+     -1854.110       -1444.761          48.000          42.000
+ -19814084.51843 -15388475.72742  21732081.899    21732085.248    21732080.148
+      -817.923        -637.342          54.000          47.000
+ -12098356.55543  -9370869.84742  22613481.735    22613487.806    22613480.393
+     -2081.200       -1621.714          51.000          45.000
+ -13466479.65543 -10443099.58842  22547870.860    22547873.842    22547870.402
+      2925.244        2279.411          52.000          45.000
+ -16095453.99343 -12530722.53842  21537068.466    21537071.336    21537067.292
+     -2466.453       -1921.911          55.000          49.000
+ -17557186.41643 -13670017.92842  21785168.594    21785172.554    21785168.037
+      2266.020        1765.730          54.000          48.000
+ -15885464.28543 -12316404.16742  22274282.666    22274287.213    22274282.094
+     -1672.633       -1303.350          51.000          45.000
+ 04  2  1  0  1 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+                                  24840177.063
+      3322.810        2589.203          43.000
+ -15929237.71443 -12162440.39242  22465251.359    22465255.258    22465250.002
+     -2758.416       -2149.415          51.000          44.000
+  -3972902.54243  -2908362.90442  24569520.795    24569525.732    24569521.001
+      1730.354        1348.328          43.000          38.000
+   2265621.72543   1778398.20742  23649387.308    23649392.519    23649387.444
+     -1854.321       -1444.925          47.000          41.000
+ -19789305.35743 -15369167.33542  21736797.232    21736800.540    21736795.935
+      -833.813        -649.724          53.000          47.000
+ -12035754.88343  -9322089.35542  22625394.857    22625399.593    22625393.417
+     -2091.972       -1630.108          51.000          45.000
+ -13554139.66643 -10511406.07342  22531189.333    22531192.016    22531188.323
+      2919.104        2274.626          52.000          45.000
+ -16021315.77743 -12472952.53342  21551176.135    21551179.195    21551175.120
+     -2475.742       -1929.150          55.000          49.000
+ -17624985.96943 -13722848.72142  21772266.696    21772270.921    21772266.085
+      2254.137        1756.470          55.000          48.000
+ -15835260.39943 -12277284.29242  22283836.045    22283841.419    22283834.410
+     -1674.138       -1304.523          51.000          44.000
+ 04  2  1  0  2  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+                                  24821219.612
+      3318.309        2585.695          43.000
+ -15846401.61943 -12097892.84642  22481014.164    22481018.161    22481012.896
+     -2763.724       -2153.551          51.000          44.000
+  -4024810.71443  -2948810.82442  24559644.512    24559648.125    24559642.553
+      1730.706        1348.602          44.000          38.000
+   2321241.26643   1821738.07042  23659971.618    23659976.468    23659971.965
+     -1853.143       -1444.007          47.000          41.000
+ -19764055.83143 -15349492.41342  21741601.788    21741605.812    21741600.581
+      -848.733        -661.350          54.000          47.000
+ -11972830.05843  -9273057.07442  22637368.606    22637374.157    22637367.157
+     -2102.143       -1638.033          51.000          45.000
+ -13641633.38543 -10579582.98542  22514540.256    22514542.771    22514539.352
+      2914.222        2270.822          52.000          45.000
+ -15946910.53443 -12414974.45742  21565334.946    21565338.451    21565333.986
+     -2483.897       -1935.504          55.000          49.000
+ -17692437.04043 -13775407.98042  21759430.918    21759435.382    21759429.988
+      2243.509        1748.189          55.000          48.000
+ -15785021.50443 -12238137.13642  22293397.747    22293400.793    22293395.633
+     -1674.606       -1304.888          52.000          44.000
+ 04  2  1  0  2 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+                                  24802296.679
+      3312.817        2581.416          43.000
+ -15763404.08143 -12033219.50242  22496808.148    22496812.498    22496806.951
+     -2768.997       -2157.660          51.000          44.000
+  -4076709.35643  -2989251.30742  24549768.094    24549772.416    24549767.054
+      1730.089        1348.121          44.000          39.000
+   2376853.20943   1865071.98642  23670557.363    23670557.976    23670554.821
+     -1853.470       -1444.262          49.000          42.000
+ -19738337.43243 -15329452.14342  21746496.102    21746500.025    21746495.019
+      -864.857        -673.914          53.000          47.000
+ -11909582.50043  -9223773.33442  22649404.107    22649409.312    22649403.195
+     -2113.364       -1646.777          50.000          45.000
+ -13728958.27943 -10647628.33342  22497923.595    22497925.516    22497921.871
+      2908.259        2266.176          53.000          45.000
+ -15872240.87743 -12356790.33842  21579544.316    21579547.533    21579543.604
+     -2493.212       -1942.762          55.000          48.000
+ -17759536.47643 -13827693.21742  21746662.745    21746666.907    21746661.595
+      2230.937        1738.392          54.000          48.000
+ -15734747.35243 -12198962.50242  22302963.602    22302968.470    22302962.619
+     -1676.246       -1306.166          51.000          44.000
+ 04  2  1  0  3  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+                                  24783403.329
+      3306.912        2576.815          45.000
+ -15680245.94643 -11968421.02642  22512632.166    22512638.462    22512630.721
+     -2774.517       -2161.961          51.000          44.000
+  -4128597.40443  -3029683.55242  24539893.036    24539897.940    24539891.869
+      1729.317        1347.520          44.000          38.000
+   2432459.58643   1908401.55942  23681136.760    23681141.108    23681135.659
+     -1853.608       -1444.370          48.000          42.000
+ -19712150.28343 -15309046.62042  21751478.813    21751482.826    21751477.699
+      -880.705        -686.264          53.000          47.000
+ -11846010.73643  -9174236.97042  22661502.109    22661506.362    22661500.186
+     -2124.600       -1655.532          50.000          44.000
+ -13816110.34243 -10715539.02042  22481338.430    22481341.161    22481337.497
+      2902.010        2261.306          52.000          45.000
+ -15797307.57543 -12298400.78342  21593803.833    21593806.571    21593802.711
+     -2502.237       -1949.795          55.000          48.000
+ -17826279.60343 -13879700.82642  21733961.585    21733965.952    21733960.941
+      2218.614        1728.790          55.000          48.000
+ -15684436.07843 -12159758.95742  22312537.372    22312541.222    22312535.292
+     -1677.723       -1307.317          51.000          44.000
+ 04  2  1  0  3 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -1511699.89653   -760932.88752  24764537.876    24764547.734    24764537.763
+      3301.542        2572.630          45.000          36.000
+ -15596932.12043 -11903501.23342  22528487.200    22528491.331    22528485.789
+     -2779.647       -2165.959          50.000          44.000
+  -4180477.26243  -3070109.38642  24530019.886    24530025.067    24530018.434
+      1729.433        1347.610          43.000          38.000
+   2488059.05343   1951725.76042  23691717.639    23691720.371    23691715.604
+     -1853.164       -1444.024          48.000          42.000
+ -19685498.00343 -15288278.64942  21756550.817    21756554.721    21756549.161
+      -896.182        -698.324          53.000          47.000
+ -11782117.06243  -9124449.73042  22673660.416    22673665.384    22673659.018
+     -2135.143       -1663.748          51.000          45.000
+ -13903088.76343 -10783314.39342  22464787.622    22464791.145    22464786.380
+      2896.384        2256.923          53.000          45.000
+ -15722115.23143 -12239809.37942  21608112.583    21608115.397    21608111.476
+     -2510.745       -1956.425          55.000          48.000
+ -17892665.49043 -13931430.08042  21721328.682    21721333.162    21721327.855
+      2206.882        1719.648          54.000          48.000
+ -15634089.68143 -12120528.02642  22322117.381    22322122.769    22322116.323
+     -1678.975       -1308.292          50.000          44.000
+ 04  2  1  0  4  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -1610655.09143   -838040.82642  24745708.678    24745719.580    24745707.952
+      3295.438        2567.874          46.000          36.000
+ -15513463.03143 -11838460.45442  22544370.242    22544375.784    22544368.402
+     -2785.132       -2170.233          50.000          44.000
+  -4232346.83143  -3110527.18642  24520150.135    24520153.937    24520149.626
+      1728.610        1346.969          45.000          39.000
+   2543654.82043   1995047.08842  23702296.286    23702300.208    23702294.761
+     -1853.404       -1444.211          48.000          41.000
+ -19658379.51243 -15267147.39642  21761710.953    21761715.325    21761710.518
+      -912.035        -710.677          53.000          47.000
+ -11717898.99643  -9074409.71442  22685881.334    22685886.453    22685879.861
+     -2146.267       -1672.416          52.000          45.000
+ -13989888.26143 -10850950.35242  22448269.956    22448273.241    22448269.139
+      2890.001        2251.949          52.000          45.000
+ -15646663.63143 -12181015.96842  21622470.430    21622473.453    21622469.265
+     -2519.558       -1963.292          55.000          48.000
+ -17958688.08843 -13982876.22342  21708764.951    21708769.937    21708763.808
+      2194.347        1709.881          54.000          48.000
+ -15583705.27843 -12081267.49942  22331705.898    22331710.002    22331704.478
+     -1680.257       -1309.291          50.000          44.000
+ 04  2  1  0  4 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -1709443.85043   -915019.04442  24726908.359    24726916.170    24726907.401
+      3290.204        2563.795          43.000          36.000
+ -15429845.07343 -11773303.68042  22560282.038    22560287.126    22560280.870
+     -2789.731       -2173.816          50.000          44.000
+  -4284210.29343  -3150940.25142  24510281.592    24510284.522    24510279.978
+      1728.860        1347.164          46.000          39.000
+   2599243.43143   2038362.81842  23712873.584    23712878.391    23712873.490
+     -1852.530       -1443.530          48.000          42.000
+ -19630800.31043 -15245657.14942  21766959.951    21766963.482    21766958.889
+      -926.953        -722.301          53.000          47.000
+ -11653360.72043  -9024120.19642  22698161.896    22698168.094    22698160.309
+     -2156.543       -1680.423          51.000          45.000
+ -14076510.44643 -10918448.14542  22431785.827    22431789.609    22431784.945
+      2884.558        2247.708          52.000          45.000
+ -15570958.78843 -12122025.22642  21636876.811    21636879.424    21636875.884
+     -2527.515       -1969.492          55.000          48.000
+ -18024348.16143 -14034039.88642  21696271.148    21696274.967    21696269.752
+      2182.717        1700.818          55.000          48.000
+ -15533286.39043 -12041980.10142  22341299.604    22341304.758    22341298.490
+     -1681.085       -1309.936          50.000          43.000
+ 04  2  1  0  5  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -1808063.68243   -991865.61342  24708142.536    24708149.514    24708142.362
+      3284.047        2558.998          44.000          37.000
+ -15346080.30343 -11708032.52042  22576221.429    22576227.889    22576220.863
+     -2795.083       -2177.987          49.000          44.000
+  -4336067.88543  -3191348.77542  24500413.255    24500416.176    24500412.015
+      1728.098        1346.570          46.000          39.000
+   2654826.00743   2081673.83342  23723453.229    23723454.801    23723451.336
+     -1853.100       -1443.974          50.000          42.000
+ -19602761.69643 -15223808.90742  21772295.264    21772299.155    21772294.061
+      -942.780        -734.634          53.000          47.000
+ -11588502.08543  -8973581.06142  22710504.219    22710509.679    22710502.667
+     -2167.881       -1689.258          51.000          44.000
+ -14162952.04243 -10985805.22242  22415336.748    22415338.983    22415335.712
+      2877.796        2242.438          52.000          45.000
+ -15495002.93843 -12062838.87942  21651330.774    21651333.280    21651329.425
+     -2536.528       -1976.515          55.000          48.000
+ -18089641.68343 -14084917.93442  21683845.735    21683849.643    21683844.801
+      2169.791        1690.746          55.000          48.000
+ -15482832.39043 -12002665.34342  22350900.686    22350906.058    22350898.933
+     -1683.177       -1311.566          50.000          44.000
+ 04  2  1  0  5 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -1906514.97143  -1068580.85742  24689406.348    24689413.171    24689405.454
+      3279.001        2555.066          44.000          37.000
+ -15262173.92043 -11642650.99542  22592189.198    22592194.733    22592188.424
+     -2799.147       -2181.153          50.000          44.000
+  -4387922.03343  -3231754.59942  24490545.356    24490549.860    24490544.146
+      1728.182        1346.635          46.000          39.000
+   2710401.16943   2124979.11742  23734028.191    23734030.530    23734026.910
+     -1852.475       -1443.487          49.000          42.000
+ -19574267.34643 -15201605.55442  21777717.602    21777721.281    21777716.158
+      -957.445        -746.061          53.000          47.000
+ -11523325.57243  -8922794.23342  22722906.160    22722912.465    22722905.225
+     -2177.819       -1697.002          50.000          44.000
+ -14249212.30743 -11053020.98342  22398921.357    22398924.732    22398920.889
+      2872.347        2238.192          52.000          45.000
+ -15418800.41943 -12003460.33242  21665830.784    21665834.853    21665830.226
+     -2544.136       -1982.444          54.000          48.000
+ -18154568.03143 -14135509.87942  21671491.264    21671494.706    21671490.152
+      2158.153        1681.678          55.000          48.000
+ -15432345.18143 -11963324.68742  22360509.080    22360513.203    22360506.800
+     -1683.501       -1311.819          50.000          44.000
+ 04  2  1  0  6  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -2004790.58943  -1145159.19142  24670707.575    24670712.916    24670706.516
+      3273.474        2550.759          45.000          38.000
+ -15178123.84043 -11577157.49942  22608183.224    22608188.132    22608181.471
+     -2803.723       -2184.719          50.000          44.000
+  -4439768.01043  -3272154.07442  24480680.284    24480683.469    24480677.969
+      1728.363        1346.776          46.000          39.000
+   2765974.42143   2168282.88742  23744601.427    23744605.743    23744601.528
+     -1851.969       -1443.093          48.000          41.000
+ -19545313.77343 -15179044.36742  21783227.093    21783231.536    21783225.435
+      -972.458        -757.759          53.000          47.000
+ -11457826.05043  -8871755.70242  22735371.291    22735376.760    22735369.387
+     -2188.413       -1705.257          50.000          44.000
+ -14335283.56143 -11120089.48642  22382542.841    22382546.650    22382541.981
+      2866.251        2233.442          52.000          45.000
+ -15342348.61243 -11943887.53542  21680379.611    21680382.788    21680378.519
+     -2552.182       -1988.713          55.000          48.000
+ -18219118.86243 -14185809.20442  21659206.861    21659211.382    21659205.959
+      2145.661        1671.944          55.000          48.000
+ -15381819.14743 -11923953.79542  22370123.627    22370128.323    22370122.585
+     -1684.537       -1312.626          50.000          44.000
+ 04  2  1  0  6 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -2102912.35743  -1221617.62742  24652034.364    24652041.427    24652033.652
+      3266.772        2545.537          44.000          38.000
+ -15093956.16543 -11511572.35842  22624200.313    22624205.322    22624199.177
+     -2808.796       -2188.672          50.000          44.000
+  -4491629.92143  -3312565.93442  24470810.998    24470815.989    24470808.731
+      1727.675        1346.240          46.000          39.000
+   2821522.93843   2211567.39242  23755173.264    23755176.254    23755171.663
+     -1852.504       -1443.510          47.000          41.000
+ -19515926.33343 -15156145.10042  21788819.321    21788823.268    21788818.314
+      -988.105        -769.952          53.000          47.000
+ -11392027.50943  -8820484.17242  22747891.956    22747897.037    22747891.686
+     -2199.554       -1713.938          51.000          44.000
+ -14421186.80843 -11187027.06142  22366195.699    22366199.198    22366194.520
+      2859.388        2228.095          52.000          45.000
+ -15265673.42243 -11884140.67642  21694970.282    21694973.697    21694969.262
+     -2560.801       -1995.429          55.000          48.000
+ -18283314.58043 -14235831.81942  21646991.148    21646994.959    21646989.606
+      2132.710        1661.852          55.000          48.000
+ -15331277.86843 -11884571.02442  22379741.394    22379746.158    22379741.016
+     -1686.170       -1313.899          50.000          44.000
+ 04  2  1  0  7  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -2200835.61543  -1297921.38242  24633399.624    24633408.948    24633398.686
+      3260.981        2541.024          43.000          38.000
+ -15009630.89743 -11445864.42542  22640247.057    22640251.583    22640245.491
+     -2813.168       -2192.079          51.000          44.000
+  -4543465.61043  -3352957.36142  24460947.722    24460949.561    24460944.179
+      1727.767        1346.312          45.000          39.000
+   2877089.86943   2254866.20042  23765747.826    23765749.094    23765746.954
+     -1852.174       -1443.252          49.000          41.000
+ -19486064.08143 -15132875.85042  21794502.372    21794505.089    21794500.995
+     -1003.058        -781.604          53.000          47.000
+ -11325887.88043  -8768946.84942  22760478.030    22760483.159    22760476.232
+     -2209.975       -1722.058          50.000          44.000
+ -14506876.93243 -11253798.57642  22349889.485    22349892.951    22349889.021
+      2852.984        2223.104          52.000          45.000
+ -15188734.42443 -11824188.24542  21709612.272    21709615.345    21709611.152
+     -2568.797       -2001.660          55.000          48.000
+ -18347109.56643 -14285542.16742  21634851.463    21634854.908    21634850.325
+      2120.039        1651.978          55.000          48.000
+ -15280678.27343 -11845142.79842  22389368.931    22389375.383    22389367.459
+     -1687.280       -1314.764          50.000          44.000
+ 04  2  1  0  7 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -2298581.06343  -1374086.58042  24614798.883    24614807.748    24614798.177
+      3255.307        2536.603          43.000          38.000
+ -14925173.35243 -11380053.41542  22656318.452    22656323.605    22656317.433
+     -2817.322       -2195.316          50.000          43.000
+  -4595298.02443  -3393346.22242  24451082.983    24451087.991    24451081.983
+      1727.949        1346.454          45.000          39.000
+   2932653.54843   2298162.53042  23776319.234    23776324.933    23776319.661
+     -1851.950       -1443.078          47.000          41.000
+ -19455751.37643 -15109255.59242  21800270.623    21800274.299    21800269.448
+     -1017.932        -793.194          53.000          47.000
+ -11259430.15843  -8717161.67742  22773124.757    22773130.186    22773123.395
+     -2220.472       -1730.238          50.000          45.000
+ -14592373.25243 -11320419.08042  22333621.272    22333623.344    22333619.170
+      2846.845        2218.321          53.000          45.000
+ -15111556.70143 -11764049.80142  21724298.204    21724300.860    21724296.940
+     -2576.376       -2007.566          55.000          48.000
+ -18410523.32143 -14334955.46642  21622784.563    21622787.465    21622783.200
+      2107.598        1642.284          55.000          48.000
+ -15230042.70943 -11805686.56142  22399006.509    22399010.619    22399004.456
+     -1688.339       -1315.589          51.000          44.000
+ 04  2  1  0  8  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -2396152.82143  -1450116.44042  24596233.318    24596239.409    24596231.182
+      3249.411        2532.009          45.000          38.000
+ -14840592.51943 -11314146.35042  22672412.767    22672416.883    22672412.935
+     -2821.302       -2198.417          50.000          43.000
+  -4647133.65543  -3433737.62042  24441218.663    24441223.565    24441216.970
+      1728.110        1346.579          45.000          39.000
+   2988208.45443   2341452.01442  23786894.158    23786895.326    23786891.429
+     -1851.638       -1442.835          49.000          41.000
+ -19424995.99443 -15085290.39242  21806123.256    21806127.502    21806121.780
+     -1032.597        -804.621          53.000          47.000
+ -11192660.51243  -8665133.44742  22785830.910    22785836.232    22785829.101
+     -2230.787       -1738.275          51.000          45.000
+ -14677679.73143 -11386891.64942  22317387.470    22317389.585    22317387.015
+      2840.283        2213.208          53.000          46.000
+ -15034148.73643 -11703731.94842  21739028.434    21739031.432    21739027.295
+     -2583.974       -2013.486          55.000          48.000
+ -18473558.28743 -14384073.61142  21610789.310    21610792.470    21610788.181
+      2094.926        1632.410          55.000          49.000
+ -15179376.87143 -11766206.73042  22408647.747    22408651.487    22408645.393
+     -1689.184       -1316.247          51.000          44.000
+ 04  2  1  0  8 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -2493542.32843  -1526004.28742  24577701.079    24577707.648    24577698.738
+      3243.606        2527.485          44.000          38.000
+ -14755884.52143 -11248140.19842  22688532.853    22688539.312    22688531.156
+     -2825.340       -2201.564          50.000          43.000
+  -4698966.12543  -3474126.54642  24431355.364    24431359.094    24431355.026
+      1727.844        1346.372          46.000          39.000
+   3043761.76443   2384740.26342  23797463.573    23797466.193    23797463.199
+     -1851.508       -1442.733          48.000          41.000
+ -19393792.88443 -15060976.30842  21812060.667    21812065.229    21812059.603
+     -1047.439        -816.186          53.000          47.000
+ -11125572.54343  -8612857.19042  22798597.145    22798602.185    22798595.578
+     -2241.409       -1746.552          51.000          44.000
+ -14762786.88543 -11453208.90442  22301192.418    22301195.054    22301191.395
+      2833.777        2208.138          53.000          46.000
+ -14956506.28643 -11643231.37542  21753803.220    21753806.530    21753802.218
+     -2591.714       -2019.517          54.000          48.000
+ -18536204.59843 -14432888.90342  21598867.411    21598871.717    21598866.417
+      2081.887        1622.250          55.000          49.000
+ -15128673.77743 -11726697.84642  22418294.845    22418299.518    22418294.512
+     -1690.516       -1317.285          50.000          44.000
+ 04  2  1  0  9  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -2590748.45243  -1601749.22942  24559203.266    24559210.142    24559201.601
+      3237.513        2522.737          46.000          39.000
+ -14671052.70143 -11182037.55942  22704677.791    22704682.680    22704675.662
+     -2829.477       -2204.787          51.000          44.000
+  -4750796.92443  -3514514.20642  24421491.947    24421495.179    24421490.862
+      1727.821        1346.354          46.000          38.000
+   3099313.34743   2428027.13942  23808034.880    23808037.656    23808034.694
+     -1851.504       -1442.730          47.000          40.000
+ -19362144.63443 -15036315.37342  21818083.662    21818087.860    21818081.697
+     -1062.192        -827.682          53.000          47.000
+ -11058167.35443  -8560333.70942  22811423.022    22811428.889    22811421.863
+     -2251.833       -1754.675          50.000          44.000
+ -14847693.04043 -11519369.53842  22285034.724    22285037.450    22285033.788
+      2827.078        2202.918          53.000          45.000
+ -14878632.57343 -11582550.60242  21768622.443    21768625.174    21768621.124
+     -2599.328       -2025.450          54.000          48.000
+ -18598460.25643 -14481399.79142  21587021.283    21587024.633    21587020.200
+      2068.856        1612.095          55.000          49.000
+ -15077933.77743 -11687160.22642  22427951.983    22427956.117    22427949.969
+     -1691.714       -1318.219          51.000          44.000
+ 04  2  1  0  9 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -2687770.56843  -1677350.83642  24540739.906    24540746.980    24540738.590
+      3231.247        2517.855          46.000          39.000
+ -14586101.11443 -11115841.59242  22720841.569    22720847.764    22720841.012
+     -2833.624       -2208.019          50.000          43.000
+  -4802627.66243  -3554901.81642  24411627.689    24411633.707    24411626.673
+      1727.727        1346.281          45.000          38.000
+   3154862.68343   2471312.25442  23818604.847    23818609.747    23818604.349
+     -1851.476       -1442.708          48.000          41.000
+ -19330054.47243 -15011310.08442  21824189.774    21824194.011    21824188.396
+     -1076.964        -839.193          53.000          47.000
+ -10990446.96043  -8507564.61942  22824311.002    22824316.795    22824309.662
+     -2262.451       -1762.949          51.000          44.000
+ -14932396.50743 -11585372.22742  22268916.272    22268918.530    22268915.760
+      2820.136        2197.509          53.000          46.000
+ -14800530.99443 -11521692.27242  21783484.588    21783487.798    21783483.354
+     -2607.019       -2031.443          55.000          48.000
+ -18660323.61243 -14529604.98842  21575248.892    21575252.325    21575247.642
+      2055.564        1601.738          55.000          48.000
+ -15027158.06843 -11647594.77442  22437614.045    22437618.035    22437612.941
+     -1693.105       -1319.302          51.000          44.000
+ 04  2  1  0 10  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -2784606.31243  -1752807.17542  24522312.045    24522319.554    24522311.873
+      3225.257        2513.187          46.000          39.000
+ -14501032.15943 -11049554.17242  22737030.012    22737035.634    22737029.887
+     -2836.956       -2210.615          50.000          43.000
+  -4854458.02543  -3595289.12342  24401766.195    24401769.703    24401766.308
+      1727.808        1346.344          45.000          38.000
+   3210411.00743   2514596.62142  23829177.043    23829180.426    23829175.890
+     -1851.362       -1442.620          49.000          41.000
+ -19297523.52143 -14985961.32842  21830380.318    21830384.191    21830379.270
+     -1091.249        -850.324          53.000          47.000
+ -10922411.05943  -8454549.68042  22837258.033    22837263.145    22837255.606
+     -2272.799       -1771.012          51.000          44.000
+ -15016893.84843 -11651214.29542  22252836.728    22252839.639    22252835.657
+      2813.561        2192.385          53.000          46.000
+ -14722203.36843 -11460657.79542  21798390.352    21798393.123    21798388.748
+     -2614.262       -2037.087          55.000          48.000
+ -18721790.92743 -14577501.57942  21563551.453    21563555.511    21563550.564
+      2042.748        1591.752          55.000          49.000
+ -14976345.51443 -11608000.59942  22447282.243    22447287.225    22447280.577
+     -1694.036       -1320.028          50.000          44.000
+ 04  2  1  0 10 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -2881254.78043  -1828117.58742  24503919.980    24503927.622    24503918.736
+      3218.252        2507.729          45.000          39.000
+ -14415849.38743 -10983178.05742  22753240.063    22753244.519    22753239.440
+     -2841.655       -2214.277          50.000          43.000
+  -4906289.38443  -3635677.17642  24391902.332    24391907.375    24391901.526
+      1727.544        1346.138          44.000          38.000
+   3265958.28643   2557880.15242  23839747.079    23839749.823    23839746.274
+     -1851.976       -1443.098          48.000          41.000
+ -19264554.57843 -14960271.28042  21836654.496    21836658.005    21836653.345
+     -1106.644        -862.320          53.000          47.000
+ -10854060.82143  -8401289.83142  22850264.240    22850268.699    22850262.613
+     -2284.000       -1779.740          50.000          44.000
+ -15101182.93643 -11716894.08542  22236797.111    22236799.979    22236796.276
+      2805.786        2186.327          53.000          46.000
+ -14643652.59843 -11399449.43742  21813337.836    21813340.475    21813336.873
+     -2622.418       -2043.442          55.000          48.000
+ -18782860.04143 -14625087.88842  21551930.972    21551934.365    21551929.585
+      2028.506        1580.654          56.000          49.000
+ -14925496.82243 -11568378.27942  22456959.134    22456963.148    22456958.081
+     -1696.053       -1321.600          50.000          44.000
+ 04  2  1  0 11  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -2977715.12343  -1903281.42042  24485565.067    24485571.579    24485563.172
+      3211.738        2502.653          46.000          39.000
+ -14330556.45543 -10916716.10342  22769471.389    22769474.969    22769469.328
+     -2845.318       -2217.131          50.000          42.000
+  -4958123.22843  -3676067.18142  24382038.659    24382042.949    24382037.838
+      1727.506        1346.109          44.000          39.000
+   3321503.76343   2601162.30242  23850315.518    23850321.173    23850315.560
+     -1851.952       -1443.079          48.000          41.000
+ -19231150.34143 -14934242.04142  21843010.715    21843014.036    21843009.354
+     -1121.119        -873.599          53.000          46.000
+ -10785397.61043  -8347786.10142  22863330.470    22863336.190    22863328.167
+     -2294.391       -1787.837          51.000          44.000
+ -15185263.08843 -11782411.07942  22220797.121    22220800.275    22220796.711
+      2798.813        2180.893          54.000          46.000
+ -14564882.66243 -11338070.29942  21828327.209    21828329.971    21828326.039
+     -2629.665       -2049.090          55.000          48.000
+ -18843528.29843 -14672361.84042  21540385.503    21540389.979    21540384.932
+      2015.294        1570.359          55.000          49.000
+ -14874612.48043 -11528728.19342  22466642.148    22466646.990    22466640.327
+     -1697.088       -1322.406          50.000          44.000
+ 04  2  1  0 11 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -3073983.76743  -1978295.89342  24467245.671    24467251.761    24467243.157
+      3205.795        2498.022          45.000          39.000
+ -14245154.67443 -10850169.33442  22785720.849    22785725.699    22785719.959
+     -2848.437       -2219.561          49.000          42.000
+  -5009958.40843  -3716458.22242  24372175.026    24372180.281    24372174.009
+      1727.919        1346.430          45.000          39.000
+   3377050.19243   2644445.15742  23860888.498    23860890.551    23860887.829
+     -1851.347       -1442.608          49.000          42.000
+ -19197311.26643 -14907873.96842  21849449.582    21849454.255    21849448.542
+     -1135.010        -884.423          52.000          46.000
+ -10716420.44043  -8294037.72242  22876456.359    22876461.583    22876455.386
+     -2304.295       -1795.554          51.000          44.000
+ -15269129.45443 -11847761.48742  22204838.798    22204840.836    22204837.201
+      2792.093        2175.657          54.000          46.000
+ -14485893.97743 -11276520.71642  21843358.194    21843361.048    21843357.449
+     -2636.325       -2054.279          55.000          47.000
+ -18903791.56243 -14719320.20342  21528918.139    21528921.807    21528917.136
+      2002.191        1560.149          55.000          49.000
+ -14823690.71543 -11489048.91642  22476332.148    22476336.932    22476330.721
+     -1697.802       -1322.962          50.000          44.000
+ 04  2  1  0 12  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -3170062.31743  -2053162.22542  24448961.536    24448970.080    24448960.728
+      3199.219        2492.898          45.000          38.000
+ -14159649.92143 -10783542.32342  22801992.783    22801998.887    22801991.084
+     -2852.011       -2222.346          50.000          43.000
+  -5061798.64243  -3756853.20542  24362309.300    24362316.470    24362307.880
+      1727.801        1346.338          46.000          39.000
+   3432594.86343   2687726.66242  23871456.423    23871458.312    23871455.774
+     -1851.760       -1442.930          49.000          42.000
+ -19163042.44143 -14881171.02442  21855970.888    21855975.876    21855969.887
+     -1149.646        -895.828          52.000          46.000
+ -10647132.99743  -8240047.58442  22889641.547    22889647.347    22889639.447
+     -2314.978       -1803.879          50.000          44.000
+ -15352782.48343 -11912945.65042  22188919.587    22188921.936    22188918.024
+      2784.588        2169.809          53.000          46.000
+ -14406692.14643 -11214805.02442  21858429.592    21858432.815    21858428.807
+     -2643.784       -2060.091          54.000          47.000
+ -18963649.99343 -14765963.12842  21517527.716    21517531.551    21517526.881
+      1988.289        1549.316          56.000          49.000
+ -14772734.28843 -11449342.64842  22486029.172    22486033.692    22486028.432
+     -1699.126       -1323.994          50.000          44.000
+ 04  2  1  0 12 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -3265944.64043  -2127875.64842  24430715.275    24430722.532    24430714.583
+      3192.711        2487.827          43.000          38.000
+ -14074040.68843 -10716833.91542  22818285.508    22818289.299    22818284.544
+     -2855.417       -2225.000          50.000          43.000
+  -5113639.90143  -3797249.02342  24352444.784    24352449.984    24352443.419
+      1727.913        1346.426          45.000          39.000
+   3488142.45443   2731010.47742  23882027.955    23882032.340    23882026.483
+     -1851.655       -1442.848          49.000          42.000
+ -19128341.57043 -14854131.41542  21862574.855    21862578.913    21862573.489
+     -1163.983        -907.000          53.000          46.000
+ -10577531.63643  -8185812.83842  22902887.041    22902891.624    22902884.593
+     -2325.198       -1811.842          51.000          44.000
+ -15436215.33943 -11977958.25042  22173042.432    22173044.668    22173041.282
+      2777.300        2164.130          53.000          46.000
+ -14327275.58943 -11152922.03042  21873542.547    21873545.082    21873540.721
+     -2650.799       -2065.558          54.000          47.000
+ -19023096.43443 -14812285.02542  21506215.458    21506218.906    21506214.273
+      1974.576        1538.631          56.000          49.000
+ -14721738.64343 -11409605.81342  22495733.272    22495737.817    22495731.990
+     -1700.617       -1325.156          50.000          43.000
+ 04  2  1  0 13  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -3361633.66643  -2202438.40542  24412507.629    24412515.123    24412506.971
+      3187.502        2483.768          44.000          38.000
+ -13988334.49443 -10650049.94342  22834593.445    22834598.296    22834592.950
+     -2857.751       -2226.819          50.000          43.000
+  -5165487.51143  -3837649.74342  24342579.124    24342583.913    24342577.126
+      1729.358        1347.552          45.000          39.000
+   3543688.89543   2774293.37042  23892598.372    23892601.715    23892596.352
+     -1850.380       -1441.854          50.000          42.000
+ -19093215.40843 -14826760.41742  21869259.100    21869263.761    21869257.809
+     -1177.160        -917.267          52.000          46.000
+ -10507621.59943  -8131337.56342  22916189.449    22916194.455    22916188.236
+     -2334.641       -1819.201          50.000          44.000
+ -15519430.20443 -12042800.99342  22157207.600    22157209.577    22157205.839
+      2771.028        2159.243          54.000          46.000
+ -14247651.15443 -11090877.05742  21888693.816    21888697.451    21888692.578
+     -2656.720       -2070.171          53.000          47.000
+ -19082132.42243 -14858287.07742  21494981.171    21494984.580    21494979.938
+      1961.843        1528.709          56.000          49.000
+ -14670708.29843 -11369841.94842  22505443.181    22505448.453    22505441.899
+     -1700.675       -1325.201          49.000          44.000
+ 04  2  1  0 13 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -3457124.72343  -2276846.92442  24394336.051    24394342.526    24394334.561
+      3180.288        2478.146          44.000          39.000
+ -13902531.34343 -10583190.43142  22850920.384    22850926.558    22850919.468
+     -2861.208       -2229.513          50.000          43.000
+  -5217338.95443  -3878053.44942  24332709.807    24332716.920    24332709.891
+      1729.023        1347.291          44.000          39.000
+   3599237.93643   2817578.25842  23903169.754    23903171.262    23903168.144
+     -1851.189       -1442.485          50.000          42.000
+ -19057663.00943 -14799057.28442  21876023.494    21876028.819    21876022.929
+     -1191.691        -928.590          52.000          46.000
+ -10437400.39643  -8076619.80342  22929552.686    22929557.855    22929551.566
+     -2345.405       -1827.588          51.000          44.000
+ -15602421.57543 -12107469.57842  22141414.470    22141417.801    22141414.479
+      2763.145        2153.100          54.000          46.000
+ -14167818.41343 -11028669.76042  21903885.670    21903889.281    21903884.401
+     -2663.949       -2075.804          54.000          47.000
+ -19140752.10643 -14903964.74442  21483825.575    21483829.946    21483824.965
+      1947.559        1517.578          55.000          49.000
+ -14619639.97743 -11330048.47242  22515161.633    22515166.437    22515160.949
+     -1702.311       -1326.476          50.000          44.000
+ 04  2  1  0 14  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -3552418.46643  -2351101.68142  24376202.554    24376209.149    24376201.086
+      3173.018        2472.482          45.000          39.000
+ -13816636.13643 -10516259.17742  22867266.170    22867272.765    22867265.045
+     -2864.895       -2232.386          49.000          43.000
+  -5269196.88743  -3918462.21442  24322844.193    24322848.680    24322842.671
+      1728.387        1346.795          45.000          39.000
+   3654787.67243   2860863.71742  23913738.061    23913741.117    23913737.375
+     -1851.918       -1443.053          48.000          41.000
+ -19021688.55443 -14771025.28742  21882869.840    21882874.236    21882869.130
+     -1206.365        -940.025          53.000          46.000
+ -10366870.67043  -8021661.63242  22942973.585    22942979.583    22942972.629
+     -2356.377       -1836.138          51.000          44.000
+ -15685189.16943 -12171963.80442  22125664.431    22125667.119    22125663.456
+      2754.958        2146.721          54.000          46.000
+ -14087782.08743 -10966303.83442  21919116.349    21919119.348    21919115.539
+     -2671.542       -2081.721          54.000          47.000
+ -19198955.01343 -14949317.64742  21472750.357    21472754.052    21472749.428
+      1932.970        1506.210          56.000          49.000
+ -14568535.34543 -11290226.73942  22524886.113    22524890.993    22524885.361
+     -1704.171       -1327.925          50.000          44.000
+ 04  2  1  0 14 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -3647512.91443  -2425201.19442  24358106.272    24358113.899    24358105.065
+      3166.510        2467.410          45.000          40.000
+ -13730651.43643 -10449258.20242  22883628.055    22883635.488    22883627.657
+     -2867.466       -2234.389          49.000          43.000
+  -5321061.62743  -3958876.28542  24312972.722    24312979.773    24312971.495
+      1728.976        1347.254          44.000          39.000
+   3710339.10943   2904150.49742  23924310.831    23924313.752    23924310.041
+     -1851.595       -1442.801          48.000          42.000
+ -18985293.92343 -14742665.87142  21889795.676    21889800.480    21889794.426
+     -1220.098        -950.726          52.000          46.000
+ -10296032.99243  -7966463.51742  22956454.569    22956458.512    22956452.448
+     -2366.321       -1843.886          50.000          44.000
+ -15767729.78843 -12236281.15742  22109957.622    22109960.822    22109956.443
+      2747.566        2140.961          54.000          46.000
+ -14007544.31243 -10903780.92342  21934385.379    21934388.237    21934384.220
+     -2677.830       -2086.621          54.000          47.000
+ -19256738.00243 -14994343.33542  21461754.536    21461758.386    21461753.322
+      1919.149        1495.441          55.000          49.000
+ -14517394.11743 -11250376.45642  22534618.489    22534622.878    22534617.203
+     -1705.338       -1328.835          50.000          44.000
+ 04  2  1  0 15  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -3742402.87943  -2499141.34242  24340049.112    24340056.261    24340047.821
+      3159.830        2462.205          45.000          40.000
+ -13644576.68443 -10382187.05542  22900008.724    22900015.276    22900006.920
+     -2870.483       -2236.740          50.000          43.000
+  -5372930.05243  -3999293.22342  24303103.735    24303110.062    24303102.101
+      1729.353        1347.548          44.000          39.000
+   3765896.44143   2947441.85242  23934882.449    23934887.380    23934881.976
+     -1851.814       -1442.972          49.000          42.000
+ -18948477.69643 -14713977.94742  21896802.225    21896806.309    21896800.436
+     -1234.044        -961.593          53.000          46.000
+ -10224884.69343  -7911023.35642  22969992.715    22969998.354    22969991.920
+     -2376.638       -1851.926          51.000          44.000
+ -15850037.58543 -12300417.08742  22094294.838    22094297.977    22094293.737
+      2739.846        2134.945          53.000          46.000
+ -13927103.97243 -10841100.17542  21949692.440    21949695.980    21949691.435
+     -2684.552       -2091.859          54.000          47.000
+ -19314094.59043 -15039036.76242  21450839.832    21450843.920    21450838.926
+      1904.982        1484.402          55.000          49.000
+ -14466212.45443 -11210494.68042  22544357.686    22544363.816    22544356.549
+     -1706.615       -1329.830          50.000          44.000
+ 04  2  1  0 15 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -3837092.46643  -2572925.35842  24322031.126    24322037.412    24322028.720
+      3153.824        2457.525          46.000          40.000
+ -13558420.13343 -10315052.15742  22916403.408    22916409.515    22916402.535
+     -2872.285       -2238.144          50.000          43.000
+  -5424808.40943  -4039717.92842  24293233.746    24293235.811    24293231.544
+      1730.074        1348.110          47.000          39.000
+   3821454.61443   2990733.86042  23945454.312    23945458.099    23945453.184
+     -1850.985       -1442.326          48.000          41.000
+ -18911247.66443 -14684967.57942  21903886.597    21903890.334    21903885.403
+     -1246.980        -971.673          52.000          46.000
+ -10153432.11843  -7855346.08942  22983590.010    22983595.133    22983588.901
+     -2385.845       -1859.100          50.000          44.000
+ -15932115.67143 -12364374.03042  22078676.257    22078679.121    22078674.761
+      2732.914        2129.543          54.000          46.000
+ -13846469.17543 -10778267.89842  21965037.202    21965039.551    21965035.737
+     -2690.105       -2096.186          54.000          47.000
+ -19371027.64143 -15083400.15542  21440005.906    21440009.887    21440004.965
+      1891.663        1474.023          55.000          49.000
+ -14414995.71143 -11170585.56342  22554103.741    22554109.588    22554102.265
+     -1706.948       -1330.089          49.000          44.000
+ 04  2  1  0 16  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -3931575.97743  -2646548.78042  24304052.399    24304057.879    24304050.073
+      3145.842        2451.305          46.000          40.000
+ -13472180.80843 -10247852.75842  22932816.017    22932820.431    22932813.332
+     -2876.266       -2241.246          50.000          43.000
+  -5476693.26743  -4080147.66942  24283359.295    24283363.110    24283358.389
+      1729.132        1347.376          47.000          39.000
+   3877018.08243   3034030.00142  23956026.463    23956030.475    23956027.393
+     -1852.609       -1443.591          47.000          41.000
+ -18873602.00343 -14655633.34042  21911050.562    21911054.546    21911049.826
+     -1262.050        -983.415          53.000          46.000
+ -10081671.72143  -7799428.98242  22997245.326    22997250.856    22997243.559
+     -2397.563       -1868.231          49.000          43.000
+ -16013957.18243 -12428146.61642  22063101.542    22063104.609    22063101.113
+      2723.792        2122.435          53.000          46.000
+ -13765638.33343 -10715282.86342  21980417.846    21980421.360    21980417.182
+     -2697.894       -2102.255          53.000          47.000
+ -19427530.55543 -15127428.38342  21429254.019    21429257.191    21429252.815
+      1875.956        1461.784          56.000          49.000
+ -14363739.49843 -11130645.70142  22563857.561    22563863.172    22563856.497
+     -1709.501       -1332.079          49.000          44.000
+ 04  2  1  0 16 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -4025854.95443  -2720012.83642  24286112.062    24286114.939    24286109.751
+      3139.369        2446.262          46.000          39.000
+ -13385864.53643 -10180593.41142  22949239.876    22949246.649    22949239.111
+     -2878.245       -2242.788          49.000          43.000
+  -5528588.16843  -4120585.26142  24273483.875    24273486.982    24273481.984
+      1730.125        1348.149          46.000          39.000
+   3932584.29043   3077328.30842  23966602.436    23966605.452    23966601.484
+     -1852.049       -1443.155          49.000          42.000
+ -18835545.94343 -14625979.31242  21918293.414    21918296.232    21918291.952
+     -1275.193        -993.657          53.000          46.000
+ -10009607.35843  -7743275.01842  23010958.303    23010965.842    23010955.582
+     -2407.069       -1875.638          49.000          43.000
+ -16095562.62543 -12491735.26642  22047573.287    22047575.683    22047571.724
+      2716.254        2116.561          53.000          46.000
+ -13684617.03443 -10652149.42742  21995835.808    21995838.947    21995834.924
+     -2703.633       -2106.727          54.000          47.000
+ -19483603.47543 -15171121.56242  21418583.748    21418587.679    21418582.501
+      1862.008        1450.915          56.000          49.000
+ -14312446.78343 -11090677.40542  22573618.953    22573624.435    22573617.197
+     -1710.451       -1332.819          50.000          44.000
+ 04  2  1  0 17  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -4119927.63443  -2793316.13642  24268207.472    24268215.168    24268207.767
+      3132.056        2440.563          46.000          39.000
+ -13299474.25643 -10113276.38642  22965679.887    22965685.178    22965677.339
+     -2881.275       -2245.149          50.000          43.000
+  -5580493.81843  -4161031.20242  24263607.310    24263611.973    24263605.490
+      1729.788        1347.887          47.000          40.000
+   3988153.94343   3120629.29342  23977177.647    23977180.468    23977176.618
+     -1853.043       -1443.930          48.000          42.000
+ -18797081.76343 -14596007.26542  21925611.943    21925616.056    21925611.053
+     -1289.637       -1004.912          53.000          46.000
+  -9937239.80143  -7686884.78642  23024729.622    23024735.920    23024727.978
+     -2417.856       -1884.044          49.000          43.000
+ -16176929.74043 -12555138.20342  22032089.726    22032091.749    22032088.248
+      2707.668        2109.871          54.000          46.000
+ -13603407.65443 -10588869.42142  22011290.420    22011292.802    22011289.222
+     -2710.680       -2112.218          54.000          47.000
+ -19539243.12443 -15214477.11842  21407995.626    21407999.390    21407994.577
+      1846.872        1439.121          56.000          49.000
+ -14261117.25143 -11050680.40542  22583385.616    22583391.344    22583384.195
+     -1712.372       -1334.316          49.000          44.000
+ 04  2  1  0 17 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -4213786.62143  -2866452.96042  24250347.915    24250353.914    24250347.544
+      3125.313        2435.309          46.000          39.000
+ -13213007.00743 -10045899.39642  22982134.223    22982139.261    22982133.527
+     -2883.051       -2246.533          49.000          43.000
+  -5632404.94243  -4201481.40742  24253726.740    24253733.543    24253725.755
+      1730.760        1348.644          45.000          39.000
+   4043733.14843   3163937.69242  23987753.498    23987755.734    23987753.757
+     -1852.667       -1443.637          48.000          42.000
+ -18758205.85543 -14565714.38642  21933009.177    21933014.307    21933008.195
+     -1302.573       -1014.992          51.000          46.000
+  -9864563.96743  -7630254.34142  23038560.401    23038565.350    23038558.702
+     -2427.348       -1891.440          50.000          43.000
+ -16258050.07643 -12618348.83742  22016652.408    22016655.350    22016651.220
+      2700.361        2104.177          53.000          46.000
+ -13522006.98743 -10525440.36242  22026780.942    22026783.117    22026779.183
+     -2716.147       -2116.478          54.000          47.000
+ -19594441.60043 -15257488.90242  21397491.829    21397495.373    21397490.957
+      1832.993        1428.306          56.000          49.000
+ -14209744.71743 -11010649.91342  22593162.277    22593166.214    22593161.270
+     -1712.610       -1334.501          49.000          43.000
+ 04  2  1  0 18  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -4307436.61043  -2939426.91242  24232526.344    24232533.485    24232525.741
+      3118.824        2430.252          44.000          38.000
+ -13126471.86143  -9978469.49842  22998601.196    22998607.710    22998600.202
+     -2885.239       -2248.238          49.000          43.000
+  -5684327.98943  -4241940.92642  24243847.944    24243851.004    24243846.193
+      1731.564        1349.271          46.000          39.000
+   4099316.57743   3207249.39642  23998330.728    23998334.815    23998329.575
+     -1852.342       -1443.383          48.000          42.000
+ -18718926.62343 -14535107.23742  21940483.719    21940488.584    21940483.067
+     -1315.405       -1024.991          52.000          46.000
+  -9791586.92943  -7573389.18742  23052446.291    23052452.879    23052444.965
+     -2436.957       -1898.927          50.000          43.000
+ -16338926.95343 -12681369.76842  22001262.188    22001265.252    22001261.519
+      2692.387        2097.964          54.000          47.000
+ -13440423.58643 -10461868.91542  22042304.849    22042307.723    22042304.002
+     -2721.793       -2120.878          54.000          47.000
+ -19649202.30343 -15300159.57842  21387071.595    21387074.911    21387070.268
+      1818.568        1417.066          56.000          49.000
+ -14158335.21943 -10970590.60842  22602945.768    22602950.560    22602944.179
+     -1713.840       -1335.460          50.000          44.000
+ 04  2  1  0 18 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -4400876.93343  -3012237.49142  24214745.441    24214751.478    24214743.002
+      3110.458        2423.734          44.000          38.000
+ -13039872.53843  -9910989.58842  23015079.830    23015085.417    23015078.647
+     -2888.264       -2250.595          49.000          43.000
+  -5736264.37943  -4282410.86542  24233964.616    24233967.157    24233963.487
+      1730.764        1348.647          47.000          39.000
+   4154903.81543   3250564.09142  24008908.365    24008911.978    24008907.995
+     -1853.548       -1444.323          47.000          41.000
+ -18679247.19643 -14504188.23642  21948034.854    21948038.897    21948033.023
+     -1329.813       -1036.218          52.000          46.000
+  -9718310.22643  -7516290.52742  23066391.082    23066396.933    23066389.501
+     -2448.143       -1907.644          50.000          43.000
+ -16419558.78043 -12744199.76342  21985918.588    21985921.137    21985917.547
+      2683.125        2090.747          54.000          47.000
+ -13358660.75043 -10398157.64442  22057864.434    22057866.938    22057862.892
+     -2728.853       -2126.379          54.000          47.000
+ -19703523.20743 -15342487.53542  21376733.915    21376738.001    21376733.128
+      1802.840        1404.810          56.000          49.000
+ -14106889.24643 -10930502.86742  22612735.478    22612740.798    22612734.111
+     -1716.042       -1337.175          50.000          44.000
+ 04  2  1  0 19  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -4494103.08843  -3084881.16342  24197004.584    24197011.880    24197003.081
+      3103.260        2418.125          44.000          39.000
+ -12953208.93243  -9843459.59242  23031572.741    23031576.685    23031570.047
+     -2890.156       -2252.070          48.000          42.000
+  -5788211.77943  -4322889.34542  24224079.977    24224082.600    24224077.983
+      1731.063        1348.880          46.000          39.000
+   4210498.54043   3293884.59242  24019486.657    24019490.132    24019485.965
+     -1853.732       -1444.466          46.000          41.000
+ -18639166.92943 -14472956.90942  21955661.977    21955665.226    21955660.163
+     -1343.114       -1046.582          52.000          46.000
+  -9644731.71943  -7458956.71542  23080392.584    23080398.225    23080391.492
+     -2458.146       -1915.438          50.000          43.000
+ -16499940.22443 -12806834.63142  21970622.690    21970625.268    21970621.402
+      2674.685        2084.170          54.000          47.000
+ -13276717.80843 -10334306.03742  22073457.727    22073459.910    22073456.079
+     -2734.885       -2131.079          54.000          47.000
+ -19757398.70243 -15384468.42742  21366481.525    21366485.549    21366481.017
+      1787.996        1393.244          56.000          49.000
+ -14055403.59743 -10890384.22242  22622533.065    22622536.936    22622531.756
+     -1717.312       -1338.165          50.000          44.000
+ 04  2  1  0 19 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -4587111.87143  -3157355.44042  24179304.880    24179312.196    24179304.466
+      3096.697        2413.011          43.000          39.000
+ -12866482.20343  -9775880.41942  23048076.170    23048081.952    23048074.877
+     -2891.782       -2253.337          48.000          42.000
+  -5840168.98543  -4363375.45342  24214191.223    24214194.872    24214190.705
+      1732.203        1349.768          45.000          39.000
+   4266102.87343   3337212.55942  24030067.819    24030070.996    24030067.321
+     -1853.544       -1444.320          46.000          40.000
+ -18598686.41943 -14441413.70042  21963365.999    21963369.178    21963363.796
+     -1355.981       -1056.608          53.000          46.000
+  -9570850.64443  -7401387.12042  23094452.290    23094458.003    23094451.074
+     -2467.642       -1922.838          50.000          43.000
+ -16580067.25843 -12869271.26942  21955374.944    21955377.884    21955373.673
+      2666.688        2077.939          54.000          47.000
+ -13194595.88343 -10270314.95442  22089084.782    22089087.636    22089083.441
+     -2740.218       -2135.235          54.000          47.000
+ -19810824.78043 -15426099.12542  21356315.204    21356318.783    21356314.206
+      1773.413        1381.880          56.000          49.000
+ -14003876.36043 -10850233.16842  22632336.717    22632343.292    22632335.642
+     -1718.129       -1338.802          49.000          43.000
+ 04  2  1  0 20  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -4679906.35043  -3229662.74742  24161646.223    24161653.865    24161647.707
+      3088.841        2406.889          45.000          39.000
+ -12779699.84243  -9708257.88242  23064590.890    23064594.233    23064589.093
+     -2894.276       -2255.280          49.000          42.000
+  -5892141.12243  -4403873.20642  24204302.409    24204306.075    24204301.218
+      1731.862        1349.503          46.000          39.000
+   4321712.89743   3380544.99942  24040650.487    24040656.091    24040649.543
+     -1854.510       -1445.073          47.000          41.000
+ -18557812.61543 -14409564.02042  21971143.607    21971147.110    21971142.153
+     -1369.824       -1067.395          52.000          46.000
+  -9496672.48843  -7343586.00942  23108566.956    23108572.868    23108565.548
+     -2478.298       -1931.141          50.000          43.000
+ -16659941.36843 -12931510.81742  21940175.836    21940178.203    21940173.848
+      2657.488        2070.770          54.000          47.000
+ -13112301.79943 -10206189.72842  22104744.737    22104747.221    22104743.450
+     -2746.770       -2140.340          54.000          47.000
+ -19863803.09043 -15467380.91842  21346233.259    21346237.804    21346232.822
+      1757.723        1369.654          56.000          49.000
+ -13952311.74843 -10810053.00042  22642150.443    22642155.057    22642149.591
+     -1720.269       -1340.469          49.000          43.000
+ 04  2  1  0 20 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -4772480.11543  -3301798.08142  24144030.718    24144037.776    24144030.416
+      3081.804        2401.406          44.000          39.000
+ -12692859.99343  -9640590.55842  23081115.046    23081122.214    23081113.755
+     -2895.578       -2256.294          48.000          42.000
+  -5944123.77543  -4444379.19942  24194408.757    24194414.164    24194407.828
+      1732.926        1350.332          44.000          39.000
+   4377333.95643   3423886.04142  24051235.747    24051238.650    24051235.395
+     -1854.390       -1444.979          48.000          41.000
+ -18516542.86643 -14377405.81342  21978997.101    21979000.655    21978996.369
+     -1382.301       -1077.118          53.000          46.000
+  -9422193.36043  -7285550.41142  23122740.752    23122747.292    23122738.341
+     -2487.723       -1938.485          50.000          43.000
+ -16739555.69943 -12993547.95642  21925025.588    21925027.819    21925024.244
+      2649.415        2064.479          54.000          47.000
+ -13029833.09043 -10141928.43242  22120437.988    22120440.854    22120436.814
+     -2751.838       -2144.289          53.000          47.000
+ -19916326.06043 -15508307.89342  21336239.276    21336242.779    21336238.204
+      1743.115        1358.271          56.000          49.000
+ -13900704.60943 -10769839.67742  22651971.706    22651975.710    22651969.857
+     -1720.982       -1341.025          50.000          43.000
+ 04  2  1  0 21  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -4864837.67143  -3373764.94642  24126455.347    24126463.116    24126455.225
+      3074.370        2395.613          45.000          39.000
+ -12605971.19143  -9572885.07242  23097649.479    23097655.631    23097648.918
+     -2897.875       -2258.084          48.000          42.000
+  -5996123.65643  -4484898.57542  24184514.711    24184518.051    24184513.897
+      1733.120        1350.483          45.000          39.000
+   4432960.50743   3467231.35742  24061818.899    24061825.172    24061818.883
+     -1855.130       -1445.556          47.000          40.000
+ -18474885.62843 -14344945.68142  21986923.778    21986928.195    21986922.736
+     -1395.784       -1087.624          52.000          46.000
+  -9347419.97943  -7227285.52342  23136969.318    23136975.787    23136968.499
+     -2498.076       -1946.553          50.000          43.000
+ -16818913.45243 -13055385.15242  21909923.505    21909926.931    21909922.679
+      2640.285        2057.365          54.000          47.000
+ -12947198.43843 -10077537.82342  22136162.509    22136165.392    22136161.185
+     -2757.970       -2149.067          53.000          46.000
+ -19968397.16443 -15548882.76942  21326329.755    21326333.284    21326329.410
+      1727.381        1346.011          56.000          49.000
+ -13849060.59543 -10729597.63242  22661797.093    22661803.295    22661795.849
+     -1722.858       -1342.487          49.000          43.000
+ 04  2  1  0 21 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -4956971.79143  -3445557.69542  24108925.235    24108930.688    24108922.086
+      3067.902        2390.573          46.000          39.000
+ -12519030.38643  -9505139.09242  23114193.400    23114198.811    23114193.996
+     -2898.211       -2258.346          48.000          42.000
+  -6048135.51143  -4525427.26642  24174617.237    24174620.633    24174615.257
+      1734.384        1351.468          47.000          39.000
+   4488599.11643   3510586.04042  24072409.310    24072412.760    24072409.186
+     -1854.076       -1444.734          47.000          40.000
+ -18432837.56743 -14312181.00942  21994925.614    21994930.305    21994924.340
+     -1407.613       -1096.841          52.000          46.000
+  -9272347.53843  -7168787.59842  23151254.819    23151260.199    23151253.369
+     -2506.880       -1953.413          50.000          43.000
+ -16898006.26143 -13117015.90042  21894872.892    21894875.664    21894872.179
+      2632.584        2051.364          54.000          47.000
+ -12864394.33243 -10013015.17442  22151919.777    22151922.929    22151918.529
+     -2762.409       -2152.526          53.000          46.000
+ -20020008.19443 -15589099.15842  21316508.860    21316512.417    21316508.104
+      1713.197        1334.959          56.000          49.000
+ -13797373.70743 -10689322.16042  22671634.619    22671639.427    22671633.462
+     -1723.120       -1342.691          49.000          43.000
+ 04  2  1  0 22  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -5048886.84743  -3517179.76542  24091432.096    24091439.792    24091431.794
+      3060.564        2384.855          46.000          40.000
+ -12432046.56043  -9437359.57842  23130746.759    23130751.497    23130746.307
+     -2899.682       -2259.492          49.000          42.000
+  -6100165.68143  -4565970.27742  24164715.138    24164718.670    24164714.154
+      1735.222        1352.121          47.000          40.000
+   4544244.42843   3553945.93242  24082996.798    24082999.945    24082997.117
+     -1854.379       -1444.971          47.000          40.000
+ -18390406.81043 -14279118.12742  22002999.742    22003004.035    22002998.254
+     -1420.387       -1106.795          52.000          46.000
+  -9196982.71543  -7110061.84442  23165597.658    23165602.478    23165597.095
+     -2516.724       -1961.084          50.000          43.000
+ -16976837.54443 -13178442.86342  21879872.356    21879874.530    21879870.943
+      2623.852        2044.560          55.000          47.000
+ -12781429.15243  -9948367.01442  22167707.306    22167711.249    22167705.924
+     -2767.736       -2156.677          53.000          47.000
+ -20071162.30843 -15628959.49542  21306773.960    21306778.430    21306773.178
+      1697.908        1323.045          55.000          49.000
+ -13745649.57543 -10649017.67242  22681476.306    22681482.676    22681474.708
+     -1724.167       -1343.507          48.000          43.000
+ 04  2  1  0 22 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -5140576.68943  -3588626.33742  24073984.651    24073990.520    24073984.395
+      3052.423        2378.511          46.000          39.000
+ -12345017.75143  -9369545.01842  23147307.529    23147314.302    23147305.776
+     -2901.751       -2261.105          49.000          42.000
+  -6152209.84643  -4606524.17342  24154812.750    24154816.988    24154810.989
+      1734.993        1351.943          47.000          40.000
+   4599901.62443   3597315.12142  24093588.076    24093594.469    24093585.999
+     -1855.504       -1445.847          46.000          40.000
+ -18347591.16843 -14245755.33842  22011146.999    22011151.856    22011145.528
+     -1433.820       -1117.262          52.000          46.000
+  -9121321.72543  -7051105.31142  23179995.095    23180002.182    23179994.276
+     -2527.178       -1969.230          49.000          43.000
+ -17055400.06443 -13239660.39942  21864922.361    21864924.853    21864921.462
+      2614.045        2036.918          55.000          47.000
+ -12698300.64443  -9883591.59142  22183526.023    22183530.312    22183524.781
+     -2773.721       -2161.341          53.000          46.000
+ -20121852.43243 -15668458.27742  21297128.307    21297132.440    21297127.542
+      1681.750        1310.455          56.000          49.000
+ -13693883.09343 -10608680.19842  22691327.854    22691333.131    22691326.183
+     -1726.556       -1345.368          49.000          43.000
+ 04  2  1  0 23  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -5232042.08043  -3659898.06242  24056578.603    24056585.952    24056577.913
+      3044.731        2372.518          45.000          39.000
+ -12257949.12243  -9301699.41242  23163875.980    23163881.270    23163874.702
+     -2903.399       -2262.389          48.000          42.000
+  -6204270.80643  -4647091.14342  24144904.821    24144909.937    24144903.840
+      1735.480        1352.322          46.000          40.000
+   4655568.96143   3640692.25242  24104183.020    24104186.561    24104182.244
+     -1856.324       -1446.486          48.000          41.000
+ -18304395.25543 -14212096.23542  22019367.673    22019371.409    22019366.284
+     -1446.731       -1127.323          52.000          46.000
+  -9045367.89043  -6991920.57242  23194447.767    23194454.746    23194446.629
+     -2536.954       -1976.847          49.000          42.000
+ -17133693.39743 -13300668.18842  21850023.291    21850025.935    21850022.230
+      2604.719        2029.651          55.000          47.000
+ -12615013.44643  -9818692.50442  22199375.375    22199378.746    22199374.209
+     -2779.229       -2165.633          53.000          46.000
+ -20172078.00643 -15707595.07242  21287570.240    21287575.092    21287569.540
+      1665.989        1298.173          56.000          49.000
+ -13642076.22243 -10568311.25142  22701187.409    22701190.905    22701185.816
+     -1728.029       -1346.516          50.000          43.000
+ 04  2  1  0 23 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -5323282.72543  -3730994.61542  24039217.844    24039223.095    24039215.174
+      3037.236        2366.677          46.000          39.000
+ -12170844.74543  -9233825.96242  23180451.296    23180457.955    23180450.656
+     -2904.722       -2263.420          48.000          42.000
+  -6256350.18043  -4687672.46342  24134994.658    24134999.202    24134992.917
+      1735.666        1352.467          47.000          40.000
+   4711246.12743   3684076.98742  24114777.660    24114782.677    24114774.896
+     -1856.790       -1446.849          47.000          41.000
+ -18260822.62843 -14178143.59042  22027659.078    22027663.412    22027657.157
+     -1459.217       -1137.052          52.000          46.000
+  -8969123.37843  -6932509.34842  23208958.175    23208962.545    23208956.337
+     -2546.682       -1984.427          49.000          42.000
+ -17211716.12843 -13361465.11442  21835176.150    21835178.566    21835174.712
+      2595.619        2022.560          55.000          47.000
+ -12531571.16943  -9753672.58542  22215254.080    22215258.041    22215252.953
+     -2784.538       -2169.770          53.000          46.000
+ -20221837.67343 -15746368.82742  21278101.922    21278105.687    21278101.132
+      1650.355        1285.991          56.000          49.000
+ -13590229.83143 -10527911.50142  22711052.556    22711057.280    22711050.868
+     -1729.421       -1347.601          50.000          43.000
+ 04  2  1  0 24  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -5414293.36243  -3801911.96142  24021898.081    24021902.787    24021897.620
+      3030.349        2361.311          46.000          39.000
+ -12083703.39443  -9165923.71242  23197034.243    23197041.575    23197033.498
+     -2904.875       -2263.539          49.000          42.000
+  -6308444.76543  -4728265.63642  24125082.186    24125086.768    24125080.356
+      1737.047        1353.543          48.000          40.000
+   4766937.30143   3727472.63542  24125374.993    24125379.313    24125372.659
+     -1856.474       -1446.603          46.000          40.000
+ -18216871.90243 -14143896.31542  22036022.376    22036026.468    22036020.538
+     -1471.157       -1146.356          52.000          46.000
+  -8892585.22643  -6872869.29842  23223521.410    23223528.496    23223520.060
+     -2555.649       -1991.415          49.000          43.000
+ -17289461.95843 -13422046.26342  21820381.655    21820384.155    21820380.600
+      2587.169        2015.976          55.000          47.000
+ -12447972.11343  -9688530.49642  22231162.036    22231165.873    22231161.877
+     -2788.884       -2173.156          53.000          46.000
+ -20271125.39443 -15784774.83842  21268722.676    21268726.416    21268721.898
+      1635.332        1274.285          56.000          49.000
+ -13538339.52843 -10487477.54442  22720927.209    22720932.404    22720926.130
+     -1730.105       -1348.134          49.000          42.000
+ 04  2  1  0 24 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -5505074.07943  -3872650.15742  24004623.780    24004628.885    24004622.137
+      3022.555        2355.238          46.000          40.000
+ -11996529.17443  -9097995.83042  23213623.814    23213627.714    23213622.179
+     -2905.756       -2264.225          49.000          42.000
+  -6360556.40743  -4768872.13942  24115164.031    24115169.196    24115162.875
+      1737.713        1354.062          46.000          40.000
+   4822641.78743   3770878.69242  24135976.071    24135977.943    24135974.889
+     -1856.429       -1446.568          48.000          41.000
+ -18172547.04243 -14109357.51442  22044457.443    22044461.917    22044455.939
+     -1483.176       -1155.721          52.000          46.000
+  -8815755.84443  -6813002.34542  23238142.438    23238148.637    23238141.016
+     -2565.180       -1998.841          49.000          42.000
+ -17366929.82743 -13482410.82642  21805639.698    21805642.460    21805638.683
+      2578.069        2008.885          55.000          47.000
+ -12364220.22943  -9623269.32342  22247099.960    22247103.273    22247098.738
+     -2793.703       -2176.911          52.000          46.000
+ -20319939.81943 -15822812.04242  21259433.533    21259437.817    21259432.768
+      1619.655        1262.069          56.000          49.000
+ -13486406.70843 -10447010.43742  22730810.042    22730814.269    22730808.101
+     -1731.085       -1348.897          49.000          42.000
+ 04  2  1  0 25  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -5595625.03243  -3943209.33542  23987392.729    23987398.115    23987391.171
+      3014.412        2348.892          48.000          40.000
+ -11909326.68143  -9030045.94242  23230215.904    23230222.388    23230215.723
+     -2907.298       -2265.427          48.000          42.000
+  -6412687.36943  -4809493.63742  24105243.872    24105247.747    24105242.890
+      1738.094        1354.359          46.000          40.000
+   4878358.58743   3814294.32242  24146578.774    24146582.342    24146577.101
+     -1857.488       -1447.393          48.000          41.000
+ -18127852.01643 -14074530.27742  22052963.056    22052967.270    22052961.159
+     -1495.878       -1165.619          52.000          46.000
+  -8738637.87343  -6752910.52242  23252818.285    23252822.080    23252816.550
+     -2575.387       -2006.795          49.000          42.000
+ -17444118.83443 -13542558.10042  21790951.449    21790953.850    21790950.254
+      2568.249        2001.233          55.000          47.000
+ -12280319.69843  -9557892.32642  22263065.018    22263069.351    22263064.183
+     -2799.085       -2181.105          53.000          46.000
+ -20368280.06543 -15860479.74642  21250234.937    21250238.874    21250233.881
+      1603.338        1249.354          56.000          49.000
+ -13434432.51943 -10406511.11142  22740699.519    22740704.306    22740699.323
+     -1733.255       -1350.588          49.000          42.000
+ 04  2  1  0 25 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -5685943.25843  -4013587.17742  23970203.664    23970211.551    23970202.561
+      3006.731        2342.907          45.000          40.000
+ -11822097.51243  -8962075.23642  23246817.115    23246824.173    23246814.562
+     -2908.111       -2266.060          49.000          42.000
+  -6464836.44143  -4850129.27542  24095321.616    24095325.574    24095320.405
+      1738.782        1354.895          47.000          40.000
+   4934089.75143   3857721.16242  24157182.300    24157187.197    24157181.663
+     -1857.968       -1447.767          48.000          41.000
+ -18082787.78043 -14039415.34142  22061536.999    22061542.427    22061536.781
+     -1508.386       -1175.366          52.000          46.000
+  -8661230.58743  -6692593.24142  23267547.621    23267554.340    23267546.520
+     -2585.041       -2014.318          49.000          43.000
+ -17521024.84743 -13602484.85442  21776316.694    21776318.854    21776315.406
+      2558.853        1993.911          55.000          48.000
+ -12196271.36443  -9492400.15742  22279059.057    22279062.791    22279058.364
+     -2804.073       -2184.992          52.000          46.000
+ -20416142.20143 -15897774.90842  21241127.126    21241130.756    21241126.020
+      1587.284        1236.845          56.000          49.000
+ -13382415.05543 -10365978.06542  22750598.502    22750602.982    22750597.505
+     -1734.749       -1351.752          48.000          42.000
+ 04  2  1  0 26  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -5776027.47543  -4083782.64442  23953061.853    23953068.080    23953059.746
+      2999.199        2337.038          45.000          39.000
+ -11734844.28843  -8894085.82642  23263420.330    23263425.635    23263419.554
+     -2908.901       -2266.676          48.000          42.000
+  -6517004.13043  -4890779.41042  24085394.133    24085397.988    24085392.249
+      1739.354        1355.341          47.000          40.000
+   4989835.95043   3901159.72042  24167790.534    24167795.178    24167788.033
+     -1858.163       -1447.919          47.000          40.000
+ -18037356.95043 -14004014.75342  22070182.791    22070186.809    22070182.082
+     -1520.454       -1184.769          52.000          46.000
+  -8583535.03043  -6632051.32542  23282332.510    23282337.136    23282331.606
+     -2594.619       -2021.781          49.000          42.000
+ -17597645.39043 -13662189.15442  21761735.736    21761738.836    21761735.460
+      2549.422        1986.563          55.000          48.000
+ -12112077.63943  -9426794.69242  22295081.246    22295084.247    22295080.048
+     -2808.703       -2188.600          52.000          46.000
+ -20463524.11543 -15934695.87242  21232110.637    21232114.377    21232109.751
+      1571.443        1224.501          56.000          50.000
+ -13330353.98143 -10325411.06542  22760504.702    22760510.330    22760503.148
+     -1736.067       -1352.779          48.000          42.000
+ 04  2  1  0 26 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -5865878.63343  -4153796.48942  23935964.347    23935969.905    23935962.047
+      2991.542        2331.072          45.000          39.000
+ -11647572.10743  -8826081.60942  23280027.973    23280033.591    23280027.533
+     -2908.930       -2266.699          49.000          41.000
+  -6569193.21143  -4931446.21542  24075462.673    24075465.112    24075461.376
+      1740.524        1356.252          46.000          40.000
+   5045595.24543   3944608.45042  24178400.933    24178405.458    24178398.979
+     -1858.312       -1448.035          47.000          41.000
+ -17991564.31443 -13968332.21842  22078897.490    22078901.508    22078895.858
+     -1531.917       -1193.701          52.000          46.000
+  -8505554.65543  -6571287.48742  23297172.603    23297177.324    23297170.989
+     -2603.484       -2028.689          49.000          42.000
+ -17673980.48943 -13721671.03442  21747210.093    21747212.352    21747209.040
+      2540.213        1979.387          55.000          48.000
+ -12027743.20943  -9361079.60142  22311130.605    22311133.096    22311128.559
+     -2812.933       -2191.896          53.000          46.000
+ -20510425.72643 -15971242.57342  21223185.171    21223189.389    21223184.271
+      1555.831        1212.336          56.000          50.000
+ -13278251.41243 -10284811.69642  22770418.991    22770425.475    22770416.640
+     -1736.969       -1353.482          48.000          42.000
+ 04  2  1  0 27  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -5955495.55143  -4223627.81742  23918910.752    23918916.518    23918908.235
+      2983.698        2324.959          45.000          39.000
+ -11560283.64643  -8758064.72342  23296638.242    23296645.207    23296637.182
+     -2909.496       -2267.140          49.000          42.000
+  -6621404.59443  -4972130.41342  24065527.421    24065531.300    24065526.256
+      1741.098        1356.700          47.000          40.000
+   5101368.11643   3988067.77442  24189014.150    24189018.228    24189012.808
+     -1859.302       -1448.807          47.000          41.000
+ -17945412.67443 -13932369.94942  22087680.653    22087683.407    22087678.831
+     -1544.154       -1203.237          53.000          46.000
+  -8427290.68243  -6510302.66142  23312065.501    23312070.171    23312063.877
+     -2613.286       -2036.327          49.000          42.000
+ -17750027.53543 -13780928.45542  21732738.768    21732741.172    21732737.548
+      2530.410        1971.748          55.000          48.000
+ -11943270.64843  -9295256.85342  22327204.174    22327207.472    22327202.799
+     -2817.601       -2195.533          53.000          46.000
+ -20556844.74543 -16007413.22342  21214352.407    21214356.098    21214351.255
+      1539.501        1199.611          56.000          50.000
+ -13226107.21843 -10244179.89042  22780343.364    22780348.345    22780341.995
+     -1738.625       -1354.773          48.000          42.000
+ 04  2  1  0 27 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -6044872.91943  -4293272.49742  23901902.966    23901908.368    23901902.177
+      2975.415        2318.505          47.000          40.000
+ -11472977.82743  -8690034.31342  23313252.468    23313258.343    23313250.568
+     -2909.927       -2267.475          49.000          42.000
+  -6673634.49643  -5012829.05742  24055587.153    24055592.570    24055585.226
+      1741.568        1357.066          47.000          40.000
+   5157159.15443   4031541.23842  24199633.225    24199636.334    24199631.685
+     -1859.643       -1449.072          48.000          41.000
+ -17898900.50343 -13896126.74542  22096530.889    22096535.411    22096529.673
+     -1556.095       -1212.541          52.000          46.000
+  -8348740.22243  -6449094.61742  23327013.587    23327018.690    23327012.262
+     -2622.822       -2043.757          49.000          42.000
+ -17825779.96943 -13839956.31942  21718323.353    21718325.541    21718322.067
+      2520.379        1963.932          55.000          48.000
+ -11858658.38943  -9229325.25842  22343304.619    22343308.608    22343304.394
+     -2822.406       -2199.277          52.000          45.000
+ -20602774.66443 -16043202.76342  21205612.166    21205616.081    21205611.456
+      1523.072        1186.809          56.000          50.000
+ -13173916.90343 -10203512.17742  22790274.263    22790279.938    22790273.421
+     -1740.132       -1355.947          48.000          42.000
+ 04  2  1  0 28  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -6134011.96843  -4362731.46942  23884939.863    23884946.857    23884938.474
+      2966.588        2311.627          46.000          40.000
+ -11385660.01843  -8621994.55642  23329868.506    23329874.106    23329867.691
+     -2911.496       -2268.698          49.000          42.000
+  -6725885.96843  -5053544.44242  24045644.889    24045647.920    24045643.658
+      1741.168        1356.754          46.000          40.000
+   5212966.35943   4075027.32542  24210251.769    24210253.550    24210250.958
+     -1861.312       -1450.373          46.000          40.000
+ -17852032.84643 -13859606.54642  22105449.350    22105453.879    22105447.575
+     -1569.054       -1222.639          52.000          46.000
+  -8269906.89843  -6387666.15842  23342015.534    23342020.759    23342013.185
+     -2633.178       -2051.827          50.000          43.000
+ -17901238.09443 -13898754.83942  21703964.078    21703966.765    21703963.103
+      2509.630        1955.556          55.000          48.000
+ -11773911.29143  -9163288.59842  22359431.313    22359435.162    22359430.420
+     -2827.945       -2203.593          52.000          45.000
+ -20648215.68743 -16078611.35042  21196965.255    21196968.453    21196964.069
+      1505.725        1173.292          56.000          50.000
+ -13121682.65543 -10162810.20142  22800214.333    22800218.882    22800213.228
+     -1742.851       -1358.066          49.000          42.000
+ 04  2  1  0 28 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -6222913.61943  -4432005.42842  23868023.040    23868030.848    23868021.884
+      2959.344        2305.982          47.000          40.000
+ -11298335.48543  -8553949.55442  23346486.012    23346493.084    23346485.169
+     -2910.891       -2268.227          49.000          41.000
+  -6778161.76643  -5094278.82642  24035697.565    24035702.540    24035695.955
+      1742.865        1358.077          47.000          40.000
+   5268788.17743   4118524.76842  24220874.041    24220877.754    24220872.483
+     -1861.032       -1450.155          46.000          39.000
+ -17804814.68543 -13822813.22042  22114434.071    22114438.366    22114433.661
+     -1579.896       -1231.088          51.000          45.000
+  -8190794.02943  -6326019.86742  23357069.891    23357076.615    23357068.182
+     -2641.820       -2058.561          50.000          43.000
+ -17976401.38743 -13957323.62842  21689661.324    21689663.693    21689660.522
+      2500.391        1948.357          55.000          48.000
+ -11689034.00443  -9097150.49342  22375583.453    22375587.490    22375582.331
+     -2831.418       -2206.300          52.000          46.000
+ -20693167.71543 -16113638.89442  21188410.557    21188414.717    21188409.711
+      1490.139        1161.147          56.000          50.000
+ -13069406.50843 -10122075.56942  22810162.061    22810167.594    22810159.393
+     -1743.185       -1358.326          49.000          42.000
+ 04  2  1  0 29  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -6311571.93843  -4501089.81442  23851151.164    23851157.318    23851150.187
+      2950.746        2299.282          46.000          40.000
+ -11211002.48443  -8485897.95142  23363104.155    23363109.468    23363102.336
+     -2911.744       -2268.891          48.000          41.000
+  -6830457.94943  -5135029.08942  24025746.350    24025749.215    24025744.948
+      1742.994        1358.177          48.000          40.000
+   5324629.52243   4162037.48642  24231499.828    24231502.815    24231499.501
+     -1862.436       -1451.249          44.000          38.000
+ -17757244.05843 -13785745.25342  22123486.533    22123491.555    22123485.160
+     -1592.128       -1240.619          51.000          45.000
+  -8111398.42243  -6264153.25342  23372177.364    23372184.881    23372176.431
+     -2651.893       -2066.410          50.000          43.000
+ -18051262.99443 -14015657.33542  21675415.537    21675418.130    21675414.382
+      2489.836        1940.132          56.000          48.000
+ -11604024.51943  -9030909.37042  22391760.746    22391763.846    22391760.347
+     -2836.298       -2210.102          52.000          45.000
+ -20737623.95843 -16148280.11642  21179951.197    21179955.065    21179950.141
+      1473.199        1147.947          56.000          50.000
+ -13017083.57843 -10081304.50042  22820118.322    22820124.297    22820118.240
+     -1745.532       -1360.155          49.000          42.000
+ 04  2  1  0 29 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -6399986.28243  -4569984.07142  23834326.525    23834332.537    23834324.350
+      2942.841        2293.123          46.000          40.000
+ -11123664.30943  -8417842.32242  23379725.209    23379729.846    23379723.331
+     -2911.594       -2268.774          48.000          41.000
+  -6882775.47143  -5175795.97842  24015788.791    24015795.045    24015788.131
+      1743.989        1358.952          46.000          39.000
+   5380490.62743   4205565.57942  24242130.805    24242134.325    24242129.239
+     -1862.440       -1451.252          44.000          38.000
+ -17709324.18243 -13748405.14642  22132606.172    22132610.863    22132604.847
+     -1603.531       -1249.505          52.000          46.000
+  -8031721.62843  -6202067.54842  23387340.578    23387346.231    23387338.368
+     -2660.745       -2073.308          50.000          43.000
+ -18125820.88343 -14073754.37942  21661227.900    21661230.052    21661226.508
+      2479.804        1932.315          55.000          48.000
+ -11518885.63743  -8964567.43442  22407961.747    22407965.703    22407960.127
+     -2840.321       -2213.237          52.000          45.000
+ -20781582.92243 -16182533.85442  21171585.828    21171589.771    21171584.887
+      1456.675        1135.071          56.000          50.000
+ -12964714.00443 -10040497.06642  22830084.454    22830089.800    22830083.654
+     -1746.621       -1361.003          49.000          42.000
+ 04  2  1  0 30  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -6488157.63243  -4638688.98342  23817548.001    23817553.644    23817546.872
+      2934.906        2286.940          46.000          39.000
+ -11036326.11643  -8349786.69042  23396344.552    23396350.150    23396343.664
+     -2911.293       -2268.540          48.000          41.000
+  -6935117.24743  -5216581.77842  24005831.079    24005833.815    24005829.101
+      1745.094        1359.814          48.000          40.000
+   5436369.75143   4249107.73842  24252763.784    24252766.387    24252762.590
+     -1863.010       -1451.696          44.000          39.000
+ -17661059.84643 -13710796.61642  22141790.050    22141794.986    22141789.868
+     -1614.582       -1258.116          52.000          46.000
+  -7951767.12743  -6139765.44242  23402554.913    23402559.597    23402553.278
+     -2669.806       -2080.368          49.000          43.000
+ -18200075.04943 -14131614.74642  21647097.451    21647099.859    21647096.521
+      2469.883        1924.584          55.000          48.000
+ -11433621.93543  -8898128.22042  22424187.100    22424192.028    22424184.972
+     -2844.269       -2216.313          52.000          45.000
+ -20825044.45843 -16216399.97442  21163315.096    21163319.218    21163314.506
+      1440.307        1122.317          56.000          50.000
+ -12912299.74243  -9999654.84642  22840059.290    22840064.182    22840057.412
+     -1748.049       -1362.116          49.000          42.000
+ 04  2  1  0 30 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -6576086.36343  -4707204.83942  23800815.336    23800822.317    23800814.469
+      2926.396        2280.309          45.000          40.000
+ -10948992.20243  -8281734.40542  23412964.087    23412968.713    23412962.050
+     -2911.306       -2268.550          48.000          41.000
+  -6987485.49343  -5257388.18942  23995863.322    23995867.981    23995862.877
+      1745.656        1360.251          46.000          40.000
+   5492265.79743   4292663.00542  24263401.048    24263405.018    24263399.751
+     -1863.749       -1452.272          45.000          39.000
+ -17612455.44143 -13672923.11042  22151039.733    22151043.839    22151039.342
+     -1626.230       -1267.192          52.000          45.000
+  -7871537.71143  -6077249.12442  23417822.483    23417828.789    23417820.873
+     -2679.158       -2087.655          49.000          43.000
+ -18274024.75243 -14189237.88142  21633025.309    21633028.388    21633024.496
+      2459.656        1916.615          55.000          48.000
+ -11348237.50143  -8831594.93342  22440435.454    22440439.208    22440434.670
+     -2848.367       -2219.507          53.000          45.000
+ -20868008.34543 -16249878.32142  21155139.577    21155143.367    21155138.712
+      1423.459        1109.189          56.000          50.000
+ -12859842.09743  -9958778.81342  22850041.105    22850047.274    22850040.075
+     -1749.472       -1363.225          49.000          43.000
+ 04  2  1  0 31  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -6663765.50743  -4775526.20042  23784129.199    23784137.483    23784128.468
+      2918.301        2274.001          46.000          40.000
+ -10861659.35643  -8213682.92842  23429582.257    23429590.062    23429582.210
+     -2911.143       -2268.423          47.000          41.000
+  -7039874.49643  -5298210.75342  23985895.494    23985899.227    23985893.985
+      1746.639        1361.017          47.000          40.000
+   5548185.22343   4336236.56942  24274042.358    24274045.309    24274041.711
+     -1864.454       -1452.821          46.000          39.000
+ -17563507.66543 -13634782.04642  22160354.281    22160358.597    22160353.109
+     -1637.310       -1275.826          52.000          45.000
+  -7791028.63543  -6014514.88642  23433141.998    23433149.375    23433141.576
+     -2688.321       -2094.796          48.000          42.000
+ -18347661.15643 -14246616.89142  21619012.938    21619014.887    21619011.761
+      2449.260        1908.514          55.000          48.000
+ -11262728.88443  -8764964.86642  22456707.625    22456711.222    22456705.891
+     -2852.306       -2222.576          52.000          45.000
+ -20910466.05743 -16282962.25242  21147060.064    21147063.822    21147059.317
+      1406.806        1096.212          56.000          50.000
+ -12807334.83043  -9917864.08842  22860032.933    22860039.837    22860031.227
+     -1750.966       -1364.389          49.000          43.000
+ 04  2  1  0 31 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -6751199.59043  -4843656.58442  23767492.580    23767500.154    23767489.645
+      2909.549        2267.181          46.000          40.000
+ -10774336.20343  -8145639.03642  23446199.737    23446205.472    23446198.552
+     -2911.478       -2268.684          47.000          41.000
+  -7092290.62443  -5339054.47442  23975921.827    23975925.456    23975919.455
+      1746.750        1361.104          48.000          40.000
+   5604122.65643   4379824.10842  24284686.310    24284690.414    24284686.181
+     -1865.847       -1453.907          48.000          40.000
+ -17514225.04943 -13596380.06442  22169732.702    22169736.620    22169731.129
+     -1649.165       -1285.064          52.000          45.000
+  -7710247.01843  -5951568.28142  23448514.652    23448521.882    23448512.942
+     -2697.957       -2102.304          48.000          42.000
+ -18420988.13243 -14303754.78642  21605059.506    21605061.093    21605058.164
+      2438.127        1899.839          56.000          48.000
+ -11177104.09143  -8698244.29042  22473001.306    22473004.591    22472999.807
+     -2856.999       -2226.233          52.000          45.000
+ -20952421.32243 -16315654.65842  21139076.438    21139080.025    21139075.263
+      1389.221        1082.510          56.000          50.000
+ -12754783.36743  -9876914.95842  22870033.203    22870037.970    22870032.954
+     -1753.410       -1366.293          49.000          42.000
+ 04  2  1  0 32  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -6838383.38543  -4911591.95742  23750903.033    23750908.753    23750899.750
+      2901.669        2261.041          47.000          40.000
+ -10687021.64143  -8077601.80742  23462814.313    23462820.425    23462815.054
+     -2910.529       -2267.945          48.000          41.000
+  -7144730.32443  -5379916.57642  23965939.422    23965947.225    23965938.175
+      1748.244        1362.268          46.000          40.000
+   5660082.74043   4423429.32642  24295335.883    24295339.754    24295334.310
+     -1865.634       -1453.741          48.000          40.000
+ -17464606.27043 -13557716.12442  22179174.619    22179179.165    22179173.038
+     -1659.714       -1293.284          52.000          45.000
+  -7629189.97743  -5888407.04842  23463939.473    23463945.314    23463937.817
+     -2706.693       -2109.111          48.000          42.000
+ -18493998.74143 -14360646.16042  21591166.049    21591168.020    21591165.301
+      2428.279        1892.165          56.000          48.000
+ -11091361.72743  -8631432.09842  22489317.150    22489320.462    22489315.705
+     -2860.115       -2228.661          51.000          45.000
+ -20993868.05044 -16347950.81142  21131189.230    21131193.345    21131188.565
+      1372.987        1069.860          57.000          50.000
+ -12702183.39243  -9835928.02942  22880042.760    22880049.158    22880041.597
+     -1754.156       -1366.875          49.000          42.000
+ 04  2  1  0 32 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -6925317.55743  -4979332.82342  23734358.766    23734364.997    23734358.660
+      2893.109        2254.371          47.000          40.000
+ -10599720.23543  -8009574.85142  23479428.370    23479434.483    23479425.855
+     -2910.044       -2267.567          47.000          41.000
+  -7197196.07943  -5420798.94842  23955958.724    23955963.308    23955956.814
+      1748.669        1362.599          48.000          40.000
+   5716064.35143   4467051.27842  24305988.698    24305991.037    24305986.316
+     -1866.607       -1454.499          46.000          40.000
+ -17414655.79743 -13518793.73242  22188680.340    22188684.496    22188678.677
+     -1670.925       -1302.019          52.000          45.000
+  -7547860.45743  -5825033.49342  23479416.056    23479422.432    23479413.379
+     -2715.914       -2116.297          48.000          41.000
+ -18566692.53043 -14417290.66242  21577332.660    21577334.700    21577331.649
+      2417.340        1883.642          55.000          48.000
+ -11005505.76643  -8564531.38842  22505655.031    22505659.111    22505654.386
+     -2864.282       -2231.908          51.000          45.000
+ -21034805.94343 -16379850.45742  21123398.996    21123403.131    21123397.984
+      1355.738        1056.419          56.000          50.000
+ -12649536.37643  -9794904.40942  22890060.797    22890066.241    22890060.166
+     -1756.133       -1368.415          49.000          42.000
+ 04  2  1  0 33  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -7012000.60643  -5046878.01242  23717863.528    23717871.148    23717862.302
+      2884.835        2247.923          47.000          40.000
+ -10512434.46643  -7941560.07442  23496038.558    23496043.943    23496037.239
+     -2909.591       -2267.214          48.000          41.000
+  -7249688.03443  -5461701.78142  23945967.561    23945973.964    23945966.733
+      1749.801        1363.481          47.000          41.000
+   5772067.99443   4510690.41442  24316645.525    24316651.075    24316644.652
+     -1867.562       -1455.243          46.000          40.000
+ -17364376.41443 -13479615.05042  22198247.126    22198251.982    22198245.607
+     -1681.919       -1310.586          51.000          45.000
+  -7466259.88543  -5761448.73542  23494942.846    23494950.270    23494940.217
+     -2724.790       -2123.213          47.000          41.000
+ -18639066.92043 -14473686.28842  21563559.289    21563562.615    21563558.743
+      2406.727        1875.372          55.000          48.000
+ -10919538.65843  -8497544.07942  22522014.140    22522017.953    22522013.107
+     -2867.681       -2234.557          51.000          45.000
+ -21075232.84044 -16411351.93342  21115706.330    21115710.318    21115705.383
+      1338.681        1043.128          57.000          50.000
+ -12596841.87643  -9753843.82342  22900089.426    22900093.336    22900087.636
+     -1757.818       -1369.728          49.000          42.000
+ 04  2  1  0 33 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -7098432.76843  -5114227.67542  23701415.446    23701423.150    23701414.882
+      2877.206        2241.979          47.000          41.000
+ -10425168.72043  -7873560.89742  23512644.200    23512651.439    23512643.703
+     -2908.268       -2266.183          47.000          41.000
+  -7302208.22743  -5502626.58342  23935974.053    23935976.897    23935971.343
+      1751.414        1364.738          47.000          40.000
+   5828092.96743   4554346.16842  24327307.304    24327314.201    24327304.976
+     -1867.899       -1455.506          46.000          39.000
+ -17313772.01843 -13440183.11242  22207876.892    22207881.419    22207875.341
+     -1692.076       -1318.501          51.000          45.000
+  -7384390.81943  -5697654.76642  23510524.184    23510528.428    23510522.550
+     -2733.325       -2129.864          48.000          41.000
+ -18711121.03043 -14529832.34142  21549848.412    21549850.950    21549847.730
+      2396.593        1867.475          56.000          48.000
+ -10833463.89643  -8430472.88342  22538393.800    22538397.031    22538393.505
+     -2870.843       -2237.020          52.000          45.000
+ -21115148.18943 -16442454.79542  21108110.182    21108114.651    21108109.623
+      1322.172        1030.264          56.000          50.000
+ -12544100.86443  -9712746.97942  22910125.466    22910128.871    22910124.049
+     -1758.746       -1370.451          49.000          42.000
+ 04  2  1  0 34  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -7184608.30443  -5181377.37642  23685017.090    23685023.607    23685017.113
+      2868.251        2235.001          48.000          41.000
+ -10337920.97543  -7805575.74842  23529246.806    23529252.543    23529246.162
+     -2907.823       -2265.836          47.000          41.000
+  -7354752.28643  -5543569.98242  23925975.381    23925978.909    23925973.208
+      1752.144        1365.307          47.000          40.000
+   5884144.44943   4598022.56842  24337972.381    24337975.527    24337972.968
+     -1868.606       -1456.057          47.000          39.000
+ -17262840.93143 -13400496.59742  22217569.526    22217574.373    22217568.919
+     -1703.040       -1327.044          51.000          45.000
+  -7302249.84543  -5633648.90342  23526154.099    23526159.856    23526152.629
+     -2742.336       -2136.885          47.000          41.000
+ -18782847.44343 -14585723.04942  21536199.172    21536202.219    21536198.263
+      2385.503        1858.834          55.000          48.000
+ -10747279.31043  -8363316.09742  22554794.848    22554797.645    22554793.534
+     -2874.558       -2239.915          52.000          45.000
+ -21154545.30843 -16473153.84342  21100613.101    21100617.629    21100612.518
+      1304.766        1016.701          56.000          50.000
+ -12491308.38843  -9671610.04642  22920170.383    22920176.009    22920168.491
+     -1760.580       -1371.880          48.000          42.000
+ 04  2  1  0 34 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -7270531.39643  -5248330.38042  23668666.813    23668672.878    23668665.937
+      2859.831        2228.440          46.000          40.000
+ -10250699.37943  -7737610.96042  23545844.663    23545851.200    23545842.793
+     -2907.132       -2265.298          46.000          40.000
+  -7407326.25643  -5584536.68842  23915972.040    23915976.330    23915970.559
+      1752.882        1365.882          48.000          41.000
+   5940217.48743   4641715.81642  24348644.204    24348646.586    24348643.332
+     -1869.485       -1456.741          48.000          39.000
+ -17211591.16943 -13360561.75642  22227322.791    22227326.095    22227321.643
+     -1713.892       -1335.500          51.000          45.000
+  -7219843.60343  -5569436.36042  23541836.205    23541842.884    23541834.550
+     -2751.471       -2144.003          48.000          42.000
+ -18854249.51243 -14641361.01642  21522611.528    21522614.519    21522610.787
+      2374.403        1850.184          55.000          48.000
+ -10660992.61643  -8296079.76342  22571214.619    22571217.413    22571212.734
+     -2878.138       -2242.705          52.000          45.000
+ -21193427.32443 -16503451.51642  21093214.529    21093218.362    21093213.653
+      1287.226        1003.033          56.000          50.000
+ -12438469.47743  -9630436.89442  22930226.377    22930230.822    22930224.075
+     -1762.316       -1373.233          48.000          42.000
+ 04  2  1  0 35  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -7356197.68143  -5315083.27442  23652365.774    23652370.896    23652364.657
+      2851.454        2221.912          47.000          40.000
+ -10163503.31743  -7669666.10042  23562436.580    23562442.835    23562436.157
+     -2905.404       -2263.951          47.000          40.000
+  -7459927.16343  -5625524.41442  23905960.594    23905964.853    23905959.877
+      1754.341        1367.019          46.000          40.000
+   5996316.00143   4685428.88642  24359318.639    24359323.527    24359317.181
+     -1870.089       -1457.212          46.000          40.000
+ -17160022.10243 -13320378.14042  22237135.148    22237140.133    22237133.330
+     -1723.845       -1343.256          51.000          45.000
+  -7137170.11443  -5505015.56842  23557568.018    23557573.507    23557567.436
+     -2759.712       -2150.425          48.000          42.000
+ -18925321.51943 -14696741.79742  21509087.224    21509090.199    21509086.287
+      2364.073        1842.135          55.000          48.000
+ -10574602.71043  -8228762.99942  22587653.613    22587657.710    22587651.650
+     -2880.865       -2244.830          51.000          44.000
+ -21231788.64643 -16533343.45142  21085914.630    21085918.682    21085913.579
+      1270.482         989.986          56.000          50.000
+ -12385580.41143  -9589224.69642  22940290.155    22940295.346    22940288.250
+     -1763.168       -1373.897          48.000          42.000
+ 04  2  1  0 35 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -7441606.39143  -5381635.46842  23636111.972    23636119.110    23636111.340
+      2842.922        2215.264          48.000          41.000
+ -10076335.98643  -7601743.58442  23579024.227    23579031.409    23579022.398
+     -2904.740       -2263.434          47.000          40.000
+  -7512555.65843  -5666533.61042  23895945.941    23895950.681    23895944.291
+      1755.012        1367.542          47.000          40.000
+   6052440.41643   4729162.14242  24369998.912    24370002.959    24369997.492
+     -1870.710       -1457.696          46.000          40.000
+ -17108136.97743 -13279948.21842  22247008.502    22247012.629    22247006.931
+     -1734.473       -1351.537          51.000          45.000
+  -7054231.03143  -5440387.82642  23573351.969    23573357.776    23573350.509
+     -2768.705       -2157.432          49.000          42.000
+ -18996061.08643 -14751863.53142  21495625.931    21495628.274    21495624.928
+      2352.875        1833.409          55.000          48.000
+ -10488112.33343  -8161367.95042  22604112.596    22604115.404    22604111.662
+     -2884.282       -2247.492          52.000          45.000
+ -21269628.09243 -16562828.73042  21078713.662    21078717.541    21078712.747
+      1253.025         976.383          56.000          50.000
+ -12332641.21243  -9547973.42342  22950363.034    22950370.598    22950362.273
+     -1765.018       -1375.339          48.000          42.000
+ 04  2  1  0 36  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -7526756.09243  -5447985.83942  23619909.182    23619915.637    23619907.736
+      2834.137        2208.418          48.000          41.000
+  -9989199.90643  -7533845.42342  23595606.097    23595613.500    23595605.062
+     -2904.043       -2262.891          48.000          40.000
+  -7565212.03843  -5707564.55742  23885925.440    23885929.864    23885925.705
+      1755.867        1368.208          47.000          41.000
+   6108591.50443   4772916.14242  24380683.429    24380688.826    24380683.361
+     -1871.857       -1458.590          46.000          39.000
+ -17055938.19143 -13239273.90342  22256941.872    22256946.205    22256940.525
+     -1744.963       -1359.711          51.000          45.000
+  -6971027.48643  -5375554.00942  23589184.151    23589191.134    23589183.092
+     -2777.786       -2164.508          50.000          42.000
+ -19066465.70843 -14806724.26942  21482227.846    21482231.242    21482227.258
+      2341.408        1824.474          55.000          48.000
+ -10401523.53343  -8093896.20542  22620589.952    22620592.779    22620587.703
+     -2887.691       -2250.149          51.000          45.000
+ -21306943.31843 -16591905.52442  21071613.317    21071616.836    21071612.070
+      1235.267         962.546          56.000          50.000
+ -12279651.20843  -9506682.57042  22960449.117    22960452.851    22960447.626
+     -1766.780       -1376.712          49.000          42.000
+ 04  2  1  0 36 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -7611649.20143  -5514136.24842  23603754.461    23603760.929    23603753.380
+      2825.508        2201.695          48.000          41.000
+  -9902101.21543  -7465976.38842  23612181.135    23612186.270    23612180.004
+     -2902.650       -2261.805          48.000          40.000
+  -7617900.19443  -5748620.24642  23875900.596    23875904.786    23875898.148
+      1756.837        1368.964          47.000          41.000
+   6164766.43243   4816688.74342  24391374.369    24391377.005    24391372.599
+     -1873.000       -1459.480          46.000          38.000
+ -17003432.09743 -13198360.12742  22266933.989    22266938.014    22266932.466
+     -1755.153       -1367.652          51.000          45.000
+  -6887564.39443  -5310517.93842  23605067.139    23605073.065    23605065.603
+     -2786.238       -2171.094          49.000          42.000
+ -19136536.75743 -14861325.08142  21468894.241    21468897.427    21468893.558
+      2330.200        1815.740          55.000          48.000
+ -10314841.90943  -8026352.12842  22637084.744    22637088.179    22637083.518
+     -2890.912       -2252.659          52.000          45.000
+ -21343735.63944 -16620574.86242  21064611.822    21064615.292    21064610.860
+      1217.645         948.814          57.000          50.000
+ -12226613.51843  -9465354.55042  22970539.956    22970546.512    22970539.282
+     -1768.850       -1378.325          47.000          42.000
+ 04  2  1  0 37  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -7696280.69243  -5580082.82042  23587649.640    23587654.668    23587649.390
+      2816.658        2194.798          48.000          41.000
+  -9815038.61443  -7398135.49042  23628747.622    23628754.510    23628746.913
+     -2901.541       -2260.941          47.000          40.000
+  -7670616.53443  -5789697.90942  23865869.218    23865873.202    23865867.477
+      1757.843        1369.748          48.000          41.000
+   6220969.40543   4860483.20542  24402069.046    24402072.979    24402067.628
+     -1874.110       -1460.345          47.000          39.000
+ -16950617.41743 -13157205.89542  22276984.924    22276988.809    22276983.227
+     -1765.533       -1375.740          52.000          45.000
+  -6803839.12243  -5245277.58242  23620999.403    23621006.439    23620997.683
+     -2795.289       -2178.147          49.000          42.000
+ -19206267.31443 -14915660.57442  21455625.032    21455627.812    21455624.275
+      2318.607        1806.707          55.000          48.000
+ -10228066.00043  -7958734.59042  22653597.396    22653601.170    22653596.058
+     -2894.158       -2255.188          52.000          45.000
+ -21379999.52243 -16648832.43242  21057710.804    21057714.955    21057710.188
+      1199.933         935.013          56.000          50.000
+ -12173523.73843  -9423985.93142  22980644.878    22980648.628    22980642.535
+     -1770.750       -1379.805          49.000          43.000
+ 04  2  1  0 37 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -7780649.27743  -5645824.50642  23571594.869    23571599.845    23571594.453
+      2807.535        2187.690          48.000          41.000
+  -9728014.81343  -7330324.86942  23645308.565    23645315.784    23645306.507
+     -2900.400       -2260.052          47.000          40.000
+  -7723361.24343  -5830797.67442  23855832.115    23855835.573    23855830.515
+      1758.356        1370.148          47.000          41.000
+   6277201.46943   4904300.35042  24412770.104    24412772.542    24412769.801
+     -1875.513       -1461.439          46.000          38.000
+ -16897496.81643 -13115813.26842  22287093.284    22287096.478    22287091.731
+     -1776.123       -1383.992          52.000          45.000
+  -6719852.62543  -5179833.67442  23636981.633    23636987.144    23636979.361
+     -2804.309       -2185.176          49.000          42.000
+ -19275654.67143 -14969728.63242  21442421.138    21442424.419    21442420.264
+      2306.811        1797.515          55.000          48.000
+ -10141197.69043  -7891045.05642  22670127.215    22670131.313    22670126.223
+     -2897.348       -2257.674          51.000          44.000
+ -21415732.88843 -16676676.60542  21050911.050    21050915.214    21050910.187
+      1182.093         921.111          56.000          50.000
+ -12120381.27443  -9382576.26842  22990755.736    22990762.333    22990753.716
+     -1772.860       -1381.449          48.000          42.000
+ 04  2  1  0 38  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -7864756.44543  -5711362.47942  23555589.227    23555596.104    23555588.699
+      2799.279        2181.256          48.000          41.000
+  -9641034.91843  -7262548.40842  23661859.713    23661868.486    23661859.564
+     -2898.520       -2258.587          46.000          40.000
+  -7776137.64643  -5871922.11742  23845789.776    23845792.850    23845786.679
+      1759.860        1371.319          48.000          41.000
+   6333460.64043   4948138.63242  24423475.745    24423478.203    24423475.335
+     -1875.646       -1461.542          46.000          38.000
+ -16844075.72743 -13074186.50442  22297258.143    22297263.193    22297256.337
+     -1785.610       -1391.384          51.000          45.000
+  -6635608.90743  -5114189.34242  23653011.697    23653017.562    23653011.705
+     -2812.221       -2191.341          48.000          42.000
+ -19344699.50043 -15023529.79042  21429282.196    21429285.088    21429281.763
+      2295.860        1788.982          55.000          48.000
+ -10054241.77543  -7823287.26242  22686674.491    22686677.796    22686673.500
+     -2899.907       -2259.668          51.000          44.000
+ -21450936.26743 -16704107.80842  21044212.039    21044215.833    21044211.054
+      1164.701         907.559          56.000          50.000
+ -12067188.32443  -9341127.26242  23000878.128    23000883.990    23000877.008
+     -1773.674       -1382.084          48.000          42.000
+ 04  2  1  0 38 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -7948599.15043  -5776694.38242  23539634.936    23539640.700    23539634.705
+      2790.113        2174.114          47.000          41.000
+  -9554099.51143  -7194806.65342  23678402.971    23678410.725    23678402.014
+     -2897.004       -2257.406          45.000          40.000
+  -7828944.05143  -5913069.94342  23835739.183    23835744.017    23835738.866
+      1760.743        1372.008          48.000          41.000
+   6389749.46043   4991999.96142  24434186.192    24434191.915    24434186.824
+     -1876.983       -1462.584          46.000          38.000
+ -16790354.93743 -13032326.21442  22307481.083    22307485.949    22307479.448
+     -1795.861       -1399.372          51.000          45.000
+  -6551107.47143  -5048344.17942  23669093.024    23669099.347    23669091.229
+     -2821.260       -2198.384          49.000          41.000
+ -19413397.13043 -15077060.40242  21416210.146    21416212.470    21416208.869
+      2284.038        1779.770          56.000          48.000
+  -9967198.89443  -7755461.67842  22703237.504    22703242.880    22703237.369
+     -2902.806       -2261.927          51.000          44.000
+ -21485605.59044 -16731122.85842  21037614.962    21037618.459    21037613.958
+      1146.681         893.518          57.000          50.000
+ -12013942.54443  -9299637.09642  23011011.256    23011015.731    23011009.885
+     -1775.613       -1383.594          48.000          43.000
+ 04  2  1  0 39  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -8032176.90343  -5841819.79742  23523729.471    23523736.283    23523729.242
+      2781.629        2167.503          47.000          41.000
+  -9467211.91643  -7127102.13142  23694937.964    23694945.031    23694937.442
+     -2895.420       -2256.171          45.000          40.000
+  -7881781.07243  -5954241.66042  23825684.833    23825689.352    23825684.178
+      1761.820        1372.847          48.000          41.000
+   6446067.90443   5035884.41342  24444903.017    24444907.262    24444901.167
+     -1877.787       -1463.211          46.000          39.000
+ -16736337.69843 -12990234.93142  22317760.105    22317764.595    22317758.633
+     -1805.302       -1406.729          51.000          45.000
+  -6466350.00943  -4982299.50642  23685221.805    23685228.243    23685219.264
+     -2829.292       -2204.643          47.000          41.000
+ -19481745.60743 -15130318.94142  21403203.311    21403206.035    21403202.403
+      2272.541        1770.811          56.000          48.000
+  -9880071.55043  -7687570.29142  22719818.381    22719822.184    22719817.360
+     -2905.656       -2264.147          51.000          44.000
+ -21519739.75244 -16757720.90242  21031119.475    21031123.218    21031118.371
+      1128.936         879.690          57.000          50.000
+ -11960643.98743  -9258105.79342  23021153.889    23021158.567    23021151.997
+     -1777.567       -1385.117          48.000          42.000
+ 04  2  1  0 39 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -8115489.25543  -5906738.44142  23507877.149    23507883.960    23507876.081
+      2772.359        2160.280          48.000          41.000
+  -9380375.29743  -7059437.34442  23711462.061    23711470.387    23711461.877
+     -2894.600       -2255.532          44.000          40.000
+  -7934649.90743  -5995438.12342  23815624.717    23815628.306    23815622.143
+      1762.751        1373.572          47.000          41.000
+   6502415.99743   5079791.96342  24455627.369    24455631.840    24455627.195
+     -1878.834       -1464.026          48.000          39.000
+ -16682027.54343 -12947915.39242  22328094.859    22328100.259    22328093.248
+     -1815.294       -1414.515          51.000          45.000
+  -6381338.44643  -4916056.82742  23701398.530    23701404.571    23701397.379
+     -2837.790       -2211.265          46.000          40.000
+ -19549743.37143 -15183304.21542  21390263.838    21390266.409    21390262.766
+      2260.568        1761.482          56.000          48.000
+  -9792862.55643  -7619615.27742  22736414.690    22736416.755    22736413.482
+     -2908.487       -2266.353          51.000          44.000
+ -21553337.61344 -16783901.04442  21024726.046    21024729.624    21024724.873
+      1110.816         865.571          57.000          50.000
+ -11907292.85343  -9216533.51042  23031306.584    23031311.951    23031304.989
+     -1779.621       -1386.718          48.000          42.000
+ 04  2  1  0 40  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -8198535.44543  -5971449.68742  23492073.666    23492078.714    23492070.974
+      2763.303        2153.223          47.000          41.000
+  -9293592.75443  -6991814.71042  23727977.514    23727984.283    23727974.839
+     -2892.794       -2254.125          44.000          39.000
+  -7987551.24743  -6036659.93842  23805556.971    23805562.418    23805556.827
+      1763.395        1374.074          47.000          41.000
+   6558794.08643   5123722.88742  24466355.106    24466359.906    24466354.218
+     -1880.266       -1465.142          47.000          40.000
+ -16627427.58743 -12905370.03242  22338485.350    22338489.784    22338483.964
+     -1825.173       -1422.213          51.000          44.000
+  -6296074.46843  -4849617.50142  23717623.828    23717630.242    23717621.817
+     -2846.712       -2218.217          47.000          40.000
+ -19617388.44343 -15236014.65042  21377391.108    21377394.158    21377390.214
+      2248.594        1752.151          56.000          48.000
+  -9705574.56243  -7551598.70742  22753025.037    22753027.649    22753024.071
+     -2911.527       -2268.722          51.000          44.000
+ -21586397.45743 -16809661.96042  21018434.901    21018438.756    21018433.623
+      1092.777         851.515          56.000          50.000
+ -11853889.06143  -9174920.22342  23041467.692    23041474.082    23041466.625
+     -1781.340       -1388.057          47.000          42.000
+ 04  2  1  0 40 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -8281312.11343  -6035950.87742  23476321.019    23476327.780    23476319.037
+      2754.659        2146.488          47.000          41.000
+  -9206864.42743  -6924234.31642  23744480.487    23744487.368    23744479.766
+     -2890.550       -2252.377          45.000          39.000
+  -8040483.00743  -6077905.44242  23795485.963    23795489.943    23795482.545
+      1764.887        1375.237          47.000          41.000
+   6615205.16043   5167679.51242  24477090.877    24477095.298    24477088.349
+     -1880.764       -1465.530          46.000          39.000
+ -16572538.33843 -12862599.25642  22348930.024    22348934.664    22348928.783
+     -1834.695       -1429.632          51.000          44.000
+  -6210557.34143  -4782980.90942  23733897.576    23733903.095    23733896.385
+     -2854.730       -2224.465          45.000          40.000
+ -19684675.76743 -15288446.33242  21364587.107    21364590.065    21364586.118
+      2236.845        1742.996          56.000          49.000
+  -9618207.39943  -7483520.46442  22769650.385    22769653.321    22769650.210
+     -2913.512       -2270.269          51.000          44.000
+ -21618915.34343 -16835000.56342  21012246.454    21012250.641    21012245.756
+      1074.681         837.414          56.000          50.000
+ -11800429.80743  -9133263.72442  23051641.076    23051646.320    23051639.799
+     -1783.030       -1389.374          47.000          42.000
+ 04  2  1  0 41  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -8363818.94043  -6100241.83242  23460620.578    23460627.685    23460619.601
+      2745.971        2139.718          48.000          41.000
+  -9120193.52043  -6856698.67942  23760973.381    23760979.677    23760973.907
+     -2887.613       -2250.088          45.000          39.000
+  -8093446.10843  -6119175.35742  23785407.736    23785410.844    23785405.093
+      1766.224        1376.278          48.000          41.000
+   6671649.25743   5211661.83742  24487830.209    24487835.200    24487828.265
+     -1882.238       -1466.679          43.000          38.000
+ -16517363.17743 -12819605.70042  22359430.294    22359434.596    22359428.833
+     -1843.812       -1436.737          51.000          44.000
+  -6124789.05043  -4716148.59342  23750218.954    23750225.398    23750217.201
+     -2863.162       -2231.035          46.000          40.000
+ -19751603.82043 -15340598.06042  21351851.547    21351853.828    21351850.052
+      2225.141        1733.876          56.000          49.000
+  -9530763.79743  -7415382.63642  22786289.909    22786292.727    22786288.922
+     -2915.821       -2272.068          51.000          44.000
+ -21650889.98543 -16859915.86742  21006162.054    21006166.095    21006160.937
+      1056.948         823.596          56.000          50.000
+ -11746915.35843  -9091564.21142  23061825.599    23061829.540    23061823.548
+     -1784.412       -1390.451          49.000          42.000
+ 04  2  1  0 41 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -8446059.18943  -6164325.02042  23444970.662    23444976.175    23444970.380
+      2736.739        2132.524          48.000          41.000
+  -9033587.19243  -6789213.32842  23777454.816    23777461.476    23777453.455
+     -2886.005       -2248.835          44.000          39.000
+  -8146445.42043  -6160473.51042  23775322.244    23775325.362    23775318.971
+      1767.259        1377.085          48.000          41.000
+   6728122.36543   5255666.77842  24498576.877    24498580.856    24498576.344
+     -1883.043       -1467.306          46.000          39.000
+ -16461909.46043 -12776395.07742  22369981.792    22369986.893    22369981.055
+     -1853.124       -1443.993          51.000          44.000
+  -6038775.44943  -4649125.14242  23766587.669    23766593.213    23766584.599
+     -2871.312       -2237.386          45.000          40.000
+ -19818174.43143 -15392471.25942  21339183.770    21339185.920    21339182.381
+      2212.960        1724.384          56.000          49.000
+  -9443250.49043  -7347190.51842  22802943.120    22802945.793    22802941.886
+     -2918.382       -2274.064          51.000          44.000
+ -21682324.04744 -16884409.93742  21000180.306    21000184.289    21000179.481
+      1038.689         809.368          57.000          50.000
+ -11693349.66843  -9049824.76242  23072018.790    23072021.915    23072017.266
+     -1786.460       -1392.047          48.000          42.000
+ 04  2  1  0 42  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -8528024.99543  -6228194.38142  23429372.901    23429379.137    23429371.983
+      2728.053        2125.756          48.000          41.000
+  -8947041.41643  -6721775.17042  23793924.767    23793930.959    23793923.595
+     -2882.979       -2246.477          46.000          39.000
+  -8199474.56843  -6201794.90342  23765229.543    23765234.936    23765229.257
+      1768.451        1378.014          48.000          41.000
+   6784631.85943   5299700.03742  24509332.285    24509334.190    24509331.260
+     -1883.847       -1467.933          47.000          39.000
+ -16406173.26243 -12732964.32342  22380588.070    22380593.324    22380586.557
+     -1862.278       -1451.126          50.000          44.000
+  -5952511.22743  -4581906.40742  23783002.851    23783009.157    23783001.186
+     -2879.877       -2244.060          46.000          40.000
+ -19884378.54143 -15444058.87442  21326585.466    21326587.666    21326583.955
+      2201.047        1715.102          56.000          49.000
+  -9355662.76243  -7278940.38342  22819609.736    22819613.936    22819608.964
+     -2920.560       -2275.761          50.000          44.000
+ -21713209.23744 -16908476.31542  20994303.318    20994307.107    20994302.283
+      1020.705         795.355          57.000          50.000
+ -11639725.44943  -9008039.67442  23082221.252    23082228.860    23082220.031
+     -1787.888       -1393.159          47.000          41.000
+ 04  2  1  0 42 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -8609717.05843  -6291850.40742  23413827.529    23413833.562    23413824.902
+      2718.222        2118.095          47.000          41.000
+  -8860560.28943  -6654387.39342  23810379.977    23810386.631    23810379.152
+     -2881.210       -2245.099          45.000          39.000
+  -8252535.49243  -6243141.05742  23755134.117    23755137.823    23755132.048
+      1769.131        1378.544          49.000          42.000
+   6841176.68843   5343760.89442  24520090.837    24520094.286    24520089.979
+     -1885.454       -1469.185          44.000          38.000
+ -16350159.02843 -12689316.93842  22391247.475    22391252.928    22391246.555
+     -1872.068       -1458.754          50.000          44.000
+  -5865999.74043  -4514494.97142  23799464.937    23799472.090    23799463.242
+     -2888.163       -2250.517          47.000          41.000
+ -19950215.35943 -15495360.29242  21314057.095    21314058.960    21314055.620
+      2188.282        1705.155          56.000          49.000
+  -9268004.39843  -7210635.21242  22836290.507    22836294.705    22836289.443
+     -2923.346       -2277.932          50.000          44.000
+ -21743545.23344 -16932114.75042  20988530.457    20988534.208    20988529.539
+      1001.901         780.702          57.000          50.000
+ -11586043.94043  -8966209.97842  23092437.365    23092443.360    23092436.520
+     -1790.355       -1395.082          48.000          42.000
+ 04  2  1  0 43  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -8691138.61843  -6355295.68142  23398333.674    23398340.244    23398331.602
+      2709.952        2111.651          47.000          41.000
+  -8774150.57743  -6587055.24742  23826824.759    23826830.049    23826822.891
+     -2879.255       -2243.575          45.000          39.000
+  -8305632.80243  -6284515.58242  23745028.169    23745033.531    23745028.076
+      1771.008        1380.006          47.000          41.000
+   6897753.47743   5387846.64242  24530857.149    24530860.441    24530854.616
+     -1886.408       -1469.928          43.000          37.000
+ -16293873.85543 -12645458.43742  22401958.668    22401964.553    22401957.877
+     -1880.382       -1465.233          51.000          44.000
+  -5779246.35243  -4446895.04942  23815972.929    23815981.006    23815971.782
+     -2895.439       -2256.186          47.000          41.000
+ -20015686.91043 -15546377.07542  21301597.834    21301600.255    21301596.734
+      2176.674        1696.110          56.000          49.000
+  -9180281.89243  -7142280.06242  22852985.547    22852987.298    22852983.136
+     -2924.694       -2278.982          51.000          44.000
+ -21773334.66144 -16955327.28342  20982861.656    20982865.635    20982860.653
+       984.224         766.928          57.000          50.000
+ -11532308.89143  -8924338.56842  23102663.526    23102668.687    23102661.078
+     -1791.768       -1396.183          49.000          42.000
+ 04  2  1  0 43 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -8772284.80143  -6418526.35942  23382891.759    23382897.946    23382890.472
+      2700.563        2104.335          47.000          42.000
+  -8687810.92843  -6519777.71042  23843254.066    23843261.284    23843253.317
+     -2876.505       -2241.432          46.000          39.000
+  -8358762.60743  -6325915.43242  23734919.368    23734922.317    23734917.256
+      1771.892        1380.695          48.000          41.000
+   6954366.88043   5431960.92042  24541630.991    24541635.620    24541630.032
+     -1887.357       -1470.668          44.000          37.000
+ -16237316.58543 -12601387.89442  22412721.095    22412725.206    22412718.963
+     -1889.594       -1472.411          51.000          44.000
+  -5692248.39943  -4379104.56542  23832529.682    23832535.701    23832526.973
+     -2903.766       -2262.675          48.000          41.000
+ -20080786.58443 -15597104.09242  21289209.563    21289211.982    21289208.586
+      2163.978        1686.217          56.000          49.000
+  -9092493.43043  -7073873.51442  22869691.602    22869693.376    22869688.820
+     -2927.205       -2280.939          51.000          44.000
+ -21802571.90144 -16978109.54242  20977297.993    20977301.688    20977297.021
+       965.618         752.430          57.000          50.000
+ -11478515.82443  -8882421.93542  23112899.652    23112905.879    23112898.097
+     -1793.886       -1397.833          48.000          42.000
+ 04  2  1  0 44  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -8853156.65643  -6481543.30242  23367502.219    23367508.336    23367501.889
+      2691.363        2097.166          48.000          41.000
+  -8601546.16843  -6452558.51742  23859669.618    23859676.921    23859669.025
+     -2873.912       -2239.412          45.000          40.000
+  -8411927.50643  -6367342.59342  23724802.489    23724806.815    23724801.636
+      1772.855        1381.445          48.000          42.000
+   7011015.25343   5476102.41142  24552412.195    24552416.080    24552409.574
+     -1888.768       -1471.767          45.000          38.000
+ -16180492.20343 -12557109.22442  22423534.117    22423538.964    22423533.500
+     -1898.246       -1479.153          51.000          44.000
+  -5605009.69443  -4311126.47342  23849130.431    23849137.404    23849128.748
+     -2911.734       -2268.884          48.000          41.000
+ -20145514.28743 -15647541.26442  21276892.694    21276894.778    21276891.699
+      2151.530        1676.517          56.000          49.000
+  -9004643.23843  -7005418.88442  22886408.222    22886410.957    22886406.429
+     -2929.252       -2282.534          51.000          44.000
+ -21831257.50644 -17000461.95542  20971839.649    20971843.114    20971838.596
+       947.222         738.095          57.000          50.000
+ -11424666.38243  -8840461.38642  23123146.367    23123151.240    23123144.871
+     -1795.834       -1399.351          48.000          42.000
+ 04  2  1  0 44 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -8933752.50543  -6544345.17742  23352165.547    23352171.811    23352164.473
+      2682.213        2090.036          48.000          42.000
+  -8515357.91043  -6385398.95942  23876071.218    23876079.328    23876069.894
+     -2871.441       -2237.486          45.000          40.000
+  -8465126.96143  -6408796.70842  23714678.203    23714682.820    23714676.460
+      1774.086        1382.405          48.000          41.000
+   7067699.74543   5520272.06242  24563197.441    24563203.232    24563196.850
+     -1889.800       -1472.571          43.000          38.000
+ -16123402.85943 -12512624.08542  22434398.564    22434403.215    22434396.826
+     -1907.204       -1486.133          51.000          44.000
+  -5517530.89843  -4242961.31042  23865777.211    23865783.681    23865774.423
+     -2919.692       -2275.085          48.000          41.000
+ -20209866.82443 -15697686.09642  21264646.316    21264649.235    21264645.246
+      2139.028        1666.775          56.000          49.000
+  -8916732.47043  -6936917.04042  22903136.424    22903140.593    22903135.332
+     -2931.139       -2284.004          50.000          44.000
+ -21859389.13244 -17022382.70242  20966486.298    20966489.837    20966485.111
+       928.753         723.704          57.000          50.000
+ -11370759.46843  -8798456.03642  23133404.604    23133409.987    23133405.105
+     -1797.538       -1400.679          48.000          41.000
+ 04  2  1  0 45  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9014070.00743  -6606930.15242  23336881.194    23336886.536    23336880.575
+      2672.831        2082.725          48.000          41.000
+  -8429247.19843  -6318299.81442  23892455.486    23892464.080    23892453.950
+     -2868.352       -2235.079          44.000          39.000
+  -8518359.90443  -6450276.90742  23704548.882    23704550.999    23704547.864
+      1775.262        1383.321          48.000          41.000
+   7124422.83743   5564471.77242  24573991.466    24573996.845    24573990.746
+     -1891.439       -1473.848          44.000          39.000
+ -16066049.90843 -12467933.53742  22445312.601    22445316.984    22445310.794
+     -1916.001       -1492.988          50.000          44.000
+  -5429812.03543  -4174609.07842  23882468.898    23882477.416    23882468.549
+     -2927.740       -2281.356          47.000          41.000
+ -20273840.53843 -15747535.73842  21252472.540    21252475.329    21252471.847
+      2126.340        1656.888          56.000          49.000
+  -8828761.95643  -6868368.63542  22919877.104    22919879.189    22919875.454
+     -2933.006       -2285.459          50.000          43.000
+ -21886963.90744 -17043869.53442  20961238.846    20961242.907    20961237.942
+       910.119         709.184          57.000          50.000
+ -11316792.99143  -8756404.27842  23143675.003    23143680.905    23143673.263
+     -1799.701       -1402.364          49.000          42.000
+ 04  2  1  0 45 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9094110.58343  -6669299.34942  23321648.897    23321655.567    23321649.457
+      2663.127        2075.164          48.000          42.000
+  -8343218.98443  -6251264.97542  23908827.079    23908835.623    23908826.256
+     -2866.589       -2233.706          45.000          39.000
+  -8571628.79143  -6491785.17242  23694411.705    23694415.539    23694410.247
+      1775.937        1383.847          48.000          41.000
+   7181182.50743   5608700.06442  24584793.791    24584797.862    24584791.701
+     -1892.883       -1474.974          43.000          38.000
+ -16008438.66443 -12423041.73842  22456275.329    22456279.995    22456274.737
+     -1924.795       -1499.840          51.000          44.000
+  -5341856.66243  -4106072.58042  23899207.442    23899213.622    23899205.905
+     -2936.086       -2287.859          47.000          41.000
+ -20337435.45143 -15797090.20842  21240371.042    21240373.702    21240370.214
+      2113.216        1646.662          56.000          49.000
+  -8740736.05043  -6799777.07342  22936628.398    22936632.029    22936626.696
+     -2935.470       -2287.379          51.000          44.000
+ -21913982.01444 -17064922.60042  20956097.288    20956101.291    20956096.573
+       891.090         694.356          57.000          50.000
+ -11262768.94943  -8714307.67542  23153954.599    23153959.882    23153954.383
+     -1802.058       -1404.201          49.000          42.000
+ 04  2  1  0 46  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9173869.46243  -6731449.07542  23306473.162    23306477.617    23306470.852
+      2652.690        2067.031          48.000          42.000
+  -8257272.03643  -6184293.44742  23925182.742    23925189.924    23925182.510
+     -2864.550       -2232.117          46.000          40.000
+  -8624930.16543  -6533318.69242  23684269.027    23684273.091    23684267.277
+      1776.079        1383.958          48.000          42.000
+   7237983.33543   5652960.31642  24595600.247    24595605.509    24595599.074
+     -1894.006       -1475.849          42.000          37.000
+ -15950568.24643 -12377947.96942  22467287.795    22467291.498    22467286.625
+     -1934.513       -1507.413          50.000          44.000
+  -5253662.92243  -4037350.31442  23915989.072    23915996.249    23915988.496
+     -2944.819       -2294.664          47.000          41.000
+ -20400645.46443 -15846344.76442  21228342.663    21228344.943    21228341.483
+      2099.389        1635.888          56.000          49.000
+  -8652653.27643  -6731141.20942  22953388.570    22953392.553    22953387.843
+     -2938.393       -2289.657          50.000          44.000
+ -21940438.62444 -17085538.14542  20951062.693    20951066.395    20951061.935
+       871.397         679.011          57.000          50.000
+ -11208683.08143  -8672162.86842  23164247.532    23164252.638    23164246.504
+     -1805.026       -1406.514          48.000          42.000
+ 04  2  1  0 46 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9253348.49243  -6793380.71642  23291346.727    23291354.512    23291345.908
+      2644.441        2060.603          47.000          42.000
+  -8171411.69443  -6117389.40342  23941522.201    23941528.528    23941521.424
+     -2860.599       -2229.038          46.000          40.000
+  -8678267.05543  -6574879.88642  23674120.488    23674122.082    23674118.250
+      1778.538        1385.874          49.000          41.000
+   7294823.18143   5697251.00342  24606419.369    24606420.398    24606416.841
+     -1895.482       -1476.999          44.000          38.000
+ -15892444.19043 -12332656.56842  22478348.753    22478353.091    22478347.041
+     -1941.825       -1513.110          51.000          44.000
+  -5165234.70843  -3968445.37642  23932816.757    23932823.950    23932815.337
+     -2951.522       -2299.887          47.000          41.000
+ -20463470.91643 -15895299.65442  21216387.444    21216389.347    21216386.370
+      2087.786        1626.846          56.000          49.000
+  -8564518.34143  -6662464.69542  22970159.465    22970164.383    22970159.520
+     -2938.657       -2289.862          50.000          43.000
+ -21966334.88444 -17105717.04642  20946134.911    20946138.741    20946133.953
+       853.735         665.248          57.000          50.000
+ -11154537.54243  -8629971.58642  23174551.955    23174555.472    23174550.817
+     -1806.021       -1407.289          49.000          41.000
+ 04  2  1  0 47  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9332551.27243  -6855097.11242  23276276.451    23276282.344    23276274.438
+      2635.539        2053.667          48.000          42.000
+  -8085644.87743  -6050558.23242  23957842.474    23957849.501    23957841.878
+     -2857.265       -2226.440          46.000          40.000
+  -8731644.19643  -6616472.45642  23663961.284    23663965.045    23663960.401
+      1779.799        1386.856          48.000          41.000
+   7351698.20243   5741569.13242  24617240.372    24617242.759    24617239.865
+     -1896.132       -1477.505          44.000          37.000
+ -15834073.88443 -12287173.28342  22489456.169    22489460.495    22489454.706
+     -1949.701       -1519.247          51.000          44.000
+  -5076578.31843  -3899362.63242  23949688.308    23949694.637    23949686.747
+     -2958.764       -2305.530          46.000          40.000
+ -20525913.88343 -15943956.50842  21204504.779    21204507.368    21204503.739
+      2075.060        1616.930          56.000          49.000
+  -8476337.53443  -6593752.41342  22986940.512    22986944.229    22986940.305
+     -2940.063       -2290.958          50.000          44.000
+ -21991673.59744 -17125461.48642  20941312.942    20941317.003    20941312.146
+       835.392         650.955          57.000          50.000
+ -11100336.31743  -8587736.89342  23184864.903    23184871.176    23184863.897
+     -1807.543       -1408.475          48.000          41.000
+ 04  2  1  0 47 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9411469.78343  -6916592.00942  23261257.670    23261265.673    23261256.091
+      2625.642        2045.955          47.000          42.000
+  -7999966.75043  -5983796.18842  23974147.475    23974154.979    23974146.231
+     -2854.794       -2224.515          47.000          40.000
+  -8785054.49243  -6658090.87042  23653798.076    23653803.656    23653796.963
+      1780.705        1387.562          48.000          41.000
+   7408616.25243   5785920.83542  24628072.239    24628076.175    24628069.867
+     -1897.911       -1478.892          45.000          38.000
+ -15775452.95543 -12241494.70942  22500611.161    22500615.793    22500610.397
+     -1958.479       -1526.087          50.000          44.000
+  -4987687.97443  -3830097.57242  23966604.092    23966610.544    23966601.930
+     -2966.993       -2311.942          46.000          41.000
+ -20587964.84143 -15992307.89942  21192696.814    21192699.668    21192695.669
+      2061.543        1606.397          56.000          49.000
+  -8388105.91643  -6525000.57142  23003730.765    23003734.183    23003729.719
+     -2941.993       -2292.462          50.000          43.000
+ -22016446.11644 -17144764.73342  20936598.999    20936602.902    20936598.032
+       816.086         635.911          57.000          50.000
+ -11046071.76143  -8545452.88042  23195192.231    23195196.698    23195190.628
+     -1810.118       -1410.481          49.000          42.000
+ 04  2  1  0 48  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9490105.16743  -6977866.30342  23246293.828    23246300.295    23246292.864
+      2616.219        2038.612          48.000          43.000
+  -7914381.85643  -5917106.77142  23990434.726    23990440.810    23990432.862
+     -2851.447       -2221.907          48.000          41.000
+  -8838500.22643  -6699736.84942  23643626.854    23643631.984    23643626.297
+      1781.938        1388.523          47.000          41.000
+   7465575.90643   5830304.90042  24638909.647    24638916.167    24638911.139
+     -1899.791       -1480.357          44.000          38.000
+ -15716586.39443 -12195624.72842  22511813.156    22511818.068    22511812.460
+     -1966.674       -1532.473          50.000          44.000
+  -4898567.28143  -3760653.01842  23983562.122    23983569.883    23983561.115
+     -2974.842       -2318.059          45.000          40.000
+ -20649623.29443 -16040353.44642  21180963.502    21180966.152    21180962.769
+      2048.535        1596.261          56.000          49.000
+  -8299827.54143  -6456212.28042  23020529.457    23020533.964    23020528.578
+     -2943.556       -2293.680          50.000          44.000
+ -22040653.36344 -17163627.51942  20931992.972    20931996.450    20931991.789
+       797.260         621.242          57.000          50.000
+ -10991745.30843  -8503120.62442  23205529.829    23205534.303    23205528.242
+     -1812.127       -1412.047          49.000          41.000
+ 04  2  1  0 48 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9568449.43443  -7038913.75342  23231385.979    23231392.894    23231383.593
+      2607.409        2031.747          48.000          43.000
+  -7828885.64943  -5850486.47942  24006703.349    24006710.004    24006701.095
+     -2847.643       -2218.942          47.000          41.000
+  -8891974.64543  -6741405.25042  23633451.316    23633455.885    23633449.249
+      1783.273        1389.563          48.000          41.000
+   7522584.94143   5874727.50042  24649759.421    24649763.557    24649757.383
+     -1900.281       -1480.738          45.000          38.000
+ -15657470.03043 -12149560.10542  22523062.674    22523067.796    22523061.679
+     -1973.827       -1538.047          50.000          43.000
+  -4809210.61743  -3691024.60042  24000566.740    24000574.784    24000566.039
+     -2981.635       -2323.352          46.000          40.000
+ -20710879.84143 -16088085.81942  21169306.861    21169309.907    21169305.752
+      2035.934        1586.442          56.000          49.000
+  -8211497.41643  -6387383.66342  23037338.622    23037340.245    23037338.150
+     -2944.446       -2294.373          50.000          44.000
+ -22064286.61644 -17182043.04442  20927495.318    20927499.133    20927494.273
+       779.079         607.074          57.000          50.000
+ -10937349.52243  -8460734.34142  23215880.017    23215886.261    23215879.064
+     -1813.568       -1413.170          48.000          41.000
+ 04  2  1  0 49  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9646519.91143  -7099747.85242  23216529.949    23216536.796    23216529.053
+      2597.255        2023.835          49.000          43.000
+  -7743498.79343  -5783951.39242  24022952.917    24022959.256    24022951.586
+     -2844.878       -2216.788          48.000          41.000
+  -8945496.04243  -6783110.21942  23623266.579    23623271.144    23623265.720
+      1784.785        1390.742          47.000          41.000
+   7579625.89143   5919174.93842  24660614.017    24660619.051    24660614.831
+     -1902.265       -1482.284          43.000          38.000
+ -15598124.84643 -12103317.18242  22534354.625    22534360.310    22534354.248
+     -1982.462       -1544.775          49.000          43.000
+  -4719637.55643  -3621227.57642  24017612.824    24017618.963    24017610.730
+     -2989.913       -2329.802          46.000          40.000
+ -20771750.94443 -16135517.84342  21157723.537    21157726.315    21157722.786
+      2022.125        1575.682          56.000          49.000
+  -8123135.48943  -6318530.26842  23054153.075    23054156.941    23054152.909
+     -2946.451       -2295.936          50.000          44.000
+ -22087362.63644 -17200024.34842  20923104.475    20923107.981    20923103.376
+       759.394         591.736          57.000          50.000
+ -10882901.93643  -8418307.70442  23226242.428    23226246.877    23226241.004
+     -1816.192       -1415.214          48.000          42.000
+ 04  2  1  0 49 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9724303.87743  -7160358.70342  23201727.996    23201733.549    23201726.592
+      2587.585        2016.300          48.000          42.000
+  -7658211.85943  -5717494.15942  24039182.827    24039189.190    24039181.290
+     -2841.498       -2214.154          48.000          40.000
+  -8999052.83543  -6824842.78042  23613075.123    23613079.513    23613074.107
+      1785.453        1391.262          47.000          41.000
+   7636711.08243   5963656.77942  24671475.702    24671480.960    24671475.221
+     -1903.544       -1483.281          42.000          37.000
+ -15538542.05343 -12056889.11842  22545694.401    22545699.725    22545692.067
+     -1990.739       -1551.225          50.000          43.000
+  -4629837.83643  -3551253.90542  24034700.697    24034706.817    24034698.159
+     -2997.271       -2335.536          46.000          40.000
+ -20832222.11244 -16182638.23442  21146216.379    21146218.684    21146215.435
+      2008.617        1565.156          57.000          49.000
+  -8034732.05143  -6249644.53342  23070976.885    23070979.605    23070974.923
+     -2947.898       -2297.063          51.000          44.000
+ -22109868.19944 -17217561.14942  20918821.907    20918825.453    20918820.877
+       740.260         576.826          57.000          50.000
+ -10828390.25243  -8375831.11342  23236615.538    23236620.062    23236613.289
+     -1818.578       -1417.074          48.000          42.000
+ 04  2  1  0 50  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9801798.47443  -7220744.09142  23186980.249    23186986.017    23186979.851
+      2578.308        2009.071          48.000          42.000
+  -7573025.27643  -5651115.11142  24055391.768    24055399.538    24055389.935
+     -2837.938       -2211.380          47.000          40.000
+  -9052643.34343  -6866601.59642  23602877.062    23602880.591    23602876.235
+      1786.852        1392.352          47.000          41.000
+   7693843.05743   6008175.10842  24682349.891    24682352.186    24682348.703
+     -1905.577       -1484.865          42.000          37.000
+ -15478722.52643 -12010276.55142  22557076.758    22557082.818    22557075.547
+     -1997.989       -1556.874          50.000          44.000
+  -4539811.49843  -3481103.67442  24051831.198    24051838.959    24051830.366
+     -3004.443       -2341.124          47.000          40.000
+ -20892288.92844 -16229443.54742  21134786.444    21134788.413    21134784.908
+      1995.378        1554.840          57.000          49.000
+  -7946287.34643  -6180726.61942  23087806.246    23087810.396    23087806.439
+     -2948.744       -2297.722          51.000          44.000
+ -22131800.05244 -17234650.89542  20914647.588    20914651.356    20914646.796
+       721.509         562.215          57.000          50.000
+ -10773812.09843  -8333302.75242  23247000.543    23247007.241    23246999.429
+     -1820.532       -1418.596          47.000          41.000
+ 04  2  1  0 50 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9879009.50443  -7280908.48942  23172288.706    23172294.803    23172287.235
+      2569.480        2002.192          48.000          43.000
+  -7487947.89243  -5584821.19542  24071581.915    24071589.535    24071582.706
+     -2833.438       -2207.874          48.000          39.000
+  -9106274.27043  -6908391.90342  23592671.564    23592676.862    23592670.951
+      1788.914        1393.959          48.000          42.000
+   7751015.90843   6052725.36842  24693228.993    24693235.150    24693229.625
+     -1905.660       -1484.930          43.000          37.000
+ -15418675.81543 -11963486.98542  22568505.014    22568508.480    22568502.642
+     -2004.639       -1562.056          50.000          44.000
+  -4449566.65343  -3410783.16942  24069006.090    24069012.724    24069004.362
+     -3011.389       -2346.537          47.000          40.000
+ -20951955.91744 -16275937.30642  21123432.106    21123433.989    21123430.995
+      1982.712        1544.970          57.000          49.000
+  -7857809.70743  -6111783.08842  23104643.665    23104647.772    23104642.540
+     -2949.271       -2298.133          51.000          44.000
+ -22153163.51144 -17251297.74442  20910582.734    20910586.564    20910581.567
+       703.144         547.904          57.000          50.000
+ -10719173.38943  -8290727.18042  23257397.922    23257403.848    23257396.926
+     -1821.784       -1419.572          47.000          41.000
+ 04  2  1  0 51  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+  -9955931.31743  -7340847.52642  23157650.341    23157655.321    23157649.826
+      2558.299        1993.480          48.000          43.000
+  -7402977.65943  -5518610.73042  24087750.882    24087758.286    24087751.097
+     -2831.400       -2206.286          46.000          39.000
+  -9159941.12543  -6950210.22142  23582460.699    23582463.986    23582458.019
+      1788.511        1393.645          49.000          42.000
+   7808235.17843   6097311.70542  24704119.023    24704123.063    24704117.378
+     -1909.101       -1487.611          44.000          37.000
+ -15358400.10243 -11916518.97042  22579974.072    22579979.436    22579972.866
+     -2014.154       -1569.471          50.000          44.000
+  -4359099.83043  -3340289.67942  24086220.516    24086225.988    24086218.616
+     -3020.068       -2353.300          46.000          39.000
+ -21011216.07944 -16322114.05442  21112155.016    21112157.454    21112153.900
+      1967.459        1533.085          57.000          49.000
+  -7769296.34443  -6042811.68242  23121488.472    23121490.704    23121486.648
+     -2952.118       -2300.352          51.000          43.000
+ -22173952.21244 -17267496.72242  20906626.646    20906630.496    20906625.472
+       682.338         531.692          57.000          50.000
+ -10664468.82343  -8248100.30142  23267807.469    23267812.516    23267807.310
+     -1825.549       -1422.506          47.000          41.000
+ 04  2  1  0 51 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10032567.70643  -7400564.14142  23143066.919    23143073.433    23143066.074
+      2549.814        1986.868          48.000          43.000
+  -7318121.77243  -5452489.36842  24103899.467    24103906.301    24103899.815
+     -2826.645       -2202.580          46.000          39.000
+  -9213648.49343  -6992060.08842  23572239.514    23572244.076    23572238.303
+      1790.936        1395.535          48.000          42.000
+   7865496.82643   6141931.07442  24715015.821    24715016.856    24715014.361
+     -1909.342       -1487.799          43.000          36.000
+ -15297902.76743 -11869378.26242  22591487.232    22591492.482    22591485.497
+     -2020.323       -1574.278          50.000          44.000
+  -4268417.15743  -3269627.99542  24103477.792    24103483.787    24103476.087
+     -3026.639       -2358.420          46.000          39.000
+ -21070071.64344 -16367975.53342  21100955.065    21100957.439    21100954.062
+      1954.981        1523.362          57.000          49.000
+  -7680753.89743  -5973817.63842  23138336.711    23138340.291    23138334.193
+     -2951.883       -2300.168          50.000          43.000
+ -22194169.68544 -17283250.59242  20902779.635    20902783.078    20902778.450
+       664.343         517.670          57.000          50.000
+ -10609702.64743  -8205425.39442  23278229.527    23278235.043    23278228.142
+     -1826.465       -1423.219          48.000          41.000
+ 04  2  1  0 52  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10108911.54043  -7460052.80142  23128539.596    23128545.910    23128538.083
+      2539.288        1978.666          48.000          43.000
+  -7233376.19943  -5386453.97842  24120026.273    24120031.295    24120024.699
+     -2823.210       -2199.904          46.000          39.000
+  -9267390.21943  -7033936.77742  23562012.883    23562016.735    23562011.578
+      1791.377        1395.878          49.000          42.000
+   7922807.99543   6186589.04842  24725919.414    24725920.792    24725917.415
+     -1911.878       -1489.775          40.000          35.000
+ -15237180.32643 -11822062.15742  22603041.291    22603046.663    22603040.644
+     -2028.472       -1580.627          50.000          44.000
+  -4177513.93043  -3198794.47842  24120776.054    24120782.458    24120774.782
+     -3034.330       -2364.413          46.000          39.000
+ -21128514.14643 -16413515.15042  21089833.672    21089836.196    21089832.692
+      1940.720        1512.249          56.000          49.000
+  -7592177.98843  -5904797.50842  23155191.313    23155195.998    23155189.469
+     -2953.620       -2301.522          50.000          43.000
+ -22213808.14244 -17298553.28042  20899042.092    20899046.014    20899041.232
+       644.497         502.205          57.000          50.000
+ -10554867.73443  -8162696.95142  23288665.179    23288670.293    23288664.130
+     -1829.651       -1425.702          48.000          41.000
+ 04  2  1  0 52 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10184966.36043  -7519316.25742  23114067.196    23114072.332    23114065.417
+      2530.354        1971.704          49.000          43.000
+  -7148747.44843  -5320509.61142  24136129.749    24136139.643    24136129.150
+     -2819.005       -2196.627          46.000          39.000
+  -9321170.78243  -7075843.71642  23551778.200    23551781.897    23551776.166
+      1793.413        1397.465          48.000          42.000
+   7980164.81243   6231282.62142  24736832.331    24736838.830    24736830.770
+     -1913.180       -1490.790          39.000          35.000
+ -15176240.25843 -11774576.46742  22614638.682    22614642.769    22614636.175
+     -2034.800       -1585.558          50.000          43.000
+  -4086395.94043  -3127793.63842  24138115.462    24138121.487    24138115.828
+     -3041.101       -2369.689          47.000          39.000
+ -21186545.48943 -16458734.38242  21078790.825    21078793.454    21078789.613
+      1927.539        1501.978          56.000          49.000
+  -7503574.87443  -5835756.19742  23172052.658    23172056.961    23172051.696
+     -2953.875       -2301.721          50.000          43.000
+ -22232870.99844 -17313407.45542  20895414.845    20895418.632    20895414.151
+       625.790         487.628          57.000          50.000
+ -10499968.12843  -8119918.11242  23299110.593    23299117.711    23299109.618
+     -1831.014       -1426.764          46.000          40.000
+ 04  2  1  0 53  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10260728.13043  -7578351.36142  23099649.238    23099653.914    23099649.004
+      2520.376        1963.929          49.000          43.000
+  -7064234.36343  -5254655.40342  24152213.629    24152219.739    24152212.794
+     -2815.360       -2193.787          46.000          39.000
+  -9374987.22643  -7117778.57642  23541536.338    23541540.670    23541534.821
+      1794.091        1397.993          48.000          42.000
+   8037571.30643   6276014.94442  24747757.592    24747762.732    24747759.396
+     -1914.397       -1491.738          40.000          34.000
+ -15115081.95443 -11726920.71542  22626276.588    22626282.128    22626275.224
+     -2042.454       -1591.522          50.000          43.000
+  -3995061.73543  -3056624.31342  24155495.662    24155503.133    24155495.157
+     -3048.597       -2375.530          47.000          39.000
+ -21244160.19644 -16503628.95842  21067826.795    21067829.586    21067826.000
+      1913.317        1490.896          57.000          49.000
+  -7414943.11143  -5766692.55342  23188917.960    23188920.913    23188916.420
+     -2955.173       -2302.732          49.000          42.000
+ -22251353.41744 -17327809.33142  20891897.959    20891901.710    20891897.162
+       606.218         472.378          57.000          50.000
+ -10444999.80343  -8077085.69542  23309571.926    23309577.983    23309571.455
+     -1833.517       -1428.714          47.000          41.000
+ 04  2  1  0 53 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10336201.46743  -7637161.72142  23085288.187    23085292.883    23085287.168
+      2510.458        1956.201          49.000          43.000
+  -6979844.91443  -5188897.53342  24168270.637    24168279.712    24168269.221
+     -2811.180       -2190.530          45.000          39.000
+  -9428844.99443  -7159745.66042  23531289.388    23531291.998    23531287.857
+      1795.602        1399.170          49.000          42.000
+   8095022.76543   6320782.17842  24758692.805    24758694.314    24758690.532
+     -1916.062       -1493.035          40.000          35.000
+ -15053713.82143 -11679101.48042  22637953.944    22637958.680    22637952.559
+     -2049.580       -1597.075          49.000          43.000
+  -3903518.46543  -2985292.05242  24172914.985    24172923.281    24172913.020
+     -3055.071       -2380.575          45.000          39.000
+ -21301361.55944 -16548201.45542  21056942.040    21056944.895    21056941.069
+      1899.411        1480.061          57.000          49.000
+  -7326290.04143  -5697612.29242  23205788.378    23205791.074    23205787.508
+     -2955.636       -2303.093          49.000          42.000
+ -22269259.97444 -17341762.48842  20888490.804    20888493.932    20888489.307
+       586.900         457.325          57.000          50.000
+ -10389967.75743  -8034203.62242  23320043.569    23320051.138    23320042.709
+     -1835.865       -1430.544          48.000          41.000
+ 04  2  1  0 54  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10411380.78743  -7695742.93442  23070982.539    23070986.800    23070981.209
+      2501.361        1949.112          49.000          43.000
+  -6895576.83443  -5123234.24942  24184306.973    24184313.009    24184307.377
+     -2806.404       -2186.808          45.000          38.000
+  -9482739.14443  -7201741.10042  23521033.039    23521036.876    23521032.472
+      1797.321        1400.510          48.000          42.000
+   8152524.65943   6365588.72742  24769636.510    24769637.242    24769636.153
+     -1917.371       -1494.055          41.000          35.000
+ -14992134.00443 -11631117.29142  22649671.977    22649677.756    22649671.811
+     -2055.912       -1602.009          49.000          43.000
+  -3811762.43143  -2913794.04842  24190376.462    24190383.424    24190374.314
+     -3061.769       -2385.794          46.000          39.000
+ -21358142.26144 -16592446.15842  21046136.873    21046139.717    21046135.856
+      1885.966        1469.584          57.000          49.000
+  -7237612.85443  -5628513.24342  23222664.098    23222666.140    23222661.842
+     -2955.939       -2303.329          49.000          42.000
+ -22286584.57944 -17355262.17742  20885193.444    20885197.354    20885192.519
+       568.070         442.652          57.000          50.000
+ -10334866.47743  -7991267.60742  23330530.364    23330535.621    23330529.075
+     -1837.724       -1431.993          47.000          41.000
+ 04  2  1  0 54 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10486267.42743  -7754096.11442  23056729.772    23056736.698    23056730.213
+      2491.973        1941.797          49.000          43.000
+  -6811434.52443  -5057668.96042  24200320.225    24200325.454    24200317.379
+     -2801.902       -2183.300          46.000          39.000
+  -9536672.18043  -7243766.84342  23510769.048    23510773.512    23510769.584
+      1798.945        1401.775          48.000          42.000
+   5059235.40153   3955233.41052  24780583.806    24780588.932    24780581.615
+     -1918.574       -1494.993          37.000          34.000
+ -14930347.58943 -11582972.11842  22661429.440    22661434.971    22661428.923
+     -2062.283       -1606.974          50.000          43.000
+  -3719797.65843  -2842133.35542  24207876.423    24207884.017    24207876.128
+     -3068.496       -2391.036          46.000          40.000
+ -21414502.45643 -16636363.19942  21035411.809    21035414.498    21035410.696
+      1872.167        1458.831          56.000          50.000
+  -7148915.44043  -5559398.45542  23239542.071    23239545.299    23239540.453
+     -2956.443       -2303.722          49.000          42.000
+ -22303328.19844 -17368309.15142  20882007.413    20882011.078    20882006.392
+       548.998         427.791          57.000          50.000
+ -10279697.79643  -7948279.10242  23341027.775    23341034.118    23341027.385
+     -1839.362       -1433.269          47.000          41.000
+ 04  2  1  0 55  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10560861.69943  -7812221.48142  23042535.906    23042541.181    23042535.432
+      2481.092        1933.318          49.000          43.000
+  -6727421.25843  -4992204.20742  24216306.012    24216313.466    24216305.571
+     -2798.543       -2180.683          45.000          38.000
+  -9590645.13343  -7285823.67742  23500499.040    23500502.572    23500496.988
+      1799.425        1402.149          49.000          42.000
+   5116834.64543   4000115.79742  24791546.612    24791550.815    24791547.095
+     -1921.459       -1497.241          41.000          34.000
+ -14868358.53743 -11534669.03642  22673225.389    22673232.665    22673224.936
+     -2070.208       -1613.149          49.000          43.000
+  -3627627.02843  -2770312.26042  24225416.636    24225424.269    24225414.186
+     -3075.925       -2396.825          46.000          39.000
+ -21470441.03444 -16679951.70242  21024767.426    21024769.843    21024766.039
+      1857.128        1447.113          57.000          50.000
+  -7060200.73343  -5490270.16842  23256423.004    23256428.112    23256422.868
+     -2957.789       -2304.771          49.000          42.000
+ -22319490.76744 -17380903.35542  20878931.357    20878935.547    20878930.690
+       528.696         411.971          57.000          50.000
+ -10224462.00643  -7905238.27742  23351539.094    23351545.030    23351537.917
+     -1842.828       -1435.970          48.000          41.000
+ 04  2  1  0 55 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10635159.09643  -7870115.51042  23028397.382    23028403.278    23028395.669
+      2471.475        1925.825          49.000          43.000
+  -6643535.61243  -4926838.92642  24232268.567    24232276.543    24232267.803
+     -2793.898       -2177.063          44.000          39.000
+  -9644654.27743  -7327908.71742  23490222.579    23490225.507    23490219.220
+      1800.822        1403.238          49.000          42.000
+   5174486.83043   4045039.52142  24802516.577    24802519.263    24802515.088
+     -1923.128       -1498.541          41.000          34.000
+ -14806165.81143 -11486207.25142  22685061.459    22685066.235    22685058.854
+     -2076.608       -1618.136          49.000          43.000
+  -3535248.25843  -2698328.97842  24242995.523    24243002.629    24242992.750
+     -3083.132       -2402.440          46.000          40.000
+ -21525951.72244 -16723206.78542  21014203.837    21014206.435    21014202.893
+      1843.048        1436.141          57.000          50.000
+  -6971466.73343  -5421126.87742  23273309.162    23273311.820    23273307.774
+     -2958.232       -2305.116          48.000          41.000
+ -22335067.17244 -17393040.81842  20875967.459    20875971.054    20875966.720
+       509.254         396.821          57.000          50.000
+ -10169154.69343  -7862141.75342  23362064.317    23362069.839    23362062.417
+     -1845.103       -1437.742          47.000          41.000
+ 04  2  1  0 56  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10709163.83143  -7927781.48042  23014314.743    23014320.472    23014311.911
+      2461.781        1918.271          49.000          43.000
+  -6559784.79443  -4861578.67742  24248205.456    24248215.092    24248204.157
+     -2789.697       -2173.790          45.000          39.000
+  -9698704.51443  -7370025.77042  23479936.250    23479940.016    23479934.818
+      1802.026        1404.176          48.000          42.000
+   5232187.89043   4090001.29642  24813498.738    24813501.869    24813496.958
+     -1924.800       -1499.844          41.000          35.000
+ -14743777.31343 -11437592.92942  22696932.540    22696938.104    22696931.464
+     -2083.287       -1623.340          48.000          43.000
+  -3442667.63743  -2626188.42442  24260613.703    24260620.464    24260612.858
+     -3089.517       -2407.416          47.000          40.000
+ -21581037.33144 -16766130.63442  21003721.339    21003724.027    21003720.519
+      1828.775        1425.019          57.000          50.000
+  -6882720.18743  -5351973.77242  23290196.900    23290201.393    23290194.501
+     -2958.621       -2305.419          48.000          41.000
+ -22350061.40944 -17404724.64142  20873113.755    20873118.081    20873113.026
+       489.751         381.624          57.000          50.000
+ -10113780.22743  -7818992.87142  23372600.286    23372605.747    23372598.683
+     -1847.352       -1439.495          46.000          40.000
+ 04  2  1  0 56 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10782870.94143  -7985215.55642  23000288.832    23000295.273    23000287.957
+      2452.587        1911.107          49.000          43.000
+  -6476166.75943  -4796421.91942  24264118.862    24264126.306    24264118.150
+     -2784.425       -2169.682          45.000          39.000
+  -9752791.80543  -7412171.70642  23469643.252    23469647.158    23469640.483
+      1803.859        1405.604          49.000          42.000
+   5289942.65443   4135004.93542  24824488.540    24824494.184    24824486.892
+     -1925.596       -1500.464          42.000          35.000
+ -14681191.66543 -11388824.97742  22708841.804    22708848.375    22708840.805
+     -2088.801       -1627.637          48.000          43.000
+  -3349882.90543  -2553888.78842  24278270.403    24278277.667    24278267.588
+     -3095.750       -2412.273          46.000          39.000
+ -21635691.30243 -16808718.14242  20993321.007    20993323.486    20993320.278
+      1815.075        1414.344          56.000          50.000
+  -6793958.70243  -5282809.06042  23307088.146    23307090.672    23307087.621
+     -2958.417       -2305.260          48.000          41.000
+ -22364468.11244 -17415950.64042  20870372.772    20870376.498    20870371.779
+       470.913         366.945          57.000          50.000
+ -10058333.75843  -7775787.88042  23383153.398    23383157.434    23383150.760
+     -1849.016       -1440.792          47.000          41.000
+ 04  2  1  0 57  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10856282.46643  -8042419.28842  22986318.181    22986324.921    22986317.346
+      2441.315        1902.323          49.000          42.000
+  -6392686.39443  -4731372.43942  24280004.898    24280011.795    24280003.763
+     -2781.011       -2167.021          45.000          39.000
+  -9806918.85643  -7454348.60942  23459345.011    23459348.193    23459342.186
+      1803.619        1405.417          50.000          43.000
+   5347749.23053   4180048.92052  24835485.408    24835496.213    24835485.375
+     -1928.523       -1502.745          40.000          34.000
+ -14618414.54043 -11339907.82542  22720788.071    22720793.782    22720787.256
+     -2096.485       -1633.625          48.000          42.000
+  -3256898.21943  -2481433.34942  24295964.236    24295970.218    24295962.071
+     -3103.819       -2418.560          46.000          39.000
+ -21689914.45644 -16850969.94842  20983002.994    20983005.691    20983001.663
+      1799.566        1402.259          57.000          50.000
+  -6705186.86443  -5213636.25042  23323981.101    23323982.619    23323979.992
+     -2959.921       -2306.432          48.000          41.000
+ -22378289.17144 -17426720.30242  20867742.485    20867746.646    20867741.119
+       450.175         350.786          57.000          50.000
+ -10002817.44743  -7732528.47742  23393716.568    23393722.969    23393714.860
+     -1852.483       -1443.493          47.000          41.000
+ 04  2  1  0 57 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -10929397.06043  -8099391.65742  22972406.590    22972410.546    22972405.174
+      2432.714        1895.621          50.000          43.000
+  -6309345.41443  -4666431.58842  24295864.190    24295870.962    24295862.829
+     -2774.985       -2162.326          46.000          40.000
+  -9861084.94843  -7496555.91342  23449036.264    23449040.835    23449035.573
+      1806.539        1407.693          49.000          42.000
+   5405608.80343   4225134.25942  24846499.564    24846504.577    24846498.300
+     -1929.220       -1503.288          43.000          36.000
+ -14555448.02543 -11290843.09842  22732771.252    22732776.256    22732770.023
+     -2101.706       -1637.693          49.000          42.000
+  -3163714.41543  -2408822.77042  24313696.827    24313703.970    24313694.899
+     -3109.275       -2422.812          46.000          39.000
+ -21743703.79243 -16892883.72342  20972766.913    20972769.737    20972765.812
+      1786.126        1391.786          56.000          50.000
+  -6616405.80743  -5144456.29842  23340875.104    23340879.038    23340874.544
+     -2958.938       -2305.666          49.000          42.000
+ -22391522.74644 -17437032.17442  20865224.381    20865228.059    20865223.507
+       431.781         336.453          57.000          50.000
+  -9947230.10543  -7689213.71042  23404295.254    23404300.772    23404292.589
+     -1853.573       -1444.342          46.000          41.000
+ 04  2  1  0 58  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11002215.53343  -8156133.28942  22958548.877    22958554.528    22958548.175
+      2422.393        1887.579          49.000          42.000
+  -6226147.53943  -4601602.22942  24311695.844    24311703.730    24311694.983
+     -2770.715       -2158.999          46.000          40.000
+  -9915291.63343  -7538794.88542  23438721.886    23438724.070    23438720.247
+      1807.538        1408.471          49.000          42.000
+   5463520.52243   4270260.16042  24857518.433    24857522.800    24857519.298
+     -1931.370       -1504.964          38.000          36.000
+ -14492296.60543 -11241634.26942  22744788.991    22744794.098    22744787.179
+     -2108.150       -1642.714          49.000          42.000
+  -3070334.68343  -2336059.52242  24331465.484    24331475.731    24331464.893
+     -3115.744       -2427.852          45.000          39.000
+ -21797058.35743 -16934458.71142  20962613.892    20962616.335    20962613.000
+      1771.249        1380.194          56.000          50.000
+  -6527618.60343  -5075271.51542  23357770.164    23357775.219    23357770.365
+     -2959.541       -2306.136          48.000          41.000
+ -22404169.34844 -17446886.66542  20862817.622    20862821.742    20862816.696
+       411.843         320.917          57.000          50.000
+  -9891572.40843  -7645844.16542  23414886.527    23414892.630    23414885.515
+     -1856.495       -1446.619          47.000          41.000
+ 04  2  1  0 58 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11074731.65843  -8212639.32742  22944749.790    22944754.931    22944748.733
+      2412.260        1879.683          49.000          43.000
+  -6143089.68043  -4536881.98442  24327501.207    24327509.219    24327498.862
+     -2766.331       -2155.582          45.000          40.000
+  -9969533.39043  -7581061.16042  23428398.604    23428403.779    23428397.297
+      1808.738        1409.406          48.000          42.000
+   5521490.58443   4315431.57442  24868551.199    24868553.327    24868549.835
+     -1933.033       -1506.259          40.000          35.000
+ -14428957.81443 -11192279.45742  22756842.102    22756847.615    22756841.059
+     -2114.165       -1647.401          49.000          43.000
+  -2976755.24843  -2263140.64542  24349272.780    24349282.475    24349271.624
+     -3122.721       -2433.289          45.000          38.000
+ -21849970.76544 -16975689.16142  20952545.057    20952547.727    20952543.934
+      1756.487        1368.691          57.000          50.000
+  -6438821.48843  -5006079.03142  23374668.210    23374671.144    23374666.443
+     -2959.670       -2306.236          49.000          42.000
+ -22416222.60044 -17456278.81342  20860524.175    20860527.728    20860523.023
+       391.958         305.422          57.000          50.000
+  -9835838.48843  -7602415.20942  23425491.588    23425498.713    23425490.884
+     -1858.792       -1448.409          47.000          41.000
+ 04  2  1  0 59  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11146949.55543  -8268912.97642  22931006.645    22931012.605    22931005.866
+      2402.731        1872.258          49.000          43.000
+  -6060178.61643  -4472276.12542  24343278.926    24343287.410    24343278.066
+     -2760.790       -2151.265          47.000          40.000
+ -10023815.05543  -7623358.57042  23418069.368    23418072.011    23418066.224
+      1810.368        1410.676          48.000          42.000
+   5579514.98643   4360645.22942  24879592.569    24879593.751    24879590.480
+     -1934.318       -1507.261          40.000          36.000
+ -14365439.24643 -11142784.56042  22768929.784    22768934.345    22768928.261
+     -2119.927       -1651.891          48.000          42.000
+  -2882982.80243  -2190071.38442  24367118.660    24367125.984    24367117.130
+     -3128.351       -2437.676          44.000          38.000
+ -21902443.82043 -17016577.25742  20942559.634    20942562.486    20942558.920
+      1742.212        1357.568          56.000          50.000
+  -6350021.44243  -4936884.27242  23391566.377    23391569.709    23391565.539
+     -2959.465       -2306.077          48.000          41.000
+ -22427686.48144 -17465211.70342  20858342.420    20858346.389    20858341.488
+       372.727         290.437          57.000          50.000
+  -9780032.55243  -7558930.13542  23436110.740    23436118.125    23436110.422
+     -1861.116       -1450.220          46.000          41.000
+ 04  2  1  0 59 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11218870.57643  -8324955.27642  22917321.789    22917325.898    22917320.074
+      2392.404        1864.211          50.000          43.000
+  -5977418.74743  -4407788.08442  24359028.751    24359036.912    24359027.814
+     -2756.277       -2147.748          46.000          40.000
+ -10078138.68043  -7665688.62542  23407732.656    23407735.288    23407730.050
+      1811.488        1411.549          48.000          42.000
+   5637592.31843   4405900.21342  24890644.282    24890646.424    24890642.483
+     -1937.193       -1509.501          40.000          35.000
+ -14301745.86243 -11093153.44842  22781048.578    22781055.272    22781048.786
+     -2126.006       -1656.628          49.000          43.000
+  -2789020.91843  -2116854.49642  24384999.730    24385006.664    24384997.847
+     -3135.531       -2443.271          44.000          37.000
+ -21954477.42244 -17057122.92242  20932658.263    20932661.007    20932657.028
+      1727.027        1345.735          57.000          50.000
+  -6261221.90343  -4867689.89742  23408465.109    23408467.565    23408463.873
+     -2960.104       -2306.574          49.000          42.000
+ -22438562.07444 -17473686.18642  20856273.199    20856277.128    20856272.182
+       352.644         274.788          57.000          50.000
+  -9724156.04443  -7515390.04642  23446744.787    23446752.075    23446744.369
+     -1863.956       -1452.433          47.000          41.000
+ 04  2  1  1  0  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11290489.93443  -8380762.52742  22903691.295    22903697.971    22903689.966
+      2382.497        1856.491          50.000          43.000
+  -5894807.93643  -4343416.19442  24374747.292    24374756.068    24374746.672
+     -2750.859       -2143.526          46.000          40.000
+ -10132500.13243  -7708048.19742  23397385.334    23397391.574    23397384.573
+      1812.920        1412.665          48.000          42.000
+   5695727.44543   4451200.22842  24901705.333    24901710.437    24901703.389
+     -1939.166       -1511.038          41.000          36.000
+ -14237876.34343 -11043385.08642  22793204.601    22793210.123    22793202.765
+     -2131.794       -1661.138          50.000          43.000
+  -2694867.08743  -2043488.07042  24402914.929    24402924.134    24402913.719
+     -3141.657       -2448.044          42.000          37.000
+ -22006064.93744 -17097320.98742  20922841.462    20922844.110    20922840.387
+      1712.288        1334.250          57.000          50.000
+  -6172420.55043  -4798494.12242  23425362.617    23425367.891    23425360.961
+     -2959.756       -2306.303          49.000          42.000
+ -22448844.37944 -17481698.37242  20854316.244    20854320.061    20854315.382
+       333.057         259.525          57.000          50.000
+  -9668204.02543  -7471791.11142  23457392.555    23457396.431    23457390.573
+     -1866.250       -1454.221          47.000          40.000
+ 04  2  1  1  0 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11361807.39543  -8436334.53542  22890120.383    22890125.102    22890119.718
+      2372.064        1848.362          50.000          43.000
+  -5812348.47043  -4279162.23842  24390439.980    24390448.732    24390439.182
+     -2746.315       -2139.986          47.000          40.000
+ -10186899.65743  -7750437.39942  23387035.695    23387040.159    23387034.467
+      1813.901        1413.429          48.000          42.000
+   5753920.65743   4496545.36242  24912780.437    24912785.532    24912779.078
+     -1940.851       -1512.351          43.000          37.000
+ -14173834.00343 -10993482.04842  22805391.358    22805396.051    22805390.325
+     -2137.812       -1665.827          50.000          43.000
+  -2600523.45943  -1969973.75842  24420868.040    24420876.406    24420867.253
+     -3147.911       -2452.918          42.000          36.000
+ -22057204.78344 -17137170.21942  20913110.018    20913112.485    20913109.144
+      1697.083        1322.402          57.000          50.000
+  -6083619.36543  -4729298.48342  23442260.427    23442265.692    23442259.564
+     -2960.153       -2306.613          49.000          42.000
+ -22458532.70144 -17489247.71842  20852472.883    20852476.405    20852471.736
+       313.022         243.913          57.000          50.000
+  -9612176.35443  -7428133.22942  23468053.668    23468059.454    23468052.061
+     -1868.906       -1456.290          46.000          41.000
+ 04  2  1  1  1  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11432823.17843  -8491671.47342  22876606.682    22876611.780    22876605.604
+      2362.079        1840.581          50.000          43.000
+  -5730043.82443  -4215028.93742  24406102.560    24406108.489    24406101.638
+     -2741.266       -2136.051          46.000          39.000
+ -10241338.01543  -7792856.88742  23376675.697    23376681.245    23376674.833
+      1815.267        1414.494          48.000          42.000
+   5812171.68743   4541935.73042  24923866.481    24923869.849    24923865.616
+     -1942.789       -1513.861          43.000          36.000
+ -14109622.54543 -10943447.22742  22817608.370    22817614.581    22817607.653
+     -2143.280       -1670.088          49.000          43.000
+  -2505992.22643  -1896313.24242  24438858.917    24438865.167    24438856.374
+     -3154.518       -2458.066          44.000          36.000
+ -22107895.69344 -17176669.62842  20903463.475    20903465.965    20903462.643
+      1682.055        1310.692          57.000          50.000
+  -5994820.99343  -4660104.96642  23459159.561    23459162.598    23459158.188
+     -2960.004       -2306.497          49.000          42.000
+ -22467627.20844 -17496334.33842  20850742.049    20850746.062    20850741.120
+       293.132         228.415          57.000          50.000
+  -9556073.16943  -7384416.54342  23478729.961    23478736.388    23478728.808
+     -1871.679       -1458.451          47.000          41.000
+ 04  2  1  1  1 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11503537.19443  -8546773.24142  22863149.789    22863155.749    22863149.438
+      2352.368        1833.014          50.000          43.000
+  -5647896.67943  -4151018.35642  24421735.890    24421742.003    24421734.201
+     -2735.289       -2131.394          47.000          40.000
+ -10295815.67243  -7835306.98042  23366309.004    23366313.839    23366307.150
+      1817.089        1415.914          48.000          42.000
+   5870480.89343   4587371.35642  24934962.721    24934964.166    24934962.845
+     -1944.181       -1514.946          44.000          36.000
+ -14045245.44443 -10893283.34742  22829860.383    22829867.068    22829859.653
+     -2148.280       -1673.984          50.000          43.000
+  -2411275.77143  -1822508.41242  24456880.556    24456888.867    24456879.058
+     -3159.475       -2461.928          39.000          35.000
+ -22158136.06444 -17215817.97142  20893903.218    20893905.683    20893902.305
+      1667.507        1299.356          57.000          50.000
+  -5906027.56743  -4590915.37842  23476056.307    23476059.663    23476055.285
+     -2959.348       -2305.985          49.000          42.000
+ -22476127.62744 -17502958.04242  20849124.288    20849128.209    20849123.504
+       273.867         213.403          57.000          50.000
+  -9499894.46443  -7340640.96742  23489419.845    23489425.614    23489418.476
+     -1873.729       -1460.048          47.000          40.000
+ 04  2  1  1  2  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11573951.37543  -8601641.39142  22849750.600    22849756.786    22849750.202
+      2341.312        1824.399          50.000          43.000
+  -5565911.43143  -4087133.93642  24437337.231    24437343.305    24437334.193
+     -2730.809       -2127.903          47.000          40.000
+ -10350335.15843  -7877789.66342  23355934.090    23355938.858    23355932.519
+      1817.118        1415.936          48.000          42.000
+   5928846.41043   4632850.85342  24946069.054    24946072.793    24946066.827
+     -1947.497       -1517.530          44.000          36.000
+ -13980708.06843 -10842994.56142  22842142.064    22842147.315    22842141.399
+     -2154.831       -1679.089          50.000          43.000
+  -2316378.35243  -1748562.53642  24474941.336    24474949.022    24474939.157
+     -3167.567       -2468.234          41.000          36.000
+ -22207926.29244 -17254615.55542  20884428.735    20884431.112    20884427.524
+      1651.308        1286.734          57.000          50.000
+  -5817243.50943  -4521733.07142  23492951.424    23492955.294    23492952.230
+     -2960.230       -2306.673          49.000          42.000
+ -22484035.74044 -17509120.20942  20847619.918    20847623.580    20847618.679
+       252.926         197.085          57.000          50.000
+  -9443642.23443  -7296808.12842  23500125.795    23500130.328    23500124.647
+     -1877.066       -1462.649          47.000          41.000
+ 04  2  1  1  2 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11644059.73343  -8656271.23542  22836409.750    22836414.995    22836407.484
+      2332.024        1817.162          49.000          43.000
+  -5484085.23343  -4023373.46942  24452907.252    24452915.419    24452906.781
+     -2724.800       -2123.221          47.000          40.000
+ -10404891.25343  -7920300.92742  23345551.885    23345557.761    23345550.332
+      1819.331        1417.661          48.000          42.000
+   5987274.05343   4678378.77042  24957185.210    24957191.885    24957183.772
+     -1948.205       -1518.082          42.000          36.000
+ -13916008.11743 -10792579.09442  22854454.640    22854460.210    22854453.174
+     -2159.422       -1682.666          50.000          43.000
+  -2221296.55743  -1674472.98742  24493035.381    24493041.619    24493033.504
+     -3172.493       -2472.072          43.000          37.000
+ -22257259.31643 -17293056.86842  20875040.841    20875043.217    20875039.312
+      1636.931        1275.531          56.000          50.000
+  -5728464.91943  -4452555.03942  23509845.072    23509848.059    23509843.726
+     -2959.056       -2305.758          49.000          42.000
+ -22491345.68444 -17514816.27842  20846228.982    20846232.630    20846227.981
+       233.858         182.227          57.000          50.000
+  -9387310.50143  -7252913.32942  23510843.785    23510850.606    23510843.619
+     -1878.997       -1464.153          46.000          40.000
+ 04  2  1  1  3  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11713867.13243  -8710666.55142  22823125.959    22823130.849    22823124.030
+      2321.731        1809.141          50.000          43.000
+  -5402425.39543  -3959742.62542  24468446.842    24468455.093    24468445.365
+     -2719.407       -2119.018          46.000          39.000
+ -10459489.19443  -7962844.75342  23335163.017    23335168.374    23335160.655
+      1820.287        1418.405          49.000          42.000
+   6045759.22043   4723951.53142  24968315.564    24968321.615    24968316.517
+     -1950.750       -1520.065          43.000          36.000
+ -13851153.81843 -10742043.35742  22866794.651    22866800.979    22866793.938
+     -2164.701       -1686.780          49.000          43.000
+  -2126037.46243  -1600245.28842  24511162.274    24511169.588    24511161.342
+     -3178.440       -2476.706          44.000          38.000
+ -22306138.19144 -17331144.30642  20865739.297    20865741.704    20865738.172
+      1621.388        1263.419          57.000          50.000
+  -5639699.09743  -4383386.92942  23526736.519    23526740.006    23526734.497
+     -2958.807       -2305.564          48.000          42.000
+ -22498062.00144 -17520049.77542  20844950.467    20844954.476    20844949.750
+       213.695         166.516          57.000          50.000
+  -9330904.00743  -7208960.27042  23521578.457    23521584.684    23521577.191
+     -1881.818       -1466.352          46.000          40.000
+ 04  2  1  1  3 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11783369.23843  -8764823.99642  22809899.913    22809905.077    22809897.993
+      2311.664        1801.297          50.000          43.000
+  -5320930.20043  -3896240.07342  24483953.285    24483964.324    24483952.609
+     -2713.677       -2114.553          46.000          39.000
+ -10514125.01643  -8005418.12642  23324766.860    23324768.998    23324765.036
+      1821.844        1419.619          49.000          42.000
+   6104306.33243   4769572.52642  24979456.163    24979463.150    24979455.758
+     -1952.466       -1521.402          40.000          37.000
+ -13786144.32443 -10691386.70142  22879166.105    22879172.026    22879164.049
+     -2169.716       -1690.688          48.000          42.000
+  -2030598.97543  -1525877.80842  24529324.376    24529331.944    24529321.226
+     -3184.850       -2481.701          44.000          38.000
+ -22354557.28343 -17368873.46742  20856525.045    20856528.035    20856524.377
+      1606.257        1251.629          56.000          50.000
+  -5550943.72343  -4314226.95742  23543627.534    23543630.851    23543626.355
+     -2958.260       -2305.138          49.000          42.000
+ -22504180.25044 -17524817.25342  20843786.302    20843790.335    20843785.671
+       193.950         151.130          57.000          50.000
+  -9274418.42543  -7164945.59442  23532325.739    23532333.801    23532324.880
+     -1884.142       -1468.162          46.000          40.000
+ 04  2  1  1  4  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11852566.58743  -8818743.96042  22796733.042    22796737.823    22796731.214
+      2301.159        1793.111          50.000          43.000
+  -5239603.04543  -3832868.47142  24499431.652    24499439.050    24499429.326
+     -2708.429       -2110.464          46.000          40.000
+ -10568799.87543  -8048021.89842  23314361.521    23314365.496    23314362.608
+      1822.968        1420.495          49.000          42.000
+   6162914.99743   4815241.49142  24990611.310    24990613.299    24990609.726
+     -1955.211       -1523.541          43.000          37.000
+ -13720983.59043 -10640612.22642  22891564.916    22891572.063    22891564.558
+     -2175.498       -1695.193          48.000          42.000
+  -1934984.05243  -1451372.86842  24547519.404    24547526.323    24547517.057
+     -3190.431       -2486.050          46.000          38.000
+ -22402515.63144 -17406243.60942  20847399.086    20847401.815    20847398.234
+      1590.537        1239.379          57.000          50.000
+  -5462201.69843  -4245077.42042  23560513.989    23560516.959    23560511.751
+     -2958.104       -2305.016          48.000          42.000
+ -22509700.57543 -17529118.81342  20842735.416    20842739.855    20842734.885
+       173.617         135.286          56.000          50.000
+  -9217854.21043  -7120869.61142  23543091.640    23543096.367    23543090.177
+     -1887.304       -1470.626          48.000          41.000
+ 04  2  1  1  4 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11921458.59843  -8872425.99542  22783622.430    22783627.379    22783620.535
+      2291.474        1785.564          50.000          43.000
+  -5158445.93943  -3769629.36842  24514874.636    24514883.667    24514874.205
+     -2702.103       -2105.535          46.000          39.000
+ -10623513.32143  -8090655.73842  23303951.203    23303954.637    23303949.588
+      1824.300        1421.532          49.000          42.000
+   6221585.85543   4860958.87642  25001776.185    25001778.791    25001773.653
+     -1956.645       -1524.658          43.000          35.000
+ -13655674.49343 -10589722.11242  22903993.274    22903999.406    22903992.043
+     -2179.186       -1698.067          49.000          42.000
+  -1839194.10043  -1376731.52842  24565747.642    24565755.777    24565745.213
+     -3196.000       -2490.390          46.000          39.000
+ -22450010.90644 -17443252.91642  20838361.193    20838363.738    20838360.482
+      1575.497        1227.660          57.000          50.000
+  -5373474.33443  -4175939.28642  23577398.266    23577403.556    23577397.303
+     -2957.214       -2304.322          49.000          42.000
+ -22514622.52444 -17532954.09842  20841799.262    20841803.341    20841798.476
+       154.197         120.153          57.000          50.000
+  -9161210.70743  -7076731.88242  23553870.072    23553875.343    23553868.079
+     -1889.449       -1472.298          47.000          41.000
+ 04  2  1  1  5  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -11990046.18643  -8925870.81642  22770570.910    22770575.912    22770569.075
+      2281.830        1778.049          50.000          43.000
+  -5077462.33543  -3706525.44142  24530285.546    24530292.700    24530285.575
+     -2696.148       -2100.894          46.000          39.000
+ -10678266.68143  -8133320.70242  23293531.714    23293535.322    23293529.744
+      1826.504        1423.250          50.000          43.000
+   6280318.23943   4906724.36242  25012950.620    25012955.571    25012951.172
+     -1958.751       -1526.299          43.000          36.000
+ -13590221.23643 -10538719.68342  22916449.468    22916455.923    22916447.343
+     -2183.675       -1701.565          49.000          42.000
+  -1743232.36843  -1301956.35842  24584007.493    24584015.777    24584004.951
+     -3200.989       -2494.277          46.000          38.000
+ -22497042.79544 -17479901.13842  20829411.798    20829413.978    20829410.713
+      1560.458        1215.941          57.000          50.000
+  -5284765.05443  -4106815.25042  23594279.203    23594282.855    23594278.585
+     -2955.934       -2303.325          48.000          42.000
+ -22518946.70243 -17536323.59742  20840975.880    20840980.176    20840975.306
+       134.693         104.956          56.000          50.000
+  -9104488.69643  -7032532.98342  23564663.456    23564668.586    23564662.660
+     -1891.393       -1473.813          47.000          41.000
+ 04  2  1  1  5 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12058325.47543  -8979075.39642  22757576.781    22757582.106    22757575.659
+      2270.907        1769.538          49.000          43.000
+  -4996650.49543  -3643555.39342  24545662.779    24545671.738    24545664.006
+     -2690.794       -2096.722          45.000          39.000
+ -10733056.65243  -8176014.16042  23283104.388    23283110.058    23283104.016
+      1826.876        1423.540          49.000          42.000
+   6339116.23243   4952540.86442  25024140.405    25024146.753    25024140.069
+     -1960.736       -1527.846          42.000          36.000
+ -13524623.24443 -10487604.45142  22928932.227    22928938.395    22928930.926
+     -2188.767       -1705.533          49.000          43.000
+  -1647097.17443  -1227046.01442  24602302.237    24602310.077    24602299.215
+     -3207.476       -2499.332          47.000          38.000
+ -22543605.69043 -17516183.90742  20820550.840    20820553.353    20820549.483
+      1544.335        1203.378          56.000          50.000
+  -5196071.56743  -4037703.52242  23611157.712    23611161.864    23611155.792
+     -2956.052       -2303.417          48.000          42.000
+ -22522669.45644 -17539224.44642  20840268.477    20840271.980    20840267.536
+       114.183          88.974          57.000          50.000
+  -9047684.00643  -6988269.68642  23575472.886    23575480.009    23575472.629
+     -1894.859       -1476.513          47.000          40.000
+ 04  2  1  1  6  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12126299.70443  -9032042.25642  22744641.754    22744647.904    22744640.001
+      2260.376        1761.332          49.000          43.000
+  -4916016.79743  -3580724.16742  24561008.892    24561014.827    24561006.698
+     -2684.843       -2092.085          46.000          39.000
+ -10787886.95543  -8218739.06142  23272670.465    23272675.043    23272669.018
+      1828.158        1424.539          49.000          43.000
+   6397976.68643   4998406.03442  25035343.204    25035346.259    25035341.807
+     -1963.522       -1530.017          44.000          37.000
+ -13458887.55443 -10436381.91142  22941441.144    22941446.520    22941440.197
+     -2193.821       -1709.471          50.000          43.000
+  -1550794.18843  -1152004.97842  24620626.623    24620635.336    24620626.467
+     -3213.164       -2503.764          45.000          38.000
+ -22589701.65944 -17552102.85042  20811778.966    20811781.783    20811778.171
+      1528.388        1190.952          57.000          50.000
+  -5107399.65943  -3968608.60942  23628030.274    23628034.690    23628028.187
+     -2955.466       -2302.960          47.000          41.000
+ -22525793.83044 -17541659.03042  20839673.742    20839677.309    20839672.464
+        93.835          73.118          57.000          50.000
+  -8990800.19543  -6943944.69942  23586298.478    23586304.416    23586296.766
+     -1897.877       -1478.865          47.000          41.000
+ 04  2  1  1  6 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12193961.34043  -9084765.55942  22731766.181    22731771.350    22731766.191
+      2251.364        1754.310          50.000          43.000
+  -4835555.84343  -3518027.54642  24576319.651    24576326.566    24576317.739
+     -2677.903       -2086.678          45.000          39.000
+ -10842750.15143  -8261489.59842  23262231.078    23262235.644    23262229.001
+      1830.510        1426.371          49.000          43.000
+   6456907.20043   5044325.84542  25046555.049    25046560.500    25046552.274
+     -1964.550       -1530.818          41.000          36.000
+ -13393009.77343 -10385048.66542  22953978.466    22953982.675    22953976.984
+     -2197.212       -1712.113          49.000          43.000
+  -1454318.02843  -1076828.93542  24638985.872    24638995.679    24638983.866
+     -3217.789       -2507.368          44.000          38.000
+ -22635321.35844 -17587650.66342  20803097.492    20803100.570    20803096.849
+      1513.765        1179.557          57.000          50.000
+  -5018743.66443  -3899526.09542  23644900.442    23644906.112    23644899.277
+     -2954.085       -2301.884          47.000          41.000
+ -22528312.43243 -17543621.58042  20839194.169    20839198.029    20839193.023
+        74.896          58.361          56.000          50.000
+  -8933829.21243  -6899551.75942  23597138.470    23597145.469    23597136.209
+     -1899.531       -1480.154          47.000          40.000
+ 04  2  1  1  7  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12261321.92543  -9137254.25942  22718948.745    22718952.770    22718946.172
+      2240.056        1745.498          50.000          43.000
+  -4755282.03443  -3455476.73842  24591595.059    24591602.610    24591595.090
+     -2672.568       -2082.520          45.000          38.000
+ -10897658.01843  -8304274.92542  23251782.537    23251787.945    23251781.326
+      1830.825        1426.617          49.000          43.000
+   6515896.91643   5090291.70442  25057780.714    25057787.063    25057780.619
+     -1967.626       -1533.215          41.000          36.000
+ -13327004.79043 -10333616.30742  22966538.194    22966543.279    22966536.920
+     -2202.478       -1716.217          49.000          43.000
+  -1357682.26343  -1001528.55242  24657375.723    24657383.719    24657374.632
+     -3224.167       -2512.338          44.000          38.000
+ -22680475.20944 -17622835.48442  20794505.385    20794508.018    20794504.400
+      1497.032        1166.518          57.000          50.000
+  -4930117.17543  -3830466.56242  23661765.637    23661770.282    23661763.747
+     -2954.032       -2301.843          46.000          41.000
+ -22530236.55143 -17545120.88742  20838828.009    20838831.788    20838826.833
+        53.955          42.043          56.000          50.000
+  -8876782.57543  -6855099.91342  23607994.891    23607999.482    23607993.668
+     -1903.124       -1482.954          47.000          40.000
+ 04  2  1  1  7 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12328374.83743  -9189503.23242  22706188.682    22706193.649    22706187.019
+      2229.804        1737.510          50.000          43.000
+  -4675190.94043  -3393068.34042  24606836.414    24606843.479    24606834.872
+     -2666.912       -2078.113          44.000          38.000
+ -10952604.43943  -8347090.30442  23241325.936    23241328.795    23241324.650
+      1831.947        1427.491          49.000          42.000
+   6574952.25443   5136308.74742  25069019.010    25069025.394    25069016.148
+     -1969.983       -1535.052          40.000          35.000
+ -13260869.28943 -10282082.25642  22979122.759    22979129.597    22979121.669
+     -2207.087       -1719.808          48.000          43.000
+  -1260882.67543   -926100.54942  24675796.040    24675804.932    24675794.808
+     -3229.572       -2516.550          44.000          37.000
+ -22725155.03744 -17657650.93342  20786003.006    20786005.748    20786002.014
+      1481.086        1154.093          57.000          50.000
+  -4841515.61243  -3761426.45842  23678626.203    23678631.177    23678625.311
+     -2953.351       -2301.312          46.000          41.000
+ -22531559.80943 -17546151.99742  20838575.704    20838579.878    20838575.367
+        33.770          26.314          56.000          50.000
+  -8819653.55243  -6810583.85242  23618866.547    23618872.587    23618864.270
+     -1906.012       -1485.204          46.000          40.000
+ 04  2  1  1  8  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12395120.13843  -9241512.51642  22693487.842    22693493.126    22693486.368
+      2219.641        1729.590          50.000          44.000
+  -4595285.30243  -3330804.42942  24622041.648    24622050.049    24622039.609
+     -2660.382       -2073.025          45.000          38.000
+ -11007589.75243  -8389935.98442  23230863.960    23230866.368    23230861.452
+      1833.447        1428.660          50.000          42.000
+   6634073.37443   5182377.04142  25080272.278    25080274.381    25080269.881
+     -1972.117       -1536.714          43.000          36.000
+ -13194606.78243 -10230449.23442  22991732.164    22991739.094    22991731.249
+     -2210.872       -1722.757          49.000          43.000
+  -1163921.46943   -850546.56842  24694246.623    24694254.248    24694244.828
+     -3234.792       -2520.617          43.000          37.000
+ -22769359.51144 -17692095.98042  20777591.109    20777593.496    20777590.277
+      1465.441        1141.902          57.000          50.000
+  -4752941.18343  -3692407.50242  23695482.209    23695487.041    23695480.675
+     -2952.257       -2300.460          46.000          40.000
+ -22532282.08644 -17546714.80742  20838439.087    20838442.476    20838437.756
+        13.968          10.884          57.000          50.000
+  -8762442.03543  -6766003.51242  23629753.732    23629759.981    23629751.786
+     -1908.549       -1487.181          47.000          41.000
+ 04  2  1  1  8 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12461556.22343  -9293280.83442  22680844.952    22680849.617    22680843.550
+      2210.029        1722.101          50.000          43.000
+  -4515565.77843  -3268685.56542  24637211.479    24637219.227    24637210.366
+     -2653.546       -2067.698          44.000          38.000
+ -11062612.47743  -8432810.81842  23220392.438    23220398.075    23220392.210
+      1835.385        1430.170          49.000          43.000
+   6693262.14543   5228498.06742  25091532.977    25091541.737    25091534.847
+     -1973.515       -1537.804          42.000          36.000
+ -13128218.84243 -10178718.47442  23004365.763    23004371.598    23004363.812
+     -2214.401       -1725.507          48.000          42.000
+  -1066799.14343   -774867.08842  24712729.087    24712737.455    24712727.688
+     -3239.463       -2524.257          44.000          37.000
+ -22813085.20143 -17726167.94842  20769270.377    20769273.192    20769269.207
+      1450.101        1129.949          56.000          50.000
+  -4664393.94243  -3623409.72042  23712332.310    23712337.262    23712329.302
+     -2950.526       -2299.111          46.000          40.000
+ -22532401.79344 -17546808.08542  20838416.026    20838419.588    20838415.284
+        -5.444          -4.242          57.000          50.000
+  -8705146.01643  -6721357.33042  23640657.339    23640663.760    23640655.275
+     -1910.629       -1488.802          48.000          41.000
+ 04  2  1  1  9  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12527684.80743  -9344809.59042  22668260.704    22668265.673    22668258.968
+      2199.364        1713.790          50.000          44.000
+  -4436036.79543  -3206715.14642  24652346.731    24652355.886    24652344.897
+     -2647.774       -2063.200          44.000          37.000
+ -11117674.73843  -8475716.46642  23209914.150    23209918.635    23209913.116
+      1836.242        1430.838          49.000          43.000
+   6752517.29143   5274670.82642  25102808.426    25102813.037    25102807.331
+     -1976.024       -1539.759          43.000          36.000
+ -13061710.66843 -10126894.01842  23017021.516    23017027.617    23017018.573
+     -2218.792       -1728.929          47.000          42.000
+   -969519.97943   -699065.41442  24731242.602    24731249.856    24731240.124
+     -3244.892       -2528.487          44.000          36.000
+ -22856332.79044 -17759867.37042  20761040.784    20761043.232    20761039.755
+      1433.766        1117.220          57.000          50.000
+  -4575877.71843  -3554436.14842  23729176.465    23729180.831    23729174.476
+     -2949.907       -2298.629          45.000          40.000
+ -22531920.98944 -17546433.43042  20838508.215    20838510.928    20838506.659
+       -25.856         -20.147          57.000          50.000
+  -8647767.17443  -6676646.63542  23651576.021    23651581.736    23651574.208
+     -1913.963       -1491.400          48.000          41.000
+ 04  2  1  1  9 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12593501.64143  -9396095.39842  22655735.836    22655741.340    22655733.593
+      2189.523        1706.122          50.000          43.000
+  -4356696.15143  -3144891.51642  24667443.114    24667453.140    24667440.117
+     -2640.784       -2057.754          43.000          37.000
+ -11172772.41143  -8518649.68242  23199429.670    23199433.753    23199426.880
+      1838.060        1432.255          49.000          42.000
+   6811843.25543   5320898.73442  25114098.553    25114101.885    25114096.900
+     -1977.756       -1541.108          43.000          36.000
+ -12995081.16043 -10074975.02042  23029701.352    23029706.085    23029699.637
+     -2222.182       -1731.570          48.000          42.000
+   -872081.70343   -623139.78242  24749784.300    24749791.631    24749781.717
+     -3249.787       -2532.301          42.000          36.000
+ -22899096.23144 -17793189.53742  20752903.260    20752905.711    20752902.099
+      1418.056        1104.979          57.000          50.000
+  -4487390.29343  -3485484.98442  23746015.243    23746019.306    23746013.469
+     -2948.368       -2297.430          45.000          40.000
+ -22530835.16144 -17545587.33042  20838713.870    20838717.830    20838712.881
+       -45.494         -35.450          57.000          50.000
+  -8590300.98043  -6631867.80742  23662511.112    23662517.208    23662509.478
+     -1916.420       -1493.314          47.000          41.000
+ 04  2  1  1 10  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12659011.94843  -9447142.34542  22643270.220    22643275.752    22643268.896
+      2179.112        1698.009          50.000          44.000
+  -4277551.65943  -3083220.75242  24682504.447    24682512.756    24682503.486
+     -2634.124       -2052.564          42.000          36.000
+ -11227910.94343  -8561614.78442  23188937.967    23188941.896    23188936.760
+      1839.334        1433.247          50.000          43.000
+   6871234.90643   5367177.83542  25125399.345    25125406.665    25125399.043
+     -1980.418       -1543.183          43.000          37.000
+ -12928338.84743 -10022968.10242  23042401.836    23042406.838    23042399.859
+     -2226.154       -1734.665          48.000          42.000
+   -774491.67743   -547095.88642  24768356.029    24768362.309    24768352.736
+     -3255.236       -2536.547          44.000          36.000
+ -22941379.46544 -17826137.51942  20744856.591    20744859.413    20744855.845
+      1401.861        1092.359          57.000          50.000
+  -4398938.47943  -3416561.59042  23762846.012    23762850.833    23762844.896
+     -2947.494       -2296.748          44.000          40.000
+ -22529149.58243 -17544273.89142  20839034.963    20839038.755    20839033.863
+       -65.683         -51.181          56.000          50.000
+  -8532752.68943  -6587025.06242  23673462.213    23673468.306    23673461.780
+     -1919.105       -1495.406          48.000          41.000
+ 04  2  1  1 10 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12724209.87243  -9497945.88342  22630863.116    22630868.475    22630862.873
+      2167.997        1689.348          50.000          44.000
+  -4198599.82043  -3021700.06742  24697529.603    24697537.768    24697530.033
+     -2627.840       -2047.667          44.000          36.000
+ -11283084.60543  -8604607.22342  23178438.856    23178441.121    23178438.267
+      1839.627        1433.476          50.000          43.000
+   6930698.30543   5413512.82342  25136716.238    25136720.222    25136713.038
+     -1983.158       -1545.318          43.000          37.000
+ -12861481.19843  -9970871.32842  23055124.871    23055131.106    23055122.668
+     -2230.596       -1738.127          49.000          42.000
+   -676746.54843   -470931.11042  24786953.099    24786965.722    24786953.825
+     -3260.440       -2540.602          40.000          35.000
+ -22983175.06044 -17858705.51642  20736903.508    20736906.332    20736902.419
+      1385.064        1079.271          57.000          50.000
+  -4310518.58543  -3347663.06142  23779672.497    23779677.636    23779671.478
+     -2946.956       -2296.329          45.000          40.000
+ -22526858.82543 -17542488.88742  20839470.254    20839474.821    20839469.263
+       -86.403         -67.327          56.000          50.000
+  -8475115.76943  -6542113.29642  23684429.625    23684436.822    23684428.860
+     -1922.773       -1498.265          47.000          40.000
+ 04  2  1  1 11  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12789099.44743  -9548509.16742  22618515.560    22618519.958    22618514.318
+      2158.140        1681.668          51.000          44.000
+  -4119846.76043  -2960334.29142  24712519.039    24712525.211    24712515.773
+     -2621.627       -2042.826          44.000          36.000
+ -11338297.50543  -8647630.23942  23167930.394    23167935.562    23167930.491
+      1841.124        1434.642          49.000          42.000
+   6990229.99443   5459901.03342  25148042.864    25148049.472    25148040.146
+     -1985.218       -1546.923          43.000          36.000
+ -12794515.31543  -9918690.21042  23067867.891    23067873.282    23067866.300
+     -2233.682       -1740.531          49.000          42.000
+   -578852.23143   -394650.14342  24805584.809    24805592.296    24805582.321
+     -3265.078       -2544.217          40.000          35.000
+ -23024485.70644 -17890895.63042  20729042.254    20729045.067    20729041.312
+      1369.137        1066.860          57.000          50.000
+  -4222136.33443  -3278793.87942  23796489.382    23796495.230    23796490.212
+     -2945.111       -2294.892          43.000          39.000
+ -22523966.80644 -17540235.37642  20840021.054    20840024.641    20840019.977
+      -106.214         -82.764          57.000          50.000
+  -8417394.33143  -6497135.61842  23695414.259    23695420.746    23695412.641
+     -1925.350       -1500.273          46.000          40.000
+ 04  2  1  1 11 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12853675.95343  -9598828.49342  22606227.060    22606231.580    22606225.917
+      2147.394        1673.294          51.000          44.000
+  -4041290.42143  -2899121.85042  24727462.875    24727472.296    24727463.346
+     -2615.128       -2037.762          41.000          35.000
+ -11393545.01043  -8690680.22542  23157418.670    23157421.880    23157416.964
+      1842.259        1435.526          50.000          43.000
+   7049834.60443   5506346.16042  25159388.362    25159391.800    25159384.907
+     -1988.149       -1549.207          44.000          36.000
+ -12727439.73243  -9866423.63842  23080632.319    23080637.091    23080631.607
+     -2237.576       -1743.566          49.000          42.000
+   -480806.28443   -318250.98742  24824239.404    24824251.573    24824239.879
+     -3270.350       -2548.325          41.000          35.000
+ -23065305.11744 -17922702.96942  20721274.796    20721277.235    20721273.560
+      1352.541        1053.928          57.000          50.000
+  -4133788.89243  -3209951.80642  23813303.614    23813307.315    23813302.348
+     -2944.390       -2294.330          45.000          39.000
+ -22520468.69344 -17537509.57642  20840687.056    20840690.400    20840685.921
+      -126.628         -98.671          57.000          50.000
+  -8359583.35543  -6452088.15542  23706415.046    23706419.786    23706413.695
+     -1928.576       -1502.786          47.000          40.000
+ 04  2  1  1 12  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12917944.63043  -9648907.96542  22593996.852    22594001.846    22593995.641
+      2137.483        1665.571          51.000          44.000
+  -3962937.92543  -2838068.27142  24742374.632    24742384.076    24742372.658
+     -2608.738       -2032.783          42.000          36.000
+ -11448832.57443  -8733761.42642  23146897.120    23146901.269    23146895.568
+      1843.892        1436.799          49.000          43.000
+   7109507.58243   5552844.50342  25170741.183    25170745.968    25170741.904
+     -1989.932       -1550.596          44.000          36.000
+ -12660263.11643  -9814078.33042  23093414.514    23093420.611    23093414.196
+     -2240.672       -1745.978          49.000          42.000
+   -382616.32443   -241739.64942  24842927.332    24842934.261    24842924.568
+     -3274.405       -2551.484          39.000          35.000
+ -23105637.09444 -17954130.49542  20713599.826    20713602.261    20713598.900
+      1336.644        1041.541          57.000          50.000
+  -4045483.29243  -3141142.32942  23830106.538    23830111.329    23830106.054
+     -2942.489       -2292.848          45.000          39.000
+ -22516370.06944 -17534315.85642  20841466.768    20841470.617    20841465.828
+      -146.277        -113.982          57.000          50.000
+  -8301687.64943  -6406974.71742  23717431.606    23717440.110    23717430.131
+     -1930.883       -1504.584          45.000          40.000
+ 04  2  1  1 12 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -12981901.71043  -9698744.61642  22581826.515    22581832.297    22581824.525
+      2126.688        1657.159          51.000          44.000
+  -3884788.07443  -2777172.54142  24757246.263    24757252.409    24757246.032
+     -2601.125       -2026.851          43.000          35.000
+ -11504156.64343  -8776871.07042  23136370.043    23136372.588    23136368.243
+      1844.642        1437.383          51.000          43.000
+   7169252.63243   5599398.98642  25182111.777    25182117.537    25182113.700
+     -1992.444       -1552.554          42.000          36.000
+ -12592984.81243  -9761653.77942  23106217.370    23106224.239    23106217.313
+     -2244.387       -1748.873          48.000          42.000
+   -284280.70043   -165114.80542  24861638.644    24861648.314    24861639.522
+     -3280.446       -2556.192          39.000          34.000
+ -23145476.73844 -17985174.37942  20706018.879    20706020.915    20706017.581
+      1319.837        1028.444          57.000          50.000
+  -3957217.68143  -3072364.01342  23846903.640    23846908.500    23846901.189
+     -2941.667       -2292.208          44.000          39.000
+ -22511667.50944 -17530651.53242  20842361.105    20842365.070    20842360.452
+      -166.751        -129.936          57.000          50.000
+  -8243703.49443  -6361792.31642  23728466.007    23728472.712    23728465.154
+     -1934.116       -1507.103          46.000          40.000
+ 04  2  1  1 13  0.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -13045546.61043  -9748338.00442  22569714.748    22569720.248    22569713.031
+      2116.179        1648.971          51.000          44.000
+  -3806842.21843  -2716435.76142  24772079.421    24772086.570    24772079.091
+     -2595.156       -2022.199          41.000          35.000
+ -11559516.53343  -8820008.62342  23125835.316    23125838.730    23125833.538
+      1845.588        1438.121          50.000          43.000
+   7229070.82743   5646010.53742  25193494.434    25193498.354    25193491.911
+     -1995.128       -1554.645          41.000          35.000
+ -12525607.40843  -9709152.01442  23119038.549    23119044.650    23119037.691
+     -2247.678       -1751.437          47.000          41.000
+   -185800.93443    -88377.69842  24880378.479    24880388.127    24880377.464
+     -3284.793       -2559.579          37.000          33.000
+ -23184821.87244 -18015832.93242  20698531.706    20698534.130    20698530.622
+      1303.181        1015.466          57.000          50.000
+  -3868992.98743  -3003617.59542  23863692.185    23863699.096    23863692.238
+     -2940.512       -2291.308          46.000          39.000
+ -22506360.28744 -17526516.04842  20843371.921    20843375.373    20843370.654
+      -186.986        -145.703          57.000          50.000
+  -8185629.68743  -6316540.06242  23739517.316    23739523.631    23739516.772
+     -1937.397       -1509.660          47.000          40.000
+ 04  2  1  1 13 30.0000000  0 10G 1G 3G20G22G31G15G11G14G25G23
+ -13108880.69343  -9797689.20142  22557662.922    22557668.883    22557661.101
+      2106.040        1641.070          51.000          44.000
+  -3729104.23943  -2655860.96242  24786872.219    24786881.278    24786871.251
+     -2587.852       -2016.508          41.000          35.000
+ -11614913.58643  -8863175.14542  23115292.045    23115296.242    23115291.900
+      1847.002        1439.222          48.000          42.000
+   7288961.30743   5692678.32442  25204888.524    25204897.003    25204886.707
+     -1997.693       -1556.644          36.000          34.000
+ -12458135.37843  -9656576.49942  23131879.908    23131885.030    23131878.822
+     -2250.256       -1753.446          48.000          42.000
+                  -3694330.74652  24899145.979    24899156.521
+     -3289.196       -2563.010          36.000          32.000
+ -23223672.13744 -18046105.87642  20691138.787    20691141.240    20691137.561
+      1286.726        1002.644          57.000          50.000
+  -3780812.51243  -2934905.58542  23880474.165    23880477.460    23880471.954
+     -2938.461       -2289.710          46.000          39.000
+ -22500450.17343 -17521910.77442  20844496.144    20844500.230    20844495.183
+      -206.978        -161.281          56.000          50.000
+  -8127467.29543  -6271218.81342  23750585.874    23750591.272    23750584.527
+     -1939.955       -1511.653          47.000          40.000
+ 04  2  1  1 14  0.0000000  0  8G 1G 3G20G31G11G14G25G23
+ -13171904.52543  -9846798.62942  22545669.574    22545674.802    22545668.541
+      2095.232        1632.648          50.000          44.000
+  -3651576.83343  -2595450.27042  24801628.117    24801635.045    24801626.918
+     -2580.757       -2010.979          43.000          36.000
+ -11670348.48143  -8906371.14742  23104744.575    23104747.853    23104742.207
+      1848.229        1440.178          50.000          43.000
+ -12390572.56443  -9603930.25042  23144736.410    23144741.049    23144735.393
+     -2253.751       -1756.170          49.000          42.000
+ -23262026.95944 -18075992.75842  20683839.852    20683842.672    20683838.786
+      1269.985         989.599          57.000          51.000
+  -3692678.33443  -2866229.69742  23897244.286    23897248.417    23897242.199
+     -2937.057       -2288.616          45.000          39.000
+ -22493938.32043 -17516836.61842  20845735.386    20845739.117    20845734.595
+      -227.377        -177.177          56.000          50.000
+  -8069216.73143  -6225828.86142  23761669.653    23761676.411    23761669.114
+     -1943.604       -1514.497          47.000          40.000
+ 04  2  1  1 14 30.0000000  0  8G 1G 3G20G31G11G14G25G23
+ -13234614.16343  -9895663.24442  22533736.146    22533742.043    22533734.881
+      2085.285        1624.897          50.000          44.000
+  -3574257.96943  -2535202.08542  24816339.053    24816349.063    24816339.790
+     -2573.458       -2005.292          43.000          36.000
+ -11725817.15943  -8949593.50342  23094188.424    23094191.954    23094186.862
+      1849.619        1441.262          49.000          43.000
+ -12322918.07543  -9551212.55142  23157609.506    23157616.726    23157608.175
+     -2256.578       -1758.372          48.000          42.000
+ -23299880.96744 -18105489.39642  20676636.144    20676639.179    20676635.265
+      1253.478         976.736          57.000          50.000
+  -3604588.24943  -2797588.16742  23914008.350    23914011.790    23914006.309
+     -2935.406       -2287.329          45.000          39.000
+ -22486820.29743 -17511290.12242  20847089.835    20847093.819    20847088.850
+      -247.332        -192.726          56.000          50.000
+  -8010873.66843  -6180366.77642  23772772.621    23772778.645    23772770.520
+     -1946.243       -1516.553          46.000          40.000
+ 04  2  1  1 15  0.0000000  0  8G 1G 3G20G31G11G14G25G23
+ -13297012.40543  -9944285.21342  22521862.438    22521868.090    22521860.428
+      2074.069        1616.158          51.000          44.000
+  -3497152.69843  -2475120.32742  24831011.995    24831022.062    24831009.909
+     -2567.084       -2000.325          42.000          35.000
+ -11781322.47743  -8992844.37442  23083625.647    23083630.065    23083625.269
+      1850.146        1441.672          49.000          43.000
+ -12255177.82543  -9498428.04942  23170499.713    23170506.670    23170498.272
+     -2260.111       -1761.125          47.000          42.000
+ -23337235.60644 -18134596.91742  20669527.843    20669530.655    20669527.033
+      1236.230         963.296          57.000          50.000
+  -3516546.78043  -2728984.53942  23930760.229    23930765.655    23930758.519
+     -2934.652       -2286.742          46.000          39.000
+ -22479099.40544 -17505273.85342  20848559.525    20848562.874    20848558.272
+      -267.988        -208.822          57.000          50.000
+  -7952440.57743  -6134834.54742  23783892.133    23783898.485    23783890.005
+     -1950.090       -1519.551          46.000          39.000
+ 04  2  1  1 15 30.0000000  0  8G 1G 3G20G31G11G14G25G23
+ -13359099.32743  -9992664.59442  22510047.703    22510052.854    22510046.928
+      2064.510        1608.709          51.000          44.000
+  -3420263.22443  -2415206.71742  24845645.147    24845654.185    24845643.533
+     -2559.058       -1994.071          42.000          35.000
+ -11836864.51543  -9036123.87442  23073057.543    23073061.166    23073054.726
+      1852.052        1443.157          50.000          43.000
+ -12187355.11843  -9445579.28842  23183405.991    23183413.456    23183405.517
+     -2262.024       -1762.616          47.000          41.000
+ -23374089.23744 -18163314.03942  20662515.367    20662517.748    20662514.279
+      1220.172         950.783          57.000          50.000
+  -3428555.58143  -2660420.05042  23947503.558    23947508.167    23947502.425
+     -2932.240       -2284.862          44.000          39.000
+ -22470776.20044 -17498788.25042  20850143.256    20850146.932    20850142.336
+      -287.375        -223.928          57.000          50.000
+  -7893917.08843  -6089231.91442  23795029.134    23795036.566    23795028.129
+     -1952.275       -1521.253          46.000          39.000
+ 04  2  1  1 16  0.0000000  0  8G 1G 3G20G31G11G14G25G23
+ -13420872.05843 -10040799.14642  22498292.736    22498298.264    22498292.274
+      2053.935        1600.469          51.000          44.000
+  -3343588.75243  -2355460.65442  24860235.979    24860243.512    24860237.077
+     -2552.097       -1988.647          41.000          34.000
+ -11892440.25143  -9079429.62242  23062481.148    23062484.356    23062480.054
+      1853.158        1444.019          50.000          43.000
+ -12119450.07043  -9392666.39242  23196329.718    23196335.369    23196327.859
+     -2264.625       -1764.643          47.000          41.000
+ -23410437.97344 -18191637.73542  20655597.634    20655600.433    20655596.965
+      1203.382         937.700          57.000          50.000
+  -3340613.52943  -2591893.86442  23964239.531    23964244.930    23964238.867
+     -2930.313       -2283.361          45.000          39.000
+ -22461847.84444 -17491831.10142  20851842.065    20851845.969    20851841.035
+      -307.503        -239.613          57.000          50.000
+  -7835300.10043  -6043556.43942  23806184.611    23806190.619    23806183.334
+     -1955.271       -1523.588          48.000          40.000
+ 04  2  1  1 16 30.0000000  0  8G 1G 3G20G31G11G14G25G23
+ -13482333.42843 -10088691.06342  22486596.841    22486601.699    22486595.518
+      2043.783        1592.558          51.000          44.000
+  -3267134.15743  -2295885.93342  24874785.911    24874791.792    24874783.561
+     -2544.447       -1982.686          41.000          33.000
+ -11948052.37943  -9122763.74142  23051899.151    23051902.041    23051898.126
+      1854.587        1445.133          50.000          43.000
+ -12051468.73543  -9339694.02742  23209265.596    23209271.125    23209263.016
+     -2267.119       -1766.586          47.000          41.000
+ -23446283.35044 -18219569.20342  20648777.278    20648779.545    20648776.183
+      1186.774         924.759          57.000          51.000
+  -3252725.08943  -2523409.45642  23980965.036    23980968.809    23980962.896
+     -2928.389       -2281.861          47.000          39.000
+ -22452317.49143 -17484404.86542  20853655.645    20853659.725    20853654.759
+      -327.338        -255.068          56.000          50.000
+  -7776592.07743  -5997810.00342  23817356.249    23817361.480    23817353.536
+     -1958.005       -1525.718          47.000          39.000
+ 04  2  1  1 17  0.0000000  0  8G 1G 3G20G31G11G14G25G23
+ -13543482.20143 -10136339.41242  22474960.917    22474965.952    22474958.850
+      2032.817        1584.013          51.000          45.000
+  -3190900.38443  -2236483.25742  24889293.668    24889298.845    24889288.967
+     -2537.313       -1977.127          38.000          33.000
+ -12003699.51643  -9166125.13242  23041309.743    23041313.268    23041307.811
+      1854.931        1445.401          50.000          43.000
+ -11983412.76943  -9286663.51042  23222215.822    23222222.281    23222214.054
+     -2270.207       -1768.992          47.000          41.000
+ -23481622.50744 -18247106.21042  20642052.328    20642054.870    20642051.271
+      1169.008         910.915          57.000          51.000
+  -3164890.57743  -2454967.04042  23997679.254    23997682.788    23997677.086
+     -2927.325       -2281.032          46.000          39.000
+ -22442184.21544 -17476508.81542  20855584.180    20855587.741    20855583.166
+      -348.210        -271.332          57.000          50.000
+  -7717791.33743  -5951991.33742  23828545.014    23828551.727    23828543.854
+     -1962.498       -1529.219          46.000          40.000
+ 04  2  1  1 17 30.0000000  0  8G 1G 3G20G31G11G14G25G23
+ -13604317.27743 -10183743.31842  22463384.012    22463388.808    22463382.564
+      2022.476        1575.955          51.000          45.000
+  -7841148.28153  -5860053.31552  24903755.679    24903766.599    24903758.778
+     -2530.313       -1971.672          38.000          32.000
+ -12059380.55543  -9209512.93142  23030713.747    23030716.701    23030712.031
+      1856.660        1446.748          50.000          43.000
+ -11915284.15043  -9233576.37342  23235181.348    23235186.465    23235179.889
+     -2272.246       -1770.581          48.000          41.000
+ -23516452.70044 -18274246.62342  20635424.376    20635426.844    20635423.371
+      1152.369         897.950          57.000          51.000
+  -3077110.17243  -2386566.83142  24014382.867    24014386.478    24014380.868
+     -2925.397       -2279.530          47.000          39.000
+ -22431447.23243 -17468142.34442  20857627.375    20857631.086    20857626.298
+      -368.029        -286.776          56.000          50.000
+  -7658896.26943  -5906099.18242  23839751.762    23839759.998    23839750.894
+     -1964.681       -1530.920          46.000          40.000
+ 04  2  1  1 18  0.0000000  0  8G 1G 3G20G31G11G14G25G23
+ -13664838.76843 -10230902.88342  22451867.171    22451871.988    22451866.448
+      2013.151        1568.689          51.000          45.000
+  -7765360.04353  -5800997.84052  24918180.283    24918190.521    24918176.139
+     -2521.352       -1964.690          38.000          33.000
+ -12115095.24843  -9252926.95942  23020111.190    23020115.259    23020110.723
+      1858.605        1448.264          50.000          44.000
+ -11847085.96443  -9180435.03142  23248159.423    23248163.694    23248157.208
+     -2273.515       -1771.570          48.000          41.000
+ -23550773.17744 -18300989.85542  20628893.222    20628895.944    20628892.255
+      1136.367         885.481          57.000          51.000
+  -2989385.69243  -2318210.21342  24031076.945    24031081.691    24031076.912
+     -2922.456       -2277.238          47.000          39.000
+ -22420107.00343 -17459305.81442  20859785.212    20859788.887    20859784.237
+      -387.269        -301.768          56.000          50.000
+  -7599906.75543  -5860133.38042  23850978.921    23850985.238    23850976.690
+     -1966.945       -1532.684          47.000          40.000
+ 04  2  1  1 18 30.0000000  0  9G 1G 3G20G22G31G11G14G25G23
+ -13725045.13943 -10277816.87842  22440410.475    22440415.148    22440409.571
+      2001.726        1559.786          51.000          45.000
+                  -5742116.96442  24932559.587    24932568.592
+     -2514.795       -1959.580          38.000          33.000
+ -12170841.89043  -9296365.89342  23009503.189    23009508.306    23009502.664
+      1858.862        1448.464          50.000          44.000
+                                  25319648.196
+     -2023.018       -1576.378          43.000
+ -11778819.60143  -9127240.57042  23261149.171    23261155.710    23261147.938
+     -2276.622       -1773.991          47.000          41.000
+ -23584580.63044 -18327333.33142  20622459.729    20622462.721    20622458.863
+      1118.493         871.553          57.000          51.000
+  -2901716.97643  -2249896.96942  24047759.454    24047762.347    24047756.095
+     -2921.512       -2276.503          47.000          39.000
+ -22408162.16043 -17449998.14742  20862057.865    20862062.363    20862056.929
+      -408.095        -317.996          56.000          50.000
+  -7540820.59443  -5814092.33042  23862222.684    23862228.717    23862219.793
+     -1970.667       -1535.585          48.000          39.000
+ 04  2  1  1 19  0.0000000  0  7G 1G20G31G11G14G25G23
+ -13784943.11443 -10324490.58042  22429011.980    22429017.475    22429010.631
+      1990.941        1551.383          52.000          45.000
+ -12226627.16843  -9339834.92042  22998887.459    22998891.630    22998886.128
+      1859.598        1449.037          50.000          44.000
+ -11710494.95643  -9074000.69942  23274150.172    23274157.005    23274149.564
+     -2279.243       -1776.033          46.000          41.000
+ -23617880.67344 -18353281.41842  20616123.295    20616125.882    20616122.047
+      1100.898         857.843          57.000          51.000
+  -2814112.28443  -2181633.67042  24064430.322    24064435.854    24064429.998
+     -2920.055       -2275.367          47.000          39.000
+ -22395619.95743 -17440225.00942  20864444.662    20864448.458    20864443.818
+      -428.693        -334.046          56.000          50.000
+  -7481644.30443  -5767980.98042  23873482.072    23873488.827    23873481.176
+     -1974.792       -1538.799          48.000          39.000
+ 04  2  1  1 19 30.0000000  0  7G 1G20G31G11G14G25G23
+ -13844522.99243 -10370916.42542  22417674.247    22417679.700    22417672.739
+      1981.085        1543.703          51.000          45.000
+ -12282441.15443  -9383326.30242  22988267.147    22988270.655    22988265.425
+      1861.309        1450.371          51.000          44.000
+ -11642105.26943  -9020710.15142  23287165.984    23287172.360    23287163.510
+     -2280.135       -1776.728          46.000          41.000
+ -23650662.06544 -18378825.36342  20609885.167    20609887.982    20609884.146
+      1084.531         845.089          57.000          51.000
+  -2726563.32043  -2113413.78642  24081091.427    24081095.602    24081090.607
+     -2916.731       -2272.777          48.000          40.000
+ -22382470.99543 -17429979.07042  20866946.799    20866951.015    20866945.968
+      -447.954        -349.055          56.000          50.000
+  -7422367.61943  -5721791.42542  23884762.564    23884769.399    23884760.673
+     -1977.071       -1540.575          47.000          40.000
+ 04  2  1  1 20  0.0000000  0  8G 1G20G22G31G11G14G25G23
+ -13903790.59543 -10417098.93042  22406395.572    22406402.195    22406393.604
+      1970.227        1535.242          51.000          45.000
+ -12338289.27143  -9426844.30842  22977638.757    22977641.642    22977638.633
+      1862.038        1450.939          51.000          44.000
+  -1356596.58553  -1083965.08452  25354358.947    25354364.720    25354358.690
+     -2031.024       -1582.616          41.000          34.000
+ -11573659.43643  -8967375.85342  23300190.462    23300197.282    23300188.912
+     -2282.396       -1778.490          46.000          41.000
+ -23682929.35144 -18403968.71342  20603744.806    20603747.600    20603743.642
+      1066.857         831.317          57.000          51.000
+  -2639077.37343  -2045243.00042  24097736.787    24097742.608    24097737.278
+     -2914.811       -2271.281          46.000          40.000
+ -22368721.55343 -17419265.22742  20869563.175    20869567.816    20869562.389
+      -468.456        -365.031          56.000          50.000
+  -7362996.01243  -5675527.92942  23896061.704    23896066.993    23896059.757
+     -1980.895       -1543.554          48.000          39.000
+ 04  2  1  1 20 30.0000000  0  8G 1G20G22G31G11G14G25G23
+ -13962744.94443 -10463037.33442  22395177.885    22395182.644    22395176.202
+      1960.133        1527.376          51.000          45.000
+ -12394170.32543  -9470387.96642  22967005.569    22967009.165    22967005.026
+      1863.434        1452.026          51.000          44.000
+  -1295628.83643  -1036457.85242  25365961.523    25365966.040    25365958.174
+     -2032.945       -1584.113          41.000          36.000
+ -11505159.36543  -8913999.30042  23313224.733    23313233.081    23313224.661
+     -2283.796       -1779.581          46.000          41.000
+ -23714680.29944 -18428709.71342  20597702.815    20597705.559    20597701.715
+      1049.908         818.110          57.000          51.000
+  -2551654.98043  -1977121.74142  24114374.470    24114380.482    24114373.899
+     -2912.874       -2269.772          47.000          39.000
+ -22354370.94943 -17408082.93642  20872294.352    20872298.474    20872293.447
+      -488.100        -380.338          56.000          50.000
+  -7303528.12343  -5629189.42442  23907377.612    23907383.471    23907375.444
+     -1983.524       -1545.603          49.000          40.000
+ 04  2  1  1 21  0.0000000  0  8G 1G20G22G31G11G14G25G23
+ -14021386.38043 -10508731.92242  22384017.937    22384023.070    22384017.405
+      1949.564        1519.141          51.000          45.000
+ -12450084.23743  -9513957.23342  22956365.840    22956368.963    22956364.923
+      1864.321        1452.718          51.000          44.000
+  -1234581.02553   -988888.29452  25377575.181    25377579.371    25377577.583
+     -2036.329       -1586.750          38.000          34.000
+ -11436608.19743  -8860582.92942  23326270.408    23326276.317    23326269.421
+     -2285.829       -1781.165          47.000          40.000
+ -23745913.61244 -18453047.35942  20591759.564    20591761.514    20591758.534
+      1032.520         804.561          57.000          51.000
+  -2464297.71043  -1909051.24242  24130997.975    24131001.510    24130996.693
+     -2910.385       -2267.832          46.000          39.000
+ -22339419.73743 -17396432.65342  20875139.027    20875143.576    20875138.406
+      -508.272        -396.056          56.000          50.000
+  -7243963.55543  -5582775.57642  23918711.056    23918718.679    23918710.682
+     -1986.935       -1548.261          46.000          40.000
+ 04  2  1  1 21 30.0000000  0  8G 1G20G22G31G11G14G25G23
+ -14079710.50343 -10554179.24242  22372920.344    22372924.426    22372918.557
+      1939.745        1511.490          52.000          45.000
+ -12506026.30743  -9557548.44942  22945720.441    22945723.100    22945719.786
+      1866.007        1454.031          51.000          43.000
+  -1173447.83343   -941252.05242  25389209.676    25389214.539    25389209.904
+     -2038.797       -1588.673          40.000          34.000
+ -11368004.28843  -8807125.45842  23339326.278    23339330.360    23339324.399
+     -2287.061       -1782.125          47.000          40.000
+ -23776623.55544 -18476977.18842  20585915.298    20585917.774    20585914.591
+      1015.761         791.502          57.000          50.000
+  -2377002.29143  -1841028.92742  24147609.260    24147614.587    24147609.640
+     -2907.949       -2265.934          47.000          39.000
+ -22323864.05843 -17384311.35542  20878099.415    20878103.585    20878098.315
+      -527.719        -411.210          56.000          50.000
+  -7184297.44943  -5536282.55242  23930066.283    23930072.512    23930065.129
+     -1989.340       -1550.135          47.000          40.000
+ 04  2  1  1 22  0.0000000  0  8G 1G20G22G31G11G14G25G23
+ -14137722.85243 -10599383.63242  22361880.673    22361886.852    22361878.504
+      1929.030        1503.140          52.000          45.000
+ -12562001.82643  -9601165.71342  22935067.845    22935072.224    22935066.370
+      1866.870        1454.704          51.000          44.000
+                   -893553.48042  25400860.395    25400861.272
+     -2041.113       -1590.478          38.000          33.000
+ -11299356.29543  -8753633.63542  23352388.345    23352394.026    23352388.640
+     -2288.639       -1783.355          47.000          40.000
+ -23806814.57844 -18500502.66342  20580170.065    20580173.010    20580169.020
+       998.217         777.831          57.000          51.000
+  -2289775.80543  -1773060.31342  24164208.943    24164212.571    24164206.926
+     -2905.999       -2264.415          46.000          39.000
+ -22307710.23143 -17371723.96642  20881173.527    20881177.290    20881172.674
+      -548.007        -427.018          56.000          50.000
+  -7124534.79343  -5489714.33842  23941438.952    23941444.420    23941435.004
+     -1993.763       -1553.581          47.000          40.000
+ 04  2  1  1 22 30.0000000  0  7G 1G20G31G11G14G25G23
+ -14195420.55243 -10644342.86642  22350899.966    22350906.344    22350899.518
+      1918.262        1494.750          52.000          45.000
+ -12618007.44643  -9644806.43742  22924410.623    22924413.876    22924408.225
+      1867.675        1455.331          51.000          44.000
+ -11230664.03843  -8700107.32442  23365458.939    23365466.718    23365458.167
+     -2290.209       -1784.578          45.000          40.000
+ -23836482.63544 -18523620.62942  20574524.425    20574527.077    20574523.493
+       980.396         763.945          57.000          51.000
+  -2202616.54043  -1705144.07842  24180794.638    24180797.792    24180794.633
+     -2903.906       -2262.784          47.000          39.000
+ -22290955.58843 -17358668.41542  20884361.841    20884365.876    20884360.986
+      -568.235        -442.780          56.000          50.000
+  -7064672.27443  -5443068.34642  23952829.628    23952836.219    23952826.592
+     -1996.560       -1555.761          45.000          39.000
+ 04  2  1  1 23  0.0000000  0  7G 1G20G31G11G14G25G23
+ -14252804.90943 -10689057.90842  22339980.336    22339985.582    22339979.628
+      1907.903        1486.678          51.000          45.000
+ -12674044.10643  -9688471.33942  22913748.003    22913750.311    22913745.403
+      1868.539        1456.004          51.000          44.000
+ -11161931.81943  -8646549.86242  23378538.490    23378546.416    23378537.516
+     -2291.814       -1785.829          46.000          40.000
+ -23865627.33844 -18546330.79342  20568978.559    20568981.476    20568977.456
+       962.939         750.342          57.000          51.000
+  -2115527.28043  -1637282.39842  24197367.221    24197372.275    24197365.117
+     -2901.708       -2261.071          47.000          39.000
+ -22273602.13043 -17345146.24842  20887663.701    20887668.293    20887663.260
+      -588.297        -458.413          56.000          50.000
+  -7004710.78443  -5396345.18742  23964239.274    23964246.745    23964238.808
+     -1999.743       -1558.241          45.000          38.000
+ 04  2  1  1 23 30.0000000  0  7G 1G20G31G11G14G25G23
+ -14309874.65743 -10733527.80642  22329119.723    22329125.604    22329119.209
+      1897.127        1478.281          51.000          45.000
+ -12730110.14943  -9732159.14542  22903078.089    22903081.856    22903077.223
+      1869.293        1456.592          51.000          44.000
+ -11093161.26743  -8592962.54742  23391627.718    23391633.579    23391625.710
+     -2293.137       -1786.860          47.000          40.000
+ -23894246.40344 -18568631.36742  20563532.285    20563535.239    20563531.329
+       945.177         736.502          57.000          51.000
+  -2028507.95443  -1569475.21942  24213925.772    24213931.994    24213926.364
+     -2899.481       -2259.336          46.000          38.000
+ -22255649.04243 -17331156.83942  20891080.576    20891084.363    20891079.396
+      -608.464        -474.128          56.000          50.000
+  -6944648.43943  -5349543.45342  23975670.348    23975678.154    23975669.095
+     -2003.995       -1561.554          46.000          39.000
+ 04  2  1  1 24  0.0000000  0  7G 1G20G31G11G14G25G23
+ -14366632.15443 -10777754.39542  22318319.835    22318324.401    22318318.686
+      1886.986        1470.379          52.000          45.000
+ -12786207.41243  -9775871.29242  22892402.854    22892407.056    22892401.433
+      1870.543        1457.566          51.000          44.000
+ -11024357.54143  -8539349.36142  23404719.515    23404726.703    23404718.062
+     -2293.879       -1787.438          47.000          40.000
+ -23922340.73744 -18590523.06142  20558186.529    20558189.168    20558185.379
+       927.904         723.042          57.000          51.000
+  -1941561.90843  -1501725.13242  24230471.573    24230477.079    24230469.565
+     -2896.381       -2256.920          46.000          39.000
+ -22237098.93843 -17316702.22542  20894610.328    20894614.272    20894609.609
+      -627.987        -489.340          56.000          50.000
+  -6884487.19743  -5302664.64142  23987119.214    23987124.884    23987117.070
+     -2006.576       -1563.566          46.000          39.000
+ 04  2  1  1 24 30.0000000  0  7G 1G20G31G11G14G25G23
+ -14423076.65543 -10821737.09642  22307579.436    22307583.829    22307578.306
+      1876.387        1462.120          52.000          45.000
+ -12842334.71343  -9819606.82042  22881722.901    22881726.844    22881720.619
+      1871.547        1458.348          50.000          44.000
+ -10955522.50643  -8485711.79542  23417819.387    23417823.345    23417816.845
+     -2294.872       -1788.212          47.000          40.000
+ -23949908.06944 -18612004.10542  20552940.256    20552943.162    20552939.575
+       910.275         709.305          57.000          51.000
+  -1854689.80743  -1434032.66942  24247002.774    24247007.144    24247000.721
+     -2894.548       -2255.492          45.000          39.000
+ -22217951.40443 -17301782.07742  20898254.144    20898257.863    20898253.153
+      -648.115        -505.025          56.000          50.000
+  -6824225.51043  -5255707.56442  23998585.628    23998592.084    23998584.838
+     -2010.396       -1566.542          44.000          39.000
+ 04  2  1  1 25  0.0000000  0  7G 1G20G31G11G14G25G23
+ -14479206.89143 -10865474.90442  22296897.712    22296902.468    22296896.854
+      1865.011        1453.255          52.000          45.000
+ -12898490.29543  -9863364.39642  22871036.243    22871041.553    22871035.072
+      1871.654        1458.432          50.000          44.000
+ -10886657.65943  -8432051.00442  23430923.430    23430930.012    23430921.583
+     -2296.840       -1789.745          47.000          40.000
+ -23976946.11544 -18633072.71942  20547795.257    20547797.792    20547794.295
+       891.711         694.840          57.000          51.000
+  -1767891.64343  -1366397.83442  24263522.145    24263525.073    24263520.127
+     -2892.756       -2254.095          46.000          39.000
+ -22198206.22143 -17286396.23942  20902011.688    20902015.006    20902010.601
+      -668.886        -521.210          56.000          50.000
+  -6763861.59143  -5208670.88042  24010073.741    24010078.845    24010071.320
+     -2014.909       -1570.059          45.000          38.000
+ 04  2  1  1 25 30.0000000  0  7G 1G20G31G11G14G25G23
+ -14535021.69943 -10908966.92942  22286276.535    22286281.922    22286275.132
+      1855.233        1445.636          52.000          45.000
+ -12954672.71143  -9907142.89042  22860345.135    22860348.933    22860343.842
+      1873.143        1459.592          50.000          44.000
+ -10817764.97543  -8378368.51842  23444034.022    23444041.127    23444031.483
+     -2296.765       -1789.687          47.000          40.000
+ -24003452.57244 -18653727.11042  20542751.337    20542753.863    20542750.162
+       874.717         681.598          57.000          51.000
+  -1681167.53543  -1298820.70642  24280024.475    24280027.135    24280022.411
+     -2889.480       -2251.543          45.000          39.000
+ -22177862.58043 -17270544.06342  20905883.124    20905886.364    20905882.033
+      -688.095        -536.178          56.000          50.000
+  -6703393.91543  -5161553.30842  24021578.910    24021584.877    24021577.217
+     -2017.370       -1571.977          44.000          38.000
+ 04  2  1  1 26  0.0000000  0  7G 1G20G31G11G14G25G23
+ -14590523.59643 -10952215.12542  22275714.687    22275720.254    22275713.104
+      1844.975        1437.643          51.000          45.000
+ -13010883.93243  -9950943.83542  22849648.485    22849652.137    22849646.865
+      1874.149        1460.376          50.000          44.000
+ -10748849.69243  -8324668.42442  23457145.924    23457155.540    23457145.259
+     -2297.625       -1790.357          46.000          40.000
+ -24029428.86244 -18673968.37842  20537808.434    20537810.812    20537807.341
+       857.093         667.865          57.000          51.000
+  -1594521.06743  -1231304.04042  24296511.470    24296514.150    24296509.368
+     -2886.751       -2249.416          45.000          38.000
+ -22156923.83143 -17254228.16342  20909867.038    20909871.255    20909866.020
+      -707.722        -551.472          56.000          50.000
+  -6642824.38543  -5114356.38442  24033104.118    24033112.657    24033102.944
+     -2020.528       -1574.437          44.000          38.000
+ 04  2  1  1 26 30.0000000  0  7G 1G20G31G11G14G25G23
+ -14645710.07343 -10995217.52742  22265212.686    22265218.256    22265211.452
+      1835.064        1429.920          52.000          45.000
+ -13067120.59543  -9994764.59142  22838947.632    22838951.221    22838946.073
+      1875.747        1461.621          51.000          44.000
+ -10679911.61743  -8270950.56642  23470265.904    23470272.610    23470265.088
+     -2297.863       -1790.542          46.000          40.000
+ -24054870.75844 -18693793.24242  20532966.754    20532969.505    20532965.574
+       839.899         654.467          57.000          51.000
+  -1507950.58643  -1163846.61442  24312986.728    24312989.902    24312984.496
+     -2883.376       -2246.786          45.000          38.000
+ -22135387.77043 -17237446.82642  20913965.242    20913969.249    20913964.496
+      -727.063        -566.542          56.000          50.000
+  -6582149.80943  -5067077.57042  24044651.816    24044658.043    24044649.291
+     -2023.479       -1576.737          45.000          39.000
+ 04  2  1  1 27  0.0000000  0  7G 1G20G31G11G14G25G23
+ -14700585.80643 -11037977.80542  22254770.766    22254775.521    22254769.341
+      1823.442        1420.864          52.000          46.000
+ -13123387.04243 -10038608.57342  22828239.660    22828243.439    22828239.001
+      1875.696        1461.581          51.000          44.000
+ -10610958.36243  -8217220.89742  23483387.989    23483394.822    23483386.088
+     -2299.106       -1791.511          46.000          40.000
+ -24079781.86944 -18713204.51142  20528226.467    20528228.702    20528225.294
+       820.977         639.722          57.000          51.000
+  -1421461.77743  -1096452.85242  24329443.962    24329449.632    24329442.298
+     -2882.057       -2245.759          44.000          39.000
+ -22113259.50543 -17220204.03142  20918176.421    20918180.605    20918175.523
+      -747.954        -582.821          56.000          50.000
+  -6521374.20943  -5019720.04442  24056216.619    24056223.794    24056215.815
+     -2028.067       -1580.312          45.000          38.000
+ 04  2  1  1 27 30.0000000  0  7G 1G20G31G11G14G25G23
+ -14755145.29843 -11080491.66242  22244387.294    22244393.083    22244386.289
+      1813.584        1413.182          51.000          45.000
+ -13179677.08443 -10082470.91842  22817527.688    22817531.769    22817526.066
+      1877.039        1462.628          51.000          44.000
+ -10541987.09543  -8163477.17942  23496511.978    23496519.628    23496510.068
+     -2298.976       -1791.410          47.000          40.000
+ -24104155.53744 -18732196.99742  20523588.093    20523590.817    20523587.127
+       803.766         626.311          57.000          51.000
+  -1335050.36143  -1029119.36942  24345887.355    24345892.570    24345884.883
+     -2879.171       -2243.510          43.000          38.000
+ -22090534.32543 -17202496.10742  20922500.518    20922504.767    20922499.759
+      -767.171        -597.795          56.000          50.000
+  -6460491.54543  -4972279.11542  24067802.266    24067809.874    24067799.485
+     -2031.109       -1582.682          45.000          38.000
+ 04  2  1  1 28  0.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -14809393.42443 -11122762.89842  22234065.797    22234069.814    22234063.639
+      1803.462        1405.295          52.000          46.000
+ -13235994.96743 -10126354.97142  22806811.246    22806814.721    22806809.440
+      1878.118        1463.469          51.000          44.000
+  -1640676.09753  -1249048.69752  25664261.164    25664271.637    25664259.844
+      2066.398        1610.180          42.000          35.000
+ -10473005.33343  -8109725.31842  23509638.720    23509644.402    23509637.505
+     -2299.039       -1791.459          47.000          40.000
+ -24127995.29544 -18750773.44742  20519051.565    20519054.144    20519050.569
+       786.100         612.545          57.000          51.000
+  -1248722.43743   -961850.95442  24362316.124    24362320.707    24362314.409
+     -2875.747       -2240.842          46.000          39.000
+ -22067217.58743 -17184327.23342  20926937.788    20926941.644    20926936.600
+      -786.736        -613.041          56.000          50.000
+  -6399506.05043  -4924758.07442  24079407.363    24079414.942    24079405.893
+     -2034.069       -1584.989          44.000          38.000
+ 04  2  1  1 28 30.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -14863327.49943 -11164789.41942  22223801.798    22223806.697    22223800.710
+      1792.785        1396.975          52.000          46.000
+ -13292337.53043 -10170258.24842  22796089.459    22796092.777    22796088.041
+      1878.708        1463.928          51.000          44.000
+  -1702799.32843  -1297456.42142  25652438.173    25652448.525    25652437.426
+      2075.976        1617.644          42.000          36.000
+ -10404013.14043  -8055965.30042  23522768.831    23522775.445    23522767.870
+     -2299.850       -1792.091          47.000          40.000
+ -24151297.32044 -18768930.88142  20514617.421    20514620.314    20514616.407
+       768.006         598.446          57.000          51.000
+  -1162476.20043   -894646.18342  24378726.124    24378731.472    24378725.460
+     -2873.226       -2238.877          43.000          38.000
+ -22043307.64843 -17165696.12442  20931488.304    20931491.880    20931486.954
+      -806.621        -628.536          56.000          50.000
+  -6338414.51743  -4877154.38042  24091032.133    24091040.930    24091032.024
+     -2037.888       -1587.965          45.000          39.000
+ 04  2  1  1 29  0.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -14916949.52143 -11206572.78942  22213597.935    22213602.718    22213596.797
+      1782.442        1388.916          52.000          46.000
+ -13348705.97243 -10214181.69742  22785363.844    22785367.880    22785362.128
+      1879.813        1464.789          52.000          44.000
+  -1765222.51843  -1346097.87742  25640558.122    25640571.282    25640556.245
+      2086.084        1625.520          41.000          35.000
+ -10335015.11243  -8002200.74342  23535898.667    23535904.877    23535897.911
+     -2299.746       -1792.010          47.000          39.000
+ -24174062.19644 -18786669.76242  20510285.626    20510288.175    20510284.441
+       750.120         584.509          57.000          51.000
+  -1076314.70443   -827507.45142  24395122.183    24395128.799    24395121.331
+     -2870.617       -2236.844          43.000          38.000
+ -22018807.01443 -17146604.72942  20936150.189    20936153.917    20936149.017
+      -826.279        -643.854          56.000          50.000
+  -6277218.14343  -4829468.98442  24102678.737    24102686.348    24102677.213
+     -2041.359       -1590.669          45.000          39.000
+ 04  2  1  1 29 30.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -14970257.45643 -11248111.41142  22203453.543    22203459.302    22203452.773
+      1771.793        1380.618          52.000          46.000
+ -13405097.70143 -10258123.28642  22774632.565    22774635.215    22774630.530
+      1880.202        1465.092          52.000          44.000
+  -1827941.90643  -1394970.16742  25628625.930    25628634.938    25628622.757
+      2095.614        1632.946          41.000          36.000
+ -10266011.92943  -7948432.15042  23549029.361    23549036.266    23549028.753
+     -2300.121       -1792.302          47.000          40.000
+ -24196286.94044 -18803987.76242  20506056.372    20506058.925    20506055.379
+       731.874         570.291          57.000          51.000
+   -990236.92643   -760433.91442  24411502.576    24411509.590    24411501.827
+     -2867.504       -2234.419          42.000          37.000
+ -21993714.27843 -17127051.95442  20940924.823    20940928.763    20940924.079
+      -846.213        -659.387          56.000          50.000
+  -6215914.38843  -4781699.89642  24114344.418    24114352.792    24114340.791
+     -2045.316       -1593.753          43.000          38.000
+ 04  2  1  1 30  0.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15023252.55643 -11289406.26542  22193368.611    22193373.854    22193367.815
+      1761.283        1372.428          51.000          46.000
+ -13461513.13643 -10302083.34642  22763895.986    22763900.452    22763895.212
+      1880.777        1465.541          51.000          44.000
+  -1890957.07443  -1444072.92642  25616632.154    25616645.268    25616632.100
+      2105.421        1640.588          43.000          36.000
+ -10197007.43843  -7894662.56942  23562159.734    23562167.911    23562158.881
+     -2300.075       -1792.266          47.000          40.000
+ -24217971.74744 -18820885.02942  20501929.933    20501932.458    20501928.783
+       713.700         556.130          57.000          51.000
+   -904244.95843   -693427.28042  24427868.557    24427871.373    24427867.733
+     -2864.926       -2232.410          43.000          38.000
+ -21968031.50143 -17107039.41042  20945812.238    20945816.338    20945811.435
+      -865.989        -674.797          56.000          50.000
+  -6154503.75043  -4733847.58142  24126030.064    24126036.981    24126028.291
+     -2049.084       -1596.689          43.000          38.000
+ 04  2  1  1 30 30.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15075935.93243 -11330458.21742  22183343.038    22183348.570    22183342.302
+      1751.386        1364.716          52.000          46.000
+ -13517952.69943 -10346062.22442  22753156.429    22753159.929    22753155.204
+      1882.073        1466.550          51.000          44.000
+  -1954267.33443  -1493405.67042  25604585.086    25604598.322    25604583.790
+      2115.289        1648.277          39.000          36.000
+ -10128005.22043  -7840894.73342  23575291.128    23575298.325    23575288.626
+     -2299.713       -1791.984          46.000          40.000
+ -24239116.44644 -18837361.43242  20497905.898    20497908.693    20497904.975
+       696.165         542.466          57.000          51.000
+   -818340.75143   -626489.03542  24444214.731    24444219.089    24444213.701
+     -2861.852       -2230.014          43.000          38.000
+ -21941760.41443 -17086568.44342  20950811.546    20950815.589    20950810.799
+      -885.145        -689.723          56.000          50.000
+  -6092986.89743  -4685912.48642  24137734.517    24137744.200    24137734.360
+     -2052.179       -1599.100          43.000          38.000
+ 04  2  1  1 31  0.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15128302.61143 -11371263.39942  22173378.687    22173384.335    22173377.396
+      1740.628        1356.334          52.000          46.000
+ -13574410.33543 -10390055.16642  22742412.405    22742416.608    22742411.143
+      1882.512        1466.892          51.000          45.000
+  -2017865.69443  -1542962.87642  25592481.846    25592495.811    25592481.320
+      2124.076        1655.124          40.000          35.000
+ -10059002.83743  -7787126.76942  23588422.275    23588428.781    23588421.900
+     -2299.900       -1792.130          48.000          41.000
+ -24259714.83144 -18853412.13542  20493986.357    20493988.925    20493985.014
+       677.728         528.100          57.000          51.000
+   -732520.34743   -559616.08942  24460544.320    24460551.251    24460543.761
+     -2859.517       -2228.195          42.000          37.000
+ -21914896.49843 -17065635.53042  20955923.525    20955927.491    20955922.510
+      -905.055        -705.238          56.000          50.000
+  -6031357.87843  -4637889.97342  24149465.723    24149470.960    24149463.861
+     -2055.705       -1601.848          44.000          37.000
+ 04  2  1  1 31 30.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15180365.20343 -11411831.63142  22163471.586    22163476.307    22163470.215
+      1729.745        1347.853          52.000          46.000
+ -13630898.28443 -10434071.73442  22731664.235    22731667.799    22731661.871
+      1882.758        1467.084          52.000          45.000
+  -2081762.88143  -1592752.96042  25580326.463    25580337.020    25580325.288
+      2134.372        1663.147          43.000          35.000
+  -9990015.43043  -7733370.50642  23601550.767    23601557.502    23601549.282
+     -2299.890       -1792.122          48.000          41.000
+ -24279778.21043 -18869045.94542  20490168.128    20490171.106    20490167.442
+       659.171         513.640          56.000          51.000
+   -646797.02043   -492818.80442  24476859.793    24476862.180    24476857.537
+     -2856.350       -2225.727          44.000          38.000
+ -21887452.96643 -17044250.96642  20961146.150    20961149.654    20961145.194
+      -925.035        -720.806          56.000          50.000
+  -5969628.63043  -4589789.39142  24161211.613    24161218.511    24161212.038
+     -2059.790       -1605.031          44.000          38.000
+ 04  2  1  1 32  0.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15232111.54043 -11452153.43942  22153623.819    22153628.933    22153623.024
+      1719.402        1339.794          52.000          46.000
+ -13687403.42743 -10478101.70842  22720911.374    22720913.934    22720908.881
+      1883.477        1467.644          52.000          45.000
+  -2145944.79143  -1642764.86142  25568112.094    25568121.432    25568109.659
+      2144.409        1670.968          41.000          35.000
+  -9921033.36343  -7679618.39842  23614677.773    23614684.891    23614676.354
+     -2299.336       -1791.690          48.000          41.000
+ -24299293.32643 -18884252.53942  20486454.689    20486457.377    20486453.401
+       641.126         499.579          56.000          51.000
+   -561159.50543   -426088.34442  24493154.327    24493158.542    24493153.686
+     -2853.536       -2223.534          43.000          38.000
+ -21859418.68243 -17022406.08442  20966480.771    20966484.841    20966479.505
+      -944.527        -735.995          56.000          49.000
+  -5907786.28543  -4541600.67542  24172979.943    24172986.469    24172978.051
+     -2063.501       -1607.923          44.000          39.000
+ 04  2  1  1 32 30.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15283544.76843 -11492231.25142  22143836.643    22143842.876    22143835.429
+      1709.123        1331.784          52.000          46.000
+ -13743928.04043 -10522146.84842  22710155.019    22710158.087    22710154.095
+      1884.418        1468.378          52.000          45.000
+  -2210412.60643  -1692999.60842  25555845.560    25555851.860    25555844.710
+      2153.982        1678.428          41.000          34.000
+  -9852062.22943  -7625874.82342  23627801.361    23627808.169    23627800.631
+     -2298.984       -1791.416          47.000          40.000
+ -24318262.13443 -18899033.44242  20482844.869    20482848.071    20482844.086
+       623.095         485.529          56.000          51.000
+   -475611.88643   -359427.95542  24509433.367    24509439.221    24509432.652
+     -2850.240       -2220.966          43.000          38.000
+ -21830797.57543 -17000103.93742  20971927.368    20971930.607    20971926.234
+      -963.845        -751.048          56.000          49.000
+  -5845833.33743  -4493325.77142  24184768.723    24184776.474    24184767.736
+     -2067.016       -1610.662          45.000          39.000
+ 04  2  1  1 33  0.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15334666.21443 -11532066.13242  22134108.762    22134113.680    22134108.213
+      1698.978        1323.879          52.000          46.000
+ -13800472.56743 -10566207.50242  22699394.683    22699397.766    22699392.291
+      1885.335        1469.092          52.000          45.000
+  -2275165.74043  -1743456.61842  25543519.381    25543533.685    25543520.120
+      2163.532        1685.869          41.000          35.000
+  -9783105.86143  -7572142.76142  23640923.734    23640930.459    23640922.256
+     -2298.140       -1790.758          46.000          40.000
+ -24336684.74944 -18913388.73942  20479339.283    20479342.340    20479338.383
+       605.205         471.588          57.000          51.000
+   -390156.13943   -292839.16842  24525694.788    24525699.422    24525693.900
+     -2846.868       -2218.339          42.000          38.000
+ -21801591.42743 -16977345.91942  20977485.258    20977488.878    20977483.969
+      -983.117        -766.065          56.000          50.000
+  -5783770.33443  -4444965.08542  24196579.238    24196586.542    24196579.390
+     -2070.361       -1613.268          47.000          39.000
+ 04  2  1  1 33 30.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15385477.06443 -11571658.98242  22124439.115    22124444.097    22124438.425
+      1688.259        1315.526          52.000          46.000
+ -13857037.48043 -10610284.04942  22688630.468    22688634.527    22688629.023
+      1885.602        1469.300          51.000          45.000
+  -2340203.82443  -1794135.70442  25531144.209    25531154.763    25531142.189
+      2172.158        1692.591          42.000          36.000
+  -9714168.14343  -7518425.21642  23654043.007    23654049.062    23654040.618
+     -2298.011       -1790.658          46.000          40.000
+ -24354561.56444 -18927318.73742  20475937.569    20475940.566    20475936.695
+       586.574         457.071          57.000          51.000
+   -304794.38543   -226323.58242  24541936.547    24541944.088    24541936.732
+     -2844.479       -2216.477          43.000          37.000
+ -21771802.83843 -16954134.05542  20983153.660    20983157.323    20983152.507
+     -1002.958        -781.526          56.000          49.000
+  -5721598.01143  -4396519.22942  24208411.675    24208417.572    24208410.201
+     -2074.163       -1616.231          46.000          39.000
+ 04  2  1  1 34  0.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15435977.15043 -11611009.68042  22114830.528    22114835.288    22114829.664
+      1677.756        1307.342          53.000          46.000
+ -13913621.88043 -10654375.76842  22677863.150    22677867.001    22677862.296
+      1886.084        1469.676          52.000          45.000
+  -2405524.66443  -1845035.09842  25518715.060    25518725.028    25518713.570
+      2181.637        1699.977          42.000          36.000
+  -9645251.21843  -7464723.90942  23667158.217    23667163.969    23667156.451
+     -2297.375       -1790.162          45.000          40.000
+ -24371891.10244 -18940822.28742  20472640.171    20472642.663    20472638.949
+       568.118         442.689          57.000          51.000
+   -219527.42143   -159881.88742  24558164.536    24558170.565    24558163.740
+     -2840.823       -2213.628          43.000          38.000
+ -21741432.02943 -16930468.50942  20988932.571    20988936.675    20988931.726
+     -1022.460        -796.722          56.000          49.000
+  -5659315.32543  -4347987.39142  24220262.491    24220268.820    24220260.212
+     -2078.311       -1619.463          45.000          39.000
+ 04  2  1  1 34 30.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15486166.86643 -11650118.51942  22105278.978    22105284.135    22105277.396
+      1668.103        1299.821          52.000          46.000
+ -13970225.01143 -10698482.09642  22667092.490    22667095.252    22667090.699
+      1887.467        1470.754          52.000          45.000
+  -2471126.54343  -1896153.45042  25506231.060    25506241.418    25506230.108
+      2191.654        1707.782          41.000          35.000
+  -9576357.95243  -7411041.03642  23680267.361    23680274.602    23680265.758
+     -2295.865       -1788.986          45.000          39.000
+ -24388673.07444 -18953899.15842  20469446.075    20469449.011    20469445.219
+       550.603         429.041          57.000          51.000
+   -134356.51443    -93515.06442  24574372.860    24574377.703    24574370.599
+     -2837.083       -2210.714          43.000          38.000
+ -21710480.04143 -16906350.09142  20994823.083    20994826.624    20994822.006
+     -1041.028        -811.191          56.000          50.000
+  -5596922.02843  -4299369.31142  24232134.221    24232142.887    24232133.604
+     -2081.372       -1621.848          45.000          39.000
+ 04  2  1  1 35  0.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15536045.62443 -11688985.05742  22095787.883    22095792.514    22095786.219
+      1657.264        1291.374          52.000          46.000
+ -14026845.16943 -10742601.68242  22656317.302    22656320.816    22656316.579
+      1887.451        1470.741          52.000          45.000
+  -2537006.69543  -1947488.65942  25493693.094    25493704.627    25493693.916
+      2200.833        1714.935          41.000          35.000
+  -9507489.92743  -7357377.84542  23693371.977    23693379.816    23693370.778
+     -2295.276       -1788.527          45.000          39.000
+ -24404905.36144 -18966547.70842  20466358.030    20466360.207    20466356.731
+       531.817         414.403          57.000          51.000
+    -49281.07343    -27222.58642  24590563.136    24590566.781    24590561.510
+     -2834.405       -2208.627          44.000          38.000
+ -21678947.16543 -16881779.04142  21000823.335    21000827.169    21000822.269
+     -1060.854        -826.639          56.000          49.000
+  -5534416.44643  -4250663.78142  24244029.639    24244037.350    24244028.956
+     -2085.183       -1624.818          46.000          38.000
+ 04  2  1  1 35 30.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15585614.83443 -11727610.39842  22086355.152    22086359.671    22086354.265
+      1647.361        1283.658          53.000          46.000
+ -14083482.88643 -10786734.96142  22645540.026    22645543.781    22645538.356
+      1888.589        1471.628          52.000          45.000
+  -2603164.96543  -1999040.57442  25481105.681    25481116.140    25481105.329
+      2210.175        1722.214          42.000          35.000
+  -9438651.05943  -7303737.35942  23706472.040    23706480.784    23706471.635
+     -2293.928       -1787.476          46.000          39.000
+ -24420588.08643 -18978768.02342  20463372.985    20463375.801    20463371.982
+       513.839         400.394          56.000          51.000
+     35696.70943     38993.80742  24606732.462    24606740.191    24606731.563
+     -2830.737       -2205.769          43.000          38.000
+ -21646835.54143 -16856757.02342  21006934.235    21006937.798    21006933.430
+     -1079.764        -841.374          56.000          49.000
+  -5471799.44943  -4201871.39942  24255946.278    24255952.767    24255944.672
+     -2088.700       -1627.558          44.000          38.000
+ 04  2  1  1 36  0.0000000  0  8G 1G20G 2G31G11G14G25G23
+ -15634872.19843 -11765992.72342  22076981.904    22076986.967    22076980.646
+      1636.948        1275.544          53.000          46.000
+ -14140135.08443 -10830879.53342  22634758.538    22634762.580    22634757.449
+      1888.636        1471.664          52.000          45.000
+  -2669596.84743  -2050805.67542  25468463.034    25468475.469    25468460.956
+      2219.184        1729.234          41.000          35.000
+  -9369841.45843  -7250119.66242  23719565.677    23719572.713    23719564.805
+     -2293.140       -1786.862          46.000          39.000
+ -24435718.33643 -18990557.84442  20460494.074    20460496.568    20460492.857
+       495.182         385.856          56.000          51.000
+    120578.14643    105135.10042  24622885.439    24622891.730    24622884.680
+     -2827.669       -2203.378          46.000          38.000
+ -21614143.91943 -16831283.04942  21013154.839    21013158.587    21013154.124
+     -1099.232        -856.544          56.000          49.000
+  -5409067.86243  -4152989.77742  24267881.901    24267890.317    24267882.095
+     -2092.891       -1630.824          44.000          38.000
+ 04  2  1  1 36 30.0000000  0  9G 1G20G 2G31G11G14G25G16G23
+ -15683821.78243 -11804135.23342  22067666.721    22067671.745    22067665.235
+      1626.883        1267.701          53.000          46.000
+ -14196804.92743 -10875037.83542  22623974.934    22623979.085    22623973.617
+      1889.681        1472.479          52.000          45.000
+  -2736304.13543  -2102785.36842  25455768.411    25455777.731    25455767.678
+      2228.933        1736.831          41.000          35.000
+  -9301067.72643  -7196529.93542  23732653.560    23732661.394    23732653.053
+     -2291.761       -1785.788          47.000          39.000
+ -24450299.01043 -19001919.42542  20457719.250    20457722.137    20457718.166
+       477.208         371.850          56.000          51.000
+    205358.53643    171197.63742  24639019.596    24639025.488    24639018.260
+     -2823.881       -2200.427          44.000          38.000
+ -21580877.12343 -16805360.89242  21019485.425    21019489.548    21019484.459
+     -1118.108        -871.253          56.000          49.000
+  -1515585.49853  -1149522.07252  24956175.263    24956183.990    24956171.136
+      1894.163        1475.971          41.000          34.000
+  -5346225.21043  -4104021.59442  24279841.627    24279850.061    24279840.258
+     -2096.597       -1633.712          43.000          37.000
+ 04  2  1  1 37  0.0000000  0  9G 1G20G 2G31G11G14G25G16G23
+ -15732460.66543 -11842035.63642  22058410.934    22058416.352    22058409.470
+      1615.794        1259.060          52.000          46.000
+ -14253488.28143 -10919206.67642  22613188.807    22613191.958    22613187.681
+      1889.334        1472.208          52.000          45.000
+  -2803281.76143  -2154975.69742  25443023.929    25443035.844    25443021.860
+      2236.882        1743.025          42.000          36.000
+  -9232328.97143  -7142967.44642  23745734.880    23745740.257    23745732.991
+     -2291.282       -1785.414          48.000          39.000
+ -24464326.11343 -19012849.64742  20455050.026    20455053.095    20455048.764
+       458.070         356.938          56.000          51.000
+    290040.28243    237183.29742  24655132.821    24655139.334    24655132.590
+     -2821.299       -2198.415          44.000          37.000
+ -21547033.37743 -16778989.16342  21025925.332    21025929.372    21025924.329
+     -1137.993        -886.748          56.000          49.000
+  -1572472.72843  -1193849.74442  24945349.737    24945355.395    24945347.035
+      1897.841        1478.837          39.000          33.000
+  -5283267.66943  -4054963.93042  24291822.754    24291829.142    24291821.027
+     -2100.639       -1636.861          45.000          38.000
+ 04  2  1  1 37 30.0000000  0  9G 1G20G 2G31G11G14G25G16G23
+ -15780784.57343 -11879690.60342  22049214.903    22049220.566    22049214.460
+      1606.419        1251.755          53.000          46.000
+ -14310179.72343 -10963381.80942  22602400.656    22602403.995    22602398.704
+      1890.538        1473.146          52.000          45.000
+  -2870523.28343  -2207371.65042  25430229.475    25430242.166    25430228.951
+      2246.315        1750.375          44.000          37.000
+  -9163623.36743  -7089430.77442  23758808.523    23758814.976    23758808.690
+     -2288.952       -1783.599          47.000          39.000
+ -24477794.34044 -19023344.38442  20452487.232    20452490.072    20452486.044
+       440.333         343.117          57.000          51.000
+    374627.08643    303095.00542  24671230.250    24671235.240    24671228.259
+     -2817.101       -2195.144          44.000          37.000
+ -21512609.16143 -16752165.12142  21032476.430    21032480.427    21032475.283
+     -1156.403        -901.093          56.000          49.000
+  -1629485.72543  -1238275.46542  24934498.572    24934505.768    24934498.820
+      1902.789        1482.693          41.000          33.000
+  -5220190.17843  -4005812.74442  24303825.051    24303833.729    24303824.658
+     -2103.844       -1639.359          45.000          38.000
+ 04  2  1  1 38  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -15828805.58843 -11917109.55442  22040077.774    22040081.626    22040076.277
+      1595.640        1243.356          53.000          46.000
+ -14366890.48643 -11007572.00542  22591609.429    22591612.489    22591608.106
+      1890.717        1473.286          52.000          45.000
+  -2938038.91443  -2259981.20842  25417380.406    25417393.155    25417379.194
+      2255.243        1757.332          43.000          37.000
+  -9094965.26643  -7035931.14642  23771873.730    23771882.345    23771873.063
+     -2287.751       -1782.663          46.000          39.000
+  -1581802.88853  -1191689.02952  25037522.450    25037533.483    25037525.692
+      2380.705        1855.095          39.000          33.000
+ -24490714.83544 -19033412.31542  20450028.907    20450031.562    20450027.726
+       421.561         328.489          57.000          51.000
+    459106.11143    368922.72842  24687304.879    24687312.251    24687305.247
+     -2814.279       -2192.945          44.000          38.000
+ -21477617.67343 -16724899.04742  21039134.762    21039138.765    21039134.088
+     -1175.839        -916.238          55.000          49.000
+  -1686634.06243  -1282806.54942  24923624.742    24923634.723    24923622.836
+      1907.101        1486.053          43.000          34.000
+  -5157003.95943  -3956576.84142  24315849.322    24315857.282    24315848.223
+     -2108.109       -1642.682          45.000          38.000
+ 04  2  1  1 38 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -15876518.41043 -11954288.35642  22030997.038    22031002.358    22030995.523
+      1585.291        1235.292          52.000          46.000
+ -14423613.93043 -11051772.07242  22580814.872    22580818.690    22580813.729
+      1890.949        1473.467          52.000          45.000
+  -3005821.17243  -2312798.53042  25404481.406    25404492.851    25404480.248
+      2263.988        1764.146          43.000          37.000
+  -9026351.55443  -6982466.09042  23784932.432    23784939.026    23784929.627
+     -2286.398       -1781.609          47.000          39.000
+  -1653126.55953  -1247265.88252  25023948.409    25023959.324    25023947.485
+      2374.356        1850.148          38.000          32.000
+ -24503081.08844 -19043048.36942  20447675.491    20447678.227    20447674.421
+       403.028         314.048          57.000          51.000
+    543482.36743    434670.35342  24703362.373    24703367.460    24703362.075
+     -2810.916       -2190.324          45.000          38.000
+ -21442054.13443 -16697187.22042  21045902.408    21045906.226    21045901.456
+     -1194.951        -931.131          55.000          49.000
+  -1743909.83843  -1327436.93742  24912725.990    24912735.699    24912724.416
+      1911.175        1489.227          43.000          36.000
+  -5093702.89843  -3907251.42142  24327895.284    24327903.062    24327893.604
+     -2111.847       -1645.595          45.000          39.000
+ 04  2  1  1 39  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -15923922.23243 -11991226.37642  22021976.454    22021981.724    22021975.724
+      1575.062        1227.321          52.000          46.000
+ -14480348.29543 -11095980.65842  22570018.134    22570022.334    22570017.028
+      1891.508        1473.902          52.000          45.000
+  -3073866.82443  -2365821.07942  25391532.093    25391544.307    25391528.722
+      2272.671        1770.912          43.000          37.000
+  -8957783.81443  -6929036.86442  23797979.574    23797985.627    23797978.629
+     -2284.606       -1780.212          47.000          39.000
+  -1724250.98053  -1302687.43752  25010417.554    25010422.825    25010414.678
+      2367.649        1844.921          40.000          33.000
+ -24514891.45344 -19052251.26242  20445427.831    20445430.510    20445426.762
+       384.536         299.638          57.000          51.000
+    627756.17443    500338.16242  24719397.971    24719402.524    24719397.768
+     -2807.350       -2187.545          45.000          37.000
+ -21405918.87343 -16669029.88842  21052778.805    21052783.083    21052778.100
+     -1213.803        -945.820          56.000          49.000
+  -1801308.98543  -1372163.45442  24901802.931    24901811.938    24901801.802
+      1915.660        1492.722          44.000          37.000
+  -5030285.50043  -3857835.41142  24339962.786    24339971.140    24339961.961
+     -2115.675       -1648.578          43.000          39.000
+ 04  2  1  1 39 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -15971020.34943 -12027926.18842  22013014.630    22013018.906    22013013.076
+      1564.893        1219.397          53.000          46.000
+ -14537095.81343 -11140199.49042  22559218.807    22559223.378    22559217.517
+      1891.848        1474.167          51.000          45.000
+  -3142177.21843  -2419049.91442  25378533.929    25378544.211    25378532.075
+      2281.246        1777.594          43.000          37.000
+  -8889267.60543  -6875647.80542  23811016.615    23811025.315    23811015.739
+     -2282.802       -1778.807          45.000          39.000
+  -1795178.86443  -1357955.76542  24996918.672    24996926.808    24996920.563
+      2360.866        1839.636          41.000          34.000
+ -24526148.35444 -19061022.88542  20443285.963    20443288.538    20443284.668
+       365.984         285.182          57.000          51.000
+    711923.47243    565922.99542  24735414.701    24735420.991    24735412.469
+     -2803.785       -2184.767          43.000          37.000
+ -21369215.99443 -16640430.25542  21059763.554    21059767.617    21059762.361
+     -1232.813        -960.633          55.000          49.000
+  -1858832.37643  -1416986.80442  24890858.585    24890865.211    24890855.206
+      1919.580        1495.777          44.000          37.000
+  -4966754.23943  -3808330.64042  24352053.810    24352059.116    24352051.469
+     -2119.975       -1651.928          43.000          38.000
+ 04  2  1  1 40  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16017811.22843 -12064386.59642  22004110.548    22004116.157    22004109.526
+      1554.672        1211.433          53.000          46.000
+ -14593853.59543 -11184426.32242  22548418.996    22548423.843    22548417.727
+      1892.270        1474.496          52.000          45.000
+  -3210748.55343  -2472482.05642  25365485.310    25365495.751    25365483.310
+      2290.277        1784.631          45.000          37.000
+  -8820803.46943  -6822299.32642  23824046.733    23824054.646    23824044.726
+     -2281.055       -1777.445          46.000          39.000
+  -1865907.90743  -1413069.27942  24983460.470    24983468.530    24983459.573
+      2354.479        1834.659          39.000          34.000
+ -24536849.04244 -19069361.09542  20441249.418    20441252.384    20441248.464
+       347.470         270.756          57.000          51.000
+    795985.52843    631425.77242  24751410.313    24751415.681    24751409.363
+     -2799.976       -2181.799          42.000          36.000
+ -21331944.91343 -16611387.87442  21066855.952    21066859.779    21066855.039
+     -1251.704        -975.354          56.000          49.000
+  -1916475.51943  -1461903.42642  24879888.383    24879897.636    24879885.169
+      1923.490        1498.823          44.000          37.000
+  -4903106.62443  -3758735.18742  24364165.982    24364172.535    24364163.638
+     -2123.279       -1654.503          45.000          39.000
+ 04  2  1  1 40 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16064293.46343 -12100606.50742  21995265.280    21995270.262    21995264.446
+      1543.940        1203.070          53.000          46.000
+ -14650619.02843 -11228659.11842  22537616.800    22537620.919    22537615.722
+      1891.952        1474.248          52.000          45.000
+  -3279576.99843  -2526114.52242  25352387.562    25352398.449    25352385.232
+      2297.941        1790.603          44.000          37.000
+  -8752392.24743  -6768992.09242  23837062.953    23837071.337    23837061.770
+     -2279.813       -1776.478          44.000          38.000
+  -1936435.98353  -1468026.11552  24970038.601    24970048.333    24970038.253
+      2346.769        1828.651          40.000          34.000
+ -24546991.26744 -19077264.13942  20439319.636    20439322.047    20439318.467
+       328.391         255.889          57.000          51.000
+    879943.20843    696847.27842  24767388.193    24767394.515    24767388.468
+     -2797.299       -2179.713          43.000          36.000
+ -21294104.86743 -16581902.14742  21074056.430    21074060.859    21074055.514
+     -1271.142        -990.500          56.000          49.000
+  -1974233.88643  -1506909.83942  24868896.262    24868905.647    24868895.002
+      1927.121        1501.653          42.000          36.000
+  -4839340.31943  -3709047.30142  24376298.740    24376306.433    24376298.429
+     -2127.939       -1658.134          45.000          39.000
+ 04  2  1  1 41  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16110469.30043 -12136587.66142  21986478.161    21986483.018    21986477.391
+      1533.236        1194.729          53.000          46.000
+ -14707393.53843 -11272898.97842  22526811.994    22526816.566    22526810.832
+      1891.681        1474.037          51.000          45.000
+  -3348662.67843  -2579947.46142  25339240.170    25339252.866    25339238.465
+      2306.680        1797.413          43.000          37.000
+  -8684038.41243  -6715729.57342  23850071.622    23850079.187    23850070.887
+     -2278.355       -1775.341          43.000          38.000
+  -2006765.18843  -1522828.10342  24956656.268    24956661.931    24956654.731
+      2340.042        1823.409          42.000          35.000
+ -24556576.45744 -19084733.12742  20437495.592    20437498.474    20437494.822
+       309.263         240.984          57.000          51.000
+    963793.76443    762185.26642  24783346.165    24783351.369    24783344.733
+     -2794.134       -2177.247          44.000          36.000
+ -21255699.60643 -16551975.98542  21081364.805    21081369.213    21081363.685
+     -1290.495       -1005.580          56.000          49.000
+  -2032107.01643  -1552005.72742  24857883.590    24857890.841    24857882.110
+      1930.153        1504.015          43.000          36.000
+  -4775457.19143  -3659268.36542  24388455.981    24388463.095    24388454.729
+     -2132.319       -1661.547          46.000          39.000
+ 04  2  1  1 41 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16156343.33443 -12172333.65142  21977748.297    21977753.612    21977747.554
+      1524.999        1188.311          53.000          46.000
+ -14764180.37643 -11317148.45742  22516007.205    22516010.409    22516005.714
+      1894.010        1475.852          52.000          45.000
+  -3418007.94943  -2633982.68142  25326045.827    25326057.185    25326043.381
+      2316.478        1805.048          44.000          38.000
+  -8615748.80143  -6662517.14542  23863066.486    23863077.108    23863066.022
+     -2274.470       -1772.314          43.000          38.000
+  -2076899.16143  -1577477.90542  24943310.822    24943317.720    24943308.767
+      2335.116        1819.571          41.000          35.000
+ -24565608.33644 -19091770.96642  20435776.829    20435779.531    20435775.770
+       292.631         228.024          57.000          51.000
+   1047531.96443    827435.72342  24799280.525    24799285.677    24799279.080
+     -2788.660       -2172.982          45.000          37.000
+ -21216734.64643 -16521613.69942  21088779.514    21088783.658    21088778.815
+     -1307.371       -1018.731          55.000          49.000
+  -2090096.95543  -1597192.57942  24846848.627    24846857.968    24846848.007
+      1935.893        1508.488          42.000          35.000
+  -4711460.83943  -3609401.17642  24400635.564    24400641.361    24400633.292
+     -2134.390       -1663.161          46.000          39.000
+ 04  2  1  1 42  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16201907.66743 -12207838.30242  21969077.847    21969083.642    21969076.839
+      1513.589        1179.420          53.000          46.000
+ -14820970.48343 -11361400.46942  22505199.771    22505203.327    22505199.020
+      1892.816        1474.922          52.000          45.000
+  -3487602.64543  -2688212.24542  25312804.052    25312810.753    25312801.065
+      2324.067        1810.961          46.000          38.000
+  -8547517.69443  -6609350.25442  23876051.645    23876059.552    23876049.036
+     -2273.008       -1771.175          42.000          38.000
+  -2146829.30443  -1631968.82042  24930003.326    24930010.814    24930002.425
+      2327.270        1813.457          42.000          35.000
+ -24574078.21844 -19098370.88942  20434164.922    20434167.894    20434163.832
+       272.770         212.548          57.000          51.000
+   1131165.29143    892604.48042  24815195.436    24815199.228    24815193.888
+     -2786.330       -2171.166          44.000          36.000
+ -21177203.10643 -16490809.92242  21096302.096    21096305.999    21096301.199
+     -1327.227       -1034.203          56.000          49.000
+  -2148192.79843  -1642461.98842  24835791.708    24835801.084    24835791.106
+      1938.112        1510.217          43.000          35.000
+  -4647342.52843  -3559438.99142  24412836.587    24412843.369    24412834.785
+     -2139.373       -1667.044          46.000          39.000
+ 04  2  1  1 42 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16247169.00143 -12243106.86042  21960464.912    21960469.959    21960464.003
+      1503.817        1171.805          53.000          46.000
+ -14877769.31543 -11405659.29642  22494391.607    22494395.083    22494390.152
+      1893.642        1475.565          52.000          45.000
+  -3557451.04343  -2742639.46142  25299510.283    25299521.531    25299509.487
+      2332.782        1817.752          45.000          38.000
+  -8479353.82143  -6556235.80042  23889021.815    23889030.797    23889020.892
+     -2270.712       -1769.386          43.000          38.000
+  -2216561.75943  -1686305.77242  24916736.020    24916742.394    24916734.526
+      2321.305        1808.809          45.000          36.000
+ -24581991.77244 -19104537.30942  20432659.462    20432661.986    20432658.231
+       254.757         198.512          57.000          51.000
+   1214687.00743    957686.18542  24831089.076    24831092.981    24831088.151
+     -2781.869       -2167.690          44.000          36.000
+ -21137112.75743 -16459570.71442  21103931.141    21103935.385    21103930.536
+     -1345.402       -1048.365          56.000          49.000
+  -2206398.26443  -1687816.71942  24824716.216    24824724.559    24824715.489
+      1942.403        1513.561          44.000          36.000
+  -4583107.97943  -3509386.19942  24425058.991    24425067.720    24425057.263
+     -2143.111       -1669.957          46.000          39.000
+ 04  2  1  1 43  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16292122.10843 -12278135.23642  21951909.917    21951915.950    21951909.625
+      1493.527        1163.787          53.000          46.000
+ -14934570.03443 -11449919.58142  22483583.148    22483586.612    22483581.283
+      1893.594        1475.528          52.000          45.000
+  -3627545.22743  -2797258.23042  25286170.701    25286183.103    25286169.139
+      2340.696        1823.919          44.000          38.000
+  -8411253.90043  -6503171.13142  23901980.521    23901991.389    23901980.833
+     -2268.277       -1767.488          42.000          38.000
+  -2286090.88243  -1740484.23842  24903502.306    24903506.112    24903498.721
+      2314.626        1803.605          43.000          34.000
+ -24589342.41944 -19110265.10042  20431260.335    20431263.145    20431259.593
+       235.887         183.808          57.000          51.000
+   1298101.91543   1022684.73642  24846963.341    24846969.353    24846962.313
+     -2778.095       -2164.749          44.000          37.000
+ -21096459.20343 -16427892.63642  21111667.415    21111670.876    21111666.312
+     -1364.249       -1063.051          56.000          49.000
+  -2264705.06243  -1733250.43442  24813620.317    24813630.091    24813620.206
+      1945.267        1515.792          45.000          37.000
+  -4518751.11943  -3459238.08542  24437305.231    24437313.625    24437305.003
+     -2146.861       -1672.879          45.000          39.000
+ 04  2  1  1 43 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16336772.91243 -12312928.06142  21943413.688    21943419.440    21943412.369
+      1483.270        1155.795          53.000          46.000
+ -14991377.31943 -11494184.97842  22472773.071    22472777.220    22472771.672
+      1893.707        1475.616          52.000          45.000
+  -3697889.07843  -2852071.55642  25272786.460    25272796.460    25272785.200
+      2348.791        1830.227          46.000          39.000
+  -8343226.09543  -6450162.66642  23914926.648    23914935.930    23914924.847
+     -2266.654       -1766.224          43.000          38.000
+  -2355421.19143  -1794507.75442  24890309.642    24890317.407    24890308.033
+      2307.624        1798.149          42.000          34.000
+ -24596135.75644 -19115558.62642  20429968.111    20429970.562    20429966.895
+       217.132         169.194          57.000          51.000
+   1381403.93743   1087595.32242  24862814.631    24862820.145    24862813.106
+     -2775.038       -2162.367          44.000          37.000
+ -21055249.40443 -16395781.12942  21119509.447    21119513.360    21119508.349
+     -1383.005       -1077.666          56.000          49.000
+  -2323116.04743  -1778765.34942  24802505.033    24802515.108    24802504.531
+      1948.674        1518.447          44.000          38.000
+  -4454276.88243  -3408998.54242  24449576.117    24449582.930    24449574.751
+     -2151.357       -1676.382          45.000          39.000
+ 04  2  1  1 44  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16381122.63043 -12347486.26342  21934974.954    21934979.178    21934972.886
+      1473.173        1147.927          53.000          46.000
+ -15048191.15643 -11538455.49242  22461961.721    22461964.670    22461959.866
+      1893.838        1475.718          53.000          45.000
+  -3768481.40443  -2907078.43642  25259351.755    25259362.125    25259350.506
+      2356.923        1836.563          45.000          38.000
+  -8275273.65043  -6397212.92642  23927856.699    23927867.272    23927856.153
+     -2263.771       -1763.977          44.000          39.000
+  -2424553.84043  -1848377.29742  24877150.455    24877163.630    24877149.379
+      2300.885        1792.897          40.000          34.000
+ -24602372.18744 -19120418.18842  20428780.615    20428783.936    20428780.122
+       198.422         154.615          57.000          51.000
+   1464591.19243   1152416.48942  24878643.086    24878650.109    24878642.477
+     -2771.259       -2159.422          43.000          36.000
+ -21013485.74243 -16363238.04042  21127457.143    21127460.597    21127455.822
+     -1401.526       -1092.098          56.000          49.000
+  -2381629.88643  -1824360.41242  24791371.369    24791378.813    24791369.970
+      1952.349        1521.311          44.000          38.000
+  -4389685.84443  -3358667.97242  24461865.753    24461873.384    24461864.585
+     -2155.337       -1679.483          44.000          39.000
+ 04  2  1  1 44 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16425167.96143 -12381807.28142  21926592.691    21926598.097    21926591.987
+      1463.769        1140.599          53.000          46.000
+ -15105006.92843 -11582727.51942  22451150.235    22451153.827    22451147.862
+      1894.513        1476.244          53.000          45.000
+  -3839316.24943  -2962274.34642  25245872.282    25245882.334    25245870.462
+      2365.888        1843.549          44.000          37.000
+  -8207395.34543  -6344320.96342  23940774.713    23940783.788    23940774.310
+     -2260.778       -1761.645          45.000          39.000
+  -2493484.84243  -1902089.64542  24864037.248    24864043.818    24864036.733
+      2295.074        1788.369          43.000          35.000
+ -24608047.23244 -19124840.31842  20427700.880    20427703.661    20427700.107
+       180.470         140.626          57.000          51.000
+   1547666.88743   1217150.70442  24894451.665    24894460.116    24894451.549
+     -2766.954       -2156.068          43.000          36.000
+ -20971165.88443 -16330261.54742  21135509.426    21135514.113    21135508.736
+     -1419.199       -1105.869          55.000          49.000
+  -2440239.98743  -1870030.49942  24780216.885    24780227.302    24780215.419
+      1955.748        1523.959          42.000          38.000
+  -4324973.67743  -3308243.04142  24474181.344    24474189.249    24474179.549
+     -2158.916       -1682.272          42.000          38.000
+ 04  2  1  1 45  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16468910.30543 -12415892.20642  21918268.837    21918273.855    21918266.993
+      1453.472        1132.576          53.000          46.000
+ -15161824.55543 -11627000.99242  22440337.771    22440341.046    22440336.394
+      1894.333        1476.104          53.000          45.000
+  -3910392.69743  -3017658.46342  25232346.786    25232357.720    25232346.257
+      2373.736        1849.664          45.000          38.000
+  -8139594.54143  -6291489.39342  23953677.328    23953686.392    23953676.014
+     -2258.424       -1759.811          45.000          39.000
+  -2562214.67243  -1955645.24142  24850957.326    24850966.139    24850955.393
+      2288.035        1782.884          44.000          36.000
+ -24613161.52044 -19128825.48642  20426727.639    20426730.911    20426726.749
+       161.504         125.847          57.000          51.000
+   1630629.08243   1281796.46742  24910240.243    24910245.157    24910239.787
+     -2763.025       -2153.006          44.000          36.000
+ -20928292.23343 -16296853.53342  21143668.500    21143672.614    21143667.596
+     -1437.949       -1120.480          56.000          49.000
+  -2498944.68943  -1915774.35142  24769045.161    24769055.076    24769044.493
+      1959.173        1526.628          40.000          37.000
+  -4260140.85543  -3257724.03942  24486518.234    24486526.480    24486517.360
+     -2162.580       -1685.127          43.000          38.000
+ 04  2  1  1 45 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16512348.65243 -12449740.25642  21910002.044    21910007.535    21910001.126
+      1442.952        1124.378          52.000          46.000
+ -15218641.87443 -11671274.21442  22429526.437    22429529.480    22429524.870
+      1893.914        1475.777          53.000          45.000
+  -3981707.33843  -3073228.19142  25218776.757    25218786.454    25218773.563
+      2381.000        1855.325          45.000          38.000
+  -8071872.32143  -6238719.04042  23966565.747    23966573.755    23966564.366
+     -2256.008       -1757.928          46.000          39.000
+  -2630741.81843  -2009042.86342  24837917.228    24837923.693    24837914.781
+      2280.976        1777.384          44.000          36.000
+ -24617713.33344 -19132372.37042  20425861.931    20425864.562    20425860.801
+       142.417         110.974          57.000          51.000
+   1713478.86343   1346354.63142  24926006.046    24926012.637    24926004.508
+     -2759.816       -2150.506          43.000          35.000
+ -20884865.14343 -16263014.25742  21151932.612    21151936.467    21151931.395
+     -1456.719       -1135.106          56.000          49.000
+  -2557739.88643  -1961588.74242  24757857.077    24757864.048    24757856.349
+      1961.435        1528.391          39.000          36.000
+  -4195185.63243  -3207109.72442  24498879.001    24498886.962    24498877.302
+     -2167.253       -1688.768          44.000          39.000
+ 04  2  1  1 46  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16555489.49043 -12483356.47342  21901793.166    21901798.813    21901791.493
+      1433.129        1116.724          52.000          46.000
+ -15275463.80243 -11715551.02842  22418712.641    22418716.250    22418711.572
+      1894.203        1476.002          53.000          46.000
+  -4053263.98543  -3128986.52242  25205159.488    25205170.709    25205158.868
+      2389.751        1862.144          46.000          38.000
+  -8004237.03443  -6186016.43742  23979435.035    23979443.303    23979433.943
+     -2253.127       -1755.683          45.000          39.000
+  -2699072.19143  -2062287.12142  24824915.776    24824920.093    24824913.392
+      2274.553        1772.379          44.000          35.000
+ -24621708.08244 -19135485.17042  20425101.572    20425104.273    20425100.615
+       123.937          96.574          57.000          51.000
+   1796209.47943   1410819.99642  24941747.645    24941755.072    24941747.506
+     -2755.978       -2147.515          42.000          34.000
+ -20840891.60043 -16228749.18342  21160300.398    21160304.429    21160299.425
+     -1474.810       -1149.202          55.000          49.000
+  -2616629.13243  -2007476.35842  24746649.029    24746660.516    24746648.837
+      1964.167        1530.520          42.000          37.000
+  -4130113.60843  -3156404.35842  24511261.352    24511269.247    24511260.776
+     -2171.193       -1691.839          44.000          38.000
+ 04  2  1  1 46 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16598323.67943 -12516733.74742  21893642.667    21893647.494    21893640.835
+      1422.622        1108.537          53.000          46.000
+ -15332279.90343 -11759823.30342  22407901.164    22407904.626    22407899.794
+      1893.646        1475.568          53.000          46.000
+  -4125051.05743  -3184924.41142  25191499.086    25191510.097    25191497.615
+      2396.930        1867.738          45.000          39.000
+  -7936681.60643  -6133376.04242  23992290.585    23992298.836    23992289.792
+     -2250.472       -1753.614          45.000          39.000
+  -2767196.17743  -2115370.57642  24811951.221    24811956.600    24811949.454
+      2267.185        1766.638          43.000          36.000
+ -24625136.40444 -19138156.60442  20424449.190    20424452.110    20424448.084
+       104.744          81.619          57.000          51.000
+   1878829.84143   1475199.39142  24957472.059    24957474.147    24957471.407
+     -2752.134       -2144.520          43.000          34.000
+ -20796363.79143 -16194052.21342  21168773.475    21168777.656    21168772.518
+     -1493.605       -1163.848          55.000          49.000
+  -2675600.41043  -2053427.84342  24735429.690    24735437.535    24735427.190
+      1967.041        1532.759          43.000          37.000
+  -4064914.50043  -3105600.00242  24523669.761    24523677.926    24523668.349
+     -2175.593       -1695.267          45.000          38.000
+ 04  2  1  1 47  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16640860.52343 -12549879.31642  21885548.278    21885552.705    21885547.120
+      1413.104        1101.120          53.000          46.000
+ -15389097.64043 -11804096.85542  22397089.049    22397092.482    22397087.425
+      1894.082        1475.908          53.000          46.000
+  -4197075.30743  -3241047.07742  25177792.752    25177803.913    25177791.176
+      2404.991        1874.019          45.000          39.000
+  -7869217.04543  -6080806.45542  24005129.162    24005138.168    24005128.086
+     -2247.267       -1751.117          46.000          39.000
+  -2835122.09343  -2168299.66242  24799023.655    24799031.386    24799023.952
+      2260.947        1761.777          42.000          35.000
+ -24628006.51743 -19140393.06842  20423902.894    20423905.839    20423902.186
+        86.578          67.463          56.000          51.000
+   1961330.51043   1539485.48942  24973170.233    24973177.147    24973171.620
+     -2747.541       -2140.941          40.000          34.000
+ -20751292.20743 -16158931.51542  21177350.712    21177354.778    21177349.431
+     -1511.261       -1177.606          56.000          49.000
+  -2734659.50243  -2099447.73542  24724190.981    24724200.552    24724190.671
+      1970.086        1535.132          45.000          37.000
+  -3999596.80843  -3054703.18342  24536099.576    24536106.567    24536097.324
+     -2178.886       -1697.833          44.000          39.000
+ 04  2  1  1 47 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16683096.75343 -12582790.64542  21877510.970    21877515.530    21877509.355
+      1403.103        1093.327          53.000          46.000
+ -15445912.65943 -11848368.29042  22386277.740    22386281.151    22386276.380
+      1893.911        1475.775          53.000          46.000
+  -4269330.99543  -3297350.10542  25164041.739    25164054.012    25164039.605
+      2412.451        1879.832          44.000          38.000
+  -7801842.41643  -6028306.94442  24017950.405    24017959.429    24017946.918
+     -2244.146       -1748.685          46.000          39.000
+  -2902846.18543  -2221071.49642  24786137.506    24786143.081    24786137.524
+      2254.588        1756.822          42.000          35.000
+ -24630314.40943 -19142191.43842  20423463.984    20423466.701    20423462.606
+        67.709          52.760          56.000          51.000
+   2043714.45443   1603680.67742  24988847.600    24988855.556    24988846.509
+     -2744.092       -2138.253          40.000          34.000
+ -20705674.82443 -16123385.52242  21186031.417    21186035.604    21186030.386
+     -1529.393       -1191.735          55.000          49.000
+  -2793800.40143  -2145531.37142  24712936.691    24712944.808    24712936.495
+      1972.896        1537.322          47.000          37.000
+  -3934156.49043  -3003710.84742  24548552.146    24548560.704    24548551.593
+     -2183.500       -1701.428          44.000          39.000
+ 04  2  1  1 48  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16725032.75743 -12615468.01742  21869529.763    21869535.989    21869529.043
+      1392.743        1085.254          53.000          47.000
+ -15502723.76243 -11892636.66042  22375465.992    22375471.377    22375465.215
+      1893.405        1475.381          52.000          46.000
+  -4341815.90943  -3353831.75542  25150250.247    25150259.545    25150249.185
+      2419.998        1885.713          45.000          38.000
+  -7734559.77143  -5975879.11542  24030752.645    24030762.439    24030753.032
+     -2241.653       -1746.742          46.000          39.000
+  -2970368.32443  -2273685.95242  24773285.589    24773290.593    24773287.459
+      2247.168        1751.040          41.000          34.000
+ -24632059.80043 -19143551.49542  20423131.248    20423134.645    20423130.406
+        48.625          37.890          56.000          51.000
+   2125981.21143   1667784.55042  25004500.444    25004509.740    25004500.603
+     -2740.562       -2135.503          41.000          34.000
+ -20659513.12543 -16087415.38142  21194815.403    21194819.971    21194814.427
+     -1547.884       -1206.143          55.000          49.000
+  -2853020.18243  -2191676.49542  24701665.958    24701673.546    24701667.999
+      1975.048        1538.998          45.000          37.000
+  -3868592.95043  -2952622.48842  24561028.317    24561034.600    24561028.403
+     -2187.607       -1704.629          43.000          38.000
+ 04  2  1  1 48 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16766670.77043 -12647913.19542  21861607.057    21861611.497    21861605.661
+      1383.117        1077.754          53.000          47.000
+ -15559531.52643 -11936902.44042  22364656.289    22364660.332    22364654.961
+      1893.568        1475.508          53.000          46.000
+  -4414529.60343  -3410491.64742  25136411.574    25136421.849    25136410.979
+      2427.782        1891.778          44.000          38.000
+  -7667373.22343  -5923526.17842  24043539.695    24043547.976    24043538.407
+     -2237.958       -1743.863          46.000          39.000
+  -3037689.75943  -2326144.00642  24760476.060    24760484.348    24760475.625
+      2240.742        1746.033          43.000          35.000
+ -24633244.02244 -19144474.27842  20422906.492    20422909.122    20422905.561
+        30.146          23.490          57.000          51.000
+   2208128.53043   1731795.42542  25020134.118    25020140.990    25020132.119
+     -2736.058       -2131.993          41.000          35.000
+ -20612810.53443 -16051023.77642  21203702.918    21203706.842    21203701.915
+     -1565.722       -1220.043          55.000          49.000
+  -2912317.78643  -2237882.24042  24690382.915    24690389.375    24690381.826
+      1977.605        1540.991          44.000          36.000
+  -3802907.41843  -2901439.04642  24573526.179    24573536.886    24573526.460
+     -2191.395       -1707.580          42.000          36.000
+ 04  2  1  1 49  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16808008.11043 -12680124.07842  21853740.537    21853745.540    21853739.494
+      1372.830        1069.738          53.000          46.000
+ -15616331.86843 -11981162.43642  22353848.084    22353851.155    22353846.815
+      1893.198        1475.219          53.000          46.000
+  -4487466.97043  -3467325.85342  25122533.592    25122541.820    25122531.252
+      2435.077        1897.463          45.000          38.000
+  -7600281.98843  -5871247.51642  24056308.292    24056315.309    24056304.778
+     -2234.912       -1741.490          48.000          39.000
+  -3104807.42743  -2378443.26242  24747704.933    24747709.599    24747702.271
+      2233.742        1740.578          44.000          35.000
+ -24633863.77744 -19144957.21742  20422788.422    20422791.305    20422787.325
+        11.288           8.796          57.000          51.000
+   2290158.89843   1795715.05942  25035744.755    25035751.944    25035744.096
+     -2732.617       -2129.312          42.000          34.000
+ -20565565.57343 -16014209.54042  21212693.391    21212697.234    21212692.438
+     -1583.891       -1234.201          55.000          49.000
+  -2971687.49443  -2284144.17642  24679085.448    24679092.226    24679082.969
+      1980.292        1543.085          44.000          37.000
+  -3737096.32943  -2850157.75942  24586050.961    24586057.806    24586048.980
+     -2195.536       -1710.807          44.000          38.000
+ 04  2  1  1 49 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16849051.60343 -12712105.98142  21845930.415    21845934.780    21845928.830
+      1362.220        1061.470          53.000          46.000
+ -15673130.15743 -12025420.81842  22343039.946    22343043.223    22343037.763
+      1892.211        1474.450          53.000          46.000
+  -4560632.07143  -3524337.58142  25108609.928    25108620.234    25108609.441
+      2441.273        1902.291          45.000          37.000
+  -7533294.78443  -5819049.91642  24069053.718    24069062.573    24069052.504
+     -2232.118       -1739.313          46.000          39.000
+  -3171727.47243  -2430588.57342  24734968.595    24734978.331    24734968.158
+      2226.382        1734.843          42.000          36.000
+ -24633925.23543 -19145005.12242  20422776.537    20422779.355    20422775.719
+        -8.215          -6.401          56.000          51.000
+   2372065.53743   1859538.27142  25051330.673    25051336.764    25051329.548
+     -2728.970       -2126.470          40.000          34.000
+ -20517786.36643 -15976979.00542  21221785.186    21221789.103    21221784.442
+     -1602.462       -1248.672          55.000          48.000
+  -3031132.98443  -2330465.20742  24667773.585    24667782.785    24667770.971
+      1981.562        1544.074          42.000          37.000
+  -3671165.59443  -2798783.31742  24598597.636    24598605.571    24598596.598
+     -2200.508       -1714.681          44.000          38.000
+ 04  2  1  1 50  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16889796.06043 -12743854.87942  21838176.942    21838181.701    21838175.715
+      1353.533        1054.701          53.000          46.000
+ -15729919.43143 -12069672.19142  22332232.452    22332236.424    22332231.196
+      1893.203        1475.223          53.000          46.000
+  -4634017.13043  -3581520.63242  25094645.451    25094655.233    25094644.198
+      2450.094        1909.164          45.000          38.000
+  -7466408.33043  -5766930.81142  24081782.036    24081790.157    24081781.288
+     -2227.556       -1735.758          46.000          39.000
+  -3238444.15543  -2482575.40142  24722272.395    24722279.406    24722272.440
+      2220.567        1730.312          43.000          36.000
+ -24633422.48044 -19144613.38142  20422872.677    20422875.017    20422871.296
+       -25.807         -20.109          57.000          51.000
+   2453853.29043   1923268.85842  25066895.880    25066904.190    25066894.599
+     -2723.895       -2122.515          43.000          35.000
+ -20469468.65143 -15939328.85842  21230979.850    21230983.763    21230978.939
+     -1619.198       -1261.713          55.000          49.000
+  -3090646.00743  -2376838.87442  24656447.193    24656456.800    24656446.851
+      1984.884        1546.663          41.000          37.000
+  -3605109.15743  -2747310.88842  24611167.908    24611175.423    24611166.901
+     -2203.848       -1717.284          44.000          37.000
+ 04  2  1  1 50 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16930237.88243 -12775367.95642  21830480.669    21830485.434    21830479.507
+      1343.600        1046.961          53.000          46.000
+ -15786694.75943 -12113912.68742  22321429.067    22321431.903    22321427.634
+      1892.802        1474.911          53.000          46.000
+  -4707615.59543  -3638869.98242  25080639.613    25080652.171    25080637.929
+      2457.536        1914.963          45.000          38.000
+  -7399620.60043  -5714888.61442  24094493.070    24094502.497    24094492.468
+     -2223.924       -1732.928          48.000          39.000
+  -3304952.87343  -2534400.16042  24709617.499    24709625.178    24709617.025
+      2214.008        1725.201          43.000          37.000
+ -24632351.34444 -19143778.74642  20423076.246    20423079.046    20423075.399
+       -44.605         -34.757          57.000          51.000
+   2535525.94143   1986909.78142  25082437.600    25082445.171    25082432.482
+     -2719.928       -2119.424          42.000          35.000
+ -20420609.91443 -15901257.13942  21240277.262    21240281.101    21240276.180
+     -1636.974       -1275.564          55.000          49.000
+  -3150219.54143  -2423259.70542  24645110.393    24645119.482    24645109.452
+      1987.399        1548.623          43.000          37.000
+  -3538922.39743  -2695736.90142  24623762.527    24623770.408    24623761.827
+     -2207.738       -1720.315          44.000          37.000
+ 04  2  1  1 51  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -16970390.54643 -12806655.70842  21822840.549    21822845.346    21822838.935
+      1333.427        1039.034          54.000          47.000
+ -15843467.58043 -12158151.23042  22310624.614    22310629.147    22310623.619
+      1892.261        1474.489          53.000          46.000
+  -4781438.33343  -3696394.10942  25066590.401    25066602.658    25066592.268
+      2464.218        1920.170          43.000          37.000
+  -7332946.99843  -5662935.35942  24107179.760    24107189.574    24107178.887
+     -2220.886       -1730.560          46.000          39.000
+  -3371266.75643  -2586073.14042  24696997.219    24697003.842    24696995.657
+      2206.937        1719.691          42.000          36.000
+ -24630724.58544 -19142511.15342  20423385.803    20423388.738    20423384.883
+       -63.739         -49.667          57.000          51.000
+                   2050450.34742  25097956.308    25097957.993
+     -2716.156       -2116.485          41.000          31.000
+ -20371224.77643 -15862775.24042  21249675.115    21249678.983    21249674.775
+     -1655.072       -1289.666          55.000          49.000
+  -3209863.91843  -2469735.71942  24633761.434    24633769.351    24633760.358
+      1989.638        1550.367          44.000          38.000
+  -3472617.66343  -2644070.97342  24636380.355    24636388.749    24636376.589
+     -2212.340       -1723.901          44.000          37.000
+ 04  2  1  1 51 30.0000000  0  9G 1G20G 2G31G13G11G25G16G23
+ -17010244.83043 -12837710.96042  21815256.602    21815261.070    21815255.216
+      1323.670        1031.431          54.000          47.000
+ -15900227.40343 -12202379.66042  22299824.388    22299827.757    22299823.062
+      1892.077        1474.346          53.000          46.000
+  -4855473.29143  -3754083.57042  25052503.462    25052513.509    25052501.571
+      2471.280        1925.673          44.000          38.000
+  -7266380.07443  -5611065.25142  24119848.111    24119853.187    24119845.346
+     -2217.002       -1727.534          46.000          38.000
+  -3437375.95343  -2637586.61042  24684417.510    24684421.473    24684415.764
+      2200.727        1714.852          41.000          35.000
+ -24628532.06244 -19140802.71342  20423802.620    20423806.047    20423801.777
+       -82.420         -64.223          57.000          51.000
+ -20321305.52043 -15823877.13842  21259174.754    21259178.112    21259173.722
+     -1672.704       -1303.406          55.000          48.000
+  -3269566.50643  -2516257.09042  24622400.753    24622409.263    24622397.760
+      1990.961        1551.398          44.000          39.000
+  -3406184.90143  -2592305.32042  24649021.368    24649030.553    24649018.593
+     -2216.411       -1727.073          41.000          37.000
+ 04  2  1  1 52  0.0000000  0  9G 1G20G 2G31G13G11G25G16G23
+ -17049807.91443 -12868539.29042  21807727.395    21807732.063    21807726.345
+      1313.549        1023.545          53.000          47.000
+ -15956979.54643 -12246602.09342  22289025.020    22289028.375    22289023.397
+      1891.011        1473.515          53.000          46.000
+  -4929724.85143  -3811941.82842  25038372.646    25038382.744    25038372.270
+      2478.167        1931.039          44.000          38.000
+  -7199928.71943  -5559285.16942  24132492.828    24132500.650    24132491.328
+     -2213.693       -1724.955          46.000          38.000
+  -3503286.76843  -2688945.50642  24671877.046    24671881.834    24671874.602
+      2193.742        1709.409          43.000          36.000
+ -24625780.91444 -19138658.97642  20424326.808    20424329.605    20424325.633
+      -101.534         -79.117          57.000          51.000
+ -20270860.54843 -15784569.38642  21268774.151    21268777.861    21268773.072
+     -1690.895       -1317.580          55.000          48.000
+  -3329331.40543  -2562827.01042  24611027.909    24611035.661    24611026.797
+      1993.011        1552.996          44.000          39.000
+  -3339630.48743  -2540444.81042  24661685.188    24661693.366    24661682.591
+     -2221.114       -1730.738          42.000          36.000
+ 04  2  1  1 52 30.0000000  0  9G 1G20G 2G31G13G11G25G16G23
+ -17089073.60743 -12899135.90142  21800255.968    21800260.220    21800254.031
+      1304.269        1016.314          54.000          47.000
+ -16013716.24943 -12290812.51342  22278228.201    22278231.786    22278226.488
+      1891.361        1473.788          53.000          46.000
+  -5004184.19843  -3869961.96842  25024204.019    25024214.579    25024201.923
+      2485.841        1937.019          45.000          39.000
+  -7133588.66643  -5507591.81442  24145118.400    24145126.266    24145113.848
+     -2209.132       -1721.401          46.000          38.000
+  -3568992.69643  -2740144.83442  24659371.396    24659379.274    24659371.536
+      2187.144        1704.268          40.000          35.000
+ -24622463.99844 -19136074.38542  20424957.953    20424960.608    20424956.852
+      -119.579         -93.178          57.000          51.000
+ -20219884.76643 -15744848.03642  21278474.482    21278478.433    21278472.842
+     -1707.580       -1330.582          55.000          48.000
+  -3389148.93843  -2609437.93842  24599643.661    24599652.210    24599642.233
+      1995.627        1555.034          43.000          38.000
+  -3272947.27843  -2488484.01642  24674375.264    24674382.010    24674374.914
+     -2224.608       -1733.461          40.000          36.000
+ 04  2  1  1 53  0.0000000  0  9G 1G20G 2G31G13G11G25G16G23
+ -17128047.06243 -12929504.79442  21792839.290    21792843.530    21792837.955
+      1294.352        1008.586          53.000          47.000
+ -16070441.02743 -12335013.60742  22267433.628    22267436.817    22267432.410
+      1890.482        1473.103          53.000          46.000
+  -5078853.55743  -3928145.80842  25009994.622    25010005.970    25009992.735
+      2492.493        1942.202          46.000          39.000
+  -7067366.47643  -5455990.32542  24157718.905    24157728.284    24157717.588
+     -2205.765       -1718.778          46.000          38.000
+  -3634497.92443  -2791187.73242  24646904.729    24646913.473    24646905.376
+      2180.350        1698.974          42.000          36.000
+ -24618585.91544 -19133052.51142  20425696.110    20425698.675    20425694.973
+      -138.655        -108.043          57.000          51.000
+ -20168384.44543 -15704717.94142  21288274.254    21288278.552    21288273.491
+     -1725.445       -1344.502          55.000          48.000
+  -3449021.27243  -2656091.55442  24588251.060    24588258.969    24588249.251
+      1996.217        1555.494          43.000          38.000
+  -3206139.18443  -2436425.85742  24687090.210    24687097.227    24687088.318
+     -2229.268       -1737.092          42.000          36.000
+ 04  2  1  1 53 30.0000000  0  9G 1G20G 2G31G13G11G25G16G23
+ -17166728.37743 -12959646.05442  21785478.446    21785482.420    21785476.895
+      1284.235        1000.703          53.000          47.000
+ -16127152.11843 -12379204.05342  22256642.097    22256645.128    22256640.546
+      1889.824        1472.590          53.000          46.000
+  -5153730.27343  -3986491.22242  24995745.126    24995758.489    24995744.887
+      2499.011        1947.281          46.000          39.000
+  -7001264.07943  -5404482.20142  24170297.149    24170308.615    24170295.282
+     -2202.048       -1715.881          45.000          37.000
+  -3699802.08043  -2842073.93542  24634477.399    24634485.990    24634477.514
+      2173.127        1693.346          42.000          35.000
+ -24614146.18944 -19129592.99742  20426540.813    20426543.623    20426539.825
+      -157.604        -122.808          57.000          51.000
+ -20116361.07343 -15664180.27442  21298173.744    21298178.426    21298173.189
+     -1743.015       -1358.193          55.000          48.000
+  -3508944.82343  -2702785.09542  24576848.973    24576855.337    24576846.099
+      1998.031        1556.907          43.000          38.000
+  -3139205.54843  -2384269.89742  24699827.046    24699835.168    24699825.387
+     -2233.288       -1740.224          41.000          35.000
+ 04  2  1  1 54  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17205116.72943 -12989559.03442  21778173.239    21778177.872    21778171.731
+      1274.746         993.309          54.000          47.000
+ -16183846.92243 -12423381.81142  22245853.863    22245856.739    22245852.435
+      1889.559        1472.384          53.000          46.000
+  -5228810.77743  -4044995.41342  24981457.998    24981469.819    24981457.031
+      2506.264        1952.933          46.000          39.000
+  -6935282.23143  -5353068.00642  24182854.194    24182863.260    24182852.834
+     -2197.230       -1712.127          45.000          37.000
+  -3764903.41343  -2892802.14042  24622089.216    24622098.484    24622089.067
+      2166.740        1688.369          41.000          36.000
+ -24609143.38044 -19125694.72142  20427492.438    20427495.576    20427491.866
+      -176.122        -137.238          57.000          51.000
+  -1019202.59853   -809364.63252  25190568.410    25190574.400    25190565.491
+     -2691.124       -2096.980          40.000          32.000
+ -20063814.84343 -15623235.19142  21308173.382    21308177.889    21308172.412
+     -1760.065       -1371.479          55.000          48.000
+  -3568915.56443  -2749515.38942  24565433.082    24565441.913    24565432.126
+      2000.163        1558.569          39.000          37.000
+  -3072144.38243  -2332014.54442  24712586.878    24712596.458    24712585.408
+     -2237.030       -1743.140          41.000          35.000
+ 04  2  1  1 54 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17243214.47843 -13019245.56242  21770923.948    21770928.333    21770922.580
+      1265.033         985.740          54.000          47.000
+ -16240526.10943 -12467547.39342  22235067.007    22235071.307    22235065.838
+      1888.980        1471.932          53.000          46.000
+  -5304094.65643  -4103658.07042  24967134.006    24967142.903    24967132.568
+      2512.805        1958.030          47.000          39.000
+  -6869425.07143  -5301750.94942  24195385.745    24195396.765    24195385.089
+     -2193.021       -1708.847          45.000          37.000
+  -3829804.03443  -2943373.88342  24609740.250    24609747.978    24609737.490
+      2159.985        1683.105          42.000          36.000
+ -24603579.34144 -19121359.12642  20428551.240    20428554.357    20428550.306
+      -194.884        -151.858          57.000          51.000
+                   -746500.33942  25205920.723    25205924.787
+     -2686.070       -2093.041          40.000          32.000
+ -20010749.61443 -15581885.68742  21318271.403    21318275.442    21318270.363
+     -1777.507       -1385.070          55.000          48.000
+  -3628932.56543  -2796281.73942  24554016.425    24554023.869    24554014.019
+      2001.088        1559.289          42.000          36.000
+  -3004957.26543  -2279661.11442  24725372.497    24725381.055    24725372.617
+     -2241.482       -1746.609          41.000          35.000
+ 04  2  1  1 55  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17281022.41843 -13048706.27542  21763728.904    21763733.777    21763727.123
+      1254.595         977.606          54.000          47.000
+ -16297188.90543 -12511700.21042  22224285.004    22224288.869    22224283.240
+      1887.682        1470.921          53.000          46.000
+  -5379579.54743  -4162477.34442  24952767.363    24952778.644    24952767.409
+      2518.707        1962.629          46.000          39.000
+  -6803695.06243  -5250532.98242  24207893.049    24207902.910    24207891.084
+     -2189.781       -1706.323          43.000          37.000
+  -3894503.75543  -2993789.10242  24597428.732    24597434.132    24597428.772
+      2152.349        1677.155          45.000          36.000
+ -24597454.21544 -19116586.32242  20429717.157    20429720.044    20429716.109
+      -214.386        -167.054          57.000          51.000
+   -857977.97443   -683735.33842  25221246.642    25221257.434    25221246.890
+     -2683.935       -2091.378          40.000          32.000
+ -19957167.60643 -15540133.50842  21328468.273    21328472.138    21328467.446
+     -1795.465       -1399.064          55.000          48.000
+  -3688993.10343  -2843082.03042  24542586.838    24542593.722    24542584.370
+      2002.032        1560.025          43.000          36.000
+  -2937643.99143  -2227209.31042  24738181.430    24738191.676    24738179.829
+     -2246.615       -1750.609          39.000          35.000
+ 04  2  1  1 55 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17318539.16743 -13077940.09342  21756589.543    21756593.364    21756588.960
+      1245.747         970.712          54.000          47.000
+ -16353831.59243 -12555837.35642  22213505.880    22213510.360    22213504.553
+      1887.923        1471.109          53.000          46.000
+  -5455261.10643  -4221449.86742  24938366.282    24938376.861    24938365.476
+      2525.881        1968.219          47.000          40.000
+  -6738092.17543  -5199414.05042  24220379.078    24220383.301    24220376.125
+     -2184.284       -1702.039          44.000          36.000
+  -3959000.41043  -3044046.15742  24585155.316    24585162.147    24585154.297
+      2146.596        1672.672          45.000          37.000
+ -24590766.21544 -19111374.91042  20430990.086    20430992.782    20430988.967
+      -232.299        -181.012          57.000          51.000
+   -777554.99243   -621068.16842  25236550.907    25236559.227    25236551.009
+     -2678.489       -2087.134          41.000          34.000
+ -19903068.24843 -15497978.19842  21338762.960    21338766.907    21338761.782
+     -1811.817       -1411.805          55.000          48.000
+  -3749092.32443  -2889912.44242  24531148.876    24531156.216    24531148.315
+      2004.188        1561.705          43.000          35.000
+  -2870201.95343  -2174657.25642  24751015.320    24751024.744    24751013.985
+     -2250.223       -1753.420          38.000          35.000
+ 04  2  1  1 56  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17355766.61043 -13106948.46842  21749505.062    21749509.680    21749503.961
+      1237.043         963.930          53.000          47.000
+ -16410454.65843 -12599959.21742  22202731.014    22202735.376    22202729.556
+      1888.044        1471.203          53.000          46.000
+  -5531138.51743  -4280575.02942  24923927.472    24923938.401    24923926.644
+      2533.615        1974.245          47.000          40.000
+  -6672620.23443  -5148397.15742  24232836.877    24232846.141    24232837.435
+     -2178.941       -1697.876          43.000          36.000
+  -4023295.59943  -3094146.22842  24572921.127    24572927.175    24572919.978
+      2140.650        1668.039          46.000          37.000
+ -24583516.83043 -19105726.06542  20432369.114    20432372.046    20432368.285
+      -250.046        -194.841          56.000          51.000
+                   -558500.42842  25251831.574    25251831.941
+     -2673.124       -2082.954          39.000          32.000
+ -19848455.43743 -15455422.79342  21349154.887    21349159.081    21349154.078
+     -1827.992       -1424.409          55.000          48.000
+  -3809228.79443  -2936771.92442  24519703.370    24519711.341    24519702.406
+      2006.205        1563.277          42.000          34.000
+  -2802632.28743  -2122005.71342  24763875.925    24763883.758    24763873.136
+     -2253.494       -1755.969          42.000          37.000
+ 04  2  1  1 56 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17392705.10343 -13135731.68742  21742476.496    21742480.718    21742474.730
+      1227.094         956.177          53.000          47.000
+ -16467056.66643 -12644064.65642  22191960.072    22191963.734    22191958.712
+      1886.869        1470.287          53.000          47.000
+  -5607209.19343  -4339850.77942  24909452.200    24909462.630    24909451.986
+      2539.452        1978.794          48.000          40.000
+  -6607281.01543  -5097483.71142  24245269.262    24245280.078    24245268.855
+     -2175.088       -1694.874          42.000          36.000
+  -4087389.09643  -3144089.11242  24560723.258    24560729.914    24560722.064
+      2133.678        1662.606          45.000          36.000
+ -24575705.79243 -19099639.55542  20433855.709    20433858.586    20433854.528
+      -269.176        -209.747          56.000          51.000
+   -617091.69643   -496032.03542  25267085.082    25267093.893    25267084.351
+     -2669.515       -2080.142          39.000          31.000
+ -19793330.47443 -15412468.30242  21359645.201    21359648.836    21359644.134
+     -1845.521       -1438.068          55.000          48.000
+  -3869399.63443  -2983658.18142  24508254.498    24508262.080    24508253.486
+      2006.918        1563.832          42.000          34.000
+  -2734934.30743  -2069254.14942  24776757.623    24776765.917    24776757.307
+     -2258.203       -1759.639          41.000          36.000
+ 04  2  1  1 57  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17429356.93043 -13164291.53742  21735501.202    21735506.340    21735500.286
+      1216.908         948.240          53.000          47.000
+ -16523637.82643 -12688153.85442  22181193.513    22181196.706    22181191.569
+      1885.636        1469.327          54.000          46.000
+  -5683472.39443  -4399276.53342  24894939.704    24894951.524    24894938.670
+      2545.243        1983.306          48.000          40.000
+  -6542078.31743  -5046676.61242  24257676.883    24257686.856    24257675.617
+     -2171.447       -1692.037          42.000          35.000
+  -4151282.41943  -3193875.99242  24548564.733    24548571.504    24548563.939
+      2126.407        1656.941          44.000          37.000
+ -24567334.93144 -19093116.82842  20435448.446    20435451.469    20435447.542
+      -288.395        -224.723          57.000          51.000
+   -537053.57843   -433664.66742  25282318.382    25282325.641    25282314.279
+     -2665.713       -2077.179          40.000          33.000
+ -19737696.81143 -15369117.43042  21370231.744    21370235.792    21370231.009
+     -1862.980       -1451.673          55.000          48.000
+  -3929603.46743  -3030570.11242  24496798.399    24496805.995    24496799.366
+      2007.108        1563.980          42.000          34.000
+  -2667109.41043  -2016403.69542  24789664.011    24789672.544    24789661.102
+     -2262.736       -1763.171          43.000          37.000
+ 04  2  1  1 57 30.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17465721.71443 -13192627.71842  21728581.472    21728586.502    21728580.874
+      1207.647         941.024          54.000          47.000
+ -16580195.98043 -12732225.12642  22170430.828    22170433.648    22170428.902
+      1885.071        1468.886          54.000          46.000
+  -5759924.89143  -4458849.77942  24880391.935    24880400.599    24880388.433
+      2551.954        1988.536          47.000          40.000
+  -6477013.31343  -4995976.85442  24270058.916    24270067.230    24270060.610
+     -2166.544       -1688.216          41.000          34.000
+  -4214974.42943  -3243506.04342  24536444.751    24536452.657    24536444.093
+      2120.158        1652.071          44.000          37.000
+ -24558403.62244 -19086157.38842  20437148.394    20437151.144    20437147.254
+      -306.770        -239.041          57.000          51.000
+   -457144.57643   -371397.91942  25297523.831    25297534.705    25297522.261
+     -2661.087       -2073.574          37.000          33.000
+ -19681555.26843 -15325370.80442  21380915.356    21380919.636    21380913.766
+     -1879.574       -1464.603          55.000          48.000
+  -3989836.58943  -3077504.98142  24485337.401    24485346.670    24485338.002
+      2008.504        1565.068          41.000          34.000
+  -2599155.89443  -1963453.12542  24802594.380    24802604.786    24802593.859
+     -2267.015       -1766.505          44.000          38.000
+ 04  2  1  1 58  0.0000000  0 10G 1G20G 2G31G13G11G14G25G16G23
+ -17501800.23243 -13220740.83742  21721716.408    21721721.048    21721714.625
+      1197.686         933.262          54.000          47.000
+ -16636729.99343 -12776277.59142  22159672.170    22159675.774    22159670.871
+      1883.908        1467.980          53.000          46.000
+  -5836564.44343  -4518568.80842  24865805.946    24865815.735    24865806.010
+      2557.717        1993.026          46.000          40.000
+  -6412088.35143  -4945386.21942  24282415.179    24282425.384    24282412.621
+     -2162.280       -1684.893          41.000          34.000
+  -4278465.28243  -3292979.38142  24524363.007    24524370.173    24524363.706
+      2112.697        1646.257          43.000          36.000
+ -24548912.14344 -19078761.45342  20438954.430    20438957.065    20438953.448
+      -325.866        -253.921          57.000          51.000
+                   -309232.15352  25312706.573    25312711.097
+     -2657.524       -2070.798          37.000          32.000
+ -19624908.27843 -15281230.33442  21391694.884    21391698.993    21391693.752
+     -1896.826       -1478.046          55.000          48.000
+                  -3124460.50042  24473868.669    24473869.932
+      2008.734        1565.247          39.000          32.000
+  -2531073.77943  -1910402.30042  24815552.000    24815560.371    24815550.170
+     -2271.617       -1770.091          45.000          38.000
+ 04  2  1  1 58 30.0000000  0  9G 1G20G 2G31G13G11G25G16G23
+ -17537592.24343 -13248630.71142  21714904.534    21714909.585    21714903.633
+      1188.787         926.328          54.000          47.000
+ -16693237.69443 -12820309.55242  22148918.899    22148922.759    22148917.544
+      1883.630        1467.764          53.000          46.000
+  -5913387.55743  -4578430.85442  24851187.171    24851197.208    24851184.423
+      2564.362        1998.204          46.000          40.000
+  -6347304.77043  -4894905.68242  24294744.333    24294748.087    24294742.729
+     -2156.567       -1680.442          41.000          33.000
+  -4341754.07943  -3342295.24142  24512319.805    24512325.586    24512319.258
+      2106.944        1641.775          43.000          36.000
+ -24538859.81044 -19070928.49042  20440867.410    20440870.329    20440866.530
+      -343.932        -267.999          57.000          51.000
+ -19567756.76643 -15236696.72342  21402570.627    21402574.885    21402569.758
+     -1912.902       -1490.573          55.000          48.000
+  -4110378.86543  -3171433.79642  24462396.596    24462404.727    24462393.471
+      2010.335        1566.495          40.000          33.000
+  -2462861.89843  -1857250.28942  24828531.993    24828539.496    24828530.937
+     -2275.354       -1773.003          45.000          38.000
+ 04  2  1  1 59  0.0000000  0  9G 1G20G 2G31G13G11G25G16G23
+ -17573099.37643 -13276298.59142  21708148.305    21708152.746    21708146.938
+      1178.688         918.458          54.000          47.000
+ -16749718.95743 -12864320.90342  22138170.789    22138175.156    22138169.228
+      1882.106        1466.576          53.000          46.000
+  -5990393.09343  -4638435.03842  24836534.223    24836545.201    24836532.699
+      2569.692        2002.357          48.000          40.000
+  -6282665.57943  -4844537.72242  24307041.821    24307051.798    24307038.410
+     -2152.690       -1677.421          40.000          33.000
+  -4404842.07843  -3391454.57542  24500311.382    24500320.109    24500313.437
+      2099.481        1635.959          43.000          36.000
+ -24528247.87443 -19062659.47042  20442886.409    20442889.572    20442885.302
+      -363.146        -282.971          56.000          51.000
+ -19510103.76443 -15191772.33442  21413541.565    21413545.811    21413540.730
+     -1930.166       -1504.025          55.000          48.000
+  -4170682.38643  -3218423.44142  24450922.612    24450933.809    24450919.062
+      2009.668        1565.975          42.000          33.000
+  -2394520.84743  -1803997.67142  24841536.004    24841543.988    24841533.657
+     -2280.205       -1776.783          43.000          37.000
+ 04  2  1  1 59 30.0000000  0  9G 1G20G 2G31G13G11G25G16G23
+ -17608324.60643 -13303746.80742  21701445.266    21701449.905    21701443.952
+      1169.122         911.004          54.000          47.000
+ -16806174.74843 -12908312.41542  22127427.780    22127431.427    22127426.209
+      1880.967        1465.689          53.000          46.000
+  -6067581.05343  -4698581.34342  24821845.941    24821855.284    24821844.738
+      2575.516        2006.896          48.000          41.000
+  -6218175.37943  -4794285.86342  24319316.684    24319326.402    24319314.385
+     -2147.551       -1673.416          40.000          33.000
+  -4467731.56143  -3440459.28042  24488346.627    24488352.562    24488345.440
+      2092.753        1630.717          43.000          37.000
+ -24517079.06144 -19053956.52242  20445012.061    20445015.154    20445010.982
+      -381.926        -297.605          57.000          51.000
+ -19451953.77243 -15146460.69042  21424606.973    21424610.880    21424605.924
+     -1946.985       -1517.131          54.000          48.000
+  -4231006.46343  -3265429.10842  24439443.549    24439454.290    24439444.178
+      2010.685        1566.768          43.000          35.000
+  -2326052.49243  -1750645.79842  24854565.452    24854574.129    24854564.860
+     -2284.795       -1780.360          46.000          37.000
+ 04  2  1  2  0  0.0000000  0  9G 1G20G 2G31G13G11G25G16G23
+ -17643259.54443 -13330968.82142  21694797.000    21694802.182    21694796.034
+      1159.733         903.688          54.000          47.000
+ -16862594.58543 -12952275.90342  22116691.124    22116695.818    22116690.308
+      1880.052        1464.976          53.000          46.000
+  -6144939.67043  -4758860.62342  24807125.109    24807135.075    24807122.881
+      2581.200        2011.325          47.000          40.000
+  -6153827.06143  -4744144.56342  24331560.366    24331566.273    24331560.844
+     -2142.741       -1669.668          41.000          32.000
+  -4530413.21943  -3489302.04442  24476418.501    24476422.709    24476415.570
+      2085.839        1625.329          43.000          37.000
+ -24505344.44044 -19044812.68742  20447245.123    20447248.333    20447243.954
+      -400.472        -312.056          57.000          51.000
+ -19393299.67143 -15100756.23742  21435768.461    21435773.036    21435767.171
+     -1963.437       -1529.951          54.000          48.000
+  -4291338.96443  -3312441.35942  24427962.768    24427969.675    24427960.930
+      2011.305        1567.251          44.000          35.000
+  -2257447.54943  -1697187.56842  24867622.191    24867630.746    24867619.868
+     -2288.956       -1783.602          47.000          39.000
+ 04  2  1  2  0 30.0000000  0  9G 1G20G 2G31G13G11G25G16G23
+ -17677918.05043 -13357975.43442  21688201.627    21688206.789    21688200.045
+      1150.614         896.582          54.000          47.000
+ -16918990.36443 -12996220.65842  22105959.808    22105963.651    22105958.380
+      1879.571        1464.601          54.000          46.000
+  -6222479.74343  -4819281.33842  24792369.315    24792380.514    24792368.568
+      2587.980        2016.608          47.000          41.000
+  -6089635.89343  -4694125.76342  24343774.359    24343782.236    24343773.751
+     -2136.582       -1664.869          39.000          32.000
+  -4592900.32643  -3537993.16742  24464526.590    24464533.164    24464526.304
+      2079.864        1620.673          43.000          37.000
+ -24493057.25644 -19035238.28242  20449583.638    20449586.632    20449582.285
+      -418.772        -326.316          57.000          51.000
+ -19334156.79043 -15054670.91142  21447022.554    21447027.393    21447022.149
+     -1979.597       -1542.543          54.000          48.000
+  -4351690.41843  -3359468.35042  24416476.836    24416485.537    24416477.971
+      2012.147        1567.907          42.000          35.000
+  -2188718.70543  -1643632.78642  24880698.263    24880709.119    24880696.558
+     -2293.037       -1786.782          45.000          38.000
+ 04  2  1  2  1  0.0000000  0  9G 1G20G 2G31G13G11G25G16G23
+ -17712294.69243 -13384762.41142  21681659.915    21681665.255    21681658.921
+      1141.794         889.710          54.000          47.000
+ -16975354.51043 -13040140.76242  22095234.059    22095237.929    22095232.144
+      1878.812        1464.009          54.000          47.000
+  -6300192.54343  -4879836.63442  24777580.750    24777590.962    24777579.871
+      2593.868        2021.196          46.000          40.000
+  -6025597.63643  -4644226.11242  24355961.896    24355969.514    24355962.280
+     -2131.505       -1660.913          39.000          32.000
+  -4655186.69543  -3586527.89842  24452674.410    24452681.273    24452674.113
+      2073.133        1615.428          43.000          37.000
+ -24480211.83544 -19025228.89042  20452027.761    20452030.803    20452026.833
+      -436.857        -340.408          57.000          51.000
+ -19274520.68443 -15008201.24942  21458371.348    21458375.726    21458370.225
+     -1995.509       -1554.942          54.000          48.000
+  -4412051.50243  -3406502.85942  24404990.671    24404998.945    24404989.931
+      2012.493        1568.176          43.000          35.000
+  -2119859.37243  -1589976.30742  24893802.872    24893812.106    24893803.553
+     -2296.662       -1789.607          44.000          37.000
+ 04  2  1  2  1 30.0000000  0  9G 1G20G 2G31G13G11G25G16G23
+ -17746389.77743 -13411329.99142  21675172.069    21675176.332    21675170.891
+      1131.971         882.055          54.000          47.000
+ -17031685.79343 -13084035.25242  22084514.307    22084518.760    22084513.188
+      1877.334        1462.858          54.000          47.000
+  -6378075.44543  -4940524.42242  24762760.018    24762768.607    24762757.812
+      2599.205        2025.354          47.000          40.000
+  -9112554.47053  -7049647.24652  24368119.820    24368127.481    24368115.323
+     -2127.517       -1657.805          37.000          32.000
+  -4717272.37343  -3634906.18842  24440859.218    24440866.644    24440858.649
+      2066.228        1610.048          44.000          38.000
+ -24466808.56044 -19014784.80742  20454578.364    20454581.225    20454577.358
+      -455.924        -355.265          57.000          51.000
+ -19214393.34743 -14961348.80742  21469813.197    21469817.767    21469812.391
+     -2012.253       -1567.989          54.000          48.000
+  -4472419.34243  -3453542.62342  24393502.002    24393509.187    24393500.497
+      2012.927        1568.515          42.000          36.000
+  -2050869.10143  -1536217.80042  24906932.902    24906938.972    24906931.182
+     -2301.754       -1793.574          44.000          35.000
+ 04  2  1  2  2  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -17780204.71443 -13437679.27242  21668737.203    21668741.998    21668736.174
+      1121.779         874.114          54.000          47.000
+ -17087983.09743 -13127903.27442  22073801.267    22073805.125    22073800.117
+      1875.195        1461.191          54.000          47.000
+  -6456126.60043  -5001343.33542  24747906.252    24747917.073    24747906.490
+      2603.547        2028.738          46.000          40.000
+  -4779157.70743  -3683128.41442  24429083.555    24429089.201    24429081.560
+      2058.764        1604.232          45.000          38.000
+ -24452848.26144 -19003906.67642  20457234.877    20457237.392    20457233.855
+      -475.466        -370.493          57.000          51.000
+ -19153777.30643 -14914115.55742  21481347.565    21481352.610    21481347.086
+     -2029.438       -1581.380          54.000          48.000
+  -4532791.43743  -3500585.68642  24382013.781    24382022.626    24382012.631
+      2011.813        1567.646          43.000          36.000
+  -1981748.19843  -1482357.53842  24920084.622    24920095.378    24920084.540
+     -2307.081       -1797.725          44.000          37.000
+ 04  2  1  2  2 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -17813740.95043 -13463811.40042  21662355.781    21662360.129    21662354.800
+      1113.418         867.598          54.000          47.000
+ -17144245.80843 -13171744.34042  22063095.720    22063099.208    22063094.021
+      1875.023        1461.057          54.000          47.000
+  -6534344.52643  -5062292.21142  24733022.451    24733033.521    24733021.404
+      2610.154        2033.886          46.000          40.000
+  -4840843.84343  -3731195.39342  24417342.742    24417350.576    24417342.826
+      2052.952        1599.703          44.000          38.000
+ -24438332.27544 -18992595.54442  20459997.341    20460000.009    20459996.326
+      -492.975        -384.136          57.000          51.000
+ -19092675.65143 -14866503.91142  21492975.440    21492979.483    21492974.439
+     -2044.555       -1593.160          54.000          47.000
+  -4593165.90643  -3547630.65142  24370525.275    24370532.701    24370523.839
+      2012.848        1568.453          43.000          36.000
+  -1912497.21343  -1428395.92942  24933264.093    24933272.640    24933262.575
+     -2310.536       -1800.418          45.000          37.000
+ 04  2  1  2  3  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -17846998.54143 -13489726.39842  21656026.758    21656031.438    21656025.711
+      1104.360         860.540          54.000          47.000
+ -17200472.16743 -13215557.07942  22052395.850    22052399.547    22052394.353
+      1873.955        1460.225          54.000          47.000
+  -6612725.97443  -5123368.52342  24718107.863    24718116.558    24718106.343
+      2615.546        2038.088          47.000          40.000
+  -4902330.10543  -3779106.63242  24405644.521    24405650.868    24405642.912
+      2046.459        1594.643          46.000          38.000
+ -24423260.41944 -18980851.26842  20462865.536    20462868.361    20462864.290
+      -511.261        -398.385          57.000          51.000
+ -19031089.91643 -14818515.04942  21504694.602    21504699.417    21504693.376
+     -2060.474       -1605.564          54.000          47.000
+  -4653539.11643  -3594674.63742  24359037.930    24359045.319    24359036.226
+      2012.568        1568.235          44.000          37.000
+  -1843115.11143  -1374332.11642  24946466.387    24946476.079    24946464.949
+     -2314.726       -1803.682          42.000          36.000
+ 04  2  1  2  3 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -17879979.41043 -13515425.76442  21649751.106    21649755.400    21649749.935
+      1094.335         852.729          54.000          47.000
+ -17256661.85643 -13259341.23742  22041703.209    22041706.984    22041701.736
+      1871.891        1458.616          54.000          47.000
+  -6691269.55043  -5184571.14242  24703159.819    24703169.563    24703158.745
+      2620.348        2041.830          45.000          40.000
+  -4963617.91643  -3826863.22942  24393981.107    24393988.198    24393980.316
+      2039.404        1589.146          45.000          38.000
+ -24407634.16044 -18968674.98742  20465838.998    20465842.104    20465837.836
+      -530.611        -413.463          57.000          51.000
+ -18969023.12443 -14770151.33842  21516505.537    21516510.341    21516504.993
+     -2077.346       -1618.711          55.000          47.000
+  -4713909.22243  -3641716.18942  24347547.675    24347557.815    24347549.153
+      2011.857        1567.681          42.000          37.000
+  -1773602.68343  -1320166.76842  24959693.168    24959704.975    24959693.808
+     -2319.584       -1807.468          42.000          35.000
+ 04  2  1  2  4  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -17912682.81543 -13540908.94042  21643527.683    21643531.971    21643526.913
+      1085.726         846.020          54.000          47.000
+ -17312812.12143 -13303094.69642  22031018.023    22031021.866    22031016.860
+      1871.286        1458.145          54.000          47.000
+  -6769971.13343  -5245896.88042  24688185.420    24688192.422    24688182.295
+      2626.340        2046.499          46.000          40.000
+  -5024705.62343  -3874463.91842  24382356.293    24382363.411    24382355.307
+      2033.273        1584.369          45.000          39.000
+ -24391452.41044 -18956065.86842  20468918.130    20468921.081    20468917.028
+      -548.343        -427.280          57.000          51.000
+ -18906475.96243 -14721413.33142  21528408.102    21528412.050    21528407.208
+     -2092.689       -1630.667          54.000          47.000
+  -4774271.83543  -3688751.88742  24336063.905    24336069.289    24336062.474
+      2012.222        1567.965          44.000          37.000
+  -1703958.07143  -1265898.39842  24972946.517    24972956.840    24972944.854
+     -2323.497       -1810.517          41.000          35.000
+ 04  2  1  2  4 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -17945111.13943 -13566177.75242  21637356.713    21637361.427    21637355.519
+      1076.056         838.485          54.000          47.000
+ -17368923.10143 -13346817.52642  22020340.523    22020344.347    22020339.033
+      1869.464        1456.725          54.000          47.000
+  -6848830.24943  -5307345.36442  24673177.002    24673186.720    24673175.732
+      2631.001        2050.131          45.000          40.000
+  -5085595.20043  -3921910.23542  24370769.560    24370776.140    24370768.972
+      2026.044        1578.736          45.000          39.000
+ -24374717.70644 -18943025.86542  20472102.898    20472105.799    20472101.909
+      -567.375        -442.110          57.000          51.000
+ -18843452.47943 -14672304.15242  21540400.907    21540405.450    21540399.795
+     -2109.058       -1643.422          54.000          47.000
+  -4834625.90243  -3735780.94542  24324577.501    24324585.671    24324576.650
+      2011.368        1567.300          44.000          37.000
+  -1634182.95243  -1211528.37142  24986226.176    24986234.422    24986226.389
+     -2328.221       -1814.198          41.000          34.000
+ 04  2  1  2  5  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -17977262.85843 -13591231.03042  21631238.168    21631242.776    21631237.021
+      1067.175         831.565          54.000          47.000
+ -17424991.08343 -13390506.85542  22009670.971    22009675.165    22009669.858
+      1868.287        1455.808          54.000          47.000
+  -6927841.83443  -5368912.67442  24658143.244    24658151.807    24658140.717
+      2635.996        2054.023          46.000          40.000
+  -5146284.42843  -3969200.41542  24359221.568    24359226.545    24359220.687
+      2019.201        1573.403          46.000          39.000
+ -24357428.15744 -18929553.51742  20475393.152    20475395.884    20475391.988
+      -585.593        -456.306          57.000          51.000
+ -18779952.56543 -14622823.72742  21552485.367    21552489.355    21552483.800
+     -2124.641       -1655.564          55.000          48.000
+  -4894966.05143  -3782799.15342  24313096.118    24313100.505    24313093.448
+      2011.044        1567.047          43.000          37.000
+  -1564274.59443  -1157054.44842  24999530.482    24999537.249    24999527.554
+     -2332.595       -1817.606          40.000          35.000
+ 04  2  1  2  5 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18009143.17943 -13616072.83042  21625172.061    21625176.539    21625170.457
+      1058.156         824.537          54.000          47.000
+ -17481019.27143 -13434165.17742  21999008.636    21999012.636    21999008.152
+      1866.946        1454.763          54.000          47.000
+  -7007007.96943  -5430600.43342  24643076.212    24643086.640    24643076.262
+      2641.538        2058.341          45.000          40.000
+  -5206777.94143  -4016338.11442  24347708.840    24347714.909    24347708.043
+      2012.919        1568.508          46.000          39.000
+ -24339588.78244 -18915652.73242  20478787.568    20478790.644    20478786.678
+      -603.883        -470.558          57.000          51.000
+ -18715982.73243 -14572977.13842  21564658.309    21564662.556    21564656.930
+     -2140.295       -1667.762          54.000          48.000
+  -4955293.96543  -3829807.83242  24301615.408    24301621.581    24301614.901
+      2010.368        1566.521          44.000          36.000
+  -1494237.16743  -1102480.03242  25012856.799    25012866.334    25012853.707
+     -2336.943       -1820.994          39.000          35.000
+ 04  2  1  2  6  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18040747.63143 -13640699.67442  21619157.334    21619162.514    21619156.372
+      1049.189         817.550          54.000          48.000
+ -17537000.77043 -13477787.12342  21988356.569    21988359.768    21988354.913
+      1865.577        1453.696          54.000          47.000
+  -7086320.82043  -5492402.49342  24627983.799    24627995.483    24627982.894
+      2646.505        2062.212          45.000          39.000
+  -5267070.46943  -4063319.21642  24336236.173    24336243.048    24336234.805
+      2006.651        1563.624          45.000          39.000
+ -24321195.06343 -18901319.99342  20482287.698    20482290.737    20482286.677
+      -621.984        -484.663          56.000          51.000
+ -18651539.96843 -14522762.02742  21576920.806    21576925.213    21576920.484
+     -2155.553       -1679.652          54.000          47.000
+  -5015601.37343  -3876800.49842  24290140.453    24290147.537    24290138.226
+      2010.001        1566.235          45.000          36.000
+  -1424065.14643  -1047800.79142  25026210.377    25026219.309    25026209.138
+     -2340.736       -1823.950          41.000          36.000
+ 04  2  1  2  6 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18072081.72043 -13665115.83542  21613194.291    21613199.860    21613193.993
+      1039.533         810.026          54.000          47.000
+ -17592939.07643 -13521375.40442  21977711.756    21977715.177    21977710.237
+      1863.392        1451.994          54.000          47.000
+  -7165782.45643  -5554320.50342  24612864.491    24612872.361    24612862.021
+      2650.722        2065.498          45.000          39.000
+  -5327167.16643  -4110147.66842  24324798.681    24324805.138    24324799.431
+      1999.626        1558.150          44.000          38.000
+ -24302252.33944 -18886559.45742  20485892.436    20485895.513    20485891.446
+      -640.922        -499.420          57.000          51.000
+ -18586631.65543 -14472184.15742  21589273.053    21589276.527    21589271.989
+     -2171.753       -1692.275          54.000          47.000
+  -5075890.00843  -3923778.58342  24278667.458    24278673.202    24278667.483
+      2009.058        1565.500          44.000          36.000
+  -1353762.89743   -993020.11842  25039588.605    25039593.990    25039584.899
+     -2345.861       -1827.944          41.000          34.000
+ 04  2  1  2  7  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18103142.67843 -13689319.16842  21607284.322    21607288.652    21607282.749
+      1031.167         803.507          54.000          47.000
+ -17648829.21843 -13564926.15342  21967075.683    21967079.685    21967074.390
+      1862.451        1451.261          54.000          47.000
+  -7245386.86743  -5616349.73042  24597713.016    24597724.177    24597712.806
+      2656.119        2069.703          43.000          39.000
+  -5387064.45843  -4156820.76442  24313400.907    24313407.262    24313400.176
+      1993.538        1553.406          44.000          38.000
+ -24282757.81844 -18871368.95342  20489602.186    20489605.265    20489601.086
+      -658.676        -513.254          57.000          51.000
+ -18521256.06543 -14421242.17642  21601713.510    21601717.038    21601712.296
+     -2186.686       -1703.911          54.000          47.000
+  -5136153.63843  -3970737.22442  24267197.396    24267204.623    24267196.203
+      2008.670        1565.197          41.000          35.000
+  -1283327.04743   -938135.20542  25052992.867    25052994.624    25052989.552
+     -2349.500       -1830.779          41.000          33.000
+ 04  2  1  2  7 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18133934.96143 -13713313.14342  21601424.571    21601429.449    21601423.521
+      1022.072         796.420          54.000          47.000
+ -17704673.47443 -13608441.14342  21956449.008    21956453.017    21956448.225
+      1860.774        1449.954          54.000          47.000
+  -7325135.07643  -5678491.02342  24582538.562    24582548.288    24582537.623
+      2660.805        2073.354          44.000          39.000
+  -5446766.13743  -4203341.42942  24302040.574    24302046.252    24302040.347
+      1986.963        1548.283          45.000          38.000
+ -24262715.61244 -18855751.67542  20493416.399    20493419.156    20493415.124
+      -677.114        -527.621          57.000          51.000
+ -18455419.07943 -14369940.65442  21614241.653    21614245.830    21614240.432
+     -2202.107       -1715.927          54.000          47.000
+  -5196392.65243  -4017676.66342  24255735.810    24255740.246    24255734.892
+      2007.660        1564.410          43.000          35.000
+                  -4565948.67052  25066417.862    25066429.764
+     -2353.905       -1834.212          37.000          31.000
+ 04  2  1  2  8  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18164455.96443 -13737095.72842  21595616.718    21595621.036    21595615.097
+      1011.770         788.392          54.000          47.000
+ -17760466.96843 -13651916.58842  21945832.153    21945835.476    21945830.221
+      1857.919        1447.729          54.000          47.000
+  -7405021.23243  -5740739.82742  24567336.116    24567346.652    24567334.485
+      2664.059        2075.890          43.000          39.000
+  -5506269.53543  -4249707.60142  24290717.099    24290724.767    24290717.906
+      1978.788        1541.913          45.000          38.000
+ -24242123.02244 -18839705.53342  20497334.844    20497337.601    20497334.131
+      -696.660        -542.852          57.000          51.000
+ -18389119.77243 -14318278.88842  21626858.321    21626862.142    21626857.189
+     -2218.699       -1728.856          54.000          47.000
+  -5256600.91243  -4064592.13842  24244277.685    24244284.102    24244277.291
+      2005.130        1562.439          43.000          35.000
+  -5868320.41453  -4510857.86052  25079874.772    25079883.597    25079871.052
+     -2359.723       -1838.745          40.000          33.000
+ 04  2  1  2  8 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18194708.68043 -13760669.26142  21589860.044    21589865.034    21589858.712
+      1004.131         782.440          54.000          47.000
+ -17816210.21043 -13695352.87942  21935224.281    21935228.270    21935222.559
+      1857.433        1447.350          54.000          47.000
+  -7485044.85543  -5803095.77342  24552109.027    24552117.556    24552106.879
+      2670.018        2080.534          44.000          39.000
+  -5565576.23643  -4295920.55342  24279431.611    24279438.149    24279431.580
+      1973.558        1537.837          46.000          39.000
+ -24220982.88244 -18823232.72542  20501357.981    20501360.510    20501356.828
+      -713.535        -556.001          57.000          51.000
+ -18322362.44843 -14266260.23642  21639561.029    21639565.597    21639559.738
+     -2232.649       -1739.726          54.000          47.000
+  -5316777.80143  -4111483.15842  24232826.387    24232832.904    24232825.432
+      2005.685        1562.871          43.000          36.000
+  -5797487.80543  -4455663.81242  25093352.498    25093364.870    25093354.212
+     -2362.777       -1841.125          42.000          35.000
+ 04  2  1  2  9  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18224691.10143 -13784032.17842  21584153.617    21584159.091    21584152.218
+       994.884         775.234          53.000          47.000
+ -17871898.93943 -13738746.68742  21924627.239    21924631.168    21924625.896
+      1855.363        1445.737          54.000          47.000
+  -7565200.48743  -5865554.58142  24536856.074    24536864.469    24536854.147
+      2674.020        2083.652          45.000          39.000
+  -5624684.10043  -4341978.53442  24268184.370    24268190.532    24268182.872
+      1967.155        1532.848          46.000          39.000
+ -24199293.36744 -18806331.83042  20505485.224    20505488.236    20505484.151
+      -732.084        -570.455          57.000          51.000
+ -18255146.60643 -14213884.29042  21652352.353    21652357.062    21652351.296
+     -2248.117       -1751.779          54.000          47.000
+  -5376917.47043  -4158345.16342  24221380.698    24221389.819    24221381.084
+      2003.882        1561.466          43.000          36.000
+  -5726520.13343  -4400364.59142  25106859.767    25106869.436    25106859.214
+     -2367.587       -1844.873          43.000          35.000
+ 04  2  1  2  9 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18254411.33243 -13807190.79042  21578498.446    21578503.425    21578497.649
+       986.034         768.338          54.000          48.000
+ -17927539.17543 -13782102.71242  21914039.280    21914042.929    21914037.666
+      1853.591        1444.357          54.000          47.000
+  -7645493.07543  -5928120.05942  24521577.593    24521585.309    24521575.162
+      2678.221        2086.925          46.000          39.000
+  -5683600.30043  -4387887.16042  24256972.310    24256977.550    24256971.145
+      1960.521        1527.679          45.000          38.000
+ -24177062.62844 -18789009.20742  20509715.302    20509718.575    20509714.499
+      -750.272        -584.627          57.000          51.000
+ -18187481.77743 -14161158.49442  21665228.762    21665233.262    21665228.003
+     -2263.182       -1763.518          54.000          47.000
+  -5437024.25143  -4205181.56542  24209944.982    24209951.000    24209943.085
+      2002.932        1560.726          44.000          37.000
+  -5655424.61043  -4344965.74742  25120385.445    25120396.449    25120385.432
+     -2371.619       -1848.015          38.000          34.000
+ 04  2  1  2 10  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18283863.55443 -13830140.56742  21572894.188    21572898.949    21572892.961
+       976.935         761.248          54.000          47.000
+ -17983122.67143 -13825414.52242  21903461.722    21903466.248    21903459.916
+      1851.439        1442.680          54.000          47.000
+  -7725913.15443  -5990784.90942  24506273.170    24506282.296    24506271.527
+      2682.408        2090.188          44.000          39.000
+  -5742318.61643  -4433641.56542  24245796.824    24245804.409    24245796.656
+      1953.427        1522.151          44.000          38.000
+ -24154284.55643 -18771260.09442  20514049.739    20514053.134    20514048.865
+      -768.791        -599.058          56.000          51.000
+ -18119363.87743 -14108079.64342  21678191.238    21678195.516    21678190.402
+     -2278.551       -1775.494          54.000          47.000
+  -5497088.29243  -4251984.62442  24198513.776    24198521.935    24198512.901
+      2000.659        1558.955          43.000          37.000
+  -5584193.94643  -4289461.46642  25133942.750    25133948.939    25133938.817
+     -2377.299       -1852.441          38.000          32.000
+ 04  2  1  2 10 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -18313051.66943 -13852884.53742  21567339.895    21567344.289    21567338.551
+       968.573         754.732          54.000          47.000
+ -18038651.12543 -13868683.43642  21892895.629    21892899.195    21892893.491
+      1850.133        1441.662          54.000          47.000
+  -7806461.10943  -6053549.39242  24490944.569    24490953.699    24490943.838
+      2686.987        2093.756          44.000          38.000
+  -5800842.47643  -4479244.47442  24234661.892    24234666.623    24234661.941
+      1947.549        1517.571          46.000          38.000
+ -24130963.42044 -18753087.81042  20518487.891    20518491.087    20518486.615
+      -786.337        -612.730          57.000          51.000
+ -18050798.42343 -14054652.05742  21691239.034    21691242.938    21691237.625
+     -2292.867       -1786.650          54.000          47.000
+  -5557110.03243  -4298754.74642  24187092.602    24187099.659    24187091.556
+      1999.965        1558.414          43.000          37.000
+ 04  2  1  2 11  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18341973.60043 -13875421.10042  21561836.229    21561840.544    21561835.233
+       959.488         747.653          54.000          48.000
+ -18094120.05443 -13911905.98142  21882339.059    21882343.536    21882338.193
+      1847.767        1439.818          54.000          47.000
+  -7887131.42143  -6116409.26742  24475594.042    24475602.914    24475591.067
+      2691.235        2097.066          44.000          38.000
+  -5859169.13343  -4524693.72442  24223562.681    24223568.760    24223560.947
+      1940.886        1512.379          46.000          39.000
+ -24107096.76444 -18734490.44242  20523029.829    20523032.665    20523028.790
+      -804.796        -627.114          57.000          51.000
+ -17981784.79943 -14000875.25042  21704371.658    21704376.087    21704370.658
+     -2308.008       -1798.448          54.000          47.000
+  -5617083.38043  -4345487.16242  24175680.284    24175686.525    24175679.082
+      1998.264        1557.089          44.000          37.000
+  -5441333.46053  -4178142.26952  25161129.156    25161141.112    25161129.687
+     -2385.980       -1859.205          41.000          33.000
+ 04  2  1  2 11 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18370634.00143 -13897753.87142  21556382.262    21556386.999    21556380.834
+       951.670         741.561          54.000          48.000
+ -18149531.58043 -13955083.78142  21871795.474    21871798.873    21871793.699
+      1846.807        1439.070          54.000          47.000
+  -7967925.20243  -6179365.34042  24460218.542    24460228.076    24460216.735
+      2696.211        2100.944          44.000          39.000
+  -5917302.24543  -4569992.16042  24212499.625    24212507.689    24212500.001
+      1935.514        1508.193          45.000          39.000
+ -24082689.42044 -18715471.76342  20527674.185    20527677.394    20527673.136
+      -821.861        -640.411          57.000          51.000
+ -17912328.69943 -13946753.66742  21717588.878    21717592.883    21717587.844
+     -2321.860       -1809.241          54.000          47.000
+  -5677009.39643  -4392182.71042  24164276.877    24164283.030    24164273.700
+      1997.472        1556.472          44.000          37.000
+  -5369703.97343  -4122327.24942  25174758.130    25174768.471    25174759.248
+     -2388.892       -1861.474          40.000          34.000
+ 04  2  1  2 12  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18399030.60143 -13919881.08142  21550978.895    21550982.964    21550977.376
+       941.706         733.797          55.000          48.000
+ -18204881.01543 -13998213.20742  21861262.781    21861266.338    21861261.329
+      1843.356        1436.381          54.000          47.000
+  -8048836.75843  -6242413.17242  24444822.579    24444831.886    24444820.637
+      2698.509        2102.734          45.000          39.000
+  -5975239.70943  -4615138.11042  24201474.744    24201479.313    24201473.578
+      1927.438        1501.900          46.000          38.000
+ -24057739.34844 -18696030.17642  20532422.314    20532425.050    20532421.070
+      -841.196        -655.477          57.000          51.000
+ -17842429.72343 -13892286.96842  21730889.560    21730894.401    21730889.144
+     -2337.782       -1821.648          54.000          47.000
+  -5736882.00243  -4438836.64642  24152883.459    24152891.022    24152883.303
+      1994.296        1553.997          45.000          37.000
+  -5297939.73243  -4066407.29942  25188414.407    25188426.127    25188413.964
+     -2394.607       -1865.927          41.000          35.000
+ 04  2  1  2 12 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18427166.16143 -13941804.88342  21545624.806    21545628.957    21545623.418
+       933.899         727.713          54.000          48.000
+ -18260168.51643 -14041294.37542  21850742.254    21850745.740    21850740.573
+      1842.204        1435.484          55.000          47.000
+  -8129865.10643  -6305552.01842  24429402.812    24429413.905    24429401.454
+      2703.159        2106.358          44.000          39.000
+  -6032982.99143  -4660132.78142  24190485.171    24190492.160    24190484.774
+      1921.614        1497.362          45.000          38.000
+ -24032249.12844 -18676167.69942  20537272.597    20537275.825    20537271.390
+      -858.332        -668.830          57.000          51.000
+ -17772091.97543 -13837478.38142  21744274.974    21744279.366    21744273.851
+     -2351.531       -1832.362          54.000          47.000
+  -5796699.73443  -4485447.86142  24141499.472    24141508.375    24141497.808
+      1993.244        1553.177          44.000          37.000
+  -5226042.25143  -4010383.55842  25202099.675    25202108.150    25202095.926
+     -2398.462       -1868.931          42.000          35.000
+ 04  2  1  2 13  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18455042.54143 -13963526.72542  21540319.657    21540324.304    21540318.714
+       924.889         720.693          54.000          48.000
+ -18315394.05343 -14084327.24842  21840233.026    21840236.193    21840231.364
+      1839.844        1433.645          54.000          47.000
+  -8211008.62443  -6368780.64842  24413962.034    24413971.281    24413960.413
+      2706.662        2109.087          44.000          38.000
+  -6090533.70243  -4704977.38242  24179535.766    24179538.776    24179535.583
+      1915.200        1492.364          47.000          38.000
+ -24006220.58544 -18655885.74942  20542226.015    20542228.767    20542225.177
+      -876.624        -683.084          57.000          51.000
+ -17701319.01043 -13782330.66642  21757742.518    21757747.132    21757741.725
+     -2366.247       -1843.829          54.000          47.000
+  -5856460.94343  -4532015.01742  24130126.811    24130135.379    24130126.087
+      1990.996        1551.425          45.000          37.000
+  -5154012.43243  -3954256.71342  25215805.283    25215816.787    25215802.785
+     -2403.732       -1873.038          42.000          36.000
+ 04  2  1  2 13 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18482658.95843 -13985046.00342  21535065.237    21535068.931    21535063.335
+       916.835         714.417          55.000          48.000
+ -18370554.15343 -14127309.13942  21829736.529    21829739.829    21829735.117
+      1838.169        1432.339          55.000          47.000
+  -8292262.88443  -6432095.54342  24398501.210    24398508.544    24398498.014
+      2710.868        2112.365          46.000          39.000
+  -6147890.08843  -4749670.57342  24168620.311    24168625.476    24168619.208
+      1909.166        1487.662          46.000          38.000
+ -23979653.09444 -18635183.83542  20547281.545    20547284.518    20547280.388
+      -893.999        -696.622          57.000          51.000
+ -17630111.55743 -13726844.39342  21771292.617    21771297.103    21771291.915
+     -2380.278       -1854.762          53.000          47.000
+  -5916160.82943  -4578534.38342  24118768.068    24118774.421    24118765.713
+      1989.695        1550.412          46.000          38.000
+  -5081848.60243  -3898025.44142  25229537.895    25229547.079    25229534.728
+     -2407.181       -1875.725          43.000          36.000
+ 04  2  1  2 14  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18510018.38043 -14006365.02742  21529858.329    21529863.051    21529856.806
+       907.814         707.388          54.000          48.000
+ -18425649.28443 -14170240.40642  21819251.752    21819255.606    21819250.260
+      1835.518        1430.274          54.000          47.000
+  -8373627.31043  -6495496.30842  24383017.644    24383025.186    24383014.854
+      2714.241        2114.993          46.000          39.000
+  -6205054.81243  -4794214.40542  24157742.390    24157748.671    24157742.533
+      1902.680        1482.608          45.000          38.000
+ -23952549.91544 -18614064.50842  20552439.482    20552442.123    20552438.248
+      -912.229        -710.828          57.000          51.000
+ -17558474.04543 -13671022.99842  21784925.307    21784929.528    21784924.303
+     -2394.982       -1866.220          53.000          47.000
+  -5975798.46543  -4625005.23942  24107418.440    24107426.773    24107416.690
+      1987.139        1548.420          46.000          38.000
+  -5009552.31643  -3841690.93942  25243295.144    25243306.458    25243294.125
+     -2412.086       -1879.547          43.000          36.000
+ 04  2  1  2 14 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18537120.01943 -14027483.17342  21524700.903    21524705.689    21524700.103
+       899.012         700.529          55.000          48.000
+ -18480676.34243 -14213118.62542  21808780.243    21808784.328    21808779.387
+      1833.008        1428.318          54.000          48.000
+  -8455097.57643  -6558979.54242  24367512.043    24367522.891    24367512.250
+      2717.313        2117.387          46.000          39.000
+  -6262026.56743  -4838607.90142  24146900.711    24146906.146    24146899.185
+      1896.022        1477.420          46.000          38.000
+ -23924910.27243 -18592527.16042  20557698.505    20557701.820    20557697.714
+      -930.239        -724.861          56.000          51.000
+ -17486407.19943 -13614867.06642  21798639.231    21798643.447    21798637.838
+     -2409.506       -1877.537          53.000          47.000
+  -6035369.21243  -4671424.00042  24096081.928    24096089.090    24096080.625
+      1984.453        1546.327          47.000          38.000
+  -4937122.10143  -3785252.03942  25257077.756    25257089.283    25257075.443
+     -2416.343       -1882.865          44.000          36.000
+ 04  2  1  2 15  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18563966.41643 -14048402.44142  21519592.320    21519597.310    21519590.841
+       890.684         694.039          55.000          48.000
+ -18535635.34743 -14255943.82042  21798322.648    21798325.722    21798320.979
+      1831.001        1426.754          55.000          48.000
+  -8536672.66643  -6622544.45242  24351989.936    24351998.973    24351988.161
+      2721.123        2120.356          46.000          40.000
+  -6318807.16443  -4882852.40242  24136095.120    24136099.157    24136094.799
+      1889.528        1472.359          47.000          38.000
+ -23896737.23643 -18570574.17942  20563059.747    20563063.145    20563058.605
+      -947.865        -738.596          56.000          51.000
+ -17413915.26343 -13558379.88742  21812433.691    21812437.914    21812432.883
+     -2423.274       -1888.265          53.000          47.000
+  -6094871.95443  -4717789.72842  24084759.943    24084766.884    24084758.687
+      1982.465        1544.778          48.000          39.000
+  -4864559.54643  -3728710.05542  25270886.137    25270895.187    25270885.736
+     -2420.915       -1886.427          43.000          35.000
+ 04  2  1  2 15 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18590555.05643 -14069120.84842  21514532.607    21514537.179    21514531.006
+       881.434         686.832          54.000          48.000
+ -18590521.22043 -14298712.03142  21787877.927    21787881.959    21787876.409
+      1827.724        1424.201          55.000          48.000
+  -8618346.41043  -6686186.25142  24336447.168    24336456.978    24336447.314
+      2723.616        2122.298          47.000          40.000
+  -6375393.68243  -4926945.70042  24125328.162    24125332.548    24125326.560
+      1882.291        1466.720          46.000          39.000
+ -23868027.85144 -18548203.26542  20568523.054    20568526.351    20568522.024
+      -966.464        -753.089          57.000          51.000
+ -17340997.05543 -13501560.55842  21826309.743    21826314.136    21826308.089
+     -2438.257       -1899.940          53.000          46.000
+  -6154300.07043  -4764097.32342  24073451.337    24073459.395    24073449.875
+      1978.850        1541.961          47.000          39.000
+  -4791860.86743  -3672061.97542  25284722.136    25284729.465    25284720.277
+     -2425.886       -1890.301          43.000          35.000
+ 04  2  1  2 16  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18616890.28143 -14089641.79542  21509521.241    21509525.587    21509519.791
+       873.566         680.701          55.000          48.000
+ -18645335.86743 -14341424.73742  21777447.316    21777451.031    21777446.057
+      1825.766        1422.675          55.000          48.000
+  -8700119.56043  -6749905.51642  24320887.565    24320896.210    24320885.149
+      2727.449        2125.285          47.000          40.000
+  -6431789.78543  -4970890.63642  24114595.444    24114600.972    24114594.383
+      1876.500        1462.208          46.000          39.000
+ -23838787.22544 -18525418.39142  20574087.537    20574090.531    20574086.464
+      -983.711        -766.528          57.000          51.000
+ -17267658.76743 -13444413.88942  21840265.632    21840270.154    21840264.229
+     -2451.690       -1910.408          53.000          46.000
+  -6213653.88643  -4810347.03542  24062155.282    24062162.364    24062153.957
+      1977.224        1540.694          46.000          38.000
+  -4719029.38243  -3615310.41642  25298580.675    25298592.408    25298579.635
+     -2430.126       -1893.605          41.000          34.000
+ 04  2  1  2 16 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18642973.06843 -14109966.04642  21504557.088    21504562.594    21504556.457
+       865.303         674.262          54.000          48.000
+ -18700077.61543 -14384080.64142  21767030.107    21767033.760    21767029.007
+      1823.591        1420.980          55.000          48.000
+  -8781989.30743  -6813700.06442  24305307.710    24305317.223    24305306.056
+      2730.565        2127.713          48.000          40.000
+  -6487995.73543  -5014687.41442  24103898.807    24103907.537    24103898.425
+      1870.109        1457.228          45.000          39.000
+ -23809016.02744 -18502220.08642  20579753.212    20579755.706    20579752.002
+     -1001.122        -780.095          57.000          51.000
+ -17193902.64343 -13386941.63542  21854300.563    21854305.767    21854300.140
+     -2465.400       -1921.091          53.000          47.000
+  -6272930.58243  -4856536.64842  24050875.936    24050883.555    24050875.466
+      1974.508        1538.578          44.000          38.000
+  -4646064.93343  -3558455.30842  25312466.030    25312476.497    25312464.636
+     -2434.632       -1897.116          41.000          33.000
+ 04  2  1  2 17  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18668802.61143 -14130092.94742  21499642.255    21499647.452    21499641.525
+       856.416         667.337          54.000          48.000
+ -18754743.11643 -14426677.12342  21756627.636    21756631.006    21756626.547
+      1820.383        1418.480          55.000          48.000
+  -8863951.35943  -6877566.53942  24289710.348    24289719.538    24289708.937
+      2733.016        2129.623          48.000          40.000
+  -6544010.23743  -5058334.97642  24093239.206    24093245.793    24093239.798
+      1863.074        1451.746          45.000          39.000
+ -23778713.80743 -18478607.99742  20585518.922    20585522.380    20585518.006
+     -1019.353        -794.301          56.000          51.000
+ -17119729.57443 -13329144.49442  21868415.651    21868420.144    21868414.637
+     -2479.845       -1932.347          53.000          46.000
+  -6332125.29843  -4902662.35542  24039610.665    24039620.333    24039611.052
+      1971.326        1536.098          44.000          38.000
+                  -3501495.26652  25326375.021    25326387.138
+     -2438.812       -1900.373          39.000          32.000
+ 04  2  1  2 17 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18694379.50143 -14150022.99242  21494775.782    21494780.104    21494774.557
+       848.445         661.126          55.000          48.000
+ -18809330.71443 -14469212.91142  21746239.655    21746243.313    21746238.337
+      1818.225        1416.799          55.000          48.000
+  -8946002.42043  -6941502.35642  24274095.683    24274105.146    24274093.817
+      2736.683        2132.480          48.000          41.000
+  -6599833.28943  -5101833.38842  24082617.913    24082624.967    24082616.160
+      1857.713        1447.569          46.000          39.000
+ -23747881.46844 -18454582.83942  20591386.572    20591389.635    20591385.423
+     -1036.568        -807.715          57.000          51.000
+ -17045141.91143 -13271024.28642  21882609.567    21882613.569    21882608.343
+     -2493.054       -1942.639          53.000          46.000
+  -6391235.11443  -4948721.88642  24028362.469    24028371.424    24028361.737
+      1969.022        1534.303          44.000          38.000
+                                  25340312.231
+     -2443.497       -1904.024          38.000
+ 04  2  1  2 18  0.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18719708.90943 -14169760.18742  21489955.727    21489959.915    21489954.213
+       840.223         654.719          55.000          48.000
+ -18863842.50743 -14511689.62842  21735866.995    21735870.268    21735865.386
+      1815.735        1414.858          55.000          48.000
+  -9028143.72243  -7005508.50142  24258465.310    24258475.062    24258464.514
+      2739.685        2134.819          47.000          41.000
+  -6655469.41943  -5145186.14742  24072029.809    24072037.340    24072029.083
+      1851.272        1442.550          46.000          39.000
+ -23716524.49044 -18430148.86842  20597353.416    20597356.604    20597352.518
+     -1053.943        -821.254          57.000          51.000
+ -16970146.15243 -13212586.08442  21896880.344    21896885.420    21896879.705
+     -2506.587       -1953.185          53.000          46.000
+  -6450260.93843  -4994716.00642  24017129.656    24017138.565    24017129.627
+      1966.362        1532.230          45.000          38.000
+                                  25354271.863
+     -2447.542       -1907.175          34.000
+ 04  2  1  2 18 30.0000000  0  8G 1G20G 2G13G11G25G16G23
+ -18744788.17343 -14189302.47342  21485183.325    21485187.553    21485182.104
+       831.659         648.046          55.000          48.000
+ -18918273.65743 -14554103.51742  21725508.878    21725512.037    21725507.677
+      1812.798        1412.570          55.000          48.000
+  -9110369.29043  -7069580.29442  24242817.748    24242827.461    24242815.579
+      2742.025        2136.643          47.000          41.000
+  -6710915.79443  -5188391.02742  24061480.162    24061483.974    24061478.311
+      1845.095        1437.736          47.000          38.000
+ -23684640.52044 -18405304.24842  20603420.888    20603424.047    20603419.626
+     -1071.735        -835.118          57.000          51.000
+ -16894741.15043 -13153828.99342  21911229.331    21911233.990    21911229.047
+     -2520.375       -1963.928          53.000          46.000
+  -6509196.29443  -5040639.62242  24005916.764    24005924.019    24005914.517
+      1962.759        1529.422          46.000          39.000
+                                  25368261.003
+     -2452.566       -1911.090          36.000
+ 04  2  1  2 19  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -18769618.82843 -14208651.03142  21480458.319    21480462.607    21480457.165
+       823.583         641.753          54.000          48.000
+ -18972623.14243 -14596453.76342  21715166.467    21715170.203    21715164.652
+      1810.375        1410.682          55.000          48.000
+  -9192676.76643  -7133715.93142  24227155.592    24227164.816    24227153.113
+      2744.972        2138.939          48.000          41.000
+  -6766173.13643  -5231448.60242  24050963.778    24050969.215    24050963.693
+      1838.932        1432.934          46.000          39.000
+ -23652231.35344 -18380050.39342  20609588.210    20609591.248    20609587.047
+     -1089.008        -848.578          57.000          51.000
+ -16818930.23243 -13094755.60142  21925656.072    21925660.873    21925655.740
+     -2533.625       -1974.253          53.000          46.000
+  -6568038.67043  -5086490.79142  23994718.308    23994726.230    23994717.177
+      1960.001        1527.274          46.000          39.000
+ 04  2  1  2 19 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -18794202.87943 -14227807.43542  21475780.031    21475784.226    21475778.695
+       815.484         635.442          55.000          48.000
+ -19026890.29043 -14638739.84442  21704839.229    21704843.187    21704838.084
+      1807.421        1408.380          55.000          48.000
+  -9275064.52643  -7197914.12142  24211477.581    24211487.057    24211475.791
+      2747.552        2140.950          48.000          41.000
+  -6821242.80043  -5274359.94942  24040485.562    24040489.861    24040485.118
+      1832.706        1428.083          47.000          39.000
+ -23619299.25744 -18354389.05042  20615855.107    20615858.113    20615854.093
+     -1106.362        -862.100          57.000          51.000
+ -16742716.89643 -13035368.63542  21940158.885    21940163.394    21940157.582
+     -2547.132       -1984.778          53.000          46.000
+  -6626786.17443  -5132268.04042  23983539.010    23983547.744    23983538.214
+      1956.574        1524.603          47.000          39.000
+ 04  2  1  2 20  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -18818542.64943 -14246773.49142  21471147.169    21471152.796    21471146.456
+       807.051         628.871          55.000          48.000
+ -19081074.63743 -14680961.41242  21694528.465    21694532.257    21694526.927
+      1804.888        1406.406          55.000          48.000
+  -9357531.05543  -7262173.66742  24195784.925    24195794.377    24195783.262
+      2750.247        2143.050          48.000          41.000
+  -6876126.58543  -5317126.43642  24030039.156    24030048.017    24030038.523
+      1826.411        1423.177          47.000          39.000
+ -23585847.03244 -18328322.42142  20622220.289    20622223.867    20622219.637
+     -1123.675        -875.591          57.000          51.000
+ -16666105.01143 -12975671.11542  21954737.720    21954742.363    21954735.997
+     -2560.370       -1995.093          53.000          46.000
+  -6685437.28743  -5177970.16842  23972378.510    23972384.488    23972377.621
+      1953.213        1521.984          47.000          39.000
+ 04  2  1  2 20 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -18842634.05243 -14265546.00342  21466563.826    21466568.033    21466562.254
+       798.835         622.469          55.000          48.000
+ -19135169.67843 -14723113.38942  21684234.566    21684238.472    21684233.457
+      1801.461        1403.736          55.000          48.000
+  -9440068.58643  -7326488.55842  24180078.477    24180087.994    24180076.432
+      2752.380        2144.712          46.000          41.000
+  -6930820.23743  -5359744.79242  24019633.297    24019636.182    24019632.683
+      1820.155        1418.303          46.000          39.000
+ -23551870.98444 -18301847.61642  20628686.207    20628689.338    20628685.006
+     -1141.400        -889.402          57.000          51.000
+ -16589092.37143 -12915661.31642  21969392.900    21969396.725    21969391.719
+     -2573.874       -2005.616          53.000          46.000
+  -6743984.07043  -5223591.00442  23961235.710    23961243.846    23961234.759
+      1949.960        1519.449          46.000          39.000
+ 04  2  1  2 21  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -18866483.14743 -14284129.71142  21462024.762    21462029.978    21462023.804
+       791.489         616.745          55.000          48.000
+ -19189178.74143 -14765198.37142  21673957.242    21673960.427    21673955.683
+      1799.395        1402.126          55.000          48.000
+  -9522679.24543  -7390860.45142  24164358.137    24164366.311    24164356.053
+      2755.629        2147.243          46.000          41.000
+  -6985328.92343  -5402218.98842  24009260.303    24009265.626    24009259.079
+      1814.882        1414.194          47.000          39.000
+ -23517377.20244 -18274969.37942  20635250.255    20635253.239    20635249.270
+     -1157.821        -902.198          57.000          50.000
+ -16511686.14043 -12855344.81142  21984123.313    21984127.694    21984122.064
+     -2586.113       -2015.153          53.000          46.000
+  -6802428.30243  -5269131.88042  23950115.482    23950122.221    23950113.829
+      1947.229        1517.321          47.000          39.000
+ 04  2  1  2 21 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -18890090.37843 -14302524.95042  21457532.203    21457537.157    21457531.459
+       782.746         609.932          54.000          48.000
+ -19243099.43143 -14807214.49942  21663696.215    21663699.777    21663694.857
+      1795.783        1399.311          55.000          48.000
+  -9605359.67043  -7455286.70142  24148625.167    24148635.216    24148623.867
+      2756.886        2148.223          47.000          41.000
+  -7039652.41143  -5444548.91342  23998921.873    23998926.089    23998920.505
+      1807.697        1408.595          47.000          39.000
+ -23482366.73844 -18247688.53142  20641912.191    20641915.568    20641911.490
+     -1175.703        -916.132          57.000          50.000
+ -16433888.69643 -12794723.47242  21998926.668    21998932.235    21998926.132
+     -2599.762       -2025.788          52.000          46.000
+  -6860766.46543  -5314590.12342  23939014.429    23939020.374    23939012.072
+      1942.609        1513.721          47.000          39.000
+ 04  2  1  2 22  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -18913453.76143 -14320730.17242  21453087.141    21453091.839    21453085.617
+       775.160         604.021          55.000          48.000
+ -19296927.42543 -14849158.39042  21653453.377    21653456.966    21653451.845
+      1793.068        1397.196          55.000          48.000
+  -9688104.18343  -7519762.86642  24132879.672    24132887.950    24132877.798
+      2759.561        2150.307          47.000          40.000
+  -7093788.26643  -5486732.60442  23988621.782    23988625.544    23988620.462
+      1801.919        1404.093          48.000          39.000
+ -23446838.01144 -18220003.84942  20648673.154    20648676.586    20648672.174
+     -1192.485        -929.209          57.000          50.000
+ -16355699.74443 -12733797.06442  22013805.488    22013810.454    22013804.272
+     -2612.387       -2035.626          52.000          46.000
+  -6918992.81043  -5359961.24842  23927934.408    23927942.503    23927933.091
+      1939.527        1511.320          47.000          40.000
+ 04  2  1  2 22 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -18936576.58043 -14338747.95442  21448686.666    21448691.742    21448685.590
+       766.359         597.163          55.000          48.000
+ -19350663.27343 -14891030.48142  21643227.649    21643230.990    21643226.108
+      1789.104        1394.107          55.000          48.000
+  -9770912.22343  -7584288.55342  24117118.850    24117129.530    24117117.517
+      2760.936        2151.379          45.000          39.000
+  -7147739.60143  -5528772.51042  23978352.214    23978359.592    23978351.923
+      1794.172        1398.056          45.000          39.000
+ -23410794.76343 -18191918.24042  20655531.978    20655535.045    20655530.782
+     -1210.546        -943.282          56.000          50.000
+ -16277123.94443 -12672569.21842  22028758.252    22028763.021    22028757.168
+     -2626.141       -2046.344          53.000          46.000
+  -6977106.63943  -5405244.66442  23916874.827    23916882.331    23916873.318
+      1934.567        1507.455          47.000          40.000
+ 04  2  1  2 23  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -18959458.42843 -14356577.96242  21444333.140    21444337.211    21444331.492
+       759.439         591.771          55.000          48.000
+ -19404303.64743 -14932828.17342  21633020.236    21633024.010    21633019.046
+      1786.989        1392.459          55.000          48.000
+  -9853779.19843  -7648860.16742  24101351.783    24101359.601    24101349.506
+      2763.746        2153.568          45.000          40.000
+  -7201505.00543  -5570667.48542  23968122.046    23968126.743    23968121.134
+      1789.941        1394.759          45.000          39.000
+ -23374236.68144 -18163431.45642  20662488.951    20662492.335    20662488.091
+     -1226.537        -955.743          57.000          50.000
+ -16198162.40043 -12611040.78742  22043783.712    22043789.204    22043782.809
+     -2637.756       -2055.394          52.000          46.000
+  -7035103.43443  -5450436.87642  23905838.784    23905846.393    23905838.364
+      1931.913        1505.387          46.000          40.000
+ 04  2  1  2 23 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -18982103.06343 -14374223.12842  21440023.409    21440028.103    21440022.081
+       751.130         585.296          55.000          48.000
+ -19457849.68643 -14974552.35442  21622830.849    21622834.914    21622829.441
+      1783.338        1389.614          56.000          48.000
+  -9936705.28343  -7713477.81642  24085571.886    24085580.704    24085569.674
+      2765.003        2154.548          47.000          40.000
+  -7255087.84943  -5612420.30242  23957926.042    23957931.033    23957926.342
+      1783.110        1389.436          46.000          39.000
+ -23337168.32044 -18134547.05442  20669542.669    20669546.471    20669541.787
+     -1244.128        -969.450          57.000          50.000
+ -16118820.68743 -12549216.12742  22058882.800    22058887.572    22058882.503
+     -2650.981       -2065.699          53.000          46.000
+  -7092982.78043  -5495537.53742  23894824.110    23894831.632    23894823.627
+      1927.469        1501.924          46.000          39.000
+ 04  2  1  2 24  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19004511.27443 -14391684.07442  21435759.311    21435764.060    21435758.600
+       742.758         578.772          55.000          48.000
+ -19511299.50143 -15016201.56442  21612658.946    21612663.161    21612657.926
+      1779.597        1386.699          55.000          48.000
+ -10019687.35043  -7778139.08842  24069780.593    24069789.433    24069779.300
+      2766.412        2155.646          47.000          40.000
+  -7308488.58143  -5654031.13242  23947764.479    23947768.510    23947763.670
+      1776.505        1384.290          46.000          39.000
+ -23299590.78344 -18105265.89442  20676693.521    20676696.812    20676692.613
+     -1261.519        -983.002          57.000          50.000
+ -16039101.11943 -12487097.03042  22074052.549    22074058.178    22074051.832
+     -2663.971       -2075.821          53.000          46.000
+  -7150741.67443  -5540544.37842  23883832.845    23883838.842    23883831.082
+      1922.850        1498.325          47.000          40.000
+ 04  2  1  2 24 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19026680.32143 -14408958.64942  21431540.607    21431545.268    21431539.750
+       735.055         572.770          55.000          48.000
+ -19564647.53643 -15057771.46442  21602507.539    21602511.810    21602506.236
+      1776.872        1384.576          55.000          48.000
+ -10102718.60843  -7842838.69242  24053979.077    24053987.747    24053977.291
+      2768.543        2157.306          47.000          40.000
+  -7361703.44443  -5695497.17342  23937638.647    23937642.746    23937637.738
+      1770.899        1379.921          48.000          40.000
+ -23261501.89744 -18075586.27842  20683941.669    20683945.139    20683940.635
+     -1277.876        -995.747          57.000          50.000
+ -15959002.57043 -12424682.63142  22089294.678    22089299.685    22089294.039
+     -2676.017       -2085.208          52.000          46.000
+  -7208373.20643  -5585451.98042  23872866.776    23872873.881    23872864.809
+      1919.179        1495.464          47.000          39.000
+ 04  2  1  2 25  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19048614.48543 -14426050.20442  21427366.619    21427371.294    21427365.374
+       727.286         566.716          54.000          48.000
+ -19617895.31043 -15099263.23542  21592374.843    21592378.613    21592373.697
+      1773.236        1381.742          55.000          48.000
+ -10185799.54643  -7907577.03242  24038169.842    24038179.269    24038167.499
+      2770.464        2158.803          47.000          41.000
+  -7414736.77243  -5736821.75742  23927546.786    23927551.481    23927544.795
+      1764.847        1375.205          47.000          40.000
+ -23222906.31744 -18045511.83542  20691285.834    20691289.638    20691285.342
+     -1294.897       -1009.011          57.000          50.000
+ -15878530.87943 -12361977.47142  22104608.939    22104612.987    22104608.056
+     -2688.557       -2094.979          53.000          46.000
+  -7265877.63143  -5630260.57142  23861923.146    23861930.047    23861922.085
+      1914.610        1491.904          47.000          40.000
+ 04  2  1  2 25 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19070315.92243 -14442960.40942  21423236.943    21423242.169    21423235.578
+       719.440         560.603          54.000          48.000
+ -19671042.28443 -15140676.45742  21582261.342    21582265.319    21582259.757
+      1769.713        1378.997          55.000          48.000
+ -10268928.36443  -7972352.65842  24022351.952    24022359.318    24022349.303
+      2771.520        2159.626          48.000          41.000
+  -7467589.82143  -5778005.86142  23917486.975    23917493.330    23917486.673
+      1758.470        1370.236          47.000          40.000
+ -23183806.75344 -18015044.67242  20698726.544    20698729.973    20698725.469
+     -1311.878       -1022.242          57.000          50.000
+ -15797689.80143 -12298984.48642  22119991.680    22119996.638    22119990.911
+     -2700.941       -2104.629          52.000          45.000
+  -7323253.22543  -5674968.75442  23851005.034    23851011.172    23851004.913
+      1910.234        1488.494          46.000          40.000
+ 04  2  1  2 26  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19091781.25843 -14459686.65242  21419152.055    21419156.808    21419150.872
+       711.647         554.530          54.000          48.000
+ -19724082.16543 -15182006.23342  21572168.773    21572172.122    21572167.034
+      1766.219        1376.275          55.000          48.000
+ -10352097.77343  -8037159.92142  24006525.350    24006532.670    24006523.538
+      2772.843        2160.657          49.000          42.000
+  -7520258.86143  -5819046.57842  23907464.361    23907469.886    23907464.740
+      1753.166        1366.103          47.000          39.000
+ -23144200.53144 -17984182.71742  20706263.345    20706266.670    20706262.315
+     -1328.610       -1035.280          57.000          50.000
+ -15716477.58643 -12235702.28542  22135446.419    22135450.769    22135445.625
+     -2713.055       -2114.069          52.000          46.000
+  -7380492.50443  -5719570.68842  23840113.207    23840121.242    23840112.352
+      1905.769        1485.015          46.000          40.000
+ 04  2  1  2 26 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19113017.48743 -14476234.36342  21415111.261    21415115.660    21415109.859
+       703.120         547.886          55.000          48.000
+ -19777019.34643 -15223255.98642  21562095.056    21562098.218    21562093.492
+      1761.964        1372.959          55.000          48.000
+ -10435310.81243  -8102001.15842  23990690.095    23990698.414    23990688.763
+      2773.426        2161.111          50.000          42.000
+  -7572750.42143  -5859949.01542  23897477.793    23897480.427    23897476.302
+      1745.861        1360.411          47.000          39.000
+ -23104095.11744 -17952931.78842  20713895.670    20713898.601    20713894.308
+     -1346.052       -1048.872          57.000          50.000
+ -15634903.07243 -12172137.77942  22150969.380    22150973.081    22150968.561
+     -2726.050       -2124.195          52.000          45.000
+  -7437598.41943  -5764068.69842  23829246.011    23829253.603    23829244.845
+      1900.452        1480.872          47.000          40.000
+ 04  2  1  2 27  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19134024.31543 -14492603.32342  21411113.798    21411118.552    21411112.483
+       695.866         542.233          55.000          48.000
+ -19829850.57543 -15264423.17342  21552041.718    21552044.558    21552040.246
+      1758.683        1370.402          55.000          49.000
+ -10518563.27743  -8166873.13642  23974847.735    23974855.667    23974846.008
+      2775.154        2162.458          49.000          42.000
+  -7625063.36443  -5900712.30342  23887520.657    23887525.566    23887519.809
+      1739.981        1355.829          46.000          39.000
+ -23063490.93444 -17921292.19542  20721622.027    20721625.669    20721620.983
+     -1362.418       -1061.624          57.000          50.000
+ -15552967.33443 -12108291.79842  22166560.806    22166565.616    22166560.229
+     -2737.792       -2133.344          52.000          45.000
+  -7494566.50843  -5808459.30142  23818405.393    23818413.174    23818404.459
+      1895.887        1477.315          47.000          41.000
+ 04  2  1  2 27 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19154795.67343 -14508788.80942  21407161.061    21407165.807    21407160.149
+       688.822         536.744          55.000          48.000
+ -19882567.11943 -15305500.99642  21542010.422    21542013.282    21542008.949
+      1755.707        1368.083          56.000          49.000
+ -10601845.08143  -8231767.95642  23958998.823    23959006.770    23958997.074
+      2776.852        2163.781          48.000          42.000
+  -7677191.27843  -5941331.41642  23877601.528    23877608.473    23877600.810
+      1735.162        1352.074          48.000          39.000
+ -23022381.89944 -17889259.22342  20729445.172    20729448.335    20729444.006
+     -1378.287       -1073.990          57.000          50.000
+ -15470665.97843 -12044160.92642  22182222.779    22182227.190    22182221.531
+     -2749.031       -2142.102          52.000          45.000
+  -7551386.92643  -5852734.87442  23807591.913    23807600.690    23807591.425
+      1892.023        1474.304          47.000          40.000
+ 04  2  1  2 28  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19175343.00943 -14524799.72342  21403251.461    21403256.228    21403250.036
+       680.944         530.606          55.000          48.000
+ -19935177.45143 -15346496.05442  21531998.036    21532001.624    21531996.657
+      1751.713        1364.971          56.000          49.000
+ -10685163.67843  -8296691.44842  23943144.340    23943153.097    23943142.492
+      2777.670        2164.418          49.000          42.000
+  -7729145.30543  -5981815.01742  23867716.246    23867719.864    23867714.961
+      1728.767        1347.091          47.000          39.000
+ -22980780.55344 -17856842.62842  20737361.660    20737365.155    20737360.465
+     -1395.096       -1087.088          57.000          50.000
+ -15388012.17543 -11979755.41842  22197950.461    22197955.908    22197949.183
+     -2761.181       -2151.570          51.000          45.000
+  -7608067.19343  -5896901.24842  23796806.774    23796813.492    23796806.527
+      1886.932        1470.337          47.000          40.000
+ 04  2  1  2 28 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19195660.19843 -14540631.30142  21399385.267    21399389.687    21399383.658
+       673.816         525.051          55.000          48.000
+ -19987672.80743 -15387401.52042  21522008.793    21522012.094    21522007.538
+      1748.325        1362.331          55.000          48.000
+ -10768509.04743  -8361635.80242  23927283.965    23927293.477    23927283.052
+      2779.043        2165.488          47.000          42.000
+  -7780918.68243  -6022157.86042  23857862.812    23857870.690    23857862.864
+      1723.533        1343.013          47.000          39.000
+ -22938681.40844 -17824038.13942  20745372.355    20745375.827    20745371.338
+     -1411.146       -1099.594          57.000          50.000
+ -15305001.24843 -11915071.63442  22213747.782    22213752.345    22213747.080
+     -2772.578       -2160.450          52.000          45.000
+  -7664597.05443  -5940950.42242  23786050.151    23786056.071    23786047.967
+      1882.113        1466.582          48.000          41.000
+ 04  2  1  2 29  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19215751.00843 -14556286.48042  21395561.435    21395566.239    21395560.573
+       665.287         518.405          55.000          48.000
+ -20040053.99743 -15428218.03142  21512041.320    21512044.241    21512039.725
+      1743.550        1358.610          56.000          49.000
+ -10851880.86643  -8426600.77042  23911418.927    23911426.909    23911417.898
+      2778.977        2165.437          47.000          41.000
+  -7832514.58643  -6062362.41942  23848045.307    23848050.143    23848044.392
+      1716.403        1337.457          47.000          39.000
+ -22896088.54544 -17790848.93542  20753478.006    20753481.545    20753476.530
+     -1428.670       -1113.249          57.000          50.000
+ -15221638.66243 -11850113.82842  22229611.110    22229616.651    22229610.914
+     -2785.200       -2170.286          52.000          45.000
+  -7720976.07143  -5984882.03142  23775320.056    23775327.615    23775318.313
+      1876.271        1462.029          47.000          40.000
+ 04  2  1  2 29 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19235615.23343 -14571765.10642  21391781.722    21391786.367    21391780.211
+       658.491         513.110          55.000          48.000
+ -20092317.95143 -15468943.17942  21502095.625    21502099.054    21502094.064
+      1740.325        1356.097          56.000          49.000
+ -10935274.99243  -8491583.13142  23895548.289    23895557.811    23895547.798
+      2780.579        2166.685          47.000          41.000
+  -7883932.67043  -6102428.41242  23838259.714    23838265.009    23838259.603
+      1711.035        1333.274          46.000          39.000
+ -22853002.86844 -17757275.72142  20761676.846    20761679.746    20761675.661
+     -1444.197       -1125.348          57.000          50.000
+ -15137925.98143 -11784883.22042  22245541.663    22245546.004    22245540.600
+     -2795.988       -2178.692          52.000          45.000
+  -7777200.00143  -6028692.85042  23764621.663    23764627.534    23764620.333
+      1871.827        1458.566          47.000          40.000
+ 04  2  1  2 30  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19255257.28043 -14587070.59142  21388044.221    21388048.820    21388042.811
+       650.303         506.730          55.000          48.000
+ -20144466.41743 -15509578.34442  21492171.878    21492175.620    21492170.578
+      1735.588        1352.406          56.000          49.000
+ -11018691.71043  -8556583.08342  23879676.285    23879683.548    23879674.395
+      2779.923        2166.174          48.000          41.000
+  -7935176.58543  -6142358.67742  23828509.110    23828515.389    23828508.070
+      1704.705        1328.342          47.000          40.000
+ -22809429.19944 -17723322.25142  20769968.681    20769972.005    20769967.783
+     -1461.216       -1138.610          57.000          50.000
+ -15053869.28443 -11719384.54942  22261536.791    22261541.619    22261535.998
+     -2808.311       -2188.294          51.000          45.000
+  -7833269.44043  -6072383.25142  23753952.267    23753960.365    23753950.172
+      1865.601        1453.715          46.000          41.000
+ 04  2  1  2 30 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19274675.48943 -14602201.66642  21384348.729    21384353.509    21384347.506
+       643.272         501.251          55.000          48.000
+ -20196494.69243 -15550119.85342  21482271.092    21482275.042    21482269.771
+      1732.007        1349.616          55.000          49.000
+ -11102125.45543  -8621596.31042  23863797.750    23863807.762    23863795.755
+      2781.101        2167.092          47.000          41.000
+  -7986244.15143  -6182151.54842  23818791.087    23818797.272    23818790.524
+      1699.164        1324.024          47.000          40.000
+ -22765366.58644 -17688987.79042  20778353.675    20778356.897    20778352.277
+     -1477.148       -1151.024          57.000          50.000
+ -14969468.43343 -11653617.69742  22277597.700    22277602.902    22277597.027
+     -2819.297       -2196.855          51.000          45.000
+  -7889178.40943  -6115948.61342  23743311.745    23743319.746    23743311.503
+      1860.554        1449.782          46.000          41.000
+ 04  2  1  2 31  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19293868.93543 -14617157.59642  21380696.580    21380700.812    21380695.434
+       636.081         495.647          55.000          48.000
+ -20248399.12643 -15590564.86742  21472394.448    21472397.754    21472392.972
+      1728.151        1346.611          56.000          49.000
+ -11185571.26243  -8686618.93442  23847919.363    23847927.855    23847917.138
+      2781.655        2167.523          48.000          42.000
+  -8037134.24243  -6221806.13142  23809106.360    23809112.269    23809106.061
+      1693.478        1319.593          47.000          40.000
+ -22720815.07444 -17654272.36942  20786831.492    20786834.646    20786830.585
+     -1493.146       -1163.490          57.000          50.000
+ -14884724.08443 -11587583.20542  22293723.718    22293729.667    22293723.296
+     -2830.537       -2205.613          51.000          45.000
+  -7944922.14143  -6159385.20842  23732706.171    23732711.439    23732704.284
+      1855.340        1445.719          48.000          42.000
+ 04  2  1  2 31 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19312844.09343 -14631943.42942  21377086.053    21377089.829    21377084.555
+       628.303         489.587          55.000          48.000
+ -20300183.25543 -15630916.13042  21462539.823    21462543.442    21462538.027
+      1723.539        1343.017          55.000          48.000
+ -11269031.47143  -8751652.79542  23832036.962    23832046.275    23832034.524
+      2781.640        2167.512          48.000          42.000
+  -8087852.73743  -6261326.98242  23799456.722    23799460.440    23799455.586
+      1687.283        1314.766          48.000          40.000
+ -22675781.68344 -17619181.45942  20795401.139    20795404.330    20795400.111
+     -1509.701       -1176.390          57.000          50.000
+ -14799644.81943 -11521287.72842  22309914.293    22309918.727    22309912.806
+     -2842.103       -2214.626          51.000          45.000
+  -8000503.08643  -6202694.99742  23722128.368    23722135.824    23722126.985
+      1849.344        1441.047          48.000          42.000
+ 04  2  1  2 32  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19331599.38443 -14646557.94442  21373516.845    21373521.305    21373515.571
+       620.869         483.794          55.000          48.000
+ -20351842.37543 -15671169.99342  21452709.139    21452713.094    21452707.784
+      1719.274        1339.694          55.000          48.000
+ -11352500.31543  -8816693.39842  23816153.917    23816162.125    23816151.300
+      2781.827        2167.657          48.000          41.000
+  -8138397.40243  -6300712.40142  23789837.001    23789843.290    23789838.360
+      1681.270        1310.081          48.000          40.000
+ -22630265.62344 -17583714.44642  20804062.592    20804065.802    20804061.727
+     -1525.787       -1188.925          57.000          50.000
+ -14714230.46943 -11454731.14742  22326167.754    22326173.250    22326166.785
+     -2853.322       -2223.368          51.000          45.000
+  -8055915.50643  -6245873.44142  23711583.873    23711590.788    23711582.130
+      1843.794        1436.723          47.000          42.000
+ 04  2  1  2 32 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19350134.86343 -14661001.16542  21369989.160    21369994.294    21369988.039
+       614.319         478.690          55.000          48.000
+ -20403373.76743 -15711324.32442  21442903.627    21442907.063    21442901.874
+      1715.778        1336.970          55.000          49.000
+ -11435973.68843  -8881737.52442  23800269.222    23800275.105    23800269.134
+      2782.463        2168.153          48.000          41.000
+  -8188767.93443  -6339962.13242  23780252.337    23780257.691    23780252.384
+      1676.191        1306.123          48.000          40.000
+ -22584267.39244 -17547871.71242  20812815.616    20812819.130    20812814.506
+     -1541.093       -1200.852          57.000          50.000
+ -14628482.58843 -11387914.66842  22342485.324    22342490.577    22342484.061
+     -2863.575       -2231.357          51.000          45.000
+  -8111155.34243  -6288917.41242  23701072.574    23701078.734    23701070.064
+      1838.508        1432.604          47.000          41.000
+ 04  2  1  2 33  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19368454.15443 -14675275.93342  21366503.559    21366507.537    21366502.220
+       607.473         473.356          55.000          48.000
+ -20454778.19843 -15751379.71442  21433121.567    21433125.137    21433120.475
+      1711.828        1333.892          55.000          49.000
+ -11519451.34243  -8946784.96842  23784383.368    23784392.272    23784381.039
+      2783.178        2168.710          48.000          42.000
+  -8238967.54043  -6379078.65642  23770699.062    23770704.167    23770698.942
+      1670.751        1301.884          48.000          40.000
+ -22537791.44944 -17511656.73542  20821659.765    20821663.366    20821658.546
+     -1556.725       -1213.032          57.000          50.000
+ -14542406.15743 -11320842.18042  22358865.042    22358870.195    22358863.063
+     -2874.215       -2239.648          51.000          45.000
+  -8166222.09243  -6331826.52042  23690591.203    23690600.550    23690590.712
+      1833.033        1428.337          46.000          40.000
+ 04  2  1  2 33 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19386554.44743 -14689380.05142  21363058.497    21363063.738    21363057.660
+       600.095         467.606          55.000          48.000
+ -20506049.71943 -15791331.54142  21423364.038    21423368.767    21423363.080
+      1707.251        1330.325          55.000          49.000
+ -11602926.25543  -9011830.27642  23768498.564    23768508.600    23768498.122
+      2782.715        2168.349          48.000          42.000
+  -8288992.84043  -6418059.36242  23761178.627    23761184.588    23761179.163
+      1664.930        1297.348          47.000          40.000
+ -22490835.94444 -17475068.08242  20830595.027    20830598.538    20830594.145
+     -1572.782       -1225.544          57.000          50.000
+ -14456000.04543 -11253512.79542  22375308.278    22375313.777    22375307.392
+     -2885.206       -2248.212          51.000          45.000
+  -8221109.02843  -6374595.52342  23680148.998    23680155.504    23680146.741
+      1826.904        1423.562          48.000          40.000
+ 04  2  1  2 34  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19404441.36743 -14703317.90042  21359655.480    21359660.042    21359653.954
+       592.532         461.713          55.000          48.000
+ -20557191.23443 -15831182.07142  21413632.899    21413636.363    21413631.282
+      1702.356        1326.511          55.000          49.000
+ -11686399.95643  -9076874.64142  23752614.271    23752622.386    23752612.788
+      2782.262        2167.996          49.000          43.000
+  -8338849.08543  -6456908.31842  23751692.585    23751698.845    23751691.632
+      1658.944        1292.684          47.000          40.000
+ -22443407.22744 -17438110.69242  20839620.686    20839623.865    20839619.545
+     -1589.007       -1238.187          57.000          50.000
+ -14369271.86043 -11185932.45442  22391811.133    22391816.574    22391810.679
+     -2896.293       -2256.852          50.000          45.000
+  -8275817.56543  -6417225.55642  23669737.336    23669743.806    23669737.036
+      1820.524        1418.590          48.000          41.000
+ 04  2  1  2 34 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19422114.17643 -14717088.91542  21356291.789    21356296.715    21356290.945
+       585.798         456.466          55.000          48.000
+ -20608199.01543 -15870928.38742  21403926.434    21403930.308    21403925.240
+      1698.220        1323.288          55.000          49.000
+ -11769867.72043  -9141914.38542  23736730.146    23736739.520    23736728.256
+      2782.355        2168.069          48.000          42.000
+  -8388535.20443  -6495624.74542  23742237.336    23742241.657    23742236.260
+      1653.532        1288.466          47.000          40.000
+ -22395505.47444 -17400784.69542  20848736.105    20848739.450    20848735.263
+     -1604.438       -1250.211          57.000          50.000
+ -14282222.42743 -11118101.80442  22408376.132    22408382.258    22408375.520
+     -2906.758       -2265.006          51.000          45.000
+  -8330343.00943  -6459712.87942  23659362.352    23659367.366    23659359.429
+      1814.760        1414.099          48.000          41.000
+ 04  2  1  2 35  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19439571.42843 -14730691.96542  21352969.818    21352974.745    21352968.471
+       578.103         450.470          55.000          48.000
+ -20659068.57943 -15910567.01542  21394246.218    21394250.244    21394244.950
+      1693.126        1319.319          55.000          49.000
+ -11853323.95143  -9206945.13042  23720849.699    23720858.284    23720847.356
+      2781.544        2167.437          48.000          43.000
+  -8438049.00543  -6534206.88042  23732815.029    23732821.523    23732814.568
+      1647.487        1283.756          47.000          40.000
+ -22347130.11044 -17363089.65642  20857941.508    20857945.169    20857940.701
+     -1620.618       -1262.819          57.000          50.000
+ -14194851.98543 -11050021.00042  22425002.571    22425007.408    22425001.285
+     -2917.964       -2273.738          51.000          45.000
+  -8384679.97443  -6502053.30442  23649020.661    23649027.491    23649019.080
+      1807.698        1408.596          46.000          41.000
+ 04  2  1  2 35 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19456818.17043 -14744130.97742  21349687.998    21349692.819    21349687.374
+       571.609         445.410          55.000          48.000
+ -20709802.31643 -15950099.79542  21384592.184    21384595.971    21384590.946
+      1689.120        1316.197          56.000          49.000
+ -11936769.60743  -9271967.63642  23704971.085    23704979.048    23704969.512
+      2781.580        2167.465          48.000          43.000
+  -8487395.29943  -6572658.49342  23723425.482    23723430.286    23723422.919
+      1642.060        1279.527          48.000          40.000
+ -22298286.95644 -17325030.10942  20867236.025    20867239.807    20867235.330
+     -1635.623       -1274.511          57.000          50.000
+ -14107167.18943 -10981695.25642  22441688.344    22441693.389    22441687.004
+     -2927.806       -2281.407          51.000          45.000
+  -8438829.50743  -6544247.66842  23638717.159    23638723.971    23638715.646
+      1802.297        1404.387          47.000          40.000
+ 04  2  1  2 36  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19473853.02943 -14757404.89142  21346447.292    21346450.856    21346445.397
+       564.248         439.674          55.000          48.000
+ -20760395.53743 -15989523.08142  21374964.465    21374968.101    21374963.213
+      1684.074        1312.265          56.000          49.000
+ -12020198.83343  -9336977.33042  23689095.134    23689103.395    23689093.990
+      2780.692        2166.773          49.000          43.000
+  -8536572.19943  -6610978.10342  23714066.236    23714071.073    23714066.527
+      1636.187        1274.951          46.000          40.000
+ -22248975.64044 -17286605.75742  20876619.622    20876623.281    20876618.886
+     -1651.546       -1286.919          57.000          50.000
+ -14019168.39143 -10913124.83042  22458433.401    22458438.896    22458433.421
+     -2938.596       -2289.815          51.000          44.000
+  -8492785.83243  -6586291.53642  23628449.020    23628455.697    23628447.560
+      1795.346        1398.971          47.000          40.000
+ 04  2  1  2 36 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19490679.91643 -14770516.75042  21343244.279    21343249.173    21343243.011
+       557.529         434.438          55.000          48.000
+ -20810849.29643 -16028837.69842  21365363.953    21365367.033    21365362.442
+      1679.427        1308.644          56.000          49.000
+ -12103611.52143  -9401974.12642  23673221.441    23673230.850    23673218.973
+      2780.225        2166.409          48.000          42.000
+  -8585583.35543  -6649168.59242  23704739.211    23704743.749    23704739.636
+      1630.996        1270.906          46.000          39.000
+ -22199200.66644 -17247820.11342  20886091.819    20886095.888    20886090.791
+     -1666.835       -1298.832          57.000          50.000
+ -13930861.01843 -10844313.94342  22475238.889    22475243.623    22475237.758
+     -2948.538       -2297.562          51.000          44.000
+  -8546548.95543  -6628184.85642  23618218.837    23618226.194    23618217.775
+      1788.860        1393.917          47.000          40.000
+ 04  2  1  2 37  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19507294.53143 -14783463.21142  21340082.648    21340087.691    21340081.323
+       550.532         428.986          55.000          48.000
+ -20861155.97443 -16068037.70142  21355790.633    21355794.065    21355789.403
+      1674.718        1304.975          56.000          49.000
+ -12186999.18343  -9466951.43442  23657353.030    23657360.589    23657351.830
+      2779.230        2165.634          48.000          43.000
+  -8634423.72143  -6687225.97342  23695446.109    23695450.536    23695445.280
+      1625.758        1266.824          47.000          40.000
+ -22148958.85144 -17208670.70042  20895652.405    20895656.714    20895651.305
+     -1682.239       -1310.835          57.000          50.000
+ -13842242.47443 -10775260.60642  22492101.569    22492106.878    22492100.316
+     -2958.757       -2305.525          51.000          44.000
+  -8600110.54743  -6669921.11842  23608026.673    23608032.826    23608025.321
+      1782.356        1388.849          48.000          41.000
+ 04  2  1  2 37 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19523705.58143 -14796251.03842  21336959.476    21336964.618    21336958.468
+       542.858         423.006          55.000          48.000
+  -1067719.50753   -810294.60552  25092758.437    25092769.050    25092756.736
+      3899.046        3038.218          41.000          35.000
+ -20911321.41543 -16107127.65542  21346244.538    21346248.298    21346243.095
+      1668.974        1300.499          56.000          49.000
+ -12270366.42843  -9531912.83942  23641488.057    23641497.104    23641485.957
+      2777.936        2164.625          48.000          42.000
+  -8683101.83043  -6725156.92042  23686183.336    23686188.300    23686183.217
+      1619.041        1261.590          47.000          40.000
+ -22098259.63143 -17169164.86342  20905300.100    20905303.801    20905299.180
+     -1698.424       -1323.447          56.000          50.000
+ -13753322.83943 -10705972.64942  22509023.052    22509027.507    22509021.247
+     -2969.727       -2314.073          51.000          44.000
+  -8653474.96043  -6711503.71642  23597871.835    23597879.692    23597870.131
+      1774.523        1382.745          47.000          40.000
+ 04  2  1  2 38  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19539909.46843 -14808877.45342  21333876.237    21333881.028    21333875.082
+       537.252         418.638          55.000          48.000
+  -1184698.16743   -901446.67342  25070497.886    25070510.064    25070495.484
+      3899.484        3038.559          42.000          35.000
+ -20961339.18843 -16146102.54542  21336726.315    21336730.109    21336725.024
+      1665.343        1297.670          56.000          49.000
+ -12353705.36743  -9596852.18042  23625629.237    23625636.836    23625628.584
+      2778.107        2164.759          48.000          42.000
+  -8731613.54043  -6762958.22942  23676951.085    23676955.396    23676950.194
+      1614.938        1258.393          47.000          40.000
+ -22047100.26343 -17129300.47442  20915035.636    20915039.499    20915034.317
+     -1712.386       -1334.327          56.000          50.000
+ -13664100.35743 -10636448.71442  22526001.590    22526006.449    22526000.862
+     -2978.588       -2320.978          51.000          45.000
+  -8706634.94443  -6752927.06042  23587756.257    23587762.483    23587754.076
+      1769.015        1378.453          47.000          40.000
+ 04  2  1  2 38 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19555907.62643 -14821343.54842  21330831.948    21330836.512    21330830.604
+       530.196         413.140          55.000          48.000
+  -1301650.92343   -992578.58342  25048242.594    25048253.544    25048240.020
+      3898.462        3037.762          44.000          37.000
+ -21011207.80743 -16184961.21242  21327236.754    21327240.054    21327235.327
+      1660.097        1293.582          56.000          49.000
+ -12437013.27743  -9661767.36642  23609777.223    23609785.765    23609776.057
+      2776.669        2163.638          48.000          42.000
+  -8779959.97643  -6800630.72842  23667750.923    23667757.192    23667750.880
+      1609.166        1253.896          47.000          40.000
+ -21995483.14843 -17089079.39442  20924857.572    20924861.268    20924856.648
+     -1727.852       -1346.378          56.000          50.000
+ -13574577.91943 -10566691.03142  22543037.518    22543042.454    22543035.680
+     -2988.715       -2328.869          51.000          44.000
+  -8759587.67443  -6794188.88142  23577678.831    23577685.275    23577674.438
+      1762.213        1373.153          45.000          39.000
+ 04  2  1  2 39  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19571702.16943 -14833650.98442  21327826.306    21327831.234    21327825.411
+       522.037         406.782          55.000          48.000
+  -1418576.87343  -1083689.55942  25025991.911    25026003.866    25025990.086
+      3896.128        3035.944          43.000          37.000
+ -21060926.23943 -16223702.85042  21317774.807    21317778.784    21317773.626
+      1653.703        1288.600          55.000          49.000
+ -12520288.18443  -9726656.80642  23593930.828    23593937.712    23593929.235
+      2774.179        2161.698          48.000          42.000
+  -8828142.74443  -6838175.71542  23658582.034    23658587.540    23658581.525
+      1602.502        1248.703          47.000          40.000
+ -21943411.57543 -17048504.19842  20934766.821    20934770.211    20934765.652
+     -1744.236       -1359.145          56.000          50.000
+ -13484759.58443 -10496702.79442  22560129.686    22560134.404    22560128.593
+     -2999.812       -2337.516          51.000          44.000
+  -8812331.30243  -6835287.76442  23567642.470    23567648.131    23567640.759
+      1753.564        1366.414          47.000          41.000
+ 04  2  1  2 39 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19587298.09743 -14845803.66042  21324858.515    21324863.457    21324857.584
+       516.566         402.519          55.000          48.000
+  -1535477.32743  -1174780.61042  25003746.339    25003757.221    25003744.177
+      3896.396        3036.153          43.000          37.000
+ -21110496.45643 -16262328.99342  21308342.401    21308346.075    21308341.189
+      1649.837        1285.587          56.000          49.000
+ -12603530.70643  -9791521.01642  23578089.641    23578097.242    23578088.815
+      2774.229        2161.737          50.000          43.000
+  -8876166.39443  -6875596.72642  23649443.877    23649448.019    23649442.098
+      1597.792        1245.033          47.000          40.000
+ -21890891.81243 -17007579.76042  20944761.255    20944764.878    20944760.188
+     -1758.139       -1369.978          56.000          50.000
+ -13394652.02343 -10426489.20042  22577276.458    22577281.246    22577275.205
+     -3008.391       -2344.201          51.000          44.000
+  -8864866.77743  -6876224.46242  23557643.976    23557651.187    23557643.170
+      1747.578        1361.749          47.000          41.000
+ 04  2  1  2 40  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19602688.76043 -14857796.39142  21321930.346    21321934.442    21321928.938
+       509.157         396.746          55.000          48.000
+  -1652342.39943  -1265844.08142  24981508.822    24981518.740    24981506.594
+      3894.415        3034.609          43.000          37.000
+ -21159908.88343 -16300832.17742  21298939.763    21298943.121    21298938.439
+      1644.036        1281.067          56.000          49.000
+ -12686730.14043  -9856351.66942  23562257.019    23562265.457    23562255.414
+      2772.236        2160.184          49.000          43.000
+  -8924024.53143  -6912888.74542  23640336.121    23640341.130    23640335.427
+      1592.121        1240.614          47.000          40.000
+ -21837917.93243 -16966301.46842  20954841.702    20954845.774    20954840.442
+     -1773.721       -1382.120          56.000          50.000
+ -13304250.23443 -10356046.31842  22594479.597    22594484.325    22594479.082
+     -3018.695       -2352.230          51.000          44.000
+  -8917183.61543  -6916990.79042  23547689.311    23547695.572    23547687.948
+      1739.938        1355.796          47.000          40.000
+ 04  2  1  2 40 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19617876.22643 -14869630.78442  21319039.922    21319044.497    21319038.531
+       502.522         391.575          55.000          48.000
+  -1769170.66643  -1356878.90142  24959275.714    24959287.110    24959273.924
+      3893.339        3033.771          43.000          37.000
+ -21209162.53343 -16339211.64742  21289567.056    21289571.129    21289565.573
+      1638.854        1277.029          56.000          49.000
+ -12769884.40243  -9921147.12042  23546433.064    23546440.905    23546430.524
+      2770.697        2158.985          49.000          42.000
+  -8971717.84743  -6950052.33942  23631260.021    23631266.041    23631259.921
+      1586.862        1236.516          47.000          40.000
+ -21784492.64544 -16924671.43242  20965008.520    20965012.217    20965007.394
+     -1788.572       -1393.692          57.000          50.000
+ -13213557.73143 -10285376.90042  22611737.940    22611742.740    22611736.840
+     -3028.229       -2359.659          51.000          44.000
+  -8969279.65143  -6957585.05742  23537775.459    23537782.332    23537773.993
+      1732.377        1349.904          47.000          40.000
+ 04  2  1  2 41  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19632865.43943 -14881310.68842  21316187.005    21316192.136    21316185.916
+       495.991         386.486          55.000          48.000
+  -1885963.70143  -1447886.21842  24937049.172    24937061.520    24937046.837
+      3891.790        3032.564          41.000          37.000
+ -21258259.16743 -16377468.76542  21280224.152    21280227.741    21280222.486
+      1633.530        1272.881          56.000          49.000
+ -12852994.02743  -9985907.79742  23530617.421    23530626.350    23530616.889
+      2769.235        2157.845          49.000          43.000
+  -9019251.30743  -6987091.36942  23622214.934    23622220.307    23622214.991
+      1581.570        1232.392          47.000          40.000
+ -21730622.53944 -16882694.77442  20975259.923    20975262.833    20975258.875
+     -1803.424       -1405.265          57.000          50.000
+ -13122581.22443 -10214486.18742  22629048.739    22629055.285    22629048.854
+     -3037.603       -2366.963          50.000          44.000
+  -9021155.81043  -6998008.01642  23527905.002    23527909.188    23527903.139
+      1725.110        1344.242          48.000          40.000
+ 04  2  1  2 41 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19647659.57643 -14892838.58742  21313372.306    21313376.639    21313371.091
+       489.757         381.629          55.000          48.000
+  -2002721.08443  -1538865.73242  24914830.645    24914843.338    24914830.563
+      3891.337        3032.211          41.000          36.000
+ -21307198.97643 -16415603.68742  21270911.208    21270914.632    21270909.939
+      1628.494        1268.956          56.000          49.000
+ -12936057.91943 -10050632.85442  23514811.779    23514819.777    23514810.701
+      2767.896        2156.802          50.000          42.000
+  -9066627.74643  -7024008.02042  23613199.381    23613206.224    23613198.633
+      1576.937        1228.782          46.000          41.000
+ -21676311.45143 -16840374.50542  20985594.501    20985598.056    20985593.663
+     -1817.842       -1416.500          56.000          49.000
+ -13031325.83543 -10143378.16142  22646415.587    22646421.049    22646414.177
+     -3046.692       -2374.046          50.000          44.000
+  -9072811.16343  -7038258.90142  23518072.814    23518081.638    23518073.047
+      1718.017        1338.715          46.000          40.000
+ 04  2  1  2 42  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19662254.78843 -14904211.47642  21310594.567    21310599.316    21310593.515
+       483.535         376.781          55.000          48.000
+  -2119435.68943  -1629811.92542  24892622.143    24892634.136    24892619.512
+      3890.136        3031.275          41.000          36.000
+ -21355974.74843 -16453610.77642  21261629.970    21261633.052    21261628.457
+      1623.436        1265.015          56.000          49.000
+ -13019067.86843 -10115315.85342  23499014.716    23499021.594    23499013.988
+      2766.410        2155.644          49.000          42.000
+  -9113842.58643  -7060798.77442  23604214.412    23604222.294    23604213.992
+      1571.490        1224.538          48.000          41.000
+ -21621556.50943 -16797708.37542  20996014.325    20996017.477    20996013.045
+     -1832.295       -1427.762          56.000          49.000
+ -12939788.97643 -10072050.79642  22663834.239    22663840.523    22663832.091
+     -3055.737       -2381.094          50.000          44.000
+  -9124237.72343  -7078331.46742  23508287.297    23508294.401    23508287.660
+      1710.774        1333.071          46.000          40.000
+ 04  2  1  2 42 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19676654.11543 -14915431.73542  21307855.226    21307859.464    21307853.817
+       477.224         371.863          55.000          49.000
+  -2236107.12753  -1720724.45452  24870419.514    24870431.560    24870418.786
+      3889.102        3030.469          40.000          35.000
+ -21404586.85043 -16491490.33842  21252379.098    21252382.425    21252377.695
+      1618.194        1260.930          56.000          49.000
+ -13102022.78443 -10179955.99642  23483230.202    23483236.030    23483228.816
+      2764.756        2154.355          50.000          42.000
+  -9160898.95043  -7097466.03442  23595260.638    23595266.076    23595259.895
+      1566.395        1220.568          48.000          41.000
+ -21566362.18043 -16754699.86942  21006517.091    21006521.157    21006516.221
+     -1846.605       -1438.913          56.000          49.000
+ -12847975.40043 -10000507.82842  22681306.342    22681311.128    22681305.268
+     -3064.572       -2387.978          50.000          43.000
+  -9175434.72943  -7118225.21542  23498545.648    23498551.802    23498544.185
+      1703.221        1327.185          47.000          40.000
+ 04  2  1  2 43  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19690860.21343 -14926501.42542  21305151.800    21305156.488    21305150.453
+       470.086         366.301          55.000          48.000
+  -2352734.75253  -1811602.83552  24848223.580    24848238.876    24848219.677
+      3886.731        3028.622          39.000          35.000
+ -21453035.02943 -16529242.16942  21243159.381    21243163.069    21243158.090
+      1611.864        1255.998          56.000          49.000
+ -13184921.14943 -10244552.07242  23467453.378    23467461.992    23467453.375
+      2762.030        2152.231          48.000          42.000
+  -9207799.26443  -7134011.71642  23586335.703    23586340.528    23586335.466
+      1560.457        1215.941          48.000          40.000
+ -21510732.24043 -16711351.92842  21017103.406    21017107.376    21017102.391
+     -1861.789       -1450.745          56.000          49.000
+ -12755889.62743  -9928752.74942  22698828.142    22698833.798    22698827.169
+     -3074.407       -2395.642          50.000          43.000
+  -9226400.87043  -7157939.02642  23488846.439    23488853.008    23488845.534
+      1694.832        1320.648          48.000          41.000
+ 04  2  1  2 43 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19704869.84843 -14937418.02342  21302485.608    21302490.034    21302484.567
+       463.801         361.403          55.000          48.000
+  -2469311.82543  -1902441.82042  24826041.171    24826052.092    24826036.321
+      3885.365        3027.557          40.000          36.000
+ -21501312.67143 -16566861.10942  21233973.075    21233975.999    21233971.145
+      1606.486        1251.807          56.000          49.000
+ -13267755.44643 -10309098.20842  23451691.502    23451700.264    23451688.854
+      2760.181        2150.790          49.000          42.000
+  -9254539.61943  -7170432.72142  23577441.177    23577445.472    23577439.637
+      1555.401        1212.001          47.000          41.000
+ -21454664.28343 -16667662.67542  21027773.057    21027776.881    21027771.850
+     -1876.157       -1461.940          56.000          49.000
+ -12663529.90943  -9856784.20842  22716404.308    22716409.007    22716402.877
+     -3083.057       -2402.382          50.000          43.000
+  -9277128.68643  -7197467.13442  23479193.188    23479199.674    23479190.961
+      1687.124        1314.642          46.000          41.000
+ 04  2  1  2 44  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19718688.10943 -14948185.50242  21299856.484    21299860.713    21299854.791
+       457.251         356.299          55.000          48.000
+  -2585839.84543  -1993242.58142  24803866.789    24803875.851    24803866.058
+      3882.757        3025.525          40.000          35.000
+ -21549421.91543 -16604348.83442  21224817.922    21224821.264    21224816.450
+      1600.657        1247.265          56.000          50.000
+ -13350526.31043 -10373594.93242  23435940.092    23435947.816    23435938.752
+      2757.641        2148.811          48.000          42.000
+  -9301124.74543  -7206732.81042  23568576.765    23568583.311    23568574.864
+      1550.051        1207.832          48.000          41.000
+ -21398164.66843 -16623637.05942  21038524.236    21038528.533    21038523.097
+     -1890.685       -1473.261          56.000          49.000
+ -12570902.77343  -9784607.29442  22734030.076    22734036.074    22734029.984
+     -3092.164       -2409.478          49.000          43.000
+  -9327619.50043  -7236810.58042  23469585.541    23469591.939    23469584.094
+      1678.734        1308.104          47.000          41.000
+ 04  2  1  2 44 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19732313.92943 -14958803.03142  21297263.315    21297267.492    21297261.832
+       451.126         351.527          55.000          48.000
+  -2702314.39843  -2084001.68942  24781701.710    24781714.827    24781699.086
+      3881.628        3024.645          37.000          35.000
+ -21597358.38743 -16641701.93142  21215695.641    21215699.450    21215694.381
+      1595.025        1242.877          56.000          49.000
+ -13433228.36243 -10438038.03342  23420201.944    23420211.828    23420200.295
+      2755.670        2147.275          49.000          43.000
+  -9347553.04643  -7242910.67942  23559740.779    23559745.833    23559740.784
+      1544.922        1203.835          48.000          41.000
+ -21341233.33343 -16579275.04642  21049357.573    21049361.836    21049356.908
+     -1904.834       -1484.286          56.000          49.000
+ -12478009.15243  -9712222.72242  22751707.257    22751713.078    22751706.156
+     -3100.711       -2416.138          50.000          43.000
+  -9377867.99343  -7275965.18342  23460024.813    23460029.598    23460021.203
+      1671.053        1302.119          46.000          40.000
+ 04  2  1  2 45  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19745752.47843 -14969274.62942  21294705.664    21294710.018    21294704.356
+       444.852         346.638          55.000          48.000
+  -2818737.08753  -2174720.36952  24759549.618    24759556.376    24759546.073
+      3879.992        3023.370          36.000          34.000
+ -21645124.00043 -16678921.89642  21206606.398    21206610.384    21206604.886
+      1589.274        1238.395          56.000          50.000
+ -13515862.48243 -10502428.19742  23404476.909    23404487.873    23404477.480
+      2753.308        2145.435          49.000          43.000
+  -9393829.45543  -7278970.20642  23550935.062    23550939.639    23550933.927
+      1540.113        1200.088          47.000          40.000
+ -21283876.43243 -16534581.41742  21060273.081    21060276.414    21060272.116
+     -1918.965       -1495.297          56.000          49.000
+ -12384855.85743  -9639635.80742  22769435.093    22769439.501    22769433.330
+     -3109.391       -2422.902          50.000          43.000
+  -9427875.28843  -7314931.85642  23450507.145    23450513.899    23450506.420
+      1662.788        1295.679          47.000          40.000
+ 04  2  1  2 45 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19758998.43043 -14979596.15142  21292185.488    21292189.869    21292183.660
+       439.480         342.452          55.000          48.000
+  -2935099.28353  -2265391.94052  24737402.302    24737416.749    24737402.840
+      3878.394        3022.125          36.000          33.000
+ -21692710.69243 -16716002.44942  21197550.752    21197554.703    21197549.266
+      1584.383        1234.584          56.000          49.000
+ -13598419.37043 -10566758.18942  23388768.339    23388776.757    23388768.421
+      2751.866        2144.311          49.000          43.000
+  -9439948.44743  -7314907.07842  23542158.412    23542164.297    23542156.613
+      1535.909        1196.812          47.000          40.000
+ -21226089.97343 -16489553.07442  21071269.445    21071273.086    21071268.328
+     -1932.195       -1505.606          56.000          49.000
+ -12291438.83743  -9566843.39442  22787211.118    22787215.515    22787210.525
+     -3117.104       -2428.912          50.000          43.000
+  -9477632.44843  -7353703.62542  23441039.863    23441046.467    23441037.852
+      1655.509        1290.007          47.000          40.000
+ 04  2  1  2 46  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19772058.46143 -14989772.80242  21289699.844    21289704.677    21289698.658
+       432.161         336.749          55.000          48.000
+ -21740122.10243 -16752946.41242  21188528.922    21188532.571    21188527.145
+      1577.314        1229.076          56.000          50.000
+ -13680901.27043 -10631029.72442  23373072.086    23373080.711    23373070.563
+      2747.946        2141.257          50.000          43.000
+  -9485916.25943  -7350726.11842  23533412.864    23533418.057    23533411.920
+      1529.605        1191.900          48.000          41.000
+ -21167881.72943 -16444196.06742  21082346.043    21082349.818    21082345.181
+     -1947.445       -1517.490          56.000          49.000
+ -12197766.66743  -9493852.16042  22805035.388    22805041.173    22805034.382
+     -3126.765       -2436.440          49.000          43.000
+  -9527141.70443  -7392282.21242  23431617.211    23431624.168    23431615.504
+      1645.812        1282.451          46.000          41.000
+ 04  2  1  2 46 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19784933.82443 -14999805.55742  21287250.034    21287254.560    21287248.454
+       425.611         331.645          55.000          48.000
+ -21787356.15543 -16789752.17242  21179540.328    21179544.253    21179538.747
+      1571.018        1224.170          56.000          50.000
+ -13763304.94643 -10695240.32442  23357391.096    23357398.452    23357389.698
+      2745.068        2139.014          50.000          43.000
+  -9531733.42643  -7386427.77442  23524693.154    23524698.267    23524694.329
+      1524.209        1187.695          48.000          41.000
+ -21109254.35943 -16398512.46442  21093502.927    21093506.329    21093501.386
+     -1961.735       -1528.625          56.000          49.000
+ -12103841.93543  -9420664.13642  22822909.133    22822915.917    22822907.937
+     -3135.575       -2443.305          49.000          43.000
+  -9576400.32243  -7430665.49442  23422243.945    23422250.420    23422243.838
+      1637.148        1275.700          47.000          41.000
+ 04  2  1  2 47  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19797620.72843 -15009691.46542  21284836.055    21284840.036    21284834.713
+       419.094         326.567          56.000          49.000
+ -21834406.12843 -16826414.49742  21170586.531    21170590.900    21170585.436
+      1564.571        1219.146          56.000          49.000
+ -13845622.46543 -10759383.78842  23341727.184    23341734.367    23341725.655
+      2741.877        2136.528          50.000          43.000
+  -9577396.34143  -7422009.22442  23516003.895    23516009.612    23516004.001
+      1519.003        1183.639          48.000          41.000
+ -21050205.22843 -16352500.22642  21104739.277    21104743.141    21104738.185
+     -1975.883       -1539.649          56.000          49.000
+ -12009662.84043  -9347277.90242  22840831.514    22840836.585    22840829.878
+     -3144.231       -2450.050          49.000          43.000
+  -9625400.81943  -7468847.63742  23412919.595    23412926.576    23412918.308
+      1628.439        1268.914          48.000          41.000
+ 04  2  1  2 47 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19810123.22143 -15019433.67242  21282455.969    21282461.390    21282455.000
+       413.736         322.392          55.000          48.000
+ -21881272.79343 -16862933.98642  21161668.512    21161672.460    21161667.348
+      1559.187        1214.951          56.000          49.000
+ -13927853.50543 -10823459.86142  23326079.073    23326087.310    23326078.329
+      2739.572        2134.731          51.000          44.000
+  -9622908.53743  -7457473.25542  23507342.796    23507348.174    23507342.604
+      1514.765        1180.336          47.000          41.000
+ -20990739.40643 -16306163.29042  21116055.288    21116059.212    21116054.140
+     -1988.992       -1549.864          56.000          49.000
+ -11915235.26843  -9273698.05642  22858799.659    22858806.066    22858799.235
+     -3151.466       -2455.688          48.000          43.000
+  -9674143.30543  -7506828.73442  23403644.426    23403649.747    23403643.453
+      1620.488        1262.718          48.000          42.000
+ 04  2  1  2 48  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19822443.63843 -15029034.00742  21280111.893    21280116.853    21280110.616
+       408.393         318.228          55.000          49.000
+ -21927955.22743 -16899309.92042  21152785.580    21152788.925    21152783.869
+      1553.721        1210.692          56.000          50.000
+ -14009995.92443 -10887466.88142  23310446.906    23310455.705    23310447.151
+      2737.278        2132.944          50.000          44.000
+  -9668272.07543  -7492821.42042  23498709.928    23498716.766    23498709.166
+      1510.331        1176.881          47.000          41.000
+ -20930860.79243 -16259504.69442  21127449.865    21127453.899    21127448.881
+     -2002.162       -1560.126          56.000          49.000
+ -11820562.81543  -9199927.38642  22876816.260    22876821.726    22876814.895
+     -3159.090       -2461.628          49.000          43.000
+  -9722626.06043  -7544607.43842  23394417.060    23394424.653    23394417.336
+      1612.659        1256.617          47.000          41.000
+ 04  2  1  2 48 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19834581.57943 -15038492.14542  21277802.280    21277807.095    21277800.928
+       402.124         313.343          55.000          49.000
+ -21974450.16643 -16935539.75142  21143937.722    21143941.286    21143936.085
+      1547.171        1205.588          56.000          50.000
+ -14092045.06343 -10951401.22342  23294834.293    23294842.598    23294832.473
+      2734.011        2130.398          51.000          44.000
+  -9713486.14043  -7528053.10542  23490105.199    23490111.211    23490105.268
+      1505.070        1172.782          46.000          41.000
+ -20870570.09243 -16212524.99142  21138922.686    21138926.705    21138921.931
+     -2015.983       -1570.896          56.000          49.000
+ -11725646.83743  -9125966.95042  22894878.081    22894884.856    22894877.138
+     -3167.410       -2468.112          49.000          43.000
+  -9770844.69443  -7582180.33842  23385242.408    23385249.051    23385241.646
+      1603.519        1249.495          48.000          41.000
+ 04  2  1  2 49  0.0000000  0  7G 1G20G 2G13G11G25G16
+ -19846538.23243 -15047809.03142  21275527.346    21275531.927    21275525.710
+       395.902         308.495          55.000          49.000
+ -22020755.75143 -16971622.03242  21135125.961    21135129.476    21135124.649
+      1540.720        1200.561          56.000          50.000
+ -14173997.81243 -11015260.43442  23279238.326    23279246.085    23279237.392
+      2730.523        2127.680          49.000          44.000
+  -9758551.77743  -7563169.14442  23481530.295    23481535.835    23481530.596
+      1500.058        1168.876          47.000          40.000
+ -20809869.57743 -16165225.95742  21150473.584    21150478.019    21150472.699
+     -2029.788       -1581.653          56.000          49.000
+ -11630490.30043  -9051819.08642  22912986.129    22912991.063    22912984.220
+     -3175.518       -2474.430          49.000          43.000
+  -9818796.39643  -7619545.27542  23376117.544    23376123.246    23376116.628
+      1594.210        1242.242          48.000          42.000
+ 04  2  1  2 49 30.0000000  0  7G 1G20G 2G13G11G25G16
+ -19858316.76043 -15056987.11042  21273285.758    21273290.181    21273284.593
+       390.198         304.050          56.000          49.000
+ -22066871.88143 -17007556.68842  21126350.226    21126353.948    21126348.971
+      1534.580        1195.777          56.000          50.000
+ -14255852.90143 -11079043.55142  23263663.028    23263669.703    23263660.980
+      2727.350        2125.208          49.000          44.000
+  -9803471.48943  -7598171.46542  23472983.132    23472987.707    23472982.523
+      1495.404        1165.250          48.000          40.000
+ -20748763.80143 -16117611.13742  21162101.868    21162106.069    21162100.685
+     -2043.076       -1592.007          56.000          49.000
+ -11535097.72243  -8977487.27642  22931139.271    22931143.271    22931138.689
+     -3183.074       -2480.317          50.000          43.000
+  -9866480.35343  -7656701.54642  23367043.386    23367049.545    23367041.965
+      1585.520        1235.470          47.000          42.000
+ 04  2  1  2 50  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19869915.09543 -15066024.78842  21271078.320    21271083.309    21271077.493
+       383.947         299.179          55.000          49.000
+                                  24538668.266
+      3857.214        3005.621          42.000
+ -22112793.26843 -17043339.58942  21117612.080    21117615.769    21117610.529
+      1527.746        1190.451          56.000          50.000
+ -14337604.02443 -11142745.62942  23248105.786    23248113.421    23248103.850
+      2723.410        2122.138          49.000          44.000
+  -9848243.28843  -7633058.54242  23464463.673    23464467.923    23464462.146
+      1490.306        1161.277          48.000          41.000
+ -20687252.18243 -16069680.07442  21173806.900    21173811.470    21173805.928
+     -2056.810       -1602.709          56.000          49.000
+ -11439468.62043  -8902971.14542  22949336.427    22949342.273    22949334.778
+     -3191.269       -2486.703          49.000          42.000
+  -9913890.73743  -7693644.65742  23358021.218    23358028.512    23358019.285
+      1576.081        1228.115          48.000          42.000
+ 04  2  1  2 50 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19881337.29743 -15074925.21642  21268904.431    21268909.399    21268903.286
+       377.552         294.196          55.000          49.000
+                                  24516658.044
+      3854.260        3003.319          43.000
+ -22158521.11343 -17078971.68342  21108910.254    21108913.666    21108908.733
+      1520.748        1184.998          56.000          50.000
+ -14419250.97943 -11206366.55242  23232568.842    23232576.042    23232566.864
+      2719.607        2119.174          49.000          43.000
+  -9892870.95543  -7667833.29842  23455971.814    23455976.477    23455970.027
+      1484.846        1157.023          49.000          42.000
+ -20625339.96643 -16021436.86142  21185588.874    21185592.581    21185587.813
+     -2070.785       -1613.599          56.000          49.000
+ -11343609.03043  -8828275.44242  22967576.820    22967583.794    22967576.232
+     -3199.594       -2493.190          48.000          42.000
+  -9961027.79243  -7730374.80642  23349051.827    23349058.050    23349050.652
+      1566.411        1220.580          48.000          42.000
+ 04  2  1  2 51  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19892579.94843 -15083685.73542  21266765.338    21266769.999    21266763.833
+       371.900         289.792          55.000          48.000
+  -1011986.04353   -726753.31052  24494662.494    24494675.891    24494662.340
+      3851.434        3001.117          44.000          36.000
+ -22204048.51843 -17114447.59742  21100246.504    21100250.116    21100245.276
+      1514.435        1180.079          56.000          50.000
+ -14500786.01043 -11269900.25942  23217051.856    23217060.889    23217051.183
+      2716.093        2116.436          49.000          43.000
+  -9937350.55543  -7702492.68142  23447505.782    23447511.806    23447504.564
+      1480.285        1153.469          47.000          41.000
+ -20563025.03643 -15972879.84042  21197447.014    21197450.617    21197445.901
+     -2083.690       -1623.654          56.000          49.000
+ -11247516.99743  -8753398.60542  22985863.972    22985869.650    22985862.615
+     -3206.652       -2498.690          49.000          43.000
+ -10007883.89243  -7766886.01242  23340134.429    23340140.820    23340133.317
+      1557.065        1213.297          47.000          42.000
+ 04  2  1  2 51 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19903649.14343 -15092311.08642  21264659.118    21264663.646    21264657.663
+       365.743         284.995          55.000          48.000
+  -1127489.05243   -816755.39142  24472683.623    24472693.849    24472683.348
+      3848.314        2998.686          44.000          36.000
+ -22249378.60543 -17149769.75542  21091620.328    21091624.193    21091619.075
+      1507.361        1174.567          56.000          50.000
+ -14582210.76443 -11333348.05842  23201558.171    23201564.983    23201556.463
+      2711.965        2113.219          50.000          43.000
+  -9981688.22443  -7737041.47642  23439069.597    23439075.530    23439068.422
+      1475.215        1149.518          48.000          42.000
+ -20500314.85243 -15924014.82442  21209380.485    21209384.707    21209379.121
+     -2097.194       -1634.177          56.000          49.000
+ -11151200.43943  -8678346.82942  23004191.865    23004198.184    23004190.733
+     -3214.673       -2504.940          48.000          43.000
+ -10054461.42443  -7803180.14242  23331272.155    23331277.564    23331270.427
+      1547.627        1205.943          48.000          42.000
+ 04  2  1  2 52  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19914543.34043 -15100800.08342  21262586.116    21262590.537    21262584.964
+       360.982         281.285          55.000          49.000
+  -1242904.43343   -906689.16342  24450721.035    24450732.061    24450719.393
+      3846.270        2997.094          44.000          36.000
+ -22294506.62043 -17184934.45242  21083033.192    21083036.455    21083031.854
+      1501.569        1170.054          56.000          50.000
+ -14663519.18343 -11396705.20442  23186085.884    23186092.819    23186084.283
+      2708.816        2110.766          50.000          43.000
+ -10025881.75243  -7771477.95942  23430659.847    23430664.351    23430658.142
+      1471.434        1146.572          48.000          41.000
+ -20437209.23443 -15874841.70142  21221389.206    21221392.928    21221388.061
+     -2109.354       -1643.652          56.000          49.000
+ -11054659.14043  -8603119.92442  23022563.628    23022569.017    23022562.745
+     -3220.983       -2509.857          49.000          42.000
+ -10100754.65243  -7839252.76342  23322461.954    23322467.538    23322461.312
+      1538.915        1199.155          48.000          41.000
+ 04  2  1  2 52 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19925284.53743 -15109169.86142  21260542.041    21260546.654    21260540.565
+       354.643         276.345          55.000          49.000
+  -1358250.83343   -996569.20742  24428771.134    24428781.255    24428770.034
+      3842.816        2994.402          44.000          37.000
+ -22339451.49143 -17219956.43642  21074480.127    21074483.798    21074478.658
+      1494.150        1164.273          56.000          50.000
+ -14744729.01743 -11459985.52542  23170631.687    23170638.809    23170629.671
+      2704.600        2107.481          50.000          43.000
+ -10069952.72943  -7805818.96442  23422272.294    23422278.908    23422271.707
+      1465.970        1142.314          47.000          41.000
+ -20373731.21443 -15825378.38142  21233468.435    21233472.203    21233467.434
+     -2122.990       -1654.278          56.000          49.000
+ -10957916.90343  -8527736.45142  23040973.690    23040978.144    23040971.614
+     -3228.922       -2516.043          49.000          42.000
+ -10146781.71343  -7875117.96842  23313704.054    23313709.134    23313702.544
+      1528.834        1191.299          48.000          41.000
+ 04  2  1  2 53  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19935835.22443 -15117391.18742  21258534.503    21258539.148    21258533.269
+       349.273         272.161          56.000          49.000
+  -1473487.15443  -1086363.47542  24406842.432    24406853.820    24406840.708
+      3840.169        2992.339          44.000          37.000
+ -22384172.51443 -17254804.00542  21065969.572    21065973.794    21065968.430
+      1487.658        1159.214          56.000          50.000
+ -14825798.37443 -11523156.41242  23155204.837    23155212.576    23155202.882
+      2700.614        2104.375          50.000          43.000
+ -10113863.63543  -7840035.23642  23413916.500    23413921.193    23413916.079
+      1461.794        1139.060          48.000          41.000
+ -20309844.92843 -15775596.93742  21245625.881    21245630.030    21245624.569
+     -2135.676       -1664.163          56.000          49.000
+ -10860937.94143  -8452168.50942  23059428.206    23059432.827    23059426.329
+     -3235.757       -2521.369          49.000          42.000
+ -10192501.45743  -7910743.76142  23305003.420    23305009.622    23305001.509
+      1519.564        1184.076          47.000          41.000
+ 04  2  1  2 53 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19946214.72043 -15125479.11942  21256559.143    21256564.264    21256557.848
+       342.736         267.067          55.000          48.000
+  -1588629.58243  -1176084.57242  24384930.036    24384942.018    24384930.009
+      3836.070        2989.145          44.000          37.000
+ -22428685.95243 -17289489.81442  21057499.639    21057502.834    21057498.287
+      1479.896        1153.166          56.000          50.000
+ -14906742.33243 -11586229.56042  23139801.934    23139808.405    23139800.290
+      2695.645        2100.503          51.000          44.000
+ -10157633.43743  -7874141.58542  23405587.793    23405593.295    23405587.481
+      1456.352        1134.820          49.000          42.000
+ -20245571.07743 -15725513.49942  21257856.247    21257860.966    21257855.706
+     -2149.341       -1674.811          56.000          49.000
+ -10763743.08343  -8376432.34242  23077921.910    23077927.773    23077921.354
+     -3243.744       -2527.593          48.000          42.000
+ -10237929.18143  -7946141.94442  23296358.560    23296363.639    23296356.901
+      1509.160        1175.969          47.000          41.000
+ 04  2  1  2 54  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19956422.93543 -15133433.59542  21254616.165    21254621.776    21254615.503
+       337.499         262.986          55.000          49.000
+  -1703674.49243  -1265729.68042  24363037.262    24363048.604    24363036.089
+      3833.116        2986.844          44.000          38.000
+ -22472988.34043 -17324011.17942  21049069.256    21049072.700    21049067.860
+      1473.312        1148.035          56.000          50.000
+ -14987556.40843 -11649201.50242  23124422.890    23124430.743    23124422.078
+      2691.742        2097.461          51.000          44.000
+ -10201261.71043  -7908137.63642  23397285.798    23397291.271    23397286.253
+      1452.009        1131.436          49.000          42.000
+ -20180910.93143 -15675129.05142  21270161.308    21270165.247    21270160.311
+     -2161.703       -1684.444          56.000          49.000
+ -10666334.04043  -8300529.29642  23096458.980    23096465.989    23096457.558
+     -3250.420       -2532.795          48.000          42.000
+ -10283061.04143  -7981309.60442  23287770.032    23287776.697    23287769.314
+      1499.478        1168.424          48.000          42.000
+ 04  2  1  2 54 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19966464.65543 -15141258.33242  21252705.837    21252710.252    21252704.985
+       331.542         258.344          55.000          49.000
+  -1818623.21043  -1355299.82142  24341164.774    24341175.024    24341163.860
+      3829.212        2983.802          45.000          38.000
+ -22517081.53543 -17358369.52742  21040678.578    21040682.217    21040677.183
+      1465.800        1142.182          56.000          50.000
+ -15068240.91443 -11712072.48742  23109068.419    23109077.233    23109067.784
+      2686.777        2093.592          50.000          43.000
+ -10244753.16943  -7942027.07442  23389009.599    23389014.068    23389008.255
+      1446.751        1127.338          48.000          42.000
+ -20115870.93043 -15624448.60442  21282538.564    21282542.053    21282537.305
+     -2174.806       -1694.654          56.000          49.000
+ -10568717.21943  -8224464.32642  23115035.092    23115039.835    23115031.907
+     -3257.714       -2538.478          49.000          42.000
+ -10327897.75843  -8016247.28142  23279238.657    23279244.878    23279236.591
+      1489.292        1160.487          48.000          41.000
+ 04  2  1  2 55  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19976336.00043 -15148950.30542  21250827.488    21250832.298    21250825.951
+       326.359         254.306          55.000          49.000
+  -1933468.42243  -1444789.30442  24319308.997    24319321.654    24319308.141
+      3826.520        2981.704          44.000          38.000
+ -22560958.48243 -17392559.37042  21032329.213    21032332.506    21032327.594
+      1459.063        1136.932          56.000          50.000
+ -15148787.74143 -11774836.19842  23093741.547    23093750.336    23093740.536
+      2682.759        2090.461          50.000          44.000
+ -10288103.71543  -7975806.72842  23380759.947    23380765.476    23380760.050
+      1443.108        1124.500          49.000          42.000
+ -20050448.52543 -15573470.18542  21294987.470    21294991.540    21294986.703
+     -2186.921       -1704.094          56.000          49.000
+ -10470890.06443  -8148235.46242  23133652.136    23133657.507    23133650.773
+     -3264.205       -2543.536          49.000          42.000
+ -10372431.77843  -8050949.10342  23270761.870    23270770.974    23270761.996
+      1479.641        1152.967          47.000          41.000
+ 04  2  1  2 55 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19986045.54543 -15156516.20142  21248979.305    21248984.681    21248978.107
+       320.594         249.814          55.000          48.000
+  -2048215.30943  -1534202.16542  24297473.704    24297483.571    24297473.370
+      3822.979        2978.945          44.000          38.000
+ -22604624.50444 -17426584.85942  21024019.893    21024023.156    21024018.328
+      1451.639        1131.147          57.000          50.000
+ -15229200.92543 -11837495.76742  23078439.597    23078447.215    23078437.610
+      2677.835        2086.625          50.000          44.000
+ -10331321.44943  -8009482.84942  23372536.107    23372541.491    23372534.756
+      1437.975        1120.500          48.000          42.000
+ -19984653.79043 -15522201.64242  21307507.473    21307511.732    21307506.779
+     -2199.761       -1714.099          55.000          49.000
+ -10372862.92543  -8071850.77442  23152305.946    23152310.272    23152304.127
+     -3271.309       -2549.072          49.000          42.000
+ -10416667.89943  -8085418.76242  23262346.600    23262352.528    23262344.646
+      1469.102        1144.755          48.000          42.000
+ 04  2  1  2 56  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -19995588.04843 -15163951.93442  21247163.762    21247168.384    21247162.465
+       315.577         245.904          55.000          49.000
+  -2162855.17343  -1623531.62842  24275657.626    24275669.263    24275658.098
+      3819.981        2976.608          44.000          38.000
+ -22648071.19844 -17460439.43842  21015752.510    21015755.666    21015750.878
+      1444.779        1125.802          57.000          50.000
+ -15309470.93543 -11900043.77442  23063163.804    23063172.063    23063162.489
+      2673.488        2083.237          50.000          44.000
+ -10374400.81843  -8043051.17142  23364339.390    23364343.801    23364338.056
+      1434.198        1117.557          49.000          42.000
+ -19918482.55543 -15470639.72242  21320099.571    21320104.002    21320098.674
+     -2211.702       -1723.404          55.000          48.000
+ -10274632.17943  -7995307.41242  23170998.384    23171003.980    23170995.881
+     -3277.490       -2553.888          49.000          42.000
+ -10460596.83743  -8119649.07342  23253986.566    23253993.321    23253985.337
+      1459.258        1137.084          48.000          42.000
+ 04  2  1  2 56 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20004965.61043 -15171259.14442  21245379.326    21245384.150    21245378.397
+       309.673         241.304          55.000          49.000
+  -2277386.93643  -1712776.85442  24253863.247    24253874.220    24253862.117
+      3815.722        2973.290          44.000          39.000
+ -22691297.82043 -17494122.52942  21007526.307    21007529.919    21007524.798
+      1436.996        1119.737          56.000          50.000
+ -15389595.57843 -11962478.50042  23047917.222    23047926.012    23047915.816
+      2668.086        2079.028          50.000          44.000
+ -10417343.96143  -8076513.34542  23356166.857    23356170.642    23356166.445
+      1428.832        1113.376          49.000          42.000
+ -19851938.42243 -15418787.23642  21332762.755    21332766.882    21332762.018
+     -2224.472       -1733.355          55.000          48.000
+ -10176201.47543  -7918608.24942  23189729.480    23189735.422    23189728.321
+     -3284.576       -2559.410          49.000          42.000
+ -10504217.10043  -8153638.85142  23245685.841    23245691.177    23245684.036
+      1448.862        1128.983          49.000          42.000
+ 04  2  1  2 57  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20014182.68743 -15178441.29642  21243625.432    21243630.070    21243624.346
+       304.525         237.292          55.000          48.000
+  -2391811.25443  -1801938.35542  24232089.515    24232098.572    24232089.166
+      3812.318        2970.637          45.000          39.000
+ -22734305.21343 -17527634.79842  20999341.820    20999345.933    20999340.761
+      1429.841        1114.162          56.000          50.000
+ -15469574.62243 -12024799.79542  23032697.275    23032705.445    23032696.775
+      2663.403        2075.379          49.000          44.000
+ -10460154.96043  -8109872.52942  23348020.893    23348024.458    23348020.044
+      1424.676        1110.137          49.000          42.000
+ -19785027.61443 -15366649.01942  21345495.485    21345499.760    21345494.584
+     -2236.522       -1742.744          55.000          48.000
+ -10077576.99443  -7841758.09842  23208496.045    23208501.558    23208493.794
+     -3290.747       -2564.218          49.000          42.000
+ -10547528.99443  -8187388.35542  23237444.867    23237450.180    23237442.101
+      1438.625        1121.006          49.000          42.000
+ 04  2  1  2 57 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20023236.11443 -15185495.93042  21241903.034    21241907.120    21241901.612
+       298.506         232.602          55.000          49.000
+  -2506121.75143  -1891011.16042  24210337.861    24210345.433    24210336.149
+      3807.860        2967.164          45.000          38.000
+ -22777087.15543 -17560971.38842  20991201.307    20991204.758    20991200.022
+      1421.805        1107.900          56.000          50.000
+ -15549400.69643 -12087001.86142  23017507.410    23017516.201    23017505.547
+      2657.649        2070.895          50.000          44.000
+ -10502830.21243  -8143125.92142  23339898.447    23339904.687    23339900.110
+      1419.637        1106.211          48.000          42.000
+ -19717748.40243 -15314223.73642  21358298.538    21358302.633    21358297.375
+     -2249.339       -1752.732          55.000          48.000
+  -9978757.02843  -7764755.59042  23227301.539    23227307.925    23227299.598
+     -3297.726       -2569.657          49.000          42.000
+ -10590525.90143  -8220892.39042  23229261.383    23229268.496    23229260.694
+      1427.167        1112.078          48.000          42.000
+ 04  2  1  2 58  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20032128.28243 -15192424.89742  21240210.311    21240215.069    21240208.663
+       294.023         229.109          55.000          48.000
+  -2620317.32843  -1979994.43042  24188604.902    24188614.606    24188604.812
+      3804.619        2964.638          45.000          38.000
+ -22819642.94844 -17594131.75142  20983103.541    20983106.677    20983101.763
+      1415.129        1102.698          57.000          50.000
+ -15629071.92643 -12149083.28442  23002346.656    23002353.804    23002344.591
+      2653.415        2067.596          50.000          44.000
+ -10545371.98543  -8176275.36742  23331803.999    23331808.131    23331802.811
+      1416.057        1103.421          48.000          42.000
+ -19650104.54543 -15261514.30942  21371171.041    21371174.958    21371169.815
+     -2260.412       -1761.360          56.000          48.000
+  -9879745.65543  -7687603.95742  23246142.529    23246148.975    23246141.549
+     -3303.359       -2574.046          49.000          42.000
+ -10633206.37143  -8254149.85542  23221140.159    23221146.757    23221138.684
+      1417.661        1104.671          49.000          42.000
+ 04  2  1  2 58 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20040860.50643 -15199229.24342  21238548.917    21238553.184    21238547.477
+       288.869         225.093          55.000          48.000
+  -2734396.11643  -2068886.70842  24166896.445    24166904.917    24166895.444
+      3801.271        2962.029          44.000          38.000
+ -22861970.97843 -17627114.64642  20975048.127    20975051.991    20975046.838
+      1407.630        1096.855          56.000          50.000
+ -15708585.21443 -12211041.66742  22987214.626    22987223.441    22987213.968
+      2648.201        2063.533          50.000          44.000
+ -10587781.77543  -8209321.89442  23323733.142    23323737.112    23323733.945
+      1411.568        1099.923          49.000          42.000
+ -19582098.99943 -15208523.04642  21384112.120    21384115.995    21384110.958
+     -2272.405       -1770.705          56.000          48.000
+  -9780545.77143  -7610305.43042  23265019.183    23265024.008    23265018.420
+     -3309.367       -2578.727          49.000          42.000
+ -10675567.90143  -8287158.76242  23213078.460    23213084.083    23213078.020
+      1407.071        1096.419          48.000          42.000
+ 04  2  1  2 59  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20049433.21243 -15205909.28042  21236917.270    21236922.053    21236916.060
+       282.590         220.200          55.000          48.000
+  -2848355.12043  -2157685.64542  24145209.548    24145219.926    24145209.094
+      3796.242        2958.111          43.000          38.000
+ -22904068.41143 -17659917.84442  20967037.286    20967041.197    20967036.068
+      1398.986        1090.119          56.000          50.000
+ -15787936.60543 -12272873.87542  22972115.484    22972122.631    22972113.733
+      2641.834        2058.572          50.000          44.000
+ -10630059.51643  -8242265.56342  23315687.447    23315694.271    23315686.991
+      1406.207        1095.746          49.000          42.000
+ -19513733.88243 -15155251.60342  21397121.314    21397125.509    21397120.167
+     -2285.311       -1780.762          56.000          48.000
+  -9681159.51143  -7532861.68842  23283932.062    23283937.889    23283931.445
+     -3316.336       -2584.158          49.000          42.000
+ -10717607.27843  -8319916.73442  23205079.309    23205084.888    23205079.364
+      1395.512        1087.412          49.000          42.000
+ 04  2  1  2 59 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20057850.32143 -15212468.07542  21235315.637    21235320.376    21235314.823
+       277.490         216.226          55.000          48.000
+  -2962194.81643  -2246391.59842  24123545.532    24123556.230    24123544.815
+      3792.332        2955.064          43.000          38.000
+ -22945935.83543 -17692541.81942  20959070.351    20959074.299    20959068.874
+      1391.173        1084.031          56.000          50.000
+ -15867125.46543 -12334579.44942  22957046.696    22957054.294    22957045.248
+      2636.544        2054.450          51.000          45.000
+ -10672208.90243  -8275109.19142  23307667.121    23307670.648    23307665.646
+      1402.347        1092.738          48.000          42.000
+ -19445014.39243 -15101704.02442  21410198.275    21410202.227    21410197.480
+     -2297.001       -1789.871          55.000          48.000
+  -9581592.56143  -7455277.14142  23302880.229    23302884.910    23302878.415
+     -3322.637       -2589.068          49.000          42.000
+ -10759324.40543  -8352423.54842  23197140.826    23197147.592    23197139.882
+      1384.653        1078.950          49.000          42.000
+ 04  2  1  3  0  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20066112.09143 -15218905.82542  21233743.377    21233748.241    21233742.281
+       273.096         212.802          55.000          48.000
+  -3075912.00943  -2335002.09842  24101905.674    24101918.081    24101906.270
+      3788.945        2952.425          42.000          37.000
+ -22987570.35344 -17724984.30342  20951147.381    20951151.118    20951146.024
+      1384.132        1078.544          57.000          50.000
+ -15946147.70743 -12396155.17242  22942009.321    22942016.473    22942007.427
+      2631.414        2050.452          51.000          44.000
+ -10714229.85243  -8307852.74942  23299670.743    23299676.928    23299669.545
+      1398.585        1089.806          49.000          42.000
+ -19375942.44943 -15047881.81042  21423342.000    21423346.434    21423340.881
+     -2308.013       -1798.452          55.000          48.000
+  -9481846.72043  -7377553.17642  23321861.531    23321867.769    23321860.691
+     -3327.606       -2592.940          49.000          42.000
+ -10800715.96743  -8384676.67442  23189263.872    23189269.995    23189262.529
+      1374.558        1071.084          49.000          42.000
+ 04  2  1  3  0 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20074216.52343 -15225220.97342  21232201.693    21232205.533    21232200.284
+       267.385         208.352          55.000          49.000
+  -3189501.27543  -2423512.95442  24080289.769    24080302.073    24080287.598
+      3783.448        2948.141          41.000          36.000
+ -23028966.88744 -17757241.35542  20943270.139    20943273.409    20943268.901
+      1375.791        1072.045          57.000          50.000
+ -16024996.98443 -12457596.11542  22927004.244    22927012.009    22927002.634
+      2625.309        2045.695          50.000          44.000
+ -10756120.33643  -8340494.66342  23291698.817    23291704.313    23291698.381
+      1393.801        1086.079          49.000          42.000
+ -19306517.45443 -14993784.49042  21436553.592    21436557.432    21436552.001
+     -2320.229       -1807.971          55.000          48.000
+  -9381921.24043  -7299689.25842  23340875.508    23340882.467    23340874.412
+     -3334.049       -2597.960          47.000          42.000
+ -10841776.35343  -8416671.76142  23181449.904    23181456.674    23181448.933
+      1362.974        1062.058          48.000          42.000
+ 04  2  1  3  1  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20082166.31843 -15231415.62342  21230688.641    21230693.018    21230687.406
+       263.493         205.319          55.000          48.000
+  -3302962.23743  -2511923.81842  24058699.466    24058710.352    24058699.010
+      3780.864        2946.128          42.000          37.000
+ -23070125.16143 -17789312.75042  20935437.804    20935441.488    20935436.343
+      1369.001        1066.754          56.000          50.000
+ -16103671.71643 -12518901.04842  22912032.602    22912039.654    22912032.326
+      2620.459        2041.916          50.000          44.000
+ -10797882.93343  -8373036.91042  23283752.515    23283756.332    23283751.411
+      1390.917        1083.831          49.000          42.000
+ -19236744.05543 -14939415.68142  21449830.477    21449835.246    21449829.451
+     -2330.517       -1815.987          55.000          48.000
+  -9281820.81643  -7221689.02442  23359924.141    23359930.517    23359924.109
+     -3338.357       -2601.317          48.000          42.000
+ -10882504.55743  -8448407.99042  23173700.445    23173706.647    23173699.739
+      1353.046        1054.322          49.000          42.000
+ 04  2  1  3  1 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20089966.15143 -15237493.42042  21229204.643    21229209.037    21229203.277
+       256.947         200.218          55.000          49.000
+  -3416296.04343  -2600235.61042  24037133.066    24037143.396    24037131.218
+      3774.735        2941.352          43.000          37.000
+ -23111046.55944 -17821199.56342  20927650.590    20927654.419    20927649.210
+      1359.538        1059.380          57.000          50.000
+ -16182172.12443 -12580070.16442  22897094.998    22897102.162    22897092.326
+      2613.109        2036.189          51.000          44.000
+ -10839521.77543  -8405482.74542  23275828.254    23275835.321    23275826.371
+      1385.390        1079.525          49.000          42.000
+ -19166628.33243 -14884780.13342  21463173.198    21463177.734    21463171.958
+     -2343.307       -1825.953          55.000          48.000
+  -9181551.56043  -7143557.21242  23379005.082    23379010.268    23379003.232
+     -3345.875       -2607.175          47.000          41.000
+ -10922901.52243  -8479886.10742  23166013.222    23166018.650    23166012.503
+      1340.491        1044.538          49.000          42.000
+ 04  2  1  3  2  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20097613.58243 -15243452.46942  21227749.391    21227753.715    21227748.022
+       252.548         196.791          56.000          49.000
+  -3529496.80243  -2688443.73342  24015591.673    24015602.081    24015590.571
+      3771.458        2938.798          43.000          38.000
+ -23151725.72144 -17852897.61642  20919910.007    20919913.564    20919908.430
+      1352.010        1053.514          57.000          50.000
+ -16260491.56443 -12641098.25142  22882190.820    22882198.329    22882189.898
+      2607.801        2032.053          50.000          44.000
+ -10881034.59243  -8437830.37342  23267929.305    23267934.488    23267930.227
+      1381.789        1076.719          50.000          42.000
+ -19096169.49443 -14829877.22242  21476581.489    21476585.732    21476580.094
+     -2354.210       -1834.449          55.000          48.000
+  -9081112.63743  -7065293.19842  23398117.499    23398124.373    23398118.357
+     -3350.695       -2610.931          48.000          41.000
+ -10962961.23743  -8511101.43542  23158389.308    23158395.353    23158389.130
+      1329.797        1036.205          48.000          42.000
+ 04  2  1  3  2 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20105108.38043 -15249292.58242  21226323.606    21226327.974    21226321.988
+       248.019         193.262          56.000          49.000
+  -3642561.08043  -2776545.54142  23994075.640    23994085.890    23994075.423
+      3767.289        2935.550          42.000          38.000
+ -23192159.10444 -17884404.15542  20912215.982    20912219.258    20912214.272
+      1344.393        1047.579          57.000          50.000
+ -16338625.24643 -12701981.58642  22867323.181    22867330.669    22867321.084
+      2602.030        2027.556          50.000          44.000
+ -10922420.95443  -8470079.46342  23260053.476    23260057.713    23260052.748
+      1378.105        1073.848          50.000          42.000
+ -19025369.01843 -14774708.10342  21490054.412    21490059.347    21490053.229
+     -2364.992       -1842.851          55.000          48.000
+  -8980505.72443  -6986898.28442  23417262.980    23417269.362    23417262.670
+     -3355.667       -2614.805          45.000          41.000
+ -11002679.69043  -8542050.84742  23150831.852    23150837.553    23150831.088
+      1318.903        1027.717          50.000          42.000
+ 04  2  1  3  3  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20112454.85043 -15255017.11642  21224925.209    21224929.565    21224923.925
+       242.468         188.936          56.000          49.000
+  -3755489.60043  -2864541.56342  23972585.829    23972596.136    23972584.158
+      3761.779        2931.256          42.000          38.000
+ -23232347.54344 -17915719.83342  20904568.248    20904571.676    20904566.909
+      1335.430        1040.595          57.000          50.000
+ -16416573.01043 -12762720.04842  22852489.568    22852496.932    22852488.531
+      2595.191        2022.227          50.000          44.000
+ -10963684.80743  -8502233.11242  23252200.096    23252204.881    23252199.658
+      1373.477        1070.242          49.000          42.000
+ -18954232.69243 -14719277.29642  21503591.414    21503596.070    21503590.485
+     -2376.782       -1852.038          55.000          48.000
+  -8879736.30243  -6908376.77142  23436438.761    23436445.375    23436439.011
+     -3361.440       -2619.304          46.000          40.000
+ -11042057.35443  -8572734.69042  23143337.993    23143343.669    23143338.222
+      1307.101        1018.520          49.000          42.000
+ 04  2  1  3  3 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20119653.27343 -15260626.28542  21223555.446    21223559.759    21223553.919
+       237.970         185.431          56.000          49.000
+  -3868279.53143  -2952429.59342  23951123.185    23951133.472    23951121.693
+      3757.925        2928.253          42.000          38.000
+ -23272288.59143 -17946842.73942  20896967.615    20896971.120    20896966.259
+      1327.760        1034.618          56.000          50.000
+ -16494331.08243 -12823310.70042  22837692.870    22837699.908    22837690.952
+      2589.278        2017.619          50.000          44.000
+ -11004826.55443  -8534291.59942  23244371.636    23244377.124    23244371.470
+      1369.700        1067.299          49.000          42.000
+ -18882762.61643 -14663586.40242  21517191.634    21517196.210    21517190.686
+     -2387.485       -1860.378          55.000          48.000
+  -8778806.61943  -6829730.35542  23455644.881    23455652.045    23455644.419
+     -3366.299       -2623.090          46.000          41.000
+ -11081091.08343  -8603150.52442  23135910.130    23135916.689    23135908.987
+      1295.863        1009.763          49.000          42.000
+ 04  2  1  3  4  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20126701.52843 -15266118.43142  21222214.212    21222218.557    21222212.686
+       232.056         180.823          56.000          49.000
+  -3980925.39643  -3040205.36142  23929686.376    23929696.738    23929685.941
+      3751.748        2923.440          42.000          38.000
+ -23311976.75943 -17977768.59242  20889414.896    20889418.935    20889413.667
+      1318.284        1027.234          56.000          50.000
+ -16571892.79643 -12883748.33842  22822932.853    22822940.905    22822931.372
+      2581.806        2011.797          50.000          44.000
+ -11045843.66143  -8566252.96642  23236567.596    23236571.689    23236567.025
+      1364.744        1063.437          50.000          42.000
+ -18810957.57443 -14607634.49642  21530855.580    21530860.359    21530854.431
+     -2399.454       -1869.704          55.000          48.000
+  -8677715.94843  -6750958.51042  23474881.556    23474888.589    23474881.265
+     -3372.689       -2628.069          45.000          40.000
+ -11119775.16843  -8633293.91742  23128548.892    23128554.042    23128546.239
+      1283.326         999.994          49.000          42.000
+ 04  2  1  3  4 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20133605.61543 -15271498.25142  21220900.261    21220904.722    21220898.978
+       227.337         177.146          56.000          49.000
+  -4093429.71643  -3127870.83942  23908276.926    23908287.097    23908275.859
+      3747.107        2919.824          42.000          38.000
+ -23351415.09143 -18008499.77042  20881910.371    20881913.568    20881908.672
+      1309.916        1020.714          56.000          50.000
+ -16649259.43343 -12944033.98542  22808210.133    22808217.161    22808208.692
+      2575.235        2006.677          50.000          44.000
+ -11086741.87943  -8598121.66942  23228784.405    23228789.624    23228782.749
+      1360.800        1060.364          49.000          42.000
+ -18738826.18843 -14551428.30242  21544581.578    21544586.543    21544580.796
+     -2410.283       -1878.142          55.000          48.000
+  -8576471.55343  -6672066.86842  23494149.099    23494154.299    23494148.285
+     -3377.891       -2632.123          46.000          41.000
+ -11158112.15143  -8663166.85442  23121253.942    23121258.131    23121252.975
+      1271.329         990.646          50.000          42.000
+ 04  2  1  3  5  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20140361.89143 -15276762.89242  21219614.385    21219619.455    21219613.381
+       223.436         174.106          56.000          49.000
+  -4205785.64943  -3215420.69542  23886897.334    23886907.587    23886894.625
+      3743.414        2916.946          43.000          38.000
+ -23390596.95243 -18039031.10742  20874454.153    20874457.780    20874452.676
+      1302.520        1014.951          56.000          50.000
+ -16726423.41043 -13004161.69842  22793525.987    22793534.930    22793524.569
+      2569.430        2002.153          50.000          44.000
+ -11127517.60243  -8629894.93142  23221024.140    23221030.199    23221023.728
+      1357.814        1058.037          49.000          42.000
+ -18666365.97143 -14494965.88442  21558370.687    21558375.652    21558369.901
+     -2420.139       -1885.822          55.000          48.000
+  -8475071.76643  -6593054.16542  23513444.367    23513450.142    23513442.371
+     -3381.955       -2635.290          45.000          40.000
+ -11196094.75443  -8692763.65742  23114025.794    23114030.058    23114023.964
+      1260.926         982.540          49.000          42.000
+ 04  2  1  3  5 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20146975.70743 -15281916.52142  21218355.649    21218360.756    21218354.452
+       218.419         170.197          55.000          49.000
+  -4317995.10843  -3302856.41142  23865543.573    23865555.007    23865543.324
+      3738.262        2912.931          43.000          38.000
+ -23429524.39143 -18069364.18942  20867046.605    20867050.249    20867045.142
+      1293.506        1007.927          56.000          50.000
+ -16803385.82243 -13064132.35142  22778880.902    22778889.330    22778879.973
+      2562.503        1996.756          51.000          45.000
+ -11168176.07543  -8661576.84342  23213288.352    23213291.971    23213287.835
+      1353.613        1054.763          50.000          43.000
+ -18593584.10543 -14438252.82442  21572221.127    21572225.338    21572219.868
+     -2431.107       -1894.369          55.000          48.000
+  -8373523.61143  -6513925.81542  23532767.897    23532773.817    23532766.068
+     -3387.190       -2639.369          45.000          40.000
+ -11233724.59343  -8722085.56642  23106864.714    23106871.365    23106864.197
+      1248.994         973.242          50.000          42.000
+ 04  2  1  3  6  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20153445.62043 -15286958.02142  21217125.317    21217129.428    21217123.848
+       213.179         166.113          56.000          49.000
+  -4430053.29543  -3390174.26942  23844221.067    23844229.799    23844220.072
+      3732.347        2908.322          43.000          38.000
+ -23468192.69943 -18099495.34742  20859688.300    20859691.896    20859686.944
+      1284.369        1000.807          56.000          50.000
+ -16880140.60143 -13123941.19042  22764275.434    22764283.328    22764273.667
+      2554.821        1990.770          51.000          45.000
+ -11208715.51943  -8693165.98642  23205573.228    23205578.194    23205573.418
+      1349.188        1051.315          49.000          42.000
+ -18520480.93743 -14381289.39842  21586131.927    21586136.113    21586130.903
+     -2442.198       -1903.011          55.000          48.000
+  -8271827.22143  -6434681.96742  23552119.183    23552126.225    23552118.489
+     -3392.597       -2643.582          45.000          40.000
+ -11270996.63943  -8751128.67142  23099772.707    23099778.920    23099771.611
+      1236.446         963.464          50.000          43.000
+ 04  2  1  3  6 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20159772.72943 -15291888.24742  21215921.001    21215925.176    21215919.602
+       208.483         162.454          56.000          49.000
+  -4541957.94343  -3477372.47242  23822927.672    23822935.511    23822925.165
+      3727.584        2904.611          44.000          39.000
+ -23506599.98943 -18129423.12042  20852379.656    20852383.482    20852378.446
+      1275.801         994.131          56.000          50.000
+ -16956684.57243 -13183585.78642  22749709.244    22749717.277    22749707.157
+      2547.749        1985.259          51.000          45.000
+ -11249137.05643  -8724663.28442  23197880.598    23197886.331    23197880.703
+      1345.503        1048.444          49.000          42.000
+ -18447059.14543 -14324077.69342  21600103.786    21600108.166    21600102.642
+     -2452.605       -1911.121          55.000          48.000
+  -8169985.20543  -6355324.64142  23571499.981    23571506.495    23571498.738
+     -3397.102       -2647.092          46.000          40.000
+ -11307908.48843  -8779891.12842  23092747.725    23092754.134    23092748.089
+      1224.020         953.782          49.000          43.000
+ 04  2  1  3  7  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20165958.75843 -15296708.53642  21214743.443    21214748.352    21214742.021
+       203.777         158.787          55.000          49.000
+  -4653707.54343  -3564449.87342  23801660.854    23801669.921    23801660.124
+      3722.052        2900.300          45.000          39.000
+ -23544744.71143 -18159146.29442  20845120.915    20845124.683    20845119.361
+      1266.974         987.252          56.000          50.000
+ -17033014.98543 -13243063.96742  22735183.835    22735191.585    22735182.932
+      2540.533        1979.636          51.000          45.000
+ -11289442.23343  -8756069.89242  23190212.667    23190217.014    23190211.515
+      1341.502        1045.326          50.000          43.000
+ -18373322.23943 -14266620.45042  21614134.975    21614139.829    21614133.967
+     -2463.280       -1919.439          54.000          47.000
+  -8068000.80443  -6275856.37442  23590906.329    23590913.275    23590905.315
+     -3402.153       -2651.028          44.000          39.000
+ -11344458.43743  -8808371.56342  23085792.111    23085797.849    23085791.552
+      1212.141         944.525          49.000          42.000
+ 04  2  1  3  7 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20172007.36143 -15301421.74542  21213592.183    21213597.197    21213591.401
+       198.823         154.927          55.000          49.000
+  -4765302.38143  -3651406.69842  23780424.203    23780433.494    23780424.042
+      3716.617        2896.065          45.000          39.000
+ -23582627.60643 -18188665.44742  20837911.968    20837915.787    20837910.559
+      1257.962         980.230          56.000          50.000
+ -17109131.06843 -13302375.13142  22720699.833    22720706.658    22720698.177
+      2532.993        1973.761          51.000          45.000
+ -11329634.41843  -8787388.45442  23182563.827    23182568.261    23182562.752
+      1337.501        1042.208          50.000          42.000
+ -18299275.50343 -14208921.77742  21628225.983    21628230.847    21628224.805
+     -2473.848       -1927.674          54.000          47.000
+  -7965878.96943  -6196281.00842  23610341.044    23610345.949    23610339.252
+     -3406.775       -2654.630          47.000          39.000
+ -11380646.57643  -8836570.09742  23078905.965    23078913.126    23078904.162
+      1199.887         934.977          50.000          43.000
+ 04  2  1  3  8  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20177914.34043 -15306024.59242  21212468.812    21212472.995    21212467.466
+       194.730         151.738          56.000          49.000
+  -4876735.07343  -3738237.16442  23759220.151    23759228.408    23759218.899
+      3712.028        2892.489          46.000          39.000
+ -23620241.29343 -18217974.82542  20830754.043    20830758.083    20830752.806
+      1249.544         973.671          56.000          50.000
+ -17185024.36943 -13361512.70742  22706256.751    22706264.711    22706255.307
+      2526.360        1968.592          50.000          44.000
+ -11369709.30543  -8818615.62942  23174937.701    23174941.715    23174935.777
+      1334.256        1039.680          50.000          42.000
+ -18224916.43643 -14150979.73942  21642376.364    21642381.273    21642374.986
+     -2483.615       -1935.284          55.000          48.000
+  -7863617.42443  -6116596.75542  23629799.810    23629807.332    23629798.963
+     -3410.655       -2657.653          46.000          38.000
+ -11416465.20643  -8864480.68442  23072090.095    23072096.799    23072089.878
+      1188.208         925.876          49.000          43.000
+ 04  2  1  3  8 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20183681.56343 -15310518.54642  21211371.065    21211375.892    21211369.818
+       189.491         147.655          55.000          49.000
+  -4988004.27043  -3824940.22942  23738047.152    23738054.159    23738044.666
+      3705.804        2887.639          45.000          39.000
+ -23657584.69943 -18247073.59242  20823648.059    20823651.932    20823646.579
+      1239.778         966.061          56.000          50.000
+ -17260692.46343 -13420474.78542  22691857.612    22691865.975    22691856.235
+      2517.747        1961.881          51.000          44.000
+ -11409668.87243  -8849752.93342  23167333.599    23167339.247    23167332.583
+      1329.636        1036.080          50.000          42.000
+ -18150248.92743 -14092797.35642  21656585.473    21656590.285    21656584.600
+     -2494.405       -1943.692          55.000          48.000
+  -7761219.64843  -6036806.36342  23649286.606    23649291.275    23649286.009
+     -3415.866       -2661.714          47.000          39.000
+ -11451912.71943  -8892102.11742  23065344.102    23065350.122    23065343.320
+      1174.717         915.364          49.000          42.000
+ 04  2  1  3  9  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20189313.41643 -15314907.01542  21210298.758    21210303.871    21210298.024
+       185.231         144.336          55.000          49.000
+  -5099111.11443  -3911516.75942  23716902.998    23716912.178    23716901.388
+      3700.524        2883.525          44.000          40.000
+ -23694659.04543 -18275962.71242  20816593.164    20816596.989    20816591.486
+      1231.072         959.277          56.000          50.000
+ -17336135.30243 -13479261.35342  22677502.160    22677508.872    22677501.011
+      2510.897        1956.543          51.000          45.000
+ -11449517.40443  -8880803.72542  23159749.737    23159755.453    23159747.724
+      1326.063        1033.296          49.000          42.000
+ -18075279.13543 -14034379.42442  21670851.272    21670856.576    21670849.864
+     -2504.364       -1951.452          54.000          48.000
+  -7658691.66043  -5956914.50942  23668797.190    23668801.690    23668797.631
+     -3419.855       -2664.822          46.000          39.000
+ -11486990.35743  -8919435.31842  23058668.398    23058674.797    23058667.653
+      1162.848         906.115          49.000          42.000
+ 04  2  1  3  9 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20194807.78143 -15319188.35142  21209253.557    21209258.493    21209252.630
+       180.584         140.715          55.000          49.000
+  -5210050.13043  -3997962.53642  23695791.240    23695800.822    23695789.628
+      3694.981        2879.206          45.000          40.000
+ -23731459.00743 -18304638.02142  20809590.498    20809594.086    20809588.842
+      1221.821         952.068          56.000          51.000
+ -17411346.46943 -13537867.38842  22663189.608    22663197.043    22663188.435
+      2503.041        1950.421          52.000          45.000
+ -11489252.54943  -8911766.17142  23152189.591    23152194.245    23152187.388
+      1322.322        1030.381          50.000          42.000
+ -18000006.30743 -13975725.36342  21685175.202    21685179.839    21685174.734
+     -2514.462       -1959.321          55.000          47.000
+  -7556032.70643  -5876920.61142  23688332.336    23688337.251    23688332.479
+     -3424.245       -2668.243          46.000          39.000
+ -11521692.25843  -8946475.75742  23052066.275    23052070.918    23052065.588
+      1150.251         896.299          50.000          42.000
+ 04  2  1  3 10  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20200169.85643 -15323366.59942  21208233.580    21208238.181    21208232.057
+       175.875         137.045          55.000          49.000
+  -5320823.13443  -4084278.96742  23674711.402    23674721.078    23674710.931
+      3689.026        2874.566          45.000          39.000
+ -23767986.80343 -18333101.26042  20802639.420    20802643.278    20802638.026
+      1212.378         944.710          56.000          51.000
+ -17486326.87043 -13596293.60942  22648920.739    22648929.379    22648919.679
+      2494.861        1944.047          50.000          45.000
+ -11528879.29143  -8942644.14842  23144647.993    23144652.660    23144647.452
+      1318.540        1027.434          49.000          42.000
+ -17924437.61743 -13916840.76242  21699555.860    21699560.572    21699554.588
+     -2524.493       -1967.137          54.000          47.000
+  -7453249.39843  -5796829.78542  23707891.456    23707896.580    23707890.207
+     -3428.772       -2671.770          47.000          39.000
+ -11556019.98843  -8973224.61742  23045533.864    23045539.025    23045532.726
+      1137.285         886.196          50.000          42.000
+ 04  2  1  3 10 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20205395.84443 -15327438.81142  21207239.157    21207243.810    21207237.829
+       171.420         133.574          55.000          49.000
+  -5431423.18143  -4170460.63742  23653664.611    23653674.107    23653663.952
+      3683.293        2870.098          45.000          39.000
+ -23804235.54243 -18361347.04242  20795741.327    20795745.249    20795740.038
+      1203.020         937.418          56.000          51.000
+ -17561068.32743 -13654533.63042  22634698.198    22634706.318    22634696.405
+      2486.894        1937.839          51.000          45.000
+ -11568393.79543  -8973434.64942  23137128.515    23137132.972    23137128.823
+      1314.614        1024.374          49.000          42.000
+ -17848571.52043 -13857724.42042  21713992.896    21713997.583    21713991.709
+     -2534.399       -1974.856          54.000          47.000
+  -7350339.42643  -5716640.29542  23727475.082    23727479.320    23727472.341
+     -3433.095       -2675.139          47.000          39.000
+ -11589966.53643  -8999676.47642  23039073.386    23039079.657    23039073.118
+      1124.584         876.299          50.000          42.000
+ 04  2  1  3 11  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20210486.40743 -15331405.49442  21206269.930    21206274.840    21206268.820
+       167.914         130.842          55.000          49.000
+  -5541847.58843  -4256505.45442  23632650.366    23632661.448    23632649.364
+      3678.207        2866.135          45.000          39.000
+ -23840202.81943 -18389373.50942  20788897.000    20788900.941    20788895.490
+      1194.637         930.886          56.000          51.000
+ -17635567.25143 -13712584.67442  22620521.550    22620529.311    22620519.971
+      2479.606        1932.161          51.000          45.000
+ -11607796.73943  -9004138.21342  23129631.022    23129634.684    23129630.344
+      1312.025        1022.357          50.000          42.000
+ -17772410.34943 -13798378.14742  21728485.619    21728490.760    21728484.739
+     -2543.156       -1981.680          54.000          47.000
+  -7247305.49043  -5636354.18942  23747081.203    23747087.767    23747079.537
+     -3436.083       -2677.467          46.000          39.000
+ -11623529.39243  -9025829.32242  23032686.338    23032693.103    23032685.740
+      1112.771         867.094          50.000          43.000
+ 04  2  1  3 11 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20215448.85243 -15335272.34242  21205326.168    21205330.906    21205324.439
+       163.171         127.146          56.000          49.000
+  -5652100.55943  -4342416.70242  23611671.685    23611679.254    23611669.567
+      3672.158        2861.422          45.000          39.000
+ -23875892.70944 -18417183.82642  20782105.733    20782109.301    20782104.118
+      1185.057         923.421          57.000          51.000
+ -17709826.59143 -13770449.03142  22606391.033    22606397.992    22606389.068
+      2471.403        1925.768          52.000          46.000
+ -11647095.20043  -9034760.37642  23122152.660    23122157.771    23122152.420
+      1308.173        1019.356          50.000          42.000
+ -17695962.68543 -13738808.62942  21743033.604    21743038.279    21743032.457
+     -2553.110       -1989.436          54.000          47.000
+  -7144156.37443  -5555978.35042  23766708.802    23766716.638    23766709.521
+     -3440.292       -2680.747          46.000          39.000
+ -11656712.38943  -9051686.18842  23026371.829    23026379.669    23026371.290
+      1099.820         857.003          49.000          43.000
+ 04  2  1  3 12  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20220277.82143 -15339035.18342  21204407.043    21204411.386    21204405.641
+       158.300         123.351          56.000          49.000
+  -5762173.54743  -4428187.70142  23590725.010    23590733.814    23590723.886
+      3665.639        2856.342          46.000          39.000
+ -23911296.95343 -18444771.56642  20775368.370    20775372.205    20775366.976
+      1175.063         915.634          56.000          51.000
+ -17783836.71543 -13828119.21042  22592307.474    22592314.547    22592306.297
+      2462.406        1918.758          53.000          46.000
+ -11686283.97043  -9065297.07642  23114694.265    23114699.239    23114694.153
+      1304.181        1016.245          49.000          42.000
+ -17619224.84343 -13679013.00542  21757636.333    21757641.134    21757635.526
+     -2563.142       -1997.253          54.000          47.000
+  -7040888.07643  -5475509.64242  23786361.626    23786367.192    23786360.559
+     -3444.772       -2684.238          46.000          39.000
+ -11689506.75343  -9077240.21842  23020132.089    23020138.038    23020130.156
+      1086.386         846.535          49.000          43.000
+ 04  2  1  3 12 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20224979.52043 -15342698.85842  21203512.614    21203517.409    21203511.257
+       154.347         120.270          56.000          49.000
+  -5872069.45443  -4513820.71442  23569812.169    23569820.900    23569810.910
+      3659.775        2851.773          45.000          40.000
+ -23946418.76443 -18472139.23342  20768685.221    20768688.843    20768683.650
+      1165.654         908.302          56.000          51.000
+ -17857599.58143 -13885596.72542  22578270.605    22578277.807    22578269.465
+      2454.273        1912.421          53.000          46.000
+ -11725368.94943  -9095752.88342  23107257.715    23107261.523    23107257.491
+      1300.823        1013.628          49.000          42.000
+ -17542205.44143 -13618997.98342  21772291.897    21772296.848    21772290.988
+     -2572.298       -2004.388          54.000          47.000
+  -6937508.43643  -5394954.20142  23806034.280    23806040.199    23806032.927
+     -3448.108       -2686.837          47.000          39.000
+ -11721915.48643  -9102493.75042  23013964.549    23013970.358    23013962.995
+      1073.296         836.335          49.000          43.000
+ 04  2  1  3 13  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20229550.75743 -15346260.87342  21202642.018    21202647.108    21202641.087
+       149.482         116.479          55.000          49.000
+  -5981781.85743  -4599310.73942  23548933.624    23548944.028    23548932.777
+      3653.074        2846.551          45.000          40.000
+ -23981251.77043 -18499281.85742  20762056.402    20762060.383    20762054.854
+      1155.606         900.472          56.000          51.000
+ -17931107.62143 -13942875.67042  22564282.227    22564289.066    22564280.946
+      2445.280        1905.413          52.000          46.000
+ -11764347.17143  -9126125.51042  23099840.111    23099845.170    23099840.494
+      1296.815        1010.505          50.000          42.000
+ -17464903.19143 -13558762.55842  21787002.695    21787007.234    21787001.433
+     -2582.103       -2012.028          54.000          47.000
+  -6834016.00643  -5314310.83042  23825728.605    23825733.568    23825727.114
+     -3452.117       -2689.961          46.000          39.000
+ -11753932.05243  -9127441.70042  23007872.838    23007878.945    23007870.540
+      1059.955         825.939          50.000          42.000
+ 04  2  1  3 13 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20233992.28943 -15349721.81742  21201797.077    21201802.210    21201796.042
+       146.152         113.885          55.000          49.000
+  -6091308.31143  -4684655.87742  23528090.712    23528100.462    23528090.575
+      3648.188        2842.744          46.000          40.000
+ -24015793.77243 -18526197.72942  20755483.058    20755487.181    20755481.711
+      1146.830         893.634          56.000          51.000
+ -18004357.10143 -13999953.13942  22550343.538    22550350.190    22550342.131
+      2437.649        1899.467          52.000          45.000
+ -11803219.05443  -9156415.27242  23092442.210    23092446.661    23092442.226
+      1294.206        1008.472          49.000          42.000
+ -17387320.43043 -13498308.55942  21801765.800    21801771.377    21801765.327
+     -2590.513       -2018.581          54.000          47.000
+  -6730412.79443  -5233581.16142  23845442.316    23845448.483    23845441.721
+     -3454.899       -2692.129          45.000          39.000
+ -11785553.89343  -9152082.06842  23001854.357    23001861.180    23001853.867
+      1047.663         816.361          49.000          42.000
+ 04  2  1  3 14  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20238307.05143 -15353083.98442  21200976.195    21200980.801    21200974.639
+       142.087         110.717          55.000          49.000
+  -6200648.51843  -4769855.89142  23507284.205    23507294.815    23507283.718
+      3641.669        2837.664          45.000          40.000
+ -24050044.52143 -18552886.64642  20748965.534    20748969.596    20748964.179
+      1136.995         885.970          56.000          51.000
+ -18077346.76943 -14056828.16442  22536453.229    22536461.080    22536452.089
+      2428.865        1892.622          51.000          45.000
+ -11841987.51643  -9186624.43742  23085065.199    23085069.153    23085063.917
+      1290.819        1005.833          49.000          42.000
+ -17309461.66643 -13437639.49742  21816582.461    21816587.247    21816581.007
+     -2599.548       -2025.622          54.000          47.000
+  -6626703.17343  -5152768.57542  23865178.410    23865186.199    23865177.513
+     -3458.783       -2695.155          45.000          39.000
+ -11816780.55143  -9176414.52342  22995912.166    22995917.424    22995911.422
+      1034.390         806.018          49.000          42.000
+ 04  2  1  3 14 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20242498.33243 -15356349.93142  21200178.217    21200183.353    21200177.066
+       137.952         107.495          55.000          49.000
+  -6309802.80543  -4854911.03342  23486513.777    23486521.796    23486511.728
+      3635.630        2832.958          46.000          40.000
+ -24084004.45343 -18579348.94642  20742503.314    20742506.994    20742501.993
+      1127.377         878.476          56.000          51.000
+ -18150075.86543 -14113500.13742  22522613.003    22522620.756    22522613.220
+      2420.108        1885.798          51.000          45.000
+ -11880655.69243  -9216755.46042  23077706.330    23077712.320    23077705.081
+      1287.402        1003.170          49.000          42.000
+ -17231332.76343 -13376759.92542  21831450.004    21831454.537    21831448.643
+     -2608.642       -2032.708          54.000          47.000
+  -6522892.42043  -5071877.17742  23884933.556    23884939.586    23884932.416
+     -3461.645       -2697.386          46.000          39.000
+ -11847612.41143  -9200439.32842  22990045.222    22990050.778    22990043.180
+      1021.306         795.823          49.000          42.000
+ 04  2  1  3 15  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20246560.92943 -15359515.60842  21199405.170    21199410.387    21199404.295
+       132.941         103.590          55.000          49.000
+  -6418762.45643  -4939814.51042  23465780.676    23465787.894    23465777.269
+      3628.173        2827.148          47.000          40.000
+ -24117665.39843 -18605578.27842  20736097.861    20736101.808    20736096.484
+      1116.525         870.019          56.000          51.000
+ -18222534.91943 -14169961.69242  22508825.108    22508832.281    22508824.580
+      2410.300        1878.156          52.000          45.000
+ -11919218.40543  -9246804.31642  23070368.299    23070374.337    23070366.992
+      1283.370        1000.029          49.000          42.000
+ -17152930.11943 -13315667.05842  21846369.724    21846374.617    21846368.402
+     -2618.475       -2040.370          54.000          47.000
+  -6418976.50743  -4990903.83742  23904707.710    23904716.075    23904706.526
+     -3465.882       -2700.687          46.000          38.000
+ -11878040.86143  -9224149.77542  22984254.375    22984261.404    22984253.554
+      1006.966         784.649          49.000          42.000
+ 04  2  1  3 15 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20250500.78343 -15362585.62942  21198655.580    21198661.098    21198655.045
+       128.996         100.516          55.000          49.000
+  -6527530.40243  -5024568.60442  23445081.017    23445089.575    23445079.645
+      3622.010        2822.345          46.000          40.000
+ -24151030.05843 -18631576.74042  20729748.820    20729752.799    20729747.369
+      1106.808         862.448          56.000          51.000
+ -18294725.54243 -14226214.08842  22495087.833    22495095.486    22495086.381
+      2401.430        1871.244          52.000          45.000
+ -11957681.58943  -9276775.60642  23063049.449    23063054.610    23063049.520
+      1280.119         997.495          49.000          42.000
+ -17074261.81343 -13254367.17742  21861339.985    21861344.685    21861338.343
+     -2626.959       -2046.981          54.000          47.000
+  -6314963.38643  -4909854.73942  23924500.416    23924507.991    23924500.525
+     -3469.212       -2703.282          44.000          38.000
+ -11908068.48843  -9247547.92042  22978540.377    22978547.526    22978539.122
+       993.876         774.449          49.000          42.000
+ 04  2  1  3 16  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20254315.80843 -15365558.39142  21197929.905    21197934.583    21197928.683
+       125.007          97.408          55.000          49.000
+  -6636101.42543  -5109169.26542  23424420.588    23424429.639    23424419.095
+      3615.908        2817.591          46.000          40.000
+ -24184093.46043 -18657340.45542  20723456.957    20723460.864    20723455.604
+      1097.023         854.823          56.000          51.000
+ -18366641.19743 -14282252.23442  22481401.968    22481409.342    22481400.755
+      2392.543        1864.319          52.000          45.000
+ -11996043.12543  -9306667.70642  23055749.328    23055755.579    23055748.846
+      1276.959         995.033          50.000          42.000
+ -16995327.16543 -13192859.76142  21876360.357    21876365.620    21876359.218
+     -2635.592       -2053.708          54.000          47.000
+  -6210852.36043  -4828729.34242  23944312.512    23944319.934    23944311.997
+     -3472.093       -2705.527          44.000          38.000
+ -11937690.11143  -9270629.69242  22972904.070    22972909.516    22972902.960
+       980.611         764.112          50.000          43.000
+ 04  2  1  3 16 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20258011.15543 -15368437.90542  21197226.449    21197231.905    21197225.690
+       120.888          94.198          55.000          49.000
+  -6744477.34443  -5193617.88242  23403797.807    23403806.985    23403796.429
+      3609.045        2812.243          46.000          40.000
+ -24216857.57343 -18682870.95742  20717222.115    20717225.975    20717220.786
+      1086.818         846.871          56.000          51.000
+ -18438282.83943 -14338076.86542  22467770.870    22467776.723    22467768.943
+      2383.188        1857.030          53.000          46.000
+ -12034308.03343  -9336484.51642  23048467.726    23048472.989    23048468.630
+      1273.634         992.442          49.000          42.000
+ -16916133.46643 -13131150.48842  21891430.877    21891435.388    21891429.411
+     -2644.432       -2060.596          54.000          47.000
+  -6106649.68343  -4747532.53542  23964142.834    23964147.653    23964142.157
+     -3475.287       -2708.016          44.000          38.000
+ -11966907.67243  -9293396.62942  22967344.372    22967350.487    22967343.044
+       966.949         753.467          50.000          43.000
+ 04  2  1  3 17  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20261584.86343 -15371222.63242  21196546.742    21196551.143    21196545.465
+       117.265          91.375          56.000          49.000
+  -6852653.02243  -5277910.48242  23383211.905    23383220.701    23383211.470
+      3602.396        2807.062          46.000          40.000
+ -24249317.62543 -18708164.52942  20711045.578    20711049.158    20711044.201
+      1077.043         839.254          56.000          51.000
+ -18509644.32643 -14393683.18042  22454190.138    22454197.603    22454188.607
+      2374.196        1850.023          52.000          46.000
+ -12072474.20143  -9366224.36742  23041205.680    23041210.189    23041205.070
+      1270.853         990.275          50.000          42.000
+ -16836680.63043 -13069239.29142  21906549.627    21906554.742    21906548.871
+     -2652.605       -2066.965          54.000          47.000
+  -6002355.07143  -4666264.11642  23983986.568    23983996.636    23983986.884
+     -3477.841       -2710.006          43.000          38.000
+ -11995716.14243  -9315844.79242  22961862.352    22961868.110    22961861.051
+       953.627         743.086          50.000          43.000
+ 04  2  1  3 17 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20265037.71443 -15373913.18242  21195889.395    21195894.379    21195888.241
+       113.630          88.543          55.000          49.000
+  -6960626.50843  -5362045.53342  23362666.697    23362673.614    23362665.137
+      3596.133        2802.182          47.000          40.000
+ -24281471.48543 -18733219.50742  20704926.616    20704930.718    20704925.055
+      1067.262         831.633          56.000          51.000
+ -18580722.41343 -14449068.65942  22440664.140    22440671.399    22440663.212
+      2365.071        1842.912          53.000          46.000
+ -12110542.85143  -9395888.25342  23033961.057    23033966.281    23033960.797
+      1267.988         988.043          50.000          43.000
+ -16756971.41443 -13007128.32642  21921718.968    21921723.140    21921717.686
+     -2660.669       -2073.248          54.000          47.000
+  -5897971.31043  -4584926.24942  24003850.547    24003859.513    24003850.169
+     -3480.667       -2712.208          42.000          38.000
+ -12024113.34543  -9337972.47342  22956457.677    22956464.123    22956457.276
+       940.084         732.533          49.000          42.000
+ 04  2  1  3 18  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20268369.44543 -15376509.35642  21195255.552    21195260.465    21195254.345
+       109.110          85.021          55.000          49.000
+  -7068394.12443  -5446020.15842  23342158.532    23342166.600    23342157.585
+      3588.841        2796.499          47.000          40.000
+ -24313315.95843 -18758033.40942  20698866.551    20698870.727    20698865.304
+      1056.365         823.141          56.000          51.000
+ -18651512.36343 -14504229.61442  22427193.493    22427200.579    22427192.082
+      2354.862        1834.957          53.000          46.000
+ -12148513.53843  -9425475.79242  23026736.589    23026740.706    23026734.516
+      1264.223         985.109          50.000          43.000
+ -16677007.65343 -12944819.00442  21936935.432    21936939.780    21936934.434
+     -2669.593       -2080.202          54.000          46.000
+  -5793499.22643  -4503519.57542  24023730.351    24023741.007    24023729.881
+     -3483.649       -2714.532          43.000          38.000
+ -12052095.68743  -9359776.89142  22951133.489    22951138.861    22951132.009
+       925.886         721.470          49.000          42.000
+ 04  2  1  3 18 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20271582.26043 -15379012.86742  21194644.653    21194648.996    21194643.028
+       104.589          81.498          56.000          49.000
+  -7175954.96343  -5529833.64542  23321690.098    23321698.607    23321690.067
+      3581.361        2790.671          47.000          41.000
+ -24344850.07943 -18782605.47242  20692866.535    20692869.979    20692864.732
+      1045.450         814.636          56.000          51.000
+ -18722012.23243 -14559164.53942  22413777.992    22413785.528    22413776.824
+      2344.580        1826.945          53.000          46.000
+ -12186388.21843  -9454988.50242  23019527.472    23019532.483    23019527.958
+      1260.385         982.118          50.000          43.000
+ -16596793.46343 -12882314.55242  21952198.973    21952204.243    21952197.851
+     -2678.454       -2087.107          53.000          46.000
+  -5688942.32443  -4422046.74842  24043628.957    24043635.802    24043627.632
+     -3487.106       -2717.225          42.000          38.000
+ -12079662.31143  -9381257.37442  22945887.248    22945894.382    22945886.139
+       911.402         710.183          49.000          42.000
+ 04  2  1  3 19  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20274681.01143 -15381427.49442  21194054.523    21194059.687    21194053.570
+       101.117          78.792          56.000          49.000
+  -7283310.82243  -5613487.43542  23301259.667    23301267.849    23301259.356
+      3574.802        2785.560          47.000          41.000
+ -24376075.81043 -18806937.23042  20686924.179    20686928.074    20686922.670
+      1035.491         806.876          56.000          51.000
+ -18792222.61643 -14613873.89142  22400417.497    22400424.403    22400415.865
+      2335.256        1819.680          53.000          46.000
+ -12224171.84243  -9484430.27442  23012337.757    23012342.789    23012338.931
+      1257.698         980.024          50.000          43.000
+ -16516335.21543 -12819619.92742  21967510.277    21967515.681    21967508.836
+     -2686.228       -2093.165          54.000          46.000
+  -5584307.62643  -4340513.33242  24063539.713    24063548.726    24063538.670
+     -3489.600       -2719.169          43.000          38.000
+ -12106815.16343  -9402415.44142  22940719.714    22940727.278    22940719.733
+       897.907         699.668          49.000          42.000
+ 04  2  1  3 19 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20277659.54843 -15383748.44742  21193487.706    21193492.612    21193486.141
+        96.735          75.378          56.000          49.000
+  -7390452.57043  -5696974.36542  23280871.640    23280879.693    23280871.913
+      3567.063        2779.530          47.000          40.000
+ -24406984.18043 -18831021.69242  20681042.641    20681046.373    20681041.151
+      1024.454         798.276          56.000          51.000
+ -18862133.20543 -14668349.65442  22387113.365    22387120.814    22387112.646
+      2324.791        1811.525          53.000          46.000
+ -12261858.14743  -9513796.21042  23005167.135    23005170.674    23005167.682
+      1253.944         977.099          50.000          43.000
+ -16435628.97643 -12756732.05942  21982868.370    21982872.977    21982867.300
+     -2694.821       -2099.860          54.000          46.000
+  -5479590.03543  -4258915.32342  24083466.542    24083476.234    24083466.175
+     -3492.674       -2721.564          42.000          38.000
+ -12133544.91943  -9423243.80342  22935633.111    22935639.376    22935632.323
+       883.481         688.427          49.000          42.000
+ 04  2  1  3 20  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20280523.44743 -15385980.08242  21192942.734    21192947.427    21192941.789
+        93.247          72.660          55.000          49.000
+  -7497382.67243  -5780296.38042  23260523.909    23260532.254    23260521.866
+      3560.454        2774.380          46.000          40.000
+ -24437577.65143 -18854860.78342  20675220.924    20675224.789    20675219.440
+      1014.213         790.296          56.000          51.000
+ -18931745.46743 -14722592.94742  22373866.870    22373873.327    22373865.621
+      2315.170        1804.028          53.000          46.000
+ -12299452.94943  -9543090.84342  22998011.843    22998018.707    22998011.293
+      1251.304         975.042          50.000          43.000
+ -16354682.48943 -12693656.99542  21998271.722    21998277.117    21998270.442
+     -2702.529       -2105.867          54.000          46.000
+  -5374796.59243  -4177258.20142  24103409.062    24103417.990    24103408.521
+     -3494.500       -2722.987          42.000          37.000
+ -12159854.28043  -9443744.62242  22930627.541    22930634.801    22930626.113
+       869.622         677.628          49.000          43.000
+ 04  2  1  3 20 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20283272.67443 -15388122.35642  21192419.380    21192424.565    21192418.612
+        89.050          69.390          56.000          49.000
+  -7604097.99443  -5863451.04342  23240216.442    23240224.770    23240215.878
+      3553.001        2768.572          45.000          40.000
+ -24467853.29443 -18878452.21842  20669459.281    20669463.432    20669457.945
+      1003.202         781.716          56.000          51.000
+ -19001055.12543 -14776600.46042  22360677.886    22360684.091    22360677.373
+      2304.581        1795.777          53.000          46.000
+ -12336955.91143  -9572313.91342  22990875.919    22990879.430    22990874.387
+      1247.848         972.349          50.000          43.000
+ -16273497.61743 -12630396.17342  22013720.966    22013725.933    22013719.621
+     -2710.645       -2112.191          53.000          46.000
+  -5269929.05743  -4095543.36942  24123365.539    24123371.867    24123364.229
+     -3497.561       -2725.372          42.000          38.000
+ -12185740.03543  -9463915.34642  22925702.131    22925707.755    22925699.622
+       855.190         666.382          50.000          43.000
+ 04  2  1  3 21  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20285909.46743 -15390177.01742  21191918.321    21191922.393    21191916.903
+        86.413          67.335          56.000          49.000
+  -7710597.82143  -5946437.76142  23219949.157    23219957.943    23219948.444
+      3546.744        2763.697          46.000          40.000
+ -24497810.74743 -18901795.70942  20663758.635    20663762.853    20663757.148
+       993.671         774.289          56.000          51.000
+ -19070060.35343 -14830370.74442  22347546.395    22347553.308    22347545.234
+      2295.683        1788.844          53.000          46.000
+ -12374369.55743  -9601467.40042  22983756.335    22983760.930    22983756.161
+      1246.036         970.937          51.000          43.000
+ -16192078.57943 -12566952.88342  22029213.612    22029219.502    22029212.800
+     -2717.490       -2117.525          53.000          46.000
+  -5164991.41943  -4013773.88942  24143335.644    24143341.876    24143334.129
+     -3498.588       -2726.172          44.000          38.000
+ -12211201.63743  -9483755.54042  22920856.103    22920862.294    22920854.695
+       842.125         656.201          49.000          43.000
+ 04  2  1  3 21 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20288431.23343 -15392142.04842  21191438.296    21191442.467    21191437.055
+        82.284          64.117          56.000          49.000
+  -7816876.36843  -6029252.06942  23199724.401    23199735.319    23199724.950
+      3539.007        2757.668          46.000          40.000
+ -24527444.23543 -18924886.75842  20658119.332    20658123.563    20658118.004
+       982.488         765.575          56.000          51.000
+ -19138754.32243 -14883898.47942  22334473.830    22334481.498    22334472.386
+      2284.659        1780.254          52.000          46.000
+ -12411691.37243  -9630549.32842  22976654.452    22976659.227    22976655.157
+      1242.628         968.282          51.000          43.000
+ -16110424.75543 -12503326.64342  22044752.604    22044757.646    22044751.262
+     -2725.567       -2123.818          53.000          46.000
+  -5059982.20343  -3931948.63642  24163316.291    24163323.903    24163315.648
+     -3501.477       -2728.424          41.000          37.000
+ -12236233.58743  -9503260.96642  22916093.369    22916098.008    22916092.390
+       827.188         644.562          50.000          43.000
+ 04  2  1  3 22  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20290840.43943 -15394019.36742  21190979.835    21190984.540    21190978.724
+        78.395          61.087          56.000          49.000
+  -7922933.24043  -6111893.67842  23179542.156    23179552.710    23179542.181
+      3531.525        2751.838          46.000          41.000
+ -24556753.44343 -18947725.12842  20652542.593    20652546.412    20652541.072
+       971.433         756.961          56.000          51.000
+ -19207135.42843 -14937182.42242  22321461.924    22321468.986    22321460.837
+      2273.900        1771.870          52.000          46.000
+ -12448923.59143  -9659561.44542  22969569.105    22969572.991    22969568.905
+      1239.540         965.875          50.000          43.000
+ -16028541.00143 -12439521.22842  22060334.910    22060339.805    22060333.324
+     -2733.384       -2129.910          53.000          46.000
+  -4954905.67643  -3850070.98642  24183310.832    24183318.825    24183308.389
+     -3503.735       -2730.183          42.000          37.000
+ -12260835.36743  -9522431.16742  22911410.803    22911416.802    22911409.921
+       812.719         633.288          49.000          43.000
+ 04  2  1  3 22 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20293138.05843 -15395809.72842  21190542.048    21190546.770    21190541.384
+        73.926          57.605          55.000          49.000
+  -8028766.24343  -6194360.82142  23159404.654    23159413.206    23159402.828
+      3523.178        2745.334          47.000          41.000
+ -24585736.56643 -18970309.40542  20647027.337    20647031.064    20647025.871
+       959.919         747.989          56.000          51.000
+ -19275200.53543 -14990220.15242  22308509.630    22308516.158    22308507.879
+      2262.603        1763.067          53.000          46.000
+ -12486067.38643  -9688504.67342  22962500.092    22962505.391    22962499.918
+      1235.791         962.954          49.000          42.000
+ -15946429.62643 -12375538.45442  22075959.786    22075965.775    22075958.757
+     -2741.376       -2136.137          53.000          46.000
+  -4849764.22243  -3768142.69342  24203317.436    24203326.894    24203318.196
+     -3506.841       -2732.603          40.000          37.000
+ -12285005.06443  -9541264.68042  22906812.778    22906816.957    22906810.962
+       797.656         621.550          49.000          43.000
+ 04  2  1  3 23  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20295323.65443 -15397512.81142  21190126.663    21190131.383    21190125.279
+        70.651          55.053          55.000          49.000
+  -8134371.85443  -6276650.78042  23139308.182    23139315.892    23139305.872
+      3515.784        2739.572          46.000          41.000
+ -24614389.83443 -18992636.65042  20641574.632    20641578.627    20641573.164
+       949.239         739.667          56.000          51.000
+ -19342944.88143 -15043007.95842  22295617.721    22295624.514    22295616.993
+      2252.480        1755.179          53.000          46.000
+ -12523122.21943  -9717378.56242  22955449.392    22955454.876    22955448.384
+      1233.262         960.983          49.000          43.000
+ -15864092.95043 -12311380.12242  22091628.387    22091633.860    22091627.005
+     -2748.635       -2141.793          53.000          46.000
+  -4744558.65943  -3686164.42442  24223337.254    24223346.661    24223338.170
+     -3508.338       -2733.770          42.000          37.000
+ -12308739.16043  -9559758.78742  22902296.023    22902302.310    22902295.020
+       783.549         610.558          49.000          43.000
+ 04  2  1  3 23 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20297402.58043 -15399132.77742  21189731.216    21189735.590    21189729.823
+        66.866          52.103          56.000          49.000
+  -8239752.59543  -6358765.51842  23119253.286    23119263.575    23119253.054
+      3508.203        2733.665          45.000          41.000
+ -24642715.97943 -19014708.99942  20636184.290    20636188.195    20636182.973
+       938.079         730.971          56.000          51.000
+ -19410369.79443 -15095546.84142  22282787.832    22282794.361    22282786.156
+      2241.507        1746.629          53.000          46.000
+ -12560093.44243  -9746187.30342  22948413.776    22948419.448    22948411.906
+      1230.407         958.759          50.000          42.000
+ -15781538.03043 -12247051.73242  22107337.986    22107343.806    22107336.710
+     -2756.188       -2147.679          53.000          46.000
+  -4639295.98843  -3604141.64542  24243370.856    24243376.849    24243369.359
+     -3510.169       -2735.197          43.000          38.000
+ -12332040.30443  -9577915.50542  22897861.376    22897868.030    22897859.959
+       768.760         599.034          49.000          42.000
+ 04  2  1  3 24  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20299372.45143 -15400667.76342  21189355.915    21189360.435    21189354.282
+        63.663          49.608          55.000          49.000
+  -8344903.00343  -6440700.77042  23099245.486    23099253.977    23099244.078
+      3500.875        2727.955          46.000          41.000
+ -24670709.91243 -19036522.47742  20630857.224    20630861.182    20630855.767
+       927.385         722.638          56.000          51.000
+ -19477468.86843 -15147831.79342  22270018.104    22270026.102    22270015.876
+      2231.234        1738.624          52.000          46.000
+ -12596978.98143  -9774929.28142  22941394.163    22941399.016    22941394.134
+      1227.604         956.574          49.000          42.000
+ -15698764.33143 -12182552.87142  22123089.380    22123095.466    22123088.011
+     -2763.192       -2153.137          53.000          46.000
+  -4533975.38343  -3522073.74842  24263411.799    24263420.187    24263409.926
+     -3511.792       -2736.461          42.000          38.000
+ -12354903.64043  -9595731.07442  22893511.262    22893515.912    22893510.150
+       754.688         588.069          50.000          43.000
+ 04  2  1  3 24 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20301233.21943 -15402117.73642  21189001.583    21189006.904    21189000.552
+        60.084          46.819          55.000          49.000
+  -8449820.20943  -6522454.31842  23079279.614    23079288.626    23079278.748
+      3492.893        2721.735          46.000          41.000
+ -24698368.60243 -19058074.73642  20625594.046    20625597.866    20625592.862
+       916.258         713.967          56.000          51.000
+ -19544237.89643 -15199859.58542  22257313.334    22257320.628    22257311.831
+      2219.894        1729.787          53.000          46.000
+ -12633778.54143  -9803604.27342  22934393.201    22934397.268    22934392.339
+      1225.205         954.705          50.000          43.000
+ -15615773.77943 -12117885.03142  22138882.214    22138887.611    22138880.551
+     -2770.110       -2158.527          53.000          46.000
+  -4428598.26243  -3439961.79742  24283464.616    24283472.416    24283464.130
+     -3513.643       -2737.904          44.000          38.000
+ -12377325.89343  -9613202.95542  22889243.365    22889250.222    22889243.125
+       739.934         576.572          49.000          43.000
+ 04  2  1  3 25  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20302988.84643 -15403485.78042  21188667.766    21188672.776    21188666.580
+        56.778          44.243          56.000          49.000
+  -8554505.11243  -6604026.86642  23059359.173    23059367.195    23059358.118
+      3485.486        2715.963          48.000          41.000
+ -24725693.34743 -19079366.77742  20620394.095    20620398.295    20620392.909
+       905.247         705.387          56.000          51.000
+ -19610676.76243 -15251630.11942  22244669.796    22244677.767    22244668.786
+      2209.122        1721.394          53.000          46.000
+ -12670495.75643  -9832215.09042  22927404.428    22927411.498    22927404.088
+      1222.499         952.597          50.000          43.000
+ -15532572.04443 -12053052.62542  22154715.087    22154720.391    22154713.279
+     -2776.994       -2163.891          53.000          46.000
+  -4323170.24243  -3357810.18442  24303526.138    24303534.806    24303525.686
+     -3514.884       -2738.871          43.000          38.000
+ -12399308.36343  -9630332.14242  22885060.657    22885066.840    22885058.354
+       725.292         565.163          49.000          42.000
+ 04  2  1  3 25 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20304637.65943 -15404770.59342  21188354.352    21188358.785    21188353.222
+        52.823          41.161          56.000          49.000
+  -8658953.28743  -6685414.96442  23039484.548    23039490.967    23039482.397
+      3477.260        2709.553          48.000          42.000
+ -24752679.71443 -19100395.14442  20615259.132    20615263.132    20615257.571
+       893.467         696.208          56.000          51.000
+ -19676779.99743 -15303139.10342  22232091.620    22232098.143    22232089.352
+      2197.430        1712.283          53.000          46.000
+ -12707129.85743  -9860761.12942  22920435.398    22920440.017    22920434.697
+      1219.500         950.260          51.000          43.000
+ -15449160.84243 -11988056.99442  22170587.436    22170592.812    22170586.888
+     -2784.321       -2169.601          53.000          46.000
+  -4217691.04243  -3275618.71442  24323599.255    24323606.545    24323600.306
+     -3516.970       -2740.496          44.000          38.000
+ -12420846.68243  -9647115.23942  22880961.225    22880967.937    22880961.173
+       710.134         553.351          49.000          42.000
+ 04  2  1  3 26  0.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20306181.95743 -15405973.96142  21188061.027    21188065.170    21188059.252
+        49.869          38.859          56.000          49.000
+  -8763163.90443  -6766617.94442  23019652.770    23019660.715    23019651.410
+      3469.794        2703.735          48.000          42.000
+ -24779327.10743 -19121159.38142  20610188.380    20610192.078    20610187.053
+       882.683         687.805          56.000          51.000
+ -19742545.46843 -15354384.89342  22219575.474    22219583.480    22219573.856
+      2186.605        1703.848          52.000          46.000
+ -12743682.93743  -9889244.06142  22913479.001    22913483.160    22913478.152
+      1217.322         948.563          51.000          43.000
+ -15365543.80843 -11922900.98442  22186499.233    22186504.709    22186498.662
+     -2790.510       -2174.423          52.000          45.000
+  -4112164.22143  -3193390.13642  24343682.200    24343688.142    24343680.596
+     -3518.189       -2741.446          45.000          38.000
+ -12441940.45143  -9663551.93442  22876948.121    22876952.998    22876947.082
+       695.751         542.144          49.000          42.000
+ 04  2  1  3 26 30.0000000  0  8G 1G27G20G 2G13G11G25G16
+ -20307621.29643 -15407095.54342  21187786.633    21187791.544    21187785.539
+        46.100          35.922          56.000          49.000
+  -8867133.56943  -6847633.14742  22999868.081    22999876.195    22999866.906
+      3461.334        2697.143          47.000          42.000
+ -24805632.27243 -19141656.94242  20605182.530    20605186.363    20605181.374
+       870.929         678.646          56.000          51.000
+ -19807969.01043 -15405364.24442  22207126.036    22207134.271    22207125.312
+      2174.919        1694.742          52.000          46.000
+ -12780154.59543  -9917663.51642  22906538.411    22906542.302    22906537.876
+      1214.300         946.208          50.000          43.000
+ -15281722.54543 -11857585.84842  22202450.189    22202455.682    22202449.311
+     -2797.468       -2179.845          52.000          45.000
+  -4006591.06643  -3111125.43842  24363772.111    24363778.030    24363770.229
+     -3519.835       -2742.728          45.000          38.000
+ -12462586.50143  -9679639.75742  22873019.521    22873024.232    22873018.941
+       680.705         530.419          49.000          42.000
+ 04  2  1  3 27  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20308955.67343 -15408135.34142  21187532.765    21187537.736    21187531.176
+        42.976          33.488          55.000          49.000
+  -8970859.64643  -6928458.56142  22980129.603    22980137.586    22980128.147
+      3453.734        2691.221          47.000          42.000
+ -24831592.45343 -19161885.68642  20600242.654    20600246.558    20600241.330
+       859.845         670.009          56.000          51.000
+ -19873046.46943 -15456073.92142  22194743.576    22194749.895    22194741.781
+      2163.609        1685.929          53.000          47.000
+   -545173.01653   -410114.88552  24904358.200    24904361.169    24904357.481
+      2920.076        2275.384          44.000          35.000
+ -12816544.72243  -9946019.46542  22899613.978    22899617.732    22899614.043
+      1211.879         944.321          51.000          43.000
+ -15197699.25743 -11792113.27642  22218439.551    22218445.974    22218438.141
+     -2803.838       -2184.809          53.000          45.000
+  -3900973.25343  -3028825.92842  24383870.424    24383877.197    24383869.298
+     -3521.125       -2743.734          45.000          38.000
+ -12482782.12143  -9695376.59142  22869175.781    22869183.919    22869175.559
+       665.923         518.901          49.000          43.000
+ 04  2  1  3 27 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20310175.62943 -15409085.98142  21187300.784    21187305.410    21187299.227
+        39.598          30.856          56.000          49.000
+  -9074329.54643  -7009084.35042  22960439.260    22960448.758    22960438.833
+      3445.635        2684.910          47.000          42.000
+ -24857195.35643 -19181836.02742  20595370.791    20595374.298    20595369.109
+       848.258         660.980          56.000          51.000
+ -19937764.31643 -15506503.37542  22182427.323    22182434.974    22182426.014
+      2152.035        1676.910          53.000          47.000
+   -632589.79743   -478231.79742  24887723.316    24887728.240    24887723.775
+      2909.406        2267.070          45.000          36.000
+ -12852844.04043  -9974304.64342  22892706.304    22892710.267    22892705.033
+      1209.443         942.423          50.000          43.000
+ -15113466.40843 -11726477.40942  22234468.819    22234474.512    22234467.069
+     -2810.450       -2189.961          52.000          45.000
+  -3795302.56043  -2946485.21942  24403977.127    24403985.490    24403976.472
+     -3522.568       -2744.858          45.000          38.000
+ -12502515.37343  -9710753.13642  22865421.177    22865427.391    22865419.208
+       650.882         507.181          50.000          43.000
+ 04  2  1  3 28  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20311304.96843 -15409966.01242  21187085.735    21187090.585    21187084.676
+        36.010          28.060          56.000          49.000
+  -9177564.20243  -7089526.84442  22940794.852    22940802.054    22940793.779
+      3436.836        2678.054          48.000          42.000
+ -24882462.20143 -19201524.50442  20590562.664    20590566.524    20590561.147
+       836.444         651.775          56.000          51.000
+ -20002142.50343 -15556668.16642  22170176.759    22170183.889    22170175.468
+      2140.146        1667.646          53.000          46.000
+   -719702.30543   -546111.62142  24871147.987    24871152.531    24871146.791
+      2898.479        2258.555          46.000          36.000
+ -12889076.43143 -10002537.67642  22885811.110    22885816.302    22885810.928
+      1206.404         940.055          51.000          43.000
+ -15029050.25343 -11660698.69942  22250532.634    22250538.653    22250531.108
+     -2817.134       -2195.169          52.000          45.000
+  -3689604.29943  -2864123.04942  24424089.853    24424099.491    24424090.491
+     -3523.686       -2745.729          44.000          37.000
+ -12521807.52043  -9725785.97742  22861750.547    22861756.609    22861748.852
+       635.524         495.214          50.000          43.000
+ 04  2  1  3 28 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20312333.69343 -15410767.64142  21186889.742    21186895.063    21186888.326
+        32.298          25.167          55.000          49.000
+  -9280550.88043  -7169776.12242  22921196.679    22921204.912    22921194.741
+      3428.523        2671.576          48.000          42.000
+ -24907380.33444 -19220941.25842  20585820.824    20585824.824    20585819.533
+       824.349         642.350          57.000          51.000
+ -20066166.91043 -15606557.28642  22157993.264    22158000.065    22157991.119
+      2127.837        1658.055          53.000          46.000
+   -806497.49043   -613744.25642  24854630.602    24854635.281    24854628.929
+      2887.419        2249.937          47.000          37.000
+ -12925232.09343 -10030710.91142  22878930.776    22878935.077    22878929.383
+      1203.495         937.788          50.000          43.000
+ -14944442.99343 -11594771.08842  22266633.173    22266639.173    22266631.471
+     -2823.718       -2200.300          52.000          45.000
+  -3583869.73543  -2781732.59342  24444214.351    24444219.363    24444211.534
+     -3525.332       -2747.012          45.000          37.000
+ -12540645.68943  -9740465.06842  22858165.736    22858171.699    22858164.315
+       619.919         483.054          50.000          43.000
+ 04  2  1  3 29  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20313260.10543 -15411489.54342  21186714.160    21186718.435    21186712.330
+        28.630          22.309          56.000          49.000
+  -9383284.94343  -7249828.55742  22901647.126    22901654.820    22901645.968
+      3419.751        2664.741          48.000          42.000
+ -24931945.09543 -19240082.65942  20581146.303    20581150.227    20581144.802
+       812.370         633.016          56.000          51.000
+ -20129831.95643 -15656166.39642  22145878.051    22145885.088    22145876.580
+      2115.571        1648.497          53.000          46.000
+   -892970.39043   -681125.72542  24838175.178    24838179.461    24838174.930
+      2876.346        2241.309          48.000          37.000
+ -12961309.18743 -10058822.93042  22872066.074    22872069.261    22872065.121
+      1200.709         935.617          50.000          43.000
+ -14859644.51043 -11528694.46442  22282768.974    22282775.800    22282769.023
+     -2830.423       -2205.524          52.000          45.000
+  -3478098.93543  -2699313.85642  24464340.929    24464348.196    24464339.241
+     -3526.721       -2748.094          44.000          37.000
+ -12559025.86043  -9754787.27642  22854668.140    22854672.283    22854666.352
+       604.395         470.957          50.000          43.000
+ 04  2  1  3 29 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20314086.07443 -15412133.17242  21186556.607    21186561.364    21186555.195
+        25.574          19.928          56.000          49.000
+  -9485765.43343  -7329683.38142  22882144.969    22882154.835    22882143.133
+      3411.521        2658.328          47.000          42.000
+ -24956155.66143 -19258948.06542  20576538.837    20576543.097    20576537.422
+       800.771         623.977          56.000          51.000
+ -20193135.64043 -15705493.91342  22133831.718    22133838.391    22133829.910
+      2103.826        1639.345          53.000          46.000
+   -979119.49043   -748254.85242  24821781.538    24821787.665    24821781.039
+      2866.259        2233.449          45.000          37.000
+ -12997309.80243 -10086875.35542  22865214.759    22865219.372    22865214.519
+      1198.499         933.895          50.000          43.000
+ -14774659.24143 -11462472.29942  22298941.568    22298947.223    22298941.079
+     -2836.203       -2210.028          52.000          45.000
+  -3372295.21743  -2616869.48042  24484473.972    24484481.244    24484474.090
+     -3527.472       -2748.679          43.000          36.000
+ -12576947.21743  -9768751.95842  22851257.631    22851263.473    22851255.797
+       589.497         459.348          50.000          43.000
+ 04  2  1  3 30  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20314814.10543 -15412700.49542  21186417.658    21186422.540    21186416.532
+        22.623          17.628          55.000          49.000
+  -9587991.94343  -7409340.29342  22862692.148    22862699.748    22862690.801
+      3403.298        2651.921          47.000          42.000
+ -24980012.09643 -19277537.52142  20571999.301    20572003.397    20571997.714
+       789.250         615.000          56.000          51.000
+ -20256076.41843 -15754538.65742  22121854.484    22121861.494    22121853.323
+      2091.927        1630.073          53.000          46.000
+  -1064944.23943   -815131.22742  24805450.215    24805456.217    24805449.725
+      2855.439        2225.017          46.000          38.000
+ -13033236.43743 -10114870.13742  22858378.240    22858382.623    22858377.608
+      1196.283         932.169          50.000          43.000
+ -14689491.51143 -11396107.94542  22315149.113    22315154.220    22315148.026
+     -2841.995       -2214.541          53.000          45.000
+  -3266462.64543  -2534402.64442  24504611.788    24504618.748    24504614.501
+     -3528.278       -2749.307          45.000          36.000
+ -12594409.69043  -9782359.09942  22847934.191    22847940.111    22847933.434
+       574.348         447.544          49.000          43.000
+ 04  2  1  3 30 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20315443.47143 -15413190.93242  21186297.563    21186303.272    21186296.812
+        19.802          15.430          55.000          49.000
+  -9689961.15843  -7488796.73242  22843288.456    22843295.374    22843286.719
+      3395.068        2645.508          48.000          42.000
+ -25003510.70843 -19295848.15142  20567527.739    20567531.761    20567526.494
+       777.745         606.035          56.000          51.000
+ -20318649.77943 -15803297.08542  22109946.341    22109954.080    22109945.482
+      2080.037        1620.808          53.000          46.000
+  -1150440.54543   -881751.73942  24789180.355    24789188.562    24789179.061
+      2845.097        2216.959          46.000          38.000
+ -13069088.64443 -10142806.91742  22851555.670    22851560.640    22851554.795
+      1194.238         930.575          51.000          43.000
+ -14604142.70443 -11329602.49742  22331389.957    22331395.540    22331389.328
+     -2847.509       -2218.838          52.000          45.000
+  -3160601.81643  -2451913.75242  24524757.436    24524763.677    24524757.173
+     -3528.624       -2749.577          44.000          36.000
+ -12611410.08743  -9795606.17042  22844698.851    22844704.899    22844698.453
+       559.483         435.961          50.000          43.000
+ 04  2  1  3 31  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20315975.60643 -15413605.59742  21186197.640    21186201.947    21186196.298
+        15.954          12.432          56.000          49.000
+  -9791671.55743  -7568051.47742  22823932.910    22823942.122    22823932.043
+      3385.949        2638.402          48.000          43.000
+ -25026650.37643 -19313879.07942  20563124.451    20563128.536    20563122.959
+       765.251         596.299          56.000          51.000
+ -20380853.13743 -15851767.20142  22098109.779    22098117.244    22098108.383
+      2067.166        1610.779          53.000          47.000
+  -1235606.89943   -948115.11342  24772972.772    24772979.940    24772971.962
+      2833.368        2207.819          46.000          38.000
+ -13104867.98043 -10170686.91442  22844746.908    22844751.537    22844746.901
+      1191.273         928.265          50.000          43.000
+ -14518616.90143 -11262959.13342  22347665.158    22347671.113    22347664.193
+     -2853.878       -2223.801          52.000          45.000
+  -3054715.33843  -2369404.88242  24544905.839    24544912.037    24544906.830
+     -3530.059       -2750.695          43.000          36.000
+ -12627947.43143  -9808492.39142  22841552.351    22841558.285    22841550.576
+       543.296         423.348          50.000          43.000
+ 04  2  1  3 31 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20316412.11643 -15413945.76042  21186113.665    21186118.737    21186112.780
+        12.667           9.870          55.000          49.000
+  -9893121.81543  -7647103.52642  22804626.546    22804636.170    22804625.259
+      3377.130        2631.530          48.000          42.000
+ -25049430.01943 -19331629.47242  20558789.518    20558793.786    20558788.100
+       753.048         586.791          56.000          51.000
+ -20442684.15843 -15899947.19142  22086343.968    22086351.373    22086342.757
+      2054.664        1601.037          53.000          47.000
+  -1320441.33643  -1014219.85942  24756830.692    24756837.046    24756828.352
+      2822.250        2199.156          46.000          38.000
+ -13140575.87843 -10198511.24442  22837952.413    22837956.757    22837950.649
+      1188.840         926.369          51.000          43.000
+ -14432917.37343 -11196180.40342  22363973.236    22363978.831    22363972.550
+     -2859.816       -2228.428          52.000          45.000
+  -2948806.73443  -2286878.79142  24565059.504    24565065.255    24565060.868
+     -3530.738       -2751.224          43.000          35.000
+ -12644020.84043  -9821017.15342  22838494.556    22838498.303    22838493.059
+       527.967         411.403          50.000          43.000
+ 04  2  1  3 32  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20316751.62043 -15414210.32942  21186048.783    21186053.833    21186047.493
+         9.691           7.551          55.000          49.000
+  -9994308.13043  -7725949.89742  22785372.327    22785379.846    22785372.228
+      3368.330        2624.673          48.000          42.000
+ -25071845.69143 -19349096.25142  20554524.232    20554528.028    20554522.605
+       741.009         577.410          56.000          51.000
+ -20504137.69843 -15947833.06242  22074649.973    22074656.676    22074648.785
+      2042.013        1591.179          54.000          47.000
+  -1404939.74143  -1080062.79242  24740749.444    24740758.370    24740750.109
+      2810.808        2190.240          46.000          39.000
+ -13176211.05743 -10226278.91042  22831171.085    22831175.739    22831169.960
+      1186.497         924.543          51.000          43.000
+ -14347045.02843 -11129267.01142  22380313.962    22380319.986    22380313.185
+     -2865.366       -2232.753          52.000          45.000
+  -2842876.28843  -2204335.67442  24585219.554    24585225.278    24585218.502
+     -3531.207       -2751.590          43.000          35.000
+ -12659626.61143  -9833177.51742  22835524.507    22835529.228    22835522.724
+       512.265         399.168          50.000          43.000
+ 04  2  1  3 32 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20316993.88643 -15414399.12642  21186003.004    21186008.041    21186001.750
+         7.052           5.495          55.000          49.000
+ -10095227.26043  -7804588.09142  22766168.058    22766175.561    22766167.840
+      3360.132        2618.285          49.000          42.000
+ -25093894.41343 -19366277.09342  20550328.558    20550332.267    20550326.963
+       729.372         568.342          56.000          51.000
+ -20565209.46343 -15995421.44742  22063028.682    22063035.489    22063026.911
+      2029.814        1581.673          54.000          47.000
+  -1489098.30043  -1145640.83842  24724735.956    24724743.767    24724734.558
+      2800.152        2181.937          47.000          39.000
+ -13211773.61143 -10253989.98542  22824402.724    22824408.538    22824403.478
+      1184.809         923.228          50.000          43.000
+ -14261001.85243 -11062220.51142  22396688.861    22396693.535    22396687.741
+     -2870.393       -2236.670          52.000          45.000
+  -2736924.94243  -2121776.26342  24605380.976    24605387.606    24605379.063
+     -3531.395       -2751.736          43.000          36.000
+ -12674761.95343  -9844971.29842  22832643.594    22832648.822    22832642.654
+       497.257         387.473          50.000          43.000
+ 04  2  1  3 33  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20317145.77443 -15414517.50642  21185974.025    21185979.222    21185973.000
+         4.505           3.510          55.000          49.000
+ -10195883.33443  -7883021.29642  22747014.473    22747022.217    22747012.545
+      3351.388        2611.471          49.000          43.000
+ -25115580.40843 -19383175.28842  20546201.847    20546205.593    20546200.034
+       717.658         559.214          56.000          51.000
+ -20625902.68343 -16042714.84642  22051478.412    22051485.605    22051476.941
+      2017.446        1572.036          53.000          47.000
+  -1572920.97143  -1210957.20742  24708784.501    24708791.220    24708782.116
+      2789.158        2173.370          46.000          38.000
+ -13247270.47343 -10281649.86742  22817649.717    22817653.826    22817649.014
+      1183.043         921.852          51.000          44.000
+ -14174796.88343 -10995047.92142  22413092.576    22413099.094    22413092.028
+     -2875.395       -2240.567          52.000          45.000
+  -2630960.75443  -2039206.87342  24625545.070    24625551.850    24625543.765
+     -3531.661       -2751.944          43.000          35.000
+ -12689431.60643  -9856402.19642  22829853.320    22829858.455    22829851.517
+       481.999         375.584          50.000          43.000
+ 04  2  1  3 33 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20317203.15843 -15414562.23842  21185963.889    21185967.993    21185962.441
+          .057            .044          56.000          49.000
+ -10296269.73543  -7961244.39242  22727911.084    22727919.361    22727910.671
+      3341.387        2603.678          49.000          43.000
+ -25136897.17343 -19399785.77742  20542145.292    20542149.406    20542143.785
+       704.114         548.660          56.000          51.000
+ -20686209.47843 -16089707.14142  22040003.217    22040009.756    22040001.259
+      2003.432        1561.116          53.000          47.000
+  -1656400.85743  -1276006.42942  24692900.228    24692904.052    24692898.056
+      2776.831        2163.764          46.000          38.000
+ -13282697.41643 -10309255.28042  22810906.513    22810911.792    22810906.169
+      1179.289         918.926          50.000          43.000
+ -14088427.99743 -10927747.61342  22429527.715    22429534.459    22429527.782
+     -2882.012       -2245.724          52.000          45.000
+  -2524981.31543  -1956625.57242  24645715.121    24645719.773    24645710.971
+     -3533.507       -2753.382          44.000          36.000
+ -12703629.05543  -9867465.15742  22827150.425    22827156.538    22827149.471
+       465.156         362.459          49.000          43.000
+ 04  2  1  3 34  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20317164.78343 -15414532.35542  21185970.928    21185975.388    21185969.415
+        -3.463          -2.698          56.000          49.000
+ -10396382.34343  -8039254.10142  22708860.722    22708868.780    22708860.036
+      3331.910        2596.294          49.000          43.000
+ -25157840.93243 -19416105.60542  20538159.736    20538163.749    20538158.404
+       691.370         538.730          56.000          51.000
+ -20746124.69143 -16136394.28442  22028601.945    22028607.943    22028600.025
+      1990.306        1550.888          53.000          47.000
+  -1739533.36843  -1340784.95542  24677078.304    24677085.434    24677076.362
+      2764.696        2154.309          44.000          37.000
+ -13318053.50143 -10336805.46442  22804178.417    22804183.531    22804177.969
+      1176.680         916.894          51.000          43.000
+ -14001896.29943 -10860320.43842  22445994.021    22446000.848    22445993.628
+     -2887.602       -2250.079          52.000          45.000
+  -2418986.42143  -1874032.26242  24665884.138    24665890.697    24665882.629
+     -3533.794       -2753.606          42.000          35.000
+ -12717350.77643  -9878157.40442  22824538.659    22824545.973    22824537.891
+       448.972         349.848          49.000          43.000
+ 04  2  1  3 34 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20317035.15843 -15414431.36842  21185995.261    21186000.038    21185994.285
+        -6.057          -4.720          56.000          49.000
+ -10496222.78843  -8117051.75842  22689861.730    22689868.545    22689860.277
+      3323.288        2589.575          49.000          43.000
+ -25178413.29943 -19432136.04142  20534244.590    20534249.001    20534243.315
+       679.354         529.367          56.000          51.000
+ -20805648.88843 -16182776.75842  22017274.620    22017281.587    22017272.756
+      1977.628        1541.009          54.000          47.000
+  -1822319.71443  -1405293.75042  24661325.530    24661329.933    24661326.233
+      2753.640        2145.694          44.000          37.000
+ -13353343.68043 -10364304.29542  22797462.400    22797468.335    22797462.948
+      1175.162         915.711          50.000          43.000
+ -13915208.52643 -10792771.66242  22462490.925    22462496.469    22462489.977
+     -2892.318       -2253.754          52.000          45.000
+  -2312982.29843  -1791431.72242  24686055.334    24686062.715    24686054.653
+     -3533.549       -2753.415          42.000          36.000
+ -12730598.80643  -9888480.54542  22822019.304    22822024.382    22822017.228
+       433.520         337.808          50.000          43.000
+ 04  2  1  3 35  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20316817.48943 -15414261.79042  21186036.935    21186042.146    21186035.323
+        -9.007          -7.018          55.000          49.000
+ -10595791.79343  -8194637.89142  22670914.176    22670921.677    22670912.927
+      3314.127        2582.437          48.000          42.000
+ -25198615.05243 -19447877.68742  20530400.797    20530404.770    20530399.263
+       666.947         519.699          56.000          51.000
+ -20864781.70643 -16228854.25442  22006022.098    22006028.950    22006020.440
+      1964.311        1530.632          54.000          47.000
+  -1904760.36443  -1469533.20342  24645638.816    24645644.494    24645636.506
+      2742.011        2136.632          45.000          38.000
+ -13388570.91343 -10391754.07542  22790760.905    22790764.686    22790760.400
+      1172.858         913.915          51.000          43.000
+ -13828370.25843 -10725105.60342  22479016.225    22479022.924    22479015.446
+     -2897.293       -2257.631          52.000          45.000
+  -2206973.74643  -1708827.74742  24706227.441    24706235.257    24706227.678
+     -3534.062       -2753.814          41.000          35.000
+ -12743374.14243  -9898435.34442  22819587.742    22819593.211    22819587.578
+       417.690         325.473          50.000          43.000
+ 04  2  1  3 35 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20316514.44843 -15414025.67442  21186093.904    21186099.560    21186093.001
+       -11.895          -9.269          56.000          49.000
+ -10695089.47443  -8272012.62342  22652018.253    22652026.361    22652016.767
+      3304.827        2575.190          49.000          42.000
+ -25218446.46543 -19463330.75842  20526626.935    20526631.321    20526625.620
+       654.379         509.906          56.000          51.000
+ -20923521.85343 -16274625.77242  21994843.662    21994850.887    21994842.108
+      1950.999        1520.259          54.000          47.000
+  -1986854.66743  -1533502.73142  24630016.063    24630022.166    24630014.890
+      2730.393        2127.579          45.000          38.000
+ -13423737.99143 -10419156.99342  22784068.144    22784072.906    22784067.359
+      1170.714         912.245          51.000          43.000
+ -13741386.09143 -10657325.87942  22495567.428    22495574.783    22495567.572
+     -2902.261       -2261.502          51.000          45.000
+  -2100964.66043  -1626223.38742  24726402.201    24726410.486    24726399.094
+     -3534.052       -2753.807          41.000          35.000
+ -12755677.51943  -9908022.38442  22817246.421    22817251.199    22817244.247
+       401.679         312.997          49.000          43.000
+ 04  2  1  3 36  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20316112.55143 -15413712.53842  21186171.148    21186175.831    21186169.763
+       -15.137         -11.795          55.000          49.000
+ -10794099.66143  -8349163.31742  22633176.936    22633185.090    22633175.668
+      3295.353        2567.808          48.000          43.000
+ -25237891.52143 -19478482.77342  20522926.314    20522930.923    20522925.225
+       641.522         499.887          56.000          51.000
+ -20981852.32443 -16320078.05742  21983743.714    21983750.895    21983742.538
+      1937.378        1509.645          54.000          47.000
+  -2068586.40443  -1597189.77142  24614463.770    24614470.196    24614462.758
+      2718.203        2118.080          45.000          38.000
+ -13458831.79943 -10446502.80642  22777390.223    22777394.252    22777388.670
+      1168.494         910.515          51.000          44.000
+ -13654244.90843 -10589423.79942  22512150.539    22512158.181    22512149.692
+     -2907.320       -2265.444          52.000          44.000
+  -1994943.16343  -1543609.34942  24746576.772    24746583.478    24746576.214
+     -3533.908       -2753.694          41.000          35.000
+ -12767493.20343  -9917229.42342  22814998.449    22815002.231    22814997.009
+       385.586         300.457          50.000          43.000
+ 04  2  1  3 36 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20315623.21743 -15413331.25942  21186263.795    21186268.701    21186262.729
+       -17.607         -13.720          55.000          49.000
+ -10892831.16143  -8426096.85942  22614387.559    22614396.214    22614387.689
+      3286.492        2560.903          48.000          43.000
+ -25256959.17043 -19493340.70742  20519298.340    20519302.373    20519296.935
+       629.375         490.422          56.000          51.000
+ -21039780.84743 -16365217.13142  21972720.571    21972727.252    21972718.998
+      1924.265        1499.427          54.000          47.000
+  -2149963.91443  -1660600.78642  24598977.297    24598984.543    24598977.414
+      2706.813        2109.205          45.000          38.000
+ -13493863.92243 -10473800.55742  22770723.588    22770728.390    22770722.249
+      1166.794         909.190          51.000          44.000
+ -13566960.40143 -10521410.03442  22528761.128    22528766.314    22528759.861
+     -2911.738       -2268.887          52.000          44.000
+  -1888922.23843  -1460995.72242  24766751.409    24766756.783    24766747.523
+     -3533.638       -2753.484          39.000          34.000
+ -12778830.55643  -9926063.72442  22812840.638    22812846.098    22812838.859
+       369.918         288.248          50.000          43.000
+ 04  2  1  3 37  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20315040.78743 -15412877.45542  21186374.770    21186380.173    21186373.797
+       -20.183         -15.727          55.000          49.000
+ -10991275.89343  -8502806.94542  22595654.489    22595662.526    22595653.464
+      3277.469        2553.872          48.000          43.000
+ -25275641.52443 -19507898.40942  20515743.315    20515747.231    20515741.791
+       616.942         480.734          56.000          51.000
+ -21097298.14743 -16410035.78742  21961775.149    21961782.114    21961773.738
+      1911.143        1489.202          54.000          47.000
+  -2230978.78943  -1723729.20142  24583560.574    24583567.856    24583559.720
+      2695.160        2100.125          45.000          38.000
+ -13528828.93743 -10501046.02142  22764069.961    22764074.972    22764068.453
+      1165.113         907.880          51.000          44.000
+ -13479529.17043 -10453281.93442  22545398.186    22545404.605    22545397.570
+     -2916.020       -2272.223          52.000          44.000
+  -1782897.65543  -1378379.24842  24786927.482    24786934.149    24786927.455
+     -3533.618       -2753.468          41.000          34.000
+ -12789681.77743  -9934519.21842  22810775.328    22810781.173    22810775.294
+       354.225         276.019          49.000          42.000
+ 04  2  1  3 37 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20314372.84743 -15412357.00342  21186502.229    21186507.337    21186500.975
+       -23.974         -18.681          56.000          49.000
+ -11089438.58243  -8579297.25142  22576974.942    22576982.633    22576974.269
+      3267.193        2545.865          48.000          43.000
+ -25293943.31143 -19522159.56942  20512260.243    20512264.762    20512259.052
+       603.499         470.259          56.000          51.000
+ -21154408.06843 -16454536.98542  21950907.791    21950915.104    21950906.232
+      1896.630        1477.893          54.000          47.000
+  -2311635.33143  -1786578.40442  24568213.221    24568217.803    24568211.226
+      2682.026        2089.890          43.000          38.000
+ -13563734.20343 -10528244.92742  22757426.707    22757433.043    22757426.438
+      1162.341         905.720          50.000          44.000
+ -13391960.71643 -10385046.90642  22562062.454    22562068.542    22562061.203
+     -2921.414       -2276.426          52.000          44.000
+  -1676878.16143  -1295766.70142  24807102.733    24807106.352    24807104.078
+     -3533.954       -2753.730          42.000          34.000
+ -12800052.08443  -9942599.98442  22808802.658    22808807.455    22808800.547
+       337.349         262.869          50.000          43.000
+ 04  2  1  3 38  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20313614.22243 -15411765.90342  21186646.330    21186652.061    21186645.129
+       -26.690         -20.797          56.000          49.000
+ -11187311.41343  -8655561.69742  22558351.344    22558358.819    22558348.840
+      3257.682        2538.454          49.000          43.000
+ -25311857.10443 -19536118.39342  20508851.751    20508855.807    20508850.364
+       590.761         460.333          56.000          51.000
+ -21211101.66143 -16498713.76242  21940118.463    21940125.551    21940116.884
+      1883.159        1467.397          53.000          47.000
+  -2391925.58243  -1849142.18142  24552933.263    24552939.856    24552932.651
+      2670.653        2081.028          44.000          38.000
+ -13598574.88943 -10555393.51442  22750797.702    22750801.614    22750796.983
+      1160.513         904.296          51.000          44.000
+ -13304252.17543 -10316702.71942  22578752.545    22578758.506    22578751.190
+     -2925.775       -2279.825          51.000          44.000
+  -1570860.18143  -1213155.40642  24827278.254    24827281.685    24827274.397
+     -3533.557       -2753.421          41.000          34.000
+ -12809934.43643  -9950300.49742  22806921.731    22806926.336    22806920.560
+       321.561         250.567          50.000          43.000
+ 04  2  1  3 38 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20312768.94543 -15411107.28142  21186807.153    21186812.294    21186806.186
+       -29.540         -23.018          56.000          49.000
+ -11284896.03043  -8731601.55342  22539781.442    22539789.067    22539779.804
+      3248.006        2530.914          49.000          43.000
+ -25329384.34943 -19549776.00742  20505516.104    20505520.233    20505514.793
+       577.936         450.340          56.000          51.000
+ -21267379.37443 -16542566.49342  21929409.386    21929416.229    21929408.130
+      1869.173        1456.498          54.000          47.000
+  -2471850.35343  -1911421.20242  24537724.384    24537729.958    24537723.835
+      2658.092        2071.240          44.000          37.000
+ -13633355.18243 -10582495.03442  22744179.226    22744184.007    22744178.423
+      1158.482         902.713          51.000          44.000
+ -13216410.13543 -10248254.53142  22595468.096    22595474.453    22595466.561
+     -2930.297       -2283.348          51.000          43.000
+  -1464849.18343  -1130549.51342  24847450.453    24847459.188    24847448.202
+     -3533.502       -2753.378          42.000          35.000
+ -12819330.77043  -9957622.30242  22805133.337    22805138.574    22805131.040
+       305.370         237.951          49.000          43.000
+ 04  2  1  3 39  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20311838.55843 -15410382.33042  21186985.011    21186989.297    21186983.456
+       -33.120         -25.808          56.000          49.000
+ -11382191.39243  -8807416.02542  22521266.791    22521273.024    22521264.923
+      3237.627        2522.826          49.000          43.000
+ -25346524.42943 -19563131.93142  20502254.855    20502258.740    20502253.390
+       564.130         439.582          56.000          51.000
+ -21323239.11343 -16586093.52942  21918780.075    21918786.307    21918778.705
+      1854.325        1444.929          54.000          47.000
+  -2551408.45443  -1973414.50542  24522583.646    24522591.446    24522583.574
+      2645.135        2061.144          43.000          38.000
+ -13668077.01043 -10609550.99442  22737573.190    22737576.776    22737571.485
+      1155.817         900.637          51.000          44.000
+ -13128438.33943 -10179705.22342  22612209.149    22612215.322    22612208.496
+     -2935.088       -2287.081          51.000          43.000
+  -1358848.13143  -1047951.35442  24867622.433    24867624.753    24867621.432
+     -3533.862       -2753.659          41.000          34.000
+ -12828240.33943  -9964564.81542  22803437.445    22803443.654    22803436.048
+       287.982         224.402          49.000          43.000
+ 04  2  1  3 39 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20310822.02343 -15409590.25642  21187177.776    21187182.703    21187176.906
+       -34.387         -26.795          56.000          49.000
+ -11479194.01843  -8883002.37442  22502806.414    22502814.067    22502805.376
+      3229.427        2516.437          48.000          43.000
+ -25363273.82043 -19576183.42142  20499067.608    20499071.497    20499065.993
+       552.682         430.661          56.000          51.000
+ -21378676.29743 -16629291.29142  21908230.440    21908237.309    21908229.044
+      1841.773        1435.148          54.000          47.000
+  -2630596.14043  -2035119.16542  24507513.753    24507521.965    24507514.616
+      2634.177        2052.605          43.000          38.000
+ -13702739.38643 -10636560.63342  22730976.925    22730980.571    22730975.951
+      1155.378         900.295          52.000          44.000
+ -13040337.90443 -10111055.68542  22628973.851    22628980.694    22628973.366
+     -2937.812       -2289.204          51.000          43.000
+  -1252857.65143   -965361.43642  24887791.392    24887800.649    24887791.953
+     -3531.968       -2752.183          41.000          34.000
+ -12836660.66343  -9971126.09842  22801835.709    22801841.504    22801834.886
+       273.517         213.130          50.000          43.000
+ 04  2  1  3 40  0.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20309719.62343 -15408731.26942  21187388.105    21187392.652    21187386.514
+       -38.196         -29.763          56.000          49.000
+ -11575901.61143  -8958358.82142  22484404.502    22484411.855    22484403.340
+      3218.638        2508.030          49.000          43.000
+ -25379630.28543 -19588928.73642  20495954.723    20495959.344    20495953.484
+       538.636         419.716          56.000          51.000
+ -21433687.32743 -16672156.98942  21897762.426    21897768.794    21897761.130
+      1826.548        1423.284          54.000          47.000
+  -2709410.58343  -2096532.99842  24492518.803    24492523.860    24492517.692
+      2620.825        2042.201          45.000          39.000
+ -13737342.78843 -10663524.33242  22724390.225    22724394.787    22724390.034
+      1152.497         898.050          51.000          44.000
+ -12952111.30043 -10042307.82342  22645762.744    22645768.552    22645762.629
+     -2942.961       -2293.216          50.000          43.000
+  -1146879.13243   -882780.81942  24907959.143    24907965.669    24907958.788
+     -3532.515       -2752.609          40.000          33.000
+ -12844589.96243  -9977304.75742  22800326.429    22800332.771    22800324.855
+       256.170         199.613          49.000          43.000
+ 04  2  1  3 40 30.0000000  0  9G 1G27G20G 2G 4G13G11G25G16
+ -20308535.32243 -15407808.46442  21187613.029    21187618.208    21187611.746
+       -41.573         -32.394          56.000          49.000
+ -11672315.52643  -9033486.43542  22466057.212    22466064.465    22466056.467
+      3208.014        2499.751          49.000          43.000
+ -25395595.57243 -19601369.23842  20492916.886    20492920.652    20492915.461
+       524.823         408.953          56.000          51.000
+ -21488272.85643 -16714691.11942  21887374.724    21887382.215    21887373.312
+      1811.677        1411.696          54.000          47.000
+  -2787852.95343  -2157656.93942  24477589.562    24477598.895    24477588.928
+      2607.603        2031.898          45.000          39.000
+ -13771891.12443 -10690445.09542  22717816.750    22717822.729    22717816.669
+      1149.898         896.024          51.000          44.000
+ -12863764.64443  -9973466.40242  22662574.854    22662580.554    22662574.227
+     -2947.632       -2296.856          51.000          43.000
+                   -800213.79342  24928121.879    24928130.731
+     -3532.682       -2752.739          40.000          32.000
+ -12852030.17943  -9983102.30142  22798911.716    22798917.543    22798909.829
+       239.123         186.330          50.000          43.000
+ 04  2  1  3 41  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20307266.23843 -15406819.59742  21187854.244    21187859.616    21187853.146
+       -44.468         -34.650          55.000          49.000
+ -11768430.51243  -9108381.12542  22447767.130    22447774.446    22447765.140
+      3198.085        2492.014          49.000          43.000
+ -25411164.68043 -19613501.03742  20489954.345    20489958.000    20489952.742
+       511.626         398.670          56.000          51.000
+ -21542426.56943 -16756888.77942  21877069.300    21877076.794    21877068.018
+      1797.174        1400.395          54.000          47.000
+  -2865917.38843  -2218486.36042  24462736.089    24462741.140    24462734.966
+      2595.397        2022.387          45.000          38.000
+ -13806381.80843 -10717320.95442  22711253.215    22711257.639    22711253.108
+      1147.975         894.526          51.000          44.000
+ -12775297.51143  -9904531.12342  22679410.105    22679416.747    22679409.896
+     -2951.692       -2300.020          51.000          43.000
+ -12858976.52743  -9988515.02142  22797587.963    22797595.721    22797586.409
+       222.663         173.504          49.000          43.000
+ 04  2  1  3 41 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20305913.09543 -15405765.22742  21188112.011    21188116.864    21188110.578
+       -46.725         -36.409          56.000          49.000
+ -11864244.80043  -9183041.49742  22429533.641    22429541.670    22429531.164
+      3188.546        2484.581          49.000          43.000
+ -25426335.68943 -19625322.62042  20487067.171    20487070.925    20487065.606
+       498.823         388.693          56.000          51.000
+ -21596145.56743 -16798747.69342  21866847.208    21866853.885    21866845.804
+      1783.132        1389.454          54.000          47.000
+  -2943601.84443  -2279019.69742  24447954.255    24447958.440    24447952.926
+      2582.879        2012.633          44.000          37.000
+ -13840816.22243 -10744152.95642  22704701.391    22704705.682    22704700.455
+      1146.579         893.438          52.000          44.000
+ -12686713.01843  -9835504.40542  22696267.288    22696273.609    22696265.367
+     -2955.041       -2302.629          51.000          43.000
+ -12865427.86643  -9993542.01142  22796362.612    22796367.283    22796359.961
+       206.572         160.965          50.000          43.000
+ 04  2  1  3 42  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20304477.45543 -15404646.56942  21188385.631    21188390.114    21188384.303
+       -49.299         -38.415          56.000          49.000
+ -11959757.65443  -9257466.98142  22411359.084    22411365.735    22411357.415
+      3178.560        2476.800          49.000          43.000
+ -25441107.92943 -19636833.47642  20484256.419    20484260.330    20484254.668
+       485.674         378.447          56.000          51.000
+ -21649428.03043 -16840266.45442  21856707.960    21856714.711    21856706.371
+      1768.673        1378.187          54.000          47.000
+  -3020905.35343  -2339256.17142  24433242.684    24433248.693    24433239.621
+      2570.558        2003.032          41.000          37.000
+ -13875195.59343 -10770942.07142  22698158.901    22698162.350    22698157.890
+      1144.903         892.132          51.000          44.000
+ -12598015.07843  -9766389.29942  22713145.061    22713153.197    22713144.764
+     -2958.654       -2305.445          50.000          44.000
+ -12871384.03443  -9998183.13942  22795228.126    22795234.278    22795226.925
+       190.136         148.158          50.000          43.000
+ 04  2  1  3 42 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20302959.44943 -15403463.72742  21188674.468    21188679.268    21188673.281
+       -51.851         -40.403          56.000          49.000
+ -12054966.74143  -9331655.77942  22393240.397    22393248.910    22393238.911
+      3168.586        2469.028          49.000          43.000
+ -25455479.47343 -19648032.10242  20481521.625    20481525.528    20481520.150
+       472.442         368.137          56.000          51.000
+ -21702270.47943 -16881442.35842  21846652.521    21846658.955    21846651.179
+      1754.157        1366.876          54.000          48.000
+  -3097825.09943  -2399193.58242  24418605.579    24418609.832    24418606.161
+      2557.468        1992.832          44.000          37.000
+ -13909520.23443 -10797688.53742  22691627.520    22691631.702    22691626.916
+      1143.326         890.903          52.000          44.000
+ -12509205.94043  -9697187.52742  22730045.493    22730051.811    22730044.721
+     -2962.298       -2308.284          51.000          43.000
+ -12876843.41443 -10002437.18942  22794188.936    22794194.967    22794188.078
+       173.842         135.461          50.000          43.000
+ 04  2  1  3 43  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20301360.56443 -15402217.85742  21188978.624    21188983.704    21188977.394
+       -53.777         -41.904          55.000          49.000
+ -12149870.95743  -9405607.01342  22375180.556    22375188.784    22375179.531
+      3159.249        2461.752          49.000          43.000
+ -25469449.37443 -19658917.75842  20478863.239    20478867.239    20478861.701
+       459.776         358.267          56.000          51.000
+ -21754670.84743 -16922273.78842  21836680.671    21836687.998    21836679.546
+      1740.074        1355.902          54.000          48.000
+  -3174359.62543  -2458830.86742  24404040.843    24404046.030    24404040.496
+      2545.399        1983.428          44.000          38.000
+ -13943791.88743 -10824393.72242  22685105.391    22685109.789    22685104.362
+      1142.231         890.050          52.000          44.000
+ -12420289.19543  -9627901.91242  22746967.120    22746972.884    22746966.124
+     -2964.929       -2310.334          51.000          44.000
+ -12881805.68043 -10006303.85942  22793245.569    22793250.276    22793243.999
+       158.078         123.178          51.000          44.000
+ 04  2  1  3 43 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20299679.71243 -15400908.12142  21189298.111    21189303.353    21189297.092
+       -57.498         -44.804          55.000          49.000
+ -12244467.11143  -9479318.19842  22357179.984    22357186.980    22357179.000
+      3147.939        2452.939          50.000          44.000
+ -25483014.34743 -19669487.88542  20476281.551    20476285.675    20476280.269
+       445.247         346.946          56.000          51.000
+ -21806624.81343 -16962757.35642  21826794.352    21826801.435    21826792.848
+      1724.052        1343.417          54.000          47.000
+  -3250505.37643  -2518165.20142  24389549.837    24389558.010    24389549.031
+      2531.756        1972.797          42.000          37.000
+ -13978010.03343 -10851057.20442  22678593.452    22678599.051    22678592.459
+      1139.515         887.934          52.000          44.000
+ -12331266.23843  -9558533.54342  22763907.691    22763912.658    22763906.027
+     -2969.365       -2313.791          51.000          44.000
+ -12886267.80943 -10009780.82242  22792395.333    22792401.498    22792394.233
+       140.264         109.297          49.000          43.000
+ 04  2  1  3 44  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20297917.31043 -15399534.83442  21189633.921    21189639.259    21189632.471
+       -59.278         -46.191          56.000          49.000
+ -12338753.19843  -9552787.77142  22339237.889    22339243.827    22339235.935
+      3138.483        2445.571          50.000          44.000
+ -25496172.72543 -19679741.18442  20473777.628    20473781.744    20473776.301
+       432.601         337.092          56.000          51.000
+ -21858129.40843 -17002890.76142  21816992.932    21817000.075    21816991.288
+      1710.128        1332.567          53.000          47.000
+  -3326259.91543  -2577194.69142  24375134.534    24375140.921    24375132.621
+      2519.192        1963.007          43.000          37.000
+ -14012175.17543 -10877679.38542  22672093.235    22672096.418    22672091.678
+      1138.818         887.391          52.000          44.000
+ -12242140.00043  -9489084.69442  22780866.886    22780874.924    22780866.594
+     -2971.783       -2315.675          51.000          44.000
+ -12890228.89343 -10012867.35742  22791642.183    22791647.732    22791639.672
+       124.488          97.004          50.000          44.000
+ 04  2  1  3 44 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20296076.31043 -15398100.30942  21189984.011    21189989.519    21189982.640
+       -62.140         -48.421          55.000          49.000
+ -12432729.73443  -9626016.14542  22321354.013    22321362.139    22321353.240
+      3127.898        2437.323          50.000          44.000
+ -25508925.19043 -19689678.18742  20471351.166    20471355.103    20471349.744
+       418.865         326.388          56.000          51.000
+ -21909184.10943 -17042673.59342  21807277.016    21807284.519    21807276.490
+      1694.840        1320.655          53.000          47.000
+  -3401623.50843  -2635919.57042  24360794.000    24360798.600    24360793.163
+      2506.141        1952.837          44.000          37.000
+ -14046290.28043 -10904262.57742  22665600.548    22665604.784    22665599.407
+      1136.884         885.884          51.000          44.000
+ -12152915.67243  -9419559.40142  22797845.961    22797853.625    22797845.372
+     -2975.211       -2318.346          51.000          44.000
+ -12893689.94843 -10015564.23742  22790983.212    22790989.822    22790982.078
+       107.608          83.850          50.000          44.000
+ 04  2  1  3 45  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20294154.78343 -15396603.02342  21190350.286    21190354.683    21190348.714
+       -65.705         -51.199          56.000          49.000
+ -12526392.55443  -9699000.06442  22303531.931    22303539.157    22303529.886
+      3116.319        2428.301          50.000          44.000
+ -25521267.51943 -19699295.60442  20469002.263    20469006.766    20469000.823
+       404.177         314.943          56.000          51.000
+ -21959783.70443 -17082101.80842  21797649.120    21797656.065    21797647.704
+      1678.660        1308.047          54.000          48.000
+  -3476591.58443  -2694336.20342  24346527.398    24346533.853    24346525.868
+      2491.960        1941.787          44.000          38.000
+ -14080353.84843 -10930805.60042  22659118.813    22659122.777    22659117.607
+      1134.291         883.863          52.000          44.000
+ -12063593.56043  -9349957.92542  22814843.668    22814851.041    22814841.768
+     -2979.343       -2321.566          50.000          44.000
+ -12896647.60543 -10017868.87442  22790419.955    22790426.602    22790419.050
+        89.863          70.023          49.000          44.000
+ 04  2  1  3 45 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20292156.56843 -15395045.98442  21190729.726    21190734.983    21190728.743
+       -67.768         -52.806          55.000          49.000
+ -12619742.96043  -9771740.55542  22285766.405    22285774.949    22285765.422
+      3106.503        2420.652          49.000          44.000
+ -25533201.30143 -19708594.67642  20466731.328    20466735.903    20466729.912
+       391.071         304.731          56.000          51.000
+ -22009928.49943 -17121175.63642  21788107.084    21788113.846    21788105.989
+      1664.043        1296.657          55.000          48.000
+  -3551165.10543  -2752445.44842  24332335.484    24332343.346    24332334.354
+      2479.304        1931.925          44.000          38.000
+ -14114369.63643 -10957311.40742  22652645.469    22652649.592    22652645.262
+      1133.035         882.884          52.000          44.000
+ -11974179.75443  -9280285.01242  22831858.659    22831865.873    22831857.323
+     -2981.926       -2323.579          51.000          44.000
+ -12899103.72343 -10019782.71042  22789953.501    22789957.838    22789951.124
+        73.607          57.356          50.000          44.000
+ 04  2  1  3 46  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20290079.98743 -15393427.87842  21191125.081    21191130.763    21191123.793
+       -70.289         -54.771          56.000          49.000
+ -12712777.00943  -9844234.51942  22268063.313    22268070.330    22268062.316
+      3096.058        2412.513          50.000          44.000
+ -25544722.81543 -19717572.49142  20464539.152    20464543.063    20464537.628
+       377.379         294.062          56.000          51.000
+ -22059613.60443 -17159891.26442  21778652.353    21778658.489    21778650.898
+      1648.695        1284.697          54.000          48.000
+  -3625339.98043  -2810244.01242  24318222.520    24318227.554    24318220.998
+      2465.989        1921.550          44.000          38.000
+ -14148336.35243 -10983778.97842  22646182.449    22646186.399    22646181.047
+      1131.556         881.732          52.000          44.000
+ -11884674.75343  -9210541.03342  22848891.593    22848898.161    22848890.969
+     -2984.721       -2325.757          51.000          44.000
+ -12901055.36143 -10021303.44842  22789582.296    22789587.807    22789581.127
+        56.815          44.271          50.000          44.000
+ 04  2  1  3 46 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20287923.33043 -15391747.37442  21191535.087    21191540.768    21191534.271
+       -73.253         -57.080          55.000          49.000
+ -12805490.89243  -9916479.01442  22250420.083    22250428.093    22250419.576
+      3084.910        2403.826          50.000          44.000
+ -25555828.30043 -19726226.13042  20462425.500    20462429.836    20462424.191
+       363.126         282.955          56.000          51.000
+ -22108834.00843 -17198244.79142  21769285.878    21769292.436    21769284.278
+      1632.890        1272.382          54.000          48.000
+  -3699111.78743  -2867728.54742  24304183.684    24304190.176    24304182.382
+      2452.451        1911.001          44.000          38.000
+ -14182252.42743 -11010207.08142  22639727.180    22639732.338    22639725.923
+      1129.649         880.246          51.000          44.000
+ -11795079.34043  -9140726.59042  22865941.490    22865948.217    22865940.342
+     -2988.003       -2328.314          51.000          44.000
+ -12902499.20743 -10022428.52342  22789306.127    22789313.585    22789305.349
+        39.778          30.996          49.000          43.000
+ 04  2  1  3 47  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20285690.05643 -15390007.17242  21191959.860    21191965.608    21191959.295
+       -76.224         -59.395          55.000          49.000
+ -12897885.87443  -9988475.01842  22232837.211    22232844.003    22232836.036
+      3073.916        2395.259          50.000          44.000
+ -25566519.27843 -19734556.77642  20460391.222    20460395.352    20460389.855
+       348.852         271.833          56.000          51.000
+ -22157589.85343 -17236236.32542  21760007.436    21760014.496    21760006.329
+      1616.820        1259.860          54.000          47.000
+  -3772481.43443  -2924899.70942  24290220.416    24290230.032    24290221.091
+      2438.417        1900.065          45.000          38.000
+ -14216121.59643 -11036598.64442  22633282.477    22633288.013    22633282.220
+      1127.564         878.621          51.000          44.000
+ -11705399.17543  -9070846.12242  22883006.890    22883014.458    22883005.344
+     -2991.291       -2330.876          51.000          43.000
+ -12903437.25643 -10023159.45342  22789128.093    22789134.666    22789127.111
+        22.204          17.302          49.000          43.000
+ 04  2  1  3 47 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20283379.74243 -15388206.93742  21192400.396    21192405.258    21192398.936
+       -78.631         -61.271          55.000          49.000
+ -12989959.27643 -10060220.43642  22215317.147    22215323.079    22215316.011
+      3063.464        2387.115          51.000          44.000
+ -25576793.41943 -19742562.61342  20458436.207    20458440.488    20458434.732
+       335.228         261.217          56.000          51.000
+ -22205877.55743 -17273863.06642  21750818.399    21750825.646    21750817.130
+      1601.517        1247.935          54.000          48.000
+  -3845446.20143  -2981755.34642  24276335.721    24276343.609    24276336.572
+      2425.171        1889.744          45.000          38.000
+ -14249943.93143 -11062953.69942  22626846.073    22626850.443    22626846.071
+      1126.358         877.682          51.000          44.000
+ -11615636.43943  -9000901.30142  22900087.931    22900094.537    22900086.044
+     -2993.711       -2332.762          50.000          43.000
+ -12903867.83243 -10023494.92942  22789044.890    22789052.558    22789044.768
+         5.529           4.308          49.000          43.000
+ 04  2  1  3 48  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20280993.75143 -15386347.73142  21192854.092    21192859.170    21192852.823
+       -81.351         -63.390          55.000          49.000
+ -13081710.21643 -10131714.59842  22197857.216    22197864.071    22197856.396
+      3052.395        2378.490          50.000          44.000
+ -25586649.74543 -19750242.88542  20456560.528    20456564.858    20456559.114
+       320.926         250.072          56.000          51.000
+ -22253695.52443 -17311123.78642  21741719.657    21741726.212    21741718.290
+      1585.591        1235.525          54.000          48.000
+  -3918004.77943  -3038294.50442  24262529.552    24262534.951    24262528.744
+      2411.175        1878.838          45.000          38.000
+ -14283721.02543 -11089273.51642  22620418.440    22620423.926    22620417.697
+      1124.595         876.308          51.000          44.000
+ -11525795.20843  -8930895.32242  22917184.596    22917190.821    22917184.208
+     -2996.476       -2334.916          51.000          43.000
+ -12903790.48243 -10023434.65042  22789059.781    22789067.560    22789059.040
+       -11.554          -9.003          50.000          43.000
+ 04  2  1  3 48 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20278532.26343 -15384429.70742  21193322.654    21193328.159    21193321.513
+       -83.536         -65.093          55.000          49.000
+ -13173136.85243 -10202956.05342  22180458.925    22180466.489    22180457.670
+      3041.873        2370.291          50.000          44.000
+ -25596086.48743 -19757596.21342  20454765.040    20454768.984    20454763.439
+       307.404         239.536          56.000          51.000
+ -22301040.64843 -17348016.05642  21732709.531    21732716.664    21732707.696
+      1570.107        1223.460          54.000          48.000
+  -3990154.66743  -3094515.18642  24248799.907    24248805.174    24248798.557
+      2397.881        1868.479          45.000          38.000
+ -14317453.20043 -11115558.32842  22613998.671    22614005.729    22613998.429
+      1123.507         875.460          50.000          44.000
+ -11435877.56943  -8860829.79142  22934294.957    22934301.958    22934293.528
+     -2998.654       -2336.613          50.000          43.000
+ -12903204.15743 -10022977.75842  22789173.155    22789177.813    22789172.693
+       -28.193         -21.968          50.000          44.000
+ 04  2  1  3 49  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20275994.17343 -15382451.98742  21193805.851    21193810.739    21193804.427
+       -85.780         -66.841          55.000          49.000
+ -13264235.76643 -10273942.13642  22163123.157    22163130.830    22163122.448
+      3031.245        2362.009          50.000          44.000
+ -25605100.50743 -19764620.13942  20453049.620    20453053.607    20453048.152
+       293.567         228.754          56.000          51.000
+ -22347908.60943 -17384536.50942  21723791.694    21723798.251    21723789.706
+      1554.351        1211.182          54.000          48.000
+  -4061892.36143  -3150414.66142  24235147.242    24235154.669    24235147.203
+      2384.500        1858.052          45.000          38.000
+ -14351139.52743 -11141807.41642  22607590.671    22607593.729    22607588.758
+      1122.162         874.412          52.000          44.000
+ -11345884.81743  -8790705.73842  22951419.881    22951427.394    22951419.150
+     -3000.900       -2338.364          50.000          42.000
+ -12902106.37343 -10022122.31042  22789381.650    22789387.462    22789380.956
+       -45.064         -35.115          50.000          43.000
+ 04  2  1  3 49 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20273381.85343 -15380416.43042  21194302.620    21194307.607    21194301.375
+       -88.492         -68.955          55.000          49.000
+ -13355007.10343 -10344672.95542  22145850.469    22145856.722    22145848.085
+      3019.875        2353.149          51.000          44.000
+ -25613692.09243 -19771314.90242  20451414.867    20451418.860    20451413.387
+       279.194         217.554          56.000          51.000
+ -22394298.57043 -17420684.51442  21714963.342    21714970.169    21714962.171
+      1538.272        1198.653          54.000          48.000
+  -4133217.62543  -3205992.80542  24221575.232    24221582.181    24221575.602
+      2370.382        1847.051          46.000          38.000
+ -14384782.61143 -11168022.79142  22601187.039    22601191.295    22601186.666
+      1120.579         873.178          51.000          44.000
+ -11255821.52443  -8720526.71542  22968558.247    22968566.342    22968558.159
+     -3003.562       -2340.438          49.000          42.000
+ -12900498.08743 -10020869.07942  22789687.590    22789692.915    22789687.122
+       -62.246         -48.503          50.000          43.000
+ 04  2  1  3 50  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20270693.88543 -15378321.91742  21194814.736    21194819.301    21194813.229
+       -91.010         -70.917          56.000          49.000
+ -13445447.35643 -10415145.81042  22128639.383    22128647.225    22128638.882
+      3008.991        2344.668          50.000          44.000
+ -25621857.89643 -19777677.88642  20449861.030    20449864.943    20449859.358
+       264.913         206.426          56.000          51.000
+ -22440206.20943 -17456456.66442  21706227.724    21706234.415    21706226.252
+      1522.072        1186.030          55.000          48.000
+  -4204126.61143  -3261246.54142  24208081.762    24208088.160    24208081.402
+      2356.520        1836.249          46.000          39.000
+ -14418381.20043 -11194203.50542  22594794.288    22594799.119    22594793.615
+      1119.157         872.070          52.000          44.000
+ -11165688.69843  -8650293.51642  22985709.391    22985717.241    22985709.183
+     -3005.831       -2342.206          49.000          42.000
+ -12898376.63143 -10019215.98542  22790091.080    22790096.843    22790089.363
+       -79.493         -61.942          50.000          43.000
+ 04  2  1  3 50 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20267934.92743 -15376172.09842  21195338.866    21195344.330    21195337.908
+       -93.520         -72.873          55.000          49.000
+ -13535559.04043 -10485362.63242  22111492.595    22111499.484    22111492.049
+      2997.884        2336.014          50.000          44.000
+ -25629600.45943 -19783711.06942  20448387.281    20448391.665    20448385.828
+       250.663         195.322          56.000          51.000
+ -22485632.79343 -17491853.97242  21697583.466    21697590.237    21697581.615
+      1505.760        1173.319          55.000          48.000
+  -4274621.48243  -3316177.61042  24194668.718    24194673.273    24194667.857
+      2342.613        1825.413          48.000          39.000
+ -14451940.42543 -11220353.53942  22588408.022    22588412.700    22588407.135
+      1117.594         870.852          52.000          44.000
+ -11075493.32943  -8580011.59042  23002874.490    23002881.470    23002873.675
+     -3007.921       -2343.834          50.000          42.000
+ -12895745.26443 -10017165.52842  22790591.927    22790597.215    22790591.527
+       -96.749         -75.389          50.000          43.000
+ 04  2  1  3 51  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20265099.53543 -15373962.71242  21195878.894    21195883.718    21195877.718
+       -95.780         -74.634          55.000          49.000
+ -13625334.46143 -10555317.42742  22094408.730    22094415.845    22094408.324
+      2986.963        2327.504          50.000          44.000
+ -25636912.66643 -19789408.91342  20446996.180    20447000.184    20446994.704
+       236.484         184.273          56.000          51.000
+ -22530569.75043 -17526869.74442  21689031.776    21689038.192    21689030.356
+      1489.613        1160.737          54.000          48.000
+  -4344694.30943  -3370779.79842  24181333.794    24181338.536    24181331.942
+      2328.589        1814.485          46.000          39.000
+ -14485454.95243 -11246468.74042  22582030.160    22582035.229    22582029.292
+      1116.391         869.915          52.000          45.000
+ -10985232.49943  -8509678.63642  23020050.562    23020058.657    23020050.000
+     -3009.723       -2345.239          50.000          43.000
+ -12892597.17843 -10014712.44542  22791191.349    22791196.802    22791189.487
+      -113.686         -88.586          50.000          43.000
+ 04  2  1  3 51 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20262188.72643 -15371694.56542  21196433.026    21196438.042    21196431.796
+       -98.283         -76.584          56.000          49.000
+ -13714772.79043 -10625009.55042  22077388.827    22077395.303    22077387.033
+      2975.547        2318.608          51.000          44.000
+ -25643793.75143 -19794770.81442  20445686.483    20445690.716    20445685.211
+       222.120         173.081          56.000          51.000
+ -22575015.35043 -17561502.64842  21680573.862    21680580.444    21680572.533
+      1473.302        1148.028          54.000          48.000
+  -4414343.96943  -3425052.23142  24168076.810    24168086.315    24168076.572
+      2314.807        1803.746          45.000          39.000
+ -14518926.17643 -11272550.20742  22575660.718    22575665.252    22575658.837
+      1115.007         868.837          51.000          44.000
+ -10894909.68643  -8439297.41042  23037239.689    23037246.168    23037238.397
+     -3011.584       -2346.689          50.000          43.000
+ -12888932.49943 -10011856.83642  22791888.514    22791893.946    22791887.072
+      -130.771        -101.899          50.000          43.000
+ 04  2  1  3 52  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20259209.49343 -15369373.10342  21196999.494    21197005.215    21196998.423
+       -99.598         -77.609          55.000          49.000
+ -13803879.02543 -10694442.90842  22060432.223    22060440.311    22060431.061
+      2965.549        2310.817          50.000          44.000
+ -25650248.85243 -19799800.78442  20444458.241    20444462.502    20444456.974
+       208.850         162.740          56.000          51.000
+ -22618973.59243 -17595755.79742  21672208.324    21672215.848    21672207.054
+      1457.931        1136.050          54.000          48.000
+  -4483574.89743  -3478998.40642  24154904.753    24154910.455    24154902.133
+      2301.502        1793.378          47.000          39.000
+ -14552361.47643 -11298603.68242  22569299.433    22569302.514    22569298.381
+      1114.707         868.603          52.000          44.000
+ -10804534.08643  -8368875.04342  23054436.818    23054443.441    23054435.673
+     -3012.533       -2347.428          50.000          43.000
+ -12884756.85643 -10008603.06542  22792682.139    22792688.423    22792681.637
+      -146.797        -114.387          50.000          43.000
+ 04  2  1  3 52 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20256155.30143 -15366993.22942  21197580.336    21197586.285    21197579.448
+      -102.652         -79.988          55.000          49.000
+ -13892644.41843 -10763610.67642  22043541.272    22043547.760    22043539.295
+      2953.506        2301.433          51.000          45.000
+ -25656269.22543 -19804492.00642  20443312.860    20443316.893    20443311.259
+       193.904         151.094          56.000          51.000
+ -22662434.62143 -17629621.49442  21663938.423    21663945.135    21663937.475
+      1440.804        1122.704          54.000          48.000
+  -4552378.38843  -3532611.49742  24141811.222    24141818.603    24141812.353
+      2286.711        1781.853          47.000          39.000
+ -14585754.22043 -11324623.98342  22562943.729    22562949.093    22562943.231
+      1112.843         867.150          52.000          44.000
+ -10714101.66443  -8298408.39542  23071645.880    23071653.777    23071644.533
+     -3014.912       -2349.282          50.000          43.000
+ -12880062.44843 -10004945.06542  22793576.502    22793581.648    22793574.590
+      -164.682        -128.324          50.000          43.000
+ 04  2  1  3 53  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20253028.69143 -15364556.92242  21198175.457    21198180.767    21198173.984
+      -105.881         -82.505          55.000          49.000
+ -13981069.51143 -10832513.27642  22026714.650    22026721.083    22026713.713
+      2941.366        2291.974          50.000          44.000
+ -25661855.77943 -19808845.18442  20442249.604    20442253.927    20442248.221
+       178.556         139.135          56.000          51.000
+ -22705398.16643 -17663099.54342  21655763.255    21655769.944    21655761.681
+      1423.444        1109.177          54.000          48.000
+  -4620754.48743  -3585891.54142  24128801.038    24128806.485    24128800.367
+      2271.602        1770.079          47.000          39.000
+ -14619107.38143 -11350613.45342  22556595.889    22556601.189    22556595.736
+      1110.799         865.558          51.000          44.000
+ -10623617.20743  -8227901.19442  23088864.253    23088871.342    23088863.211
+     -3017.506       -2351.303          50.000          43.000
+ -12874851.02843 -10000884.19042  22794567.601    22794573.850    22794567.465
+      -182.807        -142.447          50.000          44.000
+ 04  2  1  3 53 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20249833.73543 -15362067.36642  21198783.717    21198788.987    21198782.507
+      -107.612         -83.853          55.000          49.000
+ -14069156.55643 -10901152.46242  22009951.740    22009958.505    22009950.433
+      2930.608        2283.591          51.000          45.000
+ -25667010.93743 -19812862.21342  20441268.324    20441272.707    20441266.796
+       164.807         128.421          56.000          51.000
+ -22747865.46543 -17696190.90642  21647682.056    21647687.990    21647680.489
+      1407.422        1096.692          55.000          48.000
+  -4688705.18243  -3638840.12842  24115870.834    24115875.695    24115868.636
+      2258.123        1759.576          48.000          39.000
+ -14652425.46943 -11376575.58742  22550257.069    22550261.171    22550255.514
+      1109.964         864.907          52.000          44.000
+ -10533087.38443  -8157358.64742  23106091.979    23106097.773    23106089.941
+     -3018.325       -2351.941          50.000          42.000
+ -12869125.54743  -9996422.76042  22795657.460    22795662.982    22795655.580
+      -199.145        -155.178          51.000          44.000
+ 04  2  1  3 54  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20246564.86543 -15359520.20742  21199405.757    21199411.284    21199404.721
+      -110.355         -85.991          55.000          49.000
+ -14156897.74343 -10969522.14942  21993255.362    21993262.201    21993254.439
+      2918.732        2274.337          51.000          45.000
+ -25671727.14143 -19816537.19942  20440371.098    20440375.231    20440369.687
+       149.707         116.655          56.000          51.000
+ -22789827.71743 -17728888.74742  21639696.594    21639703.065    21639695.735
+      1390.115        1083.206          55.000          48.000
+  -4756222.40943  -3691450.94442  24103021.656    24103026.377    24103019.406
+      2243.126        1747.890          47.000          39.000
+ -14685703.10943 -11402506.21342  22543924.254    22543928.420    22543923.761
+      1108.393         863.683          52.000          44.000
+ -10442508.59943  -8086777.94742  23123329.273    23123336.008    23123327.155
+     -3020.331       -2353.505          50.000          42.000
+ -12862879.19143  -9991555.44942  22796846.907    22796851.950    22796844.635
+      -217.142        -169.201          50.000          43.000
+ 04  2  1  3 54 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20243226.43043 -15356918.84342  21200041.347    21200046.418    21200040.068
+      -112.945         -88.009          56.000          49.000
+ -14244295.73043 -11037624.41942  21976622.955    21976630.188    21976622.922
+      2907.001        2265.195          50.000          45.000
+ -25676006.91443 -19819872.10742  20439556.798    20439560.989    20439555.588
+       134.878         105.100          56.000          51.000
+ -22831286.87043 -17761194.54342  21631807.161    21631813.783    21631806.192
+      1373.097        1069.946          55.000          48.000
+  -4823308.34543  -3743725.66642  24090255.515    24090260.810    24090254.758
+      2228.407        1736.421          46.000          39.000
+ -14718944.93943 -11428408.91842  22537598.741    22537603.073    22537597.918
+      1107.005         862.601          52.000          44.000
+ -10351888.15443  -8016164.80442  23140573.112    23140580.567    23140571.279
+     -3021.892       -2354.721          49.000          42.000
+ -12856115.21243  -9986284.80442  22798132.562    22798138.412    22798131.077
+      -234.633        -182.831          50.000          43.000
+ 04  2  1  3 55  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20239813.98243 -15354259.80642  21200690.417    21200695.835    21200689.428
+      -114.506         -89.225          56.000          49.000
+ -14331343.92743 -11105454.10542  21960059.294    21960065.304    21960057.514
+      2896.133        2256.727          51.000          45.000
+ -25679844.13543 -19822862.16842  20438826.578    20438830.464    20438824.937
+       120.972          94.264          56.000          51.000
+ -22872235.36443 -17793102.43342  21624014.996    21624021.208    21624013.335
+      1356.795        1057.243          55.000          48.000
+  -4889956.15243  -3795659.04942  24077572.420    24077578.158    24077572.297
+      2214.645        1725.697          47.000          39.000
+ -14752146.73943 -11454280.45042  22531280.540    22531283.941    22531280.415
+      1106.539         862.238          52.000          44.000
+ -10261223.72943  -7945517.37042  23157825.673    23157833.100    23157824.211
+     -3022.152       -2354.924          49.000          42.000
+ -12848828.21643  -9980606.62442  22799519.738    22799525.891    22799518.481
+      -251.152        -195.703          50.000          43.000
+ 04  2  1  3 55 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20236334.33843 -15351548.40442  21201352.540    21201357.892    21201351.288
+      -117.200         -91.325          56.000          49.000
+ -14418047.42843 -11173015.22042  21943560.562    21943566.437    21943559.182
+      2884.567        2247.715          51.000          45.000
+ -25683244.18743 -19825511.57742  20438179.530    20438183.601    20438177.989
+       106.093          82.670          56.000          51.000
+ -22912677.13843 -17824615.47542  21616318.547    21616325.587    21616317.127
+      1339.635        1043.871          54.000          48.000
+  -4956170.67643  -3847254.74742  24064973.475    24064979.404    24064973.037
+      2199.923        1714.226          47.000          39.000
+ -14785315.41543 -11480126.16142  22524968.016    22524972.682    22524967.313
+      1105.054         861.081          51.000          44.000
+ -10170524.34643  -7874842.71042  23175084.133    23175094.093    23175084.884
+     -3023.932       -2356.311          48.000          42.000
+ -12841024.15443  -9974525.52542  22801004.745    22801010.031    22801005.007
+      -268.554        -209.263          50.000          43.000
+ 04  2  1  3 56  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20232784.62643 -15348782.41342  21202028.334    21202033.569    21202027.109
+      -118.844         -92.606          55.000          49.000
+ -14504401.30643 -11240303.90042  21927126.321    21927133.722    21927125.258
+      2873.062        2238.750          51.000          45.000
+ -25686202.36743 -19827816.67242  20437616.815    20437620.882    20437615.279
+        91.866          71.584          56.000          51.000
+ -22952606.82343 -17855729.46742  21608720.448    21608727.554    21608718.700
+      1323.034        1030.936          54.000          48.000
+  -5021946.99343  -3898509.02642  24052454.638    24052462.721    24052455.260
+      2185.836        1703.249          46.000          39.000
+ -14818448.71943 -11505944.31242  22518662.817    22518667.884    22518662.645
+      1104.496         860.646          52.000          45.000
+ -10079789.91343  -7804140.74042  23192352.491    23192359.150    23192351.696
+     -3024.562       -2356.801          49.000          42.000
+ -12832699.34743  -9968038.65842  22802588.819    22802595.513    22802587.450
+      -285.377        -222.372          50.000          43.000
+ 04  2  1  3 56 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20229165.12743 -15345962.03642  21202717.381    21202722.197    21202716.030
+      -121.866         -94.960          56.000          49.000
+ -14590404.20643 -11307319.08142  21910760.870    21910768.083    21910759.664
+      2860.993        2229.345          51.000          45.000
+ -25688717.24443 -19829776.34042  20437138.424    20437142.011    20437136.984
+        76.349          59.493          56.000          51.000
+ -22992021.80443 -17886442.39942  21601220.468    21601226.858    21601218.762
+      1305.083        1016.948          55.000          48.000
+  -5087283.05143  -3949420.25042  24040022.920    24040030.189    24040023.082
+      2170.538        1691.328          46.000          40.000
+ -14851547.19843 -11531735.32942  22512364.626    22512369.315    22512363.560
+      1102.628         859.191          52.000          44.000
+  -9989022.94943  -7733413.43142  23209625.943    23209631.782    23209623.163
+     -3026.134       -2358.026          49.000          42.000
+ -12823853.05543  -9961145.44142  22804272.965    22804277.924    22804270.887
+      -303.548        -236.531          50.000          43.000
+ 04  2  1  3 57  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20225474.50243 -15343086.23042  21203419.678    21203424.334    21203417.826
+      -123.976         -96.605          56.000          49.000
+ -14676052.74443 -11374058.12942  21894462.702    21894470.260    21894461.462
+      2849.156        2220.122          51.000          45.000
+ -25690785.72043 -19831388.16242  20436744.567    20436748.758    20436743.033
+        61.672          48.056          56.000          51.000
+ -23030917.95243 -17916751.04442  21593817.952    21593825.215    21593816.609
+      1288.001        1003.637          54.000          48.000
+  -5152175.17343  -3999985.53342  24027674.228    24027681.176    24027675.154
+      2155.659        1679.734          46.000          40.000
+ -14884609.65143 -11557498.25442  22506073.451    22506078.019    22506072.279
+      1101.543         858.345          52.000          44.000
+  -9898224.61343  -7662661.65542  23226901.998    23226909.728    23226901.043
+     -3027.005       -2358.705          48.000          42.000
+ -12814482.94543  -9953844.04642  22806056.059    22806061.361    22806054.246
+      -320.905        -250.056          50.000          43.000
+ 04  2  1  3 57 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20221716.00043 -15340157.52942  21204134.332    21204139.956    21204133.431
+      -126.972         -98.939          55.000          49.000
+ -14761348.34543 -11440522.17142  21878232.213    21878238.208    21878230.688
+      2836.789        2210.485          51.000          45.000
+ -25692409.77143 -19832653.67542  20436435.494    20436439.892    20436434.095
+        46.169          35.976          56.000          51.000
+ -23069295.87443 -17946655.87542  21586515.728    21586521.628    21586513.990
+      1270.039         989.641          55.000          48.000
+  -5216624.87443  -4050206.02842  24015409.824    24015416.444    24015409.141
+      2140.517        1667.935          46.000          39.000
+ -14917639.70943 -11583235.93142  22499787.455    22499792.336    22499787.555
+      1099.974         857.122          51.000          44.000
+  -9807400.47543  -7591889.79042  23244185.982    23244194.824    23244184.626
+     -3028.555       -2359.913          48.000          42.000
+ -12804591.71643  -9946136.58042  22807937.330    22807944.095    22807935.837
+      -338.978        -264.139          50.000          43.000
+ 04  2  1  3 58  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20217889.35943 -15337175.73742  21204862.435    21204867.801    21204861.244
+      -128.704        -100.289          55.000          49.000
+ -14846289.16443 -11506709.75342  21862067.582    21862074.475    21862066.336
+      2825.400        2201.610          51.000          45.000
+ -25693587.13443 -19833571.12342  20436211.322    20436215.725    20436209.993
+        31.774          24.759          56.000          51.000
+ -23107152.61843 -17976154.60042  21579311.503    21579318.258    21579310.116
+      1253.237         976.548          55.000          48.000
+  -5280629.65743  -4100079.87542  24003228.145    24003234.247    24003229.994
+      2125.875        1656.526          45.000          38.000
+ -14950637.40843 -11608948.41542  22493508.843    22493513.425    22493507.829
+      1099.324         856.616          52.000          44.000
+  -9716552.67243  -7521099.48242  23261473.420    23261482.194    23261471.972
+     -3028.751       -2360.066          48.000          41.000
+ -12794178.29143  -9938022.21742  22809919.584    22809925.486    22809918.166
+      -355.765        -277.219          50.000          43.000
+ 04  2  1  3 58 30.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20213995.54543 -15334141.60842  21205603.340    21205609.186    21205602.236
+      -130.755        -101.887          55.000          49.000
+ -14930874.09243 -11572620.02742  21845971.976    21845978.478    21845970.471
+      2813.852        2192.612          51.000          45.000
+ -25694317.45143 -19834140.22542  20436072.820    20436076.800    20436071.190
+        16.983          13.234          56.000          51.000
+ -23144486.44343 -18005245.84742  21572207.247    21572214.132    21572205.570
+      1235.895         963.035          55.000          48.000
+  -5344188.38343  -4149606.13442  23991135.024    23991141.831    23991135.474
+      2111.412        1645.256          46.000          39.000
+ -14983603.92043 -11634636.58242  22487234.748    22487239.285    22487233.871
+      1098.487         855.964          52.000          44.000
+  -9625684.63343  -7450293.41442  23278765.639    23278773.296    23278765.179
+     -3028.935       -2360.209          48.000          42.000
+ -12783242.54943  -9929500.85442  22812000.425    22812005.652    22811999.879
+      -372.963        -290.620          50.000          43.000
+ 04  2  1  3 59  0.0000000  0  8G 1G27G20G 2G 4G13G11G16
+ -20210032.67143 -15331053.66342  21206357.966    21206363.000    21206356.635
+      -133.393        -103.942          55.000          49.000
+ -15015099.58843 -11638250.21342  21829944.098    21829950.876    21829943.151
+      2801.268        2182.806          51.000          45.000
+ -25694597.19643 -19834358.22942  20436019.129    20436023.600    20436017.633
+         1.522           1.186          56.000          51.000
+ -23181292.84543 -18033926.12242  21565202.913    21565209.193    21565201.119
+      1217.847         948.972          55.000          48.000
+  -5407297.12743  -4198781.75942  23979127.325    23979133.646    23979127.280
+      2095.971        1633.224          47.000          40.000
+ -15016537.83043 -11660299.35142  22480968.624    22480972.854    22480967.584
+      1097.055         854.848          52.000          45.000
+  -9534797.04543  -7379472.11942  23296060.311    23296068.948    23296059.464
+     -3030.162       -2361.165          48.000          41.000
+ -12771782.00043  -9920570.52742  22814180.382    22814185.853    22814178.815
+      -390.923        -304.615          49.000          43.000
+ 04  2  1  3 59 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20206002.44643 -15327913.23342  21207124.899    21207129.691    21207123.460
+      -135.270        -105.405          56.000          49.000
+ -15098965.49243 -11703600.21342  21813984.876    21813992.013    21813984.153
+      2789.770        2173.847          51.000          45.000
+ -25694426.71343 -19834225.41342  20436051.339    20436055.975    20436050.032
+       -12.950         -10.091          56.000          51.000
+ -23217571.03443 -18062194.80342  21558298.877    21558305.659    21558298.065
+      1200.688         935.601          55.000          48.000
+  -5469955.58043  -4247606.50342  23967201.637    23967210.794    23967201.340
+      2081.022        1621.576          46.000          40.000
+   -284507.17853   -210534.75552  24975159.326    24975172.428    24975157.023
+      3376.306        2630.888          45.000          37.000
+ -15049441.18143 -11685938.30242  22474707.447    22474711.196    22474706.239
+      1096.571         854.471          52.000          45.000
+  -9443893.62443  -7308638.47542  23313358.264    23313367.226    23313358.029
+     -3029.932       -2360.986          48.000          41.000
+ -12759797.83743  -9911232.22142  22816461.974    22816466.453    22816460.681
+      -407.983        -317.909          50.000          43.000
+ 04  2  1  4  0  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20201904.92043 -15324720.36742  21207904.023    21207909.826    21207903.452
+      -137.038        -106.783          55.000          49.000
+ -15182470.38943 -11768668.91242  21798095.180    21798100.874    21798093.263
+      2778.139        2164.784          51.000          45.000
+ -25693804.41943 -19833740.53042  20436170.296    20436174.610    20436168.814
+       -27.510         -21.436          56.000          51.000
+ -23253318.39243 -18090049.84742  21551496.448    21551503.871    21551495.196
+      1183.466         922.181          55.000          48.000
+  -5532161.77643  -4296078.83142  23955364.568    23955371.882    23955364.727
+      2066.599        1610.337          47.000          40.000
+   -385712.86043   -289396.07742  24955898.759    24955912.480    24955898.191
+      3371.618        2627.235          45.000          39.000
+ -15082314.03643 -11711553.49342  22468450.537    22468455.838    22468450.765
+      1095.976         854.007          51.000          44.000
+  -9352977.16943  -7237794.67042  23330661.230    23330669.374    23330659.159
+     -3030.040       -2361.070          49.000          42.000
+ -12747289.27043  -9901485.27842  22818841.440    22818846.721    22818840.831
+      -424.858        -331.058          49.000          42.000
+ 04  2  1  4  0 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20197740.14043 -15321475.08742  21208696.890    21208702.086    21208695.681
+      -139.697        -108.855          55.000          49.000
+ -15265612.61443 -11833455.00642  21782272.631    21782279.985    21782271.404
+      2765.670        2155.068          51.000          45.000
+ -25692728.90143 -19832902.48342  20436375.005    20436379.299    20436373.464
+       -43.140         -33.615          56.000          51.000
+ -23288532.41043 -18117489.30742  21544796.065    21544802.770    21544794.490
+      1165.171         907.925          55.000          48.000
+  -5593914.15643  -4344197.55742  23943614.759    23943619.875    23943612.928
+      2051.112        1598.269          47.000          40.000
+   -486755.08143   -368129.98842  24936669.619    24936684.150    24936667.863
+      3365.690        2622.616          43.000          38.000
+ -15115156.90943 -11737145.33142  22462202.526    22462205.513    22462201.264
+      1094.609         852.942          52.000          45.000
+  -9262050.22443  -7166942.71842  23347963.727    23347972.482    23347963.270
+     -3030.655       -2361.549          49.000          42.000
+ -12734255.87243  -9891329.37542  22821322.413    22821328.074    22821322.575
+      -442.874        -345.097          50.000          43.000
+ 04  2  1  4  1  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20193508.62143 -15318177.80642  21209502.077    21209507.290    21209500.870
+      -142.641        -111.149          55.000          49.000
+ -15348391.12343 -11897957.67242  21766520.814    21766527.260    21766519.383
+      2752.682        2144.947          52.000          45.000
+ -25691199.29643 -19831710.59542  20436665.941    20436670.202    20436664.585
+       -59.015         -45.986          56.000          51.000
+ -23323211.33343 -18144511.80742  21538197.175    21538203.130    21538195.462
+      1146.659         893.501          55.000          48.000
+  -5655211.02943  -4391961.33042  23931949.131    23931957.120    23931947.522
+      2034.866        1585.610          47.000          40.000
+   -587632.27643   -446735.33342  24917473.752    24917485.815    24917473.492
+      3359.190        2617.551          44.000          38.000
+ -15147970.80043 -11762714.56742  22455957.161    22455961.159    22455956.930
+      1092.871         851.588          52.000          45.000
+  -9171115.87743  -7096084.99242  23365269.553    23365276.843    23365268.154
+     -3031.686       -2362.353          50.000          42.000
+ -12720697.68543  -9880764.54642  22823902.875    22823907.338    22823900.899
+      -461.130        -359.322          50.000          43.000
+ 04  2  1  4  1 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20189210.28143 -15314828.46442  21210320.886    21210324.802    21210319.300
+      -144.565        -112.648          56.000          49.000
+ -15430804.04143 -11962175.47642  21750837.727    21750844.510    21750836.202
+      2740.915        2135.778          51.000          45.000
+ -25689214.18143 -19830163.77342  20437043.566    20437047.771    20437042.386
+       -73.970         -57.639          56.000          51.000
+ -23357352.42843 -18171115.22742  21531699.585    21531706.385    21531698.607
+      1128.966         879.714          55.000          48.000
+  -5716050.75143  -4439368.89042  23920371.419    23920378.167    23920372.302
+      2020.217        1574.195          47.000          40.000
+   -688342.63543   -525210.69042  24898308.109    24898320.881    24898306.680
+      3354.032        2613.531          43.000          38.000
+ -15180756.05643 -11788261.50642  22449718.507    22449722.918    22449717.636
+      1092.202         851.066          52.000          45.000
+  -9080176.24443  -7025223.14242  23382574.472    23382581.991    23382573.967
+     -3031.486       -2362.197          50.000          42.000
+ -12706613.97343  -9869790.19842  22826581.705    22826588.134    22826580.836
+      -478.335        -372.728          49.000          43.000
+ 04  2  1  4  2  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20184842.81643 -15311425.27142  21211151.203    21211156.325    21211150.357
+      -146.716        -114.324          55.000          49.000
+ -15512847.52243 -12026105.39542  21735225.810    21735231.959    21735224.541
+      2728.705        2126.264          52.000          46.000
+ -25686769.75943 -19828259.04442  20437508.647    20437513.006    20437507.258
+       -89.082         -69.414          56.000          51.000
+ -23390950.94943 -18197295.85642  21525306.314    21525312.675    21525304.710
+      1111.015         865.726          55.000          48.000
+  -5776428.99043  -4486416.84542  23908884.038    23908887.808    23908883.080
+      2004.888        1562.250          48.000          40.000
+   -788881.58343   -603552.51242  24879176.546    24879190.169    24879175.063
+      3348.589        2609.290          43.000          38.000
+ -15213510.37743 -11813784.33342  22443486.175    22443489.783    22443485.246
+      1091.378         850.424          53.000          45.000
+  -8989231.61743  -6954357.39742  23399880.101    23399887.621    23399878.630
+     -3031.492       -2362.201          50.000          42.000
+ -12692001.79543  -9858404.06042  22829362.738    22829367.445    22829361.896
+      -495.897        -386.413          49.000          43.000
+ 04  2  1  4  2 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20180411.08743 -15307971.99742  21211995.367    21211999.800    21211994.059
+      -148.906        -116.031          56.000          49.000
+ -15594524.46443 -12089749.70542  21719683.169    21719690.358    21719682.027
+      2716.412        2116.685          52.000          46.000
+ -25683869.52043 -19825999.13242  20438060.955    20438065.111    20438059.278
+      -104.386         -81.340          56.000          51.000
+ -23424009.32043 -18223055.60642  21519015.436    21519021.625    21519014.078
+      1092.813         851.543          55.000          48.000
+  -5836348.44843  -4533107.27542  23897479.599    23897486.180    23897479.208
+      1989.515        1550.271          47.000          40.000
+   -889251.89243   -681762.95442  24860076.752    24860090.230    24860074.566
+      3342.764        2604.751          42.000          37.000
+ -15246239.17343 -11839287.27642  22437258.050    22437261.946    22437256.975
+      1090.595         849.814          53.000          45.000
+  -8898289.08043  -6883493.27142  23417186.775    23417192.694    23417185.663
+     -3031.275       -2362.032          50.000          41.000
+ -12676865.41743  -9846609.45842  22832242.881    22832249.015    22832241.917
+      -513.425        -400.071          49.000          43.000
+ 04  2  1  4  3  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20175914.27943 -15304468.01442  21212850.567    21212855.500    21212849.374
+      -151.891        -118.357          55.000          49.000
+ -15675832.85943 -12153106.83042  21704210.615    21704217.081    21704208.779
+      2703.133        2106.337          52.000          46.000
+ -25680511.38943 -19823382.42342  20438699.563    20438704.123    20438698.180
+      -120.460         -93.865          56.000          51.000
+ -23456524.64143 -18248392.19642  21512828.065    21512834.376    21512826.312
+      1073.731         836.674          55.000          48.000
+  -5895806.75843  -4579438.42442  23886167.075    23886173.268    23886164.620
+      1973.283        1537.623          49.000          40.000
+   -989450.89443   -759839.93142  24841010.725    24841023.581    24841007.721
+      3335.894        2599.398          41.000          36.000
+ -15278941.78743 -11864769.83042  22431033.778    22431039.171    22431033.930
+      1088.847         848.452          52.000          45.000
+  -8807350.52343  -6812632.25242  23434492.711    23434499.336    23434491.030
+     -3031.951       -2362.559          51.000          41.000
+ -12661204.02043  -9834405.76142  22835223.683    22835228.569    22835221.815
+      -531.640        -414.265          49.000          43.000
+ 04  2  1  4  3 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20171350.64443 -15300911.96042  21213718.770    21213723.758    21213717.545
+      -153.197        -119.374          56.000          49.000
+ -15756769.30843 -12216174.13142  21688808.700    21688815.096    21688807.830
+      2691.695        2097.425          52.000          46.000
+ -25676692.31043 -19820406.53642  20439426.580    20439430.725    20439425.180
+      -135.044        -105.229          56.000          51.000
+ -23488492.69543 -18273302.34442  21506744.225    21506750.878    21506742.951
+      1056.438         823.198          55.000          48.000
+  -5954800.38643  -4625407.48642  23874940.470    23874945.538    23874940.959
+      1958.724        1526.278          48.000          40.000
+  -1089474.48343   -837780.18942  24821974.761    24821988.102    24821974.070
+      3331.092        2595.656          41.000          36.000
+ -15311616.71743 -11890230.80242  22424817.405    22424821.507    22424816.157
+      1088.767         848.390          53.000          45.000
+  -8716416.51743  -6741774.78342  23451795.412    23451803.415    23451794.199
+     -3031.050       -2361.857          50.000          41.000
+ -12645015.24143  -9821791.10442  22838303.989    22838309.149    22838302.807
+      -548.341        -427.279          49.000          42.000
+ 04  2  1  4  4  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20166720.61843 -15297304.16942  21214599.568    21214604.880    21214598.570
+      -155.102        -120.859          55.000          49.000
+ -15837332.67443 -12278950.72242  21673478.104    21673483.259    21673476.678
+      2679.281        2087.751          52.000          46.000
+ -25672411.35643 -19817070.74142  20440240.834    20440245.651    20440239.682
+      -150.579        -117.334          56.000          51.000
+ -23519911.45243 -18297784.46242  21500766.309    21500772.261    21500764.610
+      1038.177         808.969          55.000          48.000
+  -6013328.10643  -4671013.49242  23863802.061    23863807.342    23863802.139
+      1943.298        1514.258          47.000          40.000
+  -1189321.44143   -915582.85742  24802973.586    24802989.445    24802975.179
+      3325.262        2591.113          39.000          36.000
+ -15344264.84443 -11915670.88842  22418603.897    22418607.811    22418604.456
+      1087.946         847.750          53.000          45.000
+  -8625489.93543  -6670923.09742  23469098.670    23469107.304    23469096.907
+     -3030.513       -2361.439          49.000          41.000
+ -12628298.85543  -9808765.32742  22841485.236    22841489.574    22841483.124
+      -565.892        -440.955          49.000          42.000
+ 04  2  1  4  4 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20162025.11243 -15293645.34542  21215493.629    21215498.793    21215492.664
+      -157.690        -122.875          56.000          49.000
+ -15917522.40943 -12341436.16842  21658218.086    21658225.131    21658216.800
+      2666.565        2077.843          52.000          46.000
+ -25667668.22043 -19813374.81042  20441143.679    20441148.034    20441142.325
+      -166.033        -129.376          56.000          51.000
+ -23550779.61643 -18321837.55842  21494891.297    21494898.238    21494890.159
+      1019.643         794.527          55.000          48.000
+  -6071389.09643  -4716255.79242  23852752.914    23852760.485    23852752.153
+      1927.312        1501.802          47.000          40.000
+  -2864410.53353  -2220846.85952  24784008.446    24784021.214    24784008.014
+      3319.338        2586.497          39.000          36.000
+ -15376887.49943 -11941091.11542  22412396.477    22412400.265    22412395.526
+      1086.813         846.867          53.000          45.000
+  -8534574.25843  -6600079.91442  23486400.132    23486405.664    23486399.165
+     -3030.460       -2361.397          49.000          41.000
+ -12611055.42343  -9795328.86542  22844766.314    22844771.489    22844764.763
+      -583.637        -454.782          49.000          43.000
+ 04  2  1  4  5  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20157263.48743 -15289935.01742  21216399.615    21216404.927    21216398.471
+      -159.679        -124.425          55.000          49.000
+ -15997336.43043 -12403628.85342  21643030.227    21643036.894    21643028.993
+      2654.306        2068.290          52.000          46.000
+ -25662461.19643 -19809317.40342  20442134.814    20442139.000    20442133.117
+      -181.210        -141.202          56.000          51.000
+ -23581094.39143 -18345459.42942  21489122.575    21489129.675    21489121.381
+      1001.355         780.277          55.000          48.000
+  -6128980.75043  -4761132.41042  23841794.818    23841798.555    23841794.609
+      1911.993        1489.865          48.000          40.000
+  -2963899.18543  -2298370.35042  24765077.931    24765090.591    24765076.498
+      3313.300        2581.792          42.000          37.000
+ -15409484.53943 -11966491.39442  22406192.414    22406197.514    22406191.388
+      1086.296         846.464          52.000          45.000
+  -8443671.31543  -6529246.65642  23503699.065    23503704.599    23503696.143
+     -3029.629       -2360.750          50.000          41.000
+ -12593284.58343  -9781481.42742  22848147.539    22848152.588    22848146.288
+      -600.954        -468.276          49.000          43.000
+ 04  2  1  4  5 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20152438.66843 -15286175.44442  21217318.136    21217322.809    21217316.731
+      -161.396        -125.763          56.000          49.000
+ -16076775.99443 -12465529.74842  21627912.671    21627920.240    21627912.236
+      2642.127        2058.800          51.000          46.000
+ -25656791.70543 -19804899.63342  20443213.304    20443217.817    20443212.141
+      -196.361        -153.008          56.000          51.000
+ -23610856.55043 -18368650.68242  21483459.528    21483465.831    21483457.821
+       983.269         766.184          55.000          48.000
+  -6186104.27043  -4805644.19842  23830925.168    23830928.374    23830922.895
+      1896.709        1477.955          48.000          40.000
+  -3063208.42643  -2375754.02842  24746179.321    24746193.867    24746177.325
+      3307.417        2577.208          40.000          36.000
+ -15442058.70843 -11991873.85042  22399994.968    22399999.065    22399993.960
+      1085.747         846.037          53.000          45.000
+  -8352786.30343  -6458427.37142  23520993.278    23521001.616    23520992.682
+     -3028.830       -2360.127          49.000          41.000
+ -12574988.45043  -9767224.66342  22851630.399    22851633.204    22851628.750
+      -618.162        -481.685          49.000          43.000
+ 04  2  1  4  6  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20147546.64243 -15282363.50042  21218248.769    21218254.356    21218247.733
+      -164.756        -128.381          56.000          49.000
+ -16155835.70843 -12527134.65442  21612868.401    21612875.973    21612867.306
+      2628.359        2048.072          52.000          46.000
+ -25650654.51843 -19800117.42142  20444381.324    20444385.672    20444380.057
+      -212.863        -165.867          56.000          51.000
+ -23640059.63543 -18391406.29342  21477901.572    21477908.529    21477900.541
+       963.667         750.909          54.000          48.000
+  -6242754.16043  -4849786.96042  23820143.338    23820151.849    23820142.011
+      1880.000        1464.935          47.000          40.000
+  -3162332.12243  -2452993.12242  24727314.361    24727327.455    24727313.684
+      3300.790        2572.044          38.000          35.000
+ -15474606.39443 -12017235.67742  22393800.469    22393806.253    22393799.853
+      1084.045         844.710          52.000          45.000
+  -8261917.59243  -6387620.80042  23538285.420    23538294.946    23538283.873
+     -3028.989       -2360.251          49.000          41.000
+ -12556162.83843  -9752555.32342  22855211.330    22855216.530    22855210.113
+      -636.939        -496.316          49.000          43.000
+ 04  2  1  4  6 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20142592.68343 -15278503.29442  21219191.263    21219196.796    21219190.020
+      -166.476        -129.721          55.000          49.000
+ -16234519.55743 -12588446.67342  21597895.589    21597902.320    21597894.796
+      2616.248        2038.635          52.000          46.000
+ -25644054.07043 -19794974.23142  20445637.437    20445642.018    20445636.069
+      -228.050        -177.701          56.000          51.000
+ -23668707.05143 -18413728.92642  21472450.792    21472456.958    21472449.340
+       945.253         736.561          55.000          48.000
+  -6298934.15343  -4893563.54242  23809452.726    23809460.704    23809453.649
+      1864.483        1452.844          48.000          40.000
+  -3261273.66743  -2530090.28142  24708486.586    24708500.524    24708485.378
+      3295.067        2567.585          39.000          35.000
+ -15507133.65943 -12042581.58642  22387610.546    22387615.464    22387610.414
+      1083.606         844.368          52.000          45.000
+  -8171073.07343  -6316833.07742  23555572.388    23555580.601    23555572.582
+     -3028.125       -2359.578          49.000          41.000
+ -12536812.70643  -9737477.26442  22858894.142    22858900.836    22858891.892
+      -654.002        -509.612          49.000          43.000
+ 04  2  1  4  7  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20137570.43843 -15274589.87442  21220147.183    21220152.489    21220146.016
+      -168.828        -131.554          55.000          49.000
+ -16312819.70443 -12649459.71342  21582995.663    21583001.936    21582995.245
+      2603.395        2028.619          52.000          46.000
+ -25636982.79743 -19789464.16442  20446983.182    20446987.399    20446981.583
+      -243.776        -189.955          56.000          51.000
+ -23696790.31743 -18435611.94642  21467106.258    21467113.309    21467104.804
+       926.570         722.003          55.000          48.000
+  -6354636.35743  -4936967.83042  23798854.137    23798860.725    23798854.778
+      1848.324        1440.252          48.000          40.000
+  -3360024.84743  -2607039.11542  24689698.356    24689710.000    24689695.012
+      3288.305        2562.316          40.000          36.000
+ -15539634.30443 -12067906.74442  22381425.514    22381431.092    22381425.537
+      1082.594         843.580          52.000          45.000
+  -8080249.18643  -6246061.45042  23572855.035    23572865.303    23572854.260
+     -3027.427       -2359.034          48.000          41.000
+ -12516931.76943  -9721985.59142  22862676.713    22862683.729    22862675.545
+      -671.855        -523.523          49.000          43.000
+ 04  2  1  4  7 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20132483.64543 -15270626.15442  21221115.314    21221120.758    21221113.830
+      -170.844        -133.125          55.000          49.000
+ -16390738.74143 -12710175.78042  21568168.070    21568174.258    21568167.116
+      2590.707        2018.733          52.000          46.000
+ -25629443.49243 -19783589.38742  20448417.791    20448422.278    20448416.185
+      -259.312        -202.061          56.000          51.000
+ -23724311.21943 -18457056.75742  21461869.692    21461875.766    21461867.997
+       907.807         707.382          55.000          48.000
+  -6409862.98643  -4980001.54642  23788344.860    23788351.104    23788342.543
+      1832.788        1428.146          48.000          39.000
+  -3458587.87643  -2683841.32142  24670942.025    24670954.790    24670938.903
+      3281.943        2557.358          39.000          35.000
+ -15572112.72143 -12093214.59642  22375245.286    22375249.422    22375244.916
+      1082.044         843.151          52.000          45.000
+  -7989452.13543  -6175310.71442  23590133.705    23590144.406    23590133.129
+     -3026.286       -2358.145          48.000          41.000
+ -12496523.67643  -9706083.14642  22866560.788    22866565.397    22866559.727
+      -689.148        -536.998          50.000          43.000
+ 04  2  1  4  8  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20127332.69143 -15266612.43842  21222095.532    21222101.134    21222094.383
+      -173.034        -134.832          55.000          49.000
+ -16468275.55243 -12770593.99142  21553413.035    21553419.556    21553411.963
+      2577.917        2008.766          52.000          46.000
+ -25621435.26043 -19777349.21442  20449941.747    20449946.303    20449940.291
+      -275.037        -214.314          56.000          51.000
+ -23751267.94343 -18478061.95442  21456739.712    21456746.267    21456737.794
+       888.934         692.676          55.000          48.000
+  -6464612.78043  -5022663.72042  23777924.953    23777933.418    23777926.418
+      1816.849        1415.726          47.000          39.000
+  -3556960.95853  -2760495.47752  24652219.943    24652233.756    24652218.278
+      3275.403        2552.262          37.000          34.000
+ -15604569.40943 -12118505.51342  22369069.194    22369073.309    22369068.282
+      1081.391         842.642          52.000          45.000
+  -7898684.63443  -6104583.02142  23607406.452    23607415.842    23607404.415
+     -3025.316       -2357.389          48.000          41.000
+ -12475588.67343  -9689770.12642  22870544.678    22870549.975    22870544.079
+      -706.738        -550.705          49.000          43.000
+ 04  2  1  4  8 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20122118.68043 -15262549.59042  21223087.791    21223092.901    21223086.440
+      -175.185        -136.508          55.000          49.000
+ -16545429.97443 -12830714.25142  21538732.304    21538737.703    21538730.432
+      2565.110        1998.787          53.000          46.000
+ -25612958.23943 -19770743.75342  20451554.834    20451559.215    20451553.282
+      -290.740        -226.551          56.000          51.000
+ -23777659.51443 -18498626.78442  21451716.868    21451723.898    21451716.220
+       869.915         677.856          54.000          48.000
+  -6518885.54743  -5064954.15742  23767599.000    23767602.003    23767596.389
+      1800.868        1403.274          47.000          39.000
+  -3655143.31853  -2837001.01852  24633539.153    24633551.553    24633533.175
+      3269.412        2547.594          40.000          35.000
+ -15637005.44043 -12143780.33842  22362897.133    22362902.987    22362896.355
+      1080.636         842.054          52.000          45.000
+  -7807950.11643  -6033881.02642  23624673.034    23624682.142    23624671.714
+     -3024.458       -2356.720          48.000          41.000
+ -12454127.71343  -9673047.26142  22874627.577    22874633.274    22874626.087
+      -724.531        -564.570          49.000          42.000
+ 04  2  1  4  9  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20116838.93543 -15258435.51642  21224092.453    21224097.578    21224091.146
+      -176.200        -137.299          55.000          49.000
+ -16622197.94443 -12890533.37142  21524122.173    21524128.776    21524121.164
+      2553.315        1989.596          52.000          46.000
+ -25604008.46943 -19763769.91642  20453258.174    20453262.203    20453256.643
+      -305.244        -237.852          56.000          51.000
+ -23803481.39943 -18518747.68642  21446803.600    21446810.130    21446801.979
+       852.197         664.050          55.000          48.000
+  -6572676.82243  -5106869.40442  23757360.748    23757366.943    23757359.926
+      1785.989        1391.680          47.000          39.000
+  -3753130.35543  -2913354.43842  24614889.861    24614902.023    24614891.087
+      3263.783        2543.208          39.000          35.000
+ -15669418.60143 -12169037.34142  22356729.630    22356733.720    22356728.760
+      1080.959         842.306          53.000          45.000
+  -7717248.15843  -5963204.39842  23641932.860    23641941.969    23641931.475
+     -3021.869       -2354.703          47.000          40.000
+ -12432138.03143  -9655912.43042  22878813.612    22878817.407    22878811.873
+      -740.893        -577.319          49.000          42.000
+ 04  2  1  4  9 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20111494.37043 -15254270.93442  21225108.960    21225114.346    21225108.015
+      -178.954        -139.445          55.000          49.000
+ -16698579.01443 -12950050.99442  21509588.251    21509594.302    21509586.404
+      2539.890        1979.135          52.000          46.000
+ -25594586.25243 -19756427.93142  20455051.085    20455055.214    20455049.542
+      -321.649        -250.635          56.000          51.000
+ -23828732.45443 -18538423.78342  21441998.201    21442005.489    21441996.886
+       832.387         648.613          54.000          48.000
+  -6625986.11443  -5148409.06742  23747217.701    23747222.868    23747215.607
+      1769.290        1378.668          48.000          39.000
+  -3850921.25943  -2989554.98842  24596280.836    24596293.091    24596279.220
+      3256.710        2537.696          40.000          35.000
+ -15701810.58843 -12194277.83342  22350565.981    22350569.798    22350564.615
+      1079.697         841.322          53.000          45.000
+  -7626582.22343  -5892555.85542  23659186.219    23659192.923    23659185.211
+     -3021.450       -2354.377          48.000          41.000
+ -12409620.38343  -9638366.20442  22883097.952    22883102.657    22883095.797
+      -759.175        -591.565          49.000          43.000
+ 04  2  1  4 10  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20106088.65943 -15250058.70642  21226138.259    21226143.102    21226137.155
+      -181.356        -141.316          56.000          49.000
+ -16774575.82243 -13009269.20942  21495125.467    21495132.218    21495124.836
+      2526.736        1968.885          52.000          46.000
+ -25584694.10343 -19748719.77042  20456933.489    20456937.688    20456931.781
+      -337.534        -263.013          56.000          51.000
+ -23853414.42943 -18557656.47042  21437302.069    21437308.298    21437300.219
+       813.403         633.821          55.000          48.000
+  -6678815.85643  -5189575.09342  23737165.173    23737168.979    23737163.342
+      1753.189        1366.121          48.000          40.000
+  -3948517.98443  -3065604.23542  24577711.256    24577721.600    24577709.309
+      3249.942        2532.422          42.000          34.000
+ -15734185.31443 -12219504.88742  22344404.699    22344408.622    22344404.220
+      1078.792         840.617          53.000          45.000
+  -7535958.98943  -5821940.56842  23676432.573    23676441.582    23676430.719
+     -3020.255       -2353.445          48.000          40.000
+ -12386578.67443  -9620411.62342  22887481.378    22887488.401    22887481.444
+      -776.598        -605.141          49.000          43.000
+ 04  2  1  4 10 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20100618.13543 -15245795.97142  21227179.097    21227184.178    21227177.857
+      -183.377        -142.891          55.000          49.000
+ -16850183.39443 -13068184.12842  21480738.163    21480744.377    21480736.750
+      2513.904        1958.886          53.000          46.000
+ -25574327.48943 -19740641.89242  20458905.987    20458910.376    20458904.635
+      -353.463        -275.426          56.000          51.000
+ -23877521.92343 -18576441.49942  21432713.940    21432720.725    21432712.988
+       794.192         618.851          55.000          48.000
+  -6731161.03743  -5230363.51642  23727204.524    23727209.645    23727202.433
+      1736.783        1353.337          48.000          40.000
+  -4045915.01443  -3141497.87142  24559176.628    24559188.671    24559175.005
+      3243.508        2527.409          44.000          35.000
+ -15766539.23143 -12244715.71942  22338247.803    22338251.823    22338247.320
+      1078.177         840.138          53.000          45.000
+  -7445377.05743  -5751357.47842  23693669.139    23693676.648    23693669.517
+     -3018.572       -2352.134          47.000          40.000
+ -12363009.34743  -9602045.90042  22891967.799    22891973.173    22891967.667
+      -794.280        -618.919          49.000          42.000
+ 04  2  1  4 11  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20095081.04443 -15241481.36642  21228232.097    21228237.733    21228231.425
+      -185.257        -144.356          55.000          48.000
+ -16925398.83443 -13126793.47742  21466425.535    21466431.302    21466424.026
+      2501.055        1948.874          53.000          46.000
+ -25563483.92043 -19732192.36542  20460969.419    20460973.812    20460968.041
+      -368.963        -287.504          56.000          51.000
+ -23901051.34343 -18594776.08942  21428236.747    21428243.236    21428235.630
+       775.135         604.001          55.000          48.000
+  -6783018.36643  -5270771.80842  23717334.424    23717341.962    23717334.871
+      1720.753        1340.846          47.000          40.000
+  -4143109.05643  -3217233.38042  24540678.400    24540691.772    24540677.579
+      3236.933        2522.285          43.000          35.000
+ -15798871.10243 -12269909.37042  22332095.790    22332099.169    22332094.523
+      1077.799         839.843          53.000          45.000
+  -7354837.02743  -5680807.06442  23710896.725    23710907.630    23710897.023
+     -3016.737       -2350.704          46.000          40.000
+ -12338910.60243  -9583267.65742  22896553.911    22896559.677    22896552.535
+      -811.671        -632.471          49.000          42.000
+ 04  2  1  4 11 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20089480.82543 -15237117.57942  21229298.202    21229303.591    21229296.748
+      -187.773        -146.317          55.000          49.000
+ -17000224.38043 -13185099.04142  21452185.960    21452192.559    21452184.923
+      2487.665        1938.440          53.000          46.000
+ -25552165.88943 -19723373.12642  20463123.566    20463127.565    20463121.692
+      -385.203        -300.158          56.000          51.000
+ -23924004.40643 -18612661.56642  21423868.642    21423875.214    21423867.094
+       755.476         588.683          55.000          48.000
+  -6834390.09643  -5310801.71142  23707559.349    23707564.784    23707560.975
+      1704.271        1328.003          48.000          40.000
+  -4240101.46743  -3292811.79742  24522220.625    24522235.046    24522221.097
+      3229.614        2516.582          44.000          36.000
+ -15831184.99843 -12295088.99842  22325945.575    22325950.452    22325944.907
+      1076.832         839.090          53.000          45.000
+  -7264344.94443  -5610294.00242  23728118.565    23728126.954    23728116.648
+     -3015.660       -2349.865          46.000          40.000
+ -12314286.02343  -9564079.67142  22901238.985    22901245.391    22901238.679
+      -829.689        -646.511          49.000          43.000
+ 04  2  1  4 12  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20083818.16543 -15232705.13342  21230376.510    21230381.182    21230375.036
+      -190.025        -148.071          56.000          49.000
+ -17074659.55343 -13243100.42342  21438021.733    21438027.610    21438020.587
+      2474.348        1928.063          53.000          46.000
+ -25540373.17443 -19714184.01042  20465367.532    20465371.594    20465365.884
+      -401.243        -312.657          56.000          51.000
+ -23946379.84843 -18630096.95742  21419610.599    21419617.581    21419609.582
+       735.936         573.457          55.000          48.000
+  -6885275.63043  -5350452.76942  23697874.328    23697882.576    23697874.202
+      1687.911        1315.255          46.000          40.000
+  -4336891.34243  -3368232.32442  24503804.256    24503815.155    24503802.888
+      3222.795        2511.269          43.000          36.000
+ -15863481.58743 -12320255.16542  22319799.390    22319804.360    22319798.042
+      1075.958         838.409          52.000          45.000
+  -7173904.10543  -5539820.84242  23745329.472    23745338.450    23745327.593
+     -3013.993       -2348.566          47.000          40.000
+ -12289136.59643  -9544482.72142  22906024.247    22906031.200    22906022.598
+      -847.290        -660.226          48.000          42.000
+ 04  2  1  4 12 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20078086.62943 -15228239.00742  21231467.116    21231472.047    21231465.894
+      -193.260        -150.592          56.000          49.000
+ -17148696.96743 -13300791.85242  21423932.839    21423939.111    21423931.825
+      2460.136        1916.989          53.000          47.000
+ -25528098.44843 -19704619.29342  20467703.313    20467707.389    20467701.796
+      -418.433        -326.052          56.000          51.000
+ -23968169.45843 -18647075.85042  21415464.437    21415470.998    21415463.128
+       715.474         557.512          55.000          48.000
+  -6935667.13643  -5389718.86442  23688287.092    23688294.161    23688286.078
+      1670.541        1301.720          47.000          40.000
+  -4433470.60643  -3443488.81342  24485425.701    24485436.029    24485422.155
+      3214.811        2505.048          44.000          36.000
+ -15895754.85443 -12345403.13142  22313658.748    22313663.052    22313657.368
+      1074.316         837.129          52.000          45.000
+  -7083510.36243  -5469384.40342  23762528.733    23762540.446    23762528.640
+     -3013.362       -2348.074          45.000          40.000
+ -12263456.07243  -9524471.92942  22910911.904    22910918.494    22910909.698
+      -865.976        -674.786          49.000          42.000
+ 04  2  1  4 13  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20072296.87943 -15223727.53142  21232568.445    21232573.532    21232567.563
+      -194.139        -151.277          55.000          49.000
+ -17222345.98743 -13358180.64942  21409917.839    21409924.547    21409916.801
+      2448.313        1907.776          53.000          47.000
+ -25515351.75943 -19694686.82142  20470128.876    20470133.304    20470127.404
+      -432.983        -337.389          56.000          51.000
+ -23989382.24143 -18663605.26542  21411427.975    21411433.966    21411426.254
+       697.176         543.254          55.000          48.000
+  -6985574.02843  -5428607.31442  23678789.506    23678795.936    23678788.358
+      1655.273        1289.823          47.000          40.000
+  -4529848.04543  -3518587.95542  24467086.095    24467096.615    24467084.196
+      3208.999        2500.519          45.000          36.000
+ -15928015.89243 -12370541.58342  22307519.411    22307523.821    22307518.051
+      1075.019         837.677          53.000          45.000
+  -6993176.86043  -5398994.91142  23779720.513    23779729.240    23779718.740
+     -3009.954       -2345.419          46.000          40.000
+ -12237255.20043  -9504055.68342  22915897.401    22915903.871    22915896.915
+      -882.189        -687.420          48.000          42.000
+ 04  2  1  4 13 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20066439.46543 -15219163.33242  21233682.771    21233688.518    21233681.969
+      -195.563        -152.387          55.000          49.000
+ -17295595.90443 -13415258.45742  21395979.014    21395984.473    21395977.475
+      2435.932        1898.129          53.000          47.000
+ -25502122.66343 -19684378.44442  20472646.129    20472650.514    20472644.693
+      -448.164        -349.219          56.000          51.000
+ -24010006.85443 -18679676.37342  21407503.148    21407509.332    21407501.718
+       678.474         528.681          55.000          48.000
+  -7034985.63443  -5467109.88642  23669387.120    23669392.238    23669386.288
+      1640.018        1277.936          47.000          40.000
+  -4626012.51643  -3593521.14142  24448787.404    24448796.890    24448784.699
+      3202.900        2495.766          45.000          36.000
+ -15960255.32443 -12395663.19742  22301384.482    22301387.907    22301383.401
+      1075.151         837.780          53.000          45.000
+  -6902896.68643  -5328646.97742  23796901.361    23796909.409    23796899.872
+     -3007.606       -2343.589          46.000          40.000
+ -12210524.44543  -9483226.52142  22920983.669    22920991.449    22920982.806
+      -899.037        -700.548          49.000          42.000
+ 04  2  1  4 14  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20060522.06443 -15214552.38342  21234808.949    21234814.286    21234807.844
+      -198.976        -155.046          55.000          49.000
+ -17368453.41143 -13472030.49142  21382114.871    21382120.432    21382112.981
+      2421.265        1886.700          53.000          47.000
+ -25488418.34743 -19673699.76842  20475254.142    20475258.471    20475252.705
+      -465.563        -362.776          56.000          51.000
+ -24030049.60143 -18695294.08242  21403689.453    21403695.872    21403688.021
+       657.544         512.372          55.000          48.000
+  -7083908.34643  -5505231.48142  23660078.335    23660083.471    23660077.610
+      1621.805        1263.744          47.000          40.000
+  -4721970.03543  -3668293.04042  24430526.664    24430536.366    24430523.277
+      3194.236        2489.015          45.000          37.000
+ -15992481.34643 -12420774.36242  22295251.905    22295256.201    22295251.375
+      1073.169         836.236          53.000          45.000
+  -6812679.75743  -5258348.31342  23814067.481    23814077.817    23814066.912
+     -3007.172       -2343.251          45.000          40.000
+ -12183272.02643  -9461990.86042  22926171.065    22926174.899    22926169.326
+      -917.807        -715.174          49.000          42.000
+ 04  2  1  4 14 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20054537.96043 -15209889.47242  21235948.603    21235953.074    21235946.924
+      -199.592        -155.526          56.000          49.000
+ -17440910.97643 -13528490.88142  21368326.261    21368332.416    21368324.865
+      2409.686        1877.677          53.000          47.000
+ -25474231.04843 -19662644.75242  20477953.943    20477958.118    20477952.355
+      -479.953        -373.989          56.000          51.000
+ -24049502.35643 -18710452.05542  21399987.159    21399993.797    21399985.733
+       639.728         498.489          55.000          48.000
+  -7132334.59643  -5542966.19742  23650860.581    23650867.666    23650860.883
+      1607.054        1252.250          46.000          40.000
+  -4817712.21743  -3742897.12442  24412305.776    24412318.395    24412304.741
+      3188.875        2484.838          45.000          37.000
+ -16024687.89943 -12445870.36042  22289122.667    22289127.670    22289122.202
+      1074.236         837.067          53.000          45.000
+  -6722522.13143  -5188095.88842  23831223.042    23831235.690    23831223.004
+     -3003.237       -2340.185          45.000          40.000
+ -12155491.81243  -9440343.95542  22931456.356    22931461.994    22931454.637
+      -933.764        -727.608          48.000          42.000
+ 04  2  1  4 15  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20048489.44143 -15205176.35342  21237098.913    21237104.055    21237097.895
+      -202.811        -158.034          55.000          49.000
+ -17512969.75743 -13584640.52842  21354613.648    21354619.568    21354612.174
+      2395.087        1866.302          53.000          47.000
+ -25459562.63443 -19651214.83642  20480744.913    20480749.447    20480743.675
+      -497.183        -387.415          56.000          51.000
+ -24068365.54743 -18725150.62742  21396397.964    21396404.326    21396396.711
+       618.766         482.155          55.000          48.000
+  -7180265.43143  -5580314.93542  23641741.341    23641747.009    23641740.814
+      1589.377        1238.476          47.000          40.000
+  -4913239.67743  -3817333.85342  24394129.125    24394139.484    24394126.444
+      3180.344        2478.190          45.000          38.000
+ -16056877.25443 -12470952.95642  22282997.285    22283002.484    22282997.348
+      1072.471         835.692          52.000          45.000
+  -6632428.46743  -5117893.27942  23848368.229    23848378.960    23848368.229
+     -3002.243       -2339.410          46.000          40.000
+ -12127186.12743  -9418287.55542  22936842.281    22936848.887    22936840.509
+      -952.634        -742.312          48.000          42.000
+ 04  2  1  4 15 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20042377.24043 -15200413.61642  21238261.676    21238267.439    21238260.473
+      -205.228        -159.918          55.000          49.000
+ -17584629.49743 -13640479.24342  21340977.807    21340983.389    21340976.511
+      2381.567        1855.766          53.000          47.000
+ -25444413.25643 -19639410.14642  20483627.926    20483632.430    20483626.470
+      -513.478        -400.113          56.000          51.000
+ -24086638.47943 -18739389.25242  21392920.775    21392926.926    21392919.199
+       598.845         466.632          55.000          48.000
+  -7227700.48743  -5617277.32942  23632715.418    23632721.194    23632713.192
+      1572.243        1225.124          48.000          41.000
+  -5008551.62343  -3891602.61742  24375989.600    24376001.817    24375989.375
+      3173.049        2472.506          45.000          37.000
+ -16089050.68343 -12496023.14142  22276875.727    22276879.737    22276874.913
+      1071.676         835.072          53.000          45.000
+  -6542402.37643  -5047743.32942  23865500.789    23865510.045    23865499.750
+     -3000.279       -2337.880          47.000          40.000
+ -12098356.27643  -9395822.75742  22942328.833    22942334.601    22942326.700
+      -970.181        -755.985          48.000          42.000
+ 04  2  1  4 16  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20036201.49343 -15195601.36242  21239437.490    21239442.812    21239435.991
+      -206.970        -161.275          55.000          49.000
+ -17655889.30743 -13696006.31742  21327417.194    21327422.671    21327416.316
+      2368.627        1845.683          53.000          47.000
+ -25428782.23143 -19627230.15342  20486602.384    20486607.276    20486601.058
+      -529.162        -412.334          56.000          51.000
+ -24104319.98143 -18753167.03142  21389555.997    21389562.091    21389554.223
+       579.524         451.577          55.000          48.000
+  -7274638.80943  -5653852.61942  23623782.981    23623787.372    23623782.030
+      1556.174        1212.603          48.000          41.000
+  -5103646.42043  -3965702.14642  24357895.070    24357904.984    24357892.125
+      3165.999        2467.012          45.000          37.000
+ -16121208.79543 -12521081.39442  22270755.702    22270760.826    22270755.124
+      1071.585         835.001          53.000          45.000
+  -6452446.08243  -4977647.76842  23882618.958    23882627.153    23882617.927
+     -2997.459       -2335.682          47.000          40.000
+ -12069002.55843  -9372949.72142  22947914.550    22947921.180    22947913.636
+      -987.195        -769.243          49.000          42.000
+ 04  2  1  4 16 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20029980.05743 -15190753.50742  21240621.356    21240626.467    21240619.918
+      -209.452        -163.209          55.000          49.000
+ -17726766.08743 -13751234.92642  21313930.139    21313935.998    21313928.702
+      2354.895        1834.983          53.000          47.000
+ -25412686.66243 -19614688.17042  20489665.212    20489669.573    20489663.869
+      -545.507        -425.070          56.000          51.000
+ -24121426.17143 -18766496.49342  21386300.535    21386307.531    21386299.352
+       559.347         435.855          55.000          48.000
+  -7321097.09943  -5690053.88742  23614942.546    23614946.113    23614942.737
+      1539.540        1199.642          48.000          41.000
+  -5198540.42143  -4039645.19042  24339835.204    24339846.719    24339833.623
+      3158.760        2461.371          44.000          37.000
+ -16153369.54243 -12546141.70842  22264636.232    22264639.664    22264635.484
+      1070.814         834.401          53.000          45.000
+  -6362580.01043  -4907622.51142  23899720.929    23899730.759    23899719.403
+     -2995.275       -2333.980          49.000          40.000
+ -12039143.43143  -9349682.85842  22953596.653    22953603.191    22953596.129
+     -1004.956        -783.082          49.000          43.000
+ 04  2  1  4 17  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20023675.98043 -15185841.25842  21241821.035    21241825.920    21241819.693
+      -210.758        -164.227          55.000          49.000
+ -17797221.97643 -13806135.55742  21300521.923    21300528.066    21300520.989
+      2342.258        1825.136          53.000          47.000
+ -25396089.09043 -19601755.01542  20492823.626    20492828.164    20492822.086
+      -560.885        -437.053          56.000          51.000
+ -24137918.71943 -18779347.81842  21383162.466    21383167.818    21383160.941
+       540.287         421.003          55.000          48.000
+  -7367037.44243  -5725851.56142  23606199.118    23606206.726    23606199.422
+      1523.313        1186.997          47.000          41.000
+  -5293195.14643  -4113401.77442  24321822.976    24321833.583    24321821.203
+      3151.852        2455.989          44.000          37.000
+ -16185496.18743 -12571175.45342  22258521.656    22258526.731    22258521.689
+      1071.032         834.570          53.000          45.000
+  -6272769.65443  -4837640.68442  23916811.271    23916819.618    23916811.317
+     -2991.961       -2331.398          48.000          40.000
+ -12008742.28643  -9325993.63742  22959382.441    22959387.919    22959381.389
+     -1021.649        -796.090          49.000          43.000
+ 04  2  1  4 17 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20017309.93443 -15180880.72442  21243032.646    21243037.384    21243031.440
+      -213.831        -166.621          55.000          49.000
+ -17867276.64043 -13860723.55142  21287190.408    21287197.303    21287189.789
+      2327.881        1813.933          52.000          47.000
+ -25379009.94543 -19588446.61042  20496073.815    20496077.960    20496072.502
+      -577.894        -450.307          56.000          51.000
+ -24153816.77743 -18791735.89742  21380137.271    21380143.201    21380135.670
+       519.483         404.792          55.000          48.000
+  -7412479.64843  -5761261.06242  23597551.813    23597557.560    23597551.023
+      1506.036        1173.535          47.000          40.000
+  -5387629.78143  -4186986.81042  24303850.840    24303864.511    24303849.028
+      3143.558        2449.526          43.000          37.000
+ -16217610.24543 -12596199.39342  22252411.607    22252415.332    22252411.157
+      1069.686         833.521          53.000          46.000
+  -6183038.16043  -4767720.25942  23933886.785    23933895.253    23933883.699
+     -2990.353       -2330.145          48.000          40.000
+ -11977820.52043  -9301898.76142  22965266.930    22965271.713    22965264.921
+     -1040.057        -810.434          49.000          43.000
+ 04  2  1  4 18  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20010877.22443 -15175868.24542  21244256.341    21244261.770    21244255.290
+      -215.059        -167.578          55.000          49.000
+ -17936924.88243 -13914994.84142  21273937.636    21273943.579    21273936.370
+      2315.210        1804.060          53.000          47.000
+ -25361443.75943 -19574758.70142  20499416.530    20499421.196    20499415.145
+      -593.130        -462.179          56.000          51.000
+ -24169114.52843 -18803656.21442  21377226.426    21377232.280    21377224.933
+       500.423         389.940          55.000          48.000
+  -7457417.97543  -5796277.94442  23589001.219    23589008.145    23589001.254
+      1489.916        1160.974          48.000          41.000
+  -5481838.05843  -4260395.45242  24285924.607    24285937.105    24285923.630
+      3137.154        2444.536          45.000          37.000
+ -16249707.38043 -12621210.13942  22246303.173    22246307.009    22246302.304
+      1070.116         833.857          53.000          45.000
+  -6093383.44443  -4697859.69642  23950947.681    23950956.255    23950946.413
+     -2986.637       -2327.250          47.000          40.000
+ -11946373.91243  -9277394.90342  22971250.901    22971257.268    22971248.980
+     -1056.491        -823.240          50.000          43.000
+ 04  2  1  4 18 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -20004380.76843 -15170806.08442  21245492.446    21245497.730    21245491.300
+      -217.983        -169.857          55.000          49.000
+ -18006168.48843 -13968950.83942  21260761.205    21260767.176    21260760.128
+      2301.011        1792.996          53.000          47.000
+ -25343393.14743 -19560693.31042  20502851.672    20502856.071    20502850.114
+      -610.134        -475.429          56.000          51.000
+ -24183813.53443 -18815109.96742  21374428.898    21374434.697    21374427.822
+       479.573         373.693          55.000          48.000
+  -7501854.76543  -5830904.01642  23580544.041    23580551.267    23580543.753
+      1472.486        1147.392          47.000          41.000
+  -5575821.42043  -4333628.90242  24268040.753    24268052.203    24268040.131
+      3128.542        2437.825          45.000          37.000
+ -16281790.62743 -12646210.07342  22240198.484    22240202.302    22240197.603
+      1068.865         832.882          53.000          46.000
+  -6003810.97743  -4628063.20642  23967992.838    23968003.006    23967992.200
+     -2984.631       -2325.686          48.000          40.000
+ -11914406.12943  -9252484.92642  22977334.187    22977338.893    22977332.555
+     -1074.660        -837.397          50.000          43.000
+ 04  2  1  4 19  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19997818.60043 -15165692.73042  21246742.075    21246746.691    21246740.600
+      -220.033        -171.454          56.000          48.000
+ -18075004.67243 -14022589.35942  21247661.565    21247667.581    21247660.554
+      2287.658        1782.591          53.000          47.000
+ -25324855.68743 -19546248.56442  20506379.017    20506383.634    20506377.585
+      -626.192        -487.942          56.000          51.000
+ -24197910.60543 -18826094.67442  21371746.534    21371752.743    21371744.961
+       459.810         358.294          55.000          48.000
+  -7545786.82743  -5865136.76242  23572184.074    23572190.926    23572183.051
+      1455.534        1134.182          47.000          41.000
+  -5669576.35043  -4406684.27542  24250198.497    24250210.625    24250196.898
+      3121.243        2432.137          44.000          38.000
+ -16313858.26643 -12671197.83142  22234095.982    22234100.667    22234095.144
+      1068.471         832.575          53.000          45.000
+  -5914321.18643  -4558331.16442  23985024.069    23985031.634    23985022.597
+     -2981.820       -2323.496          48.000          40.000
+ -11881915.56943  -9227167.63442  22983516.332    22983521.563    22983515.957
+     -1091.869        -850.807          49.000          42.000
+ 04  2  1  4 19 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19991193.95843 -15160530.69742  21248001.832    21248007.134    21248000.916
+      -221.978        -172.970          55.000          48.000
+ -18143435.98343 -14075912.39442  21234640.074    21234645.589    21234638.677
+      2274.125        1772.045          53.000          47.000
+ -25305833.91443 -19531426.43142  20509999.297    20510003.281    20509997.867
+      -642.323        -500.511          56.000          51.000
+ -24211407.70743 -18836611.88342  21369177.415    21369184.041    21369176.556
+       439.720         342.639          55.000          48.000
+  -7589216.32643  -5898977.92642  23563920.668    23563926.691    23563918.880
+      1439.005        1121.303          48.000          41.000
+  -5763104.69743  -4479563.12442  24232400.298    24232413.435    24232398.365
+      3113.945        2426.451          45.000          38.000
+ -16345913.88043 -12696176.22942  22227995.440    22228000.244    22227995.460
+      1068.152         832.326          53.000          45.000
+  -5824919.79143  -4488667.99742  24002034.671    24002044.216    24002033.756
+     -2978.676       -2321.046          47.000          40.000
+ -11848906.22943  -9201446.06842  22989798.237    22989803.077    22989796.794
+     -1109.177        -864.294          49.000          42.000
+ 04  2  1  4 20  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19984502.57743 -15155316.65742  21249275.331    21249280.101    21249274.244
+      -224.633        -175.039          55.000          48.000
+ -18211457.51143 -14128916.11142  21221695.044    21221701.380    21221694.528
+      2260.101        1761.118          53.000          47.000
+ -25286323.72743 -19516223.71342  20513711.660    20513715.774    20513710.164
+      -658.965        -513.479          56.000          51.000
+ -24224299.71843 -18846657.58542  21366724.061    21366730.074    21366723.042
+       419.085         326.560          55.000          48.000
+  -7632138.80643  -5932423.97842  23555752.416    23555760.311    23555752.472
+      1422.242        1108.241          48.000          41.000
+  -5856400.96643  -4552261.18042  24214646.178    24214657.603    24214645.566
+      3105.555        2419.913          44.000          38.000
+ -16377953.93843 -12721142.50742  22221898.864    22221903.511    22221898.357
+      1067.356         831.706          53.000          46.000
+  -5735605.11443  -4419072.37742  24019029.993    24019041.594    24019029.559
+     -2976.197       -2319.114          47.000          39.000
+ -11815374.56943  -9175317.49042  22996178.652    22996183.570    22996176.794
+     -1126.875        -878.084          48.000          41.000
+ 04  2  1  4 20 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19977748.88643 -15150054.06042  21250560.537    21250565.749    21250559.286
+      -225.964        -176.076          55.000          48.000
+ -18279072.94343 -14181603.40242  21208828.592    21208835.096    21208827.015
+      2247.352        1751.183          53.000          47.000
+ -25266328.84143 -19500643.30942  20517516.658    20517520.720    20517515.099
+      -674.431        -525.531          56.000          51.000
+ -24236589.67443 -18856234.15942  21364385.817    21364391.423    21364384.513
+       399.766         311.506          55.000          48.000
+  -7674557.61043  -5965477.63842  23547679.243    23547686.338    23547679.174
+      1406.032        1095.609          48.000          41.000
+  -5949467.89243  -4624780.52942  24196937.977    24196947.269    24196935.416
+      3098.424        2414.356          45.000          38.000
+ -16409983.59743 -12746100.66742  22215803.509    22215808.759    22215802.815
+      1067.720         831.990          53.000          45.000
+  -5646384.09543  -4349549.78142  24036010.692    24036020.532    24036008.897
+     -2972.265       -2316.051          48.000          40.000
+ -11781325.67043  -9148785.87642  23002659.287    23002663.038    23002658.019
+     -1143.318        -890.897          49.000          42.000
+ 04  2  1  4 21  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19970929.59743 -15144740.34342  21251858.056    21251863.545    21251857.444
+      -228.241        -177.850          55.000          48.000
+ -18346278.19443 -14233971.06742  21196039.470    21196045.711    21196038.859
+      2233.495        1740.386          53.000          47.000
+ -25245845.53443 -19484682.32042  20521414.345    20521418.799    20521412.581
+      -690.675        -538.188          56.000          51.000
+ -24248273.06843 -18865338.08442  21362162.251    21362168.393    21362160.655
+       379.451         295.676          55.000          48.000
+  -7716468.60243  -5998135.53042  23539705.852    23539711.347    23539703.874
+      1388.642        1082.059          49.000          42.000
+  -6042300.81543  -4697117.52542  24179271.133    24179282.672    24179269.792
+      3090.690        2408.330          45.000          39.000
+ -16441999.35743 -12771048.01342  22209711.663    22209716.287    22209710.850
+      1067.233         831.610          53.000          46.000
+  -5557256.11743  -4280099.67342  24052971.526    24052979.856    24052969.430
+     -2969.229       -2313.685          48.000          40.000
+ -11746757.10543  -9121849.34342  23009236.505    23009242.619    23009234.838
+     -1160.656        -904.407          48.000          42.000
+ 04  2  1  4 21 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19964044.79843 -15139375.58442  21253168.532    21253173.582    21253167.542
+      -230.362        -179.503          55.000          48.000
+ -18413072.62043 -14286018.60242  21183329.183    21183334.804    21183328.587
+      2219.878        1729.775          53.000          47.000
+ -25224873.84543 -19468340.76942  20525404.976    20525409.604    20525403.641
+      -706.967        -550.883          56.000          51.000
+ -24259349.00943 -18873968.67242  21360054.829    21360060.435    21360053.375
+       359.362         280.022          55.000          48.000
+  -7757871.47943  -6030397.51342  23531826.192    23531832.801    23531826.387
+      1371.690        1068.849          48.000          41.000
+  -6134898.47743  -4769271.23742  24161651.293    24161661.186    24161650.017
+      3082.691        2402.097          46.000          39.000
+ -16474001.62743 -12795984.84542  22203621.309    22203626.184    22203620.789
+      1066.829         831.295          53.000          45.000
+  -5468223.55343  -4210723.89442  24069912.665    24069922.791    24069912.506
+     -2966.018       -2311.183          47.000          39.000
+ -11711669.57543  -9094508.40342  23015913.282    23015918.994    23015912.074
+     -1177.903        -917.846          48.000          42.000
+ 04  2  1  4 22  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19957097.12843 -15133961.83642  21254490.580    21254495.973    21254489.450
+      -232.897        -181.478          55.000          48.000
+ -18479458.43043 -14337747.74942  21170696.463    21170702.200    21170694.938
+      2205.691        1718.720          53.000          47.000
+ -25203416.09343 -19451620.46742  20529488.801    20529492.905    20529487.160
+      -723.744        -563.956          56.000          51.000
+ -24269819.19843 -18882127.23242  21358062.298    21358068.903    21358060.943
+       338.577         263.826          55.000          48.000
+  -7798768.02843  -6062264.94242  23524044.337    23524051.383    23524043.544
+      1354.646        1055.568          48.000          41.000
+  -6227262.29543  -4841242.71342  24144075.497    24144083.935    24144072.946
+      3074.531        2395.738          45.000          39.000
+ -16505993.69743 -12820913.71942  22197534.073    22197537.887    22197532.818
+      1065.933         830.597          53.000          46.000
+  -5379291.64443  -4141426.55842  24086837.007    24086845.951    24086834.636
+     -2963.109       -2308.916          47.000          39.000
+ -11676066.61943  -9066765.83742  23022688.438    23022693.378    23022688.095
+     -1195.727        -931.735          48.000          42.000
+ 04  2  1  4 22 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19950082.84943 -15128496.17442  21255825.579    21255830.584    21255824.342
+      -235.185        -183.261          55.000          48.000
+ -18545430.94043 -14389154.83342  21158142.263    21158148.224    21158141.187
+      2191.963        1708.023          53.000          47.000
+ -25181468.21843 -19434518.24442  20533665.068    20533669.634    20533663.867
+      -739.996        -576.620          56.000          51.000
+ -24279678.64343 -18889809.89742  21356186.649    21356192.283    21356184.636
+       318.288         248.017          55.000          48.000
+  -7839153.76543  -6093734.39142  23516359.672    23516364.535    23516357.424
+      1337.572        1042.264          48.000          41.000
+  -6319386.73043  -4913027.71242  24126543.232    24126553.417    24126541.342
+      3066.490        2389.473          45.000          38.000
+ -16537972.05043 -12845831.91342  22191448.558    22191452.706    22191447.438
+      1065.454         830.224          53.000          45.000
+  -5290458.99443  -4072206.59342  24103741.056    24103750.656    24103740.940
+     -2959.551       -2306.144          47.000          39.000
+ -11639945.17843  -9038619.25342  23029562.160    23029566.898    23029559.637
+     -1212.967        -945.169          49.000          42.000
+ 04  2  1  4 23  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19943000.63343 -15122977.58642  21257173.024    21257177.988    21257172.216
+      -236.876        -184.579          55.000          48.000
+ -18610988.49343 -14440238.58042  21145667.033    21145673.325    21145666.001
+      2178.637        1697.639          53.000          47.000
+ -25159028.75043 -19417032.97342  20537935.346    20537939.812    20537933.772
+      -755.881        -588.998          56.000          51.000
+ -24288925.28243 -18897015.05342  21354426.021    21354432.696    21354425.003
+       298.269         232.417          55.000          48.000
+  -7879026.96843  -6124804.41642  23508770.856    23508777.043    23508770.725
+      1320.960        1029.319          47.000          41.000
+  -6411269.52543  -4984624.42342  24109057.456    24109067.525    24109055.932
+      3059.211        2383.801          45.000          38.000
+ -16569935.80243 -12870738.72742  22185366.180    22185370.519    22185365.122
+      1065.435         830.209          53.000          46.000
+  -5201727.17743  -4003065.17642  24120627.106    24120638.593    24120623.970
+     -2955.690       -2303.135          46.000          38.000
+ -11603305.04943  -9010068.52542  23036535.144    23036539.700    23036534.027
+     -1229.810        -958.293          49.000          42.000
+ 04  2  1  4 23 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19935853.78343 -15117408.63142  21258533.800    21258538.451    21258532.138
+      -239.446        -186.581          56.000          49.000
+ -18676133.80643 -14491001.09942  21133270.009    21133276.177    21133268.638
+      2164.474        1686.603          53.000          47.000
+ -25136100.79743 -19399167.06042  20542298.179    20542302.669    20542296.783
+      -772.463        -601.919          56.000          51.000
+ -24297561.57443 -18903744.61042  21352783.613    21352789.197    21352781.642
+       277.612         216.321          55.000          48.000
+  -7918390.23843  -6155477.10542  23501278.681    23501287.223    23501278.696
+      1303.725        1015.890          46.000          41.000
+  -6502912.66343  -5056034.38242  24091617.731    24091628.643    24091617.750
+      3050.606        2377.096          44.000          39.000
+ -16601888.57943 -12895636.98542  22179285.818    22179290.042    22179284.869
+      1064.764         829.686          53.000          46.000
+  -5113101.72843  -3934006.61842  24137490.102    24137500.629    24137487.896
+     -2952.430       -2300.595          46.000          38.000
+ -11566150.51343  -8981116.93342  23043604.313    23043609.190    23043602.740
+     -1246.826        -971.553          48.000          42.000
+ 04  2  1  4 24  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19928640.81043 -15111788.14542  21259905.688    21259910.510    21259904.241
+      -242.106        -188.654          55.000          48.000
+ -18740864.70243 -14541440.69542  21120952.258    21120958.553    21120951.257
+      2150.249        1675.519          54.000          47.000
+ -25112682.87443 -19380919.34842  20546754.524    20546759.063    20546753.126
+      -789.273        -615.018          56.000          51.000
+ -24305584.89743 -18909996.54842  21351256.741    21351262.485    21351255.061
+       256.719         200.041          55.000          48.000
+  -7957241.62043  -6185750.92042  23493887.830    23493893.333    23493885.547
+      1285.791        1001.915          47.000          41.000
+  -6594313.29243  -5127255.35942  24074224.936    24074235.450    24074224.420
+      3041.978        2370.372          45.000          38.000
+ -16633829.51043 -12920526.02142  22173207.941    22173211.858    22173206.961
+      1063.907         829.018          54.000          46.000
+  -5024583.74943  -3865031.81242  24154335.727    24154344.657    24154334.872
+     -2948.983       -2297.909          47.000          38.000
+ -11528481.05743  -8951764.10542  23050772.577    23050777.836    23050771.259
+     -1264.714        -985.491          49.000          42.000
+ 04  2  1  4 24 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19921361.46943 -15106115.94342  21261290.595    21261295.569    21261289.594
+      -243.492        -189.734          55.000          48.000
+ -18805180.46943 -14591556.82142  21108713.102    21108719.675    21108711.566
+      2137.083        1665.259          53.000          47.000
+ -25088774.49843 -19362289.47042  20551304.111    20551308.490    20551302.797
+      -804.932        -627.220          56.000          51.000
+ -24312994.17943 -18915770.00142  21349846.739    21349852.487    21349845.090
+       236.839         184.550          55.000          48.000
+  -7995580.37543  -6215625.27342  23486591.193    23486597.635    23486590.479
+      1269.463         989.192          46.000          41.000
+  -6685469.83543  -5198286.13542  24056879.024    24056888.730    24056876.717
+      3034.241        2364.344          45.000          39.000
+ -16665758.56643 -12945405.80142  22167131.471    22167135.801    22167131.131
+      1064.374         829.382          53.000          46.000
+  -4936175.58743  -3796142.56342  24171158.083    24171170.590    24171160.305
+     -2944.872       -2294.705          46.000          38.000
+ -11490297.25343  -8922010.48442  23058039.150    23058045.017    23058037.864
+     -1281.164        -998.310          49.000          42.000
+ 04  2  1  4 25  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19914017.48643 -15100393.37442  21262688.140    21262693.738    21262687.177
+      -246.524        -192.097          55.000          48.000
+ -18869082.37443 -14641350.45342  21096553.451    21096558.925    21096552.170
+      2122.456        1653.862          54.000          47.000
+ -25064377.10743 -19343278.53442  20555946.760    20555951.572    20555945.346
+      -822.039        -640.550          56.000          51.000
+ -24319790.36443 -18921065.73342  21348553.612    21348559.471    21348551.658
+       215.727         168.099          55.000          48.000
+  -8033407.61943  -6245101.08342  23479393.834    23479399.452    23479391.789
+      1252.027         975.605          48.000          41.000
+  -6776382.80843  -5269127.10642  24039577.424    24039587.769    24039575.954
+      3025.630        2357.634          45.000          39.000
+ -16697677.94143 -12970278.02842  22161057.485    22161061.601    22161056.274
+      1063.098         828.388          53.000          46.000
+  -4847881.42043  -3727342.18342  24187961.441    24187971.973    24187958.283
+     -2941.412       -2292.009          45.000          38.000
+ -11451601.79043  -8891858.17042  23065402.793    23065407.643    23065401.914
+     -1298.923       -1012.148          48.000          42.000
+ 04  2  1  4 25 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19906606.25843 -15094618.41042  21264098.881    21264103.863    21264097.481
+      -248.704        -193.795          55.000          48.000
+ -18932567.25943 -14690819.12542  21084472.290    21084478.075    21084471.088
+      2108.575        1643.045          54.000          47.000
+ -25039488.02643 -19323884.46942  20560682.985    20560687.387    20560681.561
+      -838.314        -653.232          56.000          51.000
+ -24325970.09243 -18925881.09042  21347376.929    21347383.073    21347375.763
+       195.101         152.027          55.000          48.000
+  -8070720.15443  -6274175.77842  23472292.923    23472300.048    23472292.316
+      1234.664         962.076          48.000          41.000
+  -6867048.24843  -5339775.21442  24022325.709    24022336.121    24022324.041
+      3017.465        2351.271          44.000          39.000
+ -16729585.26343 -12995140.87542  22154985.694    22154990.069    22154984.728
+      1062.811         828.164          53.000          46.000
+  -4759700.91743  -3658630.39242  24204739.044    24204751.226    24204739.361
+     -2937.920       -2289.288          46.000          38.000
+ -11412393.09843  -8861305.94642  23072862.910    23072868.678    23072861.189
+     -1315.976       -1025.436          49.000          42.000
+ 04  2  1  4 26  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19899125.29243 -15088789.09842  21265522.354    21265528.077    21265520.897
+      -250.233        -194.987          55.000          49.000
+ -18995631.91343 -14739960.34142  21072472.305    21072477.202    21072470.465
+      2095.388        1632.770          54.000          48.000
+ -25014104.94043 -19304105.46542  20565513.384    20565517.953    20565511.883
+      -854.009        -665.461          56.000          51.000
+ -24331529.98143 -18930213.48042  21346318.959    21346325.005    21346317.701
+       175.318         136.611          55.000          48.000
+  -8107515.28643  -6302847.33742  23465291.889    23465297.586    23465291.511
+      1218.216         949.259          49.000          41.000
+  -6957462.52143  -5410227.60342  24005118.995    24005130.257    24005117.672
+      3009.844        2345.333          45.000          39.000
+ -16761478.56343 -13019992.80042  22148916.108    22148920.664    22148915.974
+      1063.174         828.447          53.000          46.000
+  -4671634.21243  -3590007.23842  24221500.423    24221513.356    24221499.205
+     -2932.558       -2285.110          45.000          38.000
+ -11372669.68343  -8830352.64642  23080423.091    23080427.598    23080420.268
+     -1332.345       -1038.191          48.000          42.000
+ 04  2  1  4 26 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19891581.43043 -15082910.77942  21266958.372    21266963.380    21266956.856
+      -253.000        -197.143          55.000          49.000
+ -19058283.14143 -14788779.41042  21060549.267    21060555.410    21060548.286
+      2080.924        1621.499          54.000          48.000
+ -24988234.68743 -19283946.84742  20570436.209    20570440.858    20570434.840
+      -870.936        -678.651          56.000          51.000
+ -24336476.29243 -18934067.73642  21345378.106    21345384.176    21345376.804
+       154.097         120.076          55.000          48.000
+  -8143799.34143  -6331120.62742  23458386.172    23458393.507    23458387.454
+      1200.505         935.458          48.000          41.000
+  -7047631.20643  -5480488.65442  23987960.707    23987971.602    23987959.141
+      3001.054        2338.484          45.000          39.000
+ -16793364.89443 -13044839.28042  22142848.920    22142852.867    22142847.760
+      1062.285         827.755          53.000          46.000
+  -4583690.58943  -3521479.97542  24238235.915    24238247.963    24238235.704
+     -2929.748       -2282.920          46.000          39.000
+ -11332439.60143  -8799004.54742  23088076.985    23088084.986    23088076.518
+     -1349.909       -1051.877          47.000          41.000
+ 04  2  1  4 27  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19883968.88043 -15076978.94142  21268406.542    21268412.069    21268405.159
+      -255.485        -199.079          55.000          49.000
+ -19120514.56843 -14837271.36142  21048706.913    21048712.752    21048705.766
+      2066.759        1610.461          54.000          48.000
+ -24961871.39143 -19263404.04442  20575452.783    20575457.443    20575451.653
+      -887.556        -691.602          56.000          51.000
+ -24340802.57643 -18937438.86942  21344554.455    21344560.797    21344553.439
+       133.303         103.872          55.000          48.000
+  -8179566.33143  -6358990.99542  23451580.906    23451587.095    23451577.879
+      1182.965         921.791          48.000          41.000
+  -7137547.38443  -5550552.88742  23970849.988    23970861.530    23970848.754
+      2992.434        2331.767          45.000          39.000
+ -16825238.88643 -13069676.15842  22136783.746    22136788.091    22136783.368
+      1061.746         827.335          53.000          46.000
+  -4495867.06443  -3453046.33142  24254948.757    24254960.927    24254946.840
+     -2926.246       -2280.192          46.000          39.000
+ -11291698.27543  -8767258.05542  23095831.238    23095836.967    23095830.126
+     -1367.143       -1065.306          48.000          41.000
+ 04  2  1  4 27 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19876291.23443 -15070996.37242  21269867.566    21269872.765    21269866.533
+      -257.183        -200.402          55.000          49.000
+ -19182329.27443 -14885438.59742  21036943.867    21036949.529    21036942.520
+      2053.382        1600.038          54.000          48.000
+ -24935018.82543 -19242479.99742  20580562.987    20580567.510    20580561.319
+      -903.328        -703.892          56.000          51.000
+ -24344511.75743 -18940329.13942  21343848.905    21343854.834    21343847.401
+       113.115          88.141          55.000          48.000
+  -8214819.23343  -6386460.79242  23444872.484    23444877.740    23444872.384
+      1166.446         908.919          47.000          41.000
+  -7227213.41643  -5620422.24442  23953786.493    23953796.990    23953786.337
+      2984.512        2325.594          45.000          39.000
+ -16857104.32843 -13094506.37242  22130719.644    22130724.076    22130718.142
+      1061.916         827.467          53.000          46.000
+  -4408169.74743  -3384711.03242  24271636.746    24271649.292    24271634.824
+     -2921.240       -2276.291          46.000          39.000
+ -11250450.32143  -8735116.80042  23103680.895    23103684.476    23103678.983
+     -1383.461       -1078.021          48.000          41.000
+ 04  2  1  4 28  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19868543.64443 -15064959.31242  21271341.822    21271347.423    21271340.810
+      -259.244        -202.008          55.000          49.000
+ -19243722.34143 -14933277.27742  21025261.544    21025267.236    21025260.246
+      2039.572        1589.277          54.000          48.000
+ -24907672.13743 -19221170.90942  20585766.894    20585771.494    20585765.632
+      -919.622        -716.588          56.000          51.000
+ -24347598.55143 -18942734.42642  21343260.608    21343267.352    21343259.523
+        92.681          72.219          55.000          48.000
+  -8249552.85043  -6413525.93342  23438262.093    23438267.186    23438261.404
+      1149.585         895.781          48.000          41.000
+  -7316623.28443  -5690092.01042  23936771.202    23936782.272    23936771.074
+      2976.137        2319.068          45.000          40.000
+ -16888957.06043 -13119326.67842  22124658.259    22124662.560    22124657.072
+      1061.711         827.307          53.000          46.000
+  -4320595.91943  -3316471.96742  24288300.094    24288313.102    24288299.025
+     -2917.070       -2273.041          45.000          39.000
+ -11208692.02243  -8702577.89042  23111627.251    23111632.361    23111625.760
+     -1400.258       -1091.110          48.000          41.000
+ 04  2  1  4 28 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19860726.28743 -15058867.87642  21272829.490    21272834.361    21272828.321
+      -262.246        -204.347          55.000          49.000
+ -19304693.46343 -14980787.18042  21013658.959    21013665.261    21013657.624
+      2024.617        1577.624          54.000          48.000
+ -24879831.35943 -19199476.81642  20591064.737    20591069.183    20591063.264
+      -936.874        -730.032          56.000          51.000
+ -24350062.45143 -18944654.33942  21342792.169    21342798.568    21342790.796
+        71.250          55.519          55.000          48.000
+  -8283767.41243  -6440186.64842  23431751.858    23431758.581    23431751.374
+      1131.453         881.652          48.000          41.000
+  -7405776.18743  -5759561.50842  23919806.598    23919816.786    23919804.367
+      2966.538        2311.588          45.000          39.000
+ -16920797.53043 -13144137.42742  22118599.099    22118602.877    22118598.415
+      1060.575         826.422          53.000          46.000
+  -4233148.32743  -3248331.26642  24304941.875    24304953.200    24304941.111
+     -2913.416       -2270.194          46.000          39.000
+ -11166424.85643  -8669642.45642  23119670.609    23119674.985    23119669.139
+     -1417.977       -1104.917          49.000          42.000
+ 04  2  1  4 29  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19852845.58743 -15052727.09142  21274328.704    21274334.800    21274327.578
+      -263.197        -205.088          55.000          49.000
+ -19365248.80843 -15027973.10242  21002135.056    21002141.084    21002133.942
+      2012.167        1567.922          54.000          48.000
+ -24851503.32943 -19177403.04742  20596455.458    20596459.760    20596453.903
+      -951.781        -741.647          56.000          51.000
+ -24351909.41643 -18946093.52342  21342441.180    21342446.930    21342439.753
+        51.965          40.492          55.000          48.000
+  -8317469.03243  -6466447.66642  23425337.896    23425345.609    23425336.494
+      1115.583         869.285          48.000          41.000
+  -7494677.27543  -5828834.84942  23902888.522    23902900.310    23902887.253
+      2959.688        2306.250          43.000          39.000
+ -16952632.48043 -13168943.87642  22112541.300    22112545.049    22112540.486
+      1061.386         827.054          53.000          46.000
+  -4145836.15143  -3180296.07642  24321557.769    24321569.197    24321557.355
+     -2907.349       -2265.467          47.000          39.000
+ -11123656.45643  -8636316.47242  23127808.573    23127816.216    23127805.893
+     -1433.338       -1116.887          48.000          42.000
+ 04  2  1  4 29 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19844892.98043 -15046530.27642  21275842.538    21275847.818    21275841.185
+      -265.984        -207.260          55.000          49.000
+ -19425379.57143 -15074828.18842  20990692.785    20990698.635    20990691.516
+      1997.721        1556.666          54.000          48.000
+ -24822679.63143 -19154943.04342  20601940.115    20601944.847    20601939.018
+      -968.633        -754.779          56.000          51.000
+ -24353130.38343 -18947044.91142  21342208.637    21342214.299    21342207.136
+        30.687          23.912          55.000          48.000
+  -8350648.91443  -6492302.12642  23419023.475    23419031.314    23419023.218
+      1097.651         855.312          48.000          41.000
+  -7583317.12743  -5897904.59242  23886020.984    23886031.628    23886019.233
+      2950.751        2299.286          44.000          39.000
+ -16984453.67243 -13193739.59942  22106485.615    22106490.359    22106485.092
+      1060.851         826.637          53.000          46.000
+  -4058653.00043  -3112361.43042  24338149.133    24338159.609    24338148.131
+     -2903.710       -2262.631          46.000          39.000
+ -11080379.71343  -8602594.34242  23136042.898    23136048.605    23136042.621
+     -1450.505       -1130.264          48.000          41.000
+ 04  2  1  4 30  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19836872.72243 -15040280.73842  21277368.897    21277374.127    21277367.612
+      -268.454        -209.185          55.000          49.000
+ -19485089.61543 -15121355.43642  20979330.546    20979336.425    20979328.925
+      1983.365        1545.479          54.000          48.000
+ -24793364.82343 -19132100.34942  20607518.782    20607523.447    20607517.521
+      -985.357        -767.811          56.000          51.000
+ -24353729.23043 -18947511.53142  21342094.725    21342100.783    21342093.048
+         9.630           7.504          55.000          48.000
+  -8383310.95143  -6517753.06642  23412807.464    23412814.515    23412806.859
+      1080.113         841.646          46.000          40.000
+  -7671698.69143  -5966773.09642  23869203.209    23869211.895    23869201.131
+      2941.776        2292.293          44.000          39.000
+ -17016265.89643 -13218528.33442  22100431.954    22100436.663    22100431.093
+      1060.182         826.116          53.000          46.000
+  -3971605.86343  -3044532.78542  24354712.348    24354724.301    24354710.005
+     -2899.257       -2259.161          45.000          38.000
+ -11036600.02443  -8568480.31842  23144374.958    23144380.464    23144375.139
+     -1467.661       -1143.632          49.000          42.000
+ 04  2  1  4 30 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19828782.90443 -15033976.99942  21278908.166    21278913.288    21278906.922
+      -271.037        -211.198          55.000          49.000
+ -19544376.87943 -15167553.25842  20968048.196    20968053.738    20968047.016
+      1969.163        1534.413          54.000          48.000
+ -24763557.12343 -19108873.58242  20613191.217    20613195.476    20613189.654
+     -1002.068        -780.832          56.000          51.000
+ -24353703.40543 -18947491.38642  21342099.133    21342105.816    21342097.931
+       -11.514          -8.972          55.000          48.000
+  -8415453.37043  -6542799.09842  23406692.391    23406697.657    23406692.166
+      1062.782         828.142          47.000          40.000
+  -7759819.15943  -6035438.13142  23852434.231    23852443.323    23852432.793
+      2933.134        2285.559          44.000          39.000
+ -17048067.51043 -13243308.80542  22094380.553    22094384.595    22094379.889
+      1059.585         825.651          53.000          46.000
+  -3884695.37543  -2976810.61842  24371252.159    24371262.324    24371250.775
+     -2894.831       -2255.712          45.000          38.000
+ -10992316.80943  -8533973.93142  23152801.355    23152806.965    23152801.033
+     -1484.591       -1156.824          49.000          42.000
+ 04  2  1  4 31  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19820625.20843 -15027620.37042  21280460.452    21280465.913    21280459.449
+      -273.021        -212.744          55.000          48.000
+ -19603242.86743 -15213422.81442  20956846.474    20956851.923    20956845.500
+      1955.259        1523.578          54.000          48.000
+ -24733258.39843 -19085264.20042  20618956.423    20618961.349    20618954.968
+     -1018.033        -793.272          56.000          51.000
+ -24353054.57643 -18946985.79042  21342223.792    21342229.740    21342222.091
+       -32.167         -25.065          55.000          48.000
+  -8447077.60743  -6567441.36042  23400672.720    23400681.093    23400674.443
+      1045.448         814.635          46.000          41.000
+  -7847679.07943  -6103900.14842  23835713.864    23835724.478    23835712.958
+      2924.412        2278.763          44.000          39.000
+ -17079860.52943 -13268082.57642  22088330.252    22088334.617    22088329.548
+      1059.680         825.725          53.000          46.000
+  -3797925.66543  -2909198.16442  24387764.483    24387775.607    24387762.899
+     -2889.973       -2251.927          47.000          39.000
+ -10947533.10143  -8499077.56242  23161323.701    23161330.659    23161322.753
+     -1501.036       -1169.638          48.000          42.000
+ 04  2  1  4 31 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19812396.30043 -15021208.24342  21282026.409    21282032.158    21282025.170
+      -274.798        -214.128          55.000          48.000
+ -19661684.10643 -15258961.40242  20945725.769    20945731.391    20945724.259
+      1941.896        1513.166          54.000          48.000
+ -24702465.56043 -19061269.79542  20624816.457    20624821.096    20624814.856
+     -1033.972        -805.692          56.000          51.000
+ -24351779.11143 -18945991.90542  21342465.681    21342472.296    21342464.214
+       -52.477         -40.891          55.000          48.000
+  -8478180.39943  -6591677.31542  23394755.862    23394762.607    23394755.924
+      1028.532         801.454          48.000          41.000
+  -7935274.23643  -6172155.87342  23819045.564    23819055.491    23819044.250
+      2916.346        2272.477          46.000          39.000
+ -17111642.19343 -13292847.49542  22082282.093    22082286.578    22082281.654
+      1059.778         825.801          53.000          46.000
+  -3711296.08243  -2841694.89342  24404249.692    24404260.124    24404248.603
+     -2884.513       -2247.672          47.000          39.000
+ -10902247.02843  -8463789.73242  23169941.844    23169946.962    23169940.988
+     -1517.200       -1182.234          49.000          42.000
+ 04  2  1  4 32  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19804098.29043 -15014742.27242  21283604.955    21283611.197    21283603.618
+      -277.277        -216.060          55.000          48.000
+ -19719702.35143 -15304170.38442  20934684.468    20934690.753    20934683.544
+      1927.383        1501.857          54.000          48.000
+ -24671181.15243 -19036892.34442  20630769.809    20630774.110    20630768.565
+     -1050.482        -818.557          56.000          51.000
+ -24349878.54943 -18944510.92742  21342826.917    21342833.812    21342825.700
+       -73.232         -57.064          55.000          48.000
+  -8508763.77543  -6615508.51442  23388936.667    23388941.153    23388935.571
+      1011.211         787.957          48.000          41.000
+  -8022605.55443  -6240206.02742  23802426.264    23802436.954    23802425.189
+      2906.535        2264.832          45.000          39.000
+ -17143414.63043 -13317605.23242  22076236.708    22076240.738    22076235.658
+      1059.486         825.574          54.000          46.000
+  -3624810.79743  -2774304.06042  24420707.472    24420718.210    24420706.308
+     -2879.810       -2244.008          47.000          39.000
+ -10856462.02843  -8428113.13642  23178654.075    23178659.369    23178652.555
+     -1533.870       -1195.223          48.000          42.000
+ 04  2  1  4 32 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19795729.79543 -15008221.37042  21285198.563    21285203.366    21285197.095
+      -280.196        -218.334          55.000          48.000
+ -19777296.17943 -15349048.64542  20923724.991    20923731.168    20923723.983
+      1912.732        1490.441          54.000          48.000
+ -24639404.22443 -19012131.11342  20636816.741    20636821.212    20636815.422
+     -1067.555        -831.861          56.000          51.000
+ -24347351.31143 -18942541.63242  21343308.237    21343314.147    21343306.632
+       -94.922         -73.965          55.000          48.000
+  -8538826.04543  -6638933.66642  23383214.683    23383221.895    23383213.843
+       993.415         774.090          48.000          41.000
+  -8109670.89943  -6308048.91942  23785858.869    23785867.568    23785857.544
+      2897.632        2257.895          45.000          39.000
+ -17175177.12043 -13342355.20142  22070191.957    22070196.842    22070191.285
+      1058.485         824.794          53.000          46.000
+  -3538470.88943  -2707026.51142  24437137.682    24437149.167    24437136.892
+     -2875.730       -2240.828          47.000          40.000
+ -10810178.36143  -8392047.94442  23187461.378    23187467.036    23187459.231
+     -1551.247       -1208.764          48.000          41.000
+ 04  2  1  4 33  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19787290.89043 -15001645.61742  21286803.454    21286809.046    21286802.081
+      -282.392        -220.046          54.000          48.000
+ -19834465.57243 -15393596.18842  20912846.156    20912851.850    20912845.214
+      1898.642        1479.461          54.000          48.000
+ -24607135.02243 -18986986.29342  20642957.421    20642961.793    20642956.071
+     -1083.781        -844.505          56.000          51.000
+ -24344197.44843 -18940084.06042  21343908.373    21343914.674    21343907.208
+      -115.531         -90.024          55.000          48.000
+  -8568367.54443  -6661953.03442  23377595.407    23377601.136    23377594.774
+       976.041         760.551          49.000          42.000
+  -8196469.08843  -6375683.66542  23769343.530    23769350.905    23769340.412
+      2888.886        2251.080          46.000          40.000
+ -17206930.01443 -13367097.71242  22064149.151    22064153.952    22064148.912
+      1058.220         824.587          53.000          46.000
+  -3452279.79143  -2639864.92442  24453538.922    24453550.153    24453535.788
+     -2870.409       -2236.682          47.000          39.000
+ -10763397.54243  -8355595.39642  23196364.099    23196368.670    23196363.650
+     -1567.561       -1221.476          48.000          41.000
+ 04  2  1  4 33 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19778780.93943 -14995014.50242  21288423.241    21288428.421    21288421.907
+      -284.622        -221.783          55.000          48.000
+ -19891209.67543 -15437812.33042  20902048.090    20902053.559    20902046.508
+      1884.673        1468.576          54.000          48.000
+ -24574373.20743 -18961457.62342  20649191.059    20649196.144    20649189.923
+     -1099.987        -857.133          56.000          51.000
+ -24340415.92743 -18937137.40242  21344627.584    21344633.811    21344626.467
+      -136.329        -106.230          55.000          48.000
+  -8597387.66243  -6684566.11942  23372072.191    23372077.967    23372071.113
+       958.991         747.266          48.000          41.000
+  -8282998.77543  -6443109.17842  23752874.665    23752884.877    23752873.766
+      2880.042        2244.189          46.000          40.000
+ -17238672.88143 -13391832.39742  22058109.164    22058113.803    22058108.447
+      1058.123         824.511          53.000          46.000
+  -3366238.17243  -2572819.81642  24469911.875    24469923.565    24469910.875
+     -2865.270       -2232.678          47.000          39.000
+ -10716120.27043  -8318755.98042  23205360.533    23205365.226    23205359.515
+     -1584.010       -1234.293          47.000          41.000
+ 04  2  1  4 34  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19770197.30243 -14988325.96742  21290056.584    21290061.762    21290055.428
+      -287.102        -223.716          55.000          48.000
+ -19947526.16443 -15481695.25542  20891331.837    20891336.800    20891330.257
+      1870.449        1457.493          54.000          48.000
+ -24541117.07843 -18935543.78142  20655520.047    20655524.497    20655518.620
+     -1116.486        -869.989          56.000          51.000
+ -24336004.18843 -18933699.65942  21345467.895    21345473.469    21345466.458
+      -157.274        -122.551          55.000          48.000
+  -8625883.88243  -6706770.97342  23366647.848    23366654.826    23366647.664
+       941.513         733.646          47.000          41.000
+  -8369256.55043  -6510322.84642  23736459.682    23736469.776    23736458.959
+      2871.129        2237.243          44.000          40.000
+ -17270403.77543 -13416557.76542  22052070.912    22052075.252    22052070.330
+      1057.812         824.269          53.000          46.000
+  -3280346.70843  -2505891.71642  24486256.330    24486270.490    24486255.562
+     -2860.001       -2228.572          47.000          39.000
+ -10668345.73643  -8281529.08942  23214452.041    23214455.956    23214450.728
+     -1600.459       -1247.111          47.000          41.000
+ 04  2  1  4 34 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19761543.82643 -14981583.01442  21291703.526    21291708.407    21291702.067
+      -290.231        -226.154          55.000          48.000
+ -20003418.73243 -15525247.86542  20880695.490    20880700.366    20880694.088
+      1855.310        1445.696          54.000          48.000
+ -24507370.80043 -18909248.00542  20661941.680    20661946.381    20661940.426
+     -1133.624        -883.343          56.000          51.000
+ -24330965.88843 -18929773.70542  21346426.339    21346432.451    21346424.803
+      -179.095        -139.554          55.000          48.000
+  -8653860.25643  -6728570.75342  23361323.484    23361331.191    23361323.773
+       923.297         719.452          47.000          41.000
+  -8455245.17043  -6577326.76942  23720097.851    23720107.724    23720095.061
+      2861.053        2229.392          45.000          40.000
+ -17302126.80643 -13441277.00342  22046034.410    22046038.489    22046033.328
+      1056.713         823.413          54.000          46.000
+  -3194611.76043  -2439085.58142  24502571.783    24502584.416    24502570.847
+     -2855.951       -2225.416          47.000          39.000
+ -10620079.24543  -8243918.87642  23223635.422    23223641.449    23223635.207
+     -1617.659       -1260.513          47.000          41.000
+ 04  2  1  4 35  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19752817.09243 -14974782.96542  21293363.810    21293369.636    21293362.659
+      -291.779        -227.360          55.000          48.000
+ -20058883.87643 -15568467.40442  20870140.945    20870146.217    20870139.637
+      1842.040        1435.356          54.000          48.000
+ -24473131.22343 -18882567.83842  20668457.648    20668462.056    20668456.188
+     -1149.194        -895.476          56.000          51.000
+ -24325297.72243 -18925356.93942  21347505.121    21347510.290    21347503.188
+      -199.058        -155.110          55.000          48.000
+  -8681313.54743  -6749962.94742  23356100.889    23356107.559    23356100.666
+       906.612         706.451          47.000          41.000
+  -8540960.36843  -6644117.63742  23703786.213    23703796.083    23703783.919
+      2853.117        2223.208          44.000          39.000
+ -17333838.82343 -13465987.66342  22039999.968    22040003.531    22039999.349
+      1057.193         823.787          54.000          46.000
+  -3109032.20243  -2372400.53742  24518857.567    24518870.234    24518856.971
+     -2849.752       -2220.586          47.000          39.000
+ -10571318.97843  -8205923.87542  23232916.740    23232920.762    23232914.098
+     -1633.184       -1272.611          48.000          41.000
+ 04  2  1  4 35 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19744017.44243 -14967926.10742  21295038.601    21295043.766    21295037.468
+      -295.517        -230.273          55.000          48.000
+ -20113921.88643 -15611354.11542  20859666.716    20859672.304    20859665.816
+      1826.534        1423.273          54.000          48.000
+ -24438399.20743 -18855503.95542  20675066.585    20675071.228    20675064.987
+     -1166.976        -909.332          56.000          51.000
+ -24319000.01143 -18920449.61542  21348703.260    21348709.197    21348701.826
+      -221.395        -172.515          55.000          48.000
+  -8708244.22043  -6770947.89542  23350977.431    23350982.438    23350975.559
+       888.164         692.076          49.000          42.000
+  -8626401.78243  -6710695.15842  23687526.588    23687537.535    23687526.657
+      2842.478        2214.918          45.000          39.000
+ -17365540.57343 -13490690.32042  22033967.193    22033971.199    22033966.566
+      1055.549         822.506          54.000          46.000
+  -3023610.74243  -2305838.70542  24535113.745    24535124.636    24535111.728
+     -2845.645       -2217.386          48.000          39.000
+ -10522066.95143  -8167545.68142  23242287.681    23242291.656    23242287.664
+     -1651.038       -1286.523          48.000          41.000
+ 04  2  1  4 36  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19735146.27843 -14961013.52242  21296726.657    21296732.195    21296725.548
+      -296.872        -231.329          55.000          48.000
+ -20168534.34843 -15653909.23142  20849274.185    20849280.170    20849273.407
+      1813.350        1413.000          54.000          48.000
+ -24403176.86843 -18828058.00942  20681769.305    20681773.917    20681767.845
+     -1182.292        -921.266          56.000          51.000
+ -24312074.08143 -18915052.77642  21350021.164    21350027.483    21350019.888
+      -241.343        -188.059          55.000          48.000
+  -8734653.88243  -6791526.87642  23345950.893    23345956.236    23345949.854
+       871.536         679.119          48.000          41.000
+  -8711569.69543  -6777059.56842  23671321.550    23671329.166    23671319.521
+      2834.285        2208.534          46.000          40.000
+ -17397233.73243 -13515386.29442  22027935.156    22027939.876    22027935.214
+      1056.318         823.105          53.000          46.000
+  -2938351.31243  -2239403.13342  24551337.229    24551349.416    24551336.684
+     -2839.268       -2212.417          47.000          39.000
+ -10472326.14843  -8128786.63442  23251752.618    23251757.782    23251750.676
+     -1666.171       -1298.315          48.000          41.000
+ 04  2  1  4 36 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19726203.73943 -14954045.32242  21298428.392    21298433.586    21298427.173
+      -298.563        -232.646          55.000          48.000
+ -20222721.42043 -15696132.87642  20838963.161    20838969.085    20838962.368
+      1799.913        1402.530          54.000          48.000
+ -24367464.79143 -18800230.44842  20688564.896    20688569.820    20688563.580
+     -1197.725        -933.292          56.000          51.000
+ -24304520.22243 -18909166.65042  21351458.453    21351465.180    21351457.267
+      -261.466        -203.740          54.000          48.000
+  -8760542.89043  -6811700.13242  23341022.863    23341029.826    23341023.253
+       855.319         666.482          48.000          41.000
+  -8796463.78343  -6843210.60742  23655166.167    23655174.543    23655163.997
+      2825.973        2202.057          46.000          40.000
+ -17428918.79643 -13540075.94642  22021906.779    22021911.009    22021906.329
+      1056.846         823.516          54.000          46.000
+  -2853256.65043  -2173095.96142  24567531.732    24567544.261    24567531.423
+     -2832.840       -2207.408          48.000          39.000
+ -10422098.46943  -8089648.20542  23261310.378    23261316.281    23261310.772
+     -1681.668       -1310.391          48.000          41.000
+ 04  2  1  4 37  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19717182.42643 -14947015.74142  21300145.412    21300150.623    21300144.065
+      -301.968        -235.300          55.000          48.000
+ -20276475.67243 -15738019.26042  20828734.298    20828740.119    20828733.264
+      1784.744        1390.710          54.000          48.000
+ -24331256.21543 -18772016.00442  20695455.241    20695460.069    20695453.606
+     -1215.034        -946.780          56.000          51.000
+ -24296331.08943 -18902785.51442  21353016.283    21353023.043    21353015.269
+      -283.326        -220.773          54.000          48.000
+  -8785904.11043  -6831462.14542  23336198.694    23336203.868    23336198.411
+       836.524         651.837          48.000          41.000
+  -8881075.49443  -6909141.60042  23639062.753    23639074.790    23639062.826
+      2815.729        2194.075          46.000          40.000
+ -17460588.62943 -13564753.73242  22015879.979    22015884.546    22015879.915
+      1055.603         822.548          54.000          46.000
+  -2768321.86343  -2106913.38242  24583693.813    24583705.630    24583691.984
+     -2828.234       -2203.819          48.000          39.000
+ -10371378.21643  -8050125.95342  23270962.571    23270967.844    23270961.727
+     -1698.677       -1323.644          48.000          41.000
+ 04  2  1  4 37 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19708090.16043 -14939930.87342  21301874.858    21301880.505    21301873.867
+      -303.799        -236.726          55.000          48.000
+ -20329805.37843 -15779574.83242  20818585.599    20818591.204    20818584.461
+      1771.268        1380.209          54.000          48.000
+ -24294559.88743 -18743421.50242  20702438.229    20702442.867    20702436.877
+     -1230.908        -959.149          56.000          50.000
+ -24287514.91143 -18895915.76942  21354694.228    21354701.145    21354692.769
+      -303.665        -236.622          54.000          48.000
+  -8810745.65743  -6850819.20042  23331471.948    23331477.615    23331469.807
+       819.950         638.922          48.000          41.000
+  -8965412.18343  -6974858.29542  23623015.083    23623023.934    23623014.249
+      2807.114        2187.362          45.000          40.000
+ -17492252.00143 -13589426.48742  22009854.582    22009858.832    22009853.629
+      1055.932         822.804          54.000          46.000
+  -2683557.48843  -2040863.59142  24599824.103    24599836.455    24599823.347
+     -2822.105       -2199.043          48.000          39.000
+ -10320175.10543  -8010227.42342  23280705.300    23280711.339    23280704.778
+     -1714.175       -1335.721          48.000          41.000
+ 04  2  1  4 38  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19698921.49543 -14932786.46042  21303620.282    21303625.093    21303618.748
+      -306.640        -238.940          55.000          48.000
+ -20382705.02743 -15820795.29842  20808519.152    20808524.804    20808518.003
+      1756.318        1368.559          54.000          48.000
+ -24257370.86543 -18714443.07342  20709515.484    20709520.198    20709513.941
+     -1247.514        -972.089          56.000          51.000
+ -24278066.28543 -18888553.21942  21356492.955    21356498.445    21356491.256
+      -325.183        -253.389          55.000          48.000
+  -8835062.90343  -6869767.68342  23326844.320    23326849.504    23326841.568
+       802.335         625.196          48.000          41.000
+  -9049467.59943  -7040355.82842  23607019.625    23607028.158    23607017.920
+      2797.163        2179.608          45.000          39.000
+ -17523903.45443 -13614089.95142  22003831.782    22003835.922    22003830.827
+      1055.131         822.180          54.000          46.000
+  -2598960.11743  -1974943.92542  24615922.627    24615935.338    24615920.809
+     -2816.851       -2194.949          48.000          39.000
+ -10268485.35543  -7969949.72642  23290542.913    23290548.489    23290541.367
+     -1730.909       -1348.760          49.000          42.000
+ 04  2  1  4 38 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19689679.73943 -14925585.09242  21305378.125    21305384.391    21305376.476
+      -309.363        -241.062          55.000          48.000
+ -20435178.22143 -15861683.45042  20798533.413    20798539.148    20798532.750
+      1741.799        1357.246          55.000          48.000
+ -24219693.03743 -18685083.76942  20716685.282    20716689.964    20716683.954
+     -1263.970        -984.912          56.000          51.000
+ -24267988.64543 -18880700.52442  21358410.856    21358416.212    21358409.290
+      -346.404        -269.925          55.000          48.000
+  -8858859.06643  -6888310.17442  23322315.810    23322322.692    23322313.973
+       784.536         611.327          48.000          41.000
+  -9133244.19843  -7105636.07142  23591076.132    23591086.743    23591075.777
+      2787.662        2172.204          45.000          40.000
+ -17555546.55043 -13638746.89842  21997810.284    21997814.744    21997809.547
+      1054.587         821.756          54.000          46.000
+  -2514535.78743  -1909159.12042  24631989.406    24632001.209    24631986.739
+     -2811.192       -2190.539          48.000          39.000
+ -10216314.13743  -7929296.85042  23300470.354    23300474.802    23300469.044
+     -1747.099       -1361.376          49.000          42.000
+ 04  2  1  4 39  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19680348.18843 -14918313.76042  21307154.417    21307160.212    21307153.475
+      -311.891        -243.032          54.000          48.000
+ -20487208.56643 -15902226.53342  20788632.189    20788638.632    20788631.546
+      1727.608        1346.188          54.000          48.000
+ -24181510.65143 -18655331.29642  20723951.367    20723955.826    20723949.806
+     -1280.495        -997.788          56.000          51.000
+ -24257265.69943 -18872344.99242  21360451.109    21360456.581    21360449.337
+      -367.541        -286.395          55.000          48.000
+  -8882118.18543  -6906434.17842  23317890.229    23317897.683    23317888.095
+       766.936         597.612          48.000          42.000
+  -9216724.70743  -7170685.62342  23575190.934    23575200.795    23575189.722
+      2778.245        2164.866          46.000          40.000
+ -17587165.15443 -13663384.75342  21991793.134    21991798.075    21991792.835
+      1054.260         821.501          54.000          46.000
+  -2430270.24743  -1843498.04042  24648024.255    24648036.471    24648022.062
+     -2805.565       -2186.154          47.000          39.000
+ -10163646.66343  -7888257.29142  23310492.061    23310499.229    23310491.086
+     -1763.194       -1373.917          48.000          41.000
+ 04  2  1  4 39 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19670953.63043 -14910993.32542  21308942.464    21308947.692    21308940.938
+      -314.175        -244.812          55.000          48.000
+ -20538822.90343 -15942445.45542  20778810.867    20778816.234    20778809.805
+      1713.638        1335.302          55.000          48.000
+ -24142851.07643 -18625206.99142  20731307.652    20731312.709    20731306.374
+     -1296.507       -1010.265          56.000          51.000
+ -24245924.46043 -18863507.67442  21362609.384    21362614.649    21362607.826
+      -388.336        -302.599          55.000          48.000
+  -8904867.08443  -6924160.61442  23313560.833    23313566.867    23313559.712
+       749.873         584.317          48.000          42.000
+  -9299935.09243  -7235524.66542  23559356.481    23559366.149    23559355.182
+      2768.958        2157.630          46.000          40.000
+ -17618786.21943 -13688024.54242  21985776.064    21985780.396    21985775.423
+      1054.169         821.430          54.000          46.000
+  -2346192.79043  -1777983.55142  24664024.815    24664036.192    24664022.174
+     -2799.258       -2181.240          46.000          38.000
+ -10110511.49243  -7846853.27542  23320602.911    23320610.192    23320601.773
+     -1778.921       -1386.172          48.000          41.000
+ 04  2  1  4 40  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19661479.90843 -14903611.21142  21310744.601    21310750.606    21310743.587
+      -316.968        -246.988          55.000          48.000
+ -20590005.38943 -15982327.86942  20769071.284    20769076.657    20769069.689
+      1698.912        1323.828          55.000          48.000
+ -24103699.04243 -18594698.95642  20738758.566    20738763.024    20738756.754
+     -1313.505       -1023.510          56.000          50.000
+ -24233949.09743 -18854176.23642  21364888.177    21364894.182    21364886.841
+      -409.733        -319.272          55.000          48.000
+  -8927090.41543  -6941477.49242  23309332.717    23309338.617    23309332.975
+       731.798         570.232          49.000          42.000
+  -9382858.68943  -7300140.28742  23543576.378    23543586.142    23543576.105
+      2759.321        2150.120          47.000          40.000
+ -17650393.99943 -13712653.96342  21979762.190    21979766.252    21979760.946
+      1053.353         820.795          54.000          47.000
+  -2262289.85743  -1712605.08642  24679989.249    24680003.549    24679988.396
+     -2793.883       -2177.052          45.000          38.000
+ -10056894.35743  -7805073.71842  23330806.996    23330812.689    23330805.072
+     -1795.420       -1399.028          48.000          41.000
+ 04  2  1  4 40 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19651931.59443 -14896170.97342  21312561.709    21312567.339    21312560.458
+      -318.858        -248.461          55.000          48.000
+ -20640760.74143 -16021877.46042  20759413.156    20759418.260    20759411.915
+      1685.257        1313.187          55.000          49.000
+ -24064059.63443 -18563811.14542  20746301.204    20746306.077    20746299.950
+     -1328.735       -1035.378          56.000          50.000
+ -24221344.47843 -18844354.47342  21367286.208    21367292.627    21367285.156
+      -429.935        -335.014          54.000          48.000
+  -8948793.09443  -6958388.68842  23305201.087    23305207.229    23305199.776
+       715.375         557.435          48.000          41.000
+  -9465499.28243  -7364535.36942  23527851.320    23527859.002    23527849.521
+      2750.651        2143.364          47.000          40.000
+ -17681993.26143 -13737276.75442  21973748.830    21973753.046    21973747.699
+      1053.865         821.194          54.000          47.000
+  -2178568.33243  -1647368.00242  24695921.916    24695935.643    24695920.592
+     -2786.913       -2171.620          46.000          38.000
+ -10002801.62743  -7762923.55842  23341100.994    23341106.806    23341099.622
+     -1810.290       -1410.615          48.000          42.000
+ 04  2  1  4 41  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19642305.17143 -14888669.87242  21314393.601    21314399.043    21314392.401
+      -322.802        -251.534          55.000          48.000
+ -20691085.58643 -16061091.59342  20749836.021    20749841.587    20749835.126
+      1669.707        1301.070          54.000          48.000
+ -24023930.34643 -18532541.61042  20753937.731    20753942.528    20753936.396
+     -1346.293       -1049.059          56.000          50.000
+ -24208107.30943 -18834039.80342  21369805.488    21369812.088    21369804.347
+      -452.310        -352.449          54.000          48.000
+  -8969972.04043  -6974891.77242  23301172.001    23301177.320    23301170.614
+       696.509         542.734          49.000          42.000
+  -9547852.61943  -7428706.61442  23512180.076    23512187.343    23512178.350
+      2739.768        2134.884          47.000          40.000
+ -17713580.83343 -13761890.43342  21967737.372    21967742.136    21967736.210
+      1052.228         819.918          54.000          47.000
+  -2095026.82943  -1582271.21342  24711818.199    24711833.498    24711818.028
+     -2782.418       -2168.118          45.000          38.000
+  -9948231.69643  -7720401.56542  23351486.095    23351491.887    23351484.159
+     -1827.598       -1424.102          49.000          42.000
+ 04  2  1  4 41 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19632604.10143 -14881110.60042  21316239.975    21316245.461    21316238.661
+      -323.732        -252.259          55.000          48.000
+ -20740983.86143 -16099973.32542  20740341.082    20740346.276    20740339.472
+      1656.963        1291.140          55.000          48.000
+ -23983315.57643 -18500893.77742  20761666.422    20761671.239    20761665.011
+     -1361.019       -1060.534          56.000          50.000
+ -24194241.58343 -18823235.35342  21372443.655    21372449.998    21372442.685
+      -471.765        -367.609          54.000          48.000
+  -8990631.35243  -6990989.99142  23297239.840    23297245.931    23297240.460
+       680.874         530.551          48.000          41.000
+  -9629921.65243  -7492656.30442  23496561.519    23496570.905    23496559.908
+      2731.710        2128.605          47.000          40.000
+ -17745161.01743 -13786498.36742  21961727.659    21961732.180    21961726.740
+      1053.335         820.781          54.000          47.000
+  -2011671.58743  -1517319.56642  24727680.781    24727697.364    24727681.184
+     -2774.636       -2162.054          45.000          37.000
+  -9893189.84243  -7677511.85642  23361959.550    23361965.479    23361958.532
+     -1841.718       -1435.105          48.000          42.000
+ 04  2  1  4 42  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19622821.63543 -14873487.90442  21318101.324    21318106.418    21318100.257
+      -327.137        -254.912          55.000          48.000
+ -20790449.18843 -16138517.69442  20730927.716    20730933.442    20730926.885
+      1641.962        1279.451          55.000          48.000
+ -23942209.55243 -18468863.14542  20769488.798    20769493.456    20769487.415
+     -1378.047       -1073.803          56.000          50.000
+ -24179741.26843 -18811936.39542  21375203.626    21375209.592    21375201.820
+      -493.524        -384.564          55.000          48.000
+  -9010765.14143  -7006678.65842  23293408.387    23293415.233    23293407.132
+       662.349         516.116          48.000          41.000
+  -9711699.08743  -7556378.78542  23480999.612    23481009.861    23480997.544
+      2721.091        2120.331          46.000          40.000
+ -17776726.70443 -13811094.99142  21955721.137    21955725.231    21955720.113
+      1052.356         820.018          54.000          47.000
+  -1928498.40543  -1452509.79242  24743509.433    24743524.630    24743508.150
+     -2768.991       -2157.655          45.000          38.000
+  -9837671.63643  -7634250.93742  23372524.775    23372528.637    23372523.686
+     -1858.190       -1447.940          48.000          41.000
+ 04  2  1  4 42 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19612961.07643 -14865804.36342  21319978.096    21319982.756    21319976.572
+      -330.482        -257.518          55.000          48.000
+ -20839485.32743 -16176727.63142  20721596.229    20721601.863    20721595.099
+      1626.837        1267.665          54.000          48.000
+ -23900616.45443 -18436452.97642  20777404.034    20777408.444    20777402.718
+     -1395.117       -1087.104          56.000          51.000
+ -24164610.27643 -18800146.01342  21378082.982    21378088.653    21378081.527
+      -515.455        -401.653          55.000          48.000
+  -9030377.11043  -7021960.72142  23289677.164    23289683.504    23289675.961
+       644.515         502.219          49.000          42.000
+  -9793187.61943  -7619876.15842  23465491.950    23465501.459    23465491.188
+      2710.795        2112.308          45.000          40.000
+ -17808281.76143 -13835683.34142  21949716.345    21949721.247    21949715.914
+      1051.141         819.071          54.000          47.000
+  -1845512.79643  -1387846.18342  24759301.617    24759315.918    24759300.878
+     -2763.716       -2153.545          45.000          38.000
+  -9781682.17643  -7590622.82942  23383178.273    23383184.438    23383176.986
+     -1874.742       -1460.838          47.000          41.000
+ 04  2  1  4 43  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19603018.35843 -14858056.80742  21321870.202    21321874.979    21321868.992
+      -332.852        -259.365          55.000          48.000
+ -20888088.55443 -16214600.24442  20712347.441    20712353.034    20712346.677
+      1612.743        1256.683          54.000          48.000
+ -23858533.20443 -18403660.86342  20785412.306    20785416.733    20785410.533
+     -1411.028       -1099.502          56.000          51.000
+ -24148845.05243 -18787861.41842  21381082.694    21381088.871    21381081.338
+      -536.210        -417.826          54.000          48.000
+  -9049463.98843  -7036833.62842  23286043.983    23286049.785    23286043.155
+       627.158         488.695          48.000          41.000
+  -9874382.77543  -7683144.91542  23450040.539    23450049.798    23450041.171
+      2701.452        2105.028          47.000          40.000
+ -17839822.60443 -13860260.61342  21943714.029    21943718.438    21943713.457
+      1050.995         818.957          54.000          46.000
+  -1762713.64743  -1323327.85742  24775058.428    24775070.191    24775057.192
+     -2757.186       -2148.457          44.000          37.000
+  -9725219.74343  -7546626.15042  23393922.540    23393927.375    23393921.181
+     -1890.168       -1472.858          48.000          41.000
+ 04  2  1  4 43 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19592998.50243 -14850249.14542  21323776.903    21323781.801    21323775.287
+      -335.952        -261.781          55.000          48.000
+ -20936264.49743 -16252139.90842  20703179.977    20703185.398    20703179.005
+      1598.109        1245.280          55.000          48.000
+ -23815965.94343 -18370491.60142  20793512.249    20793517.078    20793510.975
+     -1427.592       -1112.409          56.000          50.000
+ -24132451.06943 -18775086.88042  21384202.356    21384208.262    21384201.268
+      -557.490        -434.408          54.000          48.000
+  -9068031.66943  -7051301.97142  23282511.344    23282519.270    23282511.587
+       609.710         475.099          49.000          42.000
+  -9955288.85843  -7746188.41042  23434645.879    23434653.866    23434645.294
+      2691.425        2097.214          47.000          41.000
+ -17871354.71743 -13884831.08542  21937713.985    21937718.691    21937713.398
+      1050.223         818.356          54.000          47.000
+  -1680108.22243  -1258960.51042  24790779.691    24790793.270    24790778.374
+     -2751.056       -2143.680          45.000          37.000
+  -9668291.42543  -7502266.45742  23404756.414    23404760.553    23404756.210
+     -1905.808       -1485.045          48.000          41.000
+ 04  2  1  4 44  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19582899.55243 -14842379.85942  21325698.177    21325703.599    21325696.968
+      -338.178        -263.515          55.000          48.000
+ -20984011.28343 -16289345.17442  20694093.904    20694099.201    20694092.797
+      1584.155        1234.406          55.000          48.000
+ -23772913.48443 -18336944.26242  20801704.846    20801709.438    20801703.439
+     -1443.401       -1124.728          56.000          50.000
+ -24115427.04643 -18761821.41742  21387441.940    21387448.086    21387440.678
+      -578.187        -450.535          55.000          48.000
+  -9086078.60843  -7065364.53142  23279077.536    23279084.191    23279076.050
+       592.689         461.836          49.000          42.000
+ -10035903.44243  -7809004.80942  23419305.949    23419313.822    23419304.527
+      2682.091        2089.941          48.000          41.000
+ -17902876.30443 -13909393.35642  21931715.555    21931719.684    21931715.123
+      1050.276         818.397          54.000          47.000
+  -1597696.94943  -1194744.52642  24806461.095    24806477.081    24806460.050
+     -2743.973       -2138.161          45.000          38.000
+  -9610897.10243  -7457543.64542  23415678.846    23415683.323    23415675.898
+     -1921.182       -1497.025          48.000          41.000
+ 04  2  1  4 44 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19572717.38043 -14834445.72342  21327636.375    21327641.608    21327635.012
+      -340.987        -265.704          55.000          48.000
+ -21031325.48643 -16326213.36142  20685090.628    20685095.901    20685089.580
+      1569.758        1223.188          55.000          48.000
+ -23729372.63943 -18303016.36742  20809990.414    20809995.086    20809988.869
+     -1459.603       -1137.353          56.000          50.000
+ -24097769.49443 -18748062.28142  21390802.324    21390808.154    21390800.883
+      -599.279        -466.971          55.000          48.000
+  -9103601.60543  -7079018.84842  23275742.684    23275748.560    23275742.718
+       575.245         448.243          49.000          42.000
+ -10116221.95943  -7871590.47542  23404022.621    23404030.249    23404020.071
+      2672.298        2082.310          49.000          41.000
+ -17934383.43843 -13933944.37342  21925719.803    21925723.820    21925719.445
+      1049.864         818.076          53.000          46.000
+  -1515478.04143  -1130678.42242  24822107.842    24822120.477    24822105.631
+     -2737.662       -2133.243          44.000          37.000
+  -9553034.89043  -7412456.23242  23426689.195    23426695.372    23426686.989
+     -1936.674       -1509.097          48.000          41.000
+ 04  2  1  4 45  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19562454.00743 -14826448.31642  21329588.870    21329594.758    21329587.741
+      -343.595        -267.736          55.000          48.000
+ -21078209.59043 -16362746.40942  20676169.031    20676174.254    20676167.703
+      1555.340        1211.953          55.000          49.000
+ -23685346.77643 -18268710.53742  20818368.400    20818373.516    20818367.016
+     -1475.751       -1149.936          56.000          50.000
+ -24079481.31443 -18733811.75342  21394282.426    21394288.047    21394280.508
+      -620.305        -483.354          54.000          48.000
+  -9120603.48243  -7092267.06842  23272506.982    23272512.832    23272506.193
+       557.628         434.515          48.000          42.000
+ -10196245.98743  -7933946.68842  23388794.120    23388801.792    23388791.679
+      2662.385        2074.586          48.000          41.000
+ -17965878.41443 -13958485.92142  21919725.884    21919731.326    21919725.272
+      1049.445         817.749          54.000          47.000
+  -1433456.04543  -1066765.80742  24837715.700    24837731.503    24837715.829
+     -2730.980       -2128.036          45.000          37.000
+  -9494708.97543  -7367007.51042  23437786.390    23437793.022    23437786.597
+     -1952.108       -1521.123          47.000          41.000
+ 04  2  1  4 45 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19552109.20343 -14818387.45042  21331557.806    21331563.020    21331556.430
+      -346.342        -269.877          55.000          48.000
+ -21124663.91543 -16398944.55442  20667328.999    20667333.944    20667327.833
+      1541.194        1200.930          55.000          49.000
+ -23640836.65343 -18234027.36342  20826838.284    20826843.146    20826836.963
+     -1491.852       -1162.482          56.000          50.000
+ -24060563.07043 -18719070.27142  21397882.073    21397888.166    21397881.008
+      -641.208        -499.642          54.000          48.000
+  -9137085.06743  -7105109.90342  23269370.548    23269377.533    23269369.968
+       540.799         421.402          49.000          42.000
+ -10275974.84043  -7996072.89042  23373620.104    23373628.708    23373619.784
+      2652.547        2066.920          47.000          41.000
+ -17997361.58743 -13983018.26542  21913735.002    21913740.222    21913734.734
+      1049.058         817.448          54.000          47.000
+  -1351633.32843  -1003008.48442  24853285.992    24853300.873    24853285.395
+     -2724.216       -2122.766          44.000          37.000
+  -9435921.18743  -7321198.89442  23448974.980    23448980.779    23448973.545
+     -1967.358       -1533.006          48.000          41.000
+ 04  2  1  4 46  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19541679.17443 -14810260.17342  21333542.089    21333548.278    21333541.130
+      -348.998        -271.946          55.000          48.000
+ -21170685.28743 -16434805.32942  20658570.985    20658576.705    20658570.027
+      1526.882        1189.778          55.000          49.000
+ -23595839.85943 -18198964.95542  20835401.384    20835405.531    20835399.708
+     -1507.793       -1174.904          56.000          50.000
+ -24041011.82043 -18703835.53642  21401602.848    21401608.556    21401601.612
+      -662.136        -515.950          54.000          48.000
+  -9153043.44043  -7117545.01042  23266332.907    23266340.346    23266332.931
+       523.286         407.755          47.000          41.000
+ -10355404.42643  -8057965.89342  23358506.024    23358513.763    23358506.113
+      2642.792        2059.318          48.000          41.000
+ -18028829.57643 -14007538.78242  21907747.656    21907752.355    21907746.843
+      1048.732         817.194          54.000          47.000
+  -1270008.74543   -939405.57142  24868820.160    24868835.377    24868818.536
+     -2717.776       -2117.747          44.000          37.000
+  -9376670.08343  -7275029.24142  23460249.524    23460256.689    23460249.918
+     -1982.814       -1545.050          48.000          41.000
+ 04  2  1  4 46 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19531167.19843 -14802069.04942  21335542.536    21335548.437    21335541.380
+      -352.357        -274.564          55.000          48.000
+ -21216277.44343 -16470331.65642  20649895.367    20649900.682    20649894.203
+      1511.970        1178.158          55.000          49.000
+ -23550360.69243 -18163526.67842  20844055.406    20844060.127    20844053.823
+     -1524.644       -1188.034          56.000          50.000
+ -24020831.61743 -18688110.71242  21405442.884    21405449.006    21405441.210
+      -683.790        -532.823          54.000          48.000
+  -9168482.48343  -7129575.46142  23263395.635    23263402.487    23263394.659
+       505.074         393.564          48.000          41.000
+ -10434537.48143  -8119627.81442  23343447.076    23343454.323    23343446.441
+      2631.948        2050.869          48.000          41.000
+ -18060286.11143 -14032050.37142  21901761.391    21901765.712    21901760.491
+      1047.626         816.332          54.000          47.000
+  -1188587.80843   -875961.37842  24884315.200    24884329.128    24884313.989
+     -2711.124       -2112.564          44.000          37.000
+  -9316961.30043  -7228502.93542  23471611.343    23471617.760    23471610.741
+     -1998.408       -1557.201          47.000          41.000
+ 04  2  1  4 47  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19520573.09343 -14793813.92842  21337559.118    21337564.608    21337557.712
+      -354.622        -276.329          55.000          48.000
+ -21261440.88143 -16505523.91642  20641300.590    20641306.455    20641299.547
+      1498.132        1167.376          54.000          49.000
+ -23504400.08643 -18127713.25442  20852801.587    20852806.433    20852799.942
+     -1540.198       -1200.154          56.000          50.000
+ -24000023.22243 -18671896.38342  21409403.127    21409408.831    21409401.487
+      -704.232        -548.752          55.000          48.000
+  -9183403.15843  -7141201.98842  23260557.171    23260563.973    23260556.748
+       488.546         380.685          49.000          42.000
+ -10513373.71543  -8181058.47042  23328446.118    23328452.555    23328443.522
+      2622.780        2043.725          48.000          41.000
+ -18091730.80043 -14056552.72742  21895777.542    21895782.065    21895777.567
+      1047.745         816.425          54.000          47.000
+  -1107372.63643   -812677.54042  24899769.711    24899783.462    24899767.174
+     -2704.176       -2107.150          44.000          36.000
+  -9256796.74843  -7181621.50642  23483060.026    23483066.733    23483060.117
+     -2013.186       -1568.716          48.000          41.000
+ 04  2  1  4 47 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19509891.66643 -14785490.76542  21339591.506    21339596.830    21339590.019
+      -357.264        -278.387          55.000          48.000
+ -21306170.96743 -16540378.50142  20632788.990    20632794.315    20632787.752
+      1483.973        1156.343          55.000          49.000
+ -23457953.93243 -18091521.48142  20861639.652    20861644.722    20861638.121
+     -1556.155       -1212.588          56.000          50.000
+ -23978582.19343 -18655189.09942  21413482.842    21413488.753    21413481.018
+      -725.019        -564.950          54.000          48.000
+  -9197801.16443  -7152421.22742  23257818.050    23257824.271    23257816.958
+       471.514         367.414          49.000          42.000
+ -10591907.00743  -8242253.07942  23313499.237    23313510.082    23313498.154
+      2613.063        2036.153          47.000          41.000
+ -18123158.85643 -14081042.13042  21889797.676    21889802.088    21889796.928
+      1047.450         816.195          55.000          47.000
+  -1026360.72743   -749552.13642  24915185.236    24915202.436    24915186.763
+     -2696.926       -2101.501          44.000          36.000
+  -9196173.53043  -7134382.66742  23494596.596    23494603.757    23494595.657
+     -2028.122       -1580.355          48.000          41.000
+ 04  2  1  4 48  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19499126.05443 -14777102.00042  21341640.188    21341645.639    21341638.626
+      -360.291        -280.746          55.000          48.000
+ -21350471.35343 -16574898.25642  20624358.670    20624364.443    20624357.721
+      1469.535        1145.092          55.000          49.000
+ -23411026.90343 -18054955.01242  20870569.683    20870574.580    20870568.148
+     -1572.226       -1225.111          56.000          50.000
+ -23956512.73043 -18637992.11842  21417682.568    21417688.449    21417681.390
+      -746.078        -581.359          55.000          48.000
+  -9211680.30843  -7163236.16442  23255175.897    23255183.476    23255175.213
+       454.205         353.926          48.000          42.000
+ -10670140.44643  -8303214.02542  23298613.059    23298620.777    23298612.061
+      2602.918        2028.248          47.000          41.000
+ -18154573.95143 -14105521.42642  21883819.169    21883823.812    21883818.639
+      1046.983         815.831          54.000          47.000
+   -945557.19143   -686589.08842  24930561.217    24930579.472    24930560.559
+     -2689.777       -2095.930          44.000          36.000
+  -9135096.84543  -7086790.50442  23506218.801    23506225.661    23506218.115
+     -2043.449       -1592.298          46.000          41.000
+ 04  2  1  4 48 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19488277.64143 -14768648.72042  21343704.173    21343709.961    21343702.962
+      -363.326        -283.111          55.000          48.000
+ -21394344.15143 -16609084.82042  20616009.809    20616015.568    20616009.272
+      1454.953        1133.730          55.000          49.000
+ -23363621.42943 -18018015.72942  20879590.742    20879595.532    20879589.263
+     -1588.459       -1237.760          56.000          50.000
+ -23933817.10343 -18620307.22042  21422001.501    21422007.381    21421999.965
+      -767.230        -597.841          54.000          48.000
+  -9225043.43943  -7173649.00742  23252633.566    23252640.478    23252631.960
+       436.517         340.143          48.000          42.000
+ -10748075.05543  -8363942.11442  23283782.765    23283791.088    23283781.192
+      2592.478        2020.113          47.000          41.000
+ -18185977.51643 -14129991.74542  21877842.976    21877847.399    21877842.677
+      1046.272         815.277          54.000          47.000
+   -864966.23243   -623791.68142  24945901.245    24945913.598    24945898.407
+     -2683.399       -2090.960          44.000          36.000
+  -9073570.65743  -7038848.04842  23517928.538    23517934.347    23517927.325
+     -2058.610       -1604.112          47.000          41.000
+ 04  2  1  4 49  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19477340.81143 -14760126.54642  21345785.321    21345791.676    21345784.087
+      -366.038        -285.224          54.000          48.000
+ -21437784.57043 -16642934.47442  20607743.971    20607748.872    20607742.755
+      1440.836        1122.729          55.000          49.000
+ -23315733.25443 -17980700.31142  20888703.639    20888708.401    20888702.506
+     -1604.323       -1250.122          56.000          50.000
+ -23910490.83843 -18602130.91242  21426439.440    21426446.257    21426438.501
+      -788.056        -614.070          54.000          48.000
+  -9237885.96043  -7183656.19042  23250190.432    23250194.832    23250189.181
+       419.622         326.978          49.000          42.000
+ -10825704.95043  -8424432.77542  23269009.231    23269017.331    23269007.343
+      2582.852        2012.612          47.000          41.000
+ -18217364.53543 -14154449.15342  21871870.102    21871874.598    21871870.089
+      1046.039         815.095          54.000          47.000
+   -784584.52543   -561157.42542  24961196.830    24961212.147    24961194.412
+     -2675.687       -2084.951          43.000          35.000
+  -9011591.53143  -6990552.67542  23529720.460    23529727.931    23529719.977
+     -2073.577       -1615.774          46.000          41.000
+ 04  2  1  4 49 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19466317.89543 -14751537.29042  21347882.712    21347888.859    21347881.911
+      -368.512        -287.152          55.000          48.000
+ -21480795.52143 -16676449.47342  20599559.794    20599564.380    20599558.130
+      1426.836        1111.820          55.000          49.000
+ -23267366.20343 -17943011.74642  20897907.775    20897912.595    20897906.260
+     -1619.894       -1262.255          56.000          50.000
+ -23886537.26843 -18583465.80442  21430998.724    21431004.337    21430997.014
+      -808.539        -630.030          54.000          48.000
+  -9250211.37243  -7193260.43642  23247842.973    23247849.670    23247840.888
+       402.384         313.546          49.000          42.000
+ -10903032.32543  -8484687.72142  23254294.725    23254303.130    23254294.524
+      2572.727        2004.722          48.000          41.000
+ -18248737.64743 -14178895.73342  21865899.985    21865905.107    21865899.279
+      1045.906         814.992          54.000          47.000
+   -704416.84143   -498689.94742  24976454.273    24976468.919    24976452.056
+     -2668.410       -2079.280          44.000          35.000
+  -8949164.34543  -6941908.16342  23541600.644    23541606.882    23541600.909
+     -2087.911       -1626.944          46.000          41.000
+ 04  2  1  4 50  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19455208.67043 -14742880.77342  21349997.572    21350003.428    21349996.138
+      -372.262        -290.074          55.000          48.000
+ -21523377.55043 -16709630.24542  20591456.128    20591461.261    20591454.881
+      1411.729        1100.049          55.000          49.000
+ -23218521.12043 -17904950.68842  20907202.489    20907207.635    20907201.111
+     -1636.564       -1275.245          56.000          50.000
+ -23861957.24643 -18564312.54642  21435675.482    21435681.751    21435674.054
+      -830.334        -647.013          54.000          47.000
+  -9262020.28243  -7202462.20742  23245596.756    23245602.633    23245595.833
+       384.552         299.651          49.000          42.000
+ -10980056.46743  -8544706.37342  23239638.617    23239645.408    23239637.575
+      2561.883        1996.272          48.000          41.000
+ -18280096.56643 -14203331.24542  21859932.566    21859937.336    21859932.406
+      1044.568         813.949          54.000          47.000
+   -624465.43643   -436391.00442  24991668.969    24991684.459    24991666.008
+     -2661.817       -2074.143          44.000          35.000
+  -8886291.16543  -6892916.10142  23553565.306    23553571.302    23553564.142
+     -2103.769       -1639.300          47.000          40.000
+ 04  2  1  4 50 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19444011.79443 -14734155.95442  21352128.166    21352134.096    21352127.004
+      -374.510        -291.826          55.000          48.000
+ -21565530.02043 -16742476.30442  20583434.809    20583439.443    20583433.640
+      1398.065        1089.401          55.000          49.000
+ -23169198.25643 -17866517.32842  20916588.721    20916593.565    20916586.884
+     -1651.758       -1287.084          56.000          50.000
+ -23836750.58043 -18544670.99542  21440472.491    21440478.028    21440471.075
+      -850.550        -662.766          54.000          47.000
+  -9273312.62343  -7211261.46442  23243447.278    23243454.116    23243448.472
+       367.816         286.610          48.000          42.000
+ -11056775.95743  -8604487.65442  23225039.000    23225045.716    23225036.697
+      2552.462        1988.931          48.000          41.000
+ -18311440.51943 -14227755.09242  21853969.024    21853972.710    21853967.933
+      1044.643         814.008          54.000          47.000
+   -544731.38143   -374261.46842  25006838.885    25006854.562    25006840.410
+     -2653.812       -2067.905          40.000          34.000
+  -8822973.10143  -6843577.40142  23565615.334    23565619.774    23565614.765
+     -2117.874       -1650.291          48.000          41.000
+ 04  2  1  4 51  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19432723.97143 -14725360.28042  21354275.969    21354281.725    21354274.592
+      -377.148        -293.881          55.000          48.000
+ -21607250.55043 -16774985.77742  20575495.848    20575500.890    20575494.733
+      1384.069        1078.495          55.000          49.000
+ -23119395.72743 -17827710.21242  20926065.478    20926070.613    20926064.020
+     -1667.366       -1299.246          56.000          50.000
+ -23810915.17043 -18524539.51642  21445389.054    21445394.348    21445387.449
+      -870.980        -678.686          54.000          48.000
+  -9284086.45743  -7219656.67942  23241396.409    23241403.415    23241397.698
+       351.005         273.510          48.000          42.000
+ -11133187.16743  -8664028.71842  23210496.742    23210506.035    23210495.766
+      2542.580        1981.231          47.000          41.000
+ -18342766.34243 -14252164.82142  21848006.668    21848011.391    21848006.517
+      1044.621         813.990          54.000          47.000
+   -465213.71043   -312300.53442  25021974.599    25021991.904    25021974.339
+     -2646.281       -2062.037          42.000          34.000
+  -8759209.32943  -6793891.38742  23577748.621    23577754.197    23577747.525
+     -2132.285       -1661.521          47.000          41.000
+ 04  2  1  4 51 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19421346.07443 -14716494.40342  21356441.103    21356446.575    21356439.568
+      -380.942        -296.838          55.000          48.000
+ -21648540.68443 -16807159.88042  20567638.546    20567643.244    20567637.042
+      1368.985        1066.742          55.000          49.000
+ -23069115.73143 -17788531.03842  20935633.573    20935638.710    20935632.105
+     -1684.063       -1312.257          56.000          50.000
+ -23784453.11743 -18503919.74842  21450424.631    21450430.025    21450422.881
+      -892.648        -695.570          54.000          48.000
+  -9294343.78643  -7227649.42542  23239446.337    23239452.261    23239444.728
+       333.104         259.562          48.000          41.000
+ -11209291.01143  -8723330.26342  23196015.334    23196023.020    23196012.745
+      2531.377        1972.502          47.000          41.000
+ -18374075.37643 -14276561.46042  21842049.272    21842053.728    21842048.714
+      1043.251         812.923          54.000          47.000
+   -385915.81643   -250510.86442  25037063.047    25037081.930    25037062.962
+     -2639.336       -2056.625          41.000          33.000
+  -8695003.17543  -6743860.65642  23589966.621    23589973.332    23589965.098
+     -2147.907       -1673.694          47.000          41.000
+ 04  2  1  4 52  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19409878.00443 -14707558.26842  21358623.182    21358629.797    21358622.150
+      -383.721        -299.003          55.000          48.000
+ -21689401.42543 -16838999.38842  20559862.773    20559867.805    20559861.498
+      1354.884        1055.754          55.000          49.000
+ -23018359.98443 -17748981.15742  20945291.951    20945297.179    20945290.588
+     -1699.716       -1324.454          56.000          50.000
+ -23757365.78943 -18482812.75642  21455578.549    21455584.673    21455577.410
+      -913.272        -711.640          54.000          47.000
+  -9304085.88043  -7235240.70242  23237590.274    23237598.170    23237590.485
+       316.348         246.505          48.000          41.000
+ -11285087.03943  -8782391.97542  23181591.240    23181600.424    23181589.992
+      2521.495        1964.801          47.000          41.000
+ -18405367.96843 -14300945.29442  21836094.149    21836098.804    21836093.696
+      1042.832         812.596          54.000          47.000
+   -306840.17943   -188894.36542  25052112.785    25052130.231    25052111.862
+     -2632.127       -2051.008          40.000          33.000
+  -8630357.45043  -6693487.43942  23602268.541    23602273.508    23602267.037
+     -2162.181       -1684.816          47.000          41.000
+ 04  2  1  4 52 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19398323.61943 -14698554.87242  21360822.106    21360827.733    21360821.298
+      -386.855        -301.445          55.000          48.000
+ -21729837.40043 -16870507.91442  20552167.710    20552173.286    20552166.702
+      1340.499        1044.545          55.000          49.000
+ -22967133.56543 -17709064.51242  20955040.438    20955044.973    20955038.826
+     -1715.734       -1336.935          56.000          50.000
+ -23729657.97643 -18461222.25542  21460851.463    21460857.841    21460849.972
+      -934.304        -728.029          54.000          47.000
+  -9313317.89843  -7242434.50542  23235835.037    23235842.077    23235833.928
+       298.777         232.813          48.000          42.000
+ -11360579.08743  -8841216.81442  23167226.245    23167234.453    23167224.598
+      2511.116        1956.714          48.000          42.000
+ -18436648.28743 -14325319.56242  21830141.770    21830146.442    21830141.188
+      1042.234         812.130          54.000          47.000
+   -227992.87243   -127455.76542  25067117.491    25067131.014    25067116.227
+     -2624.619       -2045.158          41.000          33.000
+  -8565278.02243  -6642776.24142  23614653.715    23614658.263    23614651.139
+     -2176.752       -1696.170          48.000          41.000
+ 04  2  1  4 53  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19386674.96443 -14689478.00642  21363038.699    21363044.199    21363037.980
+      -389.883        -303.805          55.000          48.000
+ -21769841.50443 -16901679.91742  20544555.371    20544560.937    20544554.181
+      1326.211        1033.411          55.000          49.000
+ -22915429.95243 -17668776.02342  20964878.981    20964884.187    20964877.670
+     -1731.384       -1349.130          56.000          50.000
+ -23701323.19343 -18439143.22242  21466242.880    21466249.194    21466241.627
+      -954.961        -744.125          54.000          47.000
+  -9322033.12843  -7249225.64642  23234177.190    23234184.348    23234175.056
+       281.558         219.396          48.000          42.000
+ -11435758.89243  -8899798.34942  23152919.258    23152928.288    23152918.099
+      2500.874        1948.733          47.000          42.000
+ -18467908.32143 -14349678.02442  21824193.227    21824198.302    21824192.522
+      1041.730         811.738          54.000          47.000
+   -149368.34743    -66190.74742  25082081.640    25082097.327    25082082.911
+     -2617.174       -2039.356          41.000          33.000
+  -8499759.40243  -6591722.81542  23627120.351    23627126.105    23627118.953
+     -2191.325       -1707.526          47.000          41.000
+ 04  2  1  4 53 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19374935.72543 -14680330.55842  21365272.645    21365278.463    21365271.620
+      -393.390        -306.538          55.000          48.000
+ -21809418.25043 -16932518.91742  20537023.663    20537029.204    20537022.737
+      1311.429        1021.893          55.000          49.000
+ -22863254.63043 -17628119.97242  20974807.777    20974812.698    20974806.279
+     -1747.646       -1361.802          56.000          50.000
+ -23672366.50643 -18416579.58042  21471753.773    21471759.714    21471752.005
+      -976.325        -760.773          54.000          47.000
+  -9330236.45143  -7255617.90042  23232615.303    23232621.809    23232614.920
+       264.170         205.847          49.000          42.000
+ -11510630.09043  -8958139.41542  23138671.686    23138679.385    23138669.815
+      2489.919        1940.197          48.000          42.000
+ -18499152.12243 -14374023.84442  21818247.149    21818252.546    21818246.759
+      1040.557         810.824          54.000          47.000
+    -70972.72843     -5104.13142  25096996.963    25097015.702    25096999.757
+     -2609.473       -2033.355          39.000          33.000
+  -8433808.12643  -6540332.25242  23639670.581    23639677.045    23639669.176
+     -2206.316       -1719.207          47.000          41.000
+ 04  2  1  4 54  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19363102.02343 -14671109.51642  21367525.078    21367530.827    21367523.727
+      -396.761        -309.164          55.000          48.000
+ -21848564.62843 -16963022.55542  20529574.792    20529579.906    20529573.753
+      1296.953        1010.613          55.000          49.000
+ -22810605.06743 -17587094.38542  20984826.704    20984831.792    20984825.150
+     -1763.505       -1374.160          56.000          50.000
+ -23642785.43643 -18393529.41442  21477382.663    21477388.744    21477381.218
+      -997.134        -776.987          54.000          47.000
+  -9337925.61743  -7261609.47742  23231152.133    23231158.923    23231151.075
+       246.872         192.368          48.000          41.000
+ -11585188.64543  -9016236.86542  23124482.824    23124491.475    23124482.023
+      2479.239        1931.874          47.000          42.000
+ -18530375.96443 -14398354.10942  21812306.197    21812311.039    21812305.454
+      1039.641         810.110          54.000          47.000
+      7195.73353     55805.46852  25111874.031    25111895.515    25111872.606
+     -2602.630       -2028.023          39.000          32.000
+  -8367422.81343  -6488603.48342  23652302.938    23652311.261    23652301.594
+     -2220.652       -1730.378          46.000          41.000
+ 04  2  1  4 54 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19351173.65243 -14661814.70342  21369794.823    21369800.822    21369793.549
+      -398.993        -310.904          55.000          48.000
+ -21887281.45943 -16993191.49342  20522207.095    20522212.221    20522205.791
+      1283.528        1000.152          55.000          49.000
+ -22757482.80443 -17545700.46742  20994935.584    20994940.580    20994933.935
+     -1778.432       -1385.791          56.000          50.000
+ -23612581.17043 -18369993.64142  21483130.685    21483136.292    21483129.124
+     -1017.043        -792.501          54.000          47.000
+  -9345101.75543  -7267201.31642  23229786.149    23229791.947    23229785.825
+       230.936         179.950          48.000          42.000
+ -11659434.19843  -9074090.41442  23110354.655    23110362.932    23110353.008
+      2469.785        1924.508          47.000          42.000
+ -18561580.12643 -14422669.03842  21806368.315    21806372.643    21806367.455
+      1039.948         810.349          54.000          47.000
+     85134.85343    116536.36142  25126706.279    25126722.884    25126705.557
+     -2594.102       -2021.378          39.000          32.000
+  -8300605.71743  -6436538.28142  23665019.120    23665024.284    23665017.470
+     -2234.248       -1740.972          47.000          41.000
+ 04  2  1  4 55  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19339154.71143 -14652449.31542  21372082.066    21372087.754    21372080.365
+      -401.940        -313.200          55.000          48.000
+ -21925573.82243 -17023029.67642  20514919.997    20514925.625    20514919.087
+      1269.530         989.244          55.000          49.000
+ -22703893.37543 -17503942.50842  21005133.467    21005138.260    21005132.055
+     -1793.842       -1397.799          56.000          50.000
+ -23581759.17743 -18345976.51542  21488996.013    21489001.812    21488994.833
+     -1037.439        -808.394          54.000          47.000
+  -9351770.33843  -7272397.68742  23228517.798    23228525.860    23228515.939
+       214.181         166.894          48.000          42.000
+ -11733370.96343  -9131703.33342  23096284.831    23096293.024    23096283.847
+      2459.547        1916.530          48.000          42.000
+ -18592769.03143 -14446972.08542  21800433.193    21800437.380    21800432.348
+      1039.550         810.039          54.000          47.000
+                    177083.13442  25141492.871    25141509.153
+     -2585.754       -2014.873          39.000          32.000
+  -8233363.61943  -6384141.87742  23677814.154    23677821.056    23677812.370
+     -2248.322       -1751.939          46.000          41.000
+ 04  2  1  4 55 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19327040.14943 -14643009.41942  21374386.644    21374392.567    21374385.897
+      -404.953        -315.548          55.000          48.000
+ -21963437.76443 -17052534.02542  20507714.959    20507720.520    20507714.021
+      1255.523         978.330          55.000          49.000
+ -22649833.54143 -17461818.00742  21015420.542    21015425.748    21015419.098
+     -1809.283       -1409.831          56.000          50.000
+ -23550315.83443 -18321475.22342  21494978.841    21494985.527    21494977.494
+     -1057.962        -824.386          54.000          47.000
+  -9357927.68943  -7277195.63942  23227345.924    23227353.096    23227345.380
+       197.225         153.682          47.000          41.000
+ -11806993.66243  -9189071.54442  23082276.174    23082283.314    23082273.092
+      2449.407        1908.629          48.000          42.000
+ -18623937.90743 -14471259.52842  21794502.004    21794506.757    21794501.726
+      1039.096         809.685          55.000          47.000
+    240307.10743    237448.13142  25156237.507    25156250.715    25156231.470
+     -2577.948       -2008.791          39.000          32.000
+  -8165694.15643  -6331412.49642  23690691.512    23690697.772    23690690.276
+     -2262.162       -1762.724          47.000          41.000
+ 04  2  1  4 56  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19314830.16343 -14633495.16342  21376710.974    21376716.523    21376709.296
+      -408.048        -317.959          55.000          48.000
+ -22000874.24243 -17081705.28442  20500591.382    20500596.354    20500590.101
+      1241.243         967.202          55.000          49.000
+ -22595305.06543 -17419328.33242  21025797.086    21025802.210    21025795.759
+     -1824.797       -1421.920          56.000          50.000
+ -23518252.95243 -18296491.17142  21501080.134    21501086.682    21501079.043
+     -1078.470        -840.366          54.000          47.000
+  -9363575.63643  -7281596.68542  23226272.429    23226278.227    23226270.161
+       180.369         140.547          48.000          42.000
+ -11880302.65943  -9246195.31242  23068325.195    23068332.468    23068323.265
+      2438.777        1900.346          48.000          42.000
+ -18655086.88043 -14495531.46442  21788575.235    21788578.902    21788573.781
+      1038.556         809.264          55.000          47.000
+                    297629.57642  25170935.130    25170952.175
+     -2569.934       -2002.546          40.000          31.000
+  -8097600.14943  -6278352.29642  23703651.792    23703654.972    23703649.151
+     -2276.418       -1773.832          47.000          41.000
+ 04  2  1  4 56 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19302524.49943 -14623906.35442  21379052.212    21379058.365    21379051.288
+      -412.376        -321.332          55.000          48.000
+ -22037884.19543 -17110544.18742  20493548.482    20493553.624    20493547.478
+      1225.909         955.254          55.000          49.000
+ -22540309.48743 -17376474.67242  21036262.486    21036267.402    21036261.013
+     -1841.624       -1435.032          56.000          50.000
+ -23485571.90243 -18271025.42842  21507299.772    21507305.325    21507298.078
+     -1100.323        -857.394          54.000          47.000
+  -9368715.48943  -7285601.79442  23225294.026    23225300.013    23225293.986
+       162.543         126.657          48.000          42.000
+ -11953297.49243  -9303074.28942  23054435.057    23054442.240    23054433.993
+      2427.332        1891.428          49.000          42.000
+ -18686216.07943 -14519787.98842  21782651.116    21782655.364    21782650.270
+      1036.670         807.795          55.000          47.000
+  -8029083.96843  -6224963.13842  23716688.739    23716692.837    23716687.188
+     -2291.489       -1785.576          47.000          40.000
+ 04  2  1  4 57  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19290121.74243 -14614241.89642  21381412.648    21381418.291    21381411.418
+      -414.891        -323.292          55.000          48.000
+ -22074467.08943 -17139050.31642  20486587.000    20486591.945    20486585.535
+      1212.364         944.699          55.000          49.000
+ -22484847.02843 -17333257.21842  21046816.218    21046821.820    21046814.844
+     -1856.392       -1446.539          56.000          50.000
+ -23452272.87943 -18245078.15042  21513635.732    21513641.708    21513634.259
+     -1120.164        -872.855          54.000          47.000
+  -9373347.12743  -7289210.89742  23224411.754    23224417.879    23224411.417
+       146.280         113.984          49.000          42.000
+ -12025976.93743  -9359707.51042  23040603.298    23040612.300    23040602.250
+      2417.584        1883.832          48.000          42.000
+ -18717324.35743 -14544028.21642  21776730.961    21776735.300    21776730.794
+      1036.640         807.771          54.000          47.000
+  -4254966.52853  -3265364.93752  25200193.511    25200211.666    25200188.116
+     -2554.444       -1990.476          38.000          32.000
+  -7960146.95043  -6171246.04642  23729805.004    23729812.978    23729804.694
+     -2304.667       -1795.844          45.000          40.000
+ 04  2  1  4 57 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19277619.68043 -14604500.06942  21383791.632    21383797.187    21383790.280
+      -418.337        -325.977          55.000          48.000
+ -22110621.95543 -17167222.91442  20479706.698    20479711.969    20479705.518
+      1197.998         933.505          55.000          49.000
+ -22428917.17243 -17289675.56042  21057459.888    21057464.930    21057458.505
+     -1872.026       -1458.721          56.000          50.000
+ -23418355.35843 -18218648.92042  21520089.748    21520096.261    21520088.772
+     -1140.698        -888.855          53.000          47.000
+  -9377470.40843  -7292423.88642  23223626.548    23223633.934    23223626.501
+       129.129         100.620          48.000          42.000
+ -12098338.85643  -9416093.30042  23026832.876    23026841.860    23026832.265
+      2406.885        1875.495          48.000          42.000
+ -18748409.63543 -14568250.52242  21770815.577    21770820.407    21770814.929
+      1035.785         807.105          54.000          47.000
+  -4178448.94453  -3205741.65452  25214755.031    25214770.479    25214756.435
+     -2546.607       -1984.369          37.000          32.000
+  -7890789.53343  -6117201.34942  23743004.270    23743009.496    23743003.927
+     -2318.867       -1806.909          46.000          40.000
+ 04  2  1  4 58  0.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19265018.99843 -14594681.39142  21386189.020    21386195.443    21386188.299
+      -421.527        -328.462          54.000          48.000
+ -22146350.67543 -17195063.45442  20472907.896    20472913.068    20472906.749
+      1184.078         922.658          55.000          49.000
+ -22372522.61643 -17245731.79542  21068190.885    21068196.258    21068189.707
+     -1887.421       -1470.718          56.000          50.000
+ -23383821.76943 -18191739.63242  21526662.032    21526668.004    21526660.312
+     -1161.187        -904.821          53.000          47.000
+  -9381087.25743  -7295242.25242  23222940.103    23222946.167    23222939.606
+       112.204          87.432          49.000          42.000
+ -12170383.88543  -9472232.17142  23013123.369    23013131.039    23013123.225
+      2396.332        1867.272          48.000          43.000
+ -18779473.11643 -14592455.83242  21764905.066    21764908.917    21764904.485
+      1035.186         806.638          55.000          47.000
+                  -3146306.95652  25229270.838    25229288.894
+     -2538.328       -1977.918          38.000          32.000
+  -7821015.22443  -6062831.83842  23756281.974    23756287.880    23756280.856
+     -2332.580       -1817.595          46.000          40.000
+ 04  2  1  4 58 30.0000000  0  9G 1G27G20G 2G 4G 8G13G11G16
+ -19252321.07443 -14584786.93442  21388605.275    21388611.545    21388604.254
+      -424.654        -330.899          54.000          48.000
+ -22181655.60043 -17222573.76942  20466189.839    20466194.999    20466188.357
+      1170.067         911.741          55.000          49.000
+ -22315666.43343 -17201428.31642  21079011.185    21079016.099    21079009.437
+     -1902.527       -1482.488          56.000          50.000
+ -23348675.16843 -18164352.67842  21533350.164    21533356.114    21533348.751
+     -1181.435        -920.599          54.000          47.000
+  -9384200.78043  -7297668.40842  23222345.886    23222353.388    23222345.960
+        95.796          74.646          48.000          41.000
+ -12242113.28043  -9528125.08342  22999474.060    22999481.104    22999472.555
+      2386.255        1859.419          48.000          42.000
+ -18810516.29943 -14616645.32242  21758997.607    21759001.488    21758996.604
+      1034.751         806.299          55.000          47.000
+                  -3087063.66552  25243738.538    25243752.375
+     -2530.232       -1971.609          36.000          32.000
+  -7750828.30043  -6008140.76642  23769638.530    23769644.304    23769636.264
+     -2346.003       -1828.054          45.000          40.000
+ 04  2  1  4 59  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19239522.97843 -14574814.42242  21391040.835    21391046.939    21391040.188
+      -427.616        -333.207          54.000          48.000
+ -22216534.99243 -17249752.49442  20459552.496    20459557.441    20459550.988
+      1156.080         900.842          55.000          49.000
+ -22258347.47443 -17156764.23242  21089918.435    21089923.602    21089916.924
+     -1917.687       -1494.301          56.000          50.000
+ -23312914.24043 -18136487.02242  21540155.538    21540161.138    21540154.118
+     -1201.589        -936.303          53.000          47.000
+  -9386809.79443  -7299701.45342  23221850.127    23221856.736    23221849.632
+        79.463          61.919          48.000          42.000
+ -12313524.57543  -9583770.11342  22985884.637    22985892.296    22985883.832
+      2375.647        1851.153          48.000          42.000
+ -18841536.46043 -14640816.88142  21753094.346    21753098.795    21753093.603
+      1034.151         805.832          54.000          47.000
+  -7680228.45043  -5953127.98142  23783072.139    23783079.359    23783071.179
+     -2359.505       -1838.575          43.000          39.000
+ 04  2  1  4 59 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19226621.58243 -14564761.40442  21393496.363    21393501.937    21393494.860
+      -432.127        -336.722          55.000          48.000
+ -22250986.84443 -17276598.07642  20452996.196    20453001.196    20452994.923
+      1141.009         889.098          55.000          49.000
+ -22200564.52343 -17111738.60342  21100913.677    21100919.342    21100912.117
+     -1934.241       -1507.201          55.000          49.000
+ -23276537.71043 -18108141.69242  21547077.641    21547084.013    21547075.798
+     -1223.137        -953.094          53.000          47.000
+  -9388912.88643  -7301340.27242  23221449.730    23221457.016    23221449.429
+        61.713          48.088          47.000          42.000
+ -12384614.69743  -9639164.90042  22972356.310    22972363.615    22972355.573
+      2364.133        1842.181          48.000          43.000
+ -18872530.93043 -14664968.41842  21747196.603    21747200.685    21747195.908
+      1032.428         804.489          55.000          47.000
+  -7609215.35643  -5897793.17342  23796585.437    23796592.781    23796583.547
+     -2374.332       -1850.129          44.000          39.000
+ 04  2  1  5  0  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19213625.44243 -14554634.57042  21395969.262    21395974.950    21395967.967
+      -433.944        -338.138          54.000          48.000
+ -22285021.22443 -17303118.35042  20446519.830    20446524.854    20446518.457
+      1128.316         879.207          55.000          49.000
+ -22142328.31643 -17066359.78442  21111995.582    21112001.040    21111994.232
+     -1947.854       -1517.808          55.000          49.000
+ -23239556.24743 -18079324.97542  21554115.383    21554120.838    21554113.771
+     -1241.919        -967.729          54.000          47.000
+  -9390520.32743  -7302592.85942  23221143.676    23221152.111    23221143.424
+        46.159          35.968          47.000          42.000
+ -12455392.35643  -9694316.20742  22958889.832    22958896.026    22958886.964
+      2355.103        1835.145          49.000          43.000
+ -18903508.25143 -14689106.59942  21741301.932    21741305.993    21741301.229
+      1033.116         805.025          55.000          47.000
+  -7537800.60243  -5842145.38042  23810177.617    23810182.225    23810175.530
+     -2386.822       -1859.861          45.000          40.000
+ 04  2  1  5  0 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19200522.67543 -14544424.64242  21398462.702    21398468.421    21398461.714
+      -438.506        -341.693          55.000          48.000
+ -22318627.01643 -17329304.65642  20440124.597    20440129.674    20440123.200
+      1113.067         867.325          55.000          49.000
+ -22083628.59243 -17020619.77442  21123166.154    21123171.351    21123164.464
+     -1964.538       -1530.809          56.000          49.000
+ -23201959.58543 -18050028.88442  21561268.483    21561276.168    21561267.498
+     -1263.595        -984.619          53.000          47.000
+  -9391622.21143  -7303451.53242  23220935.286    23220941.652    23220932.843
+        27.968          21.793          48.000          42.000
+ -12525845.89643  -9749214.94142  22945481.497    22945490.690    22945480.078
+      2342.895        1825.632          49.000          43.000
+ -18934456.82243 -14713222.36042  21735412.317    21735416.348    21735411.167
+      1031.170         803.509          55.000          47.000
+  -7465975.05343  -5786177.49742  23823844.032    23823850.194    23823844.051
+     -2401.091       -1870.980          46.000          39.000
+ 04  2  1  5  1  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19187319.05043 -14534136.11942  21400975.465    21400981.371    21400974.029
+      -442.069        -344.469          55.000          48.000
+ -22351811.77643 -17355162.88842  20433809.886    20433814.982    20433808.541
+      1098.806         856.212          55.000          49.000
+ -22024473.17143 -16974524.68542  21134422.928    21134428.404    21134421.500
+     -1979.723       -1542.641          56.000          50.000
+ -23163755.29843 -18020259.33042  21568539.924    21568545.328    21568538.075
+     -1283.867       -1000.416          53.000          47.000
+  -9392226.12843  -7303922.14442  23220820.263    23220826.449    23220819.761
+        11.995           9.347          48.000          41.000
+ -12595981.35843  -9803865.84442  22932134.509    22932141.560    22932132.890
+      2332.218        1817.313          48.000          42.000
+ -18965382.82443 -14737320.54042  21729527.199    21729532.127    21729526.649
+      1029.982         802.583          54.000          47.000
+  -7393747.32643  -5729896.21642  23837588.219    23837595.390    23837587.229
+     -2414.345       -1881.308          46.000          39.000
+ 04  2  1  5  1 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19174011.17343 -14523766.36942  21403508.003    21403513.581    21403506.606
+      -445.416        -347.077          55.000          48.000
+ -22384572.87043 -17380690.98842  20427575.328    20427580.820    20427574.222
+      1084.740         845.252          55.000          49.000
+ -21964860.50343 -16928073.28842  21145767.225    21145772.263    21145765.893
+     -1994.754       -1554.354          56.000          50.000
+ -23124941.81443 -17990015.07842  21575924.706    21575931.219    21575923.170
+     -1304.042       -1016.137          53.000          47.000
+  -9392330.17543  -7304003.28842  23220800.553    23220807.020    23220799.904
+        -4.862          -3.788          48.000          42.000
+ -12665795.22243  -9858266.14642  22918850.670    22918857.121    22918848.823
+      2321.589        1809.030          49.000          43.000
+ -18996282.70443 -14761398.37142  21723646.635    21723651.781    21723646.274
+      1029.341         802.084          55.000          47.000
+  -7321116.57543  -5673300.90942  23851409.384    23851415.664    23851408.479
+     -2428.046       -1891.984          45.000          39.000
+ 04  2  1  5  2  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19160600.82343 -14513316.76142  21406060.241    21406065.822    21406058.534
+      -448.824        -349.733          55.000          48.000
+ -22416913.37543 -17405891.36042  20421421.614    20421426.563    20421420.146
+      1070.884         834.455          55.000          49.000
+ -21904794.23743 -16881268.45242  21157197.537    21157202.484    21157195.745
+     -2009.835       -1566.105          56.000          49.000
+ -23085522.92543 -17959299.08042  21583426.026    21583432.610    21583425.116
+     -1324.136       -1031.794          53.000          47.000
+  -9391938.11943  -7303697.84842  23220876.264    23220882.111    23220873.589
+       -21.394         -16.671          49.000          42.000
+ -12735289.43143  -9912417.34542  22905625.637    22905632.859    22905625.072
+      2311.206        1800.940          49.000          42.000
+ -19027158.52443 -14785457.45442  21717771.453    21717776.276    21717770.575
+      1028.698         801.583          55.000          47.000
+  -7248087.62043  -5616395.29342  23865307.078    23865312.919    23865305.988
+     -2441.126       -1902.176          45.000          39.000
+ 04  2  1  5  2 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19147083.65843 -14502783.92742  21408632.045    21408637.381    21408630.814
+      -452.669        -352.729          55.000          48.000
+ -22448830.30043 -17430761.67342  20415347.901    20415353.149    20415346.885
+      1056.503         823.249          55.000          49.000
+ -21844272.26543 -16834108.51742  21168714.109    21168719.214    21168712.741
+     -2025.245       -1578.113          56.000          49.000
+ -23045496.38543 -17928109.59242  21591043.667    21591049.538    21591042.234
+     -1344.592       -1047.734          54.000          47.000
+  -9391047.49443  -7303003.89642  23221044.176    23221051.297    23221042.931
+       -38.237         -29.795          48.000          42.000
+ -12804460.01443  -9966316.39742  22892462.161    22892469.949    22892460.853
+      2300.028        1792.230          48.000          43.000
+ -19058006.31843 -14809494.69542  21711901.910    21711905.821    21711901.025
+      1027.445         800.606          55.000          47.000
+  -7174659.13243  -5559178.34942  23879279.830    23879285.205    23879278.890
+     -2454.510       -1912.605          45.000          39.000
+ 04  2  1  5  3  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19133458.34343 -14492166.80842  21411224.823    21411230.837    21411223.549
+      -456.085        -355.391          54.000          48.000
+ -22480323.72443 -17455301.98242  20409354.821    20409359.910    20409353.670
+      1042.701         812.494          55.000          49.000
+ -21783295.12543 -16786593.91442  21180317.682    21180323.259    21180316.345
+     -2040.210       -1589.774          56.000          49.000
+ -23004862.77743 -17896447.06942  21598775.596    21598781.652    21598774.630
+     -1364.612       -1063.334          53.000          47.000
+  -9389658.93643  -7301921.97042  23221308.676    23221315.704    23221307.675
+       -54.575         -42.526          48.000          42.000
+ -12873305.98143 -10019962.49242  22879360.850    22879368.885    22879360.097
+      2289.390        1783.940          48.000          43.000
+ -19088824.85943 -14833509.15642  21706037.478    21706041.708    21706036.435
+      1026.662         799.996          55.000          47.000
+  -7100832.67243  -5501651.30642  23893327.939    23893334.931    23893328.046
+     -2467.602       -1922.807          46.000          40.000
+ 04  2  1  5  3 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19119730.20343 -14481469.56942  21413837.065    21413843.169    21413836.138
+      -459.139        -357.771          55.000          48.000
+ -22511400.36143 -17479517.52242  20403440.910    20403446.154    20403439.725
+      1029.196         801.971          55.000          49.000
+ -21721870.32943 -16738730.48342  21192006.830    21192011.869    21192005.117
+     -2054.776       -1601.124          56.000          49.000
+ -22963629.46543 -17864317.24742  21606622.286    21606628.111    21606620.897
+     -1384.260       -1078.644          53.000          47.000
+  -9387779.73243  -7300457.72142  23221667.116    23221671.982    23221665.307
+       -70.768         -55.144          49.000          42.000
+ -12941832.86743 -10073359.95942  22866320.932    22866327.938    22866319.221
+      2279.094        1775.917          48.000          43.000
+ -19119619.89843 -14857505.29842  21700176.961    21700181.130    21700176.030
+      1026.207         799.642          54.000          47.000
+  -7026616.86843  -5443820.86842  23907452.112    23907457.029    23907450.443
+     -2480.084       -1932.533          46.000          39.000
+ 04  2  1  5  4  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19105892.80543 -14470687.19442  21416470.039    21416476.079    21416469.283
+      -462.074        -360.058          55.000          48.000
+ -22542055.18643 -17503404.38042  20397607.474    20397612.881    20397606.413
+      1015.756         791.498          55.000          49.000
+ -21659993.41543 -16690514.75142  21203780.923    21203786.583    21203779.948
+     -2069.095       -1612.282          56.000          49.000
+ -22921791.86143 -17831716.54542  21614583.570    21614589.877    21614581.890
+     -1403.676       -1093.773          53.000          47.000
+  -9385405.35143  -7298607.60342  23222117.549    23222125.289    23222116.295
+       -86.304         -67.250          48.000          42.000
+ -13010034.75443 -10126504.17042  22853343.918    22853350.962    22853340.272
+      2268.792        1767.890          49.000          43.000
+ -19150384.85743 -14881478.00242  21694322.990    21694326.851    21694321.675
+      1025.899         799.402          55.000          47.000
+  -6952008.04543  -5385684.23742  23921649.413    23921655.273    23921648.780
+     -2492.600       -1942.286          45.000          39.000
+ 04  2  1  5  4 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19091947.79943 -14459820.97442  21419123.772    21419129.862    21419122.841
+      -466.560        -363.553          55.000          48.000
+ -22572291.07543 -17526964.79042  20391853.536    20391859.562    20391852.478
+      1000.994         779.995          55.000          49.000
+ -21597668.19143 -16641949.69642  21215641.797    21215646.624    21215640.399
+     -2084.853       -1624.561          56.000          49.000
+ -22879353.84243 -17798647.98642  21622658.373    21622665.904    21622656.909
+     -1424.559       -1110.046          53.000          47.000
+  -9382539.52543  -7296374.54042  23222663.977    23222670.476    23222663.193
+      -103.682         -80.791          49.000          42.000
+ -13077913.51943 -10179396.58542  22840426.491    22840433.878    22840424.806
+      2257.373        1758.992          49.000          43.000
+ -19181121.74843 -14905428.83942  21688473.728    21688478.390    21688473.317
+      1024.129         798.023          55.000          47.000
+  -6877010.69343  -5327244.82242  23935919.892    23935923.575    23935917.690
+     -2506.187       -1952.873          44.000          38.000
+ 04  2  1  5  5  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19077892.41143 -14448868.74242  21421798.424    21421804.564    21421797.246
+      -470.081        -366.297          55.000          48.000
+ -22602106.69543 -17550197.72342  20386179.977    20386185.629    20386178.786
+       987.116         769.181          55.000          49.000
+ -21534894.05143 -16593034.82442  21227587.399    21227592.218    21227585.844
+     -2099.734       -1636.156          56.000          49.000
+ -22836314.94443 -17765111.21742  21630849.653    21630855.733    21630847.658
+     -1444.362       -1125.477          53.000          47.000
+  -9379181.55143  -7293757.98042  23223303.167    23223309.270    23223300.669
+      -119.785         -93.339          49.000          42.000
+ -13145466.50943 -10232035.16842  22827570.662    22827577.514    22827568.623
+      2246.585        1750.586          49.000          42.000
+ -19211827.90543 -14929355.72842  21682630.469    21682634.199    21682629.743
+      1023.291         797.370          55.000          47.000
+  -6801625.10643  -5268502.85442  23950265.223    23950272.530    23950263.617
+     -2518.902       -1962.781          45.000          39.000
+ 04  2  1  5  5 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19063726.97243 -14437830.75542  21424494.607    21424499.944    21424493.311
+      -474.494        -369.735          55.000          48.000
+ -22631503.85343 -17573104.57742  20380586.026    20380591.262    20380584.671
+       972.654         757.912          55.000          49.000
+ -21471673.60143 -16543772.18442  21239617.709    21239622.527    21239616.067
+     -2115.140       -1648.161          56.000          49.000
+ -22792677.66243 -17731108.17242  21639153.233    21639159.207    21639151.789
+     -1464.762       -1141.373          53.000          47.000
+  -9375333.76043  -7290759.75242  23224035.280    23224040.938    23224034.258
+      -136.888        -106.666          48.000          42.000
+ -13212694.56443 -10284420.56842  22814777.975    22814783.732    22814775.236
+      2235.324        1741.811          48.000          42.000
+ -19242503.86343 -14953259.08842  21676793.191    21676797.411    21676792.363
+      1021.739         796.160          55.000          47.000
+  -6725854.56443  -5209460.94142  23964684.741    23964692.281    23964683.661
+     -2532.435       -1973.326          45.000          39.000
+ 04  2  1  5  6  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19049453.09543 -14426708.26942  21427210.683    21427216.245    21427209.505
+      -477.554        -372.120          55.000          48.000
+ -22660485.65643 -17595687.78042  20375071.013    20375076.078    20375069.848
+       959.344         747.541          55.000          49.000
+ -21408010.50043 -16494164.62842  21251732.318    21251737.755    21251730.641
+     -2129.254       -1659.159          55.000          49.000
+ -22748445.71043 -17696641.75242  21647570.156    21647576.908    21647569.598
+     -1483.876       -1156.267          53.000          47.000
+  -9370999.89643  -7287382.74442  23224860.259    23224867.230    23224857.841
+      -152.428        -118.775          49.000          42.000
+ -13279599.80743 -10336554.39542  22802045.326    22802053.989    22802044.155
+      2224.857        1733.655          49.000          43.000
+ -19273151.48343 -14977140.35742  21670960.323    21670965.106    21670960.297
+      1021.274         795.798          54.000          47.000
+  -6649703.84743  -5150122.79142  23979174.840    23979182.268    23979173.587
+     -2544.558       -1982.772          45.000          39.000
+ 04  2  1  5  6 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19035064.77743 -14415496.62042  21429948.717    21429954.662    21429947.187
+      -481.040        -374.836          55.000          48.000
+ -22689047.48243 -17617943.72942  20369635.920    20369640.958    20369634.858
+       945.464         736.725          56.000          49.000
+ -21343900.88843 -16444209.14542  21263931.730    21263937.323    21263930.449
+     -2143.930       -1670.595          55.000          49.000
+ -22703615.44943 -17661709.12542  21656101.741    21656107.297    21656099.869
+     -1503.887       -1171.860          53.000          47.000
+  -9366176.14843  -7283624.01242  23225778.817    23225783.841    23225777.520
+      -168.405        -131.225          49.000          42.000
+ -13346176.55443 -10388432.26442  22789377.054    22789383.971    22789375.571
+      2214.232        1725.376          50.000          43.000
+ -19303765.17343 -15000995.19842  21665135.111    21665139.279    21665134.262
+      1020.286         795.028          55.000          47.000
+  -6573170.12543  -5090486.18142  23993739.895    23993745.034    23993739.248
+     -2557.114       -1992.556          45.000          39.000
+ 04  2  1  5  7  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19020566.35843 -14404199.17642  21432706.918    21432713.268    21432706.325
+      -485.059        -377.968          55.000          48.000
+ -22717194.95643 -17639876.81242  20364279.278    20364284.394    20364278.082
+       931.395         725.762          55.000          49.000
+ -21279351.37743 -16393910.87642  21276215.699    21276220.711    21276214.034
+     -2158.937       -1682.288          56.000          49.000
+ -22658193.35843 -17626315.32142  21664744.674    21664751.175    21664743.720
+     -1523.786       -1187.366          53.000          47.000
+  -9360868.69743  -7279488.38742  23226787.846    23226793.630    23226787.989
+      -185.127        -144.255          49.000          42.000
+ -13412429.53343 -10440057.84742  22776768.901    22776777.000    22776767.672
+      2203.181        1716.764          49.000          43.000
+ -19334348.90143 -15024826.68942  21659315.836    21659319.798    21659314.783
+      1019.037         794.055          55.000          47.000
+  -6496260.35443  -5030556.56942  24008375.289    24008381.140    24008375.231
+     -2569.948       -2002.557          46.000          39.000
+ 04  2  1  5  7 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -19005951.65843 -14392811.12842  21435489.249    21435494.040    21435487.567
+      -489.367        -381.325          55.000          48.000
+ -22744923.69043 -17661483.61042  20359003.008    20359008.240    20359001.595
+       917.127         714.644          55.000          49.000
+ -21214358.07443 -16343266.79442  21288583.045    21288588.503    21288582.121
+     -2174.014       -1694.037          55.000          49.000
+ -22612175.65843 -17590457.40642  21673501.571    21673507.589    21673500.285
+     -1543.947       -1203.075          52.000          46.000
+  -9355073.80643  -7274972.91742  23227890.194    23227897.354    23227889.049
+      -201.418        -156.949          49.000          42.000
+ -13478353.08143 -10491426.74142  22764224.058    22764230.895    22764223.114
+      2191.809        1707.903          49.000          42.000
+ -19364896.53343 -15048630.05642  21653502.615    21653506.598    21653501.642
+      1017.483         792.844          55.000          47.000
+  -6418971.71643  -4970331.73242  24023082.391    24023088.511    24023082.505
+     -2582.768       -2012.546          46.000          39.000
+ 04  2  1  5  8  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -18991223.20843 -14381334.44942  21438291.313    21438297.275    21438290.454
+      -493.324        -384.408          55.000          48.000
+ -22772237.60143 -17682767.16642  20353805.090    20353810.383    20353803.802
+       903.165         703.765          55.000          49.000
+ -21148925.64143 -16292280.53042  21301034.939    21301039.995    21301033.118
+     -2188.808       -1705.565          56.000          49.000
+ -22565567.02043 -17554139.01942  21682371.019    21682377.516    21682369.740
+     -1563.964       -1218.673          52.000          46.000
+  -9348796.17443  -7270081.29942  23229084.114    23229091.212    23229083.868
+      -217.791        -169.707          48.000          42.000
+ -13543949.97243 -10542541.10442  22751741.601    22751748.266    22751739.534
+      2180.647        1699.205          50.000          43.000
+ -19395411.28243 -15072407.79542  21647695.625    21647699.666    21647694.750
+      1016.123         791.784          55.000          47.000
+  -6341309.78143  -4909816.00342  24037860.394    24037867.558    24037860.044
+     -2595.345       -2022.347          46.000          39.000
+ 04  2  1  5  8 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -18976381.66943 -14369769.65642  21441115.288    21441121.697    21441114.300
+      -497.463        -387.633          54.000          48.000
+ -22799138.93543 -17703729.22342  20348686.035    20348691.201    20348685.101
+       889.005         692.731          56.000          49.000
+ -21083056.98243 -16240954.35342  21313569.559    21313574.751    21313568.071
+     -2203.723       -1717.187          56.000          49.000
+ -22518370.56143 -17517362.58542  21691351.463    21691358.553    21691350.676
+     -1583.856       -1234.173          52.000          46.000
+  -9342038.58543  -7264815.67842  23230370.645    23230377.130    23230370.611
+      -233.995        -182.334          48.000          42.000
+ -13609221.51143 -10593401.93342  22739320.250    22739329.160    22739319.097
+      2169.344        1690.398          49.000          43.000
+ -19425893.93443 -15096160.50942  21641894.568    21641899.504    21641894.199
+      1014.657         790.642          55.000          47.000
+  -6263278.54043  -4849012.50742  24052709.301    24052717.020    24052709.147
+     -2608.003       -2032.210          46.000          39.000
+ 04  2  1  5  9  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -18961421.20843 -14358112.20142  21443962.844    21443968.005    21443961.523
+      -500.650        -390.117          55.000          48.000
+ -22825623.31743 -17724366.39142  20343646.310    20343651.529    20343644.775
+       875.942         682.552          55.000          49.000
+ -21016748.67243 -16189285.58742  21326187.558    21326192.515    21326185.853
+     -2217.547       -1727.959          56.000          49.000
+ -22470582.89743 -17480125.47842  21700445.502    21700452.350    21700444.712
+     -1602.666       -1248.831          52.000          46.000
+  -9334797.42743  -7259173.25842  23231747.941    23231756.818    23231747.518
+      -249.356        -194.303          48.000          42.000
+ -13674162.18343 -10644004.96542  22726961.484    22726969.998    22726960.315
+      2159.192        1682.487          49.000          43.000
+ -19456338.66643 -15119883.68742  21636101.586    21636106.204    21636100.952
+      1014.284         790.351          55.000          47.000
+  -6184874.92343  -4787918.85342  24067629.621    24067635.643    24067628.846
+     -2619.762       -2041.373          46.000          39.000
+ 04  2  1  5  9 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -18946345.69043 -14346365.07942  21446831.901    21446837.599    21446830.538
+      -504.436        -393.067          55.000          48.000
+ -22851696.31643 -17744682.99242  20338684.151    20338689.670    20338683.431
+       862.206         671.849          55.000          49.000
+ -20950006.92443 -16137279.07142  21338887.886    21338892.833    21338886.491
+     -2231.957       -1739.187          55.000          48.000
+ -22422210.42543 -17442432.67842  21709650.811    21709657.304    21709649.843
+     -1622.147       -1264.011          53.000          46.000
+  -9327079.01143  -7253158.96442  23233217.686    23233223.966    23233217.244
+      -265.367        -206.779          49.000          42.000
+ -13738776.58243 -10694353.74042  22714666.902    22714673.078    22714664.379
+      2148.301        1674.001          49.000          43.000
+ -19486749.48843 -15143580.43942  21630314.594    21630318.797    21630313.882
+      1013.152         789.469          55.000          47.000
+  -6106106.19543  -4726540.70442  24082618.877    24082624.780    24082617.648
+     -2631.520       -2050.535          47.000          39.000
+ 04  2  1  5 10  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -18931154.74943 -14334528.02242  21449722.129    21449728.329    21449721.033
+      -507.757        -395.655          55.000          48.000
+ -22877359.15443 -17764679.99342  20333801.048    20333806.710    20333799.884
+       849.199         661.713          56.000          49.000
+ -20882833.73843 -16084936.37942  21351669.721    21351675.794    21351668.800
+     -2245.655       -1749.861          55.000          48.000
+ -22373255.16343 -17404285.74942  21718967.068    21718973.419    21718965.258
+     -1640.859       -1278.591          52.000          46.000
+  -9318885.18843  -7246774.21042  23234776.248    23234783.222    23234775.305
+      -280.482        -218.557          49.000          42.000
+ -13803064.94943 -10744448.47842  22702432.470    22702441.132    22702431.804
+      2138.135        1666.079          49.000          42.000
+ -19517126.00943 -15167250.46442  21624533.653    21624538.538    21624533.160
+      1012.559         789.007          55.000          48.000
+  -6026975.13043  -4664880.20142  24097678.014    24097684.806    24097677.251
+     -2642.857       -2059.369          46.000          39.000
+ 04  2  1  5 10 30.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -18915844.58143 -14322598.05842  21452635.604    21452641.448    21452634.229
+      -511.750        -398.766          54.000          48.000
+ -22902609.64243 -17784355.67842  20328996.007    20329001.406    20328994.973
+       835.406         650.966          55.000          49.000
+ -20815227.80643 -16032256.47542  21364535.449    21364541.052    21364533.776
+     -2260.118       -1761.131          55.000          48.000
+ -22323715.78143 -17365683.67542  21728393.882    21728400.142    21728392.033
+     -1660.487       -1293.886          52.000          46.000
+  -9310214.42343  -7240017.82142  23236427.713    23236432.332    23236425.984
+      -296.318        -230.897          49.000          42.000
+ -13867023.84543 -10794286.48742  22690262.599    22690268.845    22690259.651
+      2127.018        1657.417          50.000          43.000
+ -19547464.82843 -15190891.11442  21618760.933    21618765.044    21618760.035
+      1011.272         788.004          55.000          48.000
+  -5947481.02543  -4602936.81342  24112806.667    24112811.649    24112804.345
+     -2655.250       -2069.026          46.000          39.000
+ 04  2  1  5 11  0.0000000  0  8G 1G27G20G 2G 4G 8G13G16
+ -18900414.67643 -14310574.80742  21455572.154    21455577.760    21455570.904
+      -515.879        -401.984          55.000          48.000
+ -22927449.00043 -17803711.00142  20324269.315    20324274.540    20324268.192
+       821.659         640.254          55.000          49.000
+ -20747191.14043 -15979240.94142  21377482.353    21377487.798    21377480.663
+     -2274.646       -1772.451          55.000          49.000
+ -22273594.45543 -17326628.13642  21737931.142    21737937.544    21737929.243
+     -1679.832       -1308.960          52.000          46.000
+  -9301068.97843  -7232891.54642  23238167.223    23238173.466    23238166.092
+      -312.138        -243.224          50.000          42.000
+ -13930653.58543 -10843868.00342  22678152.909    22678160.358    22678151.513
+      2115.987        1648.821          49.000          43.000
+ -19577765.45743 -15214501.99942  21612994.903    21612999.509    21612994.383
+      1009.836         786.885          55.000          48.000
+  -5867626.75443  -4540712.77242  24128002.056    24128006.041    24128000.309
+     -2667.343       -2078.449          47.000          39.000
+ 04  2  1  5 11 30.0000000  0  9G 1G27G20G 2G 4G 8G13G16G 3
+ -18884866.08543 -14298459.05642  21458531.361    21458536.590    21458530.021
+      -520.505        -405.588          55.000          48.000
+ -22951879.78843 -17822747.96342  20319620.249    20319625.357    20319618.958
+       807.316         629.077          55.000          49.000
+ -20678726.97043 -15925892.29142  21390511.118    21390515.834    21390509.428
+     -2289.463       -1783.997          56.000          49.000
+ -22222894.54243 -17287121.74642  21747579.992    21747586.102    21747578.461
+     -1699.783       -1324.506          53.000          46.000
+  -9291451.78343  -7225397.68342  23239996.908    23240003.765    23239998.167
+      -328.874        -256.265          49.000          42.000
+ -13993955.37443 -10893193.98642  22666107.069    22666115.015    22666105.606
+      2104.457        1639.837          49.000          43.000
+ -19608028.79243 -15238083.83042  21607235.958    21607240.772    21607235.224
+      1007.854         785.341          55.000          48.000
+  -5787416.41643  -4478211.30242  24143264.619    24143269.740    24143263.120
+     -2679.733       -2088.104          46.000          38.000
+                                  25455659.167
+      1131.263         881.504          42.000
+ 04  2  1  5 12  0.0000000  0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18869194.26843 -14286247.29042  21461512.560    21461518.254    21461511.454
+      -525.361        -409.372          54.000          48.000
+ -22975899.14943 -17841464.32042  20315049.349    20315054.893    20315048.493
+       792.833         617.792          55.000          49.000
+ -20609832.98343 -15872208.70642  21403621.152    21403625.985    21403619.424
+     -2304.649       -1795.830          56.000          49.000
+ -22171613.88343 -17247162.83542  21757339.005    21757344.539    21757337.262
+     -1719.876       -1340.163          53.000          46.000
+  -9281360.82443  -7217534.67942  23241917.773    23241924.318    23241916.771
+      -345.133        -268.935          48.000          42.000
+ -14056925.67443 -10942261.66342  22654124.040    22654131.887    22654122.269
+      2092.429        1630.464          49.000          42.000
+ -19638250.80943 -15261633.45442  21601485.518    21601489.315    21601484.720
+      1005.770         783.717          55.000          48.000
+                                  24828105.322
+      1248.089         972.537          43.000
+  -5706848.64943  -4415431.28042  24158596.446    24158601.402    24158595.056
+     -2692.478       -2098.035          46.000          38.000
+                                  25449213.409
+      1126.234         877.585          42.000
+ 04  2  1  5 12 30.0000000  0  9G 1G27G20G 2G 4G 8G13G24G16
+ -18853402.94343 -14273942.40742  21464518.278    21464523.854    21464517.124
+      -528.708        -411.980          55.000          48.000
+ -22999512.61643 -17859864.39842  20310556.288    20310561.084    20310554.729
+       780.158         607.915          56.000          49.000
+ -20540515.58043 -15818195.19542  21416811.791    21416816.597    21416810.191
+     -2317.895       -1806.152          55.000          48.000
+ -22119758.93943 -17206756.41342  21767205.803    21767212.003    21767204.320
+     -1738.220       -1354.457          52.000          46.000
+  -9270802.30943  -7209307.31742  23243928.068    23243934.816    23243926.636
+      -360.149        -280.635          48.000          42.000
+ -14119568.52043 -10991074.18242  22642204.033    22642208.953    22642203.099
+      2082.380        1622.634          49.000          42.000
+ -19668435.25343 -15285153.80542  21595741.335    21595745.317    21595740.732
+      1005.231         783.297          55.000          48.000
+                                  24821019.963
+      1232.695         960.542          44.000
+  -5625930.53743  -4352378.29542  24173994.236    24173999.710    24173993.970
+     -2703.318       -2106.481          45.000          38.000
+ 04  2  1  5 13  0.0000000  0  9G 1G27G20G 2G 4G 8G13G24G16
+ -18837485.56843 -14261539.29642  21467547.634    21467552.965    21467545.922
+      -532.800        -415.169          55.000          48.000
+ -23022715.10743 -17877944.23542  20306140.411    20306146.035    20306139.486
+       766.419         597.210          55.000          49.000
+ -20470770.60743 -15763848.51242  21430083.211    21430088.962    21430082.150
+     -2332.073       -1817.200          55.000          48.000
+ -22067325.70243 -17165899.38342  21777183.664    21777190.363    21777182.052
+     -1757.521       -1369.497          52.000          46.000
+  -9259772.12643  -7200712.40842  23246024.490    23246033.420    23246024.356
+      -375.690        -292.745          48.000          41.000
+ -14181878.12943 -11039627.05942  22630347.937    22630354.590    22630345.517
+      2071.286        1613.989          50.000          43.000
+ -19698575.27743 -15308639.54042  21590006.021    21590010.073    21590005.364
+      1003.808         782.188          55.000          48.000
+  -1062122.23753   -806855.84552  24814031.158    24814036.129    24814031.353
+      1216.436         947.872          44.000          35.000
+  -5544658.50043  -4289049.50642  24189459.831    24189465.402    24189458.731
+     -2714.979       -2115.568          45.000          38.000
+ 04  2  1  5 13 30.0000000  0  9G 1G27G20G 2G 4G 8G13G24G16
+ -18821445.59043 -14249040.64342  21470599.480    21470605.195    21470598.055
+      -536.603        -418.132          55.000          48.000
+ -23045511.71743 -17895707.80242  20301803.027    20301808.491    20301801.506
+       753.265         586.960          56.000          50.000
+ -20400603.92543 -15709173.23242  21443436.000    21443441.257    21443434.272
+     -2345.819       -1827.911          55.000          49.000
+ -22014320.21343 -17124596.44742  21787270.205    21787276.360    21787268.276
+     -1776.170       -1384.028          52.000          46.000
+  -9248276.03843  -7191754.48642  23248213.331    23248221.345    23248213.295
+      -390.981        -304.660          48.000          41.000
+ -14243858.42043 -11087923.30042  22618552.797    22618559.589    22618550.498
+      2060.674        1605.720          49.000          43.000
+ -19728674.55943 -15332093.52742  21584278.054    21584282.604    21584277.177
+      1002.740         781.356          55.000          48.000
+  -1098365.63543   -835097.41942  24807131.218    24807142.085    24807132.574
+      1200.051         935.105          41.000          34.000
+  -5463039.13843  -4225450.06242  24204992.197    24204995.549    24204990.407
+     -2726.183       -2124.298          46.000          38.000
+ 04  2  1  5 14  0.0000000  0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18805282.36043 -14236445.94742  21473675.156    21473681.079    21473673.901
+      -540.554        -421.211          54.000          48.000
+ -23067903.79443 -17913156.15142  20297541.510    20297546.714    20297540.242
+       739.902         576.547          56.000          49.000
+ -20330017.67243 -15654171.01042  21456868.331    21456873.874    21456866.801
+     -2359.605       -1838.653          55.000          48.000
+ -21960744.81643 -17082849.42342  21797464.507    21797471.438    21797463.471
+     -1795.022       -1398.718          52.000          46.000
+  -9236316.08143  -7182435.11142  23250488.783    23250498.927    23250487.106
+      -405.899        -316.285          47.000          41.000
+ -14305509.66443 -11135963.14742  22606821.461    22606826.995    22606820.785
+      2049.795        1597.243          50.000          43.000
+ -19758732.85843 -15355515.58542  21578557.894    21578562.160    21578557.089
+      1001.538         780.419          55.000          48.000
+  -1134118.21243   -862956.55442  24800329.805    24800337.630    24800328.584
+      1183.661         922.333          44.000          35.000
+  -5381075.31543  -4161582.22542  24220590.515    24220594.159    24220587.207
+     -2737.608       -2133.201          46.000          39.000
+  -1052424.78053   -801120.41652  25423659.534    25423669.038    25423655.245
+      1110.958         865.682          40.000          34.000
+ 04  2  1  5 14 30.0000000  0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18788991.09043 -14223751.48142  21476775.390    21476781.208    21476774.182
+      -545.344        -424.943          55.000          48.000
+ -23089888.23443 -17930286.86742  20293358.823    20293363.290    20293357.108
+       726.010         565.722          56.000          50.000
+ -20259009.60243 -15598840.10442  21470380.895    21470385.897    21470378.939
+     -2374.047       -1849.907          55.000          48.000
+ -21906597.20043 -17040656.50642  21807769.047    21807775.296    21807767.549
+     -1814.542       -1413.929          52.000          46.000
+  -9223890.00743  -7172752.50742  23252853.137    23252860.804    23252852.636
+      -421.906        -328.758          47.000          41.000
+ -14366827.85143 -11183743.47242  22595152.217    22595158.942    22595151.110
+      2038.527        1588.463          50.000          43.000
+ -19788745.26243 -15378901.87442  21572846.684    21572850.847    21572846.452
+       999.573         778.888          55.000          48.000
+  -1169375.62343   -890429.81942  24793619.807    24793629.128    24793619.741
+      1166.506         908.966          44.000          36.000
+  -5298765.55243  -4097444.81542  24236251.079    24236257.974    24236250.375
+     -2749.459       -2142.435          45.000          38.000
+  -1085678.79243   -827032.44242  25417331.312    25417341.455    25417327.699
+      1106.325         862.071          42.000          35.000
+ 04  2  1  5 15  0.0000000  0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18772574.96943 -14210959.72642  21479899.162    21479905.230    21479898.249
+      -549.727        -428.359          55.000          48.000
+ -23111470.12543 -17947103.90942  20289251.079    20289256.538    20289250.416
+       712.310         555.047          56.000          49.000
+ -20187585.32143 -15543184.87442  21483972.217    21483977.912    21483971.063
+     -2388.197       -1860.933          55.000          48.000
+ -21851883.33043 -16998022.36142  21818180.755    21818187.296    21818179.971
+     -1833.558       -1428.746          52.000          46.000
+  -9211003.62043  -7162711.23242  23255305.759    23255312.684    23255304.841
+      -437.655        -341.030          47.000          41.000
+ -14427816.76243 -11231267.21742  22583546.849    22583553.577    22583545.083
+      2027.120        1579.574          50.000          43.000
+ -19818715.07543 -15402254.98442  21567143.879    21567148.198    21567142.942
+       997.875         777.565          55.000          48.000
+  -1204141.53543   -917520.17242  24787006.306    24787010.222    24787004.211
+      1150.113         896.192          46.000          36.000
+  -5216116.38443  -4033042.95142  24251979.058    24251986.313    24251978.365
+     -2761.169       -2151.560          45.000          38.000
+  -1118802.88253   -852843.25352  25411026.364    25411035.343    25411023.909
+      1101.162         858.048          40.000          34.000
+ 04  2  1  5 15 30.0000000  0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18756029.32643 -14198067.04842  21483047.542    21483053.570    21483046.573
+      -553.450        -431.260          55.000          48.000
+ -23132646.48243 -17963604.95442  20285221.689    20285226.471    20285220.499
+       699.281         544.894          56.000          49.000
+ -20115742.82643 -15487203.75942  21497643.814    21497649.092    21497641.956
+     -2401.498       -1871.297          55.000          48.000
+ -21796601.42843 -16954945.59042  21828701.029    21828706.707    21828699.660
+     -1851.988       -1443.107          52.000          46.000
+  -9197654.86843  -7152309.67242  23257845.982    23257852.772    23257845.288
+      -452.608        -352.681          47.000          41.000
+ -14488472.52243 -11278531.36542  22572003.363    22572010.555    22572002.060
+      2016.407        1571.226          49.000          43.000
+ -19848637.80143 -15425571.40342  21561449.322    21561454.269    21561448.781
+       996.807         776.733          55.000          48.000
+  -1238411.67943   -944224.17642  24780482.777    24780492.157    24780482.635
+      1134.382         883.934          44.000          36.000
+  -5133126.43343  -3968375.52742  24267772.071    24267779.830    24267770.544
+     -2771.554       -2159.652          44.000          38.000
+  -1151791.14643   -878548.23642  25404748.151    25404760.543    25404749.227
+      1097.201         854.962          42.000          36.000
+ 04  2  1  5 16  0.0000000  0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18739356.37343 -14185075.16842  21486220.686    21486226.762    21486219.363
+      -557.198        -434.180          55.000          48.000
+ -23153421.38843 -17979793.18842  20281268.162    20281273.110    20281267.086
+       686.470         534.912          55.000          50.000
+ -20043487.00543 -15430900.57942  21511393.755    21511399.023    21511391.790
+     -2414.712       -1881.594          55.000          48.000
+ -21740756.38743 -16911430.01042  21839328.047    21839334.550    21839326.564
+     -1870.191       -1457.292          52.000          46.000
+  -9183848.39243  -7141551.44842  23260474.635    23260480.352    23260473.935
+      -467.261        -364.099          48.000          41.000
+ -14548798.12443 -11325538.25042  22560523.621    22560531.836    22560522.672
+      2006.074        1563.175          49.000          43.000
+ -19878515.59743 -15448852.81142  21555763.971    21555768.535    21555763.092
+       995.784         775.936          55.000          48.000
+  -1272188.69643   -970543.93942  24774055.869    24774064.337    24774054.149
+      1118.515         871.570          43.000          36.000
+  -5049800.96143  -3903446.68242  24283626.736    24283636.320    24283625.809
+     -2782.559       -2168.228          43.000          38.000
+  -1184644.06843   -904147.74842  25398497.785    25398508.835    25398496.202
+      1093.601         852.157          43.000          36.000
+ 04  2  1  5 16 30.0000000  0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18722556.08943 -14171984.05742  21489417.624    21489423.530    21489416.252
+      -562.350        -438.195          54.000          48.000
+ -23173796.72543 -17995670.06842  20277390.654    20277395.773    20277389.511
+       672.334         523.897          55.000          50.000
+ -19970820.32343 -15374277.24842  21525221.633    21525226.874    21525220.091
+     -2429.259       -1892.929          55.000          48.000
+ -21684351.08043 -16867477.85842  21850061.617    21850067.466    21850060.377
+     -1889.733       -1472.519          52.000          46.000
+  -9169586.90043  -7130438.66742  23263188.217    23263195.125    23263187.544
+      -483.143        -376.475          48.000          41.000
+ -14608794.29043 -11372288.42642  22549106.679    22549114.623    22549104.554
+      1994.064        1553.816          50.000          43.000
+ -19908348.72643 -15472099.41342  21550087.283    21550091.161    21550086.443
+       993.533         774.182          55.000          48.000
+  -1305473.38443   -996480.00142  24767722.475    24767730.493    24767720.694
+      1100.949         857.882          43.000          35.000
+  -4966143.65443  -3838259.24942  24299548.264    24299556.743    24299545.945
+     -2794.297       -2177.374          43.000          38.000
+  -1217360.38843   -929640.79742  25392268.943    25392282.729    25392267.943
+      1088.231         847.972          41.000          36.000
+ 04  2  1  5 17  0.0000000  0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18705625.06943 -14158791.07342  21492638.881    21492644.864    21492637.799
+      -567.096        -441.893          54.000          48.000
+ -23193770.79843 -18011234.28042  20273589.900    20273595.307    20273588.797
+       658.651         513.235          55.000          49.000
+ -19897742.06443 -15317333.21042  21539127.862    21539133.135    21539126.354
+     -2443.390       -1903.940          55.000          48.000
+ -21627384.68443 -16823088.50042  21860901.427    21860907.967    21860899.578
+     -1908.763       -1487.348          52.000          46.000
+  -9154869.72443  -7118970.80342  23265988.474    23265994.502    23265988.588
+      -498.736        -388.625          48.000          41.000
+ -14668458.32843 -11418779.79242  22537753.175    22537760.784    22537751.180
+      1982.727        1544.982          50.000          43.000
+ -19938133.50043 -15495308.33642  21544419.396    21544423.448    21544418.795
+       991.487         772.587          56.000          48.000
+  -1338262.15543  -1022029.67542  24761482.265    24761487.812    24761480.578
+      1084.230         844.855          43.000          34.000
+  -4882154.13043  -3772812.94142  24315530.580    24315537.382    24315529.395
+     -2805.500       -2186.104          44.000          38.000
+  -1249935.34143   -955023.68442  25386071.417    25386082.841    25386071.348
+      1082.844         843.775          41.000          34.000
+ 04  2  1  5 17 30.0000000  0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18688563.80143 -14145496.59142  21495885.790    21495891.802    21495884.448
+      -571.232        -445.116          54.000          48.000
+ -23213345.72343 -18026487.46442  20269864.799    20269870.191    20269863.637
+       645.519         503.002          55.000          49.000
+ -19824255.49843 -15260071.01642  21553112.407    21553117.165    21553110.566
+     -2456.623       -1914.252          55.000          48.000
+ -21569860.65843 -16778264.62442  21871848.145    21871854.825    21871847.017
+     -1927.104       -1501.639          52.000          46.000
+  -9139700.02443  -7107150.34042  23268874.853    23268881.884    23268874.241
+      -513.477        -400.112          47.000          42.000
+ -14727791.42143 -11465013.28442  22526462.503    22526469.648    22526461.002
+      1971.936        1536.574          50.000          43.000
+ -19967870.53643 -15518480.06342  21538760.705    21538764.872    21538759.764
+       990.049         771.467          56.000          48.000
+  -1370556.60743  -1047194.23642  24755335.011    24755346.576    24755335.999
+      1067.948         832.167          44.000          35.000
+  -4797836.29543  -3707110.79042  24331576.552    24331582.925    24331574.647
+     -2816.232       -2194.466          45.000          39.000
+  -1282367.74643   -980295.50042  25379898.967    25379913.366    25379900.847
+      1078.226         840.176          41.000          33.000
+ 04  2  1  5 18  0.0000000  0 10G 1G27G20G 2G 4G 8G13G24G16G 3
+ -18671370.33143 -14132099.09842  21499158.039    21499163.565    21499156.590
+      -576.064        -448.881          54.000          48.000
+ -23232521.69343 -18041429.77342  20266215.859    20266220.963    20266214.628
+       631.956         492.433          55.000          49.000
+ -19750361.10743 -15202491.02242  21567173.538    21567178.958    21567172.415
+     -2470.609       -1925.150          55.000          48.000
+ -21511780.00143 -16733007.02342  21882900.544    21882907.084    21882899.371
+     -1945.949       -1516.324          52.000          46.000
+  -9124078.24043  -7094977.58242  23271845.844    23271855.326    23271846.765
+      -528.877        -412.112          47.000          41.000
+ -14786792.63543 -11510988.17442  22515235.235    22515242.261    22515233.737
+      1960.438        1527.614          50.000          43.000
+ -19997557.74343 -15541612.95342  21533111.075    21533115.260    21533110.397
+       988.006         769.875          56.000          48.000
+  -1402355.36843  -1071972.47142  24749285.874    24749293.148    24749285.493
+      1050.937         818.912          44.000          35.000
+  -4713191.66843  -3641154.00142  24347683.697    24347690.928    24347681.482
+     -2827.912       -2203.568          45.000          38.000
+  -1314653.91943  -1005453.36642  25373754.295    25373767.786    25373755.114
+      1073.527         836.515          40.000          33.000
+ 04  2  1  5 18 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18654042.99343 -14118597.28642  21502455.000    21502461.045    21502453.381
+      -579.671        -451.692          54.000          48.000
+ -23251299.04643 -18056061.47342  20262642.462    20262647.692    20262641.272
+       619.423         482.667          55.000          49.000
+ -19676060.16343 -15144594.24042  21581312.717    21581318.129    21581311.451
+     -2483.221       -1934.977          55.000          48.000
+ -21453144.03343 -16687316.70942  21894058.620    21894065.266    21894057.005
+     -1963.586       -1530.067          52.000          46.000
+  -9108005.75343  -7082453.62442  23274907.316    23274913.852    23274906.140
+      -543.026        -423.137          47.000          41.000
+ -14845461.10643 -11556703.78942  22504070.158    22504076.484    22504070.809
+      1950.246        1519.672          50.000          44.000
+ -20027193.97743 -15564706.13642  21527471.224    21527475.610    21527470.684
+       987.155         769.212          55.000          48.000
+   -982674.71953   -742994.21552  24932036.367    24932051.156    24932037.196
+      1417.596        1104.620          40.000          34.000
+  -1433656.98643  -1096363.33042  24743326.884    24743338.449    24743328.093
+      1034.918         806.430          43.000          36.000
+  -4628222.03343  -3574943.96842  24363853.801    24363859.591    24363851.585
+     -2837.386       -2210.950          45.000          38.000
+                  -1030495.06742  25367644.102    25367652.533
+      1069.144         833.099          37.000          32.000
+ 04  2  1  5 19  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18636580.09843 -14104989.84842  21505777.905    21505784.134    21505777.161
+      -584.295        -455.295          54.000          48.000
+ -23269677.86243 -18070382.63242  20259145.218    20259150.385    20259143.935
+       605.932         472.155          56.000          49.000
+ -19601353.62643 -15086381.42242  21595528.025    21595534.098    21595526.851
+     -2497.059       -1945.760          54.000          48.000
+ -21393953.98643 -16641194.64142  21905321.671    21905328.727    21905320.123
+     -1982.270       -1544.626          52.000          46.000
+  -9091483.60643  -7069579.26642  23278050.469    23278057.678    23278049.566
+      -558.112        -434.892          47.000          42.000
+ -14903796.20143 -11602159.63142  22492969.804    22492976.807    22492968.103
+      1938.935        1510.858          50.000          44.000
+ -20056777.29443 -15587758.08642  21521841.512    21521846.170    21521840.952
+       985.197         767.686          55.000          48.000
+  -1025242.54743   -776163.53642  24923938.506    24923952.195    24923936.216
+      1419.606        1106.186          42.000          35.000
+  -1464460.56043  -1120366.10142  24737468.790    24737476.754    24737466.560
+      1018.615         793.726          46.000          37.000
+  -4542928.91743  -3508481.88142  24380082.904    24380090.728    24380081.260
+     -2848.348       -2219.492          44.000          38.000
+ 04  2  1  5 19 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18618984.40043 -14091278.92342  21509126.222    21509132.409    21509125.098
+      -589.407        -459.278          54.000          48.000
+ -23287662.92243 -18084396.96242  20255723.049    20255727.670    20255721.949
+       592.183         461.441          56.000          49.000
+ -19526247.01943 -15027856.86242  21609820.844    21609826.685    21609819.459
+     -2510.866       -1956.519          54.000          48.000
+ -21334215.47743 -16594645.19842  21916690.216    21916697.312    21916689.266
+     -2000.934       -1559.169          52.000          46.000
+  -9074517.14643  -7056358.70042  23281278.496    23281287.931    23281278.479
+      -573.283        -446.714          47.000          41.000
+ -14961801.31543 -11647358.34042  22481931.547    22481937.835    22481929.852
+      1927.318        1501.806          50.000          43.000
+ -20086310.62843 -15610771.07542  21516222.619    21516226.572    21516221.471
+       982.898         765.895          56.000          48.000
+  -1067884.92343   -809390.99642  24915823.616    24915835.961    24915819.022
+      1421.225        1107.448          41.000          34.000
+  -1494769.10643  -1143983.15042  24731700.378    24731709.238    24731698.130
+      1001.450         780.351          45.000          37.000
+  -4457318.54343  -3441772.56542  24396371.587    24396380.351    24396371.364
+     -2859.359       -2228.072          42.000          37.000
+ 04  2  1  5 20  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18601251.42343 -14077461.02642  21512501.038    21512506.914    21512499.674
+      -593.152        -462.196          54.000          48.000
+ -23305251.63043 -18098102.44542  20252376.397    20252380.903    20252374.868
+       579.933         451.896          56.000          50.000
+ -19450738.55643 -14969019.16342  21624189.629    21624195.302    21624188.178
+     -2523.435       -1966.313          54.000          48.000
+ -21273926.98343 -16547667.19642  21928161.718    21928169.342    21928160.184
+     -2018.510       -1572.865          51.000          46.000
+  -9057104.93143  -7042790.80542  23284593.450    23284598.171    23284592.308
+      -587.561        -457.840          48.000          41.000
+ -15019473.15443 -11692297.37042  22470957.114    22470963.575    22470955.527
+      1917.179        1493.906          50.000          44.000
+ -20115789.20143 -15633741.39942  21510612.700    21510617.198    21510611.582
+       981.959         765.163          55.000          48.000
+  -1110596.21243   -842672.14042  24907694.826    24907708.486    24907690.451
+      1424.726        1110.176          41.000          34.000
+  -1524579.41843  -1167211.90942  24726027.006    24726035.937    24726027.199
+       985.387         767.834          44.000          36.000
+  -4371389.71143  -3374815.15742  24412724.991    24412733.502    24412725.375
+     -2869.400       -2235.896          43.000          37.000
+ 04  2  1  5 20 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18583381.91843 -14063536.73842  21515901.898    21515907.381    21515900.628
+      -597.960        -465.943          54.000          48.000
+ -23322446.46543 -18111501.01842  20249103.723    20249108.515    20249102.654
+       566.575         441.487          56.000          49.000
+ -19374831.57243 -14909870.92242  21638634.437    21638640.323    21638633.334
+     -2536.863       -1976.776          54.000          48.000
+ -21213092.25343 -16500263.54642  21939739.481    21939745.375    21939737.980
+     -2036.876       -1587.176          52.000          45.000
+  -9039250.14843  -7028878.03342  23287990.433    23287998.202    23287990.014
+      -602.536        -469.508          48.000          41.000
+ -15076813.02243 -11736977.73042  22460045.814    22460051.698    22460044.871
+      1906.013        1485.205          50.000          44.000
+ -20145213.85043 -15656669.70342  21505013.030    21505017.301    21505012.608
+       979.943         763.592          55.000          48.000
+  -1153375.60043   -876006.38842  24899552.127    24899568.404    24899551.152
+      1426.986        1111.937          41.000          35.000
+  -1553892.72843  -1190053.48242  24720450.820    24720456.967    24720448.636
+       968.456         754.641          44.000          36.000
+  -4285146.60643  -3307612.80042  24429136.646    24429145.619    24429136.812
+     -2879.779       -2243.984          42.000          37.000
+ 04  2  1  5 21  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18565374.66943 -14049505.12742  21519328.561    21519334.286    21519327.220
+      -602.554        -469.522          54.000          48.000
+ -23339248.45043 -18124593.46842  20245906.168    20245911.365    20245905.389
+       553.528         431.321          56.000          49.000
+ -19298527.87743 -14850413.56642  21653154.409    21653160.826    21653153.194
+     -2550.128       -1987.113          55.000          48.000
+ -21151713.23043 -16452435.78242  21951418.826    21951425.737    21951417.785
+     -2054.940       -1601.252          51.000          45.000
+  -9020954.83243  -7014621.99442  23291472.014    23291479.094    23291471.877
+      -617.159        -480.903          48.000          41.000
+ -15133820.74443 -11781399.26542  22449197.173    22449203.781    22449196.006
+      1894.746        1476.425          50.000          44.000
+ -20174583.42943 -15679555.09042  21499424.643    21499428.643    21499423.615
+       978.127         762.177          56.000          48.000
+  -1196220.69743   -909391.80542  24891399.654    24891413.007    24891401.533
+      1429.792        1114.124          41.000          34.000
+  -1582708.64743  -1212507.46742  24714964.810    24714975.618    24714963.605
+       952.913         742.530          43.000          36.000
+  -4198591.59843  -3240167.41742  24445609.160    24445613.905    24445607.227
+     -2890.392       -2252.253          43.000          37.000
+ 04  2  1  5 21 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18547231.02743 -14035367.23042  21522781.193    21522786.681    21522779.840
+      -607.193        -473.137          54.000          48.000
+ -23355660.65543 -18137382.19642  20242783.381    20242788.438    20242782.088
+       540.428         421.113          56.000          49.000
+ -19221831.71643 -14790650.38142  21667749.630    21667755.343    21667748.288
+     -2563.173       -1997.278          55.000          48.000
+ -21089794.02443 -16404187.09042  21963202.189    21963208.757    21963200.692
+     -2072.976       -1615.306          52.000          46.000
+  -9002222.84843  -7000025.68842  23295035.729    23295043.715    23295035.858
+      -631.632        -492.181          47.000          41.000
+ -15190498.64443 -11825563.81042  22438412.679    22438418.536    22438410.963
+      1883.693        1467.813          51.000          44.000
+ -20203899.15843 -15702398.51542  21493845.109    21493850.303    21493844.781
+       976.208         760.682          55.000          48.000
+  -1239131.36243   -942828.29542  24883232.982    24883250.177    24883231.435
+      1430.177        1114.424          41.000          34.000
+  -1611029.09643  -1234575.39242  24709578.369    24709584.983    24709577.728
+       935.475         728.942          44.000          35.000
+  -4111729.36243  -3172482.64942  24462138.647    24462145.762    24462137.234
+     -2900.633       -2260.233          43.000          37.000
+ 04  2  1  5 22  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18528947.62343 -14021120.43842  21526259.627    21526265.568    21526258.869
+      -611.894        -476.800          54.000          47.000
+ -23371681.86443 -18149866.24942  20239734.343    20239739.578    20239733.196
+       527.374         410.941          56.000          50.000
+ -19144742.41943 -14730580.86042  21682419.380    21682425.247    21682418.013
+     -2576.245       -2007.464          55.000          48.000
+ -21027334.69643 -16355517.52542  21975086.893    21975094.073    21975086.034
+     -2091.039       -1629.381          51.000          45.000
+  -8983053.87743  -6985088.88742  23298684.663    23298692.825    23298682.850
+      -646.243        -503.566          48.000          42.000
+ -15246844.31043 -11869469.46042  22427689.942    22427696.075    22427687.642
+      1872.599        1459.168          50.000          44.000
+ -20233157.92243 -15725197.54842  21488278.098    21488282.955    21488277.562
+       974.207         759.122          56.000          48.000
+  -1282102.98643   -976312.33542  24875058.807    24875069.596    24875057.332
+      1433.011        1116.632          42.000          34.000
+  -1638851.50443  -1256255.22142  24704281.528    24704290.266    24704282.505
+       918.805         715.952          44.000          36.000
+  -4024559.82243  -3104558.42342  24478725.940    24478732.589    24478723.944
+     -2910.466       -2267.895          42.000          37.000
+ 04  2  1  5 22 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18510521.89543 -14006762.74142  21529766.383    21529772.268    21529765.329
+      -616.586        -480.457          54.000          48.000
+ -23387311.67043 -18162045.31842  20236760.251    20236765.460    20236759.201
+       514.476         400.890          56.000          50.000
+ -19067260.14143 -14670205.12242  21697163.726    21697169.833    21697161.965
+     -2589.320       -2017.652          54.000          48.000
+ -20964335.73443 -16306427.46842  21987076.477    21987082.439    21987075.540
+     -2108.824       -1643.239          52.000          45.000
+  -8963448.36543  -6969811.95142  23302415.983    23302422.107    23302415.761
+      -660.707        -514.837          48.000          41.000
+ -15302856.16443 -11913115.00542  22417030.779    22417036.933    22417029.537
+      1861.502        1450.521          51.000          44.000
+ -20262357.03343 -15747950.11142  21482721.466    21482726.382    21482720.831
+       972.348         757.674          55.000          48.000
+  -1325131.61443  -1009840.72542  24866867.696    24866883.416    24866865.420
+      1435.115        1118.271          38.000          34.000
+  -1666174.29343  -1277545.76742  24699082.453    24699091.595    24699080.998
+       902.093         702.930          44.000          37.000
+  -3937084.04543  -3036395.54642  24495371.242    24495378.800    24495369.461
+     -2920.737       -2275.899          41.000          36.000
+ 04  2  1  5 23  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18491954.79943 -13992294.88942  21533299.242    21533305.833    21533298.310
+      -621.706        -484.446          54.000          48.000
+ -23402552.93043 -18173921.61942  20233859.654    20233865.338    20233858.677
+       501.163         390.517          56.000          50.000
+ -18989388.59343 -14609526.05642  21711982.550    21711987.977    21711981.180
+     -2602.608       -2028.006          54.000          47.000
+ -20900801.20443 -16256920.08042  21999166.427    21999172.911    21999165.187
+     -2127.112       -1657.490          51.000          45.000
+  -8943409.97743  -6954197.68842  23306229.372    23306235.787    23306228.953
+      -675.580        -526.426          49.000          41.000
+ -15358536.13443 -11956501.93442  22406434.483    22406441.062    22406434.717
+      1850.203        1441.717          50.000          44.000
+ -20291497.39343 -15770656.87242  21477175.852    21477180.632    21477175.426
+       969.973         755.823          55.000          48.000
+  -1368216.84243  -1043413.27342  24858667.829    24858684.565    24858666.568
+      1436.594        1119.424          39.000          33.000
+  -1692999.40143  -1298448.44642  24693978.767    24693987.011    24693977.425
+       885.447         689.959          45.000          37.000
+  -3849306.30143  -2967997.41742  24512074.202    24512082.418    24512072.324
+     -2931.360       -2284.177          42.000          36.000
+ 04  2  1  5 23 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18473245.06343 -13977715.89542  21536859.552    21536865.385    21536858.424
+      -626.451        -488.144          54.000          47.000
+ -23417406.50743 -18185495.83242  20231032.535    20231038.514    20231031.857
+       488.357         380.538          55.000          50.000
+ -18911129.66643 -14548545.14442  21726874.212    21726880.127    21726872.880
+     -2615.480       -2038.036          54.000          47.000
+ -20836732.95843 -16206996.80442  22011358.001    22011364.677    22011356.559
+     -2144.900       -1671.351          51.000          45.000
+  -8922940.69243  -6938247.65042  23310122.537    23310130.093    23310122.452
+      -689.887        -537.574          46.000          41.000
+ -15413884.15543 -11999630.19542  22395903.052    22395909.453    22395901.031
+      1839.053        1433.028          51.000          44.000
+ -20320577.86943 -15793316.98342  21471642.631    21471647.026    21471641.639
+       967.950         754.247          56.000          48.000
+  -1411356.13643  -1077027.92842  24850458.515    24850472.388    24850455.442
+      1438.122        1120.615          39.000          34.000
+  -1719326.13543  -1318962.76342  24688968.325    24688978.229    24688968.076
+       868.908         677.071          46.000          38.000
+  -3761229.00343  -2899365.83842  24528837.628    24528842.192    24528836.347
+     -2940.924       -2291.629          43.000          37.000
+ 04  2  1  5 24  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18454392.21843 -13963025.38042  21540447.309    21540453.628    21540446.082
+      -630.473        -491.278          54.000          47.000
+ -23431873.97443 -18196769.18242  20228280.030    20228285.018    20228279.145
+       476.095         370.983          56.000          50.000
+ -18832485.85343 -14487264.31542  21741839.424    21741845.501    21741838.503
+     -2627.863       -2047.685          54.000          47.000
+ -20772133.58143 -16156659.65542  22023650.783    22023657.762    22023649.066
+     -2161.900       -1684.597          51.000          45.000
+  -8902042.87543  -6921963.71242  23314100.756    23314107.363    23314100.047
+      -703.437        -548.133          49.000          41.000
+ -15468900.64843 -12042500.13642  22385433.797    22385440.538    22385432.386
+      1828.742        1424.994          51.000          44.000
+ -20349597.92843 -15815930.01242  21466120.142    21466124.811    21466119.678
+       966.504         753.120          56.000          48.000
+  -1454547.58243  -1110683.30142  24842240.545    24842253.307    24842241.406
+      1440.839        1122.732          38.000          34.000
+  -1745154.83243  -1339089.02242  24684053.539    24684060.379    24684052.778
+       853.043         664.709          46.000          38.000
+  -3672855.05843  -2830503.11342  24545653.148    24545660.764    24545651.948
+     -2950.398       -2299.011          43.000          37.000
+ 04  2  1  5 24 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18435394.75843 -13948222.18142  21544062.939    21544068.549    21544061.412
+      -635.640        -495.304          54.000          48.000
+ -23445955.92243 -18207742.12242  20225601.252    20225605.487    20225599.830
+       462.909         360.708          56.000          50.000
+ -18753458.56043 -14425684.68042  21756878.619    21756883.954    21756877.121
+     -2640.745       -2057.723          54.000          48.000
+ -20707004.80543 -16105910.00042  22036044.600    22036050.834    22036042.824
+     -2179.994       -1698.697          51.000          45.000
+  -8880718.24343  -6905347.17142  23318158.349    23318165.782    23318158.791
+      -717.881        -559.388          48.000          41.000
+ -15523585.12843 -12085111.35042  22375027.571    22375033.983    22375025.992
+      1817.174        1415.980          51.000          44.000
+ -20378555.90443 -15838494.67242  21460609.956    21460614.071    21460609.113
+       964.184         751.312          56.000          48.000
+  -1497788.41043  -1144377.08442  24834011.500    24834025.371    24834010.453
+      1442.412        1123.957          41.000          35.000
+  -1770485.34343  -1358827.10142  24679233.156    24679242.863    24679231.672
+       836.353         651.704          45.000          37.000
+  -3584186.35343  -2761410.69642  24562525.496    24562534.641    24562523.570
+     -2960.694       -2307.034          42.000          37.000
+ 04  2  1  5 25  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G16
+ -18416247.48543 -13933302.24742  21547706.434    21547711.486    21547705.482
+      -640.205        -498.861          55.000          48.000
+ -23459649.11243 -18218412.13742  20222994.708    20223000.063    20222993.629
+       450.425         350.981          56.000          50.000
+ -18674045.36743 -14363804.33342  21771990.820    21771996.521    21771989.628
+     -2653.041       -2067.305          55.000          48.000
+ -20641344.64743 -16054746.25942  22048539.598    22048545.572    22048537.701
+     -2197.011       -1711.957          51.000          45.000
+  -8858964.09043  -6888395.98842  23322298.274    23322305.378    23322298.285
+      -731.819        -570.248          48.000          41.000
+ -15577933.33543 -12127460.55642  22364684.993    22364691.842    22364684.076
+      1806.629        1407.763          50.000          44.000
+ -20407446.63743 -15861006.93442  21455111.534    21455116.207    21455111.319
+       962.366         749.896          56.000          48.000
+  -1541071.83943  -1178104.10642  24825774.553    24825788.999    24825773.681
+      1443.475        1124.786          41.000          36.000
+  -1795313.00843  -1378173.36342  24674509.131    24674516.350    24674506.583
+       819.822         638.822          46.000          37.000
+  -3495221.46443  -2692087.44342  24579454.633    24579461.825    24579453.529
+     -2970.454       -2314.639          42.000          37.000
+ 04  2  1  5 25 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18396962.59643 -13918275.08542  21551375.447    21551381.581    21551374.818
+      -645.516        -502.999          54.000          48.000
+ -23472967.87043 -18228790.38042  20220460.810    20220465.633    20220459.444
+       437.385         340.819          56.000          50.000
+ -18594261.35243 -14301635.04942  21787172.446    21787178.626    21787171.269
+     -2665.905       -2077.328          54.000          47.000
+ -20575168.42743 -16003180.41642  22061133.018    22061138.732    22061132.044
+     -2214.599       -1725.661          52.000          45.000
+  -8836795.83543  -6871122.09942  23326517.283    23326523.059    23326516.818
+      -746.188        -581.445          48.000          41.000
+ -15631958.71543 -12169558.19542  22354404.494    22354411.199    22354402.777
+      1795.007        1398.707          51.000          44.000
+ -20436281.95343 -15883476.01942  21449624.976    21449629.207    21449623.773
+       959.884         747.962          56.000          48.000
+  -1584408.79543  -1211872.83742  24817528.552    24817540.335    24817527.130
+      1445.236        1126.158          43.000          36.000
+  -1819651.03543  -1397138.12742  24669877.869    24669885.366    24669876.229
+       802.839         625.589          45.000          37.000
+  -3405975.80443  -2622545.41842  24596438.355    24596446.311    24596437.972
+     -2979.841       -2321.954          44.000          38.000
+                                  25285234.462
+       990.835         772.079          44.000
+ 04  2  1  5 26  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18377525.01943 -13903128.94642  21555074.084    21555080.413    21555073.141
+      -650.949        -507.233          54.000          48.000
+ -23485899.19143 -18238866.71942  20217999.743    20218004.787    20217998.498
+       424.019         330.404          56.000          50.000
+ -18514094.40643 -14239167.37342  21802427.427    21802433.566    21802426.557
+     -2679.148       -2087.648          54.000          47.000
+ -20508464.34943 -15951203.25042  22073825.903    22073832.522    22073824.647
+     -2232.719       -1739.781          52.000          45.000
+  -8814201.37043  -6853516.10142  23330816.002    23330822.939    23330816.070
+      -760.813        -592.841          47.000          41.000
+ -15685647.12843 -12211393.25942  22344188.326    22344194.314    22344185.702
+      1783.332        1389.609          51.000          45.000
+ -20465046.82343 -15905890.21242  21444151.151    21444155.418    21444150.409
+       957.168         745.845          56.000          48.000
+  -1627782.74643  -1245670.40042  24809274.465    24809285.640    24809273.366
+      1445.563        1126.413          44.000          37.000
+  -1843485.14843  -1415710.20142  24665342.474    24665348.063    24665340.393
+       785.578         612.139          44.000          36.000
+  -3316437.66243  -2552775.52242  24613476.654    24613485.877    24613475.992
+     -2989.599       -2329.558          43.000          37.000
+                                  25279595.645
+       984.040         766.784          44.000
+ 04  2  1  5 26 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18357940.75143 -13887868.49642  21558801.945    21558807.655    21558800.297
+      -654.867        -510.286          55.000          48.000
+ -23498451.16343 -18248647.46242  20215610.692    20215616.288    20215609.550
+       412.439         321.381          55.000          50.000
+ -18433553.74543 -14176408.48342  21817754.446    21817760.147    21817753.027
+     -2690.466       -2096.467          54.000          47.000
+ -20441241.98543 -15898822.24642  22086617.628    22086624.610    22086616.816
+     -2248.987       -1752.457          51.000          45.000
+  -8791190.07443  -6835585.30142  23335195.661    23335202.665    23335194.300
+      -773.519        -602.742          48.000          41.000
+ -15739005.98243 -12252971.51842  22334034.126    22334040.829    22334032.601
+      1773.653        1382.067          51.000          44.000
+ -20493747.38343 -15928254.29442  21438689.688    21438693.658    21438688.629
+       955.952         744.898          56.000          48.000
+  -1671198.30943  -1279500.37242  24801011.936    24801026.243    24801009.695
+      1448.354        1128.588          43.000          37.000
+  -1866822.70043  -1433895.26442  24660899.317    24660907.069    24660897.974
+       769.785         599.832          44.000          36.000
+  -3226616.72943  -2482785.23742  24630571.445    24630577.212    24630569.621
+     -2998.365       -2336.388          44.000          37.000
+   -916724.51153   -711881.16752  25273991.556    25274004.363    25273990.662
+       979.180         762.997          45.000          37.000
+ 04  2  1  5 27  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18338191.46143 -13872479.46342  21562559.792    21562566.368    21562558.713
+      -660.360        -514.566          54.000          48.000
+ -23510607.64743 -18258120.03642  20213298.109    20213302.581    20213296.803
+       399.340         311.174          56.000          50.000
+ -18352623.72243 -14113346.20542  21833154.841    21833160.585    21833153.343
+     -2703.366       -2106.519          54.000          47.000
+ -20373486.00643 -15846025.42942  22099511.269    22099517.668    22099509.961
+     -2266.767       -1766.312          51.000          45.000
+  -8767746.38143  -6817317.57742  23339656.381    23339663.662    23339655.632
+      -787.901        -613.949          48.000          41.000
+ -15792017.91743 -12294279.46542  22323945.912    22323952.133    22323945.008
+      1762.095        1373.061          51.000          44.000
+ -20522364.89043 -15950553.66742  21433244.174    21433247.947    21433243.297
+       953.216         742.766          56.000          48.000
+  -1714635.89143  -1313347.48542  24792745.764    24792757.874    24792743.892
+      1449.234        1129.273          43.000          37.000
+  -1889646.19543  -1451679.84042  24656559.489    24656566.126    24656556.465
+       753.060         586.800          46.000          37.000
+  -3136498.18243  -2412563.05842  24647720.424    24647727.869    24647720.519
+     -3008.198       -2344.050          44.000          37.000
+   -945967.92543   -734668.07842  25268428.927    25268438.295    25268426.734
+       972.406         757.719          46.000          37.000
+ 04  2  1  5 27 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18318307.14243 -13856985.22842  21566343.471    21566349.835    21566342.400
+      -665.131        -518.284          54.000          48.000
+ -23522400.65243 -18267309.37842  20211053.842    20211059.073    20211052.722
+       387.112         301.646          56.000          50.000
+ -18271337.36443 -14050006.25742  21848623.289    21848629.527    21848621.713
+     -2715.606       -2116.057          54.000          47.000
+ -20305229.67143 -15792838.71642  22112499.755    22112506.509    22112498.834
+     -2283.621       -1779.445          51.000          45.000
+  -8743903.30543  -6798738.60942  23344193.617    23344201.681    23344193.911
+      -801.360        -624.436          47.000          41.000
+ -15844713.87443 -12335341.17742  22313918.992    22313925.378    22313917.428
+      1751.318        1364.663          51.000          45.000
+ -20550929.63143 -15972811.92542  21427807.962    21427812.195    21427807.235
+       951.160         741.164          56.000          48.000
+  -1758123.97143  -1347233.96542  24784472.361    24784482.472    24784469.825
+      1450.280        1130.088          43.000          37.000
+  -1911986.65943  -1469088.04142  24652304.146    24652313.539    24652303.210
+       736.048         573.544          43.000          36.000
+  -3046115.53243  -2342135.09942  24664919.337    24664924.103    24664917.119
+     -3016.972       -2350.887          45.000          37.000
+   -975036.34543   -757318.52042  25262895.094    25262908.260    25262894.470
+       965.713         752.504          42.000          37.000
+ 04  2  1  5 28  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18298272.17743 -13841373.59242  21570156.541    21570162.282    21570155.459
+      -670.452        -522.430          54.000          48.000
+ -23533816.81543 -18276205.08342  20208881.067    20208885.979    20208879.992
+       374.159         291.552          56.000          50.000
+ -18189682.11343 -13986378.86842  21864162.060    21864168.242    21864160.117
+     -2728.007       -2125.720          54.000          47.000
+ -20236460.73943 -15739252.56842  22125586.832    22125593.111    22125584.842
+     -2300.986       -1792.976          51.000          44.000
+  -8719648.49243  -6779838.83542  23348810.253    23348816.232    23348808.862
+      -815.350        -635.338          48.000          41.000
+ -15897079.53043 -12376145.52042  22303953.194    22303960.063    22303952.016
+      1739.793        1355.683          51.000          45.000
+ -20579425.70043 -15995016.67842  21422385.779    21422389.858    21422384.731
+       948.529         739.114          56.000          48.000
+  -1801645.49443  -1381146.53742  24776189.280    24776201.813    24776187.775
+      1451.151        1130.767          42.000          36.000
+  -1933829.66943  -1486108.59742  24648148.116    24648155.089    24648146.144
+       719.881         560.946          44.000          36.000
+  -2955456.73843  -2271491.95042  24682170.176    24682178.156    24682169.712
+     -3026.508       -2358.318          45.000          37.000
+  -1003912.83343   -779819.57542  25257400.201    25257412.547    25257399.429
+       959.155         747.394          43.000          37.000
+ 04  2  1  5 28 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18278084.62343 -13825643.06542  21573997.801    21574004.472    21573997.001
+      -675.499        -526.363          54.000          48.000
+ -23544856.47843 -18284807.41242  20206780.726    20206785.385    20206779.446
+       361.643         281.800          56.000          50.000
+ -18107658.91743 -13922464.77642  21879770.718    21879776.558    21879769.147
+     -2740.160       -2135.190          54.000          47.000
+ -20167180.80043 -15685268.26142  22138769.576    22138777.040    22138767.788
+     -2317.883       -1806.142          50.000          44.000
+  -8694983.20643  -6760619.18642  23353504.561    23353511.213    23353502.982
+      -828.983        -645.961          48.000          41.000
+ -15949114.13443 -12416691.90542  22294051.698    22294057.811    22294050.823
+      1728.872        1347.173          51.000          45.000
+ -20607850.95843 -16017166.25142  21416976.356    21416981.019    21416975.571
+       946.279         737.360          56.000          48.000
+  -1845197.34543  -1415082.70042  24767899.838    24767912.522    24767896.818
+      1452.232        1131.609          39.000          35.000
+  -1955174.38843  -1502740.84342  24644087.290    24644095.976    24644086.604
+       703.154         547.912          44.000          36.000
+  -2864523.30543  -2200634.79042  24699474.177    24699481.394    24699473.469
+     -3035.480       -2365.309          44.000          37.000
+  -1032594.27043   -802168.61242  25251943.997    25251953.693    25251941.480
+       952.730         742.387          45.000          38.000
+ 04  2  1  5 29  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18257743.30743 -13809792.71042  21577869.278    21577874.232    21577868.125
+      -680.181        -530.011          54.000          48.000
+ -23555520.56743 -18293117.09442  20204751.027    20204755.999    20204750.053
+       349.602         272.417          56.000          50.000
+ -18025270.03543 -13858265.72542  21895448.192    21895454.225    21895446.730
+     -2751.824       -2144.278          53.000          47.000
+ -20097392.06143 -15630887.47242  22152050.351    22152056.858    22152048.757
+     -2334.355       -1818.978          50.000          44.000
+  -8669909.42743  -6741081.25742  23358274.635    23358283.303    23358273.126
+      -842.052        -656.144          48.000          42.000
+ -16000817.79143 -12456980.40842  22284213.168    22284218.839    22284210.952
+      1718.409        1339.020          51.000          45.000
+ -20636204.29443 -16039259.78842  21411581.227    21411585.186    21411580.737
+       944.343         735.852          56.000          48.000
+  -1888776.86843  -1449040.42142  24759604.234    24759619.341    24759605.998
+      1453.510        1132.605          38.000          35.000
+  -1976021.03443  -1518984.95442  24640121.194    24640128.277    24640120.646
+       687.134         535.429          44.000          37.000
+  -2773317.63843  -2129565.50942  24716828.753    24716836.271    24716827.891
+     -3044.276       -2372.163          41.000          36.000
+  -1061078.44343   -824363.91742  25246521.166    25246530.484    25246520.505
+       946.245         737.334          45.000          37.000
+ 04  2  1  5 29 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18237246.42443 -13793821.13542  21581769.441    21581775.072    21581768.156
+      -685.448        -534.115          54.000          48.000
+ -23565809.48543 -18301134.43142  20202793.594    20202798.174    20202792.222
+       337.050         262.636          56.000          50.000
+ -17942516.29443 -13793782.36042  21911195.747    21911201.362    21911194.369
+     -2764.121       -2153.860          53.000          46.000
+ -20027096.04943 -15576111.41442  22165427.137    22165433.255    22165425.887
+     -2351.247       -1832.140          50.000          44.000
+  -8644428.40943  -6721225.98742  23363123.138    23363131.785    23363122.873
+      -855.754        -666.821          48.000          41.000
+ -16052189.71643 -12497010.42642  22274436.534    22274442.676    22274435.002
+      1707.179        1330.269          51.000          45.000
+ -20664483.69443 -16061295.70742  21406199.442    21406204.020    21406198.581
+       941.729         733.815          56.000          48.000
+  -1932380.71043  -1483017.06042  24751307.452    24751322.247    24751307.553
+      1453.741        1132.785          39.000          36.000
+  -1996368.67843  -1534840.28442  24636249.996    24636256.191    24636247.178
+       670.305         522.316          45.000          37.000
+  -2681841.24143  -2058285.26242  24734236.913    24734243.417    24734235.287
+     -3053.876       -2379.644          42.000          35.000
+  -1089361.98543   -846402.88042  25241141.066    25241151.072    25241137.467
+       939.713         732.244          43.000          37.000
+ 04  2  1  5 30  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18216593.72843 -13777728.14842  21585699.147    21585704.856    21585698.152
+      -691.038        -538.471          54.000          48.000
+ -23575725.17543 -18308860.95642  20200906.435    20200911.452    20200905.068
+       324.138         252.575          56.000          50.000
+ -17859400.83143 -13729017.14042  21927012.578    21927018.376    21927011.295
+     -2776.593       -2163.579          54.000          47.000
+ -19956295.94743 -15520942.56242  22178900.517    22178906.332    22178898.389
+     -2368.452       -1845.547          51.000          44.000
+  -8618543.31243  -6701055.83442  23368047.221    23368055.511    23368048.105
+      -869.546        -677.568          47.000          41.000
+ -16103230.98143 -12536782.77242  22264723.834    22264730.040    22264722.551
+      1695.747        1321.361          51.000          45.000
+ -20692688.87543 -16083273.79942  21400832.237    21400836.727    21400831.310
+       938.765         731.505          56.000          49.000
+  -1976007.52043  -1517011.63642  24743011.556    24743018.307    24743007.913
+      1454.615        1133.466          41.000          36.000
+  -2016218.33643  -1550307.60342  24632470.598    24632478.071    24632469.874
+       653.382         509.129          43.000          37.000
+  -2590097.58843  -1986796.76942  24751693.592    24751704.286    24751694.144
+     -3062.045       -2386.009          42.000          35.000
+  -1117443.53743   -868284.35942  25235793.057    25235807.464    25235794.036
+       932.662         726.750          40.000          35.000
+ 04  2  1  5 30 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18195786.15043 -13761514.49542  21589659.091    21589664.959    21589657.637
+      -695.982        -542.324          54.000          48.000
+ -23585270.74843 -18316299.06942  20199089.663    20199094.362    20199088.363
+       312.264         243.323          56.000          50.000
+ -17775927.62843 -13663973.17542  21942897.207    21942903.188    21942895.552
+     -2788.179       -2172.607          54.000          47.000
+ -19884996.00343 -15465384.21242  22192468.761    22192474.691    22192467.540
+     -2384.777       -1858.268          51.000          44.000
+  -8592258.07543  -6680573.94542  23373050.366    23373057.747    23373050.365
+      -882.584        -687.728          47.000          41.000
+ -16153943.83143 -12576299.23042  22255073.960    22255079.468    22255071.941
+      1685.131        1313.089          52.000          45.000
+ -20720820.55843 -16105194.61342  21395479.425    21395483.733    21395478.869
+       936.748         729.934          56.000          49.000
+  -2019656.48643  -1551023.45842  24734700.107    24734711.338    24734703.182
+      1455.616        1134.246          40.000          35.000
+  -2035572.13743  -1565388.44542  24628789.786    24628797.097    24628787.278
+       636.888         496.276          44.000          37.000
+  -2498091.18343  -1915103.54242  24769203.496    24769214.435    24769203.509
+     -3071.397       -2393.296          42.000          35.000
+  -1145322.60843   -890008.15342  25230490.567    25230500.559    25230489.487
+       925.475         721.149          42.000          35.000
+ 04  2  1  5 31  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18174854.01043 -13745203.77242  21593641.307    21593648.303    21593640.549
+      -700.823        -546.096          54.000          48.000
+ -23594478.84243 -18323474.22242  20197337.842    20197342.562    20197336.457
+       300.321         234.016          56.000          50.000
+ -17692129.95143 -13598676.37442  21958843.384    21958849.071    21958841.440
+     -2799.610       -2181.514          54.000          47.000
+ -19813230.05243 -15409462.73342  22206124.705    22206131.317    22206123.017
+     -2401.006       -1870.914          51.000          44.000
+  -8565606.34343  -6659806.43042  23378122.074    23378132.416    23378121.090
+      -895.864        -698.076          47.000          41.000
+ -16204359.70843 -12615584.27842  22245479.672    22245485.486    22245477.742
+      1674.507        1304.811          51.000          45.000
+ -20748908.97443 -16127081.70942  21390134.596    21390138.535    21390133.623
+       934.555         728.225          56.000          49.000
+  -2063356.81543  -1585075.34142  24726383.534    24726396.823    24726382.127
+      1456.782        1135.155          41.000          35.000
+  -2054461.68343  -1580107.59142  24625193.576    24625202.162    24625193.233
+       620.822         483.757          45.000          37.000
+  -2405856.16743  -1843232.13042  24786758.671    24786764.599    24786755.173
+     -3079.578       -2399.671          44.000          35.000
+  -1173028.21243   -911596.83442  25225214.936    25225228.074    25225213.876
+       919.555         716.536          39.000          35.000
+ 04  2  1  5 31 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18153723.15543 -13728738.20642  21597663.006    21597669.461    21597662.059
+      -706.268        -550.339          54.000          48.000
+ -23603277.47543 -18330330.30942  20195663.358    20195668.274    20195662.104
+       287.668         224.157          56.000          50.000
+ -17607936.80143 -13533071.39742  21974864.312    21974870.593    21974862.809
+     -2811.800       -2191.013          53.000          47.000
+ -19740927.16043 -15353122.85942  22219882.195    22219890.874    22219880.999
+     -2417.817       -1884.013          49.000          44.000
+  -8538517.32643  -6638698.18542  23383277.864    23383285.736    23383277.637
+      -908.960        -708.280          48.000          41.000
+ -16254406.01243 -12654581.35942  22235956.415    22235962.489    22235954.826
+      1663.177        1295.982          51.000          45.000
+ -20776879.90943 -16148877.25942  21384810.957    21384815.887    21384810.403
+       931.578         725.905          56.000          49.000
+  -2107032.91843  -1619108.39842  24718072.105    24718084.538    24718073.211
+      1456.803        1135.171          42.000          35.000
+  -2072813.84443  -1594408.00342  24621703.458    24621710.667    24621701.999
+       604.230         470.829          46.000          38.000
+  -2313321.91443  -1771127.62342  24804365.530    24804371.497    24804363.033
+     -3087.913       -2406.166          42.000          34.000
+  -1200484.98543   -932991.56142  25219992.078    25220001.012    25219991.051
+       912.790         711.265          43.000          35.000
+ 04  2  1  5 32  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18132440.82443 -13712154.60642  21601713.332    21601718.764    21601712.087
+      -712.092        -554.877          54.000          48.000
+ -23611716.25843 -18336905.98942  20194057.640    20194062.621    20194056.163
+       275.105         214.368          56.000          50.000
+ -17523398.75043 -13467197.67142  21990952.344    21990957.512    21990950.205
+     -2823.760       -2200.332          54.000          47.000
+ -19668138.16143 -15296404.21242  22233735.179    22233742.091    22233733.702
+     -2434.592       -1897.085          50.000          44.000
+  -8511041.32143  -6617288.41442  23388507.131    23388513.968    23388504.706
+      -922.419        -718.768          48.000          41.000
+ -16304131.01343 -12693328.05942  22226493.831    22226499.844    22226492.772
+      1651.945        1287.230          52.000          45.000
+ -20804780.24843 -16170617.79542  21379501.833    21379506.341    21379501.035
+       928.613         723.595          56.000          49.000
+  -2150730.61243  -1653158.23342  24709759.479    24709769.159    24709757.302
+      1456.562        1134.983          44.000          35.000
+  -2090677.64943  -1608327.85942  24618302.657    24618311.342    24618299.757
+       587.150         457.519          44.000          38.000
+                  -1698829.13442  24822022.855    24822027.642
+     -3096.643       -2412.968          41.000          32.000
+  -1227738.98143   -954228.34742  25214806.223    25214820.223    25214803.175
+       905.254         705.393          41.000          34.000
+ 04  2  1  5 32 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18110998.02743 -13695445.95542  21605793.900    21605799.884    21605792.300
+      -717.566        -559.142          55.000          48.000
+ -23619788.31543 -18343195.91042  20192521.572    20192526.719    20192520.116
+       262.635         204.651          56.000          50.000
+ -17438509.85343 -13401050.56942  22007106.304    22007111.820    22007104.529
+     -2835.752       -2209.677          54.000          47.000
+ -19594857.72143 -15239302.62242  22247679.667    22247686.681    22247677.685
+     -2451.138       -1909.978          50.000          44.000
+  -8483172.95543  -6595572.87442  23393808.694    23393817.282    23393809.807
+      -935.732        -729.142          47.000          41.000
+ -16353527.10643 -12731818.47842  22217094.463    22217099.975    22217092.379
+      1640.686        1278.457          52.000          45.000
+ -20832601.01443 -16192296.31042  21374207.282    21374212.493    21374206.821
+       925.733         721.350          56.000          49.000
+  -2194439.51543  -1687216.85242  24701439.454    24701450.735    24701438.460
+      1456.817        1135.182          44.000          36.000
+  -2108045.26843  -1621861.05842  24614999.162    24615006.853    24614997.127
+       570.378         444.450          46.000          39.000
+                  -1626332.65142  24839728.044    24839736.340
+     -3105.740       -2420.057          40.000          32.000
+  -1254780.32143   -975299.37642  25209657.173    25209670.683    25209655.780
+       897.840         699.616          38.000          34.000
+ 04  2  1  5 33  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18089393.02243 -13678610.91942  21609904.677    21609911.558    21609903.546
+      -722.841        -563.253          54.000          48.000
+ -23627494.32643 -18349200.59742  20191054.910    20191060.221    20191053.986
+       250.706         195.355          56.000          50.000
+ -17353271.46843 -13334631.13042  22023325.817    22023331.932    22023324.712
+     -2847.029       -2218.464          53.000          46.000
+ -19521087.66143 -15181819.51642  22261718.208    22261724.485    22261716.339
+     -2467.243       -1922.527          50.000          44.000
+  -8454913.54543  -6573552.62742  23399187.150    23399196.240    23399186.771
+      -948.345        -738.970          48.000          41.000
+ -16402593.86043 -12770052.27142  22207757.148    22207762.879    22207755.304
+      1630.062        1270.178          52.000          45.000
+ -20860340.26743 -16213911.30542  21368929.007    21368933.988    21368928.874
+       923.277         719.437          56.000          49.000
+  -2238156.45543  -1721281.76442  24693121.108    24693131.792    24693118.704
+      1457.156        1135.446          45.000          36.000
+  -2124916.40943  -1635007.41142  24611788.335    24611795.157    24611787.073
+       554.208         431.850          46.000          39.000
+  -2034212.38643  -1553639.72142  24857477.743    24857486.345    24857475.158
+     -3114.142       -2426.604          38.000          32.000
+  -1281605.86943   -996202.28142  25204557.211    25204565.149    25204555.422
+       890.184         693.650          40.000          34.000
+ 04  2  1  5 33 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -18067625.67943 -13661649.37442  21614047.059    21614053.443    21614045.930
+      -728.193        -567.423          54.000          48.000
+ -23634836.24943 -18354921.58242  20189658.044    20189662.968    20189656.837
+       238.855         186.121          56.000          50.000
+ -17267686.35743 -13267941.53842  22039612.577    22039618.544    22039610.838
+     -2858.358       -2227.292          53.000          46.000
+ -19446831.22243 -15123957.41042  22275848.275    22275856.240    22275846.857
+     -2483.085       -1934.871          50.000          44.000
+  -8426266.06243  -6551229.98542  23404638.601    23404646.563    23404638.803
+      -961.190        -748.979          48.000          41.000
+ -16451332.22043 -12808030.17342  22198482.306    22198488.003    22198480.933
+      1619.388        1261.861          52.000          45.000
+ -20887997.59743 -16235462.46642  21363666.394    21363670.874    21363665.163
+       920.709         717.436          56.000          49.000
+  -2281879.69043  -1755351.58442  24684801.575    24684810.077    24684798.659
+      1457.705        1135.874          46.000          36.000
+  -2141291.86143  -1647767.44042  24608671.771    24608679.932    24608669.634
+       537.816         419.077          47.000          39.000
+  -1308213.84843  -1016935.69542  25199492.820    25199503.588    25199490.283
+       883.031         688.076          39.000          33.000
+ 04  2  1  5 34  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -18045693.84643 -13644559.66242  21618220.126    21618226.608    21618219.171
+      -733.858        -571.837          54.000          48.000
+ -23641814.37443 -18360359.08842  20188329.675    20188335.284    20188328.818
+       226.451         176.455          56.000          50.000
+ -17181755.92143 -13200982.85342  22055964.821    22055970.844    22055963.327
+     -2870.089       -2236.433          53.000          47.000
+ -19372089.87443 -15065717.46342  22290070.845    22290078.288    22290070.229
+     -2499.503       -1947.665          50.000          44.000
+  -8397231.89843  -6528606.04342  23410163.761    23410171.759    23410162.764
+      -974.340        -759.226          48.000          41.000
+ -16499741.54543 -12845751.69242  22189270.070    22189276.434    22189268.669
+      1608.006        1252.992          52.000          45.000
+ -20915570.70143 -16256947.99742  21358419.377    21358423.842    21358418.458
+       917.561         714.983          56.000          49.000
+  -2325605.86843  -1789423.67842  24676477.927    24676489.473    24676477.886
+      1457.397        1135.634          43.000          37.000
+  -2157170.91643  -1660140.76742  24605650.043    24605657.884    24605648.330
+       520.874         405.876          47.000          39.000
+  -1334601.30643  -1037497.19242  25194469.854    25194480.842    25194468.706
+       875.920         682.535          39.000          34.000
+ 04  2  1  5 34 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -18023599.02743 -13627342.94342  21622425.597    21622431.412    21622424.563
+      -739.398        -576.154          54.000          48.000
+ -23648432.24443 -18365515.87542  20187071.024    20187075.902    20187069.759
+       214.319         167.002          56.000          50.000
+ -17095484.54743 -13133758.49242  22072381.597    22072387.381    22072380.185
+     -2881.394       -2245.242          53.000          47.000
+ -19296868.70643 -15007103.62742  22304384.832    22304392.452    22304383.481
+     -2515.457       -1960.096          50.000          44.000
+  -8367815.80043  -6505684.50642  23415760.869    23415769.537    23415760.200
+      -986.985        -769.079          47.000          41.000
+ -16547824.66743 -12883219.00842  22180120.577    22180126.275    22180119.475
+      1597.304        1244.652          51.000          45.000
+ -20943060.75443 -16278368.80142  21353188.363    21353192.619    21353187.425
+       914.753         712.795          56.000          49.000
+  -2369334.96543  -1823498.02642  24668158.402    24668168.247    24668156.314
+      1457.486        1135.703          43.000          36.000
+  -2172556.71243  -1672129.72042  24602721.219    24602728.720    24602720.630
+       504.463         393.088          45.000          38.000
+  -1360768.24243  -1057886.98542  25189493.010    25189503.223    25189491.015
+       868.405         676.679          43.000          35.000
+ 04  2  1  5 35  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -18001339.24143 -13609997.67042  21626661.532    21626667.607    21626659.855
+      -744.803        -580.366          54.000          48.000
+ -23654690.42243 -18370392.38542  20185879.550    20185884.766    20185878.905
+       202.618         157.884          56.000          50.000
+ -17008873.73243 -13066269.63142  22088863.284    22088869.282    22088862.221
+     -2892.726       -2254.072          53.000          46.000
+ -19221169.12243 -14948116.99742  22318790.483    22318797.556    22318788.850
+     -2531.236       -1972.392          50.000          44.000
+  -8338019.17643  -6482466.44542  23421431.837    23421440.030    23421430.659
+      -999.452        -778.794          48.000          41.000
+ -16595581.01543 -12920431.70642  22171032.318    22171038.587    22171031.219
+      1586.491        1236.227          51.000          45.000
+ -20970465.79243 -16299723.36542  21347973.227    21347977.571    21347972.280
+       912.114         710.738          56.000          49.000
+  -2413063.54343  -1857571.97542  24659837.555    24659847.489    24659835.730
+      1457.578        1135.775          41.000          36.000
+  -2187448.77243  -1683733.91342  24599887.138    24599893.737    24599887.697
+       488.225         380.435          45.000          38.000
+                                  24928958.135
+     -3146.560       -2451.865          42.000
+  -1386711.48643  -1078102.38942  25184553.728    25184565.467    25184553.267
+       861.228         671.087          41.000          35.000
+ 04  2  1  5 35 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17978912.51943 -13592522.32742  21630929.207    21630934.851    21630927.535
+      -749.855        -584.302          54.000          48.000
+ -23660589.05343 -18374988.72842  20184757.151    20184762.437    20184755.988
+       191.080         148.894          56.000          50.000
+ -16921924.48843 -12998517.06242  22105409.348    22105415.026    22105407.743
+     -2903.434       -2262.416          53.000          46.000
+ -19144992.77343 -14888758.85942  22333286.860    22333291.790    22333285.362
+     -2546.694       -1984.437          51.000          44.000
+  -8307843.51943  -6458953.04042  23427175.331    23427182.032    23427175.389
+     -1011.635        -788.287          49.000          42.000
+ -16643009.78243 -12957389.14542  22162006.952    22162012.417    22162005.905
+      1575.863        1227.945          52.000          45.000
+ -20997783.44543 -16321009.83842  21342774.726    21342778.946    21342773.922
+       909.584         708.767          56.000          49.000
+  -2456788.28543  -1891642.94442  24651515.268    24651526.708    24651513.872
+      1457.802        1135.950          39.000          35.000
+  -2201846.47843  -1694952.89942  24597145.911    24597156.048    24597145.552
+       472.021         367.809          43.000          37.000
+   -636897.67653   -514932.73252  24946940.883    24946946.706    24946937.835
+     -3154.278       -2457.879          41.000          32.000
+  -1412427.73043  -1098140.85942  25179658.420    25179671.690    25179658.771
+       854.085         665.521          41.000          34.000
+ 04  2  1  5 36  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17956320.17643 -13574917.91942  21635227.605    21635234.419    21635226.322
+      -756.322        -589.342          54.000          48.000
+ -23666131.68843 -18379307.66142  20183702.158    20183707.480    20183701.188
+       178.422         139.030          56.000          50.000
+ -16834641.35243 -12930504.31242  22122019.358    22122025.046    22122017.501
+     -2915.367       -2271.714          53.000          46.000
+ -19068344.60443 -14829033.05742  22347871.611    22347878.602    22347870.271
+     -2563.271       -1997.354          50.000          44.000
+  -8277293.42843  -6435147.86742  23432988.373    23432995.283    23432986.460
+     -1024.980        -798.686          48.000          41.000
+ -16690113.68643 -12994093.44642  22153042.019    22153049.636    22153041.421
+      1564.345        1218.970          51.000          45.000
+ -21025014.84043 -16342229.09542  21337592.603    21337597.180    21337591.796
+       905.915         705.908          56.000          49.000
+  -2500508.79943  -1925710.64542  24643194.625    24643204.875    24643193.954
+      1457.079        1135.386          40.000          35.000
+  -2215752.53743  -1705788.76342  24594499.133    24594511.145    24594499.463
+       454.757         354.356          44.000          38.000
+                   -441107.89242  24964969.854    24964971.630
+     -3162.675       -2464.422          39.000          31.000
+  -1437917.35743  -1118002.88442  25174808.978    25174819.126    25174807.753
+       845.467         658.805          40.000          34.000
+ 04  2  1  5 36 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17933554.87643 -13557178.75742  21639560.062    21639566.510    21639559.125
+      -761.500        -593.377          54.000          48.000
+ -23671313.65143 -18383345.55742  20182716.685    20182721.394    20182715.478
+       167.038         130.159          56.000          50.000
+ -16747020.26143 -12862228.22742  22138692.631    22138698.799    22138690.744
+     -2926.040       -2280.031          53.000          46.000
+ -18991220.88843 -14768936.71942  22362548.980    22362554.599    22362546.659
+     -2578.476       -2009.202          51.000          44.000
+  -8246364.91043  -6411047.80542  23438872.846    23438880.244    23438871.867
+     -1036.965        -808.025          47.000          41.000
+ -16736887.03543 -13030540.16242  22144142.664    22144149.607    22144141.856
+      1553.812        1210.763          52.000          46.000
+ -21052152.57343 -16363375.38042  21332428.606    21332433.192    21332427.765
+       903.245         703.827          56.000          49.000
+  -2544216.48543  -1959768.42642  24634874.865    24634885.438    24634874.777
+      1457.513        1135.724          38.000          34.000
+  -2229161.10843  -1716236.99842  24591949.696    24591957.633    24591948.742
+       438.992         342.072          45.000          39.000
+                   -367097.65042  24983042.619    24983047.156
+     -3169.902       -2470.053          38.000          31.000
+  -1463172.04343  -1137681.67142  25170004.574    25170016.335    25170003.563
+       838.218         653.157          41.000          35.000
+ 04  2  1  5 37  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17910623.82243 -13539310.42242  21643923.673    21643929.792    21643922.630
+      -766.690        -597.421          54.000          47.000
+ -23676144.39643 -18387109.77342  20181797.156    20181802.227    20181795.927
+       155.598         121.245          56.000          50.000
+ -16659071.59743 -12793696.89242  22155428.157    22155434.532    22155426.667
+     -2936.585       -2288.248          53.000          46.000
+ -18913632.41443 -14708478.22542  22377312.969    22377320.131    22377312.910
+     -2593.479       -2020.893          50.000          44.000
+  -8215068.68143  -6386661.21142  23444828.803    23444836.709    23444829.033
+     -1048.790        -817.239          48.000          41.000
+ -16783338.32943 -13066735.93342  22135302.370    22135309.805    22135301.843
+      1543.428        1202.671          51.000          45.000
+ -21079203.44843 -16384453.98742  21327281.348    21327285.365    21327280.273
+       900.695         701.840          56.000          49.000
+  -2587917.08853  -1993820.64852  24626563.012    24626574.371    24626562.395
+      1456.518        1134.949          39.000          34.000
+  -2242081.09943  -1726304.52742  24589490.246    24589499.732    24589490.960
+       422.758         329.422          45.000          39.000
+                                  25001158.724
+     -3176.775       -2475.409          39.000
+  -1488197.55443  -1157181.91042  25165239.713    25165254.262    25165238.284
+       830.618         647.235          41.000          36.000
+ 04  2  1  5 37 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17887519.60943 -13521307.16342  21648319.863    21648326.763    21648319.041
+      -772.640        -602.057          54.000          47.000
+ -23680618.75343 -18390596.27742  20180945.461    20180950.799    20180944.605
+       143.601         111.897          55.000          50.000
+ -16570791.37743 -12724907.19142  22172228.011    22172234.047    22172226.029
+     -2947.670       -2296.886          53.000          46.000
+ -18835575.60143 -14647654.78942  22392167.420    22392174.766    22392165.685
+     -2609.231       -2033.167          51.000          44.000
+  -8183400.79343  -6361985.01942  23450855.093    23450862.550    23450855.400
+     -1061.354        -827.029          48.000          41.000
+ -16829461.60543 -13102676.10342  22126527.542    22126532.346    22126525.104
+      1532.455        1194.121          52.000          46.000
+ -21106160.01143 -16405459.10242  21322151.631    21322155.798    21322150.538
+       897.395         699.269          56.000          49.000
+  -2631602.04043  -2027860.68142  24618250.602    24618260.489    24618246.756
+      1456.560        1134.982          39.000          34.000
+  -2254506.40343  -1735986.57742  24587126.385    24587136.102    24587126.905
+       406.363         316.646          44.000          38.000
+   -256530.93253   -218543.25852  25019321.690    25019328.218    25019317.383
+     -3184.925       -2481.760          38.000          32.000
+  -1512985.53843  -1176497.06742  25160522.935    25160534.229    25160524.182
+       822.754         641.107          43.000          35.000
+ 04  2  1  5 38  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17864248.19943 -13503173.61642  21652748.881    21652754.402    21652747.822
+      -778.775        -606.838          54.000          47.000
+ -23684745.20643 -18393811.69642  20180160.727    20180165.704    20180159.128
+       131.464         102.439          56.000          50.000
+ -16482188.70643 -12655866.24942  22189088.079    22189094.527    22189087.314
+     -2958.963       -2305.685          53.000          46.000
+ -18757059.92743 -14586473.81642  22407107.555    22407115.244    22407106.350
+     -2625.052       -2045.495          50.000          44.000
+  -8151370.55343  -6337026.48342  23456950.594    23456958.744    23456949.988
+     -1073.828        -836.749          47.000          41.000
+ -16875264.25043 -13138366.42942  22117810.827    22117816.451    22117808.996
+      1521.215        1185.362          52.000          46.000
+ -21133027.71043 -16426394.98542  21317038.330    21317042.999    21317037.913
+       893.794         696.463          56.000          49.000
+  -2675275.58143  -2061891.86542  24609937.397    24609948.365    24609936.368
+      1455.242        1133.955          39.000          34.000
+  -2266444.80843  -1745289.24242  24584853.985    24584861.524    24584853.239
+       389.737         303.691          43.000          37.000
+                                  25037525.214
+     -3192.708       -2487.824          38.000
+  -1537540.59443  -1195630.74842  25155852.021    25155862.212    25155851.225
+       814.104         634.367          44.000          36.000
+ 04  2  1  5 38 30.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17840802.62343 -13484904.36842  21657210.845    21657216.812    21657209.216
+      -784.716        -611.467          54.000          48.000
+ -23688519.04443 -18396752.34242  20179442.177    20179447.658    20179441.427
+       119.554          93.159          56.000          50.000
+ -16393260.02843 -12586571.26942  22206011.116    22206017.156    22206009.369
+     -2969.837       -2314.159          53.000          46.000
+ -18678082.01643 -14524932.63542  22422136.770    22422143.959    22422134.865
+     -2640.674       -2057.668          50.000          44.000
+  -8118974.47243  -6311782.84142  23463116.586    23463123.550    23463116.183
+     -1086.003        -846.236          49.000          41.000
+ -16920740.78143 -13173802.63342  22109157.303    22109161.867    22109154.841
+      1510.114        1176.712          52.000          46.000
+ -21159799.53643 -16447256.15542  21311943.937    21311948.721    21311943.358
+       890.459         693.864          56.000          49.000
+  -2718929.38643  -2095907.63542  24601632.431    24601639.575    24601626.204
+      1454.613        1133.465          41.000          35.000
+  -2277891.03443  -1754208.34542  24582677.441    24582683.241    24582677.413
+       373.026         290.670          43.000          37.000
+                    -69288.74842  25055772.987    25055776.605
+     -3200.739       -2494.082          40.000          31.000
+  -1561854.76143  -1214576.65242  25151225.048    25151235.921    25151224.920
+       805.953         628.015          44.000          34.000
+ 04  2  1  5 39  0.0000000  0 11G 1G27G20G 2G 4G 8G13G31G24G16G 3
+ -17817183.73943 -13466500.07342  21661704.424    21661711.185    21661703.203
+      -790.335        -615.845          54.000          47.000
+ -23691943.33043 -18399420.61542  20178790.816    20178796.047    20178789.884
+       108.005          84.160          56.000          50.000
+ -16304009.25943 -12517025.30542  22222994.837    22223001.412    22222993.682
+     -2980.648       -2322.583          53.000          46.000
+ -18598646.38343 -14463034.79442  22437253.517    22437260.365    22437251.610
+     -2655.836       -2069.482          50.000          44.000
+  -8086216.82143  -6286257.49242  23469349.195    23469358.389    23469348.363
+     -1098.179        -855.724          48.000          41.000
+ -16965893.27443 -13208986.34542  22100564.372    22100570.229    22100561.702
+      1499.463        1168.413          52.000          45.000
+ -21186475.95043 -16468042.98542  21306867.943    21306872.569    21306867.218
+       887.429         691.503          56.000          49.000
+  -2762562.67343  -2129907.34842  24593326.669    24593338.243    24593325.207
+      1453.632        1132.700          41.000          36.000
+  -2288847.47943  -1762745.80242  24580592.787    24580601.306    24580591.135
+       357.065         278.232          44.000          38.000
+                      5597.85342  25074060.088    25074068.281
+     -3207.610       -2499.436          37.000          32.000
+  -1585927.64043  -1233334.63842  25146642.641    25146647.501    25146640.175
+       797.893         621.735          41.000          34.000
+ 04  2  1  5 39 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17793389.63743 -13447959.25242  21666232.990    21666238.881    21666231.796
+      -795.766        -620.077          54.000          47.000
+ -23695018.56743 -18401816.89842  20178205.487    20178210.654    20178204.455
+        97.103          75.665          56.000          50.000
+ -16214437.92743 -12447229.57342  22240040.151    22240046.473    22240038.799
+     -2990.622       -2330.355          52.000          46.000
+ -18518754.83443 -14400781.70642  22452456.488    22452464.413    22452454.426
+     -2670.196       -2080.672          50.000          44.000
+  -8053099.27143  -6260451.69342  23475650.915    23475658.910    23475649.878
+     -1109.573        -864.602          47.000          41.000
+ -17010721.58443 -13243917.45542  22092034.029    22092039.579    22092032.358
+      1489.326        1160.514          52.000          45.000
+ -21213054.77943 -16488753.78542  21301810.020    21301814.337    21301809.202
+       884.684         689.364          56.000          49.000
+  -2806172.24043  -2163888.64142  24585030.075    24585040.183    24585026.903
+      1453.351        1132.481          42.000          37.000
+  -2299313.60843  -1770901.20442  24578599.001    24578608.982    24578599.630
+       340.793         265.553          44.000          38.000
+  -1609756.29343  -1251902.28442  25142107.634    25142121.126    25142103.362
+       790.138         615.692          39.000          34.000
+ 04  2  1  5 40  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17769420.50143 -13429282.02742  21670793.400    21670800.198    21670792.609
+      -801.846        -624.815          54.000          47.000
+ -23697747.50543 -18403943.34142  20177685.956    20177691.284    20177685.142
+        85.257          66.434          56.000          50.000
+ -16124549.57043 -12377186.80542  22257144.799    22257151.705    22257143.423
+     -3001.356       -2338.719          52.000          46.000
+ -18438411.42043 -14338176.51242  22467744.480    22467752.338    22467743.267
+     -2685.412       -2092.529          49.000          44.000
+  -8019625.45543  -6234368.26542  23482021.142    23482027.359    23482018.358
+     -1121.538        -873.926          48.000          41.000
+ -17055227.32643 -13278597.21042  22083564.978    22083570.759    22083563.045
+      1478.185        1151.832          52.000          46.000
+ -21239535.98843 -16509388.50442  21296770.917    21296775.059    21296770.436
+       881.139         686.602          56.000          49.000
+  -2849756.85643  -2197850.46642  24576735.748    24576746.117    24576732.944
+      1452.640        1131.927          42.000          37.000
+  -2309291.54543  -1778676.26042  24576702.857    24576712.199    24576701.668
+       324.619         252.950          45.000          38.000
+  -1633339.92743  -1270278.98642  25137623.589    25137630.457    25137622.462
+       782.206         609.511          42.000          35.000
+ 04  2  1  5 40 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17745274.62443 -13410467.09142  21675389.003    21675394.717    21675387.716
+      -807.798        -629.453          54.000          47.000
+ -23700130.90443 -18405800.53142  20177232.161    20177237.675    20177231.366
+        73.729          57.451          56.000          50.000
+ -16034345.58943 -12306898.09242  22274309.783    22274317.162    22274308.329
+     -3011.967       -2346.987          52.000          46.000
+ -18357618.21043 -14275220.83742  22483119.104    22483126.428    22483117.073
+     -2700.474       -2104.265          49.000          44.000
+  -7985797.22843  -6208008.68042  23488458.535    23488466.966    23488457.860
+     -1132.925        -882.799          48.000          41.000
+ -17099410.37343 -13313025.51442  22075156.456    22075162.031    22075155.352
+      1467.425        1143.448          52.000          46.000
+ -21265917.57343 -16529945.59842  21291750.761    21291754.885    21291750.157
+       877.708         683.928          56.000          49.000
+  -2893313.41443  -2231790.36442  24568446.987    24568456.231    24568445.311
+      1451.637        1131.146          43.000          38.000
+  -2318781.21543  -1786070.80442  24574898.407    24574906.291    24574896.349
+       308.355         240.277          46.000          39.000
+  -1656675.65843  -1288462.42642  25133181.965    25133190.435    25133178.324
+       773.742         602.916          39.000          35.000
+ 04  2  1  5 41  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17720951.17443 -13391513.78142  21680017.234    21680023.557    21680016.138
+      -813.849        -634.168          54.000          47.000
+ -23702170.22143 -18407389.61942  20176844.304    20176849.612    20176843.438
+        62.169          48.443          56.000          50.000
+ -15943828.68343 -12236365.54542  22291535.034    22291541.786    22291533.851
+     -3022.455       -2355.160          52.000          46.000
+ -18276377.88043 -14211916.74742  22498579.292    22498586.057    22498577.450
+     -2715.496       -2115.971          50.000          44.000
+  -7951617.18543  -6181374.97542  23494961.232    23494969.423    23494961.494
+     -1145.130        -892.309          47.000          41.000
+ -17143271.50743 -13347202.98442  22066809.615    22066816.192    22066808.591
+      1456.614        1135.024          52.000          46.000
+ -21292198.48343 -16550424.23942  21286749.490    21286754.237    21286748.638
+       874.174         681.175          56.000          49.000
+  -2936839.45943  -2265706.53742  24560161.022    24560174.940    24560161.636
+      1450.138        1129.978          42.000          38.000
+  -2327783.49443  -1793085.57842  24573183.352    24573191.880    24573181.179
+       292.040         227.564          44.000          38.000
+  -1679761.51953  -1306451.29852  25128786.727    25128797.381    25128784.171
+       765.503         596.496          39.000          34.000
+ 04  2  1  5 41 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17696449.57443 -13372421.65542  21684679.733    21684685.772    21684678.760
+      -819.466        -638.545          54.000          47.000
+ -23703867.27643 -18408711.99342  20176522.305    20176526.592    20176520.789
+        51.095          39.814          56.000          50.000
+ -15853001.47543 -12165591.21142  22308819.396    22308825.848    22308817.517
+     -3032.524       -2363.006          52.000          46.000
+ -18194693.72743 -14148266.82542  22514122.152    22514130.484    22514120.637
+     -2729.817       -2127.130          49.000          43.000
+  -7917088.35343  -6154469.46042  23501533.610    23501541.968    23501532.824
+     -1156.621        -901.263          47.000          41.000
+ -17186811.47943 -13381130.19042  22058525.502    22058530.677    22058523.574
+      1446.170        1126.886          53.000          46.000
+ -21318377.70543 -16570823.63542  21281767.591    21281772.026    21281767.028
+       871.127         678.800          56.000          49.000
+  -2980333.08843  -2299597.47242  24551887.084    24551898.212    24551884.618
+      1449.410        1129.410          44.000          38.000
+  -2336299.43743  -1799721.33842  24571561.872    24571571.304    24571560.285
+       275.374         214.577          44.000          38.000
+  -1702595.96643  -1324244.17042  25124440.143    25124453.602    25124441.831
+       756.931         589.816          40.000          36.000
+ 04  2  1  5 42  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17671765.62843 -13353187.44342  21689377.681    21689383.646    21689375.950
+      -825.937        -643.587          54.000          47.000
+ -23705220.37943 -18409766.36242  20176264.005    20176269.657    20176263.066
+        39.328          30.645          56.000          50.000
+ -15761863.28843 -12094574.55442  22326162.392    22326168.671    22326160.912
+     -3043.142       -2371.279          52.000          46.000
+ -18112565.31343 -14084270.73242  22529751.998    22529759.441    22529750.171
+     -2745.143       -2139.072          49.000          44.000
+  -7882210.29043  -6127291.82842  23508170.331    23508178.997    23508169.330
+     -1168.686        -910.664          48.000          41.000
+ -17230027.60543 -13414805.05742  22050300.411    22050306.724    22050299.590
+      1435.058        1118.227          52.000          46.000
+ -21344450.82343 -16591140.36042  21276806.086    21276810.394    21276805.207
+       867.178         675.723          56.000          49.000
+  -3023788.57943  -2333458.70842  24543616.393    24543627.575    24543615.042
+      1447.787        1128.146          44.000          38.000
+  -2344327.02043  -1805976.59042  24570035.443    24570041.945    24570033.053
+       259.434         202.156          44.000          38.000
+  -1725173.71843  -1341837.15942  25120144.871    25120155.447    25120142.568
+       748.196         583.010          41.000          36.000
+ 04  2  1  5 42 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17646905.35043 -13333815.82642  21694107.781    21694114.232    21694106.421
+      -831.666        -648.051          54.000          47.000
+ -23706237.99343 -18410559.30642  20176070.484    20176075.809    20176069.274
+        28.323          22.070          56.000          50.000
+ -15670423.33243 -12023322.75442  22343563.064    22343568.096    22343561.511
+     -3053.046       -2378.997          52.000          45.000
+ -18030002.54643 -14019936.16742  22545461.753    22545470.015    22545461.035
+     -2759.347       -2150.140          49.000          43.000
+  -7846992.42143  -6099849.40642  23514871.808    23514880.533    23514871.567
+     -1179.608        -919.175          48.000          42.000
+ -17272927.66943 -13448233.63342  22042138.125    22042143.403    22042136.251
+      1424.699        1110.155          52.000          46.000
+ -21370423.72143 -16611378.98642  21271863.800    21271868.097    21271863.077
+       864.109         673.332          56.000          49.000
+  -3067210.70943  -2367293.93742  24535351.904    24535363.303    24535351.855
+      1446.865        1127.427          42.000          38.000
+  -2351874.09943  -1811857.40742  24568597.724    24568609.648    24568598.383
+       243.608         189.824          44.000          38.000
+  -1747499.79443  -1359233.98242  25115897.076    25115908.011    25115896.471
+       740.045         576.658          43.000          37.000
+ 04  2  1  5 43  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17621859.43043 -13314299.56642  21698874.020    21698880.570    21698873.001
+      -838.137        -653.094          54.000          47.000
+ -23706913.08743 -18411085.35842  20175941.979    20175947.435    20175940.907
+        16.687          13.003          56.000          50.000
+ -15578675.71343 -11951831.21642  22361022.174    22361028.646    22361020.678
+     -3063.388       -2387.055          52.000          45.000
+ -17946999.62043 -13955258.62242  22561258.637    22561263.859    22561256.221
+     -2774.285       -2161.780          50.000          43.000
+  -7811429.01343  -6072137.75342  23521639.616    23521646.745    23521637.425
+     -1191.178        -928.191          48.000          41.000
+ -17315503.84443 -13481409.84042  22034035.158    22034041.449    22034033.805
+      1413.720        1101.600          52.000          46.000
+ -21396286.29443 -16631531.65042  21266942.304    21266946.401    21266941.533
+       860.201         670.286          56.000          49.000
+  -3110588.42143  -2401094.56542  24527099.140    24527110.914    24527097.765
+      1445.120        1126.068          42.000          37.000
+  -2358932.65243  -1817357.62642  24567253.669    24567264.351    24567253.134
+       227.326         177.137          43.000          37.000
+  -1769563.67743  -1376426.44942  25111694.994    25111709.412    25111695.952
+       731.301         569.845          41.000          36.000
+ 04  2  1  5 43 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17596633.03743 -13294642.66942  21703675.136    21703680.520    21703673.900
+      -843.701        -657.429          54.000          47.000
+ -23707253.24843 -18411350.42342  20175877.349    20175882.534    20175876.339
+         5.854           4.562          56.000          50.000
+ -15486628.99843 -11880106.61342  22378538.249    22378544.450    22378536.733
+     -3073.022       -2394.562          53.000          46.000
+ -17863565.38943 -13890245.00842  22577134.906    22577141.846    22577132.792
+     -2788.200       -2172.623          49.000          43.000
+  -7775528.74143  -6044163.56242  23528473.000    23528479.163    23528471.386
+     -1202.180        -936.764          49.000          41.000
+ -17357762.76543 -13514338.82942  22025993.984    22025999.768    22025993.020
+      1403.395        1093.555          53.000          46.000
+ -21422043.78943 -16651602.42742  21262040.725    21262045.242    21262039.702
+       856.812         667.646          56.000          49.000
+  -3153925.53843  -2434863.53642  24518853.660    24518863.424    24518851.834
+      1443.810        1125.047          44.000          38.000
+  -2365509.79543  -1822482.62842  24566003.707    24566011.190    24566002.088
+       210.944         164.372          44.000          37.000
+  -1791369.53143  -1393417.95742  25107546.783    25107560.375    25107547.942
+       722.106         562.680          40.000          35.000
+ 04  2  1  5 44  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17571225.53243 -13274844.64442  21708509.631    21708515.294    21708508.128
+      -850.385        -662.638          54.000          47.000
+ -23707260.41843 -18411356.01242  20175875.777    20175881.138    20175874.878
+        -5.756          -4.485          56.000          50.000
+ -15394285.73943 -11808150.92542  22396110.508    22396116.995    22396108.966
+     -3083.433       -2402.675          53.000          46.000
+ -17779703.17643 -13824897.90242  22593093.766    22593099.608    22593092.755
+     -2802.765       -2183.973          50.000          44.000
+  -7739294.48443  -6015929.16142  23535366.691    23535372.977    23535366.896
+     -1213.836        -945.846          48.000          40.000
+ -17399705.39343 -13547021.36442  22018012.230    22018017.973    22018010.696
+      1392.480        1085.049          52.000          46.000
+ -21447694.89443 -16671590.30242  21257159.508    21257164.110    21257158.719
+       852.800         664.519          56.000          49.000
+  -3197219.87243  -2468599.16942  24510614.456    24510623.537    24510613.333
+      1442.012        1123.646          44.000          38.000
+  -2371607.13443  -1827233.82042  24564842.672    24564851.536    24564841.925
+       194.466         151.532          43.000          36.000
+  -1812915.60643  -1410206.93242  25103446.578    25103460.584    25103447.163
+       713.442         555.929          40.000          35.000
+ 04  2  1  5 44 30.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17545632.05743 -13254901.70642  21713379.645    21713386.223    21713378.659
+      -856.636        -667.508          54.000          47.000
+ -23706931.89243 -18411100.02142  20175938.386    20175943.483    20175937.407
+       -16.847         -13.127          56.000          50.000
+ -15301644.52043 -11735963.07242  22413740.122    22413745.945    22413738.083
+     -3093.426       -2410.462          53.000          45.000
+ -17695411.79643 -13759216.35442  22609134.131    22609141.399    22609131.819
+     -2817.315       -2195.310          50.000          44.000
+  -7702725.12343  -5987433.62142  23542325.127    23542333.740    23542325.119
+     -1224.918        -954.481          47.000          40.000
+ -17441328.39343 -13579454.82542  22010091.288    22010097.923    22010090.221
+      1381.710        1076.657          52.000          46.000
+ -21473234.42143 -16691491.23942  21252299.191    21252303.923    21252298.662
+       849.032         661.583          56.000          49.000
+  -3240464.93143  -2502296.42842  24502383.335    24502394.507    24502382.601
+      1440.118        1122.170          45.000          38.000
+  -2377221.35243  -1831608.55842  24563773.607    24563782.520    24563772.760
+       178.864         139.375          42.000          36.000
+  -1834196.20243  -1426789.04642  25099399.869    25099408.510    25099396.956
+       704.411         548.892          41.000          34.000
+ 04  2  1  5 45  0.0000000  0 10G 1G27G20G 2G 4G 8G13G31G24G 3
+ -17519848.91143 -13234810.97742  21718285.818    21718292.637    21718284.442
+      -862.015        -671.700          54.000          47.000
+ -23706266.74643 -18410581.73642  20176064.645    20176069.874    20176063.738
+       -27.137         -21.146          56.000          50.000
+ -15208705.01143 -11663542.78442  22431426.205    22431431.737    22431423.995
+     -3102.364       -2417.426          53.000          45.000
+ -17610691.38643 -13693200.50642  22625255.950    22625262.820    22625253.427
+     -2830.514       -2205.595          50.000          43.000
+  -7665820.38243  -5958676.78142  23549348.571    23549355.787    23549347.702
+     -1235.152        -962.456          47.000          40.000
+ -17482629.96543 -13611637.83242  22002231.877    22002237.428    22002230.438
+      1371.928        1069.035          52.000          46.000
+ -21498658.72043 -16711302.38542  21247461.463    21247466.198    21247460.706
+       846.163         659.348          56.000          49.000
+  -3283655.79643  -2535951.45142  24494165.492    24494175.317    24494163.872
+      1439.343        1121.566          46.000          38.000
+  -2382350.71943  -1835605.50742  24562798.866    24562807.892    24562798.621
+       163.351         127.286          43.000          37.000
+  -1855206.63143  -1443160.75742  25095400.385    25095412.968    25095397.875
+       696.354         542.614          38.000          33.000
+ 04  2  1  5 45 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17493885.53543 -13214579.80042  21723226.810    21723233.208    21723225.272
+      -869.565        -677.583          54.000          47.000
+ -23705276.60643 -18409810.20242  20176253.561    20176258.857    20176252.641
+       -39.598         -30.855          56.000          50.000
+ -15115480.01243 -11590900.03242  22449165.379    22449172.027    22449164.684
+     -3113.376       -2426.007          52.000          45.000
+ -17525555.05743 -13626860.57142  22641456.311    22641462.540    22641455.198
+     -2845.984       -2217.650          49.000          43.000
+  -7628593.41243  -5929668.82242  23556431.423    23556439.790    23556432.734
+     -1247.414        -972.011          47.000          41.000
+ -17523620.82443 -13643578.70842  21994431.627    21994437.768    21994430.326
+      1360.031        1059.764          52.000          46.000
+ -21523976.60043 -16731030.60442  21242643.578    21242647.769    21242643.148
+       840.946         655.283          56.000          49.000
+   -950393.71253   -685571.10852  24663321.323    24663330.590    24663319.056
+      3833.232        2986.934          44.000          35.000
+  -3326800.26143  -2569570.33342  24485954.299    24485964.299    24485952.781
+      1436.114        1119.050          46.000          37.000
+  -2387006.73143  -1839233.56042  24561912.241    24561918.656    24561910.754
+       145.954         113.730          43.000          36.000
+  -1875954.96053  -1459328.25052  25091448.739    25091464.420    25091452.120
+       686.893         535.241          35.000          33.000
+ 04  2  1  5 46  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17467732.93543 -13194201.18942  21728203.347    21728209.896    21728201.691
+      -874.833        -681.688          54.000          47.000
+ -23703955.12443 -18408780.48642  20176504.845    20176510.315    20176503.748
+       -49.372         -38.472          56.000          50.000
+ -15021963.91443 -11518030.46542  22466960.360    22466968.702    22466959.755
+     -3121.918       -2432.663          51.000          44.000
+ -17439997.95443 -13560192.77142  22657736.893    22657744.498    22657734.508
+     -2858.616       -2227.493          48.000          42.000
+  -7591038.83143  -5900405.60742  23563579.277    23563588.181    23563578.095
+     -1257.269        -979.690          48.000          41.000
+ -17564293.73843 -13675271.84942  21986692.305    21986697.012    21986690.195
+      1350.561        1052.385          52.000          46.000
+ -21549178.40243 -16750668.37942  21237847.860    21237852.711    21237847.184
+       838.260         653.190          56.000          49.000
+  -1065416.44243   -775198.67642  24641431.625    24641443.806    24641431.119
+      3835.185        2988.456          44.000          35.000
+  -3369887.96143  -2603144.98042  24477756.541    24477765.899    24477753.378
+      1435.504        1118.575          45.000          36.000
+  -2391182.16243  -1842487.18842  24561120.460    24561127.515    24561118.037
+       131.539         102.498          45.000          38.000
+  -1896431.53153  -1475283.95252  25087557.926    25087562.093    25087557.789
+       677.932         528.259          39.000          33.000
+ 04  2  1  5 46 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17441391.88443 -13173675.71842  21733216.561    21733222.202    21733215.037
+      -880.390        -686.018          54.000          47.000
+ -23702305.43043 -18407495.01442  20176819.050    20176824.183    20176817.824
+       -59.565         -46.414          56.000          50.000
+ -14928160.92143 -11444937.34242  22484811.700    22484817.223    22484810.511
+     -3130.830       -2439.608          51.000          45.000
+ -17354024.61343 -13493200.63942  22674095.980    22674104.036    22674095.501
+     -2871.742       -2237.721          48.000          42.000
+  -7553161.04343  -5870890.52842  23570787.397    23570796.537    23570786.502
+     -1267.123        -987.368          48.000          41.000
+ -17604651.11143 -13706719.11342  21979011.478    21979018.260    21979010.577
+      1340.760        1044.748          52.000          46.000
+ -21574264.50543 -16770215.99542  21233074.195    21233078.285    21233073.536
+       835.016         650.662          56.000          49.000
+  -1180441.03743   -864827.71342  24619543.123    24619555.112    24619541.934
+      3834.889        2988.225          44.000          36.000
+  -3412918.15343  -2636674.79842  24469568.127    24469578.245    24469565.510
+      1434.142        1117.513          46.000          37.000
+  -2394879.79043  -1845368.45142  24560412.557    24560422.620    24560413.806
+       116.399          90.701          44.000          38.000
+  -1916635.91153  -1491027.61152  25083712.663    25083719.678    25083712.690
+       669.841         521.954          38.000          33.000
+ 04  2  1  5 47  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17414859.48143 -13153001.15542  21738264.548    21738271.101    21738263.801
+      -888.071        -692.003          54.000          47.000
+ -23700327.18543 -18405953.53142  20177195.382    20177200.355    20177194.328
+       -71.866         -55.999          56.000          50.000
+ -14834071.76643 -11371621.23142  22502716.021    22502722.032    22502714.970
+     -3141.364       -2447.816          51.000          45.000
+ -17267636.04843 -13425884.92242  22690535.990    22690544.137    22690535.668
+     -2886.886       -2249.521          49.000          42.000
+  -7514961.08643  -5841124.39842  23578056.995    23578065.499    23578055.580
+     -1279.005        -996.627          48.000          41.000
+ -17644691.72243 -13737919.54742  21971392.917    21971399.043    21971391.335
+      1329.146        1035.698          52.000          46.000
+ -21599232.40043 -16789671.50642  21228322.985    21228327.336    21228322.387
+       829.900         646.675          56.000          49.000
+  -1295463.28143   -954454.94542  24597654.189    24597664.243    24597650.815
+      3833.580        2987.205          45.000          36.000
+  -3455886.52643  -2670156.48642  24461389.600    24461401.248    24461388.603
+      1430.743        1114.865          46.000          36.000
+  -2398098.82943  -1847876.84242  24559803.355    24559810.843    24559802.438
+        98.969          77.119          46.000          38.000
+  -1936564.23953  -1506556.15952  25079917.038    25079927.273    25079913.019
+       659.297         513.738          35.000          33.000
+ 04  2  1  5 47 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17388135.88443 -13132177.59542  21743349.990    21743356.468    21743348.915
+      -893.911        -696.554          54.000          47.000
+ -23698022.84743 -18404157.95042  20177634.164    20177638.832    20177632.687
+       -82.211         -64.060          56.000          50.000
+ -14739699.83843 -11298084.79142  22520673.560    22520681.098    22520672.843
+     -3150.331       -2454.803          50.000          44.000
+ -17180835.94743 -13358248.55742  22707053.428    22707060.904    22707051.655
+     -2900.242       -2259.929          48.000          42.000
+  -7476442.40743  -5811109.95442  23585385.906    23585394.482    23585384.803
+     -1289.232       -1004.596          48.000          41.000
+ -17684417.46243 -13768874.64142  21963833.253    21963839.483    21963831.973
+      1318.966        1027.766          53.000          46.000
+ -21624081.23543 -16809034.23342  21223594.406    21223598.896    21223593.684
+       826.280         643.855          56.000          49.000
+  -1410481.37543  -1044078.96342  24575766.949    24575776.977    24575764.440
+      3833.778        2987.359          45.000          37.000
+  -3498791.63243  -2703588.85442  24453225.548    24453234.857    24453224.729
+      1428.996        1113.503          47.000          37.000
+  -2400841.31143  -1850013.84642  24559277.783    24559288.134    24559277.960
+        83.146          64.789          43.000          38.000
+  -1956215.68553  -1521868.98452  25076182.066    25076188.796    25076178.024
+       650.331         506.751          39.000          34.000
+ 04  2  1  5 48  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17361220.04443 -13111204.25542  21748473.123    21748478.505    21748471.512
+      -900.088        -701.367          54.000          47.000
+ -23695393.88943 -18402109.42442  20178134.385    20178139.316    20178133.303
+       -92.651         -72.195          56.000          50.000
+ -14645047.52043 -11224329.87742  22538685.678    22538693.379    22538683.934
+     -3159.229       -2461.737          50.000          44.000
+ -17093627.20743 -13290293.75742  22723649.849    22723656.330    22723648.294
+     -2913.287       -2270.094          48.000          42.000
+  -7437607.65843  -5780849.17042  23592778.174    23592785.286    23592776.370
+     -1299.121       -1012.302          49.000          41.000
+ -17723828.76843 -13799584.71642  21956333.583    21956339.804    21956331.581
+      1308.877        1019.904          52.000          46.000
+ -21648809.56343 -16828303.06642  21218888.687    21218893.352    21218888.077
+       822.647         641.024          56.000          49.000
+  -1525492.85043  -1133697.83442  24553880.630    24553890.836    24553879.290
+      3833.916        2987.467          46.000          37.000
+  -3541630.91243  -2736969.95242  24445074.161    24445084.250    24445072.236
+      1427.214        1112.115          45.000          36.000
+  -2403108.16643  -1851780.18442  24558850.184    24558857.557    24558848.087
+        67.850          52.870          45.000          38.000
+  -1975588.50943  -1536964.60742  25072496.003    25072502.027    25072493.222
+       641.452         499.833          43.000          35.000
+ 04  2  1  5 48 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17334113.64043 -13090082.41342  21753630.864    21753636.640    21753629.208
+      -907.234        -706.935          54.000          47.000
+ -23692444.48043 -18399811.19242  20178695.575    20178700.694    20178693.996
+      -104.156         -81.160          56.000          50.000
+ -14550119.83143 -11150360.37342  22556750.777    22556757.576    22556748.945
+     -3169.465       -2469.713          51.000          45.000
+ -17006015.56143 -13222025.01742  22740322.433    22740328.689    22740321.263
+     -2927.832       -2281.427          49.000          42.000
+  -7398462.28943  -5750346.36942  23600226.487    23600233.191    23600225.477
+     -1310.519       -1021.184          48.000          41.000
+ -17762928.99243 -13830052.38942  21948893.050    21948898.674    21948891.151
+      1297.555        1011.082          53.000          46.000
+ -21673418.71743 -16847479.03342  21214206.073    21214210.180    21214205.084
+       817.657         637.135          56.000          49.000
+  -1640497.65343  -1223311.51642  24531996.102    24532006.668    24531995.361
+      3832.729        2986.542          45.000          37.000
+  -3584404.54243  -2770299.86542  24436931.859    24436943.283    24436931.798
+      1423.939        1109.563          43.000          35.000
+  -2404902.93743  -1853178.77542  24558507.855    24558514.232    24558505.406
+        51.909          40.449          45.000          38.000
+  -1994683.30743  -1551843.56842  25068861.817    25068870.359    25068861.233
+       631.356         491.966          43.000          35.000
+ 04  2  1  5 49  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17306814.10143 -13068810.08242  21758825.098    21758831.611    21758824.121
+      -913.618        -711.910          53.000          47.000
+ -23689174.52743 -18397263.18742  20179317.800    20179322.880    20179316.462
+      -114.685         -89.365          56.000          50.000
+ -14454917.73243 -11076177.04342  22574866.748    22574874.321    22574866.487
+     -3178.094       -2476.437          51.000          45.000
+ -16918002.30843 -13153443.31742  22757071.106    22757076.868    22757070.064
+     -2940.724       -2291.473          49.000          42.000
+  -7359007.32143  -5719602.31342  23607733.666    23607740.829    23607731.680
+     -1320.811       -1029.203          47.000          40.000
+ -17801717.50243 -13860277.16942  21941510.781    21941517.340    21941510.363
+      1287.399        1003.168          52.000          46.000
+ -21697905.64343 -16866559.75942  21209545.982    21209550.466    21209544.922
+       813.705         634.056          56.000          49.000
+  -1755491.80143  -1312916.92242  24510112.882    24510124.086    24510112.077
+      3832.500        2986.364          46.000          37.000
+  -3627108.55343  -2803575.53842  24428808.100    24428821.132    24428803.952
+      1421.923        1107.992          42.000          35.000
+  -2406225.32243  -1854209.21642  24558255.412    24558264.468    24558255.203
+        36.165          28.180          47.000          39.000
+  -2013496.31243  -1566503.03342  25065278.853    25065286.588    25065275.682
+       621.949         484.635          41.000          35.000
+ 04  2  1  5 49 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17279317.91143 -13047384.51142  21764057.285    21764064.054    21764057.164
+      -919.520        -716.509          54.000          47.000
+ -23685583.06943 -18394464.65642  20180001.578    20180006.092    20180000.139
+      -124.852         -97.287          56.000          50.000
+ -14359441.16543 -11001779.84542  22593035.588    22593042.937    22593034.634
+     -3186.989       -2483.368          51.000          44.000
+ -16829587.77743 -13084548.96142  22773895.414    22773902.282    22773894.422
+     -2953.626       -2301.527          49.000          42.000
+  -7319243.09043  -5688617.26042  23615300.881    23615309.526    23615301.456
+     -1330.399       -1036.675          47.000          40.000
+ -17840192.28543 -13890257.47542  21934189.668    21934195.987    21934188.399
+      1277.545         995.490          52.000          46.000
+ -21722266.48343 -16885542.23142  21204910.282    21204914.750    21204909.490
+       810.124         631.265          56.000          49.000
+  -1870470.20443  -1402510.07242  24488232.326    24488242.042    24488230.757
+      3832.730        2986.543          46.000          38.000
+  -3669738.11343  -2836793.14342  24420695.565    24420702.652    24420692.411
+      1420.284        1106.715          44.000          35.000
+  -2407074.07943  -1854870.58242  24558095.059    24558103.248    24558094.759
+        20.531          15.998          47.000          39.000
+  -2032023.12343  -1580939.47642  25061753.657    25061761.843    25061753.820
+       612.450         477.234          41.000          35.000
+ 04  2  1  5 50  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17251627.35143 -13025807.49042  21769326.512    21769332.646    21769325.900
+      -926.043        -721.592          54.000          47.000
+ -23681674.72143 -18391419.19942  20180744.603    20180750.064    20180743.478
+      -135.314        -105.439          56.000          50.000
+ -14263695.84443 -10927173.24142  22611255.514    22611262.421    22611254.371
+     -3195.938       -2490.341          52.000          45.000
+ -16740778.10843 -13015346.71042  22790795.550    22790801.208    22790792.046
+     -2966.600       -2311.636          49.000          42.000
+  -7279175.37943  -5657395.77142  23622925.143    23622934.184    23622923.905
+     -1340.373       -1044.446          48.000          41.000
+ -17878357.41043 -13919996.49142  21926927.591    21926932.600    21926925.879
+      1267.272         987.485          52.000          46.000
+ -21746503.15343 -16904427.94842  21200298.234    21200302.508    21200297.654
+       806.059         628.098          56.000          49.000
+  -1985433.43443  -1492091.38842  24466354.913    24466366.491    24466353.934
+      3831.838        2985.848          45.000          37.000
+  -3712293.60043  -2869953.06842  24412595.900    24412604.564    24412594.376
+      1417.193        1104.306          45.000          37.000
+  -2407453.41043  -1855166.20142  24558022.023    24558030.002    24558021.881
+         5.032           3.921          46.000          38.000
+  -2050265.02343  -1595153.89542  25058281.867    25058290.705    25058281.285
+       603.369         470.158          38.000          34.000
+ 04  2  1  5 50 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17223739.45043 -13004076.69242  21774633.718    21774640.147    21774632.612
+      -932.901        -726.936          54.000          47.000
+ -23677449.03643 -18388126.45742  20181549.163    20181554.049    20181547.804
+      -146.116        -113.857          56.000          50.000
+ -14167681.96043 -10852357.34842  22629527.487    22629533.857    22629525.850
+     -3205.149       -2497.519          52.000          45.000
+ -16651574.01143 -12945837.07142  22807768.182    22807777.102    22807768.024
+     -2979.941       -2322.032          48.000          42.000
+  -7238804.92043  -5625938.34242  23630607.173    23630615.561    23630606.770
+     -1350.671       -1052.471          47.000          41.000
+ -17916211.39843 -13949493.07642  21919724.312    21919729.519    21919723.501
+      1256.613         979.179          53.000          46.000
+ -21770611.76743 -16923213.87942  21195710.526    21195715.077    21195709.932
+       801.583         624.610          56.000          49.000
+  -2100376.85643  -1581657.30342  24444482.149    24444492.287    24444479.713
+      3830.896        2985.114          46.000          38.000
+  -3754770.65043  -2903051.91442  24404512.398    24404524.615    24404512.372
+      1414.427        1102.151          45.000          38.000
+  -2407362.28743  -1855095.23242  24558037.865    24558047.651    24558036.991
+       -11.010          -8.579          44.000          37.000
+  -2068218.25943  -1609143.30442  25054864.154    25054876.820    25054862.607
+       593.524         462.486          40.000          35.000
+ 04  2  1  5 51  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17195650.65843 -12982189.36242  21779979.084    21779985.469    21779977.912
+      -940.032        -732.492          53.000          47.000
+ -23672904.78643 -18384585.48842  20182413.774    20182418.989    20182412.665
+      -157.170        -122.470          56.000          50.000
+ -14071399.64243 -10777332.28842  22647848.680    22647854.646    22647847.136
+     -3214.225       -2504.591          51.000          44.000
+ -16561975.67343 -12876020.26942  22824819.071    22824827.236    22824817.504
+     -2993.643       -2332.709          48.000          42.000
+  -7198131.75943  -5594245.04942  23638345.560    23638356.321    23638345.558
+     -1361.155       -1060.640          47.000          41.000
+ -17953752.40343 -13978745.77242  21912580.235    21912586.193    21912578.414
+      1245.820         970.769          53.000          46.000
+ -21794588.11743 -16941896.74242  21191147.757    21191152.918    21191147.605
+       796.601         620.728          56.000          49.000
+  -2215295.06443  -1671203.55942  24422612.099    24422624.939    24422611.004
+      3830.060        2984.462          46.000          38.000
+  -3797163.99543  -2936085.47942  24396444.712    24396456.267    24396442.919
+      1411.251        1099.676          44.000          38.000
+  -2406799.38443  -1854656.63042  24558146.306    24558155.610    24558146.156
+       -27.036         -21.067          46.000          39.000
+  -2085878.25743  -1622904.35642  25051504.679    25051515.769    25051502.750
+       583.106         454.368          42.000          36.000
+ 04  2  1  5 51 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17167365.04643 -12960148.67942  21785361.609    21785368.639    21785360.804
+      -945.748        -736.946          53.000          47.000
+ -23668048.69943 -18380801.53442  20183337.691    20183342.998    20183336.662
+      -166.867        -130.026          56.000          50.000
+ -13974856.47143 -10702103.96542  22666220.140    22666225.297    22666218.520
+     -3222.399       -2510.960          51.000          44.000
+ -16471991.30643 -12805902.67042  22841943.339    22841950.612    22841940.095
+     -3005.537       -2341.977          48.000          42.000
+  -7157164.06843  -5562322.24442  23646143.361    23646152.536    23646141.860
+     -1370.322       -1067.783          47.000          41.000
+ -17990986.44343 -14007759.27142  21905495.461    21905501.126    21905493.573
+      1236.369         963.404          53.000          46.000
+ -21818436.65043 -16960480.01242  21186609.718    21186614.366    21186608.934
+       793.205         618.082          56.000          49.000
+  -2330190.93743  -1760732.42942  24400747.207    24400759.747    24400747.261
+      3829.395        2983.944          45.000          38.000
+  -3839476.60343  -2969056.18742  24388394.356    24388404.212    24388392.493
+      1409.171        1098.055          45.000          39.000
+  -2405771.00643  -1853855.28742  24558342.305    24558350.986    24558341.577
+       -41.604         -32.419          45.000          38.000
+  -2103248.11143  -1636439.28942  25048198.052    25048210.584    25048198.028
+       574.296         447.503          43.000          36.000
+ 04  2  1  5 52  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17138879.87543 -12937952.48642  21790782.626    21790788.842    21790781.584
+      -953.088        -742.666          53.000          47.000
+ -23662880.50243 -18376774.37642  20184321.150    20184326.477    20184320.276
+      -177.741        -138.499          56.000          50.000
+ -13878052.82143 -10626672.67442  22684642.005    22684648.478    22684640.736
+     -3231.158       -2517.785          52.000          44.000
+ -16381622.03743 -12735485.13642  22859139.972    22859147.630    22859138.351
+     -3018.887       -2352.379          48.000          42.000
+  -7115902.42643  -5530170.42342  23653994.049    23654005.376    23653993.262
+     -1380.432       -1075.661          46.000          40.000
+ -18027912.40243 -14036532.71242  21898467.495    21898474.295    21898466.231
+      1225.476         954.916          52.000          46.000
+ -21842153.63843 -16978960.77342  21182096.687    21182101.062    21182096.252
+       788.131         614.128          56.000          49.000
+  -2445059.70043  -1850240.16342  24378889.477    24378899.506    24378889.225
+      3828.173        2982.992          47.000          38.000
+  -3881704.09743  -3001960.54242  24380356.473    24380367.475    24380355.771
+      1406.045        1095.619          45.000          38.000
+  -2404276.74143  -1852690.92542  24558627.048    24558635.906    24558625.577
+       -57.887         -45.107          45.000          38.000
+  -2120324.18443  -1649745.29842  25044950.559    25044960.252    25044949.581
+       564.268         439.689          43.000          36.000
+ 04  2  1  5 52 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17110197.92443 -12915602.97442  21796241.016    21796247.120    21796239.173
+      -959.742        -747.851          54.000          47.000
+ -23657405.47643 -18372508.12842  20185363.145    20185368.392    20185362.017
+      -187.907        -146.421          56.000          50.000
+ -13780995.28043 -10551043.55642  22703110.958    22703117.594    22703110.169
+     -3239.881       -2524.582          52.000          44.000
+ -16290874.63443 -12664772.95542  22876408.836    22876415.181    22876408.414
+     -3031.530       -2362.231          49.000          42.000
+  -7074353.61943  -5497794.78042  23661902.100    23661909.375    23661900.918
+     -1390.144       -1083.229          48.000          40.000
+ -18064535.09343 -14065069.84742  21891498.737    21891504.879    21891497.256
+      1215.390         947.057          52.000          46.000
+ -21865741.62243 -16997341.01742  21177608.026    21177612.798    21177607.011
+       783.711         610.684          56.000          49.000
+  -2559902.63243  -1939727.79242  24357036.230    24357045.123    24357034.411
+      3826.776        2981.903          46.000          39.000
+  -3923847.65143  -3034799.49542  24372339.064    24372347.134    24372336.773
+      1403.151        1093.364          46.000          39.000
+  -2402321.30143  -1851167.23042  24558995.917    24559008.526    24558995.339
+       -73.535         -57.300          43.000          38.000
+  -2137108.57143  -1662823.93242  25041752.099    25041767.889    25041751.628
+       554.226         431.864          40.000          36.000
+ 04  2  1  5 53  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17081312.18443 -12893094.65642  21801737.165    21801744.358    21801736.137
+      -966.553        -753.158          53.000          47.000
+ -23651619.15143 -18367999.31142  20186464.344    20186469.267    20186463.133
+      -198.456        -154.641          56.000          50.000
+ -13683680.12843 -10475213.69942  22721629.998    22721636.552    22721628.790
+     -3248.296       -2531.140          52.000          44.000
+ -16199746.00943 -12593763.72242  22893750.175    22893757.875    22893748.714
+     -3044.220       -2372.119          48.000          42.000
+  -7032514.40343  -5465192.88242  23669863.808    23669872.856    23669863.651
+     -1399.704       -1090.678          48.000          40.000
+ -18100849.01543 -14093366.38042  21884588.345    21884594.805    21884587.280
+      1205.094         939.034          53.000          46.000
+ -21889193.06243 -17015614.86742  21173145.536    21173149.821    21173144.446
+       779.321         607.263          56.000          49.000
+  -2674711.43343  -2029188.80942  24335187.220    24335198.068    24335185.629
+      3826.211        2981.463          46.000          39.000
+  -3965898.85543  -3067566.54342  24364335.845    24364346.496    24364334.492
+      1399.919        1090.846          46.000          39.000
+  -2399900.03943  -1849280.55042  24559461.203    24559468.091    24559459.905
+       -88.684         -69.104          44.000          37.000
+  -2153593.03643  -1675668.94442  25038618.097    25038628.857    25038617.336
+       544.463         424.257          43.000          37.000
+ 04  2  1  5 53 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17052224.65943 -12870429.11942  21807272.325    21807278.943    21807270.896
+      -972.904        -758.107          53.000          47.000
+ -23645526.00943 -18363251.41842  20187623.318    20187628.923    20187622.575
+      -208.268        -162.287          56.000          50.000
+ -13586112.94443 -10399187.46242  22740196.021    22740202.014    22740195.749
+     -3256.537       -2537.561          51.000          44.000
+ -16108242.07443 -12522462.03642  22911163.151    22911171.478    22911160.321
+     -3056.333       -2381.558          48.000          42.000
+  -6990390.21643  -5432368.93342  23677880.287    23677889.194    23677878.835
+     -1408.870       -1097.821          47.000          40.000
+ -18136858.06243 -14121425.34642  21877736.096    21877741.953    21877735.022
+      1195.121         931.263          53.000          46.000
+ -21912509.39143 -17033783.42642  21168708.569    21168712.847    21168707.640
+       774.834         603.767          56.000          49.000
+  -2789486.13943  -2118623.26042  24313346.367    24313356.747    24313345.435
+      3825.272        2980.731          46.000          39.000
+  -4007858.19643  -3100262.00942  24356352.002    24356360.350    24356349.451
+      1397.028        1088.593          46.000          39.000
+  -2397017.14043  -1847034.16642  24560007.176    24560017.042    24560006.408
+      -103.987         -81.029          43.000          37.000
+  -2169779.11343  -1688281.49242  25035539.895    25035549.940    25035538.291
+       534.385         416.404          44.000          37.000
+ 04  2  1  5 54  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -17022932.71043 -12847604.27442  21812846.179    21812853.055    21812845.211
+      -979.598        -763.323          53.000          46.000
+ -23639125.95343 -18358264.36742  20188841.369    20188846.803    20188840.677
+      -218.126        -169.968          56.000          50.000
+ -13488294.65643 -10322965.56642  22758811.475    22758817.050    22758809.499
+     -3264.577       -2543.826          51.000          43.000
+ -16016364.04943 -12450868.85042  22928646.440    22928654.663    22928644.388
+     -3068.530       -2391.062          48.000          42.000
+  -6947982.29743  -5399323.89342  23685949.974    23685958.820    23685948.455
+     -1418.017       -1104.948          47.000          40.000
+ -18172561.34943 -14149246.05542  21870941.507    21870947.878    21870940.236
+      1185.201         923.533          52.000          46.000
+ -21935687.37143 -17051844.18742  21164297.535    21164301.960    21164296.530
+       770.517         600.403          56.000          49.000
+  -2904222.40243  -2208027.74542  24291512.616    24291522.870    24291511.694
+      3823.852        2979.625          46.000          39.000
+  -4049721.40043  -3132882.54142  24348384.549    24348394.763    24348383.669
+      1394.034        1086.260          45.000          39.000
+  -2393672.37643  -1844427.87842  24560645.954    24560652.414    24560644.830
+      -119.079         -92.789          44.000          38.000
+  -2185663.34643  -1700658.78642  25032517.841    25032526.890    25032515.330
+       524.956         409.057          43.000          37.000
+ 04  2  1  5 54 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16993437.17743 -12824620.80742  21818459.321    21818465.979    21818458.017
+      -986.260        -768.514          53.000          47.000
+ -23632422.21243 -18353040.68142  20190116.682    20190122.513    20190115.895
+      -228.206        -177.823          56.000          50.000
+ -13390229.44543 -10246551.25742  22777472.293    22777477.946    22777471.100
+     -3272.608       -2550.084          50.000          43.000
+ -15924116.77943 -12378987.92542  22946200.705    22946207.791    22946198.502
+     -3080.624       -2400.486          48.000          42.000
+  -6905295.37843  -5366061.43542  23694072.517    23694082.267    23694070.983
+     -1427.173       -1112.083          47.000          40.000
+ -18207961.25243 -14176830.36642  21864206.601    21864211.403    21864204.268
+      1175.298         915.817          53.000          46.000
+ -21958727.38743 -17069797.45042  21159913.145    21159917.574    21159912.244
+       766.051         596.923          56.000          49.000
+  -3018919.46043  -2297401.67642  24269686.280    24269696.836    24269685.023
+      3822.599        2978.648          46.000          39.000
+  -4091487.83643  -3165427.69842  24340436.763    24340443.680    24340433.691
+      1390.911        1083.827          45.000          38.000
+  -2389868.94443  -1841464.20942  24561371.256    24561376.994    24561369.227
+      -134.136        -104.521          44.000          38.000
+  -2201245.74143  -1712800.84242  25029550.161    25029561.063    25029549.065
+       514.707         401.070          40.000          35.000
+ 04  2  1  5 55  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16963735.37043 -12801476.59742  21824111.849    21824118.034    21824110.327
+      -993.932        -774.492          53.000          47.000
+ -23625414.66243 -18347580.25742  20191450.889    20191455.960    20191449.744
+      -239.026        -186.254          56.000          50.000
+ -13291918.14743 -10169945.18542  22796179.688    22796186.549    22796178.310
+     -3281.477       -2556.995          50.000          43.000
+ -15831501.37343 -12306820.13642  22963824.869    22963834.268    22963823.112
+     -3093.733       -2410.701          48.000          42.000
+  -6862330.56143  -5332582.44042  23702248.626    23702257.891    23702247.448
+     -1437.037       -1119.769          47.000          41.000
+ -18243057.05843 -14204177.71742  21857526.922    21857532.217    21857526.117
+      1164.514         907.414          53.000          46.000
+ -21981626.31743 -17087640.77342  21155555.449    21155559.955    21155554.842
+       760.508         592.604          56.000          49.000
+  -3133573.04543  -2386741.72942  24247867.626    24247878.179    24247866.339
+      3820.832        2977.272          46.000          39.000
+  -4133153.33643  -3197894.15642  24332506.220    24332519.119    24332505.316
+      1386.476        1080.371          44.000          38.000
+  -2385606.25343  -1838142.62742  24562178.776    24562189.045    24562178.024
+      -149.884        -116.793          44.000          37.000
+  -2216522.51443  -1724704.67742  25026644.666    25026653.252    25026643.910
+       503.848         392.609          42.000          36.000
+ 04  2  1  5 55 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16933825.99643 -12778170.65942  21829803.437    21829809.493    21829801.961
+     -1000.423        -779.550          53.000          47.000
+ -23618104.49243 -18341884.02442  20192841.763    20192847.131    20192840.622
+      -248.619        -193.729          56.000          50.000
+ -13193362.88343 -10093149.03442  22814933.881    22814941.870    22814931.622
+     -3289.082       -2562.921          49.000          43.000
+ -15738520.49643 -12234367.57542  22981517.929    22981526.204    22981516.897
+     -3105.556       -2419.914          48.000          42.000
+  -6819090.09143  -5298888.64942  23710478.026    23710484.864    23710476.846
+     -1446.032       -1126.778          48.000          41.000
+ -18277849.25543 -14231288.48142  21850905.800    21850912.028    21850904.830
+      1154.731         899.790          52.000          46.000
+ -22004382.06044 -17105372.52042  21151225.730    21151230.215    21151224.995
+       755.981         589.076          57.000          49.000
+  -3248180.24143  -2476045.65042  24226058.731    24226068.750    24226057.195
+      3819.368        2976.131          47.000          40.000
+  -4174714.98143  -3230279.70742  24324599.654    24324608.541    24324597.595
+      1383.334        1077.922          45.000          38.000
+  -2380885.37543  -1834464.05342  24563079.858    24563087.597    24563077.464
+      -165.193        -128.722          46.000          39.000
+  -2231491.77843  -1736368.99042  25023793.777    25023806.398    25023793.953
+       493.878         384.840          42.000          36.000
+ 04  2  1  5 56  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16903712.38943 -12754705.56542  21835533.947    21835540.808    21835532.708
+     -1007.224        -784.850          54.000          47.000
+ -23610497.47343 -18335956.47842  20194289.805    20194294.740    20194288.454
+      -258.491        -201.421          56.000          50.000
+ -13094570.52743 -10016168.13042  22833732.948    22833741.451    22833732.048
+     -3296.891       -2569.006          49.000          43.000
+ -15645181.56643 -12161636.00442  22999280.522    22999287.812    22999278.548
+     -3117.283       -2429.052          48.000          41.000
+  -6775581.20243  -5264985.67942  23718756.345    23718766.160    23718755.856
+     -1454.685       -1133.521          47.000          40.000
+ -18312343.05143 -14258166.73242  21844342.113    21844347.915    21844341.081
+      1144.813         892.062          52.000          46.000
+ -22026997.68544 -17122995.09542  21146921.874    21146926.240    21146921.029
+       751.444         585.541          57.000          49.000
+  -3362742.65143  -2565314.65342  24204258.342    24204266.575    24204257.247
+      3817.924        2975.006          47.000          39.000
+  -4216174.74143  -3262585.83442  24316709.421    24316718.420    24316707.244
+      1380.235        1075.508          46.000          39.000
+  -2375712.08643  -1830432.91342  24564063.994    24564071.138    24564062.841
+      -180.028        -140.281          46.000          38.000
+  -2246155.89343  -1747795.54142  25021003.975    25021013.876    25021003.242
+       483.588         376.822          43.000          35.000
+ 04  2  1  5 56 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16873390.48343 -12731078.15942  21841304.148    21841310.233    21841303.068
+     -1014.037        -790.159          54.000          47.000
+ -23602592.15343 -18329796.49242  20195793.601    20195799.203    20195792.517
+      -268.423        -209.161          56.000          50.000
+ -12995540.65343  -9939002.13742  22852578.860    22852586.935    22852577.476
+     -3304.860       -2575.215          51.000          44.000
+ -15551484.42243 -12088625.30242  23017110.110    23017117.338    23017108.704
+     -3129.260       -2438.384          48.000          41.000
+  -6731803.58443  -5230873.35942  23727088.339    23727095.046    23727086.875
+     -1463.491       -1140.382          47.000          40.000
+ -18346536.30743 -14284810.78242  21837835.659    21837841.204    21837834.168
+      1134.913         884.348          53.000          46.000
+ -22049468.56244 -17140504.88542  21142645.909    21142650.161    21142645.333
+       746.854         581.964          57.000          49.000
+  -3477254.59843  -2654544.35742  24182467.587    24182477.152    24182466.707
+      3816.525        2973.916          48.000          40.000
+  -4257526.96343  -3294808.23742  24308840.537    24308850.049    24308838.944
+      1376.671        1072.731          47.000          39.000
+  -2370084.78243  -1826047.96142  24565131.894    24565142.218    24565131.723
+      -194.815        -151.804          43.000          38.000
+  -2260510.08843  -1758980.59142  25018273.286    25018283.904    25018271.099
+       473.343         368.839          42.000          35.000
+ 04  2  1  5 57  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16842856.25543 -12707285.28842  21847114.160    21847120.592    21847112.856
+     -1021.155        -795.705          53.000          47.000
+ -23594386.96343 -18323402.84942  20197355.693    20197360.105    20197354.181
+      -278.186        -216.768          56.000          50.000
+ -12896272.59143  -9861650.53642  22871469.420    22871476.651    22871468.198
+     -3312.593       -2581.241          51.000          44.000
+ -15457428.73643 -12015335.21742  23035008.646    23035016.046    23035007.404
+     -3141.093       -2447.605          48.000          41.000
+  -6687757.00543  -5196551.40642  23735468.591    23735477.423    23735468.352
+     -1472.348       -1147.284          47.000          40.000
+ -18380426.56543 -14311218.74142  21831386.549    21831391.686    21831385.065
+      1124.800         876.468          53.000          46.000
+ -22071790.01644 -17157898.22742  21138398.516    21138402.245    21138397.759
+       741.779         578.010          57.000          49.000
+  -3591710.12643  -2743730.09442  24160687.146    24160696.246    24160685.564
+      3814.317        2972.195          47.000          40.000
+  -4298766.13843  -3326942.51342  24300992.459    24301000.180    24300991.386
+      1372.969        1069.846          46.000          38.000
+  -2364001.56143  -1821307.82642  24566291.614    24566301.150    24566289.202
+      -210.789        -164.251          44.000          37.000
+  -2274549.27943  -1769920.20442  25015600.451    25015610.380    25015598.689
+       463.091         360.850          40.000          33.000
+ 04  2  1  5 57 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16812115.65943 -12683331.62242  21852965.000    21852970.165    21852963.177
+     -1028.529        -801.451          54.000          47.000
+ -23585890.38643 -18316782.14242  20198972.052    20198976.842    20198971.281
+      -288.397        -224.725          56.000          50.000
+ -12796775.69043  -9784120.62942  22890402.908    22890410.846    22890401.104
+     -3320.693       -2587.553          51.000          44.000
+ -15363024.61443 -11941773.61242  23052973.250    23052980.491    23052971.269
+     -3152.869       -2456.781          48.000          42.000
+  -6643451.11343  -5162027.42742  23743901.315    23743909.045    23743899.709
+     -1481.494       -1154.411          48.000          40.000
+ -18414021.77643 -14337396.80042  21824993.383    21824998.663    21824992.075
+      1114.546         868.477          52.000          46.000
+ -22093967.32344 -17175179.25842  21134178.188    21134182.788    21134177.534
+       736.486         573.885          57.000          49.000
+  -3706113.61343  -2832875.32242  24138916.234    24138924.932    24138915.382
+      3812.059        2970.436          47.000          40.000
+  -4339896.55543  -3358992.06742  24293165.233    24293176.656    24293161.897
+      1368.924        1066.694          45.000          38.000
+  -2357471.01543  -1816219.07242  24567534.193    24567540.323    24567533.503
+      -225.586        -175.781          45.000          38.000
+  -2288278.99143  -1780618.59642  25012987.937    25012995.842    25012986.079
+       452.003         352.210          40.000          34.000
+ 04  2  1  5 58  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16781160.86243 -12659211.03542  21858854.959    21858861.586    21858853.449
+     -1036.009        -807.280          54.000          47.000
+ -23577096.70443 -18309929.93042  20200645.688    20200650.582    20200644.205
+      -298.656        -232.719          56.000          50.000
+ -12697045.56043  -9706408.97542  22909381.067    22909389.293    22909379.902
+     -3328.957       -2593.992          51.000          44.000
+ -15268267.93843 -11867937.29842  23071005.802    23071011.971    23071004.203
+     -3165.188       -2466.380          49.000          42.000
+  -6598881.75843  -5127298.13642  23752382.334    23752389.528    23752382.300
+     -1490.640       -1161.538          47.000          40.000
+ -18447315.70543 -14363340.09042  21818657.716    21818663.203    21818656.444
+      1104.062         860.308          52.000          46.000
+ -22115992.20544 -17192341.51942  21129987.231    21129991.399    21129986.118
+       730.987         569.600          57.000          49.000
+  -3820455.48543  -2921972.53942  24117156.906    24117167.601    24117157.520
+      3809.625        2968.539          47.000          39.000
+  -4380908.76443  -3390949.47242  24285361.744    24285370.440    24285359.778
+      1364.526        1063.267          45.000          39.000
+  -2350487.02543  -1810777.04142  24568860.733    24568873.019    24568860.451
+      -241.163        -187.919          43.000          37.000
+  -2301690.05443  -1791068.76342  25010434.749    25010449.125    25010432.694
+       441.221         343.809          40.000          35.000
+ 04  2  1  5 58 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16749996.11043 -12634926.85442  21864784.845    21864790.844    21864783.893
+     -1042.363        -812.231          54.000          47.000
+ -23568012.81443 -18302851.58242  20202373.871    20202379.555    20202372.861
+      -307.571        -239.666          56.000          50.000
+ -12597089.87843  -9628521.58342  22928402.566    22928408.709    22928400.108
+     -3335.579       -2599.152          51.000          44.000
+ -15173166.83543 -11793832.59842  23089101.906    23089110.276    23089101.285
+     -3175.748       -2474.609          48.000          42.000
+  -6554057.04043  -5092369.90542  23760911.706    23760920.614    23760910.976
+     -1498.287       -1167.496          47.000          40.000
+ -18480314.43643 -14389053.34442  21812378.269    21812384.067    21812377.124
+      1095.062         853.295          52.000          46.000
+ -22137867.78844 -17209387.44542  21125824.152    21125828.335    21125823.320
+       726.717         566.273          57.000          49.000
+  -3934738.18843  -3011023.67142  24095409.090    24095421.259    24095408.991
+      3808.509        2967.669          46.000          39.000
+  -4421805.42043  -3422816.81342  24277579.423    24277588.044    24277578.015
+      1361.216        1060.688          45.000          39.000
+  -2343056.54943  -1804987.08942  24570275.316    24570286.906    24570274.460
+      -255.029        -198.724          42.000          37.000
+  -2314786.01643  -1801273.38342  25007944.142    25007954.645    25007942.922
+       431.299         336.077          42.000          35.000
+ 04  2  1  5 59  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16718615.41343 -12610474.40042  21870756.256    21870763.508    21870755.143
+     -1050.049        -818.220          53.000          47.000
+ -23558635.35343 -18295544.47742  20204159.015    20204163.672    20204157.650
+      -317.916        -247.727          56.000          50.000
+ -12496906.38743  -9550456.68642  22947466.833    22947473.818    22947465.269
+     -3343.747       -2605.517          50.000          43.000
+ -15077719.15943 -11719457.85042  23107264.996    23107272.985    23107263.443
+     -3187.607       -2483.850          48.000          42.000
+  -6508974.63243  -5057240.85642  23769490.869    23769499.562    23769489.337
+     -1507.307       -1174.525          47.000          41.000
+ -18513013.82043 -14414533.36042  21806156.210    21806161.430    21806154.764
+      1084.582         845.129          53.000          46.000
+ -22159588.02444 -17226312.31542  21121691.004    21121694.958    21121690.374
+       720.942         561.773          57.000          49.000
+  -4048954.21943  -3100022.87042  24073673.976    24073684.629    24073674.089
+      3805.751        2965.520          46.000          39.000
+  -4462579.01943  -3454588.28942  24269818.288    24269829.455    24269817.404
+      1356.525        1057.032          44.000          38.000
+  -2335176.24543  -1798846.62142  24571777.473    24571784.523    24571775.333
+      -270.506        -210.784          43.000          36.000
+  -2327560.21743  -1811227.25742  25005511.540    25005524.544    25005509.748
+       419.779         327.101          40.000          36.000
+ 04  2  1  5 59 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16687022.73643 -12585856.75842  21876768.555    21876775.453    21876767.120
+     -1056.924        -823.577          53.000          47.000
+ -23548970.66343 -18288013.56942  20205997.741    20206002.738    20205996.619
+      -327.141        -254.915          56.000          50.000
+ -12396502.24843  -9472219.85242  22966572.509    22966580.140    22966571.203
+     -3350.641       -2610.889          49.000          43.000
+ -14981932.94343 -11644819.33842  23125491.914    23125498.771    23125491.154
+     -3198.457       -2492.304          47.000          41.000
+  -6463642.53643  -5021917.25242  23778116.652    23778124.997    23778115.873
+     -1515.502       -1180.911          47.000          41.000
+ -18545419.72643 -14439784.68842  21799989.342    21799995.463    21799988.021
+      1075.058         837.708          53.000          46.000
+ -22181156.13144 -17243118.65042  21117586.682    21117591.152    21117585.941
+       716.122         558.017          57.000          50.000
+  -4163105.82543  -3188971.86242  24051953.290    24051961.650    24051951.779
+      3803.659        2963.890          47.000          39.000
+  -4503231.97843  -3486265.84642  24262082.741    24262093.038    24262081.089
+      1352.621        1053.990          45.000          38.000
+  -2326852.48743  -1792360.58442  24573360.210    24573366.360    24573358.137
+      -284.864        -221.972          44.000          36.000
+  -2340016.12553  -1820933.07952  25003143.482    25003150.941    25003143.170
+       409.503         319.093          42.000          36.000
+ 04  2  1  6  0  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16655210.74243 -12561068.21742  21882822.195    21882828.765    21882820.634
+     -1064.087        -829.159          53.000          47.000
+ -23539014.17143 -18280255.27542  20207892.233    20207897.238    20207891.244
+      -336.771        -262.419          56.000          50.000
+ -12295873.84943  -9393808.26942  22985721.444    22985729.907    22985720.019
+     -3357.947       -2616.582          49.000          43.000
+ -14885804.82843 -11569914.39942  23143783.946    23143792.139    23143783.639
+     -3210.098       -2501.375          47.000          41.000
+  -6418057.25543  -4986396.35542  23786790.710    23786800.970    23786790.982
+     -1523.625       -1187.240          47.000          40.000
+ -18577526.82243 -14464803.17742  21793879.943    21793884.959    21793877.712
+      1065.337         830.133          53.000          46.000
+ -22202564.34544 -17259800.38842  21113512.691    21113517.332    21113512.020
+       710.930         553.971          57.000          50.000
+  -4277183.80943  -3277863.52542  24030244.548    24030252.266    24030243.487
+      3801.345        2962.087          46.000          39.000
+  -4543755.63443  -3517842.63642  24254371.525    24254382.104    24254371.367
+      1348.708        1050.941          45.000          39.000
+  -2318080.40143  -1785525.19542  24575030.868    24575039.648    24575031.066
+      -300.070        -233.821          41.000          36.000
+  -2352145.56943  -1830384.56242  25000834.392    25000846.435    25000833.871
+       399.521         311.315          42.000          36.000
+ 04  2  1  6  0 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16623188.94043 -12536116.18542  21888915.761    21888922.498    21888914.174
+     -1070.859        -834.435          53.000          47.000
+ -23528777.47643 -18272278.64142  20209840.863    20209845.307    20209839.484
+      -345.866        -269.506          56.000          50.000
+ -12195034.23643  -9315232.11942  23004910.860    23004919.760    23004910.542
+     -3364.755       -2621.887          49.000          43.000
+ -14789348.01643 -11494753.31742  23162140.231    23162147.381    23162138.571
+     -3220.692       -2509.630          48.000          41.000
+  -6372231.74543  -4950688.28142  23795512.457    23795521.011    23795511.427
+     -1531.343       -1193.254          47.000          40.000
+ -18609346.34043 -14489597.59242  21787823.993    21787830.044    21787822.982
+      1055.799         822.701          53.000          46.000
+ -22223821.17244 -17276364.17042  21109468.022    21109472.080    21109467.128
+       706.074         550.188          57.000          49.000
+  -4391195.90943  -3366703.83842  24008547.982    24008556.025    24008546.107
+      3799.329        2960.516          45.000          39.000
+  -4584157.72543  -3549324.68442  24246684.962    24246692.825    24246683.179
+      1344.604        1047.743          44.000          38.000
+  -2308871.91643  -1778349.77942  24576779.999    24576789.990    24576779.664
+      -314.493        -245.059          42.000          36.000
+  -2363957.27743  -1839588.45442  24998587.965    24998596.398    24998587.139
+       388.615         302.817          43.000          37.000
+ 04  2  1  6  1  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16590949.92943 -12510994.89842  21895050.357    21895057.111    21895049.750
+     -1078.051        -840.040          53.000          47.000
+ -23518255.66843 -18264079.84342  20211842.862    20211847.703    20211841.623
+      -355.039        -276.654          56.000          50.000
+ -12093979.06643  -9236487.99242  23024140.922    23024148.876    23024139.764
+     -3371.821       -2627.393          49.000          43.000
+ -14692559.00343 -11419333.38242  23180559.672    23180565.292    23180557.794
+     -3231.422       -2517.991          47.000          41.000
+  -6326162.29843  -4914790.10942  23804278.822    23804288.702    23804278.865
+     -1539.279       -1199.438          48.000          40.000
+ -18640872.57743 -14514163.47242  21781825.055    21781830.474    21781823.836
+      1046.330         815.322          52.000          46.000
+ -22244918.46244 -17292803.63142  21105452.895    21105457.512    21105452.135
+       700.900         546.156          57.000          49.000
+  -4505132.76843  -3455485.53542  23986864.705    23986876.237    23986864.538
+      3796.928        2958.645          44.000          39.000
+  -4624429.32943  -3580704.96942  24239018.278    24239027.045    24239016.129
+      1340.256        1044.355          41.000          37.000
+  -2299221.89243  -1770830.30242  24578615.851    24578628.340    24578617.685
+      -328.727        -256.151          42.000          37.000
+  -2375442.88043  -1848538.18542  24996400.625    24996410.642    24996398.597
+       377.651         294.274          43.000          37.000
+ 04  2  1  6  1 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16558494.12443 -12485704.67442  21901226.325    21901233.461    21901225.461
+     -1085.403        -845.768          53.000          46.000
+ -23507451.77343 -18255661.23942  20213898.392    20213903.514    20213897.478
+      -364.692        -284.175          56.000          50.000
+ -11992712.77143  -9157579.36342  23043412.248    23043420.297    23043410.679
+     -3378.913       -2632.919          50.000          43.000
+ -14595442.38043 -11343658.16742  23199040.067    23199047.163    23199038.207
+     -3242.513       -2526.633          47.000          41.000
+  -6279853.39543  -4878705.34742  23813092.825    23813100.352    23813090.792
+     -1547.442       -1205.799          48.000          40.000
+ -18672107.88043 -14538502.65242  21775881.059    21775887.387    21775880.078
+      1036.543         807.696          53.000          46.000
+ -22265856.42144 -17309118.93342  21101468.656    21101473.118    21101467.766
+       695.344         541.826          57.000          49.000
+  -4618993.13943  -3544207.62942  23965197.947    23965207.594    23965197.649
+      3794.079        2956.425          44.000          39.000
+  -4664569.28543  -3611982.79042  24231382.525    24231390.925    24231379.631
+      1335.864        1040.933          44.000          38.000
+  -2289133.58843  -1762969.26642  24580538.458    24580546.347    24580537.105
+      -343.305        -267.510          45.000          37.000
+  -2386602.22043  -1857233.69642  24994278.355    24994288.057    24994277.645
+       366.587         285.652          43.000          38.000
+ 04  2  1  6  2  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16525819.39943 -12460243.88042  21907445.173    21907451.692    21907443.970
+     -1092.504        -851.302          54.000          47.000
+ -23496366.04443 -18247023.01742  20216007.724    20216013.336    20216007.012
+      -374.082        -291.492          56.000          50.000
+ -11891236.19843  -9078506.87642  23062722.530    23062729.463    23062719.976
+     -3385.933       -2638.389          50.000          43.000
+ -14497999.95143 -11267729.08542  23217583.327    23217590.728    23217582.535
+     -3253.293       -2535.033          47.000          41.000
+  -6233306.66543  -4842435.25342  23821948.714    23821956.295    23821947.869
+     -1555.344       -1211.956          47.000          40.000
+ -18703052.08543 -14562614.98542  21769992.513    21769998.675    21769991.217
+      1026.784         800.091          53.000          46.000
+ -22286631.95444 -17325307.66942  21097515.216    21097519.783    21097514.292
+       689.935         537.612          57.000          49.000
+  -4732773.41343  -3632867.31142  23943545.908    23943555.375    23943546.413
+      3791.462        2954.386          45.000          39.000
+  -4704573.87743  -3643155.12942  24223769.391    24223779.241    24223768.218
+      1331.349        1037.415          45.000          39.000
+  -2278607.17343  -1754766.92442  24582536.753    24582548.980    24582538.987
+      -357.877        -278.865          43.000          37.000
+  -2397432.43443  -1865672.82042  24992215.315    24992226.885    24992214.406
+       355.740         277.200          40.000          37.000
+ 04  2  1  6  2 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16492923.95543 -12434611.10142  21913704.747    21913711.809    21913703.742
+     -1100.733        -857.714          53.000          47.000
+ -23484999.33743 -18238165.85542  20218170.926    20218176.231    20218169.657
+      -384.065        -299.271          56.000          50.000
+ -11789551.41143  -8999272.14442  23082072.864    23082080.685    23082071.172
+     -3393.421       -2644.224          49.000          42.000
+ -14400233.73343 -11191547.69442  23236187.023    23236194.128    23236186.336
+     -3264.585       -2543.832          47.000          41.000
+  -6186524.04243  -4805981.36742  23830851.472    23830860.395    23830850.350
+     -1563.739       -1218.498          47.000          40.000
+ -18733705.23443 -14586500.53442  21764159.602    21764165.419    21764158.290
+      1016.378         791.983          53.000          47.000
+ -22307242.69944 -17341368.00342  21093593.306    21093597.497    21093592.714
+       683.663         532.724          57.000          49.000
+  -4846469.76443  -3721461.64442  23921911.140    23921919.972    23921910.158
+      3787.820        2951.548          45.000          39.000
+  -4744439.84043  -3674219.40942  24216182.585    24216192.162    24216181.939
+      1325.902        1033.170          45.000          39.000
+  -2267643.56143  -1746223.89842  24584627.976    24584637.714    24584626.852
+      -373.027        -290.670          45.000          38.000
+  -2407931.23943  -1873853.63842  24990219.318    24990229.233    24990216.595
+       343.820         267.912          42.000          36.000
+ 04  2  1  6  3  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16459806.97343 -12408805.69342  21920006.302    21920012.734    21920005.396
+     -1106.979        -862.581          53.000          47.000
+ -23473353.14643 -18229090.91442  20220387.845    20220392.279    20220386.377
+      -392.234        -305.637          56.000          50.000
+ -11687661.03043  -8919877.21042  23101462.060    23101468.856    23101461.176
+     -3399.235       -2648.754          50.000          43.000
+ -14302146.79243 -11115116.39142  23254852.753    23254859.964    23254851.708
+     -3274.398       -2551.479          47.000          41.000
+  -6139508.47543  -4769345.93842  23839798.270    23839805.562    23839797.341
+     -1570.447       -1223.725          46.000          40.000
+ -18764068.43043 -14610160.14242  21758382.172    21758387.476    21758380.130
+      1007.918         785.391          53.000          47.000
+ -22327687.31244 -17357298.87542  21089702.378    21089706.814    21089702.223
+       679.288         529.315          57.000          49.000
+  -4960079.66743  -3809988.60542  23900290.537    23900299.990    23900290.474
+      3785.937        2950.081          46.000          39.000
+  -4784164.83843  -3705173.86242  24208621.306    24208632.990    24208620.697
+      1322.433        1030.467          43.000          39.000
+  -2256244.64343  -1737341.63142  24586796.265    24586805.996    24586794.767
+      -386.571        -301.224          46.000          39.000
+  -2418096.79643  -1881774.82842  24988285.712    24988294.788    24988282.221
+       334.108         260.344          42.000          36.000
+ 04  2  1  6  3 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16426469.44943 -12382828.41642  21926349.707    21926357.286    21926348.626
+     -1114.505        -868.445          53.000          47.000
+ -23461430.83343 -18219800.81442  20222655.717    20222661.156    20222654.827
+      -401.565        -312.908          56.000          50.000
+ -11585569.45843  -8840325.50242  23120889.642    23120896.525    23120887.335
+     -3405.939       -2653.978          50.000          43.000
+ -14203743.93043 -11038438.90542  23273578.572    23273586.517    23273575.334
+     -3285.020       -2559.756          46.000          41.000
+  -6092264.82943  -4732532.79142  23848789.549    23848798.021    23848787.925
+     -1578.303       -1229.846          46.000          40.000
+ -18794144.38643 -14633595.93142  21752658.152    21752664.274    21752656.819
+       998.254         777.860          53.000          47.000
+ -22347965.74043 -17373100.24742  21085843.497    21085848.170    21085842.954
+       673.497         524.803          56.000          49.000
+  -5073602.24443  -3898447.51842  23878687.645    23878697.237    23878686.827
+      3782.841        2947.668          46.000          39.000
+  -4823748.08243  -3736017.86342  24201089.660    24201099.908    24201088.466
+      1317.381        1026.531          44.000          38.000
+  -2244413.76843  -1728122.76842  24589047.031    24589054.890    24589046.196
+      -400.997        -312.465          44.000          38.000
+  -2427929.21743  -1889436.37642  24986415.984    24986426.222    24986413.211
+       322.377         251.203          44.000          37.000
+ 04  2  1  6  4  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16392912.42743 -12356680.13542  21932735.351    21932742.365    21932734.870
+     -1122.459        -874.643          53.000          46.000
+ -23449236.14743 -18210298.47642  20224976.606    20224982.076    20224975.323
+      -411.236        -320.444          56.000          50.000
+ -11483281.20943  -8760620.54642  23140354.535    23140363.459    23140351.909
+     -3412.976       -2659.462          50.000          43.000
+ -14105030.16443 -10961519.16342  23292363.818    23292371.351    23292361.635
+     -3295.976       -2568.293          47.000          40.000
+  -6044797.91043  -4695545.65642  23857821.577    23857828.882    23857821.729
+     -1586.148       -1235.959          45.000          39.000
+ -18823936.20343 -14656810.31342  21746989.200    21746995.190    21746987.720
+       988.145         769.983          53.000          47.000
+ -22368078.64143 -17388772.64142  21082016.511    21082020.999    21082015.875
+       667.426         520.072          56.000          49.000
+  -5187036.92443  -3986837.94942  23857101.997    23857110.817    23857100.794
+      3779.339        2944.939          46.000          40.000
+  -4863189.20443  -3766751.14942  24193586.416    24193593.748    24193583.984
+      1311.975        1022.318          46.000          39.000
+  -2232154.50043  -1718570.17742  24591380.099    24591388.017    24591378.839
+      -416.349        -324.428          44.000          39.000
+  -2437429.33743  -1896839.08642  24984604.218    24984616.808    24984605.175
+       310.925         242.279          41.000          37.000
+ 04  2  1  6  4 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16359129.44743 -12330355.78542  21939165.413    21939171.895    21939164.277
+     -1129.546        -880.166          53.000          47.000
+ -23436765.06043 -18200580.76242  20227349.827    20227354.855    20227348.272
+      -419.894        -327.190          56.000          50.000
+ -11380793.41943  -8680760.11942  23159855.714    23159865.469    23159854.071
+     -3419.042       -2664.188          49.000          43.000
+ -14006003.05643 -10884355.28442  23311207.583    23311215.343    23311205.340
+     -3305.745       -2575.905          46.000          40.000
+  -5997105.14143  -4658382.54642  23866895.855    23866905.244    23866895.223
+     -1593.156       -1241.420          45.000          39.000
+ -18853439.38343 -14679799.78342  21741374.742    21741380.218    21741372.943
+       979.082         762.921          53.000          46.000
+ -22388018.91443 -17404310.52742  21078221.463    21078226.729    21078220.862
+       662.114         515.933          56.000          49.000
+  -5300375.44643  -4075153.47742  23835534.261    23835544.540    23835533.048
+      3776.796        2942.958          47.000          40.000
+  -4902480.16743  -3797367.43342  24186108.498    24186118.635    24186106.860
+      1307.575        1018.890          45.000          39.000
+  -2219463.11743  -1708680.84742  24593794.470    24593805.359    24593793.992
+      -430.073        -335.122          44.000          38.000
+  -2446589.92843  -1903977.22842  24982864.084    24982872.375    24982861.544
+       300.234         233.949          44.000          38.000
+ 04  2  1  6  5  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16325121.89743 -12303856.45142  21945636.530    21945642.752    21945635.236
+     -1137.298        -886.206          53.000          47.000
+ -23424021.49843 -18190650.72642  20229774.837    20229779.923    20229773.377
+      -429.312        -334.529          56.000          50.000
+ -11278110.94743  -8600748.00542  23179396.615    23179405.504    23179395.755
+     -3425.976       -2669.592          49.000          43.000
+ -13906668.06343 -10806951.45142  23330109.856    23330117.625    23330108.123
+     -3316.369       -2584.184          46.000          40.000
+  -5949191.55043  -4621047.37142  23876014.032    23876023.466    23876013.363
+     -1600.640       -1247.252          45.000          39.000
+ -18882657.18743 -14702566.88342  21735814.678    21735820.517    21735813.968
+       969.196         755.218          53.000          47.000
+ -22407787.04243 -17419714.27142  21074460.005    21074464.990    21074459.325
+       656.092         511.241          56.000          49.000
+  -5413617.49043  -4163393.81442  23813985.263    23813994.474    23813984.190
+      3773.185        2940.144          47.000          40.000
+  -4941620.91543  -3827866.65142  24178660.861    24178668.931    24178658.248
+      1301.893        1014.462          45.000          39.000
+  -2206343.70943  -1698457.92642  24596291.627    24596300.727    24596291.088
+      -444.241        -346.162          46.000          39.000
+  -2455411.85343  -1910851.38442  24981183.560    24981194.722    24981183.532
+       288.502         224.807          44.000          39.000
+ 04  2  1  6  5 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16290892.02943 -12277183.86542  21952149.969    21952156.283    21952149.238
+     -1145.142        -892.318          53.000          47.000
+ -23411009.94643 -18180511.86642  20232251.295    20232255.643    20232249.674
+      -438.454        -341.652          56.000          50.000
+ -11175239.65543  -8520588.76242  23198972.592    23198981.203    23198970.099
+     -3432.309       -2674.526          48.000          43.000
+ -13807031.26043 -10729312.45742  23349070.936    23349078.640    23349068.033
+     -3326.368       -2591.975          46.000          40.000
+  -5901063.36643  -4583545.02242  23885174.013    23885181.906    23885172.640
+     -1608.243       -1253.176          46.000          39.000
+ -18911593.72743 -14725114.80142  21730308.019    21730314.329    21730306.683
+       959.612         747.750          53.000          47.000
+ -22427384.71643 -17434985.18142  21070730.624    21070735.364    21070730.063
+       650.105         506.575          56.000          49.000
+  -5526763.33543  -4251559.18542  23792455.436    23792463.743    23792452.143
+      3769.623        2937.369          48.000          40.000
+  -4980612.06843  -3858249.26742  24171243.093    24171248.957    24171239.913
+      1296.796        1010.490          45.000          38.000
+  -2192801.22043  -1687905.38442  24598869.450    24598877.727    24598867.835
+      -458.835        -357.534          46.000          38.000
+  -2463896.45943  -1917462.73042  24979569.575    24979577.967    24979567.177
+       277.046         215.880          43.000          37.000
+ 04  2  1  6  6  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16256435.01943 -12250334.31142  21958707.003    21958713.372    21958705.374
+     -1152.353        -897.937          53.000          46.000
+ -23397728.12243 -18170162.40142  20234778.255    20234783.383    20234776.981
+      -447.326        -348.566          56.000          50.000
+ -11072177.87043  -8440281.06942  23218584.701    23218593.632    23218582.233
+     -3438.629       -2679.451          49.000          43.000
+ -13707091.60443 -10651437.47342  23368087.489    23368096.880    23368086.375
+     -3336.224       -2599.655          44.000          39.000
+  -5852719.44643  -4545874.50542  23894373.540    23894380.226    23894371.933
+     -1615.157       -1258.564          45.000          39.000
+ -18940245.94943 -14747441.17142  21724856.768    21724861.744    21724854.680
+       950.307         740.499          54.000          46.000
+ -22446806.25243 -17450118.84742  21067035.075    21067039.696    21067034.404
+       644.424         502.149          56.000          49.000
+  -5639806.20643  -4339644.31342  23770944.023    23770951.459    23770942.029
+      3766.197        2934.699          48.000          40.000
+  -5019447.05843  -3888510.19042  24163850.758    24163857.842    24163848.947
+      1291.805        1006.601          45.000          38.000
+  -2178833.19843  -1677021.22642  24601527.447    24601538.042    24601526.908
+      -472.651        -368.299          45.000          38.000
+  -2472038.32943  -1923806.99242  24978020.976    24978030.126    24978020.885
+       265.618         206.975          45.000          38.000
+ 04  2  1  6  6 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16221752.94743 -12223309.36442  21965306.755    21965313.781    21965305.455
+     -1160.157        -904.018          53.000          46.000
+ -23384180.27843 -18159605.64842  20237356.410    20237361.545    20237355.189
+      -456.358        -355.604          56.000          50.000
+ -10968931.22143  -8359829.32442  23238232.582    23238240.639    23238231.197
+     -3444.895       -2684.334          49.000          43.000
+ -13606854.99043 -10573331.08742  23387163.412    23387170.484    23387160.845
+     -3346.153       -2607.392          45.000          39.000
+  -5804165.53643  -4508040.39742  23903612.733    23903621.705    23903612.835
+     -1622.008       -1263.902          45.000          39.000
+ -18968617.88943 -14769549.14442  21719456.858    21719462.443    21719455.380
+       940.789         733.082          53.000          47.000
+ -22466052.81043 -17465116.16642  21063372.577    21063377.304    21063371.985
+       638.307         497.382          56.000          49.000
+  -5752746.48643  -4427649.49542  23749452.191    23749460.596    23749450.021
+      3762.512        2931.828          48.000          40.000
+  -5058126.35143  -3918649.79042  24156489.096    24156499.032    24156488.978
+      1286.348        1002.349          45.000          39.000
+  -2164444.23843  -1665809.09842  24604265.608    24604273.831    24604264.310
+      -486.724        -379.265          44.000          38.000
+  -2479838.82243  -1929885.22342  24976533.161    24976546.326    24976533.415
+       254.241         198.110          42.000          38.000
+ 04  2  1  6  7  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16186840.72743 -12196105.11642  21971950.958    21971957.128    21971949.695
+     -1167.311        -909.593          53.000          46.000
+ -23370364.03643 -18148839.75442  20239985.497    20239990.929    20239984.213
+      -464.744        -362.138          56.000          50.000
+ -10865498.07143  -8279232.26542  23257914.670    23257923.399    23257913.915
+     -3450.546       -2688.737          49.000          43.000
+ -13506320.26843 -10494992.44142  23406291.832    23406300.359    23406290.793
+     -3355.728       -2614.853          45.000          39.000
+  -5755400.60343  -4470041.84242  23912891.558    23912901.719    23912891.270
+     -1628.519       -1268.976          45.000          39.000
+ -18996706.41643 -14791436.27342  21714112.319    21714117.713    21714110.910
+       931.899         726.155          54.000          47.000
+ -22485118.89143 -17479972.85942  21059744.405    21059748.999    21059743.636
+       632.835         493.118          56.000          49.000
+  -5865577.45843  -4515569.51442  23727981.415    23727989.023    23727978.795
+      3759.437        2929.431          48.000          41.000
+  -5096643.35043  -3948662.98242  24149160.016    24149169.766    24149157.881
+      1281.148         998.297          45.000          39.000
+  -2149632.06843  -1654267.16242  24607083.318    24607091.646    24607083.046
+      -500.652        -390.118          44.000          38.000
+  -2487292.30643  -1935693.07842  24975117.352    24975126.368    24975115.689
+       243.083         189.415          43.000          37.000
+ 04  2  1  6  7 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16151700.30643 -12168723.04242  21978637.501    21978644.884    21978636.423
+     -1175.061        -915.632          53.000          47.000
+ -23356283.69843 -18137868.07842  20242664.772    20242670.091    20242663.644
+      -473.673        -369.096          56.000          50.000
+ -10761883.96943  -8198494.21842  23277632.826    23277640.887    23277631.326
+     -3456.951       -2693.728          50.000          43.000
+ -13405493.18743 -10416425.94042  23425481.516    23425488.301    23425479.469
+     -3365.327       -2622.333          47.000          39.000
+  -5706430.04843  -4431883.09542  23922211.866    23922221.539    23922211.536
+     -1635.853       -1274.691          46.000          39.000
+ -19024515.34643 -14813105.52842  21708819.911    21708825.821    21708818.615
+       922.499         718.830          53.000          47.000
+ -22504005.69643 -17494689.85042  21056150.220    21056155.058    21056149.573
+       626.616         488.272          56.000          49.000
+  -5978298.95443  -4603404.22642  23706531.016    23706537.938    23706529.007
+      3755.689        2926.511          49.000          41.000
+  -5134998.50543  -3978550.04742  24141858.424    24141871.014    24141858.726
+      1275.799         994.129          43.000          38.000
+  -2134401.25443  -1642399.02842  24609981.157    24609990.023    24609980.390
+      -514.742        -401.098          43.000          38.000
+  -2494400.27343  -1941231.68942  24973764.791    24973772.624    24973764.390
+       231.280         180.218          43.000          37.000
+ 04  2  1  6  8  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16116331.91743 -12141163.33242  21985367.813    21985375.069    21985366.961
+     -1182.954        -921.782          53.000          47.000
+ -23341941.97143 -18126692.71642  20245394.149    20245399.720    20245392.813
+      -482.538        -376.004          56.000          50.000
+ -10658092.61543  -8117618.06142  23297383.228    23297391.985    23297381.897
+     -3462.728       -2698.230          49.000          42.000
+ -13304378.02143 -10337634.99342  23444722.720    23444729.231    23444720.822
+     -3374.846       -2629.750          46.000          40.000
+  -5657258.19843  -4393567.48442  23931568.876    23931576.970    23931567.123
+     -1642.620       -1279.964          45.000          39.000
+ -19052046.88743 -14834558.65142  21703580.961    21703586.640    21703579.871
+       913.014         711.439          53.000          47.000
+ -22522712.35944 -17509266.47542  21052591.074    21052595.114    21052590.253
+       620.407         483.434          57.000          50.000
+  -6090909.35143  -4691152.37942  23685101.406    23685109.070    23685100.207
+      3751.778        2923.463          48.000          41.000
+  -5173190.42843  -4008309.90242  24134592.978    24134603.493    24134593.445
+      1270.022         989.628          45.000          39.000
+  -2118754.82143  -1630206.98442  24612960.166    24612969.495    24612959.405
+      -528.610        -411.904          45.000          38.000
+  -2501162.37143  -1946500.79842  24972478.305    24972489.919    24972477.936
+       219.374         170.941          44.000          38.000
+ 04  2  1  6  8 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16080732.78743 -12113423.80942  21992142.879    21992149.031    21992141.376
+     -1189.463        -926.854          53.000          46.000
+ -23327338.60843 -18115313.48442  20248172.711    20248178.169    20248171.705
+      -490.061        -381.866          56.000          50.000
+ -10554124.86943  -8036604.44142  23317167.769    23317177.435    23317166.746
+     -3467.575       -2702.006          49.000          43.000
+ -13202975.96343 -10258620.47242  23464018.944    23464026.874    23464016.139
+     -3383.787       -2636.717          47.000          39.000
+  -5607886.04743  -4355095.83042  23940962.485    23940973.258    23940962.483
+     -1647.869       -1284.054          45.000          39.000
+ -19079300.31243 -14855795.05242  21698394.759    21698400.610    21698393.021
+       904.931         705.141          53.000          47.000
+ -22541235.69843 -17523700.25142  21049065.664    21049070.201    21049064.920
+       615.393         479.527          56.000          50.000
+  -6203404.17343  -4778810.45642  23663693.269    23663701.917    23663691.802
+      3748.835        2921.170          48.000          41.000
+  -5211214.93243  -4037939.29242  24127356.485    24127367.411    24127355.563
+      1265.580         986.166          45.000          39.000
+  -2102693.13343  -1617691.40142  24616013.935    24616024.874    24616013.188
+      -541.497        -421.946          42.000          38.000
+  -2507575.12943  -1951497.74642  24971257.117    24971267.766    24971256.332
+       209.113         162.945          45.000          38.000
+ 04  2  1  6  9  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16044901.85543 -12085503.66342  21998960.712    21998967.346    21998959.674
+     -1197.736        -933.301          53.000          46.000
+ -23312474.76643 -18103731.28442  20251001.424    20251006.682    20251000.291
+      -499.409        -389.150          56.000          50.000
+ -10449982.80343  -7955455.01442  23336985.454    23336993.798    23336984.345
+     -3473.948       -2706.972          48.000          42.000
+ -13101289.89143 -10179384.63742  23483368.119    23483375.826    23483365.933
+     -3393.583       -2644.350          46.000          39.000
+  -5558316.22643  -4316470.10242  23950398.303    23950405.493    23950396.913
+     -1655.093       -1289.683          47.000          40.000
+ -19106276.33143 -14876815.29942  21693260.498    21693266.846    21693259.732
+       895.110         697.488          53.000          47.000
+ -22559573.70244 -17537989.60542  21045576.537    21045580.827    21045575.771
+       608.601         474.235          57.000          50.000
+  -6315780.48843  -4866376.20242  23642307.793    23642316.741    23642306.420
+      3744.269        2917.612          47.000          41.000
+  -5249069.03343  -4067435.92342  24120154.484    24120162.416    24120153.857
+      1259.145         981.152          46.000          39.000
+  -2086217.46643  -1604853.24842  24619150.670    24619160.874    24619150.813
+      -555.443        -432.813          44.000          38.000
+  -2513636.90443  -1956221.17142  24970103.817    24970112.973    24970101.694
+       196.677         153.255          44.000          38.000
+ 04  2  1  6  9 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -16008838.76343 -12057402.59542  22005823.864    22005830.443    22005822.502
+     -1206.216        -939.908          53.000          46.000
+ -23297352.47643 -18091947.69142  20253879.369    20253884.547    20253878.070
+      -508.607        -396.317          56.000          50.000
+ -10345669.62443  -7874172.23942  23356835.166    23356843.913    23356834.139
+     -3480.331       -2711.946          48.000          42.000
+ -12999323.02643 -10099930.00842  23502771.571    23502778.249    23502770.228
+     -3403.938       -2652.419          47.000          39.000
+  -5508552.15943  -4277692.98842  23959865.979    23959876.120    23959864.545
+     -1662.269       -1295.274          46.000          39.000
+ -19132976.37643 -14897620.49942  21688181.059    21688185.713    21688179.160
+       885.291         689.837          54.000          47.000
+ -22577725.12144 -17552133.57742  21042122.479    21042126.484    21042121.808
+       601.633         468.805          57.000          50.000
+  -6428036.09343  -4953847.88742  23620946.521    23620954.138    23620945.349
+      3739.664        2914.024          47.000          40.000
+  -5286750.86143  -4096798.32642  24112982.474    24112991.999    24112982.424
+      1252.652         976.092          45.000          39.000
+  -2069329.86443  -1591694.12142  24622363.502    24622373.153    24622363.173
+      -569.923        -444.096          41.000          37.000
+  -2519346.73643  -1960670.32242  24969017.088    24969026.676    24969015.167
+       184.123         143.472          44.000          38.000
+ 04  2  1  6 10  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15972544.92843 -12029121.74442  22012730.174    22012736.203    22012728.938
+     -1213.798        -945.817          53.000          46.000
+ -23281975.55543 -18079965.69042  20256805.026    20256810.489    20256804.309
+      -516.947        -402.816          56.000          50.000
+ -10241190.01343  -7792759.77842  23376717.601    23376726.842    23376716.326
+     -3485.895       -2716.282          47.000          42.000
+ -12897080.65243 -10020260.69942  23522227.953    23522235.753    23522228.293
+     -3412.855       -2659.367          47.000          39.000
+  -5458598.82043  -4238768.45242  23969373.546    23969381.066    23969370.922
+     -1668.284       -1299.961          46.000          38.000
+ -19159403.78243 -14918213.25342  21683151.385    21683156.716    21683150.027
+       876.290         682.823          53.000          47.000
+ -22595690.53044 -17566132.60442  21038703.306    21038708.025    21038702.901
+       595.635         464.131          57.000          50.000
+  -6540170.32343  -5041225.00342  23599608.386    23599616.523    23599606.575
+      3735.738        2910.965          47.000          40.000
+  -5324260.35343  -4126026.41542  24105845.430    24105854.074    24105843.969
+      1247.028         971.710          46.000          39.000
+  -2052034.82543  -1578217.48642  24625654.668    24625667.092    24625655.789
+      -583.945        -455.022          43.000          37.000
+  -2524705.14843  -1964845.63842  24967996.302    24968007.334    24967995.289
+       172.736         134.599          43.000          38.000
+ 04  2  1  6 10 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15936016.42543 -12000658.02142  22019681.023    22019687.970    22019679.895
+     -1221.769        -952.028          53.000          46.000
+ -23266342.45743 -18067784.07242  20259780.178    20259785.423    20259779.201
+      -525.626        -409.579          56.000          50.000
+ -10136543.71543  -7711217.45142  23396632.091    23396640.545    23396629.861
+     -3491.363       -2720.542          47.000          42.000
+ -12794562.76943  -9940376.68342  23541737.254    23541743.896    23541734.877
+     -3422.157       -2666.616          47.000          39.000
+  -5408456.26543  -4199696.42542  23978914.358    23978924.451    23978913.859
+     -1674.685       -1304.949          46.000          39.000
+ -19185556.65843 -14938592.08942  21678174.754    21678180.280    21678172.780
+       866.870         675.483          53.000          47.000
+ -22613465.18643 -17579982.99342  21035320.734    21035325.435    21035320.527
+       589.001         458.962          56.000          50.000
+  -6652177.60243  -5128503.19142  23578293.486    23578301.976    23578292.406
+      3731.255        2907.471          47.000          40.000
+  -5361591.87843  -4155115.80742  24098740.873    24098749.791    24098739.283
+      1240.907         966.941          45.000          39.000
+  -2034331.22543  -1564422.52642  24629025.441    24629035.796    24629025.153
+      -597.290        -465.421          43.000          37.000
+  -2529708.04143  -1968743.92542  24967046.251    24967056.428    24967044.038
+       160.704         125.224          44.000          38.000
+ 04  2  1  6 11  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15899255.08443 -11972012.87142  22026676.654    22026683.467    22026675.662
+     -1229.516        -958.064          53.000          46.000
+ -23250457.37643 -18055406.09742  20262803.428    20262808.290    20262801.947
+      -534.012        -416.113          56.000          50.000
+ -10031735.98943  -7629549.33642  23416574.080    23416585.521    23416573.776
+     -3496.597       -2724.621          46.000          41.000
+ -12691774.93143  -9860282.32742  23561296.574    23561305.420    23561294.775
+     -3431.056       -2673.550          45.000          39.000
+  -5358129.97743  -4160481.28142  23988489.594    23988500.712    23988488.454
+     -1680.926       -1309.812          45.000          39.000
+ -19211438.66343 -14958759.86042  21673249.635    21673254.800    21673247.784
+       857.994         668.567          53.000          47.000
+ -22631050.39244 -17593685.75742  21031974.930    21031979.276    21031974.190
+       582.687         454.042          57.000          50.000
+  -6764057.70943  -5215682.30242  23557001.506    23557011.274    23557001.307
+      3726.775        2903.981          47.000          40.000
+  -5398745.71743  -4184066.75042  24091672.692    24091681.864    24091670.866
+      1234.996         962.335          46.000          39.000
+  -2016223.56343  -1550312.70342  24632471.937    24632480.214    24632471.769
+      -610.654        -475.834          43.000          37.000
+  -2534356.85043  -1972366.31542  24966159.483    24966168.825    24966158.831
+       148.945         116.061          43.000          38.000
+ 04  2  1  6 11 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15862256.28543 -11943182.68242  22033716.607    22033724.513    22033715.706
+     -1237.361        -964.177          52.000          46.000
+ -23234318.30243 -18042830.21342  20265874.320    20265879.724    20265873.247
+      -542.332        -422.596          56.000          50.000
+  -9926765.73143  -7547754.59542  23436551.485    23436560.250    23436548.171
+     -3501.568       -2728.494          46.000          41.000
+ -12588716.43843  -9779977.09342  23580907.748    23580915.462    23580906.104
+     -3440.130       -2680.621          45.000          39.000
+  -5307619.27643  -4121122.41142  23998101.327    23998113.380    23998101.621
+     -1686.767       -1314.364          45.000          39.000
+ -19237047.55343 -14978714.81442  21668376.562    21668382.130    21668375.029
+       849.037         661.587          54.000          47.000
+ -22648440.65844 -17607236.62442  21028665.819    21028670.056    21028664.880
+       576.336         449.093          57.000          50.000
+  -6875804.23843  -5302757.32642  23535737.674    23535746.184    23535737.156
+      3722.572        2900.705          47.000          41.000
+  -5435715.76943  -4212874.51842  24084635.213    24084643.473    24084632.856
+      1229.075         957.721          43.000          37.000
+  -1997710.23043  -1535886.70942  24635994.688    24636003.777    24635993.956
+      -623.892        -486.150          43.000          37.000
+  -2538646.04643  -1975708.52642  24965344.103    24965353.990    24965343.074
+       136.842         106.630          43.000          38.000
+ 04  2  1  6 12  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15825022.08443 -11914169.04842  22040802.521    22040809.112    22040801.325
+     -1245.067        -970.182          52.000          46.000
+ -23217929.41243 -18030059.65542  20268992.725    20268997.574    20268991.615
+      -550.317        -428.818          56.000          50.000
+  -9821638.22743  -7465837.31242  23456555.781    23456565.812    23456554.554
+     -3506.904       -2732.652          46.000          41.000
+ -12485393.23043  -9699465.56842  23600569.149    23600577.317    23600567.812
+     -3448.529       -2687.165          46.000          39.000
+  -5256929.76743  -4081624.23542  24007748.918    24007757.596    24007747.846
+     -1692.518       -1318.845          45.000          38.000
+ -19262386.80943 -14998459.67242  21663554.363    21663559.556    21663553.057
+       840.260         654.748          54.000          47.000
+ -22665637.06544 -17620636.43642  21025393.046    21025397.555    21025392.292
+       570.090         444.226          57.000          50.000
+  -6987417.41043  -5389728.44342  23514497.533    23514507.921    23514497.610
+      3718.291        2897.370          47.000          41.000
+  -5472502.38243  -4241539.27242  24077635.974    24077646.117    24077635.621
+      1223.274         953.201          45.000          38.000
+  -1978795.51843  -1521148.01842  24639594.975    24639603.926    24639593.624
+      -637.660        -496.878          43.000          37.000
+  -2542577.36643  -1978771.91342  24964596.819    24964604.921    24964595.630
+       125.195          97.555          42.000          38.000
+ 04  2  1  6 12 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15787553.70843 -11884972.94942  22047932.526    22047939.318    22047931.878
+     -1252.713        -976.140          53.000          46.000
+ -23201294.40943 -18017097.33142  20272158.757    20272163.822    20272157.326
+      -558.527        -435.216          56.000          50.000
+  -9716358.23543  -7383801.20542  23476590.914    23476599.864    23476589.240
+     -3511.755       -2736.432          47.000          41.000
+ -12381810.32643  -9618751.67942  23620281.833    23620287.624    23620281.229
+     -3457.030       -2693.790          46.000          38.000
+  -5206066.44043  -4041990.56842  24017427.540    24017437.726    24017427.812
+     -1698.087       -1323.185          45.000          39.000
+ -19287459.63443 -15017996.92342  21658783.674    21658788.349    21658781.516
+       831.398         647.843          54.000          47.000
+ -22682639.84644 -17633885.37142  21022157.658    21022161.990    21022156.656
+       563.602         439.170          57.000          50.000
+  -7098896.61043  -5476595.16542  23493284.372    23493291.873    23493282.787
+      3713.746        2893.828          48.000          41.000
+  -5509105.24243  -4270060.92342  24070670.250    24070681.125    24070670.106
+      1216.930         948.257          45.000          38.000
+  -1959483.84243  -1506099.98442  24643268.688    24643277.288    24643269.384
+      -650.396        -506.802          42.000          36.000
+  -2546151.41243  -1981556.84742  24963915.644    24963925.624    24963914.752
+       112.936          88.002          42.000          38.000
+ 04  2  1  6 13  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15749845.76943 -11855590.15642  22055108.393    22055115.278    22055107.126
+     -1260.678        -982.346          53.000          46.000
+ -23184410.27843 -18003940.87242  20275371.292    20275376.268    20275370.155
+      -566.683        -441.571          56.000          49.000
+  -9610923.76643  -7301644.72742  23496654.559    23496662.712    23496653.278
+     -3516.976       -2740.501          47.000          41.000
+ -12277966.23543  -9537834.24042  23640042.459    23640051.415    23640041.469
+     -3465.777       -2700.605          47.000          38.000
+  -5155027.82743  -4002220.32942  24027139.285    24027148.657    24027139.243
+     -1704.050       -1327.831          45.000          38.000
+ -19312262.88543 -15037324.11242  21654064.034    21654068.907    21654061.910
+       822.564         640.959          54.000          47.000
+ -22699443.18644 -17646978.89342  21018960.266    21018964.687    21018959.327
+       556.957         433.992          57.000          50.000
+  -7210234.42343  -5563351.73142  23472097.506    23472105.914    23472097.305
+      3709.275        2890.344          49.000          41.000
+  -5545517.31243  -4298433.88542  24063742.301    24063749.757    24063739.390
+      1210.691         943.396          45.000          38.000
+  -1939772.75043  -1490740.70542  24647017.040    24647028.843    24647017.420
+      -663.062        -516.672          42.000          36.000
+  -2549362.28943  -1984058.75042  24963303.850    24963314.982    24963303.999
+       101.092          78.773          44.000          39.000
+ 04  2  1  6 13 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15711901.94643 -11826023.56242  22062329.022    22062335.492    22062328.144
+     -1268.476        -988.423          53.000          46.000
+ -23167283.19943 -17990595.10842  20278630.361    20278635.607    20278629.289
+      -574.634        -447.767          56.000          50.000
+  -9505342.33343  -7219373.71142  23516747.275    23516755.832    23516746.883
+     -3521.430       -2743.971          48.000          41.000
+ -12173868.64543  -9456719.29642  23659853.078    23659860.058    23659852.200
+     -3473.815       -2706.869          46.000          38.000
+  -5103821.46343  -3962319.39342  24036885.210    24036894.410    24036884.280
+     -1709.522       -1332.095          45.000          39.000
+ -19336802.02743 -15056445.51342  21649393.451    21649399.578    21649392.104
+       813.854         634.172          54.000          47.000
+ -22716049.87044 -17659919.17742  21015799.948    21015804.476    21015799.157
+       550.530         428.984          57.000          50.000
+  -7321432.78443  -5649999.63942  23450937.291    23450945.938    23450935.734
+      3704.781        2886.842          49.000          42.000
+  -5581740.91043  -4326659.93442  24056847.609    24056857.826    24056846.296
+      1204.503         938.574          43.000          37.000
+  -1919668.73143  -1475075.21742  24650845.904    24650855.071    24650845.556
+      -676.277        -526.969          43.000          36.000
+  -2552213.46443  -1986280.39542  24962762.846    24962771.970    24962761.887
+        89.412          69.672          45.000          38.000
+ 04  2  1  6 14  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15673718.23143 -11796270.04942  22069595.396    22069602.044    22069594.077
+     -1276.276        -994.501          53.000          46.000
+ -23149911.22943 -17977058.51942  20281936.491    20281941.631    20281935.167
+      -582.575        -453.954          56.000          50.000
+  -9399612.74543  -7136987.25642  23536866.417    23536874.399    23536864.876
+     -3526.196       -2747.685          49.000          41.000
+ -12069517.18743  -9375406.52442  23679709.741    23679716.755    23679708.049
+     -3482.206       -2713.407          46.000          38.000
+  -5052446.86443  -3922287.35942  24046659.731    24046672.089    24046659.631
+     -1714.748       -1336.167          44.000          39.000
+ -19361074.88443 -15075359.41642  21644775.120    21644780.466    21644773.007
+       805.232         627.454          54.000          47.000
+ -22732454.55644 -17672702.06242  21012678.457    21012682.657    21012677.859
+       543.990         423.888          57.000          50.000
+  -7432485.37843  -5736533.95442  23429804.447    23429812.730    23429802.940
+      3699.743        2882.917          48.000          41.000
+  -5617770.12243  -4354734.53442  24049991.843    24050001.046    24049990.839
+      1198.306         933.745          44.000          38.000
+  -1899170.34343  -1459102.49242  24654744.922    24654753.337    24654744.560
+      -689.396        -537.192          44.000          36.000
+  -2554700.01343  -1988217.89242  24962290.920    24962297.906    24962288.116
+        77.164          60.128          44.000          38.000
+ 04  2  1  6 14 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15635294.09543 -11766329.19542  22076906.852    22076913.426    22076905.504
+     -1284.504       -1000.912          52.000          46.000
+ -23132296.26243 -17963332.58942  20285288.657    20285293.655    20285287.608
+      -590.986        -460.508          56.000          50.000
+  -9293738.14843  -7054487.82342  23557013.859    23557021.041    23557014.614
+     -3531.297       -2751.660          49.000          41.000
+ -11964914.98743  -9293898.36842  23699614.215    23699623.043    23699613.365
+     -3490.595       -2719.944          46.000          39.000
+  -5000907.23843  -3882126.75642  24056470.184    24056479.080    24056468.737
+     -1720.487       -1340.639          46.000          39.000
+ -19385082.81243 -15094066.87742  21640206.101    21640211.721    21640204.705
+       796.152         620.378          54.000          47.000
+ -22748656.11644 -17685326.65442  21009595.380    21009599.537    21009594.424
+       536.881         418.349          57.000          50.000
+  -7543390.19943  -5822953.10742  23408699.441    23408707.591    23408700.925
+      3694.717        2879.000          48.000          41.000
+  -5653602.83443  -4382656.05542  24043173.004    24043181.557    24043171.915
+      1191.310         928.294          45.000          38.000
+  -1878279.99543  -1442824.31742  24658720.937    24658728.929    24658720.596
+      -702.557        -547.447          45.000          37.000
+  -2556821.15743  -1989870.68442  24961885.481    24961895.405    24961885.057
+        65.007          50.655          45.000          39.000
+ 04  2  1  6 15  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15596628.23343 -11736199.98042  22084264.135    22084271.110    22084263.538
+     -1292.767       -1007.351          52.000          46.000
+ -23114439.34143 -17949418.12242  20288686.311    20288691.705    20288685.270
+      -599.083        -466.818          56.000          50.000
+  -9187720.69143  -6971877.07342  23577189.152    23577197.340    23577186.582
+     -3536.043       -2755.358          48.000          41.000
+ -11860064.73143  -9212196.93942  23719567.427    23719575.312    23719564.706
+     -3498.977       -2726.475          46.000          39.000
+  -4949205.09543  -3841839.53842  24066306.692    24066316.728    24066306.680
+     -1725.646       -1344.659          44.000          39.000
+ -19408826.56243 -15112568.49742  21635687.879    21635693.718    21635686.159
+       787.236         613.431          54.000          47.000
+ -22764652.27944 -17697791.20042  21006551.356    21006555.789    21006550.654
+       529.926         412.929          57.000          50.000
+  -7654144.13143  -5909254.68842  23387625.321    23387633.713    23387623.608
+      3689.370        2874.834          48.000          41.000
+  -5689236.34743  -4410422.34742  24036391.710    24036402.185    24036389.784
+      1184.645         923.100          44.000          37.000
+  -1856999.25143  -1426241.96442  24662767.814    24662782.668    24662768.174
+      -715.771        -557.744          44.000          37.000
+  -2558575.14043  -1991237.40542  24961551.474    24961561.186    24961550.841
+        52.111          40.606          44.000          39.000
+ 04  2  1  6 15 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15557721.63043 -11705883.19142  22091668.328    22091674.784    22091667.689
+     -1300.180       -1013.127          52.000          46.000
+ -23096343.92943 -17935317.81442  20292129.571    20292135.464    20292128.652
+      -606.515        -472.609          56.000          50.000
+  -9081564.78843  -6889158.47542  23597389.996    23597398.895    23597389.272
+     -3540.137       -2758.548          49.000          41.000
+ -11754971.21643  -9130305.93842  23739565.153    23739572.633    23739563.143
+     -3506.475       -2732.318          45.000          38.000
+  -4897345.31343  -3801429.44742  24076175.479    24076185.618    24076176.064
+     -1730.622       -1348.537          44.000          38.000
+ -19432309.03043 -15130866.51242  21631219.244    21631224.287    21631217.500
+       779.032         607.038          53.000          47.000
+ -22780443.29644 -17710095.88542  21003546.309    21003550.823    21003545.507
+       523.577         407.982          57.000          50.000
+  -7764745.83843  -5995437.66042  23366576.849    23366584.899    23366576.694
+      3684.751        2871.235          48.000          41.000
+  -5724669.98543  -4438032.85742  24029649.571    24029657.128    24029647.471
+      1178.296         918.153          44.000          38.000
+  -1835332.03943  -1409358.48242  24666892.383    24666900.965    24666891.392
+      -728.003        -567.275          43.000          37.000
+  -2559962.67243  -1992318.58142  24961286.985    24961297.495    24961285.945
+        40.567          31.611          43.000          37.000
+ 04  2  1  6 16  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15518568.98543 -11675374.66842  22099119.787    22099126.189    22099118.171
+     -1309.125       -1020.097          53.000          46.000
+ -23078006.79543 -17921029.15842  20295619.421    20295624.640    20295618.282
+      -615.253        -479.418          56.000          50.000
+  -8975268.36343  -6806330.36242  23617617.291    23617626.522    23617615.887
+     -3545.518       -2762.741          48.000          42.000
+ -11649632.71843  -9048224.01642  23759610.709    23759618.954    23759608.756
+     -3515.228       -2739.139          45.000          38.000
+  -4845326.08843  -3760895.12642  24086074.696    24086086.389    24086073.859
+     -1736.908       -1353.435          43.000          38.000
+ -19455526.88443 -15148958.33342  21626801.005    21626806.722    21626799.428
+       769.531         599.635          53.000          47.000
+ -22796023.10444 -17722235.99742  21000581.509    21000585.874    21000580.661
+       515.801         401.923          57.000          50.000
+  -7875187.70143  -6081496.08042  23345561.553    23345568.498    23345559.405
+      3678.732        2866.544          48.000          41.000
+  -5759896.77443  -4465482.19142  24022945.065    24022956.633    24022943.155
+      1170.780         912.296          46.000          38.000
+  -1813275.59343  -1392171.69242  24671090.590    24671100.575    24671091.557
+      -741.404        -577.717          43.000          36.000
+  -2560977.83043  -1993109.55942  24961094.074    24961101.913    24961093.728
+        27.418          21.365          44.000          37.000
+ 04  2  1  6 16 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15479179.94243 -11644681.94842  22106614.521    22106621.189    22106612.530
+     -1316.570       -1025.899          52.000          46.000
+ -23059440.10743 -17906561.62242  20299152.674    20299157.707    20299151.425
+      -622.412        -484.996          56.000          50.000
+  -8868844.56743  -6723403.02342  23637869.707    23637879.323    23637867.843
+     -3549.113       -2765.542          48.000          42.000
+ -11544062.80143  -8965961.83942  23779700.832    23779709.118    23779698.797
+     -3522.460       -2744.774          44.000          38.000
+  -4793160.89243  -3720247.07642  24096002.146    24096012.002    24096000.209
+     -1740.842       -1356.500          44.000          38.000
+ -19478491.83443 -15166853.08542  21622430.860    21622436.040    21622429.275
+       761.579         593.438          54.000          47.000
+ -22811400.57844 -17734218.43842  20997655.323    20997659.397    20997654.283
+       509.525         397.032          57.000          50.000
+  -7985477.95843  -6167436.36142  23324573.324    23324582.189    23324571.110
+      3674.159        2862.981          48.000          42.000
+  -5794924.98143  -4492776.87042  24016280.346    24016289.919    24016279.838
+      1164.461         907.372          46.000          38.000
+  -1790842.99343  -1374691.78842  24675359.652    24675367.959    24675356.619
+      -754.039        -587.563          43.000          36.000
+  -2561629.93343  -1993617.64042  24960970.546    24960979.324    24960969.929
+        15.873          12.368          44.000          38.000
+ 04  2  1  6 17  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15439546.33143 -11613798.66842  22114156.276    22114163.488    22114155.172
+     -1325.418       -1032.793          52.000          46.000
+ -23040637.96543 -17891910.61742  20302730.611    20302735.567    20302729.598
+      -630.811        -491.541          56.000          50.000
+  -8762288.61043  -6640372.68442  23658146.612    23658156.614    23658144.540
+     -3554.132       -2769.453          49.000          41.000
+ -11438257.01443  -8883515.84242  23799835.143    23799843.509    23799833.022
+     -3530.696       -2751.192          45.000          39.000
+  -4740845.18743  -3679481.72642  24105958.038    24105967.984    24105956.348
+     -1746.598       -1360.985          45.000          39.000
+ -19501197.47843 -15184545.77442  21618110.292    21618115.414    21618108.187
+       752.487         586.354          53.000          47.000
+ -22826566.23644 -17746035.83142  20994769.309    20994773.687    20994768.726
+       501.815         391.025          57.000          50.000
+  -8095606.35343  -6253250.50742  23303615.633    23303624.990    23303616.140
+      3668.119        2858.275          48.000          42.000
+  -5829744.58843  -4519908.98942  24009654.405    24009663.358    24009651.864
+      1156.966         901.532          46.000          38.000
+  -1768028.64743  -1356914.41042  24679702.595    24679709.192    24679701.232
+      -766.994        -597.658          45.000          37.000
+  -2561910.23743  -1993836.05242  24960917.847    24960927.659    24960914.421
+         2.908           2.266          43.000          38.000
+ 04  2  1  6 17 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15399665.62643 -11582722.84542  22121745.195    22121751.716    22121743.736
+     -1334.344       -1039.748          52.000          45.000
+ -23021599.82243 -17877075.72042  20306353.658    20306358.626    20306352.352
+      -639.262        -498.126          56.000          50.000
+  -8655601.35243  -6557240.05142  23678448.816    23678459.458    23678447.902
+     -3559.289       -2773.472          48.000          41.000
+ -11332216.49243  -8800886.92542  23820012.790    23820021.200    23820012.441
+     -3539.237       -2757.847          45.000          39.000
+  -4688380.18043  -3638600.05642  24115940.488    24115950.378    24115940.013
+     -1752.078       -1365.255          45.000          39.000
+ -19523642.99843 -15202035.77542  21613838.494    21613844.169    21613837.243
+       743.058         579.006          53.000          47.000
+ -22841516.35644 -17757685.26442  20991924.562    20991928.730    20991923.657
+       493.950         384.896          57.000          50.000
+  -8205568.46143  -6338935.09742  23282690.209    23282698.292    23282689.218
+      3662.096        2853.581          49.000          42.000
+  -5864351.45043  -4546875.25242  24003067.908    24003077.825    24003068.038
+      1149.298         895.557          46.000          39.000
+  -1744832.78143  -1338839.78842  24684115.053    24684125.046    24684115.591
+      -780.366        -608.077          45.000          38.000
+  -2561815.68543  -1993762.28642  24960932.010    24960942.968    24960931.019
+       -10.171          -7.925          42.000          37.000
+ 04  2  1  6 18  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15359537.69143 -11551454.38642  22129382.172    22129389.250    22129380.488
+     -1341.636       -1045.431          53.000          46.000
+ -23002327.89843 -17862058.65142  20310021.225    20310025.921    20310019.698
+      -646.204        -503.535          56.000          50.000
+  -8548785.88943  -6474007.52942  23698774.487    23698784.220    23698772.923
+     -3562.821       -2776.224          48.000          40.000
+ -11225944.62243  -8718077.74842  23840236.390    23840245.586    23840235.173
+     -3545.542       -2762.760          45.000          39.000
+  -4635769.26643  -3597604.70342  24125953.288    24125963.259    24125951.978
+     -1755.823       -1368.174          44.000          39.000
+ -19545830.28243 -15219324.54742  21609616.471    21609621.901    21609615.387
+       735.378         573.022          53.000          47.000
+ -22856249.98044 -17769166.00342  20989120.113    20989125.185    20989119.734
+       487.485         379.858          57.000          50.000
+  -8315362.10343  -6424488.41642  23261797.330    23261805.910    23261796.676
+      3657.090        2849.681          49.000          42.000
+  -5898743.68443  -4573674.32542  23996524.379    23996532.011    23996522.168
+      1142.708         890.422          46.000          39.000
+  -1721258.16243  -1320470.02842  24688600.829    24688607.962    24688599.302
+      -792.081        -617.206          43.000          37.000
+  -2561345.61443  -1993395.99142  24961025.032    24961033.028    24961024.623
+       -21.839         -17.017          45.000          39.000
+ 04  2  1  6 18 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15319165.65843 -11519995.72342  22137064.111    22137070.604    22137062.980
+     -1350.003       -1051.950          53.000          46.000
+ -22982827.53543 -17846863.58742  20313731.782    20313736.814    20313730.489
+      -654.014        -509.621          56.000          49.000
+  -8441848.50743  -6390679.99742  23719124.653    23719134.079    23719123.322
+     -3566.790       -2779.317          48.000          40.000
+ -11119448.21943  -8635093.60242  23860501.569    23860510.743    23860500.972
+     -3553.667       -2769.091          45.000          39.000
+  -4583019.18543  -3556500.92142  24135990.692    24135999.684    24135990.320
+     -1760.656       -1371.940          44.000          39.000
+ -19567764.22843 -15236415.91742  21605442.436    21605448.237    21605441.328
+       726.834         566.364          54.000          47.000
+ -22870769.43644 -17780479.85742  20986357.741    20986362.248    20986356.953
+       480.328         374.282          57.000          50.000
+  -8424988.30343  -6509911.25842  23240935.471    23240943.813    23240935.228
+      3651.206        2845.096          49.000          41.000
+  -5932922.86043  -4600307.36442  23990019.029    23990029.728    23990017.723
+      1135.561         884.853          46.000          39.000
+  -1697310.95943  -1301809.94242  24693158.660    24693168.092    24693157.502
+      -804.630        -626.984          44.000          38.000
+  -2560502.64443  -1992739.10442  24961183.721    24961194.205    24961183.755
+       -34.835         -27.144          45.000          38.000
+ 04  2  1  6 19  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15278548.17843 -11488345.81042  22144794.230    22144800.748    22144792.633
+     -1358.366       -1058.467          52.000          46.000
+ -22963099.73543 -17831491.28842  20317485.660    20317490.511    20317484.483
+      -661.709        -515.617          56.000          49.000
+  -8334791.57943  -6307259.30242  23739496.894    23739505.822    23739495.283
+     -3571.078       -2782.658          47.000          40.000
+ -11012729.93843  -8551936.56842  23880809.674    23880817.816    23880808.744
+     -3561.380       -2775.101          45.000          39.000
+  -4530132.39843  -3515290.57542  24146055.436    24146065.874    24146055.126
+     -1765.554       -1375.756          44.000          40.000
+ -19589445.56943 -15253310.44442  21601316.929    21601322.622    21601315.511
+       718.140         559.590          54.000          47.000
+ -22885072.77144 -17791625.29942  20983635.783    20983640.417    20983635.280
+       472.752         368.378          57.000          50.000
+  -8534443.88843  -6595201.14742  23220107.595    23220115.373    23220106.338
+      3645.191        2840.409          48.000          41.000
+  -5966886.02343  -4626772.09642  23983557.108    23983565.115    23983554.349
+      1127.958         878.928          47.000          39.000
+  -1672992.87043  -1282860.80442  24697786.368    24697796.556    24697784.943
+      -817.085        -636.690          44.000          37.000
+  -2559285.28443  -1991790.46242  24961417.140    24961426.448    24961414.968
+       -47.236         -36.807          44.000          38.000
+ 04  2  1  6 19 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15237682.92043 -11456502.84942  22152569.429    22152576.980    22152568.810
+     -1366.491       -1064.798          52.000          45.000
+ -22943144.19943 -17815941.53342  20321283.310    20321288.631    20321282.029
+      -669.090        -521.369          56.000          50.000
+  -8227615.81043  -6223746.02342  23759892.701    23759902.616    23759891.233
+     -3574.480       -2785.309          48.000          40.000
+ -10905791.04943  -8468607.60842  23901159.250    23901168.057    23901157.877
+     -3568.427       -2780.592          43.000          38.000
+  -4477110.09543  -3473974.66042  24156145.966    24156154.976    24156143.699
+     -1769.570       -1378.886          45.000          40.000
+ -19610873.86643 -15270007.78242  21597239.349    21597245.497    21597238.044
+       709.902         553.170          54.000          47.000
+ -22899155.99244 -17802599.23042  20980956.000    20980960.408    20980955.278
+       465.715         362.895          57.000          50.000
+  -8643724.21043  -6680354.47442  23199312.313    23199319.491    23199311.835
+      3639.770        2836.184          47.000          41.000
+  -6000629.17843  -4653065.41642  23977137.181    23977144.118    23977136.215
+      1120.919         873.443          48.000          40.000
+  -1648303.93443  -1263622.76842  24702483.159    24702491.997    24702483.816
+      -829.173        -646.109          44.000          37.000
+  -2557690.63343  -1990547.87842  24961721.798    24961730.113    24961719.112
+       -59.509         -46.371          45.000          38.000
+ 04  2  1  6 20  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15196568.26343 -11424465.51742  22160394.329    22160400.605    22160393.017
+     -1374.904       -1071.354          52.000          45.000
+ -22922961.78843 -17800214.99942  20325123.514    20325129.038    20325122.615
+      -676.729        -527.321          56.000          49.000
+  -8120323.36943  -6140141.82642  23780310.611    23780320.484    23780308.383
+     -3578.615       -2788.531          49.000          40.000
+ -10798633.64743  -8385108.41742  23921548.064    23921559.901    23921548.897
+     -3576.153       -2786.613          41.000          37.000
+  -4423954.63043  -3432554.97542  24166260.643    24166269.843    24166260.117
+     -1774.293       -1382.566          44.000          39.000
+ -19632049.57643 -15286508.31642  21593209.621    21593214.776    21593208.221
+       701.387         546.535          54.000          47.000
+ -22913016.94944 -17813399.97342  20978318.257    20978322.889    20978317.661
+       458.047         356.920          57.000          50.000
+  -8752826.06943  -6765368.73642  23178552.231    23178559.242    23178550.439
+      3633.412        2831.230          48.000          41.000
+  -6034149.29543  -4679184.97542  23970754.954    23970764.357    23970754.312
+      1113.329         867.529          45.000          39.000
+  -1623246.01443  -1244097.15342  24707251.797    24707261.598    24707251.570
+      -841.498        -655.713          44.000          37.000
+  -2555717.06243  -1989010.00142  24962095.422    24962104.869    24962094.857
+       -72.452         -56.456          45.000          38.000
+ 04  2  1  6 20 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15155203.83043 -11392233.56942  22168265.483    22168271.390    22168264.585
+     -1383.626       -1078.150          52.000          46.000
+ -22902554.64443 -17784313.34142  20329006.705    20329012.331    20329005.774
+      -684.510        -533.384          56.000          49.000
+  -8012916.88943  -6056448.77642  23800750.054    23800758.024    23800748.459
+     -3582.853       -2791.833          49.000          41.000
+ -10691261.05143  -8301441.53042  23941980.970    23941992.482    23941980.482
+     -3583.068       -2792.001          41.000          37.000
+  -4370669.26343  -3391034.09442  24176399.887    24176411.161    24176399.760
+     -1778.932       -1386.181          45.000          39.000
+ -19652974.25443 -15302813.22242  21589227.620    21589233.687    21589226.249
+       692.752         539.807          54.000          48.000
+ -22926654.21944 -17824026.40842  20975723.231    20975727.832    20975722.368
+       450.204         350.808          57.000          50.000
+  -8861747.14543  -6850242.12442  23157823.682    23157830.184    23157822.641
+      3626.930        2826.179          48.000          42.000
+  -6067444.38743  -4705129.10142  23964421.706    23964428.683    23964419.208
+      1105.467         861.403          46.000          40.000
+  -1597821.50843  -1224285.96142  24712093.899    24712100.524    24712092.015
+      -854.135        -665.560          46.000          38.000
+  -2553363.80443  -1987176.20342  24962544.565    24962552.541    24962542.366
+       -85.311         -66.476          45.000          39.000
+ 04  2  1  6 21  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15113589.59843 -11359806.95842  22176184.440    22176191.404    22176183.239
+     -1391.169       -1084.028          52.000          45.000
+ -22881924.63143 -17768238.01542  20332932.663    20332938.072    20332931.370
+      -691.297        -538.673          56.000          49.000
+  -7905399.85143  -5972669.59742  23821209.699    23821216.750    23821207.483
+     -3585.593       -2793.968          48.000          41.000
+ -10583676.72343  -8217609.66742  23962455.270    23962465.352    23962453.696
+     -3589.797       -2797.244          42.000          37.000
+  -4317257.76443  -3349414.89042  24186563.977    24186574.765    24186563.480
+     -1782.378       -1388.866          45.000          39.000
+ -19673649.84043 -15318924.03142  21585292.989    21585299.106    21585292.076
+       685.208         533.928          54.000          48.000
+ -22940067.02143 -17834477.94142  20973170.233    20973175.182    20973169.667
+       443.464         345.556          56.000          50.000
+  -8970485.06543  -6934972.80542  23137131.726    23137137.074    23137129.911
+      3621.611        2822.035          49.000          42.000
+  -6100512.71643  -4730896.56842  23958127.972    23958137.451    23958126.432
+      1098.665         856.103          47.000          40.000
+  -1572033.33943  -1204191.32842  24716997.561    24717006.869    24716996.332
+      -865.448        -674.375          45.000          37.000
+  -2550630.32043  -1985046.22242  24963064.166    24963073.722    24963061.437
+       -97.447         -75.933          45.000          39.000
+ 04  2  1  6 21 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15071728.63343 -11327188.08842  22184150.797    22184157.082    22184149.202
+     -1399.796       -1090.750          52.000          46.000
+ -22861077.00343 -17751993.11542  20336900.012    20336905.206    20336898.738
+      -698.779        -544.503          56.000          49.000
+  -7797778.52243  -5888809.15342  23841689.321    23841697.337    23841686.887
+     -3589.429       -2796.958          48.000          41.000
+ -10475887.60543  -8133618.20242  23982966.835    23982975.849    23982965.404
+     -3596.953       -2802.820          43.000          38.000
+  -4263726.51043  -3307702.38342  24196750.472    24196762.101    24196750.286
+     -1786.536       -1392.106          45.000          40.000
+ -19694081.08643 -15334844.45642  21581405.398    21581410.690    21581403.797
+       676.776         527.358          54.000          48.000
+ -22953257.21443 -17844756.01242  20970660.511    20970665.046    20970659.848
+       435.709         339.514          56.000          50.000
+  -9079041.05443  -7019561.71342  23116473.638    23116481.615    23116472.623
+      3615.287        2817.107          50.000          43.000
+  -6133355.82343  -4756488.55442  23951878.309    23951886.217    23951877.353
+      1090.698         849.895          47.000          40.000
+  -1545887.72743  -1183818.19442  24721973.796    24721981.155    24721971.871
+      -877.683        -683.909          45.000          37.000
+  -2547519.41243  -1982622.09342  24963654.673    24963664.213    24963653.974
+      -110.024         -85.733          44.000          38.000
+ 04  2  1  6 22  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -15029613.67243 -11294371.29642  22192164.301    22192171.685    22192163.585
+     -1408.468       -1097.507          52.000          45.000
+ -22840006.69143 -17735574.69542  20340909.647    20340914.658    20340908.212
+      -706.448        -550.479          56.000          49.000
+  -7690048.97943  -5804864.40842  23862190.462    23862198.407    23862189.533
+     -3593.344       -2800.008          48.000          40.000
+ -10367890.23343  -8049464.46342  24003517.152    24003528.216    24003517.056
+     -3603.816       -2808.168          44.000          38.000
+  -4210071.97143  -3265893.82342  24206960.142    24206972.834    24206959.886
+     -1790.904       -1395.510          44.000          39.000
+ -19714262.97743 -15350570.57042  21577565.278    21577570.443    21577563.491
+       668.220         520.691          54.000          48.000
+ -22966216.78144 -17854854.37442  20968194.972    20968199.096    20968193.754
+       427.801         333.351          57.000          50.000
+  -9187405.93443  -7104001.72642  23095852.919    23095859.817    23095851.587
+      3608.572        2811.874          50.000          43.000
+  -6165964.89143  -4781898.13042  23945672.937    23945683.124    23945672.353
+      1082.736         843.690          47.000          40.000
+  -1519380.18443  -1163163.01442  24727019.187    24727027.346    24727016.134
+      -889.956        -693.472          46.000          38.000
+  -2544023.29843  -1979897.75242  24964319.515    24964331.319    24964318.801
+      -123.299         -96.077          44.000          38.000
+ 04  2  1  6 22 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -14987248.38643 -11261359.43942  22200226.049    22200233.543    22200225.379
+     -1416.123       -1103.472          52.000          46.000
+ -22818719.73043 -17718987.45842  20344959.569    20344965.862    20344959.059
+      -713.101        -555.663          55.000          49.000
+  -7582218.38843  -5720840.91342  23882709.443    23882719.205    23882709.165
+     -3595.880       -2801.984          48.000          40.000
+ -10259691.99443  -7965154.21642  24024105.848    24024116.566    24024105.805
+     -3609.698       -2812.752          42.000          38.000
+  -4156301.58443  -3223995.02242  24217195.476    24217202.816    24217193.359
+     -1793.936       -1397.872          45.000          39.000
+ -19734200.94743 -15366106.61642  21573770.561    21573775.820    21573769.262
+       660.627         514.774          54.000          48.000
+ -22978948.28944 -17864775.03242  20965771.959    20965776.534    20965771.149
+       420.666         327.792          57.000          50.000
+  -9295581.41643  -7188294.14342  23075267.506    23075273.776    23075266.891
+      3602.658        2807.266          50.000          43.000
+  -6198341.88243  -4807126.87542  23939512.143    23939520.617    23939510.537
+      1075.501         838.053          47.000          40.000
+  -1492517.37543  -1142230.99842  24732130.933    24732138.834    24732129.774
+      -901.335        -702.339          46.000          38.000
+  -2540145.53843  -1976876.10842  24965059.359    24965068.925    24965058.792
+      -135.522        -105.601          46.000          39.000
+ 04  2  1  6 23  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -14944630.97143 -11228151.12542  22208336.702    22208343.207    22208336.243
+     -1424.785       -1110.222          52.000          45.000
+ -22797216.42443 -17702231.63942  20349052.260    20349057.880    20349050.971
+      -720.431        -561.375          56.000          49.000
+  -7474288.13143  -5636739.74242  23903247.191    23903256.841    23903246.308
+     -3599.330       -2804.673          47.000          40.000
+ -10151294.53443  -7880688.72742  24044734.806    24044743.173    24044733.821
+     -3616.425       -2817.993          43.000          38.000
+  -4102417.19543  -3182007.36242  24227450.338    24227458.822    24227448.058
+     -1798.006       -1401.044          45.000          39.000
+ -19753894.96543 -15381452.57442  21570022.555    21570028.076    21570021.506
+       652.559         508.488          54.000          48.000
+ -22991448.75444 -17874515.65642  20963393.019    20963397.513    20963392.434
+       412.808         321.669          57.000          50.000
+  -9403563.71343  -7272436.03642  23054718.823    23054725.219    23054717.072
+      3596.070        2802.132          50.000          43.000
+  -6230483.45443  -4832172.19242  23933395.021    23933402.903    23933393.378
+      1067.478         831.801          47.000          41.000
+  -1465300.54643  -1121023.12942  24737309.923    24737319.558    24737308.887
+      -913.080        -711.491          46.000          37.000
+  -2535883.65543  -1973555.11542  24965868.878    24965879.924    24965868.393
+      -148.499        -115.713          46.000          39.000
+ 04  2  1  6 23 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -14901760.49443 -11194745.60042  22216494.501    22216501.637    22216493.131
+     -1433.676       -1117.150          51.000          45.000
+ -22775498.02743 -17685308.21942  20353185.301    20353190.201    20353184.074
+      -728.002        -567.274          56.000          49.000
+  -7366260.41643  -5552562.66742  23923804.101    23923815.020    23923801.515
+     -3602.734       -2807.325          46.000          40.000
+ -10042700.37043  -7796069.95042  24065400.119    24065409.697    24065398.939
+     -3623.485       -2823.495          43.000          38.000
+  -4048421.24943  -3139932.77642  24237723.491    24237732.653    24237721.732
+     -1802.191       -1404.305          45.000          39.000
+ -19773346.07343 -15396609.25442  21566322.328    21566326.664    21566320.660
+       643.824         501.681          54.000          48.000
+ -23003716.33644 -17884074.80842  20961058.753    20961063.063    20961057.994
+       404.545         315.230          57.000          50.000
+  -9511349.44843  -7356424.76642  23034207.625    23034215.982    23034206.740
+      3588.962        2796.594          50.000          43.000
+  -6262386.90843  -4857031.93842  23927324.483    23927332.660    23927323.386
+      1058.814         825.050          47.000          41.000
+  -1437731.64843  -1099540.91342  24742557.706    24742564.563    24742555.095
+      -925.310        -721.021          45.000          37.000
+  -2531236.79343  -1969934.07942  24966753.198    24966763.305    24966753.134
+      -161.888        -126.146          45.000          39.000
+ 04  2  1  6 24  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -14858637.74443 -11161143.51542  22224700.193    22224707.738    22224699.479
+     -1440.938       -1122.809          51.000          45.000
+ -22753567.20543 -17668219.28142  20357358.406    20357363.356    20357357.176
+      -733.872        -571.848          56.000          49.000
+  -7258139.10143  -5468312.65142  23944379.632    23944390.019    23944378.270
+     -3604.606       -2808.784          47.000          40.000
+  -9933913.84643  -7711301.28342  24086101.382    24086111.299    24086099.557
+     -3628.362       -2827.295          44.000          39.000
+  -3994318.30743  -3097774.79942  24248017.631    24248029.525    24248017.455
+     -1804.406       -1406.031          45.000          40.000
+ -19792556.88743 -15411578.68742  21562666.102    21562670.992    21562664.913
+       636.985         496.352          54.000          48.000
+ -23015750.84244 -17893452.35542  20958768.473    20958773.042    20958767.933
+       397.859         310.020          57.000          50.000
+  -9618937.57443  -7440259.51442  23013733.656    23013741.312    23013732.466
+      3583.646        2792.451          50.000          43.000
+  -6294051.48043  -4881705.53742  23921298.911    23921307.473    23921297.827
+      1052.061         819.788          46.000          41.000
+  -1409814.37543  -1077787.30842  24747867.830    24747877.643    24747867.009
+      -935.812        -729.204          45.000          38.000
+  -2526205.32543  -1966013.38642  24967709.955    24967720.517    24967708.098
+      -173.416        -135.129          44.000          38.000
+ 04  2  1  6 24 30.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -14815259.63043 -11127342.42742  22232955.178    22232962.316    22232953.647
+     -1449.470       -1129.457          52.000          46.000
+ -22731423.04343 -17650964.10242  20361572.036    20361577.739    20361571.060
+      -740.956        -577.368          55.000          49.000
+  -7149924.48643  -5383989.93742  23964972.203    23964983.608    23964970.835
+     -3607.485       -2811.027          46.000          39.000
+  -9824935.46943  -7626383.13442  24106838.993    24106848.254    24106838.264
+     -3635.037       -2832.496          44.000          39.000
+  -3940108.40643  -3055533.48042  24258334.818    24258345.829    24258333.816
+     -1807.753       -1408.639          46.000          40.000
+ -19811526.11243 -15426359.87042  21559056.687    21559061.642    21559055.192
+       629.092         490.202          54.000          48.000
+ -23027547.77444 -17902644.77942  20956523.872    20956528.322    20956523.067
+       389.970         303.873          57.000          50.000
+  -9726322.82843  -7523936.17942  22993298.979    22993306.683    22993298.614
+      3576.756        2787.083          50.000          43.000
+  -6325472.19643  -4906189.14742  23915318.738    23915329.040    23915318.460
+      1043.962         813.477          46.000          40.000
+  -1381548.49343  -1055761.96742  24753247.222    24753257.373    24753246.426
+      -947.243        -738.111          45.000          38.000
+  -2520785.63743  -1961790.19742  24968743.658    24968750.923    24968742.143
+      -186.479        -145.308          45.000          39.000
+ 04  2  1  6 25  0.0000000  0 11G 1G27G20G 2G 4G 8G13G28G31G24G 3
+ -14771626.71043 -11093342.79942  22241257.863    22241264.925    22241256.620
+     -1458.247       -1136.296          52.000          45.000
+ -22709068.25443 -17633544.79842  20365826.166    20365831.581    20365825.121
+      -748.286        -583.080          55.000          49.000
+  -7041620.35743  -5299597.49142  23985582.437    23985593.204    23985582.037
+     -3611.280       -2813.984          46.000          40.000
+  -9715769.54843  -7541318.84942  24127612.266    24127621.676    24127610.768
+     -3641.572       -2837.588          43.000          38.000
+  -3885796.06143  -3013212.34142  24268669.624    24268680.347    24268669.855
+     -1811.875       -1411.851          45.000          40.000
+ -19830256.31443 -15440954.80042  21555492.465    21555497.458    21555491.033
+       620.763         483.711          54.000          48.000
+ -23039106.89144 -17911651.89442  20954324.082    20954328.720    20954323.432
+       381.707         297.434          57.000          50.000
+  -9833503.68443  -7607453.57142  22972903.478    22972911.018    22972901.585
+      3569.612        2781.516          50.000          43.000
+  -6356648.16043  -4930482.03442  23909385.973    23909395.491    23909385.299
+      1035.327         806.748          45.000          40.000
+  -1352937.29343  -1033467.60542  24758691.760    24758702.067    24758690.629
+      -959.071        -747.328          44.000          38.000
+  -2514978.14443  -1957264.82442  24969846.431    24969857.911    24969845.164
+      -199.621        -155.549          44.000          38.000
+ 04  2  1  6 25 30.0000000  0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14727740.73343 -11059145.96642  22249609.804    22249616.597    22249608.909
+     -1460.407       -1137.979          52.000          45.000
+ -22686506.91043 -17615964.54042  20370119.736    20370124.650    20370118.532
+      -748.728        -583.424          56.000          49.000
+  -6933231.98743  -5215139.40942  24006207.879    24006218.309    24006206.602
+     -3607.638       -2811.146          45.000          39.000
+  -9606421.30643  -7456112.50642  24148420.880    24148431.171    24148420.038
+     -3641.208       -2837.305          44.000          37.000
+  -3831386.59143  -2970815.52042  24279025.311    24279035.175    24279024.528
+     -1808.364       -1409.115          46.000          40.000
+ -19848751.10543 -15455366.28942  21551973.108    21551977.868    21551971.263
+       619.393         482.644          54.000          48.000
+ -23050428.88844 -17920474.24442  20952169.590    20952174.259    20952168.899
+       380.124         296.200          57.000          50.000
+  -9940480.10443  -7690811.66642  22952546.487    22952553.650    22952545.138
+      3569.162        2781.165          50.000          43.000
+  -6387579.70943  -4954584.47042  23903501.206    23903508.764    23903498.732
+      1033.777         805.540          46.000          40.000
+  -1323986.02843  -1010908.23142  24764202.688    24764209.666    24764199.798
+      -964.069        -751.222          43.000          37.000
+   -560954.78153   -382915.94452  24989229.449    24989239.185    24989228.528
+      3425.137        2668.938          41.000          33.000
+  -2508784.60343  -1952438.62242  24971027.390    24971034.517    24971025.156
+      -206.185        -160.664          43.000          37.000
+ 04  2  1  6 26  0.0000000  0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14683614.51943 -11024761.94942  22258006.510    22258013.236    22258005.603
+     -1475.759       -1149.942          52.000          45.000
+ -22663753.72943 -17598234.80042  20374449.599    20374454.616    20374448.172
+      -762.447        -594.114          56.000          49.000
+  -6824775.44343  -5130628.21942  24026847.594    24026858.634    24026845.261
+     -3616.961       -2818.411          44.000          39.000
+  -9496907.10543  -7370776.83742  24169259.966    24169267.911    24169257.687
+     -3654.464       -2847.634          43.000          37.000
+  -3776896.47443  -2928355.81642  24289392.840    24289404.610    24289391.971
+     -1818.748       -1417.206          44.000          39.000
+ -19867025.37743 -15469605.95542  21548495.312    21548500.387    21548493.689
+       604.600         471.117          54.000          48.000
+ -23061525.56244 -17929121.01542  20950057.904    20950062.408    20950057.393
+       365.246         284.607          57.000          50.000
+ -10047262.80243  -7774018.81342  22932225.961    22932233.783    22932224.507
+      3555.125        2770.227          50.000          43.000
+  -6418277.92443  -4978505.07242  23897657.793    23897666.925    23897656.535
+      1018.531         793.660          46.000          40.000
+  -1294710.51743   -988096.21442  24769771.489    24769782.275    24769770.627
+      -982.337        -765.457          44.000          37.000
+   -663435.80443   -462771.21442  24969728.839    24969737.155    24969727.543
+      3412.447        2659.050          42.000          33.000
+  -2502217.25943  -1947321.13742  24972273.340    24972285.686    24972271.787
+      -226.284        -176.325          42.000          36.000
+ 04  2  1  6 26 30.0000000  0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14639214.20643 -10990164.32742  22266456.072    22266462.652    22266454.687
+     -1484.837       -1157.016          52.000          45.000
+ -22640777.24643 -17580331.05242  20378821.636    20378827.100    20378820.637
+      -769.802        -599.846          56.000          49.000
+  -6716219.99743  -5046039.94042  24047504.746    24047516.432    24047504.836
+     -3620.843       -2821.436          44.000          39.000
+  -9387196.67443  -7285288.24342  24190137.208    24190146.571    24190136.619
+     -3660.296       -2852.179          43.000          36.000
+  -3722295.37743  -2885809.68342  24299782.923    24299794.537    24299783.020
+     -1822.017       -1419.753          44.000          39.000
+ -19885046.96243 -15483648.72342  21545065.995    21545070.986    21545064.401
+       596.231         464.596          54.000          48.000
+ -23072362.25844 -17937565.19842  20947996.019    20948000.439    20947995.152
+       356.642         277.903          57.000          50.000
+ -10153815.94843  -7857047.09042  22911948.990    22911956.514    22911947.803
+      3547.736        2764.470          50.000          43.000
+  -6448707.33243  -5002216.20942  23891868.076    23891876.716    23891867.508
+      1009.464         786.595          46.000          40.000
+  -1265079.78943   -965007.35742  24775410.004    24775421.109    24775409.898
+      -993.672        -774.290          44.000          38.000
+   -765716.35043   -542470.40842  24950263.818    24950278.303    24950261.038
+      3405.765        2653.843          41.000          32.000
+  -2495242.12143  -1941885.91042  24973603.423    24973612.263    24973601.704
+      -239.437        -186.574          45.000          38.000
+ 04  2  1  6 27  0.0000000  0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14594555.37043 -10955365.28442  22274954.323    22274961.089    22274953.260
+     -1493.175       -1163.513          52.000          45.000
+ -22617594.82043 -17562266.83442  20383233.413    20383238.624    20383231.811
+      -776.294        -604.904          56.000          49.000
+  -6607584.32843  -4961389.17142  24068178.413    24068189.019    24068177.776
+     -3622.602       -2822.807          45.000          39.000
+  -9277309.14643  -7199661.63342  24211048.249    24211055.930    24211049.144
+     -3665.744       -2856.424          43.000          36.000
+  -3667602.39643  -2843191.93042  24310191.428    24310201.219    24310190.085
+     -1824.786       -1421.911          45.000          39.000
+ -19902833.43743 -15497508.28242  21541681.101    21541686.492    21541679.276
+       588.663         458.698          54.000          48.000
+ -23082953.22244 -17945817.90242  20945980.186    20945985.082    20945979.829
+       348.650         271.675          57.000          50.000
+ -10260152.56143  -7939906.65542  22891714.701    22891720.888    22891712.993
+      3540.879        2759.126          50.000          43.000
+  -6478881.93943  -5025728.84542  23886126.272    23886134.608    23886124.300
+      1001.385         780.300          47.000          41.000
+  -1235112.67843   -941656.41942  24781111.914    24781121.621    24781110.642
+     -1004.870        -783.015          42.000          37.000
+   -867809.68643   -622023.59642  24930835.571    24930845.617    24930838.799
+      3400.441        2649.694          39.000          33.000
+  -2487874.33043  -1936144.65742  24975005.757    24975012.947    24975003.437
+      -252.479        -196.737          45.000          38.000
+ 04  2  1  6 27 30.0000000  0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14549636.05443 -10920363.24942  22283502.231    22283509.287    22283500.624
+     -1501.481       -1169.985          52.000          45.000
+ -22594206.73243 -17544042.36042  20387683.708    20387688.829    20387682.470
+      -783.013        -610.140          56.000          49.000
+  -6498869.89643  -4876677.03542  24088866.450    24088876.723    24088864.343
+     -3624.811       -2824.528          44.000          39.000
+  -9167245.95043  -7113898.14542  24231994.701    24232003.289    24231993.558
+     -3671.603       -2860.989          45.000          36.000
+  -3612819.11143  -2800503.80642  24320614.735    24320628.201    24320614.526
+     -1827.420       -1423.964          44.000          39.000
+ -19920384.75343 -15511184.60742  21538341.219    21538346.373    21538339.826
+       581.104         452.808          54.000          48.000
+ -23093295.55144 -17953876.87242  20944012.041    20944017.188    20944011.542
+       340.634         265.429          57.000          50.000
+ -10366269.02743  -8022594.67542  22871521.847    22871527.630    22871520.702
+      3533.533        2753.402          50.000          43.000
+  -6508798.12743  -5049040.09142  23880432.758    23880442.647    23880432.107
+       992.779         773.594          46.000          40.000
+  -1204809.92643   -918043.91142  24786883.036    24786889.273    24786880.619
+     -1015.533        -791.324          45.000          37.000
+   -969711.95643   -701427.83642  24911445.335    24911452.341    24911442.797
+      3394.125        2644.773          40.000          34.000
+  -2480112.05443  -1930096.01542  24976482.455    24976492.208    24976481.215
+      -265.245        -206.684          44.000          38.000
+ 04  2  1  6 28  0.0000000  0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14504460.60643 -10885161.63442  22292098.685    22292105.122    22292097.617
+     -1510.337       -1176.886          52.000          45.000
+ -22570619.26043 -17525662.52342  20392172.494    20392177.482    20392171.441
+      -789.821        -615.445          56.000          49.000
+  -6390084.12843  -4791909.31242  24109567.027    24109578.245    24109565.717
+     -3627.237       -2826.418          45.000          39.000
+  -9057015.12443  -7028004.03542  24252971.072    24252977.675    24252971.718
+     -3677.213       -2865.361          44.000          36.000
+  -3557953.45843  -2757751.55042  24331057.734    24331067.476    24331056.929
+     -1830.130       -1426.075          45.000          39.000
+ -19937707.02443 -15524682.46142  21535045.094    21535049.461    21535043.617
+       573.395         446.801          54.000          48.000
+ -23103392.23744 -17961744.42542  20942090.997    20942095.408    20942090.617
+       332.199         258.856          57.000          50.000
+ -10472167.50143  -8105112.82142  22851369.909    22851374.863    22851368.379
+      3526.122        2747.628          50.000          43.000
+  -6538458.67043  -5072152.09242  23874790.028    23874798.573    23874787.359
+       984.261         766.957          48.000          41.000
+  -1174179.24843   -894175.93842  24792710.358    24792717.988    24792707.156
+     -1026.770        -800.080          44.000          37.000
+  -1071425.36943   -780685.00542  24892088.397    24892096.602    24892087.126
+      3386.660        2638.956          39.000          34.000
+  -2471959.30343  -1923743.19142  24978034.803    24978042.665    24978033.501
+      -278.597        -217.088          45.000          38.000
+ 04  2  1  6 28 30.0000000  0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14459027.03143 -10849758.88142  22300743.867    22300751.440    22300742.593
+     -1518.511       -1183.255          51.000          45.000
+ -22546832.27443 -17507127.21442  20396698.948    20396704.341    20396697.564
+      -796.065        -620.310          56.000          49.000
+  -6281227.96743  -4707086.74842  24130282.876    24130294.714    24130282.154
+     -3629.473       -2828.161          45.000          39.000
+  -8946618.03943  -6941980.37142  24273978.031    24273988.970    24273978.099
+     -3682.898       -2869.791          44.000          36.000
+  -3503006.29643  -2714935.74942  24341513.080    24341524.177    24341512.937
+     -1832.651       -1428.040          44.000          39.000
+ -19954799.85543 -15538001.52342  21531791.944    21531796.978    21531790.513
+       566.207         441.200          54.000          48.000
+ -23113240.23744 -17969418.19642  20940217.056    20940221.520    20940216.527
+       324.304         252.704          57.000          50.000
+ -10577843.96443  -8187457.98042  22831260.202    22831266.334    22831258.505
+      3519.044        2742.112          51.000          43.000
+  -6567859.68043  -5095061.89242  23869193.832    23869203.405    23869192.769
+       975.809         760.371          48.000          41.000
+  -1143221.24143   -870052.91342  24798600.539    24798607.749    24798596.932
+     -1037.037        -808.081          43.000          36.000
+  -1172945.69353   -859791.64252  24872772.590    24872778.835    24872773.272
+      3380.910        2634.475          39.000          32.000
+  -2463413.59343  -1917084.14742  24979657.972    24979669.673    24979657.342
+      -291.097        -226.829          44.000          38.000
+ 04  2  1  6 29  0.0000000  0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14413331.31243 -10814151.87742  22309439.822    22309446.823    22309439.018
+     -1527.726       -1190.436          52.000          45.000
+ -22522844.01043 -17488435.07042  20401263.383    20401269.071    20401262.351
+      -803.130        -625.815          56.000          49.000
+  -6172300.91343  -4622208.95042  24151011.545    24151023.404    24151009.521
+     -3632.383       -2830.428          45.000          40.000
+  -8836054.10743  -6855826.72042  24295017.810    24295026.244    24295019.207
+     -3687.852       -2873.651          43.000          35.000
+  -3447977.89943  -2672056.67442  24351985.141    24351994.450    24351984.695
+     -1835.619       -1430.352          44.000          39.000
+ -19971661.39643 -15551140.36242  21528583.064    21528588.501    21528581.578
+       558.087         434.873          54.000          48.000
+ -23122834.42243 -17976894.18642  20938390.956    20938396.181    20938390.373
+       315.315         245.700          56.000          50.000
+ -10683292.22043  -8269625.30342  22811194.102    22811200.463    22811192.975
+      3510.959        2735.812          51.000          43.000
+  -6596995.80043  -5117765.29142  23863648.808    23863657.895    23863648.644
+       966.744         753.307          46.000          40.000
+  -1111934.98343   -845674.02042  24804554.318    24804563.082    24804552.980
+     -1048.353        -816.898          43.000          37.000
+  -1274266.75943   -938743.14142  24853492.997    24853498.483    24853488.167
+      3373.533        2628.727          41.000          34.000
+  -2454471.04643  -1910115.85542  24981359.596    24981369.919    24981359.635
+      -305.010        -237.670          43.000          38.000
+ 04  2  1  6 29 30.0000000  0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14367376.80943 -10778343.22842  22318184.868    22318191.901    22318183.273
+     -1536.341       -1197.149          52.000          45.000
+ -22498659.78443 -17469590.22442  20405865.842    20405870.982    20405864.557
+      -809.614        -630.868          56.000          49.000
+  -6063309.30943  -4537280.84142  24171752.118    24171764.345    24171750.678
+     -3634.258       -2831.889          45.000          40.000
+  -8725330.07343  -6769548.27842  24316086.505    24316094.333    24316086.238
+     -3693.752       -2878.248          41.000          34.000
+  -3392874.90543  -2629119.47042  24362470.649    24362480.957    24362469.603
+     -1838.476       -1432.579          44.000          39.000
+ -19988296.73743 -15564102.93642  21525417.363    21525422.789    21525415.988
+       550.494         428.956          54.000          48.000
+ -23132177.12944 -17984174.21142  20936613.578    20936618.465    20936612.656
+       307.015         239.232          57.000          50.000
+ -10788513.37643  -8351615.67742  22791169.620    22791177.169    22791168.748
+      3503.293        2729.839          50.000          43.000
+  -6625868.57843  -5140263.47142  23858155.356    23858164.277    23858154.042
+       957.710         746.268          46.000          40.000
+  -1080326.89343   -821044.44042  24810568.644    24810575.605    24810565.421
+     -1059.106        -825.277          43.000          36.000
+  -1375389.75943  -1017540.19342  24834247.948    24834254.414    24834247.166
+      3367.090        2623.706          41.000          36.000
+  -2445134.59243  -1902840.61742  24983139.128    24983146.064    24983135.762
+      -317.875        -247.695          44.000          38.000
+ 04  2  1  6 30  0.0000000  0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14321164.15743 -10742333.42242  22326979.478    22326985.697    22326977.832
+     -1544.598       -1203.583          52.000          45.000
+ -22474282.27243 -17450594.76442  20410504.698    20410510.007    20410503.748
+      -815.823        -635.706          56.000          49.000
+  -5954256.85743  -4452305.32642  24192503.811    24192515.870    24192501.696
+     -3636.183       -2833.389          46.000          40.000
+  -8614450.15143  -6683148.38042  24337185.091    24337195.266    24337183.688
+     -3698.285       -2881.780          39.000          34.000
+  -3337701.35443  -2586127.25342  24372970.832    24372981.365    24372970.440
+     -1840.214       -1433.933          44.000          39.000
+ -20004708.45443 -15576891.26042  21522294.581    21522300.305    21522293.102
+       543.424         423.447          54.000          48.000
+ -23141267.88344 -17991257.90942  20934883.925    20934888.214    20934883.218
+       298.822         232.848          57.000          50.000
+ -10893505.94843  -8433427.93842  22771190.745    22771196.672    22771188.625
+      3495.880        2724.062          51.000          43.000
+  -6654477.17643  -5162555.80942  23852711.324    23852720.195    23852709.324
+       949.122         739.576          47.000          40.000
+  -1048400.75943   -796166.99042  24816642.867    24816652.213    24816639.680
+     -1069.279        -833.204          42.000          36.000
+  -1476313.27543  -1096181.82742  24815041.764    24815048.698    24815041.518
+      3360.763        2618.776          42.000          36.000
+  -2435404.67543  -1895258.81142  24984987.872    24984997.770    24984988.336
+      -330.876        -257.825          44.000          38.000
+ 04  2  1  6 30 30.0000000  0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14274687.95743 -10706118.25842  22335822.410    22335829.589    22335821.627
+     -1552.829       -1209.997          51.000          45.000
+ -22449708.13643 -17431446.08442  20415180.705    20415186.012    20415179.813
+      -821.515        -640.141          56.000          49.000
+  -5845141.63043  -4367280.89942  24213268.668    24213280.618    24213267.311
+     -3637.326       -2834.280          46.000          40.000
+  -8503412.38343  -6596625.48842  24358312.558    24358324.397    24358315.340
+     -3703.024       -2885.473          38.000          34.000
+  -3282455.34343  -2543078.67842  24383484.300    24383492.498    24383482.580
+     -1841.956       -1435.290          44.000          38.000
+ -20020893.05543 -15589502.60642  21519214.453    21519220.538    21519213.100
+       536.546         418.088          54.000          48.000
+ -23150100.34844 -17998140.34142  20933202.850    20933207.492    20933202.194
+       290.955         226.718          57.000          50.000
+ -10998262.75543  -8515056.48542  22751255.508    22751263.059    22751253.291
+      3488.535        2718.339          51.000          43.000
+  -6682814.64543  -5184636.90042  23847319.476    23847327.582    23847317.236
+       940.643         732.968          48.000          41.000
+  -1016154.34143   -771040.00342  24822777.344    24822789.052    24822778.906
+     -1079.635        -841.274          42.000          35.000
+  -1577029.56943  -1174661.99042  24795876.491    24795883.489    24795874.951
+      3354.892        2614.202          44.000          37.000
+  -2425275.86543  -1887366.22342  24986917.989    24986925.640    24986915.342
+      -343.543        -267.696          45.000          38.000
+ 04  2  1  6 31  0.0000000  0 12G 1G27G20G 2G 4G 8G13G28G31G24G10G 3
+ -14227950.90043 -10669699.81042  22344716.412    22344723.459    22344714.993
+     -1562.481       -1217.518          52.000          45.000
+ -22424941.88743 -17412147.70842  20419893.654    20419898.805    20419892.370
+      -828.900        -645.896          55.000          49.000
+  -5735969.34243  -4282212.00442  24234044.209    24234056.166    24234043.365
+     -3640.332       -2836.622          47.000          40.000
+  -8392222.83243  -6509984.35242  24379475.028    24379484.924    24379471.288
+     -3709.026       -2890.150          39.000          33.000
+  -3227143.03043  -2499978.37342  24394009.049    24394019.485    24394008.368
+     -1844.937       -1437.613          45.000          38.000
+ -20036854.90843 -15601940.38142  21516177.377    21516182.798    21516176.431
+       528.149         411.545          54.000          48.000
+ -23158675.79644 -18004822.50242  20931570.514    20931575.674    20931570.176
+       281.388         219.263          57.000          50.000
+ -11102784.17443  -8596501.62542  22731366.364    22731372.463    22731364.974
+      3479.884        2711.598          51.000          44.000
+  -6710881.98043  -5206507.46542  23841977.205    23841985.884    23841975.885
+       930.908         725.383          46.000          41.000
+   -983593.24443   -745667.74842  24828975.489    24828983.645    24828974.774
+     -1090.827        -849.995          42.000          34.000
+  -1677539.09143  -1252981.11842  24776749.540    24776759.236    24776748.283
+      3346.326        2607.527          43.000          37.000
+  -2414750.50043  -1879164.51742  24988919.466    24988929.141    24988919.750
+      -357.814        -278.816          45.000          38.000
+ 04  2  1  6 31 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -14180948.48343 -10633074.60242  22353661.104    22353667.519    22353659.949
+     -1571.343       -1224.423          52.000          45.000
+ -22399980.87743 -17392697.56342  20424644.160    20424649.288    20424642.807
+      -835.374        -650.941          56.000          49.000
+  -5626738.53943  -4197097.52142  24254832.126    24254842.652    24254830.362
+     -3642.128       -2838.022          48.000          40.000
+  -3171763.21543  -2456825.47842  24404546.752    24404559.322    24404546.533
+     -1847.483       -1439.597          43.000          38.000
+ -20052591.14543 -15614202.35442  21513182.680    21513188.485    21513181.279
+       520.706         405.745          54.000          48.000
+ -23166988.47944 -18011299.90742  20929989.258    20929993.708    20929988.427
+       272.619         212.430          57.000          50.000
+ -11207063.55443  -8677758.14742  22711522.232    22711529.708    22711521.429
+      3471.689        2705.212          50.000          43.000
+  -6738672.84243  -5228162.57142  23836688.970    23836696.445    23836688.703
+       921.543         718.085          46.000          41.000
+   -950715.85043   -720049.05542  24835232.542    24835241.657    24835232.558
+     -1101.365        -858.206          43.000          35.000
+  -1777835.12243  -1331133.76142  24757663.404    24757675.049    24757663.441
+      3339.289        2602.043          42.000          37.000
+  -2403823.88943  -1870650.21642  24990997.676    24991007.923    24990997.064
+      -371.009        -289.098          44.000          38.000
+ 04  2  1  6 32  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -14133683.41443 -10596244.72342  22362655.572    22362660.960    22362654.410
+     -1580.131       -1231.271          52.000          45.000
+ -22374829.75843 -17373099.28242  20429429.912    20429434.787    20429428.618
+      -841.617        -655.805          55.000          49.000
+  -5517454.76743  -4111941.78042  24275627.369    24275639.458    24275626.148
+     -3643.940       -2839.434          47.000          40.000
+  -3116321.80643  -2413624.55042  24415097.705    24415109.683    24415097.764
+     -1848.899       -1440.700          43.000          37.000
+ -20068106.57343 -15626292.27042  21510230.140    21510236.035    21510228.892
+       513.417         400.065          54.000          48.000
+ -23175040.10044 -18017573.88842  20928457.285    20928461.401    20928456.425
+       263.829         205.581          57.000          50.000
+ -11311101.38143  -8758826.44942  22691724.237    22691731.203    22691723.077
+      3463.715        2698.999          50.000          43.000
+  -6766188.44943  -5249603.19542  23831454.034    23831462.537    23831452.184
+       912.449         710.999          47.000          41.000
+   -917527.93343   -694188.40942  24841548.513    24841557.211    24841549.385
+     -1111.584        -866.169          45.000          35.000
+  -1877918.05743  -1409120.40042  24738619.546    24738626.685    24738618.000
+      3332.603        2596.834          44.000          37.000
+  -2392498.59943  -1861825.26942  24993153.070    24993164.885    24993151.684
+      -384.223        -299.394          43.000          36.000
+ 04  2  1  6 32 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -14086157.67343 -10559211.74742  22371698.619    22371706.130    22371697.679
+     -1588.763       -1237.997          52.000          45.000
+ -22349492.54843 -17353355.99142  20434251.329    20434256.706    20434250.531
+      -847.928        -660.723          56.000          49.000
+  -5408123.29743  -4026748.86842  24296432.546    24296443.877    24296429.378
+     -3645.347       -2840.530          47.000          40.000
+  -3060824.74343  -2370380.27342  24425658.294    24425670.154    24425657.916
+     -1851.189       -1442.485          42.000          37.000
+ -20083404.73043 -15638212.88442  21507318.483    21507324.249    21507317.517
+       506.016         394.298          54.000          48.000
+ -23182831.49944 -18023645.10142  20926974.412    20926978.692    20926973.697
+       255.083         198.766          57.000          50.000
+ -11414897.45043  -8839706.36042  22671973.443    22671979.414    22671971.035
+      3455.644        2692.710          50.000          43.000
+  -6793429.22343  -5270829.68242  23826269.165    23826277.596    23826268.893
+       903.152         703.755          47.000          41.000
+   -884034.59243   -668089.77842  24847921.004    24847933.390    24847921.583
+     -1121.961        -874.255          45.000          36.000
+  -1977787.71343  -1486940.89742  24719614.207    24719622.627    24719611.791
+      3325.261        2591.112          43.000          37.000
+  -2380776.40043  -1852691.04342  24995383.550    24995393.118    24995385.333
+      -397.832        -309.999          42.000          35.000
+ 04  2  1  6 33  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -14038335.84743 -10521948.04242  22380798.953    22380806.210    22380797.926
+     -1600.385       -1247.053          51.000          45.000
+ -22323935.82343 -17333441.64942  20439114.594    20439119.720    20439113.506
+      -856.927        -667.735          56.000          49.000
+  -5298711.87443  -3941493.67342  24317253.234    24317263.622    24317251.758
+     -3649.639       -2843.874          48.000          40.000
+  -3005239.85843  -2327067.59242  24436232.676    24436248.637    24436234.170
+     -1855.475       -1445.825          41.000          37.000
+ -20098452.40443 -15649938.30242  21504455.823    21504461.107    21504454.115
+       496.012         386.503          54.000          48.000
+ -23190326.22244 -18029485.14442  20925547.851    20925552.344    20925547.410
+       243.377         189.644          57.000          50.000
+ -11518414.68043  -8920369.00742  22652273.412    22652280.705    22652272.636
+      3444.478        2684.009          50.000          43.000
+  -6820358.26443  -5291813.28742  23821144.256    23821152.416    23821142.758
+       890.888         694.198          46.000          40.000
+   -850203.48643   -641727.92542  24854359.850    24854371.478    24854360.149
+     -1134.919        -884.352          47.000          36.000
+  -2077406.58843  -1564565.91642  24700655.993    24700665.725    24700655.044
+      3315.061        2583.164          42.000          37.000
+  -2368622.13343  -1843220.09442  24997695.413    24997705.582    24997693.784
+      -413.546        -322.244          40.000          34.000
+ 04  2  1  6 33 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13990276.96743 -10484499.63842  22389944.408    22389952.441    22389942.802
+     -1606.721       -1251.990          51.000          45.000
+ -22298220.59843 -17313403.80442  20444008.144    20444013.285    20444006.863
+      -860.710        -670.683          56.000          49.000
+  -5189282.94543  -3856224.82842  24338076.791    24338088.584    24338076.123
+     -3648.671       -2843.120          48.000          40.000
+  -2949629.56343  -2283735.07142  24446817.194    24446828.616    24446816.598
+     -1855.086       -1445.521          42.000          36.000
+ -20113310.40643 -15661515.94142  21501628.110    21501633.339    21501626.653
+       491.214         382.764          54.000          48.000
+ -23197582.25644 -18035139.18742  20924167.180    20924171.338    20924166.535
+       236.952         184.638          57.000          50.000
+ -11621709.68743  -9000858.50142  22632617.977    22632624.901    22632616.518
+      3438.535        2679.378          51.000          44.000
+  -6847032.95943  -5312598.68142  23816067.466    23816076.850    23816066.985
+       883.961         688.801          46.000          40.000
+   -816096.39743   -615151.02942  24860851.911    24860856.335    24860849.712
+     -1142.572        -890.316          45.000          34.000
+  -2176831.22543  -1642039.59042  24681735.412    24681744.018    24681735.989
+      3310.188        2579.367          42.000          37.000
+  -2356094.45943  -1833458.21142  25000082.992    25000086.196    25000083.677
+      -424.787        -331.003          42.000          34.000
+ 04  2  1  6 34  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13941959.12243 -10446849.44042  22399138.884    22399146.357    22399137.727
+     -1615.305       -1258.679          51.000          45.000
+ -22272326.68343 -17293226.71242  20448935.833    20448940.451    20448934.359
+      -866.495        -675.191          56.000          49.000
+  -5079817.39143  -3770927.46242  24358907.410    24358919.413    24358908.312
+     -3649.750       -2843.961          48.000          40.000
+  -2893975.32543  -2240368.33642  24457409.697    24457420.286    24457408.223
+     -1856.604       -1446.704          44.000          36.000
+ -20127958.38643 -15672929.92642  21498840.844    21498845.709    21498839.496
+       484.420         377.470          54.000          48.000
+ -23204576.29844 -18040589.08742  20922835.990    20922840.720    20922835.500
+       228.351         177.936          57.000          50.000
+ -11724758.37643  -9081156.05942  22613008.857    22613014.455    22613006.917
+      3430.397        2673.037          51.000          44.000
+  -6873429.68943  -5333167.46542  23811046.055    23811053.857    23811044.587
+       874.731         681.609          47.000          41.000
+   -781694.71743   -588344.62842  24867396.658    24867404.085    24867396.352
+     -1152.177        -897.800          43.000          34.000
+  -2276037.82143  -1719343.35342  24662855.907    24662868.972    24662857.047
+      3302.808        2573.617          40.000          36.000
+  -2343171.25443  -1823388.12742  25002540.183    25002547.367    25002539.393
+      -437.934        -341.247          41.000          34.000
+ 04  2  1  6 34 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13893373.74343 -10408990.77242  22408384.170    22408392.360    22408383.245
+     -1624.061       -1265.502          51.000          45.000
+ -22246247.30443 -17272905.10242  20453898.136    20453903.578    20453897.094
+      -872.519        -679.885          56.000          49.000
+  -4970309.53343  -3685597.12442  24379746.049    24379759.188    24379746.517
+     -3651.277       -2845.151          47.000          40.000
+  -2838271.74443  -2196963.14242  24468009.068    24468020.365    24468009.278
+     -1857.792       -1447.630          44.000          37.000
+ -20142389.40743 -15684174.84842  21496094.329    21496099.749    21496093.214
+       477.218         371.858          54.000          48.000
+ -23211298.63944 -18045827.27442  20921557.217    20921561.631    20921556.472
+       219.413         170.971          57.000          50.000
+ -11827550.06343  -9161253.36442  22593446.741    22593453.814    22593446.122
+      3421.975        2666.474          51.000          44.000
+  -6899538.19343  -5353511.70642  23806077.046    23806085.519    23806076.311
+       865.328         674.282          47.000          40.000
+   -746992.91943   -561304.30842  24873998.923    24874006.480    24873999.129
+     -1161.584        -905.130          43.000          34.000
+  -2375015.14443  -1796468.42742  24644025.215    24644031.925    24644023.070
+      3295.140        2567.642          42.000          38.000
+  -2329844.05943  -1813003.23842  25005076.593    25005088.148    25005074.547
+      -451.173        -351.563          41.000          34.000
+ 04  2  1  6 35  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13844521.74443 -10370924.33242  22417681.007    22417688.588    22417680.327
+     -1633.103       -1272.548          52.000          45.000
+ -22219985.35443 -17252441.23942  20458895.448    20458900.996    20458894.059
+      -878.725        -684.721          55.000          49.000
+  -4860763.31043  -3600236.92642  24400592.362    24400606.546    24400591.321
+     -3652.460       -2846.073          47.000          40.000
+  -2782523.05943  -2153522.82442  24478619.288    24478631.035    24478618.072
+     -1859.408       -1448.889          46.000          37.000
+ -20156606.48743 -15695253.07042  21493389.572    21493393.863    21493387.700
+       470.113         366.322          54.000          48.000
+ -23217748.80544 -18050853.37842  20920329.555    20920333.678    20920328.945
+       210.184         163.780          57.000          50.000
+ -11930083.51743  -9241149.43742  22573935.655    22573941.693    22573934.256
+      3413.146        2659.594          51.000          44.000
+  -6925357.77243  -5373630.76942  23801164.024    23801171.315    23801163.649
+       855.306         666.472          48.000          41.000
+   -711994.94043   -534033.31542  24880659.759    24880668.353    24880662.517
+     -1171.677        -912.995          43.000          34.000
+  -2473762.06543  -1873413.99642  24625232.089    24625241.394    24625231.228
+      3287.402        2561.612          41.000          37.000
+  -2316113.56943  -1802304.06142  25007687.691    25007701.442    25007686.321
+      -464.465        -361.921          38.000          34.000
+ 04  2  1  6 35 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13795404.25143 -10332651.01742  22427027.854    22427035.422    22427027.004
+     -1641.441       -1279.045          52.000          45.000
+ -22193543.70243 -17231837.33942  20463927.603    20463932.722    20463926.114
+      -884.122        -688.926          56.000          49.000
+  -4751183.08843  -3514850.23542  24421445.893    24421459.068    24421445.458
+     -3652.867       -2846.390          47.000          39.000
+  -2726733.99243  -2110051.05842  24489237.283    24489246.829    24489234.820
+     -1860.276       -1449.566          46.000          37.000
+ -20170612.45643 -15706166.78442  21490723.408    21490728.671    21490722.249
+       463.570         361.223          54.000          48.000
+ -23223927.06744 -18055667.60942  20919154.129    20919158.322    20919153.358
+       201.601         157.092          57.000          50.000
+ -12032357.69443  -9320843.47442  22554473.701    22554480.057    22554471.598
+      3405.041        2653.279          51.000          44.000
+  -6950888.02443  -5393524.40242  23796305.335    23796313.335    23796304.803
+       846.160         659.345          47.000          41.000
+   -676704.82743   -506534.62442  24887375.464    24887386.244    24887374.772
+     -1180.966        -920.233          44.000          34.000
+  -2572277.17843  -1950178.92042  24606489.358    24606494.886    24606485.781
+      3280.482        2556.220          45.000          38.000
+  -2301980.75643  -1791291.45142  25010379.563    25010389.246    25010379.082
+      -477.715        -372.245          45.000          36.000
+ 04  2  1  6 36  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13746021.17043 -10294170.76242  22436425.144    22436433.027    22436424.434
+     -1650.242       -1285.903          52.000          45.000
+ -22166924.16243 -17211094.83242  20468992.569    20468998.011    20468991.642
+      -889.855        -693.393          55.000          49.000
+  -4641571.73043  -3429439.27342  24442304.432    24442318.914    24442303.867
+     -3653.546       -2846.919          47.000          39.000
+  -2670907.51543  -2066550.15642  24499859.775    24499870.654    24499856.703
+     -1860.938       -1450.081          44.000          37.000
+ -20184408.99643 -15716917.30642  21488098.574    21488103.570    21488097.047
+       456.694         355.865          54.000          48.000
+ -23229831.96444 -18060268.82542  20918030.426    20918034.798    20918029.388
+       192.579         150.062          57.000          50.000
+ -12134370.24743  -9400333.65742  22535061.309    22535068.165    22535059.290
+      3396.495        2646.619          52.000          45.000
+  -6976127.25643  -5413191.28842  23791502.282    23791511.081    23791501.499
+       836.670         651.951          46.000          40.000
+   -641125.72043   -478810.67242  24894144.252    24894156.508    24894143.738
+     -1190.241        -927.460          39.000          33.000
+  -2670558.18243  -2026761.49242  24587785.098    24587791.750    24587784.086
+      3272.563        2550.049          46.000          40.000
+  -2287445.51343  -1779965.23842  25013142.873    25013151.798    25013141.860
+      -490.931        -382.544          43.000          36.000
+ 04  2  1  6 36 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13696367.99643 -10255480.04542  22445873.518    22445881.319    22445871.711
+     -1659.655       -1293.238          51.000          45.000
+ -22140124.10443 -17190211.66342  20474093.143    20474098.291    20474091.688
+      -896.430        -698.517          56.000          49.000
+  -4531927.70343  -3344002.88542  24463167.239    24463181.519    24463166.947
+     -3655.062       -2848.100          44.000          38.000
+  -2615042.78143  -2023019.36842  24510489.529    24510502.700    24510488.183
+     -1862.743       -1451.488          44.000          38.000
+ -20197993.22343 -15727502.39342  21485513.389    21485518.890    21485512.011
+       449.327         350.125          54.000          48.000
+ -23235457.86144 -18064652.63642  20916959.772    20916964.244    20916958.805
+       182.787         142.431          57.000          50.000
+ -12236114.59243  -9479614.84742  22515699.667    22515706.786    22515698.111
+      3386.957        2639.187          52.000          45.000
+  -7001069.42843  -5432626.65542  23786756.198    23786764.380    23786756.151
+       826.325         643.890          47.000          40.000
+   -605255.86143   -450860.16442  24900971.157    24900979.088    24900967.796
+     -1200.534        -935.481          41.000          33.000
+  -2768598.65243  -2103156.60142  24569129.466    24569135.240    24569127.029
+      3263.753        2543.184          44.000          39.000
+  -2272503.25343  -1768321.93642  25015986.575    25015995.556    25015986.022
+      -504.904        -393.432          43.000          35.000
+ 04  2  1  6 37  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13646449.25243 -10216582.39842  22455372.828    22455380.058    22455372.074
+     -1668.123       -1299.836          51.000          45.000
+ -22113149.85343 -17169192.76442  20479225.554    20479231.143    20479224.519
+      -901.708        -702.630          55.000          49.000
+  -4422258.62943  -3258546.98542  24484038.067    24484051.179    24484034.808
+     -3655.598       -2848.518          45.000          37.000
+  -2559147.45843  -1979464.74542  24521126.851    24521137.134    24521125.897
+     -1863.447       -1452.037          45.000          37.000
+ -20211371.49543 -15737927.00242  21482967.378    21482973.056    21482966.083
+       442.837         345.068          54.000          48.000
+ -23240808.05944 -18068821.62942  20915941.714    20915946.130    20915940.885
+       174.024         135.603          57.000          50.000
+ -12337593.26543  -9558689.02442  22496389.461    22496394.664    22496387.577
+      3378.382        2632.505          52.000          44.000
+  -7025717.42743  -5451832.82242  23782065.757    23782073.895    23782064.872
+       816.832         636.492          47.000          40.000
+   -569103.10943   -422689.27442  24907851.038    24907858.626    24907847.408
+     -1209.613        -942.555          42.000          34.000
+  -2866400.57443  -2179365.78842  24550518.372    24550524.558    24550515.933
+      3256.456        2537.498          45.000          39.000
+  -2257158.59343  -1756365.05742  25018908.103    25018919.008    25018906.965
+      -517.935        -403.586          45.000          37.000
+ 04  2  1  6 37 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13596259.54743 -10177473.61742  22464924.671    22464931.851    22464922.732
+     -1677.542       -1307.175          52.000          45.000
+ -22085997.73243 -17148035.26342  20484392.363    20484397.780    20484391.499
+      -908.067        -707.585          55.000          49.000
+  -4312561.94643  -3173069.57942  24504912.556    24504924.637    24504912.049
+     -3657.218       -2849.780          44.000          38.000
+  -2503219.43943  -1935884.66742  24531768.718    24531779.680    24531768.401
+     -1864.767       -1453.065          44.000          37.000
+ -20224540.43643 -15748188.49142  21480461.377    21480466.949    21480459.894
+       435.294         339.190          54.000          48.000
+ -23245876.13244 -18072770.77742  20914977.512    20914981.523    20914976.601
+       164.166         127.921          57.000          50.000
+ -12438798.78443  -9637550.37042  22477128.685    22477135.573    22477127.981
+      3368.860        2625.086          51.000          44.000
+  -7050064.18043  -5470804.25042  23777432.483    23777439.312    23777431.149
+       806.297         628.283          46.000          40.000
+   -532665.30943   -394296.20342  24914786.932    24914794.881    24914786.629
+     -1219.326        -950.124          43.000          34.000
+  -2963956.06843  -2255382.96342  24531954.197    24531960.076    24531952.370
+      3247.680        2530.660          44.000          39.000
+  -2241405.97643  -1744090.27242  25021906.179    25021913.291    25021904.184
+      -531.791        -414.382          46.000          37.000
+ 04  2  1  6 38  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13545804.24743 -10138157.87042  22474525.442    22474532.820    22474524.279
+     -1686.799       -1314.389          52.000          45.000
+ -22058674.93843 -17126744.77242  20489592.546    20489597.351    20489591.242
+      -913.960        -712.177          56.000          49.000
+  -4202846.09343  -3087577.25342  24525790.504    24525803.897    24525789.850
+     -3657.814       -2850.245          45.000          37.000
+  -2447267.29443  -1892285.80742  24542416.866    24542429.838    24542417.132
+     -1865.630       -1453.738          46.000          37.000
+ -20237506.87243 -15758292.19042  21477993.789    21477998.963    21477992.909
+       428.558         333.941          54.000          48.000
+ -23250666.07744 -18076503.20342  20914065.537    20914070.068    20914064.919
+       154.646         120.503          57.000          50.000
+ -12539733.88143  -9716200.98542  22457921.909    22457927.992    22457921.434
+      3359.507        2617.798          51.000          44.000
+  -7074113.57043  -5489543.97642  23772857.441    23772863.833    23772856.264
+       796.210         620.423          48.000          41.000
+   -495950.55743   -365687.42642  24921773.188    24921779.983    24921773.352
+     -1228.422        -957.212          43.000          35.000
+  -3061268.53443  -2331210.70842  24513435.033    24513440.607    24513432.715
+      3239.281        2524.115          42.000          38.000
+  -2225250.57043  -1731501.51042  25024979.732    25024987.272    25024978.445
+      -545.633        -425.168          45.000          37.000
+ 04  2  1  6 38 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13495077.41743 -10098630.53742  22484179.117    22484185.980    22484177.805
+     -1699.092       -1323.968          52.000          45.000
+ -22031177.22043 -17105317.98042  20494824.203    20494830.109    20494823.197
+      -923.233        -719.402          55.000          49.000
+  -4093107.92343  -3002067.56342  24546673.106    24546689.969    24546672.528
+     -3662.023       -2853.524          43.000          38.000
+  -2391288.42543  -1848666.07342  24553069.525    24553080.605    24553068.324
+     -1870.058       -1457.188          45.000          37.000
+ -20250266.64543 -15768234.85242  21475566.284    21475571.468    21475564.870
+       418.214         325.881          54.000          48.000
+ -23255170.69044 -18080013.28842  20913208.574    20913213.105    20913207.806
+       141.580         110.322          57.000          50.000
+ -12640390.61343  -9794634.70042  22438767.907    22438774.252    22438766.905
+      3346.904        2607.977          51.000          45.000
+  -7097857.95243  -5508046.04442  23768337.779    23768345.817    23768337.089
+       782.560         609.787          47.000          40.000
+   -458956.03243   -336860.61842  24928808.578    24928817.236    24928806.358
+     -1241.888        -967.705          38.000          33.000
+  -3158329.54243  -2406842.56742  24494965.361    24494971.397    24494964.577
+      3227.412        2514.866          44.000          38.000
+  -2208686.34843  -1718594.27842  25028131.038    25028141.025    25028129.988
+      -562.427        -438.255          45.000          38.000
+ 04  2  1  6 39  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13444073.88343 -10058887.59942  22493884.528    22493891.976    22493883.117
+     -1703.674       -1327.538          51.000          45.000
+ -22003501.18343 -17083752.24342  20500091.260    20500096.559    20500089.829
+      -924.541        -720.421          55.000          49.000
+  -3983345.23643  -2916538.76142  24567562.756    24567576.969    24567561.585
+     -3658.217       -2850.559          45.000          38.000
+  -2335280.87043  -1805024.01842  24563724.763    24563738.269    24563726.626
+     -1865.803       -1453.872          44.000          37.000
+ -20262816.28443 -15778013.76542  21473177.265    21473183.222    21473176.238
+       415.946         324.114          54.000          48.000
+ -23259383.45744 -18083295.96142  20912407.046    20912411.388    20912406.301
+       136.594         106.437          57.000          50.000
+ -12740761.66743  -9872845.80542  22419668.052    22419674.997    22419667.276
+      3341.923        2604.096          52.000          45.000
+  -7121290.70543  -5526305.25342  23763878.470    23763885.694    23763878.379
+       776.941         605.409          46.000          40.000
+   -421679.47243   -307813.95142  24935907.141    24935916.808    24935906.734
+     -1246.476        -971.280          41.000          33.000
+  -3255131.46043  -2482272.57442  24476543.643    24476551.227    24476541.783
+      3223.324        2511.681          43.000          38.000
+  -2191708.30843  -1705364.65642  25031360.247    25031371.059    25031359.121
+      -571.509        -445.332          43.000          37.000
+ 04  2  1  6 39 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13392808.53243 -10018940.65542  22503639.564    22503646.804    22503638.042
+     -1713.025       -1334.825          51.000          44.000
+ -21975663.45843 -17062060.51942  20505388.443    20505394.247    20505387.221
+      -930.499        -725.064          55.000          49.000
+  -3873576.09743  -2831004.97042  24588453.007    24588465.200    24588449.183
+     -3658.747       -2850.972          45.000          38.000
+  -2279262.62843  -1761373.70142  24574387.051    24574398.365    24574384.880
+     -1867.583       -1455.259          46.000          37.000
+ -20275172.44243 -15787641.93042  21470827.394    21470832.082    21470825.646
+       408.835         318.573          55.000          48.000
+ -23263318.24344 -18086362.02442  20911658.011    20911662.572    20911657.425
+       126.592          98.643          57.000          50.000
+ -12840859.98843  -9950844.37842  22400620.574    22400625.847    22400619.555
+      3332.111        2596.450          52.000          45.000
+  -7144425.01643  -5544331.93942  23759476.221    23759485.014    23759474.838
+       766.352         597.157          47.000          41.000
+                   -278561.61342  24943045.824    24943056.913
+     -1256.025        -978.721          37.000          33.000
+  -3351686.62243  -2557510.24742  24458168.607    24458177.369    24458168.112
+      3214.612        2504.892          44.000          38.000
+  -2174331.38443  -1691824.18442  25034668.301    25034678.376    25034665.814
+      -585.556        -456.277          43.000          36.000
+ 04  2  1  6 40  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13341275.52943  -9978785.13642  22513446.973    22513453.106    22513445.348
+     -1722.266       -1342.025          51.000          44.000
+ -21947659.90443 -17040239.57742  20510717.767    20510722.881    20510716.249
+      -936.158        -729.474          55.000          49.000
+  -3763797.33143  -2745463.69042  24609343.925    24609355.494    24609341.562
+     -3659.214       -2851.335          45.000          38.000
+  -2223231.14743  -1717712.97942  24585049.728    24585061.108    24585049.224
+     -1867.747       -1455.387          46.000          37.000
+ -20287330.88743 -15797116.02542  21468512.872    21468518.282    21468511.383
+       402.012         313.256          54.000          48.000
+ -23266968.11844 -18089206.08342  20910963.922    20910968.196    20910963.124
+       116.988          91.159          57.000          50.000
+ -12940677.21543 -10028623.93142  22381625.896    22381631.469    22381624.054
+      3322.697        2589.115          52.000          45.000
+  -7167253.35143  -5562120.17342  23755132.948    23755140.434    23755130.686
+       755.861         588.983          48.000          41.000
+                   -249101.41552  24950242.924    24950247.375
+     -1264.518        -985.339          38.000          32.000
+  -3447986.81543  -2632549.25842  24439842.705    24439850.622    24439841.546
+      3205.867        2498.078          43.000          38.000
+  -2156549.54443  -1677968.15142  25038052.690    25038062.515    25038051.126
+      -599.369        -467.041          42.000          36.000
+ 04  2  1  6 40 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13289470.11743  -9938417.37542  22523304.142    22523311.711    22523303.244
+     -1731.079       -1348.893          51.000          44.000
+ -21919487.16643 -17018286.80242  20516078.632    20516083.904    20516077.678
+      -941.620        -733.730          55.000          49.000
+  -3654007.17043  -2659913.53042  24630235.580    24630248.473    24630232.031
+     -3659.124       -2851.265          46.000          38.000
+  -2167184.79443  -1674040.70442  24595714.521    24595726.441    24595714.432
+     -1868.220       -1455.756          46.000          37.000
+ -20299288.31943 -15806433.48842  21466237.645    21466242.827    21466236.418
+       395.503         308.184          54.000          48.000
+ -23270326.57444 -18091823.05942  20910324.456    20910329.193    20910323.639
+       107.318          83.624          57.000          50.000
+ -13040206.46643 -10106179.06742  22362685.742    22362691.587    22362684.376
+      3313.001        2581.559          51.000          44.000
+  -7189769.30243  -5579665.00542  23750847.797    23750855.437    23750845.632
+       745.480         580.894          48.000          42.000
+   -308255.06353                  24957488.999                    24957490.381
+     -1273.492        -992.331          41.000
+  -3544025.14143  -2707384.20842  24421567.817    24421572.891    24421566.998
+      3197.082        2491.233          45.000          38.000
+  -2138357.88043  -1663792.78342  25041513.898    25041523.429    25041513.419
+      -612.991        -477.655          45.000          36.000
+ 04  2  1  6 41  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13237393.52543  -9897838.28942  22533213.798    22533222.150    22533213.158
+     -1740.299       -1356.077          51.000          44.000
+ -21891148.34443 -16996204.61242  20521471.166    20521476.457    20521469.964
+      -947.481        -738.297          55.000          49.000
+  -3544209.64643  -2574357.63642  24651129.270    24651142.834    24651129.228
+     -3660.267       -2852.156          45.000          38.000
+  -2111128.03943  -1630360.26842  24606381.774    24606395.296    24606383.615
+     -1868.479       -1455.958          45.000          36.000
+ -20311048.02143 -15815596.87942  21463999.200    21464005.061    21463998.024
+       388.675         302.864          54.000          48.000
+ -23273393.76944 -18094213.07242  20909740.900    20909745.089    20909740.006
+        97.379          75.880          57.000          50.000
+ -13139446.57443 -10183508.92742  22343800.565    22343805.890    22343799.979
+      3303.154        2573.886          52.000          44.000
+  -7211972.51043  -5596966.15742  23746621.307    23746629.604    23746619.457
+       734.731         572.518          47.000          42.000
+   -269914.61843   -189556.16642  24964787.971    24964795.223    24964785.748
+     -1281.825        -998.825          42.000          34.000
+  -3639800.40143  -2782014.20742  24403344.133    24403349.621    24403341.678
+      3188.261        2484.359          45.000          39.000
+  -2119757.85843  -1649299.25242  25045054.912    25045060.355    25045053.041
+      -626.369        -488.080          45.000          35.000
+ 04  2  1  6 41 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13185047.22743  -9857049.04642  22543176.204    22543183.319    22543174.359
+     -1749.141       -1362.967          51.000          44.000
+ -21862646.44643 -16973995.35842  20526894.482    20526900.587    20526893.955
+      -952.631        -742.310          55.000          49.000
+  -3434409.32643  -2488799.60842  24672023.524    24672039.924    24672022.832
+     -3659.894       -2851.865          44.000          38.000
+  -2055065.43243  -1586675.31942  24617051.769    24617061.232    24617051.048
+     -1868.836       -1456.236          46.000          37.000
+ -20322612.92043 -15824608.47642  21461798.584    21461803.908    21461797.651
+       382.364         297.946          54.000          48.000
+ -23276170.20543 -18096376.53142  20909212.271    20909216.987    20909211.470
+        87.783          68.402          56.000          50.000
+ -13238396.89843 -10260612.97042  22324970.661    22324976.758    22324970.272
+      3293.704        2566.523          52.000          45.000
+  -7233862.92143  -5614023.54242  23742457.248    23742464.234    23742455.488
+       724.525         564.565          49.000          42.000
+   -231314.37843   -159478.06142  24972132.129    24972141.090    24972128.287
+     -1291.075       -1006.032          40.000          34.000
+  -3735311.69143  -2856438.48142  24385168.297    24385175.376    24385167.092
+      3179.597        2477.608          46.000          39.000
+  -2100750.82543  -1634488.54342  25048672.407    25048680.028    25048670.696
+      -640.323        -498.953          45.000          36.000
+ 04  2  1  6 42  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13132431.50943  -9816049.86042  22553187.394    22553195.253    22553187.395
+     -1758.653       -1370.379          51.000          44.000
+ -21833983.24543 -16951660.40742  20532349.679    20532354.883    20532348.443
+      -958.432        -746.830          56.000          49.000
+  -3324608.98243  -2403241.56742  24692918.527    24692933.083    24692916.994
+     -3660.668       -2852.468          43.000          37.000
+  -1999000.42243  -1542988.51742  24627720.251    24627732.629    24627720.427
+     -1869.387       -1456.665          45.000          37.000
+ -20333984.97543 -15833469.79942  21459634.807    21459640.081    21459633.297
+       375.595         292.671          54.000          48.000
+ -23278654.38444 -18098312.25442  20908739.806    20908744.359    20908738.699
+        77.642          60.500          57.000          50.000
+ -13337055.34443 -10337489.57442  22306196.703    22306202.115    22306195.240
+      3283.404        2558.497          52.000          45.000
+  -7255439.12443  -5630836.14942  23738350.242    23738359.143    23738349.481
+       713.764         556.180          48.000          41.000
+   -192457.42643   -129200.00142  24979527.241    24979536.078    24979527.362
+     -1299.795       -1012.827          41.000          34.000
+  -3830556.60543  -2930655.26742  24367042.518    24367050.364    24367041.439
+      3169.989        2470.121          45.000          39.000
+  -2081337.19243  -1619361.01842  25052363.888    25052374.642    25052361.124
+      -654.021        -509.627          43.000          36.000
+ 04  2  1  6 42 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13079540.22443  -9774835.94442  22563253.124    22563260.866    22563252.124
+     -1767.888       -1377.575          51.000          44.000
+ -21805154.71343 -16929196.63742  20537835.601    20537840.602    20537834.096
+      -963.989        -751.160          55.000          49.000
+  -3214805.50343  -2317681.11842  24713813.860    24713829.639    24713812.800
+     -3660.189       -2852.095          44.000          38.000
+  -1942930.15343  -1499297.63242  24638390.836    24638404.170    24638389.353
+     -1869.301       -1456.598          46.000          37.000
+ -20345159.75943 -15842177.41142  21457508.174    21457513.737    21457506.969
+       369.069         287.586          54.000          48.000
+ -23280839.18044 -18100014.69842  20908323.786    20908328.675    20908323.210
+        67.505          52.601          57.000          50.000
+ -13435413.93243 -10414132.52842  22287479.700    22287485.899    22287479.064
+      3273.415        2550.713          52.000          45.000
+  -7276693.58143  -5647398.00242  23734306.988    23734314.415    23734304.876
+       702.772         547.615          48.000          41.000
+   -153341.04043    -98719.83742  24986969.605    24986980.953    24986966.357
+     -1308.159       -1019.345          38.000          34.000
+  -3925526.99843  -3004658.06142  24348970.322    24348979.645    24348968.735
+      3160.460        2462.696          45.000          39.000
+  -2061511.05943  -1603912.02042  25056138.458    25056144.705    25056136.548
+      -668.017        -520.533          46.000          36.000
+ 04  2  1  6 43  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -13026355.41043  -9733393.30942  22573374.213    22573381.688    22573372.266
+     -1776.594       -1384.359          51.000          45.000
+ -21776144.01443 -16906590.91542  20543355.819    20543361.273    20543354.716
+      -968.806        -754.914          55.000          49.000
+  -3104983.72743  -2232106.44042  24734712.314    24734727.348    24734712.847
+     -3659.548       -2851.596          44.000          37.000
+  -1886839.56443  -1455590.87542  24649064.403    24649076.421    24649062.814
+     -1868.729       -1456.152          46.000          37.000
+ -20356121.01043 -15850718.62242  21455422.712    21455427.662    21455421.188
+       363.164         282.985          54.000          48.000
+ -23282705.30344 -18101468.82342  20907968.873    20907973.251    20907968.114
+        58.204          45.354          57.000          50.000
+ -13533452.35343 -10490526.00642  22268823.071    22268829.142    22268821.913
+      3264.009        2543.384          52.000          45.000
+  -7297606.64943  -5663693.85342  23730325.957    23730332.997    23730324.790
+       692.737         539.795          48.000          42.000
+   -113949.80543    -68025.44042  24994464.125    24994477.104    24994464.595
+     -1316.006       -1025.459          40.000          34.000
+  -4020202.30543  -3078430.95742  24330953.577    24330962.793    24330953.388
+      3152.368        2456.391          45.000          39.000
+  -2041254.13643  -1588127.40742  25059993.761    25060000.731    25059991.726
+      -680.462        -530.230          46.000          37.000
+ 04  2  1  6 43 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12972920.35843  -9691755.68942  22583542.026    22583550.395    22583541.187
+     -1785.930       -1391.634          50.000          45.000
+ -21746996.41043 -16883878.51042  20548902.766    20548907.718    20548901.331
+      -974.708        -759.513          55.000          49.000
+  -2995189.79143  -2146553.46542  24755606.720    24755620.988    24755604.430
+     -3660.307       -2852.187          45.000          37.000
+  -1830775.26643  -1411904.64242  24659733.924    24659743.349    24659732.353
+     -1869.018       -1456.378          45.000          37.000
+ -20366913.59543 -15859128.40742  21453368.690    21453374.055    21453367.133
+       356.189         277.550          54.000          48.000
+ -23284294.79944 -18102707.40042  20907666.782    20907670.825    20907665.639
+        47.546          37.049          57.000          50.000
+ -13631211.72543 -10566702.04342  22250220.538    22250225.769    22250219.082
+      3253.140        2534.914          53.000          45.000
+  -7318220.03843  -5679756.19042  23726403.202    23726412.207    23726401.846
+       681.303         530.885          47.000          41.000
+    -74330.34543    -37153.19742  25002003.639    25002013.704    25002001.057
+     -1324.783       -1032.298          40.000          35.000
+  -4114623.24943  -3152005.65042  24312986.910    24312994.187    24312985.265
+      3142.249        2448.506          46.000          39.000
+  -2020609.84143  -1572040.89242  25063920.179    25063929.080    25063918.963
+      -694.756        -541.368          43.000          36.000
+ 04  2  1  6 44  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12919213.38243  -9649906.18642  22593761.997    22593770.299    22593761.150
+     -1794.900       -1398.623          50.000          44.000
+ -21717691.58243 -16861043.59742  20554478.932    20554484.767    20554477.923
+      -979.658        -763.370          55.000          49.000
+  -2885404.85143  -2061007.52742  24776499.537    24776514.209    24776497.138
+     -3659.268       -2851.378          45.000          37.000
+  -1774718.38943  -1368224.14642  24670399.697    24670413.590    24670401.993
+     -1868.870       -1456.262          43.000          36.000
+ -20377517.40243 -15867391.09342  21451351.369    21451356.167    21451349.503
+       350.155         272.848          54.000          48.000
+ -23285584.82044 -18103712.61942  20907421.071    20907425.554    20907420.431
+        37.915          29.544          57.000          50.000
+ -13728668.15743 -10642642.01842  22231675.566    22231680.936    22231673.606
+      3243.258        2527.214          52.000          45.000
+  -7338510.38343  -5695566.80342  23722542.983    23722550.988    23722540.759
+       670.769         522.677          48.000          42.000
+    -34464.06843     -6088.69342  25009591.022    25009602.134    25009590.915
+     -1332.517       -1038.325          41.000          34.000
+  -4208765.83943  -3225363.47942  24295072.410    24295079.078    24295069.260
+      3133.190        2441.447          46.000          39.000
+  -1999556.45443  -1555635.67542  25067928.977    25067936.510    25067925.735
+      -708.785        -552.300          44.000          36.000
+ 04  2  1  6 44 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12865233.12443  -9607843.73642  22604034.648    22604042.840    22604033.657
+     -1803.787       -1405.548          51.000          44.000
+ -21688229.92243 -16838086.47442  20560085.508    20560090.802    20560084.255
+      -984.693        -767.293          55.000          49.000
+  -2775630.45643  -1975469.84442  24797389.193    24797402.085    24797387.709
+     -3659.235       -2851.352          44.000          37.000
+  -1718671.16343  -1324551.21142  24681066.889    24681077.329    24681066.663
+     -1868.065       -1455.635          44.000          36.000
+ -20387932.90443 -15875507.05842  21449369.261    21449373.897    21449367.231
+       344.025         268.071          55.000          48.000
+ -23286573.01644 -18104482.64842  20907232.511    20907237.714    20907232.040
+        27.930          21.764          57.000          50.000
+ -13825818.10943 -10718343.18642  22213188.016    22213193.610    22213186.868
+      3233.182        2519.363          53.000          45.000
+  -7358475.01243  -5711123.61242  23718742.616    23718752.347    23718742.782
+       659.954         514.250          47.000          42.000
+      5647.38643     25166.84942  25017224.899    25017234.626    25017224.212
+     -1340.841       -1044.811          41.000          34.000
+  -4302626.48443  -3298501.54742  24277211.411    24277219.046    24277208.764
+      3123.909        2434.215          46.000          39.000
+  -1978093.18243  -1538910.99642  25072011.987    25072020.339    25072009.853
+      -722.247        -562.790          44.000          37.000
+ 04  2  1  6 45  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12810980.27243  -9565568.87742  22614358.080    22614365.972    22614356.465
+     -1813.486       -1413.106          50.000          44.000
+ -21658613.61343 -16815008.84742  20565721.470    20565726.954    20565720.239
+      -990.192        -771.578          55.000          49.000
+  -2665870.19543  -1889943.21142  24818276.907    24818290.769    24818273.779
+     -3658.514       -2850.790          44.000          37.000
+  -1662636.98043  -1280888.41542  24691728.731    24691740.465    24691727.284
+     -1868.037       -1455.613          44.000          36.000
+ -20398162.36743 -15883478.05542  21447422.312    21447427.320    21447421.085
+       337.387         262.899          54.000          48.000
+ -23287258.48644 -18105016.79442  20907102.319    20907106.992    20907101.668
+        17.328          13.502          57.000          50.000
+ -13922660.17143 -10793804.44042  22194759.799    22194765.118    22194757.754
+      3222.456        2511.005          52.000          45.000
+  -7378113.13743  -5726425.99642  23715006.788    23715015.067    23715005.229
+       648.780         505.543          49.000          42.000
+     46000.31443     56610.63642  25024901.574    25024912.237    25024901.998
+     -1349.751       -1051.754          42.000          35.000
+  -4396203.63043  -3371418.73742  24259403.409    24259411.988    24259401.088
+      3114.203        2426.652          45.000          39.000
+  -1956220.44443  -1521867.26242  25076174.781    25076182.777    25076173.936
+      -736.351        -573.780          43.000          37.000
+ 04  2  1  6 45 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12756457.23443  -9523083.45442  22624734.500    22624742.155    22624733.480
+     -1822.232       -1419.921          51.000          44.000
+ -21628846.57543 -16791813.76142  20571385.565    20571391.016    20571384.305
+      -995.108        -775.409          55.000          49.000
+  -2556128.83343  -1804431.31642  24839161.274    24839175.533    24839158.664
+     -3658.178       -2850.528          43.000          36.000
+  -1606621.40043  -1237240.12642  24702388.862    24702400.728    24702387.507
+     -1867.521       -1455.211          44.000          37.000
+ -20408209.65643 -15891307.10042  21445509.942    21445515.742    21445508.747
+       331.540         258.343          54.000          48.000
+ -23287642.48644 -18105316.02242  20907029.640    20907033.609    20907028.505
+         7.224           5.629          57.000          50.000
+ -14019194.25943 -10869025.70742  22176389.231    22176394.871    22176387.689
+      3212.098        2502.934          52.000          45.000
+  -7397425.20043  -5741474.31942  23711332.408    23711339.584    23711330.065
+       637.906         497.070          48.000          42.000
+     86589.28343     88238.31242  25032627.674    25032636.248    25032627.166
+     -1357.131       -1057.505          42.000          34.000
+  -4489496.66543  -3444114.53242  24241651.587    24241657.724    24241650.392
+      3104.396        2419.010          47.000          39.000
+  -1933940.60643  -1504506.33442  25080413.225    25080423.660    25080412.386
+      -749.912        -584.347          43.000          36.000
+ 04  2  1  6 46  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12701656.77143  -9480381.89342  22635162.103    22635170.413    22635160.897
+     -1830.347       -1426.244          50.000          44.000
+ -21598922.98143 -16768496.69142  20577079.962    20577084.982    20577078.735
+      -999.219        -778.612          55.000          49.000
+  -2446401.85843  -1718930.68542  24860041.953    24860054.871    24860038.528
+     -3656.395       -2849.139          44.000          36.000
+  -1550620.06443  -1193602.87042  24713045.708    24713056.219    24713045.823
+     -1865.553       -1453.678          44.000          36.000
+ -20418069.13443 -15898989.79442  21443633.728    21443639.243    21443632.293
+       326.319         254.274          54.000          48.000
+ -23287715.77344 -18105373.13542  20907015.611    20907019.891    20907014.718
+        -1.930          -1.504          57.000          50.000
+ -14115410.92943 -10943999.63342  22158079.745    22158085.837    22158078.277
+      3202.687        2495.600          52.000          45.000
+  -7416402.58343  -5756261.86442  23707718.317    23707727.444    23707718.356
+       627.773         489.174          47.000          42.000
+    127418.62243    120053.31442  25040396.167    25040407.372    25040395.618
+     -1364.172       -1062.991          42.000          35.000
+  -4582496.22343  -3516581.62442  24223953.915    24223960.103    24223949.984
+      3095.969        2412.443          46.000          39.000
+  -1911246.59243  -1486822.67642  25084730.974    25084742.688    25084731.737
+      -762.775        -594.370          43.000          36.000
+ 04  2  1  6 46 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12646583.22643  -9437467.51842  22645642.390    22645650.415    22645641.665
+     -1840.010       -1433.774          51.000          44.000
+ -21568848.34643 -16745061.92042  20582803.279    20582808.426    20582801.852
+     -1004.542        -782.760          55.000          49.000
+  -2336696.30143  -1633446.72842  24880918.742    24880931.166    24880916.414
+     -3656.128       -2848.931          42.000          34.000
+  -1494640.30343  -1149982.52242  24723697.751    24723708.601    24723696.097
+     -1865.527       -1453.657          42.000          35.000
+ -20427746.57743 -15906530.64942  21441792.431    21441797.266    21441791.134
+       319.890         249.265          54.000          48.000
+ -23287481.85244 -18105190.87242  20907059.920    20907064.463    20907059.270
+       -12.592          -9.812          57.000          50.000
+ -14211312.10843 -11018727.72542  22139830.015    22139836.439    22139829.245
+      3191.658        2487.006          52.000          45.000
+  -7435047.86343  -5770790.60042  23704172.520    23704178.498    23704170.432
+       616.212         480.165          48.000          41.000
+    168481.24843    152049.99442  25048209.397    25048221.188    25048210.274
+     -1372.267       -1069.299          43.000          36.000
+  -4675203.86343  -3588821.20142  24206310.777    24206320.180    24206309.842
+      3085.359        2404.176          45.000          39.000
+  -1888142.69243  -1468819.68542  25089129.323    25089138.119    25089129.655
+      -776.450        -605.026          43.000          35.000
+ 04  2  1  6 47  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12591236.42043  -9394340.19742  22656174.772    22656182.777    22656172.940
+     -1849.568       -1441.222          50.000          44.000
+ -21538624.20643 -16721510.65442  20588554.178    20588559.673    20588553.355
+     -1010.110        -787.099          55.000          49.000
+  -2227014.71243  -1547981.53442  24901789.846    24901806.858    24901789.444
+     -3655.773       -2848.654          42.000          35.000
+  -1438684.77743  -1106381.07342  24734346.802    24734358.582    24734346.283
+     -1864.286       -1452.690          42.000          35.000
+ -20437243.39343 -15913930.75442  21439985.020    21439990.774    21439983.765
+       313.487         244.276          54.000          48.000
+ -23286939.31744 -18104768.12842  20907163.543    20907167.582    20907162.658
+       -23.319         -18.171          57.000          50.000
+ -14306895.49343 -11093208.19942  22121641.320    22121647.233    22121640.843
+      3180.805        2478.549          52.000          45.000
+  -7453359.30343  -5785059.19542  23700687.361    23700696.764    23700687.356
+       604.718         471.209          48.000          42.000
+    209774.23343    184226.26642  25056066.895    25056078.354    25056066.698
+     -1380.252       -1075.521          42.000          36.000
+  -4767617.11043  -3660831.46542  24188725.699    24188734.585    24188723.005
+      3075.354        2396.380          46.000          39.000
+  -1864628.88643  -1450497.15842  25093602.576    25093615.529    25093600.763
+      -790.954        -616.328          42.000          34.000
+ 04  2  1  6 47 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12535615.04343  -9350998.93842  22666759.427    22666766.881    22666758.383
+     -1858.508       -1448.188          51.000          44.000
+ -21508250.76443 -16697843.04342  20594334.477    20594339.794    20594333.314
+     -1014.849        -790.791          55.000          49.000
+  -2117358.82443  -1462536.36442  24922656.741    24922674.858    24922656.112
+     -3654.560       -2847.709          41.000          35.000
+  -1382755.38243  -1062799.94042  24744990.653    24744999.412    24744988.414
+     -1863.483       -1452.065          43.000          34.000
+ -20446560.04443 -15921190.46042  21438212.066    21438217.456    21438210.652
+       307.754         239.808          54.000          48.000
+ -23286085.29744 -18104102.66742  20907325.890    20907330.461    20907324.982
+       -33.548         -26.141          57.000          50.000
+ -14402157.77043 -11167438.45842  22103513.492    22103519.433    22103511.704
+      3170.212        2470.295          52.000          45.000
+  -7471334.15843  -5799065.52442  23697267.294    23697275.254    23697264.814
+       593.531         462.492          48.000          42.000
+    251295.57543    216580.38742  25063969.974    25063979.409    25063967.218
+     -1387.529       -1081.191          40.000          35.000
+  -4859732.18343  -3732609.30642  24171197.333    24171205.069    24171195.003
+      3065.793        2388.930          46.000          39.000
+  -1840704.25543  -1431854.57442  25098156.584    25098166.077    25098152.116
+      -804.210        -626.657          41.000          35.000
+ 04  2  1  6 48  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12479717.79943  -9307442.71742  22677396.312    22677403.137    22677395.260
+     -1867.694       -1455.346          50.000          44.000
+ -21477728.03043 -16674059.10442  20600142.680    20600147.954    20600141.582
+     -1019.687        -794.561          55.000          49.000
+  -2007729.83543  -1377112.21542  24943520.385    24943538.567    24943519.533
+     -3653.830       -2847.140          41.000          35.000
+  -1326853.85743  -1019240.46342  24755626.829    24755639.808    24755625.789
+     -1862.869       -1451.586          43.000          33.000
+ -20455696.73743 -15928309.94942  21436473.376    21436479.053    21436471.929
+       301.597         235.011          54.000          48.000
+ -23284917.36244 -18103192.59842  20907547.516    20907552.778    20907547.222
+       -44.237         -34.470          57.000          50.000
+ -14497095.44643 -11241415.77842  22085447.516    22085453.493    22085445.836
+      3159.166        2461.688          53.000          46.000
+  -7488969.55343  -5812807.35342  23693910.505    23693919.257    23693909.781
+       582.147         453.621          47.000          41.000
+    293043.73243    249111.26042  25071916.907    25071923.948    25071912.846
+     -1395.084       -1087.078          41.000          35.000
+  -4951545.28043  -3804151.88242  24153726.144    24153732.598    24153724.308
+      3055.495        2380.905          46.000          39.000
+  -1816367.44443  -1412890.80142  25102787.269    25102799.625    25102786.174
+      -817.949        -637.363          43.000          35.000
+ 04  2  1  6 48 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12423549.00443  -9263674.89142  22688085.101    22688092.366    22688083.399
+     -1877.208       -1462.759          49.000          44.000
+ -21447061.86643 -16650163.39142  20605978.357    20605983.451    20605977.095
+     -1025.006        -798.706          55.000          49.000
+  -1898134.74043  -1291714.48142  24964374.897    24964395.950    24964373.606
+     -3653.231       -2846.673          40.000          34.000
+  -1270987.10543   -975708.13442  24766259.864    24766272.065    24766258.547
+     -1861.981       -1450.894          42.000          34.000
+ -20464659.10843 -15935293.60242  21434767.969    21434773.361    21434767.072
+       295.441         230.214          54.000          48.000
+ -23283438.65044 -18102040.36442  20907829.181    20907833.793    20907828.621
+       -54.984         -42.845          57.000          50.000
+ -14591710.41843 -11315141.63342  22067442.786    22067448.729    22067441.421
+      3147.956        2452.953          53.000          46.000
+  -7506268.29443  -5826286.84242  23690620.226    23690627.126    23690619.336
+       570.496         444.542          48.000          41.000
+    335011.72253    281813.39752  25079903.939    25079911.649    25079899.939
+     -1403.001       -1093.247          39.000          34.000
+  -5043058.33243  -3875460.63442  24136312.098    24136316.264    24136310.952
+      3045.012        2372.737          46.000          39.000
+  -1791622.86243  -1393609.31942  25107495.419    25107503.234    25107493.758
+      -832.221        -648.484          42.000          35.000
+ 04  2  1  6 49  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12367101.06643  -9219689.57542  22698826.166    22698834.423    22698825.390
+     -1885.915       -1469.544          49.000          44.000
+ -21416246.03443 -16626151.05442  20611842.621    20611847.788    20611841.291
+     -1029.566        -802.259          55.000          49.000
+  -1788568.60143  -1206339.38242  24985226.308    24985244.218    24985223.379
+     -3651.729       -2845.503          41.000          34.000
+  -1215150.65943   -932199.43242  24776885.207    24776900.737    24776884.054
+     -1861.079       -1450.191          42.000          34.000
+ -20473441.23643 -15942136.80942  21433096.857    21433102.442    21433095.452
+       289.930         225.919          54.000          48.000
+ -23281639.98144 -18100638.81042  20908171.669    20908176.609    20908170.914
+       -65.173         -50.784          57.000          50.000
+ -14685992.77243 -11388608.31342  22049501.475    22049507.296    22049499.952
+      3137.361        2444.697          53.000          46.000
+  -7523221.13543  -5839496.80642  23687391.838    23687401.120    23687392.139
+       559.579         436.036          47.000          41.000
+    377203.96053    314690.23852  25087929.144    25087938.403    25087928.972
+     -1410.035       -1098.728          37.000          34.000
+  -5134261.17843  -3946527.66542  24118955.369    24118962.330    24118955.097
+      3035.246        2365.127          46.000          40.000
+  -1766463.17043  -1374004.35142  25112284.946    25112291.974    25112284.869
+      -845.290        -658.667          43.000          36.000
+ 04  2  1  6 49 30.0000000  0 10G 1G27G20G 4G 8G13G28G31G10G 3
+ -12310379.72643  -9175491.19442  22709621.039    22709627.875    22709619.284
+     -1895.421       -1476.951          51.000          44.000
+ -21385287.49843 -16602027.52542  20617733.390    20617738.649    20617732.565
+     -1034.523        -806.122          55.000          49.000
+  -1679039.53343  -1120993.17442  25006070.800    25006087.545    25006069.299
+     -3650.223       -2844.330          39.000          34.000
+  -1159353.01443   -888721.04142  24787500.130    24787514.097    24787499.467
+     -1859.736       -1449.145          41.000          34.000
+ -20482050.34643 -15948845.19542  21431458.763    21431464.075    21431457.428
+       283.944         221.255          54.000          48.000
+ -23279525.91544 -18098991.49042  20908574.237    20908578.456    20908573.292
+       -75.929         -59.165          57.000          50.000
+ -14779946.04243 -11461818.54942  22031622.650    22031628.773    22031621.288
+      3126.038        2435.874          53.000          46.000
+  -7539832.22943  -5852440.49342  23684232.957    23684240.417    23684231.205
+       547.661         426.749          48.000          42.000
+  -5225156.86343  -4017355.35342  24101657.830    24101667.036    24101657.497
+      3024.404        2356.678          46.000          40.000
+  -1740893.76943  -1354080.14642  25117149.234    25117157.706    25117147.450
+      -859.552        -669.781          43.000          35.000
+ 04  2  1  6 50  0.0000000  0 10G 1G27G20G 4G 8G13G28G31G10G 3
+ -12253384.20043  -9131079.15542  22720465.104    22720474.801    22720464.529
+     -1903.804       -1483.484          49.000          43.000
+ -21354186.95943 -16577793.33342  20623651.588    20623657.101    20623650.578
+     -1038.835        -809.482          55.000          49.000
+  -1569549.39643  -1035677.34942  25026905.090    25026924.578    25026900.457
+     -3648.523       -2843.005          38.000          33.000
+                   -845274.66342  24798110.612    24798124.178
+     -1857.306       -1447.251          41.000          32.000
+ -20490487.02243 -15955419.21642  21429853.410    21429858.908    21429852.225
+       278.524         217.032          55.000          48.000
+ -23277094.18544 -18097096.64142  20909036.640    20909041.469    20909035.732
+       -86.092         -67.085          57.000          50.000
+ -14873566.95043 -11534769.81142  22013807.294    22013813.037    22013806.012
+      3115.251        2427.468          53.000          46.000
+  -7556099.22243  -5865116.01842  23681136.341    23681143.646    23681134.628
+       536.732         418.233          48.000          42.000
+  -5315742.20743  -4087941.23242  24084420.556    24084428.082    24084420.654
+      3014.566        2349.012          47.000          39.000
+  -1714914.50243  -1333836.48142  25122093.281    25122102.525    25122090.504
+      -872.569        -679.924          44.000          35.000
+ 04  2  1  6 50 30.0000000  0 10G 1G27G20G 4G 8G13G28G31G10G 3
+ -12196109.30343  -9086449.46342  22731366.002    22731373.521    22731365.329
+     -1914.444       -1491.774          50.000          44.000
+ -21322940.53743 -16553445.47542  20629597.743    20629603.087    20629596.446
+     -1044.659        -814.020          55.000          49.000
+  -1460095.77243   -950390.06242  25047734.723    25047756.806    25047734.493
+     -3648.211       -2842.762          37.000          32.000
+                                  24808714.299
+     -1857.042       -1447.046          41.000
+ -20498747.59443 -15961856.00742  21428281.393    21428286.693    21428280.308
+       271.630         211.660          54.000          48.000
+ -23274338.47844 -18094949.34042  20909561.402    20909565.650    20909560.554
+       -98.022         -76.381          57.000          50.000
+ -14966848.56743 -11607456.69642  21996055.974    21996061.476    21996054.931
+      3103.092        2417.994          53.000          46.000
+  -7572015.55643  -5877518.30842  23678107.233    23678115.721    23678106.159
+       523.969         408.288          48.000          42.000
+  -5406009.76643  -4158279.53442  24067241.519    24067251.663    24067239.722
+      3002.630        2339.712          46.000          39.000
+  -1688520.23943  -1313269.53742  25127116.834    25127125.061    25127116.844
+      -887.413        -691.491          45.000          35.000
+ 04  2  1  6 51  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12138562.44343  -9041607.84242  22742315.850    22742324.345    22742313.912
+     -1923.758       -1499.032          50.000          44.000
+ -21291557.04843 -16528990.80242  20635570.396    20635575.006    20635568.573
+     -1049.225        -817.578          55.000          49.000
+  -1350688.95143   -865139.22842  25068555.056    25068576.308    25068557.016
+     -3646.556       -2841.472          38.000          32.000
+                                  24819308.969
+     -1855.205       -1445.614          42.000
+ -20506841.28843 -15968162.76842  21426741.781    21426746.187    21426739.658
+       266.197         207.426          55.000          48.000
+ -23271264.97044 -18092554.40042  20910145.943    20910150.427    20910145.343
+      -108.654         -84.665          57.000          50.000
+ -15059796.04843 -11679883.20542  21978368.267    21978374.512    21978367.197
+      3091.661        2409.086          53.000          46.000
+  -7587587.06743  -5889651.88542  23675145.503    23675151.735    23675144.533
+       512.452         399.313          49.000          42.000
+    -35751.89653    -33220.09052  25120453.981    25120462.419    25120451.628
+     -1439.006       -1121.303          41.000          37.000
+  -5495964.14143  -4228373.71642  24050125.847    24050132.567    24050123.846
+      2992.367        2331.715          47.000          40.000
+  -1661718.77743  -1292385.25642  25132216.592    25132226.080    25132215.417
+      -901.406        -702.394          44.000          36.000
+ 04  2  1  6 51 30.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12080741.81243  -8996552.87642  22753319.367    22753327.023    22753318.073
+     -1932.372       -1505.744          51.000          44.000
+ -21260035.91243 -16504428.87842  20641568.226    20641573.128    20641566.939
+     -1053.465        -820.882          55.000          49.000
+  -1241329.13743   -779925.07442  25089366.527    25089389.107    25089366.325
+     -3645.359       -2840.539          37.000          32.000
+   -936591.29343   -715141.35342  24829894.646    24829903.390    24829894.713
+     -1853.037       -1443.925          43.000          33.000
+ -20514767.43243 -15974338.97642  21425232.947    21425237.947    21425231.325
+       260.948         203.336          55.000          48.000
+ -23267870.16143 -18089909.09942  20910791.624    20910796.497    20910791.164
+      -118.943         -92.683          56.000          50.000
+ -15152404.88943 -11752045.83742  21960745.470    21960751.549    21960744.386
+      3080.874        2400.681          53.000          46.000
+  -7602810.25043  -5901514.04542  23672247.033    23672256.098    23672246.329
+       501.190         390.538          48.000          42.000
+      7494.84443       478.56842  25128686.626    25128692.101    25128683.307
+     -1445.215       -1126.141          42.000          36.000
+  -5585600.91543  -4298220.49142  24033067.395    24033073.895    24033066.449
+      2982.013        2323.646          46.000          39.000
+  -1634507.96543  -1271181.98442  25137394.709    25137399.371    25137396.417
+      -914.596        -712.672          44.000          34.000
+ 04  2  1  6 52  0.0000000  0 11G 1G27G20G 4G 8G13G28G31G24G10G 3
+ -12022644.75143  -8951282.52542  22764374.144    22764382.361    22764372.092
+     -1940.630       -1512.179          50.000          43.000
+ -21228375.69443 -16479758.58842  20647592.414    20647598.324    20647591.295
+     -1057.183        -823.779          55.000          49.000
+  -1132016.45043   -694747.64442  25110170.504    25110195.780    25110167.157
+     -3642.754       -2838.510          38.000          32.000
+   -881022.59543   -671841.31642  24840470.149    24840479.859    24840466.739
+     -1851.270       -1442.548          43.000          34.000
+ -20522524.69243 -15980383.57942  21423756.490    21423762.390    21423755.598
+       256.263         199.685          54.000          48.000
+ -23264149.90444 -18087010.20142  20911499.987    20911504.734    20911499.378
+      -128.956        -100.485          57.000          50.000
+ -15244670.39043 -11823940.93842  21943187.873    21943194.128    21943186.624
+      3070.290        2392.434          53.000          46.000
+  -7617680.90043  -5913101.51242  23669418.975    23669425.448    23669416.315
+       490.140         381.927          48.000          42.000
+     50945.40243     34336.00942  25136951.591    25136961.351    25136949.137
+     -1450.922       -1130.588          38.000          35.000
+  -5674915.00043  -4367815.78942  24016072.245    24016079.074    24016069.243
+      2972.193        2315.994          47.000          40.000
+  -1606885.48943  -1249657.93442  25142651.085    25142656.562    25142648.071
+      -927.050        -722.377          44.000          35.000
+ 04  2  1  6 52 30.0000000  0 10G 1G27G20G 4G 8G13G28G31G10G 3
+ -11964270.84643  -8905796.48242  22775483.011    22775489.967    22775482.572
+     -1949.734       -1519.273          51.000          44.000
+ -21196577.40143 -16454980.70242  20653643.739    20653649.102    20653642.599
+     -1061.568        -827.196          55.000          49.000
+                  -3064808.66952  25130963.923    25130990.142
+     -3639.871       -2836.263          38.000          31.000
+   -825506.56143   -628582.29042  24851031.992    24851042.146    24851031.516
+     -1849.330       -1441.036          42.000          34.000
+ -20530114.34343 -15986297.58442  21422312.350    21422317.329    21422311.270
+       250.898         195.505          54.000          48.000
+ -23260102.84744 -18083856.65242  20912270.135    20912274.709    20912269.502
+      -139.711        -108.866          57.000          50.000
+ -15336589.92843 -11895566.44742  21925696.894    21925702.222    21925695.161
+      3058.827        2383.502          53.000          46.000
+  -7632197.23543  -5924412.85742  23666655.733    23666663.252    23666654.610
+       478.592         372.929          47.000          42.000
+  -5763903.46143  -4437157.37442  23999139.020    23999145.268    23999137.644
+      2961.388        2307.575          47.000          40.000
+  -1578851.36043  -1227813.11542  25147985.151    25147993.976    25147983.222
+      -940.853        -733.132          43.000          36.000
+ 04  2  1  6 53  0.0000000  0  9G 1G27G 4G 8G13G28G31G10G 3
+ -11905621.44943  -8860095.73942  22786644.503    22786651.365    22786642.295
+     -1959.457       -1526.850          51.000          44.000
+ -21164643.47943 -16430097.13142  20659720.157    20659726.387    20659719.271
+     -1066.537        -831.068          55.000          49.000
+   -770047.05343   -585367.26942  24861587.650    24861600.011    24861587.070
+     -1847.656       -1439.732          41.000          34.000
+ -20537539.12043 -15992083.11242  21420899.826    21420904.234    21420898.201
+       244.965         190.882          54.000          48.000
+ -23255728.64244 -18080448.18842  20913102.567    20913107.076    20913101.809
+      -151.144        -117.774          57.000          50.000
+ -15428162.45543 -11966921.57742  21908270.651    21908275.785    21908269.324
+      3046.842        2374.163          53.000          46.000
+  -7646358.87443  -5935447.83442  23663960.319    23663968.391    23663959.179
+       466.162         363.243          47.000          42.000
+  -5852565.18343  -4506244.31342  23982266.196    23982272.235    23982264.752
+      2950.247        2298.894          47.000          40.000
+  -1550407.04043  -1205648.68042  25153399.209    25153403.253    25153395.863
+      -954.892        -744.072          43.000          34.000
+ 04  2  1  6 53 30.0000000  0  9G 1G27G 4G 8G13G28G31G10G 3
+ -11846694.15543  -8814178.47042  22797857.021    22797867.106    22797855.391
+     -1968.628       -1533.996          51.000          44.000
+ -21132572.84643 -16405107.04042  20665824.072    20665828.982    20665822.717
+     -1070.927        -834.488          55.000          49.000
+   -714644.50143   -542196.68342  24872128.850    24872143.632    24872125.759
+     -1845.163       -1437.789          38.000          33.000
+ -20544797.90943 -15997739.30142  21419518.466    21419523.770    21419516.798
+       239.633         186.727          54.000          48.000
+ -23251023.89444 -18076782.16642  20913997.981    20914002.410    20913996.900
+      -161.956        -126.199          57.000          50.000
+ -15519383.56343 -12038002.86942  21890911.237    21890917.343    21890909.919
+      3035.126        2365.033          53.000          46.000
+  -7660162.06543  -5946203.51442  23661334.100    23661342.115    23661332.250
+       454.407         354.083          47.000          41.000
+  -5940895.25543  -4575072.86542  23965459.221    23965464.690    23965458.207
+      2939.330        2290.387          49.000          41.000
+  -1521550.21543  -1183162.83942  25158887.135    25158895.104    25158886.327
+      -969.056        -755.108          41.000          33.000
+ 04  2  1  6 54  0.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -11787491.08043  -8768046.29042  22809124.015    22809131.452    22809122.651
+     -1978.052       -1541.339          51.000          44.000
+ -21100368.60943 -16380012.84242  20671952.250    20671957.131    20671950.683
+     -1075.788        -838.276          55.000          49.000
+   -659303.70343   -499074.28642  24882658.497    24882670.248    24882658.406
+     -1843.592       -1436.565          40.000          34.000
+ -20551894.29543 -16003268.94042  21418167.613    21418173.178    21418166.054
+       233.876         182.241          54.000          48.000
+ -23245989.20644 -18072859.04142  20914955.556    20914960.494    20914955.072
+      -173.404        -135.120          57.000          50.000
+ -15610252.99543 -12108810.12342  21873620.079    21873625.166    21873618.397
+      3023.049        2355.623          53.000          46.000
+  -7673607.28343  -5956680.22642  23658774.387    23658782.786    23658773.097
+       442.115         344.505          47.000          41.000
+      9728.03053      1357.84152  25170400.274    25170411.865    25170401.284
+     -1477.390       -1151.213          40.000          35.000
+  -6028893.05043  -4643642.51042  23948713.016    23948719.397    23948712.233
+      2927.695        2281.321          48.000          41.000
+  -1492283.27043  -1160357.31442  25164458.509    25164466.926    25164456.585
+      -983.001        -765.975          40.000          34.000
+ 04  2  1  6 54 30.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -11728013.39143  -8721700.10942  22820441.756    22820449.395    22820440.717
+     -1987.080       -1548.374          51.000          43.000
+ -21068033.20643 -16354816.43842  20678105.210    20678110.083    20678104.002
+     -1080.002        -841.560          55.000          49.000
+   -604028.77143   -456003.13742  24893178.091    24893190.074    24893177.511
+     -1841.683       -1435.078          40.000          34.000
+ -20558830.76943 -16008673.98242  21416847.661    21416853.191    21416846.899
+       228.609         178.137          55.000          48.000
+ -23240624.25644 -18068678.57042  20915976.506    20915981.273    20915976.081
+      -184.284        -143.598          57.000          50.000
+ -15700769.48643 -12179342.36442  21856395.101    21856400.992    21856393.484
+      3011.309        2346.474          54.000          46.000
+  -7686694.13043  -5966877.70842  23656284.318    23656291.208    23656282.744
+       430.438         335.406          47.000          41.000
+     54152.38643     35974.01642  25178854.263    25178868.728    25178855.574
+     -1484.185       -1156.508          40.000          37.000
+  -6116557.24343  -4711952.18342  23932032.518    23932036.521    23932029.398
+      2916.511        2272.606          48.000          41.000
+  -1462607.32043  -1137233.12342  25170106.141    25170116.238    25170104.999
+      -995.915        -776.038          42.000          35.000
+ 04  2  1  6 55  0.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -11668259.35143  -8675138.60542  22831812.470    22831819.820    22831811.531
+     -1996.409       -1555.643          50.000          43.000
+ -21035566.30943 -16329517.57342  20684282.887    20684288.792    20684281.647
+     -1084.133        -844.779          55.000          49.000
+   -548820.60943   -412984.01042  24903684.738    24903696.906    24903683.853
+     -1838.659       -1432.721          40.000          34.000
+ -20565607.18143 -16013954.28942  21415558.672    21415563.903    21415557.109
+       223.627         174.255          55.000          48.000
+ -23234926.08244 -18064238.45042  20917061.141    20917065.754    20917060.395
+      -195.148        -152.063          57.000          50.000
+ -15790929.33243 -12249596.70342  21839237.715    21839243.765    21839236.959
+      2999.852        2337.547          54.000          46.000
+  -7699419.47943  -5976793.52842  23653863.788    23653870.917    23653862.405
+       418.432         326.051          48.000          42.000
+     98762.95043     70735.31042  25187344.140    25187354.349    25187343.324
+     -1489.905       -1160.965          42.000          38.000
+  -6203883.80043  -4779998.74642  23915413.408    23915419.039    23915410.389
+      2905.628        2264.126          47.000          40.000
+  -1432520.94443  -1113789.23642  25175830.279    25175838.861    25175828.835
+     -1009.860        -786.904          41.000          35.000
+ 04  2  1  6 55 30.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -11608227.52743  -8628360.65442  22843236.024    22843243.780    22843234.966
+     -2005.118       -1562.430          49.000          43.000
+ -21002967.55743 -16304115.96642  20690486.092    20690492.363    20690485.237
+     -1088.315        -848.038          55.000          49.000
+   -493680.47243   -370017.87442  24914176.410    24914191.984    24914176.715
+     -1836.560       -1431.086          40.000          34.000
+ -20572223.31943 -16019109.71142  21414299.972    21414305.140    21414298.002
+       218.416         170.194          55.000          49.000
+ -23228891.92344 -18059536.52442  20918209.220    20918214.186    20918208.667
+      -206.233        -160.701          57.000          50.000
+ -15880728.73143 -12319570.17142  21822149.994    21822154.893    21822148.331
+      2987.805        2328.160          53.000          46.000
+  -7711780.47143  -5986425.39242  23651510.472    23651519.198    23651510.124
+       406.299         316.597          48.000          42.000
+    143558.52343    105640.80142  25195870.001    25195879.605    25195868.020
+     -1495.646       -1165.438          44.000          38.000
+  -6290868.70843  -4847779.12242  23898860.606    23898867.367    23898857.584
+      2894.181        2255.206          47.000          40.000
+  -1402023.25543  -1090024.76542  25181634.667    25181642.051    25181632.346
+     -1023.389        -797.446          43.000          36.000
+ 04  2  1  6 56  0.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -11547919.52843  -8581367.47742  22854712.987    22854720.320    22854710.933
+     -2014.709       -1569.903          51.000          43.000
+ -20970239.65843 -16278613.72142  20696714.379    20696719.703    20696713.161
+     -1092.966        -851.662          55.000          49.000
+   -438612.40043   -327107.95842  24924660.168    24924669.891    24924657.351
+     -1833.801       -1428.936          39.000          35.000
+ -20578682.06643 -16024142.49442  21413070.328    21413075.868    21413068.865
+       212.846         165.854          55.000          48.000
+ -23222522.03444 -18054572.99342  20919421.609    20919426.222    20919420.928
+      -217.745        -169.671          57.000          50.000
+ -15970167.05643 -12389262.28142  21805129.904    21805135.170    21805129.161
+      2975.371        2318.471          53.000          47.000
+  -7723777.03043  -5995773.28842  23649227.505    23649236.137    23649225.803
+       393.937         306.964          48.000          41.000
+    188534.84243    140687.12142  25204427.873    25204438.374    25204426.881
+     -1501.866       -1170.285          43.000          37.000
+  -6377510.68343  -4915292.25042  23882372.691    23882378.930    23882371.645
+      2882.651        2246.222          48.000          41.000
+  -1371116.08543  -1065941.21242  25187515.985    25187525.052    25187514.927
+     -1037.350        -808.325          43.000          37.000
+ 04  2  1  6 56 30.0000000  0  9G 1G27G 8G13G28G31G24G10G 3
+ -11487335.39043  -8534159.12442  22866241.359    22866249.386    22866239.878
+     -2024.436       -1577.482          50.000          43.000
+ -20937383.59343 -16253011.60542  20702967.311    20702972.196    20702966.019
+     -1097.604        -855.276          55.000          49.000
+ -20584984.73643 -16029053.65142  21411871.594    21411875.944    21411869.869
+       207.296         161.529          55.000          48.000
+ -23215814.85344 -18049346.63542  20920698.122    20920702.431    20920697.222
+      -229.518        -178.845          57.000          50.000
+ -16059241.97443 -12458671.22342  21788179.796    21788185.000    21788178.567
+      2962.873        2308.732          54.000          47.000
+  -7735407.68643  -6004836.06042  23647015.418    23647022.743    23647012.629
+       381.219         297.054          48.000          42.000
+    233688.45243    175871.64742  25213020.921    25213032.336    25213020.320
+     -1508.448       -1175.414          45.000          38.000
+  -6463807.07643  -4982536.11042  23865951.536    23865955.831    23865949.174
+      2870.378        2236.658          47.000          41.000
+  -1339799.70043  -1041538.78942  25193473.500    25193483.570    25193472.422
+     -1050.365        -818.466          40.000          36.000
+ 04  2  1  6 57  0.0000000  0  9G 1G27G 8G13G28G31G24G10G 3
+ -11426474.55643  -8486735.19442  22877822.447    22877830.629    22877820.277
+     -2032.731       -1583.946          50.000          43.000
+ -20904400.04443 -16227310.15642  20709243.457    20709248.685    20709242.430
+     -1100.957        -857.888          55.000          49.000
+ -20591132.07143 -16033843.78142  21410701.038    21410706.636    21410700.069
+       203.012         158.191          55.000          48.000
+ -23208768.66243 -18043856.11342  20922038.388    20922043.156    20922037.998
+      -239.907        -186.940          56.000          50.000
+ -16147950.72143 -12527794.83642  21771298.509    21771304.026    21771297.671
+      2951.334        2299.741          54.000          47.000
+  -7746670.43943  -6013612.15942  23644871.633    23644879.460    23644869.550
+       369.817         288.169          48.000          42.000
+    279017.25443    211192.64142  25221646.398    25221656.670    25221645.055
+     -1513.149       -1179.077          43.000          37.000
+  -6549755.04543  -5049508.46942  23849595.444    23849602.330    23849593.006
+      2859.762        2228.386          48.000          41.000
+  -1308073.64143  -1016817.17642  25199512.210    25199518.198    25199511.298
+     -1063.724        -828.876          41.000          35.000
+ 04  2  1  6 57 30.0000000  0  9G 1G27G 8G13G28G31G24G10G 3
+ -11365337.99243  -8439096.40442  22889456.558    22889464.755    22889455.788
+     -2042.501       -1591.559          50.000          43.000
+ -20871291.05543 -16201510.96742  20715543.860    20715549.731    20715542.872
+     -1105.825        -861.682          55.000          49.000
+ -20597126.50343 -16038514.76042  21409560.555    21409565.234    21409558.941
+       197.080         153.569          54.000          48.000
+ -23201382.82244 -18038100.93142  20923444.243    20923448.722    20923443.237
+      -251.993        -196.358          57.000          50.000
+ -16236292.02243 -12596632.13842  21754488.046    21754493.423    21754486.661
+      2938.456        2289.706          54.000          47.000
+  -7757564.66343  -6022101.09742  23642798.326    23642805.369    23642797.815
+       356.885         278.092          48.000          42.000
+    324517.46643    246647.21842  25230308.001    25230315.176    25230304.373
+     -1519.559       -1184.072          42.000          37.000
+  -6635352.66543  -5116207.85042  23833308.869    23833313.369    23833305.138
+      2847.175        2218.578          49.000          41.000
+  -1275939.13643   -991777.17542  25205629.201    25205635.669    25205626.220
+     -1077.915        -839.934          43.000          35.000
+ 04  2  1  6 58  0.0000000  0  9G 1G27G 8G13G28G31G24G10G 3
+ -11303923.58543  -8391241.08142  22901143.630    22901152.364    22901142.652
+     -2051.819       -1598.820          51.000          44.000
+ -20838055.35643 -16175613.03542  20721868.687    20721873.787    20721867.474
+     -1109.946        -864.893          55.000          49.000
+ -20602967.09843 -16043065.86842  21408448.514    21408454.241    21408447.314
+       192.141         149.720          54.000          48.000
+ -23193653.90244 -18032078.41342  20924915.197    20924919.551    20924914.545
+      -263.379        -205.230          57.000          50.000
+ -16324261.50843 -12665179.70242  21737747.458    21737753.846    21737746.535
+      2926.119        2280.093          53.000          47.000
+  -7768086.66443  -6030299.97342  23640794.542    23640803.039    23640793.966
+       344.392         268.357          47.000          41.000
+    370188.40743    282234.78742  25238995.866    25239007.558    25238996.095
+     -1525.089       -1188.381          41.000          36.000
+  -6720595.38943  -5182630.69042  23817085.533    23817093.105    23817084.068
+      2835.413        2209.413          48.000          41.000
+  -1243394.30343   -966417.54042  25211821.182    25211830.318    25211820.616
+     -1091.283        -850.350          42.000          35.000
+ 04  2  1  6 58 30.0000000  0  9G 1G27G 8G13G28G31G24G10G 3
+ -11242232.78043  -8343170.40042  22912883.763    22912891.791    22912881.583
+     -2061.016       -1605.986          51.000          44.000
+ -20804695.51443 -16149618.36542  20728216.722    20728221.918    20728215.263
+     -1114.031        -868.076          55.000          49.000
+ -20608656.55743 -16047499.20342  21407366.172    21407371.357    21407364.953
+       187.252         145.911          55.000          48.000
+ -23185582.03744 -18025788.65542  20926451.180    20926455.720    20926450.609
+      -274.714        -214.063          57.000          50.000
+ -16411858.28643 -12733436.85742  21721078.196    21721084.407    21721076.825
+      2913.776        2270.475          53.000          47.000
+  -7778236.56143  -6038208.90942  23638864.276    23638871.873    23638863.340
+       332.257         258.902          48.000          41.000
+    416025.94043    317952.15942  25247718.358    25247731.293    25247716.799
+     -1530.562       -1192.646          39.000          35.000
+  -6805481.85943  -5248775.90142  23800931.920    23800939.294    23800929.770
+      2823.534        2200.156          47.000          41.000
+  -1210440.77143   -940739.46642  25218090.958    25218097.646    25218089.406
+     -1105.237        -861.224          39.000          35.000
+ 04  2  1  6 59  0.0000000  0  9G 1G27G 8G13G28G31G24G10G 3
+ -11180266.25343  -8294884.88642  22924675.469    22924684.036    22924673.632
+     -2070.464       -1613.348          50.000          43.000
+ -20771213.26843 -16123528.31342  20734588.487    20734593.154    20734587.100
+     -1118.330        -871.426          55.000          49.000
+ -20614196.85143 -16051816.30242  21406312.466    21406317.036    21406310.862
+       182.005         141.822          55.000          48.000
+ -23177166.41844 -18019231.04142  20928052.620    20928057.100    20928051.979
+      -286.455        -223.212          57.000          50.000
+ -16499080.99643 -12801402.52542  21704480.411    21704486.348    21704479.308
+      2900.923        2260.459          53.000          47.000
+  -7788013.52743  -6045827.27942  23637003.064    23637011.550    23637001.834
+       319.388         248.874          47.000          41.000
+    462026.17043    353796.40942  25256472.150    25256482.656    25256471.305
+     -1536.679       -1197.412          40.000          35.000
+  -6890010.64643  -5314642.40542  23784846.951    23784852.366    23784845.544
+      2811.584        2190.845          48.000          41.000
+  -1177079.70743   -914743.76642  25224441.089    25224446.111    25224439.874
+     -1119.020        -871.964          43.000          36.000
+ 04  2  1  6 59 30.0000000  0  9G 1G27G 8G13G28G31G24G10G 3
+ -11118024.80543  -8246385.16042  22936518.960    22936527.255    22936518.781
+     -2079.305       -1620.238          50.000          44.000
+ -20737610.57543 -16097344.39942  20740982.959    20740988.018    20740981.491
+     -1122.214        -874.452          55.000          49.000
+ -20619590.08043 -16056018.81242  21405286.131    21405290.443    21405284.236
+       177.099         137.999          55.000          48.000
+ -23168406.54944 -18012405.17842  20929719.570    20929724.000    20929718.783
+      -297.856        -232.095          57.000          50.000
+ -16585927.94043 -12869075.38642  21687954.057    21687959.773    21687952.988
+      2888.414        2250.712          53.000          47.000
+  -7797417.00243  -6053154.57542  23635214.570    23635221.464    23635212.979
+       307.013         239.231          47.000          41.000
+    508185.74443    389764.71542  25265255.491    25265266.594    25265255.586
+     -1541.610       -1201.254          39.000          35.000
+  -6974179.89643  -5380228.75942  23768830.459    23768836.380    23768827.760
+      2799.507        2181.434          49.000          42.000
+  -1143312.26743   -888431.46642  25230865.087    25230872.618    25230863.464
+     -1132.615        -882.557          42.000          36.000
+ 04  2  1  7  0  0.0000000  0  9G 1G27G 8G13G28G31G24G10G 3
+ -11055504.56943  -8197668.18242  22948417.049    22948424.829    22948414.732
+     -2087.751       -1626.819          51.000          44.000
+ -20703884.37443 -16071064.25842  20747400.261    20747405.591    20747399.299
+     -1125.352        -876.898          55.000          48.000
+ -20624833.64943 -16060104.69642  21404288.012    21404293.468    21404286.478
+       173.207         134.966          55.000          48.000
+ -23159297.18244 -18005306.97542  20931452.899    20931457.278    20931452.228
+      -308.676        -240.527          57.000          50.000
+ -16672393.24343 -12936450.88242  21671501.110    21671505.761    21671499.735
+      2876.759        2241.630          54.000          47.000
+  -7806441.41043  -6060186.53742  23633495.690    23633503.793    23633494.510
+       295.226         230.046          47.000          41.000
+    554505.71443    425857.92842  25274071.067    25274082.433    25274070.013
+     -1545.677       -1204.424          39.000          35.000
+  -7057982.70143  -5445529.57642  23752882.394    23752888.968    23752880.600
+      2788.185        2172.612          48.000          41.000
+  -1109135.07643   -861799.88542  25237368.184    25237376.592    25237368.919
+     -1145.554        -892.639          41.000          35.000
+ 04  2  1  7  0 30.0000000  0  9G 1G27G 8G13G28G31G24G10G 3
+ -10992708.46543  -8148736.21442  22960365.780    22960374.644    22960364.982
+     -2097.989       -1634.797          50.000          43.000
+ -20670038.49943 -16044690.86242  20753840.970    20753846.315    20753840.115
+     -1130.105        -880.601          55.000          48.000
+ -20629931.62543 -16064077.13442  21403317.819    21403322.842    21403316.433
+       167.438         130.471          55.000          48.000
+ -23149839.86744 -17997937.63942  20933252.465    20933257.227    20933252.055
+      -321.139        -250.238          57.000          50.000
+ -16758477.36943 -13003529.34742  21655118.889    21655124.667    21655117.343
+      2862.832        2230.778          54.000          47.000
+  -7815088.28343  -6066924.26442  23631851.412    23631858.980    23631849.671
+       281.871         219.640          47.000          41.000
+    600980.31643    462071.75342  25282915.022    25282923.286    25282914.783
+     -1551.918       -1209.287          40.000          35.000
+  -7141419.57643  -5510545.25242  23737003.841    23737011.552    23737002.223
+      2775.038        2162.367          47.000          42.000
+  -1074550.99443   -834851.22242  25243948.243    25243957.326    25243948.131
+     -1159.775        -903.721          40.000          34.000
+ 04  2  1  7  1  0.0000000  0  9G 1G27G 8G13G28G31G24G10G 3
+ -10929635.53943  -8099588.57842  22972367.932    22972377.694    22972367.328
+     -2107.177       -1641.956          50.000          43.000
+ -20636072.95643 -16018224.21542  20760304.494    20760309.766    20760303.594
+     -1134.173        -883.771          55.000          48.000
+ -20634884.03743 -16067936.15142  21402375.568    21402380.766    21402374.060
+       162.611         126.710          55.000          48.000
+ -23140032.25644 -17990295.34142  20935118.792    20935123.472    20935118.184
+      -332.989        -259.472          57.000          50.000
+ -16844177.00843 -13070308.22142  21638811.372    21638815.640    21638809.552
+      2850.042        2220.812          54.000          47.000
+  -7823355.15643  -6073365.92942  23630277.860    23630283.654    23630277.313
+       269.121         209.705          47.000          42.000
+    647607.79643    498404.66242  25291789.232    25291799.698    25291786.858
+     -1556.529       -1212.880          42.000          36.000
+  -7224486.96143  -5575273.00642  23721195.578    23721205.569    23721195.695
+      2762.605        2152.679          46.000          41.000
+  -1039559.31643   -807584.96042  25250605.388    25250617.726    25250603.730
+     -1172.973        -914.005          39.000          33.000
+ 04  2  1  7  1 30.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10866291.97243  -8050230.05042  22984422.417    22984431.248    22984421.506
+     -2116.430       -1649.166          50.000          43.000
+ -20601994.92243 -15991669.91142  20766789.032    20766794.720    20766787.851
+     -1138.331        -887.011          55.000          48.000
+                                  25038882.387
+     -1802.200       -1404.312          42.000
+ -20639698.71743 -16071687.84142  21401459.311    21401464.539    21401458.053
+       157.739         122.914          55.000          48.000
+ -23129879.13144 -17982383.81942  20937051.099    20937055.440    20937050.265
+      -344.677        -268.579          57.000          50.000
+ -16929496.36543 -13136790.76142  21622575.349    21622580.322    21622573.933
+      2837.193        2210.800          54.000          47.000
+  -7831246.88043  -6079515.24342  23628775.870    23628784.682    23628775.546
+       256.240         199.668          48.000          42.000
+    694379.25343    534849.85042  25300690.025    25300698.188    25300687.154
+     -1561.987       -1217.133          42.000          36.000
+  -7307188.63443  -5639715.80642  23705460.903    23705467.261    23705458.130
+      2750.198        2143.011          47.000          41.000
+  -1004166.36543   -780006.00842  25257343.749    25257348.175    25257343.826
+     -1186.903        -924.859          41.000          33.000
+ 04  2  1  7  2  0.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10802667.36643  -8000652.51342  22996529.549    22996539.245    22996528.489
+     -2125.947       -1656.582          50.000          43.000
+ -20567794.86243 -15965020.52242  20773297.054    20773303.221    20773296.077
+     -1142.416        -890.194          55.000          48.000
+                                  25049159.497
+     -1799.105       -1401.900          42.000
+ -20644366.23143 -16075324.84942  21400571.117    21400575.627    21400569.760
+       152.809         119.072          55.000          48.000
+ -23119368.61144 -17974193.81242  20939051.185    20939055.764    20939050.489
+      -356.689        -277.939          57.000          50.000
+ -17014422.80643 -13202967.13842  21606413.407    21606419.750    21606412.681
+      2823.941        2200.474          54.000          47.000
+  -7838751.59943  -6085363.04042  23627348.896    23627356.279    23627346.880
+       243.262         189.555          48.000          42.000
+    741302.26243    571412.97942  25309616.213    25309630.326    25309615.674
+     -1566.844       -1220.917          40.000          36.000
+  -7389511.63943  -5703863.52142  23689793.799    23689800.851    23689793.193
+      2737.397        2133.037          47.000          41.000
+   -968362.41143   -752106.71342  25264156.133    25264165.241    25264154.654
+     -1200.881        -935.751          41.000          34.000
+ 04  2  1  7  2 30.0000000  0  9G 1G27G 8G13G28G31G24G10G 3
+ -10738766.99343  -7950860.10742  23008689.293    23008699.415    23008689.202
+     -2134.958       -1663.604          49.000          43.000
+ -20533478.78443 -15938280.73442  20779827.672    20779832.754    20779826.418
+     -1146.106        -893.070          55.000          48.000
+ -20648892.87343 -16078852.08642  21399709.579    21399715.053    21399708.122
+       148.299         115.558          55.000          48.000
+ -23108504.60744 -17965728.35842  20941118.439    20941123.097    20941117.958
+      -368.300        -286.987          57.000          50.000
+ -17098959.15743 -13268839.54642  21590327.094    21590332.676    21590325.974
+      2811.196        2190.542          54.000          47.000
+  -7845873.01843  -6090912.10842  23625992.295    23626000.149    23625990.907
+       230.631         179.712          48.000          42.000
+    788368.97743    608088.14242  25318572.815    25318583.313    25318574.010
+     -1571.458       -1224.513          41.000          36.000
+  -7471458.23543  -5767717.93942  23674200.319    23674206.377    23674197.804
+      2724.997        2123.374          47.000          41.000
+   -932152.87443   -723891.41342  25271047.120    25271055.340    25271046.903
+     -1214.082        -946.038          42.000          34.000
+ 04  2  1  7  3  0.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10674594.31643  -7900855.56942  23020901.851    23020910.465    23020899.836
+     -2143.679       -1670.399          49.000          42.000
+ -20499051.33543 -15911454.15342  20786379.173    20786383.993    20786377.774
+     -1149.723        -895.888          55.000          48.000
+                                  25069652.808
+     -1791.489       -1395.965          43.000
+ -20653283.37843 -16082273.24242  21398874.390    21398879.124    21398872.740
+       143.837         112.081          55.000          48.000
+ -23097289.19644 -17956989.09042  20943252.529    20943257.513    20943251.844
+      -379.907        -296.031          57.000          50.000
+ -17183106.70943 -13334408.99542  21574314.604    21574319.949    21574313.348
+      2798.204        2180.419          54.000          47.000
+  -7852613.18243  -6096164.13042  23624710.475    23624717.502    23624709.010
+       218.133         169.974          48.000          42.000
+    835572.92643    644870.26642  25327554.076    25327567.452    25327555.149
+     -1575.909       -1227.981          40.000          35.000
+  -7553029.37643  -5831279.80342  23658676.791    23658685.551    23658675.502
+      2712.527        2113.657          47.000          41.000
+   -895541.53943   -695363.09242  25278013.387    25278018.887    25278012.320
+     -1227.653        -956.613          40.000          33.000
+ 04  2  1  7  3 30.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10610144.13943  -7850634.74442  23033165.225    23033173.997    23033165.180
+     -2153.422       -1677.991          49.000          42.000
+ -20464507.92443 -15884537.22042  20792952.263    20792957.914    20792951.020
+     -1153.467        -898.805          54.000          48.000
+  -1315201.56453  -1129085.88152  25079865.661    25079880.122    25079865.764
+     -1788.006       -1393.251          42.000          38.000
+ -20657533.79643 -16085585.24642  21398064.776    21398070.423    21398063.720
+       139.313         108.556          55.000          48.000
+ -23085715.95543 -17947970.99542  20945454.762    20945459.485    20945453.956
+      -391.825        -305.318          56.000          50.000
+ -17266858.03143 -13399669.69042  21558376.812    21558382.331    21558376.190
+      2785.033        2170.156          54.000          47.000
+  -7858965.57343  -6101113.98342  23623501.609    23623508.610    23623501.026
+       205.170         159.873          48.000          42.000
+    882916.10943    681760.92342  25336566.448    25336575.267    25336565.221
+     -1580.601       -1231.637          39.000          33.000
+  -7634217.23743  -5894543.03842  23643228.509    23643235.368    23643225.093
+      2699.938        2103.848          46.000          41.000
+                   -666518.18642  25285058.424    25285064.796
+     -1240.542        -966.656          39.000          32.000
+ 04  2  1  7  4  0.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10545418.23943  -7800199.05642  23045484.064    23045492.000    23045482.686
+     -2161.910       -1684.605          50.000          43.000
+ -20429851.30443 -15857532.06942  20799547.637    20799552.801    20799546.008
+     -1157.091        -901.629          55.000          48.000
+  -1261635.77743  -1087346.51642  25090061.068    25090074.502    25090059.568
+     -1783.689       -1389.887          43.000          38.000
+ -20661646.89943 -16088790.24742  21397282.914    21397287.868    21397281.023
+       134.937         105.146          55.000          48.000
+ -23073785.06343 -17938674.21342  20947725.027    20947729.976    20947724.436
+      -403.565        -314.466          56.000          50.000
+ -17350212.76443 -13464621.36242  21542514.705    21542520.405    21542513.616
+      2771.997        2159.998          54.000          47.000
+  -7864930.46843  -6105761.89642  23622366.739    23622373.158    23622364.402
+       192.240         149.797          48.000          41.000
+    930394.45543    718756.91442  25345602.394    25345612.246    25345597.556
+     -1584.604       -1234.756          40.000          34.000
+  -7715021.04043  -5957506.96642  23627850.488    23627857.921    23627848.910
+      2687.237        2093.951          47.000          41.000
+   -821101.74343   -637358.08642  25292178.366    25292186.305    25292176.352
+     -1253.737        -976.938          42.000          34.000
+ 04  2  1  7  4 30.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10480419.37743  -7749550.67742  23057852.296    23057861.014    23057852.021
+     -2170.652       -1691.417          49.000          43.000
+ -20395084.99143 -15830441.45142  20806162.530    20806168.594    20806161.837
+     -1160.138        -904.004          54.000          48.000
+  -1208187.75843  -1045698.92142  25100233.220    25100244.593    25100230.846
+     -1778.907       -1386.161          45.000          39.000
+ -20665626.71243 -16091891.38442  21396525.048    21396530.255    21396523.748
+       131.049         102.116          55.000          48.000
+ -23061498.03844 -17929099.92642  20950063.533    20950067.928    20950062.772
+      -415.009        -323.384          57.000          50.000
+ -17433171.30243 -13529264.30242  21526728.736    21526733.870    21526727.351
+      2759.207        2150.031          54.000          47.000
+  -7870509.21643  -6110108.93342  23621304.703    23621313.395    23621303.739
+       180.250         140.455          49.000          42.000
+    978002.76043    755854.19942  25354663.142    25354670.906    25354662.032
+     -1588.807       -1238.031          41.000          33.000
+  -7795441.06443  -6020171.85342  23612549.519    23612554.501    23612547.095
+      2674.692        2084.175          47.000          41.000
+   -783278.39643   -607885.22642  25299374.572    25299387.128    25299371.832
+     -1267.055        -987.315          41.000          34.000
+ 04  2  1  7  5  0.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10415144.22843  -7698687.03042  23070274.266    23070282.382    23070273.212
+     -2180.555       -1699.134          50.000          43.000
+ -20360206.40843 -15803263.34142  20812800.324    20812805.397    20812798.993
+     -1164.601        -907.481          55.000          48.000
+  -1154856.41243  -1004142.21942  25110379.623    25110395.431    25110378.813
+     -1775.755       -1383.705          43.000          38.000
+ -20669470.80543 -16094886.75842  21395794.052    21395798.859    21395792.367
+       125.847          98.063          55.000          48.000
+ -23048850.29343 -17919244.55342  20952470.049    20952475.017    20952469.393
+      -427.684        -333.260          56.000          50.000
+ -17515728.15443 -13593594.24742  21511018.942    21511023.258    21511017.613
+      2745.095        2139.035          55.000          47.000
+  -7875697.07943  -6114151.38742  23620317.405    23620323.951    23620314.522
+       166.433         129.688          48.000          42.000
+   1025741.37343    793052.88742  25363746.298    25363757.599    25363745.098
+     -1593.269       -1241.508          43.000          35.000
+  -7875471.42643  -6082533.11342  23597318.498    23597325.415    23597317.227
+      2660.845        2073.386          47.000          40.000
+                   -578097.29842  25306651.715    25306656.759
+     -1280.646        -997.906          40.000          32.000
+ 04  2  1  7  5 30.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10349593.16743  -7647608.35042  23082747.165    23082755.887    23082746.458
+     -2190.089       -1706.563          49.000          42.000
+ -20325216.70043 -15775998.63942  20819458.500    20819464.206    20819456.930
+     -1168.535        -910.547          55.000          48.000
+  -1101644.40843   -962678.50042  25120506.969    25120521.178    25120505.673
+     -1772.259       -1380.981          43.000          38.000
+ -20673180.75443 -16097777.60142  21395086.721    21395092.560    21395085.798
+       121.109          94.371          54.000          48.000
+ -23035840.47844 -17909107.05342  20954946.165    20954950.872    20954945.442
+      -440.064        -342.907          57.000          50.000
+ -17597881.49043 -13657609.76342  21495385.368    21495390.187    21495384.404
+      2731.356        2128.329          55.000          48.000
+  -7880492.99943  -6117888.39842  23619404.491    23619410.226    23619402.378
+       152.963         119.192          49.000          42.000
+   1073607.07043    830350.65442  25372853.418    25372865.381    25372850.704
+     -1598.222       -1245.368          40.000          34.000
+  -7955109.75143  -6144588.89942  23582163.894    23582169.558    23582161.516
+      2647.617        2063.078          47.000          41.000
+   -706419.47543   -547994.98042  25314003.702    25314011.651    25314000.257
+     -1294.973       -1009.070          40.000          32.000
+ 04  2  1  7  6  0.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10283767.37143  -7596315.63142  23095273.741    23095282.797    23095271.580
+     -2198.526       -1713.137          48.000          42.000
+ -20290117.66443 -15748648.75642  20826137.500    20826143.202    20826136.792
+     -1171.672        -912.991          55.000          48.000
+  -1048555.18743   -921310.46642  25130606.328    25130623.799    25130608.349
+     -1767.198       -1377.037          40.000          37.000
+ -20676758.60643 -16100565.51542  21394406.663    21394411.326    21394405.185
+       117.329          91.425          54.000          48.000
+ -23022468.54144 -17898687.38442  20957490.607    20957495.251    20957489.876
+      -451.683        -351.961          57.000          50.000
+ -17679630.18743 -13721309.97242  21479828.915    21479834.087    21479827.503
+      2718.237        2118.107          54.000          48.000
+  -7884896.56943  -6121319.71242  23618567.721    23618575.055    23618566.226
+       140.364         109.375          49.000          42.000
+   1121596.32443    867744.69742  25381987.496    25381993.696    25381987.063
+     -1601.344       -1247.800          42.000          33.000
+  -8034354.53943  -6206338.02842  23567083.032    23567090.976    23567082.448
+      2635.116        2053.337          48.000          41.000
+                   -517579.41042  25321429.546    25321433.036
+     -1308.008       -1019.227          41.000          32.000
+ 04  2  1  7  6 30.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10217667.68143  -7544809.47942  23107852.426    23107860.585    23107850.908
+     -2207.244       -1719.930          49.000          42.000
+ -20254910.77943 -15721214.82542  20832837.196    20832842.970    20832836.208
+     -1174.682        -915.337          55.000          48.000
+   -995591.71643   -880040.43142  25140687.768    25140702.827    25140686.310
+     -1762.508       -1373.383          41.000          36.000
+ -20680206.30443 -16103252.00442  21393750.712    21393755.860    21393749.206
+       113.490          88.434          55.000          48.000
+ -23008733.60944 -17887984.85942  20960104.423    20960109.258    20960103.611
+      -463.145        -360.892          57.000          50.000
+ -17760972.51843 -13784693.52442  21464349.917    21464355.501    21464348.584
+      2705.327        2108.047          54.000          48.000
+  -7888907.24543  -6124444.83842  23617803.867    23617811.102    23617803.089
+       127.788          99.575          48.000          42.000
+   1169705.73643    905232.33642  25391141.428    25391154.564    25391140.733
+     -1604.913       -1250.581          38.000          33.000
+  -8113203.76743  -6267778.96342  23552080.212    23552085.911    23552079.658
+      2622.527        2043.527          48.000          41.000
+   -627952.13943   -486851.64242  25328934.220    25328942.129    25328931.503
+     -1319.731       -1028.362          41.000          33.000
+ 04  2  1  7  7  0.0000000  0 10G 1G27G 4G 8G13G28G31G24G10G 3
+ -10151294.99043  -7493090.57342  23120483.304    23120491.639    23120482.154
+     -2217.282       -1727.752          49.000          42.000
+ -20219597.78843 -15693698.21642  20839556.859    20839562.604    20839556.119
+     -1179.012        -918.711          54.000          48.000
+   -942757.01543   -838870.76842  25150742.404    25150757.604    25150742.056
+     -1759.160       -1370.774          43.000          37.000
+ -20683525.61043 -16105838.43942  21393118.991    21393124.058    21393118.083
+       108.317          84.403          55.000          48.000
+ -22994635.40444 -17876999.26542  20962787.190    20962791.532    20962786.745
+      -476.269        -371.119          57.000          50.000
+ -17841907.51543 -13847759.68642  21448948.111    21448954.090    21448947.144
+      2690.873        2096.784          54.000          48.000
+  -7892524.47343  -6127263.35642  23617115.154    23617122.824    23617113.748
+       113.762          88.646          48.000          41.000
+   1217931.72753    942810.87052  25400317.028    25400334.655    25400318.187
+     -1609.646       -1254.270          36.000          32.000
+  -8191655.63443  -6328910.25242  23537150.195    23537157.991    23537150.303
+      2608.140        2032.317          47.000          41.000
+   -588118.45343   -455812.41442  25336513.827    25336524.408    25336511.350
+     -1334.520       -1039.886          36.000          33.000
+ 04  2  1  7  7 30.0000000  0  8G 1G27G 4G 8G13G28G31G10
+ -10084646.89643  -7441157.07142  23133165.685    23133174.421    23133163.501
+     -2225.887       -1734.457          49.000          42.000
+ -20184176.87043 -15666097.50042  20846297.668    20846303.130    20846296.348
+     -1182.299        -921.272          55.000          48.000
+   -890051.21343   -797801.51542  25160769.591    25160786.400    25160771.678
+     -1754.378       -1367.048          40.000          36.000
+ -20686715.28143 -16108323.87342  21392512.193    21392516.938    21392510.686
+       104.489          81.420          55.000          48.000
+ -22980169.99844 -17865727.53442  20965539.948    20965544.773    20965539.120
+      -488.014        -380.271          57.000          50.000
+ -17922430.60343 -13910504.87042  21433625.522    21433630.840    21433624.365
+      2677.506        2086.368          54.000          48.000
+  -7895744.56843  -6129772.49242  23616503.333    23616509.876    23616501.415
+       101.103          78.781          49.000          42.000
+  -8269705.35343  -6389728.18442  23522297.863    23522304.479    23522295.509
+      2595.037        2022.107          47.000          41.000
+ 04  2  1  7  8  0.0000000  0  8G 1G27G 4G 8G13G28G31G10
+ -10017722.71643  -7389008.44442  23145901.819    23145908.862    23145899.957
+     -2235.483       -1741.935          49.000          43.000
+ -20148648.10543 -15638412.75542  20853058.422    20853063.828    20853057.077
+     -1186.234        -924.338          55.000          48.000
+   -837475.67243   -756833.74742  25170779.401    25170790.693    25170778.248
+     -1750.357       -1363.914          42.000          35.000
+ -20689775.83543 -16110708.69042  21391929.611    21391934.546    21391928.229
+        99.779          77.750          55.000          48.000
+ -22965335.65344 -17854168.31842  20968362.435    20968367.311    20968361.737
+      -500.804        -390.237          57.000          50.000
+ -18002538.79243 -13972926.75842  21418381.425    21418386.343    21418380.075
+      2663.172        2075.199          54.000          48.000
+  -7898565.42743  -6131970.50842  23615964.847    23615971.783    23615964.129
+        87.057          67.837          48.000          42.000
+  -8347349.58143  -6450230.12442  23507521.493    23507529.302    23507520.720
+      2581.386        2011.470          47.000          41.000
+ 04  2  1  7  8 30.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9950528.91443  -7336649.71142  23158688.505    23158695.911    23158685.597
+     -2244.674       -1749.097          49.000          42.000
+ -20113018.59643 -15610649.51042  20859838.075    20859844.120    20859837.264
+     -1189.649        -926.999          54.000          48.000
+   -785038.87543   -715974.14742  25180754.123    25180767.626    25180752.115
+     -1745.476       -1360.111          40.000          34.000
+ -20692714.25343 -16112998.34142  21391370.054    21391375.397    21391368.736
+        95.605          74.497          55.000          48.000
+ -22950137.18044 -17842325.37042  20971255.052    20971259.503    20971254.356
+      -513.065        -399.791          57.000          50.000
+ -18082236.19343 -14035028.55742  21403215.760    21403220.026    21403214.277
+      2649.341        2064.421          55.000          48.000
+  -7900992.19843  -6133861.45642  23615504.405    23615510.616    23615501.396
+        74.022          57.679          49.000          42.000
+  -8424592.22243  -6510419.14742  23492824.465    23492831.284    23492822.340
+      2567.553        2000.691          48.000          42.000
+ 04  2  1  7  9  0.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9883062.09243  -7284078.24542  23171526.725    23171533.098    23171524.866
+     -2253.278       -1755.801          49.000          42.000
+ -20077285.31343 -15582805.40342  20866638.287    20866643.669    20866636.980
+     -1192.664        -929.348          55.000          48.000
+   -732739.73343   -675221.76542  25190705.903    25190719.807    25190705.429
+     -1740.894       -1356.541          41.000          35.000
+ -20695528.37943 -16115191.13742  21390834.805    21390839.876    21390833.413
+        91.958          71.656          55.000          48.000
+ -22934569.58644 -17830194.79642  20974217.504    20974222.268    20974216.816
+      -524.831        -408.959          57.000          50.000
+ -18161517.10743 -14096805.82242  21388128.768    21388133.863    21388127.742
+      2636.009        2054.033          55.000          48.000
+  -7903019.81443  -6135441.38442  23615117.951    23615125.255    23615117.513
+        60.910          47.462          48.000          42.000
+  -8501427.17643  -6570290.46742  23478203.181    23478210.214    23478201.742
+      2554.591        1990.590          48.000          42.000
+ 04  2  1  7  9 30.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9815317.24943  -7231290.13242  23184417.985    23184426.089    23184416.650
+     -2262.025       -1762.617          49.000          42.000
+ -20041444.18743 -15554877.25542  20873458.633    20873463.959    20873457.727
+     -1195.749        -931.752          54.000          48.000
+   -680575.28643   -634574.35142  25200636.871    25200648.307    25200630.937
+     -1735.393       -1352.254          40.000          35.000
+ -20698214.36343 -16117284.08742  21390324.031    21390328.867    21390322.494
+        88.119          68.664          55.000          48.000
+ -22918626.62044 -17817771.72942  20977251.055    20977255.825    20977250.573
+      -536.982        -418.427          57.000          50.000
+ -18240374.41943 -14158253.01142  21373122.372    21373127.522    21373121.088
+      2622.250        2043.312          55.000          48.000
+  -7904642.19043  -6136705.52642  23614809.005    23614816.966    23614807.927
+        47.968          37.378          48.000          42.000
+  -8577846.88943  -6629838.25142  23463660.758    23463667.386    23463658.349
+      2541.182        1980.142          48.000          42.000
+ 04  2  1  7 10  0.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9747303.82843  -7178292.75742  23197360.196    23197370.066    23197358.353
+     -2271.020       -1769.626          48.000          42.000
+ -20005505.01643 -15526872.70942  20880297.186    20880303.421    20880296.472
+     -1199.019        -934.300          54.000          48.000
+   -628557.03243   -594040.87142  25210532.786    25210545.079    25210531.948
+     -1730.552       -1348.482          38.000          34.000
+ -20700782.23343 -16119284.99142  21389834.987    21389840.087    21389833.588
+        84.260          65.657          55.000          49.000
+ -22902316.27043 -17805062.37942  20980354.757    20980359.730    20980354.087
+      -549.186        -427.937          56.000          50.000
+ -18318815.31743 -14219375.71842  21358195.659    21358200.737    21358194.658
+      2608.367        2032.494          55.000          48.000
+  -7905867.26543  -6137660.06142  23614575.391    23614582.605    23614574.399
+        34.746          27.075          48.000          42.000
+  -8653858.06543  -6689067.68442  23449196.566    23449202.267    23449195.039
+      2527.337        1969.354          48.000          42.000
+ 04  2  1  7 10 30.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9679016.02743  -7125081.58042  23210354.082    23210363.180    23210355.063
+     -2280.738       -1777.198          49.000          42.000
+ -19969462.51043 -15498787.64842  20887156.265    20887161.973    20887155.470
+     -1202.964        -937.374          54.000          48.000
+   -576681.26953   -553618.45752  25220404.397    25220420.485    25220404.974
+     -1726.643       -1345.436          41.000          34.000
+ -20703227.07643 -16121190.04442  21389369.788    21389374.865    21389368.654
+        79.598          62.024          55.000          49.000
+ -22885631.62744 -17792061.38542  20983530.227    20983534.530    20983529.077
+      -562.214        -438.089          57.000          50.000
+ -18396831.99143 -14280167.87242  21343348.818    21343354.164    21343348.015
+      2593.622        2021.004          54.000          48.000
+  -7906687.87043  -6138299.41042  23614419.096    23614427.776    23614419.358
+        20.621          16.068          48.000          42.000
+  -8729452.27543  -6747972.20342  23434811.114    23434816.646    23434810.162
+      2513.127        1958.281          47.000          41.000
+ 04  2  1  7 11  0.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9610459.29043  -7071660.85042  23223400.380    23223410.269    23223400.708
+     -2289.803       -1784.262          48.000          42.000
+ -19933322.85743 -15470626.88442  20894033.948    20894039.248    20894032.572
+     -1206.254        -939.938          54.000          48.000
+   -524955.67443   -513313.05542  25230246.318    25230263.523    25230247.522
+     -1721.778       -1341.645          40.000          35.000
+ -20705555.48643 -16123004.36342  21388926.885    21388931.750    21388925.367
+        75.703          58.989          55.000          49.000
+ -22868576.55244 -17778771.73842  20986775.767    20986779.832    20986774.976
+      -574.696        -447.815          57.000          50.000
+ -18474427.74043 -14340632.01942  21328584.174    21328588.373    21328582.209
+      2579.423        2009.940          55.000          48.000
+  -7907108.11843  -6138626.83242  23614340.166    23614347.041    23614338.063
+         7.344           5.723          49.000          42.000
+  -8804632.46743  -6806554.12142  23420505.141    23420511.142    23420502.989
+      2499.020        1947.288          48.000          42.000
+ 04  2  1  7 11 30.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9541627.30243  -7018025.62342  23236499.860    23236507.366    23236498.643
+     -2298.948       -1791.388          48.000          42.000
+ -19897080.22243 -15442385.87942  20900930.027    20900935.531    20900928.852
+     -1209.648        -942.583          54.000          48.000
+   -473375.89943   -473121.22642  25240063.664    25240081.016    25240064.208
+     -1716.602       -1337.612          42.000          36.000
+ -20707761.91043 -16124723.63542  21388507.490    21388511.649    21388505.914
+        71.683          55.857          55.000          49.000
+ -22851143.40844 -17765187.49542  20990092.888    20990097.664    20990092.029
+      -587.219        -457.573          57.000          50.000
+ -18551593.90643 -14400761.43742  21313899.636    21313903.733    21313898.237
+      2565.288        1998.926          55.000          48.000
+  -7907120.39643  -6138636.36642  23614338.137    23614343.786    23614336.081
+        -6.309          -4.916          49.000          42.000
+  -8879389.59943  -6864806.36542  23406279.073    23406285.505    23406276.855
+      2484.859        1936.254          48.000          42.000
+ 04  2  1  7 12  0.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9472526.96643  -6964181.30442  23249649.460    23249657.457    23249647.737
+     -2308.925       -1799.162          49.000          42.000
+ -19860741.84243 -15414070.25442  20907844.988    20907850.443    20907844.032
+     -1214.059        -946.020          54.000          48.000
+   -421950.48143   -433049.65042  25249848.902    25249866.016    25249848.890
+     -1712.760       -1334.618          42.000          37.000
+ -20709854.18043 -16126353.95742  21388109.305    21388113.633    21388107.420
+        66.782          52.038          55.000          49.000
+ -22833337.71043 -17751312.96542  20993480.769    20993486.084    20993480.306
+      -600.834        -468.182          56.000          50.000
+ -18628335.17543 -14460559.76442  21299295.410    21299300.574    21299294.291
+      2549.807        1986.863          55.000          48.000
+  -7906730.26843  -6138332.31642  23614411.231    23614417.303    23614410.996
+       -20.929         -16.308          48.000          42.000
+  -8953727.68643  -6922732.11042  23392132.938    23392139.043    23392132.089
+      2469.770        1924.496          49.000          42.000
+ 04  2  1  7 12 30.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9403149.75043  -6910121.20842  23262849.045    23262860.468    23262848.202
+     -2317.407       -1805.772          47.000          41.000
+ -19824299.52543 -15385673.64042  20914779.924    20914784.756    20914778.777
+     -1216.668        -948.053          54.000          48.000
+   -370673.22043   -393093.53342  25259608.037    25259621.309    25259607.165
+     -1706.789       -1329.965          42.000          37.000
+ -20711824.34743 -16127889.14242  21387734.735    21387738.931    21387732.684
+        63.506          49.485          55.000          49.000
+ -22815149.09243 -17737140.05442  20996942.350    20996947.220    20996941.788
+      -612.820        -477.522          56.000          50.000
+ -18704640.66943 -14520018.52542  21284775.237    21284779.643    21284773.901
+      2536.027        1976.125          55.000          48.000
+  -7905927.54343  -6137706.77642  23614562.310    23614571.643    23614563.121
+       -33.820         -26.353          47.000          41.000
+  -9027635.63943  -6980322.64242  23378068.864    23378072.395    23378066.776
+      2456.249        1913.960          48.000          42.000
+ 04  2  1  7 13  0.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9333505.86143  -6855853.32642  23276103.436    23276112.565    23276102.831
+     -2326.487       -1812.847          48.000          41.000
+ -19787764.14243 -15357204.51342  20921732.451    20921737.618    20921731.249
+     -1219.895        -950.567          54.000          48.000
+   -319556.48843   -353262.58642  25269335.020    25269349.217    25269333.958
+     -1701.660       -1325.969          43.000          36.000
+ -20713683.58343 -16129337.88142  21387379.786    21387385.538    21387378.771
+        59.710          46.527          55.000          48.000
+ -22796586.64744 -17722675.83642  21000475.259    21000479.446    21000474.617
+      -625.447        -487.361          57.000          50.000
+ -18780518.44843 -14579144.01042  21270336.166    21270341.040    21270334.916
+      2521.708        1964.967          55.000          48.000
+  -7904721.43243  -6136766.88242  23614793.512    23614801.395    23614792.091
+       -47.310         -36.865          47.000          42.000
+  -9101121.07443  -7037583.96842  23364084.797    23364092.124    23364082.888
+      2441.998        1902.855          48.000          42.000
+ 04  2  1  7 13 30.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9263590.06343  -6801373.57042  23289408.039    23289416.865    23289406.865
+     -2334.821       -1819.341          47.000          41.000
+ -19751130.88643 -15328659.12042  20928703.188    20928708.691    20928702.172
+     -1222.625        -952.695          54.000          48.000
+   -268596.54943   -313553.75442  25279032.378    25279046.690    25279033.456
+     -1695.953       -1321.522          43.000          37.000
+ -20715427.65443 -16130696.89942  21387047.995    21387052.996    21387046.744
+        56.397          43.946          55.000          49.000
+ -22777643.86244 -17707915.25742  21004079.570    21004084.240    21004078.951
+      -637.661        -496.879          57.000          50.000
+ -18855961.25743 -14637930.55342  21255979.584    21255984.850    21255978.348
+      2507.630        1953.997          55.000          48.000
+  -7903105.18743  -6135507.42642  23615100.865    23615107.973    23615100.080
+       -60.577         -47.203          48.000          42.000
+  -9174176.45543  -7094510.20142  23350182.917    23350188.610    23350180.533
+      2428.094        1892.021          49.000          42.000
+ 04  2  1  7 14  0.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9193404.34643  -6746683.48642  23302764.227    23302773.872    23302763.321
+     -2344.361       -1826.775          48.000          42.000
+ -19714402.15343 -15300039.33042  20935692.811    20935698.221    20935691.395
+     -1226.381        -955.621          54.000          48.000
+   -217797.44543   -273970.22542  25288699.658    25288715.864    25288697.764
+     -1690.681       -1317.414          44.000          38.000
+ -20717059.03943 -16131968.10842  21386737.458    21386742.995    21386736.190
+        52.118          40.611          55.000          48.000
+ -22758320.97043 -17692858.49542  21007756.090    21007761.044    21007755.676
+      -650.973        -507.252          56.000          50.000
+ -18930968.92343 -14696378.01942  21241705.904    21241711.191    21241704.855
+      2492.599        1942.285          55.000          48.000
+  -7901079.57543  -6133928.98642  23615486.243    23615494.300    23615485.211
+       -74.809         -58.293          48.000          42.000
+  -9246801.27443  -7151100.92042  23336363.631    23336369.949    23336361.975
+      2413.306        1880.498          49.000          42.000
+ 04  2  1  7 14 30.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9122950.23343  -6691784.27242  23316171.026    23316180.286    23316170.204
+     -2353.180       -1833.647          48.000          42.000
+ -19677579.68443 -15271346.49742  20942699.926    20942705.728    20942698.968
+     -1229.262        -957.866          54.000          48.000
+   -167162.61943   -234514.66042  25298336.760    25298352.133    25298334.362
+     -1685.451       -1313.338          44.000          37.000
+ -20718580.28843 -16133153.48842  21386447.988    21386453.118    21386446.702
+        48.481          37.777          55.000          49.000
+ -22738618.47344 -17677505.92942  21011506.056    21011510.530    21011505.069
+      -663.428        -516.957          57.000          50.000
+ -19005540.72143 -14754485.85942  21227515.870    21227520.060    21227514.319
+      2478.069        1930.963          55.000          48.000
+  -7898644.64043  -6132031.60442  23615949.462    23615958.203    23615947.703
+       -88.422         -68.900          48.000          42.000
+  -9318994.02843  -7207354.97642  23322624.182    23322631.190    23322623.079
+      2398.970        1869.327          48.000          42.000
+ 04  2  1  7 15  0.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -9052227.35643  -6636675.64842  23329629.912    23329638.636    23329628.271
+     -2361.437       -1840.081          49.000          42.000
+ -19640663.82743 -15242580.88942  20949724.850    20949730.418    20949723.640
+     -1231.752        -959.807          54.000          48.000
+   -116693.74643   -195188.43042  25307938.085    25307955.410    25307937.371
+     -1679.346       -1308.581          42.000          37.000
+ -20719991.82843 -16134253.38742  21386179.076    21386184.621    21386177.969
+        45.585          35.521          55.000          49.000
+ -22718534.68943 -17661856.25242  21015327.576    21015332.662    21015326.893
+      -675.475        -526.344          56.000          50.000
+ -19079674.12943 -14812252.09742  21213408.440    21213413.355    21213406.922
+      2464.132        1920.103          55.000          48.000
+  -7895799.01943  -6129814.21142  23616492.418    23616498.814    23616490.718
+      -101.401         -79.014          49.000          42.000
+  -9390751.81443  -7263270.10742  23308969.254    23308976.378    23308967.693
+      2384.986        1858.431          48.000          42.000
+ 04  2  1  7 15 30.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -8981233.35443  -6581355.72442  23343139.140    23343147.510    23343138.000
+     -2370.227       -1846.930          49.000          42.000
+ -19603652.35143 -15213740.77042  20956768.026    20956772.873    20956766.689
+     -1234.650        -962.065          54.000          48.000
+    -66390.00443   -155990.94342  25317512.847    25317529.143    25317512.026
+     -1674.076       -1304.475          41.000          35.000
+ -20721291.76843 -16135266.32842  21385932.176    21385936.923    21385930.646
+        42.142          32.838          55.000          48.000
+ -22698065.58343 -17645906.32142  21019222.893    21019227.386    21019222.110
+      -688.058        -536.149          56.000          50.000
+ -19153364.42843 -14869673.04942  21199385.648    21199390.715    21199384.647
+      2449.683        1908.844          55.000          48.000
+  -7892538.74143  -6127273.70242  23617111.812    23617118.764    23617110.103
+      -115.165         -89.739          48.000          42.000
+  -9462069.55643  -7318842.33242  23295396.862    23295405.348    23295396.073
+      2370.554        1847.185          47.000          42.000
+ 04  2  1  7 16  0.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -8909969.70843  -6525825.70642  23356698.847    23356708.999    23356698.230
+     -2380.027       -1854.566          48.000          42.000
+ -19566546.98343 -15184827.49442  20963828.807    20963834.235    20963827.558
+     -1238.537        -965.094          54.000          48.000
+    -16255.23843   -116925.06042  25327051.341    25327070.606    25327050.202
+     -1668.243       -1299.930          37.000          33.000
+ -20722482.53143 -16136194.19242  21385705.092    21385710.834    21385704.158
+        37.704          29.380          55.000          48.000
+ -22677211.41543 -17629656.34142  21023190.789    21023196.039    21023190.423
+      -701.800        -546.857          56.000          50.000
+ -19226611.15343 -14926748.35842  21185447.048    21185451.935    21185446.223
+      2434.048        1896.661          55.000          48.000
+  -7888864.22443  -6124410.43142  23617810.133    23617818.452    23617810.427
+      -129.738        -101.094          47.000          42.000
+  -9532946.13443  -7374070.81142  23281910.208    23281918.197    23281908.936
+      2354.907        1834.992          48.000          42.000
+ 04  2  1  7 16 30.0000000  0  8G 1G27G 4G 8G13G28G31G10
+  -8838441.14743  -6470089.27742  23370311.221    23370320.982    23370310.144
+     -2388.751       -1861.364          48.000          42.000
+ -19529352.83843 -15155845.04542  20970906.434    20970911.924    20970905.524
+     -1241.416        -967.337          54.000          48.000
+     33704.55953    -77995.55252  25336562.873    25336573.057    25336559.719
+     -1662.119       -1295.158          39.000          33.000
+ -20723569.35443 -16137041.06042  21385498.293    21385503.882    21385497.460
+        34.471          26.860          55.000          48.000
+ -22655975.41643 -17613108.81442  21027232.266    21027236.575    21027231.739
+      -714.371        -556.653          56.000          50.000
+ -19299416.72843 -14983479.91142  21171592.837    21171597.025    21171591.539
+      2419.344        1885.203          55.000          48.000
+  -7884778.64743  -6121226.82542  23618589.827    23618595.873    23618587.235
+      -143.299        -111.661          49.000          42.000
+  -9603383.99543  -7428957.40842  23268507.638    23268513.678    23268505.207
+      2340.074        1823.434          48.000          42.000
+ 04  2  1  7 17  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -8766643.07843  -6414142.86742  23383975.233    23383984.005    23383975.057
+     -2397.668       -1868.313          49.000          41.000
+ -19492065.69843 -15126790.13342  20978001.496    20978008.066    20978000.759
+     -1244.282        -969.570          54.000          48.000
+ -20724548.67143 -16137804.15542  21385312.234    21385317.686    21385310.934
+        31.011          24.164          54.000          48.000
+ -22634351.51644 -17596259.02942  21031346.929    21031351.903    21031346.233
+      -727.057        -566.538          57.000          50.000
+ -19371774.55943 -15039862.57642  21157823.783    21157828.362    21157822.361
+      2404.578        1873.697          55.000          49.000
+  -7880276.30143  -6117718.48942  23619444.653    23619451.332    23619443.470
+      -156.908        -122.266          48.000          42.000
+  -9673375.47943  -7483496.19542  23255186.853    23255194.698    23255185.566
+      2325.614        1812.167          48.000          42.000
+ 04  2  1  7 17 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -8694581.87743  -6357991.39242  23397687.226    23397697.494    23397686.014
+     -2406.410       -1875.125          48.000          41.000
+ -19454692.12643 -15097667.86642  20985114.068    20985119.882    20985112.788
+     -1247.116        -971.779          54.000          48.000
+ -20725427.23543 -16138488.73242  21385145.716    21385150.131    21385143.963
+        27.757          21.629          55.000          48.000
+ -22612344.91144 -17579111.02642  21035534.872    21035539.917    21035534.435
+      -739.815        -576.479          57.000          50.000
+ -19443688.87643 -15095899.64942  21144138.123    21144143.464    21144137.476
+      2389.883        1862.246          55.000          49.000
+  -7875362.29943  -6113889.37242  23620380.450    23620387.331    23620380.118
+      -170.705        -133.017          49.000          42.000
+  -9742924.46443  -7537690.17342  23241954.497    23241959.676    23241952.613
+      2310.928        1800.723          49.000          43.000
+ 04  2  1  7 18  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -8622251.45343  -6301630.13842  23411452.097    23411461.280    23411450.977
+     -2415.434       -1882.156          47.000          41.000
+ -19417226.13043 -15068473.57542  20992243.886    20992249.330    20992242.670
+     -1250.121        -974.120          54.000          48.000
+ -20726199.57343 -16139090.53842  21384998.364    21385003.196    21384997.001
+        24.231          18.881          55.000          49.000
+ -22589947.90143 -17561658.80842  21039796.844    21039801.537    21039796.220
+      -752.793        -586.592          56.000          49.000
+ -19515151.29443 -15151584.58742  21130539.433    21130544.628    21130538.292
+      2374.821        1850.510          55.000          49.000
+  -7870028.98543  -6109733.55042  23621394.535    23621402.510    23621394.664
+      -184.432        -143.713          48.000          42.000
+  -9812021.88643  -7591532.27142  23228805.338    23228811.279    23228803.813
+      2296.148        1789.206          50.000          43.000
+ 04  2  1  7 18 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -8549653.59443  -6245060.50642  23425266.605    23425275.021    23425264.700
+     -2424.966       -1889.584          48.000          41.000
+ -19379669.78143 -15039208.89042  20999390.032    20999396.021    20999388.902
+     -1253.688        -976.900          54.000          48.000
+ -20726868.32743 -16139611.62242  21384870.511    21384875.829    21384869.395
+        20.206          15.745          55.000          48.000
+ -22567160.98043 -17543902.77442  21044133.279    21044138.272    21044132.512
+      -766.435        -597.222          56.000          49.000
+ -19586161.33643 -15206917.03242  21117026.518    21117031.523    21117025.345
+      2359.022        1838.199          55.000          49.000
+  -7864276.95743  -6105251.40742  23622489.165    23622496.856    23622488.848
+      -199.159        -155.189          48.000          42.000
+  -9880667.51843  -7645022.32242  23215741.485    23215748.281    23215740.355
+      2280.105        1776.705          49.000          43.000
+ 04  2  1  7 19  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -8476793.01843  -6188286.16442  23439131.394    23439140.025    23439130.912
+     -2433.145       -1895.957          49.000          42.000
+ -19342027.97543 -15009877.61142  21006552.956    21006559.134    21006551.711
+     -1256.203        -978.859          54.000          48.000
+ -20727438.52543 -16140055.91342  21384762.196    21384767.690    21384760.892
+        17.373          13.537          55.000          48.000
+ -22543987.46543 -17525845.50542  21048543.025    21048547.673    21048542.375
+      -778.961        -606.982          56.000          49.000
+ -19656721.80143 -15261899.15342  21103599.407    21103604.243    21103598.276
+      2344.503        1826.885          55.000          49.000
+  -7858109.74543  -6100445.75342  23623664.175    23623670.148    23623661.729
+      -212.576        -165.644          49.000          42.000
+  -9948863.21643  -7698161.78142  23202764.422    23202771.765    23202762.790
+      2265.537        1765.354          48.000          43.000
+ 04  2  1  7 19 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -8403665.68743  -6131303.94842  23453047.712    23453055.266    23453047.073
+     -2441.410       -1902.397          49.000          42.000
+ -19304296.92743 -14980476.79642  21013732.888    21013738.621    21013732.217
+     -1258.683        -980.792          54.000          48.000
+ -20727906.95643 -16140420.90742  21384672.919    21384678.349    21384671.794
+        14.504          11.302          55.000          48.000
+ -22520421.87344 -17507482.71542  21053027.348    21053031.894    21053026.454
+      -791.483        -616.740          57.000          50.000
+ -19726826.46843 -15316526.10342  21090259.251    21090263.439    21090257.908
+      2329.670        1815.327          55.000          49.000
+  -7851522.19943  -6095312.59242  23624917.653    23624924.385    23624915.691
+      -226.207        -176.265          49.000          42.000
+ -10016602.58743  -7750945.64842  23189873.976    23189880.677    23189872.069
+      2250.794        1753.865          49.000          43.000
+ 04  2  1  7 20  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -8330271.18443  -6074113.53442  23467014.387    23467023.609    23467012.632
+     -2450.650       -1909.597          48.000          42.000
+ -19266476.44843 -14951006.29242  21020929.770    21020935.828    21020928.910
+     -1261.956        -983.342          54.000          48.000
+ -20728273.77743 -16140706.71042  21384603.225    21384608.676    21384602.153
+        10.754           8.380          55.000          48.000
+ -22496462.76344 -17488813.28642  21057586.723    21057591.227    21057585.887
+      -804.995        -627.269          57.000          50.000
+ -19796472.92343 -15370796.01242  21077005.802    21077010.203    21077004.632
+      2314.149        1803.233          55.000          49.000
+  -7844512.59343  -6089850.53442  23626250.897    23626257.480    23626248.928
+      -240.490        -187.395          49.000          42.000
+ -10083882.34643  -7803371.39042  23177070.881    23177078.176    23177067.986
+      2235.058        1741.604          48.000          43.000
+ 04  2  1  7 20 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -8256615.55043  -6016719.66442  23481030.401    23481039.070    23481028.839
+     -2459.510       -1916.501          48.000          41.000
+ -19228572.67243 -14921470.89742  21028142.745    21028148.565    21028141.732
+     -1264.841        -985.590          54.000          48.000
+ -20728545.81543 -16140918.66642  21384551.707    21384557.034    21384550.232
+         7.395           5.762          55.000          48.000
+ -22472114.84943 -17469840.91142  21062219.737    21062224.547    21062219.457
+      -818.222        -637.575          56.000          49.000
+ -19865665.15743 -15424711.98742  21063838.998    21063843.553    21063837.940
+      2298.752        1791.235          56.000          49.000
+  -7837085.73243  -6084063.33542  23627664.450    23627669.653    23627662.807
+      -254.551        -198.351          48.000          42.000
+ -10150706.37443  -7855441.99242  23164355.117    23164359.768    23164353.390
+      2219.983        1729.857          49.000          43.000
+ 04  2  1  7 21  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -8182694.74543  -5959119.14642  23495096.985    23495107.344    23495095.501
+     -2468.617       -1923.598          48.000          42.000
+ -19190581.78043 -14891867.60842  21035372.948    21035377.415    21035371.650
+     -1267.953        -988.015          54.000          48.000
+ -20728719.41843 -16141053.91542  21384518.042    21384523.257    21384516.942
+         3.981           3.102          55.000          48.000
+ -22447372.48843 -17450561.16342  21066927.692    21066932.916    21066927.234
+      -831.545        -647.957          56.000          49.000
+ -19934396.75343 -15478269.01442  21050759.938    21050764.185    21050758.501
+      2283.215        1779.129          56.000          49.000
+  -7829236.36943  -6077946.90442  23629157.898    23629165.778    23629157.824
+      -268.959        -209.578          49.000          42.000
+ -10217067.79743  -7907152.14242  23151724.991    23151732.475    23151725.457
+      2204.059        1717.449          48.000          43.000
+ 04  2  1  7 21 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -8108511.59043  -5901314.21342  23509213.301    23509223.496    23509212.037
+     -2476.878       -1930.035          47.000          41.000
+ -19152506.72143 -14862198.72842  21042618.729    21042623.263    21042617.089
+     -1270.260        -989.813          54.000          48.000
+ -20728798.04243 -16141115.15742  21384503.807    21384508.805    21384502.356
+         1.316           1.025          55.000          48.000
+ -22422237.55643 -17430975.51642  21071711.392    21071715.905    21071710.559
+      -844.090        -657.732          56.000          49.000
+ -20002668.67143 -15531467.84842  21037767.605    21037772.284    21037766.494
+      2268.323        1767.524          55.000          49.000
+  -7820966.17443  -6071502.54242  23630730.537    23630737.978    23630729.904
+      -282.460        -220.099          48.000          42.000
+ -10282967.10843  -7958502.21442  23139186.615    23139191.917    23139185.728
+      2189.289        1705.939          48.000          43.000
+ 04  2  1  7 22  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -8034064.95843  -5843303.95642  23523380.239    23523390.571    23523378.910
+     -2485.412       -1936.685          47.000          41.000
+ -19114346.45043 -14832463.45642  21049879.267    21049885.208    21049878.434
+     -1272.907        -991.875          54.000          48.000
+ -20728781.05643 -16141101.89742  21384506.972    21384512.307    21384505.701
+        -1.658          -1.292          55.000          49.000
+ -22396706.99743 -17411081.59942  21076569.471    21076574.316    21076568.780
+      -857.173        -667.927          56.000          49.000
+ -20070477.74843 -15584306.03042  21024864.204    21024868.666    21024862.997
+      2253.111        1755.671          55.000          49.000
+  -7812272.80943  -6064728.44242  23632386.174    23632393.835    23632385.696
+      -296.463        -231.010          48.000          42.000
+ -10348400.35343  -8009489.11442  23126735.438    23126740.889    23126733.829
+      2173.786        1693.859          49.000          43.000
+ 04  2  1  7 22 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -7959356.06643  -5785089.31442  23537597.204    23537606.908    23537595.638
+     -2494.660       -1943.891          48.000          41.000
+ -19076102.13643 -14802662.69142  21057157.296    21057162.426    21057156.329
+     -1276.215        -994.453          54.000          48.000
+ -20728670.13843 -16141015.44642  21384527.441    21384533.118    21384526.214
+        -5.263          -4.101          55.000          49.000
+ -22370780.82143 -17390879.40542  21081502.909    21081508.192    21081502.380
+      -870.783        -678.532          56.000          49.000
+ -20137823.15543 -15636782.90742  21012048.321    21012053.253    21012047.250
+      2237.162        1743.243          55.000          49.000
+  -7803156.22843  -6057624.59342  23634119.946    23634127.323    23634118.726
+      -310.810        -242.190          49.000          42.000
+ -10413366.12643  -8060111.76142  23114372.871    23114379.403    23114370.511
+      2157.611        1681.255          49.000          43.000
+ 04  2  1  7 23  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -7884387.24343  -5726672.13642  23551863.233    23551872.295    23551862.295
+     -2502.597       -1950.075          49.000          42.000
+ -19037776.10843 -14772798.25742  21064450.138    21064455.674    21064449.122
+     -1278.218        -996.014          54.000          47.000
+ -20728467.99143 -16140857.90542  21384566.566    21384570.883    21384564.512
+        -7.591          -5.915          55.000          48.000
+ -22344460.03643 -17370369.73242  21086511.571    21086516.334    21086510.970
+      -883.382        -688.350          56.000          49.000
+ -20204704.94143 -15688898.51542  20999321.404    20999325.742    20999320.035
+      2222.217        1731.598          55.000          49.000
+  -7793617.36143  -6050191.69742  23635935.665    23635941.958    23635934.238
+      -324.647        -252.972          49.000          42.000
+ -10477864.00543  -8110369.81342  23102099.591    23102104.737    23102097.985
+      2142.858        1669.759          50.000          43.000
+ 04  2  1  7 23 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -7809158.74243  -5668052.59742  23566179.167    23566189.237    23566177.851
+     -2512.151       -1957.520          49.000          42.000
+ -18999368.58843 -14742870.32542  21071759.201    21071765.312    21071758.044
+     -1281.782        -998.791          54.000          48.000
+ -20728175.52043 -16140629.98542  21384621.786    21384627.186    21384620.344
+       -11.391          -8.876          55.000          49.000
+ -22317743.51844 -17349551.69242  21091595.996    21091600.879    21091594.970
+      -897.285        -699.183          57.000          49.000
+ -20271121.21043 -15740651.39142  20986682.764    20986687.192    20986682.002
+      2205.969        1718.937          56.000          49.000
+  -7783655.37843  -6042429.06442  23637831.190    23637837.015    23637827.589
+      -339.249        -264.350          48.000          41.000
+ -10541892.03743  -8160261.74942  23089914.293    23089921.592    23089912.405
+      2126.341        1656.889          49.000          43.000
+ 04  2  1  7 24  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -7733667.13443  -5609228.04842  23580545.620    23580555.076    23580544.550
+     -2520.239       -1963.822          49.000          41.000
+ -18960876.08043 -14712876.16942  21079083.468    21079089.488    21079082.425
+     -1283.927       -1000.462          53.000          47.000
+ -20727789.51743 -16140329.18042  21384695.840    21384700.669    21384694.168
+       -13.961         -10.879          55.000          49.000
+ -22290626.12444 -17328421.26742  21096756.335    21096760.618    21096755.544
+      -910.136        -709.197          57.000          49.000
+ -20337066.47043 -15792037.25342  20974133.809    20974138.025    20974132.602
+      2190.895        1707.191          56.000          49.000
+  -7773265.57443  -6034333.07342  23639807.236    23639814.242    23639806.225
+      -352.986        -275.054          47.000          41.000
+ -10605444.11443  -8209782.80742  23077821.935    23077827.690    23077820.324
+      2111.075        1644.994          50.000          43.000
+ 04  2  1  7 24 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -7657915.61743  -5550200.99242  23594959.041    23594970.688    23594957.680
+     -2529.339       -1970.913          47.000          41.000
+ -18922301.91143 -14682818.38942  21086424.718    21086429.455    21086423.224
+     -1287.234       -1003.039          54.000          47.000
+ -20727313.53443 -16139958.26242  21384786.181    21384791.077    21384784.918
+       -17.259         -13.448          55.000          49.000
+ -22263110.06644 -17306980.20042  21101992.268    21101997.076    21101991.596
+      -923.905        -719.926          57.000          49.000
+ -20402541.85643 -15843056.96842  20961674.022    20961678.710    20961673.104
+      2174.635        1694.521          55.000          49.000
+  -7762449.98943  -6025905.28842  23641865.679    23641873.308    23641864.780
+      -367.653        -286.483          48.000          42.000
+ -10668520.86043  -8258933.47442  23065817.969    23065823.083    23065817.247
+      2094.679        1632.217          49.000          43.000
+ 04  2  1  7 25  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -7581907.06543  -5490973.68842  23609424.439    23609433.798    23609422.670
+     -2537.455       -1977.238          48.000          42.000
+ -18883648.85643 -14652699.13442  21093779.290    21093784.706    21093778.754
+     -1289.297       -1004.647          53.000          47.000
+ -20726751.11143 -16139519.99042  21384892.680    21384897.462    21384891.490
+       -19.773         -15.407          55.000          49.000
+ -22235197.21043 -17285229.93942  21107303.773    21107308.746    21107303.320
+      -936.781        -729.959          56.000          49.000
+ -20467548.25643 -15893711.24642  20949304.317    20949308.368    20949302.712
+      2159.459        1682.695          56.000          49.000
+  -7751210.52843  -6017147.22342  23644005.358    23644011.780    23644003.570
+      -381.367        -297.169          48.000          42.000
+ -10731122.52543  -8307713.96242  23053904.492    23053910.399    23053903.610
+      2079.193        1620.150          49.000          43.000
+ 04  2  1  7 25 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -7505640.58643  -5431545.37742  23623936.417    23623946.693    23623935.796
+     -2546.701       -1984.442          48.000          42.000
+ -18844915.91943 -14622517.62642  21101149.943    21101155.814    21101149.081
+     -1292.434       -1007.091          53.000          47.000
+ -20726101.64143 -16139013.89542  21385016.704    21385021.577    21385015.264
+       -23.227         -18.099          55.000          49.000
+ -22206884.88143 -17263168.40842  21112691.799    21112696.342    21112690.782
+      -950.521        -740.666          56.000          49.000
+ -20532082.92843 -15943997.94142  20937023.771    20937027.716    20937022.162
+      2143.182        1670.012          56.000          49.000
+  -7739545.07843  -6008057.22242  23646225.766    23646232.184    23646224.573
+      -396.216        -308.740          49.000          43.000
+ -10793245.75043  -8356121.64442  23042083.657    23042089.376    23042081.939
+      2062.534        1607.169          49.000          43.000
+ 04  2  1  7 26  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -7429113.58843  -5371914.08242  23638500.010    23638509.402    23638498.699
+     -2555.235       -1991.092          49.000          43.000
+ -18806100.59843 -14592271.92342  21108536.500    21108542.337    21108535.182
+     -1295.222       -1009.264          53.000          47.000
+ -20725362.83843 -16138438.18942  21385156.690    21385162.100    21385155.604
+       -26.107         -20.343          55.000          49.000
+ -22178169.02643 -17240792.44142  21118155.475    21118161.026    21118154.720
+      -963.929        -751.113          56.000          49.000
+ -20596140.96143 -15993913.23442  20924832.806    20924837.830    20924831.901
+      2127.382        1657.700          55.000          49.000
+  -7727449.70643  -5998632.22042  23648528.115    23648533.741    23648526.201
+      -410.176        -319.618          49.000          42.000
+ -10854885.55443  -8404152.59742  23030352.273    23030359.658    23030351.656
+      2046.589        1594.745          49.000          43.000
+ 04  2  1  7 26 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -7352332.43443  -5312084.75742  23653111.069    23653120.360    23653108.987
+     -2564.242       -1998.111          48.000          42.000
+ -18767209.10343 -14561966.86542  21115936.663    21115942.874    21115935.952
+     -1298.318       -1011.676          53.000          47.000
+ -20724541.74143 -16137798.36442  21385313.647    21385318.680    21385312.236
+       -29.358         -22.876          55.000          49.000
+ -22149055.27444 -17218106.42742  21123696.631    21123701.164    21123695.640
+      -977.738        -761.874          57.000          49.000
+ -20659726.85743 -16043460.63242  20912733.276    20912737.858    20912731.760
+      2110.952        1644.898          55.000          49.000
+  -7714929.80143  -5988876.40942  23650908.447    23650915.265    23650908.310
+      -425.174        -331.304          47.000          42.000
+ -10916045.70743  -8451809.80442  23018715.351    23018721.825    23018713.501
+      2030.133        1581.922          49.000          43.000
+ 04  2  1  7 27  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -7275294.92143  -5252055.67942  23667769.766    23667781.337    23667769.536
+     -2572.061       -2004.203          47.000          41.000
+ -18728239.03643 -14531600.58142  21123352.888    21123358.265    21123351.685
+     -1300.219       -1013.158          53.000          47.000
+ -20723636.21343 -16137092.74642  21385485.877    21385490.784    21385484.467
+       -31.365         -24.440          55.000          49.000
+ -22119539.60043 -17195107.21142  21129312.973    21129317.880    21129312.021
+      -990.535        -771.845          56.000          49.000
+ -20722836.41843 -16092636.85542  20900724.132    20900728.517    20900722.685
+      2095.749        1633.051          55.000          49.000
+  -7701981.95843  -5978787.10942  23653374.678    23653378.459    23653372.510
+      -438.652        -341.807          49.000          42.000
+ -10976721.42543  -8499089.53342  23007168.849    23007176.162    23007168.231
+      2013.798        1569.193          49.000          43.000
+ 04  2  1  7 27 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -7197998.52643  -5191824.91242  23682481.126    23682488.609    23682478.572
+     -2580.678       -2010.918          47.000          41.000
+ -18689187.66243 -14501170.94242  21130784.624    21130789.841    21130783.745
+     -1302.815       -1015.180          53.000          47.000
+ -20722644.06643 -16136319.63042  21385674.415    21385679.398    21385673.676
+       -34.184         -26.637          55.000          49.000
+ -22089618.34543 -17171791.96742  21135006.906    21135011.583    21135006.227
+     -1003.875        -782.240          56.000          49.000
+ -20785465.18443 -16141438.43442  20888805.945    20888810.708    20888804.734
+      2079.808        1620.630          56.000          49.000
+  -7688602.50743  -5968361.50142  23655918.321    23655925.452    23655917.668
+      -453.171        -353.120          48.000          42.000
+ -11036907.81943  -8545987.98342  22995714.911    22995722.899    22995714.068
+      1998.194        1557.034          49.000          43.000
+ 04  2  1  7 28  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -7120450.14443  -5131397.75042  23697237.404    23697246.501    23697235.202
+     -2589.331       -2017.660          48.000          41.000
+ -18650062.01043 -14470683.41742  21138230.006    21138235.462    21138229.267
+     -1305.485       -1017.261          53.000          47.000
+ -20721572.61543 -16135484.71642  21385878.384    21385883.420    21385877.303
+       -37.279         -29.048          55.000          49.000
+ -22059297.04343 -17148164.99542  21140776.541    21140781.620    21140775.851
+     -1017.529        -792.880          56.000          49.000
+ -20847617.84843 -16189869.02642  20876978.433    20876983.294    20876977.205
+      2063.688        1608.069          56.000          49.000
+  -7674797.32143  -5957604.19142  23658545.762    23658552.998    23658545.563
+      -467.349        -364.168          49.000          42.000
+ -11096609.14243  -8592508.44342  22984355.373    22984360.770    22984353.833
+      1981.707        1544.187          50.000          43.000
+ 04  2  1  7 28 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -7042647.41843  -5070772.39742  23712041.655    23712053.172    23712041.588
+     -2597.580       -2024.088          48.000          41.000
+ -18610859.22843 -14440135.78942  21145689.818    21145695.867    21145688.654
+     -1308.179       -1019.360          53.000          47.000
+ -20720419.63743 -16134586.28342  21386098.234    21386102.407    21386096.544
+       -39.832         -31.038          55.000          49.000
+ -22028572.11343 -17124223.50942  21146623.483    21146628.771    21146622.955
+     -1031.061        -803.424          56.000          49.000
+ -20909290.00843 -16237925.20842  20865243.112    20865247.274    20865241.913
+      2047.602        1595.534          56.000          49.000
+  -7660562.84643  -5946512.36942  23661254.884    23661261.247    23661253.625
+      -482.054        -375.626          49.000          42.000
+ -11155820.40943  -8638647.05942  22973087.540    22973094.022    22973086.436
+      1965.212        1531.334          50.000          43.000
+ 04  2  1  7 29  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -6964591.31243  -5009949.60142  23726895.256    23726905.493    23726895.367
+     -2605.921       -2030.588          48.000          41.000
+ -18571580.12543 -14409528.69242  21153164.865    21153170.070    21153163.765
+     -1310.441       -1021.123          54.000          47.000
+ -20719186.52143 -16133625.39942  21386332.413    21386336.849    21386330.950
+       -42.364         -33.011          55.000          49.000
+ -21997443.08543 -17099967.15042  21152547.067    21152552.152    21152546.195
+     -1044.193        -813.657          56.000          49.000
+ -20970480.88943 -16285606.36242  20853598.711    20853603.327    20853597.532
+      2031.814        1583.232          56.000          49.000
+  -7645898.92643  -5935085.89342  23664045.087    23664051.064    23664043.047
+      -495.781        -386.323          48.000          42.000
+ -11214540.29643  -8684402.77942  22961913.554    22961919.458    22961912.297
+      1949.332        1518.960          50.000          43.000
+ 04  2  1  7 29 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -6886282.82643  -4948930.15042  23741797.443    23741807.849    23741796.975
+     -2613.909       -2036.812          48.000          41.000
+ -18532225.39643 -14378862.67242  21160653.528    21160659.052    21160652.503
+     -1312.601       -1022.806          54.000          48.000
+ -20717874.31443 -16132602.89442  21386581.709    21386586.735    21386580.767
+       -44.559         -34.721          55.000          48.000
+ -21965909.75843 -17075395.74342  21158547.336    21158552.660    21158546.726
+     -1057.404        -823.951          56.000          49.000
+ -21031189.34643 -16332911.60042  20842046.271    20842050.936    20842044.983
+      2016.092        1570.981          56.000          49.000
+  -7630805.39743  -5923324.67642  23666917.615    23666924.175    23666916.027
+      -509.998        -397.401          48.000          42.000
+ -11272767.14543  -8729774.31942  22950834.551    22950840.307    22950832.547
+      1933.135        1506.339          51.000          44.000
+ 04  2  1  7 30  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -6807719.46343  -4887712.06042  23756746.669    23756756.345    23756745.755
+     -2623.606       -2044.368          48.000          40.000
+ -18492792.40243 -14348135.65042  21168157.363    21168163.349    21168156.326
+     -1316.435       -1025.793          54.000          47.000
+ -20716480.81643 -16131517.04042  21386847.683    21386852.055    21386846.068
+       -48.413         -37.724          55.000          48.000
+ -21933968.21643 -17050506.25642  21164626.306    21164630.968    21164625.453
+     -1072.226        -835.501          56.000          49.000
+ -21091410.78943 -16379837.35142  20830586.265    20830590.558    20830585.017
+      1998.568        1557.326          56.000          49.000
+  -7615278.69843  -5911225.91142  23669870.767    23669878.945    23669869.740
+      -525.476        -409.462          48.000          42.000
+ -11330496.19343  -8774757.95442  22939848.842    22939853.096    22939847.277
+      1915.250        1492.403          50.000          44.000
+ 04  2  1  7 30 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -6728908.10443  -4826300.72442  23771745.556    23771755.245    23771743.836
+     -2631.839       -2050.784          47.000          40.000
+ -18453287.94443 -14317352.96442  21175674.960    21175680.689    21175674.128
+     -1318.550       -1027.441          54.000          48.000
+ -20715013.24843 -16130373.46942  21387126.516    21387131.451    21387124.949
+       -50.758         -39.552          55.000          48.000
+ -21901624.18543 -17025303.13742  21170780.720    21170786.119    21170780.213
+     -1085.459        -845.812          56.000          49.000
+ -21151150.57543 -16426387.77742  20819218.147    20819222.690    20819217.011
+      1982.674        1544.941          56.000          49.000
+  -7599324.69743  -5898794.18842  23672908.223    23672914.679    23672906.471
+      -539.697        -420.543          48.000          42.000
+ -11387731.93443  -8819357.19642  22928956.270    22928960.920    22928953.850
+      1899.266        1479.948          50.000          44.000
+ 04  2  1  7 31  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -6649842.08043  -4764690.98742  23786790.683    23786802.078    23786790.200
+     -2639.641       -2056.863          46.000          40.000
+ -18413705.03543 -14286509.13742  21183207.810    21183213.109    21183206.377
+     -1320.463       -1028.932          54.000          48.000
+ -20713465.11343 -16129167.11842  21387420.460    21387425.833    21387419.757
+       -52.687         -41.055          55.000          48.000
+ -21868869.56643 -16999780.08442  21177013.771    21177019.259    21177013.470
+     -1098.458        -855.941          56.000          49.000
+ -21210399.89343 -16472556.03442  20807943.516    20807947.729    20807942.202
+      1967.069        1532.781          56.000          49.000
+  -7582935.72743  -5886023.53742  23676025.911    23676033.654    23676024.512
+      -553.324        -431.161          48.000          42.000
+ -11444465.27643  -8863564.97942  22918162.055    22918165.492    22918159.398
+      1882.796        1467.114          51.000          43.000
+ 04  2  1  7 31 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -6570529.77843  -4702889.35842  23801882.673    23801892.458    23801882.081
+     -2648.018       -2063.391          45.000          40.000
+ -18374051.50743 -14255610.28442  21190752.630    21190758.775    21190751.597
+     -1323.207       -1031.070          53.000          47.000
+ -20711844.87843 -16127904.58742  21387729.292    21387734.654    21387728.022
+       -55.398         -43.167          55.000          49.000
+ -21835711.38143 -16973942.57042  21183323.215    21183328.805    21183322.810
+     -1112.207        -866.655          56.000          49.000
+ -21269165.04743 -16518347.01442  20796760.612    20796765.240    20796759.721
+      1950.587        1519.938          56.000          50.000
+  -7566118.88743  -5872919.48342  23679225.340    23679232.304    23679225.105
+      -567.963        -442.568          48.000          42.000
+ -11500702.04643  -8907385.81842  22907458.658    22907464.309    22907457.844
+      1866.129        1454.126          50.000          43.000
+ 04  2  1  7 32  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -6490966.29143  -4640892.01242  23817023.551    23817035.234    23817023.655
+     -2656.993       -2070.384          45.000          40.000
+ -18334322.12043 -14224652.31742  21198313.446    21198318.637    21198312.299
+     -1326.167       -1033.377          53.000          47.000
+ -20710147.84743 -16126582.21842  21388051.934    21388057.318    21388050.802
+       -58.410         -45.514          55.000          49.000
+ -21802143.66543 -16947785.93742  21189711.572    21189716.623    21189710.646
+     -1126.443        -877.748          56.000          49.000
+ -21327439.43843 -16563755.57942  20785671.473    20785675.882    20785670.313
+      1933.582        1506.687          56.000          50.000
+  -7548868.28743  -5859477.42442  23682508.300    23682515.963    23682507.110
+      -583.000        -454.286          48.000          42.000
+ -11556434.67343  -8950813.82142  22896853.269    22896858.739    22896851.062
+      1848.782        1440.609          50.000          43.000
+ 04  2  1  7 32 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -6411155.47643  -4578701.95042  23832211.706    23832222.327    23832212.054
+     -2664.970       -2076.600          47.000          41.000
+ -18294520.72843 -14193638.25242  21205887.459    21205892.605    21205886.512
+     -1328.350       -1035.078          54.000          47.000
+ -20708378.08343 -16125203.17742  21388389.346    21388394.106    21388387.240
+       -60.631         -47.245          55.000          48.000
+ -21768169.30543 -16921312.43842  21196176.603    21196181.636    21196175.960
+     -1139.692        -888.072          56.000          49.000
+ -21385224.84343 -16608783.11342  20774674.975    20774679.856    20774673.876
+      1917.571        1494.211          56.000          50.000
+  -7531186.95043  -5845699.72942  23685874.189    23685881.279    23685873.404
+      -597.056        -465.238          49.000          42.000
+ -11611664.80243  -8993850.25542  22886343.970    22886347.957    22886341.916
+      1832.165        1427.661          50.000          43.000
+ 04  2  1  7 33  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -6331096.52343  -4516318.52742  23847447.857    23847457.034    23847445.859
+     -2672.267       -2082.286          48.000          41.000
+ -18254645.83443 -14162566.90942  21213475.293    21213480.962    21213474.443
+     -1329.925       -1036.305          53.000          47.000
+ -20706534.75943 -16123766.81242  21388740.290    21388744.912    21388738.603
+       -62.076         -48.371          55.000          49.000
+ -21733785.70543 -16894520.05142  21202719.689    21202724.369    21202718.743
+     -1152.450        -898.013          56.000          49.000
+ -21442518.31143 -16653427.31942  20763772.456    20763776.894    20763771.369
+      1902.051        1482.118          56.000          50.000
+  -7513072.74043  -5831584.71942  23689319.912    23689328.195    23689318.723
+      -610.709        -475.877          47.000          42.000
+ -11666389.31043  -9036492.70042  22875929.930    22875935.558    22875927.216
+      1816.335        1415.326          50.000          44.000
+ 04  2  1  7 33 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -6250792.01943  -4453743.74442  23862727.945    23862738.298    23862727.675
+     -2680.734       -2088.884          47.000          40.000
+ -18214699.64243 -14131440.01842  21221076.726    21221081.984    21221075.873
+     -1332.469       -1038.287          53.000          47.000
+ -20704620.47443 -16122275.16342  21389104.233    21389109.240    21389102.921
+       -64.751         -50.455          55.000          49.000
+ -21698994.19943 -16867409.81742  21209339.835    21209345.162    21209339.466
+     -1166.309        -908.812          56.000          49.000
+ -21499320.62743 -16697688.81942  20752963.260    20752967.590    20752962.074
+      1885.427        1469.164          56.000          50.000
+  -7494527.05243  -5817133.50042  23692849.441    23692857.432    23692849.252
+      -625.195        -487.165          48.000          42.000
+ -11720608.00443  -9078741.02542  22865611.542    22865618.932    22865609.795
+      1799.332        1402.077          50.000          44.000
+ 04  2  1  7 34  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -6170239.63243  -4390975.81842  23878055.714    23878064.526    23878056.046
+     -2689.308       -2095.565          48.000          40.000
+ -18174679.52243 -14100255.51042  21228692.604    21228697.500    21228690.584
+     -1335.520       -1040.665          53.000          47.000
+ -20702633.30143 -16120726.70942  21389481.974    21389486.565    21389480.685
+       -67.704         -52.756          55.000          48.000
+ -21663791.20743 -16839978.94442  21216038.891    21216044.191    21216038.531
+     -1180.600        -919.948          56.000          49.000
+ -21555627.81643 -16741564.49642  20742248.374    20742252.787    20742246.991
+      1868.399        1455.895          56.000          50.000
+  -7475546.85043  -5802343.68842  23696462.058    23696469.429    23696460.284
+      -640.198        -498.855          48.000          42.000
+ -11774316.33943  -9120591.66742  22855391.726    22855397.360    22855390.071
+      1781.542        1388.215          50.000          44.000
+ 04  2  1  7 34 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -6089445.37343  -4328019.44942  23893433.441    23893441.805    23893432.280
+     -2696.565       -2101.219          48.000          40.000
+ -18134591.00543 -14069017.72042  21236321.119    21236326.426    21236319.628
+     -1336.802       -1041.664          53.000          47.000
+ -20700578.85543 -16119125.83042  21389873.027    21389878.212    21389872.226
+       -68.983         -53.753          55.000          48.000
+ -21628181.58343 -16812231.20842  21222815.395    21222820.688    21222814.781
+     -1193.050        -929.649          56.000          49.000
+ -21611443.88643 -16785057.48842  20731626.735    20731631.542    20731625.851
+      1852.959        1443.864          56.000          50.000
+  -7456137.01443  -5787219.09442  23700155.465    23700161.104    23700153.949
+      -653.552        -509.261          48.000          42.000
+ -11827518.09943  -9162047.54642  22845268.069    22845273.855    22845265.659
+      1765.742        1375.903          51.000          44.000
+ 04  2  1  7 35  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -6008406.59743  -4264872.52342  23908852.578    23908864.467    23908851.352
+     -2705.592       -2108.253          46.000          40.000
+ -18094431.15143 -14037724.33442  21243963.262    21243968.662    21243961.859
+     -1340.038       -1044.185          53.000          47.000
+ -20698454.68843 -16117470.62742  21390277.246    21390282.355    21390275.721
+       -71.972         -56.082          55.000          49.000
+ -21592161.37543 -16784163.54142  21229669.809    21229674.971    21229669.313
+     -1207.636        -941.015          56.000          49.000
+ -21666764.22943 -16828164.19942  20721100.042    20721104.415    20721098.601
+      1835.617        1430.351          56.000          50.000
+  -7436293.82643  -5771756.85042  23703931.389    23703938.682    23703929.715
+      -668.928        -521.242          48.000          42.000
+ -11880208.28943  -9203104.80542  22835239.774    22835247.307    22835238.837
+      1747.721        1361.861          50.000          44.000
+ 04  2  1  7 35 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -5927122.59143  -4201534.55442  23924322.086    23924332.623    23924320.427
+     -2713.223       -2114.200          47.000          40.000
+ -18054198.79843 -14006374.46642  21251619.005    21251624.487    21251617.943
+     -1342.046       -1045.750          53.000          47.000
+ -20696260.49643 -16115760.85942  21390695.263    21390699.693    21390693.478
+       -73.992         -57.656          55.000          48.000
+ -21555728.89143 -16755774.61542  21236603.340    21236607.861    21236602.081
+     -1220.944        -951.385          56.000          49.000
+ -21721586.41143 -16870882.72942  20710667.575    20710671.799    20710665.962
+      1819.267        1417.611          56.000          50.000
+  -7416015.77243  -5755955.75142  23707789.678    23707796.680    23707789.555
+      -682.991        -532.201          48.000          42.000
+ -11932383.86643  -9243761.08942  22825312.460    22825317.707    22825310.723
+      1730.852        1348.716          50.000          44.000
+ 04  2  1  7 36  0.0000000  0  7G 1G27G 8G13G28G31G10
+  -5845594.35843  -4138006.25342  23939836.015    23939846.842    23939835.623
+     -2721.887       -2120.951          47.000          40.000
+ -18013894.19043 -13974968.27942  21259288.897    21259293.420    21259287.775
+     -1344.994       -1048.047          54.000          47.000
+ -20693996.71243 -16113996.85642  21391125.588    21391130.323    21391124.270
+       -76.912         -59.931          55.000          49.000
+ -21518883.47943 -16727063.91442  21243614.198    21243619.652    21243613.537
+     -1235.377        -962.631          56.000          49.000
+ -21775909.31243 -16913212.21042  20700330.248    20700334.293    20700329.164
+      1802.134        1404.260          56.000          50.000
+  -7395302.63743  -5739815.60742  23711731.548    23711737.886    23711729.943
+      -698.016        -543.908          48.000          42.000
+ -11984042.93343  -9284014.86042  22815480.475    22815488.716    22815479.536
+      1712.885        1334.716          50.000          44.000
+ 04  2  1  7 36 30.0000000  0  7G 1G27G 8G13G28G31G10
+  -5763827.81743  -4074292.25942  23955397.095    23955404.954    23955396.498
+     -2729.340       -2126.758          46.000          40.000
+ -17973522.99243 -13943510.20442  21266971.128    21266976.479    21266969.638
+     -1346.694       -1049.372          53.000          47.000
+ -20691669.45943 -16112183.39942  21391568.666    21391573.434    21391567.256
+       -78.502         -61.170          55.000          49.000
+ -21481629.98743 -16698035.23942  21250703.236    21250708.264    21250702.409
+     -1248.547        -972.894          56.000          49.000
+ -21829737.37143 -16955156.09742  20690086.854    20690091.126    20690085.422
+      1786.122        1391.783          56.000          50.000
+  -7374159.44043  -5723340.33542  23715754.248    23715760.869    23715753.458
+      -711.858        -554.694          48.000          41.000
+ -12035189.22543  -9323869.09942  22805748.695    22805754.974    22805747.585
+      1696.377        1321.852          50.000          44.000
+ 04  2  1  7 37  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -5681821.80943  -4010391.65442  23971002.143    23971012.644    23970999.601
+     -2737.764       -2133.322          45.000          39.000
+ -17933083.35343 -13911998.80742  21274666.429    21274672.124    21274665.640
+     -1349.255       -1051.367          53.000          47.000
+                                  24795648.647
+      3229.859        2516.773          41.000
+ -20689277.89943 -16110319.83442  21392023.491    21392029.210    21392022.272
+       -80.975         -63.097          55.000          49.000
+ -21443966.20543 -16668686.85242  21257869.809    21257875.315    21257869.210
+     -1262.586        -983.833          56.000          49.000
+ -21883067.31343 -16996711.84842  20679938.628    20679942.794    20679937.527
+      1769.273        1378.654          56.000          50.000
+  -7352583.97943  -5706528.24442  23719861.110    23719867.270    23719859.250
+      -726.519        -566.119          49.000          42.000
+ -12085819.72543  -9363321.39142  22796114.763    22796119.420    22796112.439
+      1678.598        1307.998          51.000          44.000
+ 04  2  1  7 37 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -5599572.71543  -3946301.68242  23986650.132    23986663.148    23986651.669
+     -2745.237       -2139.146          43.000          39.000
+ -17892571.15843 -13880430.85542  21282375.903    21282380.949    21282374.613
+     -1351.384       -1053.026          53.000          47.000
+  -1425533.51253  -1066339.30252  24777191.883    24777208.286    24777189.992
+      3236.280        2521.777          42.000          35.000
+ -20686818.00043 -16108403.01442  21392491.614    21392496.547    21392490.143
+       -82.682         -64.427          55.000          49.000
+ -21405887.02243 -16639014.76742  21265116.848    21265121.803    21265115.993
+     -1275.765        -994.102          56.000          49.000
+ -21935893.83043 -17037875.31442  20669885.826    20669890.264    20669884.824
+      1752.705        1365.744          56.000          50.000
+  -7330571.70443  -5689375.81942  23724049.500    23724057.324    23724047.928
+      -740.856        -577.290          48.000          41.000
+ -12135928.04943  -9402366.81842  22786578.663    22786584.116    22786576.403
+      1662.037        1295.094          50.000          44.000
+ 04  2  1  7 38  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -5517086.63343  -3882027.03442  24002347.623    24002360.832    24002347.545
+     -2752.879       -2145.100          44.000          39.000
+ -17851992.07343 -13848810.79542  21290097.494    21290102.965    21290096.605
+     -1353.314       -1054.530          53.000          47.000
+  -1522702.31243  -1142054.67542  24758701.498    24758715.100    24758698.693
+      3242.137        2526.340          43.000          36.000
+ -20684296.00743 -16106437.80342  21392971.646    21392976.386    21392970.291
+       -84.633         -65.948          55.000          49.000
+ -21367397.60943 -16609023.02742  21272441.158    21272446.022    21272440.037
+     -1289.398       -1004.726          56.000          49.000
+ -21988221.33243 -17078649.93542  20659928.393    20659932.769    20659927.202
+      1736.381        1353.024          56.000          50.000
+  -7308127.90143  -5671887.09642  23728320.144    23728325.875    23728318.513
+      -755.050        -588.351          48.000          41.000
+ -12185518.11543  -9441008.38042  22777143.452    22777147.168    22777140.117
+      1644.786        1281.651          50.000          44.000
+ 04  2  1  7 38 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -5434360.02643  -3817564.94142  24018091.961    24018101.552    24018089.501
+     -2761.160       -2151.553          46.000          39.000
+ -17811341.82543 -13817135.28242  21297833.353    21297838.111    21297831.601
+     -1355.930       -1056.569          53.000          47.000
+  -1620045.46043  -1217905.86242  24740177.253    24740190.344    24740174.283
+      3247.833        2530.779          43.000          37.000
+ -20681708.08543 -16104421.22442  21393464.059    21393469.092    21393462.335
+       -87.052         -67.833          55.000          49.000
+ -21328493.20143 -16578707.91242  21279843.913    21279849.357    21279843.926
+     -1303.268       -1015.533          56.000          49.000
+ -22040044.37443 -17119031.47742  20650067.083    20650070.949    20650065.714
+      1719.313        1339.724          56.000          50.000
+  -7285247.81943  -5654058.42642  23732674.036    23732682.401    23732672.669
+      -769.582        -599.674          48.000          42.000
+ -12234584.01943  -9479241.50642  22767805.325    22767811.946    22767803.454
+      1627.047        1267.829          50.000          44.000
+ 04  2  1  7 39  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -5351431.25543  -3752945.35242  24033871.352    24033883.470    24033872.367
+     -2769.264       -2157.868          46.000          39.000
+ -17770658.20143 -13785433.76742  21305574.963    21305580.315    21305573.774
+     -1358.366       -1058.467          53.000          47.000
+  -1717598.32343  -1293920.44942  24721612.862    24721627.748    24721611.220
+      3253.409        2535.124          44.000          38.000
+ -20679092.55243 -16102383.12742  21393961.637    21393967.066    21393960.009
+       -89.331         -69.608          55.000          49.000
+ -21289210.90843 -16548098.34842  21287319.557    21287324.706    21287319.154
+     -1317.338       -1026.497          56.000          49.000
+ -22091399.54743 -17159048.44942  20640293.660    20640298.183    20640292.701
+      1702.317        1326.481          56.000          50.000
+  -7261969.08243  -5635919.13242  23737105.518    23737110.644    23737103.127
+      -784.494        -611.294          48.000          42.000
+ -12283161.91343  -9517094.38842  22758559.991    22758566.983    22758559.406
+      1609.600        1254.234          49.000          44.000
+ 04  2  1  7 39 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -5268231.90243  -3688114.91842  24049705.266    24049715.314    24049704.348
+     -2777.742       -2164.474          48.000          39.000
+ -17729872.28943 -13753652.54642  21313336.250    21313342.254    21313335.054
+     -1361.171       -1060.653          53.000          47.000
+  -1815289.40443  -1370042.74942  24703021.471    24703038.645    24703020.337
+      3258.550        2539.130          44.000          38.000
+ -20676380.81743 -16100270.08042  21394477.683    21394482.778    21394476.490
+       -91.897         -71.608          55.000          49.000
+ -21249480.93343 -16517139.94042  21294880.027    21294885.207    21294879.427
+     -1331.837       -1037.795          56.000          49.000
+ -22142216.54443 -17198646.05342  20630623.960    20630627.832    20630622.720
+      1684.925        1312.929          56.000          50.000
+  -7238222.23743  -5617415.06242  23741622.974    23741629.556    23741622.926
+      -799.372        -622.887          48.000          41.000
+ -12331181.07643  -9554511.89342  22749422.890    22749428.352    22749421.653
+      1591.195        1239.892          49.000          44.000
+ 04  2  1  7 40  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -5184797.39243  -3623101.24942  24065582.663    24065592.140    24065581.161
+     -2784.312       -2169.594          48.000          39.000
+ -17689018.64843 -13721818.54742  21321110.469    21321116.090    21321109.680
+     -1362.286       -1061.521          53.000          47.000
+  -1913150.59843  -1446297.61742  24684398.450    24684414.024    24684398.504
+      3265.346        2544.425          45.000          39.000
+ -20673608.26843 -16098109.63942  21395005.267    21395010.220    21395003.963
+       -92.747         -72.270          55.000          49.000
+ -21209337.77443 -16485859.57642  21302518.864    21302524.105    21302518.347
+     -1344.317       -1047.520          56.000          49.000
+ -22192528.72643 -17237850.30042  20621050.287    20621054.063    20621048.456
+      1669.360        1300.800          56.000          50.000
+  -7214041.62743  -5598573.03442  23746224.755    23746230.193    23746224.036
+      -812.512        -633.126          48.000          42.000
+ -12378674.50643  -9591519.73142  22740385.964    22740391.344    22740384.037
+      1574.974        1227.252          50.000          44.000
+ 04  2  1  7 40 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -5101128.38243  -3557904.85142  24081504.831    24081515.839    24081503.000
+     -2792.717       -2176.143          48.000          39.000
+ -17648097.40243 -13689931.86042  21328897.342    21328903.238    21328896.823
+     -1365.020       -1063.652          53.000          47.000
+  -2011179.84843  -1522683.44142  24665743.448    24665758.389    24665742.176
+      3270.504        2548.445          45.000          39.000
+ -20670775.41343 -16095902.20542  21395544.843    21395549.590    21395543.277
+       -95.352         -74.300          55.000          49.000
+ -21168780.59243 -16454256.58742  21310236.366    21310241.879    21310235.617
+     -1358.511       -1058.580          56.000          49.000
+ -22242335.39443 -17276660.63742  20611571.975    20611576.152    20611570.691
+      1651.848        1287.154          56.000          50.000
+  -7189427.21743  -5579392.97142  23750908.921    23750915.196    23750906.472
+      -827.792        -645.033          48.000          42.000
+ -12425640.76943  -9628116.79042  22731446.966    22731453.658    22731446.195
+      1556.963        1213.218          50.000          44.000
+ 04  2  1  7 41  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -5017227.84843  -3492528.05242  24097470.834    24097480.410    24097470.906
+     -2801.070       -2182.652          48.000          37.000
+ -17607110.89143 -13657994.31842  21336697.479    21336702.704    21336696.223
+     -1367.809       -1065.825          53.000          47.000
+  -2109376.63843  -1599199.85242  24647057.606    24647070.962    24647056.204
+      3275.550        2552.377          46.000          39.000
+ -20667884.76343 -16093649.72942  21396094.749    21396099.564    21396093.486
+       -97.672         -76.108          55.000          49.000
+ -21127811.25643 -16422332.44442  21318033.181    21318038.251    21318032.628
+     -1372.891       -1069.785          56.000          49.000
+ -22291637.75943 -17315078.01742  20602189.662    20602193.987    20602188.443
+      1634.625        1273.734          56.000          50.000
+  -7164380.95143  -5559876.38142  23755673.597    23755680.900    23755673.086
+      -842.454        -656.458          47.000          41.000
+ -12472080.42343  -9664303.50942  22722611.068    22722615.733    22722609.751
+      1538.750        1199.026          51.000          44.000
+ 04  2  1  7 41 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -4933095.27143  -3426970.43742  24113480.762    24113490.699    24113482.649
+     -2808.193       -2188.202          48.000          37.000
+ -17566057.90343 -13626004.97642  21344508.921    21344514.437    21344507.696
+     -1369.255       -1066.952          53.000          47.000
+  -2207737.56743  -1675844.17642  24628340.433    24628353.900    24628337.892
+      3281.521        2557.029          46.000          40.000
+ -20664935.98143 -16091351.96542  21396655.632    21396660.658    21396654.336
+       -99.040         -77.174          55.000          49.000
+ -21086428.19743 -16390085.92642  21325907.773    21325912.686    21325906.906
+     -1386.137       -1080.107          56.000          49.000
+ -22340433.57643 -17353100.69242  20592903.907    20592908.245    20592902.953
+      1618.311        1261.022          55.000          50.000
+  -7138901.56143  -5540022.27842  23760523.280    23760529.444    23760521.298
+      -856.339        -667.277          47.000          41.000
+ -12517990.85143  -9700077.82742  22713874.234    22713880.327    22713873.495
+      1521.722        1185.757          51.000          44.000
+ 04  2  1  7 42  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -4848731.81743  -3361232.91542  24129533.873    24129543.129    24129531.669
+     -2816.358       -2194.565          46.000          37.000
+ -17524938.74843 -13593964.07442  21352333.640    21352339.428    21352332.644
+     -1372.192       -1069.240          53.000          47.000
+  -2306260.43243  -1752614.70842  24609591.095    24609605.599    24609589.744
+      3286.267        2560.728          46.000          40.000
+ -20661930.02743 -16089009.64742  21397227.427    21397232.699    21397226.095
+      -101.538         -79.120          55.000          49.000
+ -21044631.37343 -16357516.99342  21333861.746    21333866.578    21333860.924
+     -1400.448       -1091.258          56.000          49.000
+ -22388722.33843 -17390728.25942  20583715.110    20583719.432    20583714.290
+      1600.716        1247.311          56.000          50.000
+  -7112989.16043  -5519830.77242  23765453.907    23765459.884    23765453.272
+      -871.295        -678.931          48.000          42.000
+ -12563370.92743  -9735438.90042  22705238.877    22705245.862    22705237.171
+      1503.291        1171.396          50.000          44.000
+ 04  2  1  7 42 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -4764135.24743  -3295313.76242  24145633.979    24145647.310    24145633.642
+     -2824.179       -2200.659          46.000          37.000
+ -17483750.64543 -13561869.44842  21360171.824    21360176.914    21360170.777
+     -1374.391       -1070.954          53.000          47.000
+  -2404939.72743  -1829507.13942  24590812.748    24590825.680    24590812.632
+      3291.802        2565.041          47.000          40.000
+ -20658864.12743 -16086620.62442  21397811.159    21397816.124    21397809.608
+      -103.575         -80.708          55.000          49.000
+ -21002417.56043 -16324623.14142  21341894.756    21341899.559    21341893.757
+     -1414.206       -1101.979          56.000          49.000
+ -22436499.86743 -17427957.46342  20574623.381    20574627.381    20574622.199
+      1583.627        1233.995          56.000          50.000
+  -7086640.70743  -5499299.48742  23770467.370    23770473.279    23770465.939
+      -885.871        -690.289          48.000          42.000
+ -12608216.33243  -9770383.33642  22696704.797    22696709.722    22696703.894
+      1485.641        1157.642          50.000          44.000
+ 04  2  1  7 43  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -4679311.68843  -3229217.74342  24161775.225    24161788.936    24161771.613
+     -2831.259       -2206.176          46.000          38.000
+ -17442498.86343 -13529725.20542  21368021.865    21368027.164    21368021.254
+     -1376.030       -1072.231          53.000          47.000
+  -2503778.37143  -1906523.76042  24572004.123    24572016.651    24572001.335
+      3297.482        2569.466          46.000          40.000
+ -20655744.26843 -16084189.55542  21398404.632    21398409.815    21398402.913
+      -104.758         -81.630          55.000          49.000
+ -20959791.48843 -16291408.03642  21350006.148    21350011.116    21350005.329
+     -1427.550       -1112.377          56.000          49.000
+ -22483770.74843 -17464791.87742  20565627.925    20565632.374    20565626.773
+      1567.423        1221.369          56.000          50.000
+  -7059861.43843  -5478432.49642  23775563.132    23775569.274    23775563.254
+      -899.732        -701.090          47.000          41.000
+ -12652530.92143  -9804914.15842  22688272.465    22688278.252    22688270.935
+      1468.516        1144.298          50.000          44.000
+ 04  2  1  7 43 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -4594257.22343  -3162941.78342  24177961.279    24177972.398    24177959.319
+     -2838.458       -2211.785          46.000          37.000
+ -17401178.63343 -13497527.61642  21375884.479    21375890.218    21375883.358
+     -1378.078       -1073.827          53.000          47.000
+  -2602768.91943  -1983658.78842  24553166.625    24553180.816    24553163.264
+      3302.391        2573.292          47.000          40.000
+ -20652566.26243 -16081713.18342  21399008.843    21399014.453    21399007.839
+      -106.533         -83.013          54.000          49.000
+ -20916748.25743 -16257867.88342  21358196.920    21358201.657    21358196.438
+     -1441.453       -1123.210          56.000          48.000
+ -22530529.26643 -17501227.04942  20556729.814    20556734.483    20556728.631
+      1550.430        1208.127          56.000          50.000
+  -7032646.39743  -5457225.96142  23780741.894    23780748.701    23780740.761
+      -914.245        -712.399          47.000          41.000
+ -12696308.57843  -9839026.58142  22679941.503    22679949.034    22679939.751
+      1450.556        1130.303          50.000          44.000
+ 04  2  1  7 44  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -4508978.51343  -3096491.10442  24194188.863    24194200.269    24194188.282
+     -2846.057       -2217.707          45.000          38.000
+ -17359796.03643 -13465281.42942  21383759.552    21383765.015    21383758.418
+     -1380.414       -1075.647          53.000          47.000
+  -2701914.96243  -2060914.94442  24534299.193    24534312.093    24534296.809
+      3307.685        2577.417          46.000          40.000
+ -20649336.43743 -16079196.42242  21399624.510    21399629.423    21399622.690
+      -108.413         -84.478          55.000          48.000
+ -20873293.17743 -16224006.80742  21366466.257    21366471.432    21366465.602
+     -1455.164       -1133.894          55.000          48.000
+ -22576780.54943 -17537266.97242  20547928.731    20547932.978    20547927.517
+      1533.244        1194.736          56.000          50.000
+  -7005001.60443  -5435684.53242  23786004.804    23786009.764    23786001.986
+      -928.575        -723.565          48.000          41.000
+ -12739553.85343  -9872724.17242  22671712.446    22671718.934    22671711.017
+      1432.722        1116.407          51.000          44.000
+ 04  2  1  7 44 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -4423474.83843  -3029865.13542  24210459.678    24210471.109    24210458.325
+     -2853.790       -2223.732          45.000          38.000
+ -17318349.64043 -13432985.53442  21391647.450    21391652.210    21391645.694
+     -1382.638       -1077.380          54.000          47.000
+  -2801212.57543  -2138289.24442  24515403.776    24515415.908    24515402.072
+      3312.435        2581.118          46.000          40.000
+ -20646054.03643 -16076638.70142  21400248.462    21400253.746    21400247.343
+      -110.314         -85.959          55.000          48.000
+ -20829424.85443 -16189823.73342  21374814.097    21374818.993    21374812.994
+     -1469.141       -1144.785          55.000          48.000
+ -22622522.28943 -17572909.85242  20539224.240    20539228.524    20539223.334
+      1516.200        1181.455          56.000          50.000
+  -6976925.65543  -5413807.14542  23791346.621    23791352.662    23791344.578
+      -943.087        -734.873          48.000          42.000
+ -12782264.10243  -9906004.85742  22663584.688    22663590.312    22663582.717
+      1414.777        1102.424          50.000          44.000
+ 04  2  1  7 45  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -4337743.03143  -2963061.37342  24226773.751    24226785.698    24226773.181
+     -2861.773       -2229.953          46.000          39.000
+ -17276835.37643 -13400636.73742  21399546.135    21399552.211    21399544.692
+     -1385.228       -1079.398          53.000          47.000
+  -2900655.01943  -2215776.39242  24496479.591    24496492.807    24496477.862
+      3316.836        2584.548          46.000          40.000
+ -20642715.36643 -16074037.13242  21400883.572    21400889.254    21400882.534
+      -112.450         -87.623          55.000          49.000
+ -20785138.69243 -16155315.06642  21383241.678    21383246.818    21383241.239
+     -1483.444       -1155.930          56.000          49.000
+ -22667749.63943 -17608151.90142  20530618.114    20530622.094    20530616.935
+      1498.723        1167.836          56.000          50.000
+  -6948414.40643  -5391590.54342  23796771.979    23796777.984    23796769.863
+      -957.944        -746.450          47.000          42.000
+ -12824433.68643  -9938864.23842  22655559.652    22655566.749    22655558.386
+      1396.409        1088.111          50.000          44.000
+ 04  2  1  7 45 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -4251787.97743  -2896083.66442  24243129.785    24243142.365    24243129.802
+     -2868.341       -2235.071          46.000          39.000
+ -17235257.12443 -13368238.09242  21407458.239    21407463.353    21407456.918
+     -1386.503       -1080.392          53.000          47.000
+  -3000243.92243  -2293377.65842  24477528.671    24477540.861    24477526.076
+      3322.886        2589.262          46.000          40.000
+ -20639324.99543 -16071395.27642  21401529.284    21401534.441    21401527.769
+      -113.272         -88.264          55.000          49.000
+ -20740438.43043 -16120483.72642  21391747.594    21391752.433    21391747.043
+     -1496.407       -1166.031          56.000          48.000
+ -22712465.69043 -17642995.53842  20522108.952    20522112.666    20522107.578
+      1482.560        1155.242          56.000          50.000
+  -6919471.80743  -5369037.83742  23802279.599    23802287.030    23802277.276
+      -971.439        -756.965          46.000          41.000
+ -12866065.14843  -9971304.31642  22647638.211    22647643.923    22647636.833
+      1379.289        1074.771          51.000          44.000
+ 04  2  1  7 46  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -4165610.35443  -2828932.53242  24259529.295    24259542.679    24259528.898
+     -2876.256       -2241.238          46.000          39.000
+ -17193614.68443 -13335789.43542  21415382.240    21415387.754    21415380.683
+     -1389.090       -1082.408          53.000          47.000
+  -3099976.51643  -2371090.89642  24458548.163    24458562.182    24458547.262
+      3326.899        2592.389          45.000          39.000
+ -20635883.08843 -16068713.26542  21402184.127    21402189.035    21402182.809
+      -115.558         -90.045          55.000          49.000
+ -20695323.77443 -16085329.49142  21400332.965    21400338.173    21400332.118
+     -1510.647       -1177.127          56.000          48.000
+ -22756669.43343 -17677439.97442  20513696.862    20513701.022    20513695.554
+      1465.034        1141.585          56.000          50.000
+  -6890097.62343  -5346148.84742  23807869.745    23807875.864    23807866.405
+      -986.254        -768.510          47.000          41.000
+ -12907157.46843 -10003324.26842  22639817.264    22639824.379    22639815.957
+      1360.768        1060.339          50.000          44.000
+ 04  2  1  7 46 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -4079208.64843  -2761606.75842  24275972.095    24275982.665    24275970.172
+     -2883.938       -2247.224          47.000          38.000
+ -17151905.67643 -13303288.89042  21423319.824    21423324.525    21423318.885
+     -1391.699       -1084.441          53.000          47.000
+  -3199847.74843  -2448912.17842  24439542.858    24439557.470    24439540.928
+      3331.098        2595.661          45.000          39.000
+ -20632388.01043 -16065989.81742  21402849.543    21402853.958    21402848.056
+      -117.582         -91.622          55.000          49.000
+ -20649791.98143 -16049850.21242  21408996.958    21409002.325    21408996.180
+     -1524.930       -1188.257          55.000          48.000
+ -22800357.75743 -17711482.78442  20505383.441    20505387.381    20505381.803
+      1447.401        1127.845          56.000          50.000
+  -6860289.63743  -5322921.81342  23813540.932    23813548.135    23813539.199
+     -1001.055        -780.043          48.000          41.000
+ -12947706.74643 -10034921.08142  22632102.929    22632107.572    22632100.899
+      1342.304        1045.951          52.000          45.000
+ 04  2  1  7 47  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -3992589.28543  -2694111.41842  24292456.129    24292467.940    24292452.350
+     -2890.599       -2252.415          46.000          37.000
+ -17110135.86843 -13270740.97342  21431268.107    21431273.164    21431267.058
+     -1393.110       -1085.540          53.000          47.000
+  -3299860.84443  -2526843.98442  24420512.328    24420524.417    24420509.809
+      3335.916        2599.415          46.000          40.000
+ -20628845.49443 -16063229.40342  21403523.560    21403527.733    21403522.005
+      -118.649         -92.454          55.000          48.000
+ -20603848.31443 -16014049.98042  21417739.774    21417744.931    21417739.148
+     -1538.082       -1198.505          55.000          48.000
+ -22843535.50343 -17745127.73842  20497166.592    20497170.884    20497165.545
+      1430.954        1115.029          56.000          50.000
+  -6830053.44543  -5299361.11442  23819294.316    23819301.254    23819293.487
+     -1014.829        -790.776          48.000          41.000
+ -12987717.55243 -10066098.29642  22624488.314    22624494.835    22624486.850
+      1324.848        1032.349          51.000          45.000
+ 04  2  1  7 47 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -3905746.50943  -2626441.93742  24308979.833    24308996.113    24308976.925
+     -2898.234       -2258.364          45.000          37.000
+ -17068298.29043 -13238140.26542  21439229.425    21439235.178    21439228.110
+     -1395.390       -1087.317          53.000          47.000
+  -3400006.26543  -2604878.92342  24401453.463    24401467.729    24401452.676
+      3340.768        2603.196          44.000          39.000
+ -20625249.47043 -16060427.29542  21404207.718    21404212.394    21404206.789
+      -120.368         -93.793          55.000          49.000
+ -20557486.20043 -15977923.68842  21426562.409    21426567.821    21426561.887
+     -1552.070       -1209.405          56.000          48.000
+ -22886195.35243 -17778369.14442  20489049.446    20489053.032    20489047.913
+      1413.729        1101.607          56.000          50.000
+  -6799382.45043  -5275461.62942  23825130.086    23825138.903    23825129.718
+     -1029.438        -802.159          47.000          41.000
+ -13027181.92743 -10096849.72242  22616977.950    22616984.679    22616977.096
+      1306.784        1018.273          51.000          45.000
+ 04  2  1  7 48  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -3818688.13343  -2558604.53342  24325548.267    24325557.105    24325546.465
+     -2905.765       -2264.232          46.000          37.000
+ -17026399.99243 -13205492.23742  21447202.217    21447207.973    21447201.239
+     -1397.565       -1089.012          53.000          47.000
+  -3500288.80943  -2683020.72142  24382370.016    24382383.873    24382368.235
+      3344.634        2606.208          44.000          39.000
+ -20621607.33243 -16057589.24942  21404900.947    21404905.623    21404899.457
+      -122.176         -95.202          55.000          48.000
+ -20510712.31643 -15941476.53842  21435463.208    21435468.100    21435462.663
+     -1566.075       -1220.318          55.000          48.000
+ -22928343.66243 -17811211.94642  20481028.423    20481032.357    20481027.044
+      1396.479        1088.165          56.000          50.000
+  -6768283.74343  -5251228.83842  23831050.187    23831054.710    23831047.775
+     -1043.942        -813.461          48.000          41.000
+ -13066105.35243 -10127179.64842  22609571.473    22609577.454    22609570.400
+      1288.416        1003.961          51.000          45.000
+ 04  2  1  7 48 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -3731412.09843  -2490597.51742  24342157.891    24342167.069    24342155.066
+     -2912.889       -2269.784          46.000          37.000
+ -16984438.02743 -13172794.60142  21455187.696    21455193.291    21455186.144
+     -1399.807       -1090.759          53.000          47.000
+  -3600702.84143  -2761264.98842  24363260.852    24363273.822    24363260.293
+      3349.136        2609.716          44.000          39.000
+ -20617916.65143 -16054713.37542  21405602.865    21405607.508    21405601.598
+      -123.830         -96.491          55.000          49.000
+ -20463523.54143 -15904706.09842  21444442.827    21444448.218    21444442.261
+     -1579.850       -1231.052          55.000          48.000
+ -22969976.91443 -17843653.40342  20473106.249    20473109.721    20473104.981
+      1379.201        1074.702          56.000          50.000
+  -6736754.68743  -5226660.69942  23837048.933    23837054.976    23837048.299
+     -1058.105        -824.497          47.000          41.000
+ -13104484.20543 -10157085.21342  22602267.534    22602274.616    22602266.544
+      1270.141         989.720          50.000          45.000
+ 04  2  1  7 49  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -3643918.89043  -2422421.28742  24358804.727    24358815.624    24358803.203
+     -2919.849       -2275.207          44.000          37.000
+ -16942411.84443 -13140046.93342  21463184.981    21463190.820    21463183.880
+     -1401.722       -1092.251          53.000          47.000
+  -3701245.24243  -2839609.29442  24344129.431    24344140.748    24344127.273
+      3353.197        2612.881          44.000          38.000
+ -20614177.52243 -16051799.74942  21406314.822    21406319.395    21406313.392
+      -125.168         -97.533          55.000          49.000
+ -20415919.06143 -15867611.73942  21453501.920    21453507.051    21453501.233
+     -1593.456       -1241.654          56.000          48.000
+ -23011093.68543 -17875692.41042  20465281.585    20465285.186    20465280.408
+      1362.180        1061.439          56.000          50.000
+  -6704794.82243  -5201756.86442  23843130.449    23843136.409    23843129.249
+     -1072.327        -835.579          46.000          41.000
+ -13142316.87843 -10186565.18542  22595067.880    22595074.155    22595066.639
+      1252.241         975.772          51.000          44.000
+ 04  2  1  7 49 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -3556210.50943  -2354077.40742  24375495.253    24375510.224    24375495.096
+     -2927.459       -2281.137          44.000          38.000
+ -16900322.59743 -13107250.12542  21471194.282    21471199.467    21471193.512
+     -1404.219       -1094.197          53.000          47.000
+  -3801914.64243  -2918052.54842  24324972.053    24324983.824    24324970.998
+      3357.959        2616.591          44.000          38.000
+ -20610391.34543 -16048849.47042  21407035.188    21407039.605    21407034.074
+      -127.262         -99.165          55.000          49.000
+ -20367899.93243 -15830194.25442  21462639.500    21462644.532    21462638.905
+     -1607.922       -1252.926          55.000          48.000
+ -23051694.83843 -17907329.63242  20457555.267    20457559.174    20457554.030
+      1344.514        1047.673          56.000          50.000
+  -6672405.47643  -5176518.37542  23849293.757    23849300.749    23849293.556
+     -1087.090        -847.083          47.000          41.000
+ -13179603.31843 -10215619.52942  22587974.095    22587979.579    22587971.755
+      1233.555         961.212          51.000          44.000
+ 04  2  1  7 50  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -3468286.94443  -2285565.84742  24392228.275    24392239.989    24392225.976
+     -2934.451       -2286.585          45.000          38.000
+ -16858169.15843 -13074403.28842  21479216.081    21479220.972    21479215.016
+     -1406.131       -1095.686          53.000          47.000
+  -3902707.59743  -2996592.11942  24305791.713    24305802.854    24305790.200
+      3361.844        2619.619          42.000          38.000
+ -20606557.60643 -16045862.12742  21407764.515    21407768.819    21407763.079
+      -128.563        -100.179          55.000          49.000
+ -20319465.48243 -15792453.16942  21471856.463    21471861.496    21471855.556
+     -1621.361       -1263.398          55.000          48.000
+ -23091778.82343 -17938563.86442  20449927.366    20449931.363    20449926.263
+      1327.565        1034.466          56.000          50.000
+  -6639585.92243  -5150944.68842  23855539.016    23855545.251    23855538.128
+     -1101.174        -858.058          48.000          41.000
+ -13216341.45643 -10244246.60842  22580981.725    22580987.639    22580980.468
+      1215.522         947.160          50.000          44.000
+ 04  2  1  7 50 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -3380151.35943  -2216889.05142  24408998.733    24409013.733    24408997.850
+     -2941.238       -2291.874          44.000          38.000
+ -16815953.49043 -13041507.97642  21487248.741    21487254.721    21487248.040
+     -1408.520       -1097.548          52.000          47.000
+  -4003623.36343  -3075227.39242  24286587.123    24286599.497    24286585.921
+      3365.814        2622.712          43.000          38.000
+ -20602678.75743 -16042839.63142  21408502.805    21408506.973    21408500.998
+      -130.280        -101.517          55.000          48.000
+ -20270617.42243 -15754389.76742  21481151.926    21481157.136    21481151.417
+     -1635.290       -1274.252          55.000          48.000
+ -23131346.85543 -17969396.06542  20442397.676    20442401.623    20442396.425
+      1310.178        1020.918          56.000          50.000
+  -6606338.34343  -5125037.45842  23861866.454    23861872.189    23861865.628
+     -1115.451        -869.182          48.000          41.000
+ -13252532.23343 -10272447.19342  22574095.353    22574101.243    22574093.531
+      1197.013         932.737          51.000          45.000
+ 04  2  1  7 51  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -3291804.26043  -2148047.45542  24425810.827    24425821.749    24425809.984
+     -2949.253       -2298.119          44.000          37.000
+ -16773675.48543 -13008564.08242  21495294.060    21495299.995    21495292.475
+     -1411.050       -1099.519          52.000          46.000
+  -4104659.15043  -3153956.19942  24267360.419    24267372.383    24267359.200
+      3369.458        2625.552          43.000          37.000
+ -20598755.11943 -16039782.23142  21409249.378    21409253.950    21409248.073
+      -132.252        -103.053          55.000          49.000
+ -20221355.33943 -15716003.76542  21490526.007    21490531.623    21490525.415
+     -1649.750       -1285.519          55.000          48.000
+ -23170398.45143 -17999825.84142  20434966.811    20434970.583    20434965.405
+      1292.400        1007.065          56.000          50.000
+  -6572662.76243  -5098796.66342  23868274.290    23868281.247    23868273.400
+     -1130.223        -880.693          47.000          41.000
+ -13288174.65743 -10300220.48142  22567312.093    22567318.685    22567311.029
+      1178.216         918.090          51.000          44.000
+ 04  2  1  7 51 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -3203246.92543  -2079042.02142  24442664.714    24442676.170    24442663.400
+     -2955.854       -2303.263          45.000          38.000
+ -16731335.08543 -12975571.56842  21503351.797    21503357.429    21503350.663
+     -1412.473       -1100.628          52.000          46.000
+  -4205812.33343  -3232776.50942  24248111.613    24248122.363    24248110.324
+      3373.260        2628.514          44.000          38.000
+ -20594786.99943 -16036690.17042  21410004.035    21410009.447    21410002.981
+      -133.045        -103.671          55.000          49.000
+ -20171679.36243 -15677295.23542  21499979.015    21499984.726    21499978.560
+     -1662.917       -1295.779          55.000          48.000
+ -23208932.88943 -18029852.64242  20427634.057    20427637.723    20427632.741
+      1275.774         994.110          56.000          50.000
+  -6538559.50943  -5072222.67842  23874763.727    23874770.607    23874762.930
+     -1143.970        -891.405          47.000          41.000
+ -13323267.52943 -10327565.55242  22560635.851    22560640.751    22560634.164
+      1160.337         904.159          52.000          45.000
+ 04  2  1  7 52  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -3114480.37543  -2009873.57142  24459557.462    24459567.783    24459555.240
+     -2961.954       -2308.016          46.000          38.000
+ -16688932.10443 -12942530.28642  21511420.099    21511426.217    21511419.279
+     -1414.052       -1101.859          52.000          46.000
+  -4307080.60843  -3311686.49842  24228840.587    24228853.104    24228840.188
+      3378.446        2632.555          44.000          38.000
+ -20590775.19343 -16033564.07242  21410767.860    21410772.315    21410766.598
+      -134.121        -104.510          55.000          49.000
+ -20121589.69543 -15638264.35242  21509511.454    21509516.448    21509510.477
+     -1676.168       -1306.105          55.000          48.000
+ -23246949.88843 -18059476.24142  20420399.758    20420403.505    20420398.469
+      1259.042         981.072          56.000          50.000
+  -6504029.01343  -5045315.75342  23881334.341    23881341.506    23881333.308
+     -1157.742        -902.137          47.000          41.000
+ -13357810.22843 -10354481.92042  22554061.011    22554066.964    22554059.722
+      1142.753         890.457          51.000          44.000
+ 04  2  1  7 52 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -3025504.17543  -1940541.74942  24476486.196    24476498.357    24476485.532
+     -2969.568       -2313.949          44.000          37.000
+ -16646465.08543 -12909439.11242  21519501.187    21519507.626    21519500.056
+     -1416.544       -1103.800          52.000          46.000
+  -4408459.65043  -3390682.80042  24209549.306    24209560.329    24209547.013
+      3381.008        2634.552          45.000          38.000
+ -20586718.13943 -16030402.71142  21411540.065    21411544.695    21411538.495
+      -135.883        -105.883          55.000          49.000
+ -20071084.76843 -15598909.88542  21519122.239    21519127.181    21519121.354
+     -1690.370       -1317.171          56.000          48.000
+ -23284447.57443 -18088695.18542  20413263.992    20413267.670    20413262.763
+      1241.327         967.268          56.000          50.000
+  -6469069.95543  -5018074.89242  23887987.108    23887993.513    23887986.089
+     -1172.409        -913.565          47.000          41.000
+ -13391800.08743 -10380967.50442  22547593.372    22547599.631    22547592.390
+      1123.833         875.714          51.000          45.000
+ 04  2  1  7 53  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -2936321.16443  -1871048.80242  24493458.062    24493471.467    24493457.096
+     -2975.524       -2318.590          44.000          37.000
+ -16603935.91643 -12876299.50142  21527595.232    21527599.512    21527594.022
+     -1418.149       -1105.051          53.000          47.000
+  -4509948.80343  -3469764.92942  24190235.325    24190247.614    24190234.386
+      3385.224        2637.837          45.000          39.000
+ -20582618.40843 -16027208.10142  21412320.058    21412324.440    21412318.876
+      -136.779        -106.581          55.000          49.000
+ -20020166.47343 -15559233.31842  21528811.144    21528816.316    21528810.704
+     -1703.605       -1327.484          55.000          48.000
+ -23321427.42043 -18117510.61442  20406226.490    20406230.647    20406225.154
+      1224.554         954.198          56.000          50.000
+  -6433684.60043  -4990501.82942  23894720.555    23894727.252    23894719.883
+     -1186.062        -924.204          46.000          41.000
+ -13425238.33643 -10407023.25742  22541231.727    22541236.470    22541229.568
+      1105.937         861.769          51.000          45.000
+ 04  2  1  7 53 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -2846930.63643  -1801394.14342  24510468.509    24510482.457    24510467.737
+     -2983.259       -2324.617          43.000          36.000
+ -16561342.59243 -12843109.90142  21535700.402    21535705.344    21535699.060
+     -1420.595       -1106.957          52.000          47.000
+  -4611543.49043  -3548929.28842  24170901.957    24170915.037    24170901.595
+      3388.440        2640.343          45.000          39.000
+ -20578474.70743 -16023979.22242  21413108.502    21413112.988    21413106.681
+      -138.658        -108.045          55.000          49.000
+ -19968832.90643 -15519233.15342  21538579.551    21538584.921    21538578.945
+     -1717.826       -1338.566          56.000          48.000
+ -23357887.12543 -18145920.73542  20399288.493    20399292.375    20399287.313
+      1206.946         940.477          56.000          50.000
+  -6397871.63043  -4962595.61342  23901536.061    23901543.031    23901534.957
+     -1200.573        -935.511          47.000          41.000
+ -13458122.42043 -10432647.19242  22534973.797    22534978.683    22534970.743
+      1087.086         847.080          52.000          45.000
+ 04  2  1  7 54  0.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -2757340.04843  -1731583.56642  24527516.271    24527527.287    24527518.084
+     -2990.483       -2330.246          43.000          35.000
+ -16518691.36343 -12809875.17342  21543815.912    21543821.415    21543815.123
+     -1423.093       -1108.904          52.000          46.000
+  -4713247.57943  -3628178.88742  24151549.121    24151560.237    24151547.929
+      3391.648        2642.843          47.000          39.000
+ -20574293.51743 -16020721.13742  21413904.121    21413908.848    21413902.904
+      -140.256        -109.290          55.000          49.000
+ -19917090.69443 -15478914.55942  21548425.673    21548431.283    21548424.673
+     -1731.893       -1349.527          55.000          48.000
+ -23393832.62343 -18173930.17442  20392448.669    20392452.290    20392447.172
+      1189.348         926.765          56.000          50.000
+  -6361637.54743  -4934361.24942  23908430.128    23908437.822    23908429.521
+     -1215.118        -946.845          47.000          41.000
+ -13490457.54443 -10457843.36742  22528819.690    22528826.219    22528819.039
+      1068.420         832.535          51.000          45.000
+ 04  2  1  7 54 30.0000000  0  8G 1G27G 7G 8G13G28G31G10
+  -2667543.94143  -1661612.84842  24544607.185    24544619.785    24544604.734
+     -2996.750       -2335.130          43.000          35.000
+ -16475975.88243 -12776590.37942  21551944.698    21551950.192    21551943.808
+     -1425.019       -1110.404          52.000          46.000
+  -4815051.87943  -3707506.58242  24132175.923    24132187.351    24132175.439
+      3395.209        2645.617          46.000          39.000
+ -20570068.84843 -16017429.17342  21414708.382    21414712.909    21414706.762
+      -141.559        -110.306          55.000          49.000
+ -19864933.38443 -15438272.53542  21558351.019    21558356.112    21558350.761
+     -1745.546       -1360.166          55.000          48.000
+ -23429257.26843 -18201533.76442  20385707.660    20385711.014    20385706.192
+      1172.142         913.357          56.000          50.000
+  -6324976.40343  -4905794.09342  23915407.243    23915413.711    23915406.415
+     -1229.318        -957.910          47.000          41.000
+ -13522236.38543 -10482606.08042  22522773.497    22522778.358    22522771.295
+      1049.911         818.112          52.000          45.000
+ 04  2  1  7 55  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -2577545.56243  -1591484.54542  24561732.732    24561744.633    24561730.754
+     -3003.791       -2340.616          42.000          34.000
+ -16433198.05643 -12743257.00742  21560085.928    21560090.596    21560084.426
+     -1427.229       -1112.126          53.000          46.000
+  -1327336.43353  -1017770.55752  24623757.173    24623765.461    24623756.298
+      3446.671        2685.718          45.000          37.000
+  -4916955.98343  -3786912.05442  24112783.367    24112795.234    24112782.457
+      3398.252        2647.989          46.000          40.000
+ -20565803.19843 -16014105.28142  21415519.125    21415524.580    21415518.284
+      -143.046        -111.464          55.000          49.000
+ -19812363.34643 -15397308.89342  21568355.239    21568360.256    21568354.405
+     -1759.464       -1371.011          55.000          48.000
+ -23464162.81043 -18228732.85642  20379065.172    20379068.864    20379063.997
+      1154.583         899.675          56.000          50.000
+  -6287890.76843  -4876896.16742  23922463.384    23922470.373    23922462.785
+     -1243.398        -968.881          47.000          41.000
+ -13553460.70843 -10506936.68542  22516829.848    22516835.867    22516828.832
+      1031.375         803.669          51.000          45.000
+ 04  2  1  7 55 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -2487346.09243  -1521199.55342  24578895.054    24578911.713    24578895.691
+     -3009.231       -2344.855          39.000          34.000
+ -16390358.03343 -12709875.17642  21568237.156    21568243.017    21568236.749
+     -1428.808       -1113.357          52.000          46.000
+  -1430756.22843  -1098357.35942  24604077.880    24604084.797    24604077.858
+      3448.204        2686.912          45.000          38.000
+  -5018957.57743  -3866393.48142  24093373.185    24093384.927    24093372.489
+      3401.877        2650.813          47.000          40.000
+ -20561497.44143 -16010750.13442  21416339.216    21416344.035    21416337.706
+      -143.958        -112.175          55.000          49.000
+ -19759380.83543 -15356023.85742  21578436.664    21578442.636    21578436.129
+     -1772.762       -1381.373          55.000          48.000
+ -23498549.21743 -18255527.42542  20372521.674    20372525.408    20372520.331
+      1137.787         886.587          56.000          50.000
+  -6250381.30243  -4847667.98242  23929602.733    23929607.794    23929600.897
+     -1257.233        -979.662          47.000          41.000
+ -13584129.78643 -10530834.64342  22510993.879    22511000.850    22510992.786
+      1013.074         789.408          51.000          45.000
+ 04  2  1  7 56  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -2396946.98643  -1450759.01342  24596098.559    24596116.192    24596100.012
+     -3017.056       -2350.953          39.000          33.000
+ -16347455.89543 -12676444.94542  21576401.293    21576407.281    21576400.092
+     -1431.772       -1115.666          52.000          46.000
+  -1534210.00243  -1178970.63242  24584390.384    24584396.071    24584388.595
+      3448.421        2687.081          45.000          38.000
+  -5121053.98043  -3945948.78242  24073944.095    24073954.903    24073942.416
+      3404.193        2652.618          48.000          40.000
+ -20557152.08143 -16007364.12542  21417166.101    21417170.819    21417164.877
+      -146.063        -113.815          55.000          49.000
+ -19705986.33143 -15314417.78142  21588597.738    21588602.975    21588597.729
+     -1787.212       -1392.633          55.000          48.000
+ -23532416.36043 -18281917.36742  20366077.030    20366080.588    20366075.762
+      1119.641         872.448          56.000          50.000
+  -6212448.73543  -4818110.08342  23936820.305    23936827.476    23936819.152
+     -1272.121        -991.263          47.000          41.000
+ -13614243.21543 -10554299.62242  22505264.433    22505269.591    22505262.368
+       993.917         774.481          51.000          45.000
+ 04  2  1  7 56 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -2306349.42443  -1380163.83342  24613341.561    24613353.602    24613338.594
+     -3023.524       -2355.993          41.000          34.000
+ -16304491.70843 -12642966.35942  21584577.127    21584582.321    21584575.634
+     -1433.245       -1116.814          52.000          46.000
+  -1637695.83843  -1259608.85042  24564698.586    24564704.571    24564697.535
+      3450.001        2688.312          45.000          38.000
+  -5223242.88043  -4025576.15142  24054498.670    24054509.240    24054498.023
+      3407.648        2655.310          48.000          41.000
+ -20552767.32943 -16003947.42542  21418000.077    21418005.251    21417998.644
+      -146.923        -114.485          54.000          49.000
+ -19652180.25943 -15272490.99742  21598837.290    21598842.307    21598836.679
+     -1800.648       -1403.102          55.000          48.000
+ -23565764.27443 -18307902.72342  20359730.937    20359734.710    20359729.642
+      1102.705         859.251          56.000          50.000
+  -6174093.52143  -4788222.89442  23944119.694    23944124.020    23944118.978
+     -1285.786       -1001.911          47.000          41.000
+ -13643800.62043 -10577331.34142  22499638.613    22499645.304    22499636.705
+       975.715         760.297          51.000          45.000
+ 04  2  1  7 57  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -2215554.19343  -1309414.67442  24630618.436    24630632.148    24630617.569
+     -3029.044       -2360.294          40.000          33.000
+ -16261464.88243 -12609438.97842  21592764.570    21592770.386    21592763.870
+     -1434.865       -1118.077          52.000          46.000
+  -1741210.83943  -1340269.87642  24544998.647    24545006.423    24544998.810
+      3451.081        2689.154          43.000          36.000
+  -5325521.09243  -4105273.12342  24035035.154    24035047.606    24035034.744
+      3411.246        2658.114          48.000          41.000
+ -20548343.11243 -16000499.96742  21418841.898    21418847.105    21418840.880
+      -147.679        -115.074          55.000          49.000
+ -19597962.16643 -15230243.17442  21609154.099    21609159.288    21609153.464
+     -1813.731       -1413.297          55.000          48.000
+ -23598592.15243 -18333482.85142  20353484.082    20353487.864    20353482.795
+      1085.867         846.130          56.000          51.000
+  -6135315.88543  -4758006.52342  23951497.643    23951505.772    23951495.917
+     -1299.093       -1012.280          47.000          41.000
+ -13672800.61943 -10599928.71342  22494119.837    22494126.558    22494118.726
+       957.913         746.426          51.000          45.000
+ 04  2  1  7 57 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -2124563.00643  -1238512.75642  24647934.527    24647946.746    24647931.907
+     -3035.732       -2365.505          41.000          34.000
+ -16218376.12343 -12575863.33442  21600964.246    21600970.188    21600963.084
+     -1436.970       -1119.717          52.000          46.000
+  -1844753.97343  -1420952.77742  24525295.304    24525303.088    24525295.149
+      3452.136        2689.976          44.000          37.000
+  -5427886.62743  -4185038.14742  24015555.514    24015565.919    24015554.685
+      3413.965        2660.232          48.000          41.000
+ -20543880.72943 -15997022.78042  21419691.181    21419696.104    21419689.765
+      -149.206        -116.264          55.000          49.000
+ -19543332.85443 -15187674.91342  21619549.835    21619555.299    21619549.266
+     -1827.565       -1424.077          55.000          48.000
+ -23630900.68143 -18358658.29442  20347335.729    20347339.416    20347334.705
+      1068.584         832.663          56.000          51.000
+  -6096116.92943  -4727461.84242  23958957.078    23958964.597    23958956.620
+     -1313.490       -1023.499          46.000          41.000
+ -13701243.39243 -10622091.89942  22488708.250    22488714.314    22488706.790
+       939.014         731.699          52.000          45.000
+ 04  2  1  7 58  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -2033376.91343  -1167459.04642  24665284.107    24665298.780    24665280.882
+     -3043.772       -2371.770          40.000          34.000
+ -16175225.03343 -12542239.12642  21609175.636    21609181.154    21609174.608
+     -1440.231       -1122.258          52.000          46.000
+  -1948322.67543  -1501655.59742  24505586.998    24505594.630    24505585.335
+      3451.832        2689.739          45.000          38.000
+  -5530336.55043  -4264868.92942  23996060.257    23996070.546    23996058.766
+      3415.785        2661.651          48.000          41.000
+ -20539380.17943 -15993515.84242  21420548.143    21420552.426    21420546.537
+      -151.418        -117.988          55.000          49.000
+ -19488292.65943 -15144786.48842  21630023.426    21630029.326    21630022.669
+     -1842.278       -1435.541          55.000          48.000
+ -23662689.41443 -18383428.70642  20341286.687    20341290.320    20341285.364
+      1050.149         818.298          56.000          51.000
+  -6056497.08943  -4696589.15742  23966495.239    23966504.188    23966495.073
+     -1328.523       -1035.213          46.000          41.000
+ -13729128.17543 -10643820.28242  22483402.211    22483407.086    22483400.566
+       919.559         716.539          51.000          45.000
+ 04  2  1  7 58 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -1941999.94443  -1096256.53742  24682674.657    24682687.972    24682673.295
+     -3049.759       -2376.435          42.000          35.000
+ -16132014.39343 -12508568.51342  21617398.512    21617404.354    21617397.051
+     -1441.416       -1123.181          52.000          46.000
+  -2051917.83243  -1582379.03742  24485873.768    24485879.720    24485874.659
+      3453.503        2691.041          45.000          38.000
+  -5632871.18343  -4344765.72142  23976548.108    23976557.413    23976545.989
+      3419.107        2664.239          47.000          41.000
+ -20534844.77243 -15989981.74242  21421411.509    21421415.517    21421410.023
+      -151.894        -118.359          55.000          49.000
+ -19432844.44643 -15101580.13042  21640575.043    21640580.337    21640574.187
+     -1855.126       -1445.553          55.000          48.000
+ -23693961.11643 -18407796.23942  20335335.718    20335339.466    20335334.534
+      1033.793         805.553          56.000          51.000
+  -6016459.80143  -4665391.24442  23974115.445    23974122.697    23974113.789
+     -1341.872       -1045.614          47.000          41.000
+ -13756457.14643 -10665115.57142  22478201.090    22478206.387    22478199.562
+       901.469         702.443          51.000          45.000
+ 04  2  1  7 59  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -1850415.74443  -1024892.56142  24700102.577    24700114.852    24700100.529
+     -3056.674       -2381.824          43.000          36.000
+ -16088726.48643 -12474837.69942  21625636.276    21625641.051    21625634.772
+     -1444.566       -1125.636          52.000          46.000
+  -2155519.79943  -1663107.83542  24466158.318    24466166.336    24466157.440
+      3453.060        2690.696          44.000          38.000
+  -5735470.22243  -4424712.70442  23957024.899    23957033.525    23957024.100
+      3420.364        2665.219          48.000          40.000
+ -20530257.21043 -15986407.00842  21422283.938    21422288.808    21422282.276
+      -154.034        -120.026          55.000          49.000
+ -19376970.93443 -15058042.37642  21651207.483    21651212.799    21651206.905
+     -1869.855       -1457.030          54.000          48.000
+ -23724698.22243 -18431747.19542  20329486.604    20329490.489    20329485.618
+      1015.388         791.211          56.000          51.000
+  -5975988.02843  -4633854.78442  23981818.151    23981824.720    23981815.812
+     -1356.600       -1057.091          47.000          41.000
+ -13783212.33043 -10685963.74642  22473110.550    22473115.809    22473108.448
+       882.045         687.308          52.000          45.000
+ 04  2  1  7 59 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -1758656.68443   -953392.32442  24717564.976    24717578.138    24717564.264
+     -3062.546       -2386.399          42.000          36.000
+ -16045392.48143 -12441070.95942  21633882.010    21633888.228    21633880.626
+     -1446.068       -1126.806          52.000          46.000
+  -2259157.77243  -1743864.61142  24446437.208    24446445.383    24446436.207
+      3454.510        2691.826          44.000          38.000
+  -5838162.35343  -4504732.22742  23937482.110    23937491.634    23937481.730
+      3423.769        2667.872          47.000          40.000
+ -20525649.10243 -15982816.25842  21423160.836    21423165.471    21423159.401
+      -154.810        -120.631          55.000          49.000
+ -19320703.87943 -15014197.96942  21661914.526    21661920.207    21661914.131
+     -1883.009       -1467.280          54.000          48.000
+ -23754931.79743 -18455305.79442  20323733.245    20323737.285    20323732.177
+       998.583         778.117          56.000          51.000
+  -5935113.80643  -4602004.71742  23989595.520    23989601.347    23989593.768
+     -1370.219       -1067.703          47.000          41.000
+ -13809424.55143 -10706388.85142  22468122.193    22468127.766    22468120.925
+       863.930         673.192          52.000          45.000
+ 04  2  1  8  0  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -1666705.17143   -881742.17142  24735059.702    24735076.203    24735059.280
+     -3068.165       -2390.778          42.000          36.000
+ -16001993.31343 -12407253.44942  21642140.663    21642145.683    21642139.616
+     -1447.805       -1128.160          52.000          46.000
+  -2362810.43743  -1824632.87742  24426712.235    24426719.011    24426712.007
+      3455.128        2692.308          44.000          38.000
+  -5940925.90043  -4584807.39842  23917927.597    23917935.941    23917925.738
+      3426.545        2670.035          47.000          40.000
+ -20521001.94643 -15979195.08342  21424045.106    21424049.611    21424043.819
+      -155.565        -121.219          55.000          49.000
+ -19264024.84843 -14970032.54042  21672700.463    21672705.998    21672700.089
+     -1896.142       -1477.513          55.000          48.000
+ -23784642.60043 -18478457.03842  20318079.427    20318083.225    20318078.099
+       981.664         764.933          56.000          51.000
+  -5893818.75443  -4569826.70342  23997452.554    23997460.539    23997451.315
+     -1383.461       -1078.021          46.000          41.000
+ -13835074.31443 -10726375.67042  22463241.141    22463246.362    22463240.116
+       845.825         659.084          51.000          45.000
+ 04  2  1  8  0 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -1574570.98143   -809949.63542  24752594.626    24752610.515    24752594.340
+     -3075.524       -2396.512          44.000          36.000
+ -15958537.66843 -12373391.92742  21650409.797    21650416.244    21650408.345
+     -1450.367       -1130.156          51.000          46.000
+  -2466484.72443  -1905417.93042  24406984.773    24406989.856    24406984.190
+      3454.753        2692.015          44.000          37.000
+  -6043767.02443  -4664943.02942  23898355.928    23898365.791    23898353.894
+      3428.418        2671.494          46.000          40.000
+ -20516324.85543 -15975550.58042  21424935.424    21424939.621    21424933.573
+      -157.452        -122.690          55.000          49.000
+ -19206942.69843 -14925552.98042  21683562.965    21683567.876    21683561.922
+     -1910.342       -1488.578          55.000          47.000
+ -23813839.68943 -18501207.98242  20312523.280    20312527.202    20312522.118
+       963.689         750.926          56.000          51.000
+  -5852112.31043  -4537328.13142  24005390.276    24005397.271    24005389.330
+     -1398.189       -1089.498          46.000          41.000
+ -13860170.12843 -10745930.85342  22458465.460    22458471.654    22458463.802
+       826.199         643.791          51.000          45.000
+ 04  2  1  8  1  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -1482246.36743   -738008.71642  24770164.852    24770178.688    24770163.611
+     -3080.798       -2400.622          44.000          37.000
+ -15915016.17643 -12339479.08342  21658691.592    21658697.801    21658690.647
+     -1452.356       -1131.706          51.000          46.000
+  -2570169.18743  -1986210.97542  24387255.396    24387262.011    24387253.604
+      3455.673        2692.732          43.000          38.000
+  -6146673.72143  -4745129.77442  23878773.458    23878783.277    23878770.702
+      3430.935        2673.456          46.000          40.000
+ -20511608.95543 -15971875.83442  21425832.299    21425837.190    21425830.970
+      -158.374        -123.408          55.000          49.000
+ -19149448.87743 -14880752.64242  21694503.712    21694509.497    21694503.053
+     -1923.806       -1499.070          55.000          47.000
+ -23842513.97543 -18523551.54742  20307066.799    20307070.672    20307065.496
+       946.769         737.742          56.000          51.000
+  -5809985.95043  -4504502.36142  24013406.194    24013413.355    24013405.542
+     -1411.741       -1100.058          46.000          40.000
+ -13884702.34643 -10765046.86542  22453797.534    22453803.577    22453795.221
+       807.967         629.585          51.000          45.000
+ 04  2  1  8  1 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -1389733.17743   -665920.84242  24787768.647    24787780.554    24787769.289
+     -3086.273       -2404.888          43.000          36.000
+ -15871429.36643 -12305515.34942  21666986.495    21666991.325    21666985.158
+     -1453.493       -1132.592          52.000          46.000
+  -2673862.20143  -2067010.60442  24367521.854    24367528.142    24367521.335
+      3457.104        2693.847          44.000          38.000
+  -6249644.04343  -4825366.10342  23859177.749    23859188.718    23859176.127
+      3433.958        2675.811          45.000          40.000
+ -20506855.14743 -15968171.55142  21426737.188    21426741.767    21426735.637
+      -158.596        -123.581          55.000          49.000
+ -19091544.30543 -14835632.22942  21705522.846    21705527.732    21705522.327
+     -1936.564       -1509.011          55.000          47.000
+ -23870666.06543 -18545488.20642  20301709.722    20301713.312    20301708.483
+       930.170         724.808          56.000          50.000
+  -5767441.04243  -4471350.44042  24021502.904    24021509.403    24021501.138
+     -1424.733       -1110.181          46.000          41.000
+ -13908670.96043 -10783723.69542  22449235.926    22449241.761    22449234.339
+       789.997         615.582          52.000          45.000
+ 04  2  1  8  2  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -1297038.46243   -593691.56642  24805407.888    24805421.207    24805408.529
+     -3093.112       -2410.217          43.000          35.000
+ -15827782.92843 -12271505.13242  21675292.054    21675297.483    21675291.289
+     -1455.885       -1134.456          52.000          46.000
+  -2777567.61643  -2147819.97042  24347785.983    24347792.438    24347786.933
+      3456.928        2693.710          44.000          38.000
+  -6352681.01143  -4905654.36642  23839571.071    23839580.852    23839569.629
+      3435.884        2677.312          47.000          41.000
+ -20502069.52343 -15964442.47542  21427648.283    21427652.802    21427646.306
+      -160.056        -124.719          55.000          49.000
+ -19033235.15643 -14790196.56742  21716618.402    21716623.745    21716617.635
+     -1950.453       -1519.833          54.000          47.000
+ -23898301.69243 -18567022.42942  20296450.684    20296454.549    20296449.477
+       912.515         711.051          56.000          51.000
+  -5724484.01443  -4437877.40842  24029677.247    24029683.333    24029676.204
+     -1438.899       -1121.220          47.000          41.000
+ -13932081.68143 -10801965.81442  22444781.284    22444787.072    22444779.395
+       770.963         600.750          51.000          45.000
+ 04  2  1  8  2 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -1204158.78943   -521318.20742  24823083.238    24823094.717    24823081.191
+     -3098.309       -2414.267          42.000          35.000
+ -15784071.89943 -12237444.59342  21683609.998    21683615.835    21683608.843
+     -1458.056       -1136.147          52.000          46.000
+  -2881278.23543  -2228633.27742  24328052.018    24328059.457    24328050.993
+      3457.350        2694.039          44.000          39.000
+  -6455776.99443  -4985988.63042  23819952.921    23819962.895    23819951.547
+      3437.443        2678.527          48.000          41.000
+ -20497247.59243 -15960685.11642  21428564.604    21428570.455    21428563.905
+      -161.292        -125.682          55.000          49.000
+ -18974516.84543 -14744442.08242  21727791.914    21727797.000    21727791.010
+     -1963.963       -1530.361          54.000          47.000
+ -23925416.07743 -18588150.48442  20291290.918    20291294.956    20291289.825
+       895.053         697.444          56.000          51.000
+  -5681110.85143  -4404080.10242  24037930.729    24037936.332    24037928.201
+     -1452.798       -1132.050          47.000          41.000
+ -13954929.33543 -10819769.16242  22440433.553    22440439.464    22440431.448
+       752.251         586.170          51.000          45.000
+ 04  2  1  8  3  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -1111101.02243   -448806.02442  24840793.474    24840805.814    24840790.239
+     -3105.058       -2419.526          41.000          34.000
+ -15740301.76243 -12203337.99542  21691938.988    21691944.911    21691938.047
+     -1460.678       -1138.191          52.000          46.000
+  -2984997.42043  -2309453.33542  24308314.327    24308322.603    24308313.119
+      3457.039        2693.797          42.000          38.000
+  -6558934.96543  -5066371.21542  23800322.035    23800332.272    23800319.105
+      3438.990        2679.732          48.000          41.000
+ -20492395.17443 -15956903.98742  21429488.665    21429493.315    21429487.113
+      -162.922        -126.952          55.000          49.000
+ -18915395.74943 -14698373.74142  21739043.207    21739048.177    21739041.686
+     -1978.020       -1541.314          55.000          47.000
+ -23952015.13243 -18608876.98642  20286229.498    20286233.177    20286228.213
+       877.443         683.722          56.000          51.000
+  -5637327.94443  -4369963.52542  24046261.216    24046268.620    24046260.916
+     -1466.985       -1143.105          46.000          40.000
+ -13977219.46043 -10837138.07942  22436192.238    22436197.558    22436190.087
+       733.125         571.266          52.000          45.000
+ 04  2  1  8  3 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -1017864.87443   -376154.87042  24858533.166    24858549.103    24858530.447
+     -3110.423       -2423.706          39.000          33.000
+ -15696470.55143 -12169183.79842  21700280.189    21700285.025    21700278.608
+     -1462.154       -1139.341          52.000          46.000
+  -3088721.51243  -2390277.22342  24288578.136    24288582.539    24288575.375
+      3457.757        2694.356          43.000          38.000
+  -6662150.57343  -5146798.71942  23780679.734    23780690.502    23780679.521
+      3441.534        2681.715          48.000          41.000
+ -20487510.99643 -15953098.12142  21430418.265    21430422.499    21430416.878
+      -163.332        -127.272          55.000          49.000
+ -18855870.46343 -14651990.44342  21750370.013    21750375.315    21750369.603
+     -1991.081       -1551.492          55.000          47.000
+ -23978097.33343 -18629200.74742  20281266.045    20281269.773    20281264.706
+       860.715         670.687          56.000          51.000
+  -5593134.39243  -4335526.95242  24054671.483    24054677.843    24054669.681
+     -1480.051       -1153.286          47.000          41.000
+ -13998949.84643 -10854070.83442  22432056.949    22432062.234    22432055.080
+       714.965         557.116          52.000          45.000
+ 04  2  1  8  4  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+   -924447.60743   -303362.60242  24876311.502    24876324.598    24876309.707
+     -3116.978       -2428.814          42.000          35.000
+ -15652574.56043 -12134979.11742  21708632.339    21708637.745    21708631.870
+     -1464.215       -1140.947          52.000          46.000
+  -3192444.50743  -2471100.20042  24268837.614    24268845.682    24268837.506
+      3457.905        2694.471          41.000          38.000
+  -6765417.44243  -5227266.16342  23761029.028    23761037.844    23761028.134
+      3443.005        2682.861          48.000          41.000
+ -20482591.56943 -15949264.78142  21431354.334    21431359.145    21431352.959
+      -164.632        -128.285          55.000          49.000
+ -18795937.87843 -14605289.77242  21761774.412    21761779.692    21761773.683
+     -2004.526       -1561.968          54.000          47.000
+ -24003658.76043 -18649118.70742  20276401.916    20276405.702    20276400.819
+       843.407         657.200          56.000          51.000
+  -5548527.23843  -4300768.10142  24063159.725    24063165.185    24063159.239
+     -1493.862       -1164.048          46.000          41.000
+ -14020116.40243 -10870564.24942  22428029.006    22428034.810    22428027.118
+       696.178         542.476          51.000          45.000
+ 04  2  1  8  4 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+   -830852.93343   -230432.02442  24894123.375    24894136.379    24894121.226
+     -3121.634       -2432.442          41.000          34.000
+ -15608615.74243 -12100725.48042  21716997.589    21717003.782    21716995.941
+     -1465.435       -1141.897          51.000          46.000
+  -3296166.29743  -2551922.24642  24249100.496    24249108.042    24249100.837
+      3457.964        2694.517          42.000          37.000
+  -6868734.79543  -5307772.94942  23741367.891    23741375.977    23741367.003
+      3445.688        2684.952          48.000          41.000
+ -20477639.43143 -15945405.95842  21432296.976    21432301.243    21432295.410
+      -164.880        -128.478          56.000          49.000
+ -18735600.74443 -14558273.86442  21773256.735    21773262.127    21773256.814
+     -2017.189       -1571.835          55.000          47.000
+ -24028702.04243 -18668632.91742  20271636.343    20271639.957    20271634.960
+       826.924         644.356          56.000          51.000
+  -5503509.44543  -4265689.28342  24071725.985    24071732.928    24071725.024
+     -1506.595       -1173.970          45.000          41.000
+ -14040721.40643 -10886620.07642  22424107.421    22424112.855    22424106.553
+       678.218         528.482          52.000          45.000
+ 04  2  1  8  5  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+   -737080.52743   -157363.02742  24911965.369    24911982.274    24911963.950
+     -3128.762       -2437.996          41.000          34.000
+ -15564592.30543 -12066421.48842  21725374.766    21725380.716    21725374.326
+     -1468.643       -1144.397          51.000          46.000
+  -3399883.10243  -2632740.46842  24229362.809    24229371.192    24229362.076
+      3456.971        2693.744          43.000          38.000
+  -6972098.44343  -5388315.81842  23721698.669    23721706.947    23721696.266
+      3446.101        2685.273          48.000          41.000
+ -20472653.09243 -15941520.48942  21433245.267    21433250.255    21433244.197
+      -166.891        -130.045          55.000          49.000
+ -18674857.86843 -14510941.79342  21784815.265    21784820.736    21784814.736
+     -2031.603       -1583.067          54.000          47.000
+ -24053225.72543 -18687742.24542  20266969.631    20266973.153    20266968.100
+       808.647         630.115          56.000          51.000
+  -5458080.41243  -4230290.00342  24080370.077    24080377.252    24080368.450
+     -1521.399       -1185.506          46.000          41.000
+ -14060762.98543 -10902236.87042  22420294.183    22420299.200    22420292.811
+       658.511         513.125          51.000          45.000
+ 04  2  1  8  5 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+   -643137.38443    -84160.95742  24929843.651    24929858.941    24929843.950
+     -3134.070       -2442.132          39.000          34.000
+ -15520509.88343 -12032071.54042  21733764.083    21733769.656    21733762.607
+     -1470.279       -1145.672          52.000          46.000
+  -3503598.60343  -2713557.62042  24209627.802    24209633.152    24209626.901
+      3457.240        2693.953          44.000          37.000
+  -7075511.39943  -5468897.08042  23702018.403    23702029.041    23702018.662
+      3447.883        2686.662          47.000          41.000
+ -20467638.65143 -15937613.11842  21434199.614    21434204.637    21434198.430
+      -167.490        -130.512          55.000          49.000
+ -18613715.64843 -14463298.53442  21796450.788    21796456.109    21796450.075
+     -2044.556       -1593.160          54.000          47.000
+ -24077235.89143 -18706451.43142  20262400.157    20262404.092    20262399.165
+       791.884         617.052          56.000          51.000
+  -5412246.59043  -4194575.34142  24089093.071    24089100.116    24089091.268
+     -1534.576       -1195.773          46.000          41.000
+ -14080246.92943 -10917419.15542  22416586.566    22416592.848    22416584.523
+       640.232         498.882          52.000          45.000
+ 04  2  1  8  6  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+   -549020.54343    -10823.60842  24947753.451    24947767.198    24947755.230
+     -3139.733       -2446.545          41.000          33.000
+ -15476364.01143 -11997672.14342  21742164.532    21742170.267    21742163.588
+     -1472.425       -1147.344          52.000          46.000
+  -3607306.15343  -2794368.66142  24189893.233    24189898.807    24189890.669
+      3457.076        2693.825          42.000          38.000
+  -7178966.55343  -5549511.23342  23682332.485    23682341.910    23682330.485
+      3449.212        2687.698          46.000          41.000
+ -20462592.22743 -15933680.82842  21435160.230    21435164.739    21435158.406
+      -168.652        -131.417          55.000          49.000
+ -18552170.19343 -14415341.07542  21808162.289    21808167.956    21808161.912
+     -2058.039       -1603.667          54.000          47.000
+ -24100728.39043 -18724757.24342  20257930.147    20257933.913    20257928.879
+       774.621         603.601          56.000          51.000
+  -5366004.71243  -4158542.69442  24097892.467    24097899.974    24097890.961
+     -1548.156       -1206.355          47.000          41.000
+ -14099168.80743 -10932163.45642  22412984.905    22412991.008    22412983.182
+       621.456         484.251          51.000          45.000
+ 04  2  1  8  6 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+   -454731.93743     62647.56842  24965695.892    24965707.989    24965697.576
+     -3145.747       -2451.231          40.000          34.000
+ -15432154.84543 -11963223.42442  21750577.230    21750582.681    21750576.335
+     -1474.920       -1149.288          52.000          46.000
+  -3711003.90643  -2875172.01242  24170160.709    24170165.714    24170160.673
+      3455.853        2692.872          44.000          38.000
+  -7282461.63943  -5630156.48442  23662637.614    23662647.568    23662635.136
+      3450.144        2688.424          45.000          40.000
+ -20457514.14443 -15929723.87442  21436126.759    21436131.380    21436125.080
+      -170.103        -132.548          55.000          49.000
+ -18490222.53043 -14367070.20742  21819950.648    21819956.424    21819950.261
+     -2071.901       -1614.468          54.000          47.000
+ -24123703.95343 -18742660.25242  20253558.147    20253561.556    20253556.942
+       756.945         589.827          56.000          51.000
+  -5319355.84743  -4122192.91042  24106770.703    24106775.574    24106769.350
+     -1561.956       -1217.108          48.000          41.000
+ -14117528.64043 -10946469.80742  22409490.722    22409497.688    22409489.774
+       602.395         469.399          51.000          45.000
+ 04  2  1  8  7  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+   -360274.22943    136250.54942  24983673.442    24983687.853    24983669.727
+     -3151.658       -2455.837          42.000          34.000
+ -15387883.92743 -11928726.59542  21759001.577    21759007.323    21759000.902
+     -1477.227       -1151.086          52.000          46.000
+  -3814691.10743  -2955967.14342  24150429.242    24150435.832    24150428.759
+      3455.406        2692.524          45.000          38.000
+  -7385995.32443  -5710831.82242  23642935.941    23642945.952    23642934.700
+      3451.611        2689.567          47.000          41.000
+ -20452406.41343 -15925743.81042  21437098.132    21437103.120    21437096.976
+      -171.150        -133.364          55.000          49.000
+ -18427875.14443 -14318487.88042  21831815.315    21831820.341    21831814.281
+     -2085.351       -1624.949          54.000          47.000
+ -24146164.30643 -18760161.79542  20249283.793    20249287.641    20249282.886
+       739.645         576.347          56.000          51.000
+  -5272302.56343  -4085527.99742  24115724.006    24115730.199    24115722.731
+     -1575.681       -1227.803          47.000          41.000
+ -14135328.27843 -10960339.63442  22406104.594    22406110.637    22406103.017
+       583.552         454.716          52.000          45.000
+ 04  2  1  8  7 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+   -265648.11743    209984.76642  25001678.135    25001693.989    25001677.842
+     -3156.125       -2459.318          40.000          34.000
+ -15343550.21843 -11894180.84042  21767438.322    21767444.019    21767436.540
+     -1478.343       -1151.955          52.000          46.000
+  -3918364.87443  -3036751.80942  24130700.175    24130708.078    24130699.622
+      3456.267        2693.195          45.000          39.000
+  -7489564.23243  -5791534.60742  23623227.891    23623236.611    23623226.288
+      3453.380        2690.945          47.000          41.000
+ -20447268.39643 -15921740.14742  21438075.855    21438080.465    21438074.470
+      -171.276        -133.462          55.000          49.000
+ -18365127.58343 -14269593.71542  21843755.577    21843761.029    21843754.371
+     -2097.778       -1634.632          54.000          47.000
+ -24168109.16943 -18777261.66442  20245107.959    20245111.621    20245106.628
+       723.481         563.751          56.000          51.000
+  -5224845.09143  -4048548.11642  24124755.008    24124762.736    24124753.080
+     -1588.285       -1237.625          46.000          40.000
+ -14152566.67843 -10973772.14242  22402824.074    22402830.972    22402822.551
+       565.770         440.860          52.000          45.000
+ 04  2  1  8  8  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+   -170852.91043    283850.75442  25019718.911    25019732.544    25019717.443
+     -3163.231       -2464.855          40.000          35.000
+ -15299151.56543 -11859584.47242  21775886.995    21775892.890    21775885.835
+     -1481.804       -1154.652          52.000          46.000
+  -4022020.93043  -3117522.71142  24110975.524    24110982.229    24110974.444
+      3454.065        2691.479          45.000          39.000
+  -7593163.50143  -5872261.04142  23603512.274    23603522.672    23603511.513
+      3453.269        2690.859          47.000          41.000
+ -20442098.43443 -15917711.59642  21439059.971    21439064.187    21439058.660
+      -173.630        -135.296          55.000          49.000
+ -18301978.52543 -14220386.68542  21855772.191    21855778.050    21855771.362
+     -2112.417       -1646.039          54.000          47.000
+ -24189536.81143 -18793958.50242  20241030.218    20241033.696    20241028.948
+       704.870         549.249          56.000          51.000
+  -5176982.35243  -4011252.44342  24133860.800    24133867.239    24133859.310
+     -1602.886       -1249.002          45.000          40.000
+ -14169241.91143 -10986765.82142  22399650.933    22399656.642    22399649.365
+       545.888         425.367          52.000          45.000
+ 04  2  1  8  8 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+    -75892.51243    357845.48242  25037787.512    25037803.708    25037784.837
+     -3167.606       -2468.264          41.000          34.000
+ -15254690.01743 -11824939.09942  21784348.411    21784354.024    21784347.348
+     -1483.205       -1155.744          52.000          45.000
+  -4125659.38843  -3198279.83442  24091253.855    24091259.829    24091252.255
+      3453.779        2691.256          46.000          39.000
+  -7696792.65043  -5953010.79242  23583792.071    23583802.127    23583790.260
+      3454.617        2691.909          48.000          41.000
+ -20436899.04943 -15913660.11742  21440048.845    21440053.826    21440047.515
+      -173.930        -135.530          55.000          49.000
+ -18238431.29443 -14170869.39242  21867865.059    21867870.859    21867864.440
+     -2125.002       -1655.846          54.000          47.000
+ -24210450.05943 -18810254.51042  20237050.680    20237054.229    20237049.432
+       688.360         536.384          56.000          51.000
+  -5128717.64743  -3973643.55442  24143046.997    24143052.778    24143045.618
+     -1615.640       -1258.940          47.000          41.000
+ -14185356.50243 -10999322.62842  22396584.662    22396590.773    22396581.946
+       527.597         411.115          52.000          45.000
+ 04  2  1  8  9  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -4707029.57253  -3250833.19052  25055890.694    25055905.169    25055890.865
+     -3173.857       -2473.135          38.000          33.000
+ -15210166.78343 -11790245.66842  21792820.194    21792824.558    21792818.944
+     -1485.539       -1157.563          52.000          45.000
+  -4229279.16143  -3279022.44842  24071535.154    24071540.780    24071534.308
+      3453.017        2690.663          45.000          38.000
+  -7800450.27943  -6033782.71842  23564067.258    23564076.362    23564065.649
+      3455.038        2692.237          48.000          41.000
+ -20431671.72243 -15909586.86642  21441043.738    21441048.443    21441042.473
+      -175.424        -136.694          55.000          49.000
+ -18174487.72943 -14121043.26242  21880033.220    21880038.809    21880032.594
+     -2138.833       -1666.623          55.000          47.000
+ -24230850.59843 -18826151.01242  20233168.544    20233172.253    20233167.345
+       670.723         522.641          56.000          51.000
+  -5080053.27443  -3935723.24742  24152307.963    24152313.991    24152305.799
+     -1629.224       -1269.525          47.000          41.000
+ -14200911.62043 -11011443.49342  22393624.356    22393630.192    22393623.074
+       508.218         396.014          52.000          45.000
+ 04  2  1  8  9 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -4611742.01553  -3176583.60852  25074023.437    25074038.426    25074019.335
+     -3178.292       -2476.591          38.000          33.000
+ -15165577.93943 -11755501.11342  21801305.251    21801311.018    21801304.131
+     -1486.921       -1158.640          52.000          46.000
+  -4332874.22143  -3359745.77642  24051821.681    24051828.512    24051821.003
+      3453.196        2690.802          45.000          39.000
+  -7904129.87543  -6114571.74342  23544336.933    23544345.658    23544334.719
+      3456.497        2693.374          48.000          41.000
+ -20426413.01643 -15905489.16542  21442044.281    21442049.148    21442042.920
+      -175.505        -136.757          55.000          49.000
+ -18110144.93043 -14070906.04142  21892277.075    21892282.398    21892276.641
+     -2151.105       -1676.186          54.000          47.000
+ -24250735.09543 -18841645.39642  20229384.920    20229388.232    20229383.345
+       654.483         509.987          56.000          51.000
+  -5030986.40743  -3897489.30342  24161645.712    24161652.615    24161644.038
+     -1641.877       -1279.385          47.000          41.000
+ -14215903.69043 -11023125.60542  22390771.608    22390776.706    22390770.093
+       490.556         382.251          52.000          45.000
+ 04  2  1  8 10  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -4516295.53753  -3102210.23352  25092187.502    25092202.278    25092186.333
+     -3184.980       -2481.802          38.000          33.000
+ -15120927.73043 -11720708.73642  21809802.310    21809807.711    21809801.333
+     -1489.626       -1160.747          52.000          46.000
+  -4436446.78143  -3440451.58242  24032111.767    24032117.163    24032110.856
+      3451.755        2689.679          45.000          38.000
+  -8007832.97043  -6195379.09842  23524602.852    23524611.446    23524601.931
+      3456.710        2693.540          48.000          42.000
+ -20421127.44843 -15901370.52542  21443050.336    21443054.794    21443048.951
+      -177.030        -137.945          55.000          49.000
+ -18045407.42843 -14020461.26742  21904596.095    21904602.338    21904595.979
+     -2164.767       -1686.831          54.000          47.000
+ -24270108.30543 -18856741.37642  20225697.798    20225701.537    20225696.705
+       636.916         496.298          56.000          51.000
+  -4981522.61343  -3858946.07542  24171057.400    24171063.672    24171055.901
+     -1655.868       -1290.287          47.000          41.000
+ -14230337.26743 -11034372.54342  22388025.383    22388030.456    22388023.774
+       471.628         367.502          52.000          45.000
+ 04  2  1  8 10 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -4420687.07653  -3027710.70952  25110380.201    25110396.457    25110375.786
+     -3189.456       -2485.290          38.000          32.000
+ -15076211.42943 -11685864.85942  21818311.436    21818316.166    21818309.813
+     -1492.047       -1162.634          52.000          46.000
+  -4539989.85243  -3521134.42242  24012408.916    24012414.262    24012407.798
+      3450.442        2688.656          47.000          39.000
+  -8111552.44543  -6276199.19542  23504865.448    23504875.268    23504864.547
+      3457.326        2694.020          49.000          42.000
+ -20415810.74743 -15897227.63142  21444062.340    21444066.707    21444060.993
+      -178.228        -138.879          55.000          49.000
+ -17980271.93943 -13969706.37142  21916990.853    21916996.723    21916989.939
+     -2178.232       -1697.324          54.000          47.000
+ -24288966.31443 -18871435.89842  20222109.566    20222112.954    20222108.307
+       619.551         482.767          56.000          51.000
+  -4931658.41043  -3820090.83842  24180546.561    24180551.893    24180545.443
+     -1669.181       -1300.660          47.000          41.000
+ -14244208.05443 -11045180.94142  22385385.501    22385391.265    22385384.390
+       452.410         352.527          52.000          45.000
+ 04  2  1  8 11  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+  -4324920.70353                  25128604.038                    25128603.256
+     -3196.101       -2490.468          39.000
+ -15031431.81643 -11650971.65642  21826832.172    21826837.976    21826830.712
+     -1494.149       -1164.272          52.000          46.000
+  -4643504.36243  -3601794.99142  23992709.984    23992718.052    23992710.264
+      3449.886        2688.223          46.000          39.000
+  -8215288.50243  -6357032.23942  23485125.089    23485133.035    23485123.444
+      3457.802        2694.391          49.000          41.000
+ -20410466.16543 -15893063.00942  21445078.798    21445084.125    21445077.581
+      -178.899        -139.402          55.000          49.000
+ -17914742.43243 -13918644.46042  21929461.106    21929466.400    21929460.532
+     -2191.268       -1707.481          54.000          47.000
+ -24307312.61543 -18885731.68442  20218617.942    20218621.848    20218616.792
+       602.751         469.676          56.000          51.000
+  -4881397.87043  -3780926.75042  24190109.972    24190116.785    24190108.850
+     -1682.142       -1310.760          47.000          41.000
+ -14257519.35343 -11055553.37142  22382851.845    22382858.522    22382850.994
+       433.964         338.154          52.000          45.000
+ 04  2  1  8 11 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+                  -2878342.14852  25146858.762    25146877.389
+     -3199.066       -2492.779          38.000          32.000
+ -14986586.82943 -11616027.52042  21835366.175    21835372.790    21835364.894
+     -1495.988       -1165.705          52.000          46.000
+  -4746985.97243  -3682429.92842  23973017.391    23973024.530    23973016.672
+      3448.761        2687.346          46.000          38.000
+  -8319036.38043  -6437874.46442  23465382.281    23465392.330    23465381.187
+      3458.464        2694.907          47.000          41.000
+ -20405091.74643 -15888875.14342  21446102.073    21446106.098    21446100.061
+      -179.709        -140.033          55.000          49.000
+ -17848817.52443 -13867274.44742  21942005.745    21942012.334    21942005.288
+     -2204.218       -1717.572          53.000          46.000
+ -24325145.87043 -18899627.69642  20215224.918    20215228.175    20215223.558
+       585.885         456.534          56.000          51.000
+  -4830740.22543  -3741453.26042  24199749.927    24199756.980    24199747.898
+     -1695.161       -1320.905          46.000          41.000
+ -14270269.35943 -11065488.43442  22380425.435    22380432.217    22380423.506
+       415.640         323.875          51.000          45.000
+ 04  2  1  8 12  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14941678.21243 -11581033.80342  21843912.111    21843917.962    21843910.472
+     -1497.574       -1166.941          51.000          46.000
+  -4850434.42743  -3763039.02342  23953333.241    23953338.741    23953333.003
+      3448.115        2686.843          48.000          40.000
+  -8422795.31643  -6518725.32142  23445637.648    23445645.759    23445636.547
+      3459.130        2695.426          48.000          41.000
+ -20399690.07743 -15884666.04342  21447130.021    21447134.381    21447128.509
+      -180.167        -140.390          56.000          49.000
+ -17782500.31943 -13815598.75842  21954625.614    21954631.659    21954624.580
+     -2216.698       -1727.297          53.000          46.000
+ -24342468.90143 -18913126.13342  20211928.355    20211931.712    20211927.092
+       569.355         443.653          56.000          51.000
+  -4779688.57543  -3701672.75842  24209465.695    24209470.220    24209465.325
+     -1707.864       -1330.803          47.000          40.000
+ -14282460.27643 -11074987.83942  22378106.777    22378112.332    22378103.876
+       397.562         309.789          52.000          45.000
+ 04  2  1  8 12 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14896705.62843 -11545990.23642  21852470.072    21852476.119    21852468.680
+     -1500.855       -1169.497          51.000          46.000
+  -4953847.13843  -3843620.24642  23933654.175    23933659.644    23933653.486
+      3445.529        2684.828          46.000          39.000
+  -8526562.08743  -6599582.29542  23425891.034    23425898.482    23425889.313
+      3458.312        2694.789          48.000          41.000
+ -20394260.81243 -15880435.42942  21448162.653    21448167.528    21448161.449
+      -182.101        -141.897          55.000          49.000
+ -17715791.38743 -13763617.80542  21967319.932    21967326.138    21967318.943
+     -2230.896       -1738.360          54.000          47.000
+ -24359281.57443 -18926226.88742  20208728.979    20208732.359    20208727.937
+       551.193         429.501          56.000          51.000
+  -4728243.70143  -3661585.83742  24219254.202    24219260.275    24219253.529
+     -1722.376       -1342.111          45.000          39.000
+ -14294092.27243 -11084051.72342  22375892.831    22375898.842    22375891.061
+       377.501         294.157          52.000          45.000
+ 04  2  1  8 13  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14851666.78643 -11510895.05442  21861040.965    21861047.025    21861038.744
+     -1502.485       -1170.767          52.000          46.000
+  -5057219.98543  -3924170.38642  23913982.186    23913986.841    23913980.791
+      3444.700        2684.182          46.000          39.000
+  -8630332.12843  -6680441.79242  23406144.436    23406152.211    23406143.511
+      3458.965        2695.297          49.000          42.000
+ -20388802.18143 -15876181.93742  21449201.394    21449206.575    21449200.169
+      -182.418        -142.144          56.000          49.000
+ -17648689.14543 -13711330.39742  21980089.032    21980095.217    21980088.722
+     -2243.326       -1748.046          54.000          47.000
+ -24375582.78643 -18938929.10242  20205627.003    20205630.277    20205625.659
+       534.852         416.768          56.000          51.000
+  -4676404.91443  -3621191.95642  24229118.330    24229125.794    24229117.489
+     -1734.588       -1351.627          44.000          39.000
+ -14305163.71443 -11092678.81542  22373785.311    22373792.263    22373783.827
+       359.713         280.296          51.000          45.000
+ 04  2  1  8 13 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14806565.09543 -11475750.88042  21869623.115    21869628.755    21869623.027
+     -1504.987       -1172.717          52.000          46.000
+  -5160553.96843  -4004690.27942  23894318.442    23894325.471    23894317.008
+      3443.230        2683.036          46.000          39.000
+  -8734106.16643  -6761304.42642  23386396.726    23386405.360    23386394.280
+      3458.865        2695.219          49.000          42.000
+ -20383317.95643 -15871908.49942  21450245.389    21450250.225    21450243.912
+      -183.626        -143.085          55.000          49.000
+ -17581198.40943 -13658740.25842  21992932.308    21992938.274    21992931.605
+     -2256.664       -1758.439          53.000          46.000
+ -24391376.58243 -18951235.92842  20202621.485    20202624.811    20202620.320
+       517.586         403.314          56.000          51.000
+  -4624176.90443  -3580494.76842  24239058.484    24239064.191    24239057.130
+     -1747.756       -1361.888          47.000          40.000
+ -14315678.60043 -11100872.21842  22371785.693    22371791.317    22371783.043
+       340.776         265.540          52.000          46.000
+ 04  2  1  8 14  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+   -716417.92353   -568516.18952  25238566.016    25238582.793    25238569.141
+     -3225.560       -2513.423          37.000          32.000
+ -14761397.17543 -11440555.09942  21878218.119    21878224.152    21878217.454
+     -1507.074       -1174.343          51.000          46.000
+  -5263843.73743  -4085175.70042  23874663.142    23874668.898    23874662.322
+      3442.068        2682.131          45.000          39.000
+  -8837878.13243  -6842165.45042  23366649.841    23366659.336    23366648.588
+      3458.571        2694.990          50.000          43.000
+ -20377805.26043 -15867612.88342  21451294.490    21451299.111    21451292.776
+      -184.503        -143.768          55.000          49.000
+ -17513316.95643 -13605845.67142  22005849.809    22005855.725    22005848.863
+     -2269.606       -1768.524          53.000          46.000
+ -24406660.56543 -18963145.49742  20199712.865    20199716.309    20199711.678
+       500.617         390.091          56.000          51.000
+  -4571557.71643  -3539492.77942  24249070.023    24249077.424    24249069.321
+     -1760.895       -1372.126          46.000          40.000
+ -14325634.02343 -11108629.68442  22369890.536    22369896.510    22369889.369
+       322.197         251.063          52.000          45.000
+ 04  2  1  8 14 30.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+                   -493061.50942  25256994.308    25257010.080
+     -3229.693       -2516.644          40.000          31.000
+ -14716162.77543 -11405307.52842  21886826.153    21886831.850    21886825.272
+     -1508.712       -1175.620          51.000          45.000
+  -5367086.75243  -4165624.70942  23855016.079    23855023.949    23855015.029
+      3441.608        2681.772          45.000          39.000
+  -8941645.33343  -6923022.75842  23346903.095    23346912.118    23346900.412
+      3459.010        2695.332          50.000          43.000
+ -20372264.04143 -15863295.03242  21452348.439    21452353.514    21452347.300
+      -184.750        -143.961          55.000          49.000
+ -17445045.46343 -13552647.14042  22018841.856    22018847.350    22018841.234
+     -2281.745       -1777.983          53.000          46.000
+ -24421435.29443 -18974658.24742  20196901.645    20196904.523    20196900.056
+       484.436         377.483          56.000          51.000
+  -4518548.44043  -3498186.83342  24259158.697    24259165.437    24259156.779
+     -1772.927       -1381.501          47.000          40.000
+ -14335030.33743 -11115951.48342  22368102.773    22368107.584    22368101.532
+       304.379         237.178          52.000          45.000
+ 04  2  1  8 15  0.0000000  0  9G 1G27G29G 7G 8G13G28G31G10
+                                  25275449.842
+     -3234.330       -2520.257          36.000
+ -14670862.33443 -11370008.50242  21895446.365    21895452.041    21895444.946
+     -1510.637       -1177.120          51.000          45.000
+  -5470281.38443  -4246036.00442  23835378.595    23835384.924    23835377.302
+      3439.052        2679.781          45.000          39.000
+  -9045405.47343  -7003874.57042  23327158.251    23327165.971    23327156.756
+      3458.622        2695.030          50.000          42.000
+ -20366695.23343 -15858955.68742  21453408.543    21453412.699    21453406.808
+      -185.609        -144.630          55.000          49.000
+ -17376385.68943 -13499146.05242  22031907.135    22031912.639    22031906.394
+     -2294.695       -1788.074          53.000          46.000
+ -24435702.21643 -18985775.30442  20194186.357    20194189.912    20194185.036
+       467.477         364.268          56.000          51.000
+  -4465150.95443  -3456578.38642  24269319.886    24269324.166    24269318.874
+     -1785.899       -1391.610          47.000          40.000
+ -14343868.66043 -11122838.48742  22366420.511    22366426.617    22366419.394
+       285.808         222.708          52.000          45.000
+ 04  2  1  8 15 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14625499.45343 -11334660.81042  21904078.705    21904083.494    21904077.837
+     -1513.398       -1179.271          51.000          45.000
+  -5573429.13743  -4326410.76342  23815749.766    23815757.660    23815749.772
+      3437.228        2678.359          46.000          39.000
+  -9149159.66243  -7084721.74042  23307413.984    23307422.514    23307411.991
+      3458.289        2694.771          49.000          42.000
+ -20361102.54743 -15854597.73442  21454472.672    21454476.955    21454471.269
+      -187.147        -145.829          55.000          49.000
+ -17307342.29243 -13445346.03842  22045045.695    22045051.460    22045045.593
+     -2307.992       -1798.435          53.000          46.000
+ -24449465.88543 -18996500.21942  20191567.262    20191570.872    20191566.271
+       450.124         350.746          56.000          51.000
+  -4411370.41643  -3414671.45842  24279552.959    24279558.901    24279551.186
+     -1799.148       -1401.933          47.000          40.000
+ -14352152.97443 -11129293.78942  22364844.886    22364849.526    22364843.735
+       266.751         207.858          52.000          45.000
+ 04  2  1  8 16  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14580069.22143 -11299260.63742  21912724.003    21912729.955    21912723.132
+     -1514.763       -1180.335          51.000          46.000
+  -5676522.77243  -4406743.38242  23796132.061    23796138.790    23796131.010
+      3435.738        2677.198          46.000          40.000
+  -9252900.35643  -7165558.40642  23287671.477    23287681.983    23287671.422
+      3458.405        2694.861          48.000          42.000
+ -20355481.57343 -15850217.74442  21455542.123    21455547.219    21455540.860
+      -187.206        -145.875          55.000          49.000
+ -17237911.72243 -13391244.34642  22058257.902    22058263.868    22058257.295
+     -2320.170       -1807.925          53.000          46.000
+ -24462722.36243 -19006829.92042  20189044.660    20189048.028    20189043.318
+       434.084         338.247          56.000          51.000
+  -4357203.19743  -3372463.21042  24289860.533    24289867.967    24289858.207
+     -1811.657       -1411.681          46.000          40.000
+ -14359879.29743 -11135314.28542  22363373.752    22363379.640    22363372.148
+       248.944         193.982          52.000          45.000
+ 04  2  1  8 16 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14534571.34143 -11263807.76742  21921381.454    21921387.365    21921380.849
+     -1517.647       -1182.582          51.000          46.000
+  -5779560.17243  -4487032.14642  23776524.444    23776532.120    23776524.686
+      3433.213        2675.231          45.000          40.000
+  -9356624.59443  -7246382.24542  23267933.203    23267942.830    23267931.460
+      3456.977        2693.748          48.000          42.000
+ -20349832.45843 -15845815.82042  21456617.244    21456621.721    21456616.044
+      -188.870        -147.171          55.000          49.000
+ -17168094.84643 -13336841.61342  22071543.451    22071549.026    22071542.711
+     -2333.748       -1818.505          53.000          46.000
+ -24475472.21043 -19016764.84442  20186618.284    20186621.713    20186617.139
+       416.415         324.479          56.000          51.000
+  -4302650.78543  -3329954.82142  24300242.880    24300248.260    24300241.218
+     -1825.017       -1422.091          48.000          40.000
+ -14367048.21343 -11140900.44242  22362010.231    22362016.633    22362008.230
+       229.425         178.773          52.000          45.000
+ 04  2  1  8 17  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14489008.17743 -11228304.01242  21930052.583    21930058.159    21930051.099
+     -1520.308       -1184.655          51.000          46.000
+  -5882541.36743  -4567277.15942  23756928.370    23756934.518    23756928.485
+      3431.568        2673.949          47.000          40.000
+  -9460332.18443  -7327193.12942  23248198.536    23248206.851    23248196.490
+      3456.377        2693.281          49.000          42.000
+ -20344157.69943 -15841393.92042  21457697.033    21457701.597    21457695.717
+      -189.993        -148.046          55.000          49.000
+ -17097895.18643 -13282140.60442  22084902.347    22084907.934    22084901.543
+     -2346.745       -1828.632          53.000          46.000
+ -24487718.91043 -19026307.71042  20184287.884    20184291.211    20184286.539
+       399.522         311.316          56.000          51.000
+  -4247716.73143  -3287149.04742  24310695.663    24310701.909    24310694.765
+     -1838.124       -1432.304          48.000          40.000
+ -14373662.84043 -11146054.69142  22360750.794    22360756.054    22360749.278
+       211.059         164.462          52.000          45.000
+ 04  2  1  8 17 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14443377.50743 -11192747.66642  21938735.131    21938741.406    21938734.272
+     -1522.576       -1186.423          51.000          46.000
+  -5985461.90243  -4647474.89042  23737343.826    23737349.367    23737342.743
+      3428.854        2671.834          47.000          40.000
+  -9564018.17843  -7407987.18342  23228467.344    23228476.149    23228466.075
+      3455.165        2692.336          49.000          42.000
+ -20338455.51343 -15836950.64642  21458781.971    21458786.495    21458780.807
+      -191.137        -148.938          55.000          49.000
+ -17027311.75743 -13227140.54342  22098333.551    22098340.000    22098333.072
+     -2359.799       -1838.804          52.000          46.000
+ -24499461.34343 -19035457.63342  20182053.110    20182056.705    20182051.985
+       382.438         298.004          56.000          51.000
+  -4192400.56243  -3244045.51942  24321222.165    24321228.577    24321221.425
+     -1850.887       -1442.250          47.000          40.000
+ -14379721.64743 -11150775.83742  22359597.356    22359604.272    22359595.341
+       192.040         149.642          52.000          45.000
+ 04  2  1  8 18  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14397679.46443 -11157138.81142  21947431.646    21947436.853    21947430.812
+     -1524.133       -1187.636          51.000          45.000
+  -6088319.82643  -4727623.83142  23717769.880    23717775.846    23717770.357
+      3427.700        2670.935          46.000          40.000
+  -9667680.17143  -7488762.56342  23208742.072    23208749.513    23208740.135
+      3455.115        2692.297          49.000          43.000
+ -20332726.36943 -15832486.37042  21459872.685    21459876.401    21459870.969
+      -191.210        -148.995          56.000          49.000
+ -16956346.00743 -13171842.59142  22111838.174    22111844.393    22111836.786
+     -2371.627       -1848.021          53.000          46.000
+ -24510700.69543 -19044215.55342  20179914.493    20179917.835    20179913.401
+       366.500         285.584          56.000          51.000
+  -4136703.95043  -3200645.54742  24331819.909    24331827.027    24331819.005
+     -1862.832       -1451.557          47.000          39.000
+ -14385225.71243 -11155064.71542  22358550.118    22358555.997    22358549.017
+       174.590         136.044          52.000          45.000
+ 04  2  1  8 18 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14351916.80543 -11121479.62042  21956139.825    21956144.992    21956138.863
+     -1526.176       -1189.228          51.000          45.000
+  -6191115.58843  -4807724.36042  23698209.115    23698214.321    23698209.424
+      3425.868        2669.508          47.000          40.000
+  -9771318.34843  -7569519.36342  23189019.607    23189027.582    23189018.711
+      3454.228        2691.606          49.000          43.000
+ -20326973.46043 -15828003.56742  21460967.136    21460971.772    21460965.751
+      -192.019        -149.625          55.000          49.000
+ -16885002.16343 -13116250.02942  22125414.699    22125420.448    22125413.867
+     -2384.241       -1857.850          53.000          46.000
+ -24521440.68643 -19052584.35842  20177870.805    20177874.266    20177869.534
+       349.942         272.682          56.000          51.000
+  -4080631.22543  -3156952.47042  24342491.073    24342496.956    24342488.620
+     -1875.121       -1461.133          47.000          39.000
+ -14390178.81043 -11158924.27942  22357608.885    22357613.515    22357606.414
+       156.132         121.661          52.000          45.000
+ 04  2  1  8 19  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14306086.17943 -11085767.45942  21964861.046    21964867.685    21964859.275
+     -1529.312       -1191.672          51.000          46.000
+  -6293843.83843  -4887772.23942  23678660.508    23678666.370    23678658.232
+      3422.433        2666.831          47.000          41.000
+  -9874926.74643  -7650252.97642  23169304.943    23169312.294    23169302.111
+      3452.652        2690.378          50.000          43.000
+ -20321193.45243 -15823499.65142  21462066.902    21462071.455    21462065.357
+      -193.622        -150.874          55.000          49.000
+ -16813278.10143 -13060361.18642  22139063.559    22139069.684    22139062.688
+     -2397.661       -1868.307          53.000          46.000
+ -24531679.27643 -19060562.45842  20175922.372    20175925.735    20175921.315
+       332.408         259.019          56.000          51.000
+  -4024180.52943  -3112964.91542  24353233.635    24353239.706    24353231.850
+     -1888.602       -1471.638          47.000          39.000
+ -14394578.36943 -11162352.50042  22356771.437    22356776.338    22356769.498
+       136.976         106.735          52.000          45.000
+ 04  2  1  8 19 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14260187.20143 -11050002.04442  21973595.625    21973601.764    21973594.077
+     -1531.476       -1193.358          51.000          46.000
+  -6396502.02643  -4967765.53242  23659125.702    23659129.546    23659123.216
+      3420.315        2665.181          47.000          41.000
+  -9978502.36343  -7730961.05842  23149593.715    23149600.983    23149592.214
+      3451.851        2689.754          49.000          43.000
+ -20315386.59543 -15818974.81642  21463172.295    21463176.527    21463171.196
+      -194.354        -151.445          55.000          49.000
+ -16741174.75143 -13004176.79442  22152784.341    22152789.479    22152783.687
+     -2410.035       -1877.949          53.000          46.000
+ -24541417.02143 -19068150.29542  20174069.196    20174072.915    20174068.002
+       315.910         246.164          56.000          51.000
+  -3967353.11343  -3068683.79742  24364047.426    24364053.404    24364046.893
+     -1900.965       -1481.271          48.000          40.000
+ -14398424.90543 -11165349.79442  22356038.389    22356044.207    22356037.156
+       118.706          92.498          51.000          45.000
+ 04  2  1  8 20  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14214219.11343 -11014182.78542  21982342.899    21982349.125    21982341.490
+     -1533.006       -1194.550          51.000          46.000
+  -6499087.14543  -5047701.93442  23639604.249    23639609.972    23639602.956
+      3418.800        2664.000          47.000          40.000
+ -10082041.68543  -7811640.85542  23129890.544    23129898.504    23129888.911
+      3450.840        2688.966          48.000          43.000
+ -20309552.26543 -15814428.58042  21464282.450    21464286.532    21464280.893
+      -194.559        -151.604          55.000          49.000
+ -16668692.65943 -12947697.28142  22166576.538    22166582.802    22166576.102
+     -2422.000       -1887.273          53.000          46.000
+ -24550654.40043 -19075348.23042  20172311.440    20172314.909    20172310.373
+       299.982         233.752          56.000          51.000
+  -3910149.87343  -3024109.84342  24374932.450    24374938.604    24374931.930
+     -1912.613       -1490.348          46.000          40.000
+ -14401718.65843 -11167916.37542  22355412.033    22355417.787    22355409.992
+       100.992          78.695          51.000          45.000
+ 04  2  1  8 20 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14168182.17243 -10978309.85942  21991103.712    21991110.128    21991102.219
+     -1535.627       -1196.592          51.000          46.000
+  -6601597.41343  -5127579.96842  23620095.426    23620100.843    23620095.614
+      3415.802        2661.664          46.000          40.000
+ -10185542.46643  -7892290.62442  23110195.526    23110203.309    23110193.378
+      3449.713        2688.088          49.000          43.000
+ -20303691.15643 -15809861.46542  21465397.819    21465401.744    21465395.996
+      -195.609        -152.422          56.000          49.000
+ -16595833.46243 -12890923.93442  22180441.814    22180448.003    22180441.700
+     -2434.724       -1897.187          53.000          45.000
+ -24559393.01143 -19082157.51242  20170648.663    20170652.053    20170647.460
+       283.129         220.620          56.000          51.000
+  -3852572.74243  -2979244.54642  24385888.916    24385896.551    24385887.420
+     -1925.436       -1500.340          46.000          39.000
+ -14404460.83843 -11170053.13542  22354890.358    22354895.895    22354888.279
+        82.243          64.085          52.000          45.000
+ 04  2  1  8 21  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14122078.11943 -10942384.64042  21999877.040    21999882.852    21999875.818
+     -1537.943       -1198.397          51.000          46.000
+  -6704032.33543  -5207399.33442  23600602.684    23600608.005    23600602.396
+      3413.147        2659.595          46.000          40.000
+ -10289003.93643  -7972909.77242  23090507.611    23090514.659    23090506.175
+      3447.940        2686.706          50.000          43.000
+ -20297805.21743 -15805275.01442  21466517.268    21466522.400    21466516.173
+      -196.686        -153.262          55.000          49.000
+ -16522600.45343 -12833859.31042  22194377.842    22194382.453    22194376.375
+     -2447.342       -1907.020          53.000          45.000
+ -24567635.64943 -19088580.32242  20169080.022    20169083.353    20169078.770
+       266.383         207.571          56.000          51.000
+  -3794625.14143  -2934090.58142  24396917.516    24396921.369    24396913.500
+     -1937.976       -1510.111          47.000          40.000
+ -14406654.32543 -11171762.35242  22354472.278    22354479.172    22354470.916
+        63.996          49.867          51.000          45.000
+ 04  2  1  8 21 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14075904.74143 -10906405.40842  22008663.265    22008668.985    22008661.925
+     -1540.161       -1200.125          51.000          45.000
+  -6806387.23443  -5287156.33342  23581124.301    23581132.186    23581123.183
+      3410.381        2657.440          46.000          40.000
+ -10392421.17943  -8053494.46442  23070827.114    23070834.850    23070824.879
+      3446.151        2685.312          49.000          44.000
+ -20291892.72443 -15800667.86742  21467642.452    21467647.264    21467640.886
+      -197.646        -154.010          55.000          49.000
+ -16448992.75743 -12776502.71542  22208384.513    22208390.069    22208383.974
+     -2460.009       -1916.890          53.000          46.000
+ -24575381.60243 -19094616.10642  20167606.278    20167609.275    20167604.938
+       249.847         194.686          56.000          51.000
+  -3736306.49543  -2888647.47642  24408014.028    24408021.379    24408013.690
+     -1950.272       -1519.692          47.000          40.000
+ -14408297.97843 -11173043.13642  22354159.883    22354165.703    22354158.443
+        45.599          35.532          51.000          45.000
+ 04  2  1  8 22  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -14029661.75643 -10870371.93142  22017462.786    22017469.034    22017461.503
+     -1542.192       -1201.708          51.000          45.000
+  -6908659.90743  -5366849.24242  23561663.442    23561670.223    23561661.929
+      3408.502        2655.976          47.000          41.000
+ -10495791.19243  -8134042.36942  23051155.542    23051163.570    23051153.620
+      3445.405        2684.731          49.000          43.000
+ -20285953.43143 -15796039.83442  21468772.652    21468777.417    21468771.462
+      -197.731        -154.076          55.000          49.000
+ -16375011.76943 -12718855.26342  22222463.307    22222468.236    22222461.920
+     -2471.620       -1925.938          53.000          46.000
+ -24582631.43643 -19100265.30342  20166226.436    20166230.087    20166225.328
+       234.042         182.370          56.000          51.000
+  -3677618.27143  -2842916.36642  24419181.655    24419186.801    24419180.177
+     -1961.792       -1528.669          47.000          40.000
+ -14409392.43943 -11173895.97242  22353951.846    22353957.915    22353949.929
+        28.009          21.825          51.000          45.000
+ 04  2  1  8 22 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13983348.79743 -10834283.93342  22026275.780    22026282.052    22026275.347
+     -1544.344       -1203.385          51.000          45.000
+  -7010847.64543  -5446475.96642  23542218.233    23542224.328    23542217.238
+      3405.221        2653.419          47.000          40.000
+ -10599111.10043  -8214551.24942  23031494.759    23031503.080    23031493.157
+      3443.707        2683.408          49.000          44.000
+ -20279987.57643 -15791391.10842  21469908.648    21469912.570    21469906.807
+      -198.772        -154.887          56.000          49.000
+ -16300658.46143 -12660917.69242  22236611.578    22236617.865    22236611.188
+     -2484.008       -1935.591          53.000          46.000
+ -24589386.56443 -19105529.01642  20164940.882    20164944.497    20164939.888
+       217.481         169.466          56.000          51.000
+  -3618561.77643  -2796898.31442  24430419.042    24430426.013    24430418.275
+     -1973.933       -1538.130          47.000          39.000
+ -14409938.55143 -11174321.52842  22353847.611    22353854.069    22353846.043
+         9.616           7.493          51.000          45.000
+ 04  2  1  8 23  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13936967.51543 -10798142.67742  22035102.131    22035107.647    22035101.360
+     -1547.051       -1205.494          51.000          45.000
+  -7112949.92543  -5526036.10542  23522789.804    23522794.775    23522789.754
+      3402.430        2651.244          47.000          41.000
+ -10702379.78643  -8295020.22142  23011843.170    23011850.758    23011840.783
+      3441.872        2681.978          49.000          44.000
+ -20273996.73243 -15786722.90742  21471048.177    21471053.071    21471046.624
+      -199.757        -155.655          55.000          49.000
+ -16225935.85743 -12602692.35342  22250831.496    22250836.282    22250830.850
+     -2496.524       -1945.343          54.000          46.000
+ -24595649.69743 -19110409.35942  20163749.184    20163752.397    20163748.092
+       200.985         156.612          56.000          51.000
+  -3559140.37243  -2750595.93642  24441726.806    24441734.915    24441725.369
+     -1986.083       -1547.597          46.000          39.000
+ -14409939.00243 -11174321.88042  22353848.162    22353853.504    22353845.382
+        -8.806          -6.862          52.000          45.000
+ 04  2  1  8 23 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13890517.44343 -10761947.81342  22043941.819    22043946.858    22043940.435
+     -1549.550       -1207.441          51.000          45.000
+  -7214964.13743  -5605527.63742  23503377.341    23503380.963    23503376.042
+      3398.696        2648.335          46.000          41.000
+ -10805594.29543  -8375446.97742  22992201.895    22992210.563    22992200.262
+      3439.530        2680.153          49.000          43.000
+ -20267980.96743 -15782035.29142  21472192.966    21472197.734    21472191.459
+      -200.995        -156.619          55.000          49.000
+ -16150844.68843 -12544179.81242  22265120.688    22265126.742    22265120.380
+     -2509.328       -1955.320          53.000          45.000
+ -24601421.55343 -19114906.88542  20162650.604    20162654.213    20162649.593
+       184.178         143.515          56.000          51.000
+  -3499355.38743  -2704010.21842  24453104.340    24453110.489    24453103.679
+     -1998.927       -1557.605          48.000          40.000
+ -14409394.65543 -11173897.72942  22353951.467    22353957.186    22353949.449
+       -27.044         -21.073          51.000          45.000
+ 04  2  1  8 24  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13843995.43043 -10725696.90242  22052794.674    22052800.154    22052793.519
+     -1551.705       -1209.121          51.000          45.000
+  -7316884.78243  -5684946.24942  23483981.052    23483986.629    23483980.096
+      3395.857        2646.122          47.000          41.000
+ -10908748.82343  -8455827.00642  22972573.189    22972580.709    22972571.485
+      3437.418        2678.508          50.000          43.000
+ -20261937.25143 -15777325.89742  21473342.719    21473347.612    21473341.588
+      -201.940        -157.356          55.000          49.000
+ -16075383.91843 -12485379.27542  22279480.657    22279486.040    22279479.246
+     -2521.384       -1964.715          53.000          45.000
+ -24606700.67843 -19119020.46942  20161646.142    20161649.381    20161644.871
+       167.847         130.790          56.000          51.000
+  -3439205.49943  -2657140.19242  24464551.596    24464556.241    24464549.148
+     -2011.097       -1567.088          47.000          39.000
+ -14408303.48243 -11173047.46142  22354158.835    22354164.205    22354156.603
+       -45.417         -35.390          51.000          45.000
+ 04  2  1  8 24 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13797403.17143 -10689391.24742  22061660.498    22061666.911    22061658.494
+     -1553.875       -1210.812          51.000          45.000
+  -7418711.66043  -5764291.79142  23464603.610    23464609.406    23464603.569
+      3393.020        2643.912          47.000          41.000
+ -11011842.48243  -8536159.59842  22952954.929    22952962.866    22952953.872
+      3435.824        2677.265          50.000          44.000
+ -20255867.85343 -15772596.49042  21474497.805    21474503.013    21474496.482
+      -202.220        -157.574          55.000          49.000
+ -15999556.65243 -12426293.15442  22293909.434    22293915.561    22293908.656
+     -2533.204       -1973.925          52.000          45.000
+ -24611490.19643 -19122752.53742  20160734.757    20160738.041    20160733.597
+       151.960         118.410          56.000          51.000
+  -3378694.30643  -2609988.60642  24476064.832    24476072.561    24476063.342
+     -2022.494       -1575.969          47.000          39.000
+ -14406668.78943 -11171773.69342  22354470.453    22354476.190    22354468.951
+       -63.254         -49.289          51.000          45.000
+ 04  2  1  8 25  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13750738.50443 -10653029.16442  22070540.103    22070545.109    22070539.822
+     -1556.684       -1213.000          50.000          45.000
+  -7520440.15143  -5843560.64742  23445245.607    23445251.562    23445244.743
+      3389.310        2641.021          47.000          42.000
+ -11114870.41043  -8616440.96442  22933349.487    22933356.615    22933346.781
+      3433.162        2675.191          50.000          44.000
+ -20249770.46143 -15767845.26542  21475658.964    21475662.601    21475657.289
+      -203.779        -158.789          56.000          49.000
+ -15923361.98943 -12366920.74442  22308408.730    22308414.997    22308407.286
+     -2545.958       -1983.863          52.000          45.000
+ -24615789.02143 -19126102.24942  20159916.726    20159919.917    20159915.446
+       135.158         105.318          56.000          51.000
+  -3317821.13343  -2562555.00742  24487650.135    24487655.399    24487646.877
+     -2034.838       -1585.588          47.000          39.000
+ -14404489.54543 -11170075.57142  22354883.928    22354890.507    22354882.991
+       -81.669         -63.638          51.000          45.000
+ 04  2  1  8 25 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13704003.34843 -10616612.15842  22079433.388    22079440.589    22079431.942
+     -1559.413       -1215.127          50.000          45.000
+  -7622069.83543  -5922752.52442  23425905.567    23425911.463    23425904.106
+      3385.509        2638.059          47.000          41.000
+ -11217831.95243  -8696670.60142  22913755.760    22913763.674    22913754.205
+      3430.243        2672.917          51.000          44.000
+ -20243647.61543 -15763074.21142  21476823.286    21476827.897    21476822.044
+      -205.003        -159.742          55.000          49.000
+ -15846803.26943 -12307264.66742  22322977.785    22322982.865    22322976.772
+     -2558.592       -1993.708          53.000          45.000
+ -24619600.83043 -19129072.47042  20159191.429    20159194.488    20159190.317
+       118.508          92.344          56.000          51.000
+  -3256589.91343  -2514842.35842  24499300.586    24499307.294    24499298.935
+     -2047.675       -1595.591          46.000          39.000
+ -14401768.77843 -11167955.49642  22355403.126    22355408.373    22355401.411
+      -100.273         -78.135          52.000          45.000
+ 04  2  1  8 26  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13657195.40443 -10580138.44442  22088340.182    22088346.690    22088338.689
+     -1561.198       -1216.518          50.000          45.000
+  -7723596.35543  -6001864.01042  23406585.463    23406591.845    23406585.312
+      3382.808        2635.954          46.000          41.000
+ -11320722.19443  -8776844.68042  22894176.390    22894184.392    22894175.040
+      3428.877        2671.852          50.000          44.000
+ -20237497.15343 -15758281.63142  21477993.495    21477998.051    21477992.200
+      -204.982        -159.726          55.000          49.000
+ -15769880.49043 -12247324.88242  22337615.986    22337621.737    22337614.694
+     -2569.671       -2002.341          53.000          45.000
+ -24622924.60943 -19131662.40742  20158559.064    20158562.195    20158557.670
+       103.077          80.320          56.000          51.000
+  -3195000.21343  -2466850.38742  24511019.637    24511027.639    24511019.173
+     -2058.804       -1604.263          45.000          39.000
+ -14398505.77243 -11165412.90242  22356024.157    22356029.096    22356022.284
+      -117.343         -91.436          52.000          45.000
+ 04  2  1  8 26 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13610317.96543 -10543610.54842  22097262.338    22097268.010    22097261.405
+     -1564.332       -1218.960          51.000          45.000
+  -7825020.69043  -6080895.87442  23387285.778    23387291.048    23387285.285
+      3378.657        2632.720          47.000          41.000
+ -11423541.62243  -8856963.58342  22874609.817    22874618.257    22874608.314
+      3425.837        2669.483          50.000          44.000
+ -20231322.41243 -15753470.14142  21479168.252    21479173.321    21479167.029
+      -206.582        -160.973          55.000          49.000
+ -15692598.49443 -12187105.19542  22352321.789    22352328.802    22352321.219
+     -2582.423       -2012.278          53.000          45.000
+ -24625764.80643 -19133875.52442  20158018.086    20158021.544    20158017.022
+        86.231          67.193          56.000          51.000
+  -3133057.02443  -2418583.00642  24522808.921    24522813.777    24522807.079
+     -2071.259       -1613.968          46.000          39.000
+ -14394704.78743 -11162451.10142  22356747.024    22356752.598    22356744.966
+      -136.148        -106.089          52.000          45.000
+ 04  2  1  8 27  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13563368.41743 -10507026.49142  22106195.903    22106201.459    22106195.212
+     -1566.819       -1220.898          51.000          45.000
+  -7926338.17943  -6159844.46842  23368005.104    23368011.391    23368004.295
+      3374.715        2629.648          47.000          41.000
+ -11526285.27843  -8937023.45742  22855058.332    22855066.861    22855057.308
+      3422.908        2667.201          50.000          44.000
+ -20225121.39143 -15748638.16442  21480348.974    21480353.340    21480347.567
+      -207.770        -161.899          56.000          49.000
+ -15614956.27243 -12126604.79142  22367096.715    22367103.098    22367096.377
+     -2594.652       -2021.807          53.000          46.000
+ -24628121.04043 -19135711.52342  20157570.053    20157573.330    20157568.659
+        69.857          54.434          56.000          51.000
+  -3070759.92643  -2370039.80942  24534663.154    24534669.374    24534661.318
+     -2083.293       -1623.345          46.000          39.000
+ -14390365.14943 -11159069.56542  22357572.757    22357578.696    22357570.436
+      -154.191        -120.149          52.000          45.000
+ 04  2  1  8 27 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13516342.25343 -10470382.71742  22115144.243    22115150.530    22115143.110
+     -1569.227       -1222.774          50.000          44.000
+  -8027541.79643  -6238704.33242  23348747.810    23348752.980    23348746.557
+      3371.222        2626.926          48.000          41.000
+ -11628945.85543  -9017018.60242  22835522.987    22835530.645    22835521.617
+      3420.314        2665.180          50.000          44.000
+ -20218889.77243 -15743782.34742  21481534.136    21481538.993    21481533.188
+      -208.578        -162.528          55.000          49.000
+ -15536950.77743 -12065821.33442  22381941.349    22381947.297    22381941.128
+     -2606.608       -2031.123          53.000          46.000
+ -24629990.04843 -19137167.86542  20157214.172    20157217.520    20157213.012
+        53.836          41.950          56.000          51.000
+  -3008106.07543  -2321218.63442  24546585.786    24546592.155    24546585.109
+     -2094.734       -1632.260          45.000          39.000
+ -14385483.48243 -11155265.67342  22358500.681    22358507.428    22358499.821
+      -172.077        -134.086          51.000          45.000
+ 04  2  1  8 28  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13469245.75643 -10433684.15842  22124106.693    22124112.215    22124105.352
+     -1570.579       -1223.828          50.000          44.000
+  -8128635.75743  -6317478.76142  23329510.301    23329514.282    23329508.631
+      3368.515        2624.817          48.000          42.000
+ -11731527.01743  -9096951.85542  22816002.288    22816010.447    22816000.462
+      3418.548        2663.804          51.000          44.000
+ -20212633.75443 -15738907.52942  21482724.981    21482729.630    21482723.701
+      -208.565        -162.518          55.000          49.000
+ -15458590.00043 -12004761.03242  22396852.524    22396858.512    22396851.637
+     -2617.417       -2039.546          52.000          45.000
+ -24631379.44643 -19138250.48642  20156949.714    20156953.030    20156948.596
+        38.819          30.249          56.000          51.000
+  -2945103.59543  -2272125.80942  24558574.367    24558581.778    24558573.711
+     -2105.343       -1640.527          47.000          39.000
+ -14380067.68943 -11151045.58042  22359532.248    22359537.937    22359530.779
+      -188.857        -147.161          52.000          45.000
+ 04  2  1  8 28 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13422078.37643 -10396930.36842  22133082.413    22133088.447    22133081.474
+     -1573.945       -1226.451          50.000          45.000
+  -8229617.26443  -6396165.56042  23310293.064    23310299.970    23310293.168
+      3363.878        2621.204          47.000          41.000
+ -11834025.51143  -9176820.68842  22796497.772    22796504.904    22796495.997
+      3414.660        2660.774          51.000          44.000
+ -20206353.34743 -15734013.69742  21483920.148    21483924.548    21483918.558
+      -210.212        -163.801          56.000          49.000
+ -15379875.01243 -11943424.72842  22411831.553    22411838.080    22411830.833
+     -2630.190       -2049.499          53.000          45.000
+ -24632290.41043 -19138960.30142  20156776.593    20156779.857    20156775.371
+        21.828          17.009          56.000          51.000
+  -2881753.96543  -2222762.46542  24570629.032    24570635.943    24570628.434
+     -2118.113       -1650.478          46.000          39.000
+ -14374118.60343 -11146409.92342  22360664.319    22360669.944    22360662.896
+      -207.813        -161.932          52.000          45.000
+ 04  2  1  8 29  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13374833.63543 -10360116.29142  22142072.141    22142078.965    22142071.890
+     -1575.668       -1227.793          51.000          45.000
+  -8330477.49943  -6474757.86942  23291099.121    23291105.791    23291098.629
+      3360.362        2618.464          46.000          41.000
+ -11936432.41643  -9256618.14442  22777009.950    22777017.512    22777008.667
+      3412.461        2659.061          51.000          44.000
+ -20200042.09743 -15729095.83942  21485121.504    21485125.571    21485119.817
+      -210.278        -163.853          55.000          49.000
+ -15300801.08343 -11881808.72342  22426878.458    22426885.109    22426877.700
+     -2641.260       -2058.125          52.000          45.000
+ -24632717.94543 -19139293.42042  20156695.156    20156698.322    20156693.804
+         6.663           5.192          56.000          51.000
+  -2818052.72443  -2173125.13742  24582752.716    24582758.445    24582751.150
+     -2128.553       -1658.613          46.000          39.000
+ -14367631.13143 -11141354.75842  22361898.779    22361904.176    22361897.899
+      -225.162        -175.451          52.000          45.000
+ 04  2  1  8 29 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13327516.25043 -10323245.60542  22151077.791    22151082.497    22151076.561
+     -1578.400       -1229.922          50.000          45.000
+  -8431218.86443  -6553257.54642  23271928.182    23271935.637    23271928.655
+      3356.011        2615.074          47.000          41.000
+ -12038749.55743  -9336345.63842  22757538.936    22757547.125    22757536.409
+      3408.993        2656.358          50.000          44.000
+ -20193704.86243 -15724157.72442  21486326.931    21486331.559    21486325.817
+      -211.704        -164.964          55.000          49.000
+ -15221374.58643 -11819918.00542  22441993.847    22441999.055    22441992.623
+     -2653.609       -2067.747          52.000          45.000
+ -24632668.32943 -19139254.73442  20156704.449    20156707.729    20156703.297
+        -9.654          -7.522          56.000          51.000
+  -2754006.29143  -2123218.81542  24594939.474    24594945.421    24594937.855
+     -2140.739       -1668.108          46.000          39.000
+ -14360611.41543 -11135884.86942  22363235.067    22363240.403    22363232.447
+      -242.931        -189.297          52.000          45.000
+ 04  2  1  8 30  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13280122.97343 -10286315.80342  22160095.972    22160101.519    22160094.055
+     -1581.041       -1231.980          50.000          45.000
+  -8531835.93343  -6631660.36142  23252781.733    23252787.930    23252780.916
+      3351.821        2611.809          46.000          41.000
+ -12140971.27343  -9415998.77842  22738086.233    22738094.235    22738085.359
+      3405.706        2653.797          49.000          44.000
+ -20187338.88543 -15719197.21742  21487538.603    21487543.044    21487536.743
+      -212.644        -165.697          55.000          49.000
+ -15141594.17543 -11757751.50342  22457174.973    22457181.558    22457174.727
+     -2665.154       -2076.743          52.000          45.000
+ -24632140.15543 -19138843.14842  20156805.022    20156808.398    20156803.617
+       -25.434         -19.819          56.000          51.000
+  -2689613.65743  -2073042.73042  24607192.476    24607199.686    24607191.182
+     -2152.299       -1677.116          46.000          39.000
+ -14353058.07443 -11129999.15242  22364672.630    22364677.608    22364669.792
+      -260.605        -203.069          52.000          45.000
+ 04  2  1  8 30 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13232655.62343 -10249328.25942  22169128.627    22169134.600    22169127.539
+     -1583.421       -1233.834          51.000          45.000
+  -8632328.33743  -6709966.03942  23233659.567    23233665.713    23233657.793
+      3347.477        2608.424          46.000          41.000
+ -12243096.59043  -9495576.80842  22718653.381    22718660.409    22718651.457
+      3402.536        2651.327          49.000          43.000
+ -20180946.05243 -15714215.78242  21488755.223    21488759.550    21488753.559
+      -213.516        -166.376          55.000          49.000
+ -15061463.31643 -11695311.93342  22472422.955    22472429.965    22472422.491
+     -2676.791       -2085.811          51.000          45.000
+ -24631136.95243 -19138061.40642  20156996.013    20156999.113    20156994.669
+       -41.295         -32.178          56.000          51.000
+  -2624878.53343  -2022599.80042  24619511.976    24619517.144    24619509.416
+     -2163.413       -1685.776          45.000          38.000
+ -14344974.49243 -11123700.26342  22366210.395    22366215.750    22366208.956
+      -278.188        -216.770          52.000          45.000
+ 04  2  1  8 31  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13185114.10543 -10212282.94042  22178175.010    22178181.326    22178173.608
+     -1585.461       -1235.424          50.000          45.000
+  -8732693.54543  -6788172.62142  23214559.284    23214565.791    23214558.548
+      3343.789        2605.550          47.000          41.000
+ -12345122.74443  -9575077.55042  22699238.186    22699245.155    22699237.098
+      3399.497        2648.959          50.000          43.000
+ -20174526.37843 -15709213.44242  21489976.087    21489981.466    21489975.124
+      -214.102        -166.833          55.000          49.000
+ -14980983.82143 -11632600.69442  22487737.841    22487743.990    22487737.149
+     -2688.166       -2094.675          52.000          45.000
+ -24629659.99643 -19136910.51042  20157276.656    20157280.313    20157275.535
+       -56.727         -44.203          56.000          51.000
+  -2559802.64343  -1971891.31542  24631894.336    24631900.835    24631893.998
+     -2174.439       -1694.368          45.000          38.000
+ -14336362.16443 -11116989.37042  22367849.228    22367854.893    22367847.071
+      -295.493        -230.254          52.000          45.000
+ 04  2  1  8 31 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13137496.85743 -10175178.60442  22187234.912    22187242.093    22187234.632
+     -1588.491       -1237.785          49.000          44.000
+  -8832928.02443  -6866277.32242  23195486.212    23195492.731    23195484.988
+      3338.997        2601.816          47.000          41.000
+ -12447045.72743  -9654497.91442  22679843.105    22679850.679    22679840.659
+      3395.947        2646.192          50.000          44.000
+ -20168078.61943 -15704189.20742  21491203.516    21491208.671    21491202.188
+      -215.246        -167.724          55.000          49.000
+ -14900156.06343 -11569618.10542  22503119.558    22503126.051    22503118.940
+     -2699.856       -2103.784          52.000          45.000
+ -24627709.64743 -19135390.73742  20157647.807    20157651.433    20157646.654
+       -72.705         -56.653          56.000          51.000
+  -2494386.69743  -1920917.86842  24644343.575    24644349.835    24644342.947
+     -2185.818       -1703.235          46.000          38.000
+ -14327221.38343 -11109866.69442  22369588.286    22369594.562    22369586.637
+      -313.379        -244.191          51.000          45.000
+ 04  2  1  8 32  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13089803.69543 -10138015.13542  22196312.233    22196318.707    22196311.216
+     -1591.255       -1239.939          50.000          45.000
+  -8933028.76843  -6944277.82542  23176438.177    23176443.735    23176436.263
+      3334.217        2598.091          48.000          42.000
+ -12548862.45443  -9733835.49042  22660468.492    22660474.207    22660466.350
+      3391.872        2643.017          51.000          44.000
+ -20161602.60543 -15699142.95342  21492436.048    21492440.595    21492434.721
+      -216.597        -168.777          56.000          49.000
+ -14818981.48943 -11506365.27042  22518566.279    22518572.799    22518566.085
+     -2711.740       -2113.044          52.000          45.000
+ -24625287.41843 -19133503.26442  20158109.042    20158112.238    20158107.716
+       -88.890         -69.265          56.000          51.000
+  -2428632.30043  -1869680.65142  24656854.338    24656863.043    24656853.789
+     -2197.950       -1712.688          45.000          38.000
+ -14317553.46743 -11102333.25442  22371428.556    22371433.661    22371426.689
+      -331.325        -258.175          51.000          45.000
+ 04  2  1  8 32 30.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -13042034.56343 -10100792.45742  22205402.485    22205408.261    22205401.837
+     -1593.694       -1241.839          50.000          45.000
+  -9032993.86643  -7022172.63842  23157414.711    23157420.210    23157413.771
+      3329.585        2594.482          48.000          42.000
+ -12650570.45243  -9813088.33842  22641113.530    22641119.853    22641112.172
+      3388.361        2640.281          51.000          44.000
+ -20155098.65043 -15694074.93942  21493673.405    21493677.837    21493671.746
+      -217.425        -169.422          55.000          49.000
+ -14737461.89943 -11442843.59442  22534078.707    22534085.668    22534077.419
+     -2723.203       -2121.976          52.000          45.000
+ -24622394.74443 -19131249.21642  20158659.314    20158662.878    20158658.046
+      -104.424         -81.369          56.000          51.000
+  -2362541.56043  -1818181.40242  24669431.392    24669440.110    24669431.534
+     -2208.597       -1720.985          44.000          38.000
+ -14307360.06843 -11094390.35842  22373367.473    22373374.017    22373366.305
+      -348.795        -271.788          51.000          45.000
+ 04  2  1  8 33  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12994186.79343 -10063508.49842  22214507.672    22214513.516    22214506.489
+     -1596.508       -1244.032          50.000          45.000
+  -9132818.44543  -7099957.95542  23138419.894    23138424.331    23138418.919
+      3324.831        2590.777          49.000          42.000
+ -12752164.57043  -9892252.43942  22621780.259    22621787.847    22621778.571
+      3384.248        2637.076          51.000          44.000
+                                  25275203.523
+      3552.914        2768.504          43.000
+ -20148564.30043 -15688983.22442  21494917.453    21494921.610    21494915.972
+      -218.617        -170.351          56.000          49.000
+ -14655596.65243 -11379052.57242  22549657.400    22549663.509    22549656.331
+     -2734.791       -2131.006          52.000          44.000
+ -24619031.11143 -19128628.18542  20159299.762    20159302.512    20159298.306
+      -120.174         -93.642          56.000          51.000
+  -2296114.13443  -1766419.78042  24682074.218    24682079.440    24682071.722
+     -2220.184       -1730.013          45.000          39.000
+ -14296640.35943 -11086037.31942  22375407.876    22375413.706    22375406.093
+      -366.209        -285.358          51.000          45.000
+ 04  2  1  8 33 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12946262.37843 -10026164.82942  22223628.026    22223632.900    22223626.434
+     -1598.444       -1245.541          51.000          45.000
+  -9232501.98143  -7177633.37842  23119448.911    23119454.091    23119447.795
+      3320.685        2587.547          48.000          42.000
+ -12853643.89843  -9971327.09142  22602469.252    22602477.202    22602468.649
+      3380.880        2634.452          51.000          44.000
+   -853657.92753   -620319.97952  25254906.925    25254915.523    25254907.378
+      3555.940        2770.862          40.000          33.000
+ -20142001.74943 -15683869.54242  21496165.684    21496170.492    21496164.396
+      -218.865        -170.544          55.000          49.000
+ -14573389.42143 -11314995.04942  22565301.075    22565307.014    22565299.849
+     -2745.751       -2139.546          52.000          44.000
+ -24615200.15243 -19125643.00842  20160028.370    20160031.703    20160027.174
+      -135.223        -105.368          56.000          51.000
+  -2229353.81943  -1714398.77942  24694777.683    24694783.669    24694775.691
+     -2230.842       -1738.318          45.000          39.000
+ -14285398.05443 -11077277.09842  22377546.782    22377553.053    22377545.415
+      -383.099        -298.519          51.000          45.000
+ 04  2  1  8 34  0.0000000  0  8G27G29G 7G 8G13G28G31G10
+ -12898262.29843  -9988762.18642  22232761.449    22232766.975    22232760.088
+     -1601.147       -1247.647          50.000          45.000
+  -9332043.27243  -7255197.92942  23100508.102    23100513.427    23100507.388
+      3315.865        2583.791          48.000          42.000
+ -12955006.98543 -10050311.17242  22583180.561    22583187.295    22583179.394
+      3377.050        2631.468          51.000          45.000
+ -20135412.04343 -15678734.70342  21497419.745    21497424.206    21497418.404
+      -219.905        -171.354          55.000          48.000
+ -14490843.12943 -11250673.32042  22581009.268    22581015.428    22581007.918
+     -2757.032       -2148.337          52.000          45.000
+ -24610904.67643 -19122295.86542  20160845.731    20160848.987    20160844.617
+      -150.762        -117.477          56.000          51.000
+  -2162263.81543  -1662120.84742  24707544.047    24707551.585    24707542.907
+     -2241.666       -1746.753          43.000          38.000
+ -14273636.25343 -11068112.06742  22379785.342    22379791.482    22379783.526
+      -400.511        -312.086          51.000          45.000
+ 04  2  1  8 34 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12850184.90743  -9951299.31342  22241910.590    22241916.136    22241909.393
+     -1603.686       -1249.625          50.000          45.000
+  -9431438.36243  -7332648.56042  23081594.547    23081598.201    23081592.145
+      3311.084        2580.065          49.000          42.000
+ -13056249.38243 -10129201.21442  22563914.966    22563922.052    22563913.703
+      3372.994        2628.307          51.000          45.000
+  -1067138.19253   -786668.07452  25214281.335    25214287.886    25214279.826
+      3560.285        2774.248          39.000          33.000
+ -20128793.71643 -15673577.55442  21498679.532    21498683.908    21498677.788
+      -220.786        -172.041          55.000          49.000
+ -14407957.89043 -11186087.49842  22596781.938    22596788.688    22596781.189
+     -2768.316       -2157.129          52.000          44.000
+ -24606144.84943 -19118586.89142  20161751.668    20161754.774    20161750.488
+      -166.116        -129.441          56.000          51.000
+  -2094844.43643  -1609586.29042  24720374.196    24720379.410    24720372.982
+     -2252.522       -1755.212          44.000          39.000
+ -14261354.87443 -11058542.15242  22382122.518    22382129.150    22382120.862
+      -417.730        -325.504          52.000          45.000
+ 04  2  1  8 35  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12802026.74043  -9913773.49942  22251075.342    22251080.613    22251073.691
+     -1606.471       -1251.795          51.000          45.000
+  -9530681.47043  -7409980.78342  23062708.329    23062714.973    23062707.889
+      3305.780        2575.932          48.000          42.000
+ -13157364.97443 -10207992.46842  22544672.859    22544679.806    22544670.724
+      3368.640        2624.914          51.000          45.000
+  -1173971.16853   -869914.53652  25193953.251    25193960.497    25193953.378
+      3561.985        2775.573          41.000          34.000
+ -20122143.50743 -15668395.56242  21499944.845    21499949.615    21499943.720
+      -222.043        -173.020          55.000          49.000
+ -14324731.80143 -11121236.08142  22612619.461    22612624.832    22612619.307
+     -2779.622       -2165.939          51.000          44.000
+ -24600918.87643 -19114514.68442  20162745.834    20162749.267    20162744.784
+      -181.695        -141.580          56.000          51.000
+  -2027094.34843  -1556794.02442  24733265.903    24733271.430    24733264.950
+     -2263.530       -1763.790          45.000          38.000
+ -14248552.18143 -11048566.03242  22384558.829    22384565.694    22384557.294
+      -435.239        -339.147          51.000          45.000
+ 04  2  1  8 35 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12753791.89943  -9876187.93142  22260252.958    22260259.477    22260251.901
+     -1609.067       -1253.818          50.000          45.000
+  -9629774.41743  -7487195.96942  23043852.163    23043857.344    23043850.308
+      3300.685        2571.962          48.000          42.000
+ -13258355.29343 -10286686.08842  22525454.701    22525461.628    22525453.182
+      3364.283        2621.519          51.000          45.000
+  -1280866.77043   -953209.71642  25173610.860    25173619.399    25173609.775
+      3564.230        2777.322          41.000          35.000
+ -20115465.65843 -15663192.03042  21501215.229    21501220.359    21501214.293
+      -222.983        -173.753          55.000          49.000
+ -14241172.00143 -11056124.62842  22628519.824    22628526.732    22628518.954
+     -2790.777       -2174.631          51.000          44.000
+ -24595232.88243 -19110084.02542  20163827.808    20163831.227    20163826.707
+      -197.113        -153.594          56.000          51.000
+  -1959019.83843  -1503748.98742  24746219.351    24746226.495    24746218.633
+     -2274.869       -1772.625          43.000          37.000
+ -14235234.11843 -11038188.30942  22387093.376    22387099.325    22387091.812
+      -452.506        -352.602          51.000          45.000
+ 04  2  1  8 36  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12705476.99243  -9838539.98142  22269447.150    22269453.367    22269446.096
+     -1611.445       -1255.671          50.000          45.000
+  -9728711.28943  -7564289.53342  23025024.181    23025029.533    23025021.533
+      3295.613        2568.010          48.000          42.000
+ -13359214.29043 -10365277.38542  22506261.918    22506269.046    22506261.000
+      3360.231        2618.362          51.000          44.000
+  -1387820.00243  -1036549.78142  25153258.765    25153267.406    25153260.077
+      3566.498        2779.089          41.000          35.000
+ -20108756.78743 -15657964.33042  21502492.032    21502496.708    21502490.600
+      -223.776        -174.371          55.000          49.000
+ -14157276.71843 -10990751.73942  22644484.246    22644491.627    22644483.495
+     -2801.832       -2183.246          50.000          44.000
+ -24589085.24543 -19105293.63642  20164997.971    20165000.834    20164996.765
+      -212.296        -165.425          56.000          51.000
+  -1890619.68343  -1450450.16742  24759237.581    24759240.750    24759235.767
+     -2284.863       -1780.413          43.000          37.000
+ -14221399.26743 -11027407.91042  22389725.426    22389731.952    22389723.863
+      -469.509        -365.851          51.000          45.000
+ 04  2  1  8 36 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12657082.24043  -9800829.81542  22278656.940    22278662.045    22278655.239
+     -1613.727       -1257.450          50.000          45.000
+  -9827490.32543  -7641260.14242  23006227.152    23006232.039    23006225.887
+      3290.801        2564.261          48.000          42.000
+ -13459939.55343 -10443764.48742  22487094.018    22487101.732    22487092.758
+      3356.148        2615.180          50.000          45.000
+  -1494829.50943  -1119933.75542  25132896.618    25132900.344    25132896.200
+      3568.558        2780.695          42.000          34.000
+ -20102017.43543 -15652712.87042  21503774.870    21503778.722    21503773.700
+      -224.355        -174.822          55.000          49.000
+ -14073047.80543 -10925118.89942  22660513.215    22660519.381    22660512.377
+     -2812.339       -2191.433          51.000          44.000
+ -24582478.16943 -19100145.24542  20166255.183    20166258.215    20166253.803
+      -227.088        -176.952          56.000          51.000
+  -1821896.13243  -1396899.36142  24772313.834    24772318.996    24772311.811
+     -2295.319       -1788.560          41.000          37.000
+ -14207049.88143 -11016226.57242  22392456.349    22392462.109    22392454.171
+      -485.962        -378.672          51.000          45.000
+ 04  2  1  8 37  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12608609.13043  -9763058.59942  22287880.638    22287886.454    22287879.318
+     -1617.008       -1260.006          50.000          45.000
+  -9926110.59443  -7718107.01842  22987460.809    22987466.786    22987459.152
+      3284.743        2559.540          49.000          42.000
+ -13560529.83043 -10522146.39542  22467952.751    22467960.449    22467951.358
+      3350.638        2610.887          50.000          45.000
+  -1601895.14043  -1203361.46042  25112521.818    25112529.904    25112521.980
+      3570.106        2781.901          42.000          35.000
+ -20095249.10843 -15647438.83542  21505062.158    21505066.954    21505061.065
+      -225.916        -176.038          55.000          49.000
+ -13988488.64343 -10859228.72642  22676604.788    22676611.112    22676603.729
+     -2824.093       -2200.592          52.000          44.000
+ -24575415.07043 -19094641.50842  20167599.374    20167602.402    20167597.921
+      -242.904        -189.276          56.000          51.000
+  -1752852.90543  -1343099.47842  24785452.275    24785458.025    24785452.167
+     -2306.823       -1797.524          42.000          37.000
+ -14192189.45843 -11004647.03942  22395283.911    22395289.559    22395282.764
+      -503.744        -392.528          51.000          45.000
+ 04  2  1  8 37 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12560054.51543  -9725223.85542  22297119.944    22297126.327    22297118.806
+     -1619.863       -1262.231          50.000          45.000
+ -10024566.49843  -7794825.83442  22968724.507    22968728.233    22968723.433
+      3279.094        2555.138          49.000          42.000
+ -13660979.51443 -10600418.75642  22448837.623    22448844.684    22448836.249
+      3346.042        2607.305          51.000          45.000
+  -1709012.23043  -1286829.22442  25092138.493    25092145.380    25092137.341
+      3571.386        2782.898          43.000          35.000
+ -20088448.83443 -15642139.90842  21506356.743    21506361.510    21506355.312
+      -227.063        -176.932          55.000          49.000
+ -13903598.50643 -10793080.64042  22692758.436    22692764.262    22692757.404
+     -2835.149       -2209.207          51.000          44.000
+ -24567894.71743 -19088781.47542  20169030.287    20169033.557    20169028.911
+      -258.179        -201.178          56.000          51.000
+  -1683489.23443  -1289049.85042  24798650.711    24798657.832    24798651.369
+     -2317.233       -1805.636          43.000          38.000
+ -14176816.68343 -10992668.26142  22398210.880    22398214.730    22398208.409
+      -520.894        -405.891          52.000          45.000
+ 04  2  1  8 38  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12511418.34643  -9687325.56142  22306375.240    22306381.557    22306373.897
+     -1622.463       -1264.257          50.000          44.000
+ -10122855.97743  -7871414.97442  22950020.078    22950025.646    22950018.875
+      3273.383        2550.688          49.000          43.000
+ -13761285.74343 -10678579.35142  22429750.197    22429757.364    22429748.793
+      3341.066        2603.428          51.000          45.000
+  -1816179.01743  -1370335.79442  25071745.850    25071752.146    25071745.259
+      3572.905        2784.082          41.000          35.000
+ -20081616.79843 -15636816.22842  21507656.580    21507660.957    21507655.065
+      -228.239        -177.848          55.000          49.000
+ -13818379.20743 -10726676.04542  22708975.723    22708982.062    22708974.807
+     -2846.078       -2217.723          52.000          44.000
+ -24559918.98443 -19082566.59642  20170548.090    20170550.955    20170546.537
+      -273.447        -213.075          56.000          51.000
+  -1613807.00243  -1234752.08242  24811912.308    24811916.409    24811910.571
+     -2327.587       -1813.704          42.000          38.000
+ -14160933.76943 -10980291.98942  22401232.511    22401238.270    22401230.547
+      -537.920        -419.158          52.000          45.000
+ 04  2  1  8 38 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12462703.60943  -9649366.04842  22315645.624    22315651.367    22315643.952
+     -1625.276       -1266.449          50.000          44.000
+ -10220979.56443  -7947874.83542  22931348.406    22931354.629    22931348.277
+      3267.946        2546.451          49.000          43.000
+ -13861448.97043 -10756628.51342  22410689.892    22410696.703    22410688.147
+      3336.386        2599.781          51.000          45.000
+  -1923396.91943  -1453882.07142  25051342.291    25051351.230    25051340.443
+      3574.467        2785.299          42.000          36.000
+ -20074755.84443 -15631470.01942  21508962.583    21508966.831    21508961.018
+      -229.453        -178.794          55.000          49.000
+ -13732835.66243 -10660018.80542  22725254.185    22725260.898    22725253.671
+     -2856.965       -2226.206          51.000          44.000
+ -24551492.68143 -19076000.62842  20172151.731    20172154.646    20172150.137
+      -288.548        -224.842          56.000          51.000
+  -1543811.53143  -1180210.15142  24825232.992    24825237.671    24825231.068
+     -2339.018       -1822.611          42.000          37.000
+ -14144545.84043 -10967522.17642  22404351.182    22404356.060    22404349.142
+      -554.773        -432.291          52.000          45.000
+ 04  2  1  8 39  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12413905.64643  -9611341.68742  22324931.445    22324936.532    22324930.529
+     -1628.242       -1268.760          50.000          44.000
+ -10318930.13043  -8024199.88642  22912708.020    22912714.688    22912707.104
+      3262.106        2541.901          48.000          42.000
+ -13961461.90243 -10834560.56942  22391657.625    22391664.436    22391656.387
+      3331.132        2595.687          51.000          45.000
+  -2030659.51343  -1537463.25542  25030931.736    25030936.780    25030932.053
+      3576.057        2786.538          45.000          36.000
+ -20067861.53143 -15626097.81242  21510273.888    21510278.526    21510272.739
+      -230.480        -179.595          55.000          49.000
+ -13646965.41243 -10593106.99742  22741594.206    22741600.710    22741593.549
+     -2867.948       -2234.765          51.000          43.000
+ -24542613.24243 -19069081.56042  20173841.076    20173844.349    20173839.638
+      -303.715        -236.661          56.000          51.000
+  -1473500.27943  -1125422.17042  24838611.976    24838617.659    24838611.491
+     -2348.818       -1830.248          43.000          38.000
+ -14127650.10543 -10954356.67742  22407565.873    22407571.323    22407564.040
+      -571.745        -445.515          52.000          45.000
+ 04  2  1  8 39 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12365025.20143  -9573253.03842  22334233.302    22334238.920    22334231.708
+     -1629.891       -1270.045          50.000          44.000
+ -10416706.11643  -8100388.91942  22894102.183    22894108.887    22894101.648
+      3256.968        2537.897          49.000          43.000
+ -14061322.43443 -10912373.88042  22372653.827    22372661.899    22372653.606
+      3326.853        2592.353          51.000          45.000
+  -2137965.80943  -1621078.53442  25010512.425    25010516.063    25010509.628
+      3578.301        2788.286          44.000          35.000
+ -20060934.75843 -15620700.31542  21511591.923    21511597.123    21511590.661
+      -230.712        -179.775          55.000          49.000
+ -13560771.20043 -10525942.76142  22757996.819    22758002.278    22757995.766
+     -2877.815       -2242.453          51.000          43.000
+ -24533283.45143 -19061811.57242  20175616.529    20175619.412    20175615.235
+      -317.778        -247.619          56.000          51.000
+  -1402876.18043  -1070390.41542  24852050.412    24852056.715    24852049.825
+     -2358.710       -1837.956          44.000          38.000
+ -14110249.19243 -10940797.54542  22410876.767    22410882.739    22410875.350
+      -587.623        -457.888          51.000          45.000
+ 04  2  1  8 40  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12316065.52243  -9535102.64642  22343550.130    22343555.853    22343549.092
+     -1634.173       -1273.381          50.000          44.000
+ -10514308.68343  -8176442.79442  22875529.639    22875536.064    22875529.443
+      3249.719        2532.249          50.000          43.000
+ -14161031.44343 -10990069.11642  22353680.312    22353687.579    22353678.396
+      3320.260        2587.215          51.000          45.000
+  -2245317.67743  -1704729.28842  24990083.190    24990089.313    24990082.011
+      3578.211        2788.216          44.000          37.000
+ -20053978.91443 -15615280.16542  21512915.949    21512920.544    21512914.714
+      -233.181        -181.699          55.000          49.000
+ -13474258.27043 -10458530.16942  22774459.626    22774465.803    22774458.785
+     -2889.849       -2251.830          51.000          43.000
+ -24523508.70143 -19054194.85842  20177476.428    20177479.549    20177475.188
+      -334.063        -260.309          56.000          51.000
+  -1331944.99143  -1015119.40442  24865548.432    24865555.103    24865548.000
+     -2370.384       -1847.052          44.000          38.000
+ -14092348.68543 -10926849.11642  22414282.785    22414289.386    22414281.118
+      -605.740        -472.005          51.000          45.000
+ 04  2  1  8 40 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12267018.95543  -9496884.55842  22352883.253    22352888.970    22352881.754
+     -1636.855       -1275.471          50.000          44.000
+ -10611727.58543  -8252353.58942  22856991.027    22856995.905    22856991.009
+      3243.713        2527.569          49.000          43.000
+ -14260578.64443 -11067638.27442  22334737.475    22334743.380    22334735.672
+      3314.937        2583.068          51.000          45.000
+  -2352705.55243  -1788408.07342  24969645.442    24969654.651    24969646.404
+      3579.107        2788.915          43.000          37.000
+ -20046986.50743 -15609831.53342  21514246.310    21514251.232    21514245.129
+      -234.216        -182.506          55.000          49.000
+ -13387420.97743 -10390864.82842  22790984.006    22790991.171    22790983.299
+     -2900.413       -2260.062          51.000          43.000
+ -24513283.04643 -19046226.79542  20179422.653    20179425.475    20179421.215
+      -348.857        -271.837          56.000          51.000
+  -1260701.19543   -959604.80242  24879106.812    24879113.608    24879105.296
+     -2380.482       -1854.921          44.000          39.000
+ -14073943.26743 -10912507.24842  22417785.128    22417791.977    22417783.065
+      -622.372        -484.965          51.000          45.000
+ 04  2  1  8 41  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12217892.14043  -9458603.92142  22362232.101    22362237.601    22362230.908
+     -1638.845       -1277.022          50.000          44.000
+ -10708967.17043  -8328124.62442  22838486.899    22838493.700    22838486.994
+      3238.172        2523.251          49.000          43.000
+ -14359967.81743 -11145084.28842  22315823.901    22315831.239    22315821.993
+      3310.255        2579.419          52.000          45.000
+  -2460134.41243  -1872118.79142  24949204.054    24949209.118    24949203.591
+      3581.581        2790.842          45.000          36.000
+ -20039963.74443 -15604359.25042  21515582.672    21515587.461    21515581.242
+      -234.652        -182.846          55.000          49.000
+ -13300268.29443 -10322953.72742  22807568.654    22807575.373    22807568.628
+     -2910.448       -2267.881          50.000          43.000
+ -24502615.29543 -19037914.24942  20181452.399    20181455.249    20181451.308
+      -362.976        -282.838          56.000          51.000
+  -1189153.53243   -903853.37342  24892721.453    24892726.964    24892720.979
+     -2389.885       -1862.248          44.000          38.000
+ -14055041.47243 -10897778.59442  22421382.255    22421389.198    22421381.098
+      -638.361        -497.424          51.000          45.000
+ 04  2  1  8 41 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12168677.78243  -9420255.08042  22371597.276    22371603.390    22371596.045
+     -1641.754       -1279.289          51.000          44.000
+ -10806017.95043  -8403748.55642  22820017.300    22820023.813    22820017.194
+      3231.900        2518.364          48.000          43.000
+ -14459189.20043 -11222399.56542  22296943.034    22296949.285    22296941.018
+      3304.690        2575.083          51.000          45.000
+  -2567595.30943  -1955854.55542  24928754.549    24928760.870    24928754.445
+      3582.536        2791.586          46.000          37.000
+ -20032904.10743 -15598858.22842  21516925.987    21516931.100    21516924.548
+      -235.713        -183.672          55.000          49.000
+ -13212795.23143 -10254793.00642  22824214.254    22824221.839    22824214.582
+     -2920.862       -2275.996          50.000          43.000
+ -24491500.56143 -19029253.41042  20183567.433    20183570.702    20183566.227
+      -377.663        -294.283          56.000          51.000
+  -1117297.09843   -847861.35242  24906394.911    24906402.669    24906394.036
+     -2400.196       -1870.282          44.000          38.000
+ -14035638.19943 -10882659.19042  22425074.331    22425080.445    22425073.943
+      -654.881        -510.297          51.000          45.000
+ 04  2  1  8 42  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12119381.80743  -9381842.63342  22380978.248    22380982.772    22380976.845
+     -1644.887       -1281.730          51.000          45.000
+ -10902883.22843  -8479227.90642  22801585.512    22801591.559    22801585.248
+      3225.480        2513.361          49.000          42.000
+ -14558245.96943 -11299586.56642  22278092.783    22278100.345    22278091.528
+      3298.799        2570.493          52.000          45.000
+  -2675092.34043  -2039618.39342  24908298.611    24908305.855    24908296.996
+      3583.220        2792.119          45.000          37.000
+ -20025813.03143 -15593332.70542  21518275.727    21518280.313    21518274.259
+      -237.217        -184.844          55.000          49.000
+ -13125009.40443 -10186388.54442  22840919.655    22840926.500    22840918.845
+     -2931.771       -2284.497          50.000          43.000
+ -24479946.45243 -19020250.19142  20185765.862    20185769.246    20185764.795
+      -392.735        -306.027          56.000          51.000
+  -1045140.09943   -791635.13242  24920126.845    24920132.946    24920124.378
+     -2410.306       -1878.160          43.000          38.000
+ -14015741.37543 -10867155.18442  22428860.856    22428866.931    22428859.145
+      -671.660        -523.371          50.000          45.000
+ 04  2  1  8 42 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12070000.50143  -9343363.70942  22390374.917    22390381.240    22390373.386
+     -1647.042       -1283.409          50.000          45.000
+ -10999557.23543  -8554558.23842  22783188.425    22783194.481    22783189.613
+      3219.669        2508.833          49.000          43.000
+ -14657131.93943 -11376640.48642  22259275.394    22259282.567    22259274.367
+      3293.942        2566.708          53.000          46.000
+  -2782620.51943  -2123406.46642  24887837.433    24887844.233    24887835.985
+      3585.626        2793.994          46.000          37.000
+ -20018687.21143 -15587780.11842  21519631.902    21519636.083    21519630.300
+      -237.526        -185.085          55.000          48.000
+ -13036909.48243 -10117739.32242  22857685.250    22857691.244    22857684.184
+     -2941.387       -2291.990          51.000          43.000
+ -24467951.41743 -19010903.40042  20188048.634    20188051.910    20188047.496
+      -406.730        -316.932          56.000          51.000
+   -972681.15843   -735173.62742  24933914.169    24933921.565    24933913.603
+     -2419.823       -1885.576          44.000          38.000
+ -13995349.95243 -10851265.78142  22432740.784    22432748.433    22432740.321
+      -687.367        -535.611          51.000          45.000
+ 04  2  1  8 43  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -12020533.59043  -9304818.05742  22399788.279    22399793.914    22399786.557
+     -1650.319       -1285.963          51.000          45.000
+ -11096037.04043  -8629737.23342  22764829.595    22764835.364    22764829.335
+      3212.490        2503.239          49.000          43.000
+ -14755843.92943 -11453558.83242  22240491.130    22240497.848    22240490.200
+      3287.372        2561.589          53.000          46.000
+  -2890177.25443  -2207216.88742  24867368.527    24867378.089    24867367.947
+      3585.679        2794.036          44.000          37.000
+ -20011526.21143 -15582200.12742  21520994.326    21520999.175    21520992.738
+      -239.446        -186.581          55.000          48.000
+ -12948497.34343 -10048846.81642  22874508.837    22874515.813    22874508.585
+     -2952.380       -2300.556          51.000          43.000
+ -24455517.42143 -19001214.55942  20190414.716    20190417.886    20190413.524
+      -421.830        -328.699          56.000          51.000
+   -899922.14143   -678478.30742  24947758.854    24947767.271    24947758.128
+     -2430.874       -1894.187          43.000          38.000
+ -13974465.79843 -10834992.42142  22436716.429    22436721.256    22436713.972
+      -704.300        -548.805          51.000          45.000
+ 04  2  1  8 43 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11970981.89143  -9266206.36742  22409217.992    22409223.030    22409216.333
+     -1653.037       -1288.081          50.000          44.000
+ -11192321.23243  -8704763.79942  22746507.787    22746511.566    22746505.654
+      3206.373        2498.472          49.000          43.000
+ -14854380.33743 -11530340.36842  22221740.124    22221747.189    22221739.158
+      3281.688        2557.159          53.000          46.000
+  -2997761.96943  -2291049.07842  24846895.383    24846904.343    24846894.194
+      3586.591        2794.746          42.000          37.000
+ -20004331.22943 -15576593.64142  21522363.591    21522367.977    21522362.111
+      -240.217        -187.182          55.000          49.000
+ -12859776.03843  -9979713.41942  22891392.003    22891398.523    22891391.476
+     -2962.383       -2308.350          51.000          43.000
+ -24442647.32443 -18991185.89942  20192863.854    20192867.346    20192862.654
+      -436.056        -339.784          56.000          51.000
+   -826866.39343   -621551.78042  24961660.382    24961667.946    24961659.292
+     -2440.058       -1901.344          43.000          37.000
+ -13953091.97243 -10818337.50342  22440782.258    22440789.391    22440781.116
+      -720.294        -561.268          51.000          44.000
+ 04  2  1  8 44  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11921342.81443  -9227526.54842  22418663.563    22418669.346    22418663.053
+     -1656.445       -1290.736          51.000          44.000
+ -11288405.14643  -8779634.30442  22728222.993    22728227.653    22728221.720
+      3199.127        2492.826          48.000          43.000
+ -14952735.94043 -11606980.99742  22203023.797    22203031.206    22203021.949
+      3275.184        2552.091          52.000          46.000
+  -3105370.38643  -2374899.65942  24826418.312    24826426.180    24826417.206
+      3587.328        2795.320          42.000          37.000
+ -19997099.42143 -15570958.47142  21523739.491    21523744.282    21523738.129
+      -241.972        -188.550          55.000          49.000
+ -12770745.15943  -9910338.77542  22908334.649    22908341.714    22908333.629
+     -2973.170       -2316.756          52.000          43.000
+ -24429340.71043 -18980817.09542  20195395.847    20195399.374    20195394.827
+      -451.026        -351.449          56.000          51.000
+   -753513.82543   -564393.91642  24975619.490    24975626.331    24975617.256
+     -2450.215       -1909.258          43.000          37.000
+ -13931228.25443 -10801300.86442  22444943.101    22444949.349    22444942.554
+      -737.132        -574.388          51.000          45.000
+ 04  2  1  8 44 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11871618.62643  -9188780.43742  22428125.724    22428131.476    22428125.743
+     -1659.068       -1292.780          50.000          44.000
+ -11384288.35043  -8854348.42142  22709977.806    22709982.116    22709976.484
+      3192.783        2487.883          49.000          43.000
+ -15050910.19843 -11683480.32342  22184342.060    22184348.941    22184340.228
+      3269.349        2547.545          52.000          46.000
+  -3213002.79743  -2458768.97242  24805935.932    24805945.546    24805936.125
+      3588.201        2796.001          41.000          37.000
+ -19989833.12343 -15565296.41742  21525122.359    21525127.367    21525120.905
+      -242.819        -189.210          55.000          49.000
+ -12681408.94743  -9840726.20142  22925334.638    22925341.289    22925334.084
+     -2982.945       -2324.373          51.000          43.000
+ -24415601.94443 -18970111.55342  20198010.441    20198013.630    20198009.036
+      -465.135        -362.443          56.000          51.000
+   -679868.63243   -507008.06542  24989635.110    24989642.496    24989635.293
+     -2459.854       -1916.769          45.000          37.000
+ -13908879.15543 -10783885.99242  22449197.136    22449202.744    22449195.166
+      -753.058        -586.798          51.000          45.000
+ 04  2  1  8 45  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11821806.01443  -9149965.43642  22437604.651    22437610.949    22437603.390
+     -1661.911       -1294.995          50.000          44.000
+ -11479965.23843  -8928901.77142  22691769.780    22691776.062    22691769.706
+      3185.881        2482.505          49.000          43.000
+ -15148897.31243 -11759833.81442  22165695.232    22165701.713    22165694.100
+      3263.237        2542.782          53.000          46.000
+  -3320654.39853  -2542653.19552  24785451.536    24785458.151    24785449.895
+      3588.855        2796.510          41.000          36.000
+ -19982529.13243 -15559605.00042  21526512.089    21526516.607    21526510.809
+      -244.027        -190.151          55.000          49.000
+ -12591766.59843  -9770875.10342  22942392.725    22942399.363    22942392.383
+     -2993.061       -2332.255          51.000          43.000
+ -24401429.98343 -18959068.46342  20200707.356    20200710.428    20200705.979
+      -479.511        -373.645          56.000          51.000
+   -605929.94843   -449393.53642  25003705.196    25003712.287    25003703.905
+     -2469.721       -1924.458          43.000          37.000
+ -13886043.92043 -10766092.32242  22453542.189    22453548.195    22453540.399
+      -769.181        -599.362          51.000          45.000
+ 04  2  1  8 45 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11771907.36743  -9111083.38842  22447099.934    22447105.381    22447098.557
+     -1665.128       -1297.502          50.000          44.000
+ -11575436.23743  -9003294.69042  22673603.191    22673609.205    22673602.170
+      3178.442        2476.708          49.000          43.000
+ -15246697.12543 -11836041.37242  22147084.459    22147091.383    22147082.870
+      3256.418        2537.469          52.000          46.000
+  -3428325.75143  -2626552.89742  24764961.451    24764971.483    24764962.767
+      3589.137        2796.730          42.000          38.000
+ -19975190.19243 -15553886.33742  21527909.650    21527913.470    21527907.833
+      -245.535        -191.326          56.000          49.000
+ -12501822.99043  -9700789.23342  22959508.594    22959514.131    22959508.606
+     -3003.516       -2340.402          51.000          42.000
+ -24386829.50043 -18947691.45942  20203485.535    20203488.654    20203484.133
+      -494.137        -385.042          56.000          51.000
+   -531702.74043   -391554.16142  25017830.389    25017835.932    25017828.287
+     -2479.629       -1932.178          45.000          37.000
+ -13862727.35643 -10747923.58142  22457978.424    22457985.275    22457977.563
+      -785.566        -612.129          50.000          44.000
+ 04  2  1  8 46  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11721920.89143  -9072132.89642  22456611.436    22456617.938    22456610.824
+     -1667.792       -1299.578          49.000          44.000
+ -11670696.57243  -9077523.46842  22655475.779    22655480.179    22655474.131
+      3171.969        2471.664          49.000          44.000
+ -15344304.92443 -11912099.30242  22128510.541    22128517.258    22128508.758
+      3250.419        2532.794          52.000          46.000
+  -3536012.88943  -2710464.89542  24744468.777    24744477.718    24744468.915
+      3589.142        2796.734          40.000          37.000
+ -19967813.58943 -15548138.33042  21529312.663    21529317.288    21529311.204
+      -246.458        -192.045          55.000          49.000
+ -12411577.78343  -9630468.37742  22976681.899    22976689.348    22976681.369
+     -3013.201       -2347.949          50.000          43.000
+ -24371800.56143 -18935980.59842  20206345.427    20206348.617    20206344.464
+      -508.025        -395.864          56.000          51.000
+   -457187.24343   -333490.13942  25032009.419    25032015.190    25032007.240
+     -2488.801       -1939.325          44.000          37.000
+ -13838929.56543 -10729379.87142  22462507.310    22462514.586    22462505.863
+      -801.245        -624.347          51.000          45.000
+ 04  2  1  8 46 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11671845.68343  -9033113.28542  22466141.330    22466146.380    22466140.073
+     -1670.877       -1301.982          50.000          44.000
+ -11765743.25243  -9151585.74442  22637388.548    22637393.891    22637388.388
+      3164.726        2466.020          49.000          44.000
+ -15441717.21543 -11988004.86842  22109972.478    22109980.120    22109971.522
+      3243.642        2527.513          51.000          46.000
+  -3643713.65443  -2794387.45942  24723975.734    24723982.570    24723975.499
+      3590.064        2797.452          43.000          38.000
+ -19960399.29943 -15542360.96242  21530723.719    21530728.076    21530721.954
+      -247.899        -193.168          56.000          49.000
+ -12321033.17543  -9559914.23742  22993911.489    22993919.162    22993911.391
+     -3023.261       -2355.788          49.000          42.000
+ -24356344.81444 -18923937.15242  20209286.887    20209289.825    20209285.646
+      -522.477        -407.125          57.000          51.000
+   -382385.22443   -275202.86542  25046243.090    25046251.786    25046242.905
+     -2497.880       -1946.400          41.000          37.000
+ -13814652.52643 -10710462.71442  22467127.537    22467133.404    22467124.869
+      -817.281        -636.842          51.000          45.000
+ 04  2  1  8 47  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11621680.89643  -8994023.85442  22475687.326    22475692.490    22475684.789
+     -1673.594       -1304.099          49.000          43.000
+ -11860573.01843  -9225479.01442  22619342.990    22619347.902    22619342.502
+      3157.558        2460.435          50.000          44.000
+ -15538930.59443 -12063755.43842  22091473.567    22091480.800    22091471.508
+      3237.224        2522.512          51.000          46.000
+  -3751425.11443  -2878318.35342  24703477.312    24703485.678    24703476.937
+      3590.702        2797.950          43.000          38.000
+ -19952946.03143 -15536553.21442  21532142.075    21532146.511    21532140.669
+      -248.953        -193.989          56.000          49.000
+ -12230189.98743  -9489127.45642  23011198.304    23011205.431    23011197.652
+     -3033.012       -2363.386          48.000          42.000
+ -24340463.33343 -18911561.96742  20212308.917    20212311.934    20212307.605
+      -536.342        -417.929          56.000          51.000
+   -307297.91143   -216693.30442  25060531.851    25060541.729    25060531.019
+     -2507.346       -1953.776          44.000          37.000
+ -13789897.47343 -10691173.06742  22471837.211    22471844.535    22471835.693
+      -832.814        -648.946          51.000          45.000
+ 04  2  1  8 47 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11571428.98343  -8954866.54042  22485249.396    22485255.436    22485248.160
+     -1677.284       -1306.974          49.000          44.000
+ -11955186.12143  -9299203.44842  22601340.027    22601344.246    22601338.194
+      3149.502        2454.157          50.000          44.000
+ -15635945.09143 -12139351.05042  22073012.373    22073019.627    22073011.118
+      3229.903        2516.808          52.000          46.000
+  -3859148.04543  -2962258.25242  24682980.385    24682986.657    24682980.224
+      3590.256        2797.602          44.000          39.000
+ -19945456.36643 -15530717.10942  21533567.208    21533571.874    21533566.003
+      -250.900        -195.506          56.000          49.000
+ -12139053.34443  -9418112.00442  23028540.899    23028547.982    23028539.847
+     -3043.429       -2371.503          48.000          42.000
+ -24324161.10443 -18898858.92242  20215411.091    20215414.115    20215409.997
+      -551.036        -429.379          56.000          51.000
+   -231930.48843   -157965.44842  25074874.290    25074882.385    25074874.302
+     -2517.251       -1961.494          44.000          37.000
+ -13764669.70043 -10671515.07942  22476638.495    22476644.683    22476636.427
+      -849.407        -661.875          51.000          45.000
+ 04  2  1  8 48  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11521085.63143  -8915637.97442  22494830.247    22494836.284    22494828.668
+     -1679.915       -1309.025          49.000          44.000
+ -12049575.63643  -9372753.65342  22583377.632    22583382.555    22583376.551
+      3142.316        2448.558          50.000          44.000
+ -15732753.50143 -12214786.07542  22054590.794    22054596.802    22054589.028
+      3223.316        2511.675          52.000          46.000
+  -3966876.40543  -3046202.30142  24662480.878    24662487.163    24662480.504
+      3590.752        2797.989          43.000          39.000
+ -19937926.04743 -15524849.31342  21535000.267    21535005.024    21534998.503
+      -251.836        -196.236          55.000          49.000
+ -12047621.15543  -9346866.23842  23045939.099    23045948.472    23045939.521
+     -3052.790       -2378.797          48.000          42.000
+ -24307435.84143 -18885826.24242  20218593.457    20218596.900    20218592.146
+      -564.713        -440.036          56.000          51.000
+   -156280.94743    -99017.78642  25089270.416    25089277.494    25089269.517
+     -2526.342       -1968.578          45.000          37.000
+ -13738967.56243 -10651487.44142  22481529.407    22481535.761    22481528.019
+      -864.763        -673.841          51.000          44.000
+ 04  2  1  8 48 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11470653.49843  -8876340.22042  22504427.506    22504433.167    22504426.235
+     -1683.474       -1311.798          50.000          44.000
+ -12143742.06043  -9446130.04742  22565457.598    22565462.654    22565457.051
+      3134.274        2442.291          49.000          44.000
+ -15829356.01043 -12290060.66542  22036207.121    22036214.125    22036205.975
+      3215.677        2505.722          52.000          46.000
+  -4074610.97643  -3130151.25442  24641980.287    24641985.894    24641979.349
+      3590.385        2797.703          45.000          38.000
+ -19930357.66743 -15518951.86342  21536439.939    21536445.190    21536438.579
+      -253.756        -197.732          55.000          49.000
+ -11955898.16643  -9275393.87642  23063395.409    23063402.598    23063394.339
+     -3062.965       -2386.726          49.000          42.000
+ -24290292.75643 -18872467.99242  20221856.056    20221859.067    20221854.621
+      -579.156        -451.290          56.000          51.000
+    -80354.38643    -39854.27642  25103718.030    25103723.687    25103715.721
+     -2535.812       -1975.957          41.000          36.000
+ -13712796.11443 -10631094.12242  22486510.091    22486515.396    22486509.248
+      -880.881        -686.401          51.000          45.000
+ 04  2  1  8 49  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11420130.82443  -8836971.90042  22514041.162    22514047.069    22514040.076
+     -1686.013       -1313.776          50.000          44.000
+ -12237681.07343  -9519329.21942  22547582.466    22547586.917    22547580.962
+      3127.013        2436.634          51.000          44.000
+ -15925748.17543 -12365171.33742  22017864.682    22017871.036    22017863.479
+      3209.139        2500.628          52.000          46.000
+  -4182348.12343  -3214102.17842  24621477.137    24621483.489    24621475.032
+      3591.152        2798.300          43.000          38.000
+ -19922749.32543 -15513023.27742  21537887.885    21537892.640    21537886.745
+      -254.707        -198.473          55.000          49.000
+ -11863885.08843  -9203695.47242  23080904.315    23080911.067    23080903.477
+     -3072.336       -2394.028          49.000          42.000
+ -24272732.21843 -18858784.44542  20225197.393    20225200.942    20225196.398
+      -592.670        -461.821          56.000          51.000
+     -4151.32943     19524.72642  25118218.067    25118225.124    25118216.226
+     -2545.064       -1983.167          41.000          35.000
+ -13686156.03843 -10610335.65042  22491579.670    22491586.013    22491577.743
+      -896.161        -698.307          51.000          44.000
+ 04  2  1  8 49 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11369517.62543  -8797533.08342  22523672.040    22523677.541    22523669.678
+     -1688.479       -1315.698          49.000          43.000
+ -12331390.31143  -9592349.35242  22529749.350    22529755.243    22529748.661
+      3119.842        2431.046          50.000          44.000
+ -16021927.28543 -12440115.98842  21999562.587    21999568.934    21999560.835
+      3202.588        2495.523          52.000          46.000
+  -4290086.05143  -3298053.66942  24600976.116    24600981.168    24600973.968
+      3591.354        2798.458          44.000          38.000
+ -19915101.15843 -15507063.64942  21539343.394    21539347.794    21539342.033
+      -255.339        -198.965          55.000          49.000
+ -11771584.13243  -9131772.74842  23098469.438    23098474.964    23098467.264
+     -3081.317       -2401.026          49.000          42.000
+ -24254756.53443 -18844777.41042  20228618.028    20228621.454    20228616.976
+      -605.825        -472.071          56.000          51.000
+     72325.61643     79117.15242  25132772.242    25132779.523    25132770.469
+     -2553.401       -1989.663          41.000          35.000
+ -13659049.70743 -10589213.84442  22496737.800    22496743.055    22496735.818
+      -911.209        -710.033          50.000          44.000
+ 04  2  1  8 50  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11318812.32443  -8758022.48842  22533321.069    22533326.351    22533320.120
+     -1692.099       -1318.519          49.000          44.000
+ -12424865.77343  -9665187.32242  22511960.951    22511967.512    22511959.795
+      3111.499        2424.545          50.000          44.000
+ -16117889.28243 -12514891.46942  21981301.607    21981307.763    21981300.259
+      3194.701        2489.377          53.000          47.000
+  -4397821.38843  -3382003.24142  24580474.335    24580480.118    24580473.766
+      3590.852        2798.066          45.000          38.000
+ -19907411.45043 -15501071.65442  21540806.395    21540811.311    21540805.021
+      -257.369        -200.547          55.000          49.000
+ -11678996.27243  -9059626.46342  23116087.698    23116096.355    23116087.414
+     -3091.437       -2408.912          49.000          42.000
+ -24236366.41444 -18830447.44042  20232118.015    20232121.003    20232116.468
+      -620.224        -483.291          57.000          51.000
+    149075.65543    138922.34742  25147378.373    25147386.426    25147375.491
+     -2563.125       -1997.240          41.000          35.000
+ -13631478.30643 -10567729.65242  22501984.098    22501990.852    22501981.318
+      -927.044        -722.372          51.000          44.000
+ 04  2  1  8 50 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11268011.66343  -8718437.57342  22542988.262    22542994.839    22542987.654
+     -1695.155       -1320.900          50.000          44.000
+ -12518102.23443  -9737839.05842  22494218.455    22494224.158    22494218.061
+      3103.551        2418.351          49.000          44.000
+ -16213628.12143 -12589493.06142  21963083.283    21963089.480    21963081.720
+      3187.236        2483.561          53.000          47.000
+  -4505548.85143  -3465946.62342  24559973.873    24559980.272    24559973.140
+      3590.532        2797.817          45.000          39.000
+ -19899677.02543 -15495044.81942  21542278.425    21542283.250    21542277.176
+      -258.863        -201.711          55.000          49.000
+ -11586120.41043  -8987255.76342  23133761.378    23133769.337    23133759.353
+     -3100.940       -2416.317          50.000          43.000
+ -24217560.91243 -18815793.80042  20235696.459    20235699.669    20235695.210
+      -634.078        -494.087          56.000          51.000
+    226099.72843    198941.10242  25162036.180    25162042.110    25162032.851
+     -2572.685       -2004.690          39.000          35.000
+ -13603440.99143 -10545882.42242  22507319.757    22507324.166    22507317.757
+      -942.641        -734.525          51.000          44.000
+ 04  2  1  8 51  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11217119.93643  -8678781.70642  22552672.718    22552678.507    22552672.103
+     -1697.933       -1323.065          49.000          43.000
+ -12611101.25643  -9810305.76042  22476522.338    22476527.236    22476520.468
+      3096.078        2412.528          50.000          44.000
+ -16309145.73943 -12663922.26542  21944906.257    21944912.580    21944904.666
+      3180.228        2478.100          53.000          46.000
+  -4613271.06343  -3549885.97642  24539473.883    24539480.746    24539473.070
+      3590.764        2797.998          43.000          38.000
+ -19891901.97843 -15488986.32842  21543758.470    21543762.674    21543756.591
+      -259.823        -202.459          55.000          49.000
+ -11492963.38243  -8914665.95442  23151489.107    23151496.416    23151488.259
+     -3109.863       -2423.270          50.000          43.000
+ -24198346.69544 -18800821.67942  20239352.854    20239355.901    20239351.610
+      -647.230        -504.335          57.000          51.000
+    303390.88843    259167.97642  25176741.673    25176750.183    25176741.089
+     -2581.072       -2011.225          39.000          35.000
+ -13574944.90643 -10523677.69942  22512741.746    22512748.493    22512741.104
+      -957.552        -746.144          51.000          44.000
+ 04  2  1  8 51 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11166135.92943  -8639053.93342  22562374.635    22562379.882    22562373.274
+     -1701.592       -1325.916          50.000          43.000
+ -12703859.23443  -9882584.62742  22458870.086    22458876.563    22458869.720
+      3087.121        2405.549          50.000          44.000
+ -16404438.20743 -12738176.02942  21926772.823    21926779.219    21926771.314
+      3171.856        2471.576          53.000          46.000
+  -4720984.88843  -3633818.74442  24518976.849    24518983.792    24518975.722
+      3589.806        2797.251          44.000          38.000
+ -19884085.15643 -15482895.28642  21545245.222    21545250.682    21545244.046
+      -261.904        -204.081          55.000          49.000
+ -11399526.62243  -8841858.18342  23169268.835    23169276.121    23169270.088
+     -3119.825       -2431.032          49.000          42.000
+ -24178724.96043 -18785532.00542  20243086.574    20243089.775    20243085.323
+      -661.418        -515.391          56.000          51.000
+    380948.06143    319602.10142  25191503.431    25191507.556    25191498.332
+     -2590.280       -2018.400          41.000          34.000
+ -13545991.43243 -10501116.58242  22518252.701    22518257.678    22518249.806
+      -973.436        -758.521          51.000          44.000
+ 04  2  1  8 52  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11115057.79343  -8599252.80842  22572093.917    22572100.233    22572092.501
+     -1703.807       -1327.642          50.000          43.000
+ -12796371.91643  -9954672.38742  22441266.249    22441270.804    22441265.701
+      3079.949        2399.960          50.000          44.000
+ -16499500.87043 -12812250.72542  21908682.645    21908688.812    21908681.502
+      3165.321        2466.484          53.000          47.000
+  -4828686.75443  -3717742.18242  24498481.144    24498489.200    24498480.702
+      3590.209        2797.565          43.000          38.000
+ -19876224.49043 -15476770.08342  21546741.321    21546746.058    21546739.792
+      -262.429        -204.490          55.000          49.000
+ -11305810.36143  -8768832.62142  23187102.805    23187109.379    23187103.124
+     -3128.217       -2437.572          49.000          42.000
+ -24158696.10444 -18769925.09242  20246898.031    20246901.002    20246896.657
+      -673.945        -525.152          57.000          51.000
+    458770.54943    380242.97442  25206310.025    25206316.630    25206309.284
+     -2598.290       -2024.641          41.000          35.000
+ -13516581.39043 -10478199.68442  22523848.669    22523855.734    22523846.733
+      -987.581        -769.544          51.000          44.000
+ 04  2  1  8 52 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11063888.48043  -8559380.63942  22581832.230    22581837.595    22581831.120
+     -1706.830       -1329.997          49.000          44.000
+ -12888640.02643 -10026569.56542  22423708.063    22423713.835    22423706.967
+      3071.718        2393.546          51.000          44.000
+ -16594334.08243 -12886146.63642  21890636.560    21890642.383    21890634.697
+      3157.544        2460.424          53.000          47.000
+  -4936377.42943  -3801656.92342  24477989.032    24477996.041    24477989.319
+      3589.672        2797.147          44.000          38.000
+ -19868323.12443 -15470613.17242  21548245.265    21548249.473    21548243.524
+      -263.778        -205.541          55.000          49.000
+ -11211819.87043  -8695593.38342  23204990.045    23204997.353    23204989.473
+     -3137.297       -2444.647          49.000          42.000
+ -24138265.50543 -18754005.13842  20250785.658    20250789.050    20250784.423
+      -687.416        -535.649          56.000          51.000
+    536853.00343    441086.40942  25221170.718    25221173.847    25221168.214
+     -2606.596       -2031.114          41.000          35.000
+ -13486720.35643 -10454931.37442  22529529.717    22529536.108    22529528.392
+     -1002.592        -781.240          50.000          44.000
+ 04  2  1  8 53  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -11012622.18843  -8519432.90042  22591588.129    22591593.890    22591586.376
+     -1710.394       -1332.774          50.000          44.000
+ -12980655.26543 -10098269.69442  22406197.901    22406202.892    22406197.090
+      3062.913        2386.685          51.000          44.000
+ -16688929.68943 -12959857.39842  21872634.976    21872642.022    21872633.671
+      3149.297        2453.998          52.000          47.000
+  -5044049.41443  -3885557.07942  24457498.246    24457507.532    24457499.005
+      3588.664        2796.362          43.000          38.000
+ -19860375.04543 -15464419.84842  21549757.294    21549762.024    21549756.421
+      -265.766        -207.090          55.000          49.000
+ -11117551.67343  -8622137.75142  23222928.565    23222934.758    23222928.028
+     -3146.842       -2452.085          50.000          42.000
+ -24117429.72744 -18737769.44942  20254750.714    20254754.248    20254749.357
+      -701.271        -546.445          57.000          51.000
+    615198.74343    502135.01442  25236079.065    25236082.894    25236077.826
+     -2615.724       -2038.226          44.000          36.000
+ -13456405.29443 -10431309.27842  22535299.543    22535304.700    22535298.217
+     -1018.024        -793.265          51.000          44.000
+ 04  2  1  8 53 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10961259.45943  -8479410.04042  22601361.036    22601368.132    22601360.191
+     -1714.182       -1335.726          49.000          44.000
+ -13072415.73343 -10169771.29842  22388736.979    22388741.571    22388735.969
+      3054.001        2379.741          51.000          44.000
+ -16783285.50243 -13033381.27842  21854680.202    21854685.737    21854678.739
+      3140.842        2447.409          52.000          46.000
+  -5151701.46043  -3969441.72242  24437013.654    24437020.747    24437013.703
+      3587.699        2795.610          44.000          38.000
+ -19852380.70543 -15458190.48442  21551278.794    21551283.701    21551277.482
+      -267.513        -208.452          55.000          49.000
+ -11023008.88843  -8548468.16342  23240919.882    23240926.741    23240917.723
+     -3156.437       -2459.561          50.000          42.000
+ -24096191.73344 -18721220.35542  20258792.271    20258795.627    20258791.078
+      -714.880        -557.049          57.000          51.000
+    693804.50043    563386.26342  25251037.422    25251040.475    25251036.361
+     -2624.951       -2045.416          43.000          35.000
+ -13425639.50343 -10407335.97142  22541154.496    22541160.553    22541151.967
+     -1033.319        -805.184          51.000          44.000
+ 04  2  1  8 54  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10909802.87243  -8439314.02442  22611153.445    22611159.007    22611152.283
+     -1716.356       -1337.420          49.000          44.000
+ -13163921.64143 -10241074.55642  22371323.728    22371328.407    22371322.328
+      3046.178        2373.645          51.000          45.000
+ -16877401.35643 -13106718.18942  21836770.190    21836776.803    21836768.804
+      3133.662        2441.815          52.000          47.000
+  -5259333.94143  -4053311.08542  24416532.815    24416539.062    24416532.399
+      3588.003        2795.846          46.000          39.000
+ -19844342.52243 -15451926.96342  21552808.109    21552812.841    21552806.895
+      -268.179        -208.971          55.000          49.000
+ -10928196.31243  -8474588.36442  23258961.171    23258970.578    23258960.570
+     -3164.327       -2465.709          49.000          42.000
+ -24074556.31044 -18704361.58042  20262909.598    20262912.498    20262908.180
+      -727.292        -566.721          57.000          51.000
+    772665.37943    624836.28842  25266043.160    25266050.917    25266042.807
+     -2632.256       -2051.108          41.000          35.000
+ -13394428.10443 -10383015.42142  22547093.948    22547098.627    22547090.992
+     -1047.235        -816.027          51.000          44.000
+ 04  2  1  8 54 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10858251.08543  -8399143.81242  22620962.699    22620969.588    22620961.226
+     -1719.870       -1340.158          48.000          43.000
+ -13255169.21843 -10312176.51142  22353959.480    22353965.651    22353959.028
+      3037.191        2366.642          51.000          45.000
+ -16971273.36243 -13179865.09942  21818907.149    21818913.661    21818906.204
+      3124.924        2435.006          53.000          47.000
+  -5366943.80343  -4137162.88742  24396054.583    24396061.157    24396053.765
+      3586.676        2794.812          44.000          38.000
+ -19836259.02343 -15445628.13142  21554346.060    21554351.246    21554344.702
+      -270.303        -210.626          55.000          49.000
+ -10833115.34043  -8400499.42442  23277054.607    23277060.188    23277053.588
+     -3173.819       -2473.106          49.000          42.000
+ -24052524.81244 -18687194.17042  20267101.655    20267105.096    20267100.442
+      -740.969        -577.378          57.000          51.000
+    851780.16443    686484.17842  25281097.107    25281104.281    25281098.545
+     -2641.782       -2058.531          40.000          35.000
+ -13362772.59443 -10358348.80542  22553117.986    22553123.922    22553115.618
+     -1062.549        -827.960          51.000          44.000
+ 04  2  1  8 55  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10806601.77043  -8358897.61942  22630792.033    22630797.257    22630791.872
+     -1723.259       -1342.799          49.000          43.000
+ -13346153.89343 -10383073.61642  22336646.191    22336650.444    22336645.730
+      3028.408        2359.798          51.000          45.000
+ -17064896.68443 -13252818.21842  21801091.444    21801096.978    21801089.938
+      3116.645        2428.555          53.000          47.000
+  -5474526.71143  -4220993.62942  24375582.661    24375589.471    24375580.986
+      3585.487        2793.886          45.000          39.000
+ -19828127.83643 -15439292.13642  21555893.836    21555898.381    21555892.732
+      -271.848        -211.830          55.000          49.000
+ -10737766.38443  -8326201.65742  23295199.134    23295206.676    23295197.906
+     -3182.771       -2480.081          50.000          41.000
+ -24030097.07443 -18669718.00742  20271369.301    20271372.781    20271368.142
+      -754.175        -587.669          56.000          51.000
+    931148.64643    748329.74442  25296202.577    25296209.191    25296200.358
+     -2649.894       -2064.852          42.000          35.000
+ -13330673.60343 -10333336.62842  22559225.577    22559231.930    22559223.390
+     -1077.200        -839.377          50.000          44.000
+ 04  2  1  8 55 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10754858.14143  -8318577.93142  22640637.326    22640644.488    22640636.280
+     -1726.825       -1345.578          49.000          44.000
+ -13436876.57543 -10453766.56642  22319381.684    22319386.941    22319380.818
+      3019.272        2352.679          51.000          45.000
+ -17158272.05343 -13325578.13042  21783322.693    21783328.079    21783321.099
+      3107.921        2421.757          53.000          47.000
+  -5582084.09543  -4304804.48242  24355116.428    24355123.069    24355115.755
+      3584.264        2792.933          46.000          39.000
+ -19819952.19443 -15432921.49942  21557449.315    21557454.099    21557448.390
+      -273.726        -213.293          55.000          49.000
+ -10642154.77543  -8251699.18042  23313392.913    23313401.601    23313392.839
+     -3191.917       -2487.208          49.000          41.000
+ -24007279.07144 -18651937.74242  20275711.608    20275715.012    20275710.450
+      -767.483        -598.039          57.000          51.000
+   1010765.11343    810368.46342  25311352.741    25311357.090    25311353.485
+     -2658.852       -2071.833          42.000          34.000
+ -13298137.14943 -10307983.58042  22565416.183    22565423.757    22565414.631
+     -1092.276        -851.124          50.000          44.000
+ 04  2  1  8 56  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10703012.68243  -8278178.89142  22650504.354    22650510.406    22650503.167
+     -1730.011       -1348.060          49.000          44.000
+ -13527327.00243 -10524247.36942  22302169.976    22302175.302    22302168.962
+      3010.311        2345.697          51.000          45.000
+ -17251389.01143 -13398136.69942  21765603.087    21765608.362    21765601.117
+      3099.375        2415.097          53.000          47.000
+  -5689606.33743  -4388587.97242  24334655.049    24334660.485    24334653.736
+      3583.374        2792.239          47.000          39.000
+ -19811724.33043 -15426510.17742  21559015.545    21559019.625    21559014.063
+      -275.292        -214.513          55.000          49.000
+ -10546275.37343  -8176988.04642  23331637.809    23331643.727    23331639.046
+     -3200.673       -2494.031          49.000          41.000
+ -23984065.31344 -18633849.09542  20280129.113    20280132.335    20280127.823
+      -780.464        -608.154          57.000          51.000
+                   -354995.57952  25326552.681    25326555.578
+     -2666.844       -2078.060          37.000          31.000
+ -13265158.31743 -10282285.82542  22571692.378    22571698.884    22571690.424
+     -1106.575        -862.266          50.000          44.000
+ 04  2  1  8 56 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10651072.97143  -8237706.41042  22660388.217    22660392.679    22660387.279
+     -1732.691       -1350.149          50.000          43.000
+ -13617510.50443 -10594520.19642  22285008.023    22285013.293    22285007.000
+      3001.881        2339.128          51.000          45.000
+ -17344252.76343 -13470497.97842  21747930.779    21747937.360    21747929.776
+      3091.445        2408.918          54.000          47.000
+  -5797098.99543  -4472348.41342  24314198.194    24314205.547    24314198.015
+      3582.891        2791.863          46.000          39.000
+ -19803451.43343 -15420063.76342  21560589.597    21560594.117    21560588.450
+      -276.143        -215.176          55.000          49.000
+ -10450138.22343  -8102076.08942  23349932.547    23349941.066    23349932.208
+     -3208.534       -2500.156          50.000          42.000
+ -23960466.12844 -18615460.12042  20284619.996    20284623.144    20284618.685
+      -792.668        -617.663          57.000          51.000
+   -404673.04053   -292570.38452  25341796.394    25341800.928    25341793.784
+     -2674.126       -2083.734          38.000          32.000
+ -13231747.50843 -10256251.46442  22578050.638    22578056.817    22578050.284
+     -1120.390        -873.031          51.000          44.000
+ 04  2  1  8 57  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10599032.57343  -8197155.46242  22670291.203    22670296.131    22670290.105
+     -1736.335       -1352.988          49.000          43.000
+ -13707418.31443 -10664578.18542  22267899.101    22267903.530    22267898.135
+      2992.268        2331.637          50.000          45.000
+ -17436854.28143 -13542654.91942  21730309.829    21730315.079    21730307.586
+      3082.370        2401.847          53.000          47.000
+  -5904553.82643  -4556079.37042  24293749.986    24293757.427    24293749.347
+      3580.900        2790.312          47.000          39.000
+ -19795127.42343 -15413577.52542  21562173.471    21562178.009    21562172.424
+      -278.331        -216.881          55.000          49.000
+ -10353739.49843  -8026960.30442  23368276.850    23368284.198    23368278.308
+     -3217.547       -2507.179          49.000          42.000
+ -23936477.45644 -18596767.64942  20289184.895    20289188.129    20289183.560
+      -806.175        -628.188          57.000          51.000
+   -324313.86553   -229952.85852  25357085.613    25357098.732    25357089.350
+     -2682.869       -2090.547          38.000          32.000
+ -13197901.37443 -10229877.87242  22584491.063    22584497.748    22584490.960
+     -1135.491        -884.798          50.000          44.000
+ 04  2  1  8 57 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10546895.28343  -8156529.02242  22680213.336    22680219.184    22680212.515
+     -1738.731       -1354.855          50.000          44.000
+ -13797051.91043 -10734422.49642  22250843.122    22250847.327    22250842.153
+      2983.797        2325.037          51.000          45.000
+ -17529194.70643 -13614608.39942  21712737.547    21712743.659    21712736.222
+      3074.386        2395.625          54.000          47.000
+  -6011972.68743  -4639782.28042  24273309.178    24273315.270    24273308.464
+      3580.588        2790.069          44.000          39.000
+ -19786755.73243 -15407054.12542  21563766.509    21563771.200    21563765.283
+      -279.116        -217.493          55.000          48.000
+ -10257085.61443  -7951645.72242  23386669.409    23386678.694    23386669.901
+     -3225.237       -2513.172          49.000          42.000
+ -23912105.54744 -18577776.54942  20293822.736    20293825.858    20293820.954
+      -817.977        -637.385          57.000          51.000
+   -243714.17343   -167147.96042  25372425.611    25372428.405    25372422.544
+     -2690.348       -2096.375          40.000          34.000
+ -13163626.40543 -10203170.12442  22591014.772    22591020.331    22591012.792
+     -1148.878        -895.230          51.000          44.000
+ 04  2  1  8 58  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10494657.25543  -8115824.09942  22690153.286    22690158.980    22690151.754
+     -1743.401       -1358.494          50.000          43.000
+ -13886404.63643 -10804047.96542  22233839.360    22233844.459    22233838.539
+      2973.313        2316.867          51.000          45.000
+ -17621267.49043 -13686353.33842  21695217.417    21695222.232    21695215.387
+      3064.237        2387.717          54.000          47.000
+  -6119349.48043  -4723452.41142  24252875.861    24252882.956    24252875.955
+      3578.204        2788.211          46.000          39.000
+ -19778332.15043 -15400490.29542  21565369.870    21565373.868    21565368.472
+      -281.956        -219.706          55.000          49.000
+ -10160174.86643  -7876130.99042  23405110.724    23405117.938    23405110.288
+     -3234.914       -2520.712          48.000          42.000
+ -23887348.97044 -18558485.71042  20298533.723    20298536.812    20298532.614
+      -831.884        -648.221          57.000          51.000
+   -162872.68153   -104154.54152  25387807.909    25387814.415    25387805.687
+     -2699.541       -2103.538          38.000          33.000
+ -13128921.46343 -10176127.32842  22597617.852    22597623.739    22597617.038
+     -1164.279        -907.230          50.000          44.000
+ 04  2  1  8 58 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10442320.38643  -8075042.13942  22700112.619    22700117.384    22700110.200
+     -1745.732       -1360.311          49.000          43.000
+ -13975476.26843 -10873454.39542  22216889.378    22216894.406    22216888.824
+      2964.847        2310.270          51.000          45.000
+ -17713072.12043 -13757889.32742  21677747.062    21677753.151    21677745.598
+      3056.033        2381.324          54.000          47.000
+  -6226684.31343  -4807089.89042  24232450.876    24232456.977    24232450.909
+      3577.515        2787.674          46.000          39.000
+ -19769858.79643 -15393887.68142  21566982.152    21566986.713    21566980.824
+      -282.838        -220.393          55.000          49.000
+ -10063012.12243  -7800419.89842  23423600.461    23423608.455    23423600.002
+     -3242.350       -2526.506          48.000          42.000
+ -23862212.12044 -18538898.55842  20303317.124    20303320.345    20303315.649
+      -843.796        -657.503          57.000          51.000
+    -81793.80643    -40976.22742  25403238.327    25403245.585    25403237.174
+     -2706.131       -2108.673          38.000          33.000
+ -13093791.52743 -10148753.39242  22604302.810    22604308.628    22604301.057
+     -1177.650        -917.649          50.000          44.000
+ 04  2  1  8 59  0.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10389882.89643  -8034181.79142  22710090.865    22710096.904    22710090.622
+     -1749.312       -1363.100          49.000          43.000
+ -14064262.52743 -10942638.45042  22199993.093    22199998.152    22199992.384
+      2955.063        2302.646          51.000          45.000
+ -17804603.97343 -13829212.76742  21660328.704    21660334.653    21660327.005
+      3046.731        2374.076          53.000          47.000
+  -6333973.22243  -4890691.54042  24212035.100    24212040.750    24212033.597
+      3575.974        2786.473          46.000          39.000
+ -19761333.25243 -15387244.40542  21568604.215    21568609.149    21568602.903
+      -284.715        -221.856          55.000          49.000
+  -9965597.72243  -7724512.70942  23442138.291    23442145.045    23442137.562
+     -3251.058       -2533.292          49.000          42.000
+ -23836695.73244 -18519015.65442  20308172.505    20308175.742    20308171.437
+      -856.594        -667.476          57.000          51.000
+      -478.15943     22386.59242  25418713.183    25418719.964    25418707.536
+     -2714.388       -2115.107          38.000          32.000
+ -13058237.76743 -10121049.19742  22611068.957    22611074.105    22611067.048
+     -1191.964        -928.803          50.000          44.000
+ 04  2  1  8 59 30.0000000  0  9G27G29G 7G26G 8G13G28G31G10
+ -10337344.15843  -7993242.53642  22720088.680    22720094.403    22720087.679
+     -1752.926       -1365.916          49.000          43.000
+ -14152760.68443 -11011598.01842  22183153.336    22183158.174    22183151.457
+      2945.213        2294.971          50.000          45.000
+ -17895860.14643 -13900321.38042  21642963.444    21642969.530    21642962.197
+      3037.153        2366.613          53.000          47.000
+  -6441213.82143  -4974255.55342  24191628.647    24191633.491    24191627.143
+      3573.830        2784.802          48.000          40.000
+ -19752755.08443 -15380560.11842  21570236.259    21570241.407    21570235.202
+      -286.913        -223.568          55.000          49.000
+  -9867933.90443  -7648411.14842  23460723.220    23460729.555    23460723.703
+     -3259.713       -2540.036          48.000          41.000
+ -23810801.62644 -18498838.42742  20313100.140    20313103.316    20313098.930
+      -869.378        -677.437          57.000          51.000
+                     85932.14752  25434230.559    25434239.753
+     -2722.325       -2121.292          38.000          32.000
+ -13022262.73443 -10093016.73342  22617913.999    22617920.316    22617912.244
+     -1206.028        -939.762          50.000          44.000
+ 04  2  1  9  0  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+ -10284704.46043  -7952224.62242  22730106.293    22730111.848    22730104.594
+     -1756.078       -1368.372          49.000          43.000
+ -14240968.25243 -11080331.14542  22166366.995    22166372.450    22166367.069
+      2935.481        2287.388          50.000          45.000
+ -17986838.38543 -13971213.42442  21625650.798    21625656.619    21625649.410
+      3027.909        2359.410          53.000          47.000
+  -6548404.56243  -5057780.73742  24171229.169    24171236.022    24171229.228
+      3572.407        2783.694          47.000          40.000
+ -19744124.35943 -15373834.87342  21571879.505    21571883.921    21571878.040
+      -288.399        -224.726          55.000          49.000
+  -9770023.53543  -7572117.46942  23479354.792    23479363.074    23479355.275
+     -3267.467       -2546.078          48.000          41.000
+ -23784532.80044 -18478369.20742  20318098.814    20318101.976    20318097.489
+      -881.621        -686.977          57.000          51.000
+ -12985869.44243 -10064658.35942  22624840.042    22624846.529    22624838.627
+     -1219.832        -950.518          51.000          44.000
+ 04  2  1  9  0 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+ -10231963.83543  -7911128.07142  22740142.142    22740148.444    22740140.791
+     -1759.422       -1370.978          49.000          43.000
+ -14328883.15843 -11148836.22142  22149637.298    22149643.697    22149636.031
+      2925.901        2279.923          50.000          45.000
+ -18077535.82943 -14041886.66842  21608391.482    21608397.177    21608389.855
+      3018.893        2352.384          53.000          47.000
+  -6655542.95643  -5141265.12342  24150842.247    24150847.643    24150842.399
+      3570.981        2782.583          47.000          40.000
+ -19735440.64743 -15367068.34242  21573531.936    21573535.736    21573530.471
+      -289.986        -225.963          55.000          49.000
+  -9671868.96743  -7495633.54142  23498034.262    23498041.277    23498032.533
+     -3275.316       -2552.194          48.000          41.000
+ -23757891.62743 -18457609.84842  20323168.193    20323171.534    20323166.909
+      -893.838        -696.497          56.000          51.000
+ -12949060.90743 -10035976.41542  22631845.362    22631850.503    22631842.531
+     -1233.517        -961.182          51.000          44.000
+ 04  2  1  9  1  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+ -10179119.11343  -7869950.39642  22750198.322    22750203.762    22750197.421
+     -1762.977       -1373.748          49.000          43.000
+ -14416499.61543 -11217108.74642  22132964.726    22132969.489    22132964.524
+      2915.878        2272.113          51.000          45.000
+ -18167946.95243 -14112336.81142  21591186.609    21591193.182    21591185.661
+      3009.252        2344.872          53.000          47.000
+  -6762624.00943  -5224704.83142  24130466.106    24130472.110    24130464.405
+      3568.871        2780.938          47.000          40.000
+ -19726700.99843 -15360258.22042  21575195.054    21575199.080    21575193.402
+      -291.895        -227.451          55.000          49.000
+  -9573469.52343  -7418958.78142  23516756.806    23516764.235    23516757.410
+     -3283.628       -2558.671          46.000          41.000
+ -23730877.44844 -18436559.83242  20328308.978    20328312.460    20328307.875
+      -906.304        -706.211          57.000          51.000
+ -12911836.93043 -10006970.75242  22638927.574    22638933.906    22638926.245
+     -1247.361        -971.970          50.000          44.000
+ 04  2  1  9  1 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+ -10126172.40743  -7828693.24442  22760274.313    22760279.138    22760273.741
+     -1766.080       -1376.166          50.000          44.000
+ -14503817.31143 -11285148.45942  22116349.497    22116353.843    22116348.115
+      2905.890        2264.330          51.000          45.000
+ -18258071.14143 -14182563.36842  21574036.456    21574042.632    21574035.287
+      2999.773        2337.485          53.000          47.000
+  -6869647.75143  -5308099.87842  24110100.543    24110105.092    24110098.397
+      3566.889        2779.394          47.000          41.000
+ -19717906.89443 -15353405.66542  21576868.522    21576872.499    21576867.149
+      -293.621        -228.795          55.000          49.000
+  -9474829.88343  -7342096.87642  23535528.877    23535536.052    23535528.055
+     -3291.905       -2565.121          47.000          41.000
+ -23703494.87043 -18415222.74642  20333519.576    20333523.030    20333518.613
+      -918.472        -715.692          56.000          51.000
+ -12874202.35943  -9977645.16242  22646089.686    22646095.716    22646088.018
+     -1260.989        -982.589          51.000          44.000
+ 04  2  1  9  2  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+ -10073122.90743  -7787355.99442  22770367.959    22770374.529    22770366.794
+     -1769.852       -1379.105          49.000          43.000
+ -14590833.32143 -11352953.10742  22099790.980    22099795.932    22099790.360
+      2895.785        2256.456          52.000          46.000
+ -18347905.24943 -14252563.89442  21556941.342    21556947.903    21556940.110
+      2989.793        2329.709          54.000          47.000
+  -6976611.51743  -5391448.18442  24089745.237    24089751.376    24089745.459
+      3564.548        2777.570          48.000          41.000
+ -19709057.71743 -15346510.19842  21578552.374    21578557.301    21578550.891
+      -295.665        -230.388          55.000          49.000
+  -9375952.09543  -7265049.39442  23554343.941    23554353.043    23554343.582
+     -3299.646       -2571.153          47.000          41.000
+ -23675745.85543 -18393600.12642  20338800.238    20338803.715    20338799.001
+      -930.815        -725.310          56.000          51.000
+ -12836159.92343  -9948001.73042  22653329.135    22653333.668    22653327.701
+     -1274.522        -993.134          50.000          44.000
+ 04  2  1  9  2 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+ -10019969.97043  -7745938.15242  22780483.116    22780488.960    22780481.718
+     -1773.687       -1382.094          48.000          43.000
+ -14677544.44443 -11420520.17742  22083290.223    22083294.633    22083289.528
+      2884.852        2247.937          51.000          45.000
+ -18437446.00043 -14322335.83742  21539902.922    21539908.248    21539901.135
+      2979.419        2321.625          54.000          48.000
+  -7083512.38843  -5474747.47542  24069401.965    24069409.020    24069401.109
+      3561.834        2775.455          48.000          41.000
+ -19700152.45443 -15339571.03342  21580246.265    21580251.074    21580245.129
+      -298.135        -232.313          55.000          48.000
+  -9276837.94243  -7187817.73442  23573206.091    23573213.965    23573205.847
+     -3308.136       -2577.768          48.000          41.000
+ -23647632.15044 -18371693.33242  20344150.185    20344153.349    20344148.834
+      -943.495        -735.191          57.000          51.000
+ -12797711.69143  -9918042.11242  22660645.742    22660650.872    22660645.087
+     -1288.746       -1004.218          50.000          43.000
+ 04  2  1  9  3  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9966711.92443  -7704438.38842  22790618.140    22790623.791    22790617.227
+     -1777.751       -1385.260          49.000          43.000
+ -14763946.35643 -11487846.28942  22066848.399    22066853.505    22066847.331
+      2874.391        2239.785          52.000          45.000
+ -18526689.01843 -14391875.78142  21522920.977    21522926.167    21522919.421
+      2969.263        2313.711          55.000          48.000
+  -7190346.53543  -5557994.78442  24049072.941    24049078.852    24049072.532
+      3559.389        2773.550          48.000          41.000
+ -19691188.93243 -15332586.47142  21581952.009    21581956.865    21581951.223
+      -300.342        -234.033          55.000          48.000
+  -9177488.12843  -7110402.42542  23592112.874    23592119.995    23592111.838
+     -3316.271       -2584.107          49.000          41.000
+ -23619154.55244 -18349502.98642  20349569.070    20349572.560    20349567.980
+      -955.942        -744.890          57.000          51.000
+ -12758859.04843  -9887767.35842  22668039.580    22668044.956    22668038.053
+     -1302.443       -1014.891          51.000          44.000
+ 04  2  1  9  3 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9913347.52343  -7662855.76442  22800773.884    22800778.940    22800772.747
+     -1780.902       -1387.716          49.000          43.000
+ -14850035.72143 -11554928.86642  22050466.008    22050471.075    22050465.471
+      2864.049        2231.726          52.000          46.000
+ -18615630.61643 -14461180.85742  21505995.919    21506001.005    21505993.814
+      2959.507        2306.109          54.000          48.000
+  -7297110.83343  -5641187.66642  24028755.524    24028762.509    24028756.260
+      3557.364        2771.972          48.000          41.000
+ -19682165.95743 -15325555.56542  21583669.166    21583674.108    21583667.727
+      -302.082        -235.388          55.000          48.000
+  -9077904.26243  -7032804.76742  23611061.068    23611069.203    23611062.314
+     -3323.677       -2589.878          48.000          40.000
+ -23590314.37744 -18327030.10842  20355057.302    20355060.467    20355056.298
+      -967.585        -753.962          57.000          51.000
+ -12719603.89243  -9857178.95242  22675507.933    22675515.287    22675506.244
+     -1315.428       -1025.009          50.000          44.000
+ 04  2  1  9  4  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9859880.34543  -7621193.04042  22810946.850    22810951.935    22810944.988
+     -1784.066       -1390.181          48.000          42.000
+ -14935813.56343 -11621768.70142  22034142.687    22034147.817    22034141.933
+      2853.781        2223.725          51.000          46.000
+ -18704271.72543 -14530251.77542  21489127.683    21489133.493    21489126.110
+      2949.422        2298.251          54.000          48.000
+  -7403806.64343  -5724327.16142  24008451.505    24008459.404    24008450.639
+      3555.245        2770.321          47.000          41.000
+ -19673086.80443 -15318480.90442  21585396.677    21585401.678    21585395.531
+      -303.789        -236.719          55.000          48.000
+  -8978092.57043  -6955029.56242  23630055.731    23630064.213    23630055.398
+     -3330.999       -2595.584          48.000          40.000
+ -23561117.80844 -18304279.51742  20360613.228    20360616.364    20360612.022
+      -979.320        -763.106          57.000          51.000
+ -12679952.73943  -9826282.00042  22683054.117    22683060.555    22683053.326
+     -1328.426       -1035.137          51.000          44.000
+ 04  2  1  9  4 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9806305.70343  -7579446.58642  22821143.223    22821150.059    22821141.926
+     -1787.357       -1392.746          49.000          43.000
+ -15021273.00543 -11688360.42842  22017880.323    22017885.846    22017879.009
+      2843.538        2215.744          51.000          46.000
+ -18792605.45643 -14599083.18542  21472317.964    21472324.163    21472316.593
+      2939.580        2290.582          55.000          48.000
+  -7510427.34843  -5807408.14642  23988163.410    23988168.781    23988161.564
+      3553.088        2768.640          48.000          41.000
+ -19663946.81343 -15311358.82842  21587136.116    21587140.630    21587134.684
+      -305.331        -237.920          55.000          48.000
+  -8878050.95143  -6877075.19442  23649092.092    23649100.563    23649091.273
+     -3338.434       -2601.377          47.000          40.000
+ -23531562.78843 -18281249.61542  20366237.041    20366240.563    20366235.724
+      -990.819        -772.067          56.000          51.000
+ -12639904.06143  -9795075.26142  22690675.791    22690681.867    22690673.663
+     -1341.261       -1045.138          51.000          44.000
+ 04  2  1  9  5  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9752625.84043  -7537618.14842  22831356.671    22831362.910    22831355.806
+     -1791.433       -1395.922          48.000          43.000
+ -15106413.84643 -11754703.88942  22001678.857    22001683.472    22001678.711
+      2832.406        2207.070          52.000          46.000
+ -18880631.17943 -14667674.58042  21455567.210    21455573.199    21455565.390
+      2928.865        2282.232          54.000          48.000
+  -7616973.06143  -5890430.70642  23967887.932    23967893.520    23967886.624
+      3549.885        2766.144          48.000          41.000
+ -19654747.69943 -15304190.68342  21588886.682    21588891.522    21588885.352
+      -307.845        -239.879          55.000          48.000
+  -8777784.38543  -6798945.54442  23668172.651    23668179.300    23668170.388
+     -3346.120       -2607.366          47.000          40.000
+ -23501654.04243 -18257944.08542  20371928.622    20371932.054    20371927.316
+     -1003.056        -781.602          56.000          51.000
+ -12599463.29843  -9763563.01642  22698371.038    22698376.820    22698369.447
+     -1354.623       -1055.550          50.000          44.000
+ 04  2  1  9  5 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9698838.14643  -7495705.69042  22841592.650    22841599.384    22841590.637
+     -1794.966       -1398.675          48.000          43.000
+ -15191230.81743 -11820795.00442  21985538.976    21985543.397    21985538.449
+      2821.655        2198.692          52.000          46.000
+ -18968343.92343 -14736022.09342  21438875.674    21438881.790    21438874.200
+      2918.357        2274.044          54.000          48.000
+  -7723438.72443  -5973390.89642  23947627.222    23947633.276    23947626.955
+      3547.353        2764.171          48.000          41.000
+ -19645486.40443 -15296974.08742  21590649.603    21590653.640    21590648.348
+      -309.892        -241.474          55.000          48.000
+  -8677292.65643  -6720640.44242  23687295.504    23687304.430    23687295.623
+     -3353.694       -2613.268          47.000          40.000
+ -23471391.59344 -18234362.94442  20377687.333    20377690.771    20377686.241
+     -1014.755        -790.718          57.000          51.000
+ -12558630.88243  -9731745.58142  22706141.708    22706147.408    22706140.071
+     -1367.799       -1065.817          51.000          44.000
+ 04  2  1  9  6  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9644944.16143  -7453710.38742  22851848.608    22851855.196    22851847.131
+     -1798.806       -1401.667          48.000          43.000
+ -15275723.05743 -11886633.05642  21969459.505    21969465.580    21969459.632
+      2810.414        2189.933          52.000          46.000
+ -19055742.49043 -14804124.79442  21422243.948    21422249.913    21422242.420
+      2907.600        2265.662          54.000          48.000
+  -7829824.11443  -6056288.53142  23927383.394    23927389.379    23927382.055
+      3544.311        2761.801          48.000          41.000
+ -19636164.56243 -15289710.30942  21592423.758    21592427.988    21592421.827
+      -312.277        -243.333          55.000          48.000
+  -8576579.50643  -6642162.82742  23706461.598    23706468.810    23706460.059
+     -3361.248       -2619.154          48.000          41.000
+ -23440779.51944 -18210509.36942  20383512.595    20383516.019    20383511.463
+     -1026.785        -800.092          57.000          51.000
+ -12517411.64643  -9699626.73542  22713984.903    22713990.369    22713983.378
+     -1380.939       -1076.056          51.000          44.000
+ 04  2  1  9  6 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9590939.83343  -7411629.11042  22862124.735    22862132.758    22862123.264
+     -1802.244       -1404.346          49.000          43.000
+ -15359884.34743 -11952213.23742  21953444.726    21953449.598    21953443.918
+      2799.660        2181.553          52.000          46.000
+ -19142820.31243 -14871977.57742  21405674.072    21405679.517    21405672.485
+      2896.984        2257.390          55.000          48.000
+  -7936122.62643  -6139118.45342  23907154.207    23907162.315    23907154.965
+      3541.578        2759.671          47.000          41.000
+ -19626777.35543 -15282395.59742  21594209.464    21594214.207    21594207.966
+      -314.276        -244.890          55.000          48.000
+  -8475644.13443  -6563512.05642  23725668.005    23725675.565    23725667.879
+     -3368.452       -2624.768          48.000          41.000
+ -23409816.42343 -18186382.27142  20389404.680    20389408.051    20389403.527
+     -1038.146        -808.945          56.000          51.000
+ -12475804.28743  -9667205.44942  22721903.164    22721909.123    22721900.384
+     -1393.519       -1085.859          50.000          43.000
+ 04  2  1  9  7  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9536830.52943  -7369466.04542  22872422.154    22872427.682    22872420.228
+     -1805.339       -1406.758          48.000          43.000
+ -15443717.57443 -12017537.78142  21937492.179    21937496.894    21937490.613
+      2788.889        2173.160          53.000          46.000
+ -19229580.44043 -14939582.80342  21389164.367    21389169.556    21389162.779
+      2886.664        2249.349          54.000          48.000
+  -8042338.04343  -6221883.60742  23886942.712    23886949.010    23886942.856
+      3539.179        2757.802          47.000          41.000
+ -19617330.27843 -15275034.22442  21596007.308    21596011.698    21596005.818
+      -315.924        -246.174          55.000          48.000
+  -8374494.29243  -6484694.16142  23744917.516    23744926.242    23744915.657
+     -3375.310       -2630.112          48.000          40.000
+ -23378510.16143 -18161987.77542  20395361.849    20395365.222    20395360.741
+     -1049.289        -817.628          56.000          51.000
+ -12433817.33543  -9634488.37442  22729892.195    22729899.121    22729890.761
+     -1405.911       -1095.515          50.000          43.000
+ 04  2  1  9  7 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9482613.04743  -7327218.66442  22882739.831    22882744.570    22882739.145
+     -1808.863       -1409.504          49.000          43.000
+ -15527217.36743 -12082602.50942  21921602.229    21921607.644    21921601.229
+      2777.998        2164.674          52.000          46.000
+ -19316017.00043 -15006935.89142  21372715.893    21372721.262    21372714.332
+      2875.960        2241.008          54.000          48.000
+  -8148464.56443  -6304579.50042  23866748.203    23866754.235    23866746.819
+      3536.285        2755.547          48.000          41.000
+ -19607819.81443 -15267623.47142  21597817.593    21597821.255    21597815.856
+      -317.849        -247.674          55.000          48.000
+  -8273129.64343  -6405708.89942  23764207.087    23764213.217    23764204.482
+     -3382.110       -2635.410          48.000          40.000
+ -23346860.00643 -18137325.31142  20401385.093    20401388.131    20401383.687
+     -1060.523        -826.381          56.000          51.000
+ -12391450.95143  -9601475.65942  22737954.808    22737960.837    22737952.445
+     -1418.290       -1105.161          50.000          43.000
+ 04  2  1  9  8  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9428285.91143  -7284885.85642  22893076.412    22893083.431    22893076.067
+     -1812.851       -1412.611          48.000          42.000
+ -15610379.65943 -12147404.25342  21905777.424    21905781.711    21905775.961
+      2766.051        2155.364          53.000          46.000
+ -19402126.17443 -15074033.87742  21356329.269    21356335.980    21356327.713
+      2864.518        2232.092          55.000          48.000
+  -8254498.85643  -6387203.55542  23846570.309    23846577.535    23846569.186
+      3532.731        2752.777          47.000          42.000
+ -19598243.89443 -15260161.70842  21599640.084    21599643.939    21599638.455
+      -320.609        -249.825          55.000          48.000
+  -8171551.30443  -6326557.13242  23783535.559    23783545.411    23783534.350
+     -3389.842       -2641.435          47.000          40.000
+ -23314867.33743 -18112395.96442  20407472.855    20407476.320    20407471.813
+     -1072.452        -835.677          56.000          51.000
+ -12348706.89343  -9568168.63842  22746088.718    22746094.162    22746086.327
+     -1431.398       -1115.375          50.000          43.000
+ 04  2  1  9  8 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9373845.20443  -7242464.56842  22903437.701    22903443.006    22903436.380
+     -1816.362       -1415.347          49.000          43.000
+ -15693198.06843 -12211938.04942  21890017.328    21890022.283    21890016.502
+      2754.950        2146.714          52.000          46.000
+ -19487901.18443 -15140871.47942  21340006.956    21340013.187    21340005.554
+      2853.807        2223.746          55.000          49.000
+  -8360434.56743  -6469750.78942  23826411.371    23826417.424    23826409.994
+      3529.728        2750.437          48.000          42.000
+ -19588598.46443 -15252645.78042  21601474.356    21601479.608    21601473.089
+      -322.391        -251.214          55.000          48.000
+  -8069757.88343  -6247237.76142  23802904.942    23802913.058    23802903.750
+     -3396.544       -2646.658          45.000          39.000
+ -23282530.66444 -18087198.55742  20413626.398    20413629.806    20413625.124
+     -1083.363        -844.179          57.000          51.000
+ -12305584.10143  -9534566.49642  22754294.525    22754300.987    22754292.794
+     -1443.454       -1124.769          49.000          43.000
+ 04  2  1  9  9  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9319297.75143  -7199960.08342  22913817.526    22913822.926    22913817.205
+     -1819.990       -1418.174          49.000          43.000
+ -15775677.03143 -12276207.34442  21874322.009    21874326.836    21874320.924
+      2743.672        2137.926          52.000          46.000
+ -19573346.53243 -15207452.20542  21323746.715    21323753.154    21323745.701
+      2842.896        2215.244          55.000          49.000
+  -8466276.42543  -6552224.86842  23806269.634    23806276.010    23806268.437
+      3526.795        2748.152          48.000          42.000
+ -19578889.81243 -15245080.59842  21603322.097    21603326.497    21603320.495
+      -324.494        -252.852          55.000          48.000
+  -7967758.96543  -6167758.24542  23822315.750    23822324.150    23822315.129
+     -3403.147       -2651.803          45.000          39.000
+ -23249859.32143 -18061740.37642  20419843.461    20419847.238    20419842.256
+     -1094.419        -852.794          56.000          51.000
+ -12262092.88143  -9500677.25042  22762570.874    22762578.014    22762570.260
+     -1455.678       -1134.294          50.000          43.000
+ 04  2  1  9  9 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9264640.03143  -7157369.69142  22924217.347    22924224.910    22924215.471
+     -1823.753       -1421.106          48.000          43.000
+ -15857810.60443 -12340207.49542  21858692.962    21858696.878    21858691.591
+      2731.988        2128.822          52.000          46.000
+ -19658456.23743 -15273771.39442  21307551.726    21307557.249    21307549.683
+      2831.454        2206.328          55.000          49.000
+  -8572018.69643  -6634621.36542  23786147.995    23786154.458    23786148.187
+      3523.085        2745.261          48.000          42.000
+ -19569114.43043 -15237463.40142  21605182.340    21605186.838    21605180.812
+      -326.945        -254.762          55.000          48.000
+  -7865553.45543  -6088117.76642  23841765.689    23841773.884    23841764.826
+     -3410.122       -2657.238          47.000          39.000
+ -23216852.54043 -18036020.81242  20426124.236    20426128.077    20426123.202
+     -1105.835        -861.690          56.000          51.000
+ -12218232.95143  -9466500.72542  22770916.348    22770923.847    22770914.680
+     -1468.115       -1143.986          49.000          43.000
+ 04  2  1  9 10  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9209870.29643  -7114692.02742  22934640.556    22934646.216    22934639.748
+     -1827.207       -1423.798          49.000          43.000
+ -15939594.93743 -12403935.50542  21843129.306    21843134.544    21843128.785
+      2720.576        2119.929          52.000          46.000
+ -19743226.04443 -15339825.73542  21291420.887    21291425.833    21291419.187
+      2820.237        2197.587          55.000          49.000
+  -8677657.51543  -6716937.27842  23766045.755    23766050.850    23766044.666
+      3519.874        2742.759          48.000          42.000
+ -19559270.07943 -15229792.47742  21607055.476    21607060.108    21607053.837
+      -328.941        -256.318          55.000          48.000
+  -7763142.27943  -6008317.02842  23861255.495    23861262.373    23861254.032
+     -3416.884       -2662.507          48.000          41.000
+ -23183511.22143 -18010040.56542  20432469.167    20432472.858    20432467.786
+     -1116.621        -870.094          56.000          51.000
+ -12174005.86943  -9432038.09942  22779333.289    22779340.082    22779331.040
+     -1479.957       -1153.213          49.000          43.000
+ 04  2  1  9 10 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9154989.41943  -7071927.70942  22945083.265    22945089.454    22945083.280
+     -1831.727       -1427.320          49.000          42.000
+ -16021028.26143 -12467390.00742  21827633.094    21827637.747    21827632.525
+      2708.106        2110.212          53.000          46.000
+ -19827654.30743 -15405613.93442  21275354.343    21275359.247    21275352.528
+      2808.013        2188.062          55.000          49.000
+  -8783191.58343  -6799171.56242  23745963.731    23745969.341    23745962.053
+      3515.611        2739.437          48.000          42.000
+ -19549357.35643 -15222068.28042  21608941.809    21608946.523    21608940.504
+      -331.971        -258.679          55.000          48.000
+  -7660529.27743  -5928359.02742  23880780.393    23880789.123    23880779.548
+     -3424.252       -2668.248          48.000          41.000
+ -23149838.83444 -17983802.34942  20438877.056    20438880.362    20438875.573
+     -1128.311        -879.203          57.000          51.000
+ -12129415.51543  -9397292.40742  22787819.437    22787824.210    22787816.614
+     -1492.813       -1163.231          50.000          43.000
+ 04  2  1  9 11  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9099995.28843  -7029075.16242  22955549.286    22955556.015    22955547.878
+     -1835.108       -1429.954          49.000          43.000
+ -16102106.17943 -12530567.58242  21812204.491    21812209.361    21812203.271
+      2696.745        2101.360          52.000          46.000
+ -19911736.59943 -15471132.54242  21259353.549    21259359.203    21259352.133
+      2796.994        2179.476          54.000          48.000
+  -8888616.65143  -6881320.90942  23725902.280    23725907.132    23725900.913
+      3512.414        2736.946          48.000          42.000
+ -19539373.89343 -15214288.95442  21610841.682    21610845.973    21610840.157
+      -333.889        -260.173          55.000          48.000
+  -7557715.15643  -5848244.31342  23900346.429    23900353.838    23900345.636
+     -3430.476       -2673.098          49.000          42.000
+ -23115835.89344 -17957306.55642  20445347.582    20445350.849    20445346.247
+     -1138.936        -887.482          57.000          51.000
+ -12084463.05943  -9362264.56542  22796372.314    22796377.729    22796370.640
+     -1504.362       -1172.230          50.000          43.000
+ 04  2  1  9 11 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -9044888.97743  -6986135.19242  22966036.395    22966042.048    22966034.348
+     -1838.573       -1432.654          49.000          43.000
+ -16182827.29243 -12593467.11042  21796843.737    21796848.809    21796842.774
+      2684.897        2092.128          52.000          46.000
+ -19995471.24643 -15536380.25742  21243418.807    21243424.792    21243417.811
+      2785.449        2170.480          54.000          48.000
+  -8993931.24043  -6963384.16942  23705860.789    23705866.713    23705860.142
+      3508.585        2733.962          48.000          42.000
+ -19529320.10943 -15206454.82142  21612755.061    21612759.610    21612753.683
+      -336.130        -261.919          55.000          48.000
+  -7454703.20143  -5767975.43942  23919948.965    23919956.233    23919947.992
+     -3436.872       -2678.082          49.000          42.000
+ -23081505.82744 -17930555.86342  20451880.942    20451883.743    20451879.265
+     -1149.599        -895.791          57.000          51.000
+ -12039152.75443  -9326957.87642  22804994.602    22805000.222    22804993.360
+     -1515.990       -1181.291          50.000          43.000
+ 04  2  1  9 12  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8989670.27643  -6943107.67142  22976542.542    22976550.499    22976541.839
+     -1842.535       -1435.741          48.000          43.000
+ -16263189.17043 -12656086.72442  21781551.197    21781556.221    21781550.525
+      2672.531        2082.492          53.000          46.000
+ -20078855.81343 -15601355.18542  21227551.842    21227557.383    21227550.342
+      2773.489        2161.160          55.000          49.000
+  -9099133.06843  -7045359.57442  23685840.564    23685847.799    23685840.336
+      3504.704        2730.938          47.000          41.000
+ -19519195.54843 -15198565.55242  21614681.616    21614685.825    21614680.013
+      -338.757        -263.966          55.000          48.000
+  -7351496.27543  -5687554.64842  23939587.975    23939597.011    23939589.313
+     -3443.588       -2683.315          48.000          41.000
+ -23046851.47844 -17903552.48242  20458474.497    20458478.033    20458473.629
+     -1160.650        -904.402          57.000          51.000
+ -11993487.67043  -9291374.74142  22813684.376    22813690.223    22813682.392
+     -1528.115       -1190.739          50.000          43.000
+ 04  2  1  9 12 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8934337.13943  -6899990.96342  22987072.665    22987078.603    22987071.101
+     -1846.497       -1438.829          48.000          43.000
+ -16343187.38343 -12718422.96342  21766328.916    21766332.966    21766327.750
+      2660.366        2073.012          53.000          46.000
+ -20161885.59043 -15666053.65542  21211751.528    21211757.565    21211750.150
+      2761.456        2151.784          55.000          49.000
+  -9204217.83243  -7127243.76042  23665844.308    23665849.834    23665842.965
+      3500.671        2727.796          47.000          42.000
+ -19508997.93843 -15190619.36042  21616622.375    21616626.712    21616621.122
+      -341.411        -266.034          55.000          48.000
+  -7248094.84443  -5606982.31442  23959265.080    23959273.171    23959265.439
+     -3450.117       -2688.403          47.000          41.000
+ -23011873.04444 -17876296.56342  20465130.926    20465134.162    20465129.868
+     -1171.542        -912.890          57.000          51.000
+ -11947469.31143  -9255516.30942  22822442.570    22822448.042    22822441.073
+     -1539.977       -1199.982          51.000          43.000
+ 04  2  1  9 13  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8878888.71843  -6856784.46042  22997623.872    22997630.733    22997623.459
+     -1850.528       -1441.970          49.000          43.000
+ -16422818.66243 -12780473.27242  21751174.498    21751178.660    21751173.956
+      2648.026        2063.397          53.000          46.000
+ -20244557.44543 -15730473.22342  21196019.778    21196025.519    21196017.883
+      2749.430        2142.413          55.000          49.000
+  -9309182.42943  -7209034.30042  23645870.354    23645876.512    23645869.482
+      3496.587        2724.613          47.000          42.000
+ -19498726.01743 -15182615.25242  21618577.210    21618581.650    21618575.964
+      -344.004        -268.055          55.000          49.000
+  -7144500.71943  -5526259.83442  23978979.218    23978986.839    23978978.717
+     -3456.774       -2693.590          47.000          40.000
+ -22976572.55044 -17848789.69142  20471848.618    20471851.697    20471847.445
+     -1182.324        -921.291          57.000          51.000
+ -11901099.89343  -9219384.33642  22831265.833    22831272.499    22831264.140
+     -1551.734       -1209.143          50.000          43.000
+ 04  2  1  9 13 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8823327.35443  -6813489.90642  23008196.646    23008203.469    23008197.243
+     -1853.877       -1444.579          49.000          43.000
+ -16502082.83243 -12842237.51742  21736090.937    21736095.662    21736090.631
+      2635.951        2053.988          52.000          46.000
+ -20326871.09843 -15794613.67242  21180355.608    21180361.566    21180354.238
+      2737.840        2133.382          55.000          49.000
+  -9414026.94743  -7290731.27042  23625918.606    23625924.196    23625918.418
+      3492.953        2721.782          47.000          42.000
+ -19488381.35543 -15174554.47242  21620545.146    21620550.056    21620543.844
+      -345.954        -269.574          55.000          48.000
+  -7040718.93643  -5445391.12242  23998726.659    23998735.565    23998727.567
+     -3462.460       -2698.021          45.000          39.000
+ -22940954.88044 -17821035.65742  20478626.202    20478629.333    20478624.866
+     -1192.432        -929.168          57.000          51.000
+ -11854384.83943  -9182983.04742  22840155.090    22840161.507    22840153.274
+     -1562.859       -1217.812          50.000          43.000
+ 04  2  1  9 14  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8767651.20343  -6770105.90942  23018792.333    23018798.383    23018791.344
+     -1857.739       -1447.589          50.000          43.000
+ -16580976.05143 -12903712.71842  21721078.432    21721083.369    21721077.797
+      2623.568        2044.339          53.000          47.000
+ -20408822.43543 -15858471.80442  21164761.277    21164766.625    21164759.818
+      2725.590        2123.836          55.000          49.000
+  -9518747.52043  -7372331.66742  23605991.880    23605996.772    23605989.841
+      3488.466        2718.285          47.000          42.000
+ -19477962.13843 -15166435.59642  21622528.307    21622532.609    21622527.262
+      -348.571        -271.614          55.000          48.000
+  -6936750.40943  -5364376.89642  24018512.211    24018520.641    24018512.968
+     -3468.932       -2703.064          44.000          39.000
+ -22905020.76244 -17793035.03642  20485464.184    20485467.536    20485463.041
+     -1203.106        -937.485          57.000          51.000
+ -11807326.03943  -9146313.88942  22849110.096    22849116.046    22849109.158
+     -1574.349       -1226.765          50.000          43.000
+ 04  2  1  9 14 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8711860.19743  -6726632.40342  23029408.207    23029416.776    23029408.262
+     -1861.399       -1450.441          49.000          42.000
+ -16659495.81343 -12964896.91142  21706136.855    21706140.785    21706135.691
+      2611.147        2034.660          53.000          47.000
+ -20490408.88743 -15922045.60842  21149235.799    21149240.969    21149234.393
+      2713.482        2114.402          55.000          49.000
+  -9623341.41343  -7453833.36642  23586086.866    23586092.493    23586086.627
+      3484.484        2715.182          47.000          41.000
+ -19467467.84843 -15158258.22142  21624524.966    21624529.911    21624523.751
+      -350.872        -273.407          55.000          48.000
+  -6832597.78743  -5283219.26242  24038331.652    24038339.127    24038331.194
+     -3474.657       -2707.525          44.000          38.000
+ -22868772.78743 -17764789.85542  20492361.912    20492364.937    20492360.570
+     -1213.397        -945.504          56.000          51.000
+ -11759926.42143  -9109379.15942  22858129.788    22858135.857    22858127.415
+     -1585.525       -1235.474          50.000          43.000
+ 04  2  1  9 15  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8655951.97943  -6683067.59242  23040048.103    23040054.146    23040045.909
+     -1865.249       -1453.441          49.000          42.000
+ -16737637.12843 -13025786.21742  21691266.544    21691271.725    21691265.720
+      2598.600        2024.883          53.000          47.000
+ -20571625.57243 -15985331.28442  21133780.999    21133786.007    21133779.295
+      2701.314        2104.920          55.000          49.000
+  -9727804.14343  -7535232.83842  23566209.733    23566214.750    23566207.626
+      3480.067        2711.741          48.000          42.000
+ -19456895.64243 -15150020.13542  21626536.773    21626540.882    21626535.198
+      -353.480        -275.439          55.000          48.000
+  -6728261.39343  -5201918.38242  24058186.560    24058195.241    24058185.510
+     -3480.829       -2712.334          45.000          38.000
+ -22832211.13844 -17736300.25242  20499319.642    20499322.392    20499318.156
+     -1223.605        -953.458          57.000          51.000
+ -11712186.86843  -9072179.53442  22867214.323    22867220.936    22867212.605
+     -1596.706       -1244.186          49.000          43.000
+ 04  2  1  9 15 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8599927.11743  -6639411.87542  23050708.720    23050715.467    23050707.466
+     -1869.956       -1457.108          48.000          42.000
+ -16815398.48943 -13086379.44542  21676468.888    21676473.726    21676468.445
+      2585.287        2014.509          53.000          47.000
+ -20652470.66843 -16048327.41642  21118396.175    21118401.453    21118394.520
+      2688.132        2094.648          55.000          49.000
+  -9832133.91943  -7616528.69542  23546355.664    23546361.099    23546355.149
+      3474.721        2707.575          48.000          42.000
+ -19446245.79043 -15141721.54342  21628563.876    21628567.469    21628561.972
+      -356.819        -278.041          55.000          48.000
+  -6623744.64343  -5120476.97442  24078075.970    24078083.733    24078075.223
+     -3487.351       -2717.416          45.000          38.000
+ -22795339.14143 -17707568.81542  20506335.604    20506338.972    20506334.523
+     -1234.751        -962.144          56.000          50.000
+ -11664111.50743  -9034718.26942  22876364.044    22876369.761    22876361.778
+     -1608.638       -1253.484          50.000          43.000
+ 04  2  1  9 16  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8543788.49043  -6595667.50642  23061390.584    23061398.086    23061390.619
+     -1873.387       -1459.782          48.000          43.000
+ -16892780.19143 -13146676.84442  21661743.366    21661748.225    21661742.916
+      2572.950        2004.896          53.000          47.000
+ -20732944.70243 -16111034.40142  21103082.786    21103087.840    21103080.964
+      2676.180        2085.335          55.000          49.000
+  -9936331.24443  -7697721.35142  23526528.555    23526532.555    23526527.089
+      3470.871        2704.575          49.000          42.000
+ -19435520.40743 -15133364.08442  21630604.737    21630609.371    21630603.131
+      -358.898        -279.661          55.000          48.000
+  -6519052.76343  -5038899.06842  24097998.873    24098005.993    24097996.581
+     -3492.455       -2721.393          47.000          38.000
+ -22758162.27143 -17678599.81642  20513410.333    20513413.574    20513409.136
+     -1244.404        -969.665          56.000          50.000
+ -11615706.63943  -8997000.21442  22885574.825    22885580.982    22885572.832
+     -1619.104       -1261.639          50.000          43.000
+ 04  2  1  9 16 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8487529.28843  -6551829.22142  23072098.539    23072103.101    23072096.198
+     -1876.460       -1462.177          49.000          43.000
+ -16969773.03143 -13206671.22842  21647092.620    21647097.333    21647091.775
+      2560.945        1995.542          53.000          47.000
+ -20813038.29543 -16173444.94242  21087841.177    21087846.481    21087839.922
+      2664.482        2076.220          55.000          49.000
+ -10040387.01643  -7778803.71242  23506726.391    23506733.106    23506725.706
+      3467.024        2701.577          49.000          42.000
+ -19424712.43343 -15124942.28742  21632661.532    21632665.661    21632659.914
+      -360.666        -281.038          55.000          48.000
+  -6414182.21343  -4957181.96842  24117954.993    24117961.400    24117954.180
+     -3497.614       -2725.413          47.000          38.000
+ -22720676.15943 -17649389.85042  20520543.708    20520547.241    20520542.588
+     -1253.648        -976.868          56.000          50.000
+ -11566968.69643  -8959022.64442  22894849.091    22894855.479    22894846.165
+     -1629.064       -1269.400          49.000          43.000
+ 04  2  1  9 17  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8431154.10143  -6507900.53242  23082825.245    23082833.201    23082825.193
+     -1880.977       -1465.696          48.000          42.000
+ -17046379.49043 -13266364.53842  21632514.400    21632519.601    21632514.221
+      2547.222        1984.848          53.000          47.000
+ -20892753.71543 -16235560.80442  21072671.826    21072677.496    21072670.402
+      2650.845        2065.594          55.000          49.000
+ -10144303.59343  -7859777.59342  23486951.349    23486957.732    23486951.629
+      3461.467        2697.247          49.000          42.000
+ -19413825.94243 -15116459.29342  21634732.760    21634737.178    21634731.522
+      -363.927        -283.579          55.000          48.000
+  -6309139.96843  -4875331.05842  24137943.414    24137951.535    24137943.801
+     -3504.164       -2730.517          46.000          38.000
+ -22682888.07944 -17619944.58342  20527734.939    20527738.085    20527733.567
+     -1264.599        -985.402          57.000          51.000
+ -11517905.54143  -8920791.63942  22904185.434    22904190.503    22904184.586
+     -1640.787       -1278.535          49.000          43.000
+ 04  2  1  9 17 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8374659.52643  -6463878.80942  23093575.551    23093583.131    23093574.956
+     -1884.899       -1468.752          48.000          42.000
+ -17122593.82343 -13325752.29942  21618011.988    21618016.292    21618011.457
+      2534.170        1974.678          53.000          47.000
+ -20972085.19843 -16297377.50442  21057575.163    21057581.011    21057573.817
+      2638.331        2055.842          55.000          49.000
+ -10248075.33343  -7940638.62742  23467204.626    23467211.856    23467202.998
+      3456.896        2693.685          49.000          42.000
+ -19402857.32343 -15107912.31542  21636819.813    21636824.320    21636818.531
+      -366.628        -285.684          55.000          48.000
+  -6203925.03443  -4793345.62342  24157966.239    24157974.097    24157964.952
+     -3509.798       -2734.907          46.000          38.000
+ -22644797.36544 -17590263.49942  20534983.238    20534986.525    20534981.968
+     -1274.381        -993.024          57.000          51.000
+ -11468517.00943  -8882307.11342  22913584.121    22913590.271    22913581.991
+     -1651.308       -1286.733          49.000          43.000
+ 04  2  1  9 18  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8318045.80743  -6419764.25242  23104349.530    23104355.233    23104347.325
+     -1889.604       -1472.419          47.000          42.000
+ -17198413.71243 -13384832.69042  21603584.218    21603588.656    21603583.724
+      2520.220        1963.808          54.000          47.000
+ -21051030.49343 -16358893.27342  21042551.947    21042558.090    21042550.769
+      2624.510        2045.073          55.000          49.000
+ -10351699.88643  -8021384.96242  23447484.486    23447491.717    23447483.395
+      3451.380        2689.387          49.000          43.000
+ -19391806.06743 -15099300.94042  21638923.171    21638927.660    21638921.903
+      -370.203        -288.470          55.000          48.000
+  -6098540.74543  -4711228.23442  24178019.150    24178028.971    24178018.567
+     -3515.953       -2739.704          46.000          39.000
+ -22606406.65644 -17560348.64942  20542289.149    20542292.114    20542287.551
+     -1285.147       -1001.413          57.000          51.000
+ -11418806.68443  -8843571.83942  22923042.784    22923050.391    22923041.435
+     -1662.931       -1295.790          49.000          43.000
+ 04  2  1  9 18 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8261314.27043  -6375557.89442  23115144.796    23115150.987    23115143.560
+     -1893.341       -1475.331          47.000          42.000
+ -17273838.51843 -13443605.23442  21589231.381    21589235.480    21589230.492
+      2507.247        1953.699          54.000          47.000
+ -21129588.58943 -16420107.32342  21027603.824    21027609.074    21027602.439
+      2611.752        2035.131          56.000          49.000
+ -10455176.27443  -8102015.86342  23427794.696    23427800.440    23427793.572
+      3446.636        2685.690          49.000          43.000
+ -19380672.99143 -15090625.80442  21641041.445    21641045.851    21641040.262
+      -372.822        -290.511          54.000          48.000
+  -5992991.36043  -4628982.18242  24198104.879    24198113.946    24198104.213
+     -3521.165       -2743.765          45.000          38.000
+ -22567720.10744 -17530203.28442  20549650.436    20549653.836    20549649.222
+     -1294.811       -1008.944          57.000          51.000
+ -11368779.33943  -8804589.54342  22932563.004    22932569.380    22932561.689
+     -1673.080       -1303.699          49.000          43.000
+ 04  2  1  9 19  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8204463.17343  -6331258.37342  23125963.311    23125969.321    23125963.708
+     -1897.258       -1478.383          47.000          42.000
+ -17348864.05543 -13502066.65942  21574954.036    21574958.380    21574953.019
+      2493.873        1943.278          53.000          47.000
+ -21207755.44943 -16481016.51942  21012728.956    21012734.333    21012727.705
+      2598.700        2024.961          56.000          50.000
+ -10558500.65643  -8182528.28042  23408132.650    23408138.411    23408131.688
+      3441.266        2681.506          49.000          43.000
+ -19369456.43743 -15081885.62142  21643175.938    21643180.922    21643174.503
+      -375.476        -292.579          55.000          48.000
+  -5887277.53643  -4546608.04942  24218220.626    24218231.338    24218220.850
+     -3526.316       -2747.779          43.000          38.000
+ -22528738.60044 -17499828.07642  20557068.182    20557071.666    20557067.042
+     -1304.527       -1016.514          57.000          50.000
+ -11318436.81743  -8765361.64142  22942143.208    22942149.710    22942141.576
+     -1683.552       -1311.859          49.000          43.000
+ 04  2  1  9 19 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8147488.99843  -6286862.95342  23136804.774    23136812.006    23136804.149
+     -1900.860       -1481.190          47.000          42.000
+ -17423484.40043 -13560212.35142  21560754.002    21560759.318    21560753.485
+      2480.861        1933.138          54.000          47.000
+ -21285525.23643 -16541616.29942  20997929.829    20997934.792    20997928.154
+      2585.906        2014.992          56.000          49.000
+ -10661666.96043  -8262917.54942  23388500.948    23388506.417    23388499.190
+      3436.534        2677.819          49.000          43.000
+ -19358151.82543 -15073076.82742  21645327.478    21645331.626    21645325.783
+      -378.030        -294.569          55.000          48.000
+  -5781398.47743  -4464105.11942  24238368.046    24238380.433    24238368.999
+     -3531.707       -2751.979          42.000          38.000
+ -22489461.20644 -17469222.30942  20564542.437    20564545.766    20564541.485
+     -1313.908       -1023.824          57.000          50.000
+ -11267778.78043  -8725887.90742  22951783.699    22951789.697    22951781.728
+     -1693.468       -1319.585          49.000          43.000
+ 04  2  1  9 20  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8090396.97343  -6242375.68042  23147668.781    23147675.327    23147668.264
+     -1904.684       -1484.169          47.000          42.000
+ -17497702.60843 -13618044.67942  21546630.788    21546635.536    21546629.834
+      2467.289        1922.563          53.000          47.000
+ -21362900.63443 -16601908.76642  20983205.351    20983210.976    20983204.100
+      2572.709        2004.708          55.000          49.000
+ -10764677.98943  -8343185.80542  23368898.019    23368904.685    23368896.539
+      3431.169        2673.638          48.000          42.000
+ -19346764.03643 -15064203.21142  21647493.979    21647498.392    21647492.140
+      -380.869        -296.781          54.000          48.000
+  -5675362.28243  -4381479.76942  24258547.609    24258557.900    24258547.404
+     -3537.039       -2756.134          43.000          39.000
+ -22449895.65044 -17438392.00242  20572071.675    20572074.825    20572070.468
+     -1323.489       -1031.290          57.000          50.000
+ -11216814.05443  -8686175.18342  22961480.792    22961489.122    22961479.917
+     -1703.728       -1327.580          49.000          43.000
+ 04  2  1  9 20 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -8033182.15543  -6197792.71942  23158557.742    23158562.224    23158556.135
+     -1909.912       -1488.243          48.000          42.000
+ -17571511.01543 -13675557.68442  21532585.496    21532589.966    21532584.971
+      2452.810        1911.281          54.000          47.000
+ -21439874.32843 -16661888.22442  20968558.474    20968563.497    20968556.786
+      2558.535        1993.664          56.000          49.000
+ -10867526.46543  -8423327.40942  23349325.833    23349331.533    23349324.568
+      3425.158        2668.954          47.000          42.000
+ -19335287.56943 -15055260.49942  21649678.345    21649682.615    21649677.297
+      -384.674        -299.746          55.000          48.000
+  -5569166.33943  -4298729.94142  24278758.536    24278766.887    24278756.980
+     -3543.250       -2760.974          44.000          39.000
+ -22410039.65743 -17407335.38642  20579655.758    20579659.542    20579654.759
+     -1333.960       -1039.449          56.000          50.000
+ -11165540.84543  -8646222.08442  22971238.140    22971245.265    22971236.878
+     -1714.827       -1336.229          49.000          42.000
+ 04  2  1  9 21  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -7975849.93543  -6153118.29242  23169467.351    23169473.738    23169466.560
+     -1912.666       -1490.389          47.000          42.000
+ -17644913.09043 -13732754.07342  21518617.060    21518622.353    21518616.612
+      2440.469        1901.664          53.000          47.000
+ -21516449.53643 -16721557.17442  20953986.001    20953991.376    20953984.364
+      2546.399        1984.207          56.000          49.000
+ -10970215.43843  -8503344.71642  23329785.244    23329791.707    23329784.047
+      3420.757        2665.525          49.000          42.000
+ -19323727.68443 -15046252.78142  21651877.179    21651882.520    21651876.071
+      -386.184        -300.922          54.000          48.000
+  -5462819.41243  -4215862.47542  24298995.245    24299004.131    24298993.448
+     -3546.776       -2763.721          45.000          39.000
+ -22369901.47743 -17376058.88442  20587293.889    20587296.670    20587292.463
+     -1342.008       -1045.720          56.000          50.000
+ -11113967.99743  -8606035.51742  22981052.663    22981058.340    22981049.733
+     -1723.307       -1342.837          49.000          43.000
+ 04  2  1  9 21 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -7918392.77843  -6108346.51042  23180400.437    23180407.487    23180398.864
+     -1917.632       -1494.259          47.000          42.000
+ -17717898.84143 -13789626.04342  21504728.853    21504733.079    21504727.568
+      2425.751        1890.196          54.000          48.000
+ -21592616.38843 -16780907.91042  20939491.571    20939497.256    20939490.440
+      2531.748        1972.791          55.000          49.000
+ -11072734.84643  -8583229.90342  23310276.080    23310283.225    23310276.017
+      3414.070        2660.314          49.000          43.000
+ -19312076.03543 -15037173.56842  21654094.953    21654099.749    21654093.206
+      -390.139        -304.004          54.000          48.000
+  -5356316.65143  -4132873.58842  24319261.797    24319271.317    24319260.456
+     -3552.731       -2768.362          46.000          40.000
+ -22329476.11644 -17344558.59742  20594986.663    20594989.925    20594985.501
+     -1352.546       -1053.932          57.000          50.000
+ -11062091.35743  -8565612.21442  22990923.283    22990930.490    22990921.641
+     -1734.335       -1351.430          49.000          43.000
+ 04  2  1  9 22  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -7860814.13343  -6063480.04742  23191357.629    23191364.857    23191356.483
+     -1921.188       -1497.030          47.000          42.000
+ -17790469.60943 -13846174.65642  21490919.060    21490923.597    21490918.141
+      2412.254        1879.678          54.000          48.000
+ -21668375.98143 -16839941.31742  20925075.177    20925081.081    20925073.998
+      2518.722        1962.641          56.000          50.000
+ -11175085.96343  -8662983.96542  23290799.808    23290806.794    23290798.783
+      3409.145        2656.477          49.000          43.000
+ -19300335.63943 -15028025.20042  21656329.301    21656333.313    21656327.245
+      -392.585        -305.910          55.000          48.000
+  -5249664.10643  -4049767.95342  24339556.797    24339566.331    24339556.439
+     -3557.306       -2771.927          47.000          40.000
+ -22288769.62744 -17312839.25742  20602732.957    20602736.058    20602731.651
+     -1361.384       -1060.819          57.000          50.000
+ -11009917.99643  -8524957.69042  23000852.650    23000859.440    23000850.420
+     -1743.844       -1358.839          49.000          43.000
+ 04  2  1  9 22 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -7803112.84143  -6018518.03742  23202338.107    23202344.424    23202336.802
+     -1925.739       -1500.576          47.000          42.000
+ -17862621.92643 -13902397.19842  21477188.882    21477193.712    21477188.262
+      2397.668        1868.313          54.000          48.000
+ -21743724.72043 -16898654.57342  20910737.070    20910742.528    20910735.382
+      2504.511        1951.567          56.000          50.000
+ -11277265.05743  -8742603.99642  23271355.518    23271361.349    23271355.531
+      3402.698        2651.453          49.000          43.000
+ -19288504.80443 -15018806.35742  21658580.604    21658584.864    21658579.295
+      -396.099        -308.648          55.000          48.000
+  -5142862.94743  -3966546.52642  24359881.755    24359890.926    24359881.332
+     -3562.902       -2776.287          47.000          40.000
+ -22247783.16444 -17280901.75942  20610532.241    20610535.349    20610530.930
+     -1371.115       -1068.401          57.000          50.000
+ -10957450.09843  -8484073.66042  23010835.881    23010843.134    23010834.523
+     -1754.159       -1366.877          48.000          42.000
+ 04  2  1  9 23  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -7745288.41243  -5973460.07642  23213341.976    23213347.970    23213339.568
+     -1929.745       -1503.697          47.000          42.000
+ -17934352.81243 -13958291.35442  21463539.255    21463543.177    21463538.111
+      2383.943        1857.618          54.000          48.000
+ -21818659.91943 -16957045.58642  20896477.143    20896482.803    20896475.481
+      2490.874        1940.941          56.000          49.000
+ -11379269.22743  -8822087.71242  23251945.021    23251950.918    23251943.996
+      3397.054        2647.055          50.000          43.000
+ -19276582.33443 -15009516.12642  21660849.060    21660853.898    21660847.955
+      -399.017        -310.922          55.000          48.000
+  -5035915.88043  -3883211.41742  24380232.405    24380241.755    24380231.636
+     -3567.408       -2779.798          47.000          40.000
+ -22206518.97943 -17248747.84842  20618384.439    20618387.832    20618383.152
+     -1380.223       -1075.498          56.000          50.000
+ -10904690.49743  -8442962.34142  23020876.263    23020884.503    23020874.981
+     -1763.681       -1374.297          49.000          42.000
+ 04  2  1  9 23 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -7687342.88943  -5928307.71642  23224368.541    23224374.787    23224367.293
+     -1933.667       -1506.753          48.000          42.000
+ -18005662.15243 -14013857.02342  21449969.068    21449973.688    21449968.470
+      2369.943        1846.709          54.000          48.000
+ -21893181.17643 -17015114.05342  20882296.446    20882301.644    20882295.067
+      2477.122        1930.225          56.000          50.000
+ -11481098.02243  -8901434.78442  23232566.668    23232573.589    23232566.996
+      3391.486        2642.716          49.000          43.000
+ -19264569.86643 -15000155.75542  21663135.227    21663139.497    21663133.646
+      -401.819        -313.106          55.000          48.000
+  -4928827.46143  -3799766.15442  24400611.005    24400621.442    24400610.636
+     -3572.114       -2783.465          48.000          40.000
+ -22164981.63044 -17216381.08142  20626289.066    20626292.305    20626287.811
+     -1388.987       -1082.327          57.000          50.000
+ -10851644.56943  -8401627.89742  23030971.153    23030977.696    23030968.204
+     -1772.938       -1381.510          49.000          42.000
+ 04  2  1  9 24  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -7629272.60443  -5883058.15142  23235420.058    23235425.489    23235418.475
+     -1937.446       -1509.698          48.000          42.000
+ -18076544.08443 -14069089.66042  21436481.102    21436485.296    21436479.900
+      2355.898        1835.765          54.000          48.000
+ -21967282.59443 -17072855.37742  20868195.299    20868200.870    20868194.095
+      2463.275        1919.435          56.000          50.000
+ -11582745.34743  -8980640.45242  23213224.865    23213230.693    23213224.316
+      3385.500        2638.052          50.000          43.000
+ -19252463.16343 -14990721.95642  21665439.230    21665443.600    21665437.806
+      -404.673        -315.330          55.000          48.000
+  -4821596.77743  -3716210.04842  24421016.079    24421024.515    24421016.744
+     -3576.473       -2786.862          48.000          39.000
+ -22123170.21344 -17183800.75442  20634245.406    20634248.740    20634244.315
+     -1398.045       -1089.386          57.000          50.000
+ -10798312.32743  -8360070.36742  23041119.178    23041125.334    23041117.647
+     -1782.336       -1388.833          48.000          42.000
+ 04  2  1  9 24 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -7571074.61943  -5837709.10442  23246493.673    23246500.464    23246491.716
+     -1941.439       -1512.810          48.000          42.000
+ -18146993.23243 -14123985.05942  21423074.764    21423079.479    21423073.930
+      2341.664        1824.673          54.000          48.000
+ -22040959.03243 -17130265.53842  20854175.207    20854180.415    20854173.595
+      2449.281        1908.531          56.000          50.000
+ -11684205.83943  -9059700.52542  23193916.498    23193922.025    23193916.154
+      3379.494        2633.372          49.000          43.000
+ -19240258.80543 -14981212.06442  21667761.658    21667765.918    21667760.310
+      -408.002        -317.924          55.000          48.000
+  -4714223.78043  -3632543.05242  24441448.713    24441458.020    24441447.187
+     -3580.991       -2790.382          46.000          39.000
+ -22081084.20744 -17151006.47042  20642254.174    20642257.346    20642252.949
+     -1406.962       -1096.334          57.000          50.000
+ -10744694.04543  -8318289.93542  23051321.905    23051328.613    23051320.151
+     -1791.595       -1396.048          47.000          42.000
+ 04  2  1  9 25  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -7512753.32643  -5792263.93742  23257590.884    23257598.148    23257590.747
+     -1945.605       -1516.056          47.000          42.000
+ -18217011.88543 -14178545.01342  21409749.929    21409754.814    21409749.651
+      2327.210        1813.410          54.000          48.000
+ -22114212.43243 -17187346.06542  20840235.562    20840240.487    20840233.687
+      2435.103        1897.483          56.000          50.000
+ -11785481.38243  -9138616.49542  23174645.181    23174651.296    23174644.465
+      3373.267        2628.520          49.000          43.000
+ -19227960.39643 -14971628.89442  21670101.416    21670106.150    21670100.217
+      -411.050        -320.299          55.000          48.000
+  -4606715.29743  -3548770.47942  24461907.742    24461916.775    24461906.718
+     -3585.542       -2793.929          46.000          38.000
+ -22038730.78744 -17118003.80142  20650313.868    20650316.844    20650312.297
+     -1415.754       -1103.185          57.000          50.000
+ -10690797.54843  -8276292.71442  23061580.077    23061584.084    23061577.904
+     -1800.652       -1403.105          49.000          42.000
+ 04  2  1  9 25 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -7454305.80243  -5746720.41142  23268714.073    23268719.440    23268713.535
+     -1950.395       -1519.788          48.000          42.000
+ -18286594.96843 -14232765.56642  21396509.643    21396513.829    21396508.146
+      2311.998        1801.557          54.000          48.000
+ -22187037.70343 -17244092.99642  20826376.974    20826382.724    20826375.768
+      2420.267        1885.922          56.000          50.000
+ -11886566.71943  -9217384.23442  23155408.913    23155413.227    23155407.263
+      3366.285        2623.079          49.000          43.000
+ -19215564.66243 -14961969.89142  21672460.620    21672465.403    21672459.324
+      -414.824        -323.239          55.000          48.000
+  -4499071.42443  -3464892.43542  24482391.053    24482400.964    24482389.453
+     -3590.461       -2797.762          46.000          37.000
+ -21996109.56544 -17084792.45542  20658424.348    20658427.447    20658423.365
+     -1425.248       -1110.583          57.000          50.000
+ -10636623.35243  -8234079.08342  23071888.495    23071894.203    23071886.637
+     -1810.409       -1410.708          49.000          42.000
+ 04  2  1  9 26  0.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -7395735.15443  -5701080.96142  23279859.562    23279866.831    23279858.178
+     -1954.060       -1522.644          47.000          42.000
+ -18355743.18543 -14286647.26042  21383351.044    21383355.106    21383349.748
+      2298.025        1790.669          54.000          48.000
+ -22259435.87443 -17300507.11142  20812600.116    20812605.703    20812598.771
+      2406.523        1875.213          56.000          50.000
+ -11987462.36243  -9296004.18842  23136209.825    23136213.485    23136209.161
+      3360.083        2618.246          50.000          43.000
+ -19203074.03443 -14952236.93242  21674837.662    21674842.130    21674836.309
+      -417.566        -325.376          55.000          48.000
+  -4391297.96743  -3380913.43342  24502900.499    24502909.165    24502899.042
+     -3593.998       -2800.518          46.000          37.000
+ -21953226.32744 -17051376.93842  20666584.636    20666587.735    20666583.285
+     -1433.395       -1116.931          57.000          50.000
+ -10582178.29343  -8191654.41742  23082249.063    23082255.441    23082246.434
+     -1818.973       -1417.381          49.000          43.000
+ 04  2  1  9 26 30.0000000  0  8G27G29G 7G26G 8G13G28G10
+  -7337035.27543  -5655340.81942  23291029.380    23291036.106    23291028.310
+     -1958.756       -1526.303          46.000          41.000
+ -18424448.15843 -14340183.57342  21370276.949    21370280.988    21370276.272
+      2282.948        1778.921          54.000          48.000
+ -22331398.34243 -17356581.72142  20798906.516    20798911.468    20798905.127
+      2391.600        1863.584          56.000          50.000
+ -12088159.79943  -9374469.68842  23117046.606    23117052.599    23117046.426
+      3353.384        2613.026          49.000          43.000
+ -19190481.75543 -14942424.77442  21677233.683    21677238.228    21677232.135
+      -421.236        -328.236          55.000          48.000
+  -4283391.50643  -3296830.76142  24523433.981    24523443.172    24523432.490
+     -3599.217       -2804.585          46.000          37.000
+ -21910077.28044 -17017754.30642  20674795.677    20674799.062    20674794.350
+     -1442.614       -1124.115          57.000          50.000
+ -10527459.46343  -8149016.41342  23092661.421    23092667.994    23092659.672
+     -1828.340       -1424.680          49.000          43.000
+ 04  2  1  9 27  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -7278209.86043  -5609502.84642  23302223.668    23302231.177    23302222.304
+     -1963.179       -1529.750          47.000          42.000
+ -18492711.47543 -14393375.75642  21357286.805    21357291.495    21357286.104
+      2267.758        1767.084          54.000          48.000
+ -22402926.60043 -17412317.98842  20785294.587    20785300.184    20785293.323
+      2376.680        1851.958          56.000          50.000
+ -12188660.10543  -9452781.56942  23097921.686    23097927.207    23097922.148
+      3346.393        2607.579          49.000          43.000
+ -19177791.02143 -14932535.90042  21679649.092    21679653.132    21679647.788
+      -424.940        -331.122          55.000          48.000
+  -4175358.39843  -3212649.43942  24543993.682    24544003.748    24543992.585
+     -3603.351       -2807.806          46.000          38.000
+ -21866668.84744 -16983929.55142  20683056.054    20683059.242    20683054.664
+     -1451.544       -1131.073          57.000          50.000
+ -10472474.12943  -8106170.76342  23103125.013    23103132.194    23103123.135
+     -1837.283       -1431.649          49.000          43.000
+    -86263.01753    -58331.44452  25561111.536    25561118.848    25561107.499
+       504.369         393.015          39.000          33.000
+ 04  2  1  9 27 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -7219260.53843  -5563568.33742  23313441.064    23313447.854    23313441.216
+     -1967.412       -1533.048          47.000          42.000
+ -18560532.44643 -14446223.24242  21344380.586    21344385.274    21344379.338
+      2252.967        1755.559          54.000          48.000
+ -22474020.17343 -17467715.53442  20771766.025    20771771.320    20771764.744
+      2362.263        1840.724          56.000          50.000
+ -12288962.57443  -9530939.29142  23078834.811    23078842.408    23078833.945
+      3339.978        2602.580          49.000          43.000
+ -19165002.92243 -14922571.15242  21682082.110    21682086.384    21682080.986
+      -428.219        -333.677          55.000          48.000
+  -4067202.90643  -3128372.74242  24564573.856    24564583.396    24564572.979
+     -3607.727       -2811.216          45.000          38.000
+ -21823005.27144 -16949905.98342  20691365.195    20691368.012    20691363.921
+     -1459.936       -1137.612          57.000          50.000
+ -10417227.20443  -8063121.24942  23113638.830    23113644.398    23113636.363
+     -1846.351       -1438.715          49.000          43.000
+   -101280.03543    -70032.91842  25558254.363    25558262.021    25558256.165
+       495.416         386.038          41.000          34.000
+ 04  2  1  9 28  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -7160182.45543  -5517533.49142  23324683.735    23324689.978    23324682.736
+     -1971.780       -1536.452          47.000          42.000
+ -18627904.17543 -14498720.67642  21331560.173    21331564.678    21331558.976
+      2237.769        1743.716          54.000          48.000
+ -22544671.93143 -17522768.81042  20758321.239    20758326.757    20758320.070
+      2347.306        1829.070          56.000          50.000
+ -12389059.80943  -9608937.08642  23059787.296    23059792.894    23059787.562
+      3332.985        2597.131          50.000          43.000
+ -19152111.91443 -14912526.21142  21684534.924    21684539.935    21684533.692
+      -431.743        -336.423          55.000          48.000
+  -3958923.40343  -3043999.43542  24585181.610    24585189.656    24585181.100
+     -3611.661       -2814.281          46.000          38.000
+ -21779084.07744 -16915681.67442  20699722.515    20699726.247    20699721.380
+     -1468.573       -1144.342          57.000          50.000
+ -10361717.07643  -8019866.65142  23124201.609    23124206.804    23124200.653
+     -1855.068       -1445.507          49.000          43.000
+   -116016.58743    -81515.87542  25555450.714    25555456.941    25555448.560
+       486.033         378.727          42.000          35.000
+ 04  2  1  9 28 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -7100975.52843  -5471398.23142  23335950.536    23335957.881    23335950.361
+     -1976.283       -1539.961          48.000          42.000
+ -18694824.10843 -14550866.05642  21318825.641    21318830.321    21318824.817
+      2222.505        1731.822          54.000          48.000
+ -22614879.57043 -17577476.02842  20744961.551    20744966.556    20744959.858
+      2332.192        1817.292          56.000          50.000
+ -12488949.08643  -9686772.84942  23040779.551    23040785.136    23040779.619
+      3325.835        2591.560          51.000          44.000
+ -19139117.21143 -14902400.46942  21687007.737    21687012.636    21687006.303
+      -435.540        -339.382          54.000          48.000
+  -3850522.18843  -2959531.31042  24605808.720    24605818.314    24605806.467
+     -3615.784       -2817.494          45.000          38.000
+ -21734907.79744 -16881258.59442  20708129.400    20708132.465    20708128.229
+     -1477.261       -1151.112          57.000          50.000
+ -10305947.37743  -7976409.79742  23134814.365    23134821.010    23134811.993
+     -1863.806       -1452.316          49.000          43.000
+   -130471.38143    -92779.34042  25552700.304    25552704.462    25552699.332
+       476.385         371.209          42.000          35.000
+ 04  2  1  9 29  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -7041641.07743  -5425163.60142  23347241.767    23347248.566    23347241.459
+     -1979.737       -1542.652          48.000          42.000
+ -18761291.62743 -14602658.91342  21306177.662    21306181.925    21306176.664
+      2208.373        1720.810          55.000          48.000
+ -22684642.21543 -17631836.48842  20731685.875    20731691.048    20731684.154
+      2318.350        1806.506          56.000          50.000
+ -12588629.41543  -9764445.77942  23021811.277    23021815.735    23021810.051
+      3319.553        2586.665          50.000          44.000
+ -19126019.66143 -14892194.58842  21689500.331    21689504.559    21689499.002
+      -437.956        -341.264          55.000          48.000
+  -3742003.56143  -2874971.69342  24626460.058    24626469.171    24626459.688
+     -3618.786       -2819.833          46.000          38.000
+ -21690480.46044 -16846639.88642  20716583.642    20716587.081    20716582.552
+     -1484.797       -1156.985          57.000          50.000
+ -10249923.16243  -7932754.63242  23145474.750    23145482.324    23145474.003
+     -1871.281       -1458.141          48.000          43.000
+   -144644.52343   -103823.34542  25550002.731    25550009.827    25550001.705
+       467.204         364.055          41.000          34.000
+ 04  2  1  9 29 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6982181.78543  -5378831.69142  23358557.248    23358562.545    23358556.087
+     -1984.174       -1546.110          48.000          42.000
+ -18827307.22243 -14654099.62142  21293614.668    21293619.394    21293613.990
+      2192.608        1708.526          54.000          48.000
+ -22753960.30343 -17685850.54942  20718495.174    20718499.999    20718493.932
+      2302.709        1794.319          56.000          50.000
+ -12688100.63443  -9841955.76642  23002882.258    23002888.066    23002881.657
+      3311.882        2580.687          50.000          43.000
+ -19112820.99043 -14881909.90342  21692011.808    21692017.115    21692010.743
+      -441.970        -344.392          55.000          48.000
+  -3633372.43743  -2790324.40442  24647130.826    24647140.943    24647128.657
+     -3623.064       -2823.167          45.000          38.000
+ -21645807.16044 -16811829.52242  20725084.886    20725087.647    20725083.471
+     -1493.650       -1163.883          57.000          50.000
+ -10193650.23443  -7888905.65742  23156183.635    23156190.430    23156182.481
+     -1880.257       -1465.135          48.000          43.000
+   -158537.10543   -114648.72342  25547358.636    25547366.240    25547355.852
+       458.172         357.017          44.000          36.000
+ 04  2  1  9 30  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6922566.90643  -5332378.53842  23369899.899    23369906.677    23369898.596
+     -1987.981       -1549.076          47.000          41.000
+ -18892837.90143 -14705162.46642  21281145.079    21281149.110    21281144.076
+      2178.122        1697.238          55.000          48.000
+ -22822801.06943 -17739492.66742  20705395.071    20705400.465    20705393.552
+      2288.604        1783.328          56.000          50.000
+ -12787329.70143  -9919277.07042  22983999.319    22984004.330    22983999.519
+      3305.297        2575.556          50.000          44.000
+ -19099490.21943 -14871522.28042  21694548.617    21694553.283    21694547.111
+      -444.674        -346.499          54.000          48.000
+  -3524601.01943  -2705567.83342  24667829.781    24667840.979    24667829.394
+     -3626.079       -2825.516          45.000          38.000
+ -21600859.75943 -16776805.58142  20733637.712    20733640.648    20733636.420
+     -1500.927       -1169.553          56.000          50.000
+ -10137101.30543  -7844841.60742  23166944.916    23166951.164    23166943.737
+     -1887.688       -1470.926          49.000          43.000
+   -172117.02043   -125230.36142  25544774.200    25544781.133    25544775.015
+       449.498         350.258          44.000          36.000
+ 04  2  1  9 30 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6862845.72943  -5285842.56442  23381265.762    23381271.349    23381264.951
+     -1992.902       -1552.911          48.000          41.000
+ -18957930.82143 -14755884.20242  21268758.471    21268762.693    21268757.618
+      2162.056        1684.719          55.000          48.000
+ -22891211.55543 -17792799.49542  20692376.972    20692382.294    20692375.607
+      2272.773        1770.992          56.000          50.000
+ -12886363.48543  -9996446.19742  22965153.194    22965158.539    22965150.945
+      3297.408        2569.409          49.000          44.000
+ -19086076.10643 -14861069.71742  21697101.285    21697105.680    21697099.940
+      -448.905        -349.796          54.000          48.000
+  -3415741.69743  -2620742.78242  24688545.297    24688555.264    24688545.252
+     -3630.585       -2829.027          46.000          39.000
+ -21555690.14844 -16741608.49242  20742233.424    20742236.381    20742232.397
+     -1509.695       -1176.386          57.000          50.000
+ -10080329.37343  -7800603.78542  23177748.842    23177754.629    23177746.503
+     -1896.559       -1477.838          49.000          43.000
+   -185432.15843   -135605.78242  25542240.723    25542245.677    25542240.125
+       439.144         342.190          42.000          36.000
+ 04  2  1  9 31  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6802995.21843  -5239205.82342  23392653.989    23392660.966    23392653.261
+     -1996.885       -1556.014          47.000          42.000
+ -19022560.52543 -14806244.98642  21256459.479    21256464.006    21256458.676
+      2146.756        1672.797          55.000          48.000
+ -22959166.35143 -17845751.24342  20679445.421    20679451.285    20679444.137
+      2257.839        1759.355          56.000          50.000
+ -12985176.07243 -10073442.96242  22946349.914    22946355.783    22946349.449
+      3290.188        2563.783          49.000          43.000
+ -19072554.24343 -14850533.19542  21699674.849    21699678.783    21699673.578
+      -452.188        -352.354          55.000          48.000
+  -3306773.56143  -2535832.96842  24709281.303    24709293.342    24709281.324
+     -3633.771       -2831.510          46.000          39.000
+ -21510277.44043 -16706221.97642  20750874.803    20750878.108    20750873.737
+     -1517.532       -1182.492          56.000          50.000
+ -10023314.51843  -7756176.68742  23188598.567    23188603.416    23188595.898
+     -1904.077       -1483.696          49.000          43.000
+   -198457.96643   -145755.73942  25539761.870    25539766.201    25539759.982
+       429.442         334.630          44.000          36.000
+ 04  2  1  9 31 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6743012.74843  -5192466.26742  23404068.993    23404075.709    23404068.277
+     -2001.732       -1559.791          47.000          41.000
+ -19086722.31343 -14856241.16042  21244250.060    21244254.137    21244249.291
+      2130.670        1660.262          54.000          48.000
+ -23026660.87043 -17898344.32742  20666601.631    20666606.860    20666600.299
+      2241.885        1746.923          56.000          50.000
+ -13083762.30143 -10150263.34442  22927589.679    22927595.651    22927588.504
+      3282.223        2557.576          49.000          44.000
+ -19058921.78143 -14839910.48442  21702268.449    21702273.039    21702267.195
+      -456.442        -355.669          54.000          48.000
+  -3197696.74443  -2450838.48342  24730040.102    24730049.861    24730037.930
+     -3638.070       -2834.860          46.000          38.000
+ -21464621.84744 -16670646.18842  20759562.918    20759565.833    20759561.860
+     -1526.086       -1189.158          57.000          50.000
+  -9966057.45743  -7711560.85042  23199492.896    23199499.900    23199491.766
+     -1912.509       -1490.267          48.000          43.000
+   -211190.85743   -155677.38642  25537337.938    25537345.099    25537336.215
+       418.983         326.480          40.000          36.000
+ 04  2  1  9 32  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6682900.83743  -5145625.83442  23415508.570    23415513.512    23415506.556
+     -2006.131       -1563.219          49.000          42.000
+ -19150416.73243 -14905873.14442  21232129.749    21232133.649    21232128.887
+      2115.231        1648.232          55.000          48.000
+ -23093695.61043 -17950579.14742  20653845.220    20653850.544    20653844.058
+      2226.716        1735.103          56.000          50.000
+ -13182122.39743 -10226907.51042  22908872.632    22908878.265    22908870.972
+      3274.703        2551.717          50.000          44.000
+ -19045180.48443 -14829202.96642  21704883.423    21704887.947    21704882.031
+      -460.121        -358.536          54.000          48.000
+  -3088516.96043  -2365763.79642  24750815.558    24750824.015    24750815.219
+     -3641.220       -2837.314          46.000          38.000
+ -21418728.46844 -16634885.11342  20768296.156    20768299.599    20768295.277
+     -1533.830       -1195.192          57.000          50.000
+  -9908564.63043  -7666761.28942  23210433.521    23210440.858    23210432.463
+     -1920.524       -1496.512          49.000          42.000
+   -223631.91543   -165371.73142  25534972.911    25534977.379    25534972.033
+       409.625         319.188          42.000          35.000
+ 04  2  1  9 32 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6622658.26643  -5098683.57642  23426971.155    23426977.651    23426970.045
+     -2010.516       -1566.636          49.000          42.000
+ -19213640.35143 -14955138.27542  21220098.439    21220102.345    21220097.922
+      2099.314        1635.829          55.000          48.000
+ -23160267.17343 -18002453.05742  20641177.075    20641182.285    20641175.846
+      2211.102        1722.937          56.000          50.000
+ -13280252.51243 -10303372.47642  22890199.860    22890205.043    22890197.800
+      3266.876        2545.618          50.000          44.000
+ -19031328.77443 -14818409.41342  21707519.497    21707524.212    21707517.976
+      -463.832        -361.427          54.000          48.000
+  -2979235.44243  -2280609.81742  24771610.305    24771620.308    24771608.978
+     -3644.562       -2839.918          44.000          37.000
+ -21372598.47943 -16598939.67242  20777074.112    20777077.556    20777073.260
+     -1541.843       -1201.436          56.000          50.000
+  -9850838.01443  -7621779.57042  23221418.953    23221425.481    23221416.703
+     -1928.289       -1502.563          49.000          42.000
+  -1811198.45043  -1402436.51342  25532658.667    25532664.691    25532660.059
+       399.835         311.560          39.000          34.000
+ 04  2  1  9 33  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6562283.88343  -5051638.62542  23438460.656    23438465.765    23438458.228
+     -2015.445       -1570.477          48.000          42.000
+ -19276389.87943 -15004033.98642  21208157.801    21208161.490    21208156.636
+      2082.967        1623.091          55.000          48.000
+ -23226372.23744 -18053963.45642  20628598.167    20628602.927    20628596.727
+      2194.987        1710.379          57.000          50.000
+ -13378148.80043 -10379655.25342  22871570.834    22871574.480    22871569.055
+      3258.608        2539.175          50.000          44.000
+ -19017364.57143 -14807528.21042  21710176.658    21710180.650    21710175.265
+      -468.150        -364.792          54.000          48.000
+  -2869853.77343  -2195377.85642  24792426.814    24792435.820    24792424.208
+     -3648.433       -2842.935          44.000          37.000
+ -21326233.19643 -16562810.88742  20785897.543    20785900.775    20785896.145
+     -1550.073       -1207.849          56.000          50.000
+  -9792879.96443  -7576617.52442  23232447.401    23232454.990    23232445.089
+     -1936.486       -1508.950          48.000          42.000
+  -1823047.78043  -1411669.68942  25530405.246    25530411.278    25530404.882
+       389.038         303.146          42.000          35.000
+ 04  2  1  9 33 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6501778.90243  -5004491.89642  23449974.243    23449978.295    23449973.434
+     -2018.551       -1572.897          47.000          41.000
+ -19338664.44343 -15052559.59442  21196306.369    21196310.734    21196305.913
+      2068.524        1611.837          55.000          48.000
+ -23292009.93744 -18105109.68142  20616107.762    20616112.843    20616106.088
+      2180.691        1699.240          57.000          50.000
+ -13475809.91743 -10455754.77042  22852985.587    22852990.234    22852984.079
+      3251.992        2534.020          50.000          44.000
+ -19003288.29943 -14796559.67242  21712855.275    21712860.226    21712853.442
+      -470.507        -366.629          54.000          48.000
+  -2760376.01143  -2110071.02542  24813257.313    24813270.193    24813258.223
+     -3650.315       -2844.401          43.000          37.000
+ -21279636.30443 -16526501.62642  20794764.910    20794767.738    20794763.349
+     -1556.543       -1212.891          56.000          50.000
+  -9734695.06943  -7531278.70342  23243520.452    23243527.374    23243519.323
+     -1942.821       -1513.886          48.000          42.000
+  -1834600.08843  -1420671.43742  25528206.971    25528208.917    25528203.138
+       380.973         296.862          39.000          35.000
+ 04  2  1  9 34  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6441140.92043  -4957241.53642  23461512.509    23461518.770    23461511.858
+     -2022.878       -1576.268          46.000          41.000
+ -19400459.60743 -15100711.63742  21184547.262    21184552.127    21184546.581
+      2052.361        1599.242          55.000          48.000
+ -23357175.76944 -18155888.21642  20603706.824    20603712.283    20603705.588
+      2164.800        1686.857          57.000          50.000
+ -13573230.80843 -10531667.09242  22834447.386    22834451.628    22834446.657
+      3243.959        2527.760          50.000          44.000
+ -18989096.73143 -14785501.29342  21715556.033    21715560.279    21715554.629
+      -474.439        -369.693          54.000          48.000
+  -2650802.29443  -2024689.47042  24834111.848    24834119.425    24834110.852
+     -3653.491       -2846.876          45.000          37.000
+ -21232807.93843 -16490011.99142  20803675.865    20803678.887    20803674.280
+     -1564.283       -1218.922          56.000          50.000
+  -9676284.57043  -7485764.06342  23254635.579    23254642.163    23254633.505
+     -1950.250       -1519.675          49.000          42.000
+  -1845851.68253  -1429438.88652  25526067.246    25526066.109    25526064.001
+       370.454         288.665          38.000          34.000
+ 04  2  1  9 34 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6380371.89443  -4909889.08242  23473075.751    23473083.316    23473075.377
+     -2027.741       -1580.058          46.000          41.000
+ -19461775.11643 -15148489.92742  21172879.664    21172883.444    21172878.747
+      2035.825        1586.357          55.000          48.000
+ -23421869.63144 -18206298.98642  20591396.035    20591401.281    20591394.357
+      2148.585        1674.222          57.000          50.000
+ -13670410.91943 -10607391.80342  22815954.176    22815959.120    22815952.684
+      3235.252        2520.976          50.000          44.000
+ -18974791.78143 -14774354.57342  21718277.945    21718282.594    21718276.542
+      -478.724        -373.032          54.000          48.000
+  -2541137.49543  -1939236.98942  24854979.508    24854988.547    24854978.649
+     -3656.914       -2849.543          44.000          36.000
+ -21185752.44043 -16453345.37742  20812629.775    20812633.061    20812628.652
+     -1572.298       -1225.167          56.000          50.000
+  -9617653.47643  -7440077.55542  23265792.017    23265797.627    23265790.985
+     -1958.036       -1525.742          49.000          42.000
+  -1856803.26943  -1437972.51742  25523983.105    25523983.055    25523982.803
+       360.212         280.685          42.000          34.000
+ 04  2  1  9 35  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6319469.06443  -4862432.37842  23484666.412    23484672.567    23484664.692
+     -2032.927       -1584.099          47.000          41.000
+ -19522606.08943 -15195890.65542  21161304.104    21161308.203    21161302.976
+      2019.128        1573.346          55.000          48.000
+ -23486086.61044 -18256338.16142  20579176.021    20579180.659    20579174.426
+      2132.151        1661.416          57.000          50.000
+ -13767344.83143 -10682924.66542  22797508.941    22797513.675    22797507.697
+      3226.581        2514.219          51.000          45.000
+ -18960369.24643 -14763116.21742  21721022.550    21721026.920    21721020.796
+      -483.200        -376.519          54.000          48.000
+  -2431381.37943  -1853713.42042  24875864.147    24875877.086    24875865.426
+     -3660.515       -2852.349          43.000          36.000
+ -21138469.66443 -16416501.66242  20821627.567    20821631.361    20821626.274
+     -1580.343       -1231.436          56.000          50.000
+  -9558802.85443  -7394219.99142  23276991.710    23276996.717    23276990.350
+     -1965.835       -1531.819          48.000          42.000
+  -1867450.39143  -1446268.90542  25521955.223    25521963.385    25521953.672
+       349.599         272.415          41.000          35.000
+ 04  2  1  9 35 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6258433.52943  -4814872.22942  23496280.859    23496287.479    23496279.791
+     -2036.949       -1587.233          47.000          41.000
+ -19582951.60343 -15242913.10342  21149820.638    21149824.733    21149819.571
+      2003.264        1560.985          55.000          48.000
+ -23549826.01444 -18306005.19442  20567046.890    20567051.536    20567045.538
+      2116.603        1649.301          57.000          51.000
+ -13864031.14943 -10758264.60142  22779109.352    22779115.428    22779108.609
+      3218.631        2508.024          50.000          44.000
+ -18945829.76943 -14751786.74742  21723789.531    21723793.735    21723787.902
+      -486.677        -379.229          54.000          48.000
+  -2321537.70743  -1768121.65242  24896770.131    24896780.540    24896766.996
+     -3663.067       -2854.338          44.000          36.000
+ -21090963.24144 -16379483.68142  20830667.743    20830671.491    20830666.675
+     -1587.331       -1236.881          57.000          50.000
+  -9499737.29843  -7348194.94542  23288230.782    23288238.622    23288229.033
+     -1972.331       -1536.881          48.000          42.000
+  -1877792.97943  -1454328.04542  25519988.211    25519992.163    25519988.253
+       339.517         264.559          41.000          34.000
+ 04  2  1  9 36  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6197265.01543  -4767208.49442  23507921.369    23507926.907    23507920.680
+     -2041.987       -1591.159          48.000          42.000
+ -19642809.20743 -15289555.36342  21138430.381    21138434.522    21138429.147
+      1986.303        1547.768          55.000          48.000
+ -23613085.17544 -18355298.00342  20555009.119    20555013.944    20555007.637
+      2099.794        1636.203          57.000          50.000
+ -13960466.72443 -10833409.16642  22760758.239    22760763.171    22760758.005
+      3209.502        2500.911          51.000          44.000
+ -18931172.37243 -14740365.38742  21726578.602    21726583.216    21726577.141
+      -491.383        -382.896          54.000          48.000
+  -2211609.06243  -1682463.65142  24917687.506    24917700.209    24917686.790
+     -3666.473       -2856.992          43.000          36.000
+ -21043235.15643 -16342292.96842  20839750.267    20839753.444    20839748.956
+     -1595.480       -1243.231          56.000          50.000
+  -9440459.68043  -7302004.63842  23299511.244    23299518.414    23299509.913
+     -1980.608       -1543.331          48.000          41.000
+  -1887829.46743  -1462148.65342  25518077.286    25518084.328    25518076.849
+       328.119         255.677          42.000          35.000
+ 04  2  1  9 36 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6135962.84643  -4719440.57942  23519586.065    23519592.563    23519585.331
+     -2045.424       -1593.837          48.000          41.000
+ -19702176.48843 -15335815.56042  21127132.832    21127136.807    21127131.761
+      1971.057        1535.889          55.000          49.000
+ -23675861.72743 -18404214.75042  20543062.492    20543068.266    20543061.191
+      2084.855        1624.562          56.000          50.000
+ -14056648.75943 -10908356.15842  22742455.075    22742460.449    22742454.965
+      3202.031        2495.089          51.000          44.000
+ -18916395.66043 -14728851.05142  21729391.075    21729394.923    21729389.606
+      -494.236        -385.119          55.000          48.000
+  -2101597.51143  -1596741.11442  24938622.844    24938637.833    24938623.148
+     -3667.965       -2858.154          43.000          36.000
+ -20995287.41543 -16304931.10742  20848874.481    20848877.886    20848873.078
+     -1601.642       -1248.033          56.000          50.000
+  -9380973.02443  -7255651.46542  23310830.659    23310838.786    23310828.674
+     -1986.176       -1547.670          47.000          41.000
+  -1897558.48443  -1469729.70342  25516225.650    25516233.294    25516225.967
+       319.206         248.732          42.000          36.000
+ 04  2  1  9 37  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6074527.56943  -4671568.95042  23531277.951    23531283.838    23531276.696
+     -2050.616       -1597.882          48.000          42.000
+ -19761051.53943 -15381692.19742  21115928.806    21115933.230    21115928.230
+      1953.989        1522.589          55.000          49.000
+ -23738153.95744 -18452754.09442  20531208.941    20531214.044    20531207.233
+      2067.884        1611.338          57.000          51.000
+ -14152574.73543 -10983103.61842  22724200.691    22724206.223    22724201.294
+      3192.716        2487.831          51.000          44.000
+ -18901499.34543 -14717243.52842  21732224.783    21732229.615    21732223.563
+      -499.009        -388.838          54.000          48.000
+  -1991505.99043  -1510956.33142  24959575.032    24959587.895    24959575.561
+     -3671.298       -2860.752          43.000          36.000
+ -20947122.66744 -16267400.13842  20858040.382    20858043.455    20858038.888
+     -1609.503       -1254.158          57.000          50.000
+  -9321281.27343  -7209138.48742  23322190.146    23322197.310    23322188.384
+     -1993.516       -1553.389          47.000          41.000
+  -1906978.67243  -1477070.15542  25514433.498    25514439.363    25514432.392
+       308.039         240.030          42.000          35.000
+ 04  2  1  9 37 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -6012956.10243  -4623591.21442  23542993.208    23543001.454    23542992.346
+     -2054.505       -1600.913          47.000          41.000
+ -19819429.52143 -15427181.51742  21104820.125    21104824.748    21104819.760
+      1937.643        1509.852          55.000          49.000
+ -23799956.84444 -18500912.14242  20519448.208    20519453.458    20519447.104
+      2051.992        1598.955          57.000          51.000
+ -14248239.07243 -11057647.22442  22705996.220    22706002.769    22705995.664
+      3184.562        2481.477          50.000          44.000
+ -18886479.90343 -14705540.06142  21735083.672    21735087.378    21735081.994
+      -502.646        -391.672          55.000          48.000
+  -1881334.14443  -1425108.97442  24980541.653    24980552.947    24980542.606
+     -3673.897       -2862.777          43.000          36.000
+ -20898740.40243 -16229699.68042  20867246.651    20867250.014    20867245.735
+     -1616.266       -1259.428          56.000          50.000
+  -9261384.72543  -7162465.90242  23333588.805    23333594.870    23333586.655
+     -1999.797       -1558.283          48.000          41.000
+  -1916085.80643  -1484166.58042  25512701.252    25512707.710    25512700.996
+       298.633         232.701          43.000          36.000
+ 04  2  1  9 38  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -5951251.05743  -4575509.40442  23554736.036    23554741.108    23554734.550
+     -2060.359       -1605.474          47.000          41.000
+ -19877310.85543 -15472283.83242  21093805.563    21093810.038    21093804.786
+      1919.756        1495.914          55.000          49.000
+ -23861271.12744 -18548689.46142  20507780.721    20507785.493    20507779.059
+      2034.495        1585.321          57.000          51.000
+ -14343641.69243 -11131986.88142  22687842.576    22687847.389    22687841.449
+      3174.543        2473.670          50.000          44.000
+ -18871338.80243 -14693741.78742  21737964.893    21737968.793    21737963.555
+      -507.847        -395.725          55.000          48.000
+  -1771087.33743  -1339203.20442  25001521.211    25001535.579    25001521.954
+     -3677.038       -2865.224          42.000          35.000
+ -20850145.70343 -16191833.67842  20876493.945    20876497.399    20876492.522
+     -1624.572       -1265.900          56.000          50.000
+  -9201289.51143  -7115638.51342  23345023.979    23345032.812    23345023.732
+     -2007.479       -1564.269          48.000          41.000
+  -1924881.02443  -1491019.91942  25511026.770    25511031.806    25511025.467
+       286.749         223.441          43.000          36.000
+ 04  2  1  9 38 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -5889412.24343  -4527323.35142  23566503.380    23566510.226    23566502.887
+     -2063.412       -1607.853          46.000          41.000
+ -19934693.50143 -15516997.56742  21082886.098    21082890.318    21082885.370
+      1904.516        1484.038          55.000          49.000
+ -23922094.47844 -18596084.25342  20496206.069    20496210.833    20496204.554
+      2019.268        1573.456          57.000          50.000
+ -14438779.80743 -11206120.42742  22669738.180    22669743.401    22669737.379
+      3166.899        2467.714          51.000          45.000
+ -18856075.31943 -14681848.15342  21740868.823    21740873.487    21740867.751
+      -510.676        -397.929          54.000          48.000
+  -1660767.79043  -1253240.78242  25022512.643    25022531.025    25022514.102
+     -3678.558       -2866.409          40.000          34.000
+ -20801340.69243 -16153803.80942  20885781.088    20885784.726    20885779.703
+     -1630.280       -1270.348          56.000          50.000
+  -9140998.95243  -7068658.91842  23356497.976    23356504.370    23356496.647
+     -2012.594       -1568.255          49.000          42.000
+  -1933363.20443  -1497629.32242  25509412.551    25509417.867    25509412.587
+       277.005         215.848          43.000          36.000
+ 04  2  1  9 39  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -5827437.23143  -4479031.14342  23578297.368    23578303.379    23578295.809
+     -2068.124       -1611.525          46.000          40.000
+ -19991572.95943 -15561319.20342  21072062.606    21072066.328    21072061.666
+      1887.594        1470.852          55.000          49.000
+ -23982422.75443 -18643093.26242  20484725.702    20484730.771    20484724.261
+      2002.708        1560.552          56.000          50.000
+ -14533648.38443 -11280043.96442  22651685.518    22651691.107    22651684.499
+      3157.737        2460.574          51.000          45.000
+ -18840686.09443 -14669856.54442  21743797.575    21743801.846    21743795.924
+      -515.061        -401.346          54.000          48.000
+  -1550376.10543  -1167222.17142  25043521.973    25043533.001    25043519.651
+     -3680.662       -2868.048          41.000          34.000
+ -20752325.56643 -16115610.19542  20895108.498    20895112.193    20895107.291
+     -1637.370       -1275.873          56.000          50.000
+  -9080513.91843  -7021527.80042  23368006.861    23368012.989    23368004.310
+     -2019.456       -1573.602          48.000          41.000
+  -1941528.94743  -1503992.25542  25507859.095    25507864.925    25507859.144
+       266.685         207.806          42.000          36.000
+ 04  2  1  9 39 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -5765326.65043  -4430633.31842  23590116.007    23590122.730    23590116.105
+     -2072.774       -1615.148          47.000          41.000
+ -20047947.88943 -15605247.70342  21061334.684    21061338.883    21061333.750
+      1870.546        1457.568          55.000          49.000
+ -24042254.58344 -18689715.43342  20473340.606    20473345.225    20473338.871
+      1985.952        1547.495          57.000          50.000
+ -14628245.44243 -11353755.90942  22633683.826    22633688.721    22633683.900
+      3148.534        2453.403          51.000          45.000
+ -18825171.26143 -14657767.06542  21746750.496    21746754.664    21746748.723
+      -519.389        -404.719          54.000          48.000
+  -6166175.69043  -4763950.10442  25064541.643    25064553.025    25064535.765
+     -3683.765       -2870.466          39.000          33.000
+ -20703103.31244 -16077255.18242  20904475.580    20904478.459    20904474.116
+     -1644.343       -1281.306          57.000          50.000
+  -9019838.60143  -6974248.39742  23379552.471    23379560.493    23379551.209
+     -2025.768       -1578.520          47.000          41.000
+  -1949377.41243  -1510107.92642  25506363.627    25506368.644    25506361.627
+       256.091         199.551          39.000          34.000
+ 04  2  1  9 40  0.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -5703080.54843  -4382129.88542  23601961.613    23601968.085    23601959.902
+     -2076.853       -1618.327          48.000          41.000
+ -20103816.22543 -15648781.45642  21050703.408    21050707.150    21050702.358
+      1854.069        1444.729          55.000          49.000
+ -24101587.84443 -18735949.11842  20462049.630    20462054.332    20462048.163
+      1969.938        1535.017          56.000          51.000
+ -14722568.17443 -11427254.10142  22615734.636    22615740.634    22615733.522
+      3139.992        2446.747          51.000          45.000
+ -18809529.68043 -14645578.82642  21749726.718    21749730.814    21749725.245
+      -523.023        -407.550          55.000          48.000
+                  -4677826.39052  25085573.822    25085589.061
+     -3684.680       -2871.179          38.000          33.000
+ -20653676.16543 -16038740.51742  20913880.828    20913884.244    20913879.677
+     -1650.598       -1286.180          56.000          50.000
+  -8958976.37343  -6926823.35042  23391135.293    23391141.714    23391133.085
+     -2031.335       -1582.858          48.000          41.000
+  -1956907.21043  -1515975.26342  25504931.281    25504935.673    25504932.357
+       245.810         191.540          41.000          34.000
+ 04  2  1  9 40 30.0000000  0  9G27G29G 7G26G 8G13G28G10G11
+  -5640698.77843  -4333520.71542  23613831.627    23613838.054    23613832.663
+     -2081.590       -1622.018          47.000          40.000
+ -20159175.92443 -15691918.85742  21040168.650    21040172.907    21040167.622
+      1836.622        1431.134          55.000          49.000
+ -24160420.60044 -18781792.78942  20450854.160    20450859.261    20450852.548
+      1952.464        1521.401          57.000          51.000
+ -14816613.81943 -11500536.38542  22597839.026    22597844.477    22597837.743
+      3130.013        2438.971          52.000          45.000
+ -18793760.63543 -14633291.26242  21752726.816    21752731.774    21752725.432
+      -527.951        -411.390          54.000          48.000
+  -5945058.38153  -4591652.87552  25106620.730    25106631.922    25106621.240
+     -3687.469       -2873.352          40.000          32.000
+ -20604046.46343 -16000068.01842  20923325.237    20923328.448    20923324.057
+     -1657.891       -1291.863          56.000          49.000
+  -8897930.49443  -6879255.19442  23402752.807    23402758.253    23402750.650
+     -2038.087       -1588.120          48.000          41.000
+  -1964117.13343  -1521593.35142  25503560.573    25503564.268    25503560.267
+       234.650         182.844          41.000          35.000
+ 04  2  1  9 41  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -5578180.57743  -4284805.27742  23625730.221    23625735.014    23625728.979
+     -2086.637       -1625.951          47.000          41.000
+ -20214024.27143 -15734657.81142  21029731.558    21029735.393    21029730.378
+      1819.210        1417.566          55.000          49.000
+ -24218750.11144 -18827244.32042  20439754.144    20439759.195    20439752.714
+      1935.382        1508.090          57.000          51.000
+ -14910378.94443 -11573600.08042  22579995.325    22580000.126    22579994.924
+      3120.181        2431.310          52.000          45.000
+ -18777862.56643 -14620903.15742  21755752.495    21755757.107    21755751.014
+      -532.575        -414.993          54.000          48.000
+ -20554215.78543 -15961238.91642  20932807.707    20932810.380    20932806.169
+     -1664.856       -1297.290          56.000          49.000
+  -8836703.55643  -6831545.95242  23414403.796    23414410.659    23414401.375
+     -2044.421       -1593.055          48.000          41.000
+  -1971005.03043  -1526960.55642  25502248.575    25502254.709    25502247.857
+       223.855         174.432          41.000          35.000
+ 04  2  1  9 41 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -5515523.04543  -4235981.22242  23637651.868    23637658.210    23637650.344
+     -2090.118       -1628.663          46.000          40.000
+ -20268356.52243 -15776994.60942  21019391.975    21019396.442    21019391.214
+      1803.180        1405.075          55.000          49.000
+ -24276571.77344 -18872300.13942  20428751.308    20428756.238    20428749.781
+      1919.715        1495.882          57.000          51.000
+ -15003858.09843 -11646440.93742  22562207.747    22562212.470    22562206.508
+      3111.969        2424.911          52.000          45.000
+ -18761831.80143 -14608411.66042  21758803.410    21758807.303    21758802.134
+      -535.690        -417.421          55.000          48.000
+ -20504183.66443 -15922252.83942  20942327.871    20942331.538    20942327.067
+     -1670.280       -1301.517          56.000          49.000
+  -8775296.21843  -6783696.13942  23426088.541    23426095.410    23426086.329
+     -2049.201       -1596.780          48.000          41.000
+  -1977567.18443  -1532073.86442  25501001.540    25501005.785    25500999.833
+       213.826         166.618          43.000          36.000
+ 04  2  1  9 42  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -5452731.21943  -4187052.56342  23649601.793    23649606.020    23649600.322
+     -2096.361       -1633.528          47.000          40.000
+ -20322175.80443 -15818931.69142  21009150.578    21009154.782    21009149.878
+      1784.521        1390.536          55.000          49.000
+ -24333888.69843 -18916962.64242  20417843.743    20417849.361    20417842.561
+      1901.304        1481.536          56.000          51.000
+ -15097053.51643 -11719060.70542  22544473.354    22544478.428    22544472.362
+      3100.889        2416.277          52.000          45.000
+ -18745672.58243 -14595820.06342  21761878.035    21761882.259    21761876.607
+      -541.643        -422.059          54.000          48.000
+ -20453957.46143 -15883115.52142  20951886.215    20951889.170    20951884.985
+     -1678.295       -1307.762          56.000          49.000
+  -8713717.03043  -6735712.44242  23437806.273    23437813.128    23437805.133
+     -2056.606       -1602.550          48.000          41.000
+  -1983807.33453  -1536936.36152  25499811.513    25499818.850    25499810.871
+       201.787         157.237          42.000          35.000
+ 04  2  1  9 42 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -5389802.54443  -4138017.22842  23661576.955    23661582.018    23661575.493
+     -2100.382       -1636.661          46.000          41.000
+ -20375477.43043 -15860465.40742  20999008.197    20999012.041    20999007.217
+      1767.595        1377.347          55.000          49.000
+ -24390696.35644 -18961228.32342  20407034.025    20407039.084    20407032.743
+      1884.666        1468.571          57.000          51.000
+ -15189960.01643 -11791455.33442  22526793.220    22526798.589    22526793.088
+      3091.614        2409.050          51.000          45.000
+ -18729381.28143 -14583125.55042  21764978.366    21764982.561    21764977.395
+      -545.727        -425.242          55.000          48.000
+ -20403536.94743 -15843826.80242  20961481.198    20961484.246    20961479.744
+     -1684.349       -1312.480          56.000          49.000
+  -8651966.89843  -6687595.51642  23449556.902    23449563.730    23449554.858
+     -2061.583       -1606.428          47.000          41.000
+  -1989721.85243  -1541545.03142  25498687.944    25498689.258    25498686.901
+       191.166         148.961          42.000          35.000
+ 04  2  1  9 43  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -5326731.30043  -4088870.80942  23673578.172    23673585.551    23673577.115
+     -2103.625       -1639.188          44.000          40.000
+ -20428253.92043 -15901589.92942  20988964.266    20988968.775    20988963.779
+      1751.234        1364.598          55.000          49.000
+ -24446987.31144 -19005091.37542  20396322.201    20396326.888    20396320.887
+      1868.464        1455.946          57.000          51.000
+ -15282569.13643 -11863618.24542  22509169.569    22509175.727    22509169.153
+      3082.797        2402.179          51.000          45.000
+ -18712951.68643 -14570323.26942  21768104.391    21768108.713    21768103.117
+      -549.136        -427.898          54.000          48.000
+ -20352918.84543 -15804384.11542  20971113.420    20971116.247    20971111.927
+     -1689.736       -1316.677          56.000          49.000
+  -8590043.33843  -6639343.46642  23461339.978    23461347.382    23461338.683
+     -2066.166       -1609.999          48.000          41.000
+  -1995303.54043  -1545894.35042  25497623.826    25497629.070    25497625.169
+       181.331         141.297          43.000          34.000
+ 04  2  1  9 43 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -5263524.47543  -4039618.77242  23685605.056    23685612.728    23685603.247
+     -2108.374       -1642.889          44.000          39.000
+ -20480510.48043 -15942309.30342  20979020.380    20979024.742    20979019.602
+      1733.747        1350.972          55.000          49.000
+ -24502766.76144 -19048555.84842  20385707.853    20385712.567    20385705.981
+      1851.208        1442.500          57.000          51.000
+ -15374885.36143 -11935552.91742  22491601.448    22491608.165    22491602.091
+      3072.701        2394.312          51.000          45.000
+ -18696389.88943 -14557417.97942  21771256.273    21771261.257    21771254.454
+      -553.741        -431.486          54.000          48.000
+ -20302112.42743 -15764794.68842  20980780.938    20980784.638    20980779.819
+     -1696.169       -1321.690          56.000          49.000
+  -8527956.74543  -6590964.39242  23473156.063    23473162.019    23473153.755
+     -2071.859       -1614.435          49.000          41.000
+  -2000558.54343  -1549989.10842  25496624.697    25496629.463    25496624.978
+       170.074         132.525          43.000          36.000
+ 04  2  1  9 44  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -5200177.62543  -3990257.60242  23697658.717    23697667.320    23697659.044
+     -2113.042       -1646.526          45.000          40.000
+ -20532240.36943 -15982618.29642  20969176.465    20969180.807    20969175.373
+      1716.546        1337.568          55.000          49.000
+ -24558028.04444 -19091616.54842  20375191.747    20375196.530    20375190.451
+      1834.427        1429.424          57.000          51.000
+ -15466901.17243 -12007253.51742  22474092.619    22474097.491    22474092.014
+      3063.215        2386.921          51.000          45.000
+ -18679690.33443 -14544405.35242  21774433.611    21774438.678    21774432.214
+      -557.991        -434.798          54.000          48.000
+ -20251115.38743 -15725056.74242  20990485.766    20990489.011    20990484.467
+     -1702.102       -1326.313          56.000          49.000
+  -8465705.80743  -6542457.23242  23485001.832    23485009.975    23485000.791
+     -2076.845       -1618.321          48.000          41.000
+  -2005481.00743  -1553824.72942  25495690.007    25495693.320    25495686.704
+       159.405         124.212          43.000          37.000
+ 04  2  1  9 44 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -5136698.04843  -3940793.00942  23709739.272    23709746.607    23709738.503
+     -2118.577       -1650.839          44.000          40.000
+ -20583449.40943 -16022521.42542  20959431.913    20959435.975    20959431.063
+      1698.066        1323.168          55.000          49.000
+ -24612777.03744 -19134278.05542  20364773.183    20364778.111    20364771.643
+      1816.141        1415.175          57.000          51.000
+ -15558621.38943 -12078723.77142  22456638.441    22456643.591    22456638.270
+      3052.208        2378.344          51.000          45.000
+ -18662859.79443 -14531290.65442  21777636.853    21777640.925    21777635.044
+      -563.511        -439.099          54.000          48.000
+ -20199937.41443 -15685177.79442  21000224.370    21000228.103    21000223.245
+     -1709.157       -1331.811          56.000          49.000
+  -8403301.60943  -6493830.65242  23496876.800    23496884.046    23496876.726
+     -2082.835       -1622.988          48.000          41.000
+  -2010077.19643  -1557406.18542  25494814.071    25494818.405    25494812.652
+       147.305         114.783          45.000          37.000
+ 04  2  1  9 45  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -5073074.84143  -3891216.51142  23721846.068    23721854.371    23721846.614
+     -2123.370       -1654.574          45.000          40.000
+ -20634124.72743 -16062008.66542  20949788.605    20949792.812    20949787.691
+      1679.988        1309.082          56.000          49.000
+ -24667001.01144 -19176530.46542  20354454.484    20354459.672    20354453.268
+      1798.535        1401.456          57.000          51.000
+ -15650032.37343 -12149953.06442  22439243.358    22439249.047    22439242.928
+      3041.669        2370.132          51.000          45.000
+ -18645886.30443 -14518064.55542  21780866.633    21780871.251    21780865.322
+      -568.268        -442.806          54.000          48.000
+ -20148569.89743 -15645151.15142  21009999.645    21010002.833    21009998.000
+     -1715.558       -1336.798          56.000          49.000
+  -8340736.68743  -6445078.82842  23508782.328    23508790.390    23508782.134
+     -2088.363       -1627.296          48.000          41.000
+  -2014335.26843  -1560724.13542  25494003.166    25494007.647    25494001.726
+       136.153         106.093          44.000          38.000
+ 04  2  1  9 45 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -5009316.54343  -3841534.76042  23733980.620    23733986.054    23733979.587
+     -2127.267       -1657.611          47.000          41.000
+ -20684272.91243 -16101085.15642  20940245.762    20940250.263    20940245.016
+      1663.223        1296.018          56.000          49.000
+ -24720706.56944 -19218378.91042  20344234.624    20344239.924    20344233.277
+      1781.949        1388.532          57.000          51.000
+ -15741139.99443 -12220945.97342  22421906.839    22421912.045    22421905.736
+      3032.264        2362.803          51.000          45.000
+ -18628777.66443 -14504733.14642  21784122.371    21784127.230    21784120.873
+      -572.171        -445.847          54.000          48.000
+ -20097023.65643 -15604985.24742  21019807.800    21019811.891    21019807.107
+     -1720.774       -1340.863          56.000          49.000
+  -8278022.67943  -6396210.84642  23520717.231    23520724.404    23520716.204
+     -2092.396       -1630.438          48.000          41.000
+  -2018262.64843  -1563784.39242  25493256.742    25493262.221    25493257.434
+       125.695          97.944          46.000          38.000
+ 04  2  1  9 46  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4945415.47043  -3791741.75742  23746139.999    23746145.795    23746138.628
+     -2132.661       -1661.814          45.000          39.000
+ -20733884.54943 -16139743.55042  20930805.101    20930809.604    20930804.436
+      1644.681        1281.570          56.000          49.000
+ -24773884.30444 -19259816.06442  20334115.391    20334120.382    20334113.946
+      1763.717        1374.325          57.000          51.000
+ -15831933.77043 -12291694.31842  22404630.100    22404634.768    22404628.189
+      3021.127        2354.125          51.000          45.000
+ -18611525.37443 -14491289.79442  21787405.733    21787410.165    21787404.275
+      -577.626        -450.098          54.000          48.000
+ -20045293.06943 -15564675.69542  21029652.348    21029655.682    21029651.631
+     -1727.506       -1346.108          56.000          49.000
+  -8215155.38243  -6347223.40742  23532680.202    23532687.951    23532677.481
+     -2098.313       -1635.049          48.000          41.000
+  -2021850.33543  -1566579.95842  25492574.613    25492580.044    25492572.773
+       113.800          88.675          45.000          39.000
+ 04  2  1  9 46 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4881377.02643  -3741841.69242  23758326.356    23758333.149    23758325.981
+     -2137.179       -1665.334          46.000          40.000
+ -20782963.30343 -16177986.71542  20921465.739    20921470.054    20921464.981
+      1626.867        1267.689          56.000          49.000
+ -24826537.90444 -19300844.81042  20324095.851    20324100.605    20324094.443
+      1746.126        1360.618          57.000          51.000
+ -15922416.33543 -12362200.16442  22387410.402    22387416.019    22387409.792
+      3010.683        2345.987          51.000          45.000
+ -18594133.68043 -14477737.81942  21790715.353    21790719.583    21790713.993
+      -582.242        -453.695          54.000          48.000
+ -19993386.08943 -15524228.69642  21039529.424    21039533.277    21039528.591
+     -1733.385       -1350.690          56.000          49.000
+  -8152143.58843  -6298123.39842  23544671.760    23544677.615    23544670.806
+     -2103.089       -1638.771          48.000          41.000
+  -2025102.59743  -1569114.16242  25491954.291    25491959.820    25491954.231
+       102.506          79.875          43.000          38.000
+ 04  2  1  9 47  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4817198.49443  -3691832.49142  23770539.555    23770545.284    23770537.207
+     -2141.907       -1669.018          47.000          41.000
+ -20831504.50143 -16215811.00542  20912228.533    20912232.777    20912227.533
+      1608.958        1253.734          55.000          49.000
+ -24878663.10744 -19341461.82142  20314176.699    20314181.810    20314175.290
+      1728.578        1346.944          57.000          51.000
+ -16012582.41843 -12432459.40842  22370253.007    22370257.765    22370252.174
+      3000.023        2337.680          51.000          45.000
+ -18576599.24743 -14464074.61942  21794051.521    21794055.843    21794050.111
+      -586.964        -457.374          54.000          48.000
+ -19941302.17043 -15483643.83142  21049441.120    21049444.472    21049439.887
+     -1739.210       -1355.228          56.000          49.000
+  -8088987.79043  -6248911.15942  23556689.501    23556694.930    23556688.750
+     -2107.724       -1642.382          48.000          41.000
+  -2028015.49343  -1571383.97242  25491401.282    25491404.140    25491398.698
+        91.256          71.109          43.000          37.000
+ 04  2  1  9 47 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4752880.94443  -3641714.95642  23782778.186    23782785.117    23782776.894
+     -2145.813       -1672.062          47.000          41.000
+ -20879507.44743 -16253215.86942  20903093.418    20903097.810    20903092.632
+      1591.307        1239.979          55.000          49.000
+ -24930259.11344 -19381666.47142  20304358.357    20304363.220    20304356.945
+      1711.245        1333.438          57.000          51.000
+ -16102430.32443 -12502470.71442  22353154.890    22353159.618    22353153.966
+      2989.992        2329.864          51.000          45.000
+ -18558922.26143 -14450300.32642  21797415.442    21797419.505    21797414.158
+      -591.375        -460.812          54.000          48.000
+ -19889044.73143 -15442923.74642  21059385.650    21059388.968    21059384.211
+     -1744.500       -1359.351          56.000          49.000
+  -8025692.52143  -6199590.23942  23568734.139    23568741.464    23568732.695
+     -2111.874       -1645.616          48.000          41.000
+  -2030589.41343  -1573389.59242  25490910.337    25490915.773    25490909.489
+        80.647          62.842          41.000          37.000
+ 04  2  1  9 48  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4688421.69843  -3591486.97042  23795043.908    23795051.394    23795043.999
+     -2150.902       -1676.027          46.000          40.000
+ -20926967.73543 -16290197.88842  20894062.501    20894066.628    20894061.608
+      1573.115        1225.804          56.000          49.000
+ -24981321.58843 -19421455.38842  20294641.057    20294646.184    20294639.700
+      1693.227        1319.398          56.000          51.000
+ -16191954.49043 -12572229.75042  22336119.228    22336124.656    22336118.856
+      2978.924        2321.239          52.000          45.000
+ -18541099.02043 -14436412.06942  21800807.289    21800811.650    21800805.567
+      -596.502        -464.807          54.000          48.000
+ -19836613.00843 -15402067.85542  21069362.663    21069365.944    21069361.652
+     -1750.430       -1363.971          56.000          49.000
+  -7962258.42643  -6150161.16842  23580805.739    23580814.850    23580804.920
+     -2116.525       -1649.240          48.000          41.000
+  -2032820.67543  -1575128.20742  25490485.657    25490492.060    25490485.814
+        68.820          53.626          42.000          36.000
+ 04  2  1  9 48 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4623821.57543  -3541149.26942  23807337.834    23807345.655    23807336.315
+     -2155.825       -1679.864          46.000          40.000
+ -20973884.34743 -16326756.26242  20885134.422    20885139.070    20885133.343
+      1554.740        1211.486          56.000          49.000
+ -25031849.58344 -19460827.81942  20285026.267    20285031.037    20285024.664
+      1675.310        1305.436          57.000          51.000
+ -16281153.29643 -12641735.27642  22319145.115    22319150.568    22319144.630
+      2967.790        2312.564          52.000          46.000
+ -18523129.72143 -14422410.01342  21804226.423    21804230.827    21804224.813
+      -601.366        -468.597          54.000          48.000
+ -19784010.40743 -15361078.81842  21079373.156    21079375.813    21079371.717
+     -1756.320       -1368.561          56.000          49.000
+  -7898689.78943  -6100627.23342  23592901.780    23592909.348    23592898.882
+     -2121.206       -1652.888          47.000          40.000
+  -2034708.54643  -1576599.24442  25490126.073    25490132.290    25490124.165
+        56.909          44.345          39.000          36.000
+ 04  2  1  9 49  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4559079.44943  -3490700.89042  23819656.856    23819664.848    23819656.610
+     -2160.768       -1683.715          46.000          40.000
+ -21020254.66943 -16362888.95042  20876310.712    20876314.840    20876309.793
+      1536.142        1196.994          56.000          49.000
+ -25081840.29644 -19499781.58242  20275513.298    20275518.301    20275511.766
+      1657.056        1291.212          57.000          51.000
+ -16370022.65243 -12710984.07242  22302233.512    22302239.266    22302233.025
+      2956.574        2303.824          52.000          46.000
+ -18505012.03143 -14408292.32242  21807674.115    21807678.619    21807672.475
+      -606.757        -472.798          54.000          48.000
+ -19731237.65543 -15319957.19542  21089415.082    21089418.291    21089413.751
+     -1762.226       -1373.163          56.000          49.000
+  -7834988.71043  -6050990.11342  23605023.799    23605030.595    23605021.122
+     -2125.926       -1656.566          48.000          41.000
+  -2036251.30643  -1577801.36342  25489833.240    25489837.928    25489832.445
+        45.669          35.586          40.000          34.000
+ 04  2  1  9 49 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4494200.50443  -3440145.91642  23832004.270    23832011.163    23832001.839
+     -2165.232       -1687.194          46.000          40.000
+ -21066081.80443 -16398598.38042  20867590.037    20867593.822    20867588.897
+      1518.320        1183.106          56.000          49.000
+ -25131297.35944 -19538319.51742  20266102.190    20266106.750    20266100.585
+      1639.525        1277.552          57.000          51.000
+ -16458564.89243 -12779977.98342  22285385.159    22285390.631    22285385.007
+      2945.838        2295.458          52.000          46.000
+ -18486750.41443 -14394062.47642  21811149.480    21811153.584    21811147.882
+      -611.264        -476.310          54.000          48.000
+ -19678302.16943 -15278708.77042  21099488.315    21099491.533    21099486.910
+     -1767.371       -1377.172          56.000          49.000
+  -7771163.87843  -6001256.52642  23617169.992    23617175.996    23617167.576
+     -2129.797       -1659.582          48.000          41.000
+  -2037452.47943  -1578737.36342  25489605.578    25489608.966    25489604.419
+        34.338          26.757          44.000          37.000
+ 04  2  1  9 50  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4429177.54543  -3389478.70042  23844377.416    23844382.857    23844376.885
+     -2169.524       -1690.538          45.000          40.000
+ -21111357.13243 -16433877.83142  20858974.494    20858978.573    20858973.421
+      1500.407        1169.148          56.000          49.000
+ -25180211.95344 -19576434.75742  20256793.592    20256798.763    20256792.189
+      1621.881        1263.803          57.000          51.000
+ -16546770.43443 -12848709.53742  22268600.411    22268604.872    22268600.103
+      2935.057        2287.057          52.000          46.000
+ -18468336.56943 -14379714.00942  21814653.086    21814657.885    21814651.640
+      -615.978        -479.983          54.000          48.000
+ -19625199.07243 -15237329.74942  21109593.527    21109596.964    21109592.377
+     -1772.480       -1381.153          56.000          49.000
+  -7707211.35543  -5951423.49142  23629339.694    23629346.700    23629336.358
+     -2133.537       -1662.496          48.000          41.000
+  -2038304.35243  -1579401.16142  25489442.902    25489448.191    25489440.173
+        22.802          17.768          44.000          37.000
+ 04  2  1  9 50 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4364015.13043  -3338702.81042  23856777.724    23856783.685    23856776.725
+     -2174.889       -1694.719          45.000          39.000
+ -21156083.39243 -16468729.43442  20850462.723    20850467.291    20850462.212
+      1481.307        1154.265          56.000          50.000
+ -25228586.93644 -19614129.52142  20247588.376    20247593.294    20247586.807
+      1603.062        1249.139          57.000          51.000
+ -16634640.78143 -12917179.89842  22251878.147    22251884.184    22251878.299
+      2923.033        2277.688          52.000          46.000
+ -18449774.41743 -14365249.98042  21818185.394    21818190.019    21818183.888
+      -621.481        -484.271          54.000          48.000
+ -19571935.08843 -15195825.35442  21119729.402    21119732.902    21119728.130
+     -1778.467       -1385.818          56.000          49.000
+  -7643138.88243  -5901496.96942  23641531.382    23641538.184    23641531.228
+     -2138.137       -1666.081          47.000          41.000
+  -2038810.48043  -1579795.50042  25489345.951    25489351.352    25489344.771
+        11.037           8.600          43.000          38.000
+ 04  2  1  9 51  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4298708.47643  -3287814.54942  23869205.334    23869210.757    23869204.150
+     -2179.345       -1698.191          46.000          39.000
+ -21200254.13243 -16503148.17042  20842057.945    20842061.846    20842056.786
+      1463.131        1140.102          56.000          50.000
+ -25276415.89944 -19651398.81042  20238486.529    20238491.459    20238485.151
+      1585.224        1235.239          57.000          51.000
+ -16722168.38843 -12985383.19042  22235223.267    22235228.330    22235222.314
+      2911.924        2269.032          52.000          46.000
+ -18431057.97043 -14350665.71942  21821747.321    21821751.298    21821745.373
+      -626.419        -488.119          54.000          48.000
+ -19518507.49443 -15154193.46642  21129896.409    21129899.642    21129895.031
+     -1783.599       -1389.817          56.000          49.000
+  -7578944.97943  -5851475.82142  23653747.172    23653755.389    23653745.616
+     -2142.190       -1669.239          47.000          41.000
+  -2038965.07543  -1579915.94942  25489316.565    25489322.812    25489315.633
+         -.659           -.513          46.000          38.000
+ 04  2  1  9 51 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4233262.35143  -3236817.58442  23881658.925    23881664.882    23881657.711
+     -2183.798       -1701.661          46.000          39.000
+ -21243872.49643 -16537136.48242  20833757.019    20833761.655    20833756.021
+      1444.623        1125.680          56.000          50.000
+ -25323702.16744 -19688245.21842  20229488.548    20229493.283    20229486.792
+      1567.208        1221.201          57.000          51.000
+ -16809355.50143 -13053321.16242  22218631.805    22218636.556    22218630.899
+      2900.688        2260.276          52.000          46.000
+ -18412191.37043 -14335964.47742  21825337.496    21825341.755    21825335.806
+      -631.397        -491.998          54.000          48.000
+ -19464923.24843 -15112439.51142  21140093.397    21140096.775    21140091.538
+     -1788.706       -1393.797          56.000          49.000
+  -7514637.73343  -5801366.35742  23665984.471    23665991.162    23665983.884
+     -2145.317       -1671.675          47.000          40.000
+  -2038771.59143  -1579765.13642  25489352.681    25489358.511    25489352.501
+       -12.465          -9.713          45.000          38.000
+ 04  2  1  9 52  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4167675.49943  -3185710.96542  23894138.924    23894146.018    23894138.071
+     -2189.251       -1705.910          45.000          40.000
+ -21286935.60043 -16570692.12842  20825562.552    20825567.059    20825561.567
+      1425.650        1110.896          56.000          50.000
+ -25370442.93244 -19724666.54842  20220593.791    20220598.544    20220592.440
+      1548.387        1206.535          57.000          51.000
+ -16896198.05143 -13120990.65642  22202105.994    22202111.044    22202105.434
+      2888.413        2250.711          53.000          46.000
+ -18393172.18143 -14321144.32042  21828956.652    21828960.667    21828955.183
+      -636.938        -496.315          54.000          48.000
+ -19411183.29443 -15070564.23142  21150319.503    21150323.198    21150318.232
+     -1794.480       -1398.296          56.000          49.000
+  -7450219.27543  -5751170.25142  23678242.871    23678251.299    23678242.688
+     -2149.509       -1674.942          47.000          41.000
+  -2038228.10143  -1579341.64942  25489455.814    25489461.299    25489455.518
+       -24.274         -18.915          46.000          40.000
+ 04  2  1  9 52 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4101946.25643  -3134493.39842  23906647.752    23906653.749    23906645.955
+     -2193.448       -1709.180          45.000          40.000
+ -21329440.09443 -16603812.50042  20817474.099    20817478.229    20817473.385
+      1407.255        1096.562          56.000          50.000
+ -25416634.87644 -19760660.23342  20211803.649    20211808.503    20211802.095
+      1530.236        1192.392          57.000          51.000
+ -16982691.56943 -13188388.16442  22185646.652    22185651.537    22185646.121
+      2876.992        2241.812          53.000          46.000
+ -18373997.85543 -14306203.27442  21832605.280    21832609.471    21832603.807
+      -641.970        -500.236          54.000          48.000
+ -19357287.85843 -15028567.79242  21160575.465    21160578.619    21160574.153
+     -1799.428       -1402.152          56.000          49.000
+  -7385691.40343  -5700888.85942  23690522.741    23690530.059    23690521.236
+     -2152.953       -1677.626          47.000          41.000
+  -2037331.95243  -1578643.31242  25489627.601    25489632.751    25489626.869
+       -36.043         -28.085          46.000          39.000
+ 04  2  1  9 53  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -4036072.15143  -3083162.96042  23919183.907    23919189.696    23919181.672
+     -2198.492       -1713.111          47.000          40.000
+ -21371381.85243 -16636494.37642  20809493.003    20809497.461    20809492.102
+      1388.160        1081.683          56.000          50.000
+ -25462274.00844 -19796223.15342  20203118.835    20203123.785    20203117.319
+      1511.603        1177.872          57.000          51.000
+ -17068830.76043 -13255509.58142  22169253.839    22169259.879    22169254.070
+      2864.905        2232.394          52.000          46.000
+ -18354665.03543 -14291138.74242  21836283.982    21836288.862    21836282.369
+      -647.497        -504.543          54.000          48.000
+ -19303236.79443 -14986450.08842  21170860.783    21170864.094    21170859.785
+     -1804.719       -1406.274          56.000          49.000
+  -7321054.72743  -5650522.70242  23702824.182    23702830.310    23702821.322
+     -2156.906       -1680.706          47.000          41.000
+  -2036079.66443  -1577667.45242  25489865.632    25489871.665    25489863.489
+       -48.225         -37.578          45.000          38.000
+ 04  2  1  9 53 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3970059.21143  -3031724.32742  23931745.055    23931751.104    23931743.657
+     -2203.617       -1717.104          47.000          40.000
+ -21412765.28643 -16668741.19642  20801618.086    20801622.334    20801617.118
+      1369.516        1067.155          56.000          50.000
+ -25507364.72844 -19831358.74642  20194538.754    20194543.092    20194537.117
+      1493.246        1163.568          57.000          51.000
+ -17154618.97843 -13322357.51542  22152930.611    22152934.957    22152929.960
+      2853.089        2223.186          52.000          46.000
+ -18335178.68843 -14275954.57642  21839992.715    21839996.622    21839990.974
+      -652.819        -508.690          54.000          48.000
+ -19249037.90343 -14944217.20342  21181174.517    21181178.046    21181173.541
+     -1809.699       -1410.155          56.000          49.000
+  -7256318.45143  -5600078.95742  23715141.265    23715149.765    23715140.069
+     -2160.002       -1683.118          46.000          40.000
+  -2034476.06543  -1576417.85042  25490171.231    25490175.771    25490168.515
+       -59.947         -46.712          46.000          38.000
+ 04  2  1  9 54  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3903900.44643  -2980172.07242  23944336.220    23944341.481    23944334.122
+     -2207.177       -1719.878          46.000          40.000
+ -21453581.96043 -16700546.38742  20793850.899    20793855.104    20793850.033
+      1351.695        1053.269          56.000          50.000
+ -25551898.74644 -19866060.55642  20186063.900    20186068.552    20186062.567
+      1475.872        1150.030          57.000          51.000
+ -17240046.41443 -13388924.32042  22136673.638    22136678.590    22136672.753
+      2842.266        2214.753          52.000          46.000
+ -18315530.84343 -14260644.57942  21843730.787    21843735.738    21843729.721
+      -656.895        -511.866          54.000          48.000
+ -19194686.48643 -14901865.45042  21191517.621    21191521.043    21191516.258
+     -1813.614       -1413.206          56.000          49.000
+  -7191478.94843  -5549554.75942  23727480.470    23727487.998    23727477.469
+     -2162.683       -1685.207          46.000          40.000
+  -2032513.31143  -1574888.35442  25490543.646    25490549.972    25490543.661
+       -70.779         -55.152          45.000          37.000
+ 04  2  1  9 54 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3837601.46643  -2928510.56042  23956950.477    23956957.039    23956949.644
+     -2212.845       -1724.295          46.000          40.000
+ -21493835.80143 -16731913.00542  20786191.003    20786194.810    20786190.250
+      1331.963        1037.893          56.000          50.000
+ -25595880.07544 -19900331.69742  20177694.616    20177699.224    20177693.151
+      1456.282        1134.765          57.000          51.000
+ -17325115.96543 -13455212.25142  22120485.031    22120490.367    22120484.961
+      2829.256        2204.615          52.000          46.000
+ -18295726.41543 -14245212.54942  21847500.181    21847504.426    21847498.365
+      -663.294        -516.852          54.000          48.000
+ -19140190.23743 -14859400.84742  21201887.702    21201891.112    21201886.746
+     -1819.447       -1417.751          56.000          49.000
+  -7126545.08943  -5498957.01942  23739836.323    23739844.304    23739836.623
+     -2165.944       -1687.748          46.000          40.000
+  -2030196.03643  -1573082.66442  25490985.426    25490992.052    25490984.603
+       -84.116         -65.545          42.000          36.000
+ 04  2  1  9 55  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3771158.86643  -2876737.15342  23969593.832    23969601.362    23969592.897
+     -2216.974       -1727.512          46.000          40.000
+ -21533521.82443 -16762837.16642  20778638.470    20778642.635    20778637.867
+      1313.652        1023.625          56.000          50.000
+ -25639303.92944 -19934168.44542  20169431.185    20169435.962    20169429.614
+      1438.457        1120.876          57.000          51.000
+ -17409821.52843 -13521216.54942  22104367.099    22104371.437    22104365.758
+      2817.801        2195.689          53.000          46.000
+ -18275760.52743 -14229654.72742  21851299.249    21851303.937    21851297.816
+      -667.958        -520.487          54.000          48.000
+ -19085547.85643 -14816822.37042  21212286.089    21212288.870    21212284.883
+     -1823.530       -1420.932          56.000          49.000
+  -7061516.59243  -5448285.54142  23752210.991    23752217.781    23752209.644
+     -2169.123       -1690.226          46.000          40.000
+  -2027519.91043  -1570997.30842  25491494.842    25491500.979    25491494.645
+       -94.715         -73.804          43.000          35.000
+ 04  2  1  9 55 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3704572.54343  -2824851.74042  23982266.411    23982270.752    23982264.660
+     -2222.283       -1731.649          47.000          40.000
+ -21572638.26243 -16793317.50042  20771194.965    20771199.435    20771194.366
+      1293.829        1008.178          56.000          50.000
+ -25682168.63344 -19967569.49042  20161274.289    20161279.183    20161272.718
+      1419.130        1105.816          57.000          51.000
+ -17494160.01143 -13586934.81442  22088317.485    22088322.449    22088317.183
+      2804.738        2185.510          53.000          46.000
+ -18255632.51743 -14213970.56842  21855129.276    21855133.776    21855127.782
+      -674.169        -525.326          54.000          48.000
+ -19030760.89543 -14774131.22242  21222711.467    21222714.863    21222710.291
+     -1829.014       -1425.206          56.000          49.000
+  -6996396.86543  -5397542.98042  23764604.225    23764611.036    23764602.403
+     -2172.512       -1692.866          47.000          40.000
+  -2024483.82143  -1568631.52542  25492072.750    25492075.855    25492072.909
+      -107.710         -83.930          43.000          36.000
+ 04  2  1  9 56  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3637845.28243  -2772856.50142  23994963.335    23994969.726    23994961.053
+     -2227.447       -1735.673          46.000          39.000
+ -21611186.49643 -16823355.08242  20763859.678    20763863.997    20763858.867
+      1274.950         993.468          56.000          50.000
+ -25724475.64344 -20000535.96742  20153223.050    20153228.387    20153221.810
+      1400.298        1091.141          57.000          51.000
+ -17578131.58943 -13652367.17342  22072337.916    22072343.097    22072337.759
+      2792.322        2175.835          53.000          46.000
+ -18235344.09143 -14198161.41042  21858989.902    21858994.931    21858988.760
+      -679.486        -529.470          54.000          48.000
+ -18975834.37243 -14731331.33442  21233163.654    21233166.728    21233162.426
+     -1833.680       -1428.841          56.000          49.000
+  -6931191.76443  -5346733.90042  23777011.813    23777020.352    23777010.055
+     -2175.490       -1695.187          46.000          40.000
+  -2021089.97843  -1565986.93142  25492718.117    25492722.828    25492715.655
+      -120.029         -93.529          42.000          34.000
+ 04  2  1  9 56 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3570969.06643  -2720745.17342  24007689.312    24007695.761    24007688.046
+     -2231.279       -1738.659          46.000          39.000
+ -21649157.19843 -16852942.64342  20756633.924    20756638.789    20756632.867
+      1256.418         979.027          56.000          50.000
+ -25766215.45944 -20033060.47642  20145280.653    20145285.351    20145279.140
+      1382.243        1077.072          57.000          51.000
+ -17661725.60643 -13717505.32942  22056430.398    22056435.448    22056430.014
+      2780.642        2166.734          53.000          47.000
+ -18214886.32943 -14182220.30442  21862883.249    21862887.909    21862881.428
+      -684.372        -533.277          54.000          48.000
+ -18920762.39743 -14688418.10742  21243643.694    21243646.691    21243642.353
+     -1837.786       -1432.041          56.000          49.000
+  -6865896.74543  -5295854.75742  23789437.242    23789445.448    23789435.867
+     -2177.685       -1696.897          47.000          40.000
+  -2017329.27443  -1563056.45042  25493433.440    25493438.839    25493430.940
+      -131.129        -102.178          40.000          33.000
+ 04  2  1  9 57  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3503956.85743  -2668527.88942  24020440.628    24020448.090    24020440.815
+     -2235.460       -1741.917          46.000          40.000
+ -21686561.53843 -16882088.87642  20749516.202    20749520.753    20749515.171
+      1237.621         964.380          56.000          50.000
+ -25807399.60544 -20065151.99442  20137443.758    20137448.293    20137442.401
+      1363.886        1062.768          57.000          51.000
+ -17744952.00043 -13782357.03242  22040593.764    22040598.002    22040592.326
+      2768.351        2157.157          53.000          47.000
+ -18194271.03343 -14166156.44642  21866806.153    21866810.692    21866804.671
+      -689.567        -537.325          54.000          48.000
+ -18865559.69043 -14645403.00542  21254148.036    21254151.417    21254146.885
+     -1841.947       -1435.283          56.000          49.000
+  -6800527.54843  -5244917.84142  23801874.672    23801883.134    23801874.681
+     -2179.901       -1698.624          45.000          39.000
+  -2013213.69743  -1559849.48842  25494217.725    25494220.882    25494216.378
+      -142.820        -111.288          43.000          35.000
+ 04  2  1  9 57 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3436796.27143  -2616194.99142  24033219.817    24033227.751    24033217.726
+     -2241.087       -1746.301          43.000          38.000
+ -21723385.95043 -16910783.21442  20742508.758    20742512.984    20742507.844
+      1217.882         948.999          56.000          50.000
+ -25848014.44544 -20096799.88742  20129714.949    20129719.568    20129713.290
+      1344.503        1047.665          57.000          51.000
+ -17827795.69143 -13846910.51442  22024828.456    22024833.426    22024827.987
+      2755.370        2147.042          53.000          47.000
+ -18173484.79343 -14149959.38142  21870761.362    21870766.179    21870759.857
+      -695.539        -541.978          54.000          48.000
+ -18810215.95743 -14602278.01742  21264680.158    21264683.007    21264678.834
+     -1846.949       -1439.181          56.000          49.000
+  -6735075.04143  -5193915.97842  23814331.037    23814337.472    23814329.420
+     -2182.817       -1700.896          45.000          39.000
+  -2008730.26043  -1556355.86442  25495069.660    25495075.571    25495069.253
+      -155.599        -121.246          41.000          35.000
+ 04  2  1  9 58  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3369493.93243  -2563751.66142  24046029.589    24046033.945    24046027.346
+     -2245.927       -1750.073          45.000          38.000
+ -21759635.48443 -16939029.59042  20735610.749    20735614.769    20735609.842
+      1198.429         933.841          56.000          50.000
+ -25888065.30344 -20128008.31042  20122093.354    20122098.131    20122091.834
+      1325.276        1032.682          57.000          51.000
+ -17910260.75843 -13911168.97442  22009136.050    22009140.803    22009135.496
+      2742.140        2136.732          53.000          47.000
+ -18152533.38643 -14133633.61742  21874748.327    21874753.697    21874747.350
+      -701.413        -546.555          54.000          48.000
+ -18754739.80743 -14559049.84342  21275236.513    21275239.804    21275235.480
+     -1851.608       -1442.811          56.000          49.000
+  -6669549.17243  -5142856.95942  23826800.860    23826807.514    23826799.480
+     -2185.605       -1703.069          46.000          39.000
+  -2003884.49443  -1552579.98842  25495991.829    25495994.289    25495994.389
+      -167.792        -130.747          41.000          34.000
+ 04  2  1  9 58 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3302046.02443  -2511194.86242  24058863.711    24058870.701    24058861.442
+     -2250.968       -1754.001          45.000          39.000
+ -21795304.65843 -16966823.73842  20728823.380    20728827.382    20728822.406
+      1179.060         918.748          56.000          50.000
+ -25927546.87444 -20158773.13542  20114580.141    20114585.024    20114578.838
+      1306.275        1017.877          57.000          51.000
+ -17992340.42843 -13975127.11942  21993517.090    21993521.157    21993516.538
+      2729.313        2126.737          53.000          47.000
+ -18131412.13543 -14117175.51242  21878768.135    21878772.582    21878766.472
+      -707.165        -551.038          54.000          48.000
+ -18699129.32843 -14515717.00242  21285818.707    21285822.044    21285817.509
+     -1856.059       -1446.280          56.000          49.000
+  -6603949.35143  -5091740.31742  23839283.547    23839291.173    23839281.489
+     -2188.001       -1704.936          45.000          39.000
+                  -1548518.10942  25496984.160    25496990.796
+      -180.469        -140.625          39.000          32.000
+ 04  2  1  9 59  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3234456.40343  -2458527.65642  24071725.102    24071731.021    24071723.313
+     -2255.565       -1757.583          44.000          39.000
+ -21830396.13443 -16994167.73142  20722145.785    20722149.626    20722144.945
+      1159.777         903.722          56.000          50.000
+ -25966461.70044 -20189096.33842  20107174.755    20107179.709    20107173.345
+      1287.451        1003.208          57.000          51.000
+ -18074035.66143 -14038785.70642  21977970.431    21977975.519    21977970.165
+      2716.584        2116.819          53.000          47.000
+ -18110123.45443 -14100586.93242  21882819.509    21882823.003    21882817.982
+      -712.657        -555.317          54.000          48.000
+ -18643390.56343 -14472284.19742  21296425.429    21296429.068    21296424.299
+     -1860.238       -1449.536          55.000          49.000
+  -6538282.44543  -5040571.38942  23851780.478    23851787.644    23851779.461
+     -2190.024       -1706.512          46.000          40.000
+  -1993095.10743  -1544172.57542  25498045.783    25498052.616    25498044.832
+      -192.175        -149.747          41.000          34.000
+ 04  2  1  9 59 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3166724.52743  -2405749.60142  24084614.923    24084622.547    24084613.396
+     -2259.692       -1760.799          45.000          40.000
+ -21864908.02443 -17021060.10042  20715578.072    20715582.245    20715576.935
+      1140.829         888.958          56.000          50.000
+ -26004808.05344 -20218976.58142  20099877.663    20099882.863    20099876.295
+      1268.874         988.733          57.000          51.000
+ -18155343.43543 -14102142.36942  21962498.590    21962503.495    21962498.027
+      2703.929        2106.958          53.000          47.000
+ -18088666.05343 -14083866.88042  21886902.333    21886906.528    21886901.071
+      -717.924        -559.421          54.000          48.000
+ -18587524.66443 -14428752.32842  21307056.843    21307060.077    21307055.506
+     -1864.119       -1452.560          56.000          49.000
+  -6472551.13043  -4989352.27342  23864288.102    23864296.097    23864286.691
+     -2192.055       -1708.095          46.000          40.000
+  -1987153.02743  -1539542.33242  25499176.124    25499181.234    25499175.125
+      -203.797        -158.803          43.000          36.000
+ 04  2  1 10  0  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3098847.23243  -2352858.26442  24097530.955    24097536.301    24097529.158
+     -2263.642       -1763.877          44.000          39.000
+ -21898835.72743 -17047497.25342  20709122.003    20709126.013    20709120.863
+      1122.286         874.509          56.000          50.000
+ -26042581.46044 -20248410.36942  20092689.991    20092694.290    20092688.441
+      1250.734         974.598          57.000          51.000
+ -18236257.59743 -14165192.33742  21947101.817    21947105.445    21947100.354
+      2691.620        2097.366          54.000          47.000
+ -18067035.65143 -14067012.01242  21891017.988    21891022.384    21891016.805
+      -722.696        -563.140          54.000          48.000
+ -18531530.49043 -14385120.49842  21317711.930    21317715.167    21317710.895
+     -1867.397       -1455.114          56.000          49.000
+  -6406755.28543  -4938082.89442  23876809.690    23876816.888    23876808.277
+     -2192.992       -1708.825          47.000          40.000
+  -1980841.45543  -1534624.19942  25500375.650    25500383.049    25500373.680
+      -215.381        -167.829          41.000          36.000
+ 04  2  1 10  0 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -3030824.50843  -2299853.58842  24110475.241    24110481.996    24110474.178
+     -2269.829       -1768.698          43.000          39.000
+ -21932177.79343 -17073478.06842  20702776.789    20702781.148    20702776.038
+      1101.769         858.521          56.000          50.000
+ -26079780.43544 -20277396.54742  20085611.390    20085615.420    20085609.712
+      1230.573         958.888          57.000          51.000
+ -18316775.31243 -14227933.38342  21931778.913    21931783.153    21931778.130
+      2677.673        2086.498          54.000          47.000
+ -18045231.26543 -14050021.58942  21895167.311    21895171.966    21895166.080
+      -729.567        -568.494          54.000          47.000
+ -18475409.61943 -14341389.95442  21328391.335    21328394.591    21328390.129
+     -1872.654       -1459.211          56.000          49.000
+  -6340898.09143  -4886765.69142  23889340.965    23889348.401    23889338.885
+     -2196.025       -1711.188          46.000          39.000
+  -1974159.72243  -1529417.62942  25501648.420    25501654.972    25501645.136
+      -228.621        -178.146          40.000          34.000
+ 04  2  1 10  1  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -2962656.19143  -2246735.40742  24123448.628    24123455.233    24123446.905
+     -2274.160       -1772.073          44.000          39.000
+ -21964932.77443 -17099001.41042  20696543.849    20696548.129    20696542.740
+      1082.259         843.319          56.000          50.000
+ -26116403.85744 -20305934.24942  20078641.778    20078646.424    20078640.367
+      1211.366         943.922          57.000          51.000
+ -18396893.90943 -14290363.43042  21916532.588    21916537.350    21916531.845
+      2664.199        2075.999          53.000          47.000
+ -18023251.61143 -14032894.59142  21899350.185    21899354.565    21899348.751
+      -735.356        -573.005          54.000          48.000
+ -18419163.91043 -14297562.12042  21339094.451    21339097.473    21339093.488
+     -1876.693       -1462.358          55.000          48.000
+  -6274982.52743  -4835402.99942  23901884.426    23901891.228    23901882.222
+     -2198.035       -1712.754          46.000          39.000
+  -1967106.79843  -1523921.81842  25502990.874    25502995.369    25502986.717
+      -240.794        -187.632          42.000          35.000
+ 04  2  1 10  1 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -2894345.47843  -2193506.33442  24136446.700    24136454.817    24136444.577
+     -2279.145       -1775.957          42.000          38.000
+ -21997102.62043 -17124068.81242  20690422.046    20690426.343    20690421.143
+      1062.731         828.102          56.000          50.000
+ -26152453.66944 -20334024.98442  20071781.869    20071786.107    20071780.202
+      1192.241         929.019          57.000          51.000
+ -18476613.84743 -14352482.82442  21901362.139    21901367.829    21901361.711
+      2650.697        2065.478          53.000          47.000
+ -18001099.12343 -14015632.91242  21903565.792    21903570.058    21903564.731
+      -741.119        -577.495          54.000          48.000
+ -18362798.61143 -14253641.10542  21349820.371    21349823.969    21349819.444
+     -1880.802       -1465.560          56.000          48.000
+  -6209015.10443  -4783999.90742  23914437.847    23914444.264    23914436.085
+     -2199.563       -1713.945          45.000          39.000
+  -1959685.10243  -1518138.68042  25504403.153    25504406.089    25504400.824
+      -253.387        -197.444          42.000          35.000
+ 04  2  1 10  2  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -2825889.08743  -2140163.72942  24149471.744    24149481.145    24149472.231
+     -2283.980       -1779.725          42.000          38.000
+ -22028682.84644 -17148676.76142  20684412.927    20684416.976    20684412.037
+      1042.820         812.587          57.000          50.000
+ -26187925.36044 -20361665.23842  20065031.580    20065036.209    20065030.204
+      1172.781         913.855          57.000          51.000
+ -18555929.09543 -14414286.88242  21886269.182    21886273.862    21886268.510
+      2637.201        2054.962          54.000          47.000
+ -17978769.30943 -13998233.05342  21907815.280    21907819.284    21907813.710
+      -747.091        -582.149          54.000          48.000
+ -18306312.30043 -14209625.79242  21360569.520    21360572.597    21360568.195
+     -1884.740       -1468.628          56.000          48.000
+  -6142995.70243  -4732556.30842  23927001.933    23927009.282    23927000.502
+     -2201.420       -1715.392          46.000          39.000
+  -1951890.71743  -1512065.08342  25505884.689    25505888.657    25505884.266
+      -266.036        -207.301          41.000          35.000
+ 04  2  1 10  2 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -2757289.46043  -2086709.50342  24162528.458    24162533.203    24162526.632
+     -2289.286       -1783.859          44.000          38.000
+ -22059674.18943 -17172825.84642  20678515.202    20678519.319    20678514.285
+      1023.147         797.257          56.000          50.000
+ -26222819.96644 -20388855.81342  20058391.494    20058396.263    20058390.066
+      1153.493         898.826          57.000          51.000
+ -18634839.06343 -14475775.14142  21871253.233    21871257.803    21871252.412
+      2623.490        2044.278          54.000          47.000
+ -17956263.51943 -13980696.06542  21912097.288    21912102.185    21912095.909
+      -753.055        -586.796          53.000          47.000
+ -18249708.97343 -14165519.30242  21371340.169    21371343.551    21371339.561
+     -1888.761       -1471.762          55.000          48.000
+  -6076929.71143  -4681076.41142  23939573.646    23939580.875    23939571.148
+     -2202.858       -1716.513          46.000          40.000
+  -1943725.07443  -1505702.28642  25507438.736    25507445.808    25507436.317
+      -278.332        -216.882          42.000          36.000
+ 04  2  1 10  3  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -2688545.56543  -2033142.85542  24175609.628    24175615.859    24175607.396
+     -2293.781       -1787.362          43.000          38.000
+ -22090074.66243 -17196514.51642  20672729.980    20672734.337    20672729.200
+      1003.652         782.066          56.000          50.000
+ -26257135.37544 -20415595.06442  20051861.067    20051865.859    20051859.838
+      1134.476         884.007          57.000          51.000
+ -18713339.98643 -14536944.66342  21856315.425    21856319.634    21856314.552
+      2610.011        2033.775          54.000          47.000
+ -17933579.64243 -13963020.31842  21916413.936    21916419.030    21916412.355
+      -758.888        -591.341          53.000          47.000
+ -18192989.51343 -14121322.31042  21382134.023    21382137.098    21382132.759
+     -1892.243       -1474.475          56.000          48.000
+  -6010819.09543  -4629561.74742  23952152.179    23952162.294    23952151.193
+     -2204.243       -1717.592          45.000          40.000
+  -1935186.31043  -1499048.67142  25509063.712    25509068.485    25509060.810
+      -290.945        -226.710          39.000          34.000
+ 04  2  1 10  3 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -2619657.41543  -1979463.86042  24188718.310    24188725.077    24188717.130
+     -2298.693       -1791.189          41.000          36.000
+ -22119883.00643 -17219741.78342  20667057.480    20667062.238    20667056.975
+       983.830         766.621          56.000          50.000
+ -26290870.61944 -20441882.24042  20045441.775    20045446.363    20045440.660
+      1114.873         868.732          57.000          52.000
+ -18791429.28843 -14597793.43542  21841454.650    21841459.544    21841454.041
+      2596.271        2023.068          53.000          47.000
+ -17910716.73243 -13945205.06542  21920764.653    21920768.952    21920763.452
+      -764.990        -596.096          54.000          47.000
+ -18136155.68543 -14077036.20642  21392949.283    21392952.580    21392948.033
+     -1896.215       -1477.570          55.000          48.000
+  -5944666.70143  -4578014.54042  23964742.123    23964750.014    23964740.164
+     -2205.664       -1718.699          46.000          40.000
+  -1926273.80253  -1492103.74952  25510761.811    25510766.873    25510759.725
+      -303.102        -236.183          41.000          34.000
+ 04  2  1 10  4  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -2550621.60243  -1925669.76642  24201856.803    24201861.793    24201855.125
+     -2303.940       -1795.278          42.000          37.000
+ -22149094.60543 -17242504.05742  20661498.968    20661503.104    20661498.121
+       963.399         750.701          56.000          50.000
+ -26324021.10644 -20467713.76342  20039133.502    20039137.924    20039131.992
+      1094.916         853.181          57.000          52.000
+ -18869100.82743 -14658316.69042  21826674.512    21826679.369    21826674.171
+      2581.602        2011.638          54.000          47.000
+ -17887670.39343 -13927246.86742  21925150.132    21925154.371    21925148.653
+      -771.729        -601.347          53.000          47.000
+ -18079206.19743 -14032659.98142  21403786.416    21403789.652    21403785.261
+     -1900.695       -1481.061          55.000          48.000
+  -5878472.43643  -4526434.68242  23977338.758    23977346.324    23977336.779
+     -2207.661       -1720.255          46.000          40.000
+                  -1484864.50642  25512526.531    25512533.861
+      -316.631        -246.725          40.000          32.000
+ 04  2  1 10  4 30.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -2481444.82143  -1871765.79142  24215020.736    24215026.455    24215019.201
+     -2309.344       -1799.489          42.000          37.000
+ -22177714.66943 -17264805.40042  20656053.092    20656057.019    20656051.742
+       943.308         735.045          56.000          50.000
+ -26356592.30944 -20493093.89242  20032935.828    20032939.896    20032934.173
+      1075.258         837.863          57.000          52.000
+ -18946358.41643 -14718517.37342  21811973.683    21811977.458    21811972.985
+      2567.467        2000.624          54.000          47.000
+ -17864445.91143 -13909149.85542  21929570.359    21929573.931    21929568.524
+      -777.954        -606.198          53.000          47.000
+ -18022149.06143 -13988199.87142  21414643.622    21414647.424    21414642.467
+     -1904.592       -1484.098          55.000          48.000
+  -5812246.01043  -4474829.80442  23989941.054    23989948.762    23989939.023
+     -2208.941       -1721.253          46.000          40.000
+  -1907321.04343  -1477335.26742  25514368.382    25514373.706    25514366.448
+      -328.958        -256.331          43.000          33.000
+ 04  2  1 10  5  0.0000000  0  8G27G29G 7G26G 8G28G10G11
+  -2412123.79943  -1817749.45842  24228210.093    24228217.234    24228210.021
+     -2313.508       -1802.733          42.000          37.000
+ -22205738.87943 -17286642.43642  20650720.045    20650723.581    20650719.077
+       923.986         719.989          56.000          50.000
+ -26388579.81344 -20518019.19542  20026848.208    20026852.909    20026846.852
+      1056.302         823.092          57.000          52.000
+ -19023195.93843 -14778390.72642  21797351.318    21797355.966    21797351.001
+      2554.093        1990.202          54.000          48.000
+ -17841039.02543 -13890910.71942  21934023.947    21934028.394    21934022.569
+      -783.454        -610.484          53.000          47.000
+ -17964983.00143 -13943654.89042  21425522.139    21425525.515    21425520.756
+     -1907.576       -1486.423          55.000          48.000
+  -5745987.34043  -4423199.77642  24002550.970    24002557.151    24002549.997
+     -2209.433       -1721.636          47.000          40.000
+                  -1469513.23142  25516276.263    25516279.522
+      -341.081        -265.777          40.000          31.000
+ 04  2  1 10  5 30.0000000  0  9G 4G27G29G 7G26G 8G28G10G11
+                                  25138551.034
+      1986.276        1547.748          42.000
+  -2342657.14843  -1763619.63442  24241430.916    24241435.852    24241430.094
+     -2318.144       -1806.346          43.000          36.000
+ -22233164.98743 -17308013.42242  20645501.019    20645505.003    20645500.285
+       904.119         704.508          56.000          50.000
+ -26419981.43044 -20542487.96442  20020873.087    20020877.174    20020871.666
+      1036.794         807.891          57.000          52.000
+ -19099609.57543 -14837933.79842  21782810.511    21782814.532    21782809.818
+      2539.943        1979.176          54.000          47.000
+ -17817447.74643 -13872527.90142  21938512.617    21938517.356    21938511.699
+      -789.578        -615.255          53.000          47.000
+ -17907708.56343 -13899025.45342  21436421.454    21436424.743    21436419.586
+     -1911.159       -1489.215          55.000          48.000
+  -5679697.94343  -4371545.78642  24015164.494    24015172.692    24015162.189
+     -2210.235       -1722.261          46.000          39.000
+                  -1461396.74642  25518259.214    25518259.991
+      -353.914        -275.777          36.000          32.000
+ 04  2  1 10  6  0.0000000  0  9G 4G27G29G 7G26G 8G28G10G11
+                                  25127185.212
+      1995.787        1555.159          42.000
+  -2273042.06543  -1709374.19442  24254678.216    24254683.740    24254676.341
+     -2321.663       -1809.088          41.000          36.000
+ -22259988.63443 -17328914.96242  20640396.314    20640400.648    20640395.671
+       885.163         689.737          56.000          50.000
+ -26450792.93444 -20566496.91042  20015009.414    20015013.963    20015007.925
+      1018.349         793.519          57.000          52.000
+ -19175593.52843 -14897142.03842  21768350.497    21768355.273    21768350.045
+      2526.769        1968.911          54.000          47.000
+ -17793667.73943 -13853998.02242  21943038.222    21943042.977    21943036.871
+      -794.701        -619.247          53.000          47.000
+ -17850324.14043 -13854310.32642  21447341.214    21447344.317    21447339.728
+     -1913.672       -1491.173          55.000          48.000
+  -5613378.05143  -4319868.07542  24027783.277    24027793.493    24027782.189
+     -2210.463       -1722.439          44.000          39.000
+  -1876068.83253  -1452983.02152  25520314.465    25520318.642    25520312.702
+      -365.301        -284.650          39.000          32.000
+ 04  2  1 10  6 30.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -1218524.30153   -945110.66752  25115776.907    25115786.135    25115772.599
+      2002.773        1560.602          41.000          34.000
+  -2203284.19343  -1655017.47842  24267954.091    24267959.673    24267950.137
+     -2327.646       -1813.750          41.000          37.000
+ -22286214.46143 -17349350.66742  20635405.563    20635410.259    20635404.743
+       864.311         673.489          56.000          50.000
+ -26481019.24344 -20590049.84942  20009257.470    20009262.499    20009256.246
+       997.919         777.599          57.000          52.000
+ -19251150.65643 -14956017.68542  21753972.465    21753977.150    21753972.144
+      2511.439        1956.965          54.000          47.000
+ -17769703.64243 -13835324.69442  21947598.178    21947602.775    21947596.957
+      -801.835        -624.806          53.000          47.000
+ -17792837.41243 -13809515.46042  21458280.288    21458283.760    21458279.335
+     -1917.896       -1494.464          55.000          48.000
+  -5547036.43943  -4268173.42642  24040408.354    24040418.190    24040406.741
+     -2212.027       -1723.657          44.000          39.000
+ 04  2  1 10  7  0.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -1278720.63743   -992016.50642  25104322.015    25104332.142    25104323.572
+      2010.107        1566.317          43.000          35.000
+  -2133382.59043  -1600548.70242  24281252.662    24281260.608    24281252.631
+     -2333.377       -1818.216          41.000          36.000
+ -22311840.37444 -17369318.90542  20630529.846    20630533.740    20630528.743
+       843.860         657.553          57.000          50.000
+ -26510658.19944 -20613145.11142  20003617.368    20003622.102    20003615.977
+       977.862         761.970          57.000          52.000
+ -19326277.46143 -15014558.03142  21739676.615    21739681.000    21739676.157
+      2496.712        1945.490          54.000          47.000
+ -17745553.57443 -13816506.46242  21952193.865    21952198.069    21952192.532
+      -808.481        -629.985          53.000          47.000
+ -17735249.03843 -13764641.40442  21469239.261    21469242.356    21469237.983
+     -1921.659       -1497.397          55.000          48.000
+  -5480674.89843  -4216463.25042  24053038.492    24053044.605    24053035.645
+     -2212.932       -1724.362          45.000          39.000
+ 04  2  1 10  7 30.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -1339149.31143  -1039103.45542  25092819.982    25092830.282    25092821.001
+      2018.137        1572.574          43.000          34.000
+  -2063335.62643  -1545966.70042  24294582.069    24294587.273    24294582.927
+     -2337.819       -1821.677          40.000          35.000
+ -22336863.66443 -17388817.57142  20625768.132    20625771.757    20625767.099
+       823.813         641.932          56.000          50.000
+ -26539707.25844 -20635780.71442  19998089.391    19998094.087    19998087.871
+       958.245         746.684          57.000          52.000
+ -19400969.54643 -15072759.62542  21725463.886    21725467.788    21725462.850
+      2482.367        1934.312          54.000          48.000
+ -17721214.65343 -13797541.06742  21956826.318    21956830.277    21956824.891
+      -814.586        -634.742          54.000          47.000
+ -17677559.12743 -13719688.22042  21480216.534    21480220.250    21480215.543
+     -1924.797       -1499.842          55.000          48.000
+  -5414294.78843  -4164738.60542  24065669.429    24065678.154    24065668.354
+     -2213.213       -1724.581          46.000          39.000
+ 04  2  1 10  8  0.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -1399812.94743  -1086373.46742  25081276.505    25081285.664    25081276.952
+      2026.351        1578.975          43.000          34.000
+  -1993148.17543  -1491275.24342  24307938.263    24307947.055    24307938.636
+     -2342.110       -1825.021          40.000          35.000
+ -22361288.07743 -17407849.58042  20621120.181    20621123.853    20621119.213
+       804.430         626.829          56.000          50.000
+ -26568170.39844 -20657959.76542  19992673.470    19992677.669    19992671.778
+       939.406         732.005          57.000          52.000
+ -19475228.91543 -15130624.03942  21711331.902    21711336.410    21711331.602
+      2468.406        1923.433          54.000          48.000
+ -17696690.71343 -13778431.49742  21961492.344    21961496.768    21961490.839
+      -820.305        -639.199          53.000          47.000
+ -17619774.23943 -13674661.03142  21491213.175    21491216.386    21491211.683
+     -1927.506       -1501.953          55.000          48.000
+  -5347904.11543  -4113005.73142  24078303.106    24078311.404    24078302.144
+     -2212.852       -1724.300          46.000          40.000
+ 04  2  1 10  8 30.0000000  0  9G 4G27G29G 7G26G 8G28G10G11
+  -1460699.31743  -1133817.00642  25069689.445    25069701.411    25069690.606
+      2033.858        1584.824          44.000          35.000
+  -1922809.71643  -1436466.02542  24321325.592    24321326.682    24321323.487
+     -2347.290       -1829.057          41.000          34.000
+ -22385102.06843 -17426405.93042  20616588.406    20616592.349    20616587.356
+       783.818         610.767          56.000          50.000
+ -26596035.88144 -20679673.10542  19987370.752    19987375.085    19987369.177
+       919.144         716.216          57.000          52.000
+ -19549042.44443 -15188141.03742  21697285.876    21697290.916    21697285.092
+      2453.219        1911.599          54.000          48.000
+ -17671970.09343 -13759168.67342  21966196.787    21966201.086    21966195.250
+      -827.151        -644.533          53.000          47.000
+ -17561885.45343 -13629552.87942  21502229.084    21502232.261    21502227.872
+     -1931.072       -1504.731          55.000          48.000
+  -5281495.13743  -4061258.61542  24090938.425    24090949.937    24090938.342
+     -2213.854       -1725.081          45.000          39.000
+  -1035797.23853   -807989.81952  25531667.767    25531672.266    25531664.867
+      -429.579        -334.737          40.000          35.000
+ 04  2  1 10  9  0.0000000  0  9G 4G27G29G 7G26G 8G28G10G11
+  -1521817.28643  -1181441.07542  25058058.575    25058072.439    25058057.896
+      2040.953        1590.353          43.000          36.000
+  -1852330.97043  -1381547.60942  24334735.504    24334743.586    24334731.608
+     -2351.578       -1832.398          42.000          35.000
+ -22408315.23043 -17444494.10842  20612170.711    20612175.188    20612169.786
+       763.770         595.145          56.000          50.000
+ -26623313.68544 -20700928.51542  19982179.671    19982184.400    19982178.364
+       899.346         700.789          57.000          52.000
+ -19622417.89743 -15245316.68442  21683322.870    21683327.985    21683322.000
+      2438.513        1900.140          54.000          48.000
+ -17647062.34943 -13739760.05042  21970936.266    21970940.388    21970935.309
+      -833.378        -649.385          53.000          47.000
+ -17503904.87843 -13584373.20342  21513262.086    21513265.424    21513261.135
+     -1934.310       -1507.254          54.000          48.000
+  -5215081.53343  -4009507.85742  24103578.196    24103585.642    24103575.783
+     -2214.031       -1725.219          45.000          39.000
+  -1022722.35343   -797801.50442  25534157.215    25534161.404    25534154.318
+      -441.855        -344.302          42.000          35.000
+ 04  2  1 10  9 30.0000000  0  9G 4G27G29G 7G26G 8G28G10G11
+  -1583158.70343  -1229239.27042  25046387.277    25046397.640    25046385.447
+      2048.680        1596.374          45.000          35.000
+  -1781705.73043  -1326515.03642  24348175.191    24348180.888    24348172.480
+     -2356.169       -1835.976          43.000          37.000
+ -22430920.57743 -17462108.65442  20607869.228    20607873.315    20607868.125
+       743.635         579.456          56.000          50.000
+ -26649996.79044 -20721720.51542  19977102.113    19977106.798    19977100.644
+       879.759         685.526          57.000          52.000
+ -19695346.77543 -15302144.34442  21669445.599    21669449.869    21669444.844
+      2423.873        1888.732          55.000          48.000
+ -17621960.76743 -13720200.37342  21975713.248    21975717.957    21975712.295
+      -839.617        -654.247          54.000          47.000
+ -17445828.32243 -13539118.73142  21524314.084    21524316.907    21524312.808
+     -1937.096       -1509.425          54.000          48.000
+  -5148660.15843  -3957751.06542  24116216.872    24116226.426    24116216.447
+     -2214.120       -1725.288          46.000          39.000
+  -1009263.33743   -787313.94342  25536718.500    25536725.277    25536717.824
+      -454.973        -354.524          40.000          34.000
+ 04  2  1 10 10  0.0000000  0  9G 4G27G29G 7G26G 8G28G10G11
+  -1644726.56343  -1277213.84142  25034670.245    25034679.345    25034668.892
+      2055.307        1601.538          44.000          36.000
+  -1710938.95343  -1271372.13842  24361643.178    24361647.233    24361639.902
+     -2361.487       -1840.120          44.000          37.000
+ -22452922.14043 -17479252.72342  20603682.707    20603686.366    20603681.618
+       722.929         563.321          56.000          50.000
+ -26676089.21944 -20742052.25042  19972136.995    19972141.524    19972135.475
+       859.564         669.790          57.000          52.000
+ -19767831.05543 -15358625.57142  21655652.063    21655656.139    21655651.485
+      2408.368        1876.650          55.000          48.000
+ -17596668.31343 -13700491.97042  21980526.412    21980530.408    21980525.032
+      -846.590        -659.680          53.000          47.000
+ -17387662.25743 -13493794.51742  21535382.531    21535385.633    21535381.172
+     -1940.702       -1512.235          55.000          48.000
+  -5082238.78943  -3905994.26542  24128858.438    24128865.764    24128856.574
+     -2214.400       -1725.506          46.000          40.000
+   -995424.19443   -776530.19242  25539351.711    25539354.532    25539349.670
+      -467.917        -364.611          40.000          34.000
+ 04  2  1 10 10 30.0000000  0  9G 4G27G29G 7G26G 8G28G10G11
+  -1706513.01643  -1325358.79242  25022912.476    25022923.873    25022911.993
+      2061.977        1606.735          44.000          37.000
+  -1640025.01143  -1216114.59242  24375135.171    24375143.408    24375135.032
+     -2367.083       -1844.480          44.000          37.000
+ -22474312.97644 -17495920.89242  20599612.515    20599616.232    20599611.326
+       702.084         547.078          57.000          51.000
+ -26701584.22444 -20761918.46142  19967285.305    19967289.995    19967284.023
+       839.118         653.858          57.000          52.000
+ -19839862.34143 -15414753.80742  21641944.363    21641948.762    21641943.760
+      2392.740        1864.473          54.000          48.000
+ -17571178.93943 -13680630.11442  21985376.745    21985381.451    21985375.174
+      -853.775        -665.279          53.000          47.000
+ -17329402.39143 -13448397.21642  21546469.000    21546472.348    21546467.418
+     -1944.278       -1515.022          54.000          48.000
+  -5015814.62143  -3854235.28442  24141497.868    24141507.286    24141496.930
+     -2214.965       -1725.947          46.000          40.000
+   -981198.91443   -765445.51742  25542058.890    25542064.039    25542057.204
+      -481.310        -375.047          40.000          34.000
+ 04  2  1 10 11  0.0000000  0  9G 4G27G29G 7G26G 8G28G10G11
+  -1768518.55843  -1373674.49942  25011112.538    25011124.168    25011112.750
+      2070.906        1613.693          45.000          38.000
+  -1568966.16343  -1160744.12042  24388659.766    24388664.822    24388658.003
+     -2371.031       -1847.557          46.000          37.000
+ -22495094.52944 -17512114.30742  20595657.649    20595661.595    20595656.649
+       682.494         531.814          57.000          51.000
+ -26726483.48344 -20781320.45442  19962547.340    19962551.752    19962545.769
+       820.054         639.003          57.000          52.000
+ -19911440.33443 -15470528.83242  21628323.280    21628328.403    21628322.651
+      2378.381        1853.284          54.000          48.000
+ -17545493.19043 -13660615.25342  21990263.611    21990268.562    21990262.211
+      -859.396        -669.659          53.000          47.000
+ -17271052.70643 -13402929.92542  21557572.395    21557575.902    21557571.206
+     -1946.437       -1516.704          55.000          48.000
+  -4949392.76643  -3802478.10742  24154135.336    24154146.314    24154135.327
+     -2213.577       -1724.865          45.000          40.000
+                   -754061.28152  25544837.116    25544848.237
+      -493.270        -384.366          37.000          32.000
+ 04  2  1 10 11 30.0000000  0  9G 4G27G29G 7G26G 8G28G10G11
+  -1830741.53643  -1422159.57242  24999270.540    24999284.104    24999270.364
+      2077.781        1619.050          43.000          37.000
+  -1497762.87743  -1105261.01842  24402208.968    24402215.957    24402208.116
+     -2375.982       -1851.414          45.000          37.000
+ -22515266.41044 -17527832.64942  20591818.877    20591823.179    20591817.714
+       662.381         516.141          57.000          51.000
+ -26750786.41744 -20800257.77942  19957922.701    19957926.979    19957921.064
+       800.320         623.626          57.000          52.000
+ -19982562.69443 -15525948.82742  21614789.038    21614794.273    21614788.513
+      2363.342        1841.565          54.000          48.000
+ -17519610.90843 -13640447.24442  21995189.869    21995194.466    21995188.632
+      -865.873        -674.706          53.000          47.000
+ -17212615.27343 -13357394.25642  21568692.725    21568696.312    21568691.426
+     -1949.129       -1518.802          55.000          48.000
+  -4882976.58043  -3750725.36042  24166775.059    24166784.632    24166775.248
+     -2213.586       -1724.872          45.000          39.000
+                   -742376.90852  25547689.803    25547703.146
+      -507.012        -395.074          36.000          32.000
+ 04  2  1 10 12  0.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -1893185.20043  -1470816.60342  24987389.625    24987399.922    24987387.423
+      2084.396        1624.205          43.000          37.000
+  -1426420.60643  -1049669.67842  24415783.584    24415792.232    24415782.986
+     -2380.613       -1855.023          43.000          36.000
+ -22534833.09844 -17543079.40842  20588095.515    20588099.544    20588094.491
+       641.710         500.034          57.000          51.000
+ -26774497.78944 -20818734.14742  19953410.468    19953414.814    19953408.887
+       780.139         607.901          57.000          52.000
+ -20053232.19243 -15581015.93742  21601341.331    21601346.117    21601341.000
+      2347.671        1829.354          54.000          48.000
+ -17493536.17143 -13620129.26342  22000151.810    22000156.214    22000150.001
+      -872.746        -680.062          53.000          47.000
+ -17154096.86343 -13311795.48942  21579828.484    21579831.719    21579827.377
+     -1952.336       -1521.301          55.000          48.000
+  -4816574.44443  -3698983.55042  24179414.401    24179420.631    24179411.549
+     -2213.563       -1724.854          45.000          39.000
+ 04  2  1 10 12 30.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -1955838.04843  -1519636.62542  24975465.205    24975477.113    24975466.167
+      2092.569        1630.573          43.000          37.000
+  -1354929.54143   -993962.41542  24429386.891    24429398.956    24429387.238
+     -2385.296       -1858.672          42.000          36.000
+ -22553784.10943 -17557846.41742  20584489.070    20584493.125    20584487.978
+       621.521         484.302          56.000          51.000
+ -26797606.96144 -20836741.26742  19949013.075    19949017.421    19949011.460
+       760.352         592.482          57.000          52.000
+ -20123436.53143 -15635720.58742  21587982.230    21587986.255    21587981.528
+      2332.508        1817.539          54.000          48.000
+ -17467258.15143 -13599652.87842  22005151.890    22005156.540    22005150.925
+      -879.249        -685.129          53.000          47.000
+ -17095489.56943 -13266127.45442  21590981.548    21590984.362    21590979.804
+     -1954.969       -1523.352          55.000          48.000
+  -4750179.51343  -3647247.35642  24192047.782    24192057.063    24192046.026
+     -2212.663       -1724.153          46.000          39.000
+ 04  2  1 10 13  0.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -2018702.51543  -1568621.59742  24963505.271    24963514.908    24963503.662
+      2098.437        1635.146          45.000          38.000
+  -1283294.20843   -938142.75742  24443021.028    24443028.392    24443020.257
+     -2391.283       -1863.337          44.000          37.000
+ -22572122.78043 -17572136.27942  20580999.554    20581003.452    20580998.339
+       600.178         467.671          56.000          50.000
+ -26820117.92044 -20854282.25242  19944728.911    19944733.245    19944727.484
+       739.502         576.235          57.000          52.000
+ -20193177.26543 -15690063.99742  21574710.752    21574715.527    21574709.942
+      2316.075        1804.734          54.000          48.000
+ -17440780.32743 -13579020.81442  22010190.799    22010194.295    22010189.741
+      -886.788        -691.004          54.000          47.000
+ -17036799.28843 -13220394.76442  21602149.610    21602152.733    21602148.870
+     -1958.650       -1526.221          55.000          48.000
+  -4683799.06343  -3595522.42942  24204678.591    24204688.305    24204677.856
+     -2213.222       -1724.588          44.000          39.000
+ 04  2  1 10 13 30.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -2081775.41343  -1617768.95842  24951501.587    24951511.904    24951501.063
+      2105.802        1640.885          44.000          38.000
+  -1211513.79343   -882209.96442  24456679.081    24456685.750    24456679.331
+     -2394.958       -1866.201          45.000          37.000
+ -22589847.64543 -17585947.84842  20577626.305    20577630.598    20577625.341
+       580.687         452.483          56.000          50.000
+ -26842028.74744 -20871355.60342  19940559.500    19940563.813    19940558.030
+       720.425         561.370          57.000          52.000
+ -20262451.03243 -15744043.52242  21561528.571    21561533.261    21561527.957
+      2301.330        1793.244          55.000          48.000
+ -17414100.55643 -13558231.37642  22015268.186    22015271.614    22015267.095
+      -892.570        -695.509          54.000          47.000
+ -16978026.44243 -13174597.73642  21613333.314    21613337.175    21613332.393
+     -1960.351       -1527.546          54.000          48.000
+  -4617434.99443  -3543810.29742  24217307.709    24217316.807    24217306.146
+     -2211.861       -1723.528          45.000          39.000
+ 04  2  1 10 14  0.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -2145058.21843  -1667079.91742  24939459.593    24939468.133    24939457.395
+      2112.459        1646.072          45.000          37.000
+  -1139591.83643   -826166.93342  24470366.103    24470372.154    24470364.951
+     -2399.988       -1870.120          43.000          37.000
+ -22606961.24843 -17599283.11142  20574369.489    20574373.976    20574368.726
+       560.081         436.427          56.000          50.000
+ -26863342.38544 -20887963.60842  19936504.028    19936508.097    19936502.423
+       700.338         545.718          57.000          52.000
+ -20331258.63643 -15797659.82042  21548434.380    21548439.541    21548433.946
+      2285.701        1781.066          54.000          48.000
+ -17387221.30143 -13537286.48642  22020382.473    22020386.855    22020380.765
+      -899.426        -700.851          53.000          47.000
+ -16919176.05343 -13128740.28842  21624532.426    21624535.932    21624531.286
+     -1963.209       -1529.773          55.000          48.000
+  -4551093.62543  -3492115.84042  24229931.596    24229940.222    24229930.366
+     -2211.353       -1723.132          45.000          39.000
+ 04  2  1 10 14 30.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -2208543.18243  -1716548.43042  24927378.930    24927389.036    24927378.123
+      2119.223        1651.343          46.000          38.000
+  -1067522.40343   -770009.01242  24484083.179    24484088.340    24484081.847
+     -2405.205       -1874.186          42.000          37.000
+ -22623457.07844 -17612136.99042  20571231.226    20571234.898    20571230.187
+       539.444         420.346          57.000          50.000
+ -26884052.21444 -20904101.11242  19932562.610    19932567.306    19932561.318
+       680.098         529.946          57.000          52.000
+ -20399591.73043 -15850906.37142  21535431.326    21535435.413    21535430.382
+      2269.663        1768.569          54.000          48.000
+ -17360135.60543 -13516180.74442  22025536.335    22025541.301    22025535.280
+      -906.451        -706.325          53.000          47.000
+ -16860244.00343 -13082819.20842  21635747.209    21635749.973    21635745.370
+     -1965.982       -1531.934          54.000          48.000
+  -4484772.14543  -3440436.87242  24242553.364    24242561.480    24242551.308
+     -2210.539       -1722.498          46.000          39.000
+ 04  2  1 10 15  0.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -2272234.46643  -1766177.73542  24915257.387    24915268.403    24915256.739
+      2126.503        1657.015          45.000          38.000
+   -995311.90943   -713741.19142  24497822.320    24497829.921    24497820.433
+     -2409.446       -1877.490          41.000          37.000
+ -22639340.52543 -17624513.68842  20568208.063    20568212.694    20568207.198
+       519.307         404.655          56.000          50.000
+ -26904164.00144 -20919772.60742  19928735.643    19928740.231    19928734.022
+       660.489         514.667          57.000          52.000
+ -20467453.89243 -15903785.95742  21522517.645    21522522.035    21522516.655
+      2254.240        1756.551          54.000          48.000
+ -17332848.66143 -13494918.18342  22030729.629    22030734.124    22030727.885
+      -912.753        -711.236          53.000          47.000
+ -16801237.90743 -13036840.43142  21646975.169    21646978.808    21646974.041
+     -1967.962       -1533.477          54.000          48.000
+  -4418479.56443  -3388780.43942  24255168.114    24255175.494    24255166.334
+     -2209.237       -1721.483          46.000          39.000
+ 04  2  1 10 15 30.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -2336124.51743  -1815961.93242  24903099.754    24903109.652    24903099.374
+      2132.792        1661.916          46.000          38.000
+   -922955.20243   -657359.37042  24511586.177    24511599.897    24511588.547
+     -2414.125       -1881.136          38.000          36.000
+ -22654605.50644 -17636408.46942  20565303.515    20565307.949    20565302.849
+       498.321         388.302          57.000          51.000
+ -26923671.54544 -20934973.26642  19925023.322    19925027.802    19925022.103
+       640.035         498.729          57.000          52.000
+ -20534837.08843 -15956292.31842  21509694.615    21509699.511    21509694.352
+      2237.914        1743.829          54.000          48.000
+ -17305354.17643 -13473493.90242  22035961.430    22035965.951    22035960.203
+      -920.137        -716.990          53.000          47.000
+ -16742153.67843 -12990800.76742  21658218.320    21658222.429    21658217.585
+     -1970.951       -1535.806          54.000          47.000
+  -4352213.25643  -3337144.45342  24267778.738    24267786.132    24267777.200
+     -2208.525       -1720.928          46.000          39.000
+ 04  2  1 10 16  0.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -2400216.45843  -1865903.37442  24890903.862    24890910.966    24890902.714
+      2139.031        1666.777          46.000          38.000
+   -850457.30443   -600867.54542  24525387.415    24525395.293    24525384.601
+     -2419.656       -1885.446          41.000          36.000
+ -22669256.76443 -17647825.01942  20562515.178    20562519.524    20562514.411
+       477.232         371.869          56.000          51.000
+ -26942579.70244 -20949706.86642  19921425.442    19921429.758    19921423.825
+       619.463         482.698          57.000          52.000
+ -20601743.89543 -16008427.46442  21496962.297    21496967.735    21496961.915
+      2221.403        1730.963          54.000          48.000
+ -17277655.92143 -13451910.84342  22041231.891    22041236.453    22041231.001
+      -927.548        -722.765          53.000          47.000
+ -16682998.14343 -12944705.54542  21669475.456    21669479.202    21669474.793
+     -1973.885       -1538.092          54.000          48.000
+  -4285981.22443  -3285535.21242  24280381.077    24280389.451    24280380.242
+     -2207.873       -1720.420          44.000          39.000
+ 04  2  1 10 16 30.0000000  0  7G 4G29G 7G26G 8G28G10
+  -2464501.76143  -1915995.53842  24878668.579    24878679.316    24878667.606
+      2146.727        1672.774          44.000          38.000
+ -22683287.09243 -17658757.72942  20559845.749    20559849.324    20559844.564
+       458.114         356.972          56.000          50.000
+ -26960881.47944 -20963967.96742  19917942.291    19917946.741    19917940.938
+       600.724         468.097          57.000          52.000
+ -20668165.51243 -16060184.54642  21484323.150    21484328.043    21484322.169
+      2206.729        1719.529          54.000          48.000
+ -17249746.81443 -13430163.48342  22046543.456    22046547.591    22046541.872
+      -933.027        -727.034          53.000          47.000
+ -16623766.62843 -12898551.11142  21680747.547    21680750.179    21680746.048
+     -1974.923       -1538.901          54.000          47.000
+  -4219779.92743  -3233949.89342  24292979.433    24292985.718    24292976.449
+     -2205.283       -1718.402          45.000          39.000
+ 04  2  1 10 17  0.0000000  0  7G 4G29G 7G26G 8G28G10
+  -2528985.53243  -1966242.39942  24866398.157    24866408.406    24866397.969
+      2152.133        1676.987          45.000          39.000
+ -22696703.28743 -17669211.90042  20557292.218    20557296.639    20557291.195
+       436.454         340.094          56.000          50.000
+ -26978583.57644 -20977761.78242  19914573.744    19914578.428    19914572.431
+       579.468         451.534          57.000          52.000
+ -20734106.53043 -16111567.13942  21471774.979    21471779.932    21471774.139
+      2189.370        1706.003          55.000          48.000
+ -17221632.62943 -13408256.33142  22051893.162    22051898.063    22051891.932
+      -941.109        -733.332          53.000          47.000
+ -16564467.46043 -12852343.96342  21692031.056    21692034.390    21692029.611
+     -1978.392       -1541.604          54.000          47.000
+  -4153619.52543  -3182396.44642  24305570.731    24305577.914    24305568.228
+     -2205.225       -1718.357          46.000          38.000
+ 04  2  1 10 17 30.0000000  0  7G 4G29G 7G26G 8G28G10
+  -2593662.53143  -2016639.82542  24854090.577    24854100.736    24854089.180
+      2158.892        1682.254          45.000          38.000
+ -22709501.68943 -17679184.66542  20554857.019    20554861.068    20554856.162
+       416.195         324.308          56.000          51.000
+ -26995682.41344 -20991085.52642  19911319.918    19911324.476    19911318.678
+       559.848         436.245          57.000          52.000
+ -20799561.43043 -16162570.93142  21459319.651    21459324.082    21459319.217
+      2173.642        1693.747          55.000          48.000
+ -17193309.53543 -13386186.37942  22057282.673    22057287.667    22057281.187
+      -947.646        -738.425          53.000          47.000
+ -16505099.10343 -12806082.90342  21703328.600    21703331.832    21703327.063
+     -1980.134       -1542.961          54.000          47.000
+  -4087499.61143  -3130874.54842  24318151.395    24318160.830    24318150.506
+     -2203.477       -1716.995          45.000          38.000
+ 04  2  1 10 18  0.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -2658531.81843  -2067187.06942  24841745.992    24841756.928    24841745.172
+      2165.536        1687.431          46.000          38.000
+                                  24580847.752
+     -2437.909       -1899.669          42.000
+ -22721682.65144 -17688676.31842  20552538.894    20552543.207    20552538.187
+       395.786         308.405          57.000          51.000
+ -27012178.43944 -21003939.55142  19908180.941    19908185.386    19908179.570
+       539.812         420.633          57.000          52.000
+ -20864528.65043 -16213194.72042  21446956.670    21446961.200    21446955.752
+      2157.452        1681.131          55.000          48.000
+ -17164777.44643 -13363953.58642  22062712.999    22062716.741    22062711.298
+      -954.522        -743.783          53.000          47.000
+ -16445663.95543 -12759769.80042  21714638.615    21714642.218    21714637.821
+     -1982.212       -1544.581          54.000          47.000
+  -4021423.81843  -3079387.02242  24330726.608    24330734.427    24330724.635
+     -2201.494       -1715.450          46.000          39.000
+ 04  2  1 10 18 30.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -2723588.22143  -2117880.10242  24829367.593    24829375.856    24829365.110
+      2171.485        1692.066          47.000          38.000
+   -814139.96853   -641014.37352  24594777.412    24594784.233    24594774.856
+     -2443.216       -1903.805          41.000          36.000
+ -22733242.73544 -17697684.17242  20550339.449    20550343.263    20550338.330
+       374.748         292.011          57.000          51.000
+ -27028068.57944 -21016321.45942  19905157.005    19905161.495    19905155.739
+       519.179         404.555          57.000          52.000
+ -20929002.84643 -16263434.33442  21434687.579    21434692.278    21434686.983
+      2140.603        1668.002          55.000          48.000
+ -17136032.56943 -13341554.99742  22068181.862    22068186.444    22068181.134
+      -962.010        -749.618          53.000          47.000
+ -16386160.78643 -12713403.69642  21725962.072    21725965.410    21725961.202
+     -1984.837       -1546.626          54.000          47.000
+  -3955392.24643  -3027933.97942  24343290.299    24343299.121    24343290.139
+     -2200.559       -1714.721          45.000          39.000
+ 04  2  1 10 19  0.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -2788830.81743  -2168718.25842  24816950.196    24816960.608    24816948.881
+      2177.541        1696.785          46.000          39.000
+   -740781.56343   -583851.97042  24608738.614    24608744.350    24608737.334
+     -2447.549       -1907.181          39.000          35.000
+ -22744182.86144 -17706208.94342  20548257.464    20548261.217    20548256.509
+       354.292         276.072          57.000          51.000
+ -27043353.51944 -21028231.78242  19902248.362    19902252.677    19902247.031
+       499.489         389.212          57.000          52.000
+ -20992982.88743 -16313288.88142  21422512.187    21422517.022    21422511.824
+      2124.558        1655.500          54.000          48.000
+ -17107074.68743 -13318990.42242  22073692.828    22073697.308    22073690.971
+      -968.820        -754.925          53.000          47.000
+ -16326592.27143 -12666986.67042  21737297.518    21737300.697    21737296.247
+     -1986.659       -1548.046          54.000          47.000
+  -3889408.90943  -2976518.49042  24355847.759    24355856.740    24355845.628
+     -2198.630       -1713.218          45.000          39.000
+ 04  2  1 10 19 30.0000000  0  7G 4G29G 7G26G 8G28G10
+  -2854253.01543  -2219696.37342  24804499.281    24804510.014    24804498.977
+      2184.109        1701.903          45.000          38.000
+ -22754497.90644 -17714246.63642  20546294.692    20546298.380    20546293.733
+       333.992         260.253          57.000          51.000
+ -27058028.43844 -21039666.75842  19899455.968    19899460.343    19899454.477
+       479.312         373.490          57.000          52.000
+ -21056461.52643 -16362752.72842  21410432.807    21410437.313    21410432.051
+      2108.014        1642.608          55.000          48.000
+ -17077898.73443 -13296255.92242  22079245.450    22079248.976    22079243.672
+      -975.753        -760.327          53.000          47.000
+ -16266954.99443 -12620516.06942  21748645.801    21748649.666    21748644.634
+     -1988.654       -1549.600          54.000          47.000
+  -3823471.98843  -2925139.20142  24368393.600    24368405.829    24368392.695
+     -2196.653       -1711.678          44.000          38.000
+ 04  2  1 10 20  0.0000000  0  7G 4G29G 7G26G 8G28G10
+  -2919862.36343  -2270820.29442  24792015.415    24792027.088    24792015.202
+      2189.420        1706.042          46.000          39.000
+ -22764197.44544 -17721804.72042  20544448.879    20544452.549    20544447.806
+       312.352         243.391          57.000          51.000
+ -27072102.83244 -21050633.78942  19896777.811    19896781.930    19896776.215
+       458.410         357.203          57.000          52.000
+ -21119446.43443 -16411831.85442  21398447.431    21398451.860    21398446.934
+      2090.504        1628.964          55.000          48.000
+ -17048513.21043 -13273358.12242  22084836.304    22084841.195    22084835.485
+      -983.600        -766.441          53.000          47.000
+ -16207260.61543 -12574000.97442  21760005.235    21760009.260    21760004.358
+     -1991.579       -1551.880          54.000          47.000
+  -3757594.44843  -2873806.18542  24380930.867    24380939.987    24380929.138
+     -2195.671       -1710.912          45.000          38.000
+ 04  2  1 10 20 30.0000000  0  7G 4G29G 7G26G 8G28G10
+  -2985653.46843  -2322085.84942  24779495.519    24779506.982    24779495.896
+      2195.561        1710.827          46.000          40.000
+ -22773277.75244 -17728880.27842  20542720.576    20542724.698    20542719.950
+       291.989         227.524          57.000          51.000
+ -27085573.14944 -21061130.11142  19894214.419    19894218.706    19894213.009
+       438.628         341.788          57.000          52.000
+ -21181931.80243 -16460521.71642  21386556.627    21386561.498    21386555.973
+      2074.074        1616.162          55.000          48.000
+ -17018914.11343 -13250293.89942  22090469.364    22090473.557    22090467.465
+      -990.430        -771.764          53.000          47.000
+ -16147507.03943 -12527439.73842  21771376.273    21771379.543    21771375.043
+     -1993.196       -1553.140          54.000          47.000
+  -3691775.34943  -2822518.71342  24393455.083    24393465.125    24393453.371
+     -2193.306       -1709.070          44.000          39.000
+ 04  2  1 10 21  0.0000000  0  7G 4G29G 7G26G 8G28G10
+  -3051620.85943  -2373488.75542  24766942.921    24766951.621    24766941.583
+      2202.233        1716.026          47.000          39.000
+ -22781734.99244 -17735470.33542  20541111.669    20541115.343    20541110.761
+       271.950         211.909          57.000          51.000
+ -27098435.63344 -21071152.80142  19891766.935    19891771.204    19891765.331
+       419.009         326.501          57.000          52.000
+ -21243911.85443 -16508817.83342  21374762.873    21374766.737    21374761.727
+      2057.855        1603.523          55.000          48.000
+ -16989096.72443 -13227059.58242  22096143.810    22096148.628    22096142.326
+      -997.181        -777.024          53.000          47.000
+ -16087692.09043 -12480830.67942  21782759.208    21782762.076    21782758.097
+     -1994.581       -1554.219          55.000          47.000
+  -3626014.10143  -2771276.36142  24405969.811    24405980.483    24405968.302
+     -2190.625       -1706.980          44.000          38.000
+ 04  2  1 10 21 30.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -3117764.48843  -2425028.99542  24754355.095    24754365.286    24754353.993
+      2208.279        1720.737          46.000          39.000
+   -778335.77353   -615662.40952  24678942.005    24678950.585    24678941.728
+     -2470.887       -1925.366          39.000          33.000
+ -22789571.05543 -17741576.35242  20539619.955    20539624.391    20539619.319
+       251.205         195.744          56.000          51.000
+ -27110692.30244 -21080703.42942  19889434.365    19889438.724    19889432.989
+       398.915         310.843          57.000          52.000
+ -21305386.45443 -16556720.08642  21363064.107    21363068.533    21363063.640
+      2041.099        1590.467          55.000          48.000
+ -16959062.49043 -13203656.31642  22101858.167    22101863.575    22101857.130
+     -1004.254        -782.535          53.000          47.000
+ -16027819.54343 -12434176.74542  21794152.299    21794155.373    21794150.830
+     -1996.291       -1555.551          54.000          47.000
+  -3560315.94943  -2720083.12542  24418471.320    24418481.567    24418471.157
+     -2188.440       -1705.278          43.000          38.000
+ 04  2  1 10 22  0.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -3184083.94543  -2476706.31042  24741736.323    24741745.158    24741734.357
+      2213.677        1724.943          48.000          39.000
+                   -557836.53352  24693063.854    24693072.148
+     -2476.167       -1929.481          37.000          33.000
+ -22796787.63543 -17747199.65942  20538246.904    20538251.498    20538246.221
+       230.168         179.352          56.000          50.000
+ -27122344.66844 -21089783.16942  19887217.257    19887221.289    19887215.679
+       378.325         294.799          57.000          52.000
+ -21366354.89643 -16604227.93842  21351462.414    21351466.196    21351461.321
+      2023.753        1576.950          55.000          48.000
+ -16928812.26343 -13180084.72242  22107615.494    22107619.704    22107613.747
+     -1012.061        -788.619          53.000          47.000
+ -15967892.56743 -12387480.39842  21805555.467    21805558.776    21805554.346
+     -1998.319       -1557.132          54.000          47.000
+  -3494685.35443  -2668942.57942  24430961.908    24430971.309    24430960.319
+     -2186.343       -1703.644          44.000          38.000
+ 04  2  1 10 22 30.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -3250573.52243  -2528516.10842  24729083.438    24729090.905    24729082.415
+      2218.654        1728.821          45.000          38.000
+   -629772.82153   -499899.23442  24707213.910    24707220.836    24707211.743
+     -2481.661       -1933.762          40.000          34.000
+ -22803380.57443 -17752337.00742  20536992.469    20536996.430    20536991.714
+       208.631         162.570          56.000          51.000
+ -27133389.02344 -21098389.13842  19885115.584    19885119.514    19885113.883
+       357.317         278.429          57.000          52.000
+ -21426811.22943 -16651336.73942  21339958.021    21339961.762    21339956.904
+      2005.907        1563.044          55.000          48.000
+ -16898341.12643 -13156341.00842  22113413.177    22113417.927    22113411.940
+     -1019.975        -794.786          52.000          46.000
+ -15907908.67443 -12340739.69342  21816970.934    21816973.630    21816969.132
+     -2001.220       -1559.392          54.000          47.000
+  -3429121.53643  -2617854.02342  24443438.012    24443447.736    24443435.278
+     -2184.939       -1702.550          44.000          37.000
+ 04  2  1 10 23  0.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -3317233.26843  -2580458.57542  24716396.647    24716406.743    24716395.553
+      2224.806        1733.615          44.000          38.000
+   -555279.51243   -441852.53342  24721388.382    24721395.802    24721387.154
+     -2485.434       -1936.702          42.000          35.000
+ -22809352.22444 -17756990.24542  20535856.138    20535860.222    20535855.317
+       188.890         147.187          57.000          51.000
+ -27143827.60744 -21106523.06842  19883129.061    19883133.115    19883127.582
+       338.049         263.415          57.000          52.000
+ -21486755.80043 -16698046.77042  21328550.519    21328554.661    21328549.654
+      1989.722        1550.433          55.000          48.000
+ -16867650.87743 -13132426.53442  22119254.429    22119258.803    22119252.373
+     -1026.574        -799.928          53.000          47.000
+ -15847872.12843 -12293957.96842  21828395.305    21828397.965    21828393.937
+     -2001.803       -1559.846          54.000          47.000
+  -3363629.28143  -2566821.28642  24455900.778    24455908.127    24455900.598
+     -2181.704       -1700.029          44.000          37.000
+ 04  2  1 10 23 30.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -3384059.20343  -2632530.49842  24703680.748    24703691.116    24703679.717
+      2231.181        1738.583          46.000          38.000
+   -480644.11943   -383695.12242  24735591.222    24735598.383    24735590.893
+     -2489.645       -1939.983          42.000          36.000
+ -22814700.67244 -17761157.86442  20534838.546    20534842.416    20534837.353
+       168.382         131.207          57.000          51.000
+ -27153658.32344 -21114183.33642  19881258.569    19881262.393    19881256.716
+       317.931         247.738          58.000          52.000
+ -21546184.28643 -16744354.64942  21317241.568    21317246.301    21317241.318
+      1972.857        1537.291          55.000          49.000
+ -16836738.37343 -13108338.88942  22125136.100    22125141.024    22125134.690
+     -1033.677        -805.462          53.000          47.000
+ -15787782.13343 -12247134.59142  21839830.283    21839833.397    21839828.686
+     -2003.399       -1561.090          54.000          47.000
+  -3298209.50443  -2515844.98542  24468350.435    24468358.289    24468349.253
+     -2179.080       -1697.984          45.000          36.000
+ 04  2  1 10 24  0.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -3451051.43643  -2684731.99542  24690931.524    24690941.206    24690931.875
+      2236.485        1742.716          45.000          39.000
+   -405869.18743   -325429.02142  24749819.601    24749826.190    24749818.220
+     -2494.544       -1943.800          39.000          35.000
+ -22819427.96644 -17764841.45942  20533939.037    20533942.803    20533938.061
+       147.829         115.191          57.000          51.000
+ -27162883.61644 -21121371.84742  19879502.465    19879506.848    19879501.012
+       298.007         232.213          57.000          52.000
+ -21605096.85043 -16790260.51142  21306030.787    21306035.464    21306030.563
+      1955.725        1523.941          55.000          49.000
+ -16805605.49843 -13084079.51142  22131059.716    22131064.960    22131058.624
+     -1040.821        -811.029          52.000          46.000
+ -15727642.35243 -12200272.41442  21851274.155    21851277.264    21851272.982
+     -2004.856       -1562.225          54.000          47.000
+  -3232867.58743  -2464929.32942  24480783.984    24480794.778    24480782.947
+     -2176.090       -1695.654          45.000          37.000
+ 04  2  1 10 24 30.0000000  0  8G 4G27G29G 7G26G 8G28G10
+  -3518202.93943  -2737057.61242  24678154.214    24678161.733    24678152.599
+      2240.752        1746.041          46.000          39.000
+   -330950.25943   -267050.75142  24764077.490    24764083.303    24764077.554
+     -2499.606       -1947.745          39.000          35.000
+ -22823529.05644 -17768037.10542  20533158.188    20533162.447    20533157.280
+       126.061          98.229          57.000          51.000
+ -27171498.63444 -21128084.81942  19877863.172    19877867.450    19877861.696
+       276.788         215.679          57.000          52.000
+ -21663486.39443 -16835758.82742  21294920.012    21294924.060    21294919.361
+      1937.374        1509.642          55.000          49.000
+ -16774245.88743 -13059643.46742  22137028.023    22137032.978    22137026.545
+     -1049.245        -817.593          52.000          47.000
+ -15667449.31043 -12153368.73642  21862727.912    21862731.371    21862726.733
+     -2007.405       -1564.212          54.000          47.000
+  -3167601.36643  -2414072.64442  24493205.761    24493212.276    24493203.010
+     -2174.336       -1694.288          47.000          38.000
+ 04  2  1 10 25  0.0000000  0  7G 4G29G 7G26G 8G28G10
+  -3585516.30043  -2789509.33342  24665343.095    24665353.312    24665342.741
+      2246.052        1750.170          46.000          39.000
+ -22827008.81144 -17770748.59742  20532496.019    20532499.890    20532495.208
+       105.512          82.217          57.000          51.000
+ -27179507.91644 -21134325.79242  19876338.958    19876343.128    19876337.445
+       256.643         199.982          57.000          52.000
+ -21721355.28643 -16880851.44042  21283908.227    21283912.819    21283907.494
+      1920.085        1496.170          55.000          49.000
+ -16742663.83143 -13035034.06742  22143037.592    22143042.520    22143036.045
+     -1056.598        -823.323          52.000          46.000
+ -15607209.29843 -12106428.46242  21874190.978    21874194.679    21874190.015
+     -2008.914       -1565.387          53.000          47.000
+  -3102418.14143  -2363280.66742  24505608.963    24505616.073    24505606.964
+     -2171.497       -1692.075          46.000          38.000
+ 04  2  1 10 25 30.0000000  0  7G 4G29G 7G26G 8G28G10
+  -3652986.92943  -2842083.63042  24652505.839    24652514.330    24652504.718
+      2252.018        1754.819          47.000          40.000
+ -22829864.50243 -17772973.80142  20531952.098    20531956.674    20531951.426
+        84.743          66.034          56.000          51.000
+ -27186909.16244 -21140092.97142  19874930.399    19874934.916    19874929.201
+       236.541         184.318          57.000          52.000
+ -21778698.94543 -16925534.77942  21272995.260    21273000.336    21272994.653
+      1902.622        1482.563          55.000          49.000
+ -16710855.81343 -13010248.60142  22149090.046    22149095.742    22149088.968
+     -1064.090        -829.161          52.000          46.000
+ -15546920.96843 -12059450.54142  21885665.124    21885667.142    21885663.337
+     -2010.454       -1566.587          54.000          47.000
+  -3037318.30043  -2312553.64042  24517996.088    24518004.368    24517993.456
+     -2168.601       -1689.819          45.000          37.000
+ 04  2  1 10 26  0.0000000  0  7G 4G29G 7G26G 8G28G10
+  -3720616.67143  -2894781.89142  24639635.497    24639644.189    24639635.684
+      2256.985        1758.690          45.000          39.000
+ -22832100.62644 -17774716.23042  20531527.560    20531531.388    20531526.403
+        64.589          50.329          57.000          51.000
+ -27193706.76444 -21145389.77842  19873637.128    19873641.123    19873635.526
+       216.890         169.005          57.000          52.000
+ -21835519.59243 -16969810.57942  21262182.724    21262187.673    21262182.193
+      1885.564        1469.271          55.000          49.000
+ -16678825.19643 -12985289.66942  22155186.488    22155190.195    22155184.490
+     -1071.026        -834.566          53.000          47.000
+ -15486590.07043 -12012439.44342  21897144.272    21897147.279    21897143.238
+     -2011.435       -1567.352          54.000          47.000
+  -2972308.91043  -2261897.10542  24530365.860    24530376.109    24530365.008
+     -2165.105       -1687.095          44.000          36.000
+ 04  2  1 10 26 30.0000000  0  7G 4G29G 7G26G 8G28G10
+  -3788386.80843  -2947589.54542  24626737.356    24626749.092    24626736.872
+      2261.617        1762.299          45.000          39.000
+ -22833700.58143 -17775962.93542  20531222.813    20531226.635    20531221.794
+        43.079          33.568          56.000          51.000
+ -27199884.10244 -21150203.26442  19872461.674    19872465.912    19872460.128
+       195.856         152.615          57.000          52.000
+ -21891798.40343 -17013664.18042  21251473.253    21251478.081    21251472.685
+      1867.300        1455.039          55.000          49.000
+ -16646554.51843 -12960143.70142  22161326.697    22161331.909    22161325.779
+     -1079.490        -841.161          53.000          47.000
+ -15426201.57943 -11965383.46642  21908636.415    21908639.177    21908634.756
+     -2013.523       -1568.979          54.000          46.000
+  -2907376.10043  -2211300.21742  24542722.847    24542733.384    24542723.628
+     -2162.592       -1685.137          43.000          36.000
+ 04  2  1 10 27  0.0000000  0  8G 4G29G 7G26G 8G 9G28G10
+  -3856321.38543  -3000525.37742  24613810.516    24613820.044    24613810.784
+      2267.321        1766.744          45.000          39.000
+ -22834690.41744 -17776734.23042  20531034.434    20531038.347    20531033.447
+        22.860          17.813          57.000          51.000
+ -27205467.47244 -21154553.92142  19871398.827    19871403.413    19871397.677
+       176.220         137.314          57.000          52.000
+ -21947559.43743 -17057114.31242  21240862.115    21240866.931    21240861.928
+      1850.187        1441.704          55.000          49.000
+ -16614069.02643 -12934830.32442  22167508.696    22167513.061    22167507.612
+     -1086.507        -846.629          53.000          47.000
+   -963319.19353   -710641.20152  25465410.772    25465414.840    25465407.245
+      2618.800        2040.623          43.000          36.000
+ -15365782.53743 -11918303.69242  21920132.979    21920136.358    21920132.301
+     -2014.481       -1569.725          54.000          46.000
+  -2842548.44243  -2160785.29842  24555058.743    24555072.176    24555058.893
+     -2158.969       -1682.313          44.000          35.000
+ 04  2  1 10 27 30.0000000  0  8G 4G29G 7G26G 8G 9G28G10
+  -3924403.30343  -3053576.01642  24600856.417    24600864.489    24600855.666
+      2272.685        1770.923          45.000          39.000
+ -22835055.70244 -17777018.86142  20530964.767    20530969.039    20530963.854
+         2.670           2.080          57.000          51.000
+ -27210442.35644 -21158430.43242  19870452.697    19870456.576    19870451.106
+       156.669         122.080          58.000          52.000
+ -22002785.95243 -17100147.94542  21230353.187    21230357.686    21230352.397
+      1832.960        1428.281          55.000          49.000
+ -16581353.34043 -12909337.57542  22173734.003    22173738.907    22173732.811
+     -1093.430        -852.023          53.000          46.000
+  -1041955.03043   -771915.82542  25450447.198    25450453.189    25450448.510
+      2624.537        2045.094          43.000          37.000
+ -15305320.02443 -11871190.03342  21931639.124    21931641.999    21931637.746
+     -2015.182       -1570.272          53.000          46.000
+  -2777814.46943  -2110343.37642  24567378.802    24567388.472    24567375.608
+     -2155.597       -1679.686          43.000          35.000
+ 04  2  1 10 28  0.0000000  0  8G 4G29G 7G26G 8G 9G28G10
+  -3992632.69843  -3106741.56342  24587871.045    24587881.021    24587870.636
+      2276.557        1773.941          45.000          39.000
+ -22834798.85743 -17776818.71642  20531013.318    20531017.508    20531012.649
+       -19.264         -15.011          56.000          51.000
+ -27214811.36844 -21161834.83742  19869620.336    19869625.234    19869619.203
+       135.296         105.425          57.000          52.000
+ -22057478.08443 -17142765.17142  21219945.893    21219949.963    21219945.171
+      1813.896        1413.425          55.000          49.000
+ -16548408.92543 -12883666.60542  22180003.763    22180007.616    22180001.990
+     -1102.147        -858.816          52.000          46.000
+  -1120740.62943   -833307.21042  25435450.771    25435460.755    25435451.193
+      2628.780        2048.400          40.000          36.000
+ -15244817.54443 -11824045.23742  21943152.602    21943155.072    21943151.463
+     -2017.664       -1572.206          54.000          46.000
+  -2713179.10043  -2059978.26242  24579678.811    24579688.368    24579675.881
+     -2152.881       -1677.570          43.000          35.000
+ 04  2  1 10 28 30.0000000  0  8G 4G29G 7G26G 8G 9G28G10
+  -4061006.60843  -3160019.74242  24574858.655    24574870.003    24574858.541
+      2280.985        1777.391          44.000          39.000
+ -22833919.33443 -17776133.37442  20531180.691    20531185.058    20531179.872
+       -40.209         -31.332          56.000          51.000
+ -27218573.83944 -21164766.60842  19868905.083    19868909.361    19868903.322
+       114.820          89.470          57.000          52.000
+ -22111633.15943 -17184963.91442  21209640.444    21209644.662    21209639.551
+      1795.773        1399.304          55.000          49.000
+ -16515233.88443 -12857815.89942  22186316.432    22186320.689    22186315.469
+     -1110.208        -865.097          52.000          46.000
+  -1199675.08853   -894814.53552  25420428.547    25420442.392    25420431.875
+      2633.000        2051.688          37.000          34.000
+ -15184275.48343 -11776869.60142  21954672.879    21954676.677    21954671.643
+     -2019.189       -1573.394          53.000          46.000
+  -2648644.03743  -2009691.30442  24591958.323    24591968.503    24591958.130
+     -2149.986       -1675.314          44.000          35.000
+ 04  2  1 10 29  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4129523.51543  -3213409.33542  24561822.840    24561830.561    24561821.429
+      2286.622        1781.783          45.000          39.000
+   -594042.89053   -496211.92552  24893584.012    24893591.882    24893581.031
+     -2541.388       -1980.302          42.000          35.000
+ -22832417.95244 -17774963.46542  20531466.750    20531471.170    20531465.732
+       -60.356         -47.031          57.000          51.000
+ -27221730.76444 -21167226.53342  19868304.192    19868308.118    19868302.601
+        95.205          74.186          57.000          52.000
+ -22165249.63543 -17226742.97242  21199437.499    21199442.118    21199436.804
+      1778.342        1385.721          56.000          49.000
+ -16481828.44143 -12831785.68842  22192673.111    22192677.565    22192671.513
+     -1117.286        -870.612          52.000          47.000
+  -1278758.44153   -956437.89652  25405383.013    25405388.910    25405383.417
+      2638.756        2056.173          40.000          35.000
+ -15123695.83343 -11729664.69342  21966200.856    21966205.056    21966199.485
+     -2019.869       -1573.924          53.000          46.000
+  -2584212.76643  -1959485.22942  24604220.015    24604229.793    24604220.037
+     -2145.493       -1671.813          43.000          35.000
+ 04  2  1 10 29 30.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4198180.06543  -3266907.71342  24548757.348    24548765.303    24548755.764
+      2291.224        1785.369          46.000          40.000
+   -517734.35743   -436750.92142  24908100.635    24908111.559    24908100.583
+     -2545.256       -1983.316          40.000          35.000
+ -22830293.92144 -17773308.37642  20531871.116    20531874.902    20531870.051
+       -80.655         -62.848          57.000          50.000
+ -27224281.39944 -21169214.01842  19867818.543    19867822.784    19867817.179
+        75.359          58.721          57.000          52.000
+ -22218324.58143 -17268100.06342  21189337.040    21189342.025    21189336.550
+      1760.735        1372.001          55.000          49.000
+ -16448190.51043 -12805574.29942  22199074.654    22199079.103    22199072.571
+     -1124.488        -876.224          53.000          47.000
+  -1357989.04443  -1018175.95242  25390306.020    25390315.406    25390305.717
+      2643.643        2059.981          41.000          35.000
+ -15063078.92843 -11682430.73642  21977736.053    21977739.058    21977734.921
+     -2020.645       -1574.528          54.000          46.000
+  -2519887.07743  -1909361.41942  24616460.872    24616471.499    24616459.447
+     -2142.207       -1669.252          44.000          36.000
+ 04  2  1 10 30  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4266976.09643  -3320514.80342  24535666.279    24535673.789    24535664.745
+      2295.545        1788.736          46.000          40.000
+   -441290.22643   -377184.17042  24922648.775    24922659.531    24922648.876
+     -2550.630       -1987.504          42.000          35.000
+ -22827549.69444 -17771170.01742  20532393.258    20532397.104    20532392.384
+      -101.720         -79.262          57.000          51.000
+ -27226228.25744 -21170731.02742  19867448.268    19867452.463    19867446.825
+        54.943          42.813          57.000          52.000
+ -22270858.33143 -17309035.43142  21179340.735    21179344.736    21179339.989
+      1742.142        1357.513          55.000          49.000
+ -16414321.46543 -12779182.83942  22205519.749    22205524.131    22205518.078
+     -1132.790        -882.693          53.000          47.000
+  -1437368.40943  -1080029.92942  25375202.257    25375208.391    25375200.845
+      2648.806        2064.005          44.000          36.000
+ -15002428.17043 -11635170.39942  21989277.446    21989280.775    21989276.567
+     -2022.190       -1575.732          54.000          47.000
+  -2455671.86943  -1859323.75242  24628679.227    24628690.598    24628677.678
+     -2138.365       -1666.258          42.000          36.000
+ 04  2  1 10 30 30.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4335907.93943  -3374227.75142  24522549.576    24522555.910    24522548.262
+      2300.302        1792.443          46.000          40.000
+   -364709.35343   -317510.92542  24937225.162    24937230.200    24937222.526
+     -2554.677       -1990.657          44.000          36.000
+ -22824183.98044 -17768547.39042  20533033.144    20533037.820    20533032.733
+      -122.205         -95.225          57.000          51.000
+ -27227570.14744 -21171776.63342  19867192.421    19867197.009    19867191.076
+        34.941          27.227          57.000          52.000
+ -22322847.20043 -17349546.23242  21169446.988    21169451.959    21169446.265
+      1724.299        1343.610          55.000          49.000
+ -16380219.07743 -12752609.55142  22212009.363    22212013.586    22212007.554
+     -1140.289        -888.537          53.000          46.000
+  -1516894.69143  -1141998.42242  25360069.400    25360075.726    25360068.260
+      2653.782        2067.882          44.000          36.000
+ -14941743.52143 -11587883.65542  22000825.485    22000828.428    22000823.994
+     -2023.123       -1576.459          54.000          47.000
+  -2391567.98443  -1809372.79742  24640877.975    24640888.360    24640876.998
+     -2134.074       -1662.915          43.000          36.000
+ 04  2  1 10 31  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4404970.53643  -3428042.56242  24509404.594    24509415.418    24509404.716
+      2304.486        1795.703          46.000          40.000
+   -287989.57043   -257729.41742  24951823.234    24951830.112    24951823.098
+     -2559.803       -1994.652          43.000          37.000
+ -22820194.53144 -17765438.73642  20533792.915    20533796.910    20533791.749
+      -143.341        -111.694          57.000          51.000
+ -27228304.74644 -21172349.02842  19867053.314    19867057.339    19867051.620
+        14.355          11.186          57.000          52.000
+ -22374286.61743 -17389628.88942  21159659.273    21159663.517    21159658.388
+      1705.516        1328.974          56.000          49.000
+ -16345879.92643 -12725851.77342  22218543.483    22218547.478    22218542.031
+     -1148.620        -895.028          53.000          46.000
+  -1596564.77343  -1204078.97242  25344908.481    25344915.207    25344907.483
+      2658.270        2071.379          45.000          36.000
+ -14881023.56643 -11540569.40142  22012380.233    22012383.584    22012379.195
+     -2024.512       -1577.542          53.000          47.000
+  -2327575.62743  -1759508.82142  24653057.245    24653064.828    24653055.316
+     -2130.922       -1660.459          41.000          36.000
+ 04  2  1 10 31 30.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4474160.62043  -3481956.72842  24496239.750    24496246.951    24496238.651
+      2308.542        1798.864          46.000          40.000
+   -211130.01743   -197838.97442  24966449.450    24966456.366    24966448.142
+     -2564.466       -1998.285          42.000          36.000
+ -22815580.66543 -17761843.52042  20534670.660    20534674.531    20534669.718
+      -163.984        -127.780          56.000          51.000
+ -27228431.30844 -21172447.62642  19867028.791    19867033.176    19867027.426
+        -5.701          -4.442          57.000          52.000
+ -22425173.60643 -17429281.06242  21149975.147    21149979.616    21149974.427
+      1687.305        1314.783          55.000          49.000
+ -16311302.13043 -12698908.02842  22225124.265    22225127.622    22225122.390
+     -1156.266        -900.986          53.000          46.000
+  -1676377.00043  -1266270.25142  25329720.884    25329726.240    25329717.339
+      2662.900        2074.987          45.000          36.000
+ -14820268.37543 -11493227.69542  22023941.300    22023944.860    22023940.264
+     -2025.571       -1578.367          53.000          46.000
+  -2263696.25843  -1709732.85442  24665213.609    24665221.267    24665211.257
+     -2127.653       -1657.911          41.000          35.000
+ 04  2  1 10 32  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4543483.56443  -3535974.39242  24483046.949    24483054.847    24483045.534
+      2312.610        1802.034          46.000          39.000
+   -134139.03043   -137846.19842  24981099.650    24981107.495    24981099.201
+     -2569.284       -2002.039          38.000          36.000
+ -22810350.24543 -17757767.87642  20535665.786    20535670.260    20535664.945
+      -185.214        -144.322          56.000          50.000
+ -27227958.06644 -21172078.84642  19867119.023    19867123.227    19867117.589
+       -26.293         -20.488          57.000          52.000
+ -22475513.99343 -17468507.32142  21140396.021    21140400.076    21140395.131
+      1668.425        1300.071          56.000          49.000
+ -16276492.59843 -12671783.72842  22231747.051    22231751.889    22231746.071
+     -1164.724        -907.577          53.000          46.000
+  -1756338.56143  -1328577.93242  25314502.269    25314510.002    25314500.662
+      2667.390        2078.486          44.000          36.000
+ -14759486.79243 -11445865.42442  22035507.647    22035511.031    22035506.336
+     -2026.946       -1579.438          53.000          46.000
+  -2199940.39143  -1660053.08542  24677345.341    24677354.666    24677346.694
+     -2124.415       -1655.388          41.000          35.000
+ 04  2  1 10 32 30.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4612930.50043  -3590088.68942  24469830.146    24469840.820    24469831.104
+      2317.314        1805.699          44.000          39.000
+    -57010.29443    -77746.09342  24995777.376    24995784.131    24995776.116
+     -2573.184       -2005.078          40.000          36.000
+ -22804497.39343 -17753207.22142  20536779.599    20536783.834    20536778.682
+      -205.031        -159.764          56.000          50.000
+ -27226878.77444 -21171237.81742  19867324.339    19867328.468    19867322.921
+       -45.628         -35.554          57.000          52.000
+ -22525299.28843 -17507301.03842  21130921.702    21130926.377    21130921.023
+      1650.724        1286.278          55.000          49.000
+ -16241443.77243 -12644472.94842  22238417.224    22238421.595    22238415.479
+     -1171.775        -913.071          53.000          46.000
+  -1836442.04343  -1390996.21342  25299259.825    25299266.370    25299258.013
+      2672.729        2082.646          45.000          37.000
+ -14698673.62243 -11398478.53542  22047079.952    22047083.645    22047079.018
+     -2027.184       -1579.624          53.000          46.000
+  -5287143.75653  -4065666.28652  24689449.237    24689465.874    24689451.220
+     -2118.567       -1650.831          37.000          34.000
+ 04  2  1 10 33  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4682498.52143  -3644297.37542  24456591.015    24456600.561    24456590.852
+      2320.552        1808.222          44.000          39.000
+     20256.22743    -17538.59342  25010480.772    25010488.771    25010480.927
+     -2578.494       -2009.216          42.000          36.000
+ -22798021.82043 -17748161.33242  20538012.044    20538015.986    20538011.128
+      -226.752        -176.690          56.000          50.000
+ -27225193.41744 -21169924.53242  19867644.858    19867649.136    19867643.596
+       -66.707         -51.979          57.000          52.000
+ -22574527.13343 -17545660.37042  21121554.548    21121558.872    21121553.765
+      1631.139        1271.017          56.000          49.000
+ -16206154.60743 -12616974.90642  22245132.105    22245136.730    22245130.986
+     -1180.791        -920.097          53.000          47.000
+  -1916686.42843  -1453524.22742  25283992.231    25283996.985    25283990.905
+      2676.397        2085.504          46.000          38.000
+ -14637829.51143 -11351067.54842  22058658.806    22058661.922    22058657.194
+     -2029.161       -1581.164          53.000          46.000
+  -5223628.71753  -4016174.15152  24701541.404    24701551.232    24701539.715
+     -2115.556       -1648.485          40.000          34.000
+ 04  2  1 10 33 30.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4752189.13343  -3698601.55642  24443331.028    24443338.302    24443329.565
+      2324.820        1811.548          45.000          40.000
+     97656.38143     42773.05242  25025209.378    25025218.141    25025208.714
+     -2582.339       -2012.212          43.000          37.000
+ -22790927.67143 -17742633.43342  20539361.927    20539366.050    20539360.955
+      -246.699        -192.233          56.000          50.000
+ -27222906.32444 -21168142.35542  19868080.092    19868084.471    19868078.633
+       -86.254         -67.211          57.000          52.000
+ -22623199.30043 -17583586.71242  21112292.271    21112296.837    21112291.449
+      1613.178        1257.022          55.000          49.000
+ -16170627.88443 -12589291.75142  22251891.864    22251897.152    22251891.154
+     -1188.066        -925.766          52.000          46.000
+  -1997074.95343  -1516164.54042  25268693.413    25268699.951    25268691.256
+      2681.762        2089.685          46.000          38.000
+ -14576959.49743 -11303636.36942  22070241.573    22070244.798    22070240.430
+     -2029.358       -1581.318          54.000          46.000
+  -5160242.04443  -3966782.09142  24713601.297    24713610.807    24713600.254
+     -2109.881       -1644.063          37.000          34.000
+ 04  2  1 10 34  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4822001.00643  -3753000.21442  24430046.743    24430053.834    24430045.568
+      2329.595        1815.269          45.000          39.000
+    175188.61943    103187.62142  25039964.706    25039971.315    25039962.934
+     -2585.986       -2015.054          42.000          37.000
+ -22783216.89843 -17736625.04342  20540829.381    20540833.333    20540828.626
+      -266.762        -207.866          56.000          51.000
+ -27220019.08144 -21165892.52942  19868629.636    19868633.661    19868628.285
+      -105.804         -82.445          57.000          52.000
+ -22671315.29143 -17621079.67142  21103135.735    21103140.269    21103135.385
+      1595.114        1242.946          55.000          49.000
+ -16134864.11243 -12561423.88642  22258698.737    22258703.631    22258697.331
+     -1195.650        -931.675          53.000          47.000
+  -2077608.14943  -1578917.59742  25253368.180    25253375.289    25253367.667
+      2687.253        2093.963          45.000          38.000
+ -14516065.96943 -11256186.87442  22081829.611    22081832.695    22081828.170
+     -2029.647       -1581.543          53.000          46.000
+  -5096987.12443  -3917492.64542  24725639.458    24725652.917    24725636.180
+     -2105.792       -1640.877          40.000          34.000
+ 04  2  1 10 34 30.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4891928.87143  -3807489.26542  24416739.498    24416747.576    24416738.706
+      2332.910        1817.852          45.000          39.000
+    252855.24843    163706.92942  25054744.966    25054750.681    25054742.651
+     -2590.934       -2018.910          43.000          37.000
+ -22774886.71144 -17730133.99942  20542414.896    20542418.566    20542414.003
+      -288.001        -224.416          57.000          51.000
+ -27216529.36644 -21163173.25042  19869293.795    19869297.688    19869292.263
+      -126.347         -98.452          57.000          52.000
+ -22718870.25443 -17658135.45942  21094086.896    21094091.207    21094085.911
+      1575.788        1227.887          56.000          49.000
+ -16098859.66443 -12533368.48542  22265550.217    22265554.156    22265548.011
+     -1204.223        -938.355          52.000          46.000
+  -2158282.47743  -1641780.67342  25238017.061    25238021.716    25238014.443
+      2691.343        2097.150          46.000          38.000
+ -14455146.96343 -11208717.51342  22093422.110    22093424.585    22093420.913
+     -2031.031       -1582.621          53.000          46.000
+  -5033863.25543  -3868305.37842  24737650.975    24737663.605    24737649.053
+     -2101.987       -1637.912          39.000          34.000
+ 04  2  1 10 35  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -4961969.70443  -3862066.36942  24403411.550    24403418.324    24403409.799
+      2336.570        1820.704          45.000          39.000
+    330656.85343    224331.36842  25069548.285    25069555.221    25069546.603
+     -2594.873       -2021.979          43.000          37.000
+ -22765937.07644 -17723160.26242  20544117.710    20544121.511    20544116.934
+      -308.344        -240.268          57.000          51.000
+ -27212436.81644 -21159984.22642  19870072.784    19870076.362    19870071.176
+      -146.264        -113.972          58.000          52.000
+ -22765861.58843 -17694752.06142  21085144.672    21085148.976    21085143.537
+      1557.243        1213.436          55.000          49.000
+ -16062612.85243 -12505124.22342  22272447.635    22272451.741    22272446.450
+     -1212.008        -944.422          53.000          46.000
+  -2239096.41943  -1704752.54742  25222638.057    25222643.036    25222636.258
+      2696.210        2100.943          47.000          39.000
+ -14394202.78843 -11161228.54942  22105019.353    22105022.266    22105017.745
+     -2031.654       -1583.107          53.000          46.000
+  -4970872.53643  -3819221.80542  24749639.024    24749651.472    24749638.627
+     -2097.310       -1634.267          40.000          34.000
+ 04  2  1 10 35 30.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -5032120.62443  -3916729.24942  24390061.905    24390070.524    24390060.540
+      2341.265        1824.362          43.000          39.000
+    408593.36143    285060.94842  25084379.199    25084386.497    25084378.820
+     -2599.481       -2025.570          41.000          36.000
+ -22756368.16243 -17715703.97342  20545938.453    20545942.754    20545937.678
+      -328.462        -255.944          56.000          51.000
+ -27207741.84144 -21156325.78542  19870966.206    19870969.993    19870964.612
+      -165.708        -129.123          58.000          52.000
+ -22812287.22043 -17730927.85842  21076309.764    21076314.302    21076309.131
+      1538.907        1199.148          55.000          49.000
+ -16026122.55843 -12476690.24142  22279391.269    22279395.769    22279389.277
+     -1219.483        -950.246          52.000          46.000
+  -2320048.97543  -1767832.40242  25207233.074    25207238.679    25207231.286
+      2701.671        2105.198          46.000          39.000
+ -14333234.51243 -11113720.80642  22116621.296    22116623.698    22116620.162
+     -2031.732       -1583.168          53.000          46.000
+  -4908017.35643  -3770243.89642  24761601.529    24761610.347    24761599.244
+     -2091.739       -1629.926          39.000          34.000
+ 04  2  1 10 36  0.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5102381.53443  -3971477.81242  24376689.950    24376698.572    24376689.707
+      2344.028        1826.515          44.000          39.000
+    486662.10843    345893.54642  25099235.739    25099242.136    25099234.141
+     -2603.942       -2029.046          43.000          37.000
+ -22746182.68444 -17707767.24042  20547876.960    20547880.465    20547875.936
+      -349.737        -272.522          57.000          50.000
+ -27202447.11744 -21152200.00342  19871973.517    19871977.581    19871972.063
+      -186.353        -145.210          58.000          52.000
+ -22858147.60043 -17766663.19842  21067582.845    21067587.173    21067582.163
+      1519.336        1183.898          55.000          49.000
+ -15989390.29043 -12448067.70442  22286380.579    22286386.058    22286379.584
+     -1228.431        -957.219          52.000          46.000
+  -2401141.81543  -1831021.59542  25191801.885    25191806.961    25191800.847
+      2705.540        2108.213          45.000          39.000
+ -14272245.27843 -11066196.71842  22128226.556    22128229.466    22128225.727
+     -2033.299       -1584.389          53.000          46.000
+ 04  2  1 10 36 30.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5172747.81343  -4026308.48042  24363301.120    24363308.933    24363299.471
+      2347.704        1829.380          44.000          39.000
+    564864.74043    406830.50742  25114117.725    25114125.203    25114117.315
+     -2608.840       -2032.862          44.000          37.000
+ -22735379.05544 -17699348.82842  20549932.624    20549936.476    20549931.582
+      -370.144        -288.424          57.000          50.000
+ -27196551.10944 -21147605.69542  19873095.322    19873099.426    19873093.863
+      -206.417        -160.844          57.000          52.000
+ -22903438.73143 -17801954.96842  21058964.288    21058968.448    21058963.648
+      1500.412        1169.152          55.000          49.000
+ -15952413.10743 -12419254.35242  22293417.342    22293422.081    22293416.520
+     -1236.430        -963.452          52.000          46.000
+  -2482372.08543  -1894317.84642  25176344.561    25176350.167    25176343.572
+      2710.095        2111.762          46.000          39.000
+ -14211234.15643 -11018655.58142  22139837.025    22139839.437    22139835.229
+     -2033.897       -1584.855          53.000          46.000
+ 04  2  1 10 37  0.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5243220.01243  -4081221.69342  24349889.506    24349898.096    24349888.131
+      2350.641        1831.668          43.000          39.000
+    643197.60543    467868.94542  25129023.059    25129030.634    25129021.249
+     -2613.618       -2036.585          41.000          36.000
+ -22723961.06043 -17690451.69242  20552105.184    20552109.748    20552104.517
+      -390.907        -304.603          56.000          51.000
+ -27190057.69344 -21142545.86742  19874331.156    19874335.052    19874329.500
+      -226.492        -176.487          57.000          52.000
+ -22948162.13043 -17836804.35842  21050453.789    21050457.989    21050452.805
+      1481.145        1154.139          55.000          49.000
+ -15915193.46243 -12390252.05042  22300500.527    22300504.593    22300499.200
+     -1244.737        -969.925          53.000          46.000
+  -2563742.10643  -1957722.98842  25160862.302    25160865.202    25160860.356
+      2714.334        2115.065          46.000          39.000
+ -14150205.33343 -10971100.65342  22151450.249    22151453.080    22151448.502
+     -2034.734       -1585.507          53.000          46.000
+ 04  2  1 10 37 30.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5313792.18443  -4136212.79442  24336460.721    24336468.279    24336459.661
+      2354.265        1834.492          44.000          39.000
+    721663.98043    529011.38242  25143955.312    25143964.432    25143953.727
+     -2617.674       -2039.746          43.000          37.000
+ -22711925.83343 -17681073.59442  20554395.282    20554399.773    20554394.847
+      -411.323        -320.511          56.000          51.000
+ -27182963.78844 -21137018.12942  19875680.822    19875684.929    19875679.365
+      -246.337        -191.951          57.000          52.000
+ -22992312.37443 -17871207.13242  21042052.463    21042056.517    21042051.706
+      1462.233        1139.402          56.000          49.000
+ -15877726.81043 -12361057.28342  22307630.134    22307634.671    22307627.840
+     -1252.851        -976.247          52.000          46.000
+  -2645247.58043  -2021233.72942  25145349.126    25145353.567    25145348.812
+      2719.149        2118.817          44.000          37.000
+ -14089156.15343 -10923529.85342  22163067.776    22163070.247    22163066.340
+     -2035.199       -1585.869          53.000          46.000
+ 04  2  1 10 38  0.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5384465.24143  -4191282.52642  24323011.681    24323019.100    24323011.257
+      2357.126        1836.722          44.000          39.000
+    800260.23043    590255.03942  25158911.811    25158920.300    25158912.091
+     -2622.134       -2043.221          43.000          36.000
+ -22699277.24644 -17671217.55442  20556802.643    20556806.602    20556801.630
+      -431.978        -336.606          57.000          51.000
+ -27175273.47244 -21131025.65842  19877144.646    19877148.278    19877142.924
+      -266.384        -207.572          57.000          52.000
+ -23035891.13743 -17905164.59342  21033759.832    21033763.558    21033758.631
+      1442.900        1124.338          56.000          49.000
+ -15840015.94543 -12331672.21842  22314805.426    22314811.124    22314804.305
+     -1261.648        -983.102          52.000          46.000
+  -2726891.23243  -2084852.15242  25129810.771    25129818.685    25129811.411
+      2723.226        2121.994          42.000          37.000
+ -14028090.84843 -10875946.49042  22174688.051    22174690.933    22174686.698
+     -2036.026       -1586.514          53.000          46.000
+ 04  2  1 10 38 30.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5455259.53243  -4246446.72142  24309540.499    24309546.870    24309539.413
+      2360.607        1839.434          46.000          39.000
+    878962.63643    651581.37742  25173888.442    25173897.689    25173887.260
+     -2626.338       -2046.497          43.000          36.000
+ -22686039.10144 -17660902.12142  20559321.776    20559325.874    20559321.058
+      -452.475        -352.578          57.000          51.000
+ -27167010.42844 -21124586.90542  19878716.478    19878720.790    19878715.276
+      -286.228        -223.035          57.000          52.000
+ -23078919.68443 -17938693.32642  21025571.530    21025575.732    21025570.793
+      1423.866        1109.506          56.000          49.000
+ -15802082.73743 -12302113.89942  22322025.111    22322029.043    22322024.021
+     -1269.433        -989.168          53.000          46.000
+  -2808695.17543  -2148595.47242  25114248.082    25114252.445    25114245.755
+      2728.905        2126.419          45.000          38.000
+ -13967033.76843 -10828369.53842  22186306.737    22186309.620    22186305.699
+     -2036.291       -1586.720          53.000          46.000
+ 04  2  1 10 39  0.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5526125.84943  -4301667.04742  24296052.897    24296062.178    24296052.549
+      2362.735        1841.092          44.000          39.000
+    957817.69443    713026.67042  25188893.842    25188902.768    25188892.984
+     -2631.203       -2050.288          44.000          37.000
+ -22672165.24244 -17650091.32242  20561961.965    20561965.750    20561960.934
+      -473.348        -368.842          57.000          51.000
+ -27158128.65644 -21117666.02442  19880406.863    19880410.896    19880405.463
+      -306.702        -238.988          57.000          52.000
+ -23121349.55943 -17971755.54942  21017497.615    21017501.739    21017496.525
+      1404.051        1094.066          56.000          50.000
+ -15763879.95943 -12272345.52742  22329294.054    22329299.285    22329292.795
+     -1278.158        -995.967          52.000          46.000
+  -2890611.64643  -2212426.40242  25098658.636    25098664.578    25098657.220
+      2731.955        2128.796          46.000          40.000
+ -13905939.03943 -10780763.25042  22197932.772    22197935.799    22197930.919
+     -2037.447       -1587.621          53.000          46.000
+ 04  2  1 10 39 30.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5597080.61943  -4356956.29642  24282551.657    24282560.058    24282549.876
+      2367.099        1844.493          45.000          39.000
+   1036806.09743    774575.84542  25203925.154    25203931.890    25203925.001
+     -2634.751       -2053.053          45.000          37.000
+ -22657675.37943 -17638800.52642  20564719.157    20564723.399    20564718.284
+      -492.958        -384.123          56.000          50.000
+ -27148647.79644 -21110278.32442  19882211.092    19882214.959    19882209.554
+      -325.769        -253.846          57.000          52.000
+ -23163198.18543 -18004364.86542  21009534.129    21009538.196    21009533.169
+      1385.615        1079.700          56.000          50.000
+ -15725425.76143 -12242381.24942  22336612.319    22336616.396    22336610.790
+     -1285.685       -1001.832          52.000          46.000
+  -2972658.87743  -2276359.26542  25083045.832    25083051.585    25083044.218
+      2737.284        2132.949          46.000          39.000
+ -13844826.54243 -10733143.13042  22209562.265    22209564.992    22209560.695
+     -2036.995       -1587.269          53.000          46.000
+ 04  2  1 10 40  0.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5668124.57643  -4412315.03242  24269032.325    24269040.541    24269032.205
+      2370.123        1846.849          45.000          40.000
+   1115924.33743    836226.22842  25218982.552    25218991.040    25218979.534
+     -2639.690       -2056.901          44.000          37.000
+ -22642573.31543 -17627032.68342  20567592.952    20567597.002    20567592.079
+      -513.201        -399.897          56.000          50.000
+ -27138571.55144 -21102426.68442  19884128.497    19884132.698    19884127.047
+      -345.432        -269.168          57.000          52.000
+ -23204466.81643 -18036522.23142  21001680.868    21001685.422    21001680.118
+      1366.423        1064.745          56.000          50.000
+ -15686722.26843 -12212222.71242  22343977.764    22343981.659    22343976.083
+     -1293.777       -1008.138          52.000          46.000
+  -3054839.25443  -2340395.86242  25067407.038    25067413.701    25067406.031
+      2742.094        2136.697          45.000          39.000
+ -13783700.53943 -10685512.46542  22221193.825    22221197.343    22221192.292
+     -2037.445       -1587.619          53.000          45.000
+ 04  2  1 10 40 30.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5739254.22543  -4467740.56942  24255497.023    24255505.204    24255495.803
+      2372.286        1848.535          46.000          40.000
+   1195172.53443    897977.81342  25234059.315    25234068.800    25234060.588
+     -2644.155       -2060.381          42.000          36.000
+ -22626859.13743 -17614787.87642  20570583.302    20570587.150    20570582.185
+      -534.150        -416.221          56.000          50.000
+ -27127900.13744 -21094111.27842  19886159.312    19886163.206    19886157.815
+      -365.716        -284.973          57.000          52.000
+ -23245153.17443 -18068225.87642  20993938.308    20993942.909    20993937.332
+      1346.439        1049.173          56.000          50.000
+ -15647768.28943 -12181868.98842  22351389.649    22351394.672    22351388.778
+     -1302.770       -1015.145          52.000          46.000
+  -3137151.16843  -2404534.97642  25051743.813    25051749.446    25051742.458
+      2745.679        2139.490          46.000          39.000
+ -13722561.08343 -10637871.32442  22232827.798    22232831.182    22232826.821
+     -2038.338       -1588.315          53.000          46.000
+ 04  2  1 10 41  0.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5810470.09343  -4523233.29542  24241945.236    24241952.288    24241943.496
+      2376.003        1851.431          46.000          40.000
+   1274547.43943    959828.15942  25249165.770    25249174.417    25249164.826
+     -2647.355       -2062.874          43.000          37.000
+ -22610536.58043 -17602069.00042  20573689.400    20573693.441    20573688.381
+      -553.684        -431.442          56.000          51.000
+ -27116637.19644 -21085334.94242  19888302.676    19888306.244    19888301.014
+      -384.773        -299.823          57.000          52.000
+ -23285258.69543 -18099476.92842  20986306.188    20986310.740    20986305.705
+      1327.620        1034.509          56.000          50.000
+ -15608565.76743 -12151321.59042  22358849.445    22358854.448    22358847.703
+     -1310.286       -1021.002          51.000          45.000
+  -3219596.56043  -2468778.11642  25036053.707    25036061.064    25036052.639
+      2750.968        2143.611          47.000          39.000
+ -13661412.05243 -10590222.71042  22244464.171    22244466.912    22244462.285
+     -2037.877       -1587.956          53.000          45.000
+ 04  2  1 10 41 30.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5881765.64343  -4578788.12542  24228378.084    24228385.992    24228375.576
+      2377.847        1852.868          46.000          40.000
+   1354052.61043   1021780.00642  25264296.129    25264304.432    25264294.606
+     -2652.527       -2066.904          42.000          37.000
+ -22593602.65944 -17588873.74042  20576911.904    20576915.975    20576910.883
+      -574.632        -447.765          57.000          51.000
+ -27104779.66044 -21076095.28542  19890558.606    19890562.806    19890557.153
+      -405.038        -315.614          57.000          52.000
+ -23324777.90043 -18130271.11342  20978786.324    20978790.461    20978785.341
+      1307.556        1018.875          56.000          49.000
+ -15569110.12743 -12120576.95142  22366358.283    22366362.785    22366356.836
+     -1319.331       -1028.050          52.000          46.000
+  -3302170.68543  -2533121.58442  25020340.161    25020345.493    25020340.404
+      2754.703        2146.522          45.000          39.000
+ -13600250.52843 -10542564.38142  22256103.362    22256106.109    22256101.936
+     -2038.931       -1588.777          53.000          45.000
+ 04  2  1 10 42  0.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -5953141.51843  -4634405.52042  24214794.462    24214803.710    24214794.622
+      2381.544        1855.748          47.000          40.000
+   1433684.11643   1083830.30042  25279450.084    25279458.562    25279448.374
+     -2655.986       -2069.599          43.000          37.000
+ -22576061.31444 -17575205.16542  20580250.312    20580253.995    20580249.051
+      -594.466        -463.220          57.000          51.000
+ -27092331.64244 -21066395.51042  19892927.533    19892931.483    19892925.931
+      -424.333        -330.649          57.000          52.000
+ -23363712.43843 -18160609.70142  20971377.009    20971381.526    20971376.373
+      1288.577        1004.086          56.000          50.000
+ -15529403.86643 -12089637.01442  22373913.203    22373918.521    22373912.131
+     -1327.229       -1034.204          51.000          46.000
+  -3384876.00043  -2597567.24242  25004601.814    25004607.239    25004599.967
+      2759.510        2150.268          45.000          38.000
+ -13539080.71543 -10494899.58342  22267743.118    22267746.143    22267741.640
+     -2038.746       -1588.633          52.000          45.000
+ 04  2  1 10 42 30.0000000  0  8G 4G27G29G 7G26G 8G 9G28
+  -6024589.06143  -4690078.77742  24201198.551    24201206.026    24201198.271
+      2383.505        1857.277          46.000          40.000
+   1513447.65543   1145983.48142  25294629.115    25294636.421    25294628.474
+     -2660.291       -2072.954          44.000          37.000
+ -22557907.52843 -17561059.36742  20583704.099    20583708.594    20583703.335
+      -614.699        -478.986          56.000          51.000
+ -27079288.02144 -21056231.62842  19895409.549    19895413.608    19895408.303
+      -444.134        -346.078          57.000          51.000
+ -23402054.71743 -18190486.79242  20964080.971    20964085.214    20964080.096
+      1268.850         988.714          56.000          50.000
+ -15489440.31943 -12058496.61242  22381518.946    22381523.825    22381517.290
+     -1335.822       -1040.900          52.000          46.000
+  -3467705.48043  -2662109.65542  24988840.985    24988844.996    24988839.319
+      2763.817        2153.624          45.000          38.000
+ -13477897.58443 -10447224.41742  22279386.950    22279389.236    22279385.296
+     -2039.022       -1588.848          53.000          46.000
+ 04  2  1 10 43  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -6096118.55243  -4745815.89942  24187586.448    24187594.301    24187585.076
+      2386.223        1859.395          47.000          40.000
+   1593330.01043   1208229.25042  25309829.520    25309838.959    25309828.576
+     -2665.037       -2076.652          44.000          37.000
+ -22539155.03244 -17546447.03942  20587272.906    20587277.101    20587271.951
+      -635.019        -494.820          57.000          50.000
+ -27065662.52544 -21045614.34242  19898002.405    19898006.643    19898001.199
+      -463.853        -361.444          57.000          52.000
+ -23439816.16743 -18219911.29642  20956895.253    20956899.335    20956894.611
+      1249.101         973.325          56.000          50.000
+ -15449231.52943 -12027165.10742  22389170.343    22389174.395    22389168.549
+     -1344.243       -1047.462          51.000          45.000
+  -3550671.16843  -2726758.21442  24973052.387    24973057.258    24973052.806
+      2768.087        2156.951          45.000          39.000
+ -13416714.93243 -10399549.63142  22291028.088    22291032.388    22291027.121
+     -2039.275       -1589.045          52.000          45.000
+                                  24937571.981
+     -2013.512       -1568.970          44.000
+ 04  2  1 10 43 30.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -6167715.57143  -4801605.64442  24173962.230    24173969.911    24173962.014
+      2388.966        1861.532          46.000          40.000
+   1673342.49643   1270576.42742  25325056.352    25325063.517    25325054.870
+     -2668.149       -2079.077          43.000          37.000
+ -22519792.66644 -17531359.49342  20590957.277    20590961.446    20590956.370
+      -654.210        -509.774          57.000          50.000
+ -27051444.04444 -21034534.98742  19900708.312    19900712.213    19900706.737
+      -482.526        -375.994          58.000          52.000
+ -23476983.20643 -18248872.62042  20949822.714    20949826.497    20949821.726
+      1230.389         958.745          56.000          49.000
+ -15408764.96243 -11995632.72842  22396870.438    22396875.549    22396868.936
+     -1351.916       -1053.441          51.000          46.000
+  -3633760.12043  -2791502.81142  24957242.074    24957246.570    24957240.203
+      2773.284        2161.001          45.000          39.000
+ -13355521.37543 -10351866.32642  22302673.685    22302676.218    22302672.322
+     -2038.723       -1588.615          53.000          45.000
+   -437027.33753   -344792.49452  24949051.938    24949062.857    24949051.087
+     -2006.650       -1563.623          42.000          37.000
+ 04  2  1 10 44  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -6239381.03643  -4857448.75142  24160324.842    24160332.066    24160324.588
+      2390.595        1862.801          46.000          39.000
+   1753481.06443   1333021.83042  25340304.979    25340314.237    25340303.145
+     -2672.908       -2082.785          42.000          36.000
+ -22499825.13443 -17515800.38442  20594756.812    20594761.280    20594756.146
+      -674.950        -525.935          56.000          50.000
+ -27036637.19744 -21022997.16542  19903526.076    19903529.636    19903524.583
+      -502.802        -391.794          58.000          52.000
+ -23513558.00543 -18277372.46042  20942862.548    20942866.727    20942861.695
+      1209.910         942.787          56.000          50.000
+ -15368043.33843 -11963901.59442  22404619.060    22404624.421    22404618.375
+     -1360.909       -1060.448          51.000          45.000
+  -3716975.13143  -2856345.61242  24941407.259    24941411.380    24941405.730
+      2776.600        2163.584          45.000          39.000
+ -13294321.39043 -10304178.04442  22314319.698    22314322.702    22314318.338
+     -2039.482       -1589.207          52.000          45.000
+   -376868.04643   -297915.21742  24960499.591    24960509.852    24960498.405
+     -2001.751       -1559.806          40.000          37.000
+ 04  2  1 10 44 30.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -6311114.38143  -4913344.74842  24146675.594    24146680.897    24146672.998
+      2392.266        1864.103          46.000          39.000
+   1833743.19443   1395563.53842  25355578.114    25355588.972    25355577.226
+     -2677.406       -2086.290          42.000          36.000
+ -22479255.67743 -17499772.24442  20598671.151    20598675.076    20598670.394
+      -695.484        -541.935          56.000          50.000
+ -27021245.10544 -21011003.30842  19906454.984    19906458.934    19906453.432
+      -522.583        -407.207          58.000          52.000
+ -23549541.47443 -18305411.51742  20936015.071    20936019.419    20936014.414
+      1189.806         927.122          56.000          50.000
+ -15327068.10543 -11931972.86342  22412417.460    22412421.273    22412416.194
+     -1369.830       -1067.400          52.000          45.000
+  -3800317.38143  -2921287.54042  24925546.743    24925551.122    24925545.735
+      2780.391        2166.538          44.000          39.000
+ -13233117.92543 -10256487.03642  22325966.152    22325968.941    22325964.917
+     -2039.979       -1589.594          53.000          45.000
+   -316890.72643   -251179.73642  24971914.083    24971924.106    24971911.550
+     -1995.984       -1555.312          41.000          37.000
+ 04  2  1 10 45  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -6382909.99343  -4969289.25242  24133012.732    24133019.695    24133011.813
+      2393.948        1865.414          47.000          39.000
+   1914131.42943   1458203.50642  25370877.824    25370884.959    25370875.872
+     -2681.584       -2089.546          42.000          36.000
+ -22458082.03544 -17483273.31042  20602700.578    20602704.438    20602699.793
+      -716.012        -557.931          57.000          50.000
+ -27005265.63144 -20998551.75542  19909495.569    19909499.506    19909494.156
+      -542.574        -422.785          57.000          52.000
+ -23584928.90743 -18332986.13442  20929281.293    20929285.248    20929280.636
+      1169.452         911.261          56.000          50.000
+ -15285835.70143 -11899843.71442  22420262.780    22420267.777    22420261.149
+     -1378.788       -1074.380          51.000          45.000
+  -3883782.81243  -2986325.48042  24909663.855    24909669.605    24909664.451
+      2784.184        2169.494          44.000          38.000
+ -13171909.19843 -10208791.92842  22337613.088    22337616.777    22337612.064
+     -2040.615       -1590.090          52.000          45.000
+   -257093.97143   -204584.92942  24983293.005    24983303.317    24983292.122
+     -1990.410       -1550.969          42.000          37.000
+ 04  2  1 10 45 30.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -6454767.70143  -5025282.16942  24119337.997    24119345.407    24119337.296
+      2395.827        1866.878          46.000          39.000
+   1994642.80743   1520939.41942  25386197.827    25386207.912    25386195.934
+     -2685.690       -2092.745          41.000          36.000
+ -22436307.75643 -17466306.34842  20606844.077    20606848.163    20606843.022
+      -735.948        -573.466          56.000          50.000
+ -26988702.38044 -20985645.31142  19912647.288    19912651.635    19912645.814
+      -561.946        -437.880          57.000          51.000
+ -23619721.63643 -18360097.34842  20922659.838    20922664.388    20922659.321
+      1149.700         895.870          56.000          50.000
+ -15244347.70343 -11867515.42342  22428159.028    22428163.746    22428157.266
+     -1387.425       -1081.110          52.000          45.000
+  -3967373.07843  -3051460.70042  24893757.494    24893760.782    24893754.555
+      2788.407        2172.785          44.000          38.000
+ -13110697.99643 -10161094.89442  22349260.973    22349265.202    22349260.145
+     -2040.542       -1590.033          52.000          45.000
+   -197482.42143   -158134.46142  24994639.067    24994646.701    24994637.180
+     -1983.894       -1545.891          43.000          37.000
+ 04  2  1 10 46  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -6526684.71243  -5081321.28142  24105651.797    24105659.752    24105652.266
+      2397.844        1868.450          46.000          39.000
+   2075277.00743   1583771.06542  25401542.299    25401550.570    25401541.712
+     -2690.647       -2096.608          41.000          35.000
+ -22413933.98744 -17448872.25542  20611101.895    20611105.703    20611100.590
+      -756.771        -589.692          57.000          50.000
+ -26971556.16744 -20972284.61242  19915910.145    19915913.981    19915908.640
+      -582.255        -453.705          57.000          51.000
+ -23653918.00743 -18386743.87042  20916153.085    20916157.065    20916152.396
+      1128.979         879.724          56.000          50.000
+ -15202603.47743 -11834987.44642  22436101.545    22436106.445    22436100.253
+     -1396.804       -1088.419          52.000          45.000
+  -4051087.17243  -3116692.35842  24877826.482    24877830.485    24877825.129
+      2791.277        2175.021          44.000          38.000
+ -13049485.22143 -10113396.63342  22360909.954    22360912.897    22360909.340
+     -2041.504       -1590.782          52.000          45.000
+   -138058.59043   -111830.33442  25005948.458    25005955.885    25005945.172
+     -1978.344       -1541.567          44.000          37.000
+ 04  2  1 10 46 30.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -6598653.58343  -5137400.81642  24091956.893    24091965.309    24091956.742
+      2400.038        1870.159          46.000          39.000
+   2156038.36243   1646701.70842  25416910.971    25416921.350    25416909.333
+     -2694.067       -2099.273          40.000          35.000
+ -22390956.80243 -17430967.96142  20615474.081    20615478.005    20615473.076
+      -775.766        -604.493          56.000          50.000
+ -26953823.24744 -20958466.73442  19919284.640    19919288.495    19919283.333
+      -600.624        -468.019          57.000          51.000
+ -23687511.93043 -18412920.94442  20909759.905    20909764.220    20909759.540
+      1109.912         864.866          56.000          50.000
+ -15160597.46143 -11802255.49442  22444095.718    22444100.177    22444094.914
+     -1404.414       -1094.348          52.000          46.000
+  -4134918.81543  -3182015.67842  24861873.151    24861879.479    24861873.605
+      2796.325        2178.955          44.000          39.000
+ -12988267.12843 -10065694.22542  22372559.363    22372563.167    22372558.271
+     -2040.422       -1589.939          52.000          45.000
+    -78820.04043    -65670.56142  25017218.946    25017229.132    25017216.807
+     -1971.239       -1536.030          42.000          37.000
+ 04  2  1 10 47  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -6670678.83143  -5193524.26642  24078251.478    24078258.444    24078250.010
+      2401.187        1871.055          46.000          40.000
+   2236918.74243   1709725.17342  25432301.922    25432312.189    25432300.399
+     -2698.885       -2103.027          40.000          34.000
+ -22367384.82943 -17412600.20442  20619959.732    20619963.859    20619958.764
+      -796.275        -620.474          56.000          50.000
+ -26935512.03644 -20944198.24242  19922769.216    19922773.200    19922767.727
+      -620.680        -483.647          57.000          51.000
+ -23720509.48043 -18438633.31542  20903481.012    20903485.256    20903480.121
+      1089.297         848.803          56.000          50.000
+ -15118336.17843 -11769324.63242  22452137.669    22452142.192    22452136.114
+     -1413.536       -1101.457          52.000          46.000
+  -4218874.51743  -3247435.62442  24845898.634    24845903.754    24845898.360
+      2800.072        2181.874          47.000          40.000
+ -12927051.79343 -10017993.97142  22384208.308    22384212.038    22384207.018
+     -2041.006       -1590.394          52.000          45.000
+    -19776.11943    -19662.40742  25028453.446    25028464.396    25028451.705
+     -1965.307       -1531.408          43.000          37.000
+ 04  2  1 10 47 30.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -6742756.04543  -5249688.20642  24064533.569    24064543.269    24064534.270
+      2403.466        1872.831          46.000          40.000
+   2317920.02843   1772842.80042  25447716.254    25447724.803    25447713.461
+     -2702.335       -2105.715          40.000          35.000
+ -22343217.19943 -17393768.29342  20624558.619    20624562.687    20624557.672
+      -815.616        -635.545          56.000          50.000
+ -26916621.67944 -20929478.47242  19926363.748    19926367.910    19926362.191
+      -639.528        -498.333          57.000          51.000
+ -23752907.40343 -18463878.44242  20897315.921    20897319.995    20897314.986
+      1069.791         833.603          56.000          50.000
+ -15075817.34143 -11736193.07742  22460228.693    22460233.396    22460227.278
+     -1421.945       -1108.009          52.000          45.000
+  -4302951.48143  -3312950.07542  24829897.433    24829903.918    24829896.750
+      2804.554        2185.367          44.000          39.000
+ -12865837.87143  -9970294.80842  22395857.027    22395859.772    22395855.764
+     -2040.722       -1590.173          52.000          45.000
+     39072.69543     26193.69142  25039654.136    25039663.098    25039650.315
+     -1958.736       -1526.288          42.000          37.000
+ 04  2  1 10 48  0.0000000  0  9G 4G27G29G 7G26G 8G 9G28G10
+  -6814875.61643  -5305885.15542  24050812.040    24050818.907    24050811.833
+      2404.789        1873.862          48.000          41.000
+   2399048.03443   1836059.20242  25463156.325    25463162.122    25463153.953
+     -2706.501       -2108.962          42.000          35.000
+ -22318448.40543 -17374467.93842  20629272.234    20629276.102    20629271.372
+      -835.447        -650.998          56.000          50.000
+ -26897146.72444 -20914303.16642  19930070.054    19930073.888    19930068.536
+      -658.712        -513.282          57.000          51.000
+ -23784697.63543 -18488650.04042  20891266.074    20891270.341    20891265.340
+      1049.713         817.958          56.000          49.000
+ -15033033.31743 -11702854.90542  22468369.482    22468375.026    22468368.729
+     -1430.346       -1114.555          52.000          45.000
+  -4387142.00743  -3378553.01442  24813876.353    24813881.835    24813875.769
+      2808.479        2188.425          44.000          39.000
+ -12804619.56843  -9922592.24642  22407506.166    22407509.968    22407505.246
+     -2040.421       -1589.938          52.000          45.000
+     97731.35343     71901.64142  25050817.226    25050826.216    25050814.296
+     -1952.157       -1521.161          42.000          36.000
+ 04  2  1 10 48 30.0000000  0 10G 4G27G29G 7G26G 8G 9G28G 5G10
+  -6887043.89343  -5362120.04342  24037078.263    24037085.000    24037077.803
+      2406.688        1875.341          48.000          42.000
+   2480293.63943   1899367.24742  25478614.979    25478626.653    25478613.825
+     -2709.772       -2111.511          40.000          34.000
+ -22293088.38843 -17354706.90242  20634097.690    20634102.092    20634096.816
+      -854.883        -666.142          56.000          50.000
+ -26877096.97744 -20898679.97542  19933884.870    19933889.147    19933883.366
+      -677.641        -528.032          57.000          51.000
+ -23815887.87343 -18512954.11342  20885330.495    20885335.316    20885330.069
+      1029.922         802.537          56.000          49.000
+ -14989992.41843 -11669316.54842  22476561.750    22476565.031    22476560.200
+     -1438.606       -1120.992          52.000          46.000
+  -4471453.86743  -3444250.50542  24797831.656    24797837.694    24797832.072
+      2812.711        2191.723          44.000          38.000
+ -12743406.36643  -9874893.64942  22419155.598    22419158.772    22419153.497
+     -2039.980       -1589.595          52.000          45.000
+   -608642.13353   -469289.38852  25413897.455    25413906.932    25413899.069
+      1900.608        1480.993          42.000          36.000
+    156188.62243    117452.59442  25061939.875    25061949.005    25061937.075
+     -1944.895       -1515.502          42.000          36.000
+ 04  2  1 10 49  0.0000000  0 10G 4G27G29G 7G26G 8G 9G28G 5G10
+  -6959257.46943  -5418390.23542  24023336.999    24023344.058    24023336.235
+      2407.570        1876.028          48.000          42.000
+   2561656.90853   1962766.90652  25494099.515    25494105.572    25494095.665
+     -2714.127       -2114.904          38.000          33.000
+ -22267137.63143 -17334485.53642  20639036.134    20639040.194    20639035.265
+      -875.121        -681.912          56.000          50.000
+ -26856473.12144 -20882609.42542  19937809.632    19937813.871    19937808.216
+      -697.380        -543.413          57.000          51.000
+ -23846476.42943 -18536789.34642  20879509.453    20879514.726    20879509.303
+      1009.250         786.429          56.000          50.000
+ -14946693.42443 -11635577.08942  22484799.439    22484804.140    22484798.458
+     -1447.863       -1128.205          51.000          45.000
+  -4555885.38543  -3510041.22342  24781765.268    24781772.421    24781765.682
+      2816.239        2194.472          44.000          39.000
+ -12682198.48143  -9827199.21242  22430802.504    22430805.359    22430801.033
+     -2040.588       -1590.068          52.000          45.000
+   -665619.01343   -513686.81942  25403058.874    25403064.045    25403055.121
+      1897.471        1478.549          42.000          37.000
+    214442.72643    162845.28742  25073025.324    25073035.065    25073022.891
+     -1938.692       -1510.669          41.000          36.000
+ 04  2  1 10 49 30.0000000  0 10G 4G27G29G 7G26G 8G 9G28G 5G10
+  -7031506.53343  -5474688.06442  24009586.594    24009595.209    24009586.176
+      2409.076        1877.202          47.000          42.000
+                   2026263.11952  25509606.707    25509617.774
+     -2719.005       -2118.705          35.000          31.000
+ -22240590.57243 -17313799.52842  20644087.458    20644091.988    20644086.962
+      -894.652        -697.131          56.000          50.000
+ -26835269.33944 -20866086.98542  19941844.347    19941848.535    19941843.038
+      -716.263        -558.127          57.000          51.000
+ -23876454.86243 -18560149.15642  20873805.557    20873809.851    20873804.690
+       989.286         770.872          56.000          50.000
+ -14903128.63943 -11601630.51242  22493089.993    22493095.306    22493088.119
+     -1456.353       -1134.820          51.000          45.000
+  -4640428.59243  -3575918.96642  24765678.550    24765684.160    24765676.590
+      2820.589        2197.862          45.000          39.000
+ -12620989.63243  -9779503.99242  22442450.871    22442452.418    22442450.066
+     -2040.186       -1589.755          52.000          45.000
+   -722511.07243   -558018.10342  25392230.140    25392238.245    25392229.388
+      1895.621        1477.107          41.000          36.000
+    272498.59353    208083.43752  25084073.792    25084082.516    25084071.851
+     -1931.757       -1505.265          43.000          36.000
+ 04  2  1 10 50  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G10
+  -7103794.55543  -5531016.27642  23995832.083    23995839.308    23995830.674
+      2410.464        1878.284          48.000          42.000
+ -22213454.71344 -17292654.70842  20649251.675    20649255.875    20649250.906
+      -914.188        -712.354          57.000          50.000
+ -26813492.90544 -20849118.32142  19945988.571    19945992.703    19945987.208
+      -735.317        -572.974          57.000          51.000
+ -23905828.36943 -18583037.59542  20868215.940    20868220.096    20868215.420
+       969.270         755.275          56.000          50.000
+ -14859303.57443 -11567481.15042  22501429.846    22501434.226    22501428.486
+     -1464.963       -1141.530          51.000          45.000
+  -4725088.52543  -3641887.66842  24749566.591    24749573.033    24749567.043
+      2824.299        2200.752          45.000          39.000
+ -12559786.57643  -9731813.29742  22454096.365    22454099.514    22454095.401
+     -2039.963       -1589.581          52.000          45.000
+   -779324.81843   -602288.42642  25381416.460    25381426.649    25381415.368
+      1892.700        1474.831          38.000          36.000
+    330348.39243    253161.05442  25095079.510    25095090.922    25095079.403
+     -1924.555       -1499.653          40.000          35.000
+ 04  2  1 10 50 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G10
+  -7176118.64443  -5587372.58842  23982068.510    23982076.552    23982068.495
+      2411.080        1878.764          48.000          42.000
+ -22185731.15344 -17271051.93742  20654527.410    20654531.349    20654526.463
+      -934.037        -727.821          57.000          50.000
+ -26791144.92844 -20831704.29942  19950241.345    19950245.207    19950239.781
+      -754.592        -587.994          57.000          51.000
+ -23934595.51043 -18605453.54042  20862741.632    20862745.650    20862740.940
+       948.633         739.194          56.000          50.000
+ -14815217.50743 -11533128.37842  22509819.714    22509823.811    22509817.767
+     -1474.039       -1148.602          52.000          45.000
+  -4809863.93543  -3707946.35842  24733435.133    24733441.111    24733434.649
+      2827.596        2203.322          45.000          39.000
+ -12498590.16343  -9684127.78142  22465741.582    22465744.888    22465740.560
+     -2039.953       -1589.574          52.000          44.000
+   -836060.40343   -646497.81442  25370619.487    25370628.259    25370619.890
+      1889.658        1472.461          40.000          35.000
+    387990.07643    298076.48242  25106048.445    25106062.150    25106046.895
+     -1918.369       -1494.833          41.000          35.000
+ 04  2  1 10 51  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G10
+  -7248474.41143  -5643753.59142  23968299.632    23968307.111    23968297.858
+      2412.492        1879.864          47.000          42.000
+ -22157419.42243 -17248990.85442  20659914.962    20659919.014    20659913.765
+      -953.368        -742.884          56.000          50.000
+ -26768224.98044 -20813844.58742  19954602.736    19954606.811    19954601.246
+      -773.296        -602.568          57.000          51.000
+ -23962753.61243 -18627394.91342  20857383.294    20857387.234    20857382.488
+       928.591         723.577          56.000          50.000
+ -14770868.22243 -11498570.51642  22518259.074    22518262.692    22518257.718
+     -1482.441       -1155.149          52.000          46.000
+  -4894751.82643  -3774092.71542  24717282.454    24717287.914    24717280.978
+      2831.737        2206.548          43.000          38.000
+ -12437399.00343  -9636446.35842  22477387.603    22477388.947    22477386.323
+     -2039.525       -1589.240          53.000          45.000
+   -892716.98153   -690645.66352  25359839.416    25359848.061    25359837.981
+      1887.709        1470.942          41.000          36.000
+    445422.94043    342829.22142  25116980.811    25116990.289    25116977.587
+     -1911.014       -1489.102          41.000          35.000
+ 04  2  1 10 51 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G10
+  -7320858.17143  -5700156.41742  23954525.544    23954532.479    23954524.252
+      2413.612        1880.737          47.000          41.000
+ -22128520.05543 -17226471.88042  20665414.236    20665418.569    20665413.196
+      -972.739        -757.978          56.000          50.000
+ -26744733.50844 -20795539.53142  19959073.177    19959077.082    19959071.614
+      -792.134        -617.247          57.000          51.000
+ -23990300.70543 -18648860.17742  20852141.249    20852145.217    20852140.637
+       908.399         707.843          56.000          50.000
+ -14726254.14943 -11463806.33042  22526748.819    22526752.639    22526747.472
+     -1491.203       -1161.976          52.000          45.000
+  -4979750.37043  -3840325.25742  24701106.532    24701112.240    24701105.319
+      2835.532        2209.505          44.000          38.000
+ -12376213.06943  -9588768.99742  22489029.960    22489032.786    22489028.130
+     -2039.032       -1588.856          52.000          44.000
+   -949294.25053   -734731.71052  25349071.478    25349082.980    25349070.610
+      1885.123        1468.927          38.000          36.000
+    502646.20043    387418.57942  25127868.811    25127879.313    25127869.357
+     -1903.538       -1483.276          42.000          35.000
+ 04  2  1 10 52  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G10
+  -7393269.38543  -5756580.60442  23940746.853    23940752.895    23940744.486
+      2413.780        1880.868          47.000          41.000
+ -22099036.59943 -17203497.76742  20671024.659    20671029.192    20671023.813
+      -992.802        -773.612          56.000          50.000
+ -26720673.80044 -20776791.69142  19963651.146    19963655.302    19963649.825
+      -811.710        -632.501          57.000          51.000
+ -24017237.66043 -18669850.00742  20847014.896    20847019.620    20847014.435
+       887.434         691.507          56.000          50.000
+ -14681376.80743 -11428836.98742  22535288.128    22535292.986    22535286.790
+     -1500.740       -1169.408          52.000          45.000
+  -5064860.54343  -3906644.82942  24684910.531    24684915.512    24684908.948
+      2838.546        2211.854          44.000          38.000
+ -12315035.05243  -9541097.81342  22500671.175    22500674.107    22500670.050
+     -2039.207       -1588.992          52.000          44.000
+  -1005794.67253   -778757.86152  25338322.097    25338330.114    25338320.026
+      1881.428        1466.048          39.000          35.000
+    559655.44153    431841.21452  25138716.021    25138729.474    25138714.759
+     -1895.945       -1477.360          39.000          34.000
+ 04  2  1 10 52 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G10
+  -7465703.70643  -5813022.79142  23926961.229    23926969.603    23926962.142
+      2414.644        1881.541          46.000          40.000
+ -22068968.61443 -17180068.17142  20676746.342    20676750.805    20676745.494
+     -1012.303        -788.807          56.000          50.000
+ -26696045.61744 -20757600.88442  19968338.227    19968342.131    19968336.562
+      -830.541        -647.175          57.000          51.000
+ -24043561.97343 -18690362.45442  20842006.130    20842010.164    20842005.140
+       867.033         675.610          56.000          50.000
+ -14636233.89343 -11393660.72942  22543878.495    22543883.210    22543876.425
+     -1509.566       -1176.285          51.000          45.000
+  -5150079.45543  -3973049.10842  24668693.314    24668699.428    24668691.674
+      2842.324        2214.798          44.000          39.000
+ -12253864.17243  -9493432.17842  22512313.016    22512314.569    22512312.255
+     -2039.077       -1588.891          53.000          45.000
+  -1062217.07353   -822723.28152  25327584.248    25327593.122    25327582.369
+      1878.849        1464.038          39.000          35.000
+    616450.34543    476096.78142  25149527.679    25149538.527    25149525.614
+     -1889.826       -1472.592          39.000          33.000
+ 04  2  1 10 53  0.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -7538159.40843  -5869481.64542  23913173.981    23913181.469    23913174.255
+      2414.729        1881.607          45.000          40.000
+ -22038318.80743 -17156185.21542  20682578.864    20682583.149    20682578.199
+     -1032.133        -804.259          56.000          51.000
+ -26670851.53544 -20737969.11842  19973132.452    19973136.366    19973130.732
+      -849.889        -662.251          57.000          51.000
+ -24069273.71243 -18710397.57742  20837112.758    20837117.210    20837112.073
+       846.218         659.391          56.000          50.000
+ -14590826.01543 -11358277.98042  22552519.667    22552524.723    22552518.751
+     -1518.703       -1183.405          52.000          45.000
+  -5235407.18443  -4039538.16642  24652455.228    24652463.389    24652455.719
+      2845.233        2217.065          45.000          39.000
+ -12192702.03743  -9445773.36242  22523949.523    22523953.122    22523949.065
+     -2039.292       -1589.059          51.000          44.000
+  -1118563.75743   -866629.65742  25316862.640    25316871.522    25316862.444
+      1876.306        1462.057          42.000          36.000
+ 04  2  1 10 53 30.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -7610632.98943  -5925954.47342  23899382.104    23899390.915    23899382.006
+      2416.535        1883.014          45.000          40.000
+ -22007087.96243 -17131849.49742  20688521.503    20688526.207    20688521.013
+     -1050.279        -818.399          56.000          50.000
+ -26645092.03844 -20717896.76342  19978034.200    19978038.277    19978032.713
+      -867.645        -676.087          57.000          51.000
+ -24094371.36343 -18729954.19042  20832337.484    20832341.862    20832336.650
+       826.752         644.222          56.000          50.000
+ -14545152.00743 -11322687.87042  22561210.361    22561215.445    22561208.949
+     -1526.480       -1189.465          51.000          45.000
+  -5320841.88643  -4106110.60342  24636199.936    24636205.895    24636198.857
+      2849.876        2220.683          46.000          40.000
+ -12131548.59643  -9398121.32642  22535587.325    22535590.826    22535586.551
+     -2037.974       -1588.032          51.000          44.000
+  -1174833.79143   -910476.32442  25306157.356    25306161.713    25306153.464
+      1874.656        1460.771          43.000          37.000
+ 04  2  1 10 54  0.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -7683124.97143  -5982441.63142  23885588.197    23885594.098    23885587.698
+      2417.223        1883.550          46.000          40.000
+ -21975280.90143 -17107064.78042  20694574.366    20694578.662    20694573.656
+     -1069.240        -833.174          56.000          50.000
+ -26618772.15044 -20697387.74842  19983042.689    19983046.252    19983041.153
+      -886.098        -690.466          57.000          51.000
+ -24118857.37543 -18749034.19742  20827677.990    20827682.079    20827677.004
+       806.554         628.484          56.000          50.000
+ -14499214.82443 -11286892.69142  22569954.125    22569957.035    22569952.171
+     -1535.089       -1196.173          53.000          46.000
+  -5406385.71243  -4172768.05442  24619922.006    24619926.490    24619920.451
+      2853.979        2223.880          47.000          40.000
+ -12070408.07443  -9350479.34542  22547222.657    22547225.968    22547221.244
+     -2037.295       -1587.502          52.000          45.000
+  -1231031.12843   -954266.33442  25295461.320    25295469.046    25295459.311
+      1872.564        1459.141          41.000          36.000
+ 04  2  1 10 54 30.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -7755628.13443  -6038937.50442  23871790.841    23871798.233    23871790.351
+      2416.680        1883.127          46.000          40.000
+ -21942894.73943 -17081828.81742  20700737.456    20700741.999    20700736.436
+     -1089.449        -848.921          56.000          50.000
+ -26591888.53144 -20676439.45542  19988158.526    19988162.218    19988157.070
+      -905.710        -705.748          57.000          51.000
+ -24142726.15743 -18767633.24642  20823135.686    20823140.077    20823135.292
+       785.205         611.848          56.000          50.000
+ -14453009.03643 -11250888.18842  22578745.028    22578750.914    22578743.347
+     -1544.887       -1203.808          51.000          45.000
+  -5492032.93143  -4239506.08642  24603623.803    24603628.445    24603622.396
+      2856.391        2225.759          47.000          40.000
+ -12009276.51443  -9302844.35942  22558855.871    22558857.643    22558853.764
+     -2037.752       -1587.859          52.000          44.000
+  -1287151.65443   -997996.53342  25284779.686    25284788.036    25284777.118
+      1868.676        1456.111          36.000          36.000
+ 04  2  1 10 55  0.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -7828145.17243  -6095444.21042  23857992.381    23857998.184    23857990.309
+      2417.528        1883.788          47.000          40.000
+ -21909936.41443 -17056147.01942  20707009.195    20707013.485    20707008.510
+     -1108.167        -863.507          56.000          50.000
+ -26564448.36744 -20655057.49442  19993379.954    19993384.157    19993378.715
+      -923.975        -719.980          57.000          51.000
+ -24165982.41443 -18785755.00042  20818710.234    20818714.289    20818709.641
+       764.975         596.084          56.000          50.000
+ -14406539.94143 -11214678.50942  22587588.254    22587592.732    22587586.338
+     -1553.324       -1210.382          52.000          46.000
+  -5577788.00943  -4306328.16842  24587304.937    24587309.240    24587303.415
+      2860.257        2228.772          48.000          40.000
+ -11948159.98343  -9255221.08842  22570485.956    22570488.440    22570484.626
+     -2036.960       -1587.241          52.000          45.000
+  -1343201.99153  -1041672.06452  25274111.886    25274122.256    25274113.390
+      1866.201        1454.182          40.000          36.000
+ 04  2  1 10 55 30.0000000  0  7G 4G29G 7G26G 8G 9G28
+  -7900664.87543  -6151952.96542  23844191.354    23844198.205    23844190.403
+      2416.954        1883.341          48.000          41.000
+ -21876398.87343 -17030013.88242  20713391.262    20713395.587    20713390.386
+     -1128.076        -879.020          56.000          50.000
+ -26536444.41344 -20633236.21642  19998709.479    19998712.849    19998708.070
+      -943.218        -734.975          58.000          51.000
+ -24188616.82043 -18803392.19742  20814402.912    20814407.235    20814402.111
+       743.632         579.454          56.000          50.000
+ -14359798.54243 -11178256.65342  22596483.182    22596487.631    22596480.809
+     -1563.126       -1218.020          52.000          45.000
+  -5663641.14343  -4373226.63242  24570964.735    24570971.744    24570965.085
+      2862.842        2230.786          46.000          40.000
+ -11887050.43443  -9207603.24542  22582113.976    22582117.096    22582113.234
+     -2037.331       -1587.531          52.000          44.000
+ 04  2  1 10 56  0.0000000  0  7G 4G29G 7G26G 8G 9G28
+  -7973192.71643  -6208468.06542  23830390.127    23830396.888    23830390.196
+      2417.420        1883.704          49.000          41.000
+ -21842292.19943 -17003437.26742  20719881.807    20719885.787    20719880.949
+     -1146.540        -893.408          56.000          50.000
+ -26507886.61744 -20610983.37742  20004143.703    20004147.285    20004142.096
+      -961.302        -749.066          57.000          51.000
+ -24210636.86743 -18820550.67642  20810212.842    20810216.388    20810212.013
+       723.581         563.829          56.000          50.000
+ -14312792.52343 -11141628.61342  22605428.387    22605430.717    22605426.756
+     -1571.431       -1224.492          52.000          45.000
+  -5749599.59243  -4440207.16242  24554609.587    24554615.476    24554607.669
+      2866.627        2233.735          46.000          40.000
+ -11825956.81843  -9159997.81842  22593739.306    22593741.774    22593738.045
+     -2036.461       -1586.853          51.000          44.000
+ 04  2  1 10 56 30.0000000  0  7G 4G29G 7G26G 8G 9G28
+  -8045721.38243  -6264983.83642  23816588.068    23816595.037    23816587.901
+      2416.497        1882.985          49.000          41.000
+ -21807613.21543 -16976414.69342  20726480.661    20726484.859    20726480.012
+     -1166.630        -909.062          56.000          50.000
+ -26478771.88044 -20588296.55442  20009683.794    20009687.844    20009682.363
+      -980.878        -764.320          57.000          51.000
+ -24232037.15843 -18837226.22042  20806140.292    20806144.315    20806139.637
+       702.002         547.015          56.000          50.000
+ -14265516.72443 -11104790.33842  22614424.102    22614428.670    22614422.805
+     -1581.519       -1232.352          52.000          45.000
+  -5835657.45843  -4507265.17042  24538233.331    24538237.413    24538231.442
+      2869.308        2235.824          47.000          39.000
+ -11764875.24543  -9112401.79642  22605362.964    22605366.755    22605361.840
+     -2037.002       -1587.274          51.000          44.000
+ 04  2  1 10 57  0.0000000  0  7G 4G29G 7G26G 8G 9G28
+  -8118251.20243  -6321500.46642  23802786.110    23802790.634    23802785.819
+      2417.987        1884.146          48.000          41.000
+ -21772366.90343 -16948950.04342  20733187.568    20733192.087    20733186.917
+     -1183.925        -922.539          56.000          50.000
+ -26449104.78144 -20565179.31542  20015329.238    20015333.058    20015327.681
+      -997.756        -777.472          57.000          51.000
+ -24252820.18243 -18853420.77842  20802185.399    20802189.524    20802184.545
+       682.869         532.106          56.000          50.000
+ -14217974.03843 -11067744.12442  22623470.675    22623476.753    22623469.535
+     -1588.778       -1238.009          51.000          45.000
+  -5921816.72143  -4574402.20942  24521836.865    24521842.512    24521835.956
+      2874.119        2239.573          46.000          40.000
+ -11703809.54143  -9064818.12442  22616983.914    22616987.333    22616982.787
+     -2034.910       -1585.644          52.000          45.000
+ 04  2  1 10 57 30.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -8190775.17043  -6378012.53742  23788984.931    23788991.662    23788982.994
+      2417.871        1884.055          48.000          41.000
+ -21736550.89243 -16921041.47442  20740003.587    20740007.547    20740002.655
+     -1202.857        -937.291          56.000          50.000
+ -26418882.87444 -20541629.76242  20021080.350    20021084.154    20021078.715
+     -1016.050        -791.727          57.000          51.000
+ -24272981.10444 -18869130.57842  20798349.396    20798353.123    20798348.553
+       662.156         515.966          57.000          50.000
+ -14170159.67243 -11030486.20142  22632570.615    22632573.981    22632568.040
+     -1597.876       -1245.098          51.000          45.000
+  -6008072.00843  -4641614.04842  24505425.193    24505429.471    24505423.097
+      2877.187        2241.964          47.000          40.000
+ -11642756.02843  -9017243.95942  22628602.366    22628605.631    22628601.232
+     -2034.525       -1585.344          52.000          45.000
+   -393561.21153   -294372.35052  25220994.829    25221002.121    25220993.112
+      1855.563        1445.893          42.000          34.000
+ 04  2  1 10 58  0.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -8263293.91543  -6434520.53742  23775183.842    23775190.151    23775184.625
+      2417.976        1884.137          46.000          41.000
+ -21700170.47043 -16892693.10742  20746926.510    20746930.914    20746925.807
+     -1221.269        -951.638          56.000          50.000
+ -26388111.17144 -20517651.79242  20026935.678    20026939.832    20026934.359
+     -1034.039        -805.745          57.000          51.000
+ -24292522.69144 -18884357.77042  20794630.783    20794634.643    20794629.747
+       641.897         500.179          57.000          50.000
+ -14122077.09543 -10993019.27542  22641719.867    22641724.660    22641718.808
+     -1606.363       -1251.711          52.000          45.000
+  -6094425.74543  -4708902.59942  24488990.125    24488994.752    24488989.447
+      2880.923        2244.875          47.000          40.000
+ -11581718.85443  -8969682.50742  22640216.813    22640220.430    22640215.576
+     -2033.524       -1584.564          51.000          44.000
+   -449177.75143   -337709.88242  25210412.322    25210418.917    25210410.707
+      1853.848        1444.557          44.000          36.000
+ 04  2  1 10 58 30.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -8335805.08143  -6491022.63342  23761385.259    23761392.079    23761385.908
+      2416.259        1882.799          46.000          41.000
+ -21663227.49143 -16863906.38042  20753956.791    20753960.481    20753955.872
+     -1241.365        -967.297          56.000          50.000
+ -26356791.78044 -20493247.05142  20032895.742    20032899.745    20032894.302
+     -1053.682        -821.051          57.000          51.000
+ -24311444.62943 -18899102.12742  20791029.718    20791033.567    20791028.865
+       619.756         482.927          56.000          50.000
+ -14073725.74043 -10955342.92142  22650920.368    22650925.930    22650918.766
+     -1616.769       -1259.820          51.000          45.000
+  -6180876.93343  -4776267.09642  24472539.594    24472543.987    24472537.819
+      2882.609        2246.189          46.000          40.000
+ -11520698.82743  -8922134.43442  22651829.549    22651831.878    22651828.180
+     -2034.338       -1585.198          51.000          44.000
+   -504726.12943   -380994.25842  25199841.661    25199846.311    25199841.487
+      1849.875        1441.461          44.000          35.000
+ 04  2  1 10 59  0.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -8408302.43343  -6547513.96942  23747590.241    23747596.989    23747589.347
+      2416.781        1883.206          46.000          41.000
+ -21625720.39743 -16834680.08542  20761094.152    20761098.067    20761093.371
+     -1259.136        -981.145          56.000          50.000
+ -26324922.83744 -20468414.09342  20038960.186    20038964.083    20038958.663
+     -1070.983        -834.532          57.000          51.000
+ -24329742.92343 -18913360.52042  20787547.324    20787551.712    20787546.451
+       600.022         467.550          56.000          50.000
+ -14025102.05743 -10917454.34442  22660173.564    22660178.379    22660172.543
+     -1624.873       -1266.135          51.000          45.000
+  -6267420.80343  -4843703.80642  24456071.029    24456074.193    24456070.697
+      2886.448        2249.180          46.000          40.000
+ -11459693.23543  -8874597.61942  22663437.611    22663440.211    22663435.961
+     -2032.943       -1584.111          51.000          44.000
+   -560203.42043   -424223.26742  25189282.679    25189292.248    25189281.320
+      1848.568        1440.443          42.000          36.000
+ 04  2  1 10 59 30.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -8480788.12743  -6603996.21542  23733796.985    23733803.835    23733796.616
+      2414.923        1881.758          47.000          41.000
+ -21587655.91543 -16805019.46042  20768337.352    20768341.487    20768336.416
+     -1279.005        -996.627          56.000          50.000
+ -26292510.92144 -20443158.03542  20045127.702    20045131.592    20045126.495
+     -1090.414        -849.673          57.000          51.000
+ -24347421.90543 -18927136.33642  20784183.563    20784187.343    20784182.557
+       577.985         450.378          56.000          50.000
+ -13976210.55643 -10879357.07442  22669477.200    22669482.862    22669476.155
+     -1635.187       -1274.172          51.000          45.000
+  -6354061.27843  -4911215.80542  24439584.746    24439587.114    24439583.346
+      2888.345        2250.658          47.000          39.000
+ -11398707.40343  -8827076.18642  22675042.165    22675045.919    22675041.342
+     -2033.475       -1584.526          51.000          44.000
+   -615615.35143   -467401.31842  25178738.996    25178745.355    25178738.145
+      1845.015        1437.674          44.000          35.000
+ 04  2  1 11  0  0.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -8553254.05743  -6660463.07342  23720006.782    23720014.321    23720005.283
+      2415.341        1882.084          48.000          42.000
+ -21549030.44643 -16774921.69842  20775687.624    20775691.787    20775686.621
+     -1296.720       -1010.431          56.000          50.000
+ -26259552.44344 -20417476.08842  20051399.889    20051403.739    20051398.158
+     -1107.490        -862.979          57.000          51.000
+ -24364475.80343 -18940425.07042  20780938.000    20780941.955    20780937.505
+       558.207         434.966          56.000          50.000
+ -13927045.57543 -10841046.75242  22678832.873    22678837.515    22678831.746
+     -1643.307       -1280.499          51.000          45.000
+  -6440791.78243  -4978797.94242  24423079.256    24423084.290    24423078.991
+      2892.591        2253.967          47.000          40.000
+ -11337736.60743  -8779566.46942  22686645.885    22686648.851    22686644.554
+     -2032.030       -1583.400          51.000          44.000
+   -670956.94543   -510524.63242  25168207.080    25168213.123    25168206.577
+      1843.909        1436.812          43.000          35.000
+ 04  2  1 11  0 30.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -8625702.21343  -6716916.06342  23706221.921    23706227.686    23706220.295
+      2415.259        1882.020          50.000          42.000
+ -21509850.88643 -16744392.18142  20783143.535    20783147.419    20783142.485
+     -1314.771       -1024.497          56.000          50.000
+ -26226053.99344 -20391373.38642  20057774.271    20057778.170    20057772.779
+     -1125.211        -876.788          57.000          51.000
+ -24380908.91743 -18953230.08142  20777810.398    20777815.234    20777809.983
+       537.887         419.133          56.000          50.000
+ -13877611.46243 -10802526.67942  22688238.989    22688245.240    22688237.747
+     -1651.813       -1287.127          50.000          45.000
+  -6527615.57943  -5046452.79942  24406557.761    24406562.775    24406555.369
+      2895.993        2256.618          47.000          40.000
+ -11276786.21843  -8732072.66842  22698243.312    22698245.563    22698242.104
+     -2030.951       -1582.559          50.000          44.000
+   -726233.94943   -553597.48242  25157689.830    25157695.285    25157688.041
+      1842.188        1435.471          42.000          35.000
+ 04  2  1 11  1  0.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -8698123.90443  -6773348.46042  23692438.633    23692446.212    23692437.395
+      2413.575        1880.708          48.000          41.000
+ -21470113.02943 -16713427.62042  20790705.286    20790709.368    20790704.454
+     -1333.957       -1039.447          56.000          50.000
+ -26192011.29344 -20364846.59342  20064252.248    20064256.201    20064250.837
+     -1143.888        -891.341          57.000          51.000
+ -24396714.79743 -18965546.34242  20774803.276    20774807.390    20774802.267
+       516.384         402.377          56.000          50.000
+ -13827902.11043 -10763792.15142  22697699.467    22697703.847    22697698.781
+     -1661.734       -1294.858          51.000          45.000
+  -6614525.60843  -5114174.81842  24390019.095    24390023.213    24390018.369
+      2898.145        2258.295          47.000          41.000
+ -11215851.01243  -8684590.69542  22709838.730    22709841.954    22709837.859
+     -2030.825       -1582.461          50.000          43.000
+   -781440.93043   -596615.81742  25147182.211    25147191.613    25147182.292
+      1838.763        1432.802          39.000          35.000
+ 04  2  1 11  1 30.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -8770521.38043  -6829761.98442  23678662.674    23678668.671    23678661.014
+      2412.616        1879.960          48.000          41.000
+ -21429824.03243 -16682033.60342  20798371.751    20798375.703    20798370.869
+     -1352.289       -1053.732          56.000          50.000
+ -26157431.36244 -20337901.17842  20070832.980    20070836.772    20070831.327
+     -1161.773        -905.278          57.000          51.000
+ -24411898.26843 -18977377.61242  20771913.655    20771918.120    20771912.901
+       495.587         386.172          56.000          50.000
+ -13777922.21443 -10724846.81142  22707209.675    22707215.373    22707208.964
+     -1670.634       -1301.793          50.000          45.000
+  -6701525.76243  -5181967.07242  24373462.259    24373469.012    24373463.234
+      2901.277        2260.735          47.000          40.000
+ -11154936.64043  -8637124.95142  22721430.179    22721434.486    22721429.710
+     -2030.227       -1581.995          50.000          44.000
+   -836583.62253   -639584.04852  25136692.322    25136698.668    25136691.812
+      1837.120        1431.522          41.000          35.000
+ 04  2  1 11  2  0.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -8842892.14643  -6886154.71042  23664890.909    23664895.781    23664891.197
+      2411.627        1879.190          48.000          41.000
+ -21388985.99143 -16650211.75542  20806143.104    20806147.069    20806142.188
+     -1370.816       -1068.168          56.000          50.000
+ -26122316.36144 -20310538.82442  20077514.780    20077518.695    20077513.320
+     -1179.737        -919.275          57.000          51.000
+ -24426459.20044 -18988723.78842  20769143.305    20769147.423    20769142.673
+       474.657         369.863          57.000          50.000
+ -13727671.79043 -10685690.67742  22716772.518    22716776.579    22716771.574
+     -1679.880       -1308.997          51.000          45.000
+  -6788615.15043  -5249828.86542  24356891.131    24356896.071    24356890.444
+      2904.126        2262.955          48.000          41.000
+ -11094043.89543  -8589676.08042  22733018.649    22733021.385    22733016.933
+     -2029.776       -1581.644          51.000          44.000
+   -891663.00943   -682502.94042  25126208.476    25126214.423    25126206.665
+      1834.549        1429.519          41.000          36.000
+ 04  2  1 11  2 30.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -8915233.12543  -6942524.19442  23651123.447    23651131.522    23651122.902
+      2411.075        1878.760          47.000          41.000
+ -21347600.72843 -16617963.51142  20814018.189    20814022.596    20814017.606
+     -1388.457       -1081.914          56.000          50.000
+ -26086667.57844 -20282760.53842  20084298.508    20084302.537    20084297.202
+     -1196.935        -932.677          57.000          51.000
+ -24440396.82343 -18999584.26942  20766490.588    20766494.960    20766490.134
+       454.448         354.115          56.000          50.000
+ -13677150.27543 -10646323.28342  22726386.496    22726391.615    22726385.608
+     -1688.227       -1315.501          51.000          45.000
+  -6875792.02943  -5317758.83942  24340301.726    24340305.548    24340300.566
+      2907.484        2265.572          48.000          40.000
+ -11033173.01843  -8542244.21042  22744601.213    22744603.440    22744600.783
+     -2028.426       -1580.592          50.000          44.000
+   -946679.32943   -725372.74042  25115737.186    25115746.786    25115738.628
+      1832.660        1428.047          40.000          36.000
+ 04  2  1 11  3  0.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -8987537.42743  -6998865.08942  23637364.386    23637372.413    23637362.886
+      2410.502        1878.313          47.000          42.000
+ -21305666.07143 -16585287.16242  20821998.560    20822002.273    20821997.310
+     -1405.944       -1095.541          56.000          50.000
+ -26050482.74344 -20254564.54942  20091184.518    20091187.897    20091183.169
+     -1213.979        -945.958          57.000          51.000
+ -24453706.66443 -19009955.56842  20763958.180    20763962.020    20763957.336
+       434.205         338.342          56.000          50.000
+ -13626353.05443 -10606741.06642  22736052.973    22736057.408    22736051.700
+     -1696.797       -1322.179          50.000          45.000
+  -6963051.09543  -5385752.85742  24323697.641    24323701.783    24323695.848
+      2911.129        2268.412          48.000          41.000
+ -10972320.20343  -8494826.45542  22756182.198    22756183.774    22756180.807
+     -2027.116       -1579.571          51.000          44.000
+  -1001629.21343   -768190.77442  25105281.093    25105289.255    25105280.535
+      1831.650        1427.260          42.000          36.000
+ 04  2  1 11  3 30.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -9059805.48743  -7055177.72542  23623612.671    23623619.211    23623611.491
+      2409.155        1877.264          47.000          41.000
+ -21263187.21843 -16552186.76742  20830081.896    20830085.917    20830080.938
+     -1424.177       -1109.748          56.000          50.000
+ -26013767.16244 -20225954.99542  20098171.071    20098175.005    20098169.690
+     -1231.856        -959.888          57.000          51.000
+ -24466391.77644 -19019840.07142  20761544.536    20761548.067    20761543.314
+       413.279         322.036          57.000          50.000
+ -13575283.26743 -10566946.46742  22745771.249    22745776.063    22745770.067
+     -1705.955       -1329.315          51.000          45.000
+  -7050394.44443  -5453812.53942  24307076.283    24307080.185    24307076.610
+      2913.540        2270.291          47.000          41.000
+ -10911489.31843  -8447425.76942  22767757.612    22767760.827    22767756.548
+     -2026.624       -1579.187          51.000          44.000
+  -1056516.52943   -810960.01742  25094838.930    25094844.683    25094835.864
+      1829.635        1425.690          43.000          36.000
+ 04  2  1 11  4  0.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -9132034.38543  -7111459.84442  23609867.904    23609875.434    23609868.143
+      2406.568        1875.248          47.000          42.000
+ -21220166.19243 -16518663.90242  20838268.620    20838272.963    20838267.643
+     -1443.300       -1124.649          56.000          50.000
+ -25976522.49644 -20196933.16642  20105258.231    20105262.507    20105256.955
+     -1250.630        -974.517          57.000          51.000
+ -24478451.70943 -19029237.42042  20759249.507    20759253.383    20759248.563
+       391.382         304.973          56.000          50.000
+ -13523940.43843 -10526939.10042  22755541.849    22755546.215    22755539.755
+     -1716.270       -1337.353          50.000          44.000
+  -7137820.45243  -5521936.61342  24290439.752    24290444.251    24290439.300
+      2915.314        2271.673          48.000          41.000
+ -10850680.72843  -8400042.45642  22779328.142    22779331.858    22779327.190
+     -2026.771       -1579.302          50.000          43.000
+  -1111341.96543   -853681.09842  25084404.302    25084411.134    25084403.407
+      1826.383        1423.156          42.000          35.000
+ 04  2  1 11  4 30.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -9204220.30243  -7167708.50842  23596131.395    23596138.016    23596131.935
+      2405.514        1874.426          48.000          42.000
+ -21176604.13643 -16484719.45342  20846557.793    20846562.000    20846557.025
+     -1461.368       -1138.728          56.000          50.000
+ -25938749.62444 -20167499.74842  20112446.361    20112450.369    20112444.947
+     -1268.036        -988.080          57.000          51.000
+ -24489885.30243 -19038146.72042  20757073.166    20757078.039    20757072.399
+       370.431         288.648          56.000          50.000
+ -13472323.56543 -10486718.18742  22765363.750    22765368.414    22765362.038
+     -1725.221       -1344.328          51.000          44.000
+  -7225326.88043  -5590123.37542  24273787.608    24273792.794    24273785.525
+      2918.208        2273.928          48.000          42.000
+ -10789893.94343  -8352676.12042  22790895.705    22790898.567    22790894.152
+     -2026.208       -1578.863          50.000          43.000
+  -1166105.32243   -896353.78042  25073982.987    25073988.554    25073983.334
+      1824.130        1421.400          41.000          34.000
+ 04  2  1 11  5  0.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -9276361.09143  -7223922.00842  23582403.788    23582410.578    23582402.961
+      2404.138        1873.354          48.000          42.000
+ -21132503.67643 -16450355.46842  20854950.315    20854954.273    20854949.382
+     -1478.571       -1152.133          56.000          50.000
+ -25900451.28544 -20137656.87342  20119734.580    20119738.444    20119733.102
+     -1284.960       -1001.267          57.000          51.000
+ -24500693.06143 -19046568.35742  20755016.197    20755021.240    20755015.650
+       350.208         272.889          56.000          50.000
+ -13420433.03643 -10446284.06042  22775239.374    22775243.321    22775237.335
+     -1733.848       -1351.050          50.000          44.000
+  -7312913.16443  -5658372.35242  24257120.388    24257125.779    24257119.175
+      2921.202        2276.261          48.000          41.000
+ -10729130.23143  -8305327.78542  22802459.820    22802462.944    22802458.614
+     -2024.803       -1577.768          51.000          44.000
+  -1220807.30143   -938978.60442  25063574.659    25063580.218    25063572.721
+      1822.949        1420.480          42.000          35.000
+ 04  2  1 11  5 30.0000000  0  8G 4G29G 7G26G 8G 9G28G 5
+  -9348453.58743  -7280097.89242  23568684.340    23568691.466    23568682.786
+      2401.600        1871.377          48.000          42.000
+ -21087866.65043 -16415573.38942  20863444.227    20863448.409    20863443.413
+     -1497.572       -1166.939          56.000          50.000
+ -25861628.86744 -20107405.62342  20127122.066    20127126.212    20127120.717
+     -1303.461       -1015.684          57.000          51.000
+ -24510874.47243 -19054501.92842  20753079.310    20753083.740    20753078.353
+       328.380         255.881          56.000          50.000
+ -13368268.10343 -10405636.10342  22785165.131    22785170.020    22785163.666
+     -1744.102       -1359.040          50.000          44.000
+  -7400577.34843  -5726682.04742  24240437.864    24240442.220    24240436.911
+      2922.589        2277.342          48.000          42.000
+ -10668389.67343  -8257997.46642  22814017.377    22814021.400    22814015.889
+     -2025.141       -1578.032          50.000          43.000
+  -1275448.89743   -981556.40642  25053175.254    25053185.693    25053174.425
+      1819.840        1418.057          42.000          36.000
+ 04  2  1 11  6  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+  -9420494.04043  -7336233.21442  23554975.951    23554982.066    23554975.873
+      2399.838        1870.004          49.000          43.000
+ -21042694.34343 -16380374.20042  20872040.464    20872044.454    20872039.465
+     -1515.244       -1180.710          56.000          50.000
+ -25822283.63844 -20076746.99642  20134609.280    20134613.036    20134607.954
+     -1320.797       -1029.192          57.000          51.000
+ -24520428.34943 -19061946.51542  20751261.230    20751265.776    20751260.367
+       307.492         239.604          56.000          50.000
+ -13315827.75743 -10364773.50042  22795143.648    22795148.796    22795142.436
+     -1753.150       -1366.091          50.000          44.000
+  -7488317.42543  -5795050.89042  24223741.111    24223746.583    24223740.796
+      2925.306        2279.459          48.000          42.000
+ -10607671.68843  -8210684.75942  22825570.976    22825575.716    22825569.695
+     -2023.993       -1577.137          50.000          43.000
+  -1330029.96743  -1024087.02542  25042789.845    25042792.982    25042787.692
+      1817.844        1416.502          43.000          35.000
+                                  25262643.398
+      2721.920        2120.977          44.000
+ 04  2  1 11  6 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+  -9492481.29943  -7392327.08942  23541276.813    23541282.279    23541277.384
+      2399.424        1869.681          50.000          43.000
+ -20996990.47643 -16344760.81242  20880737.238    20880741.520    20880736.586
+     -1531.625       -1193.474          56.000          50.000
+ -25782418.98344 -20045683.61842  20142195.824    20142198.752    20142194.026
+     -1336.818       -1041.676          58.000          51.000
+ -24529356.30343 -19068903.36642  20749562.091    20749566.618    20749561.565
+       287.844         224.294          56.000          50.000
+ -13263113.49343 -10323697.48742  22805174.418    22805180.326    22805173.815
+     -1761.053       -1372.249          50.000          44.000
+  -7576133.70343  -5863479.09442  24207030.097    24207035.847    24207029.377
+      2929.045        2282.373          47.000          41.000
+ -10546978.45843  -8163391.34742  22837121.470    22837123.352    22837119.585
+     -2021.906       -1575.511          50.000          43.000
+  -1384552.55643  -1066572.01542  25032412.711    25032422.202    25032410.741
+      1817.287        1416.068          40.000          33.000
+                                  25247073.718
+      2731.749        2128.636          42.000
+ 04  2  1 11  7  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+  -9564412.22243  -7448377.06942  23527589.063    23527595.625    23527587.678
+      2397.392        1868.098          49.000          43.000
+ -20950757.23643 -16308734.93242  20889534.614    20889539.617    20889534.230
+     -1549.318       -1207.261          56.000          50.000
+ -25742036.92944 -20014217.07142  20149879.422    20149883.477    20149878.106
+     -1354.059       -1055.111          57.000          51.000
+ -24537658.15643 -19075372.35142  20747982.465    20747986.794    20747982.082
+       266.914         207.985          56.000          50.000
+ -13210124.83343 -10282407.66742  22815258.093    22815263.282    22815257.824
+     -1770.194       -1379.372          50.000          45.000
+  -7664024.78943  -5931965.59242  24190305.472    24190309.963    24190304.427
+      2931.690        2284.434          47.000          41.000
+ -10486310.32343  -8116117.47342  22848666.559    22848667.986    22848665.112
+     -2021.255       -1575.004          50.000          44.000
+  -1439017.33243  -1109011.98742  25022051.114    25022054.536    25022046.807
+      1815.185        1414.430          42.000          33.000
+   -436115.99853   -304768.42352  25231461.462    25231472.298    25231460.345
+      2738.974        2134.265          44.000          36.000
+ 04  2  1 11  7 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+  -9636284.31543  -7504381.21942  23513911.600    23513919.182    23513910.529
+      2394.889        1866.147          49.000          43.000
+ -20903996.80943 -16272298.24942  20898433.454    20898437.869    20898432.637
+     -1567.176       -1221.176          56.000          50.000
+ -25701139.65944 -19982349.05842  20157661.886    20157665.840    20157660.622
+     -1371.561       -1068.749          57.000          51.000
+ -24545333.93043 -19081353.48142  20746522.037    20746526.218    20746520.837
+       245.709         191.462          56.000          50.000
+ -13156861.88743 -10240904.09442  22825393.862    22825399.051    22825392.854
+     -1779.588       -1386.692          49.000          44.000
+  -7751989.26643  -6000509.29542  24173566.369    24173569.622    24173564.585
+      2933.701        2286.001          48.000          42.000
+ -10425667.86343  -8068863.61042  22860205.807    22860209.603    22860205.196
+     -2020.687       -1574.561          50.000          44.000
+  -1493424.58743  -1151407.21742  25011697.079    25011704.527    25011694.725
+      1812.972        1412.705          44.000          36.000
+   -518404.23843   -368888.64642  25215800.948    25215812.130    25215800.221
+      2747.196        2140.672          44.000          36.000
+ 04  2  1 11  8  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+  -9708092.07543  -7560335.23342  23500246.997    23500253.838    23500246.804
+      2392.494        1864.281          48.000          43.000
+ -20856708.82643 -16235450.48242  20907432.109    20907436.347    20907430.850
+     -1584.981       -1235.050          56.000          50.000
+ -25659726.58444 -19950079.11642  20165542.896    20165546.418    20165541.395
+     -1388.982       -1082.324          57.000          51.000
+ -24552381.14143 -19086844.81142  20745180.657    20745185.281    20745179.978
+       224.517         174.948          56.000          50.000
+ -13103321.81743 -10199184.58942  22835583.171    22835587.855    22835581.117
+     -1789.042       -1394.059          51.000          44.000
+  -7840023.05343  -6069106.98742  24156813.803    24156818.413    24156811.999
+      2935.836        2287.664          47.000          42.000
+ -10365048.86343  -8021628.01942  22871741.611    22871743.693    22871740.120
+     -2020.259       -1574.228          50.000          44.000
+  -1547772.96043  -1193756.49442  25001353.359    25001364.181    25001351.977
+      1810.401        1410.702          43.000          37.000
+   -600929.56243   -433193.63142  25200097.648    25200109.300    25200097.842
+      2754.869        2146.651          43.000          37.000
+ 04  2  1 11  8 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+  -9779835.32643  -7616238.96842  23486595.180    23486601.604    23486594.459
+      2390.196        1862.490          48.000          43.000
+ -20808898.26843 -16198195.51542  20916530.176    20916534.253    20916529.282
+     -1602.323       -1248.563          56.000          50.000
+ -25617802.32744 -19917410.85142  20173520.562    20173524.496    20173519.234
+     -1405.922       -1095.524          57.000          51.000
+ -24558802.39444 -19091848.38442  20743959.236    20743963.480    20743958.601
+       203.684         158.715          57.000          50.000
+ -13049507.31743 -10157251.22642  22845823.270    22845828.411    22845821.952
+     -1798.461       -1401.398          51.000          44.000
+  -7928127.45043  -6137759.69842  24140048.161    24140053.027    24140047.986
+      2938.020        2289.366          48.000          42.000
+ -10304456.48043  -7974413.17942  22883272.090    22883275.576    22883270.394
+     -2019.239       -1573.433          50.000          43.000
+  -1602065.90243  -1236062.58242  24991021.923    24991028.245    24991020.823
+      1808.557        1409.265          44.000          36.000
+   -683692.36443   -497683.72442  25184347.532    25184357.057    25184346.953
+      2762.936        2152.937          44.000          37.000
+ 04  2  1 11  9  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+  -9851510.52343  -7672089.67942  23472954.514    23472962.530    23472954.570
+      2388.371        1861.068          48.000          42.000
+ -20760566.71943 -16160534.57742  20925727.026    20925731.453    20925726.206
+     -1619.721       -1262.120          56.000          50.000
+ -25575368.35244 -19884345.39942  20181595.548    20181599.369    20181594.176
+     -1422.933       -1108.779          57.000          51.000
+ -24564596.91343 -19096363.59542  20742856.547    20742860.545    20742855.554
+       182.767         142.416          56.000          50.000
+ -12995417.33243 -10115103.22642  22856116.698    22856121.052    22856114.746
+     -1807.406       -1408.368          50.000          44.000
+  -8016300.49543  -6206465.89142  24123268.762    24123274.636    24123268.265
+      2940.259        2291.111          47.000          41.000
+ -10243890.43743  -7927218.86942  22894797.387    22894800.664    22894795.360
+     -2018.426       -1572.799          50.000          43.000
+  -1656303.09843  -1278325.27542  24980702.328    24980702.798    24980699.941
+      1807.021        1408.068          45.000          35.000
+   -766689.68643   -562356.51342  25168553.978    25168564.799    25168552.504
+      2770.871        2159.120          43.000          37.000
+ 04  2  1 11  9 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+  -9923115.67643  -7727885.82242  23459329.104    23459335.972    23459328.924
+      2385.285        1858.664          49.000          42.000
+ -20711717.36343 -16122470.16242  20935023.119    20935027.420    20935022.093
+     -1637.084       -1275.650          56.000          50.000
+ -25532427.54244 -19850885.01442  20189766.336    20189770.669    20189765.193
+     -1440.024       -1122.097          57.000          51.000
+ -24569765.83744 -19100391.32942  20741872.793    20741876.771    20741872.271
+       161.668         125.975          57.000          50.000
+ -12941052.65743 -10072741.16842  22866461.629    22866466.619    22866460.375
+     -1816.929       -1415.789          50.000          44.000
+  -8104541.68143  -6275225.19042  24106477.611    24106481.999    24106476.340
+      2942.431        2292.803          47.000          42.000
+ -10183351.92743  -7880046.00142  22906318.211    22906321.030    22906316.611
+     -2017.701       -1572.234          51.000          44.000
+  -1710486.32543  -1320545.89442  24970391.757    24970397.076    24970389.292
+      1804.914        1406.426          45.000          36.000
+   -849920.37243   -627211.22842  25152715.933    25152725.247    25152713.769
+      2777.907        2164.603          44.000          38.000
+ 04  2  1 11 10  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+  -9994647.13743  -7783624.52342  23445717.475    23445722.842    23445715.626
+      2383.402        1857.196          48.000          42.000
+ -20662351.70443 -16084003.42942  20944416.531    20944421.489    20944415.969
+     -1653.746       -1288.633          56.000          50.000
+ -25488981.36144 -19817030.83642  20198034.422    20198037.953    20198032.672
+     -1456.159       -1134.669          57.000          51.000
+ -24574308.39543 -19103930.99442  20741007.976    20741012.262    20741007.507
+       141.395         110.178          56.000          50.000
+ -12886412.62043 -10030164.53242  22876859.600    22876864.885    22876858.323
+     -1825.595       -1422.541          50.000          44.000
+  -8192848.77043  -6344035.83542  24089672.307    24089677.643    24089671.944
+      2945.216        2294.974          47.000          41.000
+ -10122840.57343  -7832894.29042  22917832.942    22917835.885    22917831.297
+     -2016.310       -1571.151          51.000          44.000
+  -1764615.55143  -1362724.48842  24960088.242    24960096.423    24960088.548
+      1803.554        1405.367          42.000          36.000
+   -933382.14943   -692246.02242  25136832.790    25136841.961    25136831.459
+      2786.118        2171.001          44.000          38.000
+ 04  2  1 11 10 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10066102.57543  -7839303.97242  23432120.082    23432124.985    23432119.426
+      2380.608        1855.019          49.000          42.000
+ -20612472.31243 -16045136.37942  20953908.840    20953912.987    20953907.915
+     -1671.229       -1302.256          56.000          50.000
+ -25445032.09244 -19782784.64242  20206397.481    20206401.254    20206396.327
+     -1473.357       -1148.070          57.000          51.000
+ -24578225.14443 -19106982.99642  20740263.135    20740267.321    20740262.294
+       120.071          93.562          56.000          50.000
+ -12831497.15843  -9987373.29642  22887309.284    22887314.256    22887307.732
+     -1835.188       -1430.017          51.000          44.000
+  -8281220.37243  -6412896.73542  24072856.456    24072862.169    24072855.347
+      2946.580        2296.036          47.000          42.000
+ -10062357.24043  -7785764.42142  22929341.380    22929344.212    22929340.247
+     -2015.702       -1570.677          50.000          43.000
+  -1818691.36643  -1404861.38642  24949799.087    24949805.395    24949799.028
+      1801.498        1403.765          43.000          35.000
+  -1017072.93843   -757459.32342  25120906.088    25120916.502    25120905.529
+      2793.563        2176.802          44.000          38.000
+ 04  2  1 11 11  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10137474.66843  -7894918.48542  23418538.372    23418543.255    23418538.353
+      2377.626        1852.696          49.000          42.000
+ -20562077.44343 -16005867.65542  20963498.955    20963503.015    20963497.799
+     -1688.434       -1315.663          56.000          50.000
+ -25400577.70344 -19748144.85042  20214856.871    20214860.760    20214855.267
+     -1490.233       -1161.220          57.000          51.000
+ -24581511.94143 -19109544.13442  20739637.181    20739641.695    20739636.335
+        98.996          77.140          56.000          50.000
+ -12776301.93243  -9944364.06942  22897811.743    22897817.534    22897810.652
+     -1844.547       -1437.309          50.000          44.000
+  -8369651.20243  -6481803.80742  24056027.189    24056032.801    24056027.265
+      2948.580        2297.595          47.000          41.000
+ -10001897.86943  -7738653.23042  22940847.284    22940850.731    22940846.682
+     -2014.979       -1570.113          51.000          44.000
+  -1872710.50543  -1446954.15242  24939519.111    24939524.606    24939519.468
+      1799.780        1402.426          43.000          36.000
+  -1100986.43443   -822846.17742  25104936.422    25104947.176    25104935.967
+      2800.630        2182.309          43.000          38.000
+ 04  2  1 11 11 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10208767.48943  -7950471.22142  23404970.686    23404978.127    23404970.897
+      2374.380        1850.166          49.000          42.000
+ -20511176.16543 -15966204.32742  20973184.508    20973189.190    20973184.036
+     -1705.744       -1329.151          56.000          50.000
+ -25355627.02544 -19713118.33542  20223410.766    20223414.539    20223409.451
+     -1507.263       -1174.491          57.000          51.000
+ -24584176.00744 -19111620.02642  20739130.342    20739135.203    20739129.639
+        77.773          60.602          57.000          50.000
+ -12720833.96643  -9901142.28542  22908367.673    22908371.956    22908366.202
+     -1853.994       -1444.671          50.000          44.000
+  -8458146.28543  -6550760.95542  24039188.204    24039193.646    24039187.241
+      2950.239        2298.888          48.000          42.000
+  -9941469.57643  -7691566.26842  22952346.542    22952348.928    22952345.369
+     -2014.345       -1569.619          51.000          44.000
+  -1926680.49043  -1489008.60942  24929249.987    24929255.816    24929247.557
+      1797.226        1400.436          43.000          36.000
+  -1185127.60543   -888410.42842  25088926.599    25088936.420    25088926.160
+      2807.843        2187.930          45.000          38.000
+ 04  2  1 11 12  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10279973.95243  -8005956.67142  23391421.225    23391426.628    23391420.316
+      2371.466        1847.896          50.000          43.000
+ -20459766.82543 -15926145.10842  20982967.934    20982971.960    20982966.928
+     -1722.755       -1342.406          56.000          50.000
+ -25310178.22244 -19677703.67042  20232059.803    20232063.601    20232058.036
+     -1523.925       -1187.474          57.000          51.000
+ -24586213.09744 -19113207.36842  20738743.196    20738747.298    20738742.657
+        56.841          44.292          57.000          50.000
+ -12665088.63243  -9857704.40642  22918975.148    22918981.193    22918973.740
+     -1863.389       -1451.991          49.000          44.000
+  -8546699.87643  -6619763.66542  24022336.576    24022343.139    24022335.802
+      2952.109        2300.345          47.000          42.000
+  -9881068.42943  -7644500.42742  22963839.831    22963842.382    22963838.760
+     -2013.444       -1568.917          51.000          44.000
+  -1980597.97143  -1531022.13442  24918989.749    24918995.136    24918989.707
+      1795.772        1399.303          43.000          36.000
+  -1269490.15543   -954147.25442  25072872.179    25072882.432    25072870.945
+      2815.169        2193.638          45.000          38.000
+ 04  2  1 11 12 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10351090.98443  -8061372.42242  23377887.594    23377894.978    23377886.912
+      2369.763        1846.569          50.000          43.000
+ -20407851.63743 -15885691.72342  20992847.043    20992851.011    20992845.939
+     -1738.031       -1354.310          56.000          49.000
+ -25264233.26444 -19641902.39742  20240802.210    20240806.178    20240800.754
+     -1538.874       -1199.122          57.000          51.000
+ -24587623.43544 -19114306.33742  20738474.646    20738479.026    20738473.993
+        37.446          29.179          57.000          50.000
+ -12609065.83843  -9814050.32242  22929636.755    22929642.093    22929635.755
+     -1871.186       -1458.067          50.000          44.000
+  -8635310.51543  -6688810.85142  24005475.299    24005480.062    24005473.760
+      2955.333        2302.857          47.000          42.000
+  -9820694.99443  -7597456.19242  22975329.135    22975330.518    22975328.301
+     -2011.149       -1567.129          51.000          43.000
+  -2034463.74543  -1572995.38542  24908737.954    24908745.309    24908737.228
+      1795.350        1398.974          43.000          36.000
+  -1354071.75243  -1020054.75442  25056776.432    25056785.410    25056776.036
+      2823.944        2200.476          44.000          38.000
+ 04  2  1 11 13  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10422118.25143  -8116718.24142  23364371.586    23364377.342    23364370.490
+      2365.638        1843.354          50.000          43.000
+ -20355435.09653 -15844847.66952  21002821.178    21002825.453    21002820.162
+     -1755.952       -1368.274          56.000          50.000
+ -25217796.75144 -19605718.08442  20249639.038    20249642.691    20249637.806
+     -1556.517       -1212.870          57.000          51.000
+ -24588409.74044 -19114919.03842  20738325.037    20738328.911    20738324.391
+        15.467          12.052          57.000          50.000
+ -12552768.19943  -9770182.05642  22940349.221    22940353.645    22940347.810
+     -1881.693       -1466.254          50.000          44.000
+  -8723979.15443  -6757903.21042  23988601.127    23988606.646    23988600.231
+      2956.077        2303.437          47.000          42.000
+  -9760351.86243  -7550435.58142  22986811.683    22986814.724    22986810.111
+     -2011.307       -1567.252          50.000          44.000
+  -2088280.36843  -1614930.32442  24898499.770    24898503.650    24898496.453
+      1792.621        1396.848          42.000          36.000
+  -1438872.89243  -1086133.31442  25040639.802    25040650.261    25040639.394
+      2829.786        2205.028          44.000          38.000
+ 04  2  1 11 13 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10493050.08743  -8171989.68842  23350873.979    23350880.063    23350872.878
+      2362.067        1840.572          49.000          43.000
+ -20302517.75243 -15803613.37542  21012891.070    21012895.160    21012890.354
+     -1772.910       -1381.488          56.000          50.000
+ -25170868.36844 -19569150.50142  20258569.183    20258573.089    20258567.672
+     -1573.086       -1225.781          57.000          51.000
+ -24588569.73844 -19115043.71342  20738294.500    20738298.486    20738293.962
+        -5.768          -4.494          57.000          50.000
+ -12496192.69843  -9726097.27942  22951114.609    22951120.751    22951114.255
+     -1891.033       -1473.532          49.000          43.000
+  -8812701.79643  -6827037.65642  23971718.212    23971722.518    23971715.983
+      2957.590        2304.616          47.000          41.000
+  -9700036.79843  -7503436.84342  22998289.280    22998292.319    22998287.983
+     -2010.706       -1566.784          51.000          44.000
+  -2142046.47243  -1656825.87842  24888267.102    24888274.296    24888267.666
+      1790.627        1395.294          42.000          37.000
+  -1523888.81943  -1152379.29442  25024460.987    25024470.828    25024459.188
+      2836.853        2210.535          44.000          38.000
+ 04  2  1 11 14  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10563886.83743  -8227187.04042  23337394.540    23337400.212    23337393.679
+      2359.747        1838.764          50.000          43.000
+ -20249104.74243 -15761992.85242  21023055.085    21023059.789    21023054.356
+     -1788.767       -1393.844          56.000          50.000
+ -25123453.39244 -19532203.75542  20267592.117    20267596.039    20267590.672
+     -1588.649       -1237.908          57.000          51.000
+ -24588106.96644 -19114683.11742  20738382.311    20738386.602    20738381.731
+       -25.825         -20.123          57.000          50.000
+ -12439342.80143  -9681798.70742  22961933.731    22961938.965    22961931.861
+     -1899.768       -1480.339          50.000          44.000
+  -8901479.79143  -6896215.24142  23954823.948    23954829.797    23954822.909
+      2960.108        2306.578          47.000          42.000
+  -9639753.10143  -7456462.54342  23009760.346    23009763.120    23009759.788
+     -2008.888       -1565.367          50.000          43.000
+  -2195765.65043  -1698684.85542  24878042.816    24878048.729    24878043.142
+      1789.846        1394.685          42.000          37.000
+  -1609120.51343  -1218793.41442  25008241.850    25008252.165    25008240.569
+      2844.557        2216.538          43.000          38.000
+ 04  2  1 11 14 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10634621.74543  -8282305.03242  23323933.167    23323939.203    23323932.923
+      2355.797        1835.686          49.000          43.000
+ -20195194.87543 -15719985.16542  21033313.860    21033318.493    21033313.308
+     -1805.583       -1406.948          56.000          50.000
+ -25075550.28044 -19494876.64742  20276707.829    20276711.721    20276706.008
+     -1605.080       -1250.712          57.000          51.000
+ -24587017.95444 -19113834.53842  20738589.974    20738593.572    20738589.089
+       -46.995         -36.619          57.000          50.000
+ -12382214.62343  -9637283.26742  22972805.031    22972810.050    22972803.519
+     -1908.938       -1487.484          50.000          44.000
+  -8990307.97343  -6965431.93142  23937920.918    23937927.093    23937920.400
+      2961.577        2307.722          49.000          42.000
+  -9579497.36343  -7409510.03342  23021226.072    23021229.854    23021226.277
+     -2008.332       -1564.934          50.000          43.000
+  -2249434.65443  -1740504.76742  24867832.152    24867838.091    24867830.134
+      1788.039        1393.277          45.000          38.000
+  -1694562.06143  -1285371.04642  24991982.525    24991992.523    24991982.453
+      2851.299        2221.791          45.000          38.000
+ 04  2  1 11 15  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10705254.68643  -8337343.57642  23310491.986    23310498.181    23310492.012
+      2352.920        1833.444          49.000          43.000
+ -20140793.23743 -15677594.28442  21043666.568    21043670.607    21043665.550
+     -1821.292       -1419.188          56.000          49.000
+ -25027163.78044 -19457172.87642  20285915.028    20285919.073    20285913.777
+     -1620.616       -1262.818          57.000          51.000
+ -24585305.74643 -19112500.35542  20738915.614    20738919.522    20738914.805
+       -67.091         -52.279          56.000          50.000
+ -12324810.74443  -9592553.01642  22983729.469    22983734.054    22983727.426
+     -1917.702       -1494.313          50.000          44.000
+  -9079187.40443  -7034688.55642  23921007.688    23921011.874    23921006.447
+      2963.718        2309.391          48.000          42.000
+  -9519272.43943  -7362581.53542  23032687.352    23032691.422    23032685.653
+     -2006.643       -1563.618          50.000          43.000
+  -2303056.83543  -1782288.19142  24857628.971    24857635.677    24857626.983
+      1787.115        1392.557          45.000          39.000
+  -1780213.69743  -1352112.34842  24975682.001    24975694.384    24975682.300
+      2858.593        2227.475          43.000          38.000
+ 04  2  1 11 15 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10775784.09143  -8392301.44242  23297071.002    23297076.084    23297071.885
+      2349.352        1830.664          49.000          43.000
+ -20085903.67643 -15634823.20542  21054111.174    21054115.781    21054110.703
+     -1837.401       -1431.741          55.000          49.000
+ -24978297.57044 -19419095.30042  20295213.863    20295217.912    20295212.488
+     -1636.524       -1275.213          57.000          51.000
+ -24582972.10443 -19110681.94142  20739359.372    20739363.801    20739358.658
+       -87.898         -68.492          56.000          50.000
+ -12267132.30043  -9547608.80742  22994704.938    22994709.572    22994702.946
+     -1926.938       -1501.510          50.000          43.000
+  -9168117.70543  -7103984.84142  23904084.437    23904089.064    23904083.831
+      2965.229        2310.568          47.000          42.000
+  -9459079.91543  -7315678.27442  23044141.752    23044144.542    23044141.001
+     -2005.675       -1562.864          50.000          43.000
+  -2356634.56843  -1824037.00842  24847431.430    24847439.819    24847430.857
+      1785.567        1391.351          44.000          38.000
+  -1866074.95343  -1419016.95342  24959345.317    24959354.818    24959344.551
+      2865.950        2233.208          44.000          38.000
+ 04  2  1 11 16  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10846200.70843  -8447171.42642  23283670.929    23283676.880    23283670.355
+      2345.587        1827.730          50.000          43.000
+ -20030522.57843 -15591669.12442  21064650.198    21064654.447    21064649.463
+     -1853.759       -1444.487          55.000          49.000
+ -24928947.88644 -19380640.99442  20304604.827    20304609.088    20304603.542
+     -1652.668       -1287.793          57.000          51.000
+ -24580011.26743 -19108374.80142  20739922.958    20739927.258    20739922.313
+      -108.706         -84.706          56.000          50.000
+ -12209173.26743  -9502445.96042  23005733.986    23005739.340    23005732.283
+     -1936.210       -1508.735          51.000          44.000
+  -9257091.39443  -7173314.90642  23887152.692    23887158.453    23887151.885
+      2967.015        2311.960          48.000          42.000
+  -9398913.81443  -7268795.61642  23055590.388    23055594.120    23055588.139
+     -2004.680       -1562.088          49.000          43.000
+  -2410162.22843  -1865746.77942  24837246.144    24837253.414    24837245.184
+      1783.631        1389.842          44.000          38.000
+  -1952137.39543  -1486078.33442  24942965.536    24942977.867    24942967.187
+      2872.458        2238.279          43.000          37.000
+ 04  2  1 11 16 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10916530.97443  -8501974.12342  23270287.935    23270293.408    23270286.851
+      2342.203        1825.093          49.000          43.000
+ -19974681.27943 -15548156.43642  21075276.034    21075280.473    21075275.220
+     -1869.503       -1456.755          55.000          49.000
+ -24879145.78843 -19341834.16142  20314082.011    20314086.039    20314080.611
+     -1668.035       -1299.767          56.000          51.000
+ -24576452.86543 -19105602.02242  20740599.967    20740604.542    20740599.367
+      -129.079        -100.581          56.000          50.000
+ -12150962.70643  -9457087.12542  23016811.739    23016816.268    23016810.011
+     -1945.018       -1515.598          51.000          44.000
+  -9346135.79743  -7242700.08242  23870209.287    23870214.465    23870207.559
+      2968.781        2313.336          48.000          42.000
+  -9338803.67543  -7221956.55242  23067030.242    23067031.749    23067028.451
+     -2003.161       -1560.905          50.000          43.000
+  -2463669.48143  -1907440.60442  24827061.984    24827068.766    24827060.694
+      1782.768        1389.170          40.000          37.000
+  -2038427.91343  -1553317.49042  24926549.104    24926556.754    24926545.454
+      2879.774        2243.980          46.000          37.000
+ 04  2  1 11 17  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -10986723.34743  -8556669.36742  23256931.129    23256935.771    23256929.804
+      2337.385        1821.339          50.000          43.000
+ -19918334.38243 -15504249.77242  21085998.484    21086003.026    21085997.850
+     -1886.479       -1469.984          55.000          49.000
+ -24828845.38244 -19302639.02942  20323653.747    20323657.920    20323652.360
+     -1684.725       -1312.773          57.000          51.000
+ -24572249.07643 -19102326.34742  20741399.702    20741404.391    20741399.183
+      -150.707        -117.434          56.000          50.000
+ -12092452.35843  -9411494.70842  23027945.864    23027950.143    23027943.604
+     -1955.157       -1523.499          49.000          43.000
+  -9435201.13743  -7312101.57242  23853260.870    23853265.283    23853259.207
+      2969.406        2313.823          49.000          42.000
+  -9278701.17143  -7175123.44542  23078466.595    23078468.799    23078465.774
+     -2003.052       -1560.820          49.000          43.000
+  -2517108.94543  -1949081.70242  24816894.551    24816900.424    24816892.453
+      1780.526        1387.423          43.000          37.000
+  -2124896.38543  -1620695.29642  24910093.195    24910101.352    24910091.887
+      2885.164        2248.180          45.000          37.000
+ 04  2  1 11 17 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11056805.69643  -8611278.87242  23243593.945    23243600.038    23243592.740
+      2333.755        1818.510          50.000          43.000
+ -19861514.84443 -15459974.82642  21096811.331    21096815.455    21096810.179
+     -1902.166       -1482.207          56.000          49.000
+ -24778079.55344 -19263081.23442  20333313.994    20333318.353    20333312.833
+     -1700.330       -1324.932          57.000          51.000
+ -24567431.12043 -19098572.10342  20742316.746    20742321.254    20742316.076
+      -171.239        -133.433          56.000          50.000
+ -12033672.89243  -9365692.59642  23039129.951    23039134.220    23039128.875
+     -1964.199       -1530.545          49.000          43.000
+  -9524316.27343  -7381541.85842  23836302.250    23836305.537    23836301.047
+      2970.944        2315.021          48.000          42.000
+  -9218637.30543  -7128320.43842  23089896.078    23089899.163    23089894.451
+     -2001.898       -1559.920          49.000          43.000
+  -2570511.41843  -1990693.90842  24806731.832    24806738.700    24806731.201
+      1779.130        1386.335          43.000          38.000
+  -2211571.06643  -1688233.83142  24893598.330    24893607.043    24893596.457
+      2892.204        2253.665          44.000          37.000
+ 04  2  1 11 18  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11126761.91443  -8665790.10642  23230282.466    23230287.230    23230281.265
+      2329.725        1815.370          50.000          43.000
+ -19804212.22543 -15415323.45142  21107715.559    21107719.833    21107714.574
+     -1918.219       -1494.716          55.000          49.000
+ -24726837.47544 -19223152.33642  20343065.740    20343069.371    20343064.080
+     -1716.128       -1337.242          57.000          51.000
+ -24561986.29143 -19094329.38142  20743353.460    20743357.435    20743352.240
+      -192.121        -149.705          56.000          50.000
+ -11974611.08543  -9319670.41542  23050369.890    23050374.703    23050367.540
+     -1973.598       -1537.868          50.000          43.000
+  -9613466.39943  -7451009.44142  23819337.346    23819341.247    23819337.223
+      2972.022        2315.861          48.000          42.000
+  -9158599.08743  -7081537.42042  23101320.341    23101323.352    23101319.491
+     -2001.024       -1559.239          48.000          42.000
+  -2623864.91543  -2032267.98242  24796578.772    24796585.088    24796576.856
+      1777.454        1385.029          44.000          38.000
+  -2298436.56543  -1755921.05442  24877069.047    24877077.493    24877067.871
+      2898.735        2258.755          45.000          37.000
+ 04  2  1 11 18 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11196591.46743  -8720202.64142  23216993.448    23216999.607    23216993.297
+      2324.848        1811.570          50.000          43.000
+ -19746431.33543 -15370299.39342  21118711.013    21118715.269    21118710.106
+     -1934.438       -1507.354          55.000          49.000
+ -24675123.89044 -19182856.02942  20352906.212    20352910.070    20352904.760
+     -1732.100       -1349.688          57.000          51.000
+ -24555917.62943 -19089600.55542  20744507.928    20744512.542    20744507.008
+      -213.152        -166.092          56.000          50.000
+ -11915269.42443  -9273430.19842  23061661.609    23061668.363    23061660.254
+     -1983.203       -1545.353          49.000          43.000
+  -9702652.23743  -7520504.84142  23802365.497    23802371.043    23802364.942
+      2972.952        2316.586          48.000          43.000
+  -9098589.12343  -7034776.41242  23112740.302    23112742.625    23112739.364
+     -2000.094       -1558.515          49.000          42.000
+  -2677172.36143  -2073806.18242  24786435.919    24786441.238    24786434.518
+      1775.413        1383.439          45.000          38.000
+  -2385492.89643  -1823757.00142  24860502.427    24860509.927    24860501.575
+      2904.384        2263.156          45.000          37.000
+ 04  2  1 11 19  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11266299.79443  -8774520.72242  23203728.372    23203735.730    23203727.891
+      2321.627        1809.060          50.000          43.000
+ -19688183.33543 -15324911.36142  21129794.702    21129799.094    21129794.101
+     -1949.361       -1518.982          55.000          49.000
+ -24622949.31444 -19142200.50642  20362834.568    20362838.355    20362833.363
+     -1746.744       -1361.099          57.000          51.000
+ -24549233.99843 -19084392.53242  20745779.907    20745784.223    20745778.903
+      -232.992        -181.552          56.000          50.000
+ -11855656.34543  -9226978.50842  23073005.972    23073009.875    23073004.939
+     -1991.432       -1551.765          49.000          43.000
+  -9791880.40343  -7590033.21442  23785386.773    23785391.143    23785386.777
+      2975.006        2318.186          49.000          42.000
+  -9038615.70243  -6988043.88642  23124153.657    23124156.370    23124153.236
+     -1998.136       -1556.989          49.000          43.000
+  -2730442.49343  -2115315.31842  24776298.208    24776304.597    24776296.417
+      1775.225        1383.292          45.000          38.000
+  -2472745.92743  -1891746.24142  24843897.598    24843907.702    24843896.636
+      2911.735        2268.884          44.000          37.000
+ 04  2  1 11 19 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11335876.94643  -8828736.60742  23190488.084    23190493.985    23190487.974
+      2317.830        1806.101          50.000          43.000
+ -19629463.74543 -15279155.84642  21140968.829    21140973.373    21140967.932
+     -1964.464       -1530.751          55.000          49.000
+ -24570309.24344 -19101182.26142  20372852.042    20372855.477    20372850.086
+     -1761.814       -1372.842          57.000          50.000
+ -24541929.23743 -19078700.51942  20747169.482    20747173.965    20747168.885
+      -253.262        -197.347          56.000          50.000
+ -11795765.04043  -9180310.01942  23084402.505    23084407.951    23084400.537
+     -2000.705       -1558.991          48.000          42.000
+  -9881142.37343  -7659587.93842  23768400.141    23768404.189    23768399.017
+      2976.456        2319.316          48.000          42.000
+  -8978672.19743  -6941334.66842  23135560.727    23135563.576    23135559.626
+     -1997.004       -1556.107          50.000          43.000
+  -2783669.37943  -2156790.70442  24766170.902    24766175.487    24766167.331
+      1774.103        1382.418          44.000          38.000
+  -2560186.76043  -1959881.80042  24827258.834    24827267.342    24827257.425
+      2918.428        2274.100          45.000          38.000
+ 04  2  1 11 20  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11405321.73843  -8882849.34142  23177273.013    23177279.943    23177272.671
+      2312.255        1801.757          49.000          43.000
+ -19570277.15043 -15233036.43942  21152232.131    21152236.267    21152231.047
+     -1981.126       -1543.734          55.000          49.000
+ -24517207.73344 -19059804.45742  20382956.245    20382960.680    20382954.905
+     -1778.113       -1385.542          57.000          50.000
+ -24534005.86243 -19072526.46042  20748677.256    20748681.731    20748676.503
+      -274.870        -214.184          56.000          50.000
+ -11735597.11843  -9133425.94342  23095852.752    23095856.602    23095851.753
+     -2010.719       -1566.794          48.000          42.000
+  -9970438.23443  -7729169.07542  23751408.509    23751411.882    23751407.536
+      2976.633        2319.454          48.000          42.000
+  -8918760.55743  -6894650.28342  23146961.842    23146963.782    23146960.454
+     -1997.036       -1556.132          50.000          43.000
+  -2836855.17443  -2198234.16642  24756048.965    24756056.179    24756048.668
+      1771.636        1380.496          45.000          39.000
+  -2647814.81243  -2028163.29242  24810583.781    24810591.991    24810582.631
+      2923.645        2278.165          45.000          38.000
+ 04  2  1 11 20 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11474634.99043  -8936859.57442  23164084.135    23164088.112    23164082.917
+      2308.501        1798.832          50.000          43.000
+ -19510629.64943 -15186557.88942  21163582.541    21163586.808    21163581.804
+     -1995.474       -1554.915          55.000          49.000
+ -24463650.98443 -19018071.92142  20393147.963    20393151.725    20393146.343
+     -1792.436       -1396.703          56.000          50.000
+ -24525468.23443 -19065873.76642  20750301.777    20750306.564    20750301.308
+      -294.467        -229.455          56.000          50.000
+ -11675156.55943  -9086329.43942  23107353.615    23107359.744    23107351.881
+     -2018.742       -1573.046          48.000          43.000
+ -10059770.27543  -7798778.41142  23734408.546    23734412.256    23734408.163
+      2978.480        2320.894          49.000          42.000
+  -8858884.65843  -6847993.75342  23158356.177    23158359.877    23158354.731
+     -1995.028       -1554.567          50.000          43.000
+  -2890004.83043  -2239649.41542  24745934.871    24745941.029    24745933.662
+      1771.304        1380.237          44.000          39.000
+  -2735631.57143  -2096591.82942  24793871.343    24793881.185    24793871.954
+      2930.725        2283.682          44.000          38.000
+ 04  2  1 11 21  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11543806.44343  -8990759.30942  23150921.010    23150925.565    23150920.170
+      2303.509        1794.942          50.000          43.000
+ -19450516.74543 -15139716.68742  21175021.836    21175026.131    21175020.657
+     -2011.429       -1567.347          55.000          49.000
+ -24409633.72944 -18975980.54942  20403427.053    20403431.090    20403425.738
+     -1808.023       -1408.849          57.000          50.000
+ -24516309.60043 -19058737.17042  20752044.955    20752049.203    20752044.305
+      -315.432        -245.791          56.000          50.000
+ -11614436.07743  -9039014.82342  23118908.888    23118914.391    23118907.509
+     -2028.429       -1580.594          49.000          43.000
+ -10149129.17543  -7868408.65942  23717404.301    23717409.657    23717402.362
+      2979.189        2321.446          49.000          43.000
+  -8799037.17843  -6801359.36942  23169743.233    23169746.114    23169742.487
+     -1994.319       -1554.015          49.000          42.000
+  -2943111.48243  -2281031.12842  24735829.408    24735833.634    24735826.875
+      1769.483        1378.818          44.000          38.000
+  -2823627.54943  -2165160.00542  24777128.456    24777136.960    24777127.368
+      2936.577        2288.242          46.000          39.000
+ 04  2  1 11 21 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11612837.96443  -9044549.99842  23137783.873    23137790.031    23137784.028
+      2298.918        1791.365          50.000          43.000
+ -19389946.07043 -15092518.77642  21186547.915    21186552.330    21186547.279
+     -2026.338       -1578.965          56.000          49.000
+ -24355163.41444 -18933536.14242  20413792.625    20413796.641    20413791.146
+     -1822.834       -1420.390          57.000          50.000
+ -24506535.77843 -19051121.20642  20753905.146    20753909.119    20753904.543
+      -335.697        -261.582          56.000          50.000
+ -11553440.59443  -8991485.91942  23130516.928    23130521.027    23130515.353
+     -2037.657       -1587.785          50.000          43.000
+ -10238518.02343  -7938062.25642  23700392.944    23700398.200    23700391.907
+      2980.608        2322.552          49.000          42.000
+  -8739223.19543  -6754751.05842  23181126.485    23181127.585    23181125.475
+     -1993.040       -1553.018          50.000          42.000
+  -2996180.31543  -2322383.44042  24725729.631    24725735.873    24725729.077
+      1768.911        1378.372          43.000          38.000
+  -2911805.17943  -2233869.74742  24760346.450    24760357.052    24760346.949
+      2942.483        2292.844          45.000          38.000
+ 04  2  1 11 22  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11681727.73043  -9098230.24742  23124675.384    23124680.636    23124674.179
+      2294.226        1787.709          51.000          44.000
+ -19328921.18443 -15044966.93042  21198160.641    21198165.011    21198160.031
+     -2041.319       -1590.638          56.000          49.000
+ -24300243.60943 -18890741.48442  20424243.178    20424247.302    20424241.963
+     -1837.649       -1431.934          56.000          50.000
+ -24496148.67243 -19043027.36042  20755881.423    20755885.858    20755880.750
+      -355.995        -277.399          56.000          50.000
+ -11492171.50843  -8943743.80142  23142175.042    23142179.903    23142173.592
+     -2046.244       -1594.476          49.000          42.000
+ -10327936.27243  -8007738.75842  23683377.012    23683381.816    23683377.041
+      2981.666        2323.376          48.000          42.000
+  -8679443.92443  -6708169.82242  23192500.616    23192504.277    23192499.544
+     -1991.661       -1551.944          49.000          41.000
+  -3049213.44443  -2363707.85942  24715637.348    24715644.545    24715637.295
+      1767.440        1377.226          44.000          38.000
+  -3000163.43343  -2302720.21942  24743534.286    24743542.663    24743532.225
+      2948.911        2297.853          46.000          39.000
+ 04  2  1 11 22 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11750468.78043  -9151794.60142  23111593.534    23111599.459    23111593.102
+      2289.636        1784.132          51.000          44.000
+ -19267440.90643 -14997060.23942  21209860.088    21209864.104    21209859.165
+     -2056.188       -1602.224          56.000          49.000
+ -24244872.54644 -18847595.19242  20434780.416    20434784.143    20434778.952
+     -1852.402       -1443.430          57.000          50.000
+ -24485144.99843 -19034453.07242  20757975.557    20757979.479    20757974.735
+      -376.257        -293.187          56.000          50.000
+ -11430624.69143  -8895785.26342  23153887.684    23153892.601    23153886.877
+     -2055.413       -1601.620          49.000          43.000
+ -10417378.03443  -8077433.56642  23666357.679    23666362.293    23666357.128
+      2982.476        2324.007          49.000          43.000
+  -8619695.47843  -6661612.58342  23203871.400    23203874.492    23203869.398
+     -1990.394       -1550.956          49.000          42.000
+  -3102207.28543  -2405001.67742  24705552.017    24705560.323    24705552.086
+      1766.404        1376.419          43.000          38.000
+  -3088695.50243  -2371706.12742  24726687.332    24726695.827    24726685.637
+      2954.537        2302.237          48.000          40.000
+ 04  2  1 11 23  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11819061.02143  -9205243.01942  23098541.415    23098546.513    23098539.853
+      2283.442        1779.305          51.000          44.000
+ -19205510.82443 -14948803.04442  21221644.693    21221649.028    21221644.161
+     -2072.267       -1614.753          55.000          49.000
+ -24189055.50044 -18804101.38242  20445402.127    20445405.604    20445400.488
+     -1868.459       -1455.942          57.000          50.000
+ -24473528.66943 -19025401.39142  20760185.910    20760190.403    20760185.251
+      -397.875        -310.032          56.000          50.000
+ -11368803.33343  -8847612.84942  23165651.393    23165655.409    23165650.702
+     -2065.738       -1609.666          49.000          43.000
+ -10506844.39443  -8147147.57542  23649333.428    23649338.314    23649332.605
+      2982.261        2323.840          49.000          43.000
+  -8559980.85643  -6615081.72942  23215234.431    23215237.388    23215233.340
+     -1990.312       -1550.892          49.000          41.000
+  -3155165.28843  -2446267.55042  24695475.703    24695482.782    24695474.154
+      1764.442        1374.890          45.000          39.000
+  -3177402.19543  -2440828.06942  24709805.472    24709815.378    24709805.024
+      2959.370        2306.003          46.000          39.000
+ 04  2  1 11 23 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11887500.42243  -9258572.32442  23085517.637    23085522.400    23085517.543
+      2278.825        1775.708          51.000          44.000
+ -19143132.48743 -14900196.56842  21233514.924    21233519.343    21233514.143
+     -2086.677       -1625.982          55.000          49.000
+ -24132793.69643 -18760261.01142  20456108.201    20456111.971    20456106.687
+     -1882.779       -1467.100          56.000          50.000
+ -24461299.19043 -19015871.93042  20762513.175    20762517.735    20762512.739
+      -417.815        -325.570          56.000          50.000
+ -11306706.28543  -8799225.58842  23177467.708    23177472.218    23177465.956
+     -2074.464       -1616.465          49.000          43.000
+ -10596332.42843  -8216878.46742  23632304.170    23632309.126    23632303.472
+      2983.190        2324.564          50.000          43.000
+  -8500298.85543  -6568576.28142  23226592.547    23226593.779    23226592.570
+     -1988.735       -1549.664          49.000          42.000
+  -3208087.24343  -2487505.35542  24685405.118    24685411.269    24685404.050
+      1763.400        1374.078          46.000          39.000
+  -3266279.86643  -2510083.24742  24692891.362    24692901.570    24692890.497
+      2965.473        2310.758          45.000          39.000
+ 04  2  1 11 24  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -11955785.57743  -9311781.44642  23072522.842    23072528.582    23072522.586
+      2273.704        1771.717          50.000          43.000
+ -19080310.47143 -14851244.36242  21245470.136    21245474.072    21245469.110
+     -2101.356       -1637.420          55.000          49.000
+ -24076091.38644 -18716077.38442  20466898.430    20466902.386    20466896.724
+     -1897.146       -1478.295          57.000          50.000
+ -24448459.33443 -19005866.85142  20764956.382    20764960.615    20764955.810
+      -437.879        -341.204          56.000          50.000
+ -11244335.58943  -8750625.07942  23189337.036    23189340.596    23189335.208
+     -2083.375       -1623.409          48.000          42.000
+ -10685842.18443  -8286626.27242  23615271.193    23615275.304    23615270.155
+      2984.423        2325.524          50.000          43.000
+  -8440651.39343  -6522097.75442  23237942.901    23237946.453    23237942.860
+     -1987.572       -1548.757          50.000          42.000
+  -3260975.47943  -2528716.88242  24675340.376    24675348.080    24675339.437
+      1762.786        1373.599          44.000          39.000
+  -3355328.28543  -2579471.46942  24675947.091    24675957.011    24675945.649
+      2971.241        2315.253          46.000          40.000
+ 04  2  1 11 24 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12023912.58743  -9364867.33642  23059558.721    23059564.139    23059558.638
+      2268.066        1767.324          50.000          43.000
+ -19017046.32143 -14801947.64242  21257508.811    21257513.005    21257507.872
+     -2116.034       -1648.858          55.000          49.000
+ -24018949.77643 -18671551.44842  20477771.619    20477775.519    20477770.243
+     -1911.986       -1489.859          56.000          50.000
+ -24435008.77843 -18995385.90242  20767515.740    20767520.488    20767515.500
+      -458.505        -357.277          56.000          50.000
+ -11181690.26343  -8701810.58842  23201258.414    23201264.391    23201257.436
+     -2092.654       -1630.639          47.000          42.000
+ -10775370.66043  -8356388.68042  23598234.636    23598238.156    23598233.421
+      2984.607        2325.668          50.000          43.000
+  -8381037.49243  -6475645.35342  23249287.422    23249288.694    23249285.795
+     -1986.637       -1548.029          49.000          42.000
+  -3313829.58043  -2569901.80742  24665282.352    24665288.012    24665280.822
+      1761.278        1372.424          44.000          39.000
+  -3444543.58043  -2648989.69442  24658969.049    24658979.783    24658970.169
+      2976.358        2319.240          47.000          40.000
+ 04  2  1 11 25  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12091877.93143  -9417827.26042  23046624.623    23046630.614    23046624.580
+      2261.653        1762.327          50.000          43.000
+ -18953342.38943 -14752308.22942  21269631.048    21269635.507    21269629.904
+     -2131.859       -1661.189          55.000          49.000
+ -23961371.04043 -18626684.88942  20488728.826    20488732.745    20488727.176
+     -1927.543       -1501.981          56.000          50.000
+ -24420948.11043 -18984429.54042  20770191.962    20770195.729    20770191.110
+      -479.854        -373.912          56.000          50.000
+ -11118769.89743  -8652781.79042  23213230.827    23213236.137    23213228.725
+     -2102.895       -1638.619          47.000          41.000
+ -10864915.72243  -8426163.98342  23581194.464    23581198.435    23581194.106
+      2984.138        2325.302          50.000          43.000
+  -8321456.55643  -6429218.65442  23260624.434    23260625.550    23260622.363
+     -1986.593       -1547.994          49.000          42.000
+  -3366649.56543  -2611060.11142  24655232.466    24655237.425    24655231.024
+      1759.132        1370.752          45.000          39.000
+  -3533923.26143  -2718636.02842  24641960.879    24641972.425    24641960.593
+      2980.649        2322.584          45.000          39.000
+ 04  2  1 11 25 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12159681.04243  -9470660.78242  23033723.256    23033729.038    23033721.705
+      2257.271        1758.912          51.000          44.000
+ -18889203.92143 -14702330.22142  21281836.064    21281840.355    21281834.940
+     -2145.384       -1671.728          55.000          49.000
+ -23903359.91143 -18581481.40542  20499767.766    20499771.889    20499766.335
+     -1940.980       -1512.452          56.000          50.000
+ -24406280.91943 -18973000.56742  20772982.645    20772986.784    20772982.176
+      -499.248        -389.024          56.000          50.000
+ -11055577.41143  -8603540.91142  23225257.020    23225260.915    23225255.733
+     -2111.288       -1645.159          49.000          42.000
+ -10954478.01943  -8495952.73042  23564151.673    23564155.109    23564150.627
+      2985.382        2326.272          50.000          43.000
+  -8261911.12443  -6382819.62042  23271956.041    23271959.727    23271955.927
+     -1984.673       -1546.498          49.000          42.000
+  -3419438.80743  -2652194.44742  24645185.536    24645191.535    24645184.037
+      1758.887        1370.561          44.000          39.000
+  -3623467.23743  -2788410.40842  24624922.407    24624932.111    24624920.825
+      2987.370        2327.821          46.000          39.000
+ 04  2  1 11 26  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12227312.36243  -9523360.45242  23020852.716    23020858.074    23020852.895
+      2251.257        1754.226          51.000          44.000
+ -18824626.99843 -14652010.56242  21294124.529    21294128.873    21294124.101
+     -2159.910       -1683.047          55.000          49.000
+ -23844912.20443 -18535937.73342  20510890.133    20510893.985    20510888.627
+     -1955.613       -1523.854          56.000          50.000
+ -24391001.37543 -18961094.43142  20775890.337    20775894.716    20775889.545
+      -519.735        -404.988          56.000          49.000
+ -10992106.05843  -8554082.74742  23237334.624    23237340.587    23237333.995
+     -2120.539       -1652.368          50.000          43.000
+ -11044048.99143  -8565748.22742  23547107.565    23547110.117    23547105.441
+      2985.563        2326.413          51.000          44.000
+  -8202394.47143  -6336443.00142  23283279.995    23283284.292    23283279.711
+     -1983.389       -1545.498          48.000          42.000
+  -3472191.09943  -2693300.08142  24635146.980    24635153.268    24635145.156
+      1757.698        1369.635          44.000          38.000
+  -3713166.19443  -2858305.50142  24607853.491    24607860.989    24607851.973
+      2992.443        2331.774          46.000          39.000
+ 04  2  1 11 26 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12294775.99943  -9575929.45242  23008014.247    23008020.653    23008013.113
+      2246.447        1750.478          50.000          44.000
+ -18759621.28343 -14601356.78042  21306495.341    21306499.136    21306494.058
+     -2173.384       -1693.546          55.000          49.000
+ -23786037.30143 -18490061.18242  20522093.459    20522097.383    20522092.288
+     -1968.959       -1534.254          56.000          50.000
+ -24375117.62843 -18948717.49142  20778912.465    20778917.500    20778912.258
+      -538.941        -419.954          56.000          49.000
+ -10928363.23743  -8504413.05342  23249464.976    23249470.262    23249462.987
+     -2128.664       -1658.699          49.000          43.000
+ -11133633.91243  -8635554.58942  23530058.188    23530062.068    23530057.438
+      2986.868        2327.430          50.000          43.000
+  -8142913.60943  -6290094.30142  23294599.821    23294603.904    23294597.867
+     -1981.555       -1544.069          49.000          42.000
+  -3524914.55243  -2734383.14342  24625116.205    24625119.619    24625113.936
+      1757.690        1369.629          44.000          38.000
+  -3803024.82343  -2928325.04942  24590752.503    24590761.086    24590752.796
+      2998.600        2336.571          45.000          39.000
+ 04  2  1 11 27  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12362068.40743  -9628365.00342  22995210.426    22995215.036    22995209.013
+      2240.491        1745.837          51.000          44.000
+ -18694189.36243 -14550370.88342  21318946.578    21318950.700    21318945.355
+     -2187.834       -1704.806          55.000          49.000
+ -23726737.18443 -18443853.28742  20533377.809    20533381.830    20533376.579
+     -1983.358       -1545.474          56.000          50.000
+ -24358630.12443 -18935870.09542  20782050.994    20782054.810    20782049.972
+      -559.260        -435.787          56.000          49.000
+ -10864348.38143  -8454531.41042  23261645.390    23261652.060    23261645.112
+     -2137.894       -1665.891          48.000          42.000
+ -11223230.31843  -8705369.92142  23513009.063    23513013.789    23513007.642
+      2987.059        2327.578          50.000          43.000
+  -8083468.28043  -6243773.27042  23305911.080    23305914.264    23305911.118
+     -1980.437       -1543.198          49.000          42.000
+  -3577608.68543  -2775443.35642  24615088.158    24615093.199    24615085.578
+      1756.187        1368.457          43.000          37.000
+  -3893039.88043  -2998466.50342  24573623.891    24573633.704    24573622.989
+      3003.175        2340.136          45.000          39.000
+ 04  2  1 11 27 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12429184.04343  -9680662.82442  22982436.362    22982443.716    22982436.640
+      2233.785        1740.612          50.000          44.000
+ -18628331.14543 -14499052.80742  21331478.947    21331483.014    21331477.918
+     -2202.806       -1716.472          56.000          49.000
+ -23667011.64844 -18397313.89842  20544743.816    20544747.267    20544742.006
+     -1998.358       -1557.162          57.000          50.000
+ -24341537.40743 -18922551.09842  20785303.164    20785307.164    20785302.322
+      -580.198        -452.102          56.000          49.000
+ -10800059.14543  -8404435.98142  23273880.527    23273885.007    23273878.930
+     -2147.909       -1673.695          48.000          42.000
+ -11312833.50043  -8775190.50342  23495958.252    23495962.875    23495956.617
+      2986.432        2327.090          50.000          43.000
+  -8024055.60843  -6197477.68442  23317217.884    23317221.811    23317215.910
+     -1980.531       -1543.271          50.000          42.000
+  -3630271.53943  -2816479.23042  24605065.981    24605071.506    24605062.820
+      1755.270        1367.743          43.000          37.000
+  -3983206.63043  -3068726.14042  24556465.391    24556473.194    24556464.092
+      3007.382        2343.415          45.000          39.000
+ 04  2  1 11 28  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12496119.57043  -9732820.29942  22969700.625    22969706.319    22969699.608
+      2227.968        1736.079          51.000          45.000
+ -18562049.63143 -14447404.88442  21344092.072    21344096.091    21344090.645
+     -2216.530       -1727.166          55.000          49.000
+ -23606863.13044 -18350444.91642  20556189.995    20556193.195    20556188.170
+     -2011.996       -1567.789          57.000          50.000
+ -24323840.55543 -18908761.34442  20788670.663    20788675.170    20788669.936
+      -600.048        -467.570          56.000          49.000
+ -10735495.96943  -8354127.05142  23286166.604    23286170.229    23286165.294
+     -2156.770       -1680.600          50.000          42.000
+ -11402441.51643  -8845014.85842  23478905.656    23478910.473    23478904.897
+      2987.070        2327.587          49.000          43.000
+  -7964675.50343  -6151207.45442  23328517.168    23328520.599    23328516.053
+     -1978.718       -1541.858          50.000          42.000
+  -3682903.98543  -2857491.42042  24595051.032    24595054.993    24595048.819
+      1753.964        1366.725          44.000          37.000
+  -4073522.46643  -3139101.92742  24539277.974    24539286.990    24539277.818
+      3013.032        2347.817          45.000          40.000
+ 04  2  1 11 28 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12562874.51743  -9784837.05842  22956997.435    22957002.469    22956996.504
+      2222.355        1731.705          51.000          44.000
+ -18495349.73943 -14395430.95842  21356783.956    21356788.826    21356783.226
+     -2229.872       -1737.562          55.000          49.000
+ -23546296.36543 -18303250.02642  20567714.747    20567718.420    20567713.285
+     -2025.444       -1578.268          56.000          50.000
+ -24305542.84743 -18894503.40242  20792152.217    20792156.751    20792151.494
+      -619.602        -482.807          56.000          49.000
+ -10670661.07143  -8303606.37842  23298503.326    23298509.926    23298503.064
+     -2165.339       -1687.277          49.000          42.000
+ -11492054.79143  -8914843.31442  23461853.011    23461857.576    23461850.651
+      2987.432        2327.869          49.000          44.000
+  -7905330.40043  -6104964.51642  23339810.813    23339814.231    23339809.974
+     -1977.359       -1540.799          50.000          42.000
+  -3735508.68443  -2898481.98942  24585041.360    24585043.716    24585038.791
+      1753.235        1366.157          45.000          37.000
+  -4163987.28643  -3209593.83142  24522064.273    24522072.840    24522061.814
+      3018.304        2351.925          47.000          40.000
+ 04  2  1 11 29  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12629444.23243  -9836709.48742  22944329.419    22944335.360    22944328.657
+      2216.048        1726.791          51.000          44.000
+ -18428232.75243 -14343132.02742  21369555.824    21369560.778    21369555.262
+     -2243.994       -1748.567          55.000          49.000
+ -23485312.18644 -18255729.87642  20579319.965    20579323.386    20579318.509
+     -2039.604       -1589.302          57.000          50.000
+ -24286643.87743 -18879776.94142  20795749.239    20795753.301    20795748.605
+      -639.842        -498.578          56.000          49.000
+ -10605553.16343  -8252872.98742  23310893.562    23310900.203    23310892.273
+     -2174.717       -1694.585          49.000          42.000
+ -11581669.68243  -8984673.03242  23444798.817    23444804.176    23444798.961
+      2987.476        2327.903          49.000          44.000
+  -7846018.35543  -6058747.35542  23351097.084    23351101.753    23351095.626
+     -1976.424       -1540.071          49.000          42.000
+  -3788084.66543  -2939450.19942  24575035.947    24575040.119    24575033.927
+      1751.403        1364.730          45.000          38.000
+  -4254596.88143  -3280198.57342  24504821.763    24504829.353    24504820.335
+      3022.688        2355.341          47.000          40.000
+ 04  2  1 11 29 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12695830.72043  -9888439.13942  22931696.569    22931700.827    22931695.929
+      2210.175        1722.214          51.000          44.000
+ -18360706.65843 -14290514.31242  21382406.485    21382410.557    21382405.235
+     -2257.352       -1758.975          55.000          49.000
+ -23423918.09243 -18207890.31442  20591002.858    20591006.276    20591001.133
+     -2052.818       -1599.598          56.000          50.000
+ -24267150.02943 -18864586.93542  20799458.644    20799462.776    20799457.943
+      -659.257        -513.707          56.000          49.000
+ -10540177.41543  -8201930.90742  23323333.313    23323339.531    23323332.071
+     -2183.140       -1701.148          48.000          42.000
+ -11671289.42443  -9054506.53042  23427745.463    23427750.155    23427744.229
+      2987.708        2328.084          50.000          43.000
+  -7786744.56743  -6012559.97542  23362376.886    23362380.194    23362376.097
+     -1974.894       -1538.878          49.000          41.000
+  -3840637.82643  -2980400.60742  24565035.146    24565039.267    24565033.034
+      1751.518        1364.819          45.000          38.000
+  -4345353.66143  -3350917.98842  24487550.465    24487558.019    24487550.406
+      3028.036        2359.509          47.000          40.000
+ 04  2  1 11 30  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12762023.11243  -9940017.54042  22919099.247    22919105.882    22919099.072
+      2203.634        1717.117          50.000          44.000
+ -18292766.13043 -14237573.64742  21395335.049    21395338.683    21395334.097
+     -2271.071       -1769.666          55.000          49.000
+ -23362108.76643 -18159727.19542  20602764.519    20602768.212    20602762.914
+     -2066.847       -1610.530          56.000          50.000
+ -24247054.39443 -18848928.01142  20803282.535    20803286.833    20803281.770
+      -679.375        -529.383          56.000          49.000
+ -10474526.45043  -8150774.38142  23335826.992    23335832.266    23335825.376
+     -2192.545       -1708.477          49.000          43.000
+ -11760904.23143  -9124336.19542  23410693.100    23410697.048    23410691.941
+      2987.519        2327.937          50.000          44.000
+  -7727500.85543  -5966396.06742  23373649.634    23373654.286    23373648.151
+     -1974.011       -1538.190          49.000          42.000
+  -3893160.47243  -3021327.24442  24555038.138    24555043.697    24555036.638
+      1750.533        1364.052          46.000          38.000
+  -4436247.40943  -3421744.12542  24470253.765    24470261.468    24470253.511
+      3032.478        2362.970          47.000          40.000
+ 04  2  1 11 30 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12828022.21943  -9991445.32742  22906540.029    22906546.084    22906540.310
+      2197.343        1712.215          50.000          44.000
+ -18224418.13443 -14184315.48342  21408340.812    21408345.079    21408339.835
+     -2284.274       -1779.954          55.000          48.000
+ -23299890.33543 -18111245.28942  20614604.261    20614608.021    20614602.746
+     -2079.974       -1620.759          56.000          50.000
+ -24226362.12343 -18832804.17042  20807220.437    20807224.748    20807219.828
+      -698.896        -544.594          56.000          50.000
+ -10408604.16743  -8099406.42142  23348371.634    23348376.764    23348370.183
+     -2201.201       -1715.221          49.000          43.000
+ -11850515.75043  -9194163.28942  23393640.008    23393644.351    23393638.640
+      2987.735        2328.105          50.000          44.000
+  -7668290.94243  -5920258.47142  23384917.511    23384920.509    23384915.920
+     -1972.473       -1536.992          49.000          42.000
+  -3945657.49143  -3062233.88442  24545047.115    24545054.380    24545047.312
+      1750.050        1363.675          42.000          39.000
+  -4527279.54543  -3492678.08942  24452931.180    24452939.191    24452930.345
+      3037.550        2366.922          47.000          39.000
+ 04  2  1 11 31  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12893826.10543 -10042721.01942  22894017.984    22894023.768    22894018.378
+      2191.221        1707.445          50.000          44.000
+ -18155666.63643 -14130742.90242  21421423.877    21421428.087    21421422.581
+     -2297.256       -1790.070          55.000          48.000
+ -23237266.55743 -18062447.53642  20626520.632    20626525.056    20626519.608
+     -2093.050       -1630.948          56.000          50.000
+ -24205075.77743 -18816217.41742  20811271.087    20811275.347    20811270.217
+      -718.218        -559.650          56.000          49.000
+ -10342412.13643  -8047828.28542  23360967.658    23360972.757    23360967.310
+     -2209.929       -1722.022          49.000          43.000
+ -11940123.47743  -9263987.40942  23376588.897    23376592.085    23376587.074
+      2987.939        2328.264          50.000          44.000
+  -7609116.23743  -5874148.35442  23396177.424    23396181.792    23396176.047
+     -1970.704       -1535.613          47.000          41.000
+  -3998130.58843  -3103121.89042  24535062.884    24535068.410    24535060.544
+      1749.975        1363.617          43.000          39.000
+  -4618448.55643  -3563718.73542  24435582.875    24435590.511    24435581.070
+      3042.491        2370.772          47.000          39.000
+ 04  2  1 11 31 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -12959427.97843 -10093839.28442  22881534.682    22881541.640    22881535.599
+      2183.423        1701.369          51.000          44.000
+ -18086510.64243 -14076855.13242  21434583.462    21434587.863    21434582.760
+     -2311.744       -1801.359          55.000          48.000
+ -23174236.07343 -18013332.86042  20638515.388    20638519.537    20638514.133
+     -2107.644       -1642.320          56.000          50.000
+ -24183192.57743 -18799165.58042  20815434.879    20815439.160    20815434.161
+      -739.249        -576.038          56.000          49.000
+ -10275946.56343  -7996037.00342  23373616.144    23373621.791    23373615.368
+     -2220.038       -1729.900          48.000          42.000
+ -12029721.20343  -9333803.76742  23359537.865    23359541.232    23359537.164
+      2986.580        2327.205          50.000          44.000
+  -7549972.35243  -5828062.22342  23407431.851    23407433.894    23407431.806
+     -1970.625       -1535.552          48.000          41.000
+  -4050576.06143  -3143988.38942  24525080.803    24525088.673    24525079.101
+      1747.535        1361.716          41.000          39.000
+  -4709747.72943  -3634860.79242  24418207.762    24418215.717    24418205.211
+      3045.276        2372.942          45.000          39.000
+ 04  2  1 11 32  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13024826.93643 -10144799.44042  22869090.135    22869095.053    22869090.051
+      2176.183        1695.727          51.000          45.000
+ -18016955.12743 -14022656.04642  21447820.036    21447823.640    21447818.743
+     -2325.448       -1812.037          55.000          48.000
+ -23110803.48343 -17963904.85642  20650586.219    20650590.333    20650584.963
+     -2121.296       -1652.958          56.000          50.000
+ -24160716.13443 -18781651.47942  20819712.669    20819716.705    20819711.736
+      -759.270        -591.639          56.000          49.000
+ -10209210.15743  -7944034.66142  23386315.422    23386320.750    23386315.338
+     -2229.061       -1736.931          48.000          42.000
+ -12119309.13943  -9403612.47542  23342489.732    23342493.464    23342488.924
+      2985.697        2326.517          50.000          44.000
+  -7490861.63843  -5782001.91742  23418680.834    23418682.980    23418678.356
+     -1970.017       -1535.078          48.000          41.000
+  -4102997.12143  -3184835.87442  24515106.096    24515112.810    24515106.157
+      1746.528        1360.931          44.000          39.000
+  -4801176.82843  -3706104.09042  24400808.821    24400819.275    24400806.940
+      3049.490        2376.226          46.000          39.000
+ 04  2  1 11 32 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13090025.52743 -10195603.46542  22856683.580    22856689.355    22856683.563
+      2169.864        1690.803          51.000          45.000
+ -17947008.28643 -13968152.02042  21461130.075    21461134.405    21461129.187
+     -2338.268       -1822.027          55.000          48.000
+ -23046976.54143 -17914169.56342  20662731.855    20662736.006    20662730.627
+     -2134.263       -1663.062          56.000          50.000
+ -24137653.02743 -18763680.23042  20824101.510    20824105.427    20824100.441
+      -778.686        -606.768          56.000          49.000
+ -10142208.15243  -7891825.38242  23399065.109    23399070.855    23399063.855
+     -2238.006       -1743.901          48.000          42.000
+ -12208890.44043  -9473416.03442  23325443.483    23325446.789    23325443.540
+      2985.707        2326.525          50.000          44.000
+  -7431788.83743  -5735971.17542  23429921.927    23429924.028    23429920.872
+     -1968.555       -1533.939          48.000          41.000
+  -4155399.47643  -3225668.78242  24505135.455    24505142.844    24505133.881
+      1746.155        1360.640          44.000          40.000
+  -4892738.50243  -3777450.65742  24383387.414    24383393.669    24383385.798
+      3054.179        2379.880          46.000          40.000
+ 04  2  1 11 33  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13155013.42643 -10246243.32142  22844316.600    22844322.084    22844316.065
+      2163.581        1685.907          52.000          45.000
+ -17876666.14543 -13913339.99442  21474515.968    21474520.438    21474515.202
+     -2350.522       -1831.575          55.000          48.000
+ -22982750.83143 -17864123.54642  20674953.866    20674958.017    20674952.163
+     -2146.555       -1672.640          56.000          50.000
+ -24113997.61643 -18745247.45242  20828602.794    20828606.862    20828601.994
+      -797.473        -621.407          56.000          49.000
+ -10074934.09243  -7839404.10842  23411867.351    23411873.856    23411866.416
+     -2246.034       -1750.156          48.000          43.000
+ -12298456.20343  -9543207.49042  23308400.010    23308403.932    23308397.666
+      2986.186        2326.898          50.000          44.000
+  -7372747.04343  -5689964.59742  23441157.272    23441160.812    23441155.692
+     -1966.441       -1532.292          48.000          41.000
+  -4207776.67843  -3266482.06742  24495169.492    24495173.983    24495167.269
+      1746.082        1360.583          44.000          40.000
+  -4984423.10843  -3848893.01742  24365939.717    24365948.054    24365938.588
+      3059.236        2383.820          47.000          40.000
+ 04  2  1 11 33 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13219792.07943 -10296720.12842  22831989.592    22831994.806    22831988.277
+      2155.748        1679.804          51.000          45.000
+ -17805935.91043 -13858225.54142  21487975.633    21487979.794    21487974.375
+     -2364.199       -1842.233          54.000          48.000
+ -22918133.27743 -17813772.19542  20687249.983    20687254.179    20687248.730
+     -2160.433       -1683.454          56.000          50.000
+ -24089755.72643 -18726357.67342  20833215.462    20833219.920    20833215.023
+      -817.847        -637.283          56.000          49.000
+ -10007392.57043  -7786774.44442  23424720.920    23424725.674    23424718.177
+     -2255.908       -1757.850          49.000          43.000
+ -12388008.74943  -9612988.63042  23291357.426    23291362.629    23291356.753
+      2984.834        2325.845          50.000          44.000
+  -7313740.61543  -5643985.57242  23452387.127    23452389.580    23452386.263
+     -1966.314       -1532.193          48.000          41.000
+  -4260133.80743  -3307279.73142  24485204.720    24485211.156    24485202.887
+      1744.857        1359.629          43.000          40.000
+  -5076232.51043  -3920432.65742  24348468.167    24348476.496    24348467.492
+      3062.508        2386.370          47.000          40.000
+ 04  2  1 11 34  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13284355.39243 -10347029.13442  22819703.829    22819708.457    22819702.959
+      2148.267        1673.974          52.000          45.000
+ -17734817.01743 -13802808.24642  21501508.816    21501513.269    21501508.080
+     -2377.363       -1852.491          54.000          48.000
+ -22853122.95443 -17763114.79042  20699621.034    20699625.428    20699619.554
+     -2173.921       -1693.964          56.000          50.000
+ -24064925.45143 -18707009.41542  20837940.399    20837945.046    20837939.945
+      -837.856        -652.875          56.000          49.000
+  -9939580.60743  -7733934.00442  23437624.085    23437631.144    23437622.055
+     -2265.273       -1765.148          49.000          42.000
+ -12477542.72443  -9682755.31242  23274320.232    23274323.818    23274319.480
+      2983.744        2324.995          50.000          44.000
+  -7254766.05043  -5598031.39042  23463608.340    23463612.936    23463608.148
+     -1965.568       -1531.611          48.000          42.000
+  -4312468.27543  -3348059.76142  24475246.395    24475252.453    24475245.089
+      1743.898        1358.882          43.000          39.000
+  -5168160.58243  -3992064.78142  24330974.635    24330982.837    24330973.248
+      3066.111        2389.177          46.000          41.000
+ 04  2  1 11 34 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13348703.25043 -10397170.25242  22807457.250    22807463.770    22807458.015
+      2141.435        1668.651          51.000          45.000
+ -17663315.82643 -13747093.04842  21515115.193    21515119.569    21515114.368
+     -2389.700       -1862.104          54.000          48.000
+ -22787725.51543 -17712155.74242  20712066.055    20712070.140    20712064.531
+     -2186.103       -1703.457          56.000          50.000
+ -24039511.27743 -18687206.17242  20842776.207    20842780.971    20842775.908
+      -856.604        -667.484          55.000          49.000
+  -9871501.80843  -7680885.63742  23450579.616    23450585.910    23450579.579
+     -2273.589       -1771.628          49.000          41.000
+ -12567058.97343  -9752508.17242  23257285.893    23257289.322    23257284.950
+      2983.755        2325.004          50.000          44.000
+  -7195826.18643  -5552104.24842  23474825.019    23474827.736    23474822.989
+     -1964.013       -1530.400          48.000          42.000
+  -4364783.42743  -3388824.69342  24465291.204    24465297.048    24465289.741
+      1743.496        1358.568          44.000          39.000
+  -5260207.63643  -4063789.58742  24313459.306    24313466.036    24313457.475
+      3070.653        2392.717          47.000          41.000
+ 04  2  1 11 35  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13412833.40843 -10447141.72942  22795255.055    22795259.371    22795254.311
+      2133.994        1662.852          51.000          45.000
+ -17591435.99043 -13691082.80442  21528793.214    21528797.773    21528792.541
+     -2402.113       -1871.776          54.000          48.000
+ -22721944.28543 -17660897.63542  20724583.855    20724587.321    20724582.269
+     -2198.871       -1713.406          56.000          50.000
+ -24013515.55343 -18666949.77242  20847723.664    20847727.801    20847722.782
+      -876.040        -682.628          56.000          49.000
+  -9803157.28043  -7627630.20942  23463584.310    23463589.077    23463582.988
+     -2282.499       -1778.571          48.000          41.000
+ -12656556.31043  -9822246.31842  23240255.659    23240258.122    23240253.941
+      2982.951        2324.377          51.000          44.000
+  -7136921.60143  -5506204.56142  23486033.177    23486037.505    23486032.420
+     -1962.944       -1529.567          47.000          41.000
+  -4417080.88343  -3429575.84442  24455339.734    24455345.654    24455337.705
+      1743.191        1358.331          45.000          40.000
+  -5352372.18643  -4135605.94342  24295919.506    24295928.819    24295918.996
+      3074.288        2395.549          46.000          40.000
+ 04  2  1 11 35 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13476738.49343 -10496937.84442  22783094.466    22783098.530    22783093.204
+      2126.482        1656.999          52.000          45.000
+ -17519175.87243 -13634776.24242  21542544.177    21542548.507    21542543.127
+     -2414.749       -1881.622          54.000          48.000
+ -22655777.23843 -17609338.87742  20737174.969    20737178.926    20737173.253
+     -2211.783       -1723.467          56.000          50.000
+ -23986935.05743 -18646237.70842  20852782.102    20852786.013    20852781.260
+      -895.613        -697.880          56.000          49.000
+  -9734542.75543  -7574164.41742  23476642.284    23476646.852    23476641.380
+     -2291.469       -1785.560          48.000          41.000
+ -12746028.22643  -9891964.64142  23223229.514    23223233.520    23223229.421
+      2982.144        2323.749          51.000          44.000
+  -7078047.25743  -5460328.47742  23497238.210    23497239.059    23497237.062
+     -1961.938       -1528.783          49.000          42.000
+  -4469356.52043  -3470310.01742  24445391.273    24445397.634    24445389.837
+      1742.551        1357.832          45.000          40.000
+  -5444647.00043  -4207508.23942  24278361.248    24278368.313    24278359.009
+      3077.588        2398.121          46.000          40.000
+ 04  2  1 11 36  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13540420.73043 -10546560.30442  22770975.544    22770981.241    22770974.556
+      2118.936        1651.119          51.000          45.000
+ -17446543.62643 -13578179.71642  21556365.528    21556369.697    21556364.260
+     -2427.424       -1891.499          54.000          48.000
+ -22589232.13043 -17557485.54542  20749837.943    20749841.825    20749836.540
+     -2224.554       -1733.419          56.000          50.000
+ -23959776.86043 -18625075.48142  20857950.132    20857954.000    20857949.320
+      -914.996        -712.984          56.000          49.000
+  -9665663.98243  -7520492.71342  23489748.787    23489753.678    23489747.122
+     -2300.401       -1792.520          48.000          42.000
+ -12835477.90143  -9961665.65342  23206208.593    23206211.619    23206206.446
+      2981.328        2323.113          51.000          44.000
+  -7019208.45143  -5414480.08042  23508434.314    23508435.450    23508434.050
+     -1960.747       -1527.855          49.000          42.000
+  -4521616.25843  -3511031.82242  24435447.909    24435454.027    24435446.151
+      1741.615        1357.103          46.000          40.000
+  -5537034.62543  -4279498.44042  24260779.824    24260787.136    24260778.215
+      3081.400        2401.091          46.000          40.000
+ 04  2  1 11 36 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13603872.91743 -10596003.49842  22758901.108    22758906.486    22758900.518
+      2111.373        1645.226          51.000          45.000
+ -17373538.08543 -13521292.30442  21570258.002    21570262.149    21570257.092
+     -2439.478       -1900.892          54.000          48.000
+ -22522307.47843 -17505336.46142  20762573.234    20762576.932    20762571.937
+     -2236.967       -1743.091          56.000          49.000
+ -23932038.25443 -18603460.99442  20863228.723    20863233.291    20863227.844
+      -933.934        -727.741          56.000          49.000
+  -9596517.12543  -7466612.11042  23502907.165    23502912.514    23502906.127
+     -2309.148       -1799.336          48.000          42.000
+ -12924898.86843 -10031344.30742  23189190.633    23189195.085    23189189.898
+      2980.339        2322.342          50.000          44.000
+  -6960401.23043  -5368656.29142  23519625.639    23519627.559    23519623.614
+     -1959.312       -1526.737          49.000          42.000
+  -4573856.12243  -3551738.15342  24425505.986    24425512.307    24425504.738
+      1741.179        1356.763          47.000          40.000
+  -5629528.21943  -4351571.21442  24243178.406    24243186.213    24243178.258
+      3084.988        2403.887          46.000          40.000
+ 04  2  1 11 37  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13667095.15243 -10645267.51542  22746870.174    22746875.473    22746869.552
+      2103.684        1639.234          51.000          45.000
+ -17300165.10943 -13464118.57342  21584220.653    21584225.171    21584219.389
+     -2451.640       -1910.369          54.000          48.000
+ -22455008.64043 -17452895.79642  20775379.348    20775383.713    20775378.129
+     -2249.415       -1752.791          56.000          49.000
+ -23903723.66743 -18581397.69242  20868616.139    20868620.829    20868615.507
+      -953.331        -742.855          56.000          49.000
+  -9527105.48943  -7412525.17742  23516115.516    23516122.301    23516114.252
+     -2317.802       -1806.079          48.000          42.000
+ -13014292.15743 -10101001.37842  23172179.694    23172183.844    23172179.627
+      2979.359        2321.578          50.000          44.000
+  -6901627.91043  -5322858.90542  23530807.820    23530812.791    23530807.387
+     -1958.501       -1526.105          48.000          42.000
+  -4626079.89543  -3592431.90842  24415568.746    24415573.628    24415567.667
+      1740.944        1356.580          46.000          40.000
+  -5722128.34243  -4423726.98942  24225558.077    24225564.909    24225557.197
+      3088.295        2406.464          48.000          40.000
+ 04  2  1 11 37 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13730083.88343 -10694349.57842  22734884.046    22734888.944    22734883.412
+      2095.602        1632.937          52.000          45.000
+ -17226427.68243 -13406660.86742  21598252.357    21598256.435    21598251.286
+     -2464.108       -1920.084          54.000          48.000
+ -22387337.93943 -17400165.38042  20788257.130    20788260.515    20788255.633
+     -2261.872       -1762.498          56.000          49.000
+ -23874834.53243 -18558886.68542  20874113.777    20874118.295    20874112.821
+      -972.697        -757.946          56.000          49.000
+  -9457429.08043  -7358231.95642  23529375.152    23529380.625    23529373.627
+     -2326.884       -1813.156          48.000          42.000
+ -13103655.15343 -10170634.83842  23155174.191    23155179.664    23155173.667
+      2978.222        2320.692          50.000          44.000
+  -6842888.06443  -5277087.63242  23541987.306    23541989.744    23541985.483
+     -1957.581       -1525.388          48.000          42.000
+  -4678288.53843  -3633113.88542  24405633.627    24405639.274    24405632.064
+      1739.523        1355.472          46.000          39.000
+  -5814831.35543  -4495962.95842  24207917.513    24207924.796    24207916.226
+      3091.449        2408.921          48.000          41.000
+ 04  2  1 11 38  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13792834.01543 -10743245.72442  22722942.995    22722947.692    22722942.764
+      2087.877        1626.917          52.000          46.000
+ -17152326.21943 -13348919.47742  21612353.680    21612358.114    21612353.118
+     -2476.019       -1929.365          54.000          48.000
+ -22319295.59343 -17347145.36142  20801206.074    20801209.056    20801204.234
+     -2274.140       -1772.057          56.000          49.000
+ -23845370.14443 -18535927.42542  20879720.742    20879725.057    20879720.486
+      -991.688        -772.744          56.000          49.000
+  -9387486.19943  -7303731.06842  23542684.076    23542691.937    23542683.390
+     -2335.850       -1820.143          48.000          42.000
+ -13192983.47843 -10240241.28942  23138175.846    23138180.297    23138175.066
+      2976.918        2319.676          50.000          44.000
+  -6784179.10843  -5231340.38542  23553159.518    23553160.701    23553157.524
+     -1956.554       -1524.587          49.000          41.000
+  -4730479.29843  -3673781.93042  24395702.131    24395706.784    24395700.352
+      1739.272        1355.277          45.000          39.000
+  -5907632.63443  -4568275.47742  24190257.933    24190264.770    24190256.242
+      3094.868        2411.585          48.000          40.000
+ 04  2  1 11 38 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13855343.57643 -10791954.41142  22711048.031    22711052.544    22711047.479
+      2080.300        1621.013          52.000          46.000
+ -17077864.84443 -13290897.65142  21626522.690    21626527.591    21626522.190
+     -2487.357       -1938.200          54.000          48.000
+ -22250885.12443 -17293838.50342  20814223.333    20814227.286    20814222.076
+     -2285.963       -1781.270          56.000          49.000
+ -23815333.00843 -18512521.87742  20885436.775    20885440.901    20885435.944
+     -1010.230        -787.192          56.000          49.000
+  -9317278.29843  -7249023.66142  23556044.449    23556050.660    23556044.732
+     -2344.456       -1826.849          49.000          42.000
+ -13282276.02943 -10309819.87642  23121184.995    23121188.568    23121183.393
+      2976.347        2319.231          50.000          44.000
+  -6725501.91443  -5185617.94842  23564324.818    23564328.334    23564324.207
+     -1954.971       -1523.354          49.000          42.000
+  -4782654.50643  -3714437.86042  24385771.881    24385778.691    24385771.926
+      1739.340        1355.330          45.000          40.000
+  -6000530.58343  -4640663.32942  24172579.003    24172586.792    24172578.200
+      3098.472        2414.394          48.000          40.000
+ 04  2  1 11 39  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13917611.64143 -10840474.91942  22699198.328    22699203.630    22699198.257
+      2072.154        1614.665          52.000          46.000
+ -17003048.49043 -13232599.22542  21640759.388    21640764.729    21640758.362
+     -2499.184       -1947.416          53.000          47.000
+ -22182111.15843 -17240248.39042  20827310.554    20827314.224    20827309.384
+     -2297.861       -1790.541          56.000          49.000
+ -23784727.07143 -18488673.10542  20891260.975    20891265.594    20891260.053
+     -1028.911        -801.749          56.000          49.000
+  -9246807.75143  -7194111.61042  23569455.396    23569461.849    23569453.735
+     -2352.792       -1833.344          48.000          42.000
+ -13371532.66843 -10379370.46442  23104199.709    23104203.130    23104199.294
+      2974.821        2318.042          51.000          44.000
+  -6666858.22443  -5139921.56242  23575483.347    23575487.811    23575483.837
+     -1953.865       -1522.492          48.000          42.000
+  -4834815.93843  -3755083.05142  24375845.929    24375851.991    24375845.214
+      1738.780        1354.893          46.000          40.000
+  -6093524.37043  -4713125.86942  24154882.932    24154890.651    24154882.365
+      3101.949        2417.103          47.000          41.000
+ 04  2  1 11 39 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -13979634.58443 -10888804.42142  22687396.040    22687400.948    22687395.054
+      2063.417        1607.857          52.000          46.000
+ -16927879.67443 -13174026.14542  21655064.252    21655068.424    21655062.687
+     -2511.567       -1957.065          54.000          47.000
+ -22112975.62643 -17186376.55142  20840466.476    20840470.340    20840465.153
+     -2310.363       -1800.283          56.000          49.000
+ -23753553.39643 -18464381.93542  20897192.288    20897197.062    20897191.980
+     -1048.538        -817.042          55.000          49.000
+  -9176074.53043  -7138994.88342  23582914.857    23582920.584    23582915.206
+     -2362.031       -1840.544          49.000          42.000
+ -13460750.63943 -10448890.94042  23087223.176    23087224.054    23087222.106
+      2973.426        2316.955          52.000          44.000
+  -6608246.96343  -5094250.49542  23586637.234    23586640.430    23586636.426
+     -1953.084       -1521.884          49.000          42.000
+  -4886963.98643  -3795717.84142  24365922.758    24365928.294    24365921.971
+      1737.872        1354.186          46.000          39.000
+  -6186610.39143  -4785660.25642  24137168.564    24137175.409    24137169.253
+      3104.552        2419.131          48.000          41.000
+ 04  2  1 11 40  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14041411.05343 -10936941.87742  22675640.798    22675645.231    22675640.051
+      2055.407        1601.616          52.000          45.000
+ -16852363.08643 -13115182.06742  21669434.229    21669438.731    21669433.228
+     -2522.783       -1965.805          54.000          47.000
+ -22043482.81343 -17132226.30742  20853690.014    20853694.202    20853689.305
+     -2322.164       -1809.478          56.000          49.000
+ -23721815.40643 -18439651.03742  20903232.229    20903236.846    20903231.704
+     -1067.076        -831.488          56.000          49.000
+  -9105080.65943  -7083675.02542  23596425.913    23596431.341    23596423.336
+     -2370.505       -1847.147          49.000          42.000
+ -13549929.29843 -10518380.75142  23070251.472    23070255.745    23070249.666
+      2972.029        2315.867          51.000          44.000
+  -6549670.00543  -5048606.15142  23597785.172    23597788.882    23597785.433
+     -1951.900       -1520.961          48.000          41.000
+  -4939101.05543  -3836344.06042  24356000.436    24356006.950    24355998.996
+      1737.709        1354.059          45.000          39.000
+  -6279787.52343  -4858265.65042  24119437.191    24119445.670    24119435.659
+      3107.702        2421.586          47.000          41.000
+ 04  2  1 11 40 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14102933.51443 -10984881.41342  22663932.458    22663937.538    22663931.865
+      2046.928        1595.009          52.000          45.000
+ -16776497.05843 -13056065.70642  21683871.482    21683875.975    21683870.644
+     -2534.156       -1974.667          54.000          48.000
+ -21973630.53943 -17077795.95742  20866982.800    20866986.797    20866981.690
+     -2334.016       -1818.714          56.000          49.000
+ -23689509.96643 -18414477.97942  20909379.841    20909384.452    20909379.282
+     -1085.835        -846.105          56.000          49.000
+  -9033822.05643  -7028148.89042  23609985.863    23609991.558    23609984.087
+     -2379.302       -1854.001          47.000          42.000
+ -13639061.71843 -10587834.55142  23053289.945    23053294.627    23053289.575
+      2970.615        2314.765          50.000          45.000
+  -6491122.19643  -5002984.47742  23608925.538    23608927.904    23608926.276
+     -1950.893       -1520.176          48.000          41.000
+  -4991222.84643  -3876958.35242  24346084.278    24346089.416    24346081.683
+      1737.655        1354.017          45.000          39.000
+  -6373048.57743  -4930936.40742  24101689.978    24101700.120    24101689.897
+      3110.486        2423.755          48.000          42.000
+ 04  2  1 11 41  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14164203.98443 -11032624.57842  22652273.621    22652277.885    22652272.897
+      2038.180        1588.192          52.000          45.000
+ -16700289.55143 -12996683.25642  21698373.075    21698377.690    21698372.411
+     -2545.886       -1983.807          54.000          48.000
+ -21903426.51243 -17023091.51942  20880342.492    20880346.300    20880341.124
+     -2345.891       -1827.967          55.000          49.000
+ -23656643.98843 -18388868.12842  20915634.087    20915638.318    20915633.497
+     -1104.787        -860.873          56.000          49.000
+  -8962304.07043  -6972420.67342  23623595.013    23623599.809    23623594.453
+     -2388.121       -1860.873          47.000          41.000
+ -13728150.75343 -10657254.52642  23036337.179    23036341.249    23036336.363
+      2968.972        2313.485          51.000          45.000
+  -6432608.37443  -4957389.31242  23620060.453    23620065.396    23620058.803
+     -1949.741       -1519.279          48.000          41.000
+  -5043334.80543  -3917565.00642  24336167.229    24336172.224    24336166.143
+      1737.107        1353.590          46.000          40.000
+  -6466395.84943  -5003674.39142  24083927.189    24083934.556    24083926.433
+      3113.071        2425.770          48.000          41.000
+ 04  2  1 11 41 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14225213.07243 -11080164.07542  22640663.915    22640668.222    22640663.776
+      2029.554        1581.471          53.000          45.000
+ -16623737.43943 -12937032.27242  21712940.502    21712944.720    21712939.644
+     -2557.276       -1992.682          54.000          47.000
+ -21832866.85143 -16968109.97242  20893769.683    20893773.296    20893768.154
+     -2357.714       -1837.180          55.000          49.000
+ -23623213.05943 -18362818.05842  20921996.210    20922000.282    20921995.795
+     -1123.536        -875.482          56.000          49.000
+  -8890520.91543  -6916485.82442  23637254.589    23637260.345    23637253.454
+     -2396.994       -1867.787          47.000          41.000
+ -13817187.85843 -10726634.04142  23019394.313    23019398.033    23019393.263
+      2967.214        2312.115          51.000          45.000
+  -6374121.54243  -4911815.18842  23631190.133    23631192.304    23631189.208
+     -1948.792       -1518.539          48.000          41.000
+  -5095431.27943  -3958159.57642  24326253.059    24326258.929    24326251.766
+      1736.551        1353.157          46.000          40.000
+  -6559820.22943  -5076472.47342  24066148.874    24066157.902    24066146.738
+      3115.596        2427.737          48.000          41.000
+ 04  2  1 11 42  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14285966.05343 -11127504.01142  22629102.696    22629107.921    22629101.978
+      2020.650        1574.532          52.000          45.000
+ -16546851.59143 -12877121.24342  21727571.102    21727576.170    21727570.652
+     -2568.597       -2001.504          53.000          47.000
+ -21761962.16743 -16912859.56342  20907261.975    20907265.685    20907260.313
+     -2369.402       -1846.287          55.000          49.000
+ -23589227.03243 -18336335.44642  20928462.882    20928467.527    20928462.341
+     -1142.412        -890.191          56.000          49.000
+  -8818481.14143  -6860351.02142  23650963.758    23650969.019    23650962.910
+     -2405.934       -1874.754          48.000          42.000
+ -13906178.74043 -10795977.53742  23002460.022    23002463.658    23002459.095
+      2965.367        2310.676          52.000          45.000
+  -6315669.38543  -4866268.06542  23642313.493    23642315.160    23642313.144
+     -1947.912       -1517.853          48.000          41.000
+  -5147520.78943  -3998748.73542  24316340.956    24316344.549    24316339.478
+      1736.006        1352.732          47.000          40.000
+  -6653326.81443  -5149334.59042  24048354.291    24048363.646    24048354.495
+      3118.053        2429.652          48.000          41.000
+ 04  2  1 11 42 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14346457.30343 -11174640.00142  22617591.048    22617596.654    22617591.226
+      2011.806        1567.641          52.000          45.000
+ -16469632.60543 -12816950.62842  21742265.499    21742270.323    21742265.257
+     -2579.606       -2010.082          54.000          47.000
+ -21690712.39743 -16857340.26442  20920820.703    20920824.446    20920818.703
+     -2380.723       -1855.109          55.000          49.000
+ -23554684.92243 -18309419.52542  20935036.520    20935040.457    20935035.483
+     -1160.591        -904.357          56.000          49.000
+  -8746182.40343  -6804014.40342  23664720.170    23664726.079    23664719.185
+     -2414.193       -1881.189          47.000          42.000
+ -13995118.59443 -10865281.25842  22985534.313    22985538.802    22985533.523
+      2963.786        2309.444          52.000          45.000
+  -6257249.08743  -4820745.79742  23653429.455    23653434.495    23653428.410
+     -1946.874       -1517.045          47.000          41.000
+  -5199601.04943  -4039330.68442  24306429.710    24306433.994    24306427.895
+      1735.942        1352.682          47.000          40.000
+  -6746910.06043  -5222256.43542  24030546.771    24030553.466    24030546.341
+      3120.583        2431.623          48.000          41.000
+ 04  2  1 11 43  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14406679.63043 -11221566.43642  22606131.368    22606136.500    22606130.672
+      2003.146        1560.893          52.000          46.000
+ -16392079.39643 -12756519.57442  21757023.897    21757028.280    21757022.972
+     -2590.515       -2018.583          54.000          47.000
+ -21619116.03343 -16801550.89242  20934444.727    20934448.595    20934443.248
+     -2392.061       -1863.944          55.000          49.000
+ -23519584.76543 -18282068.75942  20941715.489    20941719.927    20941714.894
+     -1179.048        -918.739          55.000          49.000
+  -8673621.48043  -6747473.47542  23678529.086    23678534.888    23678527.618
+     -2422.764       -1887.868          47.000          42.000
+ -14084001.03643 -10934540.25542  22968621.803    22968624.148    22968620.292
+      2961.896        2307.971          52.000          45.000
+  -6198856.58343  -4775245.14242  23664540.977    23664545.946    23664540.147
+     -1945.596       -1516.049          47.000          40.000
+  -5251668.62043  -4079902.73042  24296521.714    24296528.220    24296520.998
+      1735.782        1352.557          46.000          40.000
+  -6840563.46943  -5295232.95642  24012724.514    24012731.263    24012723.254
+      3123.095        2433.581          48.000          41.000
+ 04  2  1 11 43 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14466636.33543 -11268285.87542  22594722.035    22594727.385    22594721.748
+      1993.912        1553.698          53.000          46.000
+ -16314201.20543 -12695835.28342  21771843.222    21771848.149    21771842.358
+     -2601.533       -2027.168          53.000          47.000
+ -21547181.95243 -16745498.35842  20948133.076    20948137.547    20948131.606
+     -2403.707       -1873.018          55.000          49.000
+ -23483934.60643 -18254289.42242  20948499.669    20948504.238    20948499.360
+     -1197.687        -933.262          56.000          49.000
+  -8600805.13243  -6690733.50442  23692385.168    23692391.455    23692384.633
+     -2431.656       -1894.797          47.000          42.000
+ -14172830.19643 -11003757.72742  22951717.353    22951721.677    22951716.532
+      2959.868        2306.391          51.000          45.000
+  -6140497.61743  -4729770.63542  23675646.590    23675650.675    23675645.395
+     -1944.952       -1515.547          47.000          41.000
+  -5303730.42643  -4120470.32742  24286613.108    24286618.709    24286613.236
+      1735.042        1351.981          45.000          39.000
+  -6934290.12243  -5368266.56742  23994888.549    23994896.024    23994888.406
+      3125.174        2435.201          48.000          41.000
+ 04  2  1 11 44  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14526322.33443 -11314794.38442  22583363.862    22583369.762    22583363.571
+      1985.966        1547.506          53.000          46.000
+ -16235998.94243 -12634898.47442  21786724.954    21786729.074    21786723.989
+     -2611.134       -2034.650          53.000          47.000
+ -21474910.33143 -16689182.81242  20961886.381    20961889.572    20961884.872
+     -2413.651       -1880.767          55.000          49.000
+ -23447734.06543 -18226081.21342  20955388.043    20955392.653    20955387.427
+     -1214.807        -946.603          55.000          49.000
+  -8527731.46943  -6633793.06142  23706291.934    23706296.832    23706289.824
+     -2439.116       -1900.610          49.000          42.000
+ -14261601.60943 -11072930.19542  22934824.229    22934828.421    22934823.217
+      2959.126        2305.812          51.000          45.000
+  -6082169.32543  -4684320.06942  23686746.805    23686749.233    23686746.399
+     -1942.531       -1513.660          47.000          41.000
+  -5355784.66043  -4161031.99542  24276708.586    24276711.937    24276707.938
+      1736.234        1352.910          46.000          40.000
+  -7028085.26643  -5441353.53742  23977041.088    23977048.552    23977040.682
+      3128.418        2437.728          48.000          41.000
+ 04  2  1 11 44 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14585732.31643 -11361087.82542  22572057.450    22572063.399    22572057.697
+      1975.578        1539.411          52.000          46.000
+ -16157473.25743 -12573709.65142  21801667.748    21801671.904    21801666.831
+     -2622.896       -2043.815          53.000          47.000
+ -21402301.51543 -16632604.51742  20975703.156    20975707.078    20975702.002
+     -2426.005       -1890.393          55.000          49.000
+ -23410982.70143 -18197443.79442  20962380.932    20962386.072    20962380.968
+     -1234.207        -961.720          55.000          49.000
+  -8454398.85743  -6576650.82142  23720245.489    23720253.363    23720244.851
+     -2448.676       -1908.059          49.000          42.000
+ -14350310.46643 -11142053.92042  22917943.605    22917947.525    22917943.205
+      2955.826        2303.241          52.000          45.000
+  -6023869.36143  -4638891.53642  23697841.723    23697843.815    23697840.804
+     -1942.938       -1513.978          48.000          41.000
+  -5407829.64943  -4201586.49942  24266805.223    24266811.183    24266804.204
+      1734.353        1351.444          47.000          40.000
+  -7121943.68743  -5514489.82942  23959180.388    23959186.651    23959178.167
+      3129.545        2438.606          48.000          42.000
+ 04  2  1 11 45  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14644869.20143 -11407168.45742  22560805.167    22560810.267    22560804.219
+      1966.420        1532.275          53.000          46.000
+ -16078632.91543 -12512275.64742  21816670.478    21816675.416    21816669.693
+     -2633.522       -2052.095          53.000          47.000
+ -21329363.87743 -16575769.99442  20989582.766    20989586.255    20989581.587
+     -2436.944       -1898.917          55.000          49.000
+ -23373688.38143 -18168383.29042  20969478.745    20969483.751    20969477.999
+     -1252.385        -975.884          55.000          49.000
+  -8380813.54743  -6519311.64942  23734248.881    23734254.636    23734246.626
+     -2457.289       -1914.771          48.000          42.000
+ -14438960.15443 -11211131.53842  22901073.969    22901078.441    22901072.375
+      2953.691        2301.577          51.000          45.000
+  -5965603.07943  -4593489.25342  23708928.148    23708932.122    23708928.243
+     -1941.821       -1513.107          48.000          41.000
+  -5459871.29043  -4242138.37142  24256902.133    24256907.424    24256901.040
+      1734.708        1351.720          46.000          40.000
+  -7215867.94943  -5587677.42342  23941307.202    23941312.552    23941304.904
+      3131.691        2440.279          48.000          42.000
+ 04  2  1 11 45 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14703723.99543 -11453029.29142  22549605.823    22549610.274    22549605.310
+      1956.154        1524.276          53.000          46.000
+ -15999475.40443 -12450594.48342  21831734.151    21831738.470    21831733.199
+     -2644.966       -2061.012          53.000          47.000
+ -21256094.08243 -16518676.64442  21003525.853    21003529.427    21003524.465
+     -2448.898       -1908.232          55.000          49.000
+ -23335847.20943 -18138896.66742  20976680.044    20976684.153    20976678.985
+     -1271.420        -990.717          55.000          49.000
+  -8306970.29843  -6461771.47142  23748301.643    23748306.338    23748300.458
+     -2466.900       -1922.260          49.000          41.000
+ -14527542.74443 -11280156.88042  22884217.483    22884221.505    22884215.610
+      2950.479        2299.075          51.000          45.000
+  -5907364.13243  -4548108.30842  23720012.025    23720015.048    23720010.092
+     -1941.924       -1513.187          48.000          41.000
+  -5511904.09943  -4282683.33542  24247001.695    24247006.379    24246999.452
+      1733.260        1350.592          47.000          40.000
+  -7309849.50043  -5660909.65542  23923422.600    23923430.118    23923421.376
+      3132.561        2440.957          48.000          42.000
+ 04  2  1 11 46  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14762298.28543 -11498671.54442  22538459.248    22538463.640    22538458.542
+      1947.202        1517.300          53.000          46.000
+ -15920007.80043 -12388671.71142  21846855.950    21846860.620    21846855.457
+     -2654.679       -2068.581          53.000          47.000
+ -21182498.91043 -16461329.75942  21017531.021    21017534.158    21017529.296
+     -2459.190       -1916.252          55.000          49.000
+ -23297465.55043 -18108988.90142  20983983.711    20983988.100    20983983.112
+     -1288.940       -1004.369          56.000          49.000
+  -8232873.96443  -6404034.11642  23762400.484    23762408.495    23762399.732
+     -2474.251       -1927.988          47.000          40.000
+ -14616060.00343 -11349131.31442  22867372.007    22867378.091    22867370.765
+      2948.866        2297.818          51.000          45.000
+  -5849156.52443  -4502751.75242  23731088.815    23731091.736    23731087.177
+     -1940.262       -1511.892          48.000          41.000
+  -5563933.63343  -4323225.76542  24237098.941    24237104.059    24237096.897
+      1733.674        1350.915          46.000          40.000
+  -7403889.73843  -5734187.61942  23905526.961    23905533.994    23905524.859
+      3134.958        2442.824          49.000          42.000
+ 04  2  1 11 46 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14820583.74543 -11544088.73142  22527367.210    22527372.642    22527366.841
+      1938.971        1510.886          52.000          46.000
+ -15840227.94243 -12326505.60742  21862038.037    21862042.162    21862036.670
+     -2663.509       -2075.461          53.000          47.000
+ -21108575.68743 -16403727.25542  21031597.696    21031601.342    21031596.276
+     -2468.499       -1923.506          55.000          49.000
+ -23258539.97943 -18078657.29542  20991391.078    20991395.458    20991390.355
+     -1305.573       -1017.330          56.000          49.000
+  -8158519.76743  -6346095.81642  23776549.247    23776557.641    23776548.844
+     -2481.637       -1933.743          45.000          40.000
+ -14704504.30843 -11418048.89342  22850542.987    22850547.053    22850541.592
+      2947.806        2296.992          51.000          45.000
+  -5790974.33943  -4457415.02842  23742160.507    23742162.839    23742157.344
+     -1938.042       -1510.162          48.000          40.000
+  -5615954.65143  -4363761.59542  24227201.112    24227205.628    24227198.175
+      1735.062        1351.996          47.000          40.000
+  -7497980.24543  -5807504.76142  23887621.663    23887627.919    23887621.140
+      3138.211        2445.359          49.000          42.000
+ 04  2  1 11 47  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14878583.84943 -11589283.56242  22516330.681    22516334.975    22516330.165
+      1929.070        1503.171          53.000          46.000
+ -15760145.37543 -12264103.62842  21877276.829    21877281.737    21877275.803
+     -2673.878       -2083.541          53.000          47.000
+ -21034333.30043 -16345876.04642  21045725.015    21045729.134    21045723.729
+     -2479.552       -1932.118          55.000          49.000
+ -23219078.91443 -18047908.42542  20998899.859    20998904.622    20998899.439
+     -1323.792       -1031.526          55.000          49.000
+  -8083914.56943  -6287961.97442  23790745.824    23790753.265    23790745.463
+     -2490.427       -1940.592          45.000          40.000
+ -14792879.82743 -11486912.86942  22833724.242    22833729.352    22833723.282
+      2945.272        2295.017          51.000          45.000
+  -5732823.87943  -4412103.00642  23753224.146    23753230.670    23753222.993
+     -1937.224       -1509.525          47.000          41.000
+  -5667973.80743  -4404295.93542  24217300.662    24217305.647    24217300.129
+      1734.531        1351.583          46.000          40.000
+  -7592124.70643  -5880863.93742  23869706.464    23869713.606    23869705.145
+      3139.592        2446.435          48.000          41.000
+ 04  2  1 11 47 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14936294.72343 -11634253.00542  22505347.998    22505353.603    22505347.923
+      1918.784        1495.156          52.000          46.000
+ -15679762.10543 -12201467.34342  21892573.701    21892578.076    21892572.192
+     -2684.454       -2091.782          53.000          47.000
+ -20959773.44743 -16287777.45742  21059913.469    21059917.358    21059911.860
+     -2490.629       -1940.750          55.000          49.000
+ -23179083.55943 -18016743.22442  21006511.468    21006515.112    21006510.489
+     -1342.120       -1045.808          56.000          49.000
+  -8009058.39043  -6229632.54642  23804991.169    23804997.654    23804990.504
+     -2499.371       -1947.562          45.000          40.000
+ -14881183.10343 -11555720.56942  22816922.262    22816925.421    22816920.623
+      2942.169        2292.599          52.000          45.000
+  -5674703.73443  -4366814.59542  23764285.858    23764287.789    23764285.109
+     -1936.940       -1509.304          47.000          40.000
+  -5719990.94543  -4444828.69742  24207403.837    24207406.919    24207402.204
+      1733.807        1351.018          46.000          40.000
+  -7686319.17543  -5954262.07642  23851780.747    23851790.373    23851781.176
+      3140.697        2447.296          47.000          41.000
+ 04  2  1 11 48  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -14993711.01743 -11678992.91442  22494422.097    22494427.138    22494421.777
+      1908.764        1487.349          52.000          46.000
+ -15599078.97343 -12138597.39842  21907927.198    21907931.557    21907925.932
+     -2694.663       -2099.737          53.000          47.000
+ -20884896.23443 -16229431.57842  21074162.456    21074166.026    21074160.865
+     -2501.425       -1949.162          55.000          49.000
+ -23138553.59743 -17985161.44242  21014223.556    21014228.230    21014222.566
+     -1360.169       -1059.872          55.000          49.000
+  -7933949.15543  -6171105.93042  23819285.401    23819290.477    23819284.049
+     -2508.130       -1954.387          46.000          41.000
+ -14969409.34943 -11624468.23742  22800133.094    22800136.601    22800131.688
+      2939.226        2290.306          52.000          46.000
+  -5616610.98043  -4321547.51242  23775340.038    23775341.174    23775338.486
+     -1936.220       -1508.743          48.000          40.000
+  -5772004.06643  -4485358.33842  24197504.018    24197508.436    24197502.897
+      1733.492        1350.773          47.000          40.000
+  -7780558.53143  -6027695.20242  23833847.233    23833856.684    23833847.111
+      3141.827        2448.177          47.000          41.000
+ 04  2  1 11 48 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15050830.86143 -11723501.83842  22483553.373    22483557.106    22483552.565
+      1899.357        1480.018          53.000          46.000
+ -15518100.05543 -12075496.97242  21923336.939    21923341.617    21923336.080
+     -2703.872       -2106.913          53.000          47.000
+ -20809705.34743 -16170841.26842  21088470.529    21088474.673    21088469.404
+     -2511.163       -1956.750          55.000          49.000
+ -23097492.19643 -17953165.55842  21022037.356    21022041.953    21022036.724
+     -1377.098       -1073.063          55.000          49.000
+  -7858588.54343  -6112383.45542  23833626.746    23833631.432    23833624.282
+     -2515.694       -1960.281          47.000          41.000
+ -15057557.21643 -11693154.83442  22783359.118    22783363.014    22783357.982
+      2937.318        2288.819          52.000          46.000
+  -5558546.22243  -4276302.28242  23786389.848    23786393.901    23786388.309
+     -1934.800       -1507.636          47.000          40.000
+  -5824014.26943  -4525885.71042  24187607.259    24187612.055    24187606.445
+      1734.003        1351.171          47.000          41.000
+  -7874840.55443  -6101161.58442  23815907.424    23815913.847    23815905.683
+      3143.600        2449.558          48.000          41.000
+ 04  2  1 11 49  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15107651.50043 -11767777.61642  22472740.507    22472744.862    22472740.217
+      1888.544        1471.593          54.000          46.000
+ -15436828.53443 -12012168.54242  21938802.361    21938806.603    21938801.361
+     -2714.187       -2114.951          53.000          47.000
+ -20734203.35143 -16112008.54042  21102838.087    21102842.042    21102837.082
+     -2522.366       -1965.480          55.000          49.000
+ -23055901.49143 -17920757.22842  21029952.110    21029956.061    21029950.855
+     -1395.499       -1087.402          56.000          49.000
+  -7782977.50743  -6053465.82142  23848012.307    23848019.889    23848012.218
+     -2525.195       -1967.684          45.000          41.000
+ -15145624.57843 -11761778.70142  22766599.157    22766604.525    22766598.736
+      2933.861        2286.125          51.000          45.000
+  -5500509.32343  -4231078.75742  23797432.604    23797437.714    23797431.535
+     -1934.533       -1507.428          47.000          41.000
+  -5876022.48143  -4566411.54542  24177709.813    24177715.180    24177709.181
+      1733.213        1350.556          47.000          41.000
+  -7969162.72343  -6174659.24142  23797958.261    23797965.480    23797957.055
+      3144.304        2450.107          48.000          41.000
+ 04  2  1 11 49 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15164172.15643 -11811819.63142  22461984.973    22461989.682    22461985.000
+      1879.264        1464.362          53.000          46.000
+ -15355269.53143 -11948616.09842  21954321.930    21954327.121    21954321.384
+     -2723.171       -2121.951          53.000          47.000
+ -20658394.97543 -16052937.08042  21117264.303    21117267.566    21117262.769
+     -2531.812       -1972.840          55.000          48.000
+ -23013785.88143 -17887939.88642  21037965.520    21037970.672    21037965.079
+     -1412.281       -1100.479          55.000          49.000
+  -7707118.78443  -5994355.16842  23862449.003    23862455.407    23862448.533
+     -2532.483       -1973.363          47.000          41.000
+ -15233611.14043 -11830339.60642  22749856.084    22749860.655    22749855.593
+      2931.850        2284.558          51.000          45.000
+  -5442501.73843  -4185878.04142  23808471.528    23808476.134    23808469.341
+     -1932.850       -1506.117          47.000          40.000
+  -5928031.41543  -4606937.90942  24167812.476    24167818.306    24167812.264
+      1733.802        1351.015          47.000          41.000
+  -8063524.15943  -6248187.51542  23780001.292    23780008.408    23780000.232
+      3146.258        2451.630          49.000          42.000
+ 04  2  1 11 50  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15220384.91543 -11855621.71942  22451287.708    22451292.816    22451287.684
+      1867.582        1455.259          53.000          46.000
+ -15273421.23443 -11884838.23742  21969897.375    21969902.401    21969895.908
+     -2734.241       -2130.577          53.000          47.000
+ -20582277.77043 -15993624.96742  21131748.802    21131752.353    21131747.387
+     -2543.447       -1981.907          54.000          48.000
+ -22971142.41043 -17854711.21842  21046081.129    21046085.483    21046080.349
+     -1431.331       -1115.323          55.000          49.000
+  -7631007.69843  -5935047.85342  23876933.237    23876938.147    23876932.678
+     -2542.202       -1980.937          48.000          42.000
+ -15321509.37443 -11898831.69642  22733130.263    22733133.209    22733129.387
+      2927.340        2281.044          52.000          45.000
+  -5384518.09743  -4140696.01942  23819505.268    23819510.172    23819503.418
+     -1933.570       -1506.678          46.000          40.000
+  -5980036.34643  -4647461.14042  24157915.896    24157921.933    24157913.683
+      1732.313        1349.854          45.000          40.000
+  -8157916.67143  -6321740.00642  23762038.967    23762046.349    23762038.562
+      3145.709        2451.202          49.000          42.000
+ 04  2  1 11 50 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15276292.93343 -11899186.35342  22440648.906    22440653.462    22440648.276
+      1858.369        1448.080          53.000          46.000
+ -15191292.81443 -11820842.09442  21985526.207    21985531.004    21985525.060
+     -2742.323       -2136.875          53.000          47.000
+ -20505860.23943 -15934078.83742  21146289.889    21146294.578    21146289.057
+     -2552.225       -1988.747          54.000          48.000
+ -22927979.44343 -17821077.75042  21054295.055    21054299.241    21054293.916
+     -1447.455       -1127.887          56.000          49.000
+  -7554651.25143  -5875549.37442  23891462.938    23891468.944    23891462.006
+     -2549.496       -1986.620          48.000          41.000
+ -15409322.91443 -11967257.78542  22716420.633    22716423.615    22716419.677
+      2925.654        2279.730          52.000          46.000
+  -5326564.01143  -4095537.01342  23830534.985    23830537.081    23830533.473
+     -1931.400       -1504.987          48.000          41.000
+  -6032043.73843  -4687986.30842  24148018.957    24148025.590    24148018.268
+      1733.485        1350.768          45.000          40.000
+  -8252343.48543  -6395319.22142  23744068.645    23744075.230    23744067.644
+      3148.178        2453.126          48.000          41.000
+ 04  2  1 11 51  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15331887.64143 -11942506.86642  22430069.484    22430074.278    22430069.192
+      1848.163        1440.127          53.000          46.000
+ -15108881.68743 -11756625.65142  22001208.700    22001212.917    22001207.230
+     -2751.399       -2143.947          53.000          47.000
+ -20429139.61343 -15874296.52442  21160889.923    21160893.314    21160888.631
+     -2562.237       -1996.548          55.000          48.000
+ -22884293.60543 -17787036.85142  21062607.656    21062612.211    21062606.795
+     -1464.598       -1141.245          55.000          49.000
+  -7478044.51443  -5815855.84142  23906039.717    23906044.400    23906038.513
+     -2557.506       -1992.862          47.000          41.000
+ -15497043.77243 -12035611.66042  22699727.180    22699730.588    22699725.992
+      2922.791        2277.499          52.000          46.000
+  -5268633.33043  -4050396.27142  23841559.496    23841560.640    23841556.880
+     -1930.310       -1504.138          48.000          41.000
+  -6084048.80743  -4728509.65942  24138125.493    24138129.753    24138123.703
+      1733.604        1350.860          48.000          41.000
+  -8346796.10843  -6468918.53542  23726096.367    23726104.038    23726094.665
+      3148.989        2453.758          48.000          42.000
+ 04  2  1 11 51 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15387176.14043 -11985588.75842  22419548.981    22419553.398    22419548.552
+      1837.539        1431.849          53.000          46.000
+ -15026200.88843 -11692199.08442  22016941.929    22016946.814    22016941.513
+     -2760.905       -2151.354          53.000          47.000
+ -20352127.93643 -15814287.41842  21175544.125    21175548.548    21175543.030
+     -2572.296       -2004.386          54.000          48.000
+ -22840096.81943 -17752597.80542  21071018.034    21071022.613    21071017.125
+     -1482.079       -1154.867          55.000          49.000
+  -7401197.91243  -5755975.39642  23920664.221    23920669.613    23920663.260
+     -2566.060       -1999.527          48.000          41.000
+ -15584679.12143 -12103898.90642  22683051.216    22683054.241    22683049.905
+      2919.448        2274.895          52.000          46.000
+  -5210735.75643  -4005281.29642  23852575.268    23852577.774    23852574.430
+     -1929.767       -1503.714          48.000          40.000
+  -6136061.33243  -4769038.81142  24128226.571    24128232.207    24128224.916
+      1733.419        1350.716          47.000          41.000
+  -8441281.28843  -6542543.22042  23708116.587    23708123.881    23708115.863
+      3149.577        2454.216          48.000          41.000
+ 04  2  1 11 52  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15442146.29043 -12028422.58142  22409087.053    22409093.072    22409086.459
+      1827.332        1423.895          52.000          46.000
+ -14943244.05243 -11627557.41442  22032728.397    22032733.114    22032726.886
+     -2769.458       -2158.019          53.000          47.000
+ -20274818.49943 -15754046.28942  21190256.022    21190259.738    21190254.069
+     -2581.632       -2011.661          55.000          48.000
+ -22795381.98343 -17717755.09042  21079526.695    21079531.475    21079526.177
+     -1498.727       -1167.839          55.000          49.000
+  -7324102.71743  -5695901.25542  23935334.392    23935342.298    23935333.878
+     -2573.559       -2005.371          47.000          40.000
+ -15672217.25243 -12172110.39742  22666393.297    22666395.970    22666391.623
+      2916.549        2272.636          53.000          46.000
+  -5152861.10243  -3960184.18842  23863588.322    23863592.885    23863588.146
+     -1928.392       -1502.643          48.000          40.000
+  -6188072.46543  -4809566.88742  24118327.698    24118334.930    24118328.049
+      1733.882        1351.077          47.000          41.000
+  -8535786.53343  -6616183.54542  23690132.611    23690139.212    23690132.037
+      3150.809        2455.176          49.000          41.000
+ 04  2  1 11 52 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15496796.26543 -12071006.92542  22398688.828    22398693.523    22398687.576
+      1816.894        1415.762          53.000          46.000
+ -14860015.44543 -11562703.99042  22048566.225    22048571.148    22048565.225
+     -2778.192       -2164.825          53.000          47.000
+ -20197215.23443 -15693576.20442  21205023.380    21205027.010    21205022.012
+     -2591.089       -2019.030          54.000          48.000
+ -22750152.77643 -17682511.56742  21088133.490    21088138.834    21088132.728
+     -1515.613       -1180.997          55.000          49.000
+  -7246760.95243  -5635634.98942  23950052.133    23950058.240    23950051.288
+     -2581.656       -2011.680          46.000          40.000
+ -15759657.04343 -12240245.25942  22649754.561    22649756.973    22649752.501
+      2913.502        2270.261          53.000          46.000
+  -5095010.19543  -3915105.59642  23874596.945    23874600.453    23874594.943
+     -1927.168       -1501.689          47.000          40.000
+  -6240083.91743  -4850095.21542  24108432.801    24108436.539    24108431.868
+      1734.363        1351.452          48.000          41.000
+  -8630310.07743  -6689838.17842  23672144.426    23672151.682    23672144.096
+      3151.658        2455.837          49.000          41.000
+ 04  2  1 11 53  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15551129.74343 -12113344.66242  22388347.836    22388353.998    22388347.978
+      1805.828        1407.139          53.000          47.000
+ -14776524.70743 -11497646.30842  22064453.589    22064457.855    22064453.266
+     -2787.251       -2171.884          53.000          47.000
+ -20119326.85343 -15632883.94542  21219844.965    21219849.364    21219843.586
+     -2600.938       -2026.705          54.000          48.000
+ -22704417.81843 -17646873.94942  21096836.677    21096841.293    21096836.085
+     -1532.843       -1194.423          55.000          48.000
+  -7169179.69643  -5575182.14142  23964814.530    23964822.227    23964815.302
+     -2589.764       -2017.998          45.000          39.000
+ -15847002.37343 -12308306.50742  22633131.489    22633135.729    22633130.574
+      2909.906        2267.459          52.000          46.000
+  -5037189.05743  -3870050.21342  23885600.939    23885602.699    23885599.226
+     -1926.691       -1501.318          48.000          40.000
+  -6292102.38443  -4890628.99842  24098533.985    24098536.884    24098530.547
+      1734.105        1351.251          49.000          40.000
+  -8724855.50543  -6763509.82842  23654154.543    23654159.655    23654153.414
+      3151.981        2456.089          50.000          41.000
+ 04  2  1 11 53 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15605137.40143 -12155428.50742  22378071.851    22378076.065    22378071.710
+      1795.095        1398.775          54.000          47.000
+ -14692768.54843 -11432381.79442  22080392.372    22080396.838    22080391.925
+     -2795.887       -2178.613          53.000          47.000
+ -20041149.70843 -15571966.68742  21234721.921    21234726.173    21234720.290
+     -2610.356       -2034.044          54.000          48.000
+ -22658172.92443 -17610838.99042  21105636.877    21105641.596    21105636.202
+     -1549.692       -1207.552          55.000          48.000
+  -7091353.20043  -5514538.15342  23979627.292    23979632.791    23979625.983
+     -2597.828       -2024.281          46.000          39.000
+ -15934244.48943 -12376287.34142  22616530.384    22616534.053    22616529.474
+      2906.558        2264.850          53.000          46.000
+  -4979390.63943  -3825012.50342  23896597.591    23896601.481    23896596.334
+     -1925.901       -1500.702          46.000          40.000
+  -6344122.25643  -4931163.89442  24088633.775    24088638.392    24088632.714
+      1734.263        1351.374          48.000          40.000
+  -8819412.98043  -6837190.86642  23636160.639    23636165.604    23636158.464
+      3152.435        2456.443          50.000          42.000
+ 04  2  1 11 54  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15658816.46843 -12197256.30642  22367856.963    22367861.853    22367855.848
+      1783.553        1389.782          53.000          46.000
+ -14608750.33943 -11366913.08442  22096379.797    22096385.407    22096379.666
+     -2805.171       -2185.847          52.000          47.000
+ -19962686.45543 -15510826.48942  21249653.110    21249656.673    21249651.450
+     -2620.298       -2041.791          54.000          48.000
+ -22611420.67743 -17574408.67942  21114533.660    21114538.181    21114532.428
+     -1567.052       -1221.079          55.000          48.000
+  -7013282.49343  -5453703.88542  23994482.633    23994488.888    23994482.872
+     -2606.857       -2031.317          45.000          38.000
+ -16021380.84743 -12444185.76442  22599948.738    22599952.889    22599947.606
+      2902.542        2261.721          52.000          46.000
+  -4921614.70843  -3779992.30342  23907596.240    23907595.876    23907593.252
+     -1925.527       -1500.411          49.000          40.000
+  -6396143.90543  -4971700.16742  24078734.260    24078738.184    24078733.823
+      1733.836        1351.041          48.000          40.000
+  -8913979.98243  -6910879.31542  23618163.749    23618171.798    23618163.501
+      3152.181        2456.245          49.000          42.000
+ 04  2  1 11 54 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15712169.00343 -12238829.67142  22357704.469    22357708.773    22357703.752
+      1772.729        1381.347          53.000          46.000
+ -14524477.50943 -11301245.96742  22112417.194    22112420.865    22112415.702
+     -2813.555       -2192.380          52.000          46.000
+ -19883944.12543 -15449468.82742  21264636.647    21264640.834    21264635.547
+     -2629.670       -2049.093          54.000          48.000
+ -22564168.03343 -17537588.45542  21123525.594    21123530.210    21123524.672
+     -1583.641       -1234.006          55.000          49.000
+  -6934972.85343  -5392683.43042  24009384.070    24009388.086    24009384.355
+     -2614.501       -2037.273          46.000          38.000
+ -16108413.35843 -12512003.26342  22583387.314    22583391.486    22583386.120
+      2899.083        2259.026          52.000          46.000
+  -4863865.13243  -3734992.69342  23918582.290    23918585.014    23918581.608
+     -1924.914       -1499.933          46.000          40.000
+  -6448172.12243  -5012241.54742  24068834.150    24068839.647    24068833.133
+      1734.121        1351.263          48.000          41.000
+  -9008558.03943  -6984576.37842  23600166.785    23600172.293    23600165.292
+      3152.500        2456.494          48.000          41.000
+ 04  2  1 11 55  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15765189.60043 -12280144.37842  22347614.979    22347619.452    22347614.120
+      1762.358        1373.266          54.000          46.000
+ -14439951.00043 -11235381.18042  22128501.882    22128506.290    22128501.096
+     -2821.379       -2198.477          52.000          46.000
+ -19804922.94443 -15387893.87742  21279674.111    21279678.121    21279672.549
+     -2638.171       -2055.718          54.000          48.000
+ -22516414.74343 -17500378.11542  21132612.977    21132617.367    21132612.065
+     -1599.622       -1246.459          55.000          48.000
+  -6856422.43943  -5331475.35042  24024330.342    24024338.436    24024330.851
+     -2621.879       -2043.022          45.000          38.000
+ -16195337.39943 -12579736.25142  22566845.629    22566850.435    22566844.700
+      2895.967        2256.598          52.000          46.000
+  -4806139.22943  -3690011.52342  23929567.724    23929571.152    23929566.611
+     -1923.390       -1498.745          46.000          39.000
+  -6500205.15143  -5052786.66642  24058930.944    24058935.728    24058931.512
+      1734.937        1351.899          47.000          41.000
+  -9103141.66743  -7058277.77342  23582167.274    23582174.735    23582166.713
+      3153.237        2457.068          48.000          42.000
+ 04  2  1 11 55 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15817874.59443 -12321197.58042  22337589.611    22337593.299    22337588.914
+      1750.580        1364.088          54.000          46.000
+ -14355172.75143 -11169320.24042  22144635.017    22144639.405    22144633.199
+     -2830.022       -2205.212          53.000          46.000
+ -19725624.36343 -15326102.77242  21294763.758    21294768.546    21294762.454
+     -2647.904       -2063.302          54.000          48.000
+ -22468162.44943 -17462778.93942  21141794.753    21141799.614    21141794.101
+     -1616.687       -1259.756          55.000          48.000
+  -6777631.35943  -5270079.74142  24039325.102    24039332.736    24039323.635
+     -2630.504       -2049.743          45.000          37.000
+ -16282149.37243 -12647381.90442  22550326.325    22550330.003    22550325.602
+      2891.912        2253.438          53.000          46.000
+  -4748435.51743  -3645047.63642  23940547.369    23940552.038    23940545.635
+     -1923.125       -1498.539          46.000          39.000
+  -6552242.44743  -5093335.14542  24049028.152    24049035.571    24049027.255
+      1734.607        1351.642          47.000          41.000
+  -9197726.71843  -7131980.28142  23564168.511    23564175.801    23564167.665
+      3152.769        2456.703          49.000          42.000
+ 04  2  1 11 56  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15870226.97343 -12361991.59342  22327626.131    22327631.283    22327625.485
+      1739.120        1355.158          53.000          46.000
+ -14270152.07443 -11103070.39042  22160813.226    22160818.272    22160812.723
+     -2838.284       -2211.650          52.000          46.000
+ -19646056.98143 -15264102.21342  21309905.692    21309908.775    21309904.548
+     -2656.919       -2070.326          55.000          48.000
+ -22419419.43843 -17424797.39642  21151070.738    21151074.910    21151069.703
+     -1633.307       -1272.707          55.000          48.000
+  -6698606.36743  -5208501.88442  24054362.683    24054368.798    24054362.794
+     -2638.562       -2056.022          43.000          37.000
+ -16368852.94843 -12714943.10142  22533827.288    22533831.005    22533826.305
+      2887.868        2250.287          53.000          46.000
+  -4690759.37843  -3600105.23642  23951525.160    23951528.335    23951523.307
+     -1922.647       -1498.166          48.000          40.000
+  -6604290.19243  -5133891.74742  24039124.788    24039131.159    24039124.227
+      1734.825        1351.812          47.000          41.000
+  -9292315.99143  -7205686.07942  23546169.902    23546176.442    23546168.554
+      3152.731        2456.674          49.000          42.000
+ 04  2  1 11 56 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15922238.63043 -12402520.10042  22317728.673    22317733.897    22317728.652
+      1727.574        1346.162          53.000          47.000
+ -14184886.33043 -11036629.57642  22177039.222    22177043.365    22177038.206
+     -2846.652       -2218.170          52.000          46.000
+ -19566217.81843 -15201889.87542  21325098.234    21325102.024    21325097.144
+     -2666.208       -2077.565          54.000          48.000
+ -22370182.73343 -17386431.15442  21160440.019    21160444.416    21160438.948
+     -1649.776       -1285.540          55.000          48.000
+  -6619342.58343  -5146737.94042  24069446.320    24069454.579    24069445.121
+     -2646.409       -2062.137          43.000          37.000
+ -16455439.82243 -12782413.36042  22517349.444    22517353.704    22517348.766
+      2883.822        2247.134          53.000          46.000
+  -4633104.73343  -3555179.59042  23962495.435    23962500.220    23962493.579
+     -1921.965       -1497.635          48.000          40.000
+  -6656343.31743  -5174452.53742  24029221.108    24029222.883    24029219.452
+      1734.807        1351.798          49.000          42.000
+  -9386901.03243  -7279388.58642  23528170.863    23528176.164    23528169.465
+      3152.435        2456.443          49.000          42.000
+ 04  2  1 11 57  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -15973908.04643 -12442781.93742  22307896.940    22307901.741    22307896.383
+      1715.977        1337.125          54.000          47.000
+ -14099380.29843 -10970001.52942  22193310.070    22193315.084    22193309.300
+     -2854.698       -2224.440          52.000          46.000
+ -19486110.73843 -15139468.77642  21340341.274    21340345.973    21340339.788
+     -2675.228       -2084.593          53.000          48.000
+ -22320456.10643 -17347683.15042  21169902.380    21169907.149    21169901.789
+     -1666.300       -1298.415          55.000          48.000
+  -6539842.28343  -5084789.73542  24084573.667    24084582.220    24084575.766
+     -2654.315       -2068.297          43.000          36.000
+ -16541908.85643 -12849791.80342  22500895.568    22500899.294    22500894.690
+      2879.786        2243.989          53.000          46.000
+  -4575472.40543  -3510271.31742  23973462.475    23973466.741    23973460.409
+     -1921.163       -1497.010          47.000          40.000
+  -6708403.49443  -5215018.85342  24019311.584    24019316.633    24019311.184
+      1734.864        1351.842          48.000          41.000
+  -9481480.30243  -7353086.58242  23510172.443    23510177.383    23510172.120
+      3151.847        2455.985          48.000          42.000
+ 04  2  1 11 57 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16025232.74943 -12482775.17942  22298130.199    22298134.164    22298129.517
+      1705.436        1328.911          54.000          47.000
+ -14013637.19343 -10903188.75542  22209626.805    22209631.100    22209625.460
+     -2861.580       -2229.802          52.000          46.000
+ -19405738.70643 -15076841.21242  21355636.496    21355640.423    21355635.208
+     -2683.005       -2090.653          54.000          48.000
+ -22270242.40643 -17308555.61342  21179457.783    21179462.368    21179457.002
+     -1681.361       -1310.151          54.000          48.000
+  -6460106.59443  -5022658.06942  24099749.131    24099755.957    24099746.562
+     -2661.430       -2073.841          44.000          36.000
+ -16628258.05843 -12917076.86442  22484463.679    22484467.793    22484463.096
+      2876.725        2241.604          53.000          47.000
+  -4517862.30343  -3465380.39642  23984426.674    23984428.173    23984424.057
+     -1919.514       -1495.725          48.000          41.000
+  -6760471.73043  -5255591.41042  24009404.623    24009408.969    24009403.155
+      1736.205        1352.887          48.000          41.000
+  -9576050.95143  -7426777.86942  23492176.411    23492181.778    23492175.318
+      3152.762        2456.698          49.000          42.000
+ 04  2  1 11 58  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16076209.28043 -12522497.11842  22288429.632    22288433.572    22288428.817
+      1693.690        1319.758          54.000          47.000
+ -13927659.34943 -10836193.07942  22225987.594    22225992.074    22225986.133
+     -2869.482       -2235.960          51.000          45.000
+ -19325103.36443 -15014008.47542  21370980.601    21370984.691    21370979.496
+     -2691.993       -2097.657          54.000          48.000
+ -22219543.24443 -17269049.78542  21189105.456    21189110.312    21189104.651
+     -1697.515       -1322.739          54.000          48.000
+  -6380135.46043  -4960342.93742  24114966.216    24114972.338    24114966.404
+     -2669.307       -2079.979          44.000          36.000
+ -16714483.85343 -12984265.77142  22468055.210    22468059.729    22468054.533
+      2872.410        2238.242          53.000          47.000
+  -4460272.91243  -3420505.58242  23995383.591    23995386.118    23995382.125
+     -1919.139       -1495.433          47.000          40.000
+  -6812547.71643  -5296170.02942  23999493.259    23999499.540    23999493.113
+      1736.347        1352.998          46.000          41.000
+  -9670608.81643  -7500459.19842  23474182.149    23474188.646    23474181.167
+      3152.027        2456.125          49.000          42.000
+ 04  2  1 11 58 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16126833.96343 -12561944.88442  22278795.750    22278800.262    22278794.769
+      1681.407        1310.187          53.000          47.000
+ -13841449.29943 -10769016.44842  22242392.572    22242397.321    22242392.324
+     -2877.805       -2242.445          52.000          46.000
+ -19244206.44443 -14950971.91042  21386375.558    21386378.234    21386373.679
+     -2700.933       -2104.623          54.000          47.000
+ -22168360.34543 -17229167.03342  21198845.201    21198850.061    21198844.496
+     -1714.395       -1335.892          55.000          48.000
+  -6299928.75243  -4897844.23142  24130229.207    24130234.944    24130227.448
+     -2677.877       -2086.657          44.000          35.000
+ -16800582.88243 -13051355.89342  22451671.233    22451675.098    22451670.364
+      2867.609        2234.501          53.000          47.000
+  -4402702.86143  -3375645.80642  24006340.781    24006342.660    24006340.422
+     -1918.878       -1495.230          48.000          40.000
+  -6864630.68443  -5336754.07242  23989583.166    23989587.177    23989581.216
+      1735.914        1352.660          46.000          40.000
+  -9765150.15643  -7574127.65142  23456190.744    23456197.118    23456190.388
+      3150.843        2455.202          49.000          43.000
+ 04  2  1 11 59  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16177108.97443 -12601120.16442  22269229.109    22269233.609    22269228.331
+      1670.207        1301.460          54.000          47.000
+ -13755014.68343 -10701664.82842  22258841.057    22258845.679    22258840.303
+     -2884.699       -2247.817          52.000          46.000
+ -19163055.14943 -14887737.13342  21401817.142    21401821.328    21401816.368
+     -2708.982       -2110.895          54.000          47.000
+ -22116700.93743 -17188912.96742  21208676.419    21208680.327    21208675.321
+     -1729.634       -1347.767          55.000          48.000
+  -6219492.31543  -4835166.58942  24145535.920    24145541.730    24145536.292
+     -2684.838       -2092.081          46.000          36.000
+ -16886557.40543 -13118348.99442  22435312.078    22435314.828    22435310.955
+      2863.897        2231.608          53.000          47.000
+  -4345156.34743  -3330804.40042  24017290.268    24017293.661    24017289.170
+     -1917.544       -1494.190          47.000          41.000
+  -6916725.59743  -5377347.43342  23979670.538    23979674.902    23979668.607
+      1736.767        1353.325          48.000          41.000
+  -9859676.66343  -7647784.53042  23438203.850    23438209.225    23438203.144
+      3150.790        2455.161          49.000          43.000
+ 04  2  1 11 59 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16227030.91543 -12640020.32542  22259728.407    22259733.606    22259727.958
+      1658.160        1292.073          53.000          47.000
+ -13668357.96043 -10634140.14542  22275331.137    22275336.015    22275330.209
+     -2892.274       -2253.720          52.000          46.000
+ -19081651.43043 -14824305.65342  21417308.425    21417311.976    21417307.062
+     -2717.660       -2117.657          54.000          47.000
+ -22064566.88343 -17148289.04442  21218596.254    21218601.244    21218596.188
+     -1745.687       -1360.275          54.000          48.000
+  -6138826.26943  -4772309.96142  24160885.939    24160894.541    24160884.544
+     -2693.001       -2098.442          46.000          36.000
+ -16972403.98443 -13185242.40442  22418974.917    22418978.513    22418973.713
+      2859.330        2228.049          53.000          47.000
+  -4287632.17143  -3285980.45742  24028237.645    24028240.342    24028235.758
+     -1917.227       -1493.943          48.000          41.000
+  -6968832.34443  -5417950.02942  23969753.812    23969759.072    23969751.763
+      1737.151        1353.624          47.000          41.000
+  -9954184.50643  -7721426.89142  23420219.591    23420225.502    23420218.383
+      3149.880        2454.452          50.000          43.000
+ 04  2  1 12  0  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16276592.67543 -12678639.82842  22250297.986    22250301.707    22250297.671
+      1646.216        1282.766          54.000          47.000
+ -13581478.33943 -10566441.77042  22291864.167    22291869.089    22291863.251
+     -2899.523       -2259.368          52.000          46.000
+ -18999993.61543 -14760676.19242  21432846.717    21432850.692    21432846.102
+     -2726.064       -2124.206          53.000          47.000
+ -22011956.68743 -17107294.10442  21228608.888    21228612.287    21228607.650
+     -1761.305       -1372.445          55.000          48.000
+  -6057927.40643  -4709271.95842  24176282.004    24176285.745    24176281.185
+     -2700.015       -2103.908          46.000          36.000
+ -17058116.18343 -13252031.10342  22402664.181    22402667.766    22402663.436
+      2854.945        2224.632          53.000          47.000
+  -4230125.80543  -3241170.33542  24039179.877    24039183.366    24039179.131
+     -1916.270       -1493.197          47.000          40.000
+  -7020947.14943  -5458558.89842  23959837.677    23959842.391    23959835.100
+      1737.671        1354.029          48.000          41.000
+ -10048666.43043  -7795049.05242  23402240.376    23402245.373    23402238.441
+      3149.045        2453.801          49.000          43.000
+ 04  2  1 12  0 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16325795.95843 -12716980.00442  22240934.607    22240939.045    22240934.107
+      1634.289        1273.472          54.000          47.000
+ -13494382.77243 -10498575.13442  22308437.492    22308442.393    22308436.506
+     -2906.540       -2264.836          52.000          46.000
+ -18918088.24743 -14696853.83042  21448433.263    21448437.293    21448431.613
+     -2734.156       -2130.511          54.000          47.000
+ -21958876.98243 -17065933.30942  21238708.652    21238712.964    21238708.438
+     -1776.950       -1384.636          54.000          48.000
+  -5976800.48943  -4646056.27642  24191719.947    24191723.862    24191716.364
+     -2708.061       -2110.177          46.000          36.000
+ -17143695.21443 -13318716.03242  22386379.253    22386382.939    22386378.110
+      2850.464        2221.141          53.000          47.000
+  -4172640.54743  -3196376.68942  24050118.729    24050123.082    24050118.016
+     -1915.764       -1492.803          47.000          41.000
+  -7073074.63943  -5499177.65642  23949917.405    23949921.561    23949916.509
+      1737.767        1354.104          47.000          41.000
+ -10143123.43143  -7868651.79242  23384265.633    23384271.141    23384264.730
+      3148.089        2453.056          49.000          43.000
+ 04  2  1 12  1  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16374635.03243 -12755036.38642  22231639.993    22231645.340    22231639.732
+      1622.468        1264.261          54.000          47.000
+ -13407071.58943 -10430540.47842  22325052.309    22325057.006    22325051.496
+     -2913.560       -2270.306          52.000          46.000
+ -18835934.96643 -14632838.28842  21464066.881    21464070.430    21464065.269
+     -2741.932       -2136.570          53.000          47.000
+ -21905327.47143 -17024206.43742  21248899.014    21248903.738    21248898.325
+     -1792.309       -1396.604          54.000          48.000
+  -5895443.64243  -4582661.45242  24207199.453    24207207.288    24207198.409
+     -2715.135       -2115.690          46.000          36.000
+ -17229135.83843 -13385293.11342  22370120.143    22370124.398    22370119.341
+      2846.189        2217.810          53.000          47.000
+  -4115173.07443  -3151596.90142  24061055.332    24061059.094    24061052.522
+     -1914.845       -1492.087          48.000          41.000
+  -7125212.03343  -5539804.12442  23939995.373    23940001.425    23939993.870
+      1738.741        1354.863          48.000          41.000
+ -10237549.48143  -7942230.42542  23366295.858    23366301.523    23366294.803
+      3147.597        2452.673          49.000          43.000
+ 04  2  1 12  1 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16423110.34743 -12792809.31942  22222416.155    22222421.047    22222415.952
+      1609.479        1254.139          54.000          47.000
+ -13319551.28143 -10362342.87342  22341707.802    22341712.172    22341706.621
+     -2921.014       -2276.115          52.000          46.000
+ -18753539.57843 -14568634.08542  21479746.066    21479749.769    21479744.513
+     -2750.759       -2143.448          54.000          47.000
+ -21851314.03043 -16982118.06342  21259177.569    21259182.051    21259176.131
+     -1808.463       -1409.192          54.000          48.000
+  -5813860.88043  -4519090.59442  24222724.930    24222733.560    24222723.442
+     -2723.467       -2122.182          45.000          37.000
+ -17314438.44143 -13451762.64442  22353887.886    22353891.884    22353887.376
+      2840.792        2213.604          53.000          47.000
+  -4057725.82143  -3106832.85042  24071987.842    24071988.995    24071985.842
+     -1914.915       -1492.141          47.000          40.000
+  -7177362.99843  -5580441.16342  23930071.104    23930077.006    23930069.515
+      1738.220        1354.457          47.000          41.000
+ -10331944.47543  -8015784.84542  23348332.451    23348340.134    23348331.398
+      3145.702        2451.196          48.000          43.000
+ 04  2  1 12  2  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16471214.00543 -12830292.65542  22213262.651    22213266.137    22213262.206
+      1597.158        1244.539          54.000          47.000
+ -13231819.38643 -10293980.39042  22358402.398    22358406.669    22358401.235
+     -2928.078       -2281.619          52.000          46.000
+ -18670899.07043 -14504238.88542  21495471.713    21495475.565    21495470.919
+     -2758.833       -2149.740          54.000          47.000
+ -21796833.80543 -16939665.95142  21269544.455    21269548.791    21269543.641
+     -1823.879       -1421.204          54.000          48.000
+  -5732047.82343  -4455340.25442  24238294.183    24238300.599    24238292.848
+     -2731.045       -2128.087          46.000          38.000
+ -17399595.05443 -13518118.41242  22337682.790    22337686.631    22337681.979
+      2835.945        2209.827          53.000          47.000
+  -4000292.89743  -3062079.95242  24082914.568    24082919.093    24082914.352
+     -1914.295       -1491.658          46.000          40.000
+  -7229522.40143  -5621084.78742  23920145.176    23920150.774    23920144.732
+      1738.577        1354.735          47.000          41.000
+ -10426300.12943  -8089308.62042  23330376.094    23330384.665    23330375.771
+      3144.443        2450.215          48.000          43.000
+ 04  2  1 12  2 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16518950.63943 -12867489.99742  22204178.491    22204182.829    22204177.686
+      1585.049        1235.103          54.000          47.000
+ -13143886.51643 -10225461.31442  22375135.252    22375139.128    22375133.232
+     -2934.610       -2286.709          51.000          45.000
+ -18588023.58043 -14439660.57942  21511242.518    21511245.924    21511241.243
+     -2766.545       -2155.749          53.000          47.000
+ -21741896.88943 -16896857.98942  21279998.207    21280003.504    21279997.720
+     -1838.882       -1432.895          54.000          48.000
+  -5650012.77943  -4391416.96542  24253904.900    24253910.558    24253903.420
+     -2738.319       -2133.755          46.000          38.000
+ -17484610.56543 -13584364.23642  22321505.281    22321508.792    22321504.201
+      2831.379        2206.269          54.000          47.000
+  -3942881.23143  -3017343.60642  24093841.096    24093844.551    24093840.974
+     -1913.419       -1490.976          48.000          40.000
+  -7281697.95043  -5661740.99342  23910216.589    23910221.830    23910214.533
+      1739.567        1355.507          46.000          41.000
+ -10520620.56843  -8162804.94542  23312428.867    23312435.833    23312427.560
+      3143.268        2449.300          49.000          44.000
+ 04  2  1 12  3  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16566314.14743 -12904396.56942  22195164.792    22195169.679    22195164.566
+      1572.088        1225.004          54.000          47.000
+ -13055752.15343 -10156785.23242  22391906.986    22391910.841    22391905.962
+     -2941.574       -2292.135          52.000          45.000
+ -18504911.70743 -14374898.08542  21527058.110    21527061.500    21527056.553
+     -2774.812       -2162.191          53.000          47.000
+ -21686502.34443 -16853693.41942  21290540.707    21290544.627    21290539.334
+     -1854.553       -1445.106          55.000          48.000
+  -5567752.99343  -4327318.56142  24269556.667    24269564.478    24269555.493
+     -2746.241       -2139.928          44.000          38.000
+ -17569478.63343 -13650495.17042  22305355.266    22305359.445    22305354.426
+      2825.961        2202.048          54.000          47.000
+  -3885486.37943  -2972620.39042  24104761.396    24104767.192    24104762.081
+     -1913.498       -1491.037          47.000          41.000
+  -7333886.53943  -5702407.36842  23900285.469    23900290.500    23900283.181
+      1739.211        1355.229          46.000          41.000
+ -10614898.86943  -8236268.45142  23294487.451    23294495.097    23294486.940
+      3141.308        2447.772          49.000          44.000
+ 04  2  1 12  3 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16613302.98843 -12941011.20642  22186223.878    22186227.418    22186223.203
+      1560.049        1215.623          54.000          47.000
+ -12967420.69343 -10087955.55042  22408715.782    22408719.731    22408714.459
+     -2947.597       -2296.829          52.000          45.000
+ -18421567.29043 -14309954.38942  21542918.086    21542922.053    21542916.994
+     -2781.951       -2167.754          53.000          47.000
+ -21630653.95643 -16810175.21242  21301167.242    21301172.258    21301167.115
+     -1869.025       -1456.383          54.000          48.000
+  -5485270.63343  -4263046.73242  24285254.096    24285261.704    24285253.455
+     -2752.969       -2145.171          44.000          38.000
+ -17654198.02943 -13716510.25442  22289233.998    22289237.078    22289232.410
+      2821.586        2198.638          53.000          47.000
+  -3828109.02443  -2927910.82042  24115682.171    24115684.383    24115679.615
+     -1912.085       -1489.936          48.000          41.000
+  -7386089.44043  -5743084.91242  23890351.880    23890356.790    23890350.990
+      1740.391        1356.149          47.000          41.000
+ -10709133.37143  -8309697.81242  23276556.001    23276563.060    23276554.200
+      3140.528        2447.165          49.000          44.000
+ 04  2  1 12  4  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16659912.77643 -12977330.49542  22177354.257    22177358.077    22177353.514
+      1547.689        1205.991          54.000          47.000
+ -12878893.36243 -10018973.25342  22425562.247    22425566.393    22425561.321
+     -2953.841       -2301.694          52.000          45.000
+ -18337990.97543 -14244829.98542  21558822.098    21558825.876    21558820.833
+     -2789.357       -2173.525          53.000          47.000
+ -21574352.75743 -16766304.15942  21311880.688    21311885.933    21311880.320
+     -1883.918       -1467.988          54.000          47.000
+  -5402564.82243  -4198600.74542  24300993.221    24300999.747    24300990.830
+     -2760.257       -2150.850          44.000          37.000
+ -17738764.21643 -13782405.94742  22273141.038    22273145.185    22273140.581
+      2816.559        2194.721          53.000          47.000
+  -3770746.94643  -2883213.12742  24126596.780    24126599.602    24126595.441
+     -1911.244       -1489.281          47.000          40.000
+  -7438305.49743  -5783772.68942  23880416.495    23880420.585    23880415.750
+      1741.149        1356.739          48.000          41.000
+ -10803319.24543  -8383089.29842  23258633.017    23258639.850    23258630.766
+      3138.826        2445.838          50.000          44.000
+ 04  2  1 12  4 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16706143.43343 -13013354.36042  22168556.789    22168560.693    22168555.881
+      1534.628        1195.814          54.000          47.000
+ -12790175.71043  -9949842.65042  22442443.358    22442448.610    22442443.450
+     -2960.495       -2306.879          51.000          45.000
+ -18254187.73343 -14179528.75342  21574769.565    21574773.187    21574767.708
+     -2797.241       -2179.668          53.000          47.000
+ -21517603.93243 -16722084.31742  21322679.864    21322685.034    21322679.177
+     -1899.150       -1479.857          54.000          47.000
+  -5319638.98543  -4133983.34042  24316774.575    24316778.633    24316771.826
+     -2768.009       -2156.890          45.000          37.000
+ -17823176.77343 -13848181.93542  22257078.378    22257082.039    22257076.971
+      2811.148        2190.505          54.000          47.000
+  -3713401.72443  -2838528.57742  24137510.693    24137513.859    24137510.029
+     -1911.264       -1489.297          48.000          41.000
+  -7490537.44843  -5824472.82642  23870475.391    23870481.300    23870475.086
+      1741.279        1356.841          47.000          41.000
+ -10897455.28143  -8456441.94742  23240718.438    23240726.054    23240718.551
+      3137.067        2444.468          49.000          44.000
+ 04  2  1 12  5  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16751993.69043 -13049081.78642  22159831.172    22159835.778    22159830.773
+      1521.665        1185.713          54.000          47.000
+ -12701272.62343  -9880567.55642  22459361.183    22459366.952    22459360.283
+     -2966.808       -2311.798          51.000          45.000
+ -18170161.52943 -14114053.79342  21590759.035    21590762.364    21590757.482
+     -2804.826       -2185.579          53.000          47.000
+ -21460411.67443 -16677518.94742  21333563.062    21333568.081    21333562.797
+     -1914.032       -1491.453          54.000          47.000
+  -5236495.76443  -4069196.53142  24332594.343    24332598.363    24332593.530
+     -2775.354       -2162.613          43.000          36.000
+ -17907434.90243 -13913837.59642  22241044.482    22241047.888    22241043.789
+      2805.630        2186.205          54.000          47.000
+  -3656074.45543  -2793858.01442  24148419.730    24148421.729    24148417.926
+     -1910.832       -1488.960          47.000          40.000
+  -7542786.96043  -5865186.67642  23860533.811    23860538.077    23860532.667
+      1741.608        1357.097          48.000          42.000
+ -10991539.91843  -8529754.54542  23222815.349    23222822.074    23222815.796
+      3134.966        2442.831          50.000          44.000
+ 04  2  1 12  5 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16797457.37843 -13084508.00142  22151180.166    22151184.419    22151179.892
+      1509.502        1176.235          54.000          47.000
+ -12612183.30743  -9811147.33642  22476314.666    22476318.719    22476313.759
+     -2972.212       -2316.009          51.000          45.000
+ -18085911.27143 -14048404.24442  21606791.756    21606795.262    21606789.913
+     -2811.523       -2190.797          53.000          47.000
+ -21402774.98243 -16632607.25642  21344531.688    21344535.825    21344530.692
+     -1928.262       -1502.542          54.000          47.000
+  -5153132.17143  -4004238.05142  24348457.072    24348461.476    24348456.651
+     -2782.039       -2167.822          43.000          35.000
+ -17991532.24843 -13979367.97442  22225041.213    22225044.489    22225040.264
+      2800.959        2182.565          54.000          47.000
+  -3598760.86043  -2749198.14642  24159324.442    24159328.690    24159323.872
+     -1909.597       -1487.998          46.000          39.000
+  -7595050.52843  -5905911.47642  23850588.667    23850591.503    23850587.226
+      1742.848        1358.063          49.000          42.000
+ -11085566.49243  -8603021.91442  23204923.431    23204930.585    23204922.887
+      3133.801        2441.923          51.000          44.000
+ 04  2  1 12  6  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16842535.61243 -13119633.86042  22142601.930    22142605.682    22142601.443
+      1495.407        1165.252          54.000          47.000
+ -12522914.58843  -9741587.32342  22493302.256    22493306.994    22493300.719
+     -2979.419       -2321.625          51.000          45.000
+ -18001442.88943 -13982584.71842  21622865.259    21622868.486    21622863.602
+     -2820.040       -2197.434          53.000          46.000
+ -21344700.35543 -16587354.31742  21355583.026    21355587.650    21355582.291
+     -1943.898       -1514.726          54.000          47.000
+  -5069553.12843  -3939111.64142  24364362.190    24364369.444    24364361.495
+     -2790.450       -2174.377          42.000          36.000
+ -18075469.79043 -14044773.81642  22209068.156    22209072.215    22209067.350
+      2794.367        2177.429          54.000          47.000
+  -3541463.80443  -2704551.12342  24170228.895    24170232.084    24170227.528
+     -1910.423       -1488.641          47.000          39.000
+  -7647332.45043  -5946650.57242  23840639.202    23840644.299    23840638.856
+      1742.266        1357.610          49.000          42.000
+ -11179535.10443  -8676244.11542  23187042.590    23187046.959    23187040.681
+      3130.498        2439.349          51.000          44.000
+ 04  2  1 12  6 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16887221.96843 -13154454.35742  22134098.127    22134102.673    22134097.240
+      1482.446        1155.153          54.000          47.000
+ -12433465.82443  -9671887.02042  22510323.409    22510328.351    22510322.771
+     -2985.198       -2326.128          51.000          45.000
+ -17916755.29443 -13916594.38342  21638980.655    21638984.298    21638978.826
+     -2827.020       -2202.873          53.000          47.000
+ -21286186.71543 -16541759.29842  21366717.574    21366722.590    21366717.079
+     -1958.309       -1525.955          54.000          47.000
+  -4985755.61743  -3873815.02342  24380310.964    24380314.280    24380308.368
+     -2797.396       -2179.789          44.000          36.000
+ -18159240.86043 -14110049.95142  22193126.984    22193130.329    22193126.470
+      2788.938        2173.198          54.000          48.000
+  -3484178.99243  -2659913.60442  24181129.918    24181133.965    24181127.521
+     -1909.878       -1488.217          47.000          40.000
+  -7699629.40943  -5987401.39542  23830686.698    23830693.433    23830685.449
+      1742.932        1358.129          48.000          42.000
+ -11273439.13043  -8749415.99442  23169172.623    23169177.106    23169171.228
+      3128.420        2437.730          50.000          43.000
+ 04  2  1 12  7  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16931518.61243 -13188971.17842  22125668.744    22125672.793    22125668.012
+      1468.854        1144.562          54.000          47.000
+ -12343844.73143  -9602052.43742  22527378.418    22527382.199    22527377.736
+     -2991.487       -2331.029          51.000          45.000
+ -17831855.27143 -13850438.52242  21655136.405    21655140.686    21655134.752
+     -2834.766       -2208.908          53.000          47.000
+ -21227241.50643 -16495827.98242  21377934.999    21377938.896    21377933.871
+     -1973.112       -1537.490          54.000          47.000
+  -4901745.35343  -3808352.57442  24396296.556    24396303.986    24396296.814
+     -2804.992       -2185.708          44.000          36.000
+ -18242847.46243 -14175197.92842  22177217.181    22177221.107    22177216.111
+      2782.869        2168.469          54.000          48.000
+  -3426910.35243  -2615288.76242  24192027.569    24192030.172    24192026.906
+     -1909.781       -1488.141          46.000          39.000
+  -7751945.77743  -6028167.31042  23820731.672    23820736.121    23820729.133
+      1742.922        1358.121          47.000          42.000
+ -11367279.83043  -8822538.54442  23151314.456    23151320.451    23151314.188
+      3125.559        2435.501          50.000          43.000
+ 04  2  1 12  7 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -16975416.57143 -13223177.35842  22117315.715    22117319.073    22117314.940
+      1456.378        1134.840          55.000          47.000
+ -12254047.95943  -9532080.94742  22544465.535    22544470.977    22544464.739
+     -2996.296       -2334.776          51.000          45.000
+ -17746739.03743 -13784114.17642  21671334.063    21671337.840    21671332.232
+     -2841.049       -2213.804          53.000          47.000
+ -21167861.02143 -16449557.48942  21389234.008    21389238.646    21389233.394
+     -1986.743       -1548.111          53.000          47.000
+  -4817516.67943  -3742719.97842  24412323.872    24412328.867    24412323.974
+     -2811.365       -2190.674          44.000          35.000
+ -18326280.44843 -14240210.62542  22161340.692    22161344.200    22161340.281
+      2777.869        2164.573          54.000          48.000
+  -3369650.90943  -2570671.04642  24202922.396    24202925.867    24202920.984
+     -1908.759       -1487.345          45.000          39.000
+  -7804275.25343  -6068943.46842  23810772.786    23810779.218    23810772.632
+      1744.430        1359.296          47.000          42.000
+ -11461047.48143  -8895604.15442  23133471.227    23133476.334    23133469.469
+      3124.099        2434.363          49.000          43.000
+ 04  2  1 12  8  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17018918.70743 -13257075.10242  22109037.297    22109041.763    22109036.739
+      1443.422        1124.744          54.000          48.000
+ -12164084.15043  -9461979.32142  22561584.753    22561590.236    22561584.279
+     -3001.547       -2338.868          50.000          45.000
+ -17661414.56143 -13717627.57442  21687570.909    21687574.270    21687569.100
+     -2847.568       -2218.884          53.000          47.000
+ -21108053.65943 -16402954.37242  21400615.658    21400620.085    21400614.532
+     -2000.703       -1558.989          54.000          47.000
+  -4733076.36243  -3676922.48942  24428393.490    24428401.094    24428390.257
+     -2817.794       -2195.684          45.000          35.000
+ -18409542.60043 -14305090.19842  22145496.438    22145499.847    22145495.527
+      2772.510        2160.397          54.000          48.000
+  -3312405.27643  -2526064.09942  24213817.474    24213820.854    24213815.574
+     -1907.984       -1486.741          47.000          39.000
+  -7856624.22143  -6109734.82142  23800812.479    23800816.943    23800810.413
+      1745.451        1360.092          48.000          42.000
+ -11554744.59643  -8968614.81542  23115640.799    23115646.557    23115639.696
+      3122.041        2432.759          49.000          43.000
+ 04  2  1 12  8 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17062021.20443 -13290661.42342  22100835.017    22100839.566    22100834.625
+      1430.821        1114.925          54.000          47.000
+ -12073954.84643  -9391748.72842  22578736.707    22578741.985    22578735.009
+     -3006.331       -2342.595          50.000          45.000
+ -17575882.60943 -13650979.30142  21703846.383    21703850.974    21703845.199
+     -2853.601       -2223.585          53.000          47.000
+ -21047820.66643 -16356019.59942  21412077.303    21412081.772    21412076.347
+     -2014.022       -1569.368          54.000          47.000
+  -4648423.88743  -3610959.61242  24444502.802    24444509.889    24444497.348
+     -2824.895       -2201.217          43.000          34.000
+ -18492629.71243 -14369833.38342  22129685.770    22129689.153    22129684.598
+      2767.343        2156.371          55.000          48.000
+  -3255171.26943  -2481466.23442  24224708.156    24224710.909    24224707.142
+     -1907.108       -1486.058          47.000          39.000
+  -7908991.15243  -6150540.18342  23790847.473    23790850.840    23790845.888
+      1746.508        1360.915          49.000          42.000
+ -11648366.08843  -9041566.53242  23097824.718    23097830.318    23097824.321
+      3120.029        2431.191          50.000          43.000
+ 04  2  1 12  9  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17104725.08843 -13323937.14142  22092708.265    22092712.928    22092707.912
+      1416.854        1104.042          54.000          47.000
+ -11983666.81243  -9321394.45942  22595916.855    22595922.174    22595916.282
+     -3012.071       -2347.068          50.000          45.000
+ -17490149.28543 -13584174.11942  21720161.178    21720165.432    21720159.548
+     -2861.083       -2229.415          53.000          47.000
+ -20987168.49343 -16308758.19642  21423618.622    21423623.392    21423618.224
+     -2028.658       -1580.772          53.000          47.000
+  -4563563.88743  -3544835.11042  24460649.066    24460655.026    24460649.245
+     -2832.577       -2207.203          42.000          34.000
+ -18575542.82043 -14434440.98242  22113907.245    22113911.282    22113906.363
+      2760.795        2151.269          54.000          48.000
+  -3197951.86043  -2436879.71842  24235597.372    24235601.025    24235595.327
+     -1907.488       -1486.354          47.000          39.000
+  -7961380.03243  -6191362.62642  23780877.460    23780881.576    23780876.288
+      1746.897        1361.218          48.000          42.000
+ -11741912.51643  -9114459.75942  23080024.357    23080030.723    23080023.534
+      3116.870        2428.730          50.000          43.000
+ 04  2  1 12  9 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17147023.27043 -13356896.71642  22084659.968    22084664.379    22084659.279
+      1403.814        1093.881          54.000          47.000
+ -11893218.60143  -9250915.37842  22613128.925    22613134.047    22613128.165
+     -3016.839       -2350.784          50.000          44.000
+ -17404212.55443 -13517210.43642  21736513.828    21736518.263    21736512.573
+     -2867.284       -2234.247          53.000          46.000
+ -20926095.65743 -16261168.98742  21435240.988    21435246.072    21435240.120
+     -2042.046       -1591.205          53.000          47.000
+  -4478492.91643  -3478546.15342  24476838.974    24476843.004    24476840.515
+     -2838.429       -2211.763          42.000          33.000
+ -18658274.64643 -14498907.32142  22098164.069    22098168.179    22098162.730
+      2755.318        2147.001          54.000          48.000
+  -3140741.97343  -2392300.60942  24246482.587    24246487.698    24246480.764
+     -1906.235       -1485.378          47.000          40.000
+  -8013786.16543  -6232198.50342  23770905.193    23770908.447    23770904.100
+      1747.768        1361.897          49.000          42.000
+ -11835376.09543  -9187288.42542  23062239.064    23062244.768    23062238.716
+      3114.607        2426.966          50.000          44.000
+ 04  2  1 12 10  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17188916.05643 -13389540.40842  22076687.845    22076692.813    22076687.119
+      1389.670        1082.860          54.000          47.000
+ -11802616.06143  -9180316.03842  22630370.423    22630375.110    22630369.708
+     -3022.763       -2355.400          50.000          44.000
+ -17318077.52443 -13450092.23642  21752905.293    21752908.928    21752903.429
+     -2874.527       -2239.891          52.000          46.000
+ -20864607.60343 -16213256.24542  21446941.795    21446946.075    21446941.665
+     -2056.510       -1602.475          54.000          47.000
+  -4393214.82143  -3412095.77442  24493067.577    24493072.764    24493065.307
+     -2846.048       -2217.700          43.000          32.000
+ -18740825.28643 -14563232.47342  22082455.180    22082458.801    22082454.316
+      2748.530        2141.712          54.000          48.000
+  -3083543.68543  -2347730.54942  24257368.569    24257372.565    24257366.170
+     -1906.484       -1485.572          45.000          39.000
+  -8066213.04243  -6273050.58142  23760929.345    23760932.027    23760926.300
+      1747.926        1362.020          49.000          42.000
+ -11928756.44443  -9260052.24642  23044468.920    23044474.759    23044467.568
+      3110.998        2424.154          50.000          44.000
+ 04  2  1 12 10 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17230401.76243 -13421866.89442  22068792.998    22068797.586    22068792.360
+      1375.606        1071.901          54.000          47.000
+ -11711863.09243  -9109599.47142  22647640.657    22647645.775    22647639.326
+     -3027.761       -2359.294          50.000          44.000
+ -17231747.38843 -13382822.01642  21769333.600    21769337.410    21769331.772
+     -2881.264       -2245.141          53.000          47.000
+ -20802707.80443 -16165022.66042  21458720.933    21458725.915    21458720.400
+     -2070.499       -1613.376          53.000          47.000
+  -4307731.32443  -3345485.42842  24509334.795    24509343.014    24509332.526
+     -2853.248       -2223.310          43.000          34.000
+ -18823192.56443 -14627414.74042  22066781.825    22066784.489    22066780.245
+      2742.226        2136.799          54.000          48.000
+  -3026357.09243  -2303169.62942  24268249.130    24268255.188    24268248.503
+     -1906.877       -1485.878          45.000          39.000
+  -8118661.45043  -6313919.39042  23750948.671    23750952.487    23750947.392
+      1748.167        1362.208          48.000          42.000
+ -12022050.64143  -9332748.93242  23026715.494    23026721.863    23026715.056
+      3108.001        2421.819          50.000          44.000
+ 04  2  1 12 11  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17271474.50443 -13453871.61142  22060977.311    22060981.663    22060976.768
+      1361.867        1061.195          54.000          48.000
+ -11620959.08843  -9038765.22642  22664938.536    22664943.498    22664937.837
+     -3032.953       -2363.340          51.000          44.000
+ -17145221.06943 -13315398.92442  21785799.163    21785802.124    21785797.712
+     -2887.629       -2250.100          53.000          46.000
+ -20740395.91943 -16116467.96842  21470578.536    21470583.420    21470577.467
+     -2084.227       -1624.073          53.000          47.000
+  -4222040.07543  -3278713.18742  24525640.040    24525648.788    24525639.531
+     -2860.364       -2228.855          44.000          35.000
+ -18905370.57943 -14691449.54542  22051143.264    22051147.066    22051142.435
+      2735.850        2131.831          54.000          48.000
+  -2969178.05643  -2258614.55842  24279130.856    24279134.875    24279129.201
+     -1906.140       -1485.304          47.000          40.000
+  -8171128.39143  -6354802.64942  23740963.525    23740968.968    23740962.956
+      1748.626        1362.566          48.000          42.000
+ -12115252.13043  -9405373.39142  23008980.267    23008985.011    23008978.304
+      3104.824        2419.343          50.000          44.000
+ 04  2  1 12 11 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17312132.69743 -13485553.28642  22053240.159    22053244.571    22053239.825
+      1348.339        1050.654          54.000          47.000
+ -11529908.50243  -8967816.75542  22682265.103    22682270.019    22682263.963
+     -3037.487       -2366.873          51.000          44.000
+ -17058501.88343 -13247825.53342  21802300.619    21802304.456    21802299.613
+     -2894.040       -2255.096          53.000          46.000
+ -20677675.58443 -16067595.00842  21482513.377    21482518.575    21482512.751
+     -2097.491       -1634.408          53.000          47.000
+  -4136143.00343  -3211780.54142  24541986.104    24541992.660    24541984.899
+     -2866.218       -2233.417          43.000          36.000
+ -18987357.26543 -14755335.25342  22035541.993    22035545.091    22035541.033
+      2729.701        2127.040          55.000          48.000
+  -2912006.91343  -2214065.65042  24290010.467    24290015.953    24290009.124
+     -1905.408       -1484.733          48.000          41.000
+  -8223614.57043  -6395700.92842  23730975.335    23730979.811    23730975.063
+      1749.789        1363.472          48.000          41.000
+ -12208358.69443  -9477923.88542  22991261.803    22991268.045    22991261.502
+      3102.084        2417.208          51.000          44.000
+ 04  2  1 12 12  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17352376.56243 -13516912.09542  22045582.193    22045586.437    22045581.567
+      1334.657        1039.992          54.000          47.000
+ -11438716.35043  -8896757.97142  22699618.694    22699623.682    22699618.266
+     -3041.959       -2370.358          51.000          44.000
+ -16971594.70643 -13180105.66342  21818838.709    21818842.688    21818837.209
+     -2899.780       -2259.569          53.000          46.000
+ -20614552.20043 -16018407.98742  21494525.474    21494530.225    21494524.386
+     -2110.735       -1644.728          53.000          47.000
+  -4050043.62843  -3144690.32842  24558368.463    24558377.821    24558368.445
+     -2873.329       -2238.958          44.000          37.000
+ -19069152.35243 -14819071.65642  22019976.693    22019980.080    22019975.480
+      2723.458        2122.175          54.000          48.000
+  -2854845.19043  -2169524.07842  24300888.899    24300891.909    24300887.503
+     -1905.348       -1484.687          48.000          41.000
+  -8276122.67843  -6436616.25342  23720982.592    23720988.558    23720981.614
+      1750.586        1364.093          47.000          41.000
+ -12301369.59643  -9550399.83642  22973562.773    22973568.421    22973561.270
+      3098.746        2414.607          51.000          44.000
+ 04  2  1 12 12 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17392204.64343 -13547946.93042  22038002.984    22038007.158    22038002.010
+      1321.135        1029.456          54.000          47.000
+ -11347386.94643  -8825592.24342  22716998.418    22717003.424    22716997.807
+     -3046.161       -2373.632          50.000          44.000
+ -16884502.87843 -13112241.91342  21835412.369    21835415.603    21835410.515
+     -2905.705       -2264.186          53.000          46.000
+ -20551029.84243 -15968910.07342  21506613.142    21506618.060    21506612.593
+     -2123.686       -1654.820          53.000          47.000
+  -3963744.08143  -3077444.10942  24574794.232    24574799.402    24574791.335
+     -2879.546       -2243.802          46.000          38.000
+ -19150754.24943 -14882657.53442  22004448.017    22004451.898    22004446.755
+      2717.085        2117.209          54.000          48.000
+  -2797693.38543  -2124990.21942  24311763.948    24311766.596    24311763.614
+     -1904.381       -1483.933          47.000          40.000
+  -8328654.74043  -6477550.26342  23710986.604    23710990.341    23710986.069
+      1751.743        1364.995          47.000          42.000
+ -12394282.41743  -9622799.35942  22955881.597    22955887.731    22955881.296
+      3095.770        2412.288          50.000          44.000
+ 04  2  1 12 13  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17431612.05543 -13578653.97742  22030504.113    22030508.194    22030503.468
+      1305.588        1017.341          54.000          47.000
+ -11255921.16243  -8754320.26342  22734404.039    22734409.355    22734403.097
+     -3052.085       -2378.248          50.000          44.000
+ -16797226.42643 -13044234.29442  21852020.271    21852024.422    21852018.780
+     -2913.048       -2269.907          53.000          46.000
+ -20487108.91643 -15919101.59342  21518777.113    21518781.925    21518775.972
+     -2138.204       -1666.133          53.000          47.000
+  -3877243.09143  -3010040.92842  24591253.698    24591259.604    24591251.369
+     -2887.485       -2249.988          46.000          39.000
+ -19232157.72443 -14946088.79142  21988957.467    21988961.460    21988956.580
+      2709.176        2111.046          55.000          48.000
+  -2740548.27643  -2080461.59742  24322637.973    24322640.025    24322636.529
+     -1905.658       -1484.928          47.000          39.000
+  -8381207.72443  -6518500.58142  23700986.298    23700992.177    23700986.001
+      1751.047        1364.452          48.000          42.000
+ -12487091.31743  -9695117.88942  22938220.748    22938227.684    22938219.930
+      3090.521        2408.198          50.000          44.000
+ 04  2  1 12 13 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17470599.17443 -13609033.51242  22023085.126    22023088.979    22023084.301
+      1291.801        1006.598          54.000          47.000
+ -11164324.42743  -8682946.24142  22751834.822    22751837.762    22751833.971
+     -3056.307       -2381.538          50.000          44.000
+ -16709770.27743 -12976086.65342  21868663.102    21868666.182    21868661.478
+     -2918.844       -2274.424          53.000          46.000
+ -20422795.08143 -15868986.94342  21531016.464    21531020.167    21531015.260
+     -2151.090       -1676.174          53.000          47.000
+  -3790544.49443  -2942483.77242  24607753.210    24607758.748    24607751.374
+     -2894.018       -2255.079          47.000          40.000
+ -19313362.76343 -15009365.41942  21973504.710    21973508.498    21973503.674
+      2702.677        2105.982          55.000          48.000
+  -2683411.96443  -2035939.85242  24333510.352    24333514.354    24333508.733
+     -1905.256       -1484.615          46.000          40.000
+  -8433784.55243  -6559469.49842  23690981.643    23690987.439    23690980.456
+      1752.270        1365.405          49.000          42.000
+ -12579795.77043  -9767355.04942  22920579.844    22920585.750    22920578.933
+      3087.446        2405.802          50.000          44.000
+ 04  2  1 12 14  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17509159.73443 -13639080.67342  22015747.642    22015751.354    22015746.838
+      1278.382         996.142          54.000          47.000
+ -11072596.00043  -8611469.61442  22769289.487    22769294.172    22769288.840
+     -3059.650       -2384.143          49.000          44.000
+ -16622133.13043 -12907797.98342  21885339.666    21885342.795    21885337.532
+     -2923.919       -2278.378          53.000          46.000
+ -20358087.37943 -15818565.38742  21543329.461    21543334.466    21543329.080
+     -2163.279       -1685.672          53.000          47.000
+  -3703645.68643  -2874770.59942  24624288.244    24624295.370    24624287.622
+     -2899.430       -2259.296          46.000          40.000
+ -19394362.60943 -15072482.16242  21958090.922    21958095.160    21958090.240
+      2696.677        2101.307          55.000          48.000
+  -2626279.76043  -1991421.29342  24344382.896    24344387.199    24344381.136
+     -1904.277       -1483.852          46.000          39.000
+  -8486381.91843  -6600454.39042  23680972.971    23680976.843    23680971.822
+      1753.784        1366.585          49.000          43.000
+ -12672388.69043  -9839505.30642  22902959.544    22902966.279    22902958.536
+      3084.658        2403.630          50.000          44.000
+ 04  2  1 12 14 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17547295.62443 -13668796.92542  22008489.979    22008494.429    22008489.236
+      1264.072         984.991          54.000          47.000
+ -10980743.24743  -8539896.07942  22786769.304    22786773.638    22786767.557
+     -3063.900       -2387.454          50.000          44.000
+ -16534321.48343 -12839373.32842  21902049.347    21902053.095    21902048.611
+     -2930.075       -2283.175          52.000          46.000
+ -20292993.07743 -15767842.58342  21555716.753    21555721.809    21555715.730
+     -2176.230       -1695.764          53.000          47.000
+  -3616551.69143  -2806905.35542  24640862.137    24640868.718    24640859.975
+     -2906.438       -2264.757          47.000          40.000
+ -19475158.76743 -15135440.19042  21942715.889    21942719.892    21942715.212
+      2689.767        2095.922          55.000          48.000
+  -2569155.29243  -1946908.75242  24355253.379    24355255.872    24355252.437
+     -1904.141       -1483.746          46.000          38.000
+  -8539003.84343  -6641458.44142  23670958.856    23670962.712    23670957.300
+      1754.538        1367.172          49.000          43.000
+ -12764871.12843  -9911569.46742  22885361.653    22885366.676    22885359.484
+      3080.943        2400.735          50.000          44.000
+ 04  2  1 12 15  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17585000.50343 -13698177.31942  22001314.977    22001319.763    22001314.441
+      1249.559         973.682          54.000          47.000
+ -10888765.34043  -8468225.02742  22804271.526    22804276.110    22804270.434
+     -3067.997       -2390.647          50.000          44.000
+ -16446333.71643 -12770811.43742  21918793.759    21918796.285    21918791.716
+     -2935.877       -2287.696          53.000          46.000
+ -20227511.05543 -15716817.66242  21568177.250    21568182.291    21568176.386
+     -2189.265       -1705.921          53.000          47.000
+  -3529259.76043  -2738885.87942  24657472.841    24657480.437    24657471.177
+     -2912.963       -2269.841          46.000          40.000
+ -19555744.44443 -15198234.20642  21927380.923    21927384.474    21927379.766
+      2682.616        2090.350          55.000          48.000
+  -2512033.75543  -1902398.53142  24366122.409    24366124.907    24366121.960
+     -1904.158       -1483.759          45.000          38.000
+  -8591646.82943  -6682478.89942  23660941.336    23660945.759    23660939.600
+      1755.264        1367.738          48.000          42.000
+ -12857235.86043  -9983541.91142  22867784.604    22867790.203    22867782.547
+      3076.912        2397.594          51.000          44.000
+ 04  2  1 12 15 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17622259.54443 -13727210.31342  21994224.836    21994229.432    21994223.994
+      1235.811         962.970          54.000          48.000
+ -10796652.42343  -8396448.77142  22821798.319    22821804.886    22821798.087
+     -3071.332       -2393.246          49.000          43.000
+ -16358159.34143 -12702104.14742  21935571.347    21935575.959    21935569.872
+     -2940.985       -2291.677          52.000          46.000
+ -20161631.58343 -15665483.03442  21580713.281    21580718.591    21580712.043
+     -2201.264       -1715.271          53.000          47.000
+  -3441758.33243  -2670703.13242  24674123.568    24674132.220    24674122.451
+     -2918.761       -2274.359          46.000          40.000
+ -19636104.23643 -15260852.20142  21912089.178    21912092.539    21912088.069
+      2676.059        2085.241          55.000          48.000
+  -2454901.62643  -1857879.96642  24376993.495    24376999.119    24376993.640
+     -1903.807       -1483.486          44.000          38.000
+  -8644298.28543  -6723505.96542  23650922.304    23650926.310    23650919.459
+      1756.424        1368.642          49.000          42.000
+ -12949466.81343 -10055410.12142  22850233.343    22850239.572    22850231.940
+      3073.367        2394.831          51.000          44.000
+ 04  2  1 12 16  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17659104.14343 -13755920.35142  21987213.216    21987218.272    21987212.956
+      1221.155         951.549          54.000          48.000
+ -10704441.25043  -8324595.96942  22839346.994    22839352.961    22839344.967
+     -3075.465       -2396.466          49.000          44.000
+ -16269834.52743 -12633279.62042  21952380.331    21952382.977    21952378.127
+     -2946.704       -2296.133          52.000          46.000
+ -20095391.42443 -15613867.35242  21593318.955    21593324.055    21593317.587
+     -2214.091       -1725.266          53.000          47.000
+  -3354082.35643  -2602384.39842  24690809.319    24690816.174    24690808.348
+     -2925.965       -2279.973          46.000          39.000
+ -19716269.01743 -15323318.23842  21896834.606    21896837.714    21896833.466
+      2668.806        2079.589          55.000          48.000
+  -2397792.11443  -1813379.05542  24387863.032    24387865.949    24387859.834
+     -1903.256       -1483.057          44.000          38.000
+  -8696992.34643  -6764566.21342  23640894.683    23640898.174    23640893.346
+      1757.016        1369.103          49.000          42.000
+ -13041594.18543 -10127197.61742  22832702.515    22832707.468    22832701.682
+      3069.321        2391.679          51.000          45.000
+ 04  2  1 12 16 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17695510.91043 -13784289.23942  21980285.741    21980289.577    21980285.391
+      1205.706         939.511          54.000          48.000
+ -10612114.07443  -8252652.77442  22856916.095    22856920.618    22856915.823
+     -3080.112       -2400.087          49.000          44.000
+ -16181340.53843 -12564323.28942  21969218.784    21969222.755    21969218.055
+     -2953.244       -2301.229          52.000          46.000
+ -20028772.61543 -15561956.62642  21605996.243    21606001.396    21605995.400
+     -2227.397       -1735.634          53.000          47.000
+  -3266211.92643  -2533914.08942  24707530.523    24707537.402    24707529.895
+     -2933.023       -2285.472          45.000          39.000
+ -19796214.94143 -15385613.74242  21881621.190    21881624.643    21881620.215
+      2660.657        2073.239          55.000          48.000
+  -2340683.28443  -1768878.68642  24398729.290    24398733.020    24398726.891
+     -1903.838       -1483.510          43.000          38.000
+  -8749708.01143  -6805643.29642  23630863.126    23630869.028    23630862.246
+      1756.927        1369.034          48.000          43.000
+ -13133593.49443 -10198885.33542  22815195.733    22815200.276    22815194.538
+      3064.028        2387.554          51.000          45.000
+ 04  2  1 12 17  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17731482.30043 -13812318.85942  21973440.252    21973444.947    21973439.791
+      1191.912         928.763          54.000          48.000
+ -10519678.54843  -8180625.14942  22874506.720    22874511.884    22874505.263
+     -3082.778       -2402.165          50.000          44.000
+ -16092684.57343 -12495240.71442  21986090.401    21986094.345    21986088.976
+     -2957.675       -2304.682          52.000          46.000
+ -19961782.98043 -15509756.92842  21618743.962    21618748.212    21618742.701
+     -2238.974       -1744.655          53.000          47.000
+  -3178153.14143  -2465297.07242  24724285.410    24724296.098    24724285.617
+     -2938.634       -2289.845          45.000          38.000
+ -19875944.08643 -15447740.32842  21866449.123    21866452.707    21866448.418
+      2654.186        2068.197          55.000          48.000
+  -2283579.34743  -1724382.15342  24409595.673    24409600.848    24409596.896
+     -1903.097       -1482.933          45.000          38.000
+  -8802450.27943  -6846741.12142  23620826.753    23620830.540    23620824.587
+      1758.838        1370.523          48.000          43.000
+ -13225466.47543 -10270474.59142  22797713.141    22797718.245    22797710.723
+      3060.543        2384.839          51.000          45.000
+ 04  2  1 12 17 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17767014.36543 -13840006.15142  21966679.222    21966682.880    21966678.672
+      1177.373         917.434          55.000          48.000
+ -10427136.08443  -8108514.18542  22892116.070    22892121.409    22892115.159
+     -3086.193       -2404.826          50.000          44.000
+ -16003867.11643 -12426032.32642  22002992.335    22002995.267    22002989.737
+     -2963.090       -2308.901          52.000          45.000
+ -19894423.73343 -15457269.23942  21631562.228    21631566.432    21631561.266
+     -2251.085       -1754.092          53.000          47.000
+  -3089905.23343  -2396532.66142  24741081.413    24741088.553    24741079.246
+     -2944.550       -2294.454          46.000          39.000
+ -19955452.11743 -15509694.61542  21851319.872    21851322.980    21851318.583
+      2646.793        2062.436          55.000          49.000
+  -2226477.84843  -1679887.48542  24420462.936    24420467.372    24420460.714
+     -1903.127       -1482.956          46.000          38.000
+  -8855217.07543  -6887858.07042  23610784.577    23610788.659    23610783.335
+      1759.520        1371.055          48.000          42.000
+ -13317208.05043 -10341961.47142  22780254.222    22780259.730    22780253.539
+      3056.138        2381.406          51.000          44.000
+ 04  2  1 12 18  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17802104.61843 -13867349.18742  21960001.120    21960005.512    21960000.839
+      1162.914         906.167          54.000          48.000
+ -10334489.02143  -8036321.71742  22909746.942    22909751.902    22909744.754
+     -3089.353       -2407.288          50.000          44.000
+ -15914890.00143 -12356699.52742  22019923.806    22019927.009    22019921.630
+     -2967.949       -2312.687          52.000          46.000
+ -19826697.46943 -15404495.56142  21644449.648    21644454.711    21644449.327
+     -2263.047       -1763.413          53.000          47.000
+  -3001469.12243  -2327621.59242  24757910.324    24757919.484    24757906.539
+     -2950.726       -2299.267          46.000          38.000
+ -20034735.56243 -15571473.90042  21836232.474    21836235.359    21836231.419
+      2639.709        2056.916          55.000          49.000
+  -2169377.71743  -1635393.88842  24431328.065    24431331.214    24431326.616
+     -1902.673       -1482.602          46.000          38.000
+  -8908008.16543  -6928993.94642  23600739.715    23600743.862    23600739.287
+      1760.792        1372.046          48.000          43.000
+ -13408814.53843 -10413343.07542  22762822.513    22762827.883    22762821.556
+      3051.863        2378.075          51.000          45.000
+ 04  2  1 12 18 30.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17836754.67643 -13894349.20042  21953407.673    21953411.528    21953407.129
+      1147.418         894.092          54.000          48.000
+ -10241744.68443  -7964053.43342  22927394.545    22927400.660    22927394.011
+     -3093.287       -2410.353          50.000          44.000
+ -15825759.58743 -12287247.27742  22036884.711    22036887.897    22036882.828
+     -2973.710       -2317.177          52.000          45.000
+ -19758611.18943 -15351441.34442  21657406.392    21657410.555    21657405.161
+     -2275.691       -1773.266          53.000          46.000
+  -2912849.85243  -2258567.84242  24774774.779    24774781.806    24774772.869
+     -2956.941       -2304.110          46.000          38.000
+ -20113795.48543 -15633079.00942  21821187.777    21821191.177    21821186.567
+      2631.393        2050.436          55.000          49.000
+  -2112281.91343  -1590903.67542  24442192.771    24442197.101    24442192.525
+     -1903.235       -1483.040          46.000          39.000
+  -8960828.15343  -6970152.31642  23590687.951    23590693.085    23590688.098
+      1760.860        1372.099          49.000          43.000
+ -13500286.44543 -10484619.83642  22745415.357    22745420.825    22745414.864
+      3046.497        2373.894          52.000          45.000
+ 04  2  1 12 19  0.0000000  0  9G 4G29G 7G26G 8G 9G28G 5G24
+ -17870958.30543 -13921001.35642  21946898.896    21946902.903    21946898.741
+      1132.519         882.482          55.000          48.000
+ -10148901.69643  -7891708.29942  22945062.531    22945067.831    22945062.452
+     -3096.639       -2412.965          50.000          44.000
+ -15736473.98243 -12217674.10042  22053875.577    22053877.861    22053873.362
+     -2979.003       -2321.301          52.000          45.000
+ -19690163.79643 -15298105.73842  21670431.222    21670436.044    21670430.617
+     -2287.602       -1782.547          53.000          46.000
+  -2824044.38243  -2189369.00542  24791674.389    24791680.026    24791671.612
+     -2963.380       -2309.127          46.000          37.000
+ -20192624.91943 -15694504.52442  21806186.291    21806190.209    21806185.704
+      2623.712        2044.451          55.000          48.000
+  -2055185.57643  -1546413.07642  24453058.334    24453061.094    24453057.884
+     -1903.128       -1482.957          45.000          39.000
+  -9013672.66343  -7011329.80542  23580632.178    23580635.469    23580631.173
+      1761.810        1372.839          48.000          42.000
+ -13591616.50443 -10555786.06342  22728036.619    22728042.076    22728035.556
+      3041.730        2370.179          52.000          45.000
+ 04  2  1 12 19 30.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -17904712.13043 -13947303.01542  21940475.661    21940479.900    21940475.023
+      1117.201         870.546          55.000          48.000
+   -940781.26853   -712967.30652  24658811.180    24658817.433    24658811.230
+      3579.367        2789.117          41.000          35.000
+ -10055962.03143  -7819287.82242  22962748.249    22962753.841    22962747.545
+     -3100.012       -2415.594          49.000          43.000
+ -15647034.37743 -12147980.91742  22070895.870    22070898.845    22070893.158
+     -2984.311       -2325.437          52.000          45.000
+ -19621357.34043 -15244490.35742  21683524.958    21683529.816    21683524.066
+     -2300.080       -1792.270          53.000          46.000
+  -2735053.14443  -2120025.45542  24808608.451    24808613.125    24808606.376
+     -2969.586       -2313.963          43.000          36.000
+ -20271220.17943 -15755747.56042  21791230.763    21791233.563    21791229.585
+      2615.512        2038.061          55.000          49.000
+  -1998086.93443  -1501920.67742  24463924.068    24463928.792    24463922.948
+     -1903.844       -1483.515          46.000          39.000
+  -9066540.82643  -7052525.74042  23570570.952    23570575.307    23570570.707
+      1762.216        1373.155          49.000          43.000
+ -13682800.27943 -10626838.29342  22710684.426    22710689.927    22710683.648
+      3036.609        2366.189          52.000          45.000
+ 04  2  1 12 20  0.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -17938021.40643 -13973258.26142  21934137.312    21934142.047    21934136.451
+      1102.865         859.375          55.000          48.000
+  -1048259.93643   -796716.64542  24638357.138    24638365.066    24638358.263
+      3585.412        2793.828          42.000          36.000
+  -9962936.12243  -7746800.13742  22980451.290    22980456.295    22980449.608
+     -3102.170       -2417.275          50.000          43.000
+ -15557450.39043 -12078175.22142  22087942.598    22087945.118    22087940.922
+     -2988.390       -2328.615          52.000          45.000
+ -19552202.19143 -15190603.26342  21696684.980    21696689.469    21696684.750
+     -2310.898       -1800.700          52.000          46.000
+  -2645884.49043  -2050543.59842  24825578.555    24825583.673    24825571.368
+     -2975.326       -2318.436          39.000          35.000
+ -20349585.66343 -15816811.55442  21776317.974    21776321.577    21776316.973
+      2608.351        2032.481          55.000          49.000
+  -1940992.66743  -1457431.67542  24474789.776    24474794.091    24474787.321
+     -1903.360       -1483.138          45.000          38.000
+  -9119440.26643  -7093746.02742  23560506.203    23560508.314    23560505.003
+      1763.851        1374.429          49.000          43.000
+ -13773841.39343 -10697779.37142  22693360.560    22693365.023    22693358.769
+      3032.293        2362.826          52.000          45.000
+ 04  2  1 12 20 30.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -17970877.51343 -13998860.40542  21927885.407    21927889.336    21927884.738
+      1087.137         847.120          55.000          48.000
+  -1155890.11043   -880584.09142  24617876.941    24617885.644    24617875.436
+      3589.691        2797.162          44.000          37.000
+  -9869820.69543  -7674242.70042  22998169.610    22998175.562    22998169.289
+     -3105.762       -2420.074          50.000          43.000
+ -15467718.07943 -12008253.95642  22105018.712    22105019.995    22105016.640
+     -2994.012       -2332.996          53.000          45.000
+ -19482695.19443 -15136442.00242  21709911.163    21709916.858    21709910.415
+     -2323.192       -1810.279          52.000          46.000
+  -2556533.52343  -1980919.69642  24842578.185    24842588.419    24842575.429
+     -2982.014       -2323.647          37.000          34.000
+ -20427712.25843 -15877689.39942  21761451.154    21761454.278    21761450.179
+      2599.689        2025.732          55.000          49.000
+  -1883895.76643  -1412940.63642  24485653.073    24485655.973    24485653.558
+     -1903.929       -1483.581          45.000          37.000
+  -9172364.64043  -7134985.77042  23550434.003    23550438.429    23550433.868
+      1764.087        1374.613          49.000          43.000
+ -13864730.35843 -10768601.88542  22676064.268    22676069.516    22676063.392
+      3026.695        2358.464          52.000          45.000
+ 04  2  1 12 21  0.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18003278.65343 -14024108.01742  21921718.911    21921723.390    21921718.540
+      1072.706         835.875          54.000          48.000
+  -1263668.98643   -964567.36342  24597368.703    24597376.049    24597366.678
+      3595.212        2801.464          45.000          37.000
+  -9776618.93743  -7601617.99842  23015905.759    23015911.593    23015906.292
+     -3107.971       -2421.795          49.000          43.000
+ -15377839.82943 -11938218.97342  22122120.860    22122124.234    22122119.840
+     -2998.190       -2336.252          52.000          45.000
+ -19412839.41243 -15082008.95442  21723205.178    21723209.377    21723203.540
+     -2334.122       -1818.796          53.000          46.000
+  -7193261.26953  -5593954.47052  24859620.144    24859622.897    24859614.780
+     -2987.302       -2327.768          39.000          34.000
+ -20505597.33243 -15938379.04942  21746630.299    21746633.166    21746629.113
+      2592.383        2020.039          55.000          49.000
+  -1826795.50643  -1368446.93542  24496520.516    24496521.068    24496517.746
+     -1903.315       -1483.102          46.000          38.000
+  -9225314.33243  -7176245.19442  23540359.265    23540362.091    23540357.949
+      1765.517        1375.728          49.000          43.000
+ -13955463.87843 -10839303.29342  22658798.236    22658803.434    22658797.317
+      3022.141        2354.915          52.000          45.000
+ 04  2  1 12 21 30.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18035226.61643 -14049002.49942  21915639.997    21915643.802    21915639.148
+      1057.629         824.126          55.000          48.000
+  -1371597.66543  -1048667.37342  24576830.828    24576837.959    24576827.566
+      3600.438        2805.536          44.000          37.000
+  -9683337.47443  -7528931.18342  23033656.967    23033661.480    23033655.300
+     -3110.354       -2423.652          49.000          43.000
+ -15287821.76043 -11868075.02542  22139251.700    22139254.532    22139249.945
+     -3002.685       -2339.754          53.000          45.000
+ -19342641.94443 -15027309.66642  21736562.049    21736566.691    21736561.519
+     -2345.238       -1827.458          52.000          46.000
+  -7103553.22843  -5524052.31542  24876688.327    24876694.899    24876689.011
+     -2992.564       -2331.868          38.000          34.000
+ -20583242.07143 -15998881.42242  21731855.096    21731858.440    21731853.614
+      2584.408        2013.824          55.000          49.000
+  -1769695.19843  -1323953.21142  24507384.034    24507390.000    24507383.531
+     -1903.219       -1483.028          45.000          38.000
+  -9278292.95543  -7217527.19642  23530277.352    23530280.015    23530275.996
+      1766.710        1376.657          50.000          43.000
+ -14046043.05443 -10909884.40442  22641561.306    22641566.771    22641560.193
+      3016.924        2350.850          51.000          45.000
+ 04  2  1 12 22  0.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18066715.75543 -14073539.45742  21909648.006    21909651.847    21909646.920
+      1042.737         812.522          55.000          48.000
+  -1479670.38143  -1132879.64342  24556264.912    24556273.437    24556261.830
+      3605.637        2809.587          45.000          38.000
+  -9589976.15843  -7456182.15342  23051423.579    23051428.859    23051422.149
+     -3112.667       -2425.455          50.000          43.000
+ -15197662.57043 -11797821.13442  22156406.973    22156410.424    22156405.985
+     -3006.768       -2342.936          51.000          45.000
+ -19272102.47243 -14972343.87742  21749986.360    21749990.066    21749985.779
+     -2356.235       -1836.027          53.000          46.000
+  -7013667.13243  -5454011.43342  24893790.921    24893802.267    24893791.263
+     -2999.195       -2337.035          36.000          34.000
+ -20660640.28343 -16059191.69542  21717126.622    21717130.067    21717125.688
+      2576.605        2007.744          55.000          49.000
+  -1712590.44043  -1279456.02342  24518253.869    24518257.233    24518250.564
+     -1902.039       -1482.108          46.000          38.000
+  -9331297.50643  -7258829.39142  23520190.082    23520194.259    23520189.394
+      1768.064        1377.712          49.000          43.000
+ -14136460.58243 -10980339.55242  22624355.318    22624360.847    22624354.222
+      3012.052        2347.054          51.000          45.000
+ 04  2  1 12 22 30.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18097748.04243 -14097720.42842  21903742.180    21903746.339    21903741.924
+      1026.799         800.103          55.000          48.000
+  -1587887.73943  -1217204.61542  24535671.033    24535678.735    24535669.163
+      3609.635        2812.703          46.000          39.000
+  -9496541.77643  -7383376.18942  23069204.220    23069208.155    23069202.457
+     -3115.737       -2427.847          50.000          44.000
+ -15107368.46243 -11727462.09342  22173589.856    22173592.986    22173588.204
+     -3012.100       -2347.091          51.000          45.000
+ -19201227.98443 -14917117.02842  21763473.387    21763477.358    21763472.073
+     -2367.901       -1845.118          52.000          46.000
+  -6923608.15443  -5383835.79442  24910928.986    24910939.162    24910929.774
+     -3004.829       -2341.425          35.000          33.000
+ -20737792.72743 -16119310.46642  21702444.699    21702448.161    21702443.935
+      2567.499        2000.649          55.000          49.000
+  -1655484.34743  -1234957.85242  24529117.663    24529123.111    24529117.480
+     -1903.515       -1483.258          44.000          38.000
+  -9384331.92443  -7300154.85242  23510097.665    23510102.373    23510096.963
+      1768.333        1377.922          49.000          43.000
+ -14226717.15143 -11050669.28742  22607179.693    22607185.268    22607178.135
+      3005.964        2342.310          51.000          45.000
+ 04  2  1 12 23  0.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18128334.10843 -14121553.69642  21897921.020    21897926.022    21897920.764
+      1011.182         787.934          55.000          48.000
+  -1696259.88143  -1301650.18842  24515048.003    24515056.069    24515046.988
+      3613.677        2815.852          46.000          39.000
+  -9403050.04043  -7310525.52442  23086992.835    23086998.107    23086993.080
+     -3118.371       -2429.899          49.000          43.000
+ -15016954.42343 -11657009.61442  22190795.016    22190799.210    22190792.983
+     -3016.650       -2350.636          51.000          45.000
+ -19130034.36443 -14861641.51842  21777020.416    21777025.601    21777020.283
+     -2379.343       -1854.033          52.000          46.000
+  -6833390.21043  -5313536.34242  24928099.984    24928103.058    24928096.655
+     -3010.596       -2345.919          41.000          34.000
+ -20814709.70643 -16179245.75842  21687807.657    21687811.646    21687806.579
+      2559.056        1994.070          55.000          49.000
+  -1598389.06043  -1190468.04542  24539984.944    24539988.301    24539984.322
+     -1903.846       -1483.516          47.000          38.000
+  -9437409.03243  -7341513.58242  23499997.219    23500001.414    23499997.126
+      1769.062        1378.490          48.000          43.000
+ -14316822.11043 -11120880.87342  22590033.584    22590038.800    22590032.719
+      3000.027        2337.683          51.000          45.000
+ 04  2  1 12 23 30.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18158439.16743 -14145012.16342  21892192.896    21892197.400    21892192.435
+       995.536         775.742          55.000          48.000
+  -1804751.55643  -1386188.90642  24494401.898    24494410.892    24494401.389
+      3618.490        2819.603          46.000          39.000
+  -9309471.19743  -7237606.99442  23104801.738    23104806.509    23104801.074
+     -3120.618       -2431.650          50.000          43.000
+ -14926390.09843 -11586440.02542  22208028.172    22208032.193    22208027.485
+     -3021.296       -2354.257          51.000          45.000
+ -19058492.00043 -14805894.26442  21790634.944    21790639.942    21790633.724
+     -2390.427       -1862.670          52.000          46.000
+                                  24945299.878
+     -3016.281       -2350.349          35.000
+ -20891355.55543 -16238969.78142  21673221.864    21673226.232    21673220.942
+      2550.354        1987.289          55.000          49.000
+  -1541271.24143  -1145960.70642  24550852.731    24550857.808    24550851.745
+     -1904.123       -1483.732          46.000          38.000
+  -9490496.12343  -7382880.10142  23489895.448    23489900.578    23489894.462
+      1769.685        1378.975          49.000          43.000
+ -14406739.35343 -11190946.19342  22572923.631    22572928.602    22572922.192
+      2994.094        2333.060          51.000          46.000
+ 04  2  1 12 24  0.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18188083.60043 -14168111.69842  21886551.695    21886555.672    21886551.272
+       980.022         763.654          55.000          48.000
+  -1913381.85143  -1470835.64742  24473730.975    24473739.265    24473729.123
+      3622.716        2822.896          47.000          40.000
+  -9215830.33643  -7164640.14142  23122621.372    23122624.980    23122619.907
+     -3122.939       -2433.459          50.000          44.000
+ -14835699.52143 -11515772.04842  22225285.600    22225290.963    22225284.738
+     -3025.982       -2357.908          50.000          45.000
+ -18986626.11943 -14749894.92342  21804310.231    21804315.267    21804309.741
+     -2401.475       -1871.279          52.000          46.000
+                                  24962537.651
+     -3022.462       -2355.165          38.000
+ -20967749.38843 -16298497.42342  21658684.729    21658688.603    21658683.866
+      2541.577        1980.450          55.000          49.000
+  -1484151.91743  -1101452.15642  24561722.651    24561725.000    24561721.053
+     -1904.457       -1483.992          45.000          37.000
+  -9543615.42843  -7424271.72142  23479787.105    23479790.459    23479785.555
+      1770.686        1379.755          49.000          43.000
+ -14496488.14743 -11260880.26942  22555845.119    22555849.227    22555844.018
+      2988.129        2328.412          53.000          46.000
+ 04  2  1 12 24 30.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18217261.23843 -14190847.49442  21880999.066    21881003.430    21880998.919
+       965.006         751.953          55.000          48.000
+  -2022144.26243  -1555585.35542  24453033.241    24453041.199    24453031.622
+      3627.666        2826.753          46.000          40.000
+  -9122126.57843  -7091624.27142  23140452.438    23140456.704    23140452.221
+     -3124.403       -2434.600          50.000          43.000
+ -14744881.44243 -11445004.73442  22242568.443    22242572.248    22242566.728
+     -3029.116       -2360.350          51.000          45.000
+ -18914436.14243 -14693643.03342  21818048.390    21818053.610    21818047.875
+     -2411.583       -1879.155          52.000          46.000
+                                  24979808.494
+     -3027.225       -2358.877          41.000
+ -21043884.60843 -16357823.55542  21644197.381    21644201.079    21644196.390
+      2533.593        1974.228          55.000          49.000
+  -1427026.74643  -1056939.04342  24572593.755    24572598.545    24572591.562
+     -1904.371       -1483.925          45.000          37.000
+  -9596763.17643  -7465685.49142  23469674.631    23469677.345    23469672.519
+      1772.089        1380.849          50.000          43.000
+ -14586060.95743 -11330677.21242  22538800.258    22538804.981    22538798.272
+      2982.764        2324.232          53.000          46.000
+ 04  2  1 12 25  0.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18245971.84143 -14213219.36242  21875536.161    21875540.103    21875535.396
+       949.220         739.652          55.000          48.000
+  -2131037.40343  -1640436.91642  24432311.905    24432318.879    24432310.193
+      3631.688        2829.887          46.000          40.000
+  -9028364.51043  -7018562.97842  23158294.686    23158299.716    23158294.139
+     -3126.450       -2436.195          49.000          43.000
+ -14653939.26943 -11374140.72142  22259874.065    22259877.748    22259872.983
+     -3033.784       -2363.987          50.000          44.000
+ -18841926.60343 -14637142.13042  21831846.005    21831850.147    21831845.596
+     -2422.340       -1887.538          52.000          46.000
+                                  24997105.298
+     -3033.434       -2363.715          39.000
+ -21119759.97043 -16416947.20842  21629758.476    21629762.006    21629757.496
+      2524.783        1967.363          55.000          49.000
+  -1369896.22943  -1012421.83342  24583466.078    24583468.908    24583462.780
+     -1904.552       -1484.066          44.000          37.000
+  -9649941.00943  -7507122.73042  23459553.253    23459558.208    23459552.419
+      1773.019        1381.573          49.000          43.000
+ -14675455.91643 -11400335.56842  22521788.388    22521792.434    22521787.192
+      2976.687        2319.496          53.000          46.000
+ 04  2  1 12 25 30.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18274210.09043 -14235223.16542  21870162.727    21870166.989    21870161.912
+       932.720         726.795          55.000          48.000
+  -2240055.22743  -1725385.63642  24411564.957    24411572.749    24411562.381
+      3635.378        2832.762          46.000          40.000
+  -8934543.66243  -6945455.87342  23176147.822    23176153.374    23176146.766
+     -3128.929       -2438.126          49.000          43.000
+ -14562872.16443 -11303179.35142  22277203.982    22277208.468    22277202.510
+     -3037.847       -2367.153          50.000          45.000
+ -18769097.49843 -14580392.21542  21845703.769    21845709.148    21845703.021
+     -2433.333       -1896.104          51.000          45.000
+                                  25014438.902
+     -3039.684       -2368.585          38.000
+ -21195369.49443 -16475863.71142  21615370.232    21615374.322    21615369.224
+      2515.232        1959.921          55.000          49.000
+  -1312756.57543   -967897.45942  24594338.291    24594340.778    24594337.654
+     -1905.333       -1484.675          46.000          37.000
+  -9703145.25943  -7548580.55142  23449429.000    23449433.908    23449428.289
+      1773.365        1381.843          49.000          43.000
+ -14764666.19843 -11469850.01742  22504811.952    22504817.259    22504809.932
+      2970.007        2314.291          52.000          46.000
+ 04  2  1 12 26  0.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18301976.80543 -14256859.53942  21864878.371    21864883.187    21864877.765
+       917.981         715.310          55.000          48.000
+  -2349197.55643  -1810431.39642  24390795.517    24390805.709    24390794.527
+      3640.430        2836.699          46.000          40.000
+  -8840669.73343  -6872307.40142  23194011.921    23194016.893    23194011.327
+     -3129.562       -2438.620          49.000          43.000
+ -14471684.69143 -11232124.19042  22294555.679    22294560.427    22294554.536
+     -3041.131       -2369.712          50.000          44.000
+ -18695954.42143 -14523397.65042  21859622.498    21859628.087    21859622.327
+     -2442.854       -1903.522          51.000          45.000
+                                  25031802.957
+     -3044.290       -2372.174          37.000
+ -21270712.89743 -16534572.84342  21601032.898    21601037.078    21601032.191
+      2507.377        1953.800          55.000          49.000
+  -1255609.46043   -923367.22542  24605214.339    24605215.722    24605211.763
+     -1904.739       -1484.212          47.000          38.000
+  -9756378.68843  -7590061.09742  23439300.118    23439302.462    23439297.926
+      1775.316        1383.363          50.000          43.000
+ -14853691.40243 -11539220.25142  22487870.565    22487875.808    22487869.625
+      2964.685        2310.144          52.000          46.000
+ 04  2  1 12 26 30.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18329270.37243 -14278127.22042  21859684.962    21859688.973    21859684.291
+       902.161         702.983          55.000          48.000
+  -2458461.81343  -1895572.16842  24370003.403    24370011.446    24370001.931
+      3644.047        2839.517          46.000          40.000
+  -8746745.86443  -6799120.02742  23211886.024    23211889.774    23211884.312
+     -3131.326       -2439.994          50.000          43.000
+ -14380379.35743 -11160977.20342  22311930.752    22311934.759    22311929.277
+     -3045.284       -2372.948          50.000          44.000
+ -18622501.00943 -14466161.27442  21873601.376    21873606.481    21873600.364
+     -2453.241       -1911.616          52.000          45.000
+                                  25049195.757
+     -3050.570       -2377.067          39.000
+ -21345787.55243 -16593072.56042  21586746.912    21586750.497    21586746.048
+      2498.237        1946.678          56.000          49.000
+  -1198454.39343   -878830.84742  24616089.026    24616093.747    24616090.087
+     -1905.018       -1484.430          46.000          39.000
+  -9809642.19243  -7631565.07642  23429162.925    23429166.493    23429163.080
+      1776.240        1384.083          49.000          43.000
+ -14942528.24643 -11608443.71142  22470965.288    22470971.075    22470964.131
+      2958.369        2305.223          52.000          46.000
+ 04  2  1 12 27  0.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18356089.12243 -14299024.92242  21854581.174    21854585.057    21854580.440
+       885.560         690.047          55.000          48.000
+  -2567845.46043  -1980805.98342  24349187.336    24349196.531    24349185.650
+      3647.655        2842.329          46.000          40.000
+  -8652775.40843  -6725896.34542  23229766.989    23229771.440    23229766.824
+     -3133.480       -2441.673          49.000          43.000
+ -14288958.95943 -11089740.55542  22329326.982    22329331.956    22329326.102
+     -3049.560       -2376.280          49.000          44.000
+ -18548740.83143 -14408685.84042  21887636.725    21887643.279    21887635.934
+     -2464.128       -1920.100          51.000          45.000
+                                  25066621.042
+     -3054.458       -2380.097          37.000
+ -21420591.05943 -16651360.99942  21572512.666    21572515.451    21572511.606
+      2488.560        1939.138          56.000          49.000
+  -1141291.04243   -834287.98742  24626964.608    24626971.724    24626965.036
+     -1906.111       -1485.281          42.000          38.000
+  -9862935.94643  -7673092.65942  23419021.328    23419024.420    23419021.686
+      1776.500        1384.286          49.000          43.000
+ -15031173.94943 -11677518.23342  22454096.887    22454102.064    22454095.440
+      2951.334        2299.741          52.000          46.000
+ 04  2  1 12 27 30.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18382431.53343 -14319551.45242  21849568.298    21849572.523    21849567.941
+       870.176         678.059          55.000          48.000
+  -2677346.16843  -2066131.00542  24328351.181    24328357.773    24328349.435
+      3651.893        2845.631          46.000          40.000
+  -8558761.89743  -6652639.10542  23247657.700    23247662.894    23247655.899
+     -3134.299       -2442.311          49.000          43.000
+ -14197425.83743 -11018416.04342  22346745.455    22346749.225    22346743.987
+     -3052.818       -2378.819          50.000          44.000
+ -18474677.44243 -14350974.14642  21901731.137    21901736.030    21901730.451
+     -2473.686       -1927.547          52.000          45.000
+                                  25084080.627
+     -3060.448       -2384.765          39.000
+ -21495120.96543 -16709436.23742  21558329.887    21558332.676    21558328.894
+      2479.762        1932.282          56.000          49.000
+  -1084119.31043   -789738.63542  24637845.419    24637850.403    24637845.115
+     -1905.982       -1485.181          43.000          37.000
+  -9916260.08643  -7714643.88242  23408875.376    23408880.260    23408873.377
+      1777.941        1385.409          49.000          43.000
+ -15119625.52343 -11746441.48642  22437265.110    22437270.285    22437263.743
+      2945.156        2294.927          52.000          46.000
+ 04  2  1 12 28  0.0000000  0 10G 4G17G29G 7G26G 8G 9G28G 5G24
+ -18408294.62643 -14339704.49342  21844647.675    21844651.249    21844646.568
+       854.595         665.918          56.000          48.000
+  -2786959.27643  -2151543.63142  24307491.102    24307500.350    24307490.473
+      3656.085        2848.897          46.000          40.000
+  -8464706.42543  -6579349.18342  23265554.865    23265560.418    23265553.928
+     -3135.131       -2442.959          49.000          43.000
+ -14105780.76843 -10947004.32242  22364185.150    22364188.925    22364184.286
+     -3056.069       -2381.352          50.000          44.000
+ -18400312.45243 -14293027.43642  21915882.023    21915887.000    21915881.303
+     -2483.344       -1935.073          52.000          45.000
+                                  25101566.925
+     -3065.286       -2388.534          40.000
+ -21569372.97343 -16767294.94142  21544199.900    21544203.275    21544198.947
+      2470.852        1925.339          56.000          49.000
+  -1026936.73943   -745180.84142  24648727.688    24648731.611    24648726.240
+     -1905.801       -1485.040          45.000          38.000
+  -9969613.27243  -7756217.75342  23398721.733    23398725.233    23398720.921
+      1779.365        1386.518          49.000          42.000
+ -15207878.14043 -11815209.70442  22420470.356    22420476.349    22420469.361
+      2938.772        2289.952          52.000          46.000
+ 04  2  1 12 28 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18433676.85843 -14359482.83342  21839816.600    21839820.695    21839815.982
+       838.232         653.168          55.000          48.000
+  -2896682.69843  -2237042.21442  24286611.961    24286620.600    24286610.682
+      3659.403        2851.483          46.000          40.000
+  -8370612.57043  -6506029.35742  23283459.887    23283465.216    23283459.487
+     -3136.984       -2444.403          49.000          43.000
+ -14014026.32543 -10875507.37642  22381645.761    22381649.931    22381644.488
+     -3060.153       -2384.535          50.000          44.000
+ -18325649.63143 -14234848.66042  21930090.565    21930094.992    21930090.474
+     -2493.564       -1943.037          52.000          45.000
+ -21643344.74943 -16824935.27742  21530123.471    21530127.168    21530122.492
+      2461.203        1917.821          56.000          49.000
+   -969742.91843   -700614.24742  24659612.946    24659615.242    24659610.893
+     -1906.508       -1485.591          46.000          38.000
+ -10022995.99143  -7797814.62842  23388563.013    23388568.944    23388562.169
+      1780.026        1387.033          48.000          43.000
+ -15295928.90243 -11883820.64542  22403715.358    22403720.728    22403713.607
+      2931.838        2284.549          52.000          46.000
+ 04  2  1 12 29  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18458581.00143 -14378888.64442  21835077.433    21835081.518    21835077.242
+       822.534         640.936          55.000          48.000
+  -3006518.27243  -2322628.17942  24265710.986    24265718.545    24265709.482
+      3663.279        2854.503          45.000          40.000
+  -8276487.97143  -6432685.56042  23301370.957    23301377.345    23301369.200
+     -3137.355       -2444.692          48.000          42.000
+ -13922169.21443 -10803930.42842  22399125.000    22399130.601    22399124.257
+     -3063.306       -2386.992          50.000          44.000
+ -18250696.90043 -14176443.97142  21944353.215    21944358.108    21944353.146
+     -2502.878       -1950.294          52.000          45.000
+ -21717038.08243 -16882358.63842  21516100.472    21516103.572    21516099.487
+      2452.145        1910.762          56.000          49.000
+   -912541.69043   -656041.89742  24670496.761    24670500.754    24670494.413
+     -1906.521       -1485.601          44.000          38.000
+ -10076412.78243  -7839438.05342  23378399.622    23378402.617    23378399.189
+      1781.609        1388.267          50.000          43.000
+ -15383778.96043 -11952275.17542  22386997.317    22387003.928    22386996.809
+      2925.224        2279.395          52.000          46.000
+ 04  2  1 12 29 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18482999.09743 -14397915.71142  21830430.680    21830435.389    21830430.427
+       805.662         627.789          55.000          48.000
+  -3116456.42143  -2408294.05542  24244789.951    24244798.195    24244788.226
+      3666.008        2856.630          45.000          40.000
+  -8182329.09743  -6359315.06042  23319288.926    23319295.884    23319288.155
+     -3139.262       -2446.178          47.000          42.000
+ -13830205.49543 -10732270.40642  22416625.220    22416629.833    22416623.786
+     -3067.096       -2389.945          50.000          44.000
+ -18175450.92743 -14117810.78642  21958671.796    21958676.893    21958671.320
+     -2513.204       -1958.341          51.000          45.000
+ -21790443.98343 -16939558.03842  21502131.322    21502135.016    21502130.497
+      2441.929        1902.802          56.000          49.000
+   -855326.17343   -611458.37642  24681382.553    24681388.106    24681381.201
+     -1907.654       -1486.484          43.000          37.000
+ -10129857.59143  -7881083.30542  23368229.692    23368232.471    23368228.013
+      1781.893        1388.488          50.000          43.000
+ -15471418.60243 -12020565.75242  22370320.718    22370326.146    22370319.110
+      2917.647        2273.491          52.000          46.000
+ 04  2  1 12 30  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18506933.48543 -14416565.85342  21825876.511    21825880.589    21825875.855
+       790.209         615.747          55.000          48.000
+  -3226498.51143  -2494040.94042  24223850.053    24223857.993    24223848.591
+      3670.113        2859.828          45.000          40.000
+  -8088143.20643  -6285923.53442  23337212.333    23337218.756    23337210.972
+     -3139.426       -2446.306          46.000          42.000
+ -13738141.37743 -10660532.15042  22434144.551    22434149.341    22434143.138
+     -3070.008       -2392.214          50.000          44.000
+ -18099919.35643 -14058955.05942  21973045.162    21973050.113    21973044.348
+     -2522.029       -1965.217          51.000          45.000
+ -21863563.73343 -16996534.45942  21488217.410    21488220.808    21488216.390
+      2432.946        1895.802          56.000          49.000
+   -798099.61043   -566866.27242  24692273.984    24692279.754    24692274.482
+     -1907.265       -1486.180          43.000          36.000
+ -10183334.54843  -7922753.61842  23358052.222    23358056.280    23358051.264
+      1783.341        1389.616          49.000          43.000
+ -15558848.86243 -12088693.18042  22353683.139    22353689.014    22353682.118
+      2911.288        2268.536          53.000          46.000
+ 04  2  1 12 30 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18530381.20943 -14434836.78742  21821414.358    21821418.721    21821414.045
+       773.624         602.824          55.000          48.000
+  -3336640.41843  -2579865.60042  24202889.301    24202897.797    24202888.669
+      3672.986        2862.067          44.000          39.000
+  -7993931.82843  -6212512.12742  23355139.933    23355146.207    23355140.005
+     -3140.936       -2447.482          47.000          41.000
+ -13645977.59643 -10588716.25042  22451682.707    22451686.917    22451682.051
+     -3073.670       -2395.067          50.000          44.000
+ -18024104.12043 -13999878.29642  21987472.474    21987478.293    21987471.933
+     -2531.807       -1972.837          51.000          45.000
+ -21936393.13743 -17053284.63342  21474358.505    21474361.457    21474357.275
+      2422.889        1887.965          56.000          49.000
+   -740860.09143   -522264.09442  24703168.404    24703172.452    24703167.414
+     -1908.168       -1486.884          45.000          37.000
+ -10236842.58843  -7964448.13642  23347869.598    23347873.721    23347867.531
+      1784.276        1390.345          49.000          43.000
+ -15646065.22643 -12156653.92642  22337086.975    22337092.087    22337085.481
+      2903.736        2262.651          53.000          47.000
+ 04  2  1 12 31  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18553339.91043 -14452726.66542  21817045.371    21817049.521    21817044.812
+       757.078         589.931          55.000          48.000
+  -3446878.60443  -2665765.27242  24181912.574    24181919.464    24181911.299
+      3676.011        2864.424          44.000          39.000
+  -7899697.17943  -6139082.62042  23373072.561    23373079.047    23373071.902
+     -3141.540       -2447.953          47.000          42.000
+ -13553715.66143 -10516823.85742  22469240.021    22469244.560    22469238.451
+     -3076.868       -2397.559          50.000          44.000
+ -17948007.61843 -13940582.37342  22001953.459    22001958.512    22001952.453
+     -2541.154       -1980.120          51.000          45.000
+ -22008928.83343 -17109805.94842  21460555.345    21460558.741    21460554.520
+      2412.922        1880.199          56.000          49.000
+   -683606.27243   -477650.73742  24714060.762    24714066.540    24714058.759
+     -1908.440       -1487.096          43.000          36.000
+ -10290380.64643  -8006166.06242  23337682.343    23337684.697    23337681.002
+      1785.357        1391.187          50.000          43.000
+ -15733063.31143 -12224444.58842  22320531.368    22320537.044    22320530.226
+      2896.228        2256.801          53.000          47.000
+ 04  2  1 12 31 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18575809.93143 -14470235.74842  21812770.000    21812773.942    21812769.285
+       741.237         577.587          55.000          48.000
+  -3557212.35043  -2751739.41342  24160917.991    24160923.273    24160915.298
+      3680.113        2867.621          44.000          38.000
+  -7805444.36343  -6065638.94642  23391008.590    23391015.469    23391008.191
+     -3141.520       -2447.938          48.000          42.000
+ -13461359.85743 -10444858.32242  22486814.788    22486818.161    22486813.725
+     -3079.532       -2399.635          50.000          44.000
+ -17871635.41543 -13881071.59842  22016486.411    22016491.434    22016485.608
+     -2550.019       -1987.028          51.000          45.000
+ -22081170.16244 -17166097.88242  21446808.909    21446811.671    21446807.755
+      2403.562        1872.905          57.000          50.000
+   -626339.28543   -433027.14342  24724958.654    24724962.677    24724957.156
+     -1908.750       -1487.338          43.000          37.000
+ -10343950.71043  -8047908.94142  23327487.098    23327492.008    23327486.000
+      1786.626        1392.176          49.000          43.000
+ -15819842.13643 -12292064.40342  22304017.903    22304023.226    22304017.060
+      2889.381        2251.466          53.000          47.000
+ 04  2  1 12 32  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18597786.68843 -14487360.48742  21808587.759    21808591.286    21808586.924
+       724.771         564.757          55.000          48.000
+  -3667635.52843  -2837783.26142  24139903.008    24139910.636    24139902.012
+      3682.563        2869.530          42.000          38.000
+  -7711173.20043  -5992180.95042  23408948.892    23408952.888    23408947.118
+     -3142.144       -2448.424          48.000          41.000
+ -13368909.22943 -10372818.89342  22504407.763    22504412.146    22504406.694
+     -3082.980       -2402.322          50.000          44.000
+ -17794987.53943 -13821346.02942  22031071.167    22031077.415    22031071.250
+     -2559.122       -1994.121          51.000          44.000
+ -22153111.29743 -17222155.90342  21433118.003    21433121.652    21433117.498
+      2393.419        1865.002          56.000          50.000
+   -569055.69743   -388390.57242  24735862.488    24735865.645    24735860.526
+     -1909.194       -1487.684          42.000          37.000
+ -10397550.01243  -8089674.58742  23317288.909    23317292.548    23317286.599
+      1787.530        1392.881          50.000          43.000
+ -15906395.51143 -12359508.54542  22287546.934    22287553.140    22287545.881
+      2881.627        2245.424          52.000          47.000
+ 04  2  1 12 32 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18619271.25143 -14504101.67742  21804499.281    21804503.281    21804498.698
+       707.727         551.476          55.000          48.000
+  -3778147.82143  -2923896.51842  24118871.979    24118882.176    24118872.243
+      3685.060        2871.475          41.000          37.000
+  -7616889.32743  -5918713.05042  23426889.153    23426896.127    23426888.770
+     -3143.181       -2449.232          48.000          41.000
+ -13276368.51243 -10300709.26942  22522016.728    22522021.396    22522015.581
+     -3086.432       -2405.012          50.000          44.000
+ -17718070.03643 -13761410.34942  22045709.199    22045714.243    22045708.341
+     -2568.519       -2001.443          51.000          45.000
+ -22224752.07344 -17277979.87642  21419485.836    21419488.777    21419484.463
+      2382.761        1856.697          57.000          50.000
+   -511757.05743   -343742.33542  24746762.672    24746768.104    24746761.928
+     -1910.814       -1488.946          39.000          36.000
+ -10451181.09143  -8131465.00542  23307082.963    23307086.162    23307081.199
+      1787.958        1393.214          50.000          43.000
+ -15992722.58243 -12426776.34542  22271119.424    22271125.683    22271119.021
+      2873.373        2238.992          53.000          47.000
+ 04  2  1 12 33  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18640263.58843 -14520459.31742  21800504.562    21800508.571    21800503.421
+       691.821         539.081          55.000          48.000
+  -3888748.03543  -3010078.29442  24097828.194    24097833.877    24097825.488
+      3687.885        2873.677          43.000          37.000
+  -7522597.10843  -5845238.65442  23444833.458    23444838.562    23444832.056
+     -3142.906       -2449.018          48.000          42.000
+ -13183741.40243 -10228532.32242  22539643.604    22539647.377    22539642.066
+     -3088.831       -2406.881          49.000          43.000
+ -17640887.73643 -13701268.33142  22060396.572    22060400.520    22060395.107
+     -2576.888       -2007.965          51.000          45.000
+ -22296091.53443 -17333569.06242  21405910.511    21405913.489    21405909.364
+      2373.207        1849.252          56.000          50.000
+   -454444.40443   -299083.22542  24757671.722    24757673.139    24757669.329
+     -1910.523       -1488.719          41.000          36.000
+ -10504845.40843  -8173281.30942  23296870.244    23296875.073    23296870.220
+      1789.739        1394.602          49.000          43.000
+ -16078821.73243 -12493866.55242  22254735.207    22254741.212    22254734.238
+      2866.456        2233.602          53.000          47.000
+ 04  2  1 12 33 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18660760.30443 -14536430.77142  21796603.786    21796607.904    21796603.353
+       674.043         525.228          55.000          48.000
+  -3999431.37843  -3096324.87442  24076765.591    24076771.413    24076764.583
+      3689.992        2875.318          43.000          37.000
+  -7428297.90543  -5771758.83242  23462777.430    23462783.006    23462775.381
+     -3144.261       -2450.073          48.000          41.000
+ -13091028.32743 -10156288.39342  22557286.281    22557290.072    22557285.649
+     -3092.736       -2409.924          50.000          44.000
+ -17563442.19543 -13640921.20442  22075132.827    22075138.391    22075132.237
+     -2586.809       -2015.695          50.000          44.000
+ -22367124.96843 -17388919.78042  21392392.468    21392395.899    21392391.551
+      2361.751        1840.325          56.000          50.000
+   -397115.22143   -254411.17742  24768579.469    24768582.568    24768578.416
+     -1912.179       -1490.010          41.000          36.000
+ -10558541.49843  -8215122.37642  23286652.532    23286656.114    23286650.380
+      1789.363        1394.309          50.000          43.000
+ -16164687.70143 -12560775.05642  22238395.293    22238400.594    22238394.418
+      2857.351        2226.507          53.000          47.000
+ 04  2  1 12 34  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18680756.08343 -14552011.87342  21792798.956    21792803.380    21792798.482
+       658.154         512.847          55.000          48.000
+  -4110191.22143  -3182631.07542  24055687.982    24055696.288    24055685.894
+      3693.412        2877.983          44.000          37.000
+  -7333990.56743  -5698272.66442  23480722.490    23480731.208    23480723.179
+     -3143.357       -2449.369          48.000          42.000
+ -12998227.57043 -10083976.14542  22574945.931    22574949.240    22574944.039
+     -3094.688       -2411.445          50.000          44.000
+ -17485732.92543 -13580368.57542  22089920.279    22089926.092    22089919.924
+     -2594.640       -2021.797          50.000          44.000
+ -22437845.89343 -17444026.98542  21378934.901    21378938.242    21378933.909
+      2352.222        1832.900          56.000          50.000
+   -339764.89843   -209722.63542  24779492.361    24779496.994    24779492.080
+     -1912.056       -1489.914          42.000          37.000
+ -10612265.41443  -8256985.14842  23276429.389    23276432.923    23276428.052
+      1791.199        1395.739          50.000          43.000
+ -16250313.56343 -12627496.47042  22222102.654    22222106.770    22222101.248
+      2850.149        2220.895          54.000          47.000
+ 04  2  1 12 34 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18700256.03543 -14567206.61742  21789088.400    21789091.900    21789087.769
+       641.777         500.086          55.000          48.000
+  -4221030.91543  -3268999.53342  24034594.112    24034601.493    24034592.744
+      3695.566        2879.662          42.000          37.000
+  -7239684.65743  -5624787.62542  23498669.341    23498675.373    23498666.969
+     -3143.648       -2449.596          48.000          42.000
+ -12905347.72343 -10011602.27342  22592620.482    22592624.474    22592619.088
+     -3097.190       -2413.395          50.000          44.000
+ -17407769.70743 -13519618.06142  22104757.708    22104762.072    22104756.156
+     -2602.837       -2028.185          51.000          44.000
+ -22508258.02643 -17498893.57442  21365535.886    21365539.486    21365534.924
+      2341.927        1824.878          56.000          50.000
+   -282399.44943   -165022.34442  24790408.791    24790414.745    24790407.005
+     -1912.493       -1490.254          43.000          37.000
+ -10666023.65043  -8298874.64342  23266199.884    23266202.134    23266197.093
+      1792.618        1396.845          50.000          43.000
+ -16335702.86843 -12694033.55742  22205852.533    22205857.905    22205851.505
+      2842.385        2214.845          53.000          47.000
+ 04  2  1 12 35  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18719244.25243 -14582002.61042  21785474.779    21785478.744    21785474.284
+       622.992         485.448          55.000          48.000
+  -4331933.26643  -3355416.81042  24013490.083    24013499.355    24013489.946
+      3696.233        2880.182          44.000          38.000
+  -7145368.89743  -5551294.89442  23516617.919    23516622.517    23516615.659
+     -3145.478       -2451.022          49.000          42.000
+ -12812376.64743  -9939157.30342  22610312.689    22610316.221    22610311.191
+     -3101.896       -2417.062          50.000          44.000
+ -17329541.67643 -13458661.20142  22119643.849    22119648.089    22119642.583
+     -2613.411       -2036.424          51.000          44.000
+ -22578344.04443 -17553506.04642  21352199.014    21352202.809    21352198.344
+      2329.377        1815.099          56.000          50.000
+   -225003.64343   -120298.34342  24801329.718    24801334.597    24801328.548
+     -1915.308       -1492.448          42.000          37.000
+ -10719801.76143  -8340779.61242  23255965.386    23255969.739    23255964.565
+      1791.530        1395.997          49.000          43.000
+ -16420837.75543 -12760372.39642  22189652.249    22189657.032    22189650.853
+      2832.220        2206.925          53.000          47.000
+ 04  2  1 12 35 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18737743.04543 -14596417.23042  21781954.090    21781958.658    21781954.019
+       608.890         474.460          55.000          48.000
+  -4442919.30543  -3441899.30742  23992371.781    23992377.807    23992370.254
+      3701.365        2884.181          45.000          38.000
+  -7051069.98743  -5477815.30142  23534562.987    23534568.490    23534561.011
+     -3142.646       -2448.815          49.000          42.000
+ -12719340.20743  -9866661.42442  22628016.858    22628021.440    22628016.116
+     -3101.755       -2416.952          50.000          44.000
+ -17251075.96543 -13397519.12742  22134575.727    22134579.602    22134574.679
+     -2618.950       -2040.740          51.000          44.000
+ -22648125.30643 -17607881.05242  21338920.202    21338923.617    21338919.082
+      2321.377        1808.865          56.000          50.000
+   -167600.82943    -75568.91442  24812256.329    24812259.567    24812253.166
+     -1913.139       -1490.758          43.000          37.000
+ -10773623.43443  -8382718.55542  23245724.224    23245726.620    23245721.792
+      1795.264        1398.907          49.000          43.000
+ -16505738.76643 -12826528.98442  22173495.802    22173501.326    22173495.166
+      2826.636        2202.574          53.000          47.000
+ 04  2  1 12 36  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18755739.12043 -14610440.12542  21778530.092    21778534.158    21778529.517
+       591.967         461.273          55.000          48.000
+  -4553974.01043  -3528435.31242  23971238.150    23971245.545    23971237.128
+      3703.380        2885.751          46.000          38.000
+  -6956778.51143  -5404341.51542  23552505.284    23552510.440    23552504.462
+     -3142.573       -2448.758          49.000          42.000
+ -12626228.48143  -9794106.86042  22645735.296    22645739.134    22645734.517
+     -3104.412       -2419.022          50.000          44.000
+ -17172363.67743 -13336184.92842  22149554.131    22149558.790    22149554.049
+     -2627.351       -2047.286          51.000          44.000
+ -22717587.10443 -17662007.11842  21325702.403    21325705.505    21325700.807
+      2310.455        1800.354          56.000          50.000
+   -110177.94343    -30823.86342  24823180.084    24823186.453    24823179.682
+     -1914.272       -1491.640          41.000          37.000
+ -10827476.80143  -8424682.17742  23235475.244    23235480.357    23235473.990
+      1796.032        1399.505          49.000          43.000
+ -16590390.55543 -12892491.37642  22157387.520    22157392.504    22157386.625
+      2817.995        2195.840          53.000          47.000
+ 04  2  1 12 36 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18773228.60543 -14624068.26842  21775202.421    21775205.849    21775201.333
+       574.078         447.334          56.000          48.000
+  -4665091.80043  -3615020.44342  23950092.761    23950099.923    23950091.277
+      3704.306        2886.472          46.000          39.000
+  -6862495.31943  -5330874.15642  23570445.564    23570452.521    23570445.015
+     -3143.140       -2449.200          48.000          42.000
+ -12533041.16943  -9721493.40042  22663468.152    22663472.219    22663466.851
+     -3107.714       -2421.595          50.000          44.000
+ -17093405.92343 -13274659.45042  22164579.241    22164584.573    22164578.688
+     -2636.355       -2054.302          51.000          45.000
+ -22786724.21243 -17715880.17942  21312545.458    21312549.048    21312544.425
+      2298.731        1791.219          56.000          50.000
+    -52732.30243     13938.89842  24834115.032    24834115.293    24834113.748
+     -1915.805       -1492.835          44.000          36.000
+ -10881359.60843  -8466668.73842  23225222.211    23225225.522    23225221.603
+      1796.136        1399.586          50.000          44.000
+ -16674787.65443 -12958255.29742  22141326.757    22141332.123    22141325.707
+      2808.597        2188.517          53.000          47.000
+ 04  2  1 12 37  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18790215.22543 -14637304.58142  21771969.331    21771973.329    21771968.565
+       558.076         434.864          55.000          48.000
+  -4776275.04543  -3701656.58442  23928935.203    23928941.672    23928933.849
+      3707.514        2888.972          46.000          39.000
+  -6768228.09343  -5257419.25542  23588385.069    23588390.125    23588384.330
+     -3141.725       -2448.097          48.000          42.000
+ -12439785.29343  -9648826.52442  22681214.616    22681217.738    22681212.768
+     -3109.453       -2422.950          50.000          44.000
+ -17014211.11443 -13212949.26442  22179649.914    22179654.825    22179649.409
+     -2643.462       -2059.840          51.000          45.000
+ -22855539.13143 -17769502.18942  21299450.973    21299453.869    21299449.829
+      2288.711        1783.411          56.000          50.000
+      4731.97043     58716.26842  24845047.821    24845052.469    24845047.203
+     -1915.405       -1492.523          42.000          36.000
+ -10935276.52943  -8508681.89842  23214962.674    23214965.413    23214960.925
+      1798.016        1401.051          50.000          43.000
+ -16758931.67643 -13023822.02442  22125314.500    22125319.979    22125313.937
+      2800.778        2182.424          53.000          47.000
+ 04  2  1 12 37 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18806694.60843 -14650145.64042  21768833.548    21768837.637    21768832.827
+       540.619         421.262          55.000          48.000
+  -4887517.59743  -3788338.98242  23907765.565    23907773.372    23907764.870
+      3708.682        2889.882          46.000          39.000
+  -6673976.85743  -5183976.79842  23606319.546    23606327.350    23606319.021
+     -3141.642       -2448.033          48.000          42.000
+ -12346460.11243  -9576105.63342  22698974.209    22698977.932    22698973.682
+     -3112.224       -2425.110          50.000          44.000
+ -16934779.66443 -13151054.66742  22194764.648    22194769.036    22194763.868
+     -2651.720       -2066.275          51.000          44.000
+ -22924026.01943 -17822868.57842  21286418.108    21286421.222    21286417.059
+      2277.205        1774.445          56.000          50.000
+     62218.49443    103510.92842  24855989.443    24855993.018    24855987.064
+     -1916.950       -1493.727          44.000          37.000
+ -10989224.64443  -8550719.37642  23204696.640    23204698.753    23204694.417
+      1798.592        1401.500          50.000          43.000
+ -16842816.52443 -13089186.79142  22109352.434    22109357.270    22109351.017
+      2791.596        2175.270          53.000          47.000
+ 04  2  1 12 38  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18822665.91443 -14662590.78742  21765794.449    21765798.763    21765793.930
+       524.348         408.583          55.000          48.000
+  -4998816.97243  -3875065.63442  23886587.061    23886594.914    23886586.117
+      3711.147        2891.803          46.000          40.000
+  -6579745.09843  -5110549.54642  23624253.161    23624258.525    23624252.014
+     -3140.381       -2447.050          48.000          41.000
+ -12253068.08643  -9503332.67242  22716745.688    22716749.253    22716743.518
+     -3113.769       -2426.313          49.000          43.000
+ -16855115.25643 -13088978.55242  22209923.586    22209929.034    22209923.494
+     -2659.046       -2071.984          50.000          44.000
+ -22992182.67843 -17875977.65842  21273448.591    21273451.600    21273447.526
+      2266.775        1766.318          56.000          50.000
+    119727.79743    148323.27242  24866930.957    24866935.267    24866929.900
+     -1917.059       -1493.812          39.000          36.000
+ -11043204.52743  -8592781.59442  23194423.732    23194428.577    23194422.539
+      1800.225        1402.773          50.000          44.000
+ -16926439.30943 -13154347.35642  22093439.321    22093444.403    22093439.064
+      2783.366        2168.857          54.000          47.000
+ 04  2  1 12 38 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18838127.51443 -14674638.76442  21762851.978    21762855.897    21762851.263
+       506.673         394.810          55.000          48.000
+  -5110169.92543  -3961834.02342  23865397.598    23865403.157    23865397.091
+      3712.241        2892.655          48.000          40.000
+  -6485535.25143  -5037139.35442  23642179.716    23642184.970    23642178.850
+     -3140.120       -2446.847          48.000          42.000
+ -12159611.03843  -9430509.03542  22734529.543    22734534.283    22734529.205
+     -3116.518       -2428.455          49.000          43.000
+ -16775221.01743 -13026723.35942  22225127.759    22225132.513    22225127.061
+     -2667.226       -2078.358          50.000          44.000
+ -23060006.07143 -17928827.04842  21260541.765    21260545.784    21260540.833
+      2254.930        1757.088          56.000          50.000
+    177260.45743    193153.91542  24877880.845    24877883.362    24877879.634
+     -1918.829       -1495.191          40.000          35.000
+ -11097216.06743  -8634868.50442  23184145.865    23184150.362    23184144.426
+      1800.610        1403.073          51.000          44.000
+ -17009796.92843 -13219301.29142  22077576.880    22077581.178    22077575.477
+      2773.785        2161.391          54.000          47.000
+ 04  2  1 12 39  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18853079.66543 -14686289.77242  21760006.759    21760010.983    21760006.291
+       489.938         381.770          55.000          48.000
+  -5221574.50343  -4048642.63542  23844196.925    23844204.095    23844197.176
+      3714.342        2894.292          46.000          40.000
+  -6391351.42743  -4963749.43442  23660102.916    23660109.291    23660100.938
+     -3139.018       -2445.988          47.000          42.000
+ -12066092.07543  -9357637.17242  22752325.942    22752329.571    22752324.584
+     -3118.139       -2429.719          49.000          43.000
+ -16695101.55443 -12964292.65242  22240373.765    22240379.123    22240373.246
+     -2674.289       -2083.861          51.000          44.000
+ -23127494.75243 -17981415.62742  21247698.985    21247702.705    21247698.096
+      2244.182        1748.713          56.000          50.000
+    234815.96043    238002.25642  24888831.718    24888836.030    24888830.118
+     -1918.437       -1494.886          39.000          34.000
+ -11151259.87543  -8676980.53542  23173862.938    23173864.973    23173860.727
+      1802.086        1404.223          51.000          44.000
+ -17092887.11243 -13284046.84842  22061765.386    22061770.025    22061764.423
+      2765.177        2154.683          54.000          47.000
+ 04  2  1 12 39 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18867517.69643 -14697540.16542  21757259.423    21757262.919    21757258.522
+       472.431         368.128          55.000          48.000
+  -5333024.53643  -4135486.66542  23822989.566    23822995.816    23822988.357
+      3715.578        2895.256          47.000          40.000
+  -6297193.10943  -4890379.42042  23678020.420    23678026.067    23678020.006
+     -3138.473       -2445.563          47.000          41.000
+ -11972510.21643  -9284716.27342  22770134.085    22770138.417    22770133.575
+     -3120.638       -2431.666          49.000          43.000
+ -16614756.96643 -12901686.51942  22255662.991    22255668.967    22255662.467
+     -2682.134       -2089.974          51.000          44.000
+ -23194642.93843 -18033738.87842  21234921.300    21234924.819    21234920.152
+      2232.268        1739.430          56.000          50.000
+    292398.47143    282871.74742  24899789.114    24899795.146    24899787.557
+     -1920.237       -1496.288          38.000          34.000
+ -11205332.86443  -8719115.31142  23163571.417    23163575.750    23163570.581
+      1802.684        1404.689          50.000          44.000
+ -17175703.25743 -13348578.86942  22046005.207    22046010.390    22046004.757
+      2755.707        2147.304          54.000          47.000
+ 04  2  1 12 40  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18881445.84243 -14708393.25042  21754609.241    21754613.044    21754608.686
+       455.550         354.974          55.000          48.000
+  -5444522.72443  -4222368.23742  23801771.095    23801777.678    23801769.573
+      3717.083        2896.428          46.000          40.000
+  -6203069.01043  -4817036.05342  23695932.001    23695937.102    23695930.845
+     -3137.142       -2444.526          47.000          41.000
+ -11878872.87243  -9211752.16642  22787952.618    22787955.895    22787950.499
+     -3122.136       -2432.833          48.000          43.000
+ -16534196.16343 -12838911.90742  22270993.666    22270997.734    22270992.248
+     -2689.035       -2095.352          51.000          44.000
+ -23261453.50244 -18085799.04842  21222207.946    21222210.726    21222206.698
+      2221.184        1730.793          57.000          50.000
+    350003.02143    327758.40342  24910751.265    24910756.553    24910751.466
+     -1920.998       -1496.881          40.000          34.000
+ -11259440.46643  -8761277.06242  23153276.316    23153280.280    23153274.443
+      1803.977        1405.696          51.000          43.000
+ -17258247.83843 -13412899.28342  22030298.023    22030302.747    22030296.675
+      2746.723        2140.304          54.000          47.000
+ 04  2  1 12 40 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18894858.58043 -14718844.70642  21752056.323    21752060.289    21752055.793
+       439.151         342.196          55.000          48.000
+  -5556061.55943  -4309281.47642  23780547.175    23780552.901    23780545.159
+      3719.298        2898.154          47.000          40.000
+  -6108977.59043  -4743718.14142  23713837.091    23713842.100    23713834.661
+     -3135.162       -2442.983          47.000          40.000
+ -11785177.79643  -9138743.05042  22805782.760    22805784.615    22805779.943
+     -3123.500       -2433.896          49.000          43.000
+ -16453418.09843 -12775968.00642  22286365.137    22286370.240    22286363.640
+     -2695.501       -2100.390          50.000          44.000
+ -23327919.32543 -18137590.59642  21209559.506    21209563.001    21209558.570
+      2210.427        1722.411          56.000          50.000
+    407634.51343    372665.96942  24921721.652    24921724.860    24921718.652
+     -1920.756       -1496.693          41.000          34.000
+ -11313578.41043  -8803462.45342  23142973.071    23142976.648    23142972.731
+      1805.770        1407.094          50.000          44.000
+ -17340513.48543 -13477002.34642  22014643.807    22014648.412    22014642.481
+      2738.173        2133.641          54.000          47.000
+ 04  2  1 12 41  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18907757.18943 -14728895.55842  21749602.251    21749606.080    21749601.598
+       421.275         328.266          56.000          48.000
+  -5667640.43943  -4396225.91842  23759314.512    23759319.660    23759312.452
+      3719.633        2898.415          47.000          40.000
+  -6014923.79143  -4670429.56942  23731735.371    23731740.857    23731733.011
+     -3134.525       -2442.487          46.000          40.000
+ -11691429.32143  -9065692.32042  22823621.282    22823624.990    22823619.903
+     -3126.020       -2435.860          48.000          42.000
+ -16372428.66143 -12712859.40542  22301777.511    22301782.152    22301776.005
+     -2703.172       -2106.368          50.000          44.000
+ -23394039.87744 -18189113.09442  21196977.273    21196980.775    21196976.422
+      2198.139        1712.835          57.000          50.000
+    465291.35543    417593.40242  24932691.848    24932692.848    24932688.920
+     -1922.449       -1498.012          41.000          34.000
+ -11367748.96343  -8845673.24542  23132665.143    23132669.495    23132663.768
+      1806.048        1407.310          50.000          43.000
+ -17422499.24643 -13540887.31842  21999041.540    21999046.556    21999041.246
+      2728.082        2125.778          54.000          47.000
+ 04  2  1 12 41 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18920139.03543 -14738543.72942  21747245.973    21747249.586    21747244.901
+       403.876         314.709          55.000          48.000
+  -5779254.87143  -4483198.07842  23738073.585    23738079.121    23738072.616
+      3720.568        2899.144          46.000          40.000
+  -5920909.23743  -4597171.55942  23749624.766    23749631.032    23749624.593
+     -3133.508       -2441.694          46.000          40.000
+ -11597628.08843  -8992600.51342  22841473.046    22841477.217    22841470.864
+     -3127.724       -2437.187          49.000          43.000
+ -16291229.85643 -12649587.65942  22317229.176    22317233.985    22317227.603
+     -2710.366       -2111.973          50.000          44.000
+ -23459811.50943 -18240363.71642  21184460.719    21184464.764    21184460.007
+      2186.372        1703.666          56.000          50.000
+                  -3220257.96952  24943665.588    24943668.604
+     -1923.397       -1498.751          39.000          32.000
+ -11421950.85243  -8887908.45742  23122351.200    23122354.866    23122348.562
+      1807.036        1408.080          50.000          44.000
+ -17504200.33743 -13604550.47142  21983494.589    21983499.305    21983493.600
+      2718.429        2118.256          54.000          47.000
+ 04  2  1 12 42  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18932001.66543 -14747787.32042  21744988.738    21744992.356    21744988.022
+       387.530         301.971          56.000          48.000
+  -5890900.36643  -4570194.42442  23716826.940    23716834.250    23716826.211
+      3722.598        2900.726          45.000          40.000
+  -5826935.39743  -4523945.27342  23767508.714    23767513.078    23767508.009
+     -3131.028       -2439.762          47.000          41.000
+ -11503774.85643  -8919468.14842  22859330.803    22859335.942    22859329.077
+     -3128.498       -2437.791          48.000          42.000
+ -16209823.45943 -12586154.15342  22332719.609    22332725.875    22332719.321
+     -2716.298       -2116.596          50.000          44.000
+ -23525229.95743 -18291339.12142  21172012.754    21172016.109    21172011.486
+      2175.431        1695.141          56.000          50.000
+  -4145570.72753  -3175286.28642  24954647.782    24954658.427    24954646.094
+     -1923.010       -1498.449          38.000          33.000
+ -11476182.21643  -8930166.62242  23112031.055    23112035.483    23112030.052
+      1808.983        1409.597          50.000          44.000
+ -17585612.25643 -13667988.28842  21968002.697    21968007.546    21968001.119
+      2709.697        2111.452          54.000          47.000
+ 04  2  1 12 42 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18943349.38643 -14756629.67542  21742829.367    21742832.626    21742828.778
+       369.693         288.072          55.000          48.000
+  -6002579.47543  -4657216.99542  23695577.096    23695582.355    23695574.141
+      3723.106        2901.122          47.000          40.000
+  -5733010.67343  -4450757.27142  23785381.714    23785387.134    23785381.229
+     -3129.886       -2438.872          48.000          41.000
+ -11409876.94943  -8846300.98242  22877199.749    22877202.210    22877198.835
+     -3130.603       -2439.431          49.000          42.000
+ -16128218.53243 -12522565.93642  22348248.530    22348253.135    22348248.567
+     -2723.364       -2122.102          50.000          44.000
+ -23590298.11643 -18342041.57442  21159630.835    21159633.812    21159629.397
+      2163.140        1685.564          56.000          50.000
+  -4087832.25453  -3130295.34252  24965636.850    24965643.444    24965636.405
+     -1925.454       -1500.354          37.000          33.000
+ -11530448.61643  -8972452.12242  23101704.660    23101707.545    23101703.161
+      1809.485        1409.988          50.000          44.000
+ -17666737.41243 -13731202.66242  21952564.939    21952569.968    21952563.807
+      2699.348        2103.388          54.000          47.000
+ 04  2  1 12 43  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18954176.50743 -14765066.38442  21740768.407    21740772.495    21740767.705
+       353.008         275.071          55.000          48.000
+  -6114284.40943  -4744259.67542  23674320.867    23674326.882    23674318.108
+      3724.538        2902.237          47.000          40.000
+  -5639133.19243  -4377606.05742  23803245.651    23803251.262    23803244.820
+     -3127.722       -2437.186          47.000          41.000
+ -11315931.75343  -8773096.97742  22895076.739    22895079.317    22895074.600
+     -3131.456       -2440.095          48.000          42.000
+ -16046413.73043 -12458821.96642  22363815.539    22363821.452    22363813.294
+     -2729.473       -2126.862          50.000          43.000
+ -23655008.61244 -18392465.32942  21147316.974    21147319.871    21147315.652
+      2151.765        1676.700          57.000          50.000
+  -4030063.99943  -3085281.26742  24976627.782    24976635.380    24976627.927
+     -1925.335       -1500.261          37.000          34.000
+ -11584745.56643  -9014761.41142  23091372.529    23091376.784    23091371.046
+      1811.109        1411.254          51.000          44.000
+ -17747568.13643 -13794187.61042  21937183.338    21937187.854    21937182.244
+      2690.208        2096.266          54.000          47.000
+ 04  2  1 12 43 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18964481.23343 -14773096.01342  21738807.643    21738811.743    21738807.554
+       334.621         260.744          55.000          48.000
+  -6226011.46943  -4831319.61442  23653059.033    23653065.858    23653057.792
+      3724.260        2902.021          47.000          41.000
+  -5545304.97343  -4304493.24242  23821100.152    23821105.318    23821099.444
+     -3127.010       -2436.631          47.000          41.000
+ -11221940.50543  -8699857.09342  22912963.038    22912966.704    22912962.624
+     -3133.835       -2441.949          49.000          43.000
+ -15964411.79743 -12394924.40442  22379418.926    22379423.960    22379418.530
+     -2736.793       -2132.566          50.000          43.000
+ -23719358.25243 -18442607.89742  21135071.392    21135074.774    21135070.154
+      2138.801        1666.598          56.000          50.000
+  -3972264.44053  -3040242.70452  24987627.116    24987634.098    24987624.105
+     -1927.219       -1501.729          37.000          33.000
+ -11639071.91343  -9057093.60942  23081033.395    23081037.518    23081033.260
+      1811.274        1411.382          50.000          44.000
+ -17828100.12543 -13856939.77342  21921857.873    21921863.249    21921857.283
+      2679.225        2087.708          54.000          47.000
+ 04  2  1 12 44  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18974264.19743 -14780719.09442  21736946.073    21736949.963    21736945.348
+       317.051         247.053          55.000          48.000
+  -6337758.97943  -4918395.47142  23631793.052    23631799.475    23631790.915
+      3724.858        2902.487          46.000          41.000
+  -5451530.54043  -4231422.33042  23838946.539    23838951.742    23838946.163
+     -3125.161       -2435.190          48.000          41.000
+ -11127906.74443  -8626584.06242  22930857.373    22930859.194    22930855.996
+     -3135.492       -2443.240          49.000          43.000
+ -15882217.55043 -12330876.98542  22395061.045    22395066.156    22395060.551
+     -2743.366       -2137.688          50.000          43.000
+ -23783345.89943 -18492468.39042  21122894.902    21122898.078    21122893.811
+      2126.448        1656.972          56.000          50.000
+  -3914434.48653  -2995180.38452  24998635.556    24998640.795    24998634.424
+     -1929.049       -1503.155          40.000          34.000
+ -11693429.02343  -9099449.78042  23070689.381    23070694.845    23070689.068
+      1811.917        1411.883          50.000          44.000
+ -17908332.09343 -13919458.16242  21906590.936    21906595.843    21906590.058
+      2668.906        2079.667          54.000          47.000
+ 04  2  1 12 44 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18983526.81743 -14787936.70442  21735183.631    21735187.116    21735183.279
+       299.633         233.480          56.000          48.000
+  -6449526.29643  -5005486.76142  23610524.326    23610532.047    23610523.263
+      3725.387        2902.899          46.000          41.000
+  -5357814.86243  -4158397.22042  23856778.826    23856784.333    23856778.282
+     -3123.550       -2433.935          47.000          41.000
+ -11033834.82843  -8553281.28842  22948757.653    22948762.649    22948757.708
+     -3136.877       -2444.320          49.000          42.000
+ -15799836.85843 -12266684.29242  22410737.517    22410742.764    22410737.116
+     -2749.723       -2142.641          50.000          43.000
+ -23846971.37243 -18542046.67442  21110787.071    21110790.816    21110786.190
+      2114.305        1647.510          56.000          50.000
+  -3856575.92743  -2950095.87342  25009645.601    25009650.423    25009644.028
+     -1930.516       -1504.298          41.000          35.000
+ -11747819.30743  -9141831.80842  23060339.963    23060344.087    23060338.440
+      1813.085        1412.794          50.000          44.000
+ -17988263.26243 -13981742.15742  21891380.595    21891385.219    21891379.528
+      2658.741        2071.746          54.000          48.000
+ 04  2  1 12 45  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18992264.28543 -14794745.10642  21733520.852    21733524.471    21733519.827
+       283.494         220.904          55.000          48.000
+  -6561306.70243  -5092588.29142  23589253.702    23589261.109    23589251.578
+      3727.265        2904.362          47.000          41.000
+  -5264157.11643  -4085417.23842  23874601.962    23874606.265    23874600.561
+     -3119.669       -2430.911          48.000          41.000
+ -10939722.92343  -8479947.37442  22966667.600    22966670.654    22966665.782
+     -3136.960       -2444.384          49.000          42.000
+ -15717269.45443 -12202346.10442  22426449.997    22426454.905    22426449.346
+     -2754.346       -2146.244          50.000          43.000
+ -23910228.22343 -18591337.71642  21098750.061    21098753.494    21098748.790
+      2103.420        1639.028          56.000          50.000
+  -3798684.15453  -2904985.45852  25020658.896    25020664.421    25020657.421
+     -1929.812       -1503.750          38.000          33.000
+ -11802238.90343  -9184236.66142  23049983.486    23049987.956    23049982.901
+      1815.448        1414.635          50.000          44.000
+ -18067886.81043 -14043786.44042  21876228.293    21876233.694    21876227.432
+      2649.984        2064.923          54.000          48.000
+ 04  2  1 12 45 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19000479.96843 -14801146.92442  21731957.147    21731960.988    21731956.464
+       264.873         206.395          55.000          48.000
+  -6673101.11143  -5179700.73542  23567980.561    23567986.947    23567978.911
+      3726.263        2903.581          48.000          41.000
+  -5170564.22743  -4012487.80542  23892411.364    23892416.941    23892410.557
+     -3118.847       -2430.270          46.000          40.000
+ -10845577.30543  -8406587.19442  22984583.062    22984586.750    22984579.507
+     -3138.978       -2445.957          49.000          42.000
+ -15634522.74043 -12137868.20742  22442196.336    22442200.274    22442195.279
+     -2761.589       -2151.887          50.000          43.000
+ -23973118.10944 -18640342.81542  21086782.551    21086785.708    21086781.586
+      2089.856        1628.459          57.000          50.000
+  -3740763.02443  -2859852.12842  25031683.753    25031688.214    25031680.900
+     -1931.093       -1504.748          42.000          35.000
+ -11856691.65343  -9226667.35642  23039622.676    23039626.019    23039621.961
+      1815.407        1414.603          51.000          44.000
+ -18147203.67143 -14105591.75442  21861134.990    21861140.316    21861134.023
+      2638.484        2055.961          54.000          48.000
+ 04  2  1 12 46  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19008169.26643 -14807138.56242  21730493.878    21730497.874    21730493.154
+       247.293         192.696          55.000          48.000
+  -6784903.19343  -5266819.14742  23546704.477    23546710.459    23546702.264
+      3726.645        2903.879          48.000          41.000
+  -5077035.67643  -3939608.52542  23910208.874    23910216.163    23910208.721
+     -3116.601       -2428.520          46.000          40.000
+ -10751396.19043  -8333199.34942  23002504.185    23002508.353    23002502.271
+     -3140.099       -2446.830          49.000          42.000
+ -15551596.70743 -12073250.57542  22457976.414    22457980.834    22457976.381
+     -2767.252       -2156.300          49.000          43.000
+ -24035634.84744 -18689057.14742  21074885.798    21074889.224    21074884.921
+      2077.468        1618.806          57.000          50.000
+  -3682807.98843  -2814692.42742  25042712.669    25042715.970    25042710.360
+     -1932.495       -1505.840          42.000          36.000
+ -11911174.07343  -9269121.16342  23029255.196    23029258.776    23029253.349
+      1816.438        1415.406          51.000          44.000
+ -18226207.10943 -14167152.83842  21846101.305    21846106.109    21846100.542
+      2627.969        2047.768          54.000          47.000
+ 04  2  1 12 46 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19015331.45043 -14812719.46642  21729131.095    21729135.125    21729130.539
+       230.697         179.764          55.000          48.000
+  -6896709.60943  -5353940.94042  23525428.381    23525435.766    23525426.955
+      3727.464        2904.517          48.000          41.000
+  -4983573.97343  -3866781.32442  23927995.446    23927999.656    23927994.268
+     -3113.395       -2426.022          46.000          40.000
+ -10657181.70743  -8259785.50142  23020432.049    23020436.057    23020432.010
+     -3140.235       -2446.936          48.000          42.000
+ -15468494.68143 -12008495.79842  22473789.615    22473794.872    22473788.005
+     -2771.805       -2159.848          48.000          42.000
+ -24097776.00844 -18737478.82442  21063060.755    21063064.259    21063059.937
+      2065.897        1609.790          57.000          50.000
+  -3624818.49843  -2769505.83742  25053748.027    25053749.073    25053744.541
+     -1932.807       -1506.083          41.000          35.000
+ -11965685.96743  -9311597.91842  23018881.733    23018885.375    23018880.630
+      1818.381        1416.920          51.000          44.000
+ -18304894.25843 -14228467.46942  21831126.796    21831132.118    21831126.114
+      2618.345        2040.269          54.000          47.000
+ 04  2  1 12 47  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19021968.39243 -14817891.08942  21727868.468    21727872.384    21727867.575
+       212.952         165.937          56.000          48.000
+  -7008520.01943  -5441065.85342  23504152.352    23504156.763    23504150.561
+      3727.398        2904.466          48.000          41.000
+  -4890184.82943  -3794010.63542  23945767.224    23945772.254    23945767.580
+     -3111.307       -2424.395          47.000          40.000
+ -10562938.44143  -8186349.21742  23038366.433    23038370.451    23038365.320
+     -3141.518       -2447.936          48.000          42.000
+ -15385222.88443 -11943608.74942  22489635.749    22489641.780    22489634.705
+     -2778.157       -2164.798          49.000          43.000
+ -24159541.72844 -18785607.95042  21051306.992    21051310.546    21051306.216
+      2052.941        1599.694          57.000          50.000
+  -3566796.70743  -2724294.16442  25064786.867    25064792.519    25064782.358
+     -1934.548       -1507.440          38.000          35.000
+ -12020229.90643  -9354099.66642  23008502.294    23008505.530    23008500.328
+      1819.106        1417.485          51.000          45.000
+ -18383264.47643 -14289535.13542  21816213.876    21816218.790    21816213.277
+      2607.512        2031.828          54.000          47.000
+ 04  2  1 12 47 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19028076.54043 -14822650.67942  21726705.810    21726709.453    21726704.987
+       194.740         151.745          55.000          48.000
+  -7120328.51043  -5528189.25842  23482875.972    23482880.885    23482874.882
+      3726.601        2903.845          47.000          41.000
+  -4796868.21543  -3721296.50142  23963525.034    23963531.315    23963524.206
+     -3109.390       -2422.901          46.000          40.000
+ -10468665.50643  -8112889.82442  23056307.092    23056310.120    23056305.518
+     -3143.021       -2449.107          50.000          42.000
+ -15301781.86243 -11878589.82842  22505514.619    22505519.616    22505513.551
+     -2784.219       -2169.521          49.000          42.000
+ -24220926.56843 -18833440.29042  21039625.921    21039629.384    21039624.661
+      2039.740        1589.408          56.000          50.000
+  -3508739.36243  -2679054.83242  25075832.890    25075843.210    25075832.683
+     -1936.283       -1508.792          39.000          35.000
+ -12074803.08743  -9396624.19442  22998117.142    22998120.616    22998116.086
+      1819.547        1417.829          51.000          44.000
+ -18461312.02843 -14350351.37442  21801362.065    21801367.115    21801360.668
+      2596.077        2022.917          54.000          48.000
+ 04  2  1 12 48  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19033656.44243 -14826998.64442  21725643.855    21725647.972    21725643.320
+       177.210         138.086          55.000          48.000
+  -7232133.61543  -5615310.04042  23461599.754    23461606.318    23461598.400
+      3726.804        2904.003          47.000          41.000
+  -4703628.45943  -3648642.20842  23981265.970    23981272.396    23981266.125
+     -3106.523       -2420.667          46.000          40.000
+ -10374366.45643  -8039410.06842  23074251.377    23074255.522    23074250.302
+     -3143.521       -2449.497          49.000          42.000
+ -15218176.78543 -11813443.07142  22521424.389    22521427.933    22521423.647
+     -2789.315       -2173.492          50.000          43.000
+ -24281929.75744 -18880975.23742  21028017.484    21028020.841    21028016.597
+      2027.168        1579.611          57.000          50.000
+  -3450647.46743  -2633788.44742  25086891.509    25086893.556    25086890.106
+     -1936.554       -1509.003          43.000          35.000
+ -12129406.79043  -9439172.51142  22987726.961    22987730.573    22987725.085
+      1820.747        1418.764          51.000          44.000
+ -18539035.31043 -14410914.93642  21786570.993    21786575.955    21786570.164
+      2585.466        2014.649          54.000          47.000
+ 04  2  1 12 48 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19038706.10943 -14830933.42642  21724683.138    21724686.278    21724682.268
+       158.468         123.482          55.000          48.000
+  -7343930.71243  -5702424.55942  23440324.388    23440329.917    23440322.611
+      3725.337        2902.860          47.000          41.000
+  -4610466.93843  -3576048.89842  23998993.534    23999000.548    23998993.605
+     -3104.889       -2419.394          45.000          40.000
+ -10280041.88943  -7965910.45542  23092200.449    23092200.853    23092199.854
+     -3145.556       -2451.082          49.000          42.000
+ -15134409.43043 -11748169.85442  22537364.220    22537369.178    22537364.411
+     -2795.715       -2178.479          49.000          43.000
+ -24342547.10844 -18928209.52642  21016482.704    21016485.793    21016481.301
+      2013.191        1568.720          57.000          51.000
+  -3392518.72743  -2588493.40842  25097951.315    25097957.886    25097949.755
+     -1939.198       -1511.063          42.000          35.000
+ -12184039.86743  -9481743.70342  22977330.728    22977334.015    22977328.919
+      1820.578        1418.632          51.000          45.000
+ -18616430.19743 -14471222.60342  21771843.895    21771848.498    21771842.912
+      2573.382        2005.233          54.000          48.000
+ 04  2  1 12 49  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19043225.27643 -14834454.84342  21723822.679    21723827.020    21723822.064
+       141.943         110.605          55.000          48.000
+  -7455717.18943  -5789530.80342  23419051.913    23419058.525    23419050.239
+      3726.258        2903.578          46.000          41.000
+  -4517386.84743  -3503519.07242  24016709.194    24016714.140    24016706.228
+     -3101.000       -2416.364          45.000          40.000
+ -10185693.90543  -7892392.54542  23110154.250    23110159.782    23110152.999
+     -3145.251       -2450.845          49.000          42.000
+ -15050483.66243 -11682773.21842  22553335.262    22553340.831    22553334.657
+     -2799.853       -2181.704          49.000          43.000
+ -24402776.73344 -18975141.69442  21005021.192    21005024.443    21005020.260
+      2001.263        1559.426          57.000          51.000
+  -3334352.86943  -2543169.43542  25109020.482    25109024.823    25109019.975
+     -1939.314       -1511.154          42.000          35.000
+ -12238702.43843  -9524337.88142  22966928.197    22966931.442    22966925.977
+      1822.692        1420.279          51.000          45.000
+ -18693493.79243 -14531272.12042  21757179.541    21757184.249    21757178.411
+      2563.457        1997.499          55.000          48.000
+ 04  2  1 12 49 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19047214.70843 -14837563.48442  21723064.158    21723067.267    21723063.264
+       124.524          97.032          55.000          48.000
+  -7567491.51843  -5876627.59442  23397782.132    23397789.090    23397780.956
+      3726.033        2903.402          47.000          41.000
+  -4424392.49143  -3431056.03342  24034404.333    24034409.400    24034404.008
+     -3098.164       -2414.154          45.000          40.000
+ -10091326.16543  -7818859.26442  23128112.300    23128114.108    23128111.604
+     -3145.491       -2451.032          49.000          42.000
+ -14966404.70843 -11617257.20342  22569335.272    22569338.546    22569335.367
+     -2804.787       -2185.548          50.000          43.000
+ -24462617.84944 -19021771.12942  20993633.467    20993636.972    20993632.465
+      1988.481        1549.466          57.000          51.000
+  -3276151.44443  -2497817.72242  25120094.895    25120099.691    25120094.837
+     -1939.871       -1511.588          41.000          34.000
+ -12293395.38843  -9566955.73142  22956519.913    22956523.683    22956518.470
+      1824.009        1421.306          51.000          45.000
+ -18770224.68243 -14591062.38742  21742577.504    21742582.635    21742576.135
+      2552.524        1988.980          54.000          48.000
+ 04  2  1 12 50  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19050672.71743 -14840258.02542  21722405.509    21722409.573    21722404.825
+       105.983          82.584          55.000          48.000
+  -7679249.31343  -5963711.49242  23376516.081    23376522.061    23376514.121
+      3724.650        2902.325          48.000          41.000
+  -4331485.70143  -3358661.22342  24052083.436    24052089.846    24052081.843
+     -3095.458       -2412.045          45.000          40.000
+  -9996939.48443  -7745311.23442  23146073.273    23146076.349    23146070.602
+     -3146.749       -2452.012          49.000          42.000
+ -14882174.75743 -11551623.54642  22585363.668    22585367.298    22585363.872
+     -2810.397       -2189.920          49.000          43.000
+ -24522066.65344 -19068094.86642  20982320.923    20982324.222    20982319.812
+      1974.647        1538.686          57.000          51.000
+  -3217912.37443  -2452436.69142  25131179.459    25131181.107    25131178.740
+     -1942.300       -1513.480          43.000          36.000
+ -12348117.84843  -9609596.58842  22946106.572    22946110.265    22946105.693
+      1824.267        1421.507          51.000          45.000
+ -18846618.86943 -14650590.29242  21728039.821    21728044.890    21728039.516
+      2540.500        1979.610          55.000          48.000
+ 04  2  1 12 50 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19053598.38743 -14842537.74442  21721849.400    21721852.764    21721848.345
+        88.183          68.714          56.000          48.000
+  -7790987.39543  -6050780.01942  23355252.345    23355259.092    23355250.444
+      3723.838        2901.692          47.000          41.000
+  -4238668.78443  -3286336.43942  24069745.885    24069751.624    24069744.154
+     -3093.142       -2410.240          45.000          40.000
+  -9902535.38343  -7671749.61442  23164037.652    23164042.178    23164037.128
+     -3147.642       -2452.708          48.000          42.000
+ -14797796.90543 -11485874.62642  22601420.400    22601424.729    22601420.016
+     -2815.750       -2194.091          49.000          42.000
+ -24581120.14744 -19114110.56742  20971083.466    20971086.937    20971082.258
+      1961.341        1528.318          57.000          51.000
+  -3159634.86643  -2407025.64642  25142267.870    25142274.901    25142269.424
+     -1944.121       -1514.899          42.000          36.000
+ -12402869.55243  -9652260.21142  22935688.397    22935691.836    22935686.812
+      1825.018        1422.092          51.000          44.000
+ -18922672.79643 -14709853.06442  21713567.943    21713572.736    21713566.766
+      2528.909        1970.578          55.000          48.000
+ 04  2  1 12 51  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19055990.19843 -14844401.48342  21721393.547    21721397.637    21721393.220
+        71.021          55.341          55.000          48.000
+  -7902701.57343  -6137829.95442  23333993.231    23333999.940    23333992.136
+      3723.501        2901.429          47.000          41.000
+  -4145943.65643  -3214083.18842  24087390.065    24087397.794    24087389.099
+     -3089.072       -2407.069          45.000          40.000
+  -9808115.00143  -7598175.29842  23182005.522    23182010.184    23182003.688
+     -3147.466       -2452.571          48.000          42.000
+ -14713273.67843 -11420012.44042  22617504.336    22617509.787    22617503.520
+     -2819.684       -2197.156          49.000          43.000
+ -24639775.20844 -19159815.80842  20959921.822    20959924.989    20959920.673
+      1948.625        1518.409          57.000          51.000
+  -3101317.25043  -2361583.49142  25153365.912    25153372.776    25153364.215
+     -1944.402       -1515.118          41.000          36.000
+ -12457649.20043  -9694945.62742  22925264.374    22925266.837    22925263.086
+      1826.609        1423.332          52.000          45.000
+ -18998382.86043 -14768847.87942  21699160.413    21699165.729    21699159.592
+      2518.002        1962.079          55.000          48.000
+ 04  2  1 12 51 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19057846.71143 -14845848.08942  21721040.649    21721044.368    21721039.979
+        52.349          40.791          55.000          48.000
+  -8014388.03143  -6224858.26342  23312739.687    23312747.092    23312739.308
+      3721.470        2899.847          46.000          41.000
+  -4053312.46343  -3141903.13242  24105017.358    24105024.001    24105016.269
+     -3086.866       -2405.350          45.000          40.000
+  -9713679.27643  -7524589.03942  23199976.209    23199980.781    23199974.610
+     -3148.969       -2453.742          48.000          41.000
+ -14628607.92443 -11354039.17642  22633615.571    22633620.697    22633615.465
+     -2825.163       -2201.426          49.000          43.000
+ -24698028.65544 -19205208.10542  20948836.258    20948839.767    20948835.588
+      1934.461        1507.372          57.000          51.000
+  -3042958.32643  -2316109.08642  25164470.249    25164476.462    25164468.772
+     -1946.490       -1516.745          41.000          34.000
+ -12512455.92443  -9737652.13542  22914833.951    22914837.743    22914832.525
+      1826.632        1423.350          51.000          45.000
+ -19073744.87143 -14827571.49242  21684819.090    21684824.168    21684818.539
+      2505.584        1952.403          55.000          48.000
+ 04  2  1 12 52  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19059172.82743 -14846881.41642  21720788.361    21720792.131    21720787.574
+        35.433          27.610          55.000          48.000
+  -8126049.07843  -6311866.76742  23291492.621    23291499.448    23291490.474
+      3721.634        2899.974          47.000          41.000
+  -3960783.11443  -3069802.44342  24122627.268    24122632.050    24122626.131
+     -3082.816       -2402.194          47.000          40.000
+  -9619235.67743  -7450996.66342  23217948.934    23217952.378    23217946.503
+     -3148.109       -2453.072          48.000          42.000
+ -14543808.42143 -11287961.70542  22649753.782    22649757.173    22649753.337
+     -2828.850       -2204.299          51.000          43.000
+ -24755883.47144 -19250289.77342  20937827.209    20937830.296    20937825.966
+      1921.907        1497.590          57.000          51.000
+  -2984563.06443  -2270606.28842  25175582.604    25175590.242    25175581.386
+     -1947.000       -1517.143          41.000          34.000
+ -12567294.96443  -9780383.83142  22904399.199    22904402.581    22904396.946
+      1828.659        1424.929          51.000          45.000
+ -19148761.64543 -14886026.08742  21670544.270    21670549.121    21670543.532
+      2494.801        1944.001          55.000          48.000
+ 04  2  1 12 52 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19059960.81643 -14847495.41842  21720638.364    21720642.316    21720637.865
+        16.372          12.757          55.000          48.000
+  -8237674.27943  -6398847.34342  23270250.940    23270257.765    23270249.436
+      3719.184        2898.065          47.000          41.000
+  -3868351.22843  -2997777.70242  24140214.457    24140221.112    24140213.747
+     -3080.286       -2400.223          45.000          40.000
+  -9524778.74243  -7377393.86642  23235922.386    23235928.008    23235920.086
+     -3149.907       -2454.473          48.000          42.000
+ -14458871.32843 -11221777.01342  22665915.667    22665921.025    22665914.849
+     -2834.337       -2208.574          49.000          43.000
+ -24813330.05544 -19295053.34242  20926895.691    20926898.579    20926894.457
+      1907.050        1486.013          57.000          51.000
+  -2926123.74143  -2225069.18042  25186702.404    25186707.906    25186702.701
+     -1949.639       -1519.199          41.000          34.000
+ -12622158.80243  -9823134.83542  22893957.812    22893962.027    22893957.601
+      1828.190        1424.564          51.000          45.000
+ -19223423.04743 -14944203.76242  21656336.320    21656341.749    21656335.750
+      2481.757        1933.837          55.000          48.000
+ 04  2  1 12 53  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19060215.50643 -14847693.86742  21720589.847    21720593.672    21720589.438
+         -.712           -.555          55.000          48.000
+  -8349265.85943  -6485801.73142  23249014.937    23249021.434    23249013.042
+      3718.809        2897.773          47.000          40.000
+  -3776024.90143  -2925835.19842  24157785.372    24157790.529    24157783.804
+     -3075.865       -2396.778          47.000          40.000
+  -9430315.67043  -7303786.29342  23253897.362    23253903.087    23253896.094
+     -3149.451       -2454.118          48.000          42.000
+ -14373805.37143 -11155491.91442  22682102.341    22682107.818    22682102.013
+     -2837.834       -2211.299          49.000          43.000
+ -24870371.16644 -19339500.96342  20916040.587    20916044.167    20916039.704
+      1894.220        1476.016          57.000          51.000
+  -2867645.00043  -2179501.40142  25197832.668    25197837.200    25197830.407
+     -1950.797       -1520.101          41.000          35.000
+ -12677052.48443  -9865909.11042  22883511.982    22883516.210    22883511.898
+      1829.970        1425.951          51.000          45.000
+ -19297731.17743 -15002106.15442  21642196.766    21642201.323    21642195.569
+      2470.739        1925.251          55.000          48.000
+ 04  2  1 12 53 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19059929.85343 -14847471.26342  21720644.325    21720647.660    21720643.322
+       -18.656         -14.537          55.000          48.000
+  -8460813.89843  -6572722.18442  23227788.852    23227795.296    23227786.867
+      3717.298        2896.596          47.000          41.000
+  -3683800.19643  -2853971.90242  24175334.234    24175341.515    24175333.659
+     -3072.578       -2394.217          47.000          41.000
+  -9335841.69743  -7230170.21142  23271874.733    23271879.670    23271872.470
+     -3149.279       -2453.984          46.000          41.000
+ -14288607.26143 -11089103.83442  22698315.533    22698320.924    22698315.415
+     -2842.207       -2214.707          49.000          43.000
+ -24926997.91944 -19383625.69842  20905265.158    20905268.327    20905264.004
+      1880.514        1465.335          57.000          51.000
+  -2809119.75143  -2133897.30542  25208969.982    25208972.925    25208966.266
+     -1951.701       -1520.806          42.000          34.000
+ -12731969.07143  -9908701.22442  22873062.035    22873065.260    22873061.063
+      1830.835        1426.625          51.000          45.000
+ -19371676.46043 -15059725.82442  21628125.050    21628129.526    21628124.358
+      2458.687        1915.860          55.000          48.000
+ 04  2  1 12 54  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19059112.08043 -14846834.02342  21720799.378    21720803.352    21720798.822
+       -35.787         -27.886          55.000          48.000
+  -8572324.10743  -6659613.15642  23206568.727    23206574.820    23206566.216
+      3716.442        2895.929          48.000          41.000
+  -3591688.70243  -2782196.83442  24192863.594    24192869.931    24192862.220
+     -3068.214       -2390.816          47.000          41.000
+  -9241367.57843  -7156554.03342  23289853.644    23289857.879    23289851.965
+     -3149.038       -2453.796          47.000          42.000
+ -14203289.51243 -11022622.54142  22714550.206    22714556.679    22714550.727
+     -2845.520       -2217.288          48.000          42.000
+ -24983216.71844 -19427432.55642  20894566.932    20894570.307    20894565.904
+      1867.494        1455.190          57.000          51.000
+  -2750556.09143  -2088263.32842  25220115.687    25220120.789    25220117.810
+     -1952.404       -1521.354          41.000          34.000
+ -12786918.10143  -9951518.61442  22862606.104    22862609.252    22862604.432
+      1832.351        1427.806          51.000          45.000
+ -19445264.89243 -15117067.43542  21614121.257    21614126.093    21614120.490
+      2447.216        1906.922          55.000          48.000
+ 04  2  1 12 54 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19057755.89543 -14845777.23842  21721057.643    21721061.860    21721056.907
+       -54.635         -42.573          55.000          48.000
+  -8683787.30743  -6746467.51442  23185358.599    23185363.401    23185356.631
+      3714.197        2894.179          48.000          41.000
+  -3499686.94843  -2710507.27142  24210369.838    24210376.259    24210368.812
+     -3065.410       -2388.631          46.000          41.000
+  -9146888.93743  -7082934.31842  23307833.340    23307836.903    23307830.739
+     -3149.753       -2454.353          48.000          42.000
+ -14117849.20843 -10956045.74342  22730809.527    22730815.290    22730808.437
+     -2850.484       -2221.156          47.000          42.000
+ -25039019.01344 -19470914.86242  20883948.581    20883951.673    20883947.374
+      1852.686        1443.651          57.000          51.000
+  -2691947.48143  -2042594.32242  25231265.421    25231270.467    25231266.257
+     -1955.186       -1523.521          41.000          34.000
+ -12841892.49643  -9994355.78542  22852144.192    22852147.113    22852143.184
+      1832.568        1427.975          51.000          45.000
+ -19518487.62543 -15174124.07842  21600187.827    21600192.455    21600186.783
+      2434.216        1896.792          55.000          48.000
+ 04  2  1 12 55  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19055862.34743 -14844301.72642  21721418.239    21721422.059    21721417.143
+       -72.385         -56.404          55.000          48.000
+  -8795202.06343  -6833284.12542  23164156.259    23164163.691    23164155.447
+      3712.475        2892.838          49.000          42.000
+  -3407799.33043  -2638906.64642  24227856.088    24227861.937    24227854.509
+     -3061.351       -2385.468          46.000          41.000
+  -9052409.38143  -7009313.89242  23325811.391    23325815.273    23325809.791
+     -3149.628       -2454.255          47.000          41.000
+ -14032291.59843 -10889377.54942  22747091.675    22747097.278    22747091.176
+     -2854.086       -2223.963          48.000          42.000
+ -25094404.04744 -19514072.03442  20873408.654    20873411.965    20873407.593
+      1838.927        1432.930          57.000          51.000
+  -2633294.98243  -1996891.13742  25242425.207    25242428.650    25242425.239
+     -1956.105       -1524.238          38.000          33.000
+ -12896894.07643 -10037214.12642  22841678.420    22841681.414    22841677.576
+      1833.521        1428.718          51.000          45.000
+ -19591343.50043 -15230894.85642  21586323.920    21586328.705    21586322.768
+      2422.101        1887.351          55.000          48.000
+ 04  2  1 12 55 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19053430.50143 -14842406.77542  21721880.780    21721884.952    21721880.043
+       -90.003         -70.132          55.000          48.000
+  -8906564.47143  -6920059.95142  23142963.314    23142969.245    23142962.717
+      3711.153        2891.808          48.000          42.000
+  -3316027.85243  -2567396.52442  24245319.854    24245325.566    24245318.507
+     -3057.114       -2382.167          47.000          41.000
+  -8957929.97243  -6935693.58242  23343789.526    23343794.808    23343788.189
+     -3149.650       -2454.273          47.000          41.000
+ -13946619.54643 -10822620.16942  22763393.129    22763399.255    22763392.369
+     -2857.719       -2226.794          47.000          42.000
+ -25149368.76044 -19556901.69342  20862949.556    20862952.437    20862948.408
+      1825.000        1422.078          57.000          51.000
+  -2574597.25143  -1951152.63942  25253598.562    25253605.701    25253598.225
+     -1957.044       -1524.969          40.000          34.000
+ -12951921.66943 -10080092.74142  22831206.855    22831210.687    22831205.193
+      1834.706        1429.641          51.000          45.000
+ -19663828.75843 -15287376.84242  21572529.947    21572534.933    21572529.160
+      2409.865        1877.817          55.000          49.000
+ 04  2  1 12 56  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19050459.84543 -14840091.96042  21722446.324    21722450.124    21722445.800
+      -107.541         -83.798          55.000          48.000
+  -9017870.94143  -7006792.18542  23121783.360    23121789.754    23121781.801
+      3709.732        2890.700          49.000          42.000
+  -3224375.10343  -2495978.93042  24262760.572    24262769.000    24262759.063
+     -3052.623       -2378.667          47.000          41.000
+  -8863452.40043  -6862074.72042  23361767.902    23361771.771    23361767.515
+     -3148.656       -2453.498          47.000          40.000
+ -13860836.03743 -10755775.95642  22779717.955    22779723.317    22779717.024
+     -2860.798       -2229.193          48.000          42.000
+ -25203910.89944 -19599402.06142  20852569.840    20852573.560    20852569.361
+      1811.492        1411.552          57.000          51.000
+  -2515853.91543  -1905378.68042  25264777.293    25264777.558    25264775.871
+     -1958.384       -1526.013          42.000          34.000
+ -13006975.02843 -10122991.44742  22820730.460    22820733.960    22820728.801
+      1835.987        1430.639          51.000          45.000
+ -19735939.93543 -15343567.33542  21558808.047    21558813.045    21558806.915
+      2397.913        1868.504          56.000          49.000
+ 04  2  1 12 56 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19046951.53943 -14837358.20842  21723113.623    21723117.740    21723113.155
+      -126.139         -98.290          55.000          48.000
+  -9129119.90843  -7093479.61642  23100613.127    23100620.044    23100611.920
+      3706.928        2888.515          49.000          42.000
+  -3132845.15343  -2424657.02542  24280178.668    24280185.455    24280177.589
+     -3049.084       -2375.910          47.000          41.000
+  -8768979.88343  -6788459.78742  23379745.865    23379751.033    23379744.293
+     -3148.842       -2453.643          47.000          41.000
+ -13774946.14243 -10688848.82442  22796063.056    22796068.018    22796062.022
+     -2864.910       -2232.397          49.000          42.000
+ -25258029.64344 -19641572.51542  20842271.919    20842274.995    20842270.874
+      1796.764        1400.076          57.000          51.000
+  -2457065.60343  -1859569.65542  25275963.834    25275965.851    25275962.734
+     -1960.677       -1527.800          41.000          35.000
+ -13062055.15843 -10165911.01842  22810249.284    22810253.186    22810248.200
+      1836.135        1430.755          52.000          45.000
+ -19807676.03943 -15399465.56642  21545157.305    21545161.682    21545156.305
+      2384.750        1858.247          56.000          49.000
+ 04  2  1 12 57  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19042904.46843 -14834204.63542  21723883.622    21723887.451    21723883.482
+      -144.154        -112.328          55.000          48.000
+  -9240307.64043  -7180119.33442  23079455.179    23079461.284    23079454.716
+      3704.951        2886.975          48.000          42.000
+  -3041440.29443  -2353432.58442  24297571.595    24297577.333    24297570.532
+     -3044.953       -2372.691          46.000          40.000
+  -8674513.61143  -6714849.71542  23397721.542    23397727.034    23397721.224
+     -3149.268       -2453.975          46.000          40.000
+ -13688952.51443 -10621840.86642  22812425.903    22812431.588    22812425.909
+     -2868.253       -2235.002          48.000          42.000
+ -25311721.89144 -19683410.63242  20832054.686    20832057.831    20832053.564
+      1782.420        1388.899          57.000          51.000
+  -2398231.47743  -1813724.97342  25287157.613    25287164.415    25287153.520
+     -1962.021       -1528.847          40.000          34.000
+ -13117160.96643 -10208850.59742  22799763.247    22799766.001    22799761.533
+      1837.136        1431.535          52.000          45.000
+ -19879033.32343 -15455068.61442  21531578.266    21531582.517    21531577.435
+      2371.984        1848.299          56.000          49.000
+ 04  2  1 12 57 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19038317.01943 -14830629.99142  21724757.381    21724760.407    21724756.588
+      -162.040        -126.265          55.000          48.000
+  -9351429.20443  -7266707.47942  23058308.944    23058316.260    23058308.539
+      3702.751        2885.261          48.000          42.000
+  -2950161.26943  -2282306.22042  24314942.346    24314949.716    24314942.202
+     -3040.704       -2369.380          47.000          41.000
+  -8580053.67143  -6641244.59042  23415697.877    23415701.761    23415695.850
+     -3148.573       -2453.433          47.000          41.000
+ -13602857.09243 -10554753.58642  22828810.151    22828815.524    22828809.699
+     -2871.724       -2237.707          49.000          42.000
+ -25364983.43644 -19724913.14342  20821919.310    20821922.850    20821918.284
+      1768.033        1377.688          57.000          51.000
+  -2339349.30043  -1767842.86442  25298364.322    25298371.184    25298361.627
+     -1963.775       -1530.214          40.000          35.000
+ -13172291.03443 -10251809.07742  22789272.096    22789275.980    22789270.595
+      1837.907        1432.135          52.000          45.000
+ -19950007.58243 -15510373.19742  21518072.276    21518076.943    21518071.367
+      2359.250        1838.377          55.000          49.000
+ 04  2  1 12 58  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19033189.88843 -14826634.81542  21725732.213    21725736.172    21725731.900
+      -180.368        -140.546          55.000          48.000
+  -9462482.42843  -7353242.38742  23037177.475    23037181.478    23037175.328
+      3700.362        2883.399          49.000          42.000
+  -2859011.64943  -2211280.69642  24332287.254    24332294.005    24332286.140
+     -3036.674       -2366.239          46.000          40.000
+  -8485602.89043  -6567646.58142  23433672.102    23433673.950    23433669.197
+     -3148.046       -2453.023          48.000          40.000
+ -13516664.23443 -10487590.38742  22845211.488    22845216.816    22845211.737
+     -2874.948       -2240.219          48.000          42.000
+ -25417812.99144 -19766079.03242  20811866.096    20811869.643    20811865.208
+      1753.432        1366.311          57.000          51.000
+  -2280419.50543  -1721923.66942  25309578.312    25309581.305    25309578.258
+     -1965.558       -1531.604          41.000          34.000
+ -13227445.82243 -10294786.82242  22778776.979    22778779.508    22778775.346
+      1838.594        1432.671          52.000          45.000
+ -20020596.71743 -15565377.68742  21504639.299    21504644.408    21504638.073
+      2346.212        1828.217          55.000          49.000
+ 04  2  1 12 58 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19027524.18243 -14822219.96442  21726810.730    21726814.292    21726809.674
+      -197.194        -153.658          55.000          48.000
+  -9573465.49243  -7439722.60942  23016057.066    23016063.175    23016055.442
+      3698.514        2881.959          48.000          42.000
+  -2767995.72743  -2140359.36442  24349607.004    24349613.802    24349607.143
+     -3031.032       -2361.843          47.000          40.000
+  -8391164.47043  -6494058.22142  23451642.481    23451644.950    23451641.459
+     -3147.016       -2452.220          47.000          40.000
+ -13430378.69043 -10420354.95842  22861633.285    22861637.953    22861632.477
+     -2877.009       -2241.825          49.000          42.000
+ -25470209.93144 -19806907.82042  20801895.635    20801898.636    20801894.309
+      1739.899        1355.765          57.000          51.000
+  -2221443.01343  -1675968.00442  25320801.728    25320805.045    25320799.174
+     -1966.215       -1532.115          43.000          35.000
+ -13282626.78243 -10337784.95742  22768275.066    22768278.898    22768274.115
+      1840.298        1433.998          51.000          45.000
+ -20090799.58643 -15620081.18842  21491280.241    21491284.455    21491278.969
+      2334.183        1818.844          55.000          49.000
+ 04  2  1 12 59  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19021316.17743 -14817382.54642  21727992.039    21727995.870    21727991.562
+      -216.324        -168.564          55.000          48.000
+  -9684371.54243  -7526142.83842  22994951.259    22994959.056    22994949.401
+      3694.992        2879.215          48.000          42.000
+  -2677112.46843  -2069541.36442  24366902.400    24366907.878    24366900.648
+     -3027.606       -2359.173          47.000          40.000
+  -8296736.57243  -6420478.02042  23469612.077    23469614.953    23469610.788
+     -3147.528       -2452.619          47.000          40.000
+ -13344000.26443 -10353047.16142  22878070.339    22878074.756    22878067.591
+     -2881.162       -2245.061          48.000          42.000
+ -25522168.40344 -19847394.94142  20792007.967    20792011.225    20792006.991
+      1724.119        1343.469          57.000          51.000
+  -2162415.51143  -1629972.59242  25332033.644    25332037.837    25332032.792
+     -1968.817       -1534.143          43.000          36.000
+ -13337829.75543 -10380800.24042  22757769.999    22757773.995    22757769.012
+      1840.012        1433.776          51.000          45.000
+ -20160609.59243 -15674478.56742  21477995.449    21478000.434    21477994.628
+      2320.050        1807.831          55.000          49.000
+ 04  2  1 12 59 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19014568.26943 -14812124.42842  21729275.781    21729279.615    21729275.251
+      -234.115        -182.427          55.000          48.000
+  -9795200.04543  -7612502.63942  22973862.516    22973868.104    22973860.522
+      3692.580        2877.335          48.000          42.000
+  -2586367.07643  -1998830.81142  24384170.347    24384176.655    24384168.195
+     -3022.845       -2355.464          47.000          40.000
+  -8202323.37943  -6346909.33342  23487577.261    23487581.462    23487576.312
+     -3147.316       -2452.454          46.000          40.000
+ -13257534.88443 -10285671.63042  22894522.391    22894529.082    22894521.173
+     -2883.677       -2247.021          47.000          42.000
+ -25573688.57244 -19887540.53142  20782204.345    20782207.068    20782203.123
+      1709.789        1332.303          57.000          51.000
+  -2103339.41243  -1583939.34742  25343273.919    25343281.466    25343271.987
+     -1969.819       -1534.924          39.000          35.000
+ -13393057.05943 -10423834.49142  22747261.746    22747264.895    22747260.358
+      1841.151        1434.663          52.000          45.000
+ -20230026.54943 -15728569.67642  21464786.418    21464790.918    21464785.197
+      2307.130        1797.764          56.000          49.000
+ 04  2  1 13  0  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -19007278.77543 -14806444.29742  21730663.732    21730666.842    21730663.178
+      -251.758        -196.175          55.000          48.000
+  -9905946.14143  -7698798.23042  22952788.145    22952793.716    22952786.238
+      3690.450        2875.675          48.000          42.000
+  -2495760.57943  -1928228.47342  24401413.286    24401418.284    24401412.578
+     -3017.578       -2351.359          47.000          40.000
+  -8107925.20643  -6273352.33442  23505539.747    23505545.283    23505539.307
+     -3146.302       -2451.664          46.000          40.000
+ -13170984.44043 -10218229.79342  22910993.207    22910998.922    22910992.305
+     -2886.116       -2248.921          47.000          42.000
+ -25624766.70544 -19927341.67142  20772483.930    20772487.429    20772483.103
+      1695.403        1321.093          57.000          51.000
+  -2044212.24843  -1537866.28542  25354526.370    25354534.471    25354525.505
+     -1971.343       -1536.111          40.000          35.000
+ -13448306.84143 -10466886.25042  22736747.496    22736751.119    22736746.478
+      1842.303        1435.561          51.000          45.000
+ -20299046.13443 -15782351.13642  21451651.999    21451656.820    21451651.224
+      2294.248        1787.726          56.000          49.000
+ 04  2  1 13  0 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18999448.34643 -14800342.65342  21732153.176    21732157.143    21732152.291
+      -269.817        -210.247          55.000          48.000
+ -10016607.23843  -7785027.56942  22931729.555    22931735.182    22931727.370
+      3687.109        2873.072          48.000          43.000
+  -2405296.30543  -1857736.96842  24418627.400    24418632.511    24418627.441
+     -3013.041       -2347.824          47.000          39.000
+  -8013544.59343  -6199809.05342  23523500.889    23523505.855    23523498.898
+     -3145.446       -2450.997          46.000          40.000
+ -13084353.19643 -10150724.99942  22927479.620    22927484.346    22927478.088
+     -2888.709       -2250.942          48.000          42.000
+ -25675401.45944 -19966797.32342  20762848.631    20762851.946    20762847.707
+      1680.680        1309.621          57.000          51.000
+  -1985034.59453  -1491753.88352  25365785.122    25365794.183    25365785.450
+     -1973.416       -1537.727          37.000          34.000
+ -13503579.81443 -10509956.08842  22726229.329    22726233.996    22726228.354
+      1843.098        1436.180          51.000          46.000
+ -20367666.40343 -15835821.44142  21438593.634    21438599.066    21438593.309
+      2280.879        1777.308          55.000          49.000
+ 04  2  1 13  1  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18991076.40743 -14793819.05842  21733746.508    21733750.004    21733746.064
+      -288.579        -224.867          55.000          48.000
+ -10127179.54343  -7871187.73042  22910688.508    22910693.339    22910686.586
+      3683.802        2870.495          48.000          42.000
+  -2314976.35343  -1787357.92642  24435814.132    24435820.656    24435813.771
+     -3008.597       -2344.361          46.000          39.000
+  -7919182.52543  -6126280.18942  23541456.162    23541462.078    23541455.725
+     -3145.385       -2450.949          45.000          40.000
+ -12997643.81143 -10083159.31142  22943979.300    22943984.986    22943977.646
+     -2891.999       -2253.506          48.000          42.000
+ -25725589.91044 -20005905.20942  20753298.054    20753301.245    20753297.230
+      1664.995        1297.399          57.000          51.000
+  -1925805.10843  -1445601.11742  25377059.068    25377064.719    25377059.994
+     -1975.824       -1539.603          40.000          35.000
+ -13558874.85743 -10553043.11642  22715706.922    22715711.150    22715705.872
+      1843.071        1436.159          52.000          46.000
+ -20435883.78843 -15888977.81742  21425613.225    21425617.612    21425611.973
+      2266.733        1766.285          56.000          49.000
+ 04  2  1 13  1 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18982161.87743 -14786872.65442  21735442.651    21735446.630    21735442.142
+      -306.484        -238.819          55.000          48.000
+ -10237659.17043  -7957275.65642  22889665.278    22889670.146    22889663.869
+      3680.901        2868.235          49.000          43.000
+  -2224802.38843  -1717092.64042  24452972.272    24452981.450    24452970.363
+     -3003.517       -2340.403          45.000          39.000
+  -7824840.08043  -6052766.62842  23559410.162    23559413.903    23559409.067
+     -3144.580       -2450.322          47.000          40.000
+ -12910858.95843 -10015534.83842  22960493.850    22960498.144    22960491.914
+     -2894.268       -2255.274          48.000          42.000
+ -25775328.93344 -20044662.88542  20743832.934    20743836.485    20743832.123
+      1650.205        1285.874          57.000          51.000
+  -1866522.72043  -1399407.14442  25388337.222    25388346.300    25388337.652
+     -1976.799       -1540.363          38.000          35.000
+ -13614190.96343 -10596146.54742  22705180.608    22705184.429    22705179.172
+      1843.903        1436.807          51.000          45.000
+ -20503694.92643 -15941817.64242  21412708.595    21412713.485    21412707.446
+      2253.310        1755.826          56.000          49.000
+ 04  2  1 13  2  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18972706.95343 -14779505.18142  21737242.130    21737245.999    21737241.537
+      -324.404        -252.782          55.000          48.000
+ -10348045.08143  -8043290.55142  22868660.285    22868664.350    22868658.199
+      3678.090        2866.044          49.000          43.000
+  -2134779.53643  -1646945.08042  24470104.911    24470111.184    24470103.665
+     -2998.449       -2336.454          46.000          39.000
+  -7730520.84343  -5979271.17742  23577358.866    23577364.734    23577356.710
+     -3143.688       -2449.627          47.000          41.000
+ -12824004.09543  -9947855.79242  22977020.605    22977025.863    22977020.992
+     -2896.559       -2257.059          47.000          41.000
+ -25824618.44344 -20083070.29742  20734453.840    20734456.973    20734452.769
+      1635.095        1274.100          57.000          51.000
+  -1807188.87843  -1353173.10842  25399629.746    25399633.999    25399630.269
+     -1979.199       -1542.233          40.000          34.000
+ -13669529.78543 -10639267.72042  22694649.509    22694653.597    22694648.129
+      1844.743        1437.462          51.000          45.000
+ -20571099.21843 -15994340.43842  21399881.978    21399887.113    21399880.945
+      2239.717        1745.234          56.000          49.000
+ 04  2  1 13  2 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18962709.54043 -14771714.96942  21739144.126    21739148.441    21739143.578
+      -342.663        -267.010          55.000          48.000
+ -10458331.39143  -8129227.85242  22847671.178    22847677.835    22847670.352
+      3674.541        2863.279          48.000          43.000
+  -2044907.83143  -1576915.30842  24487206.457    24487214.704    24487205.647
+     -2993.451       -2332.559          45.000          38.000
+  -7636224.40943  -5905793.47842  23595301.766    23595307.054    23595301.426
+     -3143.097       -2449.166          46.000          40.000
+ -12737080.37643  -9880123.11342  22993562.595    22993567.651    22993561.282
+     -2898.814       -2258.816          48.000          41.000
+ -25873454.17844 -20121124.11542  20725160.351    20725163.576    20725159.352
+      1619.977        1262.320          57.000          51.000
+  -1747801.11643  -1306896.98242  25410932.226    25410936.908    25410930.681
+     -1980.576       -1543.306          41.000          34.000
+ -13724888.57243 -10682404.41542  22684115.122    22684120.023    22684114.661
+      1845.283        1437.883          51.000          45.000
+ -20638091.74643 -16046542.37842  21387133.562    21387138.503    21387132.602
+      2225.912        1734.477          56.000          49.000
+ 04  2  1 13  3  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18952171.65543 -14763503.62842  21741149.629    21741153.488    21741149.133
+      -360.851        -281.182          55.000          48.000
+ -10568517.36443  -8215086.96142  22826704.505    22826710.302    22826703.000
+      3670.754        2860.328          48.000          43.000
+  -1955191.81943  -1507006.87442  24504280.049    24504287.370    24504278.175
+     -2988.597       -2328.777          45.000          38.000
+  -7541954.55743  -5832336.49642  23613242.241    23613246.032    23613240.434
+     -3142.446       -2448.659          47.000          40.000
+ -12650093.17443  -9812340.94442  23010115.638    23010120.910    23010115.368
+     -2901.272       -2260.731          48.000          41.000
+ -25921836.22844 -20158824.41042  20715953.648    20715956.809    20715952.604
+      1604.602        1250.339          57.000          51.000
+  -1688360.79643  -1260579.89442  25422244.090    25422247.038    25422242.260
+     -1982.790       -1545.031          41.000          34.000
+ -13780269.31343 -10725558.22942  22673577.155    22673580.435    22673575.312
+      1845.821        1438.302          51.000          45.000
+ -20704671.51843 -16098422.69042  21374463.914    21374468.870    21374462.999
+      2211.856        1723.524          56.000          49.000
+ 04  2  1 13  3 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18941093.76443 -14754871.49942  21743257.794    21743261.575    21743257.339
+      -378.228        -294.723          55.000          48.000
+ -10678599.78243  -8300865.38342  22805757.005    22805762.229    22805756.112
+      3667.697        2857.946          50.000          43.000
+  -1865634.58543  -1437222.15542  24521322.640    24521329.259    24521323.386
+     -2982.639       -2324.134          46.000          38.000
+  -7447713.20943  -5758901.69942  23631175.083    23631181.007    23631175.059
+     -3140.722       -2447.316          46.000          40.000
+ -12563046.37643  -9744512.34442  23026680.163    23026686.004    23026679.438
+     -2902.421       -2261.627          48.000          41.000
+ -25969762.65644 -20196169.68042  20706833.273    20706837.008    20706832.523
+      1590.012        1238.970          57.000          51.000
+  -1628868.13543  -1214222.03742  25433565.677    25433570.597    25433566.389
+     -1983.592       -1545.656          42.000          34.000
+ -13835672.18043 -10768729.26942  22663034.384    22663038.286    22663032.892
+      1847.175        1439.357          51.000          45.000
+ -20770836.39243 -16149979.71542  21361873.649    21361878.339    21361872.763
+      2198.599        1713.194          56.000          49.000
+ 04  2  1 13  4  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18929471.40743 -14745815.11242  21745469.773    21745473.451    21745469.022
+      -396.398        -308.881          55.000          48.000
+ -10788571.07543  -8386557.21642  22784829.912    22784835.530    22784828.503
+      3663.790        2854.901          49.000          43.000
+  -1776234.26343  -1367559.71742  24538333.828    24538342.845    24538334.217
+     -2977.458       -2320.097          45.000          38.000
+  -7353497.72343  -5685487.13242  23649104.243    23649109.276    23649101.679
+     -3140.139       -2446.861          47.000          40.000
+ -12475938.82243  -9676636.39442  23043256.426    23043263.979    23043254.845
+     -2904.478       -2263.230          48.000          41.000
+ -26017226.92144 -20233154.81742  20697801.456    20697804.776    20697800.204
+      1574.389        1226.797          57.000          51.000
+  -1569317.94253  -1167819.33552  25444897.084    25444900.995    25444897.276
+     -1985.794       -1547.372          40.000          34.000
+ -13891092.27543 -10811913.74242  22652488.404    22652490.902    22652486.581
+      1847.671        1439.744          51.000          45.000
+ -20836579.44343 -16201208.03742  21349362.924    21349367.572    21349361.817
+      2184.418        1702.144          56.000          49.000
+ 04  2  1 13  4 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18917307.25443 -14736336.54742  21747784.010    21747788.071    21747783.607
+      -414.860        -323.267          55.000          48.000
+ -10898430.36243  -8472161.76642  22763924.746    22763930.437    22763922.730
+      3659.673        2851.693          49.000          44.000
+  -1686995.64543  -1298023.27042  24555315.260    24555323.119    24555314.439
+     -2972.288       -2316.068          44.000          38.000
+  -7259312.00143  -5612095.70242  23667027.025    23667031.712    23667025.464
+     -3139.181       -2446.115          46.000          40.000
+ -12388776.26443  -9608717.58642  23059843.459    23059848.363    23059843.078
+     -2906.541       -2264.837          47.000          41.000
+ -26064229.22544 -20269779.98342  20688857.182    20688860.365    20688856.212
+      1558.594        1214.489          57.000          51.000
+  -1509712.24843  -1121373.25642  25456239.950    25456240.427    25456237.912
+     -1987.748       -1548.894          38.000          33.000
+ -13946531.50043 -10855113.10742  22641938.459    22641941.722    22641937.605
+      1847.753        1439.807          52.000          45.000
+ -20901900.29143 -16252107.37742  21336932.155    21336937.499    21336931.462
+      2169.842        1690.786          56.000          49.000
+ 04  2  1 13  5  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18904601.90843 -14726436.26642  21750201.863    21750205.515    21750201.285
+      -431.922        -336.562          55.000          48.000
+ -11008174.96243  -8557676.94642  22743039.923    22743046.047    22743038.790
+      3656.709        2849.384          49.000          44.000
+  -1597922.12043  -1228615.46842  24572266.643    24572273.534    24572267.411
+     -2965.859       -2311.059          44.000          38.000
+  -7165158.39243  -5538729.33142  23684943.916    23684948.376    23684942.047
+     -3137.342       -2444.682          46.000          40.000
+ -12301562.70343  -9540759.04042  23076438.545    23076445.276    23076437.777
+     -2907.338       -2265.458          47.000          40.000
+ -26110768.16044 -20306044.08842  20680000.875    20680004.409    20679999.934
+      1544.174        1203.252          57.000          51.000
+                                  25467594.152
+     -1988.779       -1549.698          40.000
+ -14001990.07643 -10898327.56642  22631385.107    22631389.225    22631383.679
+      1849.659        1441.293          52.000          46.000
+ -20966796.68043 -16302675.96342  21324582.923    21324587.937    21324582.232
+      2156.666        1680.519          56.000          49.000
+ 04  2  1 13  5 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18891354.51943 -14716113.61842  21752723.028    21752726.910    21752722.393
+      -450.607        -351.122          55.000          48.000
+ -11117800.53343  -8643099.37842  22722179.114    22722186.012    22722178.160
+      3651.986        2845.703          50.000          44.000
+  -1509014.79943  -1159337.16042  24589185.832    24589193.496    24589184.160
+     -2960.853       -2307.158          44.000          38.000
+  -7071037.40843  -5465388.35742  23702854.252    23702857.285    23702852.340
+     -3137.174       -2444.551          46.000          39.000
+ -12214300.42743  -9472762.54842  23093045.180    23093050.741    23093043.381
+     -2909.509       -2267.150          47.000          40.000
+ -26156840.43244 -20341944.55642  20671233.997    20671237.106    20671232.678
+      1527.895        1190.568          57.000          51.000
+                  -2255950.99452  25478955.378    25478962.840
+     -1991.833       -1552.078          40.000          31.000
+ -14057466.60443 -10941555.99942  22620828.967    22620831.606    22620826.917
+      1849.575        1441.227          52.000          45.000
+ -21031264.97243 -16352910.96742  21312315.373    21312320.129    21312314.318
+      2141.743        1668.891          56.000          49.000
+ 04  2  1 13  6  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18877565.22643 -14705368.70542  21755347.273    21755350.281    21755346.153
+      -468.859        -365.345          55.000          48.000
+ -11227303.80043  -8728426.50442  22701341.537    22701347.394    22701339.980
+      3647.862        2842.490          50.000          44.000
+  -1420276.31843  -1090190.47242  24606071.994    24606078.876    24606071.982
+     -2955.276       -2302.812          44.000          38.000
+  -6976950.66443  -5392074.07142  23720758.456    23720761.097    23720756.009
+     -3135.652       -2443.365          46.000          39.000
+ -12126992.70243  -9404730.64042  23109659.147    23109664.344    23109658.388
+     -2911.117       -2268.403          47.000          41.000
+ -26202444.12044 -20377479.88842  20662555.623    20662559.030    20662554.777
+      1512.043        1178.215          57.000          51.000
+                                  25490332.289
+     -1993.981       -1553.751          37.000
+ -14112961.01743 -10984798.37842  22610268.019    22610271.055    22610266.193
+      1849.807        1441.408          52.000          46.000
+ -21095302.61443 -16402810.40142  21300130.062    21300134.015    21300128.646
+      2127.205        1657.562          56.000          49.000
+ 04  2  1 13  6 30.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18863234.50343 -14694201.90142  21758073.671    21758077.228    21758072.986
+      -486.789        -379.316          55.000          48.000
+ -11336681.63043  -8813655.90242  22680527.948    22680532.528    22680526.989
+      3643.823        2839.343          50.000          44.000
+  -1331709.58243  -1021177.58142  24622926.307    24622932.099    24622924.914
+     -2949.557       -2298.356          44.000          38.000
+  -6882900.04543  -5318787.91342  23738655.775    23738660.551    23738653.902
+     -3134.399       -2442.389          45.000          39.000
+ -12039643.13543  -9336666.10242  23126282.137    23126286.863    23126281.640
+     -2912.403       -2269.405          48.000          41.000
+ -26247577.25644 -20412648.56542  20653967.019    20653970.591    20653966.208
+      1496.522        1166.121          57.000          51.000
+                                  25501716.137
+     -1995.558       -1554.980          37.000
+ -14168472.94343 -11028054.41142  22599704.936    22599707.674    22599703.269
+      1850.732        1442.129          52.000          45.000
+ -21158907.48743 -16452372.61842  21288025.495    21288029.955    21288024.733
+      2112.886        1646.405          56.000          49.000
+ 04  2  1 13  7  0.0000000  0  9G 4G17G29G 7G26G 9G28G 5G24
+ -18848360.62743 -14682611.85942  21760904.417    21760908.372    21760903.924
+      -505.098        -393.583          55.000          48.000
+ -11445929.02243  -8898783.66242  22659737.857    22659743.878    22659737.291
+      3639.195        2835.736          50.000          44.000
+  -1243315.18843   -952298.96542  24639746.436    24639752.095    24639744.190
+     -2943.704       -2293.795          44.000          37.000
+  -6788885.23443  -5245529.68142  23756545.313    23756550.819    23756544.279
+     -3133.467       -2441.662          44.000          39.000
+ -11952253.19943  -9268570.12842  23142911.409    23142916.679    23142910.435
+     -2913.740       -2270.447          48.000          41.000
+ -26292235.96044 -20447447.55542  20645468.858    20645472.202    20645467.859
+      1480.570        1153.691          57.000          51.000
+  -2786252.72153  -2116080.58852  25513115.483    25513125.022    25513116.976
+     -1997.069       -1556.158          38.000          32.000
+ -14224000.09843 -11071322.30342  22589137.342    22589140.969    22589136.124
+      1850.942        1442.292          52.000          46.000
+ -21222074.59343 -16501593.71142  21276005.343    21276010.062    21276004.506
+      2098.101        1634.884          56.000          49.000
+ 04  2  1 13  7 30.0000000  0  8G 4G17G29G 7G26G 9G 5G24
+ -18832946.26243 -14670600.65042  21763837.095    21763840.964    21763836.970
+      -522.725        -407.318          54.000          48.000
+ -11555044.97243  -8983809.00342  22638974.352    22638979.910    22638972.892
+      3634.959        2832.436          50.000          44.000
+  -1155097.78643   -883558.27942  24656533.420    24656540.545    24656532.656
+     -2937.482       -2288.947          44.000          37.000
+  -6694910.14843  -5172302.41242  23774427.745    23774433.099    23774427.531
+     -3131.741       -2440.318          44.000          39.000
+ -11864828.52043  -9200447.06842  23159546.887    23159554.086    23159545.791
+     -2914.669       -2271.171          47.000          41.000
+ -26336420.49244 -20481877.06342  20637060.895    20637064.159    20637060.014
+      1465.038        1141.588          57.000          51.000
+ -14279544.28243 -11114603.46542  22578568.456    22578571.728    22578567.132
+      1851.895        1443.035          52.000          46.000
+ -21284804.03343 -16550473.77142  21264068.764    21264072.887    21264067.772
+      2083.723        1623.680          56.000          49.000
+ 04  2  1 13  8  0.0000000  0  8G 4G17G29G 7G26G 9G 5G24
+ -18816990.50143 -14658167.58842  21766874.244    21766877.835    21766873.288
+      -540.966        -421.532          55.000          48.000
+ -11664024.69943  -9068728.18442  22618235.597    22618240.771    22618234.274
+      3630.198        2828.726          50.000          44.000
+  -1067058.78443   -814956.60542  24673288.639    24673296.280    24673286.365
+     -2931.843       -2284.553          44.000          38.000
+  -6600975.11643  -5099106.35042  23792305.944    23792307.696    23792303.714
+     -3130.447       -2439.309          45.000          39.000
+ -11777371.13043  -9132298.52642  23176189.403    23176196.772    23176188.940
+     -2915.645       -2271.931          47.000          41.000
+ -26380127.68344 -20515934.61042  20628743.561    20628746.748    20628742.638
+      1448.703        1128.859          57.000          51.000
+ -14335103.65543 -11157896.45742  22567995.709    22567998.824    22567994.492
+      1852.032        1443.142          52.000          46.000
+ -21347091.78743 -16599009.64942  21252215.311    21252219.539    21252214.337
+      2068.645        1611.931          56.000          49.000
+ 04  2  1 13  8 30.0000000  0  8G 4G17G29G 7G26G 9G 5G24
+ -18800494.69143 -14645313.70542  21770013.211    21770016.443    21770012.938
+      -558.421        -435.133          55.000          48.000
+ -11772866.53043  -9153539.93542  22597523.418    22597529.598    22597522.886
+      3626.005        2825.458          49.000          43.000
+   -979201.82243   -746496.76842  24690005.709    24690013.839    24690004.352
+     -2925.250       -2279.415          44.000          37.000
+  -6507082.89843  -5025943.66542  23810171.560    23810173.771    23810169.136
+     -3128.408       -2437.720          44.000          38.000
+ -11689885.50843  -9064127.98542  23192837.912    23192843.719    23192837.462
+     -2916.273       -2272.420          47.000          41.000
+ -26423356.82544 -20549619.65542  20620517.523    20620520.607    20620516.638
+      1433.212        1116.789          57.000          51.000
+ -14390679.08543 -11201201.96142  22557418.923    22557423.189    22557418.678
+      1852.973        1443.875          52.000          46.000
+ -21408936.64643 -16647200.43242  21240447.315    21240451.459    21240445.989
+      2054.348        1600.791          56.000          49.000
+ 04  2  1 13  9  0.0000000  0  8G 4G17G29G 7G26G 9G 5G24
+ -18783457.19343 -14632037.73342  21773255.636    21773258.370    21773254.785
+      -576.951        -449.572          55.000          48.000
+ -11881564.56243  -9238239.63042  22576839.919    22576844.197    22576837.657
+      3620.718        2821.339          50.000          44.000
+   -891527.02543   -678178.87442  24706690.598    24706696.650    24706688.877
+     -2919.531       -2274.959          44.000          37.000
+  -6413232.94243  -4952813.91042  23828030.961    23828034.502    23828029.246
+     -3127.656       -2437.134          45.000          39.000
+ -11602372.87943  -8995936.41642  23209491.071    23209496.949    23209490.069
+     -2917.579       -2273.438          47.000          41.000
+ -26466103.64944 -20582928.86942  20612383.177    20612386.131    20612382.134
+      1416.708        1103.928          57.000          51.000
+ -14446268.28343 -11244518.20042  22546841.895    22546844.927    22546840.412
+      1853.099        1443.973          52.000          46.000
+ -21470333.88143 -16695042.39942  21228762.988    21228767.839    21228761.959
+      2038.939        1588.784          56.000          49.000
+ 04  2  1 13  9 30.0000000  0  9G 4G17G29G 7G26G 9G 5G24G 6
+ -18765877.79443 -14618339.49942  21776600.345    21776603.905    21776600.056
+      -594.429        -463.191          55.000          48.000
+ -11990115.26943  -9322824.51542  22556182.105    22556187.629    22556181.605
+      3616.264        2817.868          50.000          44.000
+   -804036.48043   -610004.53642  24723339.416    24723346.412    24723338.161
+     -2913.021       -2269.886          44.000          37.000
+  -6319426.26343  -4879717.84442  23845882.033    23845886.643    23845880.928
+     -3125.823       -2435.706          45.000          39.000
+ -11514836.10243  -8927726.03042  23226148.355    23226154.898    23226147.903
+     -2917.727       -2273.553          47.000          41.000
+ -26508365.74844 -20615860.37842  20604340.556    20604343.919    20604339.690
+      1400.802        1091.534          57.000          51.000
+ -14501869.92043 -11287844.13142  22536261.517    22536264.882    22536259.761
+      1853.910        1444.605          52.000          46.000
+ -21531280.47943 -16742533.22542  21217165.192    21217170.009    21217164.141
+      2024.300        1577.377          56.000          49.000
+  -1703198.30053  -1273882.45052  25209029.045    25209033.536    25209026.720
+      2802.492        2183.760          43.000          36.000
+ 04  2  1 13 10  0.0000000  0  9G 4G17G29G 7G26G 9G 5G24G 6
+ -18747760.64443 -14604222.23442  21780048.052    21780051.395    21780047.012
+      -612.476        -477.254          54.000          48.000
+ -12098519.00643  -9407294.87642  22535553.736    22535558.879    22535553.048
+      3611.240        2813.953          50.000          44.000
+   -716736.22643   -541978.51042  24739952.805    24739959.690    24739950.850
+     -2906.489       -2264.797          44.000          37.000
+  -6225668.27243  -4806659.76842  23863722.326    23863729.590    23863720.879
+     -3124.234       -2434.468          44.000          39.000
+ -11427282.18943  -8859502.29042  23242810.134    23242815.159    23242809.683
+     -2918.551       -2274.195          48.000          41.000
+ -26550145.04644 -20648415.67542  20596390.271    20596393.908    20596389.548
+      1384.843        1079.098          57.000          51.000
+ -14557487.62543 -11331182.58242  22525677.953    22525680.378    22525676.621
+      1854.551        1445.105          53.000          46.000
+ -21591777.69643 -16789673.89242  21205652.835    21205657.816    21205652.391
+      2009.369        1565.742          56.000          49.000
+  -1787184.61143  -1339326.08142  25193042.265    25193051.970    25193042.651
+      2797.043        2179.514          41.000          36.000
+ 04  2  1 13 10 30.0000000  0  9G 4G17G29G 7G26G 9G 5G24G 6
+ -18729100.73343 -14589682.04442  21783598.979    21783602.223    21783598.427
+      -631.204        -491.847          55.000          48.000
+ -12206766.88543  -9491643.78642  22514954.502    22514960.690    22514952.490
+      3605.295        2809.321          49.000          43.000
+   -629623.25943   -474098.42942  24756529.570    24756534.371    24756527.012
+     -2900.966       -2260.493          43.000          36.000
+  -6131954.86843  -4733636.44542  23881554.424    23881561.516    23881553.313
+     -3123.043       -2433.540          43.000          39.000
+ -11339708.77643  -8791263.36642  23259474.612    23259480.239    23259474.290
+     -2919.838       -2275.198          48.000          41.000
+ -26591433.96944 -20680588.86442  20588533.402    20588536.876    20588532.247
+      1367.751        1065.780          57.000          51.000
+ -14613115.08643 -11374528.63442  22515090.374    22515095.457    22515089.937
+      1854.075        1444.734          51.000          46.000
+ -21651817.59643 -16836458.19942  21194228.031    21194232.422    21194226.888
+      1993.325        1553.240          56.000          49.000
+  -1870998.61543  -1404635.44142  25177095.139    25177103.481    25177093.555
+      2790.913        2174.737          38.000          34.000
+ 04  2  1 13 11  0.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18709902.09443 -14574722.06042  21787251.873    21787255.971    21787251.332
+      -648.959        -505.682          54.000          48.000
+ -12314859.40043  -9575871.63742  22494385.413    22494390.193    22494382.741
+      3600.222        2805.368          49.000          43.000
+   -542703.95643   -406369.23642  24773068.576    24773078.709    24773066.870
+     -2894.265       -2255.271          43.000          36.000
+  -6038291.37143  -4660652.01742  23899379.868    23899386.215    23899378.636
+     -3121.306       -2432.186          45.000          39.000
+ -11252123.08443  -8723014.88642  23276140.811    23276145.708    23276140.012
+     -2919.501       -2274.936          46.000          40.000
+  -1624006.93953  -1262234.88552  25108740.603    25108745.145    25108739.729
+      2089.412        1628.113          45.000          35.000
+ -26632234.29044 -20712381.32642  20580769.148    20580772.605    20580768.141
+      1351.831        1053.375          57.000          51.000
+ -14668755.68943 -11417884.94042  22504503.622    22504507.475    22504501.879
+      1854.944        1445.411          52.000          46.000
+ -21711401.24643 -16882887.00042  21182889.621    21182893.567    21182888.423
+      1978.385        1541.599          56.000          49.000
+ 04  2  1 13 11 30.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18690163.69743 -14559341.49342  21791008.066    21791011.531    21791007.262
+      -666.952        -519.703          54.000          48.000
+ -12422791.55143  -9659974.54642  22473846.514    22473852.101    22473845.424
+      3594.871        2801.198          50.000          43.000
+   -455978.95543   -338791.42242  24789572.842    24789579.019    24789571.124
+     -2887.582       -2250.064          43.000          36.000
+  -5944677.67543  -4587706.38042  23917194.774    23917199.073    23917192.536
+     -3119.680       -2430.919          45.000          39.000
+ -11164526.62243  -8654757.97642  23292810.184    23292816.602    23292810.136
+     -2920.137       -2275.431          47.000          40.000
+  -1686748.76943  -1311124.55842  25096799.655    25096805.912    25096797.527
+      2092.989        1630.901          44.000          35.000
+ -26672542.58444 -20743790.39342  20573099.030    20573101.997    20573098.074
+      1335.269        1040.469          57.000          51.000
+ -14724407.35343 -11461249.86342  22493913.374    22493917.466    22493912.083
+      1855.122        1445.550          52.000          46.000
+ -21770524.49043 -16928957.04342  21171638.454    21171643.050    21171637.448
+      1962.896        1529.529          56.000          49.000
+ 04  2  1 13 12  0.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18669876.99343 -14543533.67042  21794868.983    21794872.331    21794868.008
+      -686.194        -534.697          54.000          48.000
+ -12530551.21043  -9743943.03842  22453339.901    22453346.191    22453338.927
+      3588.200        2796.000          50.000          43.000
+   -369441.85243   -271359.99842  24806040.221    24806046.374    24806037.218
+     -2882.243       -2245.904          42.000          36.000
+  -5851106.33743  -4514793.77242  23935000.991    23935004.888    23934999.035
+     -3119.376       -2430.682          45.000          39.000
+ -11076913.85243  -8586488.34642  23309483.395    23309488.830    23309482.554
+     -2921.370       -2276.392          47.000          40.000
+  -1749581.31543  -1360084.96042  25084841.949    25084845.238    25084843.650
+      2095.153        1632.587          41.000          34.000
+ -26712348.12544 -20774807.70242  20565524.149    20565527.435    20565523.218
+      1317.569        1026.677          57.000          51.000
+ -14780060.58643 -11504615.99242  22483323.003    22483326.207    22483321.376
+      1854.204        1444.834          52.000          46.000
+ -21829176.28343 -16974659.71342  21160477.356    21160482.466    21160476.489
+      1946.244        1516.554          56.000          49.000
+ 04  2  1 13 12 30.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18649061.54243 -14527313.83842  21798829.639    21798833.382    21798828.935
+      -702.911        -547.723          55.000          48.000
+ -12638153.85443  -9827789.20042  22432864.012    22432870.406    22432862.593
+      3583.838        2792.601          50.000          43.000
+   -283113.72243   -204091.42442  24822467.136    24822475.972    24822467.141
+     -2874.450       -2239.831          42.000          37.000
+  -5757597.63643  -4441929.97142  23952795.294    23952798.689    23952793.928
+     -3116.091       -2428.123          46.000          39.000
+ -10989306.79943  -8518223.18342  23326153.213    23326161.426    23326153.120
+     -2920.360       -2275.605          46.000          40.000
+  -1812523.68243  -1409130.98842  25072866.019    25072870.448    25072866.769
+      2099.716        1636.142          44.000          34.000
+ -26751667.70844 -20805446.34242  20558041.699    20558044.879    20558040.840
+      1302.235        1014.729          57.000          51.000
+ -14835733.76943 -11547997.68342  22472729.055    22472732.070    22472728.130
+      1855.782        1446.064          53.000          46.000
+ -21887372.92243 -17020007.72042  21149402.866    21149407.665    21149402.122
+      1932.002        1505.456          56.000          49.000
+ 04  2  1 13 13  0.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18627708.36743 -14510675.00442  21802892.975    21802896.621    21802892.668
+      -720.845        -561.697          54.000          48.000
+ -12745586.76243  -9911503.09042  22412421.734    22412425.766    22412419.590
+      3578.176        2788.189          51.000          44.000
+   -196987.72743   -136980.39542  24838857.265    24838866.860    24838856.097
+     -2867.281       -2234.245          42.000          36.000
+  -5664143.75943  -4369108.85442  23970577.509    23970582.635    23970575.752
+     -3114.177       -2426.631          44.000          39.000
+ -10901699.41243  -8449957.77042  23342826.338    23342831.282    23342824.946
+     -2920.300       -2275.558          47.000          40.000
+  -1875566.97143  -1458255.62542  25060869.172    25060875.930    25060868.465
+      2102.843        1638.579          43.000          35.000
+ -26790490.15544 -20835697.60442  20550654.430    20550657.413    20550653.375
+      1285.785        1001.910          57.000          51.000
+ -14891417.45643 -11591387.56042  22462132.751    22462135.794    22462131.112
+      1856.245        1446.425          53.000          46.000
+ -21945102.93743 -17064992.12442  21138417.369    21138421.927    21138416.479
+      1916.472        1493.355          56.000          49.000
+ 04  2  1 13 13 30.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18605814.55143 -14493614.89242  21807058.545    21807062.588    21807058.350
+      -738.834        -575.715          54.000          47.000
+ -12852843.03343  -9995079.35342  22392010.549    22392015.780    22392009.831
+      3572.038        2783.406          50.000          44.000
+   -111062.53243    -70025.81842  24855209.257    24855215.130    24855208.906
+     -2860.992       -2229.344          42.000          36.000
+  -5570742.61943  -4296328.84642  23988349.253    23988357.477    23988347.032
+     -3111.813       -2424.789          42.000          38.000
+ -10814091.24943  -8381691.74142  23359494.371    23359502.695    23359495.895
+     -2920.256       -2275.524          45.000          40.000
+  -1938707.85343  -1507456.30842  25048851.680    25048858.695    25048851.659
+      2106.033        1641.065          41.000          34.000
+ -26828810.03644 -20865557.25942  20543362.192    20543365.451    20543361.195
+      1268.771         988.653          57.000          51.000
+ -14947107.06643 -11634782.05542  22451535.233    22451539.132    22451533.799
+      1856.250        1446.429          52.000          46.000
+ -22002359.83443 -17109607.87542  21127521.602    21127526.325    21127520.797
+      1900.545        1480.944          56.000          49.000
+ 04  2  1 13 14  0.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18583382.13743 -14476135.08842  21811327.562    21811331.133    21811327.366
+      -756.969        -589.846          54.000          48.000
+ -12959920.85843 -10078516.54142  22371633.633    22371639.429    22371631.932
+      3565.935        2778.651          50.000          44.000
+    -25341.95743     -3230.70042  24871520.986    24871526.118    24871520.755
+     -2854.661       -2224.411          42.000          35.000
+  -5477396.92643  -4223592.09242  24006112.386    24006121.759    24006112.455
+     -3110.100       -2423.454          43.000          38.000
+ -10726487.23543  -8313428.96142  23376167.146    23376173.014    23376166.834
+     -2920.179       -2275.464          46.000          40.000
+  -2001948.38443  -1556734.56142  25036819.211    25036824.328    25036819.431
+      2109.518        1643.780          43.000          34.000
+ -26866627.30344 -20895025.26542  20536165.717    20536169.213    20536164.819
+      1251.954         975.549          57.000          51.000
+ -15002803.86143 -11678182.15942  22440936.364    22440939.988    22440935.415
+      1856.529        1446.646          53.000          46.000
+ -22059143.17643 -17153854.61442  21116716.411    21116720.600    21116715.164
+      1884.601        1468.520          56.000          49.000
+ 04  2  1 13 14 30.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18560414.06843 -14458237.89442  21815698.378    21815701.980    21815697.844
+      -774.261        -603.320          54.000          47.000
+ -13066819.38143 -10161814.03542  22351292.351    22351297.174    22351290.317
+      3560.298        2774.258          51.000          44.000
+     60169.18043     63401.26442  24887792.256    24887798.630    24887789.318
+     -2846.952       -2218.404          40.000          35.000
+  -5384110.81643  -4150901.69342  24023867.582    24023870.675    24023866.626
+     -3108.347       -2422.088          44.000          38.000
+ -10638892.96443  -8245173.77042  23392834.481    23392842.882    23392835.435
+     -2919.480       -2274.919          45.000          40.000
+  -2065291.13643  -1606092.52842  25024765.576    25024768.510    25024764.231
+      2113.109        1646.578          43.000          35.000
+ -26903942.50744 -20924102.05442  20529065.032    20529068.244    20529064.136
+      1235.577         962.787          57.000          51.000
+ -15058509.46443 -11721589.12742  22430335.135    22430339.642    22430334.426
+      1857.228        1447.191          53.000          46.000
+ -22115453.04043 -17197732.41742  21106000.536    21106005.511    21105999.959
+      1869.233        1456.545          56.000          49.000
+ 04  2  1 13 15  0.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18536912.52543 -14439925.00242  21820170.478    21820174.235    21820170.177
+      -791.803        -616.989          54.000          47.000
+ -13173536.58143 -10244970.23242  22330984.991    22330988.558    22330983.137
+      3554.560        2769.787          51.000          44.000
+    145466.73843    129866.83642  24904025.161    24904030.246    24904021.094
+     -2838.730       -2211.997          40.000          34.000
+  -5290887.22043  -4078260.04942  24041606.831    24041610.718    24041604.299
+     -3105.948       -2420.219          45.000          38.000
+ -10551312.98243  -8176929.74342  23409501.175    23409508.055    23409501.169
+     -2918.899       -2274.467          44.000          40.000
+  -2128738.14143  -1655531.67942  25012693.436    25012692.541    25012692.077
+      2116.850        1649.494          46.000          35.000
+ -26940755.15944 -20952787.24342  20522059.876    20522063.089    20522058.716
+      1219.118         949.962          57.000          51.000
+ -15114224.77743 -11765003.65542  22419734.300    22419737.197    22419732.927
+      1857.801        1447.637          53.000          47.000
+ -22171288.53143 -17241240.56542  21095375.481    21095380.283    21095374.481
+      1853.664        1444.414          56.000          50.000
+ 04  2  1 13 15 30.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18512873.65543 -14421193.42342  21824745.116    21824748.888    21824744.677
+      -809.987        -631.159          54.000          48.000
+ -13280064.56343 -10327978.98842  22310713.073    22310717.622    22310711.586
+      3547.907        2764.603          51.000          44.000
+    230553.30243    196167.99042  24920217.695    24920223.828    24920217.214
+     -2832.808       -2207.383          41.000          34.000
+  -5197722.93543  -4005664.59942  24059334.445    24059338.942    24059333.811
+     -3104.778       -2419.307          42.000          38.000
+ -10463746.16043  -8108695.96542  23426164.828    23426170.723    23426163.472
+     -2918.494       -2274.151          44.000          39.000
+  -2192284.86743  -1705048.58842  25000598.565    25000603.511    25000598.521
+      2119.951        1651.910          45.000          36.000
+ -26977059.09544 -20981076.03042  20515151.276    20515154.561    20515150.189
+      1201.980         936.608          57.000          51.000
+ -15169944.94043 -11808421.97242  22409131.019    22409133.814    22409129.400
+      1857.723        1447.576          53.000          47.000
+ -22226642.52443 -17284373.52742  21084842.313    21084846.588    21084841.129
+      1837.362        1431.711          56.000          49.000
+ 04  2  1 13 16  0.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18488298.50043 -14402043.94242  21829421.564    21829425.233    21829420.829
+      -827.803        -645.041          54.000          48.000
+ -13386400.25743 -10410837.91042  22290477.532    22290483.005    22290476.052
+      3541.326        2759.475          51.000          44.000
+    315426.33043    262302.71542  24936365.220    24936373.952    24936363.312
+     -2825.175       -2201.435          39.000          33.000
+  -5104619.54943  -3933116.59342  24077052.178    24077056.376    24077051.838
+     -3102.348       -2417.414          43.000          38.000
+ -10376195.85843  -8040475.08142  23442825.261    23442832.577    23442825.083
+     -2917.776       -2273.592          45.000          40.000
+  -2255932.27343  -1754643.85442  24988486.683    24988493.387    24988485.155
+      2123.252        1654.482          43.000          35.000
+ -27012852.82244 -21008967.24742  20508340.440    20508343.128    20508339.307
+      1184.621         923.081          57.000          51.000
+ -15225669.49643 -11851843.70242  22398526.272    22398530.023    22398525.044
+      1857.556        1447.446          53.000          47.000
+ -22281512.93244 -17327129.66742  21074400.994    21074404.693    21074399.666
+      1820.977        1418.943          57.000          50.000
+ 04  2  1 13 16 30.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18463188.64043 -14382477.83042  21834200.293    21834204.132    21834199.598
+      -845.499        -658.830          54.000          48.000
+ -13492541.54843 -10493545.33942  22270279.538    22270284.900    22270278.151
+      3535.173        2754.680          51.000          45.000
+    400082.31053    328268.29752  24952477.669    24952484.327    24952474.491
+     -2817.842       -2195.721          42.000          34.000
+  -5011579.55443  -3860617.98642  24094758.395    24094762.221    24094757.712
+     -3099.843       -2415.462          44.000          38.000
+ -10288666.44143  -7972270.48542  23459481.461    23459488.789    23459480.817
+     -2916.898       -2272.907          45.000          40.000
+  -2319681.67243  -1804318.60142  24976356.959    24976359.361    24976354.894
+      2127.496        1657.789          43.000          35.000
+ -27048135.83544 -21036460.51442  20501626.077    20501628.936    20501625.055
+      1168.099         910.207          57.000          51.000
+ -15281399.19443 -11895269.43642  22387921.769    22387924.309    22387920.322
+      1858.300        1448.026          53.000          47.000
+ -22335898.58143 -17369508.07742  21064051.422    21064055.736    21064050.631
+      1805.195        1406.645          56.000          50.000
+ 04  2  1 13 17  0.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18437544.12943 -14362495.09042  21839080.384    21839083.441    21839079.757
+      -863.434        -672.806          54.000          48.000
+ -13598484.16543 -10576097.97242  22250119.027    22250123.581    22250118.062
+      3528.457        2749.447          51.000          45.000
+    484519.85743    394063.68942  24968544.223    24968551.003    24968542.094
+     -2810.328       -2189.866          39.000          33.000
+  -4918603.47843  -3788169.13442  24112451.083    24112455.579    24112448.518
+     -3097.862       -2413.918          44.000          38.000
+ -10201160.01143  -7904083.79342  23476133.134    23476141.142    23476132.967
+     -2915.983       -2272.194          45.000          40.000
+  -2383532.33143  -1854072.28542  24964205.751    24964210.277    24964205.715
+      2130.668        1660.261          44.000          37.000
+ -27082905.37644 -21063553.66542  20495009.058    20495012.775    20495008.396
+      1150.839         896.758          57.000          51.000
+ -15337132.04543 -11938697.62942  22377315.632    22377319.272    22377313.969
+      1858.174        1447.928          53.000          47.000
+ -22389796.44144 -17411506.39142  21053794.950    21053799.149    21053793.603
+      1788.766        1393.844          57.000          50.000
+ 04  2  1 13 17 30.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18411367.47443 -14342097.69742  21844060.754    21844065.468    21844060.471
+      -881.571        -686.938          54.000          48.000
+ -13704226.62643 -10658494.62642  22229997.377    22230002.856    22229996.786
+      3521.352        2743.911          51.000          45.000
+    568734.77843    459685.60442  24984570.818    24984574.556    24984566.586
+     -2803.998       -2184.933          41.000          33.000
+  -4825694.60143  -3715772.68542  24130129.782    24130136.366    24130127.151
+     -3095.912       -2412.399          42.000          38.000
+ -10113681.72343  -7835919.02642  23492779.770    23492786.414    23492779.727
+     -2915.616       -2271.908          46.000          40.000
+  -2447486.51343  -1903906.69142  24952034.134    24952038.912    24952033.513
+      2133.252        1662.274          44.000          36.000
+ -27117161.60744 -21090246.83442  20488490.718    20488493.934    20488489.632
+      1133.284         883.078          57.000          51.000
+ -15392869.39143 -11982129.32942  22366709.668    22366712.021    22366708.501
+      1857.868        1447.689          54.000          47.000
+ -22443206.48244 -17453124.58542  21043631.567    21043635.690    21043630.452
+      1772.050        1380.818          57.000          50.000
+ 04  2  1 13 18  0.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18384654.15343 -14321282.13342  21849144.604    21849148.389    21849144.049
+      -898.725        -700.305          54.000          48.000
+ -13809760.19343 -10740728.52042  22209914.398    22209919.906    22209912.818
+      3514.796        2738.802          51.000          45.000
+    652730.16543    525136.40842  25000554.600    25000561.853    25000552.747
+     -2795.346       -2178.192          39.000          33.000
+  -4732849.04843  -3643425.59042  24147797.335    24147803.247    24147795.850
+     -3093.014       -2410.141          43.000          38.000
+ -10026229.35143  -7767774.45442  23509422.501    23509428.088    23509420.684
+     -2914.005       -2270.653          46.000          40.000
+  -2511539.43843  -1953818.01742  24939847.224    24939848.821    24939846.419
+      2137.268        1665.404          44.000          36.000
+ -27150897.74344 -21116534.73442  20482070.888    20482074.470    20482069.959
+      1116.461         869.970          57.000          51.000
+ -15448605.63743 -12025560.17442  22356103.162    22356106.529    22356101.541
+      1858.401        1448.105          53.000          47.000
+ -22496120.66643 -17494356.39142  21033562.108    21033566.455    21033560.978
+      1756.132        1368.415          56.000          50.000
+ 04  2  1 13 18 30.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18357407.79743 -14300051.21042  21854328.795    21854333.616    21854328.616
+      -916.322        -714.017          54.000          48.000
+ -13915084.19943 -10822799.10842  22189872.677    22189876.867    22189870.874
+      3508.018        2733.521          51.000          45.000
+    736500.87443    590412.20542  25016495.560    25016505.462    25016494.399
+     -2787.558       -2172.123          38.000          33.000
+  -4640070.96243  -3571131.00042  24165451.019    24165458.201    24165451.142
+     -3090.900       -2408.493          41.000          38.000
+  -9938809.02743  -7699654.84742  23526055.486    23526064.392    23526056.328
+     -2912.787       -2269.704          45.000          40.000
+  -2575693.93143  -2003808.44742  24927638.511    24927643.527    24927637.593
+      2140.559        1667.968          45.000          37.000
+ -27184114.92044 -21142418.25442  20475750.007    20475753.367    20475748.772
+      1099.432         856.700          57.000          51.000
+ -15504343.01843 -12068991.90442  22345497.305    22345500.618    22345495.671
+      1858.648        1448.297          54.000          47.000
+ -22548539.74444 -17535202.40342  21023587.003    21023591.136    21023585.856
+      1739.794        1355.684          57.000          50.000
+ 04  2  1 13 19  0.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18329631.32143 -14278407.20742  21859615.522    21859619.347    21859614.480
+      -935.744        -729.151          54.000          48.000
+ -14020197.51743 -10904705.53042  22169869.427    22169875.611    22169868.581
+      3499.210        2726.657          50.000          44.000
+  -3906217.37253  -3027290.44252  25032391.017    25032399.068    25032388.231
+     -2781.811       -2167.645          38.000          33.000
+  -4547363.60843  -3498891.59742  24183095.013    24183101.107    24183092.368
+     -3089.917       -2407.727          42.000          38.000
+  -9851425.91143  -7631564.25542  23542686.095    23542692.277    23542685.504
+     -2913.549       -2270.298          46.000          40.000
+  -2639952.55143  -2053880.03242  24915410.366    24915415.386    24915409.991
+      2142.640        1669.590          45.000          37.000
+ -27216813.57544 -21167897.72642  20469527.891    20469531.098    20469526.783
+      1080.325         841.812          57.000          51.000
+ -15560082.77943 -12112425.48742  22334890.434    22334892.848    22334888.633
+      1857.004        1447.016          54.000          47.000
+ -22600463.96044 -17575662.81542  21013706.182    21013710.671    21013705.114
+      1721.495        1341.425          57.000          50.000
+ 04  2  1 13 19 30.0000000  0  9G 4G17G29G 7G26G30G 9G 5G24
+ -18301327.63443 -14256352.39242  21865001.497    21865004.695    21865000.869
+      -952.536        -742.236          54.000          48.000
+ -14125099.01043 -10986446.90242  22149907.859    22149913.176    22149906.418
+      3492.638        2721.536          51.000          44.000
+  -3822908.96343  -2962374.84342  25048247.475    25048253.070    25048248.923
+     -2773.301       -2161.014          39.000          33.000
+  -4454730.55843  -3426710.03842  24200724.824    24200728.667    24200722.632
+     -3086.732       -2405.246          43.000          38.000
+  -9764085.20343  -7563506.69242  23559306.851    23559314.636    23559306.090
+     -2910.865       -2268.206          47.000          40.000
+  -2704317.45443  -2104034.46442  24903161.440    24903166.492    24903162.131
+      2146.867        1672.883          45.000          37.000
+ -27248994.08944 -21192973.45242  20463403.814    20463407.166    20463402.962
+      1063.538         828.731          57.000          51.000
+ -15615826.64843 -12155862.27642  22324282.281    22324285.217    22324280.981
+      1857.731        1447.583          53.000          47.000
+ -22651892.90144 -17615737.29442  21003919.967    21003924.212    21003918.758
+      1705.613        1329.049          57.000          50.000
+ 04  2  1 13 20  0.0000000  0 10G 4G17G29G 7G26G30G 9G 5G24G 6
+ -18272491.23943 -14233882.48242  21870488.213    21870492.134    21870488.038
+      -970.783        -756.454          54.000          48.000
+ -14229778.41343 -11068015.20842  22129987.711    22129993.535    22129986.731
+      3485.027        2715.605          50.000          45.000
+  -3739829.61543  -2897637.79242  25064054.632    25064055.568    25064056.880
+     -2766.013       -2155.335          40.000          33.000
+  -4362166.57543  -3354582.28842  24218336.386    24218341.531    24218335.077
+     -3084.830       -2403.764          41.000          37.000
+  -9676783.44043  -7495479.47742  23575920.821    23575926.738    23575919.944
+     -2910.002       -2267.534          47.000          41.000
+  -2768782.58743  -2154267.04442  24890894.548    24890899.996    24890894.544
+      2149.779        1675.152          45.000          37.000
+ -27280648.50944 -21217639.23842  20457380.359    20457383.665    20457379.349
+      1045.916         814.999          57.000          52.000
+ -15671567.46443 -12199296.66642  22313674.492    22313678.514    22313672.942
+      1857.492        1447.396          53.000          47.000
+ -22702817.91544 -17655419.10442  20994228.731    20994233.112    20994227.740
+      1688.547        1315.751          57.000          50.000
+                                  24880366.689
+      2678.441        2087.097          43.000
+ 04  2  1 13 20 30.0000000  0 10G 4G17G29G 7G26G30G 9G 5G24G 6
+ -18243123.16943 -14210998.27742  21876077.650    21876080.696    21876076.961
+      -987.255        -769.290          54.000          48.000
+ -14334233.14343 -11149408.44242  22110110.614    22110116.997    22110109.186
+      3478.475        2710.500          51.000          45.000
+                  -2833081.22842  25079818.048    25079833.232
+     -2757.153       -2148.431          38.000          32.000
+  -4269673.24543  -3282509.66242  24235937.159    24235944.856    24235935.846
+     -3081.885       -2401.469          39.000          36.000
+  -9589524.25243  -7427485.46242  23592523.655    23592532.499    23592523.634
+     -2907.250       -2265.390          46.000          40.000
+  -2833348.62543  -2204578.21942  24878607.018    24878611.658    24878606.825
+      2154.382        1678.739          45.000          36.000
+ -27311775.51444 -21241894.05242  20451457.253    20451460.236    20451456.192
+      1029.247         802.011          57.000          51.000
+ -15727304.44043 -12242728.08142  22303068.370    22303071.751    22303066.557
+      1858.255        1447.991          53.000          47.000
+ -22753237.00944 -17694706.69242  20984634.769    20984638.968    20984633.601
+      1672.626        1303.345          57.000          50.000
+  -1430583.81353  -1103412.44852  24865091.165    24865096.998    24865088.571
+      2673.251        2083.053          44.000          37.000
+ 04  2  1 13 21  0.0000000  0 10G 4G17G29G 7G26G30G 9G 5G24G 6
+ -18213227.76143 -14187703.15342  21881766.417    21881769.991    21881765.366
+     -1005.044        -783.151          54.000          48.000
+ -14438462.76943 -11230626.28442  22090276.818    22090281.719    22090275.353
+      3470.742        2704.474          51.000          45.000
+  -3574371.11453  -2768709.29052  25095540.615    25095550.790    25095537.869
+     -2749.375       -2142.370          39.000          33.000
+  -4177255.56843  -3210495.85442  24253523.861    24253530.100    24253522.526
+     -3078.527       -2398.852          41.000          36.000
+  -9502313.91243  -7359529.49842  23609119.891    23609127.753    23609119.674
+     -2906.023       -2264.433          46.000          40.000
+  -2898018.96143  -2254970.69542  24866299.666    24866306.297    24866299.036
+      2157.468        1681.144          45.000          37.000
+ -27342376.94144 -21265739.32142  20445633.487    20445637.042    20445632.735
+      1011.531         788.206          57.000          51.000
+ -15783040.20143 -12286158.53242  22292461.875    22292465.655    22292461.053
+      1858.043        1447.826          53.000          47.000
+ -22803151.42244 -17733601.02142  20975135.706    20975140.694    20975135.197
+      1655.629        1290.101          57.000          50.000
+  -1510677.22043  -1165822.81942  24849849.649    24849855.513    24849849.018
+      2667.066        2078.233          45.000          37.000
+ 04  2  1 13 21 30.0000000  0 10G 4G17G29G 7G26G30G 9G 5G24G 6
+ -18182788.90443 -14163984.57942  21887558.126    21887561.976    21887557.474
+     -1022.627        -796.852          54.000          47.000
+ -14542447.12643 -11311653.00642  22070489.389    22070493.836    22070487.276
+      3462.832        2698.311          51.000          45.000
+                  -2704510.52252  25111215.928    25111225.122
+     -2741.438       -2136.185          37.000          32.000
+  -4084897.37343  -3138528.45442  24271101.836    24271104.945    24271097.667
+     -3076.827       -2397.527          42.000          37.000
+  -9415138.61943  -7291600.85242  23625709.107    23625716.227    23625707.120
+     -2904.336       -2263.119          45.000          40.000
+  -2962776.89343  -2305431.37442  24853979.495    24853983.268    24853978.753
+      2161.141        1684.006          46.000          38.000
+ -27372434.16944 -21289160.55042  20439913.867    20439917.344    20439912.910
+       993.682         774.298          57.000          51.000
+ -15838757.38843 -12329574.52142  22281859.074    22281862.914    22281858.179
+      1857.829        1447.659          53.000          47.000
+ -22852542.15244 -17772087.28242  20965737.171    20965742.005    20965736.263
+      1638.511        1276.762          57.000          50.000
+  -1590571.11143  -1228077.71342  24834648.341    24834650.428    24834645.898
+      2660.710        2073.280          46.000          37.000
+ 04  2  1 13 22  0.0000000  0 10G 4G17G29G 7G26G30G 9G 5G24G 6
+ -18151840.04043 -14139868.58642  21893447.559    21893451.809    21893446.597
+     -1040.554        -810.821          54.000          47.000
+ -14646215.29443 -11392511.26442  22050741.711    22050747.135    22050740.699
+      3454.847        2692.089          51.000          45.000
+                  -2640511.84952  25126847.034    25126858.769
+     -2734.381       -2130.686          38.000          32.000
+  -3992632.39443  -3066633.69842  24288656.988    24288661.413    24288655.814
+     -3074.449       -2395.674          40.000          36.000
+  -9328033.70743  -7223727.04642  23642286.525    23642290.010    23642284.436
+     -2902.768       -2261.897          47.000          40.000
+  -3027655.06143  -2355985.75842  24841631.333    24841636.173    24841630.839
+      2164.415        1686.557          45.000          38.000
+ -27401978.06644 -21312181.77042  20434292.114    20434295.353    20434291.107
+       975.791         760.357          57.000          51.000
+ -15894487.91643 -12373000.90342  22271255.834    22271257.770    22271253.479
+      1857.376        1447.306          54.000          47.000
+ -22901439.88344 -17810189.39642  20956432.195    20956436.903    20956431.372
+      1621.356        1263.394          57.000          50.000
+  -1670297.76843  -1290202.23842  24819476.104    24819479.700    24819473.842
+      2653.763        2067.867          44.000          37.000
+ 04  2  1 13 22 30.0000000  0 10G 4G17G29G 7G26G30G 9G 5G24G 6
+ -18120361.35943 -14115339.74942  21899437.755    21899441.797    21899436.939
+     -1057.505        -824.030          54.000          47.000
+ -14749743.08943 -11473182.23142  22031042.154    22031046.396    22031040.231
+      3447.534        2686.390          52.000          45.000
+                                  25142432.352
+     -2725.814       -2124.011          37.000
+  -3900441.37343  -2994796.53042  24306200.826    24306205.433    24306200.531
+     -3070.928       -2392.931          42.000          36.000
+  -9240981.70643  -7155894.45642  23658851.688    23658857.180    23658850.371
+     -2899.984       -2259.728          46.000          40.000
+  -3092633.03743  -2406617.85542  24829267.918    24829271.867    24829267.014
+      2168.112        1689.438          46.000          39.000
+ -27430986.50144 -21334785.75742  20428772.092    20428775.036    20428770.999
+       958.632         746.986          57.000          51.000
+ -15950209.70943 -12416420.47942  22260650.562    22260654.083    22260649.745
+      1857.851        1447.676          53.000          47.000
+ -22949821.72044 -17847889.51742  20947225.633    20947230.349    20947224.771
+      1604.687        1250.405          57.000          50.000
+  -1749836.09043  -1352180.03042  24804338.366    24804344.811    24804337.069
+      2648.637        2063.873          44.000          37.000
+ 04  2  1 13 23  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -18088360.15043 -14090403.75042  21905527.087    21905531.282    21905526.936
+     -1075.603        -838.132          54.000          47.000
+ -14853033.42343 -11553668.16642  22011385.782    22011390.999    22011384.755
+      3438.882        2679.648          52.000          46.000
+  -3808331.59243  -2923022.72642  24323726.081    24323732.944    24323725.303
+     -3069.380       -2391.725          40.000          37.000
+  -9153991.89243  -7088110.32742  23675404.972    23675411.719    23675404.548
+     -2898.692       -2258.721          46.000          40.000
+  -3157717.19043  -2457332.76242  24816882.088    24816886.553    24816881.246
+      2171.169        1691.820          46.000          39.000
+ -27459464.24244 -21356976.20842  20423352.877    20423356.123    20423351.987
+       940.275         732.682          57.000          51.000
+ -16005928.73843 -12459837.88542  22250048.183    22250050.717    22250047.072
+      1857.142        1447.124          53.000          47.000
+ -22997691.77644 -17885190.83342  20938116.249    20938120.370    20938115.111
+      1587.016        1236.636          57.000          50.000
+  -1829191.64043  -1414015.48542  24789236.500    24789242.947    24789236.459
+      2641.804        2058.548          44.000          37.000
+ 04  2  1 13 23 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -18055832.35143 -14065057.42642  21911717.093    21911721.324    21911716.423
+     -1092.934        -851.637          54.000          47.000
+ -14956077.67243 -11633962.34042  21991778.162    21991782.122    21991775.907
+      3430.696        2673.270          53.000          46.000
+  -8442559.48743  -6534109.37742  24341241.940    24341246.286    24341238.915
+     -3065.610       -2388.787          41.000          36.000
+  -9067062.11443  -7020372.96042  23691946.664    23691954.993    23691945.175
+     -2896.385       -2256.923          46.000          40.000
+  -3222902.87543  -2508126.74142  24804479.556    24804482.057    24804477.898
+      2174.498        1694.414          47.000          39.000
+ -27487404.68444 -21378747.98742  20418035.752    20418039.294    20418034.904
+       922.389         718.745          57.000          51.000
+ -16061639.32643 -12503248.72642  22239446.909    22239450.241    22239445.577
+      1856.877        1446.917          53.000          47.000
+ -23045042.84344 -17922087.75242  20929105.330    20929109.922    20929104.726
+      1569.801        1223.222          57.000          50.000
+  -1908358.92643  -1475704.19242  24774170.245    24774177.907    24774170.949
+      2635.667        2053.766          43.000          37.000
+ 04  2  1 13 24  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -18022781.31843 -14039303.37942  21918006.771    21918010.827    21918006.289
+     -1110.107        -865.018          54.000          47.000
+ -15058874.99043 -11714064.09442  21972215.216    21972220.621    21972214.583
+      3422.684        2667.026          52.000          46.000
+  -8350608.29443  -6462459.07142  24358739.015    24358743.163    24358734.685
+     -3063.059       -2386.799          39.000          36.000
+  -8980197.94443  -6952686.73642  23708477.931    23708483.993    23708477.317
+     -2894.060       -2255.112          46.000          40.000
+  -3288192.51943  -2559001.67642  24792054.873    24792057.400    24792054.128
+      2178.250        1697.338          46.000          39.000
+ -27514809.05744 -21400102.05342  20412820.922    20412824.317    20412820.102
+       904.814         705.050          57.000          51.000
+ -16117342.87843 -12546654.07342  22228847.064    22228849.512    22228845.174
+      1856.972        1446.991          53.000          47.000
+ -23091875.10243 -17958580.39942  20920193.574    20920197.846    20920192.634
+      1552.684        1209.884          56.000          50.000
+  -1987340.11043  -1537247.88842  24759142.632    24759149.419    24759141.228
+      2629.773        2049.174          45.000          38.000
+ 04  2  1 13 24 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17989208.92243 -14013143.08442  21924395.216    21924399.066    21924394.733
+     -1127.779        -878.789          53.000          47.000
+ -15161422.88243 -11793971.48642  21952701.203    21952707.600    21952699.919
+      3413.920        2660.197          52.000          46.000
+  -8258740.27843  -6390873.68542  24376220.586    24376225.728    24376216.945
+     -3061.221       -2385.367          40.000          35.000
+  -8893403.00543  -6885054.44842  23724992.758    23725001.352    23724991.653
+     -2891.998       -2253.505          45.000          39.000
+  -3353586.98243  -2609958.30642  24779610.139    24779614.888    24779608.792
+      2181.581        1699.933          46.000          40.000
+ -27541676.64744 -21421037.84042  20407708.382    20407711.550    20407707.505
+       886.476         690.761          57.000          51.000
+ -16173039.29443 -12590053.86042  22218247.039    22218251.168    22218246.414
+      1856.423        1446.563          53.000          47.000
+ -23138187.36444 -17994667.86442  20911380.561    20911385.103    20911379.673
+      1534.965        1196.077          57.000          50.000
+  -2066135.49943  -1598646.80242  24744148.123    24744154.763    24744146.898
+      2622.968        2043.871          44.000          39.000
+ 04  2  1 13 25  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17955110.41943 -13986572.82642  21930883.908    21930888.369    21930883.422
+     -1145.099        -892.285          53.000          47.000
+ -15263711.77643 -11873677.07642  21933236.286    21933241.473    21933235.145
+      3405.738        2653.822          52.000          46.000
+  -8166950.61443  -6319349.28842  24393688.684    24393692.242    24393687.029
+     -3058.125       -2382.954          43.000          36.000
+  -8806674.43243  -6817473.85342  23741498.920    23741505.232    23741498.125
+     -2889.268       -2251.378          46.000          39.000
+  -3419080.58343  -2660992.24442  24767148.284    24767150.869    24767147.596
+      2185.158        1702.720          47.000          39.000
+ -27567999.85244 -21441549.43542  20402699.298    20402702.304    20402698.100
+       868.890         677.057          57.000          51.000
+ -16228722.23243 -12633443.14642  22207651.739    22207654.831    22207650.735
+      1856.113        1446.322          53.000          47.000
+ -23183971.98944 -18030344.18242  20902668.268    20902672.815    20902667.427
+      1517.711        1182.632          57.000          50.000
+  -2144738.79343  -1659896.02242  24729191.247    24729196.879    24729190.327
+      2617.290        2039.447          45.000          38.000
+ 04  2  1 13 25 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17920494.73143 -13959599.56642  21937471.816    21937475.424    21937471.486
+     -1161.940        -905.408          54.000          47.000
+ -15365746.47443 -11953184.59742  21913819.928    21913825.127    21913818.274
+      3397.257        2647.213          52.000          46.000
+  -8075248.60243  -6247893.12342  24411138.209    24411144.979    24411137.616
+     -3054.713       -2380.296          43.000          37.000
+  -8720023.51043  -6749953.77742  23757986.240    23757994.184    23757987.439
+     -2886.570       -2249.275          44.000          39.000
+  -3484681.67143  -2712109.91342  24754663.624    24754666.875    24754662.964
+      2189.310        1705.956          46.000          39.000
+ -27593785.37044 -21461642.05242  20397792.274    20397795.664    20397791.116
+       851.071         663.172          57.000          51.000
+ -16284398.63143 -12676827.33342  22197057.019    22197060.176    22197055.645
+      1856.239        1446.420          54.000          47.000
+ -23229235.08043 -18065614.10342  20894054.666    20894059.365    20894053.943
+      1500.609        1169.306          56.000          50.000
+  -2223157.71343  -1721001.56042  24714267.780    24714272.856    24714266.750
+      2611.400        2034.857          45.000          38.000
+ 04  2  1 13 26  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17885358.93543 -13932221.02442  21944157.419    21944161.257    21944156.584
+     -1179.997        -919.478          54.000          47.000
+ -15467519.21243 -12032487.98342  21894452.891    21894458.200    21894451.832
+      3387.979        2639.984          51.000          46.000
+  -7983631.00543  -6176502.83342  24428572.201    24428579.165    24428571.690
+     -3052.170       -2378.314          43.000          36.000
+  -8633448.61043  -6682492.90342  23774460.208    23774468.161    23774459.773
+     -2884.406       -2247.589          44.000          38.000
+  -3550385.96143  -2763308.01542  24742159.928    24742164.902    24742160.040
+      2191.523        1707.680          45.000          39.000
+ -27619027.70844 -21481311.41342  20392988.752    20392992.192    20392987.860
+       832.383         648.610          57.000          51.000
+ -16340063.50943 -12720202.53642  22186464.262    22186467.419    22186462.729
+      1855.378        1445.749          54.000          47.000
+ -23273970.21844 -18100472.63242  20885542.091    20885546.430    20885541.219
+      1482.305        1155.043          57.000          50.000
+  -2301387.53343  -1781959.77142  24699379.201    24699387.828    24699380.172
+      2604.501        2029.481          43.000          38.000
+ 04  2  1 13 26 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17849702.49543 -13904436.79042  21950942.709    21950946.426    21950942.309
+     -1196.779        -932.555          54.000          47.000
+ -15569025.04943 -12111583.39442  21875136.887    21875142.096    21875135.701
+      3379.571        2633.432          51.000          45.000
+  -7892097.64243  -6105178.29142  24445990.613    24445998.519    24445989.154
+     -3049.330       -2376.101          44.000          38.000
+  -8546951.21343  -6615092.43842  23790921.014    23790928.028    23790919.461
+     -2881.438       -2245.276          45.000          38.000
+  -3616192.27343  -2814585.58842  24729637.728    24729643.463    24729637.574
+      2195.782        1710.999          44.000          38.000
+ -27643724.02944 -21500555.30642  20388289.181    20388292.683    20388288.191
+       814.698         634.830          57.000          51.000
+ -16395714.56243 -12763566.97442  22175874.085    22175878.000    22175873.233
+      1855.298        1445.687          54.000          47.000
+ -23318173.97243 -18134917.10142  20877130.033    20877134.465    20877129.044
+      1465.103        1141.639          56.000          50.000
+  -2379426.41443  -1842769.17942  24684531.502    24684536.884    24684529.266
+      2598.728        2024.983          45.000          38.000
+ 04  2  1 13 27  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17813529.43843 -13876249.99342  21957825.287    21957829.885    21957825.329
+     -1214.566        -946.415          53.000          47.000
+ -15670263.36143 -12190470.34042  21855871.131    21855877.288    21855870.075
+      3369.846        2625.854          51.000          46.000
+  -7800652.03143  -6033921.95742  24463392.896    24463398.519    24463392.454
+     -3046.746       -2374.088          43.000          37.000
+  -8460537.18843  -6547756.94742  23807366.274    23807371.388    23807364.011
+     -2879.072       -2243.433          45.000          38.000
+  -3682103.21643  -2865944.69542  24717095.960    24717098.160    24717095.328
+      2198.605        1713.199          45.000          38.000
+ -27667875.63044 -21519374.73942  20383693.250    20383697.052    20383692.454
+       795.802         620.105          57.000          52.000
+ -16451353.62743 -12806922.06942  22165286.093    22165289.796    22165285.182
+      1854.236        1444.859          54.000          47.000
+ -23361847.15543 -18168948.13342  20868819.296    20868823.985    20868818.464
+      1446.693        1127.293          56.000          50.000
+  -2457276.72043  -1903431.72242  24669716.374    24669722.025    24669714.721
+      2591.543        2019.384          45.000          38.000
+ 04  2  1 13 27 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17776848.42243 -13847667.38842  21964806.516    21964809.934    21964805.733
+     -1230.984        -959.208          54.000          47.000
+ -15771238.30143 -12269152.05942  21836656.999    21836662.084    21836655.800
+      3361.640        2619.460          51.000          46.000
+  -7709303.20843  -5962741.13742  24480775.632    24480782.456    24480772.708
+     -3042.943       -2371.124          44.000          37.000
+  -8374216.99443  -6480494.54642  23823793.658    23823800.250    23823791.745
+     -2875.449       -2240.610          45.000          38.000
+  -3748126.79143  -2917391.60642  24704530.209    24704534.607    24704531.322
+      2202.872        1716.524          45.000          38.000
+ -27691488.70644 -21537774.54642  20379200.324    20379203.576    20379199.196
+       778.361         606.515          58.000          52.000
+ -16506987.46343 -12850273.09442  22154699.611    22154703.273    22154698.302
+      1854.568        1445.118          54.000          47.000
+ -23404995.88944 -18202570.50942  20860608.845    20860612.869    20860607.713
+      1429.814        1114.141          57.000          50.000
+  -2534945.72243  -1963953.00442  24654935.957    24654941.227    24654935.779
+      2586.296        2015.296          44.000          38.000
+ 04  2  1 13 28  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17739642.15043 -13818675.49042  21971886.405    21971890.168    21971885.875
+     -1248.507        -972.862          54.000          47.000
+ -15871928.29443 -12347611.75642  21817496.460    21817500.715    21817494.836
+      3351.788        2611.783          52.000          46.000
+  -7618034.00243  -5891622.37242  24498143.841    24498149.492    24498142.772
+     -3040.685       -2369.365          45.000          37.000
+  -8287975.21843  -6413293.28542  23840203.953    23840211.037    23840202.670
+     -2873.268       -2238.910          44.000          38.000
+  -3814244.66643  -2968911.98342  24691949.876    24691951.832    24691949.152
+      2205.932        1718.908          45.000          38.000
+ -27714543.88544 -21555739.62542  20374813.058    20374816.240    20374811.847
+       759.398         591.739          57.000          52.000
+ -16562597.27843 -12893605.40442  22144117.300    22144120.416    22144116.497
+      1853.459        1444.254          54.000          47.000
+ -23447599.80944 -18235768.35342  20852500.974    20852505.665    20852500.227
+      1411.230        1099.660          57.000          50.000
+  -2612414.85843  -2024318.51242  24640194.335    24640200.663    24640192.811
+      2579.165        2009.739          45.000          39.000
+ 04  2  1 13 28 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17701920.45143 -13789281.96542  21979065.272    21979068.327    21979064.455
+     -1265.013        -985.724          54.000          47.000
+ -15972338.21943 -12425853.19942  21798388.908    21798393.826    21798387.148
+      3343.092        2605.007          51.000          46.000
+  -7526853.47143  -5820572.64342  24515494.989    24515499.283    24515493.076
+     -3036.878       -2366.398          44.000          36.000
+  -8201823.13543  -6346161.92542  23856596.570    23856603.880    23856596.000
+     -2869.299       -2235.817          43.000          37.000
+  -3880465.30043  -3020512.40042  24679347.127    24679352.550    24679346.831
+      2209.901        1722.001          44.000          39.000
+ -27737048.04944 -21573275.34142  20370530.093    20370533.698    20370529.310
+       741.877         578.086          57.000          52.000
+ -16618190.29743 -12936924.63442  22133538.467    22133541.394    22133537.021
+      1853.715        1444.453          54.000          47.000
+ -23489665.14943 -18268546.52042  20844496.494    20844501.044    20844495.627
+      1394.142        1086.344          56.000          50.000
+  -2689692.17843  -2084534.50242  24625489.562    24625494.492    24625489.070
+      2573.414        2005.258          46.000          39.000
+ 04  2  1 13 29  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17663687.39343 -13759489.97442  21986340.296    21986344.714    21986339.517
+     -1282.827        -999.605          54.000          47.000
+ -16072467.57943 -12503876.01542  21779334.059    21779340.199    21779333.169
+      3332.847        2597.024          51.000          46.000
+  -7435765.93743  -5749595.39142  24532828.490    24532831.020    24532824.385
+     -3034.835       -2364.806          44.000          36.000
+  -8115766.62543  -6279105.04442  23872974.712    23872980.768    23872974.075
+     -2866.915       -2233.960          44.000          37.000
+  -3946791.69243  -3072195.23342  24666726.742    24666730.537    24666725.611
+      2212.471        1724.003          44.000          39.000
+ -27759003.00944 -21590383.10542  20366352.537    20366355.766    20366351.507
+       722.562         563.035          57.000          51.000
+ -16673768.57643 -12980232.37542  22122962.186    22122965.357    22122961.131
+      1852.354        1443.393          54.000          47.000
+ -23531193.36644 -18300906.15242  20836593.929    20836598.507    20836593.027
+      1375.174        1071.564          57.000          50.000
+  -2766780.26343  -2144603.06542  24610818.510    24610825.747    24610819.023
+      2566.299        1999.714          45.000          39.000
+ 04  2  1 13 29 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17624939.65443 -13729296.93442  21993714.071    21993717.529    21993712.785
+     -1298.407       -1011.746          54.000          47.000
+ -16172308.39143 -12581673.99942  21760336.298    21760340.545    21760334.440
+      3324.778        2590.736          52.000          46.000
+  -7344767.90743  -5678687.86242  24550144.133    24550151.072    24550142.075
+     -3030.041       -2361.071          43.000          35.000
+  -8029804.14243  -6212121.44942  23889331.737    23889337.514    23889331.473
+     -2861.704       -2229.899          44.000          38.000
+  -4013219.40543  -3123957.00942  24654084.738    24654089.548    24654084.347
+      2217.805        1728.160          44.000          39.000
+ -27780403.13744 -21607058.53542  20362280.347    20362283.307    20362279.238
+       705.794         549.969          57.000          51.000
+ -16729326.32443 -13023524.12742  22112389.857    22112392.877    22112388.396
+      1853.380        1444.192          54.000          47.000
+ -23572177.81144 -18332842.07142  20828794.846    20828799.303    20828793.980
+      1358.867        1058.857          57.000          50.000
+  -2843674.31043  -2204520.41642  24596188.600    24596193.112    24596186.993
+      2561.822        1996.225          45.000          38.000
+ 04  2  1 13 30  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17585686.98143 -13698710.44142  22001183.979    22001187.362    22001183.219
+     -1316.911       -1026.164          54.000          47.000
+ -16271865.60143 -12659250.99442  21741390.969    21741395.146    21741389.741
+      3313.692        2582.098          52.000          46.000
+  -7253868.77543  -5607857.36342  24567441.950    24567445.858    24567440.268
+     -3028.306       -2359.719          43.000          36.000
+  -7943946.80843  -6145219.77042  23905669.626    23905677.019    23905670.687
+     -2860.126       -2228.670          44.000          38.000
+  -4079756.80243  -3175804.29142  24641423.367    24641426.585    24641422.489
+      2219.635        1729.586          44.000          39.000
+ -27801255.46244 -21623307.10142  20358312.260    20358315.121    20358311.130
+       685.845         534.425          57.000          51.000
+ -16784871.19743 -13066805.83342  22101820.304    22101823.091    22101818.567
+      1851.152        1442.456          54.000          47.000
+ -23612625.35144 -18364359.61542  20821098.001    20821102.276    20821097.133
+      1339.187        1043.522          57.000          50.000
+  -2920382.23643  -2264292.78242  24581588.540    24581596.690    24581589.341
+      2553.794        1989.969          44.000          38.000
+ 04  2  1 13 30 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17545920.24443 -13667723.38942  22008750.650    22008754.003    22008750.137
+     -1334.545       -1039.905          53.000          47.000
+ -16371125.69643 -12736596.48442  21722502.350    21722507.039    21722500.511
+      3303.393        2574.072          52.000          46.000
+  -7163059.22443  -5537096.69542  24584723.197    24584727.102    24584721.127
+     -3025.733       -2357.714          43.000          36.000
+  -7858187.14943  -6078394.22542  23921988.876    23921995.965    23921988.561
+     -2856.956       -2226.199          43.000          37.000
+  -4146393.73343  -3227729.13242  24628742.512    24628747.602    24628742.665
+      2222.471        1731.796          43.000          38.000
+ -27821548.59044 -21639119.93442  20354450.409    20354453.751    20354449.334
+       666.948         519.700          57.000          51.000
+ -16840392.29843 -13110069.02642  22091255.059    22091257.566    22091253.323
+      1850.035        1441.586          54.000          47.000
+ -23652523.59344 -18395449.14142  20813505.493    20813510.066    20813504.670
+      1320.569        1029.015          57.000          50.000
+  -2996893.42843  -2323911.80942  24567029.339    24567037.090    24567029.962
+      2546.917        1984.611          44.000          37.000
+ 04  2  1 13 31  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17505642.42643 -13636338.07442  22016415.656    22016418.758    22016414.688
+     -1351.517       -1053.130          54.000          47.000
+ -16470086.50243 -12813708.75142  21703670.423    21703675.849    21703668.560
+      3293.157        2566.096          52.000          46.000
+  -7072341.84743  -5466407.87442  24601986.169    24601991.140    24601985.735
+     -3022.970       -2355.561          41.000          35.000
+  -7772529.70743  -6011648.30142  23938289.210    23938297.493    23938289.439
+     -2853.598       -2223.583          43.000          37.000
+  -4213131.86243  -3279732.83342  24616042.794    24616046.969    24616041.364
+      2226.401        1734.858          43.000          38.000
+ -27841282.64344 -21654497.12342  20350695.289    20350698.598    20350694.286
+       648.124         505.032          57.000          51.000
+ -16895890.48543 -13153314.35542  22080693.491    22080696.754    22080692.446
+      1849.215        1440.947          54.000          47.000
+ -23691872.56144 -18426110.66342  20806018.156    20806022.292    20806016.912
+      1302.103        1014.626          57.000          50.000
+  -3073208.99143  -2383378.43242  24552508.786    24552514.254    24552506.625
+      2540.115        1979.310          44.000          38.000
+ 04  2  1 13 31 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17464855.81643 -13604556.30042  22024176.529    22024180.120    22024176.191
+     -1367.701       -1065.741          53.000          47.000
+ -16568745.74943 -12890586.03042  21684896.027    21684901.674    21684895.077
+      3283.866        2558.857          52.000          47.000
+  -6981718.48643  -5395792.35642  24619229.508    24619235.410    24619230.969
+     -3018.880       -2352.374          41.000          35.000
+  -7686977.95943  -5944984.74142  23954569.540    23954577.017    23954567.045
+     -2849.874       -2220.681          42.000          36.000
+  -4279971.95743  -3331815.98342  24603324.026    24603328.107    24603323.663
+      2229.999        1737.662          44.000          37.000
+ -27860457.69944 -21669438.73242  20347046.393    20347049.852    20347045.478
+       629.996         490.906          57.000          52.000
+ -16951365.40243 -13196541.55042  22070137.111    22070140.128    22070135.750
+      1848.946        1440.737          54.000          47.000
+ -23730671.27044 -18456343.40942  20798634.696    20798638.803    20798633.705
+      1284.330        1000.777          57.000          50.000
+  -3149329.86343  -2442693.34542  24538021.105    24538028.002    24538019.641
+      2534.413        1974.867          40.000          36.000
+ 04  2  1 13 32  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17423564.36543 -13572381.14842  22032034.550    22032038.433    22032033.721
+     -1385.044       -1079.255          53.000          47.000
+ -16667102.89943 -12967227.92042  21666179.441    21666184.596    21666177.756
+      3273.104        2550.471          52.000          47.000
+  -6891193.27843  -5325253.28742  24636458.017    24636458.426    24636454.351
+     -3016.596       -2350.594          41.000          33.000
+  -7601537.75343  -5878408.15842  23970828.560    23970838.406    23970828.816
+     -2846.330       -2217.919          42.000          36.000
+  -4346917.15643  -3383981.02742  24590583.710    24590589.438    24590583.192
+      2232.669        1739.742          44.000          38.000
+ -27879075.32044 -21683945.97342  20343503.530    20343506.970    20343502.554
+       610.984         476.091          57.000          52.000
+ -17006818.89343 -13239752.04542  22059584.607    22059588.201    22059583.400
+      1847.739        1439.797          54.000          48.000
+ -23768921.21244 -18486148.54842  20791355.979    20791360.225    20791354.842
+      1265.541         986.136          57.000          50.000
+  -3225258.56143  -2501858.46442  24523573.809    24523580.761    24523573.499
+      2527.308        1969.331          42.000          37.000
+ 04  2  1 13 32 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17381772.29343 -13539815.89442  22039986.988    22039990.666    22039986.524
+     -1402.161       -1092.593          53.000          47.000
+ -16765157.22943 -13043633.82842  21647520.432    21647525.619    21647519.433
+      3262.991        2542.590          53.000          47.000
+  -6800769.78543  -5254793.43342  24653664.024    24653670.947    24653665.445
+     -3013.168       -2347.923          42.000          33.000
+  -7516214.62243  -5811922.77442  23987067.230    23987070.755    23987065.637
+     -2842.781       -2215.154          43.000          35.000
+  -4413970.11943  -3436230.04642  24577824.995    24577828.623    24577824.493
+      2236.229        1742.516          45.000          38.000
+ -27897137.12844 -21698020.11842  20340066.208    20340070.045    20340065.401
+       592.047         461.335          57.000          51.000
+ -17062252.58343 -13282947.10942  22049035.613    22049039.476    22049034.750
+      1846.700        1438.987          54.000          48.000
+ -23806623.45244 -18515526.89542  20784181.080    20784185.864    20784180.295
+      1246.698         971.453          57.000          50.000
+  -3300997.40843  -2560875.70142  24509162.167    24509167.565    24509159.732
+      2520.410        1963.956          43.000          37.000
+ 04  2  1 13 33  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17339472.78143 -13506855.23442  22048036.114    22048039.710    22048035.597
+     -1418.628       -1105.424          54.000          47.000
+ -16862897.16343 -13119794.75142  21628921.087    21628925.358    21628919.564
+      3252.566        2534.467          52.000          47.000
+  -6710440.78443  -5184407.11542  24670853.406    24670858.189    24670852.833
+     -3009.342       -2344.942          42.000          33.000
+  -7431003.40043  -5745524.55342  24003278.969    24003286.664    24003280.120
+     -2838.344       -2211.697          42.000          34.000
+  -4481122.71043  -3488556.70442  24565045.201    24565049.530    24565045.692
+      2240.243        1745.644          44.000          38.000
+ -27914633.89444 -21711653.96942  20336736.746    20336740.237    20336735.709
+       573.834         447.143          57.000          51.000
+ -17117657.69143 -13326119.90742  22038492.623    22038495.977    22038491.299
+      1846.437        1438.782          54.000          48.000
+ -23843768.14644 -18544470.79942  20777113.334    20777117.169    20777112.191
+      1228.843         957.540          57.000          50.000
+  -3376538.16943  -2619738.53842  24494786.902    24494791.458    24494785.408
+      2514.811        1959.593          43.000          37.000
+ 04  2  1 13 33 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17296671.96243 -13473503.95442  22056181.601    22056184.579    22056180.827
+     -1435.228       -1118.359          54.000          47.000
+ -16960324.00543 -13195711.70942  21610381.145    21610386.034    21610379.929
+      3242.193        2526.384          52.000          47.000
+  -6620212.11943  -5114099.09542  24688021.762    24688031.220    24688021.806
+     -3005.782       -2342.168          41.000          34.000
+  -7345911.23043  -5679219.12342  24019473.422    24019479.590    24019469.368
+     -2834.886       -2209.002          42.000          35.000
+  -4548379.52843  -3540964.56642  24552248.386    24552250.634    24552246.334
+      2243.396        1748.101          43.000          38.000
+ -27931569.34644 -21724850.43642  20333514.015    20333517.635    20333513.207
+       555.050         432.506          57.000          51.000
+ -17173037.53143 -13369273.02142  22027954.443    22027957.821    22027953.082
+      1845.500        1438.052          55.000          48.000
+ -23880358.10144 -18572982.44342  20770149.999    20770154.341    20770148.939
+      1210.227         943.034          57.000          50.000
+  -3451885.13643  -2678450.38942  24480448.783    24480452.284    24480446.749
+      2508.283        1954.506          42.000          37.000
+ 04  2  1 13 34  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17253368.26543 -13439760.80742  22064421.529    22064425.050    22064421.108
+     -1451.678       -1131.178          53.000          47.000
+ -17057431.50343 -13271379.82942  21591902.468    21591907.526    21591900.903
+      3231.502        2518.054          53.000          47.000
+  -6530081.47943  -5043867.54942  24705172.753    24705181.704    24705173.737
+     -3002.718       -2339.780          39.000          33.000
+  -7260938.26243  -5613006.56642  24035643.840    24035652.180    24035642.908
+     -2830.270       -2205.405          40.000          34.000
+  -4615737.77943  -3593451.46542  24539430.784    24539433.726    24539428.159
+      2246.972        1750.887          43.000          38.000
+ -27947939.48544 -21737606.39942  20330399.029    20330402.392    20330398.219
+       536.294         417.891          57.000          51.000
+ -17228388.54343 -13412403.66842  22017421.695    22017424.891    22017420.199
+      1844.630        1437.374          54.000          48.000
+ -23916388.84443 -18601058.33342  20763293.247    20763297.674    20763292.565
+      1191.658         928.565          56.000          50.000
+  -3527035.23743  -2737008.82542  24466147.081    24466153.208    24466146.631
+      2501.776        1949.436          43.000          37.000
+ 04  2  1 13 34 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17209563.99743 -13405627.60442  22072756.979    22072760.666    22072756.501
+     -1468.699       -1144.441          53.000          47.000
+ -17154216.80043 -13346796.88242  21573484.860    21573489.416    21573483.172
+      3220.593        2509.553          52.000          47.000
+  -6440050.83743  -4973713.82142  24722308.403    24722311.744    24722304.766
+     -2999.476       -2337.254          41.000          34.000
+  -7176087.56343  -5546889.29642  24051791.331    24051793.396    24051788.355
+     -2826.580       -2202.530          41.000          34.000
+  -4683197.98943  -3646017.83042  24526592.707    24526595.953    24526592.218
+      2249.960        1753.216          46.000          38.000
+ -27963743.94344 -21749921.56442  20327391.769    20327394.915    20327390.899
+       517.234         403.039          57.000          51.000
+ -17283710.05643 -13455511.31942  22006894.172    22006897.560    22006892.763
+      1843.363        1436.387          55.000          48.000
+ -23951859.41043 -18628697.71842  20756543.710    20756548.073    20756542.869
+      1172.831         913.894          56.000          50.000
+  -3601988.71143  -2795414.03042  24451884.114    24451892.684    24451883.024
+      2495.141        1944.266          40.000          36.000
+ 04  2  1 13 35  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17165262.53043 -13371106.98842  22081187.634    22081190.714    22081186.798
+     -1485.176       -1157.280          53.000          47.000
+ -17250678.81743 -13421962.02342  21555128.431    21555133.330    21555127.103
+      3209.738        2501.095          53.000          47.000
+  -6350123.22243  -4903640.39942  24739419.726    24739425.309    24739415.945
+     -2995.765       -2334.362          40.000          33.000
+  -7091364.50243  -5480871.42742  24067910.950    24067920.083    24067912.249
+     -2822.269       -2199.171          40.000          34.000
+  -4750762.51243  -3698665.48442  24513737.218    24513738.795    24513735.365
+      2253.577        1756.034          46.000          39.000
+ -27978983.94644 -21761796.90642  20324491.562    20324495.011    20324490.768
+       498.451         388.403          57.000          52.000
+ -17339003.75843 -13498597.30842  21996371.576    21996375.445    21996370.889
+      1842.514        1435.725          54.000          48.000
+ -23986770.81643 -18655901.39242  20749900.293    20749904.849    20749899.024
+      1154.263         899.426          56.000          50.000
+  -3676747.64343  -2853667.63342  24437655.839    24437663.649    24437656.229
+      2488.606        1939.174          39.000          35.000
+ 04  2  1 13 35 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17120463.18243 -13336198.41642  22089712.510    22089716.349    22089712.179
+     -1501.944       -1170.346          53.000          47.000
+ -17346811.86743 -13496870.83742  21536834.936    21536839.740    21536833.526
+      3198.620        2492.431          53.000          47.000
+  -6260297.03843  -4833645.93642  24756513.568    24756516.660    24756510.874
+     -2992.706       -2331.979          42.000          33.000
+  -7006769.31943  -5414953.26842  24084010.901    24084019.024    24084010.774
+     -2817.707       -2195.616          40.000          34.000
+  -4818428.70943  -3751392.33342  24500857.868    24500862.802    24500858.359
+      2256.914        1758.634          45.000          39.000
+ -27993656.22944 -21773229.86242  20321699.237    20321702.878    20321698.562
+       479.286         373.470          57.000          52.000
+ -17394266.15343 -13541658.90442  21985855.909    21985859.094    21985854.609
+      1841.174        1434.681          55.000          48.000
+ -24021119.01243 -18682666.20142  20743363.884    20743368.453    20743363.127
+      1135.161         884.541          56.000          50.000
+  -3751309.50843  -2911767.68942  24423465.800    24423473.759    24423467.202
+      2482.192        1934.176          41.000          36.000
+ 04  2  1 13 36  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17075168.60143 -13300903.93742  22098331.074    22098335.268    22098330.719
+     -1517.977       -1182.839          53.000          46.000
+ -17442613.84143 -13571521.68242  21518603.785    21518609.307    21518603.248
+      3187.923        2484.096          53.000          47.000
+  -6170574.58443  -4763732.30142  24773587.419    24773595.256    24773585.813
+     -2989.164       -2329.219          44.000          35.000
+  -6922305.81143  -5349137.68942  24100085.394    24100093.343    24100085.402
+     -2813.593       -2192.410          39.000          33.000
+  -4886197.92243  -3804199.47642  24487962.789    24487967.404    24487962.179
+      2260.841        1761.694          45.000          39.000
+ -28007761.11944 -21784220.69542  20319015.583    20319019.068    20319014.599
+       460.850         359.104          57.000          52.000
+ -17449497.40943 -13584696.21942  21975346.089    21975349.341    21975344.615
+      1840.727        1434.333          55.000          48.000
+ -24054903.45744 -18708991.73442  20736934.921    20736939.514    20736934.068
+      1116.882         870.298          57.000          50.000
+  -3825675.17053  -2969714.87452  24409317.104    24409323.643    24409315.980
+      2476.172        1929.485          41.000          37.000
+ 04  2  1 13 36 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -17029371.89343 -13265218.19042  22107045.694    22107049.525    22107045.455
+     -1536.920       -1197.600          53.000          46.000
+ -17538072.67543 -13645905.14342  21500439.267    21500443.446    21500437.717
+      3174.106        2473.329          53.000          47.000
+  -6080948.20743  -4693893.64342  24790643.609    24790648.297    24790641.251
+     -2987.728       -2328.100          43.000          35.000
+ -11564228.36353  -8966220.33152  24116131.021    24116142.246    24116132.305
+     -2810.974       -2190.369          38.000          33.000
+  -4954061.54043  -3857080.18142  24475049.035    24475052.556    24475047.071
+      2261.638        1762.315          43.000          38.000
+ -28021289.12944 -21794762.01542  20316441.320    20316444.583    20316440.267
+       439.304         342.315          57.000          52.000
+ -17504687.70543 -13627701.63342  21964843.397    21964846.531    21964842.099
+      1836.998        1431.427          55.000          48.000
+ -24088114.40844 -18734870.38542  20730615.250    20730619.832    20730614.271
+      1095.448         853.596          57.000          50.000
+  -3899836.13043  -3027502.52042  24395202.512    24395211.739    24395202.448
+      2467.597        1922.803          40.000          37.000
+ 04  2  1 13 37  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -16983089.11743 -13229153.68542  22115853.790    22115857.765    22115853.291
+     -1550.821       -1208.432          53.000          47.000
+ -17633199.59243 -13720029.95942  21482336.759    21482341.877    21482335.683
+      3165.392        2466.539          53.000          47.000
+  -5991433.45743  -4624141.94042  24807676.361    24807682.427    24807675.545
+     -2982.005       -2323.640          43.000          34.000
+                  -8900614.77552  24132153.886    24132159.295
+     -2804.185       -2185.079          40.000          32.000
+  -5022034.23243  -3910045.90242  24462112.073    24462116.696    24462112.994
+      2267.782        1767.103          43.000          38.000
+ -28034254.20044 -21804864.67842  20313974.298    20313977.509    20313973.233
+       422.805         329.458          57.000          52.000
+ -17559850.80543 -13670685.85842  21954346.233    21954349.700    21954345.058
+      1838.314        1432.452          55.000          48.000
+ -24120764.98544 -18760312.37742  20724402.288    20724406.242    20724401.113
+      1079.044         840.814          57.000          50.000
+  -3973806.58043  -3085141.75942  24381128.827    24381135.078    24381127.589
+      2462.568        1918.884          42.000          37.000
+ 04  2  1 13 37 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -16936320.81943 -13192710.85542  22124753.503    22124756.992    22124753.235
+     -1567.340       -1221.304          53.000          46.000
+ -17727990.29143 -13793892.80142  21464299.939    21464303.731    21464297.974
+      3153.572        2457.329          54.000          47.000
+  -5902030.19043  -4554477.11542  24824689.930    24824694.279    24824688.659
+     -2978.170       -2320.652          42.000          33.000
+ -11395985.23753  -8835122.03642  24148145.516    24148154.612    24148147.166
+     -2799.599       -2181.506          39.000          33.000
+  -5090114.78043  -3963095.64542  24449159.597    24449163.123    24449158.155
+      2270.573        1769.278          45.000          38.000
+ -28046654.36644 -21814527.15642  20311614.275    20311617.656    20311613.264
+       403.514         314.426          57.000          52.000
+ -17614984.38443 -13713647.06942  21943854.460    21943858.350    21943853.241
+      1836.863        1431.322          55.000          48.000
+ -24152852.56844 -18785315.67442  20718295.914    20718300.214    20718295.020
+      1059.697         825.738          57.000          50.000
+  -4047585.55943  -3142631.78842  24367091.221    24367095.154    24367090.012
+      2455.503        1913.379          45.000          37.000
+ 04  2  1 13 38  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -16889061.60043 -13155885.47942  22133746.692    22133749.826    22133745.905
+     -1584.050       -1234.325          53.000          47.000
+ -17822434.49143 -13867485.64042  21446326.662    21446331.574    21446325.750
+      3141.773        2448.135          53.000          47.000
+  -5812732.38043  -4484894.38942  24841682.196    24841687.150    24841678.893
+     -2975.291       -2318.408          40.000          33.000
+ -11312076.90453  -8769739.08352  24164113.588    24164119.992    24164108.842
+     -2794.945       -2177.879          37.000          32.000
+  -5158296.25943  -4016224.01842  24436182.951    24436187.042    24436183.418
+      2273.966        1771.922          44.000          38.000
+ -28058481.88044 -21823743.41642  20309363.649    20309367.231    20309362.748
+       384.262         299.425          57.000          52.000
+ -17670080.86043 -13756579.36842  21933369.946    21933374.053    21933368.551
+      1835.408        1430.188          55.000          48.000
+ -24184368.99944 -18809873.91042  20712298.406    20712303.394    20712297.356
+      1040.486         810.768          57.000          50.000
+  -4121165.98643  -3199967.11742  24353088.125    24353091.076    24353086.795
+      2448.923        1908.252          44.000          38.000
+ 04  2  1 13 38 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -16841310.54943 -13118676.87642  22142833.547    22142836.928    22142833.132
+     -1599.789       -1246.589          53.000          47.000
+ -17916526.57243 -13940804.10542  21428421.412    21428426.361    21428419.565
+      3130.747        2439.543          53.000          47.000
+  -5723538.26153  -4415392.52652  24858653.861    24858663.489    24858653.011
+     -2971.622       -2315.550          40.000          32.000
+ -11228309.55753  -8704465.97652  24180056.778    24180064.490    24180055.839
+     -2789.705       -2173.796          40.000          32.000
+  -5226576.14143  -4069429.05542  24423192.460    24423194.575    24423187.899
+      2277.719        1774.846          43.000          38.000
+ -28069733.30044 -21832510.76342  20307222.908    20307225.843    20307221.707
+       365.723         284.979          58.000          52.000
+ -17725136.56143 -13799479.90542  21922893.111    21922896.770    21922892.119
+      1834.728        1429.658          55.000          48.000
+ -24215310.54644 -18833984.19142  20706410.804    20706415.111    20706409.809
+      1021.936         796.314          57.000          50.000
+  -4194545.09243  -3257145.54642  24339124.194    24339128.676    24339122.164
+      2442.853        1903.522          45.000          39.000
+ 04  2  1 13 39  0.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -16793061.86143 -13081080.50042  22152014.775    22152018.399    22152014.811
+     -1615.555       -1258.874          54.000          47.000
+ -18010255.46243 -14013839.55642  21410585.338    21410590.785    21410583.800
+      3119.124        2430.486          52.000          47.000
+  -5634441.32343  -4345966.36542  24875610.423    24875615.613    24875609.367
+     -2967.022       -2311.965          40.000          34.000
+ -11144678.34643  -8639298.95842  24195971.154    24195977.254    24195972.746
+     -2784.602       -2169.820          40.000          32.000
+  -5294946.82943  -4122704.88442  24410176.857    24410184.176    24410178.057
+      2281.638        1777.900          41.000          38.000
+ -28080400.13744 -21840822.59642  20305192.844    20305195.990    20305191.959
+       346.800         270.234          58.000          52.000
+ -17780142.55343 -13842341.69942  21912425.999    21912429.237    21912424.365
+      1833.668        1428.832          55.000          48.000
+ -24245668.16944 -18857639.46642  20700633.498    20700638.029    20700632.620
+      1003.248         781.752          57.000          50.000
+  -4267715.16843  -3314161.10842  24325199.586    24325205.362    24325199.023
+      2436.195        1898.334          44.000          38.000
+ 04  2  1 13 39 30.0000000  0  9G 4G17G 7G26G30G 9G 5G24G 6
+ -16744336.06043 -13043112.33842  22161286.164    22161291.258    22161286.101
+     -1632.531       -1272.102          53.000          46.000
+ -18103636.67143 -14086604.08942  21392815.693    21392820.705    21392814.722
+      3106.356        2420.537          53.000          47.000
+  -5545461.30153  -4276631.34952  24892540.370    24892548.954    24892538.779
+     -2963.679       -2309.360          37.000          33.000
+                  -8574254.71152  24211853.322    24211863.938
+     -2784.420       -2169.678          36.000          32.000
+  -5363426.83543  -4176065.88042  24397149.093    24397152.287    24397148.646
+      2284.568        1780.183          45.000          38.000
+ -28090500.83144 -21848693.27542  20303270.952    20303274.258    20303270.000
+       326.706         254.576          58.000          52.000
+ -17835116.88843 -13885178.82242  21901964.560    21901967.800    21901963.170
+      1831.419        1427.080          55.000          48.000
+ -24275459.48944 -18880853.46742  20694965.086    20694969.351    20694963.977
+       983.018         765.988          57.000          50.000
+  -4340695.09543  -3371028.44242  24311311.971    24311316.216    24311310.460
+      2429.158        1892.850          45.000          38.000
+ 04  2  1 13 40  0.0000000  0  8G 4G17G 7G30G 9G 5G24G 6
+ -16695127.50543 -13004768.01442  22170650.465    22170655.427    22170649.975
+     -1648.483       -1284.532          53.000          46.000
+ -18196659.55643 -14159089.40342  21375113.517    21375118.151    21375112.467
+      3094.559        2411.345          53.000          47.000
+  -5456591.39753  -4207382.12152  24909454.342    24909459.991    24909454.254
+     -2960.616       -2306.973          40.000          33.000
+  -5432008.96843  -4229506.47242  24384096.764    24384101.723    24384096.909
+      2287.384        1782.377          46.000          39.000
+ -28100027.42644 -21856116.61042  20301458.029    20301461.241    20301456.981
+       307.872         239.900          58.000          52.000
+ -17890051.12143 -13927984.69842  21891510.390    21891514.383    21891509.674
+      1830.291        1426.201          55.000          48.000
+ -24304675.82243 -18903619.42742  20689404.455    20689409.277    20689403.561
+       964.084         751.234          56.000          50.000
+  -4413477.28343  -3427741.77242  24297461.579    24297468.357    24297461.626
+      2422.583        1887.727          43.000          39.000
+ 04  2  1 13 40 30.0000000  0  7G 4G17G30G 9G 5G24G 6
+ -16645436.68043 -12966047.87942  22180106.605    22180110.682    22180106.308
+     -1664.830       -1297.270          53.000          46.000
+ -18289319.59943 -14231291.98842  21357481.159    21357485.974    21357479.416
+      3082.076        2401.618          53.000          47.000
+  -5500691.95043  -4283025.64242  24371028.199    24371030.919    24371027.636
+      2290.905        1785.121          45.000          39.000
+ -28108978.08944 -21863091.16342  20299754.436    20299758.032    20299753.538
+       288.306         224.654          57.000          52.000
+ -17944943.05543 -13970757.61242  21881065.711    21881068.696    21881064.110
+      1828.634        1424.910          55.000          48.000
+ -24333314.70544 -18925935.42642  20683955.396    20683959.596    20683954.482
+       944.514         735.985          57.000          50.000
+  -4486060.50143  -3484300.02342  24283649.830    24283655.427    24283649.354
+      2415.986        1882.586          45.000          39.000
+ 04  2  1 13 41  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -16595267.59743 -12926955.09542  22189653.857    22189657.650    22189653.538
+     -1680.932       -1309.817          53.000          46.000
+ -18381615.96543 -14303211.17942  21339917.525    21339922.682    21339916.225
+      3069.791        2392.045          53.000          47.000
+  -5569478.14043  -4336625.21642  24357937.733    24357941.827    24357937.376
+      2293.661        1787.268          45.000          39.000
+ -28117354.33244 -21869618.12142  20298160.911    20298164.357    20298159.674
+       268.927         209.554          57.000          52.000
+ -17999794.11843 -14013498.67542  21870626.861    21870630.766    21870626.256
+      1826.990        1423.629          54.000          48.000
+ -24361377.37344 -18947802.42542  20678614.785    20678619.042    20678613.990
+       925.086         720.846          57.000          50.000
+  -4558447.00443  -3540705.05242  24269875.751    24269880.620    24269874.910
+      2409.073        1877.200          45.000          39.000
+                                  25158954.836
+      1858.032        1447.817          42.000
+ 04  2  1 13 41 30.0000000  0  7G 4G17G30G 9G 5G24G 6
+ -16544619.65243 -12887489.17342  22199292.601    22199295.071    22199291.958
+     -1695.956       -1321.524          54.000          46.000
+ -18473542.97343 -14374842.57442  21322424.593    21322429.478    21322423.010
+      3058.242        2383.046          54.000          47.000
+  -5638364.91443  -4390303.19142  24344829.230    24344833.338    24344828.367
+      2298.148        1790.765          44.000          39.000
+ -28125153.23444 -21875695.20042  20296676.901    20296680.207    20296675.705
+       250.586         195.262          57.000          52.000
+ -18054600.59943 -14056205.01542  21860198.310    21860201.525    21860196.964
+      1826.460        1423.216          55.000          48.000
+ -24388860.10244 -18969217.52542  20673385.102    20673389.255    20673384.197
+       906.646         706.477          57.000          50.000
+  -4630634.31543  -3596954.85342  24256138.765    24256143.942    24256136.655
+      2402.960        1872.436          45.000          39.000
+ 04  2  1 13 42  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -16493491.66343 -12847649.18942  22209021.362    22209025.355    22209020.505
+     -1712.675       -1334.552          53.000          46.000
+ -18565094.44543 -14446181.34542  21305002.869    21305007.915    21305001.476
+      3044.991        2372.720          54.000          48.000
+  -5707349.11943  -4444057.03442  24331703.140    24331707.300    24331702.695
+      2300.107        1792.291          45.000          39.000
+ -28132371.08344 -21881319.51042  20295303.319    20295306.449    20295302.448
+       230.594         179.684          57.000          52.000
+ -18109358.37343 -14098873.38942  21849778.165    21849781.440    21849776.943
+      1824.109        1421.384          55.000          48.000
+ -24415758.79144 -18990177.52342  20668266.724    20668270.848    20668265.785
+       886.482         690.765          57.000          50.000
+  -4702619.47943  -3653047.10342  24242440.882    24242444.181    24242438.045
+      2395.632        1866.726          43.000          39.000
+                                  25137657.225
+      1872.099        1458.778          41.000
+ 04  2  1 13 42 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -16441889.53843 -12807439.75142  22218840.535    22218843.814    22218840.012
+     -1728.049       -1346.532          53.000          46.000
+ -18656271.32443 -14517228.22742  21287652.032    21287657.509    21287651.250
+      3032.834        2363.247          53.000          48.000
+  -5776435.12543  -4497890.22542  24318554.765    24318561.135    24318555.747
+      2304.293        1795.553          45.000          39.000
+ -28139011.86144 -21886494.15342  20294039.410    20294042.808    20294038.356
+       211.564         164.855          57.000          51.000
+ -18164070.82743 -14141506.45942  21839366.166    21839369.952    21839365.612
+      1822.825        1420.383          55.000          48.000
+ -24442076.69744 -19010684.96942  20663258.249    20663262.563    20663257.348
+       867.444         675.930          57.000          50.000
+  -4774406.74743  -3708985.16842  24228780.293    24228785.788    24228778.635
+      2389.448        1861.908          45.000          39.000
+                                  25126954.416
+      1878.627        1463.865          41.000
+ 04  2  1 13 43  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -16389812.30543 -12766860.08642  22228750.327    22228753.605    22228749.961
+     -1743.964       -1358.933          53.000          46.000
+ -18747067.56243 -14587978.49642  21270374.688    21270379.547    21270373.133
+      3019.874        2353.148          54.000          48.000
+  -5845619.72843  -4551800.27442  24305389.930    24305393.672    24305389.142
+      2307.664        1798.180          46.000          39.000
+ -28145072.02344 -21891216.37042  20292886.151    20292889.594    20292885.026
+       192.157         149.733          57.000          51.000
+ -18218733.73243 -14184100.91242  21828965.057    21828968.037    21828963.794
+      1821.093        1419.034          55.000          48.000
+ -24467809.75744 -19030736.69242  20658361.706    20658365.792    20658360.821
+       847.897         660.699          57.000          50.000
+  -4845993.04243  -3764766.66042  24215156.973    24215162.424    24215155.888
+      2382.719        1856.664          44.000          39.000
+  -1125299.23853   -842880.61852  25116208.849    25116214.025    25116203.436
+      1884.800        1468.675          40.000          35.000
+ 04  2  1 13 43 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -16337262.70243 -12725912.34042  22238749.895    22238754.450    22238749.659
+     -1759.226       -1370.825          52.000          46.000
+ -18837480.72343 -14658430.27542  21253169.202    21253174.136    21253168.406
+      3007.482        2343.492          54.000          48.000
+  -5914903.79643  -4605787.81042  24292205.652    24292210.137    24292205.191
+      2311.188        1800.926          44.000          39.000
+ -28150552.07044 -21895486.55442  20291843.499    20291846.688    20291842.612
+       173.211         134.970          57.000          51.000
+ -18273346.99743 -14226656.69142  21818572.295    21818575.216    21818570.780
+      1819.817        1418.039          55.000          48.000
+ -24492957.60244 -19050332.39342  20653575.896    20653580.410    20653575.035
+       828.707         645.746          57.000          50.000
+  -4917379.32043  -3820392.29042  24201571.717    24201577.767    24201570.716
+      2376.324        1851.681          44.000          39.000
+  -1181964.38843   -887035.19442  25105426.011    25105432.494    25105425.482
+      1892.614        1474.764          41.000          36.000
+ 04  2  1 13 44  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -16284241.66243 -12684597.22742  22248840.209    22248843.894    22248839.427
+     -1774.778       -1382.944          53.000          46.000
+ -18927506.55943 -14728580.22742  21236037.922    21236042.749    21236036.547
+      2994.797        2333.608          53.000          48.000
+  -5984286.20143  -4659851.99842  24279002.022    24279007.274    24279001.669
+      2314.717        1803.676          45.000          39.000
+ -28155450.56744 -21899303.57542  20290911.217    20290914.621    20290910.558
+       153.894         119.917          57.000          51.000
+ -18327908.36143 -14269172.02442  21808189.429    21808192.394    21808188.289
+      1818.188        1416.770          55.000          48.000
+ -24517518.73844 -19069470.92342  20648902.315    20648906.696    20648901.292
+       809.303         630.626          57.000          50.000
+  -4988564.54043  -3875861.23542  24188026.686    24188031.986    24188025.135
+      2369.957        1846.720          45.000          39.000
+  -1238827.20143   -931343.78242  25094605.766    25094612.002    25094603.219
+      1899.056        1479.784          44.000          36.000
+ 04  2  1 13 44 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -16230751.57243 -12642916.64142  22259018.729    22259022.321    22259017.656
+     -1790.419       -1395.132          53.000          46.000
+ -19017142.62343 -14798426.46042  21218980.880    21218985.787    21218978.978
+      2981.730        2323.426          53.000          48.000
+  -6053767.67743  -4713993.32742  24265781.882    24265784.517    24265780.426
+      2318.239        1806.420          46.000          39.000
+ -28159767.62944 -21902667.52842  20290090.000    20290093.335    20290088.838
+       134.554         104.847          57.000          52.000
+ -18382417.99443 -14311647.04442  21797816.352    21797819.650    21797815.538
+      1816.485        1415.443          55.000          48.000
+ -24541492.63344 -19088151.86242  20644340.017    20644344.700    20644339.222
+       789.717         615.364          57.000          50.000
+  -5059549.46243  -3931174.10842  24174519.125    24174523.201    24174518.141
+      2363.137        1841.405          46.000          39.000
+  -1295886.34743   -975805.35042  25083744.556    25083754.920    25083744.457
+      1905.517        1484.818          42.000          36.000
+ 04  2  1 13 45  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -16176796.30843 -12600873.57942  22269285.749    22269289.479    22269285.519
+     -1806.159       -1407.397          53.000          46.000
+ -19106387.58643 -14867967.95742  21201997.826    21202002.722    21201996.865
+      2968.496        2313.114          54.000          48.000
+  -6123349.73143  -4768213.09342  24252541.593    24252541.547    24252539.641
+      2321.399        1808.882          47.000          39.000
+ -28163504.68544 -21905579.53742  20289378.647    20289382.026    20289377.540
+       115.150          89.727          57.000          51.000
+ -18436875.74643 -14354081.64342  21787454.221    21787456.409    21787452.677
+      1814.590        1413.966          55.000          48.000
+ -24564880.12244 -19106375.86642  20639889.913    20639893.722    20639888.596
+       769.957         599.966          57.000          50.000
+  -5130335.96043  -3986332.35542  24161049.631    24161052.350    24161047.799
+      2356.619        1836.326          46.000          39.000
+  -1353141.34343  -1020419.57742  25072851.753    25072859.498    25072847.311
+      1912.278        1490.087          43.000          34.000
+ 04  2  1 13 45 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -16122376.54343 -12558468.56242  22279641.999    22279645.678    22279641.745
+     -1821.996       -1419.737          52.000          46.000
+ -19195237.22143 -14937201.40542  21185090.408    21185095.180    21185089.274
+      2954.685        2302.352          54.000          48.000
+  -6193031.27643  -4822510.34942  24239279.879    24239284.287    24239277.959
+      2324.038        1810.939          46.000          39.000
+ -28166660.27644 -21908038.45042  20288777.656    20288781.565    20288777.223
+        95.140          74.135          57.000          51.000
+ -18491279.73043 -14396474.33942  21777100.907    21777103.903    21777099.769
+      1812.196        1412.101          55.000          48.000
+ -24587678.87944 -19124141.11242  20635551.181    20635555.323    20635550.070
+       749.797         584.257          57.000          50.000
+  -5200922.74843  -4041335.00542  24147615.837    24147621.147    24147614.617
+      2349.229        1830.568          45.000          39.000
+  -1410589.45243  -1065184.21642  25061918.248    25061925.659    25061916.191
+      1917.774        1494.369          42.000          35.000
+ 04  2  1 13 46  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -16067489.24543 -12515699.23642  22290086.574    22290090.651    22290086.179
+     -1837.682       -1431.960          53.000          46.000
+ -19283683.16343 -15006120.28242  21168260.051    21168264.284    21168258.778
+      2941.066        2291.740          54.000          48.000
+  -6262806.94243  -4876880.93142  24226002.499    24226006.347    24226001.177
+      2326.781        1813.076          46.000          40.000
+ -28169229.02244 -21910040.08242  20288289.238    20288293.039    20288288.324
+        75.374          58.733          57.000          52.000
+ -18545623.86443 -14438820.39142  21766760.248    21766762.652    21766758.490
+      1810.003        1410.392          55.000          48.000
+ -24609883.29643 -19141443.23342  20631325.326    20631330.144    20631324.707
+       729.753         568.639          56.000          50.000
+  -5271305.11043  -4096178.39742  24134223.713    24134227.890    24134221.903
+      2342.354        1825.211          46.000          40.000
+  -1468223.41743  -1110093.68042  25050950.002    25050959.041    25050948.644
+      1923.748        1499.024          43.000          36.000
+ 04  2  1 13 46 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -16012140.73643 -12472570.52342  22300618.957    22300623.113    22300618.156
+     -1852.936       -1443.846          52.000          46.000
+ -19371726.70643 -15074725.60042  21151505.929    21151509.807    21151504.624
+      2927.685        2281.313          54.000          48.000
+  -6332681.03043  -4931328.23642  24212705.087    24212710.207    24212703.477
+      2330.812        1816.217          46.000          39.000
+ -28171215.04744 -21911587.65242  20287911.475    20287914.900    20287910.611
+        56.129          43.737          57.000          52.000
+ -18599911.35743 -14481122.31842  21756429.052    21756431.840    21756427.559
+      1808.280        1409.049          55.000          49.000
+ -24631496.71844 -19158284.84942  20627212.746    20627217.231    20627211.830
+       710.309         553.488          57.000          50.000
+  -5341487.37843  -4150865.82542  24120867.948    24120872.116    24120865.392
+      2335.292        1819.708          46.000          40.000
+  -1526045.75443  -1155149.95342  25039948.992    25039955.603    25039946.439
+      1930.376        1504.189          43.000          36.000
+ 04  2  1 13 47  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15956332.56643 -12429083.63342  22311238.863    22311242.983    22311238.521
+     -1868.432       -1455.921          52.000          46.000
+ -19459364.29643 -15143014.60242  21134829.013    21134833.395    21134828.054
+      2913.864        2270.543          55.000          48.000
+  -6402652.94243  -4985851.75742  24199389.355    24199392.733    24199389.449
+      2333.648        1818.427          45.000          39.000
+ -28172617.69044 -21912680.62942  20287644.375    20287648.097    20287643.544
+        36.398          28.362          57.000          51.000
+ -18654140.51443 -14523378.77542  21746109.628    21746112.988    21746108.284
+      1806.008        1407.279          55.000          49.000
+ -24652518.08444 -19174665.11342  20623212.763    20623216.892    20623211.977
+       690.243         537.852          57.000          50.000
+  -5411469.17743  -4205397.06042  24107548.949    24107555.498    24107549.445
+      2328.497        1814.413          46.000          40.000
+  -1584053.73243  -1200350.89442  25028911.117    25028918.142    25028909.186
+      1936.113        1508.659          43.000          36.000
+ 04  2  1 13 47 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15900063.95743 -12385237.95942  22321946.563    22321950.685    22321946.575
+     -1883.862       -1467.944          53.000          46.000
+ -19546590.26043 -15210982.85042  21118230.534    21118235.202    21118228.752
+      2900.062        2259.789          55.000          48.000
+  -6472720.10943  -5040449.49242  24186056.948    24186060.704    24186057.505
+      2336.839        1820.914          47.000          39.000
+ -28173434.17344 -21913316.86442  20287489.171    20287492.790    20287488.174
+        16.872          13.147          57.000          51.000
+ -18708307.22743 -14565586.57842  21735801.956    21735804.932    21735800.610
+      1803.909        1405.643          55.000          49.000
+ -24672943.80444 -19190581.24442  20619326.185    20619330.003    20619324.928
+       670.435         522.417          57.000          50.000
+  -5481247.98643  -4259770.11642  24094271.480    24094277.362    24094270.901
+      2321.856        1809.238          46.000          40.000
+  -1642243.04643  -1245693.08942  25017836.261    25017842.130    25017833.975
+      1942.455        1513.601          43.000          36.000
+ 04  2  1 13 48  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15843340.22143 -12341037.63542  22332740.759    22332743.920    22332739.099
+     -1898.348       -1479.232          52.000          46.000
+ -19633404.37543 -15278630.18142  21101709.773    21101714.843    21101708.580
+      2886.673        2249.356          54.000          48.000
+  -6542885.09343  -5095123.50342  24172705.240    24172709.995    24172706.416
+      2340.124        1823.473          46.000          39.000
+ -28173667.06244 -21913498.35042  20287445.031    20287448.111    20287443.989
+        -2.115          -1.648          57.000          52.000
+ -18762413.94843 -14607747.64742  21725506.021    21725508.836    21725504.591
+      1802.437        1404.496          55.000          49.000
+ -24692775.89044 -19206034.80442  20615551.743    20615556.150    20615551.034
+       650.996         507.270          57.000          50.000
+  -5550826.85943  -4313987.39942  24081031.078    24081036.281    24081030.036
+      2315.952        1804.638          46.000          40.000
+  -1700614.33943  -1291177.08442  25006727.300    25006736.536    25006727.840
+      1948.612        1518.399          43.000          36.000
+ 04  2  1 13 48 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15786161.90443 -12296483.11142  22343621.477    22343625.638    22343620.830
+     -1913.935       -1491.378          52.000          46.000
+ -19719802.31743 -15345953.21842  21085269.162    21085273.937    21085267.424
+      2872.449        2238.272          54.000          48.000
+  -6613146.63743  -5149872.69742  24159334.506    24159339.108    24159334.362
+      2343.073        1825.771          46.000          39.000
+ -28173314.93544 -21913223.97742  20287512.025    20287515.513    20287511.002
+       -22.048         -17.180          57.000          52.000
+ -18816457.92143 -14649859.81042  21715221.925    21715224.488    21715220.735
+      1799.817        1402.455          55.000          49.000
+ -24712012.29644 -19221024.19842  20611891.185    20611895.542    20611890.237
+       630.802         491.534          57.000          50.000
+  -5620204.75643  -4368048.03042  24067828.691    24067834.128    24067827.749
+      2308.818        1799.079          46.000          40.000
+  -1759164.71943  -1336800.63442  24995585.869    24995595.652    24995583.755
+      1953.858        1522.487          43.000          36.000
+ 04  2  1 13 49  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15728530.14243 -12251575.24442  22354588.652    22354592.084    22354588.280
+     -1928.406       -1502.654          53.000          45.000
+ -19805779.92643 -15412948.71942  21068907.978    21068912.585    21068906.613
+      2858.990        2227.784          54.000          49.000
+  -6683503.55343  -5204696.22142  24145946.315    24145949.219    24145946.521
+      2346.850        1828.714          46.000          39.000
+ -28172376.78644 -21912492.96342  20287690.603    20287693.939    20287689.749
+       -40.897         -31.868          57.000          52.000
+ -18870437.05243 -14691921.45542  21704949.645    21704952.581    21704948.273
+      1798.363        1401.322          55.000          49.000
+ -24730651.71443 -19235548.40042  20608344.042    20608348.581    20608343.075
+       611.586         476.561          56.000          50.000
+  -5689380.77943  -4421951.39942  24054665.376    24054669.879    24054664.502
+      2302.787        1794.379          46.000          40.000
+  -1817891.21143  -1382561.40142  24984411.522    24984418.947    24984407.998
+      1960.759        1527.864          44.000          36.000
+ 04  2  1 13 49 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15670446.77743 -12206315.46542  22365641.190    22365645.042    22365640.630
+     -1943.790       -1514.641          52.000          46.000
+ -19891334.05543 -15479614.23942  21052627.653    21052632.136    21052626.176
+      2844.460        2216.462          54.000          48.000
+  -6753955.32443  -5259593.68942  24132539.795    24132543.120    24132538.644
+      2349.756        1830.979          46.000          39.000
+ -28170852.15344 -21911304.94542  20287980.471    20287984.210    20287979.510
+       -60.923         -47.472          57.000          52.000
+ -18924350.11243 -14733931.61742  21694689.703    21694693.662    21694688.519
+      1795.734        1399.273          55.000          49.000
+ -24748693.06543 -19249606.57942  20604911.315    20604915.503    20604910.118
+       591.149         460.635          56.000          50.000
+  -5758354.74743  -4475697.28842  24041539.536    24041545.564    24041538.707
+      2295.490        1788.694          46.000          40.000
+  -1876791.21543  -1428457.38342  24973201.485    24973209.724    24973201.411
+      1965.982        1531.934          43.000          37.000
+ 04  2  1 13 50  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15611915.42043 -12160706.61442  22376779.463    22376782.814    22376779.239
+     -1958.277       -1525.930          53.000          45.000
+ -19976463.10843 -15545948.52442  21036427.645    21036432.387    21036426.270
+      2830.632        2205.687          54.000          48.000
+  -6824503.23043  -5314566.05242  24119114.481    24119117.290    24119113.709
+      2353.516        1833.909          46.000          40.000
+ -28168742.55044 -21909661.11642  20288381.768    20288385.518    20288380.846
+       -79.770         -62.158          57.000          52.000
+ -18978197.12943 -14775890.32442  21684443.121    21684446.836    21684442.079
+      1794.022        1397.939          55.000          49.000
+ -24766137.17844 -19263199.38242  20601591.453    20601596.064    20601590.441
+       571.730         445.504          57.000          50.000
+  -5827128.43743  -4529287.11542  24028451.416    24028457.958    24028450.840
+      2289.530        1784.049          45.000          40.000
+  -1935864.20143  -1474488.12942  24961961.195    24961968.553    24961959.633
+      1972.079        1536.685          43.000          37.000
+ 04  2  1 13 50 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15552933.79643 -12114746.90442  22388002.692    22388007.468    22388003.027
+     -1973.253       -1537.600          52.000          45.000
+ -20061159.82043 -15611945.92842  21020310.844    21020315.190    21020309.184
+      2816.236        2194.470          54.000          48.000
+  -6895142.97143  -5369609.99342  24105671.936    24105676.255    24105669.346
+      2356.199        1835.999          46.000          39.000
+ -28166043.49444 -21907557.96642  20288895.631    20288899.073    20288894.525
+       -99.503         -77.535          57.000          52.000
+ -19031972.77043 -14817793.41842  21674209.971    21674213.645    21674209.148
+      1791.636        1396.080          55.000          48.000
+ -24782979.15244 -19276322.98242  20598387.024    20598390.900    20598386.246
+       551.638         429.848          57.000          50.000
+  -5895697.70843  -4582717.63242  24015404.306    24015408.724    24015402.843
+      2282.580        1778.634          46.000          40.000
+  -1995103.89843  -1520648.80642  24950688.123    24950695.848    24950687.126
+      1977.374        1540.811          44.000          38.000
+ 04  2  1 13 51  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15493508.41043 -12068441.39642  22399311.407    22399315.071    22399311.287
+     -1988.332       -1549.350          52.000          45.000
+ -20145425.41243 -15677607.39442  21004275.430    21004280.124    21004273.661
+      2801.427        2182.930          54.000          48.000
+  -6965878.58743  -5424728.66642  24092211.097    24092215.774    24092209.936
+      2359.405        1838.497          46.000          39.000
+ -28162759.44144 -21904998.97042  20289520.879    20289524.147    20289519.656
+      -119.267         -92.935          57.000          52.000
+ -19085680.10943 -14859643.28942  21663990.331    21663993.405    21663988.750
+      1789.026        1394.046          55.000          49.000
+ -24799222.62944 -19288980.22842  20595295.631    20595299.742    20595294.574
+       531.374         414.058          57.000          50.000
+  -5964066.88243  -4635992.25242  24002394.728    24002399.811    24002393.132
+      2275.573        1773.174          46.000          40.000
+  -2054512.57843  -1566941.12542  24939383.291    24939391.504    24939381.799
+      1982.716        1544.974          44.000          37.000
+ 04  2  1 13 51 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15433638.07243 -12021789.18842  22410704.176    22410708.006    22410704.008
+     -2002.905       -1560.705          52.000          45.000
+ -20229253.55143 -15742927.98642  20988323.429    20988327.747    20988322.196
+      2787.020        2171.704          54.000          48.000
+  -7036706.62243  -5479919.31942  24078732.742    24078738.288    24078732.322
+      2362.484        1840.897          46.000          39.000
+ -28158886.94444 -21901981.44942  20290257.786    20290261.196    20290256.812
+      -138.791        -108.149          58.000          52.000
+ -19139314.96043 -14901436.67542  21653783.654    21653787.430    21653782.393
+      1786.629        1392.178          55.000          49.000
+ -24814863.62744 -19301168.00242  20592319.274    20592323.385    20592318.269
+       511.430         398.517          57.000          50.000
+  -6032232.91043  -4689108.54442  23989422.206    23989427.770    23989420.119
+      2268.952        1768.015          45.000          40.000
+  -2114084.83443  -1613360.95842  24928046.613    24928054.408    24928045.636
+      1988.626        1549.579          44.000          37.000
+ 04  2  1 13 52  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15373328.89243 -11974795.00642  22422180.833    22422184.648    22422179.923
+     -2017.557       -1572.122          52.000          45.000
+ -20312645.12443 -15807908.40142  20972454.760    20972458.880    20972453.708
+      2772.465        2160.362          55.000          49.000
+  -7107630.82743  -5535184.91742  24065237.380    24065239.560    24065236.128
+      2365.800        1843.480          46.000          39.000
+ -28154429.96644 -21898508.49042  20291105.765    20291109.241    20291104.859
+      -158.323        -123.368          57.000          52.000
+ -19192879.68643 -14943175.42942  21643590.515    21643594.300    21643589.128
+      1784.237        1390.315          55.000          49.000
+ -24829905.73643 -19312889.12042  20589456.686    20589460.881    20589455.751
+       491.404         382.912          56.000          50.000
+  -6100199.99343  -4742069.84142  23976489.707    23976493.166    23976486.909
+      2262.210        1762.761          46.000          40.000
+  -2173822.75643  -1659909.80742  24916678.973    24916686.208    24916678.028
+      1994.037        1553.795          45.000          38.000
+ 04  2  1 13 52 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15312578.44643 -11927457.00642  22433741.330    22433745.034    22433740.442
+     -2032.786       -1583.989          52.000          45.000
+ -20395592.75143 -15872542.89342  20956670.255    20956674.424    20956668.624
+      2757.037        2148.340          55.000          49.000
+  -7178646.30243  -5590521.60842  24051723.231    24051726.914    24051722.654
+      2368.401        1845.507          46.000          39.000
+ -28149383.77244 -21894576.40542  20292065.798    20292069.416    20292064.887
+      -178.532        -139.116          57.000          52.000
+ -19246368.36343 -14984854.90942  21633411.863    21633415.615    21633410.737
+      1781.087        1387.860          55.000          49.000
+ -24844343.71843 -19324139.48042  20586709.131    20586713.377    20586708.082
+       470.654         366.743          56.000          50.000
+  -6167963.69943  -4794872.64842  23963592.582    23963598.505    23963592.359
+      2254.941        1757.097          45.000          40.000
+  -2233719.38643  -1706582.31742  24905280.318    24905288.824    24905279.286
+      1998.470        1557.249          44.000          38.000
+ 04  2  1 13 53  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15251387.90743 -11879776.05942  22445385.187    22445389.561    22445384.754
+     -2047.121       -1595.159          52.000          45.000
+ -20478092.12343 -15936828.07942  20940971.033    20940975.487    20940969.484
+      2742.283        2136.844          55.000          49.000
+  -7249751.74443  -5645928.43642  24038192.664    24038196.478    24038192.134
+      2371.603        1848.002          47.000          40.000
+ -28143747.69644 -21890184.67142  20293138.272    20293141.955    20293137.377
+      -197.722        -154.069          57.000          52.000
+ -19299778.68543 -15026473.33442  21623248.304    21623251.586    21623247.078
+      1778.837        1386.107          56.000          49.000
+ -24858176.35243 -19334918.14342  20584077.118    20584081.332    20584076.122
+       450.854         351.315          56.000          50.000
+  -6235523.26543  -4847516.35842  23950734.695    23950741.595    23950735.034
+      2248.364        1751.972          44.000          39.000
+  -2293771.68543  -1753376.19542  24893851.601    24893859.271    24893850.617
+      2004.299        1561.791          42.000          37.000
+ 04  2  1 13 53 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15189764.51343 -11831757.82242  22457112.476    22457115.667    22457111.623
+     -2061.212       -1606.139          52.000          45.000
+ -20560145.50843 -16000765.75042  20925356.946    20925361.665    20925355.410
+      2727.658        2125.448          55.000          49.000
+  -7320951.95543  -5701409.08442  24024643.232    24024646.884    24024643.689
+      2374.996        1850.646          46.000          40.000
+ -28137527.03944 -21885337.41242  20294322.528    20294325.701    20294321.203
+      -217.018        -169.105          58.000          51.000
+ -19353114.81443 -15068033.94842  21613099.357    21613102.375    21613098.048
+      1776.606        1384.368          56.000          49.000
+ -24871408.20744 -19345228.66542  20581559.102    20581563.570    20581558.294
+       431.123         335.940          57.000          50.000
+  -6302883.82843  -4900005.04942  23937918.414    23937924.806    23937917.156
+      2242.197        1747.166          44.000          39.000
+  -2353982.56043  -1800293.64942  24882395.162    24882403.501    24882393.924
+      2009.167        1565.585          43.000          38.000
+ 04  2  1 13 54  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15127706.07843 -11783400.59342  22468921.450    22468924.806    22468920.719
+     -2075.441       -1617.227          52.000          45.000
+ -20641745.49143 -16064350.12242  20909829.234    20909833.483    20909827.404
+      2712.926        2113.968          55.000          49.000
+  -7392242.43643  -5756960.11942  24011077.951    24011080.445    24011077.857
+      2378.375        1853.279          47.000          40.000
+ -28130717.48344 -21880031.27742  20295618.266    20295621.429    20295617.331
+      -236.285        -184.118          58.000          52.000
+ -19406370.94443 -15109532.22242  21602964.370    21602967.864    21602963.182
+      1774.270        1382.548          56.000          49.000
+ -24884034.18644 -19355067.07942  20579156.337    20579160.604    20579155.623
+       411.240         320.447          57.000          50.000
+  -6370041.27443  -4952335.44542  23925139.354    23925144.579    23925138.248
+      2235.771        1742.159          45.000          40.000
+  -2414345.78143  -1847329.76642  24870908.978    24870916.290    24870906.744
+      2014.746        1569.932          45.000          39.000
+ 04  2  1 13 54 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15065216.36943 -11734707.31542  22480812.492    22480817.062    22480811.616
+     -2089.897       -1628.491          51.000          45.000
+ -20722890.86943 -16127580.25542  20894387.272    20894391.798    20894386.159
+      2697.479        2101.932          55.000          49.000
+  -7463624.20343  -5812582.23742  23997494.468    23997497.626    23997493.011
+      2381.251        1855.520          47.000          40.000
+ -28123320.50644 -21874267.40942  20297025.786    20297029.147    20297024.769
+      -256.108        -199.565          57.000          52.000
+ -19459547.34043 -15150968.36542  21592845.178    21592848.623    21592844.153
+      1771.540        1380.421          56.000          49.000
+ -24896055.38144 -19364434.23342  20576868.813    20576873.181    20576867.833
+       390.915         304.609          57.000          50.000
+  -6436997.29843  -5004508.90842  23912399.196    23912402.343    23912397.591
+      2228.853        1736.768          47.000          40.000
+  -2474860.40743  -1894483.87842  24859393.324    24859399.424    24859391.099
+      2019.934        1573.975          45.000          39.000
+ 04  2  1 13 55  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -15002297.59843 -11685679.69542  22492785.473    22492789.561    22492785.087
+     -2104.255       -1639.679          51.000          45.000
+ -20803578.45543 -16190453.65742  20879032.847    20879037.019    20879031.992
+      2681.936        2089.820          55.000          49.000
+  -7535097.27843  -5868275.55042  23983893.327    23983897.371    23983893.074
+      2384.369        1857.950          47.000          40.000
+ -28115336.33544 -21868045.98842  20298544.651    20298548.328    20298543.922
+      -275.793        -214.904          57.000          52.000
+ -19512642.91043 -15192341.53142  21582741.816    21582745.166    21582740.561
+      1768.521        1378.068          56.000          49.000
+ -24907471.58043 -19373329.96342  20574696.033    20574700.496    20574695.054
+       370.535         288.729          56.000          50.000
+  -6503752.38743  -5056525.76842  23899693.889    23899699.791    23899693.317
+      2221.717        1731.208          45.000          39.000
+  -2535524.42643  -1941754.38642  24847848.084    24847855.051    24847846.209
+      2024.619        1577.625          45.000          38.000
+ 04  2  1 13 55 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14938952.14043 -11636319.60942  22504840.609    22504843.688    22504839.038
+     -2118.541       -1650.811          52.000          45.000
+ -20883805.39043 -16252968.12742  20863766.340    20863770.666    20863765.066
+      2666.487        2077.782          55.000          49.000
+  -7606661.38643  -5924039.79142  23970274.882    23970278.377    23970274.579
+      2387.028        1860.022          47.000          41.000
+ -28106765.27544 -21861367.25542  20300176.135    20300179.527    20300175.064
+      -295.415        -230.193          57.000          52.000
+ -19565656.46043 -15233650.77342  21572653.874    21572656.814    21572652.437
+      1765.777        1375.930          56.000          49.000
+ -24918282.44644 -19381754.00942  20572638.985    20572643.362    20572638.043
+       350.268         272.936          57.000          50.000
+  -6570306.57343  -5108386.09542  23887030.825    23887034.281    23887028.351
+      2215.252        1726.170          46.000          40.000
+  -2596335.79443  -1989139.71342  24836276.912    24836283.159    24836275.291
+      2029.669        1581.560          44.000          38.000
+ 04  2  1 13 56  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14875177.37043 -11586624.99042  22516974.980    22516979.941    22516974.939
+     -2132.815       -1661.934          51.000          45.000
+ -20963564.13843 -16315117.76942  20848588.607    20848593.068    20848587.295
+      2650.929        2065.659          55.000          49.000
+  -7678311.18543  -5979870.82042  23956640.335    23956644.267    23956639.683
+      2389.856        1862.225          47.000          41.000
+ -28097602.79644 -21854227.67242  20301919.425    20301923.133    20301918.575
+      -315.136        -245.560          57.000          52.000
+ -19618581.62543 -15274891.14042  21562582.152    21562585.199    21562580.982
+      1762.872        1373.666          56.000          49.000
+ -24928483.10444 -19389702.56542  20570698.033    20570702.551    20570697.125
+       329.967         257.117          57.000          50.000
+  -6636655.31243  -5160086.35142  23874402.819    23874409.124    23874402.556
+      2208.338        1720.783          45.000          39.000
+  -2657287.50143  -2036634.45842  24824677.102    24824685.538    24824674.998
+      2034.111        1585.022          44.000          38.000
+ 04  2  1 13 56 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14810982.06543 -11536602.68142  22529191.280    22529195.539    22529190.851
+     -2147.112       -1673.074          51.000          45.000
+ -21042858.13343 -16376905.27042  20833498.730    20833503.835    20833498.013
+      2634.979        2053.230          55.000          49.000
+  -7750052.99343  -6035773.53842  23942988.895    23942992.743    23942987.056
+      2392.550        1864.325          48.000          41.000
+ -28087855.53544 -21846632.41842  20303774.594    20303777.954    20303773.523
+      -334.921        -260.977          57.000          52.000
+ -19671423.65443 -15316066.73442  21552526.174    21552529.583    21552525.042
+      1759.607        1371.122          55.000          49.000
+ -24938079.58044 -19397180.32942  20568872.000    20568876.022    20568871.003
+       309.533         241.195          57.000          50.000
+  -6702805.45943  -5211631.84542  23861816.201    23861820.817    23861814.792
+      2201.262        1715.269          46.000          39.000
+  -2718383.77843  -2084241.78242  24813051.283    24813058.012    24813050.250
+      2038.533        1588.467          45.000          38.000
+ 04  2  1 13 57  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14746364.00843 -11486250.95542  22541488.365    22541492.196    22541487.450
+     -2160.820       -1683.756          51.000          45.000
+ -21121680.02943 -16438324.90342  20818500.123    20818505.243    20818498.959
+      2619.594        2041.242          55.000          49.000
+  -7821881.97043  -6091744.16742  23929320.424    23929322.707    23929319.579
+      2395.604        1866.704          48.000          41.000
+ -28077519.47444 -21838578.36242  20305741.195    20305745.005    20305740.371
+      -354.392        -276.150          57.000          51.000
+ -19724176.87243 -15357173.12242  21542488.139    21542491.021    21542486.720
+      1757.001        1369.092          55.000          49.000
+ -24947066.99344 -19404183.49542  20567161.819    20567166.042    20567160.905
+       289.419         225.521          57.000          50.000
+  -6768752.74443  -5263019.28242  23849265.821    23849271.709    23849265.020
+      2194.872        1710.290          46.000          39.000
+  -2779618.05643  -2131956.64942  24801399.122    24801405.294    24801398.136
+      2043.638        1592.445          46.000          39.000
+ 04  2  1 13 57 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14681328.52543 -11435573.96942  22553863.563    22553868.408    22553863.017
+     -2174.562       -1694.464          51.000          45.000
+ -21200030.08743 -16499376.86642  20803590.359    20803595.359    20803589.149
+      2603.925        2029.032          55.000          49.000
+  -7893800.87143  -6147784.86742  23915634.874    23915638.095    23915634.708
+      2398.847        1869.231          48.000          41.000
+ -28066597.86144 -21830068.03042  20307819.574    20307823.154    20307818.613
+      -373.554        -291.081          57.000          51.000
+ -19776842.81643 -15398211.50542  21532466.471    21532469.280    21532464.950
+      1754.266        1366.960          56.000          49.000
+ -24955448.12544 -19410714.24342  20565566.961    20565570.758    20565566.038
+       269.447         209.959          57.000          50.000
+  -6834500.45343  -5314251.19742  23836754.769    23836760.378    23836754.458
+      2188.627        1705.424          45.000          40.000
+  -2840991.18043  -2179779.69842  24789720.285    24789725.894    24789718.587
+      2048.399        1596.155          46.000          39.000
+ 04  2  1 13 58  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14615889.11543 -11384582.22242  22566317.312    22566321.722    22566316.204
+     -2188.706       -1705.485          51.000          45.000
+ -21277916.71543 -16560067.71642  20788769.064    20788773.272    20788767.993
+      2587.847        2016.504          55.000          49.000
+  -7965820.51743  -6203904.09142  23901928.466    23901933.339    23901927.776
+      2401.765        1871.505          47.000          41.000
+ -28055102.40444 -21821110.54942  20310007.216    20310010.604    20310006.205
+      -393.343        -306.501          57.000          52.000
+ -19829431.44543 -15439189.64842  21522459.312    21522461.682    21522457.967
+      1751.168        1364.546          56.000          49.000
+ -24963234.16943 -19416781.28542  20564084.699    20564089.386    20564083.924
+       248.950         193.987          56.000          50.000
+  -6900060.06343  -5365336.55142  23824279.488    23824284.734    23824278.600
+      2181.635        1699.975          46.000          40.000
+  -2902512.08643  -2227717.92642  24778013.420    24778020.624    24778011.607
+      2052.773        1599.563          45.000          38.000
+ 04  2  1 13 58 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14550020.01943 -11333255.66442  22578851.504    22578855.548    22578850.741
+     -2202.477       -1716.216          51.000          45.000
+ -21355308.61143 -16620373.07042  20774042.297    20774046.575    20774041.005
+      2571.644        2003.878          56.000          49.000
+  -8037912.28243  -6260079.49042  23888209.923    23888213.913    23888210.166
+      2404.355        1873.523          46.000          40.000
+ -28043005.25544 -21811684.21242  20312309.227    20312312.801    20312308.258
+      -413.098        -321.894          57.000          52.000
+ -19881913.26543 -15480084.56342  21512471.686    21512474.789    21512470.756
+      1747.810        1361.930          56.000          49.000
+ -24970396.63444 -19422362.41942  20562722.114    20562726.529    20562721.069
+       228.558         178.097          57.000          50.000
+  -6965403.69343  -5416253.60942  23811845.742    23811849.927    23811843.865
+      2174.777        1694.631          47.000          40.000
+  -2964150.46443  -2275747.69242  24766282.999    24766290.759    24766281.515
+      2056.833        1602.727          44.000          38.000
+ 04  2  1 13 59  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14483737.36043 -11281606.84742  22591464.782    22591468.359    22591463.927
+     -2215.753       -1726.561          51.000          45.000
+ -21432217.15543 -16680301.77842  20759407.219    20759411.272    20759405.685
+      2556.001        1991.689          56.000          49.000
+  -8110089.78643  -6316321.71342  23874476.455    23874477.589    23874474.100
+      2408.080        1876.426          47.000          40.000
+ -28030320.60944 -21801800.08442  20314723.003    20314726.522    20314722.177
+      -432.106        -336.706          57.000          52.000
+ -19934300.77543 -15520906.00542  21502502.696    21502506.351    21502501.409
+      1745.147        1359.855          55.000          49.000
+ -24976949.50843 -19427468.54742  20561475.058    20561479.567    20561474.212
+       208.683         162.610          56.000          50.000
+  -7030545.70143  -5467013.57742  23799449.465    23799452.697    23799448.152
+      2168.551        1689.780          46.000          39.000
+  -3025917.88243  -2323877.99642  24754529.393    24754536.719    24754527.171
+      2061.470        1606.340          45.000          39.000
+ 04  2  1 13 59 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14417043.02743 -11229637.25642  22604155.693    22604159.546    22604155.205
+     -2230.330       -1737.919          51.000          45.000
+ -21508638.84443 -16739851.11842  20744864.119    20744868.417    20744862.835
+      2538.949        1978.402          55.000          49.000
+  -8182352.39643  -6372630.22342  23860724.105    23860728.865    23860724.032
+      2409.665        1877.661          46.000          40.000
+ -28017048.60344 -21791458.27442  20317248.638    20317252.170    20317247.813
+      -452.581        -352.660          57.000          52.000
+ -19986592.22343 -15561652.58942  21492552.227    21492555.220    21492550.667
+      1741.019        1356.638          56.000          49.000
+ -24982892.01744 -19432099.06742  20560344.273    20560348.832    20560343.044
+       187.559         146.150          57.000          50.000
+  -7095485.86243  -5517616.23642  23787091.499    23787097.177    23787089.504
+      2161.100        1683.974          46.000          40.000
+  -3087811.85143  -2372106.91042  24742752.075    24742757.427    24742749.274
+      2064.610        1608.787          46.000          39.000
+ 04  2  1 14  0  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14349940.56143 -11177349.64442  22616925.721    22616929.786    22616925.038
+     -2243.075       -1747.851          51.000          45.000
+ -21584572.42543 -16799020.11242  20730414.635    20730419.199    20730413.169
+      2523.594        1966.437          55.000          49.000
+  -8254700.72143  -6429005.55142  23846957.587    23846960.951    23846958.094
+      2413.289        1880.485          47.000          40.000
+ -28003190.42044 -21780659.70442  20319885.506    20319889.503    20319884.675
+      -471.456        -367.368          57.000          52.000
+ -20038787.52143 -15602324.25242  21482619.338    21482622.658    21482618.361
+      1738.637        1354.782          56.000          49.000
+ -24988225.03843 -19436254.66042  20559329.703    20559333.785    20559328.703
+       168.041         130.941          56.000          50.000
+  -7160225.58343  -5568062.68442  23774771.643    23774777.868    23774770.064
+      2154.870        1679.119          46.000          40.000
+  -3149830.88843  -2420433.30142  24730949.441    24730955.908    24730946.468
+      2070.002        1612.989          44.000          38.000
+ 04  2  1 14  0 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14282430.93543 -11124744.75442  22629771.880    22629774.920    22629771.553
+     -2257.391       -1759.006          51.000          44.000
+ -21660013.43943 -16857805.29042  20716058.508    20716063.317    20716057.183
+      2506.237        1952.912          55.000          49.000
+  -8327132.77643  -6485446.08642  23833174.698    23833176.023    23833173.448
+      2415.384        1882.117          48.000          40.000
+ -27988745.30044 -21769403.78142  20322634.936    20322637.951    20322633.694
+      -491.634        -383.091          57.000          52.000
+ -20090883.73743 -15642918.70742  21472706.065    21472709.448    21472704.688
+      1734.469        1351.534          55.000          49.000
+ -24992947.24944 -19439934.29842  20558430.823    20558435.163    20558429.985
+       146.908         114.474          57.000          50.000
+  -7224763.70843  -5618352.08542  23762490.267    23762495.172    23762490.623
+      2147.467        1673.351          46.000          40.000
+  -3211971.63543  -2468854.52242  24719125.159    24719130.948    24719121.866
+      2073.161        1615.450          45.000          37.000
+ 04  2  1 14  1  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14214515.93143 -11071823.98842  22642696.404    22642699.573    22642695.498
+     -2270.791       -1769.447          52.000          45.000
+ -21734958.53043 -16916204.03342  20701796.767    20701801.501    20701795.449
+      2489.433        1939.818          55.000          49.000
+  -8399647.75243  -6541951.27442  23819375.101    23819378.615    23819375.548
+      2418.002        1884.157          47.000          40.000
+ -27973713.59244 -21757690.77842  20325494.939    20325498.439    20325493.910
+      -511.283        -398.402          57.000          52.000
+ -20142879.14143 -15683434.60942  21462811.097    21462814.953    21462810.137
+      1730.973        1348.810          56.000          49.000
+ -24997058.35644 -19443137.75742  20557648.659    20557652.793    20557647.643
+       126.392          98.487          57.000          50.000
+  -7289100.12143  -5668484.30842  23750246.395    23750252.094    23750246.404
+      2140.902        1668.235          46.000          40.000
+  -3274231.55843  -2517368.60442  24707275.469    24707282.344    24707273.613
+      2076.724        1618.226          44.000          37.000
+ 04  2  1 14  1 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14146198.79943 -11018589.86742  22655696.809    22655700.198    22655695.657
+     -2283.763       -1779.555          52.000          45.000
+ -21809406.06943 -16974215.07942  20687630.236    20687634.093    20687628.832
+      2473.522        1927.420          56.000          49.000
+  -8472246.38343  -6598521.64542  23805558.391    23805562.540    23805558.052
+      2421.622        1886.978          46.000          40.000
+ -27958096.56244 -21745521.67942  20328466.880    20328470.356    20328465.945
+      -530.202        -413.144          57.000          52.000
+ -20194772.83943 -15723871.27242  21452936.692    21452939.766    21452935.061
+      1728.217        1346.662          56.000          49.000
+ -25000559.13344 -19445865.63142  20556982.419    20556986.453    20556981.633
+       106.659          83.111          57.000          50.000
+  -7353235.99243  -5718460.25642  23738042.209    23738047.433    23738040.840
+      2134.757        1663.447          45.000          40.000
+  -3336609.08543  -2565974.25642  24695407.675    24695412.361    24695405.446
+      2081.367        1621.844          46.000          37.000
+ 04  2  1 14  2  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14077483.26943 -10965045.31442  22668772.023    22668776.706    22668771.615
+     -2297.187       -1790.016          51.000          44.000
+ -21883354.22243 -17031836.99242  20673558.168    20673562.721    20673556.599
+      2456.449        1914.116          55.000          49.000
+  -8544929.04543  -6655157.46542  23791728.034    23791732.077    23791727.592
+      2424.119        1888.924          46.000          40.000
+ -27941895.77944 -21732897.70942  20331549.959    20331553.297    20331548.953
+      -549.964        -428.543          57.000          52.000
+ -20246564.92343 -15764228.75642  21443081.063    21443083.652    21443079.709
+      1724.445        1343.723          56.000          49.000
+ -25003450.57643 -19448118.69842  20556432.154    20556436.414    20556430.904
+        85.996          67.010          56.000          50.000
+  -7417172.80143  -5768281.11042  23725875.965    23725880.797    23725875.770
+      2127.711        1657.957          47.000          40.000
+  -3399103.06243  -2614670.68842  24683512.491    24683519.470    24683510.966
+      2084.820        1624.535          43.000          37.000
+ 04  2  1 14  2 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -14008368.22243 -10911189.44742  22681924.892    22681928.155    22681924.076
+     -2309.787       -1799.834          52.000          44.000
+ -21956797.31643 -17089065.34242  20659582.646    20659586.691    20659580.926
+      2440.275        1901.513          55.000          49.000
+  -8617692.09443  -6711855.93342  23777881.858    23777884.621    23777881.466
+      2427.645        1891.671          47.000          40.000
+ -27925108.63144 -21719816.83542  20334744.111    20334747.948    20334743.207
+      -568.654        -443.107          57.000          52.000
+ -20298250.71643 -15804503.40842  21433245.706    21433248.921    21433244.051
+      1721.768        1341.637          56.000          49.000
+ -25005729.37644 -19449894.38142  20555998.686    20556002.584    20555997.464
+        66.397          51.738          57.000          50.000
+  -7480907.66443  -5817944.62142  23713747.580    23713752.143    23713746.402
+      2121.852        1653.391          47.000          40.000
+  -3461708.12743  -2663453.72442  24671599.472    24671608.183    24671599.693
+      2089.331        1628.050          44.000          37.000
+ 04  2  1 14  3  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13938857.11443 -10857024.95242  22695151.674    22695155.753    22695150.894
+     -2323.479       -1810.503          51.000          44.000
+ -22029733.29943 -17145898.55142  20645703.219    20645707.359    20645701.699
+      2422.653        1887.782          56.000          49.000
+  -8690536.12843  -6768617.51742  23764020.879    23764024.256    23764019.347
+      2429.496        1893.114          47.000          41.000
+ -27907736.48944 -21706280.11642  20338050.115    20338053.835    20338049.112
+      -588.776        -458.786          57.000          52.000
+ -20349829.55043 -15844694.71942  21423429.927    21423433.466    21423429.261
+      1717.514        1338.323          56.000          49.000
+ -25007396.51943 -19451193.44542  20555681.010    20555685.383    20555680.036
+        45.328          35.321          56.000          50.000
+  -7544441.88843  -5867451.76042  23701657.224    23701662.863    23701657.209
+      2114.460        1647.631          47.000          41.000
+  -3524422.77143  -2712322.13342  24659664.916    24659673.275    24659663.929
+      2092.566        1630.571          43.000          38.000
+ 04  2  1 14  3 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13868953.52743 -10802554.63542  22708454.098    22708458.463    22708454.369
+     -2336.713       -1820.815          51.000          45.000
+ -22102160.59243 -17202335.38442  20631920.088    20631924.850    20631919.195
+      2405.556        1874.459          55.000          49.000
+  -8763461.81843  -6825442.71142  23750142.989    23750146.145    23750143.338
+      2432.090        1895.135          47.000          40.000
+ -27889781.23344 -21692289.02642  20341466.618    20341470.524    20341465.878
+      -608.354        -474.042          57.000          51.000
+ -20401301.16943 -15884802.47642  21413635.786    21413638.989    21413634.612
+      1713.772        1335.407          56.000          49.000
+ -25008453.51544 -19452017.07342  20555480.225    20555484.042    20555479.263
+        24.914          19.414          57.000          50.000
+  -7607776.89343  -5916803.66842  23689604.915    23689610.412    23689604.245
+      2107.713        1642.374          47.000          41.000
+  -3587245.69543  -2761274.93742  24647711.886    24647717.570    24647708.448
+      2095.806        1633.095          44.000          38.000
+ 04  2  1 14  4  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13798657.79943 -10747778.76742  22721831.593    22721834.933    22721830.437
+     -2349.389       -1830.693          51.000          44.000
+ -22174074.51943 -17258372.18542  20618235.787    20618240.263    20618234.650
+      2388.978        1861.541          56.000          49.000
+  -8836466.36243  -6882329.33842  23736251.501    23736253.928    23736250.527
+      2435.271        1897.614          48.000          40.000
+ -27871241.43244 -21677842.44642  20344994.891    20344998.289    20344993.856
+      -627.447        -488.920          57.000          51.000
+ -20452662.30943 -15924824.14942  21403861.996    21403864.879    21403860.606
+      1710.463        1332.828          56.000          49.000
+ -25008898.41944 -19452363.74942  20555395.612    20555399.768    20555394.645
+         4.965           3.869          57.000          50.000
+  -7670910.99443  -5965999.04842  23677590.207    23677595.067    23677589.275
+      2101.504        1637.536          46.000          40.000
+  -3650172.41643  -2810308.63742  24635737.223    24635741.911    24635733.910
+      2099.899        1636.285          43.000          37.000
+ 04  2  1 14  4 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13727972.93643 -10692699.66942  22735282.580    22735285.118    22735281.211
+     -2362.812       -1841.152          51.000          44.000
+ -22245473.26443 -17314007.55042  20604648.959    20604653.252    20604647.519
+      2371.204        1847.691          55.000          49.000
+  -8909550.23343  -6939277.80542  23722342.747    23722346.837    23722342.881
+      2437.265        1899.168          47.000          41.000
+ -27852118.64844 -21662941.59142  20348634.023    20348637.299    20348633.006
+      -647.308        -504.396          57.000          51.000
+ -20503911.84943 -15964758.85742  21394109.024    21394112.969    21394107.812
+      1706.291        1329.577          56.000          50.000
+ -25008731.76543 -19452233.87742  20555427.048    20555431.229    20555425.971
+       -15.911         -12.398          56.000          50.000
+  -7733845.42243  -6015038.81342  23665613.789    23665620.918    23665613.416
+      2094.394        1631.995          46.000          41.000
+  -3713201.69043  -2859422.21342  24623741.583    24623749.811    24623739.056
+      2102.495        1638.308          42.000          37.000
+ 04  2  1 14  5  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13656901.01743 -10637318.97442  22748805.869    22748809.811    22748805.286
+     -2374.956       -1850.615          50.000          44.000
+ -22316353.55343 -17369238.92042  20591161.070    20591165.199    20591159.598
+      2354.401        1834.598          56.000          49.000
+  -8982712.34243  -6996287.22042  23708421.847    23708424.354    23708420.074
+      2440.516        1901.701          47.000          41.000
+ -27832412.85744 -21647586.44642  20352383.756    20352387.375    20352382.851
+      -666.183        -519.104          57.000          51.000
+ -20555047.84543 -16004605.08442  21384379.027    21384381.818    21384377.408
+      1703.021        1327.029          56.000          50.000
+ -25007953.42743 -19451627.36942  20555575.139    20555579.884    20555574.236
+       -35.788         -27.887          56.000          50.000
+  -7796580.00443  -6063922.85542  23653677.693    23653681.861    23653676.604
+      2088.337        1627.276          47.000          41.000
+  -3776330.52143  -2908613.40842  24611728.532    24611735.094    24611727.431
+      2106.287        1641.263          44.000          37.000
+ 04  2  1 14  5 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13585445.67743 -10581639.51342  22762403.610    22762407.979    22762402.840
+     -2387.787       -1860.613          50.000          44.000
+ -22386714.01543 -17424065.23042  20577771.650    20577776.169    20577770.371
+      2337.006        1821.044          55.000          49.000
+  -9055953.45143  -7053358.19242  23694483.122    23694486.065    23694482.726
+      2442.903        1903.561          47.000          41.000
+ -27812126.08944 -21631778.59342  20356244.164    20356247.688    20356243.439
+      -685.483        -534.142          57.000          51.000
+ -20606070.21843 -16044362.77342  21374669.477    21374672.418    21374667.772
+      1699.187        1324.042          56.000          50.000
+ -25006564.83743 -19450545.34542  20555839.007    20555843.688    20555838.247
+       -56.199         -43.791          56.000          50.000
+  -7859116.26243  -6112652.35742  23641776.986    23641781.948    23641776.377
+      2081.758        1622.149          47.000          41.000
+  -3839557.71243  -2957881.22342  24599697.251    24599704.692    24599696.370
+      2109.409        1643.695          46.000          38.000
+ 04  2  1 14  6  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13513605.10743 -10525659.86442  22776074.985    22776077.824    22776074.132
+     -2400.831       -1870.777          51.000          44.000
+ -22456547.94243 -17478481.25942  20564482.934    20564487.244    20564481.886
+      2319.209        1807.176          56.000          49.000
+  -9129268.70543  -7110486.92242  23680532.795    23680533.654    23680532.003
+      2445.266        1905.402          47.000          41.000
+ -27791254.99244 -21615515.42042  20360215.970    20360219.304    20360215.151
+      -705.250        -549.545          57.000          52.000
+ -20656973.15743 -16084027.39442  21364982.672    21364986.104    21364981.352
+      1694.979        1320.763          56.000          50.000
+ -25004561.88243 -19448984.59042  20556220.858    20556224.943    20556219.938
+       -76.684         -59.754          56.000          50.000
+  -7921450.20243  -6161224.20142  23629913.783    23629919.615    23629914.276
+      2074.553        1616.535          46.000          40.000
+  -3902876.69243  -3007220.54242  24587648.946    24587655.778    24587648.479
+      2112.456        1646.070          45.000          37.000
+ 04  2  1 14  6 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13441386.16743 -10469385.40142  22789817.637    22789821.598    22789816.069
+     -2413.639       -1880.758          51.000          44.000
+ -22525856.87943 -17532488.20342  20551293.757    20551298.106    20551292.153
+      2301.513        1793.387          56.000          50.000
+  -9202661.91143  -7167676.37742  23666565.469    23666569.196    23666564.603
+      2447.703        1907.301          47.000          41.000
+ -27769804.59444 -21598800.84142  20364297.889    20364301.310    20364296.799
+      -724.680        -564.686          57.000          51.000
+ -20707759.76443 -16123601.37042  21355318.704    21355321.277    21355317.102
+      1690.828        1317.528          56.000          50.000
+ -25001949.29044 -19446948.79242  20556717.549    20556721.813    20556716.690
+       -97.284         -75.806          57.000          50.000
+  -7983586.62743  -6209642.17042  23618089.602    23618094.758    23618088.518
+      2068.009        1611.436          46.000          40.000
+  -3966289.29443  -3056632.80942  24575581.067    24575588.182    24575578.786
+      2115.165        1648.181          43.000          36.000
+ 04  2  1 14  7  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13368787.50543 -10412815.04642  22803632.253    22803636.666    22803631.218
+     -2426.308       -1890.630          50.000          44.000
+ -22594634.64543 -17586081.24242  20538205.336    20538209.879    20538203.992
+      2283.490        1779.343          55.000          50.000
+  -9276128.76243  -7224923.23542  23652585.082    23652589.517    23652585.141
+      2449.773        1908.914          47.000          41.000
+ -27747771.81444 -21581632.46042  20368490.167    20368493.966    20368489.469
+      -744.249        -579.934          57.000          51.000
+ -20758424.28143 -16163080.20442  21345677.730    21345680.762    21345676.264
+      1686.636        1314.262          56.000          50.000
+ -24998723.33244 -19444435.04942  20557332.067    20557335.884    20557330.963
+      -117.935         -91.897          57.000          50.000
+  -8045522.17143  -6257903.58342  23606304.778    23606309.356    23606303.692
+      2061.287        1606.198          47.000          41.000
+  -4029789.36543  -3106113.28642  24563495.292    24563503.667    24563495.238
+      2117.742        1650.189          42.000          35.000
+ 04  2  1 14  7 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13295818.17843 -10355955.87042  22817517.678    22817521.747    22817516.978
+     -2439.206       -1900.680          50.000          44.000
+ -22662884.98543 -17639263.30642  20525218.116    20525222.534    20525216.857
+      2265.637        1765.431          56.000          50.000
+  -9349675.22643  -7282232.14542  23638588.975    23638592.752    23638588.629
+      2452.158        1910.772          47.000          41.000
+ -27725164.24444 -21564016.18942  20372792.346    20372796.122    20372791.779
+      -763.780        -595.153          57.000          51.000
+ -20808972.01843 -16202468.04642  21336058.552    21336061.701    21336057.181
+      1682.341        1310.915          56.000          50.000
+ -24994890.90943 -19441448.73442  20558060.555    20558064.950    20558060.044
+      -138.453        -107.885          56.000          50.000
+  -8107263.78243  -6306013.91342  23594555.834    23594561.990    23594554.411
+      2054.097        1600.595          48.000          42.000
+  -4093381.34743  -3155665.37042  24551397.831    24551400.479    24551393.258
+      2120.457        1652.304          44.000          36.000
+ 04  2  1 14  8  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13222474.05943 -10298804.62142  22831475.184    22831479.834    22831474.566
+     -2451.400       -1910.182          51.000          44.000
+ -22730598.97443 -17692027.42942  20512332.929    20512337.143    20512331.742
+      2247.869        1751.586          56.000          50.000
+  -9423294.21143  -7339597.57842  23624581.538    23624584.524    23624580.805
+      2454.807        1912.837          48.000          41.000
+ -27701976.25844 -21545947.64342  20377205.267    20377208.503    20377204.265
+      -782.846        -610.010          57.000          51.000
+ -20859394.94943 -16241758.63942  21326463.453    21326466.266    21326461.916
+      1678.479        1307.906          56.000          50.000
+ -24990445.74243 -19437984.95942  20558906.589    20558910.892    20558905.862
+      -158.608        -123.591          56.000          50.000
+  -8168805.14643  -6353968.18242  23582845.087    23582850.668    23582844.453
+      2047.704        1595.614          48.000          41.000
+  -4157056.24843  -3205282.04842  24539278.511    24539284.824    24539276.416
+      2123.864        1654.959          45.000          38.000
+ 04  2  1 14  8 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13148758.60143 -10241364.03942  22845501.570    22845506.254    22845501.037
+     -2463.366       -1919.506          50.000          44.000
+ -22797775.08343 -17744372.42542  20499549.371    20499553.871    20499548.122
+      2230.178        1737.801          56.000          50.000
+  -9496985.90343  -7397019.64942  23610558.074    23610562.095    23610557.458
+      2457.499        1914.934          48.000          41.000
+ -27678209.53444 -21527428.13642  20381727.806    20381731.622    20381726.862
+      -801.898        -624.855          57.000          51.000
+ -20909692.35643 -16280951.42642  21316892.044    21316895.218    21316890.796
+      1674.435        1304.755          56.000          50.000
+ -24985389.37543 -19434044.92242  20559868.829    20559873.236    20559867.942
+      -178.814        -139.335          56.000          50.000
+  -8230147.76243  -6401767.57842  23571170.752    23571177.626    23571170.012
+      2041.365        1590.674          46.000          41.000
+  -4220812.39543  -3254962.04442  24527147.296    24527151.516    24527144.599
+      2126.479        1656.997          46.000          38.000
+ 04  2  1 14  9  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13074675.33643 -10183636.84442  22859599.730    22859604.016    22859598.918
+     -2475.755       -1929.160          50.000          44.000
+ -22864411.70043 -17796297.04442  20486868.280    20486873.069    20486867.422
+      2212.066        1723.688          56.000          50.000
+  -9570750.97043  -7454498.89542  23596521.620    23596523.744    23596521.013
+      2459.841        1916.759          48.000          41.000
+ -27653866.16444 -21508459.29742  20386360.099    20386363.813    20386359.094
+      -821.078        -639.801          57.000          51.000
+ -20959863.95643 -16320046.18042  21307344.805    21307347.681    21307343.187
+      1670.167        1301.429          56.000          50.000
+ -24979723.20543 -19429629.72042  20560947.610    20560951.430    20560946.076
+      -199.078        -155.126          56.000          50.000
+  -8291293.18743  -6449413.29642  23559535.418    23559542.583    23559535.683
+      2034.790        1585.551          47.000          41.000
+  -4284648.49843  -3304704.35142  24514999.526    24515004.767    24514998.388
+      2129.310        1659.203          47.000          39.000
+ 04  2  1 14  9 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -13000221.45143 -10125620.86442  22873768.422    22873772.971    22873767.601
+     -2487.871       -1938.601          50.000          44.000
+ -22930500.93943 -17847795.12442  20474292.196    20474296.723    20474290.859
+      2193.707        1709.382          56.000          50.000
+  -9644583.27343  -7512030.51342  23582470.898    23582474.254    23582471.158
+      2462.177        1918.579          48.000          41.000
+ -27628941.47644 -21489037.48342  20391103.272    20391106.632    20391102.122
+      -840.520        -654.951          57.000          51.000
+ -21009902.58143 -16359037.31242  21297822.647    21297825.766    21297821.238
+      1665.689        1297.939          56.000          50.000
+ -24973442.28443 -19424735.48542  20562142.298    20562147.072    20562141.240
+      -219.688        -171.185          56.000          50.000
+  -8352236.34543  -6496901.42342  23547937.556    23547944.934    23547937.726
+      2028.183        1580.402          47.000          41.000
+  -4348556.87043  -3354502.96942  24502837.292    24502844.052    24502835.259
+      2131.421        1660.848          47.000          39.000
+ 04  2  1 14 10  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12925407.67443 -10067324.43142  22888005.198    22888008.727    22888005.520
+     -2500.228       -1948.230          50.000          44.000
+ -22996048.97243 -17898871.48742  20461818.787    20461823.098    20461817.787
+      2175.358        1695.084          56.000          50.000
+  -9718490.54443  -7569620.58042  23568405.754    23568408.376    23568405.000
+      2464.368        1920.287          47.000          41.000
+ -27603444.90644 -21469170.04642  20395954.901    20395958.731    20395953.908
+      -859.731        -669.920          57.000          51.000
+ -21059815.17543 -16397930.22942  21288324.847    21288327.814    21288323.560
+      1661.171        1294.419          56.000          50.000
+ -24966555.21443 -19419368.92142  20563452.947    20563457.356    20563452.032
+      -240.104        -187.094          56.000          50.000
+  -8412986.20543  -6544238.93142  23536378.339    23536384.001    23536378.267
+      2021.422        1575.134          47.000          41.000
+  -4412543.26743  -3404362.39142  24490660.576    24490666.492    24490658.530
+      2133.572        1662.524          45.000          39.000
+ 04  2  1 14 10 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12850229.88443 -10008744.38442  22902310.608    22902314.162    22902310.195
+     -2512.060       -1957.449          50.000          44.000
+ -23061046.49543 -17949518.88642  20449450.830    20449454.540    20449449.216
+      2157.355        1681.056          56.000          50.000
+  -9792465.43543  -7627263.31142  23554329.343    23554334.049    23554329.511
+      2466.831        1922.206          47.000          41.000
+ -27577370.75244 -21448852.54642  20400916.735    20400920.297    20400915.712
+      -878.749        -684.739          57.000          51.000
+ -21109593.26243 -16436718.33542  21278851.952    21278855.222    21278850.748
+      1656.989        1291.160          56.000          50.000
+ -24959055.79243 -19413525.20842  20564879.714    20564884.278    20564879.057
+      -260.208        -202.759          56.000          50.000
+  -8473536.36143  -6591420.82742  23524855.325    23524861.464    23524854.270
+      2014.936        1570.080          47.000          42.000
+  -4476598.34143  -3454275.34042  24478470.538    24478477.229    24478469.635
+      2136.280        1664.634          45.000          39.000
+ 04  2  1 14 11  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12774695.41243  -9949886.38542  22916685.074    22916689.518    22916684.061
+     -2523.762       -1966.568          50.000          44.000
+ -23125495.75443 -17999739.05942  20437186.178    20437190.975    20437184.801
+      2138.931        1666.699          56.000          50.000
+  -9866512.05843  -7684961.95542  23540239.452    23540241.751    23540238.420
+      2469.243        1924.085          48.000          41.000
+ -27550724.77944 -21428089.46942  20405987.157    20405991.046    20405986.293
+      -897.833        -699.610          57.000          51.000
+ -21159240.40443 -16475404.40642  21269404.450    21269407.858    21269403.173
+      1652.579        1287.724          56.000          50.000
+ -24950949.45844 -19407208.57342  20566422.743    20566426.999    20566421.737
+      -280.543        -218.605          57.000          50.000
+  -8533891.97043  -6638451.13442  23513370.481    23513376.262    23513369.634
+      2008.301        1564.910          48.000          42.000
+  -4540724.65843  -3504243.80142  24466268.341    24466274.534    24466265.626
+      2138.593        1666.436          45.000          39.000
+ 04  2  1 14 11 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12698801.47343  -9890748.29242  22931127.107    22931130.955    22931126.561
+     -2535.577       -1975.774          50.000          44.000
+ -23189389.43643 -18049526.32642  20425027.669    20425031.894    20425026.109
+      2120.476        1652.319          56.000          50.000
+  -9940624.70943  -7742712.02742  23526136.591    23526140.120    23526134.979
+      2471.328        1925.710          48.000          41.000
+ -27523502.88644 -21406877.62842  20411167.385    20411171.055    20411166.409
+      -916.950        -714.506          57.000          51.000
+ -21208749.83143 -16513983.16542  21259983.051    21259986.334    21259981.813
+      1648.048        1284.193          56.000          50.000
+ -24942231.46044 -19400415.32442  20568081.730    20568086.213    20568080.710
+      -300.752        -234.352          57.000          50.000
+  -8594048.57143  -6685326.37242  23501923.190    23501928.723    23501922.193
+      2001.851        1559.884          48.000          42.000
+  -4604914.61843  -3554261.84342  24454054.047    24454058.868    24454052.764
+      2140.682        1668.064          45.000          39.000
+ 04  2  1 14 12  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12622554.76343  -9831335.30942  22945636.353    22945640.255    22945637.082
+     -2547.511       -1985.073          50.000          43.000
+ -23252728.80443 -18098881.65542  20412974.617    20412978.649    20412973.221
+      2102.000        1637.922          56.000          50.000
+ -10014806.72843  -7800516.15742  23512019.387    23512022.667    23512018.851
+      2473.809        1927.643          48.000          42.000
+ -27495710.24444 -21385221.04742  20416456.533    20416459.981    20416455.452
+      -936.090        -729.421          57.000          51.000
+ -21258123.50043 -16552456.14842  21250587.820    21250591.017    21250586.630
+      1643.444        1280.606          56.000          50.000
+ -24932906.35644 -19393149.00142  20569856.471    20569860.388    20569855.465
+      -321.082        -250.194          57.000          50.000
+  -8654010.32243  -6732049.77742  23490511.997    23490517.913    23490512.199
+      1995.250        1554.740          48.000          42.000
+  -4669169.57343  -3604330.54742  24441826.380    24441832.858    24441824.234
+      2142.728        1669.658          46.000          39.000
+ 04  2  1 14 12 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12545956.03143  -9771648.02342  22960213.081    22960216.495    22960212.561
+     -2559.388       -1994.328          50.000          44.000
+ -23315510.09643 -18147802.12242  20401027.940    20401031.943    20401026.575
+      2083.092        1623.189          56.000          50.000
+ -10089055.53243  -7858372.32642  23497890.071    23497894.532    23497889.947
+      2475.826        1929.215          49.000          42.000
+ -27467346.03344 -21363119.08742  20421853.908    20421857.504    20421852.792
+      -955.198        -744.310          57.000          51.000
+ -21307358.39443 -16590820.99742  21241218.639    21241221.740    21241217.233
+      1638.651        1276.871          56.000          50.000
+ -24922973.00444 -19385408.72742  20571746.625    20571750.573    20571745.648
+      -341.407        -266.031          57.000          50.000
+  -8713775.98643  -6778620.38842  23479140.854    23479145.208    23479139.674
+      1988.909        1549.799          48.000          42.000
+  -4733485.41443  -3654446.68742  24429587.320    24429593.952    24429585.958
+      2144.797        1671.270          46.000          39.000
+ 04  2  1 14 13  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12469007.53243  -9711688.18242  22974855.712    22974860.153    22974854.861
+     -2570.405       -2002.913          51.000          43.000
+ -23377730.40743 -18196285.45542  20389187.660    20389191.902    20389186.154
+      2064.931        1609.037          56.000          50.000
+ -10163370.17843  -7916279.82242  23483748.203    23483751.264    23483748.858
+      2478.506        1931.303          48.000          42.000
+ -27438411.06544 -21340572.37742  20427360.015    20427364.112    20427359.122
+      -973.543        -758.605          57.000          51.000
+ -21356452.24043 -16629075.94142  21231876.224    21231879.313    21231875.047
+      1634.552        1273.677          56.000          50.000
+ -24912431.65843 -19377194.68442  20573752.195    20573756.329    20573751.199
+      -361.319        -281.547          56.000          50.000
+  -8773345.69843  -6825038.31242  23467804.045    23467809.290    23467802.654
+      1982.447        1544.764          48.000          41.000
+  -4797859.29043  -3704608.07042  24417336.337    24417342.687    24417334.970
+      2147.170        1673.119          45.000          39.000
+ 04  2  1 14 13 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12391711.78843  -9651457.75742  22989564.668    22989567.578    22989563.515
+     -2582.225       -2012.123          51.000          44.000
+ -23439387.51743 -18244329.92642  20377454.472    20377458.757    20377453.142
+      2045.758        1594.097          56.000          50.000
+ -10237749.92043  -7974238.02542  23469595.244    23469598.906    23469594.311
+      2480.522        1932.874          48.000          42.000
+ -27408906.51344 -21317581.84142  20432974.307    20432978.203    20432973.395
+      -992.929        -773.711          57.000          51.000
+ -21405403.89443 -16667220.06542  21222560.631    21222564.079    21222559.689
+      1629.315        1269.596          56.000          50.000
+ -24901283.06143 -19368507.45942  20575873.701    20575877.919    20575872.735
+      -381.745        -297.464          56.000          50.000
+  -8832720.01443  -6871303.99342  23456505.750    23456510.864    23456504.404
+      1976.116        1539.831          48.000          42.000
+  -4862288.89743  -3754812.83342  24405076.264    24405083.148    24405074.743
+      2148.734        1674.338          45.000          39.000
+ 04  2  1 14 14  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12314071.28843  -9590958.71542  23004339.606    23004341.322    23004338.124
+     -2593.678       -2021.048          51.000          44.000
+ -23500479.17443 -18291933.79442  20365829.229    20365832.970    20365827.975
+      2026.937        1579.431          56.000          50.000
+ -10312194.13643  -8032246.49442  23455427.477    23455431.907    23455426.818
+      2482.565        1934.466          48.000          42.000
+ -27378833.49044 -21294148.33842  20438697.027    20438700.965    20438696.089
+     -1011.950        -788.532          57.000          51.000
+ -21454211.80843 -16705252.18942  21213273.039    21213276.516    21213271.849
+      1624.566        1265.896          56.000          50.000
+ -24889527.74644 -19359347.47142  20578110.703    20578115.189    20578109.776
+      -401.955        -313.212          57.000          50.000
+  -8891899.33143  -6917417.72642  23445243.229    23445248.609    23445243.119
+      1969.424        1534.616          48.000          42.000
+  -4926771.79943  -3805059.16942  24392805.643    24392812.721    24392804.062
+      2150.317        1675.572          45.000          39.000
+ 04  2  1 14 14 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12236088.04643  -9530192.58342  23019179.381    23019182.578    23019178.535
+     -2604.648       -2029.596          51.000          44.000
+ -23561002.11243 -18339094.50542  20354311.756    20354315.988    20354310.713
+      2008.311        1564.918          56.000          50.000
+ -10386701.21443  -8090303.95542  23441250.703    23441255.202    23441250.459
+      2485.067        1936.416          48.000          42.000
+ -27348192.34044 -21270272.13542  20444527.906    20444531.838    20444527.237
+     -1030.422        -802.926          57.000          51.000
+ -21502873.17443 -16743170.11442  21204013.572    21204016.618    21204012.144
+      1619.905        1262.264          56.000          50.000
+ -24877165.27343 -19349714.37342  20580463.346    20580467.480    20580462.260
+      -421.805        -328.679          56.000          50.000
+  -8950883.29243  -6963379.20642  23434020.135    23434024.344    23434018.762
+      1963.297        1529.842          48.000          42.000
+  -4991304.50643  -3855344.31242  24380525.064    24380530.670    24380523.991
+      2152.144        1676.995          46.000          39.000
+ 04  2  1 14 15  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12157762.78843  -9469159.95642  23034084.133    23034086.116    23034083.056
+     -2616.242       -2038.630          51.000          44.000
+ -23620952.60743 -18385809.15142  20342903.738    20342907.600    20342902.240
+      1989.053        1549.911          56.000          50.000
+ -10461268.77243  -8148408.53542  23427060.066    23427063.059    23427061.295
+      2486.896        1937.841          48.000          42.000
+ -27316982.84544 -21245953.06242  20450467.059    20450470.686    20450466.047
+     -1049.522        -817.809          57.000          51.000
+ -21551384.98943 -16780971.52142  21194781.419    21194784.812    21194780.162
+      1614.826        1258.306          56.000          50.000
+ -24864195.17344 -19339607.79942  20582931.379    20582935.557    20582930.734
+      -442.281        -344.634          57.000          50.000
+  -9009670.76343  -7009187.59242  23422832.115    23422837.172    23422830.909
+      1956.257        1524.356          47.000          41.000
+  -5055882.67343  -3905664.86842  24368236.874    24368241.305    24368234.957
+      2153.651        1678.170          46.000          39.000
+ 04  2  1 14 15 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12079103.36043  -9407866.94342  23049051.801    23049056.329    23049051.497
+     -2627.477       -2047.385          51.000          43.000
+ -23680333.72943 -18432080.13342  20331603.789    20331608.094    20331602.449
+      1969.744        1534.865          56.000          50.000
+ -10535901.28643  -8206563.71342  23412859.958    23412861.137    23412858.148
+      2488.956        1939.446          49.000          42.000
+ -27285211.30244 -21221196.03342  20456512.972    20456516.795    20456512.002
+     -1068.392        -832.513          57.000          51.000
+ -21599750.38343 -16818658.83642  21185578.015    21185581.130    21185576.960
+      1609.729        1254.334          56.000          50.000
+ -24850623.37243 -19329032.37042  20585514.001    20585518.350    20585513.204
+      -462.430        -360.335          56.000          50.000
+  -9068267.45843  -7054847.33942  23411682.102    23411686.929    23411680.970
+      1950.035        1519.508          47.000          42.000
+  -5120509.01743  -3956022.97442  24355939.563    24355944.990    24355936.584
+      2155.033        1679.246          47.000          40.000
+ 04  2  1 14 16  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -12000105.90443  -9346310.51642  23064085.035    23064088.845    23064084.353
+     -2638.842       -2056.240          50.000          43.000
+ -23739136.54943 -18477900.48642  20320413.795    20320418.256    20320412.366
+      1950.419        1519.807          56.000          50.000
+ -10610591.56243  -8264763.90942  23398646.333    23398649.343    23398646.317
+      2490.587        1940.717          49.000          42.000
+ -27252872.59744 -21195997.06542  20462666.893    20462670.686    20462665.707
+     -1087.265        -847.219          57.000          51.000
+ -21647961.38444 -16856225.84842  21176404.061    21176407.266    21176402.716
+      1604.562        1250.308          57.000          50.000
+ -24836443.99043 -19317983.49542  20588212.295    20588216.529    20588211.206
+      -482.638        -376.081          56.000          50.000
+  -9126667.53743  -7100353.85542  23400569.921    23400573.567    23400567.702
+      1943.821        1514.666          47.000          42.000
+  -5185174.92643  -4006411.88642  24343634.047    24343638.601    24343632.951
+      2156.203        1680.158          48.000          40.000
+ 04  2  1 14 16 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -11920777.66043  -9284496.33342  23079180.638    23079184.222    23079179.457
+     -2650.038       -2064.965          50.000          43.000
+ -23797363.59843 -18523272.18942  20309333.797    20309337.739    20309332.370
+      1931.137        1504.782          56.000          50.000
+ -10685343.24343  -8323011.94642  23384420.019    23384424.785    23384420.398
+      2492.922        1942.537          48.000          42.000
+ -27219972.45244 -21170360.60742  20468927.786    20468931.035    20468926.496
+     -1106.149        -861.934          57.000          51.000
+ -21696021.25944 -16893675.09842  21167258.692    21167261.615    21167257.408
+      1599.311        1246.216          57.000          50.000
+ -24821662.35743 -19306465.33642  20591025.097    20591029.065    20591024.238
+      -502.905        -391.874          56.000          50.000
+  -9184875.75843  -7145710.87742  23389491.453    23389497.084    23389490.135
+      1936.681        1509.102          48.000          42.000
+  -5249882.24443  -4056833.06442  24331320.792    24331325.285    24331316.824
+      2157.328        1681.035          45.000          39.000
+ 04  2  1 14 17  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -11841117.58243  -9222423.58142  23094339.658    23094341.994    23094338.342
+     -2660.416       -2073.051          50.000          43.000
+ -23855009.09443 -18568190.73442  20298363.981    20298368.297    20298362.864
+      1912.185        1490.014          56.000          50.000
+ -10760152.19943  -8381304.58642  23370183.996    23370188.906    23370182.835
+      2494.893        1944.072          47.000          41.000
+ -27186508.89344 -21144285.12442  20475295.355    20475299.380    20475294.489
+     -1124.409        -876.163          57.000          51.000
+ -21743924.83744 -16931002.55542  21158142.814    21158145.924    21158141.372
+      1594.501        1242.468          57.000          50.000
+ -24806275.86044 -19294475.85742  20593953.340    20593957.396    20593952.109
+      -522.616        -407.233          57.000          50.000
+  -9242889.39343  -7190916.25142  23378453.406    23378457.724    23378451.830
+      1930.726        1504.462          47.000          42.000
+  -5314624.84043  -4107281.73042  24318999.499    24319004.807    24318997.655
+      2159.183        1682.480          45.000          39.000
+ 04  2  1 14 17 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -11761129.33143  -9160095.09942  23109558.761    23109564.611    23109559.832
+     -2671.707       -2081.850          48.000          42.000
+ -23912072.18743 -18612655.45742  20287505.194    20287509.715    20287503.910
+      1892.460        1474.644          56.000          50.000
+ -10835018.64143  -8439642.01842  23355937.628    23355941.408    23355937.661
+      2496.591        1945.396          48.000          42.000
+ -27152484.19644 -21117772.39042  20481770.069    20481773.936    20481769.264
+     -1143.393        -890.955          57.000          51.000
+ -21791671.40944 -16968207.66942  21149056.528    21149059.692    21149055.405
+      1589.036        1238.210          57.000          50.000
+ -24790286.35843 -19282016.50142  20596995.450    20596999.486    20596994.567
+      -542.884        -423.026          56.000          50.000
+  -9300709.92143  -7235971.18542  23367450.126    23367454.446    23367448.586
+      1924.299        1499.454          47.000          42.000
+  -5379401.14843  -4157756.68842  24306672.806    24306676.514    24306672.512
+      2159.721        1682.899          46.000          39.000
+ 04  2  1 14 18  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -11680814.07343  -9097511.83442  23124842.575    23124848.023    23124843.497
+     -2682.405       -2090.186          48.000          42.000
+ -23968549.07043 -18656663.39142  20276758.321    20276762.535    20276756.984
+      1872.876        1459.384          56.000          50.000
+ -10909940.20143  -8498022.43142  23341681.407    23341684.617    23341680.057
+      2498.323        1946.745          48.000          42.000
+ -27117898.35044 -21090822.39442  20488351.409    20488355.447    20488350.655
+     -1162.160        -905.579          57.000          51.000
+ -21839257.73244 -17005287.92042  21140001.565    21140004.871    21140000.148
+      1583.712        1234.061          57.000          50.000
+ -24773693.48443 -19269086.98742  20600153.073    20600157.246    20600152.571
+      -563.062        -438.750          56.000          50.000
+  -9358336.45543  -7280874.94042  23356482.475    23356490.192    23356481.719
+      1917.822        1494.407          46.000          41.000
+  -5444207.37543  -4208254.98842  24294339.339    24294346.941    24294338.025
+      2160.780        1683.725          45.000          40.000
+ 04  2  1 14 18 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -11600175.04643  -9034676.27042  23140188.536    23140192.568    23140187.313
+     -2692.552       -2098.092          49.000          42.000
+ -24024438.41943 -18700213.50842  20266122.575    20266126.906    20266121.307
+      1853.932        1444.622          56.000          50.000
+ -10984916.75243  -8556445.68642  23327412.894    23327417.143    23327413.351
+      2500.983        1948.818          48.000          41.000
+ -27082753.22544 -21063436.59942  20495039.414    20495043.432    20495038.590
+     -1179.986        -919.470          57.000          51.000
+ -21886682.64144 -17042242.39542  21130977.081    21130980.070    21130975.797
+      1578.995        1230.386          57.000          50.000
+ -24756498.58443 -19255688.36442  20603425.401    20603429.630    20603424.259
+      -582.462        -453.866          56.000          50.000
+  -9415770.04843  -7325628.35442  23345553.693    23345559.497    23345552.281
+      1912.123        1489.966          47.000          41.000
+  -5509041.29543  -4258774.85542  24282002.569    24282008.531    24282000.915
+      2162.326        1684.929          45.000          40.000
+ 04  2  1 14 19  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -11519219.31543  -8971593.91042  23155593.688    23155597.548    23155593.901
+     -2703.943       -2106.968          49.000          42.000
+ -24079742.72943 -18743307.74942  20255598.525    20255602.738    20255597.182
+      1833.329        1428.568          56.000          50.000
+ -11059952.06043  -8614914.75242  23313134.242    23313138.807    23313134.286
+      2501.810        1949.462          48.000          42.000
+ -27047054.80544 -21035619.66542  20501832.572    20501836.565    20501831.764
+     -1199.447        -934.634          57.000          51.000
+ -21933949.24944 -17079073.50942  21121982.123    21121985.648    21121981.053
+      1572.608        1225.409          57.000          50.000
+ -24738707.33243 -19241825.05242  20606810.749    20606815.171    20606809.731
+      -603.273        -470.083          56.000          50.000
+  -9473016.01343  -7370235.54642  23334661.495    23334665.959    23334660.492
+      1904.693        1484.176          48.000          42.000
+  -5573904.90543  -4309317.82842  24269660.045    24269666.414    24269658.689
+      2162.081        1684.738          46.000          40.000
+ 04  2  1 14 19 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -11437943.71043  -8908262.30642  23171061.250    23171065.168    23171060.176
+     -2714.534       -2115.221          49.000          42.000
+ -24134454.09043 -18785939.95842  20245187.598    20245191.365    20245186.265
+      1813.594        1413.190          56.000          50.000
+ -11135039.43443  -8673424.36342  23298845.588    23298849.143    23298846.017
+      2503.416        1950.714          48.000          42.000
+ -27010798.85944 -21007368.30242  20508732.132    20508735.842    20508731.149
+     -1217.883        -949.000          57.000          51.000
+ -21981050.07844 -17115775.44842  21113019.129    21113022.519    21113018.299
+      1567.131        1221.141          57.000          50.000
+ -24720314.54143 -19227493.00342  20610310.952    20610315.265    20610310.076
+      -623.205        -485.614          56.000          50.000
+  -9530068.77743  -7414692.21842  23323803.889    23323808.872    23323803.478
+      1898.514        1479.362          48.000          42.000
+  -5638789.87443  -4359877.48142  24257312.865    24257318.280    24257311.175
+      2163.186        1685.599          45.000          40.000
+ 04  2  1 14 20  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -11356352.42643  -8844684.70242  23186587.364    23186590.582    23186585.953
+     -2724.277       -2122.813          49.000          43.000
+ -24188571.83043 -18828109.60642  20234888.692    20234893.172    20234887.547
+      1794.647        1398.426          56.000          50.000
+ -11210179.48143  -8731975.02742  23284546.976    23284550.348    23284546.497
+      2506.276        1952.942          48.000          42.000
+ -26973988.16444 -20978684.66342  20515736.917    20515740.144    20515735.952
+     -1235.569        -962.781          57.000          51.000
+ -22027984.52044 -17152347.73942  21104088.297    21104091.011    21104086.913
+      1562.305        1217.381          57.000          50.000
+ -24701322.43943 -19212693.96442  20613925.001    20613929.306    20613923.712
+      -642.373        -500.550          56.000          50.000
+  -9586930.34643  -7458999.89142  23312982.976    23312988.223    23312982.506
+      1892.889        1474.978          47.000          42.000
+  -5703695.06343  -4410452.88342  24244962.472    24244966.393    24244960.436
+      2164.679        1686.763          46.000          39.000
+ 04  2  1 14 20 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -11274447.34243  -8780862.59642  23202172.933    23202175.853    23202171.586
+     -2734.866       -2131.064          48.000          42.000
+ -24242093.32343 -18869814.64442  20224704.091    20224708.574    20224702.903
+      1774.643        1382.839          56.000          50.000
+ -11285370.71543  -8790565.58642  23270239.218    23270241.916    23270237.858
+      2507.806        1954.134          49.000          42.000
+ -26936623.49744 -20949569.35642  20522847.445    20522851.000    20522846.226
+     -1254.137        -977.250          57.000          51.000
+ -22074750.31944 -17188788.61242  21095188.857    21095191.782    21095187.726
+      1556.651        1212.975          57.000          50.000
+ -24681731.82943 -19197428.54442  20617653.336    20617656.908    20617652.295
+      -662.417        -516.169          56.000          50.000
+  -9643600.77743  -7503158.60942  23302199.328    23302204.552    23302198.690
+      1886.313        1469.854          48.000          42.000
+  -5768617.27243  -4461041.53642  24232606.042    24232613.552    24232605.691
+      2165.037        1687.042          45.000          39.000
+ 04  2  1 14 21  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -11192233.45443  -8716799.87642  23217818.164    23217822.171    23217818.123
+     -2745.536       -2139.379          48.000          42.000
+ -24295019.10643 -18911055.49242  20214633.083    20214636.946    20214631.406
+      1754.356        1367.031          56.000          50.000
+ -11360614.46843  -8849197.08942  23255920.675    23255923.925    23255919.752
+      2509.110        1955.151          49.000          42.000
+ -26898709.01144 -20920025.62142  20530062.089    20530066.049    20530061.105
+     -1272.881        -991.855          57.000          51.000
+ -22121348.23444 -17225098.66942  21086321.618    21086324.501    21086320.290
+      1550.531        1208.206          57.000          50.000
+ -24661546.01243 -19181699.33542  20621493.849    20621498.478    20621493.067
+      -682.719        -531.989          56.000          50.000
+  -9700082.95143  -7547170.65942  23291450.750    23291455.537    23291449.650
+      1879.589        1464.615          48.000          42.000
+  -5833556.20243  -4511643.21242  24220250.170    24220256.059    24220247.056
+      2164.994        1687.008          46.000          39.000
+ 04  2  1 14 21 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -11109710.38843  -8652496.24842  23233521.694    23233525.883    23233520.954
+     -2755.962       -2147.503          48.000          43.000
+ -24347343.90343 -18951828.04042  20204675.841    20204680.103    20204674.334
+      1733.905        1351.095          56.000          50.000
+ -11435906.90243  -8907866.50942  23241592.677    23241598.542    23241592.404
+      2510.409        1956.163          49.000          42.000
+ -26860243.02344 -20890052.14342  20537381.884    20537385.835    20537380.958
+     -1291.419       -1006.300          57.000          51.000
+ -22167773.36444 -17261274.09442  21077487.028    21077490.277    21077485.638
+      1544.478        1203.489          57.000          50.000
+ -24640762.75343 -19165504.58542  20625449.054    20625453.475    20625448.169
+      -702.816        -547.649          56.000          50.000
+  -9756374.23343  -7591033.94242  23280740.077    23280744.413    23280739.779
+      1873.253        1459.678          49.000          42.000
+  -5898506.18243  -4562253.52142  24207890.743    24207896.293    24207888.390
+      2165.191        1687.162          46.000          39.000
+ 04  2  1 14 22  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -11026881.45343  -8587954.27442  23249282.607    23249287.517    23249281.933
+     -2766.560       -2155.761          48.000          42.000
+ -24399066.74743 -18992131.53342  20194833.172    20194837.482    20194831.981
+      1713.283        1335.026          56.000          51.000
+ -11511247.86443  -8966573.75142  23227256.493    23227258.884    23227256.322
+      2511.492        1957.007          50.000          42.000
+ -26821227.81444 -20859650.69442  20544806.143    20544810.364    20544805.168
+     -1310.336       -1021.041          57.000          51.000
+ -22214024.93244 -17297314.26942  21068685.821    21068688.843    21068684.448
+      1538.119        1198.534          57.000          50.000
+ -24619384.10743 -19148845.89942  20629517.298    20629521.763    20629516.510
+      -723.245        -563.567          56.000          50.000
+  -9812476.23043  -7634749.73742  23270064.679    23270068.821    23270062.881
+      1866.297        1454.257          49.000          42.000
+  -5963465.52743  -4612871.12242  24195528.445    24195534.729    24195527.713
+      2164.685        1686.768          47.000          39.000
+ 04  2  1 14 22 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -10943748.00043  -8523175.01642  23265102.585    23265107.040    23265102.344
+     -2776.654       -2163.626          48.000          42.000
+ -24450184.48143 -19031963.51642  20185105.638    20185110.050    20185104.358
+      1693.325        1319.474          56.000          51.000
+ -11586634.89743  -9025316.88242  23212909.936    23212912.782    23212909.533
+      2513.018        1958.196          49.000          42.000
+ -26781663.57244 -20828821.43242  20552334.931    20552339.238    20552334.185
+     -1328.369       -1035.093          57.000          51.000
+ -22260099.60644 -17333216.59542  21059918.265    21059921.323    21059916.777
+      1532.428        1194.100          57.000          50.000
+ -24597409.64743 -19131722.94342  20633699.440    20633703.098    20633697.962
+      -742.831        -578.829          56.000          50.000
+  -9868387.86243  -7678317.20342  23259423.751    23259428.107    23259422.345
+      1859.988        1449.341          48.000          42.000
+  -6028429.78143  -4663492.53642  24183166.858    24183170.530    24183163.817
+      2165.139        1687.121          47.000          39.000
+ 04  2  1 14 23  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -10860314.68043  -8458162.10642  23280979.172    23280983.752    23280979.257
+     -2785.713       -2170.685          48.000          42.000
+ -24500697.10943 -19071323.98542  20175493.904    20175497.565    20175492.351
+      1673.730        1304.205          56.000          51.000
+ -11662069.28843  -9084096.93842  23198554.288    23198559.137    23198554.241
+      2515.404        1960.055          49.000          42.000
+ -26741554.00744 -20797567.24842  20559967.902    20559971.451    20559966.818
+     -1345.919       -1048.768          57.000          51.000
+ -22305997.88944 -17368981.48242  21051183.974    21051186.982    21051182.569
+      1527.125        1189.968          57.000          50.000
+ -24574842.57143 -19114138.20842  20637993.633    20637997.945    20637992.569
+      -761.934        -593.715          56.000          50.000
+  -9924111.93243  -7721738.50742  23248819.704    23248825.030    23248818.296
+      1854.277        1444.891          48.000          42.000
+  -6093398.77043  -4714117.65042  24170802.542    24170810.104    24170801.975
+      2165.911        1687.723          46.000          39.000
+ 04  2  1 14 23 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -10776581.62743  -8392915.60042  23296913.506    23296918.144    23296911.930
+     -2795.851       -2178.585          49.000          43.000
+ -24550600.34743 -19110209.59542  20165997.406    20166001.184    20165995.814
+      1653.427        1288.385          56.000          51.000
+ -11737547.60443  -9142911.20642  23184192.322    23184195.761    23184191.235
+      2516.817        1961.156          49.000          42.000
+ -26700898.36144 -20765887.53942  20567704.563    20567708.259    20567703.545
+     -1364.133       -1062.961          57.000          51.000
+ -22351715.74344 -17404605.78642  21042484.283    21042487.404    21042482.849
+      1521.107        1185.278          57.000          50.000
+ -24551681.90143 -19096090.93442  20642401.079    20642405.156    20642400.058
+      -781.706        -609.121          56.000          50.000
+  -9979646.61043  -7765012.22042  23238252.670    23238257.073    23238251.505
+      1848.259        1440.202          48.000          43.000
+  -6158367.35243  -4764742.41842  24158437.933    24158445.175    24158438.623
+      2165.604        1687.484          45.000          39.000
+ 04  2  1 14 24  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -10692554.25343  -8327439.76042  23312904.152    23312908.208    23312904.147
+     -2806.704       -2187.042          49.000          42.000
+ -24599895.15043 -19148621.10542  20156616.529    20156620.950    20156615.384
+      1632.274        1271.902          56.000          51.000
+ -11813071.72843  -9201761.16542  23169820.043    23169824.109    23169820.917
+      2517.585        1961.755          48.000          42.000
+ -26659700.81744 -20733785.57542  20575544.218    20575547.772    20575543.034
+     -1382.745       -1077.464          57.000          51.000
+ -22397253.58144 -17440089.81142  21033818.264    21033821.553    21033816.986
+      1514.393        1180.046          57.000          50.000
+ -24527931.25943 -19077583.93842  20646920.059    20646924.237    20646919.169
+      -801.994        -624.930          56.000          50.000
+ -10034995.03143  -7808140.80442  23227719.912    23227723.511    23227718.686
+      1841.274        1434.759          48.000          42.000
+  -6223335.32743  -4815366.70542  24146077.280    24146082.475    24146076.315
+      2164.932        1686.960          47.000          39.000
+ 04  2  1 14 24 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -10608232.41843  -8261734.47742  23328949.719    23328953.179    23328949.744
+     -2815.456       -2193.862          48.000          43.000
+ -24648576.73943 -19186554.79342  20147352.933    20147357.386    20147351.651
+      1612.390        1256.408          56.000          51.000
+ -11888637.67143  -9260643.72042  23155440.630    23155444.570    23155440.659
+      2519.590        1963.317          49.000          42.000
+ -26617960.37744 -20701260.57342  20583487.100    20583490.557    20583486.350
+     -1400.404       -1091.224          57.000          51.000
+ -22442607.11844 -17475430.22942  21025188.138    21025191.012    21025186.413
+      1508.552        1175.495          57.000          50.000
+ -24503589.01643 -19058615.95942  20651552.305    20651556.530    20651551.552
+      -821.337        -640.003          56.000          50.000
+ -10090154.83343  -7851122.40742  23217223.901    23217225.921    23217222.472
+      1835.489        1430.251          49.000          42.000
+  -6288297.36043  -4865986.37042  24133714.673    24133720.494    24133711.628
+      2165.180        1687.153          46.000          39.000
+ 04  2  1 14 25  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -10523621.23443  -8195803.74842  23345051.128    23345054.996    23345050.473
+     -2824.630       -2201.010          48.000          42.000
+ -24696646.20943 -19224011.50442  20138205.744    20138209.712    20138204.629
+      1592.376        1240.812          56.000          51.000
+ -11964247.16343  -9319560.18942  23141052.519    23141055.964    23141052.569
+      2521.281        1964.634          49.000          42.000
+ -26575681.30544 -20668315.86342  20591532.473    20591536.136    20591531.137
+     -1417.881       -1104.842          57.000          51.000
+ -22487777.25644 -17510627.74342  21016592.780    21016595.557    21016591.135
+      1502.920        1171.106          57.000          50.000
+ -24478659.17643 -19039190.11242  20656296.350    20656300.720    20656295.450
+      -840.470        -654.912          56.000          50.000
+ -10145129.35343  -7893959.63742  23206762.179    23206766.680    23206761.413
+      1829.823        1425.836          49.000          42.000
+  -6353253.20243  -4916601.18342  24121353.305    24121358.545    24121352.748
+      2164.427        1686.566          45.000          39.000
+ 04  2  1 14 25 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -10438720.36443  -8129647.27942  23361207.383    23361211.196    23361206.662
+     -2835.086       -2209.158          49.000          43.000
+ -24744098.56943 -19260987.35042  20129175.852    20129179.979    20129174.678
+      1571.183        1224.298          56.000          51.000
+ -12039896.08943  -9378507.38842  23126658.149    23126660.668    23126656.576
+      2521.906        1965.122          49.000          43.000
+ -26532862.24344 -20634950.38342  20599680.260    20599684.491    20599679.560
+     -1436.675       -1119.487          57.000          51.000
+ -22532759.00544 -17545678.44642  21008032.452    21008035.786    21008031.169
+      1495.992        1165.708          57.000          50.000
+ -24453139.72943 -19019304.83042  20661152.469    20661156.820    20661151.480
+      -860.718        -670.689          56.000          50.000
+ -10199916.16543  -7936650.59642  23196336.588    23196339.113    23196335.612
+      1822.891        1420.435          49.000          42.000
+  -6418197.12643  -4967206.73042  24108994.596    24109000.554    24108993.153
+      2164.641        1686.733          45.000          39.000
+ 04  2  1 14 26  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -10353535.68543  -8063269.64942  23377417.414    23377420.511    23377417.727
+     -2844.261       -2216.307          49.000          43.000
+ -24790935.38043 -19297483.54542  20120263.031    20120267.329    20120261.678
+      1550.345        1208.061          56.000          51.000
+ -12115586.79943  -9437487.17042  23112254.327    23112257.285    23112252.923
+      2523.364        1966.258          49.000          43.000
+ -26489508.15244 -20601167.99942  20607930.696    20607934.491    20607929.852
+     -1454.136       -1133.093          57.000          51.000
+ -22577553.91944 -17580583.57342  20999508.153    20999511.553    20999506.850
+      1489.620        1160.743          57.000          50.000
+ -24427035.16243 -18998963.61842  20666120.445    20666124.419    20666119.670
+      -880.282        -685.934          56.000          50.000
+ -10254519.08743  -7979198.27442  23185946.558    23185950.521    23185945.023
+      1816.874        1415.746          49.000          42.000
+  -6483129.99243  -5017803.66242  24096640.212    24096644.860    24096638.541
+      2163.701        1686.001          45.000          39.000
+ 04  2  1 14 26 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -10268065.64843  -7996669.68842  23393681.918    23393686.212    23393682.406
+     -2854.054       -2223.938          49.000          42.000
+ -24837150.74844 -19333495.50642  20111468.847    20111472.589    20111467.026
+      1529.657        1191.941          57.000          51.000
+ -12191313.93343  -9496495.29742  23097844.119    23097847.802    23097842.978
+      2523.816        1966.610          49.000          43.000
+ -26445616.45744 -20566966.69742  20616283.183    20616286.740    20616282.041
+     -1472.305       -1147.251          57.000          51.000
+ -22622155.82144 -17615338.30342  20991021.121    20991023.997    20991019.500
+      1483.104        1155.665          57.000          50.000
+ -24400342.30043 -18978163.98742  20671199.555    20671204.155    20671198.873
+      -899.899        -701.220          56.000          50.000
+ -10308934.38643  -8021599.75442  23175590.947    23175595.674    23175589.502
+      1810.447        1410.738          49.000          42.000
+  -6548044.78543  -5068386.54442  24084286.510    24084292.086    24084285.837
+      2163.168        1685.585          45.000          39.000
+ 04  2  1 14 27  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -10182315.52043  -7929851.43842  23409999.065    23410004.374    23409999.563
+     -2863.534       -2231.325          49.000          42.000
+ -24882745.84443 -19369024.13642  20102791.777    20102796.154    20102790.407
+      1509.294        1176.073          56.000          51.000
+ -12267079.21643  -9555533.16542  23083426.331    23083429.599    23083425.518
+      2525.771        1968.133          51.000          43.000
+ -26401191.80044 -20532350.09842  20624736.925    20624740.465    20624735.642
+     -1489.832       -1160.908          57.000          51.000
+ -22666566.09844 -17649943.72042  20982570.061    20982572.774    20982569.059
+      1476.986        1150.898          57.000          50.000
+ -24373065.61743 -18956909.43842  20676390.692    20676394.107    20676389.754
+      -919.044        -716.138          56.000          50.000
+ -10363165.57343  -8063857.77142  23165271.363    23165274.184    23165269.798
+      1804.529        1406.126          49.000          42.000
+  -6612941.54443  -5118955.32942  24071934.544    24071941.464    24071934.270
+      2162.765        1685.271          44.000          39.000
+ 04  2  1 14 27 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -10096286.89843  -7862816.19342  23426370.515    23426374.579    23426369.915
+     -2872.537       -2238.340          49.000          42.000
+ -24927717.46343 -19404066.93142  20094234.146    20094238.263    20094233.152
+      1488.205        1159.640          56.000          51.000
+ -12342880.25943  -9614598.89542  23069002.603    23069004.848    23069001.010
+      2527.179        1969.230          50.000          43.000
+ -26356234.55143 -20497318.49342  20633291.426    20633295.455    20633290.733
+     -1507.512       -1174.685          56.000          51.000
+ -22710781.25044 -17684397.08142  20974156.239    20974159.110    20974154.699
+      1470.228        1145.632          57.000          50.000
+ -24345204.83143 -18935199.73442  20681691.875    20681696.340    20681690.984
+      -938.649        -731.415          56.000          50.000
+ -10417211.74943  -8105971.62442  23154986.044    23154988.900    23154985.315
+      1798.175        1401.175          48.000          42.000
+  -6677816.28643  -5169506.97842  24059591.427    24059597.208    24059588.811
+      2161.745        1684.477          45.000          39.000
+ 04  2  1 14 28  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+ -10009982.83943  -7795566.34242  23442793.472    23442798.712    23442792.947
+     -2882.042       -2245.747          49.000          42.000
+ -24972064.73643 -19438623.23342  20085795.443    20085799.424    20085793.972
+      1467.193        1143.267          56.000          51.000
+ -12418716.56743  -9673692.09342  23054570.502    23054574.477    23054570.422
+      2527.905        1969.796          50.000          43.000
+ -26310747.19344 -20461873.81842  20641947.685    20641951.826    20641946.919
+     -1525.747       -1188.894          57.000          51.000
+ -22754800.10844 -17718697.50242  20965779.239    20965782.358    20965778.340
+      1463.402        1140.313          57.000          50.000
+ -24316761.93343 -18913036.43542  20687104.672    20687108.429    20687103.344
+      -958.389        -746.797          56.000          49.000
+ -10471074.16043  -8147942.30042  23144737.197    23144740.444    23144735.695
+      1791.695        1396.126          49.000          43.000
+  -6742666.84443  -5220039.81842  24047250.637    24047255.000    24047249.398
+      2160.507        1683.512          45.000          39.000
+ 04  2  1 14 28 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -9923405.63043  -7728103.62942  23459268.063    23459273.776    23459268.132
+     -2890.693       -2252.488          49.000          42.000
+ -25015785.65143 -19472691.45942  20077475.397    20077479.357    20077473.839
+      1446.680        1127.283          56.000          51.000
+ -12494586.97043  -9732811.88342  23040132.872    23040136.451    23040131.780
+      2529.358        1970.928          50.000          43.000
+ -26264731.33444 -20426017.32442  20650704.340    20650708.288    20650703.252
+     -1542.916       -1202.272          57.000          51.000
+ -22798620.85644 -17752843.54342  20957440.116    20957443.890    20957439.074
+      1457.111        1135.411          57.000          50.000
+ -24287738.33843 -18890420.64142  20692627.242    20692631.398    20692626.318
+      -977.367        -761.585          56.000          49.000
+ -10524753.27443  -8189770.14342  23134520.776    23134525.630    23134520.006
+      1785.852        1391.573          48.000          42.000
+  -6807490.51343  -5270551.66742  24034914.946    24034919.443    24034914.615
+      2160.225        1683.292          46.000          40.000
+ 04  2  1 14 29  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -9836557.83143  -7660430.05442  23475796.101    23475798.056    23475794.563
+     -2899.207       -2259.122          49.000          42.000
+ -25058878.76944 -19506270.49442  20069275.277    20069279.062    20069273.949
+      1425.983        1111.156          57.000          51.000
+ -12570490.04143  -9791957.12942  23025688.580    23025692.915    23025688.223
+      2530.906        1972.134          50.000          43.000
+ -26218188.52344 -20389750.22342  20659561.256    20659565.005    20659560.420
+     -1559.912       -1215.516          57.000          51.000
+ -22842241.01744 -17786833.28542  20949140.162    20949143.124    20949138.961
+      1450.837        1130.522          57.000          50.000
+ -24258135.13643 -18867353.21042  20698260.987    20698265.113    20698259.879
+      -996.252        -776.300          56.000          50.000
+ -10578249.25643  -8231455.28042  23124342.189    23124345.515    23124340.774
+      1780.237        1387.198          49.000          43.000
+  -6872284.03143  -5321040.05942  24022586.154    24022590.533    24022584.180
+      2159.294        1682.567          47.000          40.000
+ 04  2  1 14 29 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -9749441.32443  -7592547.09742  23492373.114    23492376.985    23492371.665
+     -2908.473       -2266.342          49.000          41.000
+ -25101341.50144 -19539358.31842  20061194.875    20061198.737    20061193.704
+      1404.653        1094.535          57.000          51.000
+ -12646423.86243  -9851126.32642  23011238.420    23011242.643    23011236.437
+      2531.332        1972.466          49.000          43.000
+ -26171119.74544 -20353073.26842  20668517.894    20668521.629    20668517.249
+     -1577.835       -1229.482          57.000          51.000
+ -22885657.74244 -17820664.50142  20940878.664    20940881.510    20940877.272
+      1443.626        1124.903          58.000          51.000
+ -24227952.87743 -18843834.56242  20704004.492    20704008.361    20704003.454
+     -1015.827        -791.553          56.000          50.000
+ -10631561.92443  -8272997.59442  23114196.903    23114200.565    23114195.705
+      1773.836        1382.210          49.000          43.000
+  -6937044.00143  -5371502.27242  24010261.620    24010266.441    24010258.643
+      2157.894        1681.476          45.000          40.000
+ 04  2  1 14 30  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -9662059.26143  -7524457.24742  23509001.181    23509005.616    23509000.428
+     -2916.990       -2272.979          49.000          42.000
+ -25143172.81944 -19571954.13542  20053234.235    20053238.200    20053233.210
+      1384.062        1078.490          57.000          51.000
+ -12722387.93443  -9910319.11442  22996783.859    22996786.450    22996783.176
+      2532.764        1973.582          50.000          43.000
+ -26123527.57344 -20315988.48142  20677574.789    20677578.508    20677573.684
+     -1594.917       -1242.792          57.000          51.000
+ -22928870.49244 -17854336.78542  20932654.663    20932657.982    20932653.622
+      1437.186        1119.885          57.000          51.000
+ -24197193.51443 -18819866.22742  20709857.615    20709861.599    20709856.759
+     -1034.753        -806.301          56.000          50.000
+ -10684692.65843  -8314398.15642  23104086.007    23104089.554    23104085.848
+      1768.267        1377.870          49.000          43.000
+  -7001767.95243  -5421936.46542  23997944.935    23997949.537    23997942.769
+      2157.065        1680.830          46.000          40.000
+ 04  2  1 14 30 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -9574412.69143  -7456161.24742  23525678.949    23525683.305    23525680.113
+     -2925.309       -2279.461          48.000          42.000
+ -25184369.55043 -19604055.46642  20045394.726    20045398.842    20045393.399
+      1363.095        1062.152          56.000          51.000
+ -12798379.53343  -9969533.34742  22982322.286    22982326.148    22982322.041
+      2533.924        1974.486          49.000          43.000
+ -26075412.39143 -20278496.14442  20686730.546    20686734.493    20686729.524
+     -1612.015       -1256.115          56.000          51.000
+ -22971875.62844 -17887847.28542  20924471.269    20924474.626    20924470.016
+      1430.549        1114.714          57.000          51.000
+ -24165856.97443 -18795448.14142  20715820.911    20715824.975    20715819.743
+     -1053.625        -821.006          56.000          50.000
+ -10737640.35243  -8355656.05842  23094010.057    23094015.641    23094008.826
+      1762.469        1373.352          48.000          43.000
+  -7066451.59143  -5472339.24842  23985636.264    23985642.448    23985635.417
+      2155.688        1679.757          46.000          41.000
+ 04  2  1 14 31  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -9486507.24743  -7387663.52142  23542407.457    23542411.405    23542407.084
+     -2934.076       -2286.293          49.000          41.000
+ -25224933.43444 -19635663.66742  20037675.800    20037679.959    20037674.458
+      1341.792        1045.552          57.000          51.000
+ -12874400.59243 -10028770.53942  22967857.028    22967860.615    22967856.523
+      2534.772        1975.147          50.000          43.000
+ -26026779.09244 -20240600.08642  20695985.181    20695989.053    20695984.175
+     -1629.494       -1269.735          57.000          50.000
+ -23014674.22244 -17921196.83542  20916327.634    20916330.127    20916326.162
+      1423.395        1109.139          58.000          51.000
+ -24133947.62343 -18770583.70942  20721892.501    20721896.932    20721891.784
+     -1072.917        -836.039          56.000          50.000
+ -10790408.61043  -8396774.15042  23083969.134    23083972.983    23083967.361
+      1756.331        1368.570          48.000          42.000
+  -7131095.36943  -5522710.95342  23973334.738    23973339.879    23973333.084
+      2154.323        1678.693          46.000          41.000
+ 04  2  1 14 31 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -9398341.52843  -7318962.98442  23559184.210    23559189.579    23559183.851
+     -2943.716       -2293.805          49.000          42.000
+ -25264859.13843 -19666774.58642  20030078.327    20030082.334    20030076.945
+      1319.620        1028.275          56.000          51.000
+ -12950445.89343 -10088026.61242  22953385.744    22953390.052    22953385.815
+      2534.635        1975.040          50.000          43.000
+ -25977625.62743 -20202298.70142  20705339.094    20705342.802    20705338.074
+     -1647.681       -1283.907          56.000          50.000
+ -23057260.40244 -17954380.87142  20908223.475    20908226.418    20908222.198
+      1415.458        1102.954          57.000          51.000
+ -24101463.09043 -18745271.07342  20728074.378    20728078.340    20728073.471
+     -1092.867        -851.585          56.000          50.000
+ -10842994.17243  -8437749.88042  23073960.804    23073965.500    23073960.223
+      1749.186        1363.002          47.000          43.000
+  -7195692.43543  -5573046.26242  23961042.457    23961047.584    23961040.566
+      2151.930        1676.829          46.000          41.000
+ 04  2  1 14 32  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -9309923.52343  -7250065.89742  23576009.942    23576014.506    23576009.293
+     -2951.303       -2299.717          49.000          42.000
+ -25304150.26544 -19697391.02842  20022601.471    20022605.306    20022600.116
+      1299.208        1012.370          57.000          51.000
+ -13026519.41143 -10147304.67342  22938909.051    22938912.924    22938909.196
+      2536.323        1976.355          49.000          43.000
+ -25927959.18443 -20163597.59742  20714789.988    20714793.857    20714789.222
+     -1663.956       -1296.589          56.000          50.000
+ -23099637.34744 -17987401.87542  20900159.541    20900162.359    20900157.919
+      1409.118        1098.014          57.000          51.000
+ -24068410.15443 -18719515.52742  20734364.181    20734368.554    20734363.463
+     -1111.128        -865.814          56.000          50.000
+ -10895402.64443  -8478587.61442  23063989.192    23063993.204    23063987.666
+      1744.106        1359.044          48.000          43.000
+  -7260245.35543  -5623347.17942  23948758.858    23948764.246    23948756.848
+      2151.130        1676.205          48.000          41.000
+ 04  2  1 14 32 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -9221250.14343  -7180969.77842  23592884.542    23592887.950    23592883.547
+     -2960.483       -2306.870          49.000          42.000
+ -25342800.10644 -19727507.76542  20015246.400    20015250.316    20015245.208
+      1277.005         995.069          57.000          51.000
+ -13102614.40643 -10206599.47642  22924429.120    22924431.626    22924427.521
+      2536.296        1976.335          49.000          43.000
+ -25877776.34844 -20124494.10542  20724339.595    20724343.637    20724338.918
+     -1681.816       -1310.506          57.000          50.000
+ -23141797.54044 -18020253.97942  20892136.836    20892139.846    20892135.486
+      1401.194        1091.839          58.000          51.000
+ -24034784.53843 -18693313.73342  20740763.055    20740767.371    20740761.986
+     -1130.891        -881.214          56.000          50.000
+ -10947629.25243  -8519283.64142  23054050.651    23054054.590    23054049.678
+      1737.237        1353.691          49.000          43.000
+  -7324745.80643  -5673607.20742  23936484.728    23936489.927    23936483.060
+      2148.642        1674.266          48.000          42.000
+ 04  2  1 14 33  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -9132327.42043  -7111679.36442  23609805.255    23609808.904    23609805.212
+     -2968.804       -2313.354          48.000          42.000
+ -25380810.29844 -19757126.08042  20008013.522    20008017.463    20008012.230
+      1255.911         978.632          57.000          51.000
+ -13178733.08743 -10265912.74242  22909943.532    22909947.947    22909942.081
+      2537.254        1977.081          49.000          43.000
+ -25827082.37543 -20084992.32842  20733986.018    20733990.539    20733984.977
+     -1698.729       -1323.685          56.000          50.000
+ -23183742.84344 -18052938.63242  20884154.523    20884157.488    20884153.429
+      1394.132        1086.337          57.000          51.000
+ -24000591.28243 -18666669.62742  20747269.561    20747273.992    20747268.638
+     -1149.693        -895.865          56.000          50.000
+ -10999677.90743  -8559841.01742  23044146.352    23044148.759    23044143.919
+      1731.607        1349.304          48.000          42.000
+  -7389194.15343  -5723826.62542  23924219.093    23924224.737    23924218.092
+      2146.989        1672.978          48.000          42.000
+ 04  2  1 14 33 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -9043156.59343  -7042195.61842  23626774.500    23626779.930    23626774.318
+     -2976.400       -2319.273          48.000          42.000
+ -25418178.48744 -19786244.13142  20000902.607    20000906.582    20000901.352
+      1234.955         962.303          57.000          51.000
+ -13254872.89743 -10325242.45342  22895454.708    22895458.263    22895454.226
+      2538.421        1977.990          50.000          44.000
+ -25775877.82043 -20045092.69642  20743729.710    20743733.996    20743729.200
+     -1715.240       -1336.551          56.000          50.000
+ -23225469.74944 -18085453.11342  20876213.761    20876216.941    20876212.710
+      1387.394        1081.086          57.000          51.000
+ -23965830.65143 -18639583.40842  20753884.445    20753888.825    20753883.496
+     -1167.992        -910.124          56.000          50.000
+ -11051547.89443  -8600259.15642  23034276.380    23034279.626    23034275.655
+      1726.086        1345.002          49.000          43.000
+  -7453586.52243  -5774002.42642  23911967.306    23911971.858    23911965.780
+      2145.606        1671.901          48.000          42.000
+ 04  2  1 14 34  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -8953740.31643  -6972520.63342  23643789.735    23643793.289    23643789.503
+     -2984.380       -2325.491          48.000          41.000
+ -25454903.25143 -19814860.80542  19993913.938    19993917.969    19993912.597
+      1213.606         945.667          56.000          51.000
+ -13331032.48643 -10384587.58442  22880961.683    22880966.308    22880962.285
+      2539.198        1978.596          50.000          43.000
+ -25724164.57043 -20004796.68142  20753570.771    20753575.416    20753569.839
+     -1731.946       -1349.568          56.000          50.000
+ -23266976.29844 -18117795.87242  20868315.708    20868318.630    20868314.311
+      1380.084        1075.390          57.000          51.000
+ -23930504.09743 -18612056.21242  20760606.543    20760610.864    20760605.857
+     -1186.743        -924.735          56.000          50.000
+ -11103239.74543  -8640538.49142  23024439.713    23024443.683    23024438.026
+      1720.340        1340.525          49.000          43.000
+  -7517919.78843  -5824132.17242  23899723.927    23899729.146    23899722.526
+      2143.555        1670.303          48.000          42.000
+ 04  2  1 14 34 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -8864081.38943  -6902656.56342  23660851.602    23660855.305    23660851.757
+     -2992.937       -2332.159          48.000          41.000
+ -25490983.23944 -19842975.06142  19987048.113    19987052.141    19987046.968
+      1191.508         928.448          57.000          51.000
+ -13407210.77343 -10443947.27542  22866464.661    22866467.744    22866464.137
+      2539.207        1978.603          49.000          43.000
+ -25671944.95343 -19964106.09542  20763507.839    20763512.057    20763507.023
+     -1749.433       -1363.194          56.000          50.000
+ -23308261.14744 -18149965.89042  20860459.348    20860462.572    20860458.344
+      1372.083        1069.156          58.000          51.000
+ -23894613.42343 -18584089.44142  20767436.896    20767441.086    20767435.883
+     -1206.085        -939.806          56.000          50.000
+ -11154754.36143  -8680679.73442  23014636.551    23014639.340    23014634.590
+      1713.941        1335.538          49.000          43.000
+  -7582191.29043  -5874213.78442  23887493.742    23887498.904    23887491.165
+      2140.786        1668.145          48.000          41.000
+ 04  2  1 14 35  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -8774181.84643  -6832604.97742  23677958.853    23677963.208    23677959.080
+     -3001.138       -2338.549          48.000          41.000
+ -25526416.76843 -19870585.58142  19980305.127    19980309.299    19980303.846
+      1169.968         911.663          56.000          51.000
+ -13483406.01643 -10503320.19342  22851966.603    22851969.576    22851965.014
+      2539.720        1979.003          50.000          43.000
+ -25619220.47543 -19923022.10642  20773540.891    20773544.958    20773540.151
+     -1766.257       -1376.304          56.000          50.000
+ -23349321.38244 -18181960.88442  20852646.061    20852649.034    20852644.914
+      1364.615        1063.336          58.000          51.000
+ -23858159.69443 -18555683.92042  20774373.460    20774377.499    20774372.492
+     -1224.859        -954.435          56.000          50.000
+ -11206091.67643  -8720682.82642  23004866.669    23004869.941    23004864.713
+      1707.924        1330.850          49.000          43.000
+  -7646397.53443  -5924244.54142  23875275.572    23875281.371    23875274.960
+      2138.642        1666.474          48.000          41.000
+ 04  2  1 14 35 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -8684045.01143  -6762368.49742  23695110.806    23695115.409    23695110.076
+     -3007.957       -2343.862          47.000          41.000
+ -25561203.46543 -19897692.07842  19973685.537    19973689.333    19973684.217
+      1149.207         895.486          56.000          51.000
+ -13559617.60343 -10562705.82942  22837463.357    22837468.631    22837462.109
+      2541.008        1980.006          49.000          43.000
+ -25565993.89943 -19881546.88142  20783669.838    20783674.218    20783668.902
+     -1782.145       -1388.684          56.000          50.000
+ -23390155.81244 -18213779.92442  20844875.408    20844878.476    20844874.003
+      1357.800        1058.026          57.000          51.000
+ -23821145.02043 -18526841.30842  20781417.359    20781421.363    20781416.414
+     -1242.717        -968.351          56.000          50.000
+ -11257253.13143  -8760548.90742  22995131.275    22995134.628    22995130.792
+      1702.954        1326.977          50.000          43.000
+  -7710536.53743  -5974222.89742  23863070.615    23863076.399    23863069.220
+      2137.291        1665.422          48.000          42.000
+ 04  2  1 14 36  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -8593673.09843  -6691948.83442  23712307.669    23712313.090    23712305.897
+     -3016.472       -2350.498          47.000          41.000
+ -25595341.55044 -19924293.17442  19967189.390    19967193.332    19967188.057
+      1127.010         878.190          57.000          51.000
+ -13635843.99543 -10622103.00942  22822958.226    22822963.119    22822957.946
+      2541.026        1980.020          50.000          44.000
+ -25512267.16743 -19839681.91742  20793893.894    20793897.636    20793892.793
+     -1799.301       -1402.053          56.000          50.000
+ -23430762.68044 -18245421.64142  20837148.488    20837151.300    20837146.984
+      1349.615        1051.648          58.000          51.000
+ -23783571.27943 -18497563.05742  20788567.328    20788571.638    20788566.522
+     -1261.856        -983.264          56.000          50.000
+ -11308239.03143  -8800278.16242  22985428.920    22985433.141    22985429.070
+      1696.458        1321.915          50.000          43.000
+  -7774605.09343  -6024146.36942  23850878.879    23850884.211    23850876.240
+      2134.140        1662.966          48.000          41.000
+ 04  2  1 14 36 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -8503069.79843  -6621348.86442  23729549.223    23729554.636    23729548.624
+     -3024.280       -2356.582          47.000          41.000
+ -25628831.26444 -19950389.03442  19960816.594    19960820.351    19960815.155
+      1105.104         861.120          57.000          51.000
+ -13712084.87043 -10681511.47842  22808449.727    22808454.049    22808449.201
+      2541.122        1980.095          50.000          44.000
+ -25458043.45243 -19797429.69942  20804212.040    20804216.306    20804211.103
+     -1816.155       -1415.186          56.000          50.000
+ -23471140.75844 -18276885.08242  20829464.585    20829467.684    20829463.282
+      1341.779        1045.542          57.000          51.000
+ -23745441.19243 -18467851.29142  20795823.012    20795827.090    20795822.041
+     -1280.676        -997.929          56.000          50.000
+ -11359051.02143  -8839871.89542  22975759.949    22975763.700    22975759.770
+      1690.616        1317.363          49.000          43.000
+  -7838601.70543  -6074013.75342  23838700.059    23838705.688    23838698.849
+      2131.634        1661.014          48.000          42.000
+ 04  2  1 14 37  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -8412234.79343  -6550568.34142  23746835.454    23746838.208    23746834.083
+     -3031.032       -2361.843          47.000          41.000
+ -25661668.40844 -19975976.40542  19954567.830    19954571.667    19954566.377
+      1084.111         844.762          57.000          51.000
+ -13788335.96743 -10740927.89042  22793940.039    22793943.551    22793938.275
+      2542.402        1981.092          50.000          44.000
+ -25403321.84543 -19754789.50442  20814625.309    20814629.624    20814624.433
+     -1831.957       -1427.499          56.000          50.000
+ -23511285.18144 -18308166.46242  20821825.441    20821828.375    20821824.271
+      1334.621        1039.964          58.000          51.000
+ -23706753.41743 -18437704.96142  20803185.500    20803189.429    20803184.430
+     -1298.374       -1011.720          56.000          50.000
+ -11409686.81443  -8879328.33442  22966123.985    22966128.314    22966123.416
+      1685.321        1313.237          49.000          43.000
+  -7902520.52243  -6123820.53642  23826537.508    23826541.839    23826536.265
+      2129.607        1659.434          48.000          42.000
+ 04  2  1 14 37 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -8321174.22843  -6479612.06742  23764163.603    23764166.921    23764161.249
+     -3038.750       -2367.857          47.000          41.000
+ -25693855.09043 -20001056.91642  19948442.706    19948446.908    19948441.445
+      1062.267         827.741          56.000          51.000
+ -13864599.31543 -10800353.83942  22779427.646    22779432.037    22779427.011
+      2542.406        1981.095          50.000          43.000
+ -25348107.86843 -19711765.65742  20825132.299    20825136.481    20825131.124
+     -1848.448       -1440.349          56.000          50.000
+ -23551197.50644 -18339266.98042  20814230.220    20814233.499    20814228.926
+      1326.747        1033.829          57.000          51.000
+ -23667513.08943 -18407128.07542  20810652.737    20810656.608    20810651.551
+     -1316.902       -1026.157          56.000          49.000
+ -11460150.45243  -8918650.63042  22956521.160    22956524.502    22956520.517
+      1679.189        1308.459          49.000          43.000
+  -7966362.17843  -6173567.18442  23814388.712    23814395.409    23814386.935
+      2126.995        1657.399          48.000          42.000
+ 04  2  1 14 38  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -8229886.43943  -6408478.74342  23781535.574    23781539.943    23781534.621
+     -3046.363       -2373.789          47.000          41.000
+ -25725386.42744 -20025626.77642  19942442.454    19942446.321    19942441.435
+      1040.287         810.613          57.000          51.000
+ -13940869.59143 -10859785.19342  22764912.675    22764917.304    22764911.975
+      2542.671        1981.302          49.000          43.000
+ -25292399.81343 -19668356.80742  20835733.172    20835737.097    20835732.258
+     -1864.947       -1453.205          56.000          50.000
+ -23590871.89344 -18370182.09542  20806679.971    20806683.621    20806678.854
+      1318.723        1027.576          57.000          51.000
+ -23627717.89443 -18376118.83142  20818224.784    20818229.103    20818223.894
+     -1335.469       -1040.625          55.000          49.000
+ -11510438.44043  -8957836.03642  22946950.741    22946954.866    22946949.785
+      1673.572        1304.082          49.000          43.000
+  -8030119.49543  -6223248.11442  23802255.444    23802260.477    23802253.733
+      2124.201        1655.222          48.000          42.000
+ 04  2  1 14 38 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -8138378.35743  -6337173.73642  23798949.300    23798952.714    23798948.931
+     -3053.986       -2379.729          47.000          41.000
+ -25756265.29643 -20049688.21542  19936566.566    19936570.632    19936564.996
+      1018.228         793.424          56.000          51.000
+ -14017149.75443 -10919224.23342  22750397.757    22750400.928    22750397.915
+      2542.731        1981.349          50.000          44.000
+ -25236203.98143 -19624567.86542  20846426.966    20846430.931    20846425.725
+     -1881.424       -1466.045          56.000          50.000
+ -23630310.33344 -18400913.35042  20799175.813    20799178.625    20799174.221
+      1310.506        1021.174          57.000          51.000
+ -23587373.84743 -18344681.90042  20825902.048    20825906.732    20825901.401
+     -1354.089       -1055.134          55.000          49.000
+ -11560555.62743  -8996888.37042  22937414.483    22937418.838    22937412.569
+      1667.535        1299.378          49.000          43.000
+  -8093793.76843  -6272864.34942  23790138.643    23790143.802    23790137.892
+      2121.075        1652.786          47.000          41.000
+ 04  2  1 14 39  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -8046648.54143  -6265695.95842  23816403.862    23816409.704    23816402.616
+     -3061.213       -2385.361          45.000          40.000
+ -25786486.78543 -20073237.41242  19930815.353    19930819.463    19930814.172
+       996.329         776.360          56.000          51.000
+ -14093434.17143 -10978666.61042  22735881.994    22735884.854    22735881.045
+      2542.761        1981.372          51.000          44.000
+ -25179518.43043 -19580397.32042  20857213.752    20857217.581    20857212.791
+     -1897.573       -1478.628          56.000          50.000
+ -23669506.65544 -18431455.93842  20791717.065    20791719.930    20791715.751
+      1302.481        1014.920          58.000          51.000
+ -23546478.57843 -18312815.45542  20833684.569    20833688.639    20833683.525
+     -1372.340       -1069.356          55.000          49.000
+ -11610498.52643  -9035804.89042  22927911.775    22927914.861    22927909.767
+      1661.973        1295.044          50.000          43.000
+  -8157378.21743  -6322410.58442  23778038.717    23778044.411    23778036.776
+      2118.170        1650.522          47.000          41.000
+ 04  2  1 14 39 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -7954700.24243  -6194047.94342  23833900.752    23833906.107    23833899.697
+     -3069.053       -2391.470          46.000          40.000
+ -25816050.65943 -20096274.18642  19925189.646    19925193.758    19925188.246
+       974.173         759.096          56.000          51.000
+ -14169722.56243 -11038112.09042  22721364.472    22721367.579    22721363.776
+      2542.565        1981.219          51.000          44.000
+ -25122346.37243 -19535847.68242  20868093.684    20868097.519    20868092.306
+     -1914.254       -1491.626          56.000          50.000
+ -23708460.19844 -18461809.34942  20784304.715    20784307.435    20784303.055
+      1293.956        1008.277          58.000          51.000
+ -23505034.79843 -18280521.59242  20841571.102    20841575.205    20841570.028
+     -1390.953       -1083.859          56.000          49.000
+ -11660268.77743  -9074586.85642  22918439.900    22918443.459    22918438.759
+      1655.613        1290.088          49.000          43.000
+  -8220870.95143  -6371885.35542  23765956.455    23765961.036    23765954.219
+      2114.439        1647.615          47.000          41.000
+ 04  2  1 14 40  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -7862540.24743  -6122234.95342  23851437.791    23851442.832    23851438.456
+     -3076.165       -2397.012          45.000          40.000
+ -25844960.17144 -20118801.06242  19919688.277    19919692.203    19919686.978
+       952.113         741.906          57.000          51.000
+ -14246017.45743 -11097562.62942  22706846.291    22706848.742    22706845.734
+      2542.565        1981.219          50.000          44.000
+ -25064694.01143 -19490923.77742  20879064.530    20879068.193    20879063.221
+     -1930.255       -1504.095          56.000          50.000
+ -23747172.87844 -18491975.07242  20776937.345    20776940.264    20776936.153
+      1285.834        1001.949          57.000          51.000
+ -23463048.31943 -18247804.85042  20849560.608    20849564.703    20849559.651
+     -1409.111       -1098.008          56.000          49.000
+ -11709870.91943  -9113237.85242  22909001.012    22909004.568    22908999.717
+      1650.040        1285.745          50.000          43.000
+  -8284273.04343  -6421289.52542  23753891.249    23753895.302    23753890.083
+      2111.405        1645.251          47.000          41.000
+ 04  2  1 14 40 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -7770164.47343  -6050253.82242  23869015.963    23869022.470    23869014.630
+     -3083.272       -2402.550          45.000          39.000
+ -25873207.79444 -20140812.18542  19914313.285    19914317.063    19914311.905
+       930.714         725.232          57.000          51.000
+ -14322310.92743 -11157012.07442  22692328.010    22692331.577    22692327.162
+      2543.157        1981.681          51.000          44.000
+ -25006557.05643 -19445622.27542  20890127.182    20890131.704    20890126.288
+     -1945.788       -1516.198          56.000          50.000
+ -23785635.97244 -18521946.31642  20769618.011    20769621.257    20769616.741
+      1278.138         995.952          57.000          51.000
+ -23420514.49643 -18214661.61042  20857654.731    20857658.838    20857653.791
+     -1426.746       -1111.750          56.000          49.000
+ -11759298.96143  -9151753.17842  22899594.432    22899599.253    22899593.257
+      1644.849        1281.701          49.000          43.000
+  -8347575.09643  -6470615.72742  23741844.674    23741850.379    23741843.354
+      2108.665        1643.116          46.000          40.000
+ 04  2  1 14 41  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -7677579.94043  -5978109.99342  23886634.345    23886638.439    23886633.254
+     -3089.867       -2407.688          44.000          39.000
+ -25900796.74544 -20162310.05142  19909063.256    19909067.054    19909061.723
+       908.277         707.748          57.000          51.000
+ -14398605.83343 -11216462.63242  22677809.927    22677813.405    22677809.282
+      2542.817        1981.416          51.000          44.000
+ -24947942.23243 -19399948.40342  20901281.149    20901285.622    20901280.283
+     -1962.013       -1528.841          56.000          50.000
+ -23823851.96844 -18551725.01342  20762345.998    20762348.734    20762344.414
+      1269.450         989.182          57.000          51.000
+ -23377439.54543 -18181096.70842  20865851.455    20865855.528    20865850.147
+     -1445.132       -1126.077          55.000          49.000
+ -11808557.89743  -9190136.73142  22890221.284    22890224.804    22890221.147
+      1638.792        1276.981          49.000          43.000
+  -8410778.33843  -6519864.95942  23729817.773    23729822.816    23729815.295
+      2104.688        1640.017          47.000          40.000
+ 04  2  1 14 41 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -7584788.85643  -5905805.25342  23904292.581    23904296.499    23904291.789
+     -3095.727       -2412.255          45.000          39.000
+ -25927725.82044 -20183293.73242  19903938.668    19903942.442    19903937.598
+       887.229         691.347          57.000          51.000
+ -14474900.31943 -11275912.88042  22663292.268    22663294.622    22663290.860
+      2543.725        1982.123          52.000          44.000
+ -24888851.27943 -19353903.52142  20912526.054    20912529.776    20912524.695
+     -1976.977       -1540.501          56.000          50.000
+ -23861818.60144 -18581309.40342  20755120.892    20755123.979    20755119.601
+      1261.999         983.376          58.000          51.000
+ -23333824.65743 -18147111.07942  20874150.810    20874155.650    20874149.707
+     -1462.110       -1139.306          56.000          49.000
+ -11857648.00243  -9228388.72942  22880879.592    22880883.873    22880879.077
+      1634.181        1273.388          49.000          43.000
+  -8473879.43643  -6569034.57242  23717810.756    23717814.547    23717808.420
+      2102.336        1638.184          48.000          41.000
+ 04  2  1 14 42  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -7491794.61343  -5833342.17342  23921989.019    23921992.479    23921988.441
+     -3103.169       -2418.054          45.000          39.000
+ -25953995.26644 -20203763.41642  19898939.635    19898943.795    19898938.276
+       864.527         673.657          57.000          51.000
+ -14551193.86643 -11335362.40642  22648772.193    22648776.722    22648772.053
+      2543.058        1981.604          51.000          44.000
+ -24829287.62143 -19307490.29942  20923860.863    20923864.636    20923859.775
+     -1993.421       -1553.315          56.000          50.000
+ -23899535.15144 -18610698.91742  20747943.709    20747946.852    20747942.404
+      1252.970         976.340          57.000          51.000
+ -23289673.02543 -18112707.21242  20882552.546    20882557.117    20882551.786
+     -1480.766       -1153.844          55.000          49.000
+ -11906570.86943  -9266510.42942  22871570.274    22871572.911    22871568.902
+      1628.052        1268.612          50.000          43.000
+  -8536876.64143  -6618123.23542  23705823.880    23705827.878    23705820.848
+      2098.087        1634.873          48.000          41.000
+ 04  2  1 14 42 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -7398597.23043  -5760720.82442  23939723.832    23939727.973    23939721.862
+     -3109.293       -2422.826          44.000          38.000
+ -25979601.30744 -20223716.16142  19894067.312    19894071.062    19894065.703
+       843.138         656.991          57.000          51.000
+ -14627482.27143 -11394807.91642  22634255.656    22634258.918    22634254.947
+      2543.536        1981.976          51.000          44.000
+ -24769250.77243 -19260708.34942  20935285.486    20935289.030    20935284.511
+     -2008.304       -1564.912          56.000          50.000
+ -23936996.37644 -18639889.47742  20740815.120    20740818.146    20740813.975
+      1245.189         970.277          57.000          51.000
+ -23244983.63743 -18077884.31142  20891056.987    20891060.995    20891055.932
+     -1497.898       -1167.193          56.000          49.000
+ -11955324.42043  -9304500.16742  22862293.001    22862296.242    22862290.992
+      1623.071        1264.731          50.000          44.000
+  -8599764.51743  -6667126.70142  23693853.478    23693861.531    23693854.021
+      2095.148        1632.583          46.000          41.000
+ 04  2  1 14 43  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -7305198.27843  -5687942.43542  23957497.234    23957502.363    23957496.991
+     -3116.924       -2428.772          46.000          38.000
+ -26004542.33644 -20243150.71442  19889321.025    19889324.520    19889319.457
+       819.938         638.913          57.000          51.000
+ -14703763.29243 -11454247.66142  22619739.675    22619743.036    22619738.722
+      2542.248        1980.972          51.000          45.000
+ -24708742.12943 -19213558.76542  20946799.341    20946803.202    20946798.438
+     -2025.088       -1577.991          56.000          49.000
+ -23974199.34444 -18668878.79342  20733735.545    20733738.674    20733734.202
+      1235.494         962.723          57.000          51.000
+ -23199757.40243 -18042643.09342  20899663.219    20899667.558    20899662.117
+     -1516.732       -1181.869          55.000          49.000
+ -12003908.49643  -9342357.86742  22853046.382    22853051.071    22853045.312
+      1616.250        1259.416          50.000          43.000
+  -8662539.23243  -6716041.98542  23681909.385    23681913.252    23681907.604
+      2090.126        1628.670          46.000          41.000
+ 04  2  1 14 43 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -7211603.06443  -5615011.08842  23975307.410    23975311.331    23975307.748
+     -3123.184       -2433.650          46.000          38.000
+ -26028820.49244 -20262068.73842  19884700.892    19884704.747    19884699.477
+       797.908         621.746          57.000          51.000
+ -14780038.24643 -11513682.67942  22605225.101    22605228.376    22605224.939
+      2541.968        1980.754          51.000          45.000
+ -24647767.08143 -19166045.75842  20958402.746    20958406.972    20958401.642
+     -2040.550       -1590.039          56.000          49.000
+ -24011145.30944 -18697667.85042  20726704.973    20726708.182    20726703.676
+      1226.990         956.096          57.000          51.000
+ -23153999.39343 -18006987.49742  20908370.651    20908374.777    20908369.960
+     -1534.372       -1195.614          56.000          49.000
+ -12052326.48643  -9380086.14742  22843832.832    22843837.656    22843831.706
+      1610.861        1255.216          49.000          43.000
+  -8725200.40043  -6764868.79442  23669985.434    23669989.891    23669984.456
+      2086.379        1625.750          47.000          41.000
+ 04  2  1 14 44  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -7117814.64443  -5541929.17342  23993155.428    23993159.199    23993153.627
+     -3129.968       -2438.936          46.000          39.000
+ -26052435.43844 -20280469.97942  19880206.927    19880211.130    19880205.782
+       775.448         604.245          57.000          51.000
+ -14856305.97943 -11573112.05842  22590712.636    22590716.312    22590712.476
+      2541.454        1980.354          52.000          45.000
+ -24586328.00143 -19118171.16842  20970094.351    20970098.321    20970093.579
+     -2056.178       -1602.217          56.000          50.000
+ -24047832.65644 -18726255.38542  20719723.634    20719726.850    20719722.252
+      1218.021         949.107          57.000          51.000
+ -23107711.83443 -17970919.26542  20917178.554    20917183.313    20917177.658
+     -1552.262       -1209.555          55.000          49.000
+ -12100579.42143  -9417685.80142  22834650.318    22834654.422    22834648.670
+      1605.170        1250.782          49.000          43.000
+  -8787745.79543  -6813605.41842  23658083.276    23658089.002    23658081.365
+      2082.177        1622.476          46.000          41.000
+ 04  2  1 14 44 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -7023832.59143  -5468696.39142  24011038.321    24011044.323    24011037.688
+     -3135.632       -2443.350          46.000          38.000
+ -26075383.55544 -20298351.60842  19875840.404    19875844.075    19875838.935
+       753.996         587.529          57.000          51.000
+ -14932562.08143 -11632532.35542  22576201.473    22576204.443    22576200.664
+      2541.888        1980.692          51.000          45.000
+ -24524424.51743 -19069934.70642  20981873.970    20981878.449    20981873.127
+     -2070.862       -1613.659          55.000          50.000
+ -24084256.08244 -18754637.26642  20712792.363    20712795.674    20712791.337
+      1210.015         942.869          57.000          51.000
+ -23060893.95543 -17934437.80442  20926088.499    20926092.367    20926087.313
+     -1569.174       -1222.733          56.000          49.000
+ -12148664.93543  -9455155.00042  22825500.926    22825503.940    22825499.853
+      1600.419        1247.080          50.000          43.000
+  -8850169.49543  -6862247.20942  23646204.771    23646208.612    23646202.842
+      2078.882        1619.908          48.000          40.000
+ 04  2  1 14 45  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -6929662.18443  -5395316.83442  24028958.991    24028962.293    24028958.264
+     -3142.046       -2448.347          46.000          38.000
+ -26097666.74844 -20315715.12142  19871599.587    19871603.248    19871598.433
+       731.876         570.293          57.000          51.000
+ -15008807.58043 -11691944.40942  22561692.189    22561695.797    22561691.807
+      2541.424        1980.330          51.000          45.000
+ -24462061.45443 -19021340.12842  20993741.323    20993745.333    20993740.465
+     -2086.149       -1625.571          56.000          50.000
+ -24120416.62644 -18782814.30742  20705911.442    20705914.580    20705910.166
+      1201.161         935.970          58.000          51.000
+ -23013550.33843 -17897546.66742  20935097.240    20935101.306    20935096.366
+     -1586.608       -1236.318          56.000          49.000
+ -12196586.29743  -9492496.29042  22816380.866    22816385.444    22816381.793
+      1594.895        1242.775          50.000          43.000
+  -8912471.03843  -6910793.82342  23634348.542    23634354.513    23634348.298
+      2074.952        1616.846          47.000          41.000
+ 04  2  1 14 45 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -6835304.23243  -5321791.22442  24046914.647    24046918.867    24046914.481
+     -3148.488       -2453.367          46.000          39.000
+ -26119282.81044 -20332558.78642  19867486.187    19867490.328    19867485.139
+       709.465         552.830          57.000          51.000
+ -15085039.31143 -11751345.73942  22547184.994    22547189.147    22547184.639
+      2540.803        1979.846          50.000          44.000
+ -24399239.62443 -18972388.07242  21005696.116    21005700.257    21005695.266
+     -2101.671       -1637.666          56.000          50.000
+ -24156310.46044 -18810783.52142  20699081.237    20699084.356    20699079.829
+      1192.032         928.856          58.000          51.000
+ -22965681.18543 -17860246.02642  20944206.723    20944210.435    20944205.367
+     -1604.375       -1250.162          56.000          49.000
+ -12244342.60243  -9529708.95142  22807294.082    22807297.877    22807292.183
+      1589.258        1238.383          50.000          44.000
+  -8974646.04143  -6959241.82042  23622517.167    23622522.218    23622516.616
+      2070.341        1613.253          48.000          41.000
+ 04  2  1 14 46  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -6740764.04943  -5248123.56342  24064905.120    24064908.446    24064904.026
+     -3153.724       -2457.447          47.000          38.000
+ -26140233.92444 -20348884.30742  19863499.594    19863503.303    19863498.310
+       687.537         535.743          57.000          51.000
+ -15161258.65643 -11810737.43742  22532681.123    22532684.505    22532680.900
+      2540.620        1979.704          51.000          44.000
+ -24335964.43243 -18923082.74642  21017737.005    21017741.236    21017736.104
+     -2116.399       -1649.142          55.000          49.000
+ -24191938.80344 -18838545.85542  20692301.214    20692304.398    20692300.176
+      1183.409         922.137          58.000          51.000
+ -22917291.21143 -17822539.55342  20953414.768    20953418.741    20953413.957
+     -1621.315       -1263.362          56.000          49.000
+ -12291937.38443  -9566795.78042  22798237.061    22798240.921    22798236.434
+      1584.197        1234.439          50.000          44.000
+  -9036694.33843  -7007591.07242  23610710.336    23610713.022    23610708.063
+      2066.376        1610.163          48.000          41.000
+ 04  2  1 14 46 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -6646040.26643  -5174312.85442  24082930.340    24082934.052    24082930.018
+     -3160.233       -2462.519          46.000          39.000
+ -26160515.45944 -20364688.08142  19859639.969    19859643.944    19859638.652
+       664.936         518.132          57.000          51.000
+ -15237460.06543 -11870115.14442  22518180.715    22518184.258    22518180.036
+      2539.922        1979.160          51.000          45.000
+ -24272234.41043 -18873423.01142  21029864.400    21029868.199    21029863.427
+     -2131.728       -1661.087          55.000          49.000
+ -24227295.22844 -18866096.31042  20685573.193    20685576.085    20685571.904
+      1174.125         914.903          58.000          51.000
+ -22868378.57843 -17784425.81242  20962723.075    20962726.536    20962721.996
+     -1639.071       -1277.198          56.000          49.000
+ -12339367.26743  -9603754.11442  22789211.149    22789214.738    22789209.788
+      1578.261        1229.814          49.000          43.000
+  -9098608.89043  -7055836.13442  23598928.431    23598932.952    23598926.875
+      2061.781        1606.583          48.000          41.000
+ 04  2  1 14 47  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -6551136.17843  -5100361.67542  24100991.265    24100994.615    24100990.359
+     -3166.573       -2467.459          46.000          39.000
+ -26180127.76244 -20379970.37742  19855908.218    19855911.922    19855906.786
+       642.502         500.651          57.000          51.000
+ -15313642.73643 -11929478.25942  22503682.736    22503687.610    22503682.288
+      2538.893        1978.358          50.000          45.000
+ -24208052.93543 -18823411.48742  21042077.790    21042081.640    21042076.832
+     -2146.922       -1672.926          55.000          49.000
+ -24262378.65044 -18893434.03242  20678897.249    20678899.952    20678895.531
+      1164.845         907.671          58.000          51.000
+ -22818946.31243 -17745907.15742  20972129.723    20972133.028    20972128.485
+     -1656.505       -1290.783          56.000          49.000
+ -12386633.72443  -9640585.08242  22780216.182    22780220.954    22780216.060
+      1573.049        1225.752          49.000          44.000
+  -9160387.85243  -7103975.52242  23587170.841    23587176.103    23587169.271
+      2056.927        1602.800          47.000          41.000
+ 04  2  1 14 47 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -6456054.83143  -5026272.34042  24119084.671    24119086.131    24119083.509
+     -3171.886       -2471.599          45.000          38.000
+ -26199070.96644 -20394731.29442  19852303.310    19852307.063    19852301.943
+       620.899         483.817          57.000          51.000
+ -15389805.65543 -11988825.98442  22489189.594    22489194.282    22489188.309
+      2538.876        1978.345          51.000          44.000
+ -24143422.84743 -18773050.39142  21054376.476    21054380.348    21054375.411
+     -2161.130       -1683.997          55.000          49.000
+ -24297187.78244 -18920558.02042  20672272.929    20672276.067    20672271.611
+      1156.357         901.057          58.000          51.000
+ -22768997.13643 -17706985.72342  20981633.988    20981638.429    20981633.364
+     -1672.942       -1303.591          56.000          49.000
+ -12433737.87543  -9677289.59742  22771252.382    22771257.421    22771252.365
+      1568.012        1221.828          50.000          44.000
+  -9222028.76043  -7152007.31642  23575441.115    23575445.548    23575440.455
+      2053.166        1599.870          47.000          41.000
+ 04  2  1 14 48  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -6360800.60943  -4952048.28542  24137209.849    24137212.664    24137209.378
+     -3178.027       -2476.385          46.000          38.000
+ -26217346.41644 -20408971.88742  19848825.591    19848829.176    19848823.911
+       597.610         465.670          57.000          51.000
+ -15465949.09543 -12048158.52342  22474700.209    22474703.344    22474700.343
+      2537.415        1977.206          51.000          45.000
+ -24078348.30443 -18722342.97242  21066759.913    21066763.794    21066758.803
+     -2176.934       -1696.312          55.000          49.000
+ -24331722.31644 -18947468.03542  20665701.150    20665704.261    20665699.967
+      1146.196         893.140          58.000          51.000
+ -22718534.66543 -17667664.31742  20991236.961    20991240.972    20991235.705
+     -1690.938       -1317.614          55.000          49.000
+ -12480682.15943  -9713869.52242  22762319.538    22762323.166    22762318.762
+      1561.801        1216.988          50.000          44.000
+  -9283530.45943  -7199930.65342  23563737.507    23563741.718    23563735.970
+      2047.366        1595.350          47.000          41.000
+ 04  2  1 14 48 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -6265373.65943  -4877689.63242  24155369.137    24155372.409    24155368.561
+     -3183.868       -2480.936          46.000          39.000
+ -26234951.00844 -20422689.73642  19845475.392    19845479.377    19845474.082
+       575.617         448.533          57.000          51.000
+ -15542068.83843 -12107472.60242  22460215.073    22460218.955    22460215.409
+      2537.056        1976.927          51.000          45.000
+ -24012829.44243 -18671289.33442  21079227.450    21079231.750    21079226.477
+     -2191.405       -1707.588          55.000          49.000
+ -24365977.91944 -18974160.70342  20659182.556    20659185.663    20659181.366
+      1137.183         886.117          58.000          51.000
+ -22667558.73043 -17627942.79742  21000936.985    21000941.084    21000936.315
+     -1707.790       -1330.745          56.000          49.000
+ -12527464.76643  -9750323.48842  22753415.856    22753420.976    22753415.359
+      1556.717        1213.026          48.000          43.000
+  -9344887.63243  -7247741.35942  23552061.396    23552067.475    23552058.490
+      2042.733        1591.740          47.000          41.000
+ 04  2  1 14 49  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -6169778.48943  -4803199.95842  24173560.966    24173565.413    24173560.379
+     -3189.085       -2485.001          46.000          39.000
+ -26251886.45844 -20435886.18142  19842252.571    19842256.470    19842251.216
+       553.773         431.511          57.000          51.000
+ -15618165.24643 -12166768.48842  22445735.228    22445738.235    22445733.947
+      2536.551        1976.533          52.000          45.000
+ -23946870.74743 -18619892.96642  21091779.238    21091782.876    21091778.420
+     -2205.492       -1718.565          55.000          49.000
+ -24399954.59444 -19000636.03342  20652716.543    20652719.908    20652715.646
+      1128.324         879.213          57.000          51.000
+ -22616073.38643 -17587824.33842  21010734.550    21010738.572    21010733.477
+     -1724.201       -1343.533          56.000          49.000
+ -12574088.31343  -9786653.50542  22744544.422    22744550.254    22744543.329
+      1551.749        1209.155          49.000          43.000
+  -9406099.17243  -7295438.63142  23540414.372    23540418.921    23540413.371
+      2038.302        1588.287          48.000          42.000
+ 04  2  1 14 49 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -6074016.43743  -4728580.23242  24191784.042    24191787.236    24191782.211
+     -3194.551       -2489.260          45.000          39.000
+ -26268151.30544 -20448560.07842  19839157.764    19839161.318    19839156.372
+       531.260         413.969          57.000          51.000
+ -15694235.75343 -12226044.19242  22431258.631    22431262.896    22431257.907
+      2535.427        1975.657          51.000          45.000
+ -23880473.83743 -18568155.13242  21104413.804    21104418.023    21104412.705
+     -2220.277       -1730.086          55.000          49.000
+ -24433649.17644 -19026891.54242  20646305.566    20646308.353    20646303.934
+      1118.592         871.630          58.000          51.000
+ -22564079.70343 -17547309.77542  21020628.541    21020632.969    21020627.648
+     -1741.297       -1356.855          56.000          49.000
+ -12620552.33543  -9822859.20942  22735703.764    22735706.201    22735701.769
+      1546.400        1204.987          49.000          43.000
+  -9467161.25043  -7343019.39642  23528794.833    23528798.258    23528792.781
+      2033.038        1584.185          48.000          41.000
+ 04  2  1 14 50  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -5978090.63043  -4653832.92242  24210037.863    24210042.251    24210037.991
+     -3199.631       -2493.219          46.000          39.000
+ -26283745.67044 -20460711.52342  19836189.853    19836193.959    19836188.565
+       508.845         396.503          57.000          51.000
+ -15770279.34443 -12285298.91142  22416788.359    22416791.816    22416787.264
+      2534.732        1975.116          51.000          45.000
+ -23813641.68143 -18516078.15042  21117132.056    21117135.930    21117130.965
+     -2234.621       -1741.263          55.000          49.000
+ -24467059.98844 -19052925.93842  20639947.367    20639950.434    20639946.069
+      1109.234         864.338          58.000          51.000
+ -22511580.50043 -17506401.31042  21030618.909    21030622.929    21030618.015
+     -1758.020       -1369.886          55.000          49.000
+ -12666858.05443  -9858941.57942  22726891.817    22726894.732    22726891.048
+      1541.190        1200.927          50.000          43.000
+  -9528071.43543  -7390481.83742  23517204.094    23517207.101    23517201.335
+      2028.064        1580.310          49.000          42.000
+ 04  2  1 14 50 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -5882002.00743  -4578958.70942  24228323.884    24228327.488    24228322.423
+     -3206.460       -2498.540          45.000          39.000
+ -26298667.76744 -20472339.12542  19833350.301    19833354.261    19833349.008
+       485.715         378.479          57.000          51.000
+ -15846292.70843 -12344530.09042  22402324.113    22402326.774    22402323.308
+      2532.968        1973.741          52.000          45.000
+ -23746375.29443 -18463662.79842  21129932.221    21129935.948    21129931.225
+     -2249.797       -1753.088          55.000          49.000
+ -24500183.73744 -19078736.64842  20633643.879    20633647.283    20633643.011
+      1098.861         856.255          58.000          51.000
+ -22458576.30543 -17465099.34042  21040705.113    21040709.501    21040704.209
+     -1775.658       -1383.630          55.000          49.000
+ -12713004.61643  -9894899.92842  22718110.262    22718114.499    22718110.067
+      1535.213        1196.270          50.000          44.000
+  -9588825.25943  -7437822.39842  23505642.252    23505647.413    23505640.062
+      2022.048        1575.622          48.000          42.000
+ 04  2  1 14 51  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -5785756.03143  -4503961.90742  24246637.722    24246641.837    24246637.137
+     -3210.252       -2501.495          44.000          39.000
+ -26312920.19344 -20483444.91242  19830638.150    19830642.313    19830636.942
+       464.343         361.826          57.000          51.000
+ -15922277.27243 -12403738.82142  22387864.130    22387868.176    22387864.204
+      2532.809        1973.617          51.000          45.000
+ -23678680.42343 -18410913.57942  21142813.900    21142818.301    21142812.918
+     -2263.184       -1763.520          55.000          49.000
+ -24533021.51944 -19104324.53442  20627395.388    20627398.457    20627393.992
+      1090.269         849.560          58.000          51.000
+ -22405072.41343 -17423407.99942  21050886.603    21050890.639    21050885.746
+     -1791.392       -1395.890          55.000          49.000
+ -12758995.78943  -9930737.19842  22709358.929    22709362.808    22709357.842
+      1530.563        1192.646          50.000          44.000
+  -9649422.72543  -7485041.14442  23494110.860    23494115.908    23494109.414
+      2017.599        1572.155          48.000          42.000
+ 04  2  1 14 51 30.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -5689350.55243  -4428840.79542  24264983.279    24264987.971    24264983.435
+     -3216.005       -2505.978          45.000          38.000
+ -26326498.37344 -20494025.30642  19828054.228    19828058.458    19828052.892
+       441.379         343.932          57.000          51.000
+ -15998226.65843 -12462920.15742  22373411.281    22373414.940    22373411.247
+      2531.042        1972.241          51.000          45.000
+ -23610554.89443 -18357828.76842  21155777.806    21155782.102    21155777.005
+     -2277.948       -1775.024          55.000          49.000
+ -24565566.67944 -19129684.39442  20621202.432    20621205.148    20621200.960
+      1079.977         841.540          58.000          51.000
+ -22351066.33043 -17381325.34142  21061163.953    21061167.839    21061162.966
+     -1808.545       -1409.256          55.000          49.000
+ -12804827.47343  -9966450.16442  22700636.380    22700641.060    22700636.023
+      1525.148        1188.427          49.000          43.000
+  -9709856.17443  -7532132.09842  23482610.700    23482614.727    23482609.334
+      2011.734        1567.585          48.000          41.000
+ 04  2  1 14 52  0.0000000  0  8G 4G17G30G 9G 5G24G 6G10
+  -5592791.18143  -4353599.76842  24283357.050    24283361.830    24283357.543
+     -3220.558       -2509.526          43.000          38.000
+ -26339404.88844 -20504082.32942  19825598.654    19825602.404    19825597.121
+       419.358         326.772          57.000          51.000
+ -16074142.49143 -12522075.34242  22358965.837    22358968.860    22358964.761
+      2530.185        1971.573          52.000          45.000
+ -23542004.50143 -18304412.90442  21168822.660    21168826.597    21168821.582
+     -2291.776       -1785.799          55.000          49.000
+ -24597820.39944 -19154817.16142  20615064.756    20615067.561    20615063.342
+      1070.620         834.249          58.000          51.000
+ -22296563.34843 -17338855.49742  21071535.121    21071539.522    21071534.614
+     -1824.732       -1421.869          55.000          49.000
+ -12850503.53443 -10002041.87042  22691945.362    22691949.088    22691944.278
+      1520.350        1184.688          50.000          44.000
+  -9770125.87343  -7579095.45842  23471141.555    23471146.653    23471138.912
+      2006.514        1563.517          47.000          41.000
+ 04  2  1 14 52 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -5496079.39843  -4278239.99042  24301761.509    24301766.330    24301761.000
+     -3226.165       -2513.895          44.000          38.000
+ -26351638.88644 -20513615.31242  19823270.280    19823274.277    19823269.123
+       396.342         308.838          57.000          51.000
+  -1786347.38553  -1324119.64652  25005434.784    25005443.510    25005435.080
+      3767.245        2935.516          39.000          35.000
+ -16150021.88443 -12581202.15442  22344526.381    22344528.913    22344525.595
+      2528.446        1970.218          52.000          45.000
+ -23473030.70243 -18250667.11142  21181948.520    21181952.085    21181947.309
+     -2306.332       -1797.142          55.000          49.000
+ -24629779.40044 -19179720.27442  20608982.955    20608986.008    20608981.370
+      1060.155         826.095          58.000          51.000
+ -22241564.93043 -17295999.58642  21082001.332    21082005.088    21082000.349
+     -1841.662       -1435.061          55.000          49.000
+ -12896023.80343 -10037512.19542  22683282.748    22683286.447    22683281.944
+      1514.578        1180.191          50.000          44.000
+  -9830228.00443  -7625928.24942  23459704.562    23459709.605    23459702.627
+      2000.240        1558.629          48.000          41.000
+ 04  2  1 14 53  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -5399220.40643  -4202765.49042  24320193.943    24320198.316    24320191.777
+     -3231.103       -2517.742          43.000          38.000
+ -26363202.51444 -20522625.93542  19821070.094    19821073.749    19821068.605
+       374.175         291.565          57.000          51.000
+  -1899338.42343  -1412164.34942  24983933.406    24983940.611    24983931.935
+      3765.106        2933.849          41.000          36.000
+ -16225865.69743 -12640301.23742  22330094.097    22330096.011    22330092.252
+      2527.637        1969.587          52.000          45.000
+ -23403638.67143 -18196595.41542  21195152.657    21195157.325    21195151.959
+     -2320.047       -1807.829          55.000          49.000
+ -24661444.55344 -19204394.41942  20602956.967    20602960.237    20602955.809
+      1050.483         818.558          58.000          51.000
+ -22186075.77743 -17252761.29242  21092560.923    21092564.383    21092559.512
+     -1857.898       -1447.713          56.000          49.000
+ -12941391.40343 -10072863.56642  22674650.147    22674654.494    22674648.279
+      1509.456        1176.199          50.000          44.000
+  -9890162.09143  -7672630.05742  23448299.789    23448302.902    23448297.600
+      1995.075        1554.604          47.000          41.000
+ 04  2  1 14 53 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -5302213.78143  -4127175.90642  24338652.903    24338656.210    24338653.346
+     -3236.688       -2522.094          43.000          38.000
+ -26374092.78144 -20531111.85642  19818997.649    19819001.353    19818996.245
+       351.159         273.630          57.000          51.000
+  -2012263.13843  -1500157.38142  24962445.569    24962451.224    24962445.640
+      3762.477        2931.800          40.000          36.000
+ -16301669.45443 -12699369.10842  22315668.835    22315672.331    22315667.174
+      2525.527        1967.943          52.000          45.000
+ -23333828.29943 -18142197.75442  21208437.429    21208441.542    21208436.414
+     -2334.517       -1819.104          55.000          49.000
+ -24692810.92644 -19228835.74842  20596988.313    20596991.783    20596987.118
+      1040.004         810.393          58.000          51.000
+ -22130095.01843 -17209139.92742  21103213.146    21103217.537    21103212.450
+     -1874.821       -1460.899          55.000          49.000
+ -12986604.07943 -10108094.19742  22666044.876    22666049.157    22666044.429
+      1503.937        1171.899          50.000          44.000
+  -9949922.35143  -7719196.44042  23436927.808    23436932.185    23436925.492
+      1988.424        1549.421          48.000          42.000
+ 04  2  1 14 54  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -5205060.10043  -4051471.77642  24357139.977    24357145.318    24357139.828
+     -3240.256       -2524.875          42.000          38.000
+ -26384307.86344 -20539071.66242  19817053.844    19817057.407    19817052.227
+       329.652         256.872          57.000          51.000
+  -2125117.33643  -1588095.46842  24940969.271    24940974.765    24940968.274
+      3760.808        2930.500          41.000          36.000
+ -16377429.57143 -12758402.96642  22301251.015    22301254.213    22301250.984
+      2525.005        1967.536          52.000          45.000
+ -23263600.28843 -18087474.65542  21221801.371    21221805.718    21221800.678
+     -2347.310       -1829.073          55.000          49.000
+ -24723874.98044 -19253041.50442  20591077.161    20591079.886    20591075.725
+      1030.821         803.237          58.000          51.000
+ -22073623.43843 -17165136.10942  21113959.971    21113963.582    21113958.928
+     -1890.098       -1472.804          56.000          49.000
+ -13031660.59143 -10143203.13542  22657471.511    22657475.167    22657470.132
+      1499.792        1168.669          50.000          44.000
+ -10009504.27743  -7765623.87442  23425589.433    23425594.502    23425588.219
+      1983.677        1545.722          49.000          43.000
+ 04  2  1 14 54 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -5107765.69943  -3975657.97642  24375654.936    24375659.633    24375653.018
+     -3244.980       -2528.556          41.000          38.000
+ -26393851.56444 -20546508.30842  19815237.512    19815241.210    19815236.237
+       307.031         239.245          57.000          51.000
+  -2237902.22743  -1675979.52042  24919507.697    24919512.547    24919505.573
+      3758.348        2928.583          41.000          37.000
+ -16453148.09843 -12817404.41942  22286843.237    22286846.508    22286843.000
+      2523.344        1966.242          53.000          45.000
+ -23192961.30043 -18032431.31142  21235243.452    21235247.540    21235242.557
+     -2361.412       -1840.061          55.000          49.000
+ -24754638.36944 -19277012.97342  20585223.053    20585225.982    20585221.705
+      1020.447         795.154          58.000          51.000
+ -22016666.99443 -17120754.46842  21124798.045    21124802.057    21124796.867
+     -1906.513       -1485.594          55.000          49.000
+ -13076565.37243 -10178193.84042  22648926.968    22648930.491    22648926.410
+      1494.367        1164.442          51.000          44.000
+ -10068908.62843  -7811912.91742  23414283.801    23414289.438    23414283.840
+      1977.072        1540.576          47.000          42.000
+ 04  2  1 14 55  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -5010332.04343  -3899735.71542  24394194.843    24394200.807    24394194.561
+     -3250.691       -2533.006          42.000          38.000
+ -26402722.72844 -20553420.90042  19813549.749    19813553.086    19813548.151
+       283.926         221.241          57.000          51.000
+  -2350614.82943  -1763807.28342  24898057.865    24898065.805    24898056.884
+      3755.252        2926.170          40.000          36.000
+ -16528822.50743 -12876371.47842  22272442.970    22272446.261    22272442.141
+      2521.233        1964.597          52.000          46.000
+ -23121913.09843 -17977069.10142  21248763.523    21248767.800    21248762.276
+     -2375.569       -1851.093          54.000          48.000
+ -24785098.14044 -19300747.85842  20579426.379    20579429.789    20579425.343
+      1009.785         786.845          58.000          51.000
+ -21959227.41943 -17075996.36442  21135728.531    21135732.358    21135727.674
+     -1923.187       -1498.587          55.000          49.000
+ -13121318.33343 -10213066.26542  22640410.432    22640415.129    22640409.427
+      1488.746        1160.062          50.000          44.000
+ -10128131.41943  -7858060.49642  23403014.492    23403018.802    23403013.902
+      1970.763        1535.659          48.000          42.000
+ 04  2  1 14 55 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -4912761.74043  -3823706.95242  24412761.633    24412768.302    24412762.202
+     -3254.392       -2535.890          43.000          38.000
+ -26410921.71244 -20559809.71642  19811989.195    19811993.082    19811987.952
+       262.111         204.242          57.000          51.000
+  -2463252.12943  -1851576.37842  24876624.309    24876629.117    24876622.168
+      3753.396        2924.724          41.000          36.000
+ -16604450.90443 -12935302.66742  22258050.982    22258054.350    22258050.379
+      2520.174        1963.772          52.000          46.000
+ -23050458.34843 -17921390.10242  21262360.245    21262365.019    21262359.427
+     -2388.570       -1861.223          54.000          48.000
+ -24815252.23144 -19324244.55442  20573688.444    20573691.717    20573687.121
+      1000.043         779.254          58.000          51.000
+ -21901306.78543 -17030863.41042  21146749.615    21146754.409    21146749.067
+     -1938.731       -1510.699          55.000          49.000
+ -13165920.11643 -10247820.86542  22631921.384    22631927.345    22631921.609
+      1484.207        1156.525          49.000          44.000
+ -10187169.68143  -7904064.28942  23391780.595    23391785.744    23391779.070
+      1964.767        1530.987          49.000          43.000
+ 04  2  1 14 56  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -4815054.82043  -3747571.69142  24431353.933    24431360.905    24431354.553
+     -3259.240       -2539.667          42.000          38.000
+ -26418446.08544 -20565672.85642  19810557.388    19810561.311    19810556.107
+       239.536         186.651          57.000          51.000
+  -2575810.45343  -1939283.90742  24855203.760    24855210.309    24855204.241
+      3750.580        2922.530          41.000          36.000
+ -16680029.26243 -12994194.86942  22243668.605    22243671.970    22243668.068
+      2518.418        1962.404          52.000          45.000
+ -22978597.51243 -17865394.66942  21276035.469    21276039.815    21276034.644
+     -2402.118       -1871.780          54.000          48.000
+ -24845096.29144 -19347499.66142  20568009.492    20568012.456    20568008.028
+       989.566         771.090          58.000          51.000
+ -21842905.00343 -16985355.53842  21157863.972    21157867.891    21157863.017
+     -1954.715       -1523.154          55.000          49.000
+ -13210369.20043 -10282456.47642  22623464.066    22623467.881    22623464.015
+      1478.905        1152.393          50.000          43.000
+ -10246018.58643  -7949920.50342  23380582.910    23380585.864    23380580.822
+      1958.481        1526.089          49.000          42.000
+ 04  2  1 14 56 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -4717217.21143  -3671334.64842  24449974.637    24449978.302    24449974.653
+     -3263.657       -2543.109          44.000          38.000
+ -26425299.36744 -20571013.07242  19809253.488    19809257.418    19809251.954
+       216.892         169.007          57.000          51.000
+  -2688290.64643  -2026930.60342  24833800.944    24833807.304    24833799.874
+      3747.325        2919.994          41.000          36.000
+ -16755559.16743 -13053049.32142  22229295.669    22229299.074    22229294.862
+      2516.545        1960.944          52.000          45.000
+ -22906336.29943 -17809087.25542  21289786.287    21289790.913    21289785.296
+     -2415.586       -1882.275          55.000          48.000
+ -24874631.89044 -19370514.41242  20562388.773    20562391.942    20562387.430
+       979.062         762.905          58.000          51.000
+ -21784027.84243 -16939477.23342  21169067.862    21169071.607    21169066.931
+     -1970.723       -1535.628          55.000          49.000
+ -13254669.44043 -10316976.10242  22615034.389    22615037.498    22615033.132
+      1473.999        1148.571          50.000          44.000
+ -10304678.18443  -7995629.23042  23369418.608    23369423.679    23369418.668
+      1951.675        1520.786          49.000          43.000
+ 04  2  1 14 57  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -4619250.50243  -3594996.97942  24468616.636    24468620.858    24468617.118
+     -3267.122       -2545.809          43.000          39.000
+ -26431480.88644 -20575829.82842  19808076.755    19808080.672    19808075.356
+       195.255         152.147          57.000          51.000
+  -2800689.11943  -2114513.62742  24812410.564    24812419.365    24812410.667
+      3745.945        2918.918          39.000          36.000
+ -16831038.05643 -13111864.02042  22214932.719    22214935.736    22214931.962
+      2515.698        1960.284          52.000          46.000
+ -22833676.76843 -17752469.45942  21303613.695    21303617.198    21303612.468
+     -2428.173       -1892.083          55.000          48.000
+ -24903856.58144 -19393286.90242  20556827.179    20556830.905    20556826.090
+       969.351         755.338          57.000          51.000
+ -21724676.88143 -16893229.72842  21180361.991    21180365.325    21180360.885
+     -1985.827       -1547.398          55.000          48.000
+ -13298820.89243 -10351379.78642  22606633.028    22606636.849    22606632.364
+      1469.554        1145.107          50.000          44.000
+ -10363144.97543  -8041187.73342  23358292.962    23358297.620    23358292.878
+      1946.209        1516.526          49.000          43.000
+ 04  2  1 14 57 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -4521156.99343  -3518560.52342  24487283.629    24487287.645    24487282.791
+     -3272.076       -2549.670          44.000          38.000
+ -26436990.52244 -20580123.04442  19807028.550    19807032.273    19807027.142
+       172.273         134.239          57.000          51.000
+  -2913003.31743  -2202030.97742  24791037.868    24791044.276    24791036.179
+      3742.771        2916.445          37.000          36.000
+ -16906464.05643 -13170637.50742  22200578.922    22200582.746    22200578.733
+      2512.922        1958.121          52.000          46.000
+ -22760621.59443 -17695543.37442  21317514.854    21317518.987    21317513.685
+     -2441.887       -1902.769          54.000          48.000
+ -24932767.56144 -19415814.94442  20551325.850    20551329.147    20551324.668
+       958.201         746.650          58.000          51.000
+ -21664854.26443 -16846614.72042  21191745.181    21191749.792    21191744.236
+     -2002.116       -1560.090          55.000          48.000
+ -13342824.01343 -10385667.89442  22598258.403    22598262.889    22598257.466
+      1464.056        1140.823          50.000          44.000
+ -10421415.82943  -8086593.56942  23347204.588    23347208.179    23347203.709
+      1939.008        1510.915          50.000          43.000
+ 04  2  1 14 58  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -4422937.46243  -3442025.88542  24505974.448    24505979.259    24505973.734
+     -3275.887       -2552.639          46.000          39.000
+ -26441826.89644 -20583891.63742  19806108.484    19806111.991    19806107.199
+       150.040         116.914          57.000          51.000
+  -3025229.41653  -2289479.67252  24769679.300    24769691.270    24769678.541
+      3739.905        2914.212          37.000          35.000
+ -16981833.74243 -13229367.10542  22186237.532    22186240.973    22186236.537
+      2511.462        1956.983          53.000          46.000
+ -22687172.00443 -17638309.96342  21331492.374    21331496.480    21331491.237
+     -2454.700       -1912.753          54.000          48.000
+ -24961361.79144 -19438096.16742  20545884.711    20545887.915    20545883.397
+       948.027         738.722          58.000          51.000
+ -21604560.80843 -16799632.80742  21203219.038    21203223.049    21203218.252
+     -2017.546       -1572.114          55.000          48.000
+ -13386677.86743 -10419839.70642  22589913.208    22589918.258    22589911.949
+      1459.443        1137.228          50.000          44.000
+ -10479486.12843  -8131843.09842  23336153.528    23336159.794    23336153.080
+      1932.241        1505.642          48.000          43.000
+ 04  2  1 14 58 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -4324596.44543  -3365396.55442  24524687.875    24524691.888    24524686.963
+     -3279.777       -2555.670          44.000          38.000
+ -26445992.27044 -20587137.37242  19805315.803    19805319.311    19805314.491
+       127.739          99.537          57.000          51.000
+  -3137367.37853  -2376859.70252  24748342.584    24748349.077    24748342.263
+      3737.156        2912.070          37.000          35.000
+ -17057147.18443 -13288052.87342  22171905.782    22171909.002    22171904.760
+      2509.722        1955.628          53.000          46.000
+ -22613332.82643 -17580772.96442  21345543.594    21345547.233    21345542.565
+     -2467.624       -1922.824          54.000          48.000
+ -24989639.45644 -19460130.71342  20540503.487    20540507.072    20540502.217
+       937.506         730.524          58.000          51.000
+ -21543801.21143 -16752287.68042  21214781.185    21214785.359    21214780.212
+     -2032.887       -1584.068          55.000          48.000
+ -13430385.10043 -10453897.26742  22581596.206    22581600.811    22581595.366
+      1454.638        1133.484          50.000          44.000
+ -10537354.99843  -8176935.68442  23325142.662    23325147.079    23325140.346
+      1925.661        1500.515          49.000          42.000
+ 04  2  1 14 59  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -4226135.25943  -3288673.57942  24543424.003    24543428.684    24543423.028
+     -3283.754       -2558.769          44.000          38.000
+ -26449485.63344 -20589859.46442  19804650.949    19804654.471    19804649.434
+       105.488          82.198          57.000          51.000
+  -3249413.27653  -2464167.96952  24727022.148    24727031.377    24727021.864
+      3733.819        2909.469          39.000          35.000
+ -17132401.56243 -13346692.63342  22157585.565    22157589.175    22157584.904
+      2507.709        1954.059          53.000          46.000
+ -22539105.51643 -17522933.53642  21359668.015    21359672.510    21359667.288
+     -2480.446       -1932.815          54.000          48.000
+ -25017597.30044 -19481916.05442  20535183.485    20535186.848    20535182.292
+       926.847         722.218          58.000          51.000
+ -21482576.66543 -16704580.24542  21226432.235    21226436.110    21226430.943
+     -2048.132       -1595.947          55.000          48.000
+ -13473945.29443 -10487840.23642  22573307.868    22573310.676    22573306.769
+      1449.857        1129.759          50.000          44.000
+ -10595018.53743  -8221868.27142  23314169.149    23314173.065    23314167.844
+      1918.783        1495.156          49.000          43.000
+ 04  2  1 14 59 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -4127554.46943  -3211857.43642  24562182.918    24562188.530    24562183.355
+     -3287.902       -2562.001          43.000          38.000
+ -26452305.67744 -20592056.88242  19804114.251    19804118.166    19804112.965
+        82.983          64.662          57.000          51.000
+  -3361362.98853  -2551401.33552  24705719.018    24705725.125    24705717.272
+      3730.666        2907.012          38.000          34.000
+ -17207593.31743 -13405283.58142  22143276.549    22143280.294    22143275.767
+      2505.640        1952.447          52.000          46.000
+ -22464491.25543 -17464792.58042  21373866.838    21373870.955    21373865.856
+     -2493.384       -1942.897          54.000          48.000
+ -25045231.52544 -19503449.22142  20529924.887    20529928.147    20529923.839
+       915.923         713.706          58.000          51.000
+ -21420887.56143 -16656510.82342  21238171.015    21238175.349    21238169.842
+     -2063.897       -1608.231          55.000          48.000
+ -13517357.33643 -10521667.77542  22565045.214    22565049.598    22565044.620
+      1444.829        1125.841          50.000          44.000
+ -10652471.86343  -8266637.05342  23303235.656    23303240.750    23303234.721
+      1911.914        1489.803          49.000          43.000
+ 04  2  1 15  0  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -4028859.00643  -3134951.91942  24580964.821    24580968.543    24580964.498
+     -3291.294       -2564.645          45.000          39.000
+ -26454455.10644 -20593731.75342  19803704.910    19803708.880    19803703.662
+        60.879          47.438          57.000          51.000
+  -3473216.53143  -2638559.70942  24684435.667    24684438.124    24684431.897
+      3726.734        2903.949          40.000          34.000
+ -17282723.10243 -13463826.25342  22128979.461    22128983.346    22128979.244
+      2503.683        1950.922          53.000          46.000
+ -22389495.19943 -17406354.12942  21388138.383    21388142.627    21388137.524
+     -2505.713       -1952.504          54.000          48.000
+ -25072542.35344 -19524730.39842  20524727.835    20524731.120    20524726.770
+       905.371         705.484          58.000          51.000
+ -21358739.26043 -16608083.58042  21249997.292    21250001.759    21249996.372
+     -2078.738       -1619.796          55.000          48.000
+ -13560624.43743 -10555382.36342  22556813.258    22556816.859    22556812.695
+      1440.198        1122.232          50.000          44.000
+ -10709714.62943  -8311241.77042  23292343.106    23292347.261    23292341.719
+      1905.125        1484.513          49.000          43.000
+ 04  2  1 15  0 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -3930053.66543  -3057960.76342  24599767.560    24599770.294    24599767.981
+     -3295.046       -2567.568          45.000          38.000
+ -26455936.43044 -20594886.01742  19803423.190    19803426.642    19803421.884
+        38.425          29.942          57.000          51.000
+  -3584974.18043  -2725643.38742  24663169.951    24663172.197    24663165.815
+      3723.964        2901.790          41.000          35.000
+ -17357791.15443 -13522320.82742  22114694.148    22114697.972    22114694.102
+      2501.473        1949.200          52.000          46.000
+ -22314122.32043 -17347622.04242  21402481.068    21402485.791    21402480.256
+     -2518.422       -1962.407          54.000          48.000
+ -25099530.56544 -19545760.18042  20519592.336    20519595.288    20519591.056
+       894.419         696.950          58.000          51.000
+ -21296136.25143 -16559302.01642  21261910.520    21261914.569    21261909.466
+     -2094.119       -1631.781          55.000          48.000
+ -13603749.56943 -10588986.33242  22548605.911    22548610.000    22548605.444
+      1435.330        1118.439          50.000          44.000
+ -10766746.21243  -8355681.93642  23281489.733    23281494.222    23281488.488
+      1897.926        1478.903          49.000          44.000
+ 04  2  1 15  1  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -3831135.87143  -2980882.01742  24618591.773    24618594.573    24618589.535
+     -3299.013       -2570.659          44.000          38.000
+ -26456745.43544 -20595516.39142  19803269.462    19803273.181    19803267.865
+        15.639          12.186          57.000          51.000
+  -3696628.34943  -2812646.40442  24641921.695    24641924.023    24641918.448
+      3719.664        2898.439          40.000          34.000
+ -17432790.94543 -13580762.20442  22100422.715    22100426.848    22100422.503
+      2498.690        1947.031          52.000          46.000
+ -22238370.87843 -17288594.97642  21416896.038    21416900.393    21416895.128
+     -2531.331       -1972.466          54.000          48.000
+ -25126189.45844 -19566533.35842  20514519.109    20514522.268    20514517.671
+       883.057         688.096          58.000          51.000
+ -21233076.27643 -16510164.37742  21273910.161    21273914.533    21273909.255
+     -2109.687       -1643.912          55.000          48.000
+ -13646728.64643 -10622476.49642  22540427.245    22540432.143    22540426.296
+      1430.121        1114.380          50.000          44.000
+ -10823559.07643  -8399951.67042  23270678.915    23270684.400    23270678.338
+      1889.774        1472.551          48.000          43.000
+ 04  2  1 15  1 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -3732112.17743  -2903720.70842  24637436.399    24637437.984    24637433.072
+     -3302.462       -2573.347          45.000          37.000
+ -26456886.42444 -20595626.23942  19803242.248    19803246.107    19803240.948
+        -6.350          -4.948          57.000          51.000
+  -3808180.95943  -2899570.31342  24620691.560    24620697.445    24620691.058
+      3717.030        2896.387          42.000          34.000
+ -17507724.82243 -13639152.21942  22086163.261    22086166.507    22086162.478
+      2496.760        1945.527          52.000          46.000
+ -22162247.65143 -17229278.20542  21431381.604    21431386.551    21431380.914
+     -2543.524       -1981.967          53.000          48.000
+ -25152521.06044 -19587051.50242  20509508.447    20509511.550    20509507.110
+       872.292         679.708          58.000          51.000
+ -21169565.70643 -16460675.63342  21285996.129    21286000.089    21285995.078
+     -2124.389       -1655.368          55.000          48.000
+ -13689566.29743 -10655856.45742  22532275.310    22532281.192    22532274.906
+      1425.650        1110.896          50.000          44.000
+ -10880154.25843  -8444051.76942  23259909.893    23259913.902    23259909.361
+      1883.098        1467.349          49.000          43.000
+ 04  2  1 15  2  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -3632982.11243  -2826476.55742  24656298.292    24656303.858    24656296.938
+     -3305.628       -2575.814          44.000          37.000
+ -26456357.16744 -20595213.81842  19803343.147    19803346.910    19803341.865
+       -28.549         -22.246          57.000          51.000
+  -3919626.49943  -2986410.82542  24599483.021    24599489.844    24599481.346
+      3713.170        2893.379          42.000          35.000
+ -17582587.84943 -13697487.03142  22071917.553    22071920.473    22071917.223
+      2494.478        1943.749          53.000          46.000
+ -22085752.67243 -17169671.75142  21445938.818    21445942.563    21445937.541
+     -2555.590       -1991.369          54.000          48.000
+ -25178520.49044 -19607310.80142  20504560.823    20504563.963    20504559.742
+       861.456         671.264          58.000          51.000
+ -21105604.30043 -16410835.58842  21298167.304    21298171.581    21298166.411
+     -2139.243       -1666.942          55.000          48.000
+ -13732260.41443 -10689124.57042  22524151.784    22524154.733    22524150.912
+      1421.014        1107.284          51.000          44.000
+ -10936525.85543  -8487977.64542  23249182.460    23249187.968    23249181.332
+      1875.771        1461.640          49.000          43.000
+ 04  2  1 15  2 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -3533748.92843  -2749152.05442  24675181.466    24675186.410    24675180.203
+     -3309.656       -2578.953          45.000          37.000
+ -26455158.91044 -20594280.09242  19803571.079    19803574.979    19803569.736
+       -51.247         -39.933          57.000          51.000
+  -4030964.02543  -3073167.16342  24578296.613    24578302.870    24578294.628
+      3709.434        2890.468          44.000          35.000
+ -17657379.08943 -13755765.92342  22057684.572    22057688.032    22057684.258
+      2491.626        1941.527          53.000          46.000
+ -22008889.60643 -17109778.47242  21460565.207    21460569.635    21460564.423
+     -2568.376       -2001.332          54.000          48.000
+ -25204186.59244 -19627310.36042  20499676.892    20499680.054    20499675.676
+       849.873         662.239          58.000          51.000
+ -21041195.55143 -16360646.97342  21310424.315    21310428.303    21310423.345
+     -2154.538       -1678.861          55.000          48.000
+ -13774812.30443 -10722281.87942  22516054.504    22516058.367    22516052.953
+      1416.083        1103.441          50.000          44.000
+ -10992671.88243  -8531727.78142  23238498.061    23238502.778    23238496.059
+      1867.512        1455.204          49.000          43.000
+ 04  2  1 15  3  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -3434397.65443  -2671735.46342  24694089.038    24694090.774    24694088.353
+     -3313.736       -2582.132          44.000          37.000
+ -26453274.64744 -20592811.82342  19803929.749    19803933.513    19803928.271
+       -74.277         -57.878          57.000          51.000
+  -4142173.36443  -3159823.62942  24557134.349    24557140.469    24557131.703
+      3704.520        2886.639          45.000          35.000
+ -17732079.11243 -13813973.73142  22043469.769    22043473.483    22043469.500
+      2488.376        1938.994          53.000          46.000
+ -21931643.88443 -17049587.04042  21475264.207    21475268.706    21475263.634
+     -2581.194       -2011.320          53.000          48.000
+ -25229500.13644 -19647035.20142  20494860.033    20494863.041    20494858.717
+       837.946         652.945          58.000          51.000
+ -20976324.45643 -16310098.08142  21322768.365    21322773.055    21322767.607
+     -2170.017       -1690.922          55.000          48.000
+ -13817205.36143 -10755315.41042  22507987.234    22507991.403    22507985.885
+      1410.529        1099.114          51.000          44.000
+ -11048572.07143  -8575286.33442  23227861.078    23227865.802    23227859.127
+      1858.865        1448.466          49.000          43.000
+ 04  2  1 15  3 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -3334966.71243  -2594256.85942  24713009.195    24713013.110    24713009.824
+     -3315.424       -2583.447          44.000          37.000
+ -26450741.10944 -20590837.61042  19804411.557    19804415.558    19804410.419
+       -95.138         -74.133          57.000          51.000
+  -4253288.42843  -3246406.61542  24535989.852    24535995.763    24535989.468
+      3702.346        2884.945          45.000          36.000
+ -17806722.41543 -13872137.33642  22029266.020    22029269.505    22029265.573
+      2487.289        1938.147          53.000          46.000
+ -21854054.78343 -16989128.03442  21490029.061    21490033.586    21490028.226
+     -2591.784       -2019.572          53.000          47.000
+ -25254495.48844 -19666512.09842  20490103.357    20490106.664    20490102.137
+       827.992         645.189          58.000          52.000
+ -20911029.70943 -16259219.07042  21335193.487    21335198.099    21335192.615
+     -2183.394       -1701.346          54.000          48.000
+ -13859476.54143 -10788253.97742  22499942.538    22499946.864    22499942.644
+      1407.117        1096.455          51.000          45.000
+ -11104259.79343  -8618679.30442  23217264.263    23217269.017    23217262.922
+      1852.470        1443.483          49.000          43.000
+ 04  2  1 15  4  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -3235438.21643  -2516702.19042  24731949.225    24731951.151    24731948.130
+     -3318.121       -2585.549          43.000          36.000
+ -26447538.71744 -20588342.21842  19805020.924    19805024.681    19805019.556
+      -117.043         -91.202          57.000          51.000
+  -4364286.31143  -3332898.29142  24514868.640    24514872.218    24514866.564
+      3698.593        2882.021          46.000          36.000
+ -17881286.44843 -13930239.17442  22015077.563    22015079.901    22015076.246
+      2484.900        1936.286          53.000          46.000
+ -21776104.64043 -16928387.68942  21504863.345    21504866.591    21504861.866
+     -2603.518       -2028.715          54.000          47.000
+ -25279150.25544 -19685723.61142  20485411.761    20485414.885    20485410.350
+       816.916         636.558          58.000          51.000
+ -20845293.13243 -16207995.77542  21347702.958    21347707.418    21347701.854
+     -2197.736       -1712.521          54.000          48.000
+ -13901606.14343 -10821082.23742  22491926.607    22491930.208    22491925.533
+      1402.881        1093.154          51.000          45.000
+ -11159711.84043  -8661888.64242  23206711.095    23206715.904    23206709.848
+      1845.210        1437.826          50.000          43.000
+ 04  2  1 15  4 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -3135817.47643  -2439075.67842  24750906.473    24750909.582    24750907.411
+     -3322.151       -2588.689          43.000          36.000
+ -26443670.62544 -20585328.10742  19805757.188    19805761.069    19805755.886
+      -140.137        -109.198          57.000          51.000
+  -4475167.71543  -3419299.19642  24493767.650    24493772.138    24493766.302
+      3694.096        2878.516          46.000          37.000
+ -17955772.36243 -13988280.14742  22000903.062    22000906.164    22000903.026
+      2481.406        1933.563          53.000          46.000
+ -21697799.07743 -16867370.39642  21519763.706    21519767.891    21519762.694
+     -2616.228       -2038.619          54.000          47.000
+ -25303465.72244 -19704670.73042  20480784.585    20480787.802    20480783.198
+       804.752         627.079          58.000          51.000
+ -20779120.41443 -16156432.62742  21360295.337    21360299.645    21360294.466
+     -2213.054       -1724.458          55.000          48.000
+ -13943597.72143 -10853802.92842  22483935.137    22483939.686    22483934.267
+      1397.465        1088.934          50.000          44.000
+ -11214928.19043  -8704914.34942  23196204.401    23196208.066    23196202.657
+      1836.394        1430.956          51.000          43.000
+ 04  2  1 15  5  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -3036119.27143  -2361388.74342  24769876.407    24769882.461    24769875.722
+     -3325.916       -2591.623          42.000          36.000
+ -26439150.52544 -20581805.93342  19806617.395    19806621.043    19806616.141
+      -162.750        -126.818          57.000          51.000
+  -4585943.28943  -3505617.62642  24472687.312    24472692.211    24472685.939
+      3689.557        2874.979          45.000          37.000
+ -18030190.92343 -14046268.62942  21986741.502    21986744.415    21986740.883
+      2478.291        1931.136          53.000          46.000
+ -21619153.83943 -16806088.41442  21534729.999    21534734.013    21534728.574
+     -2628.428       -2048.126          54.000          47.000
+ -25327452.38644 -19723361.64042  20476219.954    20476223.163    20476218.684
+       792.933         617.870          58.000          51.000
+ -20712526.95743 -16104541.64542  21372967.669    21372971.911    21372966.748
+     -2228.025       -1736.123          54.000          48.000
+ -13985464.67043 -10886426.49742  22475968.113    22475973.426    22475967.226
+      1392.455        1085.030          51.000          45.000
+ -11269918.72743  -8747764.12842  23185739.551    23185743.385    23185738.528
+      1828.043        1424.449          50.000          43.000
+ 04  2  1 15  5 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -2936315.18043  -2283619.29942  24788870.504    24788873.616    24788867.472
+     -3328.536       -2593.664          44.000          36.000
+ -26433947.66344 -20577751.74542  19807607.491    19807610.900    19807606.121
+      -184.892        -144.072          57.000          51.000
+  -4696578.98043  -3591827.08142  24451633.147    24451638.591    24451631.272
+      3685.287        2871.652          46.000          38.000
+ -18104508.93043 -14104178.76242  21972599.414    21972601.905    21972598.751
+      2475.426        1928.903          53.000          46.000
+ -21540140.63643 -16744519.71242  21549765.026    21549769.024    21549764.013
+     -2639.919       -2057.080          53.000          47.000
+ -25351077.40344 -19741770.74842  20471724.432    20471727.618    20471723.369
+       781.396         608.880          58.000          51.000
+ -20645484.05543 -16052300.45142  21385725.624    21385730.203    21385724.702
+     -2242.251       -1747.208          54.000          48.000
+ -14027176.39143 -10918929.10542  22468030.445    22468034.617    22468029.260
+      1387.803        1081.405          51.000          44.000
+ -11324649.27543  -8790411.27642  23175325.436    23175330.058    23175323.945
+      1819.908        1418.110          49.000          43.000
+ 04  2  1 15  6  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -2836424.68143  -2205782.64442  24807879.349    24807880.613    24807878.680
+     -3330.158       -2594.928          45.000          36.000
+ -26428080.09844 -20573179.60842  19808723.907    19808727.666    19808722.518
+      -205.615        -160.219          57.000          51.000
+  -4807089.81843  -3677939.22742  24430603.705    24430608.919    24430603.218
+      3682.602        2869.560          45.000          38.000
+ -18178741.87243 -14162022.61842  21958473.048    21958476.004    21958472.274
+      2473.888        1927.705          53.000          46.000
+ -21460779.78843 -16682680.12242  21564867.023    21564871.389    21564866.044
+     -2650.079       -2064.997          53.000          47.000
+ -25374356.01544 -19759909.93242  20467294.659    20467297.847    20467293.509
+       771.131         600.881          58.000          51.000
+ -20578011.66143 -15999724.57942  21398565.129    21398569.486    21398564.375
+     -2255.347       -1757.413          55.000          48.000
+ -14068751.01543 -10951324.87942  22460119.424    22460122.449    22460118.179
+      1384.459        1078.799          51.000          44.000
+ -11379134.61943  -8832867.36042  23164957.098    23164962.065    23164954.362
+      1813.167        1412.857          49.000          44.000
+ 04  2  1 15  6 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -2736450.43843  -2127880.63342  24826904.395    24826903.693    24826902.239
+     -3333.416       -2597.467          44.000          36.000
+ -26421549.06544 -20568090.47942  19809966.772    19809970.313    19809965.464
+      -228.400        -177.974          57.000          51.000
+  -4917473.73143  -3763952.46342  24409598.288    24409602.866    24409597.154
+      3677.413        2865.517          46.000          38.000
+ -18252888.14543 -14219798.93242  21944364.140    21944366.276    21944363.533
+      2470.474        1925.045          54.000          46.000
+ -21381074.55843 -16620572.17842  21580033.897    21580038.897    21580032.970
+     -2662.177       -2074.424          53.000          47.000
+ -25397287.20044 -19777778.39242  20462930.934    20462934.248    20462929.751
+       758.863         591.322          58.000          51.000
+ -20510112.70643 -15946816.34242  21411486.403    21411490.199    21411485.006
+     -2269.942       -1768.786          55.000          48.000
+ -14110189.55843 -10983614.62842  22452234.929    22452237.691    22452233.076
+      1379.338        1074.809          51.000          45.000
+ -11433372.10743  -8875130.29642  23154635.754    23154639.979    23154633.368
+      1804.200        1405.870          49.000          44.000
+ 04  2  1 15  7  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -2636394.85943  -2049915.21842  24845942.451    24845944.967    24845940.225
+     -3336.711       -2600.034          43.000          35.000
+ -26414355.32044 -20562484.94842  19811335.419    19811339.283    19811334.145
+      -250.691        -195.344          57.000          51.000
+  -5027728.39843  -3849865.02342  24388617.429    24388622.043    24388615.645
+      3673.489        2862.459          46.000          38.000
+ -18326945.80843 -14277506.20042  21930270.241    21930274.449    21930270.395
+      2467.128        1922.437          54.000          47.000
+ -21301027.96743 -16558198.24442  21595266.901    21595271.078    21595265.750
+     -2673.812       -2083.490          53.000          47.000
+ -25419868.48844 -19795374.20442  20458633.851    20458637.094    20458632.567
+       746.957         582.044          58.000          51.000
+ -20441789.76343 -15893577.71042  21424487.412    21424491.970    21424486.291
+     -2284.558       -1780.175          54.000          48.000
+ -14151492.81943 -11015798.97342  22444373.793    22444377.960    22444373.463
+      1374.617        1071.130          51.000          45.000
+ -11487358.86043  -8917197.87542  23144362.182    23144366.647    23144360.826
+      1795.398        1399.011          50.000          44.000
+ 04  2  1 15  7 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -2536258.08243  -1971886.52042  24864997.502    24865002.183    24864996.485
+     -3339.209       -2601.981          41.000          35.000
+ -26406497.32944 -20556361.82742  19812830.632    19812834.679    19812829.492
+      -273.489        -213.108          57.000          51.000
+  -5137849.86443  -3935673.79342  24367662.131    24367666.293    24367660.528
+      3667.921        2858.120          46.000          38.000
+ -18400910.66243 -14335141.15242  21916195.426    21916198.562    21916194.847
+      2463.523        1919.628          53.000          47.000
+ -21220640.56843 -16495558.73042  21610564.343    21610567.944    21610563.252
+     -2685.675       -2092.734          53.000          47.000
+ -25442095.76644 -19812694.16242  20454404.004    20454407.359    20454402.920
+       734.562         572.386          58.000          51.000
+ -20373043.20943 -15840008.97842  21437569.052    21437573.016    21437568.161
+     -2299.062       -1791.477          54.000          48.000
+ -14192659.33643 -11047876.75042  22436538.929    22436544.459    22436539.571
+      1369.492        1067.137          50.000          44.000
+ -11541089.64043  -8959065.97042  23134138.472    23134142.502    23134136.488
+      1786.250        1391.883          50.000          44.000
+ 04  2  1 15  8  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -2436045.43843  -1893798.72742  24884068.256    24884071.038    24884071.292
+     -3342.063       -2604.205          43.000          34.000
+ -26397979.31244 -20549724.40242  19814451.995    19814455.750    19814450.865
+      -294.813        -229.724          57.000          51.000
+  -5247838.34543  -4021378.92442  24346732.128    24346735.138    24346731.254
+      3663.983        2855.052          46.000          38.000
+ -18474783.70043 -14392704.56142  21902138.040    21902141.059    21902137.184
+      2460.914        1917.595          53.000          47.000
+ -21139918.38143 -16432658.35142  21625925.305    21625929.064    21625924.036
+     -2696.288       -2101.004          53.000          47.000
+ -25463970.48444 -19829739.39542  20450241.433    20450245.036    20450240.330
+       723.252         563.573          58.000          51.000
+ -20303878.73443 -15786114.59842  21450731.169    21450734.912    21450729.814
+     -2312.322       -1801.809          55.000          47.000
+ -14233692.75443 -11079850.84542  22428731.365    22428735.307    22428729.872
+      1365.621        1064.120          50.000          45.000
+ -11594564.84443  -9000734.92642  23123961.047    23123966.545    23123959.305
+      1778.327        1385.709          49.000          43.000
+ 04  2  1 15  8 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -2335759.72243  -1815654.01042  24903151.826    24903152.994    24903152.153
+     -3344.902       -2606.417          43.000          34.000
+ -26388802.04344 -20542573.27442  19816198.294    19816202.054    19816196.969
+      -317.250        -247.208          57.000          51.000
+  -5357691.45243  -4106978.60042  24325828.928    24325832.214    24325825.008
+      3659.521        2851.575          46.000          38.000
+ -18548563.23243 -14450195.09442  21888097.858    21888102.058    21888097.677
+      2457.379        1914.841          53.000          47.000
+ -21058864.48543 -16369499.49342  21641349.142    21641353.319    21641347.914
+     -2707.475       -2109.721          53.000          47.000
+ -25485491.23044 -19846508.80542  20446146.428    20446149.669    20446145.000
+       711.101         554.105          58.000          51.000
+ -20234299.26843 -15731896.84942  21463971.455    21463975.513    21463970.339
+     -2326.591       -1812.928          54.000          47.000
+ -14274593.81443 -11111721.79142  22420948.000    22420952.545    22420947.034
+      1360.905        1060.445          50.000          45.000
+ -11647781.98743  -9042202.81242  23113834.795    23113839.099    23113832.865
+      1769.294        1378.671          50.000          43.000
+ 04  2  1 15  9  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -2235398.43843  -1737450.32342  24922248.926    24922250.629    24922247.768
+     -3346.681       -2607.803          42.000          34.000
+ -26378961.89244 -20534905.61142  19818070.703    19818074.768    19818069.444
+      -338.773        -263.979          57.000          51.000
+  -5467402.86743  -4192467.86842  24304950.193    24304954.323    24304949.329
+      3654.619        2847.755          46.000          38.000
+ -18622242.66143 -14507607.63442  21874078.101    21874081.001    21874076.917
+      2454.491        1912.590          54.000          47.000
+ -20977477.63043 -16306081.19142  21656835.986    21656840.964    21656835.845
+     -2718.139       -2118.030          53.000          47.000
+ -25506651.63644 -19862997.43242  20442119.698    20442123.013    20442118.206
+       699.604         545.146          58.000          51.000
+ -20164302.89343 -15677354.24242  21477291.453    21477295.454    21477290.062
+     -2339.926       -1823.319          54.000          47.000
+ -14315358.75843 -11143486.65142  22413190.942    22413195.017    22413189.551
+      1356.960        1057.371          50.000          45.000
+ -11700733.53343  -9083463.76142  23103758.312    23103761.497    23103757.083
+      1760.950        1372.169          50.000          43.000
+ 04  2  1 15  9 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -6861226.51153  -5341991.67052  24941358.680    24941361.618    24941357.570
+     -3349.572       -2610.056          39.000          32.000
+ -26368462.25044 -20526724.06342  19820068.732    19820072.511    19820067.327
+      -361.146        -281.412          57.000          51.000
+  -5576972.59143  -4277846.70042  24284097.908    24284102.801    24284096.494
+      3649.299        2843.610          44.000          38.000
+ -18695822.71743 -14564942.73442  21860075.932    21860079.057    21860075.018
+      2450.544        1909.515          53.000          47.000
+ -20895763.05243 -16242407.52442  21672386.199    21672390.600    21672385.360
+     -2729.637       -2126.990          53.000          47.000
+ -25527452.26344 -19879205.71142  20438161.369    20438164.601    20438159.967
+       687.009         535.332          58.000          51.000
+ -20093894.63743 -15622490.69042  21490689.642    21490693.558    21490688.680
+     -2354.096       -1834.360          55.000          47.000
+ -14355990.84043 -11175147.98342  22405459.467    22405463.205    22405459.013
+      1351.782        1053.337          51.000          45.000
+ -11753419.20843  -9124517.49442  23093732.910    23093736.199    23093730.819
+      1751.478        1364.788          49.000          43.000
+ 04  2  1 15 10  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+  -6760729.87353  -5263682.52052  24960481.987    24960487.594    24960480.722
+     -3350.477       -2610.761          39.000          32.000
+ -26357307.87544 -20518032.33142  19822191.508    19822194.810    19822190.150
+      -382.773        -298.265          57.000          51.000
+  -5686401.47143  -4363115.80242  24263273.964    24263279.322    24263272.291
+      3646.135        2841.144          43.000          37.000
+ -18769304.91743 -14622201.57642  21846092.845    21846095.980    21846091.809
+      2447.822        1907.394          54.000          47.000
+ -20813727.51843 -16178483.75942  21687997.273    21688001.254    21687996.161
+     -2739.792       -2134.903          53.000          47.000
+ -25547894.92944 -19895135.06242  20434271.422    20434274.397    20434270.015
+       675.448         526.323          58.000          51.000
+ -20023081.02743 -15567311.27342  21504165.546    21504169.053    21504164.563
+     -2367.183       -1844.558          55.000          47.000
+ -14396494.46443 -11206709.22942  22397751.904    22397755.238    22397751.363
+      1348.092        1050.461          51.000          45.000
+ -11805840.22843  -9165364.98742  23083757.460    23083762.987    23083756.273
+      1742.993        1358.176          50.000          43.000
+ 04  2  1 15 10 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+                  -5185321.39752  24979619.548    24979623.103
+     -3352.922       -2612.666          40.000          32.000
+ -26345495.40644 -20508827.80042  19824439.329    19824442.981    19824438.248
+      -404.470        -315.171          57.000          51.000
+  -5795683.18343  -4448270.24342  24242480.668    24242483.067    24242478.266
+      3640.337        2836.626          44.000          37.000
+ -18842682.66943 -14679379.03042  21832129.202    21832132.631    21832128.277
+      2444.311        1904.658          54.000          47.000
+ -20731369.60343 -16114308.78542  21703669.547    21703673.702    21703668.649
+     -2750.464       -2143.219          53.000          47.000
+ -25567973.30044 -19910780.54342  20430450.395    20430453.748    20430449.081
+       663.384         516.923          58.000          51.000
+ -19951860.09443 -15511814.47242  21517718.293    21517722.607    21517717.404
+     -2380.755       -1855.134          54.000          47.000
+ -14436865.70443 -11238167.32042  22390069.799    22390073.588    22390068.226
+      1343.629        1046.984          52.000          45.000
+ -11857989.03043  -9206000.40842  23073834.058    23073837.855    23073832.727
+      1733.829        1351.036          51.000          44.000
+ 04  2  1 15 11  0.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+                  -5106911.43252  24998768.247    24998773.327
+     -3355.419       -2614.612          38.000          31.000
+ -26333027.72244 -20499112.72042  19826811.617    19826815.331    19826810.293
+      -426.750        -332.532          57.000          51.000
+  -5904817.52143  -4533309.83142  24221713.032    24221717.260    24221711.218
+      3635.384        2832.767          44.000          38.000
+ -18915956.16343 -14736475.25342  21818185.851    21818189.361    21818185.570
+      2440.509        1901.695          54.000          47.000
+ -20648694.20443 -16049886.43242  21719402.679    21719406.480    21719401.640
+     -2761.297       -2151.660          53.000          47.000
+ -25587687.49744 -19926142.25542  20426698.547    20426702.372    20426697.573
+       650.891         507.188          58.000          51.000
+ -19880236.40343 -15456003.83542  21531348.084    21531352.001    21531347.039
+     -2394.340       -1865.719          54.000          47.000
+ -14477107.44043 -11269524.50042  22382411.989    22382415.270    22382410.445
+      1339.175        1043.513          51.000          45.000
+ -11909864.84143  -9246423.13142  23063962.900    23063966.262    23063960.578
+      1724.486        1343.755          50.000          44.000
+ 04  2  1 15 11 30.0000000  0  9G 4G17G21G30G 9G 5G24G 6G10
+                  -5028453.22152  25017927.353    25017931.624
+     -3358.788       -2617.237          39.000          32.000
+ -26319904.19344 -20488886.59242  19829309.245    19829312.601    19829307.807
+      -448.542        -349.513          57.000          51.000
+  -6013800.11643  -4618231.19642  24200974.093    24200977.173    24200971.620
+      3629.956        2828.537          44.000          38.000
+ -18989121.59343 -14793487.25542  21804262.620    21804266.397    21804262.562
+      2436.769        1898.781          54.000          47.000
+ -20565702.76943 -15985217.80842  21735194.549    21735199.075    21735194.046
+     -2771.789       -2159.835          53.000          46.000
+ -25607034.30744 -19941217.68542  20423017.656    20423020.523    20423016.304
+       638.474         497.512          58.000          51.000
+ -19808211.06443 -15399880.21542  21545053.351    21545057.615    21545052.372
+     -2407.575       -1876.032          54.000          47.000
+ -14517218.66043 -11300779.97042  22374778.804    22374782.917    22374777.792
+      1334.660        1039.995          51.000          45.000
+ -11961463.15143  -9286629.55842  23054142.758    23054147.758    23054140.786
+      1715.130        1336.465          49.000          44.000
+ 04  2  1 15 12  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26306125.51744 -20478149.95642  19831931.045    19831935.040    19831929.635
+      -470.324        -366.486          57.000          51.000
+  -6122628.37243  -4703032.30942  24180264.319    24180267.753    24180262.602
+      3624.697        2824.439          45.000          38.000
+ -19062176.50143 -14850413.14642  21790361.217    21790364.565    21790360.541
+      2433.214        1896.011          54.000          47.000
+ -20482397.87043 -15920304.92942  21751047.531    21751051.189    21751046.588
+     -2782.187       -2167.938          53.000          46.000
+ -25626011.53344 -19956005.13242  20419405.950    20419409.438    20419404.660
+       626.298         488.024          58.000          51.000
+ -19735786.61943 -15343445.60442  21558834.549    21558839.488    21558833.961
+     -2421.059       -1886.539          53.000          47.000
+ -14557199.50243 -11331933.85942  22367170.548    22367174.040    22367169.666
+      1330.427        1036.696          51.000          45.000
+ -12012780.69943  -9326617.21342  23044378.000    23044382.423    23044377.499
+      1705.691        1329.110          50.000          44.000
+ 04  2  1 15 12 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26291695.55744 -20466905.81842  19834677.102    19834680.613    19834675.715
+      -492.289        -383.602          57.000          51.000
+  -6231302.76443  -4787713.52442  24159584.445    24159587.190    24159582.949
+      3618.955        2819.965          46.000          39.000
+ -19135121.66643 -14907253.52142  21776480.167    21776483.191    21776479.500
+      2429.310        1892.969          54.000          47.000
+ -20398785.34343 -15855152.33842  21766958.277    21766962.966    21766957.294
+     -2792.649       -2176.090          53.000          47.000
+ -25644620.19844 -19970505.39242  20415865.096    20415868.197    20415863.664
+       613.711         478.216          58.000          51.000
+ -19662968.40443 -15286704.16242  21572692.074    21572696.997    21572690.459
+     -2434.048       -1896.661          54.000          47.000
+ -14597053.42343 -11362988.84242  22359586.910    22359591.146    22359586.176
+      1325.935        1033.196          51.000          45.000
+ -12063817.52643  -9366386.17242  23034665.695    23034670.528    23034664.485
+      1696.064        1321.608          50.000          43.000
+ 04  2  1 15 13  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26276611.56844 -20455152.04942  19837547.257    19837550.998    19837546.139
+      -514.489        -400.900          57.000          51.000
+  -6339816.71343  -4872269.73742  24138935.122    24138938.271    24138932.916
+      3613.611        2815.801          46.000          39.000
+ -19207951.00343 -14964003.64342  21762621.325    21762624.336    21762620.218
+      2425.065        1889.661          54.000          47.000
+ -20314864.13943 -15789759.22642  21782928.282    21782932.201    21782927.223
+     -2803.215       -2184.323          53.000          47.000
+ -25662854.08344 -19984713.61942  20412395.416    20412398.524    20412394.105
+       600.792         468.150          58.000          51.000
+ -19589754.93043 -15229654.72742  21586624.805    21586628.687    21586623.620
+     -2447.656       -1907.264          54.000          47.000
+ -14636777.05643 -11393942.29742  22352027.334    22352031.707    22352026.144
+      1321.222        1029.524          51.000          45.000
+ -12114567.11043  -9405931.29342  23025008.730    23025012.176    23025006.410
+      1686.138        1313.874          50.000          43.000
+ 04  2  1 15 13 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26260879.07844 -20442892.96242  19840541.040    19840545.016    19840539.867
+      -535.647        -417.387          57.000          51.000
+  -6448172.48243  -4956702.71042  24118314.800    24118318.698    24118313.332
+      3608.750        2812.013          45.000          39.000
+ -19280666.77043 -15020665.27142  21748784.177    21748786.909    21748783.672
+      2421.434        1886.832          55.000          47.000
+ -20230641.78543 -15724131.45042  21798954.849    21798959.100    21798953.841
+     -2812.826       -2191.812          53.000          46.000
+ -25680716.24044 -19998632.18542  20408996.164    20408999.289    20408995.005
+       588.786         458.794          58.000          51.000
+ -19516153.44743 -15172302.95242  21600630.014    21600635.173    21600629.193
+     -2460.259       -1917.085          53.000          47.000
+ -14676375.43843 -11424798.16042  22344492.795    22344494.885    22344490.535
+      1317.483        1026.610          51.000          45.000
+ -12165030.83843  -9445253.64542  23015405.423    23015410.585    23015403.991
+      1676.883        1306.662          49.000          44.000
+ 04  2  1 15 14  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26244498.66744 -20430128.99642  19843658.411    19843661.805    19843657.051
+      -557.229        -434.204          57.000          51.000
+  -6556367.42743  -5041010.36842  24097725.703    24097730.499    24097724.867
+      3603.380        2807.829          46.000          39.000
+ -19353266.33943 -15077236.35242  21734968.742    21734971.998    21734967.473
+      2417.556        1883.810          54.000          47.000
+ -20146120.46843 -15658270.71742  21815038.354    21815043.712    21815037.490
+     -2822.744       -2199.541          52.000          46.000
+ -25698204.09044 -20012259.07942  20405668.319    20405671.659    20405667.024
+       576.313         449.075          58.000          51.000
+ -19442166.04643 -15114650.46042  21614709.830    21614713.581    21614708.498
+     -2473.058       -1927.058          53.000          47.000
+ -14715848.74143 -11455556.55942  22336980.322    22336983.972    22336979.169
+      1313.293        1023.345          51.000          45.000
+ -12215205.29943  -9484350.59442  23005857.782    23005861.235    23005856.495
+      1667.173        1299.096          50.000          44.000
+ 04  2  1 15 14 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26227467.37344 -20416857.85042  19846899.482    19846902.822    19846898.146
+      -578.812        -451.022          57.000          51.000
+  -6664394.78143  -5125187.44042  24077170.184    24077174.349    24077168.674
+      3597.973        2803.615          46.000          39.000
+ -19425743.49543 -15133712.03242  21721176.443    21721179.754    21721175.996
+      2413.572        1880.705          54.000          47.000
+ -20061299.38743 -15592176.40042  21831179.474    21831184.341    21831178.668
+     -2832.501       -2207.144          52.000          46.000
+ -25715311.80844 -20025589.76942  20402412.955    20402416.268    20402411.592
+       563.584         439.156          58.000          52.000
+ -19367791.07243 -15056695.95242  21628862.788    21628867.492    21628862.279
+     -2485.846       -1937.023          54.000          47.000
+ -14755193.52143 -11486214.81942  22329493.518    22329498.023    22329492.503
+      1309.153        1020.119          51.000          45.000
+ -12265083.68943  -9523216.86942  22996365.955    22996370.435    22996365.343
+      1657.379        1291.464          50.000          44.000
+ 04  2  1 15 15  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26209790.68744 -20403083.80242  19850263.096    19850266.352    19850261.635
+      -599.685        -467.287          57.000          51.000
+  -6772256.23143  -5209235.23442  24056644.862    24056650.173    24056642.009
+      3593.112        2799.828          44.000          38.000
+ -19498100.36143 -15190093.99742  21707407.485    21707411.027    21707406.615
+      2410.148        1878.037          54.000          47.000
+ -19976185.64743 -15525854.05242  21847376.496    21847380.566    21847375.839
+     -2841.592       -2214.227          52.000          46.000
+ -25732041.77244 -20038626.10642  20399229.590    20399232.680    20399228.212
+       551.632         429.843          58.000          52.000
+ -19293035.73643 -14998445.05642  21643089.079    21643092.721    21643087.356
+     -2497.913       -1946.426          54.000          47.000
+ -14794414.64343 -11516776.71242  22322028.975    22322034.286    22322028.467
+      1305.606        1017.355          51.000          45.000
+ -12314667.62243  -9561853.66842  22986929.617    22986934.504    22986929.394
+      1648.095        1284.230          49.000          43.000
+ 04  2  1 15 15 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26191465.73944 -20388804.61542  19853749.905    19853753.745    19853748.758
+      -621.647        -484.400          57.000          51.000
+  -6879945.61543  -5293148.97242  24036149.259    24036154.346    24036147.195
+      3587.018        2795.079          42.000          37.000
+ -19570330.76243 -15246377.41842  21693662.115    21693666.252    21693661.904
+      2405.296        1874.257          54.000          47.000
+ -19890778.07743 -15459302.73942  21863629.473    21863632.566    21863628.777
+     -2851.893       -2222.254          53.000          46.000
+ -25748388.25744 -20051363.62842  20396118.785    20396122.004    20396117.559
+       538.408         419.539          58.000          52.000
+ -19217898.78043 -14939896.81242  21657386.337    21657390.728    21657385.481
+     -2510.968       -1956.598          54.000          47.000
+ -14833508.64043 -11547239.53942  22314589.950    22314593.663    22314589.421
+      1300.963        1013.737          51.000          45.000
+ -12363949.99443  -9600255.48642  22977552.204    22977556.294    22977551.490
+      1637.392        1275.890          50.000          43.000
+ 04  2  1 15 16  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26172498.77244 -20374025.14942  19857359.144    19857363.109    19857357.941
+      -642.662        -500.775          57.000          51.000
+  -6987465.51543  -5376930.59142  24015689.340    24015696.694    24015690.644
+      3581.290        2790.616          42.000          37.000
+ -19642437.20643 -15302564.24742  21679941.011    21679944.237    21679939.856
+      2401.718        1871.469          54.000          47.000
+ -19805084.36443 -15392528.45242  21879936.405    21879939.758    21879935.676
+     -2860.860       -2229.241          52.000          46.000
+ -25764354.27744 -20063804.68742  20393080.503    20393083.559    20393079.387
+       526.116         409.961          58.000          52.000
+ -19142387.36543 -14881056.78442  21671755.310    21671759.996    21671754.552
+     -2522.999       -1965.973          53.000          47.000
+ -14872481.05843 -11577607.61842  22307173.738    22307178.028    22307172.879
+      1297.416        1010.973          51.000          45.000
+ -12412932.97543  -9638424.04342  22968230.625    22968235.426    22968229.193
+      1628.107        1268.655          50.000          44.000
+ 04  2  1 15 16 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26152888.99244 -20358744.79742  19861091.060    19861094.381    19861089.826
+      -664.476        -517.773          57.000          51.000
+  -7094811.72743  -5460576.86542  23995262.521    23995268.674    23995261.898
+      3575.227        2785.891          42.000          37.000
+ -19714415.87343 -15358651.51042  21666243.804    21666247.601    21666243.201
+      2397.104        1867.873          54.000          48.000
+ -19719106.10643 -15325532.43542  21896296.505    21896301.345    21896296.463
+     -2870.700       -2236.909          52.000          46.000
+ -25779936.25544 -20075946.49442  20390115.453    20390118.484    20390114.106
+       512.940         399.693          58.000          52.000
+ -19066502.78243 -14821925.96942  21686195.921    21686200.308    21686195.286
+     -2535.759       -1975.916          53.000          47.000
+ -14911330.76943 -11607880.08842  22299781.000    22299784.860    22299779.662
+      1292.975        1007.513          51.000          45.000
+ -12461612.17743  -9676355.85542  22958967.634    22958971.913    22958966.227
+      1617.464        1260.362          50.000          44.000
+ 04  2  1 15 17  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26132638.64644 -20342965.29142  19864944.619    19864948.109    19864943.155
+      -686.076        -534.605          57.000          51.000
+  -7201982.24943  -5544086.23742  23974870.144    23974873.071    23974869.309
+      3568.948        2780.998          44.000          38.000
+ -19786265.16543 -15414637.96042  21652571.186    21652574.625    21652570.615
+      2392.423        1864.226          54.000          47.000
+ -19632846.78543 -15258317.42342  21912712.494    21912716.049    21912711.103
+     -2880.460       -2244.514          53.000          46.000
+ -25795133.01544 -20087788.12642  20387223.618    20387226.786    20387222.264
+       499.719         389.391          58.000          52.000
+ -18990247.83343 -14762506.54542  21700706.899    21700711.459    21700706.169
+     -2548.479       -1985.828          54.000          47.000
+ -14950058.84443 -11638057.77042  22292411.757    22292416.030    22292411.225
+      1288.490        1004.018          51.000          45.000
+ -12509985.26443  -9714049.14342  22949762.645    22949766.175    22949760.341
+      1606.845        1252.087          49.000          43.000
+ 04  2  1 15 17 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26111746.15844 -20326685.43142  19868920.411    19868923.855    19868919.068
+      -706.946        -550.867          57.000          51.000
+  -7308971.99443  -5627454.78142  23954509.623    23954513.479    23954507.103
+      3563.424        2776.694          45.000          38.000
+ -19857980.14943 -15470519.76642  21638924.168    21638928.261    21638923.769
+      2388.397        1861.089          54.000          48.000
+ -19546306.53843 -15190883.48642  21929180.038    21929184.103    21929179.191
+     -2889.054       -2251.211          52.000          46.000
+ -25809939.93044 -20099325.99142  20384405.710    20384408.933    20384404.497
+       487.296         379.711          58.000          52.000
+ -18913622.58243 -14702798.59342  21715288.565    21715292.287    21715286.862
+     -2560.199       -1994.960          54.000          47.000
+ -14988663.01043 -11668138.90742  22285065.662    22285070.408    22285064.557
+      1285.070        1001.353          51.000          45.000
+ -12558046.70243  -9751499.58742  22940616.088    22940621.428    22940615.060
+      1596.972        1244.394          49.000          43.000
+ 04  2  1 15 18  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26090215.99544 -20309908.67642  19873017.161    19873020.982    19873016.056
+      -728.203        -567.431          57.000          51.000
+  -7415781.74343  -5710683.06742  23934184.412    23934188.145    23934182.644
+      3557.362        2771.970          45.000          39.000
+ -19929561.69443 -15526297.58842  21625302.614    21625306.025    21625302.496
+      2383.705        1857.432          54.000          48.000
+ -19459491.53943 -15123235.46242  21945700.428    21945704.862    21945699.395
+     -2898.288       -2258.406          52.000          46.000
+ -25824358.63544 -20110561.35242  20381662.260    20381665.448    20381660.860
+       474.199         369.506          58.000          52.000
+ -18836632.96843 -14642806.72942  21729938.794    21729942.874    21729937.896
+     -2572.206       -2004.316          54.000          47.000
+ -15027147.11843 -11698126.50042  22277742.264    22277746.618    22277741.442
+      1280.895         998.100          52.000          45.000
+ -12605796.86643  -9788707.48242  22931530.344    22931534.256    22931528.196
+      1586.508        1236.240          50.000          44.000
+ 04  2  1 15 18 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26068049.04644 -20292635.72442  19877235.651    19877239.072    19877233.998
+      -749.044        -583.671          57.000          51.000
+  -7522408.63243  -5793768.86642  23913892.847    23913898.304    23913891.921
+      3551.593        2767.475          45.000          39.000
+ -20001006.91543 -15581969.18542  21611707.678    21611710.780    21611706.829
+      2379.654        1854.276          55.000          48.000
+ -19372404.09043 -15055375.13242  21962272.492    21962276.720    21962271.678
+     -2906.930       -2265.140          52.000          46.000
+ -25838386.71044 -20121492.32442  20378993.046    20378995.818    20378991.458
+       461.678         359.749          58.000          52.000
+ -18759281.09743 -14582532.57842  21744658.368    21744662.811    21744657.583
+     -2583.896       -2013.425          53.000          47.000
+ -15065511.36243 -11728020.70642  22270441.497    22270446.089    22270440.345
+      1277.326         995.319          51.000          46.000
+ -12653232.49643  -9825670.28242  22922503.876    22922507.807    22922501.595
+      1576.582        1228.505          50.000          44.000
+ 04  2  1 15 19  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26045247.46944 -20274868.25442  19881574.286    19881577.930    19881572.844
+      -770.336        -600.262          57.000          51.000
+  -7628850.91643  -5876710.82942  23893639.145    23893642.654    23893637.975
+      3545.427        2762.670          46.000          39.000
+ -20072314.56743 -15637533.59042  21598138.112    21598141.566    21598136.875
+      2374.789        1850.485          54.000          48.000
+ -19285048.05843 -14987305.51442  21978895.424    21978900.287    21978894.929
+     -2916.020       -2272.223          52.000          46.000
+ -25852023.22644 -20132118.18342  20376397.818    20376400.534    20376396.451
+       448.443         349.436          58.000          52.000
+ -18681570.29843 -14521978.72942  21759446.708    21759450.751    21759445.505
+     -2595.994       -2022.852          53.000          47.000
+ -15103757.01643 -11757822.50142  22263163.665    22263167.585    22263163.555
+      1273.310         992.190          51.000          45.000
+ -12700351.49643  -9862386.37142  22913537.643    22913540.827    22913535.349
+      1565.780        1220.088          50.000          44.000
+ 04  2  1 15 19 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -26021809.97544 -20256605.26842  19886034.367    19886038.178    19886033.049
+      -791.619        -616.846          57.000          51.000
+  -7735103.70443  -5959505.12142  23873419.109    23873423.099    23873418.357
+      3538.863        2757.556          45.000          39.000
+ -20143479.54143 -15692986.81942  21584595.189    21584598.865    21584594.430
+      2369.879        1846.659          54.000          48.000
+ -19197423.92343 -14919026.98642  21995569.904    21995574.387    21995568.733
+     -2925.064       -2279.271          52.000          46.000
+ -25865263.44644 -20142435.24442  20373878.312    20373881.442    20373876.979
+       434.930         338.906          58.000          52.000
+ -18603500.56343 -14461145.20142  21774302.837    21774306.931    21774301.837
+     -2608.042       -2032.240          53.000          47.000
+ -15141881.74943 -11787530.07442  22255909.030    22255912.712    22255908.429
+      1269.061         988.879          52.000          45.000
+ -12747148.38243  -9898851.46242  22904631.511    22904635.646    22904629.999
+      1554.741        1211.486          49.000          44.000
+ 04  2  1 15 20  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25997740.97644 -20237850.20142  19890614.552    19890618.255    19890613.406
+      -813.358        -633.785          57.000          51.000
+  -7841167.58943  -6042152.22242  23853234.787    23853240.143    23853235.091
+      3531.710        2751.982          44.000          38.000
+ -20214502.53743 -15748329.42442  21571080.213    21571083.592    21571079.819
+      2364.565        1842.518          54.000          48.000
+ -19109537.40143 -14850544.00842  22012294.505    22012298.934    22012292.892
+     -2934.345       -2286.502          52.000          46.000
+ -25878108.94644 -20152444.72942  20371433.878    20371437.110    20371432.648
+       421.068         328.105          58.000          52.000
+ -18525077.50843 -14400036.34142  21789224.996    21789230.075    21789225.003
+     -2620.468       -2041.923          53.000          46.000
+ -15179889.08443 -11817146.16242  22248676.399    22248680.102    22248675.506
+      1264.438         985.276          51.000          45.000
+ -12793623.11143  -9935065.50742  22895787.685    22895792.064    22895786.070
+      1543.321        1202.588          50.000          44.000
+ 04  2  1 15 20 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25973040.27744 -20218602.89742  19895314.976    19895318.595    19895313.560
+      -833.932        -649.817          57.000          51.000
+  -7947038.41543  -6124648.88942  23833089.718    23833093.327    23833087.030
+      3525.362        2747.035          44.000          38.000
+ -20285379.75843 -15803558.42342  21557593.347    21557596.476    21557592.492
+      2359.911        1838.892          55.000          48.000
+ -19021389.93843 -14781857.71342  22029068.317    22029072.389    22029066.954
+     -2942.587       -2292.925          52.000          46.000
+ -25890556.61544 -20162144.21842  20369064.801    20369068.113    20369063.533
+       408.238         318.108          58.000          52.000
+ -18446302.28943 -14338653.07742  21804216.640    21804220.794    21804215.835
+     -2631.598       -2050.596          54.000          47.000
+ -15217778.00243 -11846669.97242  22241466.935    22241469.802    22241465.648
+      1260.903         982.522          52.000          46.000
+ -12839771.84643  -9971025.53742  22887006.879    22887009.651    22887005.577
+      1532.845        1194.425          50.000          44.000
+ 04  2  1 15 21  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25947711.32844 -20198866.05442  19900134.764    19900138.604    19900133.305
+      -854.361        -665.736          57.000          51.000
+  -8052715.67343  -6206994.72342  23812977.716    23812984.583    23812976.873
+      3520.068        2742.910          43.000          38.000
+ -20356110.64343 -15858673.40342  21544133.127    21544136.633    21544132.925
+      2355.526        1835.475          54.000          48.000
+ -18932986.39343 -14712971.85542  22045890.627    22045895.553    22045889.708
+     -2950.644       -2299.203          52.000          46.000
+ -25902606.08344 -20171533.42442  20366772.272    20366775.545    20366770.944
+       395.438         308.134          58.000          52.000
+ -18367179.31243 -14276998.83442  21819272.889    21819277.773    21819271.698
+     -2642.801       -2059.325          53.000          47.000
+ -15255550.79543 -11876103.28942  22234278.566    22234281.999    22234277.860
+      1257.478         979.853          52.000          45.000
+ -12885593.55543 -10006730.76042  22878287.359    22878290.211    22878285.649
+      1522.262        1186.178          50.000          44.000
+ 04  2  1 15 21 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25921754.41844 -20178639.88342  19905074.347    19905077.867    19905073.071
+      -876.231        -682.777          57.000          51.000
+  -8158195.99243  -6289187.10142  23792906.373    23792911.452    23792905.197
+      3512.291        2736.850          44.000          38.000
+ -20426691.89443 -15913671.78242  21530702.394    21530705.776    21530701.757
+      2349.796        1831.010          55.000          48.000
+ -18844328.51943 -14643887.83742  22062762.039    22062767.179    22062760.921
+     -2960.101       -2306.572          52.000          46.000
+ -25914254.75244 -20180610.31842  20364555.778    20364558.803    20364554.399
+       381.033         296.909          58.000          52.000
+ -18287710.29143 -14215074.92242  21834395.275    21834400.050    21834393.943
+     -2655.446       -2069.179          53.000          46.000
+ -15293207.03943 -11905445.78142  22227113.018    22227115.629    22227111.575
+      1252.774         976.188          52.000          45.000
+ -12931084.25943 -10042178.04742  22869630.266    22869634.302    22869628.177
+      1510.376        1176.916          51.000          44.000
+ 04  2  1 15 22  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25895171.15744 -20157925.64542  19910133.119    19910136.360    19910131.605
+      -896.075        -698.240          57.000          51.000
+  -8263476.83243  -6371224.02742  23772870.899    23772876.025    23772869.182
+      3507.049        2732.765          44.000          38.000
+ -20497121.19043 -15968551.75342  21517300.324    21517302.965    21517300.049
+      2345.491        1827.655          55.000          48.000
+ -18755419.25143 -14574607.90942  22079681.153    22079685.060    22079679.723
+     -2967.412       -2312.269          52.000          46.000
+ -25925500.41944 -20189373.18242  20362415.637    20362418.738    20362414.381
+       368.685         287.287          58.000          52.000
+ -18207897.91643 -14152883.48242  21849582.721    21849587.866    21849582.077
+     -2665.640       -2077.122          52.000          46.000
+ -15330747.02243 -11934697.69642  22219968.902    22219973.177    22219968.448
+      1249.945         973.983          52.000          45.000
+ -12976241.12343 -10077365.20042  22861037.815    22861041.799    22861036.463
+      1499.979        1168.815          51.000          44.000
+ 04  2  1 15 22 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25867962.68443 -20136724.23342  19915310.252    19915314.020    19915308.848
+      -917.127        -714.644          56.000          51.000
+  -8368555.51243  -6453103.42742  23752877.115    23752880.405    23752875.757
+      3499.529        2726.906          45.000          39.000
+ -20567395.86443 -16023311.24142  21503927.317    21503930.332    21503926.724
+      2340.234        1823.559          55.000          48.000
+ -18666261.50543 -14505134.36642  22096647.012    22096651.528    22096646.382
+     -2975.777       -2318.787          52.000          46.000
+ -25936341.32744 -20197820.64242  20360352.228    20360355.615    20360351.133
+       354.863         276.517          58.000          52.000
+ -18127744.36043 -14090426.17842  21864835.587    21864839.818    21864834.568
+     -2677.104       -2086.055          53.000          46.000
+ -15368171.25943 -11963859.44042  22212847.647    22212850.724    22212847.419
+      1245.796         970.750          52.000          45.000
+ -13021061.34743 -10112290.06242  22852508.843    22852512.269    22852505.758
+      1488.656        1159.992          51.000          44.000
+ 04  2  1 15 23  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25840132.44344 -20115038.32442  19920606.437    19920610.172    19920605.206
+      -937.895        -730.827          57.000          51.000
+  -8473431.41743  -6534824.82842  23732920.203    23732924.179    23732919.070
+      3492.572        2721.485          47.000          39.000
+ -20637515.23343 -16077949.70042  21490583.881    21490586.882    21490583.517
+      2334.844        1819.359          54.000          48.000
+ -18576859.88143 -14435470.78342  22113660.573    22113664.361    22113658.867
+     -2984.015       -2325.206          52.000          46.000
+ -25946777.63744 -20205952.83542  20358366.734    20358369.753    20358365.344
+       341.203         265.872          58.000          52.000
+ -18047253.93743 -14027706.37942  21880152.995    21880157.328    21880152.208
+     -2688.535       -2094.962          53.000          46.000
+ -15405481.87643 -11992932.63442  22205747.383    22205751.186    22205746.544
+      1241.885         967.703          52.000          46.000
+ -13065543.83343 -10146951.71842  22844042.833    22844047.973    22844042.385
+      1477.257        1151.109          49.000          44.000
+ 04  2  1 15 23 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25811678.73044 -20092866.59542  19926021.165    19926024.879    19926019.779
+      -959.086        -747.340          57.000          51.000
+  -8578099.25543  -6616384.08042  23713002.934    23713005.373    23713000.446
+      3485.169        2715.716          47.000          40.000
+ -20707473.85343 -16132462.91342  21477271.049    21477274.330    21477270.535
+      2329.065        1814.856          54.000          48.000
+ -18487214.20943 -14365617.03442  22130718.998    22130723.346    22130717.996
+     -2992.471       -2331.795          52.000          46.000
+ -25956804.59044 -20213766.05342  20356458.681    20356461.852    20356457.269
+       327.088         254.874          58.000          52.000
+ -17966426.23543 -13964723.75742  21895533.731    21895538.294    21895532.263
+     -2700.185       -2104.040          53.000          46.000
+ -15442676.07143 -12021915.12142  22198670.171    22198673.515    22198668.683
+      1237.596         964.361          52.000          46.000
+ -13109682.68043 -10181345.59042  22835644.422    22835647.569    22835642.371
+      1465.308        1141.798          51.000          45.000
+ 04  2  1 15 24  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25782609.87844 -20070215.53742  19931552.420    19931556.550    19931551.232
+      -979.114        -762.946          57.000          51.000
+  -8682562.87843  -6697784.22042  23693123.434    23693126.580    23693121.176
+      3478.458        2710.487          47.000          40.000
+ -20777275.78343 -16186854.01642  21463988.169    21463991.828    21463987.851
+      2324.207        1811.070          55.000          48.000
+ -18397333.72343 -14295580.34142  22147821.852    22147826.920    22147821.421
+     -2999.927       -2337.605          51.000          46.000
+ -25966426.52344 -20221263.67142  20354627.092    20354630.826    20354626.080
+       314.021         244.692          58.000          52.000
+ -17885270.33443 -13901485.38542  21910976.281    21910981.711    21910975.815
+     -2710.399       -2111.999          52.000          46.000
+ -15479760.90943 -12050812.39842  22191612.233    22191616.143    22191611.563
+      1234.504         961.951          52.000          46.000
+ -13153481.62143 -10215474.63342  22827308.575    22827313.810    22827307.790
+      1454.466        1133.350          50.000          45.000
+ 04  2  1 15 24 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25752920.19844 -20047080.71742  19937202.781    19937206.159    19937201.051
+      -999.779        -779.048          57.000          51.000
+  -8786812.96243  -6779017.98442  23673285.535    23673287.614    23673283.962
+      3471.831        2705.323          47.000          40.000
+ -20846911.74243 -16241115.79142  21450737.292    21450740.231    21450736.461
+      2318.737        1806.808          55.000          48.000
+ -18307214.56643 -14225357.65942  22164972.319    22164976.330    22164971.047
+     -3007.544       -2343.541          52.000          46.000
+ -25975635.04244 -20228439.14642  20352874.716    20352878.176    20352873.720
+       300.303         234.002          58.000          51.000
+ -17803782.02443 -13837987.97242  21926483.677    21926488.288    21926482.363
+     -2721.546       -2120.685          52.000          46.000
+ -15516730.03343 -12079619.48342  22184576.984    22184581.675    22184577.131
+      1230.606         958.914          52.000          45.000
+ -13196930.98643 -10249331.27442  22819042.624    22819045.108    22819040.603
+      1442.631        1124.128          51.000          44.000
+ 04  2  1 15 25  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25722616.58243 -20023467.49742  19942968.757    19942972.549    19942967.606
+     -1020.939        -795.537          56.000          51.000
+  -8890851.78243  -6860087.11642  23653487.770    23653490.237    23653485.120
+      3463.780        2699.049          47.000          40.000
+ -20916384.23143 -16295250.18542  21437517.043    21437520.012    21437516.627
+      2312.385        1801.858          55.000          48.000
+ -18216864.51243 -14154955.04842  22182165.260    22182169.680    22182164.579
+     -3016.080       -2350.192          52.000          46.000
+ -25984433.42144 -20235295.03742  20351200.982    20351203.957    20351199.708
+       285.781         222.686          58.000          51.000
+ -17721968.44143 -13774237.10642  21942053.143    21942056.714    21942050.856
+     -2733.031       -2129.634          52.000          46.000
+ -15553588.42343 -12108340.26942  22177563.837    22177567.388    22177562.339
+      1226.190         955.473          51.000          46.000
+ -13240032.91643 -10282917.20742  22810839.314    22810842.956    22810837.328
+      1430.349        1114.558          50.000          44.000
+ 04  2  1 15 25 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25691699.09944 -19999375.95042  19948852.858    19948856.064    19948851.375
+     -1040.530        -810.802          57.000          51.000
+  -8994675.66943  -6940988.77942  23633731.116    23633732.446    23633728.914
+      3457.310        2694.008          47.000          39.000
+ -20985689.46043 -16349254.24642  21424328.532    21424331.881    21424328.106
+      2307.620        1798.145          55.000          48.000
+ -18126285.23843 -14084373.83942  22199401.498    22199406.307    22199400.271
+     -3022.749       -2355.389          52.000          46.000
+ -25992818.39744 -20241828.79442  20349605.434    20349608.250    20349603.963
+       272.847         212.608          58.000          51.000
+ -17639830.90943 -13710233.81942  21957682.846    21957687.500    21957681.729
+     -2743.139       -2137.511          52.000          46.000
+ -15590335.44343 -12136974.27242  22170571.631    22170574.596    22170570.316
+      1223.273         953.200          52.000          46.000
+ -13282783.41643 -10316229.25942  22802704.008    22802708.138    22802702.918
+      1419.364        1105.998          50.000          44.000
+ 04  2  1 15 26  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25660169.43344 -19974807.37342  19954852.551    19954855.947    19954850.996
+     -1060.843        -826.631          57.000          51.000
+  -9098282.45543  -7021721.26442  23614014.086    23614016.704    23614012.222
+      3449.924        2688.252          47.000          39.000
+ -21054825.04843 -16403126.11542  21411172.247    21411175.714    21411171.549
+      2301.981        1793.751          55.000          48.000
+ -18035479.60443 -14013616.23842  22216680.965    22216685.003    22216680.276
+     -3030.229       -2361.217          52.000          46.000
+ -26000788.27444 -20248039.09642  20348088.551    20348091.993    20348087.239
+       259.075         201.877          58.000          51.000
+ -17557372.40643 -13645980.41842  21973374.336    21973378.283    21973372.991
+     -2753.638       -2145.692          52.000          46.000
+ -15626971.48643 -12165521.83242  22163599.031    22163603.099    22163598.254
+      1219.650         950.377          52.000          46.000
+ -13325179.70343 -10349265.30242  22794635.117    22794639.266    22794634.584
+      1407.464        1096.725          50.000          44.000
+ 04  2  1 15 26 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25628029.34244 -19949763.14042  19960968.742    19960972.085    19960967.113
+     -1081.705        -842.887          57.000          51.000
+  -9201669.63843  -7102282.63942  23594340.249    23594343.185    23594339.469
+      3442.406        2682.394          46.000          39.000
+ -21123788.71543 -16456864.02042  21398049.173    21398052.249    21398048.459
+      2295.759        1788.903          55.000          48.000
+ -17944450.71543 -13942684.66142  22234003.154    22234007.969    22234002.495
+     -3038.112       -2367.360          52.000          45.000
+ -26008341.84344 -20253924.99542  20346651.423    20346654.506    20346650.239
+       244.684         190.663          58.000          52.000
+ -17474596.02043 -13581479.32342  21989125.403    21989130.891    21989125.182
+     -2764.787       -2154.379          53.000          46.000
+ -15663497.26043 -12193983.47242  22156649.669    22156652.586    22156648.075
+      1215.518         947.157          52.000          46.000
+ -13367219.24743 -10382023.40142  22786636.563    22786639.771    22786634.766
+      1395.186        1087.158          51.000          44.000
+ 04  2  1 15 27  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25595282.12744 -19924245.81942  19967200.016    19967203.629    19967198.616
+     -1101.437        -858.262          57.000          51.000
+  -9304836.42543  -7182672.27942  23574707.467    23574710.747    23574706.484
+      3435.477        2676.995          46.000          39.000
+ -21192579.17243 -16510466.95642  21384958.877    21384962.123    21384958.245
+      2290.399        1784.726          55.000          48.000
+ -17853202.56943 -13871582.23742  22251367.525    22251371.502    22251366.666
+     -3044.911       -2372.658          51.000          45.000
+ -26015478.37744 -20259485.93342  20345293.267    20345296.575    20345292.062
+       231.277         180.216          58.000          52.000
+ -17391505.16743 -13516733.16842  22004937.503    22004941.809    22004936.491
+     -2774.623       -2162.044          52.000          46.000
+ -15699914.36843 -12222360.44142  22149719.411    22149722.907    22149718.400
+      1212.291         944.642          52.000          46.000
+ -13408900.69043 -10414502.43642  22778704.683    22778708.531    22778703.063
+      1383.864        1078.336          51.000          45.000
+ 04  2  1 15 27 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25561926.14744 -19898254.13442  19973547.343    19973550.931    19973545.871
+     -1121.511        -873.905          57.000          51.000
+  -9407776.85043  -7262885.52542  23555118.040    23555122.376    23555116.032
+      3427.976        2671.150          46.000          40.000
+ -21261190.79243 -16563930.53442  21371902.477    21371905.575    21371901.671
+      2284.475        1780.110          55.000          48.000
+ -17761735.23143 -13800309.03542  22268772.512    22268777.446    22268771.583
+     -3051.973       -2378.161          50.000          45.000
+ -26022192.83244 -20264717.97842  20344015.406    20344018.612    20344014.020
+       217.246         169.283          58.000          51.000
+ -17308099.25943 -13451741.52842  22020808.918    22020813.416    22020807.958
+     -2785.163       -2170.257          52.000          46.000
+ -15736220.09643 -12250650.60542  22142809.871    22142813.463    22142809.181
+      1208.986         942.067          52.000          46.000
+ -13450218.19343 -10446697.87042  22770842.131    22770846.340    22770840.041
+      1371.686        1068.846          51.000          45.000
+ 04  2  1 15 28  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25527968.74444 -19871793.79742  19980009.558    19980012.839    19980007.941
+     -1141.645        -889.593          57.000          51.000
+  -9510494.23843  -7342924.99742  23535571.751    23535576.990    23535570.328
+      3420.427        2665.268          46.000          40.000
+ -21329626.87343 -16617257.32242  21358879.669    21358882.963    21358878.956
+      2278.610        1775.540          55.000          48.000
+ -17670057.09043 -13728871.57442  22286218.669    22286223.383    22286217.674
+     -3059.133       -2383.740          50.000          44.000
+ -26028489.47344 -20269624.44642  20342816.934    20342820.448    20342815.912
+       203.183         158.324          58.000          51.000
+ -17224386.44443 -13386510.74242  22036739.493    22036743.912    22036738.079
+     -2795.014       -2177.933          52.000          46.000
+ -15772420.48443 -12278858.69342  22135921.177    22135925.394    22135920.313
+      1205.103         939.041          52.000          45.000
+ -13491174.44743 -10478611.84642  22763048.623    22763052.300    22763047.630
+      1359.491        1059.344          51.000          45.000
+ 04  2  1 15 28 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25493406.84643 -19844862.43642  19986585.944    19986589.677    19986584.648
+     -1162.336        -905.716          56.000          51.000
+  -9612981.26043  -7422784.95342  23516070.070    23516073.687    23516068.557
+      3411.957        2658.668          47.000          40.000
+ -21397879.84443 -16670441.44742  21345891.320    21345894.223    21345890.582
+      2271.776        1770.215          55.000          48.000
+ -17578166.06143 -13657268.21842  22303704.228    22303709.864    22303703.948
+     -3066.775       -2389.695          50.000          45.000
+ -26034361.54444 -20274200.08442  20341700.072    20341703.203    20341698.781
+       188.443         146.839          58.000          52.000
+ -17140364.35843 -13321038.95842  22052727.815    22052733.033    22052727.196
+     -2806.280       -2186.712          52.000          46.000
+ -15808510.78443 -12306980.96042  22129052.730    22129057.445    22129052.399
+      1200.850         935.727          52.000          45.000
+ -13531761.90243 -10510238.43542  22755324.139    22755328.241    22755323.418
+      1346.557        1049.265          50.000          44.000
+ 04  2  1 15 29  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25458245.50644 -19817463.97742  19993277.047    19993280.823    19993275.678
+     -1182.085        -921.105          57.000          51.000
+  -9715238.69343  -7502466.01242  23496610.847    23496614.745    23496609.958
+      3404.765        2653.064          47.000          40.000
+ -21465950.41143 -16723483.42942  21332937.448    21332941.406    21332936.605
+      2265.792        1765.552          55.000          48.000
+ -17486068.39043 -13585503.82242  22321231.295    22321235.843    22321229.967
+     -3073.364       -2394.829          52.000          45.000
+ -26039810.65144 -20278446.13242  20340663.192    20340666.326    20340661.998
+       174.565         136.025          58.000          52.000
+ -17056038.85243 -13255330.74742  22068774.344    22068778.490    22068773.456
+     -2815.945       -2194.243          52.000          46.000
+ -15844494.65543 -12335020.27942  22122206.268    22122209.098    22122205.110
+      1197.538         933.146          52.000          45.000
+ -13571981.12543 -10541578.07442  22747671.817    22747675.069    22747669.872
+      1334.347        1039.751          51.000          45.000
+ 04  2  1 15 29 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25422486.87344 -19789600.09542  20000081.768    20000085.646    20000080.698
+     -1201.820        -936.483          57.000          51.000
+  -9817264.76943  -7581966.78142  23477195.390    23477199.283    23477194.792
+      3397.050        2647.052          47.000          40.000
+ -21533836.80443 -16776381.90742  21320019.472    21320022.570    21320018.906
+      2259.862        1760.931          55.000          48.000
+ -17393767.54443 -13513581.10942  22338795.279    22338799.435    22338794.183
+     -3079.939       -2399.952          51.000          45.000
+ -26044835.70744 -20282361.75542  20339706.383    20339709.943    20339705.227
+       160.546         125.101          58.000          51.000
+ -16971413.23543 -13189388.67242  22084878.473    22084882.926    22084877.546
+     -2825.614       -2201.777          52.000          45.000
+ -15880373.09443 -12362977.44442  22115377.938    22115381.550    22115376.703
+      1194.313         930.634          51.000          45.000
+ -13611830.17843 -10572629.29042  22740088.376    22740093.002    22740087.260
+      1322.357        1030.408          51.000          45.000
+ 04  2  1 15 30  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25386132.04544 -19761271.64542  20007000.017    20007003.228    20006998.522
+     -1220.763        -951.244          57.000          51.000
+  -9919056.11343  -7661284.65142  23457825.620    23457827.846    23457823.728
+      3390.191        2641.707          47.000          40.000
+ -21601535.46043 -16829134.08142  21307137.127    21307139.666    21307136.489
+      2254.479        1756.737          55.000          49.000
+ -17301265.53743 -13441501.63642  22356397.075    22356402.414    22356395.849
+     -3085.561       -2404.333          51.000          45.000
+ -26049434.34444 -20285945.10542  20338831.540    20338834.727    20338830.251
+       147.234         114.728          58.000          51.000
+ -16886489.21743 -13123214.09742  22101038.934    22101042.515    22101037.503
+     -2834.827       -2208.956          52.000          45.000
+ -15916145.57843 -12390852.04842  22108571.570    22108574.808    22108570.139
+      1191.762         928.646          52.000          45.000
+ -13651305.26943 -10603389.08642  22732576.301    22732580.382    22732574.614
+      1310.556        1021.212          51.000          44.000
+ 04  2  1 15 30 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25349181.15144 -19732478.72942  20014031.078    20014035.309    20014029.989
+     -1241.250        -967.208          57.000          51.000
+ -10020608.79843  -7740416.54442  23438502.233    23438502.820    23438500.582
+      3381.455        2634.900          48.000          40.000
+ -21669042.25543 -16881736.76442  21294290.937    21294293.575    21294290.379
+      2247.336        1751.171          55.000          49.000
+ -17208563.46343 -13369266.27742  22374037.870    22374042.900    22374037.099
+     -3092.978       -2410.113          51.000          45.000
+ -26053603.07844 -20289193.46042  20338038.577    20338041.519    20338037.105
+       132.079         102.919          58.000          52.000
+ -16801267.68743 -13056807.71542  22117256.677    22117260.947    22117255.116
+     -2845.263       -2217.088          52.000          45.000
+ -15951810.70543 -12418643.02642  22101783.980    22101788.321    22101783.418
+      1187.586         925.392          52.000          46.000
+ -13690402.06743 -10633854.12642  22725137.136    22725140.614    22725135.440
+      1297.329        1010.906          52.000          45.000
+ 04  2  1 15 31  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25311641.41643 -19703226.97942  20021175.061    20021178.472    20021173.520
+     -1261.628        -983.087          56.000          51.000
+ -10121925.35543  -7819364.44142  23419221.606    23419224.653    23419219.755
+      3372.506        2627.927          48.000          40.000
+ -21736359.91143 -16934192.06642  21281480.605    21281482.979    21281479.930
+      2240.332        1745.713          55.000          48.000
+ -17115669.53143 -13296881.41042  22391714.864    22391719.342    22391714.165
+     -3100.077       -2415.644          51.000          45.000
+ -26057345.67944 -20292109.76742  20337326.213    20337329.430    20337324.799
+       117.220          91.340          58.000          52.000
+ -16715756.45343 -12990175.57042  22133527.384    22133532.286    22133526.452
+     -2855.804       -2225.302          51.000          45.000
+ -15987374.14243 -12446354.76942  22095016.811    22095020.573    22095015.848
+      1183.320         922.068          52.000          46.000
+ -13729123.33843 -10664026.52342  22717767.905    22717772.569    22717766.024
+      1283.929        1000.464          50.000          45.000
+ 04  2  1 15 31 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25273509.16144 -19673513.52142  20028431.138    20028434.837    20028429.602
+     -1280.985        -998.170          57.000          51.000
+ -10222998.31843  -7898122.51542  23399986.632    23399991.791    23399987.454
+      3365.092        2622.150          47.000          40.000
+ -21803480.49743 -16986493.81342  21268707.675    21268711.324    21268707.162
+      2233.960        1740.748          55.000          49.000
+ -17022580.97443 -13224344.90742  22409428.926    22409434.160    22409428.185
+     -3106.071       -2420.315          51.000          45.000
+ -26060655.18144 -20294688.59642  20336696.154    20336699.493    20336695.083
+       103.081          80.323          58.000          51.000
+ -16629952.38743 -12923315.24842  22149855.707    22149860.643    22149854.694
+     -2865.117       -2232.559          52.000          45.000
+ -16022830.85443 -12473983.34542  22088269.736    22088273.331    22088268.852
+      1180.165         919.609          52.000          46.000
+ -13767460.87143 -10693899.92942  22710473.103    22710476.946    22710472.079
+      1271.485         990.768          51.000          45.000
+ 04  2  1 15 32  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25234791.16344 -19643343.64542  20035799.009    20035802.674    20035797.670
+     -1300.227       -1013.164          57.000          51.000
+ -10323829.80243  -7976692.44742  23380799.034    23380803.566    23380797.894
+      3357.206        2616.005          47.000          40.000
+ -21870405.91943 -17038643.48842  21255972.447    21255976.011    21255972.209
+      2227.602        1735.794          56.000          49.000
+ -16929305.59143 -13151662.82342  22427179.400    22427183.787    22427178.627
+     -3112.148       -2425.050          51.000          45.000
+ -26063534.24544 -20296932.02342  20336148.262    20336151.527    20336147.135
+        88.953          69.314          58.000          51.000
+ -16543863.01343 -12856232.59842  22166238.207    22166242.292    22166237.712
+     -2874.384       -2239.780          52.000          45.000
+ -16058185.84343 -12501532.67742  22081541.634    22081545.806    22081541.046
+      1177.058         917.188          52.000          46.000
+ -13805416.75143 -10723475.93842  22703250.410    22703254.976    22703247.732
+      1258.901         980.962          51.000          45.000
+ 04  2  1 15 32 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25195487.13644 -19612717.12242  20043278.334    20043281.815    20043276.907
+     -1320.645       -1029.074          57.000          51.000
+ -10424415.50243  -8055070.85342  23361657.789    23361662.031    23361657.110
+      3348.002        2608.833          46.000          40.000
+ -21937131.87043 -17090637.72442  21243275.121    21243278.175    21243274.915
+      2220.074        1729.928          56.000          49.000
+ -16835844.22543 -13078835.81542  22444964.895    22444968.941    22444963.879
+     -3119.151       -2430.507          51.000          45.000
+ -26065979.55544 -20298837.44742  20335683.354    20335686.354    20335681.999
+        73.561          57.320          58.000          52.000
+ -16457489.04843 -12788928.20442  22182675.386    22182679.789    22182674.342
+     -2884.509       -2247.669          52.000          45.000
+ -16093437.37143 -12529001.38042  22074833.650    22074837.464    22074833.090
+      1172.626         913.735          52.000          46.000
+ -13842986.38343 -10752750.96642  22696100.727    22696105.546    22696099.411
+      1245.244         970.320          52.000          45.000
+ 04  2  1 15 33  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25155599.95743 -19581636.19442  20050868.515    20050872.149    20050867.115
+     -1339.416       -1043.701          56.000          51.000
+ -10524753.97043  -8133256.59342  23342563.858    23342567.315    23342564.210
+      3340.341        2602.863          46.000          40.000
+ -22003656.82843 -17142475.34042  21230615.864    21230618.912    21230615.197
+      2214.031        1725.219          56.000          49.000
+ -16742200.71643 -13005866.87442  22462784.705    22462789.518    22462783.444
+     -3124.467       -2434.650          51.000          45.000
+ -26067990.81444 -20300404.66342  20335300.408    20335303.592    20335299.148
+        59.779          46.581          58.000          52.000
+ -16370833.57743 -12721404.46242  22199164.413    22199168.581    22199163.366
+     -2893.271       -2254.497          51.000          45.000
+ -16128586.69443 -12556390.43442  22068144.767    22068148.748    22068144.307
+      1169.827         911.554          52.000          46.000
+ -13880168.20543 -10781723.82042  22689025.373    22689030.197    22689024.385
+      1232.864         960.673          51.000          45.000
+ 04  2  1 15 33 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25115131.57943 -19550102.38542  20058569.086    20058573.016    20058568.072
+     -1358.728       -1058.749          56.000          51.000
+ -10624842.46643  -8211247.56542  23323519.247    23323521.544    23323517.213
+      3331.951        2596.325          47.000          41.000
+ -22069977.67743 -17194153.91942  21217994.947    21217998.766    21217994.471
+      2207.246        1719.932          55.000          49.000
+ -16648377.67643 -12932758.03542  22480638.225    22480641.864    22480636.861
+     -3130.526       -2439.371          51.000          45.000
+ -26069565.59344 -20301631.76242  20335000.540    20335004.087    20334999.250
+        45.188          35.211          58.000          51.000
+ -16283899.18743 -12653663.39642  22215707.619    22215712.035    22215705.833
+     -2902.509       -2261.695          51.000          45.000
+ -16163633.83343 -12583699.86142  22061475.598    22061479.575    22061474.464
+      1166.567         909.013          52.000          46.000
+ -13916959.36343 -10810392.24742  22682024.061    22682028.880    22682023.097
+      1219.785         950.482          51.000          45.000
+ 04  2  1 15 34  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25074086.87943 -19518119.49442  20066379.876    20066383.826    20066378.691
+     -1378.175       -1073.902          56.000          51.000
+ -10724681.67943  -8289044.29042  23304520.069    23304524.504    23304518.960
+      3323.190        2589.499          47.000          41.000
+ -22136095.14843 -17245674.01542  21205413.166    21205416.907    21205412.910
+      2200.164        1714.414          55.000          49.000
+ -16554381.01643 -12859513.90742  22498525.022    22498530.130    22498523.350
+     -3136.535       -2444.053          50.000          44.000
+ -26070705.77344 -20302520.21442  20334783.795    20334787.193    20334782.572
+        30.407          23.694          58.000          52.000
+ -16196691.64943 -12585709.49342  22232302.390    22232305.970    22232301.105
+     -2911.878       -2268.996          52.000          45.000
+ -16198582.24243 -12610932.36342  22054825.213    22054828.452    22054824.835
+      1163.032         906.259          53.000          46.000
+ -13953360.16143 -10838756.48542  22675097.390    22675101.273    22675096.098
+      1206.406         940.057          51.000          45.000
+ 04  2  1 15 34 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -25032464.37543 -19485686.36842  20074300.334    20074304.148    20074298.908
+     -1397.321       -1088.821          56.000          51.000
+ -10824265.68443  -8366642.14942  23285570.324    23285573.000    23285568.377
+      3314.865        2583.012          48.000          41.000
+ -22202002.99843 -17297030.76642  21192871.062    21192874.751    21192870.997
+      2193.054        1708.873          56.000          49.000
+ -16460210.06243 -12786133.97142  22516444.800    22516450.145    22516443.739
+     -3142.137       -2448.418          50.000          44.000
+ -26071406.33044 -20303066.10342  20334650.662    20334653.455    20334649.272
+        15.600          12.156          58.000          52.000
+ -16109209.97443 -12517541.95742  22248950.189    22248953.888    22248949.405
+     -2920.838       -2275.978          52.000          45.000
+ -16233428.63843 -12638085.39342  22048193.957    22048197.737    22048193.403
+      1159.445         903.464          53.000          46.000
+ -13989364.70043 -10866811.97242  22668246.504    22668248.910    22668244.932
+      1193.195         929.762          51.000          45.000
+ 04  2  1 15 35  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24990264.32643 -19452803.21642  20082330.641    20082334.558    20082329.578
+     -1415.621       -1103.081          56.000          51.000
+ -10923590.71343  -8444038.21442  23266668.486    23266670.876    23266667.530
+      3307.294        2577.112          47.000          41.000
+ -22267696.99343 -17348220.88442  21180370.557    21180373.546    21180370.117
+      2186.879        1704.062          56.000          49.000
+ -16365865.94443 -12712619.12142  22534397.686    22534403.368    22534397.356
+     -3146.908       -2452.136          50.000          44.000
+ -26071663.94044 -20303266.83842  20334601.752    20334604.620    20334600.172
+         1.915           1.492          58.000          52.000
+ -16021454.63743 -12449161.18842  22265649.977    22265652.811    22265649.094
+     -2928.992       -2282.331          52.000          45.000
+ -16268171.66443 -12665157.86242  22041582.378    22041586.142    22041581.537
+      1157.049         901.597          52.000          46.000
+ -14024968.64543 -10894555.29142  22661470.652    22661474.541    22661469.143
+      1180.572         919.926          51.000          45.000
+ 04  2  1 15 35 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24947495.09643 -19419476.54542  20090469.355    20090473.307    20090468.265
+     -1434.751       -1117.988          56.000          51.000
+ -11022660.38343  -8521235.28342  23247816.324    23247819.948    23247815.527
+      3298.186        2570.015          48.000          41.000
+ -22333180.66943 -17399247.11142  21167909.328    21167912.461    21167908.793
+      2179.628        1698.411          56.000          49.000
+ -16271357.60043 -12638976.27342  22552383.146    22552387.390    22552380.500
+     -3152.645       -2456.606          50.000          44.000
+ -26071482.91944 -20303125.78642  20334635.776    20334638.894    20334634.495
+       -12.943         -10.085          58.000          52.000
+ -15933434.33243 -12380573.96742  22282399.670    22282403.180    22282398.928
+     -2937.942       -2289.305          52.000          45.000
+ -16302817.78343 -12692154.82742  22034990.105    22034993.271    22034989.203
+      1153.706         898.992          53.000          46.000
+ -14060175.55443 -10921989.22342  22654771.151    22654775.421    22654769.488
+      1167.235         909.534          52.000          45.000
+ 04  2  1 15 36  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24904156.88443 -19385706.51042  20098716.443    20098720.228    20098715.112
+     -1454.358       -1133.266          56.000          51.000
+ -11121470.83243  -8598230.38042  23229012.843    23229016.887    23229012.023
+      3288.950        2562.818          48.000          41.000
+ -22398449.90243 -17450106.24542  21155489.191    21155492.113    21155488.714
+      2171.714        1692.245          56.000          49.000
+ -16176686.40143 -12565206.53542  22570398.083    22570402.442    22570395.933
+     -3158.717       -2461.338          50.000          44.000
+ -26070860.62244 -20302640.88342  20334754.425    20334757.596    20334753.167
+       -28.451         -22.170          58.000          52.000
+ -15845150.24743 -12311781.21442  22299199.372    22299203.510    22299197.870
+     -2947.550       -2296.792          51.000          45.000
+ -16337365.71143 -12719075.25242  22028416.645    22028419.533    22028414.900
+      1149.496         895.711          53.000          46.000
+ -14094981.35643 -10949110.60442  22648147.484    22648150.946    22648146.184
+      1153.056         898.485          51.000          45.000
+ 04  2  1 15 36 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24860250.98443 -19351494.12942  20107071.432    20107075.120    20107070.218
+     -1472.795       -1147.632          56.000          51.000
+ -11220018.59443  -8675020.79042  23210259.545    23210261.822    23210259.402
+      3280.749        2556.428          48.000          41.000
+ -22463500.96243 -17500795.38042  21143110.114    21143113.339    21143109.656
+      2164.847        1686.894          56.000          49.000
+ -16081853.93443 -12491311.13442  22588443.797    22588448.914    22588443.384
+     -3163.513       -2465.075          50.000          44.000
+ -26069794.49244 -20301810.13242  20334957.272    20334960.299    20334955.947
+       -42.753         -33.314          58.000          52.000
+ -15756603.84443 -12242784.06042  22316049.060    22316053.839    22316047.776
+     -2955.637       -2303.094          51.000          45.000
+ -16371814.72043 -12745918.61242  22021859.938    22021863.645    22021858.995
+      1146.818         893.624          52.000          46.000
+ -14129382.34643 -10975916.52442  22641601.284    22641605.954    22641599.310
+      1139.952         888.274          51.000          46.000
+ 04  2  1 15 37  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24815779.32843 -19316840.89642  20115534.138    20115538.229    20115532.972
+     -1492.305       -1162.835          56.000          51.000
+ -11318301.40643  -8751604.75342  23191557.069    23191561.362    23191557.596
+      3271.110        2548.917          49.000          41.000
+ -22528331.43343 -17551312.62642  21130772.754    21130776.626    21130772.600
+      2156.855        1680.666          56.000          49.000
+ -15986863.37043 -12417292.54242  22606519.951    22606524.637    22606518.958
+     -3169.414       -2469.673          50.000          44.000
+ -26068282.83744 -20300632.22342  20335245.105    20335248.107    20335243.808
+       -58.241         -45.382          58.000          52.000
+ -15667797.81343 -12173584.59742  22332948.910    22332952.561    22332947.424
+     -2964.944       -2310.346          51.000          45.000
+ -16406165.21843 -12772685.23342  22015323.088    22015326.768    22015322.149
+      1142.927         890.592          52.000          46.000
+ -14163376.30543 -11002405.28342  22635132.479    22635136.306    22635130.505
+      1125.886         877.314          51.000          45.000
+ 04  2  1 15 37 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24770744.36443 -19281748.72842  20124104.048    20124107.726    20124102.597
+     -1510.809       -1177.254          56.000          51.000
+ -11416317.26143  -8827980.69842  23172905.391    23172909.155    23172903.961
+      3262.538        2542.237          48.000          42.000
+ -22592938.83043 -17601656.05142  21118478.857    21118482.498    21118478.383
+      2149.542        1674.968          56.000          49.000
+ -15891717.61743 -12343153.01942  22624625.620    22624630.795    22624625.887
+     -3174.418       -2473.572          51.000          44.000
+ -26066324.64644 -20299106.36242  20335617.619    20335620.618    20335616.152
+       -73.011         -56.892          58.000          51.000
+ -15578734.90143 -12104184.98042  22349895.943    22349900.626    22349894.506
+     -2973.297       -2316.855          51.000          45.000
+ -16440417.59343 -12799375.39342  22008805.474    22008808.836    22008804.554
+      1139.959         888.280          52.000          46.000
+ -14196960.96643 -11028575.10142  22628740.908    22628745.301    22628739.941
+      1112.314         866.738          52.000          45.000
+ 04  2  1 15 38  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24725149.87643 -19246220.56542  20132780.476    20132783.825    20132779.000
+     -1529.680       -1191.958          56.000          51.000
+ -11514065.39143  -8904148.01042  23154305.903    23154309.382    23154304.102
+      3253.117        2534.896          48.000          42.000
+ -22657322.21943 -17651824.92142  21106227.571    21106230.567    21106226.865
+      2141.843        1668.969          56.000          49.000
+ -15796421.44043 -12268896.26742  22642759.774    22642764.422    22642758.732
+     -3179.622       -2477.627          51.000          44.000
+ -26063920.00844 -20297232.62942  20336074.943    20336078.150    20336073.606
+       -88.172         -68.705          58.000          51.000
+ -15489419.05243 -12034588.25542  22366892.246    22366896.711    22366890.656
+     -2981.755       -2323.445          51.000          45.000
+ -16474573.73943 -12825990.57842  22002305.864    22002308.989    22002305.202
+      1136.581         885.648          52.000          46.000
+ -14230135.45843 -11054425.31142  22622428.559    22622432.328    22622426.642
+      1098.523         855.992          51.000          45.000
+ 04  2  1 15 38 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24678999.08443 -19210258.92342  20141562.443    20141566.502    20141561.358
+     -1547.462       -1205.814          56.000          51.000
+ -11611544.52143  -8980105.71342  23135754.481    23135759.868    23135753.138
+      3245.071        2528.627          47.000          42.000
+ -22721479.82643 -17701817.85642  21094018.620    21094021.925    21094017.951
+      2134.965        1663.609          56.000          49.000
+ -15700978.60743 -12194525.23842  22660922.983    22660926.924    22660922.285
+     -3183.757       -2480.850          51.000          44.000
+ -26061068.24344 -20295010.47642  20336618.028    20336620.919    20336616.767
+      -102.305         -79.718          58.000          51.000
+ -15399853.92943 -11964797.29142  22383936.773    22383941.875    22383935.369
+     -2989.466       -2329.454          52.000          45.000
+ -16508634.75743 -12852531.63542  21995824.104    21995827.956    21995823.029
+      1133.894         883.554          52.000          46.000
+ -14262898.10243 -11079954.56542  22616194.302    22616198.546    22616192.210
+      1085.383         845.753          51.000          45.000
+ 04  2  1 15 39  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24632291.76244 -19173863.61842  20150451.247    20150454.589    20150449.569
+     -1565.874       -1220.161          57.000          51.000
+ -11708750.04943  -9055850.21142  23117257.161    23117260.171    23117256.199
+      3235.735        2521.352          48.000          42.000
+ -22785406.99043 -17751631.22942  21081853.593    21081856.937    21081853.072
+      2127.421        1657.731          56.000          49.000
+ -15605389.66343 -12120040.35842  22679113.434    22679116.877    22679112.092
+     -3188.446       -2484.503          51.000          44.000
+ -26057766.11544 -20292437.40042  20337246.282    20337249.055    20337245.145
+      -117.248         -91.362          58.000          51.000
+ -15310039.82043 -11894812.30842  22401027.732    22401032.634    22401026.859
+     -2997.628       -2335.814          51.000          44.000
+ -16542598.95743 -12878997.24242  21989360.636    21989363.736    21989359.153
+      1130.815         881.155          52.000          46.000
+ -14295244.40443 -11105159.43542  22610038.708    22610041.993    22610037.185
+      1071.573         834.992          52.000          45.000
+ 04  2  1 15 39 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24585031.67643 -19137037.59442  20159444.234    20159448.069    20159442.769
+     -1584.131       -1234.388          56.000          51.000
+ -11805681.17243  -9131380.90142  23098810.885    23098815.679    23098809.937
+      3226.874        2514.447          48.000          42.000
+ -22849102.48943 -17801264.08342  21069732.345    21069736.085    21069732.014
+      2119.784        1651.780          56.000          49.000
+ -15509658.98143 -12045445.04542  22697329.021    22697333.971    22697329.618
+     -3192.947       -2488.011          50.000          44.000
+ -26054013.64144 -20289513.40442  20337960.350    20337963.639    20337959.108
+      -132.024        -102.876          58.000          51.000
+ -15219980.77943 -11824636.43842  22418166.132    22418169.759    22418164.566
+     -3005.458       -2341.915          52.000          45.000
+ -16576468.14243 -12905388.81742  21982916.142    21982919.336    21982914.962
+      1127.773         878.784          53.000          46.000
+ -14327173.58343 -11130039.25142  22603962.223    22603966.755    22603960.655
+      1057.869         824.314          51.000          45.000
+ 04  2  1 15 40  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24537221.99243 -19099783.30742  20168541.928    20168545.784    20168540.675
+     -1602.644       -1248.813          56.000          51.000
+ -11902336.57743  -9206696.75342  23080418.566    23080422.585    23080416.568
+      3217.418        2507.079          48.000          42.000
+ -22912564.69243 -17850715.15142  21057655.855    21057659.150    21057655.681
+      2111.606        1645.407          56.000          49.000
+ -15413790.21443 -11970742.14742  22715572.672    22715577.727    22715571.759
+     -3197.645       -2491.671          50.000          44.000
+ -26049810.52944 -20286238.27142  20338760.010    20338763.312    20338758.599
+      -147.401        -114.858          58.000          51.000
+ -15129680.21343 -11754272.38242  22435348.783    22435352.158    22435348.498
+     -3013.958       -2348.539          52.000          44.000
+ -16610243.30243 -12931707.13042  21976488.136    21976491.967    21976487.886
+      1124.739         876.420          52.000          46.000
+ -14358683.91543 -11154592.70342  22597966.145    22597970.421    22597964.456
+      1043.596         813.192          52.000          45.000
+ 04  2  1 15 40 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24488862.45943 -19062100.56142  20177744.603    20177748.168    20177743.359
+     -1621.061       -1263.164          56.000          51.000
+ -11998711.59343  -9281794.10542  23062078.633    23062080.484    23062077.265
+      3207.733        2499.532          48.000          42.000
+ -22975788.57043 -17899980.51142  21045625.089    21045628.223    21045624.788
+      2103.567        1639.143          56.000          49.000
+ -15317783.66343 -11895931.87442  22733842.105    22733845.760    22733841.330
+     -3202.518       -2495.468          49.000          44.000
+ -26045152.78044 -20282608.86442  20339646.599    20339649.597    20339645.207
+      -162.770        -126.834          58.000          51.000
+ -15039138.27743 -11683720.22142  22452579.098    22452582.674    22452578.402
+     -3021.925       -2354.747          52.000          44.000
+ -16643922.36543 -12957950.53942  21970079.226    21970082.973    21970077.991
+      1121.057         873.551          52.000          46.000
+ -14389770.86543 -11178816.24842  22592050.634    22592054.235    22592048.766
+      1029.263         802.023          52.000          45.000
+ 04  2  1 15 41  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24439960.16043 -19023994.88942  20187049.979    20187054.069    20187048.905
+     -1638.796       -1276.984          56.000          50.000
+ -12094808.22443  -9356674.54742  23043792.428    23043796.220    23043790.399
+      3199.007        2492.733          49.000          42.000
+ -23038776.02343 -17949061.63942  21033638.898    21033641.989    21033638.226
+      2095.991        1633.240          56.000          49.000
+ -15221646.82343 -11821020.07742  22752136.170    22752140.710    22752135.621
+     -3206.306       -2498.420          49.000          44.000
+ -26040043.47744 -20278627.60042  20340618.392    20340621.920    20340617.235
+      -177.446        -138.270          58.000          51.000
+ -14948361.62943 -11612985.14442  22469853.429    22469856.584    22469851.823
+     -3029.357       -2360.538          51.000          44.000
+ -16677510.01143 -12984122.72242  21963688.031    21963691.748    21963687.138
+      1118.538         871.588          52.000          46.000
+ -14420436.43843 -11202711.43742  22586214.260    22586219.491    22586213.012
+      1015.554         791.341          51.000          45.000
+ 04  2  1 15 41 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24390513.84343 -18985465.31442  20196459.654    20196463.274    20196458.106
+     -1657.219       -1291.339          56.000          50.000
+ -12190621.42543  -9431334.12842  23025559.633    23025563.211    23025558.249
+      3189.025        2484.955          48.000          42.000
+ -23101521.19343 -17997953.96842  21021699.195    21021702.089    21021698.591
+      2087.528        1626.645          56.000          49.000
+ -15125379.40043 -11746006.51942  22770454.966    22770459.675    22770454.548
+     -3211.107       -2502.161          49.000          44.000
+ -26034478.26744 -20274291.08442  20341677.750    20341680.714    20341676.481
+      -193.047        -150.426          58.000          51.000
+ -14857349.83443 -11542066.81542  22487171.581    22487175.724    22487170.498
+     -3037.652       -2367.001          51.000          44.000
+ -16711003.24243 -13010221.34042  21957313.675    21957318.748    21957312.939
+      1115.026         868.851          52.000          46.000
+ -14450674.98543 -11226273.89242  22580461.151    22580464.433    22580458.602
+      1000.846         779.880          52.000          45.000
+ 04  2  1 15 42  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24340527.85343 -18946515.20842  20205971.737    20205975.308    20205970.391
+     -1675.146       -1305.308          56.000          50.000
+ -12286150.57643  -9505772.37142  23007381.891    23007385.531    23007380.277
+      3179.528        2477.554          49.000          42.000
+ -23164023.45543 -18046657.02442  21009805.024    21009808.191    21009804.368
+      2079.373        1620.291          56.000          49.000
+ -15028986.20843 -11670894.95142  22788799.113    22788804.511    22788797.762
+     -3214.928       -2505.139          50.000          44.000
+ -26028457.96744 -20269599.94542  20342823.670    20342826.524    20342822.204
+      -208.282        -162.298          58.000          51.000
+ -14766107.72843 -11470969.06542  22504534.607    22504538.648    22504533.512
+     -3045.249       -2372.921          51.000          44.000
+ -16744404.42243 -13036248.24942  21950958.254    21950962.049    21950957.074
+      1111.982         866.479          52.000          46.000
+ -14480486.27243 -11249503.40342  22574788.268    22574792.418    22574786.620
+       986.720         768.873          51.000          45.000
+ 04  2  1 15 42 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24290003.55943 -18907145.64342  20215585.778    20215589.791    20215584.521
+     -1692.741       -1319.019          56.000          50.000
+ -12381392.88943  -9579987.09742  22989257.114    22989262.222    22989254.139
+      3170.204        2470.289          49.000          42.000
+ -23226279.48643 -18095168.21642  20997957.798    20997961.120    20997957.534
+      2071.389        1614.069          56.000          49.000
+ -14932468.96643 -11595686.73142  22807165.207    22807169.461    22807164.027
+     -3219.245       -2508.502          50.000          44.000
+ -26021980.02244 -20264552.20642  20344056.139    20344059.229    20344054.948
+      -223.189        -173.913          58.000          51.000
+ -14674636.69343 -11399692.93742  22521940.736    22521945.239    22521939.975
+     -3052.569       -2378.625          50.000          44.000
+ -16777712.78343 -13062202.80942  21944619.818    21944623.369    21944618.775
+      1109.068         864.209          52.000          46.000
+ -14509867.01343 -11272397.42642  22569196.650    22569200.878    22569195.449
+       972.540         757.823          52.000          45.000
+ 04  2  1 15 43  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24238946.19944 -18867360.70742  20225302.242    20225306.098    20225300.879
+     -1710.237       -1332.652          57.000          50.000
+ -12476349.06843  -9653978.88642  22971187.923    22971190.599    22971186.497
+      3160.982        2463.103          50.000          42.000
+ -23288289.13043 -18143487.41642  20986157.964    20986161.324    20986157.335
+      2063.276        1607.748          56.000          49.000
+ -14835833.60543 -11520386.46642  22825554.307    22825559.927    22825552.809
+     -3222.445       -2510.996          49.000          44.000
+ -26015046.41144 -20259149.40942  20345375.275    20345378.794    20345374.126
+      -238.180        -185.595          58.000          51.000
+ -14582942.08743 -11328242.61642  22539390.336    22539394.050    22539388.257
+     -3059.703       -2384.184          51.000          44.000
+ -16810931.34943 -13088087.40542  21938299.241    21938302.073    21938298.433
+      1106.435         862.157          53.000          46.000
+ -14538817.98843 -11294956.57742  22563687.933    22563691.566    22563685.959
+       958.373         746.784          52.000          45.000
+ 04  2  1 15 43 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24187354.85643 -18827159.68242  20235119.697    20235123.371    20235118.518
+     -1728.726       -1347.059          56.000          50.000
+ -12571013.02043  -9727742.96242  22953173.904    22953175.916    22953172.032
+      3150.384        2454.845          49.000          42.000
+ -23350046.65443 -18191610.15142  20974406.552    20974409.206    20974405.655
+      2054.143        1600.631          56.000          49.000
+ -14739079.36143 -11444993.56542  22843965.679    22843969.954    22843964.443
+     -3227.227       -2514.722          50.000          43.000
+ -26007652.04644 -20253387.57642  20346782.718    20346785.731    20346781.420
+      -254.349        -198.194          58.000          51.000
+ -14491023.17543 -11256617.53142  22556881.158    22556885.310    22556880.305
+     -3067.838       -2390.523          51.000          44.000
+ -16844057.09043 -13113899.66142  21931995.145    21931998.791    21931994.661
+      1102.474         859.071          53.000          46.000
+ -14567333.52643 -11317176.42142  22558260.625    22558265.220    22558259.353
+       943.018         734.819          51.000          45.000
+ 04  2  1 15 44  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24135234.42043 -18786546.37442  20245037.641    20245041.289    20245036.513
+     -1746.078       -1360.580          56.000          50.000
+ -12665385.78743  -9801280.13842  22935215.988    22935218.757    22935212.853
+      3141.072        2447.589          49.000          42.000
+ -23411552.07243 -18239536.44242  20962702.282    20962705.125    20962701.487
+      2046.057        1594.330          56.000          49.000
+ -14642211.99843 -11369512.53242  22862399.823    22862404.235    22862398.462
+     -3230.972       -2517.640          49.000          43.000
+ -25999798.77144 -20247268.15142  20348277.315    20348280.160    20348275.888
+      -269.312        -209.853          58.000          51.000
+ -14398885.12843 -11184821.65842  22574414.736    22574419.291    22574413.915
+     -3074.748       -2395.907          51.000          44.000
+ -16877092.81943 -13139641.77842  21925709.200    21925712.474    21925708.054
+      1099.768         856.962          53.000          46.000
+ -14595413.98743 -11339057.25942  22552918.141    22552922.044    22552916.885
+       928.909         723.825          52.000          45.000
+ 04  2  1 15 44 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24082584.63743 -18745520.59542  20255056.745    20255060.180    20255055.313
+     -1764.038       -1374.575          56.000          50.000
+ -12759462.27143  -9874586.45742  22917311.982    22917315.350    22917311.390
+      3130.780        2439.569          48.000          42.000
+ -23472799.92243 -18287262.03342  20951047.178    20951049.662    20951046.340
+      2037.112        1587.360          56.000          49.000
+ -14545231.64443 -11293943.45342  22880853.897    22880859.585    22880852.311
+     -3234.655       -2520.510          48.000          43.000
+ -25991482.56444 -20240788.00042  20349859.130    20349862.740    20349858.172
+      -285.251        -222.273          57.000          51.000
+ -14306527.60343 -11112854.74642  22591989.439    22591994.257    22591988.395
+     -3082.487       -2401.938          50.000          44.000
+ -16910036.07343 -13165311.83542  21919439.849    21919443.800    21919438.678
+      1096.392         854.331          53.000          47.000
+ -14623053.99043 -11360594.89942  22547657.499    22547662.188    22547655.461
+       913.622         711.913          51.000          45.000
+ 04  2  1 15 45  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -24029413.14743 -18704088.28342  20265174.798    20265178.713    20265173.390
+     -1781.929       -1388.516          56.000          50.000
+ -12853245.27043  -9947664.06542  22899467.159    22899469.938    22899466.012
+      3120.428        2431.502          50.000          42.000
+ -23533792.96443 -18334789.06342  20939440.536    20939442.963    20939439.863
+      2028.025        1580.279          56.000          49.000
+ -14448146.22943 -11218292.50142  22899328.849    22899333.685    22899327.278
+     -3238.703       -2523.665          48.000          43.000
+ -25982707.33344 -20233950.16342  20351529.419    20351532.421    20351527.955
+      -300.979        -234.529          58.000          51.000
+ -14213958.22343 -11040722.79742  22609605.120    22609609.489    22609604.023
+     -3090.145       -2407.905          51.000          44.000
+ -16942892.20843 -13190913.99042  21913187.229    21913191.197    21913186.108
+      1092.914         851.621          52.000          46.000
+ -14650256.93943 -11381791.96042  22542481.928    22542485.659    22542480.479
+       898.738         700.315          52.000          46.000
+ 04  2  1 15 45 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23975718.14343 -18662248.03842  20275392.578    20275396.546    20275391.234
+     -1798.625       -1401.526          56.000          50.000
+ -12946729.08043 -10020508.52942  22881677.112    22881681.446    22881676.289
+      3110.988        2424.146          49.000          43.000
+ -23594524.59843 -18382112.40142  20927883.618    20927886.207    20927883.219
+      2019.827        1573.891          56.000          49.000
+ -14350954.79643 -11142558.95642  22917822.367    22917828.080    22917820.939
+     -3241.560       -2525.891          48.000          42.000
+ -25973468.02344 -20226750.70342  20353287.520    20353290.729    20353286.227
+      -315.790        -246.070          58.000          51.000
+ -14121175.95243 -10968424.93942  22627260.774    22627266.192    22627259.248
+     -3096.457       -2412.824          50.000          44.000
+ -16975657.60643 -13216445.45342  21906952.665    21906956.465    21906951.136
+      1090.624         849.837          52.000          47.000
+ -14677016.75543 -11402643.72642  22537389.475    22537393.813    22537387.214
+       884.528         689.242          51.000          45.000
+ 04  2  1 15 46  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23921504.41244 -18620003.59542  20285709.469    20285713.223    20285708.170
+     -1815.061       -1414.333          57.000          50.000
+ -13039913.27043 -10093119.54742  22863943.551    22863948.435    22863943.271
+      3101.876        2417.046          49.000          42.000
+ -23654994.20543 -18429231.56842  20916376.201    20916379.748    20916375.923
+      2011.927        1567.735          56.000          50.000
+ -14253661.76643 -11066746.24442  22936337.806    22936342.555    22936336.561
+     -3244.170       -2527.925          48.000          42.000
+ -25963765.55644 -20219190.35242  20355133.952    20355137.404    20355132.736
+      -330.455        -257.497          58.000          51.000
+ -14028185.12043 -10895964.57542  22644956.441    22644960.847    22644955.844
+     -3102.535       -2417.560          50.000          44.000
+ -17008334.33343 -13241907.81942  21900734.249    21900738.453    21900733.094
+      1088.418         848.118          53.000          47.000
+ -14703333.03343 -11423149.88542  22532381.839    22532385.471    22532379.887
+       870.459         678.280          52.000          45.000
+ 04  2  1 15 46 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23866775.06943 -18577357.37342  20296123.992    20296127.921    20296122.447
+     -1832.499       -1427.921          56.000          50.000
+ -13132796.79043 -10165496.23142  22846269.651    22846271.220    22846267.194
+      3091.472        2408.939          49.000          42.000
+ -23715200.12243 -18476145.25842  20904919.681    20904922.710    20904919.097
+      2002.893        1560.696          56.000          50.000
+ -14156271.19243 -10990857.52842  22954870.715    22954875.684    22954869.376
+     -3247.405       -2530.445          49.000          42.000
+ -25953599.66944 -20211268.88342  20357068.829    20357071.567    20357067.286
+      -346.153        -269.730          58.000          51.000
+ -13934989.05743 -10823344.30842  22662691.096    22662695.895    22662690.096
+     -3109.488       -2422.978          50.000          43.000
+ -17040923.75043 -13267302.15742  21894531.927    21894536.781    21894531.471
+      1085.337         845.717          52.000          46.000
+ -14729204.57443 -11443309.48742  22527457.255    22527462.190    22527456.022
+       855.366         666.519          51.000          45.000
+ 04  2  1 15 47  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23811527.12644 -18534307.04842  20306637.701    20306640.987    20306636.100
+     -1849.851       -1441.442          57.000          50.000
+ -13225371.72643 -10237632.49342  22828652.844    22828654.441    22828651.240
+      3081.170        2400.912          48.000          42.000
+ -23775133.99543 -18522846.96542  20893514.511    20893517.980    20893514.072
+      1993.723        1553.550          56.000          50.000
+ -14058780.37343 -10914890.67742  22973422.271    22973426.295    22973420.834
+     -3250.859       -2533.137          49.000          42.000
+ -25942963.42444 -20202980.90842  20359092.599    20359095.691    20359091.219
+      -361.967        -282.052          58.000          51.000
+ -13841584.76943 -10750561.75442  22680465.087    22680468.949    22680464.054
+     -3116.476       -2428.423          49.000          43.000
+ -17073420.58643 -13292624.36242  21888349.319    21888353.129    21888347.759
+      1082.183         843.259          53.000          47.000
+ -14754623.89843 -11463116.72442  22522619.959    22522624.874    22522618.697
+       840.144         654.658          50.000          45.000
+ 04  2  1 15 47 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23755772.31444 -18490861.76042  20317247.232    20317250.663    20317245.868
+     -1866.611       -1454.502          57.000          50.000
+ -13317645.16843 -10309533.82442  22811094.647    22811096.179    22811092.405
+      3071.281        2393.206          49.000          42.000
+ -23834802.35943 -18569341.78442  20882159.372    20882163.487    20882159.167
+      1984.887        1546.665          56.000          50.000
+ -13961201.11943 -10838854.91442  22991992.667    22991995.336    22991991.312
+     -3253.806       -2535.433          50.000          42.000
+ -25931865.17744 -20194332.92842  20361204.066    20361207.467    20361202.951
+      -377.286        -293.989          58.000          51.000
+ -13747983.65143 -10677625.84442  22698276.330    22698281.367    22698276.050
+     -3122.923       -2433.446          49.000          43.000
+ -17105833.95643 -13317881.52742  21882180.312    21882184.340    21882179.282
+      1079.392         841.085          52.000          47.000
+ -14779597.82243 -11482576.90842  22517867.557    22517873.075    22517866.590
+       825.524         643.265          50.000          45.000
+ 04  2  1 15 48  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23699509.25643 -18447020.43742  20327953.226    20327957.405    20327952.297
+     -1884.431       -1468.388          56.000          50.000
+ -13409611.10143 -10381195.54442  22793593.434    22793595.367    22793592.147
+      3059.708        2384.188          50.000          42.000
+ -23894198.81543 -18615624.72342  20870857.435    20870860.421    20870856.756
+      1974.822        1538.822          56.000          50.000
+ -13863532.21543 -10762749.30742  23010577.279    23010582.479    23010577.101
+     -3257.544       -2538.346          49.000          42.000
+ -25920299.50844 -20185320.73042  20363405.360    20363408.388    20363403.899
+      -393.811        -306.866          58.000          51.000
+ -13654184.18143 -10604535.37042  22716125.131    22716130.064    22716125.409
+     -3130.528       -2439.372          49.000          43.000
+ -17138160.00143 -13343070.66242  21876028.677    21876032.708    21876028.754
+      1075.596         838.127          53.000          47.000
+ -14804120.07343 -11501685.14342  22513202.183    22513205.940    22513200.488
+       809.325         630.643          51.000          45.000
+ 04  2  1 15 48 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23642742.14943 -18402786.34742  20338756.078    20338760.205    20338754.777
+     -1899.929       -1480.464          56.000          50.000
+ -13501269.48143 -10452617.60542  22776151.596    22776153.801    22776151.180
+      3050.581        2377.076          49.000          42.000
+ -23953322.51143 -18661695.12742  20859606.094    20859609.676    20859605.777
+      1966.831        1532.595          56.000          50.000
+ -13765778.60643 -10686577.70242  23029179.539    23029182.182    23029178.022
+     -3259.183       -2539.623          49.000          42.000
+ -25908267.70744 -20175945.31042  20365695.104    20365697.980    20365693.685
+      -408.135        -318.027          58.000          51.000
+ -13560191.39343 -10531294.24042  22734012.750    22734018.484    22734010.292
+     -3135.568       -2443.300          49.000          43.000
+ -17170400.99743 -13368193.51242  21869892.589    21869897.211    21869892.393
+      1074.021         836.899          52.000          47.000
+ -14828190.83843 -11520441.57042  22508620.750    22508625.608    22508620.309
+       795.591         619.941          51.000          45.000
+ 04  2  1 15 49  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23585466.38643 -18358155.89342  20349655.096    20349659.395    20349654.013
+     -1917.112       -1493.853          56.000          50.000
+ -13592611.11743 -10523792.86342  22758769.716    22758773.510    22758768.083
+      3039.926        2368.773          49.000          42.000
+ -24012163.92044 -18707545.58442  20848409.286    20848412.516    20848408.475
+      1957.091        1525.006          57.000          50.000
+ -13667935.82443 -10610336.59042  23047798.411    23047802.731    23047796.878
+     -3262.527       -2542.229          50.000          42.000
+ -25895761.90244 -20166200.53642  20368074.908    20368077.915    20368073.454
+      -424.269        -330.599          58.000          51.000
+ -13466000.33243 -10457898.63342  22751936.750    22751941.641    22751935.599
+     -3142.527       -2448.722          49.000          43.000
+ -17202550.01143 -13393244.67942  21863775.788    21863780.133    21863775.238
+      1070.612         834.243          53.000          47.000
+ -14851800.95743 -11538839.05042  22504129.123    22504132.746    22504127.642
+       779.799         607.636          52.000          45.000
+ 04  2  1 15 49 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23527695.96343 -18313139.99542  20360648.409    20360652.745    20360647.129
+     -1934.431       -1507.349          56.000          50.000
+ -13683645.14443 -10594728.40342  22741446.037    22741448.088    22741444.977
+      3028.823        2360.122          49.000          42.000
+ -24070731.58543 -18753182.72942  20837263.785    20837267.482    20837263.297
+      1947.085        1517.209          56.000          50.000
+ -13570017.95443 -10534036.97842  23066431.298    23066435.735    23066430.556
+     -3265.813       -2544.789          49.000          42.000
+ -25882791.88644 -20156094.04042  20370542.735    20370546.077    20370541.604
+      -440.622        -343.342          58.000          51.000
+ -13371624.62143 -10384359.14742  22769895.806    22769900.007    22769894.438
+     -3149.225       -2453.941          49.000          43.000
+ -17234618.57943 -13418233.16042  21857673.371    21857677.303    21857672.504
+      1067.124         831.525          53.000          47.000
+ -14874959.71443 -11556884.80042  22499721.979    22499725.286    22499720.228
+       763.905         595.251          51.000          45.000
+ 04  2  1 15 50  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23469426.91043 -18267735.54542  20371736.935    20371740.623    20371735.557
+     -1950.745       -1520.061          56.000          50.000
+ -13774362.95043 -10665417.56542  22724182.879    22724185.350    22724181.780
+      3018.615        2352.168          49.000          42.000
+ -24129016.36044 -18798599.43242  20826173.048    20826175.923    20826172.522
+      1938.012        1510.139          57.000          50.000
+ -13472021.14943 -10457675.85042  23085079.010    23085084.936    23085077.432
+     -3267.893       -2546.410          49.000          42.000
+ -25869350.15144 -20145619.97242  20373100.612    20373103.766    20373099.324
+      -455.999        -355.324          58.000          51.000
+ -13277060.56743 -10310672.88842  22787890.774    22787895.009    22787890.690
+     -3155.444       -2458.787          50.000          43.000
+ -17266600.17343 -13443153.85942  21851587.949    21851591.215    21851586.279
+      1064.581         829.544          53.000          47.000
+ -14897658.13043 -11574571.86442  22495402.273    22495405.262    22495400.723
+       748.640         583.356          51.000          45.000
+ 04  2  1 15 50 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23410660.83643 -18221943.80842  20382919.749    20382923.506    20382918.229
+     -1967.334       -1532.987          56.000          50.000
+ -13864761.69843 -10735858.10442  22706980.378    22706984.069    22706978.366
+      3007.622        2343.602          49.000          43.000
+ -24187014.93944 -18843793.13742  20815136.700    20815139.066    20815135.864
+      1928.261        1502.541          57.000          50.000
+ -13373947.49843 -10381254.85542  23103741.548    23103746.425    23103739.760
+     -3270.675       -2548.578          49.000          42.000
+ -25855434.94344 -20134776.96242  20375748.788    20375751.747    20375747.347
+      -472.051        -367.832          58.000          51.000
+ -13182309.62143 -10236841.00342  22805921.192    22805925.733    22805920.055
+     -3161.679       -2463.646          50.000          43.000
+ -17298494.35843 -13468006.45242  21845518.551    21845522.139    21845517.499
+      1061.412         827.074          53.000          47.000
+ -14919893.87643 -11591898.40342  22491170.420    22491175.590    22491169.533
+       733.231         571.349          51.000          45.000
+ 04  2  1 15 51  0.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23351405.83343 -18175771.09442  20394195.156    20394199.603    20394194.165
+     -1983.540       -1545.615          56.000          50.000
+ -13954844.83843 -10806052.69942  22689837.699    22689840.952    22689836.739
+      2997.012        2335.334          50.000          43.000
+ -24244729.97744 -18888765.90142  20804153.970    20804156.258    20804153.289
+      1918.813        1495.179          57.000          50.000
+ -13275805.22943 -10304780.38442  23122417.770    23122419.657    23122417.666
+     -3272.711       -2550.164          49.000          42.000
+ -25841050.77344 -20123568.52442  20378486.197    20378489.041    20378484.672
+      -487.523        -379.888          58.000          51.000
+ -13087379.87343 -10162869.79642  22823986.499    22823989.345    22823985.801
+     -3167.487       -2468.172          50.000          43.000
+ -17330306.69643 -13492795.27742  21839464.829    21839468.396    21839464.114
+      1058.784         825.026          53.000          47.000
+ -14941670.23443 -11608866.99342  22487026.711    22487030.621    22487025.374
+       717.905         559.406          51.000          45.000
+ 04  2  1 15 51 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -23291664.23543 -18129219.20142  20405563.941    20405567.555    20405562.664
+     -1999.785       -1558.274          56.000          50.000
+ -14044610.09343 -10875999.60642  22672756.861    22672759.536    22672756.640
+      2986.121        2326.848          50.000          43.000
+ -24302158.57444 -18933515.46342  20793225.270    20793228.091    20793224.775
+      1909.060        1487.579          57.000          50.000
+ -13177596.90943 -10228254.43742  23141106.885    23141110.561    23141106.078
+     -3275.187       -2552.094          49.000          42.000
+ -25826196.51844 -20111993.79042  20381312.603    20381315.860    20381311.365
+      -503.413        -392.270          58.000          51.000
+ -12992273.02243 -10088760.58442  22842083.818    22842088.395    22842082.835
+     -3173.760       -2473.060          50.000          43.000
+ -17362036.92843 -13517520.11642  21833426.746    21833430.247    21833425.950
+      1055.945         822.814          53.000          47.000
+ -14962984.98043 -11625475.86542  22482971.261    22482975.687    22482969.135
+       702.419         547.339          51.000          45.000
+ 04  2  1 15 52  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -23231432.15243 -18082285.11942  20417025.503    20417029.604    20417024.042
+     -2016.003       -1570.911          56.000          50.000
+ -14134048.72343 -10945692.00442  22655737.572    22655739.821    22655736.469
+      2975.842        2318.838          50.000          43.000
+                                  24773161.345
+      2065.041        1609.123          42.000
+ -24359291.86544 -18978034.91742  20782353.512    20782356.229    20782352.652
+      1899.420        1480.068          57.000          50.000
+ -13079319.03843 -10151674.30642  23159808.108    23159812.804    23159806.969
+     -3277.036       -2553.534          49.000          42.000
+ -25810864.52744 -20100046.79642  20384230.122    20384233.695    20384229.119
+      -519.084        -404.481          58.000          51.000
+ -12896985.13443 -10014510.30642  22860217.238    22860220.992    22860216.458
+     -3179.400       -2477.454          50.000          43.000
+ -17393678.77243 -13542176.07042  21827405.576    21827408.664    21827404.562
+      1053.232         820.700          53.000          47.000
+ -14983829.54943 -11641718.38342  22479003.727    22479008.243    22479002.760
+       686.975         535.305          51.000          45.000
+ 04  2  1 15 52 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -23170721.01243 -18034977.73442  20428578.347    20428582.756    20428577.266
+     -2032.006       -1583.381          56.000          50.000
+ -14223167.80343 -11015135.38442  22638778.565    22638781.050    22638776.732
+      2965.130        2310.491          49.000          43.000
+                                  24761408.908
+      2051.387        1598.483          43.000
+ -24416135.81044 -19022328.91242  20771536.014    20771539.141    20771535.383
+      1889.692        1472.487          57.000          50.000
+ -12980982.80843 -10075048.70142  23178521.122    23178526.094    23178519.414
+     -3278.919       -2555.002          48.000          42.000
+ -25795062.60544 -20087733.61842  20387237.254    20387240.329    20387235.923
+      -534.805        -416.731          58.000          51.000
+ -12801527.87743  -9940128.05042  22878381.634    22878386.511    22878380.236
+     -3184.927       -2481.761          50.000          43.000
+ -17425241.20243 -13566770.16542  21821399.290    21821402.786    21821398.473
+      1050.562         818.620          53.000          47.000
+ -15004210.79343 -11657599.86442  22475126.167    22475129.965    22475124.594
+       671.408         523.175          51.000          45.000
+ 04  2  1 15 53  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -23109525.44143 -17987292.87442  20440223.774    20440227.918    20440222.368
+     -2047.899       -1595.765          56.000          50.000
+ -14311957.46343 -11084322.07342  22621881.655    22621885.224    22621880.189
+      2954.198        2301.972          49.000          43.000
+   -770278.17653   -434782.75952  24749733.876    24749742.503    24749734.910
+      2036.255        1586.692          41.000          36.000
+ -24472680.08344 -19066389.38742  20760775.781    20760779.027    20760775.365
+      1879.746        1464.737          57.000          50.000
+ -12882583.15343  -9998373.67242  23197245.823    23197249.690    23197244.198
+     -3281.084       -2556.689          48.000          41.000
+ -25778782.25044 -20075047.63942  20390335.183    20390338.140    20390334.073
+      -550.681        -429.102          58.000          51.000
+ -12705895.28843  -9865609.18242  22896580.298    22896584.689    22896578.636
+     -3190.724       -2486.278          50.000          43.000
+ -17456716.57943 -13591296.41342  21815410.164    21815413.289    21815408.734
+      1047.752         816.430          53.000          47.000
+ -15024119.02743 -11673112.76842  22471337.464    22471340.992    22471336.010
+       655.703         510.937          51.000          45.000
+ 04  2  1 15 53 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -23047855.22843 -17939238.16242  20451959.111    20451963.070    20451957.907
+     -2063.573       -1607.979          56.000          50.000
+ -14400422.72843 -11153256.00542  22605046.929    22605050.647    22605045.038
+      2943.386        2293.548          49.000          43.000
+   -831178.01243   -482237.15742  24738147.677    24738150.204    24738148.646
+      2022.634        1576.078          42.000          35.000
+ -24528928.84344 -19110219.59742  20750072.048    20750075.068    20750071.656
+      1869.998        1457.141          57.000          50.000
+ -12784129.77243  -9921656.79242  23215979.987    23215985.411    23215980.190
+     -3282.598       -2557.868          47.000          41.000
+ -25762029.58844 -20061993.63242  20393523.167    20393526.203    20393521.769
+      -566.371        -441.328          58.000          51.000
+ -12610097.16443  -9790961.35842  22914810.098    22914813.889    22914807.901
+     -3196.038       -2490.419          50.000          43.000
+ -17488111.89943 -13615760.29842  21809435.676    21809439.254    21809434.706
+      1045.067         814.338          53.000          47.000
+ -15043559.15743 -11688260.92342  22467638.066    22467641.646    22467636.647
+       640.222         498.874          51.000          45.000
+ 04  2  1 15 54  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22985711.32643 -17890814.33742  20463784.351    20463788.249    20463783.156
+     -2079.320       -1620.249          56.000          50.000
+ -14488559.61943 -11221934.05342  22588276.064    22588278.556    22588273.924
+      2932.285        2284.897          49.000          43.000
+   -891641.64543   -529351.66042  24726642.192    24726646.572    24726641.922
+      2008.417        1565.000          42.000          36.000
+ -24584877.78844 -19153816.18042  20739425.516    20739428.759    20739424.786
+      1859.865        1449.245          57.000          50.000
+ -12685623.74143  -9844898.87342  23234726.405    23234730.955    23234725.119
+     -3284.135       -2559.066          47.000          41.000
+ -25744801.97444 -20048569.52742  20396801.456    20396804.774    20396800.028
+      -582.121        -453.601          58.000          51.000
+ -12514133.92043  -9716184.82742  22933071.040    22933074.711    22933069.362
+     -3201.425       -2494.617          50.000          43.000
+ -17519425.53943 -13640160.52442  21803476.725    21803480.042    21803475.975
+      1042.461         812.307          53.000          47.000
+ -15062527.73143 -11703041.64642  22464028.805    22464032.549    22464027.045
+       624.466         486.597          51.000          45.000
+ 04  2  1 15 54 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22923095.77243 -17842022.98042  20475700.171    20475704.282    20475698.858
+     -2095.397       -1632.777          56.000          50.000
+ -14576365.84243 -11290354.43642  22571567.204    22571570.193    22571565.112
+      2920.993        2276.098          50.000          43.000
+   -951667.34243   -576124.96442  24715218.074    24715220.790    24715218.461
+      1993.088        1553.056          41.000          35.000
+ -24640524.07744 -19197176.92942  20728836.442    20728839.558    20728835.448
+      1849.466        1441.142          57.000          50.000
+ -12587067.44043  -9768101.77142  23253480.769    23253485.586    23253480.332
+     -3286.566       -2560.960          46.000          41.000
+ -25727097.75544 -20034774.04442  20400171.109    20400173.877    20400169.546
+      -598.440        -466.317          58.000          51.000
+ -12418007.63843  -9641281.26842  22951363.394    22951369.617    22951361.224
+     -3207.220       -2499.132          49.000          43.000
+ -17550657.10343 -13664496.79242  21797533.777    21797536.729    21797532.794
+      1039.334         809.871          53.000          47.000
+ -15081022.69043 -11717453.27642  22460509.220    22460513.506    22460507.304
+       608.261         473.970          51.000          45.000
+ 04  2  1 15 55  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22860011.01843 -17792866.00942  20487705.053    20487708.450    20487702.976
+     -2110.469       -1644.521          56.000          50.000
+ -14663839.18443 -11358515.44042  22554920.003    22554924.647    22554919.775
+      2910.372        2267.822          49.000          43.000
+  -1011253.08443   -622555.41342  24703877.177    24703881.041    24703878.603
+      1979.346        1542.348          41.000          35.000
+ -24695864.53044 -19240299.36042  20718305.276    20718308.613    20718304.836
+      1839.704        1433.536          57.000          50.000
+ -12488463.30543  -9691267.40542  23272243.957    23272249.284    23272244.440
+     -3287.587       -2561.756          46.000          40.000
+ -25708916.40844 -20020606.77442  20403630.070    20403633.583    20403629.080
+      -613.789        -478.277          58.000          51.000
+ -12321720.45943  -9566252.37842  22969686.495    22969690.496    22969685.242
+     -3212.002       -2502.859          49.000          42.000
+ -17581806.46143 -13688768.99742  21791606.382    21791609.053    21791605.376
+      1037.062         808.100          53.000          47.000
+ -15099041.73843 -11731494.10842  22457079.781    22457083.607    22457078.288
+       592.899         461.999          51.000          45.000
+ 04  2  1 15 55 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22796459.91643 -17743345.64142  20499797.968    20499802.054    20499796.797
+     -2125.902       -1656.547          56.000          50.000
+ -14750978.02743 -11426415.78042  22538339.313    22538342.338    22538337.377
+      2899.203        2259.119          50.000          43.000
+  -1070397.06543   -668641.66042  24692625.279    24692627.761    24692626.076
+      1964.453        1530.743          44.000          35.000
+ -24750897.01244 -19283181.81142  20707832.776    20707836.125    20707832.471
+      1829.473        1425.563          57.000          50.000
+ -12389814.35143  -9614398.13942  23291016.967    23291022.010    23291016.127
+     -3288.717       -2562.637          47.000          41.000
+ -25690257.08344 -20006067.05442  20407180.882    20407184.085    20407179.648
+      -629.690        -490.667          58.000          51.000
+ -12225275.17643  -9491100.23742  22988038.907    22988042.966    22988037.975
+     -3217.327       -2507.008          49.000          42.000
+ -17612874.05143 -13712977.50642  21785693.819    21785697.785    21785693.577
+      1034.622         806.199          53.000          47.000
+ -15116583.19143 -11745162.74442  22453742.634    22453746.442    22453741.399
+       577.010         449.618          51.000          45.000
+ 04  2  1 15 56  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22732447.13643 -17693465.52742  20511979.895    20511983.238    20511978.532
+     -2141.634       -1668.806          56.000          50.000
+ -14837782.58843 -11494055.66642  22521820.772    22521823.433    22521819.551
+      2887.841        2250.266          51.000          44.000
+  -1129099.82043   -714384.14642  24681455.226    24681455.254    24681453.808
+      1949.289        1518.926          45.000          35.000
+ -24805620.83344 -19325823.75142  20697419.535    20697422.583    20697418.717
+      1818.741        1417.201          57.000          50.000
+ -12291125.22143  -9537497.56742  23309796.050    23309801.766    23309795.216
+     -3290.485       -2564.014          46.000          41.000
+ -25671120.64344 -19991155.55742  20410822.752    20410825.684    20410821.399
+      -646.107        -503.460          58.000          51.000
+ -12128675.78643  -9415828.02242  23006421.522    23006425.046    23006420.509
+     -3222.741       -2511.227          49.000          42.000
+ -17643861.85343 -13737123.83142  21779797.709    21779799.883    21779795.869
+      1031.446         803.724          53.000          47.000
+ -15133647.18743 -11758459.36242  22450494.175    22450498.484    22450492.851
+       560.535         436.781          51.000          45.000
+ 04  2  1 15 56 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22667972.54243 -17643225.55642  20524248.383    20524251.991    20524247.116
+     -2156.659       -1680.513          56.000          50.000
+ -14924247.64343 -11561430.99542  22505366.760    22505370.317    22505365.817
+      2876.769        2241.638          51.000          44.000
+  -1187356.53343   -759779.00542  24670368.534    24670372.523    24670368.750
+      1934.656        1507.524          44.000          36.000
+ -24860030.33244 -19368220.76542  20687065.734    20687068.728    20687064.925
+      1808.519        1409.236          57.000          50.000
+ -12192395.67443  -9460565.49542  23328583.977    23328588.470    23328583.679
+     -3291.443       -2564.761          47.000          41.000
+ -25651503.76244 -19975869.68942  20414555.408    20414558.666    20414554.216
+      -661.730        -515.634          58.000          51.000
+ -12031921.90043  -9340435.43542  23024833.044    23024835.838    23024831.566
+     -3227.731       -2515.115          49.000          42.000
+ -17674766.94343 -13761205.72242  21773914.963    21773919.264    21773914.816
+      1029.024         801.837          53.000          47.000
+ -15150229.18743 -11771380.37742  22447340.035    22447342.959    22447338.196
+       544.966         424.649          51.000          45.000
+ 04  2  1 15 57  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22603044.84643 -17592632.50342  20536603.459    20536607.356    20536602.380
+     -2171.721       -1692.250          56.000          50.000
+ -15010377.57943 -11628545.18742  22488978.215    22488979.826    22488976.480
+      2865.438        2232.809          51.000          44.000
+  -1245171.49343   -804829.69742  24659368.416    24659368.879    24659366.073
+      1919.611        1495.801          46.000          37.000
+ -24914129.14444 -19410375.67842  20676770.883    20676773.884    20676770.290
+      1798.096        1401.114          57.000          50.000
+ -12093634.63443  -9383608.87942  23347377.093    23347382.878    23347376.446
+     -3292.378       -2565.489          47.000          41.000
+ -25631411.59744 -19960213.46842  20418378.948    20418382.188    20418377.631
+      -677.614        -528.011          58.000          51.000
+ -11935022.23243  -9264929.25942  23043272.568    23043277.647    23043271.673
+     -3232.071       -2518.497          49.000          41.000
+ -17705595.58843 -13785228.03442  21768049.600    21768052.707    21768048.511
+      1026.457         799.837          53.000          47.000
+ -15166333.49643 -11783929.18942  22444274.896    22444278.932    22444273.592
+       529.066         412.259          52.000          46.000
+ 04  2  1 15 57 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22537658.07343 -17541681.72542  20549046.706    20549050.238    20549045.400
+     -2186.446       -1703.724          56.000          50.000
+ -15096161.92743 -11695390.09142  22472653.335    22472655.727    22472651.625
+      2854.425        2224.227          51.000          44.000
+  -1302534.49343   -849528.18942  24648452.313    24648454.032    24648451.188
+      1905.117        1484.507          46.000          38.000
+ -24967906.04444 -19452279.76142  20666537.411    20666540.767    20666536.889
+      1787.929        1393.191          57.000          50.000
+ -11994836.08543  -9306623.03142  23366179.140    23366183.386    23366177.413
+     -3293.170       -2566.106          48.000          42.000
+ -25610834.92644 -19944179.71242  20422294.506    20422297.589    20422293.120
+      -693.178        -540.139          58.000          51.000
+ -11837970.50243  -9189304.60842  23061740.522    23061745.317    23061740.061
+     -3237.030       -2522.361          48.000          41.000
+ -17736339.22943 -13809184.11642  21762198.832    21762202.814    21762197.902
+      1024.214         798.089          53.000          47.000
+ -15181949.86843 -11796097.78242  22441303.546    22441307.155    22441301.792
+       513.141         399.850          52.000          46.000
+ 04  2  1 15 58  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22471825.62643 -17490383.67142  20561573.397    20561577.716    20561572.205
+     -2201.865       -1715.739          56.000          50.000
+ -15181609.15443 -11761972.29842  22456392.870    22456395.298    22456391.124
+      2842.536        2214.963          51.000          44.000
+  -1359453.89143   -893880.97942  24637620.605    24637622.776    24637619.664
+      1890.075        1472.786          47.000          38.000
+ -25021368.80744 -19493939.05442  20656364.098    20656366.860    20656363.523
+      1776.942        1384.630          57.000          50.000
+ -11896013.07043  -9229618.11642  23384984.103    23384988.219    23384982.471
+     -3294.362       -2567.035          48.000          41.000
+ -25589783.68044 -19927776.16042  20426300.920    20426303.868    20426299.464
+      -709.538        -552.887          58.000          51.000
+ -11740779.25043  -9113571.21942  23080234.786    23080240.069    23080234.541
+     -3241.724       -2526.019          48.000          41.000
+ -17767008.24643 -13833082.04142  21756363.512    21756366.673    21756362.791
+      1021.234         795.767          53.000          47.000
+ -15197086.80443 -11807892.78242  22438422.833    22438426.417    22438420.774
+       496.668         387.014          52.000          45.000
+ 04  2  1 15 58 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22405541.86843 -17438733.95642  20574186.659    20574190.804    20574185.538
+     -2216.675       -1727.279          56.000          50.000
+ -15266709.31843 -11828284.06642  22440198.361    22440200.207    22440197.047
+      2831.355        2206.251          51.000          44.000
+  -1415919.96943   -937880.57042  24626877.024    24626877.916    24626875.200
+      1875.073        1461.096          47.000          38.000
+ -25074506.62444 -19535345.15142  20646252.413    20646255.001    20646251.753
+      1765.986        1376.093          57.000          50.000
+ -11797159.87643  -9152589.68342  23403795.197    23403798.277    23403794.267
+     -3295.265       -2567.739          48.000          41.000
+ -25568248.76544 -19910995.73042  20430398.674    20430402.003    20430397.468
+      -725.648        -565.440          58.000          51.000
+ -11643442.75843  -9037724.65742  23098757.980    23098762.282    23098754.873
+     -3246.470       -2529.717          48.000          41.000
+ -17797594.55043 -13856915.51342  21750542.219    21750546.702    21750541.342
+      1018.510         793.644          53.000          47.000
+ -15211734.35743 -11819306.46642  22435636.466    22435639.789    22435634.122
+       480.356         374.303          52.000          46.000
+ 04  2  1 15 59  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22338812.69443 -17386737.15342  20586885.355    20586888.967    20586884.192
+     -2231.568       -1738.884          56.000          50.000
+ -15351463.64543 -11894326.35142  22424070.194    22424073.196    22424068.366
+      2819.684        2197.156          50.000          44.000
+  -1471934.25843   -981528.11342  24616215.682    24616219.002    24616215.444
+      1859.921        1449.289          46.000          38.000
+ -25127320.02244 -19576498.44742  20636202.521    20636205.180    20636201.484
+      1755.208        1367.695          57.000          50.000
+ -11698282.59043  -9075542.48842  23422611.443    23422615.769    23422609.999
+     -3296.071       -2568.367          48.000          41.000
+ -25546232.51244 -19893840.21942  20434588.144    20434591.708    20434586.715
+      -741.730        -577.971          58.000          51.000
+ -11545966.51243  -8961769.20042  23117306.748    23117312.448    23117305.267
+     -3251.881       -2533.933          47.000          41.000
+ -17828101.48243 -13880687.14242  21744738.152    21744740.998    21744736.569
+      1015.763         791.504          53.000          47.000
+ -15225894.29743 -11830340.17742  22432940.492    22432944.648    22432939.202
+       463.937         361.509          51.000          45.000
+ 04  2  1 15 59 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22271642.65143 -17334396.82442  20599666.915    20599670.921    20599665.703
+     -2246.515       -1750.531          55.000          50.000
+ -15435872.01743 -11960099.06742  22408007.763    22408011.182    22408006.832
+      2807.836        2187.924          50.000          44.000
+  -1527496.91643  -1024823.70842  24605642.809    24605646.858    24605643.513
+      1844.720        1437.444          45.000          37.000
+ -25179808.25444 -19617398.37442  20626213.990    20626217.143    20626213.635
+      1744.143        1359.072          57.000          50.000
+ -11599385.67743  -8998479.99742  23441429.324    23441435.094    23441429.881
+     -3297.001       -2569.092          47.000          42.000
+ -25523735.98744 -19876310.46842  20438869.119    20438872.348    20438867.781
+      -757.974        -590.629          58.000          51.000
+ -11448354.47043  -8885707.94442  23135882.242    23135887.179    23135881.890
+     -3255.814       -2536.998          48.000          41.000
+ -17858530.73443 -13904398.25242  21738947.649    21738950.302    21738946.086
+      1012.974         789.330          54.000          47.000
+ -15239566.36843 -11840993.73742  22430339.287    22430342.921    22430337.798
+       447.655         348.822          51.000          45.000
+ 04  2  1 16  0  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22204034.24943 -17281714.93942  20612532.960    20612536.518    20612531.456
+     -2260.725       -1761.604          56.000          50.000
+ -15519932.42843 -12025600.62942  22392011.537    22392014.375    22392010.418
+      2796.579        2179.152          51.000          44.000
+  -1582606.37843  -1067766.15642  24595156.397    24595160.146    24595155.413
+      1829.722        1425.757          46.000          38.000
+ -25231968.69844 -19658042.88942  20616288.210    20616291.139    20616287.669
+      1733.490        1350.771          57.000          50.000
+ -11500471.77143  -8921404.27142  23460253.504    23460258.840    23460253.618
+     -3297.110       -2569.177          48.000          42.000
+ -25500758.48944 -19858405.94442  20443241.438    20443244.788    20443240.206
+      -773.613        -602.815          57.000          51.000
+ -11350609.25243  -8809542.87042  23154482.245    23154488.320    23154482.413
+     -3259.999       -2540.259          48.000          41.000
+ -17888882.42043 -13928048.91442  21733171.170    21733174.374    21733170.448
+      1010.684         787.546          53.000          47.000
+ -15252749.23643 -11851266.09142  22427830.693    22427834.501    22427828.237
+       431.547         336.270          52.000          45.000
+ 04  2  1 16  0 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22135988.54043 -17228692.30642  20625481.600    20625485.370    20625480.160
+     -2276.201       -1773.663          56.000          50.000
+ -15603641.35843 -12090828.32842  22376081.677    22376085.074    22376081.573
+      2783.797        2169.192          51.000          44.000
+  -1637259.01643  -1110352.62742  24584757.059    24584759.619    24584755.505
+      1813.401        1413.040          46.000          38.000
+ -25283796.67244 -19698428.32942  20606425.599    20606428.788    20606425.328
+      1721.371        1341.328          57.000          50.000
+ -11401541.39243  -8844315.69942  23479079.637    23479083.355    23479078.229
+     -3298.553       -2570.301          48.000          42.000
+ -25477297.64044 -19840124.78842  20447706.176    20447709.305    20447704.811
+      -790.695        -616.126          58.000          51.000
+ -11252730.83543  -8733274.05042  23173108.662    23173114.156    23173107.259
+     -3265.460       -2544.514          48.000          41.000
+ -17919154.48443 -13951637.54042  21727410.456    21727414.153    21727409.974
+      1007.223         784.849          53.000          47.000
+ -15265439.21943 -11861154.39742  22425416.366    22425419.071    22425414.336
+       414.165         322.726          52.000          45.000
+ 04  2  1 16  1  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -22067513.31143 -17175334.97342  20638511.968    20638515.367    20638510.461
+     -2289.574       -1784.084          56.000          49.000
+ -15687001.91743 -12155784.57142  22360219.322    22360223.218    22360217.545
+      2772.862        2160.672          51.000          44.000
+  -1691458.50743  -1152586.00342  24574442.489    24574445.244    24574441.496
+      1799.406        1402.134          46.000          37.000
+ -25335294.79444 -19738556.73942  20596626.100    20596629.079    20596625.470
+      1711.118        1333.339          57.000          50.000
+ -11302602.58643  -8767220.56842  23497906.195    23497910.480    23497905.358
+     -3297.929       -2569.815          47.000          41.000
+ -25453357.77744 -19821470.36942  20452261.609    20452264.743    20452260.350
+      -805.937        -628.003          58.000          51.000
+ -11154727.01443  -8656907.51242  23191758.603    23191763.735    23191757.066
+     -3268.779       -2547.100          49.000          41.000
+ -17949352.08043 -13975168.13442  21721664.941    21721667.823    21721663.341
+      1005.483         783.493          54.000          47.000
+ -15277639.90243 -11870661.40142  22423093.979    22423098.247    22423092.693
+       398.666         310.649          52.000          46.000
+ 04  2  1 16  1 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21998603.55143 -17121639.04042  20651625.728    20651628.480    20651623.756
+     -2304.554       -1795.756          56.000          50.000
+ -15770004.59243 -12220461.94242  22344424.334    22344428.043    22344423.471
+      2760.371        2150.938          51.000          44.000
+  -1745195.30643  -1194458.83442  24564217.625    24564220.530    24564216.777
+      1783.102        1389.430          46.000          38.000
+ -25386452.75444 -19778420.08842  20586890.917    20586893.877    20586890.303
+      1699.235        1324.079          57.000          50.000
+ -11203650.10943  -8690114.78242  23516736.327    23516740.290    23516735.622
+     -3298.864       -2570.543          47.000          41.000
+ -25428930.80744 -19802436.38942  20456909.903    20456913.325    20456908.631
+      -822.678        -641.048          57.000          51.000
+ -11056592.27943  -8580438.92042  23210433.562    23210436.977    23210431.476
+     -3273.934       -2551.117          49.000          41.000
+ -17979467.55143 -13998634.73942  21715933.023    21715936.960    21715932.287
+      1002.114         780.868          53.000          47.000
+ -15289341.89443 -11879779.80142  22420867.881    22420870.683    22420866.169
+       381.402         297.196          52.000          46.000
+ 04  2  1 16  2  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21929271.30043 -17067613.90342  20664818.351    20664822.595    20664817.203
+     -2318.341       -1806.499          55.000          49.000
+ -15852656.97343 -12284866.35842  22328696.030    22328698.478    22328695.102
+      2748.982        2142.064          51.000          44.000
+  -1798477.09243  -1235977.09842  24554076.192    24554080.206    24554076.895
+      1767.768        1377.482          44.000          38.000
+ -25437277.03444 -19818023.42842  20577219.136    20577222.375    20577218.864
+      1688.083        1315.389          57.000          50.000
+ -11104695.58943  -8613007.39942  23535566.485    23535570.933    23535565.774
+     -3298.950       -2570.610          46.000          40.000
+ -25404025.02044 -19783029.30042  20461649.692    20461652.679    20461648.294
+      -838.570        -653.431          58.000          51.000
+ -10958337.75043  -8503877.01842  23229130.232    23229134.825    23229128.988
+     -3277.537       -2553.925          50.000          41.000
+ -18009509.93343 -14022044.39142  21710215.814    21710220.202    21710215.657
+       999.860         779.112          53.000          47.000
+ -15300552.80343 -11888515.55142  22418734.387    22418738.427    22418732.545
+       365.074         284.473          52.000          46.000
+ 04  2  1 16  2 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21859512.88243 -17013256.67742  20678093.010    20678096.767    20678091.529
+     -2332.360       -1817.423          55.000          49.000
+ -15934950.63743 -12348991.25242  22313036.322    22313039.979    22313035.409
+      2737.111        2132.814          52.000          44.000
+  -1851295.91343  -1277134.63442  24544027.892    24544030.544    24544027.166
+      1753.280        1366.192          45.000          38.000
+ -25487758.68844 -19857359.79142  20567612.876    20567616.097    20567612.466
+      1676.959        1306.721          57.000          50.000
+ -11005735.23743  -8535895.46642  23554398.750    23554402.236    23554397.062
+     -3298.688       -2570.406          47.000          40.000
+ -25378633.69944 -19763243.87242  20466481.029    20466484.737    20466479.845
+      -854.489        -665.835          57.000          51.000
+ -10859959.52743  -8427218.68642  23247851.394    23247854.055    23247850.248
+     -3281.319       -2556.872          50.000          42.000
+ -18039472.78943 -14045392.08242  21704515.422    21704518.286    21704514.279
+       997.426         777.215          54.000          47.000
+ -15311264.45343 -11896862.26042  22416695.086    22416699.484    22416693.985
+       348.692         271.708          52.000          45.000
+ 04  2  1 16  3  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21789332.40143 -16958570.58242  20691447.911    20691451.476    20691446.278
+     -2346.080       -1828.114          55.000          49.000
+ -16016885.46943 -12412836.52742  22297444.136    22297447.055    22297443.120
+      2725.353        2123.652          50.000          44.000
+  -1903651.77043  -1317931.40042  24534063.687    24534067.619    24534062.121
+      1737.784        1354.117          44.000          38.000
+ -25537896.59244 -19896428.29342  20558072.408    20558075.440    20558071.608
+      1665.837        1298.055          57.000          51.000
+ -10906773.11743  -8458782.16942  23573230.820    23573235.338    23573229.098
+     -3298.566       -2570.311          47.000          40.000
+ -25352757.72244 -19743080.79542  20471405.178    20471408.506    20471403.967
+      -870.297        -678.153          57.000          51.000
+ -10761461.46743  -8350467.01042  23266594.404    23266598.691    23266592.262
+     -3284.753       -2559.548          49.000          42.000
+ -18069357.61443 -14068678.97142  21698827.749    21698832.112    21698826.833
+       995.173         775.459          53.000          47.000
+ -15321476.92543 -11904820.01642  22414752.721    22414755.022    22414750.420
+       332.428         259.035          52.000          45.000
+ 04  2  1 16  3 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21718735.49243 -16903560.00542  20704881.775    20704885.917    20704880.589
+     -2359.697       -1838.725          55.000          49.000
+ -16098462.28743 -12476402.82342  22281921.144    22281923.518    22281919.162
+      2713.625        2114.513          51.000          44.000
+  -1955545.80143  -1358368.30542  24524187.283    24524192.858    24524185.835
+      1722.624        1342.304          45.000          38.000
+ -25587690.86544 -19935229.03742  20548597.054    20548599.761    20548596.181
+      1654.467        1289.195          57.000          51.000
+ -10807814.63143  -8381671.70642  23592062.339    23592067.949    23592061.239
+     -3298.333       -2570.130          47.000          40.000
+ -25326398.89344 -19722541.47042  20476421.359    20476424.516    20476420.070
+      -886.301        -690.624          57.000          51.000
+ -10662848.39443  -8273625.68542  23285360.329    23285364.518    23285359.343
+     -3288.689       -2562.615          49.000          42.000
+ -18099167.17443 -14091907.20342  21693155.393    21693159.102    21693154.578
+       992.825         773.630          53.000          47.000
+ -15331191.52943 -11912389.80842  22412903.086    22412907.933    22412902.612
+       315.920         246.171          51.000          45.000
+ 04  2  1 16  4  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21647724.67843 -16848226.89942  20718394.928    20718398.703    20718393.649
+     -2374.025       -1849.890          55.000          49.000
+ -16179679.20343 -12539688.70242  22266465.329    22266468.187    22266464.761
+      2701.240        2104.862          51.000          44.000
+  -2006976.09943  -1398443.87542  24514402.556    24514405.150    24514400.426
+      1706.728        1329.918          47.000          38.000
+ -25637138.88944 -19973759.97642  20539187.167    20539190.182    20539186.825
+      1642.409        1279.799          57.000          50.000
+ -10708862.35043  -8304566.06342  23610892.687    23610896.238    23610890.540
+     -3298.264       -2570.076          47.000          40.000
+ -25299556.96844 -19701625.69842  20481528.885    20481532.191    20481527.599
+      -902.862        -703.529          57.000          51.000
+ -10564122.61443  -8196696.54342  23304147.587    23304150.858    23304146.373
+     -3292.837       -2565.847          49.000          42.000
+ -18128901.25243 -14115076.60142  21687497.490    21687500.722    21687496.479
+       989.783         771.259          54.000          47.000
+ -15340406.69443 -11919570.42742  22411149.933    22411153.952    22411148.035
+       298.807         232.837          52.000          45.000
+ 04  2  1 16  4 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21576299.62643 -16792571.02342  20731986.803    20731990.343    20731985.341
+     -2387.818       -1860.637          56.000          49.000
+ -16260531.55843 -12602690.49842  22251080.400    22251082.584    22251078.207
+      2689.007        2095.330          52.000          44.000
+  -2057937.86843  -1438154.30742  24504703.390    24504708.231    24504703.259
+      1690.746        1317.464          46.000          38.000
+ -25686234.74544 -20012016.50542  20529844.110    20529847.283    20529843.887
+      1630.490        1270.512          57.000          50.000
+ -10609915.36343  -8227464.55342  23629718.407    23629724.869    23629719.989
+     -3298.188       -2570.017          45.000          39.000
+ -25272228.09244 -19680330.48742  20486729.348    20486732.932    20486728.133
+      -919.159        -716.228          57.000          51.000
+ -10465282.78143  -8119678.54142  23322955.791    23322960.139    23322954.598
+     -3296.630       -2568.802          49.000          41.000
+ -18158556.43443 -14138184.53742  21681854.368    21681857.346    21681853.007
+       987.108         769.175          54.000          47.000
+ -15349117.67043 -11926358.17742  22409491.446    22409495.930    22409490.640
+       281.821         219.601          51.000          45.000
+ 04  2  1 16  5  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21504468.34243 -16736598.62742  20745655.870    20745659.664    20745654.557
+     -2401.592       -1871.370          56.000          49.000
+ -16341022.50043 -12665410.67442  22235763.323    22235765.548    22235762.371
+      2676.707        2085.746          52.000          45.000
+  -2108435.43143  -1477503.05042  24495094.016    24495097.278    24495093.406
+      1675.151        1305.312          44.000          37.000
+ -25734981.09544 -20050000.68842  20520568.109    20520571.534    20520567.519
+      1618.495        1261.165          57.000          50.000
+ -10510981.57443  -8150373.33042  23648546.851    23648551.367    23648547.196
+     -3297.885       -2569.780          46.000          40.000
+ -25244417.27444 -19658659.73242  20492021.930    20492025.259    20492020.561
+      -935.578        -729.022          58.000          51.000
+ -10366336.34143  -8042577.46642  23341784.912    23341789.147    23341783.171
+     -3300.385       -2571.728          49.000          41.000
+ -18188137.88843 -14161234.99942  21676225.010    21676228.513    21676224.346
+       984.370         767.042          54.000          47.000
+ -15357328.35143 -11932756.09142  22407929.811    22407933.835    22407928.152
+       264.839         206.368          52.000          46.000
+ 04  2  1 16  5 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21432230.41543 -16680309.34342  20759402.297    20759405.889    20759400.989
+     -2415.265       -1882.025          55.000          49.000
+ -16421147.02343 -12727845.31742  22220515.673    22220518.394    22220514.208
+      2664.287        2076.068          52.000          45.000
+  -2158464.14143  -1516486.43442  24485575.254    24485576.488    24485574.128
+      1659.598        1293.193          44.000          38.000
+ -25783372.29344 -20087708.12542  20511359.792    20511362.969    20511359.301
+      1606.480        1251.803          57.000          50.000
+ -10412060.69243  -8073292.14442  23667370.997    23667378.706    23667369.400
+     -3297.706       -2569.641          46.000          40.000
+ -25216120.95744 -19636610.67142  20497406.511    20497409.816    20497405.032
+      -951.862        -741.711          57.000          51.000
+ -10267282.64143  -7965392.80342  23360633.957    23360638.910    23360633.362
+     -3304.205       -2574.705          48.000          41.000
+ -18217642.55543 -14184225.63942  21670611.005    21670613.446    21670609.961
+       981.614         764.894          54.000          48.000
+ -15365034.05643 -11938760.51142  22406462.966    22406467.161    22406461.992
+       247.846         193.127          51.000          46.000
+ 04  2  1 16  6  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21359590.13043 -16623706.52742  20773225.304    20773228.692    20773224.096
+     -2428.216       -1892.116          55.000          49.000
+ -16500905.42243 -12789994.67042  22205338.408    22205341.854    22205337.337
+      2652.362        2066.776          52.000          45.000
+  -2208023.91043  -1555104.39842  24476143.401    24476147.930    24476142.570
+      1644.143        1281.150          44.000          37.000
+ -25831407.11144 -20125137.85942  20502218.910    20502222.181    20502218.490
+      1595.218        1243.027          57.000          51.000
+ -10313156.56243  -7996224.02542  23686191.328    23686198.193    23686191.486
+     -3296.536       -2568.729          46.000          40.000
+ -25187339.96044 -19614183.94442  20502883.505    20502886.855    20502881.913
+      -967.526        -753.916          58.000          51.000
+ -10168125.38843  -7888127.47442  23379502.295    23379508.167    23379502.591
+     -3306.920       -2576.821          47.000          41.000
+ -18247071.57243 -14207157.32342  21665010.336    21665013.648    21665009.504
+       979.674         763.382          54.000          47.000
+ -15372234.84743 -11944371.51642  22405092.785    22405096.586    22405091.051
+       231.421         180.328          51.000          45.000
+ 04  2  1 16  6 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21286551.44343 -16566793.27342  20787124.246    20787127.982    20787122.827
+     -2441.515       -1902.479          55.000          49.000
+ -16580296.90243 -12851858.13542  22190230.816    22190233.590    22190229.798
+      2639.988        2057.133          52.000          45.000
+  -2257114.67743  -1593356.98542  24466799.597    24466802.945    24466799.615
+      1628.322        1268.822          42.000          36.000
+ -25879084.31544 -20162288.93842  20493146.339    20493149.450    20493145.697
+      1582.894        1233.424          57.000          51.000
+ -10214272.75443  -7919171.72542  23705009.355    23705014.866    23705008.968
+     -3296.011       -2568.320          47.000          40.000
+ -25158074.99244 -19591380.09142  20508451.981    20508455.540    20508450.823
+      -983.797        -766.595          57.000          51.000
+ -10068867.96343  -7810784.03642  23398390.849    23398395.474    23398389.759
+     -3310.499       -2579.610          47.000          41.000
+ -18276426.27643 -14230031.10142  21659424.140    21659428.162    21659423.282
+       976.947         761.257          54.000          48.000
+ -15378930.49743 -11949588.88442  22403818.757    22403822.718    22403817.180
+       214.453         167.106          52.000          46.000
+ 04  2  1 16  7  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21213113.71043 -16509569.07042  20801098.502    20801102.269    20801097.428
+     -2454.697       -1912.751          55.000          49.000
+ -16659315.79743 -12913431.26442  22175194.012    22175196.751    22175191.565
+      2627.651        2047.520          51.000          45.000
+  -2305731.25343  -1631240.01642  24457551.459    24457553.479    24457549.437
+      1612.741        1256.681          45.000          38.000
+ -25926397.55144 -20199156.40142  20484142.911    20484146.028    20484142.337
+      1570.897        1224.076          57.000          51.000
+ -10115408.21243  -7842134.45942  23723822.937    23723826.934    23723821.310
+     -3295.163       -2567.659          47.000          40.000
+ -25128321.88644 -19568195.87342  20514113.802    20514117.641    20514112.773
+     -1000.033        -779.246          57.000          51.000
+  -9969508.71943  -7733361.28042  23417298.574    23417301.849    23417298.113
+     -3313.827       -2582.203          47.000          40.000
+ -18305702.92643 -14252844.06642  21653853.179    21653856.554    21653852.246
+       974.518         759.365          54.000          48.000
+ -15385116.11043 -11954408.82742  22402642.500    22402646.235    22402640.644
+       197.619         153.989          52.000          46.000
+ 04  2  1 16  7 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21139285.37743 -16452040.51842  20815147.925    20815151.447    20815146.754
+     -2468.102       -1923.196          55.000          49.000
+ -16737966.98743 -12974717.87142  22160226.005    22160229.670    22160225.362
+      2614.874        2037.564          51.000          45.000
+  -2353877.93443  -1668756.89442  24448388.376    24448391.913    24448386.226
+      1596.253        1243.834          45.000          39.000
+ -25973350.35844 -20235743.00442  20475207.812    20475211.130    20475207.665
+      1558.425        1214.357          57.000          51.000
+ -10016571.27743  -7765118.70342  23742629.683    23742634.809    23742628.493
+     -3294.661       -2567.268          46.000          39.000
+ -25098086.59644 -19544635.93142  20519867.571    20519871.045    20519866.269
+     -1016.435        -792.027          57.000          51.000
+  -9870055.93443  -7655865.63442  23436221.931    23436227.822    23436222.872
+     -3317.339       -2584.939          46.000          40.000
+ -18334907.37043 -14275600.75342  21648296.001    21648298.894    21648294.398
+       971.569         757.067          54.000          48.000
+ -15390796.18943 -11958834.84242  22401561.021    22401564.424    22401559.261
+       180.216         140.428          52.000          46.000
+ 04  2  1 16  8  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -21065064.29543 -16394205.92242  20829271.991    20829275.691    20829270.358
+     -2480.574       -1932.915          55.000          49.000
+ -16816243.56243 -13035712.57042  22145331.756    22145333.951    22145330.580
+      2602.922        2028.251          52.000          45.000
+  -2401548.66443  -1705902.87942  24439316.597    24439319.778    24439315.327
+      1580.747        1231.751          46.000          39.000
+ -26019935.10244 -20272042.80642  20466343.562    20466346.254    20466343.001
+      1546.697        1205.218          57.000          51.000
+  -9917759.70943  -7688122.70142  23761432.315    23761436.840    23761431.306
+     -3293.237       -2566.159          46.000          39.000
+ -25067363.62844 -19520695.97442  20525714.423    20525717.197    20525713.157
+     -1032.145        -804.269          58.000          51.000
+  -9770506.74343  -7578294.87842  23455166.322    23455171.422    23455167.236
+     -3319.839       -2586.887          46.000          40.000
+ -18364034.29843 -14298297.05042  21642753.270    21642757.010    21642752.068
+       969.639         755.563          54.000          48.000
+ -15395964.57043 -11962862.13242  22400577.461    22400581.524    22400576.292
+       163.745         127.594          52.000          46.000
+ 04  2  1 16  8 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20990468.75343 -16336079.54742  20843466.383    20843470.397    20843465.210
+     -2492.293       -1942.046          55.000          49.000
+ -16894159.51343 -13096426.27342  22130504.928    22130506.827    22130503.001
+      2591.579        2019.412          52.000          45.000
+  -2448757.30643  -1742688.82242  24430332.983    24430336.896    24430332.864
+      1566.449        1220.610          46.000          39.000
+ -26066164.70744 -20308065.88242  20457546.209    20457549.180    20457545.530
+      1535.448        1196.453          57.000          51.000
+  -9818991.33443  -7611160.38442  23780228.311    23780233.239    23780227.929
+     -3291.115       -2564.505          45.000          39.000
+ -25036168.06544 -19496387.76442  20531650.562    20531653.780    20531649.384
+     -1047.296        -816.075          58.000          51.000
+  -9670878.57343  -7500662.57342  23474125.823    23474130.110    23474123.598
+     -3321.553       -2588.223          45.000          40.000
+ -18393099.11343 -14320944.95142  21637222.110    21637226.156    21637220.806
+       968.251         754.481          54.000          48.000
+ -15400635.32643 -11966501.65542  22399688.806    22399691.758    22399687.006
+       147.834         115.195          52.000          45.000
+ 04  2  1 16  9  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20915478.96843 -16277645.95742  20857736.650    20857740.563    20857735.380
+     -2506.261       -1952.931          55.000          49.000
+ -16971690.37343 -13156839.89242  22115750.956    22115753.166    22115749.795
+      2577.929        2008.776          52.000          45.000
+  -2495480.37143  -1779096.40342  24421443.430    24421447.241    24421442.109
+      1549.328        1207.268          45.000          40.000
+ -26112013.85044 -20343792.48842  20448821.230    20448824.276    20448820.547
+      1521.873        1185.875          57.000          51.000
+  -9720245.99343  -7534215.99942  23799020.651    23799024.731    23799019.150
+     -3291.169       -2564.547          46.000          39.000
+ -25004476.89544 -19471693.36842  20537680.997    20537684.649    20537679.892
+     -1064.668        -829.611          57.000          51.000
+  -9571151.08443  -7422952.87942  23493103.102    23493109.638    23493102.000
+     -3326.113       -2591.776          46.000          40.000
+ -18422079.07043 -14343526.71442  21631707.307    21631711.009    21631706.065
+       964.563         751.608          54.000          48.000
+ -15404784.53043 -11969734.77942  22398899.111    22398902.007    22398897.480
+       129.464         100.881          52.000          46.000
+ 04  2  1 16  9 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20840106.51443 -16218914.18242  20872079.280    20872083.384    20872078.352
+     -2518.455       -1962.432          55.000          49.000
+ -17048843.48443 -13216959.17242  22101069.020    22101071.244    22101067.781
+      2565.934        1999.429          52.000          45.000
+  -2541725.24843  -1815131.36342  24412640.033    24412645.389    24412641.017
+      1533.181        1194.686          43.000          38.000
+ -26157488.96844 -20379227.65142  20440167.567    20440170.564    20440167.021
+      1509.943        1176.579          57.000          51.000
+  -9621534.81543  -7457298.24142  23817804.034    23817808.100    23817803.590
+     -3289.295       -2563.087          45.000          39.000
+ -24972298.70444 -19446619.48042  20543804.983    20543807.804    20543803.036
+     -1080.365        -841.843          57.000          51.000
+  -9471335.31343  -7345174.40742  23512096.754    23512102.299    23512096.363
+     -3328.332       -2593.505          46.000          40.000
+ -18450982.84843 -14366049.13942  21626206.840    21626210.487    21626206.127
+       962.557         750.044          54.000          48.000
+ -15408419.72443 -11972567.37242  22398207.292    22398210.377    22398206.101
+       113.057          88.096          52.000          46.000
+ 04  2  1 16 10  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20764358.72443 -16159889.94642  20886493.981    20886497.654    20886492.329
+     -2530.620       -1971.912          55.000          49.000
+ -17125621.70243 -13276786.33542  22086458.318    22086461.762    22086457.030
+      2553.592        1989.812          52.000          45.000
+  -2587494.82243  -1850796.00042  24403932.555    24403935.812    24403929.060
+      1518.280        1183.075          43.000          37.000
+ -26202591.98544 -20414372.86342  20431585.036    20431587.935    20431584.225
+      1497.762        1167.087          57.000          51.000
+  -9522865.04543  -7380412.76342  23836580.934    23836584.336    23836578.462
+     -3287.963       -2562.049          44.000          39.000
+ -24939637.68344 -19421169.35642  20550019.744    20550022.910    20550018.704
+     -1096.164        -854.154          58.000          51.000
+  -9371437.83843  -7267332.27442  23531107.629    23531111.948    23531107.033
+     -3330.634       -2595.299          46.000          40.000
+ -18479814.90943 -14388515.69342  21620720.552    21620724.480    21620719.972
+       960.389         748.355          54.000          48.000
+ -15411544.32043 -11975002.10542  22397612.947    22397616.812    22397611.210
+        96.297          75.037          52.000          46.000
+ 04  2  1 16 10 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20688236.75243 -16100574.12942  20900979.724    20900982.971    20900978.201
+     -2543.537       -1981.977          55.000          49.000
+ -17202021.64343 -13336318.73242  22071919.380    22071922.046    22071918.188
+      2540.604        1979.691          52.000          45.000
+  -2632786.14743  -1886087.95342  24395312.078    24395317.406    24395311.541
+      1502.096        1170.464          43.000          38.000
+ -26247318.62244 -20449224.79042  20423073.634    20423076.876    20423072.884
+      1484.686        1156.898          57.000          51.000
+  -9424237.17643  -7303559.92942  23855347.469    23855352.764    23855345.920
+     -3286.911       -2561.229          44.000          39.000
+ -24906491.43844 -19395341.13142  20556327.121    20556330.752    20556325.890
+     -1112.832        -867.142          57.000          51.000
+  -9271458.69943  -7189426.47842  23550134.319    23550138.872    23550132.989
+     -3333.988       -2597.913          46.000          40.000
+ -18508573.22643 -14410924.79442  21615248.297    21615251.666    21615247.224
+       957.491         746.097          54.000          48.000
+ -15414155.17543 -11977036.52742  22397116.227    22397120.266    22397114.132
+        78.551          61.209          52.000          46.000
+ 04  2  1 16 11  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20611743.19943 -16040968.76142  20915536.016    20915539.628    20915534.432
+     -2556.024       -1991.707          55.000          49.000
+ -17278041.89943 -13395555.27742  22057454.208    22057457.304    22057452.335
+      2527.614        1969.569          52.000          45.000
+  -2677598.31143  -1921006.47342  24386788.126    24386789.675    24386785.236
+      1485.555        1157.575          45.000          39.000
+ -26291666.41944 -20483781.51342  20414634.047    20414637.755    20414633.873
+      1471.827        1146.878          57.000          51.000
+  -9325653.62143  -7226741.61042  23874107.768    23874113.196    23874107.621
+     -3285.764       -2560.335          43.000          39.000
+ -24872860.37244 -19369135.12842  20562726.760    20562730.309    20562725.798
+     -1129.146        -879.854          57.000          51.000
+  -9171400.44243  -7111459.01842  23569173.011    23569180.470    23569171.786
+     -3336.858       -2600.149          45.000          40.000
+ -18537257.81243 -14433276.42742  21609789.881    21609792.458    21609788.806
+       954.894         744.073          54.000          47.000
+ -15416251.34143 -11978669.90142  22396717.091    22396720.578    22396715.483
+        61.136          47.638          52.000          46.000
+ 04  2  1 16 11 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20534880.25743 -15981075.55142  20930162.926    20930166.335    20930161.350
+     -2567.801       -2000.884          55.000          49.000
+ -17353679.79743 -13454493.88142  22043060.503    22043062.805    22043059.459
+      2515.308        1959.980          52.000          45.000
+  -2721929.02143  -1955549.88142  24378350.922    24378353.574    24378348.690
+      1470.088        1145.523          45.000          39.000
+ -26335631.88344 -20518040.31542  20406268.159    20406271.516    20406267.637
+      1459.568        1137.326          57.000          51.000
+  -9227115.92743  -7149959.07142  23892858.052    23892866.479    23892857.923
+     -3283.447       -2558.530          41.000          39.000
+ -24838742.95944 -19342550.14742  20569219.564    20569222.919    20569218.221
+     -1144.867        -892.104          57.000          51.000
+  -9071264.11343  -7033430.75042  23588228.430    23588234.285    23588227.468
+     -3338.630       -2601.530          44.000          39.000
+ -18565867.44443 -14455569.67242  21604345.276    21604348.921    21604344.370
+       952.978         742.580          54.000          48.000
+ -15417830.63643 -11979900.51542  22396416.159    22396420.674    22396414.316
+        44.470          34.652          51.000          46.000
+ 04  2  1 16 12  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20457650.87743 -15920896.80442  20944858.856    20944862.667    20944857.337
+     -2580.885       -2011.079          55.000          49.000
+ -17428934.21243 -13513133.65542  22028739.836    22028743.113    22028738.810
+      2501.742        1949.409          52.000          45.000
+  -2765777.38543  -1989717.49342  24370006.232    24370010.004    24370004.442
+      1452.981        1132.193          43.000          39.000
+ -26379212.93844 -20551999.57142  20397975.322    20397978.145    20397974.788
+      1445.836        1126.625          57.000          51.000
+  -9128626.88143  -7073214.42242  23911599.400    23911606.005    23911596.562
+     -3282.454       -2557.756          41.000          38.000
+ -24804139.36744 -19315586.32742  20575804.121    20575807.285    20575802.809
+     -1162.013        -905.465          57.000          51.000
+  -8971052.01843  -6955343.45742  23607298.681    23607303.167    23607297.344
+     -3342.069       -2604.210          45.000          39.000
+ -18594402.33743 -14477804.66742  21598915.369    21598918.805    21598914.337
+       949.505         739.874          54.000          48.000
+ -15418892.09643 -11980727.60842  22396214.177    22396218.075    22396212.656
+        26.238          20.445          52.000          46.000
+ 04  2  1 16 12 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20380059.52043 -15860435.98642  20959623.898    20959627.219    20959622.378
+     -2592.525       -2020.149          55.000          49.000
+ -17503805.30143 -13571474.74042  22014492.707    22014495.419    22014490.879
+      2489.202        1939.638          52.000          46.000
+  -2809143.77243  -2023509.46342  24361754.256    24361757.737    24361754.212
+      1437.137        1119.847          44.000          39.000
+ -26422408.60644 -20585658.52942  20389755.337    20389758.195    20389754.722
+      1433.181        1116.764          57.000          51.000
+  -9030190.68743  -6996510.97342  23930331.200    23930337.829    23930330.335
+     -3280.384       -2556.143          42.000          38.000
+ -24769050.98944 -19288244.74242  20582481.058    20582484.631    20582479.942
+     -1177.907        -917.850          57.000          51.000
+  -8870768.15043  -6877200.22842  23626380.380    23626386.273    23626379.113
+     -3344.106       -2605.797          44.000          38.000
+ -18622863.83043 -14499982.45442  21593499.031    21593503.079    21593498.160
+       947.383         738.221          54.000          48.000
+ -15419436.55043 -11981151.85542  22396111.397    22396114.346    22396109.481
+         9.500           7.403          52.000          46.000
+ 04  2  1 16 13  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20302109.39243 -15799695.60842  20974457.188    20974460.712    20974456.083
+     -2604.472       -2029.459          55.000          49.000
+ -17578291.83343 -13629516.16042  22000318.528    22000320.152    22000317.303
+      2476.252        1929.547          52.000          46.000
+  -2852027.18843  -2056925.10542  24353592.207    24353598.200    24353592.107
+      1421.410        1107.592          44.000          39.000
+ -26465216.69444 -20619015.47142  20381609.161    20381612.324    20381608.409
+      1420.199        1106.649          57.000          51.000
+  -8931810.09243  -6919850.83342  23949053.528    23949059.286    23949052.675
+     -3278.667       -2554.805          43.000          39.000
+ -24733477.99344 -19260525.54442  20589250.487    20589254.161    20589249.253
+     -1194.027        -930.411          57.000          51.000
+  -8770414.74543  -6799002.78342  23645477.085    23645482.645    23645475.366
+     -3346.269       -2607.482          44.000          38.000
+ -18651251.97743 -14522103.06942  21588097.384    21588100.553    21588096.563
+       944.959         736.332          54.000          48.000
+ -15419462.95143 -11981172.41542  22396106.005    22396109.563    22396104.249
+        -7.863          -6.127          52.000          46.000
+ 04  2  1 16 13 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20223805.50943 -15738679.59142  20989358.440    20989361.731    20989356.513
+     -2615.994       -2038.437          55.000          49.000
+ -17652394.41943 -13687258.40742  21986216.566    21986219.627    21986215.811
+      2463.689        1919.758          52.000          46.000
+  -2894428.94343  -2089965.42642  24345524.556    24345528.212    24345524.401
+      1405.402        1095.118          46.000          40.000
+ -26507636.88244 -20652070.16042  20373536.508    20373539.939    20373536.039
+      1407.606        1096.836          57.000          51.000
+  -8833489.55943  -6843237.48442  23967765.002    23967769.192    23967764.156
+     -3276.171       -2552.860          45.000          39.000
+ -24697422.39244 -19232430.28442  20596111.782    20596115.062    20596110.514
+     -1209.780        -942.686          57.000          51.000
+  -8669995.60643  -6720754.14542  23664587.002    23664591.835    23664585.159
+     -3348.295       -2609.061          44.000          38.000
+ -18679568.95443 -14544168.24242  21582709.069    21582712.282    21582707.854
+       942.819         734.664          54.000          48.000
+ -15418972.44943 -11980790.20242  22396198.254    22396202.671    22396196.367
+       -24.969         -19.456          51.000          45.000
+ 04  2  1 16 14  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20145148.31943 -15677388.25442  21004326.039    21004329.666    21004324.581
+     -2627.481       -2047.388          55.000          49.000
+ -17726109.33643 -13744698.57542  21972189.049    21972191.742    21972188.219
+      2450.906        1909.797          52.000          46.000
+  -2936345.35543  -2122627.55042  24337548.480    24337551.479    24337546.711
+      1389.148        1082.453          44.000          39.000
+ -26549664.29644 -20684818.79442  20365539.327    20365542.034    20365538.588
+      1394.565        1086.674          57.000          51.000
+  -8735228.96243  -6766670.85542  23986460.638    23986467.470    23986461.280
+     -3274.253       -2551.366          43.000          39.000
+ -24660881.80244 -19203957.10842  20603064.978    20603068.947    20603064.035
+     -1225.818        -955.183          57.000          51.000
+  -8569510.80443  -6642454.27542  23683709.495    23683712.584    23683708.392
+     -3350.186       -2610.534          45.000          38.000
+ -18707811.99543 -14566175.81942  21577334.564    21577337.733    21577333.379
+       940.427         732.800          54.000          48.000
+ -15417961.73243 -11980002.63342  22396391.904    22396395.816    22396390.547
+       -42.119         -32.820          52.000          46.000
+ 04  2  1 16 14 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -20066142.48943 -15615825.25542  21019359.765    21019363.935    21019358.750
+     -2640.071       -2057.198          55.000          49.000
+ -17799436.94543 -13801836.93942  21958234.829    21958237.828    21958234.310
+      2437.073        1899.018          52.000          46.000
+  -2977777.41443  -2154912.26942  24329663.834    24329667.455    24329662.959
+      1372.321        1069.341          45.000          40.000
+ -26591298.59844 -20717261.10942  20357616.130    20357619.473    20357615.755
+      1380.570        1075.769          57.000          51.000
+  -8637032.71843  -6690154.36742  24005148.637    24005153.014    24005146.570
+     -3272.736       -2550.184          43.000          39.000
+ -24623857.95844 -19175107.37242  20610111.011    20610114.235    20610109.762
+     -1242.829        -968.438          57.000          51.000
+  -8468964.31043  -6564106.37242  23702841.930    23702847.189    23702841.834
+     -3353.311       -2612.970          45.000          38.000
+ -18735982.78143 -14588127.08642  21571973.269    21571977.376    21571972.588
+       937.213         730.296          54.000          48.000
+ -15416431.62143 -11978810.34442  22396683.279    22396686.318    22396681.580
+       -60.292         -46.981          52.000          46.000
+ 04  2  1 16 15  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -19986790.10443 -15553992.20142  21034460.561    21034463.897    21034459.356
+     -2651.293       -2065.942          55.000          49.000
+ -17872375.19943 -13858671.90742  21944355.474    21944358.632    21944354.710
+      2424.312        1889.074          52.000          46.000
+  -3018723.46743  -2186818.29042  24321871.472    24321876.402    24321871.288
+      1356.288        1056.848          45.000          40.000
+ -26632536.59844 -20749394.61642  20349769.159    20349772.116    20349768.564
+      1367.456        1065.550          58.000          51.000
+  -8538902.63743  -6613689.46142  24023822.147    24023827.448    24023821.889
+     -3270.231       -2548.232          45.000          40.000
+ -24586350.13444 -19145880.51242  20617248.031    20617251.244    20617246.658
+     -1258.844        -980.917          57.000          51.000
+  -8368357.44243  -6485711.39242  23721988.193    23721991.474    23721986.854
+     -3355.093       -2614.358          46.000          38.000
+ -18764080.59543 -14610021.48842  21566626.704    21566630.578    21566625.667
+       934.966         728.545          54.000          48.000
+ -15414380.54943 -11977212.11042  22397073.657    22397076.582    22397071.263
+       -77.453         -60.353          52.000          46.000
+ 04  2  1 16 15 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -19907089.03043 -15491887.44742  21049626.746    21049630.422    21049625.489
+     -2662.201       -2074.442          55.000          49.000
+ -17944917.52243 -13915198.35942  21930552.254    21930554.238    21930550.545
+      2411.852        1879.365          53.000          46.000
+  -3059177.27643  -2218340.70642  24314173.664    24314176.936    24314172.136
+      1340.735        1044.728          44.000          39.000
+ -26673370.52344 -20781213.26142  20341998.769    20342001.483    20341998.179
+      1354.821        1055.705          57.000          51.000
+  -8440835.62043  -6537273.65242  24042484.389    24042488.710    24042483.368
+     -3267.559       -2546.150          46.000          40.000
+ -24548353.11844 -19116272.46742  20624478.472    20624482.174    20624477.512
+     -1274.348        -992.998          57.000          51.000
+  -8267686.88743  -6407266.80142  23741144.208    23741148.801    23741143.061
+     -3356.152       -2615.183          46.000          38.000
+ -18792099.75843 -14631854.60342  21561294.814    21561298.609    21561294.024
+       933.105         727.095          54.000          48.000
+ -15411802.10143 -11975202.91642  22397563.691    22397567.078    22397562.374
+       -94.235         -73.430          52.000          46.000
+ 04  2  1 16 16  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -19827054.27443 -15429522.67942  21064856.691    21064860.931    21064855.435
+     -2673.855       -2083.523          55.000          48.000
+ -18017074.83143 -13971424.79342  21916820.253    21916822.896    21916818.975
+      2398.426        1868.903          52.000          46.000
+  -3099149.84943  -2249488.20242  24306567.536    24306570.253    24306566.532
+      1324.078        1031.749          45.000          39.000
+ -26713810.26144 -20812724.74542  20334303.241    20334306.363    20334302.575
+      1341.055        1044.978          57.000          51.000
+  -8342846.58343  -6460918.61842  24061130.121    24061135.281    24061129.440
+     -3264.794       -2543.995          46.000          40.000
+ -24509879.03344 -19086292.68342  20631800.596    20631803.281    20631799.076
+     -1290.792       -1005.812          57.000          51.000
+  -8166967.10943  -6328783.90142  23760311.073    23760314.978    23760309.215
+     -3358.346       -2616.893          46.000          38.000
+ -18820052.40643 -14653635.88942  21555975.333    21555979.061    21555974.318
+       930.301         724.910          54.000          48.000
+ -15408707.83543 -11972791.80942  22398152.451    22398156.401    22398151.119
+      -112.114         -87.361          52.000          46.000
+ 04  2  1 16 16 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -19746678.10643 -15366891.90242  21080151.971    21080155.640    21080150.732
+     -2684.741       -2092.006          55.000          48.000
+ -18088834.87843 -14027341.67742  21903164.628    21903167.287    21903163.993
+      2385.501        1858.832          52.000          46.000
+  -3138629.94843  -2280251.89042  24299053.264    24299059.146    24299054.726
+      1308.155        1019.342          43.000          39.000
+ -26753842.90344 -20843919.00842  20326685.500    20326688.261    20326684.833
+      1327.598        1034.492          58.000          51.000
+  -8244927.32543  -6384617.96742  24079763.052    24079769.435    24079762.713
+     -3262.628       -2542.307          45.000          40.000
+ -24470917.46544 -19055933.04142  20639214.195    20639217.769    20639212.973
+     -1306.756       -1018.251          57.000          51.000
+  -8066189.43243  -6250255.81842  23779488.249    23779494.140    23779486.926
+     -3360.342       -2618.448          46.000          38.000
+ -18847927.87043 -14675357.01442  21550671.546    21550674.752    21550670.158
+       927.989         723.108          54.000          48.000
+ -15405086.37943 -11969969.90542  22398841.416    22398844.039    22398839.887
+      -129.434        -100.858          52.000          46.000
+ 04  2  1 16 17  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -19665971.87143 -15304003.90742  21095510.070    21095513.605    21095508.750
+     -2695.578       -2100.450          54.000          48.000
+ -18160205.10443 -14082954.80542  21889583.799    21889586.294    21889582.429
+      2372.617        1848.792          53.000          46.000
+  -3177624.97243  -2310637.59542  24291632.806    24291637.723    24291632.379
+      1291.869        1006.651          42.000          39.000
+ -26793474.47244 -20874800.74842  20319143.353    20319146.821    20319142.987
+      1314.391        1024.201          57.000          51.000
+  -8147088.44343  -6308379.94842  24098382.492    24098387.183    24098380.387
+     -3259.738       -2540.055          44.000          40.000
+ -24431477.06944 -19025200.28642  20646719.987    20646722.664    20646718.540
+     -1322.544       -1030.554          57.000          51.000
+  -7965364.51543  -6171690.95642  23798674.561    23798681.620    23798673.810
+     -3361.500       -2619.351          45.000          38.000
+ -18875734.28043 -14697024.33242  21545379.861    21545382.880    21545378.790
+       925.823         721.420          54.000          48.000
+ -15400945.20943 -11966743.00442  22399630.285    22399633.993    22399628.538
+      -146.634        -114.260          52.000          46.000
+ 04  2  1 16 17 30.0000000  0  8G17G21G30G 9G 5G24G 6G10
+ -19584929.74843 -15240854.22442  21110931.406    21110935.459    21110930.392
+     -2706.978       -2109.333          55.000          48.000
+ -18231175.39243 -14138256.29642  21876078.001    21876081.023    21876076.606
+      2359.085        1838.248          53.000          46.000
+ -26832693.88744 -20905361.33242  20311680.525    20311683.762    20311679.834
+      1300.492        1013.370          57.000          51.000
+  -8049323.79443  -6232199.78042  24116984.937    24116991.525    24116984.830
+     -3257.553       -2538.353          44.000          40.000
+ -24391548.80544 -18994087.36842  20654317.481    20654321.198    20654316.159
+     -1339.027       -1043.398          57.000          50.000
+  -7864485.32643  -6093083.81342  23817870.504    23817875.344    23817870.627
+     -3363.205       -2620.679          45.000          39.000
+ -18903462.57543 -14718630.77242  21540102.835    21540106.534    21540102.427
+       923.067         719.273          54.000          48.000
+ -15396274.62943 -11963103.59942  22400518.042    22400521.998    22400516.568
+      -164.431        -128.128          52.000          46.000
+ 04  2  1 16 18  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -19503564.15443 -15177452.46342  21126415.338    21126418.927    21126413.838
+     -2717.791       -2117.759          55.000          48.000
+ -18301753.77843 -14193252.41742  21862647.688    21862650.074    21862646.452
+      2345.848        1827.934          53.000          46.000
+  -3254139.86453  -2370259.55652  24277072.020    24277077.507    24277070.832
+      1258.601         980.728          40.000          37.000
+ -26871508.50444 -20935606.48142  20304294.281    20304297.289    20304293.704
+      1286.809        1002.708          57.000          51.000
+  -7951645.31543  -6156086.74742  24135573.642    24135579.610    24135572.192
+     -3254.714       -2536.141          45.000          40.000
+ -24351142.50744 -18962601.96842  20662006.721    20662010.031    20662005.289
+     -1355.037       -1055.873          57.000          51.000
+  -7763563.88143  -6014443.74342  23837076.820    23837080.016    23837075.352
+     -3364.918       -2622.014          46.000          39.000
+ -18931122.14043 -14740183.63442  21534840.316    21534843.117    21534839.344
+       920.649         717.389          55.000          48.000
+ -15391083.66843 -11959058.70742  22401506.279    22401510.118    22401504.451
+      -182.009        -141.825          52.000          46.000
+ 04  2  1 16 18 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -19421872.74643 -15113796.83242  21141960.754    21141964.134    21141959.003
+     -2728.785       -2126.326          54.000          48.000
+ -18371934.10143 -14247938.35442  21849293.271    21849295.269    21849291.790
+      2332.445        1817.490          53.000          46.000
+  -3291662.02343  -2399497.60642  24269933.865    24269937.504    24269933.210
+      1242.197         967.946          44.000          38.000
+ -26909910.51544 -20965530.12342  20296986.779    20296989.581    20296985.972
+      1272.809         991.799          57.000          51.000
+  -7854050.23243  -6080038.70942  24154145.842    24154151.339    24154144.630
+     -3252.204       -2534.185          45.000          39.000
+ -24310253.12944 -18930740.13342  20669787.975    20669791.231    20669786.418
+     -1371.365       -1068.596          57.000          50.000
+  -7662596.96643  -5935768.21442  23856289.892    23856294.321    23856288.224
+     -3366.328       -2623.113          46.000          38.000
+ -18958707.56143 -14761678.73842  21529590.139    21529593.937    21529589.236
+       917.952         715.287          54.000          48.000
+ -15385366.22043 -11954603.55142  22402595.231    22402598.176    22402593.361
+      -199.634        -155.559          52.000          46.000
+ 04  2  1 16 19  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -19339859.48343 -15049890.40342  21157567.239    21157570.345    21157565.820
+     -2738.267       -2133.714          54.000          48.000
+ -18441716.23343 -14302314.00542  21836013.733    21836015.850    21836012.009
+      2320.155        1807.913          53.000          46.000
+  -3328692.31143  -2428352.31242  24262888.374    24262890.433    24262886.823
+      1226.701         955.871          45.000          39.000
+ -26947898.88244 -20995131.44242  20289757.839    20289760.541    20289757.123
+      1260.058         981.863          57.000          51.000
+  -7756541.92743  -6004058.29142  24172701.864    24172706.250    24172698.814
+     -3247.962       -2530.879          45.000          40.000
+ -24268881.88244 -18898502.80642  20677660.991    20677664.024    20677659.312
+     -1386.258       -1080.201          57.000          51.000
+  -7561587.50543  -5857059.55642  23875511.190    23875517.259    23875510.819
+     -3367.413       -2623.958          46.000          39.000
+ -18986219.69443 -14783116.74742  21524355.077    21524358.210    21524353.964
+       916.584         714.221          54.000          48.000
+ -15379122.46543 -11949738.29042  22403782.231    22403786.005    22403781.156
+      -215.982        -168.298          52.000          46.000
+ 04  2  1 16 19 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -19257529.79843 -14985737.41842  21173234.001    21173237.536    21173232.411
+     -2750.292       -2143.085          55.000          48.000
+ -18511101.10543 -14356380.10942  21822809.714    21822812.751    21822808.559
+      2305.527        1796.515          53.000          46.000
+  -3365232.44743  -2456825.12342  24255933.792    24255937.291    24255932.443
+      1209.554         942.510          43.000          39.000
+ -26985473.80444 -21024410.59142  20282607.612    20282610.560    20282607.027
+      1244.920         970.068          58.000          51.000
+  -7659125.21543  -5928149.22742  24191238.913    24191243.324    24191237.695
+     -3246.553       -2529.781          47.000          40.000
+ -24227031.38344 -18865892.03742  20685624.535    20685627.961    20685623.064
+     -1403.663       -1093.763          57.000          50.000
+  -7460539.98843  -5778321.26342  23894740.347    23894745.530    23894739.168
+     -3369.482       -2625.570          46.000          39.000
+ -19013660.83943 -14804499.44342  21519133.059    21519136.343    21519131.999
+       912.882         711.337          54.000          48.000
+ -15372354.50343 -11944464.56142  22405070.399    22405073.274    22405068.677
+      -235.030        -183.140          52.000          45.000
+ 04  2  1 16 20  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -19174883.74443 -14921337.90342  21188961.299    21188964.350    21188959.495
+     -2759.562       -2150.308          54.000          48.000
+ -18580084.78443 -14410133.59542  21809681.953    21809684.830    21809681.282
+      2293.360        1787.034          53.000          46.000
+  -3401278.58343  -2484912.97942  24249073.903    24249076.815    24249073.072
+      1194.217         930.559          45.000          38.000
+ -27022630.03444 -21053363.48742  20275536.634    20275539.670    20275536.107
+      1232.162         960.126          57.000          51.000
+  -7561799.45643  -5852311.03042  24209759.287    24209764.115    24209757.845
+     -3241.953       -2526.197          46.000          40.000
+ -24184698.95844 -18832905.75842  20693679.927    20693683.411    20693678.475
+     -1418.470       -1105.301          57.000          50.000
+  -7359453.67643  -5699552.71642  23913976.115    23913981.646    23913973.938
+     -3369.330       -2625.452          46.000          39.000
+ -19041027.91143 -14825824.42042  21513924.717    21513929.083    21513924.053
+       911.570         710.314          54.000          48.000
+ -15365058.49743 -11938779.36242  22406458.298    22406462.803    22406456.674
+      -251.370        -195.873          51.000          46.000
+ 04  2  1 16 20 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -19091924.97343 -14856694.72342  21204747.628    21204751.323    21204745.879
+     -2769.900       -2158.364          54.000          48.000
+ -18648666.82043 -14463574.11542  21796631.748    21796633.919    21796630.728
+      2280.181        1776.764          53.000          46.000
+  -3436830.97043  -2512616.12242  24242307.650    24242314.821    24242307.724
+      1177.519         917.547          44.000          38.000
+ -27059366.09344 -21081988.97242  20268546.292    20268549.344    20268545.582
+      1218.193         949.241          58.000          51.000
+  -7464567.81243  -5776546.18042  24228262.285    24228267.332    24228260.884
+     -3238.876       -2523.799          46.000          40.000
+ -24141885.44744 -18799544.59442  20701826.975    20701830.426    20701825.562
+     -1434.431       -1117.738          57.000          50.000
+  -7258331.00343  -5620755.83342  23933218.698    23933221.776    23933218.777
+     -3370.560       -2626.410          45.000          39.000
+ -19068321.30843 -14847091.98442  21508731.646    21508734.916    21508730.324
+       909.209         708.475          54.000          48.000
+ -15357234.71043 -11932682.90842  22407947.408    22407950.771    22407945.833
+      -268.898        -209.531          52.000          46.000
+ 04  2  1 16 21  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -19008654.57843 -14791808.71842  21220593.633    21220597.065    21220592.172
+     -2780.680       -2166.764          54.000          48.000
+ -18716844.24643 -14516699.35642  21783658.118    21783661.067    21783657.449
+      2266.059        1765.760          53.000          46.000
+  -3471887.16043  -2539932.60542  24235638.595    24235639.644    24235637.459
+      1160.553         904.327          44.000          38.000
+ -27095677.81844 -21110283.81442  20261636.013    20261639.379    20261635.534
+      1203.439         937.745          57.000          51.000
+  -7367430.91943  -5700855.14542  24246747.411    24246752.824    24246745.751
+     -3236.169       -2521.690          46.000          40.000
+ -24098589.17544 -18765807.24942  20710066.085    20710069.693    20710064.561
+     -1451.079       -1130.711          57.000          50.000
+  -7157172.51343  -5541931.03442  23952468.987    23952473.076    23952469.400
+     -3372.271       -2627.744          45.000          39.000
+ -19095538.97943 -14868300.53642  21503551.997    21503555.258    21503551.565
+       906.199         706.129          54.000          48.000
+ -15348880.76543 -11926173.33942  22409537.787    22409540.553    22409535.502
+      -287.181        -223.777          52.000          46.000
+ 04  2  1 16 21 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -18925083.80543 -14726688.65042  21236496.173    21236500.249    21236494.357
+     -2790.595       -2174.490          54.000          48.000
+ -18784624.33943 -14569514.99742  21770760.292    21770762.352    21770758.681
+      2252.787        1755.418          53.000          46.000
+  -3506454.57643  -2566868.21242  24229059.693    24229063.975    24229058.402
+      1143.967         891.403          43.000          38.000
+ -27131571.37744 -21138252.81642  20254805.926    20254808.916    20254805.206
+      1189.543         926.917          58.000          51.000
+  -7270399.30243  -5625246.16342  24265213.252    24265215.324    24265211.013
+     -3232.491       -2518.824          46.000          39.000
+ -24054818.90844 -18731700.54142  20718395.195    20718398.888    20718393.989
+     -1466.818       -1142.975          57.000          50.000
+  -7055988.58043  -5463086.44142  23971724.402    23971727.118    23971723.146
+     -3373.232       -2628.492          45.000          39.000
+ -19122689.13843 -14889456.48742  21498385.121    21498388.879    21498384.439
+       904.024         704.434          54.000          48.000
+ -15340004.40543 -11919256.72142  22411226.703    22411230.511    22411225.268
+      -304.525        -237.292          52.000          46.000
+ 04  2  1 16 22  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -18841209.59943 -14661332.13342  21252457.525    21252460.926    21252455.825
+     -2801.063       -2182.646          54.000          48.000
+ -18852000.23643 -14622015.67342  21757939.341    21757941.766    21757938.004
+      2238.753        1744.483          53.000          46.000
+  -3540526.85443  -2593418.01542  24222574.547    24222580.638    24222573.370
+      1127.302         878.417          41.000          38.000
+ -27167038.78544 -21165889.75442  20248056.544    20248059.628    20248056.104
+      1174.753         915.392          57.000          51.000
+  -7173469.75443  -5549716.72042  24283654.837    24283661.626    24283655.200
+     -3229.457       -2516.460          45.000          39.000
+ -24010569.30044 -18697220.31742  20726816.141    20726819.111    20726814.662
+     -1483.340       -1155.849          57.000          50.000
+  -6954775.25543  -5384218.90642  23990984.575    23990988.087    23990982.843
+     -3374.672       -2629.614          43.000          38.000
+ -19149765.75743 -14910555.11442  21493232.948    21493236.083    21493232.073
+       900.983         702.065          54.000          48.000
+ -15330599.28843 -11911928.04642  22413015.931    22413019.677    22413015.015
+      -322.746        -251.490          52.000          46.000
+ 04  2  1 16 22 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -18757025.68143 -14595734.28042  21268477.492    21268480.648    21268475.409
+     -2810.744       -2190.190          54.000          48.000
+ -18918961.03043 -14674192.89142  21745197.071    21745199.538    21745195.656
+      2225.641        1734.266          53.000          47.000
+  -3574093.95443  -2619574.21142  24216189.511    24216192.164    24216187.272
+      1111.224         865.889          43.000          38.000
+ -27202068.38144 -21193185.53542  20241390.694    20241393.782    20241390.178
+      1160.864         904.569          58.000          51.000
+  -7076635.09543  -5474261.19542  24302082.441    24302088.553    24302082.152
+     -3225.694       -2513.528          44.000          39.000
+ -23965831.33744 -18662359.56242  20735328.995    20735332.485    20735327.520
+     -1498.849       -1167.934          57.000          50.000
+  -6853525.10343  -5305322.69342  24010251.333    24010256.357    24010251.492
+     -3374.898       -2629.791          45.000          38.000
+ -19176759.02643 -14931588.78442  21488095.693    21488099.712    21488094.799
+       898.997         700.517          54.000          48.000
+ -15320655.30743 -11904179.50042  22414908.388    22414911.721    22414905.917
+      -339.905        -264.861          52.000          46.000
+ 04  2  1 16 23  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -18672554.63943 -14529912.70242  21284551.182    21284554.765    21284550.218
+     -2820.215       -2197.570          54.000          48.000
+ -18985525.52143 -14726061.31042  21732529.954    21732532.081    21732528.714
+      2212.575        1724.084          54.000          47.000
+  -3607175.04043  -2645351.70942  24209892.114    24209896.566    24209892.743
+      1095.071         853.302          44.000          38.000
+ -27236677.77944 -21220153.89542  20234804.880    20234807.638    20234804.246
+      1146.931         893.712          58.000          51.000
+  -6979917.47643  -5398896.87742  24320487.612    24320492.666    24320486.474
+     -3221.551       -2510.299          44.000          39.000
+ -23920624.98744 -18627133.83042  20743931.332    20743935.140    20743930.087
+     -1514.355       -1180.017          57.000          50.000
+  -6752259.62643  -5226414.54442  24029520.770    24029527.515    24029520.030
+     -3375.331       -2630.128          43.000          38.000
+ -19203688.62643 -14952572.85742  21482971.430    21482975.320    21482970.415
+       896.888         698.874          54.000          48.000
+ -15310191.74243 -11896026.06742  22416899.022    22416903.369    22416897.284
+      -357.023        -278.200          52.000          45.000
+ 04  2  1 16 23 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -18587786.20443 -14463859.36942  21300682.037    21300686.300    21300680.646
+     -2830.233       -2205.376          54.000          48.000
+ -19051680.01143 -14777610.25642  21719941.208    21719943.927    21719940.515
+      2198.633        1713.220          53.000          47.000
+  -3639756.26143  -2670739.66842  24203694.706    24203696.904    24203693.229
+      1077.629         839.711          45.000          39.000
+ -27270851.64144 -21246782.87742  20228301.424    20228304.793    20228301.153
+      1132.202         882.235          58.000          51.000
+  -6883305.71243  -5323615.05642  24338872.769    24338876.759    24338871.833
+     -3218.494       -2507.917          45.000          39.000
+ -23874937.48644 -18591533.17242  20752625.602    20752628.902    20752624.288
+     -1530.610       -1192.683          57.000          50.000
+  -6650967.81143  -5147485.82342  24048795.441    24048800.468    24048794.265
+     -3376.581       -2631.102          43.000          38.000
+ -19230541.00843 -14973496.77442  21477861.590    21477865.391    21477860.851
+       894.185         696.768          54.000          48.000
+ -15299194.91843 -11887457.11942  22418992.009    22418995.639    22418990.258
+      -375.177        -292.346          52.000          45.000
+ 04  2  1 16 24  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -18502729.80043 -14397581.65342  21316867.694    21316871.236    21316866.403
+     -2840.117       -2213.078          54.000          48.000
+ -19117429.46943 -14828843.59842  21707430.099    21707432.305    21707428.545
+      2184.738        1702.393          54.000          47.000
+  -3671843.28143  -2695742.58442  24197585.456    24197591.686    24197585.997
+      1061.165         826.882          43.000          39.000
+ -27304594.12544 -21273075.71442  20221881.073    20221883.930    20221880.299
+      1117.446         870.737          58.000          51.000
+  -6786808.76843  -5248422.69942  24357235.296    24357239.149    24357233.216
+     -3214.883       -2505.104          44.000          38.000
+ -23828775.52244 -18555562.79842  20761409.770    20761413.382    20761408.780
+     -1546.775       -1205.279          57.000          50.000
+  -6549658.37443  -5068543.39642  24068074.774    24068080.786    24068074.270
+     -3378.028       -2632.230          43.000          38.000
+ -19257322.41743 -14994365.38042  21472765.122    21472769.671    21472764.425
+       891.428         694.619          54.000          48.000
+ -15287670.98543 -11878477.43242  22421184.777    22421188.854    22421183.813
+      -392.961        -306.203          52.000          45.000
+ 04  2  1 16 24 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -18417387.42643 -14331081.11142  21333108.003    21333110.862    21333106.352
+     -2849.920       -2220.717          54.000          48.000
+ -19182771.93343 -14879759.79242  21694995.290    21694998.074    21694993.897
+      2170.899        1691.610          54.000          47.000
+  -3703435.01643  -2720359.51542  24191575.629    24191578.814    24191574.090
+      1044.444         813.852          44.000          39.000
+ -27337902.34844 -21299030.15842  20215542.666    20215545.494    20215541.910
+      1102.558         859.136          58.000          51.000
+  -6690428.01443  -5173320.86942  24375575.544    24375581.013    24375575.208
+     -3211.233       -2502.259          43.000          38.000
+ -23782138.70444 -18519222.39942  20770284.945    20770287.967    20770283.576
+     -1562.871       -1217.821          57.000          50.000
+  -6448331.97243  -4989587.79242  24087356.501    24087360.829    24087354.481
+     -3377.740       -2632.005          41.000          37.000
+ -19284031.68043 -15015177.75042  21467682.741    21467686.213    21467681.547
+       888.732         692.518          54.000          48.000
+ -15275618.55643 -11869085.92742  22423478.746    22423482.184    22423477.378
+      -410.989        -320.251          52.000          45.000
+ 04  2  1 16 25  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -18331758.57843 -14264357.33442  21349402.429    21349405.330    21349400.956
+     -2859.275       -2228.006          54.000          47.000
+ -19247702.97643 -14930355.40042  21682638.906    21682641.790    21682637.420
+      2157.151        1680.897          53.000          47.000
+  -3734527.48143  -2744587.42742  24185658.169    24185661.225    24185657.743
+      1028.005         801.043          44.000          39.000
+ -27370770.64544 -21324641.81442  20209287.933    20209290.611    20209287.191
+      1087.985         847.781          58.000          51.000
+  -6594162.53743  -5098308.87442  24393895.231    24393900.634    24393893.271
+     -3207.024       -2498.980          44.000          38.000
+ -23735024.15344 -18482509.74942  20779250.405    20779253.531    20779248.888
+     -1578.720       -1230.171          57.000          50.000
+  -6346987.22843  -4910617.89142  24106642.788    24106647.326    24106641.744
+     -3378.472       -2632.575          44.000          38.000
+ -19310665.02743 -15035930.98642  21462614.407    21462617.990    21462613.279
+       886.289         690.615          54.000          48.000
+ -15263033.97343 -11859279.74942  22425872.379    22425877.359    22425871.378
+      -428.625        -333.993          51.000          45.000
+ 04  2  1 16 25 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -18245851.06243 -14197416.40142  21365749.905    21365753.552    21365748.697
+     -2867.921       -2234.744          54.000          47.000
+ -19312226.49843 -14980633.45042  21670361.104    21670362.881    21670359.983
+      2144.064        1670.699          54.000          47.000
+  -3765125.00143  -2768429.69042  24179836.633    24179841.310    24179836.633
+      1011.689         788.329          45.000          39.000
+ -27403201.74744 -21349912.78542  20203116.436    20203119.211    20203115.979
+      1073.966         836.857          58.000          51.000
+  -6498019.32543  -5023392.15042  24412188.921    24412195.398    24412189.351
+     -3202.520       -2495.470          43.000          38.000
+ -23687437.00843 -18445428.84642  20788305.636    20788309.243    20788304.495
+     -1593.867       -1241.974          56.000          50.000
+  -6245630.86143  -4831638.90642  24125930.056    24125933.435    24125929.472
+     -3378.422       -2632.537          43.000          37.000
+ -19337227.09043 -15056628.69542  21457560.056    21457563.368    21457558.919
+       884.461         689.190          54.000          48.000
+ -15249921.52143 -11849062.25742  22428368.751    22428372.234    22428367.168
+      -445.676        -347.280          52.000          45.000
+ 04  2  1 16 26  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -18159666.57043 -14130259.66242  21382150.140    21382153.639    21382149.138
+     -2877.711       -2242.372          54.000          47.000
+ -19376340.56043 -15030592.46542  21658160.335    21658162.868    21658159.194
+      2130.050        1659.779          54.000          47.000
+  -3795226.02343  -2791885.06642  24174109.711    24174112.969    24174108.757
+       994.728         775.113          45.000          40.000
+ -27435192.51844 -21374840.65342  20197028.547    20197031.841    20197028.095
+      1058.674         824.941          58.000          51.000
+  -6401999.45643  -4948571.56942  24430462.262    24430468.832    24430460.277
+     -3198.684       -2492.481          44.000          38.000
+ -23639376.68543 -18407979.23642  20797451.382    20797454.694    20797449.976
+     -1610.162       -1254.672          56.000          50.000
+  -6144263.57343  -4752651.37942  24145221.171    24145223.370    24145219.368
+     -3379.105       -2633.069          44.000          38.000
+ -19363716.47843 -15077269.77642  21452519.391    21452522.925    21452518.312
+       881.477         686.865          54.000          48.000
+ -15236279.70443 -11838432.26542  22430963.532    22430968.020    22430962.720
+      -463.801        -361.403          52.000          45.000
+ 04  2  1 16 26 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -18073203.56343 -14062885.88442  21398603.812    21398607.626    21398602.514
+     -2886.790       -2249.447          53.000          47.000
+ -19440039.54543 -15080228.01942  21646039.602    21646041.634    21646037.793
+      2116.172        1648.965          54.000          47.000
+  -3824825.75843  -2814949.79742  24168474.279    24168479.399    24168474.837
+       978.155         762.199          44.000          39.000
+ -27466736.33444 -21399420.24542  20191026.044    20191029.272    20191025.533
+      1043.829         813.373          58.000          51.000
+  -6306100.84243  -4873845.45242  24448712.048    24448717.761    24448709.633
+     -3194.605       -2489.302          44.000          38.000
+ -23590839.28444 -18370157.88342  20806687.506    20806691.290    20806686.291
+     -1625.991       -1267.006          57.000          50.000
+  -6042883.09643  -4673653.60542  24164512.085    24164516.425    24164511.583
+     -3379.709       -2633.539          44.000          38.000
+ -19390128.36443 -15097850.45442  21447493.356    21447496.425    21447492.299
+       878.944         684.891          55.000          48.000
+ -15222103.62943 -11827385.97842  22433662.301    22433665.433    22433660.759
+      -481.544        -375.229          52.000          45.000
+ 04  2  1 16 27  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -17986471.25743 -13995302.27642  21415108.572    21415112.048    21415107.115
+     -2895.742       -2256.422          54.000          47.000
+ -19503328.73943 -15129544.26842  21633995.347    21633997.988    21633994.554
+      2102.838        1638.575          54.000          47.000
+  -3853929.51743  -2837628.05842  24162938.123    24162941.664    24162936.173
+       961.817         749.468          44.000          39.000
+ -27497837.35344 -21423654.80442  20185107.754    20185110.775    20185107.305
+      1029.195         801.970          58.000          51.000
+  -6210332.01643  -4799220.44842  24466935.372    24466940.405    24466934.635
+     -3190.036       -2485.742          44.000          38.000
+ -23541831.40144 -18331969.92642  20816013.396    20816017.105    20816012.070
+     -1641.591       -1279.162          57.000          50.000
+  -5941497.59843  -4594651.89842  24183803.357    24183809.066    24183801.418
+     -3379.520       -2633.392          44.000          38.000
+ -19416468.71943 -15118375.40242  21442481.089    21442484.649    21442479.731
+       876.803         683.223          54.000          48.000
+ -15207399.45243 -11815928.16442  22436460.446    22436464.090    22436459.012
+      -498.977        -388.813          52.000          46.000
+ 04  2  1 16 27 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -17899470.40343 -13927509.39642  21431663.781    21431667.729    21431662.238
+     -2905.049       -2263.674          53.000          47.000
+ -19566205.39643 -15178539.05642  21622030.040    21622032.296    21622028.359
+      2088.642        1627.513          53.000          47.000
+  -3882535.16243  -2859918.17342  24157493.833    24157497.597    24157492.629
+       944.998         736.362          45.000          39.000
+ -27528491.49644 -21447541.15242  20179274.603    20179277.338    20179274.197
+      1013.900         790.052          58.000          51.000
+  -6114693.35943  -4724696.87542  24485135.585    24485139.999    24485133.948
+     -3186.179       -2482.737          44.000          37.000
+ -23492351.66944 -18293414.28442  20825429.127    20825432.549    20825427.893
+     -1657.587       -1291.626          57.000          50.000
+  -5840106.69443  -4515645.98242  24203098.490    24203103.081    24203096.933
+     -3380.104       -2633.847          44.000          38.000
+ -19442735.35043 -15138842.90842  21437482.430    21437486.336    21437481.435
+       873.906         680.966          54.000          48.000
+ -15192164.94643 -11804057.10642  22439359.217    22439362.944    22439357.033
+      -517.121        -402.951          52.000          46.000
+ 04  2  1 16 28  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -17812199.24643 -13859505.89442  21448271.029    21448275.023    21448270.127
+     -2913.780       -2270.478          53.000          47.000
+ -19628663.78843 -15227207.92542  21610144.379    21610146.918    21610143.346
+      2075.031        1616.907          53.000          47.000
+  -3910637.48143  -2881816.11342  24152145.142    24152149.935    24152144.413
+       928.265         723.323          44.000          39.000
+ -27558691.79644 -21471073.84842  20173527.766    20173530.325    20173527.049
+       998.977         778.424          58.000          51.000
+  -6019181.97343  -4650272.47242  24503308.813    24503314.199    24503307.753
+     -3181.800       -2479.325          42.000          37.000
+ -23442395.63644 -18254487.48642  20834935.617    20834938.862    20834934.008
+     -1673.233       -1303.818          57.000          50.000
+  -5738707.29643  -4436633.44242  24222389.964    24222400.704    24222392.475
+     -3379.845       -2633.645          41.000          37.000
+ -19468922.80943 -15159248.72042  21432499.219    21432502.669    21432498.400
+       871.517         679.104          54.000          48.000
+ -15176394.76643 -11791768.63942  22442360.345    22442364.069    22442358.297
+      -534.672        -416.627          52.000          46.000
+ 04  2  1 16 28 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -17724669.74743 -13791301.10342  21464927.699    21464931.589    21464925.940
+     -2922.150       -2277.000          53.000          47.000
+ -19690712.34443 -15275557.44142  21598337.000    21598340.258    21598335.750
+      2061.349        1606.246          54.000          47.000
+  -3938245.78543  -2903329.10242  24146892.591    24146896.209    24146892.172
+       911.606         710.342          45.000          39.000
+ -27588445.76344 -21494258.74942  20167865.646    20167868.601    20167864.949
+       984.139         766.862          58.000          51.000
+  -5923809.41543  -4575956.25042  24521458.973    24521464.443    24521457.374
+     -3176.889       -2475.498          43.000          37.000
+ -23391973.37644 -18215197.40742  20844530.882    20844534.054    20844529.396
+     -1688.758       -1315.915          57.000          50.000
+  -5637310.83143  -4357623.20542  24241688.218    24241693.404    24241688.028
+     -3380.144       -2633.878          43.000          38.000
+ -19495040.26743 -15179599.99142  21427529.526    21427533.198    21427528.452
+       869.220         677.314          55.000          48.000
+ -15160098.37943 -11779070.14142  22445462.105    22445465.437    22445460.819
+      -552.154        -430.250          52.000          46.000
+ 04  2  1 16 29  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -17636880.70243 -13722894.06442  21481633.450    21481637.030    21481632.385
+     -2930.637       -2283.613          54.000          47.000
+ -19752345.57743 -15323583.32542  21586608.292    21586612.066    21586607.617
+      2047.589        1595.524          54.000          47.000
+  -3965354.99643  -2924453.16042  24141731.883    24141737.276    24141731.394
+       895.454         697.756          44.000          38.000
+ -27617746.66444 -21517090.61042  20162289.676    20162292.727    20162289.038
+       969.207         755.226          58.000          51.000
+  -5828573.62143  -4501746.61842  24539581.943    24539587.854    24539581.862
+     -3172.454       -2472.042          43.000          37.000
+ -23341080.57544 -18175540.67142  20854214.892    20854218.298    20854213.908
+     -1704.171       -1327.925          57.000          50.000
+  -5535914.66443  -4278613.18042  24260984.001    24260988.125    24260983.775
+     -3379.818       -2633.624          44.000          38.000
+ -19521082.69443 -15199892.79642  21422573.373    21422577.207    21422572.691
+       866.886         675.496          55.000          48.000
+ -15143270.72643 -11765957.66742  22448663.335    22448667.080    22448662.334
+      -569.679        -443.906          52.000          46.000
+ 04  2  1 16 29 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -17548836.32243 -13654288.06342  21498387.866    21498391.031    21498386.704
+     -2939.020       -2290.145          54.000          47.000
+ -19813564.23243 -15371286.16142  21574959.530    21574961.934    21574958.174
+      2033.810        1584.787          54.000          47.000
+  -3991966.22643  -2945189.21342  24136670.982    24136675.279    24136670.119
+       878.766         684.753          47.000          40.000
+ -27646594.17444 -21539569.18442  20156800.548    20156803.125    20156799.846
+       954.105         743.458          58.000          51.000
+  -5733478.31543  -4427646.44242  24557677.826    24557684.153    24557676.141
+     -3166.981       -2467.777          43.000          36.000
+ -23289719.97844 -18135519.41942  20863988.642    20863992.168    20863987.547
+     -1719.657       -1339.992          57.000          50.000
+  -5434522.18743  -4199606.04242  24280278.452    24280282.269    24280276.794
+     -3379.366       -2633.272          44.000          38.000
+ -19547051.47943 -15220128.19142  21417632.235    21417635.523    21417631.148
+       864.533         673.662          55.000          48.000
+ -15125913.25543 -11752432.36042  22451966.674    22451969.967    22451964.867
+      -587.285        -457.625          52.000          45.000
+ 04  2  1 16 30  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -17460537.03743 -13585483.43942  21515190.347    21515193.607    21515189.214
+     -2946.544       -2296.008          53.000          47.000
+ -19874365.17243 -15418663.51142  21563389.531    21563392.184    21563388.269
+      2020.762        1574.620          54.000          47.000
+  -4018076.92743  -2965535.18642  24131700.279    24131704.824    24131700.545
+       863.046         672.503          45.000          39.000
+ -27674983.79844 -21561690.96142  20151397.988    20151400.888    20151397.370
+       939.614         732.167          58.000          51.000
+  -5638523.02343  -4353655.36442  24575747.255    24575753.404    24575746.916
+     -3161.082       -2463.181          43.000          36.000
+ -23237889.63044 -18095132.14242  20873851.783    20873855.177    20873850.661
+     -1734.491       -1351.551          57.000          50.000
+  -5333132.99643  -4120601.44242  24299572.669    24299576.912    24299571.182
+     -3378.834       -2632.858          43.000          37.000
+ -19572943.58743 -15240303.82242  21412704.624    21412707.932    21412703.783
+       862.686         672.223          55.000          48.000
+ -15108023.55843 -11738492.31242  22455370.755    22455374.188    22455368.600
+      -604.192        -470.799          52.000          45.000
+ 04  2  1 16 30 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -17371988.59643 -13516484.65542  21532040.437    21532043.974    21532039.081
+     -2955.185       -2302.741          53.000          47.000
+ -19934750.51143 -15465717.00842  21551899.156    21551900.727    21551897.175
+      2006.448        1563.466          54.000          47.000
+  -4043689.98043  -2985493.42242  24126827.385    24126830.532    24126827.904
+       846.254         659.419          46.000          39.000
+ -27702916.61944 -21583456.79342  20146082.194    20146085.443    20146081.802
+       924.029         720.023          57.000          51.000
+  -5543713.00043  -4279777.46342  24593789.669    24593796.862    24593788.133
+     -3157.532       -2460.414          42.000          36.000
+ -23185593.09444 -18054381.59842  20883803.294    20883806.702    20883801.968
+     -1750.402       -1363.950          57.000          50.000
+  -5231751.69943  -4041603.00142  24318861.863    24318867.965    24318860.193
+     -3378.809       -2632.838          42.000          37.000
+ -19598761.94443 -15260422.01942  21407791.557    21407795.115    21407790.534
+       859.883         670.039          55.000          48.000
+ -15089604.45043 -11724139.74242  22458875.802    22458878.916    22458873.830
+      -622.222        -484.848          52.000          45.000
+ 04  2  1 16 31  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -17283191.22843 -13447291.89942  21548938.207    21548940.935    21548936.917
+     -2963.362       -2309.113          53.000          47.000
+ -19994716.40443 -15512443.67842  21540487.829    21540489.483    21540486.583
+      1992.583        1552.662          54.000          47.000
+  -4068801.99143  -3005061.26642  24122047.358    24122053.753    24122047.350
+       829.249         646.168          45.000          39.000
+ -27730387.72444 -21604862.84542  20140855.016    20140857.826    20140854.351
+       908.646         708.036          58.000          51.000
+  -5449047.58643  -4206012.28042  24611803.795    24611809.384    24611804.237
+     -3152.419       -2456.430          42.000          36.000
+ -23132828.30743 -18013266.18842  20893844.046    20893847.865    20893842.783
+     -1765.938       -1376.055          56.000          50.000
+  -5130377.30943  -3962609.95242  24338154.003    24338160.341    24338152.795
+     -3378.224       -2632.382          43.000          38.000
+ -19624503.15043 -15280480.08942  21402893.246    21402896.696    21402892.054
+       857.475         668.162          54.000          48.000
+ -15070652.92743 -11709372.30242  22462482.571    22462485.586    22462481.002
+      -639.922        -498.640          52.000          45.000
+ 04  2  1 16 31 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -17194150.57243 -13377909.58842  21565881.560    21565885.333    21565880.461
+     -2972.226       -2316.020          53.000          47.000
+ -20054264.84443 -15558845.05642  21529155.759    21529158.048    21529154.485
+      1977.807        1541.148          54.000          47.000
+  -4093415.98743  -3024240.97042  24117364.946    24117368.973    24117363.871
+       811.783         632.558          45.000          39.000
+ -27757397.97544 -21625909.78942  20135714.994    20135717.781    20135714.526
+       892.391         695.370          58.000          51.000
+  -5354531.77243  -4132363.65842  24629788.602    24629796.670    24629789.411
+     -3147.998       -2452.985          40.000          36.000
+ -23079598.72144 -17971788.59442  20903973.738    20903976.897    20903972.275
+     -1782.222       -1388.744          57.000          50.000
+  -5029014.39243  -3883625.84342  24357444.502    24357449.606    24357443.185
+     -3378.661       -2632.723          45.000          38.000
+ -19650169.81843 -15300480.08942  21398008.880    21398012.232    21398008.055
+       854.115         665.544          54.000          48.000
+ -15051171.50443 -11694191.97242  22466189.840    22466192.197    22466188.494
+      -658.408        -513.045          52.000          45.000
+ 04  2  1 16 32  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -17104873.28143 -13308342.88342  21582871.261    21582875.310    21582870.170
+     -2979.756       -2321.888          54.000          47.000
+ -20113399.46943 -15604923.98842  21517902.542    21517904.835    21517901.279
+      1964.365        1530.674          54.000          47.000
+  -4117535.23843  -3043035.20442  24112775.740    24112778.840    24112773.403
+       795.621         619.964          45.000          39.000
+ -27783949.35744 -21646599.16842  20130662.350    20130665.645    20130661.770
+       877.339         683.641          58.000          51.000
+  -5260171.76043  -4058836.41842  24647746.100    24647752.474    24647743.506
+     -3142.452       -2448.664          41.000          35.000
+ -23025909.03143 -17929952.46342  20914189.924    20914193.703    20914188.726
+     -1797.236       -1400.444          56.000          50.000
+  -4927668.61243  -3804655.09742  24376728.933    24376733.776    24376727.984
+     -3377.922       -2632.147          44.000          38.000
+ -19675765.24443 -15320424.58642  21393138.159    21393141.651    21393137.293
+       852.067         663.948          54.000          48.000
+ -15031164.23243 -11678601.87942  22469997.047    22470000.213    22469994.188
+      -675.611        -526.450          52.000          45.000
+ 04  2  1 16 32 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -17015352.07743 -13238586.11742  21599905.982    21599909.648    21599904.328
+     -2989.119       -2329.184          52.000          47.000
+ -20172108.50043 -15650671.27942  21506730.745    21506733.273    21506729.852
+      1948.898        1518.622          54.000          47.000
+  -4141149.36443  -3061435.82742  24108281.637    24108284.745    24108280.417
+       777.853         606.119          44.000          40.000
+ -27810029.53544 -21666921.37542  20125699.438    20125702.342    20125698.848
+       860.530         670.543          58.000          51.000
+  -5165959.14043  -3985424.02642  24665673.686    24665678.970    24665673.220
+     -3139.174       -2446.110          42.000          36.000
+ -22971749.39543 -17887750.15542  20924496.382    20924499.669    20924494.830
+     -1814.121       -1413.601          56.000          50.000
+  -4826331.29643  -3725690.94742  24396012.786    24396017.888    24396011.202
+     -3378.683       -2632.740          44.000          37.000
+ -19701278.79743 -15340305.28842  21388283.099    21388287.149    21388282.443
+       848.033         660.805          54.000          48.000
+ -15010620.65343 -11662593.89242  22473905.623    22473909.099    22473904.212
+      -694.622        -541.264          51.000          45.000
+ 04  2  1 16 33  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -16925598.47043 -13168648.26142  21616985.725    21616989.515    21616984.230
+     -2995.692       -2334.305          52.000          47.000
+ -20230400.63843 -15696093.72042  21495638.333    21495640.557    21495637.341
+      1936.035        1508.599          54.000          47.000
+  -4164267.28443  -3079449.77942  24103882.103    24103886.711    24103881.070
+       762.490         594.148          44.000          39.000
+ -27835645.49244 -21686881.86542  20120824.966    20120828.097    20120824.294
+       846.021         659.237          58.000          51.000
+  -5071904.96143  -3912135.09542  24683573.128    24683576.604    24683571.175
+     -3132.485       -2440.897          43.000          35.000
+ -22917129.78944 -17845189.42342  20934890.424    20934893.696    20934889.239
+     -1828.422       -1424.744          57.000          50.000
+  -4725013.36943  -3646741.88942  24415293.179    24415298.457    24415292.080
+     -3377.161       -2631.554          45.000          38.000
+ -19726718.90043 -15360128.77942  21383442.201    21383446.078    21383441.580
+       846.686         659.755          54.000          48.000
+ -14989549.66843 -11646174.92542  22477915.639    22477919.149    22477914.585
+      -711.198        -554.180          52.000          45.000
+ 04  2  1 16 33 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -16835611.84243 -13098528.82942  21634109.042    21634113.526    21634108.681
+     -3003.600       -2340.467          52.000          47.000
+ -20288271.61443 -15741187.97042  21484625.803    21484627.621    21484624.672
+      1921.862        1497.555          54.000          47.000
+  -4186885.29643  -3097074.17142  24099579.150    24099582.594    24099578.494
+       745.571         580.964          45.000          39.000
+ -27860791.88644 -21706476.45742  20116039.740    20116042.753    20116039.292
+       830.302         646.989          58.000          51.000
+  -4978008.03643  -3838968.70642  24701437.465    24701442.887    24701438.936
+     -3126.850       -2436.506          40.000          35.000
+ -22862047.00143 -17802267.77242  20945372.219    20945375.717    20945371.051
+     -1843.892       -1436.799          56.000          50.000
+  -4623713.01043  -3567806.51542  24434569.412    24434574.819    24434568.857
+     -3376.699       -2631.194          45.000          37.000
+ -19752081.67843 -15379892.00242  21378616.446    21378619.259    21378614.871
+       844.039         657.693          55.000          48.000
+ -14967947.91943 -11629342.38842  22482026.645    22482029.319    22482025.447
+      -728.894        -567.969          52.000          45.000
+ 04  2  1 16 34  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -16745390.01343 -13028226.11542  21651278.565    21651282.111    21651277.146
+     -3011.193       -2346.384          53.000          47.000
+ -20345715.64543 -15785949.54042  21473693.847    21473696.870    21473693.225
+      1907.954        1486.717          54.000          47.000
+  -4208998.08843  -3114304.91642  24095369.957    24095374.178    24095368.660
+       729.118         568.144          45.000          39.000
+ -27885461.82244 -21725699.78642  20111345.092    20111348.289    20111344.606
+       814.546         634.711          57.000          51.000
+  -4884265.38843  -3765922.49042  24719278.861    24719284.143    24719276.051
+     -3121.928       -2432.671          41.000          35.000
+ -22806497.06143 -17758982.10742  20955942.850    20955946.386    20955941.695
+     -1859.238       -1448.757          56.000          50.000
+  -4522426.93443  -3488882.27642  24453843.362    24453846.527    24453841.562
+     -3375.977       -2630.631          45.000          37.000
+ -19777361.57743 -15399590.64842  21373805.606    21373808.995    21373804.759
+       841.431         655.661          55.000          49.000
+ -14945810.44243 -11612092.40042  22486238.540    22486242.489    22486237.146
+      -746.735        -581.871          51.000          45.000
+ 04  2  1 16 34 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -16654947.78243 -12957751.66242  21668489.467    21668492.124    21668487.877
+     -3017.851       -2351.572          53.000          47.000
+ -20402743.91943 -15830387.14442  21462842.135    21462844.660    21462841.192
+      1894.633        1476.337          54.000          47.000
+  -4230617.66343  -3131151.32242  24091254.978    24091259.827    24091256.020
+       712.558         555.240          45.000          38.000
+ -27909665.41544 -21744559.72842  20106739.492    20106742.507    20106738.853
+       799.546         623.023          58.000          51.000
+  -4790691.07543  -3693007.48342  24737084.278    24737089.176    24737085.154
+     -3115.029       -2427.295          41.000          34.000
+ -22750492.78543 -17715342.40542  20966600.158    20966603.451    20966598.809
+     -1873.711       -1460.034          56.000          50.000
+  -4421168.78043  -3409979.81842  24473113.196    24473116.746    24473112.318
+     -3374.077       -2629.151          44.000          37.000
+ -19802570.10943 -15419233.65942  21369008.318    21369011.990    21369007.354
+       839.801         654.390          55.000          49.000
+ -14923149.37543 -11594434.41142  22490550.961    22490553.758    22490549.602
+      -763.474        -594.915          51.000          45.000
+ 04  2  1 16 35  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -16564282.86243 -12887103.68742  21685741.904    21685745.938    21685740.574
+     -3025.653       -2357.652          53.000          47.000
+ -20459350.61843 -15874496.24242  21452070.445    21452072.794    21452069.709
+      1879.970        1464.912          55.000          48.000
+  -4251738.96743  -3147609.46942  24087237.532    24087239.717    24087234.765
+       696.092         542.409          45.000          39.000
+ -27933395.66244 -21763050.83242  20102223.681    20102226.647    20102222.947
+       783.130         610.231          58.000          51.000
+  -4697281.76143  -3620221.04942  24754860.996    24754866.226    24754856.516
+     -3110.604       -2423.847          41.000          35.000
+ -22694029.84843 -17671345.31842  20977344.657    20977347.778    20977343.426
+     -1889.589       -1472.407          56.000          49.000
+  -4319935.11843  -3331096.39742  24492374.380    24492380.671    24492375.224
+     -3374.357       -2629.369          43.000          36.000
+ -19827701.61643 -15438816.63942  21364225.860    21364229.596    21364225.133
+       836.590         651.888          55.000          49.000
+ -14899959.25643 -11576364.17942  22494963.711    22494966.631    22494962.396
+      -781.706        -609.121          51.000          45.000
+ 04  2  1 16 35 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -16473399.36943 -12816285.39042  21703035.799    21703039.752    21703035.245
+     -3033.572       -2363.822          52.000          46.000
+ -20515536.20843 -15918277.20442  21441378.874    21441380.556    21441377.420
+      1865.509        1453.643          55.000          48.000
+  -4272362.87943  -3163680.00642  24083311.092    24083313.945    24083310.245
+       678.660         528.826          43.000          37.000
+ -27956651.88444 -21781172.55742  20097798.197    20097801.043    20097797.663
+       766.877         597.566          58.000          51.000
+  -4604040.98343  -3547565.92842  24772603.167    24772611.320    24772605.664
+     -3106.031       -2420.284          41.000          34.000
+ -22637110.36443 -17626992.46942  20988176.321    20988179.372    20988174.996
+     -1905.440       -1484.758          56.000          50.000
+  -4218728.95743  -3252234.43142  24511634.559    24511638.652    24511633.301
+     -3373.224       -2628.486          43.000          36.000
+ -19852757.04543 -15458340.32742  21359457.809    21359461.523    21359457.053
+       833.377         649.385          55.000          48.000
+ -14876241.62943 -11557882.89142  22499476.759    22499480.515    22499475.939
+      -799.796        -623.218          51.000          45.000
+ 04  2  1 16 36  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -16382296.47643 -12745296.13542  21720372.857    21720376.211    21720371.371
+     -3040.809       -2369.461          52.000          46.000
+ -20571296.97643 -15961727.14942  21430767.337    21430769.785    21430766.050
+      1851.215        1442.505          54.000          48.000
+  -4292486.06643  -3179360.43742  24079481.963    24079484.409    24079481.420
+       662.077         515.904          44.000          37.000
+ -27979428.84844 -21798920.84042  20093464.058    20093467.026    20093463.262
+       750.717         584.974          58.000          51.000
+  -4510967.15343  -3475040.84942  24790315.071    24790320.790    24790315.358
+     -3100.231       -2415.764          41.000          35.000
+ -22579731.48143 -17582281.66342  20999095.022    20999098.494    20999093.890
+     -1920.715       -1496.661          56.000          49.000
+  -4117548.68243  -3173392.64942  24530887.927    24530893.703    24530889.564
+     -3372.856       -2628.199          43.000          37.000
+ -19877732.51143 -15477801.71042  21354705.727    21354708.676    21354704.709
+       830.878         647.437          55.000          48.000
+ -14851993.14243 -11538987.97642  22504091.474    22504096.409    22504089.932
+      -817.622        -637.108          51.000          45.000
+ 04  2  1 16 36 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -16290979.87743 -12674140.37142  21737749.303    21737753.706    21737747.687
+     -3047.665       -2374.804          52.000          46.000
+ -20626634.67443 -16004847.43242  21420236.775    21420239.773    21420236.019
+      1837.277        1431.644          54.000          48.000
+  -4312111.58243  -3194653.04942  24075746.949    24075751.589    24075747.052
+       645.890         503.291          44.000          38.000
+ -28001727.55044 -21816296.45542  20089220.328    20089223.438    20089219.896
+       734.983         572.714          57.000          51.000
+  -4418065.16843  -3402649.69342  24807993.313    24807998.463    24807991.837
+     -3094.159       -2411.033          41.000          35.000
+ -22521896.84543 -17537215.72342  21010100.558    21010104.198    21010099.349
+     -1935.590       -1508.252          56.000          50.000
+  -4016398.54443  -3094574.34342  24550138.254    24550139.815    24550135.869
+     -3371.503       -2627.145          44.000          36.000
+ -19902630.40243 -15497202.65742  21349967.713    21349971.275    21349966.545
+       828.417         645.520          55.000          49.000
+ -14827216.64143 -11519681.58942  22508806.535    22508810.149    22508805.259
+      -835.098        -650.726          52.000          45.000
+ 04  2  1 16 37  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -16199455.93543 -12602823.01642  21755166.117    21755169.720    21755164.656
+     -3054.997       -2380.517          52.000          46.000
+ -20681552.89343 -16047640.83642  21409786.427    21409789.400    21409785.303
+      1822.754        1420.328          55.000          48.000
+  -4331242.72243  -3209560.41842  24072106.020    24072111.127    24072105.833
+       628.413         489.672          45.000          39.000
+ -28023549.70844 -21833300.72942  20085067.880    20085070.675    20085067.414
+       718.541         559.902          57.000          51.000
+  -4325340.72243  -3330396.88642  24825637.591    24825643.174    24825635.006
+     -3088.549       -2406.661          38.000          34.000
+ -22463611.26343 -17491798.38342  21021192.377    21021195.373    21021191.123
+     -1951.213       -1520.426          56.000          50.000
+  -3915283.92343  -3015783.70742  24569378.367    24569383.393    24569377.370
+     -3370.547       -2626.400          43.000          35.000
+ -19927453.81643 -15516545.57342  21345244.049    21345247.214    21345242.761
+       825.396         643.166          55.000          49.000
+ -14801916.02243 -11499966.80742  22513621.229    22513624.435    22513619.725
+      -852.882        -664.583          52.000          45.000
+ 04  2  1 16 37 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -16107721.90843 -12531341.97242  21772623.468    21772626.169    21772621.470
+     -3061.682       -2385.726          53.000          46.000
+ -20736045.11143 -16090102.29142  21399416.712    21399419.167    21399415.682
+      1809.041        1409.642          55.000          48.000
+  -4349874.22043  -3224078.50742  24068563.867    24068565.303    24068562.621
+       612.372         477.173          47.000          39.000
+ -28044888.04344 -21849927.99542  20081007.441    20081010.186    20081006.837
+       702.818         547.650          57.000          51.000
+  -4232790.19043  -3258279.57342  24843249.169    24843255.767    24843248.378
+     -3082.542       -2401.981          41.000          34.000
+ -22404870.08143 -17446026.05442  21032370.258    21032373.482    21032368.807
+     -1965.959       -1531.916          56.000          50.000
+  -3814200.64643  -2937017.47342  24588611.931    24588619.005    24588612.582
+     -3369.217       -2625.364          41.000          35.000
+ -19952196.57943 -15535825.64542  21340535.146    21340538.619    21340534.136
+       823.058         641.344          55.000          48.000
+ -14776085.89143 -11479839.40842  22518536.018    22518539.577    22518534.704
+      -870.108        -678.006          52.000          45.000
+ 04  2  1 16 38  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -16015782.14743 -12459700.61042  21790117.844    21790121.421    21790116.386
+     -3068.377       -2390.943          52.000          46.000
+ -20790112.42743 -16132232.66442  21389128.208    21389130.623    21389126.701
+      1794.931        1398.648          55.000          48.000
+  -4368007.71343  -3238208.43842  24065111.394    24065115.558    24065110.583
+       595.911         464.346          45.000          39.000
+ -28065742.38644 -21866178.13742  20077038.903    20077042.176    20077038.453
+       686.723         535.109          58.000          51.000
+  -4140417.25843  -3186300.65942  24860827.728    24860833.041    24860826.599
+     -3075.948       -2396.842          40.000          34.000
+ -22345675.63943 -17399900.52842  21043634.823    21043637.525    21043633.449
+     -1980.909       -1543.565          56.000          50.000
+  -3713152.14943  -2858278.37342  24607842.860    24607848.039    24607842.494
+     -3367.954       -2624.380          42.000          36.000
+ -19976859.75643 -15555043.70742  21335842.252    21335845.149    21335840.779
+       820.502         639.352          55.000          48.000
+ -14749728.05143 -11459300.81242  22523552.284    22523555.693    22523550.450
+      -887.669        -691.690          52.000          45.000
+ 04  2  1 16 38 30.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -15923640.26043 -12387901.74242  21807652.366    21807655.998    21807650.768
+     -3074.597       -2395.790          52.000          46.000
+ -20843755.14743 -16174032.17942  21378920.582    21378922.533    21378919.690
+      1781.136        1387.898          55.000          48.000
+  -4385644.11043  -3251951.12942  24061755.578    24061759.522    24061755.229
+       579.776         451.774          45.000          39.000
+ -28086111.98644 -21882050.55442  20073162.410    20073165.697    20073162.066
+       671.020         522.873          58.000          51.000
+  -4048224.69943  -3114462.28542  24878371.443    24878375.765    24878372.028
+     -3070.225       -2392.383          40.000          34.000
+ -22286030.05543 -17353423.45042  21054984.407    21054987.784    21054982.967
+     -1995.621       -1555.029          56.000          49.000
+  -3612141.00843  -2779568.44642  24627066.232    24627070.248    24627063.911
+     -3366.814       -2623.491          44.000          36.000
+ -20001443.77943 -15574200.09842  21331163.894    21331167.281    21331162.951
+       818.209         637.565          55.000          48.000
+ -14722843.63443 -11438351.88742  22528668.041    22528672.208    22528666.725
+      -904.891        -705.110          52.000          45.000
+ 04  2  1 16 39  0.0000000  0  9G17G21G25G30G 9G 5G24G 6G10
+ -15831300.39643 -12315948.61442  21825224.117    21825227.686    21825222.835
+     -3081.172       -2400.913          53.000          46.000
+ -20896973.86943 -16215501.29342  21368793.192    21368795.286    21368791.955
+      1766.994        1376.878          55.000          48.000
+  -4402784.81943  -3265307.54442  24058493.221    24058496.838    24058491.541
+       563.080         438.764          45.000          39.000
+ -28105996.27444 -21897544.80642  20069378.849    20069381.900    20069378.411
+       654.859         510.280          58.000          51.000
+  -3956216.00143  -3042767.14542  24895879.727    24895884.628    24895882.279
+     -3063.934       -2387.481          38.000          33.000
+ -22225935.31443 -17306596.39442  21066420.202    21066423.705    21066418.923
+     -2010.476       -1566.605          56.000          49.000
+  -3511170.09043  -2700889.80542  24646280.131    24646283.245    24646279.463
+     -3364.731       -2621.868          43.000          36.000
+ -20025949.47643 -15593295.45542  21326500.209    21326504.176    21326499.374
+       815.779         635.672          55.000          49.000
+ -14695434.36043 -11416993.98542  22533883.490    22533887.813    22533882.317
+      -922.249        -718.635          51.000          45.000
+ 04  2  1 16 39 30.0000000  0 10G18G17G21G25G30G 9G 5G24G 6G10
+  -1599119.19353  -1187234.75152  24501411.146    24501414.679    24501409.221
+      3560.182        2774.168          43.000          35.000
+ -15738765.62743 -12243843.61142  21842832.914    21842836.623    21842832.000
+     -3087.614       -2405.933          53.000          46.000
+ -20949768.78143 -16256640.16042  21358746.940    21358748.865    21358745.419
+      1752.898        1365.895          55.000          48.000
+  -4419430.61843  -3278278.30342  24055325.888    24055330.188    24055326.472
+       546.811         426.086          46.000          39.000
+ -28125394.00044 -21912659.90742  20065687.819    20065690.664    20065687.115
+       638.614         497.621          58.000          51.000
+ -10166073.21953  -7881616.93652  24913353.049    24913355.470    24913352.523
+     -3058.151       -2382.975          38.000          32.000
+ -22165392.83043 -17259420.43442  21077941.245    21077944.764    21077940.137
+     -2025.389       -1578.225          56.000          49.000
+  -3410241.21543  -2622243.87542  24665485.370    24665488.175    24665484.823
+     -3363.402       -2620.833          43.000          36.000
+ -20050376.37543 -15612329.41942  21321852.448    21321855.404    21321851.095
+       813.078         633.567          55.000          48.000
+ -14667500.82643 -11395227.58542  22539199.550    22539202.983    22539197.299
+      -939.702        -732.235          52.000          45.000
+ 04  2  1 16 40  0.0000000  0 10G18G17G21G25G30G 9G 5G24G 6G10
+  -1705972.91043  -1270497.22742  24481077.817    24481080.271    24481076.551
+      3563.164        2776.491          44.000          36.000
+ -15646037.41943 -12171587.86742  21860478.926    21860481.574    21860477.296
+     -3093.843       -2410.787          53.000          46.000
+ -21002138.00043 -16297447.31342  21348781.449    21348783.633    21348779.728
+      1738.763        1354.880          55.000          48.000
+  -4435580.36643  -3290862.53442  24052252.823    24052257.552    24052250.879
+       530.487         413.366          45.000          40.000
+ -28144302.20244 -21927393.55942  20062089.319    20062092.516    20062088.903
+       622.340         484.940          58.000          51.000
+ -10074437.19453  -7810212.16952  24930790.443    24930794.284    24930790.382
+     -3051.492       -2377.786          39.000          32.000
+ -22104402.25643 -17211895.32742  21089546.955    21089550.612    21089545.697
+     -2040.258       -1589.811          56.000          49.000
+  -3309355.08643  -2543631.34442  24684683.972    24684687.788    24684684.495
+     -3362.073       -2619.797          43.000          36.000
+ -20074722.93843 -15631300.76642  21317218.944    21317222.337    21317217.907
+       810.474         631.538          54.000          48.000
+ -14639042.01643 -11373051.86342  22544614.422    22544618.561    22544613.177
+      -957.100        -745.792          51.000          45.000
+ 04  2  1 16 40 30.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -1812907.86843  -1353823.02242  24460727.165    24460731.564    24460726.908
+      3565.995        2778.697          43.000          36.000
+ -15553120.20243 -12099184.85342  21878160.479    21878163.446    21878159.079
+     -3100.442       -2415.929          53.000          46.000
+ -21054082.51743 -16337923.52142  21338896.624    21338898.926    21338895.203
+      1724.151        1343.494          55.000          48.000
+  -4451235.49943  -3303061.36442  24049274.638    24049277.850    24049272.202
+       513.428         400.074          47.000          40.000
+ -28162720.88144 -21941745.76242  20058584.448    20058587.352    20058583.972
+       605.599         471.895          58.000          52.000
+ -22042966.23943 -17164023.09842  21101238.055    21101241.222    21101236.475
+     -2055.463       -1601.659          56.000          49.000
+  -3208514.68143  -2465054.37942  24703874.418    24703877.744    24703871.742
+     -3361.058       -2619.006          43.000          35.000
+ -20098990.26543 -15650210.36542  21312601.416    21312604.869    21312600.480
+       807.383         629.130          55.000          49.000
+ -14610059.81743 -11350468.29142  22550129.599    22550133.195    22550128.073
+      -974.918        -759.676          51.000          45.000
+ 04  2  1 16 41  0.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -1919912.06243  -1437202.76442  24440366.163    24440368.732    24440365.342
+      3568.410        2780.579          43.000          36.000
+ -15460008.07743 -12026629.96842  21895879.085    21895881.735    21895877.248
+     -3106.606       -2420.732          53.000          46.000
+ -21105593.46843 -16378061.89542  21329093.728    21329096.563    21329092.497
+      1710.271        1332.679          55.000          48.000
+  -4466387.93943  -3314868.45242  24046390.049    24046394.156    24046389.760
+       497.222         387.446          46.000          40.000
+ -28180639.67444 -21955708.45242  20055174.533    20055177.743    20055173.892
+       589.364         459.245          58.000          52.000
+ -21981077.64643 -17115798.22742  21113015.209    21113018.630    21113013.744
+     -2070.036       -1613.015          56.000          49.000
+  -3107713.08443  -2386507.65642  24723054.667    24723058.842    24723055.178
+     -3358.641       -2617.123          43.000          36.000
+ -20123169.38943 -15669051.20442  21308000.038    21308003.671    21307999.312
+       804.877         627.177          55.000          49.000
+ -14580546.23043 -11327470.67142  22555745.769    22555749.717    22555744.467
+      -992.219        -773.158          51.000          45.000
+ 04  2  1 16 41 30.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -2026996.00143  -1520644.67742  24419988.366    24419992.306    24419986.399
+      3571.100        2782.675          45.000          37.000
+ -15366716.83743 -11953935.49342  21913631.316    21913634.809    21913630.208
+     -3112.505       -2425.328          53.000          46.000
+ -21156683.53143 -16417872.31042  21319372.380    21319374.618    21319370.925
+      1696.236        1321.742          55.000          48.000
+  -4481050.85143  -3326294.10742  24043599.128    24043604.746    24043597.811
+       480.901         374.728          45.000          39.000
+ -28198069.89944 -21969290.43542  20051858.280    20051860.802    20051857.309
+       573.072         446.550          58.000          52.000
+ -21918749.89843 -17067231.15742  21124875.175    21124879.257    21124874.120
+     -2084.636       -1624.392          55.000          49.000
+  -3006964.89943  -2308002.54142  24742226.364    24742230.264    24742226.784
+     -3357.121       -2615.938          43.000          35.000
+ -20147272.49843 -15687832.81942  21303413.072    21303416.852    21303412.060
+       802.451         625.286          54.000          48.000
+ -14550514.52443 -11304069.33742  22561459.884    22561464.947    22561458.968
+     -1009.436        -786.573          51.000          45.000
+ 04  2  1 16 42  0.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -2134149.28643  -1604140.61442  24399596.023    24399600.862    24399594.270
+      3572.964        2784.128          44.000          37.000
+ -15273240.93743 -11881097.13442  21931419.741    21931423.146    21931417.843
+     -3118.936       -2430.340          52.000          46.000
+ -21207344.08743 -16457348.04642  21309732.039    21309733.898    21309730.649
+      1681.648        1310.375          55.000          48.000
+  -4495216.52443  -3337332.33542  24040905.094    24040908.304    24040903.736
+       464.030         361.582          46.000          39.000
+ -28215002.00444 -21982484.28142  20048635.909    20048638.801    20048635.484
+       556.171         433.380          58.000          52.000
+ -21855976.39043 -17018316.74242  21136820.714    21136824.773    21136819.937
+     -2099.717       -1636.143          55.000          49.000
+  -2906263.46643  -2229533.87942  24761390.488    24761396.388    24761389.855
+     -3355.402       -2614.599          43.000          35.000
+ -20171290.92643 -15706548.43042  21298843.261    21298846.465    21298842.279
+       799.279         622.815          55.000          49.000
+ -14519957.06243 -11280258.31442  22567275.580    22567279.166    22567274.862
+     -1027.181        -800.401          51.000          45.000
+ 04  2  1 16 42 30.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -2241372.69243  -1687691.17742  24379192.639    24379198.353    24379191.355
+      3575.087        2785.782          44.000          37.000
+ -15179587.24943 -11808120.23642  21949240.693    21949244.442    21949239.449
+     -3124.932       -2435.012          52.000          46.000
+ -21257578.60443 -16496491.80842  21300172.758    21300174.632    21300171.764
+      1667.217        1299.130          55.000          48.000
+  -4508888.94843  -3347986.18842  24038302.344    24038306.681    24038302.161
+       447.497         348.699          46.000          40.000
+ -28231438.18744 -21995291.68642  20045507.903    20045510.908    20045507.574
+       539.519         420.404          58.000          52.000
+ -21792762.13443 -16969058.88742  21148850.303    21148853.809    21148849.025
+     -2114.661       -1647.788          55.000          49.000
+  -2805614.32243  -2151105.92742  24780542.407    24780549.120    24780541.440
+     -3354.088       -2613.575          43.000          35.000
+ -20195228.11543 -15725200.75042  21294287.965    21294291.221    21294286.722
+       796.524         620.668          55.000          49.000
+ -14488878.13143 -11256040.95042  22573189.712    22573193.059    22573188.511
+     -1044.715        -814.064          51.000          45.000
+ 04  2  1 16 43  0.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -2348662.82243  -1771293.74342  24358776.710    24358781.234    24358775.674
+      3576.932        2787.220          44.000          38.000
+ -15085757.92243 -11735006.48442  21967095.760    21967099.107    21967094.680
+     -3130.897       -2439.660          52.000          46.000
+ -21307386.47543 -16535303.11942  21290694.314    21290695.952    21290692.720
+      1652.715        1287.830          55.000          48.000
+  -4522068.60543  -3358256.05142  24035793.750    24035798.344    24035793.899
+       430.892         335.760          45.000          39.000
+ -28247376.59844 -22007711.21642  20042475.183    20042478.180    20042474.624
+       522.609         407.228          58.000          52.000
+ -21729108.02043 -16919458.30242  21160963.182    21160966.967    21160961.840
+     -2129.421       -1659.289          56.000          49.000
+  -2705018.61043  -2072719.62342  24799685.214    24799693.948    24799681.936
+     -3352.359       -2612.228          44.000          35.000
+ -20219083.23643 -15743789.13542  21289748.308    21289751.548    21289747.448
+       793.481         618.297          55.000          49.000
+ -14457277.79043 -11231417.29242  22579202.527    22579206.897    22579200.705
+     -1062.361        -827.814          51.000          44.000
+ 04  2  1 16 43 30.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -2456018.42343  -1854947.32042  24338347.494    24338352.157    24338345.508
+      3580.178        2789.749          45.000          38.000
+ -14991757.20743 -11661759.17142  21984983.044    21984988.134    21984982.041
+     -3135.990       -2443.628          51.000          46.000
+ -21356768.65443 -16573782.71442  21281297.391    21281299.554    21281295.479
+      1639.345        1277.412          55.000          48.000
+  -4534756.77443  -3368142.97742  24033381.408    24033383.960    24033379.759
+       415.341         323.642          46.000          40.000
+ -28262817.14544 -22019742.80742  20039536.957    20039539.720    20039536.376
+       506.694         394.826          58.000          52.000
+ -21665016.25843 -16869516.67142  21173159.497    21173162.950    21173158.623
+     -2143.296       -1670.101          56.000          49.000
+  -2604479.46943  -1994377.45142  24818815.862    24818823.354    24818815.441
+     -3350.230       -2610.569          39.000          34.000
+ -20242856.91043 -15762314.05042  21285224.544    21285228.038    21285223.531
+       791.439         616.706          55.000          49.000
+ -14425157.99043 -11206388.85442  22585314.241    22585318.280    22585312.481
+     -1078.813        -840.633          50.000          44.000
+ 04  2  1 16 44  0.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -2563434.52943  -1938648.03442  24317906.233    24317910.357    24317906.327
+      3581.291        2790.616          45.000          38.000
+ -14897585.38943 -11588378.54142  22002904.149    22002908.133    22002902.712
+     -3142.376       -2448.605          52.000          46.000
+ -21405722.14843 -16611928.26442  21271981.144    21271983.515    21271980.292
+      1624.240        1265.642          55.000          48.000
+  -4546951.59043  -3377645.45942  24031060.921    24031063.603    24031060.436
+       397.862         310.022          46.000          39.000
+ -28277755.97544 -22031383.46042  20036693.932    20036696.887    20036693.494
+       489.176         381.176          58.000          52.000
+ -21600485.28143 -16819232.80342  21185439.464    21185442.507    21185438.143
+     -2158.762       -1682.152          55.000          49.000
+  -2503995.98343  -1916078.62242  24837938.071    24837944.245    24837935.676
+     -3349.125       -2609.708          40.000          34.000
+ -20266546.25243 -15780773.25642  21280716.490    21280719.978    21280715.437
+       787.876         613.929          55.000          49.000
+ -14392516.96943 -11180954.25442  22591526.501    22591530.650    22591524.705
+     -1097.077        -854.865          50.000          45.000
+ 04  2  1 16 44 30.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -2670909.71543  -2022394.81342  24297452.834    24297459.105    24297452.649
+      3583.731        2792.518          44.000          38.000
+ -14803246.69843 -11514867.86742  22020856.458    22020860.224    22020854.688
+     -3146.907       -2452.135          52.000          46.000
+ -21454248.72543 -16649741.16642  21262747.217    21262749.370    21262745.973
+      1610.907        1255.252          55.000          48.000
+  -4558655.11443  -3386765.10242  24028833.132    24028835.856    24028831.572
+       382.152         297.781          45.000          39.000
+ -28292192.92744 -22042633.03942  20033946.769    20033949.874    20033946.243
+       473.272         368.783          58.000          52.000
+ -21535518.23643 -16768609.13942  21197802.254    21197805.912    21197800.986
+     -2172.292       -1692.695          55.000          49.000
+  -2403571.06043  -1837825.48442  24857048.680    24857054.452    24857047.752
+     -3345.804       -2607.120          39.000          34.000
+ -20290152.17743 -15799167.45442  21276224.952    21276227.702    21276223.470
+       785.950         612.429          56.000          49.000
+ -14359356.71843 -11155115.09542  22597836.680    22597839.515    22597834.919
+     -1113.518        -867.676          51.000          45.000
+ 04  2  1 16 45  0.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -2778439.01643  -2106183.76242  24276993.045    24276996.709    24276991.460
+      3585.143        2793.618          46.000          39.000
+ -14708741.13043 -11441227.17742  22038840.255    22038843.431    22038838.859
+     -3152.897       -2456.803          52.000          46.000
+ -21502345.30943 -16687219.00942  21253594.698    21253597.030    21253593.138
+      1596.150        1243.753          55.000          48.000
+  -4569865.26043  -3395500.25442  24026699.560    24026703.737    24026698.830
+       365.711         284.970          46.000          39.000
+ -28306124.06044 -22053488.47042  20031295.741    20031298.693    20031295.310
+       456.003         355.327          58.000          52.000
+ -21470114.08643 -16717644.88142  21210248.541    21210251.732    21210247.164
+     -2187.282       -1704.375          56.000          49.000
+  -2303203.69843  -1759617.13642  24876144.885    24876151.058    24876146.374
+     -3344.412       -2606.035          39.000          34.000
+ -20313671.70243 -15817494.34142  21271748.463    21271752.146    21271747.488
+       782.679         609.880          55.000          49.000
+ -14325675.32343 -11128869.84042  22604246.294    22604249.129    22604244.904
+     -1131.110        -881.384          51.000          45.000
+ 04  2  1 16 45 30.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -2886026.18943  -2190017.79242  24256520.522    24256523.639    24256519.524
+      3586.294        2794.515          47.000          39.000
+ -14614078.72043 -11367464.26942  22056854.019    22056857.330    22056852.150
+     -3158.756       -2461.368          52.000          45.000
+ -21550018.70143 -16724367.08642  21244522.818    21244524.919    21244521.587
+      1581.302        1232.183          55.000          48.000
+  -4580589.20943  -3403856.58742  24024660.117    24024661.500    24024657.698
+       348.885         271.858          46.000          39.000
+ -28319555.12044 -22063954.23142  20028740.042    20028742.945    20028739.547
+       438.666         341.818          58.000          52.000
+ -21404280.94643 -16666346.33842  21222776.003    21222779.223    21222774.744
+     -2202.291       -1716.071          55.000          49.000
+  -2202902.53343  -1681460.37342  24895234.722    24895238.118    24895233.985
+     -3342.851       -2604.819          41.000          34.000
+ -20337111.26343 -15835758.91142  21267288.405    21267291.652    21267287.595
+       779.205         607.173          55.000          49.000
+ -14291480.45243 -11102224.45742  22610753.703    22610757.027    22610751.993
+     -1149.029        -895.347          51.000          45.000
+ 04  2  1 16 46  0.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -2993662.47143  -2273890.12242  24236036.654    24236041.146    24236035.490
+      3588.498        2796.232          46.000          39.000
+ -14519256.08843 -11293576.50742  22074898.289    22074901.816    22074896.341
+     -3163.446       -2465.023          52.000          45.000
+ -21597262.83043 -16761180.67842  21235532.419    21235534.729    21235531.342
+      1567.537        1221.457          55.000          48.000
+  -4590821.63143  -3411829.88142  24022711.011    24022715.921    24022710.177
+       332.732         259.272          45.000          39.000
+ -28332478.49444 -22074024.39842  20026280.855    20026283.437    20026280.111
+       422.197         328.985          58.000          52.000
+ -21338014.10943 -16614709.85042  21235386.326    21235389.698    21235384.881
+     -2216.253       -1726.950          55.000          49.000
+  -2102662.97143  -1603351.62542  24914308.272    24914313.204    24914309.156
+     -3340.586       -2603.054          41.000          34.000
+ -20360464.13143 -15853955.94642  21262844.580    21262847.530    21262843.741
+       776.901         605.377          55.000          49.000
+ -14256766.83143 -11075174.87142  22617358.723    22617362.958    22617356.934
+     -1165.674        -908.317          51.000          45.000
+ 04  2  1 16 46 30.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -3101343.45143  -2357797.27942  24215545.699    24215549.655    24215545.127
+      3590.085        2797.469          47.000          40.000
+ -14424274.17343 -11219564.61942  22092972.161    22092975.768    22092970.527
+     -3168.616       -2469.051          52.000          45.000
+ -21644075.75343 -16797658.26942  21226624.227    21226626.907    21226622.829
+      1553.350        1210.403          55.000          48.000
+  -4600561.46143  -3419419.37442  24020857.834    24020861.865    24020857.392
+       316.639         246.732          44.000          39.000
+ -28344891.30444 -22083696.72342  20023918.400    20023921.442    20023917.966
+       405.334         315.845          58.000          52.000
+ -21271313.17543 -16562735.11142  21248079.007    21248082.316    21248077.724
+     -2230.278       -1737.879          56.000          49.000
+  -2002485.03343  -1525290.84442  24933374.527    24933375.426    24933370.718
+     -3338.403       -2601.353          41.000          34.000
+ -20383728.11743 -15872083.74242  21258417.346    21258420.722    21258416.489
+       773.874         603.019          55.000          49.000
+ -14221533.29743 -11047720.14842  22624063.920    22624067.437    22624062.755
+     -1183.035        -921.845          51.000          45.000
+ 04  2  1 16 47  0.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -3209072.47243  -2441741.84942  24195046.222    24195049.445    24195043.927
+      3591.541        2798.603          47.000          40.000
+ -14329141.74743 -11145435.44642  22111075.554    22111078.898    22111073.985
+     -3174.025       -2473.266          52.000          45.000
+ -21690463.35143 -16833804.41842  21217796.865    21217799.196    21217795.833
+      1538.747        1199.024          55.000          48.000
+  -4609815.39043  -3426630.22742  24019097.825    24019100.249    24019096.015
+       300.138         233.874          45.000          39.000
+ -28356797.97244 -22092974.66142  20021652.807    20021655.827    20021652.384
+       388.043         302.371          58.000          52.000
+ -21204185.43043 -16510427.79642  21260853.188    21260856.462    21260851.654
+     -2245.135       -1749.456          55.000          49.000
+  -8204056.27953  -6357683.98752  24952424.665    24952429.075    24952421.476
+     -3336.240       -2599.667          41.000          33.000
+ -20406908.62143 -15890146.46042  21254006.242    21254009.372    21254005.598
+       770.895         600.697          55.000          49.000
+ -14185786.47443 -11019865.46542  22630866.567    22630869.903    22630864.776
+     -1200.596        -935.529          51.000          45.000
+ 04  2  1 16 47 30.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -3316846.90243  -2525721.82942  24174536.404    24174539.216    24174535.552
+      3593.456        2800.096          47.000          40.000
+ -14233861.39343 -11071191.01942  22129205.676    22129209.846    22129204.077
+     -3178.272       -2476.575          51.000          45.000
+ -21736425.46343 -16869619.02442  21209050.551    21209052.973    21209049.374
+      1525.155        1188.432          55.000          48.000
+  -4618583.66943  -3433462.67342  24017428.138    24017433.966    24017427.609
+       284.548         221.726          45.000          39.000
+ -28368197.19644 -22101857.19242  20019483.686    20019486.632    20019483.097
+       371.675         289.617          58.000          52.000
+ -21136632.21643 -16457788.93742  21273707.947    21273711.202    21273706.733
+     -2258.710       -1760.034          56.000          49.000
+  -8104018.01443  -6279732.03542  24971459.668    24971465.361    24971460.341
+     -3333.425       -2597.474          39.000          33.000
+ -20430005.01243 -15908143.63842  21249611.209    21249614.554    21249610.403
+       768.687         598.977          55.000          49.000
+ -14149527.24243 -10991611.49442  22637765.651    22637769.256    22637764.311
+     -1216.824        -948.174          52.000          44.000
+ 04  2  1 16 48  0.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -3424657.32843  -2609729.85942  24154022.087    24154024.592    24154020.022
+      3594.784        2801.130          47.000          40.000
+ -14138429.65743 -10996828.63342  22147366.151    22147370.646    22147365.293
+     -3182.887       -2480.172          51.000          45.000
+ -21781955.70943 -16905097.12042  21200386.915    21200388.751    21200385.389
+      1511.007        1177.408          55.000          48.000
+  -4626861.24243  -3439912.75142  24015853.586    24015857.372    24015852.967
+       268.187         208.977          47.000          40.000
+ -28379081.55844 -22110338.53342  20017412.328    20017415.249    20017411.950
+       354.799         276.467          58.000          52.000
+ -21068648.46243 -16404814.60242  21286644.531    21286648.100    21286643.495
+     -2272.684       -1770.922          55.000          49.000
+  -8004045.35753  -6201831.26352  24990483.478    24990490.864    24990483.124
+     -3330.993       -2595.579          39.000          32.000
+ -20453010.60643 -15926070.06342  21245233.626    21245236.462    21245232.493
+       765.890         596.797          55.000          49.000
+ -14112750.34343 -10962954.18042  22644764.339    22644767.608    22644762.252
+     -1233.904        -961.484          51.000          44.000
+ 04  2  1 16 48 30.0000000  0  9G18G17G21G25G30G 5G24G 6G10
+  -3532505.91443  -2693767.62842  24133497.551    24133501.019    24133496.740
+      3595.387        2801.600          46.000          40.000
+ -14042854.33443 -10922354.36142  22165553.831    22165558.065    22165553.029
+     -3188.450       -2484.506          51.000          45.000
+ -21827058.58743 -16940242.19042  21191803.504    21191805.969    21191802.002
+      1496.316        1165.961          55.000          48.000
+  -4634653.48843  -3445984.64142  24014370.719    24014374.886    24014369.363
+       251.612         196.061          45.000          39.000
+ -28389454.76944 -22118421.57342  20015438.740    20015441.423    20015438.139
+       337.066         262.649          58.000          52.000
+ -21000240.87143 -16351510.00042  21299661.960    21299665.874    21299660.841
+     -2287.351       -1782.351          55.000          49.000
+  -7904144.86143  -6123986.68742  25009493.922    25009500.329    25009489.663
+     -3328.811       -2593.879          39.000          33.000
+ -20475929.60443 -15943929.03342  21240871.765    21240875.021    21240870.725
+       762.368         594.053          55.000          49.000
+ -14075461.32243 -10933897.79042  22651860.865    22651863.554    22651859.379
+     -1251.719        -975.365          51.000          45.000
+ 04  2  1 16 49  0.0000000  0 10G18G17G21G25G15G30G 5G24G 6G10
+  -3640389.41943  -2777832.60242  24112967.539    24112971.220    24112966.276
+      3596.547        2802.504          46.000          39.000
+ -13947137.45543 -10847769.77842  22183767.947    22183772.378    22183766.547
+     -3193.181       -2488.193          51.000          45.000
+ -21871733.83843 -16975054.04642  21183302.452    21183304.308    21183300.688
+      1481.763        1154.621          55.000          48.000
+  -4641960.52443  -3451678.46242  24012981.219    24012983.658    24012980.682
+       235.065         183.168          46.000          39.000
+  -1369614.18653  -1051355.97752  24979677.806    24979682.546    24979677.704
+      2997.038        2335.354          42.000          36.000
+ -28399314.94044 -22126104.83742  20013562.159    20013565.370    20013561.476
+       319.795         249.191          58.000          52.000
+ -20931410.20243 -16297875.73342  21312760.079    21312764.009    21312759.013
+     -2301.691       -1793.525          55.000          49.000
+  -7804317.59053  -6046199.14552  25028490.038    25028498.435    25028488.723
+     -3326.674       -2592.213          39.000          33.000
+ -20498761.01543 -15961719.74742  21236527.154    21236530.828    21236526.278
+       759.316         591.675          55.000          49.000
+ -14037660.61543 -10904442.68042  22659053.944    22659056.510    22659051.920
+     -1268.814        -988.686          51.000          45.000
+ 04  2  1 16 49 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -3748303.41843  -2861921.33342  24092433.444    24092435.441    24092432.099
+      3598.007        2803.642          46.000          39.000
+ -13851279.86043 -10773075.55142  22202009.503    22202013.901    22202008.401
+     -3197.452       -2491.521          51.000          45.000
+ -21915979.75543 -17009531.36142  21174882.294    21174885.001    21174881.023
+      1467.969        1143.872          55.000          48.000
+  -4648781.20343  -3456993.30242  24011681.773    24011687.459    24011680.474
+       219.293         170.878          45.000          40.000
+  -1459432.04143  -1121343.81242  24962586.121    24962592.337    24962584.590
+      2990.531        2330.284          42.000          36.000
+ -28408659.07444 -22133385.99742  20011784.208    20011787.162    20011783.568
+       303.021         236.120          58.000          52.000
+ -20862156.15643 -16243911.54342  21325939.199    21325942.657    21325937.782
+     -2315.381       -1804.193          55.000          49.000
+ -20521502.50743 -15979440.39442  21232199.911    21232202.749    21232198.868
+       756.753         589.678          55.000          49.000
+ -13999346.99243 -10874587.90142  22666343.366    22666347.592    22666342.229
+     -1285.561       -1001.736          50.000          45.000
+ 04  2  1 16 50  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -3856249.15343  -2946034.78442  24071889.794    24071894.610    24071889.712
+      3598.514        2804.037          44.000          39.000
+ -13755288.23743 -10698276.89442  22220275.444    22220279.885    22220273.794
+     -3202.028       -2495.087          51.000          45.000
+ -21959800.25043 -17043677.16342  21166543.761    21166545.994    21166542.554
+      1453.426        1132.540          55.000          48.000
+  -4655120.15343  -3461932.76942  24010476.978    24010479.503    24010475.968
+       203.285         158.404          46.000          40.000
+  -1549046.79843  -1191173.33042  24945530.779    24945538.692    24945530.712
+      2983.447        2324.764          40.000          36.000
+ -28417490.16244 -22140267.38442  20010103.707    20010106.554    20010103.084
+       285.724         222.642          58.000          52.000
+ -20792484.02043 -16189621.56542  21339197.158    21339200.746    21339195.385
+     -2329.445       -1815.152          54.000          49.000
+ -20544157.43043 -15997093.58142  21227889.122    21227891.435    21227887.680
+       753.595         587.217          55.000          49.000
+ -13960525.48443 -10844337.35842  22673732.197    22673734.857    22673730.034
+     -1302.692       -1015.085          51.000          44.000
+ 04  2  1 16 50 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -3964220.54343  -3030168.23742  24051344.277    24051347.805    24051343.208
+      3598.941        2804.370          45.000          39.000
+ -13659162.56643 -10623373.76842  22238568.090    22238571.188    22238566.174
+     -3207.253       -2499.158          51.000          45.000
+ -22003192.37943 -17077489.18442  21158286.410    21158288.494    21158285.175
+      1438.576        1120.968          55.000          49.000
+  -4660975.23343  -3466495.14942  24009361.036    24009366.498    24009361.217
+       186.579         145.386          46.000          40.000
+  -1638454.50353  -1260841.56252  24928516.644    24928526.880    24928518.323
+      2976.267        2319.169          39.000          35.000
+ -28425803.94344 -22146745.68442  20008521.727    20008524.717    20008521.174
+       267.767         208.650          58.000          52.000
+ -20722392.39443 -16135004.73942  21352534.489    21352538.941    21352533.172
+     -2344.140       -1826.602          54.000          48.000
+ -20566722.40743 -16014676.68842  21223594.944    21223597.946    21223594.227
+       749.963         584.387          55.000          49.000
+ -13921194.34643 -10813689.70042  22681215.910    22681219.099    22681214.526
+     -1320.011       -1028.580          51.000          44.000
+ 04  2  1 16 51  0.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -4072215.86443  -3114320.33542  24030793.470    24030797.287    24030792.973
+      3600.722        2805.757          44.000          39.000
+ -13562906.15443 -10548368.78342  22256885.560    22256889.611    22256883.880
+     -3210.423       -2501.628          51.000          45.000
+ -22046156.62143 -17110967.78242  21150110.286    21150113.061    21150108.838
+      1425.373        1110.680          55.000          49.000
+  -4666348.22743  -3470681.94342  24008341.270    24008344.203    24008338.618
+       171.479         133.620          46.000          40.000
+ -28433599.96744 -22152820.51942  20007037.850    20007040.924    20007037.383
+       251.506         195.979          58.000          52.000
+ -20651883.82943 -16080063.00842  21365952.382    21365956.557    21365951.483
+     -2356.879       -1836.529          55.000          49.000
+ -20589197.48043 -16032189.73842  21219317.172    21219321.023    21219316.935
+       747.992         582.851          55.000          49.000
+ -13881355.18143 -10782646.20042  22688797.045    22688801.372    22688795.191
+     -1336.114       -1041.128          51.000          44.000
+ 04  2  1 16 51 30.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -4180230.90843  -3198487.79542  24010236.724    24010241.276    24010237.206
+      3600.460        2805.553          43.000          39.000
+ -13466520.70943 -10473263.25042  22275226.614    22275230.284    22275225.220
+     -3215.171       -2505.328          51.000          44.000
+ -22088692.23943 -17144112.37842  21142016.692    21142018.592    21142015.343
+      1410.635        1099.196          56.000          49.000
+  -4671239.00043  -3474492.95142  24007409.331    24007413.096    24007408.803
+       154.780         120.608          47.000          40.000
+ -28440876.31344 -22158490.41642  20005653.343    20005656.349    20005652.775
+       233.684         182.091          58.000          52.000
+ -20580958.30743 -16024796.36842  21379449.284    21379452.787    21379448.027
+     -2371.157       -1847.655          55.000          49.000
+ -20611581.13343 -16049631.51842  21215058.666    21215061.855    21215057.412
+       744.481         580.115          55.000          49.000
+ -13841007.86443 -10751206.72242  22696475.348    22696479.032    22696473.223
+     -1353.380       -1054.582          50.000          44.000
+ 04  2  1 16 52  0.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -4288264.33443  -3282669.59842  23989679.678    23989685.943    23989679.858
+      3600.612        2805.672          43.000          39.000
+ -13370010.25443 -10398060.29742  22293591.554    22293596.151    22293590.611
+     -3219.603       -2508.781          50.000          45.000
+ -22130800.84743 -17176924.23542  21134003.350    21134005.502    21134001.881
+      1395.985        1087.781          56.000          49.000
+  -4675649.65243  -3477929.84842  24006568.296    24006573.364    24006568.860
+       138.451         107.884          46.000          39.000
+ -28447633.10444 -22163755.45042  20004367.371    20004370.867    20004366.914
+       216.021         168.328          58.000          52.000
+ -20509619.08743 -15969207.37342  21393024.556    21393027.967    21393023.095
+     -2385.399       -1858.752          55.000          48.000
+ -20633874.00443 -16067002.54842  21210815.946    21210819.589    21210814.991
+       741.020         577.418          55.000          49.000
+ -13800154.72143 -10719373.10442  22704248.918    22704253.407    22704247.574
+     -1370.558       -1067.967          50.000          44.000
+ 04  2  1 16 52 30.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -4396310.89643  -3366861.63342  23969117.662    23969123.872    23969118.267
+      3602.552        2807.183          44.000          38.000
+ -13273374.58843 -10322759.77942  22311981.409    22311984.553    22311979.493
+     -3222.771       -2511.250          50.000          45.000
+ -22172479.78343 -17209401.28442  21126071.510    21126074.267    21126070.587
+      1382.725        1077.448          55.000          49.000
+  -4679578.30243  -3480991.13842  24005822.935    24005825.849    24005821.990
+       123.551          96.274          46.000          39.000
+ -28453866.40244 -22168612.57142  20003181.505    20003184.723    20003180.847
+       199.550         155.494          58.000          52.000
+ -20437864.89443 -15913295.01942  21406678.230    21406682.275    21406677.414
+     -2398.056       -1868.615          54.000          48.000
+ -20656072.68343 -16084300.19542  21206592.355    21206595.132    21206591.274
+       739.019         575.859          55.000          49.000
+ -13758793.81643 -10687143.81942  22712119.924    22712124.286    22712117.608
+     -1386.614       -1080.478          50.000          44.000
+ 04  2  1 16 53  0.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -4504372.91643  -3451065.71842  23948554.525    23948561.199    23948553.592
+      3602.009        2806.760          42.000          38.000
+ -13176622.11943 -10247368.27042  22330391.601    22330396.167    22330391.088
+     -3226.848       -2514.427          51.000          44.000
+ -22213734.75243 -17241547.97942  21118221.706    21118223.987    21118220.258
+      1368.221        1066.146          56.000          49.000
+  -4683031.60343  -3483682.03042  24005164.558    24005169.288    24005164.469
+       107.309          83.617          47.000          40.000
+ -28459581.07944 -22173065.56942  20002094.343    20002097.110    20002093.660
+       181.964         141.790          58.000          52.000
+ -20365703.20943 -15857065.13642  21420410.988    21420414.565    21420409.488
+     -2412.092       -1879.552          55.000          48.000
+ -20678182.35843 -16101528.52142  21202385.502    21202387.715    21202384.101
+       735.606         573.199          56.000          49.000
+ -13716932.12443 -10654524.30542  22720085.229    22720089.834    22720083.495
+     -1403.498       -1093.635          50.000          44.000
+ 04  2  1 16 53 30.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -4612443.89443  -3535276.77442  23927991.558    23927995.489    23927989.999
+      3602.601        2807.222          45.000          39.000
+ -13079751.34143 -10171884.53442  22348825.904    22348830.928    22348824.777
+     -3230.775       -2517.487          51.000          45.000
+ -22254561.58643 -17273361.06242  21110452.354    21110454.499    21110451.127
+      1353.956        1055.031          55.000          49.000
+  -4686006.32243  -3485999.98542  24004599.599    24004602.568    24004598.575
+        91.413          71.231          46.000          39.000
+ -28464771.86844 -22177110.34542  20001106.188    20001109.326    20001105.926
+       164.420         128.119          58.000          52.000
+ -20293131.30743 -15800515.59442  21434221.096    21434224.233    21434219.745
+     -2425.674       -1890.135          55.000          48.000
+ -20700198.12143 -16118683.62342  21198194.430    21198198.763    21198193.877
+       732.535         570.806          55.000          49.000
+ -13674566.61843 -10621512.21442  22728148.536    22728150.999    22728146.028
+     -1420.504       -1106.886          50.000          44.000
+ 04  2  1 16 54  0.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -4720521.97843  -3619493.38942  23907424.468    23907428.043    23907422.720
+      3602.825        2807.396          45.000          39.000
+ -12982765.70643 -10096311.31042  22367281.848    22367285.787    22367280.344
+     -3234.660       -2520.514          51.000          44.000
+ -22294961.12243 -17304841.17642  21102764.153    21102766.994    21102762.957
+      1339.584        1043.832          55.000          49.000
+  -4688504.05643  -3487946.27242  24004123.551    24004127.387    24004122.142
+        75.206          58.602          46.000          39.000
+ -28469438.57444 -22180746.73942  20000218.460    20000221.127    20000217.801
+       146.817         114.403          58.000          52.000
+ -20220151.45243 -15743648.17142  21448108.270    21448111.767    21448106.954
+     -2439.450       -1900.870          54.000          48.000
+ -20722120.21943 -16135765.74342  21194023.417    21194026.451    21194022.652
+       729.215         568.219          55.000          49.000
+ -13631698.98343 -10588108.84942  22736305.161    22736308.157    22736303.216
+     -1437.047       -1119.777          50.000          44.000
+ 04  2  1 16 54 30.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -4828607.18543  -3703715.54142  23886857.043    23886860.672    23886856.034
+      3602.314        2806.998          45.000          39.000
+ -12885670.84643 -10020652.98442  22385758.314    22385762.242    22385756.531
+     -3238.850       -2523.779          50.000          44.000
+ -22334937.07943 -17335991.21542  21095157.032    21095159.570    21095155.644
+      1324.829        1032.334          55.000          49.000
+  -4690529.03143  -3489524.20542  24003739.438    24003741.731    24003737.499
+        59.174          46.110          47.000          40.000
+ -28473583.32944 -22183976.41142  19999429.628    19999432.664    19999428.902
+       128.849         100.402          58.000          52.000
+ -20146768.79743 -15686466.89042  21462073.014    21462076.341    21462071.205
+     -2453.379       -1911.724          55.000          48.000
+ -20743951.32943 -16152776.99042  21189868.983    21189872.549    21189867.961
+       725.548         565.362          55.000          49.000
+ -13588333.42943 -10554317.51442  22744557.545    22744560.811    22744556.830
+     -1454.463       -1133.348          51.000          44.000
+ 04  2  1 16 55  0.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -4936693.05243  -3787938.22442  23866289.386    23866292.201    23866287.586
+      3603.623        2808.018          46.000          39.000
+ -12788466.09343  -9944909.01742  22404254.625    22404260.696    22404254.131
+     -3241.467       -2525.818          50.000          44.000
+ -22374486.08443 -17366808.57542  21087631.342    21087633.353    21087629.743
+      1311.846        1022.218          55.000          49.000
+  -4692078.79343  -3490731.80142  24003442.593    24003446.925    24003442.426
+        44.631          34.777          46.000          40.000
+ -28477201.74744 -22186795.95842  19998741.033    19998744.194    19998740.463
+       112.503          87.665          58.000          52.000
+ -20072981.71843 -15628970.48642  21476114.189    21476117.564    21476112.652
+     -2465.512       -1921.178          54.000          48.000
+ -20765687.21643 -16169714.03142  21185732.949    21185736.322    21185731.898
+       723.593         563.839          56.000          49.000
+ -13544467.76843 -10520136.48142  22752904.947    22752908.409    22752903.675
+     -1470.114       -1145.543          51.000          44.000
+ 04  2  1 16 55 30.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -5044776.25243  -3872158.80542  23845721.820    23845724.712    23845719.963
+      3602.285        2806.975          46.000          39.000
+ -12691153.23943  -9869080.83342  22422773.098    22422777.738    22422772.336
+     -3246.016       -2529.363          50.000          44.000
+ -22413607.23743 -17397292.54042  21080186.814    21080189.448    21080185.800
+      1296.561        1010.307          55.000          49.000
+  -4693153.75243  -3491569.47742  24003237.671    24003244.447    24003237.681
+        27.133          21.142          46.000          40.000
+ -28480292.15844 -22189204.06742  19998152.649    19998155.948    19998152.185
+        93.919          73.184          58.000          52.000
+ -19998790.35143 -15571159.03842  21490231.965    21490235.602    21490231.036
+     -2480.101       -1932.546          54.000          48.000
+ -20787326.41243 -16186575.70642  21181615.055    21181618.038    21181613.909
+       719.358         560.539          55.000          49.000
+ -13500102.58343 -10485566.18342  22761347.916    22761351.039    22761345.821
+     -1487.503       -1159.093          51.000          44.000
+ 04  2  1 16 56  0.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -5152857.54343  -3956377.90542  23825155.433    23825157.575    23825153.141
+      3602.178        2806.892          46.000          40.000
+ -12593738.52643  -9793173.25642  22441311.128    22441315.670    22441310.300
+     -3249.677       -2532.216          50.000          44.000
+ -22452304.72243 -17427446.37842  21072823.410    21072825.247    21072822.107
+      1282.291         999.188          56.000          49.000
+  -4693758.62343  -3492040.79942  24003123.240    24003128.390    24003121.785
+        11.587           9.029          45.000          39.000
+ -28482857.24544 -22191202.83942  19997664.798    19997667.589    19997664.348
+        76.072          59.277          58.000          52.000
+ -19924200.29043 -15513036.91442  21504426.219    21504429.296    21504425.003
+     -2493.567       -1943.039          54.000          48.000
+ -20808872.06543 -16203364.54542  21177515.116    21177518.331    21177513.820
+       716.122         558.017          56.000          49.000
+ -13455242.46043 -10450610.23842  22769884.327    22769887.348    22769882.818
+     -1504.161       -1172.073          51.000          44.000
+ 04  2  1 16 56 30.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -5260930.49343  -4040590.49842  23804589.170    23804591.437    23804587.500
+      3602.366        2807.038          46.000          39.000
+ -12496221.27343  -9717185.79342  22459869.199    22459871.619    22459867.212
+     -3252.438       -2534.367          50.000          44.000
+ -22490575.48143 -17457267.70242  21065540.169    21065542.095    21065539.046
+      1268.491         988.434          56.000          49.000
+  -4693890.69943  -3492143.75442  24003099.335    24003103.264    24003097.144
+        -3.324          -2.590          45.000          40.000
+ -28484892.66144 -22192788.87242  19997277.420    19997280.401    19997276.963
+        58.960          45.943          58.000          52.000
+ -19849210.00243 -15454602.92742  21518695.991    21518699.665    21518694.753
+     -2506.469       -1953.093          54.000          48.000
+ -20830319.99843 -16220077.20242  21173433.795    21173436.780    21173432.365
+       713.282         555.804          56.000          49.000
+ -13409885.26143 -10415266.97242  22778515.775    22778518.619    22778514.693
+     -1520.106       -1184.498          51.000          44.000
+ 04  2  1 16 57  0.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -5368993.38843  -4124795.24942  23784024.933    23784026.813    23784023.345
+      3601.731        2806.544          45.000          39.000
+ -12398605.20843  -9641121.32942  22478444.568    22478448.004    22478443.241
+     -3255.582       -2536.817          50.000          44.000
+ -22528420.86943 -17486757.57642  21058338.247    21058340.389    21058337.559
+      1254.241         977.331          56.000          49.000
+  -4693552.58643  -3491880.35242  24003162.313    24003167.108    24003161.780
+       -19.056         -14.849          45.000          39.000
+ -28486398.98044 -22193962.62442  19996990.962    19996993.856    19996990.247
+        41.268          32.157          58.000          52.000
+ -19773822.11243 -15395859.13542  21533042.312    21533045.509    21533040.897
+     -2519.595       -1963.321          54.000          48.000
+ -20851670.84743 -16236714.18942  21169370.632    21169373.816    21169369.670
+       709.995         553.243          56.000          49.000
+ -13364033.29443 -10379538.16142  22787240.509    22787244.130    22787238.591
+     -1536.716       -1197.441          51.000          44.000
+ 04  2  1 16 57 30.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -5477042.96443  -4208989.63542  23763462.727    23763466.401    23763463.024
+      3601.279        2806.191          45.000          40.000
+ -12300891.97143  -9564981.13642  22497039.294    22497040.987    22497037.398
+     -3258.815       -2539.336          50.000          44.000
+ -22565840.15843 -17515915.42142  21051217.969    21051219.845    21051216.429
+      1240.174         966.369          56.000          49.000
+  -4692744.60243  -3491250.75142  24003316.197    24003321.353    24003315.110
+       -34.764         -27.089          46.000          40.000
+ -28487374.53444 -22194722.79642  19996805.224    19996808.014    19996804.647
+        23.544          18.346          58.000          52.000
+ -19698038.07743 -15336806.64942  21547463.208    21547467.079    21547462.011
+     -2532.829       -1973.633          54.000          48.000
+ -20872923.13643 -16253274.34842  21165326.966    21165329.638    21165325.789
+       706.634         550.624          56.000          49.000
+ -13317687.07043 -10343424.21642  22796060.025    22796064.037    22796058.309
+     -1553.218       -1210.300          51.000          44.000
+ 04  2  1 16 58  0.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -5585080.06443  -4293174.30442  23742904.616    23742907.947    23742904.348
+      3600.950        2805.935          45.000          40.000
+ -12203087.98043  -9488770.23242  22515650.450    22515653.572    22515648.686
+     -3261.574       -2541.486          50.000          44.000
+ -22602837.59043 -17544744.53742  21044177.141    21044179.419    21044176.240
+      1226.175         955.461          56.000          49.000
+  -4691471.38243  -3490258.65342  24003560.148    24003562.806    24003558.654
+       -50.253         -39.158          47.000          40.000
+ -28487822.05544 -22195071.52042  19996719.916    19996723.083    19996719.367
+         6.008           4.682          58.000          52.000
+ -19621862.98443 -15277449.43542  21561959.208    21561962.436    21561957.568
+     -2545.659       -1983.630          54.000          48.000
+ -20894079.92443 -16269760.10642  21161300.038    21161303.446    21161299.146
+       703.684         548.325          55.000          49.000
+ -13270851.51743 -10306928.96842  22804972.561    22804976.264    22804970.581
+     -1569.273       -1222.810          51.000          44.000
+ 04  2  1 16 58 30.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -5693094.68343  -4377341.44742  23722351.542    23722353.613    23722349.089
+      3599.987        2805.185          46.000          40.000
+ -12105188.56943  -9412484.97842  22534280.253    22534283.290    22534278.965
+     -3265.119       -2544.248          50.000          44.000
+ -22639406.31143 -17573239.59942  21037218.066    21037220.428    21037217.490
+      1211.777         944.242          56.000          49.000
+  -4689727.37643  -3488899.69742  24003891.919    24003893.907    24003890.028
+       -66.135         -51.534          46.000          39.000
+ -28487733.68044 -22195002.65942  19996736.944    19996739.911    19996736.366
+       -11.977          -9.333          58.000          52.000
+ -19545291.60043 -15217783.41742  21576529.906    21576533.586    21576528.393
+     -2558.988       -1994.017          54.000          48.000
+ -20915133.52443 -16286165.46742  21157294.260    21157296.968    21157293.013
+       700.080         545.517          55.000          49.000
+ -13223520.82243 -10270047.90842  22813978.674    22813983.265    22813976.683
+     -1585.904       -1235.769          51.000          44.000
+ 04  2  1 16 59  0.0000000  0  8G18G17G21G25G30G 5G 6G10
+  -5801091.36643  -4461494.61242  23701798.155    23701801.588    23701797.580
+      3599.507        2804.811          45.000          40.000
+ -12007204.12843  -9336133.47342  22552925.377    22552928.574    22552925.253
+     -3267.416       -2546.038          51.000          44.000
+ -22675554.65543 -17601407.10542  21030339.288    21030341.676    21030338.343
+      1197.894         933.424          56.000          49.000
+  -4687521.25143  -3487180.65642  24004310.352    24004314.603    24004309.060
+       -81.327         -63.372          46.000          39.000
+ -28487116.49844 -22194521.73942  19996854.088    19996857.352    19996853.631
+       -29.427         -22.930          58.000          52.000
+ -19468333.33643 -15157815.95042  21591174.335    21591177.686    21591173.374
+     -2571.778       -2003.983          54.000          48.000
+ -20936090.72743 -16302495.71442  21153305.916    21153308.898    21153304.697
+       696.951         543.079          56.000          49.000
+ -13175704.02843 -10232788.05842  22823078.148    22823082.576    22823077.531
+     -1602.030       -1248.335          51.000          44.000
+ 04  2  1 16 59 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -5909064.60543  -4545629.52842  23681252.136    23681254.246    23681251.932
+      3598.968        2804.391          46.000          40.000
+ -11909134.26943  -9259715.40842  22571586.824    22571591.083    22571585.074
+     -3270.152       -2548.170          50.000          44.000
+ -22711279.69443 -17629244.76042  21023541.977    21023543.418    21023540.421
+      1184.095         922.671          56.000          49.000
+  -4684850.99243  -3485099.93342  24004818.373    24004822.142    24004819.147
+       -96.345         -75.074          46.000          39.000
+                                  24629264.243
+      2846.459        2218.020          42.000
+ -28485966.72244 -22193625.81042  19997073.268    19997076.158    19997072.370
+       -46.873         -36.524          58.000          52.000
+ -19390986.91543 -15097546.01942  21605892.900    21605896.778    21605891.979
+     -2584.272       -2013.718          54.000          48.000
+ -20956948.08343 -16318748.17742  21149336.552    21149340.270    21149335.724
+       693.903         540.704          55.000          49.000
+ -13127399.49343 -10195148.15742  22832271.164    22832274.127    22832269.605
+     -1617.986       -1260.768          51.000          44.000
+ 04  2  1 17  0  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -6017006.67443  -4629740.16242  23660712.113    23660714.646    23660710.740
+      3597.154        2802.977          48.000          40.000
+ -11810976.80943  -9183229.06842  22590266.137    22590269.402    22590264.418
+     -3273.678       -2550.918          50.000          44.000
+ -22746577.17943 -17656749.26242  21016824.175    21016826.205    21016823.073
+      1169.230         911.088          55.000          49.000
+  -4681713.30943  -3482655.00142  24005415.981    24005419.704    24005415.366
+      -112.791         -87.889          46.000          39.000
+  -1105391.21253   -851256.12452  24613043.737    24613049.405    24613042.667
+      2837.255        2210.848          41.000          36.000
+ -28484278.91844 -22192310.63742  19997394.042    19997397.449    19997393.444
+       -65.538         -51.068          58.000          52.000
+ -19313249.89543 -15036971.72742  21620686.043    21620689.626    21620684.809
+     -2598.014       -2024.426          54.000          48.000
+ -20977700.20243 -16334918.64942  21145387.663    21145391.422    21145386.953
+       689.722         537.446          55.000          49.000
+ -13078603.86143 -10157125.58842  22841556.331    22841559.111    22841554.140
+     -1634.935       -1273.975          51.000          44.000
+ 04  2  1 17  0 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -6124921.12543  -4713829.28342  23640176.695    23640179.038    23640174.908
+      3596.414        2802.401          47.000          41.000
+ -11712740.93243  -9106681.62842  22608959.221    22608964.105    22608957.562
+     -3276.075       -2552.786          50.000          44.000
+ -22781454.34243 -17683926.24142  21010187.643    21010189.667    21010186.463
+      1155.258         900.201          56.000          49.000
+  -4678116.39343  -3479852.22242  24006101.256    24006104.022    24006099.315
+      -127.752         -99.547          47.000          40.000
+  -1190408.74143   -917503.41742  24596865.868    24596871.080    24596863.770
+      2829.743        2204.994          44.000          37.000
+ -28482059.15144 -22190580.94242  19997816.642    19997819.527    19997816.038
+       -83.125         -64.773          58.000          52.000
+ -19235130.39543 -14976099.40242  21635551.938    21635554.884    21635550.641
+     -2610.618       -2034.248          54.000          47.000
+ -20998352.76543 -16351011.55242  21141457.812    21141461.132    21141456.884
+       686.515         534.947          55.000          49.000
+ -13029325.30743 -10118726.71042  22850933.378    22850936.911    22850932.070
+     -1650.820       -1286.353          51.000          44.000
+ 04  2  1 17  1  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -6232804.84843  -4797894.46342  23619646.875    23619648.961    23619645.859
+      3595.757        2801.889          48.000          41.000
+ -11614428.87443  -9030074.82242  22627668.088    22627672.489    22627666.929
+     -3278.299       -2554.519          50.000          44.000
+ -22815911.10943 -17710775.63642  21003630.732    21003632.780    21003629.294
+      1141.682         889.622          56.000          49.000
+  -4674060.89843  -3476692.09942  24006871.556    24006873.767    24006871.334
+      -142.732        -111.220          46.000          40.000
+  -1275196.61643   -983571.83742  24580729.701    24580735.093    24580729.974
+      2822.591        2199.422          43.000          36.000
+ -28479306.41544 -22188435.94842  19998340.418    19998343.553    19998339.883
+      -100.469         -78.287          58.000          52.000
+ -19156630.32843 -14914930.52942  21650490.017    21650493.182    21650488.495
+     -2622.905       -2043.822          54.000          47.000
+ -21018904.83443 -16367026.14542  21137547.199    21137550.418    21137545.887
+       683.495         532.593          56.000          49.000
+ -12979564.69043 -10079952.19942  22860402.438    22860405.772    22860400.844
+     -1666.540       -1298.602          51.000          44.000
+ 04  2  1 17  1 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -6340652.51043  -4881931.54842  23599123.484    23599125.351    23599123.384
+      3593.782        2800.350          48.000          41.000
+ -11516040.39443  -8953408.47642  22646391.488    22646394.123    22646389.259
+     -3281.330       -2556.880          51.000          44.000
+ -22849945.12343 -17737295.62242  20997154.544    20997155.891    20997152.812
+      1127.000         878.182          56.000          49.000
+  -4669545.75843  -3473173.78942  24007731.807    24007735.535    24007730.757
+      -158.607        -123.590          46.000          40.000
+  -1359751.28743  -1049458.50442  24564641.047    24564647.928    24564639.554
+      2814.488        2193.108          43.000          37.000
+ -28476017.49244 -22185873.15042  19998966.110    19998969.288    19998965.622
+      -119.019         -92.742          58.000          52.000
+ -19077748.69343 -14853464.32842  21665500.591    21665504.437    21665499.320
+     -2636.181       -2054.167          53.000          47.000
+ -21039353.29743 -16382960.00742  21133655.113    21133659.311    21133654.419
+       679.444         529.437          55.000          49.000
+ -12929321.17543 -10040801.41842  22869963.353    22869966.407    22869961.807
+     -1683.179       -1311.568          51.000          44.000
+ 04  2  1 17  2  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -6448458.36443  -4965936.05842  23578607.876    23578611.212    23578607.961
+      3592.952        2799.703          48.000          40.000
+ -11417575.37543  -8876682.49442  22665128.522    22665132.084    22665127.581
+     -3283.362       -2558.464          50.000          44.000
+ -22883554.72143 -17763484.90742  20990758.719    20990760.011    20990757.824
+      1113.297         867.504          56.000          49.000
+  -4664569.66643  -3469296.31342  24008678.712    24008682.781    24008677.628
+      -173.409        -135.124          46.000          40.000
+  -1444069.00443  -1115160.52642  24548594.306    24548601.203    24548593.241
+      2807.272        2187.485          44.000          37.000
+ -28472189.06044 -22182889.95342  19999694.952    19999697.879    19999694.214
+      -136.558        -106.409          58.000          52.000
+ -18998484.38943 -14791699.95842  21680584.150    21680587.403    21680582.830
+     -2648.418       -2063.702          54.000          47.000
+ -21059694.79343 -16398810.53242  21129784.651    21129788.014    21129783.802
+       676.269         526.963          55.000          49.000
+ -12878593.19643 -10001273.10042  22879616.448    22879619.934    22879615.425
+     -1699.005       -1323.900          51.000          44.000
+ 04  2  1 17  2 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -6556227.21843  -5049911.74942  23558101.084    23558105.097    23558100.403
+      3591.799        2798.804          48.000          40.000
+ -11319044.20643  -8799904.95542  22683877.234    22683881.661    22683876.494
+     -3285.649       -2560.246          49.000          43.000
+ -22916747.73143 -17789349.59142  20984441.525    20984443.763    20984440.558
+      1099.463         856.724          56.000          49.000
+  -4659141.54243  -3465066.62942  24009711.317    24009714.320    24009708.825
+      -188.547        -146.920          46.000          40.000
+  -1528156.66943  -1180683.27242  24532594.191    24532600.332    24532593.700
+      2799.341        2181.305          45.000          37.000
+ -28467828.37844 -22179492.02042  20000524.702    20000527.596    20000524.117
+      -154.266        -120.207          58.000          52.000
+ -18918847.55243 -14729645.28942  21695738.183    21695742.167    21695737.225
+     -2660.810       -2073.358          54.000          47.000
+ -21079936.41543 -16414583.21942  21125932.765    21125935.924    21125931.794
+       673.098         524.492          55.000          49.000
+ -12827390.20843  -9961374.67442  22889359.858    22889363.972    22889358.200
+     -1714.668       -1336.105          50.000          44.000
+ 04  2  1 17  3  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -6663949.86643  -5133851.43542  23537602.268    23537605.108    23537599.654
+      3589.832        2797.272          49.000          40.000
+ -11220442.67143  -8723072.59042  22702640.545    22702644.966    22702639.101
+     -3287.916       -2562.012          49.000          43.000
+ -22949518.20443 -17814885.02042  20978206.108    20978208.278    20978204.558
+      1085.185         845.599          56.000          49.000
+  -4653256.39043  -3460480.79442  24010830.889    24010835.520    24010831.556
+      -203.894        -158.878          47.000          40.000
+  -1612006.52743  -1246020.72742  24516636.835    24516643.136    24516635.246
+      2791.342        2175.072          44.000          38.000
+ -28462928.27844 -22175673.75842  20001456.980    20001460.262    20001456.366
+      -172.550        -134.454          58.000          52.000
+ -18838833.55443 -14667296.72742  21710965.005    21710967.905    21710963.308
+     -2673.516       -2083.259          54.000          48.000
+ -21100070.73643 -16430272.31542  21122101.395    21122104.447    21122100.207
+       669.210         521.462          55.000          49.000
+ -12775707.03943  -9921102.07142  22899194.560    22899198.350    22899192.508
+     -1731.050       -1348.870          50.000          44.000
+ 04  2  1 17  3 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -6771624.48843  -5217753.68142  23517112.044    23517114.537    23517111.502
+      3588.278        2796.061          48.000          41.000
+ -11121773.83943  -8646187.77942  22721418.027    22721421.023    22721416.276
+     -3290.171       -2563.770          49.000          44.000
+ -22981867.17243 -17840092.00342  20972050.338    20972052.513    20972048.821
+      1071.236         834.729          56.000          49.000
+  -4646916.13843  -3455540.37142  24012037.140    24012040.170    24012037.359
+      -218.574        -170.317          47.000          40.000
+  -1695618.57743  -1311172.87342  24500728.331    24500732.352    24500724.759
+      2783.243        2168.761          47.000          38.000
+ -28457488.84344 -22171435.24042  20002492.272    20002495.301    20002491.765
+      -190.313        -148.296          58.000          52.000
+ -18758444.95243 -14604656.25742  21726262.509    21726265.305    21726260.911
+     -2685.870       -2092.886          54.000          48.000
+ -21120097.72643 -16445877.78142  21118290.489    21118294.274    21118289.652
+       665.840         518.836          55.000          49.000
+ -12723545.73243  -9880456.89142  22909120.958    22909124.048    22909120.301
+     -1746.711       -1361.073          50.000          44.000
+ 04  2  1 17  4  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -6879251.53443  -5301618.87942  23496632.191    23496635.081    23496632.421
+      3586.956        2795.031          49.000          40.000
+ -11023044.19243  -8569255.59142  22740205.822    22740209.280    22740203.375
+     -3291.897       -2565.114          49.000          43.000
+ -23013799.00843 -17864973.94742  20965974.007    20965975.709    20965972.568
+      1057.725         824.201          56.000          49.000
+  -4640125.73143  -3450249.17042  24013330.283    24013332.715    24013329.420
+      -233.206        -181.719          46.000          40.000
+  -1778995.05943  -1376141.47842  24484861.368    24484866.554    24484859.708
+      2775.153        2162.457          45.000          37.000
+ -28451513.34044 -22166778.99842  20003629.566    20003632.295    20003628.629
+      -207.954        -162.042          58.000          52.000
+ -18677687.33943 -14541728.25342  21741629.700    21741633.719    21741628.372
+     -2697.780       -2102.166          54.000          47.000
+ -21140020.28943 -16461401.86742  21114499.206    21114502.293    21114498.518
+       662.523         516.252          55.000          49.000
+ -12670911.50143  -9839443.19842  22919136.346    22919140.847    22919135.003
+     -1762.056       -1373.031          50.000          44.000
+ 04  2  1 17  4 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -6986825.71243  -5385442.86242  23476161.331    23476162.204    23476158.476
+      3585.657        2794.018          49.000          41.000
+ -10924253.77543  -8492276.05242  22759005.188    22759008.428    22759003.866
+     -3293.425       -2566.305          50.000          43.000
+ -23045312.01743 -17889529.53442  20959976.952    20959979.139    20959975.687
+      1044.138         813.614          56.000          49.000
+  -4632884.68743  -3444606.81242  24014707.160    24014711.900    24014705.743
+      -247.750        -193.052          47.000          40.000
+  -1862132.90843  -1440924.10342  24469040.359    24469045.282    24469039.755
+      2768.299        2157.116          47.000          37.000
+ -28444999.10444 -22161702.96642  20004868.993    20004871.800    20004868.394
+      -225.378        -175.619          58.000          52.000
+ -18596560.60843 -14478512.64042  21757067.750    21757071.286    21757065.947
+     -2709.496       -2111.295          53.000          47.000
+ -21159835.48543 -16476842.28942  21110728.816    21110731.925    21110728.023
+       659.524         513.915          55.000          49.000
+ -12617803.82243  -9798060.58042  22929242.933    22929247.487    22929240.935
+     -1777.483       -1385.052          50.000          44.000
+ 04  2  1 17  5  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -7094344.20443  -5469223.45742  23455700.820    23455704.485    23455698.355
+      3583.746        2792.529          48.000          41.000
+ -10825405.13943  -8415251.13642  22777815.262    22777819.189    22777813.242
+     -3294.939       -2567.485          50.000          43.000
+ -23076407.09543 -17913759.46842  20954059.501    20954062.085    20954058.405
+      1030.372         802.887          56.000          49.000
+  -4625194.60543  -3438614.53842  24016171.274    24016176.241    24016170.033
+      -262.817        -204.792          47.000          40.000
+  -1945031.23243  -1505520.10042  24453265.697    24453270.783    24453264.437
+      2760.427        2150.982          46.000          37.000
+ -28437945.74544 -22156206.83842  20006210.868    20006214.207    20006210.366
+      -243.240        -189.538          58.000          52.000
+ -18515066.49743 -14415010.74442  21772575.552    21772578.046    21772574.177
+     -2721.683       -2120.792          53.000          47.000
+ -21179542.74343 -16492198.59942  21106978.001    21106981.690    21106977.508
+       656.082         511.233          55.000          49.000
+ -12564224.64043  -9756310.57242  22939438.672    22939442.135    22939436.775
+     -1792.878       -1397.048          50.000          44.000
+ 04  2  1 17  5 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -7201804.52943  -5552958.73042  23435251.738    23435253.551    23435249.190
+      3582.353        2791.444          48.000          41.000
+ -10726501.09543  -8338183.05842  22796634.194    22796638.794    22796633.742
+     -3296.219       -2568.482          49.000          43.000
+ -23107084.88343 -17937664.23942  20948222.254    20948223.806    20948220.735
+      1017.108         792.552          56.000          49.000
+  -4617057.31543  -3432273.84342  24017719.565    24017723.213    24017718.539
+      -276.710        -215.618          46.000          40.000
+  -2027689.18343  -1569928.75442  24437535.219    24437540.116    24437534.556
+      2752.641        2144.915          46.000          37.000
+ -28430353.08344 -22150290.47842  20007655.786    20007658.748    20007655.142
+      -260.651        -203.105          58.000          52.000
+ -18433207.43043 -14351224.45342  21788152.713    21788155.225    21788151.290
+     -2733.277       -2129.826          53.000          47.000
+ -21199141.40043 -16507470.28142  21103249.023    21103252.144    21103248.361
+       652.918         508.767          55.000          49.000
+ -12510175.55643  -9714194.39042  22949723.666    22949727.171    22949722.650
+     -1808.107       -1408.914          50.000          44.000
+ 04  2  1 17  6  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -7309203.02943  -5636645.80742  23414814.110    23414816.989    23414811.942
+      3579.343        2789.098          48.000          41.000
+ -10627543.30943  -8261073.11342  22815466.219    22815469.882    22815465.507
+     -3298.823       -2570.511          49.000          43.000
+ -23137345.30243 -17961243.78242  20942463.580    20942465.428    20942462.360
+      1002.245         780.970          56.000          49.000
+  -4608473.44743  -3425585.12542  24019352.413    24019357.115    24019352.945
+      -292.920        -228.249          46.000          40.000
+  -2110105.37543  -1634149.07542  24421851.811    24421857.638    24421850.872
+      2743.024        2137.421          45.000          37.000
+ -28422220.03244 -22143953.03942  20009203.791    20009206.604    20009203.109
+      -279.586        -217.859          58.000          52.000
+ -18350984.87543 -14287154.95642  21803798.876    21803802.947    21803797.870
+     -2746.261       -2139.944          53.000          47.000
+ -21218630.15743 -16522656.32442  21099540.612    21099543.922    21099539.842
+       648.205         505.095          56.000          49.000
+ -12455657.52143  -9671712.80342  22960099.059    22960102.559    22960096.671
+     -1824.508       -1421.694          51.000          44.000
+ 04  2  1 17  6 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -7416534.61543  -5720280.76542  23394388.728    23394391.838    23394389.800
+      3576.239        2786.680          48.000          41.000
+ -10528531.73443  -8183921.21842  22834306.733    22834311.608    22834306.092
+     -3301.659       -2572.721          49.000          43.000
+ -23167186.44143 -17984496.60642  20936785.421    20936787.304    20936784.068
+       987.285         769.313          56.000          49.000
+  -4599442.07443  -3418547.72142  24021071.109    24021075.640    24021069.928
+      -309.193        -240.930          45.000          40.000
+  -2192276.47743  -1698178.40442  24406215.973    24406220.107    24406215.426
+      2734.684        2130.923          46.000          37.000
+ -28413543.81744 -22137192.35342  20010854.562    20010857.492    20010854.111
+      -298.750        -232.792          58.000          52.000
+ -18268398.20943 -14222801.72142  21819515.064    21819518.745    21819513.804
+     -2759.375       -2150.162          53.000          47.000
+ -21238005.77543 -16537754.21342  21095853.766    21095856.664    21095852.771
+       643.606         501.511          56.000          49.000
+ -12400669.53643  -9628865.02542  22970562.504    22970565.817    22970560.621
+     -1841.314       -1434.790          51.000          44.000
+ 04  2  1 17  7  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -7523800.66743  -5803864.63942  23373977.053    23373981.324    23373975.835
+      3573.631        2784.648          48.000          42.000
+ -10429473.50043  -8106732.97642  22853157.594    22853161.555    22853156.352
+     -3303.368       -2574.053          49.000          43.000
+ -23196613.93843 -18007427.09842  20931185.570    20931187.419    20931184.175
+       973.474         758.551          56.000          49.000
+  -4589969.25543  -3411166.32542  24022875.486    24022878.540    24022873.959
+      -323.656        -252.199          46.000          40.000
+  -2274205.96943  -1762019.46842  24390625.955    24390632.559    24390624.746
+      2726.441        2124.499          46.000          37.000
+ -28404328.65244 -22130011.70942  20012608.343    20012611.258    20012607.589
+      -316.708        -246.785          58.000          52.000
+ -18185454.20243 -14158170.02142  21835298.742    21835302.180    21835297.573
+     -2771.329       -2159.477          54.000          47.000
+ -21257272.14243 -16552766.96242  21092187.237    21092190.588    21092186.331
+       639.835         498.573          56.000          49.000
+ -12345217.89543  -9585655.96042  22981115.489    22981117.838    22981114.340
+     -1856.765       -1446.830          51.000          44.000
+ 04  2  1 17  7 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -7630996.78543  -5887394.01842  23353578.615    23353582.126    23353577.769
+      3571.735        2783.170          48.000          41.000
+ -10330369.23243  -8029508.88442  22872016.805    22872020.625    22872015.813
+     -3304.673       -2575.070          50.000          44.000
+ -23225626.39343 -18030034.16242  20925664.403    20925666.009    20925663.089
+       959.576         747.722          56.000          49.000
+  -4580055.31843  -3403441.18842  24024762.488    24024764.909    24024759.201
+      -338.490        -263.758          46.000          39.000
+  -2355891.54643  -1825670.48042  24375080.681    24375084.732    24375078.754
+      2718.273        2118.135          44.000          37.000
+ -28394572.73644 -22122409.70142  20014464.579    20014467.933    20014464.149
+      -334.798        -260.881          58.000          52.000
+ -18102153.36543 -14093260.28042  21851150.465    21851153.950    21851148.807
+     -2783.154       -2168.691          54.000          47.000
+ -21276426.95443 -16567692.78742  21088541.927    21088545.801    21088540.991
+       636.138         495.692          56.000          49.000
+ -12289302.98143  -9542085.90042  22991754.431    22991758.833    22991753.125
+     -1872.059       -1458.747          50.000          44.000
+ 04  2  1 17  8  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -7738118.14443  -5970865.15342  23333193.700    23333197.201    23333193.377
+      3569.461        2781.398          48.000          41.000
+ -10231219.72743  -7952249.52942  22890884.305    22890888.071    22890882.595
+     -3305.602       -2575.794          50.000          43.000
+ -23254223.34943 -18052317.46042  20920222.221    20920224.185    20920221.067
+       946.406         737.459          56.000          49.000
+  -4569700.06943  -3395372.15142  24026731.440    24026738.231    24026731.822
+      -352.585        -274.741          45.000          39.000
+  -2437330.62843  -1889129.41742  24359582.986    24359589.159    24359581.253
+      2710.522        2112.095          44.000          37.000
+ -28384274.07244 -22114384.77242  20016424.454    20016427.713    20016423.903
+      -352.317        -274.533          58.000          52.000
+ -18018496.01443 -14028072.74342  21867069.269    21867073.445    21867068.301
+     -2794.558       -2177.578          53.000          47.000
+ -21295467.63943 -16582529.67042  21084919.022    21084922.181    21084917.777
+       632.827         493.112          56.000          49.000
+ -12232924.60043  -9498154.69242  23002483.355    23002486.918    23002482.331
+     -1887.019       -1470.404          50.000          44.000
+ 04  2  1 17  8 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -7845160.33443  -6054274.57542  23312824.728    23312828.138    23312823.280
+      3566.437        2779.042          49.000          42.000
+ -10132025.42443  -7874955.27142  22909759.817    22909763.853    22909759.449
+     -3307.597       -2577.348          50.000          43.000
+ -23282403.19043 -18074275.73042  20914859.850    20914861.886    20914858.834
+       931.934         726.182          56.000          49.000
+  -4558903.02043  -3386958.92342  24028785.161    24028790.097    24028783.137
+      -367.619        -286.456          44.000          39.000
+  -2518520.24943  -1952393.91742  24344131.115    24344140.631    24344131.858
+      2702.295        2105.684          43.000          38.000
+ -28373430.42744 -22105935.18142  20018488.008    20018491.018    20018487.314
+      -371.024        -289.110          58.000          52.000
+ -17934482.38443 -13962607.58442  21883056.783    21883060.311    21883055.455
+     -2806.839       -2187.147          53.000          47.000
+ -21314391.59443 -16597275.59342  21081317.216    21081320.712    21081316.429
+       628.471         489.718          55.000          49.000
+ -12176082.51643  -9453862.15742  23013299.845    23013303.201    23013298.300
+     -1902.822       -1482.718          50.000          44.000
+ 04  2  1 17  9  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -7952127.62743  -6137625.65642  23292469.620    23292473.234    23292468.787
+      3564.545        2777.568          48.000          41.000
+ -10032796.27343  -7797633.86042  22928643.020    22928646.908    22928640.784
+     -3308.081       -2577.725          50.000          43.000
+ -23310174.05043 -18095915.31242  20909575.305    20909577.122    20909574.367
+       919.011         716.112          56.000          49.000
+  -4547673.35743  -3378208.56042  24030923.060    24030926.422    24030921.772
+      -381.850        -297.545          44.000          39.000
+  -2599466.91543  -2015469.14742  24328729.649    24328735.816    24328727.302
+      2694.338        2099.484          43.000          37.000
+ -28362048.90844 -22097066.47142  20020654.043    20020657.123    20020653.298
+      -388.241        -302.525          58.000          52.000
+ -17850121.87243 -13896872.14042  21899110.194    21899113.978    21899109.132
+     -2817.634       -2195.559          53.000          47.000
+ -21333205.43143 -16611935.72242  21077737.126    21077740.925    21077736.124
+       625.443         487.358          55.000          49.000
+ -12118785.89943  -9409215.42742  23024202.676    23024207.054    23024201.663
+     -1917.309       -1494.007          50.000          44.000
+ 04  2  1 17  9 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -8059006.79143  -6220908.06542  23272129.933    23272134.698    23272128.739
+      3562.437        2775.925          47.000          41.000
+  -9933524.24043  -7720279.00442  22947533.590    22947537.494    22947531.774
+     -3308.448       -2578.011          50.000          43.000
+ -23337526.55443 -18117228.90642  20904370.511    20904371.987    20904369.269
+       905.967         705.948          56.000          49.000
+  -4536002.64043  -3369114.48642  24033143.885    24033148.171    24033143.356
+      -395.228        -307.970          45.000          39.000
+  -2680159.65943  -2078346.52242  24313374.036    24313379.153    24313371.067
+      2687.180        2093.906          42.000          36.000
+ -28350119.01144 -22087770.44742  20022924.042    20022927.102    20022923.537
+      -405.648        -316.089          58.000          52.000
+ -17765406.19643 -13830859.93642  21915231.644    21915235.212    21915230.001
+     -2828.547       -2204.062          53.000          47.000
+ -21351898.08443 -16626501.40742  21074180.330    21074183.604    21074179.584
+       622.262         484.879          56.000          49.000
+ -12061026.10943  -9364207.78642  23035194.727    23035197.732    23035193.230
+     -1931.748       -1505.258          50.000          44.000
+ 04  2  1 17 10  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -8165807.99543  -6304129.72542  23251807.574    23251811.125    23251805.741
+      3558.150        2772.584          48.000          42.000
+  -9834224.41243  -7642902.52942  22966429.634    22966433.661    22966428.612
+     -3310.689       -2579.758          49.000          43.000
+ -23364474.14444 -18138226.98642  20899242.557    20899243.889    20899241.298
+       891.001         694.286          57.000          49.000
+  -4523905.18143  -3359687.90642  24035447.357    24035449.826    24035445.041
+      -411.005        -320.264          46.000          39.000
+  -2760610.23243  -2141035.19642  24298065.147    24298069.280    24298061.901
+      2676.902        2085.898          42.000          37.000
+ -28337653.37444 -22078056.96942  20025295.724    20025299.120    20025295.329
+      -424.918        -331.105          58.000          52.000
+ -17680350.06943 -13764582.44942  21931417.377    21931420.328    21931415.812
+     -2841.347       -2214.037          53.000          47.000
+ -21370481.65443 -16640982.10342  21070643.865    21070647.420    21070643.354
+       617.063         480.828          56.000          49.000
+ -12002817.77643  -9318850.63642  23046270.662    23046274.375    23046270.310
+     -1948.140       -1518.031          50.000          44.000
+ 04  2  1 17 10 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -8272518.29743  -6387280.54942  23231500.220    23231504.954    23231498.643
+      3556.556        2771.342          48.000          42.000
+  -9734889.24943  -7565498.50542  22985332.477    22985336.540    22985331.057
+     -3310.936       -2579.950          49.000          43.000
+ -23391007.78743 -18158902.51542  20894192.887    20894195.019    20894191.984
+       878.439         684.498          56.000          50.000
+  -4511372.56043  -3349922.24942  24037831.017    24037834.512    24037830.883
+      -424.130        -330.491          46.000          39.000
+  -2840807.86043  -2203526.73942  24282803.774    24282807.194    24282803.273
+      2669.638        2080.237          42.000          36.000
+ -28324641.87844 -22067918.15042  20027772.133    20027775.378    20027771.413
+      -441.999        -344.415          58.000          52.000
+ -17594946.13843 -13698033.94942  21947669.070    21947672.241    21947667.199
+     -2851.657       -2222.070          53.000          47.000
+ -21388945.22143 -16655369.28042  21067130.399    21067133.708    21067129.429
+       614.324         478.694          56.000          49.000
+ -11944152.68943  -9273137.57142  23057435.822    23057438.721    23057433.605
+     -1962.144       -1528.943          51.000          44.000
+ 04  2  1 17 11  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -8379134.88243  -6470358.35742  23211211.855    23211215.963    23211211.028
+      3552.632        2768.285          47.000          42.000
+  -9635521.42643  -7488069.02742  23004242.079    23004244.227    23004240.988
+     -3312.053       -2580.820          49.000          43.000
+ -23417128.46643 -18179256.25942  20889222.864    20889224.245    20889221.125
+       864.547         673.673          56.000          49.000
+  -4498407.07843  -3339819.31242  24040297.712    24040302.697    24040298.754
+      -438.403        -341.613          47.000          39.000
+  -2920752.20243  -2265820.93942  24267589.923    24267593.853    24267588.259
+      2661.417        2073.831          44.000          37.000
+ -28311084.68344 -22057354.09842  20030352.019    20030355.231    20030351.358
+      -460.332        -358.700          58.000          52.000
+ -17509196.89743 -13631216.36842  21963986.826    21963989.804    21963984.979
+     -2863.442       -2231.253          53.000          47.000
+ -21407288.21443 -16669662.50242  21063639.814    21063643.163    21063638.951
+       610.066         475.376          56.000          49.000
+ -11885033.17343  -9227070.41542  23068684.053    23068688.560    23068683.879
+     -1977.603       -1540.989          50.000          44.000
+ 04  2  1 17 11 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -8485661.08643  -6553365.73642  23190939.432    23190945.234    23190937.896
+      3549.292        2765.682          47.000          42.000
+  -9536129.40343  -7410620.70042  23023155.297    23023158.163    23023153.890
+     -3313.483       -2581.935          49.000          43.000
+ -23442843.21343 -18199293.70442  20884329.251    20884331.165    20884327.949
+       850.349         662.610          56.000          50.000
+  -4485016.75843  -3329385.31142  24042846.930    24042850.853    24042846.278
+      -453.953        -353.730          46.000          39.000
+  -3000448.76943  -2327922.04342  24252424.529    24252431.103    24252423.487
+      2651.839        2066.368          43.000          37.000
+ -28296987.99344 -22046369.66442  20033034.641    20033037.556    20033034.045
+      -478.905        -373.173          58.000          52.000
+ -17423110.37343 -13564135.97342  21980367.802    21980371.819    21980366.346
+     -2875.230       -2240.439          52.000          47.000
+ -21425516.20443 -16683866.10942  21060171.243    21060174.757    21060170.569
+       605.630         471.919          56.000          49.000
+ -11825467.25143  -9180655.38442  23080020.033    23080023.547    23080017.970
+     -1992.960       -1552.956          50.000          44.000
+ 04  2  1 17 12  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -8592087.84743  -6636295.61942  23170687.224    23170691.760    23170687.509
+      3545.936        2763.067          47.000          42.000
+  -9436709.54843  -7333150.69342  23042074.799    23042078.504    23042073.896
+     -3314.254       -2582.535          49.000          43.000
+ -23468146.91343 -18219010.85542  20879513.742    20879515.920    20879512.578
+       836.734         652.001          56.000          50.000
+  -4471197.22743  -3318616.86042  24045475.230    24045479.789    24045475.050
+      -467.690        -364.434          45.000          39.000
+  -3079890.80143  -2389824.82942  24237308.470    24237313.894    24237306.330
+      2644.107        2060.343          44.000          38.000
+ -28282345.71344 -22034960.09642  20035820.900    20035823.988    20035820.359
+      -497.042        -387.305          58.000          52.000
+ -17336683.09043 -13496790.06642  21996814.433    21996818.753    21996812.592
+     -2886.357       -2249.109          52.000          46.000
+ -21443622.60443 -16697974.97542  21056726.226    21056728.894    21056724.909
+       601.608         468.785          56.000          49.000
+ -11765450.82643  -9133889.35242  23091439.776    23091443.941    23091439.441
+     -2007.877       -1564.579          49.000          44.000
+ 04  2  1 17 12 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -8698415.07743  -6719147.94742  23150454.085    23150458.557    23150453.543
+      3542.409        2760.319          48.000          42.000
+  -9337266.85643  -7255662.91342  23060997.518    23061002.250    23060995.467
+     -3315.195       -2583.269          49.000          42.000
+ -23493042.93943 -18238410.32942  20874776.337    20874778.370    20874775.128
+       822.966         641.272          56.000          50.000
+  -4456952.76843  -3307517.30142  24048188.898    24048190.659    24048186.583
+      -481.869        -375.482          47.000          39.000
+  -3159080.04143  -2451530.67142  24222238.293    24222243.071    24222237.154
+      2635.187        2053.392          42.000          37.000
+ -28267160.37244 -22023127.36742  20038710.138    20038713.389    20038709.767
+      -515.277        -401.514          58.000          52.000
+ -17249919.51143 -13429182.08842  22013324.620    22013328.921    22013323.172
+     -2897.739       -2257.978          52.000          46.000
+ -21461609.09043 -16711990.40342  21053303.216    21053306.268    21053302.181
+       597.499         465.584          56.000          49.000
+ -11704987.96143  -9086775.42542  23102945.909    23102949.890    23102944.534
+     -2022.898       -1576.284          50.000          43.000
+ 04  2  1 17 13  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -8804639.83843  -6801920.44842  23130240.745    23130244.578    23130239.574
+      3538.333        2757.143          48.000          42.000
+  -9237803.66743  -7178159.10742  23079924.974    23079927.960    23079922.897
+     -3316.269       -2584.106          49.000          42.000
+ -23517532.37243 -18257492.97042  20870116.478    20870118.164    20870114.942
+       808.902         630.313          56.000          50.000
+  -4442285.35643  -3296088.13342  24050977.576    24050980.999    24050976.470
+      -496.559        -386.929          46.000          39.000
+  -3238015.97943  -2513039.07442  24207216.280    24207223.760    24207215.428
+      2626.387        2046.535          43.000          37.000
+ -28251432.04944 -22010871.54042  20041703.407    20041706.570    20041702.904
+      -533.911        -416.034          58.000          52.000
+ -17162822.51943 -13361314.30742  22029897.977    22029902.620    22029897.571
+     -2909.378       -2267.048          52.000          46.000
+ -21479474.95643 -16725911.84642  21049903.529    21049906.618    21049902.412
+       592.807         461.928          56.000          49.000
+ -11644080.88443  -9039315.36242  23114537.561    23114540.025    23114535.495
+     -2038.099       -1588.129          50.000          44.000
+ 04  2  1 17 13 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -8910758.29843  -6884610.11542  23110047.160    23110049.751    23110045.495
+      3535.035        2754.573          49.000          42.000
+  -9138321.42743  -7100640.47842  23098856.023    23098859.719    23098854.433
+     -3316.863       -2584.568          48.000          42.000
+ -23541615.37543 -18276258.92042  20865533.591    20865535.190    20865532.300
+       795.573         619.927          56.000          50.000
+  -4427196.15843  -3284330.36042  24053848.159    24053854.621    24053848.669
+      -510.387        -397.704          45.000          39.000
+  -3316696.82643  -2574348.74742  24192244.978    24192250.563    24192242.873
+      2617.897        2039.920          43.000          37.000
+ -28235159.91044 -21998191.96042  20044800.158    20044803.234    20044799.606
+      -551.872        -430.030          58.000          52.000
+ -17075392.93843 -13293187.35842  22046536.281    22046539.945    22046534.827
+     -2920.255       -2275.523          52.000          46.000
+ -21497218.57543 -16739738.02342  21046526.807    21046530.223    21046525.741
+       588.950         458.922          56.000          49.000
+ -11582730.74343  -8991510.04542  23126211.644    23126215.725    23126209.674
+     -2052.700       -1599.506          50.000          44.000
+ 04  2  1 17 14  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -9016768.01143  -6967215.01342  23089875.147    23089876.529    23089874.090
+      3531.432        2751.765          50.000          42.000
+  -9038822.96543  -7023109.21842  23117789.674    23117792.460    23117788.436
+     -3317.298       -2584.907          49.000          42.000
+ -23565293.17743 -18294709.12742  20861027.931    20861029.450    20861026.254
+       782.091         609.422          56.000          50.000
+  -4411687.53943  -3272245.73742  24056800.454    24056805.005    24056799.480
+      -524.385        -408.612          46.000          39.000
+  -3395122.52343  -2635459.56842  24177318.430    24177326.797    24177318.590
+      2609.987        2033.756          42.000          38.000
+ -28218344.42744 -21985088.99542  20047999.812    20048003.286    20047999.375
+      -570.036        -444.184          58.000          52.000
+ -16987633.72743 -13224803.55942  22063236.465    22063239.890    22063235.016
+     -2931.169       -2284.028          52.000          46.000
+ -21514839.58543 -16753468.66242  21043173.585    21043176.699    21043172.747
+       584.823         455.706          56.000          49.000
+ -11520939.96343  -8943361.38942  23137969.302    23137973.610    23137967.682
+     -2067.280       -1610.867          49.000          43.000
+ 04  2  1 17 14 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -9122664.16643  -7049731.47042  23069723.098    23069726.805    23069721.924
+      3528.486        2749.470          49.000          42.000
+  -8939308.33243  -6945565.35142  23136726.712    23136731.480    23136726.266
+     -3316.765       -2584.492          48.000          42.000
+ -23588564.33143 -18312842.46542  20856598.951    20856601.144    20856598.073
+       769.495         599.606          56.000          50.000
+  -4395759.22943  -3259834.07642  24059830.509    24059835.488    24059829.816
+      -537.307        -418.681          45.000          39.000
+  -3473289.85043  -2696369.10642  24162447.272    24162451.223    24162445.353
+      2601.589        2027.212          44.000          38.000
+ -28200983.53844 -21971561.04642  20051303.457    20051306.543    20051302.873
+      -587.309        -457.643          58.000          52.000
+ -16899545.00743 -13156163.01442  22079999.480    22080002.919    22079997.949
+     -2941.177       -2291.826          53.000          46.000
+ -21532334.91443 -16767101.36442  21039844.047    21039847.534    21039843.212
+       581.526         453.137          56.000          49.000
+ -11458708.39143  -8894869.23442  23149812.183    23149815.415    23149810.333
+     -2081.098       -1621.635          50.000          43.000
+ 04  2  1 17 15  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -9228447.08043  -7132159.66942  23049592.814    23049596.652    23049592.068
+      3523.726        2745.761          49.000          42.000
+  -8839783.05843  -6868013.19742  23155665.684    23155669.682    23155664.681
+     -3318.032       -2585.479          48.000          41.000
+ -23611433.29643 -18330662.41442  20852247.292    20852249.334    20852246.188
+       755.171         588.445          56.000          50.000
+  -4379416.48843  -3247099.51042  24062940.732    24062945.966    24062941.090
+      -552.186        -430.275          45.000          39.000
+  -3551201.61343  -2757079.50142  24147620.189    24147625.600    24147618.713
+      2592.007        2019.746          43.000          38.000
+ -28183080.54144 -21957610.67342  20054710.434    20054713.343    20054709.830
+      -606.140        -472.317          58.000          52.000
+ -16811132.51543 -13087270.17442  22096823.263    22096827.182    22096822.233
+     -2952.852       -2300.924          52.000          46.000
+ -21549706.93943 -16780637.98442  21036538.775    21036541.662    21036537.659
+       576.608         449.305          56.000          49.000
+ -11396040.86743  -8846037.40142  23161736.340    23161740.128    23161735.445
+     -2096.532       -1633.661          49.000          43.000
+ 04  2  1 17 15 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -9334111.51143  -7214495.55942  23029486.266    23029488.638    23029483.951
+      3520.549        2743.285          49.000          42.000
+  -8740247.13343  -6790452.73142  23174606.775    23174610.061    23174604.219
+     -3317.644       -2585.177          48.000          41.000
+ -23633898.89043 -18348168.05142  20847971.996    20847973.949    20847970.492
+       742.408         578.500          56.000          50.000
+  -4362658.60643  -3234041.48242  24066129.409    24066134.421    24066129.331
+      -565.161        -440.385          45.000          38.000
+  -3628854.79443  -2817588.38042  24132842.618    24132848.009    24132841.693
+      2584.467        2013.870          43.000          37.000
+ -28164633.32044 -21943236.23242  20058220.917    20058223.864    20058220.353
+      -623.694        -485.995          58.000          52.000
+ -16722395.80043 -13018124.69742  22113709.670    22113713.290    22113708.494
+     -2962.891       -2308.746          52.000          46.000
+ -21566952.49243 -16794076.06542  21033257.086    21033260.578    21033256.072
+       573.137         446.600          56.000          50.000
+ -11332937.23743  -8796865.73742  23173745.564    23173749.708    23173743.315
+     -2110.327       -1644.411          50.000          43.000
+ 04  2  1 17 16  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -9439654.75543  -7296736.99742  23009402.118    23009404.384    23009399.567
+      3516.083        2739.805          49.000          42.000
+  -8640703.24943  -6712886.07342  23193549.713    23193553.225    23193547.956
+     -3318.362       -2585.737          48.000          42.000
+ -23655962.27143 -18365360.27442  20843773.854    20843775.982    20843772.560
+       728.747         567.855          56.000          50.000
+  -4345488.14443  -3220661.89542  24069397.289    24069401.490    24069398.155
+      -579.208        -451.331          46.000          38.000
+  -3706249.27143  -2877895.65642  24118116.396    24118118.809    24118113.126
+      2576.059        2007.319          43.000          37.000
+ -28145642.37544 -21928438.10342  20061834.985    20061837.774    20061834.330
+      -642.113        -500.348          58.000          52.000
+ -16633337.85843 -12948728.91142  22130656.411    22130660.122    22130655.061
+     -2974.103       -2317.483          52.000          46.000
+ -21584071.50843 -16807415.53842  21029999.405    21030002.607    21029998.449
+       568.424         442.928          56.000          50.000
+ -11269399.89243  -8747356.11442  23185835.630    23185839.262    23185833.747
+     -2125.103       -1655.924          49.000          43.000
+ 04  2  1 17 16 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -9545072.70143  -7378880.82042  22989340.771    22989344.101    22989339.942
+      3512.155        2736.744          49.000          42.000
+  -8541152.69643  -6635314.23542  23212493.151    23212496.786    23212491.971
+     -3318.094       -2585.528          48.000          41.000
+ -23677623.34943 -18382239.01542  20839651.551    20839653.959    20839650.425
+       715.587         557.600          56.000          50.000
+  -4327906.15343  -3206961.63942  24072744.122    24072748.299    24072742.536
+      -592.452        -461.651          46.000          39.000
+  -3783383.35643  -2938000.05942  24103438.153    24103441.201    24103437.168
+      2567.046        2000.296          43.000          37.000
+ -28126106.91544 -21913215.67942  20065552.062    20065555.331    20065551.647
+      -660.010        -514.293          58.000          52.000
+ -16543959.66643 -12879083.58342  22147664.862    22147668.542    22147663.602
+     -2984.381       -2325.492          52.000          46.000
+ -21601062.01043 -16820654.88042  21026765.928    21026769.199    21026765.215
+       564.478         439.853          56.000          50.000
+ -11205429.68843  -8697509.20542  23198008.474    23198013.523    23198007.863
+     -2139.374       -1667.045          49.000          43.000
+ 04  2  1 17 17  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -9650368.00543  -7460929.06242  22969304.998    22969307.104    22969303.800
+      3507.846        2733.386          50.000          43.000
+  -8441602.57443  -6557742.72442  23231435.581    23231440.804    23231435.792
+     -3318.416       -2585.779          47.000          41.000
+ -23698888.41743 -18398809.17342  20835605.221    20835606.970    20835603.987
+       702.181         547.154          56.000          50.000
+  -4309919.48443  -3192946.07242  24076166.363    24076170.553    24076164.868
+      -606.638        -472.705          46.000          39.000
+  -3860261.65143  -2997905.17342  24088809.907    24088812.237    24088807.847
+      2558.760        1993.839          43.000          37.000
+ -28106032.22644 -21897573.07442  20069372.257    20069375.484    20069371.712
+      -678.292        -528.539          58.000          52.000
+ -16454268.77043 -12809194.58142  22164733.475    22164735.669    22164731.619
+     -2994.954       -2333.730          52.000          46.000
+ -21617928.10143 -16833797.27442  21023556.051    21023559.750    21023554.960
+       560.067         436.416          56.000          50.000
+ -11141034.02743  -8647330.75842  23210263.365    23210265.743    23210261.861
+     -2153.536       -1678.080          49.000          43.000
+ 04  2  1 17 17 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -9755528.85343  -7542872.54542  22949293.473    22949295.086    22949291.053
+      3503.510        2730.008          49.000          42.000
+  -8342046.47343  -6480166.54042  23250381.082    23250384.439    23250380.124
+     -3318.235       -2585.638          48.000          41.000
+ -23719749.49843 -18415064.53842  20831634.869    20831637.319    20831633.754
+       689.087         536.951          56.000          50.000
+  -4291521.46543  -3178609.98442  24079666.917    24079670.893    24079665.766
+      -619.558        -482.772          46.000          39.000
+  -3936874.80643  -3057603.66942  24074227.023    24074234.193    24074225.587
+      2550.081        1987.076          43.000          37.000
+ -28085409.87044 -21881503.72042  20073296.651    20073299.732    20073295.872
+      -696.169        -542.469          58.000          52.000
+ -16364259.04643 -12739057.13842  22181860.845    22181864.268    22181859.521
+     -3005.169       -2341.690          51.000          46.000
+ -21634660.52443 -16846835.52542  21020372.146    21020375.704    21020371.694
+       555.840         433.122          56.000          50.000
+ -11076206.35743  -8596815.69242  23222599.708    23222602.793    23222598.106
+     -2167.837       -1689.224          49.000          43.000
+ 04  2  1 17 18  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -9860558.32543  -7624713.65142  22929307.155    22929307.156    22929305.582
+      3498.731        2726.284          50.000          42.000
+  -8242492.70543  -6402592.18442  23269326.253    23269330.029    23269324.336
+     -3318.498       -2585.842          48.000          41.000
+ -23740214.06044 -18431010.91042  20827741.733    20827742.956    20827740.099
+       675.532         526.389          57.000          50.000
+  -4272720.37543  -3163959.80642  24083245.156    24083248.100    24083244.623
+      -633.321        -493.497          47.000          40.000
+  -4013228.20543  -3117099.76242  24059699.352    24059702.950    24059696.907
+      2540.903        1979.924          42.000          38.000
+ -28064245.91644 -21865012.33542  20077324.004    20077326.968    20077323.293
+      -714.474        -556.733          58.000          52.000
+ -16273938.58743 -12668677.57442  22199048.395    22199051.664    22199046.943
+     -3015.855       -2350.017          51.000          46.000
+ -21651264.30143 -16859773.51342  21017212.989    21017215.897    21017211.911
+       551.290         429.577          56.000          50.000
+ -11010954.55243  -8545970.12442  23235016.807    23235020.704    23235014.774
+     -2182.058       -1700.305          49.000          43.000
+ 04  2  1 17 18 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+  -9965452.45743  -7706449.29542  22909346.759    22909347.462    22909344.947
+      3494.329        2722.854          50.000          42.000
+  -8142942.28343  -6325020.44342  23288269.675    23288274.990    23288268.330
+     -3317.839       -2585.329          48.000          41.000
+ -23760281.99043 -18446648.24542  20823922.571    20823924.282    20823921.190
+       662.628         516.333          56.000          50.000
+  -4253516.78343  -3148995.99442  24086899.432    24086903.790    24086898.088
+      -646.811        -504.008          46.000          40.000
+  -4089320.16743  -3176392.11342  24045219.161    24045224.136    24045216.727
+      2532.575        1973.435          43.000          38.000
+ -28042539.52644 -21848098.27942  20081454.845    20081457.743    20081454.124
+      -732.327        -570.644          58.000          52.000
+ -16183308.44643 -12598056.71742  22216293.826    22216298.471    22216293.395
+     -3026.019       -2357.937          51.000          46.000
+ -21667737.32043 -16872609.62542  21014078.259    21014081.443    21014077.135
+       547.169         426.365          56.000          50.000
+ -10945279.40143  -8494794.68042  23247514.732    23247516.723    23247512.369
+     -2195.951       -1711.131          49.000          43.000
+ 04  2  1 17 19  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+ -10070205.22043  -7788074.79642  22889412.093    22889413.697    22889411.051
+      3489.576        2719.150          49.000          43.000
+  -8043394.34443  -6247450.61542  23307214.020    23307216.560    23307211.057
+     -3318.136       -2585.560          49.000          41.000
+ -23779951.44544 -18461975.08242  20820179.739    20820181.049    20820177.997
+       649.290         505.940          57.000          50.000
+  -4233909.60243  -3133717.68042  24090630.605    24090633.971    24090629.140
+      -660.113        -514.374          46.000          39.000
+  -4165147.01543  -3235477.87842  24030789.721    24030794.002    24030787.290
+      2523.185        1966.118          42.000          38.000
+ -28020288.10644 -21830759.51842  20085688.857    20085692.041    20085688.249
+      -750.687        -584.951          58.000          52.000
+ -16092368.18343 -12527194.19642  22233599.714    22233603.806    22233598.740
+     -3036.382       -2366.012          51.000          46.000
+ -21684075.86643 -16885340.94842  21010969.093    21010972.178    21010967.807
+       542.457         422.694          56.000          50.000
+ -10879180.26543  -8443288.85542  23260091.643    23260095.721    23260089.456
+     -2210.317       -1722.325          48.000          42.000
+ 04  2  1 17 19 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+ -10174816.98143  -7869590.41042  22869505.234    22869508.290    22869504.243
+      3483.945        2714.762          50.000          43.000
+  -7943854.00843  -6169886.75942  23326155.441    23326158.267    23326154.147
+     -3318.524       -2585.863          48.000          41.000
+ -23799225.91943 -18476994.11642  20816511.493    20816513.630    20816510.189
+       635.386         495.106          56.000          50.000
+  -4213903.82243  -3118128.78042  24094438.443    24094442.347    24094437.453
+      -673.819        -525.054          46.000          39.000
+  -4240710.95043  -3294358.83742  24016411.831    24016416.273    24016410.104
+      2513.734        1958.754          45.000          39.000
+ -27997494.77244 -21812998.48242  20090026.256    20090029.304    20090025.663
+      -769.377        -599.514          58.000          52.000
+ -16001123.09443 -12456094.14742  22250962.874    22250966.902    22250961.870
+     -3047.217       -2374.455          51.000          46.000
+ -21700281.77243 -16897968.91542  21007885.480    21007887.888    21007884.368
+       537.406         418.758          56.000          49.000
+ -10812662.03843  -8391456.47842  23272749.968    23272752.849    23272749.077
+     -2224.769       -1733.586          49.000          42.000
+ 04  2  1 17 20  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+ -10279283.71543  -7950993.03342  22849624.898    22849628.266    22849625.593
+      3479.696        2711.451          50.000          43.000
+  -7844322.90943  -6092330.05342  23345095.411    23345099.147    23345094.264
+     -3317.344       -2584.943          48.000          41.000
+ -23818106.04843 -18491705.85842  20812918.846    20812920.049    20812917.370
+       622.868         485.352          56.000          50.000
+  -4193501.30243  -3102230.74842  24098319.350    24098321.750    24098318.945
+      -686.591        -535.006          45.000          39.000
+  -4316011.09743  -3353034.22042  24002081.585    24002084.985    24002079.744
+      2505.637        1952.444          44.000          38.000
+ -27974159.46644 -21794815.13542  20094467.114    20094470.108    20094466.535
+      -786.814        -613.102          58.000          52.000
+ -15909575.17543 -12384758.11642  22268384.048    22268387.355    22268382.571
+     -3056.462       -2381.659          51.000          45.000
+ -21716353.87843 -16910492.62442  21004826.971    21004829.377    21004825.731
+       533.509         415.721          56.000          49.000
+ -10745726.33343  -8339298.76642  23285486.153    23285490.422    23285486.918
+     -2238.005       -1743.900          49.000          42.000
+ 04  2  1 17 20 30.0000000  0 10G18G17G21G25G15G30G29G 5G 6G10
+ -10383602.44343  -8032280.32142  22829774.252    22829777.272    22829772.525
+      3474.918        2707.728          50.000          43.000
+  -7744803.47443  -6014782.43542  23364033.131    23364037.208    23364032.254
+     -3317.173       -2584.810          49.000          42.000
+ -23836593.36043 -18506111.52542  20809400.850    20809402.425    20809399.487
+       609.799         475.168          56.000          50.000
+  -4172704.45543  -3086025.42242  24102278.738    24102280.947    24102276.942
+      -699.653        -545.184          46.000          39.000
+  -4391047.16743  -3411503.81942  23987800.635    23987805.953    23987800.151
+      2496.663        1945.452          43.000          38.000
+ -27950282.72544 -21776209.89342  20099010.702    20099013.550    20099010.034
+      -804.833        -627.142          58.000          52.000
+   -762295.71753   -561558.58352  25262038.488    25262044.835    25262036.409
+      1648.497        1284.543          39.000          35.000
+ -15817726.80543 -12313187.96342  22285862.360    22285865.491    22285861.074
+     -3066.554       -2389.522          51.000          45.000
+ -21732291.30243 -16922911.38742  21001793.754    21001796.912    21001792.784
+       529.083         412.272          56.000          49.000
+ -10678375.42143  -8286817.51942  23298303.902    23298307.342    23298302.170
+     -2251.825       -1754.669          49.000          42.000
+ 04  2  1 17 21  0.0000000  0 10G18G17G21G25G15G30G29G 5G 6G10
+ -10487770.19743  -8113449.97042  22809952.135    22809955.440    22809950.938
+      3469.279        2703.334          50.000          43.000
+  -7645297.24243  -5937245.11242  23382968.304    23382974.045    23382967.329
+     -3317.338       -2584.939          48.000          42.000
+ -23854688.49544 -18520211.60742  20805957.120    20805959.157    20805955.957
+       596.084         464.481          57.000          50.000
+  -4151514.70543  -3069513.92742  24106309.748    24106313.279    24106308.935
+      -713.303        -555.820          45.000          39.000
+  -4465817.96843  -3469766.74142  23973573.203    23973577.539    23973570.885
+      2487.666        1938.441          44.000          39.000
+ -27925864.45744 -21757182.68942  20103657.264    20103660.186    20103656.450
+      -823.549        -641.726          58.000          52.000
+   -811706.04443   -600060.20842  25252634.487    25252640.160    25252636.828
+      1644.376        1281.332          40.000          35.000
+ -15725579.99243 -12241385.27142  22303397.262    22303401.260    22303396.139
+     -3076.997       -2397.660          52.000          45.000
+ -21748092.73543 -16935224.18542  20998786.646    20998789.677    20998785.864
+       523.925         408.253          56.000          49.000
+ -10610611.03243  -8234014.10442  23311199.469    23311202.160    23311197.779
+     -2266.088       -1765.783          49.000          42.000
+ 04  2  1 17 21 30.0000000  0 10G18G17G21G25G15G30G29G 5G 6G10
+ -10591781.90143  -8194498.01442  22790158.851    22790161.114    22790158.387
+      3464.709        2699.773          50.000          43.000
+  -7545803.95543  -5859717.88142  23401900.993    23401906.504    23401899.661
+     -3315.875       -2583.799          47.000          41.000
+ -23872390.41944 -18534005.30942  20802589.358    20802590.402    20802587.683
+       583.743         454.865          57.000          50.000
+  -4129932.02143  -3052696.26242  24110416.735    24110420.059    24110415.584
+      -725.478        -565.307          44.000          39.000
+  -4540320.69243  -3527820.77842  23959395.989    23959401.111    23959393.230
+      2479.132        1931.791          44.000          39.000
+ -27900902.70344 -21737731.98542  20108407.390    20108410.269    20108406.649
+      -840.887        -655.237          58.000          52.000
+   -861004.64543   -638474.60942  25243255.486    25243258.478    25243254.306
+      1641.884        1279.390          44.000          34.000
+ -15633134.51643 -12169349.83142  22320989.499    22320992.347    22320987.979
+     -3086.233       -2404.857          52.000          45.000
+ -21763754.94243 -16947428.49742  20995806.703    20995809.368    20995805.649
+       520.002         405.196          56.000          49.000
+ -10542432.99143  -8180888.37442  23324173.011    23324176.123    23324170.787
+     -2279.179       -1775.984          49.000          42.000
+ 04  2  1 17 22  0.0000000  0 10G18G17G21G25G15G30G29G 5G 6G10
+ -10695637.12743  -8275424.12942  22770395.370    22770398.511    22770394.369
+      3458.706        2695.096          50.000          43.000
+  -7446328.64043  -5782204.64442  23420831.127    23420834.831    23420829.913
+     -3315.932       -2583.843          48.000          41.000
+ -23889702.72444 -18547495.41842  20799294.341    20799296.033    20799292.796
+       570.102         444.235          57.000          50.000
+  -4107961.34443  -3035576.26342  24114598.794    24114601.395    24114597.769
+      -739.179        -575.984          45.000          39.000
+  -4614557.65843  -3585667.69142  23945268.067    23945273.972    23945266.665
+      2469.263        1924.101          44.000          39.000
+ -27875400.72144 -21717860.31742  20113260.588    20113262.961    20113259.738
+      -859.532        -669.765          58.000          52.000
+   -910191.37843   -676801.92242  25233894.520    25233899.358    25233893.487
+      1637.346        1275.854          41.000          33.000
+ -15540396.12943 -12097086.15342  22338636.892    22338640.668    22338635.821
+     -3096.606       -2412.940          52.000          45.000
+ -21779279.87543 -16959525.83842  20992852.165    20992855.104    20992851.210
+       514.810         401.151          56.000          49.000
+ -10473846.30943  -8127444.18742  23337225.559    23337227.644    23337223.189
+     -2293.444       -1787.099          49.000          42.000
+ 04  2  1 17 22 30.0000000  0 10G18G17G21G25G15G30G29G 5G 6G10
+ -10799332.69243  -8356225.82942  22750662.638    22750666.393    22750661.957
+      3453.608        2691.123          50.000          43.000
+  -7346872.92643  -5704706.70142  23439758.080    23439760.828    23439756.578
+     -3315.011       -2583.125          49.000          41.000
+ -23906626.26144 -18560682.57542  20796074.057    20796075.575    20796072.873
+       557.518         434.430          57.000          50.000
+  -4085604.29343  -3018155.18842  24118853.380    24118856.384    24118851.606
+      -751.777        -585.800          45.000          39.000
+  -4688527.95143  -3643306.82242  23931193.389    23931198.618    23931192.968
+      2461.300        1917.896          44.000          39.000
+ -27849358.54544 -21697567.72142  20118215.632    20118218.703    20118215.282
+      -877.163        -683.504          58.000          52.000
+   -959263.04253   -715039.61052  25224555.485    25224564.634    25224553.334
+      1633.854        1273.133          41.000          34.000
+ -15447366.55443 -12024595.57442  22356339.963    22356343.018    22356338.564
+     -3105.940       -2420.213          52.000          45.000
+ -21794666.09943 -16971515.10642  20989924.520    20989927.242    20989923.117
+       510.414         397.725          56.000          49.000
+ -10404852.72543  -8073682.94342  23350354.123    23350358.764    23350352.588
+     -2306.624       -1797.369          49.000          42.000
+ 04  2  1 17 23  0.0000000  0 10G18G17G21G25G15G30G29G 5G 6G10
+ -10902867.00843  -8436901.88942  22730961.106    22730963.436    22730959.718
+      3448.306        2686.992          50.000          43.000
+  -7247440.31843  -5627226.77342  23458679.146    23458682.468    23458677.752
+     -3314.230       -2582.517          49.000          41.000
+ -23923163.94943 -18573569.07542  20792926.385    20792928.325    20792925.309
+       544.726         424.462          56.000          50.000
+  -4062864.81243  -3000436.13542  24123178.335    24123182.895    24123177.385
+      -764.310        -595.566          44.000          39.000
+  -4762232.58043  -3700738.93442  23917167.602    23917172.283    23917165.893
+      2452.468        1911.014          45.000          39.000
+ -27822778.26244 -21676855.81542  20123274.151    20123276.824    20123273.381
+      -895.181        -697.544          58.000          52.000
+  -1008218.65743   -753186.72742  25215239.232    25215244.124    25215238.446
+      1630.004        1270.133          40.000          34.000
+ -15354049.79943 -11951881.21742  22374096.856    22374101.005    22374096.448
+     -3115.351       -2427.546          51.000          45.000
+ -21809914.35743 -16983396.86342  20987022.330    20987026.034    20987021.667
+       505.783         394.117          56.000          49.000
+ -10335455.92543  -8019607.51542  23363559.871    23363563.493    23363557.744
+     -2320.282       -1808.012          50.000          43.000
+ 04  2  1 17 23 30.0000000  0 10G18G17G21G25G15G30G29G 5G 6G10
+ -11006231.86043  -8517445.89842  22711291.134    22711294.647    22711290.055
+      3442.780        2682.686          50.000          43.000
+  -7148027.83343  -5549762.49442  23477596.725    23477600.413    23477595.561
+     -3313.198       -2581.713          48.000          42.000
+ -23939311.48144 -18586151.56342  20789854.103    20789855.725    20789852.936
+       532.006         414.550          57.000          50.000
+  -4039739.44043  -2982416.39042  24127578.671    24127583.858    24127577.806
+      -776.979        -605.438          43.000          39.000
+  -4835665.86643  -3757959.64042  23903194.401    23903197.527    23903192.505
+      2443.592        1904.098          46.000          39.000
+ -27795655.11544 -21655720.90342  20128435.318    20128438.293    20128434.578
+      -912.865        -711.323          58.000          52.000
+  -1057049.95943   -791236.99142  25205948.773    25205953.823    25205948.235
+      1625.780        1266.842          41.000          34.000
+ -15260442.77243 -11878940.68642  22391910.888    22391914.028    22391909.065
+     -3124.651       -2434.793          51.000          45.000
+ -21825018.50843 -16995166.33642  20984148.542    20984151.242    20984147.177
+       501.339         390.654          56.000          49.000
+ -10265652.79943  -7965215.46942  23376842.015    23376844.504    23376841.342
+     -2333.201       -1818.079          49.000          42.000
+ 04  2  1 17 24  0.0000000  0 10G18G17G21G25G15G30G29G 5G 6G10
+ -11109426.75243  -8597857.46242  22691653.944    22691656.453    22691651.597
+      3437.195        2678.334          50.000          43.000
+  -7048639.68943  -5472317.19442  23496509.729    23496513.400    23496508.584
+     -3312.412       -2581.100          48.000          42.000
+ -23955072.61344 -18598432.95642  20786854.931    20786856.667    20786853.564
+       519.102         404.495          57.000          50.000
+  -4016232.81243  -2964099.54742  24132052.661    24132057.526    24132051.682
+      -789.701        -615.351          44.000          39.000
+  -4908829.75243  -3814970.43842  23889272.244    23889275.102    23889270.606
+      2434.481        1896.998          46.000          39.000
+ -27767991.78744 -21634165.07342  20133699.238    20133702.818    20133698.595
+      -931.000        -725.454          58.000          52.000
+  -1105756.40253   -829190.06052  25196678.309    25196688.782    25196679.210
+      1621.617        1263.598          37.000          32.000
+ -15166550.39643 -11805777.80042  22409776.802    22409781.403    22409775.709
+     -3134.271       -2442.289          50.000          45.000
+ -21839979.99843 -17006824.63042  20981301.306    20981304.669    20981300.651
+       496.504         386.886          56.000          50.000
+ -10195447.90343  -7910510.35342  23390201.555    23390205.224    23390199.625
+     -2346.572       -1828.498          48.000          42.000
+ 04  2  1 17 24 30.0000000  0 10G18G17G21G25G15G30G29G 5G 6G10
+ -11212450.34943  -8678135.56242  22672048.986    22672050.346    22672047.634
+      3431.432        2673.843          50.000          43.000
+  -6949279.13443  -5394893.39542  23515416.909    23515421.334    23515416.171
+     -3311.559       -2580.435          47.000          41.000
+ -23970449.94443 -18610415.28242  20783928.494    20783930.189    20783927.452
+       506.203         394.444          56.000          50.000
+  -3992348.40843  -2945488.32742  24136598.905    24136601.981    24136596.712
+      -801.969        -624.911          45.000          39.000
+  -4981725.08243  -3871771.92542  23875400.232    23875403.669    23875399.448
+      2425.632        1890.103          47.000          39.000
+ -27739790.19444 -21612189.81442  20139065.983    20139069.220    20139065.249
+      -948.935        -739.430          58.000          52.000
+                   -867044.74552  25187436.035    25187442.570
+      1616.989        1259.991          38.000          32.000
+ -15072376.06543 -11732395.23442  22427697.836    22427701.504    22427696.599
+     -3143.656       -2449.602          50.000          44.000
+ -21854798.92043 -17018371.83742  20978481.209    20978484.667    20978480.446
+       491.750         383.182          56.000          50.000
+ -10124844.53943  -7855494.74142  23403637.521    23403640.520    23403635.334
+     -2359.895       -1838.879          49.000          42.000
+ 04  2  1 17 25  0.0000000  0 10G18G17G21G25G15G30G29G 5G 6G10
+ -11315300.10043  -8758278.18642  22652477.395    22652479.895    22652476.818
+      3425.509        2669.228          50.000          43.000
+  -6849948.96443  -5317493.26342  23534317.831    23534321.280    23534316.791
+     -3310.411       -2579.541          46.000          41.000
+ -23985444.81144 -18622099.57442  20781075.250    20781076.765    20781073.933
+       493.713         384.711          57.000          50.000
+  -3968089.37243  -2926585.16542  24141214.483    24141219.855    24141213.066
+      -814.788        -634.900          45.000          39.000
+  -5054352.06543  -3928364.31642  23861580.240    23861582.934    23861577.553
+      2416.568        1883.040          47.000          39.000
+ -27711051.72344 -21589796.21042  20144534.516    20144537.729    20144533.948
+      -966.950        -753.467          58.000          51.000
+  -1202788.60453   -904799.44652  25178216.428    25178224.794    25178214.276
+      1613.260        1257.086          39.000          32.000
+ -14977923.36943 -11658795.74542  22445671.606    22445675.587    22445670.308
+     -3153.022       -2456.900          50.000          44.000
+ -21869475.27043 -17029807.94942  20975688.700    20975691.461    20975687.616
+       486.507         379.096          56.000          50.000
+ -10053845.92843  -7800171.14442  23417148.504    23417151.267    23417146.794
+     -2373.342       -1849.357          49.000          42.000
+ 04  2  1 17 25 30.0000000  0 10G18G17G21G25G15G30G29G 5G 6G10
+ -11417969.56343  -8838280.33442  22632940.366    22632942.506    22632940.055
+      3419.162        2664.282          51.000          43.000
+  -6750647.94243  -5240115.85642  23553214.455    23553218.514    23553213.467
+     -3309.450       -2578.792          46.000          41.000
+ -24000055.49844 -18633484.49042  20778294.525    20778296.456    20778293.201
+       480.777         374.631          57.000          50.000
+  -3943454.23643  -2907388.98242  24145901.691    24145906.259    24145901.450
+      -827.848        -645.076          44.000          39.000
+  -5126706.90443  -3984744.68142  23847810.696    23847813.080    23847807.975
+      2407.259        1875.786          46.000          39.000
+ -27681773.50144 -21566982.01842  20150106.169    20150109.545    20150105.702
+      -984.996        -767.529          58.000          52.000
+  -1251105.85053   -942449.24052  25169020.546    25169021.205    25169018.290
+      1608.021        1253.003          39.000          33.000
+ -14883191.34143 -11584978.58442  22463698.728    22463702.251    22463697.156
+     -3162.555       -2464.328          51.000          45.000
+ -21884004.65643 -17041129.55542  20972924.114    20972927.034    20972922.550
+       481.684         375.338          56.000          50.000
+  -9982450.90343  -7744538.64942  23430734.057    23430737.210    23430733.141
+     -2386.434       -1859.559          49.000          42.000
+ 04  2  1 17 26  0.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+ -11520456.35543  -8918140.14142  22613437.390    22613440.470    22613436.384
+      3413.385        2659.781          50.000          44.000
+  -6651378.51743  -5162763.07542  23572105.312    23572109.405    23572102.753
+     -3308.230       -2577.841          46.000          41.000
+ -24014283.76044 -18644571.42642  20775587.156    20775589.186    20775585.783
+       468.055         364.718          57.000          50.000
+  -3918446.24443  -2887902.27442  24150659.435    24150664.787    24150658.724
+      -839.869        -654.443          44.000          39.000
+  -5198789.68543  -4040913.06342  23834093.875    23834098.720    23834092.304
+      2398.465        1868.934          47.000          39.000
+ -27651956.60744 -21543748.08842  20155780.316    20155783.378    20155779.649
+     -1002.727        -781.346          58.000          52.000
+ -14788183.05643 -11510946.15442  22481778.779    22481781.491    22481776.960
+     -3171.347       -2471.179          51.000          45.000
+ -21898386.80243 -17052336.41542  20970186.984    20970190.061    20970185.979
+       477.199         371.843          56.000          50.000
+  -9910662.43643  -7688599.59242  23444394.658    23444396.455    23444393.341
+     -2399.256       -1869.550          48.000          42.000
+ 04  2  1 17 26 30.0000000  0  9G18G17G21G25G15G30G 5G 6G10
+ -11622757.57343  -8997855.35542  22593970.303    22593972.670    22593968.969
+      3406.819        2654.664          51.000          43.000
+  -6552143.09043  -5085436.74242  23590987.353    23590994.246    23590987.714
+     -3307.394       -2577.190          46.000          40.000
+ -24028130.94743 -18655361.42242  20772952.084    20772953.703    20772950.769
+       455.114         354.634          56.000          50.000
+  -3893067.72143  -2868126.81142  24155490.753    24155494.965    24155489.836
+      -852.433        -664.233          45.000          39.000
+  -5270600.56843  -4096869.55742  23820428.488    23820432.488    23820425.699
+      2389.170        1861.691          46.000          40.000
+ -27621602.25744 -21520095.35742  20161556.596    20161559.514    20161555.810
+     -1020.863        -795.478          58.000          51.000
+ -14692901.15443 -11436700.53742  22499909.531    22499913.986    22499907.948
+     -3180.576       -2478.371          51.000          45.000
+ -21912621.00543 -17063427.99942  20967478.529    20967481.393    20967477.160
+       472.061         367.840          56.000          50.000
+  -9838482.98543  -7632355.86142  23458129.146    23458131.732    23458128.047
+     -2412.510       -1879.878          48.000          41.000
+ 04  2  1 17 27  0.0000000  0 10G18G17G21G25G15G30G29G 5G 6G10
+ -11724872.98143  -9077425.79142  22574538.984    22574540.269    22574537.393
+      3400.168        2649.482          51.000          43.000
+  -6452945.94143  -5008140.27542  23609865.720    23609869.658    23609863.172
+     -3306.522       -2576.511          46.000          40.000
+ -24041601.11643 -18665857.63642  20770388.952    20770390.535    20770387.415
+       442.077         344.476          56.000          50.000
+  -3867323.69243  -2848066.52542  24160390.101    24160394.399    24160388.567
+      -864.976        -674.007          46.000          40.000
+  -5342141.43043  -4152615.62842  23806814.281    23806819.231    23806812.747
+      2379.556        1854.199          46.000          40.000
+ -27590713.39644 -21496026.12142  20167434.627    20167437.475    20167433.603
+     -1039.252        -809.807          58.000          51.000
+   -579230.89853   -441939.39252  25141595.421    25141597.790    25141593.650
+      1593.625        1241.786          43.000          35.000
+ -14597350.55343 -11362245.53842  22518092.279    22518095.815    22518090.820
+     -3190.209       -2485.877          51.000          45.000
+ -21926708.65843 -17074405.38542  20964797.844    20964800.498    20964796.530
+       466.356         363.394          56.000          50.000
+  -9765917.10343  -7575811.01942  23471939.931    23471943.770    23471937.579
+     -2426.029       -1890.412          49.000          42.000
+ 04  2  1 17 27 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -11826799.76343  -9156849.22342  22555142.508    22555145.564    22555142.120
+      3395.046        2645.490          50.000          43.000
+  -6353788.91243  -4930875.05242  23628735.292    23628739.171    23628734.345
+     -3303.949       -2574.506          46.000          40.000
+ -24054695.27043 -18676060.86642  20767896.883    20767898.741    20767895.694
+       430.841         335.720          56.000          50.000
+  -3841215.92843  -2827722.84042  24165357.682    24165363.434    24165356.519
+      -875.506        -682.212          45.000          40.000
+  -5413411.69343  -4208150.84842  23793251.890    23793256.695    23793248.575
+      2371.830        1848.179          45.000          39.000
+ -27559290.61744 -21471540.84442  20173414.043    20173416.904    20173413.316
+     -1055.745        -822.658          58.000          51.000
+   -632267.24653   -465070.96852  25319627.080    25319632.222    25319624.844
+      1474.162        1148.698          43.000          35.000
+   -626990.49143   -479154.58542  25132505.940    25132512.284    25132506.593
+      1590.382        1239.259          41.000          36.000
+ -14501533.69743 -11287583.06342  22536325.597    22536329.977    22536324.729
+     -3197.617       -2491.650          51.000          45.000
+ -21940648.67243 -17085267.74142  20962144.599    20962147.622    20962143.879
+       462.848         360.661          56.000          50.000
+  -9692967.11343  -7518966.85742  23485821.804    23485824.200    23485819.564
+     -2437.577       -1899.411          49.000          42.000
+ 04  2  1 17 28  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -11928533.07743  -9236121.90642  22535784.086    22535785.019    22535783.183
+      3387.185        2639.365          50.000          43.000
+  -6254672.16543  -4853641.25542  23647596.780    23647600.428    23647594.199
+     -3303.742       -2574.344          45.000          40.000
+ -24067412.79543 -18685970.62242  20765476.870    20765478.434    20765475.571
+       417.166         325.064          56.000          50.000
+  -3814744.98343  -2807096.13442  24170393.635    24170399.119    24170394.191
+      -888.783        -692.558          45.000          39.000
+  -5484409.40043  -4263473.70342  23779740.630    23779746.262    23779739.344
+      2361.602        1840.209          46.000          39.000
+ -27527332.82844 -21446638.66542  20179495.360    20179498.009    20179494.713
+     -1074.737        -837.457          58.000          51.000
+   -676461.63143   -499508.11142  25311215.959    25311221.814    25311216.213
+      1472.763        1147.608          41.000          34.000
+   -674603.42443   -516255.49842  25123444.755    25123450.515    25123445.164
+      1584.366        1234.571          39.000          35.000
+ -14405451.26643 -11212713.63542  22554609.863    22554612.641    22554608.508
+     -3207.654       -2499.471          51.000          45.000
+ -21954438.50243 -17096013.06442  20959520.938    20959523.770    20959519.716
+       456.556         355.758          56.000          50.000
+  -9619633.78343  -7461823.99242  23499775.983    23499779.749    23499775.730
+     -2451.301       -1910.105          49.000          42.000
+ 04  2  1 17 28 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12030066.13143  -9315238.53342  22516462.444    22516464.413    22516461.707
+      3381.130        2634.647          50.000          44.000
+  -6155593.93643  -4776437.43342  23666450.004    23666453.683    23666449.135
+     -3301.550       -2572.636          45.000          40.000
+ -24079751.38743 -18695585.10242  20763129.014    20763130.367    20763127.792
+       405.277         315.800          56.000          50.000
+  -3787909.52743  -2786185.40742  24175501.281    24175506.385    24175498.662
+      -900.566        -701.740          44.000          39.000
+  -5555130.42543  -4318580.98942  23766284.300    23766287.500    23766280.675
+      2352.791        1833.344          47.000          39.000
+ -27494836.97044 -21421317.22042  20185679.176    20185682.383    20185678.371
+     -1091.973        -850.888          58.000          51.000
+   -720651.18843   -533941.40742  25302806.856    25302812.858    25302807.977
+      1473.423        1148.122          39.000          35.000
+   -722062.79043   -553236.83442  25114414.506    25114418.251    25114415.114
+      1579.768        1230.988          43.000          35.000
+ -14309101.86143 -11137636.17642  22572944.654    22572947.057    22572943.112
+     -3215.814       -2505.829          51.000          44.000
+ -21968073.17143 -17106637.48142  20956925.988    20956929.339    20956925.092
+       452.076         352.267          56.000          50.000
+  -9545915.27943  -7404381.01642  23513805.179    23513808.090    23513804.193
+     -2463.333       -1919.480          49.000          42.000
+ 04  2  1 17 29  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12131400.37043  -9394200.24142  22497179.004    22497181.844    22497178.396
+      3375.112        2629.957          51.000          44.000
+  -6056560.50343  -4699268.53642  23685294.912    23685299.553    23685293.950
+     -3300.003       -2571.431          45.000          40.000
+ -24091716.69143 -18704908.69842  20760851.846    20760853.817    20760850.676
+       393.066         306.285          56.000          50.000
+  -3760716.38243  -2764995.97542  24180676.351    24180680.450    24180675.632
+      -911.901        -710.572          46.000          39.000
+  -5625578.81743  -4373475.81642  23752878.546    23752882.828    23752877.139
+      2344.054        1826.536          46.000          39.000
+ -27461808.43344 -21395580.70642  20191963.720    20191967.204    20191963.451
+     -1109.388        -864.458          58.000          51.000
+   -764838.03043   -568372.62142  25294398.674    25294404.639    25294399.019
+      1473.315        1148.038          42.000          35.000
+   -769370.37143   -590099.79442  25105411.941    25105414.851    25105410.273
+      1574.613        1226.971          44.000          35.000
+ -14212492.51943 -11062356.18242  22591328.307    22591331.798    22591326.848
+     -3224.154       -2512.328          51.000          44.000
+ -21981556.30243 -17117143.81942  20954360.317    20954363.451    20954359.474
+       447.364         348.595          56.000          50.000
+  -9471818.48743  -7346643.27742  23527904.331    23527907.647    23527902.815
+     -2475.783       -1929.181          48.000          42.000
+ 04  2  1 17 29 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12232532.75643  -9473004.67442  22477933.995    22477936.180    22477932.450
+      3367.269        2623.846          51.000          43.000
+  -5957573.64443  -4622135.94542  23704133.136    23704136.251    23704131.075
+     -3299.382       -2570.947          45.000          40.000
+ -24103310.00943 -18713942.43342  20758646.128    20758647.724    20758644.542
+       379.790         295.940          56.000          50.000
+  -3733167.96443  -2743529.68842  24185919.193    24185922.877    24185918.072
+      -924.391        -720.305          46.000          39.000
+  -5695753.89843  -4428157.66842  23739522.833    23739528.847    23739523.105
+      2333.498        1818.310          46.000          39.000
+ -27428247.80344 -21369429.56542  20198350.926    20198353.689    20198349.986
+     -1128.057        -879.005          58.000          51.000
+   -809019.53043   -602799.66242  25285992.780    25285997.803    25285990.933
+      1471.630        1146.725          43.000          36.000
+   -816523.21943   -626842.16742  25096438.607    25096444.181    25096438.235
+      1568.502        1222.209          42.000          36.000
+ -14115625.67843 -10986875.52442  22609761.958    22609765.898    22609760.841
+     -3233.617       -2519.701          51.000          44.000
+ -21994886.78343 -17127531.19842  20951823.823    20951826.873    20951822.743
+       441.362         343.918          56.000          50.000
+  -9397345.57543  -7288612.41642  23542075.635    23542078.638    23542073.649
+     -2489.082       -1939.544          48.000          41.000
+ 04  2  1 17 30  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12333457.23143  -9551647.09542  22458728.409    22458730.666    22458726.776
+      3360.240        2618.369          50.000          43.000
+  -5858632.42643  -4545038.90142  23722959.285    23722964.190    23722958.013
+     -3297.756       -2569.680          44.000          39.000
+ -24114530.06144 -18722685.33142  20756510.735    20756512.708    20756509.645
+       367.615         286.453          57.000          50.000
+  -3705263.70043  -2721786.10842  24191228.828    24191233.029    24191228.957
+      -936.415        -729.674          45.000          39.000
+  -5765652.86943  -4482624.35542  23726222.301    23726228.284    23726220.492
+      2325.261        1811.892          47.000          39.000
+ -27394152.97844 -21342862.17242  20204838.409    20204841.833    20204837.969
+     -1145.548        -892.635          58.000          51.000
+   -853190.39243   -637218.48242  25277587.156    25277591.525    25277586.816
+      1472.228        1147.191          42.000          34.000
+   -863515.66143   -663459.62142  25087497.455    25087502.516    25087496.378
+      1563.244        1218.112          43.000          37.000
+ -14018500.86743 -10911193.85142  22628244.606    22628247.067    22628242.867
+     -3241.984       -2526.221          51.000          44.000
+ -22008060.69743 -17137796.58142  20949316.863    20949319.971    20949315.923
+       436.312         339.983          56.000          50.000
+  -9322495.91343  -7230288.00942  23556318.118    23556323.593    23556315.880
+     -2501.418       -1949.157          47.000          42.000
+ 04  2  1 17 30 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12434173.23043  -9630127.06742  22439562.939    22439564.783    22439562.176
+      3353.176        2612.864          51.000          44.000
+  -5759740.90143  -4467980.58042  23741779.067    23741782.945    23741776.585
+     -3296.185       -2568.456          45.000          39.000
+ -24125380.03643 -18731139.85242  20754446.308    20754447.663    20754444.932
+       354.849         276.506          56.000          50.000
+  -3677008.12143  -2699768.79542  24196605.909    24196607.633    24196603.813
+      -948.268        -738.910          44.000          38.000
+  -5835277.33743  -4536877.13242  23712973.810    23712978.428    23712971.739
+      2315.651        1804.403          46.000          40.000
+ -27359527.07444 -21315880.95042  20211427.824    20211430.819    20211427.069
+     -1163.635        -906.728          58.000          51.000
+   -897350.30543   -671628.67342  25269183.323    25269186.961    25269183.794
+      1471.696        1146.776          42.000          35.000
+   -910347.28143   -699951.80142  25078584.385    25078588.232    25078585.034
+      1557.324        1213.499          42.000          36.000
+ -13921122.86143 -10835314.89542  22646773.978    22646777.982    22646772.761
+     -3250.717       -2533.026          49.000          44.000
+ -22021079.27343 -17147940.92142  20946839.187    20946842.289    20946838.282
+       430.764         335.660          56.000          50.000
+  -9247274.22443  -7171673.70242  23570633.845    23570637.450    23570632.208
+     -2514.211       -1959.125          48.000          42.000
+ 04  2  1 17 31  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12534678.48243  -9708442.82042  22420438.182    22420440.956    22420436.741
+      3346.656        2607.784          52.000          45.000
+  -5660901.69043  -4390963.01542  23760586.211    23760590.690    23760585.390
+     -3293.060       -2566.021          44.000          39.000
+ -24135862.03343 -18739307.62742  20752451.145    20752453.547    20752450.361
+       343.895         267.970          56.000          50.000
+  -3648404.39143  -2677480.19742  24202048.682    24202050.541    24202049.500
+      -958.698        -747.037          45.000          38.000
+  -5904628.04543  -4590916.62442  23699776.837    23699779.946    23699774.776
+      2307.683        1798.195          47.000          40.000
+ -27324371.59144 -21288487.06942  20218117.359    20218120.665    20218116.723
+     -1180.247        -919.673          58.000          51.000
+   -941497.44443   -706028.93942  25260783.036    25260788.014    25260782.842
+      1471.814        1146.868          44.000          36.000
+   -957016.02353   -736317.04452  25069701.391    25069709.086    25069701.673
+      1553.525        1210.539          39.000          34.000
+ -13823494.61943 -10759240.95942  22665352.127    22665356.302    22665351.007
+     -3257.882       -2538.609          49.000          44.000
+ -22033942.25743 -17157964.02542  20944391.490    20944394.851    20944390.470
+       426.611         332.424          56.000          50.000
+  -9171683.51143  -7112771.83842  23585018.347    23585022.722    23585018.366
+     -2525.374       -1967.824          48.000          42.000
+ 04  2  1 17 31 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12634967.55043  -9786590.11942  22401352.992    22401355.976    22401352.915
+      3339.999        2602.597          52.000          45.000
+  -5562114.27343  -4313985.81342  23779385.071    23779388.922    23779383.474
+     -3291.452       -2564.768          43.000          39.000
+ -24145974.98443 -18747187.83642  20750526.851    20750528.688    20750525.551
+       331.698         258.466          56.000          50.000
+  -3619452.30143  -2654920.13042  24207558.808    24207562.765    24207556.318
+      -970.118        -755.936          46.000          38.000
+  -5973702.13243  -4644740.56342  23686633.138    23686635.354    23686630.924
+      2298.754        1791.237          47.000          40.000
+ -27288684.84844 -21260679.21442  20224908.555    20224911.475    20224908.051
+     -1197.764        -933.322          58.000          51.000
+   -985626.94743   -740415.48542  25252383.615    25252388.331    25252385.162
+      1471.335        1146.495          42.000          35.000
+  -1003516.54643   -772551.11342  25060854.403    25060859.253    25060854.420
+      1547.808        1206.084          43.000          36.000
+ -13725616.57443 -10682972.38342  22683977.888    22683981.363    22683976.195
+     -3266.051       -2544.975          49.000          44.000
+ -22046646.15643 -17167863.16842  20941973.862    20941977.242    20941972.879
+       421.492         328.435          56.000          50.000
+  -9095723.64343  -7053582.34442  23599473.195    23599474.639    23599471.748
+     -2537.449       -1977.233          49.000          42.000
+ 04  2  1 17 32  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12735039.04843  -9864567.88042  22382310.619    22382313.032    22382309.318
+      3332.081        2596.427          52.000          45.000
+  -5463381.83843  -4237051.46542  23798171.935    23798178.250    23798171.660
+     -3290.324       -2563.889          44.000          39.000
+ -24155721.79843 -18754782.74442  20748672.062    20748673.940    20748670.773
+       318.866         248.467          56.000          50.000
+  -3590155.41943  -2632091.41342  24213134.057    24213137.463    24213132.237
+      -982.070        -765.249          46.000          39.000
+  -6042500.72443  -4698349.83342  23673540.000    23673544.402    23673538.842
+      2288.448        1783.206          47.000          40.000
+ -27252469.39544 -21232459.38042  20231800.041    20231803.288    20231799.439
+     -1215.928        -947.476          58.000          51.000
+  -1029737.78243   -774787.55042  25243991.388    25243994.589    25243989.552
+      1469.551        1145.105          42.000          36.000
+  -1049847.45543   -808653.07042  25052039.965    25052040.804    25052037.249
+      1541.292        1201.007          45.000          37.000
+ -13627492.78343 -10606512.30842  22702651.109    22702653.668    22702648.856
+     -3274.819       -2551.807          51.000          44.000
+ -22059191.40343 -17177638.68542  20939586.937    20939589.419    20939585.640
+       415.589         323.836          56.000          49.000
+  -9019398.47043  -6994108.18942  23613996.569    23614001.295    23613995.377
+     -2550.379       -1987.308          49.000          41.000
+ 04  2  1 17 32 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12834891.65643  -9942375.09342  22363309.474    22363311.100    22363308.640
+      3324.860        2590.800          53.000          45.000
+  -5364707.49643  -4160162.36342  23816951.652    23816954.971    23816950.508
+     -3287.910       -2562.008          45.000          39.000
+ -24165105.11943 -18762094.42342  20746886.558    20746888.759    20746885.256
+       306.986         239.210          56.000          50.000
+  -3560517.94243  -2608997.32042  24218770.358    24218777.380    24218770.500
+      -993.055        -773.809          44.000          38.000
+  -6111025.25543  -4751745.52542  23660499.767    23660505.806    23660499.216
+      2279.662        1776.360          46.000          40.000
+ -27215727.68144 -21203829.47742  20238791.331    20238794.967    20238790.829
+     -1233.382        -961.077          58.000          51.000
+  -1073829.20643   -809144.46042  25235599.337    25235604.625    25235597.630
+      1469.661        1145.190          38.000          35.000
+  -1096007.64143   -844622.04242  25043252.730    25043257.561    25043253.868
+      1535.864        1196.777          42.000          37.000
+ -13529127.19743 -10529863.79142  22721369.548    22721372.292    22721367.588
+     -3282.534       -2557.819          50.000          44.000
+ -22071578.44543 -17187290.92142  20937229.466    20937232.398    20937228.833
+       410.379         319.776          56.000          50.000
+  -8942711.86543  -6934352.39342  23628589.450    23628593.690    23628586.828
+     -2562.205       -1996.523          48.000          42.000
+ 04  2  1 17 33  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -12934515.42043 -10020003.98342  22344351.641    22344353.623    22344350.754
+      3317.276        2584.890          52.000          45.000
+  -5266086.61943  -4083314.94342  23835718.187    23835721.279    23835717.320
+     -3286.468       -2560.884          45.000          39.000
+ -24174120.00743 -18769119.02142  20745170.934    20745172.795    20745169.778
+       294.713         229.646          56.000          50.000
+  -3530535.74443  -2585634.56642  24224479.686    24224481.470    24224478.916
+     -1004.655        -782.848          45.000          39.000
+  -6179268.52743  -4804922.07042  23647513.283    23647518.361    23647512.660
+      2270.251        1769.027          46.000          39.000
+ -27178453.70844 -21174784.82742  20245884.415    20245887.933    20245883.870
+     -1250.919        -974.742          58.000          51.000
+  -1117891.61543   -843478.78042  25227216.937    25227218.987    25227215.268
+      1468.136        1144.002          40.000          35.000
+  -1141987.53443   -880450.49342  25034505.744    25034508.676    25034505.711
+      1529.765        1192.025          43.000          37.000
+ -13430515.33143 -10453023.38542  22740134.309    22740137.485    22740132.485
+     -3290.771       -2564.237          50.000          44.000
+ -22083799.42643 -17196813.76742  20934903.828    20934907.189    20934902.733
+       404.994         315.580          56.000          50.000
+  -8865659.48943  -6874311.58142  23643252.073    23643257.936    23643250.931
+     -2574.295       -2005.944          48.000          42.000
+ 04  2  1 17 33 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13033917.14643 -10097459.84742  22325436.209    22325438.080    22325434.627
+      3308.996        2578.438          52.000          45.000
+  -5167530.07643  -4006517.64542  23854473.860    23854476.713    23854472.838
+     -3285.147       -2559.855          46.000          39.000
+ -24182776.82243 -18775864.59242  20743523.563    20743525.609    20743522.571
+       281.851         219.624          56.000          50.000
+  -3500220.37643  -2562012.25342  24230246.215    24230251.763    24230245.556
+     -1016.861        -792.359          45.000          39.000
+  -6247239.53943  -4857886.46742  23634579.240    23634582.590    23634577.529
+      2260.395        1761.347          46.000          39.000
+ -27140657.85544 -21145333.51542  20253077.013    20253080.125    20253076.534
+     -1269.299        -989.064          58.000          51.000
+  -1161932.20443   -877796.02442  25218834.253    25218840.834    25218833.948
+      1466.645        1142.840          39.000          35.000
+  -1187793.65143   -916143.50742  25025787.675    25025792.329    25025788.039
+      1523.397        1187.063          43.000          38.000
+ -13331669.38743 -10376000.58542  22758943.848    22758946.391    22758942.181
+     -3299.579       -2571.100          50.000          43.000
+ -22095862.58843 -17206213.62942  20932608.132    20932611.560    20932607.415
+       398.845         310.788          56.000          50.000
+  -8788253.10843  -6813994.92642  23657981.458    23657985.447    23657979.313
+     -2586.633       -2015.558          47.000          41.000
+ 04  2  1 17 34  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13133085.91343 -10174734.18542  22306564.417    22306566.603    22306562.303
+      3302.118        2573.079          51.000          45.000
+  -5069032.06943  -3929765.96442  23873216.209    23873218.870    23873214.689
+     -3281.683       -2557.155          45.000          38.000
+ -24191069.31643 -18782326.27542  20741945.898    20741947.581    20741944.419
+       270.828         211.035          56.000          50.000
+  -3469566.82943  -2538126.41842  24236080.856    24236084.571    24236079.982
+     -1027.088        -800.328          45.000          39.000
+  -6314930.66343  -4910632.75342  23621697.783    23621701.582    23621696.044
+      2252.411        1755.125          46.000          39.000
+ -27102333.39544 -21115470.30742  20260370.188    20260373.044    20260369.288
+     -1285.818       -1001.936          58.000          51.000
+  -1205940.67943   -912088.22742  25210460.062    25210464.815    25210459.136
+      1466.898        1143.037          38.000          35.000
+  -1233415.51343   -951692.99742  25017105.027    25017112.463    25017106.164
+      1518.041        1182.889          44.000          36.000
+ -13232584.18543 -10298791.35742  22777799.534    22777803.296    22777798.494
+     -3306.525       -2576.513          49.000          44.000
+ -22107759.34843 -17215483.82742  20930344.467    20930347.272    20930343.457
+       394.312         307.256          56.000          50.000
+  -8710487.51443  -6753398.34942  23672780.105    23672782.612    23672780.170
+     -2597.681       -2024.167          48.000          41.000
+ 04  2  1 17 34 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13232020.42943 -10251825.99242  22287737.391    22287740.666    22287736.168
+      3294.253        2566.950          51.000          45.000
+  -4970596.40243  -3853062.88442  23891946.222    23891952.189    23891945.886
+     -3279.803       -2555.691          44.000          39.000
+ -24199000.91943 -18788506.74342  20740436.195    20740438.377    20740435.094
+       258.499         201.428          56.000          50.000
+  -3438579.36443  -2513980.33542  24241976.865    24241979.749    24241976.248
+     -1038.150        -808.948          45.000          38.000
+  -6382343.47143  -4963162.19542  23608869.915    23608874.450    23608868.754
+      2242.596        1747.477          47.000          39.000
+ -27063483.34744 -21085197.54642  20267762.876    20267766.099    20267762.419
+     -1303.648       -1015.830          58.000          51.000
+  -1249916.39843   -946355.00642  25202092.664    25202096.281    25202092.003
+      1465.485        1141.936          42.000          36.000
+  -1278852.49343   -987098.44042  25008459.665    25008463.519    25008459.672
+      1511.336        1177.664          43.000          36.000
+ -13133264.06743 -10221399.07342  22796698.746    22796703.264    22796697.956
+     -3314.249       -2582.532          49.000          44.000
+ -22119490.56343 -17224625.02642  20928112.008    20928115.524    20928111.181
+       388.438         302.679          56.000          50.000
+  -8632366.88443  -6692525.13542  23687646.612    23687649.692    23687643.570
+     -2609.689       -2033.524          49.000          42.000
+ 04  2  1 17 35  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13330720.55543 -10328735.16142  22268954.716    22268958.293    22268954.777
+      3285.468        2560.105          51.000          45.000
+  -4872227.35343  -3776411.65642  23910668.157    23910672.328    23910666.438
+     -3278.207       -2554.447          46.000          39.000
+ -24206575.82044 -18794409.25942  20738995.180    20738996.811    20738993.628
+       245.963         191.659          57.000          50.000
+  -3407263.21443  -2489578.17042  24247935.648    24247940.103    24247935.572
+     -1049.889        -818.095          43.000          38.000
+  -6449480.43143  -5015476.69442  23596095.161    23596098.895    23596094.145
+      2232.685        1739.755          48.000          40.000
+ -27024111.14444 -21054517.90942  20275255.258    20275258.413    20275254.565
+     -1321.769       -1029.950          58.000          51.000
+  -1293859.56743   -980596.40242  25193728.598    25193733.734    25193728.919
+      1463.303        1140.236          40.000          36.000
+  -1324104.26243  -1022359.54742  24999850.355    24999851.322    24999849.782
+      1504.655        1172.458          43.000          36.000
+ -13033714.17643 -10143827.73642  22815642.110    22815646.041    22815642.117
+     -3322.806       -2589.199          49.000          44.000
+ -22131057.80943 -17233638.46542  20925910.864    20925914.081    20925909.927
+       382.191         297.811          56.000          50.000
+  -8553896.23843  -6631379.18142  23702579.443    23702580.731    23702577.709
+     -2622.144       -2043.229          49.000          42.000
+ 04  2  1 17 35 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13429180.74143 -10405457.35542  22250219.569    22250221.515    22250217.859
+      3277.134        2553.611          51.000          45.000
+  -4773923.99643  -3699811.65742  23929372.296    23929377.258    23929371.262
+     -3276.261       -2552.931          45.000          39.000
+ -24213792.75444 -18800032.83842  20737621.379    20737623.396    20737620.200
+       233.898         182.258          57.000          50.000
+  -3375618.37543  -2464919.89642  24253957.168    24253962.750    24253956.265
+     -1060.856        -826.641          42.000          38.000
+  -6516338.86743  -5067574.13042  23583371.496    23583377.082    23583369.739
+      2223.031        1732.232          47.000          40.000
+ -26984215.58944 -21023430.46842  20282846.942    20282850.307    20282846.320
+     -1339.350       -1043.649          58.000          51.000
+  -1337765.19543  -1014808.54642  25185375.230    25185380.638    25185374.162
+      1462.233        1139.402          42.000          36.000
+  -1369165.42143  -1057472.04742  24991275.278    24991276.266    24991273.251
+      1497.733        1167.065          43.000          36.000
+ -12933934.64343 -10066077.45742  22834629.190    22834632.356    22834628.270
+     -3330.530       -2595.218          49.000          43.000
+ -22142457.49643 -17242521.32642  20923741.700    20923744.746    20923740.561
+       376.390         293.291          56.000          50.000
+  -8475075.53143  -6569960.43042  23717577.518    23717581.862    23717576.602
+     -2633.854       -2052.354          48.000          42.000
+ 04  2  1 17 36  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13527398.70843 -10481990.81042  22231528.691    22231532.489    22231527.215
+      3269.768        2547.871          51.000          44.000
+  -4675688.89643  -3623264.83942  23948066.030    23948071.059    23948065.342
+     -3273.672       -2550.913          45.000          39.000
+ -24220653.88243 -18805379.17142  20736316.038    20736317.601    20736314.754
+       222.441         173.331          56.000          50.000
+  -3343647.73943  -2440007.69842  24260041.391    24260045.929    24260041.460
+     -1071.499        -834.934          44.000          39.000
+  -6582918.93443  -5119454.68442  23570701.562    23570706.187    23570699.603
+      2214.358        1725.474          47.000          40.000
+ -26943798.31044 -20991936.49142  20290538.518    20290541.150    20290537.692
+     -1356.283       -1056.844          58.000          51.000
+  -1381631.36043  -1048989.96142  25177027.914    25177032.955    25177027.891
+      1461.411        1138.762          44.000          36.000
+  -1414034.06743  -1092434.61642  24982735.814    24982737.200    24982736.928
+      1491.580        1162.270          43.000          36.000
+ -12833928.68543  -9988150.74642  22853660.588    22853664.245    22853658.479
+     -3337.807       -2600.888          49.000          43.000
+ -22153689.24043 -17251273.33242  20921604.580    20921607.460    20921603.436
+       371.336         289.353          56.000          50.000
+  -8395907.77843  -6508271.28442  23732643.366    23732645.158    23732641.932
+     -2645.125       -2061.136          48.000          41.000
+ 04  2  1 17 36 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13625369.39043 -10558331.58042  22212886.112    22212888.574    22212884.913
+      3262.352        2542.092          52.000          45.000
+  -4577521.44743  -3546770.71442  23966745.964    23966750.248    23966744.191
+     -3270.415       -2548.375          45.000          39.000
+ -24227158.52343 -18810447.72242  20735078.188    20735079.865    20735076.910
+       211.599         164.882          56.000          50.000
+  -3311351.39243  -2414841.74342  24266189.045    24266191.437    24266187.989
+     -1081.417        -842.662          45.000          38.000
+  -6649218.61343  -5171116.73642  23558085.642    23558090.351    23558083.017
+      2205.648        1718.687          46.000          40.000
+ -26902858.10344 -20960035.03442  20298328.651    20298332.006    20298328.169
+     -1372.743       -1069.670          58.000          51.000
+  -1425453.20443  -1083136.81842  25168685.984    25168692.915    25168687.918
+      1460.783        1138.272          41.000          35.000
+  -1458705.16543  -1127243.27642  24974235.850    24974235.967    24974233.307
+      1486.506        1158.316          42.000          36.000
+ -12733696.44043  -9910047.71542  22872734.547    22872737.276    22872732.436
+     -3344.295       -2605.944          49.000          43.000
+ -22164749.60543 -17259891.79042  20919499.405    20919502.786    20919498.406
+       366.477         285.566          56.000          50.000
+  -8316393.42943  -6446312.05942  23747773.009    23747776.409    23747771.135
+     -2655.538       -2069.250          47.000          41.000
+ 04  2  1 17 37  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13723095.77143 -10634481.99142  22194289.134    22194291.903    22194287.489
+      3253.779        2535.412          52.000          45.000
+  -4479429.17543  -3470335.20042  23985413.821    23985417.789    23985412.709
+     -3268.419       -2546.820          46.000          39.000
+ -24233313.73243 -18815243.98342  20733906.696    20733908.685    20733905.662
+       199.585         155.521          56.000          50.000
+  -3278737.98543  -2389428.68042  24272393.534    24272398.749    24272392.752
+     -1092.090        -850.979          45.000          38.000
+  -6715243.53343  -5222564.71542  23545521.663    23545526.174    23545519.146
+      2196.417        1711.494          47.000          40.000
+ -26861402.06544 -20927731.64142  20306217.688    20306220.964    20306216.918
+     -1390.229       -1083.295          58.000          51.000
+  -1469234.41043  -1117251.93742  25160356.195    25160364.097    25160356.401
+      1458.821        1136.744          42.000          35.000
+  -1503181.80643  -1161900.38642  24965770.880    24965774.465    24965768.244
+      1479.169        1152.599          41.000          36.000
+ -12633246.44743  -9831774.99542  22891848.264    22891852.773    22891847.868
+     -3351.970       -2611.925          49.000          43.000
+ -22175643.57543 -17268380.59542  20917426.599    20917429.964    20917425.459
+       360.468         280.884          56.000          50.000
+  -8236540.66843  -6384089.14442  23762968.515    23762972.561    23762966.749
+     -2667.113       -2078.270          48.000          41.000
+ 04  2  1 17 37 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13820568.64343 -10710434.86542  22175740.591    22175742.935    22175739.607
+      3245.068        2528.624          52.000          45.000
+  -4381407.54343  -3393954.70642  24004066.952    24004070.882    24004066.560
+     -3266.185       -2545.079          47.000          39.000
+ -24239115.08143 -18819764.50642  20732803.033    20732804.758    20732801.625
+       187.862         146.386          56.000          50.000
+  -3245803.81243  -2363765.70342  24278661.614    24278664.906    24278659.851
+     -1102.624        -859.187          44.000          38.000
+  -6780986.87743  -5273793.25642  23533009.917    23533015.196    23533009.326
+      2186.907        1704.083          46.000          40.000
+ -26819424.96944 -20895022.22142  20314205.712    20314208.535    20314205.112
+     -1407.611       -1096.840          58.000          51.000
+  -1512966.05643  -1151328.54142  25152034.498    25152036.966    25152034.405
+      1456.917        1135.260          40.000          34.000
+  -1547455.10843  -1196399.00342  24957346.720    24957350.822    24957345.263
+      1472.523        1147.421          42.000          36.000
+ -12532575.13843  -9753329.82342  22911005.772    22911010.005    22911004.706
+     -3359.053       -2617.444          49.000          43.000
+ -22186363.69944 -17276733.92742  20915387.559    20915389.500    20915386.244
+       354.728         276.411          57.000          50.000
+  -8156345.66243  -6321599.51042  23778231.136    23778233.710    23778229.082
+     -2678.603       -2087.223          48.000          41.000
+ 04  2  1 17 38  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -13917786.81543 -10786189.28242  22157240.527    22157243.251    22157239.617
+      3235.893        2521.475          52.000          45.000
+  -4283460.29343  -3317632.15942  24022705.110    24022708.724    24022703.160
+     -3264.237       -2543.561          46.000          39.000
+ -24244565.79343 -18824011.79942  20731765.524    20731767.339    20731764.382
+       175.301         136.598          56.000          50.000
+  -3212553.29443  -2337856.21042  24284987.422    24284992.346    24284987.109
+     -1113.960        -868.021          44.000          38.000
+  -6846451.06143  -5324804.28042  23520552.967    23520557.844    23520552.619
+      2177.039        1696.394          48.000          41.000
+ -26776930.02444 -20861909.29142  20322292.046    20322295.388    20322291.448
+     -1425.661       -1110.905          58.000          51.000
+  -1556647.66443  -1185366.16542  25143720.994    25143725.525    25143721.613
+      1454.407        1133.304          41.000          34.000
+  -1591524.27343  -1230738.51642  24948960.127    24948965.516    24948959.865
+      1464.776        1141.384          40.000          34.000
+ -12431687.21143  -9674715.84742  22930203.404    22930207.868    22930202.936
+     -3366.999       -2623.635          48.000          43.000
+ -22196910.98243 -17284952.57342  20913379.797    20913382.658    20913378.708
+       348.193         271.319          56.000          50.000
+  -8075813.00343  -6258846.79442  23793555.726    23793558.800    23793554.365
+     -2690.503       -2096.496          48.000          42.000
+ 04  2  1 17 38 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14014748.03443 -10861743.46242  22138789.374    22138792.028    22138788.349
+      3227.652        2515.054          52.000          45.000
+  -4185589.16543  -3241368.92742  24041329.341    24041334.477    24041327.711
+     -3261.125       -2541.136          46.000          40.000
+ -24249667.58343 -18827987.20242  20730795.130    20730796.652    20730793.508
+       164.243         127.982          56.000          50.000
+  -3178989.25743  -2311702.41642  24291375.666    24291379.243    24291373.973
+     -1124.137        -875.951          41.000          37.000
+  -6911636.22943  -5375597.89342  23508148.542    23508153.756    23508147.602
+      2168.049        1689.389          47.000          41.000
+ -26733918.71044 -20828393.99942  20330477.220    20330480.566    20330476.675
+     -1442.397       -1123.946          58.000          51.000
+  -1600277.38743  -1219363.29042  25135419.476    25135424.646    25135420.026
+      1453.596        1132.672          42.000          34.000
+  -1635386.92843  -1264917.18442  24940614.298    24940618.992    24940612.749
+      1458.532        1136.518          43.000          35.000
+ -12330585.23343  -9595935.09642  22949443.820    22949447.573    22949442.448
+     -3373.624       -2628.798          49.000          43.000
+ -22207284.66643 -17293035.95842  20911405.615    20911408.804    20911404.410
+       342.823         267.135          56.000          50.000
+  -7994945.49143  -6195833.14942  23808943.144    23808947.735    23808940.428
+     -2701.151       -2104.793          47.000          41.000
+ 04  2  1 17 39  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14111445.85543 -10937092.39342  22120388.357    22120391.510    22120387.145
+      3219.275        2508.526          52.000          45.000
+  -4087792.71543  -3165163.89842  24059939.365    24059944.363    24059937.798
+     -3258.286       -2538.924          46.000          40.000
+ -24254418.75944 -18831689.40942  20729890.817    20729892.371    20729889.266
+       152.970         119.197          57.000          50.000
+  -3145111.36343  -2285304.08242  24297821.602    24297827.224    24297820.447
+     -1134.540        -884.057          42.000          37.000
+  -6976538.87043  -5426171.36642  23495797.989    23495802.554    23495796.835
+      2158.933        1682.285          47.000          41.000
+ -26690388.99244 -20794474.74942  20338760.384    20338763.789    20338759.871
+     -1459.326       -1137.137          58.000          51.000
+  -1643848.92943  -1253315.08642  25127129.128    25127131.152    25127128.608
+      1451.828        1131.295          44.000          36.000
+  -1679036.93043  -1298930.22242  24932306.862    24932311.074    24932304.354
+      1451.844        1131.307          41.000          36.000
+ -12229269.00643  -9516987.37242  22968722.882    22968727.814    22968722.155
+     -3380.557       -2634.200          49.000          43.000
+ -22217480.34843 -17300980.63842  20909465.503    20909468.506    20909464.489
+       337.163         262.724          56.000          50.000
+  -7913742.11343  -6132557.80642  23824396.030    23824400.209    23824394.338
+     -2712.197       -2113.400          48.000          41.000
+ 04  2  1 17 39 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14207884.39143 -11012239.29342  22102036.908    22102038.902    22102035.585
+      3210.429        2501.633          52.000          45.000
+  -3990079.63743  -3089023.85342  24078534.409    24078537.084    24078533.694
+     -3255.446       -2536.711          47.000          39.000
+ -24258828.10943 -18835125.26042  20729052.002    20729053.155    20729050.256
+       141.304         110.107          56.000          50.000
+  -3110929.20343  -2258668.67442  24304327.355    24304329.843    24304324.815
+     -1144.935        -892.157          42.000          38.000
+  -7041165.91443  -5476530.07342  23483501.514    23483503.888    23483499.855
+      2149.789        1675.160          48.000          41.000
+ -26646349.25544 -20760158.09342  20347140.720    20347144.051    20347140.055
+     -1476.415       -1150.453          58.000          51.000
+  -1687367.05943  -1287225.22842  25118848.521    25118851.614    25118846.416
+      1449.373        1129.382          43.000          37.000
+  -1722478.73043  -1332780.92942  24924040.277    24924042.750    24924039.046
+      1444.512        1125.594          41.000          35.000
+ -12127747.80743  -9437879.93642  22988041.493    22988045.972    22988039.310
+     -3387.302       -2639.456          49.000          43.000
+ -22227504.03343 -17308791.28942  20907558.085    20907561.021    20907556.797
+       331.296         258.153          56.000          50.000
+  -7832212.49143  -6069028.21742  23839911.414    23839914.553    23839910.084
+     -2722.752       -2121.625          48.000          41.000
+ 04  2  1 17 40  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14304057.28943 -11087179.19642  22083735.646    22083737.553    22083734.781
+      3201.052        2494.326          52.000          45.000
+  -3892448.14343  -3012947.37942  24097112.949    24097117.199    24097111.981
+     -3253.288       -2535.030          46.000          39.000
+ -24262893.55743 -18838293.13142  20728278.032    20728279.687    20728276.544
+       129.493         100.904          56.000          50.000
+  -3076441.71843  -2231795.29742  24310890.815    24310894.667    24310889.732
+     -1154.852        -899.885          44.000          39.000
+  -7105513.83543  -5526671.31042  23471255.012    23471259.134    23471252.994
+      2140.110        1667.618          48.000          41.000
+ -26601797.19344 -20725442.21242  20355619.055    20355622.170    20355618.292
+     -1493.866       -1164.051          58.000          51.000
+  -1730825.92043  -1321089.18842  25110578.895    25110580.703    25110578.115
+      1447.497        1127.920          44.000          36.000
+  -1765706.11343  -1366464.59042  24915813.433    24915818.443    24915814.618
+      1436.980        1119.725          42.000          34.000
+ -12026020.66643  -9358612.03242  23007399.224    23007403.616    23007399.116
+     -3394.571       -2645.120          48.000          43.000
+ -22237351.18643 -17316464.39242  20905683.858    20905686.905    20905682.668
+       324.971         253.224          56.000          50.000
+  -7750355.70343  -6005243.70942  23855487.986    23855491.492    23855486.580
+     -2734.031       -2130.414          47.000          41.000
+ 04  2  1 17 40 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14399958.37143 -11161907.29842  22065486.485    22065489.361    22065485.030
+      3192.929        2487.997          52.000          45.000
+  -3794896.33643  -2936932.99442  24115675.387    24115681.548    24115674.756
+     -3249.344       -2531.956          46.000          39.000
+ -24266613.33843 -18841191.65742  20727570.109    20727571.852    20727568.728
+       119.191          92.876          56.000          50.000
+  -3041648.11343  -2204683.44542  24317512.484    24317514.688    24317511.135
+     -1164.070        -907.067          45.000          39.000
+  -7169579.38043  -5576592.48242  23459063.259    23459069.098    23459062.115
+      2131.666        1661.038          47.000          41.000
+ -26556730.61344 -20690325.40842  20364194.753    20364198.024    20364194.512
+     -1509.830       -1176.491          58.000          51.000
+  -1774219.42743  -1354902.22142  25102321.529    25102323.117    25102321.381
+      1446.453        1127.106          44.000          36.000
+                  -1399976.33942  24907630.211    24907629.659
+      1430.800        1114.909          41.000          32.000
+ -11924086.96543  -9279183.18842  23026797.668    23026801.681    23026795.866
+     -3400.123       -2649.446          48.000          43.000
+ -22247017.24343 -17323996.38842  20903844.332    20903847.984    20903843.211
+       320.103         249.431          56.000          50.000
+  -7668170.86743  -5941203.57642  23871127.235    23871130.709    23871125.552
+     -2744.092       -2138.253          47.000          41.000
+ 04  2  1 17 41  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14495588.11943 -11236423.95742  22047287.245    22047291.333    22047286.491
+      3183.716        2480.818          51.000          45.000
+  -3697429.07443  -2860984.49342  24134222.642    24134227.705    24134220.195
+     -3247.007       -2530.135          45.000          39.000
+ -24269992.55043 -18843824.81242  20726927.229    20726928.998    20726925.949
+       107.525          83.786          56.000          50.000
+  -3006554.21143  -2177337.55242  24324188.870    24324193.764    24324188.593
+     -1174.255        -915.004          43.000          39.000
+  -7233365.72643  -5626296.09642  23446925.594    23446929.546    23446923.888
+      2122.135        1653.612          48.000          42.000
+ -26511154.14744 -20654811.29142  20372867.880    20372870.878    20372867.210
+     -1527.073       -1189.927          58.000          51.000
+  -1817548.52143  -1388665.12342  25094072.722    25094081.555    25094074.551
+      1443.499        1124.804          42.000          35.000
+  -1851499.85443  -1433316.72842  24899487.152    24899492.501    24899487.379
+      1422.805        1108.679          41.000          34.000
+ -11821952.40143  -9199597.83642  23046233.015    23046236.712    23046231.375
+     -3407.275       -2655.019          48.000          43.000
+ -22256504.47543 -17331389.03042  20902039.451    20902042.344    20902038.490
+       313.909         244.604          56.000          50.000
+  -7585663.85843  -5876912.41842  23886827.883    23886831.438    23886826.852
+     -2754.898       -2146.674          47.000          41.000
+ 04  2  1 17 41 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14590941.29843 -11310725.10942  22029143.098    22029146.765    22029141.984
+      3173.612        2472.944          52.000          45.000
+  -3600046.06543  -2785101.63342  24152754.120    24152758.898    24152754.018
+     -3245.025       -2528.591          45.000          39.000
+ -24273030.09843 -18846191.73242  20726349.334    20726350.751    20726347.873
+        95.425          74.357          56.000          50.000
+  -2971160.76443  -2149758.27942  24330922.828    24330928.540    24330922.056
+     -1185.057        -923.421          41.000          38.000
+  -7296870.90343  -5675780.63342  23434840.315    23434845.449    23434840.236
+      2111.944        1645.671          47.000          41.000
+ -26465067.37044 -20618899.52742  20381637.798    20381641.047    20381636.979
+     -1544.908       -1203.824          58.000          51.000
+                  -1422374.48342  25085841.007    25085843.264
+      1440.211        1122.242          39.000          32.000
+  -1894062.17643  -1466482.23042  24891390.653    24891391.179    24891388.208
+      1414.639        1102.316          45.000          36.000
+ -11719617.79443  -9119856.58142  23065706.970    23065710.368    23065705.621
+     -3414.602       -2660.729          49.000          43.000
+ -22265809.95143 -17338640.04642  20900268.140    20900271.402    20900267.127
+       306.993         239.215          56.000          50.000
+  -7502835.11843  -5812370.54342  23902589.285    23902593.991    23902587.528
+     -2766.505       -2155.718          46.000          40.000
+ 04  2  1 17 42  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14686017.04143 -11384810.06942  22011051.388    22011053.729    22011049.725
+      3163.838        2465.328          52.000          45.000
+  -3502751.19043  -2709287.44742  24171270.333    24171271.558    24171268.478
+     -3242.489       -2526.615          47.000          39.000
+ -24275730.04243 -18848295.58342  20725835.431    20725837.044    20725833.962
+        83.654          65.185          56.000          50.000
+  -2935472.73343  -2121949.45742  24337715.396    24337720.638    24337714.700
+     -1195.031        -931.193          42.000          38.000
+  -7360097.23643  -5725047.88542  23422808.577    23422812.593    23422808.943
+      2102.204        1638.081          48.000          42.000
+ -26418473.73244 -20582592.80942  20390503.872    20390507.596    20390503.553
+     -1562.315       -1217.388          58.000          51.000
+  -1904000.02153  -1456029.88052  25077623.370    25077628.632    25077621.765
+      1437.672        1120.264          41.000          33.000
+  -1936399.51643  -1499472.31242  24883333.004    24883336.742    24883331.481
+      1406.892        1096.279          43.000          36.000
+ -11617088.03143  -9039963.24842  23085217.962    23085220.379    23085216.331
+     -3421.642       -2666.214          50.000          43.000
+ -22274934.72643 -17345750.24942  20898532.092    20898534.962    20898531.152
+       300.325         234.019          56.000          50.000
+  -7419689.39643  -5747581.67342  23918410.256    23918416.547    23918406.779
+     -2777.576       -2164.345          44.000          40.000
+ 04  2  1 17 42 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14780809.90343 -11458674.61942  21993012.683    21993014.718    21993011.075
+      3154.380        2457.958          52.000          46.000
+  -3405542.97143  -2633540.77442  24189768.198    24189771.421    24189766.658
+     -3239.170       -2524.028          46.000          39.000
+ -24278091.32043 -18850135.53042  20725385.664    20725387.791    20725384.821
+        72.551          56.533          56.000          50.000
+  -2899489.75443  -2093910.83642  24344564.350    24344567.322    24344562.861
+     -1205.177        -939.099          43.000          38.000
+  -7423041.82443  -5774095.58742  23410831.864    23410836.113    23410830.860
+      2092.836        1630.781          48.000          41.000
+ -26371371.73644 -20545889.96742  20399467.327    20399470.634    20399466.643
+     -1579.164       -1230.517          58.000          51.000
+  -1947116.71653  -1489627.30052  25069418.766    25069421.564    25069417.341
+      1435.416        1118.506          41.000          35.000
+  -1978506.38643  -1532282.83042  24875319.739    24875323.669    24875320.186
+      1399.099        1090.207          45.000          37.000
+ -11514362.94543  -8959917.70642  23104765.703    23104768.862    23104764.985
+     -3427.999       -2671.168          50.000          43.000
+ -22283874.81543 -17352716.54642  20896831.018    20896833.763    20896829.681
+       294.324         229.343          56.000          50.000
+  -7336226.55343  -5682545.70742  23934293.144    23934296.868    23934293.659
+     -2787.921       -2172.406          45.000          39.000
+ 04  2  1 17 43  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14875321.19343 -11532319.76642  21975028.383    21975029.602    21975026.726
+      3145.680        2451.179          53.000          46.000
+  -3308427.24943  -2557866.21742  24208247.552    24208251.763    24208245.316
+     -3235.488       -2521.159          44.000          38.000
+ -24280119.87243 -18851716.21542  20724999.567    20725001.611    20724998.449
+        62.053          48.353          56.000          50.000
+  -2863219.02743  -2065647.99042  24351464.722    24351470.523    24351463.185
+     -1213.621        -945.679          42.000          38.000
+  -7485708.85443  -5822927.00542  23398906.084    23398910.253    23398905.296
+      2084.269        1624.106          49.000          41.000
+ -26323767.10244 -20508795.46442  20408526.402    20408529.591    20408525.698
+     -1595.187       -1243.003          57.000          51.000
+  -1990160.66043  -1523167.99742  25061229.403    25061230.637    25061229.186
+      1433.765        1117.219          44.000          36.000
+  -2020384.10643  -1564914.88342  24867350.932    24867354.452    24867348.577
+      1392.105        1084.757          43.000          36.000
+ -11411449.14843  -8879725.12742  23124349.911    23124352.085    23124348.210
+     -3433.660       -2675.579          49.000          42.000
+ -22292633.27343 -17359541.31042  20895164.107    20895167.032    20895162.987
+       288.971         225.172          56.000          50.000
+  -7252452.89843  -5617267.52942  23950236.059    23950238.066    23950234.086
+     -2797.665       -2179.999          45.000          39.000
+ 04  2  1 17 43 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -14969545.36943 -11605741.18442  21957097.798    21957099.625    21957095.984
+      3135.988        2443.627          53.000          46.000
+  -3211402.64943  -2482262.63342  24226708.607    24226714.566    24226710.052
+     -3232.680       -2518.971          43.000          38.000
+ -24281813.94044 -18853036.26542  20724677.406    20724678.977    20724676.321
+        50.858          39.630          57.000          50.000
+  -2826659.85443  -2037160.34842  24358421.743    24358426.534    24358419.836
+     -1223.492        -953.370          42.000          38.000
+  -7548095.35243  -5871539.83742  23387034.047    23387037.748    23387033.666
+      2074.976        1616.864          48.000          41.000
+ -26275658.18544 -20471308.01142  20417681.308    20417684.281    20417680.563
+     -1612.131       -1256.206          57.000          51.000
+  -2033126.50043  -1556647.80842  25053049.682    25053056.351    25053050.161
+      1430.722        1114.848          40.000          36.000
+  -2062027.18143  -1597363.96542  24859427.097    24859430.106    24859426.384
+      1384.529        1078.854          43.000          37.000
+ -11308346.72943  -8799385.58142  23143969.845    23143973.163    23143968.165
+     -3439.964       -2680.491          49.000          43.000
+ -22301206.02743 -17366221.37242  20893532.666    20893535.932    20893531.851
+       282.656         220.251          56.000          50.000
+  -7168368.54143  -5551747.24542  23966236.085    23966240.329    23966233.242
+     -2807.876       -2187.955          45.000          39.000
+ 04  2  1 17 44  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -15063474.87643 -11678932.98942  21939223.082    21939225.344    21939222.294
+      3125.909        2435.773          52.000          46.000
+  -3114465.98543  -2406727.57242  24245156.467    24245161.863    24245156.047
+     -3229.821       -2516.744          44.000          38.000
+ -24283170.52344 -18854093.32842  20724419.714    20724420.847    20724418.243
+        39.567          30.831          57.000          50.000
+  -2789810.08943  -2008446.31142  24365434.193    24365438.547    24365433.127
+     -1233.519        -961.184          43.000          38.000
+  -7610196.52543  -5919930.34242  23375217.383    23375220.112    23375215.493
+      2065.074        1609.149          48.000          42.000
+ -26227041.63544 -20433425.00142  20426932.622    20426935.911    20426931.979
+     -1629.085       -1269.417          57.000          51.000
+  -2076006.86443  -1590061.05842  25044890.445    25044895.850    25044887.953
+      1427.949        1112.688          39.000          35.000
+  -2103428.25243  -1629624.54642  24851547.719    24851552.201    24851547.133
+      1375.966        1072.181          45.000          38.000
+ -11205053.47943  -8718897.34142  23163624.787    23163628.744    23163622.867
+     -3446.297       -2685.426          48.000          43.000
+ -22309587.31943 -17372752.24542  20891937.849    20891940.934    20891936.747
+       276.153         215.184          56.000          50.000
+  -7083971.21843  -5485983.11642  23982297.226    23982300.652    23982295.158
+     -2818.489       -2196.225          46.000          39.000
+ 04  2  1 17 44 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -15157114.24843 -11751898.72342  21921403.842    21921406.587    21921403.113
+      3115.433        2427.610          53.000          46.000
+  -3017626.55143  -2331268.28342  24263585.341    24263588.729    24263582.610
+     -3227.825       -2515.188          44.000          38.000
+ -24284198.74643 -18854894.51642  20724223.710    20724225.226    20724222.345
+        27.694          21.580          56.000          50.000
+  -2752680.66843  -1979514.34342  24372499.803    24372503.848    24372498.153
+     -1243.190        -968.719          44.000          38.000
+  -7672020.03243  -5968104.45242  23363451.071    23363456.891    23363449.290
+      2055.283        1601.519          47.000          41.000
+ -26177926.81544 -20395153.72742  20436279.050    20436282.163    20436278.226
+     -1646.581       -1283.050          57.000          51.000
+  -2118807.03943  -1623411.87342  25036749.245    25036750.338    25036747.409
+      1424.346        1109.880          43.000          35.000
+  -2144592.41243  -1661700.52842  24843713.057    24843717.956    24843713.368
+      1367.128        1065.295          44.000          38.000
+ -11101579.43543  -8638268.21842  23183315.104    23183318.763    23183314.163
+     -3453.302       -2690.885          49.000          43.000
+ -22317783.83443 -17379139.13042  20890378.376    20890381.264    20890377.543
+       269.072         209.666          56.000          50.000
+  -6999271.09143  -5419982.99742  23998416.013    23998417.487    23998412.650
+     -2829.604       -2204.886          46.000          39.000
+ 04  2  1 17 45  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -15250454.96943 -11824631.74142  21903642.133    21903644.259    21903640.826
+      3106.218        2420.430          53.000          46.000
+  -2920880.23743  -2255881.55642  24281996.705    24281999.338    24281994.312
+     -3223.305       -2511.666          44.000          38.000
+ -24284894.72244 -18855436.81342  20724091.495    20724093.033    20724090.223
+        17.549          13.675          57.000          50.000
+  -2715268.37643  -1950361.93842  24379618.432    24379624.126    24379617.511
+     -1251.798        -975.427          44.000          39.000
+  -7733560.47843  -6016058.01442  23351741.263    23351747.195    23351740.278
+      2046.558        1594.720          48.000          42.000
+ -26128309.49544 -20356490.89842  20445720.249    20445724.007    20445720.059
+     -1662.289       -1295.290          57.000          51.000
+  -2161518.94043  -1656693.84842  25028619.192    25028623.905    25028618.539
+      1421.918        1107.988          42.000          35.000
+  -2185511.38543  -1693585.41642  24835929.205    24835932.044    24835928.139
+      1359.546        1059.386          47.000          38.000
+ -10997921.61743  -8557495.89942  23203040.528    23203044.827    23203040.071
+     -3458.273       -2694.758          49.000          43.000
+ -22325788.82243 -17385376.77542  20888855.190    20888858.042    20888853.799
+       263.584         205.390          56.000          50.000
+  -6914265.23043  -5353744.67142  24014589.927    24014593.829    24014587.945
+     -2838.371       -2211.718          44.000          38.000
+ 04  2  1 17 45 30.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -15343501.04943 -11897135.17442  21885935.834    21885937.691    21885935.092
+      3096.727        2413.034          53.000          46.000
+  -2824235.09043  -2180573.69342  24300387.408    24300390.143    24300386.390
+     -3219.843       -2508.968          43.000          38.000
+ -24285266.95644 -18855726.84242  20724020.873    20724022.138    20724019.494
+         7.166           5.584          57.000          50.000
+  -2677582.21743  -1920996.09242  24386791.516    24386794.815    24386790.215
+     -1260.476        -982.189          44.000          39.000
+  -7794824.61643  -6063796.27342  23340083.120    23340088.060    23340081.097
+      2037.761        1587.866          48.000          42.000
+ -26078197.77844 -20317442.81942  20455256.790    20455260.036    20455256.111
+     -1678.483       -1307.909          57.000          51.000
+  -2204146.75743  -1689910.28842  25020508.745    25020511.050    25020505.732
+      1419.880        1106.400          40.000          35.000
+  -2226189.17143  -1725282.34442  24828186.163    24828190.499    24828186.337
+      1352.118        1053.598          44.000          37.000
+ -10894089.47743  -8476587.74342  23222800.305    23222803.868    23222799.106
+     -3463.859       -2699.111          49.000          43.000
+ -22333607.77243 -17391469.46042  20887366.679    20887370.057    20887365.788
+       257.543         200.683          56.000          50.000
+  -6828962.66743  -5287275.17542  24030823.400    24030825.822    24030821.874
+     -2848.358       -2219.500          45.000          38.000
+ 04  2  1 17 46  0.0000000  0 11G18G17G21G25G15G30G26G29G 5G 6G10
+ -15436241.57543 -11969400.50242  21868287.713    21868290.208    21868287.094
+      3085.768        2404.494          53.000          46.000
+  -2727684.45343  -2105339.46142  24318759.212    24318763.036    24318759.105
+     -3216.783       -2506.584          43.000          38.000
+ -24285308.80844 -18855759.42642  20724012.767    20724014.240    20724011.443
+        -4.619          -3.599          57.000          50.000
+  -2639616.93043  -1891412.81742  24394015.732    24394019.581    24394014.303
+     -1270.538        -990.030          44.000          39.000
+  -7855804.49543  -6111313.03942  23328479.148    23328483.890    23328476.944
+      2027.306        1579.719          48.000          42.000
+ -26027585.20844 -20278004.46542  20464887.820    20464891.385    20464887.322
+     -1696.030       -1321.582          57.000          51.000
+  -2246680.03843  -1723053.08942  25012412.215    25012418.343    25012411.520
+      1415.432        1102.934          41.000          35.000
+  -2266614.75343  -1756782.80942  24820494.913    24820500.383    24820492.749
+      1342.558        1046.149          44.000          37.000
+ -10790077.92443  -8395539.78542  23242592.846    23242596.238    23242592.386
+     -3470.693       -2704.436          49.000          43.000
+ -22341231.58143 -17397410.08642  20885915.998    20885919.237    20885914.888
+       250.355         195.082          56.000          50.000
+  -6743358.05843  -5220570.26842  24047112.560    24047114.439    24047111.181
+     -2859.218       -2227.962          45.000          38.000
+ 04  2  1 17 46 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -15528678.63343 -12041429.36442  21850698.154    21850699.730    21850697.425
+      3076.291        2397.110          53.000          46.000
+  -2631234.72443  -2030183.83042  24337113.099    24337118.538    24337112.455
+     -3213.380       -2503.932          43.000          38.000
+ -24285026.80344 -18855539.65342  20724066.396    20724067.747    20724065.043
+       -14.630         -11.400          57.000          50.000
+  -2601380.72243  -1861618.39942  24401290.269    24401295.151    24401289.833
+     -1278.900        -996.545          43.000          38.000
+  -7916505.21443  -6158612.26242  23316927.894    23316932.087    23316925.621
+      2018.984        1573.234          47.000          41.000
+ -25976478.29344 -20238180.90542  20474613.417    20474616.569    20474612.765
+     -1711.692       -1333.786          58.000          51.000
+  -2289121.18843  -1756124.07642  25004336.373    25004341.695    25004336.435
+      1413.479        1101.412          39.000          35.000
+  -2306790.76343  -1788088.77942  24812849.865    24812854.333    24812848.505
+      1335.319        1040.508          43.000          37.000
+ -10685894.09843  -8314357.57642  23262417.502    23262421.316    23262417.680
+     -3475.428       -2708.126          48.000          43.000
+   -449846.92553   -303975.35052  24860689.455    24860688.642    24860687.395
+      3424.215        2668.219          43.000          35.000
+ -22348664.00543 -17403201.57542  20884501.687    20884504.613    20884500.761
+       244.828         190.775          56.000          50.000
+  -6657458.83943  -5153635.80342  24063458.936    24063460.894    24063457.781
+     -2868.114       -2234.894          46.000          38.000
+ 04  2  1 17 47  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -15620806.45343 -12113217.27042  21833166.602    21833168.672    21833165.344
+      3065.562        2388.750          53.000          46.000
+  -2534884.53743  -1955105.77642  24355447.486    24355453.654    24355447.513
+     -3210.367       -2501.585          44.000          39.000
+ -24284419.95044 -18855066.76242  20724181.799    20724183.308    20724180.395
+       -25.893         -20.176          57.000          50.000
+  -2562872.95043  -1831612.35242  24408619.045    24408624.846    24408618.055
+     -1288.429       -1003.971          45.000          39.000
+  -7976924.03743  -6205691.81642  23305430.345    23305436.838    23305429.810
+      2009.375        1565.747          47.000          41.000
+ -25924875.66144 -20197971.07642  20484433.092    20484436.074    20484432.522
+     -1728.675       -1347.019          58.000          51.000
+  -2331464.71653  -1789118.93452  24996279.877    24996280.346    24996279.522
+      1409.642        1098.422          42.000          35.000
+  -2346711.55643  -1819195.87642  24805252.070    24805255.867    24805251.823
+      1326.454        1033.601          43.000          37.000
+ -10581537.82643  -8233040.99242  23282276.877    23282279.711    23282275.934
+     -3481.717       -2713.026          49.000          42.000
+   -552503.09443   -383967.11442  24841153.377    24841153.809    24841152.677
+      3419.193        2664.306          42.000          35.000
+ -22355900.93743 -17408840.73942  20883124.637    20883127.781    20883123.689
+       237.700         185.221          56.000          50.000
+  -6571264.81943  -5086471.61042  24079860.932    24079863.040    24079859.345
+     -2878.334       -2242.858          45.000          38.000
+ 04  2  1 17 47 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -15712624.44243 -12184763.75642  21815693.749    21815695.823    21815693.115
+      3055.365        2380.804          53.000          46.000
+  -2438637.88443  -1880108.38742  24373764.792    24373767.348    24373762.736
+     -3206.430       -2498.517          45.000          39.000
+ -24283492.06243 -18854343.70442  20724357.657    20724359.468    20724356.535
+       -36.349         -28.324          56.000          50.000
+  -2524098.90043  -1801398.78742  24415998.950    24416002.338    24415996.672
+     -1297.089       -1010.719          45.000          39.000
+  -8037063.31143  -6252553.52942  23293986.640    23293991.564    23293984.870
+      1999.943        1558.397          47.000          41.000
+ -25872781.31244 -20157378.08642  20494346.093    20494349.183    20494345.391
+     -1744.730       -1359.530          57.000          51.000
+  -2373710.61643  -1822037.83942  24988240.825    24988242.843    24988239.818
+      1406.457        1095.941          44.000          36.000
+  -2386377.16543  -1850104.13542  24797706.417    24797708.016    24797703.810
+      1317.780        1026.842          44.000          38.000
+ -10477014.23943  -8151594.05342  23302166.186    23302171.203    23302163.337
+     -3486.968       -2717.118          47.000          42.000
+   -655024.90443   -463854.21142  24821643.384    24821647.963    24821641.231
+      3415.261        2661.242          41.000          34.000
+ -22362943.89843 -17414328.76042  20881784.524    20881787.596    20881783.501
+       231.470         180.366          56.000          50.000
+  -6484780.89143  -5019081.52642  24096318.338    24096322.365    24096315.838
+     -2887.505       -2250.004          45.000          38.000
+ 04  2  1 17 48  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -15804130.58743 -12256067.24142  21798280.870    21798283.112    21798280.173
+      3044.229        2372.126          53.000          46.000
+  -2342496.66543  -1805193.15442  24392058.606    24392061.738    24392057.871
+     -3203.763       -2496.439          44.000          39.000
+ -24282245.35644 -18853372.21742  20724595.308    20724596.935    20724594.100
+       -47.506         -37.018          57.000          50.000
+  -2485062.00343  -1770980.44342  24423426.283    24423429.435    24423425.671
+     -1306.250       -1017.857          44.000          39.000
+  -8096924.06343  -6299198.21742  23282594.071    23282599.428    23282593.893
+      1990.186        1550.794          47.000          41.000
+ -25820197.55644 -20116403.74642  20504352.085    20504355.808    20504351.661
+     -1761.516       -1372.610          57.000          51.000
+  -2415857.24243  -1854879.34742  24980218.202    24980223.704    24980219.188
+      1403.104        1093.328          42.000          36.000
+  -2425785.57143  -1880811.96542  24790206.691    24790209.608    24790206.522
+      1308.113        1019.309          43.000          38.000
+ -10372326.92143  -8070019.51942  23322087.358    23322091.716    23322086.540
+     -3492.948       -2721.778          46.000          41.000
+   -757410.42343   -543635.08742  24802161.426    24802162.570    24802159.443
+      3409.655        2656.874          43.000          36.000
+ -22369792.38044 -17419665.23742  20880481.554    20880484.447    20880480.492
+       224.288         174.770          57.000          50.000
+  -6398010.50343  -4951468.22042  24112829.088    24112833.187    24112828.841
+     -2897.727       -2257.969          45.000          38.000
+ 04  2  1 17 48 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -15895315.57443 -12327120.46642  21780929.523    21780931.091    21780927.947
+      3034.315        2364.401          53.000          46.000
+  -2246456.26843  -1730356.50442  24410334.197    24410337.346    24410332.317
+     -3199.373       -2493.018          44.000          39.000
+ -24280675.54243 -18852148.95742  20724893.846    20724895.583    20724892.605
+       -57.357         -44.694          56.000          50.000
+  -2445758.53543  -1740354.39042  24430905.874    24430909.199    24430904.375
+     -1314.117       -1023.987          43.000          38.000
+  -8156499.84843  -6345620.88142  23271257.736    23271263.623    23271256.108
+      1981.565        1544.077          47.000          41.000
+ -25767119.64444 -20075044.34142  20514453.136    20514456.092    20514452.515
+     -1777.100       -1384.753          58.000          51.000
+  -2457895.55443  -1887636.40642  24972218.840    24972224.861    24972218.058
+      1400.176        1091.046          41.000          37.000
+  -2464927.65043  -1911312.28042  24782756.822    24782760.451    24782756.461
+      1301.035        1013.794          42.000          37.000
+ -10267471.86543  -7988314.28442  23342040.087    23342044.651    23342039.044
+     -3497.499       -2725.324          45.000          41.000
+   -859650.77443   -623302.86942  24782705.979    24782707.117    24782704.648
+      3405.887        2653.938          43.000          36.000
+ -22376438.86544 -17424844.30742  20879216.571    20879219.293    20879215.807
+       218.518         170.274          57.000          50.000
+  -6310949.75543  -4883628.68142  24129397.300    24129400.888    24129396.053
+     -2906.285       -2264.638          45.000          39.000
+ 04  2  1 17 49  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -15986184.51543 -12397927.44342  21763637.568    21763639.434    21763636.255
+      3023.554        2356.016          53.000          47.000
+  -2150525.93843  -1655605.58042  24428589.717    24428592.118    24428587.524
+     -3195.972       -2490.368          45.000          38.000
+ -24278792.39043 -18850681.53842  20725252.296    20725253.837    20725250.971
+       -68.162         -53.113          56.000          50.000
+  -2406199.57343  -1709529.24942  24438432.925    24438437.834    24438431.653
+     -1323.037       -1030.938          42.000          37.000
+  -8215799.37043  -6391828.25542  23259973.848    23259978.692    23259973.047
+      1971.638        1536.341          47.000          41.000
+ -25713557.48344 -20033307.60142  20524645.314    20524648.591    20524644.990
+     -1793.794       -1397.761          57.000          51.000
+  -2499831.35643  -1920313.62242  24964238.316    24964245.507    24964239.883
+      1396.059        1087.838          43.000          37.000
+  -2503809.27843  -1941609.58042  24775359.603    24775362.403    24775358.670
+      1291.381        1006.271          41.000          37.000
+ -10162460.00443  -7906486.89642  23362023.692    23362027.866    23362023.707
+     -3503.212       -2729.775          45.000          41.000
+   -961751.68043   -702861.94342  24763274.166    24763277.584    24763272.233
+      3400.501        2649.741          42.000          36.000
+ -22382890.42844 -17429871.48342  20877988.623    20877991.676    20877987.626
+       211.817         165.052          57.000          50.000
+  -6223609.69843  -4815571.50942  24146018.059    24146020.907    24146017.023
+     -2915.962       -2272.178          47.000          39.000
+ 04  2  1 17 49 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16076726.90143 -12468479.95442  21746408.418    21746409.981    21746406.995
+      3012.907        2347.720          54.000          47.000
+  -2054699.28843  -1580935.46242  24446825.080    24446830.329    24446823.729
+     -3192.562       -2487.711          44.000          38.000
+ -24276589.65844 -18848965.10742  20725671.699    20725672.911    20725670.427
+       -78.454         -61.133          57.000          50.000
+  -2366379.66643  -1678500.73242  24446007.192    24446015.139    24446008.830
+     -1331.032       -1037.168          40.000          36.000
+  -8274814.72443  -6437814.18742  23248744.305    23248747.844    23248743.091
+      1962.228        1529.009          48.000          41.000
+ -25659504.60544 -19991188.49042  20534931.642    20534934.537    20534930.792
+     -1809.752       -1410.196          58.000          51.000
+  -2541654.07443  -1952902.72342  24956279.681    24956285.828    24956279.017
+      1392.306        1084.914          42.000          37.000
+  -2542419.58643  -1971695.54342  24768007.827    24768013.914    24768009.219
+      1282.192         999.111          41.000          36.000
+ -10057285.93043  -7824533.08942  23382037.220    23382041.157    23382036.190
+     -3508.253       -2733.704          45.000          41.000
+  -1063702.63043   -782304.23042  24743875.552    24743878.351    24743873.559
+      3395.932        2646.181          44.000          36.000
+ -22389137.85743 -17434739.60942  20876799.978    20876802.886    20876798.977
+       204.995         159.736          56.000          50.000
+  -6135984.60443  -4747292.20142  24162692.913    24162694.481    24162691.411
+     -2925.216       -2279.389          46.000          39.000
+ 04  2  1 17 50  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16166938.93643 -12538775.03842  21729241.048    21729242.940    21729239.907
+      3001.808        2339.071          53.000          47.000
+  -1958976.20943  -1506346.07442  24465040.038    24465043.424    24465038.497
+     -3188.743       -2484.735          44.000          38.000
+ -24274067.48744 -18846999.77042  20726151.896    20726153.296    20726150.406
+       -89.146         -69.464          57.000          50.000
+  -3901720.40453  -2874870.15952  24453633.802    24453640.259    24453635.220
+     -1340.030       -1044.179          39.000          36.000
+  -8333544.75343  -6483577.80242  23237568.531    23237571.480    23237566.654
+      1953.064        1521.868          48.000          41.000
+ -25604961.55644 -19948687.43142  20545310.824    20545314.056    20545310.044
+     -1826.055       -1422.900          57.000          51.000
+  -2583360.26243  -1985401.04842  24948344.484    24948350.464    24948344.668
+      1388.481        1081.933          42.000          36.000
+  -2580754.90643  -2001567.16342  24760715.799    24760720.222    24760714.707
+      1273.613         992.426          43.000          37.000
+  -9951951.10443  -7742454.00842  23402082.434    23402085.520    23402081.057
+     -3513.763       -2737.997          47.000          41.000
+  -1165499.67943   -861626.56342  24724505.021    24724507.350    24724503.753
+      3390.870        2642.236          44.000          37.000
+ -22395178.96743 -17439446.96042  20875650.340    20875653.183    20875649.581
+       198.160         154.410          56.000          50.000
+  -6048075.84143  -4678791.87542  24179420.980    24179425.518    24179417.830
+     -2934.490       -2286.615          46.000          39.000
+ 04  2  1 17 50 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16256832.58043 -12608822.04242  21712134.210    21712137.338    21712133.482
+      2991.043        2330.683          53.000          47.000
+  -1863373.08943  -1431850.12642  24483232.547    24483236.108    24483232.288
+     -3184.580       -2481.491          44.000          38.000
+ -24271242.40344 -18844798.39642  20726689.083    20726690.331    20726687.899
+       -99.169         -77.274          57.000          50.000
+  -3861399.50043  -2843451.27942  24461309.073    24461315.283    24461308.769
+     -1347.975       -1050.370          40.000          36.000
+  -8392004.54143  -6529130.84442  23226443.046    23226448.973    23226442.007
+      1944.297        1515.037          47.000          41.000
+ -25549944.90244 -19905817.32442  20555780.086    20555783.267    20555779.245
+     -1841.782       -1435.155          57.000          51.000
+  -2624962.02443  -2017817.92742  24940429.318    24940433.244    24940427.970
+      1385.131        1079.323          43.000          37.000
+  -2618827.33043  -2031233.98042  24753472.150    24753476.703    24753468.703
+      1264.802         985.560          44.000          37.000
+  -9846472.86043  -7660263.16542  23422154.166    23422157.034    23422152.499
+     -3518.453       -2741.652          47.000          41.000
+  -1267155.28343   -940838.63942  24705160.081    24705163.612    24705158.805
+      3386.326        2638.695          43.000          37.000
+ -22401027.38143 -17444004.15542  20874537.015    20874540.117    20874536.484
+       191.793         149.449          56.000          50.000
+  -5959901.10743  -4610084.28642  24196199.801    24196201.984    24196197.873
+     -2943.375       -2293.539          45.000          39.000
+ 04  2  1 17 51  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16346396.78643 -12678612.32942  21695091.457    21695093.666    21695090.142
+      2980.370        2322.366          54.000          47.000
+  -1767883.27643  -1357442.51842  24501402.719    24501406.926    24501402.047
+     -3180.516       -2478.324          43.000          37.000
+ -24268108.16943 -18842356.12342  20727285.298    20727287.078    20727284.332
+      -109.166         -85.064          56.000          50.000
+  -3820832.04743  -2811840.29242  24469030.014    24469035.781    24469030.419
+     -1355.673       -1056.368          41.000          37.000
+  -8450186.07143  -6574467.04842  23215371.018    23215375.859    23215369.979
+      1935.264        1507.998          48.000          41.000
+ -25494448.28144 -19862573.21442  20566340.801    20566343.855    20566340.161
+     -1857.405       -1447.328          57.000          50.000
+  -2666448.92243  -2050145.35842  24932533.517    24932537.100    24932532.773
+      1381.523        1076.511          44.000          38.000
+  -2656626.40643  -2060687.74542  24746277.737    24746282.927    24746276.114
+      1256.114         978.790          44.000          37.000
+  -9740845.81243  -7577956.37242  23442254.293    23442258.370    23442253.379
+     -3522.925       -2745.136          48.000          41.000
+  -1368659.07443  -1019932.48042  24685844.093    24685846.871    24685843.003
+      3381.394        2634.852          44.000          38.000
+ -22406673.96343 -17448404.08842  20873462.864    20873465.876    20873461.932
+       185.308         144.396          56.000          50.000
+  -5871455.02943  -4541165.24942  24213030.705    24213033.152    24213029.885
+     -2952.315       -2300.505          46.000          39.000
+ 04  2  1 17 51 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16435624.10443 -12748140.10842  21678112.428    21678114.642    21678110.791
+      2968.847        2313.387          54.000          47.000
+  -1672503.49743  -1283120.64842  24519554.492    24519555.641    24519552.893
+     -3177.368       -2475.871          44.000          37.000
+ -24264662.16443 -18839670.91642  20727941.579    20727942.665    20727939.975
+      -119.793         -93.345          56.000          50.000
+  -3780015.39143  -2780035.15842  24476797.358    24476801.015    24476796.821
+     -1364.248       -1063.050          39.000          36.000
+  -8508085.34043  -6619583.30142  23204352.781    23204357.423    23204351.689
+      1925.103        1500.080          47.000          41.000
+ -25438469.01944 -19818953.02542  20576993.256    20576996.129    20576992.415
+     -1873.827       -1460.125          57.000          50.000
+  -2707814.11943  -2082377.95542  24924663.819    24924666.689    24924661.741
+      1377.000        1072.987          45.000          39.000
+  -2694145.17343  -2089923.09842  24739136.690    24739142.189    24739136.640
+      1245.707         970.681          41.000          36.000
+  -9635068.39543  -7495532.39842  23462383.444    23462385.122    23462382.033
+     -3528.254       -2749.289          48.000          41.000
+  -1470003.89643  -1098902.42342  24666559.882    24666561.335    24666557.954
+      3375.653        2630.379          45.000          38.000
+ -22412113.07143 -17452642.34642  20872427.949    20872430.824    20872426.657
+       178.101         138.780          56.000          50.000
+  -5782735.57343  -4472033.19442  24229912.818    24229917.823    24229911.267
+     -2961.967       -2308.026          45.000          39.000
+ 04  2  1 17 52  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16524513.26143 -12817404.38942  21661196.707    21661198.996    21661195.547
+      2957.351        2304.429          54.000          47.000
+  -1577236.22543  -1208886.35742  24537683.063    24537686.494    24537680.708
+     -3173.645       -2472.970          44.000          38.000
+ -24260906.88943 -18836744.71342  20728655.816    20728657.232    20728654.231
+      -130.253        -101.496          56.000          50.000
+  -3738954.01543  -2748039.27342  24484611.373    24484614.875    24484610.036
+     -1372.690       -1069.628          39.000          37.000
+  -8565703.52943  -6664480.53342  23193388.166    23193393.044    23193387.060
+      1916.309        1493.228          47.000          41.000
+ -25382009.88744 -19774958.90942  20587736.826    20587740.611    20587736.318
+     -1889.929       -1472.672          57.000          51.000
+  -2749056.16843  -2114514.59742  24916814.371    24916817.379    24916813.472
+      1372.604        1069.562          42.000          38.000
+  -2731381.91743  -2118938.71642  24732054.987    24732054.220    24732050.194
+      1236.821         963.757          41.000          36.000
+  -9529144.36543  -7412994.20142  23482539.600    23482544.122    23482538.340
+     -3533.211       -2753.151          47.000          42.000
+  -1571188.29743  -1177747.43642  24647303.893    24647306.566    24647302.782
+      3370.289        2626.199          44.000          38.000
+ -22417344.54943 -17456718.82342  20871432.266    20871435.309    20871431.173
+       170.954         133.211          56.000          50.000
+  -5693746.50643  -4402691.07942  24246845.956    24246851.399    24246843.814
+     -2970.757       -2314.875          43.000          38.000
+ 04  2  1 17 52 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16613067.29643 -12886407.52542  21644345.266    21644348.009    21644344.374
+      2946.086        2295.651          53.000          47.000
+  -1482088.80143  -1134745.54642  24555788.746    24555792.979    24555787.286
+     -3169.753       -2469.937          45.000          38.000
+ -24256850.25643 -18833583.69042  20729427.259    20729429.188    20729426.243
+      -140.356        -109.368          56.000          50.000
+  -3697656.36353  -2715859.31652  24492467.733    24492474.255    24492466.340
+     -1380.943       -1076.059          38.000          36.000
+  -8623046.80843  -6709163.57442  23182477.278    23182480.874    23182475.412
+      1906.702        1485.742          47.000          42.000
+ -25325078.68744 -19730596.94542  20598570.834    20598574.227    20598570.042
+     -1905.729       -1484.984          57.000          51.000
+  -2790178.47343  -2146557.91742  24908987.511    24908993.705    24908988.142
+      1368.344        1066.242          43.000          38.000
+  -2768340.23343  -2147737.39542  24725020.475    24725025.564    24725018.777
+      1227.212         956.269          42.000          36.000
+  -9423082.30443  -7330348.46142  23502722.641    23502726.692    23502720.693
+     -3537.829       -2756.750          47.000          42.000
+  -1672215.81343  -1256470.09642  24628078.354    24628081.939    24628077.394
+      3365.126        2622.176          44.000          38.000
+ -22422373.38143 -17460637.38142  20870475.325    20870478.377    20870474.187
+       164.132         127.895          56.000          50.000
+  -5604496.23443  -4333145.41042  24263830.942    24263832.668    24263827.327
+     -2979.237       -2321.483          44.000          38.000
+ 04  2  1 17 53  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16701272.52243 -12955138.88042  21627560.892    21627563.157    21627559.414
+      2934.806        2286.862          54.000          47.000
+  -1387051.26743  -1060690.35742  24573873.679    24573876.521    24573873.561
+     -3165.663       -2466.750          43.000          38.000
+ -24252482.73243 -18830180.42042  20730258.696    20730260.526    20730257.441
+      -150.353        -117.158          56.000          50.000
+  -3656114.37353  -2683489.01452  24500375.179    24500378.752    24500374.340
+     -1388.023       -1081.576          39.000          37.000
+  -8680104.29843  -6753623.91242  23171619.030    23171623.598    23171616.981
+      1897.804        1478.808          48.000          42.000
+ -25267666.10544 -19685859.88042  20609495.741    20609499.344    20609495.407
+     -1921.421       -1497.211          57.000          50.000
+  -2831167.53043  -2178497.44542  24901188.220    24901192.467    24901188.966
+      1364.527        1063.268          44.000          38.000
+  -2805006.63343  -2176308.65542  24718044.253    24718046.457    24718043.512
+      1217.660         948.826          41.000          35.000
+  -9316873.63143  -7247588.47942  23522933.600    23522937.511    23522934.721
+     -3542.157       -2760.122          47.000          41.000
+  -1773072.58143  -1335059.79742  24608887.602    24608889.023    24608885.952
+      3359.229        2617.581          45.000          38.000
+ -22427187.32943 -17464388.50842  20869559.162    20869562.216    20869558.039
+       157.344         122.606          56.000          50.000
+  -5514976.41943  -4263389.70642  24280867.104    24280869.465    24280866.510
+     -2988.159       -2328.435          45.000          38.000
+ 04  2  1 17 53 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16789133.94543 -13023602.32942  21610841.115    21610843.903    21610839.882
+      2922.303        2277.119          54.000          47.000
+  -1292132.84243   -986727.94742  24591933.498    24591940.089    24591933.729
+     -3162.777       -2464.501          43.000          38.000
+ -24247813.89243 -18826542.36242  20731146.844    20731149.067    20731146.029
+      -161.333        -125.714          56.000          50.000
+  -3614338.83943  -2650936.67242  24508322.563    24508329.565    24508322.858
+     -1396.898       -1088.492          41.000          38.000
+  -8736884.04043  -6797867.82642  23160814.615    23160819.731    23160813.138
+      1887.343        1470.657          48.000          42.000
+ -25209781.63744 -19640755.11742  20620510.646    20620514.229    20620510.273
+     -1938.047       -1510.166          57.000          51.000
+  -2872028.71543  -2210337.23042  24893414.931    24893416.953    24893413.676
+      1359.080        1059.023          44.000          39.000
+  -2841385.87143  -2204656.14942  24711117.498    24711126.215    24711116.771
+      1207.359         940.799          40.000          34.000
+  -9210528.91443  -7164722.46942  23543171.209    23543175.335    23543169.379
+     -3547.810       -2764.527          48.000          41.000
+  -1873764.10243  -1413520.69042  24589723.259    24589728.440    24589724.353
+      3353.293        2612.956          43.000          38.000
+ -22431792.83843 -17467977.21042  20868682.838    20868686.208    20868681.694
+       149.369         116.391          56.000          50.000
+  -5425197.54843  -4193432.12642  24297951.344    24297954.073    24297949.951
+     -2997.734       -2335.897          45.000          38.000
+ 04  2  1 17 54  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16876646.90143 -13091794.24642  21594187.814    21594190.681    21594186.973
+      2910.955        2268.277          53.000          47.000
+  -1197332.32043   -912857.43342  24609976.401    24609979.921    24609974.510
+     -3158.686       -2461.314          44.000          38.000
+ -24242842.68243 -18822668.69442  20732093.241    20732094.667    20732091.990
+      -171.098        -133.323          56.000          50.000
+  -3572330.32143  -2618202.77642  24516319.418    24516322.962    24516317.854
+     -1404.452       -1094.378          44.000          38.000
+  -8793383.97643  -6841893.69542  23150063.711    23150066.457    23150061.677
+      1878.363        1463.659          48.000          42.000
+ -25151424.97544 -19595282.40642  20631616.099    20631619.315    20631615.409
+     -1953.369       -1522.106          57.000          50.000
+  -2912757.32943  -2242073.76842  24885660.448    24885666.100    24885659.258
+      1355.422        1056.173          41.000          38.000
+  -2877473.59443  -2232776.47742  24704252.729    24704255.765    24704252.475
+      1197.641         933.227          42.000          36.000
+  -9104048.18143  -7081750.47042  23563432.590    23563435.085    23563432.649
+     -3551.734       -2767.585          48.000          41.000
+  -1974285.32243  -1491848.88542  24570596.540    24570601.052    24570596.607
+      3347.556        2608.485          44.000          38.000
+ -22436186.61143 -17471400.91842  20867846.624    20867850.132    20867845.812
+       142.668         111.170          56.000          50.000
+  -5335159.97843  -4123272.98442  24315082.351    24315087.154    24315081.884
+     -3005.656       -2342.070          43.000          38.000
+ 04  2  1 17 54 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -16963808.36843 -13159712.28242  21577601.324    21577603.859    21577600.740
+      2899.728        2259.528          54.000          47.000
+  -1102651.89143   -839080.51042  24627993.303    24627996.132    24627992.204
+     -3153.607       -2457.356          44.000          37.000
+ -24237571.96743 -18818561.62842  20733096.382    20733097.943    20733095.006
+      -180.323        -140.511          56.000          50.000
+  -3530092.28143  -2585290.06342  24524355.028    24524361.889    24524356.230
+     -1411.588       -1099.939          43.000          38.000
+  -8849605.34943  -6885702.49742  23139364.566    23139369.163    23139361.984
+      1869.763        1456.958          47.000          42.000
+ -25092598.76644 -19549443.81142  20642809.941    20642813.128    20642809.463
+     -1968.354       -1533.782          57.000          50.000
+  -2953351.44243  -2273705.53242  24877937.470    24877940.835    24877936.936
+      1351.026        1052.748          43.000          38.000
+  -2913268.17143  -2260668.31742  24697440.325    24697443.388    24697436.287
+      1189.135         926.599          39.000          35.000
+  -8997435.33743  -6998675.51642  23583720.679    23583725.425    23583718.261
+     -3555.471       -2770.497          48.000          41.000
+  -2074634.84243  -1570043.32242  24551499.928    24551504.057    24551498.881
+      3342.415        2604.479          42.000          38.000
+ -22440368.33543 -17474659.40342  20867051.243    20867054.100    20867050.116
+       136.125         106.071          56.000          50.000
+  -5244867.07343  -4052914.89542  24332267.287    24332269.825    24332265.838
+     -3014.355       -2348.848          45.000          38.000
+ 04  2  1 17 55  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17050615.85243 -13227354.48742  21561082.306    21561084.651    21561081.476
+      2887.703        2250.158          54.000          47.000
+  -1008092.64443   -765397.97642  24645986.409    24645989.260    24645985.355
+     -3149.940       -2454.499          43.000          37.000
+ -24232003.28843 -18814222.38542  20734155.896    20734157.396    20734154.806
+      -190.553        -148.483          56.000          50.000
+  -3487626.88943  -2552200.16842  24532437.177    24532440.820    24532435.575
+     -1419.098       -1105.791          43.000          38.000
+  -8905548.43443  -6929294.45242  23128718.993    23128723.330    23128716.923
+      1860.159        1449.475          47.000          42.000
+ -25033304.63344 -19503240.60942  20654093.841    20654096.437    20654093.017
+     -1984.252       -1546.170          57.000          50.000
+  -2993808.68443  -2305230.63142  24870239.831    24870242.670    24870240.016
+      1346.090        1048.901          45.000          39.000
+  -2948766.57843  -2288329.36142  24690684.898    24690687.621    24690685.176
+      1178.971         918.679          42.000          36.000
+  -8890692.46843  -6915499.23442  23604034.580    23604035.946    23604032.936
+     -3560.196       -2774.179          48.000          41.000
+  -2174809.46543  -1648101.42842  24532439.669    24532442.032    24532437.985
+      3336.415        2599.804          44.000          38.000
+ -22444336.62643 -17477751.56742  20866295.673    20866298.915    20866294.723
+       128.651         100.248          56.000          50.000
+  -5154321.33143  -3982359.77242  24349497.967    24349500.124    24349495.110
+     -3022.102       -2354.885          44.000          38.000
+ 04  2  1 17 55 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17137068.59043 -13294720.26742  21544631.744    21544633.738    21544630.289
+      2875.389        2240.563          54.000          47.000
+   -913656.92043   -691811.68942  24663958.456    24663961.983    24663956.134
+     -3145.894       -2451.346          45.000          38.000
+ -24226139.90243 -18809653.50342  20735271.758    20735273.409    20735270.337
+      -200.903        -156.548          56.000          50.000
+  -3444938.70943  -2518936.64042  24540559.864    24540563.901    24540559.722
+     -1426.781       -1111.777          43.000          37.000
+  -8961214.75943  -6972670.78742  23118125.831    23118129.139    23118124.534
+      1850.395        1441.866          48.000          42.000
+ -24973545.58744 -19456675.12242  20665465.320    20665468.211    20665464.603
+     -2000.257       -1558.642          57.000          50.000
+  -3034127.64943  -2336647.97842  24862567.383    24862571.612    24862567.373
+      1341.345        1045.204          45.000          39.000
+  -2983967.76543  -2315758.84842  24683987.157    24683992.340    24683986.356
+      1168.389         910.433          42.000          37.000
+  -8783823.91643  -6832225.01842  23624370.161    23624374.031    23624369.918
+     -3564.822       -2777.783          48.000          40.000
+  -2274808.23943  -1726022.54742  24513410.316    24513411.585    24513408.935
+      3329.848        2594.687          43.000          38.000
+ -22448091.59043 -17480677.50842  20865581.066    20865584.420    20865580.057
+       121.103          94.366          56.000          50.000
+  -5063526.54243  -3911610.61342  24366775.205    24366778.339    24366772.492
+     -3031.073       -2361.875          43.000          38.000
+ 04  2  1 17 56  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17223160.28943 -13361804.71942  21528248.614    21528250.766    21528247.492
+      2864.345        2231.957          54.000          47.000
+   -819342.99943   -618320.35342  24681906.878    24681909.347    24681904.057
+     -3141.185       -2447.677          44.000          38.000
+ -24219980.37243 -18804853.85742  20736443.586    20736445.477    20736442.512
+      -209.491        -163.240          56.000          50.000
+  -3402027.38443  -2485499.21142  24548724.733    24548729.982    24548726.742
+     -1433.344       -1116.891          43.000          37.000
+  -9016601.61043  -7015829.34042  23107586.091    23107590.357    23107585.439
+      1842.081        1435.388          48.000          42.000
+ -24913320.77144 -19409746.70642  20676925.535    20676929.024    20676925.007
+     -2014.601       -1569.819          57.000          50.000
+  -3074303.12643  -2367953.52442  24854923.190    24854926.433    24854922.866
+      1337.521        1042.224          46.000          39.000
+  -3018866.12043  -2342952.40442  24677346.149    24677349.592    24677346.670
+      1159.318         903.365          44.000          37.000
+  -8676828.98543  -6748852.33542  23644732.147    23644734.614    23644729.978
+     -3567.850       -2780.143          48.000          40.000
+  -2374625.55943  -1803802.21742  24494416.115    24494419.123    24494416.010
+      3324.908        2590.837          42.000          37.000
+ -22451628.95243 -17483433.89642  20864908.207    20864911.571    20864907.129
+       114.957          89.577          56.000          50.000
+  -4972482.34943  -3840667.08042  24384099.278    24384103.012    24384098.718
+     -3037.858       -2367.162          42.000          38.000
+ 04  2  1 17 56 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17308889.87343 -13428606.99542  21511934.884    21511937.531    21511933.719
+      2851.548        2221.985          54.000          47.000
+   -725153.71643   -544926.09242  24699828.381    24699832.357    24699826.211
+     -3137.635       -2444.910          43.000          37.000
+ -24213527.75244 -18799825.82742  20737671.875    20737673.387    20737670.784
+      -220.035        -171.456          57.000          50.000
+  -3358897.20343  -2451891.31442  24556931.987    24556937.990    24556933.700
+     -1441.546       -1123.282          42.000          37.000
+  -9071710.56743  -7058771.34942  23097098.830    23097102.973    23097096.489
+      1832.277        1427.748          48.000          42.000
+ -24852633.53844 -19362457.95642  20688474.257    20688477.297    20688473.517
+     -2030.735       -1582.391          57.000          50.000
+  -3114333.97443  -2399146.42842  24847305.138    24847308.659    24847303.915
+      1332.126        1038.020          44.000          39.000
+  -3053460.88343  -2369909.40142  24670760.708    24670767.144    24670761.057
+      1148.130         894.647          41.000          36.000
+  -8569712.18643  -6665384.69142  23665115.254    23665115.563    23665113.835
+     -3572.632       -2783.869          48.000          41.000
+  -2474260.35343  -1881439.70142  24475455.636    24475457.966    24475454.763
+      3318.193        2585.605          41.000          37.000
+ -22454949.13843 -17486021.05142  20864276.819    20864279.504    20864275.822
+       107.033          83.402          56.000          50.000
+  -4881193.15343  -3769532.63942  24401469.475    24401475.957    24401468.437
+     -3047.299       -2374.519          43.000          38.000
+ 04  2  1 17 57  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17394251.81143 -13495122.79242  21495690.670    21495693.284    21495689.743
+      2839.252        2212.404          54.000          47.000
+   -631087.91343   -471628.09642  24717730.073    24717733.018    24717728.502
+     -3133.175       -2441.435          43.000          37.000
+ -24206781.58343 -18794569.05342  20738955.383    20738957.079    20738954.036
+      -229.847        -179.101          56.000          50.000
+  -3315548.77643  -2418113.30142  24565182.605    24565186.332    24565181.013
+     -1448.601       -1128.780          43.000          37.000
+  -9126539.96643  -7101495.52242  23086665.037    23086669.865    23086664.279
+      1822.752        1420.326          47.000          42.000
+ -24791483.66944 -19314808.71142  20700110.222    20700113.998    20700109.593
+     -2046.013       -1594.296          57.000          50.000
+  -3154215.73843  -2430223.11442  24839715.530    24839719.144    24839714.273
+      1327.131        1034.128          43.000          39.000
+  -3087747.34643  -2396626.11042  24664238.448    24664240.937    24664238.460
+      1137.196         886.127          41.000          36.000
+  -8462473.68843  -6581822.23042  23685521.391    23685524.991    23685521.400
+     -3576.790       -2787.109          48.000          41.000
+  -2573707.87243  -1958931.22842  24456528.571    24456531.880    24456528.843
+      3312.032        2580.804          41.000          37.000
+ -22458048.81143 -17488436.38442  20863686.452    20863689.703    20863685.506
+        99.622          77.628          56.000          50.000
+  -4789659.11343  -3698207.43942  24418890.537    24418892.743    24418888.037
+     -3054.987       -2380.509          42.000          38.000
+ 04  2  1 17 57 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17479244.94343 -13561351.21042  21479517.601    21479519.731    21479516.785
+      2826.461        2202.437          55.000          48.000
+   -537147.89743   -398428.09742  24735606.862    24735609.990    24735604.997
+     -3129.724       -2438.746          45.000          38.000
+ -24199744.81343 -18789085.83342  20740294.494    20740295.882    20740293.075
+      -239.933        -186.961          56.000          50.000
+  -3271986.18643  -2384168.37142  24573471.114    24573477.850    24573470.887
+     -1455.940       -1134.499          43.000          37.000
+  -9181091.10543  -7144002.87342  23076285.410    23076289.143    23076283.584
+      1813.063        1412.776          48.000          42.000
+ -24729874.07443 -19266801.24242  20711834.040    20711837.907    20711833.468
+     -2061.862       -1606.646          56.000          50.000
+  -3193946.94343  -2461182.39942  24832154.976    24832157.794    24832155.147
+      1321.305        1029.588          43.000          38.000
+  -3121723.96043  -2423101.37442  24657773.661    24657776.757    24657772.011
+      1126.708         877.954          43.000          37.000
+  -8355117.41743  -6498167.98742  23705950.982    23705953.502    23705948.331
+     -3580.964       -2790.361          47.000          41.000
+  -2672966.44443  -2036275.49142  24437642.860    24437645.307    24437641.303
+      3304.705        2575.095          42.000          37.000
+ -22460927.87143 -17490679.80342  20863138.301    20863141.609    20863137.441
+        91.789          71.524          56.000          50.000
+  -4697884.05943  -3626694.40542  24436351.138    24436359.300    24436352.841
+     -3064.180       -2387.673          41.000          38.000
+ 04  2  1 17 58  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17563871.18643 -13627293.73242  21463413.488    21463416.163    21463412.744
+      2814.874        2193.408          55.000          48.000
+   -443339.22543   -325330.45142  24753455.379    24753460.794    24753454.249
+     -3124.015       -2434.297          44.000          37.000
+ -24192423.71743 -18783381.06042  20741687.531    20741689.133    20741686.174
+      -248.490        -193.628          56.000          50.000
+  -3228216.58543  -2350062.18142  24581801.315    24581806.192    24581801.031
+     -1462.330       -1139.478          42.000          37.000
+  -9235368.80043  -7186297.13742  23065956.278    23065959.643    23065955.026
+      1804.704        1406.263          48.000          42.000
+ -24667811.16843 -19218440.54142  20723644.496    20723647.957    20723643.544
+     -2076.133       -1617.766          56.000          50.000
+  -3233529.19543  -2492025.74442  24824621.488    24824626.954    24824621.617
+      1317.150        1026.351          43.000          37.000
+  -3155392.70743  -2449336.77242  24651365.340    24651370.105    24651364.658
+      1116.790         870.226          41.000          37.000
+  -8247650.15643  -6414427.26542  23726400.762    23726402.996    23726399.331
+     -3583.814       -2792.582          47.000          41.000
+  -2772038.01143  -2113474.15242  24418790.029    24418792.206    24418788.241
+      3299.433        2570.987          44.000          38.000
+ -22463589.60743 -17492753.88442  20862631.810    20862635.247    20862631.081
+        85.252          66.430          56.000          50.000
+  -4605874.87643  -3554998.97142  24453861.660    24453865.995    24453861.547
+     -3070.552       -2392.638          42.000          38.000
+ 04  2  1 17 58 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17648122.37543 -13692944.00742  21447381.366    21447383.427    21447379.665
+      2802.326        2183.631          55.000          48.000
+   -349657.13543   -252331.42342  24771285.169    24771287.108    24771282.248
+     -3120.156       -2431.290          45.000          38.000
+ -24184814.51243 -18777451.79042  20743135.487    20743137.294    20743134.338
+      -258.227        -201.216          56.000          50.000
+  -3184237.18343  -2315792.47542  24590167.973    24590174.604    24590169.462
+     -1469.421       -1145.003          42.000          37.000
+  -9289367.79343  -7228374.25642  23055681.113    23055683.710    23055678.814
+      1795.650        1399.208          48.000          42.000
+ -24605291.15444 -19169723.65542  20735541.925    20735544.760    20735541.470
+     -2091.417       -1629.675          57.000          50.000
+  -3272954.77943  -2522747.00642  24817118.287    24817122.845    24817118.024
+      1312.003        1022.340          41.000          37.000
+  -3188745.52543  -2475325.92942  24645017.331    24645023.460    24645017.960
+      1106.917         862.533          41.000          35.000
+  -8140069.07943  -6330597.85742  23746872.677    23746876.336    23746869.519
+     -3587.650       -2795.571          46.000          40.000
+  -2870914.29743  -2190520.54842  24399973.146    24399976.479    24399972.632
+      3292.784        2565.806          43.000          38.000
+ -22466027.06943 -17494653.20242  20862168.453    20862171.505    20862167.331
+        77.762          60.594          56.000          50.000
+  -4513628.52843  -3483118.71242  24471416.871    24471419.237    24471415.040
+     -3078.589       -2398.900          43.000          38.000
+ 04  2  1 17 59  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17731997.46343 -13758301.20542  21431420.142    21431422.878    21431419.015
+      2789.507        2173.642          54.000          48.000
+   -256105.28943   -179433.88342  24789086.294    24789087.566    24789083.857
+     -3116.256       -2428.251          44.000          37.000
+ -24176920.69544 -18771300.72942  20744638.075    20744639.362    20744636.241
+      -267.833        -208.701          57.000          50.000
+  -3140052.79043  -2281363.10742  24598578.376    24598582.517    24598576.706
+     -1475.978       -1150.113          43.000          37.000
+  -9343090.60143  -7270236.14542  23045457.609    23045460.784    23045455.644
+      1786.234        1391.871          49.000          42.000
+ -24542318.30644 -19120653.91142  20747525.222    20747528.633    20747524.705
+     -2106.663       -1641.555          57.000          50.000
+  -3312223.39243  -2553345.85642  24809647.754    24809651.149    24809648.321
+      1306.758        1018.253          42.000          38.000
+  -3221782.09743  -2501068.69142  24638734.327    24638735.875    24638732.151
+      1096.106         854.109          39.000          35.000
+  -8032379.15743  -6246683.62242  23767365.407    23767367.910    23767363.627
+     -3591.422       -2798.511          45.000          40.000
+  -2969594.92743  -2267414.51642  24381194.997    24381197.639    24381193.886
+      3286.025        2560.539          43.000          38.000
+ -22468241.29243 -17496378.56142  20861746.900    20861749.976    20861745.784
+        70.054          54.588          56.000          50.000
+  -4421150.09743  -3411057.62342  24489013.626    24489018.317    24489012.270
+     -3086.146       -2404.789          43.000          38.000
+ 04  2  1 17 59 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17815494.48343 -13823363.81542  21415531.434    21415533.543    21415530.000
+      2777.289        2164.121          54.000          48.000
+   -162685.65343   -106639.36542  24806862.272    24806865.827    24806859.606
+     -3111.736       -2424.729          42.000          36.000
+ -24168745.11643 -18764930.13342  20746193.862    20746195.546    20746192.348
+      -276.878        -215.749          56.000          50.000
+  -3095667.49743  -2246777.15142  24607024.472    24607029.890    24607022.847
+     -1482.655       -1155.315          43.000          38.000
+  -9396538.64643  -7311883.94042  23035285.604    23035289.941    23035285.357
+      1777.093        1384.748          48.000          42.000
+ -24478895.65844 -19071233.67342  20759594.080    20759597.047    20759593.592
+     -2121.410       -1653.047          57.000          50.000
+  -3351333.29143  -2583821.15242  24802204.084    24802209.525    24802203.596
+      1300.894        1013.684          42.000          38.000
+  -3254501.07043  -2526563.98642  24632505.676    24632510.837    24632506.027
+      1085.799         846.077          40.000          36.000
+  -7924583.79143  -6162687.25542  23787877.108    23787881.505    23787875.977
+     -3594.475       -2800.890          45.000          40.000
+  -3068078.20043  -2344154.69542  24362455.945    24362457.509    24362453.799
+      3279.610        2555.540          45.000          38.000
+ -22470232.08143 -17497929.82842  20861368.225    20861370.985    20861367.213
+        62.886          49.002          56.000          50.000
+  -4328443.19843  -3338818.45642  24506655.701    24506660.097    24506653.668
+     -3093.615       -2410.609          44.000          38.000
+ 04  2  1 18  0  0.0000000  0 11G18G17G21G25G15G30G26G 5G16G 6G10
+ -17898608.96843 -13888128.33642  21399714.973    21399717.202    21399713.794
+      2764.421        2154.094          55.000          48.000
+    -69396.81843    -33946.80742  24824617.172    24824618.377    24824614.318
+     -3107.330       -2421.296          43.000          36.000
+ -24160287.03743 -18758339.40142  20747803.286    20747804.727    20747801.812
+      -286.490        -223.239          56.000          50.000
+  -3051081.71343  -2212034.97142  24615511.065    24615512.803    24615508.699
+     -1489.313       -1160.504          44.000          38.000
+  -9449709.75043  -7353315.94142  23025166.962    23025171.049    23025165.977
+      1767.819        1377.521          48.000          43.000
+ -24415022.67543 -19021462.51542  20771748.301    20771751.979    20771748.189
+     -2136.366       -1664.701          56.000          50.000
+  -3390279.87343  -2614169.09242  24794791.992    24794795.639    24794791.435
+      1296.078        1009.931          41.000          36.000
+  -7816682.90143  -6078608.62342  23808409.993    23808415.273    23808409.336
+     -3598.142       -2803.747          45.000          40.000
+  -3166359.00243  -2420737.06842  24343753.176    24343754.675    24343751.931
+      3272.695        2550.152          44.000          38.000
+ -22471995.75643 -17499304.11442  20861032.406    20861035.694    20861031.578
+        55.253          43.054          56.000          50.000
+  -4235507.79343  -3266401.27342  24524338.985    24524344.402    24524338.756
+     -3101.185       -2416.508          43.000          38.000
+ 04  2  1 18  0 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -17981337.72543 -13952592.29542  21383972.140    21383974.711    21383970.981
+      2751.203        2143.795          55.000          48.000
+     23760.61143     38643.40242  24842342.202    24842345.639    24842340.875
+     -3103.131       -2418.024          41.000          35.000
+ -24151547.72143 -18751529.52242  20749465.725    20749467.453    20749464.624
+      -295.895        -230.567          56.000          50.000
+  -3006297.72143  -2177138.36542  24624030.098    24624035.479    24624028.850
+     -1496.165       -1165.843          43.000          38.000
+  -9502603.81743  -7394532.09242  23015103.004    23015105.248    23015100.993
+      1758.711        1370.424          49.000          42.000
+ -24350701.03543 -18971341.75742  20783988.466    20783992.249    20783987.887
+     -2151.444       -1676.450          56.000          50.000
+  -3429060.00343  -2644387.36842  24787413.280    24787416.041    24787413.052
+      1290.103        1005.275          43.000          37.000
+  -3318968.47053  -2576798.39752  24620238.041    24620243.851    24620234.778
+      1062.871         828.211          38.000          35.000
+  -7708678.98643  -5994449.72942  23828964.209    23828966.014    23828962.204
+     -3601.619       -2806.456          45.000          40.000
+  -3264434.49343  -2497159.49642  24325090.434    24325092.144    24325089.240
+      3266.025        2544.955          45.000          38.000
+ -22473530.81243 -17500500.25942  20860740.351    20860743.400    20860739.054
+        47.411          36.944          56.000          50.000
+  -4142345.90443  -3193807.57642  24542069.533    24542072.262    24542067.172
+     -3108.649       -2422.324          44.000          39.000
+ 04  2  1 18  1  0.0000000  0 11G18G17G21G25G15G30G26G 5G16G 6G10
+ -18063677.82543 -14016753.40242  21368303.136    21368306.219    21368302.461
+      2738.195        2133.658          55.000          48.000
+    116785.61543    111130.40942  24860045.446    24860046.627    24860043.904
+     -3098.324       -2414.278          44.000          36.000
+ -24142528.61044 -18744501.62342  20751182.705    20751183.817    20751181.360
+      -305.261        -237.866          57.000          50.000
+  -2961318.20643  -2142089.37442  24632588.852    24632594.623    24632589.679
+     -1502.386       -1170.690          44.000          39.000
+  -9555221.26643  -7435532.68342  23005088.963    23005093.937    23005087.811
+      1749.025        1362.877          48.000          42.000
+ -24285932.60943 -18920872.86042  20796313.391    20796317.155    20796313.022
+     -2166.388       -1688.094          56.000          50.000
+  -3467671.20843  -2674474.03342  24780065.061    24780070.111    24780064.505
+      1284.427        1000.852          43.000          36.000
+  -7600574.43143  -5910212.42042  23849535.138    23849538.862    23849532.091
+     -3605.374       -2809.382          44.000          40.000
+  -3362301.74143  -2573419.63642  24306467.977    24306468.957    24306465.482
+      3258.581        2539.154          46.000          39.000
+ -22474836.06443 -17501517.34042  20860492.102    20860495.195    20860491.091
+        39.711          30.944          56.000          50.000
+  -4048960.19943  -3121039.48342  24559840.870    24559844.229    24559838.997
+     -3116.488       -2428.432          44.000          39.000
+ 04  2  1 18  1 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18145635.60743 -14080616.57842  21352707.614    21352709.985    21352706.631
+      2724.595        2123.061          55.000          48.000
+    209668.15143    183506.41742  24877719.610    24877722.391    24877718.938
+     -3094.402       -2411.222          45.000          37.000
+ -24133240.41144 -18737264.04842  20752949.454    20752951.304    20752948.471
+      -315.055        -245.497          57.000          50.000
+  -2916154.61143  -2106896.97142  24641184.684    24641190.747    24641185.697
+     -1509.416       -1176.168          44.000          38.000
+  -9607571.60543  -7476325.11842  22995128.547    22995131.238    22995126.839
+      1739.429        1355.399          49.000          42.000
+ -24220728.61444 -18870064.55242  20808721.313    20808724.666    20808720.831
+     -2181.716       -1700.038          57.000          50.000
+  -3506120.14343  -2704434.19142  24772749.174    24772754.405    24772748.712
+      1278.282         996.064          44.000          37.000
+  -4957553.29553  -3853617.68152  24608218.673    24608223.808    24608219.111
+      1041.201         811.325          39.000          35.000
+  -7492380.88243  -5825905.76942  23870123.874    23870126.867    23870122.449
+     -3609.084       -2812.273          44.000          40.000
+  -3459967.28543  -2649522.60342  24287881.450    24287883.918    24287880.431
+      3251.151        2533.364          45.000          39.000
+ -22475919.30843 -17502361.42142  20860285.863    20860288.911    20860284.662
+        31.457          24.512          56.000          50.000
+  -3955362.37843  -3048106.13342  24577652.882    24577655.438    24577650.175
+     -3124.302       -2434.521          45.000          39.000
+ 04  2  1 18  2  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18227195.72843 -14144169.89842  21337187.596    21337189.850    21337186.252
+      2712.486        2113.625          55.000          48.000
+    302419.89743    255780.46142  24895370.252    24895372.367    24895368.861
+     -3089.119       -2407.106          44.000          37.000
+ -24123672.44444 -18729808.46742  20754770.978    20754771.870    20754769.479
+      -322.973        -251.667          57.000          50.000
+  -2870797.36243  -2071553.66142  24649812.843    24649820.507    24649815.491
+     -1514.858       -1180.409          42.000          38.000
+  -9659642.40343  -7516899.72942  22985219.543    22985223.902    22985218.930
+      1731.405        1349.147          48.000          43.000
+ -24155078.19044 -18818908.36942  20821214.439    20821217.700    20821213.861
+     -2195.275       -1710.604          57.000          50.000
+  -3544391.47343  -2734255.99242  24765465.775    24765469.728    24765464.998
+      1273.420         992.275          43.000          37.000
+  -4988638.61853  -3877839.99352  24602301.023    24602308.455    24602301.744
+      1031.217         803.546          39.000          34.000
+  -7384088.00443  -5741521.71942  23890730.459    23890734.946    23890729.211
+     -3610.761       -2813.580          44.000          40.000
+  -3557416.04143  -2725456.66642  24269336.754    24269339.124    24269335.251
+      3245.050        2528.610          45.000          38.000
+ -22476766.49843 -17503021.56842  20860124.506    20860127.735    20860123.588
+        24.814          19.336          56.000          50.000
+  -3861542.26243  -2974999.55842  24595504.583    24595508.763    24595503.504
+     -3130.477       -2439.333          45.000          39.000
+ 04  2  1 18  2 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18308360.22343 -14207414.94342  21321742.078    21321744.282    21321740.764
+      2699.010        2103.125          55.000          48.000
+    395035.59643    327948.52642  24912993.619    24912997.205    24912992.321
+     -3084.618       -2403.598          43.000          36.000
+ -24113830.58244 -18722139.45942  20756643.552    20756644.795    20756642.054
+      -332.393        -259.007          57.000          50.000
+  -2825253.96243  -2036065.32842  24658479.199    24658485.212    24658479.904
+     -1521.006       -1185.199          39.000          37.000
+  -9711438.39143  -7557260.22142  22975362.758    22975366.735    22975362.764
+      1722.193        1341.969          49.000          42.000
+ -24088987.79644 -18767409.36542  20833790.768    20833794.215    20833790.627
+     -2210.160       -1722.202          57.000          50.000
+  -3582487.10743  -2763940.90042  24758217.947    24758221.306    24758216.844
+      1267.066         987.324          45.000          38.000
+  -5019389.36453  -3901801.62452  24596452.547    24596453.131    24596450.770
+      1019.534         794.442          40.000          35.000
+  -7275703.22443  -5657066.06042  23911355.688    23911359.977    23911354.374
+     -3614.172       -2816.238          44.000          40.000
+  -3654649.37743  -2801222.87842  24250835.144    24250837.191    24250833.629
+      3237.663        2522.854          45.000          38.000
+ -22477380.75343 -17503500.20742  20860007.374    20860010.712    20860006.552
+        16.842          13.124          56.000          50.000
+  -3767506.63043  -2901725.05442  24613399.782    24613403.086    24613398.124
+     -3137.914       -2445.128          46.000          39.000
+ 04  2  1 18  3  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18389126.87843 -14270349.99342  21306372.673    21306374.640    21306371.115
+      2685.553        2092.639          55.000          48.000
+    487513.77443    400009.42142  24930592.367    24930595.281    24930592.618
+     -3080.467       -2400.364          44.000          36.000
+ -24103717.10043 -18714258.80342  20758567.718    20758569.258    20758566.688
+      -341.621        -266.198          56.000          50.000
+  -2779527.18843  -2000434.09542  24667183.531    24667186.753    24667183.170
+     -1527.306       -1190.108          43.000          38.000
+  -9762960.26143  -7597407.10842  22965558.480    22965561.885    22965557.146
+      1712.829        1334.672          48.000          43.000
+ -24022459.90343 -18715569.44942  20846450.970    20846454.327    20846450.049
+     -2224.838       -1733.640          56.000          50.000
+  -3620405.14043  -2793487.41642  24751001.862    24751005.027    24751000.743
+      1260.846         982.477          45.000          37.000
+  -5049803.74443  -3925501.08842  24590662.559    24590664.338    24590662.022
+      1008.588         785.913          41.000          36.000
+  -7167229.36143  -5572540.97242  23931997.472    23932001.739    23931996.615
+     -3617.051       -2818.481          44.000          40.000
+  -3751665.05443  -2876819.43742  24232372.514    24232375.284    24232371.925
+      3230.160        2517.008          46.000          38.000
+ -22477761.24443 -17503796.68642  20859935.332    20859938.554    20859934.559
+         8.807           6.863          56.000          50.000
+  -3673258.81943  -2828285.17742  24631334.961    24631337.307    24631332.166
+     -3145.060       -2450.696          46.000          39.000
+ 04  2  1 18  3 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18469497.47743 -14332976.42742  21291078.939    21291080.983    21291077.509
+      2671.982        2082.064          55.000          48.000
+    579848.82943    471958.78342  24948163.866    24948167.335    24948162.862
+     -3076.052       -2396.924          44.000          37.000
+ -24093338.80744 -18706171.79942  20760543.368    20760544.076    20760541.735
+      -350.734        -273.299          57.000          50.000
+  -2733624.62643  -1964665.88342  24675918.058    24675922.892    24675917.766
+     -1533.352       -1194.820          43.000          37.000
+  -9814213.48643  -7637344.65242  22955804.963    22955810.758    22955803.114
+      1703.561        1327.450          49.000          43.000
+ -23955501.49743 -18663394.06842  20859192.465    20859195.682    20859192.157
+     -2239.555       -1745.108          56.000          50.000
+  -3658147.77343  -2822897.23642  24743820.644    24743823.489    24743819.525
+      1254.920         977.860          45.000          38.000
+  -5079884.00243  -3948940.21642  24584939.545    24584941.773    24584936.839
+       996.867         776.779          40.000          35.000
+  -7058673.36143  -5487951.90242  23952655.652    23952658.774    23952654.059
+     -3620.261       -2820.982          45.000          40.000
+  -3848465.28343  -2952248.17842  24213953.415    24213951.793    24213953.369
+      3222.616        2511.129          47.000          39.000
+ -22477911.64243 -17503913.87842  20859906.425    20859910.169    20859905.597
+          .778            .606          56.000          50.000
+  -3578805.78943  -2754685.40742  24649307.651    24649310.713    24649307.793
+     -3152.249       -2456.298          45.000          38.000
+ 04  2  1 18  4  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18549463.88343 -14395287.90342  21275861.542    21275863.820    21275860.451
+      2658.661        2071.684          55.000          48.000
+    672045.03743    543799.99842  24965709.404    24965712.260    24965707.164
+     -3071.262       -2393.191          43.000          37.000
+ -24082691.53044 -18697875.20742  20762568.671    20762570.158    20762567.607
+      -359.488        -280.120          57.000          50.000
+  -2687543.81943  -1928758.76042  24684687.986    24684691.380    24684686.609
+     -1539.185       -1199.365          43.000          38.000
+  -9865192.95943  -7677068.88942  22946105.146    22946107.304    22946102.802
+      1694.588        1320.458          50.000          43.000
+ -23888109.19943 -18610880.59842  20872016.835    20872020.261    20872016.078
+     -2253.728       -1756.152          56.000          49.000
+  -3695707.12043  -2852164.27842  24736673.247    24736674.454    24736671.218
+      1248.989         973.238          46.000          38.000
+  -5109622.23543  -3972112.92242  24579280.850    24579282.862    24579281.238
+       985.863         768.205          42.000          35.000
+  -6950032.96043  -5403297.04542  23973328.186    23973332.227    23973328.096
+     -3622.873       -2823.018          45.000          40.000
+  -3945042.10743  -3027502.79742  24195575.219    24195575.665    24195573.399
+      3215.313        2505.439          46.000          39.000
+ -22477825.19543 -17503846.52042  20859923.050    20859926.407    20859921.848
+        -6.937          -5.405          56.000          50.000
+  -3484145.20943  -2680923.90242  24667321.553    24667324.392    24667318.728
+     -3159.313       -2461.802          44.000          38.000
+ 04  2  1 18  4 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18629021.18343 -14457280.58842  21260722.034    21260724.779    21260720.723
+      2645.366        2061.324          55.000          48.000
+    764103.93443    615534.20342  24983226.734    24983229.005    24983222.888
+     -3066.354       -2389.367          43.000          36.000
+ -24071774.62744 -18689368.50842  20764646.395    20764647.503    20764644.977
+      -368.366        -287.038          57.000          50.000
+  -2641285.12343  -1892713.01242  24693492.505    24693494.469    24693490.727
+     -1544.552       -1203.547          44.000          38.000
+  -9915896.89243  -7716578.43742  22936456.046    22936459.776    22936454.853
+      1686.056        1313.810          49.000          43.000
+ -23820282.86743 -18558028.91542  20884923.449    20884927.029    20884923.358
+     -2267.909       -1767.202          56.000          49.000
+  -3733078.42643  -2881284.79142  24729560.823    24729562.980    24729561.119
+      1242.554         968.224          45.000          37.000
+  -5139013.89543  -3995015.48342  24573688.053    24573692.626    24573687.146
+       973.921         758.899          42.000          35.000
+  -6841308.29543  -5318576.53642  23994018.025    23994022.645    23994016.928
+     -3625.513       -2825.075          45.000          40.000
+  -4041390.26443  -3102579.22642  24177240.353    24177240.798    24177238.574
+      3208.023        2499.758          46.000          39.000
+ -22477498.39143 -17503591.86342  20859985.405    20859988.086    20859984.623
+       -14.737         -11.483          56.000          50.000
+  -3389277.20043  -2607000.78842  24685373.947    24685377.127    24685372.809
+     -3165.860       -2466.904          45.000          38.000
+ 04  2  1 18  5  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18708164.91943 -14518951.01442  21245661.866    21245663.941    21245660.467
+      2631.900        2050.831          55.000          48.000
+    856026.38843    687162.10142  25000716.021    25000721.120    25000715.597
+     -3060.779       -2385.022          42.000          35.000
+ -24060587.89444 -18680651.54142  20766774.854    20766776.580    20766773.531
+      -376.871        -293.666          57.000          50.000
+  -2594849.80143  -1856529.64542  24702328.757    24702331.247    24702326.151
+     -1550.079       -1207.854          45.000          37.000
+  -9966323.71743  -7755872.02942  22926860.517    22926863.440    22926858.432
+      1676.876        1306.657          50.000          43.000
+ -23752022.71143 -18504839.18342  20897913.123    20897916.502    20897912.825
+     -2281.966       -1778.155          56.000          50.000
+  -3770257.43143  -2910255.44942  24722486.525    24722491.189    24722486.076
+      1236.704         963.665          45.000          38.000
+  -5168054.74343  -4017644.72442  24568162.687    24568163.956    24568160.194
+       962.622         750.095          42.000          36.000
+  -6732500.01543  -5233790.86742  24014724.847    24014728.041    24014722.611
+     -3627.610       -2826.709          45.000          40.000
+  -4137505.48843  -3177474.17642  24158951.499    24158951.224    24158948.573
+      3200.467        2493.870          47.000          39.000
+ -22476928.12843 -17503147.49642  20860093.907    20860096.833    20860092.701
+       -22.463         -17.504          56.000          50.000
+  -3294202.32243  -2532916.44642  24703466.134    24703469.763    24703466.066
+     -3171.956       -2471.654          43.000          37.000
+ 04  2  1 18  5 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18786904.54143 -14580306.55142  21230677.938    21230680.130    21230677.085
+      2618.219        2040.171          55.000          48.000
+    947799.62543    758673.65742  25018181.514    25018186.101    25018180.718
+     -3056.304       -2381.535          41.000          35.000
+ -24049144.78044 -18671734.80742  20768952.522    20768954.045    20768951.277
+      -385.493        -300.384          57.000          50.000
+  -2548252.18843  -1820219.83242  24711194.620    24711198.688    24711191.673
+     -1555.686       -1212.223          45.000          38.000
+ -10016485.67543  -7794959.23642  22917313.649    22917318.034    22917312.858
+      1668.010        1299.748          49.000          43.000
+ -23683342.59543 -18451322.20142  20910982.419    20910986.179    20910982.296
+     -2296.161       -1789.216          56.000          50.000
+  -3807253.20243  -2939083.36742  24715446.176    24715450.881    24715444.566
+      1230.453         958.795          45.000          38.000
+  -5196754.41643  -4040008.05742  24562700.543    24562702.798    24562698.132
+       950.837         740.912          42.000          36.000
+  -6623622.03443  -5148950.89142  24035443.127    24035446.971    24035441.586
+     -3630.223       -2828.745          45.000          40.000
+  -4233396.70843  -3252194.57542  24140702.255    24140702.716    24140699.626
+      3192.671        2487.796          46.000          39.000
+ -22476124.94543 -17502521.63242  20860246.558    20860249.738    20860245.509
+       -30.445         -23.723          56.000          50.000
+  -3198934.76343  -2458681.99042  24721596.412    24721596.884    24721596.009
+     -3178.744       -2476.943          44.000          37.000
+ 04  2  1 18  6  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18865230.42343 -14641339.69242  21215772.801    21215775.778    21215771.817
+      2603.532        2028.726          55.000          48.000
+   1039430.30643    830074.14442  25035618.403    25035621.905    25035615.732
+     -3052.531       -2378.595          40.000          35.000
+ -24037439.94944 -18662614.14042  20771180.046    20771181.158    20771178.433
+      -394.948        -307.752          57.000          50.000
+  -2501487.75043  -1783780.01242  24720092.782    24720097.680    24720093.048
+     -1561.999       -1217.142          44.000          38.000
+ -10066375.95243  -7833834.75542  22907820.139    22907824.447    22907818.909
+      1658.117        1292.039          49.000          43.000
+ -23614237.42643 -18397474.01742  20924132.769    20924136.654    20924132.026
+     -2310.966       -1800.753          56.000          49.000
+  -3844056.18143  -2967761.01542  24708443.511    24708444.234    24708441.820
+      1223.113         953.075          45.000          38.000
+  -5225103.00643  -4062097.91342  24557306.886    24557310.443    24557305.580
+       938.731         731.479          43.000          36.000
+  -6514670.22943  -5064053.38642  24056175.720    24056178.407    24056174.340
+     -3633.384       -2831.208          45.000          40.000
+  -4329054.28943  -3326732.91242  24122498.479    24122502.999    24122497.902
+      3184.365        2481.323          45.000          39.000
+ -22475080.25243 -17501707.58242  20860445.398    20860448.673    20860444.664
+       -39.156         -30.511          56.000          50.000
+  -3103470.13843  -2384293.93442  24739761.936    24739765.440    24739759.495
+     -3185.873       -2482.498          43.000          37.000
+ 04  2  1 18  6 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -18943138.16243 -14702047.01042  21200947.781    21200950.392    21200946.477
+      2590.486        2018.561          55.000          48.000
+   1130918.54343    901363.70542  25053028.538    25053028.102    25053025.574
+     -3046.638       -2374.004          40.000          34.000
+ -24025473.68844 -18653289.76642  20773457.108    20773458.294    20773455.798
+      -402.608        -313.720          57.000          50.000
+  -2454558.30543  -1747211.60542  24729021.087    24729027.324    24729023.616
+     -1566.118       -1220.352          42.000          37.000
+ -10115993.62843  -7872497.85242  22898378.832    22898381.611    22898377.146
+      1650.123        1285.810          50.000          43.000
+ -23544708.09943 -18343295.32542  20937363.610    20937367.304    20937362.964
+     -2324.122       -1811.004          56.000          49.000
+  -3880662.59143  -2996285.45442  24701475.980    24701480.838    24701476.212
+      1217.489         948.693          44.000          39.000
+  -5253096.89243  -4083911.28742  24551978.032    24551980.421    24551977.721
+       927.902         723.040          43.000          36.000
+  -6405645.58543  -4979099.12742  24076921.785    24076925.212    24076920.131
+     -3634.953       -2832.431          45.000          40.000
+  -4424473.96143  -3401085.85842  24104340.084    24104343.416    24104340.002
+      3177.085        2475.651          45.000          39.000
+ -22473791.45343 -17500703.31942  20860691.122    20860693.826    20860690.112
+       -46.381         -36.141          56.000          50.000
+  -3007809.34943  -2309753.09042  24757963.554    24757967.763    24757962.440
+     -3191.155       -2486.614          43.000          37.000
+ 04  2  1 18  7  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19020627.70743 -14762428.46242  21186201.984    21186204.551    21186200.680
+      2575.358        2006.772          55.000          48.000
+   1222261.19143    972539.78042  25070410.168    25070409.529    25070406.998
+     -3042.728       -2370.957          40.000          34.000
+ -24013250.13444 -18643764.89242  20775782.692    20775784.387    20775781.731
+      -412.138        -321.146          57.000          50.000
+  -2407468.81643  -1710518.50042  24737981.594    24737989.692    24737981.562
+     -1572.902       -1225.638          41.000          37.000
+ -10165341.70843  -7910950.87642  22888987.073    22888991.928    22888985.945
+      1639.909        1277.851          49.000          43.000
+ -23474759.27143 -18288789.74242  20950674.953    20950678.135    20950674.164
+     -2339.110       -1822.683          56.000          49.000
+  -3917072.37343  -3024656.73642  24694549.293    24694552.114    24694547.807
+      1209.925         942.799          44.000          38.000
+  -5280736.24743  -4105448.43642  24546717.883    24546722.147    24546717.331
+       915.103         713.067          44.000          36.000
+  -6296553.06843  -4894091.97442  24097681.879    24097684.764    24097679.531
+     -3637.930       -2834.751          45.000          40.000
+  -4519655.53743  -3475253.29742  24086227.678    24086231.530    24086227.947
+      3168.379        2468.867          45.000          39.000
+ -22472259.85043 -17499509.85942  20860982.067    20860985.482    20860981.117
+       -55.640         -43.356          56.000          50.000
+  -2911957.71043  -2235063.50042  24776205.465    24776207.886    24776203.033
+     -3198.580       -2492.400          43.000          37.000
+ 04  2  1 18  7 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19097697.28143 -14822482.66442  21171535.914    21171538.183    21171534.815
+      2561.949        1996.324          55.000          48.000
+  -4988222.78753  -3866798.47852  25087763.109    25087765.982    25087761.521
+     -3037.253       -2366.691          38.000          33.000
+ -24000771.44943 -18634041.22042  20778157.308    20778159.040    20778156.324
+      -420.238        -327.458          56.000          50.000
+  -2360222.47243  -1673703.14342  24746972.513    24746978.032    24746972.171
+     -1577.343       -1229.098          42.000          36.000
+ -10214421.01443  -7949194.46842  22879647.192    22879652.408    22879646.759
+      1631.577        1271.359          49.000          43.000
+ -23404393.37643 -18233959.16842  20964064.768    20964068.201    20964064.465
+     -2352.612       -1833.204          56.000          49.000
+  -3953283.48943  -3052873.20242  24687655.782    24687661.135    24687655.357
+      1203.568         937.845          43.000          37.000
+  -5308019.14143  -4126707.82042  24541527.482    24541530.309    24541527.203
+       903.880         704.322          45.000          37.000
+  -6187395.69143  -4809034.26942  24118453.755    24118458.384    24118452.578
+     -3639.952       -2836.326          46.000          40.000
+  -4614596.73943  -3549233.41642  24068161.195    24068163.257    24068160.509
+      3160.626        2462.825          44.000          39.000
+ -22470484.70643 -17498126.62642  20861319.668    20861322.821    20861318.661
+       -63.324         -49.343          56.000          50.000
+  -2815918.04343  -2160227.39842  24794479.112    24794484.224    24794478.626
+     -3204.476       -2496.994          42.000          36.000
+ 04  2  1 18  8  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19174343.67543 -14882207.11542  21156950.851    21156952.971    21156949.545
+      2548.464        1985.816          55.000          49.000
+  -4897174.42753  -3795851.72452  25105088.872    25105092.922    25105086.540
+     -3031.876       -2362.501          40.000          34.000
+ -23988039.33144 -18624120.07342  20780580.239    20780582.142    20780579.040
+      -427.915        -333.440          57.000          50.000
+  -2312821.92043  -1636767.65642  24755996.315    24755999.657    24755995.739
+     -1581.905       -1232.653          44.000          37.000
+ -10263231.96443  -7987228.93742  22870360.449    22870363.042    22870358.111
+      1623.311        1264.918          50.000          43.000
+ -23333612.61243 -18178805.33042  20977534.221    20977537.530    20977533.604
+     -2365.525       -1843.266          56.000          49.000
+  -3989293.46443  -3080932.88242  24680804.728    24680808.892    24680804.033
+      1197.775         933.331          44.000          38.000
+  -5334943.18643  -4147687.58842  24536404.019    24536406.942    24536401.747
+       892.463         695.426          44.000          37.000
+  -6078175.61543  -4723927.73642  24139237.334    24139241.925    24139236.638
+     -3641.121       -2837.237          45.000          40.000
+  -4709294.79943  -3623024.07942  24050141.076    24050144.856    24050140.353
+      3153.269        2457.093          45.000          39.000
+ -22468464.69343 -17496552.58842  20861704.722    20861707.372    20861703.788
+       -70.743         -55.124          56.000          50.000
+  -2719692.78243  -2085246.62542  24812789.952    24812794.264    24812788.476
+     -3209.913       -2501.231          41.000          35.000
+ 04  2  1 18  8 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19250563.13843 -14941598.88242  21142446.623    21142448.650    21142445.478
+      2533.318        1974.014          55.000          49.000
+  -4806273.06143  -3725019.43442  25122386.252    25122391.592    25122383.987
+     -3026.917       -2358.637          40.000          35.000
+ -23975053.79444 -18614001.45742  20783051.519    20783053.021    20783050.213
+      -437.036        -340.547          57.000          50.000
+  -2265268.78443  -1599713.30842  24765041.327    24765047.656    24765041.995
+     -1587.492       -1237.007          41.000          36.000
+ -10311773.71043  -8025053.64542  22861122.297    22861126.487    22861121.344
+      1613.333        1257.143          49.000          42.000
+ -23262417.70143 -18123328.78042  20991082.232    20991085.623    20991081.635
+     -2380.210       -1854.709          56.000          49.000
+  -4025098.31943  -3108832.75142  24673991.392    24673995.448    24673990.155
+      1189.793         927.111          45.000          39.000
+  -5361504.60543  -4168384.80142  24531348.122    24531352.741    24531347.342
+       879.271         685.146          42.000          37.000
+  -5968894.15943  -4638773.37542  24160032.835    24160036.208    24160032.007
+     -3643.654       -2839.211          46.000          40.000
+  -4803745.66443  -3696622.13642  24032167.025    24032170.713    24032166.212
+      3144.124        2449.967          45.000          39.000
+ -22466197.00043 -17494785.54742  20862135.720    20862139.161    20862134.775
+       -79.771         -62.159          56.000          50.000
+  -2623283.13343  -2010122.24242  24831137.477    24831142.879    24831133.494
+     -3216.889       -2506.667          39.000          34.000
+ 04  2  1 18  9  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19326351.96143 -15000655.09142  21128024.859    21128026.662    21128023.373
+      2519.458        1963.214          56.000          49.000
+  -4715517.97543  -3654301.18042  25139657.410    25139662.881    25139657.455
+     -3022.693       -2355.345          42.000          35.000
+ -23961815.48844 -18603685.88342  20785570.381    20785571.853    20785569.215
+      -445.099        -346.830          57.000          50.000
+  -2217564.41143  -1562541.04242  24774120.880    24774127.006    24774120.443
+     -1592.326       -1240.773          43.000          35.000
+ -10360045.42743  -8062667.94542  22851937.860    22851940.779    22851936.221
+      1604.925        1250.591          50.000          43.000
+ -23190809.71543 -18067530.35142  21004708.638    21004712.344    21004707.931
+     -2393.453       -1865.028          56.000          49.000
+  -4060694.41743  -3136569.95842  24667216.241    24667221.787    24667215.771
+      1183.484         922.195          44.000          39.000
+  -5387700.09243  -4188796.85142  24526364.349    24526366.345    24526364.361
+       867.247         675.777          41.000          37.000
+  -5859552.74343  -4553572.26742  24180839.745    24180843.348    24180838.933
+     -3645.338       -2840.523          47.000          40.000
+  -4897945.25143  -3770024.37042  24014242.679    24014245.791    24014240.845
+      3136.019        2443.651          45.000          39.000
+ -22463679.19943 -17492823.62242  20862615.259    20862618.270    20862614.006
+       -87.702         -68.339          56.000          50.000
+  -7252950.30753  -5617655.14052  24849515.354    24849523.670    24849513.434
+     -3222.536       -2511.067          38.000          34.000
+ 04  2  1 18  9 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19401709.88243 -15059375.53642  21113684.456    21113686.564    21113683.311
+      2505.056        1951.992          56.000          49.000
+  -4624912.79043  -3583699.78442  25156900.366    25156903.532    25156895.845
+     -3017.393       -2351.215          41.000          34.000
+ -23948328.61643 -18593176.60942  20788137.059    20788138.522    20788135.758
+      -453.430        -353.322          56.000          50.000
+  -2169714.14143  -1525255.14742  24783228.637    24783232.778    24783226.882
+     -1597.006       -1244.420          44.000          36.000
+ -10408050.22543  -8100074.24942  22842802.340    22842806.633    22842799.917
+      1595.865        1243.531          49.000          43.000
+ -23118793.34043 -18011413.70542  21018412.785    21018416.201    21018412.108
+     -2407.019       -1875.599          56.000          49.000
+  -4096082.00043  -3164144.65342  24660482.312    24660486.442    24660481.679
+      1176.182         916.505          44.000          38.000
+  -5413529.67443  -4208923.77242  24521448.262    24521453.573    24521446.894
+       855.254         666.432          41.000          36.000
+  -5750156.30743  -4468328.30742  24201656.993    24201661.846    24201656.288
+     -3646.993       -2841.813          46.000          40.000
+  -4991893.49443  -3843230.75542  23996362.569    23996368.168    23996362.289
+      3128.075        2437.461          44.000          39.000
+ -22460912.58043 -17490667.81642  20863141.453    20863144.352    20863140.590
+       -96.067         -74.857          56.000          50.000
+  -7156179.34043  -5542249.20042  24867932.981    24867939.046    24867932.058
+     -3228.218       -2515.494          40.000          34.000
+ 04  2  1 18 10  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19476637.35643 -15117760.56042  21099426.373    21099428.652    21099424.850
+      2490.435        1940.599          55.000          49.000
+  -4534460.58843  -3513217.52742  25174111.995    25174118.782    25174112.985
+     -3012.943       -2347.748          41.000          34.000
+ -23934597.19743 -18582476.77742  20790750.009    20790751.709    20790748.728
+      -461.680        -359.751          56.000          50.000
+  -2121723.24443  -1487859.62842  24792360.018    24792362.934    24792359.488
+     -1601.706       -1248.082          43.000          35.000
+ -10455791.02743  -8137274.84942  22833716.268    22833721.012    22833714.568
+      1587.026        1236.644          49.000          43.000
+ -23046373.18643 -17954982.41442  21032194.489    21032197.119    21032193.520
+     -2420.603       -1886.184          56.000          49.000
+  -4131260.75143  -3191556.68042  24653789.928    24653794.090    24653787.933
+      1169.073         910.966          46.000          39.000
+  -5438993.79243  -4228765.89642  24516601.524    24516608.477    24516599.476
+       842.502         656.495          39.000          36.000
+  -5640709.78843  -4383045.30542  24222485.196    24222488.630    24222484.052
+     -3648.810       -2843.228          47.000          41.000
+  -5085590.20443  -3916241.14342  23978534.282    23978537.497    23978533.560
+      3119.149        2430.506          46.000          40.000
+ -22457898.42543 -17488319.12142  20863715.261    20863717.792    20863714.181
+      -104.478         -81.411          56.000          50.000
+  -7059235.25243  -5466708.35842  24886383.146    24886384.811    24886380.572
+     -3234.024       -2520.019          42.000          34.000
+ 04  2  1 18 10 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19551127.40943 -15175804.74242  21085251.369    21085252.931    21085250.253
+      2475.615        1929.051          56.000          49.000
+  -4444158.00443  -3442851.92242  25191295.262    25191300.376    25191293.451
+     -3007.774       -2343.720          42.000          33.000
+ -23920618.54743 -18571584.29442  20793410.149    20793411.557    20793408.733
+      -470.046        -366.270          56.000          50.000
+  -2073590.27943  -1450353.36242  24801520.693    24801522.500    24801516.582
+     -1606.570       -1251.873          43.000          35.000
+ -10503264.25143  -8174266.95942  22824682.855    22824687.079    22824681.466
+      1577.869        1229.508          49.000          43.000
+ -22973547.43243 -17898235.08042  21046052.018    21046055.567    21046051.387
+     -2434.374       -1896.915          55.000          49.000
+  -4166224.29743  -3218800.96142  24647135.789    24647139.309    24647134.018
+      1161.886         905.366          45.000          38.000
+  -5464085.58143  -4248317.89542  24511831.599    24511831.205    24511829.219
+       830.415         647.077          42.000          37.000
+  -5531211.14343  -4297721.69542  24243322.179    24243325.569    24243320.628
+     -3650.930       -2844.880          47.000          40.000
+  -5179028.41443  -3989050.11642  23960753.567    23960757.025    23960752.618
+      3110.175        2423.513          46.000          40.000
+ -22454631.13643 -17485773.17842  20864336.965    20864339.472    20864335.831
+      -113.182         -88.194          56.000          50.000
+  -6962116.42043  -5391031.31442  24904865.116    24904865.759    24904863.033
+     -3240.228       -2524.853          43.000          34.000
+ 04  2  1 18 11  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19625180.03743 -15233508.07542  21071159.443    21071160.922    21071158.148
+      2460.364        1917.167          56.000          49.000
+  -4354008.26043  -3372605.44542  25208450.349    25208455.127    25208451.228
+     -3003.023       -2340.018          42.000          33.000
+ -23906397.23743 -18560502.73442  20796116.105    20796117.937    20796114.959
+      -478.839        -373.121          56.000          50.000
+  -2025320.74643  -1412740.78942  24810704.882    24810707.016    24810704.026
+     -1612.090       -1256.174          44.000          35.000
+ -10550473.11343  -8211053.07342  22815699.902    22815703.051    22815698.968
+      1568.682        1222.350          50.000          43.000
+ -22900320.96643 -17841175.49842  21059986.775    21059990.398    21059985.926
+     -2448.232       -1907.713          56.000          49.000
+  -4200972.77243  -3245877.72242  24640522.654    24640525.975    24640522.869
+      1153.661         898.957          45.000          39.000
+  -5488805.81043  -4267580.41442  24507124.642    24507127.387    24507124.990
+       817.334         636.884          42.000          37.000
+  -5421665.84743  -4212361.73942  24264168.049    24264171.346    24264164.644
+     -3652.904       -2846.419          47.000          41.000
+  -5272208.22243  -4061657.72242  23943022.965    23943025.421    23943020.963
+      3100.810        2416.215          46.000          40.000
+ -22451112.30743 -17483031.23142  20865006.374    20865009.185    20865005.509
+      -122.214         -95.232          56.000          50.000
+  -6864827.87143  -5315222.04242  24923377.252    24923380.276    24923376.379
+     -3246.549       -2529.778          42.000          34.000
+ 04  2  1 18 11 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19698789.79943 -15290866.30942  21057152.011    21057154.115    21057150.438
+      2446.035        1906.001          56.000          49.000
+  -4264008.73743  -3302475.94342  25225577.658    25225584.398    25225578.291
+     -2997.593       -2335.787          42.000          33.000
+ -23891931.51443 -18549230.72442  20798868.701    20798870.694    20798867.659
+      -486.312        -378.944          56.000          50.000
+  -1976913.77043  -1375021.09742  24819917.389    24819922.624    24819916.556
+     -1616.146       -1259.334          43.000          36.000
+ -10597414.64043  -8247630.85342  22806766.676    22806769.295    22806764.406
+      1560.019        1215.599          49.000          43.000
+ -22826692.65443 -17783802.79442  21073997.736    21074001.391    21073997.524
+     -2461.059       -1917.708          55.000          49.000
+  -4235500.21343  -3272782.23042  24633954.752    24633956.524    24633954.136
+      1147.051         893.806          46.000          39.000
+  -5513148.48043  -4286548.68542  24502492.130    24502498.028    24502492.233
+       804.895         627.191          43.000          37.000
+  -5312072.97743  -4126964.71342  24285022.674    24285025.433    24285020.637
+     -3654.042       -2847.305          47.000          41.000
+  -5365123.26643  -4134059.02742  23925342.026    23925343.974    23925341.573
+      3092.765        2409.947          47.000          40.000
+ -22447337.11643 -17480089.51842  20865724.802    20865727.416    20865723.687
+      -130.271        -101.510          56.000          50.000
+  -6767368.95643  -5239280.04942  24941921.927    24941922.517    24941920.911
+     -3251.607       -2533.720          39.000          33.000
+ 04  2  1 18 12  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19771960.24343 -15347882.21942  21043227.646    21043230.455    21043226.778
+      2430.967        1894.260          55.000          49.000
+                                  25242670.790
+     -2992.900       -2332.130          38.000
+ -23877229.41344 -18537774.52142  20801667.063    20801668.369    20801665.326
+      -494.595        -385.399          57.000          50.000
+  -1928378.66643  -1337201.52642  24829152.427    24829154.840    24829149.262
+     -1620.287       -1262.561          44.000          36.000
+ -10644095.64243  -8284005.62242  22797884.020    22797887.934    22797883.200
+      1550.976        1208.553          50.000          43.000
+ -22752671.07343 -17726123.64742  21088083.528    21088087.033    21088082.712
+     -2474.611       -1928.268          55.000          49.000
+  -4269810.79443  -3299517.71442  24627424.524    24627427.188    24627423.574
+      1139.207         887.694          45.000          39.000
+  -5537118.15943  -4305226.35142  24497931.255    24497935.526    24497928.269
+       791.925         617.084          43.000          36.000
+  -5202441.46243  -4041537.56742  24305884.994    24305886.278    24305882.831
+     -3655.597       -2848.517          47.000          40.000
+  -5457777.46343  -4206257.07142  23907709.246    23907711.679    23907708.831
+      3083.392        2402.643          46.000          39.000
+ -22443310.67143 -17476952.03542  20866491.076    20866493.580    20866490.185
+      -139.042        -108.344          56.000          50.000
+  -6669748.27143  -5163211.97442  24960499.956    24960504.146    24960493.484
+     -3257.109       -2538.007          41.000          33.000
+ 04  2  1 18 12 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19844679.49443 -15404546.55942  21029390.022    21029392.393    21029388.524
+      2417.049        1883.415          56.000          49.000
+  -4084472.23253  -3162577.24152  25259743.254    25259745.482    25259740.046
+     -2986.261       -2326.957          38.000          32.000
+ -23862282.77743 -18526127.76842  20804510.483    20804512.159    20804509.475
+      -501.641        -390.889          56.000          50.000
+  -1879708.15543  -1299276.47142  24838413.624    24838417.435    24838412.111
+     -1623.737       -1265.250          44.000          36.000
+ -10690506.76443  -8320170.10542  22789052.292    22789054.244    22789051.018
+      1543.292        1202.565          50.000          43.000
+ -22678248.68243 -17668132.18442  21102245.526    21102248.919    21102245.222
+     -2486.780       -1937.751          55.000          49.000
+  -4303891.96843  -3326074.48142  24620939.457    24620942.190    24620938.207
+      1132.808         882.708          45.000          39.000
+  -5560702.33343  -4323603.62042  24493441.556    24493450.069    24493441.982
+       780.463         608.153          41.000          36.000
+  -5092763.64943  -3956074.36242  24326755.682    24326759.015    24326754.345
+     -3655.917       -2848.766          46.000          40.000
+  -5550157.98643  -4278241.87442  23890129.845    23890132.682    23890130.217
+      3075.502        2396.495          46.000          40.000
+ -22439021.87743 -17473610.11142  20867307.018    20867309.871    20867306.143
+      -146.659        -114.280          56.000          50.000
+  -6571958.54353  -5087012.17952  24979102.725    24979109.883    24979104.844
+     -3262.044       -2541.852          39.000          33.000
+ 04  2  1 18 13  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19916954.58543 -15460864.79242  21015636.615    21015639.070    21015635.195
+      2401.954        1871.652          56.000          49.000
+  -3994936.96753  -3092809.55452  25276778.018    25276785.274    25276777.092
+     -2981.688       -2323.393          37.000          32.000
+ -23847103.14143 -18514299.45942  20807399.277    20807400.765    20807398.087
+      -509.696        -397.166          56.000          50.000
+  -1830915.29043  -1261256.08442  24847699.380    24847702.252    24847699.595
+     -1628.569       -1269.015          45.000          37.000
+ -10736658.75543  -8356132.66442  22780268.759    22780272.444    22780268.449
+      1534.237        1195.509          49.000          43.000
+ -22603437.82543 -17609838.00942  21116481.996    21116485.125    21116481.098
+     -2499.933       -1948.000          56.000          49.000
+  -4337751.57043  -3352458.55842  24614495.154    24614500.789    24614494.506
+      1125.050         876.662          45.000          39.000
+  -5583909.36143  -4341687.03342  24489026.464    24489030.854    24489026.187
+       767.400         597.974          45.000          37.000
+  -4983052.42043  -3870585.10642  24347632.425    24347636.907    24347631.253
+     -3657.340       -2849.875          46.000          40.000
+  -5642272.52143  -4350019.39642  23872601.848    23872604.385    23872600.316
+      3066.111        2389.177          46.000          40.000
+ -22434479.68643 -17470070.73642  20868171.262    20868174.483    20868170.573
+      -155.402        -121.092          56.000          50.000
+  -6474012.52253  -5010690.57952  24997743.610    24997750.814    24997738.538
+     -3267.556       -2546.147          38.000          33.000
+ 04  2  1 18 13 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -19988777.06243 -15516830.34642  21001968.956    21001971.305    21001967.645
+      2386.294        1859.450          56.000          49.000
+  -3905554.76943  -3023161.08942  25293790.719    25293789.605    25293784.087
+     -2976.899       -2319.661          41.000          32.000
+ -23831685.56943 -18502285.75542  20810333.218    20810334.934    20810331.672
+      -518.230        -403.815          56.000          50.000
+  -1781996.18743  -1223137.28742  24857007.339    24857013.000    24857007.725
+     -1632.764       -1272.284          45.000          38.000
+ -10782545.52743  -8391888.56842  22771537.472    22771541.226    22771536.281
+      1525.084        1188.377          50.000          43.000
+ -22528234.23943 -17551237.81842  21130792.427    21130796.041    21130791.573
+     -2513.523       -1958.589          55.000          49.000
+  -4371380.70043  -3378663.04742  24608097.718    24608100.057    24608097.265
+      1116.854         870.276          46.000          39.000
+  -5606730.23943  -4359469.49342  24484683.295    24484687.069    24484681.885
+       754.013         587.543          44.000          38.000
+  -4873303.97443  -3785066.86542  24368516.435    24368520.340    24368515.607
+     -3659.355       -2851.445          45.000          39.000
+  -5734111.64943  -4421582.32642  23855124.849    23855127.563    23855123.664
+      3056.330        2381.556          47.000          40.000
+ -22429676.21043 -17466327.77042  20869085.722    20869089.045    20869084.446
+      -164.671        -128.315          56.000          50.000
+  -6375905.93943  -4934243.83742  25016415.005    25016414.435    25016413.997
+     -3273.154       -2550.510          40.000          33.000
+ 04  2  1 18 14  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20060146.62243 -15572442.98342  20988387.661    20988389.983    20988386.428
+      2371.727        1848.099          55.000          49.000
+                  -2953634.10342  25310768.871    25310773.538
+     -2971.090       -2315.135          40.000          32.000
+ -23816034.24644 -18490089.89542  20813312.223    20813313.060    20813310.245
+      -525.276        -409.306          57.000          50.000
+  -1732956.41043  -1184924.46242  24866339.641    24866342.984    24866337.701
+     -1636.126       -1274.903          45.000          37.000
+ -10828170.12943  -8427440.19442  22762854.759    22762859.197    22762854.405
+      1516.753        1181.885          49.000          43.000
+ -22452642.72843 -17492335.34642  21145176.973    21145180.459    21145176.437
+     -2525.776       -1968.137          55.000          49.000
+  -4404779.20243  -3404687.86542  24601739.720    24601745.627    24601738.889
+      1109.898         864.856          43.000          39.000
+  -5629165.21943  -4376951.27842  24480413.068    24480418.279    24480413.022
+       741.623         577.888          43.000          38.000
+  -4763522.54243  -3699522.92142  24389407.170    24389410.625    24389405.792
+     -3659.656       -2851.680          44.000          39.000
+  -5825675.09143  -4492930.44742  23837701.291    23837704.975    23837699.474
+      3047.824        2374.928          47.000          40.000
+ -22424612.62343 -17462382.11342  20870049.104    20870052.284    20870048.082
+      -172.744        -134.606          56.000          50.000
+  -6277643.59943  -4857675.81042  25035112.922    25035114.264    25035112.015
+     -3277.614       -2553.985          40.000          33.000
+ 04  2  1 18 14 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20131058.14843 -15627698.69842  20974893.590    20974896.217    20974892.572
+      2355.915        1835.778          55.000          49.000
+  -3727256.38243  -2884227.19642  25327719.049    25327718.923    25327715.992
+     -2966.597       -2311.634          40.000          32.000
+ -23800148.05444 -18477711.02542  20816334.978    20816336.069    20816333.454
+      -533.676        -415.851          57.000          50.000
+  -1683795.91743  -1146617.54042  24875696.110    24875699.431    24875694.675
+     -1640.071       -1277.977          45.000          37.000
+ -10873530.39143  -8462785.82142  22754224.044    22754227.539    22754221.499
+      1507.385        1174.586          50.000          43.000
+ -22376662.84543 -17433130.23942  21159635.904    21159639.416    21159635.049
+     -2539.149       -1978.558          56.000          49.000
+  -4437941.78643  -3430528.78542  24595429.273    24595434.076    24595429.006
+      1101.295         858.152          43.000          39.000
+  -5651209.52243  -4394128.63842  24476219.947    24476224.275    24476219.029
+       727.741         567.071          43.000          38.000
+  -4653707.71043  -3613952.96142  24410304.420    24410307.716    24410303.726
+     -3661.002       -2852.729          44.000          39.000
+  -5916957.30043  -4564059.41142  23820330.922    23820332.473    23820330.161
+      3038.119        2367.365          47.000          40.000
+ -22419284.75843 -17458230.53042  20871062.811    20871066.091    20871061.843
+      -182.137        -141.925          56.000          50.000
+  -6179225.35943  -4780986.22542  25053841.687    25053843.164    25053839.567
+     -3282.950       -2558.143          41.000          34.000
+ 04  2  1 18 15  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20201515.25943 -15682600.32542  20961486.314    20961488.474    20961484.936
+      2340.769        1823.976          56.000          49.000
+  -3638344.57943  -2814945.24542  25344637.790    25344639.814    25344638.544
+     -2961.421       -2307.601          39.000          33.000
+ -23784034.66643 -18465155.11942  20819401.013    20819402.156    20819399.741
+      -541.212        -421.724          56.000          50.000
+  -1634522.99843  -1108223.13542  24885070.929    24885076.134    24885068.992
+     -1644.813       -1281.672          44.000          37.000
+ -10918633.06243  -8497930.72742  22745641.057    22745644.419    22745639.187
+      1498.625        1167.760          49.000          43.000
+ -22300302.81643 -17373628.92942  21174166.526    21174169.381    21174165.731
+     -2552.191       -1988.720          55.000          49.000
+  -4470872.33843  -3456188.91842  24589162.247    24589165.344    24589161.746
+      1093.371         851.977          43.000          38.000
+  -5672866.96143  -4411004.54642  24472097.934    24472101.844    24472098.192
+       714.858         557.032          41.000          37.000
+  -4543868.13243  -3528363.69942  24431205.298    24431210.133    24431204.382
+     -3661.911       -2853.437          43.000          38.000
+  -6007961.77643  -4634971.98542  23803013.955    23803014.064    23803012.802
+      3028.397        2359.790          48.000          41.000
+ -22413697.65543 -17453876.94242  20872126.083    20872129.272    20872124.928
+      -190.870        -148.730          56.000          50.000
+  -6080659.93943  -4704182.04042  25072598.694    25072599.395    25072599.956
+     -3288.145       -2562.191          41.000          33.000
+ 04  2  1 18 15 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20271511.01643 -15737142.45642  20948166.680    20948169.261    20948165.399
+      2325.906        1812.394          56.000          49.000
+                  -2745785.20242  25361526.863    25361531.117
+     -2955.539       -2303.017          39.000          32.000
+ -23767690.59943 -18452419.46642  20822511.167    20822512.435    20822509.884
+      -548.137        -427.120          56.000          50.000
+  -1585135.92743  -1069739.70442  24894468.186    24894473.924    24894468.225
+     -1647.809       -1284.007          45.000          38.000
+ -10963473.66343  -8532871.42942  22737108.160    22737111.763    22737106.610
+      1490.673        1161.563          50.000          43.000
+ -22223560.43943 -17313829.67042  21188770.550    21188773.427    21188769.930
+     -2564.081       -1997.985          56.000          49.000
+  -4503563.65643  -3481662.64442  24582941.651    24582947.074    24582940.804
+      1086.126         846.332          44.000          39.000
+  -5694130.47743  -4427573.46142  24468051.736    24468055.942    24468050.746
+       702.671         547.536          41.000          38.000
+  -4434001.53243  -3442753.39242  24452112.982    24452116.891    24452112.324
+     -3662.129       -2853.607          44.000          38.000
+  -6098680.96043  -4705662.22842  23785750.197    23785752.613    23785750.315
+      3019.547        2352.894          47.000          41.000
+ -22407845.17143 -17449316.56042  20873239.935    20873242.835    20873238.762
+      -199.073        -155.122          56.000          50.000
+  -5981944.61343  -4627260.95342  25091383.581    25091383.196    25091379.797
+     -3292.596       -2565.659          39.000          33.000
+ 04  2  1 18 16  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20341047.09143 -15791326.39242  20934934.028    20934936.850    20934933.207
+      2310.153        1800.119          56.000          49.000
+  -3460994.79553  -2676750.69952  25378382.710    25378384.410    25378379.841
+     -2950.643       -2299.202          37.000          33.000
+ -23751122.42143 -18439509.17242  20825663.982    20825665.346    20825662.697
+      -556.081        -433.310          56.000          50.000
+  -1535641.65143  -1031172.77442  24903887.363    24903888.329    24903885.704
+     -1651.426       -1286.825          44.000          37.000
+ -11008057.05743  -8567611.69842  22728625.136    22728626.560    22728623.342
+      1481.697        1154.569          51.000          43.000
+ -22146442.02743 -17253737.38942  21203445.219    21203449.179    21203444.601
+     -2576.900       -2007.974          56.000          49.000
+  -4536017.33943  -3506951.19642  24576767.809    24576770.752    24576766.340
+      1077.672         839.744          46.000          40.000
+  -5715002.24143  -4443837.12142  24464080.115    24464083.745    24464078.122
+       689.241         537.071          42.000          38.000
+  -4324114.51543  -3357127.17242  24473024.236    24473027.055    24473021.188
+     -3663.307       -2854.525          44.000          38.000
+  -6189116.34943  -4776131.35242  23768539.798    23768543.428    23768539.288
+      3009.827        2345.320          46.000          41.000
+ -22401730.13643 -17444551.60142  20874403.556    20874406.907    20874402.507
+      -208.222        -162.251          56.000          50.000
+  -5883086.22253  -4550228.46552  25110195.707    25110191.419    25110188.320
+     -3297.297       -2569.322          38.000          32.000
+ 04  2  1 18 16 30.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20410116.56043 -15845146.73742  20921790.743    20921793.187    20921789.672
+      2294.680        1788.062          56.000          49.000
+  -3372557.37153  -2607838.46452  25395214.813    25395217.218    25395214.443
+     -2945.140       -2294.914          40.000          33.000
+ -23734327.02043 -18426421.83242  20828859.969    20828861.349    20828858.742
+      -563.395        -439.009          56.000          50.000
+  -1486038.15243   -992520.69342  24913327.919    24913330.612    24913325.806
+     -1655.406       -1289.927          45.000          37.000
+ -11052379.37043  -8602148.53942  22720190.258    22720193.708    22720189.293
+      1473.121        1147.886          51.000          44.000
+ -22068945.45343 -17193350.45242  21218192.006    21218195.898    21218191.455
+     -2589.310       -2017.644          55.000          49.000
+  -4568226.49943  -3532049.22442  24570639.304    24570641.273    24570636.891
+      1069.886         833.677          46.000          40.000
+  -5735475.43843  -4459790.29842  24460185.148    24460188.036    24460183.447
+       675.886         526.664          43.000          38.000
+  -4214204.80143  -3271483.23742  24493939.126    24493943.226    24493937.292
+     -3663.492       -2854.669          43.000          37.000
+  -6279260.34743  -4846373.39842  23751386.309    23751388.152    23751385.309
+      3000.196        2337.815          46.000          41.000
+ -22395346.75843 -17439577.53842  20875618.230    20875621.385    20875617.415
+      -217.049        -169.129          56.000          50.000
+                  -4473082.77642  25129037.882    25129039.000
+     -3301.912       -2572.918          38.000          32.000
+ 04  2  1 18 17  0.0000000  0 12G18G17G21G25G15G30G26G29G 5G16G 6G10
+ -20478721.89543 -15898605.42242  20908735.575    20908737.761    20908734.341
+      2279.024        1775.863          56.000          49.000
+  -3284282.93853  -2539053.18252  25412012.213    25412017.634    25412010.575
+     -2939.718       -2290.689          37.000          32.000
+ -23717310.62543 -18413162.29642  20832097.493    20832099.697    20832096.612
+      -571.004        -444.938          56.000          50.000
+  -1436333.08843   -953789.50042  24922785.680    24922789.032    24922782.602
+     -1658.706       -1292.498          44.000          37.000
+ -11096446.07143  -8636486.20142  22711804.168    22711807.572    22711802.761
+      1464.466        1141.142          50.000          44.000
+ -21991078.05343 -17132674.55842  21233010.228    21233013.318    21233009.542
+     -2601.869       -2027.430          55.000          48.000
+  -4600193.73943  -3556958.75142  24564554.551    24564558.052    24564552.730
+      1061.368         827.040          45.000          39.000
+  -5755553.09043  -4475435.20942  24456365.200    24456365.438    24456363.299
+       662.685         516.378          43.000          37.000
+  -4104280.28043  -3185827.79342  24514856.794    24514862.449    24514855.136
+     -3665.025       -2855.864          44.000          38.000
+  -6369115.46543  -4916390.33742  23734288.279    23734289.579    23734287.232
+      2990.182        2330.012          47.000          41.000
+ -22388698.82243 -17434397.32242  20876883.434    20876886.185    20876882.250
+      -226.151        -176.221          56.000          50.000
+                  -4395829.67452  25147901.991    25147908.189
+     -3307.141       -2576.993          36.000          32.000
+ 04  2  1 18 17 30.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20546856.68343 -15951697.45142  20895770.258    20895772.007    20895769.047
+      2263.153        1763.496          56.000          49.000
+ -23700070.79843 -18399728.65842  20835378.540    20835379.857    20835377.548
+      -578.559        -450.825          56.000          50.000
+  -1386525.13243   -914978.09742  24932263.007    24932268.306    24932262.752
+     -1661.908       -1294.993          42.000          36.000
+ -11140253.52243  -8670621.85042  22703467.202    22703472.333    22703467.232
+      1455.928        1134.489          50.000          43.000
+ -21912838.02743 -17071708.30142  21247899.046    21247901.465    21247898.337
+     -2614.360       -2037.164          56.000          48.000
+  -4631912.42243  -3581674.57642  24558517.681    24558523.091    24558518.270
+      1052.838         820.393          46.000          40.000
+  -5775228.92543  -4490766.95042  24452620.706    24452623.814    24452620.119
+       648.665         505.453          42.000          37.000
+  -3994338.90243  -3100159.19942  24535778.694    24535782.326    24535777.424
+     -3665.191       -2855.993          44.000          37.000
+  -6458674.85743  -4986176.87342  23717243.251    23717245.932    23717243.864
+      2980.095        2322.152          46.000          41.000
+ -22381780.78343 -17429006.63842  20878199.441    20878202.940    20878198.748
+      -235.285        -183.339          56.000          50.000
+ 04  2  1 18 18  0.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20614516.13543 -16004419.08842  20882894.667    20882896.816    20882893.858
+      2246.391        1750.435          56.000          49.000
+ -23682606.43843 -18386120.06142  20838701.492    20838703.731    20838700.544
+      -586.771        -457.224          56.000          50.000
+  -1336614.31843   -876086.58042  24941762.403    24941762.398    24941760.508
+     -1666.387       -1298.483          43.000          36.000
+ -11183799.72743  -8704553.91842  22695180.156    22695184.448    22695178.543
+      1446.204        1126.912          49.000          43.000
+ -21834224.99043 -17010451.37842  21262858.277    21262861.492    21262858.025
+     -2627.630       -2047.504          55.000          48.000
+  -4663377.63843  -3606192.90242  24552529.885    24552533.109    24552530.189
+      1043.547         813.154          45.000          39.000
+  -5794498.20443  -4505781.91842  24448952.336    24448955.531    24448951.064
+       634.642         494.526          42.000          38.000
+  -3884380.09243  -3014477.05142  24556702.347    24556705.965    24556701.707
+     -3666.864       -2857.297          44.000          37.000
+  -6547932.99043  -5055728.64042  23700259.014    23700262.998    23700258.785
+      2969.305        2313.744          46.000          41.000
+ -22374588.60343 -17423402.33942  20879568.519    20879571.628    20879567.467
+      -245.270        -191.119          56.000          50.000
+ 04  2  1 18 18 30.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20681702.56143 -16056772.13142  20870109.600    20870111.921    20870108.847
+      2231.297        1738.673          56.000          49.000
+ -23664923.86943 -18372341.42442  20842066.822    20842068.101    20842065.646
+      -593.318        -462.326          56.000          50.000
+  -1286608.57043   -837121.08042  24951276.467    24951280.813    24951275.768
+     -1668.642       -1300.240          43.000          37.000
+ -11227090.37743  -8738286.85242  22686942.277    22686946.193    22686941.182
+      1438.324        1120.772          49.000          43.000
+ -21755246.35243 -16948909.58942  21277887.450    21277890.944    21277886.915
+     -2639.054       -2056.406          55.000          48.000
+  -4694592.00643  -3630515.77242  24546590.123    24546594.451    24546590.428
+      1035.969         807.249          45.000          39.000
+  -5813363.76043  -4520482.30342  24445362.856    24445367.862    24445361.937
+       621.614         484.375          43.000          38.000
+  -3774411.45043  -2928787.21042  24577629.202    24577633.199    24577628.430
+     -3666.242       -2856.812          45.000          37.000
+  -6636892.21643  -5125047.48142  23683330.647    23683334.109    23683329.664
+      2959.885        2306.404          46.000          41.000
+ -22367126.08043 -17417587.38642  20880988.204    20880991.611    20880987.270
+      -253.677        -197.670          56.000          50.000
+ 04  2  1 18 19  0.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20748415.19743 -16108755.98042  20857414.887    20857416.927    20857413.475
+      2215.825        1726.617          56.000          49.000
+ -23647026.92043 -18358395.73742  20845472.196    20845474.166    20845471.129
+      -600.106        -467.615          56.000          50.000
+  -1236511.87243   -798084.69742  24960808.831    24960814.836    24960809.344
+     -1671.543       -1302.501          43.000          37.000
+ -11270127.61843  -8771822.31242  22678753.130    22678758.290    22678752.229
+      1430.216        1114.454          50.000          43.000
+ -21675906.14243 -16887086.05142  21292985.635    21292988.619    21292985.173
+     -2650.773       -2065.537          55.000          48.000
+  -4725554.65843  -3654642.44942  24540697.773    24540700.588    24540697.083
+      1027.775         800.864          45.000          39.000
+  -5831825.31643  -4534867.94942  24441849.335    24441852.717    24441848.556
+       608.809         474.397          41.000          37.000
+  -3664436.97043  -2843092.85342  24598558.406    24598559.774    24598556.095
+     -3665.823       -2856.485          45.000          37.000
+  -6725551.54043  -5194132.64642  23666458.828    23666463.491    23666457.868
+      2950.310        2298.943          46.000          41.000
+ -22359393.61143 -17411562.08442  20882460.003    20882463.221    20882458.925
+      -262.350        -204.428          56.000          50.000
+ 04  2  1 18 19 30.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20814647.97743 -16160365.91942  20844810.855    20844812.454    20844809.835
+      2200.073        1714.343          56.000          49.000
+ -23628912.84643 -18344280.86142  20848919.883    20848921.020    20848918.502
+      -607.064        -473.037          56.000          50.000
+  -1186323.25443   -758976.70142  24970360.466    24970364.398    24970359.685
+     -1674.182       -1304.557          45.000          37.000
+ -11312908.07843  -8805157.71042  22670612.507    22670616.582    22670610.548
+      1422.189        1108.199          50.000          44.000
+ -21596202.73043 -16824979.49942  21308152.130    21308155.377    21308151.905
+     -2662.485       -2074.664          55.000          48.000
+  -4756259.06543  -3678567.94342  24534855.947    24534858.523    24534855.738
+      1019.652         794.534          46.000          39.000
+  -5849876.62343  -4548933.85942  24438415.724    24438419.745    24438414.907
+       595.510         464.034          43.000          38.000
+  -3554455.05343  -2757392.67342  24619487.937    24619489.913    24619483.829
+     -3665.861       -2856.515          45.000          37.000
+  -6813904.05643  -5262978.72842  23649647.174    23649650.297    23649645.967
+      2940.135        2291.014          47.000          41.000
+ -22351385.83143 -17405322.25242  20883983.742    20883986.806    20883982.535
+      -271.194        -211.320          56.000          50.000
+ 04  2  1 18 20  0.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20880404.66343 -16211604.87642  20832297.982    20832299.697    20832296.693
+      2183.882        1701.726          56.000          49.000
+ -23610589.26343 -18330002.73542  20852406.283    20852407.458    20852405.170
+      -614.321        -478.692          56.000          50.000
+  -1136050.91543   -719803.44642  24979925.405    24979930.815    24979926.391
+     -1677.330       -1307.010          44.000          37.000
+ -11355438.14843  -8838298.00242  22662520.263    22662523.996    22662518.235
+      1413.425        1101.370          50.000          44.000
+ -21516144.33143 -16762596.32542  21323387.052    21323390.598    21323386.229
+     -2674.671       -2084.159          55.000          48.000
+  -4786708.72243  -3702294.93942  24529059.312    24529064.788    24529059.811
+      1010.495         787.399          45.000          38.000
+  -5867521.55243  -4562683.09742  24435052.777    24435062.163    24435053.942
+       581.219         452.898          40.000          37.000
+  -3444474.05043  -2671693.25042  24640416.724    24640417.475    24640413.720
+     -3665.920       -2856.561          45.000          37.000
+  -6901952.74643  -5331588.06042  23632891.787    23632894.076    23632891.108
+      2929.858        2283.006          47.000          41.000
+ -22343107.23743 -17398871.40342  20885559.341    20885562.203    20885558.252
+      -280.535        -218.599          56.000          50.000
+ 04  2  1 18 20 30.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -20945679.43943 -16262468.31842  20819876.035    20819878.937    20819875.484
+      2167.501        1688.962          56.000          50.000
+ -23592054.02343 -18315559.68142  20855933.342    20855934.996    20855932.039
+      -621.628        -484.385          56.000          50.000
+  -1085693.98443   -680564.29642  24989509.564    24989513.176    24989508.824
+     -1680.269       -1309.300          44.000          37.000
+ -11397714.92343  -8871240.90442  22654474.878    22654478.303    22654473.152
+      1404.708        1094.578          50.000          44.000
+ -21435729.82043 -16699935.66742  21338689.545    21338692.920    21338688.582
+     -2686.616       -2093.467          54.000          48.000
+  -4816897.88943  -3725818.94142  24523315.907    24523321.084    24523316.440
+      1001.645         780.503          45.000          39.000
+  -5884754.46043  -4576111.33442  24431778.142    24431780.793    24431776.902
+       567.255         442.017          42.000          37.000
+  -3334492.38643  -2585993.28642  24661345.762    24661347.490    24661342.687
+     -3666.404       -2856.938          44.000          37.000
+  -6989691.63443  -5399955.99642  23616195.462    23616198.600    23616194.666
+      2919.243        2274.735          47.000          41.000
+ -22334553.33543 -17392206.02242  20887186.706    20887189.859    20887185.702
+      -290.024        -225.993          56.000          50.000
+ 04  2  1 18 21  0.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21010468.36743 -16312953.17342  20807547.404    20807549.862    20807546.582
+      2151.262        1676.308          56.000          50.000
+ -23573307.62743 -18300952.09342  20859500.755    20859502.190    20859499.446
+      -628.846        -490.010          56.000          50.000
+  -1035254.38943   -641260.67942  24999105.858    24999112.060    24999104.120
+     -1683.070       -1311.483          42.000          35.000
+ -11439737.92543  -8903986.08442  22646477.586    22646481.457    22646476.428
+      1396.206        1087.953          50.000          44.000
+ -21354960.55443 -16636998.58342  21354059.001    21354062.230    21354058.700
+     -2698.599       -2102.804          54.000          48.000
+  -4846823.12643  -3749137.28142  24517622.241    24517625.597    24517620.646
+       992.807         773.616          46.000          39.000
+  -5901572.48943  -4589216.26942  24428578.136    24428581.272    24428577.194
+       553.398         431.219          43.000          38.000
+  -3224511.64743  -2500294.03742  24682273.994    24682276.013    24682272.437
+     -3666.115       -2856.713          45.000          37.000
+  -7077116.85943  -5468079.53242  23599559.474    23599560.980    23599557.879
+      2908.517        2266.377          47.000          41.000
+ -22325721.62243 -17385324.17242  20888867.159    20888870.932    20888866.337
+      -299.272        -233.199          56.000          50.000
+ 04  2  1 18 21 30.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21074772.26443 -16363060.08842  20795310.577    20795313.092    20795309.604
+      2135.223        1663.810          56.000          50.000
+ -23554353.76043 -18286182.82642  20863108.046    20863109.116    20863106.387
+      -635.402        -495.118          56.000          50.000
+   -984736.81643   -601896.35142  25008722.492    25008724.090    25008720.603
+     -1685.548       -1313.414          44.000          36.000
+ -11481510.10243  -8936535.80142  22638528.559    22638531.774    22638526.885
+      1388.165        1081.687          50.000          44.000
+ -21273841.22043 -16573788.71842  21369495.848    21369499.265    21369495.404
+     -2709.979       -2111.672          55.000          48.000
+  -4876484.27143  -3772249.84742  24511976.853    24511980.536    24511977.185
+       984.361         767.035          46.000          39.000
+  -5917975.63043  -4601997.90142  24425456.336    24425459.978    24425455.743
+       539.489         420.381          44.000          38.000
+  -3114536.16043  -2414598.87842  24703201.504    24703204.448    24703199.052
+     -3665.695       -2856.386          44.000          37.000
+  -7164227.91543  -5535958.24542  23582982.425    23582985.403    23582981.466
+      2898.217        2258.351          47.000          41.000
+ -22316613.10943 -17378226.63242  20890600.600    20890603.972    20890599.739
+      -308.384        -240.299          56.000          50.000
+ 04  2  1 18 22  0.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21138586.09743 -16412785.12842  20783167.627    20783169.895    20783166.439
+      2119.320        1651.418          56.000          50.000
+ -23535191.25243 -18271250.99642  20866753.767    20866755.488    20866752.529
+      -641.899        -500.181          56.000          50.000
+   -934141.34743   -562471.26342  25018348.991    25018345.457    25018348.698
+     -1687.810       -1315.177          42.000          34.000
+ -11523029.39443  -8968888.47442  22630627.393    22630631.384    22630625.820
+      1380.419        1075.651          50.000          44.000
+ -21192371.52543 -16510305.84142  21384998.941    21385002.437    21384998.315
+     -2721.029       -2120.282          55.000          48.000
+  -4905876.35343  -3795152.70442  24506384.154    24506388.169    24506383.742
+       975.530         760.153          45.000          39.000
+  -5933959.32743  -4614452.75442  24422414.679    24422418.788    24422413.349
+       526.259         410.072          44.000          38.000
+  -3004565.70543  -2328907.65942  24724128.168    24724130.508    24724127.176
+     -3665.452       -2856.196          44.000          37.000
+  -7251019.46343  -5603587.99242  23566466.360    23566469.105    23566464.615
+      2888.166        2250.519          46.000          41.000
+ -22307223.74243 -17370910.24142  20892387.253    20892390.796    20892386.296
+      -317.348        -247.284          56.000          50.000
+ 04  2  1 18 22 30.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21201910.39243 -16462128.70942  20771117.074    20771119.651    20771116.173
+      2103.094        1638.775          56.000          50.000
+ -23515825.03843 -18256160.43242  20870439.347    20870440.666    20870438.144
+      -648.529        -505.347          56.000          50.000
+   -883473.57343   -522989.85542  25027991.341    25027994.116    25027990.696
+     -1689.777       -1316.709          44.000          35.000
+ -11564299.33243  -9001046.85142  22622774.108    22622778.156    22622772.605
+      1371.906        1069.018          50.000          44.000
+ -21110556.81443 -16446554.11642  21400567.801    21400571.142    21400567.002
+     -2732.522       -2129.238          55.000          48.000
+  -4934999.84743  -3817846.29142  24500842.467    24500845.986    24500841.543
+       966.683         753.259          45.000          39.000
+  -5949524.61743  -4626581.53842  24419452.094    24419455.473    24419451.705
+       511.998         398.959          44.000          38.000
+  -2894605.23343  -2243224.19842  24745052.323    24745055.541    24745050.016
+     -3664.683       -2855.597          44.000          37.000
+  -7337491.55143  -5670968.82542  23550010.395    23550015.197    23550009.504
+      2877.291        2242.045          47.000          41.000
+ -22297555.14043 -17363376.26442  20894227.053    20894230.404    20894226.440
+      -326.601        -254.494          56.000          50.000
+ 04  2  1 18 23  0.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21264740.72943 -16511087.38842  20759160.926    20759163.300    20759159.900
+      2085.650        1625.182          56.000          50.000
+ -23496253.85144 -18240910.14442  20874163.760    20874165.409    20874162.393
+      -656.232        -511.350          57.000          50.000
+   -832733.74043   -483452.27242  25037645.822    25037649.908    25037644.683
+     -1693.209       -1319.384          43.000          34.000
+ -11605318.11543  -9033009.49542  22614968.237    22614972.223    22614967.529
+      1362.623        1061.784          50.000          43.000
+ -21028397.05143 -16382533.52142  21416202.063    21416205.358    21416201.241
+     -2744.827       -2138.826          54.000          48.000
+  -4963849.95143  -3840326.85342  24495351.419    24495356.317    24495350.443
+       956.731         745.505          44.000          39.000
+  -5964667.04743  -4638380.77142  24416570.786    24416574.333    24416569.643
+       497.375         387.565          44.000          37.000
+  -2784654.96943  -2157548.69342  24765976.402    24765979.464    24765973.799
+     -3665.090       -2855.914          44.000          37.000
+  -7423639.14643  -5738096.77542  23533619.088    23533621.064    23533617.906
+      2865.718        2233.027          48.000          41.000
+ -22287603.72843 -17355621.91442  20896121.031    20896124.079    20896120.252
+      -336.951        -262.559          56.000          50.000
+ 04  2  1 18 23 30.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21327079.19643 -16559662.79642  20747298.296    20747300.376    20747296.966
+      2069.738        1612.783          56.000          50.000
+ -23476483.89844 -18225504.97242  20877925.917    20877926.878    20877924.646
+      -662.351        -516.118          57.000          50.000
+   -781928.89943   -443864.12242  25047314.405    25047317.146    25047315.215
+     -1694.739       -1320.576          43.000          34.000
+ -11646091.20443  -9064780.71342  22607209.886    22607214.777    22607208.363
+      1355.207        1056.005          51.000          44.000
+ -20945899.20643 -16318249.49242  21431900.870    21431904.137    21431900.600
+     -2755.541       -2147.175          54.000          48.000
+  -4992428.91643  -3862596.15542  24489914.210    24489917.043    24489912.483
+       947.950         738.662          45.000          39.000
+  -5979389.24843  -4649852.57442  24413767.595    24413772.518    24413767.439
+       483.843         377.021          42.000          37.000
+  -2674721.67943  -2071886.44242  24786894.688    24786899.699    24786893.211
+     -3664.427       -2855.398          44.000          37.000
+  -7509464.08743  -5804973.33042  23517287.231    23517289.011    23517285.182
+      2855.588        2225.134          48.000          42.000
+ -22277372.70143 -17347649.68342  20898067.751    20898070.863    20898066.837
+      -345.741        -269.408          56.000          50.000
+ 04  2  1 18 24  0.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21388920.68343 -16607850.94542  20735530.256    20735532.605    20735528.890
+      2053.347        1600.011          56.000          50.000
+ -23456513.96544 -18209943.97042  20881726.035    20881727.156    20881724.545
+      -668.702        -521.066          57.000          50.000
+                   -404225.30042  25056997.268    25056994.673
+     -1696.861       -1322.229          44.000          32.000
+ -11686616.24643  -9096358.64542  22599498.535    22599501.529    22599497.635
+      1346.821        1049.471          50.000          44.000
+ -20863063.08443 -16253701.87142  21447663.589    21447667.523    21447663.221
+     -2766.631       -2155.816          54.000          47.000
+  -5020731.83443  -3884650.35042  24484528.511    24484531.539    24484527.674
+       938.946         731.646          47.000          39.000
+  -5993686.59443  -4660993.37142  24411048.478    24411051.613    24411046.194
+       470.061         366.281          43.000          38.000
+  -2564804.99043  -1986237.10942  24807811.593    24807815.172    24807810.654
+     -3663.482       -2854.661          44.000          37.000
+  -7594960.79743  -5871594.13542  23501016.902    23501018.424    23501015.638
+      2844.695        2216.645          48.000          42.000
+ -22266858.18343 -17339456.55342  20900068.836    20900071.970    20900068.033
+      -354.997        -276.621          56.000          50.000
+ 04  2  1 18 24 30.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21450262.89643 -16655650.05742  20723857.222    20723859.108    20723856.130
+      2036.266        1586.701          56.000          50.000
+ -23436344.96243 -18194227.85442  20885563.951    20885565.484    20885562.629
+      -675.661        -526.489          56.000          50.000
+                   -364537.17042  25066688.442    25066694.637
+     -1699.294       -1324.125          42.000          32.000
+ -11726893.20043  -9127743.27242  22591834.266    22591837.275    22591832.906
+      1338.299        1042.830          50.000          44.000
+ -20779890.46643 -16188892.05442  21463491.095    21463494.834    21463490.377
+     -2778.080       -2164.738          53.000          47.000
+  -5048755.62043  -3906487.02542  24479194.209    24479199.732    24479193.640
+       929.560         724.332          46.000          39.000
+  -6007556.78543  -4671801.28242  24408408.259    24408412.610    24408407.307
+       454.994         354.541          44.000          39.000
+  -2454906.71443  -1900602.12942  24828724.726    24828728.155    24828721.306
+     -3662.771       -2854.107          43.000          36.000
+  -7680126.05143  -5937956.65442  23484810.771    23484813.023    23484810.230
+      2833.128        2207.632          48.000          42.000
+ -22256058.27443 -17331041.04342  20902123.265    20902127.220    20902122.543
+      -364.829        -284.282          56.000          50.000
+ 04  2  1 18 25  0.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21511104.38943 -16703058.98942  20712279.316    20712281.747    20712278.300
+      2019.689        1573.784          56.000          50.000
+ -23415978.79944 -18178358.10542  20889439.896    20889441.002    20889438.399
+      -682.076        -531.488          57.000          50.000
+   -629133.66343   -324802.77342  25076390.704    25076401.849    25076387.867
+     -1701.098       -1325.531          41.000          32.000
+ -11766923.38543  -9158935.61142  22584216.858    22584219.341    22584215.502
+      1330.252        1036.560          51.000          44.000
+ -20696384.30443 -16123822.32442  21479381.516    21479385.044    21479381.007
+     -2789.049       -2173.285          53.000          47.000
+  -5076498.57943  -3928104.86842  24473917.189    24473919.321    24473915.948
+       920.191         717.032          48.000          40.000
+  -6020998.11343  -4682274.98242  24405851.683    24405855.511    24405850.648
+       441.021         343.653          45.000          39.000
+  -2345029.37543  -1814983.44442  24849631.502    24849636.837    24849631.911
+     -3662.090       -2853.577          41.000          35.000
+  -7764957.75643  -6004059.26942  23468667.701    23468669.401    23468666.112
+      2822.139        2199.069          48.000          41.000
+ -22244972.22143 -17322402.56042  20904233.664    20904236.291    20904232.924
+      -374.303        -291.665          56.000          50.000
+ 04  2  1 18 25 30.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21571442.54543 -16750075.71542  20700797.438    20700799.874    20700796.109
+      2002.577        1560.450          56.000          50.000
+ -23395417.25843 -18162336.12142  20893351.923    20893353.803    20893350.672
+      -688.880        -536.790          56.000          50.000
+   -578084.04843   -285023.84642  25086106.263    25086108.701    25086105.715
+     -1702.926       -1326.955          42.000          33.000
+ -11806707.31043  -9189936.07242  22576645.388    22576649.579    22576644.837
+      1321.736        1029.924          51.000          44.000
+ -20612546.91443 -16058494.47942  21495336.383    21495338.487    21495335.843
+     -2800.393       -2182.124          54.000          47.000
+  -5103958.16643  -3949501.91342  24468689.527    24468692.759    24468689.199
+       910.366         709.376          45.000          39.000
+  -6034008.51343  -4692412.94542  24403374.929    24403379.383    24403374.999
+       426.061         331.996          42.000          38.000
+  -2235175.07943  -1729382.74542  24870537.171    24870542.461    24870535.637
+     -3661.399       -2853.038          41.000          35.000
+  -7849452.90643  -6069899.65342  23452588.870    23452590.615    23452587.193
+      2810.638        2190.108          48.000          42.000
+ -22233598.55443 -17313539.95642  20906398.236    20906400.880    20906396.937
+      -384.127        -299.320          56.000          50.000
+ 04  2  1 18 26  0.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21631276.32743 -16796699.41942  20689411.258    20689413.718    20689410.177
+      1985.744        1547.333          56.000          50.000
+ -23374662.13844 -18146163.28742  20897302.000    20897303.097    20897300.370
+      -695.383        -541.857          57.000          50.000
+  -2102400.24953                  25095830.497                    25095829.449
+     -1704.348       -1328.063          43.000
+ -11846246.61543  -9220745.90042  22569121.721    22569124.689    22569121.397
+      1313.679        1023.646          50.000          44.000
+ -20528381.62143 -15992911.13242  21511352.194    21511355.378    21511351.662
+     -2811.246       -2190.581          54.000          47.000
+  -5131132.96143  -3970677.06242  24463519.057    24463522.544    24463517.449
+       900.692         701.838          45.000          39.000
+  -6046587.00043  -4702214.40342  24400982.501    24400985.254    24400981.328
+       411.534         320.676          43.000          37.000
+  -2125346.98143  -1643802.42042  24891437.351    24891440.386    24891436.678
+     -3660.644       -2852.450          40.000          35.000
+  -7933609.69743  -6135476.35242  23436574.390    23436577.277    23436573.748
+      2799.199        2181.194          49.000          42.000
+ -22221936.85643 -17304452.92442  20908617.097    20908620.211    20908615.924
+      -393.844        -306.891          56.000          50.000
+ 04  2  1 18 26 30.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21690604.52543 -16842929.15742  20678121.706    20678123.939    20678120.785
+      1969.003        1534.288          56.000          50.000
+ -23353716.45643 -18129841.97242  20901287.789    20901289.257    20901286.488
+      -701.411        -546.554          56.000          50.000
+                  -1432942.68752  25105564.141    25105571.044
+     -1706.276       -1329.566          38.000          32.000
+ -11885543.30843  -9251366.69642  22561643.865    22561647.180    22561642.994
+      1305.682        1017.415          50.000          44.000
+ -20443892.08343 -15927075.13442  21527429.896    21527433.060    21527429.423
+     -2821.760       -2198.774          54.000          47.000
+  -5158021.76843  -3991629.37142  24458402.038    24458405.197    24458402.011
+       891.512         694.685          46.000          39.000
+  -6058733.16443  -4711678.89042  24398670.364    24398674.320    24398668.444
+       397.727         309.917          42.000          37.000
+  -2015548.47543  -1558245.18842  24912331.219    24912337.466    24912332.518
+     -3659.636       -2851.664          40.000          35.000
+  -8017426.59243  -6200788.21442  23420624.432    23420626.639    23420624.146
+      2788.075        2172.526          48.000          42.000
+ -22209987.11543 -17295141.43742  20910891.042    20910894.070    20910890.209
+      -403.265        -314.232          56.000          50.000
+ 04  2  1 18 27  0.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21749424.57043 -16888762.94342  20666928.611    20666930.812    20666927.645
+      1951.669        1520.781          56.000          50.000
+ -23332580.51644 -18113372.39542  20905309.606    20905310.968    20905308.382
+      -708.162        -551.814          57.000          50.000
+  -2000043.88453                  25115309.010                    25115307.366
+     -1707.912       -1330.840          39.000
+ -11924596.55543  -9281797.79042  22554212.682    22554216.119    22554209.980
+      1297.155        1010.770          51.000          44.000
+ -20359079.57943 -15860987.47542  21543568.904    21543572.378    21543568.308
+     -2832.867       -2207.429          54.000          47.000
+  -5184621.11443  -4012356.12742  24453339.288    24453342.500    24453339.280
+       881.279         686.711          45.000          39.000
+  -6070443.72043  -4720803.98742  24396442.774    24396445.461    24396442.225
+       382.397         297.972          44.000          38.000
+  -1905780.73443  -1472711.94442  24933221.534    24933223.080    24933217.236
+     -3658.269       -2850.599          41.000          34.000
+  -8100899.46343  -6265831.99642  23404739.718    23404741.811    23404740.109
+      2776.100        2163.195          48.000          42.000
+ -22197746.76043 -17285603.49842  20913220.692    20913223.237    20913219.690
+      -413.295        -322.048          56.000          50.000
+ 04  2  1 18 27 30.0000000  0 10G18G21G25G15G30G26G29G 5G16G 6
+ -21807733.69743 -16934198.60842  20655832.560    20655834.961    20655831.333
+      1934.719        1507.573          56.000          50.000
+ -23311255.76043 -18096755.69342  20909367.591    20909368.981    20909366.663
+      -714.425        -556.695          56.000          50.000
+  -1948795.30653  -1353110.57552  25125060.514    25125066.877    25125060.422
+     -1707.160       -1330.254          36.000          32.000
+ -11963407.10543  -9312039.77242  22546825.562    22546829.885    22546824.773
+      1289.314        1004.660          50.000          44.000
+ -20273946.49843 -15794650.00442  21559769.239    21559772.310    21559768.571
+     -2843.457       -2215.681          54.000          47.000
+  -5210928.62243  -4032855.46242  24448333.352    24448339.068    24448333.919
+       871.615         679.181          45.000          39.000
+  -6081716.78843  -4729588.12942  24394295.869    24394299.693    24394295.458
+       367.690         286.512          42.000          37.000
+  -1796045.99143  -1387204.38442  24954101.425    24954104.774    24954100.630
+     -3657.247       -2849.803          39.000          34.000
+  -8184025.90043  -6330605.83042  23388921.408    23388923.709    23388921.164
+      2764.598        2154.232          47.000          41.000
+ -22185214.62843 -17275838.20242  20915605.274    20915608.208    20915604.131
+      -423.028        -329.632          56.000          50.000
+ 04  2  1 18 28  0.0000000  0  9G18G21G15G30G26G29G 5G16G 6
+ -21865530.87143 -16979235.34442  20644834.186    20644836.541    20644833.027
+      1918.036        1494.574          56.000          50.000
+ -23289744.42143 -18079993.60242  20913460.651    20913462.390    20913459.529
+      -720.032        -561.064          56.000          50.000
+ -12001976.43443  -9342093.78342  22539486.745    22539489.338    22539485.697
+      1281.751         998.767          51.000          44.000
+ -20188496.00943 -15728065.20142  21576030.368    21576033.120    21576029.745
+     -2853.551       -2223.546          54.000          47.000
+  -5236942.98643  -4053126.33742  24443384.858    24443385.458    24443382.594
+       862.527         672.099          45.000          38.000
+  -6092551.38043  -4738030.68242  24392233.334    24392237.051    24392231.258
+       354.129         275.945          41.000          36.000
+                  -1301724.36342  24974974.852    24974980.825
+     -3655.648       -2848.557          36.000          32.000
+  -8266803.74043  -6395108.02542  23373169.378    23373172.080    23373167.082
+      2753.491        2145.577          48.000          42.000
+ -22172390.24543 -17265845.17842  20918045.393    20918048.183    20918044.602
+      -432.322        -336.874          56.000          50.000
+ 04  2  1 18 28 30.0000000  0  9G18G21G15G30G26G29G 5G16G 6
+ -21922814.86543 -17023872.20142  20633933.882    20633935.665    20633932.343
+      1901.303        1481.535          56.000          50.000
+ -23268048.67244 -18063087.81742  20917589.940    20917591.026    20917588.379
+      -725.833        -565.584          57.000          50.000
+ -12040305.96043  -9371960.95042  22532193.073    22532196.787    22532191.248
+      1273.931         992.674          51.000          44.000
+ -20102731.63243 -15661235.80542  21592350.807    21592353.755    21592350.246
+     -2863.716       -2231.467          54.000          47.000
+  -5262662.61443  -4073167.59842  24438490.973    24438493.350    24438490.008
+       852.718         664.456          45.000          38.000
+  -6102946.68443  -4746130.87542  24390255.740    24390260.858    24390256.054
+       339.530         264.569          43.000          38.000
+  -9453786.46853  -7354274.96452  24995844.510    24995850.880    24995848.393
+     -3654.828       -2847.918          38.000          32.000
+  -8349231.31143  -6459337.30042  23357483.797    23357486.246    23357483.143
+      2742.070        2136.678          49.000          42.000
+ -22159273.22343 -17255624.12842  20920541.324    20920544.219    20920540.435
+      -441.699        -344.181          56.000          50.000
+ 04  2  1 18 29  0.0000000  0  9G18G21G15G30G26G29G 5G16G 6
+ -21979582.93843 -17068107.05142  20623130.961    20623132.805    20623129.536
+      1883.935        1468.001          56.000          50.000
+ -23246169.36843 -18046039.00442  20921753.167    20921754.497    20921751.599
+      -732.046        -570.425          56.000          50.000
+ -12078395.71243  -9401641.26642  22524945.160    22524948.875    22524944.250
+      1265.986         986.482          51.000          44.000
+ -20016655.03243 -15594163.13742  21608730.732    21608733.544    21608730.022
+     -2874.126       -2239.579          54.000          47.000
+  -5288084.53843  -4092976.86342  24433652.389    24433655.284    24433652.277
+       842.518         656.508          46.000          39.000
+  -6112900.18443  -4753886.82242  24388361.218    24388365.826    24388361.862
+       324.710         253.021          43.000          37.000
+  -9344166.52453  -7268856.82652  25016704.529    25016702.267    25016699.474
+     -3653.590       -2846.953          36.000          31.000
+  -8431305.28443  -6523291.02642  23341865.455    23341867.614    23341864.691
+      2730.121        2127.367          48.000          42.000
+ -22145861.54943 -17245173.46942  20923093.746    20923096.911    20923092.824
+      -451.779        -352.035          56.000          50.000
+ 04  2  1 18 29 30.0000000  0  8G18G21G15G30G26G29G16G 6
+ -22035835.96643 -17111940.56042  20612426.459    20612428.498    20612425.089
+      1865.968        1454.001          56.000          50.000
+ -23224110.20343 -18028850.03142  20925951.116    20925952.127    20925949.414
+      -738.877        -575.748          56.000          50.000
+ -12116248.90743  -9431137.25242  22517741.321    22517744.745    22517739.474
+      1257.146         979.594          50.000          44.000
+ -19930271.31643 -15526851.15842  21625168.198    21625172.153    21625167.582
+     -2885.142       -2248.162          53.000          47.000
+  -5313209.13343  -4112554.45442  24428871.434    24428875.944    24428870.047
+       832.047         648.348          46.000          39.000
+  -6122412.45543  -4761298.98942  24386551.432    24386555.894    24386550.144
+       309.646         241.283          43.000          37.000
+  -8513025.25943  -6586968.89042  23326314.164    23326316.838    23326313.732
+      2717.405        2117.458          48.000          42.000
+ -22132156.46643 -17234494.18542  20925701.675    20925704.646    20925700.328
+      -462.251        -360.195          56.000          50.000
+ 04  2  1 18 30  0.0000000  0  8G18G21G15G30G26G29G16G 6
+ -22091567.94343 -17155368.06042  20601820.751    20601823.256    20601819.570
+      1849.340        1441.044          56.000          50.000
+ -23201869.13643 -18011519.32742  20930183.035    20930184.359    20930181.884
+      -744.216        -579.908          56.000          50.000
+ -12153862.60643  -9460446.61742  22510583.296    22510587.099    22510581.620
+      1249.506         973.641          50.000          44.000
+ -19843579.09243 -15459298.77942  21641665.491    21641668.483    21641664.875
+     -2894.630       -2255.556          53.000          47.000
+  -5338030.34343  -4131895.64042  24424146.556    24424150.872    24424147.276
+       822.539         640.939          45.000          39.000
+  -6131478.40443  -4768363.29242  24384827.513    24384829.801    24384826.955
+       294.836         229.742          45.000          37.000
+  -8594384.87643  -6650365.96742  23310832.985    23310833.419    23310830.597
+      2706.296        2108.802          49.000          42.000
+ -22118152.95143 -17223582.36742  20928366.653    20928369.176    20928365.444
+      -471.621        -367.497          56.000          50.000
+ 04  2  1 18 30 30.0000000  0  8G18G21G15G30G26G29G16G 6
+ -22146775.94943 -17198387.26542  20591315.623    20591317.148    20591314.364
+      1831.496        1427.140          56.000          50.000
+ -23179446.38843 -17994047.04242  20934450.340    20934451.287    20934448.691
+      -750.462        -584.775          56.000          50.000
+ -12191236.61343  -9489569.21042  22503471.799    22503475.929    22503470.041
+      1241.884         967.702          51.000          44.000
+ -19756579.97443 -15391507.26042  21658221.305    21658223.980    21658220.192
+     -2905.123       -2263.732          53.000          47.000
+  -5362544.93043  -4150997.88742  24419483.412    24419485.769    24419483.021
+       811.979         632.711          46.000          39.000
+  -6140094.97743  -4775077.50742  24383188.485    24383191.232    24383187.613
+       279.461         217.762          46.000          39.000
+  -8675380.45343  -6713479.40142  23295419.126    23295420.936    23295417.554
+      2693.723        2099.005          48.000          42.000
+ -22103848.92343 -17212436.37242  20931088.953    20931091.324    20931087.713
+      -481.980        -375.569          56.000          50.000
+ 04  2  1 18 31  0.0000000  0  8G18G21G15G30G26G29G16G 6
+ -22201465.09043 -17241002.15242  20580908.549    20580910.142    20580907.143
+      1813.314        1412.972          56.000          50.000
+ -23156850.85443 -17976440.12842  20938749.553    20938750.892    20938748.305
+      -757.095        -589.944          56.000          50.000
+ -12228378.43243  -9518510.88342  22496403.831    22496408.876    22496402.598
+      1233.357         961.057          51.000          45.000
+ -19669283.50243 -15323484.04442  21674832.058    21674836.342    21674832.000
+     -2915.715       -2271.986          52.000          46.000
+  -5386757.70543  -4169864.99742  24414873.860    24414880.038    24414874.602
+       800.974         624.136          44.000          39.000
+  -6148267.54043  -4781445.73342  24381629.632    24381636.163    24381631.078
+       264.511         206.112          44.000          38.000
+  -8756016.56843  -6776312.72442  23280074.822    23280077.485    23280073.860
+      2680.903        2089.015          48.000          42.000
+ -22089250.20043 -17201060.74142  20933866.799    20933869.799    20933865.655
+      -492.522        -383.783          56.000          50.000
+ 04  2  1 18 31 30.0000000  0  8G18G21G15G30G26G29G16G 6
+ -22255629.04743 -17283207.81442  20570601.261    20570603.232    20570599.945
+      1797.740        1400.836          56.000          50.000
+ -23134079.07444 -17958695.87642  20943083.165    20943084.474    20943081.738
+      -760.950        -592.948          57.000          50.000
+ -12265284.02943  -9547268.47342  22489381.335    22489384.336    22489379.532
+      1227.322         956.355          51.000          44.000
+ -19581687.41943 -15255227.37042  21691501.427    21691504.871    21691500.688
+     -2923.761       -2278.255          53.000          47.000
+  -5410661.81743  -4188491.54442  24410327.119    24410329.749    24410324.920
+       792.822         617.783          45.000          39.000
+  -6155989.74743  -4787463.03042  24380162.742    24380167.102    24380161.476
+       250.299         195.038          43.000          37.000
+  -8836285.52343  -6838859.96042  23264800.817    23264802.300    23264798.700
+      2670.404        2080.834          49.000          42.000
+ -22074350.66043 -17189450.71642  20936701.860    20936704.480    20936700.950
+      -500.691        -390.149          56.000          50.000
+ 04  2  1 18 32  0.0000000  0  8G18G21G15G30G26G29G16G 6
+ -22309267.86943 -17325004.27242  20560393.556    20560396.091    20560392.620
+      1778.867        1386.130          56.000          50.000
+ -23111134.38544 -17940816.88742  20947449.600    20947450.595    20947448.254
+      -767.993        -598.436          57.000          50.000
+ -12301956.43843  -9575844.35942  22482402.734    22482407.485    22482401.394
+      1218.151         949.208          51.000          45.000
+ -19493796.44643 -15186740.89842  21708226.962    21708230.712    21708226.427
+     -2934.957       -2286.979          53.000          47.000
+  -5434257.03643  -4206877.42042  24405836.453    24405839.643    24405835.995
+       780.875         608.474          46.000          39.000
+  -6163262.09243  -4793129.73942  24378777.764    24378784.296    24378778.192
+       234.786         182.950          44.000          37.000
+  -8916186.81843  -6901120.68742  23249595.559    23249598.107    23249595.409
+      2656.889        2070.303          49.000          42.000
+ -22059151.34243 -17177607.09942  20939594.011    20939597.296    20939593.126
+      -511.994        -398.956          56.000          50.000
+ 04  2  1 18 32 30.0000000  0  8G18G21G15G30G26G29G16G 6
+ -22362378.53143 -17366389.17442  20550286.716    20550289.531    20550285.636
+      1760.823        1372.070          56.000          50.000
+ -23088016.88244 -17922803.23742  20951848.543    20951849.617    20951847.565
+      -774.234        -603.299          57.000          50.000
+ -12338394.82543  -9604237.88442  22475468.380    22475472.239    22475466.819
+      1209.887         942.769          51.000          44.000
+ -19405611.56943 -15118025.41442  21725007.795    21725012.025    21725006.940
+     -2945.254       -2295.003          53.000          47.000
+  -5457539.77843  -4225019.78742  24401406.070    24401409.366    24401405.588
+       770.107         600.083          46.000          40.000
+  -6170081.37243  -4798443.47542  24377480.385    24377484.485    24377480.093
+       218.933         170.597          45.000          38.000
+  -8995716.48743  -6963091.84342  23234462.200    23234464.041    23234461.169
+      2643.884        2060.169          49.000          42.000
+ -22043649.43943 -17165527.69242  20942543.911    20942546.868    20942542.994
+      -522.565        -407.193          56.000          50.000
+ 04  2  1 18 33  0.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -22414960.38243 -17407362.01942  20540280.964    20540283.395    20540279.986
+      1743.966        1358.935          56.000          50.000
+ -23064729.53344 -17904657.24442  20956280.348    20956281.189    20956278.673
+      -778.941        -606.967          57.000          50.000
+ -12374601.54943  -9632450.86742  22468578.445    22468581.852    22468577.386
+      1202.871         937.302          51.000          44.000
+ -19317136.79443 -15049084.03042  21741843.372    21741847.953    21741843.212
+     -2953.972       -2301.796          53.000          47.000
+  -5480509.34443  -4242918.09742  24397035.113    24397037.638    24397033.687
+       760.291         592.435          47.000          40.000
+  -6176447.57443  -4803404.16942  24376270.783    24376271.692    24376268.098
+       204.354         159.237          45.000          38.000
+  -9074873.42943  -7024772.56742  23219398.367    23219398.717    23219397.865
+      2632.266        2051.116          49.000          42.000
+ -22027845.27243 -17153212.76642  20945551.157    20945554.170    20945550.404
+      -531.855        -414.432          56.000          50.000
+  -1338530.59053   -985079.85052  25016573.902    25016579.121    25016574.867
+      3833.612        2987.230          42.000          37.000
+ 04  2  1 18 33 30.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -22467009.57343 -17447919.81242  20530376.140    20530378.679    20530375.246
+      1726.185        1345.079          56.000          50.000
+ -23041271.90843 -17886378.56742  20960743.841    20960744.852    20960742.646
+      -784.559        -611.345          56.000          50.000
+ -12410575.45743  -9660482.45242  22461732.998    22461736.431    22461731.607
+      1195.428         931.502          51.000          44.000
+ -19228372.97443 -14979917.41942  21758735.044    21758738.224    21758735.104
+     -2963.365       -2309.115          53.000          46.000
+  -5503161.74043  -4260569.34442  24392723.958    24392728.522    24392724.697
+       749.971         584.393          48.000          40.000
+  -6182357.11643  -4808008.99242  24375145.262    24375148.505    24375144.783
+       189.199         147.428          43.000          38.000
+  -9153653.25143  -7086159.42242  23204407.822    23204411.427    23204406.674
+      2619.816        2041.415          49.000          42.000
+ -22011735.96443 -17140660.06042  20948617.112    20948620.457    20948616.072
+      -541.863        -422.231          56.000          50.000
+  -1453527.21743  -1074687.51642  24994692.652    24994696.887    24994690.697
+      3833.532        2987.168          42.000          38.000
+ 04  2  1 18 34  0.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -22518530.50843 -17488065.96842  20520572.400    20520574.479    20520571.297
+      1708.310        1331.151          56.000          50.000
+ -23017651.18943 -17867972.81142  20965238.793    20965239.833    20965237.359
+      -790.369        -615.872          56.000          50.000
+ -12446322.95943  -9688337.61142  22454930.815    22454934.284    22454928.658
+      1187.649         925.441          51.000          44.000
+ -19139328.17643 -14910531.85342  21775679.590    21775683.417    21775678.985
+     -2973.145       -2316.736          53.000          46.000
+  -5525500.72443  -4277976.28542  24388472.737    24388477.165    24388473.230
+       739.226         576.020          48.000          40.000
+  -6187814.42143  -4812261.38042  24374105.336    24374109.756    24374105.062
+       173.847         135.465          43.000          38.000
+  -9232058.74843  -7147254.59942  23189486.731    23189491.245    23189486.299
+      2607.032        2031.454          48.000          42.000
+ -21995326.01143 -17127873.08942  20951739.581    20951742.390    20951738.621
+      -552.324        -430.382          56.000          50.000
+  -1568511.46843  -1164285.52442  24972812.339    24972816.232    24972811.010
+      3832.546        2986.399          44.000          38.000
+ 04  2  1 18 34 30.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -22569512.44343 -17527792.12942  20510870.745    20510872.911    20510869.713
+      1690.464        1317.245          56.000          50.000
+ -22993860.40943 -17849434.53742  20969765.694    20969766.880    20969764.652
+      -795.784        -620.091          56.000          50.000
+ -12481836.19543  -9716010.22742  22448172.243    22448176.505    22448171.331
+      1179.912         919.412          50.000          44.000
+ -19049996.54543 -14840922.78942  21792679.249    21792682.940    21792679.283
+     -2982.431       -2323.972          53.000          47.000
+  -5547515.13043  -4295130.33942  24384283.902    24384286.104    24384282.748
+       728.370         567.561          47.000          40.000
+  -6192808.89143  -4816153.18442  24373157.770    24373160.056    24373155.102
+       158.649         123.623          45.000          39.000
+  -9310078.87243  -7208049.50242  23174640.496    23174641.269    23174638.730
+      2594.390        2021.603          49.000          43.000
+ -21978605.48843 -17114844.11442  20954921.739    20954924.284    20954920.734
+      -562.454        -438.276          56.000          50.000
+  -1683472.07943  -1253865.11342  24950935.325    24950939.466    24950933.771
+      3831.833        2985.844          44.000          38.000
+ 04  2  1 18 35  0.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -22619968.08143 -17567108.18942  20501269.581    20501271.630    20501268.259
+      1673.003        1303.639          56.000          50.000
+ -22969914.56743 -17830775.43542  20974323.080    20974323.770    20974321.542
+      -800.883        -624.065          56.000          50.000
+ -12517130.53743  -9743512.26642  22441455.875    22441459.655    22441454.594
+      1172.703         913.795          51.000          44.000
+ -18960394.89743 -14771103.32742  21809730.609    21809732.917    21809729.135
+     -2991.158       -2330.772          53.000          46.000
+  -5569217.49043  -4312041.25142  24380154.173    24380159.633    24380153.500
+       718.085         559.547          47.000          40.000
+  -6197353.79243  -4819694.58242  24372291.466    24372295.928    24372290.995
+       144.039         112.238          45.000          39.000
+  -9387725.39743  -7268553.27542  23159865.124    23159866.210    23159865.060
+      2582.047        2011.985          49.000          43.000
+ -21961587.62843 -17101583.44242  20958159.744    20958162.856    20958158.845
+      -572.342        -445.981          56.000          50.000
+  -1798421.01543  -1343435.60142  24929060.594    24929065.614    24929059.542
+      3831.516        2985.597          43.000          38.000
+ 04  2  1 18 35 30.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -22669881.00143 -17606001.34942  20491771.296    20491773.368    20491770.119
+      1654.864        1289.504          56.000          50.000
+ -22945800.59643 -17811985.32442  20978911.226    20978912.313    20978910.375
+      -806.425        -628.383          56.000          50.000
+ -12552191.45443  -9770832.43542  22434783.681    22434787.837    22434782.323
+      1164.929         907.737          51.000          44.000
+ -18870510.80643 -14701063.77142  21826834.284    21826837.124    21826834.111
+     -3000.655       -2338.173          53.000          46.000
+  -5590590.63943  -4328695.64342  24376085.549    24376089.529    24376085.498
+       707.154         551.029          47.000          40.000
+  -6201432.36843  -4822872.70142  24371516.306    24371519.882    24371515.037
+       128.195          99.892          43.000          38.000
+  -9464980.62943  -7328752.15542  23145164.137    23145165.950    23145162.499
+      2568.638        2001.536          49.000          43.000
+ -21944256.11543 -17088078.37142  20961457.772    20961460.972    20961457.082
+      -582.799        -454.129          56.000          50.000
+  -1913340.70543  -1432983.30942  24907192.928    24907197.804    24907191.877
+      3830.366        2984.701          44.000          38.000
+ 04  2  1 18 36  0.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -22719251.90043 -17644472.16442  20482376.276    20482378.308    20482375.136
+      1636.646        1275.309          56.000          50.000
+ -22921522.65744 -17793067.44142  20983531.737    20983532.442    20983530.178
+      -811.937        -632.678          57.000          50.000
+ -12587022.76443  -9797973.68142  22428155.874    22428160.309    22428154.087
+      1157.289         901.784          51.000          44.000
+ -18780349.58543 -14630808.28142  21843991.542    21843994.854    21843991.020
+     -3009.956       -2345.420          53.000          46.000
+  -5611635.15743  -4345093.98242  24372081.809    24372086.096    24372081.400
+       696.407         542.655          47.000          40.000
+  -6205045.95743  -4825688.51842  24370826.144    24370830.892    24370826.745
+       112.802          87.898          41.000          37.000
+  -9541844.98643  -7388646.45442  23130536.599    23130538.441    23130536.860
+      2555.708        1991.461          49.000          42.000
+ -21926612.70343 -17074330.26042  20964815.374    20964818.367    20964814.692
+      -593.264        -462.284          56.000          50.000
+  -2028231.37343  -1522508.41042  24885328.226    24885335.045    24885327.775
+      3829.322        2983.887          44.000          38.000
+ 04  2  1 18 36 30.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -22768084.01643 -17682523.14142  20473083.636    20473086.150    20473082.667
+      1618.461        1261.138          56.000          50.000
+ -22897087.14843 -17774026.77642  20988180.977    20988182.336    20988180.034
+      -817.368        -636.910          56.000          50.000
+ -12621630.01543  -9824940.33142  22421570.436    22421574.837    22421568.441
+      1149.616         895.805          51.000          45.000
+ -18689918.74343 -14560342.68642  21861200.946    21861203.182    21861199.871
+     -3019.064       -2352.517          53.000          46.000
+  -5632354.02043  -4361238.52342  24368139.502    24368142.947    24368139.180
+       684.951         533.728          47.000          40.000
+  -6208197.83443  -4828144.50742  24370227.893    24370231.368    24370227.077
+        97.060          75.631          42.000          37.000
+  -9618320.54743  -7448237.78742  23115984.532    23115987.142    23115983.117
+      2542.390        1981.083          49.000          42.000
+ -21908661.11543 -17060342.01442  20968231.574    20968234.514    20968230.904
+      -603.766        -470.467          56.000          50.000
+  -2143095.19543  -1612012.58142  24863470.720    24863476.168    24863470.110
+      3828.148        2982.972          43.000          38.000
+ 04  2  1 18 37  0.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -22816374.84543 -17720152.33942  20463894.359    20463896.582    20463893.266
+      1601.085        1247.599          56.000          51.000
+ -22872494.07244 -17754863.33442  20992861.132    20992862.117    20992859.923
+      -821.974        -640.499          57.000          50.000
+ -12656013.10943  -9851732.31842  22415027.102    22415032.039    22415025.797
+      1142.919         890.586          51.000          45.000
+ -18599219.66943 -14489668.08042  21878459.267    21878462.674    21878458.978
+     -3027.333       -2358.961          53.000          46.000
+  -5652743.93043  -4377126.75242  24364258.090    24364262.910    24364258.656
+       674.489         525.576          46.000          40.000
+  -6210885.55143  -4830238.83842  24369717.024    24369719.814    24369715.575
+        82.162          64.022          44.000          38.000
+  -9694403.64443  -7507523.29942  23101505.431    23101507.075    23101505.187
+      2529.939        1971.381          48.000          42.000
+ -21890399.18243 -17046111.93942  20971706.753    20971709.827    20971705.734
+      -613.482        -478.038          56.000          50.000
+  -2257928.54843  -1701493.02142  24841618.199    24841624.343    24841616.757
+      3828.183        2983.000          43.000          38.000
+ 04  2  1 18 37 30.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -22864122.17943 -17757358.03442  20454808.488    20454810.404    20454807.088
+      1583.000        1233.506          56.000          51.000
+ -22847744.33143 -17735577.81042  20997570.496    20997572.283    20997569.456
+      -827.141        -644.525          56.000          50.000
+ -12690172.17543  -9878349.74842  22408527.262    22408531.034    22408526.312
+      1135.655         884.926          51.000          45.000
+ -18508254.43043 -14418786.08242  21895769.687    21895773.393    21895768.796
+     -3036.120       -2365.808          53.000          46.000
+  -5672802.16743  -4392756.50342  24360443.538    24360445.992    24360441.889
+       663.592         517.085          47.000          40.000
+  -6213107.13043  -4831969.93942  24369293.085    24369296.452    24369292.674
+        66.932          52.155          43.000          38.000
+  -9770091.27743  -7566500.67642  23087102.918    23087104.894    23087101.619
+      2516.651        1961.027          48.000          43.000
+ -21871824.98343 -17031638.53842  20975241.790    20975244.331    20975240.334
+      -623.821        -486.094          56.000          50.000
+  -2372728.23643  -1790947.22042  24819773.719    24819778.767    24819772.455
+      3826.627        2981.787          44.000          38.000
+ 04  2  1 18 38  0.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -22911325.29343 -17794139.66042  20445825.790    20445827.882    20445824.675
+      1564.329        1218.958          56.000          51.000
+ -22822840.42043 -17716172.16542  21002310.013    21002311.017    21002308.585
+      -832.633        -648.805          56.000          50.000
+ -12724109.00643  -9904794.01542  22402069.333    22402073.236    22402068.526
+      1127.613         878.659          51.000          45.000
+ -18417026.72443 -14347699.57242  21913130.131    21913132.891    21913129.195
+     -3045.155       -2372.848          53.000          46.000
+  -5692527.85543  -4408127.17142  24356688.687    24356692.636    24356687.681
+       652.012         508.061          46.000          40.000
+  -6214862.29843  -4833337.53942  24368958.020    24368961.738    24368958.040
+        50.770          39.561          42.000          37.000
+  -9845381.95243  -7625168.71742  23072776.758    23072777.105    23072775.920
+      2503.348        1950.661          49.000          43.000
+ -21852938.73443 -17016921.98942  20978834.936    20978837.964    20978833.809
+      -634.770        -494.626          56.000          50.000
+  -2487492.90543  -1880374.14042  24797935.966    24797939.858    24797933.563
+      3824.977        2980.502          45.000          37.000
+ 04  2  1 18 38 30.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -22957984.39343 -17830497.38042  20436947.028    20436948.938    20436945.846
+      1546.384        1204.975          56.000          51.000
+ -22797784.90443 -17696648.38142  21007077.577    21007078.736    21007076.385
+      -837.544        -652.632          56.000          49.000
+ -12757825.75843  -9931066.78442  22395653.324    22395656.979    22395651.857
+      1120.425         873.058          51.000          45.000
+ -18325540.49743 -14276411.60642  21930539.329    21930542.000    21930537.496
+     -3053.758       -2379.552          53.000          46.000
+  -5711920.37343  -4423238.19742  24352998.510    24353003.439    24352998.368
+       641.235         499.664          47.000          40.000
+  -6216150.92243  -4834341.60442  24368712.797    24368717.207    24368713.905
+        35.131          27.375          43.000          37.000
+  -9920274.59343  -7683526.61942  23058524.665    23058526.292    23058522.724
+      2490.035        1940.287          49.000          42.000
+ -21833740.64643 -17001962.44142  20982488.117    20982491.395    20982487.341
+      -644.907        -502.525          56.000          50.000
+  -2602221.19843  -1969772.71642  24776103.154    24776106.011    24776099.924
+      3823.977        2979.722          45.000          37.000
+ 04  2  1 18 39  0.0000000  0  9G18G21G15G30G26G29G16G 6G23
+ -23004094.31843 -17866427.16542  20428172.562    20428174.544    20428171.321
+      1528.170        1190.782          56.000          51.000
+ -22772575.80843 -17677004.92242  21011874.700    21011875.821    21011873.608
+      -842.576        -656.553          56.000          49.000
+ -12791320.00943  -9957166.17642  22389279.456    22389282.658    22389278.255
+      1113.197         867.426          51.000          45.000
+ -18233795.14643 -14204921.71942  21947997.527    21948000.304    21947996.236
+     -3062.115       -2386.064          53.000          46.000
+  -5730974.42643  -4438085.52642  24349371.514    24349375.289    24349372.156
+       629.638         490.627          46.000          40.000
+  -6216968.34443  -4834978.57642  24368558.325    24368562.616    24368558.411
+        20.052          15.625          42.000          38.000
+  -9994763.39743  -7741569.81642  23044350.662    23044350.712    23044349.410
+      2476.473        1929.719          49.000          43.000
+ -21814226.25443 -16986756.41542  20986201.830    20986205.042    20986200.503
+      -655.461        -510.749          56.000          50.000
+  -2716907.32343  -2059138.44642  24754278.299    24754283.286    24754276.250
+      3822.354        2978.458          44.000          37.000
+ 04  2  1 18 39 30.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23049653.57643 -17901927.86642  20419502.933    20419504.824    20419501.934
+      1509.750        1176.429          56.000          51.000
+  -1224496.54153   -949147.02352  22888877.598    22888878.648    22888876.942
+      3353.716        2613.285          51.000          44.000
+ -22747214.40843 -17657242.78442  21016700.849    21016702.223    21016699.511
+      -847.582        -660.453          56.000          49.000
+ -12824592.49243  -9983092.77042  22382947.987    22382951.559    22382946.310
+      1105.682         861.570          51.000          45.000
+ -18141793.07443 -14133231.78642  21965504.403    21965507.160    21965503.945
+     -3070.675       -2392.734          52.000          46.000
+  -5749687.73243  -4452667.29642  24345811.180    24345814.838    24345810.157
+       618.595         482.022          47.000          40.000
+  -6217313.08443  -4835247.19642  24368492.481    24368495.039    24368491.826
+         3.770           2.938          42.000          37.000
+ -10068845.69143  -7799296.26642  23030252.689    23030253.798    23030251.150
+      2463.111        1919.307          49.000          43.000
+ -21794394.35943 -16971302.99242  20989975.804    20989978.925    20989974.767
+      -666.023        -518.979          56.000          50.000
+  -2831548.53143  -2148469.17542  24732464.535    24732466.297    24732462.393
+      3820.844        2977.281          45.000          37.000
+ 04  2  1 18 40  0.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23094665.53743 -17937002.10242  20410937.231    20410939.179    20410935.936
+      1491.360        1162.099          56.000          51.000
+  -1324989.15843  -1027452.92942  22869753.995    22869754.598    22869753.616
+      3346.177        2607.411          50.000          44.000
+ -22721706.93043 -17637366.82242  21021554.746    21021556.533    21021553.149
+      -852.629        -664.386          56.000          49.000
+ -12857648.69443 -10008850.82042  22376657.204    22376660.467    22376655.671
+      1098.429         855.919          51.000          45.000
+ -18049541.63543 -14061347.54342  21983059.052    21983062.955    21983058.507
+     -3079.139       -2399.329          52.000          46.000
+  -5768063.16543  -4466985.80242  24342315.388    24342317.270    24342314.276
+       607.119         473.080          47.000          40.000
+  -6217188.72843  -4835150.23642  24368514.928    24368519.470    24368513.137
+       -11.846          -9.231          42.000          37.000
+ -10142523.56243  -7856707.58842  23016231.985    23016233.808    23016231.055
+      2449.166        1908.441          49.000          43.000
+ -21774248.53543 -16955604.94942  20993808.914    20993812.082    20993807.971
+      -676.641        -527.253          55.000          50.000
+  -2946147.05043  -2237766.63042  24710656.563    24710658.904    24710655.580
+      3819.199        2975.999          45.000          37.000
+ 04  2  1 18 40 30.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23139126.69343 -17971647.14242  20402476.366    20402478.600    20402475.430
+      1472.708        1147.565          56.000          51.000
+  -1425254.56643  -1105581.78842  22850674.204    22850676.101    22850672.774
+      3338.120        2601.132          50.000          44.000
+ -22696053.07643 -17617376.79542  21026436.661    21026438.027    21026434.981
+      -857.773        -668.394          56.000          49.000
+ -12890487.71743 -10034439.64642  22370408.535    22370412.639    22370406.710
+      1090.909         850.059          51.000          45.000
+ -17957041.66543 -13989269.64542  22000661.187    22000664.974    22000660.594
+     -3087.641       -2405.954          52.000          46.000
+  -5786097.01443  -4481038.12742  24338882.741    24338886.350    24338882.592
+       595.076         463.696          46.000          40.000
+  -6216592.01943  -4834685.25742  24368629.422    24368633.646    24368630.660
+       -27.972         -21.796          44.000          38.000
+ -10215792.86943  -7913800.55642  23002288.539    23002291.229    23002287.601
+      2435.358        1897.681          49.000          43.000
+ -21753785.99343 -16939660.11342  20997703.098    20997706.416    20997702.048
+      -687.495        -535.710          56.000          50.000
+  -3060698.57343  -2327027.49442  24688856.676    24688860.520    24688857.329
+      3817.550        2974.714          45.000          37.000
+ 04  2  1 18 41  0.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23183034.40243 -18005860.92542  20394121.227    20394123.130    20394120.108
+      1455.172        1133.900          56.000          51.000
+  -1525289.06843  -1183530.73042  22831637.694    22831638.871    22831637.701
+      3331.422        2595.913          51.000          45.000
+ -22670252.83543 -17597272.71242  21031345.971    21031347.352    21031344.986
+      -861.581        -671.362          56.000          49.000
+ -12923109.20443 -10059858.95742  22364200.971    22364205.333    22364199.731
+      1084.593         845.137          51.000          45.000
+ -17864294.72743 -13916999.30242  22018310.659    22018314.092    22018309.810
+     -3094.875       -2411.591          52.000          46.000
+  -5803786.12543  -4494821.83842  24335516.523    24335519.921    24335515.752
+       584.550         455.494          46.000          39.000
+  -6215520.76243  -4833850.50042  24368834.903    24368835.985    24368833.746
+       -42.838         -33.380          44.000          38.000
+ -10288650.07543  -7970572.40542  22988423.804    22988427.756    22988423.892
+      2422.444        1887.619          48.000          43.000
+ -21733004.56943 -16923466.80142  21001657.984    21001661.052    21001656.743
+      -697.317        -543.364          56.000          50.000
+  -3175199.34043  -2416248.78242  24667068.061    24667071.841    24667067.300
+      3816.621        2973.990          44.000          38.000
+ 04  2  1 18 41 30.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23226390.00743 -18039644.48942  20385870.720    20385873.149    20385869.735
+      1435.714        1118.738          56.000          51.000
+  -1625092.43543  -1261299.56042  22812646.106    22812647.794    22812645.364
+      3322.588        2589.030          51.000          45.000
+ -22644310.29643 -17577057.73942  21036283.126    21036284.508    21036281.685
+      -867.422        -675.913          56.000          49.000
+ -12955516.81443 -10085111.63142  22358033.827    22358037.431    22358032.283
+      1076.561         838.879          51.000          45.000
+ -17771305.98043 -13844540.54542  22036006.414    22036009.415    22036005.692
+     -3103.907       -2418.629          53.000          46.000
+  -5821131.08343  -4508337.36342  24332214.207    24332220.223    24332214.584
+       572.022         445.731          45.000          39.000
+  -6213976.01943  -4832646.78642  24369126.409    24369130.758    24369126.494
+       -59.691         -46.512          41.000          38.000
+ -10361095.24743  -8027023.18942  22974638.312    22974641.853    22974637.761
+      2407.732        1876.155          49.000          43.000
+ -21711905.55643 -16907026.01142  21005672.507    21005676.124    21005671.618
+      -708.781        -552.297          56.000          50.000
+  -3289649.15343  -2505430.38542  24645288.604    24645292.785    24645288.232
+      3813.694        2971.710          45.000          38.000
+ 04  2  1 18 42  0.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23269189.63343 -18072994.82942  20377726.696    20377728.641    20377725.070
+      1417.370        1104.444          56.000          51.000
+  -1724659.58043  -1338884.32642  22793698.539    22793700.052    22793697.761
+      3315.037        2583.146          51.000          45.000
+ -22618224.17943 -17556730.88742  21041246.823    21041248.373    21041245.589
+      -871.866        -679.376          56.000          49.000
+ -12987708.76143 -10110196.24642  22351907.140    22351911.380    22351906.640
+      1069.531         833.401          51.000          45.000
+ -17678075.49443 -13771893.40642  22053747.272    22053750.908    22053746.528
+     -3111.730       -2424.725          53.000          46.000
+  -5838127.51443  -4521581.29342  24328983.111    24328985.439    24328980.133
+       560.899         437.064          46.000          40.000
+  -6211954.17043  -4831071.31642  24369513.404    24369516.344    24369512.574
+       -75.054         -58.484          44.000          38.000
+ -10433123.49743  -8083149.08942  22960932.785    22960933.576    22960931.773
+      2393.933        1865.402          49.000          43.000
+ -21690485.44443 -16890335.02042  21009749.097    21009752.141    21009747.958
+      -719.412        -560.581          56.000          50.000
+  -3404043.12043  -2594568.46642  24623519.705    24623524.758    24623517.923
+      3812.212        2970.555          45.000          38.000
+ 04  2  1 18 42 30.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23311433.15543 -18105911.84542  20369687.539    20369689.894    20369686.325
+      1398.709        1089.903          56.000          51.000
+  -1823989.53043  -1416284.26742  22774797.506    22774798.904    22774797.381
+      3306.856        2576.771          51.000          45.000
+ -22591997.45043 -17536294.46442  21046237.618    21046238.685    21046236.316
+      -876.685        -683.131          56.000          49.000
+ -13019687.39643 -10135114.64842  22345823.095    22345825.552    22345820.850
+      1062.302         827.768          52.000          45.000
+ -17584607.68343 -13699061.33142  22071533.237    22071536.781    22071532.779
+     -3119.665       -2430.908          52.000          45.000
+  -5854775.10743  -4534553.45542  24325813.492    24325818.508    24325813.415
+       549.106         427.875          46.000          39.000
+  -6209455.48443  -4829124.29442  24369990.140    24369992.208    24369988.689
+       -91.529         -71.321          44.000          38.000
+ -10504733.85443  -8138949.36542  22947305.284    22947306.899    22947303.900
+      2379.930        1854.491          50.000          43.000
+ -21668744.88143 -16873394.32042  21013885.939    21013889.322    21013885.016
+      -730.113        -568.919          56.000          50.000
+  -3518380.16643  -2683662.18742  24601761.407    24601765.811    24601761.909
+      3810.129        2968.932          44.000          38.000
+ 04  2  1 18 43  0.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23353120.48343 -18138395.45542  20361754.850    20361756.927    20361753.798
+      1380.631        1075.816          56.000          51.000
+  -1923081.14343  -1493498.48442  22755940.671    22755942.346    22755939.656
+      3299.308        2570.889          51.000          45.000
+ -22565632.62843 -17515750.43742  21051254.712    21051255.681    21051253.446
+      -880.831        -686.362          56.000          49.000
+ -13051455.03043 -10159868.62842  22339777.672    22339780.323    22339775.755
+      1055.707         822.629          52.000          45.000
+ -17490906.21543 -13626047.19142  22089364.526    22089367.723    22089363.943
+     -3126.909       -2436.552          52.000          45.000
+  -5871073.23943  -4547253.27842  24322711.361    24322715.310    24322712.002
+       537.827         419.086          46.000          39.000
+  -6206480.52243  -4826806.13642  24370555.483    24370557.196    24370555.207
+      -106.696         -83.140          44.000          38.000
+ -10575925.19943  -8194423.12042  22933757.243    22933759.719    22933755.358
+      2366.470        1844.003          50.000          43.000
+ -21646684.12643 -16856204.12542  21018084.151    21018086.839    21018083.359
+      -740.503        -577.015          56.000          50.000
+  -3632659.00643  -2772710.54342  24580015.751    24580020.578    24580013.459
+      3808.259        2967.474          43.000          38.000
+ 04  2  1 18 43 30.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23394249.25343 -18170443.83442  20353928.113    20353930.264    20353927.189
+      1361.624        1061.006          56.000          51.000
+  -2021930.36843  -1570523.82242  22737130.444    22737132.238    22737129.015
+      3290.799        2564.259          51.000          45.000
+ -22539129.80843 -17495098.88342  21056298.279    21056299.047    21056297.053
+      -885.725        -690.175          56.000          49.000
+ -13083011.48543 -10184458.06842  22333771.529    22333776.606    22333770.732
+      1048.468         816.988          51.000          45.000
+ -17396972.83943 -13552852.35042  22107239.431    22107242.468    22107238.345
+     -3135.002       -2442.859          51.000          45.000
+  -5887018.82843  -4559678.39442  24319678.042    24319680.781    24319677.487
+       525.667         409.611          47.000          40.000
+  -6203026.54743  -4824114.71942  24371211.500    24371214.422    24371210.744
+      -123.250         -96.039          44.000          38.000
+ -10646694.16143  -8249567.76942  22920291.847    22920293.559    22920289.980
+      2352.060        1832.774          50.000          43.000
+ -21624300.98443 -16838762.72042  21022343.688    21022346.621    21022342.659
+      -751.435        -585.534          56.000          50.000
+  -3746876.00343  -2861710.68942  24558280.817    24558284.742    24558279.792
+      3806.042        2965.747          44.000          38.000
+ 04  2  1 18 44  0.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23434818.91143 -18202056.53342  20346208.072    20346210.239    20346206.879
+      1343.029        1046.516          56.000          51.000
+  -2120534.74943  -1647358.38642  22718365.733    22718368.001    22718365.499
+      3282.815        2558.038          51.000          45.000
+ -22512490.51943 -17474340.98842  21061367.654    21061368.360    21061365.995
+      -890.066        -693.558          56.000          49.000
+ -13114357.78343 -10208883.74142  22327807.781    22327810.784    22327806.570
+      1041.572         811.615          52.000          45.000
+ -17302810.34743 -13479478.98242  22125157.707    22125160.339    22125157.453
+     -3142.585       -2448.767          51.000          45.000
+  -5902610.25843  -4571827.52142  24316711.595    24316715.484    24316711.216
+       514.057         400.564          47.000          40.000
+  -6199092.78743  -4821049.41342  24371960.800    24371962.368    24371960.674
+      -138.801        -108.157          44.000          38.000
+ -10717038.42243  -8304381.47042  22906905.116    22906906.362    22906903.888
+      2337.946        1821.776          50.000          43.000
+ -21601594.61643 -16821069.44842  21026664.042    21026667.337    21026662.857
+      -762.031        -593.790          56.000          50.000
+  -3861028.73943  -2950660.76242  24536557.837    24536562.755    24536557.219
+      3803.776        2963.981          43.000          38.000
+ 04  2  1 18 44 30.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23474826.04843 -18233230.91042  20338595.185    20338596.992    20338593.898
+      1325.013        1032.478          56.000          51.000
+  -2218890.23943  -1723999.00742  22699650.542    22699651.510    22699649.681
+      3274.935        2551.897          52.000          45.000
+ -22485714.57643 -17453476.61342  21066462.393    21066463.994    21066461.303
+      -893.993        -696.618          56.000          49.000
+ -13145492.98643 -10233144.92142  22321881.708    22321885.974    22321880.458
+      1035.004         806.497          51.000          45.000
+ -17208419.56443 -13405927.70842  22143120.056    22143122.640    22143119.648
+     -3149.320       -2454.015          51.000          45.000
+  -5917843.82743  -4583697.83042  24313812.581    24313815.874    24313811.663
+       502.811         391.801          48.000          40.000
+  -6194676.34543  -4817608.00642  24372799.269    24372804.452    24372798.543
+      -154.310        -120.241          42.000          38.000
+ -10786953.90643  -8358861.04142  22893601.159    22893601.979    22893599.774
+      2324.116        1810.999          51.000          44.000
+ -21578562.38843 -16803122.26142  21031046.961    21031050.293    21031046.273
+      -772.223        -601.732          56.000          50.000
+  -3975112.84143  -3039557.34942  24514850.751    24514853.222    24514848.114
+      3802.318        2962.845          43.000          38.000
+ 04  2  1 18 45  0.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23514275.23943 -18263970.52242  20331088.061    20331089.962    20331086.963
+      1305.265        1017.090          56.000          51.000
+  -2316999.70243  -1800447.92742  22680981.599    22680981.725    22680980.050
+      3265.829        2544.802          52.000          45.000
+ -22458808.56343 -17432510.88842  21071582.902    21071583.835    21071581.620
+      -899.437        -700.860          56.000          49.000
+ -13176423.34343 -10257246.47442  22315996.517    22316000.619    22315995.262
+      1027.296         800.490          51.000          45.000
+ -17113808.65843 -13332204.93242  22161123.487    22161126.879    22161123.466
+     -3157.800       -2460.623          51.000          45.000
+  -5932723.32943  -4595292.19842  24310980.005    24310984.024    24310981.213
+       489.653         381.548          47.000          40.000
+  -6189781.57643  -4813793.89142  24373732.454    24373736.624    24373731.226
+      -171.482        -133.622          44.000          38.000
+ -10856443.81543  -8413009.02742  22880376.773    22880378.618    22880376.292
+      2308.796        1799.062          50.000          43.000
+ -21555208.66143 -16784924.55842  21035491.680    21035494.299    21035490.656
+      -784.234        -611.091          56.000          50.000
+  -4089131.22243  -3128402.73342  24493153.970    24493155.609    24493150.536
+      3798.984        2960.247          44.000          38.000
+ 04  2  1 18 45 30.0000000  0 11G18G22G21G25G15G30G26G29G16G 6G23
+ -23553157.70643 -18294268.52442  20323688.942    20323691.058    20323687.709
+      1286.160        1002.203          56.000          51.000
+  -2414852.73543  -1876697.01642  22662359.566    22662361.379    22662358.576
+      3257.072        2537.978          52.000          45.000
+ -22431766.37443 -17411439.05242  21076728.897    21076729.749    21076727.553
+      -904.114        -704.504          56.000          49.000
+                                  25477514.020
+     -1701.907       -1326.161          42.000
+ -13207142.55443 -10281183.49542  22310151.415    22310154.168    22310150.058
+      1020.132         794.908          52.000          45.000
+ -17018972.81943 -13258306.87742  22179169.429    22179172.887    22179169.246
+     -3165.456       -2466.589          50.000          44.000
+  -5947239.27143  -4606603.32342  24308219.476    24308221.639    24308219.100
+       477.226         371.864          47.000          40.000
+  -6184399.85543  -4809600.29442  24374756.734    24374758.655    24374755.764
+      -187.909        -146.422          44.000          38.000
+ -10925497.92043  -8466817.42542  22867236.737    22867239.883    22867235.753
+      2294.110        1787.618          50.000          44.000
+ -21531524.84243 -16766469.63342  21039998.333    21040001.208    21039997.037
+      -795.444        -619.826          56.000          50.000
+  -4203073.75543  -3217189.02242  24471470.654    24471473.911    24471468.972
+      3796.297        2958.154          45.000          39.000
+ 04  2  1 18 46  0.0000000  0 11G18G22G21G25G15G30G26G29G16G 6G23
+ -23591478.81843 -18324129.10642  20316396.924    20316398.990    20316395.759
+      1267.840         987.927          56.000          51.000
+  -2512453.58343  -1952749.59942  22643786.522    22643788.411    22643785.771
+      3248.845        2531.568          52.000          45.000
+ -22404596.08643 -17390267.39942  21081898.779    21081899.802    21081897.667
+      -908.015        -707.544          56.000          49.000
+   -743000.60053   -597342.66052  25487224.022    25487227.755    25487221.600
+     -1699.366       -1324.181          41.000          35.000
+ -13237658.32943 -10304961.98742  22304343.801    22304347.139    22304342.327
+      1013.605         789.822          51.000          45.000
+ -16923921.38443 -13184240.83742  22197257.897    22197261.783    22197257.324
+     -3172.169       -2471.820          51.000          45.000
+  -5961396.71343  -4617635.07142  24305523.305    24305529.874    24305522.748
+       465.652         362.846          46.000          39.000
+  -6178537.00943  -4805031.79342  24375872.831    24375874.134    24375872.209
+      -203.902        -158.885          44.000          37.000
+ -10994120.99843  -8520289.95042  22854178.150    22854179.989    22854177.415
+      2279.892        1776.539          51.000          44.000
+ -21507516.83843 -16747762.10242  21044566.711    21044569.746    21044565.835
+      -805.845        -627.931          56.000          50.000
+  -4316944.64343  -3305919.49542  24449800.611    24449804.586    24449799.187
+      3794.337        2956.626          45.000          39.000
+ 04  2  1 18 46 30.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23629237.16443 -18353551.17842  20309211.239    20309213.617    20309210.177
+      1249.524         973.655          56.000          51.000
+  -2609799.78443  -2028603.76642  22625262.273    22625263.341    22625262.024
+      3240.883        2525.363          52.000          45.000
+ -22377298.93843 -17368996.89642  21087093.613    21087094.228    21087092.462
+      -911.732        -710.440          56.000          49.000
+ -13267971.19143 -10328582.36942  22298575.750    22298578.834    22298574.112
+      1007.418         785.001          51.000          45.000
+ -16828657.11743 -13110008.93542  22215386.734    22215389.918    22215385.457
+     -3178.612       -2476.840          52.000          45.000
+  -5975193.77043  -4628386.00642  24302899.441    24302904.135    24302898.107
+       454.241         353.954          47.000          40.000
+  -6172191.78143  -4800087.43342  24377079.022    24377082.108    24377077.881
+      -219.191        -170.798          42.000          37.000
+ -11062310.46443  -8573424.59642  22841201.266    22841204.188    22841200.453
+      2266.109        1765.799          50.000          44.000
+ -21483183.63643 -16728801.17342  21049197.376    21049200.141    21049196.243
+      -816.206        -636.005          56.000          50.000
+  -4430741.20443  -3394592.05842  24428146.150    24428149.763    24428144.534
+      3792.035        2954.832          45.000          39.000
+ 04  2  1 18 47  0.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23666426.68543 -18382530.00342  20302134.828    20302136.626    20302133.575
+      1230.023         958.459          56.000          51.000
+  -2706883.51443  -2104253.40842  22606788.330    22606789.597    22606787.497
+      3231.497        2518.050          52.000          45.000
+ -22349871.18543 -17347624.61242  21092312.857    21092313.949    21092311.605
+      -916.490        -714.148          56.000          49.000
+ -13298077.02643 -10352041.42842  22292845.612    22292850.189    22292845.041
+       999.874         779.122          51.000          45.000
+ -16733177.44543 -13035609.17942  22233554.534    22233558.568    22233554.935
+     -3186.401       -2482.910          52.000          45.000
+  -5988623.55643  -4638850.78442  24300343.655    24300346.382    24300341.573
+       441.372         343.926          47.000          40.000
+  -6165358.25443  -4794762.66442  24378381.594    24378381.903    24378378.263
+      -236.018        -183.910          44.000          37.000
+ -11130059.06943  -8626215.71442  22828309.181    22828311.022    22828308.785
+      2250.789        1753.862          50.000          43.000
+ -21458519.15643 -16709582.10042  21053890.843    21053893.818    21053889.902
+      -827.876        -645.098          56.000          50.000
+  -4544455.78243  -3483200.75742  24406505.860    24406510.349    24406504.595
+      3789.135        2952.573          46.000          40.000
+ 04  2  1 18 47 30.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23703051.31043 -18411068.65242  20295165.102    20295166.869    20295164.040
+      1211.777         944.242          56.000          51.000
+  -2803707.55543  -2179700.69342  22588363.504    22588364.975    22588362.492
+      3223.705        2511.978          52.000          45.000
+ -22322318.86143 -17326155.26742  21097555.988    21097557.279    21097554.730
+      -920.017        -716.896          56.000          49.000
+ -13327981.69343 -10375343.73442  22287154.996    22287160.646    22287154.298
+       993.964         774.517          51.000          45.000
+ -16637490.11743 -12961047.63042  22251764.001    22251767.413    22251763.505
+     -3192.619       -2487.755          51.000          45.000
+  -6001689.35143  -4649031.90642  24297856.326    24297860.377    24297856.977
+       429.801         334.910          46.000          40.000
+  -6158040.50743  -4789060.49642  24379772.351    24379774.924    24379771.911
+      -251.594        -196.047          43.000          38.000
+ -11197369.66543  -8678665.51942  22815501.090    22815503.635    22815499.767
+      2236.977        1743.099          50.000          44.000
+ -21433527.51243 -16690108.09942  21058646.557    21058649.445    21058645.117
+      -838.062        -653.035          56.000          50.000
+  -4658090.93743  -3571747.56942  24384882.443    24384887.225    24384881.011
+      3786.956        2950.875          47.000          39.000
+ 04  2  1 18 48  0.0000000  0 10G18G22G21G15G30G26G29G16G 6G23
+ -23739106.40143 -18439163.51042  20288304.098    20288305.794    20288302.992
+      1192.294         929.060          56.000          51.000
+  -2900265.77743  -2254940.84342  22569988.413    22569990.037    22569987.910
+      3214.166        2504.545          51.000          45.000
+ -22294639.87943 -17304587.22842  21102823.124    21102824.097    21102821.530
+      -924.753        -720.587          56.000          49.000
+ -13357682.96943 -10398487.55342  22281504.263    22281508.498    22281502.590
+       986.734         768.884          51.000          45.000
+ -16541594.53843 -12886323.79342  22270012.485    22270015.886    22270011.628
+     -3200.058       -2493.552          51.000          45.000
+  -6014386.11543  -4658925.46742  24295441.435    24295444.666    24295439.027
+       416.796         324.776          47.000          40.000
+  -6150234.28443  -4782977.70142  24381256.032    24381260.250    24381256.275
+      -268.166        -208.960          42.000          38.000
+ -11264236.44343  -8730769.50142  22802775.299    22802778.437    22802775.705
+      2221.328        1730.905          49.000          44.000
+ -21408204.37543 -16670375.77942  21063464.774    21063468.001    21063464.077
+      -849.593        -662.020          56.000          50.000
+  -4771640.58043  -3660227.76042  24363274.117    24363278.472    24363272.823
+      3783.396        2948.101          46.000          39.000
+ 04  2  1 18 48 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23774594.46143 -18466816.52442  20281550.784    20281553.022    20281549.672
+      1174.153         914.924          56.000          51.000
+  -2996558.96543  -2329974.46042  22551664.972    22551666.344    22551663.379
+      3205.719        2497.963          52.000          45.000
+ -22266838.93043 -17282924.15142  21108113.603    21108114.462    21108111.864
+      -928.167        -723.247          56.000          49.000
+ -13387185.06543 -10421476.16442  22275889.900    22275893.483    22275887.940
+       980.681         764.167          51.000          45.000
+ -16445496.51843 -12811442.22242  22288298.572    22288303.226    22288298.204
+     -3205.841       -2498.058          51.000          45.000
+  -6026715.35043  -4668532.67242  24293095.031    24293099.617    24293094.489
+       405.420         315.912          48.000          40.000
+  -6141941.67843  -4776515.95742  24382837.323    24382839.378    24382836.181
+      -284.070        -221.353          45.000          38.000
+  -1030615.98453   -755956.44352  24421004.522    24421007.800    24421001.972
+      2800.957        2182.564          43.000          36.000
+ -11330660.38243  -8782528.40442  22790135.650    22790139.343    22790134.735
+      2207.217        1719.909          50.000          44.000
+ -21382552.06343 -16650386.97342  21068346.848    21068349.891    21068346.090
+      -859.971        -670.107          56.000          50.000
+  -4885105.40143  -3748641.87642  24341683.186    24341687.228    24341681.216
+      3780.905        2946.160          47.000          39.000
+ 04  2  1 18 49  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23809514.63243 -18494027.02442  20274905.452    20274907.748    20274904.478
+      1154.547         899.647          56.000          51.000
+  -3092584.75743  -2404799.73242  22533392.222    22533392.266    22533390.288
+      3196.191        2490.538          52.000          45.000
+ -22238917.82643 -17261167.44742  21113425.964    21113427.387    21113425.424
+      -932.833        -726.883          56.000          49.000
+ -13416489.37943 -10444310.65242  22270313.610    22270317.446    22270312.148
+       973.303         758.418          51.000          45.000
+ -16349199.30243 -12736405.44042  22306623.407    22306627.285    22306622.895
+     -3213.284       -2503.858          51.000          45.000
+  -6038675.89543  -4677852.57042  24290818.918    24290822.947    24290817.262
+       392.424         305.785          47.000          40.000
+  -6133162.43243  -4769674.95742  24384506.705    24384509.743    24384505.883
+      -300.839        -234.420          43.000          38.000
+  -1114446.81343   -821279.09942  24405051.155    24405055.113    24405051.635
+      2788.015        2172.479          42.000          36.000
+ -11396639.73843  -8833940.89442  22777581.211    22777583.706    22777580.725
+      2191.694        1707.814          50.000          44.000
+ -21356570.21143 -16630141.38042  21073290.799    21073294.055    21073290.120
+      -871.707        -679.252          56.000          49.000
+  -4998483.32443  -3836988.25842  24320107.491    24320110.828    24320105.300
+      3777.701        2943.663          46.000          39.000
+ 04  2  1 18 49 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23843861.12743 -18520790.50742  20268369.908    20268371.923    20268368.671
+      1135.968         885.170          56.000          51.000
+  -3188335.46243  -2479410.66042  22515170.514    22515170.991    22515169.565
+      3187.736        2483.950          52.000          46.000
+ -22210872.18143 -17239313.69642  21118763.807    21118764.408    21118762.160
+      -936.231        -729.531          56.000          49.000
+ -13445591.57643 -10466987.65642  22264775.893    22264778.351    22264774.121
+       967.500         753.896          52.000          45.000
+ -16252700.21843 -12661211.34042  22324987.506    22324990.968    22324987.780
+     -3219.321       -2508.562          52.000          45.000
+  -6050260.55143  -4686879.49642  24288614.128    24288619.196    24288613.008
+       380.700         296.649          47.000          41.000
+  -6123890.37943  -4762449.98642  24386270.798    24386274.275    24386269.232
+      -316.252        -246.430          44.000          38.000
+  -1197888.83143   -886298.85742  24389174.276    24389176.338    24389171.569
+      2775.545        2162.762          42.000          36.000
+ -11462167.07543  -8885001.15342  22765112.498    22765114.581    22765111.624
+      2177.392        1696.669          51.000          44.000
+ -21330252.64743 -16609634.19642  21078298.878    21078301.637    21078297.834
+      -882.229        -687.451          56.000          49.000
+  -5111766.40043  -3925260.75742  24298550.160    24298553.576    24298548.131
+      3775.240        2941.745          46.000          39.000
+ 04  2  1 18 50  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23877639.70143 -18547111.45242  20261942.210    20261944.105    20261940.589
+      1116.635         870.105          56.000          51.000
+  -3283815.97543  -2553811.04342  22497001.010    22497002.577    22497000.585
+      3178.293        2476.592          52.000          46.000
+ -22182710.41943 -17217369.45642  21124122.401    21124123.686    21124120.908
+      -940.441        -732.811          56.000          49.000
+ -13474499.71443 -10489513.43242  22259274.510    22259277.378    22259272.290
+       960.502         748.443          52.000          45.000
+ -16156009.28743 -12585867.75542  22343387.469    22343389.891    22343387.102
+     -3226.049       -2513.804          51.000          45.000
+  -6061474.94843  -4695618.01342  24286479.545    24286483.470    24286479.939
+       367.870         286.652          47.000          41.000
+  -6114131.82143  -4754845.87442  24388127.484    24388131.569    24388126.862
+      -333.096        -259.555          44.000          38.000
+  -1280946.72443   -951019.27142  24373366.837    24373371.478    24373366.402
+      2762.580        2152.660          42.000          35.000
+ -11527247.19143  -8935712.92942  22752727.170    22752729.725    22752725.800
+      2161.973        1684.654          50.000          44.000
+ -21303605.61943 -16588870.27942  21083369.530    21083372.871    21083368.837
+      -893.504        -696.237          56.000          49.000
+  -5224959.39943  -4013463.05742  24277010.952    24277014.839    24277011.447
+      3772.098        2939.297          45.000          39.000
+ 04  2  1 18 50 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23910845.68543 -18572986.22742  20255623.394    20255624.894    20255621.921
+      1097.244         854.995          56.000          51.000
+  -3379019.89643  -2627995.89442  22478884.825    22478885.520    22478884.031
+      3168.874        2469.252          52.000          46.000
+ -22154430.11944 -17195332.85642  21129504.142    21129505.101    21129502.847
+      -944.703        -736.132          57.000          49.000
+ -13503211.11643 -10511885.92142  22253810.949    22253813.992    22253809.029
+       953.711         743.151          52.000          45.000
+ -16059125.22143 -12510373.68742  22361823.114    22361827.180    22361822.342
+     -3232.689       -2518.978          51.000          44.000
+  -6072313.84343  -4704063.87742  24284417.325    24284422.462    24284416.113
+       354.903         276.548          47.000          41.000
+  -6103882.17043  -4746859.13642  24390077.946    24390081.239    24390076.951
+      -349.937        -272.678          44.000          39.000
+  -1363613.89843  -1015435.22742  24357636.474    24357640.221    24357635.228
+      2749.376        2142.371          43.000          35.000
+ -11591874.25643  -8986071.68742  22740429.386    22740431.581    22740427.637
+      2146.673        1672.732          50.000          44.000
+ -21276624.45943 -16567846.00542  21088503.963    21088507.119    21088502.957
+      -905.183        -705.337          56.000          49.000
+  -5338055.83243  -4101590.09742  24255489.119    24255492.893    24255487.697
+      3767.943        2936.059          45.000          39.000
+ 04  2  1 18 51  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23943479.66643 -18598415.28442  20249413.279    20249415.004    20249412.013
+      1077.969         839.976          56.000          51.000
+  -3473946.06643  -2701964.31542  22460821.171    22460822.346    22460820.229
+      3159.337        2461.821          53.000          46.000
+ -22126034.02643 -17173206.02242  21134907.813    21134909.137    21134906.284
+      -948.778        -739.307          56.000          49.000
+ -13531728.13843 -10534106.93542  22248384.427    22248387.724    22248382.905
+       947.039         737.952          52.000          45.000
+ -15962052.09943 -12434732.29542  22380295.216    22380298.631    22380294.127
+     -3239.324       -2524.148          50.000          44.000
+  -6082776.66743  -4712216.71142  24282425.920    24282431.313    24282426.674
+       342.124         266.590          47.000          41.000
+  -6093141.91143  -4738490.06942  24392120.285    24392125.955    24392119.205
+      -366.171        -285.328          44.000          38.000
+  -1445889.08443  -1079545.73542  24341982.096    24341983.772    24341980.403
+      2735.643        2131.670          46.000          37.000
+ -11656047.49543  -9036076.80142  22728218.232    22728219.246    22728216.469
+      2131.005        1660.523          50.000          44.000
+ -21249309.70343 -16546561.79842  21093701.964    21093705.126    21093700.786
+      -916.435        -714.105          56.000          49.000
+  -5451054.41943  -4189640.86742  24233985.842    24233990.703    24233984.617
+      3764.815        2933.622          45.000          39.000
+ 04  2  1 18 51 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -23975539.69343 -18623397.10842  20243312.354    20243314.166    20243311.015
+      1059.161         825.320          56.000          51.000
+  -3568591.01343  -2775713.59742  22442809.968    22442812.222    22442809.611
+      3150.044        2454.580          53.000          46.000
+ -22097522.25743 -17150989.05142  21140333.347    21140334.452    21140332.076
+      -952.361        -742.099          56.000          49.000
+ -13560050.49943 -10556176.27642  22242994.354    22242997.797    22242993.426
+       940.875         733.149          51.000          45.000
+ -15864791.73643 -12358944.98742  22398803.712    22398807.506    22398802.870
+     -3245.074       -2528.629          50.000          44.000
+  -6092860.80843  -4720074.45742  24280508.187    24280512.254    24280507.956
+       329.749         256.947          48.000          41.000
+  -6081909.39143  -4729737.45742  24394260.067    24394262.392    24394257.981
+      -382.489        -298.043          45.000          39.000
+  -1527768.78843  -1143348.10442  24326399.606    24326403.518    24326398.196
+      2722.613        2121.517          45.000          37.000
+ -11719763.56943  -9085725.68542  22716093.112    22716095.216    22716091.141
+      2116.394        1649.138          50.000          44.000
+ -21221659.51543 -16525016.19742  21098963.954    21098966.209    21098962.752
+      -927.188        -722.484          56.000          50.000
+  -5563951.73343  -4277612.74742  24212501.419    24212505.465    24212501.162
+      3761.308        2930.889          44.000          39.000
+ 04  2  1 18 52  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24007025.33843 -18647931.35642  20237320.708    20237322.761    20237319.459
+      1040.300         810.623          56.000          51.000
+  -3662952.78543  -2849242.24442  22424854.262    22424855.126    22424853.118
+      3140.971        2447.510          53.000          46.000
+ -22068896.56643 -17128683.31542  21145780.273    21145781.890    21145778.919
+      -955.913        -744.867          56.000          49.000
+ -13588179.79943 -10578095.18142  22237641.290    22237644.127    22237640.134
+       934.793         728.410          51.000          45.000
+ -15767347.43043 -12283014.34542  22417346.215    22417350.843    22417345.602
+     -3250.889       -2533.160          50.000          43.000
+  -6102565.33743  -4727636.42442  24278659.592    24278665.346    24278659.797
+       317.360         247.294          46.000          40.000
+  -6070184.33043  -4720601.03342  24396491.039    24396492.709    24396488.518
+      -398.468        -310.494          44.000          38.000
+  -1609250.88843  -1206840.66042  24310893.547    24310896.275    24310892.501
+      2709.966        2111.662          44.000          37.000
+ -11783020.91643  -9135017.12042  22704055.633    22704056.094    22704054.888
+      2101.387        1637.444          50.000          44.000
+ -21193673.54843 -16503208.95242  21104289.255    21104292.129    21104288.385
+      -937.913        -730.841          56.000          49.000
+  -5676745.75343  -4365504.12942  24191039.218    24191042.236    24191036.917
+      3758.506        2928.706          45.000          40.000
+ 04  2  1 18 52 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24037937.77843 -18672018.94942  20231437.999    20231440.146    20231436.831
+      1021.030         795.608          56.000          51.000
+  -3757030.80443  -2922549.75742  22406951.388    22406953.394    22406950.890
+      3131.374        2440.032          53.000          46.000
+ -22040160.21543 -17106291.34742  21151248.993    21151249.734    21151247.554
+      -959.508        -747.668          56.000          49.000
+ -13616118.79843 -10599865.79242  22232324.078    22232328.279    22232323.059
+       928.367         723.403          51.000          45.000
+ -15669723.63143 -12206943.84742  22435923.035    22435926.337    22435922.624
+     -3256.990       -2537.914          50.000          43.000
+  -6111890.69743  -4734902.95142  24276886.862    24276888.202    24276885.764
+       304.741         237.461          47.000          40.000
+  -6057968.07143  -4711081.84242  24398815.384    24398817.981    24398813.678
+      -415.309        -323.617          44.000          38.000
+  -1690334.65143  -1270022.79342  24295464.324    24295466.844    24295462.598
+      2696.466        2101.142          44.000          38.000
+ -11845819.39843  -9183951.00342  22692105.861    22692106.338    22692103.898
+      2085.810        1625.306          51.000          44.000
+ -21165352.86843 -16481140.89842  21109678.546    21109681.287    21109677.508
+      -949.484        -739.858          56.000          49.000
+  -5789435.66643  -4453314.39842  24169594.080    24169597.622    24169592.053
+      3754.606        2925.667          46.000          40.000
+ 04  2  1 18 53  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24068275.27643 -18695658.53242  20225665.256    20225667.023    20225664.033
+      1001.341         780.266          56.000          51.000
+  -3850821.40043  -2995633.32242  22389104.176    22389104.904    22389103.249
+      3121.211        2432.112          53.000          46.000
+ -22011313.17043 -17083813.12542  21156737.872    21156739.357    21156736.747
+      -963.513        -750.789          56.000          49.000
+ -13643867.41243 -10621488.03842  22227043.432    22227048.151    22227042.185
+       921.578         718.113          51.000          45.000
+ -15571921.95443 -12130734.73742  22454534.403    22454538.012    22454533.381
+     -3263.318       -2542.845          50.000          44.000
+  -6120833.97043  -4741871.71442  24275186.394    24275187.163    24275184.688
+       291.471         227.120          49.000          41.000
+  -6045258.52643  -4701178.27442  24401232.823    24401235.920    24401231.027
+      -432.012        -336.633          44.000          38.000
+  -1771016.36243  -1332891.63542  24280109.876    24280114.465    24280109.283
+      2682.158        2089.993          44.000          39.000
+ -11908155.71143  -9232524.76542  22680243.658    22680244.307    22680241.443
+      2069.840        1612.862          51.000          44.000
+ -21136695.49143 -16458810.47642  21115131.571    21115134.512    21115130.371
+      -961.368        -749.118          56.000          49.000
+  -5902017.94143  -4541040.80142  24148170.034    24148174.111    24148169.186
+      3750.571        2922.523          46.000          40.000
+ 04  2  1 18 53 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24098034.45243 -18718847.48142  20220001.938    20220003.899    20220000.845
+       982.229         765.373          56.000          51.000
+  -3944319.95643  -3068489.30742  22371311.414    22371313.388    22371311.002
+      3111.704        2424.704          52.000          46.000
+ -21982354.66143 -17061248.04942  21162248.806    21162249.815    21162247.287
+      -967.271        -753.718          56.000          49.000
+ -13671424.52043 -10642961.07842  22221800.059    22221804.408    22221799.041
+       915.230         713.166          52.000          45.000
+ -15473942.90943 -12054387.42942  22473179.714    22473182.757    22473179.037
+     -3269.147       -2547.387          51.000          44.000
+  -6129391.53843  -4748539.91642  24273554.889    24273560.441    24273554.602
+       278.809         217.254          46.000          41.000
+  -6032052.98543  -4690888.24342  24403748.154    24403749.901    24403746.716
+      -448.550        -349.519          46.000          38.000
+  -1851291.41543  -1395443.59542  24264835.895    24264838.469    24264834.273
+      2668.915        2079.674          45.000          39.000
+ -11970025.63243  -9280735.09042  22668469.147    22668471.161    22668468.975
+      2054.427        1600.852          51.000          44.000
+ -21107698.48443 -16436215.41142  21120649.580    21120652.666    21120648.723
+      -972.248        -757.596          56.000          49.000
+  -6014487.73243  -4628679.55042  24126768.595    24126771.177    24126767.104
+      3747.055        2919.783          46.000          40.000
+ 04  2  1 18 54  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24127220.25043 -18741589.63642  20214448.235    20214450.357    20214447.075
+       963.438         750.731          55.000          51.000
+  -4037529.40843  -3141120.02342  22353574.361    22353575.628    22353573.707
+      3102.309        2417.384          53.000          46.000
+ -21953290.77443 -17038600.86742  21167779.562    21167781.071    21167778.097
+      -970.485        -756.222          56.000          49.000
+ -13698796.30943 -10664289.71342  22216592.057    22216596.434    22216589.731
+       909.475         708.682          52.000          45.000
+ -15375794.52643 -11977908.15842  22491856.612    22491860.169    22491856.335
+     -3274.342       -2551.435          51.000          44.000
+  -6137567.10643  -4754910.48742  24272000.267    24272002.468    24271997.984
+       266.152         207.391          46.000          40.000
+  -6018356.03343  -4680215.31742  24406352.586    24406357.156    24406352.481
+      -464.534        -361.974          44.000          38.000
+  -1931162.53143  -1457680.83642  24249636.306    24249639.111    24249634.655
+      2655.842        2069.487          44.000          39.000
+ -12031432.15743  -9328584.33042  22656784.325    22656785.854    22656783.194
+      2039.220        1589.003          51.000          44.000
+ -21078366.26743 -16413359.14442  21126231.410    21126234.266    21126230.298
+      -983.023        -765.992          56.000          49.000
+  -6126847.76743  -4716232.77942  24105386.466    24105389.382    24105385.723
+      3743.604        2917.094          47.000          40.000
+ 04  2  1 18 54 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24155826.59543 -18763880.26842  20209004.481    20209006.734    20209003.349
+       944.565         736.025          56.000          51.000
+  -4130442.34743  -3213519.68742  22335893.595    22335895.391    22335893.086
+      3092.803        2409.976          53.000          46.000
+ -21924118.18143 -17015868.96442  21173330.903    21173332.375    21173329.410
+      -973.456        -758.537          56.000          49.000
+ -13725978.84743 -10685470.87242  22211418.825    22211421.910    22211417.348
+       903.691         704.175          52.000          45.000
+ -15277474.74643 -11901295.32942  22510565.642    22510569.420    22510565.016
+     -3279.611       -2555.541          51.000          44.000
+  -6145354.20343  -4760978.33042  24270519.892    24270522.538    24270518.498
+       253.896         197.841          48.000          41.000
+  -6004162.24443  -4669155.21642  24409054.544    24409057.044    24409054.082
+      -480.848        -374.687          44.000          39.000
+  -2010622.46743  -1519597.67042  24234513.718    24234518.898    24234513.455
+      2642.400        2059.013          43.000          38.000
+ -12092368.56443  -9376067.23642  22645187.564    22645190.282    22645186.464
+      2023.871        1577.042          50.000          44.000
+ -21048693.32343 -16390237.37542  21131877.809    21131880.811    21131876.774
+      -994.161        -774.671          56.000          49.000
+  -6239090.53043  -4803694.64342  24084027.018    24084030.649    24084025.219
+      3740.165        2914.414          46.000          40.000
+ 04  2  1 18 55  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24183854.86843 -18785720.46042  20203671.247    20203672.952    20203669.892
+       924.394         720.307          56.000          51.000
+  -4223058.36843  -3285687.99842  22318269.243    22318270.786    22318268.699
+      3081.940        2401.512          52.000          46.000
+ -21894839.62943 -16993054.50942  21178901.769    21178903.930    21178900.784
+      -977.763        -761.893          56.000          49.000
+ -13752975.17743 -10706506.94542  22206281.440    22206284.827    22206280.707
+       896.594         698.645          52.000          45.000
+ -15178988.29743 -11824552.63442  22529307.516    22529311.121    22529307.438
+     -3285.963       -2560.491          51.000          44.000
+  -6152753.44443  -4766743.95342  24269109.197    24269115.498    24269109.834
+       239.866         186.909          46.000          40.000
+  -5989472.82943  -4657708.92342  24411849.004    24411851.939    24411848.951
+      -498.151        -388.170          42.000          38.000
+  -2089670.57643  -1581193.58442  24219473.015    24219475.414    24219473.197
+      2627.838        2047.666          43.000          37.000
+ -12152834.72843  -9423183.72242  22633681.539    22633685.096    22633680.518
+      2007.346        1564.166          51.000          44.000
+ -21018680.80643 -16366851.00442  21137589.541    21137592.185    21137587.995
+     -1006.460        -784.254          56.000          49.000
+  -6351215.56843  -4891064.79042  24062690.755    24062693.523    24062689.555
+      3735.221        2910.562          46.000          39.000
+ 04  2  1 18 55 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24211305.18443 -18807110.29942  20198447.118    20198449.055    20198446.017
+       905.670         705.717          55.000          51.000
+  -4315375.91743  -3357623.73342  22300702.442    22300702.670    22300701.654
+      3072.507        2394.161          53.000          46.000
+ -21865457.73843 -16970159.52442  21184493.196    21184495.054    21184492.018
+      -980.800        -764.260          56.000          49.000
+ -13779787.28043 -10727399.47142  22201179.947    22201183.134    22201178.578
+       890.830         694.153          52.000          46.000
+ -15080338.61343 -11747682.76042  22548079.169    22548083.731    22548078.589
+     -3290.810       -2564.267          51.000          45.000
+  -6159764.18743  -4772206.87142  24267776.308    24267779.911    24267775.242
+       227.554         177.315          47.000          40.000
+  -5974288.32143  -4645876.82542  24414737.849    24414742.785    24414737.107
+      -514.494        -400.904          41.000          37.000
+  -2168305.20143  -1642467.27742  24204507.847    24204511.522    24204506.479
+      2614.443        2037.228          43.000          37.000
+ -12212829.60943  -9469932.98042  22622265.561    22622267.431    22622265.055
+      1992.135        1552.313          51.000          45.000
+ -20988328.81743 -16343200.11342  21143364.749    21143368.009    21143363.831
+     -1017.171        -792.601          55.000          49.000
+  -6463221.08943  -4978341.80642  24041376.203    24041382.419    24041376.373
+      3731.502        2907.664          46.000          39.000
+ 04  2  1 18 56  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24238180.78843 -18828052.30842  20193332.742    20193335.002    20193331.678
+       886.327         690.644          55.000          51.000
+  -4407395.73843  -3429327.47542  22283191.235    22283192.318    22283190.497
+      3062.378        2386.269          53.000          47.000
+ -21835976.41143 -16947187.05742  21190103.566    21190104.793    21190102.314
+      -984.349        -767.025          56.000          49.000
+ -13806419.18543 -10748151.57642  22196111.905    22196114.880    22196110.313
+       884.819         689.469          52.000          45.000
+ -14981531.71443 -11670690.36642  22566882.446    22566886.255    22566881.925
+     -3296.155       -2568.432          51.000          45.000
+  -6166388.14943  -4777368.42442  24266516.350    24266518.991    24266515.967
+       214.160         166.878          48.000          41.000
+  -5958611.27943  -4633660.98642  24417720.964    24417725.853    24417720.410
+      -530.863        -413.659          43.000          38.000
+  -2246526.99743  -1703419.33842  24189623.661    24189626.979    24189621.471
+      2600.668        2026.495          43.000          37.000
+ -12272354.45543  -9516315.97342  22610938.054    22610939.815    22610936.906
+      1976.535        1540.157          51.000          45.000
+ -20957639.84243 -16319286.62142  21149204.446    21149208.062    21149203.675
+     -1028.596        -801.503          55.000          49.000
+  -6575107.87543  -5065526.27442  24020084.803    24020091.795    24020082.949
+      3727.741        2904.733          46.000          40.000
+ 04  2  1 18 56 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24264472.25843 -18848539.14942  20188329.730    20188332.005    20188328.520
+       866.661         675.320          55.000          51.000
+  -4499107.11243  -3500790.85542  22265738.978    22265740.093    22265737.959
+      3051.733        2377.974          53.000          47.000
+ -21806388.52343 -16924131.56042  21195734.090    21195735.422    21195732.657
+      -988.013        -769.880          56.000          49.000
+ -13832863.38343 -10768757.42842  22191080.199    22191082.170    22191078.463
+       878.205         684.316          52.000          46.000
+ -14882561.85243 -11593570.99042  22585715.129    22585718.435    22585715.087
+     -3301.764       -2572.803          51.000          44.000
+  -6172615.50843  -4782220.86942  24265330.640    24265334.959    24265329.786
+       201.076         156.683          47.000          41.000
+  -5942432.79743  -4621054.35742  24420800.208    24420804.116    24420800.124
+      -547.832        -426.882          43.000          38.000
+  -2324325.14043  -1764041.29942  24174817.705    24174821.549    24174819.601
+      2586.153        2015.184          43.000          37.000
+ -12331398.62643  -9562324.42942  22599702.350    22599704.147    22599700.940
+      1960.067        1527.325          51.000          45.000
+ -20926604.64943 -16295103.35742  21155110.831    21155113.849    21155109.745
+     -1040.295        -810.619          56.000          49.000
+  -6686864.88543  -5152609.63642  23998818.124    23998822.402    23998816.303
+      3723.123        2901.135          46.000          40.000
+ 04  2  1 18 57  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24290185.78543 -18868575.64042  20183436.582    20183438.734    20183435.570
+       847.861         660.671          55.000          51.000
+  -4590515.01043  -3572017.77142  22248344.559    22248346.153    22248343.793
+      3042.097        2370.465          53.000          47.000
+ -21776702.75243 -16900999.78942  21201382.909    21201384.380    21201381.761
+      -990.712        -771.983          56.000          49.000
+ -13859128.47443 -10789223.69542  22186081.580    22186084.571    22186080.462
+       872.829         680.126          52.000          46.000
+ -14783438.95643 -11516332.35642  22604577.988    22604580.821    22604577.830
+     -3306.393       -2576.410          51.000          44.000
+  -6178452.12043  -4786768.87242  24264220.083    24264222.812    24264219.445
+       188.508         146.889          46.000          40.000
+  -5925759.52243  -4608062.20842  24423973.927    24423977.107    24423973.291
+      -563.431        -439.037          45.000          39.000
+  -2401704.30843  -1824336.79042  24160093.534    24160096.053    24160092.987
+      2572.834        2004.806          44.000          37.000
+ -12389967.60643  -9607962.59642  22588557.699    22588559.877    22588556.197
+      1944.864        1515.478          51.000          45.000
+ -20895229.91143 -16270655.50642  21161081.697    21161084.298    21161080.549
+     -1051.042        -818.994          56.000          49.000
+  -6798496.95143  -5239595.62142  23977576.763    23977580.773    23977574.919
+      3719.227        2898.099          47.000          41.000
+ 04  2  1 18 57 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24315319.82343 -18888160.58442  20178653.775    20178656.056    20178652.904
+       827.972         645.173          55.000          51.000
+  -4681614.85343  -3643004.63942  22231009.032    22231009.921    22231008.193
+      3031.277        2362.034          53.000          47.000
+ -21746917.99643 -16877790.87742  21207050.929    21207052.026    21207049.839
+      -994.614        -775.024          56.000          49.000
+ -13885213.56043 -10809549.71142  22181117.486    22181120.889    22181116.162
+       866.306         675.044          52.000          46.000
+ -14684163.98243 -11438975.22542  22623469.705    22623471.857    22623468.881
+     -3311.975       -2580.760          50.000          44.000
+  -6183894.64343  -4791009.74942  24263185.021    24263188.325    24263182.983
+       174.520         135.990          46.000          40.000
+  -5908589.26143  -4594682.76242  24427242.637    24427244.135    24427240.925
+      -580.957        -452.694          45.000          38.000
+  -2478660.53043  -1884302.71442  24145449.611    24145453.456    24145449.018
+      2557.646        1992.971          42.000          37.000
+ -12448057.47343  -9653227.42742  22577503.636    22577504.870    22577501.718
+      1928.072        1502.394          51.000          45.000
+ -20863512.88343 -16245940.93942  21167116.307    21167119.520    21167115.775
+     -1062.958        -828.279          55.000          49.000
+  -6909999.46643  -5326480.66242  23956358.874    23956362.389    23956357.078
+      3714.218        2894.196          47.000          41.000
+ 04  2  1 18 58  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24339871.27443 -18907291.56742  20173981.855    20173983.854    20173980.812
+       808.861         630.281          55.000          51.000
+  -4772402.12743  -3713747.96042  22213732.968    22213733.506    22213732.095
+      3021.225        2354.201          54.000          47.000
+ -21717033.21343 -16854504.02842  21212737.935    21212738.897    21212736.628
+      -997.579        -777.334          56.000          49.000
+ -13911117.32643 -10829734.42742  22176188.226    22176191.483    22176186.423
+       860.605         670.601          52.000          45.000
+ -14584737.22343 -11361499.81442  22642388.871    22642392.489    22642388.648
+     -3316.490       -2584.278          49.000          43.000
+  -6188939.54343  -4794940.83742  24262223.751    24262227.566    24262223.860
+       161.735         126.027          46.000          40.000
+  -5890919.07043  -4580913.77242  24430603.828    24430606.989    24430603.448
+      -597.074        -465.252          44.000          38.000
+  -2555189.00443  -1943935.25042  24130886.711    24130890.237    24130885.374
+      2544.086        1982.405          42.000          37.000
+ -12505663.96943  -9698115.59642  22566541.021    22566543.440    22566539.710
+      1912.253        1490.067          51.000          45.000
+ -20831450.61743 -16220957.35642  21173217.800    21173220.998    21173217.030
+     -1074.335        -837.144          55.000          49.000
+  -7021367.56843  -5413260.96642  23935165.665    23935169.767    23935163.864
+      3710.107        2890.992          47.000          41.000
+ 04  2  1 18 58 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24363843.87843 -18925971.50742  20169420.175    20169421.925    20169419.052
+       789.678         615.334          56.000          51.000
+  -4862879.32243  -3784249.66142  22196515.495    22196516.152    22196514.360
+      3010.954        2346.198          54.000          47.000
+ -21687054.43343 -16831143.93342  21218442.496    21218443.829    21218441.042
+     -1000.504        -779.613          56.000          49.000
+ -13936845.41443 -10849782.26442  22171292.166    22171294.957    22171290.136
+       854.965         666.206          52.000          45.000
+ -14485166.16443 -11283911.97442  22661336.569    22661340.266    22661336.334
+     -3321.310       -2588.034          49.000          44.000
+  -6193590.13043  -4798564.64242  24261338.794    24261341.411    24261338.364
+       148.840         115.979          46.000          40.000
+  -5872753.49443  -4566758.76242  24434061.050    24434064.069    24434059.218
+      -613.440        -478.005          45.000          38.000
+  -2631292.04943  -2003236.26642  24116405.872    24116409.137    24116404.400
+      2529.905        1971.354          42.000          37.000
+ -12562789.96343  -9742629.35442  22555669.790    22555670.968    22555668.633
+      1896.420        1477.730          51.000          45.000
+ -20799047.30843 -16195708.03442  21179384.497    21179387.163    21179383.317
+     -1085.529        -845.867          56.000          49.000
+  -7132603.55243  -5499938.32542  23913997.159    23914001.935    23913997.083
+      3706.207        2887.954          47.000          41.000
+ 04  2  1 18 59  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24387234.80843 -18944198.18942  20164968.938    20164970.797    20164967.872
+       769.818         599.858          55.000          51.000
+  -4953040.99743  -3854505.48842  22179358.043    22179359.407    22179357.505
+      2999.944        2337.619          54.000          47.000
+ -21656979.53043 -16807708.93942  21224165.599    21224167.179    21224163.954
+     -1004.340        -782.602          56.000          49.000
+ -13962395.78643 -10869691.63242  22166430.364    22166433.820    22166428.982
+       848.505         661.173          52.000          45.000
+ -14385450.60843 -11206211.54042  22680312.838    22680315.472    22680311.016
+     -3326.328       -2591.944          50.000          44.000
+  -6197841.98243  -4801877.77942  24260530.168    24260533.591    24260529.913
+       134.974         105.174          46.000          40.000
+  -5854089.01143  -4552214.99642  24437610.806    24437615.097    24437610.925
+      -630.381        -491.206          43.000          38.000
+  -2706964.28843  -2062201.66842  24102005.762    24102009.477    24102003.758
+      2515.116        1959.831          43.000          37.000
+ -12619430.51443  -9786764.85642  22544891.856    22544893.617    22544890.544
+      1879.864        1464.829          51.000          45.000
+ -20766299.29543 -16170190.10942  21185615.627    21185618.773    21185614.589
+     -1097.569        -855.248          56.000          49.000
+  -7243701.91443  -5586508.43742  23892856.796    23892861.442    23892853.910
+      3700.629        2883.607          46.000          41.000
+ 04  2  1 18 59 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24410043.94243 -18961971.52142  20160628.785    20160630.700    20160627.461
+       750.530         584.829          56.000          51.000
+  -5042885.02043  -3924513.79242  22162261.957    22162262.975    22162260.447
+      2989.643        2329.592          54.000          47.000
+ -21626810.13343 -16784200.31442  21229906.261    21229907.947    21229905.250
+     -1007.324        -784.928          56.000          49.000
+ -13987769.72443 -10889463.51442  22161601.496    22161604.802    22161600.191
+       842.854         656.769          52.000          45.000
+ -14285593.52243 -11128400.82442  22699314.750    22699317.639    22699314.288
+     -3330.929       -2595.529          50.000          44.000
+  -6201693.98343  -4804879.32942  24259796.912    24259800.386    24259796.018
+       121.778          94.892          46.000          40.000
+  -5834925.30743  -4537282.21042  24441257.599    24441259.129    24441257.266
+      -647.090        -504.226          43.000          37.000
+  -2782203.38443  -2120829.51042  24087687.422    24087691.386    24087686.438
+      2500.521        1948.458          43.000          38.000
+ -12675584.14743  -9830520.93242  22534206.271    22534208.442    22534205.914
+      1863.711        1452.242          52.000          45.000
+ -20733205.95643 -16144403.09242  21191913.182    21191916.182    21191912.269
+     -1108.866        -864.051          56.000          49.000
+  -7354660.27843  -5672969.45342  23871740.280    23871745.815    23871740.296
+      3696.313        2880.244          46.000          41.000
+ 04  2  1 19  0  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24432270.80643 -18979291.13842  20156398.768    20156400.690    20156397.616
+       730.961         569.580          55.000          51.000
+  -5132409.51143  -3994273.11542  22145226.111    22145226.266    22145224.888
+      2978.608        2320.993          54.000          47.000
+ -21596547.88343 -16760619.33742  21235665.239    21235666.865    21235664.092
+     -1010.498        -787.401          56.000          49.000
+ -14012968.65643 -10909099.01242  22156807.273    22156810.327    22156805.608
+       836.765         652.025          53.000          45.000
+ -14185598.08443 -11050482.29542  22718343.832    22718346.336    22718343.161
+     -3335.724       -2599.265          50.000          44.000
+  -6205145.37143  -4807568.68742  24259139.822    24259143.356    24259138.995
+       108.154          84.276          46.000          39.000
+  -5815262.61243  -4521960.60942  24445001.800    24445004.885    24445000.863
+      -664.259        -517.604          45.000          39.000
+  -2857007.53243  -2179118.49342  24073456.889    24073455.680    24073453.140
+      2485.886        1937.054          45.000          38.000
+ -12731249.33343  -9873896.38242  22523613.412    22523614.871    22523611.877
+      1847.170        1439.353          51.000          45.000
+ -20699767.09943 -16118346.84742  21198276.487    21198279.410    21198275.759
+     -1120.573        -873.174          55.000          49.000
+  -7465476.62043  -5759319.79742  23850653.245    23850658.014    23850652.625
+      3691.356        2876.381          47.000          41.000
+ 04  2  1 19  0 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24453917.14243 -18996158.39742  20152279.736    20152281.480    20152278.713
+       711.483         554.402          56.000          51.000
+  -5221614.24543  -4063783.27942  22128250.083    22128251.376    22128249.490
+      2967.960        2312.696          53.000          47.000
+ -21566195.57743 -16736968.18342  21241441.414    21241442.439    21241440.303
+     -1013.617        -789.831          56.000          49.000
+ -14037995.85543 -10928600.70442  22152044.646    22152047.584    22152042.382
+       831.040         647.564          52.000          45.000
+ -14085469.04043 -10972459.65942  22737398.114    22737399.293    22737396.813
+     -3340.374       -2602.889          50.000          43.000
+  -6208196.89643  -4809946.49342  24258558.634    24258562.824    24258558.797
+        94.794          73.865          46.000          40.000
+  -5795102.71643  -4506251.61642  24448835.907    24448839.029    24448834.720
+      -680.623        -530.355          43.000          38.000
+  -2931376.49643  -2237068.30542  24059301.198    24059302.411    24059299.807
+      2471.213        1925.621          44.000          38.000
+ -12786426.31143  -9916891.42042  22513113.184    22513115.692    22513112.411
+      1830.985        1426.742          51.000          45.000
+ -20665984.17943 -16092022.49442  21204705.182    21204708.087    21204704.186
+     -1132.235        -882.261          55.000          49.000
+  -7576150.44843  -5845559.09442  23829592.329    23829597.156    23829591.354
+      3686.324        2872.460          46.000          40.000
+ 04  2  1 19  1  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24474979.93643 -19012570.94842  20148271.473    20148273.669    20148270.393
+       692.010         539.229          55.000          51.000
+  -5310494.30743  -4133040.45842  22111336.866    22111337.980    22111335.694
+      2957.077        2304.216          54.000          47.000
+ -21535752.12943 -16713246.01542  21247234.417    21247235.664    21247232.989
+     -1016.591        -792.149          56.000          49.000
+ -14062849.94943 -10947967.49242  22147314.569    22147317.720    22147313.045
+       825.216         643.025          52.000          45.000
+ -13985206.65343 -10894333.11842  22756476.637    22756480.209    22756475.238
+     -3344.570       -2606.158          49.000          43.000
+  -6210844.79543  -4812009.77042  24258055.460    24258059.093    24258055.096
+        81.240          63.304          46.000          40.000
+  -5774442.86143  -4490153.01942  24452768.764    24452769.354    24452768.018
+      -697.551        -543.546          45.000          38.000
+  -3005305.23543  -2294675.10642  24045231.138    24045236.725    24045231.299
+      2456.606        1914.238          43.000          39.000
+ -12841110.84643  -9959502.74142  22502706.971    22502709.447    22502706.516
+      1814.285        1413.729          51.000          45.000
+ -20631854.12543 -16065427.65142  21211200.081    21211203.131    21211199.052
+     -1143.792        -891.266          56.000          49.000
+  -7686676.74743  -5931683.45742  23808559.670    23808565.351    23808558.796
+      3681.400        2868.623          47.000          41.000
+ 04  2  1 19  1 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24495459.61743 -19028529.12742  20144374.300    20144376.341    20144373.217
+       673.333         524.675          55.000          51.000
+  -5399048.45743  -4202043.67042  22094484.862    22094486.414    22094484.822
+      2946.608        2296.058          53.000          47.000
+ -21505219.09743 -16689454.04242  21253044.909    21253045.779    21253043.432
+     -1018.963        -793.997          56.000          49.000
+ -14087532.89343 -10967200.92042  22142617.402    22142619.410    22142615.965
+       820.047         638.998          53.000          46.000
+ -13884814.41343 -10816105.38842  22775580.301    22775583.044    22775579.831
+     -3348.135       -2608.936          49.000          43.000
+  -6213088.73943  -4813758.26342  24257628.576    24257633.333    24257627.042
+        68.398          53.297          46.000          40.000
+  -5753283.57243  -4473665.23842  24456794.417    24456797.341    24456793.413
+      -713.218        -555.754          44.000          38.000
+  -3078792.46343  -2351937.84142  24031248.759    24031252.139    24031248.096
+      2442.594        1903.320          43.000          38.000
+ -12895302.00343 -10001729.61942  22492395.084    22492398.033    22492394.726
+      1798.441        1401.383          52.000          45.000
+ -20597377.25343 -16038562.55642  21217760.514    21217763.732    21217759.604
+     -1154.669        -899.742          55.000          49.000
+  -7797053.73943  -6017691.47742  23787555.318    23787560.615    23787554.751
+      3676.496        2864.802          46.000          40.000
+ 04  2  1 19  2  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24515358.31543 -19044034.58842  20140587.890    20140589.837    20140586.718
+       653.499         509.220          56.000          51.000
+  -5487276.11043  -4270792.47442  22077696.073    22077697.428    22077695.888
+      2935.294        2287.242          54.000          47.000
+ -21474599.97443 -16665594.98142  21258871.177    21258872.655    21258869.894
+     -1022.047        -796.400          56.000          49.000
+ -14112047.40943 -10986303.10142  22137952.011    22137955.112    22137950.666
+       814.492         634.669          52.000          45.000
+ -13784297.03843 -10737780.15442  22794708.891    22794712.563    22794707.697
+     -3352.680       -2612.478          49.000          43.000
+  -6214929.17343  -4815192.37342  24257278.404    24257280.658    24257277.969
+        54.616          42.558          46.000          40.000
+  -5731626.54243  -4456789.64642  24460915.480    24460918.969    24460915.321
+      -730.402        -569.144          45.000          39.000
+  -3151837.61343  -2408856.15642  24017349.558    24017351.861    24017348.316
+      2427.360        1891.449          44.000          38.000
+ -12948999.59743 -10043571.89342  22482177.057    22482179.566    22482175.924
+      1781.620        1388.275          52.000          45.000
+ -20562554.74343 -16011428.14542  21224386.983    21224390.229    21224386.016
+     -1166.498        -908.959          55.000          49.000
+  -7907280.84943  -6103582.71342  23766580.731    23766585.721    23766579.409
+      3671.860        2861.190          47.000          40.000
+ 04  2  1 19  2 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24534674.36443 -19059086.04042  20136912.027    20136913.867    20136911.015
+       633.837         493.899          55.000          51.000
+  -5575174.08743  -4339284.38642  22060970.226    22060970.892    22060969.357
+      2923.999        2278.441          54.000          47.000
+ -21443894.62943 -16641668.72942  21264714.205    21264715.810    21264712.645
+     -1025.274        -798.915          56.000          49.000
+ -14136393.70243 -11005274.19842  22133320.018    22133322.728    22133318.619
+       808.285         629.832          53.000          45.000
+ -13683656.14843 -10659358.67942  22813859.886    22813863.611    22813858.462
+     -3356.952       -2615.807          48.000          43.000
+  -6216364.05643  -4816310.45142  24257005.338    24257006.927    24257004.597
+        41.062          31.996          47.000          40.000
+  -5709470.44243  -4439525.16142  24465132.357    24465136.258    24465131.942
+      -747.270        -582.288          45.000          40.000
+  -3224437.53443  -2465427.48442  24003533.896    24003536.737    24003532.213
+      2412.251        1879.676          43.000          38.000
+ -13002201.16943 -10085027.66242  22472053.968    22472055.522    22472052.112
+      1764.792        1375.162          52.000          45.000
+ -20527384.84643 -15984023.02842  21231079.722    21231083.088    21231078.956
+     -1178.495        -918.308          55.000          49.000
+  -8017354.54843  -6189354.38942  23745633.021    23745638.150    23745632.630
+      3665.958        2856.591          45.000          40.000
+ 04  2  1 19  3  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24553405.19343 -19073681.48042  20133347.461    20133349.410    20133346.439
+       614.078         478.502          55.000          51.000
+  -5662737.81043  -4407515.84442  22044308.120    22044307.874    22044306.864
+      2912.581        2269.544          55.000          47.000
+ -21413101.55343 -16617674.11842  21270574.016    21270575.369    21270572.548
+     -1028.490        -801.421          56.000          49.000
+ -14160570.20543 -11024113.00342  22128718.807    22128722.074    22128717.990
+       802.388         625.237          52.000          45.000
+ -13582892.20443 -10580841.33442  22833033.986    22833037.919    22833033.396
+     -3361.544       -2619.385          48.000          43.000
+  -6217389.77543  -4817109.69142  24256811.150    24256814.149    24256808.266
+        26.986          21.028          46.000          40.000
+  -5686812.65543  -4421869.73042  24469441.986    24469447.245    24469441.074
+      -764.121        -595.419          44.000          39.000
+  -3296587.46243  -2521648.21542  23989804.085    23989807.073    23989802.912
+      2396.783        1867.623          43.000          38.000
+ -13054902.49043 -10126093.62342  22462024.645    22462024.977    22462023.067
+      1747.738        1361.874          52.000          45.000
+ -20491864.88443 -15956345.14342  21237839.539    21237842.383    21237838.202
+     -1190.489        -927.654          56.000          49.000
+  -8127269.96743  -6275002.74042  23724717.359    23724722.064    23724716.761
+      3660.313        2852.192          46.000          41.000
+ 04  2  1 19  3 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24571554.62143 -19087823.87442  20129893.927    20129896.073    20129892.780
+       595.271         463.848          55.000          51.000
+  -5749968.78043  -4475488.01042  22027707.800    22027708.647    22027707.061
+      2902.125        2261.396          54.000          47.000
+ -21382225.83043 -16593615.11142  21276449.443    21276450.975    21276448.002
+     -1030.536        -803.015          56.000          49.000
+ -14184581.72943 -11042823.23342  22124149.412    22124152.733    22124147.819
+       797.568         621.482          52.000          45.000
+ -13482011.60943 -10502233.08642  22852230.831    22852235.702    22852230.484
+     -3364.383       -2621.597          48.000          43.000
+  -6218008.82843  -4817592.05742  24256691.939    24256695.417    24256691.689
+        13.578          10.580          46.000          40.000
+  -5663656.77543  -4403826.18242  24473850.707    24473853.603    24473850.275
+      -780.036        -607.820          46.000          39.000
+  -3368289.07343  -2577519.59142  23976159.555    23976162.850    23976157.939
+      2382.429        1856.438          43.000          38.000
+ -13107105.64443 -10166771.39842  22452090.353    22452092.089    22452088.537
+      1731.751        1349.416          51.000          45.000
+ -20455998.15943 -15928397.04942  21244664.392    21244667.388    21244663.663
+     -1201.468        -936.209          56.000          49.000
+  -8237028.36443  -6360528.72842  23703830.848    23703836.859    23703829.556
+      3656.062        2848.879          46.000          41.000
+ 04  2  1 19  4  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24589116.17243 -19101508.18542  20126552.004    20126553.977    20126550.830
+       575.267         448.260          55.000          51.000
+  -5836858.41643  -4543194.20042  22011172.849    22011173.957    22011172.162
+      2890.225        2252.123          54.000          47.000
+ -21351262.44443 -16569487.79742  21282341.290    21282342.524    21282340.327
+     -1033.787        -805.548          56.000          49.000
+ -14208423.38143 -11061401.11042  22119612.141    22119615.821    22119610.792
+       791.312         616.607          52.000          46.000
+ -13381011.00643 -10423531.33142  22871450.785    22871454.118    22871450.629
+     -3369.045       -2625.230          49.000          43.000
+  -6218214.22443  -4817752.07942  24256652.188    24256656.768    24256652.071
+         -.204           -.159          46.000          40.000
+  -5639996.82643  -4385389.83342  24478351.959    24478355.294    24478350.524
+      -797.048        -621.076          44.000          39.000
+  -3439534.11743  -2633035.22342  23962602.755    23962604.308    23962600.938
+      2366.979        1844.399          44.000          38.000
+ -13158802.92543 -10207054.99442  22442252.550    22442254.226    22442251.881
+      1714.417        1335.909          52.000          45.000
+ -20419777.97443 -15900173.52942  21251556.746    21251559.775    21251555.590
+     -1213.311        -945.437          55.000          49.000
+  -8346621.13043  -6445925.65942  23682976.942    23682982.548    23682976.032
+      3650.127        2844.255          47.000          41.000
+ 04  2  1 19  4 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24606099.01143 -19114741.54942  20123320.362    20123322.377    20123319.014
+       556.525         433.656          55.000          51.000
+  -5923414.23543  -4610640.27042  21994701.838    21994703.575    21994701.333
+      2879.624        2243.863          54.000          47.000
+ -21320221.76043 -16545300.24642  21288248.586    21288249.585    21288247.292
+     -1035.939        -807.225          56.000          49.000
+ -14232105.43543 -11079854.62542  22115106.312    22115109.638    22115104.718
+       786.847         613.128          53.000          46.000
+ -13279902.65343 -10344745.60742  22890691.702    22890694.210    22890691.827
+     -3371.886       -2627.444          49.000          43.000
+  -6218013.99743  -4817596.02342  24256691.276    24256695.277    24256691.089
+       -13.493         -10.514          46.000          40.000
+  -5615841.95743  -4366567.86442  24482947.710    24482951.750    24482946.112
+      -813.474        -633.876          44.000          39.000
+  -3510329.75043  -2688200.63442  23949131.594    23949132.494    23949129.089
+      2352.536        1833.145          45.000          39.000
+ -13210002.02943 -10246950.39742  22432509.273    22432511.526    22432508.339
+      1698.268        1323.326          51.000          45.000
+ -20383213.23143 -15871681.53042  21258514.735    21258517.867    21258513.444
+     -1224.459        -954.124          55.000          49.000
+  -8456055.31043  -6531199.00742  23662152.115    23662157.381    23662151.743
+      3645.049        2840.298          46.000          42.000
+ 04  2  1 19  5  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24622498.17843 -19127520.10342  20120199.806    20120201.606    20120198.546
+       536.293         417.891          55.000          51.000
+  -6009628.88743  -4677820.50042  21978296.245    21978297.033    21978295.291
+      2867.510        2234.423          54.000          48.000
+ -21289099.71843 -16521049.30042  21294170.539    21294172.130    21294169.638
+     -1039.389        -809.913          56.000          49.000
+ -14255624.18743 -11098180.88842  22110629.703    22110633.175    22110628.614
+       780.633         608.285          52.000          46.000
+ -13178684.19243 -10265874.06242  22909952.666    22909957.013    22909952.127
+     -3376.365       -2630.934          49.000          42.000
+  -6217402.14343  -4817119.26242  24256807.302    24256810.874    24256805.846
+       -27.865         -21.713          46.000          40.000
+  -5591187.00743  -4347356.23842  24487641.417    24487642.612    24487639.004
+      -830.911        -647.463          46.000          39.000
+  -3580668.53543  -2743010.08442  23935743.067    23935748.384    23935742.536
+      2336.472        1820.628          42.000          39.000
+ -13260696.25143 -10286452.37642  22422862.540    22422863.832    22422861.560
+      1680.813        1309.724          51.000          45.000
+ -20346298.35343 -15842916.68642  21265539.447    21265542.378    21265538.578
+     -1236.953        -963.859          55.000          49.000
+  -8565323.16943  -6616342.75242  23641359.539    23641364.623    23641359.209
+      3638.595        2835.269          47.000          41.000
+ 04  2  1 19  5 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24638313.55443 -19139843.75542  20117190.193    20117191.920    20117189.006
+       517.680         403.387          55.000          51.000
+  -6095500.04443  -4744733.08142  21961955.760    21961956.323    21961954.902
+      2856.863        2226.127          54.000          48.000
+ -21257897.56743 -16496735.93142  21300108.892    21300109.762    21300107.294
+     -1041.073        -811.226          56.000          49.000
+ -14278980.52143 -11116380.58942  22106185.563    22106189.280    22106184.637
+       776.126         604.774          52.000          46.000
+ -13077358.27343 -10186918.79242  22929234.710    22929238.115    22929233.918
+     -3379.095       -2633.061          50.000          43.000
+  -6216377.51743  -4816320.83542  24257002.060    24257005.582    24257000.436
+       -40.706         -31.719          46.000          40.000
+  -5566031.67743  -4327754.64642  24492427.003    24492430.970    24492426.646
+      -846.792        -659.838          45.000          39.000
+  -3650548.45043  -2797461.96242  23922446.966    23922449.650    23922445.454
+      2322.048        1809.388          42.000          38.000
+ -13310884.09043 -10325559.78242  22413312.740    22413314.314    22413311.085
+      1664.670        1297.145          51.000          45.000
+ -20309032.70043 -15813878.52642  21272630.736    21272633.813    21272629.808
+     -1247.798        -972.310          55.000          49.000
+  -8674422.33443  -6701355.06542  23620598.433    23620602.198    23620596.604
+      3634.303        2831.924          47.000          41.000
+ 04  2  1 19  6  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24653546.35443 -19151713.44842  20114291.430    20114293.203    20114290.293
+       497.902         387.976          55.000          51.000
+  -6181027.13143  -4811377.55342  21945680.811    21945681.096    21945679.596
+      2844.909        2216.812          54.000          47.000
+ -21226617.49743 -16472361.84442  21306060.541    21306061.817    21306059.422
+     -1044.203        -813.665          56.000          49.000
+ -14302176.88243 -11134455.64842  22101771.613    22101775.269    22101770.739
+       770.222         600.173          53.000          46.000
+ -12975929.11943 -10107883.07642  22948535.549    22948539.292    22948536.422
+     -3382.903       -2636.028          49.000          42.000
+  -6214940.36443  -4815200.97542  24257276.591    24257280.400    24257275.715
+       -54.711         -42.632          46.000          40.000
+  -5540377.61543  -4307764.46542  24497309.590    24497312.263    24497308.155
+      -863.723        -673.031          45.000          39.000
+  -3719968.66343  -2851555.62142  23909239.173    23909240.506    23909236.726
+      2306.073        1796.940          46.000          39.000
+ -13360565.10143 -10364272.25342  22403858.560    22403861.095    22403857.002
+      1647.303        1283.613          51.000          45.000
+ -20271417.42243 -15784567.91942  21279788.860    21279791.995    21279787.627
+     -1259.818        -981.676          55.000          49.000
+  -8783351.55343  -6786234.92642  23599869.841    23599874.394    23599868.344
+      3627.869        2826.911          47.000          42.000
+ 04  2  1 19  6 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24668198.37843 -19163130.59542  20111503.306    20111505.198    20111502.188
+       478.476         372.838          55.000          51.000
+  -6266209.62543  -4877753.50442  21929470.632    21929471.273    21929469.913
+      2833.437        2207.873          54.000          47.000
+ -21195262.34643 -16447929.24742  21312027.122    21312028.397    21312025.945
+     -1046.637        -815.561          56.000          49.000
+ -14325216.20943 -11152408.33942  22097387.393    22097391.205    22097386.017
+       765.088         596.172          52.000          46.000
+ -12874401.04143 -10028770.26242  22967855.077    22967858.524    22967855.862
+     -3386.114       -2638.530          49.000          42.000
+  -6213091.67843  -4813760.41742  24257628.192    24257630.557    24257627.766
+       -68.614         -53.465          48.000          40.000
+  -5514226.61443  -4287387.04442  24502285.697    24502290.530    24502285.213
+      -880.077        -685.774          45.000          39.000
+  -3788928.84443  -2905290.84542  23896115.409    23896117.066    23896113.873
+      2290.523        1784.823          46.000          39.000
+ -13409739.56143 -10402590.01142  22394501.057    22394503.151    22394500.036
+      1630.511        1270.528          52.000          45.000
+ -20233453.67743 -15754985.79442  21287012.825    21287016.503    21287012.025
+     -1271.420        -990.717          55.000          49.000
+  -8892110.33043  -6870982.00142  23579173.811    23579178.223    23579173.162
+      3622.137        2822.444          48.000          42.000
+ 04  2  1 19  7  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24682264.94643 -19174091.54042  20108826.435    20108828.313    20108825.259
+       459.220         357.834          55.000          51.000
+  -6351040.76643  -4943855.66942  21913327.526    21913328.328    21913326.631
+      2821.797        2198.803          54.000          47.000
+ -21163828.75943 -16423435.53542  21318009.119    21318010.545    21318007.627
+     -1048.978        -817.385          56.000          49.000
+ -14348094.81543 -11170235.80342  22093033.996    22093037.991    22093032.358
+       760.118         592.300          53.000          46.000
+ -12772772.26243  -9949579.00142  22987194.456    22987197.256    22987194.061
+     -3389.260       -2640.982          48.000          41.000
+  -6210825.37443  -4811994.44742  24258058.064    24258061.776    24258058.058
+       -82.291         -64.123          46.000          40.000
+  -5487573.72143  -4266618.55142  24507357.007    24507359.878    24507356.340
+      -896.552        -698.612          44.000          38.000
+  -3857422.06343  -2958662.16242  23883080.077    23883082.184    23883079.711
+      2275.322        1772.978          45.000          39.000
+ -13458401.30143 -10440508.25042  22385241.079    22385243.290    22385240.047
+      1613.623        1257.369          52.000          45.000
+ -20195136.32443 -15725128.11442  21294304.452    21294308.021    21294303.566
+     -1283.025        -999.760          55.000          49.000
+  -9000691.36943  -6955590.57742  23558513.127    23558516.210    23558511.907
+      3616.796        2818.282          49.000          42.000
+ 04  2  1 19  7 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24695749.86043 -19184599.25242  20106260.298    20106262.142    20106258.934
+       440.094         342.930          55.000          51.000
+  -6435521.98543  -5009685.17642  21897250.884    21897252.451    21897250.112
+      2810.468        2189.975          54.000          47.000
+ -21132321.21543 -16398884.20342  21324004.892    21324006.035    21324003.271
+     -1051.208        -819.123          56.000          49.000
+ -14370817.70443 -11187941.92642  22088710.226    22088712.822    22088708.658
+       755.094         588.385          53.000          46.000
+ -12671049.30443  -9870314.35842  23006551.674    23006555.351    23006552.436
+     -3392.068       -2643.170          47.000          41.000
+  -6208144.49143  -4809905.40442  24258570.310    24258574.935    24258568.131
+       -95.893         -74.722          46.000          41.000
+  -5460422.99443  -4245462.12442  24512524.357    24512526.127    24512523.470
+      -913.053        -711.470          45.000          38.000
+  -3925450.17943  -3011671.09942  23870135.973    23870138.470    23870133.910
+      2260.209        1761.202          46.000          39.000
+ -13506552.42843 -10478028.60342  22376077.918    22376080.356    22376077.086
+      1596.818        1244.274          52.000          45.000
+ -20156468.55043 -15694997.38442  21301662.906    21301665.693    21301661.828
+     -1294.501       -1008.702          55.000          49.000
+  -9109095.97043  -7040061.67942  23537883.717    23537887.434    23537882.661
+      3610.923        2813.706          48.000          42.000
+ 04  2  1 19  8  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24708650.60043 -19194651.76042  20103805.011    20103807.267    20103804.260
+       420.870         327.951          55.000          51.000
+  -6519648.85943  -5075238.56442  21881241.922    21881243.793    21881241.412
+      2798.882        2180.947          54.000          47.000
+ -21100738.56043 -16374274.33542  21330014.903    21330015.807    21330013.247
+     -1053.413        -820.841          56.000          49.000
+ -14393383.56843 -11205525.69742  22084415.773    22084419.384    22084413.971
+       750.144         584.528          53.000          46.000
+ -12569232.39043  -9790976.50042  23025927.407    23025931.481    23025926.952
+     -3394.903       -2645.379          48.000          41.000
+  -6205045.52643  -4807490.61542  24259160.632    24259162.736    24259159.323
+      -109.776         -85.540          48.000          41.000
+  -5432772.03343  -4223915.94242  24517785.434    24517787.754    24517784.574
+      -929.430        -724.231          45.000          38.000
+  -3993008.65843  -3064314.08542  23857279.647    23857282.012    23857278.280
+      2244.744        1749.151          45.000          39.000
+ -13554189.01543 -10515148.02942  22367012.076    22367014.916    22367010.975
+      1579.884        1231.078          51.000          45.000
+ -20117447.67143 -15664591.51042  21309087.628    21309091.273    21309087.087
+     -1305.918       -1017.598          55.000          49.000
+  -9217319.40343  -7124391.59942  23517289.273    23517292.128    23517287.082
+      3605.097        2809.166          48.000          42.000
+ 04  2  1 19  8 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24720969.91843 -19204251.21342  20101461.016    20101462.814    20101459.923
+       400.367         311.974          55.000          51.000
+  -6603422.02943  -5140516.35342  21865300.841    21865301.993    21865299.693
+      2785.800        2170.753          54.000          47.000
+ -21069084.32443 -16349608.69842  21336038.269    21336039.520    21336037.075
+     -1056.866        -823.532          56.000          49.000
+ -14415796.12943 -11222990.00942  22080150.036    22080154.084    22080149.555
+       743.891         579.655          53.000          46.000
+ -12467326.93943  -9711569.64242  23045320.469    23045324.060    23045320.800
+     -3398.919       -2648.508          49.000          42.000
+  -6201530.30043  -4804751.45342  24259826.143    24259833.226    24259826.615
+      -124.822         -97.264          46.000          40.000
+  -5404623.56643  -4201982.08542  24523142.830    24523145.873    24523141.935
+      -947.263        -738.127          45.000          38.000
+  -4060098.21043  -3116591.66642  23844512.347    23844516.266    23844510.988
+      2227.861        1735.996          45.000          39.000
+ -13601312.52243 -10551867.64742  22358044.995    22358048.470    22358044.279
+      1561.606        1216.836          51.000          45.000
+ -20078076.06343 -15633912.34342  21316581.053    21316583.008    21316579.739
+     -1318.831       -1027.660          55.000          49.000
+  -9325361.77843  -7208580.43142  23496729.163    23496733.515    23496728.471
+      3597.722        2803.420          48.000          42.000
+ 04  2  1 19  9  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24732705.82243 -19213396.05742  20099227.843    20099229.419    20099226.513
+       381.620         297.366          55.000          51.000
+  -6686837.25543  -5205515.21642  21849427.809    21849428.564    21849426.704
+      2774.691        2162.097          54.000          48.000
+ -21037357.35343 -16324886.37542  21342075.730    21342077.103    21342074.543
+     -1058.609        -824.890          56.000          49.000
+ -14438054.41843 -11240334.09942  22075915.242    22075918.354    22075913.671
+       739.623         576.330          53.000          46.000
+ -12365333.77443  -9632094.45142  23064727.298    23064730.723    23064727.221
+     -3401.051       -2650.170          48.000          42.000
+  -6197595.67343  -4801685.49842  24260577.852    24260578.523    24260576.244
+      -137.904        -107.458          48.000          40.000
+  -5375975.49543  -4179658.91942  24528593.472    24528596.991    24528593.080
+      -963.039        -750.420          45.000          39.000
+  -4126714.75743  -3168500.71642  23831835.662    23831838.756    23831834.312
+      2212.962        1724.386          45.000          39.000
+ -13647919.29443 -10588184.60842  22349175.973    22349179.344    22349175.140
+      1545.240        1204.083          51.000          45.000
+ -20038351.28443 -15602957.97142  21324139.479    21324143.152    21324138.533
+     -1329.913       -1036.296          55.000          49.000
+  -9433218.62343  -7292624.70342  23476205.089    23476208.847    23476203.334
+      3592.043        2798.994          48.000          42.000
+ 04  2  1 19  9 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24743857.63343 -19222085.76242  20097105.611    20097107.506    20097104.497
+       362.033         282.104          55.000          51.000
+  -6769891.53343  -5270232.82242  21833623.173    21833624.293    21833622.090
+      2762.473        2152.576          54.000          48.000
+ -21005557.79643 -16300107.48842  21348126.999    21348128.370    21348125.747
+     -1061.201        -826.910          56.000          49.000
+ -14460158.55443 -11257558.07842  22071708.505    22071712.413    22071707.097
+       734.212         572.113          53.000          46.000
+ -12263254.49743  -9552552.15142  23084153.104    23084157.475    23084152.395
+     -3404.026       -2652.488          49.000          42.000
+  -6193239.90043  -4798291.38342  24261405.735    24261408.039    24261406.238
+      -152.124        -118.538          47.000          40.000
+  -5346827.29143  -4156945.98442  24534139.585    24534143.952    24534138.752
+      -979.742        -763.435          44.000          39.000
+  -4192855.32943  -3220038.78142  23819250.170    23819253.888    23819249.054
+      2196.687        1711.704          45.000          39.000
+ -13694006.85243 -10624096.98742  22340406.896    22340407.892    22340406.023
+      1527.453        1190.223          52.000          45.000
+ -19998271.84343 -15571727.25042  21331766.404    21331770.164    21331765.512
+     -1341.894       -1045.632          55.000          49.000
+  -9540886.51743  -7376521.73942  23455715.887    23455720.621    23455714.941
+      3585.847        2794.166          48.000          43.000
+ 04  2  1 19 10  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24754430.30543 -19230324.19842  20095093.591    20095095.471    20095092.470
+       342.904         267.198          55.000          51.000
+  -6852587.80543  -5334671.46742  21817886.111    21817887.375    21817885.547
+      2750.594        2143.320          54.000          48.000
+ -20973691.67043 -16275276.73542  21354190.743    21354192.189    21354189.364
+     -1063.204        -828.471          56.000          49.000
+ -14482114.52443 -11274666.59942  22067530.568    22067533.929    22067529.558
+       729.481         568.427          53.000          46.000
+ -12161096.84743  -9472948.79042  23103592.408    23103597.113    23103592.670
+     -3406.660       -2654.540          48.000          42.000
+  -6188467.15543  -4794572.35642  24262313.091    24262316.093    24262312.525
+      -165.589        -129.030          46.000          40.000
+  -5317184.08943  -4133847.39442  24539781.840    24539784.883    24539781.811
+      -996.239        -776.290          46.000          39.000
+  -4258522.89643  -3271208.34242  23806754.607    23806755.453    23806751.246
+      2181.139        1699.589          46.000          39.000
+ -13739578.87143 -10659607.65142  22331734.327    22331736.794    22331733.133
+      1510.593        1177.085          52.000          45.000
+ -19957842.48843 -15540223.86242  21339460.366    21339463.354    21339459.567
+     -1353.371       -1054.575          55.000          49.000
+  -9648368.05543  -7460273.56542  23435263.493    23435268.106    23435262.156
+      3579.832        2789.479          49.000          43.000
+ 04  2  1 19 10 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24764417.46343 -19238106.38242  20093193.214    20093194.731    20093192.010
+       323.127         251.787          55.000          51.000
+  -6934917.45943  -5398824.42942  21802219.437    21802220.420    21802218.379
+      2738.108        2133.591          55.000          48.000
+ -20941753.59443 -16250389.92442  21360268.321    21360269.798    21360267.073
+     -1065.896        -830.568          56.000          49.000
+ -14503916.92043 -11291655.44542  22063381.599    22063383.842    22063379.862
+       724.160         564.281          53.000          46.000
+ -12058856.98643  -9393281.36742  23123048.922    23123052.198    23123049.098
+     -3409.581       -2656.816          48.000          42.000
+  -6183269.70843  -4790522.37042  24263303.503    24263306.252    24263302.796
+      -180.158        -140.383          47.000          41.000
+  -5287039.32343  -4110357.94842  24545519.622    24545520.136    24545516.847
+     -1013.065        -789.401          46.000          39.000
+  -4323708.80443  -3322002.54342  23794347.313    23794353.221    23794346.534
+      2164.575        1686.682          44.000          39.000
+ -13784627.41043 -10694710.40542  22323162.787    22323164.470    22323161.575
+      1492.914        1163.310          52.000          45.000
+ -19917056.21643 -15508442.35842  21347221.553    21347224.344    21347220.663
+     -1365.499       -1064.025          55.000          49.000
+  -9755654.18143  -7543873.11842  23414846.952    23414850.821    23414846.238
+      3572.828        2784.022          49.000          43.000
+ 04  2  1 19 11  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24773826.28143 -19245437.92042  20091403.003    20091404.580    20091401.866
+       304.099         236.960          55.000          51.000
+  -7016884.96443  -5462695.20242  21786621.726    21786622.249    21786621.105
+      2726.277        2124.372          55.000          48.000
+ -20909750.69443 -16225452.59342  21366358.853    21366359.809    21366357.309
+     -1067.739        -832.004          56.000          49.000
+ -14525573.35943 -11308530.56442  22059260.824    22059264.124    22059259.851
+       719.666         560.779          53.000          46.000
+ -11956544.29843  -9313557.19442  23142518.473    23142520.456    23142517.798
+     -3411.426       -2658.254          48.000          42.000
+  -6177653.45843  -4786146.07042  24264371.566    24264374.454    24264371.161
+      -194.168        -151.300          47.000          41.000
+  -5256399.96743  -4086483.11642  24551348.478    24551350.814    24551347.656
+     -1029.437        -802.159          46.000          38.000
+  -4388417.77443  -3372425.13942  23782035.394    23782038.909    23782032.933
+      2149.187        1674.691          47.000          39.000
+ -13829157.71343 -10729409.34442  22314688.749    22314690.120    22314687.349
+      1475.843        1150.008          52.000          45.000
+ -19875919.47543 -15476387.75642  21355049.308    21355052.475    21355048.433
+     -1376.982       -1072.973          55.000          49.000
+  -9862749.08843  -7627323.69442  23394467.370    23394470.787    23394466.448
+      3566.738        2779.276          49.000          42.000
+ 04  2  1 19 11 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24782651.61443 -19252314.79042  20089723.298    20089725.067    20089722.368
+       284.932         222.025          55.000          51.000
+  -7098483.27043  -5526278.28242  21771093.736    21771095.144    21771092.865
+      2714.179        2114.945          54.000          48.000
+ -20877679.05143 -16200461.70042  21372461.575    21372462.980    21372460.605
+     -1069.718        -833.546          56.000          49.000
+ -14547079.81243 -11325288.81442  22055168.679    22055171.678    22055166.832
+       714.850         557.026          53.000          46.000
+ -11854156.44043  -9233774.43842  23162002.356    23162005.583    23162000.336
+     -3413.590       -2659.940          49.000          42.000
+  -6171612.62043  -4781438.91542  24265520.043    24265525.578    24265521.247
+      -207.735        -161.871          47.000          41.000
+  -5225261.13043  -4062219.10642  24557273.326    24557275.770    24557272.111
+     -1045.548        -814.713          45.000          38.000
+  -4452642.67943  -3422470.53842  23769813.012    23769816.001    23769811.606
+      2133.102        1662.157          44.000          39.000
+ -13873163.27643 -10763699.39242  22306314.655    22306316.344    22306313.063
+      1458.476        1136.475          52.000          45.000
+ -19834426.80343 -15444055.81042  21362945.433    21362948.227    21362944.430
+     -1388.646       -1082.062          55.000          49.000
+  -9969645.22843  -7710619.36042  23374125.425    23374129.914    23374123.455
+      3560.377        2774.320          48.000          42.000
+ 04  2  1 19 12  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24790898.06043 -19258740.57742  20088154.539    20088155.844    20088153.175
+       265.298         206.726          55.000          51.000
+  -7179714.51443  -5589575.33742  21755636.060    21755637.110    21755635.237
+      2701.555        2105.108          55.000          48.000
+ -20845544.04343 -16175421.42842  21378576.619    21378578.060    21378575.415
+     -1072.133        -835.428          56.000          49.000
+ -14568441.67543 -11341934.39342  22051103.117    22051105.970    22051101.450
+       709.678         552.996          53.000          46.000
+ -11751700.29243  -9153938.44542  23181498.507    23181501.742    23181497.009
+     -3416.319       -2662.067          48.000          42.000
+  -6165150.27043  -4776403.30142  24266750.341    24266755.362    24266750.845
+      -222.347        -173.257          48.000          41.000
+  -5193627.17543  -4037569.30242  24563294.769    24563297.139    24563294.421
+     -1062.683        -828.065          46.000          39.000
+  -4516385.86843  -3472140.54242  23757683.849    23757686.526    23757682.246
+      2116.863        1649.504          46.000          40.000
+ -13916646.96443 -10797582.77342  22298040.222    22298041.734    22298038.548
+      1440.844        1122.736          53.000          46.000
+ -19792581.89243 -15411449.38742  21370908.286    21370911.255    21370906.992
+     -1400.617       -1091.390          55.000          49.000
+ -10076344.37443  -7793761.53542  23353821.601    23353824.858    23353819.137
+      3553.482        2768.947          48.000          42.000
+ 04  2  1 19 12 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24798563.10343 -19264713.32442  20086695.671    20086697.418    20086694.319
+       246.162         191.815          55.000          51.000
+  -7260573.47943  -5652582.30942  21740249.473    21740249.967    21740248.507
+      2689.226        2095.501          55.000          48.000
+ -20813343.13543 -16150329.81242  21384704.002    21384705.640    21384702.924
+     -1074.138        -836.991          56.000          49.000
+ -14589657.10143 -11358465.87242  22047066.111    22047069.153    22047064.673
+       705.026         549.371          53.000          46.000
+ -11649175.38143  -9074048.91042  23201008.687    23201011.267    23201008.824
+     -3418.488       -2663.757          49.000          42.000
+  -6158262.74243  -4771036.35242  24268061.099    24268065.301    24268060.810
+      -236.575        -184.344          47.000          41.000
+  -5161495.34143  -4012531.48642  24569406.913    24569409.324    24569406.978
+     -1079.814        -841.413          44.000          38.000
+  -4579642.46443  -3521431.36942  23745646.759    23745651.193    23745645.304
+      2100.699        1636.908          46.000          40.000
+ -13959604.44943 -10831056.12942  22289864.441    22289866.791    22289863.288
+      1423.322        1109.082          52.000          46.000
+ -19750381.46243 -15378565.93542  21378938.230    21378941.978    21378937.605
+     -1412.378       -1100.554          55.000          49.000
+ -10182841.05943  -7876745.95042  23333556.210    23333558.776    23333554.130
+      3546.831        2763.764          48.000          42.000
+ 04  2  1 19 13  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24805648.03043 -19270234.03242  20085347.396    20085349.063    20085346.119
+       226.270         176.314          55.000          51.000
+  -7341059.73343  -5715298.85442  21724932.963    21724933.852    21724931.989
+      2676.380        2085.491          55.000          48.000
+ -20781079.00443 -16125188.92742  21390843.813    21390845.155    21390842.673
+     -1076.784        -839.052          56.000          49.000
+ -14610728.42943 -11374885.06842  22043056.067    22043059.583    22043054.125
+       699.697         545.218          53.000          46.000
+ -11546585.93743  -8994109.09142  23220529.475    23220533.642    23220528.461
+     -3421.033       -2665.740          48.000          41.000
+  -6150950.60743  -4765338.58342  24269453.164    24269456.189    24269452.432
+      -251.031        -195.608          47.000          40.000
+  -5128867.47643  -3987107.14042  24575616.876    24575620.796    24575616.081
+     -1096.140        -854.135          45.000          39.000
+  -4642411.80043  -3570342.53542  23733702.880    23733706.393    23733701.091
+      2083.908        1623.824          46.000          40.000
+ -14002035.68743 -10864119.44142  22281791.192    22281792.411    22281789.745
+      1405.322        1095.056          53.000          46.000
+ -19707826.60343 -15345406.31342  21387036.750    21387039.678    21387035.438
+     -1424.711       -1110.164          55.000          49.000
+ -10289134.30543  -7959571.83042  23313329.246    23313332.630    23313327.864
+      3539.378        2757.957          48.000          42.000
+ 04  2  1 19 13 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24812154.33843 -19275303.87142  20084109.162    20084110.870    20084107.973
+       207.167         161.429          55.000          51.000
+  -7421171.73543  -5777723.78442  21709687.997    21709688.964    21709687.563
+      2663.956        2075.810          55.000          48.000
+ -20748752.59243 -16099999.51842  21396995.342    21396996.266    21396994.164
+     -1078.630        -840.491          56.000          49.000
+ -14631656.96843 -11391192.98942  22039073.363    22039077.017    22039072.483
+       695.111         541.645          52.000          46.000
+ -11443935.14743  -8914121.45842  23240063.774    23240068.476    23240063.904
+     -3422.759       -2667.085          48.000          41.000
+  -6143213.42943  -4759309.64042  24270924.206    24270929.155    24270924.170
+      -265.372        -206.783          47.000          40.000
+  -5095744.20943  -3961296.84942  24581919.946    24581924.049    24581917.925
+     -1112.004        -866.497          44.000          38.000
+  -4704692.35643  -3618872.84342  23721850.453    23721853.403    23721848.347
+      2067.663        1611.166          46.000          40.000
+ -14043939.95643 -10896772.10242  22273817.478    22273818.547    22273815.718
+      1387.943        1081.514          53.000          46.000
+ -19664917.45643 -15311970.62142  21395201.781    21395204.818    21395200.940
+     -1436.250       -1119.156          55.000          49.000
+ -10395222.00443  -8042237.55542  23293141.354    23293144.846    23293141.143
+      3532.608        2752.682          48.000          42.000
+ 04  2  1 19 14  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24818083.80243 -19279924.21942  20082980.645    20082982.567    20082979.595
+       188.140         146.603          55.000          51.000
+  -7500909.43943  -5839857.04842  21694514.750    21694515.773    21694513.935
+      2651.716        2066.272          55.000          48.000
+ -20716366.85343 -16074763.87542  21403158.651    21403159.376    21403156.930
+     -1080.396        -841.867          56.000          49.000
+ -14652445.78443 -11407392.04242  22035117.157    22035120.340    22035115.866
+       690.613         538.140          52.000          46.000
+ -11341227.36343  -8834089.41042  23259608.836    23259613.699    23259608.762
+     -3424.295       -2668.282          48.000          41.000
+  -6135052.52343  -4752950.49742  24272478.223    24272481.315    24272477.851
+      -278.773        -217.226          47.000          40.000
+  -5062127.88843  -3935102.33142  24588319.014    24588322.225    24588316.988
+     -1128.748        -879.544          47.000          38.000
+  -4766484.40143  -3667022.50442  23710090.494    23710097.222    23710088.862
+      2051.649        1598.688          46.000          40.000
+ -14085317.85443 -10929014.61442  22265942.877    22265944.781    22265941.518
+      1370.622        1068.017          52.000          46.000
+ -19621655.74243 -15278260.19342  21403434.080    21403437.193    21403433.277
+     -1447.867       -1128.208          55.000          49.000
+ -10501103.78843  -8124742.81542  23272993.248    23272996.360    23272991.006
+      3525.929        2747.477          49.000          42.000
+ 04  2  1 19 14 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24823430.67643 -19284090.60442  20081963.596    20081964.923    20081962.194
+       168.925         131.630          55.000          51.000
+  -7580265.05343  -5901692.57842  21679414.082    21679414.837    21679413.206
+      2639.097        2056.439          55.000          48.000
+ -20683917.26943 -16049478.47542  21409333.404    21409334.202    21409332.128
+     -1082.373        -843.407          56.000          49.000
+ -14673090.48243 -11423478.79642  22031188.976    22031191.829    22031187.414
+       686.202         534.703          53.000          46.000
+ -11238459.88243  -8754010.86242  23279164.577    23279167.045    23279163.880
+     -3426.028       -2669.632          48.000          41.000
+  -6126461.35943  -4746256.05942  24274112.853    24274117.786    24274112.232
+      -293.427        -228.644          47.000          41.000
+  -5028013.14343  -3908519.38042  24594809.828    24594810.771    24594806.631
+     -1145.102        -892.287          44.000          37.000
+  -4827780.47543  -3714785.65142  23698427.086    23698431.424    23698426.735
+      2035.381        1586.011          46.000          40.000
+ -14126162.65543 -10960841.73042  22258170.160    22258172.187    22258169.090
+      1352.930        1054.231          52.000          46.000
+ -19578035.45543 -15244270.36042  21411734.879    21411737.964    21411734.147
+     -1459.626       -1137.371          55.000          49.000
+ -10606771.55943  -8207081.32042  23252885.670    23252887.792    23252882.833
+      3519.310        2742.319          49.000          43.000
+ 04  2  1 19 15  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24828201.85143 -19287808.38642  20081055.599    20081057.079    20081054.331
+       149.118         116.196          55.000          51.000
+  -7659242.95943  -5963233.78342  21664384.652    21664385.748    21664384.094
+      2625.925        2046.175          55.000          48.000
+ -20651410.75543 -16024148.72442  21415518.779    21415520.266    21415517.642
+     -1084.814        -845.310          56.000          49.000
+ -14693598.17543 -11439458.79742  22027285.915    22027289.702    22027284.171
+       680.963         530.621          53.000          46.000
+ -11135641.37343  -8673892.53842  23298730.511    23298731.803    23298729.628
+     -3428.405       -2671.484          48.000          41.000
+  -6117445.56143  -4739230.69042  24275829.675    24275833.282    24275829.875
+      -307.817        -239.857          48.000          41.000
+  -4993406.59943  -3881553.23742  24601392.299    24601396.465    24601391.484
+     -1161.715        -905.232          41.000          37.000
+  -4888584.88243  -3762165.71942  23686856.956    23686859.985    23686856.094
+      2018.278        1572.684          46.000          40.000
+ -14166479.18143 -10992257.20742  22250498.237    22250500.846    22250496.482
+      1334.789        1040.095          52.000          46.000
+ -19534062.68243 -15210005.85642  21420102.510    21420105.941    21420101.512
+     -1471.943       -1146.968          55.000          49.000
+ -10712228.98143  -8289255.92142  23232816.905    23232820.607    23232816.141
+      3511.214        2736.011          49.000          43.000
+ 04  2  1 19 15 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24832391.95443 -19291073.39042  20080258.123    20080259.946    20080256.888
+       129.752         101.105          55.000          51.000
+  -7737835.40943  -6024474.63642  21649428.488    21649429.992    21649427.815
+      2613.068        2036.157          54.000          48.000
+ -20618842.33943 -15998770.73742  21421716.924    21421717.549    21421715.358
+     -1086.824        -846.876          56.000          49.000
+ -14713964.08343 -11455328.31942  22023410.949    22023414.342    22023409.437
+       676.230         526.932          53.000          46.000
+ -11032768.80143  -8593732.09242  23318307.170    23318310.047    23318306.391
+     -3430.256       -2672.927          49.000          41.000
+  -6107998.41043  -4731869.26442  24277626.035    24277627.859    24277626.207
+      -322.329        -251.165          47.000          40.000
+  -4958302.78343  -3854199.62742  24608074.139    24608077.030    24608073.846
+     -1178.402        -918.235          43.000          37.000
+  -4948889.91543  -3809156.65442  23675381.902    23675382.916    23675379.275
+      2001.583        1559.675          46.000          39.000
+ -14206260.44743 -11023255.59642  22242927.415    22242929.931    22242926.364
+      1316.916        1026.168          52.000          45.000
+ -19489731.26443 -15175461.89842  21428538.785    21428541.891    21428537.642
+     -1483.965       -1156.336          55.000          49.000
+ -10817467.90343  -8371260.26242  23212790.657    23212792.997    23212790.115
+      3504.064        2730.439          49.000          43.000
+ 04  2  1 19 16  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24836006.96343 -19293890.26742  20079569.828    20079571.952    20079568.934
+       110.646          86.218          55.000          51.000
+  -7816045.59643  -6085417.61342  21634546.379    21634547.051    21634545.224
+      2600.286        2026.197          55.000          48.000
+ -20586218.15443 -15973349.28842  21427924.987    21427926.022    21427923.310
+     -1088.743        -848.371          56.000          49.000
+ -14734194.72643 -11471092.42342  22019560.605    22019564.512    22019559.952
+       671.785         523.469          53.000          46.000
+ -10929850.06143  -8513535.67442  23337892.939    23337894.448    23337892.360
+     -3431.775       -2674.110          49.000          41.000
+  -6098124.50343  -4724175.33342  24279506.151    24279508.435    24279505.901
+      -336.648        -262.323          47.000          40.000
+  -4922707.31043  -3826462.89442  24614847.618    24614850.095    24614846.861
+     -1194.818        -931.027          45.000          37.000
+  -5008698.98043  -3855761.13542  23663998.254    23664001.933    23663998.041
+      1984.958        1546.720          45.000          39.000
+ -14245510.55843 -11053840.09242  22235458.086    22235461.048    22235457.012
+      1299.224        1012.382          51.000          45.000
+ -19445046.29643 -15140642.45142  21437041.986    21437044.919    21437041.023
+     -1495.732       -1165.505          55.000          48.000
+ -10922491.15843  -8453096.53542  23192804.824    23192808.937    23192803.576
+      3496.979        2724.919          48.000          42.000
+ 04  2  1 19 16 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24839047.01743 -19296259.13042  20078991.664    20078993.482    20078990.398
+        91.762          71.503          55.000          51.000
+  -7893871.47543  -6146061.13442  21619735.835    21619737.116    21619735.321
+      2587.719        2016.404          55.000          48.000
+ -20553538.60543 -15947884.69842  21434143.627    21434144.520    21434142.026
+     -1090.204        -849.510          56.000          48.000
+ -14754290.88443 -11486751.74642  22015737.468    22015739.776    22015735.554
+       667.601         520.208          53.000          46.000
+ -10826887.71943  -8433305.26242  23357484.976    23357487.131    23357484.160
+     -3432.820       -2674.925          48.000          41.000
+  -6087823.21443  -4716148.30242  24281465.446    24281468.692    24281463.905
+      -350.634        -273.221          47.000          39.000
+  -4886620.66043  -3798343.41942  24621715.081    24621718.592    24621714.861
+     -1210.648        -943.362          44.000          37.000
+  -5068010.19943  -3901977.62942  23652713.403    23652717.159    23652711.779
+      1968.462        1533.866          46.000          40.000
+ -14284228.33143 -11084009.78342  22228090.992    22228093.424    22228090.180
+      1281.717         998.741          52.000          46.000
+ -19400007.47743 -15105547.26842  21445612.445    21445615.627    21445611.603
+     -1507.275       -1174.500          54.000          48.000
+ -11027296.23743  -8534762.83142  23172860.640    23172863.795    23172859.305
+      3490.104        2719.561          49.000          42.000
+ 04  2  1 19 17  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24841507.17843 -19298176.12342  20078523.480    20078525.275    20078522.228
+        72.546          56.529          55.000          51.000
+  -7971305.55343  -6206399.35642  21605000.957    21605002.390    21605000.316
+      2574.814        2006.349          55.000          48.000
+ -20520799.38343 -15922373.61242  21440373.471    21440374.509    21440372.202
+     -1092.085        -850.975          56.000          48.000
+ -14774248.12043 -11502302.81742  22011939.509    22011941.642    22011938.062
+       663.141         516.733          53.000          46.000
+ -10723878.79343  -8353038.55842  23377087.068    23377090.638    23377086.647
+     -3434.217       -2676.013          48.000          41.000
+  -6077088.14543  -4707783.32642  24283507.096    24283511.282    24283505.716
+      -364.862        -284.308          45.000          39.000
+  -4850037.51143  -3769837.07542  24628677.271    24628679.971    24628676.446
+     -1227.527        -956.514          46.000          37.000
+  -5126816.30543  -3947800.57442  23641522.735    23641524.744    23641521.551
+      1952.052        1521.079          46.000          40.000
+ -14322406.98143 -11113759.37242  22220825.769    22220828.891    22220825.116
+      1263.826         984.799          52.000          46.000
+ -19354608.91443 -15070171.76542  21454251.824    21454254.858    21454250.776
+     -1519.052       -1183.677          55.000          48.000
+ -11131875.13343  -8616252.85342  23152961.140    23152964.459    23152959.356
+      3482.454        2713.601          49.000          43.000
+ 04  2  1 19 17 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24843395.05043 -19299647.18042  20078164.172    20078165.747    20078162.972
+        53.568          41.741          55.000          51.000
+  -8048352.95443  -6266436.26642  21590339.635    21590340.386    21590338.482
+      2561.879        1996.269          55.000          48.000
+ -20488008.47143 -15896822.24542  21446613.339    21446614.371    21446612.032
+     -1093.722        -852.251          56.000          48.000
+ -14794074.30143 -11517751.76642  22008166.065    22008169.457    22008164.940
+       658.824         513.369          53.000          46.000
+ -10620833.00143  -8272743.13742  23396695.719    23396698.608    23396696.143
+     -3435.351       -2676.897          48.000          41.000
+  -6065925.77343  -4699085.35942  24285632.509    24285635.191    24285632.669
+      -379.196        -295.477          46.000          40.000
+  -4812965.47643  -3740949.72542  24635730.658    24635735.213    24635730.164
+     -1243.755        -969.160          45.000          37.000
+  -5185122.57043  -3993234.02542  23630427.382    23630431.347    23630425.566
+      1935.234        1507.975          45.000          40.000
+ -14360052.38343 -11143093.45242  22213662.111    22213663.856    22213660.704
+      1246.091         970.980          52.000          46.000
+ -19308857.43543 -15034521.26042  21462957.493    21462961.021    21462956.705
+     -1530.842       -1192.864          54.000          48.000
+ -11236232.40543  -8697570.19242  23133101.973    23133105.462    23133100.515
+      3474.902        2707.716          48.000          42.000
+ 04  2  1 19 18  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24844707.91243 -19300670.17842  20077913.970    20077915.925    20077912.971
+        34.047          26.530          55.000          51.000
+  -8125008.94043  -6326168.17542  21575752.444    21575753.437    21575751.461
+      2548.561        1985.892          55.000          49.000
+ -20455163.33943 -15871228.63642  21452863.271    21452864.652    21452862.208
+     -1095.834        -853.897          56.000          48.000
+ -14813767.71943 -11533097.26442  22004419.067    22004421.751    22004417.530
+       654.111         509.697          53.000          46.000
+ -10517750.00243  -8192418.72942  23416311.109    23416314.783    23416310.363
+     -3437.069       -2678.235          47.000          41.000
+  -6054332.53243  -4690051.64142  24287838.342    24287841.526    24287837.744
+      -393.588        -306.692          47.000          40.000
+  -4775402.17843  -3711679.63042  24642879.210    24642883.165    24642878.997
+     -1260.412        -982.139          45.000          37.000
+  -5242924.42943  -4038274.42042  23619427.495    23619432.135    23619425.664
+      1918.010        1494.553          46.000          40.000
+ -14397160.62143 -11172008.96542  22206600.848    22206603.470    22206599.307
+      1227.954         956.847          52.000          46.000
+ -19262750.05543 -14998593.43742  21471731.926    21471735.141    21471730.746
+     -1542.893       -1202.254          55.000          48.000
+ -11340362.86343  -8778710.79642  23113287.217    23113290.384    23113285.736
+      3467.255        2701.757          49.000          42.000
+ 04  2  1 19 18 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24845447.72443 -19301246.64642  20077773.594    20077775.173    20077772.257
+        15.787          12.302          55.000          51.000
+  -8201272.54943  -6385594.34342  21561239.756    21561240.879    21561239.219
+      2536.158        1976.227          55.000          49.000
+ -20422265.92443 -15845594.28042  21459123.669    21459124.810    21459122.580
+     -1096.731        -854.595          56.000          48.000
+ -14833330.55143 -11548341.00242  22000695.830    22000698.681    22000694.789
+       650.607         506.966          53.000          46.000
+ -10414633.54243  -8112068.24442  23435934.659    23435937.004    23435933.932
+     -3437.086       -2678.249          47.000          41.000
+  -6042308.91643  -4680682.57442  24290126.019    24290129.958    24290124.919
+      -407.514        -317.543          46.000          40.000
+  -4737349.17143  -3682027.95742  24650120.294    24650123.089    24650117.848
+     -1276.031        -994.310          44.000          36.000
+  -5300221.31843  -4082921.33842  23608525.051    23608529.068    23608523.331
+      1901.665        1481.817          46.000          40.000
+ -14433731.80843 -11200505.98442  22199641.470    22199643.562    22199640.792
+      1210.742         943.435          52.000          46.000
+ -19216287.62943 -14962388.94542  21480573.620    21480576.603    21480572.445
+     -1554.076       -1210.968          55.000          48.000
+ -11444265.09543  -8859673.54842  23093514.257    23093518.530    23093513.853
+      3460.192        2696.253          48.000          42.000
+ 04  2  1 19 19  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24845612.69343 -19301375.18342  20077741.947    20077743.926    20077740.860
+        -3.644          -2.839          55.000          51.000
+  -8277139.53843  -6444711.45842  21546802.794    21546803.840    21546801.612
+      2522.638        1965.692          55.000          49.000
+ -20389314.58543 -15819917.90442  21465394.281    21465395.201    21465392.856
+     -1098.930        -856.309          55.000          48.000
+ -14852761.49643 -11563481.97042  21996998.931    21997002.028    21996997.458
+       645.898         503.297          53.000          46.000
+ -10311484.01843  -8031691.98142  23455563.261    23455566.074    23455562.905
+     -3438.515       -2679.362          48.000          41.000
+  -6029851.97543  -4670975.83242  24292495.972    24292500.239    24292495.646
+      -421.908        -328.759          46.000          40.000
+  -4698804.83743  -3651993.38442  24657455.028    24657459.799    24657454.236
+     -1292.438       -1007.094          44.000          37.000
+  -5357009.06443  -4127171.50442  23597718.650    23597721.232    23597717.596
+      1885.177        1468.969          46.000          40.000
+ -14469762.25943 -11228581.66042  22192785.497    22192786.851    22192784.430
+      1192.416         929.155          52.000          46.000
+ -19169467.60243 -14925905.81742  21489482.936    21489486.297    21489482.056
+     -1566.128       -1220.359          55.000          48.000
+ -11547934.43743  -8940454.83042  23073787.494    23073791.446    23073785.734
+      3452.270        2690.081          49.000          43.000
+ 04  2  1 19 19 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24845204.52043 -19301057.11242  20077819.868    20077821.573    20077818.486
+       -22.954         -17.886          55.000          51.000
+  -8352609.17043  -6503518.93642  21532441.260    21532442.505    21532440.273
+      2509.190        1955.213          55.000          48.000
+ -20356311.10343 -15794200.90342  21471674.644    21471675.613    21471673.287
+     -1100.851        -857.806          56.000          48.000
+ -14872062.51943 -11578521.70042  21993325.232    21993328.899    21993324.356
+       641.344         499.748          53.000          46.000
+ -10208304.69643  -7951292.51342  23475196.003    23475200.213    23475196.270
+     -3439.552       -2680.170          47.000          41.000
+  -6016962.06543  -4660931.74442  24294951.632    24294952.997    24294950.815
+      -436.517        -340.143          47.000          41.000
+  -4659770.34043  -3621576.90042  24664882.954    24664886.269    24664882.013
+     -1308.901       -1019.923          44.000          37.000
+  -5413286.84743  -4171024.34242  23587008.337    23587012.361    23587006.055
+      1867.525        1455.214          47.000          40.000
+ -14505252.07343 -11256236.06042  22186031.847    22186033.888    22186030.331
+      1174.209         914.968          52.000          46.000
+ -19122290.70443 -14889144.60042  21498460.037    21498463.337    21498459.775
+     -1578.298       -1229.842          54.000          48.000
+ -11651369.25043  -9021053.38442  23054103.645    23054108.526    23054103.431
+      3444.318        2683.884          49.000          43.000
+ 04  2  1 19 20  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24844226.99843 -19300295.39242  20078005.715    20078007.647    20078004.590
+       -42.328         -32.983          55.000          51.000
+  -8427682.98043  -6562017.97642  21518155.080    21518156.455    21518154.629
+      2495.500        1944.545          55.000          49.000
+ -20323259.99643 -15768446.79242  21477964.240    21477965.448    21477962.638
+     -1102.762        -859.295          56.000          48.000
+ -14891238.02343 -11593463.61942  21989676.464    21989679.699    21989675.128
+       636.771         496.185          53.000          46.000
+ -10105101.77343  -7870874.66942  23494834.782    23494839.569    23494835.273
+     -3440.792       -2681.137          46.000          40.000
+  -6003642.11243  -4650552.56342  24297484.190    24297487.363    24297482.795
+      -451.484        -351.806          47.000          40.000
+  -4620249.87243  -3590781.68542  24672402.560    24672408.009    24672403.428
+     -1326.003       -1033.249          43.000          37.000
+  -5469056.58643  -4214481.28742  23576397.039    23576400.825    23576395.278
+      1850.034        1441.585          47.000          40.000
+ -14540203.47843 -11283470.90942  22179380.974    22179382.919    22179379.447
+      1155.863         900.672          53.000          46.000
+ -19074760.33443 -14852107.95342  21507504.849    21507507.933    21507503.974
+     -1590.575       -1239.409          55.000          48.000
+ -11754570.77443  -9101470.14942  23034465.474    23034469.139    23034463.622
+      3435.621        2677.107          49.000          43.000
+ 04  2  1 19 20 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24842675.88443 -19299086.72142  20078301.023    20078302.676    20078299.758
+       -61.192         -47.682          55.000          51.000
+  -8502354.38943  -6620203.47342  21503946.077    21503946.963    21503944.889
+      2482.278        1934.243          55.000          49.000
+ -20290157.12943 -15742652.34642  21484263.131    21484264.374    21484261.610
+     -1104.343        -860.527          55.000          48.000
+ -14910284.40343 -11608304.91942  21986051.671    21986056.348    21986051.003
+       632.680         492.997          53.000          46.000
+ -10001873.14143  -7790436.77842  23514478.984    23514483.797    23514477.808
+     -3441.435       -2681.638          46.000          40.000
+  -5989886.81543  -4639834.12742  24300102.815    24300106.380    24300101.058
+      -465.544        -362.761          47.000          41.000
+  -4580239.28143  -3559604.58242  24680017.449    24680020.946    24680015.980
+     -1341.928       -1045.658          42.000          36.000
+  -5524311.98243  -4257537.40842  23565882.484    23565883.277    23565880.758
+      1833.325        1428.565          48.000          41.000
+ -14574610.90343 -11310281.88342  22172833.291    22172835.156    22172832.116
+      1137.909         886.682          52.000          46.000
+ -19026871.65643 -14814792.09742  21516617.704    21516620.750    21516616.979
+     -1602.184       -1248.455          54.000          48.000
+ -11857531.78343  -9181699.49442  23014872.999    23014875.824    23014871.512
+      3428.091        2671.240          49.000          43.000
+ 04  2  1 19 21  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24840555.99743 -19297434.85142  20078704.263    20078706.066    20078703.093
+       -80.582         -62.791          55.000          51.000
+  -8576625.02643  -6678076.67442  21489812.557    21489813.759    21489811.774
+      2468.438        1923.458          55.000          49.000
+ -20257006.88343 -15716820.98142  21490571.628    21490572.373    21490570.512
+     -1106.327        -862.073          55.000          48.000
+ -14929205.98343 -11623048.99242  21982451.057    21982454.778    21982449.724
+       628.269         489.560          52.000          46.000
+  -9898624.67943  -7709983.44242  23534126.478    23534130.837    23534126.833
+     -3442.235       -2682.261          46.000          40.000
+  -5975699.08143  -4628778.71342  24302802.735    24302804.401    24302802.171
+      -480.727        -374.592          47.000          40.000
+  -4539742.81243  -3528048.89442  24687721.378    24687726.554    24687718.864
+     -1357.892       -1058.098          40.000          35.000
+  -5579054.73043  -4300194.09242  23555464.134    23555468.167    23555464.691
+      1815.696        1414.828          47.000          40.000
+ -14608476.86743 -11336670.94242  22166388.271    22166390.505    22166386.499
+      1119.432         872.285          52.000          46.000
+ -18978627.90243 -14777199.55942  21525798.665    21525801.432    21525797.679
+     -1614.588       -1258.120          55.000          48.000
+ -11960253.37343  -9261742.26542  22995325.775    22995329.702    22995324.263
+      3419.532        2664.570          49.000          44.000
+ 04  2  1 19 21 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24837866.27343 -19295338.95142  20079216.194    20079218.017    20079215.082
+       -98.626         -76.851          55.000          51.000
+  -8650491.88943  -6735635.24842  21475755.923    21475756.707    21475755.074
+      2456.007        1913.772          55.000          49.000
+ -20223808.27043 -15690951.93242  21496889.346    21496890.251    21496888.030
+     -1106.959        -862.565          56.000          48.000
+ -14948002.49443 -11637695.60142  21978874.633    21978878.267    21978872.587
+       625.047         487.050          53.000          46.000
+  -9795357.88443  -7629515.79842  23553778.040    23553781.472    23553777.870
+     -3442.067       -2682.130          46.000          40.000
+  -5961077.20243  -4617384.99742  24305585.677    24305588.116    24305583.913
+      -494.214        -385.102          47.000          41.000
+  -4498759.69843  -3496114.01842  24695523.143    24695523.075    24695519.259
+     -1373.890       -1070.564          42.000          35.000
+  -5633282.13843  -4342449.21842  23545145.674    23545148.825    23545144.609
+      1799.628        1402.307          47.000          40.000
+ -14641799.17043 -11362636.36642  22160047.536    22160049.529    22160046.486
+      1102.258         858.902          52.000          46.000
+ -18930027.76543 -14739329.32042  21535046.839    21535050.097    21535046.172
+     -1625.486       -1266.612          55.000          48.000
+ -12062732.03943  -9341595.74142  22975824.359    22975829.266    22975823.528
+      3412.396        2659.010          49.000          44.000
+ 04  2  1 19 22  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24834608.55543 -19292800.46142  20079835.948    20079837.835    20079834.901
+      -117.587         -91.626          55.000          51.000
+  -8723954.27143  -6792878.63942  21461776.485    21461777.734    21461775.404
+      2442.435        1903.196          55.000          49.000
+ -20190563.05143 -15665046.56742  21503215.445    21503216.691    21503214.094
+     -1108.342        -863.643          55.000          48.000
+ -14966676.15743 -11652246.47842  21975321.116    21975324.506    21975319.891
+       620.939         483.849          53.000          46.000
+  -9692076.48343  -7549036.78942  23573432.337    23573435.381    23573431.087
+     -3442.319       -2682.326          46.000          40.000
+  -5946021.76743  -4605653.47142  24308449.891    24308452.495    24308448.032
+      -508.347        -396.114          47.000          40.000
+  -4457291.91643  -3463801.46242  24703413.920    24703415.913    24703413.687
+     -1389.925       -1083.058          42.000          35.000
+  -5686993.69243  -4384302.38042  23534925.444    23534928.473    23534923.590
+      1782.376        1388.864          47.000          40.000
+ -14674578.12943 -11388178.40642  22153809.775    22153811.848    22153808.963
+      1084.055         844.718          53.000          46.000
+ -18881072.18743 -14701182.12242  21544362.604    21544365.556    21544361.520
+     -1637.256       -1275.784          54.000          48.000
+ -12164966.38943  -9421258.85642  22956370.263    22956373.101    22956369.600
+      3404.452        2652.820          50.000          44.000
+ 04  2  1 19 22 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24830785.03143 -19289821.07742  20080563.539    20080565.647    20080562.306
+      -137.221        -106.925          55.000          51.000
+  -8797011.48343  -6849806.31242  21447874.619    21447875.132    21447873.311
+      2427.978        1891.931          55.000          49.000
+ -20157273.30343 -15639106.50242  21509550.244    21509551.151    21509548.532
+     -1110.850        -865.597          56.000          48.000
+ -14985229.09243 -11666703.27742  21971790.940    21971793.768    21971789.560
+       615.949         479.960          53.000          46.000
+  -9588784.16743  -7468549.25842  23593088.179    23593089.703    23593086.854
+     -3443.612       -2683.334          47.000          40.000
+  -5930533.48943  -4593584.63942  24311397.053    24311398.794    24311397.153
+      -523.908        -408.240          47.000          40.000
+  -4415340.98643  -3431112.42642  24711395.907    24711399.086    24711398.133
+     -1406.682       -1096.116          43.000          35.000
+  -5740188.88343  -4425753.16742  23524800.934    23524805.703    23524799.852
+      1764.255        1374.744          46.000          40.000
+ -14706813.81543 -11413297.12042  22147676.411    22147677.770    22147675.182
+      1065.083         829.935          53.000          46.000
+ -18831762.27443 -14662758.81242  21553746.187    21553748.957    21553745.439
+     -1650.006       -1285.719          54.000          48.000
+ -12266955.17643  -9500730.61342  22936962.271    22936964.934    22936960.856
+      3395.073        2645.511          49.000          43.000
+ 04  2  1 19 23  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24826392.24643 -19286398.11942  20081399.554    20081401.352    20081398.390
+      -155.521        -121.185          55.000          51.000
+  -8869657.73643  -6906413.76042  21434049.869    21434051.286    21434049.420
+      2415.047        1881.855          55.000          49.000
+ -20123935.67343 -15613129.12542  21515894.106    21515895.235    21515892.900
+     -1111.716        -866.272          55.000          48.000
+ -15003658.24643 -11681063.63542  21968283.483    21968286.585    21968282.020
+       612.553         477.314          53.000          46.000
+  -9485479.59743  -7388052.20242  23612746.882    23612749.013    23612744.524
+     -3443.352       -2683.131          46.000          40.000
+  -5914607.95143  -4581175.16542  24314426.622    24314431.583    24314427.818
+      -537.856        -419.108          47.000          40.000
+  -4372903.61943  -3398044.38742  24719472.303    24719477.350    24719470.566
+     -1422.442       -1108.396          42.000          36.000
+  -5792862.11143  -4466797.25542  23514779.701    23514781.882    23514777.168
+      1747.545        1361.723          48.000          40.000
+ -14738501.17443 -11437988.56642  22141646.156    22141648.316    22141644.780
+      1047.361         816.125          53.000          46.000
+ -18782094.01043 -14624056.28242  21563197.863    21563201.101    21563196.848
+     -1661.278       -1294.502          54.000          48.000
+ -12368692.07843  -9580006.12342  22917601.483    22917604.487    22917600.090
+      3387.504        2639.614          49.000          43.000
+ 04  2  1 19 23 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24821435.20543 -19282535.47942  20082342.815    20082344.539    20082341.762
+      -175.016        -136.376          55.000          51.000
+  -8941895.27843  -6962702.73042  21420303.639    21420304.678    21420302.748
+      2400.752        1870.716          55.000          49.000
+ -20090555.01143 -15587118.21642  21522246.038    21522247.341    21522245.204
+     -1113.756        -867.862          55.000          48.000
+ -15021968.71543 -11695331.51042  21964799.078    21964802.169    21964797.892
+       608.030         473.790          53.000          46.000
+  -9382169.09043  -7307550.52242  23632406.246    23632408.676    23632406.450
+     -3444.097       -2683.712          47.000          41.000
+  -5898248.72243  -4568427.67342  24317540.831    24317544.261    24317539.416
+      -552.906        -430.836          46.000          39.000
+  -4329984.82843  -3364601.09042  24727638.316    24727640.574    24727637.022
+     -1439.079       -1121.360          42.000          35.000
+  -5845016.08743  -4507436.70042  23504853.994    23504857.788    23504852.998
+      1729.471        1347.640          47.000          40.000
+ -14769643.64443 -11462255.42942  22135719.694    22135721.474    22135719.013
+      1028.725         801.604          53.000          46.000
+ -18732071.32843 -14585077.56642  21572717.131    21572719.738    21572716.097
+     -1673.598       -1304.102          55.000          48.000
+ -12470178.72343  -9659086.61342  22898289.153    22898293.830    22898287.547
+      3378.311        2632.450          48.000          43.000
+ 04  2  1 19 24  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24815912.11143 -19278231.75842  20083393.818    20083395.542    20083392.742
+      -193.643        -150.891          55.000          51.000
+  -9013719.90243  -7018669.94742  21406636.094    21406636.744    21406635.384
+      2387.248        1860.193          55.000          49.000
+ -20057129.45343 -15561072.32842  21528607.268    21528608.279    21528606.085
+     -1115.025        -868.851          56.000          48.000
+ -15040159.16343 -11709505.86942  21961337.290    21961341.298    21961336.368
+       604.306         470.888          53.000          46.000
+  -9278852.91643  -7227044.42342  23652065.400    23652069.341    23652065.251
+     -3443.803       -2683.483          46.000          41.000
+  -5881452.88243  -4555339.96742  24320735.127    24320738.017    24320735.073
+      -567.308        -442.058          46.000          39.000
+  -4286582.65443  -3330781.22842  24735899.293    24735900.875    24735898.039
+     -1455.001       -1133.767          42.000          35.000
+  -5896646.75043  -4547668.40142  23495027.907    23495032.824    23495026.780
+      1712.196        1334.179          46.000          40.000
+ -14800237.74443 -11486094.98342  22129897.213    22129899.670    22129895.896
+      1010.649         787.519          52.000          46.000
+ -18681691.71343 -14545820.71242  21582303.766    21582306.568    21582302.844
+     -1685.354       -1313.263          55.000          48.000
+ -12571410.33543  -9737968.37342  22879025.265    22879030.038    22879023.872
+      3370.063        2626.023          48.000          43.000
+ 04  2  1 19 24 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24809825.10943 -19273488.62942  20084552.405    20084553.909    20084551.075
+      -212.616        -165.675          55.000          51.000
+  -9085131.35043  -7074315.21142  21393046.836    21393047.735    21393046.037
+      2373.135        1849.196          56.000          49.000
+ -20023661.08043 -15534993.06942  21534976.065    21534976.631    21534974.560
+     -1116.592        -870.072          56.000          48.000
+ -15058231.88943 -11723588.48142  21957898.316    21957901.903    21957897.396
+       600.187         467.678          53.000          46.000
+  -9175535.11243  -7146537.06542  23671727.667    23671729.856    23671727.122
+     -3444.283       -2683.857          47.000          41.000
+  -5864221.59443  -4541912.97142  24324014.888    24324018.733    24324015.166
+      -581.875        -453.409          47.000          39.000
+  -4242699.43243  -3296586.55842  24744248.966    24744254.368    24744250.187
+     -1471.060       -1146.280          41.000          35.000
+  -5947754.05143  -4587492.25942  23485302.904    23485305.770    23485301.308
+      1694.452        1320.352          46.000          40.000
+ -14830284.21143 -11509507.80742  22124179.909    22124182.281    22124178.793
+       992.050         773.026          53.000          46.000
+ -18630956.60343 -14506286.86642  21591958.082    21591961.381    21591957.220
+     -1697.329       -1322.594          54.000          48.000
+ -12672386.08443  -9816650.72542  22859810.701    22859815.559    22859808.427
+      3361.315        2619.206          49.000          43.000
+ 04  2  1 19 25  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24803173.84643 -19268305.81742  20085817.952    20085819.640    20085816.795
+      -230.959        -179.968          55.000          51.000
+  -9156126.52043  -7129636.10142  21379536.500    21379537.988    21379535.966
+      2359.524        1838.590          55.000          49.000
+ -19990149.28843 -15508879.97742  21541352.656    21541353.871    21541351.744
+     -1117.750        -870.974          56.000          48.000
+ -15076186.19643 -11737578.82842  21954481.755    21954485.005    21954480.850
+       596.729         464.984          53.000          46.000
+  -9072216.52443  -7066029.06842  23691388.459    23691391.313    23691387.824
+     -3443.764       -2683.452          47.000          41.000
+  -5846552.93343  -4528145.16542  24327378.521    24327381.338    24327377.670
+      -596.153        -464.535          48.000          40.000
+  -4198334.39943  -3262016.37442  24752691.967    24752693.206    24752690.113
+     -1486.996       -1158.698          41.000          34.000
+  -5998335.17543  -4626906.13942  23475678.075    23475680.219    23475677.050
+      1677.225        1306.929          46.000          39.000
+ -14859780.89643 -11532492.23842  22118566.816    22118569.249    22118565.462
+       974.073         759.018          53.000          46.000
+ -18579864.49843 -14466474.84042  21601680.654    21601683.784    21601679.826
+     -1708.946       -1331.646          54.000          48.000
+ -12773101.91743  -9895130.56942  22840643.922    22840649.547    22840643.489
+      3353.217        2612.896          48.000          43.000
+ 04  2  1 19 25 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24795963.88843 -19262687.66242  20087189.981    20087191.490    20087188.769
+      -250.032        -194.830          55.000          51.000
+  -9226708.55643  -7184635.07042  21366105.658    21366106.828    21366104.656
+      2345.403        1827.587          56.000          49.000
+ -19956599.20343 -15482737.05642  21547736.921    21547738.333    21547735.774
+     -1119.410        -872.267          55.000          48.000
+ -15094027.97043 -11751481.48742  21951087.028    21951090.590    21951085.531
+       592.423         461.628          53.000          46.000
+  -8968904.70843  -6985526.36442  23711048.640    23711051.151    23711046.839
+     -3444.002       -2683.638          46.000          41.000
+  -5828451.29143  -4514040.00342  24330823.099    24330824.324    24330821.451
+      -611.106        -476.186          47.000          40.000
+  -4153493.30843  -3227075.20442  24761226.144    24761225.985    24761223.671
+     -1502.947       -1171.127          43.000          35.000
+  -6048393.60243  -4665912.71842  23466152.207    23466153.981    23466151.723
+      1659.615        1293.206          47.000          40.000
+ -14888732.01043 -11555051.55242  22113058.003    22113059.346    22113056.367
+       955.565         744.596          52.000          46.000
+ -18528420.25343 -14426388.42442  21611470.134    21611473.020    21611469.100
+     -1721.079       -1341.100          54.000          48.000
+ -12873560.46743  -9973409.93942  22821529.162    22821531.364    22821527.447
+      3343.990        2605.706          49.000          43.000
+ 04  2  1 19 26  0.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24788190.20943 -19256630.23942  20088669.108    20088671.098    20088667.941
+      -269.212        -209.775          55.000          51.000
+  -9296869.72843  -7239306.09542  21352754.153    21352755.691    21352753.471
+      2331.004        1816.367          56.000          49.000
+ -19923005.36443 -15456560.03442  21554130.290    21554131.449    21554128.574
+     -1121.339        -873.771          56.000          48.000
+ -15111752.37243 -11765292.69442  21947714.135    21947717.061    21947712.441
+       588.070         458.236          53.000          46.000
+  -8865596.29943  -6905026.29842  23730704.972    23730708.381    23730705.475
+     -3444.513       -2684.036          46.000          40.000
+  -5809910.55643  -4499592.64542  24334350.239    24334352.633    24334350.402
+      -626.317        -488.039          47.000          40.000
+  -4108171.00743  -3191759.17642  24769850.144    24769851.017    24769849.330
+     -1519.831       -1184.284          41.000          34.000
+  -6097921.97143  -4704506.24942  23456726.037    23456729.955    23456725.336
+      1641.277        1278.917          46.000          39.000
+ -14917130.63143 -11577180.35342  22107653.718    22107656.005    22107652.184
+       936.629         729.841          53.000          46.000
+ -18476617.89643 -14386022.95142  21621328.217    21621330.937    21621326.755
+     -1733.470       -1350.756          55.000          48.000
+ -12973753.54643 -10051482.46042  22802462.584    22802466.720    22802462.015
+      3334.121        2598.016          50.000          43.000
+ 04  2  1 19 26 30.0000000  0 11G18G22G21G15G30G26G29G 2G16G 6G23
+ -24779857.62443 -19250137.30342  20090254.747    20090256.381    20090253.581
+      -286.987        -223.626          55.000          51.000
+  -9366612.09843  -7293650.76842  21339482.291    21339483.652    21339481.546
+      2317.846        1806.114          55.000          49.000
+ -19889372.58943 -15430352.67542  21560529.703    21560531.300    21560528.491
+     -1121.529        -873.919          55.000          48.000
+ -15129364.25243 -11779016.21942  21944362.391    21944365.385    21944360.242
+       585.331         456.102          53.000          46.000
+  -8762297.17443  -6824533.48042  23750363.305    23750366.400    23750363.025
+     -3443.236       -2683.041          46.000          40.000
+  -5790934.10943  -4484805.77842  24337961.779    24337963.546    24337961.141
+      -639.697        -498.465          47.000          40.000
+  -4062372.02243  -3156071.63642  24778565.797    24778565.711    24778563.344
+     -1534.389       -1195.628          41.000          34.000
+  -6146922.42543  -4742688.42742  23447404.064    23447406.604    23447401.182
+      1624.729        1266.023          47.000          40.000
+ -14944979.75043 -11598880.95942  22102354.511    22102356.551    22102353.208
+       919.216         716.272          53.000          46.000
+ -18424461.24443 -14345381.40242  21631253.205    21631255.669    21631252.351
+     -1744.406       -1359.277          55.000          48.000
+ -13073682.43943 -10129349.11842  22783447.339    22783450.580    22783445.649
+      3326.695        2592.230          50.000          44.000
+ 04  2  1 19 27  0.0000000  0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24770967.15643 -19243209.65642  20091946.600    20091948.385    20091945.197
+      -306.014        -238.452          55.000          51.000
+  -9435933.89343  -7347667.72842  21326291.211    21326292.283    21326290.331
+      2303.330        1794.803          56.000          49.000
+ -19855700.93743 -15404115.01642  21566937.429    21566938.851    21566935.939
+     -1123.309        -875.306          55.000          48.000
+   -407836.55853   -271349.87752  25206205.599    25206209.634    25206202.774
+      3218.849        2508.194          42.000          34.000
+ -15146864.59543 -11792652.83142  21941032.167    21941035.657    21941031.227
+       581.115         452.817          53.000          47.000
+  -8659010.15543  -6744050.08942  23770018.334    23770021.152    23770017.803
+     -3443.290       -2683.083          46.000          40.000
+  -5771521.48243  -4469679.02342  24341656.122    24341659.388    24341655.210
+      -654.510        -510.008          48.000          40.000
+  -4016097.17043  -3120013.34342  24787369.397    24787371.640    24787370.385
+     -1550.722       -1208.355          39.000          33.000
+  -6195393.85743  -4780458.36942  23438179.853    23438182.319    23438178.555
+      1606.731        1251.998          47.000          40.000
+ -14972278.70643 -11620152.87542  22097159.484    22097160.935    22097158.304
+       900.465         701.661          53.000          46.000
+ -18371950.33243 -14304463.81442  21641245.166    21641248.318    21641244.299
+     -1756.594       -1368.774          54.000          48.000
+ -13173344.85643 -10207008.12042  22764481.737    22764484.844    22764480.391
+      3317.231        2584.855          50.000          44.000
+ 04  2  1 19 27 30.0000000  0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24761521.22143 -19235849.18142  20093744.262    20093745.650    20093742.900
+      -324.459        -252.825          55.000          51.000
+  -9504835.13243  -7401356.98542  21313179.457    21313180.758    21313178.717
+      2289.405        1783.952          55.000          49.000
+ -19821992.91943 -15377849.02742  21573352.025    21573353.485    21573350.704
+     -1124.342        -876.111          55.000          48.000
+   -504459.34343   -346640.32742  25187820.270    25187816.585    25187818.930
+      3221.711        2510.424          40.000          33.000
+ -15164255.73243 -11806204.34742  21937722.751    21937725.946    21937721.508
+       577.577         450.060          53.000          47.000
+  -8555739.30843  -6663579.28642  23789670.028    23789673.032    23789668.482
+     -3442.368       -2682.365          45.000          40.000
+  -5751674.12943  -4454213.55442  24345432.526    24345437.352    24345431.199
+      -669.166        -521.428          46.000          40.000
+  -3969348.85343  -3083586.06142  24796264.702    24796269.263    24796264.899
+     -1566.123       -1220.355          38.000          34.000
+  -6243336.15543  -4817815.99842  23429056.296    23429059.547    23429055.699
+      1588.902        1238.105          48.000          40.000
+ -14999028.37943 -11640996.78142  22092069.696    22092071.824    22092068.465
+       882.170         687.405          53.000          46.000
+ -18319086.74343 -14263271.40542  21651305.229    21651308.140    21651303.987
+     -1768.303       -1377.898          54.000          48.000
+ -13272739.99743 -10284458.85742  22745568.073    22745570.785    22745566.934
+      3308.379        2577.958          50.000          44.000
+ 04  2  1 19 28  0.0000000  0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24751515.46443 -19228052.48142  20095648.132    20095649.630    20095646.913
+      -342.676        -267.020          55.000          51.000
+  -9573308.69443  -7454712.98342  21300149.856    21300150.663    21300148.713
+      2275.500        1773.117          56.000          49.000
+ -19788243.64543 -15351550.88942  21579773.931    21579774.878    21579772.561
+     -1125.528        -877.035          55.000          48.000
+   -601159.55843   -421991.09242  25169417.391    25169420.226    25169419.240
+      3225.115        2513.077          39.000          33.000
+ -15181533.04543 -11819667.17342  21934435.281    21934438.221    21934434.210
+       574.126         447.371          53.000          47.000
+  -8452481.48043  -6583118.66342  23809317.807    23809323.251    23809319.081
+     -3441.699       -2681.843          45.000          40.000
+  -5731386.17543  -4438404.76542  24349291.923    24349296.007    24349292.748
+      -683.360        -532.488          46.000          39.000
+  -3922122.70543  -3046786.43742  24805251.732    24805256.011    24805250.169
+     -1582.387       -1233.029          39.000          35.000
+  -6290742.72043  -4854756.19542  23420035.516    23420038.412    23420034.263
+      1571.218        1224.326          47.000          40.000
+ -15025222.65443 -11661407.90142  22087084.832    22087086.491    22087083.745
+       864.021         673.263          53.000          46.000
+ -18265864.92443 -14221799.86242  21661432.631    21661436.191    21661431.671
+     -1779.787       -1386.847          54.000          48.000
+ -13371860.09843 -10361695.29142  22726705.413    22726708.935    22726703.814
+      3299.326        2570.903          50.000          44.000
+ 04  2  1 19 28 30.0000000  0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24740953.67543 -19219822.50942  20097658.008    20097659.785    20097656.716
+      -361.098        -281.375          55.000          51.000
+  -9641355.98243  -7507736.82742  21287200.871    21287201.623    21287199.988
+      2261.405        1762.134          56.000          49.000
+ -19754456.64543 -15325223.35642  21586203.424    21586204.683    21586202.075
+     -1126.685        -877.936          55.000          48.000
+   -697938.55643   -497403.31142  25150998.791    25151001.436    25150998.367
+      3227.041        2514.577          39.000          33.000
+ -15198700.71243 -11833044.56342  21931167.714    21931171.165    21931166.311
+       570.761         444.749          53.000          47.000
+  -8349242.29643  -6502672.55742  23828965.876    23828967.933    23828965.223
+     -3440.439       -2680.861          46.000          40.000
+  -5710660.57943  -4422254.93942  24353237.883    24353241.522    24353236.518
+      -697.914        -543.829          48.000          40.000
+  -3874422.63843  -3009617.53742  24814329.942    24814334.211    24814328.214
+     -1597.807       -1245.044          42.000          36.000
+  -6337615.20143  -4891280.19242  23411115.106    23411118.444    23411113.795
+      1553.620        1210.613          47.000          40.000
+ -15050864.21243 -11681388.33842  22082205.258    22082207.199    22082204.570
+       845.628         658.931          53.000          46.000
+ -18212287.96643 -14180051.58742  21671628.393    21671631.293    21671627.287
+     -1791.562       -1396.022          55.000          48.000
+ -13470705.91243 -10438717.99042  22707895.352    22707898.687    22707894.315
+      3290.515        2564.038          50.000          44.000
+ 04  2  1 19 29  0.0000000  0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24729841.96143 -19211164.02642  20099772.698    20099774.238    20099771.343
+      -379.602        -295.794          55.000          51.000
+  -9708980.39243  -7560431.16042  21274332.058    21274333.026    21274331.402
+      2246.987        1750.899          56.000          49.000
+ -19720637.12243 -15298870.47742  21592638.937    21592640.539    21592638.083
+     -1127.962        -878.931          55.000          48.000
+   -794799.66243   -572879.50542  25132569.854    25132568.977    25132567.219
+      3229.916        2516.818          41.000          32.000
+ -15215764.55843 -11846341.04842  21927920.839    21927923.963    21927919.445
+       566.971         441.796          53.000          47.000
+  -8246029.16243  -6422246.75542  23848607.834    23848607.839    23848604.384
+     -3439.971       -2680.497          46.000          40.000
+  -5689501.89343  -4405767.61042  24357262.621    24357267.519    24357262.170
+      -712.615        -555.284          47.000          39.000
+  -3826254.50143  -2972083.91342  24823498.037    24823499.224    24823498.306
+     -1613.276       -1257.098          42.000          36.000
+  -6383957.25643  -4927390.86642  23402295.922    23402300.324    23402294.508
+      1535.783        1196.714          46.000          41.000
+ -15075957.03343 -11700941.18642  22077429.676    22077432.008    22077429.203
+       827.246         644.607          53.000          46.000
+ -18158360.87043 -14138030.48042  21681890.713    21681893.477    21681889.330
+     -1803.559       -1405.371          55.000          48.000
+ -13569280.08943 -10515529.01542  22689137.541    22689141.128    22689135.836
+      3281.263        2556.828          50.000          44.000
+ 04  2  1 19 29 30.0000000  0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24718173.85743 -19202071.99142  20101992.848    20101994.367    20101991.692
+      -397.830        -309.997          55.000          51.000
+  -9776173.32543  -7612789.27542  21261546.233    21261546.904    21261545.080
+      2232.764        1739.816          56.000          49.000
+ -19686778.49243 -15272487.13342  21599081.808    21599083.336    21599080.726
+     -1128.936        -879.690          55.000          48.000
+   -891734.25543   -648412.97542  25114123.797    25114120.280    25114119.935
+      3233.055        2519.264          41.000          33.000
+ -15232718.54743 -11859551.93342  21924694.375    21924698.443    21924693.045
+       563.661         439.216          53.000          46.000
+  -8142837.45643  -6341837.64342  23868243.253    23868245.321    23868243.661
+     -3439.036       -2679.768          47.000          40.000
+  -5667902.71143  -4388937.05642  24361373.459    24361375.765    24361374.275
+      -726.865        -566.388          47.000          40.000
+  -3777612.09543  -2934180.79942  24832752.108    24832757.920    24832750.861
+     -1629.034       -1269.377          40.000          35.000
+  -6429760.54543  -4963081.76542  23393580.021    23393583.849    23393579.440
+      1518.004        1182.860          46.000          40.000
+ -15100493.68843 -11720060.65542  22072760.971    22072763.223    22072760.039
+       808.909         630.319          52.000          46.000
+ -18104076.57543 -14095731.03542  21692220.501    21692223.733    21692219.146
+     -1815.106       -1414.368          54.000          48.000
+ -13667573.14943 -10592120.98242  22670433.082    22670436.482    22670432.265
+      3272.037        2549.639          50.000          44.000
+ 04  2  1 19 30  0.0000000  0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24705955.48243 -19192551.17142  20104317.898    20104319.520    20104316.605
+      -416.657        -324.668          55.000          51.000
+  -9842937.29043  -7664813.13242  21248840.970    21248841.979    21248840.287
+      2218.000        1728.312          56.000          49.000
+ -19652886.02943 -15246077.42142  21605531.612    21605532.816    21605530.511
+     -1130.486        -880.898          55.000          48.000
+   -988744.93443   -724005.69042  25095663.029    25095662.766    25095663.265
+      3234.846        2520.659          43.000          34.000
+ -15249567.81543 -11872681.21742  21921488.546    21921491.685    21921486.525
+       559.737         436.159          53.000          47.000
+  -8039673.91143  -6261450.47842  23887875.006    23887877.560    23887873.950
+     -3438.863       -2679.633          47.000          40.000
+  -5645867.38943  -4371766.65942  24365564.580    24365569.884    24365564.617
+      -741.882        -578.090          46.000          40.000
+  -3728500.82043  -2895912.31642  24842099.520    24842100.944    24842099.304
+     -1644.919       -1281.755          39.000          34.000
+  -6475028.27043  -4998355.31942  23384966.168    23384970.516    23384964.999
+      1499.780        1168.660          47.000          41.000
+ -15124477.70243 -11738749.50142  22068196.248    22068199.328    22068195.420
+       790.054         615.626          52.000          46.000
+ -18049439.55143 -14053156.73142  21702617.270    21702619.888    21702616.373
+     -1827.231       -1423.816          54.000          48.000
+ -13765587.07743 -10668495.46642  22651781.809    22651784.988    22651780.980
+      3262.320        2542.068          51.000          44.000
+ 04  2  1 19 30 30.0000000  0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24693185.40743 -19182600.45742  20106747.861    20106749.749    20106746.683
+      -433.787        -338.016          55.000          51.000
+  -9909268.70243  -7716499.92842  21236218.291    21236219.331    21236217.448
+      2204.820        1718.042          56.000          49.000
+ -19618957.89743 -15219639.90842  21611987.844    21611989.087    21611986.760
+     -1130.480        -880.893          55.000          48.000
+  -1085827.89943   -799654.70342  25077187.817    25077188.478    25077188.228
+      3238.204        2523.276          43.000          34.000
+ -15266310.96243 -11885727.81242  21918302.077    21918304.900    21918300.452
+       557.333         434.285          53.000          47.000
+  -7936538.87243  -6181085.50842  23907499.918    23907502.426    23907498.048
+     -3436.036       -2677.431          47.000          40.000
+  -5623393.47643  -4354254.50642  24369843.654    24369847.070    24369842.724
+      -755.324        -588.564          47.000          40.000
+  -3678919.30143  -2857277.34842  24851530.135    24851535.530    24851530.564
+     -1659.279       -1292.945          38.000          34.000
+  -6519756.87743  -5033208.77242  23376455.179    23376457.335    23376454.408
+      1483.076        1155.644          47.000          41.000
+ -15147906.58343 -11757005.76342  22063738.290    22063740.882    22063737.110
+       772.733         602.130          53.000          46.000
+ -17994447.77643 -14010305.99342  21713081.459    21713085.006    21713080.547
+     -1837.972       -1432.186          54.000          48.000
+ -13863317.48743 -10744649.02342  22633183.894    22633188.148    22633182.527
+      3253.992        2535.578          51.000          44.000
+ 04  2  1 19 31  0.0000000  0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24679868.52743 -19172223.66442  20109282.075    20109283.850    20109280.992
+      -452.503        -352.600          55.000          51.000
+  -9975169.68043  -7767851.32142  21223677.752    21223678.697    21223677.109
+      2190.090        1706.564          56.000          49.000
+ -19584998.75243 -15193178.23342  21618450.074    21618451.517    21618449.299
+     -1131.912        -882.009          55.000          48.000
+  -1182985.17443   -875361.61642  25058699.309    25058703.184    25058700.275
+      3240.261        2524.879          42.000          34.000
+ -15282952.75743 -11898695.42842  21915135.695    21915138.842    21915133.978
+       553.621         431.393          53.000          47.000
+  -7833438.40243  -6100747.47242  23927119.899    23927120.865    23927118.781
+     -3435.482       -2676.999          47.000          40.000
+  -5600484.58943  -4336403.41442  24374203.255    24374205.684    24374202.847
+      -770.361        -600.281          47.000          40.000
+                  -2818279.76552  24861056.374    24861060.871
+     -1675.534       -1305.611          37.000          33.000
+  -6563949.14343  -5067644.30542  23368046.251    23368048.563    23368044.899
+      1464.673        1141.304          48.000          41.000
+ -15170783.50243 -11774831.94042  22059384.874    22059387.213    22059383.895
+       753.952         587.495          52.000          46.000
+ -17939105.18643 -13967181.90342  21723613.124    21723616.376    21723612.343
+     -1850.042       -1441.591          54.000          48.000
+ -13960765.89143 -10820582.82042  22614640.025    22614644.375    22614638.888
+      3244.137        2527.899          50.000          44.000
+ 04  2  1 19 31 30.0000000  0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24666001.61643 -19161418.27542  20111920.743    20111922.662    20111919.695
+      -470.779        -366.841          55.000          51.000
+ -10040634.60643  -7818862.93342  21211220.050    21211221.349    21211219.210
+      2175.447        1695.153          56.000          49.000
+ -19551004.53743 -15166689.22842  21624919.182    21624919.947    21624917.811
+     -1133.138        -882.965          55.000          48.000
+  -1280210.95443   -951121.94542  25040197.639    25040199.806    25040197.717
+      3242.214        2526.401          43.000          34.000
+ -15299489.99843 -11911581.57742  21911988.505    21911991.833    21911987.098
+       550.182         428.713          53.000          47.000
+  -7730370.86143  -6020435.07942  23946732.551    23946735.101    23946731.493
+     -3434.377       -2676.138          47.000          40.000
+  -5577136.37443  -4318210.01442  24378645.446    24378650.730    24378646.015
+      -784.868        -611.585          46.000          40.000
+                  -2778917.03052  24870668.422    24870671.144
+     -1691.179       -1317.802          38.000          33.000
+  -6607599.64543  -5101657.68642  23359739.736    23359742.303    23359738.629
+      1446.663        1127.270          48.000          41.000
+ -15193103.83243 -11792224.41542  22055137.068    22055140.042    22055136.629
+       735.273         572.940          52.000          46.000
+ -17883407.57343 -13923781.16242  21734211.806    21734215.428    21734211.021
+     -1861.870       -1450.808          54.000          48.000
+ -14057925.71043 -10896291.75042  22596150.823    22596155.619    22596149.669
+      3234.257        2520.200          50.000          44.000
+ 04  2  1 19 32  0.0000000  0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24651589.28543 -19150187.87842  20114663.457    20114665.021    20114662.185
+      -489.325        -381.292          55.000          51.000
+ -10105664.57043  -7869535.61842  21198845.687    21198846.591    21198844.787
+      2160.513        1683.517          56.000          49.000
+ -19516978.18243 -15140175.18342  21631393.492    21631395.009    21631392.602
+     -1134.695        -884.178          55.000          48.000
+  -1377506.17843  -1026936.41742  25021683.797    25021684.582    25021683.587
+      3244.309        2528.033          44.000          35.000
+ -15315926.41743 -11924389.15842  21908860.606    21908863.915    21908859.132
+       546.200         425.610          53.000          47.000
+  -7627341.40343  -5940152.37342  23966338.606    23966341.152    23966337.989
+     -3433.455       -2675.419          48.000          40.000
+  -5553351.30543  -4299676.18142  24383172.326    24383174.958    24383170.312
+      -799.951        -623.338          46.000          40.000
+  -3527376.64553  -2739192.17142  24880370.961    24880378.656    24880368.288
+     -1706.971       -1330.107          39.000          33.000
+  -6650709.86943  -5135250.05942  23351534.654    23351539.111    23351533.004
+      1428.191        1112.876          46.000          41.000
+ -15214869.69543 -11809184.82842  22050995.996    22050997.993    22050995.021
+       716.319         558.171          53.000          46.000
+ -17827357.83243 -13880106.03742  21744878.322    21744881.153    21744876.773
+     -1874.153       -1460.379          54.000          48.000
+ -14154797.53043 -10971776.27042  22577716.274    22577721.132    22577715.891
+      3224.412        2512.529          50.000          44.000
+ 04  2  1 19 32 30.0000000  0 12G18G22G21G 3G15G30G26G29G 2G16G 6G23
+ -24636631.30043 -19138532.29942  20117509.789    20117511.308    20117508.598
+      -508.033        -395.870          55.000          51.000
+ -10170257.11743  -7919867.45542  21186554.370    21186555.029    21186553.246
+      2145.415        1671.752          56.000          49.000
+ -19482919.38543 -15113635.86342  21637874.974    21637876.743    21637873.814
+     -1136.153        -885.314          55.000          48.000
+  -1474868.43143  -1102803.09342  25003156.436    25003157.032    25003154.059
+      3245.868        2529.248          45.000          34.000
+ -15332261.98643 -11937118.16142  21905752.044    21905754.566    21905750.471
+       542.411         422.658          53.000          47.000
+  -7524351.54743  -5859900.55142  23985936.643    23985939.851    23985936.344
+     -3432.581       -2674.738          47.000          40.000
+  -5529128.67743  -4280801.37942  24387780.645    24387783.535    24387780.761
+      -815.079        -635.126          45.000          40.000
+  -3475931.85243  -2699105.35142  24890161.497    24890165.720    24890162.626
+     -1722.730       -1342.387          38.000          33.000
+  -6693277.83943  -5168419.91442  23343435.082    23343438.021    23343433.825
+      1409.405        1098.238          46.000          41.000
+ -15236079.78643 -11825712.17542  22046960.312    22046962.234    22046958.989
+       697.353         543.392          53.000          46.000
+ -17770955.16943 -13836155.91542  21755610.825    21755614.088    21755609.951
+     -1886.176       -1469.747          54.000          48.000
+ -14251378.25343 -11047033.96442  22559338.369    22559341.630    22559337.485
+      3214.194        2504.567          50.000          44.000
+ 04  2  1 19 33  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24621129.08743 -19126452.64042  20120459.902    20120461.362    20120458.661
+      -526.245        -410.061          55.000          51.000
+ -10234411.24143  -7969857.66342  21174345.816    21174346.995    21174344.890
+      2130.616        1660.220          56.000          49.000
+ -19448828.90943 -15087071.85242  21644362.625    21644363.906    21644361.346
+     -1137.377        -886.268          55.000          48.000
+  -1572296.16843  -1178720.81542  24984614.188    24984619.137    24984616.723
+      3248.339        2531.173          43.000          34.000
+ -15348497.86243 -11949769.48042  21902662.214    21902665.157    21902661.949
+       539.050         420.039          53.000          47.000
+  -7421403.98843  -5779681.66942  24005528.030    24005530.767    24005527.020
+     -3431.421       -2673.834          48.000          40.000
+  -5504468.48343  -4261585.65642  24392471.744    24392478.040    24392472.415
+      -829.715        -646.531          45.000          39.000
+  -6735302.58943  -5201166.45842  23335436.816    23335440.246    23335436.056
+      1391.037        1083.925          46.000          41.000
+ -15256733.99943 -11841806.36942  22043029.423    22043031.030    22043028.376
+       678.737         528.886          53.000          46.000
+ -17714200.00243 -13791931.11142  21766410.905    21766413.831    21766409.751
+     -1898.171       -1479.094          53.000          47.000
+ -14347665.63343 -11122063.07942  22541015.392    22541018.606    22541014.136
+      3204.224        2496.798          50.000          44.000
+ 04  2  1 19 33 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24605085.12743 -19113950.85042  20123512.988    20123514.708    20123511.637
+      -543.003        -423.119          55.000          51.000
+ -10298126.55643  -8019505.94642  21162221.347    21162222.092    21162220.239
+      2117.312        1649.854          56.000          49.000
+ -19414708.42243 -15060484.45642  21650855.648    21650856.901    21650853.950
+     -1137.004        -885.977          55.000          48.000
+  -1669788.93943  -1254689.21342  24966064.192    24966065.011    24966061.983
+      3251.302        2533.482          42.000          34.000
+ -15364636.01243 -11962344.65042  21899592.204    21899594.541    21899590.623
+       537.157         418.564          54.000          47.000
+  -7318502.20943  -5699498.44442  24025109.856    24025111.280    24025109.552
+     -3428.392       -2671.474          47.000          39.000
+  -5479371.84043  -4242029.80542  24397249.982    24397253.904    24397249.555
+      -842.857        -656.772          46.000          40.000
+  -6776784.38343  -5233489.94942  23327545.224    23327547.313    23327543.568
+      1374.560        1071.086          48.000          42.000
+ -15276833.43543 -11857468.26642  22039204.532    22039206.770    22039203.542
+       661.677         515.592          52.000          46.000
+ -17657093.70643 -13747432.70842  21777277.616    21777281.033    21777276.877
+     -1908.465       -1487.115          53.000          47.000
+ -14443658.84643 -11196862.97542  22522748.785    22522751.409    22522747.306
+      3195.726        2490.176          50.000          44.000
+ 04  2  1 19 34  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24588501.84043 -19101028.79742  20126668.467    20126670.104    20126667.240
+      -561.687        -437.678          55.000          51.000
+ -10361403.12443  -8068812.34442  21150179.826    21150181.074    21150178.923
+      2101.945        1637.879          56.000          49.000
+ -19380560.37643 -15033875.58142  21657353.500    21657354.933    21657351.989
+     -1138.657        -887.265          55.000          48.000
+  -1767346.76043  -1330708.20342  24947500.880    24947501.947    24947497.786
+      3253.098        2534.882          44.000          35.000
+ -15380678.85443 -11974845.54542  21896539.346    21896541.641    21896537.302
+       533.311         415.567          54.000          47.000
+  -7215650.17743  -5619354.01742  24044681.203    24044684.145    24044682.143
+     -3427.483       -2670.766          46.000          39.000
+  -5453840.22743  -4222135.05542  24402107.906    24402111.004    24402107.987
+      -858.408        -668.889          46.000          40.000
+  -6817723.75843  -5265390.76342  23319753.606    23319757.403    23319752.329
+      1355.706        1056.394          47.000          42.000
+ -15296378.91243 -11872698.50142  22035485.082    22035486.842    22035483.956
+       642.289         500.485          53.000          46.000
+ -17599638.07943 -13702662.08242  21788211.425    21788214.415    21788211.150
+     -1920.916       -1496.818          54.000          47.000
+ -14539357.18943 -11271433.09642  22504538.469    22504541.350    22504537.007
+      3185.138        2481.926          51.000          45.000
+ 04  2  1 19 34 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24571376.14643 -19087684.09142  20129927.640    20129929.115    20129926.347
+      -579.922        -451.887          55.000          51.000
+ -10424234.60243  -8117771.91942  21138223.960    21138224.367    21138222.892
+      2086.941        1626.188          56.000          49.000
+ -19346379.11243 -15007240.82342  21663858.274    21663859.209    21663856.935
+     -1139.963        -888.283          55.000          48.000
+  -1864962.47943  -1406772.39742  24928923.487    24928926.740    24928923.402
+      3254.821        2536.224          44.000          36.000
+ -15396622.22043 -11987268.93642  21893505.046    21893507.566    21893503.371
+       529.839         412.861          53.000          47.000
+  -7112845.19843  -5539246.25442  24064244.305    24064246.050    24064243.622
+     -3425.784       -2669.442          46.000          39.000
+  -5427868.63943  -4201897.44542  24407050.384    24407053.923    24407049.792
+      -872.949        -680.220          46.000          40.000
+  -6858114.37243  -5296863.95542  23312068.485    23312070.510    23312066.275
+      1337.153        1041.937          47.000          42.000
+ -15315364.91843 -11887492.79242  22031871.878    22031874.118    22031870.740
+       623.525         485.864          52.000          46.000
+ -17541828.11643 -13657615.36042  21799212.438    21799215.789    21799212.047
+     -1932.936       -1506.184          54.000          48.000
+ -14634753.16743 -11345767.60742  22486385.085    22486388.140    22486383.552
+      3174.717        2473.805          51.000          45.000
+ 04  2  1 19 35  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24553716.04643 -19073922.96542  20133287.924    20133289.723    20133286.788
+      -597.799        -465.817          55.000          51.000
+ -10486626.53643  -8166388.98842  21126350.508    21126351.876    21126349.981
+      2072.169        1614.677          56.000          49.000
+ -19312172.96743 -14980586.67642  21670367.339    21670368.351    21670366.350
+     -1140.893        -889.007          55.000          48.000
+  -1962641.68643  -1482886.08642  24910335.145    24910335.816    24910334.094
+      3256.939        2537.875          43.000          36.000
+ -15412474.33043 -11999621.21542  21890488.084    21890491.400    21890486.450
+       526.564         410.310          53.000          47.000
+  -7010096.76343  -5459182.53542  24083796.758    24083799.578    24083796.945
+     -3424.191       -2668.201          46.000          39.000
+  -5401464.19143  -4181322.54742  24412075.445    24412077.424    24412075.017
+      -887.550        -691.597          46.000          40.000
+  -6897962.47943  -5327914.44542  23304485.619    23304488.361    23304484.359
+      1318.839        1027.667          48.000          42.000
+ -15333798.61343 -11901856.71642  22028364.846    22028365.936    22028362.543
+       604.930         471.374          53.000          46.000
+ -17483671.33043 -13612298.39142  21810279.448    21810282.340    21810278.577
+     -1944.581       -1515.258          54.000          48.000
+ -14729851.77543 -11419870.41542  22468288.084    22468291.289    22468287.571
+      3164.741        2466.032          51.000          45.000
+ 04  2  1 19 35 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24535516.49843 -19059741.49042  20136751.606    20136753.206    20136750.285
+      -615.305        -479.458          55.000          51.000
+ -10548571.38343  -8214657.68542  21114563.077    21114563.708    21114562.082
+      2057.685        1603.391          56.000          49.000
+ -19277935.93043 -14953908.46242  21676882.311    21676883.812    21676880.881
+     -1141.346        -889.360          54.000          48.000
+  -2060376.24943  -1559042.88442  24891737.216    24891738.743    24891736.965
+      3259.013        2539.491          44.000          37.000
+ -15428229.81343 -12011898.20742  21887490.098    21887493.335    21887488.786
+       523.941         408.266          53.000          47.000
+  -6907400.94543  -5379159.83742  24103337.490    24103340.812    24103336.925
+     -3421.918       -2666.430          44.000          39.000
+  -5374620.42843  -4160405.31842  24417184.142    24417187.122    24417183.101
+      -901.817        -702.714          47.000          40.000
+  -6937260.93743  -5358536.59542  23297006.656    23297010.814    23297006.001
+      1300.994        1013.761          48.000          42.000
+ -15351673.33343 -11915785.06342  22024962.073    22024964.441    22024961.561
+       586.891         457.318          52.000          46.000
+ -17425161.75043 -13566706.52142  21821413.878    21821416.287    21821412.923
+     -1955.878       -1524.061          54.000          48.000
+ -14824644.60843 -11493734.94942  22450249.566    22450253.302    22450248.321
+      3154.920        2458.379          51.000          45.000
+ 04  2  1 19 36  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24516781.59043 -19045142.85642  20140316.506    20140318.189    20140315.330
+      -633.176        -493.384          55.000          51.000
+ -10610070.19643  -8262578.82142  21102860.335    21102861.011    21102859.169
+      2042.724        1591.733          56.000          49.000
+ -19243670.93543 -14927208.46142  21683402.765    21683404.068    21683401.514
+     -1142.378        -890.165          55.000          48.000
+  -2158166.87143  -1635243.33342  24873128.847    24873130.843    24873127.468
+      3260.757        2540.850          45.000          38.000
+ -15443891.94443 -12024102.45342  21884509.204    21884512.801    21884508.020
+       520.663         405.711          53.000          47.000
+  -6804762.84943  -5299182.10342  24122867.678    24122872.875    24122867.880
+     -3419.994       -2664.930          44.000          38.000
+  -5347340.13743  -4139147.94042  24422374.049    24422377.717    24422373.570
+      -916.514        -714.167          46.000          40.000
+  -6976011.18443  -5388731.60442  23289633.220    23289636.010    23289632.256
+      1282.775         999.565          48.000          42.000
+ -15368991.38943 -11929279.65242  22021668.630    22021669.986    22021666.770
+       568.207         442.759          53.000          46.000
+ -17366301.86043 -13520841.67642  21832614.226    21832617.240    21832613.287
+     -1967.524       -1533.135          54.000          47.000
+ -14919131.89543 -11567361.40242  22432268.997    22432273.249    22432267.899
+      3144.720        2450.431          51.000          45.000
+ 04  2  1 19 36 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24497512.21743 -19030127.75242  20143983.244    20143985.020    20143982.180
+      -651.612        -507.750          55.000          51.000
+ -10671121.04743  -8310150.88942  21091242.136    21091243.451    21091241.492
+      2027.133        1579.584          56.000          50.000
+ -19209377.71343 -14900486.46342  21689929.030    21689930.032    21689927.461
+     -1143.948        -891.388          55.000          48.000
+  -2256011.27743  -1711485.67942  24854510.000    24854510.969    24854509.199
+      3261.728        2541.606          45.000          38.000
+ -15459460.92243 -12036234.11542  21881546.551    21881549.562    21881544.828
+       517.069         402.911          53.000          47.000
+  -6702184.10043  -5219250.61442  24142389.371    24142393.451    24142389.083
+     -3418.832       -2664.025          45.000          39.000
+  -5319622.67543  -4117549.91842  24427650.739    24427650.961    24427649.324
+      -931.551        -725.884          47.000          40.000
+  -7014211.63143  -5418498.17342  23282364.009    23282367.831    23282362.768
+      1263.815         984.791          48.000          42.000
+ -15385751.80843 -11942339.71742  22018478.155    22018480.550    22018477.123
+       549.067         427.844          53.000          46.000
+ -17307091.53943 -13474703.77542  21843880.720    21843884.461    21843880.140
+     -1979.900       -1542.779          53.000          47.000
+ -15013310.91643 -11640747.63842  22414346.312    22414351.644    22414345.536
+      3133.779        2441.906          50.000          45.000
+ 04  2  1 19 37  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24477710.95943 -19014698.19142  20147751.300    20147752.889    20147749.896
+      -669.434        -521.637          55.000          51.000
+ -10731724.18043  -8357374.09742  21079710.696    21079711.088    21079709.594
+      2012.085        1567.858          56.000          50.000
+ -19175057.77843 -14873743.65442  21696459.764    21696460.925    21696458.156
+     -1145.000        -892.208          55.000          48.000
+  -2353909.02943  -1787769.62442  24835880.085    24835881.725    24835879.274
+      3263.697        2543.141          45.000          38.000
+ -15474939.16343 -12048295.06842  21878601.423    21878604.057    21878599.830
+       513.942         400.474          53.000          47.000
+  -6599668.44843  -5139368.31842  24161897.319    24161900.604    24161896.028
+     -3417.062       -2662.646          45.000          39.000
+  -5291469.64343  -4095612.49042  24433005.729    24433009.954    24433004.800
+      -946.204        -737.302          47.000          40.000
+  -7051863.02143  -5447836.91542  23275197.818    23275201.606    23275196.956
+      1245.350         970.403          47.000          41.000
+ -15401955.99143 -11954966.35142  22015394.564    22015396.718    22015393.382
+       530.362         413.269          53.000          46.000
+ -17247532.35143 -13428294.02542  21855214.872    21855218.192    21855214.063
+     -1991.525       -1551.838          53.000          47.000
+ -15107180.97843 -11713893.13242  22396485.038    22396488.460    22396482.929
+      3123.265        2433.713          51.000          45.000
+ 04  2  1 19 37 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24457381.30343 -18998856.89242  20151619.740    20151621.641    20151618.441
+      -686.591        -535.006          55.000          51.000
+ -10791879.93743  -8404248.69842  21068263.111    21068263.900    21068262.257
+      1997.622        1556.589          56.000          50.000
+ -19140713.65543 -14846981.99742  21702994.789    21702996.317    21702993.745
+     -1145.237        -892.392          55.000          48.000
+  -2451860.56543  -1864095.52442  24817238.123    24817243.275    24817238.772
+      3265.720        2544.717          44.000          38.000
+ -15490329.36543 -12060287.42642  21875672.376    21875676.129    21875671.395
+       511.449         398.532          53.000          47.000
+  -6497220.38443  -5059538.67842  24181393.371    24181396.903    24181393.544
+     -3414.051       -2660.299          46.000          39.000
+  -5262882.96243  -4073337.15042  24438446.778    24438450.101    24438445.459
+      -959.952        -748.014          47.000          40.000
+  -7088966.32943  -5476748.58142  23268137.154    23268142.815    23268135.849
+      1227.415         956.427          47.000          42.000
+ -15417605.67643 -11967160.90742  22012416.978    22012418.632    22012415.734
+       512.262         399.165          53.000          46.000
+ -17187626.67543 -13381614.28042  21866614.331    21866617.754    21866613.533
+     -2002.825       -1560.643          53.000          47.000
+ -15200741.76943 -11786797.63142  22378680.754    22378684.716    22378679.526
+      3113.331        2425.972          51.000          45.000
+ 04  2  1 19 38  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24436523.03543 -18982603.68542  20155589.138    20155590.754    20155587.855
+      -704.900        -549.273          55.000          51.000
+ -10851586.00143  -8450772.87942  21056901.318    21056902.394    21056900.436
+      1981.805        1544.264          56.000          50.000
+ -19106344.38243 -14820200.73442  21709536.180    21709535.913    21709534.423
+     -1146.992        -893.760          55.000          48.000
+  -2549862.57243  -1940460.69342  24798589.365    24798593.964    24798588.230
+      3266.691        2545.474          44.000          39.000
+ -15505631.18743 -12072210.91242  21872760.569    21872763.866    21872759.488
+       507.694         395.606          53.000          47.000
+  -6394840.71743  -4979762.30842  24200877.310    24200879.062    24200876.369
+     -3412.474       -2659.071          47.000          39.000
+  -5233861.44143  -4050722.94842  24443969.376    24443972.318    24443968.776
+      -975.200        -759.896          47.000          40.000
+  -7125519.37443  -5505231.47142  23261180.634    23261185.678    23261179.183
+      1208.404         941.614          46.000          41.000
+ -15432699.40543 -11978922.26042  22009544.084    22009546.596    22009543.217
+       492.894         384.073          53.000          46.000
+ -17127373.50943 -13334663.76242  21878080.716    21878083.484    21878080.051
+     -2015.243       -1570.319          54.000          47.000
+ -15293989.83743 -11859458.43642  22360936.072    22360939.164    22360934.186
+      3102.059        2417.189          51.000          45.000
+ 04  2  1 19 38 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24415139.70143 -18965941.34042  20159658.252    20159660.036    20159656.861
+      -721.241        -562.006          55.000          51.000
+ -10910842.48643  -8496946.74742  21045625.491    21045626.104    21045624.324
+      1968.003        1533.509          56.000          50.000
+ -19071952.25943 -14793401.67742  21716080.382    21716081.110    21716078.622
+     -1146.327        -893.242          55.000          48.000
+  -2647914.88043  -2016865.07342  24779930.601    24779935.471    24779930.744
+      3269.874        2547.954          44.000          39.000
+ -15520847.03643 -12084067.40642  21869865.671    21869868.785    21869864.364
+       506.027         394.307          53.000          47.000
+  -6292533.59343  -4900042.46542  24220345.615    24220346.613    24220343.970
+     -3408.726       -2656.150          47.000          39.000
+  -5204406.84943  -4027771.31442  24449572.611    24449576.302    24449572.976
+      -988.540        -770.291          45.000          40.000
+  -7161522.96843  -5533286.23942  23254331.783    23254335.276    23254329.909
+      1191.408         928.370          47.000          42.000
+ -15447238.69343 -11990251.57842  22006777.275    22006779.105    22006776.486
+       475.760         370.722          53.000          46.000
+ -17066774.77943 -13287443.97842  21889611.782    21889615.068    21889611.249
+     -2025.270       -1578.132          53.000          47.000
+ -15386924.71043 -11931875.20442  22343251.712    22343254.307    22343249.703
+      3092.987        2410.120          51.000          45.000
+ 04  2  1 19 39  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24393226.52543 -18948866.12942  20163828.188    20163829.994    20163826.876
+      -739.535        -576.261          56.000          51.000
+ -10969642.27343  -8542764.74342  21034435.557    21034436.655    21034435.044
+      1952.117        1521.130          56.000          50.000
+ -19037532.07643 -14766580.74442  21722630.159    21722630.514    21722628.696
+     -1147.971        -894.523          55.000          47.000
+  -2746009.80643  -2093302.67342  24761265.324    24761266.618    24761264.769
+      3270.498        2548.440          45.000          38.000
+ -15535971.98443 -12095853.07442  21866987.798    21866990.404    21866986.334
+       502.322         391.420          53.000          47.000
+  -6190295.35543  -4820376.29842  24239801.190    24239801.279    24239799.977
+     -3406.995       -2654.801          47.000          39.000
+  -5174513.54543  -4004477.81142  24455261.360    24455265.696    24455261.317
+     -1003.560        -781.995          46.000          40.000
+  -7196970.53443  -5560907.68442  23247584.299    23247587.993    23247584.413
+      1172.135         913.352          46.000          41.000
+ -15461217.61243 -12001144.23342  22004117.591    22004118.993    22004116.848
+       456.335         355.586          53.000          46.000
+ -17005824.93943 -13239950.59542  21901210.958    21901214.072    21901209.781
+     -2037.765       -1587.869          54.000          47.000
+ -15479538.33843 -12004041.64842  22325627.888    22325631.104    22325626.217
+      3081.529        2401.191          52.000          45.000
+ 04  2  1 19 39 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24370791.34243 -18931384.15742  20168097.407    20168099.078    20168096.367
+      -756.113        -589.179          55.000          51.000
+ -11027990.29343  -8588230.71742  21023332.217    21023333.629    21023331.673
+      1937.812        1509.983          56.000          50.000
+ -19003089.89343 -14739742.67542  21729183.878    21729184.974    21729182.786
+     -1148.127        -894.644          55.000          47.000
+  -2844151.78843  -2169776.97042  24742588.240    24742592.053    24742588.012
+      3272.415        2549.934          45.000          38.000
+ -15551013.05243 -12107573.37642  21864125.121    21864128.482    21864123.976
+       500.398         389.921          53.000          47.000
+  -6088134.53843  -4740770.49742  24259238.934    24259242.277    24259238.855
+     -3403.854       -2652.354          45.000          38.000
+  -5144187.86243  -3980847.41842  24461031.148    24461035.490    24461030.372
+     -1017.418        -792.793          45.000          39.000
+  -7231867.34143  -5588100.03742  23240945.145    23240949.075    23240944.735
+      1154.379         899.516          48.000          42.000
+ -15474642.09543 -12011604.88242  22001562.805    22001565.273    22001561.545
+       438.591         341.759          53.000          46.000
+ -16944530.49043 -13192188.68642  21912874.401    21912877.410    21912872.892
+     -2048.508       -1596.240          53.000          47.000
+ -15571834.72243 -12075960.89242  22308063.840    22308068.070    22308063.131
+      3071.656        2393.498          51.000          45.000
+ 04  2  1 19 40  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24347830.15143 -18913492.31242  20172466.806    20172468.530    20172465.631
+      -773.954        -603.081          56.000          51.000
+ -11085879.94143  -8633339.51542  21012316.158    21012317.462    21012315.454
+      1922.150        1497.779          56.000          50.000
+ -18968619.65643 -14712882.74542  21735743.256    21735744.007    21735742.236
+     -1149.387        -895.626          55.000          47.000
+  -2942333.59543  -2246282.24842  24723905.581    24723908.593    24723903.961
+      3273.406        2550.706          43.000          39.000
+ -15565965.57743 -12119224.68942  21861279.818    21861283.157    21861278.428
+       497.055         387.316          54.000          47.000
+  -5986047.98443  -4661222.53242  24278664.104    24278667.840    24278664.367
+     -3401.279       -2650.347          44.000          38.000
+  -5113424.33643  -3956875.86542  24466887.922    24466890.390    24466887.202
+     -1032.893        -804.852          46.000          39.000
+  -7266207.32943  -5614858.43342  23234411.527    23234413.112    23234409.651
+      1135.500         884.805          48.000          42.000
+ -15487506.64243 -12021629.20542  21999115.507    21999116.959    21999114.131
+       419.663         327.010          53.000          46.000
+ -16882886.34743 -13144154.30642  21924605.264    21924607.628    21924603.706
+     -2060.480       -1605.569          53.000          47.000
+ -15663806.28943 -12147627.02142  22290561.521    22290565.061    22290560.818
+      3060.590        2384.875          51.000          45.000
+ 04  2  1 19 40 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24324336.98943 -18895185.94042  20176937.170    20176938.993    20176935.992
+      -791.343        -616.631          55.000          51.000
+ -11143302.51043  -8678084.35242  21001389.475    21001390.278    21001388.695
+      1906.851        1485.858          56.000          50.000
+ -18934115.20043 -14685996.14642  21742309.496    21742310.576    21742308.049
+     -1150.248        -896.297          55.000          47.000
+  -3040545.94843  -2322811.30742  24705218.762    24705220.721    24705216.124
+      3274.893        2551.865          44.000          39.000
+ -15580823.02943 -12130801.91342  21858452.798    21858455.778    21858451.125
+       494.244         385.125          54.000          47.000
+  -5884030.49243  -4581728.39342  24298077.072    24298083.614    24298076.205
+     -3398.938       -2648.523          44.000          38.000
+  -5082216.07343  -3932557.73142  24472824.521    24472828.859    24472825.050
+     -1046.790        -815.680          45.000          39.000
+  -7299982.29743  -5641176.63242  23227981.367    23227987.334    23227980.758
+      1116.937         870.341          47.000          42.000
+ -15499804.06743 -12031211.61442  21996774.849    21996777.117    21996773.439
+       400.946         312.425          53.000          46.000
+ -16820885.54643 -13095842.00442  21936403.279    21936406.172    21936401.923
+     -2072.105       -1614.627          53.000          47.000
+ -15755443.65343 -12219032.72842  22273124.220    22273127.641    22273123.416
+      3049.427        2376.177          51.000          45.000
+ 04  2  1 19 41  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24300335.62543 -18876483.57242  20181504.560    20181506.187    20181503.303
+      -809.232        -630.570          55.000          51.000
+ -11200279.36744  -8722481.88542  20990547.137    20990547.920    20990546.463
+      1890.918        1473.443          57.000          50.000
+ -18899599.17143 -14659100.53542  21748877.810    21748878.895    21748876.394
+     -1151.627        -897.372          55.000          47.000
+  -3138809.04343  -2399379.94142  24686519.673    24686521.002    24686518.340
+      3275.320        2552.197          45.000          38.000
+ -15595608.44643 -12142323.01242  21855639.217    21855641.962    21855637.574
+       490.797         382.439          54.000          47.000
+  -5782106.90543  -4502307.42442  24317475.302    24317478.737    24317473.085
+     -3396.859       -2646.903          44.000          38.000
+  -5050585.44543  -3907910.45142  24478844.891    24478849.012    24478843.202
+     -1061.696        -827.295          45.000          40.000
+  -7333213.92843  -5667071.39642  23221660.054    23221662.540    23221658.488
+      1097.864         855.478          48.000          42.000
+ -15511556.66843 -12040369.49042  21994538.875    21994540.445    21994537.336
+       381.966         297.636          53.000          46.000
+ -16758550.85043 -13047269.51342  21948264.896    21948268.086    21948263.929
+     -2084.290       -1624.122          53.000          47.000
+ -15846766.93143 -12290193.71242  22255745.845    22255749.303    22255744.587
+      3038.151        2367.390          51.000          45.000
+ 04  2  1 19 41 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24275819.00243 -18857379.69642  20186169.605    20186171.613    20186168.575
+      -825.773        -643.459          55.000          51.000
+ -11256800.26743  -8766524.12642  20979791.103    20979792.341    20979790.552
+      1876.449        1462.168          56.000          50.000
+ -18865063.21243 -14632189.40142  21755449.480    21755450.649    21755447.921
+     -1151.495        -897.269          55.000          47.000
+  -3237112.02343  -2475979.63542  24667812.754    24667813.901    24667810.299
+      3277.518        2553.910          43.000          38.000
+ -15610313.68243 -12153781.62142  21852840.647    21852843.121    21852838.900
+       488.897         380.959          54.000          47.000
+  -5680270.42243  -4422954.32042  24336854.758    24336857.697    24336852.489
+     -3393.056       -2643.940          45.000          38.000
+  -5018523.77443  -3882927.34142  24484945.649    24484949.605    24484945.411
+     -1075.549        -838.090          46.000          40.000
+  -7365892.47343  -5692535.19142  23215441.263    23215443.277    23215439.340
+      1079.995         841.555          48.000          42.000
+ -15522755.49643 -12049095.84442  21992406.793    21992409.745    21992406.000
+       364.092         283.708          53.000          46.000
+ -16695873.43243 -12998429.97142  21960192.294    21960195.392    21960191.424
+     -2094.993       -1632.462          53.000          47.000
+ -15937765.19643 -12361101.43542  22238429.521    22238433.232    22238428.686
+      3027.873        2359.382          51.000          45.000
+ 04  2  1 19 42  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24250786.10743 -18837873.54142  20190933.654    20190935.191    20190932.291
+      -842.973        -656.862          55.000          51.000
+ -11312861.32743  -8810208.05842  20969123.439    20969123.847    20969122.640
+      1861.191        1450.279          56.000          50.000
+ -18830504.34443 -14605260.41242  21762025.872    21762027.070    21762024.541
+     -1152.197        -897.816          55.000          47.000
+  -3335450.57843  -2552607.05342  24649097.504    24649100.159    24649096.527
+      3278.640        2554.784          44.000          38.000
+ -15624937.19043 -12165176.54942  21850058.372    21850060.598    21850056.814
+       486.220         378.873          54.000          47.000
+  -5578520.72443  -4343668.85042  24356218.122    24356219.219    24356217.592
+     -3389.913       -2641.491          45.000          38.000
+  -4986028.76743  -3857606.57742  24491128.638    24491133.688    24491128.817
+     -1090.310        -849.592          46.000          39.000
+  -7398014.57943  -5717565.41742  23209326.175    23209332.250    23209327.317
+      1061.471         827.120          46.000          41.000
+ -15533398.05443 -12057388.75742  21990382.643    21990384.247    21990381.002
+       345.641         269.331          53.000          46.000
+ -16632851.23843 -12949321.77342  21972184.598    21972188.147    21972184.125
+     -2106.437       -1641.379          53.000          47.000
+ -16028433.69443 -12431752.19042  22221176.327    22221179.613    22221174.702
+      3017.021        2350.925          51.000          45.000
+ 04  2  1 19 42 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24225238.86043 -18817966.58642  20195794.739    20195796.868    20195793.777
+      -859.603        -669.820          55.000          51.000
+ -11368461.44443  -8853532.80642  20958542.795    20958544.216    20958542.089
+      1846.099        1438.519          56.000          50.000
+ -18795922.77543 -14578313.73142  21768606.793    21768607.319    21768604.765
+     -1152.581        -898.115          54.000          47.000
+  -3433822.85943  -2629260.77942  24630377.832    24630381.113    24630375.675
+      3280.186        2555.989          43.000          38.000
+ -15639479.48243 -12176508.18942  21847290.230    21847292.905    21847289.141
+       483.985         377.131          54.000          47.000
+  -5476860.16143  -4264452.82942  24375561.384    24375563.222    24375559.329
+     -3386.785       -2639.053          44.000          37.000
+  -4953100.80543  -3831948.44642  24497395.835    24497398.379    24497396.062
+     -1104.316        -860.506          46.000          39.000
+  -7429579.79143  -5742161.70342  23203322.005    23203324.918    23203320.556
+      1043.523         813.135          48.000          42.000
+ -15543484.33743 -12065248.20142  21988463.164    21988465.346    21988462.314
+       327.437         255.146          53.000          46.000
+ -16569484.60243 -12899945.18542  21984243.156    21984246.762    21984242.234
+     -2117.400       -1649.922          53.000          47.000
+ -16118770.31443 -12502144.33542  22203985.220    22203988.842    22203984.028
+      3006.066        2342.389          51.000          45.000
+ 04  2  1 19 43  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24199181.03043 -18797661.77342  20200753.679    20200755.345    20200752.513
+      -877.264        -683.582          56.000          51.000
+ -11423602.33843  -8896499.72042  20948049.829    20948051.190    20948049.173
+      1830.135        1426.079          56.000          50.000
+ -18761322.00743 -14551352.09542  21775191.089    21775192.089    21775189.468
+     -1153.920        -899.158          54.000          47.000
+  -3532229.88243  -2705941.57442  24611653.067    24611654.351    24611650.553
+      3280.656        2556.355          43.000          38.000
+ -15653944.36143 -12187779.51342  21844537.757    21844540.508    21844536.352
+       480.604         374.497          54.000          47.000
+  -5375293.80643  -4185310.22142  24394889.480    24394888.614    24394888.845
+     -3384.157       -2637.005          45.000          37.000
+  -4919742.86043  -3805955.24642  24503743.633    24503746.352    24503741.945
+     -1119.259        -872.150          45.000          39.000
+  -7460590.41143  -5766325.80442  23197419.536    23197423.489    23197419.573
+      1024.443         798.267          48.000          42.000
+ -15553017.13643 -12072676.36342  21986649.325    21986650.355    21986647.711
+       308.400         240.312          53.000          46.000
+ -16505776.83543 -12850302.78242  21996366.073    21996369.214    21996365.211
+     -2129.580       -1659.413          53.000          47.000
+ -16208775.96643 -12572278.58742  22186857.747    22186861.200    22186856.427
+      2994.359        2333.267          51.000          45.000
+ 04  2  1 19 43 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24172611.64543 -18776958.35042  20205809.594    20205811.463    20205808.475
+      -894.391        -696.928          56.000          51.000
+ -11478280.44943  -8939106.01842  20937645.228    20937646.217    20937644.455
+      1814.536        1413.924          56.000          50.000
+ -18726699.75943 -14524373.71442  21781779.245    21781780.350    21781777.868
+     -1154.696        -899.763          54.000          47.000
+  -3630667.17443  -2782645.92342  24592919.781    24592922.926    24592920.075
+      3281.581        2557.076          44.000          38.000
+ -15668330.19743 -12198989.24442  21841800.408    21841803.658    21841799.014
+       477.962         372.438          54.000          47.000
+  -5273821.26843  -4106240.69542  24414198.135    24414202.799    24414197.055
+     -3381.164       -2634.673          44.000          37.000
+  -4885952.80943  -3779625.35742  24510173.968    24510176.525    24510172.894
+     -1133.936        -883.586          46.000          39.000
+  -7491043.30643  -5790055.35242  23191624.558    23191629.223    23191624.290
+      1005.576         783.566          48.000          42.000
+ -15561994.22543 -12079671.49442  21984940.040    21984943.306    21984939.330
+       289.715         225.752          53.000          46.000
+ -16441725.85843 -12800392.93342  22008555.389    22008557.993    22008554.272
+     -2140.968       -1668.287          53.000          47.000
+ -16298445.95443 -12642151.28942  22169793.881    22169798.389    22169792.270
+      2983.150        2324.532          51.000          46.000
+ 04  2  1 19 44  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24145532.99243 -18755858.08942  20210962.463    20210964.282    20210961.283
+      -911.430        -710.205          56.000          51.000
+ -11532495.21144  -8981351.27142  20927328.484    20927329.294    20927327.638
+      1799.108        1401.902          57.000          50.000
+ -18692056.81443 -14497379.21042  21788370.582    21788372.207    21788369.758
+     -1155.363        -900.283          54.000          47.000
+  -3729133.22143  -2859372.71242  24574181.086    24574183.928    24574180.781
+      3282.073        2557.459          43.000          38.000
+ -15682638.21043 -12210138.34542  21839077.860    21839080.324    21839076.173
+       475.373         370.421          54.000          47.000
+  -5172445.35343  -4027246.49042  24433490.019    24433493.535    24433489.598
+     -3377.616       -2631.908          44.000          37.000
+  -4851731.39543  -3752959.31542  24516687.062    24516689.747    24516685.929
+     -1148.442        -894.890          46.000          40.000
+  -7520938.48543  -5813350.28542  23185937.504    23185940.080    23185935.484
+       986.747         768.894          49.000          42.000
+ -15570416.29943 -12086234.15542  21983337.801    21983339.606    21983337.261
+       271.150         211.286          53.000          46.000
+ -16377332.84143 -12750216.55242  22020809.137    22020811.925    22020808.132
+     -2152.334       -1677.143          53.000          47.000
+ -16387778.79643 -12711761.27742  22152794.705    22152798.624    22152793.657
+      2971.834        2315.715          52.000          46.000
+ 04  2  1 19 44 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24117947.32543 -18734362.75542  20216211.840    20216213.712    20216210.888
+      -927.966        -723.090          56.000          51.000
+ -11586246.22044  -9023235.15742  20917100.103    20917100.670    20917099.111
+      1784.004        1390.133          57.000          50.000
+ -18657393.82943 -14470369.08342  21794967.198    21794968.993    21794966.251
+     -1155.826        -900.644          54.000          47.000
+  -3827626.82043  -2936120.95742  24555440.194    24555442.458    24555438.940
+      3283.591        2558.642          44.000          38.000
+ -15696870.04543 -12221228.08042  21836369.143    21836372.072    21836367.425
+       473.094         368.645          53.000          47.000
+  -5071169.17343  -3948330.01242  24452761.092    24452764.752    24452760.815
+     -3373.960       -2629.060          43.000          36.000
+  -4817079.71543  -3725957.98542  24523278.450    24523283.382    24523279.022
+     -1163.287        -906.457          47.000          39.000
+  -7550276.18343  -5836210.81342  23180353.767    23180357.020    23180351.894
+       968.657         754.798          47.000          42.000
+ -15578284.12643 -12092364.93042  21981840.723    21981842.740    21981839.543
+       253.061         197.190          53.000          46.000
+ -16312598.83643 -12699774.48542  22033127.345    22033130.902    22033126.353
+     -2163.493       -1685.839          53.000          47.000
+ -16476773.16443 -12781107.52142  22135859.892    22135862.901    22135858.773
+      2960.840        2307.148          52.000          46.000
+ 04  2  1 19 45  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24089856.54843 -18712473.83042  20221557.488    20221559.177    20221556.306
+      -944.588        -736.042          56.000          51.000
+ -11639532.43343  -9064756.87242  20906959.655    20906960.594    20906958.764
+      1768.583        1378.117          56.000          50.000
+ -18622711.06843 -14443343.54842  21801567.608    21801568.680    21801566.583
+     -1156.299        -901.012          54.000          47.000
+  -3926146.01643  -3012889.18842  24536692.082    24536694.313    24536690.383
+      3284.404        2559.276          45.000          38.000
+ -15711026.26443 -12232258.89842  21833675.743    21833678.352    21833673.973
+       470.737         366.808          53.000          47.000
+  -4969994.84243  -3869492.85742  24472014.814    24472018.216    24472015.016
+     -3370.744       -2626.554          44.000          37.000
+  -4781998.23543  -3698621.79242  24529954.661    24529957.013    24529954.975
+     -1176.192        -916.513          45.000          39.000
+  -7579055.55343  -5858636.29642  23174876.294    23174881.544    23174874.455
+       950.149         740.376          47.000          42.000
+ -15585598.03343 -12098064.07842  21980448.440    21980451.239    21980448.075
+       234.706         182.888          53.000          46.000
+ -16247524.31143 -12649067.07342  22045510.643    22045513.589    22045509.493
+     -2174.783       -1694.636          53.000          47.000
+ -16565426.90743 -12850188.33542  22118989.583    22118992.918    22118988.202
+      2949.555        2298.355          52.000          46.000
+ 04  2  1 19 45 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24061264.14943 -18690194.03242  20226998.363    20227000.120    20226997.406
+      -961.368        -749.118          56.000          51.000
+ -11692354.69344  -9105917.05842  20896908.138    20896909.236    20896907.404
+      1753.108        1366.058          57.000          50.000
+ -18588010.94943 -14416304.49042  21808170.138    21808171.519    21808169.396
+     -1156.955        -901.523          54.000          47.000
+  -4024690.42943  -3089677.04642  24517940.968    24517942.463    24517937.777
+      3285.143        2559.852          45.000          39.000
+ -15725109.58643 -12243232.90742  21830995.711    21830998.148    21830994.356
+       468.307         364.914          54.000          47.000
+  -4868926.27743  -3790738.12842  24491247.478    24491250.242    24491247.035
+     -3367.125       -2623.734          44.000          37.000
+  -4746489.02043  -3670952.26842  24536712.209    24536717.674    24536713.437
+     -1190.427        -927.605          45.000          39.000
+  -7607278.20343  -5880627.98242  23169507.580    23169510.249    23169505.509
+       931.335         725.716          48.000          42.000
+ -15592360.08743 -12103333.21742  21979162.267    21979164.149    21979160.888
+       216.211         168.476          53.000          46.000
+ -16182111.63543 -12598096.15142  22057957.329    22057960.583    22057956.530
+     -2185.927       -1703.320          52.000          46.000
+ -16653739.93943 -12919003.66842  22102183.796    22102187.514    22102182.486
+      2938.116        2289.441          52.000          46.000
+ 04  2  1 19 46  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24032166.48843 -18667520.51942  20232535.271    20232537.070    20232534.261
+      -978.340        -762.343          56.000          51.000
+ -11744706.69644  -9146710.81242  20886945.964    20886946.653    20886945.207
+      1737.125        1353.604          57.000          50.000
+ -18553287.77243 -14389247.46142  21814777.965    21814779.521    21814776.549
+     -1157.787        -902.172          54.000          47.000
+  -4123253.06443  -3166479.08242  24499182.354    24499187.878    24499182.494
+      3285.762        2560.334          44.000          39.000
+ -15739115.38743 -12254146.50642  21828331.016    21828333.304    21828329.021
+       465.527         362.748          54.000          47.000
+  -4767960.55443  -3712063.55542  24510460.446    24510462.520    24510460.090
+     -3363.757       -2621.109          44.000          37.000
+  -4710547.25443  -3642945.73242  24543552.221    24543555.042    24543551.197
+     -1204.962        -938.931          45.000          39.000
+  -7634938.46943  -5902181.44842  23164242.005    23164247.194    23164242.652
+       912.428         710.983          47.000          42.000
+ -15598565.09743 -12108168.29042  21977981.468    21977983.423    21977979.824
+       197.546         153.932          53.000          46.000
+ -16116355.96843 -12546857.97942  22070471.116    22070474.115    22070469.775
+     -2197.627       -1712.437          52.000          47.000
+ -16741704.96343 -12987547.82242  22085444.699    22085448.542    22085443.428
+      2926.265        2280.206          52.000          46.000
+ 04  2  1 19 46 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -24002571.43943 -18644459.43342  20238167.063    20238168.574    20238165.825
+      -994.715        -775.102          56.000          51.000
+ -11796593.36743  -9187141.97142  20877071.771    20877073.043    20877070.989
+      1721.848        1341.700          56.000          50.000
+ -18518547.91143 -14362177.44542  21821388.489    21821389.650    21821387.586
+     -1158.123        -902.433          54.000          47.000
+  -4221837.79143  -3243298.33342  24480421.542    24480426.591    24480421.567
+      3286.799        2561.142          43.000          38.000
+ -15753050.57443 -12265005.08642  21825678.810    21825681.667    21825677.232
+       463.385         361.079          54.000          47.000
+  -4667105.81243  -3633475.43842  24529650.306    24529656.268    24529651.345
+     -3359.644       -2617.904          43.000          37.000
+  -4674179.30243  -3614607.06342  24550472.148    24550476.403    24550471.696
+     -1219.293        -950.098          44.000          39.000
+  -7662041.78743  -5923300.90542  23159085.716    23159088.794    23159084.165
+       894.280         696.842          49.000          42.000
+ -15604219.45043 -12112574.29042  21976905.345    21976907.128    21976904.356
+       179.494         139.865          53.000          46.000
+ -16050263.86643 -12495357.65442  22083047.460    22083050.743    22083046.442
+     -2208.616       -1720.999          52.000          47.000
+ -16829326.07843 -13055824.00542  22068770.941    22068774.587    22068769.930
+      2915.089        2271.498          52.000          46.000
+ 04  2  1 19 47  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23972480.72243 -18621012.11742  20243893.186    20243894.680    20243892.018
+     -1011.073        -787.849          56.000          51.000
+ -11848013.67044  -9227209.72742  20867287.570    20867287.951    20867286.430
+      1706.349        1329.623          57.000          50.000
+ -18483791.47743 -14335094.50042  21828003.334    21828003.777    21828001.701
+     -1158.626        -902.825          55.000          47.000
+  -4320442.45443  -3320133.12942  24461657.711    24461662.914    24461657.228
+      3287.261        2561.502          45.000          38.000
+ -15766915.52843 -12275808.94542  21823040.506    21823043.009    21823038.621
+       461.109         359.306          54.000          47.000
+  -4566364.08143  -3554975.38542  24548821.853    24548827.171    24548820.847
+     -3356.313       -2615.309          43.000          37.000
+  -4637385.60843  -3585936.66042  24557474.707    24557478.601    24557474.100
+     -1233.143        -960.891          44.000          39.000
+  -7688587.65043  -5943986.00142  23154032.315    23154036.691    23154032.013
+       875.606         682.290          46.000          42.000
+ -15609323.41243 -12116551.41042  21975934.019    21975936.011    21975932.908
+       161.136         125.561          52.000          46.000
+ -15983835.75143 -12443595.49242  22095688.694    22095691.506    22095687.448
+     -2219.814       -1729.725          53.000          46.000
+ -16916601.08243 -13123830.48642  22052162.903    22052166.937    22052161.622
+      2903.614        2262.556          52.000          46.000
+ 04  2  1 19 47 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23941892.40343 -18597177.05142  20249713.971    20249715.684    20249712.764
+     -1028.061        -801.086          56.000          51.000
+ -11898963.01243  -9266910.49542  20857591.804    20857592.363    20857591.138
+      1690.201        1317.040          56.000          50.000
+ -18449014.95143 -14307995.89942  21834621.463    21834622.177    21834619.567
+     -1159.742        -903.695          55.000          47.000
+  -4419062.01943  -3396979.53442  24442891.813    24442895.556    24442890.524
+      3287.400        2561.610          44.000          38.000
+ -15780707.87243 -12286556.21942  21820415.167    21820418.899    21820414.475
+       458.384         357.182          54.000          47.000
+  -4465734.11143  -3476562.43042  24567970.998    24567977.364    24567972.842
+     -3352.626       -2612.436          42.000          35.000
+  -4600163.09643  -3556932.09842  24564559.348    24564560.130    24564557.855
+     -1247.658        -972.201          45.000          38.000
+  -7714572.17143  -5964233.64942  23149088.584    23149093.147    23149088.197
+       856.595         667.477          48.000          41.000
+ -15613873.75943 -12120097.13342  21975068.312    21975069.467    21975067.141
+       142.274         110.863          53.000          46.000
+ -15917068.56443 -12391569.10442  22108394.239    22108396.763    22108393.022
+     -2231.412       -1738.762          53.000          46.000
+ -17003524.60843 -13191563.09242  22035621.733    22035625.348    22035620.572
+      2891.308        2252.967          52.000          46.000
+ 04  2  1 19 48  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23910810.77343 -18572957.59442  20255628.455    20255630.126    20255627.531
+     -1044.522        -813.913          56.000          51.000
+ -11949443.13243  -9306245.63742  20847985.915    20847986.701    20847985.189
+      1674.556        1304.849          56.000          50.000
+ -18414221.21743 -14280883.89942  21841241.815    21841243.568    21841240.634
+     -1160.308        -904.136          54.000          47.000
+  -4517696.79043  -3473837.78342  24424122.597    24424126.452    24424122.102
+      3287.865        2561.973          45.000          39.000
+ -15794430.81843 -12297249.41042  21817803.816    21817806.559    21817802.657
+       455.991         355.318          54.000          47.000
+  -4365220.68943  -3398240.27942  24587099.431    24587103.174    24587100.291
+     -3348.833       -2609.480          42.000          37.000
+  -4562514.75143  -3527595.74942  24571720.431    24571725.462    24571719.600
+     -1262.210        -983.540          43.000          38.000
+  -7739997.64343  -5984045.71742  23144250.558    23144253.428    23144249.891
+       837.815         652.843          47.000          42.000
+ -15617873.49743 -12123213.81042  21974306.719    21974308.780    21974305.525
+       123.859          96.513          53.000          46.000
+ -15849965.48943 -12339280.99842  22121163.715    22121166.232    22121162.168
+     -2242.628       -1747.502          53.000          47.000
+ -17090097.15343 -13259022.20842  22019147.379    22019151.572    22019146.570
+      2879.646        2243.880          52.000          46.000
+ 04  2  1 19 48 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23879237.42743 -18548354.97842  20261636.690    20261638.517    20261635.508
+     -1060.194        -826.125          56.000          51.000
+ -11999453.10943  -9345214.43842  20838469.310    20838470.190    20838468.150
+      1659.482        1293.103          56.000          50.000
+ -18379410.57043 -14253758.71142  21847866.065    21847867.015    21847865.171
+     -1160.215        -904.064          55.000          47.000
+  -4616344.63843  -3550706.24642  24405351.130    24405354.011    24405350.501
+      3288.901        2562.780          44.000          38.000
+ -15808084.98143 -12307889.02342  21815205.714    21815209.022    21815204.590
+       454.363         354.049          54.000          47.000
+  -4264825.72043  -3320010.45442  24606203.872    24606205.769    24606202.559
+     -3344.714       -2606.271          43.000          36.000
+  -4524441.17343  -3497928.02942  24578965.894    24578970.490    24578966.377
+     -1275.820        -994.145          42.000          37.000
+  -7764863.67143  -6003421.85342  23139518.820    23139522.499    23139517.387
+       819.910         638.891          47.000          42.000
+ -15621322.97343 -12125901.71942  21973650.372    21973651.786    21973649.777
+       106.140          82.706          52.000          46.000
+ -15782527.15943 -12286731.66542  22133996.144    22133999.427    22133995.410
+     -2253.078       -1755.645          52.000          47.000
+ -17176316.75343 -13326206.30142  22002740.504    22002744.372    22002739.328
+      2868.400        2235.117          52.000          46.000
+ 04  2  1 19 49  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23847173.97243 -18523370.45742  20267738.318    20267740.091    20267736.978
+     -1076.920        -839.158          56.000          51.000
+ -12048991.41943  -9383815.69742  20829042.315    20829043.241    20829041.266
+      1643.336        1280.522          56.000          50.000
+ -18344582.54843 -14226619.98742  21854493.306    21854494.876    21854491.923
+     -1161.179        -904.815          55.000          47.000
+  -4715002.95543  -3627582.84742  24386575.964    24386580.051    24386575.618
+      3288.936        2562.807          44.000          39.000
+ -15821670.41843 -12318475.06442  21812619.815    21812623.429    21812619.134
+       451.712         351.983          54.000          47.000
+  -4164551.00643  -3241874.31442  24625286.456    24625288.095    24625284.910
+     -3340.085       -2602.664          44.000          36.000
+  -4485942.09243  -3467928.77542  24586292.922    24586295.881    24586292.464
+     -1290.279       -1005.412          43.000          37.000
+  -7789169.36643  -6022361.35042  23134893.554    23134897.256    23134892.606
+       800.756         623.966          47.000          42.000
+ -15624221.74943 -12128160.50542  21973098.748    21973100.638    21973097.260
+        87.435          68.131          52.000          46.000
+ -15714753.41743 -12233920.97542  22146893.054    22146896.140    22146892.875
+     -2264.675       -1764.682          52.000          46.000
+ -17262180.92643 -13393113.43042  21986401.656    21986404.387    21986399.982
+      2856.278        2225.671          52.000          46.000
+ 04  2  1 19 49 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23814624.39043 -18498007.13842  20273932.169    20273933.894    20273931.157
+     -1092.590        -851.369          56.000          51.000
+ -12098059.40443  -9422050.47842  20819704.644    20819705.727    20819703.691
+      1628.215        1268.739          56.000          50.000
+ -18309739.12343 -14199469.26442  21861123.946    21861125.385    21861122.429
+     -1161.264        -904.881          55.000          47.000
+  -4813671.79443  -3704467.67442  24367800.846    24367802.583    24367799.638
+      3289.747        2563.439          45.000          38.000
+ -15835189.98443 -12329009.78342  21810047.316    21810050.630    21810045.865
+       450.013         350.659          54.000          47.000
+  -4064400.64943  -3163835.06842  24644343.725    24644345.911    24644343.259
+     -3336.005       -2599.484          42.000          36.000
+  -4447020.28543  -3437600.13842  24593700.768    24593702.935    24593699.027
+     -1303.645       -1015.827          43.000          37.000
+  -7812916.64743  -6040865.72742  23130374.980    23130377.569    23130372.695
+       782.728         609.918          48.000          42.000
+ -15626572.69743 -12129992.42642  21972650.425    21972652.702    21972649.077
+        69.703          54.314          52.000          46.000
+ -15646646.99643 -12180851.03442  22159853.641    22159856.986    22159851.703
+     -2275.137       -1772.834          52.000          46.000
+ -17347689.85343 -13459743.74942  21970129.639    21970133.045    21970128.524
+      2844.891        2216.798          52.000          46.000
+ 04  2  1 19 50  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23781590.49543 -18472266.43142  20280218.349    20280219.848    20280217.175
+     -1109.369        -864.443          56.000          51.000
+ -12146656.24443  -9459918.13042  20810457.292    20810457.983    20810456.386
+      1611.846        1255.984          56.000          50.000
+ -18274881.33043 -14172307.34242  21867757.413    21867758.385    21867756.023
+     -1162.300        -905.688          55.000          47.000
+  -4912349.26643  -3781359.19542  24349023.626    24349026.580    24349022.822
+      3289.270        2563.068          46.000          39.000
+ -15848644.55343 -12339493.85242  21807487.350    21807491.216    21807485.488
+       447.164         348.439          54.000          47.000
+  -3964377.13443  -3085894.67542  24663377.244    24663380.806    24663377.015
+     -3331.931       -2596.310          41.000          36.000
+  -4407676.54743  -3406942.65642  24601187.878    24601190.268    24601187.051
+     -1319.132       -1027.895          43.000          37.000
+  -7836105.31243  -6058934.82142  23125962.996    23125966.425    23125960.874
+       763.623         595.031          48.000          42.000
+ -15628376.38043 -12131397.90142  21972308.327    21972310.336    21972307.239
+        50.862          39.633          53.000          46.000
+ -15578208.82943 -12127522.59442  22172876.790    22172879.911    22172876.029
+     -2286.890       -1781.992          53.000          46.000
+ -17432841.86743 -13526095.94442  21953925.884    21953929.546    21953924.339
+      2832.179        2206.893          52.000          46.000
+ 04  2  1 19 50 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23748070.19443 -18446146.70642  20286597.083    20286598.729    20286595.708
+     -1125.455        -876.978          56.000          51.000
+ -12194777.24344  -9497414.99842  20801300.253    20801300.989    20801299.495
+      1596.035        1243.664          57.000          50.000
+ -18240004.65043 -14145130.70642  21874393.994    21874394.791    21874392.703
+     -1162.835        -906.105          55.000          47.000
+  -5011029.68743  -3858253.02042  24330243.896    24330248.370    24330242.615
+      3289.354        2563.133          44.000          39.000
+ -15862031.10443 -12349924.92342  21804939.919    21804943.277    21804938.483
+       445.068         346.806          54.000          47.000
+  -3864478.58043  -3008051.65542  24682387.885    24682392.960    24682388.082
+     -3327.662       -2592.983          41.000          35.000
+  -4367907.42943  -3375953.79542  24608753.343    24608758.259    24608752.622
+     -1332.675       -1038.448          44.000          37.000
+  -7858731.29743  -6076565.46042  23121655.177    23121660.873    23121654.419
+       744.852         580.404          48.000          42.000
+ -15629629.24143 -12132374.16442  21972069.311    21972072.515    21972067.625
+        32.495          25.321          52.000          46.000
+ -15509435.55243 -12073933.03242  22185963.983    22185967.694    22185962.640
+     -2297.953       -1790.613          52.000          46.000
+ -17517631.05843 -13592165.42342  21937790.618    21937794.282    21937788.866
+      2820.184        2197.546          52.000          46.000
+ 04  2  1 19 51  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23714068.82143 -18419652.12242  20293066.816    20293068.874    20293065.889
+     -1141.085        -889.157          56.000          51.000
+ -12242424.85444  -9534542.99342  20792233.266    20792233.639    20792232.093
+      1580.678        1231.697          57.000          50.000
+ -18205112.69443 -14117942.16442  21881034.152    21881035.183    21881033.125
+     -1163.053        -906.275          55.000          47.000
+  -5109714.05343  -3935149.92442  24311465.542    24311468.978    24311464.206
+      3289.606        2563.329          44.000          39.000
+ -15875353.41943 -12360305.93842  21802404.181    21802408.153    21802403.314
+       443.159         345.319          54.000          47.000
+  -3764710.32443  -2930310.14742  24701372.447    24701379.614    24701372.678
+     -3322.899       -2589.272          40.000          34.000
+  -4327716.73543  -3344636.35242  24616402.778    24616405.840    24616401.628
+     -1346.588       -1049.289          45.000          37.000
+  -7880797.73443  -6093760.09542  23117457.243    23117460.648    23117456.006
+       726.279         565.932          48.000          43.000
+ -15630335.14243 -12132924.21642  21971935.248    21971937.725    21971933.901
+        14.726          11.475          52.000          46.000
+ -15440330.99243 -12020085.34442  22199113.725    22199117.835    22199113.167
+     -2308.699       -1798.986          52.000          46.000
+ -17602058.84743 -13657953.29342  21921724.200    21921727.984    21921723.257
+      2808.314        2188.297          52.000          46.000
+ 04  2  1 19 51 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23679585.93343 -18392782.32942  20299629.243    20299630.696    20299627.899
+     -1157.475        -901.928          56.000          51.000
+ -12289595.99844  -9571299.71342  20783257.184    20783257.402    20783255.877
+      1564.394        1219.008          57.000          50.000
+ -18170202.99943 -14090739.80142  21887676.765    21887678.400    21887675.284
+     -1164.069        -907.067          55.000          47.000
+  -5208397.79843  -4012046.32542  24292685.619    24292691.037    24292685.576
+      3289.355        2563.134          44.000          39.000
+ -15888610.03043 -12370635.75742  21799882.903    21799885.624    21799880.855
+       440.812         343.490          54.000          47.000
+  -3665072.22843  -2852670.11242  24720332.122    24720335.919    24720330.882
+     -3318.856       -2586.121          40.000          33.000
+  -4287102.93543  -3312989.23342  24624130.326    24624134.561    24624129.451
+     -1360.850       -1060.402          43.000          38.000
+  -7902302.19243  -6110516.81742  23113364.664    23113368.217    23113363.390
+       707.500         551.299          48.000          43.000
+ -15630492.36143 -12133046.72942  21971906.301    21971907.887    21971904.025
+        -3.916          -3.051          53.000          46.000
+ -15370893.73743 -11965978.39842  22212327.504    22212330.469    22212326.409
+     -2320.175       -1807.928          52.000          46.000
+ -17686121.23943 -13723456.43042  21905728.842    21905731.676    21905726.924
+      2796.060        2178.748          52.000          46.000
+ 04  2  1 19 52  0.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23644628.19043 -18365542.52242  20306281.053    20306282.790    20306279.915
+     -1173.007        -914.031          56.000          51.000
+ -12336294.45244  -9607688.11142  20774370.454    20774371.075    20774369.237
+      1548.881        1206.920          57.000          50.000
+ -18135280.33943 -14063527.33442  21894322.030    21894324.366    21894321.387
+     -1164.066        -907.064          54.000          47.000
+  -5307083.75643  -4088944.47642  24273908.970    24273910.859    24273906.864
+      3289.882        2563.544          46.000          39.000
+ -15901806.36843 -12380918.60942  21797371.133    21797374.726    21797369.911
+       438.990         342.070          54.000          47.000
+  -9867251.30553  -7685536.88452  24739267.764    24739270.607    24739265.425
+     -3314.720       -2582.899          38.000          32.000
+  -4246071.31243  -3281016.54842  24631939.981    24631942.619    24631939.616
+     -1374.638       -1071.146          45.000          38.000
+  -7923249.31343  -6126839.26642  23109378.155    23109382.616    23109377.398
+       689.191         537.032          47.000          43.000
+ -15630106.49743 -12132746.05842  21971979.160    21971981.588    21971978.178
+       -21.680         -16.893          53.000          46.000
+ -15301129.12743 -11911616.37142  22225603.261    22225606.665    22225602.062
+     -2330.722       -1816.147          52.000          46.000
+ -17769821.00343 -13788676.99842  21889799.916    21889804.073    21889798.776
+      2784.101        2169.429          52.000          46.000
+ 04  2  1 19 52 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23609192.35343 -18337930.16942  20313024.708    20313026.160    20313023.539
+     -1189.249        -926.687          56.000          51.000
+ -12382514.77244  -9643703.92642  20765574.783    20765575.616    20765574.053
+      1532.464        1194.128          57.000          50.000
+ -18100339.81243 -14036300.94842  21900971.454    21900972.533    21900969.760
+     -1165.115        -907.882          54.000          47.000
+  -5405764.84443  -4165838.81142  24255130.014    24255132.309    24255129.607
+      3289.041        2562.889          46.000          39.000
+ -15914938.01843 -12391151.05042  21794871.965    21794874.794    21794870.303
+       436.552         340.170          54.000          47.000
+  -9767884.40053  -7608108.16652  24758175.462    24758179.794    24758175.597
+     -3310.686       -2579.755          38.000          32.000
+  -4204617.62243  -3248715.01542  24639827.716    24639829.163    24639827.288
+     -1389.122       -1082.433          44.000          38.000
+  -7943633.89743  -6142723.34942  23105501.276    23105504.013    23105499.432
+       669.938         522.030          49.000          43.000
+ -15629172.78443 -12132018.49642  21972157.380    21972158.174    21972155.908
+       -40.432         -31.505          53.000          46.000
+ -15231032.76643 -11856995.82742  22238942.270    22238945.015    22238940.958
+     -2342.205       -1825.095          52.000          46.000
+ -17853151.19143 -13853609.59542  21873942.543    21873946.388    21873942.135
+      2771.410        2159.540          52.000          46.000
+ 04  2  1 19 53  0.0000000  0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23573285.73543 -18309950.97742  20319857.096    20319858.931    20319856.141
+     -1205.132        -939.064          56.000          51.000
+ -12428261.38644  -9679350.62542  20756869.590    20756870.617    20756868.686
+      1516.511        1181.697          57.000          50.000
+ -18065386.96743 -14009064.96842  21907622.912    21907623.676    21907621.391
+     -1165.675        -908.318          54.000          47.000
+  -5504444.08243  -4242731.70442  24236351.756    24236354.721    24236350.415
+      3288.655        2562.588          46.000          40.000
+ -15928010.88243 -12401337.68442  21792384.312    21792387.459    21792382.672
+       434.239         338.368          53.000          47.000
+  -4162747.52243  -3216088.97242  24647795.377    24647797.134    24647795.188
+     -1402.988       -1093.237          45.000          37.000
+  -7963460.98643  -6158173.03842  23101727.078    23101730.606    23101725.594
+       650.786         507.106          48.000          43.000
+ -15627696.99843 -12130868.53442  21972437.834    21972439.646    21972436.770
+       -58.623         -45.680          53.000          46.000
+ -15160610.50043 -11802121.34042  22252343.402    22252346.304    22252341.426
+     -2353.157       -1833.629          52.000          46.000
+ -17936115.21143 -13918256.87242  21858155.631    21858159.360    21858154.273
+      2758.751        2149.676          52.000          46.000
+ 04  2  1 19 53 30.0000000  0 11G18G22G21G 3G15G30G26G 2G16G 6G23
+ -23536908.18543 -18281604.82542  20326779.903    20326781.462    20326778.576
+     -1220.123        -950.745          56.000          51.000
+ -12473531.36844  -9714625.92142  20748255.107    20748255.643    20748254.212
+      1501.286        1169.833          57.000          51.000
+ -18030419.92443 -13981817.91042  21914276.319    21914277.535    21914275.416
+     -1165.545        -908.217          54.000          47.000
+  -5603117.50843  -4319620.07542  24217575.719    24217576.322    24217574.550
+      3289.193        2563.008          46.000          39.000
+ -15941023.75743 -12411477.58042  21789908.210    21789911.270    21789906.786
+       433.068         337.455          54.000          47.000
+                  -7453581.28752  24795914.012    24795918.184
+     -3300.421       -2571.757          36.000          31.000
+  -4120459.67143  -3183137.39742  24655842.036    24655845.568    24655842.000
+     -1416.045       -1103.412          44.000          38.000
+  -7982728.67743  -6173186.82942  23098059.902    23098064.644    23098059.274
+       633.081         493.310          48.000          43.000
+ -15625677.78443 -12129295.13142  21972821.991    21972823.497    21972820.493
+       -76.165         -59.349          53.000          46.000
+ -15089861.07543 -11746991.94442  22265806.449    22265810.315    22265804.707
+     -2363.507       -1841.694          51.000          46.000
+ -18018709.30943 -13982615.88842  21842438.611    21842441.985    21842437.497
+      2747.158        2140.643          52.000          46.000
+ 04  2  1 19 54  0.0000000  0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23500058.78343 -18252890.99842  20333792.111    20333793.516    20333790.874
+     -1236.113        -963.205          56.000          51.000
+ -12518321.60044  -9749527.38842  20739731.852    20739732.587    20739731.023
+      1485.057        1157.187          57.000          51.000
+ -17995435.88643 -13954557.62242  21920934.336    21920935.189    21920932.783
+     -1166.452        -908.924          54.000          47.000
+  -5701780.52443  -4396500.32342  24198801.993    24198801.481    24198798.903
+      3288.605        2562.549          48.000          40.000
+ -15953974.67943 -12421569.20942  21787443.524    21787446.599    21787442.489
+       430.687         335.600          54.000          47.000
+  -4077752.59243  -3149859.16942  24663969.513    24663972.976    24663968.568
+     -1430.519       -1114.690          45.000          38.000
+  -8001434.46043  -6187762.76342  23094501.475    23094504.034    23094500.592
+       614.326         478.696          49.000          43.000
+ -15623113.44143 -12127296.95142  21973309.355    21973311.107    21973308.500
+       -94.519         -73.651          53.000          46.000
+ -15018782.67143 -11691606.18842  22279331.851    22279335.282    22279331.108
+     -2374.743       -1850.449          51.000          46.000
+ -18100929.30743 -14046683.40442  21826791.945    21826796.708    21826790.967
+      2734.386        2130.690          52.000          46.000
+ 04  2  1 19 54 30.0000000  0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23462744.50343 -18223814.92942  20340892.846    20340894.503    20340891.584
+     -1251.275        -975.019          56.000          51.000
+ -12562635.92444  -9784058.01342  20731298.769    20731299.470    20731298.109
+      1469.430        1145.010          57.000          50.000
+ -17960439.43243 -13927287.65042  21927593.851    21927594.597    21927592.200
+     -1166.469        -908.937          54.000          47.000
+  -5800435.26243  -4473374.16042  24180026.573    24180029.069    24180025.312
+      3288.517        2562.481          47.000          39.000
+ -15966868.70943 -12431616.49842  21784989.373    21784993.305    21784988.583
+       429.146         334.399          54.000          47.000
+  -4034631.13443  -3116258.09042  24672175.719    24672179.336    24672175.132
+     -1444.033       -1125.220          45.000          38.000
+  -8019582.82543  -6201904.33042  23091047.435    23091050.753    23091046.922
+       596.018         464.430          48.000          43.000
+ -15620009.14243 -12124878.02142  21973900.597    21973902.381    21973899.516
+      -112.313         -87.517          52.000          46.000
+ -14947380.41143 -11635968.07142  22292919.434    22292922.773    22292918.685
+     -2385.247       -1858.634          51.000          46.000
+ -18182777.69543 -14110461.35042  21811217.403    21811220.813    21811215.999
+      2722.361        2121.320          53.000          46.000
+ 04  2  1 19 55  0.0000000  0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23424962.34543 -18194374.27842  20348082.203    20348083.922    20348081.203
+     -1267.314        -987.517          56.000          51.000
+ -12606468.77343  -9818213.46742  20722957.582    20722958.633    20722956.708
+      1452.902        1132.131          56.000          50.000
+ -17925425.79343 -13900004.30042  21934255.648    21934257.622    21934254.731
+     -1167.679        -909.880          54.000          47.000
+  -5899074.89743  -4550236.22942  24161255.809    24161259.091    24161254.927
+      3287.337        2561.561          46.000          40.000
+ -15979701.71343 -12441616.22842  21782547.970    21782550.680    21782546.631
+       426.542         332.370          54.000          47.000
+  -3991091.38343  -3082331.01342  24680459.907    24680463.847    24680460.103
+     -1458.496       -1136.490          42.000          37.000
+  -8037168.85743  -6215607.73742  23087699.793    23087703.613    23087699.709
+       576.686         449.366          47.000          42.000
+ -15616360.67743 -12122035.07042  21974594.255    21974597.760    21974593.634
+      -130.806        -101.927          52.000          46.000
+ -14875650.23343 -11580074.44942  22306568.910    22306572.760    22306568.314
+     -2396.643       -1867.514          51.000          46.000
+ -18264247.81843 -14173944.55042  21795713.636    21795717.133    21795712.632
+      2709.106        2110.992          52.000          46.000
+ 04  2  1 19 55 30.0000000  0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23386717.45443 -18164573.05342  20355359.852    20355361.841    20355358.873
+     -1282.889        -999.654          56.000          51.000
+ -12649822.70743  -9851995.73342  20714707.655    20714708.632    20714706.722
+      1436.803        1119.587          56.000          50.000
+ -17890398.35143 -13872710.18742  21940922.383    21940922.653    21940920.652
+     -1168.169        -910.261          54.000          47.000
+  -5997700.47443  -4627087.29142  24142486.834    24142491.868    24142487.450
+      3287.001        2561.299          47.000          40.000
+ -15992477.58543 -12451571.44742  21780117.036    21780119.788    21780115.447
+       424.390         330.693          53.000          47.000
+  -3947137.30743  -3048081.08942  24688825.344    24688828.723    24688822.258
+     -1472.637       -1147.509          43.000          37.000
+  -8054195.67143  -6228875.40142  23084460.757    23084463.364    23084459.786
+       557.937         434.756          48.000          42.000
+ -15612172.05243 -12118771.20942  21975392.156    21975394.223    21975390.257
+      -148.972        -116.082          53.000          46.000
+ -14803596.16743 -11523928.42242  22320280.648    22320284.166    22320279.431
+     -2407.577       -1876.034          52.000          46.000
+ -18345341.20943 -14237134.17642  21780282.973    21780286.284    21780281.155
+      2696.430        2101.114          53.000          47.000
+ 04  2  1 19 56  0.0000000  0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23348014.45743 -18134414.86542  20362725.009    20362726.495    20362723.960
+     -1297.308       -1010.889          56.000          51.000
+ -12692699.81343  -9885406.45142  20706548.294    20706549.090    20706547.782
+      1421.653        1107.782          56.000          50.000
+ -17855359.40243 -13845407.10842  21947589.449    21947591.014    21947588.101
+     -1167.639        -909.848          54.000          47.000
+  -6096312.51743  -4703927.85642  24123722.714    24123725.090    24123722.249
+      3287.196        2561.451          47.000          40.000
+ -16005199.83743 -12461484.88142  21777695.869    21777698.768    21777694.569
+       423.613         330.088          53.000          47.000
+  -3902772.41243  -3013511.07242  24697267.689    24697269.880    24697266.290
+     -1485.333       -1157.402          44.000          38.000
+  -8070666.19743  -6241709.56542  23081326.634    23081329.949    23081326.024
+       540.116         420.870          48.000          43.000
+ -15607446.97243 -12115089.32642  21976291.148    21976293.369    21976290.047
+      -166.293        -129.579          53.000          46.000
+ -14731221.77443 -11467532.79342  22334053.318    22334056.974    22334052.217
+     -2417.321       -1883.627          52.000          46.000
+ -18426058.91743 -14300031.07142  21764922.651    21764926.208    21764921.158
+      2684.790        2092.044          53.000          47.000
+ 04  2  1 19 56 30.0000000  0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23308851.66743 -18103898.39542  20370177.583    20370179.073    20370176.440
+     -1312.490       -1022.719          56.000          51.000
+ -12735095.92044  -9918442.36342  20698480.847    20698481.344    20698480.192
+      1405.693        1095.345          57.000          51.000
+ -17820305.41843 -13818092.31042  21954260.191    21954260.934    21954258.746
+     -1168.049        -910.168          54.000          47.000
+  -6194905.04043  -4780753.20442  24104961.133    24104966.315    24104958.595
+      3286.742        2561.098          46.000          40.000
+ -16017865.21143 -12471354.00042  21775286.318    21775288.613    21775284.962
+       421.751         328.637          54.000          47.000
+  -3857993.55343  -2978618.50142  24705787.968    24705791.856    24705787.641
+     -1499.074       -1168.110          44.000          38.000
+  -8086576.88643  -6254107.50542  23078298.905    23078302.997    23078297.444
+       521.498         406.362          48.000          43.000
+ -15602182.22643 -12110986.92742  21977292.897    21977295.036    21977291.546
+      -183.991        -143.370          53.000          46.000
+ -14658524.02443 -11410885.21942  22347886.635    22347890.500    22347885.793
+     -2428.024       -1891.967          51.000          46.000
+ -18506395.34743 -14362630.86342  21749635.245    21749638.378    21749633.904
+      2672.024        2082.097          53.000          47.000
+ 04  2  1 19 57  0.0000000  0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23269232.92543 -18073026.64042  20377716.676    20377718.371    20377715.469
+     -1328.108       -1034.889          56.000          51.000
+ -12777011.65944  -9951103.95842  20690504.484    20690505.157    20690503.724
+      1389.269        1082.547          57.000          51.000
+ -17785237.85343 -13790766.93542  21960933.245    21960934.246    21960932.278
+     -1169.064        -910.959          54.000          47.000
+  -6293477.29643  -4857562.73242  24086204.285    24086204.334    24086203.609
+      3285.459        2560.098          46.000          39.000
+ -16030475.66543 -12481180.32242  21772886.212    21772889.150    21772884.532
+       419.503         326.885          54.000          47.000
+  -3812802.85543  -2943405.00142  24714388.308    24714391.267    24714386.496
+     -1512.909       -1178.890          43.000          38.000
+  -8101929.10943  -6266070.28642  23075377.390    23075382.062    23075377.180
+       502.541         391.590          48.000          43.000
+ -15596379.93943 -12106465.66442  21978396.913    21978398.741    21978395.952
+      -202.235        -157.586          52.000          46.000
+ -14585504.96543 -11353987.26542  22361782.240    22361784.566    22361781.724
+     -2439.196       -1900.672          52.000          46.000
+ -18586350.14343 -14424933.27942  21734420.087    21734423.386    21734418.658
+      2658.871        2071.847          53.000          47.000
+ 04  2  1 19 57 30.0000000  0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23229158.32443 -18041799.66642  20385342.803    20385343.866    20385341.498
+     -1343.558       -1046.928          56.000          51.000
+ -12818444.87044  -9983389.56442  20682620.051    20682620.867    20682619.126
+      1372.961        1069.840          57.000          51.000
+ -17750155.39243 -13763429.95042  21967609.136    21967610.033    21967608.212
+     -1169.837        -911.561          54.000          47.000
+  -6392025.34843  -4934353.41642  24067451.743    24067452.672    24067449.586
+      3284.631        2559.453          47.000          40.000
+ -16043030.19543 -12490963.06142  21770497.080    21770499.819    21770495.864
+       417.365         325.219          54.000          47.000
+  -3767199.81743  -2907870.20342  24723065.322    24723068.478    24723063.768
+     -1527.687       -1190.405          41.000          37.000
+  -8116721.52543  -6277596.83742  23072561.784    23072565.272    23072559.797
+       483.871         377.042          48.000          42.000
+ -15590039.55943 -12101525.11942  21979603.494    21979605.808    21979602.316
+      -220.448        -171.778          52.000          46.000
+ -14512163.87643 -11296838.35342  22375739.129    22375741.376    22375738.409
+     -2450.239       -1909.277          52.000          45.000
+ -18665920.06343 -14486935.80042  21719277.778    21719282.131    21719276.566
+      2645.759        2061.630          53.000          47.000
+ 04  2  1 19 58  0.0000000  0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23188634.58143 -18010222.71842  20393054.353    20393055.557    20393052.967
+     -1358.283       -1058.402          56.000          51.000
+ -12859399.31844 -10015302.10342  20674826.497    20674827.120    20674825.548
+      1357.178        1057.541          57.000          50.000
+ -17715061.39043 -13736083.97142  21974286.941    21974288.030    21974285.682
+     -1170.023        -911.706          54.000          47.000
+  -6490551.32143  -5011126.91442  24048701.637    24048704.520    24048701.004
+      3283.608        2558.656          47.000          39.000
+ -16055533.76643 -12500706.10342  21768117.547    21768120.860    21768116.344
+       415.832         324.025          54.000          47.000
+  -3721189.45143  -2872018.01542  24731821.405    24731825.042    24731822.013
+     -1540.983       -1200.766          44.000          37.000
+  -8130958.50443  -6288690.60542  23069853.226    23069857.245    23069852.795
+       465.432         362.674          49.000          43.000
+ -15583166.02043 -12096169.12342  21980911.460    21980913.717    21980910.234
+      -237.977        -185.437          53.000          46.000
+ -14438505.81643 -11239442.47542  22389755.004    22389758.427    22389753.892
+     -2460.603       -1917.353          51.000          45.000
+ -18745107.66443 -14548640.40842  21704209.319    21704212.966    21704208.317
+      2633.023        2051.706          53.000          47.000
+ 04  2  1 19 58 30.0000000  0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23147659.75043 -17978294.27042  20400851.226    20400852.767    20400849.979
+     -1372.752       -1069.677          56.000          51.000
+ -12899871.06043 -10046838.51042  20667124.573    20667125.678    20667124.092
+      1341.578        1045.385          56.000          50.000
+ -17679952.65143 -13708726.51542  21980968.176    21980969.464    21980967.001
+     -1170.015        -911.700          54.000          47.000
+  -6589049.56343  -5087878.77242  24029958.051    24029961.707    24029957.146
+      3283.271        2558.393          47.000          40.000
+ -16067983.39343 -12510407.10542  21765748.733    21765751.374    21765747.183
+       414.604         323.068          54.000          47.000
+  -3674768.93743  -2835846.22842  24740654.141    24740657.432    24740653.267
+     -1553.273       -1210.342          43.000          37.000
+  -8144636.90043  -6299349.07142  23067250.866    23067254.722    23067248.541
+       447.089         348.381          48.000          43.000
+ -15575756.77643 -12090395.70042  21982321.675    21982323.895    21982320.229
+      -255.397        -199.011          53.000          46.000
+ -14364528.11943 -11181797.52842  22403832.585    22403836.733    22403831.262
+     -2470.584       -1925.130          51.000          46.000
+ -18823907.71643 -14610043.02342  21689214.330    21689217.897    21689213.219
+      2620.663        2042.075          53.000          47.000
+ 04  2  1 19 59  0.0000000  0 10G18G22G21G 3G15G26G 2G16G 6G23
+ -23106236.87043 -17946016.69342  20408733.921    20408735.102    20408732.543
+     -1388.403       -1081.872          56.000          51.000
+ -12939860.50044 -10077999.09742  20659515.358    20659515.992    20659514.809
+      1324.780        1032.296          57.000          51.000
+ -17644830.62143 -13681358.70842  21987652.417    21987652.838    21987650.210
+     -1171.151        -912.585          55.000          47.000
+  -6687518.97243  -5164608.16942  24011218.701    24011223.518    24011218.657
+      3281.544        2557.047          45.000          40.000
+ -16080380.52043 -12520067.20242  21763388.932    21763392.977    21763388.115
+       412.267         321.247          54.000          47.000
+  -3627940.28943  -2799356.41042  24749566.566    24749570.529    24749564.467
+     -1567.758       -1221.630          42.000          37.000
+  -8157757.81543  -6309573.16542  23064753.678    23064755.522    23064751.815
+       427.850         333.390          48.000          42.000
+ -15567813.68643 -12084206.28742  21983832.992    21983835.497    21983832.081
+      -273.737        -213.301          52.000          46.000
+ -14290232.68943 -11123905.01242  22417970.652    22417973.531    22417969.775
+     -2481.932       -1933.973          51.000          45.000
+ -18902319.60143 -14671143.18042  21674292.699    21674296.817    21674291.856
+      2607.042        2031.461          53.000          47.000
+ 04  2  1 19 59 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -23064369.42143 -17913392.69942  20416701.144    20416702.466    20416699.583
+     -1402.787       -1093.081          56.000          51.000
+ -12979368.15544 -10108784.26642  20651997.146    20651997.667    20651996.202
+      1309.119        1020.093          57.000          51.000
+ -17609696.01343 -13653981.09642  21994336.856    21994338.584    21994336.097
+     -1171.134        -912.572          54.000          47.000
+  -6785958.45643  -5241314.26542  23992487.658    23992490.797    23992486.425
+      3281.049        2556.662          46.000          40.000
+ -16092727.08043 -12529687.89742  21761040.036    21761042.939    21761038.529
+       410.881         320.167          54.000          47.000
+  -3580705.47343  -2762550.07242  24758552.104    24758557.300    24758550.399
+     -1580.881       -1231.855          41.000          37.000
+  -1491823.58153  -1147142.29152  24425665.696    24425670.013    24425666.581
+      3334.696        2598.464          41.000          37.000
+  -8170322.63343  -6319363.91642  23062363.231    23062365.975    23062362.397
+       409.750         319.286          49.000          43.000
+ -15559338.99943 -12077602.63342  21985445.480    21985448.183    21985444.258
+      -291.068        -226.806          52.000          46.000
+ -14215621.53043 -11065766.45742  22432168.308    22432171.317    22432167.997
+     -2491.933       -1941.766          51.000          45.000
+ -18980342.73743 -14731940.40442  21659445.478    21659449.577    21659444.491
+      2594.586        2021.755          53.000          47.000
+ 04  2  1 20  0  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -23022058.65843 -17880423.26342  20424752.231    20424753.797    20424751.371
+     -1417.833       -1104.805          56.000          51.000
+ -13018392.99344 -10139193.21342  20644571.025    20644571.922    20644570.387
+      1292.626        1007.241          57.000          51.000
+ -17574547.88243 -13626592.93942  22001025.291    22001027.633    22001024.204
+     -1171.916        -913.181          53.000          47.000
+  -6884364.83843  -5317994.54242  23973761.001    23973764.815    23973761.047
+      3279.503        2555.457          48.000          40.000
+ -16105022.89543 -12539269.03742  21758700.476    21758702.296    21758699.159
+       409.031         318.725          54.000          47.000
+  -3533064.54443  -2725427.31542  24767620.144    24767624.818    24767619.795
+     -1594.739       -1242.654          41.000          37.000
+  -1591905.90643  -1225128.47542  24406622.271    24406625.137    24406620.595
+      3338.128        2601.139          42.000          37.000
+  -8182330.76843  -6328720.91842  23060077.852    23060080.633    23060076.209
+       390.926         304.618          49.000          43.000
+ -15550332.83143 -12070584.82642  21987159.658    21987161.423    21987158.394
+      -309.207        -240.940          53.000          46.000
+ -14140694.57643 -11007381.81642  22446426.661    22446429.803    22446425.311
+     -2502.781       -1950.219          51.000          45.000
+ -19057974.69343 -14792432.81042  21644672.522    21644676.068    21644671.379
+      2581.227        2011.346          54.000          47.000
+ 04  2  1 20  0 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22979309.87843 -17847112.51442  20432887.168    20432888.747    20432886.002
+     -1432.256       -1116.044          56.000          51.000
+ -13056937.70744 -10169228.03942  20637236.402    20637237.040    20637235.695
+      1276.832         994.934          57.000          51.000
+ -17539389.44243 -13599196.75042  22007716.648    22007717.731    22007715.550
+     -1172.147        -913.361          54.000          47.000
+  -6982739.08843  -5394649.80742  23955041.147    23955043.390    23955040.038
+      3278.663        2554.802          46.000          40.000
+ -16117271.37743 -12548813.30342  21756369.361    21756372.209    21756368.176
+       407.521         317.549          54.000          47.000
+  -3485021.71743  -2687991.35842  24776762.967    24776766.790    24776761.774
+     -1608.265       -1253.193          44.000          37.000
+  -1692089.36443  -1303193.47142  24387557.071    24387559.762    24387557.466
+      3341.314        2603.621          42.000          36.000
+  -8193785.89443  -6337647.01942  23057897.997    23057901.143    23057897.169
+       372.626         290.358          49.000          43.000
+ -15540799.36743 -12063156.16042  21988973.690    21988975.352    21988972.745
+      -326.459        -254.384          53.000          46.000
+ -14065456.06243 -10948754.39842  22460744.068    22460746.598    22460742.976
+     -2513.084       -1958.247          52.000          46.000
+ -19135216.99043 -14852621.59342  21629973.657    21629977.429    21629972.093
+      2568.250        2001.234          53.000          47.000
+ 04  2  1 20  1  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22936118.61243 -17813456.97442  20441106.024    20441107.652    20441104.801
+     -1446.865       -1127.427          56.000          51.000
+ -13094995.15344 -10198883.18142  20629994.177    20629994.568    20629993.502
+      1260.542         982.241          57.000          51.000
+ -17504213.91643 -13571787.25842  22014409.975    22014411.075    22014408.939
+     -1172.593        -913.709          54.000          47.000
+  -7081072.36043  -5471273.11642  23936328.927    23936331.593    23936328.701
+      3277.087        2553.574          47.000          40.000
+ -16129466.57643 -12558316.04642  21754048.549    21754051.346    21754047.037
+       405.690         316.122          54.000          47.000
+  -3436571.15843  -2650237.72442  24785982.733    24785985.667    24785980.942
+     -1621.579       -1263.568          43.000          38.000
+  -1792364.49443  -1381329.91342  24368476.508    24368479.377    24368475.310
+      3344.167        2605.844          42.000          36.000
+  -8204681.63643  -6346137.20942  23055824.507    23055827.797    23055822.860
+       354.038         275.874          48.000          43.000
+ -15530732.91843 -12055312.17342  21990889.283    21990891.436    21990888.330
+      -344.232        -268.233          53.000          46.000
+ -13989900.05543 -10889879.60042  22475122.138    22475125.421    22475120.718
+     -2523.562       -1966.412          51.000          45.000
+ -19212061.45543 -14912500.37642  21615351.164    21615354.647    21615349.490
+      2554.905        1990.835          53.000          47.000
+ 04  2  1 20  1 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22892494.39343 -17779464.06342  20449407.324    20449409.210    20449406.120
+     -1461.786       -1139.054          56.000          51.000
+ -13132572.33444 -10228164.08542  20622843.582    20622844.189    20622842.769
+      1244.158         969.474          57.000          51.000
+ -17469028.32843 -13544369.90542  22021105.976    22021107.091    22021104.593
+     -1173.420        -914.353          54.000          47.000
+  -7179369.35843  -5547868.17542  23917624.187    23917626.444    23917623.512
+      3275.395        2552.256          46.000          41.000
+ -16141616.30143 -12567783.35642  21751737.154    21751739.796    21751735.605
+       403.850         314.688          54.000          47.000
+  -3387721.14343  -2612172.86142  24795276.338    24795280.614    24795277.781
+     -1635.613       -1274.504          43.000          38.000
+  -1892735.87743  -1459541.34442  24349376.000    24349379.109    24349374.252
+      3346.713        2607.828          43.000          36.000
+  -8215025.54243  -6354197.39342  23053855.474    23053859.689    23053854.863
+       335.259         261.241          49.000          43.000
+ -15520141.66643 -12047059.25342  21992904.820    21992906.816    21992903.795
+      -362.147        -282.192          52.000          46.000
+ -13914034.77043 -10830763.80742  22489558.146    22489562.384    22489557.484
+     -2534.410       -1974.865          51.000          46.000
+ -19288513.77243 -14972073.59342  21600802.049    21600806.216    21600800.969
+      2541.457        1980.356          52.000          47.000
+ 04  2  1 20  2  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22848437.11343 -17745133.70842  20457791.239    20457793.049    20457790.311
+     -1475.585       -1149.806          56.000          51.000
+ -13169666.36344 -10257068.51342  20615784.471    20615785.322    20615783.642
+      1228.618         957.365          57.000          51.000
+ -17433830.29543 -13516942.88342  22027804.002    22027804.381    22027803.120
+     -1173.247        -914.218          54.000          47.000
+  -7277625.76143  -5624431.57042  23898925.591    23898928.909    23898925.181
+      3274.265        2551.375          46.000          41.000
+ -16153718.91843 -12577213.96242  21749433.224    21749436.399    21749432.059
+       402.826         313.890          54.000          47.000
+  -3338470.20243  -2573795.58442  24804651.031    24804652.621    24804649.508
+     -1648.666       -1284.675          44.000          38.000
+  -1993198.39543  -1537823.82342  24330260.531    24330261.057    24330257.827
+      3350.547        2610.816          44.000          36.000
+  -8224815.82543  -6361826.19242  23051992.936    23051996.049    23051992.335
+       317.686         247.548          49.000          43.000
+ -15509024.35843 -12038396.42242  21995020.198    21995022.324    21995019.354
+      -379.112        -295.412          53.000          46.000
+ -13837858.75743 -10771405.92042  22504054.071    22504057.305    22504052.756
+     -2544.222       -1982.511          51.000          46.000
+ -19364569.98043 -15031338.14842  21586329.666    21586332.554    21586328.072
+      2529.127        1970.748          53.000          47.000
+ 04  2  1 20  2 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22803945.84943 -17710465.18342  20466257.815    20466259.279    20466256.594
+     -1489.984       -1161.026          56.000          51.000
+ -13206274.06244 -10285593.98142  20608818.307    20608818.824    20608817.712
+      1212.515         944.817          57.000          51.000
+ -17398617.03643 -13489503.98142  22034505.353    22034506.286    22034503.711
+     -1173.724        -914.590          54.000          47.000
+  -7375836.09143  -5700959.09542  23880237.028    23880240.188    23880236.337
+      3273.214        2550.556          47.000          41.000
+ -16165772.31043 -12586606.20742  21747139.825    21747143.056    21747138.710
+       401.317         312.715          54.000          47.000
+  -3288816.75943  -2535104.60642  24814098.485    24814103.308    24814097.142
+     -1661.297       -1294.517          44.000          38.000
+  -2093746.66643  -1616173.10742  24311124.440    24311129.603    24311123.054
+      3353.219        2612.898          44.000          37.000
+  -8234050.06743  -6369021.71942  23050236.398    23050238.806    23050233.836
+       299.012         232.996          48.000          43.000
+ -15497379.50543 -12029322.52142  21997236.268    21997238.487    21997234.903
+      -396.612        -309.048          52.000          46.000
+ -13761370.10943 -10711804.39942  22518609.636    22518613.449    22518608.561
+     -2554.348       -1990.401          51.000          45.000
+ -19440225.60743 -15090290.57542  21571932.512    21571936.068    21571931.415
+      2516.024        1960.538          53.000          47.000
+ 04  2  1 20  3  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22759026.34043 -17675462.95242  20474805.450    20474807.087    20474804.399
+     -1503.943       -1171.904          56.000          51.000
+ -13242398.71744 -10313743.05342  20601944.298    20601944.548    20601943.378
+      1196.487         932.328          57.000          51.000
+ -17363391.73143 -13462055.69342  22041208.004    22041208.841    22041206.950
+     -1173.872        -914.705          54.000          47.000
+  -7474001.85143  -5777451.88442  23861556.695    23861559.471    23861556.694
+      3272.101        2549.689          47.000          41.000
+ -16177780.44943 -12595963.18942  21744854.960    21744857.638    21744853.374
+       400.079         311.750          54.000          47.000
+  -3238765.08643  -2496103.34342  24823623.271    24823627.408    24823623.061
+     -1674.700       -1304.961          44.000          38.000
+  -2194381.18043  -1694589.60842  24291975.932    24291977.558    24291974.038
+      3356.011        2615.074          45.000          37.000
+  -8242732.15843  -6375786.98642  23048583.955    23048587.815    23048582.898
+       280.595         218.645          49.000          43.000
+ -15485211.60143 -12019841.04242  21999551.547    21999553.680    21999550.338
+      -413.972        -322.575          52.000          46.000
+ -13684573.18343 -10651962.64042  22533223.895    22533227.019    22533223.201
+     -2564.535       -1998.339          51.000          45.000
+ -19515482.64343 -15148932.40142  21557611.422    21557615.261    21557610.116
+      2502.245        1949.801          53.000          47.000
+ 04  2  1 20  3 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22713678.76343 -17640127.17142  20483435.137    20483436.690    20483434.040
+     -1518.998       -1183.635          56.000          51.000
+ -13278038.56944 -10341514.35542  20595162.347    20595162.557    20595161.330
+      1179.490         919.083          57.000          51.000
+ -17328152.61943 -13434596.65142  22047913.391    22047915.243    22047912.292
+     -1175.209        -915.747          54.000          47.000
+  -7572119.30743  -5853907.02442  23842885.829    23842888.321    23842883.459
+      3269.159        2547.397          46.000          41.000
+ -16189742.18143 -12605284.01642  21742578.456    21742581.344    21742577.551
+       397.572         309.796          54.000          47.000
+  -3188314.70143  -2456791.39142  24833222.825    24833227.273    24833221.731
+     -1688.842       -1315.981          44.000          38.000
+  -2295097.85643  -1773070.13142  24272809.527    24272811.500    24272808.794
+      3357.931        2616.570          45.000          38.000
+  -8250861.13043  -6382121.24342  23047036.910    23047040.834    23047035.401
+       261.359         203.656          48.000          43.000
+ -15472520.10843 -12009951.57542  22001966.883    22001968.693    22001965.893
+      -432.149        -336.739          52.000          46.000
+ -13607467.45243 -10591880.25242  22547896.938    22547898.957    22547895.446
+     -2575.838       -2007.146          51.000          45.000
+ -19590338.08843 -15207261.29942  21543366.861    21543370.780    21543365.463
+      2487.876        1938.605          52.000          47.000
+ 04  2  1 20  4  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22667908.65743 -17604462.14042  20492144.750    20492146.463    20492143.452
+     -1532.810       -1194.397          56.000          51.000
+ -13313195.80744 -10368909.59842  20588471.745    20588472.476    20588470.912
+      1163.728         906.801          57.000          51.000
+ -17292902.32043 -13407128.89642  22054621.515    22054623.152    22054620.623
+     -1175.354        -915.860          54.000          47.000
+  -7670188.84443  -5930324.84742  23824224.525    23824226.693    23824223.983
+      3268.098        2546.570          47.000          41.000
+ -16201660.65143 -12614571.12842  21740310.741    21740313.516    21740308.907
+       396.361         308.853          54.000          47.000
+  -3137469.24743  -2417171.63642  24842900.368    24842903.084    24842899.542
+     -1701.856       -1326.121          45.000          39.000
+  -2395896.63443  -1851614.61642  24253629.000    24253629.696    24253627.868
+      3361.394        2619.268          45.000          38.000
+  -8258440.11243  -6388026.94642  23045594.436    23045597.714    23045593.569
+       243.236         189.535          48.000          43.000
+ -15459309.06043 -11999657.24642  22004480.790    22004481.755    22004480.144
+      -449.103        -349.950          53.000          46.000
+ -13530056.55043 -10531560.07442  22562627.615    22562630.812    22562626.788
+     -2585.667       -2014.805          51.000          45.000
+ -19664793.11243 -15265278.19142  21529199.188    21529202.733    21529197.723
+      2474.876        1928.475          53.000          47.000
+ 04  2  1 20  4 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22621717.06243 -17568468.68242  20500934.359    20500936.508    20500933.295
+     -1546.308       -1204.915          56.000          51.000
+ -13347869.17444 -10395927.79442  20581873.647    20581874.446    20581872.963
+      1148.139         894.654          57.000          51.000
+ -17257640.13943 -13379651.87242  22061332.333    22061332.562    22061330.950
+     -1175.215        -915.752          54.000          47.000
+  -7768207.00143  -6006702.63442  23805572.434    23805575.296    23805570.512
+      3266.926        2545.657          47.000          41.000
+ -16213535.16643 -12623823.98942  21738050.912    21738054.130    21738049.628
+       395.507         308.187          54.000          48.000
+  -3086228.89743  -2377244.10742  24852650.879    24852655.562    24852651.411
+     -1714.087       -1335.652          45.000          38.000
+  -2496773.66343  -1930220.07842  24234432.032    24234433.806    24234430.455
+      3364.432        2621.635          46.000          38.000
+  -8265468.55843  -6393503.67142  23044257.166    23044260.104    23044255.475
+       225.513         175.724          48.000          43.000
+ -15445578.57643 -11988958.17742  22007093.606    22007095.139    22007091.795
+      -465.802        -362.962          52.000          46.000
+ -13452340.28443 -10471001.94942  22577416.224    22577419.732    22577415.410
+     -2595.331       -2022.336          51.000          45.000
+ -19738845.02343 -15322980.97442  21515107.519    21515111.250    21515106.062
+      2462.138        1918.549          53.000          47.000
+ 04  2  1 20  5  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22575103.85943 -17532146.69542  20509804.920    20509806.720    20509803.671
+     -1560.300       -1215.818          56.000          51.000
+ -13382055.63444 -10422566.57942  20575368.569    20575368.848    20575367.532
+      1131.885         881.988          57.000          51.000
+ -17222362.79543 -13352163.03542  22068045.156    22068045.343    22068043.384
+     -1175.711        -916.138          53.000          47.000
+  -7866168.97843  -6083036.62142  23786930.860    23786933.068    23786928.909
+      3265.026        2544.176          48.000          41.000
+ -16225363.62143 -12633040.95642  21735800.283    21735803.299    21735798.368
+       394.003         307.015          54.000          48.000
+  -3034591.89243  -2337007.54342  24862475.400    24862478.495    24862475.937
+     -1727.389       -1346.017          43.000          37.000
+  -2597723.14143  -2008881.99942  24215221.998    24215222.560    24215220.047
+      3366.530        2623.270          46.000          38.000
+  -8271944.43043  -6398549.80342  23043025.275    23043028.151    23043023.148
+       207.383         161.597          48.000          43.000
+ -15431327.07243 -11977853.11842  22009805.648    22009807.306    22009804.100
+      -483.239        -376.550          52.000          46.000
+ -13374317.08743 -10410204.66242  22592263.785    22592266.735    22592262.137
+     -2605.555       -2030.302          50.000          45.000
+ -19812489.70143 -15380366.42142  21501093.100    21501096.369    21501092.103
+      2448.421        1907.861          54.000          47.000
+ 04  2  1 20  5 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22528075.19143 -17495500.96742  20518754.034    20518755.929    20518752.706
+     -1574.672       -1227.017          56.000          50.000
+ -13415759.59544 -10448829.39442  20568954.651    20568955.119    20568953.873
+      1115.297         869.063          57.000          51.000
+ -17187074.12243 -13324665.38042  22074760.220    22074761.583    22074759.056
+     -1176.596        -916.828          54.000          47.000
+  -7964076.71843  -6159328.36842  23768300.212    23768301.087    23768298.063
+      3262.657        2542.330          47.000          41.000
+ -16237150.92943 -12642225.86342  21733557.279    21733559.817    21733555.765
+       392.119         305.547          54.000          48.000
+  -2982563.89343  -2296466.29442  24872379.943    24872378.818    24872378.665
+     -1740.754       -1356.432          45.000          37.000
+  -2698747.27843  -2087602.08742  24195998.040    24196000.625    24195997.440
+      3368.405        2624.731          45.000          38.000
+  -8277872.71543  -6403169.26042  23041896.253    23041901.796    23041894.626
+       188.397         146.803          48.000          43.000
+ -15416560.14043 -11966346.42142  22012615.479    22012616.900    22012614.617
+      -501.034        -390.416          52.000          46.000
+ -13295992.44143 -10349172.48342  22607168.570    22607172.301    22607167.332
+     -2615.960       -2038.410          51.000          45.000
+ -19885730.29543 -15437437.00242  21487156.038    21487159.303    21487154.716
+      2434.382        1896.921          54.000          47.000
+ 04  2  1 20  6  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22480629.68843 -17458530.44142  20527782.602    20527784.534    20527781.357
+     -1588.926       -1238.124          56.000          50.000
+ -13448977.11544 -10474713.16442  20562633.687    20562633.950    20562633.005
+      1098.639         856.082          57.000          51.000
+ -17151770.83543 -13297156.33142  22081478.058    22081479.331    22081476.671
+     -1177.552        -917.573          54.000          47.000
+  -8061924.17543  -6235573.12842  23749678.404    23749681.353    23749678.308
+      3259.977        2540.242          47.000          41.000
+ -16248894.03943 -12651376.32542  21731323.586    21731325.852    21731321.371
+       390.292         304.124          55.000          48.000
+  -2930142.20143  -2255618.25542  24882350.731    24882355.673    24882348.903
+     -1754.457       -1367.109          44.000          37.000
+  -2799839.29343  -2166375.05842  24176760.514    24176764.741    24176760.485
+      3370.321        2626.224          46.000          39.000
+  -8283250.36643  -6407359.63742  23040872.162    23040877.203    23040871.361
+       169.514         132.089          47.000          43.000
+ -15401275.57743 -11954436.38742  22015523.961    22015526.376    22015522.570
+      -518.620        -404.119          52.000          46.000
+ -13217363.58543 -10287903.26242  22622131.367    22622134.223    22622130.027
+     -2626.700       -2046.779          51.000          45.000
+ -19958561.41543 -15494188.51242  21473296.795    21473300.092    21473295.734
+      2420.414        1886.037          54.000          47.000
+ 04  2  1 20  6 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22432771.82043 -17421238.59042  20536889.301    20536891.357    20536888.324
+     -1602.241       -1248.499          56.000          50.000
+ -13481710.12344 -10500219.39242  20556404.621    20556405.081    20556403.858
+      1082.873         843.797          57.000          51.000
+ -17116455.03343 -13269637.53242  22088199.026    22088199.878    22088197.503
+     -1177.512        -917.542          54.000          47.000
+  -8159711.39443  -6311770.95942  23731070.083    23731073.672    23731069.700
+      3258.346        2538.971          46.000          41.000
+ -16260595.50743 -12660494.35042  21729095.269    21729099.055    21729094.170
+       389.129         303.217          54.000          48.000
+  -2877330.18543  -2214466.10142  24892402.787    24892405.095    24892403.168
+     -1767.349       -1377.155          44.000          37.000
+  -2900998.58443  -2245200.47242  24157509.776    24157513.079    24157508.869
+      3372.762        2628.126          45.000          39.000
+  -8288080.07643  -6411123.05242  23039954.669    23039957.221    23039953.602
+       151.902         118.365          48.000          43.000
+ -15385476.74243 -11942125.61542  22018530.555    22018532.749    22018529.498
+      -535.260        -417.086          52.000          46.000
+ -13138433.87543 -10226399.62742  22637149.789    22637153.909    22637149.358
+     -2635.956       -2053.992          50.000          45.000
+ -20030983.96543 -15550621.64042  21459514.812    21459518.485    21459513.750
+      2407.090        1875.655          54.000          47.000
+ 04  2  1 20  7  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22384503.82243 -17383627.15642  20546074.904    20546076.527    20546073.498
+     -1615.971       -1259.198          56.000          50.000
+ -13513958.11544 -10525347.68842  20550268.153    20550268.497    20550267.177
+      1066.592         831.111          57.000          51.000
+ -17081125.97543 -13242108.39742  22094921.246    22094922.240    22094919.980
+     -1178.090        -917.992          54.000          47.000
+  -8257435.62343  -6387919.70142  23712473.669    23712478.140    23712473.234
+      3256.376        2537.436          47.000          41.000
+ -16272255.67743 -12669580.19342  21726876.417    21726879.804    21726875.249
+       387.875         302.240          53.000          48.000
+  -2824128.71143  -2173010.43642  24902527.885    24902528.292    24902526.441
+     -1779.998       -1387.011          44.000          37.000
+  -3002222.31943  -2324076.09942  24138248.613    24138251.208    24138248.735
+      3374.747        2629.673          46.000          39.000
+  -8292362.20343  -6414459.79642  23039140.551    23039142.964    23039139.534
+       133.345         103.905          49.000          43.000
+ -15369164.69443 -11929414.92842  22021634.371    22021636.965    22021633.213
+      -552.448        -430.479          52.000          46.000
+ -13059204.00243 -10164662.09042  22652227.517    22652230.719    22652226.528
+     -2646.125       -2061.915          50.000          44.000
+ -20102996.27143 -15606735.09742  21445811.201    21445815.066    21445810.211
+      2393.328        1864.931          53.000          48.000
+ 04  2  1 20  7 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22335821.72043 -17345693.04442  20555338.846    20555340.589    20555337.724
+     -1628.843       -1269.228          56.000          50.000
+ -13545715.21444 -10550093.47342  20544225.020    20544225.241    20544224.192
+      1051.114         819.050          57.000          51.000
+ -17045777.53543 -13214564.16542  22101647.242    22101649.770    22101646.195
+     -1177.961        -917.892          53.000          47.000
+  -8355088.52343  -6464012.87142  23693891.143    23693894.926    23693890.916
+      3254.703        2536.132          47.000          41.000
+ -16283869.00243 -12678629.52842  21724666.366    21724669.320    21724665.493
+       387.172         301.692          54.000          48.000
+  -2770532.78543  -2131247.43842  24912724.064    24912727.401    24912722.722
+     -1792.197       -1396.517          42.000          37.000
+  -3103501.33343  -2402994.79142  24118975.966    24118977.614    24118974.971
+      3377.996        2632.205          47.000          39.000
+  -8296091.48943  -6417365.73942  23038431.129    23038432.494    23038430.527
+       115.874          90.291          50.000          43.000
+ -15352334.60843 -11916300.59242  22024837.438    22024839.102    22024836.442
+      -568.980        -443.361          52.000          46.000
+ -12979669.04343 -10102686.81542  22667362.515    22667365.139    22667361.055
+     -2655.378       -2069.126          50.000          45.000
+ -20174590.86043 -15662523.07142  21432188.162    21432191.239    21432186.752
+      2380.119        1854.638          54.000          48.000
+ 04  2  1 20  8  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22286741.47343 -17307448.68842  20564678.615    20564679.960    20564677.261
+     -1642.452       -1279.833          56.000          50.000
+ -13576994.63744 -10574467.03342  20538272.595    20538273.035    20538271.637
+      1034.845         806.373          57.000          51.000
+ -17010423.30143 -13187015.42142  22108375.415    22108376.395    22108374.241
+     -1178.367        -918.208          54.000          47.000
+  -8452681.30243  -6540059.17242  23675319.150    23675324.489    23675318.632
+      3252.395        2534.334          46.000          41.000
+ -16295449.56743 -12687653.34442  21722463.008    21722466.079    21722461.823
+       385.611         300.476          54.000          48.000
+  -2716557.43743  -2089188.81042  24922996.504    24922999.363    24922996.470
+     -1805.185       -1406.638          44.000          37.000
+  -3204846.66143  -2481965.14242  24099689.567    24099691.787    24099686.979
+      3379.334        2633.247          47.000          39.000
+  -8299282.45343  -6419852.20142  23037822.555    23037826.710    23037821.945
+        97.612          76.061          49.000          43.000
+ -15335001.65743 -11902794.39742  22028135.770    22028137.753    22028134.251
+      -585.924        -456.564          52.000          46.000
+ -12899843.77043 -10040485.31942  22682553.195    22682555.741    22682551.537
+     -2665.441       -2076.967          50.000          45.000
+ -20245780.05543 -15717995.15442  21418640.542    21418644.119    21418638.858
+      2366.415        1843.960          53.000          47.000
+ 04  2  1 20  8 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22237259.17543 -17268891.04742  20574094.501    20574096.156    20574093.107
+     -1655.628       -1290.100          56.000          50.000
+ -13607790.24744 -10598463.60442  20532412.407    20532412.761    20532411.609
+      1018.822         793.887          57.000          51.000
+ -16975056.79243 -13159457.11142  22115105.731    22115106.829    22115104.606
+     -1178.671        -918.445          54.000          47.000
+  -8550205.47043  -6616052.01642  23656761.154    23656765.973    23656760.050
+      3250.180        2532.608          46.000          41.000
+ -16306991.65543 -12696647.18342  21720267.475    21720269.660    21720264.998
+       384.584         299.676          54.000          48.000
+  -2662197.42043  -2046830.42942  24933341.796    24933343.858    24933340.427
+     -1818.134       -1416.728          44.000          37.000
+  -3306249.27343  -2560980.14242  24080393.772    24080395.268    24080392.257
+      3381.417        2634.870          46.000          39.000
+  -8301929.41643  -6421914.77442  23037318.977    23037323.300    23037318.695
+        79.608          62.032          49.000          43.000
+ -15317160.75143 -11888892.40342  22031530.654    22031533.022    22031529.242
+      -602.604        -469.561          52.000          46.000
+ -12819722.96643  -9978053.56142  22697799.136    22697802.713    22697798.328
+     -2675.203       -2084.574          50.000          45.000
+ -20316556.18543 -15773145.36642  21405172.074    21405175.376    21405171.006
+      2352.786        1833.340          53.000          47.000
+ 04  2  1 20  9  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22187374.27243 -17230019.68942  20583587.311    20583588.998    20583585.826
+     -1669.690       -1301.057          56.000          50.000
+ -13638099.14244 -10622080.91642  20526644.658    20526645.573    20526643.914
+      1002.025         780.799          57.000          51.000
+ -16939674.54743 -13131886.54142  22121838.758    22121840.034    22121837.421
+     -1179.710        -919.254          53.000          46.000
+  -8647655.69443  -6691987.26442  23638217.170    23638222.244    23638216.656
+      3246.926        2530.072          47.000          41.000
+ -16318492.86543 -12705609.16742  21718077.349    21718081.038    21718076.263
+       382.464         298.024          54.000          48.000
+  -2607451.36143  -2004171.21142  24943757.304    24943764.404    24943756.352
+     -1831.351       -1427.027          42.000          37.000
+  -3407703.37443  -2640035.26142  24061089.010    24061091.394    24061088.049
+      3382.660        2635.839          46.000          39.000
+  -8304030.61743  -6423552.08642  23036918.803    23036922.932    23036917.282
+        60.764          47.349          49.000          43.000
+ -15298810.94443 -11874593.86242  22035022.571    22035024.732    22035021.536
+      -620.191        -483.266          52.000          46.000
+ -12739304.79943  -9915390.05842  22713102.403    22713105.295    22713101.274
+     -2685.525       -2092.617          51.000          45.000
+ -20386915.12743 -15827970.49842  21391783.377    21391786.953    21391782.200
+      2338.333        1822.078          54.000          48.000
+ 04  2  1 20  9 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22137092.45743 -17190839.05142  20593155.420    20593157.360    20593154.357
+     -1682.424       -1310.980          56.000          50.000
+ -13667924.67144 -10645321.57642  20520969.064    20520969.967    20520968.190
+       986.508         768.708          57.000          51.000
+ -16904280.14343 -13104306.49542  22128574.500    22128574.950    22128572.752
+     -1179.671        -919.224          53.000          46.000
+  -8745033.28043  -6767865.89042  23619687.429    23619690.910    23619686.157
+      3244.929        2528.516          46.000          41.000
+ -16329957.16243 -12714542.37442  21715896.481    21715899.171    21715895.345
+       381.887         297.574          54.000          48.000
+  -2552323.65243  -1961214.61142  24954249.980    24954254.496    24954248.305
+     -1843.576       -1436.553          45.000          37.000
+  -3509209.52043  -2719130.94442  24041773.348    24041772.920    24041771.129
+      3384.838        2637.536          45.000          39.000
+  -8305590.12643  -6424767.28642  23036621.921    23036625.924    23036620.894
+        43.170          33.639          49.000          43.000
+ -15279956.96943 -11859902.45742  22038610.239    22038612.860    22038609.206
+      -636.639        -496.082          52.000          46.000
+ -12658593.97243  -9852498.50942  22728461.686    22728464.335    22728460.685
+     -2694.738       -2099.796          51.000          45.000
+ -20456859.03543 -15882472.23242  21378473.736    21378476.710    21378472.156
+      2325.056        1811.732          54.000          48.000
+ 04  2  1 20 10  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22086417.21543 -17151351.84542  20602798.631    20602800.601    20602797.492
+     -1695.834       -1321.429          56.000          50.000
+ -13697267.73444 -10668186.29242  20515385.368    20515385.858    20515384.336
+       969.933         755.792          57.000          51.000
+ -16868874.41343 -13076717.62842  22135311.982    22135312.507    22135310.092
+     -1180.360        -919.761          53.000          46.000
+  -8842336.51943  -6843686.57842  23601170.919    23601173.628    23601170.073
+      3242.192        2526.383          47.000          41.000
+ -16341386.08243 -12723448.01842  21713721.620    21713724.559    21713720.195
+       380.334         296.364          54.000          48.000
+  -2496816.84743  -1917962.58842  24964813.077    24964815.894    24964811.410
+     -1856.567       -1446.675          44.000          37.000
+  -3610765.97643  -2798265.81142  24022447.375    24022448.141    24022446.037
+      3386.061        2638.489          46.000          39.000
+  -8306609.80843  -6425561.84842  23036428.667    23036430.819    23036427.587
+        24.830          19.348          49.000          43.000
+ -15260601.14243 -11844820.00142  22042294.118    22042296.275    22042293.218
+      -653.386        -509.132          52.000          46.000
+ -12577592.60843  -9789380.57242  22743874.760    22743878.344    22743874.538
+     -2704.533       -2107.428          50.000          44.000
+ -20526387.50643 -15936650.24542  21365243.139    21365246.330    21365241.873
+      2310.338        1800.263          54.000          48.000
+ 04  2  1 20 10 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -22035347.91943 -17111557.58842  20612516.648    20612519.022    20612515.626
+     -1708.049       -1330.947          56.000          50.000
+ -13726125.34244 -10690672.73042  20509893.988    20509894.542    20509892.967
+       954.436         743.716          57.000          51.000
+ -16833453.76343 -13049117.12942  22142051.901    22142053.360    22142050.415
+     -1180.391        -919.785          53.000          46.000
+  -8939560.01743  -6919445.14142  23582670.743    23582673.554    23582669.548
+      3240.045        2524.710          48.000          41.000
+ -16352776.51643 -12732323.67842  21711553.988    21711557.253    21711552.777
+       379.631         295.816          54.000          48.000
+  -2440928.68743  -1874413.42542  24975448.767    24975451.589    24975447.023
+     -1868.668       -1456.105          45.000          37.000
+  -3712366.68443  -2877435.18442  24003112.329    24003116.025    24003111.277
+      3388.094        2640.073          45.000          39.000
+  -8307087.21843  -6425933.85642  23036337.229    23036341.741    23036335.773
+         7.775           6.058          49.000          43.000
+ -15240741.68143 -11829345.11342  22046072.820    22046074.732    22046072.176
+      -669.820        -521.938          52.000          46.000
+ -12496298.44143  -9726034.50042  22759345.039    22759348.742    22759342.997
+     -2714.230       -2114.984          49.000          43.000
+ -20595496.17843 -15990501.14642  21352091.744    21352095.289    21352090.440
+      2297.135        1789.975          54.000          48.000
+ 04  2  1 20 11  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21983886.72443 -17071457.95542  20622309.523    20622311.665    20622308.334
+     -1722.492       -1342.201          56.000          50.000
+ -13754497.51144 -10712780.90142  20504494.734    20504495.487    20504493.917
+       936.851         730.014          57.000          51.000
+ -16798018.06843 -13021504.90842  22148794.686    22148795.688    22148792.584
+     -1182.266        -921.246          53.000          46.000
+  -9036701.60043  -6995139.88342  23564186.020    23564187.389    23564184.807
+      3235.881        2521.466          48.000          41.000
+ -16364129.03843 -12741169.79242  21709393.695    21709396.972    21709392.057
+       377.041         293.798          54.000          48.000
+  -2384660.76943  -1830568.36042  24986153.369    24986159.900    24986153.742
+     -1882.834       -1467.143          43.000          37.000
+  -3814009.04543  -2956637.00342  23983769.813    23983772.858    23983769.116
+      3388.184        2640.143          45.000          39.000
+  -8307023.34043  -6425884.10042  23036349.715    23036353.578    23036348.436
+       -11.713          -9.127          49.000          43.000
+ -15220380.37043 -11813479.16542  22049947.216    22049949.402    22049946.336
+      -687.847        -535.985          52.000          46.000
+ -12414712.76143  -9662461.26042  22774870.531    22774873.777    22774869.795
+     -2725.289       -2123.602          49.000          44.000
+ -20664183.74843 -16044023.91242  21339021.327    21339024.548    21339019.984
+      2281.646        1777.906          54.000          48.000
+ 04  2  1 20 11 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21932036.54043 -17031055.21142  20632176.311    20632177.830    20632175.089
+     -1735.454       -1352.302          56.000          50.000
+ -13782384.68644 -10734511.15542  20499188.181    20499188.767    20499187.282
+       920.817         717.520          57.000          51.000
+ -16762567.87943 -12993881.40342  22155540.647    22155542.429    22155539.265
+     -1182.547        -921.465          53.000          46.000
+  -9133759.33143  -7070769.28542  23545716.596    23545718.313    23545714.786
+      3233.025        2519.240          49.000          42.000
+ -16375444.76643 -12749987.23242  21707240.598    21707243.433    21707239.069
+       375.874         292.889          54.000          48.000
+  -2328014.72143  -1786428.61642  24996935.521    24996941.295    24996935.221
+     -1895.210       -1476.787          43.000          37.000
+  -3915690.59543  -3035869.35342  23964422.002    23964422.775    23964419.632
+      3389.297        2641.011          46.000          40.000
+  -8306419.63843  -6425413.69542  23036464.602    23036469.115    23036462.668
+       -29.760         -23.190          49.000          43.000
+ -15199519.04943 -11797223.60642  22053916.872    22053919.091    22053915.847
+      -704.531        -548.985          52.000          45.000
+ -12332837.22843  -9598662.14842  22790451.479    22790454.387    22790449.538
+     -2734.558       -2130.824          50.000          44.000
+ -20732449.52643 -16097218.00442  21326030.542    21326033.717    21326028.933
+      2267.782        1767.103          54.000          48.000
+ 04  2  1 20 12  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21879803.76743 -16990354.34742  20642116.033    20642117.435    20642114.645
+     -1747.005       -1361.302          56.000          50.000
+ -13809791.04644 -10755866.75042  20493972.752    20493973.523    20493971.941
+       905.868         705.871          57.000          51.000
+ -16727106.60243 -12966249.25242  22162289.487    22162290.673    22162287.573
+     -1181.776        -920.864          53.000          46.000
+  -9230734.87743  -7146334.63942  23527262.886    23527264.425    23527259.599
+      3231.651        2518.170          48.000          42.000
+ -16386728.06543 -12758779.41142  21705093.387    21705096.287    21705092.008
+       376.002         292.989          54.000          48.000
+  -2270996.09143  -1741998.58142  25007783.947    25007788.141    25007783.347
+     -1906.091       -1485.266          42.000          36.000
+  -4017412.69843  -3115133.33142  23945064.383    23945065.580    23945062.742
+      3391.975        2643.097          46.000          40.000
+  -8305281.08043  -6424526.51442  23036682.584    23036684.727    23036680.522
+       -46.232         -36.025          50.000          43.000
+ -15178163.55443 -11780582.96242  22057980.953    22057982.996    22057980.329
+      -719.656        -560.771          52.000          45.000
+ -12250677.18443  -9534641.35042  22806085.773    22806088.771    22806084.589
+     -2743.067       -2137.455          50.000          45.000
+ -20800296.29843 -16150085.60342  21313119.639    21313123.385    21313118.135
+      2254.969        1757.119          54.000          48.000
+ 04  2  1 20 12 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21827184.77643 -16949352.53542  20652128.849    20652130.700    20652127.862
+     -1760.600       -1371.896          56.000          50.000
+ -13836710.86144 -10776843.21642  20488849.880    20488850.519    20488849.124
+       888.856         692.615          57.000          51.000
+ -16691628.60243 -12938604.07342  22169040.659    22169041.475    22169039.239
+     -1183.194        -921.969          53.000          46.000
+  -9327619.95043  -7221829.49342  23508825.162    23508828.237    23508824.746
+      3227.677        2515.073          49.000          42.000
+ -16397973.70843 -12767542.25042  21702953.360    21702956.874    21702951.738
+       373.841         291.305          54.000          48.000
+  -2213600.25243  -1697274.63542  25018706.363    25018710.026    25018705.418
+     -1919.963       -1496.075          41.000          36.000
+  -4119166.53843  -3194422.03042  23925700.783    23925703.719    23925699.500
+      3391.835        2642.988          47.000          40.000
+  -8303603.00143  -6423218.90942  23037000.298    23037003.556    23036999.376
+       -65.234         -50.832          49.000          43.000
+ -15156309.70143 -11763553.98842  22062140.185    22062142.001    22062138.563
+      -737.079        -574.347          52.000          46.000
+ -12168228.06543  -9470395.30742  22821775.265    22821778.543    22821774.546
+     -2753.577       -2145.644          50.000          45.000
+ -20867717.22843 -16202621.37242  21300290.039    21300293.207    21300288.414
+      2239.833        1745.324          54.000          48.000
+ 04  2  1 20 13  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21774187.46344 -16908055.92442  20662214.355    20662215.573    20662213.253
+     -1773.176       -1381.695          57.000          50.000
+ -13863149.23444 -10797444.53242  20483819.219    20483819.771    20483818.297
+       872.940         680.213          57.000          51.000
+ -16656138.17743 -12910949.20942  22175793.607    22175795.958    22175792.347
+     -1183.610        -922.293          53.000          46.000
+  -9424417.28743  -7297255.98342  23490405.976    23490408.293    23490406.428
+      3224.502        2512.599          49.000          42.000
+ -16409187.05443 -12776279.91842  21700820.024    21700822.637    21700818.181
+       372.880         290.556          54.000          48.000
+  -2155833.73143  -1652261.80142  25029699.564    25029702.461    25029698.393
+     -1932.008       -1505.461          43.000          36.000
+  -4220954.29543  -3273737.14742  23906331.857    23906333.322    23906330.393
+      3393.173        2644.031          47.000          40.000
+  -8301391.25343  -6421495.47542  23037420.618    23037426.144    23037418.962
+       -83.076         -64.734          49.000          43.000
+ -15133963.78743 -11746141.60342  22066392.081    22066394.214    22066391.140
+      -753.416        -587.077          52.000          45.000
+ -12085495.94443  -9405928.75142  22837519.260    22837521.808    22837517.545
+     -2762.616       -2152.688          51.000          45.000
+ -20934715.96343 -16254828.16842  21287540.715    21287543.461    21287539.215
+      2225.956        1734.511          55.000          48.000
+ 04  2  1 20 13 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21720811.81343 -16866464.50842  20672371.603    20672372.774    20672370.357
+     -1785.178       -1391.048          56.000          50.000
+ -13889104.36144 -10817669.29942  20478879.983    20478880.694    20478879.081
+       857.277         668.008          57.000          51.000
+ -16620633.07243 -12883282.90542  22182550.042    22182552.246    22182548.598
+     -1183.648        -922.323          53.000          46.000
+  -9521122.23043  -7372610.48742  23472003.603    23472005.139    23472003.358
+      3222.310        2510.891          49.000          42.000
+ -16420366.25043 -12784990.97842  21698691.937    21698694.819    21698690.674
+       372.359         290.150          54.000          48.000
+  -2097695.50343  -1606959.37442  25040762.651    25040766.125    25040761.584
+     -1943.852       -1514.690          42.000          36.000
+  -4322771.00743  -3353074.86142  23886956.289    23886957.471    23886955.217
+      3394.577        2645.125          47.000          40.000
+  -8298644.84943  -6419355.43142  23037944.656    23037948.697    23037943.381
+      -100.151         -78.040          49.000          43.000
+ -15111125.53043 -11728345.57242  22070738.192    22070739.817    22070736.908
+      -769.173        -599.355          52.000          45.000
+ -12002479.97343  -9341241.01442  22853315.525    22853319.310    22853315.187
+     -2772.291       -2160.227          50.000          45.000
+ -21001289.19443 -16306703.40042  21274872.141    21274875.472    21274870.629
+      2212.115        1723.726          54.000          48.000
+ 04  2  1 20 14  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21667060.14844 -16824580.08942  20682600.323    20682601.418    20682598.757
+     -1797.723       -1400.823          57.000          50.000
+ -13914576.03644 -10837517.34542  20474032.896    20474033.460    20474031.951
+       841.272         655.537          57.000          51.000
+ -16585112.86543 -12855604.84042  22189309.891    22189310.480    22189308.265
+     -1183.994        -922.593          53.000          46.000
+  -9617732.00843  -7447890.82042  23453619.102    23453621.311    23453618.247
+      3219.056        2508.355          49.000          42.000
+ -16431511.42443 -12793675.52642  21696571.484    21696574.454    21696570.403
+       371.196         289.244          54.000          48.000
+  -2039186.84743  -1561368.26242  25051895.384    25051898.811    25051897.084
+     -1956.127       -1524.255          42.000          35.000
+  -4424613.43943  -3432432.60042  23867575.843    23867579.725    23867574.758
+      3395.340        2645.719          46.000          40.000
+  -8295364.52743  -6416799.34042  23038568.617    23038571.716    23038566.209
+      -117.917         -91.883          49.000          43.000
+ -15087796.25143 -11710166.92542  22075177.872    22075179.317    22075176.835
+      -785.459        -612.046          52.000          45.000
+ -11919181.09943  -9276332.83742  22869167.576    22869170.867    22869166.480
+     -2781.202       -2167.170          50.000          45.000
+ -21067435.60943 -16358246.04642  21262284.305    21262288.013    21262283.446
+      2198.092        1712.799          54.000          48.000
+ 04  2  1 20 14 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21612934.78844 -16782404.48342  20692899.709    20692901.312    20692898.639
+     -1810.112       -1410.477          57.000          50.000
+ -13939564.53944 -10856988.89342  20469277.961    20469278.272    20469276.662
+       825.156         642.979          57.000          51.000
+ -16549577.74143 -12827915.15642  22196072.035    22196073.090    22196070.314
+     -1184.484        -922.974          53.000          46.000
+  -9714244.75143  -7523095.54942  23435253.434    23435254.822    23435252.182
+      3215.810        2505.826          49.000          42.000
+ -16442623.06543 -12802333.94142  21694456.606    21694459.881    21694455.742
+       370.046         288.348          54.000          48.000
+  -1980309.29143  -1515489.72142  25063101.215    25063104.549    25063098.776
+     -1968.404       -1533.821          41.000          35.000
+  -4526479.07543  -3511808.40842  23848191.151    23848194.604    23848189.279
+      3396.395        2646.541          46.000          40.000
+  -8291551.40343  -6413828.08042  23039294.853    23039297.525    23039292.414
+      -135.677        -105.722          49.000          43.000
+ -15063977.95843 -11691607.22742  22079709.672    22079712.083    22079708.648
+      -801.578        -624.606          52.000          45.000
+ -11835600.88743  -9211205.41642  22885072.546    22885075.874    22885071.205
+     -2790.577       -2174.475          51.000          45.000
+ -21133154.23943 -16409455.35542  21249778.824    21249782.322    21249777.793
+      2183.790        1701.655          54.000          48.000
+ 04  2  1 20 15  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21558438.69144 -16739939.99342  20703270.223    20703271.435    20703269.013
+     -1823.014       -1420.530          57.000          50.000
+ -13964070.45444 -10876084.39842  20464614.396    20464615.157    20464613.658
+       808.585         630.066          57.000          51.000
+ -16514027.32943 -12800213.55742  22202836.749    22202837.961    22202835.554
+     -1185.560        -923.813          53.000          46.000
+  -9810658.09143  -7598222.82842  23416905.927    23416908.712    23416904.785
+      3211.716        2502.636          48.000          42.000
+ -16453701.93743 -12810966.81642  21692348.980    21692351.319    21692347.401
+       368.451         287.105          54.000          48.000
+  -1921064.56343  -1469325.07042  25074374.799    25074378.732    25074374.530
+     -1981.440       -1543.979          41.000          36.000
+  -4628364.96543  -3591200.00342  23828802.134    23828804.960    23828799.526
+      3396.134        2646.338          45.000          40.000
+  -8287207.05143  -6410442.87642  23040120.375    23040124.404    23040119.138
+      -153.929        -119.945          48.000          43.000
+ -15039672.45543 -11672667.88542  22084334.498    22084336.900    22084333.540
+      -818.862        -638.074          52.000          45.000
+ -11751740.77143  -9145859.88342  22901030.982    22901033.964    22901029.733
+     -2800.242       -2182.007          51.000          44.000
+ -21198444.28243 -16460330.70342  21237354.669    21237358.339    21237353.296
+      2168.946        1690.088          54.000          48.000
+ 04  2  1 20 15 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21503573.74444 -16697188.08342  20713710.606    20713711.664    20713709.425
+     -1834.546       -1429.516          57.000          50.000
+ -13988093.50044 -10894803.64742  20460043.077    20460043.640    20460042.133
+       793.085         617.988          57.000          51.000
+ -16478461.20443 -12772499.70642  22209605.203    22209605.911    22209603.360
+     -1185.431        -923.712          53.000          46.000
+  -9906969.40143  -7673270.61442  23398579.537    23398580.534    23398578.365
+      3209.019        2500.534          50.000          43.000
+ -16464748.30043 -12819574.37142  21690247.040    21690249.596    21690245.337
+       368.019         286.768          54.000          48.000
+  -1861453.92043  -1422875.32342  25085719.058    25085722.887    25085720.385
+     -1992.645       -1552.710          41.000          36.000
+  -4730268.35943  -3670605.23342  23809410.637    23809414.785    23809410.011
+      3397.183        2647.156          45.000          40.000
+  -8282332.24143  -6406644.33542  23041049.145    23041051.491    23041046.911
+      -170.596        -132.932          48.000          43.000
+ -15014881.32543 -11653350.13642  22089052.694    22089054.443    22089051.551
+      -834.065        -649.921          52.000          45.000
+ -11667601.65943  -9080296.96842  22917041.697    22917044.596    22917039.903
+     -2808.994       -2188.826          50.000          44.000
+ -21263304.23143 -16510870.90542  21225012.284    21225015.340    21225011.056
+      2155.401        1679.533          54.000          48.000
+ 04  2  1 20 16  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21448342.13244 -16654150.46842  20724220.733    20724222.014    20724219.458
+     -1847.212       -1439.386          57.000          50.000
+ -14011634.01244 -10913146.89242  20455563.316    20455564.095    20455562.571
+       776.492         605.059          57.000          51.000
+ -16442878.67943 -12744773.08142  22216376.140    22216377.058    22216374.704
+     -1186.494        -924.541          53.000          46.000
+ -10003176.02043  -7748236.80242  23380272.078    23380274.068    23380270.084
+      3204.887        2497.315          49.000          42.000
+ -16475762.25243 -12828156.66942  21688150.795    21688153.359    21688149.408
+       366.409         285.514          54.000          48.000
+  -1801478.44043  -1376141.20042  25097130.553    25097135.627    25097130.616
+     -2005.108       -1562.422          40.000          36.000
+  -4832186.07143  -3750021.60942  23790017.206    23790020.410    23790016.702
+      3397.296        2647.244          46.000          40.000
+  -8276927.96243  -6402433.22042  23042076.004    23042079.608    23042075.009
+      -188.742        -147.072          48.000          43.000
+ -14989606.02243 -11633655.10742  22093862.544    22093864.083    22093861.661
+      -850.606        -662.810          52.000          45.000
+ -11583184.73143  -9014517.55542  22933105.091    22933109.088    22933103.469
+     -2818.677       -2196.372          49.000          43.000
+ -21327732.82343 -16561074.98042  21212751.778    21212754.776    21212750.487
+      2140.264        1667.738          54.000          48.000
+ 04  2  1 20 16 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21392749.47243 -16610831.51342  20734799.469    20734801.027    20734798.617
+     -1859.637       -1449.068          56.000          50.000
+ -14034695.19944 -10931116.64142  20451175.226    20451175.469    20451174.190
+       760.266         592.415          58.000          51.000
+ -16407282.38843 -12717035.72942  22223149.848    22223151.168    22223148.072
+     -1187.220        -925.106          53.000          46.000
+ -10099278.55343  -7823121.86642  23361984.482    23361986.637    23361982.518
+      3201.134        2494.390          49.000          42.000
+ -16486747.27543 -12836716.42642  21686060.205    21686063.413    21686058.963
+       365.315         284.661          54.000          48.000
+  -1741142.50943  -1329126.19942  25108612.269    25108618.824    25108612.435
+     -2017.890       -1572.382          42.000          36.000
+  -4934118.12743  -3829449.17942  23770621.089    23770622.628    23770619.741
+      3397.571        2647.458          46.000          40.000
+  -8270998.44143  -6397812.82442  23043205.973    23043208.555    23043203.785
+      -206.678        -161.048          50.000          43.000
+ -14963851.46943 -11613586.62042  22098763.391    22098764.828    22098762.224
+      -866.793        -675.423          52.000          45.000
+ -11498494.09743  -8948524.88442  22949221.781    22949225.532    22949220.777
+     -2827.837       -2203.509          50.000          44.000
+ -21391732.17843 -16610944.58842  21200572.976    21200576.145    21200571.734
+      2125.879        1656.529          54.000          48.000
+ 04  2  1 20 17  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21336796.22044 -16567231.58142  20745447.021    20745448.869    20745445.769
+     -1870.675       -1457.669          57.000          50.000
+ -14057275.52044 -10948711.68842  20446877.894    20446878.360    20446877.046
+       744.921         580.458          57.000          51.000
+ -16371670.60743 -12689286.30642  22229926.458    22229926.964    22229925.143
+     -1187.065        -924.986          53.000          46.000
+ -10195272.49843  -7897922.34942  23343717.328    23343718.030    23343716.078
+      3198.161        2492.074          50.000          42.000
+ -16497701.78643 -12845252.40342  21683975.582    21683978.465    21683974.382
+       364.963         284.387          54.000          48.000
+  -1680445.97643  -1281830.31442  25120163.662    25120165.112    25120162.072
+     -2028.822       -1580.900          42.000          35.000
+  -5036059.80343  -3908884.24042  23751220.920    23751224.097    23751220.177
+      3398.581        2648.245          46.000          40.000
+  -8264543.01543  -6392782.63742  23044433.447    23044437.079    23044432.644
+      -223.503        -174.158          48.000          43.000
+ -14937617.41743 -11593144.51842  22103755.266    22103757.512    22103754.183
+      -882.163        -687.400          51.000          45.000
+ -11413529.44243  -8882318.68042  22965390.075    22965392.890    22965388.471
+     -2836.644       -2210.372          50.000          44.000
+ -21455299.36643 -16660477.44842  21188476.631    21188479.790    21188475.693
+      2112.001        1645.715          54.000          48.000
+ 04  2  1 20 17 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21280484.95543 -16523352.67742  20756162.376    20756163.970    20756161.415
+     -1883.051       -1467.312          56.000          50.000
+ -14079375.01244 -10965932.06242  20442672.805    20442673.171    20442671.961
+       728.459         567.630          58.000          51.000
+ -16336042.63743 -12661524.27842  22236706.267    22236707.544    22236704.510
+     -1188.102        -925.794          53.000          46.000
+ -10291155.14843  -7972636.11942  23325470.849    23325474.135    23325470.715
+      3193.968        2488.806          49.000          42.000
+ -16508625.65243 -12853764.50542  21681896.914    21681899.920    21681895.294
+       363.441         283.201          54.000          48.000
+  -1619389.97643  -1234254.33942  25131783.288    25131785.366    25131782.848
+     -2041.353       -1590.665          43.000          35.000
+  -5138007.89443  -3988324.30042  23731822.341    23731824.400    23731821.169
+      3398.133        2647.896          46.000          40.000
+  -8257562.62543  -6387343.39042  23045762.227    23045765.491    23045760.335
+      -241.614        -188.271          49.000          43.000
+ -14910905.58343 -11572330.10142  22108838.536    22108840.807    22108836.988
+      -898.792        -700.357          51.000          45.000
+ -11328291.79243  -8815899.76842  22981609.219    22981613.930    22981608.600
+     -2846.044       -2217.697          49.000          44.000
+ -21518433.11243 -16709672.56142  21176462.706    21176466.144    21176461.117
+      2097.161        1634.151          54.000          48.000
+ 04  2  1 20 18  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21223816.34843 -16479195.32042  20766946.444    20766947.487    20766945.019
+     -1895.075       -1476.682          56.000          50.000
+ -14100992.27244 -10982776.67042  20438558.972    20438559.558    20438558.111
+       712.275         555.019          57.000          51.000
+ -16300396.30243 -12633747.92242  22243489.117    22243490.747    22243487.764
+     -1188.791        -926.331          53.000          46.000
+ -10386922.49643  -8047260.02542  23307246.721    23307249.316    23307245.426
+      3190.078        2485.775          49.000          43.000
+ -16519517.73843 -12862251.84042  21679824.692    21679827.477    21679823.124
+       362.258         282.279          54.000          48.000
+  -1557974.34443  -1186398.07242  25143468.031    25143474.475    25143469.681
+     -2053.862       -1600.412          39.000          35.000
+  -5239957.75343  -4067765.74042  23712421.581    23712423.397    23712420.982
+      3398.335        2648.053          47.000          40.000
+  -8250056.91143  -6381494.77842  23047190.724    23047194.024    23047189.646
+      -259.161        -201.944          49.000          43.000
+ -14883716.02743 -11551143.45142  22114012.459    22114015.332    22114011.409
+      -915.009        -712.994          52.000          45.000
+ -11242780.78243  -8749267.82842  22997881.519    22997885.752    22997880.535
+     -2855.271       -2224.886          50.000          44.000
+ -21581130.58643 -16758527.72042  21164531.932    21164535.154    21164530.626
+      2082.518        1622.741          54.000          48.000
+ 04  2  1 20 18 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21166796.41443 -16434764.21342  20777797.010    20777798.173    20777795.775
+     -1907.119       -1486.067          56.000          50.000
+ -14122131.39144 -10999248.69942  20434536.649    20434536.705    20434535.529
+       696.017         542.351          57.000          51.000
+ -16264735.04043 -12605959.95042  22250275.760    22250276.434    22250274.585
+     -1189.596        -926.958          53.000          46.000
+ -10482575.77043  -8121795.04642  23289044.558    23289048.461    23289043.880
+      3185.908        2482.526          49.000          43.000
+ -16530382.27143 -12870717.71242  21677756.620    21677760.007    21677755.602
+       361.009         281.306          54.000          48.000
+  -1496204.41543  -1138265.72142  25155222.901    25155228.785    25155223.540
+     -2065.502       -1609.482          40.000          35.000
+  -5341910.25443  -4147209.22942  23693021.621    23693021.574    23693020.560
+      3397.752        2647.599          48.000          40.000
+  -8242030.83343  -6375240.69442  23048716.726    23048720.804    23048715.504
+      -276.894        -215.761          48.000          43.000
+ -14856054.37143 -11529588.91742  22119276.648    22119278.817    22119274.910
+      -930.378        -724.970          51.000          45.000
+ -11157001.36843  -8682426.75942  23014205.359    23014209.065    23014204.758
+     -2864.486       -2232.067          50.000          44.000
+ -21643394.63943 -16807045.15042  21152683.306    21152686.352    21152682.151
+      2067.666        1611.168          54.000          48.000
+ 04  2  1 20 19  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21109429.92743 -16390063.05642  20788713.164    20788714.561    20788711.942
+     -1917.700       -1494.312          56.000          50.000
+ -14142794.85544 -11015350.08742  20430604.324    20430604.630    20430603.404
+       681.080         530.712          57.000          51.000
+ -16229060.95543 -12578161.97742  22257064.938    22257065.628    22257063.517
+     -1189.189        -926.641          53.000          46.000
+ -10578114.70943  -8196240.96942  23270863.926    23270868.667    23270862.326
+      3182.958        2480.227          49.000          43.000
+ -16541221.47443 -12879163.83942  21675694.276    21675696.715    21675692.569
+       361.103         281.379          54.000          48.000
+  -1434083.73643  -1089860.08242  25167045.790    25167048.905    25167043.545
+     -2076.445       -1618.009          41.000          34.000
+  -5443864.64343  -4226654.19442  23673618.988    23673621.436    23673617.152
+      3398.765        2648.388          47.000          40.000
+  -8233487.85343  -6368583.85142  23050342.921    23050346.237    23050340.438
+      -292.877        -228.216          48.000          43.000
+ -14827924.56643 -11507669.59442  22124629.097    22124631.656    22124628.876
+      -945.198        -736.518          51.000          45.000
+ -11070957.05943  -8615379.26142  23030579.625    23030582.615    23030578.653
+     -2872.418       -2238.248          51.000          44.000
+ -21705226.49243 -16855225.80342  21140916.829    21140920.340    21140915.976
+      2054.119        1600.612          54.000          48.000
+ 04  2  1 20 19 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -21051708.71943 -16345085.50242  20799697.395    20799698.987    20799695.993
+     -1929.607       -1503.590          56.000          50.000
+ -14162972.55044 -11031072.96042  20426764.539    20426764.954    20426763.835
+       664.831         518.050          57.000          51.000
+ -16193362.91343 -12550345.34942  22263857.529    22263858.497    22263855.915
+     -1190.009        -927.280          53.000          46.000
+ -10673526.29443  -8270587.64142  23252707.482    23252710.457    23252706.533
+      3178.534        2476.780          49.000          43.000
+ -16552025.14243 -12887582.27342  21673638.217    21673641.455    21673636.965
+       359.885         280.430          54.000          48.000
+  -1371603.27243  -1041174.07042  25178934.617    25178936.590    25178931.669
+     -2088.084       -1627.078          41.000          34.000
+  -5545807.60743  -4306090.25942  23654219.613    23654221.821    23654218.813
+      3398.529        2648.204          47.000          40.000
+  -8224418.89343  -6361517.12442  23052068.172    23052071.309    23052066.012
+      -310.646        -242.062          48.000          43.000
+ -14799318.07343 -11485378.84142  22130072.931    22130075.296    22130072.277
+      -961.179        -748.971          51.000          45.000
+ -10984638.66843  -8548118.20342  23047005.078    23047007.972    23047004.354
+     -2881.143       -2245.046          51.000          44.000
+ -21766614.57443 -16903060.65642  21129234.889    21129238.944    21129233.732
+      2039.227        1589.008          54.000          48.000
+ 04  2  1 20 20  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20993647.16143 -16299842.73542  20810746.108    20810747.745    20810744.596
+     -1941.166       -1512.597          56.000          50.000
+ -14182676.46944 -11046426.65342  20423014.817    20423015.523    20423013.987
+       648.792         505.552          57.000          51.000
+ -16157651.88243 -12522518.58742  22270652.749    22270653.808    22270651.099
+     -1190.592        -927.734          52.000          46.000
+ -10768819.47743  -8344842.05542  23234573.792    23234576.813    23234573.925
+      3174.414        2473.569          50.000          43.000
+ -16562805.15143 -12895982.27142  21671586.458    21671589.507    21671585.241
+       358.783         279.571          54.000          47.000
+  -1308776.12943   -992217.94442  25190890.372    25190892.857    25190887.614
+     -2100.216       -1636.532          41.000          35.000
+  -5647747.57843  -4385523.99642  23634819.971    23634823.245    23634820.347
+      3397.793        2647.631          46.000          40.000
+  -8214836.81943  -6354050.57342  23053892.058    23053895.208    23053891.469
+      -328.070        -255.639          49.000          43.000
+ -14770248.27343 -11462727.06542  22135605.001    22135607.329    22135604.192
+      -976.724        -761.084          51.000          45.000
+ -10898059.11043  -8480653.62442  23063480.164    23063484.196    23063479.069
+     -2890.352       -2252.222          50.000          44.000
+ -21827569.49443 -16950557.97742  21117635.836    21117638.871    21117634.611
+      2024.496        1577.529          55.000          48.000
+ 04  2  1 20 20 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20935242.13443 -16254332.32942  20821860.170    20821861.739    20821858.790
+     -1952.310       -1521.280          56.000          50.000
+ -14201901.68844 -11061407.33342  20419356.711    20419357.049    20419355.790
+       633.038         493.276          58.000          51.000
+ -16121922.92243 -12494677.86742  22277451.798    22277453.516    22277450.482
+     -1191.107        -928.135          52.000          46.000
+ -10863986.57643  -8418998.23342  23216465.089    23216467.399    23216463.142
+      3170.376        2470.423          49.000          43.000
+ -16573556.82043 -12904360.20242  21669540.878    21669543.640    21669539.777
+       358.199         279.116          54.000          48.000
+  -1245598.77943   -942988.90342  25202912.190    25202917.342    25202907.574
+     -2111.009       -1644.942          40.000          35.000
+  -5749676.39543  -4464949.04842  23615423.399    23615427.319    23615423.513
+      3397.788        2647.627          46.000          40.000
+  -8204737.85643  -6346181.27342  23055814.905    23055817.339    23055812.619
+      -344.874        -268.733          49.000          43.000
+ -14740711.79643 -11439711.63842  22141224.828    22141227.115    22141223.356
+      -992.361        -773.268          51.000          45.000
+ -10811214.64743  -8412982.67042  23080006.106    23080009.031    23080004.984
+     -2898.961       -2258.931          49.000          43.000
+ -21888085.29543 -16997713.13942  21106120.148    21106123.472    21106119.191
+      2010.061        1566.281          54.000          48.000
+ 04  2  1 20 21  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20876496.34643 -16208556.40142  20833038.991    20833040.742    20833037.806
+     -1963.542       -1530.033          56.000          50.000
+ -14220649.07444 -11076015.67742  20415789.170    20415789.413    20415788.353
+       617.145         480.892          58.000          51.000
+ -16086175.43843 -12466822.70942  22284254.327    22284255.316    22284252.822
+     -1191.713        -928.607          53.000          46.000
+ -10959025.43143  -8493054.46142  23198379.869    23198383.008    23198378.195
+      3166.023        2467.031          50.000          43.000
+ -16584280.51743 -12912716.32542  21667500.502    21667503.394    21667498.835
+       357.249         278.376          54.000          48.000
+  -1182072.92843   -893488.28742  25215002.071    25215003.517    25215002.697
+     -2123.382       -1654.583          41.000          34.000
+  -5851591.34643  -4544363.27742  23596029.692    23596034.404    23596028.277
+      3397.014        2647.024          47.000          40.000
+  -8194123.68443  -6337910.49742  23057834.527    23057837.142    23057831.995
+      -362.110        -282.164          49.000          43.000
+ -14710711.11043 -11416334.49542  22146934.684    22146936.693    22146934.088
+     -1007.485        -785.053          52.000          45.000
+ -10724106.90843  -8345106.52542  23096582.464    23096585.538    23096581.594
+     -2907.884       -2265.884          49.000          43.000
+ -21948161.19543 -17044525.51842  21094688.148    21094691.542    21094686.808
+      1995.319        1554.794          54.000          48.000
+ 04  2  1 20 21 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20817411.88743 -16162516.57042  20844282.478    20844284.197    20844281.385
+     -1974.531       -1538.595          56.000          50.000
+ -14238918.62444 -11090251.68242  20412312.755    20412312.885    20412311.829
+       601.663         468.828          58.000          51.000
+ -16050408.58743 -12438952.46742  22291060.221    22291062.488    22291059.247
+     -1191.854        -928.717          52.000          46.000
+ -11053933.01643  -8567008.43342  23180319.781    23180322.173    23180319.394
+      3161.946        2463.854          50.000          43.000
+ -16594975.90543 -12921050.39942  21665464.861    21665467.877    21665464.073
+       356.674         277.928          54.000          48.000
+  -1118199.72543   -843717.09742  25227158.195    25227156.287    25227157.101
+     -2133.766       -1662.675          40.000          33.000
+  -5953489.09643  -4623764.10142  23576640.344    23576642.082    23576638.557
+      3396.910        2646.943          46.000          40.000
+  -8182995.13643  -6329238.91642  23059950.643    23059955.188    23059950.048
+      -378.813        -295.179          48.000          43.000
+ -14680247.63743 -11392596.73542  22152731.561    22152733.784    22152730.512
+     -1022.208        -796.526          52.000          45.000
+ -10636736.76443  -8277025.91642  23113208.039    23113211.863    23113206.666
+     -2916.017       -2272.221          49.000          43.000
+ -22007795.91643 -17090994.11942  21083340.515    21083343.216    21083339.056
+      1981.024        1543.655          54.000          48.000
+ 04  2  1 20 22  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20757992.36243 -16116215.65342  20855589.388    20855591.302    20855588.373
+     -1985.993       -1547.527          56.000          50.000
+ -14256711.86244 -11104116.53242  20408926.556    20408926.956    20408925.666
+       585.393         456.150          58.000          51.000
+ -16014623.58543 -12411068.07642  22297870.666    22297872.468    22297868.897
+     -1192.941        -929.564          52.000          46.000
+ -11148708.25043  -8640859.24842  23162283.723    23162286.624    23162282.149
+      3157.151        2460.118          49.000          43.000
+ -16605644.35643 -12929363.47242  21663435.177    21663438.305    21663433.755
+       355.437         276.964          54.000          48.000
+                   -793677.34042  25239376.406    25239379.347
+     -2146.530       -1672.621          38.000          32.000
+  -6055367.97743  -4703150.23442  23557253.781    23557254.855    23557253.876
+      3395.769        2646.054          47.000          40.000
+  -8171355.00743  -6320168.68442  23062166.143    23062170.072    23062164.263
+      -396.177        -308.709          49.000          43.000
+ -14649324.36843 -11368500.69442  22158616.776    22158617.907    22158614.620
+     -1038.313        -809.075          52.000          45.000
+ -10549106.84543  -8208742.88942  23129883.627    23129886.955    23129881.466
+     -2925.052       -2279.261          49.000          43.000
+ -22066989.69543 -17137119.13942  21072075.814    21072079.078    21072074.384
+      1966.034        1531.975          55.000          48.000
+ 04  2  1 20 22 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20698244.09643 -16069658.57442  20866959.236    20866960.971    20866958.361
+     -1996.730       -1555.893          56.000          50.000
+ -14274032.85244 -11117613.40342  20405630.601    20405630.757    20405629.463
+       569.729         443.945          58.000          51.000
+ -15978823.16743 -12383171.67842  22304682.104    22304683.592    22304681.142
+     -1193.477        -929.982          52.000          46.000
+ -11243352.04643  -8714607.65842  23144273.255    23144276.931    23144272.408
+      3152.664        2456.621          49.000          43.000
+ -16616289.81043 -12937658.63342  21661408.648    21661412.511    21661407.697
+       354.671         276.367          54.000          48.000
+  -4140264.82953  -3198573.13552  25251660.876    25251665.186    25251662.203
+     -2157.679       -1681.308          40.000          33.000
+  -6157228.27843  -4782521.89242  23537870.010    23537871.933    23537869.899
+      3395.269        2645.664          48.000          40.000
+  -8159207.98143  -6310703.48242  23064476.549    23064480.643    23064474.920
+      -413.049        -321.856          48.000          43.000
+ -14617946.98743 -11344050.79342  22164586.975    22164589.425    22164585.660
+     -1052.908        -820.448          52.000          45.000
+ -10461222.04243  -8140261.26442  23146606.729    23146611.720    23146606.718
+     -2933.499       -2285.843          49.000          43.000
+ -22125745.27043 -17182902.69142  21060895.088    21060898.323    21060893.745
+      1951.181        1520.401          55.000          48.000
+ 04  2  1 20 23  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20638162.07143 -16022841.41942  20878392.552    20878394.276    20878391.453
+     -2008.725       -1565.240          56.000          50.000
+ -14290874.58744 -11130736.82042  20402425.984    20402426.012    20402425.038
+       552.955         430.874          58.000          51.000
+ -15942999.26543 -12355256.96942  22311500.508    22311501.712    22311498.708
+     -1194.939        -931.121          53.000          46.000
+ -11337854.13743  -8788245.63442  23126290.692    23126294.261    23126290.404
+      3147.161        2452.333          50.000          43.000
+ -16626905.01243 -12945930.22442  21659389.358    21659392.797    21659387.559
+       352.888         274.978          54.000          48.000
+  -4075362.30353  -3147999.80652  25264014.228    25264014.947    25264012.573
+     -2169.127       -1690.229          39.000          34.000
+  -6259059.60943  -4861870.98342  23518492.261    23518494.900    23518492.006
+      3393.382        2644.194          48.000          41.000
+  -8146548.12243  -6300838.67242  23066887.164    23066890.402    23066885.006
+      -431.330        -336.101          48.000          43.000
+ -14586110.01943 -11319242.77342  22170644.578    22170648.315    22170643.845
+     -1069.432        -833.324          51.000          45.000
+ -10373076.21043  -8071576.22742  23163381.520    23163385.124    23163381.538
+     -2943.063       -2293.296          49.000          43.000
+ -22184054.17043 -17228338.17742  21049798.877    21049801.959    21049797.596
+      1935.773        1508.395          54.000          48.000
+ 04  2  1 20 23 30.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20577755.28443 -15975771.20142  20889887.502    20889889.377    20889886.527
+     -2019.017       -1573.260          56.000          50.000
+ -14307244.12544 -11143492.30042  20399310.742    20399310.810    20399309.858
+       537.686         418.976          57.000          51.000
+ -15907158.36443 -12327329.02142  22318320.072    22318321.395    22318318.909
+     -1195.113        -931.257          52.000          46.000
+ -11432218.76743  -8861776.51942  23108333.657    23108337.573    23108331.600
+      3143.094        2449.164          50.000          43.000
+ -16637496.90843 -12954183.65042  21657373.410    21657376.619    21657372.267
+       352.603         274.756          54.000          48.000
+  -4010122.47453  -3097163.64052  25276424.422    25276432.710    25276424.025
+     -2180.719       -1699.261          36.000          33.000
+  -6360865.36143  -4941200.12342  23499119.336    23499124.100    23499118.611
+      3393.045        2643.931          48.000          41.000
+  -8133383.47843  -6290580.52042  23069392.496    23069395.181    23069391.596
+      -447.472        -348.679          49.000          43.000
+ -14553821.81743 -11294083.15642  22176789.585    22176791.967    22176788.408
+     -1084.064        -844.725          51.000          45.000
+ -10284677.22043  -8002693.94142  23180203.537    23180206.145    23180201.956
+     -2950.933       -2299.428          49.000          43.000
+ -22241922.14043 -17273430.08342  21038787.428    21038790.297    21038786.144
+      1921.410        1497.203          55.000          48.000
+ 04  2  1 20 24  0.0000000  0 11G18G22G21G 3G15G26G14G 2G16G 6G23
+ -20517023.88143 -15928448.03642  20901444.780    20901446.178    20901443.407
+     -2029.846       -1581.698          56.000          50.000
+ -14323139.87944 -11155878.59442  20396286.026    20396285.973    20396284.873
+       521.851         406.637          58.000          51.000
+ -15871297.36843 -12299385.41142  22325144.654    22325145.188    22325142.833
+     -1195.858        -931.837          53.000          46.000
+ -11526441.27743  -8935196.65742  23090403.599    23090405.026    23090402.201
+      3138.232        2445.376          49.000          43.000
+ -16648063.43943 -12962417.30842  21655363.124    21655366.251    21655361.652
+       351.638         274.004          54.000          48.000
+                  -3046064.51452  25288904.294    25288909.590
+     -2191.411       -1707.593          39.000          32.000
+  -6462640.57543  -5020505.48642  23479751.892    23479753.638    23479751.677
+      3391.913        2643.049          48.000          41.000
+  -8119713.46843  -6279928.57142  23071993.595    23071996.737    23071991.465
+      -464.323        -361.810          49.000          43.000
+ -14521082.59943 -11268572.08942  22183018.812    22183021.332    22183018.550
+     -1098.892        -856.279          51.000          45.000
+ -10196024.56243  -7933613.97742  23197073.358    23197077.794    23197072.375
+     -2959.405       -2306.030          48.000          43.000
+ -22299346.37343 -17318176.21242  21027859.848    21027862.956    21027858.647
+      1906.517        1485.598          55.000          48.000
+ 04  2  1 20 24 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20455968.72043 -15880872.59242  20913062.791    20913064.677    20913061.930
+     -2040.914       -1590.322          56.000          50.000
+ -14338560.83944 -11167894.91642  20393351.000    20393351.643    20393350.291
+       505.714         394.063          57.000          51.000
+ -15835415.15243 -12271425.26842  22331972.118    22331974.121    22331970.261
+     -1196.824        -932.590          52.000          46.000
+ -11620517.19843  -9008502.57942  23072500.818    23072503.539    23072499.814
+      3133.066        2441.350          50.000          44.000
+ -16658603.16343 -12970630.08942  21653356.838    21653359.952    21653355.654
+       350.482         273.103          54.000          48.000
+  -6564380.86043  -5099783.63242  23460391.455    23460393.352    23460390.145
+      3390.488        2641.939          48.000          41.000
+  -8105538.08043  -6268882.82742  23074692.318    23074694.869    23074690.545
+      -481.201        -374.962          49.000          43.000
+ -14487892.59043 -11242709.76142  22189336.118    22189337.909    22189335.461
+     -1114.310        -868.293          52.000          45.000
+ -10107118.06143  -7864336.22242  23213990.777    23213994.521    23213991.065
+     -2967.947       -2312.686          47.000          43.000
+ -22356324.40243 -17362574.66142  21017017.205    21017020.502    21017016.054
+      1891.513        1473.906          55.000          49.000
+ 04  2  1 20 25  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20394596.00943 -15833049.71142  20924742.331    20924743.359    20924740.912
+     -2050.843       -1598.059          56.000          50.000
+ -14353511.34744 -11179544.65442  20390506.173    20390506.582    20390505.462
+       490.708         382.370          57.000          51.000
+ -15799514.34043 -12243450.63242  22338804.897    22338805.565    22338803.685
+     -1196.780        -932.556          53.000          46.000
+ -11714447.78043  -9081695.23842  23054626.396    23054630.291    23054625.903
+      3128.625        2437.890          49.000          43.000
+ -16669119.93043 -12978824.97142  21651356.200    21651358.958    21651354.509
+       350.415         273.051          54.000          48.000
+  -6666086.56443  -5179034.81942  23441037.640    23441040.182    23441034.905
+      3389.706        2641.329          48.000          40.000
+  -8090862.52243  -6257447.33342  23077484.002    23077488.211    23077481.623
+      -497.358        -387.552          49.000          43.000
+ -14454257.60043 -11216500.68942  22195735.927    22195739.166    22195735.376
+     -1128.474        -879.330          52.000          45.000
+ -10017962.71443  -7794864.57042  23230957.119    23230960.551    23230956.366
+     -2975.562       -2318.620          48.000          42.000
+ -22412859.10343 -17406627.64642  21006258.949    21006262.155    21006257.850
+      1877.364        1462.881          55.000          48.000
+ 04  2  1 20 25 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20332904.51543 -15784978.43042  20936481.179    20936482.924    20936479.965
+     -2061.544       -1606.398          56.000          49.000
+ -14367988.13344 -11190825.25942  20387751.617    20387751.740    20387750.665
+       474.797         369.972          58.000          51.000
+ -15763590.57643 -12215458.11542  22345640.543    22345642.010    22345638.960
+     -1197.818        -933.365          53.000          46.000
+ -11808226.89843  -9154769.88642  23036781.503    23036784.847    23036780.938
+      3123.505        2433.900          50.000          43.000
+ -16679610.48743 -12986999.42442  21649359.699    21649362.457    21649358.725
+       349.410         272.268          54.000          48.000
+  -6767750.92743  -5258253.79742  23421690.737    23421693.631    23421690.653
+      3388.368        2640.287          48.000          40.000
+  -8075684.64343  -6245620.45242  23080372.464    23080375.238    23080370.707
+      -514.112        -400.607          49.000          43.000
+ -14420176.01643 -11189943.62242  22202221.583    22202224.598    22202221.049
+     -1143.561        -891.086          52.000          46.000
+  -9928556.36443  -7725197.31842  23247971.919    23247974.661    23247969.783
+     -2984.231       -2325.375          48.000          43.000
+ -22468946.15143 -17450331.81042  20995586.129    20995588.919    20995584.717
+      1862.343        1451.176          55.000          48.000
+ 04  2  1 20 26  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20270902.25443 -15736664.99142  20948280.230    20948281.608    20948278.712
+     -2071.528       -1614.178          56.000          49.000
+ -14381997.67144 -11201741.77242  20385085.680    20385085.712    20385084.618
+       459.472         358.030          58.000          51.000
+ -15727649.51743 -12187452.13542  22352479.321    22352482.023    22352477.062
+     -1197.954        -933.471          52.000          45.000
+ -11901857.58843  -9227728.84942  23018963.353    23018967.914    23018963.632
+      3118.876        2430.293          49.000          43.000
+ -16690080.38043 -12995157.78842  21647368.011    21647370.251    21647366.187
+       349.011         271.957          54.000          48.000
+  -6869376.65943  -5337442.66242  23402353.565    23402353.465    23402351.829
+      3387.085        2639.287          48.000          41.000
+  -8060011.81543  -6233407.85742  23083354.598    23083357.335    23083354.171
+      -530.298        -413.219          49.000          43.000
+ -14385655.82843 -11163044.78242  22208790.488    22208793.562    22208789.503
+     -1157.526        -901.968          52.000          46.000
+  -9838906.17943  -7655340.06642  23265030.548    23265034.867    23265029.751
+     -2991.902       -2331.352          48.000          43.000
+ -22524590.36343 -17493690.91542  20984997.372    20985000.449    20984996.043
+      1847.616        1439.701          55.000          48.000
+ 04  2  1 20 26 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20208583.96843 -15688105.29542  20960138.652    20960140.644    20960137.248
+     -2082.448       -1622.687          56.000          49.000
+ -14395532.15744 -11212288.12242  20382509.779    20382510.337    20382508.996
+       443.302         345.430          57.000          51.000
+ -15691682.98243 -12159426.29442  22359323.564    22359325.428    22359322.729
+     -1199.223        -934.459          52.000          46.000
+ -11995328.98843  -9300563.71742  23001176.398    23001181.198    23001175.721
+      3113.088        2425.783          49.000          43.000
+ -16700521.67643 -13003293.86842  21645380.746    21645383.325    21645379.085
+       347.660         270.904          54.000          48.000
+  -6970952.69143  -5416592.80942  23383024.153    23383025.086    23383021.828
+      3385.082        2637.726          48.000          41.000
+  -8043837.35743  -6220804.39242  23086433.082    23086434.220    23086431.622
+      -547.597        -426.699          49.000          43.000
+ -14350690.69843 -11135799.25142  22215444.265    22215446.480    22215443.037
+     -1172.709        -913.799          52.000          45.000
+  -9749005.22843  -7585287.43042  23282138.289    23282142.667    23282137.169
+     -3000.821       -2338.302          48.000          43.000
+ -22579782.91343 -17536698.07642  20974494.360    20974497.692    20974493.179
+      1832.122        1427.628          55.000          49.000
+ 04  2  1 20 27  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20145957.88743 -15639305.76542  20972055.912    20972057.577    20972054.615
+     -2093.151       -1631.027          56.000          49.000
+ -14408598.32644 -11222469.54642  20380023.511    20380023.877    20380022.565
+       427.165         332.856          57.000          51.000
+ -15655695.65643 -12131384.25542  22366171.729    22366173.662    22366170.964
+     -1200.591        -935.525          53.000          46.000
+ -12088644.39843  -9373277.02542  22983418.293    22983423.347    22983418.711
+      3107.397        2421.348          48.000          43.000
+ -16710940.56943 -13011412.49342  21643398.294    21643400.806    21643396.312
+       346.348         269.882          55.000          48.000
+  -7072481.75643  -5495706.36942  23363702.792    23363704.749    23363701.646
+      3382.764        2635.920          47.000          41.000
+  -8027168.82243  -6207815.94342  23089604.318    23089607.229    23089602.536
+      -564.628        -439.970          48.000          43.000
+ -14315288.62143 -11108213.23042  22222181.675    22222182.531    22222180.038
+     -1187.773        -925.537          52.000          45.000
+  -9658861.10843  -7515045.29542  23299292.588    23299296.772    23299291.911
+     -3009.446       -2345.023          49.000          43.000
+ -22634528.95543 -17579357.31342  20964076.387    20964079.507    20964075.274
+      1816.949        1415.804          55.000          48.000
+ 04  2  1 20 27 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20083026.65443 -15590268.45142  20984031.607    20984033.366    20984030.132
+     -2103.072       -1638.757          56.000          49.000
+ -14421196.84544 -11232286.56442  20377625.965    20377626.455    20377625.191
+       411.845         320.918          58.000          51.000
+ -15619687.05643 -12103325.63042  22373024.320    22373026.294    22373023.244
+     -1201.100        -935.922          53.000          46.000
+ -12181801.33943  -9445866.83942  22965692.995    22965696.544    22965692.021
+      3102.213        2417.309          50.000          43.000
+ -16721337.11943 -13019513.70342  21641419.540    21641422.629    21641418.180
+       345.909         269.539          54.000          48.000
+  -7173960.86643  -5574780.99242  23344392.076    23344394.957    23344391.119
+      3381.468        2634.910          47.000          41.000
+  -8010007.87243  -6194443.79042  23092870.233    23092872.961    23092869.859
+      -580.467        -452.312          49.000          43.000
+ -14279451.88243 -11080288.51542  22229000.706    22229002.411    22228999.323
+     -1201.885        -936.534          52.000          45.000
+  -9568475.26143  -7444614.81942  23316491.918    23316495.463    23316491.352
+     -3017.190       -2351.057          48.000          43.000
+ -22688827.79743 -17621668.08242  20953743.975    20953746.928    20953742.681
+      1802.291        1404.383          55.000          49.000
+ 04  2  1 20 28  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -20019792.08443 -15540994.77542  20996064.657    20996066.138    20996063.478
+     -2113.406       -1646.810          56.000          49.000
+ -14433328.21944 -11241739.57642  20375317.532    20375317.911    20375316.566
+       396.019         308.586          58.000          51.000
+ -15583656.73143 -12075250.07742  22379880.697    22379882.389    22379879.679
+     -1201.750        -936.428          53.000          45.000
+ -12274796.97243  -9518330.96342  22947996.117    22947999.453    22947995.229
+      3096.655        2412.978          49.000          43.000
+ -16731711.30643 -13027597.49442  21639444.947    21639448.327    21639443.403
+       344.949         268.791          54.000          48.000
+  -7275386.76943  -5653814.15342  23325091.199    23325093.605    23325090.573
+      3379.430        2633.322          48.000          41.000
+  -7992356.30143  -6180689.33342  23096228.598    23096232.706    23096227.128
+      -597.247        -465.387          49.000          43.000
+ -14243182.72643 -11052026.85042  22235902.567    22235904.073    22235901.115
+     -1217.039        -948.342          51.000          45.000
+  -9477849.00543  -7373996.99242  23333737.962    23333741.173    23333736.542
+     -3025.128       -2357.242          48.000          42.000
+ -22742678.60343 -17663629.73442  20943496.604    20943499.313    20943495.068
+      1787.167        1392.598          55.000          49.000
+ 04  2  1 20 28 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19956252.89643 -15491483.73342  21008155.542    21008157.536    21008154.377
+     -2122.470       -1653.873          56.000          49.000
+ -14444989.26744 -11250826.10142  20373098.316    20373099.021    20373097.493
+       381.315         297.128          57.000          51.000
+ -15547600.25143 -12047154.15842  22386742.452    22386744.155    22386741.343
+     -1201.903        -936.548          53.000          46.000
+ -12367625.00743  -9590664.51342  22930331.399    22930334.619    22930331.292
+      3091.868        2409.248          50.000          44.000
+ -16742059.33443 -13035660.89942  21637476.459    21637479.269    21637474.566
+       345.077         268.891          54.000          48.000
+  -7376752.69543  -5732800.59942  23305802.292    23305803.615    23305800.500
+      3378.300        2632.442          48.000          42.000
+  -7974212.00543  -6166550.93442  23099681.897    23099686.083    23099680.652
+      -612.758        -477.474          49.000          43.000
+ -14206479.46843 -11023426.92542  22242887.293    22242888.627    22242885.217
+     -1230.134        -958.546          51.000          45.000
+  -9386979.90843  -7303189.96242  23351029.550    23351033.400    23351028.843
+     -3032.580       -2363.049          47.000          42.000
+ -22796076.94243 -17705238.81642  20933334.713    20933337.866    20933333.449
+      1772.899        1381.480          55.000          48.000
+ 04  2  1 20 29  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19892417.29843 -15441741.72442  21020303.249    21020305.158    21020302.091
+     -2132.566       -1661.740          56.000          49.000
+ -14456185.98144 -11259550.80442  20370967.267    20370968.363    20370966.920
+       365.739         284.991          57.000          51.000
+ -15511522.67743 -12019041.79642  22393607.634    22393609.958    22393605.833
+     -1202.709        -937.176          53.000          45.000
+ -12460287.96143  -9662869.40842  22912698.412    22912701.679    22912696.969
+      3086.294        2404.904          50.000          44.000
+ -16752386.80343 -13043708.29142  21635510.668    21635513.251    21635509.650
+       344.119         268.145          54.000          48.000
+  -7478060.66743  -5811741.87542  23286525.407    23286525.891    23286523.491
+      3376.289        2630.875          48.000          41.000
+  -7955581.85543  -6152033.95842  23103226.764    23103230.363    23103224.905
+      -628.793        -489.968          48.000          43.000
+ -14169349.45043 -10994494.45542  22249951.947    22249954.160    22249951.235
+     -1244.393        -969.657          51.000          45.000
+  -9295874.79743  -7232199.02142  23368367.253    23368369.920    23368365.448
+     -3040.511       -2369.229          49.000          43.000
+ -22849027.43443 -17746498.93042  20923259.015    20923262.057    20923257.817
+      1757.811        1369.723          55.000          49.000
+ 04  2  1 20 29 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19828283.89143 -15391767.65542  21032507.090    21032509.210    21032506.175
+     -2142.457       -1669.447          56.000          49.000
+ -14466915.45044 -11267911.42742  20368925.968    20368926.487    20368924.989
+       350.102         272.807          58.000          51.000
+ -15475419.58443 -11990909.53342  22400477.914    22400478.712    22400475.841
+     -1203.700        -937.948          53.000          45.000
+ -12552779.56543  -9734940.79542  22895097.799    22895101.099    22895095.749
+      3080.386        2400.301          50.000          44.000
+ -16762689.81743 -13051736.61742  21633550.146    21633552.554    21633548.821
+       343.282         267.492          54.000          48.000
+  -7579304.07043  -5890632.82442  23267258.411    23267261.330    23267258.605
+      3373.739        2628.887          48.000          41.000
+  -7936463.85343  -6137136.80942  23106864.724    23106868.361    23106863.853
+      -645.305        -502.835          49.000          43.000
+ -14131791.12143 -10965228.23542  22257099.104    22257101.767    22257098.621
+     -1258.842        -980.916          51.000          45.000
+  -9204531.44843  -7161022.40942  23385748.559    23385752.390    23385747.489
+     -3048.412       -2375.386          49.000          43.000
+ -22901525.72343 -17787406.66842  20913268.720    20913271.906    20913267.394
+      1742.633        1357.896          55.000          49.000
+ 04  2  1 20 30  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19763857.72643 -15341565.46842  21044767.035    21044768.890    21044766.060
+     -2153.176       -1677.799          56.000          49.000
+ -14477180.78444 -11275910.38042  20366972.880    20366973.031    20366972.015
+       333.598         259.946          58.000          52.000
+ -15439292.83943 -11962758.84042  22407352.545    22407354.077    22407351.486
+     -1205.507        -939.356          53.000          45.000
+ -12645099.69943  -9806878.57242  22877529.433    22877532.816    22877528.275
+      3073.507        2394.941          50.000          44.000
+ -16772970.88143 -13059747.83842  21631593.559    21631596.715    21631592.607
+       341.378         266.009          54.000          48.000
+  -7680482.27743  -5969472.97942  23248004.558    23248005.646    23248002.959
+      3370.546        2626.399          48.000          42.000
+  -7916862.06443  -6121862.71842  23110595.190    23110598.672    23110593.882
+      -662.227        -516.021          50.000          43.000
+ -14093809.25043 -10935631.98942  22264327.826    22264329.252    22264326.230
+     -1273.801        -992.572          52.000          45.000
+  -9112953.79243  -7089663.24842  23403175.406    23403178.300    23403174.707
+     -3057.227       -2382.255          49.000          43.000
+ -22953573.64843 -17827963.47942  20903364.144    20903367.265    20903362.909
+      1726.483        1345.311          55.000          49.000
+ 04  2  1 20 30 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19699139.56743 -15291135.75442  21057083.227    21057084.475    21057081.774
+     -2163.414       -1685.777          56.000          49.000
+ -14486981.55644 -11283547.34342  20365107.851    20365108.035    20365106.744
+       317.604         247.484          58.000          52.000
+ -15403140.72943 -11934588.41042  22414232.355    22414233.147    22414230.708
+     -1207.038        -940.549          53.000          45.000
+ -12737244.28843  -9878679.55842  22859995.019    22859998.668    22859992.803
+      3067.239        2390.056          51.000          44.000
+ -16783228.90743 -13067741.11942  21629641.969    21629644.728    21629640.496
+       340.169         265.067          54.000          48.000
+  -7781590.84243  -6048258.87242  23228765.495    23228765.732    23228763.092
+      3367.826        2624.280          48.000          42.000
+  -7896776.99143  -6106212.04242  23114417.790    23114421.254    23114415.778
+      -678.868        -528.988          50.000          43.000
+ -14055404.76743 -10905706.42542  22271635.850    22271638.084    22271634.095
+     -1288.435       -1003.975          51.000          45.000
+  -9021142.10643  -7018121.72042  23420646.853    23420650.380    23420646.422
+     -3065.555       -2388.744          48.000          43.000
+ -23005169.38743 -17868167.93942  20893545.824    20893549.113    20893544.449
+      1711.029        1333.269          55.000          49.000
+ 04  2  1 20 31  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19634134.17143 -15240482.21642  21069453.379    21069454.159    21069452.070
+     -2172.072       -1692.524          56.000          49.000
+ -14496320.26344 -11290824.25542  20363330.460    20363330.820    20363329.696
+       303.211         236.268          57.000          52.000
+ -15366964.30343 -11906399.01742  22421117.023    22421117.322    22421115.096
+     -1206.734        -940.312          53.000          45.000
+ -12829212.71043  -9950343.26742  22842494.258    22842498.223    22842492.565
+      3062.375        2386.266          51.000          44.000
+ -16793465.74743 -13075717.88942  21627693.817    21627696.744    21627692.630
+       340.516         265.337          55.000          48.000
+  -7882628.45443  -6126989.46342  23209537.227    23209539.829    23209536.610
+      3366.339        2623.121          48.000          42.000
+  -7876212.31643  -6090187.62642  23118330.242    23118334.260    23118328.478
+      -694.159        -540.903          49.000          43.000
+ -14016581.69943 -10875454.70342  22279022.154    22279025.996    22279021.438
+     -1301.391       -1014.071          50.000          45.000
+  -8929099.75043  -6946400.44942  23438161.623    23438165.759    23438160.759
+     -3072.303       -2394.002          48.000          43.000
+ -23056314.18643 -17908021.02142  20883813.196    20883816.625    20883811.876
+      1696.959        1322.306          55.000          49.000
+ 04  2  1 20 31 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19568843.52443 -15189606.40842  21081877.311    21081878.737    21081876.342
+     -2181.317       -1699.727          56.000          49.000
+ -14505197.19344 -11297741.33842  20361641.292    20361641.899    20361640.388
+       287.903         224.340          58.000          52.000
+ -15330762.67143 -11878189.97842  22428004.857    22428006.678    22428004.190
+     -1207.463        -940.880          52.000          45.000
+ -12921001.94343 -10021867.35742  22825027.282    22825030.523    22825026.938
+      3056.328        2381.554          50.000          44.000
+ -16803681.29643 -13083678.06642  21625750.200    21625752.837    21625748.466
+       339.905         264.861          55.000          48.000
+  -7983591.72143  -6205662.13342  23190324.283    23190327.357    23190322.882
+      3363.902        2621.222          48.000          42.000
+  -7855169.43043  -6073790.59242  23122334.922    23122339.266    23122333.421
+      -709.680        -552.997          49.000          43.000
+ -13977342.10843 -10844878.42242  22286489.591    22286491.877    22286489.354
+     -1315.257       -1024.876          51.000          45.000
+  -8836827.82743  -6874500.31242  23455720.604    23455723.414    23455719.997
+     -3079.935       -2399.949          48.000          43.000
+ -23107007.06143 -17947521.95242  20874166.539    20874169.786    20874165.278
+      1681.986        1310.638          55.000          49.000
+ 04  2  1 20 32  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19503267.96743 -15138508.59042  21094356.213    21094357.634    21094355.068
+     -2190.787       -1707.107          56.000          49.000
+ -14513611.29644 -11304297.78042  20360039.775    20360040.651    20360039.080
+       272.475         212.318          57.000          52.000
+ -15294533.60743 -11849959.56542  22434899.221    22434901.010    22434897.566
+     -1208.569        -941.742          52.000          45.000
+ -13012607.23643 -10093248.11342  22807595.791    22807598.296    22807595.145
+      3050.175        2376.760          51.000          44.000
+ -16813873.58243 -13091620.11442  21623810.409    21623813.240    21623809.153
+       338.989         264.147          54.000          48.000
+  -8084475.31443  -6284272.73042  23171127.756    23171130.456    23171125.366
+      3361.129        2619.061          48.000          42.000
+  -7833648.25543  -6057020.86342  23126430.717    23126434.565    23126428.287
+      -725.615        -565.414          49.000          43.000
+ -13937686.07043 -10813977.62142  22294036.217    22294038.785    22294035.032
+     -1329.203       -1035.742          51.000          45.000
+  -8744325.88043  -6802420.92642  23473322.162    23473327.427    23473322.145
+     -3087.474       -2405.824          48.000          43.000
+ -23157245.44743 -17986668.74142  20864607.223    20864610.077    20864605.747
+      1666.672        1298.705          55.000          49.000
+ 04  2  1 20 32 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19437414.25043 -15087194.02042  21106887.680    21106889.122    21106886.733
+     -2199.696       -1714.049          56.000          49.000
+ -14521567.77444 -11310497.62942  20358526.016    20358526.420    20358525.135
+       257.577         200.709          58.000          52.000
+ -15258280.31743 -11821710.29042  22441798.512    22441799.667    22441797.519
+     -1208.884        -941.987          52.000          45.000
+ -13104030.09743 -10164486.71042  22790199.508    22790201.742    22790197.623
+      3044.346        2372.218          51.000          44.000
+ -16824046.54143 -13099547.10842  21621874.634    21621877.562    21621873.160
+       338.747         263.959          54.000          48.000
+  -8185280.44343  -6362822.18242  23151944.143    23151947.108    23151943.790
+      3358.855        2617.290          48.000          42.000
+  -7811654.82443  -6039883.12442  23130615.764    23130618.762    23130613.709
+      -740.797        -577.244          49.000          43.000
+ -13897620.14643 -10782757.44342  22301660.595    22301663.630    22301658.781
+     -1342.245       -1045.905          51.000          45.000
+  -8651599.62243  -6730166.73942  23490968.118    23490972.286    23490966.782
+     -3094.513       -2411.309          49.000          43.000
+ -23207033.16943 -18025464.35942  20855132.402    20855135.755    20855131.319
+      1652.035        1287.300          55.000          49.000
+ 04  2  1 20 33  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19371279.58743 -15035660.54142  21119473.071    21119474.131    21119471.713
+     -2210.035       -1722.105          56.000          49.000
+ -14529062.16744 -11316337.41442  20357100.216    20357100.220    20357099.174
+       241.258         187.993          58.000          52.000
+ -15221997.55543 -11793438.02742  22448702.195    22448704.102    22448700.759
+     -1210.351        -943.131          52.000          45.000
+ -13195262.87543 -10235577.18342  22772837.567    22772840.704    22772836.772
+      3037.077        2366.554          51.000          44.000
+ -16834195.33243 -13107455.27242  21619943.160    21619946.630    21619942.071
+       337.038         262.627          54.000          48.000
+  -8285998.94543  -6441304.13542  23132778.737    23132780.732    23132777.346
+      3354.920        2614.223          48.000          42.000
+  -7789186.00843  -6022374.97042  23134890.214    23134894.426    23134889.143
+      -757.645        -590.373          48.000          43.000
+ -13857141.61343 -10751215.74542  22309364.300    22309364.960    22309363.560
+     -1356.997       -1057.400          51.000          45.000
+  -8558645.58643  -6657735.07742  23508657.048    23508660.868    23508655.965
+     -3103.039       -2417.952          48.000          43.000
+ -23256364.58643 -18063904.41042  20845745.245    20845748.328    20845743.704
+      1636.043        1274.839          55.000          49.000
+ 04  2  1 20 33 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19304870.64543 -14983913.33542  21132109.899    21132111.374    21132108.665
+     -2218.508       -1728.707          56.000          49.000
+ -14536099.75044 -11321821.24342  20355760.776    20355760.867    20355760.014
+       226.618         176.585          58.000          52.000
+ -15185689.03743 -11765145.70742  22455611.682    22455613.271    22455610.378
+     -1211.021        -943.653          52.000          45.000
+ -13286307.19243 -10306520.81042  22755512.471    22755515.081    22755512.068
+      3031.302        2362.054          51.000          44.000
+ -16844324.15843 -13115347.87642  21618016.283    21618019.032    21618014.658
+       336.868         262.495          54.000          48.000
+  -8386632.11943  -6519719.59342  23113628.388    23113632.657    23113628.293
+      3352.763        2612.543          49.000          43.000
+  -7766248.02943  -6004501.23342  23139256.536    23139260.745    23139254.661
+      -772.813        -602.192          49.000          43.000
+ -13816257.13443 -10719357.72942  22317144.062    22317146.312    22317142.631
+     -1369.777       -1067.359          51.000          45.000
+  -8465469.62143  -6585130.48142  23526388.314    23526391.510    23526387.267
+     -3109.896       -2423.295          48.000          42.000
+ -23305243.41343 -18101991.80442  20836443.326    20836446.615    20836442.243
+      1621.441        1263.461          55.000          49.000
+ 04  2  1 20 34  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19238187.10143 -14931952.15142  21144799.617    21144801.089    21144798.158
+     -2227.585       -1735.780          56.000          49.000
+ -14542678.19744 -11326947.30542  20354508.858    20354509.231    20354508.087
+       211.314         164.660          58.000          52.000
+ -15149350.72343 -11736830.18342  22462526.726    22462528.387    22462525.790
+     -1212.026        -944.436          52.000          45.000
+ -13377157.25143 -10377313.08042  22738224.179    22738225.892    22738222.990
+      3024.752        2356.950          51.000          44.000
+ -16854429.74843 -13123222.37942  21616092.706    21616095.730    21616091.527
+       336.160         261.943          55.000          48.000
+  -8487173.72843  -6598063.69442  23094496.883    23094497.984    23094495.594
+      3349.402        2609.924          49.000          43.000
+  -7742839.43443  -5986260.79742  23143710.342    23143713.758    23143708.763
+      -788.417        -614.351          49.000          43.000
+ -13774965.85843 -10687182.71542  22325001.129    22325003.492    22324999.801
+     -1383.471       -1078.029          51.000          44.000
+  -8372069.99943  -6512351.62542  23544161.472    23544164.102    23544160.005
+     -3117.286       -2429.054          47.000          42.000
+ -23353666.01443 -18139723.69342  20827228.955    20827232.405    20827227.735
+      1606.205        1251.588          55.000          49.000
+ 04  2  1 20 34 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19171233.79143 -14879780.76342  21157540.040    21157541.804    21157538.966
+     -2235.804       -1742.185          56.000          49.000
+ -14548800.52344 -11331717.94942  20353343.774    20353343.990    20353342.984
+       196.834         153.377          58.000          52.000
+ -15112984.31143 -11708492.73942  22469447.329    22469448.524    22469446.173
+     -1212.301        -944.650          52.000          45.000
+ -13467812.32143 -10447953.39642  22720972.849    22720975.463    22720971.696
+      3018.899        2352.389          51.000          44.000
+ -16864514.35343 -13131080.51742  21614174.330    21614176.615    21614172.712
+       336.302         262.053          55.000          48.000
+  -8587622.70643  -6676335.62642  23075381.579    23075383.725    23075380.327
+      3347.055        2608.095          50.000          43.000
+  -7718964.31843  -5967656.83842  23148253.846    23148257.390    23148252.403
+      -803.012        -625.724          48.000          43.000
+ -13733272.24643 -10654694.20042  22332934.922    22332937.964    22332934.237
+     -1396.081       -1087.855          51.000          45.000
+  -8278450.51543  -6439401.42642  23561975.641    23561980.168    23561974.879
+     -3123.971       -2434.263          47.000          42.000
+ -23401634.09943 -18177101.41042  20818101.120    20818104.299    20818099.844
+      1591.822        1240.381          55.000          49.000
+ 04  2  1 20 35  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19104015.17743 -14827402.63642  21170331.130    21170332.991    21170329.809
+     -2245.117       -1749.442          55.000          49.000
+ -14554470.00944 -11336135.72442  20352265.258    20352265.382    20352264.051
+       181.395         141.347          58.000          52.000
+ -15076591.47543 -11680134.70942  22476372.688    22476374.132    22476371.024
+     -1213.384        -945.494          52.000          45.000
+ -13558272.38943 -10518441.76042  22703758.812    22703761.550    22703757.487
+      3012.015        2347.025          51.000          44.000
+ -16874580.49143 -13138924.27242  21612258.802    21612261.128    21612257.312
+       335.152         261.157          55.000          48.000
+  -8687978.24243  -6754534.74042  23056285.001    23056287.435    23056284.018
+      3343.378        2605.230          50.000          43.000
+  -7694627.25643  -5948692.90142  23152885.335    23152888.859    23152884.324
+      -818.742        -637.981          49.000          43.000
+ -13691181.37743 -10621896.13442  22340945.308    22340947.084    22340944.178
+     -1409.464       -1098.284          51.000          45.000
+  -8184615.18943  -6366283.04342  23579832.508    23579837.158    23579831.124
+     -3131.561       -2440.177          47.000          42.000
+ -23449149.84543 -18214126.66042  20809058.842    20809062.348    20809057.909
+      1576.315        1228.297          55.000          49.000
+ 04  2  1 20 35 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -19036529.95043 -14774816.76542  21183173.454    21183175.146    21183172.174
+     -2254.097       -1756.439          56.000          49.000
+ -14559683.67244 -11340198.31942  20351272.899    20351273.578    20351272.120
+       166.070         129.405          58.000          52.000
+ -15040167.82743 -11651752.67442  22483303.970    22483305.472    22483302.392
+     -1214.740        -946.551          52.000          45.000
+ -13648530.61543 -10588772.84442  22686583.126    22686585.954    22686582.738
+      3004.966        2341.532          51.000          45.000
+ -16884624.25543 -13146750.59242  21610347.524    21610350.163    21610346.304
+       334.237         260.444          55.000          48.000
+  -8788233.14643  -6832655.44742  23037206.908    23037209.462    23037205.749
+      3340.076        2602.657          50.000          43.000
+  -7669826.22043  -5929367.44442  23157605.203    23157607.606    23157604.192
+      -834.444        -650.216          48.000          43.000
+ -13648691.59143 -10588787.22142  22349030.637    22349032.555    22349029.883
+     -1422.931       -1108.777          51.000          45.000
+  -8090561.66243  -6292994.65042  23597730.430    23597734.535    23597729.539
+     -3138.751       -2445.780          47.000          42.000
+ -23496208.79643 -18250795.96342  20800104.122    20800106.932    20800102.744
+      1560.872        1216.264          55.000          49.000
+ 04  2  1 20 36  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18968780.73843 -14722025.19142  21196065.972    21196067.554    21196064.760
+     -2263.328       -1763.632          56.000          49.000
+ -14564442.71844 -11343906.66042  20350367.127    20350367.818    20350366.077
+       150.365         117.168          58.000          52.000
+ -15003713.04443 -11623346.38742  22490240.415    22490242.459    22490238.668
+     -1216.401        -947.845          51.000          45.000
+ -13738585.02243 -10658945.12342  22669446.823    22669448.640    22669445.911
+      2997.623        2335.810          51.000          45.000
+ -16894646.01343 -13154559.76042  21608440.464    21608443.135    21608438.958
+       332.965         259.453          55.000          48.000
+  -8888384.73143  -6910695.64442  23018149.368    23018150.340    23018147.557
+      3335.876        2599.384          50.000          43.000
+  -7644563.58043  -5909682.28742  23162411.223    23162414.762    23162409.980
+      -850.407        -662.655          48.000          43.000
+ -13605805.54243 -10555369.53742  22357191.043    22357193.758    22357189.406
+     -1437.014       -1119.751          50.000          45.000
+  -7996292.01643  -6219537.81242  23615668.801    23615672.326    23615667.578
+     -3146.647       -2451.933          47.000          42.000
+ -23542811.00543 -18287109.36842  20791235.939    20791239.037    20791234.931
+      1545.083        1203.961          55.000          49.000
+ 04  2  1 20 36 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18900771.21943 -14669030.78642  21209007.335    21209009.063    21209006.249
+     -2271.052       -1769.651          56.000          49.000
+ -14568749.15044 -11347262.32342  20349547.787    20349548.340    20349546.785
+       136.311         106.216          58.000          52.000
+ -14967227.22743 -11594915.91842  22497183.628    22497185.559    22497182.492
+     -1216.438        -947.874          52.000          46.000
+ -13828433.55743 -10728956.98342  22652348.963    22652351.711    22652347.832
+      2991.804        2331.276          51.000          45.000
+ -16904646.39943 -13162352.29142  21606537.366    21606539.955    21606535.623
+       333.210         259.644          55.000          48.000
+  -8988430.66343  -6988653.50542  22999109.867    22999112.957    22999108.866
+      3333.353        2597.418          49.000          43.000
+  -7618842.17143  -5889639.65242  23167306.380    23167309.794    23167305.639
+      -864.665        -673.765          49.000          43.000
+ -13562526.47943 -10521645.61142  22365426.464    22365428.598    22365425.557
+     -1448.889       -1129.004          51.000          45.000
+  -7901808.69743  -6145914.50942  23633648.495    23633652.360    23633648.123
+     -3152.869       -2456.781          47.000          42.000
+ -23588957.00943 -18323067.28542  20782454.483    20782458.131    20782453.459
+      1530.847        1192.868          55.000          49.000
+ 04  2  1 20 37  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18832506.00043 -14615837.13142  21221998.177    21221999.592    21221996.894
+     -2279.163       -1775.971          56.000          49.000
+ -14572605.94144 -11350267.61542  20348813.562    20348814.237    20348812.681
+       121.657          94.798          57.000          52.000
+ -14930712.22543 -11566462.70542  22504133.508    22504133.733    22504131.486
+     -1217.050        -948.351          53.000          46.000
+ -13918075.61643 -10798807.93342  22635290.746    22635293.193    22635289.532
+      2985.142        2326.085          51.000          45.000
+ -16914627.47543 -13170129.76642  21604637.541    21604640.792    21604636.191
+       332.910         259.410          55.000          48.000
+  -9088370.14043  -7066528.43042  22980092.296    22980093.952    22980091.308
+      3330.145        2594.918          49.000          43.000
+  -7592666.00443  -5869242.64642  23172287.088    23172290.673    23172286.133
+      -879.572        -685.381          48.000          42.000
+ -13518859.02243 -10487619.04342  22373737.421    22373739.165    22373735.600
+     -1461.270       -1138.652          51.000          45.000
+  -7807115.49143  -6072127.64242  23651668.853    23651672.856    23651667.469
+     -3159.247       -2461.751          47.000          42.000
+ -23634648.35743 -18358670.92942  20773759.914    20773763.514    20773758.740
+      1516.039        1181.329          55.000          49.000
+ 04  2  1 20 37 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18763986.74043 -14562445.51842  21235037.455    21235038.238    21235036.125
+     -2288.445       -1783.204          56.000          49.000
+ -14576013.49944 -11352922.85342  20348165.134    20348165.817    20348164.344
+       105.848          82.479          57.000          52.000
+ -14894166.55743 -11537985.59642  22511087.895    22511088.343    22511086.063
+     -1218.973        -949.849          53.000          46.000
+ -14007507.77543 -10868495.33642  22618273.550    22618274.366    22618272.113
+      2977.239        2319.926          51.000          45.000
+ -16924588.42643 -13177891.55842  21602742.312    21602745.000    21602741.034
+       331.441         258.266          55.000          48.000
+  -9188199.21943  -7144317.33242  22961095.565    22961096.340    22961094.448
+      3325.470        2591.275          49.000          42.000
+  -7566036.40543  -5848492.31842  23177354.720    23177358.983    23177353.248
+      -895.409        -697.721          48.000          42.000
+ -13474804.64943 -10453290.96442  22382119.820    22382122.780    22382119.084
+     -1475.131       -1149.453          51.000          45.000
+  -7712213.16243  -5998177.84342  23669728.115    23669731.701    23669726.080
+     -3167.087       -2467.860          47.000          42.000
+ -23679884.03243 -18393919.49842  20765152.288    20765155.275    20765150.887
+      1500.142        1168.942          55.000          49.000
+ 04  2  1 20 38  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18695215.62643 -14508857.65842  21248123.449    21248125.081    21248122.282
+     -2296.445       -1789.438          56.000          49.000
+ -14578972.65844 -11355228.69342  20347602.416    20347602.867    20347601.481
+        91.270          71.119          58.000          52.000
+ -14857589.58843 -11509484.10242  22518048.166    22518049.243    22518046.677
+     -1219.677        -950.398          53.000          46.000
+ -14096727.34743 -10938017.08342  22601293.521    22601296.648    22601293.233
+      2970.459        2314.643          51.000          45.000
+ -16934529.32343 -13185637.73242  21600851.013    21600853.143    21600849.586
+       331.127         258.021          55.000          48.000
+  -9287914.80343  -7222017.79242  22942119.839    22942121.965    22942118.629
+      3322.151        2588.689          49.000          43.000
+  -7538955.56543  -5827390.36742  23182508.316    23182512.121    23182507.597
+      -910.102        -709.170          48.000          42.000
+ -13430366.12843 -10418663.54642  22390576.749    22390578.373    22390575.176
+     -1487.437       -1159.042          51.000          45.000
+  -7617103.41143  -5924066.40542  23687826.274    23687830.768    23687825.179
+     -3173.732       -2473.038          46.000          42.000
+ -23724663.75443 -18428812.78342  20756630.845    20756634.174    20756629.527
+      1485.189        1157.290          55.000          49.000
+ 04  2  1 20 38 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18626191.91643 -14455072.96842  21261258.579    21261260.046    21261257.783
+     -2305.560       -1796.540          56.000          49.000
+ -14581481.02644 -11357183.26742  20347124.918    20347125.573    20347124.029
+        75.460          58.800          57.000          52.000
+ -14820977.29643 -11480955.06642  22525014.980    22525015.783    22525013.370
+     -1221.632        -951.921          53.000          46.000
+ -14185728.48243 -11007368.62242  22584357.918    22584360.668    22584357.742
+      2962.292        2308.279          51.000          45.000
+ -16944446.62543 -13193365.51542  21598963.692    21598966.529    21598961.981
+       329.444         256.710          55.000          48.000
+  -9387510.19343  -7299624.59642  22923167.704    22923169.281    22923165.678
+      3317.168        2584.806          49.000          42.000
+  -7511422.03443  -5805935.70142  23187747.418    23187751.133    23187746.997
+      -925.900        -721.480          47.000          42.000
+ -13385542.41343 -10383735.99942  22399106.633    22399108.627    22399105.010
+     -1501.185       -1169.754          51.000          45.000
+  -7521784.36643  -5849791.89942  23705965.340    23705968.696    23705963.845
+     -3181.353       -2478.976          47.000          42.000
+ -23768983.89143 -18463347.94742  20748196.566    20748200.300    20748195.460
+      1469.055        1144.718          55.000          49.000
+ 04  2  1 20 39  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18556921.73943 -14401096.23142  21274440.447    21274441.604    21274439.106
+     -2313.629       -1802.828          56.000          49.000
+ -14583543.39044 -11358790.30942  20346732.644    20346732.959    20346731.748
+        60.819          47.391          58.000          52.000
+ -14784332.95543 -11452401.06042  22531987.684    22531989.390    22531986.350
+     -1222.621        -952.692          52.000          45.000
+ -14274511.71243 -11076550.37042  22567462.725    22567466.371    22567462.083
+      2955.095        2302.671          51.000          45.000
+ -16954343.78543 -13201077.60642  21597079.460    21597083.086    21597078.175
+       328.992         256.357          55.000          48.000
+  -9486986.03443  -7377138.23742  22904237.883    22904240.702    22904236.207
+      3313.294        2581.788          49.000          43.000
+  -7483441.57443  -5784132.78342  23193072.773    23193076.852    23193070.633
+      -940.611        -732.944          49.000          42.000
+ -13340339.73143 -10348513.15342  22407708.184    22407710.597    22407706.708
+     -1513.581       -1179.414          51.000          45.000
+  -7426261.37943  -5775358.47042  23724142.597    23724146.846    23724141.531
+     -3187.979       -2484.139          47.000          43.000
+ -23812847.64043 -18497527.48942  20739849.796    20739853.067    20739848.444
+      1453.981        1132.972          55.000          49.000
+ 04  2  1 20 39 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18487406.98343 -14346928.91242  21287668.187    21287669.952    21287667.363
+     -2320.726       -1808.358          56.000          49.000
+ -14585160.66044 -11360050.52442  20346424.901    20346425.151    20346423.855
+        46.931          36.570          58.000          52.000
+ -14747655.10743 -11423820.96442  22538967.635    22538968.436    22538966.052
+     -1222.674        -952.733          52.000          46.000
+ -14363074.80843 -11145560.58042  22550609.135    22550613.293    22550608.666
+      2948.800        2297.766          51.000          45.000
+ -16964220.57443 -13208773.82142  21595200.064    21595203.741    21595199.112
+       329.356         256.641          54.000          48.000
+  -9586338.79943  -7454555.99142  22885333.066    22885333.796    22885330.931
+      3310.136        2579.327          50.000          42.000
+  -7455016.38943  -5761983.30542  23198481.800    23198485.652    23198479.490
+      -954.462        -743.737          48.000          42.000
+ -13294760.27443 -10312996.72042  22416381.556    22416383.762    22416380.313
+     -1525.245       -1188.502          51.000          45.000
+  -7330535.92043  -5700767.26342  23742358.292    23742362.545    23742357.318
+     -3193.561       -2488.489          47.000          43.000
+ -23856254.75943 -18531351.21342  20731589.709    20731593.133    20731588.311
+      1439.868        1121.975          55.000          49.000
+ 04  2  1 20 40  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18417651.39643 -14292573.92742  21300942.374    21300944.184    21300941.168
+     -2328.797       -1814.647          56.000          49.000
+ -14586334.83344 -11360965.46642  20346201.328    20346201.925    20346200.612
+        32.101          25.014          58.000          52.000
+ -14710944.40943 -11395215.25242  22545952.501    22545955.171    22545951.540
+     -1223.901        -953.689          52.000          46.000
+ -14451415.51943 -11214397.51542  22533799.649    22533802.362    22533798.373
+      2941.264        2291.894          51.000          45.000
+ -16974077.88143 -13216454.85342  21593324.928    21593327.916    21593323.323
+       328.652         256.092          55.000          48.000
+  -9685566.61743  -7531876.36942  22866449.975    22866452.221    22866449.714
+      3305.926        2576.046          49.000          42.000
+  -7426149.32443  -5739489.50642  23203973.866    23203979.026    23203973.311
+      -969.278        -755.281          48.000          43.000
+ -13248807.57343 -10277189.43642  22425125.543    22425128.748    22425124.812
+     -1537.486       -1198.041          51.000          45.000
+  -7234610.52643  -5626020.26142  23760613.061    23760616.285    23760612.183
+     -3200.400       -2493.818          48.000          42.000
+ -23899205.91243 -18564819.63942  20723415.975    20723419.122    20723414.956
+      1424.470        1109.977          55.000          49.000
+ 04  2  1 20 40 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18347654.62743 -14238031.01642  21314262.531    21314264.234    21314261.136
+     -2337.459       -1821.397          56.000          49.000
+ -14587064.42644 -11361533.98042  20346062.403    20346062.692    20346061.281
+        16.741          13.045          57.000          52.000
+ -14674197.38643 -11366581.23542  22552945.869    22552947.440    22552944.590
+     -1225.696        -955.088          52.000          45.000
+ -14539528.52543 -11283057.00242  22517031.488    22517034.946    22517031.276
+      2932.948        2285.414          51.000          45.000
+ -16983912.79543 -13224118.44142  21591453.222    21591456.410    21591451.456
+       327.168         254.936          55.000          48.000
+  -9784663.40443  -7609094.65042  22847591.725    22847593.301    22847591.226
+      3300.805        2572.056          49.000          42.000
+  -7396839.92043  -5716651.04242  23209551.959    23209555.641    23209551.317
+      -984.507        -767.148          48.000          43.000
+ -13202481.45443 -10241091.18642  22433941.274    22433944.074    22433940.205
+     -1550.616       -1208.272          50.000          45.000
+  -7138484.19443  -5551116.69342  23778905.456    23778910.351    23778903.772
+     -3207.811       -2499.593          47.000          42.000
+ -23941698.16943 -18597930.48342  20715330.685    20715333.557    20715329.395
+      1408.532        1097.557          55.000          49.000
+ 04  2  1 20 41  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18277422.50943 -14183304.71342  21327627.303    21327629.132    21327626.111
+     -2344.850       -1827.156          56.000          49.000
+ -14587353.61044 -11361759.31842  20346007.194    20346007.690    20346006.567
+         2.286           1.781          58.000          52.000
+ -14637416.95443 -11337921.18742  22559944.890    22559946.600    22559944.272
+     -1226.573        -955.771          52.000          45.000
+ -14627414.27443 -11351539.41042  22500308.241    22500311.055    22500306.323
+      2925.708        2279.772          51.000          45.000
+ -16993728.60543 -13231767.13542  21589585.297    21589588.301    21589583.722
+       326.877         254.709          54.000          48.000
+  -9883629.24543  -7686210.89942  22828759.597    22828761.799    22828758.184
+      3296.706        2568.862          50.000          43.000
+  -7367093.62143  -5693472.11842  23215213.315    23215216.403    23215212.288
+      -998.447        -778.011          49.000          43.000
+ -13155787.74443 -10204706.49142  22442826.959    22442829.423    22442826.656
+     -1562.669       -1217.664          51.000          45.000
+  -7042161.91543  -5476060.43542  23797235.049    23797239.587    23797233.317
+     -3214.245       -2504.606          47.000          42.000
+ -23983734.61443 -18630686.15542  20707331.398    20707334.160    20707330.118
+      1393.566        1085.896          55.000          49.000
+ 04  2  1 20 41 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18206955.34843 -14128395.26042  21341036.652    21341037.997    21341035.582
+     -2353.082       -1833.570          56.000          49.000
+ -14587201.42144 -11361640.73242  20346036.101    20346036.893    20346035.561
+       -12.699          -9.895          58.000          52.000
+ -14600600.22843 -11309232.86142  22566951.175    22566952.423    22566949.876
+     -1228.006        -956.888          52.000          45.000
+ -14715068.20543 -11419841.17742  22483628.245    22483631.177    22483626.820
+      2917.613        2273.465          51.000          45.000
+ -17003522.79943 -13239398.98942  21587721.388    21587724.200    21587719.935
+       325.827         253.891          55.000          48.000
+  -9982458.88843  -7763221.02442  22809952.918    22809955.162    22809952.534
+      3291.786        2565.028          50.000          43.000
+  -7336910.30643  -5669952.68942  23220956.460    23220960.026    23220955.046
+     -1013.474        -789.720          48.000          42.000
+ -13108726.75843 -10168035.61142  22451782.518    22451785.375    22451781.503
+     -1574.937       -1227.224          50.000          45.000
+  -6945643.21343  -5400851.13342  23815601.411    23815605.569    23815601.078
+     -3220.465       -2509.453          46.000          41.000
+ -24025312.82743 -18663084.75642  20699419.154    20699422.060    20699418.035
+      1378.067        1073.818          55.000          49.000
+ 04  2  1 20 42  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18136255.31643 -14073304.34942  21354490.390    21354492.141    21354489.282
+     -2359.992       -1838.955          55.000          49.000
+ -14586608.72744 -11361178.89542  20346149.447    20346149.548    20346148.423
+       -26.534         -20.676          58.000          52.000
+ -14563745.87343 -11280515.22242  22573964.457    22573966.356    22573962.368
+     -1228.634        -957.377          52.000          45.000
+ -14802487.21843 -11487959.91542  22466993.147    22466995.477    22466991.694
+      2910.656        2268.044          51.000          45.000
+ -17013295.16543 -13247013.83742  21585862.479    21585864.948    21585860.632
+       325.900         253.948          55.000          48.000
+ -10081148.78743  -7840122.24542  22791174.032    22791175.837    22791171.394
+      3287.902        2562.002          50.000          43.000
+  -7306291.94043  -5646094.23042  23226784.204    23226786.160    23226780.812
+     -1027.364        -800.543          49.000          43.000
+ -13061300.88243 -10131080.39942  22460807.322    22460809.899    22460805.772
+     -1586.424       -1236.174          51.000          45.000
+  -6848929.39343  -5325489.79042  23834005.406    23834009.692    23834004.708
+     -3226.481       -2514.141          46.000          41.000
+ -24066432.52543 -18695126.08042  20691593.800    20691597.354    20691592.818
+      1363.583        1062.532          55.000          49.000
+ 04  2  1 20 42 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -18065327.51443 -14018035.95142  21367987.500    21367989.524    21367986.428
+     -2367.796       -1845.036          55.000          49.000
+ -14585579.20944 -11360376.67842  20346345.264    20346345.406    20346344.286
+       -41.357         -32.226          58.000          52.000
+ -14526856.05443 -11251769.94542  22580984.236    22580985.045    22580982.422
+     -1230.112        -958.529          52.000          45.000
+ -14889671.13843 -11555895.44242  22450401.886    22450404.820    22450400.414
+      2902.338        2261.562          51.000          45.000
+ -17023048.26343 -13254613.66742  21584005.830    21584008.650    21584004.496
+       325.038         253.276          55.000          48.000
+ -10179698.54443  -7916914.26042  22772419.817    22772421.624    22772417.874
+      3282.852        2558.066          49.000          43.000
+  -7275243.41543  -5621900.59242  23232691.385    23232694.248    23232690.104
+     -1041.910        -811.878          49.000          43.000
+ -13013515.32343 -10093844.91942  22469900.794    22469903.780    22469899.853
+     -1598.406       -1245.511          51.000          45.000
+  -6752024.96743  -5249979.89342  23852446.971    23852450.114    23852444.679
+     -3232.822       -2519.082          46.000          40.000
+ -24107096.17243 -18726812.03142  20683856.316    20683859.182    20683854.794
+      1347.979        1050.373          55.000          49.000
+ 04  2  1 20 43  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17994173.82743 -13962591.54342  21381527.450    21381529.677    21381526.500
+     -2375.145       -1850.762          55.000          49.000
+ -14584113.92644 -11359234.90442  20346624.080    20346624.342    20346623.190
+       -55.733         -43.428          58.000          52.000
+ -14489929.74343 -11222996.22542  22588011.392    22588012.896    22588009.594
+     -1231.063        -959.270          52.000          45.000
+ -14976616.89643 -11623645.38942  22433856.554    22433860.229    22433856.094
+      2894.494        2255.450          51.000          45.000
+ -17032781.51943 -13262198.04142  21582153.497    21582156.742    21582152.412
+       324.420         252.795          54.000          48.000
+ -10278104.66343  -7993594.36942  22753692.981    22753695.094    22753692.607
+      3278.226        2554.462          50.000          43.000
+  -7243766.62343  -5597373.23042  23238682.223    23238685.172    23238679.997
+     -1055.982        -822.843          49.000          43.000
+ -12965372.37243 -10056330.95242  22479062.790    22479064.585    22479061.225
+     -1610.255       -1254.744          51.000          45.000
+  -6654931.15943  -5174322.44942  23870922.670    23870926.456    23870921.182
+     -3239.086       -2523.963          46.000          40.000
+ -24147303.23043 -18758142.20642  20676204.937    20676208.251    20676203.800
+      1332.938        1038.653          55.000          49.000
+ 04  2  1 20 43 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17922792.25043 -13906969.55942  21395111.106    21395113.093    21395109.924
+     -2382.682       -1856.635          55.000          49.000
+ -14582209.03844 -11357750.58442  20346986.303    20346986.941    20346985.678
+       -70.279         -54.763          58.000          52.000
+ -14452961.45143 -11194189.80242  22595045.433    22595047.876    22595044.260
+     -1232.437        -960.340          52.000          45.000
+ -15063316.99143 -11691203.91742  22417358.482    22417361.638    22417357.685
+      2886.460        2249.190          51.000          46.000
+ -17042489.85443 -13269762.98942  21580306.518    21580309.570    21580304.934
+       323.615         252.167          54.000          48.000
+ -10376359.04243  -8070156.23042  22734996.438    22734997.726    22734994.866
+      3272.889        2550.303          50.000          43.000
+  -7211859.07543  -5572510.23942  23244754.250    23244754.604    23244751.742
+     -1070.422        -834.095          50.000          43.000
+ -12916869.75143 -10018536.71742  22488290.843    22488294.273    22488290.161
+     -1622.320       -1264.145          50.000          45.000
+  -6557644.96743  -5098515.09142  23889435.500    23889440.124    23889434.758
+     -3245.810       -2529.202          46.000          40.000
+ -24187048.82543 -18789112.79542  20668641.904    20668644.807    20668640.543
+      1317.720        1026.795          55.000          49.000
+ 04  2  1 20 44  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17851193.10343 -13851178.04042  21408735.536    21408737.630    21408734.542
+     -2390.031       -1862.362          55.000          49.000
+ -14579874.28844 -11355931.30742  20347430.628    20347430.979    20347429.707
+       -84.702         -66.001          57.000          52.000
+ -14415958.69543 -11165356.50842  22602086.933    22602088.343    22602085.844
+     -1233.744        -961.359          51.000          45.000
+ -15149777.38843 -11758575.66142  22400905.355    22400909.048    22400903.803
+      2878.386        2242.898          52.000          46.000
+ -17052181.53443 -13277314.97142  21578461.939    21578464.894    21578460.729
+       323.016         251.701          55.000          48.000
+ -10474467.10543  -8146604.08042  22716327.137    22716329.151    22716326.444
+      3268.074        2546.551          50.000          44.000
+  -7179531.44243  -5547319.91542  23250904.861    23250907.398    23250902.890
+     -1084.400        -844.987          48.000          43.000
+ -12868018.43943  -9980470.78642  22497588.481    22497590.132    22497586.995
+     -1634.042       -1273.279          51.000          45.000
+  -6460176.34243  -5022565.59642  23907983.450    23907987.616    23907982.078
+     -3251.850       -2533.909          47.000          41.000
+ -24226341.22643 -18819730.25442  20661164.540    20661167.622    20661163.305
+      1302.364        1014.829          55.000          49.000
+ 04  2  1 20 44 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17779373.63743 -13795214.84142  21422402.384    21422404.315    21422401.679
+     -2397.283       -1868.013          55.000          48.000
+ -14577105.46044 -11353773.78642  20347957.587    20347958.011    20347956.815
+       -99.220         -77.314          58.000          52.000
+ -14378915.86443 -11136492.00442  22609135.922    22609137.958    22609134.858
+     -1235.081        -962.401          52.000          45.000
+ -15235989.92143 -11825754.26742  22384500.299    22384503.084    22384499.264
+      2869.965        2236.336          52.000          46.000
+ -17061850.94543 -13284849.59142  21576622.989    21576625.156    21576620.953
+       322.229         251.088          55.000          48.000
+ -10572420.11043  -8222931.11442  22697687.447    22697689.226    22697686.222
+      3262.880        2542.504          50.000          44.000
+  -7146780.55643  -5521799.76442  23257138.112    23257140.789    23257137.443
+     -1098.490        -855.966          49.000          43.000
+ -12818815.81143  -9942131.08542  22506950.913    22506953.273    22506949.745
+     -1645.439       -1282.160          51.000          44.000
+  -6362521.59243  -4946471.07242  23926566.881    23926570.487    23926565.127
+     -3257.944       -2538.658          47.000          41.000
+ -24265175.01543 -18849990.34542  20653774.479    20653777.666    20653773.068
+      1287.238        1003.043          55.000          49.000
+ 04  2  1 20 45  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17707333.97443 -13739080.06442  21436111.155    21436113.377    21436109.795
+     -2405.357       -1874.304          55.000          48.000
+ -14573901.36444 -11351277.09542  20348567.174    20348567.773    20348566.375
+      -114.455         -89.186          57.000          52.000
+ -14341829.68243 -11107593.72942  22616194.268    22616194.623    22616192.263
+     -1237.397        -964.205          52.000          45.000
+ -15321949.33843 -11892735.64742  22368142.533    22368145.143    22368141.490
+      2860.713        2229.127          52.000          46.000
+ -17071495.45643 -13292364.80942  21574786.985    21574789.709    21574785.205
+       320.586         249.807          55.000          48.000
+ -10670212.52343  -8299133.00242  22679077.561    22679080.681    22679076.025
+      3256.829        2537.789          50.000          44.000
+  -7113606.36443  -5495949.76542  23263450.737    23263452.879    23263448.538
+     -1113.323        -867.524          48.000          43.000
+ -12769261.91643  -9903517.68442  22516380.034    22516383.081    22516379.733
+     -1657.990       -1291.940          50.000          44.000
+  -6264680.17443  -4870231.07842  23945184.472    23945188.816    23945183.807
+     -3264.929       -2544.100          47.000          41.000
+ -24303547.80943 -18879891.22142  20646473.143    20646475.700    20646471.593
+      1270.863         990.283          55.000          49.000
+ 04  2  1 20 45 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17635083.17143 -13682780.76342  21449860.814    21449861.668    21449859.067
+     -2411.373       -1878.992          56.000          48.000
+ -14570270.01744 -11348447.48342  20349258.350    20349258.769    20349257.474
+      -127.694         -99.502          58.000          52.000
+ -14304706.06443 -11078666.26342  22623258.008    22623260.365    22623256.686
+     -1237.549        -964.324          52.000          45.000
+ -15407659.59643 -11959522.86242  22351831.654    22351835.448    22351831.263
+      2853.273        2223.330          52.000          46.000
+ -17081121.78643 -13299865.86342  21572955.359    21572958.138    21572953.794
+       321.022         250.147          55.000          48.000
+ -10767848.16943  -8375212.72542  22660497.950    22660499.918    22660496.268
+      3252.374        2534.317          49.000          43.000
+  -7080018.03343  -5469777.06342  23269841.862    23269844.154    23269841.092
+     -1126.057        -877.447          49.000          43.000
+ -12719366.23943  -9864637.95042  22525875.020    22525878.027    22525874.264
+     -1668.344       -1300.008          51.000          44.000
+  -6166660.58843  -4793852.27542  23963838.184    23963841.434    23963838.318
+     -3269.789       -2547.887          48.000          41.000
+ -24341466.37743 -18909438.16342  20639256.707    20639259.790    20639255.729
+      1256.784         979.312          55.000          49.000
+ 04  2  1 20 46  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17562622.69743 -13626318.07842  21463650.121    21463650.674    21463648.294
+     -2418.008       -1884.162          56.000          48.000
+ -14566211.69244 -11345285.16142  20350030.843    20350031.062    20350029.626
+      -141.633        -110.363          58.000          52.000
+ -14267543.66443 -11049708.58242  22630330.006    22630332.146    22630329.120
+     -1238.638        -965.172          52.000          45.000
+ -15493117.09243 -12026113.13242  22335570.648    22335573.588    22335569.419
+      2844.984        2216.871          52.000          46.000
+ -17090728.40243 -13307351.55342  21571127.335    21571130.257    21571125.731
+       320.668         249.871          55.000          48.000
+ -10865322.54643  -8451166.78842  22641949.716    22641952.590    22641948.387
+      3247.444        2530.476          50.000          44.000
+  -7046016.76243  -5443282.58342  23276311.235    23276315.590    23276310.575
+     -1139.445        -887.879          48.000          43.000
+ -12669130.44543  -9825493.19642  22535433.706    22535437.251    22535433.623
+     -1679.411       -1308.632          50.000          44.000
+  -6068463.55043  -4717335.16642  23982524.953    23982527.835    23982523.521
+     -3275.452       -2552.300          48.000          41.000
+ -24378929.56843 -18938630.26042  20632127.975    20632131.351    20632126.733
+      1241.978         967.775          55.000          49.000
+ 04  2  1 20 46 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17489948.37243 -13569688.75642  21477479.301    21477480.374    21477477.993
+     -2426.339       -1890.654          56.000          48.000
+ -14561721.01344 -11341785.93742  20350884.948    20350885.968    20350884.297
+      -157.184        -122.481          57.000          52.000
+ -14230334.59243 -11020714.53842  22637410.755    22637411.917    22637409.123
+     -1241.417        -967.338          51.000          44.000
+ -15578312.59943 -12092499.25642  22319358.196    22319360.869    22319357.202
+      2835.102        2209.170          52.000          46.000
+ -17100308.64243 -13314816.68342  21569303.622    21569307.370    21569302.760
+       318.532         248.207          55.000          48.000
+ -10962626.17043  -8526987.80242  22623433.360    22623435.176    22623432.812
+      3239.993        2524.670          50.000          44.000
+  -7011598.33443  -5416463.05742  23282861.469    23282864.360    23282860.983
+     -1154.837        -899.873          49.000          43.000
+ -12618550.57043  -9786080.33342  22545059.241    22545061.639    22545058.481
+     -1692.077       -1318.501          50.000          44.000
+  -5970084.20443  -4640676.01142  24001244.907    24001247.707    24001243.739
+     -3282.680       -2557.932          47.000          40.000
+ -24415930.86643 -18967462.43742  20625086.626    20625089.841    20625085.597
+      1225.477         954.917          55.000          49.000
+ 04  2  1 20 47  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17417070.82243 -13512901.07342  21491347.152    21491348.500    21491345.989
+     -2433.482       -1896.220          55.000          48.000
+ -14556807.59044 -11337957.30442  20351820.183    20351820.808    20351819.247
+      -171.710        -133.800          57.000          52.000
+ -14193086.81543 -10991690.33542  22644497.358    22644499.906    22644495.926
+     -1243.128        -968.671          50.000          44.000
+ -15663251.57643 -12158685.47442  22303194.749    22303197.377    22303193.652
+      2825.964        2202.050          52.000          46.000
+ -17109870.58543 -13322267.56642  21567483.971    21567487.673    21567482.720
+       317.539         247.433          55.000          48.000
+ -11059763.87343  -8602679.52242  22604949.226    22604951.417    22604948.114
+      3234.020        2520.016          50.000          44.000
+  -6976773.24643  -5389326.66242  23289488.060    23289491.554    23289487.202
+     -1168.534        -910.546          48.000          42.000
+ -12567637.55443  -9746407.87442  22554748.467    22554751.096    22554747.855
+     -1703.535       -1327.430          50.000          44.000
+  -5871532.51343  -4563882.55442  24019998.518    24020002.046    24019997.846
+     -3288.944       -2562.813          47.000          41.000
+ -24452478.49043 -18995941.10642  20618131.938    20618135.097    20618130.904
+      1209.841         942.733          55.000          49.000
+ 04  2  1 20 47 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17343987.19643 -13455952.82242  21505254.514    21505255.872    21505253.026
+     -2439.707       -1901.070          55.000          48.000
+ -14551467.33344 -11333796.07142  20352836.064    20352836.988    20352835.341
+      -185.370        -144.444          57.000          52.000
+ -14155794.26943 -10962631.24342  22651595.054    22651596.678    22651593.847
+     -1243.985        -969.339          51.000          45.000
+ -15747926.00743 -12224665.55142  22287081.480    22287084.376    22287081.079
+      2817.796        2195.685          53.000          46.000
+ -17119408.71543 -13329699.89242  21565669.040    21565672.610    21565667.867
+       317.278         247.230          55.000          48.000
+ -11156727.31443  -8678235.45642  22586497.362    22586500.031    22586496.387
+      3229.002        2516.105          50.000          44.000
+  -6941538.84843  -5361871.30042  23296193.500    23296196.888    23296191.833
+     -1181.345        -920.528          49.000          43.000
+ -12516389.07343  -9706474.02842  22564500.910    22564503.851    22564499.401
+     -1714.111       -1335.671          51.000          44.000
+  -5772804.90343  -4486952.01842  24038785.939    24038788.614    24038785.309
+     -3294.013       -2566.763          47.000          41.000
+ -24488567.39143 -19024062.33142  20611264.633    20611267.537    20611263.313
+      1195.184         931.312          55.000          49.000
+ 04  2  1 20 48  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17270702.42543 -13398847.83242  21519200.235    21519201.374    21519199.031
+     -2446.532       -1906.388          56.000          48.000
+ -14545703.90244 -11329305.09442  20353933.240    20353933.756    20353932.293
+      -199.575        -155.513          58.000          52.000
+ -14118458.58543 -10933538.53642  22658699.991    22658701.534    22658699.559
+     -1245.607        -970.603          51.000          45.000
+ -15832335.57743 -12290439.25742  22271018.833    22271021.874    22271018.632
+      2809.014        2188.842          52.000          46.000
+ -17128925.10843 -13337115.27542  21563858.129    21563861.497    21563857.051
+       316.473         246.602          55.000          49.000
+ -11253515.73843  -8753655.01742  22568078.908    22568081.230    22568077.929
+      3222.935        2511.378          50.000          44.000
+  -6905899.83243  -5334100.67142  23302975.107    23302979.407    23302975.083
+     -1195.223        -931.342          49.000          43.000
+ -12464809.75143  -9666282.36642  22574316.675    22574318.798    22574315.107
+     -1725.180       -1344.296          50.000          44.000
+  -5673905.50343  -4409887.62442  24057607.018    24057610.086    24057604.699
+     -3299.736       -2571.223          47.000          41.000
+ -24524199.82743 -19051827.86942  20604483.814    20604486.827    20604482.861
+      1179.844         919.359          55.000          49.000
+ 04  2  1 20 48 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17197219.07043 -13341588.10642  21533183.099    21533185.186    21533182.012
+     -2452.829       -1911.295          55.000          48.000
+ -14539518.75344 -11324485.50742  20355110.269    20355110.714    20355109.269
+      -213.389        -166.277          57.000          52.000
+ -14081079.22143 -10904411.78642  22665813.682    22665814.279    22665811.696
+     -1246.922        -971.627          51.000          44.000
+ -15916477.70143 -12356004.56342  22255006.919    22255010.121    22255006.511
+      2800.200        2181.974          52.000          46.000
+ -17138419.86543 -13344513.80542  21562051.775    21562054.815    21562050.086
+       316.021         246.250          55.000          49.000
+ -11350126.09443  -8828935.82142  22549694.413    22549696.837    22549692.950
+      3217.173        2506.888          50.000          44.000
+  -6869858.76943  -5306016.74742  23309833.456    23309837.555    23309833.135
+     -1207.811        -941.151          48.000          42.000
+ -12412902.63843  -9625835.28942  22584193.844    22584196.030    22584191.816
+     -1735.786       -1352.560          50.000          44.000
+  -5574836.22743  -4332690.85742  24076460.373    24076462.922    24076458.292
+     -3305.305       -2575.562          47.000          41.000
+ -24559376.09043 -19079237.94142  20597790.185    20597793.234    20597788.802
+      1164.802         907.638          55.000          49.000
+ 04  2  1 20 49  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17123536.65443 -13284173.27442  21547204.692    21547206.095    21547203.229
+     -2458.703       -1915.872          55.000          48.000
+ -14532910.79244 -11319336.45542  20356367.819    20356368.129    20356366.880
+      -226.635        -176.599          57.000          52.000
+ -14043652.45943 -10875248.10342  22672934.980    22672936.071    22672933.509
+     -1247.761        -972.281          51.000          44.000
+ -16000347.12943 -12421357.38242  22239047.928    22239050.974    22239046.956
+      2791.684        2175.338          53.000          46.000
+ -17147889.83343 -13351893.02242  21560249.465    21560252.988    21560248.142
+       315.905         246.160          55.000          49.000
+ -11446552.39543  -8904073.21142  22531345.183    22531348.345    22531344.004
+      3211.744        2502.658          50.000          44.000
+  -6833415.35743  -5277619.31142  23316769.022    23316772.177    23316768.381
+     -1220.891        -951.344          48.000          42.000
+ -12360667.98843  -9585132.99242  22594132.131    22594136.410    22594131.744
+     -1745.768       -1360.339          49.000          44.000
+  -5475596.30743  -4255361.15442  24095343.535    24095347.936    24095341.922
+     -3310.321       -2579.471          46.000          40.000
+ -24594093.65143 -19106290.59042  20591183.616    20591186.940    20591182.460
+      1150.224         896.278          55.000          49.000
+ 04  2  1 20 49 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -17049664.08843 -13226610.26542  21561262.373    21561263.854    21561261.275
+     -2465.991       -1921.551          55.000          48.000
+ -14525887.67144 -11313863.90242  20357703.904    20357704.746    20357702.986
+      -241.417        -188.117          57.000          51.000
+ -14006184.26943 -10846052.14642  22680064.362    22680066.382    22680062.487
+     -1250.192        -974.175          51.000          44.000
+ -16083947.41243 -12486500.46842  22223138.979    22223142.175    22223138.078
+      2781.704        2167.561          52.000          46.000
+ -17157341.36243 -13359257.86742  21558450.927    21558454.339    21558449.469
+       314.212         244.841          55.000          49.000
+ -11542798.23443  -8979069.97542  22513030.170    22513032.851    22513029.365
+      3204.790        2497.239          51.000          44.000
+  -6796578.41743  -5248915.23942  23323778.774    23323781.369    23323777.188
+     -1235.044        -962.372          48.000          42.000
+ -12308114.73143  -9544182.42542  22604134.072    22604137.350    22604133.580
+     -1757.637       -1369.587          50.000          44.000
+  -5376193.97143  -4177904.87242  24114259.226    24114262.809    24114257.342
+     -3316.535       -2584.313          46.000          40.000
+ -24628359.05343 -19132990.90542  20584663.168    20584666.737    20584661.793
+      1134.124         883.733          55.000          49.000
+ 04  2  1 20 50  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16975597.04943 -13168895.71042  21575356.411    21575358.520    21575355.392
+     -2472.490       -1926.615          55.000          48.000
+ -14518443.94244 -11308063.60442  20359120.352    20359121.259    20359119.602
+      -255.507        -199.096          57.000          51.000
+ -13968667.30143 -10816818.18342  22687204.687    22687205.926    22687202.462
+     -1251.795        -975.425          51.000          44.000
+ -16167269.24543 -12551426.58642  22207283.701    22207286.679    22207282.567
+      2772.475        2160.370          53.000          46.000
+ -17166767.38843 -13366602.83642  21556656.995    21556660.585    21556655.703
+       313.393         244.202          55.000          49.000
+ -11638853.48643  -9053918.23542  22494751.595    22494754.167    22494750.089
+      3198.269        2492.158          50.000          44.000
+  -6759343.81143  -5219901.29742  23330865.531    23330867.382    23330863.391
+     -1248.128        -972.567          48.000          43.000
+ -12255238.95543  -9502980.55342  22614195.981    22614198.803    22614194.519
+     -1768.163       -1377.789          50.000          44.000
+  -5276624.35943  -4100318.23742  24133207.284    24133211.594    24133205.600
+     -3321.985       -2588.560          46.000          40.000
+ -24662165.74643 -19159333.78242  20578229.691    20578233.032    20578228.657
+      1118.984         871.936          55.000          49.000
+ 04  2  1 20 50 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16901340.47043 -13111033.46742  21589486.969    21589489.085    21589485.708
+     -2478.682       -1931.440          54.000          48.000
+ -14510584.23844 -11301939.17142  20360616.035    20360616.927    20360615.393
+      -269.281        -209.829          57.000          51.000
+ -13931103.72743 -10787547.90942  22694351.930    22694353.737    22694351.264
+     -1253.380        -976.660          51.000          44.000
+ -16250312.86143 -12616135.90142  22191480.335    22191483.370    22191479.839
+      2763.065        2153.038          52.000          46.000
+ -17176170.21643 -13373929.73842  21554868.562    21554870.877    21554867.151
+       312.695         243.658          55.000          49.000
+ -11734717.87243  -9128617.76542  22476509.160    22476511.735    22476509.046
+      3192.045        2487.308          51.000          44.000
+  -6721716.86343  -5190581.63142  23338024.437    23338027.462    23338022.740
+     -1261.254        -982.795          48.000          42.000
+ -12202046.16843  -9461531.65442  22624318.432    22624320.439    22624316.917
+     -1778.683       -1385.987          50.000          44.000
+  -5176891.99243  -4022604.79442  24152184.122    24152188.950    24152184.341
+     -3327.499       -2592.856          45.000          40.000
+ -24695516.71943 -19185321.55442  20571883.036    20571886.614    20571882.427
+      1103.711         860.035          55.000          49.000
+ 04  2  1 20 51  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16826897.52243 -13053026.00742  21603653.280    21603655.159    21603652.282
+     -2484.231       -1935.764          54.000          48.000
+ -14502310.01644 -11295491.73542  20362190.908    20362191.355    20362189.772
+      -282.550        -220.169          57.000          52.000
+ -13893492.97543 -10758240.87442  22701509.436    22701510.877    22701508.500
+     -1254.190        -977.291          51.000          45.000
+ -16333075.90343 -12680626.59642  22175731.703    22175734.589    22175730.523
+      2754.433        2146.311          53.000          46.000
+ -17185550.08143 -13381238.74442  21553083.491    21553086.681    21553081.809
+       312.485         243.495          55.000          49.000
+ -11830388.62243  -9203166.41042  22458304.328    22458306.646    22458303.435
+      3185.992        2482.591          51.000          45.000
+  -6683700.44643  -5160958.48342  23345257.549    23345262.258    23345257.430
+     -1273.543        -992.371          47.000          42.000
+ -12148539.73043  -9419838.35342  22634500.284    22634502.938    22634499.850
+     -1788.684       -1393.780          50.000          44.000
+  -5076999.00543  -3944766.20042  24171193.623    24171198.907    24171192.960
+     -3331.872       -2596.264          45.000          40.000
+ -24728412.55143 -19210954.68042  20565623.614    20565626.526    20565622.389
+      1089.139         848.680          56.000          49.000
+ 04  2  1 20 51 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16752269.27243 -12994874.14742  21617854.539    21617856.428    21617853.197
+     -2490.668       -1940.780          54.000          47.000
+ -14493621.63044 -11288721.57242  20363844.418    20363845.028    20363843.207
+      -296.551        -231.079          57.000          52.000
+ -13855833.22343 -10728895.65442  22708676.590    22708677.740    22708675.375
+     -1256.152        -978.820          51.000          45.000
+ -16415554.62243 -12744895.73242  22160036.311    22160039.107    22160035.112
+      2744.631        2138.674          52.000          46.000
+ -17194905.59043 -13388528.77842  21551303.190    21551305.959    21551301.704
+       311.366         242.623          55.000          49.000
+ -11925861.62443  -9277560.96642  22440136.740    22440138.123    22440135.151
+      3179.022        2477.160          52.000          45.000
+  -6645296.14443  -5131033.08242  23352566.492    23352571.028    23352565.725
+     -1286.613       -1002.555          47.000          42.000
+ -12094721.03543  -9377901.72942  22644742.142    22644744.206    22644741.205
+     -1799.241       -1402.006          50.000          44.000
+  -4976946.25743  -3866803.11242  24190232.520    24190237.891    24190232.898
+     -3337.612       -2600.737          45.000          39.000
+ -24760852.41943 -19236232.50142  20559450.180    20559453.690    20559449.131
+      1073.737         836.678          55.000          49.000
+ 04  2  1 20 52  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16677458.98943 -12936580.45742  21632090.330    21632091.856    21632088.681
+     -2496.510       -1945.332          54.000          47.000
+ -14484521.51444 -11281630.58342  20365575.757    20365576.259    20365574.793
+      -310.096        -241.633          57.000          51.000
+ -13818124.92243 -10699512.57642  22715851.617    22715852.926    22715850.882
+     -1257.493        -979.865          52.000          45.000
+ -16497747.27343 -12808941.96742  22144394.673    22144398.930    22144394.208
+      2735.112        2131.256          52.000          47.000
+ -17204237.36943 -13395800.31742  21549526.882    21549530.060    21549525.644
+       310.793         242.176          55.000          49.000
+ -12021134.48443  -9351799.58142  22422006.865    22422008.177    22422005.944
+      3172.586        2472.145          52.000          45.000
+  -6606507.20043  -5100807.96742  23359949.050    23359952.082    23359946.466
+     -1299.301       -1012.442          48.000          43.000
+ -12040594.17743  -9335724.99342  22655040.467    22655045.236    22655039.728
+     -1809.181       -1409.751          49.000          43.000
+  -4876736.39643  -3788717.60842  24209303.177    24209307.449    24209301.894
+     -3342.319       -2604.404          46.000          39.000
+ -24792837.52043 -19261155.96042  20553364.041    20553367.313    20553362.805
+      1058.769         825.015          56.000          49.000
+ 04  2  1 20 52 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16602471.34143 -12878148.54842  21646359.648    21646361.703    21646358.755
+     -2501.967       -1949.585          54.000          47.000
+ -14475013.24544 -11274221.55042  20367384.875    20367385.974    20367383.933
+      -323.269        -251.898          57.000          51.000
+ -13780369.18543 -10670092.57742  22723036.130    22723037.598    22723034.680
+     -1258.754        -980.847          51.000          44.000
+ -16579653.31843 -12872764.86642  22128809.397    22128812.786    22128808.303
+      2725.754        2123.964          53.000          46.000
+ -17213547.14943 -13403054.71242  21547755.745    21547758.865    21547754.083
+       310.395         241.866          55.000          49.000
+ -12116206.21143  -9425881.45342  22403915.312    22403916.676    22403914.855
+      3166.165        2467.142          52.000          45.000
+  -6567338.30243  -5070286.78442  23367402.302    23367405.778    23367400.984
+     -1311.673       -1022.083          48.000          42.000
+ -11986163.90943  -9293311.82342  22665399.217    22665401.443    22665398.509
+     -1818.780       -1417.231          50.000          44.000
+  -4776373.45843  -3710512.80142  24228400.961    24228405.720    24228400.580
+     -3347.504       -2608.445          46.000          39.000
+ -24824370.17243 -19285726.86542  20547363.575    20547366.685    20547362.111
+      1044.107         813.590          56.000          49.000
+ 04  2  1 20 53  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16527304.79043 -12819577.23742  21660662.803    21660665.806    21660662.125
+     -2508.768       -1954.884          54.000          47.000
+ -14465094.33144 -11266492.53442  20369272.601    20369273.511    20369271.903
+      -337.757        -263.187          57.000          51.000
+ -13742561.37943 -10640632.00842  22730229.931    22730233.394    22730229.121
+     -1261.495        -982.983          50.000          44.000
+ -16661265.97543 -12936359.15442  22113279.516    22113282.570    22113278.199
+      2715.410        2115.904          53.000          47.000
+ -17222830.83143 -13410288.76742  21545988.758    21545992.077    21545987.801
+       308.730         240.569          55.000          49.000
+ -12211069.79843  -9499801.13842  22385863.067    22385864.476    22385861.471
+      3158.458        2461.136          52.000          45.000
+  -6527787.97843  -5039468.39242  23374929.427    23374932.353    23374926.700
+     -1324.999       -1032.467          48.000          42.000
+ -11931429.01543  -9250661.28342  22675815.321    22675816.902    22675814.623
+     -1829.766       -1425.792          50.000          44.000
+  -4675855.21543  -3632186.96942  24247528.764    24247533.834    24247527.002
+     -3353.325       -2612.980          46.000          39.000
+ -24855446.73243 -19309942.36842  20541449.901    20541453.008    20541448.544
+      1028.019         801.054          56.000          49.000
+ 04  2  1 20 53 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16451964.15743 -12760870.27842  21675000.273    21675002.038    21674999.129
+     -2514.344       -1959.229          54.000          47.000
+ -14454768.65744 -11258446.56242  20371237.499    20371238.243    20371236.786
+      -351.115        -273.596          57.000          51.000
+ -13704703.18843 -10611132.15142  22737436.172    22737437.632    22737434.066
+     -1262.824        -984.019          52.000          45.000
+ -16742585.04843 -12999724.67742  22097803.945    22097807.308    22097803.736
+      2705.676        2108.319          53.000          46.000
+ -17232090.49643 -13417504.10242  21544227.132    21544230.054    21544225.743
+       308.087         240.068          55.000          49.000
+ -12305724.59343  -9573558.12742  22367850.918    22367852.570    22367849.737
+      3151.596        2455.789          52.000          45.000
+  -6487861.19043  -5008356.63842  23382524.004    23382529.638    23382523.154
+     -1337.194       -1041.969          47.000          42.000
+ -11876394.79843  -9207777.47742  22686288.055    22686291.128    22686286.930
+     -1839.431       -1433.323          51.000          44.000
+  -4575186.01943  -3553743.53442  24266686.515    24266690.453    24266685.509
+     -3358.172       -2616.757          45.000          39.000
+ -24886069.82143 -19333804.52542  20535622.095    20535625.676    20535621.036
+      1013.097         789.426          55.000          49.000
+ 04  2  1 20 54  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16376450.64743 -12702028.60742  21689370.200    21689372.458    21689368.746
+     -2520.400       -1963.948          54.000          47.000
+ -14444036.70944 -11250084.01342  20373279.784    20373280.439    20373278.866
+      -364.898        -284.336          57.000          51.000
+ -13666792.92443 -10581591.72242  22744649.496    22744651.730    22744647.667
+     -1265.005        -985.718          51.000          45.000
+ -16823606.93543 -13062858.62342  22082386.354    22082389.719    22082385.737
+      2695.292        2100.228          53.000          47.000
+ -17241324.62043 -13424699.53742  21542470.299    21542472.469    21542468.516
+       306.914         239.154          55.000          49.000
+ -12400166.11943  -9647148.92942  22349879.024    22349880.908    22349877.010
+      3144.097        2449.946          52.000          45.000
+  -6447559.63843  -4976952.86042  23390192.819    23390197.712    23390192.548
+     -1349.949       -1051.908          47.000          42.000
+ -11821063.05443  -9164661.87842  22696817.394    22696819.307    22696816.105
+     -1849.828       -1441.424          50.000          44.000
+  -4474366.79543  -3475183.17942  24285873.710    24285876.285    24285871.135
+     -3363.779       -2621.126          46.000          39.000
+ -24916238.98543 -19357312.96742  20529880.967    20529884.291    20529880.348
+       997.612         777.360          55.000          49.000
+ 04  2  1 20 54 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16300767.88343 -12643055.05042  21703772.283    21703774.529    21703770.957
+     -2524.974       -1967.512          54.000          47.000
+ -14432901.54144 -11241407.26742  20375398.848    20375399.156    20375397.919
+      -377.413        -294.088          57.000          51.000
+ -13628830.96243 -10552011.01242  22751873.534    22751874.889    22751872.007
+     -1265.740        -986.291          51.000          45.000
+ -16904330.16743 -13125759.85742  22067025.067    22067028.528    22067024.484
+      2686.209        2093.150          53.000          47.000
+ -17250534.14443 -13431875.80742  21540716.719    21540720.356    21540715.722
+       307.076         239.280          55.000          49.000
+ -12494393.10843  -9720572.57742  22331948.197    22331950.629    22331946.751
+      3137.785        2445.027          51.000          45.000
+  -6406887.18143  -4945260.07642  23397933.061    23397938.390    23397932.811
+     -1361.323       -1060.771          47.000          42.000
+ -11765437.96443  -9121317.68242  22707401.676    22707405.140    22707401.752
+     -1858.394       -1448.099          50.000          44.000
+  -4373400.56243  -3396508.27742  24305083.540    24305089.653    24305083.821
+     -3367.834       -2624.286          44.000          39.000
+ -24945955.54343 -19380468.73242  20524226.265    20524229.535    20524225.389
+       983.477         766.346          55.000          49.000
+ 04  2  1 20 55  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16224918.05043 -12583951.31642  21718206.055    21718207.687    21718205.024
+     -2531.425       -1972.539          54.000          47.000
+ -14421363.83144 -11232416.85942  20377594.447    20377594.957    20377593.553
+      -391.606        -305.147          57.000          51.000
+ -13590816.40843 -10522389.32842  22759107.697    22759109.208    22759107.016
+     -1268.303        -988.288          51.000          45.000
+ -16984751.69143 -13188426.00742  22051722.418    22051724.736    22051720.859
+      2675.358        2084.695          53.000          47.000
+ -17259718.38243 -13439032.36842  21538969.505    21538972.488    21538967.798
+       305.456         238.018          55.000          49.000
+ -12588401.39443  -9793825.79542  22314058.653    22314061.647    22314057.225
+      3129.650        2438.688          52.000          45.000
+  -6365846.06943  -4913280.01642  23405743.995    23405749.482    23405742.645
+     -1374.813       -1071.283          47.000          42.000
+ -11709522.07643  -9077746.88742  22718042.892    22718045.341    22718042.099
+     -1868.913       -1456.296          50.000          44.000
+  -4272288.87243  -3317720.05542  24324326.407    24324328.976    24324323.975
+     -3372.999       -2628.311          42.000          39.000
+ -24975219.60543 -19403271.90342  20518657.739    20518660.878    20518656.453
+       967.663         754.023          55.000          49.000
+ 04  2  1 20 55 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16148902.68143 -12524718.59442  21732671.443    21732673.524    21732669.960
+     -2536.187       -1976.250          54.000          47.000
+ -14409424.81044 -11223113.73442  20379866.306    20379866.680    20379865.598
+      -404.268        -315.014          57.000          51.000
+ -13552748.24443 -10492725.85942  22766351.704    22766353.216    22766350.203
+     -1269.507        -989.226          51.000          45.000
+ -17064868.37443 -13250854.59742  22036476.369    22036478.940    22036475.105
+      2665.890        2077.317          53.000          47.000
+ -17268876.75643 -13446168.78242  21537226.588    21537229.783    21537225.330
+       305.201         237.819          55.000          49.000
+ -12682187.70843  -9866906.04842  22296211.873    22296214.260    22296210.576
+      3122.797        2433.348          52.000          45.000
+  -6324438.53543  -4881014.44842  23413623.294    23413627.565    23413621.530
+     -1385.963       -1079.971          48.000          42.000
+ -11653317.66743  -9033951.27642  22728738.573    22728740.721    22728736.907
+     -1877.829       -1463.243          51.000          44.000
+  -4171033.19743  -3238819.62142  24343593.537    24343599.713    24343594.550
+     -3377.273       -2631.641          45.000          39.000
+ -25004031.07843 -19425722.40442  20513175.123    20513178.020    20513173.800
+       953.302         742.833          55.000          49.000
+ 04  2  1 20 56  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -16072725.53243 -12465359.79842  21747167.466    21747168.701    21747166.291
+     -2541.579       -1980.451          54.000          47.000
+ -14397087.00644 -11213499.87342  20382214.240    20382214.593    20382213.085
+      -417.646        -325.438          57.000          51.000
+ -13514626.15843 -10463020.37642  22773605.763    22773608.031    22773604.670
+     -1271.320        -990.639          51.000          45.000
+ -17144678.58143 -13313044.37442  22021288.584    22021291.367    22021287.591
+      2655.429        2069.165          53.000          47.000
+ -17278009.72643 -13453285.39742  21535488.889    21535491.696    21535486.984
+       304.271         237.094          55.000          49.000
+ -12775749.76143  -9939811.54542  22278407.454    22278409.695    22278407.009
+      3115.158        2427.396          51.000          45.000
+  -6282667.95543  -4848465.95242  23421573.952    23421575.932    23421572.249
+     -1398.151       -1089.468          48.000          42.000
+ -11596828.39543  -8989933.69042  22739487.999    22739490.007    22739486.190
+     -1887.256       -1470.589          50.000          44.000
+  -4069636.19143  -3159809.07742  24362889.676    24362893.139    24362887.924
+     -3381.890       -2635.239          44.000          39.000
+ -25032391.25143 -19447821.24442  20507778.872    20507781.268    20507777.257
+       938.181         731.050          56.000          49.000
+ 04  2  1 20 56 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15996389.56443 -12405877.25842  21761693.771    21761695.608    21761692.413
+     -2547.482       -1985.051          55.000          47.000
+ -14384352.77944 -11203577.10942  20384637.261    20384637.989    20384636.351
+      -431.426        -336.176          57.000          51.000
+ -13476450.40543 -10433273.07542  22780870.627    22780872.488    22780869.372
+     -1273.698        -992.492          51.000          45.000
+ -17224180.40643 -13374993.85842  22006160.227    22006163.086    22006159.361
+      2644.560        2060.696          53.000          47.000
+ -17287117.73443 -13460382.56342  21533756.265    21533758.666    21533754.570
+       302.902         236.028          55.000          49.000
+ -12869085.48343 -10012540.68442  22260646.214    22260649.239    22260644.867
+      3107.278        2421.256          52.000          45.000
+  -6240537.89143  -4815637.35642  23429590.631    23429593.471    23429588.915
+     -1410.518       -1099.105          49.000          42.000
+ -11540058.19343  -8945697.20242  22750291.236    22750293.646    22750290.457
+     -1897.439       -1478.524          51.000          44.000
+  -3968100.64243  -3080690.57442  24382212.203    24382215.356    24382211.251
+     -3387.182       -2639.362          45.000          40.000
+ -25060301.39943 -19469569.41642  20502467.496    20502470.100    20502466.051
+       922.563         718.880          56.000          49.000
+ 04  2  1 20 57  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15919893.68743 -12346270.10642  21776250.247    21776251.930    21776248.870
+     -2552.472       -1988.939          54.000          47.000
+ -14371220.28944 -11193344.00942  20387136.530    20387136.769    20387135.545
+      -444.296        -346.205          57.000          51.000
+ -13438216.79743 -10403480.70642  22788146.080    22788148.682    22788145.023
+     -1275.403        -993.820          51.000          45.000
+ -17303367.77643 -13436698.30642  21991091.850    21991094.268    21991090.459
+      2634.373        2052.758          54.000          47.000
+ -17296196.63643 -13467457.04342  21532027.845    21532031.713    21532026.361
+       302.211         235.489          55.000          49.000
+ -12962188.09543 -10085088.19142  22242929.830    22242932.033    22242928.122
+      3099.716        2415.363          52.000          45.000
+  -6198047.60243  -4782528.10242  23437675.619    23437679.306    23437675.555
+     -1422.397       -1108.361          48.000          42.000
+ -11483006.41743  -8901241.31442  22761147.084    22761150.268    22761145.956
+     -1906.603       -1485.665          50.000          44.000
+  -3866424.97643  -3001462.91042  24401560.943    24401563.297    24401557.909
+     -3391.722       -2642.900          46.000          40.000
+ -25087758.51943 -19490964.58042  20497242.845    20497245.344    20497241.348
+       907.779         707.360          56.000          49.000
+ 04  2  1 20 57 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15843242.90043 -12286542.24942  21790836.669    21790838.619    21790835.557
+     -2557.897       -1993.166          54.000          47.000
+ -14357693.98244 -11182804.04542  20389710.352    20389710.678    20389709.519
+      -457.767        -356.701          57.000          51.000
+ -13399927.50843 -10373644.93342  22795432.155    22795434.037    22795431.021
+     -1277.696        -995.607          51.000          45.000
+ -17382240.90943 -13498157.90642  21976082.393    21976085.367    21976081.630
+      2623.597        2044.361          53.000          47.000
+ -17305249.15043 -13474510.97342  21530305.733    21530308.345    21530303.966
+       301.001         234.546          55.000          49.000
+ -13055057.33543 -10157453.83942  22225256.639    22225259.714    22225255.922
+      3091.345        2408.840          52.000          45.000
+  -6155202.77943  -4749142.56742  23445828.763    23445832.380    23445826.234
+     -1434.251       -1117.598          49.000          43.000
+ -11425678.82243  -8856570.49642  22772056.718    22772059.428    22772054.531
+     -1915.793       -1492.826          50.000          44.000
+  -3764614.01043  -2922129.80742  24420932.898    24420936.918    24420932.035
+     -3396.250       -2646.428          45.000          40.000
+ -25114765.91943 -19512009.31342  20492102.743    20492106.055    20492101.612
+       892.422         695.394          56.000          49.000
+ 04  2  1 20 58  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15766436.89443 -12226693.43942  21805452.287    21805454.121    21805451.073
+     -2563.025       -1997.162          54.000          47.000
+ -14343772.80944 -11171956.38942  20392359.356    20392359.988    20392358.611
+      -470.976        -366.994          57.000          51.000
+ -13361579.00943 -10343763.03642  22802729.858    22802732.651    22802728.539
+     -1279.614        -997.102          51.000          45.000
+ -17460794.62243 -13559368.60242  21961132.845    21961137.021    21961132.572
+      2612.815        2035.960          53.000          47.000
+ -17314272.11743 -13481541.87542  21528588.530    21528591.630    21528587.173
+       299.895         233.684          55.000          49.000
+ -13147687.64943 -10229633.31242  22207630.516    22207633.291    22207629.229
+      3083.240        2402.525          52.000          45.000
+  -6112003.19343  -4715480.59142  23454049.718    23454053.384    23454047.443
+     -1446.247       -1126.946          49.000          43.000
+ -11368075.58643  -8811684.89842  22783017.248    22783020.763    22783016.334
+     -1924.947       -1499.959          49.000          44.000
+  -3662667.03243  -2842690.72742  24440334.680    24440338.073    24440331.747
+     -3400.648       -2649.855          46.000          40.000
+ -25141321.44343 -19532701.93742  20487049.650    20487052.804    20487048.470
+       877.271         683.588          56.000          50.000
+ 04  2  1 20 58 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15689480.44743 -12166727.40742  21820096.766    21820098.621    21820095.561
+     -2567.080       -2000.322          54.000          47.000
+ -14329460.89944 -11160804.26242  20395083.142    20395083.473    20395082.224
+      -482.834        -376.234          57.000          51.000
+ -13323173.21143 -10313836.47242  22810038.912    22810040.683    22810036.768
+     -1280.448        -997.752          51.000          45.000
+ -17539028.71843 -13620330.25042  21946246.014    21946250.355    21946245.164
+      2603.218        2028.482          53.000          47.000
+ -17323267.55743 -13488551.32142  21526876.788    21526879.537    21526875.619
+       300.144         233.878          55.000          49.000
+ -13240078.11043 -10301625.89242  22190048.299    22190051.303    22190047.290
+      3076.444        2397.229          52.000          45.000
+  -6068454.15943  -4681546.29742  23462336.119    23462340.814    23462334.388
+     -1456.799       -1135.168          47.000          42.000
+ -11310202.23143  -8766588.78842  22794031.031    22794033.468    22794029.677
+     -1932.850       -1506.117          49.000          43.000
+  -3560588.15043  -2763148.84042  24459759.591    24459763.185    24459757.517
+     -3404.303       -2652.704          46.000          40.000
+ -25167428.04643 -19553044.75042  20482081.321    20482084.974    20482080.160
+       863.444         672.814          55.000          49.000
+ 04  2  1 20 59  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15612377.60343 -12106647.29142  21834769.009    21834770.291    21834767.664
+     -2572.774       -2004.759          54.000          47.000
+ -14314761.75744 -11149350.39142  20397880.052    20397880.526    20397879.324
+      -496.566        -386.934          57.000          51.000
+ -13284711.19643 -10283866.10542  22817357.028    22817359.008    22817355.484
+     -1283.007        -999.746          51.000          44.000
+ -17616942.48643 -13681042.28442  21931419.788    21931423.246    21931418.731
+      2591.689        2019.498          53.000          47.000
+ -17332237.15543 -13495540.63542  21525169.881    21525172.840    21525168.281
+       298.382         232.505          55.000          49.000
+ -13332227.73343 -10373430.80542  22172512.811    22172516.374    22172512.363
+      3067.551        2390.299          52.000          46.000
+  -6024560.34643  -4647343.37042  23470689.394    23470693.773    23470686.223
+     -1468.842       -1144.552          48.000          42.000
+ -11252063.52343  -8721285.93142  22805094.152    22805096.784    22805092.680
+     -1942.385       -1513.547          49.000          43.000
+  -3458381.43643  -2683507.36142  24479207.861    24479211.838    24479208.092
+     -3409.139       -2656.472          46.000          39.000
+ -25193088.13243 -19573039.62942  20477198.633    20477202.000    20477197.410
+       847.733         660.571          56.000          49.000
+ 04  2  1 20 59 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15535127.21943 -12046452.21342  21849469.240    21849471.408    21849467.881
+     -2577.133       -2008.155          54.000          47.000
+ -14299672.97144 -11137592.90642  20400751.448    20400751.954    20400750.562
+      -509.085        -396.690          57.000          51.000
+ -13246188.25343 -10253848.26342  22824687.783    22824690.289    22824686.299
+     -1284.841       -1001.175          51.000          44.000
+ -17694529.22543 -13741499.50142  21916655.679    21916658.886    21916654.621
+      2581.083        2011.234          53.000          47.000
+ -17341176.41243 -13502506.30242  21523468.812    21523471.969    21523467.438
+       297.863         232.101          55.000          49.000
+ -13424129.29643 -10445042.42142  22155024.434    22155028.033    22155023.832
+      3059.517        2384.039          52.000          46.000
+  -5980320.33043  -4612870.67042  23479107.851    23479112.498    23479106.736
+     -1480.018       -1153.261          49.000          42.000
+ -11193658.25443  -8675775.37242  22816207.817    22816211.353    22816207.190
+     -1950.928       -1520.204          49.000          43.000
+  -3356044.78243  -2603764.61042  24498682.564    24498687.142    24498681.036
+     -3412.547       -2659.127          46.000          39.000
+ -25218298.24143 -19592683.87642  20472401.276    20472404.859    20472400.396
+       833.207         649.252          56.000          50.000
+ 04  2  1 21  0  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15457734.06943 -11986145.89442  21864197.091    21864198.166    21864195.962
+     -2582.314       -2012.193          55.000          47.000
+ -14284198.65344 -11125535.00742  20403695.971    20403696.881    20403695.050
+      -522.422        -407.082          57.000          51.000
+ -13207605.71443 -10223783.99242  22832030.083    22832032.410    22832029.493
+     -1287.169       -1002.989          51.000          44.000
+ -17771788.65143 -13801701.67342  21901954.199    21901957.207    21901952.939
+      2569.770        2002.418          53.000          47.000
+ -17350087.45443 -13509449.99042  21521772.583    21521776.268    21521771.624
+       296.347         230.920          55.000          49.000
+ -13515782.36743 -10516460.41442  22137584.248    22137586.328    22137583.029
+      3050.758        2377.214          52.000          45.000
+  -5935739.28543  -4578132.20842  23487591.872    23487595.834    23487589.564
+     -1491.815       -1162.453          49.000          42.000
+ -11134991.87143  -8630061.31742  22827372.064    22827375.447    22827371.783
+     -1959.997       -1527.270          49.000          43.000
+  -3253582.36843  -2523923.89142  24518180.428    24518185.125    24518180.001
+     -3417.572       -2663.043          46.000          39.000
+ -25243061.27643 -19611979.75342  20467689.100    20467692.227    20467688.198
+       818.000         637.403          56.000          49.000
+ 04  2  1 21  0 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15380197.72543 -11925727.99042  21878951.517    21878953.396    21878951.008
+     -2586.297       -2015.296          54.000          47.000
+ -14268338.36544 -11113176.35542  20406714.348    20406714.773    20406713.319
+      -534.486        -416.482          57.000          51.000
+ -13168961.22643 -10193671.45142  22839383.510    22839384.636    22839382.369
+     -1288.607       -1004.109          51.000          44.000
+ -17848716.39743 -13861645.37942  21887315.393    21887317.680    21887314.258
+      2559.226        1994.202          54.000          47.000
+ -17358967.94043 -13516369.87042  21520083.339    21520086.228    21520081.794
+       296.037         230.678          55.000          49.000
+ -13607181.60743 -10587680.60542  22120191.044    22120193.269    22120189.609
+      3043.004        2371.172          52.000          45.000
+  -5890818.20643  -4543128.79942  23496139.544    23496142.467    23496138.346
+     -1502.470       -1170.756          49.000          42.000
+ -11076065.40243  -8584144.63242  22838586.235    22838587.599    22838584.320
+     -1967.972       -1533.485          49.000          43.000
+  -3150994.28643  -2443985.22942  24537702.452    24537706.366    24537701.507
+     -3421.017       -2665.727          46.000          40.000
+ -25267375.83843 -19630926.17542  20463062.536    20463065.468    20463061.198
+       803.687         626.250          56.000          50.000
+ 04  2  1 21  1  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15302525.56243 -11865204.25742  21893732.075    21893733.865    21893730.919
+     -2591.276       -2019.176          54.000          47.000
+ -14252098.31044 -11100521.78242  20409804.529    20409805.409    20409803.773
+      -547.672        -426.757          57.000          51.000
+ -13130258.30643 -10163513.35742  22846748.887    22846750.743    22846747.837
+     -1291.051       -1006.014          51.000          44.000
+ -17925314.41043 -13921332.15642  21872739.213    21872741.800    21872738.167
+      2547.764        1985.271          54.000          47.000
+ -17367821.93643 -13523269.09442  21518398.851    21518401.744    21518397.174
+       294.599         229.558          56.000          49.000
+ -13698328.69643 -10658704.32542  22102846.834    22102849.630    22102845.602
+      3033.931        2364.102          53.000          46.000
+  -5845564.18943  -4507865.97142  23504751.462    23504756.017    23504749.984
+     -1514.075       -1179.799          48.000          42.000
+ -11016886.35043  -8538031.12042  22849847.008    22849848.831    22849846.274
+     -1976.672       -1540.264          49.000          43.000
+  -3048287.04843  -2363953.72942  24557246.166    24557251.294    24557245.913
+     -3425.641       -2669.331          46.000          40.000
+ -25291247.15443 -19649527.21042  20458520.045    20458522.925    20458518.609
+       788.360         614.306          56.000          49.000
+ 04  2  1 21  1 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15224713.51443 -11804571.52442  21908539.659    21908541.442    21908538.486
+     -2595.874       -2022.759          54.000          47.000
+ -14235473.83344 -11087567.65442  20412968.237    20412968.606    20412967.308
+      -560.375        -436.656          57.000          51.000
+ -13091489.97043 -10133304.31042  22854126.738    22854128.901    22854124.821
+     -1293.239       -1007.719          51.000          44.000
+ -18001573.42543 -13980754.77442  21858227.025    21858230.764    21858226.103
+      2536.372        1976.394          53.000          47.000
+ -17376642.33743 -13530142.15742  21516719.430    21516722.954    21516718.529
+       293.560         228.748          55.000          49.000
+ -13789213.94343 -10729524.01142  22085552.451    22085553.996    22085550.418
+      3025.182        2357.285          53.000          46.000
+  -5799973.52343  -4472340.80242  23513426.045    23513430.282    23513424.774
+     -1525.619       -1188.794          48.000          42.000
+ -10957450.86643  -8491717.79542  22861157.918    22861160.521    22861156.573
+     -1985.257       -1546.953          49.000          43.000
+  -2945455.92743  -2283825.69042  24576815.032    24576817.818    24576815.311
+     -3429.560       -2672.384          46.000          39.000
+ -25314669.17843 -19667778.14242  20454062.701    20454065.776    20454061.412
+       773.436         602.677          55.000          49.000
+ 04  2  1 21  2  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15146767.39143 -11743834.31542  21923371.773    21923373.428    21923370.472
+     -2599.993       -2025.968          53.000          47.000
+ -14218470.56344 -11074318.36742  20416203.878    20416204.241    20416203.168
+      -572.686        -446.249          57.000          51.000
+ -13052659.16543 -10103046.58242  22861514.388    22861517.314    22861513.024
+     -1295.102       -1009.170          50.000          44.000
+ -18077494.80743 -14039914.30142  21843779.237    21843782.888    21843778.169
+      2525.465        1967.895          53.000          47.000
+ -17385432.63743 -13536991.75442  21515046.415    21515050.670    21515045.653
+       292.890         228.226          55.000          49.000
+ -13879838.28543 -10800140.38542  22068306.859    22068308.382    22068305.672
+      3016.834        2350.780          52.000          46.000
+  -5754052.99943  -4436558.62342  23522165.131    23522169.425    23522163.820
+     -1535.929       -1196.828          47.000          42.000
+ -10897766.16743  -8445210.28442  22872514.435    22872517.263    22872513.662
+     -1993.414       -1553.310          49.000          43.000
+  -2842506.98843  -2203605.82442  24596405.287    24596410.021    24596403.823
+     -3433.380       -2675.361          45.000          39.000
+ -25337646.66843 -19685682.68942  20449690.258    20449693.512    20449689.019
+       758.944         591.385          56.000          49.000
+ 04  2  1 21  2 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -15068690.10843 -11682994.90042  21938230.203    21938231.016    21938228.442
+     -2604.998       -2029.868          54.000          47.000
+ -14201090.67144 -11060775.60342  20419511.105    20419511.385    20419510.231
+      -585.826        -456.488          57.000          51.000
+ -13013765.72343 -10072740.04442  22868916.779    22868918.729    22868915.210
+     -1297.531       -1011.063          51.000          44.000
+ -18153076.45643 -14098809.10442  21829396.919    21829399.848    21829396.106
+      2513.523        1958.589          53.000          47.000
+ -17394192.75843 -13543817.84042  21513380.246    21513383.543    21513378.790
+       291.319         227.002          55.000          49.000
+ -13970199.15443 -10870551.44842  22051111.785    22051113.856    22051110.914
+      3007.366        2343.402          52.000          46.000
+  -5707805.99343  -4400522.03042  23530966.341    23530969.911    23530964.555
+     -1547.114       -1205.543          48.000          42.000
+ -10837835.49843  -8398511.08042  22883919.228    22883923.593    22883918.007
+     -2001.894       -1559.917          49.000          43.000
+  -2739442.70343  -2123296.09642  24616017.845    24616022.935    24616018.185
+     -3437.662       -2678.698          45.000          38.000
+ -25360180.65943 -19703241.64842  20445402.186    20445405.411    20445400.974
+       743.602         579.430          56.000          50.000
+ 04  2  1 21  3  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14990481.19543 -11622052.93442  21953111.779    21953114.891    21953110.406
+     -2608.668       -2032.728          53.000          47.000
+ -14183333.26644 -11046938.67742  20422890.132    20422890.671    20422889.418
+      -597.645        -465.697          57.000          51.000
+ -12974806.33643 -10042382.10742  22876330.669    22876332.560    22876329.603
+     -1299.245       -1012.399          51.000          44.000
+ -18228313.32943 -14157435.25342  21815079.694    21815082.953    21815078.877
+      2502.630        1950.101          54.000          47.000
+ -17402919.65643 -13550618.03542  21511719.460    21511722.270    21511718.128
+       290.883         226.662          55.000          49.000
+ -14060290.89243 -10940752.81542  22033967.864    22033970.427    22033967.168
+      2999.068        2336.936          52.000          46.000
+  -5661232.65743  -4364231.13642  23539829.415    23539833.101    23539826.945
+     -1557.338       -1213.510          48.000          42.000
+ -10777659.57643  -8351620.79342  22895371.161    22895373.683    22895368.368
+     -2009.347       -1565.725          49.000          43.000
+  -2636262.37843  -2042895.95742  24635653.442    24635658.500    24635651.569
+     -3440.634       -2681.013          45.000          38.000
+ -25382269.21743 -19720453.52142  20441198.683    20441201.978    20441197.455
+       729.362         568.334          56.000          50.000
+ 04  2  1 21  3 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14912148.38643 -11561014.40442  21968019.087    21968020.394    21968017.104
+     -2613.733       -2036.675          54.000          47.000
+ -14165205.13044 -11032812.87042  20426339.951    20426340.588    20426339.231
+      -611.287        -476.327          57.000          51.000
+ -12935784.90243 -10011975.84242  22883756.274    22883757.769    22883755.251
+     -1302.515       -1014.947          51.000          45.000
+ -18303207.90543 -14215794.67942  21800828.148    21800831.184    21800827.035
+      2489.952        1940.222          54.000          47.000
+ -17411618.13043 -13557396.07842  21510064.438    21510067.323    21510062.649
+       288.571         224.861          56.000          49.000
+ -14150115.55343 -11010746.06042  22016874.734    22016877.126    22016873.432
+      2988.751        2328.897          52.000          46.000
+  -5614340.85743  -4327692.08142  23548751.919    23548756.057    23548750.007
+     -1569.421       -1222.925          48.000          42.000
+ -10717246.34743  -8304545.58842  22906867.406    22906868.802    22906866.071
+     -2018.546       -1572.893          48.000          43.000
+  -2532973.05543  -1962410.84942  24655306.761    24655312.757    24655307.036
+     -3445.600       -2684.883          44.000          38.000
+ -25403918.20143 -19737322.86242  20437079.290    20437082.555    20437078.035
+       713.548         556.011          56.000          50.000
+ 04  2  1 21  4  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14833685.10143 -11499874.21842  21982949.286    21982951.969    21982948.339
+     -2616.854       -2039.107          54.000          47.000
+ -14146699.90844 -11018393.22742  20429861.670    20429861.886    20429860.489
+      -622.773        -485.278          57.000          51.000
+ -12896693.24543  -9981514.85742  22891194.896    22891197.094    22891193.487
+     -1303.446       -1015.672          52.000          44.000
+ -18377749.46443 -14273879.01842  21786643.483    21786646.202    21786642.038
+      2479.275        1931.902          54.000          47.000
+ -17420279.39943 -13564145.13242  21508416.235    21508418.748    21508415.002
+       288.543         224.839          56.000          49.000
+ -14239661.86843 -11080522.41542  21999834.502    21999836.475    21999833.487
+      2980.777        2322.683          52.000          46.000
+  -5567125.29243  -4290900.77442  23557736.902    23557739.976    23557735.435
+     -1578.532       -1230.025          48.000          42.000
+ -10656590.57443  -8257281.37942  22918408.629    22918411.841    22918407.472
+     -2025.507       -1578.317          48.000          42.000
+  -2429568.37843  -1881835.88142  24674985.703    24674990.910    24674984.237
+     -3448.458       -2687.110          45.000          39.000
+ -25425120.04043 -19753843.78542  20433044.784    20433047.522    20433043.478
+       699.705         545.225          56.000          50.000
+ 04  2  1 21  4 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14755099.80843 -11438638.95442  21997903.742    21997905.845    21997902.687
+     -2622.225       -2043.292          54.000          47.000
+ -14127825.08444 -11003685.58342  20433453.349    20433453.699    20433452.491
+      -635.883        -495.493          57.000          51.000
+ -12857536.17243  -9951002.87642  22898646.390    22898649.112    22898645.053
+     -1307.003       -1018.444          51.000          44.000
+ -18451941.23243 -14331690.78842  21772525.174    21772528.386    21772523.965
+      2466.499        1921.947          54.000          47.000
+ -17428908.76343 -13570869.32842  21506774.226    21506777.150    21506772.551
+       286.437         223.198          56.000          49.000
+ -14328932.61743 -11150084.03642  21982846.682    21982848.965    21982845.505
+      2970.404        2314.601          52.000          46.000
+  -5519594.65843  -4253863.95642  23566780.821    23566784.220    23566779.516
+     -1590.260       -1239.164          48.000          42.000
+ -10595701.02043  -8209835.02442  22929995.591    22929998.860    22929994.214
+     -2033.942       -1584.890          49.000          43.000
+  -2326056.17343  -1801177.12842  24694682.483    24694687.533    24694682.250
+     -3453.034       -2690.676          45.000          38.000
+ -25445881.29043 -19770021.38942  20429093.812    20429096.907    20429092.545
+       683.892         532.903          56.000          49.000
+ 04  2  1 21  5  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14676397.49243 -11377312.50242  22012880.566    22012882.594    22012879.386
+     -2624.554       -2045.107          54.000          47.000
+ -14108584.76444 -10988693.14142  20437114.461    20437114.860    20437113.607
+      -646.712        -503.931          57.000          51.000
+ -12818314.98143  -9920440.95342  22906110.628    22906111.951    22906108.525
+     -1307.640       -1018.940          51.000          44.000
+ -18525782.96143 -14389229.81742  21758473.875    21758476.388    21758472.462
+      2456.313        1914.010          54.000          47.000
+ -17437508.00143 -13577570.04842  21505137.854    21505140.599    21505136.239
+       286.819         223.495          56.000          49.000
+ -14417927.06043 -11219430.35642  21965911.628    21965914.108    21965910.096
+      2962.565        2308.492          53.000          46.000
+  -5471753.98743  -4216585.53842  23575885.079    23575889.979    23575882.530
+     -1599.309       -1246.215          47.000          41.000
+ -10534582.94843  -8162210.57042  22941626.802    22941627.976    22941625.772
+     -2040.193       -1589.761          49.000          43.000
+  -2222440.84243  -1720438.03742  24714402.585    24714406.331    24714400.123
+     -3454.586       -2691.885          45.000          39.000
+ -25466204.96543 -19785858.03342  20425226.456    20425229.888    20425225.028
+       670.828         522.723          55.000          49.000
+ 04  2  1 21  5 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14597573.35843 -11315891.12942  22027879.977    22027882.131    22027879.256
+     -2628.877       -2048.475          54.000          47.000
+ -14088973.92744 -10973411.98042  20440846.034    20440846.843    20440845.562
+      -659.261        -513.710          57.000          51.000
+ -12779021.73443  -9889822.87342  22913587.157    22913589.759    22913585.764
+     -1310.502       -1021.170          51.000          44.000
+ -18599265.31043 -14446488.80742  21744490.269    21744493.635    21744488.997
+      2443.928        1904.359          54.000          48.000
+ -17446069.91243 -13584241.67642  21503508.174    21503511.495    21503506.809
+       285.393         222.384          55.000          49.000
+ -14506635.44043 -11288553.77442  21949031.378    21949034.193    21949030.520
+      2952.784        2300.871          53.000          46.000
+  -5423599.45043  -4179062.54542  23585047.972    23585052.298    23585046.550
+     -1609.575       -1254.214          48.000          42.000
+ -10473232.48243  -8114405.05042  22953301.085    22953303.136    22953300.057
+     -2048.316       -1596.090          49.000          43.000
+  -2118717.51343  -1639614.74942  24734138.961    24734144.509    24734138.334
+     -3458.574       -2694.993          45.000          39.000
+ -25486085.04443 -19801349.02142  20421442.981    20421446.416    20421441.922
+       655.946         511.127          55.000          49.000
+ 04  2  1 21  6  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14518633.01843 -11254379.20442  22042901.811    22042904.425    22042900.476
+     -2632.613       -2051.387          53.000          46.000
+ -14068997.73444 -10957846.12942  20444647.701    20444648.371    20444646.670
+      -671.256        -523.057          57.000          51.000
+ -12739659.54243  -9859151.06542  22921078.386    22921079.821    22921075.686
+     -1312.520       -1022.743          51.000          44.000
+ -18672389.48043 -14503468.69742  21730574.662    21730578.582    21730573.966
+      2432.049        1895.103          54.000          48.000
+ -17454597.52743 -13590886.58542  21501886.060    21501888.837    21501884.104
+       284.293         221.527          56.000          49.000
+ -14595057.98343 -11357454.46742  21932205.205    21932206.984    21932204.110
+      2943.325        2293.500          53.000          46.000
+  -5375137.32843  -4141299.88242  23594270.938    23594274.705    23594269.721
+     -1619.801       -1262.182          48.000          42.000
+ -10411656.36943  -8066423.69742  22965019.472    22965022.295    22965017.401
+     -2055.459       -1601.656          48.000          43.000
+  -2014891.76743  -1558711.67442  24753895.733    24753901.625    24753895.169
+     -3462.044       -2697.697          46.000          39.000
+ -25505525.69043 -19816497.58342  20417744.215    20417747.213    20417742.510
+       641.389         499.784          56.000          49.000
+ 04  2  1 21  6 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14439578.39843 -11192778.24042  22057945.754    22057947.421    22057944.292
+     -2637.338       -2055.068          53.000          46.000
+ -14048658.00744 -10941997.00342  20448517.829    20448518.561    20448517.060
+      -684.590        -533.447          57.000          51.000
+ -12700228.38943  -9828425.53942  22928581.172    22928583.045    22928580.230
+     -1315.935       -1025.404          51.000          44.000
+ -18745152.60943 -14560167.25342  21716728.623    21716731.601    21716727.739
+      2418.914        1884.868          54.000          48.000
+ -17463090.16743 -13597504.25242  21500269.502    21500272.477    21500268.061
+       282.135         219.845          56.000          49.000
+ -14683191.89243 -11426130.25242  21915433.797    21915435.649    21915432.536
+      2932.479        2285.049          53.000          46.000
+  -5326370.47143  -4103299.75842  23603551.347    23603555.284    23603550.634
+     -1631.330       -1271.166          48.000          42.000
+ -10349857.40843  -8018268.69442  22976778.347    22976781.760    22976777.981
+     -2064.013       -1608.322          49.000          42.000
+  -1910965.51143  -1477730.30442  24773672.144    24773677.652    24773670.751
+     -3466.359       -2701.059          44.000          39.000
+ -25524527.86343 -19831304.48142  20414127.942    20414131.342    20414126.881
+       625.562         487.451          56.000          50.000
+ 04  2  1 21  7  0.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14360412.49343 -11131090.56442  22073010.700    22073012.625    22073009.569
+     -2640.631       -2057.634          54.000          46.000
+ -14027956.98844 -10925866.35342  20452457.452    20452458.203    20452456.560
+      -695.849        -542.220          57.000          51.000
+ -12660727.32643  -9797645.51242  22936097.797    22936100.129    22936097.014
+     -1317.723       -1026.797          50.000          44.000
+ -18817552.59943 -14616582.83942  21702951.138    21702955.398    21702950.342
+      2407.526        1875.994          54.000          48.000
+ -17471547.84543 -13604094.66842  21498660.131    21498663.113    21498658.778
+       281.586         219.418          55.000          49.000
+ -14771034.46443 -11494579.02042  21898717.591    21898719.409    21898716.614
+      2923.500        2278.052          53.000          46.000
+  -5277302.18243  -4065064.80142  23612888.805    23612892.551    23612887.446
+     -1640.472       -1278.290          48.000          42.000
+ -10287838.98743  -7969942.67942  22988581.541    22988583.547    22988580.519
+     -2071.125       -1613.864          49.000          42.000
+  -1806941.08543  -1396672.42642  24793468.016    24793472.357    24793466.697
+     -3469.014       -2703.128          45.000          39.000
+ -25543092.62443 -19845770.54042  20410595.248    20410598.693    20410594.006
+       611.659         476.617          56.000          50.000
+ 04  2  1 21  7 30.0000000  0 10G18G22G21G 3G15G14G 2G16G 6G23
+ -14281134.60243 -11069315.60542  22088096.449    22088098.485    22088095.315
+     -2643.957       -2060.226          53.000          47.000
+ -14006894.06044 -10909453.69442  20456465.697    20456466.188    20456464.509
+      -707.639        -551.407          57.000          51.000
+ -12621152.75343  -9766808.22642  22943628.078    22943630.923    22943627.508
+     -1319.951       -1028.533          50.000          44.000
+ -18889584.55243 -14672711.64642  21689244.588    21689247.741    21689243.602
+      2395.315        1866.479          55.000          48.000
+ -17479967.54243 -13610655.48442  21497057.837    21497060.880    21497056.560
+       280.494         218.567          55.000          49.000
+ -14858580.34543 -11562796.59842  21882057.875    21882060.413    21882056.804
+      2913.722        2270.433          53.000          46.000
+  -5227932.83043  -4026595.21942  23622282.181    23622287.694    23622279.947
+     -1650.226       -1285.890          47.000          42.000
+ -10225601.81043  -7921446.21442  23000424.516    23000426.885    23000423.094
+     -2077.637       -1618.938          49.000          42.000
+  -1702818.14843  -1315537.79642  24813281.589    24813286.908    24813280.618
+     -3471.807       -2705.304          44.000          39.000
+ -25561218.41143 -19859894.53742  20407146.249    20407148.861    20407144.888
+       597.414         465.517          56.000          49.000
+ 04  2  1 21  8  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -14201749.64943 -11007457.24342  22103203.049    22103205.467    22103202.265
+     -2648.401       -2063.689          54.000          47.000
+ -13985473.25344 -10892762.16942  20460541.778    20460542.588    20460540.871
+      -720.522        -561.446          57.000          51.000
+ -12581506.27543  -9735914.90342  22951173.061    22951175.758    22951171.721
+     -1323.278       -1031.126          50.000          44.000
+ -18961247.96943 -14728553.28142  21675607.136    21675610.614    21675606.163
+      2382.149        1856.220          54.000          48.000
+ -17488350.79943 -13617187.91142  21495462.672    21495465.941    21495461.063
+       278.258         216.824          55.000          49.000
+   -271116.12753   -200968.25752  25180198.326    25180201.517    25180198.114
+      3428.338        2671.432          44.000          37.000
+ -14945828.44943 -11630782.12842  21865455.232    21865457.927    21865454.458
+      2902.857        2261.966          52.000          46.000
+  -5178267.50443  -3987894.99642  23631733.485    23631738.106    23631732.345
+     -1661.219       -1294.456          48.000          42.000
+ -10163150.84843  -7872783.16242  23012307.352    23012311.261    23012306.673
+     -2085.958       -1625.422          48.000          42.000
+  -1598600.60243  -1234329.42242  24833114.179    24833119.126    24833112.586
+     -3476.298       -2708.804          44.000          39.000
+ -25578908.07043 -19873678.69742  20403779.922    20403782.748    20403778.720
+       581.810         453.358          56.000          49.000
+ 04  2  1 21  8 30.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -14122262.47643 -10945519.21542  22118329.019    22118330.462    22118327.916
+     -2650.741       -2065.512          53.000          46.000
+ -13963698.78144 -10875795.06042  20464684.832    20464686.064    20464684.256
+      -731.269        -569.820          57.000          51.000
+ -12541789.71343  -9704966.97742  22958732.074    22958734.285    22958730.034
+     -1324.424       -1032.019          51.000          44.000
+ -19032543.15043 -14784107.98542  21662040.160    21662043.391    21662039.232
+      2370.901        1847.455          54.000          48.000
+ -17496699.75643 -13623693.60842  21493873.266    21493877.038    21493872.227
+       278.388         216.926          55.000          49.000
+   -373981.54043   -281123.19342  25160623.559    25160626.993    25160624.827
+      3428.550        2671.597          44.000          37.000
+ -15032778.77543 -11698535.63242  21848908.991    21848911.550    21848907.492
+      2893.785        2254.897          52.000          46.000
+  -5128311.76843  -3948968.49042  23641239.670    23641244.317    23641239.235
+     -1669.378       -1300.814          48.000          41.000
+ -10100492.05643  -7823958.17542  23024231.399    23024234.442    23024229.002
+     -2091.675       -1629.877          48.000          42.000
+  -1494293.37343  -1153051.19542  24852963.682    24852968.382    24852961.776
+     -3477.802       -2709.975          43.000          39.000
+ -25596165.31643 -19887125.91342  20400496.167    20400498.908    20400494.590
+       568.538         443.017          56.000          49.000
+ 04  2  1 21  9  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -14042666.82943 -10883496.67342  22133475.379    22133477.723    22133473.426
+     -2654.885       -2068.741          53.000          46.000
+ -13941564.73844 -10858547.76642  20468897.133    20468898.002    20468896.378
+      -743.696        -579.503          57.000          51.000
+ -12501994.47143  -9673957.73742  22966304.660    22966305.511    22966303.152
+     -1327.671       -1034.549          51.000          44.000
+ -19103459.75543 -14839367.69942  21648544.854    21648548.352    21648544.021
+      2357.601        1837.092          54.000          48.000
+ -17505005.95643 -13630165.98342  21492293.088    21492296.212    21492291.568
+       276.256         215.264          55.000          49.000
+   -476801.09643   -361242.42342  25141058.715    25141059.775    25141057.225
+      3426.358        2669.889          45.000          37.000
+ -15119420.18743 -11766048.42542  21832422.354    21832424.171    21832421.093
+      2882.959        2246.462          53.000          46.000
+  -5078060.60543  -3909811.76242  23650801.312    23650806.618    23650799.840
+     -1680.055       -1309.134          47.000          42.000
+ -10037620.32043  -7774967.24542  23036195.238    23036198.675    23036193.456
+     -2099.079       -1635.646          48.000          42.000
+  -1389890.50843  -1071698.44342  24872830.189    24872835.759    24872828.928
+     -3481.440       -2712.810          45.000          39.000
+ -25612983.05743 -19900230.66042  20397295.258    20397298.438    20397294.241
+       553.474         431.278          56.000          49.000
+ 04  2  1 21  9 30.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13962971.93943 -10821396.78642  22148641.086    22148643.198    22148639.473
+     -2657.966       -2071.142          53.000          46.000
+ -13919079.42344 -10841026.75842  20473175.942    20473176.836    20473175.246
+      -755.250        -588.506          57.000          51.000
+ -12462126.46243  -9642891.80842  22973890.069    22973892.249    22973887.506
+     -1330.043       -1036.397          49.000          43.000
+ -19174001.63543 -14894335.41142  21635121.256    21635125.214    21635120.328
+      2345.202        1827.430          54.000          48.000
+ -17513275.15543 -13636609.53342  21490719.379    21490722.933    21490717.915
+       275.151         214.403          55.000          49.000
+   -579579.17943   -441329.26142  25121499.888    25121503.002    25121499.183
+      3425.233        2669.013          45.000          37.000
+ -15205756.42743 -11833323.42242  21815992.878    21815995.633    21815991.783
+      2872.908        2238.630          53.000          46.000
+  -5027523.52843  -3870432.23442  23660419.009    23660424.495    23660417.550
+     -1689.282       -1316.324          48.000          42.000
+  -9974545.32043  -7725817.93242  23048199.074    23048200.446    23048197.354
+     -2105.791       -1640.876          49.000          42.000
+  -1285400.38343   -990277.71842  24892715.192    24892720.136    24892714.484
+     -3484.203       -2714.963          46.000          38.000
+ -25629368.57843 -19912998.61042  20394177.351    20394180.568    20394175.999
+       539.023         420.018          56.000          49.000
+ 04  2  1 21 10  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13883178.90643 -10759220.43842  22163825.282    22163827.620    22163823.872
+     -2660.916       -2073.441          53.000          46.000
+ -13896244.03444 -10823232.96342  20477522.025    20477522.370    20477520.544
+      -766.618        -597.365          57.000          51.000
+ -12422184.23543  -9611768.02042  22981491.862    22981492.739    22981490.736
+     -1332.156       -1038.044          50.000          43.000
+ -19244165.71843 -14949008.73542  21621769.585    21621773.119    21621769.218
+      2332.862        1817.815          54.000          48.000
+ -17521506.07843 -13643023.26042  21489153.533    21489156.433    21489152.205
+       274.079         213.568          56.000          49.000
+   -682312.82143   -521381.51842  25101951.239    25101953.194    25101949.537
+      3424.080        2668.114          45.000          37.000
+ -15291783.95943 -11900357.86742  21799622.305    21799625.019    21799621.509
+      2862.779        2230.737          53.000          47.000
+  -4976702.81443  -3830831.72442  23670090.095    23670093.346    23670088.526
+     -1697.986       -1323.106          48.000          41.000
+  -9911269.26643  -7676511.93942  23060240.045    23060241.718    23060240.612
+     -2112.117       -1645.805          49.000          42.000
+  -1180824.34343   -908790.01342  24912613.673    24912619.721    24912613.625
+     -3486.988       -2717.133          44.000          38.000
+ -25645322.21843 -19925430.02642  20391141.594    20391144.797    20391140.247
+       525.002         409.092          56.000          49.000
+ 04  2  1 21 10 30.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13803291.60043 -10696970.63142  22179026.869    22179029.469    22179026.200
+     -2664.838       -2076.497          53.000          46.000
+ -13873061.82144 -10805168.91942  20481933.050    20481933.600    20481932.282
+      -778.892        -606.929          57.000          51.000
+ -12382168.16543  -9580586.70342  22989106.010    22989108.939    22989104.609
+     -1335.539       -1040.680          50.000          43.000
+ -19313950.87943 -15003386.79842  21608490.596    21608493.497    21608489.359
+      2319.404        1807.328          55.000          48.000
+ -17529699.76743 -13649407.97042  21487594.192    21487597.294    21487592.661
+       272.148         212.063          55.000          49.000
+   -785001.30143   -601398.57142  25082408.793    25082413.280    25082409.319
+      3421.790        2666.330          44.000          37.000
+ -15377500.80243 -11967150.20842  21783311.121    21783313.340    21783309.807
+      2851.595        2222.022          53.000          47.000
+  -4925602.81943  -3791013.57942  23679814.515    23679818.501    23679813.839
+     -1708.460       -1331.267          48.000          42.000
+  -9847796.88543  -7627052.97242  23072318.121    23072320.364    23072316.730
+     -2119.240       -1651.356          49.000          43.000
+  -1076166.05443   -827238.23642  24932530.030    24932535.373    24932529.975
+     -3490.434       -2719.819          43.000          38.000
+ -25660846.31543 -19937526.73342  20388187.706    20388190.350    20388186.265
+       509.878         397.308          55.000          49.000
+ 04  2  1 21 11  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13723307.84243 -10634645.65842  22194247.480    22194249.642    22194246.245
+     -2667.005       -2078.186          53.000          46.000
+ -13849530.39644 -10786832.76242  20486410.934    20486411.490    20486409.906
+      -789.516        -615.207          57.000          51.000
+ -12342073.28443  -9549343.98342  22996736.287    22996737.818    22996735.511
+     -1337.108       -1041.902          50.000          44.000
+ -19383350.49743 -15057464.43742  21595284.599    21595286.868    21595283.314
+      2307.552        1798.092          55.000          48.000
+ -17537851.42043 -13655759.92642  21486042.305    21486046.232    21486041.356
+       271.602         211.638          55.000          49.000
+   -887638.03043   -681375.31842  25062878.133    25062881.412    25062877.207
+      3420.640        2665.434          44.000          37.000
+ -15462900.04943 -12033695.08742  21767060.371    21767062.706    21767058.958
+      2842.026        2214.566          54.000          47.000
+  -4874222.20043  -3750976.77042  23689592.039    23689596.367    23689590.721
+     -1716.623       -1337.628          47.000          41.000
+  -9784126.74943  -7577439.92342  23084434.349    23084437.667    23084433.792
+     -2124.954       -1655.808          49.000          43.000
+   -971423.24343   -745620.57042  24952462.338    24952467.624    24952460.425
+     -3492.180       -2721.179          44.000          38.000
+ -25675937.57243 -19949286.16042  20385315.540    20385318.550    20385314.345
+       496.409         386.812          55.000          49.000
+ 04  2  1 21 11 30.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13643231.75943 -10572248.73542  22209486.300    22209487.940    22209484.631
+     -2670.568       -2080.962          53.000          46.000
+ -13825653.88644 -10768227.70142  20490954.444    20490954.943    20490953.554
+      -801.553        -624.587          57.000          51.000
+ -12301901.50743  -9518041.33642  23004380.775    23004383.254    23004378.749
+     -1340.189       -1044.303          51.000          44.000
+ -19452364.48343 -15111241.58142  21582150.714    21582154.292    21582149.950
+      2294.115        1787.622          55.000          48.000
+ -17545962.50943 -13662080.26842  21484499.470    21484503.219    21484497.992
+       269.767         210.208          55.000          49.000
+   -990223.04243   -761311.72642  25043357.220    25043358.669    25043356.560
+      3418.822        2664.017          45.000          38.000
+ -15547981.03143 -12099991.97042  21750869.873    21750871.866    21750868.849
+      2830.739        2205.771          54.000          47.000
+  -4822566.13143  -3710725.34042  23699422.015    23699426.830    23699420.615
+     -1726.374       -1345.226          47.000          42.000
+  -9720264.31143  -7527677.01742  23096587.004    23096589.768    23096585.988
+     -2131.794       -1661.138          49.000          43.000
+   -866600.09643   -663940.32042  24972409.423    24972414.959    24972408.200
+     -3495.828       -2724.022          45.000          38.000
+ -25690599.10343 -19960710.73742  20382525.479    20382528.671    20382524.339
+       481.557         375.239          56.000          50.000
+ 04  2  1 21 12  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13563065.72443 -10509781.73442  22224740.879    22224742.710    22224739.816
+     -2673.445       -2083.204          53.000          46.000
+ -13801434.39644 -10749355.38442  20495563.212    20495564.057    20495562.478
+      -812.802        -633.352          57.000          51.000
+ -12261651.60543  -9486677.81742  23012039.674    23012042.961    23012038.469
+     -1342.774       -1046.317          50.000          44.000
+ -19520990.34543 -15164716.29342  21569091.571    21569095.431    21569090.892
+      2281.102        1777.482          54.000          48.000
+ -17554032.51143 -13668368.60342  21482963.773    21482967.576    21482962.338
+       268.393         209.137          55.000          49.000
+  -1092754.14643   -841206.14842  25023846.548    25023849.446    25023844.396
+      3416.846        2662.477          45.000          38.000
+ -15632740.87443 -12166038.60042  21734740.863    21734742.795    21734739.262
+      2820.108        2197.487          54.000          47.000
+  -4770637.67743  -3670261.65342  23709303.820    23709308.093    23709302.315
+     -1734.895       -1351.866          48.000          41.000
+  -9656212.79843  -7477766.77842  23108776.168    23108778.256    23108775.003
+     -2137.921       -1665.912          48.000          43.000
+   -761698.84243   -582199.21442  24992371.414    24992377.355    24992370.243
+     -3497.804       -2725.561          44.000          39.000
+ -25704832.01843 -19971801.33042  20379817.544    20379820.385    20379816.147
+       467.534         364.312          56.000          50.000
+ 04  2  1 21 12 30.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13482812.22243 -10447246.57042  22240012.502    22240014.664    22240011.588
+     -2676.555       -2085.627          52.000          46.000
+ -13776873.65444 -10730217.16142  20500237.687    20500237.749    20500236.567
+      -824.419        -642.404          57.000          51.000
+ -12221323.01243  -9455252.98342  23019714.899    23019716.524    23019712.943
+     -1345.609       -1048.526          50.000          43.000
+ -19589225.91943 -15217886.88142  21556107.252    21556110.092    21556105.741
+      2268.110        1767.358          54.000          48.000
+ -17562060.92343 -13674624.52642  21481436.260    21481439.104    21481434.778
+       266.893         207.969          55.000          49.000
+  -1195229.16343   -921056.84342  25004347.340    25004350.033    25004346.634
+      3414.911        2660.970          46.000          38.000
+ -15717176.50543 -12231832.60242  21718673.046    21718675.300    21718671.781
+      2809.014        2188.842          54.000          47.000
+  -4718439.91843  -3629588.12942  23719236.097    23719240.354    23719235.259
+     -1744.652       -1359.469          47.000          42.000
+  -9591974.93343  -7427711.33542  23120999.024    23121001.985    23120998.688
+     -2144.302       -1670.885          48.000          42.000
+   -656721.36043   -500398.71142  25012348.542    25012355.035    25012348.062
+     -3500.493       -2727.657          45.000          38.000
+ -25718637.37643 -19982558.76342  20377190.240    20377193.648    20377189.238
+       453.012         352.996          56.000          50.000
+ 04  2  1 21 13  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13402469.75343 -10384642.08442  22255300.975    22255303.636    22255300.253
+     -2680.490       -2088.693          52.000          46.000
+ -13751970.51744 -10710812.13042  20504976.088    20504976.633    20504974.958
+      -836.626        -651.916          57.000          51.000
+ -12180911.91943  -9423763.85842  23027404.110    23027406.037    23027402.571
+     -1349.240       -1051.356          51.000          43.000
+ -19657065.38243 -15270748.81342  21543196.947    21543201.483    21543196.433
+      2253.871        1756.263          54.000          48.000
+ -17570043.97843 -13680845.10542  21479916.808    21479920.396    21479915.687
+       264.538         206.134          55.000          49.000
+  -1297642.61443  -1000859.60642  24984857.794    24984860.428    24984856.186
+      3411.997        2658.699          45.000          39.000
+ -15801281.87843 -12297369.26442  21702668.637    21702670.436    21702666.952
+      2797.202        2179.638          54.000          47.000
+  -4665972.68843  -3588704.60742  23729221.301    23729223.996    23729220.332
+     -1754.027       -1366.774          48.000          41.000
+  -9527550.80743  -7377510.76042  23133258.673    23133262.388    23133257.095
+     -2151.203       -1676.262          48.000          42.000
+   -551666.54243   -418537.93442  25032340.316    25032345.247    25032339.569
+     -3503.827       -2730.255          45.000          38.000
+ -25732012.95843 -19992981.30642  20374645.017    20374647.933    20374643.671
+       437.933         341.246          56.000          50.000
+ 04  2  1 21 13 30.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13322044.10643 -10321972.79342  22270605.569    22270607.875    22270604.484
+     -2682.333       -2090.130          52.000          46.000
+ -13726729.94244 -10691144.16342  20509779.370    20509779.778    20509778.333
+      -847.122        -660.095          57.000          51.000
+ -12140420.64243  -9392212.23742  23035109.810    23035111.898    23035108.434
+     -1351.267       -1052.935          51.000          44.000
+ -19724509.70343 -15323302.83942  21530363.403    21530367.136    21530362.524
+      2241.360        1746.514          54.000          48.000
+ -17577984.24143 -13687032.35342  21478405.648    21478409.449    21478404.248
+       263.855         205.601          55.000          49.000
+  -1399995.49043  -1080615.11942  24965380.784    24965384.346    24965380.320
+      3410.421        2657.471          45.000          39.000
+ -15885057.46143 -12362648.94442  21686726.006    21686728.151    21686724.962
+      2786.917        2171.624          54.000          47.000
+  -4613242.03343  -3547615.81042  23739255.838    23739259.624    23739254.597
+     -1762.141       -1373.097          48.000          42.000
+  -9462946.66743  -7327169.89542  23145552.622    23145556.593    23145551.178
+     -2156.602       -1680.469          49.000          42.000
+   -446539.60643   -336621.00342  25052344.264    25052351.211    25052344.590
+     -3505.626       -2731.657          43.000          37.000
+ -25744962.97643 -20003072.23542  20372180.381    20372183.987    20372179.405
+       424.434         330.728          56.000          50.000
+ 04  2  1 21 14  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13241537.35043 -10259240.29642  22285925.060    22285927.593    22285923.576
+     -2684.433       -2091.766          52.000          45.000
+ -13701153.93344 -10671214.81942  20514646.713    20514646.638    20514645.341
+      -857.786        -668.405          57.000          51.000
+ -12099848.46943  -9360597.60842  23042829.871    23042832.868    23042828.516
+     -1353.485       -1054.664          50.000          44.000
+ -19791556.33143 -15375546.98242  21517605.425    21517608.388    21517604.067
+      2228.607        1736.577          54.000          48.000
+ -17585881.21643 -13693185.86142  21476903.323    21476906.423    21476901.795
+       262.834         204.806          55.000          49.000
+  -1502285.60543  -1160321.75242  24945914.586    24945918.494    24945913.893
+      3408.765        2656.181          44.000          39.000
+ -15968500.37743 -12427669.39942  21670847.056    21670849.745    21670845.872
+      2776.138        2163.224          53.000          47.000
+  -4560251.12943  -3506324.23842  23749337.430    23749343.186    23749338.099
+     -1770.365       -1379.505          47.000          41.000
+  -9398165.65543  -7276691.22542  23157879.256    23157882.007    23157877.625
+     -2162.007       -1684.681          47.000          42.000
+   -341342.65843   -254649.50842  25072363.222    25072367.572    25072361.849
+     -3507.357       -2733.005          43.000          37.000
+ -25757488.64543 -20012832.50742  20369796.956    20369800.287    20369795.817
+       410.838         320.134          56.000          50.000
+ 04  2  1 21 14 30.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13160961.06243 -10196453.61742  22301258.017    22301260.781    22301257.681
+     -2687.221       -2093.938          52.000          45.000
+ -13675254.12144 -10651033.16442  20519574.489    20519575.360    20519573.577
+      -868.850        -677.026          57.000          51.000
+ -12059204.75943  -9328927.22942  23050564.319    23050567.256    23050562.587
+     -1356.168       -1056.754          50.000          43.000
+ -19858212.76843 -15427487.07342  21504920.885    21504924.167    21504919.923
+      2215.224        1726.149          55.000          48.000
+ -17593743.95043 -13699312.68342  21475407.317    21475410.480    21475405.734
+       261.330         203.634          55.000          49.000
+  -1604520.46143  -1239985.30442  24926459.992    24926465.698    24926459.775
+      3406.379        2654.321          45.000          38.000
+ -16051617.46743 -12492435.96842  21655030.688    21655033.568    21655029.354
+      2764.871        2154.445          54.000          47.000
+  -4507012.69943  -3464839.79042  23759470.518    23759473.773    23759468.470
+     -1779.181       -1386.375          48.000          41.000
+  -9333220.45643  -7226084.60642  23170238.274    23170241.988    23170238.014
+     -2167.628       -1689.061          48.000          42.000
+   -236087.57543   -172632.70042  25092393.556    25092399.608    25092391.748
+     -3509.607       -2734.759          43.000          37.000
+ -25769600.69843 -20022270.47942  20367492.370    20367495.629    20367491.097
+       396.734         309.143          56.000          50.000
+ 04  2  1 21 15  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -13080296.91843 -10133598.47242  22316608.862    22316611.437    22316607.277
+     -2690.119       -2096.197          53.000          46.000
+ -13649011.96644 -10630584.74442  20524568.435    20524569.154    20524567.328
+      -880.349        -685.986          57.000          51.000
+ -12018467.75643  -9297184.17042  23058316.283    23058319.362    23058314.719
+     -1359.299       -1059.194          50.000          44.000
+ -19924456.05543 -15479105.23142  21492315.268    21492317.816    21492313.862
+      2201.279        1715.282          55.000          48.000
+ -17601551.22643 -13705396.29542  21473921.577    21473924.487    21473920.350
+       259.364         202.102          55.000          49.000
+  -1706677.24543  -1319588.02642  24907020.541    24907024.471    24907019.274
+      3403.764        2652.284          44.000          39.000
+ -16134385.22143 -12556930.32542  21639280.318    21639283.522    21639279.790
+      2753.305        2145.432          54.000          47.000
+  -4453509.30743  -3423148.87742  23769651.629    23769655.246    23769650.805
+     -1787.993       -1393.241          47.000          41.000
+  -9268093.75743  -7175336.58142  23182632.828    23182635.168    23182631.288
+     -2173.909       -1693.955          48.000          42.000
+   -130755.96643    -90556.23742  25112435.210    25112443.381    25112436.547
+     -3512.411       -2736.944          42.000          36.000
+ -25781279.64643 -20031370.96642  20365269.642    20365273.174    20365268.404
+       382.230         297.842          56.000          50.000
+ 04  2  1 21 15 30.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12999556.81843 -10070684.15042  22331973.904    22331975.675    22331972.702
+     -2692.810       -2098.293          53.000          46.000
+ -13622439.28544 -10609878.77742  20529624.731    20529625.719    20529624.146
+      -891.438        -694.627          57.000          51.000
+ -11977646.66243  -9265375.57442  23066085.055    23066086.932    23066083.502
+     -1362.426       -1061.631          51.000          44.000
+ -19990293.60143 -15530407.23042  21479786.583    21479789.567    21479785.472
+      2187.535        1704.573          55.000          48.000
+ -17609312.10843 -13711443.74542  21472444.549    21472447.511    21472443.213
+       257.696         200.802          56.000          49.000
+  -1808763.51343  -1399135.80042  24887593.100    24887597.953    24887592.397
+      3401.434        2650.468          42.000          38.000
+ -16216810.75643 -12621158.01942  21623595.629    21623597.799    21623594.670
+      2741.580        2136.296          54.000          47.000
+  -4399753.56243  -3381261.32742  23779879.754    23779884.969    23779878.910
+     -1796.044       -1399.515          47.000          41.000
+  -9202798.27043  -7124457.01542  23195056.232    23195060.073    23195055.423
+     -2179.571       -1698.367          47.000          42.000
+    -25359.46543     -8429.22042  25132493.595    25132498.070    25132492.951
+     -3514.471       -2738.549          42.000          36.000
+ -25792536.27843 -20040142.37442  20363127.801    20363130.928    20363126.737
+       368.041         286.785          55.000          50.000
+ 04  2  1 21 16  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12918740.47543 -10007710.41542  22347351.865    22347354.752    22347351.121
+     -2694.623       -2099.706          52.000          45.000
+ -13595535.56644 -10588914.85842  20534744.422    20534745.268    20534743.779
+      -901.866        -702.753          57.000          51.000
+ -11936738.24443  -9233498.92942  23073868.393    23073869.722    23073867.408
+     -1364.609       -1063.332          49.000          43.000
+ -20055720.75743 -15581389.44742  21467336.398    21467339.690    21467335.143
+      2174.466        1694.389          55.000          48.000
+ -17617023.58443 -13717452.70342  21470977.497    21470980.196    21470975.790
+       256.713         200.036          55.000          49.000
+  -1910774.42443  -1478624.81442  24868179.355    24868186.807    24868179.601
+      3399.834        2649.221          42.000          38.000
+ -16298888.78543 -12685114.92742  21607976.389    21607978.539    21607975.396
+      2730.551        2127.702          54.000          47.000
+  -4345746.15143  -3339177.68942  23790157.591    23790161.289    23790156.425
+     -1803.710       -1405.488          47.000          41.000
+  -9137334.95143  -7073446.67442  23207514.547    23207517.735    23207513.669
+     -2184.434       -1702.156          48.000          42.000
+     80102.25243     73748.56642  25152561.696    25152568.513    25152560.226
+     -3516.170       -2739.873          41.000          35.000
+ -25803369.51043 -20048583.86342  20361065.986    20361069.468    20361064.880
+       354.380         276.140          56.000          50.000
+ 04  2  1 21 16 30.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12837854.45543  -9944682.38242  22362743.936    22362745.754    22362742.454
+     -2696.986       -2101.547          52.000          45.000
+ -13568307.16244 -10567697.93642  20539925.842    20539926.909    20539925.006
+      -912.702        -711.196          57.000          51.000
+ -11895746.27543  -9201557.18142  23081669.678    23081672.375    23081667.957
+     -1367.472       -1065.562          50.000          43.000
+ -20120739.89343 -15632053.72542  21454963.106    21454966.988    21454962.457
+      2160.805        1683.744          55.000          49.000
+ -17624689.55643 -13723426.20442  21469518.429    21469521.064    21469517.046
+       255.060         198.748          55.000          49.000
+  -2012712.31743  -1558056.98542  24848781.884    24848787.198    24848781.985
+      3396.865        2646.908          41.000          37.000
+ -16380620.72843 -12748802.15942  21592423.994    21592426.118    21592422.565
+      2718.902        2118.625          54.000          47.000
+  -4291494.53343  -3296903.72042  23800481.897    23800486.649    23800481.808
+     -1812.201       -1412.105          48.000          41.000
+  -9071711.20843  -7022311.32042  23220002.503    23220003.819    23220001.335
+     -2189.652       -1706.222          48.000          42.000
+    185622.55243    155972.02242  25172640.455    25172649.044    25172638.753
+     -3518.226       -2741.475          41.000          35.000
+ -25813784.79143 -20056699.67542  20359084.388    20359087.442    20359082.858
+       340.557         265.369          56.000          50.000
+ 04  2  1 21 17  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12756900.69743  -9881601.57642  22378149.221    22378150.824    22378147.868
+     -2700.048       -2103.933          52.000          45.000
+ -13540755.48044 -10546229.10942  20545168.962    20545169.616    20545168.081
+      -923.864        -719.894          57.000          51.000
+ -11854669.30343  -9169549.21742  23089486.751    23089488.870    23089484.993
+     -1370.884       -1068.221          51.000          44.000
+ -20185347.67243 -15682397.46242  21442669.417    21442672.384    21442668.247
+      2146.577        1672.657          55.000          49.000
+ -17632308.51043 -13729363.07242  21468068.688    21468071.554    21468067.242
+       253.013         197.153          56.000          49.000
+  -2114574.23643  -1637429.92642  24829401.468    24829404.634    24829398.649
+      3394.109        2644.760          43.000          38.000
+ -16462003.22443 -12812217.10142  21576937.126    21576939.453    21576935.774
+      2706.761        2109.164          54.000          47.000
+  -4237001.21643  -3254441.44742  23810851.516    23810855.487    23810850.215
+     -1820.576       -1418.631          47.000          41.000
+  -9005929.50443  -6971052.89542  23232520.128    23232522.468    23232519.513
+     -2195.522       -1710.796          48.000          42.000
+    291200.04843    238240.06042  25192731.602    25192740.820    25192731.489
+     -3520.635       -2743.352          40.000          34.000
+ -25823782.69443 -20064490.25742  20357181.598    20357185.139    20357180.405
+       326.241         254.214          56.000          50.000
+ 04  2  1 21 17 30.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12675873.65543  -9818463.66442  22393568.287    22393570.393    22393566.516
+     -2701.691       -2105.214          52.000          45.000
+ -13512875.51044 -10524504.47442  20550474.426    20550475.036    20550473.453
+      -934.332        -728.051          57.000          51.000
+ -11813499.64343  -9137469.00742  23097320.199    23097323.633    23097318.599
+     -1373.499       -1070.259          50.000          43.000
+ -20249534.58943 -15732413.25642  21430454.966    21430457.980    21430453.635
+      2132.892        1661.994          55.000          49.000
+ -17639873.00443 -13735257.49842  21466629.644    21466632.275    21466627.920
+       251.582         196.038          56.000          49.000
+  -2216350.79143  -1716736.33642  24810033.612    24810036.762    24810031.256
+      3391.401        2642.650          42.000          38.000
+ -16543026.55743 -12875352.17342  21561518.817    21561521.484    21561518.218
+      2695.140        2100.109          54.000          48.000
+  -4182262.11143  -3211787.62142  23821266.790    23821271.247    23821266.058
+     -1828.266       -1424.623          47.000          41.000
+  -8939985.86643  -6919668.29142  23245068.921    23245071.595    23245068.600
+     -2200.435       -1714.625          48.000          42.000
+    396839.73843    320556.57342  25212837.571    25212840.354    25212834.699
+     -3522.119       -2744.508          40.000          33.000
+ -25833357.32043 -20071951.01142  20355359.791    20355362.991    20355358.662
+       312.564         243.556          56.000          50.000
+ 04  2  1 21 18  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12594788.04843  -9755280.12242  22408997.964    22409001.056    22408996.746
+     -2703.408       -2106.552          52.000          45.000
+ -13484681.72744 -10502535.30842  20555839.452    20555840.338    20555838.572
+      -944.926        -736.306          57.000          51.000
+ -11772248.90543  -9105325.61342  23105170.813    23105172.067    23105169.717
+     -1376.361       -1072.489          50.000          43.000
+ -20313311.21743 -15782109.33642  21418318.621    21418321.512    21418317.396
+      2119.195        1651.321          55.000          48.000
+ -17647395.08343 -13741118.87542  21465198.157    21465200.785    21465196.518
+       250.180         194.945          56.000          49.000
+  -2318052.46543  -1795984.42342  24790679.365    24790684.290    24790678.603
+      3388.723        2640.563          40.000          38.000
+ -16623700.41543 -12938214.92642  21546167.540    21546169.432    21546166.268
+      2683.417        2090.974          55.000          48.000
+  -4127292.97743  -3168954.57542  23831728.416    23831733.535    23831726.218
+     -1835.926       -1430.592          48.000          42.000
+  -8873896.01143  -6868169.75142  23257646.234    23257648.959    23257644.917
+     -2205.372       -1718.472          48.000          42.000
+                    402909.93642  25232949.827    25232952.817
+     -3523.037       -2745.224          40.000          33.000
+ -25842522.43943 -20079092.67642  20353615.815    20353619.116    20353614.292
+       298.725         232.773          56.000          50.000
+ 04  2  1 21 18 30.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12513635.63343  -9692044.52342  22424441.615    22424443.714    22424440.282
+     -2706.262       -2108.775          53.000          45.000
+ -13456165.81644 -10480315.13142  20561265.797    20561266.429    20561264.990
+      -955.880        -744.841          57.000          51.000
+ -11730906.20843  -9073110.58142  23113038.421    23113039.523    23113037.099
+     -1379.512       -1074.944          50.000          43.000
+ -20376664.89243 -15831475.85242  21406262.430    21406266.270    21406261.163
+      2104.788        1640.095          55.000          49.000
+ -17654863.35143 -13746938.32642  21463776.625    21463779.880    21463775.163
+       248.045         193.282          55.000          49.000
+  -2419666.55343  -1875164.23542  24771341.769    24771347.873    24771341.752
+      3385.681        2638.193          42.000          38.000
+ -16704011.72343 -13000795.17042  21530884.307    21530886.616    21530883.352
+      2671.008        2081.305          55.000          48.000
+  -4072086.47843  -3125936.53342  23842232.807    23842238.181    23842232.597
+     -1844.116       -1436.973          47.000          41.000
+  -8807652.59543  -6816551.55142  23270252.334    23270254.231    23270250.333
+     -2210.868       -1722.754          48.000          42.000
+    608269.60453    485306.82452  25253070.453    25253072.885    25253066.155
+     -3525.151       -2746.871          40.000          32.000
+ -25851268.95443 -20085908.15342  20351951.357    20351954.744    20351950.135
+       284.648         221.804          56.000          50.000
+ 04  2  1 21 19  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12432424.19343  -9628762.91042  22439895.266    22439897.862    22439894.377
+     -2708.265       -2110.336          52.000          45.000
+ -13427335.23144 -10457849.75242  20566752.241    20566752.934    20566751.343
+      -966.417        -753.052          57.000          51.000
+ -11689476.57243  -9040827.78542  23120921.461    23120923.615    23120919.177
+     -1382.629       -1077.373          50.000          43.000
+ -20439598.89443 -15880515.34542  21394286.184    21394290.069    21394285.040
+      2090.608        1629.045          55.000          48.000
+ -17662282.55943 -13752719.54242  21462365.110    21462368.401    21462363.543
+       246.294         191.917          56.000          49.000
+  -2521196.26243  -1954278.31642  24752023.394    24752027.315    24752022.801
+      3382.743        2635.904          42.000          38.000
+ -16783963.26543 -13063095.07242  21515670.406    21515671.947    21515669.290
+      2658.782        2071.778          55.000          48.000
+  -4016651.26843  -3082740.31742  23852783.684    23852785.427    23852781.630
+     -1851.847       -1442.998          48.000          41.000
+  -8741264.21743  -6764820.40242  23282884.118    23282888.278    23282883.996
+     -2215.529       -1726.386          47.000          42.000
+  -7163039.50853  -5570258.89552  25273200.111    25273210.180    25273202.504
+     -3527.006       -2748.316          38.000          32.000
+ -25859603.48243 -20092402.60242  20350365.715    20350368.352    20350364.132
+       270.723         210.953          56.000          50.000
+ 04  2  1 21 19 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -12351150.33043  -9565432.67142  22455361.698    22455363.106    22455360.084
+     -2709.625       -2111.396          53.000          45.000
+ -13398186.94444 -10435136.81742  20572299.049    20572299.582    20572297.832
+      -976.409        -760.838          57.000          51.000
+ -11647954.04543  -9008472.62142  23128823.895    23128825.693    23128822.897
+     -1385.182       -1079.362          51.000          43.000
+ -20502106.02843 -15929222.22042  21382392.076    21382395.021    21382390.752
+      2076.862        1618.334          55.000          49.000
+ -17669647.28343 -13758458.30442  21460963.232    21460966.846    21460961.742
+       244.984         190.897          55.000          49.000
+  -2622634.38843  -2033321.00342  24732719.104    24732724.084    24732717.075
+      3380.414        2634.089          40.000          37.000
+ -16863547.27743 -13125108.59342  21500526.053    21500527.838    21500524.829
+      2647.076        2062.657          54.000          48.000
+  -3960985.56243  -3039364.46042  23863375.639    23863379.705    23863375.355
+     -1858.886       -1448.482          48.000          41.000
+  -8674729.20143  -6712974.95642  23295545.815    23295547.638    23295545.689
+     -2219.851       -1729.754          47.000          42.000
+ -25867522.49543 -20098573.27242  20348858.597    20348861.581    20348857.021
+       257.432         200.596          56.000          50.000
+ 04  2  1 21 20  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12269821.89143  -9502059.89842  22470837.345    22470839.390    22470836.491
+     -2712.368       -2113.533          52.000          45.000
+ -13368728.70044 -10412182.35642  20577904.532    20577905.239    20577903.784
+      -987.573        -769.537          57.000          51.000
+ -11606343.78043  -8976049.08542  23136741.126    23136742.832    23136740.194
+     -1388.981       -1082.323          49.000          43.000
+ -20564189.74543 -15977599.15642  21370577.874    21370580.705    21370576.441
+      2061.858        1606.643          55.000          49.000
+ -17676962.21643 -13764158.26942  21459571.219    21459574.239    21459569.867
+       242.447         188.920          55.000          49.000
+  -2723984.22043  -2112294.94542  24713433.820    24713437.342    24713432.586
+      3376.083        2630.714          43.000          37.000
+ -16942766.55743 -13186837.90342  21485450.845    21485453.410    21485450.105
+      2633.948        2052.427          54.000          48.000
+  -3905097.99743  -2995815.73942  23874010.305    23874015.990    23874009.379
+     -1867.164       -1454.933          47.000          41.000
+  -8608056.08643  -6661021.91642  23308234.192    23308236.404    23308233.228
+     -2225.297       -1733.998          49.000          42.000
+  -6951312.29653  -5405276.93752  25313491.840    25313498.137    25313488.463
+     -3530.325       -2750.902          37.000          33.000
+ -25875032.66843 -20104425.36642  20347429.438    20347432.461    20347427.894
+       243.088         189.419          56.000          50.000
+ 04  2  1 21 20 30.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12188434.95343  -9438641.53542  22486324.788    22486326.216    22486324.031
+     -2713.982       -2114.791          52.000          45.000
+ -13338956.46344 -10388983.22742  20583570.309    20583570.954    20583569.276
+      -997.833        -777.532          57.000          51.000
+ -11564638.67643  -8943551.65742  23144677.002    23144679.863    23144676.263
+     -1391.903       -1084.600          49.000          43.000
+ -20625841.90543 -16025639.81142  21358845.774    21358849.270    21358844.962
+      2047.619        1595.547          55.000          49.000
+ -17684221.07643 -13769814.54342  21458190.688    21458193.173    21458189.139
+       240.773         187.615          56.000          49.000
+  -2825237.46243  -2191193.58942  24694165.445    24694171.523    24694163.801
+      3373.203        2628.470          41.000          37.000
+ -17021612.28543 -13248276.13242  21470447.322    21470449.629    21470446.041
+      2621.783        2042.948          54.000          48.000
+  -3848985.55043  -2952091.79542  23884688.551    23884692.589    23884688.263
+     -1874.382       -1460.557          48.000          41.000
+  -8541242.06143  -6608959.09142  23320948.159    23320950.766    23320946.695
+     -2229.609       -1737.358          48.000          42.000
+  -6845379.93753  -5322732.37652  25333650.007    25333659.123    25333650.721
+     -3531.569       -2751.872          37.000          33.000
+ -25882129.28143 -20109955.20142  20346079.097    20346082.159    20346077.544
+       229.527         178.852          56.000          50.000
+ 04  2  1 21 21  0.0000000  0 11G18G22G21G 3G15G31G14G 2G16G 6G23
+ -12106992.98543  -9375180.30142  22501822.396    22501824.989    22501821.483
+     -2715.878       -2116.268          51.000          44.000
+ -13308873.69944 -10365542.13242  20589294.594    20589295.569    20589293.720
+     -1008.205        -785.614          57.000          51.000
+ -11522839.68043  -8910981.07242  23152632.258    23152634.223    23152630.257
+     -1395.547       -1087.439          50.000          43.000
+ -20687061.57943 -16073343.46842  21347195.767    21347199.135    21347195.211
+      2033.096        1584.231          55.000          49.000
+ -17691424.43343 -13775427.56642  21456819.005    21456822.507    21456817.624
+       238.849         186.116          55.000          49.000
+  -2926393.22143  -2270016.24642  24674916.534    24674919.275    24674915.723
+      3369.587        2625.652          43.000          38.000
+ -17100083.54843 -13309422.56342  21455514.481    21455516.702    21455513.106
+      2609.306        2033.225          54.000          48.000
+  -3792652.73943  -2908196.15142  23895408.107    23895411.507    23895406.545
+     -1881.583       -1466.168          48.000          41.000
+  -8474291.63443  -6556789.99242  23333688.314    23333691.978    23333686.456
+     -2234.262       -1740.983          48.000          42.000
+  -6739403.96853  -5240153.85352  25353817.587    25353825.140    25353814.014
+     -3533.338       -2753.250          37.000          33.000
+ -25888815.11843 -20115164.95742  20344806.902    20344809.991    20344805.467
+       215.757         168.122          56.000          50.000
+ 04  2  1 21 21 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -12025501.68743  -9311680.62142  22517329.959    22517332.322    22517328.501
+     -2716.501       -2116.754          51.000          45.000
+ -13278486.30744 -10341863.66442  20595077.458    20595078.247    20595076.549
+     -1017.408        -792.785          57.000          51.000
+ -11480949.52943  -8878339.44642  23160603.643    23160605.282    23160601.975
+     -1397.669       -1089.093          50.000          43.000
+ -20747850.09743 -16120711.16242  21335628.491    21335631.541    21335627.700
+      2019.693        1573.787          55.000          49.000
+ -17698575.36143 -13780999.73542  21455458.432    21455461.632    21455457.281
+       238.089         185.524          55.000          49.000
+  -3027452.99343  -2348764.19642  24655685.268    24655688.224    24655684.182
+      3367.513        2624.036          43.000          38.000
+ -17178180.91743 -13370277.66242  21440652.781    21440655.390    21440651.679
+      2597.588        2024.094          54.000          48.000
+  -3736106.29743  -2864134.01342  23906167.666    23906173.296    23906166.580
+     -1887.978       -1471.152          48.000          41.000
+  -8407211.77743  -6504519.99142  23346452.996    23346455.505    23346451.849
+     -2237.621       -1743.601          47.000          42.000
+ -25895095.05243 -20120058.41842  20343611.946    20343615.081    20343610.607
+       203.241         158.370          56.000          50.000
+ 04  2  1 21 22  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11943958.32243  -9248140.37842  22532847.749    22532849.635    22532846.103
+     -2719.315       -2118.947          51.000          44.000
+ -13247791.19644 -10317945.41042  20600918.432    20600919.016    20600917.506
+     -1028.608        -801.513          57.000          51.000
+ -11438962.82243  -8845622.57242  23168592.754    23168595.197    23168591.985
+     -1401.655       -1092.199          49.000          43.000
+ -20808200.46843 -16167737.43442  21324143.978    21324147.785    21324142.843
+      2004.035        1561.586          55.000          49.000
+ -17705668.25943 -13786526.69042  21454108.075    21454112.035    21454106.736
+       235.309         183.358          55.000          49.000
+  -3128409.56043  -2427431.63742  24636473.264    24636476.381    24636472.806
+      3363.131        2620.622          44.000          38.000
+ -17255896.91943 -13430835.58942  21425864.631    21425866.582    21425863.300
+      2583.913        2013.439          55.000          48.000
+  -3679344.60743  -2819904.16342  23916970.311    23916974.069    23916968.977
+     -1895.816       -1477.259          48.000          41.000
+  -8340000.51943  -6452147.63942  23359242.473    23359245.521    23359240.747
+     -2242.872       -1747.692          47.000          41.000
+ -25900965.62343 -20124632.89942  20342494.872    20342497.716    20342493.366
+       188.459         146.851          56.000          50.000
+ 04  2  1 21 22 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11862367.14343  -9184562.88042  22548373.098    22548376.376    22548372.565
+     -2721.147       -2120.374          51.000          45.000
+ -13216792.67344 -10293790.73842  20606817.244    20606817.587    20606816.326
+     -1039.064        -809.660          57.000          51.000
+ -11396880.85843  -8812831.50242  23176601.201    23176603.344    23176599.611
+     -1405.000       -1094.805          50.000          42.000
+ -20868112.76143 -16214422.35342  21312743.182    21312746.345    21312742.302
+      1989.095        1549.944          55.000          49.000
+ -17712704.41543 -13792009.42942  21452770.003    21452773.076    21452768.328
+       232.865         181.453          55.000          49.000
+  -3229262.84243  -2506018.62742  24617281.671    24617285.612    24617279.977
+      3359.483        2617.779          44.000          38.000
+ -17333231.05943 -13491095.97142  21411147.827    21411150.344    21411146.764
+      2570.793        2003.215          55.000          48.000
+  -3622373.01543  -2775510.73442  23927811.464    23927815.728    23927809.823
+     -1903.171       -1482.990          48.000          41.000
+  -8272663.14943  -6399677.00842  23372057.780    23372059.443    23372055.534
+     -2247.447       -1751.257          47.000          41.000
+ -25906430.26343 -20128891.07542  20341454.669    20341457.560    20341453.261
+       174.726         136.150          56.000          50.000
+ 04  2  1 21 23  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11780732.79443  -9120951.74342  22563907.396    22563909.673    22563906.515
+     -2721.752       -2120.846          51.000          45.000
+ -13185495.71344 -10269403.51242  20612772.540    20612773.342    20612771.834
+     -1048.039        -816.654          57.000          50.000
+ -11354706.19043  -8779968.16442  23184626.975    23184628.688    23184625.919
+     -1407.311       -1096.606          50.000          43.000
+ -20927587.98443 -16260766.69242  21301425.487    21301428.668    21301424.600
+      1975.283        1539.181          55.000          49.000
+ -17719686.16743 -13797449.77342  21451441.055    21451444.596    21451439.636
+       231.973         180.758          55.000          49.000
+  -3330013.48043  -2584525.68442  24598109.849    24598113.369    24598109.069
+      3356.744        2615.645          45.000          38.000
+ -17410183.77143 -13551059.12642  21396504.655    21396506.819    21396503.190
+      2558.766        1993.844          55.000          48.000
+  -3565197.56543  -2730958.46942  23938691.422    23938696.235    23938690.804
+     -1909.248       -1487.726          48.000          41.000
+  -8205205.96743  -6347113.02642  23384892.776    23384897.090    23384892.587
+     -2250.465       -1753.609          47.000          42.000
+ -25911493.44843 -20132836.42542  20340491.078    20340494.438    20340489.831
+       162.235         126.417          56.000          50.000
+ 04  2  1 21 23 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11699053.93543  -9057305.92242  22579450.923    22579453.363    22579448.431
+     -2723.654       -2122.328          51.000          44.000
+ -13153899.04944 -10244782.75542  20618785.675    20618785.953    20618784.567
+     -1058.431        -824.751          57.000          50.000
+ -11312434.53543  -8747029.26942  23192671.136    23192673.221    23192669.401
+     -1410.898       -1099.401          50.000          43.000
+ -20986620.33343 -16306765.94542  21290192.646    21290195.733    21290191.131
+      1960.152        1527.391          56.000          49.000
+ -17726609.18843 -13802844.35142  21450124.182    21450127.200    21450122.368
+       229.448         178.791          55.000          49.000
+  -3430655.74343  -2662948.22642  24578959.637    24578961.614    24578957.852
+      3352.659        2612.462          45.000          38.000
+ -17486748.86443 -13610720.24742  21381934.245    21381936.890    21381933.371
+      2545.420        1983.444          55.000          48.000
+  -3507817.92643  -2686247.12442  23949610.973    23949614.912    23949609.409
+     -1916.053       -1493.028          48.000          41.000
+  -8137628.60443  -6294455.39642  23397752.647    23397755.496    23397750.725
+     -2254.672       -1756.887          47.000          42.000
+ -25916152.88643 -20136467.16942  20339604.665    20339607.802    20339603.061
+       148.330         115.582          56.000          50.000
+ 04  2  1 21 24  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11617330.67443  -8993625.49542  22595003.350    22595003.976    22595001.536
+     -2724.147       -2122.712          51.000          44.000
+ -13122002.58544 -10219928.38742  20624855.308    20624855.969    20624854.150
+     -1067.400        -831.740          57.000          50.000
+ -11270063.20543  -8714012.71842  23200732.715    23200736.328    23200731.780
+     -1413.355       -1101.315          49.000          43.000
+ -21045205.86443 -16352417.02642  21279043.730    21279047.004    21279042.395
+      1946.060        1516.410          55.000          49.000
+ -17733470.87643 -13808191.13942  21448817.895    21448821.760    21448816.940
+       228.360         177.943          55.000          49.000
+  -3531185.33843  -2741283.00942  24559828.835    24559830.901    24559827.950
+      3349.944        2610.346          45.000          38.000
+ -17562921.79143 -13670075.77242  21367439.095    21367441.443    21367437.923
+      2533.285        1973.988          55.000          48.000
+  -3450235.38343  -2641377.62342  23960568.067    23960572.558    23960568.014
+     -1921.910       -1497.592          48.000          41.000
+  -8069932.18943  -6241704.99842  23410634.394    23410639.252    23410633.169
+     -2257.745       -1759.282          47.000          41.000
+ -25920408.18143 -20139782.99042  20338794.842    20338797.945    20338793.457
+       135.766         105.792          56.000          50.000
+ 04  2  1 21 24 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11535567.35243  -8929913.85242  22610561.995    22610564.722    22610559.695
+     -2726.280       -2124.374          51.000          44.000
+ -13089810.93444 -10194844.00242  20630981.472    20630981.692    20630980.186
+     -1078.130        -840.101          57.000          50.000
+ -11227593.67543  -8680919.62342  23208815.781    23208818.137    23208813.655
+     -1417.551       -1104.585          50.000          43.000
+ -21103344.88943 -16397720.17142  21267980.062    21267983.329    21267979.050
+      1930.323        1504.148          55.000          49.000
+ -17740273.14143 -13813491.62642  21447523.805    21447527.347    21447522.209
+       225.566         175.766          55.000          49.000
+  -3631602.24943  -2819529.97342  24540720.523    24540722.581    24540718.858
+      3345.076        2606.553          45.000          38.000
+ -17638702.33643 -13729125.55242  21353018.666    21353021.058    21353017.430
+      2519.250        1963.052          54.000          48.000
+  -3392455.25043  -2596354.17842  23971564.817    23971567.093    23971562.668
+     -1929.444       -1503.463          48.000          41.000
+  -8002122.18743  -6188866.06842  23423539.603    23423541.853    23423538.086
+     -2262.447       -1762.946          47.000          41.000
+ -25924263.00443 -20142786.76042  20338061.313    20338064.506    20338059.982
+       121.590          94.745          56.000          50.000
+ 04  2  1 21 25  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11453765.41443  -8866172.14042  22626127.300    22626129.890    22626126.406
+     -2727.192       -2125.085          51.000          44.000
+ -13057325.14344 -10169530.42042  20637162.959    20637163.825    20637161.866
+     -1087.507        -847.408          57.000          50.000
+ -11185024.53543  -8647748.90942  23216916.071    23216918.024    23216914.727
+     -1420.346       -1106.763          50.000          43.000
+ -21161034.28243 -16442672.95742  21257002.418    21257005.370    21257001.450
+      1915.628        1492.697          56.000          49.000
+ -17747014.05943 -13818744.30842  21446241.209    21446244.574    21446239.391
+       223.904         174.471          55.000          49.000
+  -3731903.32943  -2897686.64942  24521633.454    24521636.749    24521631.622
+      3341.597        2603.842          45.000          38.000
+ -17714086.83343 -13787866.71342  21338673.421    21338675.922    21338672.161
+      2506.373        1953.018          55.000          48.000
+  -3334479.82143  -2551178.57542  23982595.290    23982600.982    23982592.131
+     -1935.547       -1508.218          47.000          40.000
+  -7934200.65343  -6135940.26342  23436462.633    23436467.262    23436461.553
+     -2265.435       -1765.274          46.000          41.000
+ -25927717.77443 -20145478.80042  20337403.798    20337406.989    20337402.274
+       108.796          84.776          56.000          50.000
+ 04  2  1 21 25 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11371927.10843  -8802402.07842  22641701.361    22641703.616    22641700.770
+     -2728.523       -2126.122          51.000          44.000
+ -13024548.11744 -10143989.89542  20643400.117    20643400.751    20643399.171
+     -1097.510        -855.202          57.000          50.000
+ -11142355.82843  -8614500.60842  23225035.345    23225040.067    23225035.002
+     -1424.039       -1109.641          49.000          43.000
+ -21218272.83543 -16487274.44442  21246110.580    21246113.082    21246109.171
+      1900.281        1480.738          56.000          49.000
+ -17753693.53743 -13823949.11642  21444969.934    21444972.972    21444968.329
+       221.523         172.615          55.000          49.000
+  -3832087.15543  -2975752.00442  24502568.818    24502571.651    24502568.018
+      3337.249        2600.454          45.000          38.000
+ -17789073.73443 -13846298.07542  21324403.662    21324406.382    21324402.797
+      2492.816        1942.454          54.000          48.000
+  -3276312.90143  -2505853.74642  23993665.249    23993669.032    23993665.019
+     -1942.287       -1513.470          48.000          41.000
+  -7866171.63643  -6082930.67442  23449409.104    23449412.287    23449407.839
+     -2269.365       -1768.336          47.000          41.000
+ -25930774.71543 -20147860.84542  20336822.019    20336825.347    20336820.536
+        95.191          74.175          56.000          50.000
+ 04  2  1 21 26  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11290054.52843  -8738605.31442  22657280.119    22657284.138    22657278.994
+     -2729.463       -2126.854          50.000          44.000
+ -12991481.88043 -10118224.01642  20649692.179    20649693.278    20649691.414
+     -1106.909        -862.526          56.000          50.000
+ -11099586.92943  -8581174.26142  23233173.950    23233176.249    23233172.383
+     -1427.247       -1112.140          49.000          42.000
+ -21275058.27643 -16531522.84942  21235304.569    21235307.502    21235303.490
+      1885.437        1469.172          56.000          49.000
+ -17760310.97643 -13829105.58342  21443710.716    21443714.135    21443709.351
+       219.688         171.185          55.000          49.000
+  -3932151.18643  -3053723.96942  24483527.124    24483530.534    24483526.714
+      3333.605        2597.614          46.000          39.000
+ -17863660.10643 -13904417.32342  21310210.709    21310212.914    21310209.115
+      2479.646        1932.192          55.000          48.000
+  -3217957.66343  -2460382.17442  24004769.547    24004773.952    24004767.567
+     -1948.047       -1517.959          48.000          40.000
+  -7798038.12143  -6029839.66442  23462375.788    23462378.145    23462373.368
+     -2272.642       -1770.890          47.000          41.000
+ -25933435.29143 -20149934.03242  20336315.869    20336319.136    20336314.326
+        82.165          64.025          56.000          50.000
+ 04  2  1 21 26 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11208148.66243  -8674782.60042  22672867.416    22672869.960    22672865.967
+     -2731.086       -2128.119          51.000          44.000
+ -12958127.86644 -10092233.89242  20656039.681    20656040.307    20656038.600
+     -1116.874        -870.291          57.000          50.000
+ -11056716.55343  -8547768.81942  23241332.178    23241335.972    23241330.712
+     -1430.870       -1114.964          49.000          43.000
+ -21331388.21543 -16575416.31642  21224585.238    21224588.646    21224583.800
+      1869.758        1456.954          56.000          49.000
+ -17766865.00943 -13834212.64442  21442463.105    21442466.986    21442461.883
+       217.089         169.160          55.000          49.000
+  -4032092.70443  -3131600.47842  24464509.440    24464511.910    24464508.660
+      3328.709        2593.799          45.000          38.000
+ -17937842.93143 -13962222.12042  21296094.275    21296096.669    21296093.296
+      2465.755        1921.368          55.000          49.000
+  -3159416.68743  -2414765.84342  24015909.679    24015914.633    24015908.698
+     -1954.771       -1523.198          47.000          41.000
+  -7729802.70443  -5976669.25942  23475359.544    23475363.152    23475358.456
+     -2276.197       -1773.660          47.000          41.000
+ -25935700.33643 -20151699.01642  20335884.597    20335888.091    20335883.235
+        68.755          53.575          56.000          50.000
+ 04  2  1 21 27  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11126212.26743  -8610936.11042  22688459.205    22688462.261    22688458.203
+     -2731.901       -2128.754          51.000          44.000
+ -12924489.00943 -10066021.81842  20662440.479    20662441.673    20662439.966
+     -1126.179        -877.542          56.000          50.000
+ -11013744.65443  -8514284.28442  23249509.239    23249513.234    23249506.455
+     -1434.420       -1117.730          49.000          42.000
+ -21387261.19343 -16618953.72142  21213952.932    21213956.236    21213951.770
+      1854.622        1445.160          56.000          49.000
+ -17773355.51643 -13839270.20342  21441228.417    21441231.695    21441226.890
+       215.164         167.660          55.000          49.000
+  -4131909.85443  -3209380.09842  24445514.654    24445517.255    24445513.906
+      3324.985        2590.897          45.000          39.000
+ -18011620.31843 -14019711.00142  21282055.381    21282057.310    21282053.722
+      2452.390        1910.953          55.000          49.000
+  -3100693.72243  -2369007.76942  24027084.039    24027088.911    24027082.585
+     -1960.682       -1527.804          47.000          40.000
+  -7661469.16243  -5923422.40742  23488364.174    23488366.881    23488362.188
+     -2279.631       -1776.336          48.000          42.000
+ -25937571.84243 -20153157.34142  20335528.233    20335531.975    20335527.217
+        55.712          43.412          55.000          50.000
+ 04  2  1 21 27 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -11044245.67443  -8547066.09742  22704058.142    22704059.609    22704056.901
+     -2732.320       -2129.080          51.000          44.000
+ -12890565.64344 -10039588.04442  20668896.476    20668897.201    20668895.095
+     -1135.116        -884.506          57.000          50.000
+ -10970668.76643  -8480718.69942  23257707.665    23257709.381    23257706.009
+     -1437.239       -1119.926          49.000          43.000
+ -21442673.36143 -16662132.04742  21203408.349    21203411.543    21203406.848
+      1839.755        1433.575          56.000          49.000
+ -17779779.87443 -13844276.22542  21440005.625    21440009.192    21440004.422
+       213.467         166.338          55.000          49.000
+  -4231598.71643  -3287059.71142  24426544.004    24426548.172    24426543.551
+      3320.944        2587.749          46.000          38.000
+ -18084987.94343 -14076880.58042  21268093.434    21268095.518    21268092.092
+      2439.186        1900.664          55.000          48.000
+  -3041790.14343  -2323108.92342  24038292.117    24038297.565    24038291.008
+     -1965.948       -1531.907          46.000          40.000
+  -7593038.87643  -5870100.17642  23501386.258    23501388.902    23501385.811
+     -2282.251       -1778.377          48.000          42.000
+ -25939049.57143 -20154308.82742  20335247.293    20335250.505    20335246.205
+        43.094          33.580          56.000          50.000
+ 04  2  1 21 28  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10962252.71843  -8483175.53442  22719658.627    22719661.877    22719657.342
+     -2734.073       -2130.446          50.000          44.000
+ -12856361.66544 -10012935.61542  20675405.238    20675405.967    20675404.244
+     -1145.358        -892.487          57.000          50.000
+ -10927490.28643  -8447073.19242  23265923.654    23265925.820    23265922.479
+     -1441.672       -1123.381          50.000          43.000
+ -21497624.91343 -16704951.45542  21192950.874    21192954.547    21192949.905
+      1823.469        1420.885          55.000          49.000
+ -17786139.41343 -13849231.73042  21438795.617    21438799.046    21438794.205
+       210.365         163.921          55.000          49.000
+  -4331158.87443  -3364639.07042  24407598.558    24407600.939    24407597.456
+      3315.953        2583.859          44.000          38.000
+ -18157945.23543 -14133730.41742  21254210.277    21254212.361    21254209.121
+      2424.577        1889.281          55.000          49.000
+  -2982711.18343  -2277073.39542  24049534.516    24049540.317    24049533.299
+     -1972.796       -1537.244          46.000          40.000
+  -7524517.13143  -5816706.65642  23514425.064    23514426.652    23514422.772
+     -2286.041       -1781.331          48.000          41.000
+ -25940137.01243 -20155156.20142  20335040.562    20335043.746    20335039.424
+        29.231          22.777          56.000          50.000
+ 04  2  1 21 28 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10880232.77243  -8419263.92142  22735267.799    22735269.069    22735266.223
+     -2734.027       -2130.411          50.000          44.000
+ -12821876.35644  -9986063.96442  20681967.535    20681968.373    20681966.607
+     -1153.937        -899.172          57.000          50.000
+ -10884205.80643  -8413345.06242  23274160.911    23274162.941    23274159.714
+     -1444.419       -1125.521          50.000          43.000
+ -21552110.92743 -16747408.10742  21182582.284    21182586.124    21182581.603
+      1808.583        1409.285          55.000          49.000
+ -17792430.46543 -13854133.87042  21437598.489    21437601.576    21437597.249
+       208.835         162.729          55.000          49.000
+  -4430585.27243  -3442114.19842  24388679.218    24388681.563    24388677.634
+      3312.203        2580.937          45.000          39.000
+ -18230486.89543 -14190256.39742  21240405.893    21240407.837    21240404.423
+      2411.291        1878.928          55.000          48.000
+  -2923457.05343  -2230901.39742  24060811.059    24060816.045    24060810.222
+     -1977.673       -1541.044          45.000          40.000
+  -7455903.99943  -5763241.92442  23527482.194    23527484.572    23527479.397
+     -2288.244       -1783.047          48.000          41.000
+ -25940832.93643 -20155698.49442  20334908.256    20334911.089    20334906.919
+        16.974          13.226          56.000          50.000
+ 04  2  1 21 29  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10798187.80143  -8355332.83342  22750881.262    22750882.030    22750879.671
+     -2735.800       -2131.792          51.000          44.000
+ -12787111.97244  -9958974.84942  20688583.059    20688584.023    20688581.969
+     -1164.122        -907.108          57.000          50.000
+ -10840814.42843  -8379533.63742  23282417.400    23282419.914    23282414.760
+     -1448.684       -1128.845          49.000          43.000
+ -21606129.49943 -16789500.51542  21172303.184    21172306.912    21172302.191
+      1792.142        1396.474          55.000          49.000
+ -17798652.38243 -13858982.14042  21436414.770    21436417.572    21436413.364
+       205.486         160.119          55.000          49.000
+  -4529875.57643  -3519483.28442  24369785.366    24369788.229    24369783.846
+      3306.596        2576.568          46.000          39.000
+ -18302610.63843 -14246456.72142  21226681.039    21226683.405    21226680.028
+      2396.463        1867.374          55.000          48.000
+  -2864031.10243  -2184595.51242  24072119.538    24072124.319    24072117.869
+     -1984.154       -1546.094          45.000          40.000
+  -7387202.83243  -5709708.58842  23540555.359    23540558.841    23540554.091
+     -2292.131       -1786.076          48.000          41.000
+ -25941138.87343 -20155936.89742  20334849.390    20334853.424    20334848.577
+         3.060           2.384          56.000          50.000
+ 04  2  1 21 29 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10716120.39443  -8291384.27042  22766497.941    22766499.806    22766496.973
+     -2735.684       -2131.702          51.000          44.000
+ -12752071.80343  -9931670.84342  20695250.904    20695252.069    20695249.962
+     -1172.204        -913.406          56.000          50.000
+ -10797316.82943  -8345639.44042  23290694.747    23290696.418    23290691.461
+     -1451.373       -1130.940          49.000          42.000
+ -21659679.97643 -16831228.17942  21162112.997    21162116.341    21162112.337
+      1777.397        1384.985          55.000          49.000
+ -17804805.71043 -13863776.96742  21435243.891    21435247.098    21435242.249
+       204.170         159.094          55.000          49.000
+  -4629028.74343  -3596745.49442  24350915.645    24350918.472    24350914.104
+      3303.056        2573.810          45.000          39.000
+ -18374315.07243 -14302330.30942  21213036.503    21213038.652    21213035.508
+      2383.370        1857.171          55.000          49.000
+  -2804437.70443  -2138159.17142  24083460.259    24083463.466    24083457.421
+     -1989.058       -1549.915          45.000          39.000
+  -7318417.85243  -5656109.96242  23553644.628    23553647.749    23553643.096
+     -2293.876       -1787.436          48.000          41.000
+ -25941057.50543 -20155873.50642  20334865.248    20334868.744    20334864.063
+        -8.886          -6.924          56.000          50.000
+ 04  2  1 21 30  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10634034.74043  -8227421.46042  22782116.518    22782120.869    22782116.002
+     -2736.184       -2132.091          50.000          44.000
+ -12716759.83343  -9904155.04342  20701970.058    20701971.670    20701969.376
+     -1181.365        -920.544          56.000          50.000
+ -10753714.05543  -8311663.30942  23298991.756    23298994.103    23298990.887
+     -1454.919       -1133.703          48.000          42.000
+ -21712762.23443 -16872590.98642  21152012.701    21152015.111    21152011.370
+      1761.799        1372.830          56.000          49.000
+ -17810891.49143 -13868519.15042  21434085.562    21434089.130    21434084.049
+       201.910         157.332          55.000          49.000
+  -4728044.23443  -3673900.42842  24332075.162    24332078.284    24332073.016
+      3298.280        2570.088          46.000          39.000
+ -18445599.55943 -14357876.66542  21199471.437    21199473.963    21199470.302
+      2369.335        1846.235          55.000          49.000
+  -2744681.92743  -2091596.26742  24094830.780    24094835.684    24094830.075
+     -1994.114       -1553.855          45.000          39.000
+  -7249554.07343  -5602449.93742  23566746.822    23566753.339    23566747.409
+     -2296.516       -1789.493          46.000          41.000
+ -25940592.26543 -20155510.99242  20334953.639    20334957.277    20334952.484
+       -21.566         -16.805          56.000          50.000
+ 04  2  1 21 30 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10551927.16743  -8163441.57642  22797742.860    22797744.353    22797741.610
+     -2737.708       -2133.279          51.000          44.000
+ -12681172.56344  -9876424.72442  20708742.747    20708743.204    20708741.618
+     -1191.509        -928.448          57.000          50.000
+ -10710000.23843  -8277600.64042  23307311.013    23307312.993    23307310.160
+     -1459.688       -1137.419          49.000          43.000
+ -21765368.90643 -16913583.21442  21142001.553    21142004.357    21142000.265
+      1745.094        1359.814          56.000          49.000
+ -17816903.26343 -13873203.66942  21432941.381    21432945.097    21432940.126
+       198.560         154.722          55.000          49.000
+  -4826914.20043  -3750941.94542  24313259.048    24313264.313    24313257.851
+      3292.708        2565.746          46.000          39.000
+ -18516456.03743 -14413089.51042  21185987.839    21185990.193    21185986.770
+      2354.083        1834.350          55.000          49.000
+  -2684761.27443  -2044904.91342  24106234.472    24106238.320    24106232.398
+     -2000.456       -1558.797          44.000          39.000
+  -7180608.83143  -5548726.45142  23579868.643    23579871.640    23579867.381
+     -2300.356       -1792.485          47.000          41.000
+ -25939739.06943 -20154846.18042  20335116.189    20335119.659    20335115.240
+       -35.447         -27.621          56.000          50.000
+ 04  2  1 21 31  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10469803.98943  -8099449.53042  22813369.842    22813373.207    22813369.834
+     -2738.722       -2134.069          50.000          44.000
+ -12645316.66344  -9848485.08742  20715565.678    20715566.624    20715564.672
+     -1200.570        -935.509          57.000          50.000
+ -10666179.15643  -8243454.39742  23315649.852    23315651.226    23315648.417
+     -1463.515       -1140.401          50.000          43.000
+ -21817502.46543 -16954206.78542  21132080.721    21132083.917    21132079.962
+      1728.945        1347.230          56.000          49.000
+ -17822844.70043 -13877833.38442  21431811.393    21431814.069    21431809.752
+       195.939         152.680          56.000          49.000
+  -4925640.78443  -3827871.80342  24294474.426    24294476.393    24294472.734
+      3287.507        2561.694          46.000          40.000
+ -18586886.73643 -14467970.57642  21172585.738    21172587.762    21172584.246
+      2339.590        1823.057          55.000          49.000
+  -2624683.50143  -1998091.09342  24117666.264    24117670.132    24117665.037
+     -2006.103       -1563.197          45.000          39.000
+  -7111590.00443  -5494945.59542  23593001.426    23593004.475    23593001.789
+     -2302.801       -1794.390          47.000          41.000
+ -25938504.10443 -20153883.88042  20335351.318    20335354.466    20335350.008
+       -48.424         -37.733          56.000          50.000
+ 04  2  1 21 31 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10387667.72843  -8035447.30142  22828998.961    22829003.192    22828998.857
+     -2738.567       -2133.948          50.000          44.000
+ -12609194.75444  -9820338.16642  20722439.883    20722440.223    20722438.635
+     -1208.991        -942.071          57.000          50.000
+ -10622250.80243  -8209224.55642  23324009.019    23324011.049    23324008.150
+     -1466.627       -1142.826          50.000          43.000
+ -21869161.65643 -16994460.71742  21122250.844    21122253.546    21122249.326
+      1713.541        1335.227          56.000          49.000
+ -17828715.34343 -13882407.93142  21430693.529    21430696.943    21430692.278
+       193.969         151.145          55.000          49.000
+  -5024222.19243  -3904688.49242  24275713.455    24275716.581    24275712.223
+      3283.384        2558.481          45.000          39.000
+ -18656889.84743 -14522518.46642  21159264.451    21159266.641    21159263.174
+      2325.804        1812.315          55.000          49.000
+  -2564452.33843  -1951157.80142  24129127.540    24129132.690    24129126.104
+     -2010.497       -1566.621          45.000          39.000
+  -7042501.26243  -5441110.26142  23606148.476    23606151.595    23606147.521
+     -2304.772       -1795.926          47.000          41.000
+ -25936889.38643 -20152625.67042  20335658.705    20335662.022    20335657.250
+       -60.613         -47.231          56.000          50.000
+ 04  2  1 21 32  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10305514.66243  -7971431.98542  22844633.810    22844636.715    22844631.889
+     -2738.553       -2133.937          50.000          44.000
+ -12572803.60744  -9791981.45042  20729364.484    20729365.126    20729363.622
+     -1217.433        -948.649          57.000          50.000
+ -10578208.26743  -8174905.75642  23332390.219    23332392.958    23332388.930
+     -1469.876       -1145.358          50.000          43.000
+ -21920339.31043 -17034339.42342  21112511.493    21112515.055    21112510.648
+      1698.067        1323.169          56.000          49.000
+ -17834509.25343 -13886922.68742  21429591.306    21429594.862    21429589.870
+       191.915         149.544          55.000          49.000
+  -5122650.72243  -3981386.05142  24256983.672    24256986.419    24256981.407
+      3278.337        2554.548          46.000          40.000
+ -18726457.48743 -14576727.01842  21146025.593    21146028.335    21146024.555
+      2311.823        1801.421          55.000          49.000
+  -2504065.74943  -1904103.36742  24140619.132    24140622.292    24140618.151
+     -2015.132       -1570.233          46.000          39.000
+  -6973340.29343  -5387218.63842  23619310.507    23619313.414    23619309.946
+     -2306.809       -1797.513          46.000          40.000
+ -25934891.13043 -20151068.60442  20336038.839    20336042.482    20336037.282
+       -72.818         -56.741          56.000          50.000
+ 04  2  1 21 32 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10223352.32543  -7907409.43042  22860268.691    22860271.027    22860267.096
+     -2738.705       -2134.056          50.000          43.000
+ -12536151.07844  -9763421.06142  20736339.061    20736340.211    20736338.278
+     -1225.859        -955.215          57.000          50.000
+ -10534057.69743  -8140502.73342  23340791.972    23340794.379    23340790.572
+     -1473.263       -1147.997          49.000          43.000
+ -21971039.31943 -17073845.94142  21102863.652    21102866.961    21102862.671
+      1682.247        1310.842          56.000          49.000
+ -17840231.61743 -13891381.70242  21428502.373    21428505.752    21428500.793
+       189.759         147.864          56.000          49.000
+  -5220929.95443  -4057967.27942  24238282.333    24238284.930    24238280.938
+      3273.534        2550.806          46.000          40.000
+ -18795593.12943 -14630598.95242  21132870.114    21132872.240    21132868.609
+      2297.485        1790.248          55.000          49.000
+  -2443532.75743  -1856934.85142  24152136.978    24152141.367    24152135.464
+     -2019.897       -1573.946          45.000          39.000
+  -6904115.99943  -5333277.68042  23632483.706    23632486.447    23632483.010
+     -2308.476       -1798.812          46.000          40.000
+ -25932516.86743 -20149218.54542  20336490.870    20336493.694    20336489.385
+       -85.087         -66.301          56.000          50.000
+ 04  2  1 21 33  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10141177.68843  -7843377.31442  22875906.231    22875907.805    22875905.537
+     -2739.485       -2134.664          50.000          44.000
+ -12499234.48743  -9734654.90642  20743364.066    20743364.858    20743363.381
+     -1235.162        -962.464          56.000          50.000
+ -10489793.25743  -8106011.02942  23349215.965    23349216.663    23349214.548
+     -1477.326       -1151.163          50.000          42.000
+ -22021255.08643 -17112975.13042  21093307.921    21093311.329    21093306.520
+      1665.619        1297.885          56.000          49.000
+ -17845876.52743 -13895780.35142  21427428.651    21427431.674    21427427.170
+       186.739         145.511          56.000          49.000
+  -5319052.69343  -4134426.55942  24219608.262    24219610.543    24219607.240
+      3268.054        2546.536          45.000          39.000
+ -18864289.48443 -14684128.58642  21119797.022    21119800.035    21119795.705
+      2282.399        1778.493          55.000          49.000
+  -2382851.53043  -1809650.83842  24163685.253    24163688.810    24163683.137
+     -2025.258       -1578.123          46.000          39.000
+  -6834826.60843  -5279285.98942  23645668.150    23645670.948    23645667.690
+     -2310.623       -1800.485          46.000          40.000
+ -25929763.19143 -20147072.84342  20337014.683    20337017.799    20337013.413
+       -98.226         -76.540          56.000          50.000
+ 04  2  1 21 33 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+ -10058995.69843  -7779339.47142  22891543.280    22891546.950    22891542.493
+     -2739.657       -2134.798          50.000          43.000
+ -12462059.38443  -9705687.31142  20750438.340    20750439.119    20750437.834
+     -1243.729        -969.139          56.000          50.000
+ -10445417.78943  -8071432.77742  23357658.317    23357661.473    23357657.975
+     -1481.200       -1154.182          48.000          42.000
+ -22070988.05743 -17151728.10342  21083843.757    21083847.328    21083842.692
+      1649.465        1285.297          56.000          49.000
+ -17851446.42143 -13900120.55042  21426368.501    21426371.607    21426367.156
+       184.201         143.533          56.000          49.000
+  -5417019.71643  -4210764.52442  24200967.291    24200969.718    24200965.585
+      3262.652        2542.326          48.000          40.000
+ -18932547.40843 -14737316.58042  21106807.980    21106810.768    21106806.957
+      2267.693        1767.034          55.000          49.000
+  -2322028.36243  -1762256.17342  24175258.849    24175264.020    24175259.333
+     -2030.032       -1581.843          45.000          39.000
+  -6765478.72143  -5225248.74442  23658865.530    23658869.055    23658864.765
+     -2312.731       -1802.128          47.000          40.000
+ -25926635.08043 -20144635.36342  20337609.567    20337613.088    20337608.508
+      -110.724         -86.278          56.000          50.000
+ 04  2  1 21 34  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -9976805.04343  -7715294.84242  22907184.403    22907187.961    22907183.880
+     -2738.986       -2134.275          49.000          43.000
+ -12424624.53844  -9676517.32442  20757561.936    20757562.810    20757561.169
+     -1251.294        -975.034          57.000          50.000
+ -10400927.16043  -8036764.82842  23366126.230    23366129.163    23366125.263
+     -1484.095       -1156.438          49.000          43.000
+ -22120233.14743 -17190100.91542  21074473.228    21074476.182    21074472.081
+      1634.250        1273.441          56.000          49.000
+ -17856937.27943 -13904399.16342  21425323.564    21425326.870    21425322.126
+       182.579         142.269          56.000          49.000
+  -5514825.66243  -4286976.95842  24182356.106    24182357.003    24182354.593
+      3257.785        2538.534          47.000          39.000
+ -19000361.43043 -14790158.67642  21093903.578    21093906.115    21093902.538
+      2254.121        1756.458          55.000          49.000
+  -2261063.22143  -1714750.91942  24186860.098    24186865.308    24186859.935
+     -2033.582       -1584.609          45.000          39.000
+  -6696072.06743  -5171165.66842  23672072.819    23672076.602    23672071.229
+     -2313.515       -1802.739          47.000          41.000
+ -25923130.88143 -20141904.82942  20338276.686    20338280.215    20338275.274
+      -122.205         -95.225          56.000          50.000
+ 04  2  1 21 34 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -9894611.22743  -7651247.76842  22922825.475    22922828.809    22922824.643
+     -2739.899       -2134.986          50.000          43.000
+ -12386935.73044  -9647149.43542  20764734.007    20764734.869    20764733.362
+     -1260.792        -982.435          57.000          50.000
+ -10356324.72043  -8002009.73742  23374612.752    23374615.752    23374611.386
+     -1488.844       -1160.138          49.000          42.000
+ -22168992.11243 -17228094.92942  21065194.817    21065197.945    21065193.703
+      1617.100        1260.078          56.000          50.000
+ -17862351.86343 -13908618.34642  21424292.823    21424297.134    21424291.814
+       179.110         139.566          55.000          49.000
+  -5612471.71643  -4363064.79542  24163773.559    24163776.620    24163772.749
+      3251.774        2533.850          46.000          39.000
+ -19067733.19143 -14842656.16342  21081083.184    21081085.844    21081082.123
+      2238.184        1744.039          55.000          49.000
+  -2199963.08543  -1667140.47842  24198488.810    24198492.915    24198486.210
+     -2039.185       -1588.975          46.000          39.000
+  -6626613.28943  -5117042.00442  23685290.189    23685294.062    23685289.942
+     -2315.738       -1804.471          46.000          41.000
+ -25919256.00443 -20138885.45842  20339014.150    20339017.586    20339012.728
+      -135.507        -105.590          56.000          50.000
+ 04  2  1 21 35  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -9812412.15443  -7587196.59842  22938467.462    22938471.291    22938466.424
+     -2740.163       -2135.192          49.000          43.000
+ -12348990.92644  -9617582.07642  20771954.774    20771955.953    20771953.928
+     -1269.071        -988.886          57.000          50.000
+ -10311605.40143  -7967163.56342  23383123.419    23383125.371    23383121.883
+     -1492.642       -1163.098          50.000          43.000
+ -22217259.09043 -17265705.57742  21056009.923    21056012.933    21056008.741
+      1600.686        1247.288          56.000          50.000
+ -17867685.15243 -13912774.17442  21423278.281    21423281.594    21423276.851
+       176.387         137.444          56.000          49.000
+  -5709951.52443  -4439023.10042  24145223.438    24145227.441    24145222.469
+      3246.390        2529.655          46.000          39.000
+ -19134656.11243 -14894803.89342  21068348.013    21068350.737    21068347.137
+      2223.194        1732.359          55.000          49.000
+  -2138726.96743  -1619424.06742  24210140.769    24210144.573    24210139.944
+     -2043.446       -1592.295          46.000          39.000
+  -6557101.44743  -5062876.97742  23698518.535    23698521.778    23698517.796
+     -2317.872       -1806.134          47.000          41.000
+ -25915007.88143 -20135575.24042  20339822.312    20339825.950    20339821.178
+      -147.876        -115.228          56.000          50.000
+ 04  2  1 21 35 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -9730209.96243  -7523143.01742  22954110.136    22954113.440    22954109.698
+     -2740.616       -2135.545          50.000          43.000
+ -12310792.47044  -9587817.06942  20779223.917    20779224.895    20779222.997
+     -1278.054        -995.886          57.000          50.000
+ -10266768.73643  -7932225.94742  23391655.342    23391658.230    23391654.526
+     -1496.964       -1166.465          50.000          42.000
+ -22265032.96543 -17302931.99342  21046918.634    21046921.611    21046917.493
+      1583.657        1234.018          56.000          50.000
+ -17872936.46343 -13916866.13542  21422279.056    21422282.596    21422277.757
+       173.088         134.874          56.000          49.000
+  -5807262.74243  -4514850.02542  24126706.433    24126709.185    24126705.309
+      3240.238        2524.861          47.000          40.000
+ -19201128.02843 -14946600.19842  21055699.115    21055701.720    21055698.092
+      2207.636        1720.236          55.000          49.000
+  -2077358.29243  -1571604.38742  24221818.553    24221822.629    24221818.936
+     -2048.487       -1596.224          46.000          39.000
+  -6487539.61543  -5008673.01642  23711756.507    23711758.501    23711754.290
+     -2319.910       -1807.722          47.000          40.000
+ -25910388.40243 -20131975.66142  20340701.495    20340705.173    20340700.276
+      -160.754        -125.263          56.000          50.000
+ 04  2  1 21 36  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -9648008.83043  -7459090.23442  22969752.484    22969755.554    22969750.843
+     -2740.572       -2135.511          50.000          43.000
+ -12272345.25544  -9557858.22342  20786540.442    20786540.982    20786539.017
+     -1286.338       -1002.341          57.000          50.000
+ -10221817.15743  -7897198.77642  23400209.833    23400212.325    23400209.576
+     -1500.918       -1169.546          50.000          42.000
+ -22312314.52743 -17339774.78242  21037921.219    21037924.681    21037920.221
+      1567.172        1221.173          56.000          50.000
+ -17878107.76543 -13920895.73742  21421294.622    21421298.588    21421293.487
+       170.406         132.784          55.000          49.000
+  -5904405.88143  -4590545.97442  24108221.269    24108224.517    24108219.815
+      3234.515        2520.401          47.000          40.000
+ -19267149.35243 -14998045.38942  21043135.817    21043138.220    21043134.838
+      2192.593        1708.514          55.000          49.000
+  -2015862.90943  -1523685.96742  24233521.103    24233526.125    24233520.410
+     -2052.586       -1599.418          46.000          39.000
+  -6417933.89143  -4954434.84242  23725000.724    23725004.146    23724999.132
+     -2321.276       -1808.786          45.000          40.000
+ -25905401.89343 -20128090.08042  20341650.583    20341654.108    20341649.457
+      -172.909        -134.734          56.000          50.000
+ 04  2  1 21 36 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -9565807.80043  -7395037.54642  22985394.649    22985397.033    22985393.399
+     -2740.391       -2135.370          49.000          43.000
+ -12233649.01144  -9527705.33042  20793904.017    20793904.334    20793903.033
+     -1294.391       -1008.616          57.000          50.000
+ -10176747.30243  -7862079.48442  23408785.644    23408788.310    23408784.113
+     -1504.563       -1172.387          50.000          42.000
+ -22359099.67043 -17376230.75942  21029018.532    21029021.555    21029017.497
+      1550.920        1208.509          56.000          50.000
+ -17883195.76143 -13924860.43042  21420327.403    21420330.564    21420325.549
+       167.888         130.822          56.000          49.000
+  -6001376.11743  -4666107.22442  24089768.228    24089769.572    24089765.125
+      3229.003        2516.106          47.000          40.000
+ -19332715.31443 -15049135.74942  21030658.684    21030661.460    21030657.617
+      2177.719        1696.924          55.000          49.000
+  -1954241.52143  -1475669.32242  24245248.616    24245250.695    24245248.360
+     -2056.371       -1602.367          47.000          39.000
+  -6348284.83343  -4900162.91042  23738255.053    23738260.195    23738254.071
+     -2322.389       -1809.654          46.000          40.000
+ -25900047.62043 -20123917.93242  20342669.319    20342672.953    20342668.091
+      -184.895        -144.074          56.000          50.000
+ 04  2  1 21 37  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -9483611.31943  -7330988.41142  23001036.207    23001039.508    23001035.997
+     -2739.730       -2134.854          50.000          43.000
+ -12194707.72144  -9497361.48742  20801314.462    20801314.964    20801313.443
+     -1302.165       -1014.674          57.000          50.000
+ -10131560.83243  -7826869.30442  23417384.521    23417387.693    23417382.702
+     -1508.233       -1175.246          49.000          42.000
+ -22405388.69943 -17412300.15142  21020209.934    21020213.047    21020208.615
+      1534.602        1195.794          56.000          50.000
+ -17888201.44543 -13928760.99742  21419374.878    21419377.574    21419372.933
+       165.503         128.963          55.000          49.000
+  -6098173.10743  -4741533.44842  24071347.731    24071351.358    24071347.255
+      3223.731        2511.998          47.000          40.000
+ -19397825.73043 -15099871.14342  21018268.734    21018271.203    21018267.359
+      2162.680        1685.205          55.000          49.000
+  -1892499.29443  -1427558.55742  24256998.112    24257001.535    24256996.431
+     -2059.905       -1605.121          47.000          39.000
+  -6278597.51743  -4845861.15142  23751515.121    23751519.748    23751515.466
+     -2323.666       -1810.649          47.000          40.000
+ -25894329.31643 -20119462.12642  20343757.717    20343761.029    20343756.335
+      -196.623        -153.213          56.000          50.000
+ 04  2  1 21 37 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -9401416.45343  -7266940.51742  23016678.253    23016680.126    23016675.984
+     -2739.852       -2134.950          50.000          43.000
+ -12155519.29544  -9466825.07642  20808771.818    20808772.089    20808770.552
+     -1310.449       -1021.129          57.000          50.000
+ -10086252.70143  -7791564.30542  23426006.164    23426009.132    23426003.727
+     -1512.128       -1178.281          49.000          42.000
+ -22451175.47443 -17447978.17742  21011497.182    21011500.222    21011496.017
+      1517.680        1182.608          56.000          50.000
+ -17893119.78343 -13932593.49142  21418438.116    21418441.818    21418436.658
+       162.371         126.523          55.000          49.000
+  -6194790.10243  -4816819.44742  24052962.363    24052965.644    24052960.573
+      3217.736        2507.327          47.000          41.000
+ -19462474.09643 -15150246.50142  21005966.980    21005969.318    21005965.924
+      2147.133        1673.091          56.000          49.000
+  -1830635.12943  -1379352.75842  24268768.335    24268772.425    24268767.750
+     -2064.189       -1608.459          45.000          39.000
+  -6208870.76643  -4791528.65242  23764784.539    23764788.049    23764784.203
+     -2325.245       -1811.879          48.000          40.000
+ -25888244.18243 -20114720.47742  20344915.503    20344918.873    20344914.204
+      -209.108        -162.941          56.000          50.000
+ 04  2  1 21 38  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -9319229.58843  -7202898.85842  23032318.452    23032320.504    23032316.696
+     -2739.227       -2134.462          50.000          43.000
+ -12116090.26043  -9436101.17342  20816274.231    20816275.021    20816273.740
+     -1318.106       -1027.095          56.000          50.000
+ -10040826.85043  -7756167.59942  23434650.366    23434653.863    23434648.018
+     -1516.163       -1181.426          49.000          42.000
+ -22496462.86943 -17483267.07642  21002878.851    21002882.555    21002877.931
+      1501.424        1169.941          56.000          50.000
+ -17897954.51243 -13936360.83342  21417518.608    21417521.287    21417516.936
+       159.909         124.604          56.000          49.000
+  -6291229.40343  -4891966.93542  24034610.995    24034612.641    24034609.141
+      3211.755        2502.666          48.000          41.000
+ -19526662.71543 -15200263.60642  20993752.301    20993754.776    20993751.200
+      2132.089        1661.368          56.000          49.000
+  -1768656.76043  -1331057.97842  24280563.210    24280567.601    24280560.920
+     -2067.668       -1611.170          46.000          39.000
+  -6139112.05043  -4737171.26742  23778059.489    23778062.309    23778057.497
+     -2325.693       -1812.228          47.000          40.000
+ -25881798.61343 -20109697.97042  20346142.374    20346145.561    20346140.803
+      -220.616        -171.908          56.000          50.000
+ 04  2  1 21 38 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -9237051.48043  -7138864.02642  23047956.116    23047958.310    23047954.922
+     -2738.798       -2134.128          50.000          43.000
+ -12076422.16843  -9405190.99542  20823823.302    20823823.931    20823822.011
+     -1325.843       -1033.124          56.000          50.000
+  -9995281.63743  -7720677.87542  23443317.695    23443320.250    23443315.098
+     -1519.567       -1184.078          49.000          42.000
+ -22541248.59443 -17518165.05942  20994356.725    20994360.175    20994355.557
+      1484.838        1157.017          56.000          50.000
+ -17902703.83843 -13940061.63242  21416614.586    21416617.934    21416613.307
+       157.208         122.500          55.000          49.000
+  -6387487.81843  -4966973.51342  24016292.207    24016296.688    24016290.962
+      3205.835        2498.053          46.000          41.000
+ -19590388.81843 -15249920.31842  20981625.531    20981627.524    20981624.366
+      2116.827        1649.476          56.000          49.000
+  -1706566.54043  -1282676.03642  24292378.840    24292383.423    24292376.924
+     -2071.113       -1613.854          46.000          39.000
+  -6069323.77943  -4682790.84642  23791340.118    23791341.842    23791338.230
+     -2326.549       -1812.895          48.000          40.000
+ -25874993.53843 -20104395.32742  20347437.493    20347440.583    20347436.000
+      -232.358        -181.058          56.000          50.000
+ 04  2  1 21 39  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -9154880.54443  -7074834.77442  23063592.032    23063593.364    23063591.630
+     -2738.940       -2134.239          50.000          43.000
+ -12036513.68343  -9374093.50242  20831417.367    20831418.081    20831416.468
+     -1334.350       -1039.753          56.000          50.000
+  -9949613.29543  -7685092.20142  23452009.240    23452009.031    23452005.919
+     -1524.633       -1188.026          49.000          42.000
+ -22585527.91243 -17552668.44942  20985930.655    20985933.596    20985929.609
+      1467.479        1143.490          56.000          50.000
+ -17907363.46743 -13943692.53442  21415728.204    21415731.525    21415726.618
+       153.678         119.749          56.000          49.000
+  -6483559.65343  -5041834.69942  23998011.573    23998013.467    23998010.232
+      3198.807        2492.577          47.000          41.000
+ -19653646.84943 -15299212.30342  20969587.606    20969590.053    20969586.433
+      2100.680        1636.893          56.000          49.000
+  -1644364.32243  -1234206.81742  24304216.611    24304219.924    24304214.139
+     -2075.247       -1617.075          46.000          39.000
+  -5999505.66243  -4628387.18842  23804627.493    23804628.841    23804624.806
+     -2328.071       -1814.081          48.000          40.000
+ -25867827.34143 -20098811.28942  20348800.988    20348804.376    20348799.435
+      -244.906        -190.836          56.000          50.000
+ 04  2  1 21 39 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -9072721.28343  -7010814.63042  23079227.064    23079229.026    23079226.094
+     -2738.475       -2133.877          50.000          43.000
+ -11996369.13143  -9342812.05042  20839056.420    20839057.633    20839055.377
+     -1342.025       -1045.734          56.000          50.000
+  -9903823.60643  -7649411.99542  23460720.975    23460725.238    23460720.228
+     -1528.239       -1190.835          48.000          42.000
+ -22629301.33243 -17586777.61942  20977600.648    20977604.323    20977599.525
+      1450.747        1130.452          56.000          50.000
+ -17911934.89843 -13947254.71542  21414857.892    21414861.594    21414856.953
+       150.992         117.656          56.000          49.000
+  -6579445.04843  -5116550.58842  23979764.764    23979767.731    23979764.420
+      3192.957        2488.018          47.000          41.000
+ -19716436.99443 -15348139.68742  20957639.182    20957641.780    20957637.698
+      2085.295        1624.905          56.000          49.000
+  -1582055.61443  -1185654.61042  24316072.831    24316076.333    24316070.377
+     -2078.554       -1619.652          46.000          39.000
+  -5929662.99143  -4573964.37942  23817916.517    23817918.150    23817915.631
+     -2328.364       -1814.310          47.000          40.000
+ -25860304.13743 -20092949.07442  20350232.527    20350235.749    20350231.137
+      -256.606        -199.953          56.000          50.000
+ 04  2  1 21 40  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8990574.81943  -6946804.46742  23094858.485    23094861.242    23094857.300
+     -2737.456       -2133.082          50.000          43.000
+ -11955990.70943  -9311348.37242  20846740.316    20846741.279    20846739.558
+     -1349.260       -1051.371          56.000          50.000
+  -9857911.93743  -7613636.71442  23469458.372    23469460.981    23469457.070
+     -1531.939       -1193.719          48.000          42.000
+ -22672567.32943 -17620491.40042  20969367.361    20969370.991    20969366.321
+      1434.363        1117.685          56.000          50.000
+ -17916417.10443 -13950747.36242  21414005.284    21414008.499    21414003.588
+       148.465         115.687          56.000          49.000
+  -6675141.36943  -5191119.17042  23961553.503    23961557.153    23961552.478
+      3186.966        2483.350          47.000          41.000
+ -19778756.80343 -15396700.57942  20945780.103    20945782.813    20945779.078
+      2070.024        1613.006          56.000          50.000
+  -1519643.33143  -1137021.70242  24327949.029    24327953.673    24327947.086
+     -2081.524       -1621.967          46.000          39.000
+  -5859798.83143  -4519524.83642  23831210.725    23831214.029    23831209.614
+     -2328.331       -1814.284          46.000          40.000
+ -25852425.41943 -20086809.82942  20351731.678    20351735.212    20351730.403
+      -268.018        -208.845          56.000          50.000
+ 04  2  1 21 40 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8908438.01143  -6882801.81442  23110488.794    23110491.162    23110488.319
+     -2737.574       -2133.174          50.000          43.000
+ -11915375.62043  -9279700.27342  20854469.372    20854470.133    20854468.483
+     -1357.641       -1057.902          56.000          50.000
+  -9811872.92843  -7577762.25042  23478218.875    23478222.895    23478216.594
+     -1536.582       -1197.337          47.000          42.000
+ -22715319.54743 -17653804.83542  20961232.370    20961235.820    20961231.124
+      1416.697        1103.920          56.000          50.000
+ -17920804.33043 -13954165.99542  21413170.317    21413173.630    21413169.137
+       144.828         112.853          56.000          49.000
+  -6770641.51343  -5265534.86042  23943381.383    23943384.942    23943379.159
+      3180.165        2478.051          46.000          41.000
+ -19840599.55743 -15444889.74742  20934011.991    20934014.464    20934010.913
+      2053.606        1600.212          56.000          50.000
+  -1457125.89043  -1088306.86442  24339845.843    24339850.183    24339844.980
+     -2085.542       -1625.098          46.000          39.000
+  -5789911.46943  -4465067.22742  23844510.247    23844513.850    23844509.556
+     -2329.538       -1815.224          46.000          40.000
+ -25844188.21843 -20080391.24142  20353299.277    20353302.499    20353298.149
+      -280.354        -218.458          56.000          50.000
+ 04  2  1 21 41  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8826318.98043  -6818813.02442  23126115.441    23126119.083    23126113.923
+     -2736.836       -2132.599          50.000          43.000
+ -11874533.02443  -9247874.88842  20862241.306    20862242.420    20862240.472
+     -1365.105       -1063.718          56.000          50.000
+  -9765712.43543  -7541793.09942  23487002.049    23487007.719    23487000.594
+     -1540.290       -1200.226          46.000          41.000
+ -22757563.14243 -17686721.93942  20953193.297    20953196.856    20953192.229
+      1399.729        1090.698          56.000          50.000
+ -17925102.52143 -13957515.25942  21412352.217    21412356.217    21412350.886
+       141.951         110.611          56.000          49.000
+  -6865949.71943  -5339801.01142  23925243.144    23925248.898    23925242.261
+      3173.548        2472.895          45.000          40.000
+ -19901969.79643 -15492710.72442  20922333.849    20922335.509    20922332.356
+      2037.881        1587.959          56.000          50.000
+  -1394513.29343  -1039517.89142  24351761.105    24351765.723    24351759.848
+     -2088.696       -1627.555          46.000          40.000
+  -5720010.67543  -4410599.12242  23857812.708    23857815.361    23857811.337
+     -2329.830       -1815.452          47.000          40.000
+ -25835600.91743 -20073699.85442  20354933.524    20354936.662    20354932.272
+      -291.781        -227.362          56.000          50.000
+ 04  2  1 21 41 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8744214.97543  -6754835.94342  23141740.070    23141742.746    23141738.727
+     -2736.534       -2132.364          50.000          43.000
+ -11833459.81243  -9215869.81742  20870057.143    20870058.126    20870056.538
+     -1372.962       -1069.840          56.000          50.000
+  -9719425.19143  -7505725.17342  23495812.757    23495815.334    23495809.863
+     -1545.028       -1203.918          49.000          42.000
+ -22799291.42243 -17719237.50042  20945252.830    20945255.855    20945251.813
+      1382.315        1077.129          56.000          50.000
+ -17929305.73643 -13960790.51442  21411552.915    21411555.922    21411551.295
+       138.466         107.896          56.000          49.000
+  -6961058.87643  -5413912.04342  23907144.624    23907148.873    23907145.040
+      3166.885        2467.703          46.000          41.000
+ -19962860.64543 -15540158.15242  20910745.700    20910748.377    20910744.874
+      2021.642        1575.305          56.000          50.000
+  -1331803.78143   -990653.40842  24363694.026    24363698.738    24363693.645
+     -2091.894       -1630.047          46.000          39.000
+  -5650094.46943  -4356119.03542  23871116.687    23871120.195    23871115.924
+     -2330.746       -1816.166          46.000          40.000
+ -25826660.47243 -20066733.29242  20356634.555    20356638.130    20356632.988
+      -303.925        -236.825          56.000          50.000
+ 04  2  1 21 42  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8662130.88443  -6690874.38142  23157359.741    23157363.569    23157359.052
+     -2735.487       -2131.548          51.000          43.000
+ -11792161.50943  -9183689.34642  20877916.413    20877916.833    20877915.464
+     -1380.068       -1075.378          56.000          50.000
+  -9673013.93643  -7469560.60442  23504643.684    23504646.592    23504642.067
+     -1548.779       -1206.841          49.000          42.000
+ -22840506.46743 -17751353.14042  20937409.748    20937413.236    20937408.772
+      1365.494        1064.021          56.000          50.000
+ -17933416.44143 -13963993.68342  21410770.896    21410773.708    21410769.206
+       135.725         105.760          56.000          49.000
+  -7055969.93743  -5487868.72342  23889084.477    23889087.886    23889083.607
+      3160.600        2462.805          46.000          41.000
+ -20023273.42043 -15587233.04642  20899250.195    20899252.666    20899248.890
+      2006.034        1563.143          56.000          50.000
+  -1269003.74643   -941718.35342  24375645.046    24375648.823    24375643.093
+     -2094.358       -1631.967          46.000          39.000
+  -5580169.20743  -4301631.86842  23884423.121    23884428.007    23884421.300
+     -2330.998       -1816.362          46.000          41.000
+ -25817372.07643 -20059495.59542  20358402.253    20358405.570    20358400.734
+      -315.177        -245.592          56.000          50.000
+ 04  2  1 21 42 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8580066.43843  -6626928.12242  23172975.715    23172978.947    23172974.261
+     -2735.706       -2131.719          49.000          43.000
+ -11750638.38644  -9151333.68942  20885818.075    20885818.733    20885816.778
+     -1388.339       -1081.822          57.000          50.000
+  -9626476.35643  -7433297.59542  23513499.307    23513501.952    23513497.695
+     -1553.918       -1210.845          49.000          42.000
+ -22881204.99143 -17783066.29442  20929665.011    20929668.491    20929664.052
+      1347.493        1049.995          56.000          50.000
+ -17937431.62843 -13967122.42542  21410006.680    21410009.556    21410005.104
+       131.686         102.612          56.000          49.000
+  -7150678.62443  -5561667.70342  23871061.882    23871067.161    23871060.958
+      3152.850        2456.766          47.000          41.000
+ -20083204.07443 -15633932.26242  20887845.413    20887848.414    20887844.496
+      1989.042        1549.903          56.000          50.000
+  -1206114.53843   -892713.81542  24387613.027    24387616.630    24387610.049
+     -2098.274       -1635.019          46.000          39.000
+  -5510236.27743  -4247138.73642  23897730.006    23897734.594    23897729.292
+     -2331.028       -1816.385          46.000          40.000
+ -25807735.48443 -20051986.58142  20360235.831    20360239.547    20360234.863
+      -327.726        -255.371          56.000          50.000
+ 04  2  1 21 43  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8498023.22843  -6562998.39642  23188588.511    23188591.315    23188587.312
+     -2734.132       -2130.492          49.000          43.000
+ -11708892.45943  -9118804.41642  20893761.665    20893762.551    20893760.676
+     -1395.251       -1087.208          56.000          50.000
+  -9579811.67543  -7396935.56642  23522379.172    23522382.221    23522377.530
+     -1557.788       -1213.861          47.000          42.000
+ -22921385.56643 -17814375.85642  20922019.331    20922022.253    20922018.193
+      1330.702        1036.911          56.000          50.000
+ -17941350.59043 -13970176.18642  21409260.652    21409263.890    21409259.013
+       128.970         100.496          56.000          49.000
+  -7245182.64243  -5635307.21142  23853079.059    23853081.941    23853078.271
+      3146.634        2451.923          47.000          41.000
+ -20142650.70143 -15680254.30542  20876533.500    20876535.990    20876532.178
+      1973.427        1537.735          56.000          50.000
+  -1143139.28743   -843642.23142  24399595.640    24399600.227    24399593.160
+     -2100.591       -1636.824          45.000          39.000
+  -5440298.59143  -4192641.89042  23911039.542    23911043.297    23911039.386
+     -2331.089       -1816.433          46.000          40.000
+ -25797752.56643 -20044207.70342  20362135.529    20362139.502    20362134.259
+      -338.505        -263.770          56.000          50.000
+ 04  2  1 21 43 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8416004.10843  -6499087.46042  23204196.263    23204198.576    23204195.387
+     -2734.197       -2130.543          50.000          43.000
+ -11666927.27843  -9086104.30142  20901746.945    20901748.493    20901746.102
+     -1402.912       -1093.178          56.000          50.000
+  -9533020.57043  -7360475.02042  23531284.170    23531286.794    23531282.323
+     -1562.226       -1217.319          49.000          42.000
+ -22961047.96143 -17845281.63542  20914471.663    20914474.994    20914470.590
+      1312.944        1023.073          56.000          50.000
+ -17945173.64343 -13973155.20542  21408533.215    21408536.658    21408531.275
+       125.321          97.653          56.000          49.000
+  -7339480.80943  -5708786.30142  23835134.888    23835136.763    23835133.206
+      3139.259        2446.176          47.000          41.000
+ -20201612.46543 -15726198.54142  20865313.250    20865315.728    20865312.301
+      1956.831        1524.803          56.000          50.000
+  -1080082.38643   -794507.06342  24411596.146    24411599.590    24411593.614
+     -2103.558       -1639.136          45.000          39.000
+  -5370360.32943  -4138144.60842  23924348.910    23924352.379    23924347.583
+     -2331.494       -1816.748          46.000          39.000
+ -25787426.24743 -20036161.23542  20364100.675    20364103.950    20364099.433
+      -350.372        -273.017          56.000          50.000
+ 04  2  1 21 44  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8334006.69143  -6435193.43042  23219800.286    23219802.300    23219798.147
+     -2732.939       -2129.563          49.000          43.000
+ -11624740.59143  -9053231.58842  20909775.364    20909776.340    20909774.246
+     -1410.053       -1098.742          56.000          50.000
+  -9486098.43243  -7323912.38942  23540212.427    23540215.053    23540211.368
+     -1566.427       -1220.592          47.000          42.000
+ -23000186.69043 -17875779.37042  20907023.655    20907027.253    20907022.888
+      1295.810        1009.722          56.000          50.000
+ -17948895.56543 -13976055.42842  21407825.220    21407828.092    21407823.618
+       122.298          95.297          56.000          49.000
+  -7433566.65443  -5782099.96742  23817230.482    23817232.524    23817229.119
+      3132.538        2440.939          47.000          41.000
+ -20260083.41643 -15771760.32642  20854186.942    20854188.995    20854185.600
+      1940.807        1512.317          56.000          50.000
+  -1016942.82443   -745307.45642  24423609.901    24423614.951    24423607.762
+     -2105.976       -1641.020          44.000          39.000
+  -5300420.28143  -4083645.93142  23937657.122    23937661.645    23937655.229
+     -2331.353       -1816.639          46.000          39.000
+ -25776754.26343 -20027845.41842  20366131.465    20366135.016    20366129.992
+      -361.647        -281.803          55.000          50.000
+ 04  2  1 21 44 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8252033.50043  -6371318.28742  23235399.670    23235401.588    23235398.213
+     -2731.981       -2128.816          50.000          42.000
+ -11582335.88543  -9020188.98842  20917844.402    20917845.959    20917843.548
+     -1417.146       -1104.270          56.000          50.000
+  -9439045.79443  -7287248.05142  23549166.235    23549169.473    23549165.377
+     -1570.561       -1223.814          48.000          42.000
+ -23038801.44443 -17905868.80842  20899675.718    20899679.244    20899674.647
+      1278.419         996.171          56.000          50.000
+ -17952516.71343 -13978877.13142  21407135.857    21407139.109    21407134.317
+       119.066          92.779          56.000          49.000
+  -7527439.00243  -5855247.25142  23799368.262    23799370.242    23799366.398
+      3125.443        2435.410          47.000          41.000
+ -20318062.75743 -15816939.04142  20843153.556    20843156.142    20843152.504
+      1924.432        1499.557          56.000          50.000
+   -953725.06843   -696046.93242  24435639.306    24435645.410    24435638.788
+     -2108.631       -1643.089          44.000          39.000
+  -5230482.76843  -4029149.22342  23950966.268    23950970.411    23950965.647
+     -2330.930       -1816.309          45.000          39.000
+ -25765739.61443 -20019262.59642  20368227.811    20368231.099    20368226.224
+      -372.725        -290.435          56.000          50.000
+ 04  2  1 21 45  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8170088.17243  -6307464.84642  23250993.450    23250994.912    23250993.139
+     -2731.109       -2128.137          49.000          42.000
+ -11539717.06843  -8986979.54842  20925955.126    20925956.026    20925954.110
+     -1424.063       -1109.659          56.000          50.000
+  -9391864.02843  -7250483.10842  23558144.166    23558147.056    23558142.563
+     -1574.876       -1227.176          48.000          42.000
+ -23076892.76943 -17935550.37442  20892426.788    20892430.564    20892426.030
+      1261.085         982.664          56.000          50.000
+ -17956038.08043 -13981621.07442  21406465.603    21406469.290    21406464.300
+       115.757          90.200          55.000          49.000
+  -7621097.34343  -5928227.78542  23781544.167    23781548.220    23781543.051
+      3118.355        2429.887          46.000          41.000
+ -20375550.32943 -15861734.55642  20832214.116    20832217.038    20832212.822
+      1908.100        1486.831          56.000          50.000
+   -890433.96543   -646729.25242  24447683.651    24447689.221    24447681.934
+     -2110.936       -1644.885          44.000          39.000
+  -5160552.78743  -3974658.38742  23964272.266    23964276.583    23964271.795
+     -2330.683       -1816.117          45.000          39.000
+ -25754385.87643 -20010415.54742  20370388.071    20370391.733    20370386.846
+      -384.012        -299.230          56.000          50.000
+ 04  2  1 21 45 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8088169.64743  -6243632.29742  23266581.185    23266585.498    23266580.716
+     -2730.111       -2127.359          49.000          42.000
+ -11496883.54343  -8953602.80042  20934106.006    20934106.857    20934105.188
+     -1431.224       -1115.239          56.000          50.000
+  -9344549.82843  -7213614.96042  23567149.187    23567152.611    23567148.152
+     -1579.031       -1230.414          49.000          42.000
+ -23114456.72943 -17964821.01542  20885279.044    20885282.549    20885278.210
+      1243.464         968.933          56.000          50.000
+ -17959455.92643 -13984284.35042  21405815.698    21405819.485    21405813.948
+       112.256          87.472          56.000          49.000
+  -7714536.64743  -6001037.63242  23763764.197    23763768.098    23763763.155
+      3110.985        2424.144          47.000          41.000
+ -20432541.42343 -15906143.20242  20821369.268    20821371.312    20821368.097
+      1891.572        1473.952          56.000          50.000
+   -827069.98943   -597354.76142  24459743.279    24459745.963    24459740.594
+     -2112.930       -1646.439          45.000          39.000
+  -5090630.47843  -3920173.52042  23977579.681    23977582.416    23977579.899
+     -2330.317       -1815.831          46.000          39.000
+ -25742692.32543 -20001303.70942  20372613.250    20372616.808    20372611.970
+      -395.264        -307.998          56.000          50.000
+ 04  2  1 21 46  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -8006282.56843  -6179824.24442  23282164.037    23282166.604    23282164.067
+     -2728.497       -2126.101          48.000          42.000
+ -11453840.40243  -8920062.71942  20942296.705    20942297.874    20942295.928
+     -1437.915       -1120.453          56.000          50.000
+  -9297105.79243  -7176645.63542  23576177.752    23576181.880    23576175.349
+     -1583.385       -1233.806          49.000          42.000
+ -23151495.03743 -17993682.04942  20878230.832    20878234.358    20878230.120
+      1226.102         955.404          56.000          50.000
+ -17962772.23243 -13986868.50742  21405184.374    21405187.930    21405182.762
+       109.233          85.117          56.000          49.000
+  -7807757.62743  -6073677.36342  23746024.748    23746027.482    23746023.214
+      3103.798        2418.544          46.000          41.000
+ -20489037.47743 -15950166.11042  20810618.436    20810620.668    20810617.148
+      1875.233        1461.220          56.000          50.000
+   -763639.52343   -547928.48842  24471811.259    24471815.018    24471808.065
+     -2114.966       -1648.025          43.000          38.000
+  -5020721.98643  -3865699.44042  23990883.575    23990886.924    23990882.429
+     -2329.634       -1815.299          46.000          39.000
+ -25730663.85943 -19991930.89542  20374902.177    20374905.735    20374901.005
+      -406.119        -316.456          56.000          50.000
+ 04  2  1 21 46 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -7924424.60243  -6116038.88242  23297740.266    23297742.890    23297741.129
+     -2728.846       -2126.373          48.000          42.000
+ -11410586.29143  -8886358.25142  20950527.194    20950528.896    20950526.621
+     -1446.118       -1126.845          56.000          50.000
+  -9249527.64743  -7139571.81842  23585230.391    23585234.410    23585228.101
+     -1588.935       -1238.131          48.000          41.000
+ -23188002.70543 -18022129.60642  20871283.588    20871286.765    20871282.685
+      1207.280         940.738          56.000          50.000
+ -17965982.43843 -13989369.99742  21404573.487    21404576.688    21404572.044
+       104.436          81.379          56.000          49.000
+  -7900754.14843  -6146142.20042  23728328.303    23728331.139    23728326.968
+      3095.140        2411.797          47.000          42.000
+ -20545032.68943 -15993798.74642  20799962.410    20799965.039    20799961.085
+      1857.303        1447.249          56.000          50.000
+   -700141.71743   -498449.73442  24483895.220    24483899.839    24483893.139
+     -2118.872       -1651.069          43.000          38.000
+  -4950826.39743  -3811235.40742  24004184.535    24004187.737    24004181.273
+     -2330.392       -1815.890          45.000          39.000
+ -25718298.53443 -19982295.59742  20377255.178    20377258.757    20377254.068
+      -418.486        -326.093          56.000          50.000
+ 04  2  1 21 47  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -7842600.02043  -6052279.53542  23313311.904    23313314.915    23313311.065
+     -2727.310       -2125.177          48.000          42.000
+ -11367125.56644  -8852492.77942  20958798.378    20958799.093    20958797.193
+     -1452.596       -1131.893          57.000          50.000
+  -9201817.37543  -7102395.02642  23594310.416    23594312.908    23594308.591
+     -1593.060       -1241.345          48.000          42.000
+ -23223980.83343 -18050164.53342  20864437.317    20864440.931    20864436.373
+      1189.968         927.248          56.000          50.000
+ -17969087.99643 -13991789.94342  21403982.464    21403985.977    21403981.033
+       101.243          78.891          56.000          49.000
+  -7993526.31643  -6218432.21542  23710673.588    23710676.621    23710672.293
+      3087.956        2406.199          48.000          42.000
+ -20600527.69343 -16037041.60642  20789402.228    20789404.793    20789401.211
+      1840.982        1434.531          56.000          50.000
+   -636582.37043   -448923.02642  24495989.983    24495994.450    24495987.668
+     -2120.306       -1652.186          43.000          38.000
+  -4880949.30743  -3756785.81042  24017480.929    24017485.082    24017479.659
+     -2329.252       -1815.001          45.000          39.000
+ -25705600.61743 -19972401.13842  20379671.730    20379675.378    20379670.601
+      -429.202        -334.443          56.000          50.000
+ 04  2  1 21 47 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -7760808.58243  -5988546.02242  23328876.349    23328879.364    23328874.177
+     -2725.683       -2123.909          48.000          42.000
+ -11323458.66544  -8818466.65142  20967107.855    20967108.491    20967106.792
+     -1458.868       -1136.780          57.000          50.000
+  -9153972.82243  -7065113.59542  23603414.666    23603417.901    23603413.752
+     -1596.785       -1244.248          48.000          41.000
+ -23259426.32043 -18077784.41142  20857692.354    20857695.929    20857691.132
+      1172.686         913.781          56.000          50.000
+ -17972086.37843 -13994126.35842  21403412.208    21403415.648    21403410.813
+        98.250          76.558          56.000          49.000
+  -8086070.17943  -6290544.33442  23693063.645    23693066.936    23693062.471
+      3080.712        2400.555          48.000          42.000
+ -20655519.09343 -16079892.05442  20778937.756    20778939.982    20778936.929
+      1824.671        1421.822          56.000          50.000
+   -572962.98743   -399349.51842  24508096.767    24508100.595    24508094.598
+     -2121.890       -1653.421          43.000          38.000
+  -4811092.14243  -3702351.73942  24030774.017    24030777.933    24030772.979
+     -2328.082       -1814.090          46.000          40.000
+ -25692570.27943 -19962247.64842  20382151.449    20382154.882    20382149.849
+      -439.761        -342.671          56.000          50.000
+ 04  2  1 21 48  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -7679053.08943  -5924840.49842  23344433.807    23344436.903    23344432.294
+     -2724.598       -2123.063          48.000          42.000
+ -11279589.14944  -8784282.64042  20975455.985    20975456.717    20975455.073
+     -1465.536       -1141.976          57.000          50.000
+  -9105994.83743  -7027728.22242  23612544.205    23612547.281    23612542.531
+     -1601.432       -1247.869          47.000          41.000
+ -23294339.50643 -18104989.51142  20851048.351    20851051.887    20851047.226
+      1155.069         900.054          56.000          50.000
+ -17974978.11543 -13996379.69142  21402861.879    21402865.344    21402860.231
+        94.738          73.822          56.000          49.000
+  -8178384.90943  -6362477.90042  23675497.597    23675500.574    23675495.790
+      3073.577        2394.995          48.000          42.000
+ -20710006.58543 -16122349.84542  20768568.997    20768572.169    20768568.063
+      1807.996        1408.828          56.000          50.000
+   -509288.08243   -349732.75942  24520214.084    24520220.064    24520213.441
+     -2123.359       -1654.565          44.000          39.000
+  -4741259.25043  -3647936.56342  24044063.446    24044066.094    24044062.225
+     -2327.192       -1813.396          46.000          40.000
+ -25679210.99243 -19951837.83042  20384693.202    20384696.966    20384692.231
+      -450.695        -351.191          56.000          50.000
+ 04  2  1 21 48 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -7597332.70543  -5861162.34242  23359986.044    23359988.280    23359984.185
+     -2723.518       -2122.222          49.000          42.000
+ -11235516.40444  -8749940.26742  20983842.428    20983843.294    20983841.360
+     -1472.547       -1147.439          57.000          50.000
+  -9057880.11043  -6990236.31042  23621700.472    23621703.379    23621699.745
+     -1606.261       -1251.632          48.000          42.000
+ -23328716.51643 -18131776.81242  20844506.952    20844510.337    20844505.725
+      1136.830         885.842          56.000          50.000
+ -17977759.51943 -13998547.04842  21402332.770    21402336.284    21402331.294
+        90.843          70.787          56.000          49.000
+  -8270465.46043  -6434228.97642  23657975.595    23657977.649    23657973.637
+      3065.161        2388.437          49.000          42.000
+ -20763985.68843 -16164411.48042  20758297.021    20758299.736    20758296.063
+      1790.757        1395.395          55.000          50.000
+   -445558.10243   -300073.09942  24532340.489    24532346.395    24532340.389
+     -2125.266       -1656.051          43.000          38.000
+  -4671450.92143  -3593540.50642  24057346.879    24057351.468    24057345.904
+     -2326.484       -1812.845          45.000          40.000
+ -25665521.87343 -19941171.00342  20387298.126    20387302.170    20387297.123
+      -461.821        -359.860          56.000          50.000
+ 04  2  1 21 49  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -7515651.06543  -5797514.38542  23375529.184    23375532.254    23375528.105
+     -2721.760       -2120.852          49.000          42.000
+ -11191245.02843  -8715443.11942  20992267.466    20992268.094    20992266.349
+     -1478.859       -1152.358          56.000          49.000
+  -9009630.74543  -6952639.44542  23630882.013    23630885.401    23630880.394
+     -1610.387       -1254.847          48.000          42.000
+ -23362558.67243 -18158147.34242  20838066.382    20838070.369    20838065.514
+      1119.424         872.278          56.000          50.000
+ -17980431.92443 -14000629.47542  21401823.612    21401827.543    21401822.488
+        87.461          68.151          56.000          49.000
+  -8362311.86343  -6505797.62942  23640496.644    23640499.644    23640495.646
+      3057.869        2382.755          48.000          41.000
+ -20817457.00343 -16206077.44442  20748122.067    20748124.394    20748120.912
+      1774.162        1382.464          56.000          50.000
+   -381778.58843   -250374.84242  24544478.185    24544483.298    24544477.380
+     -2126.514       -1657.024          44.000          39.000
+  -4601672.62243  -3539167.87242  24070625.254    24070630.166    24070623.935
+     -2325.126       -1811.786          46.000          40.000
+ -25651507.34543 -19930250.61342  20389965.003    20389969.142    20389963.824
+      -472.188        -367.939          56.000          50.000
+ 04  2  1 21 49 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -7434008.52643  -5733896.87742  23391064.156    23391068.913    23391063.528
+     -2720.136       -2119.586          48.000          42.000
+ -11146775.88043  -8680791.86742  21000729.290    21000730.040    21000728.095
+     -1484.932       -1157.090          56.000          49.000
+  -8961244.90643  -6914936.25042  23640089.592    23640092.837    23640088.508
+     -1614.354       -1257.938          48.000          41.000
+ -23395863.84043 -18184099.44342  20831728.859    20831732.416    20831727.800
+      1101.852         858.586          56.000          50.000
+ -17982993.10743 -14002625.22542  21401336.893    21401340.206    21401335.464
+        84.077          65.515          56.000          49.000
+  -8453920.51243  -6577181.01442  23623064.044    23623068.386    23623062.594
+      3050.402        2376.937          48.000          42.000
+ -20870417.61043 -16247345.45442  20738043.699    20738046.648    20738042.724
+      1757.502        1369.482          55.000          50.000
+   -317951.34443   -200639.38242  24556624.787    24556629.176    24556622.217
+     -2127.603       -1657.872          43.000          38.000
+  -4531926.02643  -3484819.93642  24083898.801    24083901.091    24083896.182
+     -2323.629       -1810.620          46.000          39.000
+ -25637167.84943 -19919077.00542  20392693.862    20392697.526    20392692.924
+      -482.777        -376.190          56.000          50.000
+ 04  2  1 21 50  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -7352406.51543  -5670310.96042  23406592.993    23406595.756    23406590.953
+     -2719.594       -2119.164          48.000          41.000
+ -11102111.20143  -8645988.24842  21009228.114    21009229.771    21009227.509
+     -1492.215       -1162.765          56.000          49.000
+  -8912722.46043  -6877126.62742  23649323.017    23649326.408    23649321.157
+     -1619.935       -1262.287          48.000          42.000
+ -23428630.71343 -18209632.08842  20825493.488    20825497.326    20825492.680
+      1083.227         844.073          56.000          50.000
+ -17985442.43943 -14004533.81242  21400870.497    21400874.117    21400869.233
+        79.453          61.911          56.000          49.000
+  -8545289.34043  -6648377.50642  23605677.429    23605680.448    23605676.240
+      3041.287        2369.834          48.000          41.000
+ -20922866.00643 -16288214.33842  20728063.439    20728065.786    20728062.322
+      1739.517        1355.468          56.000          50.000
+   -254079.73043   -150869.35942  24568779.483    24568783.601    24568776.883
+     -2129.957       -1659.707          44.000          39.000
+  -4462214.24343  -3430499.10042  24097164.384    24097168.591    24097163.052
+     -2323.191       -1810.279          45.000          38.000
+ -25622505.49943 -19907651.81942  20395484.215    20395487.797    20395482.830
+      -494.372        -385.225          56.000          50.000
+ 04  2  1 21 50 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -7270841.92043  -5606754.20342  23422113.688    23422118.053    23422113.851
+     -2717.974       -2117.902          48.000          42.000
+ -11057248.21843  -8611030.10442  21017765.705    21017766.806    21017764.763
+     -1498.543       -1167.696          56.000          49.000
+  -8864057.83443  -6839206.18542  23658584.751    23658587.421    23658582.321
+     -1624.294       -1265.684          49.000          42.000
+ -23460853.41143 -18234740.70442  20819361.852    20819365.419    20819360.912
+      1065.154         829.990          56.000          50.000
+ -17987773.79543 -14006350.47142  21400426.750    21400430.329    21400425.478
+        75.873          59.122          56.000          49.000
+  -8636410.97243  -6719381.39042  23588337.228    23588340.845    23588335.333
+      3033.417        2363.702          48.000          42.000
+ -20974795.54243 -16328678.92142  20718181.539    20718183.773    20718180.403
+      1722.422        1342.147          56.000          50.000
+   -190162.20443   -101063.53042  24580941.109    24580947.000    24580939.631
+     -2131.151       -1660.637          42.000          38.000
+  -4392535.37143  -3376203.95442  24110420.375    24110428.194    24110422.702
+     -2321.777       -1809.177          42.000          37.000
+ -25607517.31843 -19895972.73442  20398336.528    20398339.834    20398335.283
+      -505.064        -393.556          56.000          50.000
+ 04  2  1 21 51  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -7189323.20743  -5543233.19842  23437627.431    23437629.747    23437626.750
+     -2716.557       -2116.798          49.000          41.000
+ -11012195.54443  -8575924.15042  21026339.074    21026340.243    21026338.319
+     -1504.787       -1172.561          56.000          49.000
+  -8815257.12843  -6801179.70142  23667869.846    23667873.261    23667868.852
+     -1628.815       -1269.206          49.000          42.000
+ -23492537.53043 -18259429.64842  20813333.014    20813335.995    20813331.580
+      1047.347         816.115          56.000          50.000
+ -17989992.71243 -14008079.53442  21400004.982    21400008.338    21400003.258
+        72.273          56.317          56.000          49.000
+  -8727289.75443  -6790196.05942  23571044.419    23571047.232    23571042.464
+      3025.122        2357.238          48.000          42.000
+ -21026211.01143 -16368742.92342  20708397.451    20708399.802    20708396.099
+      1705.425        1328.903          56.000          50.000
+   -126208.15043    -51229.28742  24593111.690    24593115.810    24593110.789
+     -2131.795       -1661.139          43.000          38.000
+  -4322898.92043  -3321941.86042  24123674.817    24123677.567    24123674.099
+     -2320.599       -1808.259          44.000          38.000
+ -25592211.76643 -19884046.35142  20401249.050    20401252.244    20401248.057
+      -515.317        -401.546          56.000          50.000
+ 04  2  1 21 51 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -7107850.66243  -5479748.16842  23453130.059    23453133.428    23453128.407
+     -2715.377       -2115.878          48.000          42.000
+ -10966954.07543  -8540671.08842  21034948.382    21034948.783    21034947.496
+     -1511.687       -1177.938          56.000          49.000
+  -8766318.61943  -6763045.86142  23677183.832    23677185.520    23677182.527
+     -1634.096       -1273.321          49.000          41.000
+ -23523680.57243 -18283696.97742  20807406.419    20807409.752    20807405.089
+      1028.572         801.485          56.000          50.000
+ -17992097.22943 -14009719.44142  21399604.350    21399607.982    21399602.885
+        67.698          52.752          56.000          49.000
+  -8817922.23743  -6860818.77442  23553796.960    23553800.176    23553795.407
+      3016.384        2350.429          48.000          42.000
+ -21077109.79443 -16408404.31642  20698711.814    20698714.106    20698710.944
+      1687.412        1314.866          56.000          50.000
+    -62219.60443     -1368.13742  24605288.705    24605292.868    24605286.761
+     -2134.193       -1663.007          43.000          38.000
+  -4253306.75343  -3267714.25442  24136917.824    24136922.900    24136916.783
+     -2319.047       -1807.050          44.000          39.000
+ -25576589.68143 -19871873.31642  20404221.970    20404225.475    20404220.533
+      -526.461        -410.229          56.000          50.000
+ 04  2  1 21 52  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -7026421.84443  -5416297.20642  23468626.354    23468628.724    23468625.641
+     -2713.516       -2114.428          49.000          42.000
+ -10921522.60643  -8505269.97042  21043593.585    21043594.647    21043592.596
+     -1517.636       -1182.573          56.000          49.000
+  -8717238.51843  -6724801.67442  23686522.458    23686526.606    23686522.155
+     -1638.382       -1276.661          47.000          41.000
+ -23554278.14443 -18307539.26342  20801583.730    20801587.347    20801582.777
+      1010.794         787.632          56.000          50.000
+ -17994082.73943 -14011266.62042  21399226.807    21399229.983    21399225.278
+        64.158          49.993          56.000          49.000
+  -8908302.48443  -6931244.95142  23536597.634    23536601.126    23536595.807
+      3007.979        2343.880          47.000          41.000
+ -21127486.69143 -16447659.04742  20689125.257    20689127.884    20689124.017
+      1670.409        1301.617          56.000          50.000
+      1803.81343     48520.18242  24617471.313    24617477.156    24617471.291
+     -2134.719       -1663.417          43.000          38.000
+  -4183758.22543  -3213520.65742  24150151.456    24150155.489    24150150.436
+     -2317.570       -1805.899          44.000          39.000
+ -25560649.36443 -19859452.31042  20407255.594    20407258.872    20407254.217
+      -536.750        -418.247          56.000          50.000
+ 04  2  1 21 52 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -6945035.46843  -5352879.30642  23484113.238    23484116.744    23484110.421
+     -2711.763       -2113.062          49.000          42.000
+ -10875900.37443  -8469720.20342  21052275.290    21052276.193    21052274.097
+     -1523.558       -1187.188          56.000          49.000
+  -8668013.78243  -6686444.79642  23695890.299    23695894.076    23695888.444
+     -1642.958       -1280.227          48.000          41.000
+ -23584326.78343 -18330953.81042  20795865.748    20795869.735    20795864.698
+       992.852         773.651          56.000          50.000
+ -17995945.55443 -14012718.19542  21398871.847    21398875.496    21398870.568
+        60.344          47.021          56.000          49.000
+  -8998425.63643  -7001470.78042  23519446.730    23519452.542    23519446.610
+      3000.099        2337.739          47.000          42.000
+ -21177337.42443 -16486503.77742  20679638.935    20679641.392    20679637.880
+      1653.258        1288.253          56.000          50.000
+     65861.64443     98435.30642  24629660.534    24629667.016    24629658.652
+     -2135.503       -1664.028          42.000          38.000
+  -4114253.44043  -3159361.15842  24163378.691    24163381.625    24163376.253
+     -2315.538       -1804.315          45.000          39.000
+ -25544390.13443 -19846782.80342  20410349.593    20410352.759    20410347.992
+      -546.907        -426.161          56.000          50.000
+ 04  2  1 21 53  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -6863700.58243  -5289501.54342  23499591.096    23499594.591    23499591.109
+     -2709.689       -2111.446          48.000          42.000
+ -10830097.05543  -8434029.33142  21060991.463    21060992.827    21060990.294
+     -1529.186       -1191.573          56.000          49.000
+  -8618651.44543  -6647980.71142  23705283.266    23705286.211    23705281.244
+     -1647.248       -1283.570          48.000          41.000
+ -23613833.10543 -18353945.77042  20790250.788    20790254.506    20790249.630
+       974.996         759.737          56.000          50.000
+ -17997692.42943 -14014079.43442  21398539.471    21398542.861    21398538.125
+        56.789          44.251          56.000          49.000
+  -9088296.86143  -7071500.32442  23502346.037    23502349.470    23502344.119
+      2991.829        2331.295          47.000          42.000
+ -21226667.98643 -16524943.18342  20670251.800    20670254.395    20670250.583
+      1636.256        1275.005          56.000          50.000
+    129943.16643    148368.90542  24641852.982    24641860.410    24641852.920
+     -2135.693       -1664.176          41.000          37.000
+  -4044803.17743  -3105244.12742  24176596.165    24176598.470    24176594.428
+     -2313.430       -1802.673          45.000          39.000
+ -25527821.49143 -19833872.19342  20413502.144    20413505.658    20413501.108
+      -556.876        -433.929          56.000          50.000
+ 04  2  1 21 53 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -6782414.91743  -5226162.14742  23515058.854    23515061.808    23515058.052
+     -2708.746       -2110.711          48.000          42.000
+ -10784111.40143  -8398196.38842  21069741.799    21069743.340    21069740.999
+     -1536.014       -1196.894          56.000          49.000
+  -8569147.58543  -6609406.34442  23714703.789    23714706.255    23714702.560
+     -1652.624       -1287.759          49.000          42.000
+ -23642792.50043 -18376511.55842  20784740.344    20784743.805    20784739.080
+       956.131         745.037          56.000          50.000
+ -17999318.88343 -14015346.82942  21398230.058    21398233.612    21398228.726
+        52.059          40.565          56.000          49.000
+  -9177910.43443  -7141329.07442  23485293.748    23485296.627    23485292.313
+      2982.644        2324.138          48.000          42.000
+ -21275473.42343 -16562973.39842  20660964.317    20660967.197    20660963.148
+      1618.002        1260.781          56.000          50.000
+    194048.80843    198321.32742  24654053.831    24654059.492    24654050.814
+     -2137.002       -1665.196          41.000          38.000
+  -3975406.83143  -3051169.10842  24189800.206    24189803.985    24189800.097
+     -2312.625       -1802.045          44.000          39.000
+ -25510941.98643 -19820719.35242  20416714.413    20416717.754    20416712.782
+      -567.982        -442.583          56.000          50.000
+ 04  2  1 21 54  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -6701180.85343  -5162862.94442  23530518.164    23530520.896    23530516.582
+     -2707.055       -2109.393          48.000          42.000
+ -10737945.83743  -8362223.25342  21078527.023    21078528.387    21078526.628
+     -1542.056       -1201.602          56.000          49.000
+  -8519502.05343  -6570721.58642  23724151.315    23724153.902    23724151.492
+     -1657.489       -1291.550          49.000          42.000
+ -23671204.00743 -18398650.41942  20779333.688    20779337.530    20779332.852
+       937.755         730.718          56.000          50.000
+ -18000824.18743 -14016519.81942  21397943.588    21397947.096    21397942.026
+        48.010          37.410          56.000          49.000
+  -9267264.39143  -7210955.54242  23468289.105    23468294.337    23468288.688
+      2973.866        2317.298          48.000          42.000
+ -21323752.70343 -16600593.62242  20651777.269    20651779.620    20651776.150
+      1600.302        1246.989          56.000          50.000
+    258175.16743    248289.84842  24666257.874    24666264.463    24666257.532
+     -2138.123       -1666.070          42.000          38.000
+  -3906067.50443  -2997138.54742  24202996.754    24203000.328    24202994.560
+     -2310.611       -1800.476          43.000          39.000
+ -25493753.78943 -19807325.97142  20419985.281    20419988.350    20419984.021
+      -578.221        -450.562          56.000          50.000
+ 04  2  1 21 54 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -6619996.16043  -5099602.21842  23545966.409    23545969.851    23545965.088
+     -2705.173       -2107.927          48.000          42.000
+ -10691598.87243  -8326108.76042  21087346.874    21087348.284    21087345.855
+     -1547.805       -1206.082          56.000          49.000
+  -8469710.90943  -6531923.36142  23733626.010    23733628.260    23733624.196
+     -1661.920       -1295.002          49.000          42.000
+ -23699063.73543 -18420359.32042  20774032.001    20774035.711    20774030.968
+       919.623         716.589          56.000          50.000
+ -18002203.88843 -14017594.93142  21397681.121    21397684.788    21397679.800
+        44.077          34.346          56.000          49.000
+  -9356353.04143  -7280375.29442  23451335.965    23451339.952    23451336.100
+      2964.986        2310.379          47.000          42.000
+ -21371500.79843 -16637799.93242  20642690.711    20642693.414    20642689.775
+      1582.851        1233.390          56.000          50.000
+    322322.20643    298274.48742  24678463.793    24678467.085    24678461.764
+     -2138.228       -1666.152          40.000          37.000
+  -3836785.03043  -2943152.28142  24216179.551    24216184.589    24216178.507
+     -2308.282       -1798.661          41.000          38.000
+ -25476255.63643 -19793691.06542  20423315.216    20423318.284    20423313.786
+      -588.221        -458.354          56.000          50.000
+ 04  2  1 21 55  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -6538863.94543  -5036382.40142  23561405.040    23561408.889    23561403.754
+     -2702.291       -2105.681          48.000          42.000
+ -10645074.41643  -8289855.96942  21096200.299    21096201.231    21096199.106
+     -1552.760       -1209.943          56.000          49.000
+  -8419775.73243  -6493012.90742  23743127.995    23743131.102    23743127.593
+     -1665.970       -1298.158          48.000          42.000
+ -23726372.45643 -18441638.86442  20768835.537    20768839.101    20768834.671
+       902.064         702.907          56.000          50.000
+ -18003458.94143 -14018572.91842  21397441.918    21397446.147    21397440.649
+        40.748          31.752          56.000          49.000
+  -9445175.81043  -7349587.85542  23434434.954    23434436.809    23434433.727
+      2957.194        2304.307          48.000          42.000
+ -21418718.12843 -16674592.65642  20633705.741    20633708.330    20633704.493
+      1566.029        1220.282          56.000          50.000
+    386485.36243    348271.72042  24690672.065    24690680.998    24690672.504
+     -2138.124       -1666.071          40.000          37.000
+  -3767563.82643  -2889213.76242  24229354.231    24229356.409    24229351.295
+     -2305.281       -1796.323          41.000          37.000
+ -25458451.01243 -19779817.35142  20426703.197    20426706.686    20426701.731
+      -597.622        -465.679          56.000          50.000
+ 04  2  1 21 55 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -6457785.63743  -4973204.56042  23576834.070    23576837.318    23576833.464
+     -2702.157       -2105.577          49.000          42.000
+ -10598374.26543  -8253466.26742  21105086.626    21105088.226    21105085.875
+     -1559.926       -1215.527          56.000          49.000
+  -8369695.94543  -6453989.75642  23752658.209    23752660.744    23752656.777
+     -1671.928       -1302.801          47.000          41.000
+ -23753129.18443 -18462488.28342  20763743.466    20763747.431    20763742.670
+       882.348         687.544          56.000          50.000
+ -18004588.19343 -14019452.89642  21397226.791    21397231.103    21397225.823
+        35.175          27.409          56.000          49.000
+  -9533730.29143  -7418591.36142  23417582.655    23417586.941    23417581.369
+      2946.908        2296.292          49.000          42.000
+ -21465402.93243 -16710970.43342  20624822.000    20624824.766    20624820.838
+      1546.901        1205.377          55.000          50.000
+    450661.45843    398279.05742  24702888.881    24702892.981    24702885.740
+     -2139.573       -1667.200          43.000          37.000
+  -3698406.92843  -2835325.34242  24242512.311    24242515.818    24242510.886
+     -2304.383       -1795.623          41.000          37.000
+ -25440341.86443 -19765706.35042  20430148.693    20430152.617    20430147.596
+      -608.986        -474.534          55.000          49.000
+ 04  2  1 21 56  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -6376762.68043  -4910069.86542  23592252.391    23592256.334    23592251.166
+     -2699.756       -2103.706          49.000          42.000
+ -10551500.93743  -8216941.63042  21114006.492    21114007.751    21114005.849
+     -1565.299       -1219.713          56.000          49.000
+  -8319471.46943  -6414853.86642  23762216.333    23762218.200    23762213.821
+     -1676.719       -1306.534          47.000          41.000
+ -23779333.27243 -18482907.07842  20758757.244    20758760.917    20758756.220
+       864.318         673.495          56.000          50.000
+ -18005590.84243 -14020234.20742  21397036.941    21397040.239    21397035.474
+        31.294          24.385          56.000          49.000
+  -9622014.50743  -7487384.27542  23400782.997    23400786.035    23400781.279
+      2938.022        2289.368          48.000          42.000
+ -21511554.19143 -16746932.45842  20616039.872    20616042.405    20616038.897
+      1529.437        1191.769          56.000          50.000
+    514847.36943    448293.96142  24715100.229    24715107.014    24715100.345
+     -2139.953       -1667.496          44.000          38.000
+  -3629317.53143  -2781489.51742  24255658.914    24255661.447    24255656.418
+     -2302.094       -1793.839          41.000          37.000
+ -25421930.43443 -19751359.80542  20433652.113    20433656.328    20433651.119
+      -618.724        -482.122          56.000          50.000
+ 04  2  1 21 56 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -6295791.63743  -4846975.61842  23607661.336    23607663.704    23607659.119
+     -2697.431       -2101.894          49.000          42.000
+ -10504451.54943  -8180279.80642  21122959.562    21122960.967    21122958.547
+     -1570.596       -1223.841          56.000          49.000
+  -8269096.82643  -6375600.98042  23771800.506    23771803.921    23771799.334
+     -1681.039       -1309.900          46.000          40.000
+ -23804979.10543 -18502890.86742  20753877.097    20753880.899    20753876.011
+       846.183         659.363          56.000          50.000
+ -18006460.81043 -14020912.11942  21396871.530    21396874.772    21396870.056
+        27.347          21.309          56.000          49.000
+  -9710021.14943  -7555960.89742  23384035.899    23384037.916    23384034.240
+      2929.441        2282.681          47.000          42.000
+ -21557165.41043 -16782473.67642  20607360.471    20607362.789    20607359.233
+      1511.966        1178.155          56.000          50.000
+    579044.88143    498317.93942  24727318.071    24727321.509    24727315.868
+     -2139.641       -1667.253          43.000          38.000
+  -3560293.20743  -2727704.42742  24268793.071    24268794.961    24268791.441
+     -2299.171       -1791.562          41.000          37.000
+ -25403213.73043 -19736775.37842  20437214.770    20437217.631    20437213.384
+      -628.333        -489.610          56.000          50.000
+ 04  2  1 21 57  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -6214880.89643  -4783928.35642  23623057.965    23623060.103    23623056.182
+     -2696.014       -2100.790          49.000          42.000
+ -10457235.19143  -8143487.87042  21131944.862    21131945.857    21131944.080
+     -1576.682       -1228.583          56.000          49.000
+  -8218578.81743  -6336236.37342  23781415.530    23781417.602    23781413.445
+     -1686.353       -1314.041          47.000          41.000
+ -23830072.90943 -18522444.50642  20749102.591    20749105.713    20749101.236
+       827.207         644.577          56.000          50.000
+ -18007204.23043 -14021491.43342  21396729.735    21396733.339    21396728.345
+        22.585          17.599          56.000          49.000
+  -9797755.22243  -7624325.11242  23367340.602    23367344.724    23367340.173
+      2919.741        2275.123          48.000          42.000
+ -21602242.50143 -16817598.68542  20598782.401    20598785.033    20598781.416
+      1493.636        1163.872          56.000          50.000
+    643243.80443    548343.02942  24739534.092    24739539.470    24739531.957
+     -2139.965       -1667.505          44.000          38.000
+  -3491344.23743  -2673978.03742  24281914.568    24281918.245    24281914.081
+     -2297.034       -1789.897          42.000          37.000
+ -25384200.75143 -19721960.09042  20440832.624    20440835.994    20440831.293
+      -638.717        -497.701          56.000          50.000
+ 04  2  1 21 57 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -6134029.17943  -4720927.10742  23638443.844    23638446.108    23638442.057
+     -2694.324       -2099.473          49.000          41.000
+ -10409851.27643  -8106565.36842  21140961.681    21140963.132    21140960.927
+     -1582.638       -1233.224          56.000          49.000
+  -8167914.28043  -6296757.56142  23791056.302    23791059.262    23791054.992
+     -1691.623       -1318.148          49.000          41.000
+ -23854611.33743 -18541565.38142  20744432.666    20744436.015    20744431.589
+       808.210         629.774          56.000          50.000
+ -18007817.53643 -14021969.36442  21396612.778    21396616.550    21396611.281
+        17.866          13.922          56.000          49.000
+  -9885211.53743  -7692472.89442  23350697.912    23350701.878    23350695.572
+      2910.150        2267.649          48.000          42.000
+ -21646781.38143 -16852304.31242  20590307.237    20590309.269    20590306.044
+      1475.140        1149.460          56.000          50.000
+    707443.81043    598368.96442  24751752.135    24751758.213    24751750.521
+     -2140.186       -1667.677          44.000          38.000
+  -3422470.62343  -2620310.35042  24295021.636    24295025.506    24295019.894
+     -2294.959       -1788.280          44.000          38.000
+ -25364890.86843 -19706913.45042  20444507.000    20444510.334    20444505.540
+      -649.015        -505.726          56.000          50.000
+ 04  2  1 21 58  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -6053235.72843  -4657971.21542  23653817.132    23653819.522    23653816.359
+     -2692.236       -2097.846          48.000          41.000
+ -10362299.65043  -8069512.18442  21150010.272    21150011.525    21150009.242
+     -1588.101       -1237.481          56.000          49.000
+  -8117100.64043  -6257162.57942  23800725.445    23800727.408    23800724.863
+     -1696.682       -1322.090          50.000          41.000
+ -23878591.43943 -18560251.19942  20739869.259    20739872.796    20739868.428
+       789.844         615.463          56.000          50.000
+ -18008297.53943 -14022343.42042  21396521.416    21396525.193    21396519.801
+        13.511          10.528          56.000          49.000
+  -9972385.54343  -7760400.70942  23334110.402    23334113.576    23334109.704
+      2900.797        2260.361          48.000          43.000
+ -21690778.32843 -16886587.65442  20581934.370    20581937.136    20581933.145
+      1457.250        1135.519          56.000          50.000
+    771644.13843    648395.14442  24763967.556    24763972.960    24763965.975
+     -2140.325       -1667.786          41.000          37.000
+  -3353672.97943  -2566701.87542  24308113.509    24308116.544    24308111.342
+     -2292.361       -1786.255          44.000          38.000
+ -25345283.75643 -19691635.20142  20448237.928    20448241.595    20448236.645
+      -658.741        -513.305          56.000          50.000
+ 04  2  1 21 58 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -5972504.90743  -4595064.17542  23669181.331    23669181.876    23669179.765
+     -2690.092       -2096.175          49.000          41.000
+ -10314585.20943  -8032332.13142  21159090.094    21159091.489    21159089.378
+     -1593.143       -1241.410          56.000          49.000
+  -8066140.39643  -6217453.36042  23810423.415    23810426.865    23810423.598
+     -1701.143       -1325.566          49.000          41.000
+ -23902015.78243 -18578503.95642  20735411.371    20735415.329    20735410.373
+       771.529         601.191          56.000          50.000
+ -18008646.20943 -14022615.13642  21396455.104    21396458.941    21396453.696
+         9.509           7.410          56.000          49.000
+ -10059278.13143  -7828109.24942  23317574.797    23317578.452    23317573.417
+      2891.865        2253.401          48.000          43.000
+ -21734235.13643 -16920450.10442  20573664.804    20573667.477    20573663.721
+      1439.586        1121.755          56.000          50.000
+    835838.46143    698416.62042  24776184.472    24776189.264    24776183.321
+     -2139.491       -1667.136          44.000          38.000
+  -3284957.46243  -2513157.39742  24321189.225    24321194.020    24321187.943
+     -2289.203       -1783.794          43.000          38.000
+ -25325384.54743 -19676129.34642  20452024.558    20452027.964    20452023.560
+      -668.173        -520.654          56.000          50.000
+ 04  2  1 21 59  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -5891834.06343  -4532203.85842  23684530.953    23684534.349    23684530.618
+     -2688.574       -2094.993          47.000          40.000
+ -10266706.20543  -7995023.84842  21168201.410    21168202.812    21168200.218
+     -1599.091       -1246.045          56.000          49.000
+  -8015029.39243  -6177626.65142  23820149.744    23820152.702    23820149.100
+     -1706.573       -1329.797          49.000          41.000
+ -23924879.37343 -18596319.76242  20731061.003    20731064.397    20731059.802
+       752.351         586.247          56.000          50.000
+ -18008858.43443 -14022780.53142  21396415.145    21396418.938    21396413.525
+         4.237           3.302          56.000          49.000
+ -10145883.15243  -7895593.67342  23301093.389    23301098.267    23301092.084
+      2881.399        2245.246          48.000          42.000
+ -21777146.73943 -16953887.72742  20565499.332    20565501.674    20565498.246
+      1420.846        1107.153          56.000          50.000
+    900027.56743    748434.06442  24788399.438    24788403.318    24788397.981
+     -2139.966       -1667.506          44.000          38.000
+  -3216322.81343  -2459675.92842  24334250.179    24334253.200    24334248.405
+     -2286.960       -1782.047          43.000          38.000
+ -25305191.14243 -19660394.24642  20455867.584    20455871.109    20455866.250
+      -678.431        -528.647          56.000          50.000
+ 04  2  1 21 59 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -5811225.86443  -4469392.35242  23699870.809    23699873.317    23699869.057
+     -2685.568       -2092.650          47.000          40.000
+ -10218666.19843  -7957590.10642  21177343.003    21177344.336    21177342.061
+     -1603.639       -1249.589          56.000          49.000
+  -7963768.62643  -6137683.27542  23829903.873    23829907.168    23829903.090
+     -1710.919       -1333.184          48.000          41.000
+ -23947183.14343 -18613699.34642  20726816.355    20726820.328    20726815.641
+       734.466         572.311          56.000          50.000
+ -18008934.69943 -14022839.98042  21396400.083    21396404.399    21396398.772
+          .573            .446          56.000          49.000
+ -10232199.68543  -7962853.32142  23284668.404    23284673.604    23284666.238
+      2872.587        2238.379          48.000          42.000
+ -21819513.32443 -16986900.65942  20557437.020    20557439.586    20557435.936
+      1403.502        1093.638          56.000          51.000
+    964207.28443    798444.16442  24800612.404    24800616.672    24800610.107
+     -2138.735       -1666.547          44.000          38.000
+  -3147773.27343  -2406260.80242  24347292.930    24347298.294    24347291.839
+     -2283.162       -1779.087          43.000          38.000
+ -25284707.11943 -19644432.69442  20459765.674    20459769.150    20459764.336
+      -687.258        -535.526          56.000          50.000
+ 04  2  1 22  0  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -5730679.51943  -4406629.04242  23715197.790    23715200.291    23715198.018
+     -2683.526       -2091.059          47.000          40.000
+ -10170464.63443  -7920030.48042  21186515.621    21186516.613    21186514.796
+     -1608.817       -1253.624          56.000          49.000
+  -7912355.63143  -6097621.30042  23839688.026    23839691.156    23839685.123
+     -1715.684       -1336.897          47.000          41.000
+ -23968924.01943 -18630640.31242  20722679.651    20722683.379    20722678.471
+       715.844         557.801          56.000          50.000
+ -18008871.60143 -14022790.83842  21396412.754    21396416.161    21396411.169
+        -3.806          -2.966          56.000          49.000
+ -10318223.16043  -8029884.61442  23268299.039    23268302.669    23268298.094
+      2862.988        2230.900          48.000          43.000
+ -21861331.15343 -17019485.98542  20549479.644    20549482.094    20549478.488
+      1385.325        1079.474          56.000          51.000
+   1028376.77043    848446.31142  24812822.317    24812827.218    24812820.839
+     -2138.157       -1666.096          42.000          38.000
+  -3079309.45543  -2352912.43542  24360321.907    24360325.956    24360320.300
+     -2280.118       -1776.715          43.000          38.000
+ -25263932.01443 -19628244.32542  20463718.741    20463722.518    20463717.493
+      -696.724        -542.902          56.000          50.000
+ 04  2  1 22  0 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -5650201.10243  -4343918.68742  23730513.763    23730515.286    23730513.163
+     -2682.211       -2090.035          46.000          40.000
+ -10122108.61943  -7882350.50342  21195717.631    21195718.586    21195716.706
+     -1614.869       -1258.339          56.000          49.000
+  -7860794.87943  -6057444.16242  23849499.164    23849501.852    23849499.121
+     -1722.061       -1341.866          48.000          41.000
+ -23990106.44444 -18647146.12142  20718649.173    20718652.495    20718648.062
+       696.243         542.527          57.000          50.000
+ -18008673.00143 -14022636.10342  21396450.128    21396453.939    21396448.668
+        -9.393          -7.319          55.000          49.000
+ -10403956.26443  -8096689.65942  23251984.603    23251988.298    23251983.045
+      2852.507        2222.733          48.000          42.000
+ -21902604.07243 -17051646.71042  20541625.712    20541628.003    20541624.643
+      1366.207        1064.577          56.000          51.000
+   1092527.88443    898434.13142  24825029.744    24825036.309    24825028.089
+     -2138.685       -1666.508          42.000          38.000
+  -3010939.29843  -2299637.04242  24373334.000    24373336.010    24373331.936
+     -2277.723       -1774.849          44.000          38.000
+ -25242872.82943 -19611834.59542  20467726.255    20467729.811    20467724.973
+      -707.183        -551.052          56.000          50.000
+ 04  2  1 22  1  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -5569787.63343  -4281258.91342  23745815.018    23745818.519    23745814.180
+     -2679.857       -2088.200          46.000          40.000
+ -10073595.93943  -7844548.45242  21204949.184    21204950.427    21204948.517
+     -1620.009       -1262.345          56.000          49.000
+  -7809081.62643  -6017148.20042  23859340.246    23859342.417    23859337.755
+     -1726.566       -1345.376          48.000          40.000
+ -24010725.47343 -18663212.91442  20714725.337    20714728.868    20714724.097
+       677.567         527.974          56.000          50.000
+ -18008333.60343 -14022371.66642  21396514.842    21396518.655    21396513.726
+       -14.002         -10.911          56.000          49.000
+ -10489392.48843  -8163263.33942  23235727.063    23235730.075    23235724.671
+      2842.595        2215.009          48.000          42.000
+ -21943326.62543 -17083378.58142  20533876.086    20533878.541    20533875.124
+      1347.854        1050.276          56.000          50.000
+   1156661.93043    948408.67142  24837235.928    24837239.599    24837232.717
+     -2137.821       -1665.834          43.000          38.000
+  -2942661.03543  -2246433.27842  24386325.607    24386330.756    24386325.818
+     -2274.922       -1772.666          43.000          38.000
+ -25221527.25743 -19595201.70542  20471788.265    20471792.010    20471786.752
+      -716.573        -558.368          56.000          49.000
+ 04  2  1 22  1 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -5489439.12843  -4218649.78142  23761105.388    23761109.469    23761103.846
+     -2677.592       -2086.435          46.000          40.000
+ -10024927.49243  -7806625.01742  21214210.515    21214211.774    21214209.666
+     -1624.959       -1266.202          56.000          49.000
+  -7757214.19843  -5976732.07542  23869210.119    23869214.229    23869210.056
+     -1732.108       -1349.694          48.000          41.000
+ -24030779.22844 -18678839.24542  20710909.495    20710912.488    20710908.203
+       658.917         513.442          57.000          50.000
+ -18007851.38443 -14021995.92942  21396606.557    21396610.125    21396605.193
+       -18.535         -14.443          56.000          49.000
+ -10574528.29043  -8229602.93142  23219525.460    23219528.843    23219525.057
+      2832.760        2207.345          48.000          42.000
+ -21983496.46443 -17114679.76542  20526232.093    20526234.558    20526230.946
+      1329.678        1036.113          56.000          51.000
+   1220777.21743    998368.57242  24849434.955    24849441.635    24849434.362
+     -2136.828       -1665.061          43.000          38.000
+  -2874476.46843  -2193302.51542  24399299.774    24399306.087    24399298.051
+     -2271.024       -1769.629          43.000          38.000
+ -25199896.10343 -19578346.28642  20475904.555    20475908.037    20475903.341
+      -725.740        -565.512          56.000          49.000
+ 04  2  1 22  2  0.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -5409159.50543  -4156094.31042  23776381.089    23776384.724    23776380.251
+     -2674.807       -2084.265          47.000          40.000
+  -9976107.65443  -7768583.61342  21223500.555    21223501.787    21223499.725
+     -1629.865       -1270.025          56.000          49.000
+  -7705195.04743  -5936197.75442  23879109.484    23879110.871    23879106.531
+     -1736.912       -1353.438          48.000          40.000
+ -24050270.09043 -18694026.95942  20707200.077    20707203.666    20707199.132
+       640.247         498.894          56.000          50.000
+ -18007227.86543 -14021510.08542  21396725.349    21396729.256    21396723.952
+       -23.210         -18.086          56.000          49.000
+ -10659364.12343  -8295708.79042  23203382.464    23203386.446    23203381.861
+      2822.714        2199.517          49.000          42.000
+ -22023115.05143 -17145551.39842  20518692.927    20518695.459    20518691.830
+      1311.418        1021.884          55.000          50.000
+   1284868.00643   1048309.37942  24861632.012    24861636.772    24861630.750
+     -2136.028       -1664.437          44.000          39.000
+  -2806390.81043  -2140248.84142  24412256.783    24412260.111    24412254.823
+     -2267.827       -1767.138          42.000          37.000
+ -25177983.94143 -19561271.89942  20480074.201    20480077.667    20480073.066
+      -735.031        -572.751          56.000          49.000
+ 04  2  1 22  2 30.0000000  0 10G18G22G21G 3G15G31G14G 2G16G23
+  -5328947.57543  -4093591.58342  23791644.846    23791649.202    23791643.483
+     -2672.841       -2082.733          45.000          40.000
+  -9927136.29743  -7730424.15142  21232819.108    21232821.344    21232818.776
+     -1635.080       -1274.088          56.000          49.000
+  -7653021.80443  -5895543.30442  23889037.480    23889039.061    23889037.382
+     -1742.132       -1357.505          48.000          40.000
+ -24069195.05743 -18708773.70942  20703598.667    20703602.291    20703597.660
+       621.325         484.149          56.000          50.000
+ -18006459.58543 -14020911.44742  21396871.527    21396875.009    21396870.133
+       -28.063         -21.867          56.000          49.000
+ -10743895.56743  -8361577.46542  23187295.277    23187299.847    23187296.087
+      2812.666        2191.688          48.000          42.000
+ -22062178.97843 -17175990.83042  20511259.509    20511261.932    20511258.448
+      1292.835        1007.404          56.000          51.000
+   1348933.57143   1098230.53642  24873823.300    24873828.724    24873822.340
+     -2135.116       -1663.727          45.000          39.000
+  -2738404.78343  -2087272.79042  24425194.939    24425199.382    24425193.878
+     -2264.712       -1764.711          43.000          38.000
+ -25155790.44743 -19543978.29142  20484297.504    20484300.844    20484296.031
+      -744.473        -580.109          56.000          49.000
+ 04  2  1 22  3  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -5248808.98343  -4031146.01642  23806894.144    23806899.492    23806893.103
+     -2671.019       -2081.314          45.000          40.000
+  -9878019.36843  -7692151.25342  21242165.778    21242167.830    21242165.273
+     -1640.534       -1278.338          56.000          49.000
+  -7600698.05043  -5854771.62742  23898994.556    23898998.382    23898992.367
+     -1747.263       -1361.504          49.000          41.000
+ -24087557.72143 -18723082.30442  20700104.738    20700108.178    20700103.575
+       601.831         468.959          56.000          50.000
+ -18005549.60343 -14020202.40642  21397044.439    21397048.528    21397043.104
+       -33.551         -26.144          56.000          49.000
+ -10828124.20443  -8427210.17142  23171268.205    23171271.364    23171266.404
+      2801.805        2183.225          48.000          42.000
+                                  25301746.882
+      2344.930        1827.218          42.000
+ -22100691.38443 -17206000.50242  20503931.079    20503933.067    20503929.739
+      1273.666         992.467          56.000          51.000
+   1412966.95443   1148126.61742  24886006.729    24886013.130    24886006.270
+     -2134.665       -1663.375          44.000          38.000
+  -2670524.97343  -2034379.52542  24438111.283    24438116.667    24438110.833
+     -2261.814       -1762.452          42.000          38.000
+ -25133321.75743 -19526470.24942  20488573.197    20488577.098    20488571.961
+      -754.440        -587.875          55.000          49.000
+ 04  2  1 22  3 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -5168737.31443  -3968752.60142  23822130.778    23822136.062    23822131.781
+     -2668.252       -2079.157          45.000          39.000
+  -9828751.61343  -7653760.83342  21251541.299    21251543.308    21251540.512
+     -1645.254       -1282.016          56.000          49.000
+  -7548215.74243  -5813876.40442  23908981.434    23908983.904    23908980.980
+     -1752.475       -1365.565          48.000          41.000
+ -24105350.43143 -18736946.77242  20696718.398    20696722.291    20696717.310
+       583.042         454.318          56.000          50.000
+ -18004489.62143 -14019376.46642  21397246.413    21397249.861    21397245.208
+       -38.471         -29.977          56.000          49.000
+ -10912040.63143  -8492599.59042  23155300.112    23155303.014    23155297.740
+      2791.369        2175.093          49.000          43.000
+   -943302.26453   -690460.16752  25288331.315    25288339.421    25288329.011
+      2353.673        1834.031          43.000          36.000
+ -22138643.72743 -17235573.76242  20496708.934    20496710.977    20496707.828
+      1255.126         978.020          56.000          51.000
+   1476972.18243   1198000.75342  24898186.495    24898193.262    24898185.411
+     -2133.327       -1662.333          43.000          38.000
+  -2602746.98543  -1981565.61342  24451008.389    24451014.225    24451008.293
+     -2258.144       -1759.593          42.000          38.000
+ -25110572.56243 -19508743.62142  20492902.220    20492905.811    20492900.937
+      -763.489        -594.926          56.000          49.000
+ 04  2  1 22  4  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -5088739.93743  -3906417.04342  23837356.361    23837359.648    23837355.815
+     -2664.773       -2076.446          45.000          40.000
+  -9779341.03743  -7615259.12342  21260944.201    21260945.701    21260943.367
+     -1649.029       -1284.958          56.000          49.000
+  -7495580.79643  -5772862.25542  23918996.904    23919000.231    23918995.676
+     -1756.790       -1368.927          47.000          40.000
+ -24122578.58443 -18750371.33842  20693440.305    20693444.050    20693439.262
+       565.214         440.426          56.000          50.000
+ -18003284.52643 -14018437.45042  21397475.492    21397479.516    21397474.130
+       -42.290         -32.953          56.000          49.000
+ -10995648.64143  -8557748.69942  23139389.749    23139392.867    23139388.015
+      2782.153        2167.911          49.000          43.000
+  -1014068.84843   -745602.95242  25274865.566    25274873.579    25274865.537
+      2363.264        1841.504          40.000          36.000
+ -22176040.99243 -17264714.50342  20489592.505    20489594.634    20489591.295
+      1237.697         964.439          56.000          51.000
+   1540940.56843   1247846.18542  24910359.234    24910367.167    24910357.898
+     -2131.083       -1660.584          43.000          37.000
+  -2535079.69543  -1928837.94042  24463887.023    24463890.648    24463885.011
+     -2253.293       -1755.813          43.000          38.000
+ -25087550.76143 -19490804.58742  20497282.633    20497286.876    20497281.771
+      -771.492        -601.162          55.000          49.000
+ 04  2  1 22  4 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -5008814.02343  -3844137.22742  23852566.341    23852569.406    23852564.094
+     -2663.283       -2075.285          45.000          39.000
+  -9729785.42743  -7576644.39242  21270373.588    21270375.843    21270373.156
+     -1654.406       -1289.147          55.000          49.000
+  -7442789.07043  -5731725.90142  23929043.198    23929047.047    23929041.760
+     -1762.365       -1373.271          47.000          40.000
+ -24139237.73944 -18763352.52342  20690270.538    20690273.702    20690269.390
+       545.655         425.186          57.000          50.000
+ -18001929.04343 -14017381.25642  21397734.022    21397737.408    21397732.494
+       -47.895         -37.321          56.000          49.000
+ -11078941.79043  -8622652.48342  23123539.105    23123543.550    23123538.182
+      2770.984        2159.208          49.000          42.000
+  -1085099.98343   -800951.89442  25261348.886    25261353.655    25261348.149
+      2371.887        1848.224          44.000          36.000
+ -22212877.89543 -17293418.59642  20482582.639    20482585.029    20482581.221
+      1218.451         949.442          56.000          51.000
+   1604873.18743   1297663.78442  24922527.689    24922530.869    24922526.070
+     -2130.718       -1660.300          44.000          38.000
+  -2467521.58043  -1876195.36042  24476743.886    24476746.220    24476741.338
+     -2249.782       -1753.077          43.000          38.000
+ -25064254.28743 -19472651.50942  20501716.351    20501720.284    20501715.153
+      -781.214        -608.738          56.000          49.000
+ 04  2  1 22  5  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -4928959.39343  -3781912.94242  23867760.417    23867763.952    23867759.421
+     -2661.029       -2073.529          44.000          39.000
+  -9680085.34643  -7537917.09442  21279831.441    21279833.194    21279831.051
+     -1659.288       -1292.952          55.000          49.000
+  -7389838.66043  -5690465.88542  23939119.680    23939123.184    23939118.536
+     -1767.802       -1377.508          46.000          40.000
+ -24155325.89044 -18775888.77442  20687208.956    20687212.244    20687207.816
+       526.445         410.217          57.000          50.000
+ -18000420.77143 -14016206.00742  21398020.727    21398024.269    21398019.380
+       -53.148         -41.414          56.000          49.000
+ -11161916.43843  -8687308.07642  23107749.618    23107752.335    23107748.499
+      2760.055        2150.692          49.000          43.000
+  -1156392.79643   -856504.71142  25247781.152    25247787.350    25247780.965
+      2380.873        1855.226          42.000          36.000
+ -22249152.08443 -17321684.19842  20475679.889    20475682.120    20475678.768
+      1199.453         934.639          56.000          51.000
+   1668768.56743   1347452.32342  24934686.826    24934690.264    24934683.924
+     -2129.356       -1659.238          45.000          39.000
+  -2400074.29943  -1823639.12742  24489576.467    24489581.368    24489575.280
+     -2246.782       -1750.739          41.000          38.000
+ -25040683.72843 -19454284.87142  20506201.790    20506205.243    20506200.338
+      -790.521        -615.990          56.000          49.000
+ 04  2  1 22  5 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -4849183.93943  -3719750.31342  23882941.412    23882946.146    23882941.105
+     -2657.079       -2070.451          44.000          39.000
+  -9630249.23043  -7499083.78942  21289315.670    21289316.882    21289314.943
+     -1663.765       -1296.440          56.000          49.000
+  -7336735.85743  -5649087.16042  23949223.836    23949228.178    23949222.965
+     -1772.683       -1381.311          45.000          40.000
+ -24170849.49544 -18787985.11342  20684255.021    20684258.330    20684253.719
+       507.825         395.708          57.000          50.000
+ -17998765.52343 -14014916.22742  21398335.728    21398339.560    21398334.651
+       -57.907         -45.122          56.000          49.000
+ -11244577.12843  -8751719.00542  23092019.298    23092023.514    23092018.796
+      2749.889        2142.771          49.000          43.000
+  -1227952.33143   -912265.39342  25234163.774    25234168.882    25234164.175
+      2389.402        1861.872          42.000          35.000
+ -22284869.58243 -17349516.02142  20468882.832    20468885.129    20468881.659
+      1181.053         920.301          56.000          51.000
+   1732617.15243   1397204.42842  24946835.307    24946840.241    24946834.235
+     -2127.895       -1658.100          45.000          38.000
+  -2332747.05943  -1771176.46342  24502387.671    24502394.181    24502386.527
+     -2242.868       -1747.689          42.000          38.000
+ -25016847.71043 -19435711.37642  20510737.388    20510741.228    20510736.253
+      -799.233        -622.779          56.000          49.000
+ 04  2  1 22  6  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -4769482.41243  -3657645.32742  23898107.499    23898112.967    23898107.509
+     -2655.261       -2069.035          45.000          39.000
+  -9580273.30343  -7460141.54142  21298825.677    21298826.798    21298824.905
+     -1668.053       -1299.781          56.000          49.000
+  -7283474.26143  -5607584.68142  23959360.365    23959364.465    23959358.127
+     -1777.845       -1385.334          47.000          40.000
+ -24185802.11543 -18799636.52942  20681409.731    20681413.155    20681408.332
+       489.044         381.073          56.000          50.000
+ -17996956.24343 -14013506.42942  21398680.160    21398683.999    21398678.645
+       -62.764         -48.907          56.000          49.000
+ -11326915.47543  -8815878.78042  23076350.775    23076355.530    23076350.705
+      2739.281        2134.505          49.000          43.000
+  -1299771.00043   -968228.00442  25220497.017    25220504.143    25220496.487
+      2398.287        1868.795          43.000          36.000
+ -22320023.15543 -17376908.42042  20462192.987    20462196.065    20462191.924
+      1162.506         905.849          55.000          51.000
+   1796421.97243   1446922.42142  24958978.560    24958982.105    24958976.246
+     -2125.992       -1656.617          46.000          39.000
+  -2265536.54743  -1718804.72542  24515179.583    24515184.612    24515177.765
+     -2238.279       -1744.113          44.000          39.000
+ -24992742.24043 -19416927.91842  20515324.855    20515328.540    20515323.482
+      -807.858        -629.500          56.000          49.000
+ 04  2  1 22  6 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -4689856.86643  -3595599.54642  23913260.400    23913263.945    23913260.010
+     -2652.737       -2067.068          45.000          39.000
+  -9530160.30243  -7421092.47942  21308361.706    21308363.239    21308360.744
+     -1672.594       -1303.320          56.000          49.000
+  -7230054.55843  -5565959.02742  23969525.243    23969528.424    23969525.382
+     -1783.120       -1389.444          46.000          40.000
+ -24200184.35543 -18810843.49942  20678672.597    20678676.302    20678671.357
+       469.975         366.214          56.000          50.000
+ -17994992.56243 -14011976.30742  21399053.336    21399057.431    21399051.892
+       -67.893         -52.904          55.000          49.000
+ -11408930.34743  -8879786.48442  23060744.813    23060748.374    23060743.583
+      2728.379        2126.010          49.000          43.000
+  -1371848.48643  -1024392.25142  25206781.914    25206789.485    25206782.146
+      2407.173        1875.719          42.000          36.000
+ -22354612.83943 -17403861.42842  20455611.214    20455613.459    20455610.311
+      1143.764         891.245          56.000          51.000
+   1860178.93143   1496603.10842  24971109.058    24971115.589    24971107.226
+     -2124.140       -1655.174          43.000          39.000
+  -2198446.49743  -1666526.83542  24527946.231    24527950.788    24527945.064
+     -2233.998       -1740.778          45.000          39.000
+ -24968370.26443 -19397936.78642  20519962.865    20519966.063    20519961.766
+      -816.663        -636.361          56.000          49.000
+ 04  2  1 22  7  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -4610309.03143  -3533614.29142  23928399.127    23928401.698    23928397.399
+     -2649.880       -2064.841          46.000          39.000
+  -9479912.40543  -7381938.30842  21317923.601    21317925.142    21317922.769
+     -1676.822       -1306.614          56.000          49.000
+  -7176476.62443  -5524210.06942  23979721.655    23979725.335    23979718.995
+     -1788.292       -1393.474          48.000          40.000
+ -24213996.16943 -18821605.97442  20676043.927    20676047.945    20676043.234
+       451.219         351.599          56.000          50.000
+ -17992873.64643 -14010325.23642  21399457.081    21399461.088    21399455.549
+       -72.933         -56.831          56.000          49.000
+ -11490619.74943  -8943440.58342  23045199.709    23045203.312    23045198.518
+      2717.791        2117.759          49.000          43.000
+  -1444183.01743  -1080756.83342  25193018.116    25193022.815    25193016.090
+      2415.867        1882.494          43.000          36.000
+ -22388637.92443 -17430374.49142  20449136.660    20449138.803    20449135.136
+      1125.072         876.679          56.000          51.000
+   1923884.84743   1546244.02642  24983232.864    24983236.936    24983231.026
+     -2122.570       -1653.951          44.000          38.000
+  -2131479.58143  -1614344.90542  24540690.403    24540693.250    24540688.368
+     -2229.674       -1737.408          46.000          39.000
+ -24943733.87743 -19378739.63242  20524651.010    20524654.573    20524649.636
+      -825.290        -643.083          56.000          49.000
+ 04  2  1 22  7 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -4530841.10943  -3471691.29242  23943521.791    23943523.575    23943520.146
+     -2648.367       -2063.662          47.000          39.000
+  -9429532.57143  -7342681.32342  21327510.306    21327512.024    21327509.724
+     -1682.245       -1310.840          56.000          49.000
+  -7122741.62243  -5482338.73442  23989947.622    23989950.285    23989944.956
+     -1794.566       -1398.363          47.000          40.000
+ -24227238.52843 -18831924.72042  20673524.343    20673527.988    20673523.160
+       431.174         335.980          56.000          50.000
+ -17990599.64543 -14008553.31042  21399889.565    21399893.656    21399888.226
+       -79.154         -61.678          56.000          49.000
+ -11571982.51643  -9006840.15142  23029716.126    23029720.259    23029715.832
+      2705.843        2108.449          49.000          43.000
+  -1516774.00243  -1137321.20842  25179202.936    25179209.811    25179201.962
+      2423.106        1888.134          43.000          36.000
+ -22422098.81443 -17456447.92042  20442769.193    20442771.361    20442768.017
+      1105.258         861.240          56.000          51.000
+   1987535.66243   1595842.00142  24995347.150    24995350.639    24995345.137
+     -2121.456       -1653.082          46.000          39.000
+  -2064639.64643  -1562261.90442  24553408.466    24553413.565    24553408.245
+     -2226.374       -1734.837          46.000          39.000
+ -24918836.31543 -19359338.96242  20529388.436    20529392.700    20529387.100
+      -834.970        -650.626          55.000          49.000
+ 04  2  1 22  8  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -4451452.93343  -3409830.46042  23958627.869    23958632.276    23958626.964
+     -2645.021       -2061.055          46.000          40.000
+  -9379021.63743  -7303322.19742  21337122.625    21337123.831    21337121.343
+     -1685.809       -1313.617          56.000          49.000
+  -7068848.07143  -5440343.82642  24000201.997    24000204.690    24000201.210
+     -1799.078       -1401.879          47.000          40.000
+ -24239910.14543 -18841798.73442  20671112.990    20671116.699    20671111.865
+       413.029         321.841          56.000          50.000
+ -17988168.30243 -14006658.79042  21400352.492    21400356.307    21400351.011
+       -83.512         -65.074          56.000          49.000
+ -11653015.41843  -9069982.68942  23014296.810    23014300.664    23014296.361
+      2695.529        2100.412          49.000          43.000
+  -1589619.02643  -1194083.55142  25165343.624    25165346.077    25165340.628
+      2432.784        1895.676          42.000          36.000
+ -22454993.37643 -17482080.05642  20436509.095    20436512.030    20436508.268
+      1087.183         847.156          55.000          51.000
+   2051129.80243   1645395.79642  25007447.260    25007451.406    25007445.453
+     -2119.016       -1651.181          44.000          39.000
+  -1997928.46443  -1510279.25342  24566104.197    24566108.129    24566103.478
+     -2221.340       -1730.914          47.000          39.000
+ -24893678.43243 -19339735.44342  20534176.310    20534180.137    20534174.877
+      -842.829        -656.750          56.000          49.000
+ 04  2  1 22  8 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -4372142.12343  -3348029.93442  23973721.264    23973724.795    23973718.830
+     -2642.437       -2059.042          46.000          40.000
+  -9328377.56643  -7263859.31742  21346759.962    21346761.159    21346758.807
+     -1690.349       -1317.155          55.000          49.000
+  -7014791.48043  -5398221.89742  24010487.998    24010492.962    24010487.648
+     -1804.583       -1406.168          47.000          40.000
+ -24252006.72244 -18851224.66442  20668811.457    20668814.672    20668810.433
+       393.690         306.771          57.000          50.000
+ -17985574.60543 -14004637.75442  21400846.165    21400850.079    21400844.686
+       -89.206         -69.511          56.000          49.000
+ -11733712.27643  -9132863.38742  22998940.983    22998942.970    22998939.912
+      2684.252        2091.625          50.000          43.000
+  -1662713.00443  -1251039.88742  25151432.194    25151437.116    25151431.371
+      2440.233        1901.480          42.000          36.000
+ -22487317.01743 -17507267.31042  20430358.424    20430360.939    20430357.207
+      1067.910         832.138          55.000          51.000
+   2114668.05243   1694906.08042  25019536.547    25019543.646    25019536.510
+     -2116.860       -1649.501          44.000          38.000
+  -1931344.76243  -1458395.92942  24578773.784    24578777.605    24578773.625
+     -2217.291       -1727.759          46.000          38.000
+ -24868258.25743 -19319927.53542  20539013.583    20539017.004    20539012.097
+      -851.549        -663.545          56.000          49.000
+ 04  2  1 22  9  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -4292911.16343  -3286291.61442  23988798.196    23988802.679    23988796.558
+     -2639.152       -2056.482          47.000          40.000
+  -9277604.56243  -7224295.97542  21356422.028    21356423.101    21356420.779
+     -1693.666       -1319.740          56.000          49.000
+  -6960574.20343  -5355974.76042  24020807.589    24020811.624    24020805.157
+     -1808.908       -1409.539          48.000          40.000
+ -24263530.32044 -18860204.11342  20666618.644    20666621.933    20666617.471
+       375.471         292.575          57.000          50.000
+ -17982819.60043 -14002491.02642  21401370.297    21401374.039    21401368.998
+       -93.672         -72.991          56.000          49.000
+ -11814073.07543  -9195482.20242  22983648.252    22983651.249    22983647.667
+      2673.728        2083.424          50.000          43.000
+  -1736055.99543  -1308190.27942  25137475.799    25137482.341    25137476.305
+      2449.894        1909.008          43.000          37.000
+ -22519070.95143 -17532010.63642  20424315.861    20424318.237    20424314.748
+      1049.761         817.996          56.000          51.000
+   2178145.52843   1744368.98842  25031615.934    25031622.043    25031615.169
+     -2114.059       -1647.319          43.000          38.000
+  -1864893.45443  -1406615.72442  24591420.767    24591425.545    24591419.730
+     -2211.794       -1723.476          46.000          37.000
+ -24842579.94343 -19299918.48842  20543899.791    20543903.334    20543898.606
+      -859.334        -669.611          56.000          49.000
+ 04  2  1 22  9 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -4213764.91343  -3224619.30942  24003859.327    24003862.842    24003858.493
+     -2637.189       -2054.952          47.000          40.000
+  -9226707.21543  -7184635.73342  21366107.668    21366108.970    21366106.556
+     -1698.874       -1323.798          56.000          49.000
+  -6906198.78243  -5313604.35542  24031152.457    24031157.014    24031152.198
+     -1815.660       -1414.800          47.000          40.000
+ -24274483.65844 -18868739.20642  20664534.129    20664537.742    20664533.223
+       355.326         276.877          57.000          50.000
+ -17979905.16043 -14000220.05942  21401925.083    21401928.828    21401923.508
+      -100.056         -77.966          56.000          49.000
+ -11894098.72843  -9257839.86242  22968419.373    22968423.409    22968418.989
+      2661.420        2073.834          49.000          44.000
+  -1809649.92843  -1365536.22842  25123471.644    25123476.205    25123472.081
+      2456.957        1914.512          42.000          36.000
+ -22550257.63643 -17556311.95342  20418381.482    20418383.792    20418380.385
+      1029.861         802.489          56.000          51.000
+   2241556.14643   1793779.79642  25043683.922    25043688.707    25043682.090
+     -2112.782       -1646.324          44.000          38.000
+  -1798580.08043  -1354943.00142  24604038.178    24604043.027    24604037.891
+     -2208.144       -1720.632          45.000          36.000
+ -24816648.59443 -19279712.26542  20548834.383    20548837.881    20548833.168
+      -868.813        -676.997          56.000          49.000
+ 04  2  1 22 10  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -4134699.50743  -3163009.97442  24018904.213    24018906.655    24018902.227
+     -2633.742       -2052.266          46.000          39.000
+  -9175682.93243  -7144876.58542  21375816.888    21375818.256    21375815.828
+     -1702.559       -1326.669          56.000          49.000
+  -6851660.02143  -5271106.66942  24041531.772    24041535.458    24041528.793
+     -1820.297       -1418.413          48.000          40.000
+ -24284861.93043 -18876826.19842  20662559.120    20662562.718    20662558.180
+       336.811         262.450          56.000          50.000
+ -17976825.67543 -13997820.48942  21402511.043    21402514.543    21402509.589
+      -105.027         -81.839          56.000          49.000
+ -11973782.21043  -9319930.89442  22953256.399    22953260.117    22953256.225
+      2650.824        2065.577          50.000          43.000
+  -1883488.00343  -1423072.40542  25109420.890    25109426.095    25109421.473
+      2465.796        1921.399          42.000          36.000
+ -22580871.49943 -17580166.92042  20412555.347    20412558.319    20412554.478
+      1011.340         788.057          56.000          51.000
+   2304901.85343   1843140.01242  25055739.485    25055743.253    25055737.847
+     -2110.119       -1644.248          46.000          38.000
+  -1732402.49943  -1303376.07342  24616632.024    24616635.511    24616630.606
+     -2203.180       -1716.764          45.000          36.000
+ -24790461.30843 -19259306.61142  20553817.607    20553821.218    20553816.372
+      -876.663        -683.114          56.000          49.000
+ 04  2  1 22 10 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -4055719.51443  -3101467.20042  24033934.413    24033938.328    24033933.125
+     -2630.839       -2050.004          47.000          39.000
+  -9124537.20743  -7105022.80542  21385550.030    21385550.563    21385548.887
+     -1706.367       -1329.637          56.000          49.000
+  -6796961.46343  -5228484.51242  24051940.616    24051945.109    24051939.415
+     -1825.356       -1422.355          46.000          40.000
+ -24294668.75743 -18884467.90742  20660692.681    20660696.740    20660691.841
+       317.867         247.689          56.000          50.000
+ -17973583.72043 -13995294.31942  21403127.554    21403131.830    21403126.194
+      -110.295         -85.944          56.000          49.000
+ -12053125.08643  -9381756.53642  22938157.943    22938163.073    22938157.252
+      2639.367        2056.650          50.000          44.000
+  -1957572.15143  -1480800.33942  25095323.430    25095328.821    25095321.613
+      2473.953        1927.756          41.000          35.000
+ -22610915.62443 -17603577.93142  20406838.248    20406840.944    20406837.280
+       992.433         773.324          56.000          51.000
+   2368176.04643   1892444.50342  25067778.414    25067784.370    25067776.301
+     -2107.339       -1642.082          45.000          38.000
+  -1666367.03243  -1251919.88142  24629198.604    24629206.646    24629196.540
+     -2198.203       -1712.885          45.000          35.000
+ -24764023.75343 -19238705.94342  20558848.830    20558852.085    20558847.605
+      -884.888        -689.523          56.000          49.000
+ 04  2  1 22 11  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3976821.35143  -3039988.20942  24048946.392    24048952.949    24048945.117
+     -2628.694       -2048.333          45.000          39.000
+  -9073267.17543  -7065072.16742  21395305.961    21395307.186    21395305.085
+     -1711.064       -1333.297          55.000          49.000
+  -6742098.25943  -5185734.04142  24062381.092    24062383.544    24062378.860
+     -1831.691       -1427.292          47.000          40.000
+ -24303899.33543 -18891660.59042  20658936.128    20658940.587    20658935.386
+       298.058         232.253          56.000          50.000
+ -17970173.53543 -13992637.06342  21403776.654    21403780.738    21403775.440
+      -116.488         -90.770          56.000          49.000
+ -12132120.62443  -9443311.50242  22923126.122    22923128.935    22923123.788
+      2627.305        2047.251          50.000          44.000
+  -2031896.35043  -1538715.30742  25081179.639    25081185.760    25081178.099
+      2481.333        1933.506          42.000          35.000
+ -22640384.45443 -17626540.66342  20401230.989    20401233.083    20401229.865
+       972.720         757.964          56.000          51.000
+   2431380.45943   1941694.63442  25079807.998    25079811.436    25079806.404
+     -2105.656       -1640.771          46.000          38.000
+  -1600471.82043  -1200572.97142  24641736.759    24641741.958    24641737.238
+     -2194.069       -1709.664          43.000          35.000
+ -24737333.38143 -19217908.27542  20563927.565    20563931.153    20563926.239
+      -893.880        -696.530          56.000          49.000
+ 04  2  1 22 11 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3898009.08543  -2978576.12142  24063944.909    24063949.781    24063943.360
+     -2625.314       -2045.699          45.000          39.000
+  -9021877.55143  -7025028.33342  21405084.474    21405086.220    21405083.950
+     -1714.464       -1335.946          56.000          48.000
+  -6687073.15243  -5142857.39242  24072851.474    24072853.848    24072850.384
+     -1836.547       -1431.075          47.000          39.000
+ -24312556.45343 -18898406.42342  20657288.719    20657292.972    20657287.902
+       279.086         217.470          56.000          50.000
+ -17966596.59943 -13989849.86742  21404457.621    21404461.260    21404456.271
+      -121.780         -94.893          56.000          49.000
+ -12210769.34043  -9504596.22442  22908159.809    22908162.845    22908157.949
+      2616.007        2038.447          50.000          44.000
+  -2106461.74143  -1596818.25242  25066988.883    25066995.538    25066991.112
+      2490.026        1940.280          40.000          35.000
+ -22669280.11843 -17649056.77142  20395732.378    20395734.526    20395730.944
+       953.852         743.261          56.000          51.000
+   2494509.50343   1990886.07442  25091818.873    25091826.166    25091818.655
+     -2102.440       -1638.265          45.000          38.000
+  -1534722.08343  -1149339.52042  24654250.429    24654252.696    24654249.463
+     -2188.675       -1705.461          42.000          35.000
+ -24710394.85143 -19196917.23642  20569053.960    20569057.774    20569052.663
+      -901.800        -702.701          56.000          49.000
+ 04  2  1 22 12  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3819280.41943  -2917229.22242  24078927.162    24078930.967    24078926.129
+     -2622.908       -2043.824          46.000          39.000
+  -8970367.33943  -6984890.54342  21414886.835    21414888.583    21414886.071
+     -1718.749       -1339.285          55.000          48.000
+  -6631882.88943  -5099852.06842  24083354.370    24083356.891    24083354.538
+     -1842.185       -1435.469          46.000          39.000
+ -24320637.38543 -18904703.28242  20655751.444    20655755.178    20655750.252
+       260.014         202.608          56.000          50.000
+ -17962849.13143 -13986929.78842  21405170.633    21405174.785    21405169.250
+      -127.497         -99.348          56.000          49.000
+ -12289066.26043  -9565606.80842  22893259.368    22893263.442    22893258.697
+      2604.177        2029.229          50.000          44.000
+  -2181263.77853  -1655105.60952  25052753.665    25052760.738    25052751.404
+      2496.678        1945.463          39.000          34.000
+ -22697599.33543 -17671123.70142  20390343.282    20390345.492    20390342.072
+       934.633         728.285          56.000          51.000
+   2557563.11043   2040018.70742  25103818.054    25103823.777    25103817.602
+     -2100.270       -1636.574          46.000          38.000
+  -1469117.66243  -1098219.23542  24666732.138    24666740.218    24666731.385
+     -2184.153       -1701.937          40.000          35.000
+ -24683207.38143 -19175732.22442  20574227.448    20574231.413    20574226.416
+      -910.172        -709.225          56.000          49.000
+ 04  2  1 22 12 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3740642.06443  -2855952.66442  24093890.932    24093894.991    24093890.927
+     -2619.889       -2041.472          46.000          38.000
+  -8918743.51943  -6944664.21942  21424711.145    21424712.098    21424709.996
+     -1722.928       -1342.541          55.000          48.000
+  -6576532.23143  -5056721.75342  24093886.613    24093889.655    24093886.480
+     -1847.993       -1439.994          46.000          39.000
+ -24328146.93543 -18910554.90342  20654322.581    20654326.098    20654321.543
+       240.470         187.379          56.000          50.000
+ -17958935.24643 -13983880.02842  21405915.657    21405919.116    21405914.219
+      -133.602        -104.105          56.000          49.000
+ -12367014.51843  -9626345.72942  22878427.705    22878430.078    22878426.162
+      2592.156        2019.862          50.000          44.000
+  -2256305.78143  -1713579.93542  25038473.768    25038479.245    25038473.617
+      2505.279        1952.165          41.000          36.000
+ -22725346.49443 -17692744.86942  20385062.907    20385065.557    20385061.946
+       915.025         713.006          56.000          51.000
+   2620533.07843   2089086.18342  25115801.802    25115808.349    25115801.708
+     -2097.656       -1634.537          46.000          37.000
+  -1403666.36143  -1047218.28342  24679189.322    24679191.569    24679187.281
+     -2179.790       -1698.538          43.000          35.000
+ -24655778.16743 -19154358.83042  20579447.210    20579450.914    20579445.818
+      -918.701        -715.871          56.000          49.000
+ 04  2  1 22 13  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3662089.88643  -2794743.27242  24108837.923    24108841.064    24108836.295
+     -2617.210       -2039.384          44.000          38.000
+  -8867003.24343  -6904347.15842  21434556.688    21434558.046    21434555.674
+     -1726.955       -1345.679          55.000          48.000
+  -6521016.17043  -5013462.58542  24104451.783    24104455.242    24104451.056
+     -1853.492       -1444.279          47.000          40.000
+ -24335080.35944 -18915957.59742  20653003.076    20653006.664    20653001.964
+       221.118         172.300          57.000          50.000
+ -17954848.90143 -13980695.88142  21406692.903    21406697.038    21406691.461
+      -139.520        -108.717          56.000          49.000
+ -12444606.94943  -9686807.37942  22863662.264    22863665.944    22863661.080
+      2580.080        2010.452          50.000          44.000
+  -2331581.35543  -1772236.19342  25024146.434    25024155.582    25024147.276
+      2513.127        1958.281          37.000          35.000
+ -22752516.14743 -17713916.03142  20379893.038    20379895.379    20379891.760
+       895.574         697.850          56.000          51.000
+   2683421.89943   2138090.39642  25127769.294    25127770.859    25127767.692
+     -2095.479       -1632.841          46.000          37.000
+  -1338365.74343   -996334.76442  24691613.329    24691620.233    24691614.157
+     -2173.813       -1693.880          41.000          35.000
+ -24628104.04843 -19132794.60742  20584713.500    20584717.101    20584712.309
+      -926.959        -722.306          56.000          49.000
+ 04  2  1 22 13 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3583626.69743  -2733603.21742  24123771.016    24123772.715    24123769.525
+     -2613.946       -2036.841          45.000          38.000
+  -8815149.83543  -6863941.94042  21444423.870    21444425.183    21444423.009
+     -1730.454       -1348.406          55.000          48.000
+  -6465336.28743  -4970075.71642  24115048.348    24115051.331    24115045.262
+     -1858.900       -1448.493          47.000          40.000
+ -24341439.32443 -18920912.66242  20651792.861    20651796.566    20651791.823
+       202.325         157.656          56.000          50.000
+ -17950590.64343 -13977377.78642  21407503.093    21407507.408    21407501.997
+      -144.971        -112.964          56.000          49.000
+ -12521843.24943  -9746991.52542  22848964.482    22848967.913    22848963.586
+      2568.379        2001.334          50.000          44.000
+  -2407090.28543  -1831074.34742  25009780.646    25009785.437    25009779.790
+      2520.650        1964.143          41.000          35.000
+ -22779109.43743 -17734638.08342  20374832.144    20374834.673    20374830.984
+       876.723         683.161          55.000          51.000
+   2746224.71443   2187027.63242  25139719.403    25139723.717    25139717.013
+     -2092.242       -1630.318          45.000          37.000
+  -1273220.21743   -945572.10942  24704013.031    24704014.512    24704010.882
+     -2169.053       -1690.171          43.000          36.000
+ -24600188.96843 -19111042.61942  20590025.373    20590029.323    20590024.312
+      -934.637        -728.288          56.000          49.000
+ 04  2  1 22 14  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3505254.20843  -2672533.81642  24138684.666    24138686.524    24138684.953
+     -2611.266       -2034.753          46.000          38.000
+  -8763185.79743  -6823450.51242  21454312.509    21454313.647    21454311.481
+     -1734.501       -1351.559          55.000          48.000
+  -6409493.18243  -4926561.68942  24125674.380    24125677.733    24125671.591
+     -1864.810       -1453.099          46.000          39.000
+ -24347224.71643 -18925420.78142  20650692.276    20650695.669    20650690.947
+       182.905         142.523          56.000          50.000
+ -17946160.06443 -13973925.40642  21408346.446    21408350.410    21408345.102
+      -150.973        -117.641          56.000          49.000
+ -12598721.89343  -9806896.96742  22834335.704    22834337.849    22834334.573
+      2556.059        1991.734          51.000          44.000
+  -2482832.00943  -1890093.86942  24995369.887    24995373.038    24995369.670
+      2528.078        1969.931          42.000          35.000
+ -22805126.56743 -17754911.17642  20369881.175    20369883.843    20369879.988
+       857.180         667.932          55.000          51.000
+   2808938.06243   2235895.12642  25151653.291    25151659.359    25151651.581
+     -2089.008       -1627.798          45.000          37.000
+  -1208233.09843   -894932.87042  24716377.942    24716382.917    24716378.192
+     -2163.435       -1685.793          42.000          37.000
+ -24572035.49843 -19089104.87142  20595383.319    20595386.522    20595381.637
+      -942.828        -734.671          56.000          49.000
+ 04  2  1 22 14 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3426969.07943  -2611532.54742  24153582.616    24153585.893    24153579.944
+     -2608.691       -2032.746          46.000          38.000
+  -8711108.69043  -6782870.98042  21464222.580    21464223.576    21464221.595
+     -1738.404       -1354.600          55.000          48.000
+  -6353482.08843  -4882916.80942  24136332.965    24136337.358    24136331.685
+     -1870.327       -1457.398          47.000          40.000
+ -24352432.23943 -18929478.62242  20649700.849    20649705.014    20649699.719
+       163.373         127.304          56.000          50.000
+ -17941551.85943 -13970334.61742  21409223.614    21409226.894    21409222.280
+      -157.275        -122.552          56.000          49.000
+ -12675236.46143  -9866518.72942  22819774.195    22819778.248    22819773.220
+      2543.736        1982.132          50.000          44.000
+  -2558800.16843  -1949289.83442  24980913.753    24980919.418    24980911.967
+      2535.210        1975.488          44.000          36.000
+ -22830562.79743 -17774731.62542  20365041.147    20365043.544    20365039.681
+       837.699         652.752          55.000          51.000
+   2871563.62343   2284694.19642  25163571.167    25163576.392    25163571.538
+     -2086.597       -1625.920          45.000          37.000
+  -1143402.39243   -844415.53442  24728715.423    24728718.914    24728712.670
+     -2158.860       -1682.228          41.000          36.000
+ -24543641.24343 -19066979.50642  20600785.872    20600790.146    20600784.455
+      -950.984        -741.026          55.000          49.000
+ 04  2  1 22 15  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3348772.72043  -2550600.35742  24168463.672    24168466.718    24168460.798
+     -2605.241       -2030.058          47.000          38.000
+  -8658920.49343  -6742204.88542  21474153.479    21474154.941    21474152.648
+     -1741.562       -1357.061          55.000          48.000
+  -6297303.20543  -4839141.13242  24147023.147    24147026.899    24147022.006
+     -1875.342       -1461.305          47.000          40.000
+ -24357062.27343 -18933086.46942  20648819.904    20648823.870    20648818.926
+       144.509         112.604          56.000          50.000
+ -17936765.18643 -13966604.75942  21410134.644    21410138.302    21410133.216
+      -162.681        -126.764          56.000          49.000
+ -12751385.10243  -9925855.34142  22805283.820    22805287.462    22805282.007
+      2531.866        1972.883          50.000          44.000
+  -2634993.35943  -2008661.12142  24966413.380    24966419.619    24966411.822
+      2543.623        1982.044          44.000          36.000
+ -22855417.75043 -17794099.13042  20360311.117    20360313.579    20360309.952
+       818.700         637.948          55.000          51.000
+   2934098.05543   2333422.26142  25175471.315    25175476.111    25175469.518
+     -2082.956       -1623.082          44.000          37.000
+  -1078730.98443   -794022.31842  24741022.262    24741026.372    24741021.646
+     -2153.071       -1677.718          41.000          36.000
+ -24515008.39043 -19044668.21442  20606234.528    20606238.561    20606233.395
+      -958.481        -746.868          56.000          49.000
+ 04  2  1 22 15 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3270667.34943  -2489739.14342  24183325.518    24183328.863    24183324.304
+     -2602.252       -2027.729          46.000          39.000
+  -8606624.73943  -6701454.98242  21484105.262    21484106.611    21484104.574
+     -1745.170       -1359.873          55.000          48.000
+  -6240958.26343  -4795236.05842  24157746.210    24157748.694    24157744.381
+     -1881.125       -1465.812          48.000          40.000
+ -24361116.87243 -18936245.92142  20648048.299    20648052.100    20648047.329
+       125.324          97.655          56.000          50.000
+ -17931800.73143 -13962736.38342  21411079.439    21411082.979    21411077.929
+      -168.763        -131.504          56.000          49.000
+ -12827167.63243  -9984906.66942  22790863.415    22790867.533    22790861.351
+      2519.725        1963.422          50.000          44.000
+  -2711411.52043  -2068207.73242  24951873.752    24951875.762    24951870.342
+      2550.822        1987.653          46.000          37.000
+ -22879692.93743 -17813014.87342  20355691.797    20355694.132    20355690.801
+       799.287         622.821          55.000          51.000
+   2996536.77743   2382075.73042  25187351.814    25187360.647    25187351.701
+     -2079.815       -1620.635          40.000          36.000
+  -1014223.41743   -743756.71042  24753298.644    24753301.883    24753295.998
+     -2148.073       -1673.823          41.000          37.000
+ -24486140.87643 -19022174.07342  20611728.387    20611731.902    20611726.840
+      -966.407        -753.044          56.000          49.000
+ 04  2  1 22 16  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3192656.00343  -2428951.19342  24198170.697    24198175.042    24198169.927
+     -2599.239       -2025.381          46.000          39.000
+  -8554224.95943  -6660624.01842  21494076.594    21494077.211    21494075.386
+     -1748.777       -1362.683          55.000          48.000
+  -6184448.65743  -4751202.67242  24168498.079    24168502.715    24168498.243
+     -1886.541       -1470.032          47.000          40.000
+ -24364597.53543 -18938958.15142  20647385.939    20647390.062    20647384.867
+       106.025          82.617          56.000          50.000
+ -17926658.97743 -13958729.85242  21412057.761    21412061.412    21412056.262
+      -174.698        -136.128          56.000          49.000
+ -12902583.51643 -10043672.30442  22776512.374    22776515.825    22776511.576
+      2507.138        1953.614          51.000          44.000
+  -2788054.46743  -2127929.48942  24937286.281    24937292.423    24937285.858
+      2558.044        1993.281          45.000          38.000
+ -22903389.48743 -17831479.73242  20351182.918    20351185.068    20351181.674
+       779.784         607.624          56.000          51.000
+   3058875.46143   2430651.25642  25199215.738    25199222.754    25199214.559
+     -2076.777       -1618.268          43.000          37.000
+   -949883.73843   -693621.96342  24765540.785    24765543.858    24765537.514
+     -2142.089       -1669.160          41.000          37.000
+ -24457042.14643 -18999499.76642  20617265.431    20617269.798    20617264.211
+      -974.249        -759.155          56.000          49.000
+ 04  2  1 22 16 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3114736.68043  -2368234.89942  24212996.945    24213002.658    24212997.906
+     -2595.704       -2022.626          45.000          38.000
+  -8501720.26343  -6619711.30142  21504067.828    21504069.620    21504067.318
+     -1751.837       -1365.068          55.000          48.000
+  -6127771.73843  -4707038.94042  24179285.510    24179289.588    24179282.886
+     -1892.093       -1474.358          48.000          40.000
+ -24367502.19843 -18941221.55342  20646832.928    20646837.278    20646832.073
+        87.267          68.000          56.000          50.000
+ -17921336.58543 -13954582.56942  21413070.537    21413074.390    21413069.257
+      -180.370        -140.548          56.000          49.000
+ -12977628.22543 -10102148.71842  22762232.737    22762235.298    22762229.647
+      2495.163        1944.283          50.000          44.000
+  -2864918.06443  -2187823.18742  24922660.034    24922664.120    24922658.796
+      2565.808        1999.331          46.000          38.000
+ -22926504.44943 -17849491.39542  20346783.921    20346786.501    20346782.864
+       760.821         592.848          56.000          51.000
+   3121113.74643   2479148.60042  25211059.235    25211064.945    25211057.271
+     -2072.929       -1615.269          43.000          37.000
+   -885712.00643   -643618.08942  24777750.259    24777757.331    24777751.123
+     -2136.012       -1664.425          42.000          37.000
+ -24427711.67443 -18976644.88142  20622846.847    20622851.137    20622845.498
+      -981.499        -764.804          55.000          49.000
+ 04  2  1 22 17  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -3036913.45343  -2307593.52142  24227806.741    24227812.149    24227805.617
+     -2592.798       -2020.362          46.000          39.000
+  -8449115.84943  -6578720.89242  21514077.805    21514079.269    21514077.313
+     -1755.597       -1367.998          55.000          48.000
+  -6070930.38743  -4662747.05242  24190102.087    24190105.144    24190100.869
+     -1898.042       -1478.994          49.000          41.000
+ -24369834.02243 -18943038.58442  20646389.874    20646393.523    20646388.590
+        67.673          52.732          56.000          50.000
+ -17915835.31643 -13950295.89642  21414117.052    21414121.313    21414115.871
+      -186.849        -145.597          56.000          49.000
+ -13052302.72043 -10160336.64742  22748021.832    22748025.725    22748019.193
+      2482.457        1934.382          50.000          44.000
+  -2942003.65643  -2247889.85042  24907991.768    24907995.270    24907991.187
+      2572.801        2004.780          46.000          38.000
+ -22949040.37243 -17867051.86242  20342495.745    20342498.070    20342494.437
+       741.045         577.438          56.000          51.000
+   3183245.73743   2527563.10042  25222881.600    25222888.753    25222880.628
+     -2069.883       -1612.896          43.000          37.000
+   -821713.57443   -593749.30642  24789931.451    24789935.849    24789929.803
+     -2130.921       -1660.458          43.000          37.000
+ -24398154.52743 -18953613.37142  20628471.512    20628475.983    20628470.300
+      -989.479        -771.022          55.000          49.000
+ 04  2  1 22 17 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2959180.23243  -2247022.24942  24242600.390    24242603.799    24242599.164
+     -2589.514       -2017.803          47.000          39.000
+  -8396406.08543  -6537648.38342  21524108.391    21524110.234    21524107.024
+     -1758.619       -1370.352          55.000          48.000
+  -6013917.02243  -4618321.13342  24200950.743    24200956.313    24200950.575
+     -1903.004       -1482.860          47.000          40.000
+ -24371586.08743 -18944403.86042  20646056.155    20646059.936    20646055.136
+        48.869          38.080          56.000          50.000
+ -17910146.75643 -13945863.28642  21415199.925    21415203.775    21415198.295
+      -192.634        -150.104          56.000          49.000
+ -13126597.66943 -10218228.81542  22733883.565    22733887.244    22733882.374
+      2470.222        1924.848          50.000          44.000
+  -3019302.04443  -2308122.32842  24893283.482    24893286.746    24893281.925
+      2580.348        2010.661          47.000          39.000
+ -22970989.75943 -17884155.28842  20338318.573    20338321.156    20338317.745
+       721.994         562.593          55.000          51.000
+   3245275.91143   2575898.25342  25234683.677    25234691.375    25234684.617
+     -2065.859       -1609.760          43.000          36.000
+   -757883.98743   -544012.03842  24802077.205    24802083.504    24802075.916
+     -2124.271       -1655.276          42.000          37.000
+ -24368365.39843 -18930401.09242  20634140.303    20634143.675    20634139.098
+      -996.570        -776.548          56.000          49.000
+ 04  2  1 22 18  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2881540.86843  -2186524.14342  24257372.793    24257376.545    24257372.603
+     -2586.876       -2015.747          46.000          38.000
+  -8343595.64043  -6496497.42042  21534158.373    21534159.250    21534157.554
+     -1762.412       -1373.308          55.000          48.000
+  -5956734.74543  -4573763.57542  24211832.362    24211835.020    24211831.783
+     -1909.348       -1487.804          48.000          39.000
+ -24372761.69843 -18945319.94942  20645832.909    20645836.443    20645831.444
+        29.214          22.764          56.000          50.000
+ -17904273.08843 -13941286.43142  21416317.855    21416321.237    21416315.981
+      -199.269        -155.274          56.000          49.000
+ -13200514.18843 -10275826.11542  22719818.296    22719820.988    22719816.913
+      2457.015        1914.557          51.000          44.000
+  -3096814.80143  -2368521.84542  24878532.379    24878537.894    24878531.780
+      2587.042        2015.877          46.000          39.000
+ -22992355.41243 -17900803.85542  20334253.372    20334255.566    20334252.128
+       702.099         547.090          56.000          51.000
+   3307198.61043   2624149.62642  25246469.300    25246474.928    25246468.466
+     -2062.403       -1607.067          43.000          37.000
+   -694228.65143   -494410.54042  24814189.517    24814195.838    24814189.945
+     -2119.427       -1651.501          42.000          37.000
+ -24338349.37043 -18907012.01442  20639852.192    20639855.738    20639850.799
+     -1004.634        -782.832          55.000          49.000
+ 04  2  1 22 18 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2803996.25443  -2126099.84542  24272130.938    24272133.411    24272129.714
+     -2582.952       -2012.690          46.000          38.000
+  -8290686.37143  -6455269.46042  21544226.363    21544227.897    21544225.314
+     -1765.101       -1375.403          55.000          48.000
+  -5899383.55943  -4529074.40942  24222744.870    24222748.649    24222743.724
+     -1914.288       -1491.653          47.000          40.000
+ -24373361.30743 -18945787.20142  20645718.632    20645722.598    20645717.518
+        10.587           8.250          56.000          50.000
+ -17898213.17143 -13936564.44842  21417470.452    21417474.751    21417469.310
+      -204.835        -159.612          56.000          49.000
+ -13274050.06243 -10333126.81342  22705823.883    22705829.227    22705823.393
+      2445.057        1905.239          50.000          44.000
+  -3174540.05043  -2429086.93742  24863740.458    24863745.417    24863740.658
+      2594.465        2021.661          46.000          39.000
+ -23013137.14743 -17916997.42342  20330298.583    20330301.019    20330297.313
+       683.275         532.422          56.000          51.000
+   3369011.07243   2672315.14842  25258230.618    25258238.546    25258230.345
+     -2058.264       -1603.842          43.000          36.000
+   -630749.98643   -444946.70942  24826268.982    24826273.246    24826268.290
+     -2112.723       -1646.278          42.000          37.000
+ -24308108.24643 -18883447.52742  20645607.110    20645610.509    20645605.676
+     -1011.653        -788.301          56.000          49.000
+ 04  2  1 22 19  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2726547.95243  -2065750.60742  24286867.539    24286870.632    24286867.375
+     -2580.061       -2010.437          45.000          39.000
+  -8237680.60043  -6413966.29642  21554313.130    21554314.583    21554311.615
+     -1768.632       -1378.155          55.000          48.000
+  -5841863.95943  -4484254.02342  24233691.816    24233694.881    24233690.142
+     -1920.365       -1496.388          47.000          39.000
+ -24373386.03243 -18945806.49442  20645713.888    20645717.676    20645712.646
+        -8.873          -6.914          56.000          50.000
+ -17891966.53143 -13931696.96542  21418659.530    21418663.412    21418657.971
+      -211.487        -164.795          56.000          49.000
+ -13347204.13143 -10390130.01342  22691903.140    22691907.965    22691902.495
+      2431.915        1894.999          50.000          44.000
+  -3252476.76943  -2489816.80142  24848910.410    24848916.304    24848908.452
+      2601.158        2026.876          44.000          38.000
+ -23033335.38743 -17932736.31942  20326455.087    20326457.364    20326453.698
+       663.379         516.919          56.000          51.000
+   3430709.90943   2720392.08142  25269973.528    25269979.112    25269973.093
+     -2055.039       -1601.329          43.000          36.000
+   -567451.10043   -395622.98242  24838314.009    24838320.068    24838313.330
+     -2107.094       -1641.891          41.000          37.000
+ -24277644.90043 -18859709.88242  20651403.558    20651407.612    20651402.670
+     -1019.257        -794.226          56.000          49.000
+ 04  2  1 22 19 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2649195.28043  -2005475.91742  24301587.580    24301592.673    24301586.567
+     -2576.168       -2007.404          44.000          39.000
+  -8184578.45043  -6372588.03342  21564418.155    21564419.377    21564417.225
+     -1770.983       -1379.987          55.000          48.000
+  -5784173.95343  -4439300.84342  24244668.722    24244670.310    24244669.383
+     -1925.283       -1500.220          45.000          38.000
+ -24372834.29143 -18945376.59242  20645818.334    20645822.786    20645817.488
+       -27.334         -21.299          56.000          50.000
+ -17885530.46643 -13926681.88442  21419884.522    21419888.446    21419882.901
+      -217.043        -169.124          56.000          49.000
+ -13419972.65443 -10446832.77142  22678056.422    22678059.565    22678054.438
+      2419.767        1885.533          50.000          45.000
+  -3330620.89643  -2550708.28442  24834038.866    24834045.999    24834039.301
+      2609.270        2033.197          44.000          38.000
+ -23052948.10343 -17948018.96342  20322722.542    20322724.825    20322721.523
+       644.593         502.280          56.000          51.000
+   3492294.08043   2768379.66742  25281692.708    25281698.616    25281691.502
+     -2050.712       -1597.957          42.000          36.000
+   -504333.06343   -346440.19842  24850325.620    24850330.779    24850324.454
+     -2100.488       -1636.744          42.000          37.000
+ -24246959.48743 -18835799.19842  20657242.858    20657246.911    20657241.619
+     -1025.880        -799.387          55.000          49.000
+ 04  2  1 22 20  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2571940.61143  -1945277.59042  24316289.886    24316294.321    24316289.155
+     -2572.917       -2004.870          46.000          39.000
+  -8131383.06043  -6331137.11942  21574540.222    21574542.110    21574539.816
+     -1774.188       -1382.484          55.000          48.000
+  -5726314.87343  -4394215.91742  24255679.207    24255685.336    24255678.094
+     -1931.191       -1504.824          46.000          38.000
+ -24371707.66443 -18944498.72942  20646033.094    20646037.115    20646031.851
+       -46.550         -36.273          56.000          50.000
+ -17878905.31343 -13921519.45242  21421145.312    21421148.945    21421143.625
+      -223.551        -174.195          56.000          49.000
+ -13492355.06143 -10503234.64742  22664281.736    22664286.371    22664280.484
+      2406.745        1875.386          50.000          45.000
+  -3408972.57443  -2611761.51942  24819131.505    24819136.278    24819130.440
+      2615.594        2038.125          45.000          39.000
+ -23071976.49643 -17962846.28942  20319101.578    20319104.346    20319100.517
+       625.039         487.043          55.000          51.000
+   3553759.22643   2816274.51642  25293387.469    25293390.399    25293384.787
+     -2045.881       -1594.193          41.000          35.000
+   -441399.73843   -297401.31342  24862303.015    24862305.819    24862301.812
+     -2094.117       -1631.779          41.000          36.000
+ -24216055.25043 -18811718.00342  20663124.011    20663128.171    20663122.563
+     -1033.411        -805.255          56.000          49.000
+ 04  2  1 22 20 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2494783.01343  -1885154.90242  24330972.436    24330975.360    24330970.982
+     -2570.492       -2002.981          46.000          39.000
+  -8078094.70643  -6289613.76042  21584680.862    21584682.515    21584680.066
+     -1777.899       -1385.376          55.000          48.000
+  -5668285.42243  -4348998.23542  24266722.490    24266727.241    24266722.003
+     -1937.307       -1509.590          47.000          39.000
+ -24370005.45544 -18943172.35742  20646357.690    20646361.123    20646356.553
+       -66.377         -51.722          57.000          50.000
+ -17872088.51943 -13916207.69242  21422442.240    21422446.089    21422440.802
+      -230.504        -179.613          56.000          49.000
+ -13564347.86243 -10559332.94642  22650582.088    22650585.071    22650581.289
+      2393.174        1864.811          51.000          45.000
+  -3487528.29143  -2672973.74442  24804180.597    24804187.718    24804180.658
+      2621.759        2042.929          43.000          38.000
+ -23090419.10343 -17977217.15642  20315592.121    20315594.855    20315591.065
+       604.888         471.341          55.000          51.000
+   3615104.26843   2864075.74842  25305060.866    25305066.149    25305061.347
+     -2042.148       -1591.284          42.000          35.000
+   -378651.98843   -248507.03942  24874244.948    24874248.406    24874243.079
+     -2088.105       -1627.095          43.000          36.000
+ -24184932.85043 -18787466.80742  20669046.297    20669050.166    20669045.053
+     -1041.113        -811.257          56.000          49.000
+ 04  2  1 22 21  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2417727.27143  -1825111.55842  24345634.877    24345638.620    24345632.915
+     -2567.232       -2000.440          45.000          39.000
+  -8024718.83743  -6248022.21342  21594838.395    21594839.906    21594837.489
+     -1780.974       -1387.772          55.000          48.000
+  -5610088.82243  -4303650.32142  24277797.878    24277802.638    24277795.718
+     -1943.246       -1514.218          46.000          39.000
+ -24367731.88643 -18941400.76842  20646789.944    20646793.705    20646788.990
+       -85.629         -66.724          56.000          50.000
+ -17865082.53643 -13910748.51742  21423775.410    21423779.431    21423773.903
+      -236.998        -184.674          56.000          49.000
+ -13635952.81843 -10615129.04242  22636956.484    22636960.385    22636955.025
+      2380.049        1854.584          51.000          45.000
+  -3566289.99143  -2734346.45442  24789194.579    24789198.589    24789192.627
+      2628.532        2048.207          45.000          39.000
+ -23108279.45243 -17991134.31842  20312193.567    20312195.795    20312192.366
+       585.360         456.125          55.000          51.000
+   3676322.71143   2911778.35742  25316711.435    25316714.980    25316709.077
+     -2038.472       -1588.420          42.000          35.000
+   -316095.74443   -199762.03742  24886145.538    24886152.614    24886146.129
+     -2081.978       -1622.320          42.000          36.000
+ -24153597.83243 -18763049.93942  20675008.987    20675012.791    20675007.804
+     -1048.323        -816.875          55.000          49.000
+ 04  2  1 22 21 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2340767.79743  -1765143.26342  24360280.394    24360284.177    24360278.647
+     -2564.269       -1998.132          45.000          38.000
+  -7971250.63843  -6206358.71642  21605012.685    21605014.569    21605012.015
+     -1784.262       -1390.334          55.000          48.000
+  -5551719.14143  -4258167.57342  24288904.806    24288908.073    24288903.869
+     -1949.005       -1518.705          46.000          39.000
+ -24364881.00743 -18939179.33542  20647332.382    20647336.271    20647331.344
+      -105.149         -81.934          56.000          50.000
+ -17857879.92243 -13905136.11542  21425146.070    21425150.156    21425144.880
+      -243.776        -189.955          56.000          49.000
+ -13707161.51143 -10670616.34742  22623405.025    22623408.921    22623404.529
+      2366.643        1844.137          51.000          45.000
+  -3645249.57743  -2795873.38542  24774167.936    24774174.261    24774167.634
+      2634.922        2053.186          45.000          39.000
+ -23125550.86943 -18004592.58042  20308906.743    20308909.109    20308905.505
+       565.421         440.588          56.000          51.000
+   3737418.32343   2959385.29442  25328336.868    25328343.202    25328336.961
+     -2035.356       -1585.992          43.000          35.000
+   -253727.21843   -151163.25442  24898018.007    24898019.464    24898012.966
+     -2076.216       -1617.831          43.000          36.000
+ -24122045.83843 -18738463.99642  20681013.425    20681016.982    20681012.269
+     -1055.831        -822.725          56.000          49.000
+ 04  2  1 22 22  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2263904.87643  -1705250.16842  24374907.067    24374908.013    24374905.070
+     -2560.259       -1995.007          45.000          37.000
+  -7917691.43443  -6164624.30742  21615205.155    21615206.510    21615203.973
+     -1786.698       -1392.232          55.000          48.000
+  -5493175.55743  -4212549.27342  24300045.571    24300050.755    24300043.868
+     -1954.475       -1522.967          45.000          38.000
+ -24361452.72243 -18936507.97642  20647984.643    20647988.697    20647983.622
+      -123.842         -96.500          56.000          50.000
+ -17850479.21943 -13899369.37342  21426554.423    21426558.643    21426552.988
+      -249.839        -194.680          56.000          49.000
+ -13777971.46043 -10725792.94442  22609931.922    22609934.463    22609930.392
+      2353.719        1834.067          51.000          45.000
+  -3724404.21343  -2857552.29842  24759103.836    24759110.723    24759103.363
+      2641.806        2058.550          44.000          38.000
+ -23142232.72943 -18017591.43942  20305732.303    20305734.863    20305731.323
+       546.312         425.698          55.000          51.000
+   3798388.80643   3006894.71842  25339939.984    25339946.262    25339939.816
+     -2030.172       -1581.952          43.000          35.000
+   -191548.10043   -102712.07042  24909849.402    24909851.875    24909847.966
+     -2069.515       -1612.609          41.000          35.000
+ -24090278.22043 -18713710.03742  20687058.733    20687062.565    20687057.249
+     -1062.355        -827.809          55.000          49.000
+ 04  2  1 22 22 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2187145.81243  -1645437.98042  24389513.333    24389516.470    24389513.411
+     -2557.101       -1992.546          45.000          38.000
+  -7864049.15943  -6122825.16542  21625413.421    21625414.927    21625412.614
+     -1789.408       -1394.344          55.000          48.000
+  -5434464.22643  -4166800.26142  24311218.564    24311223.416    24311216.347
+     -1959.789       -1527.108          45.000          38.000
+ -24357453.84543 -18933391.99342  20648745.614    20648749.526    20648744.398
+      -142.779        -111.256          56.000          50.000
+ -17842885.46543 -13893452.20142  21427999.504    21428003.420    21427997.955
+      -256.362        -199.762          56.000          49.000
+ -13848387.07543 -10780662.25542  22596531.677    22596535.164    22596530.800
+      2340.549        1823.804          51.000          45.000
+  -3803758.47943  -2919386.76642  24744003.082    24744011.854    24744004.181
+      2648.310        2063.618          44.000          39.000
+ -23158331.41543 -18030135.88042  20302669.092    20302671.411    20302667.714
+       526.898         410.570          55.000          51.000
+   3859225.31443   3054299.71642  25351517.500    25351520.181    25351515.044
+     -2025.540       -1578.343          44.000          35.000
+   -129567.33843    -54415.42442  24921639.839    24921647.766    24921640.737
+     -2062.624       -1607.239          40.000          35.000
+ -24058303.18543 -18688794.45642  20693142.675    20693146.844    20693141.586
+     -1069.262        -833.191          55.000          49.000
+ 04  2  1 22 23  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2110485.13843  -1585702.49042  24404102.450    24404104.239    24404100.119
+     -2553.594       -1989.813          45.000          38.000
+  -7810319.18843  -6080957.69342  21635637.507    21635639.060    21635636.332
+     -1792.594       -1396.826          55.000          48.000
+  -5375578.82643  -4120915.61642  24322421.727    24322429.881    24322421.552
+     -1965.833       -1531.818          43.000          38.000
+ -24352878.79643 -18929827.05242  20649616.097    20649620.360    20649615.249
+      -162.246        -126.425          56.000          50.000
+ -17835091.51543 -13887379.01942  21429482.470    21429486.733    21429481.310
+      -263.306        -205.173          56.000          49.000
+ -13918400.18543 -10835217.93942  22583208.943    22583211.741    22583207.834
+      2326.771        1813.068          51.000          45.000
+  -3883304.64143  -2981370.75642  24728867.581    24728873.579    24728866.869
+      2654.456        2068.407          46.000          39.000
+ -23173840.66043 -18042221.01542  20299717.412    20299720.198    20299716.266
+       506.987         395.055          56.000          51.000
+   3919931.07943   3101602.82942  25363070.186    25363077.324    25363068.393
+     -2021.378       -1575.100          45.000          34.000
+    -67781.20243     -6270.46942  24933400.677    24933405.437    24933397.667
+     -2056.566       -1602.519          40.000          35.000
+ -24026116.58643 -18663714.00942  20699268.192    20699272.385    20699267.421
+     -1076.528        -838.853          56.000          49.000
+ 04  2  1 22 23 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -2033926.44543  -1526046.48142  24418670.547    24418674.165    24418669.153
+     -2550.277       -1987.229          44.000          38.000
+  -7756506.46543  -6039025.73242  21645877.466    21645879.599    21645877.133
+     -1794.872       -1398.601          55.000          48.000
+  -5316522.27043  -4074897.63942  24333659.404    24333662.234    24333659.548
+     -1971.367       -1536.130          44.000          37.000
+ -24347731.30943 -18925816.05142  20650596.032    20650599.503    20650594.671
+      -180.903        -140.963          56.000          50.000
+ -17827099.44143 -13881151.46342  21431003.426    21431007.396    21431001.840
+      -269.489        -209.991          56.000          49.000
+ -13988011.99843 -10889460.92542  22569962.064    22569965.598    22569961.119
+      2313.764        1802.933          51.000          45.000
+  -3963043.73743  -3043505.12142  24713694.223    24713699.227    24713691.961
+      2661.577        2073.956          45.000          39.000
+ -23188763.54243 -18053849.24842  20296877.848    20296880.329    20296876.813
+       487.930         380.205          56.000          51.000
+   3980500.44643   3148799.67642  25374594.885    25374600.595    25374594.478
+     -2016.115       -1570.999          44.000          34.000
+     -6195.07943     41718.59842  24945120.517    24945124.142    24945117.870
+     -2049.016       -1596.636          40.000          34.000
+ -23993723.32743 -18638472.53242  20705432.422    20705436.345    20705431.040
+     -1082.980        -843.880          55.000          49.000
+ 04  2  1 22 24  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -1957468.32143  -1466468.82342  24433220.572    24433224.552    24433219.961
+     -2547.005       -1984.679          44.000          38.000
+  -7702610.22343  -5997028.70342  21656133.908    21656135.232    21656132.711
+     -1797.808       -1400.889          55.000          48.000
+  -5257292.69143  -4028744.78742  24344931.520    24344934.137    24344932.071
+     -1977.135       -1540.625          45.000          38.000
+ -24342009.70043 -18921357.68142  20651684.459    20651688.765    20651683.349
+      -200.280        -156.062          56.000          50.000
+ -17818905.94543 -13874766.94242  21432562.761    21432566.690    21432561.246
+      -276.420        -215.392          56.000          49.000
+ -14057218.35643 -10943387.97442  22556791.533    22556796.785    22556790.877
+      2300.111        1792.294          51.000          45.000
+  -4042971.52743  -3105786.47442  24698484.053    24698489.120    24698482.623
+      2667.206        2078.342          46.000          39.000
+ -23203097.82043 -18065018.82842  20294150.176    20294152.526    20294148.993
+       468.156         364.797          55.000          51.000
+   4040932.99743   3195889.95042  25386095.506    25386098.082    25386093.528
+     -2011.796       -1567.633          45.000          35.000
+     55190.95143     89551.79442  24956802.908    24956807.520    24956802.514
+     -2043.138       -1592.055          39.000          34.000
+ -23961123.09943 -18613069.78542  20711635.884    20711640.017    20711634.497
+     -1090.015        -849.362          55.000          49.000
+ 04  2  1 22 24 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -1881116.26243  -1406973.85742  24447749.682    24447752.169    24447749.132
+     -2543.898       -1982.258          44.000          38.000
+  -7648636.92343  -5954971.62442  21666404.478    21666406.438    21666403.602
+     -1800.903       -1403.301          55.000          48.000
+  -5197894.66743  -3982460.67542  24356236.459    24356238.745    24356234.759
+     -1983.377       -1545.488          44.000          37.000
+ -24335719.45343 -18916456.22042  20652881.872    20652885.693    20652880.766
+      -219.683        -171.181          56.000          50.000
+ -17810514.68943 -13868228.33742  21434159.487    21434163.992    21434158.258
+      -283.521        -220.925          56.000          49.000
+ -14126022.07443 -10997001.27242  22543699.042    22543703.491    22543697.671
+      2286.019        1781.314          51.000          45.000
+  -4123090.99743  -3168217.21942  24683238.690    24683243.970    24683237.915
+      2672.911        2082.788          46.000          39.000
+ -23216848.22843 -18075733.44142  20291533.662    20291535.815    20291532.397
+       448.142         349.202          56.000          51.000
+   4101221.33543   3242867.77242  25397566.311    25397576.187    25397565.482
+     -2007.484       -1564.273          41.000          35.000
+    116369.65143    137223.46342  24968443.073    24968445.804    24968443.693
+     -2035.881       -1586.401          38.000          34.000
+ -23928322.60343 -18587510.98342  20717877.641    20717881.627    20717876.441
+     -1097.103        -854.885          55.000          49.000
+ 04  2  1 22 25  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -1804863.60743  -1347556.31042  24462260.164    24462264.889    24462259.889
+     -2540.412       -1979.542          45.000          38.000
+  -7594580.27143  -5912849.59842  21676691.672    21676693.071    21676691.083
+     -1803.631       -1405.427          55.000          48.000
+  -5138320.03543  -3936039.01842  24367571.932    24367573.886    24367568.947
+     -1989.206       -1550.031          43.000          36.000
+ -24328852.98043 -18911105.75542  20654188.570    20654192.344    20654187.648
+      -238.743        -186.033          56.000          50.000
+ -17801916.45843 -13861528.45442  21435795.454    21435799.285    21435793.919
+      -290.264        -226.180          55.000          49.000
+ -14194413.12943 -11050293.01742  22530684.448    22530687.999    22530683.524
+      2272.505        1770.783          51.000          45.000
+  -4203391.96543  -3230789.40642  24667955.807    24667960.792    24667955.479
+      2679.431        2087.868          45.000          39.000
+ -23230006.95543 -18085987.00042  20289029.284    20289031.685    20289028.473
+       428.475         333.877          55.000          51.000
+   4161370.91843   3289737.53642  25409012.987    25409019.758    25409012.482
+     -2002.444       -1560.346          43.000          35.000
+  -4548913.01653  -3498061.78852  24980044.731    24980048.272    24980040.767
+     -2029.457       -1581.395          37.000          32.000
+ -23895315.68743 -18561791.32442  20724158.664    20724162.683    20724157.461
+     -1103.974        -860.239          55.000          49.000
+ 04  2  1 22 25 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -1728713.13243  -1288218.37842  24476750.240    24476756.059    24476750.008
+     -2536.441       -1976.447          45.000          38.000
+  -7540444.20443  -5870665.68842  21686993.492    21686994.895    21686992.463
+     -1805.752       -1407.079          55.000          48.000
+  -5078571.09043  -3889481.48642  24378941.823    24378945.275    24378941.551
+     -1994.547       -1554.192          42.000          37.000
+ -24321413.53743 -18905308.81242  20655604.132    20655608.202    20655603.120
+      -257.454        -200.613          56.000          50.000
+ -17793112.56343 -13854668.31542  21437470.888    21437474.581    21437469.582
+      -296.792        -231.266          56.000          49.000
+ -14262392.16243 -11103263.70042  22517749.416    22517752.429    22517748.448
+      2259.257        1760.460          51.000          45.000
+  -4283874.67943  -3293503.16242  24652642.418    24652646.997    24652641.046
+      2686.068        2093.040          47.000          39.000
+ -23242576.51843 -18095781.47842  20286637.404    20286639.972    20286636.370
+       409.317         318.948          56.000          51.000
+   4221376.67143   3336495.23442  25420432.629    25420436.680    25420431.589
+     -1997.678       -1556.632          42.000          35.000
+  -4488142.12953  -3450707.88952  24991610.998    24991614.616    24991612.732
+     -2021.924       -1575.525          38.000          33.000
+ -23862106.70643 -18535914.21642  20730478.430    20730482.155    20730476.790
+     -1110.223        -865.109          55.000          49.000
+ 04  2  1 22 26  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -1652667.99843  -1228962.51942  24491220.621    24491225.945    24491220.544
+     -2532.656       -1973.498          44.000          37.000
+  -7486232.78243  -5828423.05542  21697309.234    21697310.522    21697308.433
+     -1808.091       -1408.902          55.000          48.000
+  -5018650.43743  -3842790.12642  24390344.792    24390350.081    24390341.661
+     -1999.851       -1558.325          45.000          37.000
+ -24313404.14843 -18899067.76242  20657128.233    20657132.287    20657127.092
+      -276.087        -215.133          56.000          50.000
+ -17784104.11143 -13847648.77742  21439185.402    21439189.480    21439183.996
+      -303.290        -236.330          56.000          49.000
+ -14329959.67343 -11155913.72442  22504891.802    22504895.087    22504890.342
+      2245.591        1749.811          52.000          45.000
+  -4364539.82743  -3356359.13142  24637291.493    24637297.341    24637290.336
+      2691.951        2097.624          46.000          39.000
+ -23254559.36443 -18105118.76642  20284357.318    20284359.594    20284356.165
+       389.968         303.871          55.000          51.000
+   4281233.48543   3383136.93442  25431824.955    25431828.547    25431822.924
+     -1992.251       -1552.403          43.000          35.000
+  -4427582.23943  -3403518.46342  25003136.289    25003140.086    25003131.444
+     -2014.653       -1569.859          40.000          32.000
+ -23828699.83743 -18509882.91342  20736835.617    20736839.182    20736834.327
+     -1116.474        -869.980          55.000          49.000
+ 04  2  1 22 26 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -1576727.73343  -1169788.38842  24505672.094    24505678.389    24505670.926
+     -2529.016       -1970.662          44.000          37.000
+  -7431946.59443  -5786122.17642  21707639.733    21707640.858    21707638.831
+     -1810.246       -1410.581          55.000          48.000
+  -4958557.14443  -3795964.27442  24401781.304    24401783.073    24401780.594
+     -2005.076       -1562.397          43.000          37.000
+ -24304824.33343 -18892382.22342  20658760.743    20658764.913    20658759.764
+      -294.741        -229.668          56.000          50.000
+ -17774889.37643 -13840468.50342  21440938.884    21440943.077    21440937.481
+      -310.185        -241.702          56.000          49.000
+ -14397112.80643 -11208240.85742  22492113.545    22492115.848    22492111.923
+      2232.022        1739.238          52.000          45.000
+  -4445384.39143  -3419354.87942  24621904.713    24621913.036    24621906.739
+      2697.550        2101.987          45.000          39.000
+ -23265954.53043 -18113998.12742  20282188.911    20282191.408    20282187.929
+       370.615         288.791          55.000          51.000
+   4340939.99643   3429661.43942  25443185.063    25443191.726    25443184.122
+     -1987.050       -1548.351          41.000          35.000
+  -4367234.42153  -3356494.28052  25014619.563    25014625.737    25014611.501
+     -2008.288       -1564.900          36.000          32.000
+ -23795096.13843 -18483698.23242  20743230.026    20743233.980    20743228.503
+     -1122.866        -874.960          55.000          49.000
+ 04  2  1 22 27  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -1500888.88643  -1110693.28542  24520103.533    24520109.019    24520102.529
+     -2525.763       -1968.127          44.000          37.000
+  -7377582.59143  -5743760.65942  21717984.344    21717986.118    21717983.588
+     -1813.084       -1412.793          54.000          48.000
+  -4898286.39843  -3749000.14842  24413249.270    24413253.546    24413248.470
+     -2011.534       -1567.429          42.000          36.000
+ -24295670.45043 -18885249.36042  20660502.949    20660506.755    20660501.689
+      -314.092        -244.747          56.000          50.000
+ -17765462.87943 -13833123.20942  21442732.846    21442736.707    21442731.373
+      -317.540        -247.434          55.000          49.000
+ -14463845.11743 -11260240.07642  22479414.145    22479417.111    22479412.766
+      2217.895        1728.230          52.000          45.000
+  -4526401.81943  -3482485.33442  24606489.646    24606496.308    24606489.811
+      2703.792        2106.851          47.000          40.000
+ -23276757.71143 -18122416.19942  20280132.908    20280135.776    20280131.872
+       350.655         273.238          56.000          51.000
+   4400497.92843   3476070.11842  25454518.882    25454522.235    25454515.508
+     -1981.960       -1544.384          40.000          35.000
+  -4307096.86953  -3309633.95552  25026061.752    25026063.237    25026062.575
+     -2000.981       -1559.206          38.000          31.000
+ -23761292.93443 -18457358.09742  20749662.762    20749666.522    20749661.520
+     -1129.517        -880.143          56.000          49.000
+ 04  2  1 22 27 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G16G23
+  -1425159.46943  -1051683.45542  24534515.611    24534519.627    24534514.963
+     -2522.977       -1965.956          44.000          38.000
+  -7323150.02943  -5701345.70442  21728343.305    21728345.187    21728342.500
+     -1815.760       -1414.878          55.000          48.000
+  -4837845.93643  -3701903.82642  24424749.549    24424755.284    24424748.785
+     -2017.493       -1572.072          42.000          36.000
+ -24285951.13643 -18877675.89542  20662352.175    20662356.393    20662351.150
+      -333.550        -259.909          56.000          50.000
+ -17755831.17443 -13825618.01642  21444565.750    21444569.812    21444564.385
+      -324.678        -252.996          56.000          49.000
+ -14530162.51043 -11311915.98042  22466794.161    22466798.771    22466793.163
+      2203.509        1717.020          52.000          45.000
+  -4607597.71843  -3545754.87642  24591039.119    24591044.409    24591038.845
+      2709.318        2111.157          47.000          40.000
+ -23286976.89543 -18130379.20542  20278188.512    20278190.968    20278187.108
+       330.878         257.827          55.000          51.000
+   1309056.95353   1067155.00152  25465820.407    25465826.904    25465816.629
+     -1977.964       -1541.271          37.000          34.000
+                  -3262945.05252  25037464.742    25037472.331
+     -1993.984       -1553.754          37.000          31.000
+ -23727299.74343 -18430869.91642  20756131.731    20756135.482    20756130.235
+     -1136.346        -885.464          56.000          49.000
+ 04  2  1 22 28  0.0000000  0 10G18G22G21G 3G15G31G25G14G 2G23
+  -1349533.01943   -992753.88842  24548904.108    24548910.447    24548902.654
+     -2519.527       -1963.268          41.000          37.000
+  -7268643.36143  -5658873.01642  21738715.670    21738716.798    21738714.682
+     -1818.363       -1416.906          55.000          48.000
+  -4777228.72543  -3654669.73742  24436286.181    24436291.315    24436284.678
+     -2023.711       -1576.918          42.000          36.000
+ -24275659.79143 -18869656.69742  20664311.041    20664314.712    20664309.820
+      -352.983        -275.052          56.000          50.000
+ -17745985.63343 -13817946.18842  21446438.876    21446443.540    21446437.408
+      -332.096        -258.776          56.000          49.000
+ -14596055.77343 -11363261.39342  22454254.933    22454258.522    22454254.186
+      2188.976        1705.696          52.000          45.000
+  -4688962.94143  -3609156.30242  24575555.384    24575561.861    24575555.893
+      2715.000        2115.584          47.000          40.000
+ -23296604.85743 -18137881.52142  20276356.174    20276358.833    20276355.161
+       310.748         242.141          56.000          51.000
+   1368302.08453   1113319.97452  25477097.163    25477102.278    25477095.481
+     -1972.315       -1536.869          41.000          36.000
+ -23693111.10043 -18404229.44542  20762636.664    20762641.097    20762635.547
+     -1143.280        -890.867          55.000          49.000
+ 04  2  1 22 28 30.0000000  0 10G18G22G21G 3G15G31G25G14G 2G23
+  -1274010.91143   -933905.58542  24563278.462    24563282.877    24563278.904
+     -2515.564       -1960.180          44.000          37.000
+  -7214064.90643  -5616344.39242  21749100.897    21749102.772    21749100.063
+     -1820.236       -1418.366          55.000          48.000
+  -4716435.30343  -3607298.29742  24447851.797    24447858.551    24447854.034
+     -2029.307       -1581.278          40.000          35.000
+ -24264798.23743 -18861193.18042  20666377.819    20666381.638    20666376.889
+      -371.325        -289.344          56.000          50.000
+ -17735926.20043 -13810107.69042  21448353.356    21448357.514    21448352.132
+      -338.715        -263.934          56.000          49.000
+ -14661524.06143 -11414275.65342  22441797.380    22441800.907    22441796.214
+      2175.425        1695.136          52.000          45.000
+  -4770496.49043  -3672688.93542  24560040.355    24560045.390    24560040.422
+      2720.665        2119.999          46.000          40.000
+ -23305642.85843 -18144924.13042  20274636.728    20274638.705    20274635.383
+       291.602         227.222          56.000          51.000
+   1427389.69943   1159362.22142  25488340.514    25488347.716    25488338.902
+     -1966.651       -1532.455          40.000          36.000
+ -23658729.87843 -18377438.91542  20769179.644    20769183.923    20769178.484
+     -1149.000        -895.325          55.000          49.000
+ 04  2  1 22 29  0.0000000  0 10G18G22G21G 3G15G31G25G14G 2G23
+  -1198597.96143   -875142.37542  24577628.814    24577632.529    24577627.557
+     -2513.178       -1958.320          43.000          37.000
+  -7159420.37343  -5573764.27642  21759499.337    21759501.692    21759498.685
+     -1823.547       -1420.946          54.000          48.000
+  -4655469.96943  -3559792.94342  24459453.672    24459457.552    24459452.453
+     -2036.335       -1586.754          39.000          34.000
+ -24253371.36643 -18852289.15642  20668552.506    20668556.065    20668551.406
+      -391.274        -304.889          56.000          50.000
+ -17725655.83043 -13802104.83342  21450307.994    21450312.018    21450306.680
+      -346.772        -270.212          56.000          49.000
+ -14726569.64843 -11464960.53742  22429419.211    22429422.648    22429417.830
+      2160.188        1683.263          52.000          45.000
+  -4852200.10443  -3736354.04142  24544493.237    24544499.539    24544492.100
+      2725.060        2123.423          46.000          40.000
+ -23314095.21543 -18151510.39042  20273028.220    20273030.451    20273026.983
+       270.996         211.166          56.000          51.000
+   1486313.20643   1205276.55842  25499554.765    25499558.493    25499550.899
+     -1962.453       -1529.184          39.000          35.000
+ -23624161.91043 -18350502.85442  20775757.834    20775761.819    20775756.772
+     -1156.303        -901.015          55.000          49.000
+ 04  2  1 22 29 30.0000000  0 10G18G22G21G 3G15G31G25G14G 2G23
+  -1123291.13343   -816461.82542  24591959.004    24591962.809    24591957.450
+     -2507.940       -1954.239          42.000          37.000
+  -7104707.19443  -5531130.67242  21769911.489    21769912.984    21769910.448
+     -1824.825       -1421.941          55.000          48.000
+  -4594328.85543  -3512150.62342  24471090.421    24471091.160    24471090.958
+     -2040.842       -1590.266          41.000          34.000
+ -24241376.06543 -18842942.20042  20670834.707    20670838.946    20670833.885
+      -409.232        -318.882          56.000          50.000
+ -17715169.65943 -13793933.82142  21452302.779    21452307.208    21452301.675
+      -353.139        -275.173          55.000          49.000
+ -14791186.50743 -11515311.35242  22417123.556    22417126.509    22417121.725
+      2146.854        1672.873          52.000          45.000
+  -4934067.72543  -3800146.98942  24528914.033    24528918.469    24528912.998
+      2731.639        2128.550          46.000          40.000
+ -23321958.17143 -18157637.38042  20271532.046    20271534.160    20271530.860
+       252.380         196.660          56.000          51.000
+   1545074.13243   1251064.16042  25510736.536    25510740.610    25510733.076
+     -1955.886       -1524.067          39.000          35.000
+ -23589404.95243 -18323419.54342  20782371.635    20782376.176    20782370.598
+     -1161.568        -905.118          55.000          49.000
+ 04  2  1 22 30  0.0000000  0 10G18G22G21G 3G15G31G25G14G 2G23
+  -1048091.19243   -757864.58842  24606269.234    24606273.044    24606268.678
+     -2504.948       -1951.907          43.000          37.000
+  -7049926.97243  -5488444.83342  21780335.597    21780337.547    21780334.759
+     -1827.406       -1423.953          55.000          48.000
+  -4533011.76743  -3464371.13342  24482759.744    24482761.521    24482756.447
+     -2047.014       -1595.076          42.000          34.000
+ -24228813.04243 -18833152.86642  20673225.592    20673229.650    20673224.417
+      -428.592        -333.968          56.000          50.000
+ -17704466.53143 -13785593.75042  21454339.888    21454344.219    21454338.623
+      -360.715        -281.077          56.000          49.000
+ -14855373.09243 -11565326.88342  22404909.161    22404912.570    22404908.042
+      2131.903        1661.223          52.000          46.000
+  -5016097.52143  -3864066.29142  24513303.898    24513309.130    24513301.695
+      2736.621        2132.432          46.000          40.000
+ -23329232.17943 -18163305.45142  20270147.679    20270150.125    20270146.612
+       232.291         181.006          56.000          51.000
+   1603669.95953   1296723.14852  25521884.993    25521894.793    25521884.916
+     -1950.694       -1520.021          37.000          34.000
+ -23554460.97143 -18296190.50142  20789021.284    20789025.662    20789019.961
+     -1168.145        -910.243          55.000          49.000
+ 04  2  1 22 30 30.0000000  0  9G18G22G21G 3G15G31G25G14G23
+   -972999.78643   -699351.93642  24620559.047    24620562.284    24620558.620
+     -2500.986       -1948.820          43.000          38.000
+  -6995082.63443  -5445709.02842  21790771.704    21790773.786    21790771.141
+     -1828.974       -1425.174          55.000          48.000
+  -4471520.32743  -3416455.83442  24494460.503    24494465.002    24494457.581
+     -2052.393       -1599.267          42.000          35.000
+ -24215684.77743 -18822923.08442  20675723.527    20675727.607    20675722.880
+      -446.843        -348.189          56.000          50.000
+ -17693546.56943 -13777084.70442  21456418.642    21456421.738    21456417.009
+      -367.440        -286.317          56.000          49.000
+ -14919129.07143 -11615006.88742  22392776.943    22392779.966    22392775.539
+      2118.150        1650.506          52.000          46.000
+  -5098288.64343  -3928111.32042  24497663.967    24497668.983    24497663.386
+      2742.616        2137.103          46.000          40.000
+ -23335919.00043 -18168515.97142  20268875.180    20268877.535    20268874.295
+       213.310         166.216          56.000          51.000
+ -23519333.36043 -18268818.36342  20795706.079    20795710.266    20795705.041
+     -1173.679        -914.555          55.000          49.000
+ 04  2  1 22 31  0.0000000  0  9G18G22G21G 3G15G31G25G14G23
+   -898014.65343   -640922.06842  24634829.668    24634832.610    24634826.506
+     -2497.227       -1945.891          44.000          39.000
+  -6940172.76743  -5402922.16342  21801221.345    21801222.783    21801220.780
+     -1830.807       -1426.603          55.000          48.000
+  -4409851.45443  -3368402.30742  24506195.450    24506198.575    24506193.806
+     -2058.148       -1603.752          44.000          36.000
+ -24201989.09443 -18812251.15342  20678330.065    20678334.245    20678329.024
+      -465.387        -362.639          56.000          50.000
+ -17682405.82943 -13768403.63142  21458538.212    21458542.343    21458536.644
+      -374.504        -291.821          56.000          49.000
+ -14982449.53843 -11664347.51942  22380726.194    22380730.331    22380724.742
+      2104.043        1639.514          51.000          45.000
+  -5180636.43543  -3992278.42242  24481993.258    24481996.697    24481992.541
+      2748.178        2141.437          46.000          40.000
+ -23342015.93943 -18173266.84442  20267715.280    20267717.516    20267713.834
+       193.964         151.141          56.000          51.000
+ -23484020.82143 -18241302.13142  20802425.730    20802430.137    20802424.610
+     -1179.519        -919.106          55.000          49.000
+ 04  2  1 22 31 30.0000000  0  9G18G22G21G 3G15G31G25G14G23
+   -823140.79843   -582578.95042  24649076.253    24649081.522    24649075.611
+     -2494.455       -1943.731          43.000          39.000
+  -6885203.21543  -5360088.78342  21811681.396    21811683.594    21811681.024
+     -1834.094       -1429.164          55.000          48.000
+  -4348009.93343  -3320214.18942  24517965.934    24517969.179    24517962.324
+     -2065.057       -1609.135          44.000          36.000
+ -24187731.76743 -18801141.57842  20681043.412    20681047.304    20681042.244
+      -485.370        -378.210          56.000          50.000
+ -17671047.84443 -13759553.28542  21460699.460    21460703.301    21460697.905
+      -383.065        -298.492          56.000          49.000
+ -15045337.31343 -11713350.99042  22368760.575    22368763.396    22368759.693
+      2088.075        1627.071          52.000          46.000
+  -5263142.89843  -4056569.18642  24466292.312    24466297.593    24466292.096
+      2752.027        2144.437          45.000          39.000
+ -23347527.80843 -18177561.81842  20266665.991    20266668.474    20266664.813
+       173.195         134.957          56.000          51.000
+ -23448529.69843 -18213646.74142  20809180.093    20809183.450    20809178.754
+     -1186.882        -924.843          55.000          49.000
+ 04  2  1 22 32  0.0000000  0  9G18G22G21G 3G15G31G25G14G23
+   -748374.24143   -524319.39742  24663305.065    24663310.047    24663304.579
+     -2491.114       -1941.128          46.000          39.000
+  -6830170.61943  -5317206.27142  21822154.439    21822155.925    21822153.227
+     -1836.154       -1430.769          55.000          48.000
+  -4285990.70543  -3271887.65942  24529764.891    24529771.056    24529765.124
+     -2070.796       -1613.607          44.000          36.000
+ -24172908.80043 -18789591.25242  20683863.620    20683867.903    20683862.825
+      -504.164        -392.855          56.000          50.000
+ -17659466.61743 -13750528.97942  21462903.215    21462907.351    21462901.790
+      -390.381        -304.193          56.000          49.000
+ -15107785.84243 -11762012.18442  22356876.401    22356879.322    22356875.102
+      2073.549        1615.752          52.000          46.000
+  -5345800.99743  -4120978.09842  24450562.636    24450568.918    24450561.808
+      2756.993        2148.306          44.000          38.000
+ -23352450.23943 -18181397.49242  20265729.432    20265732.163    20265728.443
+       153.660         119.735          56.000          51.000
+ -23412856.91443 -18185849.79342  20815968.462    20815972.062    20815967.023
+     -1192.708        -929.383          55.000          49.000
+ 04  2  1 22 32 30.0000000  0  9G18G22G21G 3G15G31G25G14G23
+   -673716.23643   -466144.43742  24677510.992    24677515.148    24677509.875
+     -2486.773       -1937.745          45.000          39.000
+  -6775077.12843  -5274276.32042  21832637.932    21832639.837    21832637.052
+     -1837.444       -1431.774          55.000          48.000
+  -4223794.70943  -3223423.35942  24541602.248    24541603.511    24541600.564
+     -2076.282       -1617.882          47.000          36.000
+ -24157521.96143 -18777601.53842  20686791.633    20686796.264    20686790.912
+      -522.217        -406.922          56.000          50.000
+ -17647661.84643 -13741330.49242  21465149.774    21465154.197    21465148.254
+      -397.088        -309.419          56.000          49.000
+ -15169793.95943 -11810330.21042  22345077.471    22345079.849    22345075.757
+      2059.642        1604.916          52.000          46.000
+  -5428609.57243  -4185504.25742  24434806.121    24434810.936    24434805.389
+      2762.786        2152.820          45.000          39.000
+ -23356784.54843 -18184774.88942  20264904.633    20264907.094    20264903.639
+       134.803         105.041          56.000          51.000
+ -23377004.96143 -18157913.23742  20822790.630    20822794.170    20822789.411
+     -1198.041        -933.538          55.000          49.000
+ 04  2  1 22 33  0.0000000  0  9G18G22G21G 3G15G31G25G14G23
+   -599168.31543   -408055.26242  24691698.755    24691701.322    24691696.734
+     -2482.602       -1934.495          45.000          39.000
+  -6719925.64043  -5231301.17742  21843132.941    21843134.622    21843132.036
+     -1839.137       -1433.094          55.000          47.000
+  -4161423.31343  -3174822.25742  24553471.889    24553474.916    24553470.265
+     -2081.868       -1622.235          46.000          37.000
+ -24141573.58643 -18765174.26542  20689826.637    20689830.858    20689825.666
+      -540.677        -421.307          56.000          50.000
+ -17635633.52643 -13731957.80942  21467438.761    21467443.028    21467437.085
+      -404.477        -315.177          56.000          49.000
+ -15231361.29543 -11858304.76242  22333359.668    22333364.479    22333359.246
+      2045.029        1593.529          51.000          45.000
+  -5511567.85643  -4250147.07742  24419020.076    24419023.922    24419018.883
+      2767.897        2156.803          45.000          38.000
+ -23360532.36943 -18187695.27942  20264191.285    20264194.180    20264190.359
+       115.459          89.968          56.000          51.000
+ -23340976.94443 -18129839.48742  20829646.598    20829650.063    20829645.025
+     -1203.614        -937.881          55.000          49.000
+ 04  2  1 22 33 30.0000000  0  9G18G22G21G 3G15G31G25G14G23
+   -524730.48143   -350051.86942  24705862.117    24705867.398    24705860.759
+     -2479.721       -1932.250          45.000          39.000
+  -6664716.61443  -5188281.19742  21853639.177    21853641.215    21853637.925
+     -1841.347       -1434.816          54.000          47.000
+  -4098875.64743  -3126083.94042  24565371.617    24565378.289    24565369.591
+     -2088.071       -1627.068          43.000          36.000
+ -24125063.99243 -18752309.67742  20692968.625    20692972.713    20692967.603
+      -559.678        -436.113          56.000          50.000
+ -17623379.93543 -13722409.58442  21469769.973    21469774.735    21469768.834
+      -412.324        -321.291          55.000          49.000
+ -15292485.38943 -11905933.94242  22321729.773    22321732.974    22321728.225
+      2029.972        1581.796          52.000          46.000
+  -5594672.59743  -4314904.02542  24403203.622    24403210.275    24403202.879
+      2772.520        2160.405          43.000          38.000
+ -23363693.38943 -18190158.42142  20263590.223    20263592.378    20263589.004
+        95.517          74.429          56.000          51.000
+ -23304773.90943 -18101629.36442  20836535.824    20836539.470    20836534.530
+     -1209.720        -942.639          56.000          49.000
+ 04  2  1 22 34  0.0000000  0  9G18G22G21G 3G15G31G25G14G23
+   -450401.12043   -292133.02842  24720006.635    24720012.283    24720004.980
+     -2475.254       -1928.769          44.000          39.000
+  -6609449.31143  -5145215.80842  21864155.679    21864158.070    21864154.575
+     -1842.585       -1435.780          54.000          47.000
+  -4036149.68643  -3077206.69242  24577307.559    24577312.104    24577306.615
+     -2093.471       -1631.276          42.000          35.000
+ -24107991.93643 -18739006.80542  20696216.961    20696221.074    20696216.377
+      -577.982        -450.375          56.000          50.000
+ -17610897.91143 -13712683.36042  21472145.818    21472149.759    21472144.197
+      -419.394        -326.800          56.000          49.000
+ -15353162.26343 -11953214.64342  22310183.266    22310186.502    22310181.735
+      2015.454        1570.484          52.000          46.000
+  -5677919.83443  -4379772.00242  24387364.313    24387367.379    24387362.987
+      2777.768        2164.494          45.000          39.000
+ -23366265.83343 -18192162.93242  20263100.541    20263103.087    20263099.427
+        76.450          59.571          56.000          51.000
+ -23268395.42843 -18073282.52942  20843458.067    20843461.948    20843457.025
+     -1214.992        -946.747          55.000          49.000
+ 04  2  1 22 34 30.0000000  0  9G18G22G21G 3G15G31G25G14G23
+   -376182.40843   -234300.37742  24734129.495    24734133.814    24734128.117
+     -2472.543       -1926.657          45.000          38.000
+  -6554127.02743  -5102107.57642  21874683.669    21874685.756    21874682.465
+     -1844.888       -1437.575          54.000          47.000
+  -3973247.38443  -3028192.00642  24589280.996    24589285.070    24589279.045
+     -2099.657       -1636.096          45.000          37.000
+ -24090360.00043 -18725267.67442  20699572.771    20699576.912    20699571.537
+      -597.001        -465.195          56.000          50.000
+ -17598188.05743 -13702779.60042  21474564.566    21474568.329    21474563.497
+      -427.383        -333.026          56.000          49.000
+ -15413392.06743 -12000146.98342  22298721.946    22298725.218    22298720.361
+      2000.082        1558.505          53.000          46.000
+  -5761308.98343  -4444750.55842  24371494.574    24371499.923    24371493.121
+      2782.184        2167.936          45.000          39.000
+ -23368252.22443 -18193710.77942  20262722.600    20262725.274    20262721.314
+        56.519          44.041          56.000          51.000
+ -23231844.95443 -18044801.66942  20850414.035    20850417.741    20850412.825
+     -1221.138        -951.536          56.000          49.000
+ 04  2  1 22 35  0.0000000  0  9G18G22G21G 3G15G31G25G14G23
+   -302076.02343   -176555.26342  24748233.059    24748237.048    24748231.945
+     -2467.984       -1923.104          45.000          39.000
+  -6498752.31943  -5058958.48942  21885221.002    21885222.908    21885220.535
+     -1846.415       -1438.765          54.000          47.000
+  -3910169.82343  -2979040.70142  24601282.204    24601286.807    24601283.600
+     -2105.133       -1640.363          45.000          36.000
+ -24072170.73943 -18711094.25642  20703033.686    20703037.980    20703032.738
+      -615.284        -479.442          56.000          50.000
+ -17585250.62943 -13692698.50342  21477025.998    21477030.729    21477024.742
+      -434.780        -338.790          55.000          49.000
+ -15473174.27943 -12046730.53842  22287344.600    22287348.507    22287343.597
+      1985.446        1547.101          52.000          46.000
+  -5844838.67043  -4509838.61242  24355599.786    24355603.360    24355597.927
+      2786.915        2171.622          45.000          39.000
+ -23369654.27743 -18194803.29542  20262455.752    20262458.180    20262454.471
+        37.365          29.116          55.000          51.000
+ -23195125.50643 -18016189.13842  20857401.176    20857404.843    20857399.746
+     -1226.446        -955.672          55.000          49.000
+ 04  2  1 22 35 30.0000000  0  9G18G22G21G 3G15G31G25G14G23
+   -228069.57943   -118888.02142  24762314.586    24762320.589    24762314.235
+     -2464.606       -1920.472          43.000          38.000
+  -6443313.32543  -5015759.31542  21895769.537    21895772.194    21895769.429
+     -1848.479       -1440.373          54.000          47.000
+  -3846904.13643  -2929742.86142  24613321.337    24613326.540    24613320.335
+     -2111.665       -1645.453          46.000          36.000
+ -24053412.23443 -18696477.28242  20706603.800    20706607.474    20706602.406
+      -634.094        -494.099          56.000          50.000
+ -17572071.45943 -13682429.04242  21479534.722    21479537.995    21479532.759
+      -442.778        -345.022          56.000          49.000
+ -15532494.15943 -12092953.83442  22276056.906    22276060.873    22276055.702
+      1970.185        1535.209          53.000          46.000
+  -5928493.67143  -4575024.34442  24339679.221    24339685.267    24339678.742
+      2791.394        2175.112          44.000          39.000
+ -23370459.22943 -18195430.53742  20262302.783    20262305.134    20262301.452
+        17.515          13.648          56.000          51.000
+ -23158225.76043 -17987436.11242  20864423.221    20864426.790    20864421.848
+     -1232.353        -960.275          56.000          49.000
+ 04  2  1 22 36  0.0000000  0  9G18G22G21G 3G15G31G25G14G23
+   -154186.23543    -61316.72642  24776375.983    24776380.769    24776374.277
+     -2460.812       -1917.516          46.000          38.000
+  -6387834.57443  -4972529.15642  21906328.632    21906330.018    21906327.025
+     -1849.911       -1441.489          54.000          47.000
+  -3783473.05343  -2880316.20642  24625393.071    24625396.495    24625390.000
+     -2117.229       -1649.789          43.000          37.000
+ -24034108.84843 -18681435.71442  20710277.154    20710280.991    20710276.042
+      -652.601        -508.520          56.000          50.000
+ -17558672.26943 -13671988.15042  21482084.239    21482088.053    21482082.800
+      -450.345        -350.918          56.000          49.000
+ -15591373.01443 -12138833.48542  22264853.592    22264856.500    22264851.500
+      1955.213        1523.543          53.000          46.000
+  -6012295.01043  -4640324.06742  24323732.945    24323739.088    24323731.739
+      2795.871        2178.601          44.000          39.000
+ -23370690.99043 -18195611.14242  20262258.398    20262261.091    20262257.207
+        -1.866          -1.454          55.000          51.000
+ -23121170.34543 -17958561.79242  20871474.648    20871478.212    20871473.199
+     -1237.797        -964.517          55.000          49.000
+ 04  2  1 22 36 30.0000000  0 10G18G22G21G 3G15G31G25G14G 2G23
+    -80413.98743     -3831.94942  24790413.906    24790419.193    24790412.214
+     -2457.840       -1915.200          46.000          39.000
+  -6332304.52043  -4929259.01342  21916895.131    21916897.034    21916893.919
+     -1852.284       -1443.338          54.000          47.000
+  -3719864.13243  -2830750.91742  24637497.484    24637501.787    24637494.282
+     -2123.583       -1654.740          44.000          36.000
+ -24014248.80743 -18665960.39142  20714056.344    20714060.359    20714055.218
+      -671.700        -523.402          56.000          50.000
+ -17545039.13643 -13661364.96242  21484678.215    21484682.438    21484676.939
+      -458.705        -357.432          56.000          49.000
+ -15649796.26343 -12184358.11242  22253735.521    22253738.601    22253733.765
+      1939.473        1511.278          52.000          46.000
+  -6096227.78643  -4705726.23142  24307760.705    24307767.712    24307759.840
+      2799.473        2181.407          44.000          39.000
+ -23370337.11143 -18195335.39542  20262325.876    20262328.265    20262324.755
+       -21.920         -17.080          56.000          51.000
+    -85287.45853    -90732.47452  25663773.694    25663782.939    25663770.789
+     -1871.471       -1458.289          40.000          36.000
+ -23083948.14943 -17929557.51842  20878557.613    20878560.948    20878556.253
+     -1243.913        -969.283          55.000          49.000
+ 04  2  1 22 37  0.0000000  0 10G18G22G21G 3G15G31G25G14G 2G23
+     -6749.19743     53569.12442  24804431.094    24804435.223    24804430.659
+     -2452.725       -1911.214          45.000          38.000
+  -6276720.91043  -4885947.14342  21927472.395    21927473.997    21927471.318
+     -1853.120       -1443.990          54.000          47.000
+  -3656074.10743  -2781044.47242  24649633.614    24649641.848    24649632.580
+     -2128.834       -1658.832          41.000          36.000
+ -23993829.59843 -18650049.35442  20717941.886    20717946.136    20717940.851
+      -689.423        -537.213          56.000          50.000
+ -17531167.30143 -13650555.78242  21487318.009    21487322.367    21487316.710
+      -465.768        -362.936          56.000          49.000
+ -15707758.69943 -12229523.65142  22242704.877    22242709.086    22242703.741
+      1924.912        1499.931          52.000          46.000
+  -6180286.00843  -4771226.14342  24291764.709    24291772.053    24291764.038
+      2804.803        2185.561          43.000          38.000
+ -23369394.55743 -18194600.94842  20262505.097    20262507.707    20262503.932
+       -40.597         -31.634          56.000          51.000
+    -29245.98643    -47063.80742  25674436.328    25674443.850    25674434.378
+     -1864.004       -1452.471          40.000          36.000
+ -23046557.16643 -17900421.72142  20885672.900    20885676.804    20885671.664
+     -1248.571        -972.912          55.000          49.000
+ 04  2  1 22 37 30.0000000  0 10G18G22G21G 3G15G31G25G14G 2G23
+     66799.34243    110879.56542  24818429.143    24818432.133    24818426.573
+     -2449.847       -1908.972          46.000          38.000
+  -6221093.23243  -4842600.94742  21938057.527    21938060.003    21938056.389
+     -1855.657       -1445.966          54.000          47.000
+  -3592111.09943  -2731203.27142  24661809.308    24661809.660    24661805.755
+     -2135.623       -1664.122          42.000          35.000
+ -23972860.81043 -18633710.06842  20721932.217    20721936.068    20721931.097
+      -708.696        -552.231          56.000          50.000
+ -17517064.05243 -13639566.26042  21490002.106    21490005.779    21490000.435
+      -474.557        -369.785          56.000          49.000
+ -15765267.09643 -12274335.41242  22231762.242    22231765.274    22231760.899
+      1908.669        1487.275          53.000          46.000
+  -6264475.42943  -4836828.27842  24275746.071    24275750.963    24275745.378
+      2808.121        2188.146          45.000          38.000
+ -23367872.61343 -18193415.02642  20262794.863    20262797.178    20262793.567
+       -60.899         -47.454          56.000          51.000
+     26592.14543     -3553.64742  25685064.767    25685069.676    25685062.556
+     -1858.256       -1447.992          42.000          37.000
+ -23009007.62643 -17871162.36342  20892818.159    20892822.171    20892816.839
+     -1254.789        -977.758          55.000          49.000
+ 04  2  1 22 38  0.0000000  0  9G18G22G 3G15G31G25G14G 2G23
+    140245.61443    168110.28642  24832403.284    24832408.374    24832402.421
+     -2446.190       -1906.122          46.000          38.000
+  -6165407.76543  -4799209.71942  21948654.281    21948656.241    21948653.643
+     -1856.929       -1446.958          54.000          47.000
+ -23951328.72143 -18616931.85142  20726029.056    20726033.878    20726028.293
+      -726.868        -566.391          56.000          50.000
+ -17502713.26943 -13628383.86742  21492733.181    21492736.714    21492731.375
+      -482.336        -375.846          56.000          49.000
+ -15822304.52143 -12318780.17742  22220907.754    22220911.481    22220906.825
+      1893.601        1475.533          52.000          46.000
+  -6348778.65743  -4902519.07042  24259701.163    24259707.438    24259701.051
+      2812.359        2191.449          44.000          38.000
+ -23365756.73243 -18191766.30042  20263197.176    20263199.632    20263196.312
+       -80.210         -62.501          56.000          51.000
+     82239.71043     39807.99342  25695653.024    25695659.865    25695651.388
+     -1851.466       -1442.701          41.000          37.000
+ -22971285.88943 -17841768.83342  20899996.489    20900000.557    20899994.919
+     -1260.065        -981.869          55.000          49.000
+ 04  2  1 22 38 30.0000000  0  9G18G22G 3G15G31G25G14G 2G23
+    213570.71243    225246.64242  24846356.075    24846362.106    24846355.045
+     -2442.106       -1902.940          44.000          38.000
+  -6109684.87043  -4755789.32142  21959258.521    21959260.347    21959257.644
+     -1858.356       -1448.070          54.000          47.000
+ -23929253.50943 -18599730.42642  20730230.088    20730234.669    20730229.177
+      -745.041        -580.551          56.000          50.000
+ -17488133.07643 -13617022.71542  21495507.595    21495511.761    21495505.993
+      -490.136        -381.924          56.000          49.000
+ -15878888.59243 -12362871.67442  22210140.261    22210143.941    22210139.310
+      1878.221        1463.549          52.000          46.000
+  -6433212.65543  -4968311.76042  24243634.903    24243641.830    24243635.115
+      2816.232        2194.466          45.000          38.000
+ -23363066.51843 -18189670.04142  20263709.430    20263711.798    20263708.054
+       -99.392         -77.448          56.000          51.000
+    137675.26043     83004.44242  25706202.868    25706209.586    25706200.970
+     -1844.258       -1437.084          42.000          36.000
+ -22933412.81143 -17812257.38142  20907203.226    20907207.685    20907202.229
+     -1265.137        -985.821          55.000          49.000
+ 04  2  1 22 39  0.0000000  0  9G18G22G 3G15G31G25G14G 2G23
+    286782.77643    282294.87742  24860289.787    24860294.887    24860290.193
+     -2438.901       -1900.442          44.000          38.000
+  -6053917.21743  -4712334.05142  21969870.737    21969872.545    21969869.706
+     -1860.008       -1449.357          54.000          47.000
+ -23906627.80243 -18582100.04242  20734535.717    20734539.919    20734534.697
+      -763.846        -595.205          56.000          50.000
+ -17473313.61943 -13605475.10942  21498327.654    21498331.401    21498326.226
+      -498.380        -388.348          56.000          49.000
+ -15935009.09743 -12406601.95142  22199461.049    22199464.069    22199459.972
+      1862.469        1451.275          52.000          46.000
+  -6517766.46843  -5034197.85742  24227544.249    24227550.991    24227543.475
+      2819.971        2197.380          44.000          39.000
+ -23359794.25543 -18187120.23642  20264331.993    20264334.448    20264331.003
+      -119.185         -92.871          56.000          51.000
+    192905.38843    126040.78742  25716713.415    25716720.622    25716712.109
+     -1838.330       -1432.465          42.000          36.000
+ -22895381.48843 -17782622.60642  20914440.761    20914445.023    20914439.948
+     -1270.792        -990.227          55.000          49.000
+ 04  2  1 22 39 30.0000000  0 10G18G22G21G 3G15G31G25G14G 2G23
+    359878.42243    339252.35542  24874198.759    24874204.195    24874196.438
+     -2434.523       -1897.031          45.000          37.000
+  -5998108.75943  -4668846.98842  21980490.694    21980492.667    21980489.826
+     -1860.714       -1449.907          54.000          47.000
+                                  24710833.641
+     -2158.373       -1681.849          43.000
+ -23883455.93243 -18564044.07042  20738945.645    20738949.147    20738944.475
+      -781.298        -608.804          56.000          50.000
+ -17458256.53943 -13593742.34542  21501192.504    21501196.899    21501191.390
+      -505.644        -394.008          55.000          49.000
+ -15990667.16443 -12449971.89342  22188869.701    22188872.709    22188868.820
+      1847.559        1439.656          52.000          46.000
+  -6602440.59643  -5100177.69842  24211432.319    24211438.570    24211432.835
+      2824.608        2200.993          46.000          39.000
+ -23355943.44443 -18184119.61742  20265064.817    20265067.491    20265063.635
+      -137.795        -107.373          56.000          51.000
+    247924.82843    168912.98642  25727181.355    25727189.596    25727180.829
+     -1830.509       -1426.371          39.000          35.000
+ -22857196.26443 -17752867.91742  20921707.024    20921710.977    20921705.521
+     -1275.252        -993.703          55.000          49.000
+ 04  2  1 22 40  0.0000000  0 10G18G22G21G 3G15G31G25G14G 2G23
+    432858.41743    396119.81342  24888087.466    24888090.849    24888084.678
+     -2431.134       -1894.390          45.000          37.000
+  -5942259.86843  -4625328.41142  21991118.508    21991120.547    21991117.800
+     -1862.554       -1451.341          54.000          47.000
+                                  24723175.259
+     -2164.477       -1686.605          42.000
+ -23859737.97043 -18545562.57542  20743458.921    20743463.072    20743458.040
+      -799.924        -623.317          56.000          50.000
+ -17442959.63943 -13581822.71242  21504103.638    21504107.420    21504102.086
+      -514.177        -400.657          55.000          49.000
+ -16045860.16743 -12492979.44642  22178366.723    22178370.089    22178365.298
+      1831.782        1427.363          52.000          46.000
+  -6687231.36843  -5166248.39942  24195298.225    24195302.366    24195297.428
+      2828.145        2203.749          47.000          39.000
+ -23351513.78843 -18180667.94442  20265907.624    20265910.162    20265906.466
+      -157.510        -122.735          56.000          51.000
+    302732.51953    211620.25352  25737611.421    25737615.712    25737611.123
+     -1824.222       -1421.472          39.000          34.000
+ -22818857.68943 -17722993.72942  20929002.801    20929006.783    20929001.496
+     -1280.715        -997.960          55.000          49.000
+ 04  2  1 22 40 30.0000000  0 10G18G22G21G 3G15G31G25G14G 2G23
+    505724.61543    452898.58642  24901954.052    24901958.880    24901954.061
+     -2429.130       -1892.828          46.000          37.000
+  -5886369.54943  -4581777.55542  22001753.932    22001756.313    22001752.927
+     -1865.778       -1453.853          54.000          47.000
+                                  24735554.217
+     -2167.316       -1688.818          41.000
+ -23835473.40243 -18526655.15142  20748076.024    20748080.022    20748075.084
+      -820.127        -639.060          56.000          50.000
+ -17427420.18543 -13569714.08142  21507060.141    21507064.980    21507058.846
+      -524.201        -408.468          55.000          49.000
+ -16100584.59643 -12535621.87542  22167953.322    22167957.143    22167952.130
+      1814.144        1413.619          52.000          46.000
+  -6772134.80743  -5232406.90842  24179140.908    24179144.501    24179139.869
+      2829.840        2205.070          46.000          39.000
+ -23346504.16143 -18176764.35742  20266861.218    20266863.559    20266859.941
+      -178.861        -139.372          56.000          51.000
+    357328.19543    254162.22442  25748002.355    25748007.134    25747998.513
+     -1817.918       -1416.559          43.000          35.000
+ -22780365.47643 -17692999.82942  20936327.769    20936331.905    20936326.494
+     -1287.782       -1003.466          55.000          49.000
+ 04  2  1 22 41  0.0000000  0  9G18G22G 3G15G31G25G14G 2G23
+    578492.21943    509600.49342  24915799.879    24915803.450    24915798.174
+     -2423.822       -1888.692          45.000          37.000
+  -5830423.71643  -4538183.44242  22012400.373    22012402.325    22012399.436
+     -1865.509       -1453.643          54.000          47.000
+ -23810647.92343 -18507310.65642  20752799.958    20752804.565    20752798.844
+      -836.595        -651.892          56.000          49.000
+ -17411621.36343 -13557403.34542  21510066.818    21510071.514    21510065.638
+      -530.743        -413.566          55.000          49.000
+ -16154823.42243 -12577885.89542  22157631.423    22157635.621    22157630.642
+      1800.038        1402.627          52.000          46.000
+  -6857132.90843  -5298639.20742  24162964.712    24162971.809    24162964.374
+      2835.084        2209.156          45.000          39.000
+ -23340899.84543 -18172397.36842  20267927.581    20267930.072    20267926.461
+      -196.492        -153.111          56.000          51.000
+    411725.12243    296549.38942  25758352.662    25758359.569    25758350.720
+     -1809.682       -1410.142          42.000          36.000
+ -22741705.84243 -17662875.47242  20943683.978    20943688.474    20943682.670
+     -1291.200       -1006.130          55.000          49.000
+ 04  2  1 22 41 30.0000000  0  9G18G22G 3G15G31G25G14G 2G23
+    651136.56743    566206.33242  24929623.151    24929627.606    24929623.220
+     -2419.379       -1885.230          46.000          37.000
+  -5774447.58943  -4494565.72142  22023052.057    22023054.580    22023051.492
+     -1866.392       -1454.331          54.000          47.000
+ -23785287.10843 -18487549.02042  20757626.420    20757630.742    20757625.460
+      -854.219        -665.625          56.000          50.000
+ -17395586.18543 -13544908.43742  21513118.797    21513122.736    21513117.099
+      -538.457        -419.577          56.000          49.000
+ -16208599.11843 -12619789.06242  22147398.368    22147402.878    22147396.815
+      1784.907        1390.837          52.000          46.000
+  -6942247.53343  -5364962.26242  24146767.843    24146775.004    24146768.284
+      2838.840        2212.083          46.000          39.000
+ -23334725.75643 -18167586.40042  20269102.239    20269105.143    20269101.362
+      -215.225        -167.708          56.000          51.000
+    465896.96843    338761.14042  25768659.957    25768669.165    25768661.154
+     -1802.049       -1404.194          41.000          35.000
+ -22702904.26843 -17632640.51542  20951067.911    20951072.121    20951066.756
+     -1295.756       -1009.680          55.000          48.000
+ 04  2  1 22 42  0.0000000  0  9G18G22G 3G15G31G25G14G 2G23
+    723663.59843    622720.83342  24943425.052    24943428.625    24943425.537
+     -2415.684       -1882.351          46.000          37.000
+  -5718436.39343  -4450920.67542  22033710.808    22033712.425    22033709.514
+     -1867.784       -1455.416          54.000          47.000
+ -23759386.25043 -18467366.56942  20762555.143    20762559.377    20762553.900
+      -872.511        -679.879          56.000          49.000
+ -17379307.48743 -13532223.77742  21516215.944    21516220.738    21516214.704
+      -546.917        -426.169          55.000          49.000
+ -16261904.08343 -12661325.41442  22137255.928    22137258.974    22137254.322
+      1768.879        1378.347          53.000          46.000
+  -7027469.82843  -5431369.25442  24130552.515    24130557.833    24130550.457
+      2842.204        2214.704          46.000          40.000
+ -23327976.66343 -18162327.38142  20270386.934    20270389.198    20270385.647
+      -234.826        -182.981          56.000          51.000
+    519847.66143    380800.60842  25778930.238    25778937.905    25778927.298
+     -1794.494       -1398.307          43.000          36.000
+ -22663956.34143 -17602291.51042  20958479.760    20958483.376    20958477.934
+     -1300.798       -1013.609          55.000          48.000
+ 04  2  1 22 42 30.0000000  0  9G18G22G 3G15G31G25G14G 2G23
+    796077.44843    679147.07042  24957205.045    24957211.771    24957204.071
+     -2411.721       -1879.263          46.000          37.000
+  -5662386.50343  -4407245.48642  22044376.363    22044378.521    22044375.551
+     -1868.859       -1456.254          54.000          47.000
+ -23732942.11743 -18446760.78442  20767587.399    20767591.374    20767586.401
+      -890.277        -693.722          56.000          50.000
+ -17362779.63143 -13519344.96542  21519361.389    21519365.825    21519359.981
+      -554.874        -432.369          56.000          49.000
+ -16314732.13143 -12702490.14142  22127202.159    22127205.459    22127200.694
+      1753.146        1366.088          53.000          46.000
+  -7112792.78443  -5497854.67842  24114316.146    24114320.652    24114315.643
+      2846.020        2217.678          47.000          40.000
+ -23320648.86943 -18156617.42742  20271781.381    20271783.626    20271780.229
+      -253.710        -197.696          56.000          51.000
+    573579.79443    422669.70542  25789153.679    25789160.292    25789150.775
+     -1787.342       -1392.734          43.000          36.000
+ -22624858.97643 -17571826.06242  20965919.699    20965923.415    20965918.038
+     -1305.605       -1017.354          55.000          48.000
+ 04  2  1 22 43  0.0000000  0  9G18G22G 3G15G31G25G14G 2G23
+    868379.43843    735486.15742  24970964.849    24970968.568    24970963.267
+     -2408.437       -1876.704          46.000          38.000
+  -5606297.95343  -4363540.16842  22055049.673    22055051.962    22055048.856
+     -1870.673       -1457.667          53.000          47.000
+ -23705954.98743 -18425731.88742  20772722.893    20772726.759    20772721.966
+      -909.083        -708.376          56.000          49.000
+ -17346000.20643 -13506270.12442  21522554.413    21522558.897    21522553.184
+      -563.911        -439.411          56.000          49.000
+ -16367080.72043 -12743281.26042  22117240.598    22117243.932    22117239.255
+      1736.411        1353.047          52.000          46.000
+  -7198213.05943  -5564415.91642  24098061.792    24098066.528    24098059.854
+      2848.496        2219.607          47.000          40.000
+ -23312741.87643 -18150456.14742  20273285.579    20273288.395    20273284.706
+      -273.606        -213.199          56.000          51.000
+    627092.18143    464367.61242  25799336.656    25799342.642    25799335.083
+     -1780.660       -1387.527          42.000          36.000
+ -22585612.52343 -17541244.43742  20973387.893    20973391.872    20973386.926
+     -1311.272       -1021.770          55.000          49.000
+ 04  2  1 22 43 30.0000000  0  9G18G22G 3G15G31G25G14G 2G23
+    940563.76043    791733.58842  24984701.009    24984708.052    24984699.837
+     -2404.161       -1873.372          44.000          36.000
+  -5550177.00843  -4319809.60742  22065730.095    22065731.211    22065728.465
+     -1871.000       -1457.922          54.000          47.000
+ -23678431.44643 -18404285.00842  20777960.490    20777964.743    20777959.303
+      -926.196        -721.711          56.000          49.000
+ -17328973.24243 -13493002.40342  21525795.222    21525798.929    21525793.544
+      -571.521        -445.341          56.000          49.000
+ -16418953.39843 -12783701.54442  22107369.774    22107373.611    22107367.863
+      1721.131        1341.141          53.000          46.000
+  -7283733.18943  -5631054.97142  24081786.064    24081792.613    24081786.108
+      2852.536        2222.755          46.000          40.000
+ -23304261.87243 -18143848.36742  20274899.352    20274902.179    20274898.215
+      -291.971        -227.510          56.000          51.000
+    680377.63443    505888.66742  25809477.391    25809482.022    25809473.758
+     -1772.008       -1380.785          40.000          35.000
+ -22546223.76943 -17510551.94142  20980883.513    20980887.594    20980882.148
+     -1315.113       -1024.763          55.000          48.000
+ 04  2  1 22 44  0.0000000  0  9G18G22G 3G15G31G25G14G 2G23
+   1012636.17443    847893.77742  24998416.245    24998418.448    24998412.941
+     -2400.931       -1870.855          43.000          34.000
+  -5494018.96543  -4276050.13942  22076415.807    22076418.199    22076414.654
+     -1872.797       -1459.322          53.000          47.000
+ -23650367.29343 -18382416.87342  20783300.994    20783305.158    20783299.953
+      -944.769        -736.184          56.000          49.000
+ -17311691.95443 -13479536.49242  21529082.905    21529087.596    21529081.374
+      -580.500        -452.338          55.000          49.000
+ -16470342.92543 -12823745.35142  22097589.747    22097594.292    22097588.758
+      1704.695        1328.334          52.000          46.000
+  -7369345.22943  -5697765.62742  24065493.970    24065501.699    24065493.252
+      2854.890        2224.590          45.000          40.000
+ -23295204.16243 -18136790.42342  20276623.104    20276625.870    20276621.980
+      -311.886        -243.028          56.000          51.000
+    733439.76743    547235.67042  25819571.232    25819578.068    25819571.425
+     -1764.990       -1375.317          40.000          35.000
+ -22506688.35943 -17479745.15742  20988406.447    20988411.296    20988405.449
+     -1320.522       -1028.978          55.000          48.000
+ 04  2  1 22 44 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G11G23
+   1084592.62343    903963.69042  25012108.132    25012113.284    25012106.517
+     -2395.650       -1866.740          43.000          34.000
+  -5437829.19143  -4232265.94642  22087108.456    22087111.094    22087107.457
+     -1872.862       -1459.373          53.000          47.000
+                                  24835764.305
+     -2217.265       -1727.739          43.000
+ -23621768.14743 -18360131.85842  20788743.122    20788747.473    20788742.097
+      -961.658        -749.344          56.000          49.000
+ -17294159.40343 -13465874.79642  21532418.853    21532423.674    21532417.962
+      -588.039        -458.212          55.000          49.000
+ -16521252.06143 -12863414.82242  22087902.996    22087906.186    22087901.875
+      1689.566        1316.545          53.000          46.000
+  -7455050.58043  -5764549.01142  24049185.071    24049191.852    24049185.205
+      2859.025        2227.812          46.000          40.000
+ -23285573.61243 -18129286.11042  20278456.073    20278458.349    20278454.710
+      -329.971        -257.120          56.000          51.000
+    786272.44043    588403.92042  25829628.223    25829633.901    25829624.366
+     -1756.456       -1368.667          39.000          35.000
+                                  25092187.126
+      3020.838        2353.900          43.000
+ -22467012.14843 -17448828.65542  20995956.977    20995960.999    20995955.487
+     -1324.120       -1031.782          55.000          48.000
+ 04  2  1 22 45  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G11G23
+   1156433.64543    959943.58342  25025777.882    25025786.172    25025774.431
+     -2392.455       -1864.251          41.000          34.000
+  -5381607.08843  -4188456.57442  22097807.506    22097809.374    22097806.632
+     -1874.469       -1460.625          54.000          47.000
+                                  24848441.734
+     -2223.715       -1732.765          43.000
+ -23592633.93143 -18337429.91442  20794287.137    20794291.409    20794286.167
+      -979.837        -763.509          56.000          49.000
+ -17276372.96343 -13452015.28942  21535804.592    21535808.079    21535802.761
+      -596.872        -465.095          55.000          49.000
+ -16571677.73243 -12902707.56342  22078307.013    22078310.819    22078306.373
+      1673.097        1303.712          53.000          46.000
+  -7540845.03743  -5831401.84742  24032860.384    24032866.429    24032859.648
+      2861.462        2229.711          47.000          41.000
+ -23275369.75943 -18121335.06942  20280397.582    20280400.263    20280396.504
+      -349.464        -272.310          56.000          51.000
+    838874.96853    629392.83652  25839636.784    25839643.342    25839636.970
+     -1749.473       -1363.226          39.000          35.000
+                                  25074935.046
+      3023.131        2355.686          44.000
+ -22427195.00143 -17417802.34242  21003534.030    21003538.147    21003532.569
+     -1329.336       -1035.846          55.000          48.000
+ 04  2  1 22 45 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G11G23
+   1228155.70243   1015830.75842  25039427.725    25039433.122    25039426.602
+     -2388.444       -1861.125          43.000          35.000
+  -5325356.88343  -4144625.29642  22108511.237    22108513.670    22108510.807
+     -1875.191       -1461.188          53.000          47.000
+    123862.76753     66201.16452  24861153.139    24861158.132    24861153.402
+     -2229.388       -1737.185          42.000          36.000
+ -23562969.44643 -18314314.76442  20799932.147    20799936.379    20799930.906
+      -997.447        -777.231          56.000          49.000
+ -17258334.76143 -13437959.57842  21539236.875    21539241.071    21539235.433
+      -605.262        -471.633          56.000          49.000
+ -16621621.59543 -12941624.88142  22068803.179    22068806.883    22068802.150
+      1656.984        1291.156          53.000          46.000
+  -7626729.28343  -5898324.64742  24016517.945    24016522.195    24016517.336
+      2864.454        2232.042          48.000          41.000
+ -23264596.70443 -18112940.49542  20282447.963    20282450.147    20282446.649
+      -368.387        -287.055          56.000          51.000
+    891242.14153    670198.39252  25849602.133    25849611.345    25849600.363
+     -1741.460       -1356.982          40.000          35.000
+                                  25057668.581
+      3027.117        2358.792          45.000
+ -22387241.53143 -17386669.80242  21011137.043    21011140.933    21011135.264
+     -1333.791       -1039.318          55.000          48.000
+ 04  2  1 22 46  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G11G23
+   1299768.76543   1071633.08342  25053054.854    25053059.342    25053053.921
+     -2385.582       -1858.895          43.000          35.000
+  -5269070.10943  -4100765.51842  22119222.876    22119224.805    22119221.091
+     -1877.229       -1462.776          53.000          46.000
+    190845.21143    118395.15242  24873899.321    24873904.392    24873898.949
+     -2236.761       -1742.931          39.000          35.000
+ -23532766.40543 -18290779.97142  20805679.585    20805684.223    20805678.478
+     -1016.067        -791.740          55.000          49.000
+ -17240033.94543 -13423699.24442  21542719.319    21542723.815    21542718.464
+      -614.781        -479.050          56.000          49.000
+ -16671072.57943 -12980158.14042  22059393.629    22059396.651    22059391.718
+      1639.558        1277.578          53.000          46.000
+  -7712691.29043  -5965308.03742  24000159.517    24000164.708    24000157.266
+      2866.061        2233.294          47.000          41.000
+ -23253245.90843 -18104095.73042  20284607.941    20284610.080    20284606.525
+      -388.408        -302.655          56.000          51.000
+    943381.77243    710826.63142  25859523.978    25859531.198    25859523.516
+     -1734.251       -1351.364          41.000          35.000
+                                  25040384.753
+      3028.398        2359.791          44.000
+ -22347143.64743 -17355424.73242  21018767.409    21018771.562    21018765.980
+     -1339.280       -1043.595          55.000          48.000
+ 04  2  1 22 46 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G11G23
+   1371261.42643   1127341.53742  25066660.159    25066664.398    25066659.152
+     -2382.442       -1856.448          41.000          35.000
+  -5212758.90243  -4056886.70442  22129938.458    22129939.713    22129937.796
+     -1877.904       -1463.302          54.000          46.000
+    257999.59153    170723.14052  24886674.997    24886685.003    24886675.513
+     -2241.726       -1746.799          39.000          34.000
+ -23502037.68243 -18266835.55042  20811527.324    20811531.774    20811526.029
+     -1033.510        -805.332          56.000          49.000
+ -17221480.62543 -13409242.14442  21546250.972    21546254.303    21546248.920
+      -623.222        -485.627          56.000          49.000
+ -16720040.55643 -13018315.01642  22050073.943    22050078.157    22050072.859
+      1623.704        1265.224          52.000          46.000
+  -7798739.87543  -6032358.89142  23983784.969    23983789.518    23983783.299
+      2869.215        2235.752          48.000          40.000
+ -23241329.66243 -18094810.35542  20286875.164    20286877.850    20286873.950
+      -407.068        -317.196          56.000          51.000
+    995280.24043    751266.93142  25869399.311    25869408.570    25869398.594
+     -1726.318       -1345.183          40.000          35.000
+   -681984.37153   -136905.53552  25023080.462    25023087.270    25023079.441
+      3032.084        2362.663          44.000          37.000
+ -22306913.97643 -17324076.97242  21026422.565    21026426.907    21026421.330
+     -1343.567       -1046.935          55.000          48.000
+ 04  2  1 22 47  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G11G23
+   1442651.60843   1182970.17242  25080244.856    25080244.414    25080245.100
+     -2378.109       -1853.072          41.000          34.000
+  -5156406.24943  -4012975.57442  22140662.266    22140663.529    22140661.150
+     -1879.113       -1464.244          54.000          47.000
+    325343.97143    223199.14942  24899495.046    24899498.905    24899492.785
+     -2248.181       -1751.829          40.000          35.000
+ -23470766.75343 -18242468.62942  20817477.870    20817482.560    20817476.872
+     -1051.441        -819.305          56.000          49.000
+ -17202655.68443 -13394573.39742  21549832.574    21549836.650    21549830.558
+      -632.048        -492.505          56.000          49.000
+ -16768505.86243 -13056080.20942  22040851.991    22040856.077    22040851.077
+      1607.075        1252.266          53.000          46.000
+  -7884853.96443  -6099460.76042  23967398.326    23967403.930    23967397.346
+      2871.584        2237.598          48.000          41.000
+ -23228830.74743 -18085070.95442  20289253.814    20289256.269    20289252.806
+      -426.336        -332.210          56.000          51.000
+   1046953.70453    791531.96652  25879232.063    25879243.353    25879231.749
+     -1718.978       -1339.463          38.000          34.000
+   -772983.55143   -207814.04142  25005765.631    25005769.920    25005764.194
+      3034.652        2364.664          46.000          37.000
+ -22266535.84443 -17292613.53242  21034106.011    21034110.883    21034104.698
+     -1348.335       -1050.651          55.000          48.000
+ 04  2  1 22 47 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G11G23
+   1513915.88743   1238500.72842  25093805.583    25093813.535    25093804.682
+     -2373.786       -1849.703          41.000          34.000
+  -5100036.44243  -3969051.10942  22151389.342    22151391.143    22151388.498
+     -1879.252       -1464.352          54.000          47.000
+    392854.98843    275804.93742  24912340.099    24912346.466    24912339.812
+     -2252.796       -1755.425          38.000          36.000
+ -23438978.44943 -18217698.56542  20823527.313    20823531.403    20823525.927
+     -1068.261        -832.411          56.000          49.000
+ -17183581.42143 -13379710.36542  21553462.201    21553466.387    21553460.600
+      -639.977        -498.683          55.000          49.000
+ -16816490.58143 -13093470.92442  22031720.857    22031725.278    22031719.846
+      1591.480        1240.114          53.000          46.000
+  -7971054.56143  -6166630.02342  23950994.961    23951000.339    23950994.203
+      2874.732        2240.051          49.000          41.000
+ -23215773.70143 -18074896.64942  20291738.285    20291740.875    20291737.168
+      -444.573        -346.420          56.000          51.000
+   1098377.04653    831602.05252  25889018.583    25889026.932    25889018.875
+     -1709.663       -1332.205          40.000          33.000
+   -864080.36143   -278798.57542  24988430.668    24988435.206    24988431.065
+      3038.077        2367.333          45.000          36.000
+ -22226033.97843 -17261053.67842  21041812.818    21041817.816    21041812.090
+     -1352.134       -1053.611          54.000          48.000
+ 04  2  1 22 48  0.0000000  0 10G18G22G 3G15G31G25G14G 2G11G23
+   1585065.74143   1293942.02542  25107345.226    25107353.147    25107345.636
+     -2369.494       -1846.359          42.000          35.000
+  -5043639.21143  -3925105.26642  22162120.458    22162122.205    22162120.408
+     -1880.576       -1465.384          53.000          47.000
+ -23406663.24143 -18192517.92242  20829676.653    20829680.523    20829675.537
+     -1086.012        -846.243          56.000          49.000
+ -17164245.27943 -13364643.28142  21557141.598    21557145.746    21557140.545
+      -649.112        -505.801          56.000          49.000
+ -16863981.88043 -13130477.15442  22022683.329    22022687.376    22022682.314
+      1574.624        1226.980          53.000          46.000
+  -8057327.52943  -6233855.70242  23934577.658    23934581.679    23934574.430
+      2876.400        2241.351          47.000          41.000
+ -23202148.05743 -18064279.27842  20294331.366    20294333.825    20294330.372
+      -463.872        -361.459          56.000          51.000
+   1149559.71543    871484.52042  25898761.009    25898764.777    25898759.884
+     -1702.362       -1326.516          40.000          34.000
+   -955262.46943   -349849.66942  24971079.625    24971081.754    24971077.127
+      3040.656        2369.342          47.000          36.000
+ -22185398.49943 -17229389.70742  21049545.939    21049550.222    21049545.162
+     -1356.985       -1057.391          54.000          48.000
+ 04  2  1 22 48 30.0000000  0 10G18G22G 3G15G31G25G14G 2G11G23
+   1656100.24243   1349293.37442  25120862.993    25120869.472    25120863.193
+     -2365.664       -1843.374          42.000          35.000
+  -4987216.16043  -3881139.30342  22172858.290    22172859.830    22172856.866
+     -1880.899       -1465.635          54.000          47.000
+ -23373822.89943 -18166928.08042  20835925.906    20835930.197    20835924.892
+     -1103.185        -859.625          56.000          50.000
+ -17144646.65243 -13349371.65142  21560871.347    21560875.466    21560869.700
+      -657.438        -512.289          55.000          49.000
+ -16910978.92143 -13167098.24142  22013740.571    22013744.254    22013739.324
+      1558.557        1214.460          53.000          46.000
+  -8143670.97843  -6301136.31742  23918146.046    23918152.563    23918144.765
+      2879.626        2243.864          47.000          41.000
+ -23187955.53143 -18053220.18342  20297032.185    20297034.418    20297030.922
+      -482.265        -375.791          56.000          51.000
+   1200498.89443    911177.26642  25908454.236    25908455.527    25908452.748
+     -1693.635       -1319.715          39.000          32.000
+  -1046529.31643   -420966.71442  24953711.278    24953716.207    24953710.816
+      3043.874        2371.850          46.000          37.000
+ -22144631.31343 -17197623.10242  21057303.750    21057308.040    21057302.676
+     -1360.999       -1060.519          54.000          48.000
+ 04  2  1 22 49  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   1727018.61443   1404554.37142  25134358.990    25134366.259    25134357.513
+     -2362.029       -1840.542          43.000          34.000
+  -4930768.88243  -3837154.46542  22183599.757    22183600.915    22183598.759
+     -1882.410       -1466.813          54.000          46.000
+                                  24951084.900
+     -2271.301       -1769.845          42.000
+ -23340460.28943 -18140931.28542  20842274.410    20842278.907    20842273.300
+     -1121.108        -873.591          56.000          49.000
+ -17124785.35143 -13333895.34042  21564650.586    21564654.822    21564649.212
+      -666.787        -519.574          55.000          49.000
+ -16957481.29643 -13203333.88842  22004891.361    22004894.697    22004890.315
+      1541.422        1201.108          53.000          46.000
+  -8230083.09843  -6368470.42542  23901702.043    23901709.487    23901700.769
+      2880.931        2244.881          48.000          41.000
+ -23173198.22743 -18041721.00142  20299840.346    20299842.822    20299839.227
+      -501.660        -390.904          56.000          51.000
+  -1137880.70843   -492149.69142  24936328.490    24936331.940    24936328.563
+      3045.908        2373.435          47.000          37.000
+ -22103734.75143 -17165755.68742  21065086.210    21065090.780    21065085.280
+     -1365.731       -1064.206          54.000          48.000
+ 04  2  1 22 49 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   1797821.80443   1459725.57042  25147829.986    25147838.360    25147827.934
+     -2358.107       -1837.486          40.000          34.000
+  -4874296.67243  -3793150.18242  22194346.330    22194348.896    22194345.086
+     -1883.065       -1467.323          54.000          46.000
+    106005.39653     76039.08952  24964066.406    24964071.830    24964065.571
+     -2276.999       -1774.285          44.000          35.000
+ -23306575.32143 -18114527.45542  20848722.677    20848727.243    20848721.550
+     -1138.307        -886.992          56.000          49.000
+ -17104658.68543 -13318212.26842  21568480.439    21568485.086    21568479.056
+      -675.353        -526.249          55.000          49.000
+ -17003485.94643 -13239181.69042  21996136.909    21996140.889    21996135.468
+      1525.141        1188.422          53.000          46.000
+  -8316559.82343  -6435854.86242  23885246.511    23885251.210    23885244.953
+      2883.558        2246.928          48.000          41.000
+ -23157875.55743 -18029781.27542  20302756.030    20302758.634    20302754.952
+      -520.274        -405.408          56.000          51.000
+  -1229313.99243   -563396.48842  24918929.407    24918933.701    24918928.668
+      3049.095        2375.918          46.000          37.000
+ -22062708.54643 -17133787.24842  21072893.500    21072897.983    21072892.242
+     -1369.885       -1067.443          55.000          48.000
+ 04  2  1 22 50  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   1868508.04243   1514805.64342  25161285.241    25161290.296    25161284.089
+     -2354.808       -1834.915          42.000          34.000
+  -4817802.54343  -3749128.84842  22205096.802    22205098.035    22205095.776
+     -1883.729       -1467.841          54.000          46.000
+    174399.30243    129332.90742  24977079.570    24977086.932    24977077.090
+     -2282.884       -1778.871          41.000          35.000
+ -23272171.82543 -18087719.57242  20855269.382    20855273.904    20855268.299
+     -1155.664        -900.517          56.000          49.000
+ -17084267.66643 -13302323.19142  21572360.801    21572364.996    21572358.914
+      -684.326        -533.241          55.000          49.000
+ -17048993.59343 -13274642.21142  21987477.186    21987480.883    21987475.724
+      1508.399        1175.376          53.000          46.000
+  -8403100.28243  -6503288.95142  23868779.209    23868783.579    23868779.296
+      2885.452        2248.404          48.000          41.000
+ -23141990.62243 -18017403.42042  20305778.738    20305781.408    20305777.776
+      -539.029        -420.022          56.000          51.000
+  -1320829.87543   -634707.64542  24901514.487    24901518.205    24901512.734
+      3051.731        2377.972          47.000          38.000
+ -22021555.98543 -17101720.35242  21080724.661    21080728.757    21080723.153
+     -1373.993       -1070.644          55.000          48.000
+ 04  2  1 22 50 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   1939079.14943   1569795.98542  25174710.839    25174722.493    25174710.502
+     -2351.238       -1832.133          40.000          34.000
+  -4761285.69943  -3705089.80242  22215851.808    22215853.286    22215851.160
+     -1884.535       -1468.469          54.000          46.000
+    242969.90943    182764.43842  24990129.459    24990134.548    24990127.864
+     -2288.913       -1783.568          42.000          35.000
+ -23237249.57343 -18060507.47142  20861914.784    20861919.442    20861913.704
+     -1172.974        -914.006          55.000          49.000
+ -17063609.44643 -13286225.91642  21576292.242    21576296.472    21576290.800
+      -693.319        -540.248          55.000          49.000
+ -17094001.27743 -13309713.15342  21978912.444    21978915.717    21978911.290
+      1491.618        1162.300          53.000          47.000
+  -8489700.56443  -6570769.66642  23852298.731    23852305.458    23852298.660
+      2887.592        2250.072          48.000          41.000
+ -23125542.98743 -18004587.09942  20308908.655    20308911.310    20308907.630
+      -557.769        -434.625          56.000          51.000
+  -1412425.52643   -706080.92642  24884083.840    24884088.550    24884083.389
+      3054.083        2379.805          46.000          37.000
+ -21980276.83743 -17069554.81742  21088580.095    21088584.307    21088578.802
+     -1378.343       -1074.033          55.000          48.000
+ 04  2  1 22 51  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G11G23
+   2009535.59643   1624696.96942  25188119.472    25188127.139    25188117.117
+     -2346.928       -1828.775          38.000          33.000
+  -4704746.59743  -3661033.41342  22226611.405    22226612.345    22226609.799
+     -1885.097       -1468.907          54.000          46.000
+    311717.31943    236333.74542  25003210.278    25003217.240    25003206.529
+     -2294.457       -1787.888          41.000          34.000
+ -23201809.81543 -18032892.12142  20868659.407    20868663.435    20868657.731
+     -1190.011        -927.281          56.000          49.000
+ -17042682.49243 -13269919.23242  21580274.877    21580279.030    21580273.279
+      -702.237        -547.198          56.000          49.000
+ -17138507.19943 -13344393.10942  21970443.061    21970446.857    21970441.960
+      1474.956        1149.316          53.000          47.000
+  -8576357.08243  -6638294.20242  23835809.050    23835814.259    23835807.540
+      2889.319        2251.417          48.000          41.000
+ -23108533.45843 -17991332.93642  20312145.354    20312148.235    20312144.393
+      -576.446        -449.179          56.000          51.000
+  -1485828.68653  -1167860.71252  25956210.055    25956220.262    25956208.771
+     -1652.144       -1287.385          39.000          34.000
+  -1504099.65543   -777515.30442  24866638.164    24866643.715    24866639.114
+      3056.819        2381.937          45.000          37.000
+ -21938871.93343 -17037291.29942  21096458.906    21096462.933    21096457.519
+     -1382.452       -1077.235          54.000          48.000
+ 04  2  1 22 51 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G11G23
+  -4221804.10943  -3230892.50942  25201508.425    25201512.179    25201508.527
+     -2341.952       -1824.898          40.000          33.000
+  -4648187.55543  -3616961.47542  22237373.815    22237374.942    22237372.517
+     -1885.352       -1469.105          54.000          46.000
+    380640.05243    290039.70342  25016327.950    25016332.218    25016326.539
+     -2300.121       -1792.302          43.000          35.000
+ -23165855.86643 -18004876.09342  20875500.948    20875505.207    20875499.949
+     -1206.733        -940.311          56.000          49.000
+ -17021486.87343 -13253403.19942  21584307.557    21584312.137    21584306.093
+      -710.647        -553.751          55.000          49.000
+ -17182511.35643 -13378682.08142  21962069.339    21962073.284    21962068.236
+      1458.612        1136.581          53.000          47.000
+  -8663068.55043  -6705861.56742  23819308.759    23819313.961    23819306.627
+      2891.609        2253.202          49.000          42.000
+ -23090964.43343 -17977642.80942  20315488.859    20315491.311    20315487.625
+      -594.680        -463.387          56.000          51.000
+  -1436390.67553  -1129337.57652  25965621.891    25965624.678    25965617.895
+     -1643.724       -1280.824          40.000          33.000
+  -1595852.02143   -849010.61342  24849177.562    24849182.300    24849175.966
+      3060.032        2384.441          44.000          37.000
+ -21897343.94543 -17004931.86542  21104361.619    21104365.768    21104360.185
+     -1385.990       -1079.992          55.000          48.000
+ 04  2  1 22 52  0.0000000  0 11G18G22G21G 3G15G31G25G14G 2G11G23
+                  -3176173.77852  25214867.856    25214874.219
+     -2339.415       -1822.921          38.000          32.000
+  -4591610.78043  -3572875.72742  22248139.804    22248141.390    22248138.237
+     -1886.507       -1470.005          54.000          46.000
+    449736.61743    343881.03142  25029477.504    25029481.158    25029476.434
+     -2306.191       -1797.032          45.000          36.000
+ -23129390.63643 -17976461.66642  20882440.010    20882444.228    20882438.984
+     -1224.315        -954.012          55.000          49.000
+ -17000023.27943 -13236678.35442  21588392.219    21588396.067    21588390.658
+      -720.255        -561.238          55.000          49.000
+ -17226013.89043 -13412580.18642  21953790.929    21953794.631    21953789.670
+      1441.488        1123.237          53.000          47.000
+  -8749833.73543  -6773470.79042  23802797.326    23802802.245    23802795.057
+      2892.808        2254.136          48.000          42.000
+ -23072838.59043 -17963518.78942  20318938.073    20318940.660    20318936.830
+      -613.751        -478.247          56.000          51.000
+  -1387211.11143  -1091015.88442  25974978.147    25974985.328    25974981.116
+     -1635.197       -1274.179          38.000          32.000
+  -1687682.90543   -920567.20742  24831703.470    24831706.867    24831702.208
+      3062.045        2386.009          46.000          38.000
+ -21855695.59343 -16972478.63742  21112286.421    21112291.245    21112285.409
+     -1390.578       -1083.567          54.000          48.000
+ 04  2  1 22 52 30.0000000  0 11G18G22G21G 3G15G31G25G14G 2G11G23
+  -4081469.77653  -3121541.26142  25228213.179    25228214.012    25228209.926
+     -2335.657       -1819.992          40.000          33.000
+  -4535010.26343  -3528771.47742  22258909.227    22258912.119    22258908.539
+     -1887.165       -1470.518          53.000          46.000
+    519013.41843    397862.88342  25042659.000    25042664.053    25042657.414
+     -2312.251       -1801.754          43.000          36.000
+ -23092409.07443 -17947644.91242  20889477.487    20889481.567    20889476.090
+     -1241.325        -967.266          55.000          49.000
+ -16978283.76243 -13219738.51242  21592529.364    21592533.266    21592527.466
+      -729.285        -568.274          55.000          49.000
+ -17269006.89243 -13446081.25542  21945609.366    21945613.841    21945608.796
+      1424.517        1110.013          53.000          47.000
+  -8836643.14243  -6841114.46442  23786278.180    23786284.864    23786277.254
+      2894.137        2255.172          48.000          42.000
+ -23054150.35743 -17948956.55242  20322494.440    20322497.016    20322493.213
+      -632.374        -492.759          56.000          51.000
+  -1338285.26653  -1052891.90352  25984286.882    25984295.085    25984292.098
+     -1626.257       -1267.213          37.000          32.000
+  -1779584.69443   -992179.02542  24814217.212    24814220.619    24814214.923
+      3064.504        2387.925          48.000          38.000
+ -21813921.39043 -16939927.35442  21120236.315    21120240.650    21120235.131
+     -1394.549       -1086.661          54.000          48.000
+ 04  2  1 22 53  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+                  -3067002.53052  25241528.904    25241536.737
+     -2331.209       -1816.526          39.000          32.000
+  -4478396.03543  -3484656.54242  22269684.519    22269685.877    22269683.216
+     -1887.572       -1470.835          54.000          46.000
+    588461.07743    451977.80942  25055875.241    25055879.389    25055872.034
+     -2318.015       -1806.245          42.000          36.000
+ -23054922.55543 -17918434.67942  20896610.548    20896615.329    20896609.574
+     -1258.061        -980.307          55.000          49.000
+ -16956276.49243 -13202590.02242  21596716.669    21596721.748    21596715.271
+      -738.174        -575.200          55.000          49.000
+ -17311498.27543 -13479191.43742  21937524.585    21937528.451    21937523.506
+      1407.823        1097.005          53.000          47.000
+  -8923503.27943  -6908797.66442  23769748.418    23769754.820    23769748.379
+      2895.894        2256.541          48.000          41.000
+ -23034910.44543 -17933964.43142  20326155.624    20326158.084    20326154.440
+      -650.663        -507.010          56.000          51.000
+  -1871565.13543  -1063852.17542  24796712.617    24796717.154    24796711.770
+      3067.153        2389.989          46.000          39.000
+ -21772031.89943 -16907286.23442  21128207.750    21128212.081    21128206.395
+     -1398.389       -1089.654          54.000          48.000
+ 04  2  1 22 53 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+  -3941601.51453  -3012553.15052  25254827.186    25254827.769    25254825.804
+     -2327.293       -1813.475          41.000          33.000
+  -4421763.90343  -3440527.67242  22280460.133    22280462.552    22280459.248
+     -1887.883       -1471.078          53.000          46.000
+    658084.52443    506229.68142  25069122.956    25069127.728    25069122.888
+     -2323.529       -1810.542          41.000          36.000
+ -23016927.69543 -17888828.34442  20903840.950    20903845.714    20903839.927
+     -1274.843        -993.384          55.000          49.000
+ -16933995.15343 -13185227.98842  21600956.720    21600961.674    21600955.341
+      -747.067        -582.130          55.000          49.000
+ -17353481.69743 -13511905.81842  21929535.389    21929539.178    21929534.063
+      1391.078        1083.957          53.000          47.000
+  -9010406.22343  -6976514.22942  23753211.950    23753217.254    23753210.003
+      2897.759        2257.994          48.000          40.000
+ -23015114.91843 -17918539.36442  20329922.642    20329925.336    20329921.407
+      -668.868        -521.196          56.000          51.000
+  -1963617.96943  -1135581.68242  24779195.320    24779201.715    24779194.612
+      3069.266        2391.636          45.000          38.000
+ -21730023.32643 -16874552.31542  21136201.828    21136205.830    21136200.480
+     -1402.064       -1092.517          54.000          48.000
+ 04  2  1 22 54  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+  -3871839.22443  -2958193.00942  25268101.655    25268112.141    25268100.733
+     -2323.731       -1810.699          39.000          34.000
+  -4365114.07643  -3396384.98542  22291240.762    22291243.204    22291239.911
+     -1888.341       -1471.434          54.000          46.000
+    727884.19543    560618.89542  25082405.599    25082411.538    25082404.846
+     -2329.124       -1814.902          41.000          36.000
+ -22978425.56943 -17858826.74242  20911167.569    20911172.104    20911166.422
+     -1291.552       -1006.404          55.000          49.000
+ -16911438.17343 -13167651.16242  21605249.394    21605254.058    21605248.344
+      -756.217        -589.260          55.000          49.000
+ -17394955.46043 -13544223.05642  21921643.031    21921646.744    21921641.727
+      1374.254        1070.847          53.000          47.000
+  -9097348.68643  -7044261.59442  23736667.092    23736672.003    23736667.963
+      2899.116        2259.051          49.000          40.000
+ -22994764.39843 -17902681.83442  20333795.112    20333798.016    20333794.108
+      -687.215        -535.492          56.000          51.000
+  -2055741.39943  -1207366.19542  24761664.400    24761668.692    24761664.398
+      3072.456        2394.122          46.000          38.000
+ -21687896.29743 -16841726.10142  21144218.424    21144222.462    21144217.054
+     -1405.907       -1095.512          55.000          48.000
+ 04  2  1 22 54 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+  -3802192.09353  -2903922.68952  25281356.723    25281360.034    25281356.755
+     -2319.992       -1807.786          41.000          35.000
+  -4308448.81543  -3352230.30342  22302023.208    22302025.967    22302022.341
+     -1889.113       -1472.036          53.000          46.000
+    797858.39943    615144.15442  25095721.871    25095727.445    25095719.904
+     -2335.460       -1819.839          42.000          36.000
+ -22939419.33543 -17828432.31542  20918590.458    20918594.979    20918589.626
+     -1308.605       -1019.692          56.000          49.000
+ -16888605.82743 -13149859.77042  21609594.435    21609599.157    21609593.352
+      -765.722        -596.666          55.000          49.000
+ -17435919.63743 -13576143.21242  21913848.144    21913851.749    21913846.563
+      1356.967        1057.377          53.000          47.000
+  -9184329.32543  -7112038.72142  23720115.548    23720120.539    23720113.833
+      2899.859        2259.630          49.000          40.000
+ -22973861.85143 -17886394.15142  20337772.844    20337775.425    20337771.775
+      -705.996        -550.127          56.000          51.000
+  -2147935.57143  -1279205.81942  24744121.278    24744125.598    24744121.241
+      3074.435        2395.664          45.000          38.000
+ -21645653.40943 -16808809.60342  21152256.932    21152260.816    21152255.561
+     -1410.087       -1098.769          54.000          48.000
+ 04  2  1 22 55  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+  -3732662.68853  -2849744.08352  25294584.937    25294591.968    25294587.682
+     -2315.693       -1804.436          39.000          34.000
+  -4251771.05543  -3308065.86842  22312808.887    22312811.143    22312807.978
+     -1889.157       -1472.070          53.000          46.000
+    868004.78743    669803.58542  25109069.826    25109074.824    25109068.059
+     -2341.014       -1824.167          43.000          36.000
+ -22899913.06643 -17797648.25742  20926107.958    20926112.598    20926107.392
+     -1324.981       -1032.453          55.000          49.000
+ -16865499.07543 -13131854.54742  21613991.448    21613995.737    21613989.925
+      -774.514        -603.517          55.000          49.000
+ -17476375.17143 -13607667.02342  21906150.011    21906152.485    21906148.154
+      1340.262        1044.360          54.000          47.000
+  -9271347.53043  -7179845.11942  23703556.622    23703561.082    23703555.905
+      2901.366        2260.805          49.000          41.000
+ -22952410.36543 -17869678.72142  20341854.805    20341857.699    20341853.745
+      -723.950        -564.117          56.000          51.000
+  -2240201.05243  -1351101.03742  24726563.248    24726568.253    24726563.545
+      3076.841        2397.538          45.000          38.000
+ -21603298.02543 -16775805.46042  21160316.984    21160321.020    21160315.637
+     -1413.530       -1101.452          54.000          48.000
+ 04  2  1 22 55 30.0000000  0  9G22G21G 3G15G31G25G14G11G23
+  -4195078.02543  -3263889.54242  22323596.760    22323599.634    22323595.768
+     -1889.254       -1472.146          53.000          46.000
+    938326.56143    724599.65842  25122452.783    25122458.430    25122450.386
+     -2345.911       -1827.982          44.000          36.000
+ -22859905.38643 -17766473.48142  20933721.783    20933725.815    20933720.503
+     -1341.236       -1045.119          55.000          49.000
+ -16842113.74843 -13113632.24742  21618441.767    21618445.996    21618440.345
+      -783.473        -610.498          55.000          49.000
+ -17516317.69143 -13638791.08542  21898548.811    21898551.787    21898547.499
+      1323.572        1031.355          54.000          47.000
+  -9358396.98243  -7247675.85842  23686991.826    23686999.005    23686989.521
+      2902.834        2261.949          49.000          41.000
+ -22930408.14043 -17852534.14942  20346041.852    20346044.632    20346040.717
+      -741.831        -578.050          56.000          51.000
+  -2332533.36643  -1423048.34042  24708991.985    24708996.962    24708990.855
+      3079.557        2399.655          45.000          38.000
+ -21560828.12943 -16742712.06642  21168398.787    21168402.466    21168397.457
+     -1416.873       -1104.057          54.000          48.000
+ 04  2  1 22 56  0.0000000  0  9G22G21G 3G15G31G25G14G11G23
+  -4138383.57343  -3219712.09842  22334385.770    22334388.138    22334384.608
+     -1889.984       -1472.715          53.000          46.000
+   1008809.97543    779521.69742  25135864.840    25135869.602    25135864.615
+     -2351.448       -1832.297          43.000          37.000
+ -22819411.03043 -17734919.47942  20941426.910    20941431.906    20941426.109
+     -1358.017       -1058.195          55.000          49.000
+ -16818461.72743 -13095202.15542  21622942.332    21622947.058    21622941.208
+      -792.882        -617.830          55.000          49.000
+ -17555758.95643 -13669524.56542  21891043.461    21891046.969    21891041.794
+      1306.275        1017.877          54.000          47.000
+  -9445488.28643  -7315539.20042  23670418.422    23670423.561    23670417.443
+      2903.869        2262.755          48.000          41.000
+ -22907869.63043 -17834971.68942  20350330.771    20350333.363    20350329.587
+      -760.237        -592.392          56.000          51.000
+  -2424944.14543  -1495056.75842  24691407.350    24691413.702    24691406.907
+      3081.759        2401.371          45.000          38.000
+ -21518257.80143 -16709540.42142  21176499.478    21176504.182    21176498.243
+     -1420.669       -1107.015          54.000          48.000
+ 04  2  1 22 56 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+                                  25334146.821
+     -2303.875       -1795.227          42.000
+  -4081663.17443  -3175514.45642  22345179.603    22345181.869    22345178.166
+     -1890.921       -1473.445          53.000          46.000
+   1079480.66543    834589.66242  25149312.698    25149317.852    25149312.203
+     -2357.993       -1837.397          43.000          36.000
+ -22778406.65843 -17702968.07042  20949230.378    20949234.594    20949229.025
+     -1375.015       -1071.440          55.000          49.000
+ -16794516.68043 -13076543.72142  21627498.842    21627503.710    21627497.555
+      -802.775        -625.539          55.000          49.000
+ -17594672.58243 -13699846.89342  21883637.977    21883641.501    21883636.745
+      1288.534        1004.052          53.000          47.000
+  -9532593.14743  -7383413.11042  23653842.014    23653849.840    23653839.830
+      2903.994        2262.852          47.000          41.000
+ -22884770.95643 -17816972.74142  20354726.458    20354728.882    20354725.216
+      -779.025        -607.032          56.000          51.000
+  -2517406.85043  -1567105.60542  24673813.711    24673818.019    24673812.372
+      3083.223        2402.511          46.000          39.000
+ -21475563.00043 -16676271.78442  21184624.115    21184628.487    21184622.792
+     -1424.988       -1110.380          54.000          48.000
+ 04  2  1 22 57  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+  -1355739.62253  -1066762.37352  25347289.999    25347296.669    25347288.452
+     -2300.730       -1792.777          39.000          35.000
+  -4024930.78243  -3131307.44442  22355975.551    22355978.394    22355974.443
+     -1891.430       -1473.841          53.000          46.000
+   1150324.89543    889792.85342  25162794.589    25162799.658    25162795.386
+     -2364.373       -1842.368          43.000          37.000
+ -22736907.56843 -17670631.15942  20957127.178    20957131.481    20957126.733
+     -1391.545       -1084.321          55.000          49.000
+ -16770290.86943 -13057666.51842  21632109.275    21632113.774    21632107.788
+      -812.240        -632.914          55.000          49.000
+ -17633070.68643 -13729767.51842  21876331.803    21876335.114    21876330.251
+      1271.250         990.584          53.000          47.000
+  -9619721.78743  -7451305.55342  23637263.476    23637267.669    23637263.135
+      2904.518        2263.261          48.000          41.000
+ -22861126.78743 -17798548.73642  20359225.443    20359228.266    20359224.301
+      -797.164        -621.167          56.000          51.000
+  -2609933.51643  -1639204.32542  24656205.877    24656209.244    24656204.840
+      3085.256        2404.096          46.000          38.000
+ -21432758.18243 -16642917.42142  21192769.480    21192773.998    21192768.121
+     -1428.712       -1113.282          54.000          48.000
+ 04  2  1 22 57 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+  -1286784.66343  -1013031.39642  25360411.630    25360417.853    25360409.973
+     -2296.243       -1789.280          42.000          35.000
+  -3968188.14643  -3087092.45942  22366773.078    22366774.759    22366772.303
+     -1891.351       -1473.780          53.000          46.000
+   1221341.21243    945130.13742  25176307.171    25176313.467    25176307.026
+     -2370.108       -1846.837          43.000          36.000
+ -22694916.50143 -17637910.88942  20965118.609    20965122.793    20965116.764
+     -1407.575       -1096.812          55.000          49.000
+ -16745784.21743 -13038570.47642  21636772.429    21636777.287    21636771.248
+      -821.264        -639.946          55.000          49.000
+ -17670953.34543 -13759286.49442  21869122.563    21869126.313    21869121.371
+      1254.304         977.380          54.000          47.000
+  -9706872.63243  -7519215.31442  23620677.732    23620683.019    23620677.289
+      2905.556        2264.070          48.000          41.000
+ -22836939.45343 -17779701.48442  20363828.199    20363831.066    20363827.129
+      -814.950        -635.026          56.000          51.000
+  -2702523.67443  -1711352.49942  24638586.360    24638589.178    24638585.550
+      3087.780        2406.062          45.000          38.000
+ -21389845.52443 -16609479.02842  21200935.413    21200940.219    21200934.073
+     -1431.843       -1115.722          54.000          48.000
+ 04  2  1 22 58  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+  -1217945.58143   -959390.63942  25373512.039    25373517.295    25373509.260
+     -2293.651       -1787.260          41.000          35.000
+  -3911436.11843  -3042870.16142  22377572.357    22377574.946    22377571.830
+     -1892.856       -1474.953          52.000          46.000
+   1292529.35143   1000601.32842  25189854.029    25189859.470    25189852.498
+     -2376.389       -1851.732          42.000          36.000
+ -22652435.76543 -17604809.05642  20973201.644    20973206.778    20973200.744
+     -1425.175       -1110.526          55.000          49.000
+ -16720995.76243 -13019254.83942  21641489.876    21641494.214    21641488.171
+      -831.993        -648.306          56.000          49.000
+ -17708319.56343 -13788403.05342  21862012.140    21862016.043    21862010.655
+      1235.920         963.054          53.000          47.000
+  -9794042.93943  -7587140.23942  23604090.776    23604096.012    23604089.843
+      2905.163        2263.763          48.000          41.000
+ -22812210.58543 -17760432.25542  20368533.928    20368536.882    20368532.968
+      -834.312        -650.113          56.000          51.000
+  -2795176.18743  -1783549.24642  24620956.587    24620958.035    24620952.957
+      3088.322        2406.485          45.000          38.000
+ -21346826.43743 -16575957.69442  21209121.768    21209126.098    21209120.637
+     -1436.679       -1119.490          54.000          48.000
+ 04  2  1 22 58 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+  -1149221.98943   -905839.90842  25386590.839    25386596.526    25386588.937
+     -2290.056       -1784.459          41.000          36.000
+  -3854675.44943  -2998641.12742  22388374.686    22388376.246    22388373.020
+     -1893.499       -1475.454          53.000          46.000
+   1363888.98743   1056206.15442  25203433.832    25203438.998    25203434.547
+     -2382.905       -1856.809          42.000          35.000
+ -22609467.39243 -17571327.25042  20981378.327    20981383.123    20981377.642
+     -1441.647       -1123.361          55.000          49.000
+ -16695924.64943 -12999718.94742  21646260.985    21646265.028    21646259.427
+      -841.675        -655.851          55.000          49.000
+ -17745168.34043 -13817116.40742  21855000.376    21855004.079    21854998.576
+      1218.442         949.435          54.000          47.000
+  -9881229.91843  -7655078.14142  23587499.407    23587505.163    23587497.944
+      2905.347        2263.907          47.000          41.000
+ -22786941.82243 -17740742.32942  20373342.405    20373345.651    20373341.412
+      -852.540        -664.317          56.000          51.000
+  -2887889.84743  -1855793.64242  24603312.734    24603315.367    24603311.619
+      3090.001        2407.793          45.000          39.000
+ -21303702.12643 -16542354.37342  21217327.582    21217332.488    21217326.798
+     -1440.507       -1122.473          54.000          47.000
+ 04  2  1 22 59  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+  -1080611.50143   -852377.28442  25399645.057    25399652.393    25399643.116
+     -2285.456       -1780.875          41.000          35.000
+  -3797904.03043  -2954403.71442  22399177.275    22399180.447    22399175.923
+     -1893.036       -1475.093          52.000          46.000
+   1435422.98643   1111946.81142  25217048.233    25217052.452    25217047.911
+     -2387.941       -1860.733          44.000          36.000
+ -22566010.49243 -17537464.77542  20989648.001    20989652.516    20989646.908
+     -1457.003       -1135.327          55.000          49.000
+ -16670566.92543 -12979959.71242  21651086.463    21651090.277    21651084.672
+      -850.359        -662.617          56.000          49.000
+ -17781495.84443 -13845423.58242  21848087.538    21848091.466    21848085.712
+      1201.933         936.571          54.000          47.000
+  -9968427.64343  -7723024.41642  23570906.603    23570911.708    23570905.407
+      2906.499        2264.804          47.000          42.000
+ -22761131.83743 -17720630.67942  20378254.064    20378256.768    20378252.834
+      -869.626        -677.631          56.000          51.000
+  -2980660.38143  -1928082.37942  24585660.392    24585662.941    24585659.841
+      3092.817        2409.987          47.000          39.000
+ -21260470.75343 -16508667.62442  21225554.716    21225559.266    21225553.176
+     -1443.156       -1124.537          54.000          48.000
+ 04  2  1 22 59 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+  -1012116.56643   -799004.69042  25412680.599    25412685.912    25412677.174
+     -2281.435       -1777.741          41.000          35.000
+  -3741125.13543  -2910160.49442  22409981.706    22409984.661    22409980.912
+     -1892.790       -1474.901          53.000          46.000
+   1507128.01243   1167820.73442  25230692.764    25230698.901    25230692.019
+     -2393.080       -1864.738          44.000          36.000
+ -22522069.43843 -17503225.03642  20998009.640    20998014.275    20998008.522
+     -1472.866       -1147.688          55.000          49.000
+ -16644924.13443 -12959978.35642  21655965.561    21655970.432    21655964.560
+      -859.667        -669.870          56.000          49.000
+ -17817303.76343 -13873325.87742  21841272.744    21841276.509    21841271.763
+      1184.925         923.318          54.000          47.000
+ -10055636.04843  -7790978.98542  23554311.698    23554315.900    23554310.276
+      2907.103        2265.275          47.000          42.000
+ -22734784.64043 -17700100.41542  20383267.640    20383270.623    20383266.717
+      -887.340        -691.434          56.000          51.000
+  -3073488.87543  -2000416.25742  24567995.751    24567998.141    24567994.033
+      3095.256        2411.888          46.000          39.000
+ -21217136.22643 -16474900.50242  21233800.843    21233805.594    21233799.476
+     -1446.355       -1127.030          54.000          48.000
+ 04  2  1 23  0  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -943736.66243   -745721.67042  25425693.206    25425701.523    25425690.317
+     -2277.108       -1774.370          41.000          35.000
+  -3684338.95243  -2865911.57942  22420787.744    22420790.035    22420786.518
+     -1893.081       -1475.128          52.000          45.000
+   1579004.22243   1223828.07042  25244369.655    25244375.505    25244368.186
+     -2398.749       -1869.155          45.000          37.000
+ -22477646.13343 -17468609.51642  21006463.031    21006467.828    21006461.949
+     -1488.681       -1160.011          55.000          49.000
+ -16618995.01843 -12939773.88942  21660899.842    21660904.424    21660898.384
+      -868.945        -677.100          55.000          49.000
+ -17852590.73343 -13900822.23542  21834558.279    21834561.929    21834556.965
+      1167.560         909.787          54.000          47.000
+ -10142852.06843  -7858939.50142  23537715.277    23537721.141    23537714.211
+      2907.370        2265.483          47.000          42.000
+ -22707901.53443 -17679152.56442  20388383.867    20388386.203    20388382.589
+      -904.842        -705.072          56.000          51.000
+  -3166373.67343  -2072794.01142  24550319.648    24550323.600    24550319.121
+      3097.219        2413.417          45.000          39.000
+ -21173699.31743 -16441053.59842  21242066.477    21242071.478    21242065.535
+     -1449.502       -1129.482          54.000          48.000
+ 04  2  1 23  0 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -875470.93043   -692527.77142  25438685.549    25438686.756    25438686.249
+     -2274.154       -1772.068          43.000          34.000
+  -3627545.84343  -2821657.27342  22431595.356    22431597.630    22431594.429
+     -1893.630       -1475.556          52.000          46.000
+   1651051.81143   1279968.91442  25258079.258    25258086.194    25258078.908
+     -2404.647       -1873.751          44.000          36.000
+ -22432742.27443 -17433619.54542  21015008.173    21015013.013    21015006.995
+     -1505.067       -1172.779          55.000          49.000
+ -16592778.23143 -12919345.26442  21665888.913    21665893.589    21665887.428
+      -879.016        -684.947          55.000          49.000
+ -17887355.29643 -13927911.53042  21827942.442    21827946.763    21827941.009
+      1149.700         895.870          54.000          47.000
+ -10230072.05643  -7926903.14442  23521116.818    23521123.654    23521116.527
+      2907.146        2265.309          48.000          42.000
+ -22680483.54243 -17657787.91342  20393600.963    20393603.710    20393599.800
+      -923.125        -719.318          56.000          51.000
+  -3259313.07943  -2145214.32942  24532633.257    24532637.320    24532632.513
+      3098.410        2414.345          44.000          38.000
+ -21130160.58843 -16407127.35242  21250352.176    21250356.514    21250350.470
+     -1453.292       -1132.435          54.000          48.000
+ 04  2  1 23  1  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -807317.43643   -639421.25642  25451651.663    25451658.612    25451649.669
+     -2270.776       -1769.436          41.000          35.000
+  -3570744.44043  -2777396.50142  22442404.007    22442406.714    22442403.861
+     -1894.270       -1476.054          53.000          45.000
+   1723272.14943   1336244.38242  25271823.505    25271830.022    25271821.501
+     -2410.941       -1878.655          44.000          36.000
+ -22387358.05843 -17398255.26242  21023644.610    21023648.781    21023643.505
+     -1521.377       -1185.488          55.000          49.000
+ -16566270.85543 -12898690.19542  21670933.354    21670937.469    21670932.094
+      -889.065        -692.778          56.000          49.000
+ -17921594.73043 -13954591.62642  21821426.874    21821430.359    21821425.885
+      1131.770         881.899          54.000          47.000
+ -10317291.48243  -7994866.35142  23504519.351    23504525.396    23504518.999
+      2906.518        2264.819          48.000          42.000
+ -22652530.48743 -17636006.33742  20398920.556    20398923.002    20398919.254
+      -941.337        -733.509          56.000          51.000
+  -3352303.75943  -2217674.58442  24514937.413    24514940.407    24514935.603
+      3099.744        2415.385          44.000          37.000
+ -21086519.46143 -16373121.31542  21258656.986    21258661.144    21258655.457
+     -1457.034       -1135.351          54.000          48.000
+ 04  2  1 23  1 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -739280.68843   -586405.82842  25464598.521    25464610.746    25464596.726
+     -2266.439       -1766.056          40.000          34.000
+  -3513940.32243  -2733133.61142  22453214.017    22453216.236    22453212.841
+     -1894.003       -1475.846          52.000          45.000
+   1795660.26343   1392650.54442  25285597.458    25285603.997    25285597.614
+     -2415.843       -1882.475          43.000          36.000
+ -22341500.27443 -17362521.96742  21032371.291    21032375.578    21032370.146
+     -1536.859       -1197.552          55.000          49.000
+ -16539476.86343 -12877811.79742  21676031.528    21676036.597    21676030.700
+      -898.156        -699.862          55.000          49.000
+ -17955312.92143 -13980865.56142  21815010.886    21815014.294    21815009.570
+      1114.739         868.628          54.000          47.000
+ -10404512.34343  -8062830.67942  23487923.079    23487928.111    23487920.294
+      2907.162        2265.321          48.000          42.000
+ -22624048.70043 -17613812.75542  20404340.155    20404342.915    20404339.252
+      -958.500        -746.883          56.000          51.000
+  -3445349.10943  -2290177.44442  24497232.240    24497236.245    24497231.473
+      3101.447        2416.712          44.000          38.000
+ -21042781.73443 -16339040.01242  21266980.025    21266984.658    21266978.385
+     -1459.967       -1137.637          54.000          48.000
+ 04  2  1 23  2  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -671356.52943   -533478.02142  25477525.749    25477531.398    25477520.193
+     -2261.792       -1762.435          40.000          33.000
+  -3457129.95443  -2688865.85042  22464024.945    22464027.910    22464023.622
+     -1893.440       -1475.408          52.000          45.000
+   1868219.78643   1449190.31742  25299404.642    25299411.618    25299405.247
+     -2421.126       -1886.592          44.000          36.000
+ -22295166.89543 -17326418.07942  21041188.107    21041192.721    21041187.296
+     -1552.120       -1209.444          55.000          49.000
+ -16512391.14043 -12856706.08242  21681185.931    21681190.599    21681184.960
+      -907.659        -707.267          55.000          49.000
+ -17988504.77843 -14006729.36942  21808695.142    21808698.372    21808693.740
+      1098.021         855.601          54.000          47.000
+ -10491727.44443  -8130790.49542  23471326.024    23471332.212    23471323.919
+      2907.231        2265.375          49.000          43.000
+ -22595035.60543 -17591205.16942  20409861.144    20409864.224    20409859.904
+      -975.689        -760.277          56.000          51.000
+  -3538443.74843  -2362718.73342  24479515.824    24479520.229    24479514.716
+      3104.046        2418.737          43.000          38.000
+ -20998944.37143 -16304881.07042  21275321.614    21275326.522    21275320.326
+     -1462.592       -1139.682          54.000          48.000
+ 04  2  1 23  2 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -603546.80753   -480639.26052  25490427.716    25490435.541    25490425.352
+     -2258.476       -1759.851          37.000          33.000
+  -3400315.76143  -2644595.12042  22474835.790    22474838.801    22474835.044
+     -1893.764       -1475.660          53.000          45.000
+   1940948.48843   1505861.91442  25313245.625    25313250.752    25313244.148
+     -2427.328       -1891.424          43.000          36.000
+ -22248361.88543 -17289946.68742  21050094.907    21050099.266    21050093.985
+     -1567.766       -1221.636          55.000          49.000
+ -16485014.64743 -12835373.79742  21686395.571    21686400.610    21686394.485
+      -917.218        -714.715          55.000          49.000
+ -18021171.57043 -14032184.03542  21802478.283    21802482.141    21802476.960
+      1080.078         841.619          54.000          47.000
+ -10578935.87043  -8198745.12142  23454730.613    23454734.982    23454730.288
+      2906.872        2265.095          49.000          43.000
+ -22565495.05543 -17568186.57642  20415482.560    20415485.657    20415481.519
+      -993.437        -774.107          56.000          51.000
+  -3631587.93243  -2435298.58042  24461793.122    24461795.492    24461791.931
+      3105.756        2420.070          46.000          38.000
+ -20955010.40043 -16270646.84842  21283682.405    21283686.850    21283681.248
+     -1465.982       -1142.324          54.000          48.000
+ 04  2  1 23  3  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -535852.70253   -427890.78252  25503311.857    25503317.640    25503311.704
+     -2254.466       -1756.727          42.000          35.000
+  -3343499.85543  -2600323.03242  22485648.013    22485650.146    22485646.584
+     -1893.879       -1475.750          53.000          45.000
+   2013844.90943   1562664.20342  25327117.901    25327123.965    25327116.197
+     -2432.753       -1895.652          44.000          37.000
+ -22201088.71543 -17253110.49842  21059090.368    21059095.298    21059089.196
+     -1583.571       -1233.951          55.000          49.000
+ -16457347.69943 -12813815.18542  21691660.865    21691664.988    21691659.445
+      -927.118        -722.430          56.000          49.000
+ -18053313.63043 -14057229.81442  21796361.963    21796365.867    21796360.521
+      1062.477         827.904          54.000          47.000
+ -10666135.75643  -8266693.09942  23438136.670    23438143.442    23438136.567
+      2906.558        2264.850          50.000          43.000
+ -22535429.90943 -17544759.20842  20421203.683    20421206.930    20421202.585
+     -1010.879        -787.698          56.000          51.000
+  -3724781.54243  -2507917.01842  24444058.866    24444061.000    24444057.159
+      3107.405        2421.355          46.000          39.000
+ -20910982.23043 -16236339.21442  21292060.775    21292065.186    21292059.674
+     -1469.151       -1144.793          54.000          48.000
+ 04  2  1 23  3 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -468271.31143   -375230.04242  25516171.045    25516177.894    25516171.067
+     -2250.974       -1754.006          42.000          36.000
+  -3286680.33643  -2556048.16242  22496460.002    22496461.858    22496458.687
+     -1894.263       -1476.049          52.000          45.000
+   2086910.76943   1619598.51842  25341022.433    25341026.679    25341021.272
+     -2438.962       -1900.490          44.000          37.000
+ -22153347.29043 -17215909.43142  21068175.427    21068180.222    21068174.105
+     -1599.228       -1246.152          55.000          49.000
+ -16429387.05843 -12792027.70942  21696981.114    21696985.942    21696979.818
+      -936.929        -730.074          55.000          49.000
+ -18084927.81843 -14081864.27442  21790346.369    21790350.232    21790344.787
+      1044.955         814.251          54.000          47.000
+ -10753321.99643  -8334630.45342  23421545.745    23421552.116    23421544.711
+      2905.834        2264.286          49.000          43.000
+ -22504839.40143 -17520922.47642  20427025.201    20427027.860    20427023.981
+     -1028.556        -801.472          56.000          51.000
+  -3818020.82043  -2580570.99142  24426314.425    24426317.872    24426313.330
+      3108.660        2422.332          46.000          39.000
+ -20866858.59643 -16201957.20042  21300457.012    21300461.634    21300455.508
+     -1472.329       -1147.269          54.000          48.000
+ 04  2  1 23  4  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -400799.56043   -322654.76742  25529010.516    25529016.140    25529010.169
+     -2247.350       -1751.182          42.000          36.000
+  -3229855.08743  -2511768.81242  22507274.108    22507276.139    22507273.587
+     -1894.118       -1475.936          53.000          45.000
+   2160148.68543   1676666.91742  25354959.110    25354963.811    25354956.573
+     -2443.736       -1904.210          45.000          37.000
+ -22105137.05043 -17178343.06042  21077349.648    21077354.658    21077348.722
+     -1614.611       -1258.138          55.000          49.000
+ -16401128.84943 -12770008.36842  21702358.858    21702363.295    21702357.335
+      -946.651        -737.650          56.000          49.000
+ -18116010.44143 -14106084.52242  21784431.473    21784434.780    21784430.228
+      1027.309         800.501          54.000          47.000
+ -10840489.17243  -8402552.93042  23404958.940    23404964.946    23404959.072
+      2905.464        2263.998          50.000          43.000
+ -22473722.29443 -17496675.40642  20432946.505    20432949.312    20432945.344
+     -1045.795        -814.905          56.000          51.000
+  -3911301.29043  -2653257.10342  24408563.221    24408567.729    24408561.255
+      3110.529        2423.789          45.000          39.000
+ -20822637.64543 -16167499.36542  21308872.250    21308876.384    21308871.051
+     -1475.412       -1149.672          54.000          47.000
+ 04  2  1 23  4 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -333439.97643   -270166.90942  25541829.205    25541836.447    25541827.674
+     -2243.155       -1747.913          41.000          35.000
+  -3173026.73143  -2467487.04642  22518088.197    22518090.992    22518086.601
+     -1894.036       -1475.872          52.000          45.000
+   2233556.01743   1733867.34442  25368927.289    25368933.268    25368925.225
+     -2449.827       -1908.956          44.000          36.000
+ -22056462.19943 -17140414.65242  21086612.288    21086616.552    21086611.442
+     -1630.026       -1270.150          55.000          49.000
+ -16372574.42043 -12747758.20742  21707792.867    21707797.578    21707791.313
+      -956.577        -745.385          55.000          49.000
+ -18146562.95643 -14129891.70042  21778617.324    21778620.984    21778616.463
+      1009.793         786.852          54.000          47.000
+ -10927636.46143  -8470459.92242  23388374.682    23388380.759    23388374.163
+      2904.631        2263.349          50.000          43.000
+ -22442082.74443 -17472021.23442  20438967.065    20438970.014    20438966.200
+     -1063.177        -828.450          56.000          51.000
+  -4004623.54343  -2725975.76742  24390804.906    24390808.588    24390802.755
+      3111.564        2424.595          45.000          38.000
+ -20778322.65843 -16132968.24242  21317305.019    21317309.361    21317303.652
+     -1478.475       -1152.058          54.000          47.000
+ 04  2  1 23  5  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -266196.36743   -217769.41942  25554623.358    25554632.966    25554623.547
+     -2239.629       -1745.165          41.000          35.000
+  -3116200.49843  -2423206.93442  22528901.223    22528904.153    22528900.723
+     -1894.405       -1476.160          52.000          45.000
+   2307127.35043   1791195.58942  25382927.926    25382933.702    25382926.752
+     -2455.014       -1912.998          43.000          35.000
+ -22007329.88343 -17102129.77442  21095961.825    21095966.538    21095961.079
+     -1645.584       -1282.273          55.000          49.000
+ -16343727.55943 -12725280.17742  21713281.733    21713286.594    21713280.568
+      -966.630        -753.218          55.000          49.000
+ -18176589.46543 -14153288.99942  21772903.975    21772907.188    21772901.808
+       991.833         772.857          54.000          47.000
+ -11014765.33143  -8538352.55842  23371795.582    23371800.926    23371794.403
+      2903.750        2262.662          50.000          44.000
+ -22409927.13843 -17446964.94142  20445086.139    20445089.004    20445084.950
+     -1080.714        -842.115          56.000          51.000
+  -4097991.36043  -2798729.91842  24373036.291    24373042.222    24373035.267
+      3112.655        2425.445          42.000          37.000
+ -20733919.47743 -16098368.40242  21325754.472    21325759.082    21325752.999
+     -1481.852       -1154.690          54.000          47.000
+ 04  2  1 23  5 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -199064.16243   -165458.66542  25567400.878    25567405.382    25567399.403
+     -2235.646       -1742.062          43.000          36.000
+  -3059372.32643  -2378925.31542  22539715.539    22539718.387    22539715.447
+     -1893.979       -1475.828          52.000          45.000
+   2380867.27643   1848655.19842  25396959.139    25396965.476    25396956.983
+     -2460.666       -1917.402          41.000          35.000
+ -21957737.75343 -17063486.61142  21105398.690    21105403.526    21105397.976
+     -1660.360       -1293.787          55.000          49.000
+ -16314582.76943 -12702569.99942  21718828.387    21718833.119    21718826.631
+      -976.084        -760.585          55.000          49.000
+ -18206084.46743 -14176272.15242  21767290.507    21767294.492    21767289.153
+       974.593         759.423          54.000          47.000
+ -11101868.15243  -8606224.89442  23355220.613    23355225.781    23355219.154
+      2903.363        2262.361          50.000          44.000
+ -22377252.58843 -17421504.26742  20451303.603    20451306.867    20451302.512
+     -1097.442        -855.150          56.000          51.000
+  -4191398.26743  -2871514.52842  24355259.980    24355266.666    24355260.244
+      3114.537        2426.912          42.000          37.000
+ -20689424.35843 -16063696.92742  21334222.039    21334226.462    21334220.505
+     -1484.287       -1156.587          54.000          48.000
+ 04  2  1 23  6  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+   -132044.01043   -113235.31342  25580155.164    25580160.945    25580152.286
+     -2231.814       -1739.076          40.000          35.000
+  -3002543.94743  -2334643.52442  22550529.844    22550531.986    22550529.247
+     -1894.217       -1476.013          52.000          45.000
+   2454774.02943   1906244.78742  25411022.611    25411030.275    25411021.996
+     -2465.625       -1921.266          39.000          34.000
+ -21907689.00643 -17024487.64142  21114923.014    21114927.733    21114921.822
+     -1675.657       -1305.707          55.000          49.000
+ -16285140.34943 -12679627.90142  21724431.383    21724435.068    21724429.816
+      -986.203        -768.470          55.000          49.000
+ -18235048.34843 -14198841.44042  21761779.323    21761782.630    21761777.493
+       956.756         745.524          54.000          47.000
+ -11188943.40343  -8674075.74942  23338650.820    23338656.355    23338649.567
+      2902.250        2261.494          50.000          44.000
+ -22344061.80943 -17395641.34142  20457620.297    20457623.284    20457618.931
+     -1114.766        -868.649          56.000          51.000
+  -4284843.75843  -2944329.18742  24337479.612    24337485.001    24337479.662
+      3115.503        2427.665          43.000          38.000
+ -20644839.52943 -16028955.54442  21342706.096    21342710.247    21342704.957
+     -1487.372       -1158.991          54.000          48.000
+ 04  2  1 23  6 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+    -65134.36743    -61098.03142  25592887.264    25592887.050    25592886.106
+     -2228.005       -1736.108          40.000          32.000
+  -2945713.92543  -2290360.46542  22561344.453    22561345.600    22561343.485
+     -1893.680       -1475.595          52.000          45.000
+   2528849.36943   1963965.71742  25425120.096    25425128.473    25425117.504
+     -2471.904       -1926.159          40.000          35.000
+ -21857184.01943 -16985133.15342  21124533.360    21124538.353    21124532.392
+     -1690.460       -1317.241          55.000          49.000
+ -16255397.46043 -12656451.66742  21730090.725    21730095.286    21730089.256
+      -995.826        -775.968          55.000          49.000
+ -18263478.63943 -14220994.94042  21756368.102    21756373.188    21756367.460
+       939.367         731.974          54.000          47.000
+ -11275986.04843  -8741901.18942  23322086.246    23322092.465    23322085.866
+      2901.600        2260.987          49.000          43.000
+ -22310355.12143 -17369376.40842  20464034.198    20464037.086    20464032.948
+     -1131.494        -881.684          56.000          51.000
+  -4378324.64843  -3017171.42842  24319690.388    24319696.431    24319689.313
+      3117.389        2429.134          44.000          38.000
+ -20600164.03543 -15994143.51842  21351207.210    21351211.760    21351206.438
+     -1490.100       -1161.117          54.000          47.000
+ 04  2  1 23  7  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+                                  25605598.042
+     -2223.718       -1732.767          39.000
+  -2888887.29443  -2246080.05842  22572157.575    22572161.484    22572157.420
+     -1893.587       -1475.522          51.000          45.000
+   1027668.42953    794214.22152  25439248.379    25439254.786    25439244.778
+     -2476.617       -1929.831          40.000          34.000
+ -21806229.54343 -16945428.41542  21134230.420    21134235.116    21134229.095
+     -1705.391       -1328.876          55.000          49.000
+ -16225357.62843 -12633044.04842  21735807.204    21735811.743    21735805.855
+     -1005.679        -783.646          55.000          49.000
+ -18291379.17343 -14242735.63742  21751059.524    21751063.790    21751058.631
+       921.719         718.223          54.000          47.000
+ -11362997.69443  -8809702.45842  23305528.507    23305534.174    23305527.568
+      2900.379        2260.036          49.000          43.000
+ -22276138.60344 -17342714.20142  20470545.616    20470548.256    20470544.315
+     -1148.373        -894.836          57.000          51.000
+  -4471843.82543  -3090043.50742  24301895.039    24301899.867    24301893.894
+      3118.856        2430.277          44.000          38.000
+ -20555403.39143 -15959265.14042  21359725.274    21359729.821    21359723.970
+     -1492.764       -1163.193          54.000          47.000
+ 04  2  1 23  7 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+     68345.14443     42911.77342  25618287.408    25618291.892    25618285.299
+     -2220.703       -1730.418          42.000          33.000
+  -2832062.61943  -2201801.15642  22582971.765    22582973.731    22582969.953
+     -1893.826       -1475.708          52.000          45.000
+   1102072.22653    852191.04052  25453406.140    25453410.497    25453407.344
+     -2482.427       -1934.359          39.000          34.000
+ -21754825.78443 -16905373.58342  21144012.066    21144016.564    21144010.655
+     -1720.613       -1340.737          55.000          49.000
+ -16195018.20243 -12609402.98642  21741580.729    21741585.603    21741579.705
+     -1016.075        -791.747          55.000          49.000
+ -18318747.12543 -14264061.34442  21745851.107    21745855.483    21745850.297
+       903.572         704.082          54.000          47.000
+ -11449972.91043  -8877475.32842  23288978.283    23288983.895    23288977.134
+      2898.861        2258.853          49.000          43.000
+ -22241411.81943 -17315654.39642  20477153.597    20477156.759    20477152.654
+     -1165.739        -908.368          56.000          51.000
+  -4565397.38143  -3162942.39442  24284092.365    24284096.893    24284092.132
+      3119.127        2430.489          45.000          38.000
+ -20510556.46343 -15924319.52842  21368259.390    21368263.670    21368258.132
+     -1496.167       -1165.844          54.000          47.000
+ 04  2  1 23  8  0.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+                     94787.56742  25630956.901    25630956.359
+     -2217.825       -1728.175          40.000          32.000
+  -2775238.13143  -2157522.40842  22593784.276    22593787.837    22593784.122
+     -1894.448       -1476.193          52.000          45.000
+   1176643.27253    910298.21752  25467595.933    25467605.561    25467599.159
+     -2488.993       -1939.475          41.000          33.000
+ -21702972.78543 -16864968.69642  21153878.896    21153884.167    21153878.205
+     -1736.274       -1352.941          55.000          49.000
+ -16164376.07443 -12585526.04242  21747411.411    21747415.798    21747410.068
+     -1026.738        -800.055          55.000          48.000
+ -18345579.79743 -14284969.94742  21740745.599    21740749.321    21740744.348
+       885.031         689.635          54.000          47.000
+ -11536906.60943  -8945215.87742  23272435.329    23272440.203    23272434.186
+      2896.804        2257.250          49.000          43.000
+ -22206174.58543 -17288196.83342  20483859.005    20483862.014    20483857.949
+     -1183.349        -922.090          56.000          51.000
+  -4658982.08643  -3235865.54142  24266284.084    24266288.896    24266283.443
+      3119.414        2430.712          45.000          38.000
+ -20465622.17043 -15889305.83642  21376809.763    21376814.017    21376808.774
+     -1499.579       -1168.503          54.000          47.000
+ 04  2  1 23  8 30.0000000  0 10G18G22G21G 3G15G31G25G14G11G23
+    201380.25953    146575.32652  25643603.603    25643607.265    25643592.970
+     -2211.720       -1723.418          38.000          32.000
+  -2718417.74543  -2113246.84242  22604597.827    22604600.147    22604597.049
+     -1893.644       -1475.567          52.000          45.000
+   1251376.99843    968532.15742  25481818.656    25481823.660    25481817.883
+     -2493.444       -1942.943          41.000          34.000
+ -21650676.70443 -16824218.56042  21163831.124    21163835.412    21163830.025
+     -1750.273       -1363.849          55.000          48.000
+ -16133433.96943 -12561415.35342  21753300.453    21753304.630    21753298.771
+     -1036.167        -807.403          55.000          49.000
+ -18371880.23143 -14305463.82242  21735740.435    21735744.519    21735739.719
+       868.058         676.409          53.000          47.000
+ -11623799.83943  -9012924.89042  23255900.145    23255904.077    23255897.821
+      2895.926        2256.566          50.000          43.000
+ -22170432.34143 -17260345.76542  20490660.643    20490663.505    20490659.262
+     -1199.582        -934.739          56.000          51.000
+  -4752599.87043  -3308814.44842  24248469.047    24248473.452    24248468.344
+      3121.322        2432.199          45.000          38.000
+ -20420605.04543 -15854227.60442  21385376.909    21385380.982    21385375.556
+     -1501.694       -1170.151          54.000          47.000
+ 04  2  1 23  9  0.0000000  0  9G22G21G 3G15G31G25G14G11G23
+  -2661601.84143  -2068974.78042  22615410.000    22615412.526    22615408.840
+     -1894.272       -1476.056          52.000          45.000
+   1326273.40743   1026892.90942  25496071.270    25496076.095    25496069.623
+     -2499.817       -1947.909          40.000          33.000
+ -21597939.32943 -16783124.54942  21173866.247    21173871.505    21173865.017
+     -1765.719       -1375.885          54.000          48.000
+ -16102190.41343 -12537069.76942  21759244.833    21759250.017    21759243.471
+     -1046.926        -815.786          55.000          48.000
+ -18397647.41943 -14325542.17642  21730837.770    21730841.581    21730836.018
+       849.412         661.879          54.000          47.000
+ -11710648.92243  -9080599.49242  23239373.081    23239377.668    23239372.716
+      2893.614        2254.764          50.000          43.000
+ -22134186.61943 -17232102.36842  20497557.690    20497561.122    20497556.893
+     -1216.997        -948.309          56.000          51.000
+  -4846248.32643  -3381787.27842  24230647.559    24230653.994    24230647.419
+      3121.924        2432.668          45.000          38.000
+ -20375505.51743 -15819085.16342  21393959.260    21393963.363    21393957.778
+     -1505.065       -1172.778          54.000          47.000
+ 04  2  1 23  9 30.0000000  0  9G22G21G 3G15G31G25G14G11G23
+  -2604784.65543  -2024701.71742  22626221.980    22626223.073    22626221.089
+     -1893.644       -1475.567          52.000          45.000
+                   1085384.90052  25510355.080    25510366.302
+     -2505.097       -1952.024          36.000          31.000
+ -21544757.08643 -16741683.88842  21183986.970    21183991.798    21183985.439
+     -1779.830       -1386.880          55.000          48.000
+ -16070638.63343 -12512484.01542  21765250.038    21765254.419    21765247.941
+     -1056.608        -823.331          55.000          49.000
+ -18422874.78943 -14345199.89242  21726037.255    21726041.045    21726034.998
+       832.084         648.377          54.000          47.000
+ -11797444.99743  -9148232.78542  23222856.200    23222861.681    23222856.659
+      2892.469        2253.872          50.000          43.000
+ -22097433.29043 -17203463.43742  20504551.822    20504555.043    20504550.760
+     -1233.259        -960.981          56.000          51.000
+  -4939920.12743  -3454778.28942  24212824.318    24212828.828    24212822.684
+      3122.946        2433.464          46.000          39.000
+ -20330318.60643 -15783874.62542  21402557.273    21402562.361    21402556.189
+     -1507.370       -1174.574          54.000          47.000
+ 04  2  1 23 10  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -2547976.50043  -1980435.68242  22637031.119    22637035.066    22637031.068
+     -1893.518       -1475.468          52.000          45.000
+ -21491141.97443 -16699905.92142  21194189.279    21194194.084    21194188.773
+     -1794.324       -1398.174          55.000          48.000
+ -16038787.84443 -12487665.26842  21771310.489    21771315.212    21771308.788
+     -1066.669        -831.171          55.000          48.000
+ -18447571.58343 -14364444.17142  21721337.303    21721341.807    21721336.045
+       814.338         634.549          54.000          47.000
+ -11884194.81643  -9215830.02542  23206348.172    23206353.716    23206346.484
+      2890.984        2252.715          49.000          43.000
+ -22060184.04243 -17174438.07442  20511640.038    20511643.261    20511638.949
+     -1249.961        -973.995          56.000          51.000
+  -5033623.50343  -3527793.91842  24194992.735    24194997.908    24194992.643
+      3123.998        2434.284          46.000          39.000
+ -20285055.03143 -15748604.35342  21411170.804    21411175.812    21411169.675
+     -1510.189       -1176.771          54.000          47.000
+ 04  2  1 23 10 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -2491169.43443  -1936170.51542  22647842.035    22647844.597    22647840.922
+     -1893.714       -1475.621          52.000          45.000
+ -21437088.04543 -16657786.02942  21204475.918    21204480.472    21204474.837
+     -1809.272       -1409.822          55.000          48.000
+ -16006628.90943 -12462606.40142  21777429.350    21777434.737    21777428.282
+     -1077.371        -839.510          54.000          48.000
+ -18471729.09543 -14383268.22942  21716740.357    21716744.791    21716739.120
+       796.082         620.324          54.000          47.000
+ -11970886.66243  -9283382.10942  23189850.876    23189856.452    23189850.099
+      2888.592        2250.851          49.000          43.000
+ -22022432.61043 -17145021.40542  20518824.254    20518827.364    20518823.186
+     -1266.888        -987.185          56.000          51.000
+  -5127348.54543  -3600826.38542  24177157.498    24177161.436    24177156.949
+      3124.184        2434.429          47.000          39.000
+ -20239707.39243 -15713268.58542  21419800.271    21419804.668    21419798.435
+     -1513.226       -1179.137          54.000          47.000
+ 04  2  1 23 11  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -2434368.97243  -1891910.48242  22658650.333    22658652.055    22658649.745
+     -1893.334       -1475.325          51.000          45.000
+ -21382602.87743 -16615330.09842  21214843.966    21214848.916    21214842.674
+     -1823.369       -1420.807          55.000          48.000
+ -15974165.81843 -12437310.53842  21783607.614    21783612.294    21783606.286
+     -1087.164        -847.141          55.000          48.000
+ -18495351.84243 -14401675.58942  21712244.715    21712249.103    21712243.547
+       778.510         606.631          54.000          47.000
+ -12057522.74543  -9350890.72842  23173364.022    23173370.394    23173363.666
+      2886.760        2249.423          50.000          43.000
+ -21984185.67844 -17115218.62842  20526102.390    20526105.493    20526101.300
+     -1283.163        -999.867          57.000          51.000
+  -5221098.62443  -3673878.40342  24159317.785    24159321.698    24159316.136
+      3125.405        2435.381          47.000          39.000
+ -20194281.60543 -15677871.91142  21428444.454    21428449.327    21428443.280
+     -1515.517       -1180.922          54.000          47.000
+ 04  2  1 23 11 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -2377571.05043  -1847652.43042  22669458.763    22669461.057    22669457.708
+     -1893.983       -1475.831          51.000          45.000
+ -21327684.31443 -16572536.46242  21225294.270    21225299.500    21225293.256
+     -1838.509       -1432.604          54.000          48.000
+ -15941393.40143 -12411773.63442  21789843.874    21789849.178    21789842.382
+     -1098.254        -855.782          55.000          48.000
+ -18518434.74343 -14419662.28942  21707853.015    21707856.337    21707851.118
+       759.713         591.984          54.000          47.000
+ -12144095.75343  -9418350.18042  23156890.938    23156896.372    23156889.791
+      2883.932        2247.220          50.000          44.000
+ -21945440.86744 -17085027.89542  20533475.350    20533478.202    20533474.380
+     -1300.490       -1013.369          57.000          51.000
+  -5314867.43143  -3746945.00942  24141474.335    24141478.329    24141473.200
+      3125.188        2435.211          48.000          40.000
+ -20148774.05443 -15642411.53842  21437104.207    21437108.895    21437103.750
+     -1518.901       -1183.559          53.000          47.000
+ 04  2  1 23 12  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -2320780.86643  -1803400.39642  22680265.277    22680267.916    22680264.875
+     -1892.640       -1474.784          51.000          44.000
+ -21272339.63643 -16529410.78642  21235826.431    21235831.260    21235825.141
+     -1851.686       -1442.872          55.000          48.000
+ -15908315.68243 -12385998.84242  21796138.246    21796143.139    21796137.120
+     -1107.496        -862.984          55.000          48.000
+ -18540982.28943 -14437231.83742  21703561.976    21703565.432    21703560.682
+       742.839         578.836          54.000          47.000
+ -12230607.33643  -9485761.76642  23140428.580    23140433.170    23140427.461
+      2882.834        2246.364          51.000          44.000
+ -21906205.10744 -17054454.61042  20540941.755    20540944.719    20540940.571
+     -1315.766       -1025.272          57.000          51.000
+  -5408658.21643  -3820028.73742  24123626.471    24123631.021    24123623.429
+      3126.826        2436.488          47.000          40.000
+ -20103190.51643 -15606891.93442  21445778.905    21445783.128    21445777.815
+     -1520.474       -1184.785          53.000          47.000
+ 04  2  1 23 12 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -2263997.27643  -1759153.51242  22691072.069    22691072.903    22691071.301
+     -1891.948       -1474.245          51.000          45.000
+ -21216569.96243 -16485953.94442  21246439.101    21246443.560    21246438.007
+     -1865.257       -1453.447          55.000          48.000
+ -15874930.56043 -12359984.51242  21802491.266    21802496.135    21802489.975
+     -1117.183        -870.532          54.000          48.000
+ -18562992.74343 -14454382.86542  21699373.361    21699377.738    21699372.300
+       725.367         565.221          54.000          47.000
+ -12317053.24243  -9553122.19442  23123978.380    23123982.499    23123976.945
+      2881.239        2245.121          50.000          44.000
+ -21866478.92044 -17023499.16442  20548501.276    20548504.205    20548500.482
+     -1331.586       -1037.599          57.000          51.000
+  -5502468.38343  -3893127.57542  24105773.629    24105780.492    24105773.465
+      3127.993        2437.397          46.000          39.000
+ -20057530.47643 -15571312.73042  21454467.820    21454472.371    21454466.436
+     -1522.550       -1186.402          54.000          47.000
+ 04  2  1 23 13  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -2207217.42243  -1714909.53242  22701876.362    22701878.049    22701875.575
+     -1892.695       -1474.827          51.000          45.000
+ -21160374.08143 -16442164.99542  21257133.198    21257137.779    21257131.950
+     -1880.347       -1465.205          55.000          48.000
+ -15841233.65143 -12333727.23642  21808903.854    21808909.327    21808902.554
+     -1128.403        -879.275          54.000          48.000
+ -18584462.14143 -14471112.29442  21695288.469    21695292.374    21695287.267
+       706.574         550.577          54.000          47.000
+ -12403426.76743  -9620426.21142  23107542.458    23107546.729    23107540.639
+      2877.586        2242.275          51.000          44.000
+ -21826260.52744 -16992160.18542  20556154.737    20556157.759    20556153.459
+     -1348.850       -1051.052          57.000          51.000
+  -5596292.21143  -3966237.03342  24087919.243    24087924.918    24087918.252
+      3127.431        2436.959          46.000          39.000
+ -20011791.20243 -15535671.78642  21463171.463    21463176.630    21463170.249
+     -1525.920       -1189.028          53.000          47.000
+ 04  2  1 23 13 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -2150447.95043  -1670673.65042  22712679.459    22712682.152    22712678.041
+     -1892.201       -1474.442          51.000          45.000
+ -21103761.04643 -16398050.99442  21267905.612    21267910.939    21267904.609
+     -1894.083       -1475.909          54.000          48.000
+ -15807230.68843 -12307231.48242  21815374.258    21815379.278    21815373.001
+     -1138.607        -887.226          54.000          48.000
+ -18605396.54243 -14487424.84742  21691304.292    21691308.573    21691303.070
+       688.677         536.631          54.000          47.000
+ -12489731.32243  -9687676.49642  23091118.351    23091124.000    23091116.494
+      2875.595        2240.723          50.000          43.000
+ -21785558.66043 -16960444.47742  20563899.730    20563902.905    20563898.847
+     -1364.859       -1063.526          56.000          51.000
+  -5690134.62443  -4039360.97242  24070063.913    24070067.938    24070062.550
+      3128.350        2437.675          47.000          40.000
+ -19965980.02643 -15499974.80142  21471889.549    21471894.602    21471888.043
+     -1528.222       -1190.822          54.000          47.000
+ 04  2  1 23 14  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -2093684.95943  -1626442.81542  22723480.583    22723484.420    22723479.401
+     -1892.295       -1474.515          51.000          45.000
+ -21046728.86643 -16353610.38342  21278758.520    21278763.954    21278757.758
+     -1908.236       -1486.937          54.000          48.000
+ -15772916.79643 -12280493.42842  21821904.291    21821908.991    21821902.556
+     -1149.146        -895.438          54.000          48.000
+ -18625791.27743 -14503316.87542  21687423.535    21687427.380    21687422.049
+       670.537         522.496          54.000          47.000
+ -12575959.07443  -9754866.93242  23074709.416    23074715.366    23074708.568
+      2872.683        2238.454          50.000          44.000
+ -21744370.99044 -16928350.21842  20571737.847    20571740.689    20571736.658
+     -1381.200       -1076.260          57.000          51.000
+  -5783989.64343  -4112494.73942  24052203.727    24052207.487    24052202.035
+      3128.525        2437.812          48.000          40.000
+ -19920093.47443 -15464219.09042  21480621.172    21480626.044    21480619.764
+     -1530.938       -1192.939          54.000          47.000
+ 04  2  1 23 14 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -2036928.74943  -1582217.25042  22734281.166    22734284.178    22734279.725
+     -1892.167       -1474.416          51.000          45.000
+ -20989280.12343 -16308845.17042  21289690.945    21289695.761    21289689.858
+     -1922.059       -1497.708          55.000          48.000
+ -15738291.16343 -12253512.47342  21828493.068    21828498.347    21828491.580
+     -1159.627        -903.605          55.000          48.000
+ -18645646.04243 -14518788.14742  21683645.605    21683649.285    21683643.992
+       652.540         508.473          54.000          48.000
+ -12662107.19243  -9821995.30842  23058316.208    23058322.272    23058314.891
+      2870.115        2236.453          50.000          44.000
+ -21702699.50444 -16895878.96242  20579667.721    20579670.450    20579666.675
+     -1397.308       -1088.811          57.000          51.000
+  -5877855.51243  -4185636.97942  24034341.767    24034344.031    24034340.914
+      3128.834        2438.052          47.000          40.000
+ -19874132.40143 -15428405.31842  21489367.472    21489372.252    21489366.426
+     -1533.511       -1194.944          54.000          47.000
+ 04  2  1 23 15  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1980181.13543  -1537998.38742  22745079.707    22745082.855    22745079.662
+     -1891.810       -1474.138          51.000          45.000
+ -20931418.69343 -16263758.39142  21300701.687    21300706.772    21300700.626
+     -1935.908       -1508.500          54.000          48.000
+ -15703354.33743 -12226289.02942  21835141.751    21835146.463    21835140.124
+     -1170.077        -911.748          55.000          48.000
+ -18664962.02143 -14533839.59342  21679969.535    21679973.325    21679968.244
+       634.593         494.488          54.000          48.000
+ -12748174.16543  -9889060.45142  23041938.403    23041944.216    23041937.832
+      2867.293        2234.254          50.000          44.000
+ -21660547.72143 -16863033.44142  20587688.788    20587691.920    20587687.805
+     -1413.352       -1101.313          56.000          51.000
+  -5971731.99643  -4258787.45742  24016476.950    24016480.552    24016475.337
+      3129.116        2438.272          48.000          40.000
+ -19828099.09443 -15392535.26642  21498127.398    21498131.437    21498126.272
+     -1535.876       -1196.786          53.000          47.000
+ 04  2  1 23 15 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1923441.40743  -1493785.67142  22755878.026    22755880.191    22755876.721
+     -1891.061       -1473.554          51.000          45.000
+ -20873146.04843 -16218351.19342  21311790.451    21311795.213    21311789.198
+     -1949.074       -1518.759          54.000          48.000
+ -15668104.68743 -12198821.81942  21841849.723    21841854.391    21841848.036
+     -1180.026        -919.501          55.000          48.000
+ -18683737.89743 -14548470.17042  21676396.833    21676400.662    21676395.285
+       616.939         480.732          54.000          48.000
+ -12834155.73443  -9956059.04642  23025576.770    23025581.846    23025575.724
+      2864.800        2232.312          51.000          44.000
+ -21617916.75344 -16829814.53442  20595801.243    20595804.411    20595800.208
+     -1428.873       -1113.407          57.000          51.000
+  -6065616.11843  -4331943.89442  23998611.064    23998616.294    23998610.309
+      3129.848        2438.843          47.000          40.000
+ -19781993.19143 -15356608.64242  21506900.624    21506905.952    21506900.173
+     -1537.905       -1198.367          53.000          47.000
+ 04  2  1 23 16  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1866711.13043  -1449580.33342  22766673.278    22766675.937    22766671.840
+     -1890.902       -1473.430          51.000          45.000
+ -20814465.86843 -16172626.43242  21322957.003    21322962.035    21322955.754
+     -1962.770       -1529.431          54.000          48.000
+ -15632542.46443 -12171111.04942  21848616.419    21848621.883    21848615.176
+     -1190.615        -927.752          55.000          48.000
+ -18701974.46143 -14562680.51342  21672926.201    21672930.958    21672924.808
+       598.892         466.669          54.000          48.000
+ -12920049.82643 -10022989.48942  23009232.838    23009237.126    23009231.539
+      2861.794        2229.969          52.000          45.000
+ -21574809.72343 -16796224.67142  20604004.075    20604007.296    20604003.105
+     -1444.713       -1125.750          56.000          51.000
+  -6159507.47943  -4405105.93742  23980743.426    23980748.888    23980742.933
+      3129.578        2438.632          47.000          39.000
+ -19735816.71443 -15320627.02542  21515688.275    21515692.882    21515686.614
+     -1540.338       -1200.263          53.000          47.000
+ 04  2  1 23 16 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1809990.29643  -1405382.34942  22777466.297    22777470.458    22777465.523
+     -1890.430       -1473.062          50.000          44.000
+ -20755380.70143 -16126586.09342  21334200.515    21334205.510    21334199.457
+     -1976.144       -1539.852          54.000          48.000
+ -15596667.06643 -12143156.24742  21855444.184    21855448.493    21855442.135
+     -1201.015        -935.856          55.000          48.000
+ -18719671.50743 -14576470.44742  21669558.733    21669563.223    21669557.186
+       580.948         452.687          54.000          48.000
+ -13005853.41743 -10089849.40842  22992903.826    22992908.916    22992902.799
+      2858.676        2227.540          51.000          44.000
+ -21531228.61944 -16762265.39542  20612297.490    20612300.397    20612296.231
+     -1460.610       -1138.138          57.000          51.000
+  -6253404.44843  -4478272.42342  23962875.616    23962880.822    23962873.835
+      3130.123        2439.057          46.000          40.000
+ -19689570.34443 -15284590.93242  21524488.897    21524493.264    21524487.506
+     -1542.589       -1202.017          54.000          47.000
+ 04  2  1 23 17  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1753276.46743  -1361189.82642  22788259.069    22788261.267    22788259.021
+     -1890.130       -1472.828          51.000          45.000
+ -20695890.17643 -16080229.89342  21345521.640    21345526.288    21345520.250
+     -1989.580       -1550.322          54.000          48.000
+ -15560475.11743 -12114954.78942  21862330.923    21862335.984    21862329.432
+     -1211.456        -943.992          54.000          48.000
+ -18736825.95143 -14589837.58742  21666294.681    21666298.926    21666293.378
+       562.860         438.592          54.000          48.000
+ -13091560.64743 -10156634.23142  22976593.840    22976598.866    22976592.441
+      2855.483        2225.052          50.000          44.000
+ -21487172.57843 -16727936.03442  20620681.106    20620684.279    20620679.908
+     -1476.284       -1150.351          56.000          51.000
+  -6347302.60543  -4551439.78642  23945007.669    23945011.139    23945007.350
+      3130.227        2439.138          47.000          40.000
+ -19643252.00043 -15248498.76042  21533302.551    21533307.162    21533301.004
+     -1545.000       -1203.896          53.000          47.000
+ 04  2  1 23 17 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1696575.76743  -1317007.53042  22799049.222    22799050.826    22799048.443
+     -1889.874       -1472.629          51.000          45.000
+ -20636002.59043 -16033564.29542  21356918.015    21356922.847    21356916.438
+     -2002.806       -1560.628          54.000          48.000
+ -15523971.68343 -12086510.60742  21869277.283    21869281.967    21869275.844
+     -1221.929        -952.152          54.000          48.000
+ -18753443.48343 -14602786.34542  21663132.410    21663136.487    21663131.111
+       544.952         424.638          54.000          48.000
+ -13177174.33643 -10223346.20542  22960302.307    22960308.360    22960301.284
+      2852.219        2222.508          51.000          44.000
+ -21442649.88744 -16693243.05342  20629153.612    20629156.560    20629152.506
+     -1491.790       -1162.434          57.000          51.000
+  -6441205.18643  -4624610.60342  23927138.876    23927143.644    23927138.196
+      3130.269        2439.171          47.000          40.000
+ -19596868.33943 -15212355.69142  21542129.204    21542134.102    21542127.869
+     -1547.208       -1205.617          53.000          47.000
+ 04  2  1 23 18  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1639883.73943  -1272831.99642  22809836.987    22809839.463    22809836.046
+     -1889.394       -1472.255          51.000          45.000
+ -20575715.85643 -15986587.67242  21368389.921    21368395.692    21368388.905
+     -2016.005       -1570.913          54.000          48.000
+ -15487151.11343 -12057819.30542  21876283.866    21876288.792    21876281.887
+     -1232.422        -960.329          54.000          48.000
+ -18769519.15243 -14615312.86642  21660072.989    21660076.984    21660072.144
+       526.931         410.596          54.000          48.000
+ -13262686.48743 -10289979.04542  22944029.905    22944035.127    22944029.642
+      2848.767        2219.818          51.000          44.000
+ -21397657.64544 -16658184.19142  20637715.362    20637718.335    20637714.014
+     -1507.339       -1174.550          57.000          51.000
+  -6535106.05943  -4697780.08842  23909270.489    23909273.192    23909268.862
+      3130.270        2439.171          48.000          40.000
+ -19550415.31243 -15176158.57942  21550968.840    21550973.581    21550967.827
+     -1549.473       -1207.381          53.000          47.000
+ 04  2  1 23 18 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1583202.67743  -1228665.00942  22820623.303    22820625.393    22820622.406
+     -1889.230       -1472.127          51.000          45.000
+ -20515034.65843 -15939303.68242  21379936.925    21379942.160    21379936.139
+     -2029.338       -1581.302          54.000          48.000
+ -15450015.26643 -12028882.33642  21883350.998    21883355.676    21883349.628
+     -1243.155        -968.692          54.000          48.000
+ -18785055.15843 -14627418.87842  21657116.944    21657120.874    21657115.168
+       508.704         396.393          54.000          48.000
+ -13348096.25643 -10356532.12642  22927777.436    22927782.201    22927776.249
+      2845.112        2216.970          51.000          44.000
+ -21352200.41644 -16622763.00442  20646365.384    20646368.783    20646364.260
+     -1523.054       -1186.795          57.000          51.000
+  -6629005.68543  -4770948.59442  23891401.412    23891405.520    23891401.374
+      3129.985        2438.949          48.000          40.000
+ -19503895.98543 -15139909.80542  21559821.403    21559825.390    21559819.577
+     -1551.800       -1209.195          53.000          47.000
+ 04  2  1 23 19  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1526530.79743  -1184505.18042  22831407.525    22831410.700    22831406.444
+     -1889.241       -1472.136          51.000          45.000
+ -20453959.36443 -15891712.59642  21391559.183    21391564.856    21391558.420
+     -2042.702       -1591.716          54.000          48.000
+ -15412561.09643 -11999697.32042  21890477.949    21890482.458    21890476.840
+     -1254.069        -977.197          54.000          48.000
+ -18800049.11643 -14639102.51042  21654263.581    21654267.743    21654262.191
+       490.494         382.203          54.000          48.000
+ -13433398.12743 -10423001.10942  22911544.322    22911548.620    22911543.441
+      2841.261        2213.970          51.000          44.000
+ -21306278.14544 -16586979.44642  20655104.358    20655107.144    20655103.304
+     -1538.721       -1199.003          57.000          51.000
+  -6722900.19943  -4844113.13242  23873533.783    23873537.119    23873532.402
+      3129.356        2438.459          47.000          40.000
+ -19457308.72343 -15103608.10142  21568685.969    21568691.573    21568685.049
+     -1554.276       -1211.124          53.000          47.000
+ 04  2  1 23 19 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1469870.20943  -1140354.14142  22842189.443    22842191.609    22842188.096
+     -1888.629       -1471.659          51.000          44.000
+ -20392494.45343 -15843817.92542  21403256.245    21403261.036    21403255.100
+     -2055.378       -1601.593          54.000          48.000
+ -15374789.73943 -11970265.13442  21897665.755    21897670.706    21897664.282
+     -1264.387        -985.237          54.000          48.000
+ -18814502.62143 -14650365.00442  21651513.355    21651517.529    21651511.945
+       472.674         368.317          54.000          48.000
+ -13518590.35343 -10489384.64542  22895333.492    22895338.153    22895331.078
+      2837.806        2211.277          51.000          44.000
+ -21259894.54744 -16550836.41642  20663930.660    20663933.914    20663929.675
+     -1553.873       -1210.810          57.000          51.000
+  -6816789.36743  -4917273.51042  23855666.779    23855670.215    23855666.838
+      3129.297        2438.413          47.000          40.000
+ -19410656.05243 -15067255.41442  21577563.813    21577569.002    21577562.678
+     -1556.183       -1212.610          53.000          47.000
+ 04  2  1 23 20  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1413221.83343  -1096212.61642  22852969.991    22852973.978    22852969.638
+     -1889.136       -1472.054          51.000          44.000
+ -20330643.38343 -15795622.34142  21415026.213    21415031.145    21415025.153
+     -2069.141       -1612.318          55.000          48.000
+ -15336701.51843 -11940586.06142  21904914.181    21904918.422    21904912.117
+     -1275.961        -994.255          54.000          48.000
+ -18828416.50643 -14661207.02642  21648865.132    21648869.458    21648863.962
+       453.582         353.441          54.000          48.000
+ -13603671.18143 -10555681.38042  22879142.272    22879148.074    22879141.179
+      2833.166        2207.662          50.000          44.000
+ -21213052.86044 -16514336.43242  20672844.854    20672847.635    20672843.305
+     -1569.982       -1223.362          57.000          51.000
+  -6910672.26943  -4990429.00242  23837800.698    23837806.219    23837799.454
+      3128.331        2437.661          46.000          40.000
+ -19363939.56643 -15030853.01542  21586453.733    21586458.752    21586452.544
+     -1559.098       -1214.881          53.000          47.000
+ 04  2  1 23 20 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1356581.96043  -1052077.73442  22863747.796    22863750.155    22863746.774
+     -1887.720       -1470.951          51.000          44.000
+ -20268405.04843 -15747124.99342  21426869.570    21426874.437    21426868.528
+     -2080.913       -1621.491          55.000          48.000
+ -15298292.00843 -11910656.62542  21912222.734    21912227.644    21912221.194
+     -1285.578       -1001.749          54.000          48.000
+ -18841786.83843 -14671625.49442  21646321.377    21646325.238    21646320.202
+       436.777         340.346          54.000          48.000
+ -13688633.37243 -10621885.67842  22862974.027    22862979.528    22862973.152
+      2830.275        2205.409          51.000          44.000
+ -21165751.14544 -16477477.98242  20681845.727    20681848.711    20681844.690
+     -1584.226       -1234.462          57.000          51.000
+  -7004543.22343  -5063575.19042  23819938.541    23819943.450    23819937.481
+      3128.869        2438.080          48.000          41.000
+ -19317155.87543 -14994398.22942  21595356.342    21595361.697    21595355.636
+     -1560.441       -1215.928          53.000          47.000
+ 04  2  1 23 21  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1299955.67443  -1007953.43242  22874523.055    22874526.082    22874522.281
+     -1886.908       -1470.318          51.000          44.000
+ -20205786.58843 -15698331.43742  21438785.550    21438790.443    21438784.451
+     -2093.280       -1631.127          54.000          48.000
+ -15259565.31843 -11880480.03142  21919592.651    21919597.510    21919590.989
+     -1295.813       -1009.724          54.000          48.000
+ -18854618.37243 -14681624.12942  21643878.697    21643883.390    21643877.995
+       419.140         326.603          53.000          47.000
+ -13773478.54343 -10687998.80142  22846829.313    22846834.298    22846828.567
+      2826.496        2202.464          52.000          45.000
+ -21117996.47744 -16440266.58742  20690932.846    20690936.119    20690931.764
+     -1598.983       -1245.961          57.000          51.000
+  -7098405.12743  -5136714.33542  23802077.963    23802080.427    23802075.698
+      3128.767        2438.000          48.000          41.000
+ -19270310.68243 -14957895.53142  21604271.080    21604275.138    21604269.521
+     -1562.177       -1217.281          53.000          46.000
+ 04  2  1 23 21 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1243344.26943   -963840.71942  22885297.142    22885299.909    22885295.576
+     -1886.879       -1470.295          52.000          45.000
+ -20142791.74443 -15649244.61142  21450772.406    21450778.111    21450771.636
+     -2106.162       -1641.165          54.000          47.000
+ -15220522.00043 -11850056.73142  21927021.805    21927027.274    21927020.483
+     -1306.922       -1018.381          54.000          48.000
+ -18866912.40843 -14691203.93442  21641539.337    21641543.724    21641538.356
+       400.712         312.243          54.000          47.000
+ -13858204.79343 -10754019.25642  22830707.110    22830711.720    22830706.007
+      2822.015        2198.973          52.000          45.000
+ -21069792.38544 -16402704.99242  20700105.949    20700109.092    20700104.899
+     -1614.503       -1258.054          57.000          51.000
+  -7192257.04443  -5209845.68242  23784218.487    23784222.975    23784217.134
+      3128.083        2437.467          48.000          41.000
+ -19223405.76143 -14921346.29042  21613196.554    21613201.426    21613194.954
+     -1564.496       -1219.088          53.000          46.000
+ 04  2  1 23 22  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1186742.33143   -919735.40642  22896067.591    22896069.456    22896066.955
+     -1887.055       -1470.432          51.000          44.000
+ -20079417.51143 -15599862.15042  21462832.645    21462837.585    21462831.465
+     -2119.160       -1651.293          54.000          47.000
+ -15181155.43543 -11819381.53142  21934513.489    21934518.058    21934511.557
+     -1318.020       -1027.028          54.000          48.000
+ -18878662.98843 -14700360.26542  21639303.530    21639307.821    21639302.810
+       382.201         297.819          54.000          48.000
+ -13942802.99643 -10819939.93742  22814607.823    22814613.987    22814606.765
+      2817.495        2195.451          52.000          45.000
+ -21021135.18644 -16364790.32442  20709365.192    20709368.194    20709364.070
+     -1629.811       -1269.982          57.000          51.000
+  -7286091.51643  -5282963.45642  23766360.797    23766365.485    23766361.341
+      3127.224        2436.798          48.000          41.000
+ -19176435.88043 -14884746.44242  21622134.410    21622140.074    21622133.175
+     -1567.057       -1221.083          53.000          47.000
+ 04  2  1 23 22 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1130155.37943   -875641.74342  22906834.949    22906838.760    22906834.155
+     -1885.553       -1469.262          51.000          45.000
+ -20015672.11443 -15550190.46742  21474962.761    21474968.059    21474962.145
+     -2130.652       -1660.248          54.000          47.000
+ -15141470.92043 -11788458.60242  21942065.361    21942070.206    21942063.650
+     -1327.704       -1034.574          54.000          48.000
+ -18889875.92643 -14709097.65042  21637169.975    21637174.609    21637168.708
+       365.240         284.603          54.000          47.000
+ -14027275.74543 -10885762.86042  22798533.172    22798539.158    22798532.118
+      2814.027        2192.748          52.000          45.000
+ -20972032.91044 -16326528.84542  20718709.115    20718712.416    20718707.874
+     -1643.743       -1280.839          57.000          51.000
+  -7379912.48343  -5356070.68042  23748507.649    23748513.281    23748506.936
+      3127.370        2436.912          47.000          41.000
+ -19129407.34543 -14848100.87142  21631084.377    21631089.757    21631082.648
+     -1568.231       -1221.998          53.000          47.000
+ 04  2  1 23 23  0.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1073581.44643   -831558.21742  22917601.025    22917603.396    22917600.411
+     -1885.950       -1469.571          51.000          44.000
+ -19951556.12843 -15500230.02342  21487163.940    21487169.256    21487162.989
+     -2143.808       -1670.500          54.000          47.000
+ -15101465.48543 -11757285.59442  21949677.783    21949682.989    21949676.235
+     -1339.295       -1043.606          54.000          48.000
+ -18900548.92743 -14717414.30142  21635138.872    21635143.303    21635137.992
+       346.373         269.901          54.000          48.000
+ -14111617.35143 -10951483.59342  22782483.343    22782488.833    22782483.096
+      2808.850        2188.714          51.000          45.000
+ -20922485.38044 -16287920.41642  20728137.355    20728141.043    20728136.311
+     -1659.391       -1293.032          57.000          51.000
+  -7473715.43843  -5429163.88242  23730658.371    23730662.152    23730656.230
+      3126.078        2435.905          47.000          41.000
+ -19082318.60143 -14811408.39242  21640045.266    21640050.750    21640044.396
+     -1571.003       -1224.158          53.000          47.000
+ 04  2  1 23 23 30.0000000  0  8G22G 3G15G31G25G14G11G23
+  -1017019.01343   -787483.67542  22928365.196    22928367.563    22928364.116
+     -1884.886       -1468.742          52.000          45.000
+ -19887070.40343 -15449981.47042  21499434.952    21499440.331    21499434.383
+     -2155.483       -1679.597          54.000          47.000
+ -15061137.11543 -11725860.94742  21957352.201    21957357.317    21957351.081
+     -1349.425       -1051.500          54.000          48.000
+ -18910680.52243 -14725309.08342  21633211.352    21633215.730    21633209.602
+       328.981         256.349          54.000          48.000
+ -14195823.34943 -11017098.64242  22766459.197    22766464.981    22766458.425
+      2804.822        2185.576          51.000          45.000
+ -20872493.33944 -16248965.61542  20737651.253    20737654.195    20737649.982
+     -1673.535       -1304.053          57.000          51.000
+  -7567497.03043  -5502240.42442  23712811.565    23712816.850    23712810.835
+      3125.958        2435.811          46.000          41.000
+ -19035168.63743 -14774668.20742  21649017.670    21649022.457    21649016.119
+     -1572.427       -1225.268          53.000          47.000
+ 04  2  1 23 24  0.0000000  0  8G22G 3G15G31G25G14G11G23
+   -960469.10543   -743418.89342  22939126.082    22939128.982    22939125.515
+     -1884.881       -1468.738          52.000          45.000
+ -19822218.68543 -15399447.71942  21511776.105    21511780.795    21511775.092
+     -2167.951       -1689.312          54.000          47.000
+ -15020486.01843 -11694184.82742  21965087.783    21965092.690    21965086.574
+     -1360.601       -1060.208          54.000          48.000
+ -18920271.77243 -14732782.81142  21631386.409    21631390.394    21631384.789
+       310.483         241.935          54.000          48.000
+ -14279891.24443 -11082606.06742  22750461.372    22750467.690    22750461.314
+      2799.755        2181.627          50.000          44.000
+ -20822059.86444 -16209666.84242  20747247.986    20747251.241    20747247.072
+     -1688.635       -1315.819          57.000          51.000
+  -7661256.20743  -5575299.49042  23694968.961    23694973.988    23694969.975
+      3124.814        2434.920          47.000          41.000
+ -18987958.96043 -14737881.49642  21658001.830    21658006.219    21658000.461
+     -1574.788       -1227.107          54.000          47.000
+ 04  2  1 23 24 30.0000000  0  8G22G 3G15G31G25G14G11G23
+   -903933.67243   -699365.38642  22949883.842    22949886.736    22949883.235
+     -1884.026       -1468.072          51.000          44.000
+ -19757005.31743 -15348632.16842  21524186.175    21524191.207    21524184.971
+     -2179.425       -1698.253          54.000          47.000
+ -14979513.55443 -11662258.29542  21972884.763    21972889.953    21972883.589
+     -1370.808       -1068.162          54.000          48.000
+ -18929324.57343 -14739836.98042  21629663.723    21629668.055    21629662.174
+       293.260         228.514          55.000          48.000
+ -14363819.30143 -11148004.52442  22734492.147    22734496.560    22734489.961
+      2795.584        2178.377          51.000          44.000
+ -20771188.87344 -16170027.14942  20756928.705    20756931.795    20756927.465
+     -1702.781       -1326.842          57.000          51.000
+  -7754992.88043  -5648341.02942  23677133.357    23677137.469    23677131.696
+      3124.464        2434.647          48.000          41.000
+ -18940691.87343 -14701050.05942  21666995.936    21667001.013    21666994.901
+     -1576.347       -1228.322          53.000          47.000
+ 04  2  1 23 25  0.0000000  0  8G22G 3G15G31G25G14G11G23
+   -847414.37043   -655324.44242  22960638.443    22960643.397    22960638.395
+     -1883.902       -1467.975          50.000          44.000
+ -19691434.44343 -15297538.04542  21536663.705    21536668.944    21536662.986
+     -2191.715       -1707.830          54.000          47.000
+ -14938220.80443 -11630082.17442  21980742.634    21980747.592    21980741.101
+     -1381.914       -1076.816          54.000          48.000
+ -18937840.68243 -14746472.94642  21628042.846    21628047.031    21628041.408
+       274.844         214.164          54.000          48.000
+ -14447606.49743 -11213293.24342  22718546.110    22718551.758    22718545.769
+      2790.440        2174.369          51.000          44.000
+ -20719884.50944 -16130049.75642  20766691.712    20766694.834    20766690.753
+     -1717.484       -1338.299          57.000          51.000
+  -7848706.60343  -5721364.68342  23659300.160    23659305.495    23659299.949
+      3123.415        2433.830          48.000          41.000
+ -18893369.57843 -14664175.59842  21676000.773    21676006.101    21675999.678
+     -1578.451       -1229.962          53.000          47.000
+ 04  2  1 23 25 30.0000000  0  8G22G 3G15G31G25G14G11G23
+   -790906.18543   -611292.18742  22971392.452    22971396.465    22971392.308
+     -1883.478       -1467.645          50.000          44.000
+ -19625503.93343 -15246163.67942  21549209.417    21549215.185    21549208.779
+     -2203.844       -1717.281          54.000          47.000
+ -14896602.03043 -11597652.01942  21988662.017    21988667.628    21988660.595
+     -1392.871       -1085.354          54.000          47.000
+ -18945815.07643 -14752686.78942  21626525.892    21626529.619    21626524.484
+       256.583         199.935          54.000          48.000
+ -14531244.13443 -11278465.40742  22702630.868    22702636.266    22702629.759
+      2785.126        2170.228          50.000          44.000
+ -20668143.60944 -16089732.20842  20776537.779    20776540.802    20776536.450
+     -1732.056       -1349.654          57.000          51.000
+  -7942390.26243  -5794364.91442  23641472.489    23641476.827    23641470.824
+      3121.805        2432.575          48.000          41.000
+ -18845987.46943 -14627254.53242  21685017.356    21685022.680    21685015.985
+     -1580.592       -1231.630          53.000          46.000
+ 04  2  1 23 26  0.0000000  0  8G22G 3G15G31G25G14G11G23
+   -734412.02043   -567270.83542  22982143.043    22982146.889    22982142.539
+     -1883.235       -1467.456          50.000          44.000
+ -19559219.29543 -15194513.37042  21561823.774    21561828.651    21561822.472
+     -2215.672       -1726.498          54.000          47.000
+ -14854659.56943 -11564969.64242  21996644.637    21996649.098    21996642.700
+     -1403.807       -1093.875          54.000          48.000
+ -18953250.87743 -14758480.95242  21625110.163    21625114.659    21625109.300
+       238.423         185.784          54.000          48.000
+ -14614732.07643 -11343520.92842  22686743.684    22686749.858    22686742.648
+      2780.031        2166.258          51.000          44.000
+ -20615971.36043 -16049078.54442  20786465.595    20786468.796    20786464.431
+     -1746.520       -1360.925          56.000          51.000
+  -8036044.74143  -5867342.42642  23623649.960    23623653.897    23623649.309
+      3120.929        2431.893          48.000          41.000
+ -18798548.99543 -14590289.54642  21694044.975    21694050.037    21694043.199
+     -1582.670       -1233.249          53.000          46.000
+ 04  2  1 23 26 30.0000000  0  8G22G 3G15G31G25G14G11G23
+   -677931.25643   -523259.93342  22992890.985    22992894.345    22992889.357
+     -1882.223       -1466.667          50.000          44.000
+ -19492582.32943 -15142588.52242  21574503.990    21574509.667    21574503.054
+     -2226.697       -1735.088          54.000          47.000
+ -14812392.27743 -11532034.15242  22004687.131    22004692.415    22004685.308
+     -1413.972       -1101.796          54.000          47.000
+ -18960147.53443 -14763855.01642  21623798.473    21623802.079    21623797.189
+       221.204         172.367          54.000          48.000
+ -14698066.14343 -11408456.54542  22670885.194    22670891.448    22670884.727
+      2775.426        2162.670          51.000          45.000
+ -20563369.43043 -16008090.06842  20796475.421    20796478.666    20796474.165
+     -1760.235       -1371.612          56.000          50.000
+  -8129667.49443  -5940295.21242  23605834.385    23605840.297    23605832.804
+      3120.751        2431.754          47.000          41.000
+ -18751053.92443 -14553280.46542  21703083.539    21703088.057    21703082.133
+     -1583.746       -1234.088          53.000          47.000
+ 04  2  1 23 27  0.0000000  0  8G22G 3G15G31G25G14G11G23
+   -621463.66943   -479259.30242  23003637.039    23003640.170    23003635.947
+     -1881.682       -1466.246          50.000          44.000
+ -19425595.51743 -15090391.07042  21587251.293    21587256.609    21587250.113
+     -2238.220       -1744.067          54.000          47.000
+ -14769799.21543 -11498844.81442  22012791.584    22012797.747    22012790.660
+     -1424.882       -1110.298          54.000          47.000
+ -18966505.06143 -14768808.97042  21622587.945    21622592.428    21622587.023
+       203.260         158.384          54.000          48.000
+ -14781242.86543 -11473269.56642  22655058.510    22655062.600    22655057.202
+      2770.358        2158.721          52.000          45.000
+ -20510339.94443 -15966768.42642  20806566.105    20806569.827    20806565.175
+     -1774.316       -1382.584          56.000          50.000
+  -8223256.15943  -6013221.43242  23588024.820    23588028.461    23588023.930
+      3119.395        2430.697          48.000          41.000
+ -18703502.62743 -14516227.55442  21712131.381    21712137.109    21712130.554
+     -1585.556       -1235.498          53.000          47.000
+ 04  2  1 23 27 30.0000000  0  8G22G 3G15G31G25G14G11G23
+   -565014.93543   -435273.35442  23014378.920    23014381.113    23014377.959
+     -1881.439       -1466.056          51.000          44.000
+ -19358267.18943 -15037927.49842  21600063.455    21600068.634    21600062.217
+     -2250.022       -1753.264          53.000          47.000
+ -14726885.61243 -11465405.70442  22020958.217    22020963.516    22020956.762
+     -1435.895       -1118.879          54.000          47.000
+ -18972329.38043 -14773347.43542  21621480.222    21621484.304    21621479.097
+       185.001         144.157          55.000          48.000
+ -14864264.59443 -11537961.80842  22639259.568    22639264.323    22639258.235
+      2764.582        2154.220          52.000          45.000
+ -20456890.74443 -15925119.73642  20816737.420    20816741.064    20816736.318
+     -1788.665       -1393.765          56.000          50.000
+  -8316814.40043  -6086123.94742  23570223.066    23570224.840    23570219.925
+      3118.138        2429.718          49.000          41.000
+ -18655901.20443 -14479135.59942  21721190.521    21721194.647    21721188.993
+     -1587.669       -1237.145          53.000          47.000
+ 04  2  1 23 28  0.0000000  0  8G22G 3G15G31G25G14G11G23
+   -508578.99243   -391297.37442  23025117.269    23025120.581    23025116.905
+     -1881.307       -1465.953          50.000          44.000
+ -19290593.98843 -14985195.19442  21612941.385    21612946.582    21612940.230
+     -2261.853       -1762.483          54.000          47.000
+ -14683645.07643 -11431711.83042  22029187.141    22029192.024    22029185.654
+     -1447.180       -1127.673          54.000          47.000
+ -18977614.52943 -14777465.76842  21620475.061    21620478.668    21620473.398
+       166.769         129.950          55.000          48.000
+ -14947121.86643 -11602525.89042  22623492.197    22623497.403    22623490.896
+      2758.886        2149.781          52.000          45.000
+ -20403017.89143 -15883140.93242  20826989.286    20826992.614    20826988.208
+     -1803.113       -1405.023          56.000          50.000
+  -8410333.85443  -6158996.22242  23552425.660    23552431.502    23552424.688
+      3116.391        2428.357          48.000          41.000
+ -18608243.88243 -14442000.08542  21730259.005    21730263.894    21730257.534
+     -1589.851       -1238.845          53.000          46.000
+ 04  2  1 23 28 30.0000000  0  8G22G 3G15G31G25G14G11G23
+   -452157.68043   -347332.80942  23035853.911    23035858.115    23035852.153
+     -1881.051       -1465.754          49.000          43.000
+ -19222580.68243 -14932197.88042  21625883.928    21625888.762    21625882.425
+     -2273.184       -1771.312          53.000          47.000
+ -14640078.95943 -11397764.26642  22037477.664    22037482.560    22037475.942
+     -1458.056       -1136.147          54.000          47.000
+ -18982362.90143 -14781165.83542  21619570.737    21619574.841    21619569.461
+       148.931         116.050          54.000          48.000
+ -15029813.61243 -11666961.01042  22607756.668    22607761.617    22607755.370
+      2753.265        2145.401          52.000          45.000
+ -20348725.74643 -15840835.39842  20837320.620    20837324.228    20837319.472
+     -1817.048       -1415.881          56.000          50.000
+  -8503814.64643  -6231838.38442  23534636.049    23534640.482    23534636.098
+      3115.022        2427.290          48.000          42.000
+ -18560533.24943 -14404823.02842  21739338.072    21739343.655    21739337.177
+     -1591.545       -1240.165          53.000          46.000
+ 04  2  1 23 29  0.0000000  0  8G22G 3G15G31G25G14G11G23
+   -395748.54943   -303377.70842  23046587.880    23046591.670    23046587.284
+     -1880.277       -1465.151          49.000          43.000
+ -19154227.36943 -14878935.62242  21638890.841    21638896.646    21638889.966
+     -2284.232       -1779.921          53.000          47.000
+ -14596184.21543 -11363560.62842  22045830.121    22045835.668    22045828.642
+     -1468.746       -1144.477          53.000          47.000
+ -18986572.18443 -14784445.82942  21618769.752    21618774.492    21618768.344
+       131.140         102.187          54.000          48.000
+ -15112334.18143 -11731262.73042  22592053.414    22592058.441    22592052.654
+      2747.680        2141.049          53.000          45.000
+ -20294014.19144 -15798203.05542  20847732.395    20847735.576    20847731.097
+     -1830.826       -1426.618          57.000          50.000
+  -8597252.00143  -6304646.69942  23516855.553    23516861.314    23516855.576
+      3113.752        2426.300          48.000          41.000
+ -18512767.06743 -14367602.69242  21748427.849    21748432.985    21748425.740
+     -1593.296       -1241.529          52.000          46.000
+ 04  2  1 23 29 30.0000000  0  8G22G 3G15G31G25G14G11G23
+   -339357.17243   -259436.46642  23057319.574    23057323.326    23057318.115
+     -1879.726       -1464.721          50.000          44.000
+ -19085542.40843 -14825414.92942  21651961.030    21651967.374    21651960.401
+     -2295.223       -1788.485          53.000          47.000
+ -14551965.71643 -11329104.71542  22054244.990    22054249.502    22054243.305
+     -1479.542       -1152.890          54.000          47.000
+ -18990248.27743 -14787310.34842  21618069.940    21618074.561    21618069.104
+       113.386          88.353          54.000          48.000
+ -15194685.81243 -11795432.80942  22576382.441    22576387.359    22576381.455
+      2742.019        2136.638          53.000          45.000
+ -20238890.97443 -15755249.93942  20858221.644    20858224.968    20858220.862
+     -1844.470       -1437.249          56.000          50.000
+  -8690649.72143  -6377424.14342  23499082.713    23499087.512    23499082.021
+      3112.265        2425.142          48.000          41.000
+ -18464951.53043 -14330343.88242  21757527.120    21757531.249    21757525.866
+     -1594.847       -1242.738          53.000          46.000
+ 04  2  1 23 30  0.0000000  0  8G22G 3G15G31G25G14G11G23
+   -282977.96143   -215504.68642  23068048.939    23068051.394    23068047.967
+     -1878.659       -1463.890          50.000          44.000
+ -19016523.02343 -14771633.66442  21665095.377    21665100.672    21665094.151
+     -2305.586       -1796.560          53.000          47.000
+ -14507417.67143 -11294392.01242  22062721.963    22062727.550    22062720.579
+     -1489.830       -1160.906          53.000          47.000
+ -18993386.10743 -14789755.44142  21617473.578    21617477.668    21617472.130
+        96.029          74.828          54.000          48.000
+ -15276859.53943 -11859464.26742  22560745.351    22560750.563    22560744.274
+      2736.585        2132.404          53.000          46.000
+ -20183353.10643 -15711973.72042  20868790.162    20868793.557    20868788.962
+     -1857.526       -1447.423          56.000          50.000
+  -8783999.95643  -6450164.56442  23481319.991    23481322.939    23481318.878
+      3111.548        2424.583          49.000          42.000
+ -18417081.50643 -14293042.62442  21766635.802    21766640.478    21766634.702
+     -1596.037       -1243.665          53.000          46.000
+ 04  2  1 23 30 30.0000000  0  8G22G 3G15G31G25G14G11G23
+   -226619.13843   -171588.80642  23078774.172    23078777.170    23078773.091
+     -1878.665       -1463.895          51.000          44.000
+ -18947180.00343 -14717600.20442  21678290.967    21678296.259    21678290.062
+     -2317.028       -1805.476          53.000          47.000
+ -14462547.87943 -11259428.60642  22071260.200    22071266.045    22071259.178
+     -1501.247       -1169.803          53.000          47.000
+ -18995994.15543 -14791787.72042  21616977.468    21616981.389    21616975.656
+        77.879          60.685          54.000          48.000
+ -15358860.29443 -11923360.94342  22545141.353    22545146.159    22545140.083
+      2730.216        2127.441          52.000          46.000
+ -20127410.99644 -15668382.50942  20879435.682    20879439.448    20879434.828
+     -1871.758       -1458.513          57.000          50.000
+  -8877308.59543  -6522872.58342  23463563.505    23463567.819    23463563.026
+      3109.371        2422.886          49.000          42.000
+ -18369165.37943 -14255705.43642  21775754.592    21775758.960    21775753.594
+     -1598.200       -1245.351          53.000          46.000
+ 04  2  1 23 31  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   -170272.47943   -127682.38242  23089496.005    23089498.775    23089494.358
+     -1877.872       -1463.277          50.000          43.000
+ -18877507.90543 -14663310.32242  21691549.538    21691554.710    21691548.290
+     -2327.681       -1813.777          53.000          47.000
+ -14417347.61543 -11224207.67642  22079861.308    22079867.193    22079860.411
+     -1511.996       -1178.179          54.000          47.000
+ -18998064.74943 -14793401.20742  21616583.420    21616587.176    21616581.668
+        60.245          46.944          54.000          48.000
+ -15440676.51243 -11987113.81142  22529571.923    22529577.090    22529570.607
+      2724.294        2122.826          51.000          45.000
+ -20071058.69844 -15624471.66542  20890159.127    20890162.792    20890158.163
+     -1885.029       -1468.854          57.000          50.000
+                                  25099787.215
+      1783.867        1390.026          46.000
+  -8970565.72543  -6595540.45742  23445817.107    23445819.919    23445814.366
+      3108.139        2421.926          48.000          42.000
+ -18321195.64743 -14218326.47742  21784881.840    21784887.366    21784880.681
+     -1599.667       -1246.494          52.000          46.000
+ 04  2  1 23 31 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   -113941.40443    -83788.13142  23100215.508    23100219.260    23100215.028
+     -1876.934       -1462.546          50.000          43.000
+ -18807513.16043 -14608769.02642  21704868.997    21704874.293    21704867.876
+     -2338.047       -1821.855          53.000          47.000
+ -14371820.08143 -11188731.73442  22088526.098    22088531.315    22088524.604
+     -1522.636       -1186.470          54.000          47.000
+ -18999601.85743 -14794598.98942  21616290.271    21616295.154    21616289.620
+        42.899          33.428          54.000          48.000
+ -15522308.61243 -12050723.20942  22514037.220    22514042.630    22514035.785
+      2718.435        2118.261          51.000          45.000
+ -20014302.46544 -15580246.07042  20900959.598    20900963.199    20900958.443
+     -1898.172       -1479.095          57.000          50.000
+  -1154372.57353   -770544.18752  25089608.558    25089616.250    25089607.532
+      1782.509        1388.968          45.000          34.000
+  -9063772.57543  -6668169.14942  23428080.483    23428084.219    23428078.424
+      3106.636        2420.755          48.000          41.000
+ -18273176.16943 -14180908.76642  21794020.581    21794026.007    21794019.534
+     -1600.903       -1247.457          53.000          46.000
+ 04  2  1 23 32  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    -57623.75043    -39904.33842  23110933.054    23110935.967    23110932.388
+     -1876.602       -1462.287          49.000          43.000
+ -18737196.40043 -14553976.81242  21718250.136    21718255.913    21718249.146
+     -2348.829       -1830.256          53.000          47.000
+ -14325962.71443 -11152998.78842  22097251.906    22097257.922    22097250.827
+     -1533.686       -1195.080          53.000          47.000
+ -19000603.63043 -14795379.63442  21616100.261    21616104.289    21616098.956
+        24.826          19.345          54.000          48.000
+ -15603751.04443 -12114184.81442  22498539.320    22498544.690    22498538.558
+      2711.961        2113.216          51.000          45.000
+ -19957141.91944 -15535705.41942  20911837.033    20911840.146    20911835.844
+     -1911.636       -1489.586          57.000          50.000
+  -1207803.82943   -812178.93742  25079443.461    25079441.396    25079441.173
+      1780.512        1387.412          46.000          34.000
+  -9156924.97043  -6740755.39942  23410354.523    23410358.807    23410354.218
+      3104.647        2419.205          49.000          42.000
+ -18225105.14743 -14143450.88442  21803168.287    21803173.242    21803166.766
+     -1602.804       -1248.938          53.000          46.000
+ 04  2  1 23 32 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+     -1321.97143      3967.09842  23121644.734    23121647.365    23121643.730
+     -1876.458       -1462.175          48.000          42.000
+ -18666562.96343 -14498937.84142  21731690.784    21731696.532    21731690.072
+     -2359.891       -1838.876          53.000          47.000
+ -14279777.70443 -11117010.53942  22106039.554    22106046.067    22106038.622
+     -1544.971       -1203.873          53.000          47.000
+ -19001073.31443 -14795745.64942  21616010.249    21616014.985    21616009.172
+         6.628           5.165          54.000          48.000
+ -15685003.19943 -12177498.17842  22483077.333    22483083.363    22483076.790
+      2705.096        2107.867          52.000          46.000
+ -19899582.23244 -15490853.75142  20922790.457    20922793.586    20922789.257
+     -1925.370       -1500.288          57.000          50.000
+  -1261187.28143   -853776.41942  25069284.159    25069286.185    25069280.063
+      1778.454        1385.808          44.000          34.000
+  -9250023.31343  -6813299.54242  23392636.839    23392642.523    23392636.400
+      3102.140        2417.252          48.000          42.000
+ -18176985.59643 -14105955.19242  21812325.391    21812330.409    21812323.614
+     -1604.855       -1250.536          53.000          46.000
+ 04  2  1 23 33  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+     54965.13143     47827.10342  23132357.437    23132360.861    23132355.747
+     -1875.706       -1461.589          49.000          43.000
+ -18595614.44743 -14443653.35242  21745191.677    21745197.828    21745191.482
+     -2369.764       -1846.569          53.000          47.000
+ -14233263.52843 -11080765.79242  22114891.576    22114897.492    22114890.823
+     -1555.524       -1212.097          53.000          47.000
+ -19001010.23843 -14795696.54442  21616022.214    21616026.976    21616020.881
+       -10.530          -8.205          54.000          48.000
+ -15766060.57043 -12240659.75342  22467653.219    22467658.397    22467652.833
+      2699.029        2103.139          52.000          46.000
+ -19841624.76644 -15445692.12942  20933819.578    20933822.342    20933818.312
+     -1938.160       -1510.254          57.000          50.000
+  -1314522.25743   -895336.19942  25059134.090    25059138.568    25059133.838
+      1777.212        1384.841          43.000          35.000
+  -9343064.40643  -6885799.07942  23374932.803    23374935.878    23374931.756
+      3100.742        2416.163          48.000          41.000
+ -18128816.75243 -14068421.08942  21821490.906    21821496.848    21821489.678
+     -1606.044       -1251.463          52.000          46.000
+ 04  2  1 23 33 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    111234.50743     91673.26342  23143065.170    23143068.583    23143064.141
+     -1874.863       -1460.932          49.000          43.000
+ -18524356.52543 -14388127.76442  21758752.783    21758757.667    21758751.468
+     -2379.896       -1854.464          54.000          47.000
+ -14186423.07043 -11044266.79042  22123805.528    22123810.991    22123804.290
+     -1566.286       -1220.482          54.000          47.000
+ -19000418.01743 -14795235.10642  21616134.834    21616139.685    21616134.004
+       -28.112         -21.905          54.000          48.000
+ -15846922.99443 -12303669.42242  22452264.942    22452271.121    22452264.693
+      2692.633        2098.156          52.000          46.000
+ -19783274.96644 -15400224.79542  20944923.069    20944926.015    20944922.054
+     -1951.016       -1520.272          57.000          50.000
+  -1367812.87343   -936861.39242  25048991.181    25048997.209    25048989.326
+      1775.877        1383.800          42.000          35.000
+  -9436049.58543  -6958255.02542  23357239.769    23357242.039    23357237.097
+      3099.024        2414.824          49.000          42.000
+ -18080602.06443 -14030851.27142  21830666.416    21830671.908    21830664.909
+     -1607.406       -1252.524          53.000          46.000
+ 04  2  1 23 34  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    167489.66043    135508.37942  23153770.078    23153774.062    23153768.734
+     -1874.656       -1460.771          50.000          43.000
+ -18452788.97343 -14332360.90242  21772371.106    21772376.505    21772369.747
+     -2390.410       -1862.657          53.000          46.000
+ -14139252.61343 -11007510.64342  22132781.913    22132787.258    22132780.705
+     -1577.589       -1229.290          54.000          47.000
+ -18999293.89943 -14794359.21542  21616349.104    21616353.648    21616347.706
+       -46.069         -35.898          54.000          48.000
+ -15927584.11543 -12366522.21942  22436915.553    22436922.141    22436913.838
+      2685.683        2092.740          52.000          46.000
+ -19724531.83844 -15354450.96542  20956101.550    20956104.677    20956100.377
+     -1964.293       -1530.618          57.000          50.000
+  -1421056.06443   -978349.63842  25038859.855    25038865.770    25038858.519
+      1774.187        1382.483          43.000          34.000
+  -9528972.70843  -7030662.65142  23339555.469    23339559.873    23339554.479
+      3096.774        2413.071          49.000          42.000
+ -18032338.58643 -13993243.42542  21839850.058    21839855.460    21839849.307
+     -1609.220       -1253.938          53.000          46.000
+ 04  2  1 23 34 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    223729.56143    179331.59742  23164473.557    23164476.569    23164472.339
+     -1874.650       -1460.766          50.000          43.000
+ -18380915.35443 -14276355.55242  21786047.872    21786053.109    21786046.933
+     -2401.094       -1870.982          53.000          46.000
+ -14091752.80043 -10970497.86642  22141821.365    22141826.260    22141819.530
+     -1589.015       -1238.193          53.000          47.000
+ -18997639.55543 -14793070.16042  21616664.129    21616668.371    21616663.399
+       -64.181         -50.011          54.000          48.000
+ -16008041.40043 -12429216.19642  22421605.777    22421611.081    22421604.234
+      2678.318        2087.001          53.000          46.000
+ -19665398.78044 -15308373.29942  20967354.271    20967357.241    20967352.863
+     -1977.652       -1541.027          57.000          50.000
+  -1474253.51843  -1019802.25342  25028737.868    25028741.637    25028736.355
+      1772.672        1381.303          44.000          35.000
+  -9621832.75543  -7103021.08542  23321884.169    23321889.100    23321883.332
+      3094.125        2411.006          48.000          42.000
+ -17984027.65543 -13955598.59642  21849044.644    21849049.014    21849042.471
+     -1611.258       -1255.526          53.000          46.000
+ 04  2  1 23 35  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    279951.69743    223140.95342  23175171.254    23175173.881    23175170.028
+     -1874.022       -1460.277          49.000          42.000
+ -18308741.36543 -14220116.15842  21799782.283    21799787.650    21799781.030
+     -2411.035       -1878.728          53.000          46.000
+ -14043925.98243 -10933230.28342  22150922.018    22150927.454    22150920.816
+     -1600.010       -1246.761          53.000          46.000
+ -18995458.24243 -14791370.48042  21617078.995    21617083.263    21617077.744
+       -81.788         -63.731          54.000          48.000
+ -16088294.21143 -12491750.85042  22406334.621    22406339.117    22406332.904
+      2671.425        2081.630          53.000          46.000
+ -19605881.14944 -15261995.96942  20978680.088    20978683.062    20978678.843
+     -1990.609       -1551.124          57.000          50.000
+  -1527408.62843  -1061221.84842  25018624.443    25018630.436    25018621.777
+      1770.722        1379.783          44.000          36.000
+  -9714630.54043  -7175331.04042  23304225.878    23304230.509    23304223.711
+      3091.845        2409.230          49.000          42.000
+ -17935672.35143 -13917919.19542  21858244.892    21858251.231    21858243.857
+     -1612.915       -1256.817          52.000          46.000
+ 04  2  1 23 35 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    336160.75543    266940.13442  23185868.084    23185870.800    23185867.557
+     -1873.815       -1460.115          50.000          43.000
+ -18236265.38943 -14163641.44342  21813574.655    21813579.359    21813573.564
+     -2421.382       -1886.791          54.000          47.000
+ -13995767.40043 -10895704.17542  22160086.283    22160091.373    22160085.200
+     -1611.217       -1255.494          53.000          46.000
+ -18992745.95643 -14789257.05342  21617595.368    21617599.695    21617594.426
+       -99.833         -77.792          54.000          48.000
+ -16168334.94343 -12554120.23742  22391102.627    22391108.623    22391101.021
+      2664.029        2075.867          52.000          46.000
+ -19545976.64044 -15215317.17142  20990079.395    20990082.768    20990078.333
+     -2003.719       -1561.339          57.000          50.000
+  -1580517.59443  -1102605.46042  25008515.282    25008522.329    25008512.503
+      1768.952        1378.404          41.000          36.000
+  -9807359.14743  -7247587.08142  23286580.816    23286583.451    23286577.098
+      3089.179        2407.152          50.000          42.000
+ -17887268.44543 -13880201.93342  21867456.065    21867461.585    21867454.868
+     -1614.787       -1258.275          52.000          46.000
+ 04  2  1 23 36  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    392350.74343    310724.47042  23196559.844    23196563.330    23196559.779
+     -1873.572       -1459.926          49.000          42.000
+ -18163495.82943 -14106937.95642  21827421.700    21827426.603    21827420.927
+     -2431.281       -1894.505          53.000          46.000
+ -13947282.76343 -10857924.01842  22169312.051    22169318.185    22169310.845
+     -1622.361       -1264.177          52.000          47.000
+ -18989509.46043 -14786735.14842  21618211.405    21618216.218    21618209.881
+      -117.507         -91.564          54.000          47.000
+ -16248166.07943 -12616326.29742  22375911.072    22375916.550    22375910.343
+      2656.745        2070.191          52.000          46.000
+ -19485693.81244 -15168343.57942  21001550.752    21001554.160    21001549.561
+     -2016.580       -1571.361          57.000          50.000
+  -1633587.09343  -1143958.31942  24998418.526    24998422.415    24998417.587
+      1767.733        1377.454          44.000          37.000
+  -9900022.33143  -7319792.15542  23268946.611    23268951.715    23268946.683
+      3086.874        2405.356          49.000          42.000
+ -17838822.16143 -13842451.63642  21876676.295    21876681.066    21876674.718
+     -1616.361       -1259.502          52.000          46.000
+ 04  2  1 23 36 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    448531.61443    354501.68742  23207250.314    23207255.098    23207249.890
+     -1872.608       -1459.175          49.000          43.000
+ -18090425.88543 -14050000.41642  21841327.057    21841332.211    21841326.328
+     -2440.660       -1901.813          53.000          46.000
+ -13898461.97343 -10819881.90842  22178603.033    22178608.277    22178601.453
+     -1632.918       -1272.404          53.000          47.000
+ -18985739.70743 -14783797.72142  21618928.607    21618932.805    21618927.054
+      -134.573        -104.862          54.000          47.000
+ -16327774.62743 -12678358.91342  22360762.143    22360767.653    22360761.355
+      2649.889        2064.849          52.000          46.000
+ -19425024.97743 -15121069.20542  21013095.902    21013099.386    21013094.896
+     -2028.752       -1580.846          56.000          50.000
+  -1686607.84943  -1185273.20542  24988330.382    24988333.524    24988327.673
+      1766.556        1376.537          44.000          37.000
+  -9992608.27943  -7391937.04142  23251328.574    23251332.577    23251326.866
+      3084.939        2403.849          50.000          42.000
+ -17790324.18443 -13804661.04642  21885904.443    21885910.030    21885903.372
+     -1617.347       -1260.270          52.000          46.000
+ 04  2  1 23 37  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    504693.26643    398263.91842  23217938.404    23217941.224    23217937.736
+     -1871.895       -1458.619          50.000          43.000
+ -18017069.04343 -13992839.30142  21855285.707    21855291.241    21855284.638
+     -2450.071       -1909.146          52.000          46.000
+ -13849315.25943 -10781585.81742  22187955.675    22187960.892    22187954.078
+     -1643.928       -1280.983          53.000          47.000
+ -18981447.79043 -14780453.40642  21619745.490    21619749.815    21619744.396
+      -151.974        -118.421          54.000          47.000
+ -16407167.71743 -12740223.64442  22345654.377    22345659.829    22345652.961
+      2642.628        2059.191          52.000          46.000
+ -19363983.19943 -15073504.22142  21024711.543    21024715.145    21024710.590
+     -2041.154       -1590.510          56.000          50.000
+  -1739590.86843  -1226558.66242  24978245.476    24978251.748    24978245.606
+      1765.194        1375.476          44.000          38.000
+ -10085125.23943  -7464028.16442  23233722.210    23233726.470    23233722.149
+      3082.585        2402.014          50.000          42.000
+ -17741785.18343 -13766838.51142  21895140.937    21895146.753    21895139.156
+     -1618.881       -1261.466          52.000          45.000
+ 04  2  1 23 37 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    560838.91143    442013.68842  23228622.191    23228625.358    23228620.742
+     -1871.069       -1457.976          50.000          43.000
+ -17943424.56743 -13935454.07542  21869299.396    21869305.258    21869298.513
+     -2459.434       -1916.442          52.000          46.000
+ -13799839.06343 -10743032.99342  22197370.605    22197375.746    22197369.615
+     -1654.548       -1289.258          54.000          47.000
+ -18976631.05143 -14776700.15442  21620661.705    21620666.766    21620660.712
+      -169.221        -131.860          54.000          48.000
+ -16486339.01643 -12801915.56042  22330589.146    22330593.873    22330587.762
+      2635.571        2053.692          53.000          46.000
+ -19302567.74643 -15025648.06342  21036398.558    21036402.093    21036397.396
+     -2053.183       -1599.883          56.000          50.000
+  -1792533.62143  -1267812.76242  24968172.457    24968177.520    24968169.668
+      1764.461        1374.905          45.000          38.000
+ -10177567.69243  -7536061.26142  23216132.681    23216136.072    23216130.673
+      3080.190        2400.148          50.000          42.000
+ -17693202.08543 -13728981.60942  21904386.960    21904391.637    21904385.776
+     -1620.045       -1262.373          53.000          46.000
+ 04  2  1 23 38  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    616969.98443    485752.09542  23239303.152    23239308.639    23239302.424
+     -1870.326       -1457.397          50.000          43.000
+ -17869494.09743 -13877845.99742  21883368.727    21883374.648    21883367.461
+     -2468.542       -1923.539          52.000          46.000
+ -13750031.77743 -10704222.19242  22206848.872    22206854.294    22206846.866
+     -1665.263       -1297.607          53.000          47.000
+ -18971289.12543 -14772537.65342  21621678.746    21621682.982    21621677.538
+      -186.349        -145.207          54.000          48.000
+ -16565283.78743 -12863430.95242  22315565.879    22315571.006    22315565.295
+      2628.266        2047.999          52.000          46.000
+ -19240779.74444 -14977501.60942  21048156.864    21048159.692    21048155.308
+     -2065.191       -1609.240          57.000          50.000
+  -1845435.15943  -1309034.75242  24958103.901    24958110.441    24958104.039
+      1763.151        1373.884          45.000          38.000
+ -10269932.18843  -7608033.58342  23198556.446    23198560.480    23198553.805
+      3077.935        2398.391          49.000          42.000
+ -17644573.96843 -13691089.63542  21913639.221    21913644.882    21913637.925
+     -1621.203       -1263.275          51.000          45.000
+ 04  2  1 23 38 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    673085.44943    529478.36042  23249983.362    23249985.820    23249982.175
+     -1870.648       -1457.648          51.000          43.000
+ -17795281.81043 -13820018.31942  21897491.436    21897497.750    21897490.197
+     -2478.734       -1931.481          53.000          46.000
+ -13699894.40943 -10665154.18842  22216389.443    22216394.712    22216388.221
+     -1677.109       -1306.838          53.000          47.000
+ -18965423.90943 -14767967.39142  21622794.814    21622798.862    21622793.246
+      -204.742        -159.539          54.000          47.000
+ -16643999.92643 -12924768.18142  22300586.619    22300592.415    22300586.204
+      2619.715        2041.336          53.000          46.000
+ -19178622.54743 -14929067.46542  21059984.834    21059988.248    21059983.586
+     -2078.295       -1619.451          56.000          50.000
+  -1898297.57143  -1350226.26542  24948043.990    24948050.976    24948043.383
+      1761.262        1372.412          43.000          37.000
+ -10362217.55243  -7679944.24542  23180994.035    23180998.910    23180992.703
+      3074.647        2395.829          49.000          42.000
+ -17595902.35443 -13653163.75742  21922901.754    21922907.368    21922901.099
+     -1623.470       -1265.041          52.000          45.000
+ 04  2  1 23 39  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    729185.26643    573192.40642  23260658.676    23260661.941    23260658.150
+     -1869.987       -1457.133          51.000          43.000
+ -17720790.79343 -13761973.44642  21911666.422    21911671.406    21911665.448
+     -2487.944       -1938.658          53.000          46.000
+ -13649427.02043 -10625829.00142  22225992.795    22225998.684    22225991.066
+     -1687.951       -1315.286          53.000          47.000
+ -18959036.48243 -14762990.22342  21624010.622    21624014.690    21624009.457
+      -221.882        -172.895          54.000          47.000
+ -16722484.49843 -12985924.97342  22285651.770    22285657.042    22285650.878
+      2612.018        2035.339          53.000          46.000
+ -19116099.18343 -14880348.00542  21071882.824    21071885.722    21071881.513
+     -2090.494       -1628.956          56.000          50.000
+  -1951121.70143  -1391387.93342  24937992.740    24937999.508    24937991.750
+      1759.952        1371.391          44.000          37.000
+ -10454421.83543  -7751791.72742  23163446.696    23163451.450    23163447.823
+      3071.887        2393.678          49.000          42.000
+ -17547187.64143 -13615204.30042  21932172.431    21932177.963    21932171.269
+     -1624.810       -1266.086          52.000          45.000
+ 04  2  1 23 39 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    785271.49443    616895.89142  23271331.278    23271335.193    23271329.819
+     -1869.047       -1456.400          50.000          43.000
+ -17646021.97943 -13703712.10442  21925894.592    21925899.734    21925893.842
+     -2496.610       -1945.410          53.000          46.000
+ -13598627.54243 -10586245.07242  22235659.376    22235665.181    22235657.604
+     -1698.622       -1323.601          52.000          46.000
+ -18952125.92143 -14757605.40742  21625325.924    21625329.667    21625324.102
+      -238.884        -186.143          54.000          47.000
+ -16800732.45643 -13046897.40342  22270761.997    22270766.427    22270761.192
+      2604.600        2029.558          54.000          47.000
+ -19053210.30143 -14831343.71842  21083850.029    21083853.450    21083848.879
+     -2102.017       -1637.935          56.000          50.000
+  -2003906.56143  -1432519.01142  24927949.032    24927953.914    24927947.464
+      1759.201        1370.806          44.000          37.000
+ -10546541.05143  -7823572.92442  23145918.919    23145923.803    23145917.436
+      3069.381        2391.725          49.000          43.000
+ -17498428.39843 -13577210.13542  21941450.189    21941456.544    21941449.272
+     -1625.738       -1266.809          51.000          45.000
+ 04  2  1 23 40  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    841340.45343    660585.89742  23282000.218    23282003.255    23281999.890
+     -1868.653       -1456.093          50.000          42.000
+ -17570982.21943 -13645239.63742  21940174.065    21940178.803    21940172.812
+     -2505.661       -1952.463          53.000          46.000
+ -13547499.66943 -10546405.23042  22245389.982    22245394.270    22245387.817
+     -1709.630       -1332.179          53.000          46.000
+ -18944696.83743 -14751816.56042  21626738.790    21626743.641    21626737.621
+      -256.174        -199.616          54.000          48.000
+ -16878744.37943 -13107685.91442  22255916.060    22255921.294    22255915.350
+      2596.636        2023.353          53.000          47.000
+ -18989962.04643 -14782059.40042  21095885.723    21095889.030    21095884.443
+     -2114.120       -1647.366          56.000          50.000
+  -2056656.48643  -1473622.84042  24917910.151    24917919.510    24917909.389
+      1757.573        1369.537          45.000          37.000
+ -10638576.72743  -7895289.01742  23128405.831    23128407.876    23128404.295
+      3066.421        2389.419          50.000          43.000
+ -17449628.70343 -13539184.46342  21950736.049    21950741.797    21950735.353
+     -1627.199       -1267.947          51.000          45.000
+ 04  2  1 23 40 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    897394.92343    704264.61642  23292667.686    23292671.184    23292667.150
+     -1868.350       -1455.857          50.000          43.000
+ -17495671.35743 -13586555.92242  21954504.990    21954509.816    21954503.723
+     -2514.937       -1959.691          52.000          46.000
+ -13496040.47043 -10506307.21342  22255181.574    22255187.175    22255179.929
+     -1721.030       -1341.062          52.000          46.000
+ -18936747.27143 -14745622.13342  21628251.557    21628256.552    21628250.693
+      -273.790        -213.343          54.000          48.000
+ -16956514.23643 -13168285.78542  22241117.055    22241122.408    22241116.365
+      2588.056        2016.667          53.000          47.000
+ -18926354.37543 -14732495.01842  21107989.669    21107993.184    21107988.631
+     -2126.387       -1656.925          56.000          50.000
+  -2109369.16543  -1514697.69542  24907878.816    24907886.412    24907878.286
+      1756.527        1368.722          45.000          38.000
+ -10730523.78743  -7966936.05642  23110908.323    23110912.198    23110906.640
+      3063.447        2387.102          50.000          43.000
+ -17400785.80643 -13501125.12442  21960031.336    21960036.492    21960030.321
+     -1628.954       -1269.315          51.000          45.000
+ 04  2  1 23 41  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+    953434.55643    747931.77442  23303331.131    23303336.117    23303329.624
+     -1867.511       -1455.203          48.000          42.000
+ -17420093.54043 -13527664.19542  21968886.484    21968892.621    21968885.518
+     -2523.339       -1966.238          52.000          46.000
+ -13444250.62043 -10465951.56242  22265036.811    22265042.684    22265035.605
+     -1731.543       -1349.254          53.000          46.000
+ -18928279.21343 -14739023.68642  21629862.690    21629868.073    21629862.037
+      -290.785        -226.586          54.000          47.000
+ -17034039.51343 -13228695.07142  22226364.729    22226369.674    22226363.796
+      2580.311        2010.632          53.000          47.000
+ -18862390.36943 -14682652.97142  21120161.842    21120165.145    21120160.592
+     -2137.852       -1665.859          56.000          50.000
+  -2162046.31543  -1555744.87642  24897855.944    24897859.177    24897853.036
+      1755.373        1367.823          46.000          38.000
+ -10822381.00443  -8038513.08942  23093428.333    23093432.099    23093426.105
+      3060.591        2384.876          50.000          43.000
+ -17351900.95243 -13463033.08042  21969334.036    21969339.027    21969332.728
+     -1629.812       -1269.983          51.000          45.000
+ 04  2  1 23 41 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   1009461.66143    791589.16542  23313992.853    23313996.876    23313991.648
+     -1867.325       -1455.058          50.000          42.000
+ -17344249.19643 -13468564.77842  21983320.175    21983325.943    21983318.903
+     -2532.405       -1973.302          52.000          46.000
+ -13392127.98143 -10425336.59142  22274955.717    22274961.603    22274954.082
+     -1742.855       -1358.069          53.000          46.000
+ -18919291.26243 -14732020.13142  21631573.507    21631578.345    21631572.272
+      -308.193        -240.150          54.000          48.000
+ -17111314.36243 -13288909.22142  22211659.906    22211665.050    22211658.086
+      2571.771        2003.977          53.000          47.000
+ -18798070.42144 -14632533.57342  21132401.757    21132405.149    21132400.342
+     -2149.738       -1675.120          57.000          50.000
+  -2214686.55943  -1596763.22842  24887836.926    24887844.301    24887834.162
+      1754.298        1366.985          44.000          37.000
+ -10914143.70143  -8110016.47042  23075965.882    23075970.779    23075964.570
+      3057.308        2382.318          50.000          43.000
+ -17302972.25143 -13424906.89442  21978644.192    21978649.754    21978644.174
+     -1631.554       -1271.341          51.000          45.000
+ 04  2  1 23 42  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   1065472.61643    835233.98742  23324651.775    23324655.204    23324650.254
+     -1866.292       -1454.253          49.000          42.000
+ -17268144.69143 -13409262.64842  21997802.023    21997808.129    21997800.700
+     -2540.768       -1979.819          52.000          46.000
+ -13339675.97543 -10384464.97442  22284937.516    22284942.934    22284935.746
+     -1753.429       -1366.308          53.000          47.000
+ -18909788.17743 -14724615.17742  21633382.429    21633386.699    21633381.219
+      -324.798        -253.089          54.000          47.000
+ -17188339.44043 -13348928.73942  22197002.208    22197007.170    22197001.207
+      2563.749        1997.726          53.000          46.000
+ -18733400.79843 -14582141.70142  21144707.808    21144711.430    21144706.819
+     -2160.958       -1683.863          56.000          50.000
+  -2267293.96843  -1637756.03542  24877827.288    24877832.985    24877826.620
+      1753.461        1366.333          44.000          38.000
+ -11005813.63643  -8181447.54142  23058521.835    23058525.285    23058520.267
+      3054.679        2380.269          50.000          43.000
+ -17254003.56343 -13386749.53742  21987964.191    21987968.942    21987962.581
+     -1632.477       -1272.060          52.000          45.000
+ 04  2  1 23 42 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   1121467.57443    878866.35242  23335307.619    23335309.018    23335306.811
+     -1866.963       -1454.776          50.000          42.000
+ -17191783.03843 -13349760.14342  22012333.559    22012338.790    22012331.996
+     -2550.504       -1987.406          52.000          46.000
+ -13286894.74443 -10343336.80042  22294980.503    22294987.005    22294978.825
+     -1765.705       -1375.874          53.000          46.000
+ -18899770.90643 -14716809.55942  21635288.799    21635292.921    21635287.198
+      -343.262        -267.477          54.000          47.000
+ -17265111.82843 -13408751.35542  22182392.936    22182398.052    22182392.355
+      2553.952        1990.092          53.000          46.000
+ -18668384.01243 -14531479.30542  21157080.388    21157083.944    21157079.067
+     -2173.786       -1693.859          56.000          50.000
+  -2319869.25243  -1678723.77942  24867823.575    24867827.020    24867820.784
+      1751.102        1364.495          45.000          38.000
+ -11097388.50343  -8252804.57642  23041096.020    23041100.074    23041095.595
+      3050.171        2376.757          51.000          43.000
+ -17204995.15043 -13348561.21842  21997289.994    21997294.204    21997288.694
+     -1635.065       -1274.077          52.000          45.000
+ 04  2  1 23 43  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   1177448.95243    922488.11742  23345959.777    23345963.557    23345959.327
+     -1865.817       -1453.883          48.000          42.000
+ -17115165.37343 -13290058.14242  22026913.301    22026918.930    22026912.596
+     -2558.152       -1993.365          52.000          46.000
+ -13233781.86743 -10301950.21542  22305087.911    22305093.818    22305086.910
+     -1776.075       -1383.954          53.000          46.000
+ -18889238.38143 -14708602.45242  21637292.972    21637297.146    21637291.413
+      -359.750        -280.325          54.000          47.000
+ -17341626.08643 -13468372.83542  22167832.423    22167838.105    22167832.049
+      2546.046        1983.932          53.000          46.000
+ -18603020.33243 -14480546.61942  21169518.444    21169521.788    21169517.181
+     -2184.603       -1702.288          56.000          50.000
+  -2372410.99643  -1719665.38342  24857823.647    24857830.765    24857822.892
+      1750.970        1364.392          44.000          37.000
+ -11188863.82443  -8324084.02142  23023688.045    23023693.072    23023686.406
+      3047.514        2374.686          51.000          43.000
+ -17155945.07143 -13310340.44542  22006623.325    22006629.030    22006622.292
+     -1635.671       -1274.549          52.000          45.000
+ 04  2  1 23 43 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   1233415.53143    966098.35242  23356610.174    23356614.692    23356609.963
+     -1865.027       -1453.268          49.000          43.000
+ -17038295.99843 -13230160.01342  22041541.225    22041546.807    22041540.312
+     -2566.208       -1999.642          53.000          46.000
+ -13180338.83643 -10260306.35542  22315258.273    22315263.786    22315256.465
+     -1786.718       -1392.248          53.000          46.000
+ -18878193.01343 -14699995.71142  21639394.253    21639399.440    21639393.243
+      -376.480        -293.361          54.000          47.000
+ -17417880.47743 -13527791.82042  22153322.042    22153326.960    22153320.736
+      2537.751        1977.468          53.000          46.000
+ -18537313.92443 -14429346.86942  21182021.979    21182025.547    21182021.055
+     -2195.579       -1710.841          56.000          50.000
+  -2424921.39643  -1760582.57842  24847832.756    24847836.960    24847830.544
+      1750.186        1363.781          44.000          38.000
+ -11280238.60543  -8395285.13342  23006300.083    23006304.852    23006299.805
+      3044.304        2372.185          50.000          43.000
+ -17106854.84543 -13272088.37742  22015964.820    22015970.325    22015964.388
+     -1636.690       -1275.343          52.000          45.000
+ 04  2  1 23 44  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   1289368.38143   1009697.88242  23367257.365    23367262.272    23367256.698
+     -1864.859       -1453.137          48.000          43.000
+ -16961176.92143 -13170067.29842  22056216.646    22056221.812    22056215.730
+     -2574.884       -2006.403          52.000          46.000
+ -13126564.78943 -10218404.57342  22325491.108    22325496.805    22325489.497
+     -1798.069       -1401.093          53.000          46.000
+ -18866635.16243 -14690989.64842  21641594.013    21641598.757    21641593.177
+      -393.885        -306.923          54.000          47.000
+ -17493871.08643 -13587005.25742  22138861.227    22138866.214    22138860.295
+      2528.482        1970.246          53.000          47.000
+ -18471266.42744 -14377881.32842  21194590.543    21194593.769    21194589.661
+     -2207.357       -1720.018          57.000          50.000
+  -2477400.23743  -1801475.17142  24837846.450    24837849.475    24837844.797
+      1748.731        1362.648          44.000          38.000
+ -11371509.85743  -8466405.57142  22988932.613    22988936.299    22988931.759
+      3040.651        2369.338          51.000          43.000
+ -17057724.07943 -13233804.72842  22025314.854    22025320.614    22025313.400
+     -1638.396       -1276.672          52.000          45.000
+ 04  2  1 23 44 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   1345304.54243   1053284.37342  23377902.942    23377907.477    23377901.807
+     -1864.496       -1452.854          50.000          43.000
+ -16883814.25543 -13109784.78742  22070937.983    22070944.167    22070937.006
+     -2582.724       -2012.512          52.000          45.000
+ -13072462.90143 -10176247.33242  22335785.846    22335792.001    22335784.460
+     -1808.792       -1409.448          52.000          46.000
+ -18854569.11843 -14681587.58642  21643890.153    21643894.715    21643888.419
+      -410.768        -320.079          54.000          47.000
+ -17569597.69243 -13646012.98142  22124451.377    22124456.316    22124450.569
+      2519.814        1963.491          54.000          47.000
+ -18404883.52043 -14326154.43042  21207222.489    21207226.090    21207221.598
+     -2218.314       -1728.556          56.000          49.000
+  -2529851.14743  -1842346.06242  24827863.846    24827870.025    24827863.745
+      1747.926        1362.020          45.000          38.000
+ -11462678.60643  -8537446.13542  22971584.155    22971587.452    22971582.741
+      3037.183        2366.636          51.000          43.000
+ -17008556.05043 -13195492.04242  22034670.223    22034675.956    22034668.960
+     -1639.636       -1277.638          51.000          45.000
+ 04  2  1 23 45  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   1401227.16243   1096860.37642  23388544.429    23388547.950    23388544.724
+     -1863.898       -1452.388          49.000          43.000
+ -16806207.86743 -13049312.35642  22085706.060    22085711.798    22085704.690
+     -2590.996       -2018.958          52.000          45.000
+ -13018029.94843 -10133832.12642  22346145.177    22346150.419    22346144.006
+     -1820.048       -1418.219          53.000          46.000
+ -18841992.84143 -14671787.93742  21646283.094    21646287.418    21646281.344
+      -427.851        -333.390          53.000          47.000
+ -17645053.83643 -13704809.95142  22110091.811    22110097.096    22110090.767
+      2510.523        1956.252          54.000          47.000
+ -18338164.66043 -14274165.75242  21219918.934    21219922.554    21219917.746
+     -2229.646       -1737.386          56.000          49.000
+  -2582272.02743  -1883193.47942  24817888.450    24817893.756    24817886.291
+      1746.977        1361.281          44.000          39.000
+ -11553739.29943  -8608402.50742  22954255.994    22954259.101    22954254.414
+      3033.419        2363.703          51.000          43.000
+ -16959347.89143 -13157148.06442  22044034.507    22044040.704    22044033.428
+     -1640.995       -1278.697          52.000          45.000
+ 04  2  1 23 45 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   1457138.16543   1140427.28742  23399182.953    23399188.646    23399181.328
+     -1864.340       -1452.732          49.000          43.000
+ -16728359.22543 -12988651.15942  22100519.925    22100526.424    22100518.892
+     -2599.716       -2025.753          52.000          45.000
+ -12963264.74543 -10091157.99742  22356566.306    22356571.645    22356564.862
+     -1831.903       -1427.457          53.000          47.000
+ -18828906.19143 -14661590.58542  21648773.916    21648778.240    21648772.711
+      -445.569        -347.197          54.000          47.000
+ -17720235.33143 -13763392.90942  22095785.697    22095790.765    22095784.568
+      2500.576        1948.501          54.000          47.000
+ -18271111.11943 -14221916.28442  21232679.032    21232682.060    21232678.066
+     -2241.443       -1746.579          56.000          49.000
+  -2634662.11843  -1924016.91042  24807919.295    24807925.047    24807919.678
+      1744.658        1359.474          45.000          38.000
+ -11644688.62643  -8679272.09242  22936948.399    22936952.687    22936947.403
+      3029.022        2360.277          50.000          43.000
+ -16910098.36943 -13118771.87942  22053407.462    22053412.251    22053406.140
+     -1643.154       -1280.380          52.000          45.000
+ 04  2  1 23 46  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   1513034.81543   1183983.01842  23409821.011    23409824.466    23409820.401
+     -1862.808       -1451.539          50.000          43.000
+ -16650273.93643 -12927805.56542  22115379.088    22115385.907    22115377.842
+     -2606.388       -2030.952          52.000          45.000
+ -12908169.93943 -10048227.05042  22367050.965    22367055.871    22367049.176
+     -1841.774       -1435.148          53.000          46.000
+ -18815312.93443 -14650998.48242  21651360.104    21651364.811    21651358.677
+      -461.297        -359.452          53.000          47.000
+ -17795141.17843 -13821761.07742  22081532.048    22081537.276    22081530.797
+      2492.461        1942.177          54.000          47.000
+ -18203728.01143 -14169410.00642  21245501.747    21245504.807    21245500.600
+     -2251.337       -1754.288          56.000          49.000
+  -2687024.61543  -1964818.87442  24797955.767    24797959.488    24797953.258
+      1745.028        1359.762          44.000          38.000
+ -11735526.58543  -8750054.90542  22919662.102    22919665.576    22919661.231
+      3026.212        2358.087          50.000          43.000
+ -16860810.34643 -13080365.69142  22062786.628    22062791.621    22062785.602
+     -1643.286       -1280.482          53.000          45.000
+ 04  2  1 23 46 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   1568916.99943   1227527.48242  23420456.276    23420458.332    23420454.572
+     -1862.322       -1451.160          50.000          43.000
+ -16571955.44443 -12866778.25542  22130282.795    22130288.977    22130281.490
+     -2614.265       -2037.090          51.000          45.000
+ -12852745.89843 -10005039.56542  22377597.215    22377602.794    22377595.718
+     -1852.796       -1443.737          52.000          46.000
+ -18801214.75843 -14640012.93842  21654043.510    21654047.570    21654042.345
+      -478.239        -372.654          54.000          47.000
+ -17869768.82443 -13879912.46242  22067330.215    22067335.818    22067329.094
+      2483.194        1934.956          53.000          47.000
+ -18136018.41743 -14116649.33042  21258386.553    21258389.615    21258385.363
+     -2262.202       -1762.755          56.000          49.000
+  -2739360.96343  -2005600.44942  24787996.130    24788000.454    24787992.806
+      1744.450        1359.312          42.000          37.000
+ -11826251.50443  -8820749.62742  22902397.426    22902402.338    22902397.088
+      3022.379        2355.101          50.000          43.000
+ -16811484.45043 -13041929.98242  22072172.898    22072178.623    22072171.479
+     -1644.444       -1281.385          52.000          45.000
+ 04  2  1 23 47  0.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+   -933048.38953   -707518.48452  25238473.589    25238481.453    25238471.758
+      3422.406        2666.810          43.000          36.000
+   1624768.83843   1271048.30242  23431082.669    23431085.820    23431082.528
+     -1860.216       -1449.519          50.000          43.000
+ -16493422.81243 -12805584.08042  22145226.963    22145234.018    22145226.124
+     -2620.286       -2041.781          51.000          45.000
+ -12797008.81443  -9961608.13142  22388204.004    22388210.100    22388202.437
+     -1862.079       -1450.971          53.000          46.000
+ -18786629.00443 -14628647.45942  21656819.095    21656823.651    21656818.164
+      -493.308        -384.396          54.000          47.000
+ -17944131.30343 -13937857.22642  22053179.713    22053185.498    22053178.866
+      2475.273        1928.784          53.000          47.000
+ -18068000.96443 -14063648.76642  21271329.842    21271333.056    21271328.706
+     -2271.338       -1769.874          56.000          49.000
+  -2791687.56843  -2046374.43442  24778038.873    24778042.119    24778035.997
+      1745.030        1359.764          43.000          37.000
+ -11916876.94743  -8891366.83842  22885152.313    22885156.559    22885151.394
+      3020.197        2353.400          51.000          44.000
+ -16762136.85943 -13003477.37342  22081563.866    22081568.305    22081562.178
+     -1644.116       -1281.129          52.000          45.000
+ 04  2  1 23 47 30.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1035599.85743   -787428.75242  25218959.549    25218966.131    25218956.694
+      3415.594        2661.502          44.000          37.000
+   1680627.30843   1314574.27342  23441713.547    23441715.440    23441711.111
+     -1862.666       -1451.428          50.000          43.000
+ -16414642.31543 -12744196.77542  22160218.495    22160225.517    22160217.744
+     -2630.521       -2049.757          51.000          45.000
+ -12740921.99243  -9917904.19142  22398876.886    22398883.174    22398875.263
+     -1875.700       -1461.584          53.000          46.000
+ -18771520.24243 -14616874.44142  21659694.371    21659699.057    21659693.165
+      -512.856        -399.628          54.000          47.000
+ -18018188.54443 -13995564.13342  22039086.915    22039092.271    22039085.879
+      2463.136        1919.327          53.000          47.000
+ -17999641.65143 -14010381.81842  21284337.986    21284341.532    21284337.045
+     -2284.669       -1780.261          56.000          49.000
+  -2843968.59043  -2087112.89042  24768088.831    24768094.466    24768088.104
+      1741.497        1357.011          43.000          38.000
+ -12007364.16043  -8961876.32842  22867933.681    22867937.550    22867932.527
+      3013.582        2348.246          51.000          44.000
+ -16712731.16143 -12964979.47942  22090964.622    22090970.223    22090963.659
+     -1648.179       -1284.295          52.000          45.000
+ 04  2  1 23 48  0.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1138030.32543   -867244.72842  25199468.694    25199475.674    25199466.367
+      3411.390        2658.226          44.000          37.000
+   1736469.69443   1358087.73942  23452338.898    23452342.693    23452338.078
+     -1862.021       -1450.925          49.000          43.000
+ -16335639.79543 -12682636.45242  22175252.905    22175257.911    22175251.615
+     -2637.834       -2055.455          51.000          45.000
+ -12684508.61143  -9873945.79642  22409612.466    22409618.638    22409611.173
+     -1886.740       -1470.187          53.000          46.000
+ -18755912.66343 -14604712.72942  21662664.429    21662668.686    21662662.700
+      -529.289        -412.433          54.000          47.000
+ -18091960.68643 -14053048.89042  22025048.087    22025053.673    22025047.286
+      2453.589        1911.888          53.000          47.000
+ -17930966.00943 -13956868.37442  21297406.547    21297410.251    21297405.435
+     -2295.292       -1788.539          56.000          49.000
+  -2896227.93843  -2127834.45542  24758145.357    24758151.054    24758141.803
+      1740.790        1356.460          45.000          38.000
+ -12097733.84443  -9032294.26442  22850736.773    22850740.628    22850736.347
+      3009.490        2345.057          51.000          44.000
+ -16663290.39843 -12926454.25842  22100373.857    22100378.580    22100372.659
+     -1649.559       -1285.371          52.000          45.000
+ 04  2  1 23 48 30.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1240333.31443   -946961.33642  25179999.468    25180007.896    25179998.870
+      3407.713        2655.361          42.000          37.000
+   1792300.98743   1401592.53842  23462963.720    23462966.586    23462963.479
+     -1860.948       -1450.089          49.000          42.000
+ -16256413.50643 -12620901.76242  22190329.085    22190334.920    22190328.370
+     -2644.759       -2060.851          52.000          45.000
+ -12627764.11943  -9829729.38742  22420410.335    22420415.990    22420408.433
+     -1896.920       -1478.119          52.000          46.000
+ -18739803.01843 -14592159.80442  21665729.424    21665734.449    21665728.207
+      -545.386        -424.976          54.000          47.000
+ -18165439.90743 -14110305.41142  22011065.398    22011070.840    22011064.811
+      2444.357        1904.694          53.000          47.000
+ -17861972.01043 -13903106.87042  21310535.455    21310539.257    21310534.609
+     -2305.060       -1796.151          56.000          49.000
+  -2948461.19643  -2168535.68742  24748205.344    24748210.672    24748203.486
+      1740.829        1356.490          44.000          38.000
+ -12187979.01843  -9102615.17542  22833563.504    22833566.868    22833562.315
+      3005.989        2342.329          52.000          44.000
+ -16613810.17843 -12887898.31842  22109788.945    22109794.371    22109787.547
+     -1649.849       -1285.597          51.000          45.000
+ 04  2  1 23 49  0.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1342508.67143  -1026578.50042  25160554.832    25160564.223    25160554.457
+      3403.573        2652.135          41.000          36.000
+   1848119.49043   1445087.38842  23473586.195    23473590.225    23473585.788
+     -1860.643       -1449.852          50.000          43.000
+ -16176968.28343 -12558996.46742  22205446.507    22205453.904    22205445.957
+     -2652.033       -2066.519          51.000          45.000
+ -12570690.56043  -9785256.56642  22431270.643    22431276.035    22431269.479
+     -1908.255       -1486.952          52.000          46.000
+ -18723194.34843 -14579218.02442  21668889.711    21668895.115    21668888.647
+      -562.232        -438.103          53.000          47.000
+ -18238624.72843 -14167332.52542  21997139.172    21997144.708    21997137.793
+      2434.177        1896.761          53.000          47.000
+ -17792663.59543 -13849100.36742  21323724.839    21323728.320    21323723.830
+     -2315.757       -1804.486          56.000          49.000
+  -3000670.93743  -2209218.59842  24738271.461    24738275.901    24738269.606
+      1739.568        1355.508          45.000          38.000
+ -12278098.93243  -9172838.48142  22816413.829    22816419.270    22816412.743
+      3001.552        2338.872          51.000          44.000
+ -16564292.25843 -12849312.96942  22119212.016    22119217.695    22119210.315
+     -1651.444       -1286.839          51.000          45.000
+ 04  2  1 23 49 30.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1444552.96943  -1106093.59642  25141138.768    25141145.454    25141135.614
+      3399.128        2648.671          42.000          37.000
+   1903927.10143   1488573.76042  23484206.160    23484209.483    23484203.721
+     -1860.304       -1449.587          49.000          43.000
+ -16097305.47443 -12496921.63542  22220607.270    22220612.514    22220605.762
+     -2659.350       -2072.221          52.000          45.000
+ -12513286.38643  -9740526.10542  22442194.724    22442200.613    22442193.761
+     -1919.305       -1495.562          53.000          46.000
+ -18706086.39043 -14565887.19642  21672145.712    21672150.123    21672144.885
+      -578.755        -450.978          54.000          47.000
+ -18311510.23943 -14224126.40742  21983269.602    21983274.791    21983268.728
+      2424.233        1889.013          54.000          47.000
+ -17723042.05043 -13794849.85742  21336973.387    21336976.553    21336972.507
+     -2326.087       -1812.535          56.000          49.000
+  -3052856.56243  -2249882.70942  24728340.266    24728346.151    24728338.293
+      1739.106        1355.148          45.000          38.000
+ -12368089.75343  -9242961.19242  22799289.649    22799292.929    22799287.733
+      2997.292        2335.552          51.000          44.000
+ -16514735.27343 -12810697.19642  22128642.368    22128648.392    22128641.015
+     -1652.621       -1287.757          51.000          45.000
+ 04  2  1 23 50  0.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1546470.23143  -1185509.68042  25121744.725    25121753.808    25121742.404
+      3394.497        2645.063          42.000          37.000
+   1959718.39243   1532047.38842  23494823.515    23494826.103    23494822.335
+     -1859.830       -1449.218          50.000          43.000
+ -16017434.40543 -12434684.52342  22235805.343    22235811.565    22235804.673
+     -2666.213       -2077.568          51.000          45.000
+ -12455557.84343  -9695542.91242  22453180.114    22453186.054    22453178.707
+     -1930.032       -1503.921          52.000          46.000
+ -18688486.57543 -14552173.09642  21675494.926    21675499.217    21675494.171
+      -595.378        -463.931          54.000          47.000
+ -18384098.97043 -14280689.03642  21969456.515    21969461.001    21969455.648
+      2414.167        1881.169          54.000          47.000
+ -17653115.95943 -13740362.05042  21350279.642    21350283.555    21350278.781
+     -2336.321       -1820.510          56.000          49.000
+  -3105024.50343  -2290533.12542  24718413.724    24718418.594    24718412.210
+      1738.234        1354.468          45.000          38.000
+ -12457955.20943  -9312986.20942  22782188.494    22782191.894    22782186.709
+      2992.973        2332.187          52.000          44.000
+ -16465145.20743 -12772055.66442  22138078.766    22138084.722    22138077.322
+     -1653.953       -1288.794          51.000          45.000
+ 04  2  1 23 50 30.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1648253.23843  -1264821.15942  25102375.059    25102384.943    25102372.914
+      3390.684        2642.091          41.000          37.000
+   2015498.95443   1575512.68542  23505437.148    23505441.246    23505437.169
+     -1858.938       -1448.523          50.000          42.000
+ -15937352.11243 -12372282.82242  22251044.483    22251050.445    22251044.133
+     -2672.811       -2082.710          51.000          45.000
+ -12397499.54443  -9650302.77442  22464228.410    22464235.061    22464226.694
+     -1940.616       -1512.168          52.000          46.000
+ -18670390.66143 -14538072.42542  21678938.298    21678943.233    21678937.282
+      -611.488        -476.484          54.000          47.000
+ -18456382.60043 -14337013.93242  21955701.718    21955706.522    21955700.805
+      2404.538        1873.666          55.000          47.000
+ -17582882.45043 -13685634.69942  21363644.781    21363648.563    21363644.021
+     -2346.130       -1828.153          56.000          49.000
+  -3157169.88143  -2331165.88142  24708489.657    24708494.944    24708488.652
+      1738.025        1354.305          44.000          38.000
+ -12547687.45843  -9382907.43642  22765112.978    22765116.345    22765111.343
+      2988.914        2329.024          51.000          44.000
+ -16415516.72743 -12733384.19342  22147522.448    22147529.006    22147521.566
+     -1654.585       -1289.287          51.000          45.000
+ 04  2  1 23 51  0.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1749897.21243  -1344024.26542  25083031.276    25083040.930    25083031.296
+      3385.354        2637.938          42.000          37.000
+   2071271.86443   1618972.02442  23516050.475    23516054.989    23516049.299
+     -1859.244       -1448.761          49.000          43.000
+ -15857058.64443 -12309716.56342  22266324.223    22266329.915    22266323.069
+     -2680.172       -2088.446          52.000          45.000
+ -12339108.75043  -9604803.52042  22475339.830    22475345.015    22475338.620
+     -1952.196       -1521.192          52.000          46.000
+ -18651797.26343 -14523584.10642  21682476.680    21682481.243    21682475.230
+      -628.200        -489.506          54.000          47.000
+ -18528355.31343 -14393096.55542  21942005.500    21942010.648    21942004.101
+      2393.658        1865.188          55.000          48.000
+ -17512341.06743 -13630667.43742  21377068.828    21377072.042    21377067.539
+     -2356.680       -1836.374          56.000          49.000
+  -3209290.35343  -2371779.22242  24698573.403    24698577.507    24698569.097
+      1736.964        1353.478          42.000          36.000
+ -12637281.02743  -9452720.60342  22748064.074    22748067.507    22748063.059
+      2983.945        2325.152          51.000          44.000
+ -16365847.04143 -12694680.60142  22156975.200    22156980.803    22156973.849
+     -1656.369       -1290.677          51.000          45.000
+ 04  2  1 23 51 30.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1851407.48843  -1423123.22442  25063716.240    25063726.360    25063714.862
+      3381.917        2635.260          41.000          37.000
+   2127030.37343   1662420.11642  23526661.472    23526666.713    23526660.688
+     -1858.557       -1448.226          49.000          42.000
+ -15776564.45643 -12246993.91042  22281641.373    22281648.099    22281640.076
+     -2686.597       -2093.452          52.000          45.000
+ -12280392.80243  -9559050.92342  22486512.701    22486518.308    22486511.318
+     -1962.716       -1529.389          51.000          45.000
+ -18632715.08043 -14508714.91942  21686108.052    21686112.729    21686106.546
+      -644.423        -502.148          54.000          47.000
+ -18600020.70443 -14448939.69942  21928367.814    21928372.944    21928366.932
+      2383.465        1857.245          54.000          47.000
+ -17441501.71043 -13575467.99842  21390548.598    21390552.657    21390547.395
+     -2366.400       -1843.948          56.000          49.000
+  -3261394.11243  -2412379.59242  24688655.392    24688661.004    24688653.506
+      1736.380        1353.023          41.000          36.000
+ -12726741.12643  -9522429.75542  22731040.417    22731044.054    22731039.170
+      2979.644        2321.801          51.000          44.000
+ -16316143.40443 -12655950.56842  22166433.736    22166439.798    22166431.845
+     -1657.570       -1291.613          51.000          45.000
+ 04  2  1 23 52  0.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1952776.51043  -1502112.12942  25044427.728    25044433.828    25044425.085
+      3376.158        2630.772          41.000          37.000
+   2182780.21343   1705861.48542  23537269.844    23537273.821    23537269.462
+     -1858.717       -1448.351          49.000          42.000
+ -15695866.75543 -12184112.66942  22296998.572    22297003.267    22296997.182
+     -2693.732       -2099.012          52.000          45.000
+ -12221346.23443  -9513040.69842  22497748.268    22497755.518    22497747.479
+     -1974.161       -1538.307          51.000          45.000
+ -18613139.93543 -14493461.61042  21689833.150    21689837.957    21689831.448
+      -661.379        -515.360          54.000          47.000
+ -18671370.42543 -14504536.86142  21914790.143    21914795.957    21914789.233
+      2372.564        1848.751          54.000          48.000
+ -17370361.63443 -13520034.22542  21404086.379    21404089.862    21404084.803
+     -2376.841       -1852.084          55.000          49.000
+  -3313476.29543  -2452963.11642  24678745.026    24678749.683    24678743.220
+      1735.136        1352.054          42.000          36.000
+ -12816059.54943  -9592028.50442  22714043.037    22714046.734    22714043.274
+      2974.260        2317.605          51.000          44.000
+ -16266400.46943 -12617189.91042  22175899.616    22175904.946    22175898.406
+     -1659.282       -1292.947          51.000          45.000
+ 04  2  1 23 52 30.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -2054008.49543  -1580994.20442  25025165.954    25025170.483    25025162.552
+      3371.326        2627.007          40.000          36.000
+   2238516.04543   1749291.89442  23547876.175    23547880.496    23547875.510
+     -1858.306       -1448.031          49.000          42.000
+ -15614974.45743 -12121079.79842  22312391.184    22312397.011    22312390.342
+     -2700.212       -2104.061          51.000          44.000
+ -12161975.20543  -9466777.63742  22509046.778    22509053.756    22509046.181
+     -1985.021       -1546.770          51.000          45.000
+ -18593079.18643 -14477829.90542  21693651.056    21693654.976    21693649.349
+      -677.557        -527.966          54.000          47.000
+ -18742407.18443 -14559890.17142  21901272.648    21901277.645    21901271.996
+      2362.007        1840.525          55.000          48.000
+ -17298929.00743 -13464372.48842  21417679.459    21417683.011    21417678.334
+     -2386.579       -1859.672          56.000          49.000
+  -3365543.13143  -2493534.68142  24668837.255    24668842.999    24668835.332
+      1734.812        1351.802          43.000          37.000
+ -12905239.92043  -9661519.69042  22697072.943    22697076.856    22697072.646
+      2969.642        2314.007          51.000          44.000
+ -16216624.05643 -12578403.15542  22185372.251    22185377.677    22185370.182
+     -1660.334       -1293.767          51.000          45.000
+ 04  2  1 23 53  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   2294239.14643   1792712.42342  23558479.505    23558484.251    23558478.453
+     -1856.929       -1446.958          48.000          42.000
+ -15533889.41243 -12057896.72942  22327821.168    22327827.762    22327820.509
+     -2705.424       -2108.122          51.000          44.000
+ -12102278.52943  -9420260.82542  22520407.502    22520412.610    22520405.633
+     -1994.978       -1554.528          52.000          45.000
+ -18572533.10343 -14461820.01742  21697560.715    21697565.571    21697559.251
+      -692.738        -539.796          53.000          47.000
+ -18813126.64443 -14614996.23042  21887814.881    21887820.364    21887814.320
+      2352.548        1833.154          54.000          48.000
+ -17227205.21243 -13408483.87242  21431328.242    21431331.707    21431327.245
+     -2395.194       -1866.385          56.000          49.000
+  -3417594.36743  -2534094.09642  24658932.393    24658938.101    24658930.264
+      1735.109        1352.033          43.000          37.000
+ -12994278.69143  -9730900.53242  22680129.357    22680132.150    22680128.203
+      2965.972        2311.147          52.000          44.000
+ -16166813.07043 -12539589.45442  22194850.271    22194854.918    22194848.215
+     -1660.523       -1293.914          51.000          45.000
+ 04  2  1 23 53 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   2349957.42243   1836129.16842  23569082.421    23569085.994    23569081.958
+     -1857.519       -1447.417          48.000          42.000
+ -15452607.19243 -11994560.03842  22343289.048    22343294.969    22343287.869
+     -2712.881       -2113.933          50.000          44.000
+ -12042249.30143  -9373484.88742  22531829.941    22531836.345    22531829.192
+     -2006.729       -1563.685          52.000          45.000
+ -18551495.97643 -14445427.50242  21701563.685    21701568.883    21701562.480
+      -709.596        -552.932          54.000          47.000
+ -18883518.26443 -14669846.82542  21874419.694    21874425.557    21874418.998
+      2340.618        1823.858          54.000          48.000
+ -17155185.55543 -13352364.70742  21445032.766    21445036.648    21445031.576
+     -2405.760       -1874.618          55.000          49.000
+  -3469623.27643  -2574636.13842  24649030.553    24649037.077    24649030.070
+      1733.834        1351.039          43.000          37.000
+ -13083166.29143  -9800163.59542  22663215.180    22663218.399    22663213.599
+      2960.080        2306.556          52.000          44.000
+ -16116960.20243 -12500743.13442  22204337.201    22204342.805    22204336.058
+     -1662.567       -1295.507          52.000          45.000
+ 04  2  1 23 54  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   2405661.47043   1879534.82042  23579683.275    23579689.170    23579681.860
+     -1856.659       -1446.747          48.000          42.000
+ -15371140.38243 -11931079.50242  22358791.360    22358798.443    22358790.530
+     -2718.397       -2118.231          51.000          45.000
+ -11981897.46443  -9326457.55842  22543315.600    22543321.563    22543314.634
+     -2017.162       -1571.814          53.000          46.000
+ -18529978.83543 -14428660.94842  21705658.188    21705663.283    21705657.295
+      -725.459        -565.293          54.000          47.000
+ -18953588.66643 -14724447.11742  21861086.344    21861091.762    21861084.585
+      2330.412        1815.905          54.000          48.000
+ -17082882.32043 -13296024.58142  21458791.973    21458795.608    21458790.920
+     -2414.853       -1881.704          55.000          49.000
+  -3521639.89143  -2615168.60742  24639133.197    24639138.229    24639130.890
+      1733.551        1350.819          44.000          38.000
+ -13171909.64943  -9869314.24842  22646326.936    22646330.506    22646326.258
+      2955.693        2303.137          52.000          44.000
+ -16067075.11543 -12461871.69042  22213829.528    22213835.445    22213828.230
+     -1663.470       -1296.210          51.000          45.000
+ 04  2  1 23 54 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   2461358.62443   1922935.10742  23590280.738    23590285.616    23590279.949
+     -1856.785       -1446.845          47.000          42.000
+ -15289484.97743 -11867452.00242  22374330.032    22374337.069    22374328.553
+     -2725.236       -2123.560          51.000          45.000
+ -11921216.33743  -9279173.62742  22554862.569    22554868.443    22554860.660
+     -2028.563       -1580.698          52.000          45.000
+ -18507976.18443 -14411516.07842  21709845.486    21709850.190    21709844.207
+      -741.763        -577.997          54.000          47.000
+ -19023327.37943 -14778788.97042  21847815.132    21847820.443    21847813.927
+      2318.669        1806.755          54.000          48.000
+ -17010290.87443 -13239459.87242  21472605.465    21472609.276    21472604.535
+     -2424.819       -1889.469          55.000          49.000
+  -3573638.20843  -2655686.77642  24629238.828    24629244.704    24629237.116
+      1732.678        1350.139          43.000          38.000
+ -13260499.13143  -9938345.00542  22629469.255    22629474.574    22629468.272
+      2949.999        2298.701          52.000          45.000
+ -16017150.73143 -12422969.62342  22223330.062    22223336.484    22223328.249
+     -1665.076       -1297.462          51.000          44.000
+ 04  2  1 23 55  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   2517047.50643   1966328.95242  23600879.695    23600883.406    23600879.039
+     -1856.937       -1446.964          48.000          42.000
+ -15207645.75043 -11803681.27142  22389903.757    22389910.232    22389902.499
+     -2732.074       -2128.889          51.000          45.000
+ -11860207.96043  -9231634.71842  22566472.286    22566477.443    22566470.851
+     -2040.253       -1589.807          51.000          45.000
+ -18485491.40143 -14393995.51642  21714123.928    21714129.149    21714122.660
+      -758.656        -591.160          54.000          47.000
+ -19092733.32243 -14832871.51042  21834607.618    21834612.939    21834606.744
+      2306.862        1797.555          54.000          48.000
+ -16937415.64743 -13182674.03542  21486473.309    21486477.218    21486472.011
+     -2434.934       -1897.351          55.000          49.000
+  -3625620.46143  -2696192.42542  24619345.810    24619352.780    24619343.713
+      1731.460        1349.190          42.000          38.000
+ -13348934.43443 -10007255.62742  22612640.663    22612645.804    22612640.302
+      2944.298        2294.258          52.000          45.000
+ -15967188.83443 -12384038.35942  22232837.004    22232843.591    22232836.031
+     -1667.201       -1299.118          51.000          44.000
+ 04  2  1 23 55 30.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   2572723.51543   2009712.73942  23611474.061    23611477.991    23611473.301
+     -1855.062       -1445.503          48.000          42.000
+ -15125630.61643 -11739773.47342  22405510.724    22405517.120    22405509.709
+     -2736.333       -2132.207          51.000          45.000
+ -11798877.52543  -9183844.86442  22578142.399    22578149.661    22578141.412
+     -2049.288       -1596.848          52.000          45.000
+ -18462531.14043 -14376104.45142  21718493.658    21718497.875    21718491.862
+      -772.798        -602.180          53.000          47.000
+ -19161808.51443 -14886696.32842  21821463.968    21821468.326    21821462.397
+      2297.441        1790.214          55.000          48.000
+ -16864264.37343 -13125673.10142  21500393.732    21500397.267    21500392.206
+     -2442.482       -1903.233          55.000          49.000
+  -3677592.44043  -2736690.12042  24609458.122    24609460.865    24609454.741
+      1732.731        1350.180          44.000          38.000
+ -13437218.42343 -10076048.33942  22595840.681    22595845.229    22595839.652
+      2940.588        2291.367          52.000          45.000
+ -15917194.59143 -12345081.84942  22242350.859    22242357.238    22242349.908
+     -1666.443       -1298.527          51.000          44.000
+ 04  2  1 23 56  0.0000000  0  9G22G 3G15G31G25G14G20G11G23
+   2628391.65343   2053090.39642  23622068.196    23622071.212    23622066.481
+     -1854.956       -1445.420          49.000          41.000
+ -15043437.80443 -11675727.21642  22421151.305    22421158.401    22421150.094
+     -2742.102       -2136.703          51.000          44.000
+ -11737220.63943  -9135800.61042  22589875.512    22589881.509    22589874.196
+     -2060.024       -1605.213          52.000          45.000
+ -18439092.39443 -14357840.53542  21722953.712    21722958.347    21722951.741
+      -788.555        -614.458          53.000          47.000
+ -19230545.19743 -14940257.37242  21808383.141    21808388.129    21808382.266
+      2286.270        1781.509          55.000          48.000
+ -16790834.91943 -13068455.40142  21514367.003    21514370.529    21514365.711
+     -2451.593       -1910.332          55.000          49.000
+  -3729550.03543  -2777176.56642  24599568.582    24599575.173    24599568.368
+      1732.392        1349.916          44.000          38.000
+ -13525343.55543 -10144717.26642  22579071.572    22579075.528    22579069.857
+      2935.486        2287.392          52.000          45.000
+ -15867163.40943 -12306096.58142  22251872.190    22251877.660    22251871.297
+     -1667.625       -1299.448          51.000          44.000
+ 04  2  1 23 56 30.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+                                  24872057.103
+      3332.487        2596.743          43.000
+   2684050.66043   2096460.94942  23632660.086    23632663.389    23632658.904
+     -1854.710       -1445.228          49.000          42.000
+ -14961071.86843 -11611546.05142  22436824.923    22436832.878    22436823.157
+     -2748.028       -2141.320          50.000          44.000
+ -11675239.40543  -9087503.62242  22601670.853    22601676.468    22601669.723
+     -2071.159       -1613.890          52.000          45.000
+ -18415178.43243 -14339206.32742  21727503.941    21727508.905    21727503.180
+      -804.825        -627.136          53.000          47.000
+ -19298941.83443 -14993553.42742  21795367.561    21795373.009    21795366.404
+      2274.408        1772.266          54.000          48.000
+ -16717131.53743 -13011024.25742  21528391.856    21528395.548    21528390.878
+     -2461.054       -1917.704          55.000          49.000
+  -3781495.54343  -2817653.62042  24589682.169    24589689.750    24589682.098
+      1731.676        1349.358          43.000          38.000
+ -13613309.10243 -10213261.83942  22562332.323    22562335.530    22562330.805
+      2929.895        2283.035          52.000          45.000
+ -15817096.76543 -12267083.69542  22261398.833    22261405.042    22261397.731
+     -1669.258       -1300.720          51.000          44.000
+ 04  2  1 23 57  0.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+   -778554.62253   -549295.48252  24853048.076    24853055.662    24853046.988
+      3327.024        2592.486          43.000          35.000
+   2739704.22243   2139827.28342  23643248.865    23643255.008    23643247.464
+     -1855.326       -1445.708          48.000          42.000
+ -14878532.50043 -11547229.74542  22452533.065    22452537.871    22452531.342
+     -2754.708       -2146.526          51.000          44.000
+ -11612930.80043  -9038951.54442  22613527.091    22613532.979    22613525.376
+     -2082.988       -1623.107          51.000          45.000
+ -18390787.50843 -14320200.45742  21732145.939    21732150.491    21732144.815
+      -821.410        -640.060          53.000          47.000
+ -19366992.13743 -15046579.61642  21782417.994    21782423.173    21782417.031
+      2262.147        1762.712          54.000          48.000
+ -16643153.21343 -12953378.86642  21542469.774    21542473.524    21542468.741
+     -2470.837       -1925.327          55.000          49.000
+  -3833426.39843  -2858119.20742  24579801.857    24579807.885    24579800.694
+      1730.802        1348.677          44.000          38.000
+ -13701109.64943 -10281677.84642  22545624.091    22545627.897    22545623.025
+      2923.527        2278.073          52.000          45.000
+ -15766991.33343 -12228040.55442  22270934.219    22270940.443    22270932.478
+     -1671.195       -1302.230          51.000          44.000
+ 04  2  1 23 57 30.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+   -878289.05843   -627010.63642  24834067.749    24834077.961    24834069.198
+      3321.571        2588.237          42.000          35.000
+   2795344.30943   2183183.08442  23653837.096    23653840.808    23653837.135
+     -1854.706       -1445.225          48.000          41.000
+ -14795831.37943 -11482787.40242  22468269.754    22468275.816    22468268.773
+     -2759.562       -2150.308          51.000          44.000
+ -11550303.69743  -8990151.26742  22625444.768    22625451.391    22625443.890
+     -2092.891       -1630.824          52.000          45.000
+ -18365929.94843 -14300830.97442  21736875.530    21736880.898    21736874.951
+      -836.458        -651.785          53.000          47.000
+ -19434701.42743 -15099340.08042  21769533.543    21769538.466    21769532.347
+      2251.225        1754.201          55.000          48.000
+ -16568911.34143 -12895528.11042  21556597.549    21556601.025    21556596.142
+     -2479.254       -1931.886          55.000          48.000
+  -3885351.76143  -2898580.55142  24569920.433    24569926.421    24569919.506
+      1730.741        1348.629          44.000          39.000
+ -13788751.19843 -10349969.95842  22528946.641    22528950.205    22528946.334
+      2918.548        2274.193          52.000          45.000
+ -15716855.74043 -12188973.92442  22280474.915    22280480.109    22280473.266
+     -1671.738       -1302.653          51.000          44.000
+ 04  2  1 23 58  0.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+   -977860.64443   -704598.87142  24815121.342    24815129.937    24815118.696
+      3316.040        2583.927          43.000          34.000
+   2850979.85443   2226535.37642  23664424.833    23664428.194    23664424.700
+     -1854.518       -1445.079          48.000          42.000
+ -14712962.56543 -11418214.38342  22484038.993    22484045.273    22484038.570
+     -2765.499       -2154.934          51.000          44.000
+ -11487349.77743  -8941096.34342  22637424.403    22637431.456    22637423.886
+     -2103.886       -1639.392          51.000          45.000
+ -18340598.53543 -14281092.26142  21741696.810    21741701.643    21741695.424
+      -852.461        -664.255          53.000          47.000
+ -19502057.90243 -15151825.62842  21756716.084    21756720.773    21756714.918
+      2239.283        1744.896          55.000          48.000
+ -16494399.62543 -12837467.09742  21570776.693    21570780.501    21570775.572
+     -2488.323       -1938.953          55.000          48.000
+  -3937263.22443  -2939031.06642  24560043.743    24560050.073    24560041.539
+      1730.130        1348.153          45.000          39.000
+ -13876222.42643 -10418129.35842  22512301.519    22512304.948    22512300.601
+      2912.636        2269.586          52.000          45.000
+ -15666681.01743 -12149876.79742  22290023.295    22290027.605    22290020.885
+     -1673.215       -1303.804          52.000          44.000
+ 04  2  1 23 58 30.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1077272.21843   -782062.43942  24796202.914    24796211.436    24796202.892
+      3311.113        2580.088          44.000          35.000
+   2906606.98643   2269881.09542  23675010.178    23675014.118    23675009.620
+     -1854.066       -1444.727          48.000          42.000
+ -14629933.53043 -11353516.52342  22499839.361    22499845.554    22499837.712
+     -2770.309       -2158.682          51.000          44.000
+ -11424073.97543  -8891790.62342  22649465.623    22649472.333    22649465.137
+     -2114.663       -1647.789          50.000          45.000
+ -18314799.65943 -14260989.29042  21746605.564    21746611.352    21746604.208
+      -868.024        -676.382          53.000          47.000
+ -19569063.30643 -15204037.60842  21743965.359    21743970.264    21743964.202
+      2227.387        1735.626          55.000          48.000
+ -16419625.22943 -12779201.38842  21585005.821    21585009.526    21585004.762
+     -2496.870       -1945.613          55.000          48.000
+  -3989166.22943  -2979474.98842  24550165.629    24550172.052    24550164.664
+      1729.793        1347.891          44.000          39.000
+ -13963525.44343 -10486157.67842  22495688.627    22495691.156    22495687.206
+      2907.094        2265.268          53.000          45.000
+ -15616471.83543 -12110752.83042  22299576.974    22299582.880    22299576.097
+     -1674.396       -1304.724          51.000          44.000
+ 04  2  1 23 59  0.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1176518.94843   -859397.50742  24777318.134    24777328.052    24777314.639
+      3305.884        2576.014          45.000          36.000
+   2962228.99043   2313222.83442  23685595.008    23685599.799    23685594.211
+     -1853.838       -1444.549          48.000          42.000
+ -14546744.04543 -11288693.63342  22515669.703    22515676.788    22515669.186
+     -2775.232       -2162.518          51.000          44.000
+ -11360473.54443  -8842231.93542  22661569.120    22661574.953    22661567.734
+     -2125.084       -1655.910          50.000          44.000
+ -18288532.03043 -14240521.06642  21751604.347    21751609.828    21751602.869
+      -883.154        -688.172          53.000          47.000
+ -19635711.18643 -15255971.01242  21731282.669    21731287.369    21731281.700
+      2215.835        1726.625          55.000          48.000
+ -16344587.77443 -12720730.69542  21599285.761    21599288.859    21599284.357
+     -2505.348       -1952.219          55.000          48.000
+  -4041058.31543  -3019910.42042  24540291.916    24540296.295    24540290.234
+      1729.929        1347.997          46.000          39.000
+ -14050654.70343 -10554050.59842  22479107.156    22479111.488    22479106.637
+      2901.601        2260.988          52.000          45.000
+ -15566225.03143 -12071599.53942  22309138.643    22309144.167    22309137.301
+     -1675.414       -1305.517          50.000          44.000
+ 04  2  1 23 59 30.0000000  0 10G 1G22G 3G15G31G25G14G20G11G23
+  -1275602.21543   -936605.22242  24758461.963    24758470.902    24758461.078
+      3299.480        2571.023          45.000          36.000
+   3017843.09743   2356558.42442  23696177.011    23696183.347    23696178.128
+     -1854.087       -1444.743          48.000          41.000
+ -14463400.49543 -11223750.71242  22531529.964    22531535.674    22531529.089
+     -2781.222       -2167.186          51.000          44.000
+ -11296552.03943  -8792423.03542  22673733.247    22673738.752    22673731.979
+     -2136.688       -1664.952          52.000          45.000
+ -18261800.47043 -14219691.32642  21756690.895    21756696.487    21756689.755
+      -899.543        -700.942          53.000          47.000
+ -19702001.63443 -15307625.90142  21718667.414    21718672.815    21718666.573
+      2203.110        1716.709          55.000          48.000
+ -16269292.81943 -12662059.36442  21613613.299    21613616.966    21613612.268
+     -2514.686       -1959.495          55.000          48.000
+  -4092943.23643  -3060340.25342  24530418.359    24530423.961    24530416.091
+      1728.646        1346.997          45.000          39.000
+ -14137610.83443 -10621808.61342  22462560.474    22462564.842    22462558.883
+      2894.987        2255.834          52.000          45.000
+ -15515943.63643 -12032419.29542  22318706.860    22318712.749    22318705.100
+     -1677.320       -1307.002          50.000          44.000
diff --git a/trunk/apps/RinexPlot/goRP b/trunk/apps/RinexPlot/goRP
new file mode 100755
index 0000000..4980cf3
--- /dev/null
+++ b/trunk/apps/RinexPlot/goRP
@@ -0,0 +1 @@
+perl RinexPlot.pl --Rinex alic0320.04o --autoview off --AO L4 --AO M5 --sat G08 --sat G30 --obs L4 --obs M5 --refresh
diff --git a/trunk/apps/RinexPlot/goRP.bat b/trunk/apps/RinexPlot/goRP.bat
new file mode 100755
index 0000000..fd34887
--- /dev/null
+++ b/trunk/apps/RinexPlot/goRP.bat
@@ -0,0 +1 @@
+call RinexPlot --Rinex alic0320.04o --autoview off --AO L4 --AO M5 --sat G08 --sat G30 --obs L4 --obs M5 --refresh --keepdata %*
diff --git a/trunk/apps/RinexPlot/goRP1 b/trunk/apps/RinexPlot/goRP1
new file mode 100755
index 0000000..e4c4097
--- /dev/null
+++ b/trunk/apps/RinexPlot/goRP1
@@ -0,0 +1,2 @@
+perl RinexPlot.pl --Rinex RSW214B.obs --autoview off --AO L4 --AO M5 --sat G01 --sat G02 --sat G13 --sat G03 --sat G16 --sat G20 --sat G27 --sat G31 --obs L4 --refresh --log rp.log --lines off --points
+
diff --git a/trunk/apps/RinexPlot/goRP1.bat b/trunk/apps/RinexPlot/goRP1.bat
new file mode 100755
index 0000000..ecbb956
--- /dev/null
+++ b/trunk/apps/RinexPlot/goRP1.bat
@@ -0,0 +1,2 @@
+call RinexPlot --Rinex RSW214B.obs --autoview off --AO L4 --AO M5 --sat G01 --sat G02 --sat G13 --sat G03 --sat G16 --sat G20 --sat G27 --sat G31 --obs L4 --refresh --log rp.log --lines off --points %*
+
diff --git a/trunk/apps/RinexPlot/positions.txt b/trunk/apps/RinexPlot/positions.txt
new file mode 100644
index 0000000..9f507e3
--- /dev/null
+++ b/trunk/apps/RinexPlot/positions.txt
@@ -0,0 +1,151 @@
+ajac  4696989.550 723994.369 4239678.490
+albh -2341332.886 -3539049.513 4745791.371
+algo   918129.499 -4346071.239 4561977.824
+alic -4052051.830 4212836.100 -2545105.836
+ankr  4121948.591 2652187.949 4069023.681
+aoml   982296.803 -5664607.228 2752614.479
+areq  1942826.728 -5804070.256 -1796893.968
+artu  1843956.907 3016203.039 5291261.706
+asc1  6118526.077 -1572344.698 -876451.166
+auck -5105681.003 461564.048 -3782181.752
+bahr  3633909.050 4425275.467 2799861.271
+bili -2321892.971 560096.878 5894691.764
+bogt  1744399.096 -6116037.813 512731.625
+bor1  3738358.598 1148173.582 5021815.705
+braz  4115014.087 -4550641.532 -1741444.061
+brmu  2304703.582 -4874817.178 3395186.895
+brst  4231162.677 -332746.825 4745130.837
+brus  4027893.852 307045.689 4919475.037
+bucu  4093760.981 2007793.635 4445129.877
+bzrg  4312657.614 864634.517 4603844.341
+cagl  4893378.933 772649.625 4004182.063
+cas1  -901776.162 2409383.419 -5816748.420
+chat -4590670.912 -275482.993 -4404596.777
+chur  -236438.708 -3307616.791 5430049.174
+coco  -741950.006 6190961.630 -1337768.586
+cord  2345503.864 -4910842.804 -3316365.439
+cro1  2607771.157 -5488076.781 1932767.685
+darw -4091358.781 4684606.724 -1408580.460
+dav1   486854.548 2285099.302 -5914955.683
+drag  4432980.874 3149431.992 3322110.339
+drao -2059164.684 -3621108.394 4814432.379
+ebre  4833520.246 41536.947 4147461.448
+eisl -1884951.760 -5357595.877 -2892890.504
+fair -2281621.431 -1453595.793 5756961.909
+flin  -766174.416 -3611375.303 5184056.250
+fort  4985386.627 -3954998.587 -428426.482
+gala   -33796.116 -6377522.655 -82120.899
+geno  4507892.447 707621.329 4441603.426
+glsv  3512889.114 2068979.763 4888903.141
+gode  1130773.867 -4831253.583 3994200.409
+gold -2353614.180 -4641385.388 3676976.454
+gope  3979316.259 1050312.340 4857067.020
+gras  4581691.012 556114.680 4389360.696
+graz  4194423.959 1162702.549 4647245.328
+guam -5071312.800 3568363.492 1488904.316
+hers  4033470.220 23672.752 4924301.231
+hflk  4248505.175 855575.595 4667172.195
+hob2 -3950071.361 2522415.185 -4311638.362
+hofn  2679690.006 -727951.336 5722789.146
+hrao  5085352.489 2668395.670 -2768731.676
+iisc  1337937.267 6070315.399 1427876.262
+ineg -1260435.744 -5788547.698 2360340.250
+irkt  -968332.190 3794425.411 5018167.758
+joze  3664940.315 1409153.741 5009571.323
+jplm -2493304.198 -4655215.451 3565497.383
+karr -2713832.258 5303935.087 -2269515.012
+kely  1575559.280 -1941827.932 5848076.502
+kerg  1406337.336 3918161.100 -4816167.355
+kiru  2251420.923 862817.135 5885476.614
+kit3  1944945.356 4556652.193 4004325.976
+kokb -5543838.118 -2054587.260 2387809.705
+kosg  3899225.245 396731.809 5015078.351
+kour  3839591.421 -5059567.553 579956.935
+kstu  -174281.721 3571333.012 5264196.061
+kunm -1281255.473 5640746.079 2682880.117
+lama  3524523.073 1329693.519 5129846.289
+lhas  -106937.669 5549269.591 3139215.762
+lpgs  2780102.969 -4437418.863 -3629404.583
+mac1 -3464038.501 1334172.763 -5169224.323
+madr  4849202.453 -360329.122 4114913.104
+mag0 -2825810.143 1581232.927 5477005.540
+mali  4865366.487 4110737.445 -331121.710
+mars  4630532.881 433946.163 4350142.640
+mate  4641949.707 1393045.271 4133287.343
+mdo1 -1329998.678 -5328393.387 3236504.199
+mdvo  2844672.112 2161066.397 5266365.554
+medi  4461400.895 919593.423 4449504.682
+mets  2892570.923 1311843.330 5512634.057
+mkea -5464105.097 -2495166.895 2148290.939
+monp -2386246.845 -4802359.598 3444902.121
+nalk -2296299.073 -1484805.432 5743080.059
+narg  2745499.094 -4483636.553 -3599054.668
+narl  -740290.505 -5457071.387 3207243.611
+naus -3939181.976 3467075.383 -3613221.035
+nbah  3633910.911 4425277.706 2799862.677
+nbej -2148743.914 4426641.465 4044656.101
+necu  1272867.278 -6252772.267 -23801.890
+neng  3981776.718 -89239.153 4965284.609
+nico  4359415.849 2874116.974 3650777.712
+nklg  6287385.842 1071574.385 39132.745
+nlib  -130934.482 -4762291.737 4226854.669
+nnzl -4780787.779 436877.834 -4185258.356
+noum -5739971.535 1387563.663 -2402123.551
+nrc1  1112777.321 -4341475.826 4522955.775
+nsaf  5066234.148 2719228.693 -2754393.396
+nsko -3067861.658 4067639.206 3824294.132
+nssp  3478646.842 3418805.729 4097987.116
+nstl   -18061.024 -4991815.851 3957051.070
+ntah -5246403.708 -3077285.772 -1913839.569
+ntus -1508022.690 6195576.699 148799.482
+nusn  1112168.441 -4842861.714 3985487.203
+nya1  1202433.960 252632.229 6237772.513
+nyal  1202430.643 252626.646 6237767.533
+ohig  1525872.480 -2432481.304 -5676146.082
+onsa  3370658.663 711877.023 5349786.877
+penc  4052449.626 1417680.986 4701407.038
+pert -2368686.968 4881316.517 -3341796.161
+petp -3576239.756 1401003.444 5075177.505
+pie1 -1640916.793 -5014781.204 3575447.142
+pimo -3186294.170 5286624.093 1601158.176
+pin1 -2369510.474 -4761207.148 3511396.175
+pol2  1239971.586 4530790.055 4302578.777
+pots  3800689.768 882077.259 5028791.246
+ramo  4514722.017 3133507.725 3228024.574
+reyk  2587384.489 -1043033.504 5716563.979
+riog  1429907.727 -3495354.740 -5122698.672
+sant  1769693.337 -5044574.148 -3468321.048
+sele  1046790.836 4540257.051 4342920.758
+sey1  3602870.766 5238174.329 -516275.514
+sfer  5105519.055 -555146.005 3769803.246
+shao -2831733.268 4675666.039 3275369.521
+sofi  4319372.228 1868687.631 4292063.865
+stjo  2612631.229 -3426807.026 4686757.805
+suth  5041274.808 1916053.992 -3397076.074
+syog  1766207.841 1460290.350 -5932297.680
+thti -5246415.202 -3077260.424 -1913842.475
+tidb -4460996.129 2682557.076 -3674443.694
+tixi -1264873.036 1569455.795 6031003.458
+tow2 -5054582.693 3275504.449 -2091539.703
+trab  3705250.492 3084421.557 4162044.636
+tro1  2102928.617 721619.379 5958196.191
+trom  2102940.337 721569.379 5958192.113
+tskb -3957199.240 3310199.668 3737711.708
+upad  4389531.283 923253.642 4519256.346
+urum   193030.873 4606851.324 4393311.421
+usno  1112189.893 -4842955.037 3985352.249
+usud -3855262.998 3427432.519 3741020.362
+vene  4379724.871 957495.734 4521605.129
+vill  4849833.786 -335049.186 4116014.840
+wes2  1492233.378 -4458089.484 4296046.006
+whit -2218337.816 -2201205.112 5543057.583
+wsrt  3828735.985 443304.827 5064884.632
+wtzr  4075580.685 931853.660 4801568.054
+wuhn -2267749.162 5009154.325 3221290.762
+yar1 -2389025.536 5043316.872 -3078530.731
+yell -1224452.501 -2689216.107 5633638.279
+yssk -3465320.798 2638269.400 4644085.493
+zeck  3451174.880 3060335.313 4391955.568
+zimm  4331297.182 567555.730 4633133.845
+zwen  2886325.543 2155998.399 5245816.145
+EURO -740305.8910 -5457067.8902 3207248.3730  Ref site for GSTSS test data
diff --git a/trunk/apps/Rinextools/EditRinex b/trunk/apps/Rinextools/EditRinex
new file mode 100755
index 0000000..7c173b9
Binary files /dev/null and b/trunk/apps/Rinextools/EditRinex differ
diff --git a/trunk/apps/Rinextools/EditRinex.cpp b/trunk/apps/Rinextools/EditRinex.cpp
new file mode 100644
index 0000000..68d9ec2
--- /dev/null
+++ b/trunk/apps/Rinextools/EditRinex.cpp
@@ -0,0 +1,330 @@
+//------------------------------------------------------------------------------------
+// EditRinex.cpp  Edit a Rinex observation file using the RinexEditor in gpstk.
+//
+// EditRinex is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/EditRinex.cpp#1 $"
+
+/**
+ * @file EditRinex.cpp
+ * Edit a Rinex observation file using the RinexEditor in gpstk.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "RinexUtilities.hpp"
+
+#include "RinexEditor.hpp"
+
+#include <string>
+#include <vector>
+#include <iostream>
+#include <fstream>
+#include <time.h>
+
+using namespace gpstk;
+using namespace std;
+
+//------------------------------------------------------------------------------------
+// Instantiate an editor
+RinexEditor REC;
+
+//------------------------------------------------------------------------------------
+// data input from command line
+string LogFile("EditRinex.log");
+bool Verbose=false,Debug=false;
+string Title;
+// timer
+clock_t totaltime;
+// log file
+ofstream oflog;
+
+//------------------------------------------------------------------------------------
+// prototypes
+int GetCommandLine(int argc, char **argv);
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& Verbose, bool& Debug);
+
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+   totaltime = clock();
+
+   int iret;
+   DayTime last;
+
+      // Title and description
+   Title = "EditRinex, part of the GPSTK ToolKit, Ver 3.0 9/4/03, Run ";
+   time_t timer;
+   struct tm *tblock;
+
+   timer = time(NULL);
+   tblock = localtime(&timer);
+   last.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+               tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+   Title += last.printf("%04Y/%02m/%02d %02H:%02M:%02S\n");
+   cout << Title;
+
+      // define extended types
+   iret = RegisterARLUTExtendedTypes();
+   if(iret) goto quit;
+
+      // get command line
+   iret=GetCommandLine(argc, argv);
+   if(iret) goto quit;
+
+   iret=REC.EditFile();
+   if(iret) goto quit;
+
+   quit:
+   // compute run time
+   totaltime = clock()-totaltime;
+   oflog << "EditRinex timing: " << setprecision(3)
+      << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+
+   return iret;
+}
+catch(gpstk::FFStreamError& e) {
+   cerr << e;
+   return 1;
+}
+catch(gpstk::Exception& e) {
+   cerr << e;
+   return 1;
+}
+catch (...) {
+   cerr << "Unknown error.  Abort." << endl;
+   return 1;
+}
+   return 0;
+}   // end main()
+
+//------------------------------------------------------------------------------------
+int GetCommandLine(int argc, char **argv)
+{
+   bool help=false;
+   int i,j,iret=0;
+try {
+      // required options
+
+      // optional options
+      // this only so it will show up in help page...
+   CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+      'f',""," -f<file>             file containing more options");
+
+   CommandOption dashl(CommandOption::hasArgument, CommandOption::stdType,
+      'l',""," -l<file>             Output log file name");
+   dashl.setMaxCount(1);
+   
+   CommandOptionNoArg dashh('h', "help",
+      " [-h|--help]          print syntax and quit.");
+
+   CommandOptionNoArg dashd('d', "debug",
+      " [-d|--debug]       print extended output info.");
+
+   CommandOptionNoArg dashv('v', "verbose",
+      " [-v|--verbose]       print extended output info."
+      "\n [-<REC...>]          Rinex editing commands - see the following");
+
+   // ... other options
+   CommandOptionRest Rest("");
+
+   CommandOptionParser Par(
+      " Prgm EditRinex will open and read one RINEX file, apply editing commands,\n"
+      " and write the modified RINEX data to another RINEX file(s).\n"
+      " Input is on the command line, or of the same format in a file (-f<file>).\n");
+
+   // allow user to put all options in a file
+   // could also scan for debug here
+   vector<string> Args;
+   for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args,Verbose,Debug);
+   argc = Args.size();
+   if(argc==0) Args.push_back(string("-h"));
+
+   //if(Debug) {
+      //cout << "List passed to REditCommandLine:\n";
+      //for(i=0; i<argc; i++) cout << i << " " << Args[i] << endl;
+      // strip out the REditCmds
+   //}
+
+   REC.REVerbose = Verbose;
+   REC.REDebug = Debug;
+   REC.AddCommandLine(Args);
+
+   //if(Debug) {
+      //deque<REditCmd>::iterator it=REC.Cmds.begin();
+      //cout << "\nHere is the list of RE cmds\n";
+      //while(it != REC.Cmds.end()) { it->Dump(cout,string("")); ++it; }
+      //cout << "End of list of RE cmds" << endl;
+   //}
+
+      // open the log file first
+   oflog.open(LogFile.c_str(),ios_base::out);
+   if(!oflog) {
+      cerr << "Failed to open log file " << LogFile << endl;
+      return -1;
+   }
+   cout << "EditRinex output directed to log file " << LogFile << endl;
+   REC.oflog = &oflog;
+   oflog << Title;
+
+      // preprocess the commands
+   iret = REC.ParseCommands();
+   if(iret) {
+      cerr << "EditRinex Error: no " << (iret==-1 ? "input" : "output")
+         << " file specified\n";
+      oflog << "EditRinex Error: no " << (iret==-1 ? "input" : "output")
+         << " file specified\n";
+   }
+   //if(Debug) {
+      //cout << "\nHere is the parsed list of RE cmds\n";
+      //it=REC.Cmds.begin();
+      //while(it != REC.Cmds.end()) { it->Dump(cout,string("")); ++it; }
+      //cout << "End of sorted list of RE cmds" << endl;
+   //}
+
+      // pass the rest
+   argc = Args.size()+1;
+   char **CArgs=new char*[argc];
+   if(!CArgs) { cerr << "Failed to allocate CArgs\n"; return -1; }
+   CArgs[0] = argv[0];
+   for(j=1; j<argc; j++) {
+      CArgs[j] = new char[Args[j-1].size()+1];
+      if(!CArgs[j]) { cerr << "Failed to allocate CArgs[j]\n"; return -1; }
+      strcpy(CArgs[j],Args[j-1].c_str());
+   }
+
+   //if(Debug) {
+      //cout << "List passed to parse\n";
+      //for(i=0; i<argc; i++) cout << i << " " << CArgs[i] << endl;
+   //}
+   Par.parseOptions(argc, CArgs);
+
+   if(iret != 0 || dashh.getCount() > 0) {      // iret from ParseCommands
+      Par.displayUsage(cout,false);
+      DisplayRinexEditUsage(cout);
+      help = true;   //return 1;
+   }
+
+   if (Par.hasErrors())
+   {
+      cerr << "\nErrors found in command line input:\n";
+      oflog << "\nErrors found in command line input:\n";
+      Par.dumpErrors(oflog);
+      oflog << "...end of Errors\n\n";
+      help = true;
+   }
+   
+      // get values found on command line
+   vector<string> values;
+
+      // f never appears because we intercept it above
+   //if(dashf.getCount()) { cout << "Option f "; dashf.dumpValue(cout); }
+ 
+   //if(dashl.getCount()) {
+   //   values = dashl.getValue();
+   //   if(help) cout << "Output log file is: " << values[0] << endl;
+   //   LogFile = values[0];
+   //}
+
+   if(dashh.getCount() && help)
+      oflog << "Option h appears " << dashh.getCount() << " times\n";
+   if(dashv.getCount() && help) {
+      Verbose = true;
+      if(help) oflog << "Option v appears " << dashv.getCount() << " times\n";
+   }
+   if(dashd.getCount() && help) {
+      Debug = true;
+      if(help) oflog << "Option d appears " << dashd.getCount() << " times\n";
+   }
+
+   if(Rest.getCount() && help) {
+      oflog << "Remaining options:" << endl;
+      values = Rest.getValue();
+      for (i=0; i<values.size(); i++) oflog << values[i] << endl;
+   }
+   if(Verbose && help) {
+      oflog << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+      for(j=0; j<Args.size(); j++) oflog << Args[j] << endl;
+   }
+   if(help) return 1;
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+      cerr << "EditRinex:GetCommandLine caught an exception\n" << e;
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      cerr << "EditRinex:GetCommandLine caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& ver, bool& deb)
+{
+   if(arg[0]=='-' && arg[1]=='f') {
+      string filename(arg);
+      filename.erase(0,2);
+      ifstream infile(filename.c_str());
+      if(!infile) {
+         cerr << "Error: could not open options file "
+            << filename << endl;
+      }
+      else {
+         char c;
+         string buffer;
+         while( infile >> buffer) {
+            if(buffer[0] == '#') {         // skip to end of line
+               while(infile.get(c)) { if(c=='\n') break; }
+            }
+            else PreProcessArgs(buffer.c_str(),Args,ver,deb);
+         }
+      }
+   }
+   else if((arg[0]=='-' && arg[1]=='d') || string(arg)==string("--debug")) {
+      deb = true;
+   }
+   else if((arg[0]=='-' && arg[1]=='v') || string(arg)==string("--verbose")) {
+      ver = true;
+   }
+   else if((arg[0]=='-' && arg[1]=='l')) {
+      LogFile = string(&arg[2]);
+   }
+   else Args.push_back(arg);
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/Rinextools/Jamfile b/trunk/apps/Rinextools/Jamfile
new file mode 100644
index 0000000..5bdfd20
--- /dev/null
+++ b/trunk/apps/Rinextools/Jamfile
@@ -0,0 +1,18 @@
+#
+# $Id: //depot/sgl/gpstk/dev/apps/Rinextools/Jamfile#3 $
+#
+
+SubDir TOP apps Rinextools ;
+
+# make local library
+SEARCH_SOURCE += $(TOP)/src ;
+Library toolslib : RinexUtilities.cpp RinexEditor.cpp ;
+
+LinkLibraries RinexDump ResCor EditRinex RinSum : toolslib ;
+GPSLinkLibraries NavMerge RinexDump ResCor EditRinex RinSum : gpstk ;
+
+GPSMain NavMerge : NavMerge.cpp ;
+GPSMain RinexDump : RinexDump.cpp ;
+GPSMain RinSum : RinSum.cpp ;
+GPSMain EditRinex : EditRinex.cpp ;
+GPSMain ResCor : ResCor.cpp ;
diff --git a/trunk/apps/Rinextools/Makefile.am b/trunk/apps/Rinextools/Makefile.am
new file mode 100644
index 0000000..a1976f4
--- /dev/null
+++ b/trunk/apps/Rinextools/Makefile.am
@@ -0,0 +1,13 @@
+INCLUDES = -I../../src
+LDADD = ./libtoolslib.la ../../src/libgpstk.la
+
+noinst_LTLIBRARIES = libtoolslib.la
+libtoolslib_la_SOURCES = RinexUtilities.cpp RinexEditor.cpp
+
+noinst_PROGRAMS = NavMerge RinexDump ResCor EditRinex RinSum
+
+NavMerge_SOURCES = NavMerge.cpp
+RinexDump_SOURCES = RinexDump.cpp
+RinSum_SOURCES = RinSum.cpp
+EditRinex_SOURCES = EditRinex.cpp
+ResCor_SOURCES = ResCor.cpp
diff --git a/trunk/apps/Rinextools/Makefile.in b/trunk/apps/Rinextools/Makefile.in
new file mode 100644
index 0000000..1b3ff3a
--- /dev/null
+++ b/trunk/apps/Rinextools/Makefile.in
@@ -0,0 +1,482 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = NavMerge$(EXEEXT) RinexDump$(EXEEXT) ResCor$(EXEEXT) \
+	EditRinex$(EXEEXT) RinSum$(EXEEXT)
+subdir = apps/Rinextools
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+libtoolslib_la_LIBADD =
+am_libtoolslib_la_OBJECTS = RinexUtilities.lo RinexEditor.lo
+libtoolslib_la_OBJECTS = $(am_libtoolslib_la_OBJECTS)
+PROGRAMS = $(noinst_PROGRAMS)
+am_EditRinex_OBJECTS = EditRinex.$(OBJEXT)
+EditRinex_OBJECTS = $(am_EditRinex_OBJECTS)
+EditRinex_LDADD = $(LDADD)
+EditRinex_DEPENDENCIES = ./libtoolslib.la ../../src/libgpstk.la
+am_NavMerge_OBJECTS = NavMerge.$(OBJEXT)
+NavMerge_OBJECTS = $(am_NavMerge_OBJECTS)
+NavMerge_LDADD = $(LDADD)
+NavMerge_DEPENDENCIES = ./libtoolslib.la ../../src/libgpstk.la
+am_ResCor_OBJECTS = ResCor.$(OBJEXT)
+ResCor_OBJECTS = $(am_ResCor_OBJECTS)
+ResCor_LDADD = $(LDADD)
+ResCor_DEPENDENCIES = ./libtoolslib.la ../../src/libgpstk.la
+am_RinSum_OBJECTS = RinSum.$(OBJEXT)
+RinSum_OBJECTS = $(am_RinSum_OBJECTS)
+RinSum_LDADD = $(LDADD)
+RinSum_DEPENDENCIES = ./libtoolslib.la ../../src/libgpstk.la
+am_RinexDump_OBJECTS = RinexDump.$(OBJEXT)
+RinexDump_OBJECTS = $(am_RinexDump_OBJECTS)
+RinexDump_LDADD = $(LDADD)
+RinexDump_DEPENDENCIES = ./libtoolslib.la ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libtoolslib_la_SOURCES) $(EditRinex_SOURCES) \
+	$(NavMerge_SOURCES) $(ResCor_SOURCES) $(RinSum_SOURCES) \
+	$(RinexDump_SOURCES)
+DIST_SOURCES = $(libtoolslib_la_SOURCES) $(EditRinex_SOURCES) \
+	$(NavMerge_SOURCES) $(ResCor_SOURCES) $(RinSum_SOURCES) \
+	$(RinexDump_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ./libtoolslib.la ../../src/libgpstk.la
+noinst_LTLIBRARIES = libtoolslib.la
+libtoolslib_la_SOURCES = RinexUtilities.cpp RinexEditor.cpp
+NavMerge_SOURCES = NavMerge.cpp
+RinexDump_SOURCES = RinexDump.cpp
+RinSum_SOURCES = RinSum.cpp
+EditRinex_SOURCES = EditRinex.cpp
+ResCor_SOURCES = ResCor.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  apps/Rinextools/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  apps/Rinextools/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+libtoolslib.la: $(libtoolslib_la_OBJECTS) $(libtoolslib_la_DEPENDENCIES) 
+	$(CXXLINK)  $(libtoolslib_la_LDFLAGS) $(libtoolslib_la_OBJECTS) $(libtoolslib_la_LIBADD) $(LIBS)
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+EditRinex$(EXEEXT): $(EditRinex_OBJECTS) $(EditRinex_DEPENDENCIES) 
+	@rm -f EditRinex$(EXEEXT)
+	$(CXXLINK) $(EditRinex_LDFLAGS) $(EditRinex_OBJECTS) $(EditRinex_LDADD) $(LIBS)
+NavMerge$(EXEEXT): $(NavMerge_OBJECTS) $(NavMerge_DEPENDENCIES) 
+	@rm -f NavMerge$(EXEEXT)
+	$(CXXLINK) $(NavMerge_LDFLAGS) $(NavMerge_OBJECTS) $(NavMerge_LDADD) $(LIBS)
+ResCor$(EXEEXT): $(ResCor_OBJECTS) $(ResCor_DEPENDENCIES) 
+	@rm -f ResCor$(EXEEXT)
+	$(CXXLINK) $(ResCor_LDFLAGS) $(ResCor_OBJECTS) $(ResCor_LDADD) $(LIBS)
+RinSum$(EXEEXT): $(RinSum_OBJECTS) $(RinSum_DEPENDENCIES) 
+	@rm -f RinSum$(EXEEXT)
+	$(CXXLINK) $(RinSum_LDFLAGS) $(RinSum_OBJECTS) $(RinSum_LDADD) $(LIBS)
+RinexDump$(EXEEXT): $(RinexDump_OBJECTS) $(RinexDump_DEPENDENCIES) 
+	@rm -f RinexDump$(EXEEXT)
+	$(CXXLINK) $(RinexDump_LDFLAGS) $(RinexDump_OBJECTS) $(RinexDump_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/EditRinex.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/NavMerge.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ResCor.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RinSum.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RinexDump.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RinexEditor.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RinexUtilities.Plo at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-noinstPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstLTLIBRARIES clean-noinstPROGRAMS \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/Rinextools/NavMerge b/trunk/apps/Rinextools/NavMerge
new file mode 100755
index 0000000..28a3638
Binary files /dev/null and b/trunk/apps/Rinextools/NavMerge differ
diff --git a/trunk/apps/Rinextools/NavMerge.cpp b/trunk/apps/Rinextools/NavMerge.cpp
new file mode 100755
index 0000000..19133c5
--- /dev/null
+++ b/trunk/apps/Rinextools/NavMerge.cpp
@@ -0,0 +1,251 @@
+// NavMerge will merge any number of Rinex nav files into a unique superset,
+// and either write them out to a new Rinex file (if an output file is given),
+// or write a summary of the data to the screen. NavMerge also finds
+// and fixes full week number when it is inconsistent with epoch.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/NavMerge.cpp#3 $"
+
+/**
+ * @file NavMerge.cpp
+ * Read, summarize and optionally merge, Rinex navigation files.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavStream.hpp"
+#include "BCEphemerisStore.hpp"
+#include "DayTime.hpp"
+
+//------------------------------------------------------------------------------------
+
+using namespace std;
+
+// Returns 0 when successful.
+int main(int argc, char *argv[])
+{
+   if (argc<2)
+   {
+      cout
+         << "Usage: NavMerge [options] <Rinex nav file(s)...>\n"
+         << "  Options are:\n"
+         << "   -o<file>       Write all data to an output Rinex nav file.\n"
+         << "                    If omitted, a data summary is written to the screen.\n"
+         << "   -tb<timetag>   Output only if epoch is within 4 hours of the interval (tb,te).\n"
+         << "   -te<timetag>     If te or tb is missing, they are made equal.\n"
+         << "                    Timetags have the form year,mon,day,HH,min,sec OR GPSweek,sow\n"
+         << "  NavMerge will also correct the output data when the GPS full week number is\n"
+         << "    inconsistent with the epoch time.\n";
+      return -1;
+   }
+
+   try
+   {
+      int i;
+      string filename,outfile,YMDformat("%Y,%m,%d,%H,%M,%f"),GPSformat("%F,%g");
+      gpstk::DayTime tb,te;
+      te = tb = gpstk::DayTime::BEGINNING_OF_TIME;
+
+      i = 1;
+      while(i < argc) {
+         filename = argv[i];        // filename is used as a temp here
+         if(filename[0]=='-' && (filename[1]=='o' || filename[1]=='O')) {
+            outfile = filename.substr(2);
+            cout << "Output file name is " << outfile << endl;
+            argv[i][0] = '\0';
+         }
+         else if(filename[0]=='-' && (filename[1]=='t' || filename[1]=='T')) {
+            if(filename[2]=='b' || filename[2]=='B') {
+               filename = filename.substr(3);
+               if(gpstk::StringUtils::numWords(filename,',') == 2)
+                  tb.setToString(filename,GPSformat);
+               else if(gpstk::StringUtils::numWords(filename,',') == 6)
+                  tb.setToString(filename,YMDformat);
+               else
+                  cout << "Unable to understand timetag option: " << argv[i] << endl;
+            }
+            else if(filename[2]=='e' || filename[2]=='E') {
+               filename = filename.substr(3);
+               if(gpstk::StringUtils::numWords(filename,',') == 2)
+                  te.setToString(filename,GPSformat);
+               else if(gpstk::StringUtils::numWords(filename,',') == 6)
+                  te.setToString(filename,YMDformat);
+               else
+                  cout << "Unable to understand timetag option: " << argv[i] << endl;
+            }
+            argv[i][0] = '\0';
+         }
+         i++;
+      }
+      if(te != gpstk::DayTime::BEGINNING_OF_TIME &&
+         tb == gpstk::DayTime::BEGINNING_OF_TIME) tb = te;
+      else
+      if(tb != gpstk::DayTime::BEGINNING_OF_TIME &&
+         te == gpstk::DayTime::BEGINNING_OF_TIME) te = tb;
+      if(tb > te) { gpstk::DayTime tt=tb; tb=te; te=tt; }
+
+      gpstk::RinexNavHeader rnh,rnhout;
+      gpstk::RinexNavData rne;
+      gpstk::BCEphemerisStore EphStore;
+      gpstk::RinexNavStream RNFileOut;
+
+      if(outfile != string("")) {
+         RNFileOut.open(outfile.c_str(),ios::out);
+         RNFileOut.exceptions(fstream::failbit);
+         rnhout.version = 2.1;
+         rnhout.valid |= gpstk::RinexNavHeader::versionValid;
+         rnhout.fileType = string("NAVIGATION");
+         rnhout.fileProgram = string("NavMerge");
+         rnhout.fileAgency = string("GPSTK");
+         rnhout.valid |= gpstk::RinexNavHeader::runByValid;
+         rnhout.commentList.clear();
+         rnhout.valid |= gpstk::RinexNavHeader::commentValid;
+         rnhout.valid |= gpstk::RinexNavHeader::endValid;
+      }
+
+      int na=1,n=0,nf;
+      while(na < argc) {
+         filename = argv[na];
+         if(filename == string("")) { na++; continue; }
+
+         try {
+            gpstk::RinexNavStream RNFileIn(filename.c_str());
+            if(!RNFileIn) {
+               cout << "Could not open file " << filename << endl;
+               na++;
+               continue;
+            }
+            RNFileIn.exceptions(fstream::failbit);
+      
+            RNFileIn >> rnh;
+            if(rnh.valid & gpstk::RinexNavHeader::ionAlphaValid) {
+               for(i=0; i<4; i++) rnhout.ionAlpha[i]=rnh.ionAlpha[i];
+               rnhout.valid |= gpstk::RinexNavHeader::ionAlphaValid;
+            }
+            if(rnh.valid & gpstk::RinexNavHeader::ionBetaValid) {
+               for(i=0; i<4; i++) rnhout.ionBeta[i]=rnh.ionBeta[i];
+               rnhout.valid |= gpstk::RinexNavHeader::ionBetaValid;
+            }
+            if(rnh.valid & gpstk::RinexNavHeader::deltaUTCValid) {
+               rnhout.A0 = rnh.A0;
+               rnhout.A1 = rnh.A1;
+               rnhout.UTCRefWeek = rnh.UTCRefWeek;
+               rnhout.UTCRefTime = rnh.UTCRefTime;
+               rnhout.valid |= gpstk::RinexNavHeader::deltaUTCValid;
+            }
+            if(rnh.valid & gpstk::RinexNavHeader::leapSecondsValid) {
+               rnhout.leapSeconds = rnh.leapSeconds;
+               rnhout.valid |= gpstk::RinexNavHeader::leapSecondsValid;
+            }
+
+            nf = 0;
+            while (RNFileIn >> rne)
+            {
+               nf++;
+               n++;
+                  // check that week number (associated with HOW)
+                  // is consistent with TOC.
+                  // (NB. in Rinex nav file, the week number is
+                  // associated with the TOE; gpstk::RinexNavData
+                  // converts it to associate with the HOW)
+               int wkTOC,wk;
+               wk = rne.weeknum;                // 'weeknum' associated with HOW
+               wkTOC = rne.time.GPSfullweek();  // 'time' comes from epoch line
+               if(ABS(wk-wkTOC) > 1) {          // HOW and TOC should be w/in 1 week
+                  double dt = double(wk-wkTOC)/1024.0;
+                  dt += (dt < 0.0 ? -0.5 : 0.5);
+                  wk -= int(dt) * 1024;
+                  if(ABS(wk-wkTOC) > 1) {
+                     cout << "WARNING: Ephemeris in " << filename
+                        << " for satellite G"
+                        << setw(2) << setfill('0') << rne.PRNID << setfill(' ')
+                        << " at time " << rne.time
+                        << " has inconsistent week number " << rne.weeknum << endl;
+                  }
+                  else {
+                     cout << "NavMerge corrected the week in G"
+                        << setw(2) << setfill('0') << rne.PRNID << setfill(' ')
+                        << " " << rne.time
+                        << " " << filename << endl;
+                     rne.weeknum = wk;
+                  }
+               }
+                  // if healthy, add to the store
+               if(rne.health == 0) EphStore.addEphemeris(rne);
+            }
+         }
+         catch(gpstk::Exception& e) {
+            cout << "Exception: " << e << endl;
+         }
+         na++;
+         cout << "Read " << setw(4) << nf << " ephemerides from file "
+            << filename << endl;
+      }
+      cout << "Read " << setw(4) << n << " total ephemerides." << endl;
+
+         // pull out all the ephemerides
+      list<gpstk::EngEphemeris> EphList;
+      i = EphStore.addToList(EphList);
+
+      if(outfile != string("")) {
+            // write the output header
+         RNFileOut << rnhout;
+
+            // write out all the ephemerides
+         list<gpstk::EngEphemeris>::iterator it=EphList.begin();
+         n=0;
+         while(it != EphList.end()) {
+            rne = gpstk::RinexNavData(*it);
+            if(tb == gpstk::DayTime::BEGINNING_OF_TIME ||
+               (rne.time - tb > -14400.0 && rne.time - te < 14400.0))
+            {
+               n++;
+               RNFileOut << rne;
+            }
+            it++;
+         }
+         cout << "Wrote " << setw(3) << n << " unique ephemerides to file "
+            << outfile << endl;
+      }
+      else {
+         EphStore.dump(1);
+      }
+
+      return 0;
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e;
+      return 1;
+   }
+   catch (...)
+   {
+      cout << "unknown error.  Done." << endl;
+      return 1;
+   }
+
+   return 0;
+}
diff --git a/trunk/apps/Rinextools/README b/trunk/apps/Rinextools/README
new file mode 100644
index 0000000..c6e415a
--- /dev/null
+++ b/trunk/apps/Rinextools/README
@@ -0,0 +1,45 @@
+Rinex tools (/apps/Rinextools)
+
+   This directory contains 4 standalone programs which are useful in
+manipulating Rinex observation files. They are:
+   RinexDump   dumps Rinex observation data in columns in a flat file, useful
+               for plotting
+   RinSum      summarizes a Rinex observation file
+   EditRinex   reads and edits a Rinex observation file, writing out the a
+               new, edited one.
+   ResCor      reads a Rinex file(s) and computes any of several residuals and
+               corrections from the data, and then writes them to an output
+               Rinex observation file.
+   NavMerge    reads any number of Rinex navigation files and either prints a
+               summary on the screen, or, if an output file is specified,
+               writes a unique superset of all the ephemeris data to that file.
+               It will also correct the week number in the ephemeris if it is
+               inconsistent with the time on the epoch line.
+
+   In addition there is the RinexEditor module, which implements a class that
+may be called within other programs to edit the Rinex data. The EditRinex program is really just a shell that calls the RinexEditor, while ResCor is a more complicated program that also calls the RinexEditor but also modifies the data (i.e. computes the residuals and corrections) before writing it out.
+
+   All of these programs are run from the command line, and input and outputs are all flat files. To see the command line syntax, run the program with either no arguments, or with arguments but including --help.
+
+   Examples are not included here; however, examples are available elsewhere. RinSum is very easy to run; try typing
+
+   RinSum -i<file>
+
+at the command line for any Rinex observation file <file>. Note, also, that the
+discontinuity corrector uses EditRinex to apply its corrections, and that an
+example of this is found in /apps/cycleslips/examples. Finally, the RinexPlot utility (/apps/RinexPlot) makes extensive use of the other utility programs
+here; it is actually a Perl script and runs these programs from the command 
+line.
+
+Brian Tolman
+btolman at arlut.utexas.edu
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/Rinextools/ResCor b/trunk/apps/Rinextools/ResCor
new file mode 100755
index 0000000..3d52e2c
Binary files /dev/null and b/trunk/apps/Rinextools/ResCor differ
diff --git a/trunk/apps/Rinextools/ResCor.cpp b/trunk/apps/Rinextools/ResCor.cpp
new file mode 100644
index 0000000..d09d9c5
--- /dev/null
+++ b/trunk/apps/Rinextools/ResCor.cpp
@@ -0,0 +1,2063 @@
+//------------------------------------------------------------------------------------
+// ResCor.cpp  'Residuals and Corrections'
+//    Open and read a single Rinex observation file, apply editing commands
+//    using the RinexEditor package, compute any of several residuals and corrections
+//    and register extended Rinex observation types for them, and then write
+//    the edited data, along with the new extended observation types,
+//    to an output Rinex observation file. Input is all on the command line.
+//
+//    ResCor is implemented by deriving a special class from class RinexEditor and
+//    using its virtual functions to implement all the changes necessary to define
+//    and compute the residuals and corrections.
+//
+//    ResCor is part of the GPS Tool Kit (GPSTK) developed in the
+//    Satellite Geophysics Group at Applied Research Laboratories,
+//    The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/ResCor.cpp#6 $"
+
+/**
+ * @file ResCor.cpp
+ * Compute residuals and corrections to Rinex observation data.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+// ToDo
+// catch exceptions -- elsewhere and on reading header and obs
+// allow user to specify trop model, both for RAIM and for TR output
+//
+//------------------------------------------------------------------------------------
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "SP3Stream.hpp"
+#include "SP3EphemerisStore.hpp"
+#include "BCEphemerisStore.hpp"
+#include "EphemerisRange.hpp"
+#include "TropModel.hpp"
+#include "RAIMSolution.hpp"
+#include "WGS84Geoid.hpp"           // for obliquity
+#include "Stats.hpp"
+#include "geometry.hpp"             // DEG_TO_RAD
+#include "icd_200_constants.hpp"    // PI,C_GPS_M,OSC_FREQ,L1_MULT,L2_MULT
+
+#include "RinexEditor.hpp"
+#include "RinexUtilities.hpp"
+#include "Position.hpp"
+
+#include <time.h>
+#include <string>
+#include <vector>
+#include <map>
+#include <algorithm>
+#include <iostream>
+#include <fstream>
+#include <sstream>
+
+//------------------------------------------------------------------------------------
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+//------------------------------------------------------------------------------------
+   // prgm data
+string PrgmName("ResCor");
+string PrgmVers("3.5 8/16/04");
+
+// data used in program
+const double CFF=C_GPS_M/OSC_FREQ;
+const double F1=L1_MULT;   // 154.0;
+const double F2=L2_MULT;   // 120.0;
+const double f12=F1*F1;
+const double f22=F2*F2;
+const double wl1=CFF/F1;
+const double wl2=CFF/F2;
+const double wl1r=F1/(F1+F2);
+const double wl2r=F2/(F1+F2);
+const double wl1p=wl1*F1/(F1-F2);
+const double wl2p=-wl2*F2/(F1-F2);
+const double if1r=f12/(f12-f22);
+const double if2r=-f22/(f12-f22);
+const double if1p=wl1*f12/(f12-f22);
+const double if2p=-wl2*f22/(f12-f22);
+const double gf1r=-1;
+const double gf2r=1;
+const double gf1p=wl1;
+const double gf2p=-wl2;
+const double alpha=f12/f22 - 1.0;
+const double FL1=F1*10.23e6;                          // Hz
+const double TECUperM=FL1*FL1*1.e-16/40.28;
+
+clock_t totaltime;
+string Title;
+   // input flags and data
+bool Debug,Verbose,Callow,Cforce;
+double IonoHt;
+RinexPrn SVonly;
+string ErrFile,LogFile;
+ofstream logof,oferr;         // don't call it oflog - RinexEditor has that
+   // Rinex headers, input and output, saved
+RinexObsHeader rhead, rheadout;
+   // ephemeris
+string NavDir;
+vector<string> NavFiles;
+SP3EphemerisStore SP3EphList;
+BCEphemerisStore BCEphList;
+SimpleTropModel ggtm;
+   // for use with current position and in RefPosMap (RAIM and/or RefPosFile)
+typedef struct ReferencePositionFileData {
+   Position RxPos;              // XYZT
+   int NPRN;
+   double clk,PDOP,GDOP,RMS;
+} RefPosData;
+RefPosData CurrRef;        // current reference position
+   // reference and RAIM solution
+string RefPosFile,KnownPos;
+bool doRAIM,editRAIM,outRef,headRAIM,HaveRAIM;
+bool RefPosInput,KnownPosInput,KnownLLH,RefPosFlat;
+vector<RinexPrn> Sats;
+vector<double> PRange;
+RAIMSolution RAIMSol;
+Stats<double> ARSX,ARSY,ARSZ;      // average solution, for header output
+   // computation
+int inC1,inP1,inP2,inL1,inL2;      // indexes in rhead of C1, C1/P1, P2, L1 and L2
+int inEP,inPS;                     // flags for input of ephemeris, Rx position
+int inD1,inD2,inS1,inS2;
+DayTime CurrentTime(DayTime::BEGINNING_OF_TIME), PrgmEpoch;
+// these 3 vectors parallel
+vector<string> OTlist;             // list of OT to be computed
+vector<RinexObsHeader::RinexObsType> OTList;
+vector<int> OTindex;
+int otC1,otP1,otP2,otL1,otL2;      // indexes in rheadout of C1, C1/P1, P2, L1 and L2
+int otD1,otD2,otS1,otS2;
+bool DoSVX;
+WGS84Geoid WGS84;
+// compute non-dispersive range, ionospheric delay, multipath (L1 and L2)
+bool DoXR;
+double XRM0[4],XRM1[4],XRM2[4],XRM3[4];
+double *XRM[4]={XRM0,XRM1,XRM2,XRM3};
+double XRdat[4],XRsol[4];
+   // structure for holding raw range and phase data during computation
+typedef struct range_and_phase_data {
+   double L1,L2,P1,P2;
+   int LL1,LL2;
+} RCData;
+   // map of <sat,RCData>
+RCData DataStore;
+map<RinexPrn,RCData> DataStoreMap;
+   // debiasing output data
+map<RinexObsHeader::RinexObsType,map<RinexPrn,double> > AllBiases; // (OT,SV)
+   // reference position as function of time (from input)
+map<DayTime,RefPosData> RefPosMap;
+
+string Rxhelp=
+"\n --RxFlat <fn> : fn is a file with reference receiver positions and times:\n"
+"  The first line in the file (other than comments, marked by # in column 1)\n"
+"  is the format for each line of the file, using the specifications in\n"
+"  DayTime::setToString() and Position::setToString().\n"
+"  The second line is a pattern made up of characters T, P and X indicating the\n"
+"  content of both the lines in the file and the format: (white-space-delimited)\n"
+"  words on each line are either part of the time(T) or position(P) specification,\n"
+"  or are to be ignored(X). For example, the file begins with these six lines:\n"
+"  # format:\n"
+"  t= %F %g p= %x %y %z\n"
+"  # pattern:\n"
+"  XTTXPPP\n"
+"  # data:\n"
+"  t= 1281 259200    p=   -2701232.4        6123085.7        1419837.5";
+
+//------------------------------------------------------------------------------------
+// inherit RinexEditor so that callback routines can be defined by Prgm ResCor
+class RCRinexEditor : public RinexEditor
+{
+   public:
+         /// Constructor.
+      RCRinexEditor() throw() {};
+
+         /// destructor
+      virtual ~RCRinexEditor() {}
+   
+         /// after reading input header and before calling
+         /// RinexEditor::EditHeader (pass input header)
+      virtual int BeforeEditHeader(const RinexObsHeader& rhin);
+
+         /// after calling RinexEditor::EditHeader (pass output header)
+      virtual int AfterEditHeader(const RinexObsHeader& rhout);
+
+         /// after reading input obs and before calling
+         /// RinexEditor::EditObs (pass input obs)
+      virtual int BeforeEditObs(const RinexObsData& roin);
+
+         /// before writing out header (pass output header)
+      virtual int BeforeWritingHeader(RinexObsHeader& rhout);
+
+         /// before writing out filled header
+      virtual int BeforeWritingFilledHeader(RinexObsHeader& rhout);
+
+         /// just before writing output obs (pass output obs)
+      virtual int BeforeWritingObs(RinexObsData& roout);
+
+}; // end class RCRinexEditor
+
+// RinexEditor data input from command line
+RCRinexEditor REC;
+
+//------------------------------------------------------------------------------------
+// prototypes
+int GetCommandLine(int argc, char **argv);
+int PrepareInput(void);
+int LoopOverObs(void);
+void SaveData(const RinexObsData& rod, const RinexObsHeader& rh,
+   int xL1, int xL2, int xP1, int xP2);
+int UpdateRxPosition(void);
+void ComputeNewOTs(RinexObsData& rod);
+void CloseOutputFile(void);
+void PreProcessArgs(const char *arg, vector<string>& Args);
+int setBiasLimit(RinexObsHeader::RinexObsType& ot, double lim);
+double removeBias(const RinexObsHeader::RinexObsType& ot, const RinexPrn& prn,
+   bool& reset, DayTime& tt, double delta);
+
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+   totaltime = clock();
+   int iret;
+
+      // Title and description
+   Title = PrgmName + ", part of the GPSTK ToolKit, Ver " + PrgmVers + ", Run ";
+   time_t timer;
+   struct tm *tblock;
+   timer = time(NULL);
+   tblock = localtime(&timer);
+   PrgmEpoch.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+               tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+   Title += PrgmEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S");
+   Title += "\n";
+   cout << Title;
+
+      // define extended types
+   iret = RegisterARLUTExtendedTypes();
+   if(iret) goto quit;
+
+   // Set defaults, define command line and parse it.
+   // Send REdit cmds to REC. Check validity of input.
+   iret = GetCommandLine(argc, argv);
+   if(iret) goto quit;
+
+   // Initialize, read ephemerides, set flags and prepare for processing
+   iret = PrepareInput();
+   if(iret) goto quit;
+
+   // Edit the file, including callbacks
+   iret = REC.EditFile();
+   if(Debug) logof << "EditFile returned " << iret << endl;
+   if(iret) goto quit;
+
+   quit:
+   // compute run time
+   totaltime = clock()-totaltime;
+   logof << "ResCor timing: " << setprecision(3)
+      << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+
+   logof.close();
+   cout << "End ResCor" << endl;
+   return iret;
+}
+catch(gpstk::FFStreamError& e) {
+   cerr << e;
+}
+catch(gpstk::Exception& e) {
+   cerr << e;
+}
+catch (...) {
+   cerr << "Unknown error.  Abort." << endl;
+}
+   return 1;
+}   // end main()
+
+//------------------------------------------------------------------------------------
+// Set defaults, define command line and parse it. Send REdit cmds to REC.
+// Check validity of input
+int GetCommandLine(int argc, char **argv)
+{
+   bool help=false;
+   int i,j,iret;
+try {
+      // defaults
+   Debug = Verbose = false;
+
+   doRAIM = false;
+   KnownPosInput = RefPosInput = false;
+   outRef = true;
+   editRAIM = true;
+   headRAIM = false;
+   
+   IonoHt = 400.0;      // km
+
+   Callow = true;
+   Cforce = false;
+
+   ErrFile = string("rc.err");
+   LogFile = string("rc.log");
+
+      // -------------------------------------------------
+      // required options
+
+      // optional options
+
+      // this only so it will show up in help page...
+   CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+      'f',"","\nConfiguration input:\n -f<file>        File containing more options");
+
+   // ephemeris
+   CommandOption dashn(CommandOption::hasArgument, CommandOption::stdType,
+      0,"nav"," --nav <file>    Navigation (Rinex Nav OR SP3) file(s)");
+
+   CommandOption dashnd(CommandOption::hasArgument, CommandOption::stdType,
+      0,"navdir"," --navdir <dir>  Directory of navigation file(s)");
+   dashnd.setMaxCount(1);
+
+   // reference position(s)
+   CommandOption dashRx1(CommandOption::hasArgument,CommandOption::stdType,0,"RxLLH",
+      "Reference position input: (there are six ways to input the reference "
+      "position(s):\n --RxLLH <l,l,h> 1.Receiver position (static) in geodetic "
+      "lat, lon(E), ht (deg,deg,m)");
+   dashRx1.setMaxCount(1);
+
+   CommandOption dashRx2(CommandOption::hasArgument, CommandOption::stdType,0,"RxXYZ",
+      " --RxXYZ <x,y,z> 2.Receiver position (static) in ECEF coordinates (m)");
+   dashRx2.setMaxCount(1);
+
+   CommandOptionNoArg dashRx3(0,"Rxhere",
+      " --Rxhere        3.Reference site positions(time) from this file"
+      " (i.e. -IF<RinexFile>)");
+   dashRx3.setMaxCount(1);
+
+   CommandOption dashRx4(CommandOption::hasArgument, CommandOption::stdType,0,
+      "RxRinex"," --RxRinex <fn>  4.Reference site positions(time) from another "
+      "Rinex file named <fn>");
+   dashRx4.setMaxCount(1);
+
+   CommandOption dashRx5(CommandOption::hasArgument,CommandOption::stdType,0,"RxFlat",
+      " --RxFlat <fn>   5.Reference site positions and times given in a flat file"
+      " named <fn>");
+   dashRx5.setMaxCount(1);
+
+   CommandOptionNoArg dashRxhelp(0,"Rxhelp"," --Rxhelp        "
+      "(Enter --Rxhelp for a description of the -RxFlat file format)");
+   dashRxhelp.setMaxCount(1);
+
+   CommandOptionNoArg dashRx6(0,"RAIM",
+      " --RAIM          6.Reference site positions computed via RAIM"
+      " (requires P1,P2,EP)");
+   dashRx6.setMaxCount(1);
+
+   CommandOptionNoArg dashred(0,"noRAIMedit",
+      "  (NB the following two options apply only if --RAIM is found)\n"
+      " --noRAIMedit    Do not edit data based on RAIM solution");
+   dashred.setMaxCount(1);
+
+   CommandOptionNoArg dashrh(0,"RAIMhead",
+      " --RAIMhead      Output average RAIM solution to Rinex header "
+      "(if -HDf also appears)");
+   dashrh.setMaxCount(1);
+
+   CommandOptionNoArg dashro(0,"noRefout",
+      " --noRefout      Do not output reference solution to Rinex");
+   dashro.setMaxCount(1);
+
+   // residual and correction computation, processing options
+   CommandOption dashdb(CommandOption::hasArgument, CommandOption::stdType,0,"debias",
+      "Residual/Correction computation:\n"
+      " --debias <OT,l> Debias new output type <OT>; "
+      "trigger a bias reset with limit <l>");
+
+   CommandOptionNoArg dashca(0,"Callow",
+      " --Callow        Allow C1 to replace P1 when P1 is not available");
+   dashca.setMaxCount(1);
+
+   CommandOptionNoArg dashcf(0,"Cforce",
+      " --Cforce        Force C/A code pseudorange C1 to replace P1");
+   dashcf.setMaxCount(1);
+
+   CommandOption dashih(CommandOption::hasArgument, CommandOption::stdType,0,"IonoHt",
+      " --IonoHt <ht>   Height of ionosphere in km (default 400) "
+      "(needed for LA,LO,VR,VP)");
+   dashih.setMaxCount(1);
+
+   CommandOption dashSV(CommandOption::hasArgument, CommandOption::stdType,
+      0,"SVonly"," --SVonly <prn>  Process this satellite ONLY");
+   dashSV.setMaxCount(1);
+
+   // output files
+   CommandOption dashLog(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Log","Output files:\n --Log <file>    Output log file name (rc.log)");
+   dashLog.setMaxCount(1);
+
+   CommandOption dashErr(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Err"," --Err <file>    Output error file name (rc.err)");
+   dashErr.setMaxCount(1);
+
+   // help
+   CommandOptionNoArg dashVerb(0,"verbose",
+      "Help:\n --verbose       Print extended output");
+   dashVerb.setMaxCount(1);
+
+   CommandOptionNoArg dashDebug(0,"debug",
+      " --debug         Print debugging information.");
+   dashDebug.setMaxCount(1);
+
+   CommandOptionNoArg dashh('h', "help"," --help [or -h]  Print syntax and quit.");
+
+   // ... other options
+   CommandOptionRest Rest("");
+
+   CommandOptionParser Par(
+   "Prgm ResCor will open and read a single Rinex observation file, "
+   "apply editing commands\n"
+   "   using the RinexEditor package, compute any of several residuals "
+   "and corrections and\n"
+   "   register extended Rinex observation types for them, and then write "
+   "the edited data,\n"
+   "   along with the new extended observation types, to an output Rinex "
+   "observation file.\n"
+   "\nRequired arguments:\n"
+   " -IF and -OF (RinexEditor commands, see below) are required arguments.\n");
+
+      // -------------------------------------------------
+      // allow user to put all options in a file
+      // could also scan for debug here
+   vector<string> Args;
+   for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args);
+   argc = Args.size();
+   if(argc==0) Args.push_back(string("--help"));
+
+   //if(Debug) {
+      //cout << "List after PreProcessArgs\n";
+      //for(i=0; i<argc; i++) cout << i << " " << Args[i] << endl;
+   //}
+
+      // add PRGM and RUNBY strings to the header
+   REC.REVerbose = Verbose;
+   REC.REDebug = Debug;
+   Args.push_back(string("-HDp") + PrgmName + string(" v.") + PrgmVers.substr(0,4));
+   Args.push_back(string("-HDrARL:UT/SGL/GPSTK"));
+
+   if(Debug) {
+      cout << "List passed to REditCommandLine:\n";
+      for(i=0; i<argc; i++) cout << i << " " << Args[i] << endl;
+   }
+
+      // Add RE cmds; this will strip out the REditCmds from Args
+   REC.AddCommandLine(Args);
+   if(Debug) {
+      cout << "List after REC.AddCommandLine(Args)\n";
+      argc = Args.size();
+      for(i=0; i<argc; i++) cout << i << " " << Args[i] << endl;
+
+      //deque<REditCmd>::iterator it=REC.Cmds.begin();
+      //cout << "\nHere is the list of RE cmds\n";
+      //while(it != REC.Cmds.end()) { it->Dump(cout,string("")); ++it; }
+      //cout << "End of list of RE cmds" << endl;
+   }
+
+      // preprocess the commands
+      // Return 0 ok, -1 no input file name, -2 no output file name
+   iret = REC.ParseCommands();
+   //if(Debug) {
+      //cout << "\nHere is the parsed list of RE cmds\n";
+      //it=REC.Cmds.begin();
+      //while(it != REC.Cmds.end()) { it->Dump(cout,string("")); ++it; }
+      //cout << "End of sorted list of RE cmds" << endl << endl;
+
+      // pass the rest to the regular command line processor
+   //}
+
+      // -------------------------------------------------------------------
+   argc = Args.size()+1;
+   char **CArgs=new char*[argc];
+   if(!CArgs) { cerr << "Failed to allocate CArgs\n"; return -1; }
+   CArgs[0] = argv[0];
+   for(j=1; j<argc; j++) {
+      CArgs[j] = new char[Args[j-1].size()+1];
+      if(!CArgs[j]) { cerr << "Failed to allocate CArgs[j]\n"; return -1; }
+      strcpy(CArgs[j],Args[j-1].c_str());
+   }
+
+   //if(Debug) {
+      //cout << "List passed to parser\n";
+      //for(i=0; i<argc; i++) cout << i << " " << CArgs[i] << endl;
+   //}
+
+   Par.parseOptions(argc, CArgs);
+   delete[] CArgs;
+
+      // -------------------------------------------------
+      // was help requested?
+   if(dashh.getCount() > 0) help=true;
+   if(dashRxhelp.getCount() > 0) help=true;
+      // if errors on the command line, dump them and turn on help
+   if(!help && (iret<0 || Par.hasErrors())) {
+      cout << "Errors found in command line input:\n";
+      if(iret==-1 || iret==-3) cout << "Input file name required: use -IF<name>\n";
+      if(iret==-2 || iret==-3) cout << "Output file name required: use -OF<name>\n";
+      Par.dumpErrors(cout);
+      cout << "...end of Errors\n\n";
+      help = true;
+   }
+      // display syntax page
+   if(help) {
+      Par.displayUsage(cout,false);
+      if(dashRxhelp.getCount()) cout << Rxhelp;
+      cout << endl;
+      DisplayRinexEditUsage(cout);
+      DisplayExtendedRinexObsTypes(cout);
+      cout << "End of list of extended observation types\n";
+      if(iret < 0) return iret;
+   }
+
+      // -------------------------------------------------
+      // get values found on command line
+   vector<string> values;
+   //dashf intercepted above
+   //dashh Handled above (first)
+   //if(dashDebug.getCount()) Debug=true; done by PreProcessArgs
+   //if(dashVerb.getCount()) Verbose=true; done by PreProcessArgs
+
+      // now do the rest
+   // ephemeris input
+   if(dashnd.getCount()) {
+      values = dashnd.getValue();
+      NavDir = values[0];
+      if(help) cout << "Nav Directory is " << NavDir  << endl;
+   }
+   if(dashn.getCount()) {
+      values = dashn.getValue();
+      NavFiles = values;
+      if(help) {
+         cout << "Nav files are:";
+         for(i=0; i<NavFiles.size(); i++) cout << " " << NavFiles[i];
+         cout << endl;
+      }
+   }
+
+   // reference position
+   if(dashRx1.getCount()) {
+      values = dashRx1.getValue();
+      KnownPos = values[0];
+      KnownLLH = true;
+      KnownPosInput = true;
+      if(help) cout << "Get reference position from explicit input (LLH) "
+         << KnownPos << endl;
+   }
+   if(dashRx2.getCount()) {
+      values = dashRx2.getValue();
+      KnownPos = values[0];
+      KnownLLH = false;
+      KnownPosInput = true;
+      if(help) cout << "Get reference position from explicit input (XYZ) "
+         << KnownPos << endl;
+   }
+   if(dashRx3.getCount()) {       // get ref from this input file
+      RefPosInput = true;
+      if(help) cout << "Get reference position from this input file" << endl;
+   }
+   if(dashRx4.getCount()) {
+      values = dashRx4.getValue();
+      RefPosFile = values[0];
+      RefPosFlat = false;
+      if(help) cout << "Get reference position from Rinex file " << RefPosFile<<endl;
+   }
+   if(dashRx5.getCount()) {
+      values = dashRx5.getValue();
+      RefPosFile = values[0];
+      RefPosFlat = true;
+      if(help) cout << "Get reference position from flat file " << RefPosFile << endl;
+   }
+   if(dashRx6.getCount()) {
+      doRAIM = true;
+      if(help) cout << "Compute a RAIM solution" << endl;
+   }
+
+   // RAIM options
+   if(dashred.getCount()) {
+      if(doRAIM) {
+         editRAIM = false;
+         if(help) cout << "Do not edit data based on RAIM solution" << endl;
+      }
+      else if(help) cout << "Ignore --noRAIMedit: --RAIM was not set" << endl;
+   }
+   if(dashro.getCount()) {
+      outRef = false;
+      if(help) cout << "Do not output Reference solution to Rinex" << endl;
+   }
+   if(dashrh.getCount()) {
+      if(doRAIM) {
+         headRAIM = true;
+         if(help) cout << "Output average RAIM solution to header" << endl;
+      }
+      else if(help) cout << "Ignore --RAIMhead: --RAIM was not set" << endl;
+   }
+
+   if(dashdb.getCount()) {
+      values = dashdb.getValue();
+      vector<string> subfield;
+      string::size_type pos;
+      for(i=0; i<values.size(); i++ ) {
+         string argbias=values[i];
+         subfield.clear();
+         while(argbias.size() > 0) {
+            pos = argbias.find(",");
+            if(pos==string::npos) pos=argbias.size();
+            if(pos==0) subfield.push_back(" ");
+            else subfield.push_back(argbias.substr(0,pos));
+            if(pos >= argbias.size()) break;
+            argbias.erase(0,pos+1);
+         }
+         RinexObsHeader::RinexObsType OT;
+         OT = RinexObsHeader::convertObsType(subfield[0]);
+         double limit=StringUtils::asDouble(subfield[1]);
+         int iret=setBiasLimit(OT,limit);
+         if(iret) {
+            cout << "Error: '--debias <OT,lim>' input is invalid: "
+               << values[i] << endl;
+            cerr << "Error: '--debias <OT,lim>' input is invalid: "
+               << values[i] << endl;
+         }
+         else if(Debug)
+            cout << "Set bias limit for " << RinexObsHeader::convertObsType(OT)
+            << " to " << fixed << setprecision(3) << limit
+            << " (" << values[i] << ")" << endl;
+      }
+   }
+   if(dashca.getCount()) {
+      Callow = true;
+      if(help) cout << "Allow C1 to be P1 when P1 not available\n";
+   }
+   if(dashcf.getCount()) {
+      Cforce = true;
+      if(help) cout << "Force C1 to replace P1 when C1 available\n";
+   }
+   if(dashih.getCount()) {
+      values = dashih.getValue();
+      IonoHt = StringUtils::asDouble(values[0]);
+      if(help) cout << "Set ionosphere height to " << values[0] << " km" << endl;
+   }
+   if(dashSV.getCount()) {
+      values = dashSV.getValue();
+      RinexPrn p=StringUtils::asData<RinexPrn>(values[0]);
+      SVonly = p;
+      if(help) cout << "Process only satellite : " << p << endl;
+   }
+   if(dashLog.getCount()) {
+      values = dashLog.getValue();
+      LogFile = values[0];
+      if(help) cout << "Log file is " << LogFile << endl;
+   }
+   if(dashErr.getCount()) {
+      values = dashErr.getValue();
+      ErrFile = values[0];
+      if(help) cout << "Err file is " << ErrFile << endl;
+   }
+
+   if(Rest.getCount() && help) {
+      cout << "Remaining options:" << endl;
+      values = Rest.getValue();
+      for (i=0; i<values.size(); i++) cout << values[i] << endl;
+   }
+
+   //if(Verbose && help) {
+   //   cout << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+   //   for(j=0; j<Args.size(); j++) cout << Args[j] << endl;
+   //}
+
+      // -------------------------------------------------
+      // now process some of the input
+   try {
+      logof.clear();
+      logof.exceptions(ios_base::badbit | ios_base::failbit);
+      logof.open(LogFile.c_str(),ios::out);
+      if(logof.fail()) {
+         cout << "Failed to open log file " << LogFile << endl;
+         return -1;
+      }
+      else {
+         cout << "Opened log file " << LogFile << endl;
+         logof << Title;
+      }
+      REC.oflog = &logof;
+   }
+   catch(ios_base::failure& e) {
+      cout << "Exception " << e.what() << endl;
+      return -1;
+   }
+
+   // check for multiple inputs
+   if(KnownPosInput || !RefPosFile.empty() || doRAIM || RefPosInput) {
+      i = 0;
+      if(KnownPosInput) i++;
+      if(!RefPosFile.empty()) i++;
+      if(doRAIM) i++;
+      if(RefPosInput) i++;
+      if(i > 1) {
+         ostringstream stst;
+         stst << "ERROR: multiple inputs inconsistent:";
+         if(KnownPosInput) stst << (KnownLLH ? " --RxLLH" : " --RxXYZ");
+         if(!RefPosFile.empty()) stst << (RefPosFlat ? " --RxFlat" : " --RxRinex");
+         if(doRAIM) stst << " --RAIM";
+         if(RefPosInput) stst << " --RxHere";
+         stst << endl;
+         logof << stst.str();
+         cerr << stst.str();
+         return -1;           // fail? or take default
+      }
+      else if(help) logof << "Position input ok\n";
+   }
+      // print config to log
+   if(Verbose) {
+      logof << "-------- Here is the program configuration:\n";
+      logof << "Input Rinex observation file name is: "
+         << REC.InputFileName() << endl;
+      logof << "Input Directory is " << REC.InputDirectory() << endl;
+      logof << "Output Rinex obs file name is: " << REC.OutputFileName() << endl;
+      logof << "Output Directory is " << REC.OutputDirectory() << endl;
+      if(REC.BeginTimeLimit() > DayTime::BEGINNING_OF_TIME)
+         logof << "Begin time limit is " << REC.BeginTimeLimit() << endl;
+      if(REC.EndTimeLimit() < DayTime::END_OF_TIME)
+         logof << "End time limit is " << REC.EndTimeLimit() << endl;
+      if(REC.Decimation() != 0) logof << "Decmimation time interval is "
+         << setprecision(2) << REC.Decimation() << " seconds." << endl;
+      logof << "Tolerance in time-comparisions is " << setprecision(8)
+         << REC.Tolerance() << " seconds." << endl;
+      logof << "Log file name is " << LogFile << " (this file)" << endl;
+      logof << "Err file name is " << ErrFile << endl;
+      if(SVonly.prn > 0) logof << "Process only satellite : " << SVonly << endl;
+
+      if(!NavDir.empty()) logof << "Nav Directory is " << NavDir  << endl;
+      if(NavFiles.size()) {
+         logof << "Nav files:";
+         for(i=0; i<NavFiles.size(); i++) logof << " " << NavFiles[i];
+         logof << endl;
+      }
+      if(KnownPosInput) logof << "Get reference position from explicit input ("
+         << (KnownLLH ? "LLH" : "XYZ") << ") : " << KnownPos << endl;
+      if(doRAIM) logof << "Compute a RAIM solution" << endl;
+      if(RefPosInput) logof << "Get reference position from in-line headers in "
+         << "the input Rinex file" << endl;
+      if(!RefPosFile.empty())
+         logof << "Get reference position from a " << (RefPosFlat ? "flat" : "Rinex")
+            << " file: " << RefPosFile << endl;
+      if(!editRAIM) logof << "Do not ";
+      logof << "Edit data based on RAIM solution" << endl;
+      if(!outRef) logof << "Do not ";
+      logof << "Output Reference solution to Rinex" << endl;
+      if(!headRAIM) logof << "Do not ";
+      logof << "Output average RAIM solution to header" << endl;
+      if(Callow) logof << "Allow C1 to be P1 when P1 not available\n";
+      if(Cforce) logof << "Force C1 to replace P1 when C1 available\n";
+      logof << "Ionosphere height is " << IonoHt << " km" << endl;
+      if(AllBiases.size()) {
+         logof << "The list of de-biasing limits is:\n";
+         map<RinexObsHeader::RinexObsType,map<RinexPrn,double> >::iterator it;
+         for(it=AllBiases.begin(); it!=AllBiases.end(); it++) {
+            map<RinexPrn,double>::iterator jt;
+            for(jt=it->second.begin(); jt!=it->second.end(); jt++) {
+               logof << "  Bias limit(" << RinexObsHeader::convertObsType(it->first)
+                  << ") = " << fixed << setprecision(3) << jt->second << endl;
+            }
+         }
+      }
+      logof << "-------- End of the program configuration.\n";
+      logof << endl;
+   }
+
+   if(help) return 1;
+   return 0;
+}
+catch(gpstk::Exception& e) {
+      cerr << "ResCor:GetCommandLine caught an exception " << e << endl;
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      cerr << "ResCor:GetCommandLine caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+// Initialize, read ephemerides, set flags and prepare for processing
+int PrepareInput(void)
+{
+try {
+   int iret,i;
+
+      // set all input/output indexes to 'undefined'
+   inC1 = inP1 = inP2 = inL1 = inL2 = inEP = inPS = inD1 = inD2 = inS1 = inS2 = -1;
+   otC1 = otP1 = otP2 = otL1 = otL2 = otD1 = otD2 = otS1 = otS2 = -1;
+
+      // --------------------------------------------------------------------
+      // ephemeris
+      // add Nav directory to nav file names
+   if(!NavDir.empty() && NavFiles.size()>0) {
+      for(i=0; i<NavFiles.size(); i++)
+         NavFiles[i] = NavDir + string("/") + NavFiles[i];
+   }
+
+      // open nav files and read EphemerisStore -- set inEP and inPS
+   iret = FillEphemerisStore(NavFiles, SP3EphList, BCEphList);
+   if(SP3EphList.size()) {
+      if(Verbose) SP3EphList.dump(1,logof);
+      inEP = 1;
+   }
+   else if(Verbose) logof << "SP3 Ephemeris list is empty\n";
+
+   if(BCEphList.size()) {
+      BCEphList.SearchNear();
+      if(Verbose) BCEphList.dump(0,logof);
+      inEP = 1;
+   }
+   else if(Verbose) logof << "BC Ephemeris list is empty\n";
+
+      // --------------------------------------------------------------------
+      // position:
+      //    if KnownPosInput, position is input
+      //    if !RefPosFile.empty(), open file
+      //    if RefPosInput, use the aux headers in input file
+      //    if(doRAIM) set up RAIMsolution - including input of RMS, etc?
+   if(KnownPosInput) {            // parse the string to get position
+      vector<string> subfield;
+      string::size_type pos;
+      while(KnownPos.size() > 0) {
+         pos = KnownPos.find(",");
+         if(pos==string::npos) pos=KnownPos.size();
+         if(pos==0) subfield.push_back(" ");
+         else subfield.push_back(KnownPos.substr(0,pos));
+         if(pos >= KnownPos.size()) break;
+         KnownPos.erase(0,pos+1);
+      };
+
+      CurrRef.clk = 0;
+      CurrRef.NPRN = 0;
+      CurrRef.PDOP = 0;
+      CurrRef.GDOP = 0;
+      CurrRef.RMS = 0;
+      if(KnownLLH) {
+         CurrRef.RxPos.setGeodetic(asDouble(subfield[0]), asDouble(subfield[1]),
+            asDouble(subfield[2]));
+         CurrRef.RxPos.transformTo(Position::Cartesian);
+      }
+      else {
+         CurrRef.RxPos.setECEF(asDouble(subfield[0]), asDouble(subfield[1]),
+            asDouble(subfield[2]));
+      }
+
+      // output
+      logof << "Reference position comes from explicit input of "
+         << "position components:\n";
+      logof << " " << subfield[0] << " " << subfield[1] << " " << subfield[2] << endl;
+      logof << " =" << fixed
+            << " " << setw(13) << setprecision(3) << CurrRef.RxPos.X()
+            << " " << setw(13) << setprecision(3) << CurrRef.RxPos.Y()
+            << " " << setw(13) << setprecision(3) << CurrRef.RxPos.Z()
+            << endl;
+      logof << " = " << fixed
+            << setw(12) << setprecision(8) << CurrRef.RxPos.geodeticLatitude() << "N "
+            << setw(12) << setprecision(8) << CurrRef.RxPos.longitude() << "E "
+            << setw(9) << setprecision(3) << CurrRef.RxPos.height() << "m" << endl;
+      inPS = 1;
+   }
+   else if(!RefPosFile.empty()) {
+      DayTime timetag;
+      //logof << "Reference position from a file (" << RefPosFile << ")\n";
+      // make sure it exists first
+      ifstream inf(RefPosFile.c_str());
+      if(!inf) {
+         logof << "Error: could not open positions file " << RefPosFile << endl;
+         oferr << "Error: could not open positions file " << RefPosFile << endl;
+         return -1;
+      }
+      // fill the map<DayTime,RefPosData> RefPosMap;
+      RefPosMap.clear();
+      if(isRinexObsFile(RefPosFile)) {
+         if(Verbose) {
+            logof << "Reference position will come from input Rinex obs file "
+               << RefPosFile << endl;
+            if(RefPosFlat)
+               logof << " WARNING -- Reference position file is Rinex, not flat!\n";
+         }
+
+         inf.close();
+         RinexObsHeader header;
+         RinexObsData robs;
+         RinexObsStream rostream(RefPosFile.c_str());
+         rostream.exceptions(fstream::failbit);
+
+         rostream >> header;
+         //timetag = header.firstObs;
+         while(rostream >> robs) {
+            if(robs.epochFlag == 4) {
+               // TD: check this; often the in-line header has a bad epoch
+               // But if it has XYZT and DIAG, then GPSTk probably wrote it....
+               timetag = robs.time;
+               CurrRef.NPRN = 0;
+               CurrRef.clk = CurrRef.PDOP = CurrRef.GDOP = CurrRef.RMS = 0.0;
+               for(i=0; i<robs.auxHeader.commentList.size(); i++) {
+                  string s=robs.auxHeader.commentList[i];
+                  string t=stripFirstWord(s);
+                  if(t == string("XYZT")) {
+                     double x=asDouble(stripFirstWord(s));
+                     double y=asDouble(stripFirstWord(s));
+                     double z=asDouble(stripFirstWord(s));
+                     CurrRef.RxPos.setECEF(x,y,z);
+                     CurrRef.clk = asDouble(stripFirstWord(s));
+                  }
+                  else if(t==string("DIAG")) {
+                     CurrRef.NPRN = asInt(stripFirstWord(s));
+                     CurrRef.PDOP = asDouble(stripFirstWord(s));
+                     CurrRef.GDOP = asDouble(stripFirstWord(s));
+                     CurrRef.RMS = asDouble(stripFirstWord(s));
+                  }
+               }
+               RefPosMap[timetag] = CurrRef;
+            }
+         }
+         rostream.close();
+
+         if(Debug) {
+            logof << "Here is the reference position map\n";
+            map<DayTime,RefPosData>::const_iterator it;
+            for(it=RefPosMap.begin(); it != RefPosMap.end(); it++) {
+               logof << "   " << it->first << " " << fixed
+                  << " " << setw(13) << setprecision(3) << it->second.RxPos.X()
+                  << " " << setw(13) << setprecision(3) << it->second.RxPos.Y()
+                  << " " << setw(13) << setprecision(3) << it->second.RxPos.Z()
+                  << endl;
+            }
+         }
+         inPS = 1;
+      }
+      else {            // flat file input
+         if(Verbose) {
+            logof << "Reference position will come from input flat file "
+               << RefPosFile << endl;
+            if(!RefPosFlat)
+               logof << " WARNING -- Reference position file is flat, not Rinex!\n";
+         }
+
+         bool ok,have=false,havefmt=false,havepat=false;
+         string line,format,pattern,lineT,lineP,word,fword,fmtT,fmtP;
+         Position pos;
+         CurrRef.NPRN = 0;
+         CurrRef.clk = CurrRef.PDOP = CurrRef.GDOP = CurrRef.RMS = 0.0;
+         while(!inf.eof() && inf.good()) {
+            ok = true;
+            while(line.size() > 0) {
+               if(Debug) logof << "echo: " << line << endl;
+               if(line[0] == '#') break;              // skip comments
+               if(!have) {
+                  if(!havefmt) {
+                     format = line; 
+                     havefmt = true;
+                     if(Debug) logof << "Format is " << format << endl;
+                  }
+                  else if(!havepat) {
+                     pattern = line; 
+                     havepat = true;
+                     if(Debug) logof << "Pattern is " << pattern << endl;
+                  }
+                  have = havefmt & havepat;
+                  break;
+               }
+               fmtT = fmtP = lineT = lineP = string("");
+               for(i=0; i<StringUtils::numWords(line); i++) {
+                  word = StringUtils::words(line,i,1);
+                  fword = StringUtils::words(format,i,1);
+                  if(pattern[i] == 'X') continue;
+                  else if(pattern[i] == 'T') {
+                     lineT += string(" ") + word;
+                     fmtT += string(" ") + fword;
+                  }
+                  else if(pattern[i] == 'P') {
+                     lineP += string(" ") + word;
+                     fmtP += string(" ") + fword;
+                  }
+               }
+               try {
+                  timetag.setToString(lineT,fmtT);
+               }
+               catch(Exception& dte) {
+                  logof << "ERROR: reading the receiver position flat file threw"
+                     << " a DayTime exception:\n"
+                     << "  This is the time format: " << fmtT << endl;
+                  ok = have = havefmt = false;
+                  break;
+               }
+               try {
+                  pos.setToString(lineP,fmtP);
+                  pos.transformTo(Position::Cartesian);
+                  CurrRef.RxPos = pos;
+               }
+               catch(Exception& ge) {
+                  logof << "ERROR: reading the receiver position flat file threw"
+                     << " a Position exception:\n"
+                     << "  This is the position format: " << fmtP << endl;
+                  ok = have = havefmt = havepat = false;
+               }
+               if(ok) {
+                  if(Debug)logof << "Result: t= " << timetag << " p= " << pos << endl;
+                  RefPosMap[timetag] = CurrRef;
+               }
+               break;
+            }
+            if(!ok) break;
+            getline(inf,line);
+         }
+         inf.close();
+         if(!have) {
+            logof << "ERROR in reading receiver position file: ";
+            if(!havefmt) logof << "format ";
+            if(!havepat) {
+               if(!havefmt) logof << "and pattern ";
+               else logof << "pattern ";
+            }
+            logof << ((havepat || havefmt) ? "was " : "were ")
+               << "wrong or not found!\n";
+            logof << Rxhelp << endl;
+            logof << "  [The input format is " << format << "]" << endl;
+            logof << "  [The input pattern is " << pattern << "]" << endl;
+            return -2;
+         }
+         inPS = 1;
+      }  // end flat file input
+   }
+   else if(doRAIM) {
+      // if(Debug) RAIMSol.Debug = true; // write to cout ...
+      RAIMSol.Algebraic = false;
+      //RAIMSol.MaxNIterations = PIC.NIter;    // TD add to command line?
+      //RAIMSol.Convergence = PIC.Conv;
+      // set inPS below, when you know you can do RAIM
+      logof << "Reference position will come from RAIM\n";
+   }
+   else if(RefPosInput) {
+      logof << "Reference position will come from the input file\n";
+      inPS = 1;
+   }
+ 
+      // reset average RAIM solution
+   if(headRAIM) {
+      ARSX.Reset();
+      ARSY.Reset();
+      ARSZ.Reset();
+   }
+
+      // --------------------------------------------------------------------
+      // misc
+      // IonoHt used in meters
+   IonoHt *= 1000.0;
+
+      // search for SX,Y,Z input and set DoSX flag, also XR,XI,X1,X2 and DoXR
+   DoSVX = DoXR = false;
+   for(i=0; i<OTlist.size(); i++) {
+      if(OTlist[i]==string("SX")
+            || OTlist[i]==string("SY")
+            || OTlist[i]==string("SZ")) DoSVX = true;
+      if(OTlist[i]==string("XR") || OTlist[i]==string("XI")
+            || OTlist[i]==string("X1") || OTlist[i]==string("X2")) DoXR = true;
+   }
+
+   if(DoXR) {
+      int j;
+      // transformation matrix is constant
+      XRM0[0] = alpha+1;      XRM0[1] = -1;      XRM0[2] = 0;     XRM0[3] = 0;
+      XRM1[0] = 1;            XRM1[1] = -1;      XRM1[2] = 0;     XRM1[3] = 0;
+      XRM2[0] = -alpha-2;     XRM2[1] = 2;       XRM2[2] = alpha; XRM2[3] = 0;
+      XRM3[0] = -2*(alpha+1); XRM3[1] = alpha+2; XRM3[2] = 0;     XRM3[3] = alpha;
+      for(i=0; i<4; i++) for(j=0; j<4; j++) XRM[i][j] /= alpha;
+      if(Debug) {
+         logof << "XRM matrix is:\n" << fixed;
+         for(i=0; i<4; i++) {
+            for(j=0; j<4; j++) {
+               logof << " " << setw(20) << setprecision(4) << XRM[i][j];
+            }
+            logof << endl;
+         }
+      }
+   }
+
+   if(Debug) logof << "Return from PrepareInput" << endl;
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+      cerr << "ResCor:PrepareInput caught an exception " << e << endl;
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      cerr << "ResCor:PrepareInput caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+// after reading input header and before calling REC.EditHeader (pass input header)
+int RCRinexEditor::BeforeEditHeader(const RinexObsHeader& rhin)
+{
+   int i;
+
+      // save the header for later use by SaveData and ComputeNewOTs
+   rhead = rhin;
+
+      // -----------------------------------------------------------------------
+      // get indexes of input obs types, for dependence checking and fast access
+   for(i=0; i<rhin.obsTypeList.size(); i++) {
+      if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("C1")) inC1=i;
+      if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("L1")) inL1=i;
+      if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("L2")) inL2=i;
+      if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("P1")) inP1=i;
+      if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("P2")) inP2=i;
+      if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("D1")) inD1=i;
+      if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("D2")) inD2=i;
+      if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("S1")) inS1=i;
+      if(rhin.obsTypeList[i] == RinexObsHeader::convertObsType("S2")) inS2=i;
+   }
+
+      // redefine inP1 based on inC1, Callow and Cforce
+   if(Callow && inC1 > -1 && inP1 == -1) inP1=inC1;
+   if(Cforce && inC1 > -1)               inP1=inC1;
+
+      // -----------------------------------------------------------------------
+      // Check dependences of input and output data types
+      // -----------------------------------------------------------------------
+      // check that we can do RAIM
+   if(doRAIM) {
+      if(inP1>-1 && inP2>-1) inPS=1;
+      else {
+         ostringstream stst;
+         stst << "Error: cannot compute RAIM solution: missing";
+         if(inP1 == -1) stst << " P1";
+         if(inP2 == -1) stst << " P2";
+         if(inEP == -1) stst << " EP";
+         stst << "; abort.\n";
+         logof << stst.str();
+         oferr << stst.str();
+         return -2;
+      }
+   }
+
+      // -----------------------------------------------------------------------
+      // Define bit flags for input data types
+   unsigned int InputData=0;
+   if(Verbose) logof << "Input data:\n";
+   if(inP1 > -1) {
+      InputData |= 0x08;
+      if(Verbose) logof << " P1(" << inP1 << ")";
+   }
+   if(inP2 > -1) {
+      InputData |= 0x10;
+      if(Verbose) logof << " P2(" << inP2 << ")";
+   }
+   if(inL1 > -1) {
+      InputData |= 0x02;
+      if(Verbose) logof << " L1(" << inL1 << ")";
+   }
+   if(inL2 > -1) {
+      InputData |= 0x04;
+      if(Verbose) logof << " L2(" << inL2 << ")";
+   }
+   if(inEP > -1) {
+      InputData |= RinexObsHeader::RinexObsType::EPdepend;
+      if(Verbose) logof << " EP";
+   }
+   if(inPS > -1) {
+      InputData |= 0x40;
+      if(Verbose) logof << " PS";
+   }
+   if(Verbose) logof << "(" << hex << InputData << ")" << dec << endl;
+
+      // -----------------------------------------------------------------------
+      // NB OTlist comes from PreProcessArgs, manually looking for -AO<OT> commands
+      // create list OTList of RinexObsTypes here, for use later
+      // check dependencies of requested output OTs
+   if(Verbose) logof << "Here is the list of added OTs:";
+   for(i=0; i<OTlist.size(); i++) {
+      if(Verbose) logof << " " << OTlist[i];
+      OTList.push_back(RinexObsHeader::convertObsType(OTlist[i]));
+   }
+   if(Verbose) logof << endl;
+   bool ok=true;
+   for(i=0; i<OTList.size(); i++) {
+      if((InputData & OTList[i].depend) != OTList[i].depend) {
+         ostringstream stst;
+         ok = false;
+         stst << "ResCor Error: Abort: Output OT " << OTlist[i]
+            << " requires missing input:";
+         unsigned int test=(InputData & OTList[i].depend);
+         test ^= OTList[i].depend;
+         if(test & rhin.obsTypeList[inL1].depend) stst << " L1";
+         if(test & rhin.obsTypeList[inL2].depend) stst << " L2";
+         if(test & rhin.obsTypeList[inP1].depend) stst << " P1";
+         if(test & rhin.obsTypeList[inP2].depend) stst << " P2";
+         if(test & RinexObsHeader::RinexObsType::EPdepend) stst << " EP";
+         if(test & RinexObsHeader::RinexObsType::PSdepend) stst << " PS";
+         stst << endl;
+         logof << stst.str();
+         oferr << stst.str();
+      }
+   }
+   if(!ok) return -3;
+
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+// after calling REC.EditHeader (pass output header)
+int RCRinexEditor::AfterEditHeader(const RinexObsHeader& rhout)
+{
+   int i,j;
+
+      // save header for later use by SaveData
+   rheadout = rhout;
+
+      // -----------------------------------------------------------------------
+      // define indexes of raw data in output header
+   for(i=0; i<rhout.obsTypeList.size(); i++) {
+      if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("C1")) otC1=i;
+      if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("L1")) otL1=i;
+      if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("L2")) otL2=i;
+      if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("P1")) otP1=i;
+      if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("P2")) otP2=i;
+      if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("D1")) otD1=i;
+      if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("D2")) otD2=i;
+      if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("S1")) otS1=i;
+      if(rhout.obsTypeList[i] == RinexObsHeader::convertObsType("S2")) otS2=i;
+   }
+
+      // redefine otP1 based on otC1, inP1, inC1, Callow and Cforce
+   if(Callow && otC1 > -1 && inC1 > -1 && inP1 == -1) otP1=otC1;
+   if(Cforce && otC1 > -1)                            otP1=otC1;
+
+      // -----------------------------------------------------------------------
+      // create a list of indexes parallel to OTlist and OTList
+   for(j=0; j<OTList.size(); j++) {
+      for(i=0; i<rhout.obsTypeList.size(); i++) {
+         if(rhout.obsTypeList[i] == OTList[j]) OTindex.push_back(i);
+      }
+   }
+
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+// after reading input obs and before calling EditObs (pass input obs)
+int RCRinexEditor::BeforeEditObs(const RinexObsData& roin)
+{
+   if(Debug) logof << "\n----------------------------- " << roin.time
+      << " ------------------------" << endl;
+
+   // -----------------------------------------------------------------------
+   // in-line header info
+   // note that often these have a bad (all zeros) epoch
+   if(roin.epochFlag != 0 && roin.epochFlag != 1) {
+      if(Debug) logof << "Found in-line header (dump comments only)" << endl;
+      //roin.auxHeader.dump(logof);
+      for(int i=0; i<roin.auxHeader.commentList.size(); i++) {
+         string s=roin.auxHeader.commentList[i];
+         if(Debug) logof << s << endl;
+         if(RefPosInput) {
+            string t=stripFirstWord(s);
+            if(t == string("XYZT")) {
+               double x=asDouble(stripFirstWord(s));
+               double y=asDouble(stripFirstWord(s));
+               double z=asDouble(stripFirstWord(s));
+               CurrRef.RxPos.setECEF(x,y,z);
+               CurrRef.clk = asDouble(stripFirstWord(s));
+            }
+            else if(t==string("DIAG")) {
+               CurrRef.NPRN = asInt(stripFirstWord(s));
+               CurrRef.PDOP = asDouble(stripFirstWord(s));
+               CurrRef.GDOP = asDouble(stripFirstWord(s));
+               CurrRef.RMS = asDouble(stripFirstWord(s));
+//logof << "Found position:\n" << CurrRef.RxPos.printf("%.4x %.4y %.4z\n");
+            }
+         }
+      }
+      return 0;
+   }
+   
+   // --------------------------------------------------------------------
+   // Save the time tag (wait to define until after in-line header info)
+   CurrentTime = roin.time;
+
+   // --------------------------------------------------------------------
+   // save the raw data, if they're not in the output
+   DataStoreMap.clear();
+   if((inL1>-1 && otL1==-1) || (inL2>-1 && otL2==-1) ||
+      (inP1>-1 && (otP1==-1 || (Cforce && otC1==-1))) || (inP2>-1 && otP2==-1)) {
+         SaveData(roin, rhead, inL1, inL2, inP1, inP2);
+   }
+   
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+// before writing out header (pass output header)
+int RCRinexEditor::BeforeWritingHeader(RinexObsHeader& rhout)
+{
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+// before writing out filled header (pass output header)
+int RCRinexEditor::BeforeWritingFilledHeader(RinexObsHeader& rhout)
+{
+   if(headRAIM) {
+         // put average RAIM position in header
+      rhout.antennaPosition[0] = ARSX.Average();
+      rhout.antennaPosition[1] = ARSY.Average();
+      rhout.antennaPosition[2] = ARSZ.Average();
+      rhout.valid |= RinexObsHeader::antennaPositionValid;
+      if(Verbose) logof << "Average RAIM solution (" << ARSX.N()
+         << ") at time " << CurrentTime << " : "
+         << " " << fixed << setw(16) << setprecision(6) << ARSX.Average()
+         << " +/- " << scientific << setw(8) << setprecision(2) << ARSX.StdDev()
+         << ", " << fixed << setw(16) << setprecision(6) << ARSY.Average()
+         << " +/- " << scientific << setw(8) << setprecision(2) << ARSY.StdDev()
+         << ", " << fixed << setw(16) << setprecision(6) << ARSZ.Average()
+         << " +/- " << scientific << setw(8) << setprecision(2) << ARSZ.StdDev()
+         << endl;
+   }
+
+   if(Verbose) logof << "\nHere is the output header after optional records filled\n";
+   rhout.dump(logof);
+
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+// just before writing output obs (pass output obs)
+// return value of BeforeWritingObs determines what is written:
+// if return <0 abort
+//            0 write nothing
+//            1 write the obs data structure (note that if epochFlag==4,
+//               this will result in in-line header information only)
+//            2 write both header data (in auxHeader) and obs data
+int RCRinexEditor::BeforeWritingObs(RinexObsData& roout)
+{
+   int i;
+      // what to do with other epochFlags (in-line header information, etc)
+   if(roout.epochFlag != 0 && roout.epochFlag != 1) return 0;
+
+      // save the data, if they're in the output
+   if(otL1>-1 || otL2>-1 || otP1>-1 || otP2>-1)
+      SaveData(roout, rheadout, otL1, otL2, otP1, otP2);
+
+      // update the receiver position (via RAIM or file input)
+   if(UpdateRxPosition()) {
+      logof << "Failed to update Rx position at time " << CurrentTime << endl;
+      cerr << "Failed to update Rx position at time " << CurrentTime << endl;
+      return -1;
+   }
+
+      // compute new OTs, and add to obs
+   ComputeNewOTs(roout);
+
+      // write RAIM position solution to in-line header
+   if(outRef && (HaveRAIM || !RefPosFile.empty())) {
+      ostringstream stst1,stst2;
+      roout.auxHeader.clear();
+      stst1 << "XYZT";
+      stst1 << fixed << " " << setw(13) << setprecision(3) << CurrRef.RxPos.X();
+      stst1 << fixed << " " << setw(13) << setprecision(3) << CurrRef.RxPos.Y();
+      stst1 << fixed << " " << setw(13) << setprecision(3) << CurrRef.RxPos.Z();
+      stst1 << fixed << " " << setw(13) << setprecision(3) << CurrRef.clk;
+      roout.auxHeader.commentList.push_back(stst1.str());
+      if(Verbose)
+         logof << "RAIM output: " << roout.time.printf("%02M:%04.1f ") << stst1.str();
+
+      //for(Nsvs=0,i=0; i<Sats.size(); i++) if(Sats[i].prn > 0) Nsvs++;
+      //PDOP = RSS(RAIMSol.Covariance(0,0),
+      //      RAIMSol.Covariance(1,1),RAIMSol.Covariance(2,2));
+      //GDOP = RSS(PDOP, RAIMSol.Covariance(3,3));
+      //rms = RAIMSol.RMSResidual;
+      stst2 << "DIAG";
+      stst2 << " " << setw(2) << CurrRef.NPRN
+         << " " << fixed << setw(5) << setprecision(2) << CurrRef.PDOP
+         << " " << fixed << setw(5) << setprecision(2) << CurrRef.GDOP
+         << " " << fixed << setw(9) << setprecision(3) << CurrRef.RMS
+         << " (N,P-,G-Dop,RMS)";
+      roout.auxHeader.commentList.push_back(stst2.str());
+      if(Verbose) logof << " " << stst2.str() << endl;
+      roout.auxHeader.valid |= RinexObsHeader::commentValid;
+
+      return 4;         // write both header (with epochFlag=4) and obs data
+   }
+
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+void SaveData(const RinexObsData& rod, const RinexObsHeader& rhd,
+   int xL1, int xL2, int xP1, int xP2)
+{
+   RinexPrn sat;
+   RinexObsData::RinexObsTypeMap otmap;
+   RinexObsData::RinexPrnMap::const_iterator it;
+   RinexObsData::RinexObsTypeMap::const_iterator jt;
+   map<RinexPrn,RCData>::const_iterator kt;
+
+   for(it=rod.obs.begin(); it != rod.obs.end(); ++it) { // loop over satellites
+      sat = it->first;
+      otmap = it->second;
+      // find the saved input data for this sat, if any
+      kt = DataStoreMap.find(sat);
+      if(kt != DataStoreMap.end()) DataStore=kt->second;
+
+      if(xL1>-1 && (jt=otmap.find(rhd.obsTypeList[xL1])) != otmap.end()) {
+         DataStore.L1 = jt->second.data;
+         DataStore.LL1 = int(jt->second.lli);
+      }
+      if(xL2>-1 && (jt=otmap.find(rhd.obsTypeList[xL2])) != otmap.end()) {
+         DataStore.L2 = jt->second.data;
+         DataStore.LL2 = int(jt->second.lli);
+      }
+      if(xP1>-1 && (jt=otmap.find(rhd.obsTypeList[xP1])) != otmap.end()) {
+         DataStore.P1 = jt->second.data;
+      }
+      if(xP2>-1 && (jt=otmap.find(rhd.obsTypeList[xP2])) != otmap.end()) {
+         DataStore.P2 = jt->second.data;
+      }
+      DataStoreMap[sat] = DataStore;
+   }  // end loop over sats
+}
+
+//------------------------------------------------------------------------------------
+// fill global data CurrRef
+int UpdateRxPosition(void)
+{
+   int iret,i;
+      // compute a RAIM solution, add it to average
+   HaveRAIM = false;
+   map<RinexPrn,RCData>::const_iterator kt;
+   if(doRAIM) {
+      Sats.clear();
+      PRange.clear();
+         //map<RinexPrn,RCData> DataStoreMap;
+      for(kt=DataStoreMap.begin(); kt != DataStoreMap.end(); kt++) {
+         if(kt->second.P1 == 0 || kt->second.P2 == 0) continue;
+         Sats.push_back(kt->first);
+         PRange.push_back(if1r*kt->second.P1+if2r*kt->second.P2);
+      }
+
+      if(SP3EphList.size() > 0)
+         iret = RAIMSol.Compute(CurrentTime, Sats, PRange, SP3EphList, &ggtm);
+      else if(BCEphList.size() > 0)
+         iret = RAIMSol.Compute(CurrentTime, Sats, PRange, BCEphList, &ggtm);
+      else iret = -4;
+         //  2  failed to find a good solution (RMS residual or slope exceed limits)
+         //  1  solution is suspect (slope is large)
+         //  0  ok
+         // -1  failed to converge
+         // -2  singular problem
+         // -3  not enough good data to form a RAIM solution
+         //     (the 4 satellite solution might be returned - check isValid())
+         // -4  ephemeris not found for one or more satellites
+      HaveRAIM = (iret==0 || iret==1);
+      if(HaveRAIM) {
+         if(Verbose) {                          // output results and return value
+            int Nsvs;
+            for(Nsvs=0,i=0; i<Sats.size(); i++) if(Sats[i].prn > 0) Nsvs++;
+            logof << "RPF " << setw(2) << Sats.size()-Nsvs
+               << " " << setw(4) << CurrentTime.GPSfullweek() << fixed
+               << " " << setw(10) << setprecision(3) << CurrentTime.GPSsecond()
+               << " " << setw(2) << Nsvs
+               << " " << setw(16) << setprecision(6) << RAIMSol.Solution(0)
+               << " " << setw(16) << setprecision(6) << RAIMSol.Solution(1)
+               << " " << setw(16) << setprecision(6) << RAIMSol.Solution(2)
+               << " " << setw(16) << setprecision(6) << RAIMSol.Solution(3)
+               << " " << setw(16) << setprecision(6) << RAIMSol.RMSResidual
+               << " " << fixed << setw(7) << setprecision(1) << RAIMSol.MaxSlope
+               << " " << RAIMSol.NIterations
+               << " " << scientific
+               << setw(8) << setprecision(2) << RAIMSol.Convergence;
+            for(i=0; i<Sats.size(); i++) logof << " " << setw(3) << Sats[i].prn;
+            logof << " (" << iret << ")" << (RAIMSol.isValid() ? " V":" NV") << endl;
+         }
+
+         CurrRef.RxPos.setECEF(RAIMSol.Solution(0),RAIMSol.Solution(1),
+            RAIMSol.Solution(2));
+         CurrRef.clk = RAIMSol.Solution(3);
+         CurrRef.NPRN = RAIMSol.Nsvs;
+         CurrRef.PDOP = RSS(RAIMSol.Covariance(0,0),RAIMSol.Covariance(1,1),
+            RAIMSol.Covariance(2,2));
+         CurrRef.GDOP = RSS(CurrRef.PDOP, RAIMSol.Covariance(3,3));
+         CurrRef.RMS = RAIMSol.RMSResidual;
+         if(headRAIM) {       // add to average
+            ARSX.Add(CurrRef.RxPos.X());
+            ARSY.Add(CurrRef.RxPos.Y());
+            ARSZ.Add(CurrRef.RxPos.Z());
+         }
+         inPS = 1;
+      }
+      else {                     // RAIM failed
+         if(Verbose) {
+            logof << "RAIM failed at " << CurrentTime << " : returned '";
+            if(iret == 2) logof << "failed to find a good solution "
+               << "(RMS residual or slope exceed limits)'";
+            if(iret == -1) logof << "failed to converge'";
+            if(iret == -2) logof << "singular problem'";
+            if(iret == -3) logof << "not enough good data to form a RAIM solution'";
+            if(iret == -4) {
+               logof << "ephemeris not found for satellite'";
+               for(i=0; i<Sats.size(); i++) {
+                  if(Sats[i].prn < 0) {
+                     Sats[i].prn *= -1;
+                     logof << " " << Sats[i];
+                  }
+               }
+            }
+            logof << "'." << endl;
+         }
+         inPS=-1;
+      }
+   }
+   else if(!RefPosFile.empty()) { // update RxPos from map
+      map<DayTime,RefPosData>::iterator ite;
+      ite = RefPosMap.lower_bound(CurrentTime);
+      if(ite == RefPosMap.end()) {
+         if(Verbose) logof << "No Rx position found at " << CurrentTime << endl;
+         inPS = -1;
+      }
+      else {
+         //CurrRef = ite->second;
+         CurrRef.RxPos = ite->second.RxPos;
+         CurrRef.clk = ite->second.clk;
+         CurrRef.NPRN = ite->second.NPRN;
+         CurrRef.PDOP = ite->second.PDOP;
+         CurrRef.GDOP = ite->second.GDOP;
+         CurrRef.RMS = ite->second.RMS;
+         inPS = 1;
+      }
+   }
+
+   if(Verbose && inPS > -1) {
+      logof << "RxPos " << CurrentTime
+         << " " << CurrentTime.printf("%04F %10.3g") << fixed
+         << " " << setw(13) << setprecision(3) << CurrRef.RxPos.X()
+         << " " << setw(13) << setprecision(3) << CurrRef.RxPos.Y()
+         << " " << setw(13) << setprecision(3) << CurrRef.RxPos.Z()
+         << endl;
+   }
+
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+void ComputeNewOTs(RinexObsData& rod)
+{
+   bool HaveR,HaveP,HaveEphRange,ok,reset,HaveEphThisSat;
+   double rho,IPPLat,IPPLon,Obliq,Trop,Tgd;
+   RinexObsData::RinexPrnMap::iterator it;         // for loop over sats
+   map<RinexPrn,RCData>::const_iterator kt;        // for DataStoreMap
+   vector<RinexPrn> SVDelete;
+   RinexPrn sat;
+   //RinexObsData::RinexObsTypeMap otmap;
+   CorrectedEphemerisRange CER;
+
+   if(Debug) {
+      logof << "Obs data before mods\n";
+      rod.dump(logof);
+   }
+
+      // loop over sats
+   for(it=rod.obs.begin(); it != rod.obs.end(); ++it) {
+      sat = it->first;
+      //otmap = it->second; 
+
+         // delete this satellite if it is excluded, or if RAIM has marked it
+      if( (SVonly.prn > 0 && sat != SVonly) || (editRAIM && HaveRAIM &&
+         find(Sats.begin(),Sats.end(),RinexPrn(-sat.prn,sat.system)) != Sats.end())) {
+         SVDelete.push_back(sat);
+         continue;
+      }
+
+         // --------------------------------------------------------
+         // find the saved input data for this sat
+      kt = DataStoreMap.find(sat);
+      HaveR = HaveP = false;
+      if(kt != DataStoreMap.end()) {       // have data
+         HaveR = (kt->second.P1 != 0.0 && kt->second.P2 != 0.0);
+         HaveP = (kt->second.L1 != 0.0 && kt->second.L2 != 0.0);
+      }
+      if(doRAIM && !HaveRAIM) inPS=-1;
+      
+         // --------------------------------------------------------
+         // compute ephemeris range and ionospheric pierce point
+      if(inEP > -1) HaveEphThisSat=true;
+      HaveEphRange = (HaveEphThisSat && inPS > -1);
+      rho = IPPLat = IPPLon = Obliq = Tgd = 0;
+      if(HaveEphRange) {
+         Xvt xvt;
+         xvt.x[0] = CurrRef.RxPos.X();
+         xvt.x[1] = CurrRef.RxPos.Y();
+         xvt.x[2] = CurrRef.RxPos.Z();
+         try {
+            if(SP3EphList.size() > 0)
+               rho = CER.ComputeAtReceiveTime(CurrentTime, xvt, sat.prn,
+                     SP3EphList);
+            else if(BCEphList.size() > 0)
+               rho = CER.ComputeAtReceiveTime(CurrentTime, xvt, sat.prn,
+                     BCEphList);
+            else
+               throw gpstk::EphemerisStore::NoEphemerisFound("No ephemeris in store");
+         }
+         catch(gpstk::EphemerisStore::NoEphemerisFound& e) {
+            if(Verbose)
+               logof << "ComputeNewOTs failed to find ephemeris for satellite "
+               << sat << " at time " << CurrentTime << endl;
+            HaveEphThisSat = false;
+            HaveEphRange = false;
+         }
+         if(HaveEphRange) {
+            Position IPP=CurrRef.RxPos.getIonosphericPiercePoint(
+                  CER.elevation,CER.azimuth, IonoHt);
+            IPPLat = IPP.geodeticLatitude();
+            IPPLon = IPP.longitude();
+               // Leick, GPS Satellite Surveying, 2nd ed., eq 9.40
+            //Obliq = (96-CER.elevation)/90.0;
+            //Obliq = Obliq * Obliq * Obliq;
+            //Obliq = 1.0/(1 + 2*Obliq);
+            Obliq = WGS84.a()*cos(CER.elevation*DEG_TO_RAD)/(WGS84.a()+IonoHt);
+            Obliq = SQRT(1.0-Obliq*Obliq);
+               // NB other trop models may require a different call,
+               // and will throw(InvalidTropModel) here
+            Trop = ggtm.correction(CER.elevation);
+            if(BCEphList.size() > 0) {
+               const EngEphemeris& eph = BCEphList.findEphemeris(sat.prn,CurrentTime);
+               Tgd = C_GPS_M * eph.getTgd();
+            }
+         }
+      }
+
+         // --------------------------------------------------------
+         // compute XR,XI,X1,X2
+      if(DoXR && HaveR && HaveP) {
+         XRdat[0] = wl1 * kt->second.L1;
+         XRdat[1] = wl2 * kt->second.L2;
+         XRdat[2] = kt->second.P1;
+         XRdat[3] = kt->second.P2;
+         for(int i=0; i<4; i++) {
+            XRsol[i] = 0.0;
+            for(int j=0; j<4; j++) {
+               XRsol[i] += XRM[i][j] * XRdat[j];
+            }
+         }
+      }
+
+         // --------------------------------------------------------
+         // get satellite position (if not found above)
+      if(DoSVX && HaveEphThisSat && inPS == -1) {
+         unsigned long ref;
+         try {
+            if(SP3EphList.size())
+               CER.svPosVel = SP3EphList.getPrnXvt(sat.prn,CurrentTime);
+            else
+               CER.svPosVel = BCEphList.getPrnXvt(sat.prn,CurrentTime);
+         }
+         catch(EphemerisStore::NoEphemerisFound& e) {
+            HaveEphThisSat = false;
+         }
+      }
+
+         // --------------------------------------------------------
+         // now loop over new output OTs, compute and debias them
+      RinexObsData::RinexObsTypeMap::iterator jt;
+      for(int i=0; i<OTList.size(); i++) {
+         jt = it->second.find(OTList[i]);
+         if(jt == it->second.end()) continue;        // this would be an error, no?
+         jt->second.data = 0.0;                 // default = marked bad
+         ok = false;
+         if(OTlist[i] == string("ER")) {
+            ok = HaveEphRange;
+            if(ok) jt->second.data = rho;
+         }
+         else if(OTlist[i] == string("RI")) {
+            ok = HaveR;
+            if(ok) jt->second.data = (kt->second.P2 - kt->second.P1)/alpha;
+         }
+         else if(OTlist[i] == string("PI")) {
+            ok = HaveP;
+            if(ok) jt->second.data = (wl1*kt->second.L1 - wl2*kt->second.L2)/alpha;
+         }
+         else if(OTlist[i] == string("TR")) {
+            ok = HaveEphRange;
+            if(ok) jt->second.data = Trop;
+         }
+         else if(OTlist[i] == string("RL")) {
+            ok = HaveEphThisSat;
+            if(ok) jt->second.data = CER.relativity;
+         }
+         else if(OTlist[i] == string("SC")) {
+            ok = HaveEphThisSat;
+            if(ok) jt->second.data = CER.svclkbias;
+         }
+         else if(OTlist[i] == string("EL")) {
+            ok = HaveEphRange;
+            if(ok) jt->second.data = CER.elevation;
+         }
+         else if(OTlist[i] == string("AZ")) {
+            ok = HaveEphRange;
+            if(ok) jt->second.data = CER.azimuth;
+         }
+         else if(OTlist[i] == string("SR")) {
+            ok = HaveR;
+            if(ok) jt->second.data =
+               (kt->second.P2 - kt->second.P1)*TECUperM/alpha - Tgd;
+         }
+         else if(OTlist[i] == string("SP")) {
+            ok = HaveP;
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+                  (wl1*kt->second.L1 - wl2*kt->second.L2)*TECUperM/alpha);
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("VR")) {
+            ok = (HaveR && HaveEphRange);
+            if(ok) jt->second.data =
+               ((kt->second.P2 - kt->second.P1)*TECUperM/alpha - Tgd)*Obliq;
+         }
+         else if(OTlist[i] == string("VP")) {
+            ok = (HaveP && HaveEphRange);
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+                  ((wl1*kt->second.L1 - wl2*kt->second.L2)*TECUperM/alpha-Tgd)*Obliq);
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("LA")) {
+            ok = HaveEphRange;
+            if(ok) jt->second.data = IPPLat;
+         }
+         else if(OTlist[i] == string("LO")) {
+            ok = HaveEphRange;
+            if(ok) jt->second.data = IPPLon;
+         }
+         else if(OTlist[i] == string("P3")) {
+            ok = HaveR;
+            if(ok) jt->second.data = if1r*kt->second.P1 + if2r*kt->second.P2;
+         }
+         else if(OTlist[i] == string("L3")) {
+            ok = HaveP;
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+                  if1p*kt->second.L1 + if2p*kt->second.L2);
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("P4")) {
+            ok = HaveR;
+            if(ok) jt->second.data = gf1r*kt->second.P1 + gf2r*kt->second.P2;
+         }
+         else if(OTlist[i] == string("L4")) {
+            ok = HaveP;
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+                  gf1p*kt->second.L1 + gf2p*kt->second.L2);
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("P5")) {
+            ok = HaveR;
+            if(ok) jt->second.data = wl1r*kt->second.P1 + wl2r*kt->second.P2;
+         }
+         else if(OTlist[i] == string("L5")) {
+            ok = HaveP;
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+                  wl1p*kt->second.L1 + wl2p*kt->second.L2);
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("MP") || OTlist[i] == string("M3")) {
+            ok = (HaveP && HaveR);
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+                  if1r*kt->second.P1 + if2r*kt->second.P2
+                  - (if1p*kt->second.L1 + if2p*kt->second.L2));
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("M1")) {
+            ok = (kt->second.P1 != 0 && kt->second.L1 != 0);
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+                  kt->second.P1 - wl1*kt->second.L1);
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("M2")) {
+            ok = (kt->second.P2 != 0 && kt->second.L2 != 0);
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+                  kt->second.P2 - wl2*kt->second.L2);
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         // M3 is MP
+         else if(OTlist[i] == string("M4")) {
+            ok = (HaveP && HaveR);
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+                  gf1r*kt->second.P1 + gf2r*kt->second.P2
+                  - (gf1p*kt->second.L1 + gf2p*kt->second.L2));
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("M5")) {
+            ok = (HaveP && HaveR);
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,
+                  wl1r*kt->second.P1 + wl2r*kt->second.P2
+                  - (wl1p*kt->second.L1 + wl2p*kt->second.L2));
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("XR")) {
+            ok = HaveR && HaveP;
+            if(ok) {
+               jt->second.data = XRsol[0];
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("XI")) {
+            ok = HaveR && HaveP;
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,XRsol[1]);
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("X1")) {
+            ok = HaveR && HaveP;
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,XRsol[2]);
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("X2")) {
+            ok = HaveR && HaveP;
+            if(ok) {
+               jt->second.data = removeBias(OTList[i], sat, reset, rod.time,XRsol[3]);
+               if(reset) jt->second.lli |= 1;
+            }
+         }
+         else if(OTlist[i] == string("SX")) {
+            ok = HaveP && HaveEphThisSat;
+            if(ok) jt->second.data = CER.svPosVel.x[0];
+         }
+         else if(OTlist[i] == string("SY")) {
+            ok = HaveP && HaveEphThisSat;
+            if(ok) jt->second.data = CER.svPosVel.x[1];
+         }
+         else if(OTlist[i] == string("SZ")) {
+            ok = HaveP && HaveEphThisSat;
+            if(ok) jt->second.data = CER.svPosVel.x[2];
+         }
+         else ok = false;
+
+         if(!ok) continue;
+
+         // --------------------------------------------------------
+         // set LLI flag, if it depends on phase, and if phase LLI is set
+         unsigned int test=0;
+         if(inL1 > -1) test=rhead.obsTypeList[inL1].depend;
+         else if(otL1 > -1) test=rhead.obsTypeList[otL1].depend;
+         if((OTList[i].depend & test) && (kt->second.LL1 & 0x01))
+            jt->second.lli |= 1;
+         test = 0;
+         if(inL2 > -1) test=rhead.obsTypeList[inL2].depend;
+         else if(otL2 > -1) test=rhead.obsTypeList[otL2].depend;
+         if((OTList[i].depend & test) && (kt->second.LL2 & 0x01))
+            jt->second.lli |= 1;
+
+         //if(ok && Verbose) ;  // TD output here
+
+      }  // end loop over new output OTs
+
+      // --------------------------------------------------------
+      // delete this satellite if there is no good data in it
+      for(jt=it->second.begin(); jt != it->second.end(); jt++) {
+         if(jt->second.data != 0.0) break;
+      }
+      if(jt == it->second.end()) SVDelete.push_back(sat);
+
+   }  // end loop over sats
+
+      // delete satellites
+   for(int i=0; i<SVDelete.size(); i++) {
+      rod.obs.erase(SVDelete[i]);
+      rod.numSvs--;
+   }
+
+   if(Debug) {
+      logof << "Obs data after mods\n";
+      rod.dump(logof);
+   }
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+// NB PreProcessArgs pulls out a list of -AO<OT>s,
+// along with --debug --verbose and of course the -f<file> option.
+void PreProcessArgs(const char *arg, vector<string>& Args)
+{
+try {
+   if(arg[0]=='-' && arg[1]=='f') {
+      string filename(arg);
+      filename.erase(0,2);
+      if(Debug) cout << "Found a file of options: " << filename << endl;
+      ifstream infile(filename.c_str());
+      if(!infile) {
+         cout << "Error: could not open options file " << filename << endl;
+      }
+      else {
+         char c;
+         string buffer;
+         while( infile >> buffer) {
+            if(buffer[0] == '#') {         // skip to end of line
+               while(infile.get(c)) { if(c=='\n') break; }
+            }
+            else PreProcessArgs(buffer.c_str(),Args);
+         }
+      }
+   }
+   else if(string(arg)==string("--verbose")) {
+      Verbose = true;
+      //cout << "Found the verbose switch" << endl;
+   }
+   else if(string(arg)==string("--debug")) {
+      Debug = true;
+      //cout << "Found the debug switch" << endl;
+   }
+   else if(arg[0]=='-' && arg[1]=='A' && arg[2]=='O') {     // add obs type
+      OTlist.push_back(string(&arg[3]));
+      Args.push_back(arg);
+   }
+   else Args.push_back(arg);
+}
+catch(gpstk::Exception& e) {
+      cerr << "ResCor:PreProcessArgs caught an exception " << e << endl;
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      cerr << "ResCor:PreProcessArgs caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+// define the bias limit, assign it to the invalid (-1,GPS) satellite
+int setBiasLimit(RinexObsHeader::RinexObsType& ot, double lim)
+{
+   if(RinexObsHeader::convertObsType(ot)==string("UN") || lim <= 0.0) return -1;
+   RinexPrn p;          // invalid: -1,GPS ... let this hold the LIMIT in the map
+   map<RinexObsHeader::RinexObsType,map<RinexPrn,double> >::iterator it;
+   if( (it=AllBiases.find(ot)) == AllBiases.end()) {     // not found
+      map<RinexPrn,double> bm;
+      bm[p] = lim;
+      AllBiases[ot] = bm;
+      if(Verbose) logof << "Set bias for " << RinexObsHeader::convertObsType(ot)
+         << "," << p << " to " << fixed << setprecision(3) << lim << endl;
+   }
+   else {                                                // found
+      it->second[p] = lim;
+      if(Verbose) logof << "Re-Set bias for " << RinexObsHeader::convertObsType(ot)
+         << "," << p << " to " << fixed << setprecision(3) << lim << endl;
+   }
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+// set bias, if necessary, and return raw-bias
+double removeBias(const RinexObsHeader::RinexObsType& ot, const RinexPrn& sv,
+   bool& rset, DayTime& tt, double raw)
+{
+   rset = false;
+   // is the input valid?
+   if(RinexObsHeader::convertObsType(ot)==string("UN") || sv.prn==-1) return raw;
+
+   // get the map<RinexPrn,double> for this OT
+   map<RinexObsHeader::RinexObsType,map<RinexPrn,double> >::iterator it;
+   if( (it=AllBiases.find(ot)) == AllBiases.end()) return raw; // did not find OT
+   // it->second is the right map<RinexPrn,double>
+
+   // get the limit
+   RinexPrn p;
+   map<RinexPrn,double>::iterator jt;
+   jt = it->second.find(p);                  // p is (-1,GPS) here, so bias=limit
+   if(jt == it->second.end()) return raw;    // should never happen - throw?
+   double limit=jt->second;
+
+   // now find the current bias for the input satellite
+   double bias;
+   if( (jt=it->second.find(sv)) == it->second.end()) {   // sat not found, define bias
+      bias = it->second[sv] = raw-0.001;
+      if(Verbose) logof << "Did not find a bias for "
+         << RinexObsHeader::convertObsType(ot) << "," << sv
+         << " at time " << tt.printf("%4F %10.3g = %4Y/%02m/%02d %02H:%02M:%02S")
+         << ", set it to " << fixed << setprecision(3) << bias << endl;
+      rset = true;
+   }
+   else {                                                      // found the sat
+      bias = jt->second;
+      // logof << "Found bias for " << RinexObsHeader::convertObsType(ot)
+      // << "," << sv << " = " << fixed << setprecision(3) << bias << endl;
+      if(fabs(raw-jt->second) > limit) {
+         if(Verbose) logof << "Bias limit for " << RinexObsHeader::convertObsType(ot)
+            << "," << sv << " was exceeded at time "
+            << tt.printf("%4F %10.3g = %4Y/%02m/%02d %02H:%02M:%02S")
+            << " (" << fixed << setprecision(3) << raw-jt->second
+            << " > " << setprecision(3) << limit
+            << "), set it to " << fixed << setprecision(3) << raw-0.001 << endl;
+         bias = it->second[sv] = raw-0.001;
+         rset = true;
+      }
+   }
+
+   return raw-bias;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/Rinextools/RinSum b/trunk/apps/Rinextools/RinSum
new file mode 100755
index 0000000..9c12e61
Binary files /dev/null and b/trunk/apps/Rinextools/RinSum differ
diff --git a/trunk/apps/Rinextools/RinSum.cpp b/trunk/apps/Rinextools/RinSum.cpp
new file mode 100644
index 0000000..4eb0338
--- /dev/null
+++ b/trunk/apps/Rinextools/RinSum.cpp
@@ -0,0 +1,662 @@
+// RinSum.cpp  Read and summarize Rinex obs files
+//  RinSum is part of the GPS Tool Kit (GPSTK) developed in the
+//  Satellite Geophysics Group at Applied Research Laboratories,
+//  The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinSum.cpp#1 $"
+
+/**
+ * @file RinSum.cpp
+ * Read and summarize Rinex observation files.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "MathBase.hpp"
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexNavBase.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+
+#include <string>
+#include <vector>
+#include <iostream>
+#include <fstream>
+#include <algorithm>
+#include <time.h>
+
+using namespace gpstk;
+using namespace std;
+
+//------------------------------------------------------------------------------------
+// data input from command line
+vector<string> InputFiles;
+string InputDirectory;
+string OutputFile;
+ostream* pout;
+DayTime BegTime(DayTime::BEGINNING_OF_TIME);
+DayTime EndTime(DayTime::END_OF_TIME);
+bool ReplaceHeader=false;
+bool TimeSortTable=false;
+bool GPSTimeOutput=false;
+bool Debug=false;
+
+//------------------------------------------------------------------------------------
+// data used for computation
+const int ndtmax=15;
+double dt,bestdt[ndtmax];
+int ndt[ndtmax]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
+int nepochs,ncommentblocks;
+
+//------------------------------------------------------------------------------------
+// class used to store PRN/Obs table
+class TableData {
+public:
+   RinexPrn prn;
+   vector<int> nobs;
+   DayTime begin,end;
+   TableData(const RinexPrn& p, const int& n)
+      { prn=p; nobs=vector<int>(n); };
+      // needed for find()
+   inline bool operator==(const TableData& d) {return d.prn == prn;}
+};
+   // for sort()
+class TablePRNLessThan  {      
+public:
+   bool operator()(const TableData& d1, const TableData& d2)
+      { return d1.prn < d2.prn; }
+};
+class TableBegLessThan  {
+public:
+   bool operator()(const TableData& d1, const TableData& d2)
+      { return d1.begin < d2.begin; }
+};
+
+//------------------------------------------------------------------------------------
+// prototypes
+int GetCommandLine(int argc, char **argv);
+int RegisterARLUTExtendedTypes(void);
+bool isRinexObsFile(const string& file);
+bool isRinexNavFile(const string& file);
+
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+   int iret,i,j,k,n;
+   DayTime last,prev(DayTime::BEGINNING_OF_TIME),ftime(DayTime::BEGINNING_OF_TIME);
+
+      // Title and description
+   string Title;
+   Title = "RINSUM, part of the GPS ToolKit, Ver 2.0 9/2/03, Run ";
+   time_t timer;
+   struct tm *tblock;
+   timer = time(NULL);
+   tblock = localtime(&timer);
+   last.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+               tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+   Title += last.printf("%04Y/%02m/%02d %02H:%02M:%02S\n");
+   cout << Title;
+
+   iret=GetCommandLine(argc, argv);
+   if(iret) return iret;
+
+   iret = RegisterARLUTExtendedTypes();
+   if(iret) return iret;
+
+      // open the output file and write to it
+   if(!OutputFile.empty()) {
+      pout = new ofstream(OutputFile.c_str(),ios::out);
+      if(pout->fail()) {
+         cerr << "Could not open output file " << OutputFile << endl;
+         pout = &cout;
+      }
+      else {
+         pout->exceptions(ios::failbit);
+         *pout << Title;
+      }
+   }
+   else pout = &cout;
+
+      // now open the input files, read the headers and data
+   RinexObsHeader rheader;
+   RinexObsData robs;
+   for(i=0; i<InputFiles.size(); i++) {
+      string filename;
+      if(!InputDirectory.empty()) filename = InputDirectory + "/";
+      filename += InputFiles[i];
+      RinexObsStream InStream(filename.c_str());
+      if(!InStream) {
+         *pout << "File " << filename << " could not be opened.\n";
+         continue;
+      }
+      InStream.exceptions(ios::failbit);
+      if(!isRinexObsFile(filename)) {
+         *pout << "File " << filename << " is not a Rinex observation file\n";
+         if(isRinexNavFile(filename)) {
+            *pout << "File " << filename << " is a Rinex navigation file\n";
+         }
+         continue;
+      }
+
+      // obs file
+      *pout << "+++++++++++++ RinSum summary of Rinex obs file "
+         << filename << " +++++++++++++\n";
+      
+         // input header
+      try {
+         InStream >> rheader;
+      }
+      catch(gpstk::FFStreamError& e) {
+         cerr << "Caught an FFStreamError while reading header: "
+            << e.getText(0) << endl;
+      }
+      catch(gpstk::Exception& e) {
+         cerr << "Caught a gpstk exception while reading header: "
+            << e.getText(0) << endl;
+      }
+
+      *pout << "Rinex header:\n";
+      rheader.dump(*pout);
+
+      if(!rheader.isValid()) {
+         *pout << "Abort: header is invalid\n";
+         *pout << "\n+++++++++++++ End of RinSum summary of "
+            << filename << " +++++++++++++\n";
+         continue;
+      }
+
+      //RinexObsStream out(argv[2], ios::out);
+      //out << rheader;
+
+      nepochs = ncommentblocks = 0;
+      n = rheader.obsTypeList.size();
+      vector<TableData> table;
+      vector<int> totals(n);
+
+         // input obs
+      while(InStream >> robs)
+      {
+         if(Debug) *pout << "Epoch: " << robs.time
+            << ", Flag " << robs.epochFlag
+            << ", Nprn " << robs.obs.size()
+            << ", clk " << robs.clockOffset << endl;
+         if(robs.epochFlag > 1) {
+            ncommentblocks++;
+            //*pout << "inline header info:\n";
+            //robs.auxHeader.dump(*pout);
+            continue;
+         }
+         last = robs.time;
+         if(last < BegTime) continue;
+         if(last > EndTime) break;
+         if(ftime == DayTime::BEGINNING_OF_TIME) ftime=last;
+         nepochs++;
+         RinexObsData::RinexPrnMap::const_iterator it;
+         RinexObsData::RinexObsTypeMap::const_iterator jt;
+         for(it=robs.obs.begin(); it != robs.obs.end(); ++it) {
+            vector<TableData>::iterator ptab;
+            ptab = find(table.begin(),table.end(),TableData(it->first,n));
+            if(ptab == table.end()) {
+               table.push_back(TableData(it->first,n));
+               ptab = find(table.begin(),table.end(),TableData(it->first,n));
+               ptab->begin = last;
+            }
+            ptab->end = last;
+            if(Debug) *pout << "Prn " << setw(2) << it->first;
+            for(jt=it->second.begin(); jt!=it->second.end(); jt++) {
+               for(k=0; k<n; k++) if(rheader.obsTypeList[k] == jt->first) break;
+               if(jt->second.data != 0) {
+                  ptab->nobs[k]++;      // per obs
+                  totals[k]++;
+               }
+               if(Debug) *pout << " " << RinexObsHeader::convertObsType(jt->first)
+                  << " " << setw(13) << setprecision(3) << jt->second.data << " "
+                  << jt->second.lli << " " << jt->second.ssi;
+            }
+            if(Debug) *pout << endl;
+         }
+
+         //out << robs;
+
+         if(prev.year() != 1) {
+            dt = last-prev;
+            for(i=0; i<ndtmax; i++) {
+               if(ndt[i] <= 0) { bestdt[i]=dt; ndt[i]=1; break; }
+               if(ABS(dt-bestdt[i]) < 0.0001) { ndt[i]++; break; }
+               if(i == ndtmax-1) {
+                  k = 0;
+                  int nleast=ndt[k];
+                  for(j=1; j<ndtmax; j++) if(ndt[j] <= nleast) {
+                     k=j; nleast=ndt[j];
+                  }
+                  ndt[k]=1; bestdt[k]=dt;
+               }
+            }
+         }
+         prev = last;
+      }
+      InStream.close();
+
+         // compute interval
+      for(i=1,j=0; i<ndtmax; i++) if(ndt[i]>ndt[j]) j=i;
+      dt = bestdt[j];
+
+         // warnings
+      if((rheader.valid & RinexObsHeader::intervalValid)
+            && ABS(dt-rheader.interval) > 1.e-3)
+         *pout << "\n WARNING: Computed interval is " << setprecision(2)
+            << dt << " sec, while input header has " << setprecision(2)
+            << rheader.interval << " sec.\n";
+      if(ABS(ftime-rheader.firstObs) > 1.e-8)
+         *pout << "\n WARNING: Computed first time does not agree with header\n";
+      if((rheader.valid & RinexObsHeader::lastTimeValid)
+            && ABS(last-rheader.lastObs) > 1.e-8)
+         *pout << "\n WARNING: Computed last time does not agree with header\n";
+
+         // summary info
+      *pout << "\n Computed interval is "
+         << fixed << setw(5) << setprecision(2) << dt << endl;
+      if(GPSTimeOutput) {
+         *pout << " Computed first epoch is " << ftime.printf("%4F %14.7g") << endl;
+         *pout << " Computed last epoch is " << last.printf("%4F %14.7g") << endl;
+      }
+      else {
+         *pout << " Computed first epoch is "
+            << ftime.printf("%04Y/%02m/%02d %02H:%02M:%010.7f") << endl;
+         *pout << " Computed last epoch is "
+            << last.printf("%04Y/%02m/%02d %02H:%02M:%010.7f") << endl;
+      }
+      i = 1+int(0.5+(last-ftime)/dt);
+      *pout << " There were " << nepochs << " epochs ("
+         << setprecision(2) << double(nepochs*100)/i
+         << "% of " << i << " possible epochs in this timespan) and "
+         << ncommentblocks << " inline header blocks.\n";
+
+         // sort table
+      sort(table.begin(),table.end(),TablePRNLessThan());
+      if(TimeSortTable) sort(table.begin(),table.end(),TableBegLessThan());
+
+         // output table
+         // header
+      *pout << "\n          Summary of data available in this file: "
+         << "(Totals are based on times and interval)\n";
+      *pout << "PRN/OT: ";
+      for(k=0; k<n; k++)
+         *pout << setw(6) << RinexObsHeader::convertObsType(rheader.obsTypeList[k]);
+      *pout << " Total  Begin - End time\n";
+      table.begin()->prn.setfill('0');
+         // loop
+      vector<TableData>::iterator tit;
+      for(tit=table.begin(); tit!=table.end(); ++tit) {
+         *pout << "PRN " << tit->prn << " ";
+         for(k=0; k<n; k++) *pout << setw(6) << tit->nobs[k];
+         // compute total based on times
+         *pout << setw(6) << 1+int(0.5+(tit->end-tit->begin)/dt);
+         if(GPSTimeOutput) {
+            *pout << "  " << tit->begin.printf("%4F %10.3g")
+               << " - " << tit->end.printf("%4F %10.3g") << endl;
+         }
+         else {
+            *pout << "  " << tit->begin.printf("%04Y/%02m/%02d %02H:%02M:%06.3f")
+               << " - " << tit->end.printf("%04Y/%02m/%02d %02H:%02M:%06.3f") << endl;
+         }
+      }
+      *pout << "TOTAL   "; for(k=0; k<n; k++) *pout << setw(6) << totals[k];
+      *pout << endl;
+
+         // look for 'empty' obs types
+      for(k=0; k<n; k++) {
+         if(totals[k] <= 0) *pout << "\n WARNING: ObsType "
+            << rheader.obsTypeList[k].type
+            << " should be deleted from header.\n";
+      }
+
+      if(ReplaceHeader) {
+            // modify the header
+         rheader.version = 2.1; rheader.valid |= RinexObsHeader::versionValid;
+         rheader.interval = dt; rheader.valid |= RinexObsHeader::intervalValid;
+         rheader.lastObs = last; rheader.valid |= RinexObsHeader::lastTimeValid;
+            // now the table
+         rheader.numSVs = table.size(); rheader.valid |= RinexObsHeader::numSatsValid;
+         rheader.numObsForPrn.clear();
+         for(tit=table.begin(); tit!=table.end(); ++tit) {      // tit defined above
+            rheader.numObsForPrn.insert(
+               map<RinexPrn, vector<int> >::value_type(tit->prn,tit->nobs) );
+         }
+         rheader.valid |= RinexObsHeader::prnObsValid;
+         //*pout << "\nNew header\n";
+         //rheader.dump(*pout);
+
+            // now re-open the file and replace the header
+#ifdef _MSC_VER
+         char newname[L_tmpnam];
+         if(!tmpnam(newname)) {
+            cerr << "Could not create temporary file name - abort\n";
+            return -1;
+         }
+#else
+         char newname[]="RinSumTemp.XXXXXX";
+         if(mkstemp(newname)==-1) {
+            cerr << "Could not create temporary file name - abort\n";
+            return -1;
+         }
+#endif
+
+         RinexObsHeader rhjunk;
+         RinexObsStream ROutStr(newname, ios::out);
+         RinexObsStream InAgain(filename.c_str());
+         InAgain.exceptions(ios::failbit);
+
+         InAgain >> rhjunk;
+         ROutStr << rheader;
+         while(InAgain >> robs) {
+            last = robs.time;
+            if(last < BegTime) continue;
+            if(last > EndTime) break;
+            ROutStr << robs;
+         }
+         InAgain.close();
+         ROutStr.close();
+            // delete original file and rename the temporary
+         iret = remove(filename.c_str());
+         if(iret) *pout << "RinSum: Error: Could not remove existing file: "
+            << filename << endl;
+         else {
+            iret = rename(newname,filename.c_str());
+            if(iret) *pout << "RinSum: ERROR!! Could not rename new file " << newname
+               << " using old name " << filename << endl;
+            else *pout << "\nRinSum: Replaced original header with complete one,"
+               << " using temporary file name "
+               << newname << endl;
+         }
+      }
+
+      *pout << "\n+++++++++++++ End of RinSum summary of " << filename
+         << " +++++++++++++\n";
+   }
+
+   if(pout != &cout) delete pout;
+
+   return 0;
+}
+catch(gpstk::FFStreamError& e) {
+   cerr << e;
+   return 1;
+}
+catch(gpstk::Exception& e) {
+   cerr << e;
+   return 1;
+}
+catch (...) {
+   cerr << "Unknown error.  Abort." << endl;
+   return 1;
+}
+   return 0;
+}   // end main()
+
+//------------------------------------------------------------------------------------
+int GetCommandLine(int argc, char **argv)
+{
+   bool help=false;
+   int j;
+try {
+      // required options
+   //RequiredOption dashi(CommandOption::hasArgument, CommandOption::stdType,
+   CommandOption dashi(CommandOption::hasArgument, CommandOption::stdType,
+      'i',"input"," [-i|--input] <file>  Input file name(s)");
+   //dashi.setMaxCount(1);
+
+      // optional options
+      // this only so it will show up in help page...
+   CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+      'f',""," -f<file>             file containing more options");
+
+   CommandOption dasho(CommandOption::hasArgument, CommandOption::stdType,
+      'o',"output"," [-o|--output] <file> Output file name");
+   dasho.setMaxCount(1);
+   
+   CommandOption dashp(CommandOption::hasArgument, CommandOption::stdType,
+      'p',"path"," [-p|--path] <path>   Path for input file(s)");
+   dashp.setMaxCount(1);
+
+   CommandOptionNoArg dashr('R', "Replace",
+      " [-R|--Replace]       Replace header with full one.");
+      //"\n   *** NB the preceding option DELETES the original file.");
+   //dashr.setMaxCount(1);
+
+   CommandOptionNoArg dashs('s', "sort",
+      " [-s|--sort]          Sort the PRN/Obs table on begin time.");
+
+   CommandOptionNoArg dashg('g', "gps",
+      " [-g|--gps]           Print times in the PRN/Obs table as GPS times.");
+
+   // time
+   CommandOptionWithTimeArg dasheb(0,"EpochBeg","%Y,%m,%d,%H,%M,%f",
+      " --EpochBeg <arg>     Start time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+   CommandOptionWithTimeArg dashgb(0,"GPSBeg","%F,%g",
+      " --GPSBeg <arg>       Start time, arg is of the form GPSweek,GPSsow");
+
+   CommandOptionWithTimeArg dashee(0,"EpochEnd","%Y,%m,%d,%H,%M,%f",
+      " --EpochEnd <arg>     End time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+   CommandOptionWithTimeArg dashge(0,"GPSEnd","%F,%g",
+      " --GPSEnd <arg>       End time, arg is of the form GPSweek,GPSsow\n");
+
+   // allow ONLY one start time (use startmutex(true) if one is required)
+   CommandOptionMutex startmutex(false);
+   startmutex.addOption(&dasheb);
+   startmutex.addOption(&dashgb);
+   CommandOptionMutex stopmutex(false);
+   stopmutex.addOption(&dashee);
+   stopmutex.addOption(&dashge);
+
+   // help and debug
+   CommandOptionNoArg dashh('h', "help",
+      " [-h|--help]          print syntax and quit.");
+   CommandOptionNoArg dashd('d', "debug",
+      " [-d|--debug]         print debugging info.");
+
+   // ... other options
+   CommandOptionRest Rest("filename(s)");
+
+   CommandOptionParser Par(
+      "    Prgm RINSUM reads a Rinex file and summarizes it content.\n");
+
+   // allow user to put all options in a file
+   // could also scan for debug here
+   char **CArgs=argv;
+   vector<string> Args;
+   for(j=1; j<argc; j++) {
+      if(argv[j][0]=='-' && argv[j][1]=='f') {
+         string filename(argv[j]);
+         filename.erase(0,2);
+         ifstream infile(filename.c_str());
+         if(!infile) {
+            cerr << "Error: could not open options file "
+               << filename << endl;
+         }
+         else {
+            char c;
+            string buffer;
+            while( infile >> buffer) {
+               if(buffer[0] == '#') {         // skip to end of line
+                  while(infile.get(c)) { if(c=='\n') break; }
+               }
+               else Args.push_back(buffer);
+            }
+         }
+      }
+      else Args.push_back(argv[j]);
+   }
+
+   if(Args.size()==0) Args.push_back(string("-h"));
+
+   argc = Args.size()+1;
+   CArgs = new char * [argc];
+   if(!CArgs) { cerr << "Failed to allocate CArgs\n"; return -1; }
+   CArgs[0] = argv[0];
+   for(j=1; j<argc; j++) {
+      CArgs[j] = new char[Args[j-1].size()+1];
+      if(!CArgs[j]) { cerr << "Failed to allocate CArgs[j]\n"; return -1; }
+      strcpy(CArgs[j],Args[j-1].c_str());
+   }
+
+   Par.parseOptions(argc, CArgs);
+
+      // get help option first
+   if(dashh.getCount() > 0) {
+      Par.displayUsage(cout,false);
+      help = true;   //return 1;
+   }
+
+   if (Par.hasErrors())
+   {
+      cerr << "\nErrors found in command line input:\n";
+      Par.dumpErrors(cerr);
+      cerr << "...end of Errors\n\n";
+      Par.displayUsage(cout,false);
+      help = true; // return -1;
+   }
+   
+      // get values found on command line
+   vector<string> values;
+      // f never appears because we intercept it above
+   //if(dashf.getCount()) { cout << "Option f "; dashf.dumpValue(cout); }
+
+   if(dashi.getCount()) {
+      InputFiles = dashi.getValue();
+      if(help) {
+         cout << "Input files are:\n";
+         for(int i=0; i<InputFiles.size(); i++)
+            cout << "   " << InputFiles[i] << endl;
+      }
+   }
+   if(dasho.getCount()) {
+      values = dasho.getValue();
+      OutputFile = values[0];
+      if(help) cout << "Output file is " << OutputFile << endl;
+   }
+   if(dashp.getCount()) {
+      values = dashp.getValue();
+      InputDirectory = values[0];
+      if(help) {
+         cout << "Path options are:\n";
+         for(int i=0; i<values.size(); i++) cout << "   " << values[i] << endl;
+      }
+   }
+
+   if(dashr.getCount()) {
+      ReplaceHeader=true;
+      if(help) cout << "Option R appears " << dashr.getCount() << " times\n";
+   }
+   if(dashs.getCount()) {
+      TimeSortTable=true;
+      if(help) cout << "Option s appears " << dashs.getCount() << " times\n";
+   }
+   if(dashg.getCount()) {
+      GPSTimeOutput=true;
+      if(help) cout << "Print times in PRN/Obs table as GPS times\n";
+   }
+   if(dasheb.getCount()) {
+      values = dasheb.getValue();
+      BegTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+      if(help) {
+         cout << "EpochBeg options are:\n";
+         for(int i=0; i<values.size(); i++) cout << values[i] << endl;
+         cout << "BegTime is " << BegTime << endl;
+      }
+   }
+   if(dashee.getCount()) {
+      values = dashee.getValue();
+      EndTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+      if(help) {
+         cout << "EpochEnd options are:\n";
+         for(int i=0; i<values.size(); i++) cout << values[i] << endl;
+         cout << "EndTime is " << EndTime << endl;
+      }
+   }
+   if(dashgb.getCount()) {
+      values = dashgb.getValue();
+      BegTime.setToString(values[0], "%F,%g");
+      if(help) {
+         cout << "GPSBeg options are:\n";
+         for(int i=0; i<values.size(); i++) cout << values[i] << endl;
+         cout << "BegTime is " << BegTime << endl;
+      }
+   }
+   if(dashge.getCount()) {
+      values = dashge.getValue();
+      EndTime.setToString(values[0], "%F,%g");
+      if(help) {
+         cout << "GPSEnd options are:\n";
+         for(int i=0; i<values.size(); i++) cout << values[i] << endl;
+         cout << "EndTime is " << EndTime << endl;
+      }
+   }
+   if(dashh.getCount() && help)
+      cout << "Option h appears " << dashh.getCount() << " times\n";
+   if(dashd.getCount()) {
+      Debug = true;
+      if(help) cout << "Option d appears " << dashd.getCount() << " times\n";
+   }
+
+   if(Rest.getCount())
+   {
+      values = Rest.getValue();
+      if(help) cout << "Input files (w/o -i) are:\n";
+      for (int i=0; i<values.size(); i++) {
+         if(help) cout << "  " << values[i] << endl;
+         InputFiles.push_back(values[i]);
+      }
+   }
+
+   if(Debug && help) {
+      cout << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+      for(j=0; j<Args.size(); j++) cout << Args[j] << endl;
+   }
+   if(help) return 1;
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+      cerr << "RinSum:GetCommandLine caught an exception\n" << e;
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      cerr << "RinSum:GetCommandLine caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/Rinextools/RinexDump b/trunk/apps/Rinextools/RinexDump
new file mode 100755
index 0000000..d9f6db8
Binary files /dev/null and b/trunk/apps/Rinextools/RinexDump differ
diff --git a/trunk/apps/Rinextools/RinexDump.cpp b/trunk/apps/Rinextools/RinexDump.cpp
new file mode 100644
index 0000000..1db2445
--- /dev/null
+++ b/trunk/apps/Rinextools/RinexDump.cpp
@@ -0,0 +1,242 @@
+//------------------------------------------------------------------------------------
+// RinexDump.cpp Read a RINEX file and dump the observation data for the given
+// satellite(s), one satellite per file.
+// Input is on the command line, of the form
+//    RinexDump <file> <satellite> <obstype(s)>
+// Any number of obstypes may appear; if none appear, all are dumped.
+// One satellite ID (e.g. G27) may appear; if none appears, all satellites are
+// dumped (lots of output!).
+// The output file(s) are ASCII column-delimited with week and seconds-of-week
+// in the first two columns, followed by 'observation LLI SSI' for each
+// observation type. The name of the output file(s) is of the form RDump<sat>.dat
+//
+// RinexDump is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexDump.cpp#2 $"
+
+/**
+ * @file RinexDump.cpp
+ * Dump Rinex observation data to a flat file.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "DayTime.hpp"
+
+#include "RinexUtilities.hpp"
+
+#include <vector>
+//#include <time.h>
+
+using namespace std;
+using namespace gpstk;
+
+//------------------------------------------------------------------------------------
+// find the index of first occurance of item t (of type T) in vector<T> v;
+// i.e. v[index]=t  Return -1 if t is not found.
+template<class T> int index(const std::vector<T> v, const T& t) 
+{
+   for(int i=0; i<v.size(); i++) {
+      if(v[i] == t) return i;
+   }
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+// Returns 0 on success.  Input and output files should diff without error.
+int main(int argc, char *argv[])
+{
+   //clock_t totaltime=clock();
+
+   if (argc < 2) {
+      cout << "Read a Rinex file and dump the observation data\n"
+         "    for the given satellite(s).\n"
+         " Usage: RinexDump [-n] <file> [<satellite(s)> <obstype(s)>]\n"
+         "    Output is to the screen with one line per satellite/epoch,\n"
+         "    columns <week> <sow> <sat> <obs LLI SSI> for each obs type\n"
+         "    (1st line echos input, 2nd is column labels).\n"
+         "    If <satellite> and/or <obstype> are missing, all are dumped.\n"
+         "    Option -n make output purely numeric.\n";
+      return -1;
+   }
+
+   bool AllNumeric = false;
+   int j0=1;
+   if(string(argv[1]) == "-n") {
+      j0 = 2;
+      AllNumeric = true;
+   }
+
+try {
+   int j;
+   bool DumpAll=(argc-j0+1==2),DumpAllObs=false,DumpAllSat=false,lineout;
+   RinexObsHeader::RinexObsType ot;
+   RinexPrn sat;
+   vector<RinexObsHeader::RinexObsType> otlist;
+   vector<RinexPrn> satlist;
+   RinexObsStream RinFile(argv[j0]);
+   RinexObsHeader header;
+   RinexObsData obsdata;
+
+   sat.setfill('0');
+   RegisterARLUTExtendedTypes();
+   //cout << "Registered Obs types are:\n";
+   //for(j=0; j<RinexObsHeader::RegisteredRinexObsTypes.size(); j++)
+   //   cout << "ROT[" << j << "] = " << RinexObsHeader::RegisteredRinexObsTypes[j]
+   //   << endl;
+
+   // parse command line input
+   if(!DumpAll) {
+      for(j=j0+1; j<argc; j++) {
+         sat = StringUtils::asData<RinexPrn>(string(argv[j]));
+         ot = RinexObsHeader::convertObsType(argv[j]);
+         if(RinexObsHeader::convertObsType(ot) == string("UN")) {
+            if(sat.prn == -1) {
+               cout << "Error: input argument " << argv[j]
+                  << " is not recognized as either satellite or observation type\n";
+               continue;
+            }
+            else { satlist.push_back(sat); }
+         }
+         else { otlist.push_back(ot); }
+      }
+
+      if(otlist.size() == 0) DumpAllObs=true;
+      if(satlist.size() == 0) DumpAllSat=true;
+   }
+   else DumpAllObs=DumpAllSat=true;
+
+   // does the file exist?
+   if(!RinFile) {
+      cerr << "Error: input file " << argv[j0] << " does not exist.\n";
+      return -1;
+   }
+   RinFile.exceptions(fstream::failbit);
+
+   // is it a Rinex Obs file? ... read the header
+   try { RinFile >> header; } catch(gpstk::Exception& e) {
+      cerr << "Error: input file " << argv[j0] << " is not a Rinex obs file\n";
+      return -2;
+   }
+   //cout << "Rinex header:\n";
+   //header.dump(cout);
+   
+   if(DumpAllObs) for(j=0; j<header.obsTypeList.size(); j++)
+      otlist.push_back(header.obsTypeList[j]);
+
+   // echo input
+   cout << "# Rinexdump file: " << argv[j0];
+   cout << " Satellites:";
+   if(satlist.size()>0) for(j=0; j<satlist.size(); j++) {
+      cout << " " << satlist[j];
+   }
+   else cout << " ALL";
+   cout << " Observations:";
+   if(!DumpAllObs) for(j=0; j<otlist.size(); j++)
+      cout << " " << RinexObsHeader::convertObsType(otlist[j]);
+   else cout << " ALL";
+   cout << endl;
+
+   // dump the column headers
+   cout << "# Week  GPS_sow Sat";
+   for(j=0; j<otlist.size(); j++) {
+      cout << "            " << RinexObsHeader::convertObsType(otlist[j]) << " L S";
+   }
+   cout << endl;
+
+   cout << fixed;
+   while(RinFile >> obsdata)
+   {
+      RinexObsData::RinexPrnMap::const_iterator it;
+      RinexObsData::RinexObsTypeMap::const_iterator jt;
+      if(obsdata.epochFlag != 0 && obsdata.epochFlag != 1)        // not regular data
+         continue;
+      //else if(obsdata.epochFlag > 1 && obsdata.epochFlag < 6) {    // header records
+      //   obsdata.auxHeader.dump(cout);
+      //}
+
+      // loop over satellites
+      for(it=obsdata.obs.begin(); it != obsdata.obs.end(); ++it) {
+         if(!DumpAll && !DumpAllSat && index(satlist, it->first) == -1) continue;
+         // loop over obs
+         lineout = false;            // set true only when data exists to output
+         for(j=0; j<otlist.size(); j++) {
+            if((jt=it->second.find(otlist[j])) == it->second.end()) {
+               cout << " " << setw(13) << setprecision(3)
+                  << 0.0 << " " << 0 << " " << 0;
+            }
+            else {
+               if(!lineout) {       // output a line
+                  // time tag
+                  cout << setw(4) << obsdata.time.GPSfullweek()
+                     << setw(11) << setprecision(3) << obsdata.time.GPSsecond();
+                  // satellite
+                  cout << " ";
+                  if(AllNumeric)
+                     cout << setw(3) << it->first.prn;
+                  else
+                     cout << it->first;
+                  lineout = true;
+               }
+               cout << " " << setw(13) << setprecision(3) << jt->second.data
+                  << " " << jt->second.lli << " " << jt->second.ssi;
+            }
+         }
+         if(lineout) cout << endl;
+      }
+   }
+
+   //totaltime = clock()-totaltime;
+   //cerr << "RinexDump timing: " << setprecision(3)
+      //<< double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+   return 0;
+}
+catch(gpstk::FFStreamError& e)
+{
+   cout << e;
+   return 1;
+}
+catch(gpstk::Exception& e)
+{
+   cout << e;
+   return 1;
+}
+catch (...)
+{
+   cout << "unknown error.  Done." << endl;
+   return 1;
+}
+   return -1;
+} // main()
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/Rinextools/RinexEditor.cpp b/trunk/apps/Rinextools/RinexEditor.cpp
new file mode 100644
index 0000000..01bb371
--- /dev/null
+++ b/trunk/apps/Rinextools/RinexEditor.cpp
@@ -0,0 +1,1290 @@
+//------------------------------------------------------------------------------------
+// RinexEditor.cpp
+//
+// RinexEditor is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexEditor.cpp#4 $"
+
+/**
+ * @file RinexEditor.cpp
+ * Edit Rinex observation files.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+// TD Do better at catching exceptions
+
+//------------------------------------------------------------------------------------
+#include <vector>
+#include <algorithm>
+#include <time.h>
+
+#include "MathBase.hpp"
+#include "DayTime.hpp"
+#include "StringUtils.hpp"
+#include "RinexObsStream.hpp"
+
+#include "RinexEditor.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+//------------------------------------------------------------------------------------
+string RinexEditVersion("3.0 9/8/2003");
+
+//------------------------------------------------------------------------------------
+// find the index of first occurance of item t (of type T) in vector<T> v;
+// i.e. v[index]=t  Return -1 if t is not found.
+template<class T> int index(const std::vector<T> v, const T& t) 
+{
+   for(int i=0; i<v.size(); i++) {
+      if(v[i] == t) return i;
+   }
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+// REditCmd member functions
+//------------------------------------------------------------------------------------
+// constructor from a string, pass by value to avoid changing original
+REditCmd::REditCmd(string s)
+{
+   type = INVALID;
+
+   //*oflog << "\nREC: raw cmd is " << s << endl;
+      // ignore leading '-'s
+   while(s.size() && (s[0]=='-' || (s[0]==' '||s[0]=='\t'))) s.erase(0,1);
+   if(s.size() < 2) return;
+
+      // separate type and the rest
+   string tag=s.substr(0,2);
+   field = s.substr(2,s.size()-2);
+   //*oflog << "REC: tag and field are " << tag << " " << field << endl;
+
+      // first identify the type
+   if(tag=="IF") type = IF;
+   else if(tag=="OF") type = OF;
+   else if(tag=="ID") type = ID;
+   else if(tag=="OD") type = OD;
+   else if(tag=="HD") type = HD;
+   else if(tag=="AO") type = AO;
+   else if(tag=="TN") type = TN;
+   else if(tag=="TB") type = TB;
+   else if(tag=="TE") type = TE;
+   else if(tag=="TT") type = TT;
+   else if(tag=="DA") type = DA;
+   else if(tag=="DO") type = DO;
+   else if(tag=="DS") type = DS;
+   else if(tag=="DD") type = DD;
+   else if(tag=="SD") type = SD;
+   else if(tag=="SS") type = SS;
+   else if(tag=="SL") type = SL;
+   else if(tag=="BZ") type = BZ;
+   else if(tag=="BD") type = BD;
+   else if(tag=="BS") type = BS;
+   else if(tag=="BL") type = BL;
+   //else its not an RE command
+
+      // defaults
+   bias = -99.99;
+   SV = RinexPrn(33,systemGPS);
+   sign = 0;
+   inOT = -1;
+   time = DayTime::BEGINNING_OF_TIME;
+
+      // bail if invalid
+   if(type==INVALID) return;
+
+      // BZ needs nothing more
+   if(type==BZ) return;
+
+      // break field into subfields
+   vector<string> subfield;
+   string::size_type pos;
+   while(field.size() > 0) {
+      pos = field.find(",");
+      if(pos==string::npos) pos=field.size();
+      if(pos==0) subfield.push_back(" ");
+      else subfield.push_back(field.substr(0,pos));
+      if(pos >= field.size()) break;
+      field.erase(0,pos+1);
+   };
+
+   //if(REDebug) *oflog << "REC: subfields are:";
+   //if(REDebug) for(int i=0; i<subfield.size(); i++) *oflog << " " << subfield[i];
+   //if(REDebug) *oflog << endl;
+
+      // TN just needs time spacing
+   if(type==TN) {
+      bias = StringUtils::asDouble(subfield[0]);
+      // validate?
+      //if(REDebug) *oflog << "REC: TN returns" << endl;
+      return;
+   }
+
+      // TT just needs delta time
+   if(type==TT) {
+      bias = StringUtils::asDouble(subfield[0]);
+      // validate?
+      //if(REDebug) *oflog << "REC: TT returns" << endl;
+      return;
+   }
+
+      // get (optional) sign
+   if(type==DA || type==DS || type==DD || type==SL || type==BD) {
+      if(subfield[0][0]=='+') { sign=+1; subfield[0].erase(0,1); }
+      if(subfield[0][0]=='-') { sign=-1; subfield[0].erase(0,1); }
+   }
+   //if(REDebug) *oflog << "REC: sign is " << sign << endl;
+ 
+      // field = filename, OT, or header info
+   if(type==IF || type==OF || type==ID || type==OD || type==HD
+         || type==AO || type==DO) {
+      field = subfield[0];
+      //if(REDebug) *oflog << "REC: field is " << field << endl;
+      if(type==HD) {            // inOT = int(first character)
+         char c=field[0];
+         inOT = int(toupper(c));
+         //if(REDebug) *oflog << "REC: HD inOT is " << char(inOT) << endl;
+         if(inOT!='F' && inOT!='P' && inOT!='R' && inOT!='O' && inOT!='A' &&
+            inOT!='M' && inOT!='N' && inOT!='C' && inOT!='D')
+               { type=INVALID; return; }
+         field.erase(0,1);
+      }
+      if(type!=OF || subfield.size()==1) return;
+      subfield.erase(subfield.begin());
+   }
+   else field = string(" ");
+
+      // get an SV
+   if(type >= DS) {
+      SV = StringUtils::asData<RinexPrn>(subfield[0]);
+      //if(REDebug) *oflog << "REC: PRN is " << SV << endl;
+         // default (incl. error) is GPS
+         // let prn==-1 denote 'delete all SV of this system'
+      if((type==DS || type==SL) && SV.prn == -1) ;   // ok
+      else if(SV.system == systemGPS && (SV.prn<=0 || SV.prn>32))
+         { type=INVALID; return; }
+      if(type==DS && subfield.size()==1) return;
+      subfield.erase(subfield.begin());
+   }
+
+      // get an OT
+   if(type >= DD) {
+      field = subfield[0];
+         // TD have a bool valid(string) function or bool valid(RinexObsType)
+      RinexObsHeader::RinexObsType rot=RinexObsHeader::convertObsType(field);
+      if(rot.type==string("UN")) { type=INVALID; return; }
+      //if(REDebug) *oflog << "REC: processed OT is " << rot.type << endl;
+      subfield.erase(subfield.begin());
+   }
+
+      // get a time
+   if(subfield.size()==2 || subfield.size()==3) {
+      time.setGPSfullweek(StringUtils::asInt(subfield[0]),
+         StringUtils::asDouble(subfield[1]));
+   }
+   if(subfield.size()==6 || subfield.size()==7) {
+      time.setYMDHMS(StringUtils::asInt(subfield[0]), StringUtils::asInt(subfield[1]),
+         StringUtils::asInt(subfield[2]), StringUtils::asInt(subfield[3]),
+         StringUtils::asInt(subfield[4]), StringUtils::asDouble(subfield[5]));
+   }
+   //if(REDebug) *oflog << "REC: time is "
+   //<< time.printf("%4Y/%2m/%2d %2H:%2M:%.4f") << endl;
+   // test validity?
+
+      // bias
+   if(type >= SD) {
+      //if(REDebug) *oflog << "REC: bias field is " << subfield.back() << endl;
+      bias = StringUtils::asDouble(subfield.back().c_str());
+      //if(REDebug) *oflog << "REC: bias is " << bias << endl;
+   }
+
+}   // end REditCmd::REditCmd(string)
+
+//------------------------------------------------------------------------------------
+REditCmd::~REditCmd(void)
+{
+}
+
+//------------------------------------------------------------------------------------
+void REditCmd::Dump(ostream& os, string msg)
+{
+   string label[]={"INVALID","IF","OF","ID","OD","HD","TN","TB","TT","TE","AO",
+      "DA","DO","DS","DD","SD","SS","SL","BD","BS","BL","BZ" };
+   if(msg.size()) os << msg;
+   os << " type=" << label[type] << ", sign=" << sign << ", SV="
+      << StringUtils::asString(SV)
+      << ", inOT=" << inOT
+      << ", field=" << field
+      << ", bias=" << fixed << setprecision(3) << bias
+      << ", time = " << time.printf("%4Y/%2m/%2d %2H:%2M:%.4f") << endl;
+}
+
+//------------------------------------------------------------------------------------
+// RinexEditor member functions
+//------------------------------------------------------------------------------------
+RinexEditor::RinexEditor(void)
+{
+   Decimate = 0.0;
+   TimeTol = 0.001;
+   BegTime = DayTime::BEGINNING_OF_TIME;
+   EndTime = DayTime::END_OF_TIME;
+   REVerbose = REDebug = BiasZeroData = FillOptionalHeader = HDDeleteOldComments
+      = false;
+   Skip = false;
+   IVLast = IVInterval = IVTable = false;
+   for(int i=0; i<9; i++) ndt[i]=-1;
+   oflog = &cout;
+}
+
+//------------------------------------------------------------------------------------
+RinexEditor::~RinexEditor(void)
+{
+   Cmds.erase(Cmds.begin(),Cmds.end());
+   OneTimeCmds.erase(OneTimeCmds.begin(),OneTimeCmds.end());
+   CurrentCmds.erase(CurrentCmds.begin(),CurrentCmds.end());
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok, -1 no input file name, -2 no output file name
+int RinexEditor::ParseCommands(void)
+{
+   bool flag;
+   int iret=0;
+      // first scan command list for BZ,HDf,TN,TT,TB,TE,IF,OF,ID,OD
+   for(int i=0; i<Cmds.size(); i++) {
+      switch(Cmds[i].type) {
+         case REditCmd::TN:
+            Decimate = Cmds[i].bias;
+            IVInterval = true;
+            //if(REDebug) Cmds[i].Dump(*oflog,string("set TN with this cmd"));
+            Cmds[i].type = REditCmd::INVALID;
+            break;
+         case REditCmd::TT:
+            TimeTol = Cmds[i].bias;
+            if(REDebug) Cmds[i].Dump(*oflog,string("set TT with this cmd"));
+            Cmds[i].type = REditCmd::INVALID;
+            break;
+         case REditCmd::TB:
+            BegTime = Cmds[i].time;
+            IVTable = true;
+            //if(REDebug) Cmds[i].Dump(*oflog,string("set TB with this cmd"));
+            Cmds[i].type = REditCmd::INVALID;
+            break;
+         case REditCmd::TE:
+            EndTime = Cmds[i].time;
+            IVLast = IVTable = true;
+            //if(REDebug) Cmds[i].Dump(*oflog,string("set TE with this cmd"));
+            Cmds[i].type = REditCmd::INVALID;
+            break;
+         case REditCmd::IF:
+            InputFile = Cmds[i].field;
+            //if(REDebug) Cmds[i].Dump(*oflog,string("set IF with this cmd"));
+            Cmds[i].type = REditCmd::INVALID;
+            break;
+         case REditCmd::OF:
+            if(Cmds[i].time == DayTime::BEGINNING_OF_TIME) {
+               OutputFile = Cmds[i].field;
+               //if(REDebug) Cmds[i].Dump(*oflog,string("set OF with this cmd"));
+               Cmds[i].type = REditCmd::INVALID;
+            }
+            break;
+         case REditCmd::ID:
+            InputDir = Cmds[i].field;
+            //if(REDebug) Cmds[i].Dump(*oflog,string("set ID with this cmd"));
+            Cmds[i].type = REditCmd::INVALID;
+            break;
+         case REditCmd::OD:
+            OutputDir = Cmds[i].field;
+            //if(REDebug) Cmds[i].Dump(*oflog,string("set OD with this cmd"));
+            Cmds[i].type = REditCmd::INVALID;
+            break;
+         case REditCmd::BZ:
+            BiasZeroData = true;
+            //if(REDebug) Cmds[i].Dump(*oflog,string("set BZ with this cmd"));
+            Cmds[i].type = REditCmd::INVALID;
+            break;
+         case REditCmd::HD:
+            flag = true;
+            switch(Cmds[i].inOT) {
+               case int('F'): FillOptionalHeader=true; break;
+               case int('D'): HDDeleteOldComments=true; break;
+               case int('P'): HDProgram=Cmds[i].field; break;
+               case int('R'): HDRunBy=Cmds[i].field; break;
+               case int('O'): HDObserver=Cmds[i].field; break;
+               case int('A'): HDAgency=Cmds[i].field; break;
+               case int('M'): HDMarker=Cmds[i].field; break;
+               case int('N'): HDNumber=Cmds[i].field; break;
+               case int('C'): HDComments.push_back(Cmds[i].field); break;
+               default: flag=false; break;
+            }
+            if(flag) {
+               //if(REDebug) Cmds[i].Dump(*oflog,string("set HD rec with this cmd"));
+               Cmds[i].type = REditCmd::INVALID;
+            }
+            break;
+         default: break;
+      }
+   }
+
+      // require an input file name
+   if(InputFile.empty()) iret -= 1;
+   else if(!InputDir.empty()) InputFile = InputDir + string("/") + InputFile;
+
+      // now iterate over the list in reverse, deleting INVALID commands.
+   deque<REditCmd>::iterator jt,it=Cmds.begin();
+   while(it != Cmds.end()) {
+      if(it->type == REditCmd::INVALID) {
+         //if(REDebug) it->Dump(*oflog,string("Erase this INVALID command:"));
+         it = Cmds.erase(it);
+      }
+      else it++;
+   }
+
+      // sort on time
+   sort(Cmds.begin(),Cmds.end(),REditCmdLessThan());
+
+      // iterate over the command list, make sure first OF command has no time tag
+   it = Cmds.begin();
+   if(OutputFile.empty()) {
+      while(it != Cmds.end()) {
+         if(it->type==REditCmd::OF) {
+            if(OutputFile.empty()) {
+               OutputFile = it->field;
+            //if(REDebug) it->Dump(*oflog,string("Let this command set begin time"));
+               BegTime = it->time;
+               it->time = DayTime::BEGINNING_OF_TIME;
+            }
+         }
+         else { IVLast=true; break; }
+         it++;
+      }
+   }
+   if(OutputFile.empty()) {   // error
+      iret -= 2;
+   }
+   else if(!OutputDir.empty()) OutputFile = OutputDir + string("/") + OutputFile;
+
+   if(iret) return iret;
+
+      // iterate again, ensure that - commands have corresponding +
+   deque<REditCmd> newCmds;
+   it = Cmds.begin();
+   while(it != Cmds.end()) {
+      if(it->sign == -1) {
+         if(REDebug) it->Dump(*oflog,string("This one needs a +"));
+         flag=false;
+         if(it != Cmds.begin()) {
+            jt = it;
+            bool last=((--jt)==Cmds.begin());
+            while(1) {
+               if(jt->type==it->type && jt->SV==it->SV && jt->field==it->field) {
+                  if(REDebug) jt->Dump(*oflog,string("Is this the one ?"));
+                  flag = true;
+                  break;
+               }
+               if(last) break;
+               last = (--jt==Cmds.begin());
+            }
+         }
+         if(!flag) {
+            REditCmd re(*it);
+            re.sign = 1;
+            re.time = BegTime;
+            newCmds.push_back(re);
+            if(REDebug) re.Dump(*oflog,string("Add this new command:"));
+         }
+      }
+      it++;
+   }
+
+      // add new commands and sort again
+   it = newCmds.begin();
+   while(it != newCmds.end()) {
+      if(REDebug) it->Dump(*oflog,string("this is a new command:"));
+      Cmds.push_back(*it);
+      it++;
+   }
+   sort(Cmds.begin(),Cmds.end(),REditCmdLessThan());
+
+   if(REDebug)
+      for(it=Cmds.begin(); it != Cmds.end(); it++)
+         it->Dump(*oflog,string("final"));
+
+      // have to set the IVTable flag...
+   if(!IVTable) for(it=Cmds.begin(); it != Cmds.end(); it++) {
+      if(it->type==REditCmd::DS || it->type==REditCmd::DA || it->type==REditCmd::DS ||
+         it->type==REditCmd::DO || it->type==REditCmd::AO || it->type==REditCmd::DD)
+            { IVTable = true; break; }
+   }
+
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+// leading -'s are ok
+void RinexEditor::AddCommand(string cmd)
+{
+   REditCmd r(cmd);
+   if(r.valid()) Cmds.push_back(r);
+}
+
+//------------------------------------------------------------------------------------
+// Adds valid commands to C and removes from args; leading -'s are ok
+void RinexEditor::AddCommandLine(vector<string>& args)
+{
+   if(args.size()==0) return;
+   //if(REDebug) *oflog << "\nBefore stripping RE cmds, there are (" << args.size()
+   //<< ") tokens." << endl;
+   vector<string>::iterator it=args.begin();
+   while(it != args.end()) {
+      REditCmd r(*it);
+      if(r.valid()) {
+         Cmds.push_back(r);
+         //if(REDebug) *oflog << "Erase command " << *it << endl;
+         it = args.erase(it);
+      }
+      else {
+         //if(REDebug) *oflog << "Its not an RE command: " << *it << endl;
+         it++;
+      }
+   }
+   //if(REDebug) *oflog << "\nAfter stripping RE cmds, tokens (" << args.size()
+   //<< ") are:" << endl;
+   //if(REDebug) for(unsigned int j=0; j<args.size(); j++) *oflog << args[j] << endl;
+}
+
+//------------------------------------------------------------------------------------
+// NB does not fill optional records, even when -HDf (EditObs will).
+int RinexEditor::EditHeader(RinexObsHeader& RHInput, RinexObsHeader& RHOutput)
+{
+      // save the input header
+   RHIn = RHOutput = RHInput;
+      // get the obstypes
+   ObsTypes = RHInput.obsTypeList;
+      // iterate over the list (in reverse), applying, then deleting, AO, DO
+      // and DS<SV> commands
+   deque<REditCmd>::iterator it=Cmds.begin();
+   while(it != Cmds.end()) {
+      if(it->type==REditCmd::AO || it->type==REditCmd::DO) {
+         //if(REDebug) it->Dump(*oflog,string("Apply and Erase this AO/DO command:"));
+         RinexObsHeader::RinexObsType rot=RinexObsHeader::convertObsType(it->field);
+         vector<RinexObsHeader::RinexObsType>::iterator jt;
+         jt = find(ObsTypes.begin(),ObsTypes.end(),rot);
+         if(jt != ObsTypes.end() && it->type==REditCmd::DO) {
+            ObsTypes.erase(jt);
+         }
+         if(jt == ObsTypes.end() && it->type==REditCmd::AO) {
+            ObsTypes.push_back(rot);
+         }
+         it = Cmds.erase(it);
+      }
+      else if(it->type==REditCmd::DS
+            && it->time==DayTime::BEGINNING_OF_TIME) {
+         //if(REDebug) it->Dump(*oflog,string("Apply and Erase this DS command:"));
+         if(index(DelSV,it->SV) == -1) DelSV.push_back(it->SV);
+         it = Cmds.erase(it);
+      }
+      else it++;
+   }
+
+   RHOutput.obsTypeList = ObsTypes;
+
+      // fill records in output header
+   DayTime currtime;
+   time_t timer;
+   struct tm *tblock;
+   timer = time(NULL);
+   tblock = localtime(&timer);
+   currtime.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+      tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+   RHOutput.date = currtime.printf("%04Y/%02m/%02d %02H:%02M:%02S");
+   { // figure out system -- anything else will be up to caller
+      bool gps,glo,tra,geo;
+      if(find(DelSV.begin(),DelSV.end(),RinexPrn(-1,systemGPS)) != DelSV.end())
+         gps=false; else gps=true;
+      if(find(DelSV.begin(),DelSV.end(),RinexPrn(-1,systemGlonass)) != DelSV.end())
+         glo=false; else glo=true;
+      if(find(DelSV.begin(),DelSV.end(),RinexPrn(-1,systemTransit)) != DelSV.end())
+         tra=false; else tra=true;
+      if(find(DelSV.begin(),DelSV.end(),RinexPrn(-1,systemGeosync)) != DelSV.end())
+         geo=false; else geo=true;
+      if(!glo && !tra && !geo) RHOutput.system = systemGPS;
+      if(!gps && !tra && !geo) RHOutput.system = systemGlonass;
+      if(!gps && !glo && !geo) RHOutput.system = systemTransit;
+      if(!gps && !glo && !tra) RHOutput.system = systemGeosync;
+   }
+   if(HDDeleteOldComments) {
+      RHOutput.commentList.clear();
+      RHOutput.valid ^= RinexObsHeader::commentValid;
+   }
+   if(!HDProgram.empty()) RHOutput.fileProgram = HDProgram;
+   if(!HDRunBy.empty()) RHOutput.fileAgency = HDRunBy;
+   if(!HDObserver.empty()) RHOutput.observer = HDObserver;
+   if(!HDAgency.empty()) RHOutput.agency = HDAgency;
+   if(!HDMarker.empty()) RHOutput.markerName = HDMarker;
+   if(!HDNumber.empty()) RHOutput.markerNumber = HDNumber;
+   if(HDComments.size()) RHOutput.commentList.insert(RHOutput.commentList.end(),
+      HDComments.begin(),HDComments.end());
+   RHOutput.commentList.push_back(string("Edited by GPSTK Rinex Editor ver ") +
+      RinexEditVersion+string(" on ") + RHOutput.date);
+   RHOutput.valid |= RinexObsHeader::commentValid;
+
+      // invalidate header records
+   if(IVTable && (RHOutput.valid & RinexObsHeader::numSatsValid))
+      RHOutput.valid ^= RinexObsHeader::numSatsValid;
+   if(IVTable && (RHOutput.valid & RinexObsHeader::prnObsValid))
+      RHOutput.valid ^= RinexObsHeader::prnObsValid;
+   if(IVLast && (RHOutput.valid & RinexObsHeader::lastTimeValid))
+      RHOutput.valid ^= RinexObsHeader::lastTimeValid;
+   if(IVInterval && (RHOutput.valid & RinexObsHeader::intervalValid))
+      RHOutput.valid ^= RinexObsHeader::intervalValid;
+
+   RHOut = RHOutput;  // save this header; if(FillOptionalHeader) mod RHOut in EditObs
+
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+// will fill header (after writing) when -HDf found.
+// Return -2 error
+//        -1 quit
+//         0 DO NOT write the output obs ROOut
+//         1 DO NOT write the output obs ROOut, but close and re-open the output file
+//         2 DO write the output obs ROOut
+//         3 DO write the output obs ROOut, but first close and re-open output file
+int RinexEditor::EditObs(RinexObsData& ROIn, RinexObsData& ROOut)
+{
+      // check that stored input header is valid...but do only once!
+   //if(!RHIn.valid() || !RHOut.valid()) return -2;
+   bool NewFile=false;
+
+      // test time limits
+      // TD some comment blocks have blank epochs...
+   if(ROIn.time-BegTime < -TimeTol) return 0;
+   if(ROIn.time-EndTime >  TimeTol) return -1;
+
+      // when embedded comments found, just copy and go on
+   if(ROIn.epochFlag != 0 && ROIn.epochFlag != 1) {
+      ROOut = ROIn;
+      return 2;
+   }
+
+      // decimate the data // TD consider clock bias?
+   if(Decimate > 0.0) {
+         // if BegTime is unset, make it the first of the week
+      if(BegTime == DayTime::BEGINNING_OF_TIME)
+         BegTime.setGPSfullweek(ROIn.time.GPSfullweek(),0.0);
+      double dt=ABS(ROIn.time - BegTime);
+      dt -= Decimate*long(0.5+dt/Decimate);
+      if(ABS(dt) > TimeTol) return 0;
+   }
+
+      // TD allow callback to fill new obs types here...
+   
+      // scan command list, updating current, onetime command lists,
+      // delete-SV list, Skip, NewFile
+      // delete the command after processing it
+   double dt;
+   while(Cmds.size() > 0) {
+      dt = Cmds[0].time - ROIn.time;
+      if(dt < -TimeTol || ABS(dt) < TimeTol) {  // commands in present and past
+         if(REDebug) Cmds[0].Dump(*oflog,
+               Cmds[0].time.printf("%4Y/%2m/%2d %2H:%2M:%.4f")
+               + string(": Process (now) : "));
+         switch(Cmds[0].type) {
+            case REditCmd::DA:
+               if(Cmds[0].sign > 0) Skip=true;
+               if(Cmds[0].sign < 0) Skip=false;
+               break;
+            case REditCmd::OF:
+               OutputFile = Cmds[0].field;
+               if(!OutputDir.empty()) OutputFile = OutputDir + string("/")
+                  + OutputFile;
+               NewFile = true;
+               break;
+            case REditCmd::DS:
+               if(Cmds[0].sign > 0 && index(DelSV,Cmds[0].SV) == -1)
+                  DelSV.push_back(Cmds[0].SV);
+               if(Cmds[0].sign < 0)
+                  DelSV.erase(find(DelSV.begin(),DelSV.end(),Cmds[0].SV));
+               if(Cmds[0].sign == 0 && ABS(dt) < TimeTol)
+                  OneTimeCmds.push_back(Cmds[0]);
+               if(Cmds[0].sign != 0 && REDebug) {
+                  *oflog << "DS: DelSV is";
+                  for(int itemp=0; itemp<DelSV.size(); itemp++)
+                     *oflog << " " << DelSV[itemp];
+                  *oflog << endl;
+               }
+               break;
+            case REditCmd::DD:
+            case REditCmd::SS:
+            case REditCmd::SL:
+            case REditCmd::SD:
+            case REditCmd::BD:
+               if(Cmds[0].sign > 0) CurrentCmds.push_back(Cmds[0]);
+               if(Cmds[0].sign < 0) CurrentCmds.erase(find(CurrentCmds.begin(),
+                   CurrentCmds.end(),Cmds[0]));
+               if(Cmds[0].sign == 0 && ABS(dt) < TimeTol)
+                  OneTimeCmds.push_back(Cmds[0]);
+               break;
+            default:
+               if(REDebug) Cmds[0].Dump(*oflog,
+                     Cmds[0].time.printf("%4Y/%2m/%2d %2H:%2M:%.4f")
+                     + string(": This command not implemented! : "));
+               break;
+         }   // end switch(type)
+
+            // delete this command
+         if(REDebug) Cmds[0].Dump(*oflog,
+               Cmds[0].time.printf("%4Y/%2m/%2d %2H:%2M:%.4f")
+               + string(": Delete (old) : "));
+         Cmds.pop_front();
+      }
+      else break;              // this command (and all others) is in future
+   }
+
+      // clear out anything old
+   ROOut.obs.clear();
+
+      // if not writing out, return here
+   if(Skip && !NewFile) return 0;
+   if(Skip && NewFile) return 1;
+
+      // copy data over to new obs structure
+   RinexObsData::RinexDatum datum;                       // place holder and zero
+   datum.data = 0.0;
+   datum.lli = datum.ssi = 0;
+   RinexObsData::RinexObsTypeMap otmap;           // place holder for ROOut.obs.second
+
+   for(int j=0; j<RHOut.obsTypeList.size(); j++)  // loop over obstypes (out) in otmap
+      otmap.insert(std::map<RinexObsHeader::RinexObsType,
+         RinexObsData::RinexDatum>::value_type(RHOut.obsTypeList[j],datum) );
+
+      // loop over prns, create otmap and then insert it with the correct prn
+   int nsvs=0;
+   RinexObsData::RinexPrnMap::iterator it;
+   RinexObsData::RinexObsTypeMap::iterator jt,kt;
+   for(it=ROIn.obs.begin(); it != ROIn.obs.end(); ++it) {
+      // loop over prn=it->first, ObsTypeMap=it->second
+      if(find(DelSV.begin(),DelSV.end(),it->first) != DelSV.end()) {
+         if(REDebug) *oflog << "Deleted sat " << it->first
+            << " at " << ROIn.time << endl;
+         continue;
+      }
+      RinexPrn p(-1,it->first.system);
+      if(find(DelSV.begin(),DelSV.end(),p) != DelSV.end()) continue;
+      for(int j=0; j<RHOut.obsTypeList.size(); j++) { // loop over obstypes
+         jt = otmap.find(RHOut.obsTypeList[j]);  // jt points to ObsTypeMap output
+         kt = it->second.find(RHOut.obsTypeList[j]);  // kt points to ObsTypeMap input
+         if(kt==it->second.end())                        // not found
+            jt->second = datum;
+         else
+            jt->second = kt->second;
+      }
+      // TD should test for all zero data -> delete this SV.
+      ROOut.obs.insert(std::map<RinexPrn,
+         RinexObsData::RinexObsTypeMap>::value_type(it->first,otmap) );
+   }
+
+   ROOut.time = ROIn.time;
+   if(!NewFile) {
+      PrevEpoch = CurrEpoch;
+      CurrEpoch = ROOut.time;
+   }
+   ROOut.clockOffset = ROIn.clockOffset;
+   ROOut.epochFlag = ROIn.epochFlag;
+
+      // apply current commands
+   vector<REditCmd>::iterator cit;
+   RinexObsData::RinexPrnMap::reverse_iterator roit;
+   for(cit=CurrentCmds.begin(); cit != CurrentCmds.end(); cit++) {
+      if(REDebug) cit->Dump(*oflog,string("Current : "));
+         // modify all satellites in this system
+      if(cit->type == REditCmd::SL && cit->SV.prn == -1) {
+         for(roit=ROOut.obs.rbegin(); roit!=ROOut.obs.rend(); roit++) {
+            if(cit->SV.system == roit->first.system) {
+               jt = (roit->second).find(RinexObsHeader::convertObsType(cit->field));
+               if(jt != roit->second.end()) jt->second.lli = int(cit->bias);
+            }
+         }
+      }
+      it = ROOut.obs.find(cit->SV);
+      if(it != ROOut.obs.end()) {
+         jt = (it->second).find(RinexObsHeader::convertObsType(cit->field));
+         if(jt != it->second.end()) {
+            if(cit->type == REditCmd::DD) jt->second.data = 0.0;
+            if(cit->type == REditCmd::BD) {
+               if(BiasZeroData || ABS(jt->second.data) > 0.001)
+                  jt->second.data += cit->bias;
+            }
+            if(cit->type == REditCmd::SL) jt->second.lli = int(cit->bias);
+         }
+      }
+   }
+
+      // apply one-time commands
+   vector<REditCmd>::reverse_iterator irt;
+   for(irt=OneTimeCmds.rbegin(); irt != OneTimeCmds.rend(); irt++) {
+      if(REDebug) irt->Dump(*oflog,string("1-time : "));
+         // delete all satellites in this system
+      if((irt->type == REditCmd::DS || irt->type == REditCmd::SL)
+            && irt->SV.prn == -1) {
+         for(roit=ROOut.obs.rbegin(); roit!=ROOut.obs.rend(); roit++) {
+            if(irt->SV.system == roit->first.system) {
+               if(irt->type == REditCmd::DS) ROOut.obs.erase(roit->first);
+               if(irt->type == REditCmd::SL) {
+                  jt=(roit->second).find(RinexObsHeader::convertObsType(irt->field));
+                  if(jt != roit->second.end()) jt->second.lli = int(irt->bias);
+               }
+            }
+         }
+      }
+      else {
+         it = ROOut.obs.find(irt->SV);
+         if(it != ROOut.obs.end()) {
+            if(irt->type == REditCmd::DS) {                   // delete SV altogether
+               ROOut.obs.erase(it);
+            }
+            else {
+               jt = (it->second).find(RinexObsHeader::convertObsType(irt->field));
+               if(jt != it->second.end()) {
+                  if(irt->type == REditCmd::DD) jt->second.data = 0.0;
+                  if(irt->type == REditCmd::SD) jt->second.data = irt->bias;
+                  if(irt->type == REditCmd::SS) jt->second.ssi = int(irt->bias);
+                  if(irt->type == REditCmd::SL) jt->second.lli = int(irt->bias);
+                  if(irt->type == REditCmd::BD) {
+                     if(BiasZeroData || ABS(jt->second.data) > 0.001)
+                        jt->second.data += irt->bias;
+                  }
+                  if(irt->type == REditCmd::BS) jt->second.ssi += int(irt->bias);
+                  if(irt->type == REditCmd::BL) jt->second.lli += int(irt->bias);
+               }
+            }
+         }
+      }
+      OneTimeCmds.pop_back();
+   }
+
+   ROOut.numSvs = ROOut.obs.size();
+
+      // update estimate of dt
+   if(FillOptionalHeader) {
+      if(PrevEpoch.year() != 1) {
+         dt = CurrEpoch-PrevEpoch;
+         for(int i=0; i<9; i++) {
+            if(ndt[i] <= 0) { bestdt[i]=dt; ndt[i]=1; break; }
+            if(ABS(dt-bestdt[i]) < 0.0001) { ndt[i]++; break; }
+            if(i == 8) {
+               int k = 0;
+               int nleast=ndt[k];
+               for(int j=1; j<9; j++) if(ndt[j] <= nleast) {
+                  k=j; nleast=ndt[j];
+               }
+               ndt[k]=1; bestdt[k]=dt;
+            }
+         }
+      }
+   }
+
+   if(NewFile) return 3;
+   return 2;
+}
+
+//------------------------------------------------------------------------------------
+string GetTempFileName(void)
+{
+#ifdef _MSC_VER
+   char newname[L_tmpnam];
+   if(!tmpnam(newname)) {
+#else
+   char newname[]="RETemp.XXXXXX";
+   if(mkstemp(newname)==-1) {
+#endif
+      return string("");
+   }
+   return string(newname);
+}
+
+//------------------------------------------------------------------------------------
+// assumes TempFile has been written with RHOut, and info is in config
+// Return 0 or -1 if could not open/delete files
+int RinexEditor::FillHeaderAndReplaceFile(string& TempFile, string& TrueOutputFile)
+{
+   int i,j;
+      // compute interval
+   for(i=1,j=0; i<9; i++) if(ndt[i]>ndt[j]) j=i;
+   double dt = bestdt[j];
+      // modify the header
+   RHOut.version = 2.1; RHOut.valid |= RinexObsHeader::versionValid;
+   RHOut.interval = dt; RHOut.valid |= RinexObsHeader::intervalValid;
+   RHOut.lastObs = CurrEpoch; RHOut.valid |= RinexObsHeader::lastTimeValid;
+      // now the table
+   RHOut.numSVs = table.size(); RHOut.valid |= RinexObsHeader::numSatsValid;
+   RHOut.numObsForPrn.clear();
+   vector<TableData>::iterator tit;
+   for(tit=table.begin(); tit!=table.end(); ++tit) {
+      RHOut.numObsForPrn.insert(map<RinexPrn,
+            vector<int> >::value_type(tit->prn,tit->nobs));
+   }
+   RHOut.valid |= RinexObsHeader::prnObsValid;
+
+      // callback
+   i = BeforeWritingFilledHeader(RHOut);
+   if(i) return -2;
+
+      // here you need to validate the RHOut header
+
+      // now re-open the file and replace the header
+   RinexObsHeader rhjunk;
+   RinexObsStream ROutStr(TrueOutputFile.c_str(), ios::out);
+   RinexObsStream InAgain(TempFile.c_str());
+   InAgain.exceptions(ios::failbit);
+
+//*oflog << "Opened " << TempFile << " for input and " << TrueOutputFile << " for output.\n";
+   InAgain >> rhjunk;
+   ROutStr << RHOut;
+
+   RinexObsData robs;
+   while(InAgain >> robs) {
+      if(robs.time < BegTime) continue;
+      if(robs.time > EndTime) break;
+      ROutStr << robs;
+   }
+   InAgain.close();
+   ROutStr.close();
+
+      // delete the temporary
+   if( remove(TempFile.c_str()) != 0) {
+      //*oflog << "Error: Could not remove existing file: " << TempFile << endl;
+      return -1;
+   }
+   
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+// Return -1 failed to open file
+//        -2 failed to read input file correctly
+//        -3 input file not obs
+//        -4 failed to fill header and replace original file
+//        -5 could not create temporary file
+//        -6 callback to BeforeEditHeader returned error
+//        -7 callback to AfterEditHeader returned error
+//        -8 callback to BeforeEditObs returned error
+//        -9 callback to BeforeWritingHeader returned error
+//       -10 callback to BeforeWritingObs returned error
+// will replace header after filling using temp file
+int RinexEditor::EditFile(void)
+{
+   int iret,Noutput;
+   RinexObsHeader rhin,rhout;
+   RinexObsData roin,roout;
+   string TrueOutputFile,TempFile;
+
+   if(REVerbose) *oflog << "EditFile: Reading " << InputFile
+      << ", and Writing " << OutputFile << endl;
+
+      // open input file
+   RinexObsStream ROFin(InputFile.c_str());
+   if(!ROFin) {
+      if(REVerbose) *oflog << "RinexEditor::EditFile could not open input file "
+         << InputFile << endl;
+      cerr << "RinexEditor::EditFile could not open input file " << InputFile << endl;
+      if(REVerbose) *oflog << "RinexEditor::EditFile could not open input file "
+         << InputFile << endl;
+      return -1;
+   }
+   ROFin.exceptions(ios::failbit);
+   if(REDebug) *oflog << "Opened input file " << InputFile << endl;
+
+      // read header
+   try {
+      ROFin >> rhin;
+   }
+   catch(gpstk::FFStreamError& e) {
+      cerr << "Caught an FFStreamError while reading header:\n" << e.getText(0)
+         << endl;
+      if(REVerbose) *oflog << "Caught an FFStreamError while reading header:\n"
+         << e.getText(0) << endl;
+      return -2;
+   }
+   catch(gpstk::Exception& e) {
+      cerr << "Caught an exception while reading header:\n" << e.getText(0) << endl;
+      if(REVerbose) *oflog << "Caught an exception while reading header:\n"
+         << e.getText(0) << endl;
+      return -2;
+   }
+   if(REDebug) *oflog << "Read input header" << endl;
+
+      // check its type
+   if(rhin.fileType[0] != 'O') {
+      cerr << "Input file type is not Observation\n" << endl;
+      if(REVerbose) *oflog << "Input file type is not Observation\n" << endl;
+      return -3;
+   }
+   if(REVerbose) {
+      *oflog << "Input header:\n";
+      rhin.dump(*oflog);
+   }
+
+      // callback before editing input header
+   iret = BeforeEditHeader(rhin);
+   if(iret) return -6;
+
+      // edit header
+   EditHeader(rhin,rhout);
+   if(REVerbose) *oflog << "Edit header done" << endl;
+
+      // callback after calling EditHeader (pass output header)
+   iret = AfterEditHeader(rhout);
+   if(iret) return -7;
+
+      // if header is to be filled, write to a temporary file
+   TrueOutputFile = OutputFile;
+   if(FillOptionalHeader) {
+//*oflog << "FillOptionalHeader" << endl;
+      OutputFile = GetTempFileName();
+//*oflog << "Got temp file name " << OutputFile << endl;
+      if(OutputFile.empty()) {
+         cerr << "Could not create temporary file name - abort\n";
+         if(REVerbose) *oflog << "Could not create temporary file name - abort\n";
+         return -5;
+      }
+      if(!OutputDir.empty()) OutputFile = OutputDir + string("/") + OutputFile;
+      TempFile = OutputFile;
+   }
+
+      // open output file
+//*oflog << "Open output file " << OutputFile << endl;
+   RinexObsStream ROFout(OutputFile.c_str(), ios::out);
+   if(!ROFout) {
+      cerr << "RinexEditor::EditFile could not open output file "
+         << OutputFile << endl;
+      if(REVerbose) *oflog << "RinexEditor::EditFile could not open output file "
+         << OutputFile << endl;
+      return -1;
+   }
+   ROFout.exceptions(ios::failbit);
+
+      // loop over epochs, reading input and writing to output
+   Noutput = 0;
+//*oflog << "Start loop over output epochs" << endl;
+   while (1) {
+
+         // read next observation epoch
+      try {
+         ROFin >> roin;
+      }
+      catch(gpstk::FFStreamError& e) {
+         cerr << "RinexEditor::EditFile caught an FFStreamError while reading obs:\n"
+            << e << endl;
+         if(REVerbose) *oflog
+            << "RinexEditor::EditFile caught an FFStreamError while reading obs:\n"
+               << e << endl;
+         return -2;
+      }
+      catch(gpstk::Exception& e) {
+         cerr << "RinexEditor::EditFile caught an exception while reading obs:\n"
+            << e << endl;
+         if(REVerbose) *oflog
+            << "RinexEditor::EditFile caught an exception while reading obs:\n"
+               << e << endl;
+         return -2;
+      }
+      if(!ROFin) iret = -1;
+      else {
+         if(REDebug) {
+            *oflog << "Epoch: " << roin.time << ", Flag " << roin.epochFlag
+               << ", clk " << roin.clockOffset << endl;
+            roin.dump(*oflog);
+         }
+
+         // callback after reading input obs
+         // and before calling EditObs (pass input obs)
+         iret = BeforeEditObs(roin);
+         if(iret) { iret=-8; break; }
+
+         iret = EditObs(roin,roout);
+         // Return -2 error
+         //        -1 quit (EOF or time limit reached)
+         //         0 DO NOT write the output obs ROOut
+         //         1 DO NOT write the output obs ROOut,
+         //            but close and re-open the output file
+         //         2 DO write the output obs ROOut
+         //         3 DO write the output obs ROOut,
+         //            but first close and re-open the output file
+      }
+      if(REDebug) {
+         *oflog << "EditObs returned " << iret << endl;
+         roout.dump(*oflog);
+      }
+
+      if(iret == -2) break;                           // error => abort
+
+      if(iret == -1 || iret == 1 || iret == 3) {      // new output file
+            // close this output file
+         ROFout.close();
+            // fill the optional header records
+         if(FillOptionalHeader) {
+            if(Noutput > 0) {
+               if(FillHeaderAndReplaceFile(TempFile,TrueOutputFile) != 0) {
+                  cerr << "Failed to fill header and replace file - abort\n";
+                  if(REVerbose)
+                     *oflog << "Failed to fill header and replace file - abort\n";
+                  return -4;
+               }
+               else if(REVerbose) *oflog << "Added header to " << TempFile
+                  << " and put in " << TrueOutputFile << endl;
+            }
+
+            if(iret != -1) {        // not EOF => going on to another file
+               TrueOutputFile = OutputFile;
+               OutputFile = GetTempFileName();
+               if(OutputFile.empty()) {
+                  cerr << "Could not create temporary file name - abort\n";
+                  if(REVerbose)
+                     *oflog << "Could not create temporary file name - abort\n";
+                  return -5;
+               }
+               if(!OutputDir.empty())
+                  OutputFile = OutputDir + string("/") + OutputFile;
+               TempFile = OutputFile;
+               if(REVerbose) *oflog << "New temp file is " << TempFile
+                  << ", and true output file is " << TrueOutputFile << endl;
+            }
+
+         }  // end if FillOptionalHeader
+         else {
+            TrueOutputFile = OutputFile;
+         }
+
+         if(iret == -1) {                  // quit
+            if(REVerbose)
+               *oflog << "Finished processing obs file " << InputFile << endl;
+            iret = 0;
+            break;
+         }
+
+            // open the new output file
+         ROFout.open(OutputFile.c_str(), ios::out);
+         Noutput = 0;
+         if(REVerbose) *oflog << "New output file " << TrueOutputFile
+            << " (really " << OutputFile << ") at time " << roin.time << endl;
+
+      }  // end if new output file
+
+         // write to output
+      if(iret > 1) {                // not EOF nor error
+         if(Noutput == 0) {
+            rhout.firstObs = roout.time;
+            // callback before writing out header (pass output header)
+            iret =  BeforeWritingHeader(rhout);
+            if(iret) return -9;
+
+            ROFout << rhout;
+            if(REVerbose) {
+               *oflog << "Dump output header (iret is " << iret << "):\n";
+               rhout.dump(*oflog);
+            }
+               // prepare for next file
+            RHOut = rhout;
+            table.clear();
+            for(int i=0; i<9; i++) ndt[i]=-1;
+         }
+   
+         // callback just before writing output obs (pass reference to output obs)
+         // return value of BeforeWritingObs determines what is written:
+         // if return <0 abort
+         //            0 write nothing
+         //            1 write the obs data structure (note that the caller may set
+         //               roout.epochFlag to determine what is output : 0,1 are data,
+         //               while 2,3,4 or 5, is for in-line header auxHeader only)
+         //           >1 write BOTH header data (in auxHeader, setting
+         //               epochFlag=return) AND obs data
+         roout.auxHeader.clear();
+         iret = BeforeWritingObs(roout);
+         if(iret < 0) return -10;
+         if(iret > 1) {             // write auxiliary header info first
+            int flag=roout.epochFlag, nsvs=roout.numSvs;
+            roout.epochFlag = iret;
+            roout.numSvs = roout.auxHeader.NumberHeaderRecordsToBeWritten();
+               // write out the header records
+            ROFout << roout;
+            Noutput++;
+               // prepare to write obs
+            roout.epochFlag = flag;
+            roout.numSvs = nsvs;
+         }
+
+            // add count of valid obs to table for header
+            // -- have to do it here b/c BeforeWritingObs has just filled it
+         if(FillOptionalHeader) {
+            int k,n=RHOut.obsTypeList.size();
+            RinexObsData::RinexPrnMap::const_iterator pit;
+            RinexObsData::RinexObsTypeMap::const_iterator pjt;
+            for(pit=roout.obs.begin(); pit != roout.obs.end(); ++pit) {
+               vector<TableData>::iterator ptab;
+               ptab = find(table.begin(),table.end(),TableData(pit->first,n));
+               if(ptab == table.end()) {
+                  table.push_back(TableData(pit->first,n));
+                  ptab = find(table.begin(),table.end(),TableData(pit->first,n));
+               }
+               for(pjt=pit->second.begin(); pjt!=pit->second.end(); pjt++) {
+                  for(k=0; k<n; k++) if(RHOut.obsTypeList[k] == pjt->first) break;
+                  if(pjt->second.data != 0.0) ptab->nobs[k]++;
+               }
+            }
+         }
+
+         // now write out the obs
+         if(REDebug) {
+            *oflog << "Write this obs to output:\n";
+            roout.dump(*oflog);
+         }
+         ROFout << roout;
+         Noutput++;
+      }
+
+   }   // end while loop over epochs
+
+   return iret;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+void DisplayRinexEditUsage(ostream& os)
+{
+   os << "\nRinex Editor commands:\n";
+   os << " ==============================================================="
+      << "===============\n";
+   os << " Commands begin with a '-' or '/', followed by an identifier, "
+      << "then data fields.\n";
+   os << " Fields beyond the initial 2- or 3-character identifier are comma "
+      << "delimited.\n";
+   os << " <SV> gives a satellite; SV=<PRN><System(optional)> "
+      << "eg. 19G or 19 = PRN 19 GPS.\n";
+   os << " <System> is a single character (G=GPS, R=GLONASS, T=Transit, "
+      << "S=Geosynchronous).\n";
+   os << " <OT> gives a Rinex observation type, e.g. L1 or P2 (case sensitive).\n";
+   os << " <time> gives a time; time=<week,sow> OR "
+      << "time=<year,mon,day,hour,min,second>.\n";
+   os << "\n";
+   os << " File I/O:\n";
+   os << " =========\n";
+   os << " -IF<file>       Input Rinex observation file name (required)\n";
+   os << " -ID<dir>        Directory in which to find input file\n";
+   os << " -OF<file>       Output Rinex file name (required, or -OF<file>,<time>)\n";
+   os << " -OF<f>,<time>   At time=<time>, close output file and open another "
+      << "named <f>\n";
+   os << " -OD<dir>        Directory in which to put output file(s)\n";
+   os << "\n";
+   os << " Output Rinex header fields:\n";
+   os << " ===========================\n";
+   os << " -HDf            If present, fill optional records in the output Rinex "
+      << "header\n";
+   os << "                  (NB EditObs() and EditFile() will do this, but NOT "
+      << "EditHeader().)\n";
+   os << " -HDp<program>   Set output Rinex header 'program' field\n";
+   os << " -HDr<run_by>    Set output Rinex header 'run by' field\n";
+   os << " -HDo<observer>  Set output Rinex header 'observer' field\n";
+   os << " -HDa<agency>    Set output Rinex header 'agency' field\n";
+   os << " -HDm<marker>    Set output Rinex header 'marker' field\n";
+   os << " -HDn<number>    Set output Rinex header 'number' field\n";
+   os << " -HDc<comment>   Add comment to output Rinex header "
+      << "(more than one allowed).\n";
+   os << " -HDdc           Delete all comments in output Rinex header\n";
+   os << "     (NB -HDdc cannot delete comments created by *subsequent* "
+      << "-HDc commands)\n";
+   os << "\n";
+   os << " -AO<OT>         Add observation type OT to header and observation data\n";
+   os << "\n";
+   os << " General edit commands:\n";
+   os << " ======================\n";
+   os << " -TB<time>       Begin time: reject data before this time "
+      << "(also used for decimation)\n";
+   os << " -TE<time>       End   time: reject data after this time\n";
+   os << " -TT<dt>         Tolerance in comparing times, in seconds (default=1ms)\n";
+   os << " -TN<dt>         Decimate data to epochs = Begin + integer*dt "
+      << "(within tolerance)\n";
+   os << "\n";
+   os << " Specific edit commands:\n";
+   os << " =======================\n";
+   os << " (Generally each '+' command (e.g DA+,<time>) has a corresponding "
+      << "'-' command,\n";
+   os << "  and vice-versa; if not, End-of-file or Begin-of-file is assumed.\n";
+   os << "  Note commands at one time are applied AFTER other commands of the "
+      << "same type.)\n";
+   os << "\n";
+   os << "     Delete commands:\n";
+   os << " -DA+<time>      Delete all data beginning at this time\n";
+   os << " -DA-<time>      Stop deleting data at this time\n";
+   os << " -DO<OT>         Delete observation type OT entirely "
+      << "(including in header)\n";
+   os << " -DS<SV>         Delete all data for satellite SV entirely "
+      << "(SV may be system only)\n";
+   os << " -DS<SV>,<time>  Delete all data for satellite SV at this single time "
+      << "(only)\n";
+   os << " -DS+<SV>,<time> Delete all data for satellite SV beginning at this time\n";
+   os << " -DS-<SV>,<time> Stop deleting all data for satellite SV at this time\n";
+   os << "     (NB DS commands with SV=system (only) delete all satellites of that "
+      << "system.)\n";
+   os << " -DD<SV,OT,t>    Delete a single Rinex data(SV,OT,t) at time <t>\n";
+   os << " -DD+<SV,OT,t>   Delete all (SV,OT) data, beginning at time <t>\n";
+   os << " -DD-<SV,OT,t>   Stop deleting all (SV,OT) data at time <t>\n";
+   os << "     (NB deleting data for one OT means setting it to zero - here and in "
+      << "Rinex)\n";
+   os << "\n";
+   os << "     Set commands:\n";
+   os << " -SD<SV,OT,t,d>  Set data(SV,OT,t) to <d> at time <t>\n";
+   os << " -SS<SV,OT,t,s>  Set ssi(SV,OT,t) to <s> at time <t>\n";
+   os << " -SL+<SV,OT,t,l> Set all lli(SV,OT,t) to <l> at time <t>\n";
+   os << " -SL-<SV,OT,t,l> Stop setting lli(SV,OT,t) to <l> at time <t>"
+      << " (',<l>' is optional)\n";
+   os << " -SL<SV,OT,t,l>  Set lli(SV,OT,t) to <l> at the single time <t> (only)\n";
+   os << "     (NB SL commands with SV=system (only) modify all satellites of that "
+      << "system.)\n";
+   os << "\n";
+   os << "     Bias commands:\n";
+   os << "   (NB. BD commands apply only when data is non-zero, "
+      << "unless -BZ appears)\n";
+   os << " -BZ             Apply bias data commands (BD) even when data is zero\n";
+   os << " -BD<SV,OT,t,d>  Add the value of <d> to data(SV,OT,t) at time <t>\n";
+   os << " -BD+<SV,OT,t,d> Add value of <d> to data(SV,OT) beginning at time <t>\n";
+   os << " -BD-<SV,OT,t,d> Stop adding <d> to data(SV,OT) at time <t> (',<d>' optional)\n";
+   os << " -BS<SV,OT,t,s>  Add the value of <s> to ssi(SV,OT,t) at time <t>\n";
+   os << " -BL<SV,OT,t,l>  Add the value of <l> to lli(SV,OT,t) at time <t>\n";
+   os << "\n End of Rinex Editor commands.\n";
+   os << " ====================================================================="
+      << "=========\n";
+   os << endl;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/Rinextools/RinexEditor.hpp b/trunk/apps/Rinextools/RinexEditor.hpp
new file mode 100644
index 0000000..d9ad0ca
--- /dev/null
+++ b/trunk/apps/Rinextools/RinexEditor.hpp
@@ -0,0 +1,287 @@
+//------------------------------------------------------------------------------------
+// RinexEditor.hpp Edit Rinex files, specifically, class REditCmd encapsulates
+// commands passed to the Rinex Editor
+// RinexEditor is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexEditor.hpp#2 $"
+
+/**
+ * @file RinexEditor.hpp
+ * Edit Rinex observation files.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef RINEX_EDITING_COMMANDS_INCLUDE
+#define RINEX_EDITING_COMMANDS_INCLUDE
+
+//------------------------------------------------------------------------------------
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "DayTime.hpp"
+
+#include <fstream>
+#include <string>
+#include <vector>
+#include <deque>
+
+//------------------------------------------------------------------------------------
+namespace gpstk {
+
+   /** @addtogroup rinexutils */
+   //@{
+
+   // forward declarations
+class RinexEditor;
+class REditCmdLessThan;
+class TableData;
+class TablePRNLessThan;
+
+//------------------------------------------------------------------------------------
+/// Class REditCmd encapsulates commands passed to the Rinex Editor
+/// (class RinexEditor).
+class REditCmd {
+   friend class RinexEditor;
+   friend class REditCmdLessThan;
+   friend bool operator==(const REditCmd& x, const REditCmd& y);
+private:
+   /// The command types: input file, output file, etc.
+   enum TYPE {
+         //(order matters)
+      INVALID=0,IF,OF,ID,OD,HD,TN,TB,TE,TT,AO,DA,DO,DS,DD,SD,SS,SL,BD,BS,BL,BZ
+   };
+   /// The type of this command
+   TYPE type;
+   /// Satellite identifier for data to which this command will apply.
+   RinexPrn SV;
+   /// Time associated with this command.
+   DayTime time;
+   /// Sign associated with this command.
+   int sign;
+   /// String associated with this command.
+   std::string field;
+   /// integer associated with this command.
+   int inOT;
+   /// bias associated with this command.
+   double bias;
+public:
+   /// Default constructor (type is set INVALID).
+   REditCmd(void) { type=INVALID; }
+   /// Destructor
+   ~REditCmd(void);
+   /// Constructor from a string which contains the editing command.
+   REditCmd(std::string s);
+   /// Is this a valid command?
+   inline bool valid(void) { return (type!=INVALID); }
+   /// Print the command on an ostream, with an optional message.
+   void Dump(std::ostream& os, std::string msg);
+};
+
+   /// operator==(REditCmd), defined so algorithm find() can be called.
+inline bool operator==(const REditCmd& x, const REditCmd& y)
+   { return (x.type==y.type && x.SV==y.SV && x.time==y.time && x.sign==y.sign
+            && x.field==y.field && x.inOT==y.inOT && x.bias==y.bias); }
+
+/// class REditCmdLessThan, for use with algorithm sort().
+class REditCmdLessThan {      
+public:
+   /// return true if c1 is less than c2.
+   bool operator()(const REditCmd& c1, const REditCmd& c2)
+      { return c1.time < c2.time; }
+};
+
+//------------------------------------------------------------------------------------
+/// class RinexEditor encapsulates the process of editing a Rinex observation dataset
+/// (header and observations), including the editing commands that have been input
+/// from the user.
+class RinexEditor {
+private:
+   /// input and output file names.
+   std::string InputFile,OutputFile;
+   /// directories for the input and output files.
+   std::string InputDir,OutputDir;
+   /// start and stop times, for windowing the data.
+   DayTime BegTime,EndTime;
+   /// tolerance to be used in comparing time tags.
+   double TimeTol;
+   /// time step interval if the data is to be decimated.
+   double Decimate;
+   /// flag to indicate how to handle data with value 'zero'.
+   bool BiasZeroData;
+   /// flag used when data is omitted from output
+   bool Skip;
+   /// vector of Rinex observation types in header.
+   std::vector<RinexObsHeader::RinexObsType> ObsTypes;
+   /// vector of satellites to be deleted.
+   std::vector<RinexPrn> DelSV;
+   /// input and output Rinex headers.
+   RinexObsHeader RHIn,RHOut;
+   /// flag for editing the Rinex header.
+   bool FillOptionalHeader,HDDeleteOldComments;
+   /// flags indicating validity of optional records in the input header.
+   bool IVLast,IVInterval,IVTable;
+   /// content of the PROGRAM header record.
+   std::string HDProgram;
+   /// content of the RUN BY header record.
+   std::string HDRunBy;
+   /// content of the OBSERVER header record.
+   std::string HDObserver;
+   /// content of the AGENCY header record.
+   std::string HDAgency;
+   /// content of the MARKER header record.
+   std::string HDMarker;
+   /// content of the NUMBER header record.
+   std::string HDNumber;
+   /// comments in the Rinex header.
+   std::vector<std::string> HDComments;
+   /// times for computing start and stop times, to go in the Rinex header.
+   DayTime CurrEpoch,PrevEpoch;
+   /// an integer array for computing the time interval, to go in the Rinex header.
+   int ndt[9];
+   /// a double array for computing the time interval, to go in the Rinex header.
+   double bestdt[9];
+   /// storage for the PRN/OBS table, to go in the Rinex header.
+   std::vector<TableData> table;
+
+      /// Rinex Editing commands that will have to be saved.
+   std::deque<REditCmd> Cmds;
+      /// Rinex Editing commands for use during processing.
+   std::vector<REditCmd> OneTimeCmds;
+      /// Rinex Editing commands for use in the current timestep.
+   std::vector<REditCmd> CurrentCmds;
+
+public:
+      /// flag to control debugging and analysis output.
+   bool REVerbose,REDebug;
+      /// the output log file stream.
+   std::ostream *oflog;
+
+      /// Default constructor
+   RinexEditor(void);
+      /// Destructor
+   virtual ~RinexEditor(void);
+      /// pretty print configuration
+   std::ostream& operator<<(const std::ostream& os);
+      /// Add the Rinex Editing command structures to the user's command line.
+   void AddCommandLine(std::vector<std::string>& args);
+      /// Add a Rinex Editing command to this Editor.
+   void AddCommand(std::string cmd);
+      /// Parse the command line for Rinex Editing commands.
+   int ParseCommands(void);
+      /// Edit the input header to produce the output header.
+   int EditHeader(RinexObsHeader& RHIn, RinexObsHeader& RHOut);
+      /// Edit the input observation to produce the output observation.
+   int EditObs(RinexObsData& ROIn, RinexObsData& ROOut);
+      /// Edit a Rinex observation file, using the stored Rinex Editing commands.
+   int EditFile(void);
+      /// used to add optional records to the header.
+   int FillHeaderAndReplaceFile(std::string& TempFile,std::string& TrueOutputFile);
+
+   /// This function is called after reading input header and before
+   /// calling EditHeader (pass input header).
+   virtual int BeforeEditHeader(const RinexObsHeader& rhin) { return 0; }
+
+   /// This function is called after calling EditHeader (pass it the output header).
+   virtual int AfterEditHeader(const RinexObsHeader& rhout) { return 0; }
+
+   /// This function is called after reading the input observation and before
+   /// calling EditObs (pass it the input observation).
+   virtual int BeforeEditObs(const RinexObsData& roin) { return 0; }
+
+   /// This function is called before writing out the header (pass it
+   /// the output header).
+   virtual int BeforeWritingHeader(RinexObsHeader& rhout) { return 0; }
+
+   /// This function is called before writing out the header that has been
+   /// filled with optional records
+   virtual int BeforeWritingFilledHeader(RinexObsHeader& rhout) { return 0; }
+
+   /** Callback, just before writing output obs (pass output obs)
+   * Return value of BeforeWritingObs determines what is written:
+   * if return <0 write nothing and abort
+   *            0 write nothing
+   *            1 write the obs data roout ONLY (note that the caller may set
+   *                roout.epochFlag to determine what is output : 0,1 are data,
+   *                while 2,3,4 or 5, are for in-line header (roout.auxHeader)
+   *                only -- see the Rinex or RinexObsData documentation)
+   *           >1 write BOTH header data (in roout.auxHeader), first setting
+   *                roout.epochFlag = the return value), AND the obs data
+   *                in roout, using the original value of roout.epochFlag
+   */
+   virtual int BeforeWritingObs(RinexObsData& roout) { return 0; }
+
+   /// member access of the decimation time interval.
+   double Decimation(void) { return Decimate; }
+   /// member access of the time comparison tolerance.
+   double Tolerance(void) { return TimeTol; }
+   /// member access of the start time.
+   DayTime BeginTimeLimit(void) { return BegTime; }
+   /// member access of the end time.
+   DayTime EndTimeLimit(void) { return EndTime; }
+   /// member access of the input file name.
+   std::string InputFileName(void) { return InputFile; }
+   /// member access of the output file name.
+   std::string OutputFileName(void) { return OutputFile; }
+   /// member access input directory.
+   std::string InputDirectory(void) { return InputDir; }
+   /// member access output directory.
+   std::string OutputDirectory(void) { return OutputDir; }
+};
+
+//------------------------------------------------------------------------------------
+/// class TableData is used to store the information in the PRN/Obs table in the
+/// Rinex observation header.
+class TableData {                      // class used to store PRN/Obs table
+public:
+   /// satellite identifier.
+   RinexPrn prn;
+   /// vector of the number of observations, parallel to the obs types in the header.
+   std::vector<int> nobs;
+   /// constructor, given a satellite id and the number of observation types.
+   TableData(const RinexPrn& p, const int& n) { prn=p; nobs=std::vector<int>(n); };
+   /// operator==(), needed for find() (compares prn only).
+   inline bool operator==(const TableData& d) {return d.prn == prn;}
+};
+
+/// class define for use with sort(TableData).
+class TablePRNLessThan  {
+public:
+   /// return true is d1 is less than d2 (compares prn only).
+   bool operator()(const TableData& d1, const TableData& d2)
+      { return d1.prn < d2.prn; }
+};
+
+   //@}
+
+}  // end namespace gpstk
+
+//------------------------------------------------------------------------------------
+/// Pretty print the Rinex Editing command syntax, for use by the calling program.
+void DisplayRinexEditUsage(std::ostream& os);
+
+//------------------------------------------------------------------------------------
+#endif   // nothing below this
diff --git a/trunk/apps/Rinextools/RinexUtilities.cpp b/trunk/apps/Rinextools/RinexUtilities.cpp
new file mode 100644
index 0000000..85377ab
--- /dev/null
+++ b/trunk/apps/Rinextools/RinexUtilities.cpp
@@ -0,0 +1,237 @@
+//------------------------------------------------------------------------------------
+// RinexUtilities.cpp  Several miscellaneous utilities for use with Rinex data.
+// RinexUtilities is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexUtilities.cpp#4 $"
+
+/**
+ * @file RinexUtilities.cpp
+ * Miscellaneous utilities for use with Rinex data.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexObsHeader.hpp"
+
+#include "RinexUtilities.hpp"
+
+#include <iostream>
+
+using namespace std;
+using namespace gpstk;
+
+//------------------------------------------------------------------------------
+int RegisterARLUTExtendedTypes(void)
+{
+   unsigned int EPPS = //0x60
+      RinexObsHeader::RinexObsType::EPdepend | RinexObsHeader::RinexObsType::PSdepend;
+   unsigned int L1L2 = //0x06
+      RinexObsHeader::RinexObsType::L1depend | RinexObsHeader::RinexObsType::L2depend;
+   unsigned int P1P2 = //0x18
+      RinexObsHeader::RinexObsType::P1depend | RinexObsHeader::RinexObsType::P2depend;
+   unsigned int EPEP=RinexObsHeader::RinexObsType::EPdepend;//0x20
+   unsigned int PELL=EPPS | L1L2;//0x66
+   unsigned int PEPP=EPPS | P1P2;//0x78
+   unsigned int PsLs=L1L2 | P1P2;//0x1E
+   unsigned int L1P1 = //0x0A
+      RinexObsHeader::RinexObsType::L1depend | RinexObsHeader::RinexObsType::P1depend;
+   unsigned int L2P2 = //0x14
+      RinexObsHeader::RinexObsType::L2depend | RinexObsHeader::RinexObsType::P2depend;
+   int j;
+   j = RegisterExtendedRinexObsType("ER","Ephemeris range",     "meters", EPPS);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("RI","Iono Delay, Range",   "meters", P1P2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("PI","Iono Delay, Phase",   "meters", L1L2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("TR","Tropospheric Delay",  "meters", EPPS);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("RL","Relativity Correct.", "meters", EPEP);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("SC","SV Clock Bias",       "meters", EPEP);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("EL","Elevation Angle",     "degrees",EPPS);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("AZ","Azimuth Angle",       "degrees",EPPS);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("SR","Slant TEC (PR)",      "TECU",   P1P2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("SP","Slant TEC (Ph)",      "TECU",   L1L2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("VR","Vertical TEC (PR)",   "TECU",   PEPP);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("VP","Vertical TEC (Ph)",   "TECU",   PELL);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("LA","Lat Iono Intercept",  "degrees",EPPS);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("LO","Lon Iono Intercept",  "degrees",EPPS);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("P3","TFC(IF) Pseudorange", "meters", P1P2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("L3","TFC(IF) Phase",       "meters", L1L2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("P4","GeoFree Pseudorange", "meters", P1P2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("L4","GeoFree Phase",       "meters", L1L2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("P5","WideLane Pseudorange","meters", P1P2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("L5","WideLane Phase",      "meters", L1L2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("MP","Multipath (=M3)",     "meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("M1","L1 Range minus Phase","meters", L1P1);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("M2","L2 Range minus Phase","meters", L2P2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("M3","IF Range minus Phase","meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("M4","GF Range minus Phase","meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("M5","WL Range minus Phase","meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("XR","Non-dispersive Range","meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("XI","Ionospheric delay",   "meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("X1","Range Error L1",      "meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("X2","Range Error L2",      "meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("SX","Satellite ECEF-X",    "meters", EPEP);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("SY","Satellite ECEF-Y",    "meters", EPEP);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("SZ","Satellite ECEF-Z",    "meters", EPEP);
+   if(j) return j;
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+bool isSP3File(const string& file)
+{
+   SP3Header header;
+   SP3Stream strm(file.c_str());
+   strm.exceptions(fstream::failbit);
+   try { strm >> header; } catch(gpstk::Exception& e) { return false; }
+   strm.close();
+   return true;
+}
+//------------------------------------------------------------------------------------
+bool isRinexNavFile(const string& file)
+{
+   RinexNavHeader header;
+   RinexNavStream rnstream(file.c_str());
+   rnstream.exceptions(fstream::failbit);
+   try { rnstream >> header; } catch(gpstk::Exception& e) { return false; }
+   rnstream.close();
+   return true;
+}
+//------------------------------------------------------------------------------------
+bool isRinexObsFile(const string& file)
+{
+   RinexObsHeader header;
+   RinexObsStream rostream(file.c_str());
+   rostream.exceptions(fstream::failbit);
+   try { rostream >> header; } catch(gpstk::Exception& e) { return false; }
+   rostream.close();
+   return true;
+}
+//------------------------------------------------------------------------------------
+int FillEphemerisStore(const vector<string>& files, SP3EphemerisStore& PE,
+      BCEphemerisStore& BCE)
+{
+try {
+   int nread=0;
+   RinexNavHeader rnh;
+   RinexNavData rne;
+   for(int i=0; i<files.size(); i++) {
+      if(files[i].empty()) throw Exception("File name is empty");
+      RinexNavStream strm(files[i].c_str());
+      if(!strm) throw Exception("Could not open file " + files[i]);
+      strm.close();
+      if(isRinexNavFile(files[i])) {
+         RinexNavStream RNFileIn(files[i].c_str());
+         RNFileIn.exceptions(fstream::failbit);
+         try {
+            RNFileIn >> rnh;
+            //if(Verbose) {
+            //   logof << "Input Rinex Nav file header\n";
+            //   rnh.dump(logof);
+            //}
+            while (RNFileIn >> rne)
+            {
+               if(rne.health == 0)
+                  BCE.addEphemeris(rne);
+            }
+            nread++;
+         }
+         catch(gpstk::Exception& e) {
+            cerr << "Caught Exception while reading Rinex Nav file " << files[i]
+               << " :\n" << e << endl;
+            continue;
+         }
+      }
+      else if(isSP3File(files[i])) {
+         try {
+            PE.loadFile(files[i]);
+         }
+         catch(gpstk::Exception& e) {
+            cerr << "Caught Exception while reading SP3 Nav file " << files[i]
+               << " :\n" << e << endl;
+            continue;
+         }
+         nread++;
+      }
+      else throw Exception("File " + files[i] + " is neither BCE nor PE file.");
+   }
+   return nread;
+}
+catch(gpstk::Exception& e) {
+   cerr << "RinexUtilities:FillEphemerisStore caught an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+catch (...) {
+   cerr << "RinexUtilities:FillEphemerisStore caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/Rinextools/RinexUtilities.hpp b/trunk/apps/Rinextools/RinexUtilities.hpp
new file mode 100644
index 0000000..de9d79a
--- /dev/null
+++ b/trunk/apps/Rinextools/RinexUtilities.hpp
@@ -0,0 +1,90 @@
+//------------------------------------------------------------------------------------
+// RinexUtilities.hpp  Several miscellaneous utilities for use with Rinex data.
+// RinexUtilities is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexUtilities.hpp#3 $"
+
+/**
+ * @file RinexUtilities.hpp
+ * Miscellaneous utilities for use with Rinex data.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef GPSTK_RINEX_UTILITIES_INCLUDE
+#define GPSTK_RINEX_UTILITIES_INCLUDE
+
+//------------------------------------------------------------------------------------
+#include "BCEphemerisStore.hpp"
+#include "SP3EphemerisStore.hpp"
+#include "Xvt.hpp"
+
+#include <string>
+#include <vector>
+
+//------------------------------------------------------------------------------------
+/** @defgroup rinexutils Rinex Utilities */
+//@{
+   /** Register commonly used extended Rinex observation types.
+    * @return 0 ok, or the return value of RegisterExtendedRinexObsType().
+    */
+int RegisterARLUTExtendedTypes(void);
+
+   /** Determine if the given file is an SP3 format file.
+    * @param file the filename
+    * @return true if the file is SP3 format.
+    */
+bool isSP3File(const std::string& file);
+
+   /** Determine if the given file is a Rinex navigation file.
+    * @param file the filename
+    * @return true if the file is a Rinex navigation file.
+    */
+bool isRinexNavFile(const std::string& file);
+
+   /** Determine if the given file is a Rinex observation file.
+    * @param file the filename
+    * @return true if the file is a Rinex observation file.
+    */
+bool isRinexObsFile(const std::string& file);
+
+   /** Open the files and add to the appropriate EphemerisStore.
+    * @param files vector of the filenames.
+    * @param PE an SP3EphemerisStore into which to put SP3 ephemeris data.
+    * @param BCE a BCEphemerisStore into which to put broadcast
+    *    (Rinex Nav) ephemeris data.
+    * @return the number of files successfully read.
+    * Throws on errors.
+    */
+int FillEphemerisStore(const std::vector<std::string>& files,
+      gpstk::SP3EphemerisStore& PE,
+      gpstk::BCEphemerisStore& BCE);
+
+//@}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+#endif
diff --git a/trunk/apps/Rinextools/toolslib.a b/trunk/apps/Rinextools/toolslib.a
new file mode 100644
index 0000000..9b4f2db
Binary files /dev/null and b/trunk/apps/Rinextools/toolslib.a differ
diff --git a/trunk/apps/bindings/DayTime.i b/trunk/apps/bindings/DayTime.i
new file mode 100644
index 0000000..c1f53f2
--- /dev/null
+++ b/trunk/apps/bindings/DayTime.i
@@ -0,0 +1,283 @@
+%module DayTime
+%{
+/* Includes the header in the wrapper code */
+#include "../../src/DayTime.hpp"
+%}
+
+%rename(DayTime_printString) DayTime::printf(const char *fmt) const;
+
+class DayTime {
+
+public:
+      enum TimeFrame
+      {
+         Unknown,    /**< unknown time frame */
+         UTC,        /**< Coordinated Universal Time (e.g., from NTP) */
+         LocalSystem,/**< time from a local system clock */
+         GPS_Tx,     /**< GPS transmit Time (paper clock) (e.g., 15 smooth) */
+         GPS_Rx,     /**< GPS receive time (paper clock) */
+            // (e.g., rx data if clock bias is applied)
+         GPS_SV,     /**< SV time frame (e.g., 211 1.5s/6packs) */
+         GPS_Receiver/**< Receiver time (e.g., 30s, raw 1.5s) */
+      };
+
+      // ----------- Part  1: constants --------------
+
+      static const long FACTOR;
+      static const double JD_TO_MJD;
+      static const long MJD_JDAY;
+      static const long GPS_EPOCH_JDAY;
+      static const long GPS_EPOCH_MJD;
+      static const long UNIX_MJD;
+      static const long HALFWEEK;
+      static const long FULLWEEK;
+      static const long SEC_DAY;
+      static const long MS_PER_DAY;
+      static const double ONE_NSEC_TOLERANCE;
+      static const double ONE_USEC_TOLERANCE;
+      static const double ONE_MSEC_TOLERANCE;
+      static const double ONE_SEC_TOLERANCE;
+      static const double ONE_MIN_TOLERANCE;
+      static const double ONE_HOUR_TOLERANCE;
+      static double DAYTIME_TOLERANCE;
+
+
+      static const long BEGIN_LIMIT_JDAY;
+      static const long END_LIMIT_JDAY;
+
+      static const DayTime BEGINNING_OF_TIME;
+      static const DayTime END_OF_TIME;
+
+      static bool DAYTIME_TEST_VALID;
+
+      // ----------- Part  2: member functions: tolerance ------------
+      static double setDayTimeTolerance(const double tol)
+         throw();
+      static double getDayTimeTolerance() 
+         throw();
+
+      DayTime& setTolerance(const double tol) throw();
+
+      // --------- Part  3: member functions: constructors ---------
+      DayTime();
+
+      DayTime(short GPSWeek,
+              double GPSSecond,
+              TimeFrame f = Unknown);
+
+      DayTime(unsigned long fullZcount, 
+              TimeFrame f = Unknown);
+
+      DayTime(short year,
+              short month,
+              short day,
+              short hour,
+              short minute,
+              double second,
+              TimeFrame f = Unknown);
+
+      DayTime(double MJD, 
+              TimeFrame f = Unknown);
+
+      DayTime(short year,
+              short doy,
+              double sod, 
+              TimeFrame f = Unknown);
+
+     // --------- Part  4: member functions: assignment and copy ----------
+
+     DayTime(const DayTime &right);
+      
+     DayTime& operator=(const DayTime& right);
+
+     // ------------- Part 5: member functions: arithmetic ----------------
+
+     double operator-(const DayTime& right) const;
+
+     DayTime operator+(double sec) const;
+
+     DayTime operator-(double sec) const;
+
+     DayTime& addSeconds(double seconds);
+
+     DayTime& addSeconds(long seconds);
+
+      DayTime& addMilliSeconds(long msec);
+
+      DayTime& addMicroSeconds(long usec);
+
+         // ----------- Part  6: member functions: comparisons ------------
+
+      bool operator==(const DayTime &right) const;
+
+      bool operator!=(const DayTime &right) const;
+
+      bool operator<(const DayTime &right) const;
+        
+      bool operator>(const DayTime &right) const;
+
+      bool operator<=(const DayTime &right) const;
+
+      bool operator>=(const DayTime &right) const;
+
+
+         // ----------- Part  7: member functions: time frame ------------
+
+      DayTime& setAllButTimeFrame(const DayTime& right);
+      
+      DayTime& setTimeFrame(TimeFrame f);
+      
+      TimeFrame getTimeFrame() const; 
+
+   // ----------- Part  8: member functions: get --------------
+
+   double JD() const
+         throw();
+   
+   double MJD() const
+         throw();
+
+   short year() const
+         throw();
+
+      short month() const;
+
+      short day() const;
+
+         /// Get day of week
+      short dayOfWeek() const;
+
+         /// Get year, month and day of month
+      void getYMD(int& yy, int& mm, int& dd) const;
+
+      short hour() const;
+      short minute() const;
+      double second() const;
+      double secOfDay() const;
+      short GPS10bitweek() const;
+      long GPSzcount() const;
+      long GPSzcountFloor() const;
+      double GPSsecond() const;
+      double GPSsow() const;
+      short GPSday() const;
+      short GPSfullweek() const;
+      short GPSyear() const;
+      short DOYyear() const;
+      short DOY() const;
+      double DOYsecond() const;
+      double MJDdate() const;
+      long double getMJDasLongDouble() const;
+      struct timeval unixTime() const;
+      unsigned long fullZcount() const;
+      unsigned long fullZcountFloor() const;
+
+         // ----------- Part  9: member functions: set ------------
+
+      DayTime& setYMDHMS(short year,
+                         short month,
+                         short day, 
+                         short hour, 
+                         short min,
+                         double sec, 
+                         TimeFrame f = Unknown);
+
+      DayTime& setGPS(short week,
+                      double sow, 
+                      TimeFrame f = Unknown);
+
+      DayTime& setGPS(short week, 
+                      long zcount, 
+                      TimeFrame f = Unknown);
+
+      DayTime& setGPS(short week, 
+                      double sow,
+                      short year, 
+                      TimeFrame f = Unknown);
+
+      DayTime& setGPS(unsigned long Zcount, 
+                      TimeFrame f = Unknown);
+
+      DayTime& setGPSfullweek(short fullweek,
+                              double sow,
+                              TimeFrame f = Unknown);
+
+      DayTime& setGPSZcount(const GPSZcount& z,
+                            TimeFrame f = Unknown);
+
+      DayTime& setYDoySod(short year,
+                          short day_of_year, 
+                          double sec_of_day, 
+                          TimeFrame f = Unknown);
+
+      DayTime& setMJD(long double mjd,
+                      TimeFrame f = Unknown);
+
+      DayTime& setMJDdate(long double mjd, 
+                          TimeFrame f = Unknown);
+
+      DayTime& setMJD(double mjd, 
+                      TimeFrame f = Unknown);
+
+      DayTime& setMJDdate(double mjd, 
+                          TimeFrame f = Unknown);
+
+      DayTime& setUnix(const struct timeval& t, 
+                       TimeFrame f = Unknown);
+
+      DayTime& setANSI(const time_t& t,
+                       TimeFrame f = Unknown);
+
+      DayTime& setSystemTime();
+
+      DayTime& setLocalTime();
+
+      DayTime& setYMD(int yy,
+                      int mm,
+                      int dd,
+                      TimeFrame f = Unknown);
+
+      DayTime& setHMS(int hh,
+                      int mm,
+                      double sec, 
+                      TimeFrame f = Unknown);
+
+      DayTime& setSecOfDay(double sod,
+                           TimeFrame f = Unknown);
+
+      DayTime& setYDoy(int yy,
+                       int doy,
+                       TimeFrame f = Unknown);
+
+      DayTime& setToString(const std::string& str, 
+                           const std::string& fmt);
+
+      std::string printf(const char *fmt) const;
+       
+      std::string printf(const std::string& fmt) const;
+
+      std::string asString() const;
+
+      void dump(std::ostream& s) const;
+
+         // ----------- Part 11: functions: fundamental conversions ----------
+
+      static void convertJDtoCalendar(long jd, 
+                                      int& iyear, 
+                                      int& imonth, 
+                                      int& iday);
+
+      static long convertCalendarToJD(int iyear, 
+                                      int imonth,
+                                      int iday); 
+
+      static void convertSODtoTime(double sod,
+                                   int& hh, 
+                                   int& mm, 
+                                   double& sec);
+
+      static double convertTimeToSOD(int hh,
+                                     int mm, 
+                                     double sec);
+};
+
+%rename(DayTime_printf) DayTime::printf;
\ No newline at end of file
diff --git a/trunk/apps/bindings/Exception.i b/trunk/apps/bindings/Exception.i
new file mode 100644
index 0000000..2cab1fb
--- /dev/null
+++ b/trunk/apps/bindings/Exception.i
@@ -0,0 +1,16 @@
+%module Exception
+
+%{
+/* Includes the header in the wrapper code */
+#include "../../src/Exception.hpp"
+%}
+
+%include "../../src/Exception.hpp"
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/FFTextStream.i b/trunk/apps/bindings/FFTextStream.i
new file mode 100644
index 0000000..543fa5a
--- /dev/null
+++ b/trunk/apps/bindings/FFTextStream.i
@@ -0,0 +1,17 @@
+%module FFTextStream
+
+%{
+/* Includes the header in the wrapper code */
+#include "../../src/FFTextStream.hpp"
+%}
+
+%include "../../src/FFTextStream.hpp"
+
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/GPSZcount.i b/trunk/apps/bindings/GPSZcount.i
new file mode 100644
index 0000000..3e39140
--- /dev/null
+++ b/trunk/apps/bindings/GPSZcount.i
@@ -0,0 +1,17 @@
+%module GPSZcount
+%{
+/* Includes the header in the wrapper code */
+#include "../../src/GPSZcount.hpp"
+%}
+
+%include "../../src/GPSZcount.hpp"
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/README b/trunk/apps/bindings/README
new file mode 100644
index 0000000..ebb8198
--- /dev/null
+++ b/trunk/apps/bindings/README
@@ -0,0 +1,67 @@
+GPSTk Bindings
+--------------
+
+Ben Harris
+Applied Research Laboratories,
+The University of Texas at Austin
+January 2005
+
+
+This application provides GPSTk functionality to other languages.
+These interfaces, referred to as bindings, are in an alpha stage.
+Only the most minimal capablity is available (the DayTime class).
+The code is provided should the user community wish to experiment with this
+interface as well.
+
+There are three subdirectory with working bindings for the indicated
+programing language:
+
+   - tcl
+   - python
+   - octave
+
+The remainder--java and perl--are not functional.
+
+Each contains bindings for the named language. The bindings are 
+built using the Makefile in each directory. Depending on  your
+installation, the Makefile will likely have to hand edited to match your 
+system's setup. For example, to build Tcl/Tk bindings, you have to 
+know where tk.h is installed on the system and provide that as an include
+directory for g++.
+
+The Tcl and Python ports are based on the open source SWIG utility. 
+What is SWIG? To quote the website (http://www.swig.org/Doc1.3/Preface.html#Preface)
+
+ 
+   "SWIG (Simplified Wrapper and Interface Generator) is a software 
+    development tool for building scripting language interfaces to C and C++ 
+    programs. Originally developed in 1995, SWIG was first used by scientists 
+    in the Theoretical Physics Division at Los Alamos National Laboratory for
+    building user interfaces to simulation codes running on the Connection 
+    Machine 5 supercomputer. In this environment, scientists needed to work 
+    with huge amounts of simulation data, complex hardware, and a constantly 
+    changing code base. The use of a scripting language interface provided a 
+    simple yet highly flexible foundation for solving these types of 
+    problems. SWIG simplifies development by largely automating the task of 
+    scripting language integration--allowing developers and users to focus on 
+    more important problems.
+
+   Although SWIG was originally developed for scientific applications, it has 
+   since evolved into a general purpose tool that is used in a wide variety of
+   applications--in fact almost anything where C/C++ programming is involved."
+
+
+Thanks to Bryce Deary of ARINC for the suggestion to use SWIG to provide
+the interface to the GPSTk. He proposed the idea at a conference, the 2004
+ION GNSS meeting in Long Beach.
+
+The Octave port is based only on Octave's development utility mkoctfile. This
+may be replaced in the near term with an SWIG-like tool used by VTK
+(the Visualization Toolkit). The utility called Octaviz is created in this
+fashion.
+
+
+(c) University of Texas at Austin, 2005
+
+
+
diff --git a/trunk/apps/bindings/RinexObsStream.i b/trunk/apps/bindings/RinexObsStream.i
new file mode 100644
index 0000000..41e26ea
--- /dev/null
+++ b/trunk/apps/bindings/RinexObsStream.i
@@ -0,0 +1,34 @@
+%module RinexObsStream
+
+%{
+/* Includes the header in the wrapper code */
+%include "../../src/RinexObsStream.hpp"
+%}
+
+class RinexObsStream : public FFTextStream
+{
+   public:
+
+      RinexObsStream(): headerRead(false);
+
+      RinexObsStream(const char* fn, std::ios::openmode mode=std::ios::in)
+            : FFTextStream(fn, mode), headerRead(false);
+
+      virtual ~RinexObsStream() {}
+      
+      virtual void open(const char* fn, std::ios::openmode mode);
+
+      bool headerRead;
+
+      RinexObsHeader header;
+   };
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/common.i b/trunk/apps/bindings/common.i
new file mode 100644
index 0000000..98cf58a
--- /dev/null
+++ b/trunk/apps/bindings/common.i
@@ -0,0 +1,49 @@
+/* Directives common to all interfaces. */
+
+/* Math operators */
+%rename(__add__) operator+;
+%rename(__sub__) operator-;
+%rename(__mul__) operator*;
+%rename(operator_assignment) operator=;
+
+/* Logical operators */
+%rename(operator_equal_to) operator==;
+%rename(operator_not_equal_to) operator!=;
+%rename(operator_less_than) operator<;
+%rename(operator_greater_than) operator>;
+%rename(operator_less_than_equal_to) operator <=;
+%rename(operator_greater_than_equal_to) operator >=;
+
+/* Stream operators */
+%rename(istream) operator<<;
+%rename(ostream) operator>>;
+
+/* Increment/decrement operators */
+%ignore operator++;
+%ignore operator--;
+%ignore operator+=;
+%ignore operator-=;
+
+/* stdio support */
+%include "cstring.i"
+
+/* Standadard ANSI C++ library support (e.g., STL) support */
+%rename(std_string) std::string;
+%include "std_common.i"
+%include "std_map.i"
+%include "std_pair.i"
+%include "std_string.i"
+%include "std_vector.i"
+
+
+
+namespace std {
+   %template(vectori) vector<int>;
+   %template(vectord) vector<double>;
+};
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/gpstk.i b/trunk/apps/bindings/gpstk.i
new file mode 100644
index 0000000..4a43f38
--- /dev/null
+++ b/trunk/apps/bindings/gpstk.i
@@ -0,0 +1,15 @@
+%module gpstk
+
+%import common.i
+
+%include Exception.i
+%include GPSZcount.i
+%include DayTime.i
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/java/Makefile b/trunk/apps/bindings/java/Makefile
new file mode 100644
index 0000000..675fd67
--- /dev/null
+++ b/trunk/apps/bindings/java/Makefile
@@ -0,0 +1,51 @@
+#
+# $Id: //depot/sgl/gpstk/dev/apps/bindings/java/Makefile#1 $
+#
+# This simple makefile builds a Java interface to the GPSTk from code
+# generated the SWIG utility (http://www.swig.org/). 
+#
+#
+# What you do need:
+#  - A C/C++ compiler.
+#  - Development kit for Java
+#  - The sed utility
+#  - the swig utility
+# 
+# Not all GPSTk functionality is present in these bindings.
+# Two reasons: First, this is a work in progress and should be considered
+# incomplete. Second, not all of the GPSTk's functionality _can_ be mapped
+# into other languages such as Java.
+#
+# Examples of usage of this interface are in the examples subdirectory.
+#
+# Reminder for later: $@ is target, $< is rhs, $^ is rhs
+
+all :	libgpstk.so 
+
+gpstk_wrap.cxx: ../gpstk.i ../common.i ../Exception.i ../GPSZcount.i \
+	../DayTime.i
+	swig -java -c++ -noexcept -I.. gpstk.i
+
+gpstk_wrap_mod.cxx: gpstk_wrap.cxx
+	sed 's/DayTime.hpp\"/DayTime.hpp\"\nusing namespace gpstk;/' gpstk_wrap.cxx > gpstk_wrap_mod.cxx
+
+gpstk_wrap_mod.o: gpstk_wrap_mod.cxx
+	g++ -fPIC -c gpstk_wrap_mod.cxx -I.. \
+	-I/usr/local/jdk1.5.0_01/include \
+	-I/usr/local/jdk1.5.0_01/include/linux
+
+libgpstk.so: gpstk_wrap_mod.o
+	g++ -shared gpstk_wrap_mod.o -o libgpstk.so -lgpstk
+
+clean:
+	rm *.class
+	rm *.java
+	rm *_wrap*
+	rm *gpstk*.so
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/java/examples/example1.java b/trunk/apps/bindings/java/examples/example1.java
new file mode 100644
index 0000000..7af2ee5
--- /dev/null
+++ b/trunk/apps/bindings/java/examples/example1.java
@@ -0,0 +1,11 @@
+class example1 {
+   public static void main(String argv[]) {
+
+      System.loadLibrary("gpstk");
+      
+      DayTime dt = new DayTime();
+      System.out.println("Hello wierdos");
+      System.out.println(dt.JD());
+      
+   }
+}
diff --git a/trunk/apps/bindings/octave/Makefile b/trunk/apps/bindings/octave/Makefile
new file mode 100644
index 0000000..533a353
--- /dev/null
+++ b/trunk/apps/bindings/octave/Makefile
@@ -0,0 +1,29 @@
+#
+# $Id: //depot/sgl/gpstk/dev/apps/bindings/octave/Makefile#1 $
+#
+# To use these routines the GPSTk shared library either needs to be
+# installed as a system shared library, or the environment variable
+# LD_LIBRARY_PATH needs to set to the directory where the shared 
+# library file resides
+#
+
+all :	readRinexObsFast.oct readRinexObsGeom.oct \
+	calculatePosition.oct
+
+readRinexObsFast.oct: readRinexObsFast.cpp
+	$(make_oct)
+
+readRinexObsGeom.oct: readRinexObsGeom.cpp
+	$(make_oct)
+
+calculatePosition.oct: calculatePosition.cpp
+	$(make_oct)
+
+define make_oct
+	@echo "making oct file: $@"
+	@echo "mkoctfile $(CXXFLAGS) -o $@ $^ $(LDLIBS)"
+	mkoctfile -I../src -L../src -lgpstk -o $@ $^ $(LDLIBS)
+	chmod 755 $@
+	for file in $^ ; do $(RM) $$file.o ; done  
+endef
+
diff --git a/trunk/apps/bindings/octave/calculatePosition.cpp b/trunk/apps/bindings/octave/calculatePosition.cpp
new file mode 100644
index 0000000..5063161
--- /dev/null
+++ b/trunk/apps/bindings/octave/calculatePosition.cpp
@@ -0,0 +1,203 @@
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <string>
+#include <vector>
+
+#include <octave/oct.h>
+#include "oct-map.h"
+
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+#include "RinexNavBase.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavStream.hpp"
+#include "TropModel.hpp" 
+#include "BCEphemerisStore.hpp"
+#include "RAIMSolution.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+DEFUN_DLD (calculatePosition, args, , "\n[pvt, editedObs]=calculatePosition(obsfile, navfile)\n\n\tReads named RINEX obs, nav files and returns a list of position\n\tsolutions and edited observations.\n")
+{
+   using ::Matrix;
+   Matrix pvtMatrix, editedMatrix;
+   int numObsTypes=-1, numPrns;
+   long nepochs = 0;
+
+   BCEphemerisStore bcestore;
+   RAIMSolution raimSolver;
+
+   //raimSolver.Solution(0)=3.9817800e+06;
+   //aimSolver.Solution(1)=-8.9237618e+04;
+   //raimSolver.Solution(2)=4.9652914e+06;
+
+
+   ZeroTropModel tropModel;
+
+   if (args.length() != 2)
+   {
+      print_usage("calculatePosition");
+
+      octave_value_list retval;
+      retval(0) = octave_value( Matrix());
+      retval(1) = octave_value( Matrix());
+      return retval;
+   }
+
+   try
+   {  
+      // Read nav file and build unique list of ephemeredes
+      RinexNavStream rnffs(args(1).string_value().data());
+      RinexNavHeader rnh;
+      RinexNavData rne;
+
+      rnffs >> rnh;
+
+      while (rnffs >> rne)
+      {
+         bcestore.addEphemeris(rne);
+      }
+
+      string obsfilename=args(0).string_value();
+
+      RinexObsStream roffs(obsfilename.data());
+      roffs.exceptions(ios::failbit);
+      RinexObsHeader roh;
+      RinexObsData rod;
+      
+      roffs >> roh;
+
+      long nepochs = 0;
+
+      // Scan through file the first time to get a count of epochs
+      while (roffs >> rod)
+      {
+         // Apply any editing criteria.
+	 if  (rod.epochFlag == 0 || rod.epochFlag == 1)
+            nepochs++;
+      }
+
+      pvtMatrix.resize(nepochs,3,0); // Will have to resize _again_ after solutions.
+  
+      // Second scan
+      RinexObsStream roffs2(obsfilename.data());
+      roffs2.exceptions(ios::failbit);
+      int currentRec = 0;
+      roffs2 >> roh;
+
+      while (roffs2>>rod) // Loop through each epoch
+      {
+         // Apply editing criteria (again)
+         if  (rod.epochFlag == 0 || rod.epochFlag == 1) // Begin usable data
+	 {
+	    vector<RinexPrn> prnVec;
+            vector<double> rangeVec;
+
+	    RinexObsData::RinexPrnMap::const_iterator it;
+            for (it = rod.obs.begin(); it!= rod.obs.end(); it++)
+	    {
+	       RinexObsData::RinexObsTypeMap otmap;
+	       RinexObsData::RinexObsTypeMap::const_iterator mit; 
+               RinexObsData::RinexDatum meas;
+               otmap = (*it).second;
+               mit = otmap.find(RinexObsHeader::P1);
+     
+               if (mit!=otmap.end())
+	       {
+                  prnVec.push_back((*it).first);
+                  rangeVec.push_back((*mit).second.data);
+	       }           
+
+            }         
+            bcestore.dump();
+            raimSolver.RMSLimit = 3e6;
+	    cout << raimSolver.Compute(rod.time,prnVec,rangeVec, bcestore, \
+			       &tropModel);
+            cout << raimSolver.RMSResidual;
+
+            if (raimSolver.isValid())
+	   {
+	      pvtMatrix(nepochs,0)=raimSolver.Solution[0];
+	      pvtMatrix(nepochs,1)=raimSolver.Solution[1];
+	      pvtMatrix(nepochs,2)=raimSolver.Solution[2];
+              cout << raimSolver.Solution[0] << "," ;
+              cout << raimSolver.Solution[0] << "," ;
+              cout << raimSolver.Solution[0] << endl ;
+
+              nepochs++;
+           } else cout << "Not valid!";
+ 
+ 	 } // End usable data 
+
+      } // End loop through each epoch
+
+
+     //  exit(0);
+   }
+   catch(FFStreamError& e)
+   {
+   }
+   catch(Exception& e)
+   {
+   }
+   catch (...)
+   {
+   }
+
+   //pvtMatrix.resize(nepochs-1,3,0); // Will have to resize _again_ after solutions.
+
+   octave_value_list retval;
+   retval(0) = octave_value( pvtMatrix);
+   retval(1) = octave_value( editedMatrix);
+
+   return retval;
+}
+
+
+
+
+
diff --git a/trunk/apps/bindings/octave/readRinexObsFast.cpp b/trunk/apps/bindings/octave/readRinexObsFast.cpp
new file mode 100644
index 0000000..1570858
--- /dev/null
+++ b/trunk/apps/bindings/octave/readRinexObsFast.cpp
@@ -0,0 +1,332 @@
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <string>
+
+#include <octave/oct.h>
+#include "oct-map.h"
+
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+using namespace std;
+
+DEFUN_DLD (readRinexObsFast, args, , "Reads RINEX obs file and returns it as a matrix.")
+{
+   Matrix obsMatrix;
+   int numObsTypes=-1, numPrns;
+
+   Octave_map headerStruct;
+
+   if (args.length() != 1)
+   {
+      print_usage("readRinexObsFast");
+      return octave_value(headerStruct); // 
+   }
+
+   try
+   {
+      std::string obsfilename=args(0).string_value();
+
+      gpstk::RinexObsStream roffs(obsfilename.data());
+      roffs.exceptions(ios::failbit);
+      gpstk::RinexObsHeader roh;
+      gpstk::RinexObsData rod;
+      
+      roffs >> roh;
+
+      if (roh.isValid())
+      {
+         if (roh.valid & gpstk::RinexObsHeader::versionValid)
+            headerStruct["rinex_version_type"](0) = (roh.version);
+
+         if (roh.valid & gpstk::RinexObsHeader::runByValid)
+	 {
+            headerStruct["pgm"](0) = roh.fileProgram;
+            headerStruct["run_by"](0) = roh.fileAgency;
+            headerStruct["date"](0) = roh.date;
+         }
+
+         if (roh.valid & gpstk::RinexObsHeader::markerNameValid)
+	 {
+	     headerStruct["marker_name"](0) = roh.markerName;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::markerNumberValid)
+	 {
+	     headerStruct["marker_number"](0) = roh.markerNumber;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::commentValid)
+	 {
+	    vector<string>::iterator i;
+            i = roh.commentList.begin();
+            int n = 0;
+            for (;
+                 i!=roh.commentList.end();
+		 i++,n++)
+               headerStruct["comment"](n) = *i;
+	 }
+         
+         if (roh.valid & gpstk::RinexObsHeader::observerValid)
+	    headerStruct["observer"](0) = roh.observer;
+
+         if (roh.valid & gpstk::RinexObsHeader::receiverValid)
+	 {
+	    headerStruct["receiver_number" ](0) = roh.recNo;
+	    headerStruct["receiver_type"   ](0) = roh.recType;
+            headerStruct["receiver_version"](0) = roh.recVers;
+         }
+
+         if (roh.valid & gpstk::RinexObsHeader::antennaTypeValid)
+	 {
+            headerStruct["antenna_number"](0) = roh.antNo;
+	    headerStruct["antenna_type"  ](0) = roh.antType;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::antennaPositionValid)
+	 {
+            ColumnVector aPos(3);
+            aPos(0) = roh.antennaPosition[0];
+            aPos(1) = roh.antennaPosition[1];
+            aPos(2) = roh.antennaPosition[2];
+            headerStruct["antenna_position"](0) = aPos;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::antennaOffsetValid)
+	 {
+	   ColumnVector aOff(3);
+	   aOff(0) = roh.antennaOffset[0];
+	   aOff(1) = roh.antennaOffset[1];
+	   aOff(2) = roh.antennaOffset[2];
+	   headerStruct["antenna_offset"](0) = aOff;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::waveFactValid)
+	 {
+	   ColumnVector waveFact(2);
+	   waveFact(0) = static_cast<short> (roh.wavelengthFactor[0]);
+	   waveFact(1) = static_cast<short> (roh.wavelengthFactor[1]);
+	   headerStruct["wavelength_factor"](0) = waveFact;
+	 }
+
+         // The extraWaveFactList code is untested for lack of 
+         // real datafiles (externally generated) to test it.
+         // This generates a single matrix with all wave factor info
+         // in it.
+	 // Column, Contents
+	 // 1       PRN
+         // 2       System number
+         // 3       L1 wave factor
+         // 4       L2 wave factor
+         if (!roh.extraWaveFactList.empty())
+	 {
+            Matrix waveFactors(0,0);
+	    int nprnsTot = 0;
+            vector<gpstk::RinexObsHeader::ExtraWaveFact>::iterator i;
+            for (i=roh.extraWaveFactList.begin();
+                 i!=roh.extraWaveFactList.end();
+	         i++)
+	    {
+               int nprns = (*i).prnList.size();
+               waveFactors.resize(nprnsTot+nprns, 4);
+               for (int j=0; j<nprns; j++)
+	       {
+		  waveFactors(nprnsTot+j,0) = (*i).prnList[j].prn;
+	          waveFactors(nprnsTot+j,1) = (*i).prnList[j].system;
+                  waveFactors(nprnsTot+j,2) = (*i).wavelengthFactor[0];
+                  waveFactors(nprnsTot+j,3) = (*i).wavelengthFactor[1];
+	       }
+               nprnsTot += nprns;
+	    }
+
+            headerStruct["wave_factors_by_prn"](0) = waveFactors;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::obsTypeValid)
+	 {
+	    std::string obsList;
+            for (int i=0; i<roh.obsTypeList.size(); i++)
+	    {
+	      obsList += roh.obsTypeList[i].type + string(" ");
+	    }
+	    headerStruct["obs_types"](0)=obsList;
+
+            numObsTypes = roh.obsTypeList.size();            
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::intervalValid)
+	 {
+            headerStruct["interval"](0) = static_cast<double> (roh.interval);
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::firstTimeValid)
+	 {
+	    ColumnVector firstTime(3);
+            firstTime(0)=static_cast<short> (roh.firstObs.DOYyear());
+            firstTime(1)=static_cast<short> (roh.firstObs.DOYday());
+            firstTime(2)=static_cast<double> (roh.firstObs.DOYsecond());
+	    headerStruct["time_of_first_obs"](0) = firstTime;
+	 }
+
+	 // Untested.
+         if (roh.valid & gpstk::RinexObsHeader::lastTimeValid)
+	 {
+	    ColumnVector lastTime(3);
+            lastTime(0)=static_cast<short> (roh.lastObs.DOYyear());
+            lastTime(1)=static_cast<short> (roh.lastObs.DOYday());
+            lastTime(2)=static_cast<double> (roh.lastObs.DOYsecond());
+	    headerStruct["time_of_last_obs"](0) = lastTime;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::receiverOffsetValid)
+	 {
+	    headerStruct["receiver_offset"](0)=static_cast<int> (roh.receiverOffset);
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::leapSecondsValid)
+	 {
+	    headerStruct["leap_seconds"](0)=static_cast<int> (roh.leapSeconds);          }
+
+         if (roh.valid & gpstk::RinexObsHeader::numSatsValid)
+	 {
+	    headerStruct["numSVs"](0)=static_cast<short> (roh.numSVs);
+	 }
+	 
+         if (roh.valid & gpstk::RinexObsHeader::prnObsValid)
+	 {
+	    Matrix prnObs(roh.numObsForPrn.size(),numObsTypes+2);
+            map<gpstk::RinexPrn::RinexPrn, vector<int> >::iterator i;
+            int row=0;
+            for (i=roh.numObsForPrn.begin(),row=0;
+                 i!=roh.numObsForPrn.end();
+                 i++,row++)
+	    {
+	      prnObs(row,0) = (*i).first.prn;
+              prnObs(row,1) = (*i).first.system;
+              if (numObsTypes==-1)
+                 numObsTypes = (*i).second.size();
+	      for (int j=0;j<numObsTypes;j++)
+		prnObs(row,j+2)=(*i).second[j];
+      	    }
+	    headerStruct["num_of_obs_for_prn"](0)=prnObs;            
+	  }
+
+      }
+
+      long nrecs = 0;
+
+      // First scan, just to get the total number of records (prn-epochs)
+      while (roffs >> rod)
+      {
+         // Apply any editing criteria.
+	 if  (rod.epochFlag == 0 || rod.epochFlag == 1)
+            nrecs = nrecs + rod.numSvs;
+      }
+
+      obsMatrix.resize(nrecs,numObsTypes+4,0);
+      // Second scan
+      gpstk::RinexObsStream roffs2(obsfilename.data());
+      roffs2.exceptions(ios::failbit);
+      int currentRec = 0;
+      roffs2 >> roh;
+
+      while (roffs2>>rod) // Loop through each epoch
+      {
+         // Apply editing criteria (again)
+         if  (rod.epochFlag == 0 || rod.epochFlag == 1) // Begin usable data
+	 {
+            short year = rod.time.DOYyear();
+            short doy  = rod.time.DOYday();
+	    double sod = rod.time.DOYsecond();
+
+	    gpstk::RinexObsData::RinexPrnMap::iterator it;
+            for (it=rod.obs.begin(); it!=rod.obs.end(); it++) // PRN loop
+	    {
+               obsMatrix(currentRec,0)=year;
+               obsMatrix(currentRec,1)=doy;
+               obsMatrix(currentRec,2)=sod;
+               obsMatrix(currentRec,3)=it->first.prn;
+               // What to do with system information? sigh...a new matrix?
+
+               gpstk::RinexObsData::RinexObsTypeMap::iterator jt;
+               		 
+               int column = 4; // First column of observations
+
+               for (jt  = it->second.begin();
+                    jt != it->second.end();
+                    jt++,column++) // Loop through obs types for this PRN
+	       {
+                  obsMatrix(currentRec,column)=jt->second.data;
+                  // What can we do with lli and ssi? build a new matrix?
+	       } // End loop through obs types for this PRN
+               currentRec++;
+	    } // End loop PRNs for this epoch
+
+	 } // End usable data 
+
+      } // End loop through each epoch
+     //  exit(0);
+   }
+   catch(gpstk::FFStreamError& e)
+   {
+     // cout << e;
+      //  exit(1);
+   }
+   catch(gpstk::Exception& e)
+   {
+     //cout << e;
+      //      exit(1);
+   }
+   catch (...)
+   {
+     //cout << "unknown error.  Done." << endl;
+      //      exit(1);
+   }
+
+   octave_value_list retval;
+   retval(0) = octave_value( headerStruct);
+   retval(1) = octave_value( obsMatrix);
+
+   return retval;
+}
diff --git a/trunk/apps/bindings/octave/readRinexObsGeom.cpp b/trunk/apps/bindings/octave/readRinexObsGeom.cpp
new file mode 100644
index 0000000..e95a713
--- /dev/null
+++ b/trunk/apps/bindings/octave/readRinexObsGeom.cpp
@@ -0,0 +1,397 @@
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <string>
+
+#include <octave/oct.h>
+#include "oct-map.h"
+
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexNavBase.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavStream.hpp"
+#include "BCEphemerisStore.hpp"
+
+using namespace std;
+
+DEFUN_DLD (readRinexObsGeom, args, , "\n[header, obs, azel]=readRinexObsGeom(obsfile,navfile)\n\nReads RINEX obs file and returns it as a matrix.\nAlso computes azimuth and elevation for each obs.\n")
+{
+
+   Matrix obsMatrix, azelMatrix;
+   gpstk::BCEphemerisStore bcestore;
+   int numObsTypes=-1, numPrns;
+
+   Octave_map headerStruct;
+
+   if (args.length() != 2)
+   {
+      print_usage("readRinexObsGeom");
+      octave_value_list retval;
+      retval(0) = octave_value(Matrix());
+      retval(1) = octave_value(Matrix());
+      retval(2) = octave_value(Matrix());
+
+      return retval;  
+   }
+
+   try
+   {
+      // Read nav file and build unique list of ephemeredes
+      gpstk::RinexNavStream rnffs(args(1).string_value().data());
+      gpstk::RinexNavHeader rnh;
+      gpstk::RinexNavData rne;
+
+      rnffs >> rnh;
+
+      while (rnffs >> rne)
+      {
+         bcestore.addEphemeris(rne);
+      }
+
+      bcestore.SearchNear(); // This is unrealistic but necessary just
+                             // to get an ephemeris almost 100% of the time
+      //bcestore.dump(1);
+
+      std::string obsfilename=args(0).string_value();
+
+      gpstk::RinexObsStream roffs(obsfilename.data());
+      roffs.exceptions(ios::failbit);
+      gpstk::RinexObsHeader roh;
+      gpstk::RinexObsData rod;
+      
+      roffs >> roh;
+
+      if (roh.isValid())
+      {
+         if (roh.valid & gpstk::RinexObsHeader::versionValid)
+            headerStruct["rinex_version_type"](0) = (roh.version);
+
+         if (roh.valid & gpstk::RinexObsHeader::runByValid)
+	 {
+            headerStruct["pgm"](0) = roh.fileProgram;
+            headerStruct["run_by"](0) = roh.fileAgency;
+            headerStruct["date"](0) = roh.date;
+         }
+
+         if (roh.valid & gpstk::RinexObsHeader::markerNameValid)
+	 {
+	     headerStruct["marker_name"](0) = roh.markerName;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::markerNumberValid)
+	 {
+	     headerStruct["marker_number"](0) = roh.markerNumber;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::commentValid)
+	 {
+	    vector<string>::iterator i;
+            i = roh.commentList.begin();
+            int n = 0;
+            for (;
+                 i!=roh.commentList.end();
+		 i++,n++)
+               headerStruct["comment"](n) = *i;
+	 }
+         
+         if (roh.valid & gpstk::RinexObsHeader::observerValid)
+	    headerStruct["observer"](0) = roh.observer;
+
+         if (roh.valid & gpstk::RinexObsHeader::receiverValid)
+	 {
+	    headerStruct["receiver_number" ](0) = roh.recNo;
+	    headerStruct["receiver_type"   ](0) = roh.recType;
+            headerStruct["receiver_version"](0) = roh.recVers;
+         }
+
+         if (roh.valid & gpstk::RinexObsHeader::antennaTypeValid)
+	 {
+            headerStruct["antenna_number"](0) = roh.antNo;
+	    headerStruct["antenna_type"  ](0) = roh.antType;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::antennaPositionValid)
+	 {
+            ColumnVector aPos(3);
+            aPos(0) = roh.antennaPosition[0];
+            aPos(1) = roh.antennaPosition[1];
+            aPos(2) = roh.antennaPosition[2];
+            headerStruct["antenna_position"](0) = aPos;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::antennaOffsetValid)
+	 {
+	   ColumnVector aOff(3);
+	   aOff(0) = roh.antennaOffset[0];
+	   aOff(1) = roh.antennaOffset[1];
+	   aOff(2) = roh.antennaOffset[2];
+	   headerStruct["antenna_offset"](0) = aOff;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::waveFactValid)
+	 {
+	   ColumnVector waveFact(2);
+	   waveFact(0) = static_cast<short> (roh.wavelengthFactor[0]);
+	   waveFact(1) = static_cast<short> (roh.wavelengthFactor[1]);
+	   headerStruct["wavelength_factor"](0) = waveFact;
+	 }
+
+         // The extraWaveFactList code is untested for lack of 
+         // real datafiles (externally generated) to test it.
+         // This generates a single matrix with all wave factor info
+         // in it.
+	 // Column, Contents
+	 // 1       PRN
+         // 2       System number
+         // 3       L1 wave factor
+         // 4       L2 wave factor
+         if (!roh.extraWaveFactList.empty())
+	 {
+            Matrix waveFactors(0,0);
+	    int nprnsTot = 0;
+            vector<gpstk::RinexObsHeader::ExtraWaveFact>::iterator i;
+            for (i=roh.extraWaveFactList.begin();
+                 i!=roh.extraWaveFactList.end();
+	         i++)
+	    {
+               int nprns = (*i).prnList.size();
+               waveFactors.resize(nprnsTot+nprns, 4);
+               for (int j=0; j<nprns; j++)
+	       {
+		  waveFactors(nprnsTot+j,0) = (*i).prnList[j].prn;
+	          waveFactors(nprnsTot+j,1) = (*i).prnList[j].system;
+                  waveFactors(nprnsTot+j,2) = (*i).wavelengthFactor[0];
+                  waveFactors(nprnsTot+j,3) = (*i).wavelengthFactor[1];
+	       }
+               nprnsTot += nprns;
+	    }
+
+            headerStruct["wave_factors_by_prn"](0) = waveFactors;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::obsTypeValid)
+	 {
+	    std::string obsList;
+            for (int i=0; i<roh.obsTypeList.size(); i++)
+	    {
+	      obsList += roh.obsTypeList[i].type + string(" ");
+	    }
+	    headerStruct["obs_types"](0)=obsList;
+
+            numObsTypes = roh.obsTypeList.size();            
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::intervalValid)
+	 {
+            headerStruct["interval"](0) = static_cast<double> (roh.interval);
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::firstTimeValid)
+	 {
+	    ColumnVector firstTime(3);
+            firstTime(0)=static_cast<short> (roh.firstObs.DOYyear());
+            firstTime(1)=static_cast<short> (roh.firstObs.DOYday());
+            firstTime(2)=static_cast<double> (roh.firstObs.DOYsecond());
+	    headerStruct["time_of_first_obs"](0) = firstTime;
+	 }
+
+	 // Untested.
+         if (roh.valid & gpstk::RinexObsHeader::lastTimeValid)
+	 {
+	    ColumnVector lastTime(3);
+            lastTime(0)=static_cast<short> (roh.lastObs.DOYyear());
+            lastTime(1)=static_cast<short> (roh.lastObs.DOYday());
+            lastTime(2)=static_cast<double> (roh.lastObs.DOYsecond());
+	    headerStruct["time_of_last_obs"](0) = lastTime;
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::receiverOffsetValid)
+	 {
+	    headerStruct["receiver_offset"](0)=static_cast<int> (roh.receiverOffset);
+	 }
+
+         if (roh.valid & gpstk::RinexObsHeader::leapSecondsValid)
+	 {
+	    headerStruct["leap_seconds"](0)=static_cast<int> (roh.leapSeconds);          }
+
+         if (roh.valid & gpstk::RinexObsHeader::numSatsValid)
+	 {
+	    headerStruct["numSVs"](0)=static_cast<short> (roh.numSVs);
+	 }
+	 
+         if (roh.valid & gpstk::RinexObsHeader::prnObsValid)
+	 {
+	    Matrix prnObs(roh.numObsForPrn.size(),numObsTypes+2);
+            map<gpstk::RinexPrn::RinexPrn, vector<int> >::iterator i;
+            int row=0;
+            for (i=roh.numObsForPrn.begin(),row=0;
+                 i!=roh.numObsForPrn.end();
+                 i++,row++)
+	    {
+	      prnObs(row,0) = (*i).first.prn;
+              prnObs(row,1) = (*i).first.system;
+              if (numObsTypes==-1)
+                 numObsTypes = (*i).second.size();
+	      for (int j=0;j<numObsTypes;j++)
+		prnObs(row,j+2)=(*i).second[j];
+      	    }
+	    headerStruct["num_of_obs_for_prn"](0)=prnObs;            
+	  }
+
+      }
+
+      long nrecs = 0;
+
+      // First scan, just to get the total number of records (prn-epochs)
+      while (roffs >> rod)
+      {
+         // Apply any editing criteria.
+	 if  (rod.epochFlag == 0 || rod.epochFlag == 1)
+            nrecs = nrecs + rod.numSvs;
+      }
+
+      obsMatrix.resize(nrecs,numObsTypes+4,0);
+      azelMatrix.resize(nrecs,2); // First col is az, second is el
+
+      // Second scan
+      gpstk::RinexObsStream roffs2(obsfilename.data());
+      roffs2.exceptions(ios::failbit);
+      int currentRec = 0;
+      roffs2 >> roh;
+
+      while (roffs2>>rod) // Loop through each epoch
+      {
+         // Apply editing criteria (again)
+         if  (rod.epochFlag == 0 || rod.epochFlag == 1) // Begin usable data
+	 {
+            short year = rod.time.DOYyear();
+            short doy  = rod.time.DOYday();
+	    double sod = rod.time.DOYsecond();
+
+            short iodc;
+	    gpstk::Xvt svpos;
+            short prn;
+
+	    gpstk::RinexObsData::RinexPrnMap::iterator it;
+            for (it=rod.obs.begin(); it!=rod.obs.end(); it++) // PRN loop
+	    {
+               obsMatrix(currentRec,0)=year;
+               obsMatrix(currentRec,1)=doy;
+               obsMatrix(currentRec,2)=sod;
+               prn = it->first.prn;
+               obsMatrix(currentRec,3)= prn;
+               // What to do with system information? sigh...a new matrix?
+
+
+               // Compute topocentric coords for this satellite
+               // i.e., azimuth and elevation
+               if (roh.valid & gpstk::RinexObsHeader::antennaPositionValid)
+	       {
+		 //cout << " prn " << prn << " epoch " << rod.time << endl;
+                 // cout << bcestore.getInitialTime() << endl;
+                 // cout << bcestore.getFinalTime() << endl;
+
+		  try {
+                  svpos = bcestore.getPrnXvt(prn,rod.time,iodc);
+                  azelMatrix(currentRec,0)=roh.antennaPosition.azAngle(svpos.x);
+                  azelMatrix(currentRec,1)=roh.antennaPosition.elvAngle(svpos.x);
+                  }
+                  //catch (gpstk::EphemerisStore::NoEphemerisFound& x)
+		    //{
+                    // cout << "No ephemeris found!" << endl;
+		     //} 
+                  catch (...) {} 
+	       }
+
+               gpstk::RinexObsData::RinexObsTypeMap::iterator jt;
+               		 
+               int column = 4; // First column of observations
+
+               for (jt  = it->second.begin();
+                    jt != it->second.end();
+                    jt++,column++) // Loop through obs types for this PRN
+	       {
+                  obsMatrix(currentRec,column)=jt->second.data;
+                  // What can we do with lli and ssi? build a new matrix?
+	       } // End loop through obs types for this PRN
+               currentRec++;
+	    } // End loop PRNs for this epoch
+
+	 } // End usable data 
+
+      } // End loop through each epoch
+     //  exit(0);
+   }
+   catch(gpstk::FFStreamError& e)
+   {
+     // cout << e;
+      //  exit(1);
+   }
+   catch(gpstk::Exception& e)
+   {
+     //cout << e;
+      //      exit(1);
+   }
+   catch (...)
+   {
+     //cout << "unknown error.  Done." << endl;
+      //      exit(1);
+   }
+
+   octave_value_list retval;
+   retval(0) = octave_value( headerStruct);
+   retval(1) = octave_value( obsMatrix);
+   retval(2) = octave_value( azelMatrix);
+
+   return retval;
+}
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/perl/Makefile b/trunk/apps/bindings/perl/Makefile
new file mode 100644
index 0000000..db0dc21
--- /dev/null
+++ b/trunk/apps/bindings/perl/Makefile
@@ -0,0 +1,50 @@
+#
+# $Id:$
+#
+# This simple makefile builds a Perl interface to the GPSTk from code
+# generated the SWIG utility (http://www.swig.org/). 
+#
+# You shouldn't need to install SWIG to compile this interface as
+# distributed, unless you change the interface definition (.i files).
+#
+# What you do need:
+#  - A C/C++ compiler.
+#  - Development headers of Perl
+#  - Knowledge of which directory contains "perl.h", "Extern.h" and "XSUB.h"
+#  - The sed utility
+# 
+# Not all GPSTk functionality is present in these bindings.
+# Two reasons: First, this is a work in progress and should be considered
+# incomplete. Second, not all of the GPSTk's functionality _can_ be mapped
+# into other languages such as perl.
+#
+# Examples of usage of this interface are in the examples subdirectory.
+#
+# Reminder for later: $@ is target, $< is rhs, $^ is rhs
+
+all :	gpstk-perl.so 
+
+gpstk_wrap.cxx: ../gpstk.i ../common.i ../Exception.i ../GPSZcount.i \
+	../DayTime.i ../FFTextStream.i ../RinexObsStream.i
+	swig -perl5 -c++ -I.. \
+	gpstk.i
+
+gpstk_wrap_mod.cxx: gpstk_wrap.cxx
+	sed 's/DayTime.hpp\"/DayTime.hpp\"\nusing namespace gpstk;/' gpstk_wrap.cxx > gpstk_wrap_mod.cxx
+
+gpstk_wrap_mod.o: gpstk_wrap_mod.cxx
+	g++ -fpic -c gpstk_wrap_mod.cxx -I.. -I /usr/lib/perl/5.8.4/CORE \
+		-Dbool=char `perl -e 'use Config; print $Config{ccflags}'`
+
+gpstk-perl.so: gpstk_wrap_mod.o
+	g++ -shared gpstk_wrap_mod.o -o gpstk-perl.so -lgpstk
+
+clean:
+	rm *_wrap*
+	rm *gpstk*.so
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/python/DayTimeException.i b/trunk/apps/bindings/python/DayTimeException.i
new file mode 100644
index 0000000..5772dba
--- /dev/null
+++ b/trunk/apps/bindings/python/DayTimeException.i
@@ -0,0 +1,5 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+// Two gpstk::Exception classes under DayTime
+
+NEW_EXCEPTION_CLASS(DayTimeException, gpstk::Exception);
+NEW_EXCEPTION_CLASS(FormatException, gpstk::Exception);
diff --git a/trunk/apps/bindings/python/Developer.txt b/trunk/apps/bindings/python/Developer.txt
new file mode 100644
index 0000000..1243925
--- /dev/null
+++ b/trunk/apps/bindings/python/Developer.txt
@@ -0,0 +1,45 @@
+Developer's Notes for GPSTk binding for Python through SWIG 1.3.25
+
+Supervisors
+Ben Harris, David Munton
+
+Student
+Rob Chang
+
+Date: August 1, 2005
+------------------------------------------------------------------
+
+We need the typedef's between %{ }% because SWIG does not write the class prefix (<classname>::) in front of nested objects.
+
+All operator overloads either require renaming or ignoring.  See common.i.
+
+The overload for operator<< is more confusing.  Some classes list operator<< as friend functions and the overloaded functions for them are in the global scope.  Since the function parameters in Python are all the same (PyObjects), some operator<<'s end up with the same signature.  When such ambiguity occurs, I rename the operator<< for both classes to <classname>_streamRead.  Right now the pairs that conflict are:
+Exception and DayTimeExceptions
+Triple and Xvt
+
+Typecasting operators (operator GPSZcount, for example) also require renaming.
+
+Constant bracket operators require renaming.
+
+Order matters.  If class B inherits from class A, then A.hpp needs to be %included or %imported before B.
+
+Some functions are declared in .hpp but never implemented in .cpp.  %ignore them.
+
+Using pydoc.py doesn't always work.  Sometimes it will return the following:
+make: *** [gpstkPython.html] Segmentation fault
+Just run ./pydoc.py -w gpstkPython again and it should create gpstkPython.html.
+
+In RinexObsData.hpp, there are two typedefs: RinexPrnMap and RinexObsTypeMap.  I created templates for them so those two data types are available in Python.  To create a map template, you must also declare a pair template of the same types.  In this particular case, I had to use a BOGUS_TEMPLATE so the RinexPrnMap template will compile.  I have no idea why that is.  I reached that by accident.
+
+Examples 1 and 3 have try+catch blocks.  But they only catch an Exception and print "Hey, exception" as opposed to the C++ version where they print specific information about the exception raised.
+
+Many operator<< are not wrapped.  I don't know why.  I added streamRead.i and streamRead.cpp to separately implement DayTime_streamRead for example3.
+
+----------------
+gpstkPythonUtils
+----------------
+This file holds two groups of functions that I wrote.
+
+SWIG has a std_ios.i file built-in.  But it uses integer type for openmode.  SWIG parser picks that up; therefore, calling ios.out in Python returns an integer value.  RinexObsStream constructor insists on having a pointer to "openmode".
+
+SWIG never wrapped RinexObsStream operators << and >> because it was never explicited defined.  RinexObsStream inherits from FFTextStream which inherits from FFStream which inherits from fstream.  SWIG cannot wrap fstream because there's no fstream.hpp.  Therefore I wrote functions to perform the fstream read/write.
diff --git a/trunk/apps/bindings/python/ExtraWaveFact.i b/trunk/apps/bindings/python/ExtraWaveFact.i
new file mode 100644
index 0000000..d4f702a
--- /dev/null
+++ b/trunk/apps/bindings/python/ExtraWaveFact.i
@@ -0,0 +1,11 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+// RinexObsHeader::ExtraWaveFact
+// Requires the following in gpstk.i:
+
+
+
+struct ExtraWaveFact
+{
+	std::vector < RinexPrn > prnList;
+	short wavelengthFactor[2];
+};
diff --git a/trunk/apps/bindings/python/Makefile b/trunk/apps/bindings/python/Makefile
new file mode 100644
index 0000000..83c9593
--- /dev/null
+++ b/trunk/apps/bindings/python/Makefile
@@ -0,0 +1,44 @@
+#
+# This simple makefile builds a Python interface to the GPSTk from code
+# generated the SWIG utility (http://www.swig.org/). 
+#
+# You shouldn't need to install SWIG to compile this interface as
+# distributed, unless you change the interface definition (.i files).
+#
+# What you do need:
+#  - A C/C++ compiler.
+#  - Development headers of Python
+# 
+# Not all GPSTk functionality is present in these bindings.
+# Two reasons: First, this is a work in progress and should be considered
+# incomplete. Second, not all of the GPSTk's functionality _can_ be mapped
+# into other languages such as Python.
+#
+# Examples of usage of this interface are in the examples subdirectory.
+#
+# Reminder for later: $@ is target, $< is rhs, $^ is rhs
+#
+# See Developer.txt for more info about how to further extend this interface.
+# Note that swig version 1.3.25 and gpstk are both required to be installed
+# for this makefile to work.
+#
+
+all :	_gpstkPython.so gpstkPython.html
+
+gpstkPython_wrap.cxx: common.i ExtraWaveFact.i gpstkPythonUtils.i RinexObsType.i DayTimeException.i gpstkPython.i RinexDatum.i sensorType.i streamRead.i gpstkPythonUtils.cpp streamRead.cpp
+	swig -python -c++ -I/usr/local/lib gpstkPython.i
+
+gpstkPython_wrap.o: gpstkPython_wrap.cxx
+	g++ -c gpstkPython_wrap.cxx -I/usr/include/python2.3
+
+_gpstkPython.so: gpstkPython_wrap.o
+	g++ -shared gpstkPython_wrap.o -o _gpstkPython.so -lgpstk
+
+gpstkPython.html: _gpstkPython.so
+	./pydoc.py -w gpstkPython
+
+clean:
+	rm gpstkPython.py*
+	rm *_wrap*
+	rm *gpstk*.so
+	rm gpstkPython.html
diff --git a/trunk/apps/bindings/python/RinexDatum.i b/trunk/apps/bindings/python/RinexDatum.i
new file mode 100644
index 0000000..c376103
--- /dev/null
+++ b/trunk/apps/bindings/python/RinexDatum.i
@@ -0,0 +1,10 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+// RinexObsData::RinexDatum wrap
+
+struct RinexDatum
+{
+	RinexDatum();
+	double data;
+	short lli;
+	short ssi;
+};
diff --git a/trunk/apps/bindings/python/RinexObsType.i b/trunk/apps/bindings/python/RinexObsType.i
new file mode 100644
index 0000000..9c4723a
--- /dev/null
+++ b/trunk/apps/bindings/python/RinexObsType.i
@@ -0,0 +1,20 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+// Wrapping RinexObsHeader::RinexObsType separately
+
+struct RinexObsType
+{
+	std::string type;
+	std::string description;
+	std::string units;
+	unsigned int depend;
+	RinexObsType();
+	RinexObsType(std::string t, std::string d, std::string u,
+		unsigned int dep=0);
+	static const unsigned int C1depend;
+	static const unsigned int L1depend;
+	static const unsigned int L2depend;
+	static const unsigned int P1depend;
+	static const unsigned int P2depend;
+	static const unsigned int EPdepend;
+	static const unsigned int PSdepend;
+};
diff --git a/trunk/apps/bindings/python/common.i b/trunk/apps/bindings/python/common.i
new file mode 100644
index 0000000..69125f8
--- /dev/null
+++ b/trunk/apps/bindings/python/common.i
@@ -0,0 +1,56 @@
+/* Directives common to all interfaces. */
+
+/* Math operators */
+%rename(__add__) operator+;
+%rename(__sub__) operator-;
+%rename(__mul__) operator*;
+%rename(operator_assignment) operator=;
+%rename(class_operator_assignment) *::operator=;
+
+/* Logical operators */
+%rename(operator_equal_to) operator==;
+%rename(operator_not_equal_to) operator!=;
+%rename(operator_less_than) operator<;
+%rename(operator_greater_than) operator>;
+%rename(operator_less_than_equal_to) operator <=;
+%rename(operator_greater_than_equal_to) operator >=;
+
+/* Stream operators */
+%rename(streamRead) operator<<;
+%rename(streamWrite) operator>>;
+
+/* Increment/decrement operators */
+%ignore operator++;
+%ignore operator--;
+%ignore operator+=;
+%ignore operator-=;
+%ignore *::operator++;
+%ignore *::operator--;
+
+/* stdio support */
+%include "cstring.i"
+
+/* indexing operator */
+%rename(operator_bracket) operator[];
+%rename(class_operator_bracket) *::operator[];
+
+/* Standadard ANSI C++ library support (e.g., STL) support */
+%rename(std_string) std::string;
+%include "std_common.i"
+%include "std_map.i"
+%include "std_pair.i"
+%include "std_string.i"
+%include "std_vector.i"
+
+
+
+namespace std {
+   %template(vectori) vector<int>;
+   %template(vectord) vector<double>;
+};
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/python/examples/example1.html b/trunk/apps/bindings/python/examples/example1.html
new file mode 100644
index 0000000..856b143
--- /dev/null
+++ b/trunk/apps/bindings/python/examples/example1.html
@@ -0,0 +1,38 @@
+<h1>Example: A Basic GPSTk Application in Python</h1>
+
+<p>This example serves as an introdcution to using the GPSTk in Python.  The code associated with the example can be found in the file <em>example1.py</em>.  Its purpose is to illustrate the most basic concepts required for effective use of the GPSTk.</p>
+
+<pre>
+   1  #!/usr/bin/python
+
+   2  from gpstkPython import *
+
+   3  try:
+   4      time = DayTime()
+ 
+   5      print 'Hello world!'
+   6      print 'The current GPS week is', time.GPSfullweek()
+   7      print 'The day of the GPS week is', time.GPSday()
+   8      print 'The seconds of the GPS week is', time.GPSsecond()
+
+   9  except Exception:
+  10      print 'Error'
+</pre>
+
+<p>Line 2 imports Python module "gpstkPython" which contains the GPSTk class DayTime.  As you might expect, DayTime is a class that represents time.  As time is an integral concept to GPS, this class plays an important part in the foundation of the GPSTk.</p>
+
+<p>Line 3 establishes a try-catch block, so that if a GPSTk-derived exception is thrown it is caught and displayed, in lines 9-10.
+<p>Lines 4 through 8 demonstrate use of the DayTime class.  Note that the default constructor represents the current system time.</p>
+
+<p>To execute the above code in Linux would look like the following.</p>
+
+<pre>
+bash-3.00$ ./example1.py
+Hello world!
+The current GPS week is 1334
+The day of the GPS week is 2
+The seconds of the GPS week is 242457.693899
+</pre>
+
+<p>More example code can be found in the source distribution under <em>gpstk/examples</em>, <em>gpstk/tests</em> and <em>gpstk/apps</em>. </p>
+
diff --git a/trunk/apps/bindings/python/examples/example1.py b/trunk/apps/bindings/python/examples/example1.py
new file mode 100755
index 0000000..4b2b691
--- /dev/null
+++ b/trunk/apps/bindings/python/examples/example1.py
@@ -0,0 +1,20 @@
+#!/usr/bin/python
+
+import sys
+sys.path.append("..")
+from gpstkPython import *
+
+try:
+    time = DayTime()
+
+    print 'Hello world!'
+    print 'The current GPS week is', time.GPSfullweek()
+
+    print 'The day of the GPS week is', time.GPSday()
+
+    print 'The seconds of the GPS week is', time.GPSsecond()
+
+except Exception:
+    print 'Error'
+
+
diff --git a/trunk/apps/bindings/python/examples/example2.html b/trunk/apps/bindings/python/examples/example2.html
new file mode 100644
index 0000000..75ceefe
--- /dev/null
+++ b/trunk/apps/bindings/python/examples/example2.html
@@ -0,0 +1,29 @@
+<h1>Example: Reading and Writing a RINEX Observation File</h1>
+
+<p>This example demonstrates the basic I/O processing of RINEX files.</p>
+
+<p>
+<pre>
+   1  #!/usr/bin/python
+
+   2  from gpstkPython import *
+
+   3  rin = RinexObsStream('bahr1620.04o')
+   4  rout = RinexObsStream('bahr1620.04o.new', ios_out_trunc())
+
+   5  head = RinexObsHeader()
+   6  write(rin, head)
+   7  rout.header = rin.header
+   8  read(rout, rout.header)
+
+   9  data = RinexObsData()
+  10  while write(rin, data):
+  11      read(rout, data)
+</pre>
+</p>
+
+<p>Line 3 and 4 instantiate RinexObsStream object, for input and output, respectively. Note by example that the simpler constructor defaults to input-only behavior.  All of the complexity of reading and writing RINEX observation classes has been <em>encapsulated</em> by the RinexObsStream class.</p>
+
+<p>Lines 5 through 8 demonstrate reading and writing of the RINEX observation file header.</p>
+
+<p>The observations are read into a RinexObsData object, epoch by epoch in lines 9 through 11.  The C++ streaming operators have been renamed to read() and write().  Note that the streaming operator serves as a loop control variable as well as a method of "filling" a RinexObsData object.  The RinexObsData class contains the epoch time stamp, and a map of satellites to observations.</p>
diff --git a/trunk/apps/bindings/python/examples/example2.py b/trunk/apps/bindings/python/examples/example2.py
new file mode 100755
index 0000000..97fd102
--- /dev/null
+++ b/trunk/apps/bindings/python/examples/example2.py
@@ -0,0 +1,17 @@
+#!/usr/bin/python
+
+import sys
+sys.path.append("..")
+from gpstkPython import *
+
+rin = RinexObsStream('../../../../examples/bahr1620.04o')
+rout = RinexObsStream('bahr1620.04o.new', ios_out_trunc())
+head = RinexObsHeader()
+
+write(rin, head)
+rout.header = rin.header
+read(rout, rout.header)
+
+data = RinexObsData()
+while write(rin, data):
+    read(rout, data)
diff --git a/trunk/apps/bindings/python/examples/example3.html b/trunk/apps/bindings/python/examples/example3.html
new file mode 100644
index 0000000..e74d7c4
--- /dev/null
+++ b/trunk/apps/bindings/python/examples/example3.html
@@ -0,0 +1,61 @@
+<h1>Example: Extracting Observables from a RINEX Observation File.</h1>
+
+<p>In this example, observations recorded in a RINEX observation file are combined to create a quantity that is dominated by multipath error. The following code is excerpted from the GPSTk distribution file example3.py. This example extends example 2 which merely reads and writes a RINEX observation file. For the sake of brevity, discussion of classes used in that previous example have been omitted. Furthermore, some segments of code such as comments have been omitted. </p>
+
+<pre>
+
+  12     gamma = (L1_FREQ / L2_FREQ) * (L1_FREQ / L2_FREQ);
+
+  14     try:
+  15         print "Reading bahr1620.04o."
+
+  18         roffs = RinexObsStream("bahr1620.04o")
+  19         roh = RinexObsHeader()
+  20         roe = RinexObsData()
+  21         dataobj = RinexDatum()
+
+  24         write(roffs, roh)
+
+  27         roh.dump(cout)
+
+  30         while write(roffs, roe):
+  31             junk = DayTime_streamRead(cout, roe.time)
+
+  34             prn = RinexPrn(myprn, systemGPS)
+
+  37             pointer = RinexPrnMap_find(roe, prn)
+        
+  39             if RinexPrnMap_compare(pointer, RinexPrnMap_end(roe)):
+  40                 print " PRN ", str(myprn), " not in view."
+  41             else:
+  42                 dataobj = getPseudoRangeCode(roe, prn, RinexObsHeader.P1)
+  43                 dataobj2 = getPseudoRangeCode(pointer, RinexObsHeader.P1)
+  44                 if dataobj.data != dataobj2.data:
+  45                     print "dataobj.data != dataobj2.data"
+
+  47                 P1 = dataobj.data
+
+  49                 dataobj = getPseudoRangeCode(roe, prn, RinexObsHeader.P2)
+  50                 P2 = dataobj.data
+
+  52                 dataobj = getPseudoRangeCode(roe, prn, RinexObsHeader.L1)
+  53                 L1 = dataobj.data
+
+  56                 mu = P1 -L1*(C_GPS_M/L1_FREQ) -2*(P1 -P2)/(1-gamma)
+  57                 print " PRN", myprn, "biased multipath", mu
+
+</pre>
+
+<p>In line 12, a commonly used GPS constant is defined in terms of constants defined by the ICD-GPS-200.</p>
+
+<p> Line 21 creates a structure dataobj that can represent any RINEX measurement. This structure will be used repeatedly in lines 42 through 53 to represent the RINEX data types P1, P2 and L1.</p>
+
+<p>Line 30 demonstrates how a GPSTk streaming operator can also be used to control a loop. With each loop, an epoch of observations are extracted from the RINEX observation file.</p>
+
+<p>In line 34, an identifier is created to match the satellite of interest. Note that although a GPS PRN identifier was used, the identifier associated with another system such as Transit could have been employed.</p>
+
+<p>In line 37, the epoch of observations is searched for data associated with the satellite of interest. Note the use of the STL iterator class and search function find().</p>
+
+<p>If the satellite is found, then lines 42 through 52 show how to traverse the "map" data structures within the RinexObsData to extract the observation values. The STL data structure map is used extensively here and elsewhere in the GPSTk. The robustness of this code section could be improved by dynamically checking if P1, P2 and L1 exist before actually accessing those map entries .</p>
+
+<p>Lines 56 and 57 show the computation and output of the multipath-related combination of observables.</p>
diff --git a/trunk/apps/bindings/python/examples/example3.py b/trunk/apps/bindings/python/examples/example3.py
new file mode 100755
index 0000000..05b6026
--- /dev/null
+++ b/trunk/apps/bindings/python/examples/example3.py
@@ -0,0 +1,63 @@
+#!/usr/bin/python
+
+import sys
+sys.path.append("..")
+from gpstkPython import *
+
+#if sys.argc < 2:
+#    print "Required argument is a RINEX obs file."
+
+#print "Name your PRN of interest (by number: 1 through 32: "
+myprn = 5
+
+gamma = (L1_FREQ / L2_FREQ) * (L1_FREQ / L2_FREQ);
+
+try:
+    print "Reading bahr1620.04o."
+
+    # Declare RINEX observation file streams and data objects
+    roffs = RinexObsStream("../../../../examples/bahr1620.04o")
+    roh = RinexObsHeader()
+    roe = RinexObsData()
+    dataobj = RinexDatum()
+
+    # Read the RinexHeader (this could be skipped).
+    write(roffs, roh)
+
+    # Print RINEX header to terminal screen
+    roh.dump(cout)
+
+    # Loop through epochs and process data for each.
+    while write(roffs, roe):
+        junk = DayTime_streamRead(cout, roe.time)
+
+        # Make a GPSTk RinexPrn object for your PRN so you can search for it.
+        prn = RinexPrn(myprn, systemGPS)
+
+        # Check to see if your PRN is in view at this epoch (search for it)
+        pointer = RinexPrnMap_find(roe, prn)
+        
+        if RinexPrnMap_compare(pointer, RinexPrnMap_end(roe)):
+            print " PRN ", str(myprn), " not in view."
+        else:
+            dataobj = getPseudoRangeCode(roe, prn, RinexObsHeader.P1)
+            dataobj2 = getPseudoRangeCode(pointer, RinexObsHeader.P1)
+            if dataobj.data != dataobj2.data:
+                print "dataobj.data != dataobj2.data"
+
+            P1 = dataobj.data
+
+            dataobj = getPseudoRangeCode(roe, prn, RinexObsHeader.P2)
+            P2 = dataobj.data
+
+            dataobj = getPseudoRangeCode(roe, prn, RinexObsHeader.L1)
+            L1 = dataobj.data
+
+            # Compute multipath
+            mu = P1 -L1*(C_GPS_M/L1_FREQ) -2*(P1 -P2)/(1-gamma)
+            print " PRN", myprn, "biased multipath", mu
+
+    print "Read", roffs.recordNumber, "epochs.  Cheers."
+
+except Exception:
+    print "Exception"
diff --git a/trunk/apps/bindings/python/gpstkPython.html b/trunk/apps/bindings/python/gpstkPython.html
new file mode 100644
index 0000000..27ab78c
--- /dev/null
+++ b/trunk/apps/bindings/python/gpstkPython.html
@@ -0,0 +1,25524 @@
+
+<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: module gpstkPython</title>
+</head><body bgcolor="#f0f0f8">
+
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
+<tr bgcolor="#7799ee">
+<td valign=bottom> <br>
+<font color="#ffffff" face="helvetica, arial"> <br><big><big><strong>gpstkPython</strong></big></big></font></td
+><td align=right valign=bottom
+><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/export/depot/sgl/gpstk/dev/apps/bindings/python/gpstkPython.py">/export/depot/sgl/gpstk/dev/apps/bindings/python/gpstkPython.py</a></font></td></tr></table>
+    <p><tt># This file was created automatically by SWIG.<br>
+# Don't modify this file, modify the SWIG interface instead.<br>
+# This file is compatible with both classic and new-style classes.</tt></p>
+<p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#aa55cc">
+<td colspan=3 valign=bottom> <br>
+<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
+    
+<tr><td bgcolor="#aa55cc"><tt>      </tt></td><td> </td>
+<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="_gpstkPython.html">_gpstkPython</a><br>
+</td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ee77aa">
+<td colspan=3 valign=bottom> <br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
+    
+<tr><td bgcolor="#ee77aa"><tt>      </tt></td><td> </td>
+<td width="100%"><dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#exception">exception</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#bad_exception">bad_exception</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#bad_exceptionPtr">bad_exceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#exceptionPtr">exceptionPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#logic_error">logic_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#domain_error">domain_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#domain_errorPtr">domain_errorPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#invalid_argument">invalid_argument</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#invalid_argumentPtr">invalid_argumentPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#length_error">length_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#length_errorPtr">length_errorPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#logic_errorPtr">logic_errorPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#out_of_range">out_of_range</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#out_of_rangePtr">out_of_rangePtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#runtime_error">runtime_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#overflow_error">overflow_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#overflow_errorPtr">overflow_errorPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#range_error">range_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#range_errorPtr">range_errorPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#runtime_errorPtr">runtime_errorPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#underflow_error">underflow_error</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#underflow_errorPtr">underflow_errorPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="__builtin__.html#object">__builtin__.object</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AlmOrbit">AlmOrbit</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AlmOrbitPtr">AlmOrbitPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AlmanacStore">AlmanacStore</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AlmanacStorePtr">AlmanacStorePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#BCEphemerisStorePtr">BCEphemerisStorePtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexEphemerisStore">RinexEphemerisStore</a>(<a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>, <a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>)
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexEphemerisStorePtr">RinexEphemerisStorePtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#BOGUS_TEMPLATE">BOGUS_TEMPLATE</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#BOGUS_TEMPLATEPtr">BOGUS_TEMPLATEPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ClockModel">ClockModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ClockModelPtr">ClockModelPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EpochClockModel">EpochClockModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EpochClockModelPtr">EpochClockModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#LinearClockModel">LinearClockModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#LinearClockModelPtr">LinearClockModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObsClockModelPtr">ObsClockModelPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#CodeBuffer">CodeBuffer</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#CodeBufferPtr">CodeBufferPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#CorrectedEphemerisRange">CorrectedEphemerisRange</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#CorrectedEphemerisRangePtr">CorrectedEphemerisRangePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#DayTime">DayTime</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#DayTimePtr">DayTimePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EngNav">EngNav</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EngAlmanac">EngAlmanac</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EngAlmanacPtr">EngAlmanacPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EngEphemeris">EngEphemeris</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EngEphemerisPtr">EngEphemerisPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#EngNavPtr">EngNavPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ExceptionLocation">ExceptionLocation</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ExceptionLocationPtr">ExceptionLocationPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ExtraWaveFact">ExtraWaveFact</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ExtraWaveFactPtr">ExtraWaveFactPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FFData">FFData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FFDataPtr">FFDataPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsBasePtr">RinexObsBasePtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsData">RinexObsData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsDataPtr">RinexObsDataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsHeaderPtr">RinexObsHeaderPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FFStream">FFStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FFStreamPtr">FFStreamPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#FFTextStream">FFTextStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FFTextStreamPtr">FFTextStreamPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#FICAStream">FICAStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICAStreamPtr">FICAStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#MSCStream">MSCStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#MSCStreamPtr">MSCStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexMetStream">RinexMetStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexMetStreamPtr">RinexMetStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexNavStream">RinexNavStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexNavStreamPtr">RinexNavStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsStream">RinexObsStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsStreamPtr">RinexObsStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SMODFStream">SMODFStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SMODFStreamPtr">SMODFStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3Stream">SP3Stream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3StreamPtr">SP3StreamPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICData">FICData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICDataPtr">FICDataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICHeader">FICHeader</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICHeaderPtr">FICHeaderPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICStream">FICStream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FICStreamPtr">FICStreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileHunter">FileHunter</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileHunterPtr">FileHunterPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileStore_RinexNavHeaderPtr">FileStore_RinexNavHeaderPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileStore_SP3HeaderPtr">FileStore_SP3HeaderPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3EphemerisStore">SP3EphemerisStore</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3EphemerisStorePtr">SP3EphemerisStorePtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GPSZcount">GPSZcount</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GPSZcountPtr">GPSZcountPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GenXSequence">GenXSequence</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GenXSequencePtr">GenXSequencePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GeoidModel">GeoidModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GeoidModelPtr">GeoidModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#IonoModel">IonoModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#IonoModelPtr">IonoModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#IonoModelStore">IonoModelStore</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#IonoModelStorePtr">IonoModelStorePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ORDEpoch">ORDEpoch</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ORDEpochPtr">ORDEpochPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObsEpoch">ObsEpoch</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObsEpochPtr">ObsEpochPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObsRngDev">ObsRngDev</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObsRngDevPtr">ObsRngDevPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#Observation">Observation</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObservationPtr">ObservationPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObservationPlus">ObservationPlus</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObservationPlusPtr">ObservationPlusPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RAIMSolution">RAIMSolution</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RAIMSolutionPtr">RAIMSolutionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexDatum">RinexDatum</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexDatumPtr">RinexDatumPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexMetData">RinexMetData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexMetDataPtr">RinexMetDataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexMetHeaderPtr">RinexMetHeaderPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexNavData">RinexNavData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexNavDataPtr">RinexNavDataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexNavHeader">RinexNavHeader</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexNavHeaderPtr">RinexNavHeaderPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsType">RinexObsType</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsTypePtr">RinexObsTypePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsTypeMap">RinexObsTypeMap</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexObsTypeMapPtr">RinexObsTypeMapPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexPrn">RinexPrn</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexPrnPtr">RinexPrnPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexPrnMap">RinexPrnMap</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RinexPrnMapPtr">RinexPrnMapPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RungeKutta4">RungeKutta4</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RungeKutta4Ptr">RungeKutta4Ptr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RxObsData">RxObsData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#RxObsDataPtr">RxObsDataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3Data">SP3Data</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3DataPtr">SP3DataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3Header">SP3Header</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SP3HeaderPtr">SP3HeaderPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SVPCodeGen">SVPCodeGen</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SVPCodeGenPtr">SVPCodeGenPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SatID">SatID</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SatIDPtr">SatIDPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#Triple">Triple</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ECEF">ECEF</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ECEFPtr">ECEFPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#Geodetic">Geodetic</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GeodeticPtr">GeodeticPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#Position">Position</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#PositionPtr">PositionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#TriplePtr">TriplePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#TropModel">TropModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GGHeightTropModel">GGHeightTropModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GGHeightTropModelPtr">GGHeightTropModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GGTropModel">GGTropModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GGTropModelPtr">GGTropModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#NBTropModel">NBTropModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#NBTropModelPtr">NBTropModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SimpleTropModel">SimpleTropModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SimpleTropModelPtr">SimpleTropModelPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#TropModelPtr">TropModelPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#ZeroTropModel">ZeroTropModel</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ZeroTropModelPtr">ZeroTropModelPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WxObsData">WxObsData</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WxObsDataPtr">WxObsDataPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WxObservation">WxObservation</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WxObservationPtr">WxObservationPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#X1Sequence">X1Sequence</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#X1SequencePtr">X1SequencePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#X2Sequence">X2Sequence</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#X2SequencePtr">X2SequencePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#Xvt">Xvt</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#XvtPtr">XvtPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ios_base">ios_base</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ios">ios</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#iosPtr">iosPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#istream">istream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#iostream">iostream</a>(<a href="gpstkPython.html#istream">istream</a>, <a href="gpstkPython.html#ostream">ostream</a>)
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#iostreamPtr">iostreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#istreamPtr">istreamPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ostream">ostream</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#Exception">Exception</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AccessError">AccessError</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AccessErrorPtr">AccessErrorPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#ObjectNotFound">ObjectNotFound</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ObjectNotFoundPtr">ObjectNotFoundPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AssertionFailure">AssertionFailure</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#AssertionFailurePtr">AssertionFailurePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ConfigurationException">ConfigurationException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ConfigurationExceptionPtr">ConfigurationExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#DayTimeException">DayTimeException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#DayTimeExceptionPtr">DayTimeExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ExceptionPtr">ExceptionPtr</a>
+</font></dt><dt><font face="helvetica, arial"><a href="gpstkPython.html#FileHunterException">FileHunterException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileHunterExceptionPtr">FileHunterExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileMissingException">FileMissingException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FileMissingExceptionPtr">FileMissingExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FormatException">FormatException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#FormatExceptionPtr">FormatExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GeometryException">GeometryException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#GeometryExceptionPtr">GeometryExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#IndexOutOfBoundsException">IndexOutOfBoundsException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#IndexOutOfBoundsExceptionPtr">IndexOutOfBoundsExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidArgumentException">InvalidArgumentException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidArgumentExceptionPtr">InvalidArgumentExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidParameter">InvalidParameter</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidParameterPtr">InvalidParameterPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidRequest">InvalidRequest</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidRequestPtr">InvalidRequestPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidValue">InvalidValue</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#InvalidValuePtr">InvalidValuePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#NoGeoidException">NoGeoidException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#NoGeoidExceptionPtr">NoGeoidExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#OutOfMemory">OutOfMemory</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#OutOfMemoryPtr">OutOfMemoryPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SystemPipeException">SystemPipeException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SystemPipeExceptionPtr">SystemPipeExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SystemQueueException">SystemQueueException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SystemQueueExceptionPtr">SystemQueueExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SystemSemaphoreException">SystemSemaphoreException</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#SystemSemaphoreExceptionPtr">SystemSemaphoreExceptionPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WrongBlockFormat">WrongBlockFormat</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WrongBlockFormatPtr">WrongBlockFormatPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WrongBlockNumber">WrongBlockNumber</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#WrongBlockNumberPtr">WrongBlockNumberPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ostreamPtr">ostreamPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#ios_basePtr">ios_basePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#sensorPosType">sensorPosType</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#sensorPosTypePtr">sensorPosTypePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#sensorType">sensorType</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#sensorTypePtr">sensorTypePtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#vectord">vectord</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#vectordPtr">vectordPtr</a>
+</font></dt></dl>
+</dd>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#vectori">vectori</a>
+</font></dt><dd>
+<dl>
+<dt><font face="helvetica, arial"><a href="gpstkPython.html#vectoriPtr">vectoriPtr</a>
+</font></dt></dl>
+</dd>
+</dl>
+</dd>
+</dl>
+ <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AccessError">class <strong>AccessError</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#AccessError">AccessError</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="AccessError-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AccessError></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AccessError-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="AccessError-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AccessError-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="AccessError-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="AccessError-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="AccessError-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AccessError-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessError-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AccessError-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="AccessError-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AccessErrorPtr">class <strong>AccessErrorPtr</strong></a>(<a href="gpstkPython.html#AccessError">AccessError</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#AccessErrorPtr">AccessErrorPtr</a></dd>
+<dd><a href="gpstkPython.html#AccessError">AccessError</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="AccessErrorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#AccessError">AccessError</a>:<br>
+<dl><dt><a name="AccessErrorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AccessError></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#AccessError">AccessError</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="AccessErrorPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="AccessErrorPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="AccessErrorPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AccessErrorPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AccessErrorPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="AccessErrorPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AlmOrbit">class <strong>AlmOrbit</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="AlmOrbit-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AlmOrbit></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AlmOrbit-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AlmOrbit-getFullWeek"><strong>getFullWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-getPRNID"><strong>getPRNID</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-getSVHealth"><strong>getSVHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-getTimestamp"><strong>getTimestamp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-getToaTime"><strong>getToaTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-getTransmitTime"><strong>getTransmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbit-svXvt"><strong>svXvt</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'AlmOrbit' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AlmOrbitPtr">class <strong>AlmOrbitPtr</strong></a>(<a href="gpstkPython.html#AlmOrbit">AlmOrbit</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#AlmOrbitPtr">AlmOrbitPtr</a></dd>
+<dd><a href="gpstkPython.html#AlmOrbit">AlmOrbit</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="AlmOrbitPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#AlmOrbit">AlmOrbit</a>:<br>
+<dl><dt><a name="AlmOrbitPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AlmOrbit></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-getFullWeek"><strong>getFullWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-getPRNID"><strong>getPRNID</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-getSVHealth"><strong>getSVHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-getTimestamp"><strong>getTimestamp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-getToaTime"><strong>getToaTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-getTransmitTime"><strong>getTransmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmOrbitPtr-svXvt"><strong>svXvt</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#AlmOrbit">AlmOrbit</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'AlmOrbit' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AlmanacStore">class <strong>AlmanacStore</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="AlmanacStore-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AlmanacStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AlmanacStore-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="AlmanacStore-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AlmanacStore-addAlmanac"><strong>addAlmanac</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStore-findAlmanac"><strong>findAlmanac</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStore-findAlmanacs"><strong>findAlmanacs</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStore-getPrnHealth"><strong>getPrnHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStore-getPrnXvt"><strong>getPrnXvt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStore-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'AlmanacStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AlmanacStorePtr">class <strong>AlmanacStorePtr</strong></a>(<a href="gpstkPython.html#AlmanacStore">AlmanacStore</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#AlmanacStorePtr">AlmanacStorePtr</a></dd>
+<dd><a href="gpstkPython.html#AlmanacStore">AlmanacStore</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="AlmanacStorePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#AlmanacStore">AlmanacStore</a>:<br>
+<dl><dt><a name="AlmanacStorePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AlmanacStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-addAlmanac"><strong>addAlmanac</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-findAlmanac"><strong>findAlmanac</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-findAlmanacs"><strong>findAlmanacs</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-getPrnHealth"><strong>getPrnHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-getPrnXvt"><strong>getPrnXvt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AlmanacStorePtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#AlmanacStore">AlmanacStore</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'AlmanacStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AssertionFailure">class <strong>AssertionFailure</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#AssertionFailure">AssertionFailure</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="AssertionFailure-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AssertionFailure></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AssertionFailure-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AssertionFailure-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="AssertionFailure-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="AssertionFailure-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="AssertionFailure-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AssertionFailure-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AssertionFailure-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="AssertionFailure-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="AssertionFailurePtr">class <strong>AssertionFailurePtr</strong></a>(<a href="gpstkPython.html#AssertionFailure">AssertionFailure</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#AssertionFailurePtr">AssertionFailurePtr</a></dd>
+<dd><a href="gpstkPython.html#AssertionFailure">AssertionFailure</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="AssertionFailurePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#AssertionFailure">AssertionFailure</a>:<br>
+<dl><dt><a name="AssertionFailurePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_AssertionFailure></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#AssertionFailure">AssertionFailure</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="AssertionFailurePtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="AssertionFailurePtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="AssertionFailurePtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AssertionFailurePtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="AssertionFailurePtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="AssertionFailurePtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="BCEphemerisStore">class <strong>BCEphemerisStore</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="BCEphemerisStore-SearchNear"><strong>SearchNear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-SearchPast"><strong>SearchPast</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_BCEphemerisStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-addEphemeris"><strong>addEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-addToList"><strong>addToList</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-edit"><strong>edit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-findEphemeris"><strong>findEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-findNearEphemeris"><strong>findNearEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-findUserEphemeris"><strong>findUserEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-getFinalTime"><strong>getFinalTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-getInitialTime"><strong>getInitialTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-getPrnHealth"><strong>getPrnHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-getPrnXvt"><strong>getPrnXvt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-ubeSize"><strong>ubeSize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStore-wiper"><strong>wiper</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'BCEphemerisStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="BCEphemerisStorePtr">class <strong>BCEphemerisStorePtr</strong></a>(<a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#BCEphemerisStorePtr">BCEphemerisStorePtr</a></dd>
+<dd><a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="BCEphemerisStorePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>:<br>
+<dl><dt><a name="BCEphemerisStorePtr-SearchNear"><strong>SearchNear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-SearchPast"><strong>SearchPast</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_BCEphemerisStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-addEphemeris"><strong>addEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-addToList"><strong>addToList</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-edit"><strong>edit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-findEphemeris"><strong>findEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-findNearEphemeris"><strong>findNearEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-findUserEphemeris"><strong>findUserEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-getFinalTime"><strong>getFinalTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-getInitialTime"><strong>getInitialTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-getPrnHealth"><strong>getPrnHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-getPrnXvt"><strong>getPrnXvt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-ubeSize"><strong>ubeSize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BCEphemerisStorePtr-wiper"><strong>wiper</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'BCEphemerisStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="BOGUS_TEMPLATE">class <strong>BOGUS_TEMPLATE</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="BOGUS_TEMPLATE-__contains__"><strong>__contains__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_BOGUS_TEMPLATE></font>)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__iter__"><strong>__iter__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-count"><strong>count</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-erase"><strong>erase</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-has_key"><strong>has_key</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-items"><strong>items</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-keys"><strong>keys</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATE-values"><strong>values</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'BOGUS_TEMPLATE' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="BOGUS_TEMPLATEPtr">class <strong>BOGUS_TEMPLATEPtr</strong></a>(<a href="gpstkPython.html#BOGUS_TEMPLATE">BOGUS_TEMPLATE</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#BOGUS_TEMPLATEPtr">BOGUS_TEMPLATEPtr</a></dd>
+<dd><a href="gpstkPython.html#BOGUS_TEMPLATE">BOGUS_TEMPLATE</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#BOGUS_TEMPLATE">BOGUS_TEMPLATE</a>:<br>
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__contains__"><strong>__contains__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_BOGUS_TEMPLATE></font>)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__iter__"><strong>__iter__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-count"><strong>count</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-erase"><strong>erase</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-has_key"><strong>has_key</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-items"><strong>items</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-keys"><strong>keys</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="BOGUS_TEMPLATEPtr-values"><strong>values</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#BOGUS_TEMPLATE">BOGUS_TEMPLATE</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'BOGUS_TEMPLATE' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ClockModel">class <strong>ClockModel</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ClockModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ClockModel-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ClockModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ClockModel-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ClockModel-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ClockModelPtr">class <strong>ClockModelPtr</strong></a>(<a href="gpstkPython.html#ClockModel">ClockModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ClockModelPtr">ClockModelPtr</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ClockModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><a name="ClockModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ClockModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ClockModelPtr-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ClockModelPtr-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="CodeBuffer">class <strong>CodeBuffer</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="CodeBuffer-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_CodeBuffer></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="CodeBuffer-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-__ixor__"><strong>__ixor__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="CodeBuffer-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-getBit"><strong>getBit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-getCurrentTime"><strong>getCurrentTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-getPRNID"><strong>getPRNID</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-getPYFlag"><strong>getPYFlag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBuffer-updateBufferStatus"><strong>updateBufferStatus</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'CodeBuffer' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="CodeBufferPtr">class <strong>CodeBufferPtr</strong></a>(<a href="gpstkPython.html#CodeBuffer">CodeBuffer</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#CodeBufferPtr">CodeBufferPtr</a></dd>
+<dd><a href="gpstkPython.html#CodeBuffer">CodeBuffer</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="CodeBufferPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#CodeBuffer">CodeBuffer</a>:<br>
+<dl><dt><a name="CodeBufferPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_CodeBuffer></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-__ixor__"><strong>__ixor__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-getBit"><strong>getBit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-getCurrentTime"><strong>getCurrentTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-getPRNID"><strong>getPRNID</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-getPYFlag"><strong>getPYFlag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CodeBufferPtr-updateBufferStatus"><strong>updateBufferStatus</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#CodeBuffer">CodeBuffer</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'CodeBuffer' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ConfigurationException">class <strong>ConfigurationException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ConfigurationException">ConfigurationException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ConfigurationException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ConfigurationException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ConfigurationException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ConfigurationException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="ConfigurationException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="ConfigurationException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ConfigurationException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ConfigurationException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ConfigurationException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ConfigurationException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ConfigurationExceptionPtr">class <strong>ConfigurationExceptionPtr</strong></a>(<a href="gpstkPython.html#ConfigurationException">ConfigurationException</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ConfigurationExceptionPtr">ConfigurationExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#ConfigurationException">ConfigurationException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ConfigurationException">ConfigurationException</a>:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ConfigurationException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ConfigurationException">ConfigurationException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ConfigurationExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ConfigurationExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="CorrectedEphemerisRange">class <strong>CorrectedEphemerisRange</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="CorrectedEphemerisRange-ComputeAtReceiveTime"><strong>ComputeAtReceiveTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRange-ComputeAtTransmitTime"><strong>ComputeAtTransmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRange-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_CorrectedEphemerisRange></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRange-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRange-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>azimuth</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_azimuth_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_azimuth_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>cosines</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_cosines_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_cosines_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>elevation</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_elevation_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_elevation_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rawrange</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_rawrange_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_rawrange_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>relativity</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_relativity_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_relativity_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svPosVel</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_svPosVel_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_svPosVel_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svclkbias</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_svclkbias_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_svclkbias_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svclkdrift</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_svclkdrift_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_svclkdrift_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>transmit</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_transmit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRange-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_transmit_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'azimuth': <built-in function CorrectedEphemerisRange_azimuth_get>, 'cosines': <built-in function CorrectedEphemerisRange_cosines_get>, 'elevation': <built-in function CorrectedEphemerisRange_elevation_get>, 'rawrange': <built-in function CorrectedEphemerisRange_rawrange_get>, 'relativity': <built-in function CorrectedEphemerisRange_relativity_get>, 'svPosVel': <built-in function CorrectedEphemerisRange_svPo [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'azimuth': <built-in function CorrectedEphemerisRange_azimuth_set>, 'cosines': <built-in function CorrectedEphemerisRange_cosines_set>, 'elevation': <built-in function CorrectedEphemerisRange_elevation_set>, 'rawrange': <built-in function CorrectedEphemerisRange_rawrange_set>, 'relativity': <built-in function CorrectedEphemerisRange_relativity_set>, 'svPosVel': <built-in function CorrectedEphemerisRange_svPo [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'CorrectedEphemerisRange' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="CorrectedEphemerisRangePtr">class <strong>CorrectedEphemerisRangePtr</strong></a>(<a href="gpstkPython.html#CorrectedEphemerisRange">CorrectedEphemerisRange</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#CorrectedEphemerisRangePtr">CorrectedEphemerisRangePtr</a></dd>
+<dd><a href="gpstkPython.html#CorrectedEphemerisRange">CorrectedEphemerisRange</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="CorrectedEphemerisRangePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#CorrectedEphemerisRange">CorrectedEphemerisRange</a>:<br>
+<dl><dt><a name="CorrectedEphemerisRangePtr-ComputeAtReceiveTime"><strong>ComputeAtReceiveTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRangePtr-ComputeAtTransmitTime"><strong>ComputeAtTransmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRangePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_CorrectedEphemerisRange></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="CorrectedEphemerisRangePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#CorrectedEphemerisRange">CorrectedEphemerisRange</a>:<br>
+<dl><dt><strong>azimuth</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_azimuth_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_azimuth_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>cosines</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_cosines_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_cosines_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>elevation</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_elevation_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_elevation_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rawrange</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_rawrange_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_rawrange_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>relativity</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_relativity_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_relativity_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svPosVel</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_svPosVel_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_svPosVel_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svclkbias</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_svclkbias_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_svclkbias_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svclkdrift</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_svclkdrift_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_svclkdrift_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>transmit</strong></dt>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>get</em>"><strong><em>get</em></strong></a> = CorrectedEphemerisRange_transmit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="CorrectedEphemerisRangePtr-<em>set</em>"><strong><em>set</em></strong></a> = CorrectedEphemerisRange_transmit_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#CorrectedEphemerisRange">CorrectedEphemerisRange</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'azimuth': <built-in function CorrectedEphemerisRange_azimuth_get>, 'cosines': <built-in function CorrectedEphemerisRange_cosines_get>, 'elevation': <built-in function CorrectedEphemerisRange_elevation_get>, 'rawrange': <built-in function CorrectedEphemerisRange_rawrange_get>, 'relativity': <built-in function CorrectedEphemerisRange_relativity_get>, 'svPosVel': <built-in function CorrectedEphemerisRange_svPo [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'azimuth': <built-in function CorrectedEphemerisRange_azimuth_set>, 'cosines': <built-in function CorrectedEphemerisRange_cosines_set>, 'elevation': <built-in function CorrectedEphemerisRange_elevation_set>, 'rawrange': <built-in function CorrectedEphemerisRange_rawrange_set>, 'relativity': <built-in function CorrectedEphemerisRange_relativity_set>, 'svPosVel': <built-in function CorrectedEphemerisRange_svPo [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'CorrectedEphemerisRange' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="DayTime">class <strong>DayTime</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="DayTime-DOY"><strong>DOY</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-DOYday"><strong>DOYday</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-DOYsecond"><strong>DOYsecond</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-DOYyear"><strong>DOYyear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPS10bitweek"><strong>GPS10bitweek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSday"><strong>GPSday</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSfullweek"><strong>GPSfullweek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSsecond"><strong>GPSsecond</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSsow"><strong>GPSsow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSyear"><strong>GPSyear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSzcount"><strong>GPSzcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-GPSzcountFloor"><strong>GPSzcountFloor</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-JD"><strong>JD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-MJD"><strong>MJD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-MJDdate"><strong>MJDdate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-Operator_GPSZcount"><strong>Operator_GPSZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_DayTime></font>)</dt></dl>
+
+<dl><dt><a name="DayTime-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__ge__"><strong>__ge__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="DayTime-__gt__"><strong>__gt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__iadd__"><strong>__iadd__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="DayTime-__isub__"><strong>__isub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__le__"><strong>__le__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__lt__"><strong>__lt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="DayTime-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-addMicroSeconds"><strong>addMicroSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-addMilliSeconds"><strong>addMilliSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-addSeconds"><strong>addSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-asString"><strong>asString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-day"><strong>day</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-dayOfWeek"><strong>dayOfWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-fullZcount"><strong>fullZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-fullZcountFloor"><strong>fullZcountFloor</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-getMJDasLongDouble"><strong>getMJDasLongDouble</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-getTimeFrame"><strong>getTimeFrame</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-getTolerance"><strong>getTolerance</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-getYMD"><strong>getYMD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-hour"><strong>hour</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-minute"><strong>minute</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-month"><strong>month</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-printf"><strong>printf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-printf_std_string"><strong>printf_std_string</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-secOfDay"><strong>secOfDay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-second"><strong>second</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setANSI"><strong>setANSI</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setAllButTimeFrame"><strong>setAllButTimeFrame</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setGPS"><strong>setGPS</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setGPSZcount"><strong>setGPSZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setGPSfullweek"><strong>setGPSfullweek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setHMS"><strong>setHMS</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setLocalTime"><strong>setLocalTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setMJD"><strong>setMJD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setMJDdate"><strong>setMJDdate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setSecOfDay"><strong>setSecOfDay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setSystemTime"><strong>setSystemTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setTimeFrame"><strong>setTimeFrame</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setToString"><strong>setToString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setTolerance"><strong>setTolerance</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setUnix"><strong>setUnix</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setYDoy"><strong>setYDoy</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setYDoySod"><strong>setYDoySod</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setYMD"><strong>setYMD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-setYMDHMS"><strong>setYMDHMS</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-unixTime"><strong>unixTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTime-year"><strong>year</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="DayTime-convertCalendarToJD"><strong>convertCalendarToJD</strong></a> = DayTime_convertCalendarToJD(...)</dt></dl>
+
+<dl><dt><a name="DayTime-convertJDtoCalendar"><strong>convertJDtoCalendar</strong></a> = DayTime_convertJDtoCalendar(...)</dt></dl>
+
+<dl><dt><a name="DayTime-convertSODtoTime"><strong>convertSODtoTime</strong></a> = DayTime_convertSODtoTime(...)</dt></dl>
+
+<dl><dt><a name="DayTime-convertTimeToSOD"><strong>convertTimeToSOD</strong></a> = DayTime_convertTimeToSOD(...)</dt></dl>
+
+<dl><dt><a name="DayTime-getDayTimeTolerance"><strong>getDayTimeTolerance</strong></a> = DayTime_getDayTimeTolerance(...)</dt></dl>
+
+<dl><dt><a name="DayTime-setDayTimeTolerance"><strong>setDayTimeTolerance</strong></a> = DayTime_setDayTimeTolerance(...)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>BEGINNING_OF_TIME</strong> = <Swig Object at _6cf42cb7_p_gpstk__DayTime></dl>
+
+<dl><dt><strong>BEGIN_LIMIT_JDAY</strong> = 0</dl>
+
+<dl><dt><strong>END_LIMIT_JDAY</strong> = 3442448</dl>
+
+<dl><dt><strong>END_OF_TIME</strong> = <Swig Object at _88f42cb7_p_gpstk__DayTime></dl>
+
+<dl><dt><strong>FACTOR</strong> = 1000</dl>
+
+<dl><dt><strong>FULLWEEK</strong> = 604800</dl>
+
+<dl><dt><strong>GPS_EPOCH_JDAY</strong> = 2444245</dl>
+
+<dl><dt><strong>GPS_EPOCH_MJD</strong> = 44244</dl>
+
+<dl><dt><strong>GPS_Receiver</strong> = 6</dl>
+
+<dl><dt><strong>GPS_Rx</strong> = 4</dl>
+
+<dl><dt><strong>GPS_SV</strong> = 5</dl>
+
+<dl><dt><strong>GPS_Tx</strong> = 3</dl>
+
+<dl><dt><strong>HALFWEEK</strong> = 302400</dl>
+
+<dl><dt><strong>JD_TO_MJD</strong> = 2400000.5</dl>
+
+<dl><dt><strong>LocalSystem</strong> = 2</dl>
+
+<dl><dt><strong>MJD_JDAY</strong> = 2400001</dl>
+
+<dl><dt><strong>MS_PER_DAY</strong> = 86400000</dl>
+
+<dl><dt><strong>ONE_HOUR_TOLERANCE</strong> = 3600.0</dl>
+
+<dl><dt><strong>ONE_MIN_TOLERANCE</strong> = 60.0</dl>
+
+<dl><dt><strong>ONE_MSEC_TOLERANCE</strong> = 0.001</dl>
+
+<dl><dt><strong>ONE_NSEC_TOLERANCE</strong> = 1.0000000000000001e-09</dl>
+
+<dl><dt><strong>ONE_SEC_TOLERANCE</strong> = 1.0</dl>
+
+<dl><dt><strong>ONE_USEC_TOLERANCE</strong> = 9.9999999999999995e-07</dl>
+
+<dl><dt><strong>SEC_DAY</strong> = 86400</dl>
+
+<dl><dt><strong>UNIX_MJD</strong> = 40587</dl>
+
+<dl><dt><strong>UTC</strong> = 1</dl>
+
+<dl><dt><strong>Unknown</strong> = 0</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'convertCalendarToJD': <function <lambda>>, 'convertJDtoCalendar': <function <lambda>>, 'convertSODtoTime': <function <lambda>>, 'convertTimeToSOD': <function <lambda>>, 'getDayTimeTolerance': <function <lambda>>, 'setDayTimeTolerance': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'DayTime' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="DayTimeException">class <strong>DayTimeException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#DayTimeException">DayTimeException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="DayTimeException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_DayTimeException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="DayTimeException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="DayTimeException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="DayTimeException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="DayTimeException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="DayTimeException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="DayTimeException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="DayTimeException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="DayTimeException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="DayTimeExceptionPtr">class <strong>DayTimeExceptionPtr</strong></a>(<a href="gpstkPython.html#DayTimeException">DayTimeException</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#DayTimeExceptionPtr">DayTimeExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#DayTimeException">DayTimeException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="DayTimeExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#DayTimeException">DayTimeException</a>:<br>
+<dl><dt><a name="DayTimeExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_DayTimeException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#DayTimeException">DayTimeException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="DayTimeExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="DayTimeExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="DayTimeExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="DayTimeExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="DayTimeExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="DayTimeExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="DayTimePtr">class <strong>DayTimePtr</strong></a>(<a href="gpstkPython.html#DayTime">DayTime</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#DayTimePtr">DayTimePtr</a></dd>
+<dd><a href="gpstkPython.html#DayTime">DayTime</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="DayTimePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#DayTime">DayTime</a>:<br>
+<dl><dt><a name="DayTimePtr-DOY"><strong>DOY</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-DOYday"><strong>DOYday</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-DOYsecond"><strong>DOYsecond</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-DOYyear"><strong>DOYyear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPS10bitweek"><strong>GPS10bitweek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSday"><strong>GPSday</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSfullweek"><strong>GPSfullweek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSsecond"><strong>GPSsecond</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSsow"><strong>GPSsow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSyear"><strong>GPSyear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSzcount"><strong>GPSzcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-GPSzcountFloor"><strong>GPSzcountFloor</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-JD"><strong>JD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-MJD"><strong>MJD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-MJDdate"><strong>MJDdate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-Operator_GPSZcount"><strong>Operator_GPSZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_DayTime></font>)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__ge__"><strong>__ge__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__gt__"><strong>__gt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__iadd__"><strong>__iadd__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__isub__"><strong>__isub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__le__"><strong>__le__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__lt__"><strong>__lt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="DayTimePtr-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-addMicroSeconds"><strong>addMicroSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-addMilliSeconds"><strong>addMilliSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-addSeconds"><strong>addSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-asString"><strong>asString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-day"><strong>day</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-dayOfWeek"><strong>dayOfWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-fullZcount"><strong>fullZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-fullZcountFloor"><strong>fullZcountFloor</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-getMJDasLongDouble"><strong>getMJDasLongDouble</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-getTimeFrame"><strong>getTimeFrame</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-getTolerance"><strong>getTolerance</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-getYMD"><strong>getYMD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-hour"><strong>hour</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-minute"><strong>minute</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-month"><strong>month</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-printf"><strong>printf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-printf_std_string"><strong>printf_std_string</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-secOfDay"><strong>secOfDay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-second"><strong>second</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setANSI"><strong>setANSI</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setAllButTimeFrame"><strong>setAllButTimeFrame</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setGPS"><strong>setGPS</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setGPSZcount"><strong>setGPSZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setGPSfullweek"><strong>setGPSfullweek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setHMS"><strong>setHMS</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setLocalTime"><strong>setLocalTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setMJD"><strong>setMJD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setMJDdate"><strong>setMJDdate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setSecOfDay"><strong>setSecOfDay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setSystemTime"><strong>setSystemTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setTimeFrame"><strong>setTimeFrame</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setToString"><strong>setToString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setTolerance"><strong>setTolerance</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setUnix"><strong>setUnix</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setYDoy"><strong>setYDoy</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setYDoySod"><strong>setYDoySod</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setYMD"><strong>setYMD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setYMDHMS"><strong>setYMDHMS</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-unixTime"><strong>unixTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-year"><strong>year</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#DayTime">DayTime</a>:<br>
+<dl><dt><a name="DayTimePtr-convertCalendarToJD"><strong>convertCalendarToJD</strong></a> = DayTime_convertCalendarToJD(...)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-convertJDtoCalendar"><strong>convertJDtoCalendar</strong></a> = DayTime_convertJDtoCalendar(...)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-convertSODtoTime"><strong>convertSODtoTime</strong></a> = DayTime_convertSODtoTime(...)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-convertTimeToSOD"><strong>convertTimeToSOD</strong></a> = DayTime_convertTimeToSOD(...)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-getDayTimeTolerance"><strong>getDayTimeTolerance</strong></a> = DayTime_getDayTimeTolerance(...)</dt></dl>
+
+<dl><dt><a name="DayTimePtr-setDayTimeTolerance"><strong>setDayTimeTolerance</strong></a> = DayTime_setDayTimeTolerance(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#DayTime">DayTime</a>:<br>
+<dl><dt><strong>BEGINNING_OF_TIME</strong> = <Swig Object at _6cf42cb7_p_gpstk__DayTime></dl>
+
+<dl><dt><strong>BEGIN_LIMIT_JDAY</strong> = 0</dl>
+
+<dl><dt><strong>END_LIMIT_JDAY</strong> = 3442448</dl>
+
+<dl><dt><strong>END_OF_TIME</strong> = <Swig Object at _88f42cb7_p_gpstk__DayTime></dl>
+
+<dl><dt><strong>FACTOR</strong> = 1000</dl>
+
+<dl><dt><strong>FULLWEEK</strong> = 604800</dl>
+
+<dl><dt><strong>GPS_EPOCH_JDAY</strong> = 2444245</dl>
+
+<dl><dt><strong>GPS_EPOCH_MJD</strong> = 44244</dl>
+
+<dl><dt><strong>GPS_Receiver</strong> = 6</dl>
+
+<dl><dt><strong>GPS_Rx</strong> = 4</dl>
+
+<dl><dt><strong>GPS_SV</strong> = 5</dl>
+
+<dl><dt><strong>GPS_Tx</strong> = 3</dl>
+
+<dl><dt><strong>HALFWEEK</strong> = 302400</dl>
+
+<dl><dt><strong>JD_TO_MJD</strong> = 2400000.5</dl>
+
+<dl><dt><strong>LocalSystem</strong> = 2</dl>
+
+<dl><dt><strong>MJD_JDAY</strong> = 2400001</dl>
+
+<dl><dt><strong>MS_PER_DAY</strong> = 86400000</dl>
+
+<dl><dt><strong>ONE_HOUR_TOLERANCE</strong> = 3600.0</dl>
+
+<dl><dt><strong>ONE_MIN_TOLERANCE</strong> = 60.0</dl>
+
+<dl><dt><strong>ONE_MSEC_TOLERANCE</strong> = 0.001</dl>
+
+<dl><dt><strong>ONE_NSEC_TOLERANCE</strong> = 1.0000000000000001e-09</dl>
+
+<dl><dt><strong>ONE_SEC_TOLERANCE</strong> = 1.0</dl>
+
+<dl><dt><strong>ONE_USEC_TOLERANCE</strong> = 9.9999999999999995e-07</dl>
+
+<dl><dt><strong>SEC_DAY</strong> = 86400</dl>
+
+<dl><dt><strong>UNIX_MJD</strong> = 40587</dl>
+
+<dl><dt><strong>UTC</strong> = 1</dl>
+
+<dl><dt><strong>Unknown</strong> = 0</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'convertCalendarToJD': <function <lambda>>, 'convertJDtoCalendar': <function <lambda>>, 'convertSODtoTime': <function <lambda>>, 'convertTimeToSOD': <function <lambda>>, 'getDayTimeTolerance': <function <lambda>>, 'setDayTimeTolerance': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'DayTime' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ECEF">class <strong>ECEF</strong></a>(<a href="gpstkPython.html#Triple">Triple</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ECEF">ECEF</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ECEF-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ECEF></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ECEF-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ECEF-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ECEF-asGeodetic"><strong>asGeodetic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'theArray': <built-in function Triple_theArray_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="ECEF-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEF-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="ECEF-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ECEF-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ECEFPtr">class <strong>ECEFPtr</strong></a>(<a href="gpstkPython.html#ECEF">ECEF</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ECEFPtr">ECEFPtr</a></dd>
+<dd><a href="gpstkPython.html#ECEF">ECEF</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ECEFPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ECEF">ECEF</a>:<br>
+<dl><dt><a name="ECEFPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ECEF></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ECEFPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ECEFPtr-asGeodetic"><strong>asGeodetic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ECEF">ECEF</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'theArray': <built-in function Triple_theArray_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="ECEFPtr-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ECEFPtr-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="ECEFPtr-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ECEFPtr-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EngAlmanac">class <strong>EngAlmanac</strong></a>(<a href="gpstkPython.html#EngNav">EngNav</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EngAlmanac">EngAlmanac</a></dd>
+<dd><a href="gpstkPython.html#EngNav">EngNav</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EngAlmanac-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EngAlmanac></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EngAlmanac-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="EngAlmanac-addSubframe"><strong>addSubframe</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getA"><strong>getA</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getAf0"><strong>getAf0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getAf1"><strong>getAf1</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getAhalf"><strong>getAhalf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getAlmOrbElem"><strong>getAlmOrbElem</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getAlmOrbElems"><strong>getAlmOrbElems</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getAlmWeek"><strong>getAlmWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getEcc"><strong>getEcc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getFullWeek"><strong>getFullWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getIOffset"><strong>getIOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getIon"><strong>getIon</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getM0"><strong>getM0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getOmega0"><strong>getOmega0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getOmegadot"><strong>getOmegadot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getSVHealth"><strong>getSVHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getToa"><strong>getToa</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getUTC"><strong>getUTC</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getW"><strong>getW</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getXmitTime"><strong>getXmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-svXvt"><strong>svXvt</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'convert10bit': <function <lambda>>, 'convert8bit': <function <lambda>>, 'getSubframePattern': <function <lambda>>, 'subframeConvert': <function <lambda>>, 'subframeParity': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><a name="EngAlmanac-convert10bit"><strong>convert10bit</strong></a> = EngNav_convert10bit(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-convert8bit"><strong>convert8bit</strong></a> = EngNav_convert8bit(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-getSubframePattern"><strong>getSubframePattern</strong></a> = EngNav_getSubframePattern(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-subframeConvert"><strong>subframeConvert</strong></a> = EngNav_subframeConvert(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanac-subframeParity"><strong>subframeParity</strong></a> = EngNav_subframeParity(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'EngNav' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EngAlmanacPtr">class <strong>EngAlmanacPtr</strong></a>(<a href="gpstkPython.html#EngAlmanac">EngAlmanac</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EngAlmanacPtr">EngAlmanacPtr</a></dd>
+<dd><a href="gpstkPython.html#EngAlmanac">EngAlmanac</a></dd>
+<dd><a href="gpstkPython.html#EngNav">EngNav</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EngAlmanacPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#EngAlmanac">EngAlmanac</a>:<br>
+<dl><dt><a name="EngAlmanacPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EngAlmanac></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-addSubframe"><strong>addSubframe</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getA"><strong>getA</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getAf0"><strong>getAf0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getAf1"><strong>getAf1</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getAhalf"><strong>getAhalf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getAlmOrbElem"><strong>getAlmOrbElem</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getAlmOrbElems"><strong>getAlmOrbElems</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getAlmWeek"><strong>getAlmWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getEcc"><strong>getEcc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getFullWeek"><strong>getFullWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getIOffset"><strong>getIOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getIon"><strong>getIon</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getM0"><strong>getM0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getOmega0"><strong>getOmega0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getOmegadot"><strong>getOmegadot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getSVHealth"><strong>getSVHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getToa"><strong>getToa</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getUTC"><strong>getUTC</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getW"><strong>getW</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getXmitTime"><strong>getXmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-svXvt"><strong>svXvt</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngAlmanac">EngAlmanac</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'convert10bit': <function <lambda>>, 'convert8bit': <function <lambda>>, 'getSubframePattern': <function <lambda>>, 'subframeConvert': <function <lambda>>, 'subframeParity': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><a name="EngAlmanacPtr-convert10bit"><strong>convert10bit</strong></a> = EngNav_convert10bit(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-convert8bit"><strong>convert8bit</strong></a> = EngNav_convert8bit(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-getSubframePattern"><strong>getSubframePattern</strong></a> = EngNav_getSubframePattern(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-subframeConvert"><strong>subframeConvert</strong></a> = EngNav_subframeConvert(...)</dt></dl>
+
+<dl><dt><a name="EngAlmanacPtr-subframeParity"><strong>subframeParity</strong></a> = EngNav_subframeParity(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'EngNav' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EngEphemeris">class <strong>EngEphemeris</strong></a>(<a href="gpstkPython.html#EngNav">EngNav</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EngEphemeris">EngEphemeris</a></dd>
+<dd><a href="gpstkPython.html#EngNav">EngNav</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EngEphemeris-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EngEphemeris></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EngEphemeris-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="EngEphemeris-addSubframe"><strong>addSubframe</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getA"><strong>getA</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getASAlert"><strong>getASAlert</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getAccFlag"><strong>getAccFlag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getAccuracy"><strong>getAccuracy</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getAf0"><strong>getAf0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getAf1"><strong>getAf1</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getAf2"><strong>getAf2</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getAhalf"><strong>getAhalf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCic"><strong>getCic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCis"><strong>getCis</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCodeFlags"><strong>getCodeFlags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCrc"><strong>getCrc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCrs"><strong>getCrs</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCuc"><strong>getCuc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getCus"><strong>getCus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getDn"><strong>getDn</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getEcc"><strong>getEcc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getEphemerisEpoch"><strong>getEphemerisEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getEpochTime"><strong>getEpochTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getFitInt"><strong>getFitInt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getFitInterval"><strong>getFitInterval</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getFullWeek"><strong>getFullWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getHOWTime"><strong>getHOWTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getHealth"><strong>getHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getI0"><strong>getI0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getIDot"><strong>getIDot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getIODC"><strong>getIODC</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getIODE"><strong>getIODE</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getL2Pdata"><strong>getL2Pdata</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getM0"><strong>getM0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getOmega0"><strong>getOmega0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getOmegaDot"><strong>getOmegaDot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getPRNID"><strong>getPRNID</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTLMMessage"><strong>getTLMMessage</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTLMPreamble"><strong>getTLMPreamble</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTgd"><strong>getTgd</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTimestamp"><strong>getTimestamp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getToc"><strong>getToc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getToe"><strong>getToe</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTot"><strong>getTot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTracker"><strong>getTracker</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getTransmitTime"><strong>getTransmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getW"><strong>getW</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-setAccuracy"><strong>setAccuracy</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-setSF1"><strong>setSF1</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-setSF2"><strong>setSF2</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-setSF3"><strong>setSF3</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-svClockBias"><strong>svClockBias</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-svClockDrift"><strong>svClockDrift</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-svRelativity"><strong>svRelativity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-svXvt"><strong>svXvt</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'convert10bit': <function <lambda>>, 'convert8bit': <function <lambda>>, 'getSubframePattern': <function <lambda>>, 'subframeConvert': <function <lambda>>, 'subframeParity': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><a name="EngEphemeris-convert10bit"><strong>convert10bit</strong></a> = EngNav_convert10bit(...)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-convert8bit"><strong>convert8bit</strong></a> = EngNav_convert8bit(...)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-getSubframePattern"><strong>getSubframePattern</strong></a> = EngNav_getSubframePattern(...)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-subframeConvert"><strong>subframeConvert</strong></a> = EngNav_subframeConvert(...)</dt></dl>
+
+<dl><dt><a name="EngEphemeris-subframeParity"><strong>subframeParity</strong></a> = EngNav_subframeParity(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'EngNav' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EngEphemerisPtr">class <strong>EngEphemerisPtr</strong></a>(<a href="gpstkPython.html#EngEphemeris">EngEphemeris</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EngEphemerisPtr">EngEphemerisPtr</a></dd>
+<dd><a href="gpstkPython.html#EngEphemeris">EngEphemeris</a></dd>
+<dd><a href="gpstkPython.html#EngNav">EngNav</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EngEphemerisPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#EngEphemeris">EngEphemeris</a>:<br>
+<dl><dt><a name="EngEphemerisPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EngEphemeris></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-addSubframe"><strong>addSubframe</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getA"><strong>getA</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getASAlert"><strong>getASAlert</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getAccFlag"><strong>getAccFlag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getAccuracy"><strong>getAccuracy</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getAf0"><strong>getAf0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getAf1"><strong>getAf1</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getAf2"><strong>getAf2</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getAhalf"><strong>getAhalf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCic"><strong>getCic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCis"><strong>getCis</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCodeFlags"><strong>getCodeFlags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCrc"><strong>getCrc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCrs"><strong>getCrs</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCuc"><strong>getCuc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getCus"><strong>getCus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getDn"><strong>getDn</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getEcc"><strong>getEcc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getEphemerisEpoch"><strong>getEphemerisEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getEpochTime"><strong>getEpochTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getFitInt"><strong>getFitInt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getFitInterval"><strong>getFitInterval</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getFullWeek"><strong>getFullWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getHOWTime"><strong>getHOWTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getHealth"><strong>getHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getI0"><strong>getI0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getIDot"><strong>getIDot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getIODC"><strong>getIODC</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getIODE"><strong>getIODE</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getL2Pdata"><strong>getL2Pdata</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getM0"><strong>getM0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getOmega0"><strong>getOmega0</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getOmegaDot"><strong>getOmegaDot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getPRNID"><strong>getPRNID</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTLMMessage"><strong>getTLMMessage</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTLMPreamble"><strong>getTLMPreamble</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTgd"><strong>getTgd</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTimestamp"><strong>getTimestamp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getToc"><strong>getToc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getToe"><strong>getToe</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTot"><strong>getTot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTracker"><strong>getTracker</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getTransmitTime"><strong>getTransmitTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getW"><strong>getW</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-setAccuracy"><strong>setAccuracy</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-setSF1"><strong>setSF1</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-setSF2"><strong>setSF2</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-setSF3"><strong>setSF3</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-svClockBias"><strong>svClockBias</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-svClockDrift"><strong>svClockDrift</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-svRelativity"><strong>svRelativity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-svXvt"><strong>svXvt</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngEphemeris">EngEphemeris</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'convert10bit': <function <lambda>>, 'convert8bit': <function <lambda>>, 'getSubframePattern': <function <lambda>>, 'subframeConvert': <function <lambda>>, 'subframeParity': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><a name="EngEphemerisPtr-convert10bit"><strong>convert10bit</strong></a> = EngNav_convert10bit(...)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-convert8bit"><strong>convert8bit</strong></a> = EngNav_convert8bit(...)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-getSubframePattern"><strong>getSubframePattern</strong></a> = EngNav_getSubframePattern(...)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-subframeConvert"><strong>subframeConvert</strong></a> = EngNav_subframeConvert(...)</dt></dl>
+
+<dl><dt><a name="EngEphemerisPtr-subframeParity"><strong>subframeParity</strong></a> = EngNav_subframeParity(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'EngNav' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EngNav">class <strong>EngNav</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="EngNav-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EngNav></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EngNav-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="EngNav-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="EngNav-convert10bit"><strong>convert10bit</strong></a> = EngNav_convert10bit(...)</dt></dl>
+
+<dl><dt><a name="EngNav-convert8bit"><strong>convert8bit</strong></a> = EngNav_convert8bit(...)</dt></dl>
+
+<dl><dt><a name="EngNav-getSubframePattern"><strong>getSubframePattern</strong></a> = EngNav_getSubframePattern(...)</dt></dl>
+
+<dl><dt><a name="EngNav-subframeConvert"><strong>subframeConvert</strong></a> = EngNav_subframeConvert(...)</dt></dl>
+
+<dl><dt><a name="EngNav-subframeParity"><strong>subframeParity</strong></a> = EngNav_subframeParity(...)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'convert10bit': <function <lambda>>, 'convert8bit': <function <lambda>>, 'getSubframePattern': <function <lambda>>, 'subframeConvert': <function <lambda>>, 'subframeParity': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'EngNav' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EngNavPtr">class <strong>EngNavPtr</strong></a>(<a href="gpstkPython.html#EngNav">EngNav</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EngNavPtr">EngNavPtr</a></dd>
+<dd><a href="gpstkPython.html#EngNav">EngNav</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EngNavPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><a name="EngNavPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EngNav></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EngNavPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><a name="EngNavPtr-convert10bit"><strong>convert10bit</strong></a> = EngNav_convert10bit(...)</dt></dl>
+
+<dl><dt><a name="EngNavPtr-convert8bit"><strong>convert8bit</strong></a> = EngNav_convert8bit(...)</dt></dl>
+
+<dl><dt><a name="EngNavPtr-getSubframePattern"><strong>getSubframePattern</strong></a> = EngNav_getSubframePattern(...)</dt></dl>
+
+<dl><dt><a name="EngNavPtr-subframeConvert"><strong>subframeConvert</strong></a> = EngNav_subframeConvert(...)</dt></dl>
+
+<dl><dt><a name="EngNavPtr-subframeParity"><strong>subframeParity</strong></a> = EngNav_subframeParity(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EngNav">EngNav</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'convert10bit': <function <lambda>>, 'convert8bit': <function <lambda>>, 'getSubframePattern': <function <lambda>>, 'subframeConvert': <function <lambda>>, 'subframeParity': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'EngNav' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EpochClockModel">class <strong>EpochClockModel</strong></a>(<a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EpochClockModel">EpochClockModel</a></dd>
+<dd><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EpochClockModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EpochClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EpochClockModel-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="EpochClockModel-addEpoch"><strong>addEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><a name="EpochClockModel-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-getElevationMask"><strong>getElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-getPRNMode"><strong>getPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-getPRNModeMap"><strong>getPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-getPRNStatus"><strong>getPRNStatus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-getPRNStatusMap"><strong>getPRNStatusMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-getSigmaMultiplier"><strong>getSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-setElevationMask"><strong>setElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-setPRNMode"><strong>setPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-setPRNModeMap"><strong>setPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-setSigmaMultiplier"><strong>setSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModel-simpleOrdClock"><strong>simpleOrdClock</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><strong>ALWAYS</strong> = 2</dl>
+
+<dl><dt><strong>ELEVATION</strong> = 3</dl>
+
+<dl><dt><strong>HEALTHY</strong> = 1</dl>
+
+<dl><dt><strong>IGNORE</strong> = 0</dl>
+
+<dl><dt><strong>MANUAL</strong> = 1</dl>
+
+<dl><dt><strong>SIGMA</strong> = 4</dl>
+
+<dl><dt><strong>SVHEALTH</strong> = 2</dl>
+
+<dl><dt><strong>USED</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><a name="EpochClockModel-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="EpochClockModelPtr">class <strong>EpochClockModelPtr</strong></a>(<a href="gpstkPython.html#EpochClockModel">EpochClockModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#EpochClockModelPtr">EpochClockModelPtr</a></dd>
+<dd><a href="gpstkPython.html#EpochClockModel">EpochClockModel</a></dd>
+<dd><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="EpochClockModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#EpochClockModel">EpochClockModel</a>:<br>
+<dl><dt><a name="EpochClockModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_EpochClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-addEpoch"><strong>addEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#EpochClockModel">EpochClockModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><a name="EpochClockModelPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-getElevationMask"><strong>getElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-getPRNMode"><strong>getPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-getPRNModeMap"><strong>getPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-getPRNStatus"><strong>getPRNStatus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-getPRNStatusMap"><strong>getPRNStatusMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-getSigmaMultiplier"><strong>getSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-setElevationMask"><strong>setElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-setPRNMode"><strong>setPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-setPRNModeMap"><strong>setPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-setSigmaMultiplier"><strong>setSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="EpochClockModelPtr-simpleOrdClock"><strong>simpleOrdClock</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><strong>ALWAYS</strong> = 2</dl>
+
+<dl><dt><strong>ELEVATION</strong> = 3</dl>
+
+<dl><dt><strong>HEALTHY</strong> = 1</dl>
+
+<dl><dt><strong>IGNORE</strong> = 0</dl>
+
+<dl><dt><strong>MANUAL</strong> = 1</dl>
+
+<dl><dt><strong>SIGMA</strong> = 4</dl>
+
+<dl><dt><strong>SVHEALTH</strong> = 2</dl>
+
+<dl><dt><strong>USED</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><a name="EpochClockModelPtr-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="Exception">class <strong>Exception</strong></a>(<a href="gpstkPython.html#ostream">ostream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="Exception-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Exception></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="Exception-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Exception-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="Exception-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="Exception-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="Exception-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="Exception-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Exception-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="Exception-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="Exception-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ExceptionLocation">class <strong>ExceptionLocation</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ExceptionLocation-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ExceptionLocation></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ExceptionLocation-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocation-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ExceptionLocation-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocation-getFileName"><strong>getFileName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocation-getFunctionName"><strong>getFunctionName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocation-getLineNumber"><strong>getLineNumber</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ExceptionLocation' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ExceptionLocationPtr">class <strong>ExceptionLocationPtr</strong></a>(<a href="gpstkPython.html#ExceptionLocation">ExceptionLocation</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ExceptionLocationPtr">ExceptionLocationPtr</a></dd>
+<dd><a href="gpstkPython.html#ExceptionLocation">ExceptionLocation</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ExceptionLocationPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ExceptionLocation">ExceptionLocation</a>:<br>
+<dl><dt><a name="ExceptionLocationPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ExceptionLocation></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ExceptionLocationPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ExceptionLocationPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocationPtr-getFileName"><strong>getFileName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocationPtr-getFunctionName"><strong>getFunctionName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionLocationPtr-getLineNumber"><strong>getLineNumber</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ExceptionLocation">ExceptionLocation</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ExceptionLocation' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ExceptionPtr">class <strong>ExceptionPtr</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ExceptionPtr">ExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="ExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Exception></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="ExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ExtraWaveFact">class <strong>ExtraWaveFact</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ExtraWaveFact-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ExtraWaveFact></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ExtraWaveFact-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ExtraWaveFact-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>prnList</strong></dt>
+<dd><dl><dt><a name="ExtraWaveFact-<em>get</em>"><strong><em>get</em></strong></a> = ExtraWaveFact_prnList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ExtraWaveFact-<em>set</em>"><strong><em>set</em></strong></a> = ExtraWaveFact_prnList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>wavelengthFactor</strong></dt>
+<dd><dl><dt><a name="ExtraWaveFact-<em>get</em>"><strong><em>get</em></strong></a> = ExtraWaveFact_wavelengthFactor_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ExtraWaveFact-<em>set</em>"><strong><em>set</em></strong></a> = ExtraWaveFact_wavelengthFactor_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'prnList': <built-in function ExtraWaveFact_prnList_get>, 'wavelengthFactor': <built-in function ExtraWaveFact_wavelengthFactor_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'prnList': <built-in function ExtraWaveFact_prnList_set>, 'wavelengthFactor': <built-in function ExtraWaveFact_wavelengthFactor_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ExtraWaveFact' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ExtraWaveFactPtr">class <strong>ExtraWaveFactPtr</strong></a>(<a href="gpstkPython.html#ExtraWaveFact">ExtraWaveFact</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ExtraWaveFactPtr">ExtraWaveFactPtr</a></dd>
+<dd><a href="gpstkPython.html#ExtraWaveFact">ExtraWaveFact</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ExtraWaveFactPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ExtraWaveFact">ExtraWaveFact</a>:<br>
+<dl><dt><a name="ExtraWaveFactPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ExtraWaveFact></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ExtraWaveFactPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#ExtraWaveFact">ExtraWaveFact</a>:<br>
+<dl><dt><strong>prnList</strong></dt>
+<dd><dl><dt><a name="ExtraWaveFactPtr-<em>get</em>"><strong><em>get</em></strong></a> = ExtraWaveFact_prnList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ExtraWaveFactPtr-<em>set</em>"><strong><em>set</em></strong></a> = ExtraWaveFact_prnList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>wavelengthFactor</strong></dt>
+<dd><dl><dt><a name="ExtraWaveFactPtr-<em>get</em>"><strong><em>get</em></strong></a> = ExtraWaveFact_wavelengthFactor_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ExtraWaveFactPtr-<em>set</em>"><strong><em>set</em></strong></a> = ExtraWaveFact_wavelengthFactor_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ExtraWaveFact">ExtraWaveFact</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'prnList': <built-in function ExtraWaveFact_prnList_get>, 'wavelengthFactor': <built-in function ExtraWaveFact_wavelengthFactor_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'prnList': <built-in function ExtraWaveFact_prnList_set>, 'wavelengthFactor': <built-in function ExtraWaveFact_wavelengthFactor_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ExtraWaveFact' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FFData">class <strong>FFData</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FFData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FFData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FFData-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="FFData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FFData-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFData-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFData-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFData-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFData-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FFDataPtr">class <strong>FFDataPtr</strong></a>(<a href="gpstkPython.html#FFData">FFData</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FFDataPtr">FFDataPtr</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FFDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="FFDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FFData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FFDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FFDataPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFDataPtr-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFDataPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFDataPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFDataPtr-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FFStream">class <strong>FFStream</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FFStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FFStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FFStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FFStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FFStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="FFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="FFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="FFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FFStreamPtr">class <strong>FFStreamPtr</strong></a>(<a href="gpstkPython.html#FFStream">FFStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FFStreamPtr">FFStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FFStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="FFStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FFStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FFStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FFStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="FFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="FFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="FFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FFTextStream">class <strong>FFTextStream</strong></a>(<a href="gpstkPython.html#FFStream">FFStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FFTextStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FFTextStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FFTextStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FFTextStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FFTextStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFTextStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="FFTextStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="FFTextStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="FFTextStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="FFTextStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="FFTextStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FFTextStreamPtr">class <strong>FFTextStreamPtr</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FFTextStreamPtr">FFTextStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FFTextStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="FFTextStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FFTextStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FFTextStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FFTextStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FFTextStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="FFTextStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FFTextStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICAStream">class <strong>FICAStream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FICAStream">FICAStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FICAStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICAStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICAStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FICAStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICAStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="FICAStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="FICAStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="FICAStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="FICAStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="FICAStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="FICAStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICAStreamPtr">class <strong>FICAStreamPtr</strong></a>(<a href="gpstkPython.html#FICAStream">FICAStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FICAStreamPtr">FICAStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#FICAStream">FICAStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FICAStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FICAStream">FICAStream</a>:<br>
+<dl><dt><a name="FICAStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICAStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICAStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICAStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FICAStream">FICAStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="FICAStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="FICAStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="FICAStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="FICAStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="FICAStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="FICAStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICAStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICData">class <strong>FICData</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FICData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FICData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICData-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICData-generateUniqueKey"><strong>generateUniqueKey</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICData-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICData-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICData-operator_AlmOrbit"><strong>operator_AlmOrbit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICData-operator_EngEphemeris"><strong>operator_EngEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICData-prettyDump"><strong>prettyDump</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>blockNum</strong></dt>
+<dd><dl><dt><a name="FICData-<em>get</em>"><strong><em>get</em></strong></a> = FICData_blockNum_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICData-<em>set</em>"><strong><em>set</em></strong></a> = FICData_blockNum_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>c</strong></dt>
+<dd><dl><dt><a name="FICData-<em>get</em>"><strong><em>get</em></strong></a> = FICData_c_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICData-<em>set</em>"><strong><em>set</em></strong></a> = FICData_c_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>f</strong></dt>
+<dd><dl><dt><a name="FICData-<em>get</em>"><strong><em>get</em></strong></a> = FICData_f_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICData-<em>set</em>"><strong><em>set</em></strong></a> = FICData_f_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>i</strong></dt>
+<dd><dl><dt><a name="FICData-<em>get</em>"><strong><em>get</em></strong></a> = FICData_i_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICData-<em>set</em>"><strong><em>set</em></strong></a> = FICData_i_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'blockNum': <built-in function FICData_blockNum_get>, 'c': <built-in function FICData_c_get>, 'f': <built-in function FICData_f_get>, 'i': <built-in function FICData_i_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'blockNum': <built-in function FICData_blockNum_set>, 'c': <built-in function FICData_c_set>, 'f': <built-in function FICData_f_set>, 'i': <built-in function FICData_i_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FICData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>blockString</strong> = 'BLK '</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICDataPtr">class <strong>FICDataPtr</strong></a>(<a href="gpstkPython.html#FICData">FICData</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FICDataPtr">FICDataPtr</a></dd>
+<dd><a href="gpstkPython.html#FICData">FICData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FICDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FICData">FICData</a>:<br>
+<dl><dt><a name="FICDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICDataPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICDataPtr-generateUniqueKey"><strong>generateUniqueKey</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICDataPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICDataPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICDataPtr-operator_AlmOrbit"><strong>operator_AlmOrbit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICDataPtr-operator_EngEphemeris"><strong>operator_EngEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICDataPtr-prettyDump"><strong>prettyDump</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FICData">FICData</a>:<br>
+<dl><dt><strong>blockNum</strong></dt>
+<dd><dl><dt><a name="FICDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = FICData_blockNum_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = FICData_blockNum_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>c</strong></dt>
+<dd><dl><dt><a name="FICDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = FICData_c_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = FICData_c_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>f</strong></dt>
+<dd><dl><dt><a name="FICDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = FICData_f_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = FICData_f_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>i</strong></dt>
+<dd><dl><dt><a name="FICDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = FICData_i_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = FICData_i_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FICData">FICData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'blockNum': <built-in function FICData_blockNum_get>, 'c': <built-in function FICData_c_get>, 'f': <built-in function FICData_f_get>, 'i': <built-in function FICData_i_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'blockNum': <built-in function FICData_blockNum_set>, 'c': <built-in function FICData_c_set>, 'f': <built-in function FICData_f_set>, 'i': <built-in function FICData_i_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FICData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>blockString</strong> = 'BLK '</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICHeader">class <strong>FICHeader</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FICHeader-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICHeader-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FICHeader-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICHeader-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICHeader-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="FICHeader-<em>get</em>"><strong><em>get</em></strong></a> = FICHeader_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICHeader-<em>set</em>"><strong><em>set</em></strong></a> = FICHeader_header_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'header': <built-in function FICHeader_header_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'header': <built-in function FICHeader_header_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FICHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>headerSize</strong> = 40</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICHeaderPtr">class <strong>FICHeaderPtr</strong></a>(<a href="gpstkPython.html#FICHeader">FICHeader</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FICHeaderPtr">FICHeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#FICHeader">FICHeader</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FICHeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FICHeader">FICHeader</a>:<br>
+<dl><dt><a name="FICHeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICHeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICHeaderPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FICHeaderPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FICHeader">FICHeader</a>:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="FICHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = FICHeader_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="FICHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = FICHeader_header_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FICHeader">FICHeader</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'header': <built-in function FICHeader_header_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'header': <built-in function FICHeader_header_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FICHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>headerSize</strong> = 40</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICStream">class <strong>FICStream</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FICStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FICStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FICStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FICStreamPtr">class <strong>FICStreamPtr</strong></a>(<a href="gpstkPython.html#FICStream">FICStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FICStreamPtr">FICStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#FICStream">FICStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FICStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FICStream">FICStream</a>:<br>
+<dl><dt><a name="FICStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FICStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FICStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FICStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FICStream">FICStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FICStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileHunter">class <strong>FileHunter</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FileHunter-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileHunter></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileHunter-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FileHunter-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileHunter-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunter-find"><strong>find</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunter-newHunt"><strong>newHunt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunter-setFilter"><strong>setFilter</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>DAY</strong> = 1</dl>
+
+<dl><dt><strong>HOUR</strong> = 2</dl>
+
+<dl><dt><strong>MINUTE</strong> = 3</dl>
+
+<dl><dt><strong>WEEK</strong> = 0</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileHunter' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileHunterException">class <strong>FileHunterException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileHunterException">FileHunterException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileHunterException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileHunterException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileHunterException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileHunterException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="FileHunterException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="FileHunterException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="FileHunterException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileHunterException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileHunterException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="FileHunterException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileHunterExceptionPtr">class <strong>FileHunterExceptionPtr</strong></a>(<a href="gpstkPython.html#FileHunterException">FileHunterException</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileHunterExceptionPtr">FileHunterExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#FileHunterException">FileHunterException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileHunterExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileHunterException">FileHunterException</a>:<br>
+<dl><dt><a name="FileHunterExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileHunterException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileHunterException">FileHunterException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="FileHunterExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="FileHunterExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="FileHunterExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileHunterExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileHunterExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="FileHunterExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileHunterPtr">class <strong>FileHunterPtr</strong></a>(<a href="gpstkPython.html#FileHunter">FileHunter</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileHunterPtr">FileHunterPtr</a></dd>
+<dd><a href="gpstkPython.html#FileHunter">FileHunter</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileHunterPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileHunter">FileHunter</a>:<br>
+<dl><dt><a name="FileHunterPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileHunter></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileHunterPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileHunterPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterPtr-find"><strong>find</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterPtr-newHunt"><strong>newHunt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileHunterPtr-setFilter"><strong>setFilter</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileHunter">FileHunter</a>:<br>
+<dl><dt><strong>DAY</strong> = 1</dl>
+
+<dl><dt><strong>HOUR</strong> = 2</dl>
+
+<dl><dt><strong>MINUTE</strong> = 3</dl>
+
+<dl><dt><strong>WEEK</strong> = 0</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileHunter' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileMissingException">class <strong>FileMissingException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileMissingException">FileMissingException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileMissingException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileMissingException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileMissingException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileMissingException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="FileMissingException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="FileMissingException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="FileMissingException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileMissingException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileMissingException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="FileMissingException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileMissingExceptionPtr">class <strong>FileMissingExceptionPtr</strong></a>(<a href="gpstkPython.html#FileMissingException">FileMissingException</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileMissingExceptionPtr">FileMissingExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#FileMissingException">FileMissingException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileMissingExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileMissingException">FileMissingException</a>:<br>
+<dl><dt><a name="FileMissingExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileMissingException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileMissingException">FileMissingException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="FileMissingExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="FileMissingExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="FileMissingExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileMissingExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FileMissingExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="FileMissingExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileStore_RinexNavHeader">class <strong>FileStore_RinexNavHeader</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FileStore_RinexNavHeader-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileStore_RinexNavHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeader-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileStore_RinexNavHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileStore_RinexNavHeaderPtr">class <strong>FileStore_RinexNavHeaderPtr</strong></a>(<a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileStore_RinexNavHeaderPtr">FileStore_RinexNavHeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>:<br>
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileStore_RinexNavHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_RinexNavHeaderPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileStore_RinexNavHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileStore_SP3Header">class <strong>FileStore_SP3Header</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="FileStore_SP3Header-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileStore_SP3Header></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3Header-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileStore_SP3Header' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FileStore_SP3HeaderPtr">class <strong>FileStore_SP3HeaderPtr</strong></a>(<a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FileStore_SP3HeaderPtr">FileStore_SP3HeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FileStore_SP3HeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>:<br>
+<dl><dt><a name="FileStore_SP3HeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FileStore_SP3Header></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FileStore_SP3HeaderPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileStore_SP3Header' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FormatException">class <strong>FormatException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FormatException">FormatException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FormatException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FormatException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FormatException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="FormatException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FormatException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="FormatException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="FormatException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="FormatException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FormatException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FormatException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="FormatException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="FormatExceptionPtr">class <strong>FormatExceptionPtr</strong></a>(<a href="gpstkPython.html#FormatException">FormatException</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#FormatExceptionPtr">FormatExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#FormatException">FormatException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="FormatExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FormatException">FormatException</a>:<br>
+<dl><dt><a name="FormatExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_FormatException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FormatException">FormatException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="FormatExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="FormatExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="FormatExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FormatExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="FormatExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="FormatExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GGHeightTropModel">class <strong>GGHeightTropModel</strong></a>(<a href="gpstkPython.html#TropModel">TropModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GGHeightTropModel">GGHeightTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GGHeightTropModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GGHeightTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-setHeights"><strong>setHeights</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-setReceiverHeight"><strong>setReceiverHeight</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModel-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="GGHeightTropModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GGHeightTropModelPtr">class <strong>GGHeightTropModelPtr</strong></a>(<a href="gpstkPython.html#GGHeightTropModel">GGHeightTropModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GGHeightTropModelPtr">GGHeightTropModelPtr</a></dd>
+<dd><a href="gpstkPython.html#GGHeightTropModel">GGHeightTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GGHeightTropModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#GGHeightTropModel">GGHeightTropModel</a>:<br>
+<dl><dt><a name="GGHeightTropModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GGHeightTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-setHeights"><strong>setHeights</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-setReceiverHeight"><strong>setReceiverHeight</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGHeightTropModelPtr-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#GGHeightTropModel">GGHeightTropModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="GGHeightTropModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GGTropModel">class <strong>GGTropModel</strong></a>(<a href="gpstkPython.html#TropModel">TropModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GGTropModel">GGTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GGTropModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GGTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GGTropModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="GGTropModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GGTropModel-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModel-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModel-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModel-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModel-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="GGTropModel-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GGTropModelPtr">class <strong>GGTropModelPtr</strong></a>(<a href="gpstkPython.html#GGTropModel">GGTropModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GGTropModelPtr">GGTropModelPtr</a></dd>
+<dd><a href="gpstkPython.html#GGTropModel">GGTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GGTropModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#GGTropModel">GGTropModel</a>:<br>
+<dl><dt><a name="GGTropModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GGTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#GGTropModel">GGTropModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="GGTropModelPtr-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GGTropModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GPSZcount">class <strong>GPSZcount</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="GPSZcount-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GPSZcount></font>)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__ge__"><strong>__ge__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GPSZcount-__gt__"><strong>__gt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__iadd__"><strong>__iadd__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__isub__"><strong>__isub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__le__"><strong>__le__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__lt__"><strong>__lt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GPSZcount-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-addWeeks"><strong>addWeeks</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-addZcounts"><strong>addZcounts</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-getFullZcount"><strong>getFullZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-getTotalZcounts"><strong>getTotalZcounts</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-getWeek"><strong>getWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-getZcount"><strong>getZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-inSameTimeBlock"><strong>inSameTimeBlock</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-operator_std_string"><strong>operator_std_string</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-setFullZcount"><strong>setFullZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-setWeek"><strong>setWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcount-setZcount"><strong>setZcount</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>ZCOUNT_DAY</strong> = 57600</dl>
+
+<dl><dt><strong>ZCOUNT_HOUR</strong> = 2400</dl>
+
+<dl><dt><strong>ZCOUNT_MINUTE</strong> = 40</dl>
+
+<dl><dt><strong>ZCOUNT_WEEK</strong> = 403200</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'GPSZcount' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GPSZcountPtr">class <strong>GPSZcountPtr</strong></a>(<a href="gpstkPython.html#GPSZcount">GPSZcount</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GPSZcountPtr">GPSZcountPtr</a></dd>
+<dd><a href="gpstkPython.html#GPSZcount">GPSZcount</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GPSZcountPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#GPSZcount">GPSZcount</a>:<br>
+<dl><dt><a name="GPSZcountPtr-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GPSZcount></font>)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__ge__"><strong>__ge__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__gt__"><strong>__gt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__iadd__"><strong>__iadd__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__isub__"><strong>__isub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__le__"><strong>__le__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__lt__"><strong>__lt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-addWeeks"><strong>addWeeks</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-addZcounts"><strong>addZcounts</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-getFullZcount"><strong>getFullZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-getTotalZcounts"><strong>getTotalZcounts</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-getWeek"><strong>getWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-getZcount"><strong>getZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-inSameTimeBlock"><strong>inSameTimeBlock</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-operator_std_string"><strong>operator_std_string</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-setFullZcount"><strong>setFullZcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-setWeek"><strong>setWeek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GPSZcountPtr-setZcount"><strong>setZcount</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#GPSZcount">GPSZcount</a>:<br>
+<dl><dt><strong>ZCOUNT_DAY</strong> = 57600</dl>
+
+<dl><dt><strong>ZCOUNT_HOUR</strong> = 2400</dl>
+
+<dl><dt><strong>ZCOUNT_MINUTE</strong> = 40</dl>
+
+<dl><dt><strong>ZCOUNT_WEEK</strong> = 403200</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'GPSZcount' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GenXSequence">class <strong>GenXSequence</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="GenXSequence-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GenXSequence></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GenXSequence-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="GenXSequence-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GenXSequence-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GenXSequence-setLengthOfSequence"><strong>setLengthOfSequence</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'GenXSequence' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GenXSequencePtr">class <strong>GenXSequencePtr</strong></a>(<a href="gpstkPython.html#GenXSequence">GenXSequence</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GenXSequencePtr">GenXSequencePtr</a></dd>
+<dd><a href="gpstkPython.html#GenXSequence">GenXSequence</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GenXSequencePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#GenXSequence">GenXSequence</a>:<br>
+<dl><dt><a name="GenXSequencePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GenXSequence></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GenXSequencePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GenXSequencePtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GenXSequencePtr-setLengthOfSequence"><strong>setLengthOfSequence</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#GenXSequence">GenXSequence</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'GenXSequence' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="Geodetic">class <strong>Geodetic</strong></a>(<a href="gpstkPython.html#Triple">Triple</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#Geodetic">Geodetic</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="Geodetic-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Geodetic></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="Geodetic-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Geodetic-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="Geodetic-asECEF"><strong>asECEF</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-getAltitude"><strong>getAltitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-getLatitude"><strong>getLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-getLongitude"><strong>getLongitude</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'theArray': <built-in function Triple_theArray_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="Geodetic-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Geodetic-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="Geodetic-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Geodetic-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GeodeticPtr">class <strong>GeodeticPtr</strong></a>(<a href="gpstkPython.html#Geodetic">Geodetic</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GeodeticPtr">GeodeticPtr</a></dd>
+<dd><a href="gpstkPython.html#Geodetic">Geodetic</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GeodeticPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Geodetic">Geodetic</a>:<br>
+<dl><dt><a name="GeodeticPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Geodetic></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-asECEF"><strong>asECEF</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-getAltitude"><strong>getAltitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-getLatitude"><strong>getLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-getLongitude"><strong>getLongitude</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Geodetic">Geodetic</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'theArray': <built-in function Triple_theArray_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="GeodeticPtr-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeodeticPtr-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="GeodeticPtr-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="GeodeticPtr-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GeoidModel">class <strong>GeoidModel</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="GeoidModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GeoidModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GeoidModel-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="GeoidModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GeoidModel-a"><strong>a</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-a_km"><strong>a_km</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-angVelocity"><strong>angVelocity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-c"><strong>c</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-c_km"><strong>c_km</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-eccSquared"><strong>eccSquared</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-eccentricity"><strong>eccentricity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-flattening"><strong>flattening</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-gm"><strong>gm</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModel-gm_km"><strong>gm_km</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'GeoidModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GeoidModelPtr">class <strong>GeoidModelPtr</strong></a>(<a href="gpstkPython.html#GeoidModel">GeoidModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GeoidModelPtr">GeoidModelPtr</a></dd>
+<dd><a href="gpstkPython.html#GeoidModel">GeoidModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GeoidModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#GeoidModel">GeoidModel</a>:<br>
+<dl><dt><a name="GeoidModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GeoidModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-a"><strong>a</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-a_km"><strong>a_km</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-angVelocity"><strong>angVelocity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-c"><strong>c</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-c_km"><strong>c_km</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-eccSquared"><strong>eccSquared</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-eccentricity"><strong>eccentricity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-flattening"><strong>flattening</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-gm"><strong>gm</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeoidModelPtr-gm_km"><strong>gm_km</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#GeoidModel">GeoidModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'GeoidModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GeometryException">class <strong>GeometryException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GeometryException">GeometryException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GeometryException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GeometryException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GeometryException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="GeometryException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GeometryException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="GeometryException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="GeometryException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="GeometryException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="GeometryException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="GeometryException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="GeometryException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="GeometryExceptionPtr">class <strong>GeometryExceptionPtr</strong></a>(<a href="gpstkPython.html#GeometryException">GeometryException</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#GeometryExceptionPtr">GeometryExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#GeometryException">GeometryException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="GeometryExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#GeometryException">GeometryException</a>:<br>
+<dl><dt><a name="GeometryExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_GeometryException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#GeometryException">GeometryException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="GeometryExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="GeometryExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="GeometryExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="GeometryExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="GeometryExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="GeometryExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="IndexOutOfBoundsException">class <strong>IndexOutOfBoundsException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#IndexOutOfBoundsException">IndexOutOfBoundsException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="IndexOutOfBoundsException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_IndexOutOfBoundsException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="IndexOutOfBoundsExceptionPtr">class <strong>IndexOutOfBoundsExceptionPtr</strong></a>(<a href="gpstkPython.html#IndexOutOfBoundsException">IndexOutOfBoundsException</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#IndexOutOfBoundsExceptionPtr">IndexOutOfBoundsExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#IndexOutOfBoundsException">IndexOutOfBoundsException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#IndexOutOfBoundsException">IndexOutOfBoundsException</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_IndexOutOfBoundsException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#IndexOutOfBoundsException">IndexOutOfBoundsException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="IndexOutOfBoundsExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidArgumentException">class <strong>InvalidArgumentException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidArgumentException">InvalidArgumentException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidArgumentException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidArgumentException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidArgumentException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidArgumentException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidArgumentException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidArgumentException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidArgumentException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidArgumentExceptionPtr">class <strong>InvalidArgumentExceptionPtr</strong></a>(<a href="gpstkPython.html#InvalidArgumentException">InvalidArgumentException</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidArgumentExceptionPtr">InvalidArgumentExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#InvalidArgumentException">InvalidArgumentException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#InvalidArgumentException">InvalidArgumentException</a>:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidArgumentException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#InvalidArgumentException">InvalidArgumentException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidArgumentExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidArgumentExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidParameter">class <strong>InvalidParameter</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidParameter">InvalidParameter</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidParameter-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidParameter></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidParameter-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidParameter-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidParameter-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidParameter-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidParameter-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidParameter-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidParameter-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidParameter-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidParameterPtr">class <strong>InvalidParameterPtr</strong></a>(<a href="gpstkPython.html#InvalidParameter">InvalidParameter</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidParameterPtr">InvalidParameterPtr</a></dd>
+<dd><a href="gpstkPython.html#InvalidParameter">InvalidParameter</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidParameterPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#InvalidParameter">InvalidParameter</a>:<br>
+<dl><dt><a name="InvalidParameterPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidParameter></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#InvalidParameter">InvalidParameter</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidParameterPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidParameterPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidParameterPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidParameterPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidParameterPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidParameterPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidRequest">class <strong>InvalidRequest</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidRequest">InvalidRequest</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidRequest-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidRequest></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidRequest-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidRequest-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidRequest-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidRequest-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidRequest-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidRequest-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidRequest-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidRequest-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidRequestPtr">class <strong>InvalidRequestPtr</strong></a>(<a href="gpstkPython.html#InvalidRequest">InvalidRequest</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidRequestPtr">InvalidRequestPtr</a></dd>
+<dd><a href="gpstkPython.html#InvalidRequest">InvalidRequest</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidRequestPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#InvalidRequest">InvalidRequest</a>:<br>
+<dl><dt><a name="InvalidRequestPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidRequest></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#InvalidRequest">InvalidRequest</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidRequestPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidRequestPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidRequestPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidRequestPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidRequestPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidRequestPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidValue">class <strong>InvalidValue</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidValue">InvalidValue</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidValue-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidValue></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidValue-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidValue-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidValue-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidValue-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidValue-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidValue-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValue-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidValue-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidValue-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="InvalidValuePtr">class <strong>InvalidValuePtr</strong></a>(<a href="gpstkPython.html#InvalidValue">InvalidValue</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#InvalidValuePtr">InvalidValuePtr</a></dd>
+<dd><a href="gpstkPython.html#InvalidValue">InvalidValue</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="InvalidValuePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#InvalidValue">InvalidValue</a>:<br>
+<dl><dt><a name="InvalidValuePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_InvalidValue></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#InvalidValue">InvalidValue</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="InvalidValuePtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="InvalidValuePtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="InvalidValuePtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidValuePtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="InvalidValuePtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="InvalidValuePtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="IonoModel">class <strong>IonoModel</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="IonoModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_IonoModel></font>)</dt></dl>
+
+<dl><dt><a name="IonoModel-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="IonoModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="IonoModel-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IonoModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="IonoModel-getCorrection"><strong>getCorrection</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IonoModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>L1</strong> = 0</dl>
+
+<dl><dt><strong>L2</strong> = 1</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'IonoModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="IonoModelPtr">class <strong>IonoModelPtr</strong></a>(<a href="gpstkPython.html#IonoModel">IonoModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#IonoModelPtr">IonoModelPtr</a></dd>
+<dd><a href="gpstkPython.html#IonoModel">IonoModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="IonoModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#IonoModel">IonoModel</a>:<br>
+<dl><dt><a name="IonoModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_IonoModel></font>)</dt></dl>
+
+<dl><dt><a name="IonoModelPtr-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="IonoModelPtr-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IonoModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="IonoModelPtr-getCorrection"><strong>getCorrection</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IonoModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#IonoModel">IonoModel</a>:<br>
+<dl><dt><strong>L1</strong> = 0</dl>
+
+<dl><dt><strong>L2</strong> = 1</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'IonoModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="IonoModelStore">class <strong>IonoModelStore</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="IonoModelStore-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_IonoModelStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="IonoModelStore-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="IonoModelStore-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="IonoModelStore-addIonoModel"><strong>addIonoModel</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IonoModelStore-getCorrection"><strong>getCorrection</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'IonoModelStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="IonoModelStorePtr">class <strong>IonoModelStorePtr</strong></a>(<a href="gpstkPython.html#IonoModelStore">IonoModelStore</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#IonoModelStorePtr">IonoModelStorePtr</a></dd>
+<dd><a href="gpstkPython.html#IonoModelStore">IonoModelStore</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="IonoModelStorePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#IonoModelStore">IonoModelStore</a>:<br>
+<dl><dt><a name="IonoModelStorePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_IonoModelStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="IonoModelStorePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="IonoModelStorePtr-addIonoModel"><strong>addIonoModel</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="IonoModelStorePtr-getCorrection"><strong>getCorrection</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#IonoModelStore">IonoModelStore</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'IonoModelStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="LinearClockModel">class <strong>LinearClockModel</strong></a>(<a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#LinearClockModel">LinearClockModel</a></dd>
+<dd><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="LinearClockModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_LinearClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="LinearClockModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="LinearClockModel-addEpoch"><strong>addEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-reset"><strong>reset</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><a name="LinearClockModel-getElevationMask"><strong>getElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-getPRNMode"><strong>getPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-getPRNModeMap"><strong>getPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-getPRNStatus"><strong>getPRNStatus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-getPRNStatusMap"><strong>getPRNStatusMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-getSigmaMultiplier"><strong>getSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-setElevationMask"><strong>setElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-setPRNMode"><strong>setPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-setPRNModeMap"><strong>setPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-setSigmaMultiplier"><strong>setSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModel-simpleOrdClock"><strong>simpleOrdClock</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><strong>ALWAYS</strong> = 2</dl>
+
+<dl><dt><strong>ELEVATION</strong> = 3</dl>
+
+<dl><dt><strong>HEALTHY</strong> = 1</dl>
+
+<dl><dt><strong>IGNORE</strong> = 0</dl>
+
+<dl><dt><strong>MANUAL</strong> = 1</dl>
+
+<dl><dt><strong>SIGMA</strong> = 4</dl>
+
+<dl><dt><strong>SVHEALTH</strong> = 2</dl>
+
+<dl><dt><strong>USED</strong> = 0</dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="LinearClockModelPtr">class <strong>LinearClockModelPtr</strong></a>(<a href="gpstkPython.html#LinearClockModel">LinearClockModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#LinearClockModelPtr">LinearClockModelPtr</a></dd>
+<dd><a href="gpstkPython.html#LinearClockModel">LinearClockModel</a></dd>
+<dd><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="LinearClockModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#LinearClockModel">LinearClockModel</a>:<br>
+<dl><dt><a name="LinearClockModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_LinearClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-addEpoch"><strong>addEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-reset"><strong>reset</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#LinearClockModel">LinearClockModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><a name="LinearClockModelPtr-getElevationMask"><strong>getElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-getPRNMode"><strong>getPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-getPRNModeMap"><strong>getPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-getPRNStatus"><strong>getPRNStatus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-getPRNStatusMap"><strong>getPRNStatusMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-getSigmaMultiplier"><strong>getSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-setElevationMask"><strong>setElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-setPRNMode"><strong>setPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-setPRNModeMap"><strong>setPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-setSigmaMultiplier"><strong>setSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="LinearClockModelPtr-simpleOrdClock"><strong>simpleOrdClock</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><strong>ALWAYS</strong> = 2</dl>
+
+<dl><dt><strong>ELEVATION</strong> = 3</dl>
+
+<dl><dt><strong>HEALTHY</strong> = 1</dl>
+
+<dl><dt><strong>IGNORE</strong> = 0</dl>
+
+<dl><dt><strong>MANUAL</strong> = 1</dl>
+
+<dl><dt><strong>SIGMA</strong> = 4</dl>
+
+<dl><dt><strong>SVHEALTH</strong> = 2</dl>
+
+<dl><dt><strong>USED</strong> = 0</dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="MSCStream">class <strong>MSCStream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#MSCStream">MSCStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="MSCStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_MSCStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="MSCStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="MSCStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="MSCStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="MSCStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="MSCStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="MSCStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="MSCStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="MSCStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="MSCStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="MSCStreamPtr">class <strong>MSCStreamPtr</strong></a>(<a href="gpstkPython.html#MSCStream">MSCStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#MSCStreamPtr">MSCStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#MSCStream">MSCStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="MSCStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#MSCStream">MSCStream</a>:<br>
+<dl><dt><a name="MSCStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_MSCStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="MSCStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#MSCStream">MSCStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="MSCStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="MSCStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="MSCStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="MSCStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="MSCStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="MSCStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="MSCStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="MSCStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="NBTropModel">class <strong>NBTropModel</strong></a>(<a href="gpstkPython.html#TropModel">TropModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#NBTropModel">NBTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="NBTropModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_NBTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="NBTropModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="NBTropModel-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-setDayOfYear"><strong>setDayOfYear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-setReceiverHeight"><strong>setReceiverHeight</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-setReceiverLatitude"><strong>setReceiverLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModel-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="NBTropModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="NBTropModelPtr">class <strong>NBTropModelPtr</strong></a>(<a href="gpstkPython.html#NBTropModel">NBTropModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#NBTropModelPtr">NBTropModelPtr</a></dd>
+<dd><a href="gpstkPython.html#NBTropModel">NBTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="NBTropModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#NBTropModel">NBTropModel</a>:<br>
+<dl><dt><a name="NBTropModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_NBTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-setDayOfYear"><strong>setDayOfYear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-setReceiverHeight"><strong>setReceiverHeight</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-setReceiverLatitude"><strong>setReceiverLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NBTropModelPtr-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#NBTropModel">NBTropModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="NBTropModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="NoGeoidException">class <strong>NoGeoidException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#NoGeoidException">NoGeoidException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="NoGeoidException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_NoGeoidException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="NoGeoidException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="NoGeoidException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="NoGeoidException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="NoGeoidException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="NoGeoidException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="NoGeoidException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="NoGeoidException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="NoGeoidException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="NoGeoidExceptionPtr">class <strong>NoGeoidExceptionPtr</strong></a>(<a href="gpstkPython.html#NoGeoidException">NoGeoidException</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#NoGeoidExceptionPtr">NoGeoidExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#NoGeoidException">NoGeoidException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#NoGeoidException">NoGeoidException</a>:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_NoGeoidException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#NoGeoidException">NoGeoidException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="NoGeoidExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="NoGeoidExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ORDEpoch">class <strong>ORDEpoch</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ORDEpoch-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ORDEpoch></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ORDEpoch-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ORDEpoch-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ORDEpoch-applyClockModel"><strong>applyClockModel</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ORDEpoch-removeORD"><strong>removeORD</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>clockOffset</strong></dt>
+<dd><dl><dt><a name="ORDEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_clockOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_clockOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ords</strong></dt>
+<dd><dl><dt><a name="ORDEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_ords_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_ords_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="ORDEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>validClock</strong></dt>
+<dd><dl><dt><a name="ORDEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_validClock_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_validClock_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'clockOffset': <built-in function ORDEpoch_clockOffset_get>, 'ords': <built-in function ORDEpoch_ords_get>, 'time': <built-in function ORDEpoch_time_get>, 'validClock': <built-in function ORDEpoch_validClock_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'clockOffset': <built-in function ORDEpoch_clockOffset_set>, 'ords': <built-in function ORDEpoch_ords_set>, 'time': <built-in function ORDEpoch_time_set>, 'validClock': <built-in function ORDEpoch_validClock_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ORDEpoch' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ORDEpochPtr">class <strong>ORDEpochPtr</strong></a>(<a href="gpstkPython.html#ORDEpoch">ORDEpoch</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ORDEpochPtr">ORDEpochPtr</a></dd>
+<dd><a href="gpstkPython.html#ORDEpoch">ORDEpoch</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ORDEpochPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ORDEpoch">ORDEpoch</a>:<br>
+<dl><dt><a name="ORDEpochPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ORDEpoch></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ORDEpochPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ORDEpochPtr-applyClockModel"><strong>applyClockModel</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ORDEpochPtr-removeORD"><strong>removeORD</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#ORDEpoch">ORDEpoch</a>:<br>
+<dl><dt><strong>clockOffset</strong></dt>
+<dd><dl><dt><a name="ORDEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_clockOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_clockOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ords</strong></dt>
+<dd><dl><dt><a name="ORDEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_ords_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_ords_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="ORDEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>validClock</strong></dt>
+<dd><dl><dt><a name="ORDEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ORDEpoch_validClock_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ORDEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ORDEpoch_validClock_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ORDEpoch">ORDEpoch</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'clockOffset': <built-in function ORDEpoch_clockOffset_get>, 'ords': <built-in function ORDEpoch_ords_get>, 'time': <built-in function ORDEpoch_time_get>, 'validClock': <built-in function ORDEpoch_validClock_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'clockOffset': <built-in function ORDEpoch_clockOffset_set>, 'ords': <built-in function ORDEpoch_ords_set>, 'time': <built-in function ORDEpoch_time_set>, 'validClock': <built-in function ORDEpoch_validClock_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ORDEpoch' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObjectNotFound">class <strong>ObjectNotFound</strong></a>(<a href="gpstkPython.html#AccessError">AccessError</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObjectNotFound">ObjectNotFound</a></dd>
+<dd><a href="gpstkPython.html#AccessError">AccessError</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObjectNotFound-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObjectNotFound></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="ObjectNotFound-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="ObjectNotFound-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ObjectNotFound-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ObjectNotFound-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ObjectNotFound-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ObjectNotFound-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObjectNotFoundPtr">class <strong>ObjectNotFoundPtr</strong></a>(<a href="gpstkPython.html#ObjectNotFound">ObjectNotFound</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObjectNotFoundPtr">ObjectNotFoundPtr</a></dd>
+<dd><a href="gpstkPython.html#ObjectNotFound">ObjectNotFound</a></dd>
+<dd><a href="gpstkPython.html#AccessError">AccessError</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObjectNotFoundPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObjectNotFound">ObjectNotFound</a>:<br>
+<dl><dt><a name="ObjectNotFoundPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObjectNotFound></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObjectNotFound">ObjectNotFound</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="ObjectNotFoundPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="ObjectNotFoundPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ObjectNotFoundPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ObjectNotFoundPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ObjectNotFoundPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ObjectNotFoundPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObsClockModel">class <strong>ObsClockModel</strong></a>(<a href="gpstkPython.html#ClockModel">ClockModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObsClockModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObsClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObsClockModel-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObsClockModel-addEpoch"><strong>addEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-getElevationMask"><strong>getElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-getPRNMode"><strong>getPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-getPRNModeMap"><strong>getPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-getPRNStatus"><strong>getPRNStatus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-getPRNStatusMap"><strong>getPRNStatusMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-getSigmaMultiplier"><strong>getSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-setElevationMask"><strong>setElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-setPRNMode"><strong>setPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-setPRNModeMap"><strong>setPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-setSigmaMultiplier"><strong>setSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-simpleOrdClock"><strong>simpleOrdClock</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>ALWAYS</strong> = 2</dl>
+
+<dl><dt><strong>ELEVATION</strong> = 3</dl>
+
+<dl><dt><strong>HEALTHY</strong> = 1</dl>
+
+<dl><dt><strong>IGNORE</strong> = 0</dl>
+
+<dl><dt><strong>MANUAL</strong> = 1</dl>
+
+<dl><dt><strong>SIGMA</strong> = 4</dl>
+
+<dl><dt><strong>SVHEALTH</strong> = 2</dl>
+
+<dl><dt><strong>USED</strong> = 0</dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><a name="ObsClockModel-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModel-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObsClockModelPtr">class <strong>ObsClockModelPtr</strong></a>(<a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObsClockModelPtr">ObsClockModelPtr</a></dd>
+<dd><a href="gpstkPython.html#ObsClockModel">ObsClockModel</a></dd>
+<dd><a href="gpstkPython.html#ClockModel">ClockModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObsClockModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><a name="ObsClockModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObsClockModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-addEpoch"><strong>addEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-getElevationMask"><strong>getElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-getPRNMode"><strong>getPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-getPRNModeMap"><strong>getPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-getPRNStatus"><strong>getPRNStatus</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-getPRNStatusMap"><strong>getPRNStatusMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-getSigmaMultiplier"><strong>getSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-setElevationMask"><strong>setElevationMask</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-setPRNMode"><strong>setPRNMode</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-setPRNModeMap"><strong>setPRNModeMap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-setSigmaMultiplier"><strong>setSigmaMultiplier</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-simpleOrdClock"><strong>simpleOrdClock</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsClockModel">ObsClockModel</a>:<br>
+<dl><dt><strong>ALWAYS</strong> = 2</dl>
+
+<dl><dt><strong>ELEVATION</strong> = 3</dl>
+
+<dl><dt><strong>HEALTHY</strong> = 1</dl>
+
+<dl><dt><strong>IGNORE</strong> = 0</dl>
+
+<dl><dt><strong>MANUAL</strong> = 1</dl>
+
+<dl><dt><strong>SIGMA</strong> = 4</dl>
+
+<dl><dt><strong>SVHEALTH</strong> = 2</dl>
+
+<dl><dt><strong>USED</strong> = 0</dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><a name="ObsClockModelPtr-getOffset"><strong>getOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsClockModelPtr-isOffsetValid"><strong>isOffsetValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ClockModel">ClockModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ClockModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObsEpoch">class <strong>ObsEpoch</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ObsEpoch-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObsEpoch></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObsEpoch-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ObsEpoch-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObsEpoch-insertObservation"><strong>insertObservation</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>dt</strong></dt>
+<dd><dl><dt><a name="ObsEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ObsEpoch_dt_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObsEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ObsEpoch_dt_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="ObsEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ObsEpoch_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObsEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ObsEpoch_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>t</strong></dt>
+<dd><dl><dt><a name="ObsEpoch-<em>get</em>"><strong><em>get</em></strong></a> = ObsEpoch_t_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObsEpoch-<em>set</em>"><strong><em>set</em></strong></a> = ObsEpoch_t_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'dt': <built-in function ObsEpoch_dt_get>, 'obs': <built-in function ObsEpoch_obs_get>, 't': <built-in function ObsEpoch_t_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'dt': <built-in function ObsEpoch_dt_set>, 'obs': <built-in function ObsEpoch_obs_set>, 't': <built-in function ObsEpoch_t_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ObsEpoch' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObsEpochPtr">class <strong>ObsEpochPtr</strong></a>(<a href="gpstkPython.html#ObsEpoch">ObsEpoch</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObsEpochPtr">ObsEpochPtr</a></dd>
+<dd><a href="gpstkPython.html#ObsEpoch">ObsEpoch</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObsEpochPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsEpoch">ObsEpoch</a>:<br>
+<dl><dt><a name="ObsEpochPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObsEpoch></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObsEpochPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObsEpochPtr-insertObservation"><strong>insertObservation</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#ObsEpoch">ObsEpoch</a>:<br>
+<dl><dt><strong>dt</strong></dt>
+<dd><dl><dt><a name="ObsEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObsEpoch_dt_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObsEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObsEpoch_dt_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="ObsEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObsEpoch_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObsEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObsEpoch_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>t</strong></dt>
+<dd><dl><dt><a name="ObsEpochPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObsEpoch_t_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObsEpochPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObsEpoch_t_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsEpoch">ObsEpoch</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'dt': <built-in function ObsEpoch_dt_get>, 'obs': <built-in function ObsEpoch_obs_get>, 't': <built-in function ObsEpoch_t_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'dt': <built-in function ObsEpoch_dt_set>, 'obs': <built-in function ObsEpoch_obs_set>, 't': <built-in function ObsEpoch_t_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ObsEpoch' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObsRngDev">class <strong>ObsRngDev</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ObsRngDev-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObsRngDev></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObsRngDev-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObsRngDev-applyClockOffset"><strong>applyClockOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getAzimuth"><strong>getAzimuth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getElevation"><strong>getElevation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getHealth"><strong>getHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getIODC"><strong>getIODC</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getIono"><strong>getIono</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getORD"><strong>getORD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getPRN"><strong>getPRN</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getTime"><strong>getTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDev-getTrop"><strong>getTrop</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ObsRngDev' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObsRngDevPtr">class <strong>ObsRngDevPtr</strong></a>(<a href="gpstkPython.html#ObsRngDev">ObsRngDev</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObsRngDevPtr">ObsRngDevPtr</a></dd>
+<dd><a href="gpstkPython.html#ObsRngDev">ObsRngDev</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObsRngDevPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObsRngDev">ObsRngDev</a>:<br>
+<dl><dt><a name="ObsRngDevPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObsRngDev></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-applyClockOffset"><strong>applyClockOffset</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getAzimuth"><strong>getAzimuth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getElevation"><strong>getElevation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getHealth"><strong>getHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getIODC"><strong>getIODC</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getIono"><strong>getIono</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getORD"><strong>getORD</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getPRN"><strong>getPRN</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getTime"><strong>getTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ObsRngDevPtr-getTrop"><strong>getTrop</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObsRngDev">ObsRngDev</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ObsRngDev' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="Observation">class <strong>Observation</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Observation-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Observation></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="Observation-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Observation-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>SNR</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_SNR_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_SNR_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>carrier</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_carrier_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_carrier_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>channel</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_channel_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_channel_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>code</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_code_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_code_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>doppler</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_doppler_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_doppler_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>phase</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_phase_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_phase_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>range</strong></dt>
+<dd><dl><dt><a name="Observation-<em>get</em>"><strong><em>get</em></strong></a> = Observation_range_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Observation-<em>set</em>"><strong><em>set</em></strong></a> = Observation_range_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'SNR': <built-in function Observation_SNR_get>, 'carrier': <built-in function Observation_carrier_get>, 'channel': <built-in function Observation_channel_get>, 'code': <built-in function Observation_code_get>, 'doppler': <built-in function Observation_doppler_get>, 'phase': <built-in function Observation_phase_get>, 'range': <built-in function Observation_range_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'SNR': <built-in function Observation_SNR_set>, 'carrier': <built-in function Observation_carrier_set>, 'channel': <built-in function Observation_channel_set>, 'code': <built-in function Observation_code_set>, 'doppler': <built-in function Observation_doppler_set>, 'phase': <built-in function Observation_phase_set>, 'range': <built-in function Observation_range_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Observation' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>cfL1</strong> = 0</dl>
+
+<dl><dt><strong>cfL2</strong> = 1</dl>
+
+<dl><dt><strong>cfL5</strong> = 2</dl>
+
+<dl><dt><strong>cfOther</strong> = 3</dl>
+
+<dl><dt><strong>rcCA</strong> = 0</dl>
+
+<dl><dt><strong>rcOther</strong> = 4</dl>
+
+<dl><dt><strong>rcPY</strong> = 1</dl>
+
+<dl><dt><strong>rcRC</strong> = 3</dl>
+
+<dl><dt><strong>rcZ</strong> = 2</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObservationPlus">class <strong>ObservationPlus</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ObservationPlus-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObservationPlus></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObservationPlus-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ObservationPlus-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="ObservationPlus-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlus-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rxId</strong></dt>
+<dd><dl><dt><a name="ObservationPlus-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_rxId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlus-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_rxId_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svId</strong></dt>
+<dd><dl><dt><a name="ObservationPlus-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_svId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlus-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_svId_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="ObservationPlus-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlus-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_time_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'obs': <built-in function ObservationPlus_obs_get>, 'rxId': <built-in function ObservationPlus_rxId_get>, 'svId': <built-in function ObservationPlus_svId_get>, 'time': <built-in function ObservationPlus_time_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'obs': <built-in function ObservationPlus_obs_set>, 'rxId': <built-in function ObservationPlus_rxId_set>, 'svId': <built-in function ObservationPlus_svId_set>, 'time': <built-in function ObservationPlus_time_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ObservationPlus' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObservationPlusPtr">class <strong>ObservationPlusPtr</strong></a>(<a href="gpstkPython.html#ObservationPlus">ObservationPlus</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObservationPlusPtr">ObservationPlusPtr</a></dd>
+<dd><a href="gpstkPython.html#ObservationPlus">ObservationPlus</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObservationPlusPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ObservationPlus">ObservationPlus</a>:<br>
+<dl><dt><a name="ObservationPlusPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ObservationPlus></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObservationPlusPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#ObservationPlus">ObservationPlus</a>:<br>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rxId</strong></dt>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_rxId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_rxId_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svId</strong></dt>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_svId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_svId_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>get</em>"><strong><em>get</em></strong></a> = ObservationPlus_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPlusPtr-<em>set</em>"><strong><em>set</em></strong></a> = ObservationPlus_time_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ObservationPlus">ObservationPlus</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'obs': <built-in function ObservationPlus_obs_get>, 'rxId': <built-in function ObservationPlus_rxId_get>, 'svId': <built-in function ObservationPlus_svId_get>, 'time': <built-in function ObservationPlus_time_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'obs': <built-in function ObservationPlus_obs_set>, 'rxId': <built-in function ObservationPlus_rxId_set>, 'svId': <built-in function ObservationPlus_svId_set>, 'time': <built-in function ObservationPlus_time_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ObservationPlus' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ObservationPtr">class <strong>ObservationPtr</strong></a>(<a href="gpstkPython.html#Observation">Observation</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ObservationPtr">ObservationPtr</a></dd>
+<dd><a href="gpstkPython.html#Observation">Observation</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ObservationPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Observation">Observation</a>:<br>
+<dl><dt><a name="ObservationPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Observation></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ObservationPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Observation">Observation</a>:<br>
+<dl><dt><strong>SNR</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_SNR_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_SNR_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>carrier</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_carrier_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_carrier_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>channel</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_channel_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_channel_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>code</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_code_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_code_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>doppler</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_doppler_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_doppler_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>phase</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_phase_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_phase_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>range</strong></dt>
+<dd><dl><dt><a name="ObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = Observation_range_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="ObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = Observation_range_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Observation">Observation</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'SNR': <built-in function Observation_SNR_get>, 'carrier': <built-in function Observation_carrier_get>, 'channel': <built-in function Observation_channel_get>, 'code': <built-in function Observation_code_get>, 'doppler': <built-in function Observation_doppler_get>, 'phase': <built-in function Observation_phase_get>, 'range': <built-in function Observation_range_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'SNR': <built-in function Observation_SNR_set>, 'carrier': <built-in function Observation_carrier_set>, 'channel': <built-in function Observation_channel_set>, 'code': <built-in function Observation_code_set>, 'doppler': <built-in function Observation_doppler_set>, 'phase': <built-in function Observation_phase_set>, 'range': <built-in function Observation_range_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Observation' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>cfL1</strong> = 0</dl>
+
+<dl><dt><strong>cfL2</strong> = 1</dl>
+
+<dl><dt><strong>cfL5</strong> = 2</dl>
+
+<dl><dt><strong>cfOther</strong> = 3</dl>
+
+<dl><dt><strong>rcCA</strong> = 0</dl>
+
+<dl><dt><strong>rcOther</strong> = 4</dl>
+
+<dl><dt><strong>rcPY</strong> = 1</dl>
+
+<dl><dt><strong>rcRC</strong> = 3</dl>
+
+<dl><dt><strong>rcZ</strong> = 2</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="OutOfMemory">class <strong>OutOfMemory</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#OutOfMemory">OutOfMemory</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="OutOfMemory-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_OutOfMemory></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="OutOfMemory-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="OutOfMemory-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="OutOfMemory-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="OutOfMemory-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="OutOfMemory-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="OutOfMemory-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="OutOfMemory-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="OutOfMemory-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="OutOfMemoryPtr">class <strong>OutOfMemoryPtr</strong></a>(<a href="gpstkPython.html#OutOfMemory">OutOfMemory</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#OutOfMemoryPtr">OutOfMemoryPtr</a></dd>
+<dd><a href="gpstkPython.html#OutOfMemory">OutOfMemory</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="OutOfMemoryPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#OutOfMemory">OutOfMemory</a>:<br>
+<dl><dt><a name="OutOfMemoryPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_OutOfMemory></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#OutOfMemory">OutOfMemory</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="OutOfMemoryPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="OutOfMemoryPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="OutOfMemoryPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="OutOfMemoryPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="OutOfMemoryPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="OutOfMemoryPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="Position">class <strong>Position</strong></a>(<a href="gpstkPython.html#Triple">Triple</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#Position">Position</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="Position-X"><strong>X</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-Y"><strong>Y</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-Z"><strong>Z</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Position></font>)</dt></dl>
+
+<dl><dt><a name="Position-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="Position-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Position-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="Position-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-asECEF"><strong>asECEF</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-asGeodetic"><strong>asGeodetic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-asString"><strong>asString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-azimuth"><strong>azimuth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-elevation"><strong>elevation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-geocentricLatitude"><strong>geocentricLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-geodeticLatitude"><strong>geodeticLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getAltitude"><strong>getAltitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getCoordinateSystem"><strong>getCoordinateSystem</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getGeocentricLatitude"><strong>getGeocentricLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getGeodeticLatitude"><strong>getGeodeticLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getHeight"><strong>getHeight</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getIonosphericPiercePoint"><strong>getIonosphericPiercePoint</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getLongitude"><strong>getLongitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getPhi"><strong>getPhi</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getRadius"><strong>getRadius</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getSystemName"><strong>getSystemName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getTheta"><strong>getTheta</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getX"><strong>getX</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getY"><strong>getY</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-getZ"><strong>getZ</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-height"><strong>height</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-longitude"><strong>longitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-phi"><strong>phi</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-printf"><strong>printf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-printf_const"><strong>printf_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-radius"><strong>radius</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-radiusEarth"><strong>radiusEarth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setECEF"><strong>setECEF</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setGeocentric"><strong>setGeocentric</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setGeodetic"><strong>setGeodetic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setGeoidModel"><strong>setGeoidModel</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setSpherical"><strong>setSpherical</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setToString"><strong>setToString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-setTolerance"><strong>setTolerance</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-theta"><strong>theta</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-transformTo"><strong>transformTo</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="Position-convertCartesianToGeocentric"><strong>convertCartesianToGeocentric</strong></a> = Position_convertCartesianToGeocentric(...)</dt></dl>
+
+<dl><dt><a name="Position-convertCartesianToGeodetic"><strong>convertCartesianToGeodetic</strong></a> = Position_convertCartesianToGeodetic(...)</dt></dl>
+
+<dl><dt><a name="Position-convertCartesianToSpherical"><strong>convertCartesianToSpherical</strong></a> = Position_convertCartesianToSpherical(...)</dt></dl>
+
+<dl><dt><a name="Position-convertGeocentricToCartesian"><strong>convertGeocentricToCartesian</strong></a> = Position_convertGeocentricToCartesian(...)</dt></dl>
+
+<dl><dt><a name="Position-convertGeocentricToGeodetic"><strong>convertGeocentricToGeodetic</strong></a> = Position_convertGeocentricToGeodetic(...)</dt></dl>
+
+<dl><dt><a name="Position-convertGeodeticToCartesian"><strong>convertGeodeticToCartesian</strong></a> = Position_convertGeodeticToCartesian(...)</dt></dl>
+
+<dl><dt><a name="Position-convertGeodeticToGeocentric"><strong>convertGeodeticToGeocentric</strong></a> = Position_convertGeodeticToGeocentric(...)</dt></dl>
+
+<dl><dt><a name="Position-convertSphericalToCartesian"><strong>convertSphericalToCartesian</strong></a> = Position_convertSphericalToCartesian(...)</dt></dl>
+
+<dl><dt><a name="Position-getPositionTolerance"><strong>getPositionTolerance</strong></a> = Position_getPositionTolerance(...)</dt></dl>
+
+<dl><dt><a name="Position-setPositionTolerance"><strong>setPositionTolerance</strong></a> = Position_setPositionTolerance(...)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>Cartesian</strong> = 3</dl>
+
+<dl><dt><strong>Geocentric</strong> = 2</dl>
+
+<dl><dt><strong>Geodetic</strong> = 1</dl>
+
+<dl><dt><strong>ONE_CM_TOLERANCE</strong> = 0.01</dl>
+
+<dl><dt><strong>ONE_MM_TOLERANCE</strong> = 0.001</dl>
+
+<dl><dt><strong>ONE_UM_TOLERANCE</strong> = 9.9999999999999995e-07</dl>
+
+<dl><dt><strong>Spherical</strong> = 4</dl>
+
+<dl><dt><strong>Unknown</strong> = 0</dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'convertCartesianToGeocentric': <function <lambda>>, 'convertCartesianToGeodetic': <function <lambda>>, 'convertCartesianToSpherical': <function <lambda>>, 'convertGeocentricToCartesian': <function <lambda>>, 'convertGeocentricToGeodetic': <function <lambda>>, 'convertGeodeticToCartesian': <function <lambda>>, 'convertGeodeticToGeocentric': <function <lambda>&g [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="Position-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Position-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="Position-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Position-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="PositionPtr">class <strong>PositionPtr</strong></a>(<a href="gpstkPython.html#Position">Position</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#PositionPtr">PositionPtr</a></dd>
+<dd><a href="gpstkPython.html#Position">Position</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="PositionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Position">Position</a>:<br>
+<dl><dt><a name="PositionPtr-X"><strong>X</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-Y"><strong>Y</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-Z"><strong>Z</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Position></font>)</dt></dl>
+
+<dl><dt><a name="PositionPtr-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="PositionPtr-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="PositionPtr-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-asECEF"><strong>asECEF</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-asGeodetic"><strong>asGeodetic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-asString"><strong>asString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-azimuth"><strong>azimuth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-elevation"><strong>elevation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-geocentricLatitude"><strong>geocentricLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-geodeticLatitude"><strong>geodeticLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getAltitude"><strong>getAltitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getCoordinateSystem"><strong>getCoordinateSystem</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getGeocentricLatitude"><strong>getGeocentricLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getGeodeticLatitude"><strong>getGeodeticLatitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getHeight"><strong>getHeight</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getIonosphericPiercePoint"><strong>getIonosphericPiercePoint</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getLongitude"><strong>getLongitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getPhi"><strong>getPhi</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getRadius"><strong>getRadius</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getSystemName"><strong>getSystemName</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getTheta"><strong>getTheta</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getX"><strong>getX</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getY"><strong>getY</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getZ"><strong>getZ</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-height"><strong>height</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-longitude"><strong>longitude</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-phi"><strong>phi</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-printf"><strong>printf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-printf_const"><strong>printf_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-radius"><strong>radius</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-radiusEarth"><strong>radiusEarth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setECEF"><strong>setECEF</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setGeocentric"><strong>setGeocentric</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setGeodetic"><strong>setGeodetic</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setGeoidModel"><strong>setGeoidModel</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setSpherical"><strong>setSpherical</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setToString"><strong>setToString</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setTolerance"><strong>setTolerance</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-theta"><strong>theta</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-transformTo"><strong>transformTo</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#Position">Position</a>:<br>
+<dl><dt><a name="PositionPtr-convertCartesianToGeocentric"><strong>convertCartesianToGeocentric</strong></a> = Position_convertCartesianToGeocentric(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertCartesianToGeodetic"><strong>convertCartesianToGeodetic</strong></a> = Position_convertCartesianToGeodetic(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertCartesianToSpherical"><strong>convertCartesianToSpherical</strong></a> = Position_convertCartesianToSpherical(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertGeocentricToCartesian"><strong>convertGeocentricToCartesian</strong></a> = Position_convertGeocentricToCartesian(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertGeocentricToGeodetic"><strong>convertGeocentricToGeodetic</strong></a> = Position_convertGeocentricToGeodetic(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertGeodeticToCartesian"><strong>convertGeodeticToCartesian</strong></a> = Position_convertGeodeticToCartesian(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertGeodeticToGeocentric"><strong>convertGeodeticToGeocentric</strong></a> = Position_convertGeodeticToGeocentric(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-convertSphericalToCartesian"><strong>convertSphericalToCartesian</strong></a> = Position_convertSphericalToCartesian(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-getPositionTolerance"><strong>getPositionTolerance</strong></a> = Position_getPositionTolerance(...)</dt></dl>
+
+<dl><dt><a name="PositionPtr-setPositionTolerance"><strong>setPositionTolerance</strong></a> = Position_setPositionTolerance(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Position">Position</a>:<br>
+<dl><dt><strong>Cartesian</strong> = 3</dl>
+
+<dl><dt><strong>Geocentric</strong> = 2</dl>
+
+<dl><dt><strong>Geodetic</strong> = 1</dl>
+
+<dl><dt><strong>ONE_CM_TOLERANCE</strong> = 0.01</dl>
+
+<dl><dt><strong>ONE_MM_TOLERANCE</strong> = 0.001</dl>
+
+<dl><dt><strong>ONE_UM_TOLERANCE</strong> = 9.9999999999999995e-07</dl>
+
+<dl><dt><strong>Spherical</strong> = 4</dl>
+
+<dl><dt><strong>Unknown</strong> = 0</dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'convertCartesianToGeocentric': <function <lambda>>, 'convertCartesianToGeodetic': <function <lambda>>, 'convertCartesianToSpherical': <function <lambda>>, 'convertGeocentricToCartesian': <function <lambda>>, 'convertGeocentricToGeodetic': <function <lambda>>, 'convertGeodeticToCartesian': <function <lambda>>, 'convertGeodeticToGeocentric': <function <lambda>&g [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="PositionPtr-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="PositionPtr-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="PositionPtr-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="PositionPtr-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RAIMSolution">class <strong>RAIMSolution</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RAIMSolution-Compute"><strong>Compute</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RAIMSolution-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RAIMSolution></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RAIMSolution-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RAIMSolution-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RAIMSolution-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>Algebraic</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Algebraic_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Algebraic_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Convergence</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Convergence_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Convergence_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ConvergenceLimit</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_ConvergenceLimit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_ConvergenceLimit_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Covariance</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Covariance_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Covariance_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Debug</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Debug_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Debug_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>MaxNIterations</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_MaxNIterations_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_MaxNIterations_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>MaxSlope</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_MaxSlope_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_MaxSlope_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>NIterations</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_NIterations_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_NIterations_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>NSatsReject</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_NSatsReject_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_NSatsReject_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Nsvs</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Nsvs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Nsvs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>RMSLimit</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_RMSLimit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_RMSLimit_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>RMSResidual</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_RMSResidual_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_RMSResidual_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ResidualCriterion</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_ResidualCriterion_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_ResidualCriterion_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ReturnAtOnce</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_ReturnAtOnce_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_ReturnAtOnce_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>SlopeLimit</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_SlopeLimit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_SlopeLimit_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Solution</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Solution_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Solution_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Valid</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pDebugStream</strong></dt>
+<dd><dl><dt><a name="RAIMSolution-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_pDebugStream_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolution-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_pDebugStream_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'Algebraic': <built-in function RAIMSolution_Algebraic_get>, 'Convergence': <built-in function RAIMSolution_Convergence_get>, 'ConvergenceLimit': <built-in function RAIMSolution_ConvergenceLimit_get>, 'Covariance': <built-in function RAIMSolution_Covariance_get>, 'Debug': <built-in function RAIMSolution_Debug_get>, 'MaxNIterations': <built-in function RAIMSolution_MaxNIterations_get>, 'MaxSlope': <buil [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'Algebraic': <built-in function RAIMSolution_Algebraic_set>, 'Convergence': <built-in function RAIMSolution_Convergence_set>, 'ConvergenceLimit': <built-in function RAIMSolution_ConvergenceLimit_set>, 'Covariance': <built-in function RAIMSolution_Covariance_set>, 'Debug': <built-in function RAIMSolution_Debug_set>, 'MaxNIterations': <built-in function RAIMSolution_MaxNIterations_set>, 'MaxSlope': <buil [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RAIMSolution' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RAIMSolutionPtr">class <strong>RAIMSolutionPtr</strong></a>(<a href="gpstkPython.html#RAIMSolution">RAIMSolution</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RAIMSolutionPtr">RAIMSolutionPtr</a></dd>
+<dd><a href="gpstkPython.html#RAIMSolution">RAIMSolution</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RAIMSolutionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RAIMSolution">RAIMSolution</a>:<br>
+<dl><dt><a name="RAIMSolutionPtr-Compute"><strong>Compute</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RAIMSolutionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RAIMSolution></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RAIMSolutionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RAIMSolutionPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RAIMSolution">RAIMSolution</a>:<br>
+<dl><dt><strong>Algebraic</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Algebraic_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Algebraic_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Convergence</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Convergence_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Convergence_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ConvergenceLimit</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_ConvergenceLimit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_ConvergenceLimit_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Covariance</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Covariance_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Covariance_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Debug</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Debug_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Debug_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>MaxNIterations</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_MaxNIterations_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_MaxNIterations_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>MaxSlope</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_MaxSlope_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_MaxSlope_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>NIterations</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_NIterations_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_NIterations_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>NSatsReject</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_NSatsReject_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_NSatsReject_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Nsvs</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Nsvs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Nsvs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>RMSLimit</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_RMSLimit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_RMSLimit_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>RMSResidual</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_RMSResidual_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_RMSResidual_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ResidualCriterion</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_ResidualCriterion_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_ResidualCriterion_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ReturnAtOnce</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_ReturnAtOnce_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_ReturnAtOnce_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>SlopeLimit</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_SlopeLimit_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_SlopeLimit_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Solution</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Solution_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Solution_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Valid</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_Valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_Valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pDebugStream</strong></dt>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>get</em>"><strong><em>get</em></strong></a> = RAIMSolution_pDebugStream_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RAIMSolutionPtr-<em>set</em>"><strong><em>set</em></strong></a> = RAIMSolution_pDebugStream_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RAIMSolution">RAIMSolution</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'Algebraic': <built-in function RAIMSolution_Algebraic_get>, 'Convergence': <built-in function RAIMSolution_Convergence_get>, 'ConvergenceLimit': <built-in function RAIMSolution_ConvergenceLimit_get>, 'Covariance': <built-in function RAIMSolution_Covariance_get>, 'Debug': <built-in function RAIMSolution_Debug_get>, 'MaxNIterations': <built-in function RAIMSolution_MaxNIterations_get>, 'MaxSlope': <buil [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'Algebraic': <built-in function RAIMSolution_Algebraic_set>, 'Convergence': <built-in function RAIMSolution_Convergence_set>, 'ConvergenceLimit': <built-in function RAIMSolution_ConvergenceLimit_set>, 'Covariance': <built-in function RAIMSolution_Covariance_set>, 'Debug': <built-in function RAIMSolution_Debug_set>, 'MaxNIterations': <built-in function RAIMSolution_MaxNIterations_set>, 'MaxSlope': <buil [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RAIMSolution' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexDatum">class <strong>RinexDatum</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexDatum-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexDatum></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexDatum-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexDatum-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>data</strong></dt>
+<dd><dl><dt><a name="RinexDatum-<em>get</em>"><strong><em>get</em></strong></a> = RinexDatum_data_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexDatum-<em>set</em>"><strong><em>set</em></strong></a> = RinexDatum_data_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lli</strong></dt>
+<dd><dl><dt><a name="RinexDatum-<em>get</em>"><strong><em>get</em></strong></a> = RinexDatum_lli_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexDatum-<em>set</em>"><strong><em>set</em></strong></a> = RinexDatum_lli_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ssi</strong></dt>
+<dd><dl><dt><a name="RinexDatum-<em>get</em>"><strong><em>get</em></strong></a> = RinexDatum_ssi_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexDatum-<em>set</em>"><strong><em>set</em></strong></a> = RinexDatum_ssi_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'data': <built-in function RinexDatum_data_get>, 'lli': <built-in function RinexDatum_lli_get>, 'ssi': <built-in function RinexDatum_ssi_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'data': <built-in function RinexDatum_data_set>, 'lli': <built-in function RinexDatum_lli_set>, 'ssi': <built-in function RinexDatum_ssi_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexDatum' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexDatumPtr">class <strong>RinexDatumPtr</strong></a>(<a href="gpstkPython.html#RinexDatum">RinexDatum</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexDatumPtr">RinexDatumPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexDatum">RinexDatum</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexDatumPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexDatum">RinexDatum</a>:<br>
+<dl><dt><a name="RinexDatumPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexDatum></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexDatumPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexDatum">RinexDatum</a>:<br>
+<dl><dt><strong>data</strong></dt>
+<dd><dl><dt><a name="RinexDatumPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexDatum_data_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexDatumPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexDatum_data_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lli</strong></dt>
+<dd><dl><dt><a name="RinexDatumPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexDatum_lli_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexDatumPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexDatum_lli_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ssi</strong></dt>
+<dd><dl><dt><a name="RinexDatumPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexDatum_ssi_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexDatumPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexDatum_ssi_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexDatum">RinexDatum</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'data': <built-in function RinexDatum_data_get>, 'lli': <built-in function RinexDatum_lli_get>, 'ssi': <built-in function RinexDatum_ssi_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'data': <built-in function RinexDatum_data_set>, 'lli': <built-in function RinexDatum_lli_set>, 'ssi': <built-in function RinexDatum_ssi_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexDatum' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexEphemerisStore">class <strong>RinexEphemerisStore</strong></a>(<a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>, <a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexEphemerisStore">RinexEphemerisStore</a></dd>
+<dd><a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a></dd>
+<dd><a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexEphemerisStore-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexEphemerisStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>:<br>
+<dl><dt><a name="RinexEphemerisStore-SearchNear"><strong>SearchNear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-SearchPast"><strong>SearchPast</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-addEphemeris"><strong>addEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-addToList"><strong>addToList</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-edit"><strong>edit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-findEphemeris"><strong>findEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-findNearEphemeris"><strong>findNearEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-findUserEphemeris"><strong>findUserEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-getFinalTime"><strong>getFinalTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-getInitialTime"><strong>getInitialTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-getPrnHealth"><strong>getPrnHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-getPrnXvt"><strong>getPrnXvt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-ubeSize"><strong>ubeSize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-wiper"><strong>wiper</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'BCEphemerisStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>:<br>
+<dl><dt><a name="RinexEphemerisStore-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStore-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexEphemerisStorePtr">class <strong>RinexEphemerisStorePtr</strong></a>(<a href="gpstkPython.html#RinexEphemerisStore">RinexEphemerisStore</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexEphemerisStorePtr">RinexEphemerisStorePtr</a></dd>
+<dd><a href="gpstkPython.html#RinexEphemerisStore">RinexEphemerisStore</a></dd>
+<dd><a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a></dd>
+<dd><a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexEphemerisStorePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexEphemerisStore">RinexEphemerisStore</a>:<br>
+<dl><dt><a name="RinexEphemerisStorePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexEphemerisStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexEphemerisStore">RinexEphemerisStore</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>:<br>
+<dl><dt><a name="RinexEphemerisStorePtr-SearchNear"><strong>SearchNear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-SearchPast"><strong>SearchPast</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-addEphemeris"><strong>addEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-addToList"><strong>addToList</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-edit"><strong>edit</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-findEphemeris"><strong>findEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-findNearEphemeris"><strong>findNearEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-findUserEphemeris"><strong>findUserEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-getFinalTime"><strong>getFinalTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-getInitialTime"><strong>getInitialTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-getPrnHealth"><strong>getPrnHealth</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-getPrnXvt"><strong>getPrnXvt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-ubeSize"><strong>ubeSize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-wiper"><strong>wiper</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#BCEphemerisStore">BCEphemerisStore</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'BCEphemerisStore' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileStore_RinexNavHeader">FileStore_RinexNavHeader</a>:<br>
+<dl><dt><a name="RinexEphemerisStorePtr-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexEphemerisStorePtr-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexMetData">class <strong>RinexMetData</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexMetData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexMetData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexMetData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexMetData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexMetData-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexMetData-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>data</strong></dt>
+<dd><dl><dt><a name="RinexMetData-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetData_data_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetData-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetData_data_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="RinexMetData-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetData_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetData-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetData_time_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'data': <built-in function RinexMetData_data_get>, 'time': <built-in function RinexMetData_time_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'data': <built-in function RinexMetData_data_set>, 'time': <built-in function RinexMetData_time_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexMetData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>maxObsPerContinuationLine</strong> = 10</dl>
+
+<dl><dt><strong>maxObsPerLine</strong> = 8</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexMetDataPtr">class <strong>RinexMetDataPtr</strong></a>(<a href="gpstkPython.html#RinexMetData">RinexMetData</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexMetDataPtr">RinexMetDataPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexMetData">RinexMetData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexMetDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexMetData">RinexMetData</a>:<br>
+<dl><dt><a name="RinexMetDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexMetData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexMetDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexMetDataPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexMetDataPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexMetData">RinexMetData</a>:<br>
+<dl><dt><strong>data</strong></dt>
+<dd><dl><dt><a name="RinexMetDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetData_data_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetData_data_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="RinexMetDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetData_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetData_time_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexMetData">RinexMetData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'data': <built-in function RinexMetData_data_get>, 'time': <built-in function RinexMetData_time_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'data': <built-in function RinexMetData_data_set>, 'time': <built-in function RinexMetData_time_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexMetData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>maxObsPerContinuationLine</strong> = 10</dl>
+
+<dl><dt><strong>maxObsPerLine</strong> = 8</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexMetHeader">class <strong>RinexMetHeader</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexMetHeader-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexMetHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexMetHeader-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexMetHeader-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexMetHeader-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexMetHeader-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="RinexMetHeader-bitString"><strong>bitString</strong></a> = RinexMetHeader_bitString(...)</dt></dl>
+
+<dl><dt><a name="RinexMetHeader-bitsAsString"><strong>bitsAsString</strong></a> = RinexMetHeader_bitsAsString(...)</dt></dl>
+
+<dl><dt><a name="RinexMetHeader-convertObsType"><strong>convertObsType</strong></a> = RinexMetHeader_convertObsType(...)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>commentList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_commentList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_commentList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>date</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_date_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_date_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileAgency</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_fileAgency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_fileAgency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileProgram</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_fileProgram_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_fileProgram_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileType</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_fileType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_fileType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerName</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_markerName_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_markerName_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerNumber</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_markerNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_markerNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsTypeList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_obsTypeList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_obsTypeList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>sensorPosList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_sensorPosList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_sensorPosList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>sensorTypeList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_sensorTypeList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_sensorTypeList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>valid</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="RinexMetHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_version_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>HR</strong> = 2</dl>
+
+<dl><dt><strong>PR</strong> = 0</dl>
+
+<dl><dt><strong>TD</strong> = 1</dl>
+
+<dl><dt><strong>ZD</strong> = 4</dl>
+
+<dl><dt><strong>ZT</strong> = 5</dl>
+
+<dl><dt><strong>ZW</strong> = 3</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'bitString': <function <lambda>>, 'bitsAsString': <function <lambda>>, 'commentList': <built-in function RinexMetHeader_commentList_get>, 'convertObsType': <function <lambda>>, 'date': <built-in function RinexMetHeader_date_get>, 'fileAgency': <built-in function RinexMetHeader_fileAgency_get>, 'fileProgram': <built-in function RinexMetHeader_fileProgram_get>, 'fileType': <built- [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'commentList': <built-in function RinexMetHeader_commentList_set>, 'date': <built-in function RinexMetHeader_date_set>, 'fileAgency': <built-in function RinexMetHeader_fileAgency_set>, 'fileProgram': <built-in function RinexMetHeader_fileProgram_set>, 'fileType': <built-in function RinexMetHeader_fileType_set>, 'markerName': <built-in function RinexMetHeader_markerName_set>, 'markerNumber': <built-in f [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexMetHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>allValid20</strong> = -2147483413</dl>
+
+<dl><dt><strong>allValid21</strong> = -2147483413</dl>
+
+<dl><dt><strong>commentString</strong> = 'COMMENT'</dl>
+
+<dl><dt><strong>commentValid</strong> = 4</dl>
+
+<dl><dt><strong>endOfHeader</strong> = 'END OF HEADER'</dl>
+
+<dl><dt><strong>endValid</strong> = -2147483648</dl>
+
+<dl><dt><strong>markerNameString</strong> = 'MARKER NAME'</dl>
+
+<dl><dt><strong>markerNameValid</strong> = 8</dl>
+
+<dl><dt><strong>markerNumberString</strong> = 'MARKER NUMBER'</dl>
+
+<dl><dt><strong>markerNumberValid</strong> = 16</dl>
+
+<dl><dt><strong>maxObsPerLine</strong> = 9</dl>
+
+<dl><dt><strong>obsTypeString</strong> = '# / TYPES OF OBSERV'</dl>
+
+<dl><dt><strong>obsTypeValid</strong> = 32</dl>
+
+<dl><dt><strong>runByString</strong> = 'PGM / RUN BY / DATE'</dl>
+
+<dl><dt><strong>runByValid</strong> = 2</dl>
+
+<dl><dt><strong>sensorPosString</strong> = 'SENSOR POS XYZ/H'</dl>
+
+<dl><dt><strong>sensorPosValid</strong> = 128</dl>
+
+<dl><dt><strong>sensorTypeString</strong> = 'SENSOR MOD/TYPE/ACC'</dl>
+
+<dl><dt><strong>sensorTypeValid</strong> = 64</dl>
+
+<dl><dt><strong>versionString</strong> = 'RINEX VERSION / TYPE'</dl>
+
+<dl><dt><strong>versionValid</strong> = 1</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexMetHeaderPtr">class <strong>RinexMetHeaderPtr</strong></a>(<a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexMetHeaderPtr">RinexMetHeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexMetHeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a>:<br>
+<dl><dt><a name="RinexMetHeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexMetHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexMetHeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexMetHeaderPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexMetHeaderPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a>:<br>
+<dl><dt><a name="RinexMetHeaderPtr-bitString"><strong>bitString</strong></a> = RinexMetHeader_bitString(...)</dt></dl>
+
+<dl><dt><a name="RinexMetHeaderPtr-bitsAsString"><strong>bitsAsString</strong></a> = RinexMetHeader_bitsAsString(...)</dt></dl>
+
+<dl><dt><a name="RinexMetHeaderPtr-convertObsType"><strong>convertObsType</strong></a> = RinexMetHeader_convertObsType(...)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a>:<br>
+<dl><dt><strong>commentList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_commentList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_commentList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>date</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_date_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_date_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileAgency</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_fileAgency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_fileAgency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileProgram</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_fileProgram_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_fileProgram_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileType</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_fileType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_fileType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerName</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_markerName_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_markerName_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerNumber</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_markerNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_markerNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsTypeList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_obsTypeList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_obsTypeList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>sensorPosList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_sensorPosList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_sensorPosList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>sensorTypeList</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_sensorTypeList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_sensorTypeList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>valid</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetHeader_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetHeader_version_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexMetHeader">RinexMetHeader</a>:<br>
+<dl><dt><strong>HR</strong> = 2</dl>
+
+<dl><dt><strong>PR</strong> = 0</dl>
+
+<dl><dt><strong>TD</strong> = 1</dl>
+
+<dl><dt><strong>ZD</strong> = 4</dl>
+
+<dl><dt><strong>ZT</strong> = 5</dl>
+
+<dl><dt><strong>ZW</strong> = 3</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'bitString': <function <lambda>>, 'bitsAsString': <function <lambda>>, 'commentList': <built-in function RinexMetHeader_commentList_get>, 'convertObsType': <function <lambda>>, 'date': <built-in function RinexMetHeader_date_get>, 'fileAgency': <built-in function RinexMetHeader_fileAgency_get>, 'fileProgram': <built-in function RinexMetHeader_fileProgram_get>, 'fileType': <built- [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'commentList': <built-in function RinexMetHeader_commentList_set>, 'date': <built-in function RinexMetHeader_date_set>, 'fileAgency': <built-in function RinexMetHeader_fileAgency_set>, 'fileProgram': <built-in function RinexMetHeader_fileProgram_set>, 'fileType': <built-in function RinexMetHeader_fileType_set>, 'markerName': <built-in function RinexMetHeader_markerName_set>, 'markerNumber': <built-in f [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexMetHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>allValid20</strong> = -2147483413</dl>
+
+<dl><dt><strong>allValid21</strong> = -2147483413</dl>
+
+<dl><dt><strong>commentString</strong> = 'COMMENT'</dl>
+
+<dl><dt><strong>commentValid</strong> = 4</dl>
+
+<dl><dt><strong>endOfHeader</strong> = 'END OF HEADER'</dl>
+
+<dl><dt><strong>endValid</strong> = -2147483648</dl>
+
+<dl><dt><strong>markerNameString</strong> = 'MARKER NAME'</dl>
+
+<dl><dt><strong>markerNameValid</strong> = 8</dl>
+
+<dl><dt><strong>markerNumberString</strong> = 'MARKER NUMBER'</dl>
+
+<dl><dt><strong>markerNumberValid</strong> = 16</dl>
+
+<dl><dt><strong>maxObsPerLine</strong> = 9</dl>
+
+<dl><dt><strong>obsTypeString</strong> = '# / TYPES OF OBSERV'</dl>
+
+<dl><dt><strong>obsTypeValid</strong> = 32</dl>
+
+<dl><dt><strong>runByString</strong> = 'PGM / RUN BY / DATE'</dl>
+
+<dl><dt><strong>runByValid</strong> = 2</dl>
+
+<dl><dt><strong>sensorPosString</strong> = 'SENSOR POS XYZ/H'</dl>
+
+<dl><dt><strong>sensorPosValid</strong> = 128</dl>
+
+<dl><dt><strong>sensorTypeString</strong> = 'SENSOR MOD/TYPE/ACC'</dl>
+
+<dl><dt><strong>sensorTypeValid</strong> = 64</dl>
+
+<dl><dt><strong>versionString</strong> = 'RINEX VERSION / TYPE'</dl>
+
+<dl><dt><strong>versionValid</strong> = 1</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexMetStream">class <strong>RinexMetStream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexMetStream">RinexMetStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexMetStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexMetStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexMetStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexMetStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexMetStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="RinexMetStream-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetStream_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStream-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetStream_header_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>headerRead</strong></dt>
+<dd><dl><dt><a name="RinexMetStream-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetStream_headerRead_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStream-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetStream_headerRead_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'header': <built-in function RinexMetStream_header_get>, 'headerRead': <built-in function RinexMetStream_headerRead_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'header': <built-in function RinexMetStream_header_set>, 'headerRead': <built-in function RinexMetStream_headerRead_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="RinexMetStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="RinexMetStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="RinexMetStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="RinexMetStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="RinexMetStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="RinexMetStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexMetStreamPtr">class <strong>RinexMetStreamPtr</strong></a>(<a href="gpstkPython.html#RinexMetStream">RinexMetStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexMetStreamPtr">RinexMetStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexMetStream">RinexMetStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexMetStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexMetStream">RinexMetStream</a>:<br>
+<dl><dt><a name="RinexMetStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexMetStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexMetStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexMetStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexMetStream">RinexMetStream</a>:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetStream_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetStream_header_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>headerRead</strong></dt>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexMetStream_headerRead_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexMetStream_headerRead_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexMetStream">RinexMetStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'header': <built-in function RinexMetStream_header_get>, 'headerRead': <built-in function RinexMetStream_headerRead_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'header': <built-in function RinexMetStream_header_set>, 'headerRead': <built-in function RinexMetStream_headerRead_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="RinexMetStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="RinexMetStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexMetStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexNavData">class <strong>RinexNavData</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexNavData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexNavData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexNavData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexNavData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexNavData-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavData-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavData-operator_EngEphemeris"><strong>operator_EngEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavData-toList"><strong>toList</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>Ahalf</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Ahalf_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Ahalf_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cic</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cic_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cic_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cis</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cis_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cis_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Crc</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Crc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Crc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Crs</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Crs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Crs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cuc</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cuc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cuc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cus</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cus_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cus_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>HOWtime</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_HOWtime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_HOWtime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>IODC</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_IODC_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_IODC_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>IODE</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_IODE_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_IODE_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>L2Pdata</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_L2Pdata_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_L2Pdata_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>M0</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_M0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_M0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>OMEGA0</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_OMEGA0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_OMEGA0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>OMEGAdot</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_OMEGAdot_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_OMEGAdot_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>PRNID</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_PRNID_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_PRNID_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Tgd</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Tgd_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Tgd_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Toc</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Toc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Toc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Toe</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Toe_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Toe_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>accuracy</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_accuracy_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_accuracy_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>af0</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_af0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_af0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>af1</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_af1_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_af1_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>af2</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_af2_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_af2_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>codeflgs</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_codeflgs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_codeflgs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>dn</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_dn_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_dn_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ecc</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_ecc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_ecc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fitint</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_fitint_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_fitint_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>health</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_health_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_health_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>i0</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_i0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_i0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>idot</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_idot_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_idot_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>w</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_w_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_w_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>weeknum</strong></dt>
+<dd><dl><dt><a name="RinexNavData-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_weeknum_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavData-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_weeknum_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'Ahalf': <built-in function RinexNavData_Ahalf_get>, 'Cic': <built-in function RinexNavData_Cic_get>, 'Cis': <built-in function RinexNavData_Cis_get>, 'Crc': <built-in function RinexNavData_Crc_get>, 'Crs': <built-in function RinexNavData_Crs_get>, 'Cuc': <built-in function RinexNavData_Cuc_get>, 'Cus': <built-in function RinexNavData_Cus_get>, 'HOWtime': <built-in function RinexNavData_HOWtime_g [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'Ahalf': <built-in function RinexNavData_Ahalf_set>, 'Cic': <built-in function RinexNavData_Cic_set>, 'Cis': <built-in function RinexNavData_Cis_set>, 'Crc': <built-in function RinexNavData_Crc_set>, 'Crs': <built-in function RinexNavData_Crs_set>, 'Cuc': <built-in function RinexNavData_Cuc_set>, 'Cus': <built-in function RinexNavData_Cus_set>, 'HOWtime': <built-in function RinexNavData_HOWtime_s [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexNavData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexNavDataPtr">class <strong>RinexNavDataPtr</strong></a>(<a href="gpstkPython.html#RinexNavData">RinexNavData</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexNavDataPtr">RinexNavDataPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexNavData">RinexNavData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexNavDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexNavData">RinexNavData</a>:<br>
+<dl><dt><a name="RinexNavDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexNavData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexNavDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexNavDataPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavDataPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavDataPtr-operator_EngEphemeris"><strong>operator_EngEphemeris</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavDataPtr-toList"><strong>toList</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexNavData">RinexNavData</a>:<br>
+<dl><dt><strong>Ahalf</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Ahalf_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Ahalf_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cic</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cic_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cic_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cis</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cis_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cis_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Crc</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Crc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Crc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Crs</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Crs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Crs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cuc</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cuc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cuc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Cus</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Cus_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Cus_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>HOWtime</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_HOWtime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_HOWtime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>IODC</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_IODC_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_IODC_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>IODE</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_IODE_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_IODE_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>L2Pdata</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_L2Pdata_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_L2Pdata_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>M0</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_M0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_M0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>OMEGA0</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_OMEGA0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_OMEGA0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>OMEGAdot</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_OMEGAdot_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_OMEGAdot_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>PRNID</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_PRNID_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_PRNID_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Tgd</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Tgd_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Tgd_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Toc</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Toc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Toc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>Toe</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_Toe_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_Toe_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>accuracy</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_accuracy_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_accuracy_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>af0</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_af0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_af0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>af1</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_af1_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_af1_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>af2</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_af2_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_af2_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>codeflgs</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_codeflgs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_codeflgs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>dn</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_dn_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_dn_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ecc</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_ecc_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_ecc_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fitint</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_fitint_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_fitint_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>health</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_health_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_health_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>i0</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_i0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_i0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>idot</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_idot_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_idot_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>w</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_w_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_w_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>weeknum</strong></dt>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavData_weeknum_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavData_weeknum_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexNavData">RinexNavData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'Ahalf': <built-in function RinexNavData_Ahalf_get>, 'Cic': <built-in function RinexNavData_Cic_get>, 'Cis': <built-in function RinexNavData_Cis_get>, 'Crc': <built-in function RinexNavData_Crc_get>, 'Crs': <built-in function RinexNavData_Crs_get>, 'Cuc': <built-in function RinexNavData_Cuc_get>, 'Cus': <built-in function RinexNavData_Cus_get>, 'HOWtime': <built-in function RinexNavData_HOWtime_g [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'Ahalf': <built-in function RinexNavData_Ahalf_set>, 'Cic': <built-in function RinexNavData_Cic_set>, 'Cis': <built-in function RinexNavData_Cis_set>, 'Crc': <built-in function RinexNavData_Crc_set>, 'Crs': <built-in function RinexNavData_Crs_set>, 'Cuc': <built-in function RinexNavData_Cuc_set>, 'Cus': <built-in function RinexNavData_Cus_set>, 'HOWtime': <built-in function RinexNavData_HOWtime_s [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexNavData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexNavHeader">class <strong>RinexNavHeader</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexNavHeader-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexNavHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexNavHeader-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexNavHeader-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexNavHeader-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavHeader-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>A0</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_A0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_A0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>A1</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_A1_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_A1_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>UTCRefTime</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_UTCRefTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_UTCRefTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>UTCRefWeek</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_UTCRefWeek_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_UTCRefWeek_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>commentList</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_commentList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_commentList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>date</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_date_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_date_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileAgency</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_fileAgency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_fileAgency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileProgram</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_fileProgram_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_fileProgram_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileType</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_fileType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_fileType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ionAlpha</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_ionAlpha_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_ionAlpha_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ionBeta</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_ionBeta_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_ionBeta_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>leapSeconds</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_leapSeconds_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_leapSeconds_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>valid</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="RinexNavHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_version_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'A0': <built-in function RinexNavHeader_A0_get>, 'A1': <built-in function RinexNavHeader_A1_get>, 'UTCRefTime': <built-in function RinexNavHeader_UTCRefTime_get>, 'UTCRefWeek': <built-in function RinexNavHeader_UTCRefWeek_get>, 'commentList': <built-in function RinexNavHeader_commentList_get>, 'date': <built-in function RinexNavHeader_date_get>, 'fileAgency': <built-in function RinexNavHeader_fileAgenc [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'A0': <built-in function RinexNavHeader_A0_set>, 'A1': <built-in function RinexNavHeader_A1_set>, 'UTCRefTime': <built-in function RinexNavHeader_UTCRefTime_set>, 'UTCRefWeek': <built-in function RinexNavHeader_UTCRefWeek_set>, 'commentList': <built-in function RinexNavHeader_commentList_set>, 'date': <built-in function RinexNavHeader_date_set>, 'fileAgency': <built-in function RinexNavHeader_fileAgenc [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexNavHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>allValid20</strong> = -2147483645</dl>
+
+<dl><dt><strong>allValid21</strong> = -2147483645</dl>
+
+<dl><dt><strong>commentString</strong> = 'COMMENT'</dl>
+
+<dl><dt><strong>commentValid</strong> = 4</dl>
+
+<dl><dt><strong>deltaUTCString</strong> = 'DELTA-UTC: A0,A1,T,W'</dl>
+
+<dl><dt><strong>deltaUTCValid</strong> = 32</dl>
+
+<dl><dt><strong>endOfHeader</strong> = 'END OF HEADER'</dl>
+
+<dl><dt><strong>endValid</strong> = -2147483648</dl>
+
+<dl><dt><strong>ionAlphaString</strong> = 'ION ALPHA'</dl>
+
+<dl><dt><strong>ionAlphaValid</strong> = 8</dl>
+
+<dl><dt><strong>ionBetaString</strong> = 'ION BETA'</dl>
+
+<dl><dt><strong>ionBetaValid</strong> = 16</dl>
+
+<dl><dt><strong>leapSecondsString</strong> = 'LEAP SECONDS'</dl>
+
+<dl><dt><strong>leapSecondsValid</strong> = 64</dl>
+
+<dl><dt><strong>runByString</strong> = 'PGM / RUN BY / DATE'</dl>
+
+<dl><dt><strong>runByValid</strong> = 2</dl>
+
+<dl><dt><strong>versionString</strong> = 'RINEX VERSION / TYPE'</dl>
+
+<dl><dt><strong>versionValid</strong> = 1</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexNavHeaderPtr">class <strong>RinexNavHeaderPtr</strong></a>(<a href="gpstkPython.html#RinexNavHeader">RinexNavHeader</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexNavHeaderPtr">RinexNavHeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexNavHeader">RinexNavHeader</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexNavHeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexNavHeader">RinexNavHeader</a>:<br>
+<dl><dt><a name="RinexNavHeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexNavHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexNavHeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexNavHeaderPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexNavHeaderPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexNavHeader">RinexNavHeader</a>:<br>
+<dl><dt><strong>A0</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_A0_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_A0_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>A1</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_A1_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_A1_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>UTCRefTime</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_UTCRefTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_UTCRefTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>UTCRefWeek</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_UTCRefWeek_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_UTCRefWeek_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>commentList</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_commentList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_commentList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>date</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_date_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_date_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileAgency</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_fileAgency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_fileAgency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileProgram</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_fileProgram_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_fileProgram_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileType</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_fileType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_fileType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ionAlpha</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_ionAlpha_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_ionAlpha_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>ionBeta</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_ionBeta_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_ionBeta_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>leapSeconds</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_leapSeconds_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_leapSeconds_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>valid</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavHeader_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavHeader_version_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexNavHeader">RinexNavHeader</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'A0': <built-in function RinexNavHeader_A0_get>, 'A1': <built-in function RinexNavHeader_A1_get>, 'UTCRefTime': <built-in function RinexNavHeader_UTCRefTime_get>, 'UTCRefWeek': <built-in function RinexNavHeader_UTCRefWeek_get>, 'commentList': <built-in function RinexNavHeader_commentList_get>, 'date': <built-in function RinexNavHeader_date_get>, 'fileAgency': <built-in function RinexNavHeader_fileAgenc [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'A0': <built-in function RinexNavHeader_A0_set>, 'A1': <built-in function RinexNavHeader_A1_set>, 'UTCRefTime': <built-in function RinexNavHeader_UTCRefTime_set>, 'UTCRefWeek': <built-in function RinexNavHeader_UTCRefWeek_set>, 'commentList': <built-in function RinexNavHeader_commentList_set>, 'date': <built-in function RinexNavHeader_date_set>, 'fileAgency': <built-in function RinexNavHeader_fileAgenc [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexNavHeader' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>allValid20</strong> = -2147483645</dl>
+
+<dl><dt><strong>allValid21</strong> = -2147483645</dl>
+
+<dl><dt><strong>commentString</strong> = 'COMMENT'</dl>
+
+<dl><dt><strong>commentValid</strong> = 4</dl>
+
+<dl><dt><strong>deltaUTCString</strong> = 'DELTA-UTC: A0,A1,T,W'</dl>
+
+<dl><dt><strong>deltaUTCValid</strong> = 32</dl>
+
+<dl><dt><strong>endOfHeader</strong> = 'END OF HEADER'</dl>
+
+<dl><dt><strong>endValid</strong> = -2147483648</dl>
+
+<dl><dt><strong>ionAlphaString</strong> = 'ION ALPHA'</dl>
+
+<dl><dt><strong>ionAlphaValid</strong> = 8</dl>
+
+<dl><dt><strong>ionBetaString</strong> = 'ION BETA'</dl>
+
+<dl><dt><strong>ionBetaValid</strong> = 16</dl>
+
+<dl><dt><strong>leapSecondsString</strong> = 'LEAP SECONDS'</dl>
+
+<dl><dt><strong>leapSecondsValid</strong> = 64</dl>
+
+<dl><dt><strong>runByString</strong> = 'PGM / RUN BY / DATE'</dl>
+
+<dl><dt><strong>runByValid</strong> = 2</dl>
+
+<dl><dt><strong>versionString</strong> = 'RINEX VERSION / TYPE'</dl>
+
+<dl><dt><strong>versionValid</strong> = 1</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexNavStream">class <strong>RinexNavStream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexNavStream">RinexNavStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexNavStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexNavStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexNavStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexNavStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexNavStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="RinexNavStream-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavStream_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStream-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavStream_header_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>headerRead</strong></dt>
+<dd><dl><dt><a name="RinexNavStream-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavStream_headerRead_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStream-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavStream_headerRead_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'header': <built-in function RinexNavStream_header_get>, 'headerRead': <built-in function RinexNavStream_headerRead_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'header': <built-in function RinexNavStream_header_set>, 'headerRead': <built-in function RinexNavStream_headerRead_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="RinexNavStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="RinexNavStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="RinexNavStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="RinexNavStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="RinexNavStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="RinexNavStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexNavStreamPtr">class <strong>RinexNavStreamPtr</strong></a>(<a href="gpstkPython.html#RinexNavStream">RinexNavStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexNavStreamPtr">RinexNavStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexNavStream">RinexNavStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexNavStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexNavStream">RinexNavStream</a>:<br>
+<dl><dt><a name="RinexNavStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexNavStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexNavStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexNavStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexNavStream">RinexNavStream</a>:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavStream_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavStream_header_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>headerRead</strong></dt>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexNavStream_headerRead_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexNavStream_headerRead_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexNavStream">RinexNavStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'header': <built-in function RinexNavStream_header_get>, 'headerRead': <built-in function RinexNavStream_headerRead_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'header': <built-in function RinexNavStream_header_set>, 'headerRead': <built-in function RinexNavStream_headerRead_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="RinexNavStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="RinexNavStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexNavStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsBase">class <strong>RinexObsBase</strong></a>(<a href="gpstkPython.html#FFData">FFData</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsBase-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsBase></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsBase-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="RinexObsBase-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="RinexObsBase-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBase-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBase-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBase-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBase-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsBasePtr">class <strong>RinexObsBasePtr</strong></a>(<a href="gpstkPython.html#RinexObsBase">RinexObsBase</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsBasePtr">RinexObsBasePtr</a></dd>
+<dd><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsBasePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexObsBase">RinexObsBase</a>:<br>
+<dl><dt><a name="RinexObsBasePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsBase></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsBasePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexObsBase">RinexObsBase</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="RinexObsBasePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBasePtr-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBasePtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBasePtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsBasePtr-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsData">class <strong>RinexObsData</strong></a>(<a href="gpstkPython.html#RinexObsBase">RinexObsBase</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsData">RinexObsData</a></dd>
+<dd><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexObsData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsData-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsData-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>auxHeader</strong></dt>
+<dd><dl><dt><a name="RinexObsData-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_auxHeader_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsData-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_auxHeader_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>clockOffset</strong></dt>
+<dd><dl><dt><a name="RinexObsData-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_clockOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsData-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_clockOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>epochFlag</strong></dt>
+<dd><dl><dt><a name="RinexObsData-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_epochFlag_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsData-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_epochFlag_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numSvs</strong></dt>
+<dd><dl><dt><a name="RinexObsData-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_numSvs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsData-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_numSvs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="RinexObsData-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsData-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="RinexObsData-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsData-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_time_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'auxHeader': <built-in function RinexObsData_auxHeader_get>, 'clockOffset': <built-in function RinexObsData_clockOffset_get>, 'epochFlag': <built-in function RinexObsData_epochFlag_get>, 'numSvs': <built-in function RinexObsData_numSvs_get>, 'obs': <built-in function RinexObsData_obs_get>, 'time': <built-in function RinexObsData_time_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'auxHeader': <built-in function RinexObsData_auxHeader_set>, 'clockOffset': <built-in function RinexObsData_clockOffset_set>, 'epochFlag': <built-in function RinexObsData_epochFlag_set>, 'numSvs': <built-in function RinexObsData_numSvs_set>, 'obs': <built-in function RinexObsData_obs_set>, 'time': <built-in function RinexObsData_time_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="RinexObsData-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsData-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsData-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsDataPtr">class <strong>RinexObsDataPtr</strong></a>(<a href="gpstkPython.html#RinexObsData">RinexObsData</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsDataPtr">RinexObsDataPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexObsData">RinexObsData</a></dd>
+<dd><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexObsData">RinexObsData</a>:<br>
+<dl><dt><a name="RinexObsDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsDataPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsDataPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexObsData">RinexObsData</a>:<br>
+<dl><dt><strong>auxHeader</strong></dt>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_auxHeader_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_auxHeader_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>clockOffset</strong></dt>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_clockOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_clockOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>epochFlag</strong></dt>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_epochFlag_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_epochFlag_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numSvs</strong></dt>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_numSvs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_numSvs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsData_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsData_time_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexObsData">RinexObsData</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'auxHeader': <built-in function RinexObsData_auxHeader_get>, 'clockOffset': <built-in function RinexObsData_clockOffset_get>, 'epochFlag': <built-in function RinexObsData_epochFlag_get>, 'numSvs': <built-in function RinexObsData_numSvs_get>, 'obs': <built-in function RinexObsData_obs_get>, 'time': <built-in function RinexObsData_time_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'auxHeader': <built-in function RinexObsData_auxHeader_set>, 'clockOffset': <built-in function RinexObsData_clockOffset_set>, 'epochFlag': <built-in function RinexObsData_epochFlag_set>, 'numSvs': <built-in function RinexObsData_numSvs_set>, 'obs': <built-in function RinexObsData_obs_set>, 'time': <built-in function RinexObsData_time_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="RinexObsDataPtr-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsDataPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsDataPtr-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsHeader">class <strong>RinexObsHeader</strong></a>(<a href="gpstkPython.html#RinexObsBase">RinexObsBase</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a></dd>
+<dd><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsHeader-NumberHeaderRecordsToBeWritten"><strong>NumberHeaderRecordsToBeWritten</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-ParseHeaderRecord"><strong>ParseHeaderRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-WriteHeaderRecords"><strong>WriteHeaderRecords</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="RinexObsHeader-convertObsType"><strong>convertObsType</strong></a> = RinexObsHeader_convertObsType(...)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>agency</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_agency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_agency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antNo</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antNo_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antNo_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antType</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antennaOffset</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antennaOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antennaOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antennaPosition</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antennaPosition_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antennaPosition_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>commentList</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_commentList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_commentList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>date</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_date_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_date_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>extraWaveFactList</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_extraWaveFactList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_extraWaveFactList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileAgency</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_fileAgency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_fileAgency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileProgram</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_fileProgram_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_fileProgram_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileType</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_fileType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_fileType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>firstObs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_firstObs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_firstObs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>firstSystem</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_firstSystem_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_firstSystem_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>interval</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_interval_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_interval_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastObs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_lastObs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_lastObs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastPRN</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_lastPRN_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_lastPRN_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastSystem</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_lastSystem_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_lastSystem_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>leapSeconds</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_leapSeconds_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_leapSeconds_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerName</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_markerName_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_markerName_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerNumber</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_markerNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_markerNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numObs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_numObs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_numObs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numObsForPrn</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_numObsForPrn_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_numObsForPrn_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numSVs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_numSVs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_numSVs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsTypeList</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_obsTypeList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_obsTypeList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>observer</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_observer_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_observer_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recNo</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_recNo_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_recNo_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recType</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_recType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_recType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recVers</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_recVers_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_recVers_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>receiverOffset</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_receiverOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_receiverOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>system</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_system_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_system_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>valid</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_version_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>wavelengthFactor</strong></dt>
+<dd><dl><dt><a name="RinexObsHeader-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_wavelengthFactor_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeader-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_wavelengthFactor_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>C1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _40f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>D1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _70f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>D2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _80f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>L1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _20f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>L2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _30f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>P1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _50f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>P2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _60f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>S1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _90f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>S2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _a0f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>StandardRinexObsTypes</strong> = <Swig Object at _a0f72cb7_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t></dl>
+
+<dl><dt><strong>T1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _b0f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>T2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _c0f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>UN</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _10f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'agency': <built-in function RinexObsHeader_agency_get>, 'antNo': <built-in function RinexObsHeader_antNo_get>, 'antType': <built-in function RinexObsHeader_antType_get>, 'antennaOffset': <built-in function RinexObsHeader_antennaOffset_get>, 'antennaPosition': <built-in function RinexObsHeader_antennaPosition_get>, 'commentList': <built-in function RinexObsHeader_commentList_get>, 'convertObsType': <fu [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'agency': <built-in function RinexObsHeader_agency_set>, 'antNo': <built-in function RinexObsHeader_antNo_set>, 'antType': <built-in function RinexObsHeader_antType_set>, 'antennaOffset': <built-in function RinexObsHeader_antennaOffset_set>, 'antennaPosition': <built-in function RinexObsHeader_antennaPosition_set>, 'commentList': <built-in function RinexObsHeader_commentList_set>, 'date': <built-in fun [...]
+
+<dl><dt><strong>allValid20</strong> = -2147471381</dl>
+
+<dl><dt><strong>allValid21</strong> = -2147471381</dl>
+
+<dl><dt><strong>antennaOffsetString</strong> = 'ANTENNA: DELTA H/E/N'</dl>
+
+<dl><dt><strong>antennaOffsetValid</strong> = 512</dl>
+
+<dl><dt><strong>antennaPositionString</strong> = 'APPROX POSITION XYZ'</dl>
+
+<dl><dt><strong>antennaPositionValid</strong> = 256</dl>
+
+<dl><dt><strong>antennaTypeString</strong> = 'ANT # / TYPE'</dl>
+
+<dl><dt><strong>antennaTypeValid</strong> = 128</dl>
+
+<dl><dt><strong>commentString</strong> = 'COMMENT'</dl>
+
+<dl><dt><strong>commentValid</strong> = 4</dl>
+
+<dl><dt><strong>endOfHeader</strong> = 'END OF HEADER'</dl>
+
+<dl><dt><strong>endValid</strong> = -2147483648</dl>
+
+<dl><dt><strong>firstTimeString</strong> = 'TIME OF FIRST OBS'</dl>
+
+<dl><dt><strong>firstTimeValid</strong> = 8192</dl>
+
+<dl><dt><strong>intervalString</strong> = 'INTERVAL'</dl>
+
+<dl><dt><strong>intervalValid</strong> = 4096</dl>
+
+<dl><dt><strong>lastTimeString</strong> = 'TIME OF LAST OBS'</dl>
+
+<dl><dt><strong>lastTimeValid</strong> = 16384</dl>
+
+<dl><dt><strong>leapSecondsString</strong> = 'LEAP SECONDS'</dl>
+
+<dl><dt><strong>leapSecondsValid</strong> = 1048576</dl>
+
+<dl><dt><strong>markerNameString</strong> = 'MARKER NAME'</dl>
+
+<dl><dt><strong>markerNameValid</strong> = 8</dl>
+
+<dl><dt><strong>markerNumberString</strong> = 'MARKER NUMBER'</dl>
+
+<dl><dt><strong>markerNumberValid</strong> = 16</dl>
+
+<dl><dt><strong>numObsString</strong> = '# / TYPES OF OBSERV'</dl>
+
+<dl><dt><strong>numSatsString</strong> = '# OF SATELLITES'</dl>
+
+<dl><dt><strong>numSatsValid</strong> = 2097152</dl>
+
+<dl><dt><strong>obsTypeValid</strong> = 2048</dl>
+
+<dl><dt><strong>observerString</strong> = 'OBSERVER / AGENCY'</dl>
+
+<dl><dt><strong>observerValid</strong> = 32</dl>
+
+<dl><dt><strong>prnObsString</strong> = 'PRN / # OF OBS'</dl>
+
+<dl><dt><strong>prnObsValid</strong> = 4194304</dl>
+
+<dl><dt><strong>receiverOffsetString</strong> = 'RCV CLOCK OFFS APPL'</dl>
+
+<dl><dt><strong>receiverOffsetValid</strong> = 32768</dl>
+
+<dl><dt><strong>receiverString</strong> = 'REC # / TYPE / VERS'</dl>
+
+<dl><dt><strong>receiverValid</strong> = 64</dl>
+
+<dl><dt><strong>runByString</strong> = 'PGM / RUN BY / DATE'</dl>
+
+<dl><dt><strong>runByValid</strong> = 2</dl>
+
+<dl><dt><strong>versionString</strong> = 'RINEX VERSION / TYPE'</dl>
+
+<dl><dt><strong>versionValid</strong> = 1</dl>
+
+<dl><dt><strong>waveFactString</strong> = 'WAVELENGTH FACT L1/2'</dl>
+
+<dl><dt><strong>waveFactValid</strong> = 1024</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="RinexObsHeader-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeader-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsHeaderPtr">class <strong>RinexObsHeaderPtr</strong></a>(<a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsHeaderPtr">RinexObsHeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a></dd>
+<dd><a href="gpstkPython.html#RinexObsBase">RinexObsBase</a></dd>
+<dd><a href="gpstkPython.html#FFData">FFData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsHeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a>:<br>
+<dl><dt><a name="RinexObsHeaderPtr-NumberHeaderRecordsToBeWritten"><strong>NumberHeaderRecordsToBeWritten</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-ParseHeaderRecord"><strong>ParseHeaderRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-WriteHeaderRecords"><strong>WriteHeaderRecords</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsHeader></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a>:<br>
+<dl><dt><a name="RinexObsHeaderPtr-convertObsType"><strong>convertObsType</strong></a> = RinexObsHeader_convertObsType(...)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a>:<br>
+<dl><dt><strong>agency</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_agency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_agency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antNo</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antNo_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antNo_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antType</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antennaOffset</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antennaOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antennaOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>antennaPosition</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_antennaPosition_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_antennaPosition_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>commentList</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_commentList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_commentList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>date</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_date_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_date_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>extraWaveFactList</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_extraWaveFactList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_extraWaveFactList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileAgency</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_fileAgency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_fileAgency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileProgram</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_fileProgram_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_fileProgram_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>fileType</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_fileType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_fileType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>firstObs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_firstObs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_firstObs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>firstSystem</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_firstSystem_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_firstSystem_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>interval</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_interval_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_interval_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastObs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_lastObs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_lastObs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastPRN</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_lastPRN_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_lastPRN_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastSystem</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_lastSystem_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_lastSystem_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>leapSeconds</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_leapSeconds_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_leapSeconds_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerName</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_markerName_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_markerName_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>markerNumber</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_markerNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_markerNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numObs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_numObs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_numObs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numObsForPrn</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_numObsForPrn_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_numObsForPrn_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numSVs</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_numSVs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_numSVs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsTypeList</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_obsTypeList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_obsTypeList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>observer</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_observer_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_observer_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recNo</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_recNo_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_recNo_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recType</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_recType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_recType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recVers</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_recVers_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_recVers_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>receiverOffset</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_receiverOffset_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_receiverOffset_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>system</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_system_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_system_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>valid</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_valid_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_valid_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_version_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>wavelengthFactor</strong></dt>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsHeader_wavelengthFactor_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsHeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsHeader_wavelengthFactor_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexObsHeader">RinexObsHeader</a>:<br>
+<dl><dt><strong>C1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _40f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>D1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _70f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>D2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _80f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>L1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _20f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>L2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _30f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>P1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _50f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>P2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _60f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>S1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _90f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>S2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _a0f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>StandardRinexObsTypes</strong> = <Swig Object at _a0f72cb7_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t></dl>
+
+<dl><dt><strong>T1</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _b0f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>T2</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _c0f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>UN</strong> = <gpstkPython.RinexObsTypePtr; proxy of C++ RinexObsType instance at _10f62cb7_p_RinexObsType></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'agency': <built-in function RinexObsHeader_agency_get>, 'antNo': <built-in function RinexObsHeader_antNo_get>, 'antType': <built-in function RinexObsHeader_antType_get>, 'antennaOffset': <built-in function RinexObsHeader_antennaOffset_get>, 'antennaPosition': <built-in function RinexObsHeader_antennaPosition_get>, 'commentList': <built-in function RinexObsHeader_commentList_get>, 'convertObsType': <fu [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'agency': <built-in function RinexObsHeader_agency_set>, 'antNo': <built-in function RinexObsHeader_antNo_set>, 'antType': <built-in function RinexObsHeader_antType_set>, 'antennaOffset': <built-in function RinexObsHeader_antennaOffset_set>, 'antennaPosition': <built-in function RinexObsHeader_antennaPosition_set>, 'commentList': <built-in function RinexObsHeader_commentList_set>, 'date': <built-in fun [...]
+
+<dl><dt><strong>allValid20</strong> = -2147471381</dl>
+
+<dl><dt><strong>allValid21</strong> = -2147471381</dl>
+
+<dl><dt><strong>antennaOffsetString</strong> = 'ANTENNA: DELTA H/E/N'</dl>
+
+<dl><dt><strong>antennaOffsetValid</strong> = 512</dl>
+
+<dl><dt><strong>antennaPositionString</strong> = 'APPROX POSITION XYZ'</dl>
+
+<dl><dt><strong>antennaPositionValid</strong> = 256</dl>
+
+<dl><dt><strong>antennaTypeString</strong> = 'ANT # / TYPE'</dl>
+
+<dl><dt><strong>antennaTypeValid</strong> = 128</dl>
+
+<dl><dt><strong>commentString</strong> = 'COMMENT'</dl>
+
+<dl><dt><strong>commentValid</strong> = 4</dl>
+
+<dl><dt><strong>endOfHeader</strong> = 'END OF HEADER'</dl>
+
+<dl><dt><strong>endValid</strong> = -2147483648</dl>
+
+<dl><dt><strong>firstTimeString</strong> = 'TIME OF FIRST OBS'</dl>
+
+<dl><dt><strong>firstTimeValid</strong> = 8192</dl>
+
+<dl><dt><strong>intervalString</strong> = 'INTERVAL'</dl>
+
+<dl><dt><strong>intervalValid</strong> = 4096</dl>
+
+<dl><dt><strong>lastTimeString</strong> = 'TIME OF LAST OBS'</dl>
+
+<dl><dt><strong>lastTimeValid</strong> = 16384</dl>
+
+<dl><dt><strong>leapSecondsString</strong> = 'LEAP SECONDS'</dl>
+
+<dl><dt><strong>leapSecondsValid</strong> = 1048576</dl>
+
+<dl><dt><strong>markerNameString</strong> = 'MARKER NAME'</dl>
+
+<dl><dt><strong>markerNameValid</strong> = 8</dl>
+
+<dl><dt><strong>markerNumberString</strong> = 'MARKER NUMBER'</dl>
+
+<dl><dt><strong>markerNumberValid</strong> = 16</dl>
+
+<dl><dt><strong>numObsString</strong> = '# / TYPES OF OBSERV'</dl>
+
+<dl><dt><strong>numSatsString</strong> = '# OF SATELLITES'</dl>
+
+<dl><dt><strong>numSatsValid</strong> = 2097152</dl>
+
+<dl><dt><strong>obsTypeValid</strong> = 2048</dl>
+
+<dl><dt><strong>observerString</strong> = 'OBSERVER / AGENCY'</dl>
+
+<dl><dt><strong>observerValid</strong> = 32</dl>
+
+<dl><dt><strong>prnObsString</strong> = 'PRN / # OF OBS'</dl>
+
+<dl><dt><strong>prnObsValid</strong> = 4194304</dl>
+
+<dl><dt><strong>receiverOffsetString</strong> = 'RCV CLOCK OFFS APPL'</dl>
+
+<dl><dt><strong>receiverOffsetValid</strong> = 32768</dl>
+
+<dl><dt><strong>receiverString</strong> = 'REC # / TYPE / VERS'</dl>
+
+<dl><dt><strong>receiverValid</strong> = 64</dl>
+
+<dl><dt><strong>runByString</strong> = 'PGM / RUN BY / DATE'</dl>
+
+<dl><dt><strong>runByValid</strong> = 2</dl>
+
+<dl><dt><strong>versionString</strong> = 'RINEX VERSION / TYPE'</dl>
+
+<dl><dt><strong>versionValid</strong> = 1</dl>
+
+<dl><dt><strong>waveFactString</strong> = 'WAVELENGTH FACT L1/2'</dl>
+
+<dl><dt><strong>waveFactValid</strong> = 1024</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><a name="RinexObsHeaderPtr-getRecord"><strong>getRecord</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsHeaderPtr-putRecord"><strong>putRecord</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFData">FFData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsStream">class <strong>RinexObsStream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsStream">RinexObsStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexObsStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="RinexObsStream-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsStream_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStream-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsStream_header_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>headerRead</strong></dt>
+<dd><dl><dt><a name="RinexObsStream-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsStream_headerRead_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStream-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsStream_headerRead_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'header': <built-in function RinexObsStream_header_get>, 'headerRead': <built-in function RinexObsStream_headerRead_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'header': <built-in function RinexObsStream_header_set>, 'headerRead': <built-in function RinexObsStream_headerRead_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="RinexObsStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="RinexObsStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="RinexObsStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="RinexObsStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="RinexObsStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="RinexObsStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsStreamPtr">class <strong>RinexObsStreamPtr</strong></a>(<a href="gpstkPython.html#RinexObsStream">RinexObsStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsStreamPtr">RinexObsStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexObsStream">RinexObsStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexObsStream">RinexObsStream</a>:<br>
+<dl><dt><a name="RinexObsStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexObsStream">RinexObsStream</a>:<br>
+<dl><dt><strong>header</strong></dt>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsStream_header_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsStream_header_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>headerRead</strong></dt>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsStream_headerRead_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsStream_headerRead_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexObsStream">RinexObsStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'header': <built-in function RinexObsStream_header_get>, 'headerRead': <built-in function RinexObsStream_headerRead_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'header': <built-in function RinexObsStream_header_set>, 'headerRead': <built-in function RinexObsStream_headerRead_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="RinexObsStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="RinexObsStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsType">class <strong>RinexObsType</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexObsType-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsType></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsType-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexObsType-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>depend</strong></dt>
+<dd><dl><dt><a name="RinexObsType-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_depend_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsType-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_depend_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>description</strong></dt>
+<dd><dl><dt><a name="RinexObsType-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_description_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsType-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_description_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>type</strong></dt>
+<dd><dl><dt><a name="RinexObsType-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_type_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsType-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_type_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>units</strong></dt>
+<dd><dl><dt><a name="RinexObsType-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_units_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsType-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_units_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>C1depend</strong> = 1</dl>
+
+<dl><dt><strong>EPdepend</strong> = 32</dl>
+
+<dl><dt><strong>L1depend</strong> = 2</dl>
+
+<dl><dt><strong>L2depend</strong> = 4</dl>
+
+<dl><dt><strong>P1depend</strong> = 8</dl>
+
+<dl><dt><strong>P2depend</strong> = 16</dl>
+
+<dl><dt><strong>PSdepend</strong> = 64</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'depend': <built-in function RinexObsType_depend_get>, 'description': <built-in function RinexObsType_description_get>, 'type': <built-in function RinexObsType_type_get>, 'units': <built-in function RinexObsType_units_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'depend': <built-in function RinexObsType_depend_set>, 'description': <built-in function RinexObsType_description_set>, 'type': <built-in function RinexObsType_type_set>, 'units': <built-in function RinexObsType_units_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexObsType' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsTypeMap">class <strong>RinexObsTypeMap</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexObsTypeMap-__contains__"><strong>__contains__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsTypeMap></font>)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__iter__"><strong>__iter__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-count"><strong>count</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-erase"><strong>erase</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-has_key"><strong>has_key</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-items"><strong>items</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-keys"><strong>keys</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMap-values"><strong>values</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexObsTypeMap' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsTypeMapPtr">class <strong>RinexObsTypeMapPtr</strong></a>(<a href="gpstkPython.html#RinexObsTypeMap">RinexObsTypeMap</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsTypeMapPtr">RinexObsTypeMapPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexObsTypeMap">RinexObsTypeMap</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsTypeMapPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexObsTypeMap">RinexObsTypeMap</a>:<br>
+<dl><dt><a name="RinexObsTypeMapPtr-__contains__"><strong>__contains__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsTypeMap></font>)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__iter__"><strong>__iter__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-count"><strong>count</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-erase"><strong>erase</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-has_key"><strong>has_key</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-items"><strong>items</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-keys"><strong>keys</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexObsTypeMapPtr-values"><strong>values</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexObsTypeMap">RinexObsTypeMap</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexObsTypeMap' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexObsTypePtr">class <strong>RinexObsTypePtr</strong></a>(<a href="gpstkPython.html#RinexObsType">RinexObsType</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexObsTypePtr">RinexObsTypePtr</a></dd>
+<dd><a href="gpstkPython.html#RinexObsType">RinexObsType</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexObsTypePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexObsType">RinexObsType</a>:<br>
+<dl><dt><a name="RinexObsTypePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexObsType></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexObsTypePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexObsType">RinexObsType</a>:<br>
+<dl><dt><strong>depend</strong></dt>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_depend_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_depend_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>description</strong></dt>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_description_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_description_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>type</strong></dt>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_type_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_type_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>units</strong></dt>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexObsType_units_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexObsTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexObsType_units_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexObsType">RinexObsType</a>:<br>
+<dl><dt><strong>C1depend</strong> = 1</dl>
+
+<dl><dt><strong>EPdepend</strong> = 32</dl>
+
+<dl><dt><strong>L1depend</strong> = 2</dl>
+
+<dl><dt><strong>L2depend</strong> = 4</dl>
+
+<dl><dt><strong>P1depend</strong> = 8</dl>
+
+<dl><dt><strong>P2depend</strong> = 16</dl>
+
+<dl><dt><strong>PSdepend</strong> = 64</dl>
+
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'depend': <built-in function RinexObsType_depend_get>, 'description': <built-in function RinexObsType_description_get>, 'type': <built-in function RinexObsType_type_get>, 'units': <built-in function RinexObsType_units_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'depend': <built-in function RinexObsType_depend_set>, 'description': <built-in function RinexObsType_description_set>, 'type': <built-in function RinexObsType_type_set>, 'units': <built-in function RinexObsType_units_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexObsType' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexPrn">class <strong>RinexPrn</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexPrn-System"><strong>System</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrn-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexPrn></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexPrn-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexPrn-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexPrn-getfill"><strong>getfill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrn-setfill"><strong>setfill</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>prn</strong></dt>
+<dd><dl><dt><a name="RinexPrn-<em>get</em>"><strong><em>get</em></strong></a> = RinexPrn_prn_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexPrn-<em>set</em>"><strong><em>set</em></strong></a> = RinexPrn_prn_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>system</strong></dt>
+<dd><dl><dt><a name="RinexPrn-<em>get</em>"><strong><em>get</em></strong></a> = RinexPrn_system_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexPrn-<em>set</em>"><strong><em>set</em></strong></a> = RinexPrn_system_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'prn': <built-in function RinexPrn_prn_get>, 'system': <built-in function RinexPrn_system_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'prn': <built-in function RinexPrn_prn_set>, 'system': <built-in function RinexPrn_system_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexPrn' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexPrnMap">class <strong>RinexPrnMap</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RinexPrnMap-__contains__"><strong>__contains__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexPrnMap></font>)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__iter__"><strong>__iter__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-count"><strong>count</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-erase"><strong>erase</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-has_key"><strong>has_key</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-items"><strong>items</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-keys"><strong>keys</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMap-values"><strong>values</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexPrnMap' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexPrnMapPtr">class <strong>RinexPrnMapPtr</strong></a>(<a href="gpstkPython.html#RinexPrnMap">RinexPrnMap</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexPrnMapPtr">RinexPrnMapPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexPrnMap">RinexPrnMap</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexPrnMapPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexPrnMap">RinexPrnMap</a>:<br>
+<dl><dt><a name="RinexPrnMapPtr-__contains__"><strong>__contains__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexPrnMap></font>)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__iter__"><strong>__iter__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-count"><strong>count</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-erase"><strong>erase</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-has_key"><strong>has_key</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-items"><strong>items</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-keys"><strong>keys</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnMapPtr-values"><strong>values</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexPrnMap">RinexPrnMap</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexPrnMap' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RinexPrnPtr">class <strong>RinexPrnPtr</strong></a>(<a href="gpstkPython.html#RinexPrn">RinexPrn</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RinexPrnPtr">RinexPrnPtr</a></dd>
+<dd><a href="gpstkPython.html#RinexPrn">RinexPrn</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RinexPrnPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RinexPrn">RinexPrn</a>:<br>
+<dl><dt><a name="RinexPrnPtr-System"><strong>System</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RinexPrn></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RinexPrnPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RinexPrnPtr-getfill"><strong>getfill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RinexPrnPtr-setfill"><strong>setfill</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RinexPrn">RinexPrn</a>:<br>
+<dl><dt><strong>prn</strong></dt>
+<dd><dl><dt><a name="RinexPrnPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexPrn_prn_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexPrnPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexPrn_prn_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>system</strong></dt>
+<dd><dl><dt><a name="RinexPrnPtr-<em>get</em>"><strong><em>get</em></strong></a> = RinexPrn_system_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RinexPrnPtr-<em>set</em>"><strong><em>set</em></strong></a> = RinexPrn_system_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RinexPrn">RinexPrn</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'prn': <built-in function RinexPrn_prn_get>, 'system': <built-in function RinexPrn_system_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'prn': <built-in function RinexPrn_prn_set>, 'system': <built-in function RinexPrn_system_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RinexPrn' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RungeKutta4">class <strong>RungeKutta4</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RungeKutta4-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RungeKutta4></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RungeKutta4-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="RungeKutta4-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RungeKutta4-derivative"><strong>derivative</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RungeKutta4-getState"><strong>getState</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RungeKutta4-getTime"><strong>getTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RungeKutta4-integrateTo"><strong>integrateTo</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RungeKutta4' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RungeKutta4Ptr">class <strong>RungeKutta4Ptr</strong></a>(<a href="gpstkPython.html#RungeKutta4">RungeKutta4</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RungeKutta4Ptr">RungeKutta4Ptr</a></dd>
+<dd><a href="gpstkPython.html#RungeKutta4">RungeKutta4</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RungeKutta4Ptr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RungeKutta4">RungeKutta4</a>:<br>
+<dl><dt><a name="RungeKutta4Ptr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RungeKutta4></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RungeKutta4Ptr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RungeKutta4Ptr-derivative"><strong>derivative</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RungeKutta4Ptr-getState"><strong>getState</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RungeKutta4Ptr-getTime"><strong>getTime</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RungeKutta4Ptr-integrateTo"><strong>integrateTo</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RungeKutta4">RungeKutta4</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RungeKutta4' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RxObsData">class <strong>RxObsData</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="RxObsData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RxObsData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RxObsData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="RxObsData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RxObsData-insertEpoch"><strong>insertEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RxObsData-insertObservation"><strong>insertObservation</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>epochs</strong></dt>
+<dd><dl><dt><a name="RxObsData-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_epochs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsData-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_epochs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>firstTime</strong></dt>
+<dd><dl><dt><a name="RxObsData-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_firstTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsData-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_firstTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastTime</strong></dt>
+<dd><dl><dt><a name="RxObsData-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_lastTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsData-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_lastTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>prnList</strong></dt>
+<dd><dl><dt><a name="RxObsData-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_prnList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsData-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_prnList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rxId</strong></dt>
+<dd><dl><dt><a name="RxObsData-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_rxId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsData-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_rxId_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'epochs': <built-in function RxObsData_epochs_get>, 'firstTime': <built-in function RxObsData_firstTime_get>, 'lastTime': <built-in function RxObsData_lastTime_get>, 'prnList': <built-in function RxObsData_prnList_get>, 'rxId': <built-in function RxObsData_rxId_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'epochs': <built-in function RxObsData_epochs_set>, 'firstTime': <built-in function RxObsData_firstTime_set>, 'lastTime': <built-in function RxObsData_lastTime_set>, 'prnList': <built-in function RxObsData_prnList_set>, 'rxId': <built-in function RxObsData_rxId_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RxObsData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="RxObsDataPtr">class <strong>RxObsDataPtr</strong></a>(<a href="gpstkPython.html#RxObsData">RxObsData</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#RxObsDataPtr">RxObsDataPtr</a></dd>
+<dd><a href="gpstkPython.html#RxObsData">RxObsData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="RxObsDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#RxObsData">RxObsData</a>:<br>
+<dl><dt><a name="RxObsDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_RxObsData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="RxObsDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="RxObsDataPtr-insertEpoch"><strong>insertEpoch</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="RxObsDataPtr-insertObservation"><strong>insertObservation</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#RxObsData">RxObsData</a>:<br>
+<dl><dt><strong>epochs</strong></dt>
+<dd><dl><dt><a name="RxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_epochs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_epochs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>firstTime</strong></dt>
+<dd><dl><dt><a name="RxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_firstTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_firstTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastTime</strong></dt>
+<dd><dl><dt><a name="RxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_lastTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_lastTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>prnList</strong></dt>
+<dd><dl><dt><a name="RxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_prnList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_prnList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rxId</strong></dt>
+<dd><dl><dt><a name="RxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = RxObsData_rxId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="RxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = RxObsData_rxId_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#RxObsData">RxObsData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'epochs': <built-in function RxObsData_epochs_get>, 'firstTime': <built-in function RxObsData_firstTime_get>, 'lastTime': <built-in function RxObsData_lastTime_get>, 'prnList': <built-in function RxObsData_prnList_get>, 'rxId': <built-in function RxObsData_rxId_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'epochs': <built-in function RxObsData_epochs_set>, 'firstTime': <built-in function RxObsData_firstTime_set>, 'lastTime': <built-in function RxObsData_lastTime_set>, 'prnList': <built-in function RxObsData_prnList_set>, 'rxId': <built-in function RxObsData_rxId_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'RxObsData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SMODFStream">class <strong>SMODFStream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SMODFStream">SMODFStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SMODFStream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SMODFStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SMODFStream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SMODFStream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SMODFStream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>format</strong></dt>
+<dd><dl><dt><a name="SMODFStream-<em>get</em>"><strong><em>get</em></strong></a> = SMODFStream_format_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStream-<em>set</em>"><strong><em>set</em></strong></a> = SMODFStream_format_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'format': <built-in function SMODFStream_format_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'format': <built-in function SMODFStream_format_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<dl><dt><strong>icd211</strong> = 2</dl>
+
+<dl><dt><strong>legacy</strong> = 1</dl>
+
+<dl><dt><strong>undefined</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="SMODFStream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="SMODFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="SMODFStream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="SMODFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="SMODFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="SMODFStream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SMODFStreamPtr">class <strong>SMODFStreamPtr</strong></a>(<a href="gpstkPython.html#SMODFStream">SMODFStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SMODFStreamPtr">SMODFStreamPtr</a></dd>
+<dd><a href="gpstkPython.html#SMODFStream">SMODFStream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SMODFStreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SMODFStream">SMODFStream</a>:<br>
+<dl><dt><a name="SMODFStreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SMODFStream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SMODFStreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SMODFStreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#SMODFStream">SMODFStream</a>:<br>
+<dl><dt><strong>format</strong></dt>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = SMODFStream_format_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = SMODFStream_format_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SMODFStream">SMODFStream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'filename': <built-in function FFStream_filename_get>, 'format': <built-in function SMODFStream_format_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'filename': <built-in function FFStream_filename_set>, 'format': <built-in function SMODFStream_format_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<dl><dt><strong>icd211</strong> = 2</dl>
+
+<dl><dt><strong>legacy</strong> = 1</dl>
+
+<dl><dt><strong>undefined</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="SMODFStreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="SMODFStreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SMODFStreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3Data">class <strong>SP3Data</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="SP3Data-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3Data></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3Data-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SP3Data-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SP3Data-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3Data-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>clk</strong></dt>
+<dd><dl><dt><a name="SP3Data-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_clk_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Data-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_clk_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>flag</strong></dt>
+<dd><dl><dt><a name="SP3Data-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_flag_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Data-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_flag_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>id</strong></dt>
+<dd><dl><dt><a name="SP3Data-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_id_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Data-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_id_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="SP3Data-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Data-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>x</strong></dt>
+<dd><dl><dt><a name="SP3Data-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_x_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Data-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_x_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'clk': <built-in function SP3Data_clk_get>, 'flag': <built-in function SP3Data_flag_get>, 'id': <built-in function SP3Data_id_get>, 'time': <built-in function SP3Data_time_get>, 'x': <built-in function SP3Data_x_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'clk': <built-in function SP3Data_clk_set>, 'flag': <built-in function SP3Data_flag_set>, 'id': <built-in function SP3Data_id_set>, 'time': <built-in function SP3Data_time_set>, 'x': <built-in function SP3Data_x_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SP3Data' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3DataPtr">class <strong>SP3DataPtr</strong></a>(<a href="gpstkPython.html#SP3Data">SP3Data</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SP3DataPtr">SP3DataPtr</a></dd>
+<dd><a href="gpstkPython.html#SP3Data">SP3Data</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SP3DataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SP3Data">SP3Data</a>:<br>
+<dl><dt><a name="SP3DataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3Data></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3DataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SP3DataPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3DataPtr-isData"><strong>isData</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#SP3Data">SP3Data</a>:<br>
+<dl><dt><strong>clk</strong></dt>
+<dd><dl><dt><a name="SP3DataPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_clk_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3DataPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_clk_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>flag</strong></dt>
+<dd><dl><dt><a name="SP3DataPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_flag_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3DataPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_flag_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>id</strong></dt>
+<dd><dl><dt><a name="SP3DataPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_id_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3DataPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_id_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="SP3DataPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3DataPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>x</strong></dt>
+<dd><dl><dt><a name="SP3DataPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Data_x_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3DataPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Data_x_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SP3Data">SP3Data</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'clk': <built-in function SP3Data_clk_get>, 'flag': <built-in function SP3Data_flag_get>, 'id': <built-in function SP3Data_id_get>, 'time': <built-in function SP3Data_time_get>, 'x': <built-in function SP3Data_x_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'clk': <built-in function SP3Data_clk_set>, 'flag': <built-in function SP3Data_flag_set>, 'id': <built-in function SP3Data_id_set>, 'time': <built-in function SP3Data_time_set>, 'x': <built-in function SP3Data_x_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SP3Data' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3EphemerisStore">class <strong>SP3EphemerisStore</strong></a>(<a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SP3EphemerisStore">SP3EphemerisStore</a></dd>
+<dd><a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SP3EphemerisStore-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3EphemerisStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>:<br>
+<dl><dt><a name="SP3EphemerisStore-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStore-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileStore_SP3Header' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3EphemerisStorePtr">class <strong>SP3EphemerisStorePtr</strong></a>(<a href="gpstkPython.html#SP3EphemerisStore">SP3EphemerisStore</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SP3EphemerisStorePtr">SP3EphemerisStorePtr</a></dd>
+<dd><a href="gpstkPython.html#SP3EphemerisStore">SP3EphemerisStore</a></dd>
+<dd><a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SP3EphemerisStorePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SP3EphemerisStore">SP3EphemerisStore</a>:<br>
+<dl><dt><a name="SP3EphemerisStorePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3EphemerisStore></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-loadFile"><strong>loadFile</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SP3EphemerisStore">SP3EphemerisStore</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>:<br>
+<dl><dt><a name="SP3EphemerisStorePtr-addFile"><strong>addFile</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-getFileNames"><strong>getFileNames</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-getHeader"><strong>getHeader</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-loadFiles"><strong>loadFiles</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3EphemerisStorePtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FileStore_SP3Header">FileStore_SP3Header</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FileStore_SP3Header' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3Header">class <strong>SP3Header</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="SP3Header-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3Header></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3Header-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SP3Header-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SP3Header-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3Header-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>agency</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_agency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_agency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>comments</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_comments_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_comments_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>coordSystem</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_coordSystem_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_coordSystem_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>dataUsed</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_dataUsed_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_dataUsed_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>epochInterval</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_epochInterval_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_epochInterval_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numberOfEpochs</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_numberOfEpochs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_numberOfEpochs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>orbitType</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_orbitType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_orbitType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pvFlag</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_pvFlag_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_pvFlag_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svList</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_svList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_svList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="SP3Header-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Header-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_version_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'agency': <built-in function SP3Header_agency_get>, 'comments': <built-in function SP3Header_comments_get>, 'coordSystem': <built-in function SP3Header_coordSystem_get>, 'dataUsed': <built-in function SP3Header_dataUsed_get>, 'epochInterval': <built-in function SP3Header_epochInterval_get>, 'numberOfEpochs': <built-in function SP3Header_numberOfEpochs_get>, 'orbitType': <built-in function SP3Header_orb [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'agency': <built-in function SP3Header_agency_set>, 'comments': <built-in function SP3Header_comments_set>, 'coordSystem': <built-in function SP3Header_coordSystem_set>, 'dataUsed': <built-in function SP3Header_dataUsed_set>, 'epochInterval': <built-in function SP3Header_epochInterval_set>, 'numberOfEpochs': <built-in function SP3Header_numberOfEpochs_set>, 'orbitType': <built-in function SP3Header_orb [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SP3Header' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3HeaderPtr">class <strong>SP3HeaderPtr</strong></a>(<a href="gpstkPython.html#SP3Header">SP3Header</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SP3HeaderPtr">SP3HeaderPtr</a></dd>
+<dd><a href="gpstkPython.html#SP3Header">SP3Header</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SP3HeaderPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SP3Header">SP3Header</a>:<br>
+<dl><dt><a name="SP3HeaderPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3Header></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3HeaderPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SP3HeaderPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3HeaderPtr-isHeader"><strong>isHeader</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#SP3Header">SP3Header</a>:<br>
+<dl><dt><strong>agency</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_agency_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_agency_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>comments</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_comments_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_comments_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>coordSystem</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_coordSystem_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_coordSystem_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>dataUsed</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_dataUsed_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_dataUsed_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>epochInterval</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_epochInterval_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_epochInterval_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>numberOfEpochs</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_numberOfEpochs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_numberOfEpochs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>orbitType</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_orbitType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_orbitType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pvFlag</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_pvFlag_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_pvFlag_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>svList</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_svList_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_svList_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>time</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_time_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_time_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>version</strong></dt>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Header_version_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3HeaderPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Header_version_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SP3Header">SP3Header</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'agency': <built-in function SP3Header_agency_get>, 'comments': <built-in function SP3Header_comments_get>, 'coordSystem': <built-in function SP3Header_coordSystem_get>, 'dataUsed': <built-in function SP3Header_dataUsed_get>, 'epochInterval': <built-in function SP3Header_epochInterval_get>, 'numberOfEpochs': <built-in function SP3Header_numberOfEpochs_get>, 'orbitType': <built-in function SP3Header_orb [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'agency': <built-in function SP3Header_agency_set>, 'comments': <built-in function SP3Header_comments_set>, 'coordSystem': <built-in function SP3Header_coordSystem_set>, 'dataUsed': <built-in function SP3Header_dataUsed_set>, 'epochInterval': <built-in function SP3Header_epochInterval_set>, 'numberOfEpochs': <built-in function SP3Header_numberOfEpochs_set>, 'orbitType': <built-in function SP3Header_orb [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SP3Header' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3Stream">class <strong>SP3Stream</strong></a>(<a href="gpstkPython.html#FFTextStream">FFTextStream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SP3Stream">SP3Stream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SP3Stream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3Stream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3Stream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SP3Stream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>currentEpoch</strong></dt>
+<dd><dl><dt><a name="SP3Stream-<em>get</em>"><strong><em>get</em></strong></a> = SP3Stream_currentEpoch_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Stream-<em>set</em>"><strong><em>set</em></strong></a> = SP3Stream_currentEpoch_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'currentEpoch': <built-in function SP3Stream_currentEpoch_get>, 'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'currentEpoch': <built-in function SP3Stream_currentEpoch_set>, 'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="SP3Stream-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3Stream-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="SP3Stream-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Stream-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="SP3Stream-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="SP3Stream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Stream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="SP3Stream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Stream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="SP3Stream-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3Stream-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SP3StreamPtr">class <strong>SP3StreamPtr</strong></a>(<a href="gpstkPython.html#SP3Stream">SP3Stream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SP3StreamPtr">SP3StreamPtr</a></dd>
+<dd><a href="gpstkPython.html#SP3Stream">SP3Stream</a></dd>
+<dd><a href="gpstkPython.html#FFTextStream">FFTextStream</a></dd>
+<dd><a href="gpstkPython.html#FFStream">FFStream</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SP3StreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SP3Stream">SP3Stream</a>:<br>
+<dl><dt><a name="SP3StreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SP3Stream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SP3StreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#SP3Stream">SP3Stream</a>:<br>
+<dl><dt><strong>currentEpoch</strong></dt>
+<dd><dl><dt><a name="SP3StreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = SP3Stream_currentEpoch_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3StreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = SP3Stream_currentEpoch_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SP3Stream">SP3Stream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'currentEpoch': <built-in function SP3Stream_currentEpoch_get>, 'filename': <built-in function FFStream_filename_get>, 'lineNumber': <built-in function FFTextStream_lineNumber_get>, 'mostRecentException': <built-in function FFStream_mostRecentException_get>, 'recordNumber': <built-in function FFStream_recordNumber_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'currentEpoch': <built-in function SP3Stream_currentEpoch_set>, 'filename': <built-in function FFStream_filename_set>, 'lineNumber': <built-in function FFTextStream_lineNumber_set>, 'mostRecentException': <built-in function FFStream_mostRecentException_set>, 'recordNumber': <built-in function FFStream_recordNumber_set>}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><a name="SP3StreamPtr-formattedGetLine"><strong>formattedGetLine</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SP3StreamPtr-open"><strong>open</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFTextStream">FFTextStream</a>:<br>
+<dl><dt><strong>lineNumber</strong></dt>
+<dd><dl><dt><a name="SP3StreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFTextStream_lineNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3StreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFTextStream_lineNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Methods inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><a name="SP3StreamPtr-conditionalThrow"><strong>conditionalThrow</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>filename</strong></dt>
+<dd><dl><dt><a name="SP3StreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_filename_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3StreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_filename_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>mostRecentException</strong></dt>
+<dd><dl><dt><a name="SP3StreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_mostRecentException_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3StreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_mostRecentException_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>recordNumber</strong></dt>
+<dd><dl><dt><a name="SP3StreamPtr-<em>get</em>"><strong><em>get</em></strong></a> = FFStream_recordNumber_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SP3StreamPtr-<em>set</em>"><strong><em>set</em></strong></a> = FFStream_recordNumber_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#FFStream">FFStream</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'FFStream' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SVPCodeGen">class <strong>SVPCodeGen</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="SVPCodeGen-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SVPCodeGen></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SVPCodeGen-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SVPCodeGen-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SVPCodeGen-getCurrentSixSeconds"><strong>getCurrentSixSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SVPCodeGen-getCurrentZCount"><strong>getCurrentZCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SVPCodeGen-increment4ZCounts"><strong>increment4ZCounts</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SVPCodeGen' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SVPCodeGenPtr">class <strong>SVPCodeGenPtr</strong></a>(<a href="gpstkPython.html#SVPCodeGen">SVPCodeGen</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SVPCodeGenPtr">SVPCodeGenPtr</a></dd>
+<dd><a href="gpstkPython.html#SVPCodeGen">SVPCodeGen</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SVPCodeGenPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SVPCodeGen">SVPCodeGen</a>:<br>
+<dl><dt><a name="SVPCodeGenPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SVPCodeGen></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SVPCodeGenPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SVPCodeGenPtr-getCurrentSixSeconds"><strong>getCurrentSixSeconds</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SVPCodeGenPtr-getCurrentZCount"><strong>getCurrentZCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SVPCodeGenPtr-increment4ZCounts"><strong>increment4ZCounts</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SVPCodeGen">SVPCodeGen</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SVPCodeGen' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SatID">class <strong>SatID</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="SatID-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SatID></font>)</dt></dl>
+
+<dl><dt><a name="SatID-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SatID-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SatID-__lt__"><strong>__lt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatID-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatID-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SatID-getfill"><strong>getfill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatID-setfill"><strong>setfill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatID-systemCode"><strong>systemCode</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>id</strong></dt>
+<dd><dl><dt><a name="SatID-<em>get</em>"><strong><em>get</em></strong></a> = SatID_id_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SatID-<em>set</em>"><strong><em>set</em></strong></a> = SatID_id_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>system</strong></dt>
+<dd><dl><dt><a name="SatID-<em>get</em>"><strong><em>get</em></strong></a> = SatID_system_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SatID-<em>set</em>"><strong><em>set</em></strong></a> = SatID_system_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'id': <built-in function SatID_id_get>, 'system': <built-in function SatID_system_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'id': <built-in function SatID_id_set>, 'system': <built-in function SatID_system_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SatID' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>systemGPS</strong> = 1</dl>
+
+<dl><dt><strong>systemGeosync</strong> = 4</dl>
+
+<dl><dt><strong>systemGlonass</strong> = 2</dl>
+
+<dl><dt><strong>systemMixed</strong> = 5</dl>
+
+<dl><dt><strong>systemTransit</strong> = 3</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SatIDPtr">class <strong>SatIDPtr</strong></a>(<a href="gpstkPython.html#SatID">SatID</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SatIDPtr">SatIDPtr</a></dd>
+<dd><a href="gpstkPython.html#SatID">SatID</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SatIDPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SatID">SatID</a>:<br>
+<dl><dt><a name="SatIDPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SatID></font>)</dt></dl>
+
+<dl><dt><a name="SatIDPtr-__eq__"><strong>__eq__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SatIDPtr-__lt__"><strong>__lt__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatIDPtr-__ne__"><strong>__ne__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatIDPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SatIDPtr-getfill"><strong>getfill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatIDPtr-setfill"><strong>setfill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SatIDPtr-systemCode"><strong>systemCode</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#SatID">SatID</a>:<br>
+<dl><dt><strong>id</strong></dt>
+<dd><dl><dt><a name="SatIDPtr-<em>get</em>"><strong><em>get</em></strong></a> = SatID_id_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SatIDPtr-<em>set</em>"><strong><em>set</em></strong></a> = SatID_id_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>system</strong></dt>
+<dd><dl><dt><a name="SatIDPtr-<em>get</em>"><strong><em>get</em></strong></a> = SatID_system_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="SatIDPtr-<em>set</em>"><strong><em>set</em></strong></a> = SatID_system_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SatID">SatID</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'id': <built-in function SatID_id_get>, 'system': <built-in function SatID_system_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'id': <built-in function SatID_id_set>, 'system': <built-in function SatID_system_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'SatID' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>systemGPS</strong> = 1</dl>
+
+<dl><dt><strong>systemGeosync</strong> = 4</dl>
+
+<dl><dt><strong>systemGlonass</strong> = 2</dl>
+
+<dl><dt><strong>systemMixed</strong> = 5</dl>
+
+<dl><dt><strong>systemTransit</strong> = 3</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SimpleTropModel">class <strong>SimpleTropModel</strong></a>(<a href="gpstkPython.html#TropModel">TropModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SimpleTropModel">SimpleTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SimpleTropModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SimpleTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="SimpleTropModel-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SimpleTropModelPtr">class <strong>SimpleTropModelPtr</strong></a>(<a href="gpstkPython.html#SimpleTropModel">SimpleTropModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SimpleTropModelPtr">SimpleTropModelPtr</a></dd>
+<dd><a href="gpstkPython.html#SimpleTropModel">SimpleTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SimpleTropModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SimpleTropModel">SimpleTropModel</a>:<br>
+<dl><dt><a name="SimpleTropModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SimpleTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SimpleTropModel">SimpleTropModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="SimpleTropModelPtr-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SimpleTropModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SystemPipeException">class <strong>SystemPipeException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SystemPipeException">SystemPipeException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SystemPipeException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SystemPipeException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SystemPipeException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SystemPipeException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="SystemPipeException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="SystemPipeException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="SystemPipeException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemPipeException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemPipeException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="SystemPipeException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SystemPipeExceptionPtr">class <strong>SystemPipeExceptionPtr</strong></a>(<a href="gpstkPython.html#SystemPipeException">SystemPipeException</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SystemPipeExceptionPtr">SystemPipeExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#SystemPipeException">SystemPipeException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SystemPipeException">SystemPipeException</a>:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SystemPipeException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SystemPipeException">SystemPipeException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemPipeExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="SystemPipeExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SystemQueueException">class <strong>SystemQueueException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SystemQueueException">SystemQueueException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SystemQueueException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SystemQueueException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SystemQueueException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SystemQueueException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="SystemQueueException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="SystemQueueException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="SystemQueueException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemQueueException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemQueueException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="SystemQueueException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SystemQueueExceptionPtr">class <strong>SystemQueueExceptionPtr</strong></a>(<a href="gpstkPython.html#SystemQueueException">SystemQueueException</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SystemQueueExceptionPtr">SystemQueueExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#SystemQueueException">SystemQueueException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SystemQueueException">SystemQueueException</a>:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SystemQueueException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SystemQueueException">SystemQueueException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemQueueExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="SystemQueueExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SystemSemaphoreException">class <strong>SystemSemaphoreException</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SystemSemaphoreException">SystemSemaphoreException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SystemSemaphoreException-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SystemSemaphoreException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="SystemSemaphoreException-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="SystemSemaphoreException-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="SystemSemaphoreException-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemSemaphoreException-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemSemaphoreException-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreException-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="SystemSemaphoreExceptionPtr">class <strong>SystemSemaphoreExceptionPtr</strong></a>(<a href="gpstkPython.html#SystemSemaphoreException">SystemSemaphoreException</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#SystemSemaphoreExceptionPtr">SystemSemaphoreExceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#SystemSemaphoreException">SystemSemaphoreException</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#SystemSemaphoreException">SystemSemaphoreException</a>:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_SystemSemaphoreException></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#SystemSemaphoreException">SystemSemaphoreException</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="SystemSemaphoreExceptionPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="SystemSemaphoreExceptionPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="Triple">class <strong>Triple</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Triple-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Triple></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="Triple-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Triple-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="Triple-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="Triple-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="Triple-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Triple-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'theArray': <built-in function Triple_theArray_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="TriplePtr">class <strong>TriplePtr</strong></a>(<a href="gpstkPython.html#Triple">Triple</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#TriplePtr">TriplePtr</a></dd>
+<dd><a href="gpstkPython.html#Triple">Triple</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="TriplePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><a name="TriplePtr-__add__"><strong>__add__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Triple></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="TriplePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="TriplePtr-__sub__"><strong>__sub__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-azAngle"><strong>azAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-cosVector"><strong>cosVector</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-cross"><strong>cross</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-dot"><strong>dot</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-elvAngle"><strong>elvAngle</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-mag"><strong>mag</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-operator_bracket_const"><strong>operator_bracket_const</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TriplePtr-slantRange"><strong>slantRange</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>theArray</strong></dt>
+<dd><dl><dt><a name="TriplePtr-<em>get</em>"><strong><em>get</em></strong></a> = Triple_theArray_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="TriplePtr-<em>set</em>"><strong><em>set</em></strong></a> = Triple_theArray_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Triple">Triple</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'theArray': <built-in function Triple_theArray_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'theArray': <built-in function Triple_theArray_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Triple' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="TropModel">class <strong>TropModel</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="TropModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_TropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="TropModel-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="TropModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="TropModel-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModel-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModel-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModel-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModel-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModel-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="TropModelPtr">class <strong>TropModelPtr</strong></a>(<a href="gpstkPython.html#TropModel">TropModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#TropModelPtr">TropModelPtr</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="TropModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="TropModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_TropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="TropModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="TropModelPtr-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModelPtr-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModelPtr-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModelPtr-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModelPtr-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="TropModelPtr-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WrongBlockFormat">class <strong>WrongBlockFormat</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#WrongBlockFormat">WrongBlockFormat</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="WrongBlockFormat-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WrongBlockFormat></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="WrongBlockFormat-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="WrongBlockFormat-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="WrongBlockFormat-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockFormat-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockFormat-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormat-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WrongBlockFormatPtr">class <strong>WrongBlockFormatPtr</strong></a>(<a href="gpstkPython.html#WrongBlockFormat">WrongBlockFormat</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#WrongBlockFormatPtr">WrongBlockFormatPtr</a></dd>
+<dd><a href="gpstkPython.html#WrongBlockFormat">WrongBlockFormat</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="WrongBlockFormatPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#WrongBlockFormat">WrongBlockFormat</a>:<br>
+<dl><dt><a name="WrongBlockFormatPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WrongBlockFormat></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#WrongBlockFormat">WrongBlockFormat</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="WrongBlockFormatPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="WrongBlockFormatPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="WrongBlockFormatPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockFormatPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockFormatPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="WrongBlockFormatPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WrongBlockNumber">class <strong>WrongBlockNumber</strong></a>(<a href="gpstkPython.html#Exception">Exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#WrongBlockNumber">WrongBlockNumber</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="WrongBlockNumber-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WrongBlockNumber></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="WrongBlockNumber-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="WrongBlockNumber-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="WrongBlockNumber-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockNumber-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockNumber-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumber-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WrongBlockNumberPtr">class <strong>WrongBlockNumberPtr</strong></a>(<a href="gpstkPython.html#WrongBlockNumber">WrongBlockNumber</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#WrongBlockNumberPtr">WrongBlockNumberPtr</a></dd>
+<dd><a href="gpstkPython.html#WrongBlockNumber">WrongBlockNumber</a></dd>
+<dd><a href="gpstkPython.html#Exception">Exception</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="WrongBlockNumberPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#WrongBlockNumber">WrongBlockNumber</a>:<br>
+<dl><dt><a name="WrongBlockNumberPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WrongBlockNumber></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-class_operator_assignment"><strong>class_operator_assignment</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getName"><strong>getName</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#WrongBlockNumber">WrongBlockNumber</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><a name="WrongBlockNumberPtr-addLocation"><strong>addLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-addText"><strong>addText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-dump"><strong>dump</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getErrorId"><strong>getErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getLocation"><strong>getLocation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getLocationCount"><strong>getLocationCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getText"><strong>getText</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getTextCount"><strong>getTextCount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-isRecoverable"><strong>isRecoverable</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-setErrorId"><strong>setErrorId</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-setSeverity"><strong>setSeverity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-terminate"><strong>terminate</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Exception">Exception</a>:<br>
+<dl><dt><strong>recoverable</strong> = 1</dl>
+
+<dl><dt><strong>unrecoverable</strong> = 0</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="WrongBlockNumberPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="WrongBlockNumberPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockNumberPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="WrongBlockNumberPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="WrongBlockNumberPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WxObsData">class <strong>WxObsData</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="WxObsData-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WxObsData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WxObsData-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="WxObsData-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WxObsData-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WxObsData-getMostRecent"><strong>getMostRecent</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WxObsData-getWxObservation"><strong>getWxObservation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WxObsData-insertObservation"><strong>insertObservation</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>firstTime</strong></dt>
+<dd><dl><dt><a name="WxObsData-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_firstTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsData-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_firstTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastTime</strong></dt>
+<dd><dl><dt><a name="WxObsData-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_lastTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsData-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_lastTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="WxObsData-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsData-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rxId</strong></dt>
+<dd><dl><dt><a name="WxObsData-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_rxId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsData-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_rxId_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'firstTime': <built-in function WxObsData_firstTime_get>, 'lastTime': <built-in function WxObsData_lastTime_get>, 'obs': <built-in function WxObsData_obs_get>, 'rxId': <built-in function WxObsData_rxId_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'firstTime': <built-in function WxObsData_firstTime_set>, 'lastTime': <built-in function WxObsData_lastTime_set>, 'obs': <built-in function WxObsData_obs_set>, 'rxId': <built-in function WxObsData_rxId_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'WxObsData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WxObsDataPtr">class <strong>WxObsDataPtr</strong></a>(<a href="gpstkPython.html#WxObsData">WxObsData</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#WxObsDataPtr">WxObsDataPtr</a></dd>
+<dd><a href="gpstkPython.html#WxObsData">WxObsData</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="WxObsDataPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#WxObsData">WxObsData</a>:<br>
+<dl><dt><a name="WxObsDataPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WxObsData></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WxObsDataPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WxObsDataPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WxObsDataPtr-getMostRecent"><strong>getMostRecent</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WxObsDataPtr-getWxObservation"><strong>getWxObservation</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="WxObsDataPtr-insertObservation"><strong>insertObservation</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#WxObsData">WxObsData</a>:<br>
+<dl><dt><strong>firstTime</strong></dt>
+<dd><dl><dt><a name="WxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_firstTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_firstTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>lastTime</strong></dt>
+<dd><dl><dt><a name="WxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_lastTime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_lastTime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obs</strong></dt>
+<dd><dl><dt><a name="WxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_obs_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_obs_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>rxId</strong></dt>
+<dd><dl><dt><a name="WxObsDataPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObsData_rxId_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObsDataPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObsData_rxId_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#WxObsData">WxObsData</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'firstTime': <built-in function WxObsData_firstTime_get>, 'lastTime': <built-in function WxObsData_lastTime_get>, 'obs': <built-in function WxObsData_obs_get>, 'rxId': <built-in function WxObsData_rxId_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'firstTime': <built-in function WxObsData_firstTime_set>, 'lastTime': <built-in function WxObsData_lastTime_set>, 'obs': <built-in function WxObsData_obs_set>, 'rxId': <built-in function WxObsData_rxId_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'WxObsData' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WxObservation">class <strong>WxObservation</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="WxObservation-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WxObservation></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WxObservation-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="WxObservation-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WxObservation-isAllValid"><strong>isAllValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>humidity</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_humidity_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_humidity_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>humiditySource</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_humiditySource_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_humiditySource_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pressure</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_pressure_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_pressure_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pressureSource</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_pressureSource_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_pressureSource_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>t</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_t_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_t_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>temperature</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_temperature_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_temperature_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>temperatureSource</strong></dt>
+<dd><dl><dt><a name="WxObservation-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_temperatureSource_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservation-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_temperatureSource_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'humidity': <built-in function WxObservation_humidity_get>, 'humiditySource': <built-in function WxObservation_humiditySource_get>, 'pressure': <built-in function WxObservation_pressure_get>, 'pressureSource': <built-in function WxObservation_pressureSource_get>, 't': <built-in function WxObservation_t_get>, 'temperature': <built-in function WxObservation_temperature_get>, 'temperatureSource': <built-i [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'humidity': <built-in function WxObservation_humidity_set>, 'humiditySource': <built-in function WxObservation_humiditySource_set>, 'pressure': <built-in function WxObservation_pressure_set>, 'pressureSource': <built-in function WxObservation_pressureSource_set>, 't': <built-in function WxObservation_t_set>, 'temperature': <built-in function WxObservation_temperature_set>, 'temperatureSource': <built-i [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'WxObservation' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>defWx</strong> = 1</dl>
+
+<dl><dt><strong>noWx</strong> = 0</dl>
+
+<dl><dt><strong>obsWx</strong> = 2</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="WxObservationPtr">class <strong>WxObservationPtr</strong></a>(<a href="gpstkPython.html#WxObservation">WxObservation</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#WxObservationPtr">WxObservationPtr</a></dd>
+<dd><a href="gpstkPython.html#WxObservation">WxObservation</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="WxObservationPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#WxObservation">WxObservation</a>:<br>
+<dl><dt><a name="WxObservationPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_WxObservation></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="WxObservationPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="WxObservationPtr-isAllValid"><strong>isAllValid</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#WxObservation">WxObservation</a>:<br>
+<dl><dt><strong>humidity</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_humidity_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_humidity_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>humiditySource</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_humiditySource_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_humiditySource_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pressure</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_pressure_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_pressure_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>pressureSource</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_pressureSource_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_pressureSource_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>t</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_t_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_t_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>temperature</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_temperature_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_temperature_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>temperatureSource</strong></dt>
+<dd><dl><dt><a name="WxObservationPtr-<em>get</em>"><strong><em>get</em></strong></a> = WxObservation_temperatureSource_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="WxObservationPtr-<em>set</em>"><strong><em>set</em></strong></a> = WxObservation_temperatureSource_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#WxObservation">WxObservation</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'humidity': <built-in function WxObservation_humidity_get>, 'humiditySource': <built-in function WxObservation_humiditySource_get>, 'pressure': <built-in function WxObservation_pressure_get>, 'pressureSource': <built-in function WxObservation_pressureSource_get>, 't': <built-in function WxObservation_t_get>, 'temperature': <built-in function WxObservation_temperature_get>, 'temperatureSource': <built-i [...]
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'humidity': <built-in function WxObservation_humidity_set>, 'humiditySource': <built-in function WxObservation_humiditySource_set>, 'pressure': <built-in function WxObservation_pressure_set>, 'pressureSource': <built-in function WxObservation_pressureSource_set>, 't': <built-in function WxObservation_t_set>, 'temperature': <built-in function WxObservation_temperature_set>, 'temperatureSource': <built-i [...]
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'WxObservation' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>defWx</strong> = 1</dl>
+
+<dl><dt><strong>noWx</strong> = 0</dl>
+
+<dl><dt><strong>obsWx</strong> = 2</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="X1Sequence">class <strong>X1Sequence</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="X1Sequence-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_X1Sequence></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="X1Sequence-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="X1Sequence-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="X1Sequence-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="X1Sequence-allocateMemory"><strong>allocateMemory</strong></a> = X1Sequence_allocateMemory(...)</dt></dl>
+
+<dl><dt><a name="X1Sequence-deAllocateMemory"><strong>deAllocateMemory</strong></a> = X1Sequence_deAllocateMemory(...)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'allocateMemory': <function <lambda>>, 'deAllocateMemory': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'X1Sequence' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="X1SequencePtr">class <strong>X1SequencePtr</strong></a>(<a href="gpstkPython.html#X1Sequence">X1Sequence</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#X1SequencePtr">X1SequencePtr</a></dd>
+<dd><a href="gpstkPython.html#X1Sequence">X1Sequence</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="X1SequencePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#X1Sequence">X1Sequence</a>:<br>
+<dl><dt><a name="X1SequencePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_X1Sequence></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="X1SequencePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="X1SequencePtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#X1Sequence">X1Sequence</a>:<br>
+<dl><dt><a name="X1SequencePtr-allocateMemory"><strong>allocateMemory</strong></a> = X1Sequence_allocateMemory(...)</dt></dl>
+
+<dl><dt><a name="X1SequencePtr-deAllocateMemory"><strong>deAllocateMemory</strong></a> = X1Sequence_deAllocateMemory(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#X1Sequence">X1Sequence</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'allocateMemory': <function <lambda>>, 'deAllocateMemory': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'X1Sequence' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="X2Sequence">class <strong>X2Sequence</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="X2Sequence-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_X2Sequence></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="X2Sequence-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="X2Sequence-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="X2Sequence-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="X2Sequence-setEOWX2Epoch"><strong>setEOWX2Epoch</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="X2Sequence-allocateMemory"><strong>allocateMemory</strong></a> = X2Sequence_allocateMemory(...)</dt></dl>
+
+<dl><dt><a name="X2Sequence-deAllocateMemory"><strong>deAllocateMemory</strong></a> = X2Sequence_deAllocateMemory(...)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'allocateMemory': <function <lambda>>, 'deAllocateMemory': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'X2Sequence' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="X2SequencePtr">class <strong>X2SequencePtr</strong></a>(<a href="gpstkPython.html#X2Sequence">X2Sequence</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#X2SequencePtr">X2SequencePtr</a></dd>
+<dd><a href="gpstkPython.html#X2Sequence">X2Sequence</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="X2SequencePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#X2Sequence">X2Sequence</a>:<br>
+<dl><dt><a name="X2SequencePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_X2Sequence></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="X2SequencePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="X2SequencePtr-class_operator_bracket"><strong>class_operator_bracket</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="X2SequencePtr-setEOWX2Epoch"><strong>setEOWX2Epoch</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#X2Sequence">X2Sequence</a>:<br>
+<dl><dt><a name="X2SequencePtr-allocateMemory"><strong>allocateMemory</strong></a> = X2Sequence_allocateMemory(...)</dt></dl>
+
+<dl><dt><a name="X2SequencePtr-deAllocateMemory"><strong>deAllocateMemory</strong></a> = X2Sequence_deAllocateMemory(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#X2Sequence">X2Sequence</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'allocateMemory': <function <lambda>>, 'deAllocateMemory': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'X2Sequence' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="Xvt">class <strong>Xvt</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="Xvt-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Xvt></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="Xvt-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="Xvt-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="Xvt-preciseRho"><strong>preciseRho</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>ddtime</strong></dt>
+<dd><dl><dt><a name="Xvt-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_ddtime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Xvt-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_ddtime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>dtime</strong></dt>
+<dd><dl><dt><a name="Xvt-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_dtime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Xvt-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_dtime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>v</strong></dt>
+<dd><dl><dt><a name="Xvt-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_v_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Xvt-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_v_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>x</strong></dt>
+<dd><dl><dt><a name="Xvt-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_x_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="Xvt-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_x_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'ddtime': <built-in function Xvt_ddtime_get>, 'dtime': <built-in function Xvt_dtime_get>, 'v': <built-in function Xvt_v_get>, 'x': <built-in function Xvt_x_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'ddtime': <built-in function Xvt_ddtime_set>, 'dtime': <built-in function Xvt_dtime_set>, 'v': <built-in function Xvt_v_set>, 'x': <built-in function Xvt_x_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Xvt' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="XvtPtr">class <strong>XvtPtr</strong></a>(<a href="gpstkPython.html#Xvt">Xvt</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#XvtPtr">XvtPtr</a></dd>
+<dd><a href="gpstkPython.html#Xvt">Xvt</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="XvtPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#Xvt">Xvt</a>:<br>
+<dl><dt><a name="XvtPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_Xvt></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="XvtPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="XvtPtr-preciseRho"><strong>preciseRho</strong></a>(*args)</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#Xvt">Xvt</a>:<br>
+<dl><dt><strong>ddtime</strong></dt>
+<dd><dl><dt><a name="XvtPtr-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_ddtime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="XvtPtr-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_ddtime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>dtime</strong></dt>
+<dd><dl><dt><a name="XvtPtr-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_dtime_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="XvtPtr-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_dtime_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>v</strong></dt>
+<dd><dl><dt><a name="XvtPtr-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_v_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="XvtPtr-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_v_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>x</strong></dt>
+<dd><dl><dt><a name="XvtPtr-<em>get</em>"><strong><em>get</em></strong></a> = Xvt_x_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="XvtPtr-<em>set</em>"><strong><em>set</em></strong></a> = Xvt_x_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#Xvt">Xvt</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'ddtime': <built-in function Xvt_ddtime_get>, 'dtime': <built-in function Xvt_dtime_get>, 'v': <built-in function Xvt_v_get>, 'x': <built-in function Xvt_x_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'ddtime': <built-in function Xvt_ddtime_set>, 'dtime': <built-in function Xvt_dtime_set>, 'v': <built-in function Xvt_v_set>, 'x': <built-in function Xvt_x_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'Xvt' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ZeroTropModel">class <strong>ZeroTropModel</strong></a>(<a href="gpstkPython.html#TropModel">TropModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ZeroTropModel">ZeroTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ZeroTropModel-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ZeroTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="ZeroTropModel-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModel-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ZeroTropModelPtr">class <strong>ZeroTropModelPtr</strong></a>(<a href="gpstkPython.html#ZeroTropModel">ZeroTropModel</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ZeroTropModelPtr">ZeroTropModelPtr</a></dd>
+<dd><a href="gpstkPython.html#ZeroTropModel">ZeroTropModel</a></dd>
+<dd><a href="gpstkPython.html#TropModel">TropModel</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ZeroTropModelPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ZeroTropModel">ZeroTropModel</a>:<br>
+<dl><dt><a name="ZeroTropModelPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ZeroTropModel></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-correction"><strong>correction</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-dry_mapping_function"><strong>dry_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-dry_zenith_delay"><strong>dry_zenith_delay</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-wet_mapping_function"><strong>wet_mapping_function</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-wet_zenith_delay"><strong>wet_zenith_delay</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ZeroTropModel">ZeroTropModel</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><a name="ZeroTropModelPtr-isValid"><strong>isValid</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ZeroTropModelPtr-setWeather"><strong>setWeather</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#TropModel">TropModel</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'TropModel' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="bad_exception">class <strong>bad_exception</strong></a>(<a href="gpstkPython.html#exception">exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="bad_exception-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_bad_exception></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="bad_exception-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="bad_exception-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="bad_exception-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="bad_exceptionPtr">class <strong>bad_exceptionPtr</strong></a>(<a href="gpstkPython.html#bad_exception">bad_exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#bad_exceptionPtr">bad_exceptionPtr</a></dd>
+<dd><a href="gpstkPython.html#bad_exception">bad_exception</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="bad_exceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#bad_exception">bad_exception</a>:<br>
+<dl><dt><a name="bad_exceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_bad_exception></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="bad_exceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#bad_exception">bad_exception</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="bad_exceptionPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="domain_error">class <strong>domain_error</strong></a>(<a href="gpstkPython.html#logic_error">logic_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#domain_error">domain_error</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="domain_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_domain_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="domain_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="domain_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="domain_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="domain_errorPtr">class <strong>domain_errorPtr</strong></a>(<a href="gpstkPython.html#domain_error">domain_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#domain_errorPtr">domain_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#domain_error">domain_error</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="domain_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#domain_error">domain_error</a>:<br>
+<dl><dt><a name="domain_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_domain_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="domain_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#domain_error">domain_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="domain_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="exception">class <strong>exception</strong></a></font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="exception-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_exception></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="exception-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="exception-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="exception-what"><strong>what</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="exceptionPtr">class <strong>exceptionPtr</strong></a>(<a href="gpstkPython.html#exception">exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="exceptionPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="exceptionPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_exception></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="exceptionPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="exceptionPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="invalid_argument">class <strong>invalid_argument</strong></a>(<a href="gpstkPython.html#logic_error">logic_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#invalid_argument">invalid_argument</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="invalid_argument-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_invalid_argument></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="invalid_argument-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="invalid_argument-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="invalid_argument-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="invalid_argumentPtr">class <strong>invalid_argumentPtr</strong></a>(<a href="gpstkPython.html#invalid_argument">invalid_argument</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#invalid_argumentPtr">invalid_argumentPtr</a></dd>
+<dd><a href="gpstkPython.html#invalid_argument">invalid_argument</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="invalid_argumentPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#invalid_argument">invalid_argument</a>:<br>
+<dl><dt><a name="invalid_argumentPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_invalid_argument></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="invalid_argumentPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#invalid_argument">invalid_argument</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="invalid_argumentPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ios">class <strong>ios</strong></a>(<a href="gpstkPython.html#ios_base">ios_base</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ios-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ios></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ios-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ios-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ios-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ios-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ios-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ios-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="iosPtr">class <strong>iosPtr</strong></a>(<a href="gpstkPython.html#ios">ios</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#iosPtr">iosPtr</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="iosPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="iosPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ios></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="iosPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="iosPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="iosPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iosPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="iosPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="iosPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ios_base">class <strong>ios_base</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="ios_base-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ios_base></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ios_base-__init__"><strong>__init__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="ios_base-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ios_base-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_base-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods defined here:<br>
+<dl><dt><a name="ios_base-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ios_base-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ios_basePtr">class <strong>ios_basePtr</strong></a>(<a href="gpstkPython.html#ios_base">ios_base</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ios_basePtr">ios_basePtr</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ios_basePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ios_basePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ios_base></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ios_basePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ios_basePtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ios_basePtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ios_basePtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="iostream">class <strong>iostream</strong></a>(<a href="gpstkPython.html#istream">istream</a>, <a href="gpstkPython.html#ostream">ostream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#iostream">iostream</a></dd>
+<dd><a href="gpstkPython.html#istream">istream</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="iostream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_iostream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="iostream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="iostream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#istream">istream</a>:<br>
+<dl><dt><a name="iostream-__rshift__"><strong>__rshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-gcount"><strong>gcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-get"><strong>get</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-getline"><strong>getline</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-ignore"><strong>ignore</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-peek"><strong>peek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-putback"><strong>putback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-read"><strong>read</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-readsome"><strong>readsome</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-seekg"><strong>seekg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-sync"><strong>sync</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-tellg"><strong>tellg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-unget"><strong>unget</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="iostream-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="iostream-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="iostream-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostream-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="iostream-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="iostream-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="iostreamPtr">class <strong>iostreamPtr</strong></a>(<a href="gpstkPython.html#iostream">iostream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#iostreamPtr">iostreamPtr</a></dd>
+<dd><a href="gpstkPython.html#iostream">iostream</a></dd>
+<dd><a href="gpstkPython.html#istream">istream</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="iostreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#iostream">iostream</a>:<br>
+<dl><dt><a name="iostreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_iostream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="iostreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#iostream">iostream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#istream">istream</a>:<br>
+<dl><dt><a name="iostreamPtr-__rshift__"><strong>__rshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-gcount"><strong>gcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-get"><strong>get</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-getline"><strong>getline</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-ignore"><strong>ignore</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-peek"><strong>peek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-putback"><strong>putback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-read"><strong>read</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-readsome"><strong>readsome</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-seekg"><strong>seekg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-sync"><strong>sync</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-tellg"><strong>tellg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-unget"><strong>unget</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="iostreamPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="iostreamPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="iostreamPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="iostreamPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="iostreamPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="istream">class <strong>istream</strong></a>(<a href="gpstkPython.html#ios">ios</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#istream">istream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="istream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_istream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="istream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="istream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="istream-__rshift__"><strong>__rshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="istream-gcount"><strong>gcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-get"><strong>get</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-getline"><strong>getline</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-ignore"><strong>ignore</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-peek"><strong>peek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-putback"><strong>putback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-read"><strong>read</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-readsome"><strong>readsome</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-seekg"><strong>seekg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-sync"><strong>sync</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-tellg"><strong>tellg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-unget"><strong>unget</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="istream-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="istream-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istream-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="istream-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="istream-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="istreamPtr">class <strong>istreamPtr</strong></a>(<a href="gpstkPython.html#istream">istream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#istreamPtr">istreamPtr</a></dd>
+<dd><a href="gpstkPython.html#istream">istream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="istreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#istream">istream</a>:<br>
+<dl><dt><a name="istreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_istream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="istreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><a name="istreamPtr-__rshift__"><strong>__rshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="istreamPtr-gcount"><strong>gcount</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-get"><strong>get</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-getline"><strong>getline</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-ignore"><strong>ignore</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-peek"><strong>peek</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-putback"><strong>putback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-read"><strong>read</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-readsome"><strong>readsome</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-seekg"><strong>seekg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-sync"><strong>sync</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-tellg"><strong>tellg</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-unget"><strong>unget</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#istream">istream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="istreamPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="istreamPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="istreamPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="istreamPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="istreamPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="length_error">class <strong>length_error</strong></a>(<a href="gpstkPython.html#logic_error">logic_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#length_error">length_error</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="length_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_length_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="length_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="length_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="length_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="length_errorPtr">class <strong>length_errorPtr</strong></a>(<a href="gpstkPython.html#length_error">length_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#length_errorPtr">length_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#length_error">length_error</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="length_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#length_error">length_error</a>:<br>
+<dl><dt><a name="length_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_length_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="length_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#length_error">length_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="length_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="logic_error">class <strong>logic_error</strong></a>(<a href="gpstkPython.html#exception">exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="logic_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_logic_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="logic_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="logic_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="logic_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="logic_errorPtr">class <strong>logic_errorPtr</strong></a>(<a href="gpstkPython.html#logic_error">logic_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#logic_errorPtr">logic_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="logic_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#logic_error">logic_error</a>:<br>
+<dl><dt><a name="logic_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_logic_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="logic_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#logic_error">logic_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="logic_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ostream">class <strong>ostream</strong></a>(<a href="gpstkPython.html#ios">ios</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ostream-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ostream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ostream-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="ostream-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ostream-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ostream-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ostream-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostream-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ostream-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ostream-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="ostreamPtr">class <strong>ostreamPtr</strong></a>(<a href="gpstkPython.html#ostream">ostream</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#ostreamPtr">ostreamPtr</a></dd>
+<dd><a href="gpstkPython.html#ostream">ostream</a></dd>
+<dd><a href="gpstkPython.html#ios">ios</a></dd>
+<dd><a href="gpstkPython.html#ios_base">ios_base</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="ostreamPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><a name="ostreamPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_ostream></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="ostreamPtr-__lshift__"><strong>__lshift__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="ostreamPtr-flush"><strong>flush</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-put"><strong>put</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-seekp"><strong>seekp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-tellp"><strong>tellp</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-write"><strong>write</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ostream">ostream</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {'sync_with_stdio': <function <lambda>>, 'xalloc': <function <lambda>>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios">ios</a>:<br>
+<dl><dt><a name="ostreamPtr-bad"><strong>bad</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-copyfmt"><strong>copyfmt</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-eof"><strong>eof</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-exceptions"><strong>exceptions</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-fail"><strong>fail</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-fill"><strong>fill</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-good"><strong>good</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-imbue"><strong>imbue</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-narrow"><strong>narrow</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-rdbuf"><strong>rdbuf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-rdstate"><strong>rdstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-setstate"><strong>setstate</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-tie"><strong>tie</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-widen"><strong>widen</strong></a>(*args)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ostreamPtr-flags"><strong>flags</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-getloc"><strong>getloc</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-iword"><strong>iword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-precision"><strong>precision</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-pword"><strong>pword</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-register_callback"><strong>register_callback</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-setf"><strong>setf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-unsetf"><strong>unsetf</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-width"><strong>width</strong></a>(*args)</dt></dl>
+
+<hr>
+Static methods inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><a name="ostreamPtr-sync_with_stdio"><strong>sync_with_stdio</strong></a> = ios_base_sync_with_stdio(...)</dt></dl>
+
+<dl><dt><a name="ostreamPtr-xalloc"><strong>xalloc</strong></a> = ios_base_xalloc(...)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#ios_base">ios_base</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'ios_base' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+<dl><dt><strong>adjustfield</strong> = 176</dl>
+
+<dl><dt><strong>app</strong> = 1</dl>
+
+<dl><dt><strong>ate</strong> = 2</dl>
+
+<dl><dt><strong>badbit</strong> = 1</dl>
+
+<dl><dt><strong>basefield</strong> = 74</dl>
+
+<dl><dt><strong>beg</strong> = 0</dl>
+
+<dl><dt><strong>binary</strong> = 4</dl>
+
+<dl><dt><strong>boolalpha</strong> = 1</dl>
+
+<dl><dt><strong>copyfmt_event</strong> = 2</dl>
+
+<dl><dt><strong>cur</strong> = 1</dl>
+
+<dl><dt><strong>dec</strong> = 2</dl>
+
+<dl><dt><strong>end</strong> = 2</dl>
+
+<dl><dt><strong>eofbit</strong> = 2</dl>
+
+<dl><dt><strong>erase_event</strong> = 0</dl>
+
+<dl><dt><strong>failbit</strong> = 4</dl>
+
+<dl><dt><strong>fixed</strong> = 4</dl>
+
+<dl><dt><strong>floatfield</strong> = 260</dl>
+
+<dl><dt><strong>goodbit</strong> = 0</dl>
+
+<dl><dt><strong>hex</strong> = 8</dl>
+
+<dl><dt><strong>imbue_event</strong> = 1</dl>
+
+<dl><dt><strong>internal</strong> = 16</dl>
+
+<dl><dt><strong>ios_base_in</strong> = 8</dl>
+
+<dl><dt><strong>left</strong> = 32</dl>
+
+<dl><dt><strong>oct</strong> = 64</dl>
+
+<dl><dt><strong>out</strong> = 16</dl>
+
+<dl><dt><strong>right</strong> = 128</dl>
+
+<dl><dt><strong>scientific</strong> = 256</dl>
+
+<dl><dt><strong>showbase</strong> = 512</dl>
+
+<dl><dt><strong>showpoint</strong> = 1024</dl>
+
+<dl><dt><strong>showpos</strong> = 2048</dl>
+
+<dl><dt><strong>skipws</strong> = 4096</dl>
+
+<dl><dt><strong>trunc</strong> = 32</dl>
+
+<dl><dt><strong>unitbuf</strong> = 8192</dl>
+
+<dl><dt><strong>uppercase</strong> = 16384</dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="out_of_range">class <strong>out_of_range</strong></a>(<a href="gpstkPython.html#logic_error">logic_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#out_of_range">out_of_range</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="out_of_range-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_out_of_range></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="out_of_range-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="out_of_range-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="out_of_range-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="out_of_rangePtr">class <strong>out_of_rangePtr</strong></a>(<a href="gpstkPython.html#out_of_range">out_of_range</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#out_of_rangePtr">out_of_rangePtr</a></dd>
+<dd><a href="gpstkPython.html#out_of_range">out_of_range</a></dd>
+<dd><a href="gpstkPython.html#logic_error">logic_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="out_of_rangePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#out_of_range">out_of_range</a>:<br>
+<dl><dt><a name="out_of_rangePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_out_of_range></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="out_of_rangePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#out_of_range">out_of_range</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="out_of_rangePtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="overflow_error">class <strong>overflow_error</strong></a>(<a href="gpstkPython.html#runtime_error">runtime_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#overflow_error">overflow_error</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="overflow_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_overflow_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="overflow_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="overflow_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="overflow_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="overflow_errorPtr">class <strong>overflow_errorPtr</strong></a>(<a href="gpstkPython.html#overflow_error">overflow_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#overflow_errorPtr">overflow_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#overflow_error">overflow_error</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="overflow_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#overflow_error">overflow_error</a>:<br>
+<dl><dt><a name="overflow_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_overflow_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="overflow_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#overflow_error">overflow_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="overflow_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="range_error">class <strong>range_error</strong></a>(<a href="gpstkPython.html#runtime_error">runtime_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#range_error">range_error</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="range_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_range_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="range_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="range_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="range_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="range_errorPtr">class <strong>range_errorPtr</strong></a>(<a href="gpstkPython.html#range_error">range_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#range_errorPtr">range_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#range_error">range_error</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="range_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#range_error">range_error</a>:<br>
+<dl><dt><a name="range_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_range_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="range_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#range_error">range_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="range_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="runtime_error">class <strong>runtime_error</strong></a>(<a href="gpstkPython.html#exception">exception</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="runtime_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_runtime_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="runtime_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="runtime_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="runtime_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="runtime_errorPtr">class <strong>runtime_errorPtr</strong></a>(<a href="gpstkPython.html#runtime_error">runtime_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#runtime_errorPtr">runtime_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="runtime_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#runtime_error">runtime_error</a>:<br>
+<dl><dt><a name="runtime_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_runtime_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="runtime_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#runtime_error">runtime_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="runtime_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="sensorPosType">class <strong>sensorPosType</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="sensorPosType-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_sensorPosType></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="sensorPosType-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="sensorPosType-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>height</strong></dt>
+<dd><dl><dt><a name="sensorPosType-<em>get</em>"><strong><em>get</em></strong></a> = sensorPosType_height_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorPosType-<em>set</em>"><strong><em>set</em></strong></a> = sensorPosType_height_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsType</strong></dt>
+<dd><dl><dt><a name="sensorPosType-<em>get</em>"><strong><em>get</em></strong></a> = sensorPosType_obsType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorPosType-<em>set</em>"><strong><em>set</em></strong></a> = sensorPosType_obsType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>position</strong></dt>
+<dd><dl><dt><a name="sensorPosType-<em>get</em>"><strong><em>get</em></strong></a> = sensorPosType_position_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorPosType-<em>set</em>"><strong><em>set</em></strong></a> = sensorPosType_position_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'height': <built-in function sensorPosType_height_get>, 'obsType': <built-in function sensorPosType_obsType_get>, 'position': <built-in function sensorPosType_position_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'height': <built-in function sensorPosType_height_set>, 'obsType': <built-in function sensorPosType_obsType_set>, 'position': <built-in function sensorPosType_position_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'sensorPosType' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="sensorPosTypePtr">class <strong>sensorPosTypePtr</strong></a>(<a href="gpstkPython.html#sensorPosType">sensorPosType</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#sensorPosTypePtr">sensorPosTypePtr</a></dd>
+<dd><a href="gpstkPython.html#sensorPosType">sensorPosType</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="sensorPosTypePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#sensorPosType">sensorPosType</a>:<br>
+<dl><dt><a name="sensorPosTypePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_sensorPosType></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="sensorPosTypePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#sensorPosType">sensorPosType</a>:<br>
+<dl><dt><strong>height</strong></dt>
+<dd><dl><dt><a name="sensorPosTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorPosType_height_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorPosTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorPosType_height_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsType</strong></dt>
+<dd><dl><dt><a name="sensorPosTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorPosType_obsType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorPosTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorPosType_obsType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>position</strong></dt>
+<dd><dl><dt><a name="sensorPosTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorPosType_position_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorPosTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorPosType_position_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#sensorPosType">sensorPosType</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'height': <built-in function sensorPosType_height_get>, 'obsType': <built-in function sensorPosType_obsType_get>, 'position': <built-in function sensorPosType_position_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'height': <built-in function sensorPosType_height_set>, 'obsType': <built-in function sensorPosType_obsType_set>, 'position': <built-in function sensorPosType_position_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'sensorPosType' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="sensorType">class <strong>sensorType</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="sensorType-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_sensorType></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="sensorType-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="sensorType-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties defined here:<br>
+<dl><dt><strong>accuracy</strong></dt>
+<dd><dl><dt><a name="sensorType-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_accuracy_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorType-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_accuracy_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>model</strong></dt>
+<dd><dl><dt><a name="sensorType-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_model_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorType-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_model_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsType</strong></dt>
+<dd><dl><dt><a name="sensorType-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_obsType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorType-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_obsType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>type</strong></dt>
+<dd><dl><dt><a name="sensorType-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_type_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorType-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_type_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'accuracy': <built-in function sensorType_accuracy_get>, 'model': <built-in function sensorType_model_get>, 'obsType': <built-in function sensorType_obsType_get>, 'type': <built-in function sensorType_type_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'accuracy': <built-in function sensorType_accuracy_set>, 'model': <built-in function sensorType_model_set>, 'obsType': <built-in function sensorType_obsType_set>, 'type': <built-in function sensorType_type_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'sensorType' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="sensorTypePtr">class <strong>sensorTypePtr</strong></a>(<a href="gpstkPython.html#sensorType">sensorType</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#sensorTypePtr">sensorTypePtr</a></dd>
+<dd><a href="gpstkPython.html#sensorType">sensorType</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="sensorTypePtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#sensorType">sensorType</a>:<br>
+<dl><dt><a name="sensorTypePtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_sensorType></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="sensorTypePtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Properties inherited from <a href="gpstkPython.html#sensorType">sensorType</a>:<br>
+<dl><dt><strong>accuracy</strong></dt>
+<dd><dl><dt><a name="sensorTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_accuracy_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_accuracy_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>model</strong></dt>
+<dd><dl><dt><a name="sensorTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_model_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_model_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>obsType</strong></dt>
+<dd><dl><dt><a name="sensorTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_obsType_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_obsType_set(...)</dt></dl>
+</dd>
+</dl>
+<dl><dt><strong>type</strong></dt>
+<dd><dl><dt><a name="sensorTypePtr-<em>get</em>"><strong><em>get</em></strong></a> = sensorType_type_get(...)</dt></dl>
+</dd>
+<dd><dl><dt><a name="sensorTypePtr-<em>set</em>"><strong><em>set</em></strong></a> = sensorType_type_set(...)</dt></dl>
+</dd>
+</dl>
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#sensorType">sensorType</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {'accuracy': <built-in function sensorType_accuracy_get>, 'model': <built-in function sensorType_model_get>, 'obsType': <built-in function sensorType_obsType_get>, 'type': <built-in function sensorType_type_get>}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {'accuracy': <built-in function sensorType_accuracy_set>, 'model': <built-in function sensorType_model_set>, 'obsType': <built-in function sensorType_obsType_set>, 'type': <built-in function sensorType_type_set>}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'sensorType' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="underflow_error">class <strong>underflow_error</strong></a>(<a href="gpstkPython.html#runtime_error">runtime_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#underflow_error">underflow_error</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="underflow_error-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_underflow_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="underflow_error-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="underflow_error-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="underflow_error-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="underflow_errorPtr">class <strong>underflow_errorPtr</strong></a>(<a href="gpstkPython.html#underflow_error">underflow_error</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#underflow_errorPtr">underflow_errorPtr</a></dd>
+<dd><a href="gpstkPython.html#underflow_error">underflow_error</a></dd>
+<dd><a href="gpstkPython.html#runtime_error">runtime_error</a></dd>
+<dd><a href="gpstkPython.html#exception">exception</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="underflow_errorPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#underflow_error">underflow_error</a>:<br>
+<dl><dt><a name="underflow_errorPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_underflow_error></font>)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="underflow_errorPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#underflow_error">underflow_error</a>:<br>
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#exception">exception</a>:<br>
+<dl><dt><a name="underflow_errorPtr-what"><strong>what</strong></a>(*args)</dt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="vectord">class <strong>vectord</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="vectord-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_vectord></font>)</dt></dl>
+
+<dl><dt><a name="vectord-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-__delslice__"><strong>__delslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="vectord-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-__getslice__"><strong>__getslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="vectord-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="vectord-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-__setslice__"><strong>__setslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-append"><strong>append</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-assign"><strong>assign</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-back"><strong>back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-capacity"><strong>capacity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-front"><strong>front</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-pop"><strong>pop</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-pop_back"><strong>pop_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-push_back"><strong>push_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-reserve"><strong>reserve</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-resize"><strong>resize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectord-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'vectord' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="vectordPtr">class <strong>vectordPtr</strong></a>(<a href="gpstkPython.html#vectord">vectord</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#vectordPtr">vectordPtr</a></dd>
+<dd><a href="gpstkPython.html#vectord">vectord</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="vectordPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#vectord">vectord</a>:<br>
+<dl><dt><a name="vectordPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_vectord></font>)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__delslice__"><strong>__delslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="vectordPtr-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__getslice__"><strong>__getslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="vectordPtr-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-__setslice__"><strong>__setslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-append"><strong>append</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-assign"><strong>assign</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-back"><strong>back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-capacity"><strong>capacity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-front"><strong>front</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-pop"><strong>pop</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-pop_back"><strong>pop_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-push_back"><strong>push_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-reserve"><strong>reserve</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-resize"><strong>resize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectordPtr-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#vectord">vectord</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'vectord' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="vectori">class <strong>vectori</strong></a>(<a href="__builtin__.html#object">__builtin__.object</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%">Methods defined here:<br>
+<dl><dt><a name="vectori-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_vectori></font>)</dt></dl>
+
+<dl><dt><a name="vectori-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-__delslice__"><strong>__delslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="vectori-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-__getslice__"><strong>__getslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-__init__"><strong>__init__</strong></a>(self, *args)</dt></dl>
+
+<dl><dt><a name="vectori-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="vectori-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-__setslice__"><strong>__setslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-append"><strong>append</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-assign"><strong>assign</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-back"><strong>back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-capacity"><strong>capacity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-front"><strong>front</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-pop"><strong>pop</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-pop_back"><strong>pop_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-push_back"><strong>push_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-reserve"><strong>reserve</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-resize"><strong>resize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectori-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes defined here:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'vectori' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table> <p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#ffc8d8">
+<td colspan=3 valign=bottom> <br>
+<font color="#000000" face="helvetica, arial"><a name="vectoriPtr">class <strong>vectoriPtr</strong></a>(<a href="gpstkPython.html#vectori">vectori</a>)</font></td></tr>
+    
+<tr><td bgcolor="#ffc8d8"><tt>   </tt></td><td> </td>
+<td width="100%"><dl><dt>Method resolution order:</dt>
+<dd><a href="gpstkPython.html#vectoriPtr">vectoriPtr</a></dd>
+<dd><a href="gpstkPython.html#vectori">vectori</a></dd>
+<dd><a href="__builtin__.html#object">__builtin__.object</a></dd>
+</dl>
+<hr>
+Methods defined here:<br>
+<dl><dt><a name="vectoriPtr-__init__"><strong>__init__</strong></a>(self, this)</dt></dl>
+
+<hr>
+Methods inherited from <a href="gpstkPython.html#vectori">vectori</a>:<br>
+<dl><dt><a name="vectoriPtr-__del__"><strong>__del__</strong></a>(self, destroy<font color="#909090">=<built-in function delete_vectori></font>)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__delitem__"><strong>__delitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__delslice__"><strong>__delslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><strong>__getattr__</strong> <em>lambda</em> self, name</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__getitem__"><strong>__getitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__getslice__"><strong>__getslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__len__"><strong>__len__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__nonzero__"><strong>__nonzero__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__repr__"><strong>__repr__</strong></a>(self)</dt></dl>
+
+<dl><dt><strong>__setattr__</strong> <em>lambda</em> self, name, value</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__setitem__"><strong>__setitem__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-__setslice__"><strong>__setslice__</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-append"><strong>append</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-assign"><strong>assign</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-back"><strong>back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-capacity"><strong>capacity</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-clear"><strong>clear</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-empty"><strong>empty</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-front"><strong>front</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-get_allocator"><strong>get_allocator</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-pop"><strong>pop</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-pop_back"><strong>pop_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-push_back"><strong>push_back</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-reserve"><strong>reserve</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-resize"><strong>resize</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-size"><strong>size</strong></a>(*args)</dt></dl>
+
+<dl><dt><a name="vectoriPtr-swap"><strong>swap</strong></a>(*args)</dt></dl>
+
+<hr>
+Data and other attributes inherited from <a href="gpstkPython.html#vectori">vectori</a>:<br>
+<dl><dt><strong>__dict__</strong> = <dictproxy object><dd><tt>dictionary for instance variables (if defined)</tt></dl>
+
+<dl><dt><strong>__swig_getmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__swig_setmethods__</strong> = {}</dl>
+
+<dl><dt><strong>__weakref__</strong> = <attribute '__weakref__' of 'vectori' objects><dd><tt>list of weak references to the <a href="__builtin__.html#object">object</a> (if defined)</tt></dl>
+
+</td></tr></table></td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#eeaa77">
+<td colspan=3 valign=bottom> <br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
+    
+<tr><td bgcolor="#eeaa77"><tt>      </tt></td><td> </td>
+<td width="100%"><dl><dt><a name="-AutonomousPRSolution"><strong>AutonomousPRSolution</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTimeException_streamRead"><strong>DayTimeException_streamRead</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_convertCalendarToJD"><strong>DayTime_convertCalendarToJD</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_convertJDtoCalendar"><strong>DayTime_convertJDtoCalendar</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_convertSODtoTime"><strong>DayTime_convertSODtoTime</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_convertTimeToSOD"><strong>DayTime_convertTimeToSOD</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_getDayTimeTolerance"><strong>DayTime_getDayTimeTolerance</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_setDayTimeTolerance"><strong>DayTime_setDayTimeTolerance</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DayTime_streamRead"><strong>DayTime_streamRead</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-DisplayExtendedRinexObsTypes"><strong>DisplayExtendedRinexObsTypes</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-EngNav_convert10bit"><strong>EngNav_convert10bit</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-EngNav_convert8bit"><strong>EngNav_convert8bit</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-EngNav_getSubframePattern"><strong>EngNav_getSubframePattern</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-EngNav_subframeConvert"><strong>EngNav_subframeConvert</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-EngNav_subframeParity"><strong>EngNav_subframeParity</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Exception_streamRead"><strong>Exception_streamRead</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertCartesianToGeocentric"><strong>Position_convertCartesianToGeocentric</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertCartesianToGeodetic"><strong>Position_convertCartesianToGeodetic</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertCartesianToSpherical"><strong>Position_convertCartesianToSpherical</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertGeocentricToCartesian"><strong>Position_convertGeocentricToCartesian</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertGeocentricToGeodetic"><strong>Position_convertGeocentricToGeodetic</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertGeodeticToCartesian"><strong>Position_convertGeodeticToCartesian</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertGeodeticToGeocentric"><strong>Position_convertGeodeticToGeocentric</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_convertSphericalToCartesian"><strong>Position_convertSphericalToCartesian</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_getPositionTolerance"><strong>Position_getPositionTolerance</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Position_setPositionTolerance"><strong>Position_setPositionTolerance</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-PrepareAutonomousSolution"><strong>PrepareAutonomousSolution</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RegisterExtendedRinexObsType"><strong>RegisterExtendedRinexObsType</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RelativityCorrection"><strong>RelativityCorrection</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexMetHeader_bitString"><strong>RinexMetHeader_bitString</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexMetHeader_bitsAsString"><strong>RinexMetHeader_bitsAsString</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexMetHeader_convertObsType"><strong>RinexMetHeader_convertObsType</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexObsHeader_convertObsType"><strong>RinexObsHeader_convertObsType</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexPrnMap_compare"><strong>RinexPrnMap_compare</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexPrnMap_end"><strong>RinexPrnMap_end</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-RinexPrnMap_find"><strong>RinexPrnMap_find</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Triple_streamRead"><strong>Triple_streamRead</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-X1Sequence_allocateMemory"><strong>X1Sequence_allocateMemory</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-X1Sequence_deAllocateMemory"><strong>X1Sequence_deAllocateMemory</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-X2Sequence_allocateMemory"><strong>X2Sequence_allocateMemory</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-X2Sequence_deAllocateMemory"><strong>X2Sequence_deAllocateMemory</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-Xvt_streamRead"><strong>Xvt_streamRead</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-__eq__"><strong>__eq__</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-__lshift__"><strong>__lshift__</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-__lt__"><strong>__lt__</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-__mul__"><strong>__mul__</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-__ne__"><strong>__ne__</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-__rshift__"><strong>__rshift__</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-accuracy2ura"><strong>accuracy2ura</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-endl"><strong>endl</strong></a>(...)</dt><dd><tt>swig_ptr: _d0ce06b7_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t</tt></dd></dl>
+ <dl><dt><a name="-ends"><strong>ends</strong></a>(...)</dt><dd><tt>swig_ptr: _30cf06b7_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t</tt></dd></dl>
+ <dl><dt><a name="-flush"><strong>flush</strong></a>(...)</dt><dd><tt>swig_ptr: _60cf06b7_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t</tt></dd></dl>
+ <dl><dt><a name="-getPseudoRangeCode"><strong>getPseudoRangeCode</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-ios_base_sync_with_stdio"><strong>ios_base_sync_with_stdio</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-ios_base_xalloc"><strong>ios_base_xalloc</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-ios_in"><strong>ios_in</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-ios_out"><strong>ios_out</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-ios_out_trunc"><strong>ios_out_trunc</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-range"><strong>range</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-read"><strong>read</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-streamRead"><strong>streamRead</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-streamWrite"><strong>streamWrite</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-ura2accuracy"><strong>ura2accuracy</strong></a>(...)</dt></dl>
+ <dl><dt><a name="-write"><strong>write</strong></a>(...)</dt></dl>
+</td></tr></table><p>
+<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="#55aa55">
+<td colspan=3 valign=bottom> <br>
+<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
+    
+<tr><td bgcolor="#55aa55"><tt>      </tt></td><td> </td>
+<td width="100%"><strong>C_GPS_M</strong> = 299792458.0<br>
+<strong>L1_FREQ</strong> = 1575420000.0<br>
+<strong>L1_MULT</strong> = 154.0<br>
+<strong>L2_FREQ</strong> = 1227600000.0<br>
+<strong>L2_MULT</strong> = 120.0<br>
+<strong>LENGTH_OF_EOW_OVERLAP</strong> = 34<br>
+<strong>MAX_WORD</strong> = 140<br>
+<strong>MAX_X2_COUNT</strong> = 61380185<br>
+<strong>MAX_X2_TEST</strong> = 61380148<br>
+<strong>OSC_FREQ</strong> = 10230000.0<br>
+<strong>OVERLAP_WORD_POSITION</strong> = 1451897<br>
+<strong>PI</strong> = 3.1415926535898002<br>
+<strong>REL_CONST</strong> = -4.442807633e-10<br>
+<strong>RSVCLK</strong> = 10229999.995449999<br>
+<strong>SQRT_PI</strong> = 1.7724538999999999<br>
+<strong>SV_ACCURACY_MAX_INDEX</strong> = <Swig Object at _206149b7_p_double><br>
+<strong>SV_ACCURACY_MAX_INDEX_VALUE</strong> = 15<br>
+<strong>SV_ACCURACY_MIN_INDEX</strong> = <Swig Object at _a06049b7_p_double><br>
+<strong>TWO_PI</strong> = 6.2831853071796004<br>
+<strong>cerr</strong> = <gpstkPython.ostreamPtr; proxy of C++ std::basic...td__basic_ostreamTchar_std__char_traitsTchar_t_t><br>
+<strong>cin</strong> = <Swig Object at _00c80ab7_p_std__basic_istreamTchar_std__char_traitsTchar_t_t><br>
+<strong>clog</strong> = <gpstkPython.ostreamPtr; proxy of C++ std::basic...td__basic_ostreamTchar_std__char_traitsTchar_t_t><br>
+<strong>cout</strong> = <gpstkPython.ostreamPtr; proxy of C++ std::basic...td__basic_ostreamTchar_std__char_traitsTchar_t_t><br>
+<strong>cvar</strong> = <Swig global variables><br>
+<strong>endl_cb_ptr</strong> = <Swig Object at _d0ce06b7_p_f_r_std__basic_ostre...td__basic_ostreamTchar_std__char_traitsTchar_t_t><br>
+<strong>ends_cb_ptr</strong> = <Swig Object at _30cf06b7_p_f_r_std__basic_ostre...td__basic_ostreamTchar_std__char_traitsTchar_t_t><br>
+<strong>flush_cb_ptr</strong> = <Swig Object at _60cf06b7_p_f_r_std__basic_ostre...td__basic_ostreamTchar_std__char_traitsTchar_t_t><br>
+<strong>systemGPS</strong> = 1<br>
+<strong>systemGeosync</strong> = 4<br>
+<strong>systemGlonass</strong> = 2<br>
+<strong>systemMixed</strong> = 5<br>
+<strong>systemTransit</strong> = 3</td></tr></table>
+</body></html>
\ No newline at end of file
diff --git a/trunk/apps/bindings/python/gpstkPython.i b/trunk/apps/bindings/python/gpstkPython.i
new file mode 100644
index 0000000..99914a1
--- /dev/null
+++ b/trunk/apps/bindings/python/gpstkPython.i
@@ -0,0 +1,321 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+
+
+%module gpstkPython
+%{
+#include <iostream>
+#include <fstream>
+#include <valarray>
+#include <string>
+#include <map>
+#include <ios>
+
+#include "../../../src/DayTime.hpp"
+#include "../../../src/FFStream.hpp"
+#include "../../../src/RinexObsBase.hpp"
+#include "../../../src/Triple.hpp"
+#include "../../../src/RinexObsHeader.hpp"
+#include "../../../src/Exception.hpp"
+#include "../../../src/GPSZcount.hpp"
+#include "../../../src/RinexObsStream.hpp"
+#include "../../../src/ECEF.hpp"
+#include "../../../src/Geodetic.hpp"
+#include "../../../src/geometry.hpp"
+#include "../../../src/Xvt.hpp"
+#include "../../../src/RinexObsData.hpp"
+#include "../../../src/Position.hpp"
+#include "../../../src/RAIMSolution.hpp"
+#include "../../../src/AlmanacStore.hpp"
+#include "../../../src/AlmOrbit.hpp"
+#include "../../../src/ValidType.hpp"
+#include "../../../src/X1Sequence.hpp"
+// mergePCodeWords.h must be present in directory for X2Sequence
+#include "../../../src/X2Sequence.hpp"
+#include "../../../src/CodeBuffer.hpp"
+#include "../../../src/SatID.hpp"
+#include "../../../src/GenXSequence.hpp"
+#include "../../../src/SVPCodeGen.hpp"
+#include "../../../src/EphemerisRange.hpp"
+#include "../../../src/EngEphemeris.hpp"
+#include "../../../src/EngAlmanac.hpp"
+#include "../../../src/EngNav.hpp"
+#include "../../../src/ObservationStore.hpp"
+#include "../../../src/IonoModel.hpp"
+#include "../../../src/IonoModelStore.hpp"
+#include "../../../src/TropModel.hpp"
+#include "../../../src/ClockModel.hpp"
+#include "../../../src/ObsClockModel.hpp"
+#include "../../../src/EpochClockModel.hpp"
+#include "../../../src/LinearClockModel.hpp"
+#include "../../../src/ObsRngDev.hpp"
+#include "../../../src/ORDEpoch.hpp"
+#include "../../../src/RungeKutta4.hpp"
+#include "../../../src/Stats.hpp"
+#include "../../../src/RinexEphemerisStore.hpp"
+#include "../../../src/SP3EphemerisStore.hpp"
+#include "../../../src/FileHunter.hpp"
+//#include "../../../src/FileStore.hpp"
+#include "../../../src/RinexNavHeader.hpp"
+//#include "../../../src/TabularEphemerisStore.hpp"
+//#include "../../../src/EphemerisStore.hpp"
+#include "../../../src/BCEphemerisStore.hpp"
+#include "../../../src/SP3Header.hpp"
+//#include "../../../src/SP3Base.hpp"
+//#include "../../../src/RinexNavBase.hpp"
+#include "../../../src/FFData.hpp"
+#include "../../../src/FICStream.hpp"
+#include "../../../src/FICAStream.hpp"
+#include "../../../src/MSCStream.hpp"
+#include "../../../src/RinexMetStream.hpp"
+#include "../../../src/RinexNavStream.hpp"
+#include "../../../src/SMODFStream.hpp"
+#include "../../../src/SP3Stream.hpp"
+#include "../../../src/FFTextStream.hpp"
+
+#include "../../../src/FICData.hpp"
+#include "../../../src/FICHeader.hpp"
+#include "../../../src/RinexMetData.hpp"
+#include "../../../src/RinexMetHeader.hpp"
+#include "../../../src/RinexNavData.hpp"
+#include "../../../src/SP3Data.hpp"
+#include "../../../src/icd_200_constants.hpp"
+
+#include "gpstkPythonUtils.cpp"
+#include "streamRead.cpp"
+
+using namespace std;
+using namespace gpstk;
+
+// RinexObsType and ExtraWaveFact are defined under scope of RinexObsHeader
+// SWIG doesn't support nested C++ structs so the wrap file will call
+//   RinexObsType in global space
+// This is to define RinexObsType and ExtraWaveFact in the global space
+typedef RinexObsHeader::RinexObsType RinexObsType;
+typedef RinexObsHeader::ExtraWaveFact ExtraWaveFact;
+
+// Same technique for nested classes in DayTime.hpp
+typedef DayTime::DayTimeException DayTimeException;
+typedef DayTime::FormatException FormatException;
+
+typedef RinexObsData::RinexDatum RinexDatum;
+
+// Originally from gpstkPython2.i
+typedef AlmanacStore::NoAlmanacFound NoAlmanacFound;
+typedef EngAlmanac::SVNotPresentException SVNotPresentException;
+typedef TropModel::InvalidTropModel InvalidTropModel;
+typedef IonoModelStore::NoIonoModelFound NoIonoModelFound;
+typedef IonoModel::InvalidIonoModel InvalidIonoModel;
+
+typedef RinexMetHeader::RinexMetType RinexMetType;
+typedef RinexMetHeader::sensorType sensorType;
+typedef RinexMetHeader::sensorPosType sensorPosType;
+typedef EphemerisStore::NoEphemerisFound NoEphemerisFound;
+typedef RinexObsData::RinexPrnMap RinexPrnMap;
+%}
+
+
+
+// Include some .i files that help parsing
+%include "common.i"
+%include "std_string.i"
+%include "std_vector.i"
+%include "std_ios.i"
+%include "std_iostream.i"
+//%include "std_map.i"
+%include "../../../src/icd_200_constants.hpp"
+%include "gpstkPythonUtils.i"
+
+
+
+// FFData, FFStream, FFTextStream are all included up here to make the import's easier
+%include "../../../src/FFData.hpp"
+%include "../../../src/FFStream.hpp"
+%include "../../../src/FFTextStream.hpp"
+
+
+
+// Import .hpp files for SWIG's reference
+// Order matters for some of these files
+// Ordered through trial and error
+// If you import a class, you can't use it in Python
+// but this provides the class definitions for the other
+// classes.
+%import "../../../src/FFStreamError.hpp"
+%import "../../../src/FFBinaryStream.hpp"
+%import "../../../src/FICStreamBase.hpp"
+%import "../../../src/EphemerisStore.hpp"
+%import "../../../src/TabularEphemerisStore.hpp"
+%import "../../../src/FileStore.hpp"
+%import "../../../src/RinexNavBase.hpp"
+%import "../../../src/SP3Base.hpp"
+%import "../../../src/FICBase.hpp"
+%import "../../../src/RinexMetBase.hpp"
+
+
+// Include the files for SWIG to parse
+// Order matters to some
+
+// Exception
+// Redefinition problem, similar to Triple & Xvt, also at operator<<
+// Exception+DayTimeException and Triple+Xvt pairs don't
+//   redefine each other's operator<<'s
+// Fixing method, see Xvt
+%rename (Exception_streamRead) operator<<;
+%include "../../../src/Exception.hpp"
+%rename (streamRead) operator<<;
+
+//
+// Code Generation Group
+//
+%include "../../../src/ValidType.hpp"
+// X1Sequence() constructor throws an exception
+%include "../../../src/X1Sequence.hpp"
+// X2Sequence() constructor throws an exception
+%include "../../../src/X2Sequence.hpp"
+// CodeBuffer has two operator[]
+%rename (operator_bracket_const) gpstk::CodeBuffer::operator[](int 
+const) const;
+%include "../../../src/CodeBuffer.hpp"
+%include "../../../src/SatID.hpp"
+%include "../../../src/GenXSequence.hpp"
+%include "../../../src/SVPCodeGen.hpp"
+%include "../../../src/ObservationStore.hpp"
+
+//
+// Ephemeris Group
+//
+%include "../../../src/AlmanacStore.hpp"
+%include "../../../src/AlmOrbit.hpp"
+
+//
+// Error Modelling Group
+//
+%include "../../../src/IonoModel.hpp"
+%include "../../../src/IonoModelStore.hpp"
+%include "../../../src/TropModel.hpp"
+%include "../../../src/ClockModel.hpp"
+%include "../../../src/ObsClockModel.hpp"
+%include "../../../src/EpochClockModel.hpp"
+%include "../../../src/LinearClockModel.hpp"
+
+//
+// File Group
+//
+// SP3EphemerisStore.hpp contains classes that base off template classes
+%include "../../../src/BCEphemerisStore.hpp"
+%template (FileStore_RinexNavHeader) gpstk::FileStore<RinexNavHeader >;
+%template(FileStore_SP3Header) gpstk::FileStore<SP3Header >;
+%include "../../../src/RinexEphemerisStore.hpp"
+%include "../../../src/SP3EphemerisStore.hpp"
+%include "../../../src/FileHunter.hpp"
+%include "../../../src/FICStream.hpp"
+%include "../../../src/FICAStream.hpp"
+%include "../../../src/MSCStream.hpp"
+%include "../../../src/RinexMetStream.hpp"
+%include "../../../src/RinexNavStream.hpp"
+%include "../../../src/SMODFStream.hpp"
+%include "../../../src/SP3Stream.hpp"
+
+//
+// File Support Group
+//
+%include "../../../src/RinexObsStream.hpp"
+%include "../../../src/RinexObsBase.hpp"
+%include "RinexObsType.i"
+%include "ExtraWaveFact.i"
+%include "../../../src/RinexObsHeader.hpp"
+%include "RinexDatum.i"
+
+// Template declarations for RinexObsTypeMap and RinexPrnMap
+// They are typedefs in RinexObsData.hpp
+// A third template, BOGUS_TEMPLATE has to be there so...
+//   the RinexPrnMap declaration will compile.
+// I do not know why that is.
+%include "../../../src/RinexObsData.hpp"
+%template() std::pair<RinexObsType, RinexDatum>;
+%template (RinexObsTypeMap) std::map<RinexObsType, RinexDatum >;
+%template() std::pair<RinexPrn, RinexObsData::RinexObsTypeMap>;
+%template (RinexPrnMap) std::map<RinexPrn, RinexObsData::RinexObsTypeMap>;
+%template() std::pair<RinexPrn, int>;
+%template (BOGUS_TEMPLATE) std::map<RinexPrn, int>;
+
+%include "../../../src/SP3Header.hpp"
+%include "../../../src/RinexNavHeader.hpp"
+%rename (operator_EngEphemeris) operator EngEphemeris;
+%rename (operator_AlmOrbit) operator gpstk::AlmOrbit;
+%include "../../../src/FICData.hpp"
+%include "../../../src/FICHeader.hpp"
+%include "../../../src/RinexMetData.hpp"
+%include "../../../src/RinexMetHeader.hpp"
+%include "sensorType.i"
+%include "../../../src/RinexNavData.hpp"
+%include "../../../src/SP3Data.hpp"
+
+//
+// Math Group
+//
+%include "../../../src/RungeKutta4.hpp"
+
+//
+// Position Group
+//
+// Triple
+// Rename below to solve "shadowed by..." warning
+%rename (operator_bracket_const) gpstk::Triple::operator[](size_t const) const;
+// Under Triple.hpp, friend std::ostream operator<< will
+//    clash with Xvt's def of operator<<, result in redefine
+%rename (Triple_streamRead) operator<<;
+%include "../../../src/Triple.hpp"
+%rename (streamRead) operator<<;
+// Position
+%rename (printf_const) printf(std::string const &) const;
+%include "../../../src/Position.hpp"
+// ECEF
+%include "../../../src/ECEF.hpp"
+// GeoidModel
+%include "../../../src/GeoidModel.hpp"
+// Xvt
+// The %rename directive below solves the redefinition conflict with Triple.hpp
+%rename (Xvt_streamRead) operator<<;
+%include "../../../src/Xvt.hpp"
+// The %rename directive below restores the usual naming scheme
+%rename (streamRead) operator<<;
+// Geodetic
+%include "../../../src/Geodetic.hpp"
+// RAIM Solution
+%include "../../../src/RAIMSolution.hpp"
+
+//
+// Orbit Group
+//
+%include "../../../src/EphemerisRange.hpp"
+%include "../../../src/EngNav.hpp"
+// get6bitHealth() is declared in hpp file, but not implemented in cpp file
+%ignore get6bitHealth;
+%include "../../../src/EngAlmanac.hpp"
+// same situation with getEphkey()
+%ignore getEphkey;
+%include "../../../src/EngEphemeris.hpp"
+
+//
+// Time Group
+//
+// GPSZcount
+%rename (operator_std_string) operator std::string() const;
+%include "../../../src/GPSZcount.hpp"
+// DayTime
+%rename (Operator_GPSZcount) operator gpstk::GPSZcount() const;
+%rename (printf_std_string) printf(std::string const &) const;
+%rename (DayTimeException_streamRead) operator<<;
+%include "DayTimeException.i"
+%rename (streamRead) operator<<;
+%include "../../../src/DayTime.hpp"
+
+//
+// QA Group
+//
+// QA that is not in ObservationStore.hpp
+%include "../../../src/ObsRngDev.hpp"
+%include "../../../src/ORDEpoch.hpp"
+
+%include "streamRead.i"
diff --git a/trunk/apps/bindings/python/gpstkPythonUtils.cpp b/trunk/apps/bindings/python/gpstkPythonUtils.cpp
new file mode 100644
index 0000000..e5bc67a
--- /dev/null
+++ b/trunk/apps/bindings/python/gpstkPythonUtils.cpp
@@ -0,0 +1,67 @@
+// GPSTk wrap for Python through SWIG
+// These are functions I wrote to make the binding work better
+
+#include <iostream>
+#include <ios>
+#include <fstream>
+#include "FFData.hpp"
+#include "FFStream.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+
+std::ios::openmode ios_out()
+{
+  return std::ios::out;
+}
+
+std::ios::openmode ios_in()
+{
+  std::ios::openmode result;
+  result = std::ios::in;
+  return result;
+}
+
+std::ios::openmode ios_out_trunc()
+{
+  std::ios::openmode result;
+  result = std::ios::out|std::ios::trunc;
+  return result;
+}
+
+bool read(FFStream& s, const FFData& d)
+{
+  return s << d;
+}
+
+bool write(FFStream& s, FFData& d)
+{
+  return s >> d;
+}
+
+RinexObsData::RinexPrnMap::iterator RinexPrnMap_find(RinexObsData& roe, RinexPrn prn)
+{
+  RinexObsData::RinexPrnMap::iterator result = roe.obs.find(prn);
+  return result;
+}
+
+RinexObsData::RinexPrnMap::iterator RinexPrnMap_end(RinexObsData& roe)
+{
+  return roe.obs.end();
+}
+
+RinexObsData::RinexDatum getPseudoRangeCode(RinexObsData roe, RinexPrn prn, RinexObsHeader::RinexObsType type)
+{
+  return roe.obs[prn][type];
+}
+
+RinexObsData::RinexDatum getPseudoRangeCode(RinexObsData::RinexPrnMap::iterator ptr, RinexObsHeader::RinexObsType type)
+{
+  RinexObsData::RinexDatum x;
+  x = (*ptr).second[type];
+  return x;
+}
+
+bool RinexPrnMap_compare(RinexObsData::RinexPrnMap::iterator x, RinexObsData::RinexPrnMap::iterator y)
+{
+  return x == y;
+}
diff --git a/trunk/apps/bindings/python/gpstkPythonUtils.i b/trunk/apps/bindings/python/gpstkPythonUtils.i
new file mode 100644
index 0000000..3cb55ef
--- /dev/null
+++ b/trunk/apps/bindings/python/gpstkPythonUtils.i
@@ -0,0 +1,14 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+
+// Wrap for gpstkPythonUtils.cpp
+
+std::ios::openmode ios_out();
+std::ios::openmode ios_in();
+std::ios::openmode ios_out_trunc();
+bool read(FFStream& s, const FFData& d);
+bool write(FFStream& s, FFData& d);
+RinexObsData::RinexPrnMap::iterator RinexPrnMap_find(RinexObsData& roe, RinexPrn prn);
+RinexObsData::RinexPrnMap::iterator RinexPrnMap_end(RinexObsData& roe);
+RinexObsData::RinexDatum getPseudoRangeCode(RinexObsData roe, RinexPrn prn, RinexObsType type);
+RinexObsData::RinexDatum getPseudoRangeCode(RinexObsData::RinexPrnMap::iterator ptr, RinexObsHeader::RinexObsType type);
+bool RinexPrnMap_compare(RinexObsData::RinexPrnMap::iterator x, RinexObsData::RinexPrnMap::iterator y);
diff --git a/trunk/apps/bindings/python/gpstkPython_wrap.cxx b/trunk/apps/bindings/python/gpstkPython_wrap.cxx
new file mode 100644
index 0000000..43a2af6
--- /dev/null
+++ b/trunk/apps/bindings/python/gpstkPython_wrap.cxx
@@ -0,0 +1,76622 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.25
+ * 
+ * This file is not intended to be easily readable and contains a number of 
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG 
+ * interface file instead. 
+ * ----------------------------------------------------------------------------- */
+
+#define SWIGPYTHON
+
+#ifdef __cplusplus
+template<class T> class SwigValueWrapper {
+    T *tt;
+public:
+    SwigValueWrapper() : tt(0) { }
+    SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+    SwigValueWrapper(const T& t) : tt(new T(t)) { }
+    ~SwigValueWrapper() { delete tt; } 
+    SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
+    operator T&() const { return *tt; }
+    T *operator&() { return tt; }
+private:
+    SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};
+#endif
+
+/***********************************************************************
+ *
+ *  This section contains generic SWIG labels for method/variable
+ *  declarations/attributes, and other compiler dependent labels.
+ *
+ ************************************************************************/
+
+/* template workaround for compilers that cannot correctly implement the C++ standard */
+#ifndef SWIGTEMPLATEDISAMBIGUATOR
+#  if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
+#    define SWIGTEMPLATEDISAMBIGUATOR template
+#  else
+#    define SWIGTEMPLATEDISAMBIGUATOR 
+#  endif
+#endif
+
+/* inline attribute */
+#ifndef SWIGINLINE
+# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
+#   define SWIGINLINE inline
+# else
+#   define SWIGINLINE
+# endif
+#endif
+
+/* attribute recognised by some compilers to avoid 'unused' warnings */
+#ifndef SWIGUNUSED
+# if defined(__GNUC__) || defined(__ICC)
+#   define SWIGUNUSED __attribute__ ((unused)) 
+# else
+#   define SWIGUNUSED 
+# endif
+#endif
+
+/* internal SWIG method */
+#ifndef SWIGINTERN
+# define SWIGINTERN static SWIGUNUSED
+#endif
+
+/* internal inline SWIG method */
+#ifndef SWIGINTERNINLINE
+# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
+#endif
+
+/* exporting methods for Windows DLLs */
+#ifndef SWIGEXPORT
+# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+#   if defined(STATIC_LINKED)
+#     define SWIGEXPORT
+#   else
+#     define SWIGEXPORT __declspec(dllexport)
+#   endif
+# else
+#   define SWIGEXPORT
+# endif
+#endif
+
+/* calling conventions for Windows */
+#ifndef SWIGSTDCALL
+# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+#   define SWIGSTDCALL __stdcall
+# else
+#   define SWIGSTDCALL
+# endif 
+#endif
+
+
+
+#include <Python.h>
+
+/***********************************************************************
+ * swigrun.swg
+ *
+ *     This file contains generic CAPI SWIG runtime support for pointer
+ *     type checking.
+ *
+ ************************************************************************/
+
+/* This should only be incremented when either the layout of swig_type_info changes,
+   or for whatever reason, the runtime changes incompatibly */
+#define SWIG_RUNTIME_VERSION "2"
+
+/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
+#ifdef SWIG_TYPE_TABLE
+# define SWIG_QUOTE_STRING(x) #x
+# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
+# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
+#else
+# define SWIG_TYPE_TABLE_NAME
+#endif
+
+/*
+  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
+  creating a static or dynamic library from the swig runtime code.
+  In 99.9% of the cases, swig just needs to declare them as 'static'.
+  
+  But only do this if is strictly necessary, ie, if you have problems
+  with your compiler or so.
+*/
+
+#ifndef SWIGRUNTIME
+# define SWIGRUNTIME SWIGINTERN
+#endif
+
+#ifndef SWIGRUNTIMEINLINE
+# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
+#endif
+
+#include <string.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*swig_converter_func)(void *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+/* Structure to store inforomation on one type */
+typedef struct swig_type_info {
+  const char             *name;			/* mangled name of this type */
+  const char             *str;			/* human readable name of this type */
+  swig_dycast_func        dcast;		/* dynamic cast function down a hierarchy */
+  struct swig_cast_info  *cast;			/* linked list of types that can cast into this type */
+  void                   *clientdata;		/* language specific type data */
+} swig_type_info;
+
+/* Structure to store a type and conversion function used for casting */
+typedef struct swig_cast_info {
+  swig_type_info         *type;			/* pointer to type that is equivalent to this type */
+  swig_converter_func     converter;		/* function to cast the void pointers */
+  struct swig_cast_info  *next;			/* pointer to next cast in linked list */
+  struct swig_cast_info  *prev;			/* pointer to the previous cast */
+} swig_cast_info;
+
+/* Structure used to store module information
+ * Each module generates one structure like this, and the runtime collects
+ * all of these structures and stores them in a circularly linked list.*/
+typedef struct swig_module_info {
+  swig_type_info         **types;		/* Array of pointers to swig_type_info structures that are in this module */
+  size_t                 size;		        /* Number of types in this module */
+  struct swig_module_info *next;		/* Pointer to next element in circularly linked list */
+  swig_type_info         **type_initial;	/* Array of initially generated type structures */
+  swig_cast_info         **cast_initial;	/* Array of initially generated casting structures */
+  void                    *clientdata;		/* Language specific module data */
+} swig_module_info;
+
+
+/* 
+  Compare two type names skipping the space characters, therefore
+  "char*" == "char *" and "Class<int>" == "Class<int >", etc.
+
+  Return 0 when the two name types are equivalent, as in
+  strncmp, but skipping ' '.
+*/
+SWIGRUNTIME int
+SWIG_TypeNameComp(const char *f1, const char *l1,
+		  const char *f2, const char *l2) {
+  for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
+    while ((*f1 == ' ') && (f1 != l1)) ++f1;
+    while ((*f2 == ' ') && (f2 != l2)) ++f2;
+    if (*f1 != *f2) return (int)(*f1 - *f2);
+  }
+  return (l1 - f1) - (l2 - f2);
+}
+
+/*
+  Check type equivalence in a name list like <name1>|<name2>|...
+  Return 0 if not equal, 1 if equal
+*/
+SWIGRUNTIME int
+SWIG_TypeEquiv(const char *nb, const char *tb) {
+  int equiv = 0;
+  const char* te = tb + strlen(tb);
+  const char* ne = nb;
+  while (!equiv && *ne) {
+    for (nb = ne; *ne; ++ne) {
+      if (*ne == '|') break;
+    }
+    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
+    if (*ne) ++ne;
+  }
+  return equiv;
+}
+
+/*
+  Check type equivalence in a name list like <name1>|<name2>|...
+  Return 0 if equal, -1 if nb < tb, 1 if nb > tb
+*/
+SWIGRUNTIME int
+SWIG_TypeCompare(const char *nb, const char *tb) {
+  int equiv = 0;
+  const char* te = tb + strlen(tb);
+  const char* ne = nb;
+  while (!equiv && *ne) {
+    for (nb = ne; *ne; ++ne) {
+      if (*ne == '|') break;
+    }
+    equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0;
+    if (*ne) ++ne;
+  }
+  return equiv;
+}
+
+
+/* think of this as a c++ template<> or a scheme macro */
+#define SWIG_TypeCheck_Template(comparison, ty)         \
+  if (ty) {                                             \
+    swig_cast_info *iter = ty->cast;                    \
+    while (iter) {                                      \
+      if (comparison) {                                 \
+        if (iter == ty->cast) return iter;              \
+        /* Move iter to the top of the linked list */   \
+        iter->prev->next = iter->next;                  \
+        if (iter->next)                                 \
+          iter->next->prev = iter->prev;                \
+        iter->next = ty->cast;                          \
+        iter->prev = 0;                                 \
+        if (ty->cast) ty->cast->prev = iter;            \
+        ty->cast = iter;                                \
+        return iter;                                    \
+      }                                                 \
+      iter = iter->next;                                \
+    }                                                   \
+  }                                                     \
+  return 0
+
+/*
+  Check the typename
+*/
+SWIGRUNTIME swig_cast_info *
+SWIG_TypeCheck(const char *c, swig_type_info *ty) {
+  SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty);
+}
+
+/* Same as previous function, except strcmp is replaced with a pointer comparison */
+SWIGRUNTIME swig_cast_info *
+SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) {
+  SWIG_TypeCheck_Template(iter->type == from, into);
+}
+
+/*
+  Cast a pointer up an inheritance hierarchy
+*/
+SWIGRUNTIMEINLINE void *
+SWIG_TypeCast(swig_cast_info *ty, void *ptr) {
+  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
+}
+
+/* 
+   Dynamic pointer casting. Down an inheritance hierarchy
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
+  swig_type_info *lastty = ty;
+  if (!ty || !ty->dcast) return ty;
+  while (ty && (ty->dcast)) {
+    ty = (*ty->dcast)(ptr);
+    if (ty) lastty = ty;
+  }
+  return lastty;
+}
+
+/*
+  Return the name associated with this type
+*/
+SWIGRUNTIMEINLINE const char *
+SWIG_TypeName(const swig_type_info *ty) {
+  return ty->name;
+}
+
+/*
+  Return the pretty name associated with this type,
+  that is an unmangled type name in a form presentable to the user.
+*/
+SWIGRUNTIME const char *
+SWIG_TypePrettyName(const swig_type_info *type) {
+  /* The "str" field contains the equivalent pretty names of the
+     type, separated by vertical-bar characters.  We choose
+     to print the last name, as it is often (?) the most
+     specific. */
+  if (type->str != NULL) {
+    const char *last_name = type->str;
+    const char *s;
+    for (s = type->str; *s; s++)
+      if (*s == '|') last_name = s+1;
+    return last_name;
+  }
+  else
+    return type->name;
+}
+
+/* 
+   Set the clientdata field for a type
+*/
+SWIGRUNTIME void
+SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
+  if (!ti->clientdata) {
+    swig_cast_info *cast = ti->cast;
+    /* if (ti->clientdata == clientdata) return; */
+    ti->clientdata = clientdata;
+    
+    while (cast) {
+      if (!cast->converter)
+	SWIG_TypeClientData(cast->type, clientdata);
+      cast = cast->next;
+    }
+  }
+}
+
+/*
+  Search for a swig_type_info structure only by mangled name
+  Search is a O(log #types)
+  
+  We start searching at module start, and finish searching when start == end.  
+  Note: if start == end at the beginning of the function, we go all the way around
+  the circular list.
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_MangledTypeQueryModule(swig_module_info *start, 
+                            swig_module_info *end, 
+		            const char *name) {
+  swig_module_info *iter = start;
+  do {
+    if (iter->size) {
+      register size_t l = 0;
+      register size_t r = iter->size - 1;
+      do {
+	/* since l+r >= 0, we can (>> 1) instead (/ 2) */
+	register size_t i = (l + r) >> 1; 
+	const char *iname = iter->types[i]->name;
+	if (iname) {
+	  register int compare = strcmp(name, iname);
+	  if (compare == 0) {	    
+	    return iter->types[i];
+	  } else if (compare < 0) {
+	    if (i) {
+	      r = i - 1;
+	    } else {
+	      break;
+	    }
+	  } else if (compare > 0) {
+	    l = i + 1;
+	  }
+	} else {
+	  break; /* should never happen */
+	}
+      } while (l <= r);
+    }
+    iter = iter->next;
+  } while (iter != end);
+  return 0;
+}
+
+/*
+  Search for a swig_type_info structure for either a mangled name or a human readable name.
+  It first searches the mangled names of the types, which is a O(log #types)
+  If a type is not found it then searches the human readable names, which is O(#types).
+  
+  We start searching at module start, and finish searching when start == end.  
+  Note: if start == end at the beginning of the function, we go all the way around
+  the circular list.
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeQueryModule(swig_module_info *start, 
+                     swig_module_info *end, 
+		     const char *name) {
+  /* STEP 1: Search the name field using binary search */
+  swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
+  if (ret) {
+    return ret;
+  } else {
+    /* STEP 2: If the type hasn't been found, do a complete search
+       of the str field (the human readable name) */
+    swig_module_info *iter = start;
+    do {
+      register size_t i = 0;
+      for (; i < iter->size; ++i) {
+	if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
+	  return iter->types[i];
+      }
+      iter = iter->next;
+    } while (iter != end);
+  }
+  
+  /* neither found a match */
+  return 0;
+}
+
+
+/* 
+   Pack binary data into a string
+*/
+SWIGRUNTIME char *
+SWIG_PackData(char *c, void *ptr, size_t sz) {
+  static const char hex[17] = "0123456789abcdef";
+  register const unsigned char *u = (unsigned char *) ptr;
+  register const unsigned char *eu =  u + sz;
+  for (; u != eu; ++u) {
+    register unsigned char uu = *u;
+    *(c++) = hex[(uu & 0xf0) >> 4];
+    *(c++) = hex[uu & 0xf];
+  }
+  return c;
+}
+
+/* 
+   Unpack binary data from a string
+*/
+SWIGRUNTIME const char *
+SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
+  register unsigned char *u = (unsigned char *) ptr;
+  register const unsigned char *eu = u + sz;
+  for (; u != eu; ++u) {
+    register char d = *(c++);
+    register unsigned char uu = 0;
+    if ((d >= '0') && (d <= '9'))
+      uu = ((d - '0') << 4);
+    else if ((d >= 'a') && (d <= 'f'))
+      uu = ((d - ('a'-10)) << 4);
+    else 
+      return (char *) 0;
+    d = *(c++);
+    if ((d >= '0') && (d <= '9'))
+      uu |= (d - '0');
+    else if ((d >= 'a') && (d <= 'f'))
+      uu |= (d - ('a'-10));
+    else 
+      return (char *) 0;
+    *u = uu;
+  }
+  return c;
+}
+
+/* 
+   Pack 'void *' into a string buffer.
+*/
+SWIGRUNTIME char *
+SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
+  char *r = buff;
+  if ((2*sizeof(void *) + 2) > bsz) return 0;
+  *(r++) = '_';
+  r = SWIG_PackData(r,&ptr,sizeof(void *));
+  if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
+  strcpy(r,name);
+  return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
+  if (*c != '_') {
+    if (strcmp(c,"NULL") == 0) {
+      *ptr = (void *) 0;
+      return name;
+    } else {
+      return 0;
+    }
+  }
+  return SWIG_UnpackData(++c,ptr,sizeof(void *));
+}
+
+SWIGRUNTIME char *
+SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
+  char *r = buff;
+  size_t lname = (name ? strlen(name) : 0);
+  if ((2*sz + 2 + lname) > bsz) return 0;
+  *(r++) = '_';
+  r = SWIG_PackData(r,ptr,sz);
+  if (lname) {
+    strncpy(r,name,lname+1);
+  } else {
+    *r = 0;
+  }
+  return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
+  if (*c != '_') {
+    if (strcmp(c,"NULL") == 0) {
+      memset(ptr,0,sz);
+      return name;
+    } else {
+      return 0;
+    }
+  }
+  return SWIG_UnpackData(++c,ptr,sz);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/* -----------------------------------------------------------------------------
+ * SWIG API. Portion that goes into the runtime
+ * ----------------------------------------------------------------------------- */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* -----------------------------------------------------------------------------
+ * for internal method declarations
+ * ----------------------------------------------------------------------------- */
+
+#ifndef SWIGINTERN
+#  define SWIGINTERN static SWIGUNUSED
+#endif
+
+#ifndef SWIGINTERNINLINE
+#  define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
+#endif
+
+/*
+  Exception handling in wrappers
+*/
+#define SWIG_fail                goto fail
+#define SWIG_arg_fail(arg)       SWIG_Python_ArgFail(arg)
+#define SWIG_append_errmsg(msg)   SWIG_Python_AddErrMesg(msg,0)
+#define SWIG_preppend_errmsg(msg) SWIG_Python_AddErrMesg(msg,1)
+#define SWIG_type_error(type,obj) SWIG_Python_TypeError(type,obj)
+#define SWIG_null_ref(type)       SWIG_Python_NullRef(type)
+
+/*
+  Contract support
+*/
+#define SWIG_contract_assert(expr, msg) \
+ if (!(expr)) { PyErr_SetString(PyExc_RuntimeError, (char *) msg ); goto fail; } else
+
+/* -----------------------------------------------------------------------------
+ * Constant declarations
+ * ----------------------------------------------------------------------------- */
+
+/* Constant Types */
+#define SWIG_PY_INT     1
+#define SWIG_PY_FLOAT   2
+#define SWIG_PY_STRING  3
+#define SWIG_PY_POINTER 4
+#define SWIG_PY_BINARY  5
+
+/* Constant information structure */
+typedef struct swig_const_info {
+    int type;
+    char *name;
+    long lvalue;
+    double dvalue;
+    void   *pvalue;
+    swig_type_info **ptype;
+} swig_const_info;
+
+
+/* -----------------------------------------------------------------------------
+ * Alloc. memory flags
+ * ----------------------------------------------------------------------------- */
+#define SWIG_OLDOBJ  1
+#define SWIG_NEWOBJ  SWIG_OLDOBJ + 1
+#define SWIG_PYSTR   SWIG_NEWOBJ + 1
+
+#ifdef __cplusplus
+}
+#endif
+
+
+/***********************************************************************
+ * pyrun.swg
+ *
+ *     This file contains the runtime support for Python modules
+ *     and includes code for managing global variables and pointer
+ *     type checking.
+ *
+ * Author : David Beazley (beazley at cs.uchicago.edu)
+ ************************************************************************/
+
+/* Common SWIG API */
+#define SWIG_ConvertPtr(obj, pp, type, flags)    SWIG_Python_ConvertPtr(obj, pp, type, flags)
+#define SWIG_NewPointerObj(p, type, flags)       SWIG_Python_NewPointerObj(p, type, flags)
+#define SWIG_MustGetPtr(p, type, argnum, flags)  SWIG_Python_MustGetPtr(p, type, argnum, flags)
+ 
+
+/* Python-specific SWIG API */
+#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags)   SWIG_Python_ConvertPacked(obj, ptr, sz, ty, flags)
+#define SWIG_NewPackedObj(ptr, sz, type)              SWIG_Python_NewPackedObj(ptr, sz, type)
+
+/* Runtime API */
+#define SWIG_GetModule(clientdata) SWIG_Python_GetModule()
+#define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer)
+
+/* -----------------------------------------------------------------------------
+ * Pointer declarations
+ * ----------------------------------------------------------------------------- */
+/*
+  Use SWIG_NO_COBJECT_TYPES to force the use of strings to represent
+  C/C++ pointers in the python side. Very useful for debugging, but
+  not always safe.
+*/
+#if !defined(SWIG_NO_COBJECT_TYPES) && !defined(SWIG_COBJECT_TYPES)
+#  define SWIG_COBJECT_TYPES
+#endif
+
+/* Flags for pointer conversion */
+#define SWIG_POINTER_EXCEPTION     0x1
+#define SWIG_POINTER_DISOWN        0x2
+
+
+/* Add PyOS_snprintf for old Pythons */
+#if PY_VERSION_HEX < 0x02020000
+#define PyOS_snprintf snprintf
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* -----------------------------------------------------------------------------
+ * Create a new pointer string 
+ * ----------------------------------------------------------------------------- */
+#ifndef SWIG_BUFFER_SIZE
+#define SWIG_BUFFER_SIZE 1024
+#endif
+
+#if defined(SWIG_COBJECT_TYPES)
+#if !defined(SWIG_COBJECT_PYTHON)
+/* -----------------------------------------------------------------------------
+ * Implements a simple Swig Object type, and use it instead of PyCObject
+ * ----------------------------------------------------------------------------- */
+
+typedef struct {
+  PyObject_HEAD
+  void *ptr;
+  const char *desc;
+} PySwigObject;
+
+/* Declarations for objects of type PySwigObject */
+
+SWIGRUNTIME int
+PySwigObject_print(PySwigObject *v, FILE *fp, int flags)
+{
+  char result[SWIG_BUFFER_SIZE];
+  flags = flags;
+  if (SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result))) {
+    fputs("<Swig Object at ", fp); fputs(result, fp); fputs(">", fp);
+    return 0; 
+  } else {
+    return 1; 
+  }
+}
+  
+SWIGRUNTIME PyObject *
+PySwigObject_repr(PySwigObject *v)
+{
+  char result[SWIG_BUFFER_SIZE];
+  return SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result)) ?
+    PyString_FromFormat("<Swig Object at %s>", result) : 0;
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_str(PySwigObject *v)
+{
+  char result[SWIG_BUFFER_SIZE];
+  return SWIG_PackVoidPtr(result, v->ptr, v->desc, sizeof(result)) ?
+    PyString_FromString(result) : 0;
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_long(PySwigObject *v)
+{
+  return PyLong_FromVoidPtr(v->ptr);
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_format(const char* fmt, PySwigObject *v)
+{
+  PyObject *res = NULL;
+  PyObject *args = PyTuple_New(1);
+  if (args && (PyTuple_SetItem(args, 0, PySwigObject_long(v)) == 0)) {
+    PyObject *ofmt = PyString_FromString(fmt);
+    if (ofmt) {
+      res = PyString_Format(ofmt,args);
+      Py_DECREF(ofmt);
+    }
+    Py_DECREF(args);
+  }  
+  return res;
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_oct(PySwigObject *v)
+{
+  return PySwigObject_format("%o",v);
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_hex(PySwigObject *v)
+{
+  return PySwigObject_format("%x",v);
+}
+
+SWIGRUNTIME int
+PySwigObject_compare(PySwigObject *v, PySwigObject *w)
+{
+  int c = strcmp(v->desc, w->desc);
+  if (c) {
+    return (c > 0) ? 1 : -1;
+  } else {
+    void *i = v->ptr;
+    void *j = w->ptr;
+    return (i < j) ? -1 : ((i > j) ? 1 : 0);
+  }
+}
+
+SWIGRUNTIME void
+PySwigObject_dealloc(PySwigObject *self)
+{
+  PyObject_DEL(self);
+}
+
+SWIGRUNTIME PyTypeObject*
+PySwigObject_type(void) {
+  static char pyswigobject_type__doc__[] = 
+    "Swig object carries a C/C++ instance pointer";
+  
+  static PyNumberMethods PySwigObject_as_number = {
+    (binaryfunc)0, /*nb_add*/
+    (binaryfunc)0, /*nb_subtract*/
+    (binaryfunc)0, /*nb_multiply*/
+    (binaryfunc)0, /*nb_divide*/
+    (binaryfunc)0, /*nb_remainder*/
+    (binaryfunc)0, /*nb_divmod*/
+    (ternaryfunc)0,/*nb_power*/
+    (unaryfunc)0,  /*nb_negative*/
+    (unaryfunc)0,  /*nb_positive*/
+    (unaryfunc)0,  /*nb_absolute*/
+    (inquiry)0,    /*nb_nonzero*/
+    0,		   /*nb_invert*/
+    0,		   /*nb_lshift*/
+    0,		   /*nb_rshift*/
+    0,		   /*nb_and*/
+    0,		   /*nb_xor*/
+    0,		   /*nb_or*/
+    (coercion)0,   /*nb_coerce*/
+    (unaryfunc)PySwigObject_long, /*nb_int*/
+    (unaryfunc)PySwigObject_long, /*nb_long*/
+    (unaryfunc)0,                 /*nb_float*/
+    (unaryfunc)PySwigObject_oct,  /*nb_oct*/
+    (unaryfunc)PySwigObject_hex,  /*nb_hex*/
+#if PY_VERSION_HEX >= 0x02000000
+    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ 
+#endif
+  };
+
+  static PyTypeObject pyswigobject_type
+#if !defined(__cplusplus)
+  ;  
+  static int type_init = 0;
+  if (!type_init) {
+    PyTypeObject tmp
+#endif
+    = {
+    PyObject_HEAD_INIT(&PyType_Type)
+    0,					/*ob_size*/
+    (char *)"PySwigObject",		/*tp_name*/
+    sizeof(PySwigObject),		/*tp_basicsize*/
+    0,					/*tp_itemsize*/
+    /* methods */
+    (destructor)PySwigObject_dealloc,	/*tp_dealloc*/
+    (printfunc)PySwigObject_print,	/*tp_print*/
+    (getattrfunc)0,			/*tp_getattr*/
+    (setattrfunc)0,			/*tp_setattr*/
+    (cmpfunc)PySwigObject_compare,	/*tp_compare*/
+    (reprfunc)PySwigObject_repr,	/*tp_repr*/
+    &PySwigObject_as_number,	        /*tp_as_number*/
+    0,					/*tp_as_sequence*/
+    0,					/*tp_as_mapping*/
+    (hashfunc)0,			/*tp_hash*/
+    (ternaryfunc)0,			/*tp_call*/
+    (reprfunc)PySwigObject_str,		/*tp_str*/
+    /* Space for future expansion */
+    0,0,0,0,
+    pyswigobject_type__doc__, 	        /* Documentation string */
+#if PY_VERSION_HEX >= 0x02000000
+    0,                                  /* tp_traverse */
+    0,                                  /* tp_clear */
+#endif
+#if PY_VERSION_HEX >= 0x02010000
+    0,                                  /* tp_richcompare */
+    0,                                  /* tp_weaklistoffset */
+#endif
+#if PY_VERSION_HEX >= 0x02020000
+    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
+#endif
+#if PY_VERSION_HEX >= 0x02030000
+    0,                                  /* tp_del */
+#endif
+#ifdef COUNT_ALLOCS
+    0,0,0,0                             /* tp_alloc -> tp_next */
+#endif
+    };
+#if !defined(__cplusplus)
+    pyswigobject_type = tmp;
+    type_init = 1;
+  }
+#endif
+  return &pyswigobject_type;
+}
+
+SWIGRUNTIME PyObject *
+PySwigObject_FromVoidPtrAndDesc(void *ptr, const char *desc)
+{
+  PySwigObject *self = PyObject_NEW(PySwigObject, PySwigObject_type());
+  if (self) {
+    self->ptr = ptr;
+    self->desc = desc;
+  }
+  return (PyObject *)self;
+}
+
+SWIGRUNTIMEINLINE void *
+PySwigObject_AsVoidPtr(PyObject *self)
+{
+  return ((PySwigObject *)self)->ptr;
+}
+
+SWIGRUNTIMEINLINE const char *
+PySwigObject_GetDesc(PyObject *self)
+{
+  return ((PySwigObject *)self)->desc;
+}
+
+SWIGRUNTIMEINLINE int
+PySwigObject_Check(PyObject *op) {
+  return ((op)->ob_type == PySwigObject_type()) 
+    || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0);
+}
+
+/* -----------------------------------------------------------------------------
+ * Implements a simple Swig Packed type, and use it instead of string
+ * ----------------------------------------------------------------------------- */
+
+typedef struct {
+  PyObject_HEAD
+  void *pack;
+  const char *desc;
+  size_t size;
+} PySwigPacked;
+
+SWIGRUNTIME int
+PySwigPacked_print(PySwigPacked *v, FILE *fp, int flags)
+{
+  char result[SWIG_BUFFER_SIZE];
+  flags = flags;
+  fputs("<Swig Packed ", fp); 
+  if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
+    fputs("at ", fp); 
+    fputs(result, fp); 
+  }
+  fputs(v->desc,fp); 
+  fputs(">", fp);
+  return 0; 
+}
+  
+SWIGRUNTIME PyObject *
+PySwigPacked_repr(PySwigPacked *v)
+{
+  char result[SWIG_BUFFER_SIZE];
+  if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) {
+    return PyString_FromFormat("<Swig Packed at %s%s>", result, v->desc);
+  } else {
+    return PyString_FromFormat("<Swig Packed %s>", v->desc);
+  }  
+}
+
+SWIGRUNTIME PyObject *
+PySwigPacked_str(PySwigPacked *v)
+{
+  char result[SWIG_BUFFER_SIZE];
+  if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){
+    return PyString_FromFormat("%s%s", result, v->desc);
+  } else {
+    return PyString_FromFormat("%s", v->desc);
+  }  
+}
+
+SWIGRUNTIME int
+PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w)
+{
+  int c = strcmp(v->desc, w->desc);
+  if (c) {
+    return (c > 0) ? 1 : -1;
+  } else {
+    size_t i = v->size;
+    size_t j = w->size;
+    int s = (i < j) ? -1 : ((i > j) ? 1 : 0);
+    return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size);
+  }
+}
+
+SWIGRUNTIME void
+PySwigPacked_dealloc(PySwigPacked *self)
+{
+  free(self->pack);
+  PyObject_DEL(self);
+}
+
+SWIGRUNTIME PyTypeObject*
+PySwigPacked_type(void) {
+  static char pyswigpacked_type__doc__[] = 
+    "Swig object carries a C/C++ instance pointer";
+  static PyTypeObject pyswigpacked_type
+#if !defined(__cplusplus)
+  ;
+  static int type_init = 0;  
+  if (!type_init) {
+    PyTypeObject tmp
+#endif
+    = {
+    PyObject_HEAD_INIT(&PyType_Type)
+    0,					/*ob_size*/
+    (char *)"PySwigPacked",		/*tp_name*/
+    sizeof(PySwigPacked),		/*tp_basicsize*/
+    0,					/*tp_itemsize*/
+    /* methods */
+    (destructor)PySwigPacked_dealloc,	/*tp_dealloc*/
+    (printfunc)PySwigPacked_print,	/*tp_print*/
+    (getattrfunc)0,			/*tp_getattr*/
+    (setattrfunc)0,			/*tp_setattr*/
+    (cmpfunc)PySwigPacked_compare,	/*tp_compare*/
+    (reprfunc)PySwigPacked_repr,	/*tp_repr*/
+    0,	                                /*tp_as_number*/
+    0,					/*tp_as_sequence*/
+    0,					/*tp_as_mapping*/
+    (hashfunc)0,			/*tp_hash*/
+    (ternaryfunc)0,			/*tp_call*/
+    (reprfunc)PySwigPacked_str,		/*tp_str*/
+    /* Space for future expansion */
+    0,0,0,0,
+    pyswigpacked_type__doc__, 	        /* Documentation string */
+#if PY_VERSION_HEX >= 0x02000000
+    0,                                  /* tp_traverse */
+    0,                                  /* tp_clear */
+#endif
+#if PY_VERSION_HEX >= 0x02010000
+    0,                                  /* tp_richcompare */
+    0,                                  /* tp_weaklistoffset */
+#endif
+#if PY_VERSION_HEX >= 0x02020000         
+    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
+#endif
+#if PY_VERSION_HEX >= 0x02030000
+    0,                                  /* tp_del */
+#endif
+#ifdef COUNT_ALLOCS
+    0,0,0,0                             /* tp_alloc -> tp_next */
+#endif
+    };
+#if !defined(__cplusplus)
+    pyswigpacked_type = tmp;
+    type_init = 1;
+  }
+#endif
+  return &pyswigpacked_type;
+}
+
+SWIGRUNTIME PyObject *
+PySwigPacked_FromDataAndDesc(void *ptr, size_t size, const char *desc)
+{
+  PySwigPacked *self = PyObject_NEW(PySwigPacked, PySwigPacked_type());
+  if (self == NULL) {
+    return NULL;
+  } else {
+    void *pack = malloc(size);
+    if (pack) {
+      memcpy(pack, ptr, size);
+      self->pack = pack;
+      self->desc = desc;
+      self->size = size;
+      return (PyObject *) self;
+    }
+    return NULL;
+  }
+}
+
+SWIGRUNTIMEINLINE const char *
+PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size)
+{
+  PySwigPacked *self = (PySwigPacked *)obj;
+  if (self->size != size) return 0;
+  memcpy(ptr, self->pack, size);
+  return self->desc;
+}
+
+SWIGRUNTIMEINLINE const char *
+PySwigPacked_GetDesc(PyObject *self)
+{
+  return ((PySwigPacked *)self)->desc;
+}
+
+SWIGRUNTIMEINLINE int
+PySwigPacked_Check(PyObject *op) {
+  return ((op)->ob_type == PySwigPacked_type()) 
+    || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0);
+}
+
+#else
+/* -----------------------------------------------------------------------------
+ * Use the old Python PyCObject instead of PySwigObject
+ * ----------------------------------------------------------------------------- */
+
+#define PySwigObject_GetDesc(obj)	           PyCObject_GetDesc(obj)
+#define PySwigObject_Check(obj)	           PyCObject_Check(obj)
+#define PySwigObject_AsVoidPtr(obj)	   PyCObject_AsVoidPtr(obj)
+#define PySwigObject_FromVoidPtrAndDesc(p, d)  PyCObject_FromVoidPtrAndDesc(p, d, NULL)
+
+#endif
+
+#endif
+
+/* -----------------------------------------------------------------------------
+ * errors manipulation
+ * ----------------------------------------------------------------------------- */
+
+SWIGRUNTIME void
+SWIG_Python_TypeError(const char *type, PyObject *obj)
+{
+  if (type) {
+#if defined(SWIG_COBJECT_TYPES)
+    if (obj && PySwigObject_Check(obj)) {
+      const char *otype = (const char *) PySwigObject_GetDesc(obj);
+      if (otype) {
+	PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received",
+		     type, otype);
+	return;
+      }
+    } else 
+#endif      
+    {
+      const char *otype = (obj ? obj->ob_type->tp_name : 0); 
+      if (otype) {
+	PyObject *str = PyObject_Str(obj);
+	const char *cstr = str ? PyString_AsString(str) : 0;
+	if (cstr) {
+	  PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received",
+		       type, otype, cstr);
+	} else {
+	  PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received",
+		       type, otype);
+	}
+	Py_XDECREF(str);
+	return;
+      }
+    }   
+    PyErr_Format(PyExc_TypeError, "a '%s' is expected", type);
+  } else {
+    PyErr_Format(PyExc_TypeError, "unexpected type is received");
+  }
+}
+
+SWIGRUNTIMEINLINE void
+SWIG_Python_NullRef(const char *type)
+{
+  if (type) {
+    PyErr_Format(PyExc_TypeError, "null reference of type '%s' was received",type);
+  } else {
+    PyErr_Format(PyExc_TypeError, "null reference was received");
+  }
+}
+
+SWIGRUNTIME int
+SWIG_Python_AddErrMesg(const char* mesg, int infront)
+{
+  if (PyErr_Occurred()) {
+    PyObject *type = 0;
+    PyObject *value = 0;
+    PyObject *traceback = 0;
+    PyErr_Fetch(&type, &value, &traceback);
+    if (value) {
+      PyObject *old_str = PyObject_Str(value);
+      Py_XINCREF(type);
+      PyErr_Clear();
+      if (infront) {
+	PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str));
+      } else {
+	PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg);
+      }
+      Py_DECREF(old_str);
+    }
+    return 1;
+  } else {
+    return 0;
+  }
+}
+
+SWIGRUNTIME int
+SWIG_Python_ArgFail(int argnum)
+{
+  if (PyErr_Occurred()) {
+    /* add information about failing argument */
+    char mesg[256];
+    PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum);
+    return SWIG_Python_AddErrMesg(mesg, 1);
+  } else {
+    return 0;
+  }
+}
+
+
+/* -----------------------------------------------------------------------------
+ * pointers/data manipulation
+ * ----------------------------------------------------------------------------- */
+
+/* Convert a pointer value */
+SWIGRUNTIME int
+SWIG_Python_ConvertPtr(PyObject *obj, void **ptr, swig_type_info *ty, int flags) {
+  swig_cast_info *tc;
+  const char *c = 0;
+  static PyObject *SWIG_this = 0;
+  int    newref = 0;
+  PyObject  *pyobj = 0;
+  void *vptr;
+  
+  if (!obj) return 0;
+  if (obj == Py_None) {
+    *ptr = 0;
+    return 0;
+  }
+
+#ifdef SWIG_COBJECT_TYPES
+  if (!(PySwigObject_Check(obj))) {
+    if (!SWIG_this)
+      SWIG_this = PyString_FromString("this");
+    pyobj = obj;
+    obj = PyObject_GetAttr(obj,SWIG_this);
+    newref = 1;
+    if (!obj) goto type_error;
+    if (!PySwigObject_Check(obj)) {
+      Py_DECREF(obj);
+      goto type_error;
+    }
+  }  
+  vptr = PySwigObject_AsVoidPtr(obj);
+  c = (const char *) PySwigObject_GetDesc(obj);
+  if (newref) { Py_DECREF(obj); }
+  goto type_check;
+#else
+  if (!(PyString_Check(obj))) {
+    if (!SWIG_this)
+      SWIG_this = PyString_FromString("this");
+    pyobj = obj;
+    obj = PyObject_GetAttr(obj,SWIG_this);
+    newref = 1;
+    if (!obj) goto type_error;
+    if (!PyString_Check(obj)) {
+      Py_DECREF(obj);
+      goto type_error;
+    }
+  } 
+  c = PyString_AS_STRING(obj);
+  /* Pointer values must start with leading underscore */
+  c = SWIG_UnpackVoidPtr(c, &vptr, ty->name);
+  if (newref) { Py_DECREF(obj); }
+  if (!c) goto type_error;
+#endif
+
+type_check:
+  if (ty) {
+    tc = SWIG_TypeCheck(c,ty);
+    if (!tc) goto type_error;
+    *ptr = SWIG_TypeCast(tc,vptr);
+  } else {
+    *ptr = vptr;
+  }
+  if ((pyobj) && (flags & SWIG_POINTER_DISOWN)) {
+    PyObject_SetAttrString(pyobj,(char*)"thisown",Py_False);
+  }
+  return 0;
+
+type_error:
+  PyErr_Clear();
+  if (pyobj && !obj) {    
+    obj = pyobj;
+    if (PyCFunction_Check(obj)) {
+      /* here we get the method pointer for callbacks */
+      char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc);
+      c = doc ? strstr(doc, "swig_ptr: ") : 0;
+      if (c) {
+	c = ty ? SWIG_UnpackVoidPtr(c + 10, &vptr, ty->name) : 0;
+	if (!c) goto type_error;
+	goto type_check;
+      }
+    }
+  }
+  if (flags & SWIG_POINTER_EXCEPTION) {
+    if (ty) {
+      SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
+    } else {
+      SWIG_Python_TypeError("C/C++ pointer", obj);
+    }
+  }
+  return -1;
+}
+
+/* Convert a pointer value, signal an exception on a type mismatch */
+SWIGRUNTIME void *
+SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) {
+  void *result;
+  if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) {
+    PyErr_Clear();
+    if (flags & SWIG_POINTER_EXCEPTION) {
+      SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
+      SWIG_Python_ArgFail(argnum);
+    }
+  }
+  return result;
+}
+
+/* Convert a packed value value */
+SWIGRUNTIME int
+SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty, int flags) {
+  swig_cast_info *tc;
+  const char *c = 0;
+
+#if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON)
+  c = PySwigPacked_UnpackData(obj, ptr, sz);
+#else
+  if ((!obj) || (!PyString_Check(obj))) goto type_error;
+  c = PyString_AS_STRING(obj);
+  /* Pointer values must start with leading underscore */
+  c = SWIG_UnpackDataName(c, ptr, sz, ty->name);
+#endif
+  if (!c) goto type_error;
+  if (ty) {
+    tc = SWIG_TypeCheck(c,ty);
+    if (!tc) goto type_error;
+  }
+  return 0;
+
+type_error:
+  PyErr_Clear();
+  if (flags & SWIG_POINTER_EXCEPTION) {
+    if (ty) {
+      SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj);
+    } else {
+      SWIG_Python_TypeError("C/C++ packed data", obj);
+    }
+  }
+  return -1;
+}  
+
+/* Create a new array object */
+SWIGRUNTIME PyObject *
+SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int own) {
+  PyObject *robj = 0;
+  if (!type) {
+    if (!PyErr_Occurred()) {
+      PyErr_Format(PyExc_TypeError, "Swig: null type passed to NewPointerObj");
+    }
+    return robj;
+  }
+  if (!ptr) {
+    Py_INCREF(Py_None);
+    return Py_None;
+  }
+#ifdef SWIG_COBJECT_TYPES
+  robj = PySwigObject_FromVoidPtrAndDesc((void *) ptr, (char *)type->name);
+#else
+  {
+    char result[SWIG_BUFFER_SIZE];
+    robj = SWIG_PackVoidPtr(result, ptr, type->name, sizeof(result)) ?
+      PyString_FromString(result) : 0;
+  }
+#endif
+  if (!robj || (robj == Py_None)) return robj;
+  if (type->clientdata) {
+    PyObject *inst;
+    PyObject *args = Py_BuildValue((char*)"(O)", robj);
+    Py_DECREF(robj);
+    inst = PyObject_CallObject((PyObject *) type->clientdata, args);
+    Py_DECREF(args);
+    if (inst) {
+      if (own) {
+        PyObject_SetAttrString(inst,(char*)"thisown",Py_True);
+      }
+      robj = inst;
+    }
+  }
+  return robj;
+}
+
+SWIGRUNTIME PyObject *
+SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
+  PyObject *robj = 0;
+  if (!ptr) {
+    Py_INCREF(Py_None);
+    return Py_None;
+  }
+#if defined(SWIG_COBJECT_TYPES) && !defined(SWIG_COBJECT_PYTHON)
+  robj = PySwigPacked_FromDataAndDesc((void *) ptr, sz, (char *)type->name);
+#else
+  {
+    char result[SWIG_BUFFER_SIZE];
+    robj = SWIG_PackDataName(result, ptr, sz, type->name, sizeof(result)) ?
+      PyString_FromString(result) : 0;
+  }
+#endif
+  return robj;
+}
+
+/* -----------------------------------------------------------------------------*
+ *  Get type list 
+ * -----------------------------------------------------------------------------*/
+
+#ifdef SWIG_LINK_RUNTIME
+void *SWIG_ReturnGlobalTypeList(void *);
+#endif
+
+SWIGRUNTIME swig_module_info *
+SWIG_Python_GetModule(void) {
+  static void *type_pointer = (void *)0;
+  /* first check if module already created */
+  if (!type_pointer) {
+#ifdef SWIG_LINK_RUNTIME
+    type_pointer = SWIG_ReturnGlobalTypeList((void *)0);
+#else
+    type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
+				    (char*)"type_pointer" SWIG_TYPE_TABLE_NAME);
+    if (PyErr_Occurred()) {
+      PyErr_Clear();
+      type_pointer = (void *)0;
+    }
+  }
+#endif
+  return (swig_module_info *) type_pointer;
+}
+
+SWIGRUNTIME void
+SWIG_Python_SetModule(swig_module_info *swig_module) {
+  static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */
+
+  PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION,
+				   swig_empty_runtime_method_table);
+  PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, NULL);
+  if (pointer && module) {
+    PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer);
+  }
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+#define SWIGTYPE_p_DayTimeException swig_types[0]
+#define SWIGTYPE_p_EndOfFile swig_types[1]
+#define SWIGTYPE_p_ExtraWaveFact swig_types[2]
+#define SWIGTYPE_p_FFStreamError swig_types[3]
+#define SWIGTYPE_p_FileSpec swig_types[4]
+#define SWIGTYPE_p_FileSpec__FileSpecSortType swig_types[5]
+#define SWIGTYPE_p_FileSpec__FileSpecType swig_types[6]
+#define SWIGTYPE_p_FilterPair swig_types[7]
+#define SWIGTYPE_p_FormatException swig_types[8]
+#define SWIGTYPE_p_InvalidIonoModel swig_types[9]
+#define SWIGTYPE_p_InvalidTropModel swig_types[10]
+#define SWIGTYPE_p_MatrixTdouble_t swig_types[11]
+#define SWIGTYPE_p_NoAlmanacFound swig_types[12]
+#define SWIGTYPE_p_NoEphemerisFound swig_types[13]
+#define SWIGTYPE_p_NoIonoModelFound swig_types[14]
+#define SWIGTYPE_p_ORDMap swig_types[15]
+#define SWIGTYPE_p_PRNModeMap swig_types[16]
+#define SWIGTYPE_p_PRNStatusMap swig_types[17]
+#define SWIGTYPE_p_RinexDatum swig_types[18]
+#define SWIGTYPE_p_RinexMetMap swig_types[19]
+#define SWIGTYPE_p_RinexMetType swig_types[20]
+#define SWIGTYPE_p_RinexObsType swig_types[21]
+#define SWIGTYPE_p_RinexObsTypeMap swig_types[22]
+#define SWIGTYPE_p_RinexPrnMap swig_types[23]
+#define SWIGTYPE_p_SVBitsMap swig_types[24]
+#define SWIGTYPE_p_SVNotPresentException swig_types[25]
+#define SWIGTYPE_p_StatsTdouble_t swig_types[26]
+#define SWIGTYPE_p_StringUtils__StringException swig_types[27]
+#define SWIGTYPE_p_VectorTbool_t swig_types[28]
+#define SWIGTYPE_p_VectorTdouble_t swig_types[29]
+#define SWIGTYPE_p_allocator_type swig_types[30]
+#define SWIGTYPE_p_bool swig_types[31]
+#define SWIGTYPE_p_char swig_types[32]
+#define SWIGTYPE_p_char_type swig_types[33]
+#define SWIGTYPE_p_codeType swig_types[34]
+#define SWIGTYPE_p_difference_type swig_types[35]
+#define SWIGTYPE_p_double swig_types[36]
+#define SWIGTYPE_p_f_enum_std__ios_base__event_r_std__ios_base_int__void swig_types[37]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t swig_types[38]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError swig_types[39]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t swig_types[40]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter swig_types[41]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory swig_types[42]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber swig_types[43]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t swig_types[44]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t swig_types[45]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue swig_types[46]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat swig_types[47]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound swig_types[48]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException swig_types[49]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException swig_types[50]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException swig_types[51]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException swig_types[52]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException swig_types[53]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException swig_types[54]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception swig_types[55]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException swig_types[56]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException swig_types[57]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException swig_types[58]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException swig_types[59]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException swig_types[60]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException swig_types[61]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest swig_types[62]
+#define SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure swig_types[63]
+#define SWIGTYPE_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t swig_types[64]
+#define SWIGTYPE_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t swig_types[65]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t swig_types[66]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError swig_types[67]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t swig_types[68]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter swig_types[69]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory swig_types[70]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber swig_types[71]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue swig_types[72]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat swig_types[73]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound swig_types[74]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException swig_types[75]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException swig_types[76]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException swig_types[77]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException swig_types[78]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException swig_types[79]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException swig_types[80]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException swig_types[81]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception swig_types[82]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException swig_types[83]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException swig_types[84]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException swig_types[85]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException swig_types[86]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException swig_types[87]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest swig_types[88]
+#define SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure swig_types[89]
+#define SWIGTYPE_p_f_r_std__ios_base__r_std__ios_base swig_types[90]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__AccessError swig_types[91]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__InvalidParameter swig_types[92]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__WrongBlockNumber swig_types[93]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__OutOfMemory swig_types[94]
+#define SWIGTYPE_p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t swig_types[95]
+#define SWIGTYPE_p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t swig_types[96]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException swig_types[97]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__WrongBlockFormat swig_types[98]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__ConfigurationException swig_types[99]
+#define SWIGTYPE_p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t swig_types[100]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__InvalidValue swig_types[101]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__ObjectNotFound swig_types[102]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__Exception swig_types[103]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__SystemPipeException swig_types[104]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__FileHunterException swig_types[105]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__GeometryException swig_types[106]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__NoGeoidException swig_types[107]
+#define SWIGTYPE_p_f_r_std__ios_base__r_DayTimeException swig_types[108]
+#define SWIGTYPE_p_f_r_std__ios_base__r_FormatException swig_types[109]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException swig_types[110]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__InvalidRequest swig_types[111]
+#define SWIGTYPE_p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t swig_types[112]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__InvalidArgumentException swig_types[113]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__FileMissingException swig_types[114]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__SystemQueueException swig_types[115]
+#define SWIGTYPE_p_f_r_std__ios_base__r_gpstk__AssertionFailure swig_types[116]
+#define SWIGTYPE_p_first_type swig_types[117]
+#define SWIGTYPE_p_float swig_types[118]
+#define SWIGTYPE_p_fmtflags swig_types[119]
+#define SWIGTYPE_p_gpstk__AccessError swig_types[120]
+#define SWIGTYPE_p_gpstk__AlmOrbit swig_types[121]
+#define SWIGTYPE_p_gpstk__AlmanacStore swig_types[122]
+#define SWIGTYPE_p_gpstk__AssertionFailure swig_types[123]
+#define SWIGTYPE_p_gpstk__BCEphemerisStore swig_types[124]
+#define SWIGTYPE_p_gpstk__ClockModel swig_types[125]
+#define SWIGTYPE_p_gpstk__CodeBuffer swig_types[126]
+#define SWIGTYPE_p_gpstk__ConfigurationException swig_types[127]
+#define SWIGTYPE_p_gpstk__CorrectedEphemerisRange swig_types[128]
+#define SWIGTYPE_p_gpstk__DayTime swig_types[129]
+#define SWIGTYPE_p_gpstk__ECEF swig_types[130]
+#define SWIGTYPE_p_gpstk__EngAlmanac swig_types[131]
+#define SWIGTYPE_p_gpstk__EngEphemeris swig_types[132]
+#define SWIGTYPE_p_gpstk__EngNav swig_types[133]
+#define SWIGTYPE_p_gpstk__EphemerisStore swig_types[134]
+#define SWIGTYPE_p_gpstk__EpochClockModel swig_types[135]
+#define SWIGTYPE_p_gpstk__Exception swig_types[136]
+#define SWIGTYPE_p_gpstk__ExceptionLocation swig_types[137]
+#define SWIGTYPE_p_gpstk__FFBinaryStream swig_types[138]
+#define SWIGTYPE_p_gpstk__FFData swig_types[139]
+#define SWIGTYPE_p_gpstk__FFStream swig_types[140]
+#define SWIGTYPE_p_gpstk__FFTextStream swig_types[141]
+#define SWIGTYPE_p_gpstk__FICAStream swig_types[142]
+#define SWIGTYPE_p_gpstk__FICBase swig_types[143]
+#define SWIGTYPE_p_gpstk__FICData swig_types[144]
+#define SWIGTYPE_p_gpstk__FICHeader swig_types[145]
+#define SWIGTYPE_p_gpstk__FICStream swig_types[146]
+#define SWIGTYPE_p_gpstk__FICStreamBase swig_types[147]
+#define SWIGTYPE_p_gpstk__FileHunter swig_types[148]
+#define SWIGTYPE_p_gpstk__FileHunterException swig_types[149]
+#define SWIGTYPE_p_gpstk__FileMissingException swig_types[150]
+#define SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t swig_types[151]
+#define SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t swig_types[152]
+#define SWIGTYPE_p_gpstk__GGHeightTropModel swig_types[153]
+#define SWIGTYPE_p_gpstk__GGTropModel swig_types[154]
+#define SWIGTYPE_p_gpstk__GPSZcount swig_types[155]
+#define SWIGTYPE_p_gpstk__GenXSequence swig_types[156]
+#define SWIGTYPE_p_gpstk__Geodetic swig_types[157]
+#define SWIGTYPE_p_gpstk__GeoidModel swig_types[158]
+#define SWIGTYPE_p_gpstk__GeometryException swig_types[159]
+#define SWIGTYPE_p_gpstk__IndexOutOfBoundsException swig_types[160]
+#define SWIGTYPE_p_gpstk__InvalidArgumentException swig_types[161]
+#define SWIGTYPE_p_gpstk__InvalidParameter swig_types[162]
+#define SWIGTYPE_p_gpstk__InvalidRequest swig_types[163]
+#define SWIGTYPE_p_gpstk__InvalidValue swig_types[164]
+#define SWIGTYPE_p_gpstk__IonoModel swig_types[165]
+#define SWIGTYPE_p_gpstk__IonoModelStore swig_types[166]
+#define SWIGTYPE_p_gpstk__LinearClockModel swig_types[167]
+#define SWIGTYPE_p_gpstk__MSCStream swig_types[168]
+#define SWIGTYPE_p_gpstk__MatrixTdouble_t swig_types[169]
+#define SWIGTYPE_p_gpstk__NBTropModel swig_types[170]
+#define SWIGTYPE_p_gpstk__NoGeoidException swig_types[171]
+#define SWIGTYPE_p_gpstk__ORDEpoch swig_types[172]
+#define SWIGTYPE_p_gpstk__ObjectNotFound swig_types[173]
+#define SWIGTYPE_p_gpstk__ObsClockModel swig_types[174]
+#define SWIGTYPE_p_gpstk__ObsEpoch swig_types[175]
+#define SWIGTYPE_p_gpstk__ObsRngDev swig_types[176]
+#define SWIGTYPE_p_gpstk__Observation swig_types[177]
+#define SWIGTYPE_p_gpstk__ObservationPlus swig_types[178]
+#define SWIGTYPE_p_gpstk__OutOfMemory swig_types[179]
+#define SWIGTYPE_p_gpstk__Position swig_types[180]
+#define SWIGTYPE_p_gpstk__RAIMSolution swig_types[181]
+#define SWIGTYPE_p_gpstk__RinexEphemerisStore swig_types[182]
+#define SWIGTYPE_p_gpstk__RinexMetBase swig_types[183]
+#define SWIGTYPE_p_gpstk__RinexMetData swig_types[184]
+#define SWIGTYPE_p_gpstk__RinexMetHeader swig_types[185]
+#define SWIGTYPE_p_gpstk__RinexMetStream swig_types[186]
+#define SWIGTYPE_p_gpstk__RinexNavBase swig_types[187]
+#define SWIGTYPE_p_gpstk__RinexNavData swig_types[188]
+#define SWIGTYPE_p_gpstk__RinexNavHeader swig_types[189]
+#define SWIGTYPE_p_gpstk__RinexNavStream swig_types[190]
+#define SWIGTYPE_p_gpstk__RinexObsBase swig_types[191]
+#define SWIGTYPE_p_gpstk__RinexObsData swig_types[192]
+#define SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator swig_types[193]
+#define SWIGTYPE_p_gpstk__RinexObsHeader swig_types[194]
+#define SWIGTYPE_p_gpstk__RinexObsStream swig_types[195]
+#define SWIGTYPE_p_gpstk__RinexPrn swig_types[196]
+#define SWIGTYPE_p_gpstk__RungeKutta4 swig_types[197]
+#define SWIGTYPE_p_gpstk__RxObsData swig_types[198]
+#define SWIGTYPE_p_gpstk__SMODFStream swig_types[199]
+#define SWIGTYPE_p_gpstk__SP3Base swig_types[200]
+#define SWIGTYPE_p_gpstk__SP3Data swig_types[201]
+#define SWIGTYPE_p_gpstk__SP3EphemerisStore swig_types[202]
+#define SWIGTYPE_p_gpstk__SP3Header swig_types[203]
+#define SWIGTYPE_p_gpstk__SP3Stream swig_types[204]
+#define SWIGTYPE_p_gpstk__SVPCodeGen swig_types[205]
+#define SWIGTYPE_p_gpstk__SatID swig_types[206]
+#define SWIGTYPE_p_gpstk__SimpleTropModel swig_types[207]
+#define SWIGTYPE_p_gpstk__StringUtils__StringException swig_types[208]
+#define SWIGTYPE_p_gpstk__SystemPipeException swig_types[209]
+#define SWIGTYPE_p_gpstk__SystemQueueException swig_types[210]
+#define SWIGTYPE_p_gpstk__SystemSemaphoreException swig_types[211]
+#define SWIGTYPE_p_gpstk__TabularEphemerisStore swig_types[212]
+#define SWIGTYPE_p_gpstk__Triple swig_types[213]
+#define SWIGTYPE_p_gpstk__TropModel swig_types[214]
+#define SWIGTYPE_p_gpstk__ValidTypeTchar_t swig_types[215]
+#define SWIGTYPE_p_gpstk__ValidTypeTdouble_t swig_types[216]
+#define SWIGTYPE_p_gpstk__ValidTypeTfloat_t swig_types[217]
+#define SWIGTYPE_p_gpstk__ValidTypeTint_t swig_types[218]
+#define SWIGTYPE_p_gpstk__ValidTypeTlong_t swig_types[219]
+#define SWIGTYPE_p_gpstk__ValidTypeTshort_t swig_types[220]
+#define SWIGTYPE_p_gpstk__ValidTypeTunsigned_char_t swig_types[221]
+#define SWIGTYPE_p_gpstk__ValidTypeTunsigned_int_t swig_types[222]
+#define SWIGTYPE_p_gpstk__ValidTypeTunsigned_long_t swig_types[223]
+#define SWIGTYPE_p_gpstk__ValidTypeTunsigned_short_t swig_types[224]
+#define SWIGTYPE_p_gpstk__WrongBlockFormat swig_types[225]
+#define SWIGTYPE_p_gpstk__WrongBlockNumber swig_types[226]
+#define SWIGTYPE_p_gpstk__WxObsData swig_types[227]
+#define SWIGTYPE_p_gpstk__WxObservation swig_types[228]
+#define SWIGTYPE_p_gpstk__X1Sequence swig_types[229]
+#define SWIGTYPE_p_gpstk__X2Sequence swig_types[230]
+#define SWIGTYPE_p_gpstk__Xvt swig_types[231]
+#define SWIGTYPE_p_gpstk__ZeroTropModel swig_types[232]
+#define SWIGTYPE_p_int swig_types[233]
+#define SWIGTYPE_p_int_type swig_types[234]
+#define SWIGTYPE_p_iostate swig_types[235]
+#define SWIGTYPE_p_key_type swig_types[236]
+#define SWIGTYPE_p_long swig_types[237]
+#define SWIGTYPE_p_long_double swig_types[238]
+#define SWIGTYPE_p_long_long swig_types[239]
+#define SWIGTYPE_p_mapped_type swig_types[240]
+#define SWIGTYPE_p_off_type swig_types[241]
+#define SWIGTYPE_p_openmode swig_types[242]
+#define SWIGTYPE_p_p_void swig_types[243]
+#define SWIGTYPE_p_pos_type swig_types[244]
+#define SWIGTYPE_p_second_type swig_types[245]
+#define SWIGTYPE_p_seekdir swig_types[246]
+#define SWIGTYPE_p_sensorPosType swig_types[247]
+#define SWIGTYPE_p_sensorType swig_types[248]
+#define SWIGTYPE_p_short swig_types[249]
+#define SWIGTYPE_p_size_t swig_types[250]
+#define SWIGTYPE_p_size_type swig_types[251]
+#define SWIGTYPE_p_state_type swig_types[252]
+#define SWIGTYPE_p_std__bad_exception swig_types[253]
+#define SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t swig_types[254]
+#define SWIGTYPE_p_std__basic_iostreamTchar_std__char_traitsTchar_t_t swig_types[255]
+#define SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t swig_types[256]
+#define SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type swig_types[257]
+#define SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type swig_types[258]
+#define SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type swig_types[259]
+#define SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t swig_types[260]
+#define SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type swig_types[261]
+#define SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type swig_types[262]
+#define SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t swig_types[263]
+#define SWIGTYPE_p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t swig_types[264]
+#define SWIGTYPE_p_std__domain_error swig_types[265]
+#define SWIGTYPE_p_std__exception swig_types[266]
+#define SWIGTYPE_p_std__invalid_argument swig_types[267]
+#define SWIGTYPE_p_std__ios__openmode swig_types[268]
+#define SWIGTYPE_p_std__ios_base swig_types[269]
+#define SWIGTYPE_p_std__length_error swig_types[270]
+#define SWIGTYPE_p_std__listTdouble_t swig_types[271]
+#define SWIGTYPE_p_std__listTgpstk__EngEphemeris_t swig_types[272]
+#define SWIGTYPE_p_std__locale swig_types[273]
+#define SWIGTYPE_p_std__logic_error swig_types[274]
+#define SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t swig_types[275]
+#define SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type swig_types[276]
+#define SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type swig_types[277]
+#define SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type swig_types[278]
+#define SWIGTYPE_p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t swig_types[279]
+#define SWIGTYPE_p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t swig_types[280]
+#define SWIGTYPE_p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t swig_types[281]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type swig_types[282]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type swig_types[283]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t swig_types[284]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type swig_types[285]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type swig_types[286]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t swig_types[287]
+#define SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t swig_types[288]
+#define SWIGTYPE_p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t swig_types[289]
+#define SWIGTYPE_p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t swig_types[290]
+#define SWIGTYPE_p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t swig_types[291]
+#define SWIGTYPE_p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t swig_types[292]
+#define SWIGTYPE_p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t swig_types[293]
+#define SWIGTYPE_p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t swig_types[294]
+#define SWIGTYPE_p_std__out_of_range swig_types[295]
+#define SWIGTYPE_p_std__overflow_error swig_types[296]
+#define SWIGTYPE_p_std__range_error swig_types[297]
+#define SWIGTYPE_p_std__runtime_error swig_types[298]
+#define SWIGTYPE_p_std__setTshort_t swig_types[299]
+#define SWIGTYPE_p_std__string swig_types[300]
+#define SWIGTYPE_p_std__underflow_error swig_types[301]
+#define SWIGTYPE_p_std__valarrayTdouble_t swig_types[302]
+#define SWIGTYPE_p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t swig_types[303]
+#define SWIGTYPE_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t swig_types[304]
+#define SWIGTYPE_p_std__vectorTchar_std__allocatorTchar_t_t swig_types[305]
+#define SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t swig_types[306]
+#define SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type swig_types[307]
+#define SWIGTYPE_p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t swig_types[308]
+#define SWIGTYPE_p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t swig_types[309]
+#define SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t swig_types[310]
+#define SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t__allocator_type swig_types[311]
+#define SWIGTYPE_p_std__vectorTlong_std__allocatorTlong_t_t swig_types[312]
+#define SWIGTYPE_p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t swig_types[313]
+#define SWIGTYPE_p_std__vectorTsensorType_std__allocatorTsensorType_t_t swig_types[314]
+#define SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t swig_types[315]
+#define SWIGTYPE_p_time_t swig_types[316]
+#define SWIGTYPE_p_timeval swig_types[317]
+#define SWIGTYPE_p_traits_type swig_types[318]
+#define SWIGTYPE_p_unsigned_int swig_types[319]
+#define SWIGTYPE_p_unsigned_long swig_types[320]
+#define SWIGTYPE_p_unsigned_long_long swig_types[321]
+#define SWIGTYPE_p_unsigned_short swig_types[322]
+#define SWIGTYPE_p_value_type swig_types[323]
+#define SWIGTYPE_ptrdiff_t swig_types[324]
+#define SWIGTYPE_size_t swig_types[325]
+#define SWIGTYPE_std__ptrdiff_t swig_types[326]
+#define SWIGTYPE_std__size_t swig_types[327]
+static swig_type_info *swig_types[328];
+static swig_module_info swig_module = {swig_types, 328, 0, 0, 0, 0};
+#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
+#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
+
+/* -------- TYPES TABLE (END) -------- */
+
+
+/*-----------------------------------------------
+              @(target):= _gpstkPython.so
+  ------------------------------------------------*/
+#define SWIG_init    init_gpstkPython
+
+#define SWIG_name    "_gpstkPython"
+
+#include <iostream>
+#include <fstream>
+#include <valarray>
+#include <string>
+#include <map>
+#include <ios>
+
+#include "../../../src/DayTime.hpp"
+#include "../../../src/FFStream.hpp"
+#include "../../../src/RinexObsBase.hpp"
+#include "../../../src/Triple.hpp"
+#include "../../../src/RinexObsHeader.hpp"
+#include "../../../src/Exception.hpp"
+#include "../../../src/GPSZcount.hpp"
+#include "../../../src/RinexObsStream.hpp"
+#include "../../../src/ECEF.hpp"
+#include "../../../src/Geodetic.hpp"
+#include "../../../src/geometry.hpp"
+#include "../../../src/Xvt.hpp"
+#include "../../../src/RinexObsData.hpp"
+#include "../../../src/Position.hpp"
+#include "../../../src/RAIMSolution.hpp"
+#include "../../../src/AlmanacStore.hpp"
+#include "../../../src/AlmOrbit.hpp"
+#include "../../../src/ValidType.hpp"
+#include "../../../src/X1Sequence.hpp"
+// mergePCodeWords.h must be present in directory for X2Sequence
+#include "../../../src/X2Sequence.hpp"
+#include "../../../src/CodeBuffer.hpp"
+#include "../../../src/SatID.hpp"
+#include "../../../src/GenXSequence.hpp"
+#include "../../../src/SVPCodeGen.hpp"
+#include "../../../src/EphemerisRange.hpp"
+#include "../../../src/EngEphemeris.hpp"
+#include "../../../src/EngAlmanac.hpp"
+#include "../../../src/EngNav.hpp"
+#include "../../../src/ObservationStore.hpp"
+#include "../../../src/IonoModel.hpp"
+#include "../../../src/IonoModelStore.hpp"
+#include "../../../src/TropModel.hpp"
+#include "../../../src/ClockModel.hpp"
+#include "../../../src/ObsClockModel.hpp"
+#include "../../../src/EpochClockModel.hpp"
+#include "../../../src/LinearClockModel.hpp"
+#include "../../../src/ObsRngDev.hpp"
+#include "../../../src/ORDEpoch.hpp"
+#include "../../../src/RungeKutta4.hpp"
+#include "../../../src/Stats.hpp"
+#include "../../../src/RinexEphemerisStore.hpp"
+#include "../../../src/SP3EphemerisStore.hpp"
+#include "../../../src/FileHunter.hpp"
+//#include "../../../src/FileStore.hpp"
+#include "../../../src/RinexNavHeader.hpp"
+//#include "../../../src/TabularEphemerisStore.hpp"
+//#include "../../../src/EphemerisStore.hpp"
+#include "../../../src/BCEphemerisStore.hpp"
+#include "../../../src/SP3Header.hpp"
+//#include "../../../src/SP3Base.hpp"
+//#include "../../../src/RinexNavBase.hpp"
+#include "../../../src/FFData.hpp"
+#include "../../../src/FICStream.hpp"
+#include "../../../src/FICAStream.hpp"
+#include "../../../src/MSCStream.hpp"
+#include "../../../src/RinexMetStream.hpp"
+#include "../../../src/RinexNavStream.hpp"
+#include "../../../src/SMODFStream.hpp"
+#include "../../../src/SP3Stream.hpp"
+#include "../../../src/FFTextStream.hpp"
+
+#include "../../../src/FICData.hpp"
+#include "../../../src/FICHeader.hpp"
+#include "../../../src/RinexMetData.hpp"
+#include "../../../src/RinexMetHeader.hpp"
+#include "../../../src/RinexNavData.hpp"
+#include "../../../src/SP3Data.hpp"
+#include "../../../src/icd_200_constants.hpp"
+
+#include "gpstkPythonUtils.cpp"
+#include "streamRead.cpp"
+
+using namespace std;
+using namespace gpstk;
+
+// RinexObsType and ExtraWaveFact are defined under scope of RinexObsHeader
+// SWIG doesn't support nested C++ structs so the wrap file will call
+//   RinexObsType in global space
+// This is to define RinexObsType and ExtraWaveFact in the global space
+typedef RinexObsHeader::RinexObsType RinexObsType;
+typedef RinexObsHeader::ExtraWaveFact ExtraWaveFact;
+
+// Same technique for nested classes in DayTime.hpp
+typedef DayTime::DayTimeException DayTimeException;
+typedef DayTime::FormatException FormatException;
+
+typedef RinexObsData::RinexDatum RinexDatum;
+
+// Originally from gpstkPython2.i
+typedef AlmanacStore::NoAlmanacFound NoAlmanacFound;
+typedef EngAlmanac::SVNotPresentException SVNotPresentException;
+typedef TropModel::InvalidTropModel InvalidTropModel;
+typedef IonoModelStore::NoIonoModelFound NoIonoModelFound;
+typedef IonoModel::InvalidIonoModel InvalidIonoModel;
+
+typedef RinexMetHeader::RinexMetType RinexMetType;
+typedef RinexMetHeader::sensorType sensorType;
+typedef RinexMetHeader::sensorPosType sensorPosType;
+typedef EphemerisStore::NoEphemerisFound NoEphemerisFound;
+typedef RinexObsData::RinexPrnMap RinexPrnMap;
+
+
+  
+#if defined(__SUNPRO_CC) 
+#define SWIG_STD_NOASSIGN_STL
+#define SWIG_STD_NOINSERT_TEMPLATE_STL
+#endif
+
+
+
+#include <string>
+#include <stdexcept>
+
+
+#include <utility>
+
+
+#include <iostream>  
+
+
+#if PY_VERSION_HEX < 0x02000000
+#define PySequence_Size PySequence_Length
+#endif
+#include <stdexcept>
+
+
+#define  SWIG_MemoryError    1
+#define  SWIG_IOError        2
+#define  SWIG_RuntimeError   3
+#define  SWIG_IndexError     4
+#define  SWIG_TypeError      5
+#define  SWIG_DivisionByZero 6
+#define  SWIG_OverflowError  7
+#define  SWIG_SyntaxError    8
+#define  SWIG_ValueError     9
+#define  SWIG_SystemError   10
+#define  SWIG_UnknownError  99
+
+
+SWIGINTERN void SWIG_exception_(int code, const char *msg) {
+  switch(code) {
+  case SWIG_MemoryError:
+    PyErr_SetString(PyExc_MemoryError,msg);
+    break;
+  case SWIG_IOError:
+    PyErr_SetString(PyExc_IOError,msg);
+    break;
+  case SWIG_RuntimeError:
+    PyErr_SetString(PyExc_RuntimeError,msg);
+    break;
+  case SWIG_IndexError:
+    PyErr_SetString(PyExc_IndexError,msg);
+    break;
+  case SWIG_TypeError:
+    PyErr_SetString(PyExc_TypeError,msg);
+    break;
+  case SWIG_DivisionByZero:
+    PyErr_SetString(PyExc_ZeroDivisionError,msg);
+    break;
+  case SWIG_OverflowError:
+    PyErr_SetString(PyExc_OverflowError,msg);
+    break;
+  case SWIG_SyntaxError:
+    PyErr_SetString(PyExc_SyntaxError,msg);
+    break;
+  case SWIG_ValueError:
+    PyErr_SetString(PyExc_ValueError,msg);
+    break;
+  case SWIG_SystemError:
+    PyErr_SetString(PyExc_SystemError,msg);
+    break;
+  default:
+    PyErr_SetString(PyExc_RuntimeError,msg);
+    break;
+  }
+}
+
+#define SWIG_exception(a,b) { SWIG_exception_(a,b); SWIG_fail; }
+
+
+#include <stdexcept>
+
+
+#include <algorithm>
+
+
+#include <map>
+#include <algorithm>
+#include <stdexcept>
+
+
+#include <string>
+
+
+#include <vector>
+
+
+#include <limits.h>
+
+
+SWIGINTERN int
+  SWIG_CheckLongInRange(long value, long min_value, long max_value,
+			const char *errmsg)
+{
+  if (value < min_value) {
+    if (errmsg) {
+      PyErr_Format(PyExc_OverflowError, 
+		   "value %ld is less than '%s' minimum %ld", 
+		   value, errmsg, min_value);
+    }
+    return 0;    
+  } else if (value > max_value) {
+    if (errmsg) {
+      PyErr_Format(PyExc_OverflowError,
+		   "value %ld is greater than '%s' maximum %ld", 
+		   value, errmsg, max_value);
+    }
+    return 0;
+  }
+  return 1;
+}
+
+
+SWIGINTERN int
+  SWIG_AsVal_long(PyObject * obj, long* val)
+{
+  if (PyInt_Check(obj)) {
+    if (val) *val = PyInt_AS_LONG(obj);
+    return 1;
+  }
+  if (PyLong_Check(obj)) {
+    long v = PyLong_AsLong(obj);
+    if (!PyErr_Occurred()) {
+      if (val) *val = v;
+      return 1;
+    } else {
+      if (!val) PyErr_Clear();
+      return 0;
+    }
+  }
+  if (val) {
+    SWIG_type_error("long", obj);
+  }
+  return 0;
+ }
+
+
+#if INT_MAX != LONG_MAX
+SWIGINTERN int
+  SWIG_AsVal_int(PyObject *obj, int *val)
+{ 
+  const char* errmsg = val ? "int" : (char*)0;
+  long v;
+  if (SWIG_AsVal_long(obj, &v)) {
+    if (SWIG_CheckLongInRange(v, INT_MIN,INT_MAX, errmsg)) {
+      if (val) *val = (int)(v);
+      return 1;
+    } else {
+      return 0;
+    }
+  } else {
+    PyErr_Clear();
+  }
+  if (val) {
+    SWIG_type_error(errmsg, obj);
+  }
+  return 0;    
+}
+#else
+SWIGINTERNINLINE int
+  SWIG_AsVal_int(PyObject *obj, int *val)
+{
+  return SWIG_AsVal_long(obj,(long*)val);
+}
+#endif
+
+
+  /*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_int PyInt_FromLong
+/*@@*/
+
+
+namespace swig {  
+  template <class Type>
+  struct noconst_traits {
+    typedef Type noconst_type;
+  };
+
+  template <class Type>
+  struct noconst_traits<const Type> {
+    typedef Type noconst_type;
+  };
+
+  /*
+    type categories
+  */
+  struct pointer_category { };  
+  struct value_category { };
+
+  /*
+    General traits that provides type_name and type_info
+  */
+  template <class Type> struct traits { };
+
+  template <class Type>
+  inline const char* type_name() {
+    return traits<typename noconst_traits<Type >::noconst_type >::type_name();
+  }
+
+  template <class Type> 
+  struct traits_info {
+    static swig_type_info *type_query(std::string name) {
+      name += " *";
+      return SWIG_TypeQuery(name.c_str());
+    }    
+    static swig_type_info *type_info() {
+      static swig_type_info *info = type_query(type_name<Type>());
+      return info;
+    }
+  };
+
+  template <class Type>
+  inline swig_type_info *type_info() {
+    return traits_info<Type>::type_info();
+  }
+
+  /*
+    Partial specialization for pointers
+  */
+  template <class Type> struct traits <Type *> {
+    typedef pointer_category category;
+    static std::string make_ptr_name(const char* name) {
+      std::string ptrname = name;
+      ptrname += " *";
+      return ptrname;
+    }    
+    static const char* type_name() {
+      static std::string name = make_ptr_name(swig::type_name<Type>());
+      return name.c_str();
+    }
+  };
+
+  template <class Type, class Category> 
+  struct traits_as { };
+ 
+  template <class Type, class Category> 
+  struct traits_check { };
+
+}
+
+
+namespace swig {  
+  /*
+    Traits that provides the from method
+  */
+  template <class Type> struct traits_from_ptr {
+    static PyObject *from(Type *val, int owner = 0) {
+      return SWIG_NewPointerObj(val, type_info<Type>(), owner);
+    }
+  };
+
+  template <class Type> struct traits_from {
+    static PyObject *from(const Type& val) {
+      return traits_from_ptr<Type>::from(new Type(val), 1);
+    }
+  };
+
+  template <class Type> struct traits_from<Type *> {
+    static PyObject *from(Type* val) {
+      return traits_from_ptr<Type>::from(val, 0);
+    }
+  };
+
+  template <class Type>
+  inline PyObject *from(const Type& val) {
+    return traits_from<Type>::from(val);
+  }
+
+  template <class Type>
+  inline PyObject *from_ptr(Type* val, int owner) {
+    return traits_from_ptr<Type>::from(val, owner);
+  }
+
+  /*
+    Traits that provides the asval/as/check method
+  */
+  template <class Type>
+  struct traits_asptr {   
+    static int asptr(PyObject *obj, Type **val) {
+      Type *p;
+      int res = (SWIG_ConvertPtr(obj, (void**)&p, type_info<Type>(), 0) != -1) 
+	? SWIG_OLDOBJ : 0;
+      if (res) {
+	if (val) {
+	  *val = p;
+	}
+      } else {
+	SWIG_type_error(type_name<Type>(), obj);
+      }
+      return res;
+    }
+  }; 
+
+  template <class Type>
+  inline int asptr(PyObject *obj, Type **vptr) {
+    return traits_asptr<Type>::asptr(obj, vptr);
+  }
+
+  template <class Type> 
+  struct traits_asval {
+    static bool asval(PyObject *obj, Type *val) {
+      if (val) {
+	Type *p = 0;
+	int res = traits_asptr<Type>::asptr(obj, &p);
+	if ((res != 0) && p) {
+	  typedef typename noconst_traits<Type>::noconst_type noconst_type;
+	  *(const_cast<noconst_type*>(val)) = *p;
+	  if (res == SWIG_NEWOBJ) delete p;
+	  return true;
+	} else {
+	  return false;
+	}
+      } else {
+	return traits_asptr<Type>::asptr(obj, (Type **)(0)) ? true : false;
+      }
+    }
+  };
+
+  template <class Type> struct traits_asval<Type*> {
+    static bool asval(PyObject *obj, Type **val) {
+      if (val) {
+        typedef typename noconst_traits<Type>::noconst_type noconst_type;
+        noconst_type *p = 0;
+        int res = traits_asptr<noconst_type>::asptr(obj, &p);
+        if (res) {
+          *(const_cast<noconst_type**>(val)) = p;
+     	  return true;
+	} else {
+	  return false;
+	}
+      } else {
+	return traits_asptr<Type>::asptr(obj, (Type **)(0)) ? true : false;
+      }
+    }
+  };
+  
+  template <class Type>
+  inline bool asval(PyObject *obj, Type *val) {
+    return traits_asval<Type>::asval(obj, val) ? true : false;
+  }
+
+  template <class Type> 
+  struct traits_as<Type, value_category> {
+    static Type as(PyObject *obj, bool throw_error) {
+      Type v;
+      if (!obj || !asval(obj, &v)) {
+	if (!PyErr_Occurred()) {
+	  SWIG_type_error(swig::type_name<Type>(), obj);
+	}
+	if (throw_error) throw std::invalid_argument("bad type");
+      }
+      return v;
+    }
+  };
+
+  template <class Type> 
+  struct traits_as<Type, pointer_category> {
+    static Type as(PyObject *obj, bool throw_error) {
+      Type *v = 0;      
+      int res = (obj ? traits_asptr<Type>::asptr(obj, &v) : 0);
+      if (res && v) {
+	if (res == SWIG_NEWOBJ) {
+	  Type r(*v);
+	  delete v;
+	  return r;
+	} else {
+	  return *v;
+	}
+      } else {
+	// Uninitialized return value, no Type() constructor required.
+	static Type *v_def = (Type*) malloc(sizeof(Type));
+	if (!PyErr_Occurred()) {
+	  SWIG_type_error(swig::type_name<Type>(), obj);
+	}
+	if (throw_error) throw std::invalid_argument("bad type");
+	memset(v_def,0,sizeof(Type));
+	return *v_def;
+      }
+    }
+  };
+
+  template <class Type> 
+  struct traits_as<Type*, pointer_category> {
+    static Type* as(PyObject *obj, bool throw_error) {
+      Type *v = 0;      
+      int res = (obj ? traits_asptr<Type>::asptr(obj, &v) : 0);
+      if (res) {
+	return v;
+      } else {
+	if (!PyErr_Occurred()) {
+	  SWIG_type_error(swig::type_name<Type>(), obj);
+	}
+	if (throw_error) throw std::invalid_argument("bad type");
+	return 0;
+      }
+    }
+  };
+    
+  template <class Type>
+  inline Type as(PyObject *obj, bool te = false) {
+    return traits_as<Type, typename traits<Type>::category>::as(obj, te);
+  }
+
+  template <class Type> 
+  struct traits_check<Type, value_category> {
+    static bool check(PyObject *obj) {
+      return obj && asval(obj, (Type *)(0));
+    }
+  };
+
+  template <class Type> 
+  struct traits_check<Type, pointer_category> {
+    static bool check(PyObject *obj) {
+      return obj && asptr(obj, (Type **)(0));
+    }
+  };
+
+  template <class Type>
+  inline bool check(PyObject *obj) {
+    return traits_check<Type, typename traits<Type>::category>::check(obj);
+  }
+}
+
+
+namespace swig {
+  template <> struct traits<int > {
+    typedef value_category category;
+    static const char* type_name() { return"int"; }
+  };  
+  template <>  struct traits_asval<int > {   
+    typedef int value_type;
+    static int asval(PyObject *obj, value_type *val) { 
+      return SWIG_AsVal_int(obj, val);
+    }
+  };
+  template <>  struct traits_from<int > {
+    typedef int value_type;
+    static PyObject *from(const value_type& val) {
+      return SWIG_From_int(val);
+    }
+  };
+}
+
+
+  namespace swig {
+    struct PyObject_var {
+      PyObject* ptr;
+      PyObject_var(PyObject* obj = 0) : ptr(obj) { }      
+      ~PyObject_var() { if (ptr) Py_DECREF(ptr); }      
+      operator PyObject*() { return ptr; }
+      PyObject* operator->() const { return ptr; }
+    };
+  }
+
+
+namespace swig {
+  inline size_t
+  check_index(ptrdiff_t i, size_t size, bool insert = false) {
+    if ( i < 0 ) {
+      if ((size_t) (-i) <= size) 
+	return (size_t) (i + size);
+    } else if ( (size_t) i < size ) {
+      return (size_t) i;
+    } else if (insert && ((size_t) i == size)) {
+      return size;
+    }
+    
+    throw std::out_of_range("index out of range");
+  }
+
+  inline size_t
+  slice_index(ptrdiff_t i, size_t size) {
+    if ( i < 0 ) {
+      if ((size_t) (-i) <= size) {
+	return (size_t) (i + size);
+      } else {
+	throw std::out_of_range("index out of range");
+      }
+    } else {
+      return ( (size_t) i < size ) ? ((size_t) i) : size;
+    }
+  }
+
+  template <class Sequence, class Difference>
+  inline typename Sequence::iterator 
+  getpos(Sequence* self, Difference i)  {
+    typename Sequence::iterator pos = self->begin(); 
+    std::advance(pos, check_index(i,self->size()));
+    return pos;
+  }
+
+  template <class Sequence, class Difference>
+  inline typename Sequence::const_iterator 
+  cgetpos(const Sequence* self, Difference i)  {
+    typename Sequence::const_iterator pos = self->begin(); 
+    std::advance(pos, check_index(i,self->size()));
+    return pos;
+  }
+
+  template <class Sequence, class Difference>
+  inline Sequence*
+  getslice(const Sequence* self, Difference i, Difference j) { 
+    typename Sequence::size_type size = self->size();
+    typename Sequence::size_type ii = swig::check_index(i, size);
+    typename Sequence::size_type jj = swig::slice_index(j, size);
+    
+    if (jj > ii) {
+      typename Sequence::const_iterator vb = self->begin();
+      typename Sequence::const_iterator ve = self->begin();
+      std::advance(vb,ii);
+      std::advance(ve,jj);
+      return new Sequence(vb, ve);
+    } else {
+      return new Sequence();
+    }
+  }
+
+  template <class Sequence, class Difference, class InputSeq>
+  inline void
+  setslice(Sequence* self, Difference i, Difference j, const InputSeq& v) {
+    typename Sequence::size_type size = self->size();
+    typename Sequence::size_type ii = swig::check_index(i, size, true);
+    typename Sequence::size_type jj = swig::slice_index(j, size);
+    if (jj < ii) jj = ii;
+    typename Sequence::iterator sb = self->begin();
+    typename InputSeq::const_iterator vmid = v.begin();
+    std::advance(sb,ii);
+    std::advance(vmid, jj - ii);
+    self->insert(std::copy(v.begin(), vmid, sb), vmid, v.end());
+  }
+ 
+  template <class Sequence, class Difference>
+  inline void
+  delslice(Sequence* self, Difference i, Difference j) {
+    typename Sequence::size_type size = self->size();
+    typename Sequence::size_type ii = swig::check_index(i, size, true);
+    typename Sequence::size_type jj = swig::slice_index(j, size);
+    if (jj > ii) {
+      typename Sequence::iterator sb = self->begin();
+      typename Sequence::iterator se = self->begin();
+      std::advance(sb,ii);
+      std::advance(se,jj);
+      self->erase(sb,se);
+    }
+  }
+}
+
+
+#include <iterator>
+namespace swig
+{
+  template <class T> 
+  struct PySequence_Ref
+  {
+    PySequence_Ref(PyObject* seq, int index) 
+      : _seq(seq), _index(index)
+    {
+    }
+
+    operator T () const 
+    {
+      swig::PyObject_var item = PySequence_GetItem(_seq, _index);
+      try {
+	return swig::as<T>(item, true);
+      } catch (std::exception& e) {
+	char msg[1024];
+	PyOS_snprintf(msg, sizeof(msg), "in sequence element %d ", _index);
+	if (!PyErr_Occurred()) {
+	  SWIG_type_error(swig::type_name<T>(), item);
+	}
+	SWIG_append_errmsg(msg);
+	SWIG_append_errmsg(e.what());
+	throw;
+      }
+    }
+    
+    PySequence_Ref& operator=(const T& v) 
+    {
+      PySequence_SetItem(_seq, _index, swig::from<T>(v));
+      return *this;
+    }
+    
+  private:
+    PyObject* _seq;
+    int _index;
+  };
+
+  template <class T> 
+  struct PySequence_ArrowProxy 
+  {
+    PySequence_ArrowProxy(const T& x): m_value(x) {}
+    const T* operator->() const { return &m_value; }
+    operator const T*() const { return &m_value; }
+    T m_value;
+  };    
+
+  template <class T, class Reference > 
+  struct PySequence_Iter
+  {
+    typedef PySequence_Iter<T, Reference > self;
+
+    typedef std::random_access_iterator_tag iterator_category;
+    typedef Reference reference;
+    typedef T value_type;
+    typedef T* pointer;
+    typedef int difference_type;
+
+    PySequence_Iter()
+    {
+    }
+
+    PySequence_Iter(PyObject* seq, int index)
+      : _seq(seq), _index(index)
+    {
+    }
+
+    reference operator*() const
+    { 
+      return reference(_seq, _index);
+    }
+
+    PySequence_ArrowProxy<T>
+    operator->() const {
+      return PySequence_ArrowProxy<T>(operator*());
+    }
+
+    bool operator==(const self& ri) const 
+    { 
+      return (_index == ri._index) && (_seq == ri._seq);
+    }
+
+    bool operator!=(const self& ri) const 
+    {
+      return !(operator==(ri));
+    }    
+
+    self& operator ++ ()
+    {
+      ++_index;      
+      return *this;
+    }
+
+    self& operator -- ()
+    {
+      --_index;
+      return *this;
+    }
+
+    self& operator += (difference_type n) 
+    {
+      _index += n;
+      return *this;
+    }
+
+    self operator +(difference_type n) const
+    {
+      return self(_seq, _index + n);
+    }
+
+    self& operator -= (difference_type n) 
+    {
+      _index -= n;
+      return *this;
+    }
+
+    self operator -(difference_type n) const
+    {
+      return self(_seq, _index - n);
+    }    
+
+    difference_type operator - (const self& ri) const
+    {
+      return _index - ri._index;
+    }
+
+    reference 
+    operator[](difference_type n) const 
+    { 
+      return reference(_seq, _index + n);
+    }
+
+  private:
+    PyObject* _seq;
+    int _index;
+  }; 
+
+  template <class T> 
+  struct PySequence_Cont
+  {
+    typedef PySequence_Ref<T> reference;
+    typedef const PySequence_Ref<T> const_reference;
+    typedef T value_type;
+    typedef T* pointer;
+    typedef int difference_type;
+    typedef int size_type;
+    typedef const pointer const_pointer;
+    typedef PySequence_Iter<T, reference> iterator;
+    typedef PySequence_Iter<T, const_reference> const_iterator;
+
+    PySequence_Cont(PyObject* seq) : _seq(0)
+    {
+      if (!PySequence_Check(seq)) {
+	throw std::invalid_argument("a sequence is expected");
+      }
+      _seq = seq;
+      Py_INCREF(_seq);
+    }
+
+    ~PySequence_Cont() 
+    {
+      if (_seq) Py_DECREF(_seq);
+    }
+
+    size_type size() const
+    {
+      return PySequence_Size(_seq);
+    }
+
+    bool empty() const
+    {
+      return size() == 0;
+    }    
+
+    iterator begin()
+    {
+      return iterator(_seq, 0);
+    }
+
+    const_iterator begin() const
+    {
+      return const_iterator(_seq, 0);
+    }
+    
+    iterator end()
+    {
+      return iterator(_seq, size());
+    }
+    
+    const_iterator end() const
+    {
+      return const_iterator(_seq, size());
+    }    
+
+    reference operator[](difference_type n) 
+    { 
+      return reference(_seq, n);
+    }
+
+    const_reference operator[](difference_type n)  const
+    { 
+      return const_reference(_seq, n);
+    }
+
+    bool check(bool set_err = true) const
+    {
+      int s = size();
+      for (int i = 0; i < s; ++i) {
+	swig::PyObject_var item = PySequence_GetItem(_seq, i);
+	if (!swig::check<value_type>(item)) {
+	  if (set_err) {
+	    char msg[1024];
+	    PyOS_snprintf(msg, sizeof(msg), "in sequence element %d", i);
+	    SWIG_type_error(swig::type_name<value_type>(), item);
+	    SWIG_append_errmsg(msg);
+	  }
+	  return 0;
+	}
+      }
+      return 1;  
+    }
+
+  private:
+    PyObject* _seq;
+  };
+
+}
+
+
+  namespace swig {
+    template <class PySeq, class Seq> 
+    inline void
+    assign(const PySeq& pyseq, Seq* seq) {
+#ifdef SWIG_STD_NOASSIGN_STL
+      typedef typename PySeq::value_type value_type;
+      typename PySeq::const_iterator it = pyseq.begin();
+      for (;it != pyseq.end(); ++it) {
+	seq->insert(seq->end(),(value_type)(*it));
+      }
+#else
+      seq->assign(pyseq.begin(), pyseq.end());
+#endif
+    }
+
+    template <class Seq, class T = typename Seq::value_type >
+    struct traits_asptr_stdseq {
+      typedef Seq sequence;
+      typedef T value_type;
+		    
+      static int asptr(PyObject *obj, sequence **seq) {
+	if (PySequence_Check(obj)) {
+	  try {
+	    PySequence_Cont<value_type> pyseq(obj);
+	    if (seq) {
+	      sequence *pseq = new sequence();
+	      assign(pyseq, pseq);
+	      *seq = pseq;
+	      return SWIG_NEWOBJ;
+	    } else {
+	      return pyseq.check();
+	    }
+	  } catch (std::exception& e) {
+	    if (seq) {
+	      if (!PyErr_Occurred())
+		PyErr_SetString(PyExc_TypeError, e.what());
+	    }
+	    return 0;
+	  }
+	} else {
+	  sequence *p;
+	  if (SWIG_ConvertPtr(obj,(void**)&p,
+			      swig::type_info<sequence>(),0) != -1) {
+	    if (seq) *seq = p;
+	    return 1;
+	  }
+	}
+	if (seq) {
+	  PyErr_Format(PyExc_TypeError, "a %s is expected", 
+		       swig::type_name<sequence>());
+	}
+	return 0;	  
+      }
+    };
+
+    template <class Seq, class T = typename Seq::value_type >
+    struct traits_from_stdseq {
+      typedef Seq sequence;
+      typedef T value_type;
+      typedef typename Seq::size_type size_type;
+      typedef typename sequence::const_iterator const_iterator;
+
+      static PyObject *from(const sequence& seq) {
+	size_type size = seq.size();
+	if (size <= (size_type)INT_MAX) {
+	  PyObject *obj = PyTuple_New((int)size);
+	  int i = 0;
+	  for (const_iterator it = seq.begin();
+	       it != seq.end(); ++it, ++i) {
+	    PyTuple_SetItem(obj,i,swig::from<value_type>(*it));
+	  }
+	  return obj;
+	} else {
+	  PyErr_SetString(PyExc_OverflowError,
+			  "sequence size not valid in python");
+	  return NULL;
+	}
+      }
+    };
+  }
+
+
+  namespace swig {
+    template <class T>
+    struct traits_asptr<std::vector<T> >  {
+      static int asptr(PyObject *obj, std::vector<T> **vec) {
+	return traits_asptr_stdseq<std::vector<T> >::asptr(obj, vec);
+      }
+    };
+    
+    template <class T>
+    struct traits_from<std::vector<T> > {
+      static PyObject *from(const std::vector<T>& vec) {
+	return traits_from_stdseq<std::vector<T> >::from(vec);
+      }
+    };
+  }
+
+
+      namespace swig {
+	template <>  struct traits<std::vector<int, std::allocator<int > > > {
+	  typedef pointer_category category;
+	  static const char* type_name() {
+	    return "std::vector<" "int" "," "std::allocator<int >" " >";
+	  }
+	};
+      }
+    
+
+SWIGINTERNINLINE PyObject*
+  SWIG_From_bool(bool value)
+{
+  PyObject *obj = value ? Py_True : Py_False;
+  Py_INCREF(obj);
+  return obj;
+}
+
+
+SWIGINTERNINLINE PyObject* 
+  SWIG_From_unsigned_SS_long(unsigned long value)
+{
+  return (value > LONG_MAX) ?
+    PyLong_FromUnsignedLong(value) 
+    : PyInt_FromLong((long)(value)); 
+}
+
+
+SWIGINTERN int
+  SWIG_AsVal_unsigned_SS_long(PyObject *obj, unsigned long *val) 
+{
+  if (PyInt_Check(obj)) {
+    long v = PyInt_AS_LONG(obj);
+    if (v >= 0) {
+      if (val) *val = v;
+      return 1;
+    }   
+  }
+  if (PyLong_Check(obj)) {
+    unsigned long v = PyLong_AsUnsignedLong(obj);
+    if (!PyErr_Occurred()) {
+      if (val) *val = v;
+      return 1;
+    } else {
+      if (!val) PyErr_Clear();
+      return 0;
+    }
+  } 
+  if (val) {
+    SWIG_type_error("unsigned long", obj);
+  }
+  return 0;
+}
+
+
+SWIGINTERNINLINE unsigned long
+SWIG_As_unsigned_SS_long(PyObject* obj)
+{
+  unsigned long v;
+  if (!SWIG_AsVal_unsigned_SS_long(obj, &v)) {
+    /*
+      this is needed to make valgrind/purify happier. 
+     */
+    memset((void*)&v, 0, sizeof(unsigned long));
+  }
+  return v;
+}
+
+  
+SWIGINTERNINLINE int
+SWIG_Check_unsigned_SS_long(PyObject* obj)
+{
+  return SWIG_AsVal_unsigned_SS_long(obj, (unsigned long*)0);
+}
+
+
+SWIGINTERNINLINE int
+SWIG_As_int(PyObject* obj)
+{
+  int v;
+  if (!SWIG_AsVal_int(obj, &v)) {
+    /*
+      this is needed to make valgrind/purify happier. 
+     */
+    memset((void*)&v, 0, sizeof(int));
+  }
+  return v;
+}
+
+  
+SWIGINTERNINLINE int
+SWIG_Check_int(PyObject* obj)
+{
+  return SWIG_AsVal_int(obj, (int*)0);
+}
+
+static bool std_vector_Sl_int_Sg____nonzero__(std::vector<int > const *self){
+      return !(self->empty());
+    }
+static std::vector<int >::size_type std_vector_Sl_int_Sg____len__(std::vector<int > const *self){
+      return self->size();
+    }
+static std::vector<int >::value_type std_vector_Sl_int_Sg__pop(std::vector<int > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector<int,std::allocator<int > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
+
+SWIGINTERNINLINE long
+SWIG_As_long(PyObject* obj)
+{
+  long v;
+  if (!SWIG_AsVal_long(obj, &v)) {
+    /*
+      this is needed to make valgrind/purify happier. 
+     */
+    memset((void*)&v, 0, sizeof(long));
+  }
+  return v;
+}
+
+  
+SWIGINTERNINLINE int
+SWIG_Check_long(PyObject* obj)
+{
+  return SWIG_AsVal_long(obj, (long*)0);
+}
+
+static std::vector<int,std::allocator<int > > *std_vector_Sl_int_Sg____getslice__(std::vector<int > *self,std::vector<int >::difference_type i,std::vector<int >::difference_type j){
+      return swig::getslice(self, i, j);
+    }
+static void std_vector_Sl_int_Sg____setslice__(std::vector<int > *self,std::vector<int >::difference_type i,std::vector<int >::difference_type j,std::vector<int,std::allocator<int > > const &v){
+      swig::setslice(self, i, j, v);
+    }
+static void std_vector_Sl_int_Sg____delslice__(std::vector<int > *self,std::vector<int >::difference_type i,std::vector<int >::difference_type j){
+      swig::delslice(self, i, j);
+    }
+static void std_vector_Sl_int_Sg____delitem__(std::vector<int > *self,std::vector<int >::difference_type i){
+      self->erase(swig::getpos(self,i));
+    }
+static std::vector<int >::value_type const &std_vector_Sl_int_Sg____getitem__(std::vector<int > const *self,std::vector<int >::difference_type i){
+      return *(swig::cgetpos(self, i));
+    }
+static void std_vector_Sl_int_Sg____setitem__(std::vector<int > *self,std::vector<int >::difference_type i,std::vector<int >::value_type const &x){
+      *(swig::getpos(self,i)) = x;
+    }
+static void std_vector_Sl_int_Sg__append(std::vector<int > *self,std::vector<int >::value_type const &x){
+      self->push_back(x);
+    }
+
+SWIGINTERN int
+  SWIG_AsVal_double(PyObject *obj, double *val)
+{
+  if (PyFloat_Check(obj)) {
+    if (val) *val = PyFloat_AS_DOUBLE(obj);
+    return 1;
+  }  
+  if (PyInt_Check(obj)) {
+    if (val) *val = PyInt_AS_LONG(obj);
+    return 1;
+  }
+  if (PyLong_Check(obj)) {
+    double v = PyLong_AsDouble(obj);
+    if (!PyErr_Occurred()) {
+      if (val) *val = v;
+      return 1;
+    } else {
+      if (!val) PyErr_Clear();
+      return 0;
+    }
+  }
+  if (val) {
+    SWIG_type_error("double", obj);
+  }
+  return 0;
+}
+
+
+  /*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_double PyFloat_FromDouble
+/*@@*/
+
+
+namespace swig {
+  template <> struct traits<double > {
+    typedef value_category category;
+    static const char* type_name() { return"double"; }
+  };  
+  template <>  struct traits_asval<double > {   
+    typedef double value_type;
+    static int asval(PyObject *obj, value_type *val) { 
+      return SWIG_AsVal_double(obj, val);
+    }
+  };
+  template <>  struct traits_from<double > {
+    typedef double value_type;
+    static PyObject *from(const value_type& val) {
+      return SWIG_From_double(val);
+    }
+  };
+}
+
+
+      namespace swig {
+	template <>  struct traits<std::vector<double, std::allocator<double > > > {
+	  typedef pointer_category category;
+	  static const char* type_name() {
+	    return "std::vector<" "double" "," "std::allocator<double >" " >";
+	  }
+	};
+      }
+    
+
+SWIGINTERNINLINE double
+SWIG_As_double(PyObject* obj)
+{
+  double v;
+  if (!SWIG_AsVal_double(obj, &v)) {
+    /*
+      this is needed to make valgrind/purify happier. 
+     */
+    memset((void*)&v, 0, sizeof(double));
+  }
+  return v;
+}
+
+  
+SWIGINTERNINLINE int
+SWIG_Check_double(PyObject* obj)
+{
+  return SWIG_AsVal_double(obj, (double*)0);
+}
+
+static bool std_vector_Sl_double_Sg____nonzero__(std::vector<double > const *self){
+      return !(self->empty());
+    }
+static std::vector<double >::size_type std_vector_Sl_double_Sg____len__(std::vector<double > const *self){
+      return self->size();
+    }
+static std::vector<double >::value_type std_vector_Sl_double_Sg__pop(std::vector<double > *self){
+      if (self->size() == 0)
+	throw std::out_of_range("pop from empty container");
+      std::vector<double,std::allocator<double > >::value_type x = self->back();
+      self->pop_back();
+      return x;
+    }
+static std::vector<double,std::allocator<double > > *std_vector_Sl_double_Sg____getslice__(std::vector<double > *self,std::vector<double >::difference_type i,std::vector<double >::difference_type j){
+      return swig::getslice(self, i, j);
+    }
+static void std_vector_Sl_double_Sg____setslice__(std::vector<double > *self,std::vector<double >::difference_type i,std::vector<double >::difference_type j,std::vector<double,std::allocator<double > > const &v){
+      swig::setslice(self, i, j, v);
+    }
+static void std_vector_Sl_double_Sg____delslice__(std::vector<double > *self,std::vector<double >::difference_type i,std::vector<double >::difference_type j){
+      swig::delslice(self, i, j);
+    }
+static void std_vector_Sl_double_Sg____delitem__(std::vector<double > *self,std::vector<double >::difference_type i){
+      self->erase(swig::getpos(self,i));
+    }
+static std::vector<double >::value_type const &std_vector_Sl_double_Sg____getitem__(std::vector<double > const *self,std::vector<double >::difference_type i){
+      return *(swig::cgetpos(self, i));
+    }
+static void std_vector_Sl_double_Sg____setitem__(std::vector<double > *self,std::vector<double >::difference_type i,std::vector<double >::value_type const &x){
+      *(swig::getpos(self,i)) = x;
+    }
+static void std_vector_Sl_double_Sg__append(std::vector<double > *self,std::vector<double >::value_type const &x){
+      self->push_back(x);
+    }
+
+#include <stdexcept>
+
+
+SWIGINTERN PyObject *
+SWIG_FromCharPtr(const char* cptr)
+{ 
+  if (cptr) {
+    size_t size = strlen(cptr);
+    if (size > INT_MAX) {
+      return SWIG_NewPointerObj((char*)(cptr), 
+				SWIG_TypeQuery("char *"), 0);
+    } else {
+      if (size != 0) {
+	return PyString_FromStringAndSize(cptr, size);
+      } else {
+	return PyString_FromString(cptr);
+      }
+    }
+  }
+  Py_INCREF(Py_None);
+  return Py_None;
+}
+
+
+/* returns SWIG_OLDOBJ if the input is a raw char*, SWIG_PYSTR if is a PyString */
+SWIGINTERN int
+SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize)
+{
+  static swig_type_info* pchar_info = 0;
+  char* vptr = 0;
+  if (!pchar_info) pchar_info = SWIG_TypeQuery("char *");
+  if (SWIG_ConvertPtr(obj, (void**)&vptr, pchar_info, 0) != -1) {
+    if (cptr) *cptr = vptr;
+    if (psize) *psize = vptr ? (strlen(vptr) + 1) : 0;
+    return SWIG_OLDOBJ;
+  } else {
+    PyErr_Clear();
+    if (PyString_Check(obj)) {
+      if (cptr) {
+	*cptr = PyString_AS_STRING(obj);
+	if (psize) {
+	  *psize = PyString_GET_SIZE(obj) + 1;
+	}
+      }
+      return SWIG_PYSTR;
+    }
+  }
+  if (cptr) {
+    SWIG_type_error("char *", obj);
+  }
+  return 0;
+}
+
+
+  SWIGINTERN int
+    SWIG_AsPtr_std_string(PyObject* obj, std::string **val)
+    {
+      static swig_type_info* string_info = SWIG_TypeQuery("std::string *");
+      std::string *vptr;    
+      if (SWIG_ConvertPtr(obj, (void**)&vptr, string_info, 0) != -1) {
+	if (val) *val = vptr;
+	return SWIG_OLDOBJ;
+      } else {
+	PyErr_Clear();
+	char* buf = 0 ; size_t size = 0;
+	if (SWIG_AsCharPtrAndSize(obj, &buf, &size)) {
+	  if (buf) {
+	    if (val) *val = new std::string(buf, size - 1);
+	    return SWIG_NEWOBJ;
+	  }
+	} else {
+	  PyErr_Clear();
+	}  
+	if (val) {
+	  PyErr_SetString(PyExc_TypeError,"a string is expected");
+	}
+	return 0;
+      }
+    }
+
+
+#include <ios>
+
+
+SWIGINTERN int
+  SWIG_AsVal_bool(PyObject *obj, bool *val)
+{
+  if (obj == Py_True) {
+    if (val) *val = true;
+    return 1;
+  }
+  if (obj == Py_False) {
+    if (val) *val = false;
+    return 1;
+  }
+  int res = 0;
+  if (SWIG_AsVal_int(obj, &res)) {    
+    if (val) *val = res ? true : false;
+    return 1;
+  } else {
+    PyErr_Clear();
+  }  
+  if (val) {
+    SWIG_type_error("bool", obj);
+  }
+  return 0;
+}
+
+
+SWIGINTERNINLINE bool
+SWIG_As_bool(PyObject* obj)
+{
+  bool v;
+  if (!SWIG_AsVal_bool(obj, &v)) {
+    /*
+      this is needed to make valgrind/purify happier. 
+     */
+    memset((void*)&v, 0, sizeof(bool));
+  }
+  return v;
+}
+
+  
+SWIGINTERNINLINE int
+SWIG_Check_bool(PyObject* obj)
+{
+  return SWIG_AsVal_bool(obj, (bool*)0);
+}
+
+
+SWIGINTERNINLINE PyObject*
+  SWIG_From_char(char c) 
+{ 
+  return PyString_FromStringAndSize(&c,1);
+}
+
+
+SWIGINTERN int
+SWIG_AsCharArray(PyObject *obj, char *val, size_t size)
+{ 
+  char* cptr; size_t csize;  
+  if (SWIG_AsCharPtrAndSize(obj, &cptr, &csize)) {
+    /* in C you can do:        
+
+         char x[5] = "hello"; 
+
+        ie, assing the array using an extra '0' char.
+    */
+    if ((csize == size + 1) && !(cptr[csize-1])) --csize;
+    if (csize <= size) {
+      if (val) {
+	if (csize) memcpy(val, cptr, csize);
+	if (csize < size) memset(val + csize, 0, size - csize);
+      }
+      return 1;
+    }
+  }
+  if (val) {
+    PyErr_Format(PyExc_TypeError,
+		 "a char array of maximum size %lu is expected", 
+		 (unsigned long) size);
+  }
+  return 0;
+}
+
+
+SWIGINTERN int
+  SWIG_AsVal_char(PyObject *obj, char *val)
+{
+  const char* errmsg = val ? "char" : (char*)0;
+  long v;
+  if (SWIG_AsVal_long(obj, &v)) {
+    if (SWIG_CheckLongInRange(v, CHAR_MIN,CHAR_MAX, errmsg)) {
+      if (val) *val = (char)(v);
+      return 1;
+    } else {
+      return 0;
+    }    
+  } else {
+    PyErr_Clear();
+    return SWIG_AsCharArray(obj, val, 1);
+  }
+ }
+
+
+SWIGINTERNINLINE char
+SWIG_As_char(PyObject* obj)
+{
+  char v;
+  if (!SWIG_AsVal_char(obj, &v)) {
+    /*
+      this is needed to make valgrind/purify happier. 
+     */
+    memset((void*)&v, 0, sizeof(char));
+  }
+  return v;
+}
+
+  
+SWIGINTERNINLINE int
+SWIG_Check_char(PyObject* obj)
+{
+  return SWIG_AsVal_char(obj, (char*)0);
+}
+
+
+#include <iostream>
+
+extern std::istream std::cin;
+extern std::ostream std::cout;
+extern std::ostream std::cerr;
+extern std::ostream std::clog;
+
+SWIGINTERN int
+  SWIG_AsVal_short(PyObject *obj, short *val)
+{ 
+  const char* errmsg = val ? "short" : (char*)0;
+  long v;
+  if (SWIG_AsVal_long(obj, &v)) {
+    if (SWIG_CheckLongInRange(v, SHRT_MIN, SHRT_MAX, errmsg)) {
+      if (val) *val = (short)(v);
+      return 1;
+    } else {
+      return 0;
+    }    
+  } else {
+    PyErr_Clear();
+  }
+  if (val) {
+    SWIG_type_error(errmsg, obj);
+  }
+  return 0;    
+}
+
+
+SWIGINTERNINLINE short
+SWIG_As_short(PyObject* obj)
+{
+  short v;
+  if (!SWIG_AsVal_short(obj, &v)) {
+    /*
+      this is needed to make valgrind/purify happier. 
+     */
+    memset((void*)&v, 0, sizeof(short));
+  }
+  return v;
+}
+
+  
+SWIGINTERNINLINE int
+SWIG_Check_short(PyObject* obj)
+{
+  return SWIG_AsVal_short(obj, (short*)0);
+}
+
+
+SWIGINTERNINLINE int
+  SWIG_CheckUnsignedLongInRange(unsigned long value,
+				unsigned long max_value,
+				const char *errmsg) 
+{
+  if (value > max_value) {
+    if (errmsg) {
+      PyErr_Format(PyExc_OverflowError,
+		   "value %lu is greater than '%s' minimum %lu",
+		   value, errmsg, max_value);
+    }
+    return 0;
+  }
+  return 1;
+ }
+
+
+SWIGINTERN int
+  SWIG_AsVal_unsigned_SS_short(PyObject *obj, unsigned short *val)
+{ 
+  const char* errmsg = val ? "unsigned short" : (char*)0;
+  unsigned long v;
+  if (SWIG_AsVal_unsigned_SS_long(obj, &v)) {
+    if (SWIG_CheckUnsignedLongInRange(v, USHRT_MAX, errmsg)) {
+      if (val) *val = (unsigned short)(v);
+      return 1;
+    } else {
+      return 0;
+    }
+  } else {
+    PyErr_Clear();
+  }
+  if (val) {
+    SWIG_type_error(errmsg, obj);
+  }
+  return 0;
+}
+
+
+SWIGINTERNINLINE unsigned short
+SWIG_As_unsigned_SS_short(PyObject* obj)
+{
+  unsigned short v;
+  if (!SWIG_AsVal_unsigned_SS_short(obj, &v)) {
+    /*
+      this is needed to make valgrind/purify happier. 
+     */
+    memset((void*)&v, 0, sizeof(unsigned short));
+  }
+  return v;
+}
+
+  
+SWIGINTERNINLINE int
+SWIG_Check_unsigned_SS_short(PyObject* obj)
+{
+  return SWIG_AsVal_unsigned_SS_short(obj, (unsigned short*)0);
+}
+
+
+#if UINT_MAX != ULONG_MAX
+SWIGINTERN int
+  SWIG_AsVal_unsigned_SS_int(PyObject *obj, unsigned int *val)
+{ 
+  const char* errmsg = val ? "unsigned int" : (char*)0;
+  unsigned long v;
+  if (SWIG_AsVal_unsigned_SS_long(obj, &v)) {
+    if (SWIG_CheckUnsignedLongInRange(v, INT_MAX, errmsg)) {
+      if (val) *val = (unsigned int)(v);
+      return 1;
+    }
+  } else {
+    PyErr_Clear();
+  }
+  if (val) {
+    SWIG_type_error(errmsg, obj);
+  }
+  return 0;    
+}
+#else
+SWIGINTERNINLINE unsigned int
+  SWIG_AsVal_unsigned_SS_int(PyObject *obj, unsigned int *val)
+{
+  return SWIG_AsVal_unsigned_SS_long(obj,(unsigned long *)val);
+}
+#endif
+
+
+SWIGINTERNINLINE unsigned int
+SWIG_As_unsigned_SS_int(PyObject* obj)
+{
+  unsigned int v;
+  if (!SWIG_AsVal_unsigned_SS_int(obj, &v)) {
+    /*
+      this is needed to make valgrind/purify happier. 
+     */
+    memset((void*)&v, 0, sizeof(unsigned int));
+  }
+  return v;
+}
+
+  
+SWIGINTERNINLINE int
+SWIG_Check_unsigned_SS_int(PyObject* obj)
+{
+  return SWIG_AsVal_unsigned_SS_int(obj, (unsigned int*)0);
+}
+
+
+SWIGINTERN int
+  SWIG_AsVal_long_SS_long(PyObject *obj, long long *val)
+{
+  if (PyLong_Check(obj)) {
+    long long v = PyLong_AsLongLong(obj);
+    if (!PyErr_Occurred()) {
+      if (val) *val = v;
+      return 1;
+    } else {
+      if (!val) PyErr_Clear();
+      return 0;
+    }
+  }
+  if (PyInt_Check(obj)) {
+    if (val) *val = PyInt_AS_LONG(obj);
+    return 1;
+  }
+  if (val) {
+    SWIG_type_error("long long", obj);
+  }
+  return 0;
+}
+
+
+SWIGINTERNINLINE long long
+SWIG_As_long_SS_long(PyObject* obj)
+{
+  long long v;
+  if (!SWIG_AsVal_long_SS_long(obj, &v)) {
+    /*
+      this is needed to make valgrind/purify happier. 
+     */
+    memset((void*)&v, 0, sizeof(long long));
+  }
+  return v;
+}
+
+  
+SWIGINTERNINLINE int
+SWIG_Check_long_SS_long(PyObject* obj)
+{
+  return SWIG_AsVal_long_SS_long(obj, (long long*)0);
+}
+
+
+SWIGINTERN int
+  SWIG_AsVal_unsigned_SS_long_SS_long(PyObject *obj, unsigned long long *val)
+{
+  unsigned long v;
+  if (PyLong_Check(obj)) {
+    unsigned long long v = PyLong_AsUnsignedLongLong(obj);
+    if (!PyErr_Occurred()) {
+      if (val) *val = v;
+      return 1;
+    } else {
+      if (!val) PyErr_Clear();
+      return 0;
+    }
+  }
+  if (SWIG_AsVal_unsigned_SS_long(obj,&v)) {
+    if (val) *val = v;
+    return 1;
+  } else {
+    PyErr_Clear();
+  }
+  if (val) {
+    SWIG_type_error("unsigned long long", obj);
+  }  
+  return 0;
+}
+
+
+SWIGINTERNINLINE unsigned long long
+SWIG_As_unsigned_SS_long_SS_long(PyObject* obj)
+{
+  unsigned long long v;
+  if (!SWIG_AsVal_unsigned_SS_long_SS_long(obj, &v)) {
+    /*
+      this is needed to make valgrind/purify happier. 
+     */
+    memset((void*)&v, 0, sizeof(unsigned long long));
+  }
+  return v;
+}
+
+  
+SWIGINTERNINLINE int
+SWIG_Check_unsigned_SS_long_SS_long(PyObject* obj)
+{
+  return SWIG_AsVal_unsigned_SS_long_SS_long(obj, (unsigned long long*)0);
+}
+
+
+#include <float.h>
+SWIGINTERN int
+  SWIG_CheckDoubleInRange(double value, double min_value, 
+			  double max_value, const char* errmsg)
+{
+  if (value < min_value) {
+    if (errmsg) {
+      PyErr_Format(PyExc_OverflowError, 
+		   "value %g is less than %s minimum %g", 
+		   value, errmsg, min_value);
+    }
+    return 0;
+  } else if (value > max_value) {
+    if (errmsg) {
+      PyErr_Format(PyExc_OverflowError, 
+		   "value %g is greater than %s maximum %g", 
+		   value, errmsg, max_value);
+    }
+    return 0;
+  }
+  return 1;
+}
+
+
+SWIGINTERN int
+  SWIG_AsVal_float(PyObject *obj, float *val)
+{
+  const char* errmsg = val ? "float" : (char*)0;
+  double v;
+  if (SWIG_AsVal_double(obj, &v)) {
+    if (SWIG_CheckDoubleInRange(v, -FLT_MAX, FLT_MAX, errmsg)) {
+      if (val) *val = (float)(v);
+      return 1;
+    } else {
+      return 0;
+    }
+  } else {
+    PyErr_Clear();
+  }
+  if (val) {
+    SWIG_type_error(errmsg, obj);
+  }
+  return 0;
+}
+
+
+SWIGINTERNINLINE float
+SWIG_As_float(PyObject* obj)
+{
+  float v;
+  if (!SWIG_AsVal_float(obj, &v)) {
+    /*
+      this is needed to make valgrind/purify happier. 
+     */
+    memset((void*)&v, 0, sizeof(float));
+  }
+  return v;
+}
+
+  
+SWIGINTERNINLINE int
+SWIG_Check_float(PyObject* obj)
+{
+  return SWIG_AsVal_float(obj, (float*)0);
+}
+
+static std::basic_ostream<char,std::char_traits<char > > &std_basic_ostream_Sl_char_Sg__operator_Sl__Sl___SWIG_17(std::basic_ostream<char > *self,std::basic_string<char,std::char_traits<char >,std::allocator<char > > const &s){
+	  *self << s;
+	  return *self;
+	}
+
+SWIGINTERNINLINE int
+SWIG_AsCharPtr(PyObject *obj, char **val)
+{
+  if (SWIG_AsCharPtrAndSize(obj, val, (size_t*)(0))) {
+    return 1;
+  }
+  if (val) {
+    PyErr_Clear();
+    SWIG_type_error("char *", obj);
+  }
+  return 0;
+}
+
+
+  /*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_short PyInt_FromLong
+/*@@*/
+
+
+  /*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_long PyInt_FromLong
+/*@@*/
+
+
+#if UINT_MAX < LONG_MAX
+/*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_unsigned_SS_int SWIG_From_long
+/*@@*/
+#else
+/*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_unsigned_SS_int SWIG_From_unsigned_SS_long
+/*@@*/
+#endif
+
+
+SWIGINTERNINLINE PyObject *
+SWIG_FromCharArray(const char* carray, size_t size)
+{
+  if (size > INT_MAX) {
+    return SWIG_NewPointerObj((char *)(carray), 
+			      SWIG_TypeQuery("char *"), 0);
+  } else {
+    return PyString_FromStringAndSize(carray, (int)(size));
+  }
+}
+
+
+SWIGINTERNINLINE PyObject*
+  SWIG_From_std_string(const std::string& s)
+  {
+    return SWIG_FromCharArray(s.data(), s.size());
+  }
+
+
+  /*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_float PyFloat_FromDouble
+/*@@*/
+
+
+  namespace swig {
+    template <>  struct traits<RinexObsType > {
+      typedef pointer_category category;
+      static const char* type_name() { return"RinexObsType"; }
+    };
+  }
+
+
+  namespace swig {
+    template <>  struct traits<RinexDatum > {
+      typedef pointer_category category;
+      static const char* type_name() { return"RinexDatum"; }
+    };
+  }
+
+
+  namespace swig {
+    template <class T, class U >
+    struct traits_asptr<std::pair<T,U> >  {
+      static int asptr(PyObject *obj, std::pair<T,U> **val) {
+	typedef std::pair<T,U> value_type;
+	if (PySequence_Check(obj) && (PySequence_Size(obj) == 2)) {
+	  swig::PyObject_var first = PySequence_GetItem(obj,0);
+	  swig::PyObject_var second = PySequence_GetItem(obj,1);
+	  T *pfirst = 0;
+	  U *psecond = 0;
+	  if (val) {
+	    *val = new std::pair<T,U>;
+	    pfirst = &((*val)->first);
+	    psecond = &((*val)->second);
+	  }	  
+	  if (swig::asval(first,pfirst) && swig::asval(second,psecond)) {
+	    return SWIG_NEWOBJ;
+	  } else {
+	    delete *val;
+	  }
+	} else {
+	  value_type *p;
+	  if (SWIG_ConvertPtr(obj,(void**)&p,
+			      swig::type_info<value_type>(),0) != -1) {
+	    if (val) *val = p;
+	    return SWIG_OLDOBJ;
+	  }
+	}
+	if (val) {
+	  PyErr_Format(PyExc_TypeError, "a %s is expected", 
+		       swig::type_name<value_type>());
+	}
+	return 0;
+      }
+    };
+
+    template <class T, class U >
+    struct traits_from<std::pair<T,U> >   {
+      static PyObject *from(const std::pair<T,U>& val) {
+	PyObject* obj = PyTuple_New(2);
+	PyTuple_SetItem(obj,0,swig::from(val.first));
+	PyTuple_SetItem(obj,1,swig::from(val.second));
+	return obj;
+      }
+    };
+  }
+
+
+      namespace swig {
+	template <>  struct traits<std::pair<RinexObsType,RinexDatum > > {
+	  typedef pointer_category category;
+	  static const char* type_name() {
+	    return "std::pair<" "RinexObsType" "," "RinexDatum" " >";
+	  }
+	};
+      }
+    
+
+  namespace swig {
+    template <class PySeq, class K, class T >
+    inline void
+    assign(const PySeq& pyseq, std::map<K,T > *map) {
+      typedef typename std::map<K,T>::value_type value_type;
+      typename PySeq::const_iterator it = pyseq.begin();
+      for (;it != pyseq.end(); ++it) {
+	map->insert(value_type(it->first, it->second));
+      }
+    }
+
+    template <class K, class T>
+    struct traits_asptr<std::map<K,T> >  {
+      typedef std::map<K,T> map_type;
+      static int asptr(PyObject *obj, map_type **val) {
+	if (PyDict_Check(obj)) {
+	  PyObject_var items = PyMapping_Items(obj);
+	  return traits_asptr_stdseq<std::map<K,T>, std::pair<K, T> >
+	    ::asptr(items, val);
+	}
+	if (val) {
+	  PyErr_SetString(PyExc_TypeError, "a dictionary is expected");
+	}
+	return 0;
+      }      
+    };
+      
+    template <class K, class T >
+    struct traits_from<std::map<K,T> >  {
+      typedef std::map<K,T> map_type;
+      typedef typename map_type::const_iterator const_iterator;
+      typedef typename map_type::size_type size_type;
+            
+      static PyObject *from(const map_type& map) {
+	size_type size = map.size();
+	int pysize = (size <= (size_type) INT_MAX) ? (int) size : -1;
+	if (pysize < 0) {
+	  PyErr_SetString(PyExc_OverflowError,
+			  "map size not valid in python");
+	  return NULL;
+	}
+	PyObject *obj = PyDict_New();
+	for (const_iterator i= map.begin(); i!= map.end(); ++i) {
+	  PyDict_SetItem(obj,
+			 swig::from(i->first),
+			 swig::from(i->second));
+	}
+	return obj;
+      }
+    };
+  }
+
+
+      namespace swig {
+	template <>  struct traits<std::map<RinexObsType, RinexDatum, std::less<RinexObsType >, std::allocator<std::pair<RinexObsType const,RinexDatum > > > > {
+	  typedef pointer_category category;
+	  static const char* type_name() {
+	    return "std::map<" "RinexObsType" "," "RinexDatum" "," "std::less<RinexObsType >" "," "std::allocator<std::pair<RinexObsType const,RinexDatum > >" " >";
+	  }
+	};
+      }
+    
+static bool std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____nonzero__(std::map<RinexObsType,RinexDatum > const *self){
+      return !(self->empty());
+    }
+static std::map<RinexObsType,RinexDatum >::size_type std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____len__(std::map<RinexObsType,RinexDatum > const *self){
+      return self->size();
+    }
+static std::map<RinexObsType,RinexDatum >::mapped_type std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____getitem__(std::map<RinexObsType,RinexDatum > const *self,std::map<RinexObsType,RinexDatum >::key_type const &key){
+      std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::const_iterator i = self->find(key);
+      if (i != self->end())
+	return i->second;
+      else
+	throw std::out_of_range("key not found");
+    }
+static void std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____setitem__(std::map<RinexObsType,RinexDatum > *self,std::map<RinexObsType,RinexDatum >::key_type const &key,std::map<RinexObsType,RinexDatum >::mapped_type const &x){
+      self->insert(std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::value_type(key,x));
+    }
+static void std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____delitem__(std::map<RinexObsType,RinexDatum > *self,std::map<RinexObsType,RinexDatum >::key_type const &key){
+      std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::iterator i = self->find(key);
+      if (i != self->end())
+	self->erase(i);
+      else
+	throw std::out_of_range("key not found");
+    }
+static bool std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__has_key(std::map<RinexObsType,RinexDatum > const *self,std::map<RinexObsType,RinexDatum >::key_type const &key){
+      std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::const_iterator i = self->find(key);
+      return i != self->end();
+    }
+static PyObject *std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__keys(std::map<RinexObsType,RinexDatum > *self){
+      std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type size = self->size();
+      int pysize = (size <= (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type) INT_MAX) ? (int) size : -1;
+      if (pysize < 0) {
+	PyErr_SetString(PyExc_OverflowError,
+			"map size not valid in python");
+	return NULL;
+      }
+      PyObject* keyList = PyList_New(pysize);
+      std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::const_iterator i = self->begin();
+      for (int j = 0; j < pysize; ++i, ++j) {
+	PyList_SetItem(keyList, j, swig::from(i->first));
+      }
+      return keyList;
+    }
+static PyObject *std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__values(std::map<RinexObsType,RinexDatum > *self){
+      std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type size = self->size();
+      int pysize = (size <= (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type) INT_MAX) ? (int) size : -1;
+      if (pysize < 0) {
+	PyErr_SetString(PyExc_OverflowError,
+			"map size not valid in python");
+	return NULL;
+      }
+      PyObject* valList = PyTuple_New(pysize);
+      std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::const_iterator i = self->begin();
+      for (int j = 0; j < pysize; ++i, ++j) {
+	PyTuple_SetItem(valList, j, swig::from(i->second));
+      }
+      return valList;
+    }
+static PyObject *std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__items(std::map<RinexObsType,RinexDatum > *self){
+      std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type size = self->size();
+      int pysize = (size <= (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type) INT_MAX) ? (int) size : -1;
+      if (pysize < 0) {
+	PyErr_SetString(PyExc_OverflowError,
+			"map size not valid in python");
+	return NULL;
+      }    
+      PyObject* itemList = PyTuple_New(pysize);
+      std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::const_iterator i = self->begin();
+      for (int j = 0; j < pysize; ++i, ++j) {
+	PyTuple_SetItem(itemList, j, swig::from(*i));
+      }
+      return itemList;
+    }
+static bool std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____contains__(std::map<RinexObsType,RinexDatum > *self,std::map<RinexObsType,RinexDatum >::key_type const &key){
+      return self->find(key) != self->end();
+    }
+static PyObject *std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____iter__(std::map<RinexObsType,RinexDatum > *self){
+      std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type size = self->size();
+      int pysize = (size <= (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::size_type) INT_MAX) ? (int) size : -1;
+      if (pysize < 0) {
+	PyErr_SetString(PyExc_OverflowError,
+			"map size not valid in python");
+	return NULL;
+      }
+      PyObject* keyTuple = PyTuple_New(pysize);
+      std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >::const_iterator i = self->begin();
+      for (int j = 0; j < pysize; ++i, ++j) {
+	PyTuple_SetItem(keyTuple, j, swig::from(i->first));
+      }
+#if PY_VERSION_HEX >= 0x02020000
+      PyObject* iter = PyObject_GetIter(keyTuple);
+      Py_DECREF(keyTuple);
+      return iter;
+#else
+      return keyTuple;
+#endif
+    }
+static bool std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____nonzero__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *self){
+      return !(self->empty());
+    }
+static std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::size_type std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____len__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *self){
+      return self->size();
+    }
+static std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::mapped_type std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____getitem__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *self,std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type const &key){
+      std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::const_iterator i = self->find(key);
+      if (i != self->end())
+	return i->second;
+      else
+	throw std::out_of_range("key not found");
+    }
+static void std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____setitem__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self,std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type const &key,std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::mapped_type const &x){
+      self->insert(std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::value_type(key,x));
+    }
+static void std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____delitem__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self,std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type const &key){
+      std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::iterator i = self->find(key);
+      if (i != self->end())
+	self->erase(i);
+      else
+	throw std::out_of_range("key not found");
+    }
+static bool std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__has_key(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *self,std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type const &key){
+      std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::const_iterator i = self->find(key);
+      return i != self->end();
+    }
+static PyObject *std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__keys(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self){
+      std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type size = self->size();
+      int pysize = (size <= (std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type) INT_MAX) ? (int) size : -1;
+      if (pysize < 0) {
+	PyErr_SetString(PyExc_OverflowError,
+			"map size not valid in python");
+	return NULL;
+      }
+      PyObject* keyList = PyList_New(pysize);
+      std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::const_iterator i = self->begin();
+      for (int j = 0; j < pysize; ++i, ++j) {
+	PyList_SetItem(keyList, j, swig::from(i->first));
+      }
+      return keyList;
+    }
+static PyObject *std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__values(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self){
+      std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type size = self->size();
+      int pysize = (size <= (std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type) INT_MAX) ? (int) size : -1;
+      if (pysize < 0) {
+	PyErr_SetString(PyExc_OverflowError,
+			"map size not valid in python");
+	return NULL;
+      }
+      PyObject* valList = PyTuple_New(pysize);
+      std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::const_iterator i = self->begin();
+      for (int j = 0; j < pysize; ++i, ++j) {
+	PyTuple_SetItem(valList, j, swig::from(i->second));
+      }
+      return valList;
+    }
+static PyObject *std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__items(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self){
+      std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type size = self->size();
+      int pysize = (size <= (std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type) INT_MAX) ? (int) size : -1;
+      if (pysize < 0) {
+	PyErr_SetString(PyExc_OverflowError,
+			"map size not valid in python");
+	return NULL;
+      }    
+      PyObject* itemList = PyTuple_New(pysize);
+      std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::const_iterator i = self->begin();
+      for (int j = 0; j < pysize; ++i, ++j) {
+	PyTuple_SetItem(itemList, j, swig::from(*i));
+      }
+      return itemList;
+    }
+static bool std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____contains__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self,std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type const &key){
+      return self->find(key) != self->end();
+    }
+static PyObject *std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____iter__(std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *self){
+      std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type size = self->size();
+      int pysize = (size <= (std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::size_type) INT_MAX) ? (int) size : -1;
+      if (pysize < 0) {
+	PyErr_SetString(PyExc_OverflowError,
+			"map size not valid in python");
+	return NULL;
+      }
+      PyObject* keyTuple = PyTuple_New(pysize);
+      std::map<RinexPrn,RinexObsData::RinexObsTypeMap,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,RinexObsData::RinexObsTypeMap > > >::const_iterator i = self->begin();
+      for (int j = 0; j < pysize; ++i, ++j) {
+	PyTuple_SetItem(keyTuple, j, swig::from(i->first));
+      }
+#if PY_VERSION_HEX >= 0x02020000
+      PyObject* iter = PyObject_GetIter(keyTuple);
+      Py_DECREF(keyTuple);
+      return iter;
+#else
+      return keyTuple;
+#endif
+    }
+
+  namespace swig {
+    template <>  struct traits<RinexPrn > {
+      typedef pointer_category category;
+      static const char* type_name() { return"RinexPrn"; }
+    };
+  }
+
+
+      namespace swig {
+	template <>  struct traits<std::pair<RinexPrn,int > > {
+	  typedef pointer_category category;
+	  static const char* type_name() {
+	    return "std::pair<" "RinexPrn" "," "int" " >";
+	  }
+	};
+      }
+    
+
+      namespace swig {
+	template <>  struct traits<std::map<RinexPrn, int, std::less<RinexPrn >, std::allocator<std::pair<RinexPrn const,int > > > > {
+	  typedef pointer_category category;
+	  static const char* type_name() {
+	    return "std::map<" "RinexPrn" "," "int" "," "std::less<RinexPrn >" "," "std::allocator<std::pair<RinexPrn const,int > >" " >";
+	  }
+	};
+      }
+    
+static bool std_map_Sl_RinexPrn_Sc_int_Sg____nonzero__(std::map<RinexPrn,int > const *self){
+      return !(self->empty());
+    }
+static std::map<RinexPrn,int >::size_type std_map_Sl_RinexPrn_Sc_int_Sg____len__(std::map<RinexPrn,int > const *self){
+      return self->size();
+    }
+static std::map<RinexPrn,int >::mapped_type std_map_Sl_RinexPrn_Sc_int_Sg____getitem__(std::map<RinexPrn,int > const *self,std::map<RinexPrn,int >::key_type const &key){
+      std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::const_iterator i = self->find(key);
+      if (i != self->end())
+	return i->second;
+      else
+	throw std::out_of_range("key not found");
+    }
+static void std_map_Sl_RinexPrn_Sc_int_Sg____setitem__(std::map<RinexPrn,int > *self,std::map<RinexPrn,int >::key_type const &key,std::map<RinexPrn,int >::mapped_type const &x){
+      self->insert(std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::value_type(key,x));
+    }
+static void std_map_Sl_RinexPrn_Sc_int_Sg____delitem__(std::map<RinexPrn,int > *self,std::map<RinexPrn,int >::key_type const &key){
+      std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::iterator i = self->find(key);
+      if (i != self->end())
+	self->erase(i);
+      else
+	throw std::out_of_range("key not found");
+    }
+static bool std_map_Sl_RinexPrn_Sc_int_Sg__has_key(std::map<RinexPrn,int > const *self,std::map<RinexPrn,int >::key_type const &key){
+      std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::const_iterator i = self->find(key);
+      return i != self->end();
+    }
+static PyObject *std_map_Sl_RinexPrn_Sc_int_Sg__keys(std::map<RinexPrn,int > *self){
+      std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type size = self->size();
+      int pysize = (size <= (std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type) INT_MAX) ? (int) size : -1;
+      if (pysize < 0) {
+	PyErr_SetString(PyExc_OverflowError,
+			"map size not valid in python");
+	return NULL;
+      }
+      PyObject* keyList = PyList_New(pysize);
+      std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::const_iterator i = self->begin();
+      for (int j = 0; j < pysize; ++i, ++j) {
+	PyList_SetItem(keyList, j, swig::from(i->first));
+      }
+      return keyList;
+    }
+static PyObject *std_map_Sl_RinexPrn_Sc_int_Sg__values(std::map<RinexPrn,int > *self){
+      std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type size = self->size();
+      int pysize = (size <= (std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type) INT_MAX) ? (int) size : -1;
+      if (pysize < 0) {
+	PyErr_SetString(PyExc_OverflowError,
+			"map size not valid in python");
+	return NULL;
+      }
+      PyObject* valList = PyTuple_New(pysize);
+      std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::const_iterator i = self->begin();
+      for (int j = 0; j < pysize; ++i, ++j) {
+	PyTuple_SetItem(valList, j, swig::from(i->second));
+      }
+      return valList;
+    }
+static PyObject *std_map_Sl_RinexPrn_Sc_int_Sg__items(std::map<RinexPrn,int > *self){
+      std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type size = self->size();
+      int pysize = (size <= (std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type) INT_MAX) ? (int) size : -1;
+      if (pysize < 0) {
+	PyErr_SetString(PyExc_OverflowError,
+			"map size not valid in python");
+	return NULL;
+      }    
+      PyObject* itemList = PyTuple_New(pysize);
+      std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::const_iterator i = self->begin();
+      for (int j = 0; j < pysize; ++i, ++j) {
+	PyTuple_SetItem(itemList, j, swig::from(*i));
+      }
+      return itemList;
+    }
+static bool std_map_Sl_RinexPrn_Sc_int_Sg____contains__(std::map<RinexPrn,int > *self,std::map<RinexPrn,int >::key_type const &key){
+      return self->find(key) != self->end();
+    }
+static PyObject *std_map_Sl_RinexPrn_Sc_int_Sg____iter__(std::map<RinexPrn,int > *self){
+      std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type size = self->size();
+      int pysize = (size <= (std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::size_type) INT_MAX) ? (int) size : -1;
+      if (pysize < 0) {
+	PyErr_SetString(PyExc_OverflowError,
+			"map size not valid in python");
+	return NULL;
+      }
+      PyObject* keyTuple = PyTuple_New(pysize);
+      std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >::const_iterator i = self->begin();
+      for (int j = 0; j < pysize; ++i, ++j) {
+	PyTuple_SetItem(keyTuple, j, swig::from(i->first));
+      }
+#if PY_VERSION_HEX >= 0x02020000
+      PyObject* iter = PyObject_GetIter(keyTuple);
+      Py_DECREF(keyTuple);
+      return iter;
+#else
+      return keyTuple;
+#endif
+    }
+
+  /*@/usr/local/share/swig/1.3.25/python/pymacros.swg,66,SWIG_define@*/
+#define SWIG_From_unsigned_SS_char PyInt_FromLong
+/*@@*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+static PyObject *_wrap_new_vectori__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_vectori")) goto fail;
+    result = (std::vector<int > *)new std::vector<int >();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_vectori__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = 0 ;
+    std::vector<int > *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_vectori",&obj0)) goto fail;
+    {
+        std::vector<int,std::allocator<int > > *ptr = (std::vector<int,std::allocator<int > > *)0;
+        res1 = swig::asptr(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::vector<int >", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::vector<int >");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::vector<int > *)new std::vector<int >((std::vector<int > const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_empty(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectori_empty",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((std::vector<int > const *)arg1)->empty();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_size(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::size_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectori_size",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::vector<int > const *)arg1)->size();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_clear(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectori_clear",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->clear();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_swap(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int > *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectori_swap",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::vector<int >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->swap(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_get_allocator(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    SwigValueWrapper<std::allocator<int > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectori_get_allocator",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::vector<int > const *)arg1)->get_allocator();
+    
+    {
+        std::vector<int >::allocator_type * resultptr;
+        resultptr = new std::vector<int >::allocator_type((std::vector<int >::allocator_type &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t__allocator_type, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_vectori__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int >::size_type arg1 ;
+    std::vector<int > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_vectori",&obj0)) goto fail;
+    {
+        arg1 = (std::vector<int >::size_type)(SWIG_As_unsigned_SS_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (std::vector<int > *)new std::vector<int >(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_pop_back(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectori_pop_back",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->pop_back();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_resize__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::size_type arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectori_resize",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<int >::size_type)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->resize(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_vectori__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int >::size_type arg1 ;
+    std::vector<int >::value_type *arg2 = 0 ;
+    std::vector<int > *result;
+    std::vector<int >::value_type temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_vectori",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (std::vector<int >::size_type)(SWIG_As_unsigned_SS_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        temp2 = (std::vector<int >::value_type)(SWIG_As_int(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    result = (std::vector<int > *)new std::vector<int >(arg1,(int const &)*arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_vectori(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_vectori__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_Check_unsigned_SS_long(argv[0]);
+        if (_v) {
+            return _wrap_new_vectori__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = swig::asptr(argv[0], (std::vector<int,std::allocator<int > >**)(0));
+        if (_v) {
+            return _wrap_new_vectori__SWIG_1(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_unsigned_SS_long(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_new_vectori__SWIG_3(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_vectori'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_push_back(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::value_type *arg2 = 0 ;
+    std::vector<int >::value_type temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectori_push_back",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (std::vector<int >::value_type)(SWIG_As_int(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    (arg1)->push_back((int const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_front(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::value_type *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectori_front",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::vector<int >::value_type const &_result_ref = ((std::vector<int > const *)arg1)->front();
+        result = (std::vector<int >::value_type *) &_result_ref;
+    }
+    
+    {
+        resultobj = SWIG_From_int((int)(*result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_back(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::value_type *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectori_back",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::vector<int >::value_type const &_result_ref = ((std::vector<int > const *)arg1)->back();
+        result = (std::vector<int >::value_type *) &_result_ref;
+    }
+    
+    {
+        resultobj = SWIG_From_int((int)(*result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_assign(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::size_type arg2 ;
+    std::vector<int >::value_type *arg3 = 0 ;
+    std::vector<int >::value_type temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:vectori_assign",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<int >::size_type)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        temp3 = (std::vector<int >::value_type)(SWIG_As_int(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    (arg1)->assign(arg2,(int const &)*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_resize__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::size_type arg2 ;
+    std::vector<int >::value_type *arg3 = 0 ;
+    std::vector<int >::value_type temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:vectori_resize",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<int >::size_type)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        temp3 = (std::vector<int >::value_type)(SWIG_As_int(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    (arg1)->resize(arg2,(int const &)*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_resize(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_vectori_resize__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_vectori_resize__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'vectori_resize'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_reserve(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::size_type arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectori_reserve",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<int >::size_type)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->reserve(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_capacity(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::size_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectori_capacity",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::vector<int > const *)arg1)->capacity();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori___nonzero__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectori___nonzero__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)std_vector_Sl_int_Sg____nonzero__((std::vector<int > const *)arg1);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori___len__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::size_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectori___len__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = std_vector_Sl_int_Sg____len__((std::vector<int > const *)arg1);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_pop(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::value_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectori_pop",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        try {
+            result = (std::vector<int >::value_type)std_vector_Sl_int_Sg__pop(arg1);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori___getslice__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::difference_type arg2 ;
+    std::vector<int >::difference_type arg3 ;
+    std::vector<int,std::allocator<int > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:vectori___getslice__",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<int >::difference_type)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (std::vector<int >::difference_type)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        try {
+            result = (std::vector<int,std::allocator<int > > *)std_vector_Sl_int_Sg____getslice__(arg1,arg2,arg3);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori___setslice__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::difference_type arg2 ;
+    std::vector<int >::difference_type arg3 ;
+    std::vector<int,std::allocator<int > > *arg4 = 0 ;
+    int res4 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:vectori___setslice__",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<int >::difference_type)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (std::vector<int >::difference_type)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        std::vector<int,std::allocator<int > > *ptr = (std::vector<int,std::allocator<int > > *)0;
+        res4 = swig::asptr(obj3, &ptr);
+        if (!res4) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::vector<int,std::allocator<int > >", obj3);
+        } else if (!ptr) {
+            SWIG_null_ref("std::vector<int,std::allocator<int > >");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        arg4 = ptr;
+    }
+    {
+        try {
+            std_vector_Sl_int_Sg____setslice__(arg1,arg2,arg3,(std::vector<int,std::allocator<int > > const &)*arg4);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        catch (std::invalid_argument& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_TypeError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }      
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    if (res4 == SWIG_NEWOBJ) delete arg4;
+    return resultobj;
+    fail:
+    if (res4 == SWIG_NEWOBJ) delete arg4;
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori___delslice__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::difference_type arg2 ;
+    std::vector<int >::difference_type arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:vectori___delslice__",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<int >::difference_type)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (std::vector<int >::difference_type)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        try {
+            std_vector_Sl_int_Sg____delslice__(arg1,arg2,arg3);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori___delitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::difference_type arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectori___delitem__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<int >::difference_type)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        try {
+            std_vector_Sl_int_Sg____delitem__(arg1,arg2);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori___getitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::difference_type arg2 ;
+    std::vector<int >::value_type *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectori___getitem__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<int >::difference_type)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        try {
+            {
+                std::vector<int >::value_type const &_result_ref = std_vector_Sl_int_Sg____getitem__((std::vector<int > const *)arg1,arg2);
+                result = (std::vector<int >::value_type *) &_result_ref;
+            }
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    {
+        resultobj = SWIG_From_int((int)(*result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori___setitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::difference_type arg2 ;
+    std::vector<int >::value_type *arg3 = 0 ;
+    std::vector<int >::value_type temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:vectori___setitem__",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<int >::difference_type)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        temp3 = (std::vector<int >::value_type)(SWIG_As_int(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        try {
+            std_vector_Sl_int_Sg____setitem__(arg1,arg2,(int const &)*arg3);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectori_append(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    std::vector<int >::value_type *arg2 = 0 ;
+    std::vector<int >::value_type temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectori_append",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (std::vector<int >::value_type)(SWIG_As_int(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    std_vector_Sl_int_Sg__append(arg1,(int const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_vectori(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<int > *arg1 = (std::vector<int > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_vectori",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * vectori_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__vectorTint_std__allocatorTint_t_t, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_vectord__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_vectord")) goto fail;
+    result = (std::vector<double > *)new std::vector<double >();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_vectord__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = 0 ;
+    std::vector<double > *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_vectord",&obj0)) goto fail;
+    {
+        std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
+        res1 = swig::asptr(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::vector<double >", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::vector<double >");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::vector<double > *)new std::vector<double >((std::vector<double > const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_empty(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectord_empty",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((std::vector<double > const *)arg1)->empty();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_size(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::size_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectord_size",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::vector<double > const *)arg1)->size();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_clear(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectord_clear",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->clear();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_swap(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double > *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectord_swap",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::vector<double >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->swap(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_get_allocator(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    SwigValueWrapper<std::allocator<double > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectord_get_allocator",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::vector<double > const *)arg1)->get_allocator();
+    
+    {
+        std::vector<double >::allocator_type * resultptr;
+        resultptr = new std::vector<double >::allocator_type((std::vector<double >::allocator_type &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_vectord__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double >::size_type arg1 ;
+    std::vector<double > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_vectord",&obj0)) goto fail;
+    {
+        arg1 = (std::vector<double >::size_type)(SWIG_As_unsigned_SS_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (std::vector<double > *)new std::vector<double >(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_pop_back(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectord_pop_back",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->pop_back();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_resize__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::size_type arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectord_resize",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<double >::size_type)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->resize(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_vectord__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double >::size_type arg1 ;
+    std::vector<double >::value_type *arg2 = 0 ;
+    std::vector<double > *result;
+    std::vector<double >::value_type temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_vectord",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (std::vector<double >::size_type)(SWIG_As_unsigned_SS_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        temp2 = (std::vector<double >::value_type)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    result = (std::vector<double > *)new std::vector<double >(arg1,(double const &)*arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_vectord(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_vectord__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_Check_unsigned_SS_long(argv[0]);
+        if (_v) {
+            return _wrap_new_vectord__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = swig::asptr(argv[0], (std::vector<double,std::allocator<double > >**)(0));
+        if (_v) {
+            return _wrap_new_vectord__SWIG_1(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_unsigned_SS_long(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_new_vectord__SWIG_3(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_vectord'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_push_back(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::value_type *arg2 = 0 ;
+    std::vector<double >::value_type temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectord_push_back",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (std::vector<double >::value_type)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    (arg1)->push_back((double const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_front(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::value_type *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectord_front",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::vector<double >::value_type const &_result_ref = ((std::vector<double > const *)arg1)->front();
+        result = (std::vector<double >::value_type *) &_result_ref;
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(*result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_back(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::value_type *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectord_back",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::vector<double >::value_type const &_result_ref = ((std::vector<double > const *)arg1)->back();
+        result = (std::vector<double >::value_type *) &_result_ref;
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(*result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_assign(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::size_type arg2 ;
+    std::vector<double >::value_type *arg3 = 0 ;
+    std::vector<double >::value_type temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:vectord_assign",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<double >::size_type)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        temp3 = (std::vector<double >::value_type)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    (arg1)->assign(arg2,(double const &)*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_resize__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::size_type arg2 ;
+    std::vector<double >::value_type *arg3 = 0 ;
+    std::vector<double >::value_type temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:vectord_resize",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<double >::size_type)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        temp3 = (std::vector<double >::value_type)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    (arg1)->resize(arg2,(double const &)*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_resize(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_vectord_resize__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_vectord_resize__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'vectord_resize'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_reserve(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::size_type arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectord_reserve",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<double >::size_type)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->reserve(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_capacity(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::size_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectord_capacity",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::vector<double > const *)arg1)->capacity();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord___nonzero__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectord___nonzero__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)std_vector_Sl_double_Sg____nonzero__((std::vector<double > const *)arg1);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord___len__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::size_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectord___len__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = std_vector_Sl_double_Sg____len__((std::vector<double > const *)arg1);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_pop(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::value_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:vectord_pop",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        try {
+            result = (std::vector<double >::value_type)std_vector_Sl_double_Sg__pop(arg1);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord___getslice__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::difference_type arg2 ;
+    std::vector<double >::difference_type arg3 ;
+    std::vector<double,std::allocator<double > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:vectord___getslice__",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<double >::difference_type)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (std::vector<double >::difference_type)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        try {
+            result = (std::vector<double,std::allocator<double > > *)std_vector_Sl_double_Sg____getslice__(arg1,arg2,arg3);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord___setslice__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::difference_type arg2 ;
+    std::vector<double >::difference_type arg3 ;
+    std::vector<double,std::allocator<double > > *arg4 = 0 ;
+    int res4 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:vectord___setslice__",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<double >::difference_type)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (std::vector<double >::difference_type)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        std::vector<double,std::allocator<double > > *ptr = (std::vector<double,std::allocator<double > > *)0;
+        res4 = swig::asptr(obj3, &ptr);
+        if (!res4) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::vector<double,std::allocator<double > >", obj3);
+        } else if (!ptr) {
+            SWIG_null_ref("std::vector<double,std::allocator<double > >");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        arg4 = ptr;
+    }
+    {
+        try {
+            std_vector_Sl_double_Sg____setslice__(arg1,arg2,arg3,(std::vector<double,std::allocator<double > > const &)*arg4);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        catch (std::invalid_argument& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_TypeError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }      
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    if (res4 == SWIG_NEWOBJ) delete arg4;
+    return resultobj;
+    fail:
+    if (res4 == SWIG_NEWOBJ) delete arg4;
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord___delslice__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::difference_type arg2 ;
+    std::vector<double >::difference_type arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:vectord___delslice__",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<double >::difference_type)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (std::vector<double >::difference_type)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        try {
+            std_vector_Sl_double_Sg____delslice__(arg1,arg2,arg3);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord___delitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::difference_type arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectord___delitem__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<double >::difference_type)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        try {
+            std_vector_Sl_double_Sg____delitem__(arg1,arg2);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord___getitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::difference_type arg2 ;
+    std::vector<double >::value_type *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectord___getitem__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<double >::difference_type)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        try {
+            {
+                std::vector<double >::value_type const &_result_ref = std_vector_Sl_double_Sg____getitem__((std::vector<double > const *)arg1,arg2);
+                result = (std::vector<double >::value_type *) &_result_ref;
+            }
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    {
+        resultobj = SWIG_From_double((double)(*result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord___setitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::difference_type arg2 ;
+    std::vector<double >::value_type *arg3 = 0 ;
+    std::vector<double >::value_type temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:vectord___setitem__",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::vector<double >::difference_type)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        temp3 = (std::vector<double >::value_type)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        try {
+            std_vector_Sl_double_Sg____setitem__(arg1,arg2,(double const &)*arg3);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_vectord_append(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    std::vector<double >::value_type *arg2 = 0 ;
+    std::vector<double >::value_type temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:vectord_append",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (std::vector<double >::value_type)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    std_vector_Sl_double_Sg__append(arg1,(double const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_vectord(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::vector<double > *arg1 = (std::vector<double > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_vectord",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * vectord_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_exception(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::exception *arg1 = (std::exception *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_exception",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_exception_what(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::exception *arg1 = (std::exception *) 0 ;
+    char *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:exception_what",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (char *)((std::exception const *)arg1)->what();
+    
+    resultobj = SWIG_FromCharPtr(result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_exception(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::exception *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_exception")) goto fail;
+    result = (std::exception *)new std::exception();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__exception, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * exception_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__exception, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_bad_exception(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::bad_exception *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_bad_exception")) goto fail;
+    result = (std::bad_exception *)new std::bad_exception();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__bad_exception, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_bad_exception(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::bad_exception *arg1 = (std::bad_exception *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_bad_exception",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__bad_exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * bad_exception_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__bad_exception, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_logic_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    std::logic_error *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_logic_error",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::logic_error *)new std::logic_error((std::string const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__logic_error, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_logic_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::logic_error *arg1 = (std::logic_error *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_logic_error",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__logic_error, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * logic_error_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__logic_error, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_domain_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    std::domain_error *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_domain_error",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::domain_error *)new std::domain_error((std::string const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__domain_error, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_domain_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::domain_error *arg1 = (std::domain_error *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_domain_error",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__domain_error, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * domain_error_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__domain_error, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_invalid_argument(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    std::invalid_argument *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_invalid_argument",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::invalid_argument *)new std::invalid_argument((std::string const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__invalid_argument, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_invalid_argument(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::invalid_argument *arg1 = (std::invalid_argument *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_invalid_argument",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__invalid_argument, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * invalid_argument_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__invalid_argument, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_length_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    std::length_error *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_length_error",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::length_error *)new std::length_error((std::string const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__length_error, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_length_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::length_error *arg1 = (std::length_error *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_length_error",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__length_error, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * length_error_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__length_error, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_out_of_range(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    std::out_of_range *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_out_of_range",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::out_of_range *)new std::out_of_range((std::string const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__out_of_range, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_out_of_range(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::out_of_range *arg1 = (std::out_of_range *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_out_of_range",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__out_of_range, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * out_of_range_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__out_of_range, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_runtime_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    std::runtime_error *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_runtime_error",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::runtime_error *)new std::runtime_error((std::string const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__runtime_error, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_runtime_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::runtime_error *arg1 = (std::runtime_error *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_runtime_error",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__runtime_error, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * runtime_error_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__runtime_error, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_range_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    std::range_error *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_range_error",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::range_error *)new std::range_error((std::string const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__range_error, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_range_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::range_error *arg1 = (std::range_error *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_range_error",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__range_error, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * range_error_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__range_error, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_overflow_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    std::overflow_error *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_overflow_error",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::overflow_error *)new std::overflow_error((std::string const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__overflow_error, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_overflow_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::overflow_error *arg1 = (std::overflow_error *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_overflow_error",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__overflow_error, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * overflow_error_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__overflow_error, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_underflow_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    std::underflow_error *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_underflow_error",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::underflow_error *)new std::underflow_error((std::string const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__underflow_error, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_underflow_error(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::underflow_error *arg1 = (std::underflow_error *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_underflow_error",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__underflow_error, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * underflow_error_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__underflow_error, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static int _wrap_ios_base_boolalpha_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_boolalpha is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_boolalpha_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::boolalpha)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_dec_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_dec is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_dec_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::dec)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_fixed_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_fixed is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_fixed_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::fixed)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_hex_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_hex is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_hex_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::hex)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_internal_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_internal is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_internal_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::internal)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_left_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_left is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_left_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::left)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_oct_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_oct is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_oct_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::oct)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_right_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_right is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_right_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::right)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_scientific_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_scientific is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_scientific_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::scientific)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_showbase_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_showbase is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_showbase_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::showbase)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_showpoint_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_showpoint is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_showpoint_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::showpoint)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_showpos_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_showpos is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_showpos_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::showpos)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_skipws_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_skipws is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_skipws_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::skipws)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_unitbuf_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_unitbuf is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_unitbuf_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::unitbuf)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_uppercase_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_uppercase is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_uppercase_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::uppercase)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_adjustfield_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_adjustfield is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_adjustfield_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::adjustfield)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_basefield_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_basefield is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_basefield_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::basefield)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_floatfield_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_floatfield is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_floatfield_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::fmtflags)(std::ios_base::floatfield)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_badbit_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_badbit is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_badbit_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::iostate)(std::ios_base::badbit)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_eofbit_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_eofbit is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_eofbit_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::iostate)(std::ios_base::eofbit)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_failbit_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_failbit is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_failbit_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::iostate)(std::ios_base::failbit)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_goodbit_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_goodbit is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_goodbit_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::iostate)(std::ios_base::goodbit)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_app_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_app is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_app_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::openmode)(std::ios_base::app)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_ate_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_ate is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_ate_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::openmode)(std::ios_base::ate)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_binary_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_binary is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_binary_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::openmode)(std::ios_base::binary)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_ios_base_in_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_ios_base_in is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_ios_base_in_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::openmode)(std::ios_base::in)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_out_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_out is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_out_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::openmode)(std::ios_base::out)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_trunc_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_trunc is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_trunc_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::openmode)(std::ios_base::trunc)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_beg_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_beg is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_beg_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::seekdir)(std::ios_base::beg)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_cur_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_cur is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_cur_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::seekdir)(std::ios_base::cur)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_ios_base_end_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable ios_base_end is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_ios_base_end_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((std::ios_base::seekdir)(std::ios_base::end)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject *_wrap_ios_base_register_callback(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    std::ios_base::event_callback arg2 = (std::ios_base::event_callback) 0 ;
+    int arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:ios_base_register_callback",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_enum_std__ios_base__event_r_std__ios_base_int__void, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        arg3 = (int)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    (arg1)->register_callback(arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_flags__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    std::ios_base::fmtflags result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_base_flags",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::ios_base::fmtflags)((std::ios_base const *)arg1)->flags();
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_flags__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    std::ios_base::fmtflags arg2 ;
+    std::ios_base::fmtflags result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_flags",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::ios_base::fmtflags)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (std::ios_base::fmtflags)(arg1)->flags(arg2);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_flags(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_ios_base_flags__SWIG_0(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_ios_base_flags__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_base_flags'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_setf__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    std::ios_base::fmtflags arg2 ;
+    std::ios_base::fmtflags result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_setf",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::ios_base::fmtflags)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (std::ios_base::fmtflags)(arg1)->setf(arg2);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_setf__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    std::ios_base::fmtflags arg2 ;
+    std::ios_base::fmtflags arg3 ;
+    std::ios_base::fmtflags result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:ios_base_setf",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::ios_base::fmtflags)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (std::ios_base::fmtflags)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (std::ios_base::fmtflags)(arg1)->setf(arg2,arg3);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_setf(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_ios_base_setf__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_ios_base_setf__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_base_setf'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_unsetf(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    std::ios_base::fmtflags arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_unsetf",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::ios_base::fmtflags)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->unsetf(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_precision__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    std::streamsize result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_base_precision",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::ios_base const *)arg1)->precision();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_precision__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    std::streamsize arg2 ;
+    std::streamsize result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_precision",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (arg1)->precision(arg2);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_precision(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_ios_base_precision__SWIG_0(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_ios_base_precision__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_base_precision'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_width__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    std::streamsize result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_base_width",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::ios_base const *)arg1)->width();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_width__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    std::streamsize arg2 ;
+    std::streamsize result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_width",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (arg1)->width(arg2);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_width(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_ios_base_width__SWIG_0(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__ios_base, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_ios_base_width__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_base_width'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_sync_with_stdio__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    bool arg1 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_base_sync_with_stdio",&obj0)) goto fail;
+    {
+        arg1 = (bool)(SWIG_As_bool(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (bool)std::ios_base::sync_with_stdio(arg1);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_sync_with_stdio__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    bool result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":ios_base_sync_with_stdio")) goto fail;
+    result = (bool)std::ios_base::sync_with_stdio();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_sync_with_stdio(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[2];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_ios_base_sync_with_stdio__SWIG_1(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_Check_bool(argv[0]);
+        if (_v) {
+            return _wrap_ios_base_sync_with_stdio__SWIG_0(self,args);
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_base_sync_with_stdio'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_imbue(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    std::locale *arg2 = 0 ;
+    std::locale result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_imbue",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__locale, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::locale");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (arg1)->imbue((std::locale const &)*arg2);
+    
+    {
+        std::locale * resultptr;
+        resultptr = new std::locale((std::locale &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__locale, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_getloc(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    std::locale result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_base_getloc",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::ios_base const *)arg1)->getloc();
+    
+    {
+        std::locale * resultptr;
+        resultptr = new std::locale((std::locale &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__locale, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_xalloc(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    int result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":ios_base_xalloc")) goto fail;
+    result = (int)std::ios_base::xalloc();
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_iword(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    int arg2 ;
+    long *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_iword",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        long &_result_ref = (arg1)->iword(arg2);
+        result = (long *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_long, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_base_pword(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    int arg2 ;
+    void **result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_base_pword",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        void *&_result_ref = (arg1)->pword(arg2);
+        result = (void **) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_p_void, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ios_base(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios_base *arg1 = (std::ios_base *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ios_base",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ios_base_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__ios_base, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ios_rdstate(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::ios_base::iostate result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_rdstate",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::ios_base::iostate)((std::basic_ios<char > const *)arg1)->rdstate();
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_clear__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::ios_base::iostate arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_clear",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::ios_base::iostate)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->clear(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_clear__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_clear",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->clear();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_clear(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_ios_clear__SWIG_1(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_ios_clear__SWIG_0(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_clear'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_setstate(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::ios_base::iostate arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_setstate",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::ios_base::iostate)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->setstate(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_good(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_good",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((std::basic_ios<char > const *)arg1)->good();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_eof(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_eof",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((std::basic_ios<char > const *)arg1)->eof();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_fail(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_fail",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((std::basic_ios<char > const *)arg1)->fail();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_bad(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_bad",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((std::basic_ios<char > const *)arg1)->bad();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_exceptions__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::ios_base::iostate result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_exceptions",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::ios_base::iostate)((std::basic_ios<char > const *)arg1)->exceptions();
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_exceptions__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::ios_base::iostate arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_exceptions",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::ios_base::iostate)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->exceptions(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_exceptions(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_ios_exceptions__SWIG_0(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_ios_exceptions__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_exceptions'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ios(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_streambuf<char,std::char_traits<char > > *arg1 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+    std::basic_ios<char > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_ios",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::basic_ios<char > *)new std::basic_ios<char >(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ios(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ios",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_tie__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_tie",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::basic_ostream<char,std::char_traits<char > > *)((std::basic_ios<char > const *)arg1)->tie();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_tie__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *arg2 = (std::basic_ostream<char,std::char_traits<char > > *) 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_tie",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    result = (std::basic_ostream<char,std::char_traits<char > > *)(arg1)->tie(arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_tie(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_ios_tie__SWIG_0(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_ios_tie__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_tie'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_rdbuf__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::basic_streambuf<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_rdbuf",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::basic_streambuf<char,std::char_traits<char > > *)((std::basic_ios<char > const *)arg1)->rdbuf();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_rdbuf__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::basic_streambuf<char,std::char_traits<char > > *arg2 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+    std::basic_streambuf<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_rdbuf",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    result = (std::basic_streambuf<char,std::char_traits<char > > *)(arg1)->rdbuf(arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_rdbuf(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_ios_rdbuf__SWIG_0(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_ios_rdbuf__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_rdbuf'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_copyfmt(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::basic_ios<char > *arg2 = 0 ;
+    std::basic_ios<char > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_copyfmt",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::basic_ios<char >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ios<char > &_result_ref = (arg1)->copyfmt((std::basic_ios<char > const &)*arg2);
+        result = (std::basic_ios<char > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_fill__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::basic_ios<char >::char_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ios_fill",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::basic_ios<char >::char_type)((std::basic_ios<char > const *)arg1)->fill();
+    
+    {
+        resultobj = SWIG_From_char((char)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_fill__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::basic_ios<char >::char_type arg2 ;
+    std::basic_ios<char >::char_type result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_fill",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::basic_ios<char >::char_type)(SWIG_As_char(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (std::basic_ios<char >::char_type)(arg1)->fill(arg2);
+    
+    {
+        resultobj = SWIG_From_char((char)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_fill(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_ios_fill__SWIG_0(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_char(argv[1]);
+            if (_v) {
+                return _wrap_ios_fill__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ios_fill'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_imbue(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::locale *arg2 = 0 ;
+    std::locale result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_imbue",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__locale, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::locale");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (arg1)->imbue((std::locale const &)*arg2);
+    
+    {
+        std::locale * resultptr;
+        resultptr = new std::locale((std::locale &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__locale, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_narrow(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    std::basic_ios<char >::char_type arg2 ;
+    char arg3 ;
+    char result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:ios_narrow",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::basic_ios<char >::char_type)(SWIG_As_char(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (char)(SWIG_As_char(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (char)((std::basic_ios<char > const *)arg1)->narrow(arg2,arg3);
+    
+    {
+        resultobj = SWIG_From_char((char)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_widen(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ios<char > *arg1 = (std::basic_ios<char > *) 0 ;
+    char arg2 ;
+    std::basic_ios<char >::char_type result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ios_widen",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (char)(SWIG_As_char(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (std::basic_ios<char >::char_type)((std::basic_ios<char > const *)arg1)->widen(arg2);
+    
+    {
+        resultobj = SWIG_From_char((char)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ios_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__basic_iosTchar_std__char_traitsTchar_t_t, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static int _wrap_cin_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable cin is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_cin_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&std::cin), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return pyobj;
+}
+
+
+static int _wrap_cout_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable cout is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_cout_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&std::cout), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return pyobj;
+}
+
+
+static int _wrap_cerr_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable cerr is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_cerr_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&std::cerr), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return pyobj;
+}
+
+
+static int _wrap_clog_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable clog is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_clog_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&std::clog), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return pyobj;
+}
+
+
+static PyObject *_wrap_new_ostream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_streambuf<char,std::char_traits<char > > *arg1 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+    std::basic_ostream<char > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_ostream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::basic_ostream<char > *)new std::basic_ostream<char >(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ostream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ostream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    std::basic_ostream<char,std::char_traits<char > > &(*arg2)(std::basic_ostream<char,std::char_traits<char > > &) = (std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(*arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    std::basic_ios<char,std::char_traits<char > > &(*arg2)(std::basic_ios<char,std::char_traits<char > > &) = (std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(*arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    std::ios_base &(*arg2)(std::ios_base &) = (std::ios_base &(*)(std::ios_base &)) 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_r_std__ios_base__r_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(*arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    long arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    unsigned long arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    bool arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (bool)(SWIG_As_bool(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_6(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    short arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_7(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    unsigned short arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned short)(SWIG_As_unsigned_SS_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_8(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    int arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_9(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    unsigned int arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_10(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    long long arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long long)(SWIG_As_long_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_11(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    unsigned long long arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned long long)(SWIG_As_unsigned_SS_long_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_12(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    double arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_13(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    float arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (float)(SWIG_As_float(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_14(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    long double arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        long double * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("long double");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_15(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    void *arg2 = (void *) 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        if ((SWIG_ConvertPtr(obj1,(void **)(&arg2),0,SWIG_POINTER_EXCEPTION|0))== -1) {
+            SWIG_arg_fail(2);SWIG_fail;
+        }
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<((void const *)arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_16(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    std::basic_streambuf<char,std::char_traits<char > > *arg2 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->operator <<(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift____SWIG_17(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    std::basic_string<char,std::char_traits<char >,std::allocator<char > > *arg2 = 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream___lshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::basic_string<char,std::char_traits<char >,std::allocator<char > >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = std_basic_ostream_Sl_char_Sg__operator_Sl__Sl___SWIG_17(arg1,(std::basic_string<char,std::char_traits<char >,std::allocator<char > > const &)*arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream___lshift__(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_f_r_std__ios_base__r_std__ios_base, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_14(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_16(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_17(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, 0, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_15(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_short(argv[1]);
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_7(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_6(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_int(argv[1]);
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_9(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_8(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_long(argv[1]);
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_3(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_11(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_long_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_10(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_float(argv[1]);
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_13(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_12(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_bool(argv[1]);
+            if (_v) {
+                return _wrap_ostream___lshift____SWIG_5(self,args);
+            }
+        }
+    }
+    
+    Py_INCREF(Py_NotImplemented);
+    return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap_ostream_put(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    std::basic_ostream<char >::char_type arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream_put",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::basic_ostream<char >::char_type)(SWIG_As_char(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->put(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream_write(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    std::basic_ostream<char >::char_type *arg2 = (std::basic_ostream<char >::char_type *) 0 ;
+    std::streamsize arg3 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:ostream_write",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->write((std::basic_ostream<char >::char_type const *)arg2,arg3);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream_flush(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ostream_flush",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->flush();
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream_tellp(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    std::basic_ostream<char >::pos_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ostream_tellp",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (arg1)->tellp();
+    
+    {
+        std::basic_ostream<char >::pos_type * resultptr;
+        resultptr = new std::basic_ostream<char >::pos_type((std::basic_ostream<char >::pos_type &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream_seekp__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    std::basic_ostream<char >::pos_type arg2 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ostream_seekp",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::basic_ostream<char >::pos_type * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::basic_ostream<char >::pos_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->seekp(arg2);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream_seekp__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char > *arg1 = (std::basic_ostream<char > *) 0 ;
+    std::basic_ostream<char >::off_type arg2 ;
+    std::ios_base::seekdir arg3 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:ostream_seekp",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::basic_ostream<char >::off_type * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::basic_ostream<char >::off_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    {
+        arg3 = (std::ios_base::seekdir)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = (arg1)->seekp(arg2,arg3);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ostream_seekp(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_ostream_seekp__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_ostream_seekp__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ostream_seekp'");
+    return NULL;
+}
+
+
+static PyObject * ostream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_istream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_streambuf<char,std::char_traits<char > > *arg1 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+    std::basic_istream<char > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_istream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::basic_istream<char > *)new std::basic_istream<char >(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_istream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_istream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char,std::char_traits<char > > &(*arg2)(std::basic_istream<char,std::char_traits<char > > &) = (std::basic_istream<char,std::char_traits<char > > &(*)(std::basic_istream<char,std::char_traits<char > > &)) 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_ios<char,std::char_traits<char > > &(*arg2)(std::basic_ios<char,std::char_traits<char > > &) = (std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::ios_base &(*arg2)(std::ios_base &) = (std::ios_base &(*)(std::ios_base &)) 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_f_r_std__ios_base__r_std__ios_base, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    bool *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_bool, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("bool");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    short *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_short, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("short");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    unsigned short *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_unsigned_short, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("unsigned short");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_6(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    int *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_7(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    unsigned int *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_unsigned_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("unsigned int");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_8(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    long *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("long");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_9(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    unsigned long *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_unsigned_long, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("unsigned long");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_10(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    long long *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_long_long, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("long long");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_11(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    unsigned long long *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_unsigned_long_long, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("unsigned long long");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_12(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    float *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_float, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("float");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_13(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    double *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("double");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_14(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    long double *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("long double");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_15(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    void **arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_p_void, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("void");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift____SWIG_16(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_streambuf<char,std::char_traits<char > > *arg2 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream___rshift__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->operator >>(arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream___rshift__(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_f_r_std__ios_base__r_std__ios_base, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_bool, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_3(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_short, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_unsigned_short, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_5(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_int, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_6(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_unsigned_int, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_7(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_8(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_unsigned_long, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_9(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_long, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_10(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_unsigned_long_long, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_11(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_float, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_12(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_double, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_13(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_14(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_p_void, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_15(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream___rshift____SWIG_16(self,args);
+            }
+        }
+    }
+    
+    Py_INCREF(Py_NotImplemented);
+    return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap_istream_gcount(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::streamsize result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:istream_gcount",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::basic_istream<char > const *)arg1)->gcount();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_get__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::int_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:istream_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::basic_istream<char >::int_type)(arg1)->get();
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_get__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::char_type *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream_get",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::basic_istream<char >::char_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->get(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_get__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::char_type *arg2 = (std::basic_istream<char >::char_type *) 0 ;
+    std::streamsize arg3 ;
+    std::basic_istream<char >::char_type arg4 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:istream_get",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (std::basic_istream<char >::char_type)(SWIG_As_char(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->get(arg2,arg3,arg4);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_get__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::char_type *arg2 = (std::basic_istream<char >::char_type *) 0 ;
+    std::streamsize arg3 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:istream_get",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->get(arg2,arg3);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_get__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_streambuf<char,std::char_traits<char > > *arg2 = 0 ;
+    std::basic_istream<char >::char_type arg3 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:istream_get",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::basic_streambuf<char,std::char_traits<char > >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (std::basic_istream<char >::char_type)(SWIG_As_char(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->get(*arg2,arg3);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_get__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_streambuf<char,std::char_traits<char > > *arg2 = 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream_get",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::basic_streambuf<char,std::char_traits<char > >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->get(*arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_get(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_istream_get__SWIG_0(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream_get__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream_get__SWIG_5(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_char(argv[2]);
+                if (_v) {
+                    return _wrap_istream_get__SWIG_4(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_AsCharPtr(argv[1], (char **)(0));
+            if (_v) {
+                _v = SWIG_Check_unsigned_SS_long(argv[2]);
+                if (_v) {
+                    return _wrap_istream_get__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_AsCharPtr(argv[1], (char **)(0));
+            if (_v) {
+                _v = SWIG_Check_unsigned_SS_long(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_char(argv[3]);
+                    if (_v) {
+                        return _wrap_istream_get__SWIG_2(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'istream_get'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_getline__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::char_type *arg2 = (std::basic_istream<char >::char_type *) 0 ;
+    std::streamsize arg3 ;
+    std::basic_istream<char >::char_type arg4 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:istream_getline",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (std::basic_istream<char >::char_type)(SWIG_As_char(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->getline(arg2,arg3,arg4);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_getline__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::char_type *arg2 = (std::basic_istream<char >::char_type *) 0 ;
+    std::streamsize arg3 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:istream_getline",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->getline(arg2,arg3);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_getline(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_AsCharPtr(argv[1], (char **)(0));
+            if (_v) {
+                _v = SWIG_Check_unsigned_SS_long(argv[2]);
+                if (_v) {
+                    return _wrap_istream_getline__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_AsCharPtr(argv[1], (char **)(0));
+            if (_v) {
+                _v = SWIG_Check_unsigned_SS_long(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_char(argv[3]);
+                    if (_v) {
+                        return _wrap_istream_getline__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'istream_getline'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_ignore__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::streamsize arg2 ;
+    std::basic_istream<char >::int_type arg3 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:istream_ignore",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (std::basic_istream<char >::int_type)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->ignore(arg2,arg3);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_ignore__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::streamsize arg2 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream_ignore",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->ignore(arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_ignore__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:istream_ignore",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->ignore();
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_ignore(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_istream_ignore__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_istream_ignore__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_istream_ignore__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'istream_ignore'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_peek(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::int_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:istream_peek",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::basic_istream<char >::int_type)(arg1)->peek();
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_read(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::char_type *arg2 = (std::basic_istream<char >::char_type *) 0 ;
+    std::streamsize arg3 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:istream_read",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->read(arg2,arg3);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_readsome(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::char_type *arg2 = (std::basic_istream<char >::char_type *) 0 ;
+    std::streamsize arg3 ;
+    std::streamsize result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:istream_readsome",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        arg3 = (std::streamsize)(SWIG_As_unsigned_SS_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (arg1)->readsome(arg2,arg3);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_putback(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::char_type arg2 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream_putback",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (std::basic_istream<char >::char_type)(SWIG_As_char(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->putback(arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_unget(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:istream_unget",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->unget();
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_sync(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:istream_sync",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int)(arg1)->sync();
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_tellg(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::pos_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:istream_tellg",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (arg1)->tellg();
+    
+    {
+        std::basic_istream<char >::pos_type * resultptr;
+        resultptr = new std::basic_istream<char >::pos_type((std::basic_istream<char >::pos_type &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_seekg__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::pos_type arg2 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:istream_seekg",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::basic_istream<char >::pos_type * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::basic_istream<char >::pos_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->seekg(arg2);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_seekg__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_istream<char > *arg1 = (std::basic_istream<char > *) 0 ;
+    std::basic_istream<char >::off_type arg2 ;
+    std::ios_base::seekdir arg3 ;
+    std::basic_istream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:istream_seekg",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::basic_istream<char >::off_type * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::basic_istream<char >::off_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    {
+        arg3 = (std::ios_base::seekdir)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        std::basic_istream<char,std::char_traits<char > > &_result_ref = (arg1)->seekg(arg2,arg3);
+        result = (std::basic_istream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_istream_seekg(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_istream_seekg__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_istream_seekg__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'istream_seekg'");
+    return NULL;
+}
+
+
+static PyObject * istream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_iostream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_streambuf<char,std::char_traits<char > > *arg1 = (std::basic_streambuf<char,std::char_traits<char > > *) 0 ;
+    std::basic_iostream<char > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_iostream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_streambufTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::basic_iostream<char > *)new std::basic_iostream<char >(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_iostreamTchar_std__char_traitsTchar_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_iostream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_iostream<char > *arg1 = (std::basic_iostream<char > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_iostream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_iostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * iostream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__basic_iostreamTchar_std__char_traitsTchar_t_t, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_endl(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char,std::char_traits<char > > *arg1 = 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:endl",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::basic_ostream<char,std::char_traits<char > >");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = std::SWIGTEMPLATEDISAMBIGUATOR endl<char,std::char_traits<char > >(*arg1);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ends(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char,std::char_traits<char > > *arg1 = 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ends",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::basic_ostream<char,std::char_traits<char > >");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = std::SWIGTEMPLATEDISAMBIGUATOR ends<char,std::char_traits<char > >(*arg1);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_flush(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::basic_ostream<char,std::char_traits<char > > *arg1 = 0 ;
+    std::basic_ostream<char,std::char_traits<char > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:flush",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::basic_ostream<char,std::char_traits<char > >");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        std::basic_ostream<char,std::char_traits<char > > &_result_ref = std::SWIGTEMPLATEDISAMBIGUATOR flush<char,std::char_traits<char > >(*arg1);
+        result = (std::basic_ostream<char,std::char_traits<char > > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static int _wrap_PI_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable PI is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_PI_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::PI)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_TWO_PI_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable TWO_PI is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_TWO_PI_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::TWO_PI)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_SQRT_PI_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable SQRT_PI is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_SQRT_PI_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::SQRT_PI)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_REL_CONST_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable REL_CONST is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_REL_CONST_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::REL_CONST)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_OSC_FREQ_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable OSC_FREQ is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_OSC_FREQ_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::OSC_FREQ)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_C_GPS_M_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable C_GPS_M is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_C_GPS_M_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::C_GPS_M)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RSVCLK_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RSVCLK is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RSVCLK_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::RSVCLK)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_L1_FREQ_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable L1_FREQ is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_L1_FREQ_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::L1_FREQ)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_L2_FREQ_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable L2_FREQ is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_L2_FREQ_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::L2_FREQ)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_L1_MULT_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable L1_MULT is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_L1_MULT_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::L1_MULT)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_L2_MULT_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable L2_MULT is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_L2_MULT_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::L2_MULT)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_SV_ACCURACY_MAX_INDEX_VALUE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable SV_ACCURACY_MAX_INDEX_VALUE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_SV_ACCURACY_MAX_INDEX_VALUE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((int)(gpstk::SV_ACCURACY_MAX_INDEX_VALUE)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_SV_ACCURACY_MIN_INDEX_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable SV_ACCURACY_MIN_INDEX is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_SV_ACCURACY_MIN_INDEX_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(gpstk::SV_ACCURACY_MIN_INDEX), SWIGTYPE_p_double, 0);
+    return pyobj;
+}
+
+
+static int _wrap_SV_ACCURACY_MAX_INDEX_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable SV_ACCURACY_MAX_INDEX is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_SV_ACCURACY_MAX_INDEX_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(gpstk::SV_ACCURACY_MAX_INDEX), SWIGTYPE_p_double, 0);
+    return pyobj;
+}
+
+
+static PyObject *_wrap_accuracy2ura(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    short result;
+    double temp1 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:accuracy2ura",&obj0)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    result = (short)gpstk::accuracy2ura((double const &)*arg1);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ura2accuracy(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short *arg1 = 0 ;
+    double result;
+    short temp1 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ura2accuracy",&obj0)) goto fail;
+    {
+        temp1 = (short)(SWIG_As_short(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    result = (double)gpstk::ura2accuracy((short const &)*arg1);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_out(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios::openmode result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":ios_out")) goto fail;
+    result = ios_out();
+    
+    {
+        std::ios::openmode * resultptr;
+        resultptr = new std::ios::openmode((std::ios::openmode &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__ios__openmode, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_in(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios::openmode result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":ios_in")) goto fail;
+    result = ios_in();
+    
+    {
+        std::ios::openmode * resultptr;
+        resultptr = new std::ios::openmode((std::ios::openmode &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__ios__openmode, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ios_out_trunc(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ios::openmode result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":ios_out_trunc")) goto fail;
+    result = ios_out_trunc();
+    
+    {
+        std::ios::openmode * resultptr;
+        resultptr = new std::ios::openmode((std::ios::openmode &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__ios__openmode, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_read(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    FFStream *arg1 = 0 ;
+    FFData *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:read",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("FFStream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("FFData");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)read(*arg1,(FFData const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_write(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    FFStream *arg1 = 0 ;
+    FFData *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:write",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("FFStream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("FFData");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)write(*arg1,*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_find(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsData *arg1 = 0 ;
+    RinexPrn arg2 ;
+    RinexObsData::RinexPrnMap::iterator result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap_find",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("RinexObsData");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        RinexPrn * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("RinexPrn");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = RinexPrnMap_find(*arg1,arg2);
+    
+    {
+        RinexObsData::RinexPrnMap::iterator * resultptr;
+        resultptr = new RinexObsData::RinexPrnMap::iterator((RinexObsData::RinexPrnMap::iterator &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_end(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsData *arg1 = 0 ;
+    RinexObsData::RinexPrnMap::iterator result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_end",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("RinexObsData");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = RinexPrnMap_end(*arg1);
+    
+    {
+        RinexObsData::RinexPrnMap::iterator * resultptr;
+        resultptr = new RinexObsData::RinexPrnMap::iterator((RinexObsData::RinexPrnMap::iterator &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_getPseudoRangeCode__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsData arg1 ;
+    RinexPrn arg2 ;
+    RinexObsType arg3 ;
+    RinexObsData::RinexDatum result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:getPseudoRangeCode",&obj0,&obj1,&obj2)) goto fail;
+    {
+        RinexObsData * argp;
+        SWIG_Python_ConvertPtr(obj0, (void **)&argp, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("RinexObsData");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *argp;
+    }
+    {
+        RinexPrn * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("RinexPrn");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    {
+        RinexObsType * argp;
+        SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("RinexObsType");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *argp;
+    }
+    result = getPseudoRangeCode(arg1,arg2,arg3);
+    
+    {
+        RinexObsData::RinexDatum * resultptr;
+        resultptr = new RinexObsData::RinexDatum((RinexObsData::RinexDatum &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_RinexDatum, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_getPseudoRangeCode__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsData::RinexPrnMap::iterator arg1 ;
+    RinexObsHeader::RinexObsType arg2 ;
+    RinexObsData::RinexDatum result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:getPseudoRangeCode",&obj0,&obj1)) goto fail;
+    {
+        RinexObsData::RinexPrnMap::iterator * argp;
+        SWIG_Python_ConvertPtr(obj0, (void **)&argp, SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("RinexObsData::RinexPrnMap::iterator");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *argp;
+    }
+    {
+        RinexObsHeader::RinexObsType * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("RinexObsHeader::RinexObsType");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = getPseudoRangeCode(arg1,arg2);
+    
+    {
+        RinexObsData::RinexDatum * resultptr;
+        resultptr = new RinexObsData::RinexDatum((RinexObsData::RinexDatum &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_RinexDatum, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_getPseudoRangeCode(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_getPseudoRangeCode__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexObsData, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    return _wrap_getPseudoRangeCode__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'getPseudoRangeCode'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_compare(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsData::RinexPrnMap::iterator arg1 ;
+    RinexObsData::RinexPrnMap::iterator arg2 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap_compare",&obj0,&obj1)) goto fail;
+    {
+        RinexObsData::RinexPrnMap::iterator * argp;
+        SWIG_Python_ConvertPtr(obj0, (void **)&argp, SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("RinexObsData::RinexPrnMap::iterator");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *argp;
+    }
+    {
+        RinexObsData::RinexPrnMap::iterator * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_gpstk__RinexObsData__RinexPrnMap__iterator, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("RinexObsData::RinexPrnMap::iterator");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = (bool)RinexPrnMap_compare(arg1,arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_FFData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFData *arg1 = (gpstk::FFData *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FFData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFData_putRecord(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFData *arg1 = (gpstk::FFData *) 0 ;
+    gpstk::FFStream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FFData_putRecord",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::FFStream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        ((gpstk::FFData const *)arg1)->putRecord(*arg2);
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(gpstk::StringUtils::StringException &_e) {
+        {
+            gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+            if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFData_getRecord(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFData *arg1 = (gpstk::FFData *) 0 ;
+    gpstk::FFStream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FFData_getRecord",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::FFStream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        (arg1)->getRecord(*arg2);
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(gpstk::StringUtils::StringException &_e) {
+        {
+            gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+            if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFData_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFData *arg1 = (gpstk::FFData *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FFData_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::FFData const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFData_isHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFData *arg1 = (gpstk::FFData *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FFData_isHeader",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::FFData const *)arg1)->isHeader();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFData_isData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFData *arg1 = (gpstk::FFData *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FFData_isData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::FFData const *)arg1)->isData();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::FFData *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::FFData");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            std::ostream &_result_ref = operator <<(*arg1,(gpstk::FFData const &)*arg2);
+            result = (std::ostream *) &_result_ref;
+        }
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(gpstk::StringUtils::StringException &_e) {
+        {
+            gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+            if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamWrite(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::istream *arg1 = 0 ;
+    gpstk::FFData *arg2 = 0 ;
+    std::istream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamWrite",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::istream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFData, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::FFData");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            std::istream &_result_ref = operator >>(*arg1,*arg2);
+            result = (std::istream *) &_result_ref;
+        }
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(gpstk::StringUtils::StringException &_e) {
+        {
+            gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+            if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * FFData_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__FFData, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_FFStream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FFStream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FFStream__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFStream *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_FFStream")) goto fail;
+    result = (gpstk::FFStream *)new gpstk::FFStream();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FFStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FFStream__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    std::ios::openmode arg2 ;
+    gpstk::FFStream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_FFStream",&obj0,&obj1)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = (gpstk::FFStream *)new gpstk::FFStream((char const *)arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FFStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FFStream__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    gpstk::FFStream *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FFStream",&obj0)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    result = (gpstk::FFStream *)new gpstk::FFStream((char const *)arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FFStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FFStream(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_FFStream__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            return _wrap_new_FFStream__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_new_FFStream__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FFStream'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_open(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+    char *arg2 = (char *) 0 ;
+    std::ios::openmode arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:FFStream_open",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *argp;
+    }
+    (arg1)->open((char const *)arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_conditionalThrow(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FFStream_conditionalThrow",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        (arg1)->conditionalThrow();
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_mostRecentException_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+    FFStreamError arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FFStream_mostRecentException_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        FFStreamError * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_FFStreamError, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("FFStreamError");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    if (arg1) (arg1)->mostRecentException = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_mostRecentException_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+    FFStreamError result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FFStream_mostRecentException_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result =  ((arg1)->mostRecentException);
+    
+    {
+        FFStreamError * resultptr;
+        resultptr = new FFStreamError((FFStreamError &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_FFStreamError, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_recordNumber_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FFStream_recordNumber_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->recordNumber = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_recordNumber_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FFStream_recordNumber_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned int) ((arg1)->recordNumber);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_filename_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FFStream_filename_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->filename = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFStream_filename_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFStream *arg1 = (gpstk::FFStream *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FFStream_filename_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->filename);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * FFStream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__FFStream, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_FFTextStream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFTextStream *arg1 = (gpstk::FFTextStream *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FFTextStream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFTextStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FFTextStream__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFTextStream *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_FFTextStream")) goto fail;
+    result = (gpstk::FFTextStream *)new gpstk::FFTextStream();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FFTextStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FFTextStream__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    std::ios::openmode arg2 ;
+    gpstk::FFTextStream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_FFTextStream",&obj0,&obj1)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = (gpstk::FFTextStream *)new gpstk::FFTextStream((char const *)arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FFTextStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FFTextStream__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    gpstk::FFTextStream *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FFTextStream",&obj0)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    result = (gpstk::FFTextStream *)new gpstk::FFTextStream((char const *)arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FFTextStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FFTextStream(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_FFTextStream__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            return _wrap_new_FFTextStream__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_new_FFTextStream__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FFTextStream'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFTextStream_open(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFTextStream *arg1 = (gpstk::FFTextStream *) 0 ;
+    char *arg2 = (char *) 0 ;
+    std::ios::openmode arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:FFTextStream_open",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFTextStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *argp;
+    }
+    (arg1)->open((char const *)arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFTextStream_lineNumber_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFTextStream *arg1 = (gpstk::FFTextStream *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FFTextStream_lineNumber_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFTextStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->lineNumber = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFTextStream_lineNumber_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFTextStream *arg1 = (gpstk::FFTextStream *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FFTextStream_lineNumber_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFTextStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned int) ((arg1)->lineNumber);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFTextStream_formattedGetLine__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFTextStream *arg1 = (gpstk::FFTextStream *) 0 ;
+    std::string *arg2 = 0 ;
+    bool arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:FFTextStream_formattedGetLine",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFTextStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (bool const)(SWIG_As_bool(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        (arg1)->formattedGetLine(*arg2,arg3);
+    }
+    catch(EndOfFile &_e) {
+        {
+            EndOfFile * temp = new EndOfFile(_e);
+            if (SWIGTYPE_p_EndOfFile->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_EndOfFile->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_EndOfFile,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"EndOfFile");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_EndOfFile,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(gpstk::StringUtils::StringException &_e) {
+        {
+            gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+            if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFTextStream_formattedGetLine__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FFTextStream *arg1 = (gpstk::FFTextStream *) 0 ;
+    std::string *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FFTextStream_formattedGetLine",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FFTextStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        (arg1)->formattedGetLine(*arg2);
+    }
+    catch(EndOfFile &_e) {
+        {
+            EndOfFile * temp = new EndOfFile(_e);
+            if (SWIGTYPE_p_EndOfFile->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_EndOfFile->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_EndOfFile,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"EndOfFile");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_EndOfFile,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(gpstk::StringUtils::StringException &_e) {
+        {
+            gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+            if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FFTextStream_formattedGetLine(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FFTextStream, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__string, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_FFTextStream_formattedGetLine__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FFTextStream, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__string, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_bool(argv[2]);
+                if (_v) {
+                    return _wrap_FFTextStream_formattedGetLine__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'FFTextStream_formattedGetLine'");
+    return NULL;
+}
+
+
+static PyObject * FFTextStream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__FFTextStream, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ExceptionLocation__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    std::string *arg2 = 0 ;
+    unsigned long *arg3 = 0 ;
+    gpstk::ExceptionLocation *result;
+    int res1 = 0 ;
+    int res2 = 0 ;
+    unsigned long temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_ExceptionLocation",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    {
+        temp3 = (unsigned long)(SWIG_As_unsigned_SS_long(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation((std::string const &)*arg1,(std::string const &)*arg2,(unsigned long const &)*arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ExceptionLocation, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ExceptionLocation__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    std::string *arg2 = 0 ;
+    gpstk::ExceptionLocation *result;
+    int res1 = 0 ;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_ExceptionLocation",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation((std::string const &)*arg1,(std::string const &)*arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ExceptionLocation, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ExceptionLocation__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    gpstk::ExceptionLocation *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_ExceptionLocation",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation((std::string const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ExceptionLocation, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ExceptionLocation__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ExceptionLocation *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_ExceptionLocation")) goto fail;
+    result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ExceptionLocation, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ExceptionLocation(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_ExceptionLocation__SWIG_3(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_ExceptionLocation__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+            if (_v) {
+                return _wrap_new_ExceptionLocation__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+            if (_v) {
+                _v = SWIG_Check_unsigned_SS_long(argv[2]);
+                if (_v) {
+                    return _wrap_new_ExceptionLocation__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_ExceptionLocation'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ExceptionLocation(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ExceptionLocation",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ExceptionLocation_getFileName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ExceptionLocation_getFileName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::ExceptionLocation const *)arg1)->getFileName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ExceptionLocation_getFunctionName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ExceptionLocation_getFunctionName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::ExceptionLocation const *)arg1)->getFunctionName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ExceptionLocation_getLineNumber(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+    unsigned long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ExceptionLocation_getLineNumber",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned long)((gpstk::ExceptionLocation const *)arg1)->getLineNumber();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ExceptionLocation_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ExceptionLocation_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::ExceptionLocation const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::ExceptionLocation *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ExceptionLocation");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::ExceptionLocation const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ExceptionLocation_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__ExceptionLocation, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Exception__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_Exception")) goto fail;
+    result = (gpstk::Exception *)new gpstk::Exception();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Exception__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    unsigned long *arg2 = 0 ;
+    gpstk::Exception::Severity *arg3 = 0 ;
+    gpstk::Exception *result;
+    int res1 = 0 ;
+    unsigned long temp2 ;
+    gpstk::Exception::Severity temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_Exception",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    {
+        temp2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    result = (gpstk::Exception *)new gpstk::Exception((std::string const &)*arg1,(unsigned long const &)*arg2,(enum gpstk::Exception::Severity const &)*arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Exception__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    unsigned long *arg2 = 0 ;
+    gpstk::Exception *result;
+    int res1 = 0 ;
+    unsigned long temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_Exception",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    {
+        temp2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    result = (gpstk::Exception *)new gpstk::Exception((std::string const &)*arg1,(unsigned long const &)*arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Exception__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    gpstk::Exception *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_Exception",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (gpstk::Exception *)new gpstk::Exception((std::string const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Exception__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::Exception *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_Exception",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::Exception *)new gpstk::Exception((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Exception(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_Exception__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_Exception__SWIG_4(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_Exception__SWIG_3(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_Exception__SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_Exception__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_Exception'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_Exception(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_Exception",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    gpstk::Exception *arg2 = 0 ;
+    gpstk::Exception *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::Exception &_result_ref = (arg1)->operator =((gpstk::Exception const &)*arg2);
+        result = (gpstk::Exception *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_terminate(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Exception_terminate",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->terminate();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getErrorId(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    unsigned long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Exception_getErrorId",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned long)((gpstk::Exception const *)arg1)->getErrorId();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_setErrorId(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    unsigned long *arg2 = 0 ;
+    gpstk::Exception *result;
+    unsigned long temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_setErrorId",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        gpstk::Exception &_result_ref = (arg1)->setErrorId((unsigned long const &)*arg2);
+        result = (gpstk::Exception *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_addLocation(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    gpstk::ExceptionLocation *arg2 = 0 ;
+    gpstk::Exception *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_addLocation",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ExceptionLocation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ExceptionLocation");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::Exception &_result_ref = (arg1)->addLocation((gpstk::ExceptionLocation const &)*arg2);
+        result = (gpstk::Exception *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getLocation__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    size_t *arg2 = 0 ;
+    gpstk::ExceptionLocation result;
+    size_t temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_getLocation",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (size_t)(SWIG_As_unsigned_SS_long(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    result = ((gpstk::Exception const *)arg1)->getLocation((size_t const &)*arg2);
+    
+    {
+        gpstk::ExceptionLocation * resultptr;
+        resultptr = new gpstk::ExceptionLocation((gpstk::ExceptionLocation const &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ExceptionLocation, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getLocation__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    gpstk::ExceptionLocation result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Exception_getLocation",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::Exception const *)arg1)->getLocation();
+    
+    {
+        gpstk::ExceptionLocation * resultptr;
+        resultptr = new gpstk::ExceptionLocation((gpstk::ExceptionLocation const &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ExceptionLocation, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getLocation(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_Exception_getLocation__SWIG_1(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_Exception_getLocation__SWIG_0(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Exception_getLocation'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getLocationCount(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Exception_getLocationCount",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::Exception const *)arg1)->getLocationCount();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_isRecoverable(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Exception_isRecoverable",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::Exception const *)arg1)->isRecoverable();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_setSeverity(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    gpstk::Exception::Severity *arg2 = 0 ;
+    gpstk::Exception *result;
+    gpstk::Exception::Severity temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_setSeverity",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (gpstk::Exception::Severity)(SWIG_As_int(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        gpstk::Exception &_result_ref = (arg1)->setSeverity((enum gpstk::Exception::Severity const &)*arg2);
+        result = (gpstk::Exception *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_addText(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    std::string *arg2 = 0 ;
+    gpstk::Exception *result;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_addText",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    {
+        gpstk::Exception &_result_ref = (arg1)->addText((std::string const &)*arg2);
+        result = (gpstk::Exception *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Exception, 0);
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getText__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    size_t *arg2 = 0 ;
+    std::string result;
+    size_t temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_getText",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (size_t)(SWIG_As_unsigned_SS_long(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    result = ((gpstk::Exception const *)arg1)->getText((size_t const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getText__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Exception_getText",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::Exception const *)arg1)->getText();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getText(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_Exception_getText__SWIG_1(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_Exception_getText__SWIG_0(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Exception_getText'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getTextCount(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Exception_getTextCount",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::Exception const *)arg1)->getTextCount();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Exception_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::Exception const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::Exception const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::Exception *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::Exception const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * Exception_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__Exception, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_InvalidParameter__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidParameter *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_InvalidParameter")) goto fail;
+    result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidParameter__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidParameter *arg1 = 0 ;
+    gpstk::InvalidParameter *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidParameter",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidParameter, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::InvalidParameter");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter((gpstk::InvalidParameter const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidParameter__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::InvalidParameter *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidParameter",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidParameter__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::InvalidParameter *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_InvalidParameter",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidParameter__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::InvalidParameter *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_InvalidParameter",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidParameter__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::InvalidParameter *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidParameter",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidParameter(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_InvalidParameter__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__InvalidParameter, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidParameter__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidParameter__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_InvalidParameter__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_InvalidParameter__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_InvalidParameter__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_InvalidParameter'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_InvalidParameter(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_InvalidParameter",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidParameter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_InvalidParameter_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:InvalidParameter_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidParameter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::InvalidParameter const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_InvalidParameter_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) 0 ;
+    gpstk::InvalidParameter *arg2 = 0 ;
+    gpstk::InvalidParameter *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:InvalidParameter_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidParameter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidParameter, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::InvalidParameter");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::InvalidParameter &_result_ref = (arg1)->operator =((gpstk::InvalidParameter const &)*arg2);
+        result = (gpstk::InvalidParameter *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidParameter, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::InvalidParameter *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidParameter, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::InvalidParameter");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidParameter const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * InvalidParameter_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__InvalidParameter, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_InvalidRequest__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidRequest *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_InvalidRequest")) goto fail;
+    result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidRequest__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidRequest *arg1 = 0 ;
+    gpstk::InvalidRequest *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidRequest",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidRequest, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::InvalidRequest");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest((gpstk::InvalidRequest const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidRequest__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::InvalidRequest *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidRequest",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidRequest__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::InvalidRequest *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_InvalidRequest",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidRequest__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::InvalidRequest *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_InvalidRequest",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidRequest__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::InvalidRequest *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidRequest",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidRequest(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_InvalidRequest__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__InvalidRequest, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidRequest__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidRequest__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_InvalidRequest__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_InvalidRequest__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_InvalidRequest__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_InvalidRequest'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_InvalidRequest(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_InvalidRequest",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidRequest, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_InvalidRequest_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:InvalidRequest_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidRequest, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::InvalidRequest const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_InvalidRequest_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) 0 ;
+    gpstk::InvalidRequest *arg2 = 0 ;
+    gpstk::InvalidRequest *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:InvalidRequest_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidRequest, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidRequest, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::InvalidRequest");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::InvalidRequest &_result_ref = (arg1)->operator =((gpstk::InvalidRequest const &)*arg2);
+        result = (gpstk::InvalidRequest *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidRequest, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::InvalidRequest *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidRequest, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::InvalidRequest");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidRequest const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * InvalidRequest_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__InvalidRequest, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_AssertionFailure__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AssertionFailure *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_AssertionFailure")) goto fail;
+    result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AssertionFailure__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AssertionFailure *arg1 = 0 ;
+    gpstk::AssertionFailure *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_AssertionFailure",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AssertionFailure, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::AssertionFailure");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure((gpstk::AssertionFailure const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AssertionFailure__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::AssertionFailure *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_AssertionFailure",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AssertionFailure__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::AssertionFailure *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_AssertionFailure",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AssertionFailure__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::AssertionFailure *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_AssertionFailure",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AssertionFailure__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::AssertionFailure *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_AssertionFailure",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AssertionFailure(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_AssertionFailure__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__AssertionFailure, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_AssertionFailure__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_AssertionFailure__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_AssertionFailure__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_AssertionFailure__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_AssertionFailure__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_AssertionFailure'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_AssertionFailure(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_AssertionFailure",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AssertionFailure, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AssertionFailure_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:AssertionFailure_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AssertionFailure, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::AssertionFailure const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AssertionFailure_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) 0 ;
+    gpstk::AssertionFailure *arg2 = 0 ;
+    gpstk::AssertionFailure *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:AssertionFailure_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AssertionFailure, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__AssertionFailure, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::AssertionFailure");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::AssertionFailure &_result_ref = (arg1)->operator =((gpstk::AssertionFailure const &)*arg2);
+        result = (gpstk::AssertionFailure *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AssertionFailure, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::AssertionFailure *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__AssertionFailure, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::AssertionFailure");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::AssertionFailure const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * AssertionFailure_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__AssertionFailure, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_AccessError__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AccessError *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_AccessError")) goto fail;
+    result = (gpstk::AccessError *)new gpstk::AccessError();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AccessError__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AccessError *arg1 = 0 ;
+    gpstk::AccessError *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_AccessError",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AccessError, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::AccessError");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::AccessError *)new gpstk::AccessError((gpstk::AccessError const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AccessError__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::AccessError *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_AccessError",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::AccessError *)new gpstk::AccessError((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AccessError__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::AccessError *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_AccessError",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::AccessError *)new gpstk::AccessError(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AccessError__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::AccessError *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_AccessError",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::AccessError *)new gpstk::AccessError(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AccessError__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::AccessError *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_AccessError",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::AccessError *)new gpstk::AccessError(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AccessError(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_AccessError__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__AccessError, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_AccessError__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_AccessError__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_AccessError__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_AccessError__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_AccessError__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_AccessError'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_AccessError(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AccessError *arg1 = (gpstk::AccessError *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_AccessError",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AccessError, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AccessError_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AccessError *arg1 = (gpstk::AccessError *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:AccessError_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AccessError, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::AccessError const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AccessError_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AccessError *arg1 = (gpstk::AccessError *) 0 ;
+    gpstk::AccessError *arg2 = 0 ;
+    gpstk::AccessError *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:AccessError_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AccessError, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__AccessError, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::AccessError");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::AccessError &_result_ref = (arg1)->operator =((gpstk::AccessError const &)*arg2);
+        result = (gpstk::AccessError *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AccessError, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::AccessError *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__AccessError, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::AccessError");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::AccessError const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * AccessError_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__AccessError, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_IndexOutOfBoundsException__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IndexOutOfBoundsException *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_IndexOutOfBoundsException")) goto fail;
+    result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_IndexOutOfBoundsException__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IndexOutOfBoundsException *arg1 = 0 ;
+    gpstk::IndexOutOfBoundsException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_IndexOutOfBoundsException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::IndexOutOfBoundsException");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException((gpstk::IndexOutOfBoundsException const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_IndexOutOfBoundsException__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::IndexOutOfBoundsException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_IndexOutOfBoundsException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_IndexOutOfBoundsException__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::IndexOutOfBoundsException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_IndexOutOfBoundsException",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_IndexOutOfBoundsException__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::IndexOutOfBoundsException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_IndexOutOfBoundsException",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_IndexOutOfBoundsException__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::IndexOutOfBoundsException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_IndexOutOfBoundsException",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_IndexOutOfBoundsException(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_IndexOutOfBoundsException__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_IndexOutOfBoundsException__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_IndexOutOfBoundsException__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_IndexOutOfBoundsException__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_IndexOutOfBoundsException__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_IndexOutOfBoundsException__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_IndexOutOfBoundsException'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_IndexOutOfBoundsException(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_IndexOutOfBoundsException",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_IndexOutOfBoundsException_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:IndexOutOfBoundsException_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::IndexOutOfBoundsException const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_IndexOutOfBoundsException_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) 0 ;
+    gpstk::IndexOutOfBoundsException *arg2 = 0 ;
+    gpstk::IndexOutOfBoundsException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:IndexOutOfBoundsException_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::IndexOutOfBoundsException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::IndexOutOfBoundsException &_result_ref = (arg1)->operator =((gpstk::IndexOutOfBoundsException const &)*arg2);
+        result = (gpstk::IndexOutOfBoundsException *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_6(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::IndexOutOfBoundsException *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::IndexOutOfBoundsException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::IndexOutOfBoundsException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * IndexOutOfBoundsException_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__IndexOutOfBoundsException, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_InvalidArgumentException__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidArgumentException *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_InvalidArgumentException")) goto fail;
+    result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidArgumentException__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidArgumentException *arg1 = 0 ;
+    gpstk::InvalidArgumentException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidArgumentException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidArgumentException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::InvalidArgumentException");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException((gpstk::InvalidArgumentException const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidArgumentException__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::InvalidArgumentException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidArgumentException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidArgumentException__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::InvalidArgumentException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_InvalidArgumentException",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidArgumentException__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::InvalidArgumentException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_InvalidArgumentException",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidArgumentException__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::InvalidArgumentException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidArgumentException",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidArgumentException(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_InvalidArgumentException__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__InvalidArgumentException, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidArgumentException__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidArgumentException__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_InvalidArgumentException__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_InvalidArgumentException__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_InvalidArgumentException__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_InvalidArgumentException'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_InvalidArgumentException(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_InvalidArgumentException",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidArgumentException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_InvalidArgumentException_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:InvalidArgumentException_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidArgumentException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::InvalidArgumentException const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_InvalidArgumentException_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) 0 ;
+    gpstk::InvalidArgumentException *arg2 = 0 ;
+    gpstk::InvalidArgumentException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:InvalidArgumentException_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidArgumentException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidArgumentException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::InvalidArgumentException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::InvalidArgumentException &_result_ref = (arg1)->operator =((gpstk::InvalidArgumentException const &)*arg2);
+        result = (gpstk::InvalidArgumentException *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidArgumentException, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_7(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::InvalidArgumentException *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidArgumentException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::InvalidArgumentException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidArgumentException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * InvalidArgumentException_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__InvalidArgumentException, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ConfigurationException__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ConfigurationException *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_ConfigurationException")) goto fail;
+    result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ConfigurationException__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ConfigurationException *arg1 = 0 ;
+    gpstk::ConfigurationException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_ConfigurationException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ConfigurationException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::ConfigurationException");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException((gpstk::ConfigurationException const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ConfigurationException__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::ConfigurationException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_ConfigurationException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ConfigurationException__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::ConfigurationException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_ConfigurationException",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ConfigurationException__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::ConfigurationException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_ConfigurationException",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ConfigurationException__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::ConfigurationException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_ConfigurationException",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ConfigurationException(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_ConfigurationException__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ConfigurationException, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_ConfigurationException__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_ConfigurationException__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_ConfigurationException__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_ConfigurationException__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_ConfigurationException__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_ConfigurationException'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ConfigurationException(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ConfigurationException",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ConfigurationException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ConfigurationException_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ConfigurationException_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ConfigurationException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::ConfigurationException const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ConfigurationException_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) 0 ;
+    gpstk::ConfigurationException *arg2 = 0 ;
+    gpstk::ConfigurationException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ConfigurationException_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ConfigurationException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ConfigurationException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ConfigurationException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::ConfigurationException &_result_ref = (arg1)->operator =((gpstk::ConfigurationException const &)*arg2);
+        result = (gpstk::ConfigurationException *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ConfigurationException, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_8(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::ConfigurationException *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ConfigurationException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ConfigurationException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::ConfigurationException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ConfigurationException_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__ConfigurationException, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FileMissingException__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileMissingException *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_FileMissingException")) goto fail;
+    result = (gpstk::FileMissingException *)new gpstk::FileMissingException();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileMissingException__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileMissingException *arg1 = 0 ;
+    gpstk::FileMissingException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FileMissingException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileMissingException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::FileMissingException");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::FileMissingException *)new gpstk::FileMissingException((gpstk::FileMissingException const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileMissingException__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::FileMissingException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FileMissingException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::FileMissingException *)new gpstk::FileMissingException((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileMissingException__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::FileMissingException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_FileMissingException",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::FileMissingException *)new gpstk::FileMissingException(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileMissingException__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::FileMissingException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_FileMissingException",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::FileMissingException *)new gpstk::FileMissingException(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileMissingException__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::FileMissingException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FileMissingException",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::FileMissingException *)new gpstk::FileMissingException(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileMissingException(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_FileMissingException__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileMissingException, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_FileMissingException__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_FileMissingException__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_FileMissingException__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_FileMissingException__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_FileMissingException__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FileMissingException'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_FileMissingException(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FileMissingException",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileMissingException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileMissingException_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FileMissingException_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileMissingException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::FileMissingException const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileMissingException_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) 0 ;
+    gpstk::FileMissingException *arg2 = 0 ;
+    gpstk::FileMissingException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FileMissingException_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileMissingException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FileMissingException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::FileMissingException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::FileMissingException &_result_ref = (arg1)->operator =((gpstk::FileMissingException const &)*arg2);
+        result = (gpstk::FileMissingException *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileMissingException, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_9(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::FileMissingException *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FileMissingException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::FileMissingException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::FileMissingException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * FileMissingException_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__FileMissingException, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SystemSemaphoreException__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemSemaphoreException *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_SystemSemaphoreException")) goto fail;
+    result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemSemaphoreException__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemSemaphoreException *arg1 = 0 ;
+    gpstk::SystemSemaphoreException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_SystemSemaphoreException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::SystemSemaphoreException");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException((gpstk::SystemSemaphoreException const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemSemaphoreException__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::SystemSemaphoreException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_SystemSemaphoreException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemSemaphoreException__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::SystemSemaphoreException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_SystemSemaphoreException",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemSemaphoreException__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::SystemSemaphoreException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_SystemSemaphoreException",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemSemaphoreException__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::SystemSemaphoreException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_SystemSemaphoreException",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemSemaphoreException(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_SystemSemaphoreException__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SystemSemaphoreException, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_SystemSemaphoreException__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_SystemSemaphoreException__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_SystemSemaphoreException__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_SystemSemaphoreException__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_SystemSemaphoreException__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SystemSemaphoreException'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_SystemSemaphoreException(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_SystemSemaphoreException",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SystemSemaphoreException_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SystemSemaphoreException_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::SystemSemaphoreException const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SystemSemaphoreException_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) 0 ;
+    gpstk::SystemSemaphoreException *arg2 = 0 ;
+    gpstk::SystemSemaphoreException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SystemSemaphoreException_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SystemSemaphoreException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::SystemSemaphoreException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::SystemSemaphoreException &_result_ref = (arg1)->operator =((gpstk::SystemSemaphoreException const &)*arg2);
+        result = (gpstk::SystemSemaphoreException *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemSemaphoreException, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_10(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::SystemSemaphoreException *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SystemSemaphoreException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::SystemSemaphoreException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::SystemSemaphoreException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SystemSemaphoreException_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__SystemSemaphoreException, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SystemPipeException__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemPipeException *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_SystemPipeException")) goto fail;
+    result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemPipeException__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemPipeException *arg1 = 0 ;
+    gpstk::SystemPipeException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_SystemPipeException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemPipeException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::SystemPipeException");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException((gpstk::SystemPipeException const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemPipeException__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::SystemPipeException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_SystemPipeException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemPipeException__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::SystemPipeException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_SystemPipeException",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemPipeException__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::SystemPipeException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_SystemPipeException",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemPipeException__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::SystemPipeException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_SystemPipeException",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemPipeException(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_SystemPipeException__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SystemPipeException, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_SystemPipeException__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_SystemPipeException__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_SystemPipeException__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_SystemPipeException__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_SystemPipeException__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SystemPipeException'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_SystemPipeException(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_SystemPipeException",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemPipeException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SystemPipeException_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SystemPipeException_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemPipeException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::SystemPipeException const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SystemPipeException_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) 0 ;
+    gpstk::SystemPipeException *arg2 = 0 ;
+    gpstk::SystemPipeException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SystemPipeException_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemPipeException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SystemPipeException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::SystemPipeException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::SystemPipeException &_result_ref = (arg1)->operator =((gpstk::SystemPipeException const &)*arg2);
+        result = (gpstk::SystemPipeException *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemPipeException, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_11(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::SystemPipeException *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SystemPipeException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::SystemPipeException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::SystemPipeException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SystemPipeException_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__SystemPipeException, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SystemQueueException__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemQueueException *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_SystemQueueException")) goto fail;
+    result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemQueueException__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemQueueException *arg1 = 0 ;
+    gpstk::SystemQueueException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_SystemQueueException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemQueueException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::SystemQueueException");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException((gpstk::SystemQueueException const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemQueueException__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::SystemQueueException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_SystemQueueException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemQueueException__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::SystemQueueException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_SystemQueueException",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemQueueException__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::SystemQueueException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_SystemQueueException",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemQueueException__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::SystemQueueException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_SystemQueueException",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SystemQueueException(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_SystemQueueException__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SystemQueueException, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_SystemQueueException__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_SystemQueueException__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_SystemQueueException__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_SystemQueueException__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_SystemQueueException__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SystemQueueException'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_SystemQueueException(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_SystemQueueException",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemQueueException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SystemQueueException_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SystemQueueException_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemQueueException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::SystemQueueException const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SystemQueueException_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) 0 ;
+    gpstk::SystemQueueException *arg2 = 0 ;
+    gpstk::SystemQueueException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SystemQueueException_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SystemQueueException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SystemQueueException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::SystemQueueException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::SystemQueueException &_result_ref = (arg1)->operator =((gpstk::SystemQueueException const &)*arg2);
+        result = (gpstk::SystemQueueException *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SystemQueueException, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_12(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::SystemQueueException *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SystemQueueException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::SystemQueueException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::SystemQueueException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SystemQueueException_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__SystemQueueException, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_OutOfMemory__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::OutOfMemory *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_OutOfMemory")) goto fail;
+    result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_OutOfMemory__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::OutOfMemory *arg1 = 0 ;
+    gpstk::OutOfMemory *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_OutOfMemory",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__OutOfMemory, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::OutOfMemory");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory((gpstk::OutOfMemory const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_OutOfMemory__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::OutOfMemory *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_OutOfMemory",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_OutOfMemory__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::OutOfMemory *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_OutOfMemory",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_OutOfMemory__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::OutOfMemory *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_OutOfMemory",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_OutOfMemory__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::OutOfMemory *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_OutOfMemory",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_OutOfMemory(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_OutOfMemory__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__OutOfMemory, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_OutOfMemory__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_OutOfMemory__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_OutOfMemory__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_OutOfMemory__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_OutOfMemory__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_OutOfMemory'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_OutOfMemory(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_OutOfMemory",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__OutOfMemory, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OutOfMemory_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:OutOfMemory_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__OutOfMemory, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::OutOfMemory const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_OutOfMemory_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) 0 ;
+    gpstk::OutOfMemory *arg2 = 0 ;
+    gpstk::OutOfMemory *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:OutOfMemory_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__OutOfMemory, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__OutOfMemory, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::OutOfMemory");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::OutOfMemory &_result_ref = (arg1)->operator =((gpstk::OutOfMemory const &)*arg2);
+        result = (gpstk::OutOfMemory *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__OutOfMemory, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_13(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::OutOfMemory *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__OutOfMemory, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::OutOfMemory");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::OutOfMemory const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * OutOfMemory_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__OutOfMemory, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ObjectNotFound__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObjectNotFound *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_ObjectNotFound")) goto fail;
+    result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObjectNotFound__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObjectNotFound *arg1 = 0 ;
+    gpstk::ObjectNotFound *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_ObjectNotFound",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObjectNotFound, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::ObjectNotFound");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound((gpstk::ObjectNotFound const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObjectNotFound__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::ObjectNotFound *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_ObjectNotFound",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObjectNotFound__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::ObjectNotFound *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_ObjectNotFound",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObjectNotFound__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::ObjectNotFound *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_ObjectNotFound",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObjectNotFound__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::ObjectNotFound *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_ObjectNotFound",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObjectNotFound(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_ObjectNotFound__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObjectNotFound, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_ObjectNotFound__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_ObjectNotFound__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_ObjectNotFound__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_ObjectNotFound__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_ObjectNotFound__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_ObjectNotFound'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ObjectNotFound(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ObjectNotFound",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObjectNotFound, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObjectNotFound_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObjectNotFound_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObjectNotFound, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::ObjectNotFound const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObjectNotFound_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) 0 ;
+    gpstk::ObjectNotFound *arg2 = 0 ;
+    gpstk::ObjectNotFound *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObjectNotFound_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObjectNotFound, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObjectNotFound, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ObjectNotFound");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::ObjectNotFound &_result_ref = (arg1)->operator =((gpstk::ObjectNotFound const &)*arg2);
+        result = (gpstk::ObjectNotFound *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObjectNotFound, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead__SWIG_14(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::ObjectNotFound *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Exception_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObjectNotFound, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ObjectNotFound");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::ObjectNotFound const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Exception_streamRead(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ExceptionLocation, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__InvalidParameter, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__InvalidRequest, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_3(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__AssertionFailure, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ObjectNotFound, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_14(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_6(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__InvalidArgumentException, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_7(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ConfigurationException, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_8(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__FileMissingException, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_9(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__SystemSemaphoreException, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_10(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__SystemPipeException, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_11(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__SystemQueueException, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_12(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__OutOfMemory, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_13(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__AccessError, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_5(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_streamRead__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Exception_streamRead'");
+    return NULL;
+}
+
+
+static PyObject * ObjectNotFound_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__ObjectNotFound, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_InvalidValue__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidValue *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_InvalidValue")) goto fail;
+    result = (gpstk::InvalidValue *)new gpstk::InvalidValue();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidValue__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidValue *arg1 = 0 ;
+    gpstk::InvalidValue *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidValue",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidValue, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::InvalidValue");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::InvalidValue *)new gpstk::InvalidValue((gpstk::InvalidValue const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidValue__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::InvalidValue *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidValue",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::InvalidValue *)new gpstk::InvalidValue((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidValue__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::InvalidValue *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_InvalidValue",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::InvalidValue *)new gpstk::InvalidValue(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidValue__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::InvalidValue *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_InvalidValue",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::InvalidValue *)new gpstk::InvalidValue(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidValue__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::InvalidValue *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_InvalidValue",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::InvalidValue *)new gpstk::InvalidValue(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_InvalidValue(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_InvalidValue__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__InvalidValue, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidValue__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidValue__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_InvalidValue__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_InvalidValue__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_InvalidValue__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_InvalidValue'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_InvalidValue(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidValue *arg1 = (gpstk::InvalidValue *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_InvalidValue",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidValue, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_InvalidValue_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidValue *arg1 = (gpstk::InvalidValue *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:InvalidValue_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidValue, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::InvalidValue const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_InvalidValue_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::InvalidValue *arg1 = (gpstk::InvalidValue *) 0 ;
+    gpstk::InvalidValue *arg2 = 0 ;
+    gpstk::InvalidValue *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:InvalidValue_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__InvalidValue, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidValue, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::InvalidValue");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::InvalidValue &_result_ref = (arg1)->operator =((gpstk::InvalidValue const &)*arg2);
+        result = (gpstk::InvalidValue *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__InvalidValue, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::InvalidValue *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__InvalidValue, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::InvalidValue");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidValue const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * InvalidValue_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__InvalidValue, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_X1Sequence(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::X1Sequence *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_X1Sequence")) goto fail;
+    result = (gpstk::X1Sequence *)new gpstk::X1Sequence();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__X1Sequence, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_X1Sequence(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::X1Sequence *arg1 = (gpstk::X1Sequence *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_X1Sequence",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__X1Sequence, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_X1Sequence_allocateMemory(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    
+    if(!PyArg_ParseTuple(args,(char *)":X1Sequence_allocateMemory")) goto fail;
+    gpstk::X1Sequence::allocateMemory();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_X1Sequence_deAllocateMemory(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    
+    if(!PyArg_ParseTuple(args,(char *)":X1Sequence_deAllocateMemory")) goto fail;
+    gpstk::X1Sequence::deAllocateMemory();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_X1Sequence_class_operator_bracket__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::X1Sequence *arg1 = (gpstk::X1Sequence *) 0 ;
+    int arg2 ;
+    unsigned long *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:X1Sequence_class_operator_bracket",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__X1Sequence, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        unsigned long &_result_ref = (arg1)->operator [](arg2);
+        result = (unsigned long *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_unsigned_long, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_X1Sequence_class_operator_bracket__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::X1Sequence *arg1 = (gpstk::X1Sequence *) 0 ;
+    int arg2 ;
+    unsigned long *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:X1Sequence_class_operator_bracket",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__X1Sequence, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        unsigned long const &_result_ref = ((gpstk::X1Sequence const *)arg1)->operator [](arg2);
+        result = (unsigned long *) &_result_ref;
+    }
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(*result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_X1Sequence_class_operator_bracket(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__X1Sequence, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_X1Sequence_class_operator_bracket__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__X1Sequence, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_X1Sequence_class_operator_bracket__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'X1Sequence_class_operator_bracket'");
+    return NULL;
+}
+
+
+static PyObject * X1Sequence_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__X1Sequence, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static int _wrap_LENGTH_OF_EOW_OVERLAP_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable LENGTH_OF_EOW_OVERLAP is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_LENGTH_OF_EOW_OVERLAP_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::LENGTH_OF_EOW_OVERLAP)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_OVERLAP_WORD_POSITION_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable OVERLAP_WORD_POSITION is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_OVERLAP_WORD_POSITION_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::OVERLAP_WORD_POSITION)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_MAX_X2_TEST_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable MAX_X2_TEST is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_MAX_X2_TEST_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::MAX_X2_TEST)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_MAX_X2_COUNT_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable MAX_X2_COUNT is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_MAX_X2_COUNT_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::MAX_X2_COUNT)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject *_wrap_new_X2Sequence(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::X2Sequence *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_X2Sequence")) goto fail;
+    result = (gpstk::X2Sequence *)new gpstk::X2Sequence();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__X2Sequence, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_X2Sequence(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::X2Sequence *arg1 = (gpstk::X2Sequence *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_X2Sequence",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__X2Sequence, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_X2Sequence_allocateMemory(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    
+    if(!PyArg_ParseTuple(args,(char *)":X2Sequence_allocateMemory")) goto fail;
+    gpstk::X2Sequence::allocateMemory();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_X2Sequence_deAllocateMemory(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    
+    if(!PyArg_ParseTuple(args,(char *)":X2Sequence_deAllocateMemory")) goto fail;
+    gpstk::X2Sequence::deAllocateMemory();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_X2Sequence_class_operator_bracket(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::X2Sequence *arg1 = (gpstk::X2Sequence *) 0 ;
+    long arg2 ;
+    unsigned long result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:X2Sequence_class_operator_bracket",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__X2Sequence, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (unsigned long)(arg1)->operator [](arg2);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_X2Sequence_setEOWX2Epoch(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::X2Sequence *arg1 = (gpstk::X2Sequence *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:X2Sequence_setEOWX2Epoch",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__X2Sequence, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (bool const)(SWIG_As_bool(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->setEOWX2Epoch(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * X2Sequence_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__X2Sequence, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_CodeBuffer(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    int arg1 ;
+    gpstk::CodeBuffer *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_CodeBuffer",&obj0)) goto fail;
+    {
+        arg1 = (int const)(SWIG_As_int(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::CodeBuffer *)new gpstk::CodeBuffer(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__CodeBuffer, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_CodeBuffer(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_CodeBuffer",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+    gpstk::CodeBuffer *arg2 = 0 ;
+    gpstk::CodeBuffer *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CodeBuffer_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::CodeBuffer");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::CodeBuffer &_result_ref = (arg1)->operator =((gpstk::CodeBuffer const &)*arg2);
+        result = (gpstk::CodeBuffer *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__CodeBuffer, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_updateBufferStatus__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    codeType arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:CodeBuffer_updateBufferStatus",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        codeType * argp;
+        SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_codeType, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("codeType");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *argp;
+    }
+    (arg1)->updateBufferStatus((gpstk::DayTime const &)*arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_updateBufferStatus__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+    codeType arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CodeBuffer_updateBufferStatus",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        codeType * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_codeType, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("codeType");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    (arg1)->updateBufferStatus(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_updateBufferStatus(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__CodeBuffer, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_codeType, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_CodeBuffer_updateBufferStatus__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__CodeBuffer, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_codeType, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    return _wrap_CodeBuffer_updateBufferStatus__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'CodeBuffer_updateBufferStatus'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_getCurrentTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:CodeBuffer_getCurrentTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        gpstk::DayTime const &_result_ref = (arg1)->getCurrentTime();
+        result = (gpstk::DayTime *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_getPYFlag(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+    codeType result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:CodeBuffer_getPYFlag",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (arg1)->getPYFlag();
+    
+    {
+        codeType * resultptr;
+        resultptr = new codeType((codeType &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_codeType, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_getPRNID(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:CodeBuffer_getPRNID",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int)(arg1)->getPRNID();
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_class_operator_bracket(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+    int arg2 ;
+    unsigned long *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CodeBuffer_class_operator_bracket",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        unsigned long &_result_ref = (arg1)->operator [](arg2);
+        result = (unsigned long *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_unsigned_long, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_operator_bracket_const(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+    int arg2 ;
+    unsigned long *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CodeBuffer_operator_bracket_const",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int const)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        unsigned long const &_result_ref = ((gpstk::CodeBuffer const *)arg1)->operator [](arg2);
+        result = (unsigned long *) &_result_ref;
+    }
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(*result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer_getBit(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+    long arg2 ;
+    unsigned long result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CodeBuffer_getBit",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long const)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (unsigned long)(arg1)->getBit(arg2);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CodeBuffer___ixor__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CodeBuffer *arg1 = (gpstk::CodeBuffer *) 0 ;
+    gpstk::CodeBuffer *arg2 = 0 ;
+    gpstk::CodeBuffer *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CodeBuffer___ixor__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::CodeBuffer");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::CodeBuffer &_result_ref = (arg1)->operator ^=((gpstk::CodeBuffer const &)*arg2);
+        result = (gpstk::CodeBuffer *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__CodeBuffer, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * CodeBuffer_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__CodeBuffer, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SatID__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SatID *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_SatID")) goto fail;
+    result = (gpstk::SatID *)new gpstk::SatID();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SatID, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SatID__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    int arg1 ;
+    gpstk::SatID::System arg2 ;
+    gpstk::SatID *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_SatID",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (int)(SWIG_As_int(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (gpstk::SatID::System)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::SatID *)new gpstk::SatID(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SatID, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SatID(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_SatID__SWIG_0(self,args);
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_int(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_new_SatID__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SatID'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_SatID_setfill(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+    char arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SatID_setfill",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (char)(SWIG_As_char(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->setfill(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SatID_getfill(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+    char result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SatID_getfill",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (char)(arg1)->getfill();
+    
+    {
+        resultobj = SWIG_From_char((char)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SatID_systemCode(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+    char result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SatID_systemCode",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (char)((gpstk::SatID const *)arg1)->systemCode();
+    
+    {
+        resultobj = SWIG_From_char((char)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SatID___eq__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+    gpstk::SatID *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SatID___eq__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::SatID");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::SatID const *)arg1)->operator ==((gpstk::SatID const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SatID___ne__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+    gpstk::SatID *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SatID___ne__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::SatID");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::SatID const *)arg1)->operator !=((gpstk::SatID const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SatID___lt__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+    gpstk::SatID *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SatID___lt__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::SatID");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::SatID const *)arg1)->operator <((gpstk::SatID const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SatID_id_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SatID_id_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->id = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SatID_id_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SatID_id_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int) ((arg1)->id);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SatID_system_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+    gpstk::SatID::System arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SatID_system_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::SatID::System)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->system = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SatID_system_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+    gpstk::SatID::System result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SatID_system_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::SatID::System) ((arg1)->system);
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static int _wrap_SatID_fillchar_set(PyObject *_val) {
+    {
+        char temp = (char)(SWIG_As_char(_val));
+        if (PyErr_Occurred()) {
+            SWIG_append_errmsg("C/C++ variable 'gpstk::SatID::fillchar (char)'");
+            return 1;
+        }
+        gpstk::SatID::fillchar = temp;
+    }
+    return 0;
+}
+
+
+static PyObject *_wrap_SatID_fillchar_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_char((char)(gpstk::SatID::fillchar)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject *_wrap_delete_SatID(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SatID *arg1 = (gpstk::SatID *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_SatID",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SatID_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__SatID, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap___lshift____SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::SatID *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__lshift__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::SatID");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = gpstk::operator <<(*arg1,(gpstk::SatID const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___rshift____SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::istream *arg1 = 0 ;
+    gpstk::SatID *arg2 = 0 ;
+    std::istream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__rshift__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::istream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__SatID, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::SatID");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::istream &_result_ref = gpstk::operator >>(*arg1,*arg2);
+        result = (std::istream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static int _wrap_MAX_WORD_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable MAX_WORD is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_MAX_WORD_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((int)(gpstk::MAX_WORD)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject *_wrap_new_GenXSequence(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    unsigned int arg1 ;
+    unsigned int arg2 ;
+    int arg3 ;
+    int arg4 ;
+    gpstk::GenXSequence *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:new_GenXSequence",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        arg1 = (unsigned int const)(SWIG_As_unsigned_SS_int(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (unsigned int const)(SWIG_As_unsigned_SS_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (int const)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (int const)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    result = (gpstk::GenXSequence *)new gpstk::GenXSequence(arg1,arg2,arg3,arg4);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GenXSequence, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_GenXSequence(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GenXSequence *arg1 = (gpstk::GenXSequence *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_GenXSequence",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GenXSequence, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GenXSequence_class_operator_bracket(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GenXSequence *arg1 = (gpstk::GenXSequence *) 0 ;
+    int arg2 ;
+    unsigned long result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GenXSequence_class_operator_bracket",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GenXSequence, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (unsigned long)(arg1)->operator [](arg2);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GenXSequence_setLengthOfSequence(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GenXSequence *arg1 = (gpstk::GenXSequence *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GenXSequence_setLengthOfSequence",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GenXSequence, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->setLengthOfSequence(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * GenXSequence_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__GenXSequence, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SVPCodeGen(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    int arg1 ;
+    gpstk::DayTime *arg2 = 0 ;
+    gpstk::SVPCodeGen *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_SVPCodeGen",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (int const)(SWIG_As_int(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::SVPCodeGen *)new gpstk::SVPCodeGen(arg1,(gpstk::DayTime const &)*arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SVPCodeGen, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_SVPCodeGen(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SVPCodeGen *arg1 = (gpstk::SVPCodeGen *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_SVPCodeGen",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SVPCodeGen, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SVPCodeGen_getCurrentSixSeconds(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SVPCodeGen *arg1 = (gpstk::SVPCodeGen *) 0 ;
+    gpstk::CodeBuffer *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SVPCodeGen_getCurrentSixSeconds",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SVPCodeGen, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__CodeBuffer, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::CodeBuffer");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->getCurrentSixSeconds(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SVPCodeGen_increment4ZCounts(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SVPCodeGen *arg1 = (gpstk::SVPCodeGen *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SVPCodeGen_increment4ZCounts",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SVPCodeGen, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->increment4ZCounts();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SVPCodeGen_getCurrentZCount(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SVPCodeGen *arg1 = (gpstk::SVPCodeGen *) 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SVPCodeGen_getCurrentZCount",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SVPCodeGen, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        gpstk::DayTime const &_result_ref = (arg1)->getCurrentZCount();
+        result = (gpstk::DayTime *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SVPCodeGen_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__SVPCodeGen, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Observation(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_Observation")) goto fail;
+    result = (gpstk::Observation *)new gpstk::Observation();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Observation, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_range_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Observation_range_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->range = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_range_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Observation_range_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->range);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_phase_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Observation_phase_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->phase = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_phase_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Observation_phase_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->phase);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_doppler_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Observation_doppler_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->doppler = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_doppler_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Observation_doppler_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->doppler);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_SNR_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    float arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Observation_SNR_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (float)(SWIG_As_float(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->SNR = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_SNR_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    float result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Observation_SNR_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (float) ((arg1)->SNR);
+    
+    {
+        resultobj = SWIG_From_float((float)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_channel_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Observation_channel_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->channel = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_channel_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Observation_channel_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->channel);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_code_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    gpstk::Observation::RangingCode arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Observation_code_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::Observation::RangingCode)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->code = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_code_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    gpstk::Observation::RangingCode result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Observation_code_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::Observation::RangingCode) ((arg1)->code);
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_carrier_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    gpstk::Observation::CarrierFrequency arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Observation_carrier_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::Observation::CarrierFrequency)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->carrier = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Observation_carrier_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    gpstk::Observation::CarrierFrequency result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Observation_carrier_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::Observation::CarrierFrequency) ((arg1)->carrier);
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::Observation *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Observation");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::Observation const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_Observation(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Observation *arg1 = (gpstk::Observation *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_Observation",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * Observation_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__Observation, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ObservationPlus_obs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+    gpstk::Observation *arg2 = (gpstk::Observation *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObservationPlus_obs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->obs = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_obs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+    gpstk::Observation *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObservationPlus_obs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::Observation *)& ((arg1)->obs);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Observation, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_time_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObservationPlus_time_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->time = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_time_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObservationPlus_time_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->time);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_rxId_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObservationPlus_rxId_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->rxId = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_rxId_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObservationPlus_rxId_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned int) ((arg1)->rxId);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_svId_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObservationPlus_svId_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->svId = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObservationPlus_svId_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObservationPlus_svId_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->svId);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObservationPlus(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObservationPlus *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_ObservationPlus")) goto fail;
+    result = (gpstk::ObservationPlus *)new gpstk::ObservationPlus();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObservationPlus, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ObservationPlus(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObservationPlus *arg1 = (gpstk::ObservationPlus *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ObservationPlus",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ObservationPlus_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__ObservationPlus, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ObsEpoch(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsEpoch *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_ObsEpoch")) goto fail;
+    result = (gpstk::ObsEpoch *)new gpstk::ObsEpoch();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsEpoch, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_insertObservation__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+    gpstk::ObservationPlus *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsEpoch_insertObservation",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ObservationPlus");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->insertObservation((gpstk::ObservationPlus const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_insertObservation__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+    gpstk::Observation *arg2 = 0 ;
+    short arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:ObsEpoch_insertObservation",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Observation");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short const)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    (arg1)->insertObservation((gpstk::Observation const &)*arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_insertObservation(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObsEpoch, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ObservationPlus, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_ObsEpoch_insertObservation__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObsEpoch, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Observation, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    return _wrap_ObsEpoch_insertObservation__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ObsEpoch_insertObservation'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_t_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsEpoch_t_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->t = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_t_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsEpoch_t_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->t);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_dt_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsEpoch_dt_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->dt = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_dt_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsEpoch_dt_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->dt);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_obs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+    gpstk::ObsMap *arg2 = (gpstk::ObsMap *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsEpoch_obs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->obs = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsEpoch_obs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+    gpstk::ObsMap *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsEpoch_obs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::ObsMap *)& ((arg1)->obs);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::ObsEpoch *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ObsEpoch");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::ObsEpoch const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ObsEpoch(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsEpoch *arg1 = (gpstk::ObsEpoch *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ObsEpoch",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ObsEpoch_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__ObsEpoch, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RxObsData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RxObsData")) goto fail;
+    result = (gpstk::RxObsData *)new gpstk::RxObsData();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RxObsData, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_insertObservation__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    gpstk::ObservationPlus *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_insertObservation",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObservationPlus, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ObservationPlus");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->insertObservation((gpstk::ObservationPlus const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_insertObservation__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    gpstk::Observation *arg2 = 0 ;
+    DayTime *arg3 = 0 ;
+    short arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:RxObsData_insertObservation",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Observation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Observation");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short const)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    (arg1)->insertObservation((gpstk::Observation const &)*arg2,(DayTime const &)*arg3,arg4);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_insertObservation(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RxObsData, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ObservationPlus, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_RxObsData_insertObservation__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RxObsData, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Observation, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    _v = SWIG_Check_short(argv[3]);
+                    if (_v) {
+                        return _wrap_RxObsData_insertObservation__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RxObsData_insertObservation'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_insertEpoch(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    gpstk::ObsEpoch *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_insertEpoch",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObsEpoch, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ObsEpoch");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->insertEpoch((gpstk::ObsEpoch const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_firstTime_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_firstTime_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->firstTime = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_firstTime_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RxObsData_firstTime_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->firstTime);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_lastTime_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_lastTime_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->lastTime = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_lastTime_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RxObsData_lastTime_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->lastTime);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_rxId_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_rxId_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->rxId = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_rxId_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RxObsData_rxId_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned int) ((arg1)->rxId);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_prnList_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    std::set<short > arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_prnList_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::set<short > * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__setTshort_t, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::set<short >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    if (arg1) (arg1)->prnList = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_prnList_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    std::set<short > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RxObsData_prnList_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result =  ((arg1)->prnList);
+    
+    {
+        std::set<short > * resultptr;
+        resultptr = new std::set<short >((std::set<short > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__setTshort_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_epochs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    gpstk::ObsEpochMap *arg2 = (gpstk::ObsEpochMap *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RxObsData_epochs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->epochs = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RxObsData_epochs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    gpstk::ObsEpochMap *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RxObsData_epochs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::ObsEpochMap *)& ((arg1)->epochs);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::RxObsData *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::RxObsData");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::RxObsData const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RxObsData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RxObsData *arg1 = (gpstk::RxObsData *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RxObsData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RxObsData_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RxObsData, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_WxObservation__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_WxObservation")) goto fail;
+    result = (gpstk::WxObservation *)new gpstk::WxObservation();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WxObservation, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WxObservation__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    DayTime *arg1 = 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    gpstk::WxObservation *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:new_WxObservation",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    result = (gpstk::WxObservation *)new gpstk::WxObservation((DayTime const &)*arg1,arg2,arg3,arg4);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WxObservation, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WxObservation(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_WxObservation__SWIG_0(self,args);
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        return _wrap_new_WxObservation__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_WxObservation'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_t_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_t_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->t = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_t_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_t_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->t);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_temperature_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    float arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_temperature_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (float)(SWIG_As_float(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->temperature = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_temperature_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    float result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_temperature_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (float) ((arg1)->temperature);
+    
+    {
+        resultobj = SWIG_From_float((float)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_pressure_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    float arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_pressure_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (float)(SWIG_As_float(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->pressure = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_pressure_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    float result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_pressure_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (float) ((arg1)->pressure);
+    
+    {
+        resultobj = SWIG_From_float((float)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_humidity_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    float arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_humidity_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (float)(SWIG_As_float(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->humidity = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_humidity_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    float result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_humidity_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (float) ((arg1)->humidity);
+    
+    {
+        resultobj = SWIG_From_float((float)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_temperatureSource_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    enum gpstk::WxObservation::EWxSrc arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_temperatureSource_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (enum gpstk::WxObservation::EWxSrc)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->temperatureSource = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_temperatureSource_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    enum gpstk::WxObservation::EWxSrc result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_temperatureSource_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (enum gpstk::WxObservation::EWxSrc) ((arg1)->temperatureSource);
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_pressureSource_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    enum gpstk::WxObservation::EWxSrc arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_pressureSource_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (enum gpstk::WxObservation::EWxSrc)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->pressureSource = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_pressureSource_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    enum gpstk::WxObservation::EWxSrc result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_pressureSource_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (enum gpstk::WxObservation::EWxSrc) ((arg1)->pressureSource);
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_humiditySource_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    enum gpstk::WxObservation::EWxSrc arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObservation_humiditySource_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (enum gpstk::WxObservation::EWxSrc)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->humiditySource = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_humiditySource_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    enum gpstk::WxObservation::EWxSrc result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_humiditySource_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (enum gpstk::WxObservation::EWxSrc) ((arg1)->humiditySource);
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObservation_isAllValid(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WxObservation_isAllValid",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::WxObservation const *)arg1)->isAllValid();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::WxObservation *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::WxObservation");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::WxObservation const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_WxObservation(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = (gpstk::WxObservation *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_WxObservation",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * WxObservation_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__WxObservation, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_WxObsData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_WxObsData")) goto fail;
+    result = (gpstk::WxObsData *)new gpstk::WxObsData();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WxObsData, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_firstTime_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_firstTime_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->firstTime = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_firstTime_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WxObsData_firstTime_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->firstTime);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_lastTime_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_lastTime_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->lastTime = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_lastTime_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WxObsData_lastTime_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->lastTime);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_rxId_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_rxId_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->rxId = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_rxId_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WxObsData_rxId_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned int) ((arg1)->rxId);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_obs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    gpstk::WxObsMap *arg2 = (gpstk::WxObsMap *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_obs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->obs = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_obs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    gpstk::WxObsMap *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WxObsData_obs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::WxObsMap *)& ((arg1)->obs);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_getMostRecent(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    DayTime *arg2 = 0 ;
+    gpstk::WxObservation result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_getMostRecent",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = ((gpstk::WxObsData const *)arg1)->getMostRecent((DayTime const &)*arg2);
+    
+    {
+        gpstk::WxObservation * resultptr;
+        resultptr = new gpstk::WxObservation((gpstk::WxObservation &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__WxObservation, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_insertObservation(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    gpstk::WxObservation *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_insertObservation",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::WxObservation");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->insertObservation((gpstk::WxObservation const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_flush(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    DayTime *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_flush",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->flush((DayTime const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_getWxObservation__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    DayTime *arg2 = 0 ;
+    unsigned int arg3 ;
+    bool arg4 ;
+    gpstk::WxObservation result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:WxObsData_getWxObservation",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (unsigned int)(SWIG_As_unsigned_SS_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (bool)(SWIG_As_bool(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::WxObsData const *)arg1)->getWxObservation((DayTime const &)*arg2,arg3,arg4);
+    }
+    catch(gpstk::ObjectNotFound &_e) {
+        {
+            gpstk::ObjectNotFound * temp = new gpstk::ObjectNotFound(_e);
+            if (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::ObjectNotFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::WxObservation * resultptr;
+        resultptr = new gpstk::WxObservation((gpstk::WxObservation &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__WxObservation, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_getWxObservation__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    DayTime *arg2 = 0 ;
+    unsigned int arg3 ;
+    gpstk::WxObservation result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:WxObsData_getWxObservation",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (unsigned int)(SWIG_As_unsigned_SS_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::WxObsData const *)arg1)->getWxObservation((DayTime const &)*arg2,arg3);
+    }
+    catch(gpstk::ObjectNotFound &_e) {
+        {
+            gpstk::ObjectNotFound * temp = new gpstk::ObjectNotFound(_e);
+            if (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::ObjectNotFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::WxObservation * resultptr;
+        resultptr = new gpstk::WxObservation((gpstk::WxObservation &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__WxObservation, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_getWxObservation__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    DayTime *arg2 = 0 ;
+    gpstk::WxObservation result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WxObsData_getWxObservation",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::WxObsData const *)arg1)->getWxObservation((DayTime const &)*arg2);
+    }
+    catch(gpstk::ObjectNotFound &_e) {
+        {
+            gpstk::ObjectNotFound * temp = new gpstk::ObjectNotFound(_e);
+            if (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::ObjectNotFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::WxObservation * resultptr;
+        resultptr = new gpstk::WxObservation((gpstk::WxObservation &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__WxObservation, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WxObsData_getWxObservation(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WxObsData, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_WxObsData_getWxObservation__SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WxObsData, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_unsigned_SS_int(argv[2]);
+                if (_v) {
+                    return _wrap_WxObsData_getWxObservation__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WxObsData, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_unsigned_SS_int(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_bool(argv[3]);
+                    if (_v) {
+                        return _wrap_WxObsData_getWxObservation__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'WxObsData_getWxObservation'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_WxObsData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObsData *arg1 = (gpstk::WxObsData *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_WxObsData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * WxObsData_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__WxObsData, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_AlmanacStore_getPrnXvt(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    Xvt result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:AlmanacStore_getPrnXvt",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::AlmanacStore const *)arg1)->getPrnXvt(arg2,(gpstk::DayTime const &)*arg3);
+    }
+    catch(NoAlmanacFound &_e) {
+        {
+            NoAlmanacFound * temp = new NoAlmanacFound(_e);
+            if (SWIGTYPE_p_NoAlmanacFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoAlmanacFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoAlmanacFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"NoAlmanacFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoAlmanacFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        Xvt * resultptr;
+        resultptr = new Xvt((Xvt &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Xvt, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_getPrnHealth(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:AlmanacStore_getPrnHealth",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = (short)((gpstk::AlmanacStore const *)arg1)->getPrnHealth(arg2,(gpstk::DayTime const &)*arg3);
+    }
+    catch(NoAlmanacFound &_e) {
+        {
+            NoAlmanacFound * temp = new NoAlmanacFound(_e);
+            if (SWIGTYPE_p_NoAlmanacFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoAlmanacFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoAlmanacFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"NoAlmanacFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoAlmanacFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_addAlmanac__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+    AlmOrbit *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:AlmanacStore_addAlmanac",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("AlmOrbit");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)(arg1)->addAlmanac((AlmOrbit const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_addAlmanac__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+    EngAlmanac *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:AlmanacStore_addAlmanac",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("EngAlmanac");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)(arg1)->addAlmanac((EngAlmanac const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_addAlmanac(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__AlmanacStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__AlmOrbit, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_AlmanacStore_addAlmanac__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__AlmanacStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__EngAlmanac, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_AlmanacStore_addAlmanac__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'AlmanacStore_addAlmanac'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_findAlmanac(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    AlmOrbit result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:AlmanacStore_findAlmanac",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::AlmanacStore const *)arg1)->findAlmanac(arg2,(gpstk::DayTime const &)*arg3);
+    }
+    catch(NoAlmanacFound &_e) {
+        {
+            NoAlmanacFound * temp = new NoAlmanacFound(_e);
+            if (SWIGTYPE_p_NoAlmanacFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoAlmanacFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoAlmanacFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"NoAlmanacFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoAlmanacFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        AlmOrbit * resultptr;
+        resultptr = new AlmOrbit((AlmOrbit &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__AlmOrbit, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_findAlmanacs(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    SwigValueWrapper<std::map<short,gpstk::AlmOrbit,std::less<short >,std::allocator<std::pair<short const,gpstk::AlmOrbit > > > > result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:AlmanacStore_findAlmanacs",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = ((gpstk::AlmanacStore const *)arg1)->findAlmanacs((gpstk::DayTime const &)*arg2);
+    
+    {
+        AlmOrbits * resultptr;
+        resultptr = new AlmOrbits((AlmOrbits &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmanacStore_size(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:AlmanacStore_size",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::AlmanacStore const *)arg1)->size();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AlmanacStore(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmanacStore *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_AlmanacStore")) goto fail;
+    result = (gpstk::AlmanacStore *)new gpstk::AlmanacStore();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AlmanacStore, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_AlmanacStore(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmanacStore *arg1 = (gpstk::AlmanacStore *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_AlmanacStore",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmanacStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * AlmanacStore_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__AlmanacStore, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_AlmOrbit__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmOrbit *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_AlmOrbit")) goto fail;
+    result = (gpstk::AlmOrbit *)new gpstk::AlmOrbit();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AlmOrbit, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AlmOrbit__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short arg1 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    double arg7 ;
+    double arg8 ;
+    double arg9 ;
+    double arg10 ;
+    long arg11 ;
+    long arg12 ;
+    short arg13 ;
+    short arg14 ;
+    gpstk::AlmOrbit *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    PyObject * obj8 = 0 ;
+    PyObject * obj9 = 0 ;
+    PyObject * obj10 = 0 ;
+    PyObject * obj11 = 0 ;
+    PyObject * obj12 = 0 ;
+    PyObject * obj13 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOOOOO:new_AlmOrbit",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11,&obj12,&obj13)) goto fail;
+    {
+        arg1 = (short)(SWIG_As_short(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (double)(SWIG_As_double(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        arg6 = (double)(SWIG_As_double(obj5)); 
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        arg7 = (double)(SWIG_As_double(obj6)); 
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        arg8 = (double)(SWIG_As_double(obj7)); 
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    {
+        arg9 = (double)(SWIG_As_double(obj8)); 
+        if (SWIG_arg_fail(9)) SWIG_fail;
+    }
+    {
+        arg10 = (double)(SWIG_As_double(obj9)); 
+        if (SWIG_arg_fail(10)) SWIG_fail;
+    }
+    {
+        arg11 = (long)(SWIG_As_long(obj10)); 
+        if (SWIG_arg_fail(11)) SWIG_fail;
+    }
+    {
+        arg12 = (long)(SWIG_As_long(obj11)); 
+        if (SWIG_arg_fail(12)) SWIG_fail;
+    }
+    {
+        arg13 = (short)(SWIG_As_short(obj12)); 
+        if (SWIG_arg_fail(13)) SWIG_fail;
+    }
+    {
+        arg14 = (short)(SWIG_As_short(obj13)); 
+        if (SWIG_arg_fail(14)) SWIG_fail;
+    }
+    result = (gpstk::AlmOrbit *)new gpstk::AlmOrbit(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__AlmOrbit, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_AlmOrbit(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[15];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 14); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_AlmOrbit__SWIG_0(self,args);
+    }
+    if (argc == 14) {
+        int _v;
+        _v = SWIG_Check_short(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_double(argv[4]);
+                        if (_v) {
+                            _v = SWIG_Check_double(argv[5]);
+                            if (_v) {
+                                _v = SWIG_Check_double(argv[6]);
+                                if (_v) {
+                                    _v = SWIG_Check_double(argv[7]);
+                                    if (_v) {
+                                        _v = SWIG_Check_double(argv[8]);
+                                        if (_v) {
+                                            _v = SWIG_Check_double(argv[9]);
+                                            if (_v) {
+                                                _v = SWIG_Check_long(argv[10]);
+                                                if (_v) {
+                                                    _v = SWIG_Check_long(argv[11]);
+                                                    if (_v) {
+                                                        _v = SWIG_Check_short(argv[12]);
+                                                        if (_v) {
+                                                            _v = SWIG_Check_short(argv[13]);
+                                                            if (_v) {
+                                                                return _wrap_new_AlmOrbit__SWIG_1(self,args);
+                                                            }
+                                                        }
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_AlmOrbit'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_svXvt(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+    DayTime *arg2 = 0 ;
+    Xvt result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:AlmOrbit_svXvt",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = ((gpstk::AlmOrbit const *)arg1)->svXvt((DayTime const &)*arg2);
+    
+    {
+        Xvt * resultptr;
+        resultptr = new Xvt((Xvt &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Xvt, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_getPRNID(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:AlmOrbit_getPRNID",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::AlmOrbit const *)arg1)->getPRNID();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_getFullWeek(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:AlmOrbit_getFullWeek",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::AlmOrbit const *)arg1)->getFullWeek();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_getTransmitTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+    DayTime result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:AlmOrbit_getTransmitTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::AlmOrbit const *)arg1)->getTransmitTime();
+    
+    {
+        DayTime * resultptr;
+        resultptr = new DayTime((DayTime &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_getToaTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+    DayTime result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:AlmOrbit_getToaTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::AlmOrbit const *)arg1)->getToaTime();
+    
+    {
+        DayTime * resultptr;
+        resultptr = new DayTime((DayTime &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_getTimestamp(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+    DayTime result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:AlmOrbit_getTimestamp",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::AlmOrbit const *)arg1)->getTimestamp();
+    
+    {
+        DayTime * resultptr;
+        resultptr = new DayTime((DayTime &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AlmOrbit_getSVHealth(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:AlmOrbit_getSVHealth",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::AlmOrbit const *)arg1)->getSVHealth();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_AlmOrbit(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::AlmOrbit *arg1 = (gpstk::AlmOrbit *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_AlmOrbit",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__AlmOrbit, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * AlmOrbit_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__AlmOrbit, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_IonoModel__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IonoModel *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_IonoModel")) goto fail;
+    result = (gpstk::IonoModel *)new gpstk::IonoModel();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IonoModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_IonoModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IonoModel *arg1 = (gpstk::IonoModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_IonoModel",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_IonoModel__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 ;
+    double *arg2 ;
+    gpstk::IonoModel *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_IonoModel",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    result = (gpstk::IonoModel *)new gpstk::IonoModel((double const (*))arg1,(double const (*))arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IonoModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_IonoModel__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    EngAlmanac *arg1 = 0 ;
+    gpstk::IonoModel *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_IonoModel",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("EngAlmanac");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::IonoModel *)new gpstk::IonoModel((EngAlmanac const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IonoModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_IonoModel(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_IonoModel__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EngAlmanac, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_IonoModel__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_double, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_double, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_new_IonoModel__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_IonoModel'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_IonoModel_isValid(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IonoModel *arg1 = (gpstk::IonoModel *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:IonoModel_isValid",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::IonoModel const *)arg1)->isValid();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_IonoModel_getCorrection__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IonoModel *arg1 = (gpstk::IonoModel *) 0 ;
+    DayTime *arg2 = 0 ;
+    Geodetic *arg3 = 0 ;
+    double arg4 ;
+    double arg5 ;
+    gpstk::IonoModel::Frequency arg6 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOO:IonoModel_getCorrection",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Geodetic");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (double)(SWIG_As_double(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        arg6 = (gpstk::IonoModel::Frequency)(SWIG_As_int(obj5)); 
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::IonoModel const *)arg1)->getCorrection((DayTime const &)*arg2,(Geodetic const &)*arg3,arg4,arg5,arg6);
+    }
+    catch(InvalidIonoModel &_e) {
+        {
+            InvalidIonoModel * temp = new InvalidIonoModel(_e);
+            if (SWIGTYPE_p_InvalidIonoModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidIonoModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidIonoModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidIonoModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidIonoModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_IonoModel_getCorrection__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IonoModel *arg1 = (gpstk::IonoModel *) 0 ;
+    DayTime *arg2 = 0 ;
+    Geodetic *arg3 = 0 ;
+    double arg4 ;
+    double arg5 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:IonoModel_getCorrection",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Geodetic");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (double)(SWIG_As_double(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::IonoModel const *)arg1)->getCorrection((DayTime const &)*arg2,(Geodetic const &)*arg3,arg4,arg5);
+    }
+    catch(InvalidIonoModel &_e) {
+        {
+            InvalidIonoModel * temp = new InvalidIonoModel(_e);
+            if (SWIGTYPE_p_InvalidIonoModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidIonoModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidIonoModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidIonoModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidIonoModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_IonoModel_getCorrection(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[7];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__IonoModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Geodetic, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_double(argv[4]);
+                        if (_v) {
+                            return _wrap_IonoModel_getCorrection__SWIG_1(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 6) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__IonoModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Geodetic, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_double(argv[4]);
+                        if (_v) {
+                            _v = SWIG_Check_int(argv[5]);
+                            if (_v) {
+                                return _wrap_IonoModel_getCorrection__SWIG_0(self,args);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'IonoModel_getCorrection'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_IonoModel___eq__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IonoModel *arg1 = (gpstk::IonoModel *) 0 ;
+    gpstk::IonoModel *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:IonoModel___eq__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::IonoModel");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::IonoModel const *)arg1)->operator ==((gpstk::IonoModel const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_IonoModel___ne__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IonoModel *arg1 = (gpstk::IonoModel *) 0 ;
+    gpstk::IonoModel *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:IonoModel___ne__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::IonoModel");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::IonoModel const *)arg1)->operator !=((gpstk::IonoModel const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * IonoModel_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__IonoModel, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_IonoModelStore(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IonoModelStore *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_IonoModelStore")) goto fail;
+    result = (gpstk::IonoModelStore *)new gpstk::IonoModelStore();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__IonoModelStore, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_IonoModelStore(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IonoModelStore *arg1 = (gpstk::IonoModelStore *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_IonoModelStore",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_IonoModelStore_getCorrection__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IonoModelStore *arg1 = (gpstk::IonoModelStore *) 0 ;
+    DayTime *arg2 = 0 ;
+    Geodetic *arg3 = 0 ;
+    double arg4 ;
+    double arg5 ;
+    gpstk::IonoModel::Frequency arg6 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOO:IonoModelStore_getCorrection",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Geodetic");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (double)(SWIG_As_double(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        arg6 = (gpstk::IonoModel::Frequency)(SWIG_As_int(obj5)); 
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::IonoModelStore const *)arg1)->getCorrection((DayTime const &)*arg2,(Geodetic const &)*arg3,arg4,arg5,arg6);
+    }
+    catch(NoIonoModelFound &_e) {
+        {
+            NoIonoModelFound * temp = new NoIonoModelFound(_e);
+            if (SWIGTYPE_p_NoIonoModelFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoIonoModelFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoIonoModelFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"NoIonoModelFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoIonoModelFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_IonoModelStore_getCorrection__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IonoModelStore *arg1 = (gpstk::IonoModelStore *) 0 ;
+    DayTime *arg2 = 0 ;
+    Geodetic *arg3 = 0 ;
+    double arg4 ;
+    double arg5 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:IonoModelStore_getCorrection",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Geodetic");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (double)(SWIG_As_double(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::IonoModelStore const *)arg1)->getCorrection((DayTime const &)*arg2,(Geodetic const &)*arg3,arg4,arg5);
+    }
+    catch(NoIonoModelFound &_e) {
+        {
+            NoIonoModelFound * temp = new NoIonoModelFound(_e);
+            if (SWIGTYPE_p_NoIonoModelFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoIonoModelFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoIonoModelFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"NoIonoModelFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoIonoModelFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_IonoModelStore_getCorrection(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[7];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__IonoModelStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Geodetic, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_double(argv[4]);
+                        if (_v) {
+                            return _wrap_IonoModelStore_getCorrection__SWIG_1(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 6) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__IonoModelStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Geodetic, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_double(argv[4]);
+                        if (_v) {
+                            _v = SWIG_Check_int(argv[5]);
+                            if (_v) {
+                                return _wrap_IonoModelStore_getCorrection__SWIG_0(self,args);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'IonoModelStore_getCorrection'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_IonoModelStore_addIonoModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::IonoModelStore *arg1 = (gpstk::IonoModelStore *) 0 ;
+    DayTime *arg2 = 0 ;
+    gpstk::IonoModel *arg3 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:IonoModelStore_addIonoModel",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__IonoModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::IonoModel");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (bool)(arg1)->addIonoModel((DayTime const &)*arg2,(gpstk::IonoModel const &)*arg3);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * IonoModelStore_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__IonoModelStore, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_TropModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_TropModel",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_isValid(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:TropModel_isValid",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)(arg1)->isValid();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_correction__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:TropModel_correction",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::TropModel const *)arg1)->correction(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_correction__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+    Position *arg2 = 0 ;
+    Position *arg3 = 0 ;
+    DayTime *arg4 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:TropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Position");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = (double)(arg1)->correction((Position const &)*arg2,(Position const &)*arg3,(DayTime const &)*arg4);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_correction__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+    Xvt *arg2 = 0 ;
+    Xvt *arg3 = 0 ;
+    DayTime *arg4 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:TropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("Xvt");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Xvt");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = (double)(arg1)->correction((Xvt const &)*arg2,(Xvt const &)*arg3,(DayTime const &)*arg4);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_correction(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_TropModel_correction__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_TropModel_correction__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_TropModel_correction__SWIG_2(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'TropModel_correction'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_dry_zenith_delay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:TropModel_dry_zenith_delay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::TropModel const *)arg1)->dry_zenith_delay();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_wet_zenith_delay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:TropModel_wet_zenith_delay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::TropModel const *)arg1)->wet_zenith_delay();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_dry_mapping_function(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:TropModel_dry_mapping_function",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::TropModel const *)arg1)->dry_mapping_function(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_wet_mapping_function(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:TropModel_wet_mapping_function",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::TropModel const *)arg1)->wet_mapping_function(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_setWeather__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    double *arg4 = 0 ;
+    double temp2 ;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:TropModel_setWeather",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        temp4 = (double)(SWIG_As_double(obj3));
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        arg4 = &temp4;
+    }
+    try {
+        (arg1)->setWeather((double const &)*arg2,(double const &)*arg3,(double const &)*arg4);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_setWeather__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::TropModel *arg1 = (gpstk::TropModel *) 0 ;
+    gpstk::WxObservation *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:TropModel_setWeather",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::WxObservation");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        (arg1)->setWeather((gpstk::WxObservation const &)*arg2);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_TropModel_setWeather(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_TropModel_setWeather__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        return _wrap_TropModel_setWeather__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'TropModel_setWeather'");
+    return NULL;
+}
+
+
+static PyObject * TropModel_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__TropModel, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ZeroTropModel_correction__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ZeroTropModel_correction",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::ZeroTropModel const *)arg1)->correction(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_correction__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+    Position *arg2 = 0 ;
+    Position *arg3 = 0 ;
+    DayTime *arg4 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:ZeroTropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Position");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = (double)(arg1)->correction((Position const &)*arg2,(Position const &)*arg3,(DayTime const &)*arg4);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_correction__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+    Xvt *arg2 = 0 ;
+    Xvt *arg3 = 0 ;
+    DayTime *arg4 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:ZeroTropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("Xvt");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Xvt");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = (double)(arg1)->correction((Xvt const &)*arg2,(Xvt const &)*arg3,(DayTime const &)*arg4);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_correction(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ZeroTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_ZeroTropModel_correction__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ZeroTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_ZeroTropModel_correction__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ZeroTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_ZeroTropModel_correction__SWIG_2(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ZeroTropModel_correction'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_dry_zenith_delay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ZeroTropModel_dry_zenith_delay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::ZeroTropModel const *)arg1)->dry_zenith_delay();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_wet_zenith_delay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ZeroTropModel_wet_zenith_delay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::ZeroTropModel const *)arg1)->wet_zenith_delay();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_dry_mapping_function(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ZeroTropModel_dry_mapping_function",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::ZeroTropModel const *)arg1)->dry_mapping_function(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ZeroTropModel_wet_mapping_function(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ZeroTropModel_wet_mapping_function",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::ZeroTropModel const *)arg1)->wet_mapping_function(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ZeroTropModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ZeroTropModel *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_ZeroTropModel")) goto fail;
+    result = (gpstk::ZeroTropModel *)new gpstk::ZeroTropModel();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ZeroTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ZeroTropModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ZeroTropModel *arg1 = (gpstk::ZeroTropModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ZeroTropModel",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ZeroTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ZeroTropModel_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__ZeroTropModel, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SimpleTropModel__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SimpleTropModel *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_SimpleTropModel")) goto fail;
+    result = (gpstk::SimpleTropModel *)new gpstk::SimpleTropModel();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SimpleTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SimpleTropModel__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = 0 ;
+    gpstk::SimpleTropModel *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_SimpleTropModel",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::WxObservation");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::SimpleTropModel *)new gpstk::SimpleTropModel((gpstk::WxObservation const &)*arg1);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SimpleTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SimpleTropModel__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    gpstk::SimpleTropModel *result;
+    double temp1 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_SimpleTropModel",&obj0,&obj1,&obj2)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    try {
+        result = (gpstk::SimpleTropModel *)new gpstk::SimpleTropModel((double const &)*arg1,(double const &)*arg2,(double const &)*arg3);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SimpleTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SimpleTropModel(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_SimpleTropModel__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_SimpleTropModel__SWIG_1(self,args);
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_new_SimpleTropModel__SWIG_2(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SimpleTropModel'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_dry_zenith_delay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SimpleTropModel_dry_zenith_delay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::SimpleTropModel const *)arg1)->dry_zenith_delay();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_wet_zenith_delay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SimpleTropModel_wet_zenith_delay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::SimpleTropModel const *)arg1)->wet_zenith_delay();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_dry_mapping_function(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SimpleTropModel_dry_mapping_function",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::SimpleTropModel const *)arg1)->dry_mapping_function(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_wet_mapping_function(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SimpleTropModel_wet_mapping_function",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::SimpleTropModel const *)arg1)->wet_mapping_function(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_setWeather__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    double *arg4 = 0 ;
+    double temp2 ;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:SimpleTropModel_setWeather",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        temp4 = (double)(SWIG_As_double(obj3));
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        arg4 = &temp4;
+    }
+    try {
+        (arg1)->setWeather((double const &)*arg2,(double const &)*arg3,(double const &)*arg4);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_setWeather__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+    gpstk::WxObservation *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SimpleTropModel_setWeather",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::WxObservation");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        (arg1)->setWeather((gpstk::WxObservation const &)*arg2);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SimpleTropModel_setWeather(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SimpleTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_SimpleTropModel_setWeather__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SimpleTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        return _wrap_SimpleTropModel_setWeather__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'SimpleTropModel_setWeather'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_SimpleTropModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SimpleTropModel *arg1 = (gpstk::SimpleTropModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_SimpleTropModel",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SimpleTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SimpleTropModel_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__SimpleTropModel, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_GGTropModel__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGTropModel *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_GGTropModel")) goto fail;
+    result = (gpstk::GGTropModel *)new gpstk::GGTropModel();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GGTropModel__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = 0 ;
+    gpstk::GGTropModel *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_GGTropModel",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::WxObservation");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::GGTropModel *)new gpstk::GGTropModel((gpstk::WxObservation const &)*arg1);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GGTropModel__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    gpstk::GGTropModel *result;
+    double temp1 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_GGTropModel",&obj0,&obj1,&obj2)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    try {
+        result = (gpstk::GGTropModel *)new gpstk::GGTropModel((double const &)*arg1,(double const &)*arg2,(double const &)*arg3);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GGTropModel(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_GGTropModel__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_GGTropModel__SWIG_1(self,args);
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_new_GGTropModel__SWIG_2(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_GGTropModel'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_dry_zenith_delay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GGTropModel_dry_zenith_delay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::GGTropModel const *)arg1)->dry_zenith_delay();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_wet_zenith_delay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GGTropModel_wet_zenith_delay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::GGTropModel const *)arg1)->wet_zenith_delay();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_dry_mapping_function(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GGTropModel_dry_mapping_function",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::GGTropModel const *)arg1)->dry_mapping_function(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_wet_mapping_function(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GGTropModel_wet_mapping_function",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::GGTropModel const *)arg1)->wet_mapping_function(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_setWeather__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    double *arg4 = 0 ;
+    double temp2 ;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:GGTropModel_setWeather",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        temp4 = (double)(SWIG_As_double(obj3));
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        arg4 = &temp4;
+    }
+    try {
+        (arg1)->setWeather((double const &)*arg2,(double const &)*arg3,(double const &)*arg4);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_setWeather__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+    gpstk::WxObservation *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GGTropModel_setWeather",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::WxObservation");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        (arg1)->setWeather((gpstk::WxObservation const &)*arg2);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGTropModel_setWeather(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_GGTropModel_setWeather__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        return _wrap_GGTropModel_setWeather__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'GGTropModel_setWeather'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_GGTropModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGTropModel *arg1 = (gpstk::GGTropModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_GGTropModel",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * GGTropModel_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__GGTropModel, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_GGHeightTropModel__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_GGHeightTropModel")) goto fail;
+    result = (gpstk::GGHeightTropModel *)new gpstk::GGHeightTropModel();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGHeightTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GGHeightTropModel__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WxObservation *arg1 = 0 ;
+    gpstk::GGHeightTropModel *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_GGHeightTropModel",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::WxObservation");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::GGHeightTropModel *)new gpstk::GGHeightTropModel((gpstk::WxObservation const &)*arg1);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGHeightTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GGHeightTropModel__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    gpstk::GGHeightTropModel *result;
+    double temp1 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_GGHeightTropModel",&obj0,&obj1,&obj2)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    try {
+        result = (gpstk::GGHeightTropModel *)new gpstk::GGHeightTropModel((double const &)*arg1,(double const &)*arg2,(double const &)*arg3);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGHeightTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GGHeightTropModel__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    double arg4 ;
+    double arg5 ;
+    double arg6 ;
+    gpstk::GGHeightTropModel *result;
+    double temp1 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOO:new_GGHeightTropModel",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        arg4 = (double const)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (double const)(SWIG_As_double(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        arg6 = (double const)(SWIG_As_double(obj5)); 
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::GGHeightTropModel *)new gpstk::GGHeightTropModel((double const &)*arg1,(double const &)*arg2,(double const &)*arg3,arg4,arg5,arg6);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GGHeightTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GGHeightTropModel(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[7];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 6); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_GGHeightTropModel__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_GGHeightTropModel__SWIG_1(self,args);
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_new_GGHeightTropModel__SWIG_2(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 6) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_double(argv[4]);
+                        if (_v) {
+                            _v = SWIG_Check_double(argv[5]);
+                            if (_v) {
+                                return _wrap_new_GGHeightTropModel__SWIG_3(self,args);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_GGHeightTropModel'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_correction__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GGHeightTropModel_correction",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::GGHeightTropModel const *)arg1)->correction(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_correction__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+    Position *arg2 = 0 ;
+    Position *arg3 = 0 ;
+    DayTime *arg4 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:GGHeightTropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Position");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = (double)(arg1)->correction((Position const &)*arg2,(Position const &)*arg3,(DayTime const &)*arg4);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_correction__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+    Xvt *arg2 = 0 ;
+    Xvt *arg3 = 0 ;
+    DayTime *arg4 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:GGHeightTropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("Xvt");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Xvt");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = (double)(arg1)->correction((Xvt const &)*arg2,(Xvt const &)*arg3,(DayTime const &)*arg4);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_correction(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGHeightTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_GGHeightTropModel_correction__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGHeightTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_GGHeightTropModel_correction__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGHeightTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_GGHeightTropModel_correction__SWIG_2(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'GGHeightTropModel_correction'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_dry_zenith_delay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GGHeightTropModel_dry_zenith_delay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::GGHeightTropModel const *)arg1)->dry_zenith_delay();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_wet_zenith_delay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GGHeightTropModel_wet_zenith_delay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::GGHeightTropModel const *)arg1)->wet_zenith_delay();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_dry_mapping_function(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GGHeightTropModel_dry_mapping_function",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::GGHeightTropModel const *)arg1)->dry_mapping_function(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_wet_mapping_function(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GGHeightTropModel_wet_mapping_function",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::GGHeightTropModel const *)arg1)->wet_mapping_function(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_setWeather__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    double *arg4 = 0 ;
+    double temp2 ;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:GGHeightTropModel_setWeather",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        temp4 = (double)(SWIG_As_double(obj3));
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        arg4 = &temp4;
+    }
+    try {
+        (arg1)->setWeather((double const &)*arg2,(double const &)*arg3,(double const &)*arg4);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_setWeather__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+    gpstk::WxObservation *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GGHeightTropModel_setWeather",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::WxObservation");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        (arg1)->setWeather((gpstk::WxObservation const &)*arg2);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_setWeather(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGHeightTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_GGHeightTropModel_setWeather__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GGHeightTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        return _wrap_GGHeightTropModel_setWeather__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'GGHeightTropModel_setWeather'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_setHeights(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    double *arg4 = 0 ;
+    double temp2 ;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:GGHeightTropModel_setHeights",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        temp4 = (double)(SWIG_As_double(obj3));
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        arg4 = &temp4;
+    }
+    (arg1)->setHeights((double const &)*arg2,(double const &)*arg3,(double const &)*arg4);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GGHeightTropModel_setReceiverHeight(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+    double *arg2 = 0 ;
+    double temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GGHeightTropModel_setReceiverHeight",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    (arg1)->setReceiverHeight((double const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_GGHeightTropModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GGHeightTropModel *arg1 = (gpstk::GGHeightTropModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_GGHeightTropModel",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GGHeightTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * GGHeightTropModel_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__GGHeightTropModel, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_NBTropModel__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_NBTropModel")) goto fail;
+    result = (gpstk::NBTropModel *)new gpstk::NBTropModel();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NBTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_NBTropModel__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    int *arg2 = 0 ;
+    gpstk::NBTropModel *result;
+    double temp1 ;
+    int temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_NBTropModel",&obj0,&obj1)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (int)(SWIG_As_int(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    result = (gpstk::NBTropModel *)new gpstk::NBTropModel((double const &)*arg1,(int const &)*arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NBTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_NBTropModel__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    int *arg2 = 0 ;
+    gpstk::WxObservation *arg3 = 0 ;
+    gpstk::NBTropModel *result;
+    double temp1 ;
+    int temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_NBTropModel",&obj0,&obj1,&obj2)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (int)(SWIG_As_int(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::WxObservation");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::NBTropModel *)new gpstk::NBTropModel((double const &)*arg1,(int const &)*arg2,(gpstk::WxObservation const &)*arg3);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NBTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_NBTropModel__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    int *arg2 = 0 ;
+    double *arg3 = 0 ;
+    double *arg4 = 0 ;
+    double *arg5 = 0 ;
+    gpstk::NBTropModel *result;
+    double temp1 ;
+    int temp2 ;
+    double temp3 ;
+    double temp4 ;
+    double temp5 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:new_NBTropModel",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (int)(SWIG_As_int(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        temp4 = (double)(SWIG_As_double(obj3));
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        arg4 = &temp4;
+    }
+    {
+        temp5 = (double)(SWIG_As_double(obj4));
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        arg5 = &temp5;
+    }
+    try {
+        result = (gpstk::NBTropModel *)new gpstk::NBTropModel((double const &)*arg1,(int const &)*arg2,(double const &)*arg3,(double const &)*arg4,(double const &)*arg5);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NBTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_NBTropModel__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    double *arg2 = 0 ;
+    int *arg3 = 0 ;
+    gpstk::NBTropModel *result;
+    double temp1 ;
+    double temp2 ;
+    int temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_NBTropModel",&obj0,&obj1,&obj2)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (int)(SWIG_As_int(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    result = (gpstk::NBTropModel *)new gpstk::NBTropModel((double const &)*arg1,(double const &)*arg2,(int const &)*arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NBTropModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_NBTropModel(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[6];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_NBTropModel__SWIG_0(self,args);
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_new_NBTropModel__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    return _wrap_new_NBTropModel__SWIG_2(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_NBTropModel__SWIG_4(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_double(argv[4]);
+                        if (_v) {
+                            return _wrap_new_NBTropModel__SWIG_3(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_NBTropModel'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_correction__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_correction",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::NBTropModel const *)arg1)->correction(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_correction__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    Position *arg2 = 0 ;
+    Position *arg3 = 0 ;
+    DayTime *arg4 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:NBTropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Position");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = (double)(arg1)->correction((Position const &)*arg2,(Position const &)*arg3,(DayTime const &)*arg4);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_correction__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    Xvt *arg2 = 0 ;
+    Xvt *arg3 = 0 ;
+    DayTime *arg4 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:NBTropModel_correction",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("Xvt");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Xvt");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = (double)(arg1)->correction((Xvt const &)*arg2,(Xvt const &)*arg3,(DayTime const &)*arg4);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_correction(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NBTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_NBTropModel_correction__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NBTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_NBTropModel_correction__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NBTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_NBTropModel_correction__SWIG_2(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'NBTropModel_correction'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_dry_zenith_delay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:NBTropModel_dry_zenith_delay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::NBTropModel const *)arg1)->dry_zenith_delay();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_wet_zenith_delay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:NBTropModel_wet_zenith_delay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::NBTropModel const *)arg1)->wet_zenith_delay();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_dry_mapping_function(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_dry_mapping_function",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::NBTropModel const *)arg1)->dry_mapping_function(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_wet_mapping_function(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    double arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_wet_mapping_function",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::NBTropModel const *)arg1)->wet_mapping_function(arg2);
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setWeather__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    gpstk::WxObservation *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_setWeather",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WxObservation, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::WxObservation");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        (arg1)->setWeather((gpstk::WxObservation const &)*arg2);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setWeather__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    double *arg4 = 0 ;
+    double temp2 ;
+    double temp3 ;
+    double temp4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:NBTropModel_setWeather",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        temp4 = (double)(SWIG_As_double(obj3));
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        arg4 = &temp4;
+    }
+    try {
+        (arg1)->setWeather((double const &)*arg2,(double const &)*arg3,(double const &)*arg4);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setWeather__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:NBTropModel_setWeather",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        (arg1)->setWeather();
+    }
+    catch(InvalidTropModel &_e) {
+        {
+            InvalidTropModel * temp = new InvalidTropModel(_e);
+            if (SWIGTYPE_p_InvalidTropModel->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_InvalidTropModel->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"InvalidTropModel");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_InvalidTropModel,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setWeather(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NBTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_NBTropModel_setWeather__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NBTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_NBTropModel_setWeather__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NBTropModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        return _wrap_NBTropModel_setWeather__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'NBTropModel_setWeather'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setReceiverHeight(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    double *arg2 = 0 ;
+    double temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_setReceiverHeight",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    (arg1)->setReceiverHeight((double const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setReceiverLatitude(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    double *arg2 = 0 ;
+    double temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_setReceiverLatitude",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    (arg1)->setReceiverLatitude((double const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NBTropModel_setDayOfYear(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    int *arg2 = 0 ;
+    int temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:NBTropModel_setDayOfYear",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (int)(SWIG_As_int(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    (arg1)->setDayOfYear((int const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_NBTropModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NBTropModel *arg1 = (gpstk::NBTropModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_NBTropModel",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NBTropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * NBTropModel_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__NBTropModel, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ClockModel_getOffset(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ClockModel *arg1 = (gpstk::ClockModel *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ClockModel_getOffset",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (double)((gpstk::ClockModel const *)arg1)->getOffset((gpstk::DayTime const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ClockModel_isOffsetValid(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ClockModel *arg1 = (gpstk::ClockModel *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ClockModel_isOffsetValid",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::ClockModel const *)arg1)->isOffsetValid((gpstk::DayTime const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ClockModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ClockModel *arg1 = (gpstk::ClockModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ClockModel",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ClockModel_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__ClockModel, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ObsClockModel_addEpoch(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    ORDEpoch *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_addEpoch",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("ORDEpoch");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        (arg1)->addEpoch((ORDEpoch const &)*arg2);
+    }
+    catch(gpstk::InvalidValue &_e) {
+        {
+            gpstk::InvalidValue * temp = new gpstk::InvalidValue(_e);
+            if (SWIGTYPE_p_gpstk__InvalidValue->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidValue->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidValue");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_setPRNModeMap(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    gpstk::ObsClockModel::PRNModeMap *arg2 = 0 ;
+    gpstk::ObsClockModel *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_setPRNModeMap",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ObsClockModel::PRNModeMap");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::ObsClockModel &_result_ref = (arg1)->setPRNModeMap((std::map<short,gpstk::ObsClockModel::PRNMode,std::less<short >,std::allocator<std::pair<short const,gpstk::ObsClockModel::PRNMode > > > const &)*arg2);
+        result = (gpstk::ObsClockModel *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsClockModel, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_setPRNMode__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    short arg2 ;
+    gpstk::ObsClockModel::PRNMode arg3 ;
+    gpstk::ObsClockModel *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:ObsClockModel_setPRNMode",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::ObsClockModel::PRNMode)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        gpstk::ObsClockModel &_result_ref = (arg1)->setPRNMode(arg2,arg3);
+        result = (gpstk::ObsClockModel *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsClockModel, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_setPRNMode__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    gpstk::ObsClockModel::PRNMode arg2 ;
+    gpstk::ObsClockModel *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_setPRNMode",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::ObsClockModel::PRNMode)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::ObsClockModel &_result_ref = (arg1)->setPRNMode(arg2);
+        result = (gpstk::ObsClockModel *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsClockModel, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_setPRNMode(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObsClockModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_ObsClockModel_setPRNMode__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObsClockModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_ObsClockModel_setPRNMode__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ObsClockModel_setPRNMode'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_setSigmaMultiplier(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    double arg2 ;
+    gpstk::ObsClockModel *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_setSigmaMultiplier",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::ObsClockModel &_result_ref = (arg1)->setSigmaMultiplier(arg2);
+        result = (gpstk::ObsClockModel *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsClockModel, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_setElevationMask(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    double arg2 ;
+    gpstk::ObsClockModel *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_setElevationMask",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::ObsClockModel &_result_ref = (arg1)->setElevationMask(arg2);
+        result = (gpstk::ObsClockModel *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsClockModel, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_getPRNStatusMap(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    gpstk::ObsClockModel::PRNStatusMap *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsClockModel_getPRNStatusMap",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        gpstk::ObsClockModel::PRNStatusMap const &_result_ref = ((gpstk::ObsClockModel const *)arg1)->getPRNStatusMap();
+        result = (gpstk::ObsClockModel::PRNStatusMap *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_getPRNStatus(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    short arg2 ;
+    gpstk::ObsClockModel::PRNStatus result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_getPRNStatus",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::ObsClockModel::PRNStatus)((gpstk::ObsClockModel const *)arg1)->getPRNStatus(arg2);
+    }
+    catch(gpstk::ObjectNotFound &_e) {
+        {
+            gpstk::ObjectNotFound * temp = new gpstk::ObjectNotFound(_e);
+            if (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::ObjectNotFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_getPRNModeMap(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    gpstk::ObsClockModel::PRNModeMap *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsClockModel_getPRNModeMap",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        gpstk::ObsClockModel::PRNModeMap const &_result_ref = ((gpstk::ObsClockModel const *)arg1)->getPRNModeMap();
+        result = (gpstk::ObsClockModel::PRNModeMap *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_getPRNMode(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    short arg2 ;
+    gpstk::ObsClockModel::PRNMode result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_getPRNMode",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::ObsClockModel::PRNMode)((gpstk::ObsClockModel const *)arg1)->getPRNMode(arg2);
+    }
+    catch(gpstk::ObjectNotFound &_e) {
+        {
+            gpstk::ObjectNotFound * temp = new gpstk::ObjectNotFound(_e);
+            if (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__ObjectNotFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::ObjectNotFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__ObjectNotFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_getSigmaMultiplier(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsClockModel_getSigmaMultiplier",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::ObsClockModel const *)arg1)->getSigmaMultiplier();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_getElevationMask(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsClockModel_getElevationMask",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::ObsClockModel const *)arg1)->getElevationMask();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_simpleOrdClock(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    ORDEpoch *arg2 = 0 ;
+    Stats<double > result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_simpleOrdClock",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("ORDEpoch");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (arg1)->simpleOrdClock((ORDEpoch const &)*arg2);
+    }
+    catch(gpstk::InvalidValue &_e) {
+        {
+            gpstk::InvalidValue * temp = new gpstk::InvalidValue(_e);
+            if (SWIGTYPE_p_gpstk__InvalidValue->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidValue->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidValue");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        Stats<double > * resultptr;
+        resultptr = new Stats<double >((Stats<double > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_StatsTdouble_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_dump__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    std::ostream *arg2 = 0 ;
+    short arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:ObsClockModel_dump",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    ((gpstk::ObsClockModel const *)arg1)->dump(*arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_dump__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsClockModel_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::ObsClockModel const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsClockModel_dump(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObsClockModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_ObsClockModel_dump__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ObsClockModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    return _wrap_ObsClockModel_dump__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'ObsClockModel_dump'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_6(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::ObsClockModel *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ObsClockModel");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::ObsClockModel const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ObsClockModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsClockModel *arg1 = (gpstk::ObsClockModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ObsClockModel",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ObsClockModel_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__ObsClockModel, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_EpochClockModel_isOffsetValid__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EpochClockModel *arg1 = (gpstk::EpochClockModel *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EpochClockModel_isOffsetValid",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EpochClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (bool)((gpstk::EpochClockModel const *)arg1)->isOffsetValid((gpstk::DayTime const &)*arg2);
+    }
+    catch(gpstk::InvalidArgumentException &_e) {
+        {
+            gpstk::InvalidArgumentException * temp = new gpstk::InvalidArgumentException(_e);
+            if (SWIGTYPE_p_gpstk__InvalidArgumentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidArgumentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidArgumentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidArgumentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidArgumentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EpochClockModel_isOffsetValid__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EpochClockModel *arg1 = (gpstk::EpochClockModel *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EpochClockModel_isOffsetValid",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EpochClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::EpochClockModel const *)arg1)->isOffsetValid();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EpochClockModel_isOffsetValid(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EpochClockModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_EpochClockModel_isOffsetValid__SWIG_1(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EpochClockModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_EpochClockModel_isOffsetValid__SWIG_0(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'EpochClockModel_isOffsetValid'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_EpochClockModel_addEpoch(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EpochClockModel *arg1 = (gpstk::EpochClockModel *) 0 ;
+    ORDEpoch *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EpochClockModel_addEpoch",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EpochClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("ORDEpoch");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        (arg1)->addEpoch((ORDEpoch const &)*arg2);
+    }
+    catch(gpstk::InvalidValue &_e) {
+        {
+            gpstk::InvalidValue * temp = new gpstk::InvalidValue(_e);
+            if (SWIGTYPE_p_gpstk__InvalidValue->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidValue->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidValue");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_EpochClockModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EpochClockModel *arg1 = (gpstk::EpochClockModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_EpochClockModel",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EpochClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * EpochClockModel_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__EpochClockModel, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_LinearClockModel__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    double arg2 ;
+    gpstk::ObsClockModel::PRNMode arg3 ;
+    gpstk::LinearClockModel *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_LinearClockModel",&obj0,&obj1,&obj2)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::ObsClockModel::PRNMode)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::LinearClockModel *)new gpstk::LinearClockModel(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__LinearClockModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_LinearClockModel__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    double arg2 ;
+    gpstk::LinearClockModel *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_LinearClockModel",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::LinearClockModel *)new gpstk::LinearClockModel(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__LinearClockModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_LinearClockModel__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    gpstk::LinearClockModel *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_LinearClockModel",&obj0)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::LinearClockModel *)new gpstk::LinearClockModel(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__LinearClockModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_LinearClockModel__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::LinearClockModel *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_LinearClockModel")) goto fail;
+    result = (gpstk::LinearClockModel *)new gpstk::LinearClockModel();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__LinearClockModel, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_LinearClockModel(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_LinearClockModel__SWIG_3(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            return _wrap_new_LinearClockModel__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_new_LinearClockModel__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_LinearClockModel__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_LinearClockModel'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_getOffset(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:LinearClockModel_getOffset",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (double)((gpstk::LinearClockModel const *)arg1)->getOffset((gpstk::DayTime const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_isOffsetValid(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:LinearClockModel_isOffsetValid",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::LinearClockModel const *)arg1)->isOffsetValid((gpstk::DayTime const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_addEpoch(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+    ORDEpoch *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:LinearClockModel_addEpoch",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("ORDEpoch");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        (arg1)->addEpoch((ORDEpoch const &)*arg2);
+    }
+    catch(gpstk::InvalidValue &_e) {
+        {
+            gpstk::InvalidValue * temp = new gpstk::InvalidValue(_e);
+            if (SWIGTYPE_p_gpstk__InvalidValue->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidValue->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidValue");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidValue,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_reset(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:LinearClockModel_reset",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->reset();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_dump__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+    std::ostream *arg2 = 0 ;
+    short arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:LinearClockModel_dump",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    ((gpstk::LinearClockModel const *)arg1)->dump(*arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_dump__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:LinearClockModel_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::LinearClockModel const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_LinearClockModel_dump(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__LinearClockModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_LinearClockModel_dump__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__LinearClockModel, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    return _wrap_LinearClockModel_dump__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'LinearClockModel_dump'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_7(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::LinearClockModel *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::LinearClockModel");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::LinearClockModel const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_LinearClockModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::LinearClockModel *arg1 = (gpstk::LinearClockModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_LinearClockModel",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__LinearClockModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * LinearClockModel_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__LinearClockModel, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_BCEphemerisStore(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_BCEphemerisStore")) goto fail;
+    result = (gpstk::BCEphemerisStore *)new gpstk::BCEphemerisStore();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__BCEphemerisStore, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_BCEphemerisStore(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_BCEphemerisStore",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_getPrnXvt__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    Xvt result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_getPrnXvt",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::BCEphemerisStore const *)arg1)->getPrnXvt(arg2,(gpstk::DayTime const &)*arg3);
+    }
+    catch(NoEphemerisFound &_e) {
+        {
+            NoEphemerisFound * temp = new NoEphemerisFound(_e);
+            if (SWIGTYPE_p_NoEphemerisFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoEphemerisFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"NoEphemerisFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        Xvt * resultptr;
+        resultptr = new Xvt((Xvt &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Xvt, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_getPrnHealth(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_getPrnHealth",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = (short)((gpstk::BCEphemerisStore const *)arg1)->getPrnHealth(arg2,(gpstk::DayTime const &)*arg3);
+    }
+    catch(NoEphemerisFound &_e) {
+        {
+            NoEphemerisFound * temp = new NoEphemerisFound(_e);
+            if (SWIGTYPE_p_NoEphemerisFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoEphemerisFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"NoEphemerisFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_dump__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    short arg2 ;
+    std::ostream *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_dump",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    ((gpstk::BCEphemerisStore const *)arg1)->dump(arg2,*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_dump__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:BCEphemerisStore_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::BCEphemerisStore const *)arg1)->dump(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_dump__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_dump",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    ((gpstk::BCEphemerisStore const *)arg1)->dump();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_dump(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__BCEphemerisStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_BCEphemerisStore_dump__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__BCEphemerisStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                return _wrap_BCEphemerisStore_dump__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__BCEphemerisStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    return _wrap_BCEphemerisStore_dump__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'BCEphemerisStore_dump'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_getInitialTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    gpstk::DayTime result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_getInitialTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::BCEphemerisStore const *)arg1)->getInitialTime();
+    
+    {
+        gpstk::DayTime * resultptr;
+        resultptr = new gpstk::DayTime((gpstk::DayTime &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_getFinalTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    gpstk::DayTime result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_getFinalTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::BCEphemerisStore const *)arg1)->getFinalTime();
+    
+    {
+        gpstk::DayTime * resultptr;
+        resultptr = new gpstk::DayTime((gpstk::DayTime &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_addEphemeris(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    EngEphemeris *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:BCEphemerisStore_addEphemeris",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("EngEphemeris");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (bool)(arg1)->addEphemeris((EngEphemeris const &)*arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_wiper(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    DayTime *arg2 = 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:BCEphemerisStore_wiper",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (unsigned int)(arg1)->wiper((DayTime const &)*arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_edit(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    DayTime *arg2 = 0 ;
+    DayTime *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_edit",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    (arg1)->edit((DayTime const &)*arg2,(DayTime const &)*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_clear(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_clear",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->clear();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_getPrnXvt__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    short *arg4 = 0 ;
+    Xvt result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:BCEphemerisStore_getPrnXvt",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_short, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("short");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::BCEphemerisStore const *)arg1)->getPrnXvt(arg2,(gpstk::DayTime const &)*arg3,*arg4);
+    }
+    catch(NoEphemerisFound &_e) {
+        {
+            NoEphemerisFound * temp = new NoEphemerisFound(_e);
+            if (SWIGTYPE_p_NoEphemerisFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoEphemerisFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"NoEphemerisFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        Xvt * resultptr;
+        resultptr = new Xvt((Xvt &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Xvt, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_getPrnXvt(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__BCEphemerisStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    return _wrap_BCEphemerisStore_getPrnXvt__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__BCEphemerisStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_short, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_BCEphemerisStore_getPrnXvt__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'BCEphemerisStore_getPrnXvt'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_ubeSize(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_ubeSize",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned int)((gpstk::BCEphemerisStore const *)arg1)->ubeSize();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_size(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_size",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned int)((gpstk::BCEphemerisStore const *)arg1)->size();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_findEphemeris(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    EngEphemeris *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_findEphemeris",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            EngEphemeris const &_result_ref = ((gpstk::BCEphemerisStore const *)arg1)->findEphemeris(arg2,(gpstk::DayTime const &)*arg3);
+            result = (EngEphemeris *) &_result_ref;
+        }
+    }
+    catch(NoEphemerisFound &_e) {
+        {
+            NoEphemerisFound * temp = new NoEphemerisFound(_e);
+            if (SWIGTYPE_p_NoEphemerisFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoEphemerisFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"NoEphemerisFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_findUserEphemeris(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    EngEphemeris *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_findUserEphemeris",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            EngEphemeris const &_result_ref = ((gpstk::BCEphemerisStore const *)arg1)->findUserEphemeris(arg2,(gpstk::DayTime const &)*arg3);
+            result = (EngEphemeris *) &_result_ref;
+        }
+    }
+    catch(NoEphemerisFound &_e) {
+        {
+            NoEphemerisFound * temp = new NoEphemerisFound(_e);
+            if (SWIGTYPE_p_NoEphemerisFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoEphemerisFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"NoEphemerisFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_findNearEphemeris(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    EngEphemeris *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:BCEphemerisStore_findNearEphemeris",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            EngEphemeris const &_result_ref = ((gpstk::BCEphemerisStore const *)arg1)->findNearEphemeris(arg2,(gpstk::DayTime const &)*arg3);
+            result = (EngEphemeris *) &_result_ref;
+        }
+    }
+    catch(NoEphemerisFound &_e) {
+        {
+            NoEphemerisFound * temp = new NoEphemerisFound(_e);
+            if (SWIGTYPE_p_NoEphemerisFound->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_NoEphemerisFound->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"NoEphemerisFound");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_NoEphemerisFound,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_addToList(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    std::list<EngEphemeris > *arg2 = 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:BCEphemerisStore_addToList",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__listTgpstk__EngEphemeris_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::list<EngEphemeris >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (int)((gpstk::BCEphemerisStore const *)arg1)->addToList(*arg2);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_SearchNear(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_SearchNear",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->SearchNear();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BCEphemerisStore_SearchPast(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::BCEphemerisStore *arg1 = (gpstk::BCEphemerisStore *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BCEphemerisStore_SearchPast",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__BCEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->SearchPast();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * BCEphemerisStore_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__BCEphemerisStore, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_FileStore_RinexNavHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FileStore_RinexNavHeader",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_RinexNavHeader_getFileNames(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+    SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FileStore_RinexNavHeader_getFileNames",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::FileStore<RinexNavHeader > const *)arg1)->getFileNames();
+    
+    {
+        std::vector<std::string,std::allocator<std::string > > * resultptr;
+        resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_RinexNavHeader_addFile(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+    std::string *arg2 = 0 ;
+    RinexNavHeader *arg3 = 0 ;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:FileStore_RinexNavHeader_addFile",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("RinexNavHeader");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    (arg1)->addFile((std::string const &)*arg2,(RinexNavHeader const &)*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_RinexNavHeader_getHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+    std::string *arg2 = 0 ;
+    RinexNavHeader *result;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FileStore_RinexNavHeader_getHeader",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    {
+        RinexNavHeader const &_result_ref = (arg1)->getHeader((std::string const &)*arg2);
+        result = (RinexNavHeader *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavHeader, 0);
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_RinexNavHeader_loadFile(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+    std::string *arg2 = 0 ;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FileStore_RinexNavHeader_loadFile",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    try {
+        (arg1)->loadFile((std::string const &)*arg2);
+    }
+    catch(gpstk::FileMissingException &_e) {
+        {
+            gpstk::FileMissingException * temp = new gpstk::FileMissingException(_e);
+            if (SWIGTYPE_p_gpstk__FileMissingException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileMissingException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileMissingException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_RinexNavHeader_loadFiles(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+    std::vector<std::string,std::allocator<std::string > > *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FileStore_RinexNavHeader_loadFiles",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::vector<std::string,std::allocator<std::string > >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->loadFiles((std::vector<std::string,std::allocator<std::string > > const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_RinexNavHeader_size(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<RinexNavHeader > *arg1 = (gpstk::FileStore<RinexNavHeader > *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FileStore_RinexNavHeader_size",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned int)((gpstk::FileStore<RinexNavHeader > const *)arg1)->size();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * FileStore_RinexNavHeader_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_FileStore_SP3Header(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FileStore_SP3Header",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_SP3Header_getFileNames(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+    SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FileStore_SP3Header_getFileNames",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::FileStore<SP3Header > const *)arg1)->getFileNames();
+    
+    {
+        std::vector<std::string,std::allocator<std::string > > * resultptr;
+        resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_SP3Header_addFile(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+    std::string *arg2 = 0 ;
+    SP3Header *arg3 = 0 ;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:FileStore_SP3Header_addFile",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("SP3Header");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    (arg1)->addFile((std::string const &)*arg2,(SP3Header const &)*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_SP3Header_getHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+    std::string *arg2 = 0 ;
+    SP3Header *result;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FileStore_SP3Header_getHeader",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    {
+        SP3Header const &_result_ref = (arg1)->getHeader((std::string const &)*arg2);
+        result = (SP3Header *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3Header, 0);
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_SP3Header_loadFile(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+    std::string *arg2 = 0 ;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FileStore_SP3Header_loadFile",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    try {
+        (arg1)->loadFile((std::string const &)*arg2);
+    }
+    catch(gpstk::FileMissingException &_e) {
+        {
+            gpstk::FileMissingException * temp = new gpstk::FileMissingException(_e);
+            if (SWIGTYPE_p_gpstk__FileMissingException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileMissingException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileMissingException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_SP3Header_loadFiles(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+    std::vector<std::string,std::allocator<std::string > > *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FileStore_SP3Header_loadFiles",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::vector<std::string,std::allocator<std::string > >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->loadFiles((std::vector<std::string,std::allocator<std::string > > const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileStore_SP3Header_size(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileStore<SP3Header > *arg1 = (gpstk::FileStore<SP3Header > *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FileStore_SP3Header_size",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned int)((gpstk::FileStore<SP3Header > const *)arg1)->size();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * FileStore_SP3Header_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__FileStoreTgpstk__SP3Header_t, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexEphemerisStore(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexEphemerisStore *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexEphemerisStore")) goto fail;
+    result = (gpstk::RinexEphemerisStore *)new gpstk::RinexEphemerisStore();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexEphemerisStore, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexEphemerisStore(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexEphemerisStore *arg1 = (gpstk::RinexEphemerisStore *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexEphemerisStore",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexEphemerisStore_dump__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexEphemerisStore *arg1 = (gpstk::RinexEphemerisStore *) 0 ;
+    short arg2 ;
+    std::ostream *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:RinexEphemerisStore_dump",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    ((gpstk::RinexEphemerisStore const *)arg1)->dump(arg2,*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexEphemerisStore_dump__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexEphemerisStore *arg1 = (gpstk::RinexEphemerisStore *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexEphemerisStore_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::RinexEphemerisStore const *)arg1)->dump(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexEphemerisStore_dump__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexEphemerisStore *arg1 = (gpstk::RinexEphemerisStore *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexEphemerisStore_dump",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    ((gpstk::RinexEphemerisStore const *)arg1)->dump();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexEphemerisStore_dump(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexEphemerisStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_RinexEphemerisStore_dump__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexEphemerisStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                return _wrap_RinexEphemerisStore_dump__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexEphemerisStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    return _wrap_RinexEphemerisStore_dump__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RinexEphemerisStore_dump'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexEphemerisStore_loadFile(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexEphemerisStore *arg1 = (gpstk::RinexEphemerisStore *) 0 ;
+    std::string *arg2 = 0 ;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexEphemerisStore_loadFile",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexEphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    try {
+        (arg1)->loadFile((std::string const &)*arg2);
+    }
+    catch(gpstk::FileMissingException &_e) {
+        {
+            gpstk::FileMissingException * temp = new gpstk::FileMissingException(_e);
+            if (SWIGTYPE_p_gpstk__FileMissingException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileMissingException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileMissingException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject * RinexEphemerisStore_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexEphemerisStore, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SP3EphemerisStore(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3EphemerisStore *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_SP3EphemerisStore")) goto fail;
+    result = (gpstk::SP3EphemerisStore *)new gpstk::SP3EphemerisStore();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3EphemerisStore, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_SP3EphemerisStore(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3EphemerisStore *arg1 = (gpstk::SP3EphemerisStore *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_SP3EphemerisStore",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3EphemerisStore_dump__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3EphemerisStore *arg1 = (gpstk::SP3EphemerisStore *) 0 ;
+    short arg2 ;
+    std::ostream *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:SP3EphemerisStore_dump",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    ((gpstk::SP3EphemerisStore const *)arg1)->dump(arg2,*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3EphemerisStore_dump__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3EphemerisStore *arg1 = (gpstk::SP3EphemerisStore *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3EphemerisStore_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::SP3EphemerisStore const *)arg1)->dump(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3EphemerisStore_dump__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3EphemerisStore *arg1 = (gpstk::SP3EphemerisStore *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3EphemerisStore_dump",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    ((gpstk::SP3EphemerisStore const *)arg1)->dump();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3EphemerisStore_dump(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SP3EphemerisStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_SP3EphemerisStore_dump__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SP3EphemerisStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                return _wrap_SP3EphemerisStore_dump__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__SP3EphemerisStore, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    return _wrap_SP3EphemerisStore_dump__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'SP3EphemerisStore_dump'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3EphemerisStore_loadFile(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3EphemerisStore *arg1 = (gpstk::SP3EphemerisStore *) 0 ;
+    std::string *arg2 = 0 ;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3EphemerisStore_loadFile",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    try {
+        (arg1)->loadFile((std::string const &)*arg2);
+    }
+    catch(gpstk::FileMissingException &_e) {
+        {
+            gpstk::FileMissingException * temp = new gpstk::FileMissingException(_e);
+            if (SWIGTYPE_p_gpstk__FileMissingException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileMissingException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileMissingException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileMissingException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject * SP3EphemerisStore_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__SP3EphemerisStore, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FileHunterException__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunterException *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_FileHunterException")) goto fail;
+    result = (gpstk::FileHunterException *)new gpstk::FileHunterException();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunterException__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunterException *arg1 = 0 ;
+    gpstk::FileHunterException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FileHunterException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunterException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::FileHunterException");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::FileHunterException *)new gpstk::FileHunterException((gpstk::FileHunterException const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunterException__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::FileHunterException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FileHunterException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::FileHunterException *)new gpstk::FileHunterException((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunterException__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::FileHunterException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_FileHunterException",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::FileHunterException *)new gpstk::FileHunterException(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunterException__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::FileHunterException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_FileHunterException",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::FileHunterException *)new gpstk::FileHunterException(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunterException__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::FileHunterException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FileHunterException",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::FileHunterException *)new gpstk::FileHunterException(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunterException(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_FileHunterException__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunterException, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_FileHunterException__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_FileHunterException__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_FileHunterException__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_FileHunterException__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_FileHunterException__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FileHunterException'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_FileHunterException(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunterException *arg1 = (gpstk::FileHunterException *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FileHunterException",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunterException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunterException_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunterException *arg1 = (gpstk::FileHunterException *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FileHunterException_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunterException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::FileHunterException const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunterException_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunterException *arg1 = (gpstk::FileHunterException *) 0 ;
+    gpstk::FileHunterException *arg2 = 0 ;
+    gpstk::FileHunterException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FileHunterException_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunterException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FileHunterException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::FileHunterException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::FileHunterException &_result_ref = (arg1)->operator =((gpstk::FileHunterException const &)*arg2);
+        result = (gpstk::FileHunterException *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunterException, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_8(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::FileHunterException *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FileHunterException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::FileHunterException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::FileHunterException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * FileHunterException_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__FileHunterException, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FileHunter__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    gpstk::FileHunter *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FileHunter",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    try {
+        result = (gpstk::FileHunter *)new gpstk::FileHunter((std::string const &)*arg1);
+    }
+    catch(gpstk::FileHunterException &_e) {
+        {
+            gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+            if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunter, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunter__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    FileSpec *arg1 = 0 ;
+    gpstk::FileHunter *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FileHunter",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_FileSpec, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("FileSpec");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::FileHunter *)new gpstk::FileHunter((FileSpec const &)*arg1);
+    }
+    catch(gpstk::FileHunterException &_e) {
+        {
+            gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+            if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunter, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FileHunter(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[2];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_FileSpec, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_FileHunter__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_FileHunter__SWIG_0(self,args);
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FileHunter'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_newHunt__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+    std::string *arg2 = 0 ;
+    gpstk::FileHunter *result;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FileHunter_newHunt",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    try {
+        {
+            gpstk::FileHunter &_result_ref = (arg1)->newHunt((std::string const &)*arg2);
+            result = (gpstk::FileHunter *) &_result_ref;
+        }
+    }
+    catch(gpstk::FileHunterException &_e) {
+        {
+            gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+            if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunter, 0);
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_newHunt__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+    FileSpec *arg2 = 0 ;
+    gpstk::FileHunter *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FileHunter_newHunt",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_FileSpec, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("FileSpec");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::FileHunter &_result_ref = (arg1)->newHunt((FileSpec const &)*arg2);
+            result = (gpstk::FileHunter *) &_result_ref;
+        }
+    }
+    catch(gpstk::FileHunterException &_e) {
+        {
+            gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+            if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunter, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_newHunt(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_FileSpec, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_FileHunter_newHunt__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+            if (_v) {
+                return _wrap_FileHunter_newHunt__SWIG_0(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'FileHunter_newHunt'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_setFilter(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+    FileSpec::FileSpecType arg2 ;
+    std::vector<std::string,std::allocator<std::string > > *arg3 = 0 ;
+    gpstk::FileHunter *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:FileHunter_setFilter",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        FileSpec::FileSpecType * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_FileSpec__FileSpecType, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("FileSpec::FileSpecType");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("std::vector<std::string,std::allocator<std::string > >");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::FileHunter &_result_ref = (arg1)->setFilter(arg2,(std::vector<std::string,std::allocator<std::string > > const &)*arg3);
+            result = (gpstk::FileHunter *) &_result_ref;
+        }
+    }
+    catch(gpstk::FileHunterException &_e) {
+        {
+            gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+            if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FileHunter, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_find__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    gpstk::DayTime *arg3 = 0 ;
+    FileSpec::FileSpecSortType arg4 ;
+    enum gpstk::FileHunter::FileChunking arg5 ;
+    SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:FileHunter_find",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        FileSpec::FileSpecSortType * argp;
+        SWIG_Python_ConvertPtr(obj3, (void **)&argp, SWIGTYPE_p_FileSpec__FileSpecSortType, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("FileSpec::FileSpecSortType");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        arg4 = *argp;
+    }
+    {
+        arg5 = (enum gpstk::FileHunter::FileChunking)(SWIG_As_int(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::FileHunter const *)arg1)->find((gpstk::DayTime const &)*arg2,(gpstk::DayTime const &)*arg3,arg4,arg5);
+    }
+    catch(gpstk::FileHunterException &_e) {
+        {
+            gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+            if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        std::vector<std::string,std::allocator<std::string > > * resultptr;
+        resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_find__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    gpstk::DayTime *arg3 = 0 ;
+    FileSpec::FileSpecSortType arg4 ;
+    SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:FileHunter_find",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        FileSpec::FileSpecSortType * argp;
+        SWIG_Python_ConvertPtr(obj3, (void **)&argp, SWIGTYPE_p_FileSpec__FileSpecSortType, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("FileSpec::FileSpecSortType");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        arg4 = *argp;
+    }
+    try {
+        result = ((gpstk::FileHunter const *)arg1)->find((gpstk::DayTime const &)*arg2,(gpstk::DayTime const &)*arg3,arg4);
+    }
+    catch(gpstk::FileHunterException &_e) {
+        {
+            gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+            if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        std::vector<std::string,std::allocator<std::string > > * resultptr;
+        resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_find__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    gpstk::DayTime *arg3 = 0 ;
+    SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:FileHunter_find",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::FileHunter const *)arg1)->find((gpstk::DayTime const &)*arg2,(gpstk::DayTime const &)*arg3);
+    }
+    catch(gpstk::FileHunterException &_e) {
+        {
+            gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+            if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        std::vector<std::string,std::allocator<std::string > > * resultptr;
+        resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_find__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FileHunter_find",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::FileHunter const *)arg1)->find((gpstk::DayTime const &)*arg2);
+    }
+    catch(gpstk::FileHunterException &_e) {
+        {
+            gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+            if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        std::vector<std::string,std::allocator<std::string > > * resultptr;
+        resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_find__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+    SwigValueWrapper<std::vector<std::string,std::allocator<std::string > > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FileHunter_find",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = ((gpstk::FileHunter const *)arg1)->find();
+    }
+    catch(gpstk::FileHunterException &_e) {
+        {
+            gpstk::FileHunterException * temp = new gpstk::FileHunterException(_e);
+            if (SWIGTYPE_p_gpstk__FileHunterException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__FileHunterException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::FileHunterException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__FileHunterException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        std::vector<std::string,std::allocator<std::string > > * resultptr;
+        resultptr = new std::vector<std::string,std::allocator<std::string > >((std::vector<std::string,std::allocator<std::string > > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_find(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[6];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_FileHunter_find__SWIG_4(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_FileHunter_find__SWIG_3(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    return _wrap_FileHunter_find__SWIG_2(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_FileSpec__FileSpecSortType, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_FileHunter_find__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__FileHunter, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_FileSpec__FileSpecSortType, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        _v = SWIG_Check_int(argv[4]);
+                        if (_v) {
+                            return _wrap_FileHunter_find__SWIG_0(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'FileHunter_find'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_FileHunter_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FileHunter_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::FileHunter const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_FileHunter(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FileHunter *arg1 = (gpstk::FileHunter *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FileHunter",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FileHunter, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * FileHunter_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__FileHunter, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FICStream__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICStream *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_FICStream")) goto fail;
+    result = (gpstk::FICStream *)new gpstk::FICStream();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FICStream__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    std::ios::openmode arg2 ;
+    gpstk::FICStream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_FICStream",&obj0,&obj1)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = (gpstk::FICStream *)new gpstk::FICStream((char const *)arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FICStream__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    gpstk::FICStream *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FICStream",&obj0)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    result = (gpstk::FICStream *)new gpstk::FICStream((char const *)arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FICStream(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_FICStream__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            return _wrap_new_FICStream__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_new_FICStream__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FICStream'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_FICStream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICStream *arg1 = (gpstk::FICStream *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FICStream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICStream_open(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICStream *arg1 = (gpstk::FICStream *) 0 ;
+    char *arg2 = (char *) 0 ;
+    std::ios::openmode arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:FICStream_open",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *argp;
+    }
+    (arg1)->open((char const *)arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * FICStream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__FICStream, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FICAStream__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICAStream *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_FICAStream")) goto fail;
+    result = (gpstk::FICAStream *)new gpstk::FICAStream();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICAStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FICAStream__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    std::ios::openmode arg2 ;
+    gpstk::FICAStream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_FICAStream",&obj0,&obj1)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = (gpstk::FICAStream *)new gpstk::FICAStream((char const *)arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICAStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FICAStream__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    gpstk::FICAStream *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FICAStream",&obj0)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    result = (gpstk::FICAStream *)new gpstk::FICAStream((char const *)arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICAStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FICAStream(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_FICAStream__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            return _wrap_new_FICAStream__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_new_FICAStream__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FICAStream'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_FICAStream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICAStream *arg1 = (gpstk::FICAStream *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FICAStream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICAStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICAStream_open(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICAStream *arg1 = (gpstk::FICAStream *) 0 ;
+    char *arg2 = (char *) 0 ;
+    std::ios::openmode arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:FICAStream_open",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICAStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *argp;
+    }
+    (arg1)->open((char const *)arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * FICAStream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__FICAStream, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_MSCStream__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::MSCStream *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_MSCStream")) goto fail;
+    result = (gpstk::MSCStream *)new gpstk::MSCStream();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__MSCStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_MSCStream__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    std::ios::openmode arg2 ;
+    gpstk::MSCStream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_MSCStream",&obj0,&obj1)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = (gpstk::MSCStream *)new gpstk::MSCStream((char const *)arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__MSCStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_MSCStream__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    gpstk::MSCStream *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_MSCStream",&obj0)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    result = (gpstk::MSCStream *)new gpstk::MSCStream((char const *)arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__MSCStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_MSCStream(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_MSCStream__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            return _wrap_new_MSCStream__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_new_MSCStream__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_MSCStream'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_MSCStream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::MSCStream *arg1 = (gpstk::MSCStream *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_MSCStream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__MSCStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * MSCStream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__MSCStream, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexMetStream__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetStream *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexMetStream")) goto fail;
+    result = (gpstk::RinexMetStream *)new gpstk::RinexMetStream();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexMetStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexMetStream__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    std::ios::openmode arg2 ;
+    gpstk::RinexMetStream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_RinexMetStream",&obj0,&obj1)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = (gpstk::RinexMetStream *)new gpstk::RinexMetStream((char const *)arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexMetStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexMetStream__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    gpstk::RinexMetStream *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_RinexMetStream",&obj0)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    result = (gpstk::RinexMetStream *)new gpstk::RinexMetStream((char const *)arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexMetStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexMetStream(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_RinexMetStream__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            return _wrap_new_RinexMetStream__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_new_RinexMetStream__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexMetStream'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexMetStream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetStream *arg1 = (gpstk::RinexMetStream *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexMetStream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetStream_open(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetStream *arg1 = (gpstk::RinexMetStream *) 0 ;
+    char *arg2 = (char *) 0 ;
+    std::ios::openmode arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:RinexMetStream_open",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *argp;
+    }
+    (arg1)->open((char const *)arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetStream_header_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetStream *arg1 = (gpstk::RinexMetStream *) 0 ;
+    RinexMetHeader *arg2 = (RinexMetHeader *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetStream_header_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->header = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetStream_header_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetStream *arg1 = (gpstk::RinexMetStream *) 0 ;
+    RinexMetHeader *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetStream_header_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (RinexMetHeader *)& ((arg1)->header);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexMetHeader, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetStream_headerRead_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetStream *arg1 = (gpstk::RinexMetStream *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetStream_headerRead_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (bool)(SWIG_As_bool(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->headerRead = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetStream_headerRead_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetStream *arg1 = (gpstk::RinexMetStream *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetStream_headerRead_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool) ((arg1)->headerRead);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexMetStream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexMetStream, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexNavStream__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavStream *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexNavStream")) goto fail;
+    result = (gpstk::RinexNavStream *)new gpstk::RinexNavStream();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexNavStream__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    std::ios::openmode arg2 ;
+    gpstk::RinexNavStream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_RinexNavStream",&obj0,&obj1)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = (gpstk::RinexNavStream *)new gpstk::RinexNavStream((char const *)arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexNavStream__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    gpstk::RinexNavStream *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_RinexNavStream",&obj0)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    result = (gpstk::RinexNavStream *)new gpstk::RinexNavStream((char const *)arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexNavStream(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_RinexNavStream__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            return _wrap_new_RinexNavStream__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_new_RinexNavStream__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexNavStream'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexNavStream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavStream *arg1 = (gpstk::RinexNavStream *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexNavStream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavStream_open(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavStream *arg1 = (gpstk::RinexNavStream *) 0 ;
+    char *arg2 = (char *) 0 ;
+    std::ios::openmode arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:RinexNavStream_open",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *argp;
+    }
+    (arg1)->open((char const *)arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavStream_header_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavStream *arg1 = (gpstk::RinexNavStream *) 0 ;
+    RinexNavHeader *arg2 = (RinexNavHeader *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavStream_header_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->header = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavStream_header_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavStream *arg1 = (gpstk::RinexNavStream *) 0 ;
+    RinexNavHeader *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavStream_header_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (RinexNavHeader *)& ((arg1)->header);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavHeader, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavStream_headerRead_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavStream *arg1 = (gpstk::RinexNavStream *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavStream_headerRead_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (bool)(SWIG_As_bool(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->headerRead = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavStream_headerRead_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavStream *arg1 = (gpstk::RinexNavStream *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavStream_headerRead_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool) ((arg1)->headerRead);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexNavStream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexNavStream, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SMODFStream__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SMODFStream *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_SMODFStream")) goto fail;
+    result = (gpstk::SMODFStream *)new gpstk::SMODFStream();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SMODFStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SMODFStream__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    std::ios::openmode arg2 ;
+    gpstk::SMODFStream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_SMODFStream",&obj0,&obj1)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = (gpstk::SMODFStream *)new gpstk::SMODFStream((char const *)arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SMODFStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SMODFStream__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    gpstk::SMODFStream *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_SMODFStream",&obj0)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    result = (gpstk::SMODFStream *)new gpstk::SMODFStream((char const *)arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SMODFStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SMODFStream(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_SMODFStream__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            return _wrap_new_SMODFStream__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_new_SMODFStream__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SMODFStream'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_SMODFStream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SMODFStream *arg1 = (gpstk::SMODFStream *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_SMODFStream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SMODFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SMODFStream_open(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SMODFStream *arg1 = (gpstk::SMODFStream *) 0 ;
+    char *arg2 = (char *) 0 ;
+    std::ios::openmode arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:SMODFStream_open",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SMODFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *argp;
+    }
+    (arg1)->open((char const *)arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SMODFStream_format_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SMODFStream *arg1 = (gpstk::SMODFStream *) 0 ;
+    gpstk::SMODFStream::FileFormat arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SMODFStream_format_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SMODFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::SMODFStream::FileFormat)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->format = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SMODFStream_format_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SMODFStream *arg1 = (gpstk::SMODFStream *) 0 ;
+    gpstk::SMODFStream::FileFormat result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SMODFStream_format_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SMODFStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::SMODFStream::FileFormat) ((arg1)->format);
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SMODFStream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__SMODFStream, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SP3Stream__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Stream *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_SP3Stream")) goto fail;
+    result = (gpstk::SP3Stream *)new gpstk::SP3Stream();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3Stream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SP3Stream__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    std::ios::openmode arg2 ;
+    gpstk::SP3Stream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_SP3Stream",&obj0,&obj1)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = (gpstk::SP3Stream *)new gpstk::SP3Stream((char const *)arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3Stream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SP3Stream__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    gpstk::SP3Stream *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_SP3Stream",&obj0)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    result = (gpstk::SP3Stream *)new gpstk::SP3Stream((char const *)arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3Stream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_SP3Stream(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_SP3Stream__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            return _wrap_new_SP3Stream__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_new_SP3Stream__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_SP3Stream'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_SP3Stream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Stream *arg1 = (gpstk::SP3Stream *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_SP3Stream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Stream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Stream_currentEpoch_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Stream *arg1 = (gpstk::SP3Stream *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Stream_currentEpoch_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Stream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->currentEpoch = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Stream_currentEpoch_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Stream *arg1 = (gpstk::SP3Stream *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Stream_currentEpoch_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Stream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->currentEpoch);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SP3Stream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__SP3Stream, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexObsStream__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsStream *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexObsStream")) goto fail;
+    result = (gpstk::RinexObsStream *)new gpstk::RinexObsStream();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsStream__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    std::ios::openmode arg2 ;
+    gpstk::RinexObsStream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_RinexObsStream",&obj0,&obj1)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    result = (gpstk::RinexObsStream *)new gpstk::RinexObsStream((char const *)arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsStream__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    char *arg1 = (char *) 0 ;
+    gpstk::RinexObsStream *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_RinexObsStream",&obj0)) goto fail;
+    if (!SWIG_AsCharPtr(obj0, (char**)&arg1)) {
+        SWIG_arg_fail(1);SWIG_fail;
+    }
+    result = (gpstk::RinexObsStream *)new gpstk::RinexObsStream((char const *)arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsStream, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsStream(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_RinexObsStream__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            return _wrap_new_RinexObsStream__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsCharPtr(argv[0], (char **)(0));
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__ios__openmode, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_new_RinexObsStream__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexObsStream'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexObsStream(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsStream *arg1 = (gpstk::RinexObsStream *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexObsStream",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsStream_open(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsStream *arg1 = (gpstk::RinexObsStream *) 0 ;
+    char *arg2 = (char *) 0 ;
+    std::ios::openmode arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:RinexObsStream_open",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    {
+        std::ios::openmode * argp;
+        SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_std__ios__openmode, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::ios::openmode");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *argp;
+    }
+    (arg1)->open((char const *)arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsStream_headerRead_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsStream *arg1 = (gpstk::RinexObsStream *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsStream_headerRead_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (bool)(SWIG_As_bool(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->headerRead = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsStream_headerRead_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsStream *arg1 = (gpstk::RinexObsStream *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsStream_headerRead_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool) ((arg1)->headerRead);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsStream_header_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsStream *arg1 = (gpstk::RinexObsStream *) 0 ;
+    RinexObsHeader *arg2 = (RinexObsHeader *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsStream_header_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->header = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsStream_header_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsStream *arg1 = (gpstk::RinexObsStream *) 0 ;
+    RinexObsHeader *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsStream_header_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsStream, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (RinexObsHeader *)& ((arg1)->header);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsHeader, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexObsStream_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexObsStream, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_delete_RinexObsBase(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsBase *arg1 = (gpstk::RinexObsBase *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexObsBase",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsBase, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexObsBase_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexObsBase, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_RinexObsType_type_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsType *arg1 = (RinexObsType *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsType_type_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->type = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_type_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsType *arg1 = (RinexObsType *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsType_type_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->type);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_description_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsType *arg1 = (RinexObsType *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsType_description_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->description = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_description_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsType *arg1 = (RinexObsType *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsType_description_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->description);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_units_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsType *arg1 = (RinexObsType *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsType_units_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->units = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_units_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsType *arg1 = (RinexObsType *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsType_units_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->units);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_depend_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsType *arg1 = (RinexObsType *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsType_depend_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->depend = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsType_depend_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsType *arg1 = (RinexObsType *) 0 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsType_depend_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned int) ((arg1)->depend);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsType__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsType *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexObsType")) goto fail;
+    result = (RinexObsType *)new RinexObsType();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_RinexObsType, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsType__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    std::string arg2 ;
+    std::string arg3 ;
+    unsigned int arg4 ;
+    RinexObsType *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:new_RinexObsType",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj2, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj2);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg4 = (unsigned int)(SWIG_As_unsigned_SS_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    result = (RinexObsType *)new RinexObsType(arg1,arg2,arg3,arg4);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_RinexObsType, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsType__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    std::string arg2 ;
+    std::string arg3 ;
+    RinexObsType *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_RinexObsType",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj2, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj2);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (RinexObsType *)new RinexObsType(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_RinexObsType, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsType(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_RinexObsType__SWIG_0(self,args);
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+            if (_v) {
+                _v = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
+                if (_v) {
+                    return _wrap_new_RinexObsType__SWIG_2(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+            if (_v) {
+                _v = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
+                if (_v) {
+                    _v = SWIG_Check_unsigned_SS_int(argv[3]);
+                    if (_v) {
+                        return _wrap_new_RinexObsType__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexObsType'");
+    return NULL;
+}
+
+
+static int _wrap_RinexObsType_C1depend_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_C1depend is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_C1depend_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::C1depend)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsType_L1depend_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_L1depend is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_L1depend_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::L1depend)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsType_L2depend_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_L2depend is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_L2depend_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::L2depend)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsType_P1depend_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_P1depend is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_P1depend_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::P1depend)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsType_P2depend_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_P2depend is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_P2depend_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::P2depend)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsType_EPdepend_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_EPdepend is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_EPdepend_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::EPdepend)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsType_PSdepend_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsType_PSdepend is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsType_PSdepend_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_unsigned_SS_int((unsigned int)(RinexObsType::PSdepend)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject *_wrap_delete_RinexObsType(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsType *arg1 = (RinexObsType *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexObsType",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexObsType_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_RinexObsType, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ExtraWaveFact_prnList_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    ExtraWaveFact *arg1 = (ExtraWaveFact *) 0 ;
+    std::vector<gpstk::RinexPrn,std::allocator<gpstk::RinexPrn > > *arg2 = (std::vector<gpstk::RinexPrn,std::allocator<gpstk::RinexPrn > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ExtraWaveFact_prnList_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_ExtraWaveFact, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->prnList = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ExtraWaveFact_prnList_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    ExtraWaveFact *arg1 = (ExtraWaveFact *) 0 ;
+    std::vector<gpstk::RinexPrn,std::allocator<gpstk::RinexPrn > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ExtraWaveFact_prnList_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_ExtraWaveFact, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<gpstk::RinexPrn,std::allocator<gpstk::RinexPrn > > *)& ((arg1)->prnList);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ExtraWaveFact_wavelengthFactor_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    ExtraWaveFact *arg1 = (ExtraWaveFact *) 0 ;
+    short *arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ExtraWaveFact_wavelengthFactor_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_ExtraWaveFact, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_short, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        short *inp = (short *)(arg2);
+        if (inp) {
+            short *dest = (short *)(arg1->wavelengthFactor);
+            size_t ii = 0;
+            for (; ii < 2; ++ii) dest[ii] = inp[ii];
+        } else {
+            SWIG_null_ref("short");
+        }
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ExtraWaveFact_wavelengthFactor_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    ExtraWaveFact *arg1 = (ExtraWaveFact *) 0 ;
+    short *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ExtraWaveFact_wavelengthFactor_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_ExtraWaveFact, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short *)(short *) ((arg1)->wavelengthFactor);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_short, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ExtraWaveFact(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    ExtraWaveFact *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_ExtraWaveFact")) goto fail;
+    result = (ExtraWaveFact *)new ExtraWaveFact();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_ExtraWaveFact, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ExtraWaveFact(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    ExtraWaveFact *arg1 = (ExtraWaveFact *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ExtraWaveFact",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_ExtraWaveFact, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ExtraWaveFact_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_ExtraWaveFact, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_RinexPrn_prn_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrn_prn_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->prn = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrn_prn_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrn_prn_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int) ((arg1)->prn);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrn_system_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+    gpstk::RinexSystem arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrn_system_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::RinexSystem)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->system = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrn_system_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+    gpstk::RinexSystem result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrn_system_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::RinexSystem) ((arg1)->system);
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static int _wrap_RinexPrn_fillchar_set(PyObject *_val) {
+    {
+        char temp = (char)(SWIG_As_char(_val));
+        if (PyErr_Occurred()) {
+            SWIG_append_errmsg("C/C++ variable 'gpstk::RinexPrn::fillchar (char)'");
+            return 1;
+        }
+        gpstk::RinexPrn::fillchar = temp;
+    }
+    return 0;
+}
+
+
+static PyObject *_wrap_RinexPrn_fillchar_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_char((char)(gpstk::RinexPrn::fillchar)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject *_wrap_new_RinexPrn__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexPrn *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexPrn")) goto fail;
+    result = (gpstk::RinexPrn *)new gpstk::RinexPrn();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexPrn, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexPrn__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    int arg1 ;
+    gpstk::RinexSystem arg2 ;
+    gpstk::RinexPrn *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_RinexPrn",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (int)(SWIG_As_int(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (gpstk::RinexSystem)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::RinexPrn *)new gpstk::RinexPrn(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexPrn, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexPrn(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_RinexPrn__SWIG_0(self,args);
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_int(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_new_RinexPrn__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexPrn'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrn_setfill(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+    char arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrn_setfill",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (char)(SWIG_As_char(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->setfill(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrn_getfill(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+    char result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrn_getfill",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (char)(arg1)->getfill();
+    
+    {
+        resultobj = SWIG_From_char((char)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrn_System(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+    char result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrn_System",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (char)((gpstk::RinexPrn const *)arg1)->System();
+    
+    {
+        resultobj = SWIG_From_char((char)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexPrn(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexPrn *arg1 = (gpstk::RinexPrn *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexPrn",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexPrn_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexPrn, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexObsHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexObsHeader")) goto fail;
+    result = (gpstk::RinexObsHeader *)new gpstk::RinexObsHeader();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsHeader, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_clear(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_clear",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->clear();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static int _wrap_RinexObsHeader_versionString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_versionString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_versionString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::versionString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_runByString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_runByString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_runByString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::runByString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_commentString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_commentString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_commentString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::commentString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_markerNameString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_markerNameString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_markerNameString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::markerNameString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_markerNumberString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_markerNumberString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_markerNumberString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::markerNumberString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_observerString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_observerString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_observerString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::observerString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_receiverString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_receiverString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_receiverString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::receiverString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_antennaTypeString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_antennaTypeString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaTypeString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::antennaTypeString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_antennaPositionString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_antennaPositionString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaPositionString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::antennaPositionString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_antennaOffsetString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_antennaOffsetString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaOffsetString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::antennaOffsetString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_waveFactString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_waveFactString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_waveFactString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::waveFactString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_numObsString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_numObsString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numObsString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::numObsString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_intervalString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_intervalString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_intervalString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::intervalString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_firstTimeString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_firstTimeString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_firstTimeString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::firstTimeString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_lastTimeString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_lastTimeString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastTimeString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::lastTimeString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_receiverOffsetString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_receiverOffsetString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_receiverOffsetString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::receiverOffsetString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_leapSecondsString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_leapSecondsString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_leapSecondsString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::leapSecondsString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_numSatsString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_numSatsString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numSatsString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::numSatsString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_prnObsString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_prnObsString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_prnObsString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::prnObsString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_endOfHeader_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_endOfHeader is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_endOfHeader_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexObsHeader::endOfHeader)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_UN_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_UN is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_UN_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::UN), SWIGTYPE_p_RinexObsType, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_L1_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_L1 is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_L1_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::L1), SWIGTYPE_p_RinexObsType, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_L2_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_L2 is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_L2_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::L2), SWIGTYPE_p_RinexObsType, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_C1_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_C1 is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_C1_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::C1), SWIGTYPE_p_RinexObsType, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_P1_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_P1 is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_P1_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::P1), SWIGTYPE_p_RinexObsType, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_P2_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_P2 is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_P2_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::P2), SWIGTYPE_p_RinexObsType, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_D1_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_D1 is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_D1_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::D1), SWIGTYPE_p_RinexObsType, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_D2_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_D2 is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_D2_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::D2), SWIGTYPE_p_RinexObsType, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_S1_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_S1 is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_S1_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::S1), SWIGTYPE_p_RinexObsType, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_S2_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_S2 is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_S2_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::S2), SWIGTYPE_p_RinexObsType, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_T1_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_T1 is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_T1_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::T1), SWIGTYPE_p_RinexObsType, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_T2_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_T2 is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_T2_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::T2), SWIGTYPE_p_RinexObsType, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_StandardRinexObsTypes_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexObsHeader_StandardRinexObsTypes is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_StandardRinexObsTypes_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::StandardRinexObsTypes), SWIGTYPE_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t, 0);
+    return pyobj;
+}
+
+
+static int _wrap_RinexObsHeader_RegisteredRinexObsTypes_set(PyObject *_val) {
+    {
+        std::vector<RinexObsType,std::allocator<RinexObsType > > * temp;
+        if ((SWIG_ConvertPtr(_val, (void **)(&temp), SWIGTYPE_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t, SWIG_POINTER_EXCEPTION)) == -1) {
+            SWIG_append_errmsg("C/C++ variable 'gpstk::RinexObsHeader::RegisteredRinexObsTypes'");
+            return 1;
+        }
+        gpstk::RinexObsHeader::RegisteredRinexObsTypes = *((std::vector<RinexObsType,std::allocator<RinexObsType > > *) temp);
+    }
+    return 0;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_RegisteredRinexObsTypes_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::RinexObsHeader::RegisteredRinexObsTypes), SWIGTYPE_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t, 0);
+    return pyobj;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_version_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_version_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->version = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_version_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_version_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->version);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_fileType_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_fileType_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->fileType = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_fileType_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_fileType_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->fileType);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_system_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::RinexSystem arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_system_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::RinexSystem)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->system = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_system_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::RinexSystem result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_system_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::RinexSystem) ((arg1)->system);
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_fileProgram_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_fileProgram_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->fileProgram = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_fileProgram_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_fileProgram_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->fileProgram);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_fileAgency_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_fileAgency_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->fileAgency = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_fileAgency_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_fileAgency_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->fileAgency);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_date_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_date_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->date = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_date_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_date_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->date);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_commentList_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::vector<std::string,std::allocator<std::string > > *arg2 = (std::vector<std::string,std::allocator<std::string > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_commentList_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->commentList = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_commentList_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::vector<std::string,std::allocator<std::string > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_commentList_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<std::string,std::allocator<std::string > > *)& ((arg1)->commentList);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_markerName_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_markerName_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->markerName = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_markerName_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_markerName_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->markerName);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_markerNumber_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_markerNumber_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->markerNumber = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_markerNumber_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_markerNumber_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->markerNumber);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_observer_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_observer_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->observer = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_observer_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_observer_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->observer);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_agency_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_agency_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->agency = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_agency_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_agency_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->agency);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_recNo_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_recNo_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->recNo = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_recNo_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_recNo_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->recNo);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_recType_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_recType_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->recType = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_recType_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_recType_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->recType);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_recVers_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_recVers_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->recVers = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_recVers_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_recVers_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->recVers);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antNo_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_antNo_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->antNo = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antNo_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_antNo_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->antNo);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antType_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_antType_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->antType = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antType_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_antType_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->antType);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaPosition_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::Triple *arg2 = (gpstk::Triple *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_antennaPosition_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->antennaPosition = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaPosition_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::Triple *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_antennaPosition_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::Triple *)& ((arg1)->antennaPosition);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaOffset_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::Triple *arg2 = (gpstk::Triple *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_antennaOffset_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->antennaOffset = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_antennaOffset_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::Triple *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_antennaOffset_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::Triple *)& ((arg1)->antennaOffset);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_wavelengthFactor_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    short *arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_wavelengthFactor_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_short, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        short *inp = (short *)(arg2);
+        if (inp) {
+            short *dest = (short *)(arg1->wavelengthFactor);
+            size_t ii = 0;
+            for (; ii < 2; ++ii) dest[ii] = inp[ii];
+        } else {
+            SWIG_null_ref("short");
+        }
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_wavelengthFactor_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    short *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_wavelengthFactor_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short *)(short *) ((arg1)->wavelengthFactor);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_short, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_extraWaveFactList_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::vector<ExtraWaveFact,std::allocator<ExtraWaveFact > > *arg2 = (std::vector<ExtraWaveFact,std::allocator<ExtraWaveFact > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_extraWaveFactList_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->extraWaveFactList = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_extraWaveFactList_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::vector<ExtraWaveFact,std::allocator<ExtraWaveFact > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_extraWaveFactList_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<ExtraWaveFact,std::allocator<ExtraWaveFact > > *)& ((arg1)->extraWaveFactList);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_obsTypeList_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::vector<RinexObsType,std::allocator<RinexObsType > > *arg2 = (std::vector<RinexObsType,std::allocator<RinexObsType > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_obsTypeList_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->obsTypeList = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_obsTypeList_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::vector<RinexObsType,std::allocator<RinexObsType > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_obsTypeList_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<RinexObsType,std::allocator<RinexObsType > > *)& ((arg1)->obsTypeList);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_interval_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_interval_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->interval = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_interval_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_interval_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->interval);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_firstObs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::DayTime *arg2 = (gpstk::DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_firstObs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->firstObs = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_firstObs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_firstObs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::DayTime *)& ((arg1)->firstObs);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_firstSystem_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::RinexSystem arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_firstSystem_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::RinexSystem)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->firstSystem = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_firstSystem_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::RinexSystem result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_firstSystem_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::RinexSystem) ((arg1)->firstSystem);
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastObs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::DayTime *arg2 = (gpstk::DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_lastObs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->lastObs = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastObs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_lastObs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::DayTime *)& ((arg1)->lastObs);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastSystem_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::RinexSystem arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_lastSystem_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::RinexSystem)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->lastSystem = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastSystem_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::RinexSystem result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_lastSystem_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::RinexSystem) ((arg1)->lastSystem);
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_receiverOffset_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_receiverOffset_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->receiverOffset = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_receiverOffset_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_receiverOffset_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int) ((arg1)->receiverOffset);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_leapSeconds_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_leapSeconds_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->leapSeconds = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_leapSeconds_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_leapSeconds_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int) ((arg1)->leapSeconds);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numSVs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_numSVs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->numSVs = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numSVs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_numSVs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->numSVs);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numObsForPrn_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::map<gpstk::RinexPrn,std::vector<int,std::allocator<int > >,std::less<gpstk::RinexPrn >,std::allocator<std::pair<gpstk::RinexPrn const,std::vector<int,std::allocator<int > > > > > *arg2 = (std::map<gpstk::RinexPrn,std::vector<int,std::allocator<int > >,std::less<gpstk::RinexPrn >,std::allocator<std::pair<gpstk::RinexPrn const,std::vector<int,std::allocator<int > > > > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_numObsForPrn_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->numObsForPrn = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numObsForPrn_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::map<gpstk::RinexPrn,std::vector<int,std::allocator<int > >,std::less<gpstk::RinexPrn >,std::allocator<std::pair<gpstk::RinexPrn const,std::vector<int,std::allocator<int > > > > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_numObsForPrn_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::map<gpstk::RinexPrn,std::vector<int,std::allocator<int > >,std::less<gpstk::RinexPrn >,std::allocator<std::pair<gpstk::RinexPrn const,std::vector<int,std::allocator<int > > > > > *)& ((arg1)->numObsForPrn);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_valid_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    unsigned long arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_valid_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->valid = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_valid_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    unsigned long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_valid_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned long) ((arg1)->valid);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numObs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_numObs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->numObs = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_numObs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_numObs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int) ((arg1)->numObs);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastPRN_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::RinexPrn *arg2 = (gpstk::RinexPrn *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_lastPRN_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->lastPRN = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_lastPRN_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::RinexPrn *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_lastPRN_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::RinexPrn *)& ((arg1)->lastPRN);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexPrn, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexObsHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexObsHeader",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_isHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_isHeader",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::RinexObsHeader const *)arg1)->isHeader();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::RinexObsHeader const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_convertObsType__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    RinexObsType result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_convertObsType",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    try {
+        result = gpstk::RinexObsHeader::convertObsType((std::string const &)*arg1);
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        RinexObsType * resultptr;
+        resultptr = new RinexObsType((RinexObsType &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_RinexObsType, 1);
+    }
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_convertObsType__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexObsType *arg1 = 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_convertObsType",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("RinexObsType");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    try {
+        result = gpstk::RinexObsHeader::convertObsType((RinexObsType const &)*arg1);
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_convertObsType(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[2];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_RinexObsHeader_convertObsType__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_RinexObsHeader_convertObsType__SWIG_0(self,args);
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RinexObsHeader_convertObsType'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_ParseHeaderRecord(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    std::string *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_ParseHeaderRecord",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        (arg1)->ParseHeaderRecord(*arg2);
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_NumberHeaderRecordsToBeWritten(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_NumberHeaderRecordsToBeWritten",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int)((gpstk::RinexObsHeader const *)arg1)->NumberHeaderRecordsToBeWritten();
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_WriteHeaderRecords(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    gpstk::FFStream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsHeader_WriteHeaderRecords",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__FFStream, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::FFStream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        ((gpstk::RinexObsHeader const *)arg1)->WriteHeaderRecords(*arg2);
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(gpstk::StringUtils::StringException &_e) {
+        {
+            gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+            if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsHeader_isValid(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader *arg1 = (gpstk::RinexObsHeader *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsHeader_isValid",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::RinexObsHeader const *)arg1)->isValid();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexObsHeader_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexObsHeader, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap___eq____SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader::RinexObsType *arg1 = 0 ;
+    gpstk::RinexObsHeader::RinexObsType *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__eq__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::RinexObsHeader::RinexObsType");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::RinexObsHeader::RinexObsType");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)gpstk::operator ==((RinexObsType const &)*arg1,(RinexObsType const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___lt____SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsHeader::RinexObsType *arg1 = 0 ;
+    gpstk::RinexObsHeader::RinexObsType *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__lt__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::RinexObsHeader::RinexObsType");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::RinexObsHeader::RinexObsType");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)gpstk::operator <((RinexObsType const &)*arg1,(RinexObsType const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___lshift____SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::RinexObsHeader::RinexObsType arg2 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__lshift__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        gpstk::RinexObsHeader::RinexObsType * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_RinexObsType, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("gpstk::RinexObsHeader::RinexObsType");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    {
+        std::ostream &_result_ref = gpstk::operator <<(*arg1,arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RegisterExtendedRinexObsType__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    std::string arg2 ;
+    std::string arg3 ;
+    unsigned int arg4 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:RegisterExtendedRinexObsType",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj2, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj2);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg4 = (unsigned int)(SWIG_As_unsigned_SS_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    result = (int)gpstk::RegisterExtendedRinexObsType(arg1,arg2,arg3,arg4);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RegisterExtendedRinexObsType__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    std::string arg2 ;
+    std::string arg3 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:RegisterExtendedRinexObsType",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj2, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj2);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (int)gpstk::RegisterExtendedRinexObsType(arg1,arg2,arg3);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RegisterExtendedRinexObsType__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    std::string arg2 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RegisterExtendedRinexObsType",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (int)gpstk::RegisterExtendedRinexObsType(arg1,arg2);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RegisterExtendedRinexObsType__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RegisterExtendedRinexObsType",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (int)gpstk::RegisterExtendedRinexObsType(arg1);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RegisterExtendedRinexObsType(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_RegisterExtendedRinexObsType__SWIG_3(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+            if (_v) {
+                return _wrap_RegisterExtendedRinexObsType__SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+            if (_v) {
+                _v = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
+                if (_v) {
+                    return _wrap_RegisterExtendedRinexObsType__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_AsPtr_std_string(argv[1], (std::string**)(0));
+            if (_v) {
+                _v = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
+                if (_v) {
+                    _v = SWIG_Check_unsigned_SS_int(argv[3]);
+                    if (_v) {
+                        return _wrap_RegisterExtendedRinexObsType__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RegisterExtendedRinexObsType'");
+    return NULL;
+}
+
+
+static PyObject *_wrap___eq____SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexPrn *arg1 = 0 ;
+    gpstk::RinexPrn *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__eq__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::RinexPrn");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::RinexPrn");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)gpstk::operator ==((gpstk::RinexPrn const &)*arg1,(gpstk::RinexPrn const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___eq__(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___eq____SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___eq____SWIG_1(self,args);
+            }
+        }
+    }
+    
+    Py_INCREF(Py_NotImplemented);
+    return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap___ne__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexPrn *arg1 = 0 ;
+    gpstk::RinexPrn *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__ne__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::RinexPrn");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::RinexPrn");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)gpstk::operator !=((gpstk::RinexPrn const &)*arg1,(gpstk::RinexPrn const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___lt____SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexPrn *arg1 = 0 ;
+    gpstk::RinexPrn *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__lt__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::RinexPrn");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::RinexPrn");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)gpstk::operator <((gpstk::RinexPrn const &)*arg1,(gpstk::RinexPrn const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___lt__(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___lt____SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___lt____SWIG_1(self,args);
+            }
+        }
+    }
+    
+    Py_INCREF(Py_NotImplemented);
+    return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap___lshift____SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::RinexPrn *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__lshift__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::RinexPrn");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = gpstk::operator <<(*arg1,(gpstk::RinexPrn const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___rshift____SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::istream *arg1 = 0 ;
+    gpstk::RinexPrn *arg2 = 0 ;
+    std::istream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__rshift__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::istream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexPrn, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::RinexPrn");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::istream &_result_ref = gpstk::operator >>(*arg1,*arg2);
+        result = (std::istream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___rshift__(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__SatID, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___rshift____SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___rshift____SWIG_1(self,args);
+            }
+        }
+    }
+    
+    Py_INCREF(Py_NotImplemented);
+    return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap_DisplayExtendedRinexObsTypes(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DisplayExtendedRinexObsTypes",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    gpstk::DisplayExtendedRinexObsTypes(*arg1);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexDatum(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexDatum *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexDatum")) goto fail;
+    result = (RinexDatum *)new RinexDatum();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_RinexDatum, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexDatum_data_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexDatum *arg1 = (RinexDatum *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexDatum_data_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->data = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexDatum_data_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexDatum *arg1 = (RinexDatum *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexDatum_data_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->data);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexDatum_lli_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexDatum *arg1 = (RinexDatum *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexDatum_lli_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->lli = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexDatum_lli_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexDatum *arg1 = (RinexDatum *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexDatum_lli_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->lli);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexDatum_ssi_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexDatum *arg1 = (RinexDatum *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexDatum_ssi_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->ssi = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexDatum_ssi_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexDatum *arg1 = (RinexDatum *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexDatum_ssi_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->ssi);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexDatum(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    RinexDatum *arg1 = (RinexDatum *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexDatum",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_RinexDatum, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexDatum_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_RinexDatum, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_RinexObsData_time_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    gpstk::DayTime *arg2 = (gpstk::DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_time_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->time = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_time_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_time_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::DayTime *)& ((arg1)->time);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_epochFlag_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_epochFlag_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->epochFlag = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_epochFlag_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_epochFlag_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->epochFlag);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_numSvs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_numSvs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->numSvs = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_numSvs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_numSvs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->numSvs);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_clockOffset_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_clockOffset_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->clockOffset = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_clockOffset_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_clockOffset_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->clockOffset);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_obs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    gpstk::RinexObsData::RinexPrnMap *arg2 = (gpstk::RinexObsData::RinexPrnMap *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_obs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->obs = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_obs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    gpstk::RinexObsData::RinexPrnMap *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_obs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::RinexObsData::RinexPrnMap *)& ((arg1)->obs);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_auxHeader_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    gpstk::RinexObsHeader *arg2 = (gpstk::RinexObsHeader *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_auxHeader_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__RinexObsHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->auxHeader = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_auxHeader_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    gpstk::RinexObsHeader *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_auxHeader_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::RinexObsHeader *)& ((arg1)->auxHeader);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsHeader, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexObsData")) goto fail;
+    result = (gpstk::RinexObsData *)new gpstk::RinexObsData();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexObsData, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexObsData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexObsData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_isData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsData_isData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::RinexObsData const *)arg1)->isData();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsData_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexObsData *arg1 = (gpstk::RinexObsData *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsData_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexObsData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::RinexObsData const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexObsData_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexObsData, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexObsTypeMap__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexObsTypeMap")) goto fail;
+    result = (std::map<RinexObsType,RinexDatum > *)new std::map<RinexObsType,RinexDatum >();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsTypeMap__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = 0 ;
+    std::map<RinexObsType,RinexDatum > *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_RinexObsTypeMap",&obj0)) goto fail;
+    {
+        std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > > *ptr = (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > > *)0;
+        res1 = swig::asptr(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::map<RinexObsType,RinexDatum >", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::map<RinexObsType,RinexDatum >");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::map<RinexObsType,RinexDatum > *)new std::map<RinexObsType,RinexDatum >((std::map<RinexObsType,RinexDatum > const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexObsTypeMap(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[2];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_RinexObsTypeMap__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = swig::asptr(argv[0], (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >**)(0));
+        if (_v) {
+            return _wrap_new_RinexObsTypeMap__SWIG_1(self,args);
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexObsTypeMap'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_empty(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_empty",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((std::map<RinexObsType,RinexDatum > const *)arg1)->empty();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_size(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    std::map<RinexObsType,RinexDatum >::size_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_size",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::map<RinexObsType,RinexDatum > const *)arg1)->size();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_clear(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_clear",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->clear();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_swap(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    std::map<RinexObsType,RinexDatum > *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap_swap",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexObsType,RinexDatum >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->swap(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_get_allocator(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    SwigValueWrapper<std::allocator<std::pair<RinexObsType const,RinexDatum > > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_get_allocator",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::map<RinexObsType,RinexDatum > const *)arg1)->get_allocator();
+    
+    {
+        std::map<RinexObsType,RinexDatum >::allocator_type * resultptr;
+        resultptr = new std::map<RinexObsType,RinexDatum >::allocator_type((std::map<RinexObsType,RinexDatum >::allocator_type &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_erase(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+    std::map<RinexObsType,RinexDatum >::size_type result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap_erase",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (arg1)->erase((RinexObsType const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_count(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+    std::map<RinexObsType,RinexDatum >::size_type result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap_count",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = ((std::map<RinexObsType,RinexDatum > const *)arg1)->count((RinexObsType const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___nonzero__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap___nonzero__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____nonzero__((std::map<RinexObsType,RinexDatum > const *)arg1);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___len__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    std::map<RinexObsType,RinexDatum >::size_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap___len__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____len__((std::map<RinexObsType,RinexDatum > const *)arg1);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___getitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+    std::map<RinexObsType,RinexDatum >::mapped_type result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap___getitem__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        try {
+            result = std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____getitem__((std::map<RinexObsType,RinexDatum > const *)arg1,(RinexObsType const &)*arg2);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    {
+        std::map<RinexObsType,RinexDatum >::mapped_type * resultptr;
+        resultptr = new std::map<RinexObsType,RinexDatum >::mapped_type((std::map<RinexObsType,RinexDatum >::mapped_type &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___setitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+    std::map<RinexObsType,RinexDatum >::mapped_type *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:RinexObsTypeMap___setitem__",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("std::map<RinexObsType,RinexDatum >::mapped_type");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        try {
+            std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____setitem__(arg1,(RinexObsType const &)*arg2,(RinexDatum const &)*arg3);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___delitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap___delitem__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        try {
+            std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____delitem__(arg1,(RinexObsType const &)*arg2);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_has_key(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap_has_key",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__has_key((std::map<RinexObsType,RinexDatum > const *)arg1,(RinexObsType const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_keys(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_keys",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (PyObject *)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__keys(arg1);
+    
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_values(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_values",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (PyObject *)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__values(arg1);
+    
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap_items(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap_items",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (PyObject *)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg__items(arg1);
+    
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___contains__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    std::map<RinexObsType,RinexDatum >::key_type *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexObsTypeMap___contains__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexObsType,RinexDatum >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____contains__(arg1,(RinexObsType const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexObsTypeMap___iter__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexObsTypeMap___iter__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (PyObject *)std_map_Sl_RinexObsType_Sc_RinexDatum_Sg____iter__(arg1);
+    
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexObsTypeMap(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexObsType,RinexDatum > *arg1 = (std::map<RinexObsType,RinexDatum > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexObsTypeMap",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexObsTypeMap_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexPrnMap__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexPrnMap")) goto fail;
+    result = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *)new std::map<RinexPrn,RinexObsData::RinexObsTypeMap >();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexPrnMap__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_RinexPrnMap",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *)new std::map<RinexPrn,RinexObsData::RinexObsTypeMap >((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexPrnMap(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[2];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_RinexPrnMap__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_RinexPrnMap__SWIG_1(self,args);
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexPrnMap'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_empty(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_empty",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1)->empty();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_size(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::size_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_size",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1)->size();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_clear(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_clear",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->clear();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_swap(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap_swap",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->swap(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_get_allocator(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    SwigValueWrapper<std::allocator<std::pair<gpstk::RinexPrn const,std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > > > > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_get_allocator",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1)->get_allocator();
+    
+    {
+        std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::allocator_type * resultptr;
+        resultptr = new std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::allocator_type((std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::allocator_type &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_erase(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::size_type result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap_erase",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (arg1)->erase((gpstk::RinexPrn const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_count(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::size_type result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap_count",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = ((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1)->count((gpstk::RinexPrn const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___nonzero__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap___nonzero__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____nonzero__((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___len__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::size_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap___len__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____len__((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___getitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::mapped_type result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap___getitem__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        try {
+            result = std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____getitem__((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1,(gpstk::RinexPrn const &)*arg2);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    {
+        resultobj = swig::from((std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > >)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___setitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::mapped_type *arg3 = 0 ;
+    int res3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:RinexPrnMap___setitem__",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > > *ptr = (std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > > *)0;
+        res3 = swig::asptr(obj2, &ptr);
+        if (!res3) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::mapped_type", obj2);
+        } else if (!ptr) {
+            SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::mapped_type");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = ptr;
+    }
+    {
+        try {
+            std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____setitem__(arg1,(gpstk::RinexPrn const &)*arg2,(std::map<RinexObsType,RinexDatum,std::less<RinexObsType >,std::allocator<std::pair<RinexObsType const,RinexDatum > > > const &)*arg3);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    if (res3 == SWIG_NEWOBJ) delete arg3;
+    return resultobj;
+    fail:
+    if (res3 == SWIG_NEWOBJ) delete arg3;
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___delitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap___delitem__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        try {
+            std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____delitem__(arg1,(gpstk::RinexPrn const &)*arg2);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_has_key(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap_has_key",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__has_key((std::map<RinexPrn,RinexObsData::RinexObsTypeMap > const *)arg1,(gpstk::RinexPrn const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_keys(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_keys",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (PyObject *)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__keys(arg1);
+    
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_values(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_values",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (PyObject *)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__values(arg1);
+    
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap_items(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap_items",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (PyObject *)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg__items(arg1);
+    
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___contains__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexPrnMap___contains__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____contains__(arg1,(gpstk::RinexPrn const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexPrnMap___iter__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexPrnMap___iter__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (PyObject *)std_map_Sl_RinexPrn_Sc_RinexObsData_RinexObsTypeMap_Sg____iter__(arg1);
+    
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexPrnMap(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *arg1 = (std::map<RinexPrn,RinexObsData::RinexObsTypeMap > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexPrnMap",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexPrnMap_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_BOGUS_TEMPLATE__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_BOGUS_TEMPLATE")) goto fail;
+    result = (std::map<RinexPrn,int > *)new std::map<RinexPrn,int >();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_BOGUS_TEMPLATE__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = 0 ;
+    std::map<RinexPrn,int > *result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_BOGUS_TEMPLATE",&obj0)) goto fail;
+    {
+        std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > > *ptr = (std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > > *)0;
+        res1 = swig::asptr(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::map<RinexPrn,int >", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::map<RinexPrn,int >");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    result = (std::map<RinexPrn,int > *)new std::map<RinexPrn,int >((std::map<RinexPrn,int > const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, 1);
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_BOGUS_TEMPLATE(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[2];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_BOGUS_TEMPLATE__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = swig::asptr(argv[0], (std::map<RinexPrn,int,std::less<RinexPrn >,std::allocator<std::pair<RinexPrn const,int > > >**)(0));
+        if (_v) {
+            return _wrap_new_BOGUS_TEMPLATE__SWIG_1(self,args);
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_BOGUS_TEMPLATE'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_empty(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_empty",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((std::map<RinexPrn,int > const *)arg1)->empty();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_size(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    std::map<RinexPrn,int >::size_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_size",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::map<RinexPrn,int > const *)arg1)->size();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_clear(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_clear",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    (arg1)->clear();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_swap(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    std::map<RinexPrn,int > *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE_swap",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,int >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->swap(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_get_allocator(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    SwigValueWrapper<std::allocator<std::pair<gpstk::RinexPrn const,int > > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_get_allocator",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((std::map<RinexPrn,int > const *)arg1)->get_allocator();
+    
+    {
+        std::map<RinexPrn,int >::allocator_type * resultptr;
+        resultptr = new std::map<RinexPrn,int >::allocator_type((std::map<RinexPrn,int >::allocator_type &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_erase(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+    std::map<RinexPrn,int >::size_type result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE_erase",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (arg1)->erase((gpstk::RinexPrn const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_count(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+    std::map<RinexPrn,int >::size_type result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE_count",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = ((std::map<RinexPrn,int > const *)arg1)->count((gpstk::RinexPrn const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___nonzero__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE___nonzero__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)std_map_Sl_RinexPrn_Sc_int_Sg____nonzero__((std::map<RinexPrn,int > const *)arg1);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___len__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    std::map<RinexPrn,int >::size_type result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE___len__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = std_map_Sl_RinexPrn_Sc_int_Sg____len__((std::map<RinexPrn,int > const *)arg1);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___getitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+    std::map<RinexPrn,int >::mapped_type result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE___getitem__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        try {
+            result = (std::map<RinexPrn,int >::mapped_type)std_map_Sl_RinexPrn_Sc_int_Sg____getitem__((std::map<RinexPrn,int > const *)arg1,(gpstk::RinexPrn const &)*arg2);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___setitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+    std::map<RinexPrn,int >::mapped_type *arg3 = 0 ;
+    std::map<RinexPrn,int >::mapped_type temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:BOGUS_TEMPLATE___setitem__",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        temp3 = (std::map<RinexPrn,int >::mapped_type)(SWIG_As_int(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        try {
+            std_map_Sl_RinexPrn_Sc_int_Sg____setitem__(arg1,(gpstk::RinexPrn const &)*arg2,(int const &)*arg3);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___delitem__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE___delitem__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        try {
+            std_map_Sl_RinexPrn_Sc_int_Sg____delitem__(arg1,(gpstk::RinexPrn const &)*arg2);
+        }
+        catch (std::out_of_range& e) {
+            if (!PyErr_Occurred()) {
+                SWIG_exception(SWIG_IndexError,const_cast<char*>(e.what()));
+            } else {
+                SWIG_fail;
+            }
+        }
+        /*@/usr/local/share/swig/1.3.25/exception.i,341,SWIG_CATCH_UNKNOWN@*/  catch (std::exception& e) {
+            SWIG_exception(SWIG_SystemError, e.what() );
+        }
+        catch (...) {
+            SWIG_exception(SWIG_UnknownError, "unknown exception");
+        }
+        /*@@*/
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_has_key(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE_has_key",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)std_map_Sl_RinexPrn_Sc_int_Sg__has_key((std::map<RinexPrn,int > const *)arg1,(gpstk::RinexPrn const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_keys(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_keys",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (PyObject *)std_map_Sl_RinexPrn_Sc_int_Sg__keys(arg1);
+    
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_values(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_values",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (PyObject *)std_map_Sl_RinexPrn_Sc_int_Sg__values(arg1);
+    
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE_items(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE_items",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (PyObject *)std_map_Sl_RinexPrn_Sc_int_Sg__items(arg1);
+    
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___contains__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    std::map<RinexPrn,int >::key_type *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:BOGUS_TEMPLATE___contains__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::map<RinexPrn,int >::key_type");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)std_map_Sl_RinexPrn_Sc_int_Sg____contains__(arg1,(gpstk::RinexPrn const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_BOGUS_TEMPLATE___iter__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    PyObject *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:BOGUS_TEMPLATE___iter__",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (PyObject *)std_map_Sl_RinexPrn_Sc_int_Sg____iter__(arg1);
+    
+    resultobj = result;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_BOGUS_TEMPLATE(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::map<RinexPrn,int > *arg1 = (std::map<RinexPrn,int > *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_BOGUS_TEMPLATE",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * BOGUS_TEMPLATE_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SP3Header(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_SP3Header")) goto fail;
+    result = (gpstk::SP3Header *)new gpstk::SP3Header();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3Header, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_SP3Header(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_SP3Header",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_isHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_isHeader",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::SP3Header const *)arg1)->isHeader();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::SP3Header const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_version_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    char arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_version_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (char)(SWIG_As_char(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->version = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_version_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    char result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_version_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (char) ((arg1)->version);
+    
+    {
+        resultobj = SWIG_From_char((char)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_pvFlag_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    char arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_pvFlag_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (char)(SWIG_As_char(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->pvFlag = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_pvFlag_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    char result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_pvFlag_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (char) ((arg1)->pvFlag);
+    
+    {
+        resultobj = SWIG_From_char((char)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_time_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_time_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->time = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_time_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_time_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->time);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_epochInterval_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_epochInterval_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->epochInterval = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_epochInterval_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_epochInterval_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->epochInterval);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_numberOfEpochs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_numberOfEpochs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->numberOfEpochs = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_numberOfEpochs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_numberOfEpochs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int) ((arg1)->numberOfEpochs);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_dataUsed_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_dataUsed_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->dataUsed = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_dataUsed_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_dataUsed_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->dataUsed);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_coordSystem_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_coordSystem_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->coordSystem = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_coordSystem_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_coordSystem_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->coordSystem);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_orbitType_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_orbitType_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->orbitType = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_orbitType_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_orbitType_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->orbitType);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_agency_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_agency_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->agency = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_agency_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_agency_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->agency);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_svList_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::map<short,short,std::less<short >,std::allocator<std::pair<short const,short > > > *arg2 = (std::map<short,short,std::less<short >,std::allocator<std::pair<short const,short > > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_svList_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->svList = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_svList_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::map<short,short,std::less<short >,std::allocator<std::pair<short const,short > > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_svList_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::map<short,short,std::less<short >,std::allocator<std::pair<short const,short > > > *)& ((arg1)->svList);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_comments_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::vector<std::string,std::allocator<std::string > > *arg2 = (std::vector<std::string,std::allocator<std::string > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Header_comments_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->comments = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Header_comments_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Header *arg1 = (gpstk::SP3Header *) 0 ;
+    std::vector<std::string,std::allocator<std::string > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Header_comments_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Header, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<std::string,std::allocator<std::string > > *)& ((arg1)->comments);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SP3Header_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__SP3Header, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexNavHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexNavHeader")) goto fail;
+    result = (gpstk::RinexNavHeader *)new gpstk::RinexNavHeader();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavHeader, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexNavHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexNavHeader",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_isHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_isHeader",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::RinexNavHeader const *)arg1)->isHeader();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::RinexNavHeader const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_valid_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    unsigned long arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_valid_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->valid = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_valid_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    unsigned long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_valid_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned long) ((arg1)->valid);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_version_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_version_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->version = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_version_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_version_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->version);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_fileType_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_fileType_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->fileType = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_fileType_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_fileType_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->fileType);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_fileProgram_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_fileProgram_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->fileProgram = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_fileProgram_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_fileProgram_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->fileProgram);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_fileAgency_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_fileAgency_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->fileAgency = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_fileAgency_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_fileAgency_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->fileAgency);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_date_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_date_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->date = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_date_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_date_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->date);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_commentList_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    std::vector<std::string,std::allocator<std::string > > *arg2 = (std::vector<std::string,std::allocator<std::string > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_commentList_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->commentList = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_commentList_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    std::vector<std::string,std::allocator<std::string > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_commentList_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<std::string,std::allocator<std::string > > *)& ((arg1)->commentList);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_ionAlpha_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    double *arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_ionAlpha_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        double *inp = (double *)(arg2);
+        if (inp) {
+            double *dest = (double *)(arg1->ionAlpha);
+            size_t ii = 0;
+            for (; ii < 4; ++ii) dest[ii] = inp[ii];
+        } else {
+            SWIG_null_ref("double");
+        }
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_ionAlpha_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    double *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_ionAlpha_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double *)(double *) ((arg1)->ionAlpha);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_double, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_ionBeta_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    double *arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_ionBeta_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        double *inp = (double *)(arg2);
+        if (inp) {
+            double *dest = (double *)(arg1->ionBeta);
+            size_t ii = 0;
+            for (; ii < 4; ++ii) dest[ii] = inp[ii];
+        } else {
+            SWIG_null_ref("double");
+        }
+    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_ionBeta_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    double *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_ionBeta_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double *)(double *) ((arg1)->ionBeta);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_double, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_A0_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_A0_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->A0 = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_A0_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_A0_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->A0);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_A1_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_A1_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->A1 = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_A1_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_A1_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->A1);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_UTCRefTime_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    long arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_UTCRefTime_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->UTCRefTime = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_UTCRefTime_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_UTCRefTime_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (long) ((arg1)->UTCRefTime);
+    
+    {
+        resultobj = SWIG_From_long((long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_UTCRefWeek_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    long arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_UTCRefWeek_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->UTCRefWeek = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_UTCRefWeek_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_UTCRefWeek_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (long) ((arg1)->UTCRefWeek);
+    
+    {
+        resultobj = SWIG_From_long((long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_leapSeconds_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    long arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavHeader_leapSeconds_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->leapSeconds = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_leapSeconds_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavHeader *arg1 = (gpstk::RinexNavHeader *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavHeader_leapSeconds_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (long) ((arg1)->leapSeconds);
+    
+    {
+        resultobj = SWIG_From_long((long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static int _wrap_RinexNavHeader_versionString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_versionString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_versionString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::versionString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_runByString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_runByString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_runByString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::runByString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_commentString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_commentString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_commentString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::commentString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_ionAlphaString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_ionAlphaString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_ionAlphaString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::ionAlphaString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_ionBetaString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_ionBetaString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_ionBetaString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::ionBetaString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_deltaUTCString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_deltaUTCString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_deltaUTCString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::deltaUTCString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_leapSecondsString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_leapSecondsString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_leapSecondsString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::leapSecondsString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexNavHeader_endOfHeader_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexNavHeader_endOfHeader is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexNavHeader_endOfHeader_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexNavHeader::endOfHeader)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject * RinexNavHeader_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexNavHeader, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_WrongBlockNumber__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WrongBlockNumber *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_WrongBlockNumber")) goto fail;
+    result = (gpstk::WrongBlockNumber *)new gpstk::WrongBlockNumber();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockNumber__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WrongBlockNumber *arg1 = 0 ;
+    gpstk::WrongBlockNumber *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_WrongBlockNumber",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockNumber, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::WrongBlockNumber");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::WrongBlockNumber *)new gpstk::WrongBlockNumber((gpstk::WrongBlockNumber const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockNumber__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::WrongBlockNumber *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_WrongBlockNumber",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::WrongBlockNumber *)new gpstk::WrongBlockNumber((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockNumber__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::WrongBlockNumber *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_WrongBlockNumber",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::WrongBlockNumber *)new gpstk::WrongBlockNumber(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockNumber__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::WrongBlockNumber *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_WrongBlockNumber",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::WrongBlockNumber *)new gpstk::WrongBlockNumber(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockNumber__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::WrongBlockNumber *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_WrongBlockNumber",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::WrongBlockNumber *)new gpstk::WrongBlockNumber(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockNumber(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_WrongBlockNumber__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WrongBlockNumber, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_WrongBlockNumber__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_WrongBlockNumber__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_WrongBlockNumber__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_WrongBlockNumber__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_WrongBlockNumber__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_WrongBlockNumber'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_WrongBlockNumber(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WrongBlockNumber *arg1 = (gpstk::WrongBlockNumber *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_WrongBlockNumber",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockNumber, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WrongBlockNumber_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WrongBlockNumber *arg1 = (gpstk::WrongBlockNumber *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WrongBlockNumber_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockNumber, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::WrongBlockNumber const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WrongBlockNumber_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WrongBlockNumber *arg1 = (gpstk::WrongBlockNumber *) 0 ;
+    gpstk::WrongBlockNumber *arg2 = 0 ;
+    gpstk::WrongBlockNumber *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WrongBlockNumber_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockNumber, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WrongBlockNumber, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::WrongBlockNumber");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::WrongBlockNumber &_result_ref = (arg1)->operator =((gpstk::WrongBlockNumber const &)*arg2);
+        result = (gpstk::WrongBlockNumber *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockNumber, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_9(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::WrongBlockNumber *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WrongBlockNumber, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::WrongBlockNumber");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::WrongBlockNumber const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * WrongBlockNumber_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__WrongBlockNumber, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_WrongBlockFormat__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WrongBlockFormat *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_WrongBlockFormat")) goto fail;
+    result = (gpstk::WrongBlockFormat *)new gpstk::WrongBlockFormat();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockFormat__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WrongBlockFormat *arg1 = 0 ;
+    gpstk::WrongBlockFormat *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_WrongBlockFormat",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockFormat, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::WrongBlockFormat");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::WrongBlockFormat *)new gpstk::WrongBlockFormat((gpstk::WrongBlockFormat const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockFormat__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::WrongBlockFormat *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_WrongBlockFormat",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::WrongBlockFormat *)new gpstk::WrongBlockFormat((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockFormat__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::WrongBlockFormat *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_WrongBlockFormat",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::WrongBlockFormat *)new gpstk::WrongBlockFormat(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockFormat__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::WrongBlockFormat *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_WrongBlockFormat",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::WrongBlockFormat *)new gpstk::WrongBlockFormat(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockFormat__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::WrongBlockFormat *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_WrongBlockFormat",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::WrongBlockFormat *)new gpstk::WrongBlockFormat(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_WrongBlockFormat(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_WrongBlockFormat__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__WrongBlockFormat, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_WrongBlockFormat__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_WrongBlockFormat__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_WrongBlockFormat__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_WrongBlockFormat__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_WrongBlockFormat__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_WrongBlockFormat'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_WrongBlockFormat(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WrongBlockFormat *arg1 = (gpstk::WrongBlockFormat *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_WrongBlockFormat",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockFormat, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WrongBlockFormat_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WrongBlockFormat *arg1 = (gpstk::WrongBlockFormat *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:WrongBlockFormat_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockFormat, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::WrongBlockFormat const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_WrongBlockFormat_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::WrongBlockFormat *arg1 = (gpstk::WrongBlockFormat *) 0 ;
+    gpstk::WrongBlockFormat *arg2 = 0 ;
+    gpstk::WrongBlockFormat *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:WrongBlockFormat_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__WrongBlockFormat, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WrongBlockFormat, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::WrongBlockFormat");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::WrongBlockFormat &_result_ref = (arg1)->operator =((gpstk::WrongBlockFormat const &)*arg2);
+        result = (gpstk::WrongBlockFormat *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__WrongBlockFormat, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_10(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::WrongBlockFormat *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__WrongBlockFormat, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::WrongBlockFormat");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::WrongBlockFormat const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * WrongBlockFormat_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__WrongBlockFormat, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FICData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_FICData")) goto fail;
+    result = (gpstk::FICData *)new gpstk::FICData();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICData, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_FICData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FICData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_isValid(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FICData_isValid",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::FICData const *)arg1)->isValid();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_isData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FICData_isData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::FICData const *)arg1)->isData();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FICData_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::FICData const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_prettyDump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FICData_prettyDump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::FICData const *)arg1)->prettyDump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_operator_EngEphemeris(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    EngEphemeris result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FICData_operator_EngEphemeris",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::FICData const *)arg1)->operator EngEphemeris();
+    
+    {
+        EngEphemeris * resultptr;
+        resultptr = new EngEphemeris((EngEphemeris &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__EngEphemeris, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_operator_AlmOrbit(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    gpstk::AlmOrbit result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FICData_operator_AlmOrbit",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::FICData const *)arg1)->operator gpstk::AlmOrbit();
+    
+    {
+        gpstk::AlmOrbit * resultptr;
+        resultptr = new gpstk::AlmOrbit((gpstk::AlmOrbit &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__AlmOrbit, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_generateUniqueKey(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FICData_generateUniqueKey",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = ((gpstk::FICData const *)arg1)->generateUniqueKey();
+    }
+    catch(gpstk::WrongBlockNumber &_e) {
+        {
+            gpstk::WrongBlockNumber * temp = new gpstk::WrongBlockNumber(_e);
+            if (SWIGTYPE_p_gpstk__WrongBlockNumber->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__WrongBlockNumber->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__WrongBlockNumber,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::WrongBlockNumber");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__WrongBlockNumber,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(gpstk::WrongBlockFormat &_e) {
+        {
+            gpstk::WrongBlockFormat * temp = new gpstk::WrongBlockFormat(_e);
+            if (SWIGTYPE_p_gpstk__WrongBlockFormat->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__WrongBlockFormat->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__WrongBlockFormat,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::WrongBlockFormat");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__WrongBlockFormat,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static int _wrap_FICData_blockString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable FICData_blockString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_FICData_blockString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::FICData::blockString)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject *_wrap_FICData_blockNum_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    long arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FICData_blockNum_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->blockNum = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_blockNum_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FICData_blockNum_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (long) ((arg1)->blockNum);
+    
+    {
+        resultobj = SWIG_From_long((long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_f_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    std::vector<double,std::allocator<double > > *arg2 = (std::vector<double,std::allocator<double > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FICData_f_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->f = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_f_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    std::vector<double,std::allocator<double > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FICData_f_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<double,std::allocator<double > > *)& ((arg1)->f);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_i_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    std::vector<long,std::allocator<long > > *arg2 = (std::vector<long,std::allocator<long > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FICData_i_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTlong_std__allocatorTlong_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->i = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_i_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    std::vector<long,std::allocator<long > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FICData_i_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<long,std::allocator<long > > *)& ((arg1)->i);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTlong_std__allocatorTlong_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_c_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    std::vector<char,std::allocator<char > > *arg2 = (std::vector<char,std::allocator<char > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FICData_c_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTchar_std__allocatorTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->c = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICData_c_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICData *arg1 = (gpstk::FICData *) 0 ;
+    std::vector<char,std::allocator<char > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FICData_c_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<char,std::allocator<char > > *)& ((arg1)->c);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTchar_std__allocatorTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * FICData_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__FICData, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FICHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICHeader *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_FICHeader")) goto fail;
+    result = (gpstk::FICHeader *)new gpstk::FICHeader();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__FICHeader, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_FICHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICHeader *arg1 = (gpstk::FICHeader *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FICHeader",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICHeader_isHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICHeader *arg1 = (gpstk::FICHeader *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FICHeader_isHeader",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::FICHeader const *)arg1)->isHeader();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICHeader_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICHeader *arg1 = (gpstk::FICHeader *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FICHeader_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::FICHeader const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICHeader_header_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICHeader *arg1 = (gpstk::FICHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FICHeader_header_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->header = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FICHeader_header_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::FICHeader *arg1 = (gpstk::FICHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FICHeader_header_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__FICHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->header);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static int _wrap_FICHeader_headerSize_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable FICHeader_headerSize is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_FICHeader_headerSize_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((int)(gpstk::FICHeader::headerSize)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject * FICHeader_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__FICHeader, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexMetData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetData *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexMetData")) goto fail;
+    result = (gpstk::RinexMetData *)new gpstk::RinexMetData();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexMetData, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetData_isData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetData_isData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::RinexMetData const *)arg1)->isData();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetData_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetData_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::RinexMetData const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetData_time_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetData_time_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->time = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetData_time_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetData_time_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->time);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetData_data_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+    gpstk::RinexMetData::RinexMetMap *arg2 = (gpstk::RinexMetData::RinexMetMap *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetData_data_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->data = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetData_data_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+    gpstk::RinexMetData::RinexMetMap *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetData_data_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::RinexMetData::RinexMetMap *)& ((arg1)->data);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static int _wrap_RinexMetData_maxObsPerLine_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexMetData_maxObsPerLine is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexMetData_maxObsPerLine_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((int)(gpstk::RinexMetData::maxObsPerLine)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexMetData_maxObsPerContinuationLine_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexMetData_maxObsPerContinuationLine is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexMetData_maxObsPerContinuationLine_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((int)(gpstk::RinexMetData::maxObsPerContinuationLine)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject *_wrap_delete_RinexMetData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetData *arg1 = (gpstk::RinexMetData *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexMetData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexMetData_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexMetData, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexMetHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexMetHeader")) goto fail;
+    result = (gpstk::RinexMetHeader *)new gpstk::RinexMetHeader();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexMetHeader, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexMetHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexMetHeader",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_isHeader(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_isHeader",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::RinexMetHeader const *)arg1)->isHeader();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::RinexMetHeader const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_convertObsType__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string *arg1 = 0 ;
+    gpstk::RinexMetHeader::RinexMetType result;
+    int res1 = 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_convertObsType",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res1 = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res1) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = ptr;
+    }
+    try {
+        result = (gpstk::RinexMetHeader::RinexMetType)gpstk::RinexMetHeader::convertObsType((std::string const &)*arg1);
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_From_int((result));
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return resultobj;
+    fail:
+    if (res1 == SWIG_NEWOBJ) delete arg1;
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_convertObsType__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader::RinexMetType *arg1 = 0 ;
+    std::string result;
+    gpstk::RinexMetHeader::RinexMetType temp1 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_convertObsType",&obj0)) goto fail;
+    {
+        temp1 = (gpstk::RinexMetHeader::RinexMetType)(SWIG_As_int(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    try {
+        result = gpstk::RinexMetHeader::convertObsType((enum gpstk::RinexMetHeader::RinexMetType const &)*arg1);
+    }
+    catch(FFStreamError &_e) {
+        {
+            FFStreamError * temp = new FFStreamError(_e);
+            if (SWIGTYPE_p_FFStreamError->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FFStreamError->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FFStreamError");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FFStreamError,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_convertObsType(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[2];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_Check_int(argv[0]);
+        if (_v) {
+            return _wrap_RinexMetHeader_convertObsType__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_RinexMetHeader_convertObsType__SWIG_0(self,args);
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RinexMetHeader_convertObsType'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_valid_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    unsigned long arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_valid_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->valid = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_valid_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    unsigned long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_valid_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned long) ((arg1)->valid);
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_bitsAsString(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader::validBits arg1 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_bitsAsString",&obj0)) goto fail;
+    {
+        arg1 = (gpstk::RinexMetHeader::validBits)(SWIG_As_int(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = gpstk::RinexMetHeader::bitsAsString(arg1);
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_bitString__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    unsigned long arg1 ;
+    char arg2 ;
+    std::string arg3 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:RinexMetHeader_bitString",&obj0,&obj1,&obj2)) goto fail;
+    {
+        arg1 = (unsigned long)(SWIG_As_unsigned_SS_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (char)(SWIG_As_char(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj2, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj2);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = gpstk::RinexMetHeader::bitString(arg1,arg2,arg3);
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_bitString__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    unsigned long arg1 ;
+    char arg2 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_bitString",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (unsigned long)(SWIG_As_unsigned_SS_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (char)(SWIG_As_char(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = gpstk::RinexMetHeader::bitString(arg1,arg2);
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_bitString__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    unsigned long arg1 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_bitString",&obj0)) goto fail;
+    {
+        arg1 = (unsigned long)(SWIG_As_unsigned_SS_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = gpstk::RinexMetHeader::bitString(arg1);
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_bitString(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_Check_unsigned_SS_long(argv[0]);
+        if (_v) {
+            return _wrap_RinexMetHeader_bitString__SWIG_2(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_unsigned_SS_long(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_char(argv[1]);
+            if (_v) {
+                return _wrap_RinexMetHeader_bitString__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_unsigned_SS_long(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_char(argv[1]);
+            if (_v) {
+                _v = SWIG_AsPtr_std_string(argv[2], (std::string**)(0));
+                if (_v) {
+                    return _wrap_RinexMetHeader_bitString__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RinexMetHeader_bitString'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_version_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_version_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->version = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_version_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_version_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->version);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_fileType_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_fileType_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->fileType = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_fileType_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_fileType_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->fileType);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_fileProgram_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_fileProgram_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->fileProgram = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_fileProgram_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_fileProgram_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->fileProgram);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_fileAgency_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_fileAgency_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->fileAgency = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_fileAgency_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_fileAgency_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->fileAgency);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_date_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_date_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->date = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_date_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_date_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->date);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_commentList_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::vector<std::string,std::allocator<std::string > > *arg2 = (std::vector<std::string,std::allocator<std::string > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_commentList_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->commentList = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_commentList_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::vector<std::string,std::allocator<std::string > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_commentList_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<std::string,std::allocator<std::string > > *)& ((arg1)->commentList);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_markerName_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_markerName_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->markerName = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_markerName_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_markerName_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->markerName);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_markerNumber_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_markerNumber_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->markerNumber = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_markerNumber_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_markerNumber_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->markerNumber);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_obsTypeList_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::vector<gpstk::RinexMetHeader::RinexMetType,std::allocator<gpstk::RinexMetHeader::RinexMetType > > *arg2 = (std::vector<gpstk::RinexMetHeader::RinexMetType,std::allocator<gpstk::RinexMetHeader::RinexMetType > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_obsTypeList_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->obsTypeList = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_obsTypeList_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::vector<gpstk::RinexMetHeader::RinexMetType,std::allocator<gpstk::RinexMetHeader::RinexMetType > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_obsTypeList_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<gpstk::RinexMetHeader::RinexMetType,std::allocator<gpstk::RinexMetHeader::RinexMetType > > *)& ((arg1)->obsTypeList);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_sensorTypeList_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::vector<sensorType,std::allocator<sensorType > > *arg2 = (std::vector<sensorType,std::allocator<sensorType > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_sensorTypeList_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTsensorType_std__allocatorTsensorType_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->sensorTypeList = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_sensorTypeList_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::vector<sensorType,std::allocator<sensorType > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_sensorTypeList_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<sensorType,std::allocator<sensorType > > *)& ((arg1)->sensorTypeList);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTsensorType_std__allocatorTsensorType_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_sensorPosList_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::vector<sensorPosType,std::allocator<sensorPosType > > *arg2 = (std::vector<sensorPosType,std::allocator<sensorPosType > > *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexMetHeader_sensorPosList_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->sensorPosList = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_sensorPosList_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexMetHeader *arg1 = (gpstk::RinexMetHeader *) 0 ;
+    std::vector<sensorPosType,std::allocator<sensorPosType > > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexMetHeader_sensorPosList_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexMetHeader, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::vector<sensorPosType,std::allocator<sensorPosType > > *)& ((arg1)->sensorPosList);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static int _wrap_RinexMetHeader_maxObsPerLine_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_maxObsPerLine is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_maxObsPerLine_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_int((int)(gpstk::RinexMetHeader::maxObsPerLine)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_versionString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_versionString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_versionString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::versionString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_runByString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_runByString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_runByString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::runByString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_commentString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_commentString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_commentString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::commentString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_markerNameString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_markerNameString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_markerNameString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::markerNameString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_markerNumberString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_markerNumberString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_markerNumberString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::markerNumberString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_obsTypeString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_obsTypeString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_obsTypeString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::obsTypeString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_sensorTypeString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_sensorTypeString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_sensorTypeString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::sensorTypeString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_sensorPosString_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_sensorPosString is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_sensorPosString_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::sensorPosString)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_RinexMetHeader_endOfHeader_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable RinexMetHeader_endOfHeader is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_RinexMetHeader_endOfHeader_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_std_string((std::string)(gpstk::RinexMetHeader::endOfHeader)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject * RinexMetHeader_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexMetHeader, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_sensorType_model_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorType *arg1 = (sensorType *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:sensorType_model_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->model = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_model_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorType *arg1 = (sensorType *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:sensorType_model_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->model);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_type_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorType *arg1 = (sensorType *) 0 ;
+    std::string *arg2 = (std::string *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:sensorType_type_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__string, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->type = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_type_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorType *arg1 = (sensorType *) 0 ;
+    std::string *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:sensorType_type_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::string *)& ((arg1)->type);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__string, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_accuracy_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorType *arg1 = (sensorType *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:sensorType_accuracy_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->accuracy = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_accuracy_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorType *arg1 = (sensorType *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:sensorType_accuracy_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->accuracy);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_obsType_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorType *arg1 = (sensorType *) 0 ;
+    RinexMetType arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:sensorType_obsType_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        RinexMetType * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_RinexMetType, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("RinexMetType");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    if (arg1) (arg1)->obsType = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_sensorType_obsType_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorType *arg1 = (sensorType *) 0 ;
+    RinexMetType result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:sensorType_obsType_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result =  ((arg1)->obsType);
+    
+    {
+        RinexMetType * resultptr;
+        resultptr = new RinexMetType((RinexMetType &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_RinexMetType, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_sensorType(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorType *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_sensorType")) goto fail;
+    result = (sensorType *)new sensorType();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_sensorType, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_sensorType(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorType *arg1 = (sensorType *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_sensorType",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * sensorType_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_sensorType, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_sensorPosType_position_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorPosType *arg1 = (sensorPosType *) 0 ;
+    gpstk::Triple *arg2 = (gpstk::Triple *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:sensorPosType_position_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->position = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_sensorPosType_position_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorPosType *arg1 = (sensorPosType *) 0 ;
+    gpstk::Triple *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:sensorPosType_position_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::Triple *)& ((arg1)->position);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_sensorPosType_height_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorPosType *arg1 = (sensorPosType *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:sensorPosType_height_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->height = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_sensorPosType_height_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorPosType *arg1 = (sensorPosType *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:sensorPosType_height_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->height);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_sensorPosType_obsType_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorPosType *arg1 = (sensorPosType *) 0 ;
+    RinexMetType arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:sensorPosType_obsType_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        RinexMetType * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_RinexMetType, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("RinexMetType");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    if (arg1) (arg1)->obsType = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_sensorPosType_obsType_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorPosType *arg1 = (sensorPosType *) 0 ;
+    RinexMetType result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:sensorPosType_obsType_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result =  ((arg1)->obsType);
+    
+    {
+        RinexMetType * resultptr;
+        resultptr = new RinexMetType((RinexMetType &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_RinexMetType, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_sensorPosType(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorPosType *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_sensorPosType")) goto fail;
+    result = (sensorPosType *)new sensorPosType();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_sensorPosType, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_sensorPosType(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    sensorPosType *arg1 = (sensorPosType *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_sensorPosType",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_sensorPosType, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * sensorPosType_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_sensorPosType, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RinexNavData__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RinexNavData")) goto fail;
+    result = (gpstk::RinexNavData *)new gpstk::RinexNavData();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavData, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexNavData__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    EngEphemeris *arg1 = 0 ;
+    gpstk::RinexNavData *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_RinexNavData",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("EngEphemeris");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::RinexNavData *)new gpstk::RinexNavData((EngEphemeris const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RinexNavData, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_RinexNavData(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[2];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 1); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_RinexNavData__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EngEphemeris, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_RinexNavData__SWIG_1(self,args);
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_RinexNavData'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RinexNavData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RinexNavData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_isData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_isData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::RinexNavData const *)arg1)->isData();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::RinexNavData const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_operator_EngEphemeris(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    EngEphemeris result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_operator_EngEphemeris",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::RinexNavData const *)arg1)->operator EngEphemeris();
+    
+    {
+        EngEphemeris * resultptr;
+        resultptr = new EngEphemeris((EngEphemeris &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__EngEphemeris, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_toList(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    std::list<double > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_toList",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::RinexNavData const *)arg1)->toList();
+    
+    {
+        std::list<double > * resultptr;
+        resultptr = new std::list<double >((std::list<double > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__listTdouble_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_time_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_time_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->time = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_time_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_time_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->time);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_PRNID_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_PRNID_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->PRNID = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_PRNID_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_PRNID_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->PRNID);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_HOWtime_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    long arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_HOWtime_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->HOWtime = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_HOWtime_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_HOWtime_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (long) ((arg1)->HOWtime);
+    
+    {
+        resultobj = SWIG_From_long((long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_weeknum_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_weeknum_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->weeknum = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_weeknum_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_weeknum_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->weeknum);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_codeflgs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_codeflgs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->codeflgs = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_codeflgs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_codeflgs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->codeflgs);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_accuracy_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_accuracy_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->accuracy = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_accuracy_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_accuracy_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->accuracy);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_health_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_health_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->health = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_health_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_health_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->health);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_L2Pdata_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_L2Pdata_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->L2Pdata = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_L2Pdata_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_L2Pdata_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->L2Pdata);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_IODC_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_IODC_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->IODC = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_IODC_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_IODC_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->IODC);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_IODE_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_IODE_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->IODE = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_IODE_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_IODE_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->IODE);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Toc_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Toc_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Toc = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Toc_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Toc_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->Toc);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_af0_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_af0_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->af0 = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_af0_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_af0_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->af0);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_af1_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_af1_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->af1 = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_af1_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_af1_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->af1);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_af2_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_af2_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->af2 = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_af2_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_af2_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->af2);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Tgd_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Tgd_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Tgd = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Tgd_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Tgd_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->Tgd);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cuc_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Cuc_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Cuc = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cuc_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Cuc_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->Cuc);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cus_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Cus_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Cus = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cus_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Cus_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->Cus);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Crc_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Crc_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Crc = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Crc_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Crc_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->Crc);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Crs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Crs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Crs = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Crs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Crs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->Crs);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cic_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Cic_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Cic = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cic_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Cic_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->Cic);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cis_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Cis_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Cis = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Cis_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Cis_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->Cis);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Toe_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Toe_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Toe = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Toe_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Toe_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->Toe);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_M0_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_M0_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->M0 = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_M0_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_M0_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->M0);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_dn_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_dn_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->dn = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_dn_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_dn_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->dn);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_ecc_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_ecc_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->ecc = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_ecc_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_ecc_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->ecc);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Ahalf_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_Ahalf_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Ahalf = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_Ahalf_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_Ahalf_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->Ahalf);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_OMEGA0_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_OMEGA0_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->OMEGA0 = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_OMEGA0_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_OMEGA0_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->OMEGA0);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_i0_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_i0_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->i0 = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_i0_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_i0_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->i0);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_w_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_w_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->w = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_w_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_w_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->w);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_OMEGAdot_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_OMEGAdot_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->OMEGAdot = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_OMEGAdot_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_OMEGAdot_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->OMEGAdot);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_idot_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_idot_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->idot = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_idot_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_idot_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->idot);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_fitint_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RinexNavData_fitint_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->fitint = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RinexNavData_fitint_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RinexNavData *arg1 = (gpstk::RinexNavData *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RinexNavData_fitint_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RinexNavData, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->fitint);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RinexNavData_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RinexNavData, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_SP3Data(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_SP3Data")) goto fail;
+    result = (gpstk::SP3Data *)new gpstk::SP3Data();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__SP3Data, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_SP3Data(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_SP3Data",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_isData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Data_isData",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::SP3Data const *)arg1)->isData();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Data_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::SP3Data const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_flag_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    char arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Data_flag_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (char)(SWIG_As_char(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->flag = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_flag_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    char result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Data_flag_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (char) ((arg1)->flag);
+    
+    {
+        resultobj = SWIG_From_char((char)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_id_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    short arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Data_id_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->id = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_id_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Data_id_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short) ((arg1)->id);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_x_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    Triple *arg2 = (Triple *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Data_x_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->x = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_x_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    Triple *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Data_x_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (Triple *)& ((arg1)->x);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_clk_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Data_clk_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->clk = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_clk_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Data_clk_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->clk);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_time_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:SP3Data_time_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->time = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_SP3Data_time_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::SP3Data *arg1 = (gpstk::SP3Data *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:SP3Data_time_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__SP3Data, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->time);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * SP3Data_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__SP3Data, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_RungeKutta4_integrateTo__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:RungeKutta4_integrateTo",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    (arg1)->integrateTo(arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_integrateTo__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RungeKutta4_integrateTo",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->integrateTo(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_integrateTo__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+    double arg2 ;
+    Matrix<double > *arg3 = 0 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:RungeKutta4_integrateTo",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_MatrixTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Matrix<double >");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    (arg1)->integrateTo(arg2,*arg3,arg4);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_integrateTo__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+    double arg2 ;
+    Matrix<double > *arg3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:RungeKutta4_integrateTo",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_MatrixTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("Matrix<double >");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    (arg1)->integrateTo(arg2,*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_integrateTo(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RungeKutta4, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_RungeKutta4_integrateTo__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RungeKutta4, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_MatrixTdouble_t, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    return _wrap_RungeKutta4_integrateTo__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RungeKutta4, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_RungeKutta4_integrateTo__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__RungeKutta4, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_MatrixTdouble_t, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        return _wrap_RungeKutta4_integrateTo__SWIG_2(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'RungeKutta4_integrateTo'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_derivative(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+    long double arg2 ;
+    gpstk::Matrix<double > *arg3 = 0 ;
+    gpstk::Matrix<double > *arg4 = 0 ;
+    gpstk::Matrix<double > *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:RungeKutta4_derivative",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        long double * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("long double");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__MatrixTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::Matrix<double >");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__MatrixTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::Matrix<double >");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        gpstk::Matrix<double > &_result_ref = (arg1)->derivative(arg2,(gpstk::Matrix<double > const &)*arg3,*arg4);
+        result = (gpstk::Matrix<double > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__MatrixTdouble_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_getTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RungeKutta4_getTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)(arg1)->getTime();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RungeKutta4_getState(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+    Matrix<double > *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RungeKutta4_getState",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        Matrix<double > const &_result_ref = (arg1)->getState();
+        result = (Matrix<double > *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_MatrixTdouble_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RungeKutta4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RungeKutta4 *arg1 = (gpstk::RungeKutta4 *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RungeKutta4",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RungeKutta4, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RungeKutta4_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RungeKutta4, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_GeometryException__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeometryException *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_GeometryException")) goto fail;
+    result = (gpstk::GeometryException *)new gpstk::GeometryException();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GeometryException__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeometryException *arg1 = 0 ;
+    gpstk::GeometryException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_GeometryException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeometryException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::GeometryException");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::GeometryException *)new gpstk::GeometryException((gpstk::GeometryException const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GeometryException__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::GeometryException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_GeometryException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::GeometryException *)new gpstk::GeometryException((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GeometryException__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::GeometryException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_GeometryException",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::GeometryException *)new gpstk::GeometryException(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GeometryException__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::GeometryException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_GeometryException",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::GeometryException *)new gpstk::GeometryException(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GeometryException__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::GeometryException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_GeometryException",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::GeometryException *)new gpstk::GeometryException(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GeometryException(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_GeometryException__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GeometryException, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_GeometryException__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_GeometryException__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_GeometryException__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_GeometryException__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_GeometryException__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_GeometryException'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_GeometryException(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeometryException *arg1 = (gpstk::GeometryException *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_GeometryException",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeometryException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GeometryException_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeometryException *arg1 = (gpstk::GeometryException *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GeometryException_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeometryException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::GeometryException const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GeometryException_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeometryException *arg1 = (gpstk::GeometryException *) 0 ;
+    gpstk::GeometryException *arg2 = 0 ;
+    gpstk::GeometryException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GeometryException_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeometryException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeometryException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GeometryException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::GeometryException &_result_ref = (arg1)->operator =((gpstk::GeometryException const &)*arg2);
+        result = (gpstk::GeometryException *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GeometryException, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_streamRead__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::GeometryException *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeometryException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GeometryException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::GeometryException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * GeometryException_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__GeometryException, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Triple__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_Triple")) goto fail;
+    result = (gpstk::Triple *)new gpstk::Triple();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Triple__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Triple *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_Triple",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::Triple *)new gpstk::Triple((gpstk::Triple const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Triple__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    double arg2 ;
+    double arg3 ;
+    gpstk::Triple *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_Triple",&obj0,&obj1,&obj2)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::Triple *)new gpstk::Triple(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Triple(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_Triple__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_Triple__SWIG_1(self,args);
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_new_Triple__SWIG_2(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_Triple'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_Triple(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_Triple",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_class_operator_assignment__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    gpstk::Triple *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::Triple &_result_ref = (arg1)->operator =((gpstk::Triple const &)*arg2);
+        result = (gpstk::Triple *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_class_operator_assignment__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    std::valarray<double > *arg2 = 0 ;
+    gpstk::Triple *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__valarrayTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::valarray<double >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::Triple &_result_ref = (arg1)->operator =((std::valarray<double > const &)*arg2);
+            result = (gpstk::Triple *) &_result_ref;
+        }
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_class_operator_assignment(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Triple_class_operator_assignment__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__valarrayTdouble_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Triple_class_operator_assignment__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Triple_class_operator_assignment'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_dot(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_dot",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (double)((gpstk::Triple const *)arg1)->dot((gpstk::Triple const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_cross(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    gpstk::Triple result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_cross",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = ((gpstk::Triple const *)arg1)->cross((gpstk::Triple const &)*arg2);
+    
+    {
+        gpstk::Triple * resultptr;
+        resultptr = new gpstk::Triple((gpstk::Triple &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Triple, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_mag(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Triple_mag",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::Triple const *)arg1)->mag();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_cosVector(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_cosVector",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (double)((gpstk::Triple const *)arg1)->cosVector((gpstk::Triple const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_slantRange(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_slantRange",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (double)((gpstk::Triple const *)arg1)->slantRange((gpstk::Triple const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_elvAngle(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_elvAngle",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (double)((gpstk::Triple const *)arg1)->elvAngle((gpstk::Triple const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_azAngle(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_azAngle",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::Triple const *)arg1)->azAngle((gpstk::Triple const &)*arg2);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_class_operator_bracket(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    size_t arg2 ;
+    double *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_class_operator_bracket",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (size_t const)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        double &_result_ref = (arg1)->operator [](arg2);
+        result = (double *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_double, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_operator_bracket_const(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    size_t arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_operator_bracket_const",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (size_t const)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (double)((gpstk::Triple const *)arg1)->operator [](arg2);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple___sub__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    gpstk::Triple result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple___sub__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = ((gpstk::Triple const *)arg1)->operator -((gpstk::Triple const &)*arg2);
+    
+    {
+        gpstk::Triple * resultptr;
+        resultptr = new gpstk::Triple((gpstk::Triple &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Triple, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple___add__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    gpstk::Triple result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple___add__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = ((gpstk::Triple const *)arg1)->operator +((gpstk::Triple const &)*arg2);
+    
+    {
+        gpstk::Triple * resultptr;
+        resultptr = new gpstk::Triple((gpstk::Triple &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Triple, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_size(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    size_t result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Triple_size",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::Triple const *)arg1)->size();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_streamRead__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::Triple const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_streamRead(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GeometryException, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Triple_streamRead__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Triple_streamRead__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Triple_streamRead'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_theArray_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    std::valarray<double > arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Triple_theArray_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::valarray<double > * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_std__valarrayTdouble_t, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("std::valarray<double >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    if (arg1) (arg1)->theArray = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Triple_theArray_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = (gpstk::Triple *) 0 ;
+    std::valarray<double > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Triple_theArray_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result =  ((arg1)->theArray);
+    
+    {
+        std::valarray<double > * resultptr;
+        resultptr = new std::valarray<double >((std::valarray<double > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__valarrayTdouble_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * Triple_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__Triple, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_Position_getSystemName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getSystemName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (arg1)->getSystemName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static int _wrap_Position_ONE_MM_TOLERANCE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable Position_ONE_MM_TOLERANCE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_Position_ONE_MM_TOLERANCE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::Position::ONE_MM_TOLERANCE)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_Position_ONE_CM_TOLERANCE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable Position_ONE_CM_TOLERANCE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_Position_ONE_CM_TOLERANCE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::Position::ONE_CM_TOLERANCE)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_Position_ONE_UM_TOLERANCE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable Position_ONE_UM_TOLERANCE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_Position_ONE_UM_TOLERANCE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::Position::ONE_UM_TOLERANCE)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_Position_POSITION_TOLERANCE_set(PyObject *_val) {
+    {
+        double temp = (double)(SWIG_As_double(_val));
+        if (PyErr_Occurred()) {
+            SWIG_append_errmsg("C/C++ variable 'gpstk::Position::POSITION_TOLERANCE (double)'");
+            return 1;
+        }
+        gpstk::Position::POSITION_TOLERANCE = temp;
+    }
+    return 0;
+}
+
+
+static PyObject *_wrap_Position_POSITION_TOLERANCE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::Position::POSITION_TOLERANCE)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject *_wrap_Position_setPositionTolerance(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_setPositionTolerance",&obj0)) goto fail;
+    {
+        arg1 = (double const)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (double)gpstk::Position::setPositionTolerance(arg1);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getPositionTolerance(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":Position_getPositionTolerance")) goto fail;
+    result = (double)gpstk::Position::getPositionTolerance();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_setTolerance(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double arg2 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_setTolerance",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double const)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::Position &_result_ref = (arg1)->setTolerance(arg2);
+        result = (gpstk::Position *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_Position")) goto fail;
+    result = (gpstk::Position *)new gpstk::Position();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    gpstk::Position::CoordinateSystem arg4 ;
+    GeoidModel *arg5 = (GeoidModel *) 0 ;
+    gpstk::Position *result;
+    double temp1 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:new_Position",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        arg4 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(5)) SWIG_fail;
+    try {
+        result = (gpstk::Position *)new gpstk::Position((double const &)*arg1,(double const &)*arg2,(double const &)*arg3,arg4,arg5);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    gpstk::Position::CoordinateSystem arg4 ;
+    gpstk::Position *result;
+    double temp1 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:new_Position",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        arg4 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::Position *)new gpstk::Position((double const &)*arg1,(double const &)*arg2,(double const &)*arg3,arg4);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    gpstk::Position *result;
+    double temp1 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_Position",&obj0,&obj1,&obj2)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    try {
+        result = (gpstk::Position *)new gpstk::Position((double const &)*arg1,(double const &)*arg2,(double const &)*arg3);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 ;
+    gpstk::Position::CoordinateSystem arg2 ;
+    GeoidModel *arg3 = (GeoidModel *) 0 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_Position",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(3)) SWIG_fail;
+    try {
+        result = (gpstk::Position *)new gpstk::Position((double const (*))arg1,arg2,arg3);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 ;
+    gpstk::Position::CoordinateSystem arg2 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_Position",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::Position *)new gpstk::Position((double const (*))arg1,arg2);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_6(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_Position",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (gpstk::Position *)new gpstk::Position((double const (*))arg1);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_7(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Position::CoordinateSystem arg2 ;
+    GeoidModel *arg3 = (GeoidModel *) 0 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_Position",&obj0,&obj1,&obj2)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(3)) SWIG_fail;
+    try {
+        result = (gpstk::Position *)new gpstk::Position((gpstk::Triple const &)*arg1,arg2,arg3);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_8(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Position::CoordinateSystem arg2 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_Position",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::Position *)new gpstk::Position((gpstk::Triple const &)*arg1,arg2);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_9(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_Position",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::Position *)new gpstk::Position((gpstk::Triple const &)*arg1);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Position__SWIG_10(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    Xvt *arg1 = 0 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_Position",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("Xvt");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::Position *)new gpstk::Position((Xvt const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Position(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[6];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_Position__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_double, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_Position__SWIG_6(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_Position__SWIG_9(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_Position__SWIG_10(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_double, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_new_Position__SWIG_5(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_new_Position__SWIG_8(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_double, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                {
+                    void *ptr;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = 1;
+                    }
+                }
+                if (_v) {
+                    return _wrap_new_Position__SWIG_4(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                {
+                    void *ptr;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = 1;
+                    }
+                }
+                if (_v) {
+                    return _wrap_new_Position__SWIG_7(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_new_Position__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_int(argv[3]);
+                    if (_v) {
+                        return _wrap_new_Position__SWIG_2(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_int(argv[3]);
+                    if (_v) {
+                        {
+                            void *ptr;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = 1;
+                            }
+                        }
+                        if (_v) {
+                            return _wrap_new_Position__SWIG_1(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_Position'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_Position(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_Position",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position___sub__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    gpstk::Position *arg2 = 0 ;
+    gpstk::Position result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position___sub__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::Position const *)arg1)->operator -((gpstk::Position const &)*arg2);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::Position * resultptr;
+        resultptr = new gpstk::Position((gpstk::Position &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position___add__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    gpstk::Position *arg2 = 0 ;
+    gpstk::Position result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position___add__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::Position const *)arg1)->operator +((gpstk::Position const &)*arg2);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::Position * resultptr;
+        resultptr = new gpstk::Position((gpstk::Position &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___mul____SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    gpstk::Position *arg2 = 0 ;
+    gpstk::Position result;
+    double temp1 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__mul__",&obj0,&obj1)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = operator *((double const &)*arg1,(gpstk::Position const &)*arg2);
+    
+    {
+        gpstk::Position * resultptr;
+        resultptr = new gpstk::Position((gpstk::Position &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___mul____SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = 0 ;
+    double *arg2 = 0 ;
+    gpstk::Position result;
+    double temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__mul__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    result = operator *((gpstk::Position const &)*arg1,(double const &)*arg2);
+    
+    {
+        gpstk::Position * resultptr;
+        resultptr = new gpstk::Position((gpstk::Position &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___mul____SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    int *arg1 = 0 ;
+    gpstk::Position *arg2 = 0 ;
+    gpstk::Position result;
+    int temp1 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__mul__",&obj0,&obj1)) goto fail;
+    {
+        temp1 = (int)(SWIG_As_int(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = operator *((int const &)*arg1,(gpstk::Position const &)*arg2);
+    
+    {
+        gpstk::Position * resultptr;
+        resultptr = new gpstk::Position((gpstk::Position &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___mul____SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = 0 ;
+    int *arg2 = 0 ;
+    gpstk::Position result;
+    int temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__mul__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        temp2 = (int)(SWIG_As_int(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    result = operator *((gpstk::Position const &)*arg1,(int const &)*arg2);
+    
+    {
+        gpstk::Position * resultptr;
+        resultptr = new gpstk::Position((gpstk::Position &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___mul__(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap___mul____SWIG_3(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap___mul____SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_int(argv[0]);
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___mul____SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___mul____SWIG_0(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded '__mul__'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position___eq__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    gpstk::Position *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position___eq__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::Position const *)arg1)->operator ==((gpstk::Position const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position___ne__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    gpstk::Position *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position___ne__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::Position const *)arg1)->operator !=((gpstk::Position const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_transformTo(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    gpstk::Position::CoordinateSystem arg2 ;
+    gpstk::Position result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_transformTo",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::Position::CoordinateSystem)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (arg1)->transformTo(arg2);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::Position * resultptr;
+        resultptr = new gpstk::Position((gpstk::Position &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_asGeodetic__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    gpstk::Position result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_asGeodetic",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (arg1)->asGeodetic();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::Position * resultptr;
+        resultptr = new gpstk::Position((gpstk::Position &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_asGeodetic__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    GeoidModel *arg2 = (GeoidModel *) 0 ;
+    gpstk::Position result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_asGeodetic",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    try {
+        result = (arg1)->asGeodetic(arg2);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::Position * resultptr;
+        resultptr = new gpstk::Position((gpstk::Position &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_asGeodetic(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_Position_asGeodetic__SWIG_0(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_Position_asGeodetic__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Position_asGeodetic'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_asECEF(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    gpstk::Position result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_asECEF",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (arg1)->asECEF();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::Position * resultptr;
+        resultptr = new gpstk::Position((gpstk::Position &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_X(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_X",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->X();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_Y(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_Y",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->Y();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_Z(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_Z",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->Z();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_geodeticLatitude(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_geodeticLatitude",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->geodeticLatitude();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_geocentricLatitude(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_geocentricLatitude",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->geocentricLatitude();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_theta(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_theta",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->theta();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_phi(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_phi",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->phi();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_longitude(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_longitude",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->longitude();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_radius(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_radius",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->radius();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_height(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_height",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->height();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getCoordinateSystem(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    gpstk::Position::CoordinateSystem result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getCoordinateSystem",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::Position::CoordinateSystem)((gpstk::Position const *)arg1)->getCoordinateSystem();
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getGeodeticLatitude(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getGeodeticLatitude",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->getGeodeticLatitude();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getGeocentricLatitude(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getGeocentricLatitude",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->getGeocentricLatitude();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getLongitude(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getLongitude",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->getLongitude();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getAltitude(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getAltitude",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->getAltitude();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getHeight(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getHeight",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->getHeight();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getX(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getX",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->getX();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getY(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getY",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->getY();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getZ(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getZ",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->getZ();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getTheta(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getTheta",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->getTheta();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getPhi(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getPhi",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->getPhi();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getRadius(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_getRadius",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->getRadius();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_setGeoidModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    GeoidModel *arg2 = (GeoidModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_setGeoidModel",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    try {
+        (arg1)->setGeoidModel((GeoidModel const *)arg2);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_setGeodetic__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    GeoidModel *arg5 = (GeoidModel *) 0 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:Position_setGeodetic",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double const)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double const)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double const)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(5)) SWIG_fail;
+    try {
+        {
+            gpstk::Position &_result_ref = (arg1)->setGeodetic(arg2,arg3,arg4,(GeoidModel const *)arg5);
+            result = (gpstk::Position *) &_result_ref;
+        }
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_setGeodetic__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_setGeodetic",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double const)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double const)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double const)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::Position &_result_ref = (arg1)->setGeodetic(arg2,arg3,arg4);
+            result = (gpstk::Position *) &_result_ref;
+        }
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_setGeodetic(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[6];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        return _wrap_Position_setGeodetic__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        {
+                            void *ptr;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = 1;
+                            }
+                        }
+                        if (_v) {
+                            return _wrap_Position_setGeodetic__SWIG_0(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Position_setGeodetic'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_setGeocentric(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_setGeocentric",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double const)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double const)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double const)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::Position &_result_ref = (arg1)->setGeocentric(arg2,arg3,arg4);
+            result = (gpstk::Position *) &_result_ref;
+        }
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_setSpherical(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_setSpherical",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double const)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double const)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double const)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::Position &_result_ref = (arg1)->setSpherical(arg2,arg3,arg4);
+            result = (gpstk::Position *) &_result_ref;
+        }
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_setECEF__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_setECEF",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double const)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double const)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double const)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        gpstk::Position &_result_ref = (arg1)->setECEF(arg2,arg3,arg4);
+        result = (gpstk::Position *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_setECEF__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double *arg2 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_setECEF",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        gpstk::Position &_result_ref = (arg1)->setECEF((double const (*))arg2);
+        result = (gpstk::Position *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_setECEF__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    gpstk::Position *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_setECEF",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::Position &_result_ref = (arg1)->setECEF((gpstk::Triple const &)*arg2);
+        result = (gpstk::Position *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_setECEF(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_double, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_Position_setECEF__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_Position_setECEF__SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        return _wrap_Position_setECEF__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Position_setECEF'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_setToString(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    std::string *arg2 = 0 ;
+    std::string *arg3 = 0 ;
+    gpstk::Position *result;
+    int res2 = 0 ;
+    int res3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:Position_setToString",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        res3 = SWIG_AsPtr_std_string(obj2, &ptr);
+        if (!res3) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj2);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = ptr;
+    }
+    try {
+        {
+            gpstk::Position &_result_ref = (arg1)->setToString((std::string const &)*arg2,(std::string const &)*arg3);
+            result = (gpstk::Position *) &_result_ref;
+        }
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(DayTime::FormatException &_e) {
+        {
+            DayTime::FormatException * temp = new DayTime::FormatException(_e);
+            if (SWIGTYPE_p_FormatException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FormatException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FormatException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTime::FormatException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FormatException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(StringUtils::StringException &_e) {
+        {
+            StringUtils::StringException * temp = new StringUtils::StringException(_e);
+            if (SWIGTYPE_p_StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Position, 0);
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    if (res3 == SWIG_NEWOBJ) delete arg3;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    if (res3 == SWIG_NEWOBJ) delete arg3;
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_printf(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    char *arg2 = (char *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_printf",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    try {
+        result = ((gpstk::Position const *)arg1)->printf((char const *)arg2);
+    }
+    catch(StringUtils::StringException &_e) {
+        {
+            StringUtils::StringException * temp = new StringUtils::StringException(_e);
+            if (SWIGTYPE_p_StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_printf_const(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    std::string *arg2 = 0 ;
+    std::string result;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_printf_const",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    try {
+        result = ((gpstk::Position const *)arg1)->printf((std::string const &)*arg2);
+    }
+    catch(StringUtils::StringException &_e) {
+        {
+            StringUtils::StringException * temp = new StringUtils::StringException(_e);
+            if (SWIGTYPE_p_StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_asString(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_asString",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = ((gpstk::Position const *)arg1)->asString();
+    }
+    catch(StringUtils::StringException &_e) {
+        {
+            StringUtils::StringException * temp = new StringUtils::StringException(_e);
+            if (SWIGTYPE_p_StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertSphericalToCartesian(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_convertSphericalToCartesian",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    gpstk::Position::convertSphericalToCartesian((gpstk::Triple const &)*arg1,*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertCartesianToSpherical(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_convertCartesianToSpherical",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        gpstk::Position::convertCartesianToSpherical((gpstk::Triple const &)*arg1,*arg2);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertCartesianToGeodetic(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_convertCartesianToGeodetic",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double const)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double const)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    gpstk::Position::convertCartesianToGeodetic((gpstk::Triple const &)*arg1,*arg2,arg3,arg4);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertGeodeticToCartesian(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_convertGeodeticToCartesian",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double const)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double const)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    gpstk::Position::convertGeodeticToCartesian((gpstk::Triple const &)*arg1,*arg2,arg3,arg4);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertCartesianToGeocentric(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_convertCartesianToGeocentric",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        gpstk::Position::convertCartesianToGeocentric((gpstk::Triple const &)*arg1,*arg2);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertGeocentricToCartesian(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_convertGeocentricToCartesian",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    gpstk::Position::convertGeocentricToCartesian((gpstk::Triple const &)*arg1,*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertGeocentricToGeodetic(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_convertGeocentricToGeodetic",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double const)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double const)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    gpstk::Position::convertGeocentricToGeodetic((gpstk::Triple const &)*arg1,*arg2,arg3,arg4);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_convertGeodeticToGeocentric(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Triple *arg2 = 0 ;
+    double arg3 ;
+    double arg4 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_convertGeodeticToGeocentric",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double const)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double const)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        gpstk::Position::convertGeodeticToGeocentric((gpstk::Triple const &)*arg1,*arg2,arg3,arg4);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_11(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::Position *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::Position const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_range(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = 0 ;
+    gpstk::Position *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:range",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)range((gpstk::Position const &)*arg1,(gpstk::Position const &)*arg2);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_radiusEarth__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    double arg2 ;
+    double arg3 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:Position_radiusEarth",&obj0,&obj1,&obj2)) goto fail;
+    {
+        arg1 = (double const)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double const)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double const)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (double)gpstk::Position::radiusEarth(arg1,arg2,arg3);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_radiusEarth__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Position_radiusEarth",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::Position const *)arg1)->radiusEarth();
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_radiusEarth(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_Position_radiusEarth__SWIG_1(self,args);
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_Position_radiusEarth__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Position_radiusEarth'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_elevation(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    gpstk::Position *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_elevation",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (double)((gpstk::Position const *)arg1)->elevation((gpstk::Position const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_azimuth(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    gpstk::Position *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Position_azimuth",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (double)((gpstk::Position const *)arg1)->azimuth((gpstk::Position const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Position_getIonosphericPiercePoint(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Position *arg1 = (gpstk::Position *) 0 ;
+    double arg2 ;
+    double arg3 ;
+    double arg4 ;
+    gpstk::Position result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:Position_getIonosphericPiercePoint",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double const)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double const)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double const)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::Position const *)arg1)->getIonosphericPiercePoint(arg2,arg3,arg4);
+    }
+    catch(gpstk::GeometryException &_e) {
+        {
+            gpstk::GeometryException * temp = new gpstk::GeometryException(_e);
+            if (SWIGTYPE_p_gpstk__GeometryException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__GeometryException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::GeometryException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__GeometryException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::Position * resultptr;
+        resultptr = new gpstk::Position((gpstk::Position &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Position, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * Position_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__Position, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ECEF__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ECEF *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_ECEF")) goto fail;
+    result = (gpstk::ECEF *)new gpstk::ECEF();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ECEF, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ECEF__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ECEF *arg1 = 0 ;
+    gpstk::ECEF *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_ECEF",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::ECEF *)new gpstk::ECEF((gpstk::ECEF const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ECEF, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ECEF__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    gpstk::ECEF *result;
+    double temp1 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_ECEF",&obj0,&obj1,&obj2)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    result = (gpstk::ECEF *)new gpstk::ECEF((double const &)*arg1,(double const &)*arg2,(double const &)*arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ECEF, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ECEF__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::ECEF *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_ECEF",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::ECEF *)new gpstk::ECEF((gpstk::Triple const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ECEF, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ECEF(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_ECEF__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_ECEF__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_ECEF__SWIG_3(self,args);
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_new_ECEF__SWIG_2(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_ECEF'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ECEF(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ECEF *arg1 = (gpstk::ECEF *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ECEF",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ECEF_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ECEF *arg1 = (gpstk::ECEF *) 0 ;
+    gpstk::ECEF *arg2 = 0 ;
+    gpstk::ECEF *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ECEF_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::ECEF &_result_ref = (arg1)->operator =((gpstk::ECEF const &)*arg2);
+        result = (gpstk::ECEF *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ECEF, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ECEF_asGeodetic(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ECEF *arg1 = (gpstk::ECEF *) 0 ;
+    GeoidModel *arg2 = (GeoidModel *) 0 ;
+    gpstk::Geodetic result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ECEF_asGeodetic",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    result = (arg1)->asGeodetic(arg2);
+    
+    {
+        gpstk::Geodetic * resultptr;
+        resultptr = new gpstk::Geodetic((gpstk::Geodetic &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Geodetic, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ECEF_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__ECEF, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_GeoidModel_a(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_a",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::GeoidModel const *)arg1)->a();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_a_km(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_a_km",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::GeoidModel const *)arg1)->a_km();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_flattening(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_flattening",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::GeoidModel const *)arg1)->flattening();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_eccentricity(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_eccentricity",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::GeoidModel const *)arg1)->eccentricity();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_eccSquared(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_eccSquared",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::GeoidModel const *)arg1)->eccSquared();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_angVelocity(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_angVelocity",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::GeoidModel const *)arg1)->angVelocity();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_gm(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_gm",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::GeoidModel const *)arg1)->gm();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_gm_km(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_gm_km",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::GeoidModel const *)arg1)->gm_km();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_c(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_c",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::GeoidModel const *)arg1)->c();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GeoidModel_c_km(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GeoidModel_c_km",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::GeoidModel const *)arg1)->c_km();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_GeoidModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GeoidModel *arg1 = (gpstk::GeoidModel *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_GeoidModel",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * GeoidModel_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__GeoidModel, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Xvt(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_Xvt")) goto fail;
+    result = (gpstk::Xvt *)new gpstk::Xvt();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Xvt, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_x_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+    gpstk::ECEF *arg2 = (gpstk::ECEF *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Xvt_x_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->x = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_x_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+    gpstk::ECEF *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Xvt_x_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::ECEF *)& ((arg1)->x);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ECEF, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_v_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+    gpstk::Triple *arg2 = (gpstk::Triple *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Xvt_v_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->v = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_v_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+    gpstk::Triple *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Xvt_v_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::Triple *)& ((arg1)->v);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_dtime_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Xvt_dtime_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->dtime = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_dtime_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Xvt_dtime_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->dtime);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_ddtime_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Xvt_ddtime_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->ddtime = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_ddtime_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Xvt_ddtime_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->ddtime);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_preciseRho__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+    gpstk::ECEF *arg2 = 0 ;
+    gpstk::GeoidModel *arg3 = 0 ;
+    double arg4 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:Xvt_preciseRho",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    result = (double)((gpstk::Xvt const *)arg1)->preciseRho((gpstk::ECEF const &)*arg2,(gpstk::GeoidModel const &)*arg3,arg4);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_preciseRho__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+    gpstk::ECEF *arg2 = 0 ;
+    gpstk::GeoidModel *arg3 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:Xvt_preciseRho",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (double)((gpstk::Xvt const *)arg1)->preciseRho((gpstk::ECEF const &)*arg2,(gpstk::GeoidModel const &)*arg3);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Xvt_preciseRho(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    return _wrap_Xvt_preciseRho__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Xvt, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        return _wrap_Xvt_preciseRho__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'Xvt_preciseRho'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_Xvt(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *arg1 = (gpstk::Xvt *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_Xvt",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * Xvt_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__Xvt, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_Xvt_streamRead(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::Xvt *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Xvt_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Xvt");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::Xvt const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NoGeoidException *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_NoGeoidException")) goto fail;
+    result = (gpstk::NoGeoidException *)new gpstk::NoGeoidException();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NoGeoidException *arg1 = 0 ;
+    gpstk::NoGeoidException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_NoGeoidException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NoGeoidException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::NoGeoidException");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::NoGeoidException *)new gpstk::NoGeoidException((gpstk::NoGeoidException const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::NoGeoidException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_NoGeoidException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::NoGeoidException *)new gpstk::NoGeoidException((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::NoGeoidException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_NoGeoidException",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (gpstk::NoGeoidException *)new gpstk::NoGeoidException(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::NoGeoidException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_NoGeoidException",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (gpstk::NoGeoidException *)new gpstk::NoGeoidException(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    gpstk::NoGeoidException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_NoGeoidException",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (gpstk::NoGeoidException *)new gpstk::NoGeoidException(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_NoGeoidException(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_NoGeoidException__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__NoGeoidException, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_NoGeoidException__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_NoGeoidException__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_NoGeoidException__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_NoGeoidException__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_NoGeoidException__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_NoGeoidException'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_NoGeoidException(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NoGeoidException *arg1 = (gpstk::NoGeoidException *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_NoGeoidException",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NoGeoidException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NoGeoidException_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NoGeoidException *arg1 = (gpstk::NoGeoidException *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:NoGeoidException_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NoGeoidException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::NoGeoidException const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_NoGeoidException_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::NoGeoidException *arg1 = (gpstk::NoGeoidException *) 0 ;
+    gpstk::NoGeoidException *arg2 = 0 ;
+    gpstk::NoGeoidException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:NoGeoidException_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__NoGeoidException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__NoGeoidException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::NoGeoidException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::NoGeoidException &_result_ref = (arg1)->operator =((gpstk::NoGeoidException const &)*arg2);
+        result = (gpstk::NoGeoidException *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__NoGeoidException, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_12(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::NoGeoidException *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__NoGeoidException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::NoGeoidException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::NoGeoidException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * NoGeoidException_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__NoGeoidException, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Geodetic__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Geodetic *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_Geodetic")) goto fail;
+    result = (gpstk::Geodetic *)new gpstk::Geodetic();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Geodetic *arg1 = 0 ;
+    gpstk::Geodetic *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_Geodetic",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Geodetic");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::Geodetic *)new gpstk::Geodetic((gpstk::Geodetic const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    gpstk::GeoidModel *arg4 = (gpstk::GeoidModel *) 0 ;
+    gpstk::Geodetic *result;
+    double temp1 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:new_Geodetic",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(4)) SWIG_fail;
+    result = (gpstk::Geodetic *)new gpstk::Geodetic((double const &)*arg1,(double const &)*arg2,(double const &)*arg3,arg4);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double *arg1 = 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    gpstk::Geodetic *result;
+    double temp1 ;
+    double temp2 ;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_Geodetic",&obj0,&obj1,&obj2)) goto fail;
+    {
+        temp1 = (double)(SWIG_As_double(obj0));
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = &temp1;
+    }
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    result = (gpstk::Geodetic *)new gpstk::Geodetic((double const &)*arg1,(double const &)*arg2,(double const &)*arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::GeoidModel *arg2 = (gpstk::GeoidModel *) 0 ;
+    gpstk::Geodetic *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_Geodetic",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    result = (gpstk::Geodetic *)new gpstk::Geodetic((gpstk::Triple const &)*arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Triple *arg1 = 0 ;
+    gpstk::Geodetic *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_Geodetic",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Triple");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::Geodetic *)new gpstk::Geodetic((gpstk::Triple const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic__SWIG_6(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ECEF *arg1 = 0 ;
+    gpstk::GeoidModel *arg2 = (gpstk::GeoidModel *) 0 ;
+    gpstk::Geodetic *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_Geodetic",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    try {
+        result = (gpstk::Geodetic *)new gpstk::Geodetic((gpstk::ECEF const &)*arg1,arg2);
+    }
+    catch(gpstk::NoGeoidException &_e) {
+        {
+            gpstk::NoGeoidException * temp = new gpstk::NoGeoidException(_e);
+            if (SWIGTYPE_p_gpstk__NoGeoidException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__NoGeoidException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__NoGeoidException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::NoGeoidException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__NoGeoidException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Geodetic(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_Geodetic__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Geodetic, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_Geodetic__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_Geodetic__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_new_Geodetic__SWIG_6(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Triple, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_new_Geodetic__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_new_Geodetic__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    {
+                        void *ptr;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = 1;
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_new_Geodetic__SWIG_2(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_Geodetic'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_Geodetic(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Geodetic *arg1 = (gpstk::Geodetic *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_Geodetic",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Geodetic_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Geodetic *arg1 = (gpstk::Geodetic *) 0 ;
+    gpstk::Geodetic *arg2 = 0 ;
+    gpstk::Geodetic *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Geodetic_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::Geodetic");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::Geodetic &_result_ref = (arg1)->operator =((gpstk::Geodetic const &)*arg2);
+        result = (gpstk::Geodetic *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Geodetic, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Geodetic_asECEF(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Geodetic *arg1 = (gpstk::Geodetic *) 0 ;
+    gpstk::ECEF result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Geodetic_asECEF",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = ((gpstk::Geodetic const *)arg1)->asECEF();
+    }
+    catch(gpstk::NoGeoidException &_e) {
+        {
+            gpstk::NoGeoidException * temp = new gpstk::NoGeoidException(_e);
+            if (SWIGTYPE_p_gpstk__NoGeoidException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__NoGeoidException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__NoGeoidException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::NoGeoidException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__NoGeoidException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::ECEF * resultptr;
+        resultptr = new gpstk::ECEF((gpstk::ECEF &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ECEF, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Geodetic_getLatitude(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Geodetic *arg1 = (gpstk::Geodetic *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Geodetic_getLatitude",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::Geodetic const *)arg1)->getLatitude();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Geodetic_getLongitude(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Geodetic *arg1 = (gpstk::Geodetic *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Geodetic_getLongitude",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::Geodetic const *)arg1)->getLongitude();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Geodetic_getAltitude(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Geodetic *arg1 = (gpstk::Geodetic *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Geodetic_getAltitude",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Geodetic, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::Geodetic const *)arg1)->getAltitude();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * Geodetic_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__Geodetic, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_RAIMSolution(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_RAIMSolution")) goto fail;
+    try {
+        result = (gpstk::RAIMSolution *)new gpstk::RAIMSolution();
+    }
+    catch(gpstk::Exception &_e) {
+        {
+            gpstk::Exception * temp = new gpstk::Exception(_e);
+            if (SWIGTYPE_p_gpstk__Exception->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__Exception->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__Exception,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::Exception");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__Exception,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__RAIMSolution, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Compute(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    DayTime *arg2 = 0 ;
+    std::vector<gpstk::RinexPrn > *arg3 = 0 ;
+    std::vector<double > *arg4 = 0 ;
+    gpstk::EphemerisStore *arg5 = 0 ;
+    gpstk::TropModel *arg6 = (gpstk::TropModel *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOO:RAIMSolution_Compute",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("std::vector<gpstk::RinexPrn >");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("std::vector<double >");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(6)) SWIG_fail;
+    try {
+        result = (int)(arg1)->Compute((DayTime const &)*arg2,*arg3,*arg4,(gpstk::EphemerisStore const &)*arg5,arg6);
+    }
+    catch(gpstk::Exception &_e) {
+        {
+            gpstk::Exception * temp = new gpstk::Exception(_e);
+            if (SWIGTYPE_p_gpstk__Exception->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__Exception->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__Exception,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::Exception");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__Exception,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_isValid(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_isValid",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)((gpstk::RAIMSolution const *)arg1)->isValid();
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_RMSLimit_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_RMSLimit_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->RMSLimit = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_RMSLimit_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_RMSLimit_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->RMSLimit);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_SlopeLimit_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_SlopeLimit_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->SlopeLimit = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_SlopeLimit_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_SlopeLimit_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->SlopeLimit);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Algebraic_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Algebraic_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (bool)(SWIG_As_bool(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Algebraic = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Algebraic_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Algebraic_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool) ((arg1)->Algebraic);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_ResidualCriterion_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_ResidualCriterion_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (bool)(SWIG_As_bool(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->ResidualCriterion = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_ResidualCriterion_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_ResidualCriterion_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool) ((arg1)->ResidualCriterion);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_ReturnAtOnce_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_ReturnAtOnce_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (bool)(SWIG_As_bool(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->ReturnAtOnce = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_ReturnAtOnce_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_ReturnAtOnce_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool) ((arg1)->ReturnAtOnce);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_NSatsReject_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_NSatsReject_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->NSatsReject = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_NSatsReject_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_NSatsReject_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int) ((arg1)->NSatsReject);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Debug_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Debug_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (bool)(SWIG_As_bool(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Debug = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Debug_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Debug_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool) ((arg1)->Debug);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_pDebugStream_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    std::ostream *arg2 = (std::ostream *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_pDebugStream_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->pDebugStream = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_pDebugStream_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_pDebugStream_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (std::ostream *) ((arg1)->pDebugStream);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_MaxNIterations_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_MaxNIterations_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->MaxNIterations = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_MaxNIterations_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_MaxNIterations_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int) ((arg1)->MaxNIterations);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_ConvergenceLimit_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_ConvergenceLimit_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->ConvergenceLimit = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_ConvergenceLimit_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_ConvergenceLimit_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->ConvergenceLimit);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Valid_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Valid_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (bool)(SWIG_As_bool(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Valid = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Valid_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Valid_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool) ((arg1)->Valid);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Solution_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    Vector<double > arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Solution_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        Vector<double > * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_VectorTdouble_t, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("Vector<double >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    if (arg1) (arg1)->Solution = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Solution_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    Vector<double > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Solution_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result =  ((arg1)->Solution);
+    
+    {
+        Vector<double > * resultptr;
+        resultptr = new Vector<double >((Vector<double > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_VectorTdouble_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Covariance_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    Matrix<double > arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Covariance_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        Matrix<double > * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_MatrixTdouble_t, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("Matrix<double >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    if (arg1) (arg1)->Covariance = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Covariance_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    Matrix<double > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Covariance_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result =  ((arg1)->Covariance);
+    
+    {
+        Matrix<double > * resultptr;
+        resultptr = new Matrix<double >((Matrix<double > &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_MatrixTdouble_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_RMSResidual_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_RMSResidual_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->RMSResidual = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_RMSResidual_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_RMSResidual_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->RMSResidual);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_MaxSlope_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_MaxSlope_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->MaxSlope = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_MaxSlope_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_MaxSlope_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->MaxSlope);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_NIterations_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_NIterations_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->NIterations = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_NIterations_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_NIterations_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int) ((arg1)->NIterations);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Convergence_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Convergence_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Convergence = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Convergence_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Convergence_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->Convergence);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Nsvs_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    int arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:RAIMSolution_Nsvs_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->Nsvs = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_RAIMSolution_Nsvs_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RAIMSolution_Nsvs_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (int) ((arg1)->Nsvs);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_RAIMSolution(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::RAIMSolution *arg1 = (gpstk::RAIMSolution *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_RAIMSolution",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__RAIMSolution, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * RAIMSolution_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__RAIMSolution, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_PrepareAutonomousSolution(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    DayTime *arg1 = 0 ;
+    std::vector<gpstk::RinexPrn > *arg2 = 0 ;
+    std::vector<double > *arg3 = 0 ;
+    gpstk::EphemerisStore *arg4 = 0 ;
+    Matrix<double > *arg5 = 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:PrepareAutonomousSolution",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::vector<gpstk::RinexPrn >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_std__vectorTdouble_std__allocatorTdouble_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("std::vector<double >");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_MatrixTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("Matrix<double >");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    result = (int)gpstk::PrepareAutonomousSolution((DayTime const &)*arg1,*arg2,*arg3,(gpstk::EphemerisStore const &)*arg4,*arg5);
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_AutonomousPRSolution(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    DayTime *arg1 = 0 ;
+    Vector<bool > *arg2 = 0 ;
+    Matrix<double > arg3 ;
+    gpstk::TropModel *arg4 = (gpstk::TropModel *) 0 ;
+    bool arg5 ;
+    int *arg6 = 0 ;
+    double *arg7 = 0 ;
+    Vector<double > *arg8 = 0 ;
+    Matrix<double > *arg9 = 0 ;
+    Vector<double > *arg10 = 0 ;
+    Vector<double > *arg11 = 0 ;
+    int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    PyObject * obj8 = 0 ;
+    PyObject * obj9 = 0 ;
+    PyObject * obj10 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOO:AutonomousPRSolution",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_VectorTbool_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("Vector<bool >");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        Matrix<double > * argp;
+        SWIG_Python_ConvertPtr(obj2, (void **)&argp, SWIGTYPE_p_MatrixTdouble_t, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("Matrix<double >");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = *argp;
+    }
+    SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(4)) SWIG_fail;
+    {
+        arg5 = (bool const)(SWIG_As_bool(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(7)) SWIG_fail;
+        if (arg7 == NULL) {
+            SWIG_null_ref("double");
+        }
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_VectorTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(8)) SWIG_fail;
+        if (arg8 == NULL) {
+            SWIG_null_ref("Vector<double >");
+        }
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj8, (void **)&arg9, SWIGTYPE_p_MatrixTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(9)) SWIG_fail;
+        if (arg9 == NULL) {
+            SWIG_null_ref("Matrix<double >");
+        }
+        if (SWIG_arg_fail(9)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj9, (void **)&arg10, SWIGTYPE_p_VectorTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(10)) SWIG_fail;
+        if (arg10 == NULL) {
+            SWIG_null_ref("Vector<double >");
+        }
+        if (SWIG_arg_fail(10)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj10, (void **)&arg11, SWIGTYPE_p_VectorTdouble_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(11)) SWIG_fail;
+        if (arg11 == NULL) {
+            SWIG_null_ref("Vector<double >");
+        }
+        if (SWIG_arg_fail(11)) SWIG_fail;
+    }
+    try {
+        result = (int)gpstk::AutonomousPRSolution((DayTime const &)*arg1,(Vector<bool > const &)*arg2,arg3,arg4,arg5,*arg6,*arg7,*arg8,*arg9,*arg10,*arg11);
+    }
+    catch(gpstk::Exception &_e) {
+        {
+            gpstk::Exception * temp = new gpstk::Exception(_e);
+            if (SWIGTYPE_p_gpstk__Exception->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__Exception->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__Exception,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::Exception");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__Exception,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_int((int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_CorrectedEphemerisRange(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_CorrectedEphemerisRange")) goto fail;
+    result = (gpstk::CorrectedEphemerisRange *)new gpstk::CorrectedEphemerisRange();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__CorrectedEphemerisRange, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_ComputeAtReceiveTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    DayTime *arg2 = 0 ;
+    gpstk::Position *arg3 = 0 ;
+    int arg4 ;
+    gpstk::EphemerisStore *arg5 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:CorrectedEphemerisRange_ComputeAtReceiveTime",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (int const)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    result = (double)(arg1)->ComputeAtReceiveTime((DayTime const &)*arg2,(gpstk::Position const &)*arg3,arg4,(gpstk::EphemerisStore const &)*arg5);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_ComputeAtTransmitTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    DayTime *arg2 = 0 ;
+    double *arg3 = 0 ;
+    gpstk::Position *arg4 = 0 ;
+    int arg5 ;
+    gpstk::EphemerisStore *arg6 = 0 ;
+    double result;
+    double temp3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOO:CorrectedEphemerisRange_ComputeAtTransmitTime",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        temp3 = (double)(SWIG_As_double(obj2));
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = &temp3;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__Position, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::Position");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (int const)(SWIG_As_int(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    result = (double)(arg1)->ComputeAtTransmitTime((DayTime const &)*arg2,(double const &)*arg3,(gpstk::Position const &)*arg4,arg5,(gpstk::EphemerisStore const &)*arg6);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_rawrange_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_rawrange_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->rawrange = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_rawrange_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_rawrange_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->rawrange);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_svclkbias_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_svclkbias_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->svclkbias = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_svclkbias_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_svclkbias_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->svclkbias);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_svclkdrift_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_svclkdrift_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->svclkdrift = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_svclkdrift_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_svclkdrift_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->svclkdrift);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_relativity_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_relativity_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->relativity = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_relativity_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_relativity_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->relativity);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_elevation_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_elevation_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->elevation = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_elevation_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_elevation_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->elevation);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_azimuth_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_azimuth_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->azimuth = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_azimuth_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_azimuth_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->azimuth);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_transmit_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    DayTime *arg2 = (DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_transmit_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->transmit = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_transmit_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_transmit_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (DayTime *)& ((arg1)->transmit);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_cosines_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    gpstk::Triple *arg2 = (gpstk::Triple *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_cosines_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Triple, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->cosines = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_cosines_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    gpstk::Triple *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_cosines_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::Triple *)& ((arg1)->cosines);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Triple, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_svPosVel_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    gpstk::Xvt *arg2 = (gpstk::Xvt *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:CorrectedEphemerisRange_svPosVel_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->svPosVel = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_CorrectedEphemerisRange_svPosVel_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    gpstk::Xvt *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:CorrectedEphemerisRange_svPosVel_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::Xvt *)& ((arg1)->svPosVel);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__Xvt, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_CorrectedEphemerisRange(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::CorrectedEphemerisRange *arg1 = (gpstk::CorrectedEphemerisRange *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_CorrectedEphemerisRange",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__CorrectedEphemerisRange, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * CorrectedEphemerisRange_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__CorrectedEphemerisRange, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_RelativityCorrection(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Xvt *arg1 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:RelativityCorrection",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Xvt, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Xvt");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (double)gpstk::RelativityCorrection((gpstk::Xvt const &)*arg1);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_EngNav(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngNav *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_EngNav")) goto fail;
+    result = (gpstk::EngNav *)new gpstk::EngNav();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngNav, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_EngNav(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngNav *arg1 = (gpstk::EngNav *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_EngNav",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngNav, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngNav_subframeParity(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    long *arg1 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngNav_subframeParity",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool)gpstk::EngNav::subframeParity((long const (*))arg1);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngNav_subframeConvert(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    long *arg1 ;
+    long arg2 ;
+    double *arg3 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:EngNav_subframeConvert",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long const)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(3)) SWIG_fail;
+    result = (bool)gpstk::EngNav::subframeConvert((long const (*))arg1,arg2,arg3);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngNav_convert8bit(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    long arg1 ;
+    double *arg2 = (double *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngNav_convert8bit",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (long const)(SWIG_As_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    result = (bool)gpstk::EngNav::convert8bit(arg1,arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngNav_convert10bit(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    long arg1 ;
+    double *arg2 = (double *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngNav_convert10bit",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (long const)(SWIG_As_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    result = (bool)gpstk::EngNav::convert10bit(arg1,arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngNav_getSubframePattern(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    long *arg1 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngNav_getSubframePattern",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)gpstk::EngNav::getSubframePattern((long const (*))arg1);
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * EngNav_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__EngNav, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_EngAlmanac(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_EngAlmanac")) goto fail;
+    result = (gpstk::EngAlmanac *)new gpstk::EngAlmanac();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngAlmanac, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_EngAlmanac(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_EngAlmanac",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_addSubframe(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    long *arg2 ;
+    long arg3 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:EngAlmanac_addSubframe",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        arg3 = (long const)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = (bool)(arg1)->addSubframe((long const (*))arg2,arg3);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_isData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_isData",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::EngAlmanac const *)arg1)->isData(arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getEcc(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getEcc",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngAlmanac const *)arg1)->getEcc(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getIOffset(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getIOffset",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngAlmanac const *)arg1)->getIOffset(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getOmegadot(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getOmegadot",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngAlmanac const *)arg1)->getOmegadot(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getSVHealth(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getSVHealth",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (short)((gpstk::EngAlmanac const *)arg1)->getSVHealth(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getAhalf(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getAhalf",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngAlmanac const *)arg1)->getAhalf(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getA(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getA",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngAlmanac const *)arg1)->getA(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getOmega0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getOmega0",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngAlmanac const *)arg1)->getOmega0(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getW(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getW",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngAlmanac const *)arg1)->getW(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getM0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getM0",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngAlmanac const *)arg1)->getM0(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getAf0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getAf0",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngAlmanac const *)arg1)->getAf0(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getAf1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getAf1",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngAlmanac const *)arg1)->getAf1(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getToa__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngAlmanac_getToa",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::EngAlmanac const *)arg1)->getToa();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getToa__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getToa",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngAlmanac const *)arg1)->getToa(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getToa(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EngAlmanac, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_EngAlmanac_getToa__SWIG_0(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EngAlmanac, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                return _wrap_EngAlmanac_getToa__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'EngAlmanac_getToa'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getXmitTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getXmitTime",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngAlmanac const *)arg1)->getXmitTime(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getFullWeek(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getFullWeek",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (short)((gpstk::EngAlmanac const *)arg1)->getFullWeek(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getIon(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    double *arg2 ;
+    double *arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:EngAlmanac_getIon",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(3)) SWIG_fail;
+    try {
+        ((gpstk::EngAlmanac const *)arg1)->getIon(arg2,arg3);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getUTC(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    double *arg2 = 0 ;
+    double *arg3 = 0 ;
+    double *arg4 = 0 ;
+    long *arg5 = 0 ;
+    int *arg6 = 0 ;
+    int *arg7 = 0 ;
+    int *arg8 = 0 ;
+    double *arg9 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    PyObject * obj8 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:EngAlmanac_getUTC",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("double");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("double");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("double");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("long");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(7)) SWIG_fail;
+        if (arg7 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(8)) SWIG_fail;
+        if (arg8 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj8, (void **)&arg9, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(9)) SWIG_fail;
+        if (arg9 == NULL) {
+            SWIG_null_ref("double");
+        }
+        if (SWIG_arg_fail(9)) SWIG_fail;
+    }
+    try {
+        ((gpstk::EngAlmanac const *)arg1)->getUTC(*arg2,*arg3,*arg4,*arg5,*arg6,*arg7,*arg8,*arg9);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getAlmWeek(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngAlmanac_getAlmWeek",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::EngAlmanac const *)arg1)->getAlmWeek();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getAlmOrbElem(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    gpstk::AlmOrbit result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngAlmanac_getAlmOrbElem",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::EngAlmanac const *)arg1)->getAlmOrbElem(arg2);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::AlmOrbit * resultptr;
+        resultptr = new gpstk::AlmOrbit((gpstk::AlmOrbit &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__AlmOrbit, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_getAlmOrbElems(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    SwigValueWrapper<std::map<short,gpstk::AlmOrbit,std::less<short >,std::allocator<std::pair<short const,gpstk::AlmOrbit > > > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngAlmanac_getAlmOrbElems",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::EngAlmanac const *)arg1)->getAlmOrbElems();
+    
+    {
+        gpstk::AlmOrbits * resultptr;
+        resultptr = new gpstk::AlmOrbits((gpstk::AlmOrbits &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngAlmanac_svXvt(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngAlmanac *arg1 = (gpstk::EngAlmanac *) 0 ;
+    short arg2 ;
+    DayTime *arg3 = 0 ;
+    gpstk::Xvt result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:EngAlmanac_svXvt",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngAlmanac, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::EngAlmanac const *)arg1)->svXvt(arg2,(DayTime const &)*arg3);
+    }
+    catch(SVNotPresentException &_e) {
+        {
+            SVNotPresentException * temp = new SVNotPresentException(_e);
+            if (SWIGTYPE_p_SVNotPresentException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_SVNotPresentException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"SVNotPresentException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_SVNotPresentException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::Xvt * resultptr;
+        resultptr = new gpstk::Xvt((gpstk::Xvt &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Xvt, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * EngAlmanac_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__EngAlmanac, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_EngEphemeris(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_EngEphemeris")) goto fail;
+    result = (gpstk::EngEphemeris *)new gpstk::EngEphemeris();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_EngEphemeris(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_EngEphemeris",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_addSubframe(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    long *arg2 ;
+    long arg3 ;
+    short arg4 ;
+    short arg5 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:EngEphemeris_addSubframe",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_long, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    {
+        arg3 = (long const)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (short)(SWIG_As_short(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    try {
+        result = (bool)(arg1)->addSubframe((long const (*))arg2,arg3,arg4,arg5);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_isData(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short arg2 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_isData",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (bool)((gpstk::EngEphemeris const *)arg1)->isData(arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_setAccuracy(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double *arg2 = 0 ;
+    double temp2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_setAccuracy",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        temp2 = (double)(SWIG_As_double(obj1));
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = &temp2;
+    }
+    try {
+        (arg1)->setAccuracy((double const &)*arg2);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getFitInterval(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getFitInterval",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (short)((gpstk::EngEphemeris const *)arg1)->getFitInterval();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTLMPreamble(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    unsigned char result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getTLMPreamble",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned char)((gpstk::EngEphemeris const *)arg1)->getTLMPreamble();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_char((unsigned char)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTLMMessage(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short arg2 ;
+    unsigned int result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_getTLMMessage",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (unsigned int)((gpstk::EngEphemeris const *)arg1)->getTLMMessage(arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_int((unsigned int)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getEphemerisEpoch(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    DayTime result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getEphemerisEpoch",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = ((gpstk::EngEphemeris const *)arg1)->getEphemerisEpoch();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        DayTime * resultptr;
+        resultptr = new DayTime((DayTime &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getEpochTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    DayTime result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getEpochTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = ((gpstk::EngEphemeris const *)arg1)->getEpochTime();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        DayTime * resultptr;
+        resultptr = new DayTime((DayTime &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTransmitTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    DayTime result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getTransmitTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = ((gpstk::EngEphemeris const *)arg1)->getTransmitTime();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        DayTime * resultptr;
+        resultptr = new DayTime((DayTime &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTimestamp(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    DayTime result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getTimestamp",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = ((gpstk::EngEphemeris const *)arg1)->getTimestamp();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        DayTime * resultptr;
+        resultptr = new DayTime((DayTime &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getPRNID(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getPRNID",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (short)((gpstk::EngEphemeris const *)arg1)->getPRNID();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTracker(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getTracker",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (short)((gpstk::EngEphemeris const *)arg1)->getTracker();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getHOWTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short arg2 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_getHOWTime",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getHOWTime(arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getASAlert(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short arg2 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_getASAlert",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (short)((gpstk::EngEphemeris const *)arg1)->getASAlert(arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getFullWeek(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getFullWeek",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (short)((gpstk::EngEphemeris const *)arg1)->getFullWeek();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCodeFlags(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCodeFlags",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (short)((gpstk::EngEphemeris const *)arg1)->getCodeFlags();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getAccuracy(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getAccuracy",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getAccuracy();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getAccFlag(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getAccFlag",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (short)((gpstk::EngEphemeris const *)arg1)->getAccFlag();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getHealth(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getHealth",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (short)((gpstk::EngEphemeris const *)arg1)->getHealth();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getL2Pdata(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getL2Pdata",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (short)((gpstk::EngEphemeris const *)arg1)->getL2Pdata();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getIODC(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getIODC",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (short)((gpstk::EngEphemeris const *)arg1)->getIODC();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getIODE(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getIODE",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (short)((gpstk::EngEphemeris const *)arg1)->getIODE();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getToc(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getToc",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getToc();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getAf0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getAf0",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getAf0();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getAf1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getAf1",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getAf1();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getAf2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getAf2",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getAf2();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTgd(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getTgd",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getTgd();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCus(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCus",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getCus();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCrs(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCrs",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getCrs();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCis(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCis",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getCis();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCrc(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCrc",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getCrc();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCuc(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCuc",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getCuc();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getCic(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getCic",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getCic();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getToe(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getToe",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getToe();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getM0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getM0",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getM0();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getDn(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getDn",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getDn();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getEcc(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getEcc",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getEcc();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getAhalf(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getAhalf",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getAhalf();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getA(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getA",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getA();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getOmega0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getOmega0",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getOmega0();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getI0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getI0",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getI0();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getW(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getW",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getW();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getOmegaDot(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getOmegaDot",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getOmegaDot();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getIDot(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getIDot",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->getIDot();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_svXvt(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    DayTime *arg2 = 0 ;
+    gpstk::Xvt result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_svXvt",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::EngEphemeris const *)arg1)->svXvt((DayTime const &)*arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::Xvt * resultptr;
+        resultptr = new gpstk::Xvt((gpstk::Xvt &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__Xvt, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_svRelativity(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    DayTime *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_svRelativity",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->svRelativity((DayTime const &)*arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_svClockBias(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    DayTime *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_svClockBias",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->svClockBias((DayTime const &)*arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_svClockDrift(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    DayTime *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_svClockDrift",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (double)((gpstk::EngEphemeris const *)arg1)->svClockDrift((DayTime const &)*arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getFitInt(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getFitInt",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (short)((gpstk::EngEphemeris const *)arg1)->getFitInt();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_getTot(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_getTot",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = (long)((gpstk::EngEphemeris const *)arg1)->getTot();
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_long((long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_setSF1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    unsigned int arg2 ;
+    double arg3 ;
+    short arg4 ;
+    short arg5 ;
+    short arg6 ;
+    short arg7 ;
+    short arg8 ;
+    short arg9 ;
+    short arg10 ;
+    double arg11 ;
+    double arg12 ;
+    double arg13 ;
+    double arg14 ;
+    double arg15 ;
+    short arg16 ;
+    short arg17 ;
+    gpstk::EngEphemeris *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    PyObject * obj8 = 0 ;
+    PyObject * obj9 = 0 ;
+    PyObject * obj10 = 0 ;
+    PyObject * obj11 = 0 ;
+    PyObject * obj12 = 0 ;
+    PyObject * obj13 = 0 ;
+    PyObject * obj14 = 0 ;
+    PyObject * obj15 = 0 ;
+    PyObject * obj16 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOOOOOOOO:EngEphemeris_setSF1",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11,&obj12,&obj13,&obj14,&obj15,&obj16)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (short)(SWIG_As_short(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        arg6 = (short)(SWIG_As_short(obj5)); 
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        arg7 = (short)(SWIG_As_short(obj6)); 
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        arg8 = (short)(SWIG_As_short(obj7)); 
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    {
+        arg9 = (short)(SWIG_As_short(obj8)); 
+        if (SWIG_arg_fail(9)) SWIG_fail;
+    }
+    {
+        arg10 = (short)(SWIG_As_short(obj9)); 
+        if (SWIG_arg_fail(10)) SWIG_fail;
+    }
+    {
+        arg11 = (double)(SWIG_As_double(obj10)); 
+        if (SWIG_arg_fail(11)) SWIG_fail;
+    }
+    {
+        arg12 = (double)(SWIG_As_double(obj11)); 
+        if (SWIG_arg_fail(12)) SWIG_fail;
+    }
+    {
+        arg13 = (double)(SWIG_As_double(obj12)); 
+        if (SWIG_arg_fail(13)) SWIG_fail;
+    }
+    {
+        arg14 = (double)(SWIG_As_double(obj13)); 
+        if (SWIG_arg_fail(14)) SWIG_fail;
+    }
+    {
+        arg15 = (double)(SWIG_As_double(obj14)); 
+        if (SWIG_arg_fail(15)) SWIG_fail;
+    }
+    {
+        arg16 = (short)(SWIG_As_short(obj15)); 
+        if (SWIG_arg_fail(16)) SWIG_fail;
+    }
+    {
+        arg17 = (short)(SWIG_As_short(obj16)); 
+        if (SWIG_arg_fail(17)) SWIG_fail;
+    }
+    {
+        gpstk::EngEphemeris &_result_ref = (arg1)->setSF1(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14,arg15,arg16,arg17);
+        result = (gpstk::EngEphemeris *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_setSF2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    unsigned int arg2 ;
+    double arg3 ;
+    short arg4 ;
+    short arg5 ;
+    double arg6 ;
+    double arg7 ;
+    double arg8 ;
+    double arg9 ;
+    double arg10 ;
+    double arg11 ;
+    double arg12 ;
+    double arg13 ;
+    short arg14 ;
+    gpstk::EngEphemeris *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    PyObject * obj8 = 0 ;
+    PyObject * obj9 = 0 ;
+    PyObject * obj10 = 0 ;
+    PyObject * obj11 = 0 ;
+    PyObject * obj12 = 0 ;
+    PyObject * obj13 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOOOOO:EngEphemeris_setSF2",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11,&obj12,&obj13)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (short)(SWIG_As_short(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        arg6 = (double)(SWIG_As_double(obj5)); 
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        arg7 = (double)(SWIG_As_double(obj6)); 
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        arg8 = (double)(SWIG_As_double(obj7)); 
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    {
+        arg9 = (double)(SWIG_As_double(obj8)); 
+        if (SWIG_arg_fail(9)) SWIG_fail;
+    }
+    {
+        arg10 = (double)(SWIG_As_double(obj9)); 
+        if (SWIG_arg_fail(10)) SWIG_fail;
+    }
+    {
+        arg11 = (double)(SWIG_As_double(obj10)); 
+        if (SWIG_arg_fail(11)) SWIG_fail;
+    }
+    {
+        arg12 = (double)(SWIG_As_double(obj11)); 
+        if (SWIG_arg_fail(12)) SWIG_fail;
+    }
+    {
+        arg13 = (double)(SWIG_As_double(obj12)); 
+        if (SWIG_arg_fail(13)) SWIG_fail;
+    }
+    {
+        arg14 = (short)(SWIG_As_short(obj13)); 
+        if (SWIG_arg_fail(14)) SWIG_fail;
+    }
+    {
+        gpstk::EngEphemeris &_result_ref = (arg1)->setSF2(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14);
+        result = (gpstk::EngEphemeris *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_setSF3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    unsigned int arg2 ;
+    double arg3 ;
+    short arg4 ;
+    double arg5 ;
+    double arg6 ;
+    double arg7 ;
+    double arg8 ;
+    double arg9 ;
+    double arg10 ;
+    double arg11 ;
+    double arg12 ;
+    gpstk::EngEphemeris *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    PyObject * obj8 = 0 ;
+    PyObject * obj9 = 0 ;
+    PyObject * obj10 = 0 ;
+    PyObject * obj11 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOOOOO:EngEphemeris_setSF3",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10,&obj11)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned int)(SWIG_As_unsigned_SS_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (double)(SWIG_As_double(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        arg6 = (double)(SWIG_As_double(obj5)); 
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        arg7 = (double)(SWIG_As_double(obj6)); 
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        arg8 = (double)(SWIG_As_double(obj7)); 
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    {
+        arg9 = (double)(SWIG_As_double(obj8)); 
+        if (SWIG_arg_fail(9)) SWIG_fail;
+    }
+    {
+        arg10 = (double)(SWIG_As_double(obj9)); 
+        if (SWIG_arg_fail(10)) SWIG_fail;
+    }
+    {
+        arg11 = (double)(SWIG_As_double(obj10)); 
+        if (SWIG_arg_fail(11)) SWIG_fail;
+    }
+    {
+        arg12 = (double)(SWIG_As_double(obj11)); 
+        if (SWIG_arg_fail(12)) SWIG_fail;
+    }
+    {
+        gpstk::EngEphemeris &_result_ref = (arg1)->setSF3(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12);
+        result = (gpstk::EngEphemeris *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__EngEphemeris, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_dump__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EngEphemeris_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::EngEphemeris const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_dump__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::EngEphemeris *arg1 = (gpstk::EngEphemeris *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EngEphemeris_dump",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    ((gpstk::EngEphemeris const *)arg1)->dump();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EngEphemeris_dump(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EngEphemeris, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_EngEphemeris_dump__SWIG_1(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__EngEphemeris, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_EngEphemeris_dump__SWIG_0(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'EngEphemeris_dump'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_13(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::EngEphemeris *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__EngEphemeris, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::EngEphemeris");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::EngEphemeris const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * EngEphemeris_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__EngEphemeris, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static int _wrap_GPSZcount_ZCOUNT_MINUTE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable GPSZcount_ZCOUNT_MINUTE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_GPSZcount_ZCOUNT_MINUTE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::GPSZcount::ZCOUNT_MINUTE)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_GPSZcount_ZCOUNT_HOUR_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable GPSZcount_ZCOUNT_HOUR is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_GPSZcount_ZCOUNT_HOUR_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::GPSZcount::ZCOUNT_HOUR)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_GPSZcount_ZCOUNT_DAY_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable GPSZcount_ZCOUNT_DAY is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_GPSZcount_ZCOUNT_DAY_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::GPSZcount::ZCOUNT_DAY)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_GPSZcount_ZCOUNT_WEEK_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable GPSZcount_ZCOUNT_WEEK is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_GPSZcount_ZCOUNT_WEEK_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::GPSZcount::ZCOUNT_WEEK)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject *_wrap_new_GPSZcount__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short arg1 ;
+    long arg2 ;
+    gpstk::GPSZcount *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_GPSZcount",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (short)(SWIG_As_short(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::GPSZcount *)new gpstk::GPSZcount(arg1,arg2);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GPSZcount__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    long arg1 ;
+    gpstk::GPSZcount *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_GPSZcount",&obj0)) goto fail;
+    {
+        arg1 = (long)(SWIG_As_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::GPSZcount *)new gpstk::GPSZcount(arg1);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GPSZcount__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_GPSZcount")) goto fail;
+    try {
+        result = (gpstk::GPSZcount *)new gpstk::GPSZcount();
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_GPSZcount(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_GPSZcount",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GPSZcount__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = 0 ;
+    gpstk::GPSZcount *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_GPSZcount",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (gpstk::GPSZcount *)new gpstk::GPSZcount((gpstk::GPSZcount const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_GPSZcount(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_GPSZcount__SWIG_2(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_GPSZcount__SWIG_3(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_Check_long(argv[0]);
+        if (_v) {
+            return _wrap_new_GPSZcount__SWIG_1(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_short(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_long(argv[1]);
+            if (_v) {
+                return _wrap_new_GPSZcount__SWIG_0(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_GPSZcount'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_getWeek(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GPSZcount_getWeek",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::GPSZcount const *)arg1)->getWeek();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_getZcount(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GPSZcount_getZcount",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (long)((gpstk::GPSZcount const *)arg1)->getZcount();
+    
+    {
+        resultobj = SWIG_From_long((long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_getFullZcount(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GPSZcount_getFullZcount",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (long)((gpstk::GPSZcount const *)arg1)->getFullZcount();
+    
+    {
+        resultobj = SWIG_From_long((long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_getTotalZcounts(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GPSZcount_getTotalZcounts",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::GPSZcount const *)arg1)->getTotalZcounts();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_setWeek(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    short arg2 ;
+    gpstk::GPSZcount *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_setWeek",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::GPSZcount &_result_ref = (arg1)->setWeek(arg2);
+            result = (gpstk::GPSZcount *) &_result_ref;
+        }
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_setZcount(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long arg2 ;
+    gpstk::GPSZcount *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_setZcount",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::GPSZcount &_result_ref = (arg1)->setZcount(arg2);
+            result = (gpstk::GPSZcount *) &_result_ref;
+        }
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_setFullZcount(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long arg2 ;
+    gpstk::GPSZcount *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_setFullZcount",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::GPSZcount &_result_ref = (arg1)->setFullZcount(arg2);
+            result = (gpstk::GPSZcount *) &_result_ref;
+        }
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            gpstk::InvalidParameter * temp = new gpstk::InvalidParameter(_e);
+            if (SWIGTYPE_p_gpstk__InvalidParameter->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidParameter->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidParameter");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidParameter,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_addWeeks(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    short arg2 ;
+    gpstk::GPSZcount *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_addWeeks",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::GPSZcount &_result_ref = (arg1)->addWeeks(arg2);
+            result = (gpstk::GPSZcount *) &_result_ref;
+        }
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_addZcounts(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long arg2 ;
+    gpstk::GPSZcount *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_addZcounts",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::GPSZcount &_result_ref = (arg1)->addZcounts(arg2);
+            result = (gpstk::GPSZcount *) &_result_ref;
+        }
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___add__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long arg2 ;
+    gpstk::GPSZcount result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___add__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::GPSZcount const *)arg1)->operator +(arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::GPSZcount * resultptr;
+        resultptr = new gpstk::GPSZcount((gpstk::GPSZcount &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__GPSZcount, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___sub____SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long arg2 ;
+    gpstk::GPSZcount result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___sub__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = ((gpstk::GPSZcount const *)arg1)->operator -(arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::GPSZcount * resultptr;
+        resultptr = new gpstk::GPSZcount((gpstk::GPSZcount &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__GPSZcount, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___sub____SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___sub__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (double)((gpstk::GPSZcount const *)arg1)->operator -((gpstk::GPSZcount const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___sub__(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_GPSZcount___sub____SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_long(argv[1]);
+            if (_v) {
+                return _wrap_GPSZcount___sub____SWIG_0(self,args);
+            }
+        }
+    }
+    
+    Py_INCREF(Py_NotImplemented);
+    return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap_GPSZcount___iadd__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long arg2 ;
+    gpstk::GPSZcount *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___iadd__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::GPSZcount &_result_ref = (arg1)->operator +=(arg2);
+            result = (gpstk::GPSZcount *) &_result_ref;
+        }
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___isub__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long arg2 ;
+    gpstk::GPSZcount *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___isub__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::GPSZcount &_result_ref = (arg1)->operator -=(arg2);
+            result = (gpstk::GPSZcount *) &_result_ref;
+        }
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            gpstk::InvalidRequest * temp = new gpstk::InvalidRequest(_e);
+            if (SWIGTYPE_p_gpstk__InvalidRequest->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__InvalidRequest->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::InvalidRequest");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__InvalidRequest,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    gpstk::GPSZcount *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::GPSZcount &_result_ref = (arg1)->operator =((gpstk::GPSZcount const &)*arg2);
+        result = (gpstk::GPSZcount *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__GPSZcount, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___lt__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___lt__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::GPSZcount const *)arg1)->operator <((gpstk::GPSZcount const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___gt__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___gt__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::GPSZcount const *)arg1)->operator >((gpstk::GPSZcount const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___eq__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___eq__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::GPSZcount const *)arg1)->operator ==((gpstk::GPSZcount const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___ne__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___ne__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::GPSZcount const *)arg1)->operator !=((gpstk::GPSZcount const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___le__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___le__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::GPSZcount const *)arg1)->operator <=((gpstk::GPSZcount const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount___ge__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount___ge__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::GPSZcount const *)arg1)->operator >=((gpstk::GPSZcount const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_operator_std_string(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:GPSZcount_operator_std_string",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::GPSZcount const *)arg1)->operator std::string();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_inSameTimeBlock__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    unsigned long arg3 ;
+    unsigned long arg4 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:GPSZcount_inSameTimeBlock",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (unsigned long)(SWIG_As_unsigned_SS_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (unsigned long)(SWIG_As_unsigned_SS_long(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    result = (bool)(arg1)->inSameTimeBlock((gpstk::GPSZcount const &)*arg2,arg3,arg4);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_inSameTimeBlock__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    unsigned long arg3 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:GPSZcount_inSameTimeBlock",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (unsigned long)(SWIG_As_unsigned_SS_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (bool)(arg1)->inSameTimeBlock((gpstk::GPSZcount const &)*arg2,arg3);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_inSameTimeBlock(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_unsigned_SS_long(argv[2]);
+                if (_v) {
+                    return _wrap_GPSZcount_inSameTimeBlock__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_unsigned_SS_long(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_unsigned_SS_long(argv[3]);
+                    if (_v) {
+                        return _wrap_GPSZcount_inSameTimeBlock__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'GPSZcount_inSameTimeBlock'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_dump__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    std::ostream *arg2 = 0 ;
+    short arg3 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:GPSZcount_dump",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    ((gpstk::GPSZcount const *)arg1)->dump(*arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_dump__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:GPSZcount_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    ((gpstk::GPSZcount const *)arg1)->dump(*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_GPSZcount_dump(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_GPSZcount_dump__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    return _wrap_GPSZcount_dump__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'GPSZcount_dump'");
+    return NULL;
+}
+
+
+static PyObject * GPSZcount_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__GPSZcount, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap___lshift____SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__lshift__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = gpstk::operator <<(*arg1,(gpstk::GPSZcount const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    DayTimeException *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_DayTimeException")) goto fail;
+    result = (DayTimeException *)new DayTimeException();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    DayTimeException *arg1 = 0 ;
+    DayTimeException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_DayTimeException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_DayTimeException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("DayTimeException");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (DayTimeException *)new DayTimeException((DayTimeException const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    DayTimeException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_DayTimeException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (DayTimeException *)new DayTimeException((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    DayTimeException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_DayTimeException",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (DayTimeException *)new DayTimeException(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    DayTimeException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTimeException",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (DayTimeException *)new DayTimeException(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    DayTimeException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_DayTimeException",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (DayTimeException *)new DayTimeException(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTimeException(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_DayTimeException__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_DayTimeException, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_DayTimeException__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_DayTimeException__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_DayTimeException__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_DayTimeException__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_DayTimeException__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_DayTimeException'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_DayTimeException(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    DayTimeException *arg1 = (DayTimeException *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_DayTimeException",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_DayTimeException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTimeException_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    DayTimeException *arg1 = (DayTimeException *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTimeException_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_DayTimeException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((DayTimeException const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTimeException_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    DayTimeException *arg1 = (DayTimeException *) 0 ;
+    DayTimeException *arg2 = 0 ;
+    DayTimeException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTimeException_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_DayTimeException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_DayTimeException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTimeException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        DayTimeException &_result_ref = (arg1)->operator =((DayTimeException const &)*arg2);
+        result = (DayTimeException *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_DayTimeException, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTimeException_streamRead__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    DayTimeException *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTimeException_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_DayTimeException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("DayTimeException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(DayTimeException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * DayTimeException_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_DayTimeException, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_FormatException__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    FormatException *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_FormatException")) goto fail;
+    result = (FormatException *)new FormatException();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FormatException__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    FormatException *arg1 = 0 ;
+    FormatException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FormatException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_FormatException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("FormatException");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (FormatException *)new FormatException((FormatException const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FormatException__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::Exception *arg1 = 0 ;
+    FormatException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FormatException",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__Exception, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::Exception");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (FormatException *)new FormatException((gpstk::Exception const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FormatException__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    FormatException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_FormatException",&obj0,&obj1,&obj2)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::Exception::Severity)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (FormatException *)new FormatException(arg1,arg2,arg3);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FormatException__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    unsigned long arg2 ;
+    FormatException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_FormatException",&obj0,&obj1)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (FormatException *)new FormatException(arg1,arg2);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FormatException__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::string arg1 ;
+    FormatException *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_FormatException",&obj0)) goto fail;
+    {
+        std::string *ptr = (std::string *)0;
+        int res = SWIG_AsPtr_std_string(obj0, &ptr);
+        if (!res) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj0);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *ptr;
+        if (res == SWIG_NEWOBJ) delete ptr;
+    }
+    result = (FormatException *)new FormatException(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_FormatException(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_FormatException__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_FormatException, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_FormatException__SWIG_1(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__Exception, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_FormatException__SWIG_2(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            return _wrap_new_FormatException__SWIG_5(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_new_FormatException__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_AsPtr_std_string(argv[0], (std::string**)(0));
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_FormatException__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_FormatException'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_FormatException(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    FormatException *arg1 = (FormatException *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_FormatException",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_FormatException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FormatException_getName(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    FormatException *arg1 = (FormatException *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:FormatException_getName",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_FormatException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((FormatException const *)arg1)->getName();
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_FormatException_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    FormatException *arg1 = (FormatException *) 0 ;
+    FormatException *arg2 = 0 ;
+    FormatException *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:FormatException_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_FormatException, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_FormatException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("FormatException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        FormatException &_result_ref = (arg1)->operator =((FormatException const &)*arg2);
+        result = (FormatException *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_FormatException, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTimeException_streamRead__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    FormatException *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTimeException_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_FormatException, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("FormatException");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(FormatException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTimeException_streamRead(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_DayTimeException, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_DayTimeException_streamRead__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_FormatException, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_DayTimeException_streamRead__SWIG_1(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTimeException_streamRead'");
+    return NULL;
+}
+
+
+static PyObject * FormatException_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_FormatException, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static int _wrap_DayTime_FACTOR_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_FACTOR is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_FACTOR_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::DayTime::FACTOR)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_JD_TO_MJD_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_JD_TO_MJD is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_JD_TO_MJD_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::DayTime::JD_TO_MJD)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_MJD_JDAY_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_MJD_JDAY is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_MJD_JDAY_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::DayTime::MJD_JDAY)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_GPS_EPOCH_JDAY_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_GPS_EPOCH_JDAY is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_GPS_EPOCH_JDAY_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::DayTime::GPS_EPOCH_JDAY)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_GPS_EPOCH_MJD_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_GPS_EPOCH_MJD is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_GPS_EPOCH_MJD_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::DayTime::GPS_EPOCH_MJD)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_UNIX_MJD_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_UNIX_MJD is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_UNIX_MJD_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::DayTime::UNIX_MJD)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_HALFWEEK_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_HALFWEEK is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_HALFWEEK_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::DayTime::HALFWEEK)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_FULLWEEK_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_FULLWEEK is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_FULLWEEK_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::DayTime::FULLWEEK)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_SEC_DAY_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_SEC_DAY is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_SEC_DAY_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::DayTime::SEC_DAY)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_MS_PER_DAY_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_MS_PER_DAY is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_MS_PER_DAY_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::DayTime::MS_PER_DAY)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_ONE_NSEC_TOLERANCE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_ONE_NSEC_TOLERANCE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_ONE_NSEC_TOLERANCE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::DayTime::ONE_NSEC_TOLERANCE)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_ONE_USEC_TOLERANCE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_ONE_USEC_TOLERANCE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_ONE_USEC_TOLERANCE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::DayTime::ONE_USEC_TOLERANCE)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_ONE_MSEC_TOLERANCE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_ONE_MSEC_TOLERANCE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_ONE_MSEC_TOLERANCE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::DayTime::ONE_MSEC_TOLERANCE)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_ONE_SEC_TOLERANCE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_ONE_SEC_TOLERANCE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_ONE_SEC_TOLERANCE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::DayTime::ONE_SEC_TOLERANCE)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_ONE_MIN_TOLERANCE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_ONE_MIN_TOLERANCE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_ONE_MIN_TOLERANCE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::DayTime::ONE_MIN_TOLERANCE)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_ONE_HOUR_TOLERANCE_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_ONE_HOUR_TOLERANCE is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_ONE_HOUR_TOLERANCE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::DayTime::ONE_HOUR_TOLERANCE)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_DAYTIME_TOLERANCE_set(PyObject *_val) {
+    {
+        double temp = (double)(SWIG_As_double(_val));
+        if (PyErr_Occurred()) {
+            SWIG_append_errmsg("C/C++ variable 'gpstk::DayTime::DAYTIME_TOLERANCE (double)'");
+            return 1;
+        }
+        gpstk::DayTime::DAYTIME_TOLERANCE = temp;
+    }
+    return 0;
+}
+
+
+static PyObject *_wrap_DayTime_DAYTIME_TOLERANCE_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_double((double)(gpstk::DayTime::DAYTIME_TOLERANCE)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_BEGIN_LIMIT_JDAY_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_BEGIN_LIMIT_JDAY is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_BEGIN_LIMIT_JDAY_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::DayTime::BEGIN_LIMIT_JDAY)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_END_LIMIT_JDAY_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_END_LIMIT_JDAY is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_END_LIMIT_JDAY_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_long((long)(gpstk::DayTime::END_LIMIT_JDAY)); 
+    }
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_BEGINNING_OF_TIME_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_BEGINNING_OF_TIME is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_BEGINNING_OF_TIME_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::DayTime::BEGINNING_OF_TIME), SWIGTYPE_p_gpstk__DayTime, 0);
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_END_OF_TIME_set(PyObject *) {
+    PyErr_SetString(PyExc_TypeError,"Variable DayTime_END_OF_TIME is read-only.");
+    return 1;
+}
+
+
+static PyObject *_wrap_DayTime_END_OF_TIME_get(void) {
+    PyObject *pyobj = NULL;
+    
+    pyobj = SWIG_NewPointerObj((void *)(&gpstk::DayTime::END_OF_TIME), SWIGTYPE_p_gpstk__DayTime, 0);
+    return pyobj;
+}
+
+
+static int _wrap_DayTime_DAYTIME_TEST_VALID_set(PyObject *_val) {
+    {
+        bool temp = (bool)(SWIG_As_bool(_val));
+        if (PyErr_Occurred()) {
+            SWIG_append_errmsg("C/C++ variable 'gpstk::DayTime::DAYTIME_TEST_VALID (bool)'");
+            return 1;
+        }
+        gpstk::DayTime::DAYTIME_TEST_VALID = temp;
+    }
+    return 0;
+}
+
+
+static PyObject *_wrap_DayTime_DAYTIME_TEST_VALID_get(void) {
+    PyObject *pyobj = NULL;
+    
+    {
+        pyobj = SWIG_From_bool((bool)(gpstk::DayTime::DAYTIME_TEST_VALID)); 
+    }
+    return pyobj;
+}
+
+
+static PyObject *_wrap_DayTime_setDayTimeTolerance(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_setDayTimeTolerance",&obj0)) goto fail;
+    {
+        arg1 = (double const)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    result = (double)gpstk::DayTime::setDayTimeTolerance(arg1);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_getDayTimeTolerance(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":DayTime_getDayTimeTolerance")) goto fail;
+    result = (double)gpstk::DayTime::getDayTimeTolerance();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setTolerance(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setTolerance",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double const)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::DayTime &_result_ref = (arg1)->setTolerance(arg2);
+        result = (gpstk::DayTime *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_getTolerance(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_getTolerance",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)(arg1)->getTolerance();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_DayTime")) goto fail;
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime();
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short arg1 ;
+    double arg2 ;
+    gpstk::DayTime::TimeFrame arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_DayTime",&obj0,&obj1,&obj2)) goto fail;
+    {
+        arg1 = (short)(SWIG_As_short(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short arg1 ;
+    double arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTime",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (short)(SWIG_As_short(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short arg1 ;
+    double arg2 ;
+    short arg3 ;
+    gpstk::DayTime::TimeFrame arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:new_DayTime",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        arg1 = (short)(SWIG_As_short(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3,arg4);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short arg1 ;
+    double arg2 ;
+    short arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_DayTime",&obj0,&obj1,&obj2)) goto fail;
+    {
+        arg1 = (short)(SWIG_As_short(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short arg1 ;
+    long arg2 ;
+    short arg3 ;
+    gpstk::DayTime::TimeFrame arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:new_DayTime",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        arg1 = (short)(SWIG_As_short(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3,arg4);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_6(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short arg1 ;
+    long arg2 ;
+    short arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_DayTime",&obj0,&obj1,&obj2)) goto fail;
+    {
+        arg1 = (short)(SWIG_As_short(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_7(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    unsigned long arg1 ;
+    gpstk::DayTime::TimeFrame arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTime",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (unsigned long)(SWIG_As_unsigned_SS_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_8(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    unsigned long arg1 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_DayTime",&obj0)) goto fail;
+    {
+        arg1 = (unsigned long)(SWIG_As_unsigned_SS_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_9(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = 0 ;
+    gpstk::DayTime::TimeFrame arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTime",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime((gpstk::GPSZcount const &)*arg1,arg2);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_10(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::GPSZcount *arg1 = 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_DayTime",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime((gpstk::GPSZcount const &)*arg1);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_11(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short arg1 ;
+    short arg2 ;
+    short arg3 ;
+    short arg4 ;
+    short arg5 ;
+    double arg6 ;
+    gpstk::DayTime::TimeFrame arg7 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOO:new_DayTime",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) goto fail;
+    {
+        arg1 = (short)(SWIG_As_short(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (short)(SWIG_As_short(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        arg6 = (double)(SWIG_As_double(obj5)); 
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        arg7 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj6)); 
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_12(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short arg1 ;
+    short arg2 ;
+    short arg3 ;
+    short arg4 ;
+    short arg5 ;
+    double arg6 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOO:new_DayTime",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+    {
+        arg1 = (short)(SWIG_As_short(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (short)(SWIG_As_short(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        arg6 = (double)(SWIG_As_double(obj5)); 
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3,arg4,arg5,arg6);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_13(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    long double arg1 ;
+    gpstk::DayTime::TimeFrame arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTime",&obj0,&obj1)) goto fail;
+    {
+        long double * argp;
+        SWIG_Python_ConvertPtr(obj0, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("long double");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *argp;
+    }
+    {
+        arg2 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_14(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    long double arg1 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_DayTime",&obj0)) goto fail;
+    {
+        long double * argp;
+        SWIG_Python_ConvertPtr(obj0, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("long double");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        arg1 = *argp;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_15(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    gpstk::DayTime::TimeFrame arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTime",&obj0,&obj1)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_16(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_DayTime",&obj0)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_17(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short arg1 ;
+    short arg2 ;
+    double arg3 ;
+    gpstk::DayTime::TimeFrame arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:new_DayTime",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        arg1 = (short)(SWIG_As_short(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3,arg4);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_18(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    short arg1 ;
+    short arg2 ;
+    double arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:new_DayTime",&obj0,&obj1,&obj2)) goto fail;
+    {
+        arg1 = (short)(SWIG_As_short(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime(arg1,arg2,arg3);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_19(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    timeval *arg1 = 0 ;
+    gpstk::DayTime::TimeFrame arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_DayTime",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_timeval, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("timeval");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime((timeval const &)*arg1,arg2);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_20(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    timeval *arg1 = 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_DayTime",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_timeval, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("timeval");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime((timeval const &)*arg1);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_DayTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_DayTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime__SWIG_21(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_DayTime",&obj0)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    try {
+        result = (gpstk::DayTime *)new gpstk::DayTime((gpstk::DayTime const &)*arg1);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_DayTime(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[8];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 7); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_DayTime__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_DayTime__SWIG_10(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_DayTime__SWIG_14(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_timeval, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_DayTime__SWIG_20(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            return _wrap_new_DayTime__SWIG_21(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_Check_unsigned_SS_long(argv[0]);
+        if (_v) {
+            return _wrap_new_DayTime__SWIG_8(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            return _wrap_new_DayTime__SWIG_16(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_new_DayTime__SWIG_9(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_timeval, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_new_DayTime__SWIG_19(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_new_DayTime__SWIG_13(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_short(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_new_DayTime__SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_unsigned_SS_long(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_new_DayTime__SWIG_7(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                return _wrap_new_DayTime__SWIG_15(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_short(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_new_DayTime__SWIG_18(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_short(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    return _wrap_new_DayTime__SWIG_6(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_short(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    return _wrap_new_DayTime__SWIG_4(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        _v = SWIG_Check_short(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_new_DayTime__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        _v = SWIG_Check_short(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_int(argv[3]);
+                    if (_v) {
+                        return _wrap_new_DayTime__SWIG_17(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        _v = SWIG_Check_short(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_int(argv[3]);
+                    if (_v) {
+                        return _wrap_new_DayTime__SWIG_5(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        _v = SWIG_Check_short(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_int(argv[3]);
+                    if (_v) {
+                        return _wrap_new_DayTime__SWIG_3(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 6) {
+        int _v;
+        _v = SWIG_Check_short(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_short(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_short(argv[4]);
+                        if (_v) {
+                            _v = SWIG_Check_double(argv[5]);
+                            if (_v) {
+                                return _wrap_new_DayTime__SWIG_12(self,args);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 7) {
+        int _v;
+        _v = SWIG_Check_short(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_short(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_short(argv[4]);
+                        if (_v) {
+                            _v = SWIG_Check_double(argv[5]);
+                            if (_v) {
+                                _v = SWIG_Check_int(argv[6]);
+                                if (_v) {
+                                    return _wrap_new_DayTime__SWIG_11(self,args);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_DayTime'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_class_operator_assignment(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_class_operator_assignment",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::DayTime &_result_ref = (arg1)->operator =((gpstk::DayTime const &)*arg2);
+        result = (gpstk::DayTime *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___sub____SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___sub__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (double)((gpstk::DayTime const *)arg1)->operator -((gpstk::DayTime const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___add__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double arg2 ;
+    gpstk::DayTime result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___add__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = ((gpstk::DayTime const *)arg1)->operator +(arg2);
+    
+    {
+        gpstk::DayTime * resultptr;
+        resultptr = new gpstk::DayTime((gpstk::DayTime &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___sub____SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double arg2 ;
+    gpstk::DayTime result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___sub__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = ((gpstk::DayTime const *)arg1)->operator -(arg2);
+    
+    {
+        gpstk::DayTime * resultptr;
+        resultptr = new gpstk::DayTime((gpstk::DayTime &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__DayTime, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___sub__(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_DayTime___sub____SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_DayTime___sub____SWIG_1(self,args);
+            }
+        }
+    }
+    
+    Py_INCREF(Py_NotImplemented);
+    return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap_DayTime___iadd__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___iadd__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->operator +=(arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___isub__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___isub__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->operator -=(arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_addSeconds__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_addSeconds",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->addSeconds(arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_addSeconds__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    long arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_addSeconds",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->addSeconds(arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_addSeconds(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_long(argv[1]);
+            if (_v) {
+                return _wrap_DayTime_addSeconds__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_DayTime_addSeconds__SWIG_0(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_addSeconds'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_addMilliSeconds(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    long arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_addMilliSeconds",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->addMilliSeconds(arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_addMicroSeconds(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    long arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_addMicroSeconds",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (long)(SWIG_As_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->addMicroSeconds(arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___eq__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___eq__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::DayTime const *)arg1)->operator ==((gpstk::DayTime const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___ne__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___ne__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::DayTime const *)arg1)->operator !=((gpstk::DayTime const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___lt__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___lt__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::DayTime const *)arg1)->operator <((gpstk::DayTime const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___gt__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___gt__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::DayTime const *)arg1)->operator >((gpstk::DayTime const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___le__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___le__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::DayTime const *)arg1)->operator <=((gpstk::DayTime const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime___ge__(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime___ge__",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    result = (bool)((gpstk::DayTime const *)arg1)->operator >=((gpstk::DayTime const &)*arg2);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setAllButTimeFrame(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setAllButTimeFrame",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setAllButTimeFrame((gpstk::DayTime const &)*arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setTimeFrame(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime::TimeFrame arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setTimeFrame",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::DayTime &_result_ref = (arg1)->setTimeFrame(arg2);
+        result = (gpstk::DayTime *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_getTimeFrame(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime::TimeFrame result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_getTimeFrame",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::DayTime::TimeFrame)((gpstk::DayTime const *)arg1)->getTimeFrame();
+    
+    resultobj = SWIG_From_int((result));
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_JD(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_JD",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::DayTime const *)arg1)->JD();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_MJD(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_MJD",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::DayTime const *)arg1)->MJD();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_year(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_year",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->year();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_month(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_month",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->month();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_day(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_day",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->day();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_dayOfWeek(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_dayOfWeek",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->dayOfWeek();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_getYMD(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    int *arg2 = 0 ;
+    int *arg3 = 0 ;
+    int *arg4 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_getYMD",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    ((gpstk::DayTime const *)arg1)->getYMD(*arg2,*arg3,*arg4);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_hour(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_hour",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->hour();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_minute(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_minute",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->minute();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_second(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_second",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::DayTime const *)arg1)->second();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_secOfDay(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_secOfDay",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::DayTime const *)arg1)->secOfDay();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPS10bitweek(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPS10bitweek",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->GPS10bitweek();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSzcount(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSzcount",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (long)((gpstk::DayTime const *)arg1)->GPSzcount();
+    
+    {
+        resultobj = SWIG_From_long((long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSzcountFloor(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSzcountFloor",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (long)((gpstk::DayTime const *)arg1)->GPSzcountFloor();
+    
+    {
+        resultobj = SWIG_From_long((long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSsecond(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSsecond",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::DayTime const *)arg1)->GPSsecond();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSsow(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSsow",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::DayTime const *)arg1)->GPSsow();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSday(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSday",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->GPSday();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSfullweek(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSfullweek",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->GPSfullweek();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_GPSyear(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_GPSyear",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->GPSyear();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_DOYyear(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_DOYyear",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->DOYyear();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_DOYday(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_DOYday",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->DOYday();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_DOY(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_DOY",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::DayTime const *)arg1)->DOY();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_DOYsecond(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_DOYsecond",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::DayTime const *)arg1)->DOYsecond();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_MJDdate(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_MJDdate",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::DayTime const *)arg1)->MJDdate();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_getMJDasLongDouble(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    long double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_getMJDasLongDouble",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (long double)((gpstk::DayTime const *)arg1)->getMJDasLongDouble();
+    
+    {
+        long double * resultptr;
+        resultptr = new long double((long double &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_long_double, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_unixTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    timeval result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_unixTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = ((gpstk::DayTime const *)arg1)->unixTime();
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        timeval * resultptr;
+        resultptr = new timeval((timeval &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_timeval, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_fullZcount(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    unsigned long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_fullZcount",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned long)((gpstk::DayTime const *)arg1)->fullZcount();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_fullZcountFloor(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    unsigned long result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_fullZcountFloor",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (unsigned long)((gpstk::DayTime const *)arg1)->fullZcountFloor();
+    
+    {
+        resultobj = SWIG_From_unsigned_SS_long((unsigned long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_Operator_GPSZcount(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::GPSZcount result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_Operator_GPSZcount",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::DayTime const *)arg1)->operator gpstk::GPSZcount();
+    
+    {
+        gpstk::GPSZcount * resultptr;
+        resultptr = new gpstk::GPSZcount((gpstk::GPSZcount &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__GPSZcount, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYMDHMS__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    short arg3 ;
+    short arg4 ;
+    short arg5 ;
+    short arg6 ;
+    double arg7 ;
+    gpstk::DayTime::TimeFrame arg8 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOO:DayTime_setYMDHMS",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (short)(SWIG_As_short(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        arg6 = (short)(SWIG_As_short(obj5)); 
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        arg7 = (double)(SWIG_As_double(obj6)); 
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        arg8 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj7)); 
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setYMDHMS(arg2,arg3,arg4,arg5,arg6,arg7,arg8);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYMDHMS__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    short arg3 ;
+    short arg4 ;
+    short arg5 ;
+    short arg6 ;
+    double arg7 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOO:DayTime_setYMDHMS",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (short)(SWIG_As_short(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        arg6 = (short)(SWIG_As_short(obj5)); 
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        arg7 = (double)(SWIG_As_double(obj6)); 
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setYMDHMS(arg2,arg3,arg4,arg5,arg6,arg7);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYMDHMS(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[9];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 8); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 7) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_short(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_short(argv[4]);
+                        if (_v) {
+                            _v = SWIG_Check_short(argv[5]);
+                            if (_v) {
+                                _v = SWIG_Check_double(argv[6]);
+                                if (_v) {
+                                    return _wrap_DayTime_setYMDHMS__SWIG_1(self,args);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 8) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_short(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_short(argv[4]);
+                        if (_v) {
+                            _v = SWIG_Check_short(argv[5]);
+                            if (_v) {
+                                _v = SWIG_Check_double(argv[6]);
+                                if (_v) {
+                                    _v = SWIG_Check_int(argv[7]);
+                                    if (_v) {
+                                        return _wrap_DayTime_setYMDHMS__SWIG_0(self,args);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setYMDHMS'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    double arg3 ;
+    gpstk::DayTime::TimeFrame arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setGPS",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    double arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setGPS",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    long arg3 ;
+    gpstk::DayTime::TimeFrame arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setGPS",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (long)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    long arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setGPS",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (long)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    long arg3 ;
+    short arg4 ;
+    gpstk::DayTime::TimeFrame arg5 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:DayTime_setGPS",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (long)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4,arg5);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    long arg3 ;
+    short arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setGPS",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (long)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_6(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    double arg3 ;
+    short arg4 ;
+    gpstk::DayTime::TimeFrame arg5 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:DayTime_setGPS",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4,arg5);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_7(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    double arg3 ;
+    short arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setGPS",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (short)(SWIG_As_short(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_8(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    unsigned long arg2 ;
+    gpstk::DayTime::TimeFrame arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setGPS",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS__SWIG_9(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    unsigned long arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setGPS",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (unsigned long)(SWIG_As_unsigned_SS_long(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPS(arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPS(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[6];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                return _wrap_DayTime_setGPS__SWIG_9(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_long(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setGPS__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setGPS__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_unsigned_SS_long(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setGPS__SWIG_8(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_long(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_short(argv[3]);
+                    if (_v) {
+                        return _wrap_DayTime_setGPS__SWIG_5(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_long(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_int(argv[3]);
+                    if (_v) {
+                        return _wrap_DayTime_setGPS__SWIG_2(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_short(argv[3]);
+                    if (_v) {
+                        return _wrap_DayTime_setGPS__SWIG_7(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_int(argv[3]);
+                    if (_v) {
+                        return _wrap_DayTime_setGPS__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_long(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_short(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_int(argv[4]);
+                        if (_v) {
+                            return _wrap_DayTime_setGPS__SWIG_4(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_short(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_int(argv[4]);
+                        if (_v) {
+                            return _wrap_DayTime_setGPS__SWIG_6(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setGPS'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSfullweek__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    double arg3 ;
+    gpstk::DayTime::TimeFrame arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setGPSfullweek",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPSfullweek(arg2,arg3,arg4);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSfullweek__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    double arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setGPSfullweek",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPSfullweek(arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSfullweek__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    long arg3 ;
+    gpstk::DayTime::TimeFrame arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setGPSfullweek",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (long)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPSfullweek(arg2,arg3,arg4);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSfullweek__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    long arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setGPSfullweek",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (long)(SWIG_As_long(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPSfullweek(arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSfullweek(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_long(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setGPSfullweek__SWIG_3(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setGPSfullweek__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_long(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_int(argv[3]);
+                    if (_v) {
+                        return _wrap_DayTime_setGPSfullweek__SWIG_2(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_double(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_int(argv[3]);
+                    if (_v) {
+                        return _wrap_DayTime_setGPSfullweek__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setGPSfullweek'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSZcount__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    gpstk::DayTime::TimeFrame arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setGPSZcount",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPSZcount((gpstk::GPSZcount const &)*arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSZcount__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setGPSZcount",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__GPSZcount, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::GPSZcount");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setGPSZcount((gpstk::GPSZcount const &)*arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setGPSZcount(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_DayTime_setGPSZcount__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setGPSZcount__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setGPSZcount'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYDoySod__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    short arg3 ;
+    double arg4 ;
+    gpstk::DayTime::TimeFrame arg5 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:DayTime_setYDoySod",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setYDoySod(arg2,arg3,arg4,arg5);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYDoySod__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    short arg2 ;
+    short arg3 ;
+    double arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setYDoySod",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setYDoySod(arg2,arg3,arg4);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYDoySod(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[6];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        return _wrap_DayTime_setYDoySod__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_int(argv[4]);
+                        if (_v) {
+                            return _wrap_DayTime_setYDoySod__SWIG_0(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setYDoySod'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJD__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    long double arg2 ;
+    gpstk::DayTime::TimeFrame arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setMJD",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        long double * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("long double");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    {
+        arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setMJD(arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJD__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    long double arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setMJD",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        long double * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("long double");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setMJD(arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJDdate__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    long double arg2 ;
+    gpstk::DayTime::TimeFrame arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setMJDdate",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        long double * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("long double");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    {
+        arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setMJDdate(arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJDdate__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    long double arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setMJDdate",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        long double * argp;
+        SWIG_Python_ConvertPtr(obj1, (void **)&argp, SWIGTYPE_p_long_double, SWIG_POINTER_EXCEPTION);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (argp == NULL) {
+            SWIG_null_ref("long double");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = *argp;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setMJDdate(arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJD__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double arg2 ;
+    gpstk::DayTime::TimeFrame arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setMJD",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setMJD(arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJD__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setMJD",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setMJD(arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJD(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_DayTime_setMJD__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_DayTime_setMJD__SWIG_3(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setMJD__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setMJD__SWIG_2(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setMJD'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJDdate__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double arg2 ;
+    gpstk::DayTime::TimeFrame arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setMJDdate",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setMJDdate(arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJDdate__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setMJDdate",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setMJDdate(arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setMJDdate(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_DayTime_setMJDdate__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_DayTime_setMJDdate__SWIG_3(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_long_double, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setMJDdate__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setMJDdate__SWIG_2(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setMJDdate'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setUnix__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    timeval *arg2 = 0 ;
+    gpstk::DayTime::TimeFrame arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setUnix",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_timeval, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("timeval");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setUnix((timeval const &)*arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setUnix__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    timeval *arg2 = 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setUnix",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_timeval, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("timeval");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setUnix((timeval const &)*arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setUnix(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_timeval, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_DayTime_setUnix__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_timeval, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setUnix__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setUnix'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setANSI__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    time_t *arg2 = 0 ;
+    gpstk::DayTime::TimeFrame arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setANSI",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_time_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("time_t");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setANSI((time_t const &)*arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setANSI__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    time_t *arg2 = 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setANSI",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_time_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("time_t");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setANSI((time_t const &)*arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setANSI(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_time_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_DayTime_setANSI__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_time_t, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setANSI__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setANSI'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setSystemTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_setSystemTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setSystemTime();
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setLocalTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_setLocalTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setLocalTime();
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYMD__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    int arg4 ;
+    gpstk::DayTime::TimeFrame arg5 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:DayTime_setYMD",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (int)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (int)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setYMD(arg2,arg3,arg4,arg5);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYMD__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    int arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setYMD",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (int)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (int)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setYMD(arg2,arg3,arg4);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYMD(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[6];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_int(argv[3]);
+                    if (_v) {
+                        return _wrap_DayTime_setYMD__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_int(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_int(argv[4]);
+                        if (_v) {
+                            return _wrap_DayTime_setYMD__SWIG_0(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setYMD'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setHMS__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    double arg4 ;
+    gpstk::DayTime::TimeFrame arg5 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:DayTime_setHMS",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (int)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        arg5 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj4)); 
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setHMS(arg2,arg3,arg4,arg5);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setHMS__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    double arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setHMS",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (int)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (double)(SWIG_As_double(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setHMS(arg2,arg3,arg4);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setHMS(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[6];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        return _wrap_DayTime_setHMS__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_double(argv[3]);
+                    if (_v) {
+                        _v = SWIG_Check_int(argv[4]);
+                        if (_v) {
+                            return _wrap_DayTime_setHMS__SWIG_0(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setHMS'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setSecOfDay__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double arg2 ;
+    gpstk::DayTime::TimeFrame arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setSecOfDay",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setSecOfDay(arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setSecOfDay__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    double arg2 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_setSecOfDay",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setSecOfDay(arg2);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setSecOfDay(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                return _wrap_DayTime_setSecOfDay__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setSecOfDay__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setSecOfDay'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYDoy__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    gpstk::DayTime::TimeFrame arg4 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_setYDoy",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (int)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        arg4 = (gpstk::DayTime::TimeFrame)(SWIG_As_int(obj3)); 
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setYDoy(arg2,arg3,arg4);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYDoy__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setYDoy",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (int)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setYDoy(arg2,arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setYDoy(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    return _wrap_DayTime_setYDoy__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            _v = SWIG_Check_int(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_int(argv[2]);
+                if (_v) {
+                    _v = SWIG_Check_int(argv[3]);
+                    if (_v) {
+                        return _wrap_DayTime_setYDoy__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'DayTime_setYDoy'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_setToString(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    std::string *arg2 = 0 ;
+    std::string *arg3 = 0 ;
+    gpstk::DayTime *result;
+    int res2 = 0 ;
+    int res3 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_setToString",&obj0,&obj1,&obj2)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    {
+        std::string *ptr = (std::string *)0;
+        res3 = SWIG_AsPtr_std_string(obj2, &ptr);
+        if (!res3) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj2);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        arg3 = ptr;
+    }
+    try {
+        {
+            gpstk::DayTime &_result_ref = (arg1)->setToString((std::string const &)*arg2,(std::string const &)*arg3);
+            result = (gpstk::DayTime *) &_result_ref;
+        }
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(FormatException &_e) {
+        {
+            FormatException * temp = new FormatException(_e);
+            if (SWIGTYPE_p_FormatException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_FormatException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_FormatException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"FormatException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_FormatException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    catch(gpstk::StringUtils::StringException &_e) {
+        {
+            gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+            if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    if (res3 == SWIG_NEWOBJ) delete arg3;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    if (res3 == SWIG_NEWOBJ) delete arg3;
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_printf(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    char *arg2 = (char *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_printf",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    if (!SWIG_AsCharPtr(obj1, (char**)&arg2)) {
+        SWIG_arg_fail(2);SWIG_fail;
+    }
+    try {
+        result = ((gpstk::DayTime const *)arg1)->printf((char const *)arg2);
+    }
+    catch(gpstk::StringUtils::StringException &_e) {
+        {
+            gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+            if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_printf_std_string(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    std::string *arg2 = 0 ;
+    std::string result;
+    int res2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_printf_std_string",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        std::string *ptr = (std::string *)0;
+        res2 = SWIG_AsPtr_std_string(obj1, &ptr);
+        if (!res2) {
+            if (!PyErr_Occurred())
+            SWIG_type_error("std::string", obj1);
+        } else if (!ptr) {
+            SWIG_null_ref("std::string");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        arg2 = ptr;
+    }
+    try {
+        result = ((gpstk::DayTime const *)arg1)->printf((std::string const &)*arg2);
+    }
+    catch(gpstk::StringUtils::StringException &_e) {
+        {
+            gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+            if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return resultobj;
+    fail:
+    if (res2 == SWIG_NEWOBJ) delete arg2;
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_asString(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    std::string result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:DayTime_asString",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    try {
+        result = ((gpstk::DayTime const *)arg1)->asString();
+    }
+    catch(gpstk::StringUtils::StringException &_e) {
+        {
+            gpstk::StringUtils::StringException * temp = new gpstk::StringUtils::StringException(_e);
+            if (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_gpstk__StringUtils__StringException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"gpstk::StringUtils::StringException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_gpstk__StringUtils__StringException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    {
+        resultobj = SWIG_From_std_string((std::string)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_dump(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::DayTime *arg1 = (gpstk::DayTime *) 0 ;
+    std::ostream *arg2 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_dump",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    try {
+        ((gpstk::DayTime const *)arg1)->dump(*arg2);
+    }
+    catch(DayTimeException &_e) {
+        {
+            DayTimeException * temp = new DayTimeException(_e);
+            if (SWIGTYPE_p_DayTimeException->clientdata) {
+                PyErr_SetObject((PyObject *) (SWIGTYPE_p_DayTimeException->clientdata), SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+            } else {
+                PyErr_SetString(PyExc_RuntimeError,"DayTimeException");
+                /*
+                      PyErr_SetObject(PyExc_RuntimeError, SWIG_NewPointerObj(temp,SWIGTYPE_p_DayTimeException,1));
+                    */
+            }
+            SWIG_fail;
+        }
+    }
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_convertJDtoCalendar(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    long arg1 ;
+    int *arg2 = 0 ;
+    int *arg3 = 0 ;
+    int *arg4 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_convertJDtoCalendar",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        arg1 = (long)(SWIG_As_long(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    gpstk::DayTime::convertJDtoCalendar(arg1,*arg2,*arg3,*arg4);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_convertCalendarToJD(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    int arg1 ;
+    int arg2 ;
+    int arg3 ;
+    long result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_convertCalendarToJD",&obj0,&obj1,&obj2)) goto fail;
+    {
+        arg1 = (int)(SWIG_As_int(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (int)(SWIG_As_int(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (long)gpstk::DayTime::convertCalendarToJD(arg1,arg2,arg3);
+    
+    {
+        resultobj = SWIG_From_long((long)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_convertSODtoTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    int *arg2 = 0 ;
+    int *arg3 = 0 ;
+    double *arg4 = 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:DayTime_convertSODtoTime",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_int, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("int");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_double, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("double");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    gpstk::DayTime::convertSODtoTime(arg1,*arg2,*arg3,*arg4);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_DayTime_convertTimeToSOD(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    int arg1 ;
+    int arg2 ;
+    double arg3 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:DayTime_convertTimeToSOD",&obj0,&obj1,&obj2)) goto fail;
+    {
+        arg1 = (int)(SWIG_As_int(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (int)(SWIG_As_int(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (double)(SWIG_As_double(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    result = (double)gpstk::DayTime::convertTimeToSOD(arg1,arg2,arg3);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * DayTime_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__DayTime, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap___lshift____SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:__lshift__",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = gpstk::operator <<(*arg1,(gpstk::DayTime const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap___lshift__(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__SatID, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___lshift____SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_RinexObsType, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___lshift____SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__RinexPrn, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___lshift____SWIG_3(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___lshift____SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap___lshift____SWIG_5(self,args);
+            }
+        }
+    }
+    
+    Py_INCREF(Py_NotImplemented);
+    return Py_NotImplemented;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_0(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsRngDev *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_ObsRngDev")) goto fail;
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_1(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    gpstk::ECEF *arg4 = 0 ;
+    gpstk::EphemerisStore *arg5 = 0 ;
+    gpstk::GeoidModel *arg6 = 0 ;
+    bool arg7 ;
+    gpstk::ObsRngDev *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        arg7 = (bool)(SWIG_As_bool(obj6)); 
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,arg7);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_2(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    gpstk::ECEF *arg4 = 0 ;
+    gpstk::EphemerisStore *arg5 = 0 ;
+    gpstk::GeoidModel *arg6 = 0 ;
+    gpstk::ObsRngDev *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_3(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    gpstk::ECEF *arg4 = 0 ;
+    gpstk::EphemerisStore *arg5 = 0 ;
+    gpstk::GeoidModel *arg6 = 0 ;
+    gpstk::IonoModelStore *arg7 = 0 ;
+    gpstk::IonoModel::Frequency arg8 ;
+    bool arg9 ;
+    gpstk::ObsRngDev *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    PyObject * obj8 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(7)) SWIG_fail;
+        if (arg7 == NULL) {
+            SWIG_null_ref("gpstk::IonoModelStore");
+        }
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        arg8 = (gpstk::IonoModel::Frequency)(SWIG_As_int(obj7)); 
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    {
+        arg9 = (bool)(SWIG_As_bool(obj8)); 
+        if (SWIG_arg_fail(9)) SWIG_fail;
+    }
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,(gpstk::IonoModelStore const &)*arg7,arg8,arg9);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_4(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    gpstk::ECEF *arg4 = 0 ;
+    gpstk::EphemerisStore *arg5 = 0 ;
+    gpstk::GeoidModel *arg6 = 0 ;
+    gpstk::IonoModelStore *arg7 = 0 ;
+    gpstk::IonoModel::Frequency arg8 ;
+    gpstk::ObsRngDev *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(7)) SWIG_fail;
+        if (arg7 == NULL) {
+            SWIG_null_ref("gpstk::IonoModelStore");
+        }
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        arg8 = (gpstk::IonoModel::Frequency)(SWIG_As_int(obj7)); 
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,(gpstk::IonoModelStore const &)*arg7,arg8);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_5(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    gpstk::ECEF *arg4 = 0 ;
+    gpstk::EphemerisStore *arg5 = 0 ;
+    gpstk::GeoidModel *arg6 = 0 ;
+    gpstk::TropModel *arg7 = 0 ;
+    bool arg8 ;
+    gpstk::ObsRngDev *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(7)) SWIG_fail;
+        if (arg7 == NULL) {
+            SWIG_null_ref("gpstk::TropModel");
+        }
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        arg8 = (bool)(SWIG_As_bool(obj7)); 
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,(gpstk::TropModel const &)*arg7,arg8);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_6(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    gpstk::ECEF *arg4 = 0 ;
+    gpstk::EphemerisStore *arg5 = 0 ;
+    gpstk::GeoidModel *arg6 = 0 ;
+    gpstk::TropModel *arg7 = 0 ;
+    gpstk::ObsRngDev *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(7)) SWIG_fail;
+        if (arg7 == NULL) {
+            SWIG_null_ref("gpstk::TropModel");
+        }
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,(gpstk::TropModel const &)*arg7);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_7(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    gpstk::ECEF *arg4 = 0 ;
+    gpstk::EphemerisStore *arg5 = 0 ;
+    gpstk::GeoidModel *arg6 = 0 ;
+    gpstk::TropModel *arg7 = 0 ;
+    gpstk::IonoModelStore *arg8 = 0 ;
+    gpstk::IonoModel::Frequency arg9 ;
+    bool arg10 ;
+    gpstk::ObsRngDev *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    PyObject * obj8 = 0 ;
+    PyObject * obj9 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(7)) SWIG_fail;
+        if (arg7 == NULL) {
+            SWIG_null_ref("gpstk::TropModel");
+        }
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(8)) SWIG_fail;
+        if (arg8 == NULL) {
+            SWIG_null_ref("gpstk::IonoModelStore");
+        }
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    {
+        arg9 = (gpstk::IonoModel::Frequency)(SWIG_As_int(obj8)); 
+        if (SWIG_arg_fail(9)) SWIG_fail;
+    }
+    {
+        arg10 = (bool)(SWIG_As_bool(obj9)); 
+        if (SWIG_arg_fail(10)) SWIG_fail;
+    }
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,(gpstk::TropModel const &)*arg7,(gpstk::IonoModelStore const &)*arg8,arg9,arg10);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_8(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    short arg2 ;
+    gpstk::DayTime *arg3 = 0 ;
+    gpstk::ECEF *arg4 = 0 ;
+    gpstk::EphemerisStore *arg5 = 0 ;
+    gpstk::GeoidModel *arg6 = 0 ;
+    gpstk::TropModel *arg7 = 0 ;
+    gpstk::IonoModelStore *arg8 = 0 ;
+    gpstk::IonoModel::Frequency arg9 ;
+    gpstk::ObsRngDev *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    PyObject * obj8 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj2, (void **)&arg3, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(3)) SWIG_fail;
+        if (arg3 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(7)) SWIG_fail;
+        if (arg7 == NULL) {
+            SWIG_null_ref("gpstk::TropModel");
+        }
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_gpstk__IonoModelStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(8)) SWIG_fail;
+        if (arg8 == NULL) {
+            SWIG_null_ref("gpstk::IonoModelStore");
+        }
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    {
+        arg9 = (gpstk::IonoModel::Frequency)(SWIG_As_int(obj8)); 
+        if (SWIG_arg_fail(9)) SWIG_fail;
+    }
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,(gpstk::DayTime const &)*arg3,(gpstk::ECEF const &)*arg4,(gpstk::EphemerisStore const &)*arg5,*arg6,(gpstk::TropModel const &)*arg7,(gpstk::IonoModelStore const &)*arg8,arg9);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_9(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    double arg2 ;
+    short arg3 ;
+    gpstk::DayTime *arg4 = 0 ;
+    gpstk::ECEF *arg5 = 0 ;
+    gpstk::EphemerisStore *arg6 = 0 ;
+    gpstk::GeoidModel *arg7 = 0 ;
+    bool arg8 ;
+    gpstk::ObsRngDev *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(7)) SWIG_fail;
+        if (arg7 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        arg8 = (bool)(SWIG_As_bool(obj7)); 
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,arg3,(gpstk::DayTime const &)*arg4,(gpstk::ECEF const &)*arg5,(gpstk::EphemerisStore const &)*arg6,*arg7,arg8);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_10(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    double arg2 ;
+    short arg3 ;
+    gpstk::DayTime *arg4 = 0 ;
+    gpstk::ECEF *arg5 = 0 ;
+    gpstk::EphemerisStore *arg6 = 0 ;
+    gpstk::GeoidModel *arg7 = 0 ;
+    gpstk::ObsRngDev *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(7)) SWIG_fail;
+        if (arg7 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,arg3,(gpstk::DayTime const &)*arg4,(gpstk::ECEF const &)*arg5,(gpstk::EphemerisStore const &)*arg6,*arg7);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_11(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    double arg2 ;
+    short arg3 ;
+    gpstk::DayTime *arg4 = 0 ;
+    gpstk::ECEF *arg5 = 0 ;
+    gpstk::EphemerisStore *arg6 = 0 ;
+    gpstk::GeoidModel *arg7 = 0 ;
+    gpstk::TropModel *arg8 = 0 ;
+    bool arg9 ;
+    gpstk::ObsRngDev *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    PyObject * obj8 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(7)) SWIG_fail;
+        if (arg7 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(8)) SWIG_fail;
+        if (arg8 == NULL) {
+            SWIG_null_ref("gpstk::TropModel");
+        }
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    {
+        arg9 = (bool)(SWIG_As_bool(obj8)); 
+        if (SWIG_arg_fail(9)) SWIG_fail;
+    }
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,arg3,(gpstk::DayTime const &)*arg4,(gpstk::ECEF const &)*arg5,(gpstk::EphemerisStore const &)*arg6,(gpstk::GeoidModel const &)*arg7,(gpstk::TropModel const &)*arg8,arg9);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev__SWIG_12(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    double arg1 ;
+    double arg2 ;
+    short arg3 ;
+    gpstk::DayTime *arg4 = 0 ;
+    gpstk::ECEF *arg5 = 0 ;
+    gpstk::EphemerisStore *arg6 = 0 ;
+    gpstk::GeoidModel *arg7 = 0 ;
+    gpstk::TropModel *arg8 = 0 ;
+    gpstk::ObsRngDev *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    PyObject * obj2 = 0 ;
+    PyObject * obj3 = 0 ;
+    PyObject * obj4 = 0 ;
+    PyObject * obj5 = 0 ;
+    PyObject * obj6 = 0 ;
+    PyObject * obj7 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOOOOO:new_ObsRngDev",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) goto fail;
+    {
+        arg1 = (double)(SWIG_As_double(obj0)); 
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        arg3 = (short)(SWIG_As_short(obj2)); 
+        if (SWIG_arg_fail(3)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj3, (void **)&arg4, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(4)) SWIG_fail;
+        if (arg4 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(4)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj4, (void **)&arg5, SWIGTYPE_p_gpstk__ECEF, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(5)) SWIG_fail;
+        if (arg5 == NULL) {
+            SWIG_null_ref("gpstk::ECEF");
+        }
+        if (SWIG_arg_fail(5)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj5, (void **)&arg6, SWIGTYPE_p_gpstk__EphemerisStore, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(6)) SWIG_fail;
+        if (arg6 == NULL) {
+            SWIG_null_ref("gpstk::EphemerisStore");
+        }
+        if (SWIG_arg_fail(6)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj6, (void **)&arg7, SWIGTYPE_p_gpstk__GeoidModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(7)) SWIG_fail;
+        if (arg7 == NULL) {
+            SWIG_null_ref("gpstk::GeoidModel");
+        }
+        if (SWIG_arg_fail(7)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj7, (void **)&arg8, SWIGTYPE_p_gpstk__TropModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(8)) SWIG_fail;
+        if (arg8 == NULL) {
+            SWIG_null_ref("gpstk::TropModel");
+        }
+        if (SWIG_arg_fail(8)) SWIG_fail;
+    }
+    result = (gpstk::ObsRngDev *)new gpstk::ObsRngDev(arg1,arg2,arg3,(gpstk::DayTime const &)*arg4,(gpstk::ECEF const &)*arg5,(gpstk::EphemerisStore const &)*arg6,(gpstk::GeoidModel const &)*arg7,(gpstk::TropModel const &)*arg8);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ObsRngDev, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ObsRngDev(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[11];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 10); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_ObsRngDev__SWIG_0(self,args);
+    }
+    if (argc == 6) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr = 0;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = (ptr != 0);
+                            }
+                        }
+                        if (_v) {
+                            {
+                                void *ptr = 0;
+                                if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                    _v = 0;
+                                    PyErr_Clear();
+                                } else {
+                                    _v = (ptr != 0);
+                                }
+                            }
+                            if (_v) {
+                                return _wrap_new_ObsRngDev__SWIG_2(self,args);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 7) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr = 0;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = (ptr != 0);
+                            }
+                        }
+                        if (_v) {
+                            {
+                                void *ptr = 0;
+                                if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                    _v = 0;
+                                    PyErr_Clear();
+                                } else {
+                                    _v = (ptr != 0);
+                                }
+                            }
+                            if (_v) {
+                                {
+                                    void *ptr = 0;
+                                    if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+                                        _v = 0;
+                                        PyErr_Clear();
+                                    } else {
+                                        _v = (ptr != 0);
+                                    }
+                                }
+                                if (_v) {
+                                    return _wrap_new_ObsRngDev__SWIG_6(self,args);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 7) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr = 0;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = (ptr != 0);
+                            }
+                        }
+                        if (_v) {
+                            {
+                                void *ptr = 0;
+                                if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                    _v = 0;
+                                    PyErr_Clear();
+                                } else {
+                                    _v = (ptr != 0);
+                                }
+                            }
+                            if (_v) {
+                                _v = SWIG_Check_bool(argv[6]);
+                                if (_v) {
+                                    return _wrap_new_ObsRngDev__SWIG_1(self,args);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 7) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr = 0;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = (ptr != 0);
+                            }
+                        }
+                        if (_v) {
+                            {
+                                void *ptr = 0;
+                                if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+                                    _v = 0;
+                                    PyErr_Clear();
+                                } else {
+                                    _v = (ptr != 0);
+                                }
+                            }
+                            if (_v) {
+                                {
+                                    void *ptr = 0;
+                                    if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                        _v = 0;
+                                        PyErr_Clear();
+                                    } else {
+                                        _v = (ptr != 0);
+                                    }
+                                }
+                                if (_v) {
+                                    return _wrap_new_ObsRngDev__SWIG_10(self,args);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 8) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr = 0;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = (ptr != 0);
+                            }
+                        }
+                        if (_v) {
+                            {
+                                void *ptr = 0;
+                                if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                    _v = 0;
+                                    PyErr_Clear();
+                                } else {
+                                    _v = (ptr != 0);
+                                }
+                            }
+                            if (_v) {
+                                {
+                                    void *ptr = 0;
+                                    if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__IonoModelStore, 0) == -1) {
+                                        _v = 0;
+                                        PyErr_Clear();
+                                    } else {
+                                        _v = (ptr != 0);
+                                    }
+                                }
+                                if (_v) {
+                                    _v = SWIG_Check_int(argv[7]);
+                                    if (_v) {
+                                        return _wrap_new_ObsRngDev__SWIG_4(self,args);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 8) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr = 0;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = (ptr != 0);
+                            }
+                        }
+                        if (_v) {
+                            {
+                                void *ptr = 0;
+                                if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                    _v = 0;
+                                    PyErr_Clear();
+                                } else {
+                                    _v = (ptr != 0);
+                                }
+                            }
+                            if (_v) {
+                                {
+                                    void *ptr = 0;
+                                    if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+                                        _v = 0;
+                                        PyErr_Clear();
+                                    } else {
+                                        _v = (ptr != 0);
+                                    }
+                                }
+                                if (_v) {
+                                    _v = SWIG_Check_bool(argv[7]);
+                                    if (_v) {
+                                        return _wrap_new_ObsRngDev__SWIG_5(self,args);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 8) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr = 0;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = (ptr != 0);
+                            }
+                        }
+                        if (_v) {
+                            {
+                                void *ptr = 0;
+                                if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+                                    _v = 0;
+                                    PyErr_Clear();
+                                } else {
+                                    _v = (ptr != 0);
+                                }
+                            }
+                            if (_v) {
+                                {
+                                    void *ptr = 0;
+                                    if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                        _v = 0;
+                                        PyErr_Clear();
+                                    } else {
+                                        _v = (ptr != 0);
+                                    }
+                                }
+                                if (_v) {
+                                    {
+                                        void *ptr = 0;
+                                        if (SWIG_ConvertPtr(argv[7], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+                                            _v = 0;
+                                            PyErr_Clear();
+                                        } else {
+                                            _v = (ptr != 0);
+                                        }
+                                    }
+                                    if (_v) {
+                                        return _wrap_new_ObsRngDev__SWIG_12(self,args);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 8) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr = 0;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = (ptr != 0);
+                            }
+                        }
+                        if (_v) {
+                            {
+                                void *ptr = 0;
+                                if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+                                    _v = 0;
+                                    PyErr_Clear();
+                                } else {
+                                    _v = (ptr != 0);
+                                }
+                            }
+                            if (_v) {
+                                {
+                                    void *ptr = 0;
+                                    if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                        _v = 0;
+                                        PyErr_Clear();
+                                    } else {
+                                        _v = (ptr != 0);
+                                    }
+                                }
+                                if (_v) {
+                                    _v = SWIG_Check_bool(argv[7]);
+                                    if (_v) {
+                                        return _wrap_new_ObsRngDev__SWIG_9(self,args);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 9) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr = 0;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = (ptr != 0);
+                            }
+                        }
+                        if (_v) {
+                            {
+                                void *ptr = 0;
+                                if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                    _v = 0;
+                                    PyErr_Clear();
+                                } else {
+                                    _v = (ptr != 0);
+                                }
+                            }
+                            if (_v) {
+                                {
+                                    void *ptr = 0;
+                                    if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+                                        _v = 0;
+                                        PyErr_Clear();
+                                    } else {
+                                        _v = (ptr != 0);
+                                    }
+                                }
+                                if (_v) {
+                                    {
+                                        void *ptr = 0;
+                                        if (SWIG_ConvertPtr(argv[7], &ptr, SWIGTYPE_p_gpstk__IonoModelStore, 0) == -1) {
+                                            _v = 0;
+                                            PyErr_Clear();
+                                        } else {
+                                            _v = (ptr != 0);
+                                        }
+                                    }
+                                    if (_v) {
+                                        _v = SWIG_Check_int(argv[8]);
+                                        if (_v) {
+                                            return _wrap_new_ObsRngDev__SWIG_8(self,args);
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 9) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr = 0;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = (ptr != 0);
+                            }
+                        }
+                        if (_v) {
+                            {
+                                void *ptr = 0;
+                                if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                    _v = 0;
+                                    PyErr_Clear();
+                                } else {
+                                    _v = (ptr != 0);
+                                }
+                            }
+                            if (_v) {
+                                {
+                                    void *ptr = 0;
+                                    if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__IonoModelStore, 0) == -1) {
+                                        _v = 0;
+                                        PyErr_Clear();
+                                    } else {
+                                        _v = (ptr != 0);
+                                    }
+                                }
+                                if (_v) {
+                                    _v = SWIG_Check_int(argv[7]);
+                                    if (_v) {
+                                        _v = SWIG_Check_bool(argv[8]);
+                                        if (_v) {
+                                            return _wrap_new_ObsRngDev__SWIG_3(self,args);
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 9) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_double(argv[1]);
+            if (_v) {
+                _v = SWIG_Check_short(argv[2]);
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr = 0;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = (ptr != 0);
+                            }
+                        }
+                        if (_v) {
+                            {
+                                void *ptr = 0;
+                                if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+                                    _v = 0;
+                                    PyErr_Clear();
+                                } else {
+                                    _v = (ptr != 0);
+                                }
+                            }
+                            if (_v) {
+                                {
+                                    void *ptr = 0;
+                                    if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                        _v = 0;
+                                        PyErr_Clear();
+                                    } else {
+                                        _v = (ptr != 0);
+                                    }
+                                }
+                                if (_v) {
+                                    {
+                                        void *ptr = 0;
+                                        if (SWIG_ConvertPtr(argv[7], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+                                            _v = 0;
+                                            PyErr_Clear();
+                                        } else {
+                                            _v = (ptr != 0);
+                                        }
+                                    }
+                                    if (_v) {
+                                        _v = SWIG_Check_bool(argv[8]);
+                                        if (_v) {
+                                            return _wrap_new_ObsRngDev__SWIG_11(self,args);
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 10) {
+        int _v;
+        _v = SWIG_Check_double(argv[0]);
+        if (_v) {
+            _v = SWIG_Check_short(argv[1]);
+            if (_v) {
+                {
+                    void *ptr = 0;
+                    if (SWIG_ConvertPtr(argv[2], &ptr, SWIGTYPE_p_gpstk__DayTime, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    } else {
+                        _v = (ptr != 0);
+                    }
+                }
+                if (_v) {
+                    {
+                        void *ptr = 0;
+                        if (SWIG_ConvertPtr(argv[3], &ptr, SWIGTYPE_p_gpstk__ECEF, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        } else {
+                            _v = (ptr != 0);
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr = 0;
+                            if (SWIG_ConvertPtr(argv[4], &ptr, SWIGTYPE_p_gpstk__EphemerisStore, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            } else {
+                                _v = (ptr != 0);
+                            }
+                        }
+                        if (_v) {
+                            {
+                                void *ptr = 0;
+                                if (SWIG_ConvertPtr(argv[5], &ptr, SWIGTYPE_p_gpstk__GeoidModel, 0) == -1) {
+                                    _v = 0;
+                                    PyErr_Clear();
+                                } else {
+                                    _v = (ptr != 0);
+                                }
+                            }
+                            if (_v) {
+                                {
+                                    void *ptr = 0;
+                                    if (SWIG_ConvertPtr(argv[6], &ptr, SWIGTYPE_p_gpstk__TropModel, 0) == -1) {
+                                        _v = 0;
+                                        PyErr_Clear();
+                                    } else {
+                                        _v = (ptr != 0);
+                                    }
+                                }
+                                if (_v) {
+                                    {
+                                        void *ptr = 0;
+                                        if (SWIG_ConvertPtr(argv[7], &ptr, SWIGTYPE_p_gpstk__IonoModelStore, 0) == -1) {
+                                            _v = 0;
+                                            PyErr_Clear();
+                                        } else {
+                                            _v = (ptr != 0);
+                                        }
+                                    }
+                                    if (_v) {
+                                        _v = SWIG_Check_int(argv[8]);
+                                        if (_v) {
+                                            _v = SWIG_Check_bool(argv[9]);
+                                            if (_v) {
+                                                return _wrap_new_ObsRngDev__SWIG_7(self,args);
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'new_ObsRngDev'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ObsRngDev(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ObsRngDev",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getTime(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getTime",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        gpstk::DayTime const &_result_ref = ((gpstk::ObsRngDev const *)arg1)->getTime();
+        result = (gpstk::DayTime *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getPRN(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+    short result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getPRN",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (short)((gpstk::ObsRngDev const *)arg1)->getPRN();
+    
+    {
+        resultobj = SWIG_From_short((short)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getAzimuth(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+    SwigValueWrapper<gpstk::ValidType<float > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getAzimuth",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::ObsRngDev const *)arg1)->getAzimuth();
+    
+    {
+        gpstk::vfloat * resultptr;
+        resultptr = new gpstk::vfloat((gpstk::vfloat &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ValidTypeTfloat_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getElevation(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+    SwigValueWrapper<gpstk::ValidType<float > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getElevation",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::ObsRngDev const *)arg1)->getElevation();
+    
+    {
+        gpstk::vfloat * resultptr;
+        resultptr = new gpstk::vfloat((gpstk::vfloat &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ValidTypeTfloat_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getHealth(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+    SwigValueWrapper<gpstk::ValidType<short > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getHealth",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::ObsRngDev const *)arg1)->getHealth();
+    
+    {
+        gpstk::vshort * resultptr;
+        resultptr = new gpstk::vshort((gpstk::vshort &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ValidTypeTshort_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getIODC(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+    SwigValueWrapper<gpstk::ValidType<short > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getIODC",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::ObsRngDev const *)arg1)->getIODC();
+    
+    {
+        gpstk::vshort * resultptr;
+        resultptr = new gpstk::vshort((gpstk::vshort &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ValidTypeTshort_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getORD(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getORD",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double)((gpstk::ObsRngDev const *)arg1)->getORD();
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getIono(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+    SwigValueWrapper<gpstk::ValidType<double > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getIono",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::ObsRngDev const *)arg1)->getIono();
+    
+    {
+        gpstk::vdouble * resultptr;
+        resultptr = new gpstk::vdouble((gpstk::vdouble &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ValidTypeTdouble_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_getTrop(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+    SwigValueWrapper<gpstk::ValidType<double > > result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ObsRngDev_getTrop",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = ((gpstk::ObsRngDev const *)arg1)->getTrop();
+    
+    {
+        gpstk::vdouble * resultptr;
+        resultptr = new gpstk::vdouble((gpstk::vdouble &)(result));
+        resultobj = SWIG_NewPointerObj((void *)(resultptr), SWIGTYPE_p_gpstk__ValidTypeTdouble_t, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_14(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::ObsRngDev *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ObsRngDev");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::ObsRngDev const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ObsRngDev_applyClockOffset(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ObsRngDev *arg1 = (gpstk::ObsRngDev *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ObsRngDev_applyClockOffset",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ObsRngDev, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    (arg1)->applyClockOffset(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ObsRngDev_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__ObsRngDev, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_ORDEpoch_removeORD(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+    short arg2 ;
+    gpstk::ORDEpoch *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ORDEpoch_removeORD",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (short)(SWIG_As_short(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::ORDEpoch &_result_ref = (arg1)->removeORD(arg2);
+        result = (gpstk::ORDEpoch *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ORDEpoch, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_applyClockModel(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+    gpstk::ClockModel *arg2 = 0 ;
+    gpstk::ORDEpoch *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ORDEpoch_applyClockModel",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ClockModel, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ClockModel");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        gpstk::ORDEpoch &_result_ref = (arg1)->applyClockModel((gpstk::ClockModel const &)*arg2);
+        result = (gpstk::ORDEpoch *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ORDEpoch, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_clockOffset_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+    double arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ORDEpoch_clockOffset_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (double)(SWIG_As_double(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->clockOffset = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_clockOffset_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+    double result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ORDEpoch_clockOffset_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (double) ((arg1)->clockOffset);
+    
+    {
+        resultobj = SWIG_From_double((double)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_validClock_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+    bool arg2 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ORDEpoch_validClock_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    {
+        arg2 = (bool)(SWIG_As_bool(obj1)); 
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    if (arg1) (arg1)->validClock = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_validClock_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+    bool result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ORDEpoch_validClock_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (bool) ((arg1)->validClock);
+    
+    {
+        resultobj = SWIG_From_bool((bool)(result)); 
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_ords_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+    gpstk::ORDEpoch::ORDMap *arg2 = (gpstk::ORDEpoch::ORDMap *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ORDEpoch_ords_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->ords = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_ords_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+    gpstk::ORDEpoch::ORDMap *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ORDEpoch_ords_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::ORDEpoch::ORDMap *)& ((arg1)->ords);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_time_set(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+    gpstk::DayTime *arg2 = (gpstk::DayTime *) 0 ;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:ORDEpoch_time_set",&obj0,&obj1)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(2)) SWIG_fail;
+    if (arg1) (arg1)->time = *arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ORDEpoch_time_get(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+    gpstk::DayTime *result;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ORDEpoch_time_get",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    result = (gpstk::DayTime *)& ((arg1)->time);
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__DayTime, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead__SWIG_15(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::ORDEpoch *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::ORDEpoch");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::ORDEpoch const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_streamRead(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[3];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 2); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__FFData, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_0(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__InvalidValue, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Observation, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ObsEpoch, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_3(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__RxObsData, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_4(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WxObservation, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_5(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__LinearClockModel, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_7(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ObsClockModel, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_6(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__FileHunterException, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_8(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WrongBlockNumber, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_9(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__WrongBlockFormat, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_10(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__Position, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_11(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__NoGeoidException, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_12(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__EngEphemeris, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_13(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ObsRngDev, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_14(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr = 0;
+            if (SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            } else {
+                _v = (ptr != 0);
+            }
+        }
+        if (_v) {
+            {
+                void *ptr = 0;
+                if (SWIG_ConvertPtr(argv[1], &ptr, SWIGTYPE_p_gpstk__ORDEpoch, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                } else {
+                    _v = (ptr != 0);
+                }
+            }
+            if (_v) {
+                return _wrap_streamRead__SWIG_15(self,args);
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_NotImplementedError,"No matching function for overloaded 'streamRead'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_ORDEpoch(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ORDEpoch *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_ORDEpoch")) goto fail;
+    result = (gpstk::ORDEpoch *)new gpstk::ORDEpoch();
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_gpstk__ORDEpoch, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_ORDEpoch(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    gpstk::ORDEpoch *arg1 = (gpstk::ORDEpoch *) 0 ;
+    PyObject * obj0 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_ORDEpoch",&obj0)) goto fail;
+    SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_gpstk__ORDEpoch, SWIG_POINTER_EXCEPTION | 0);
+    if (SWIG_arg_fail(1)) SWIG_fail;
+    delete arg1;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ORDEpoch_swigregister(PyObject *, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_gpstk__ORDEpoch, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_DayTime_streamRead(PyObject *, PyObject *args) {
+    PyObject *resultobj = NULL;
+    std::ostream *arg1 = 0 ;
+    gpstk::DayTime *arg2 = 0 ;
+    std::ostream *result;
+    PyObject * obj0 = 0 ;
+    PyObject * obj1 = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:DayTime_streamRead",&obj0,&obj1)) goto fail;
+    {
+        SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(1)) SWIG_fail;
+        if (arg1 == NULL) {
+            SWIG_null_ref("std::ostream");
+        }
+        if (SWIG_arg_fail(1)) SWIG_fail;
+    }
+    {
+        SWIG_Python_ConvertPtr(obj1, (void **)&arg2, SWIGTYPE_p_gpstk__DayTime, SWIG_POINTER_EXCEPTION | 0);
+        if (SWIG_arg_fail(2)) SWIG_fail;
+        if (arg2 == NULL) {
+            SWIG_null_ref("gpstk::DayTime");
+        }
+        if (SWIG_arg_fail(2)) SWIG_fail;
+    }
+    {
+        std::ostream &_result_ref = DayTime_streamRead(*arg1,*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void*)(result), SWIGTYPE_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyMethodDef SwigMethods[] = {
+	 { (char *)"vectori_empty", _wrap_vectori_empty, METH_VARARGS, NULL},
+	 { (char *)"vectori_size", _wrap_vectori_size, METH_VARARGS, NULL},
+	 { (char *)"vectori_clear", _wrap_vectori_clear, METH_VARARGS, NULL},
+	 { (char *)"vectori_swap", _wrap_vectori_swap, METH_VARARGS, NULL},
+	 { (char *)"vectori_get_allocator", _wrap_vectori_get_allocator, METH_VARARGS, NULL},
+	 { (char *)"vectori_pop_back", _wrap_vectori_pop_back, METH_VARARGS, NULL},
+	 { (char *)"new_vectori", _wrap_new_vectori, METH_VARARGS, NULL},
+	 { (char *)"vectori_push_back", _wrap_vectori_push_back, METH_VARARGS, NULL},
+	 { (char *)"vectori_front", _wrap_vectori_front, METH_VARARGS, NULL},
+	 { (char *)"vectori_back", _wrap_vectori_back, METH_VARARGS, NULL},
+	 { (char *)"vectori_assign", _wrap_vectori_assign, METH_VARARGS, NULL},
+	 { (char *)"vectori_resize", _wrap_vectori_resize, METH_VARARGS, NULL},
+	 { (char *)"vectori_reserve", _wrap_vectori_reserve, METH_VARARGS, NULL},
+	 { (char *)"vectori_capacity", _wrap_vectori_capacity, METH_VARARGS, NULL},
+	 { (char *)"vectori___nonzero__", _wrap_vectori___nonzero__, METH_VARARGS, NULL},
+	 { (char *)"vectori___len__", _wrap_vectori___len__, METH_VARARGS, NULL},
+	 { (char *)"vectori_pop", _wrap_vectori_pop, METH_VARARGS, NULL},
+	 { (char *)"vectori___getslice__", _wrap_vectori___getslice__, METH_VARARGS, NULL},
+	 { (char *)"vectori___setslice__", _wrap_vectori___setslice__, METH_VARARGS, NULL},
+	 { (char *)"vectori___delslice__", _wrap_vectori___delslice__, METH_VARARGS, NULL},
+	 { (char *)"vectori___delitem__", _wrap_vectori___delitem__, METH_VARARGS, NULL},
+	 { (char *)"vectori___getitem__", _wrap_vectori___getitem__, METH_VARARGS, NULL},
+	 { (char *)"vectori___setitem__", _wrap_vectori___setitem__, METH_VARARGS, NULL},
+	 { (char *)"vectori_append", _wrap_vectori_append, METH_VARARGS, NULL},
+	 { (char *)"delete_vectori", _wrap_delete_vectori, METH_VARARGS, NULL},
+	 { (char *)"vectori_swigregister", vectori_swigregister, METH_VARARGS, NULL},
+	 { (char *)"vectord_empty", _wrap_vectord_empty, METH_VARARGS, NULL},
+	 { (char *)"vectord_size", _wrap_vectord_size, METH_VARARGS, NULL},
+	 { (char *)"vectord_clear", _wrap_vectord_clear, METH_VARARGS, NULL},
+	 { (char *)"vectord_swap", _wrap_vectord_swap, METH_VARARGS, NULL},
+	 { (char *)"vectord_get_allocator", _wrap_vectord_get_allocator, METH_VARARGS, NULL},
+	 { (char *)"vectord_pop_back", _wrap_vectord_pop_back, METH_VARARGS, NULL},
+	 { (char *)"new_vectord", _wrap_new_vectord, METH_VARARGS, NULL},
+	 { (char *)"vectord_push_back", _wrap_vectord_push_back, METH_VARARGS, NULL},
+	 { (char *)"vectord_front", _wrap_vectord_front, METH_VARARGS, NULL},
+	 { (char *)"vectord_back", _wrap_vectord_back, METH_VARARGS, NULL},
+	 { (char *)"vectord_assign", _wrap_vectord_assign, METH_VARARGS, NULL},
+	 { (char *)"vectord_resize", _wrap_vectord_resize, METH_VARARGS, NULL},
+	 { (char *)"vectord_reserve", _wrap_vectord_reserve, METH_VARARGS, NULL},
+	 { (char *)"vectord_capacity", _wrap_vectord_capacity, METH_VARARGS, NULL},
+	 { (char *)"vectord___nonzero__", _wrap_vectord___nonzero__, METH_VARARGS, NULL},
+	 { (char *)"vectord___len__", _wrap_vectord___len__, METH_VARARGS, NULL},
+	 { (char *)"vectord_pop", _wrap_vectord_pop, METH_VARARGS, NULL},
+	 { (char *)"vectord___getslice__", _wrap_vectord___getslice__, METH_VARARGS, NULL},
+	 { (char *)"vectord___setslice__", _wrap_vectord___setslice__, METH_VARARGS, NULL},
+	 { (char *)"vectord___delslice__", _wrap_vectord___delslice__, METH_VARARGS, NULL},
+	 { (char *)"vectord___delitem__", _wrap_vectord___delitem__, METH_VARARGS, NULL},
+	 { (char *)"vectord___getitem__", _wrap_vectord___getitem__, METH_VARARGS, NULL},
+	 { (char *)"vectord___setitem__", _wrap_vectord___setitem__, METH_VARARGS, NULL},
+	 { (char *)"vectord_append", _wrap_vectord_append, METH_VARARGS, NULL},
+	 { (char *)"delete_vectord", _wrap_delete_vectord, METH_VARARGS, NULL},
+	 { (char *)"vectord_swigregister", vectord_swigregister, METH_VARARGS, NULL},
+	 { (char *)"delete_exception", _wrap_delete_exception, METH_VARARGS, NULL},
+	 { (char *)"exception_what", _wrap_exception_what, METH_VARARGS, NULL},
+	 { (char *)"new_exception", _wrap_new_exception, METH_VARARGS, NULL},
+	 { (char *)"exception_swigregister", exception_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_bad_exception", _wrap_new_bad_exception, METH_VARARGS, NULL},
+	 { (char *)"delete_bad_exception", _wrap_delete_bad_exception, METH_VARARGS, NULL},
+	 { (char *)"bad_exception_swigregister", bad_exception_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_logic_error", _wrap_new_logic_error, METH_VARARGS, NULL},
+	 { (char *)"delete_logic_error", _wrap_delete_logic_error, METH_VARARGS, NULL},
+	 { (char *)"logic_error_swigregister", logic_error_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_domain_error", _wrap_new_domain_error, METH_VARARGS, NULL},
+	 { (char *)"delete_domain_error", _wrap_delete_domain_error, METH_VARARGS, NULL},
+	 { (char *)"domain_error_swigregister", domain_error_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_invalid_argument", _wrap_new_invalid_argument, METH_VARARGS, NULL},
+	 { (char *)"delete_invalid_argument", _wrap_delete_invalid_argument, METH_VARARGS, NULL},
+	 { (char *)"invalid_argument_swigregister", invalid_argument_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_length_error", _wrap_new_length_error, METH_VARARGS, NULL},
+	 { (char *)"delete_length_error", _wrap_delete_length_error, METH_VARARGS, NULL},
+	 { (char *)"length_error_swigregister", length_error_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_out_of_range", _wrap_new_out_of_range, METH_VARARGS, NULL},
+	 { (char *)"delete_out_of_range", _wrap_delete_out_of_range, METH_VARARGS, NULL},
+	 { (char *)"out_of_range_swigregister", out_of_range_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_runtime_error", _wrap_new_runtime_error, METH_VARARGS, NULL},
+	 { (char *)"delete_runtime_error", _wrap_delete_runtime_error, METH_VARARGS, NULL},
+	 { (char *)"runtime_error_swigregister", runtime_error_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_range_error", _wrap_new_range_error, METH_VARARGS, NULL},
+	 { (char *)"delete_range_error", _wrap_delete_range_error, METH_VARARGS, NULL},
+	 { (char *)"range_error_swigregister", range_error_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_overflow_error", _wrap_new_overflow_error, METH_VARARGS, NULL},
+	 { (char *)"delete_overflow_error", _wrap_delete_overflow_error, METH_VARARGS, NULL},
+	 { (char *)"overflow_error_swigregister", overflow_error_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_underflow_error", _wrap_new_underflow_error, METH_VARARGS, NULL},
+	 { (char *)"delete_underflow_error", _wrap_delete_underflow_error, METH_VARARGS, NULL},
+	 { (char *)"underflow_error_swigregister", underflow_error_swigregister, METH_VARARGS, NULL},
+	 { (char *)"ios_base_register_callback", _wrap_ios_base_register_callback, METH_VARARGS, NULL},
+	 { (char *)"ios_base_flags", _wrap_ios_base_flags, METH_VARARGS, NULL},
+	 { (char *)"ios_base_setf", _wrap_ios_base_setf, METH_VARARGS, NULL},
+	 { (char *)"ios_base_unsetf", _wrap_ios_base_unsetf, METH_VARARGS, NULL},
+	 { (char *)"ios_base_precision", _wrap_ios_base_precision, METH_VARARGS, NULL},
+	 { (char *)"ios_base_width", _wrap_ios_base_width, METH_VARARGS, NULL},
+	 { (char *)"ios_base_sync_with_stdio", _wrap_ios_base_sync_with_stdio, METH_VARARGS, NULL},
+	 { (char *)"ios_base_imbue", _wrap_ios_base_imbue, METH_VARARGS, NULL},
+	 { (char *)"ios_base_getloc", _wrap_ios_base_getloc, METH_VARARGS, NULL},
+	 { (char *)"ios_base_xalloc", _wrap_ios_base_xalloc, METH_VARARGS, NULL},
+	 { (char *)"ios_base_iword", _wrap_ios_base_iword, METH_VARARGS, NULL},
+	 { (char *)"ios_base_pword", _wrap_ios_base_pword, METH_VARARGS, NULL},
+	 { (char *)"delete_ios_base", _wrap_delete_ios_base, METH_VARARGS, NULL},
+	 { (char *)"ios_base_swigregister", ios_base_swigregister, METH_VARARGS, NULL},
+	 { (char *)"ios_rdstate", _wrap_ios_rdstate, METH_VARARGS, NULL},
+	 { (char *)"ios_clear", _wrap_ios_clear, METH_VARARGS, NULL},
+	 { (char *)"ios_setstate", _wrap_ios_setstate, METH_VARARGS, NULL},
+	 { (char *)"ios_good", _wrap_ios_good, METH_VARARGS, NULL},
+	 { (char *)"ios_eof", _wrap_ios_eof, METH_VARARGS, NULL},
+	 { (char *)"ios_fail", _wrap_ios_fail, METH_VARARGS, NULL},
+	 { (char *)"ios_bad", _wrap_ios_bad, METH_VARARGS, NULL},
+	 { (char *)"ios_exceptions", _wrap_ios_exceptions, METH_VARARGS, NULL},
+	 { (char *)"new_ios", _wrap_new_ios, METH_VARARGS, NULL},
+	 { (char *)"delete_ios", _wrap_delete_ios, METH_VARARGS, NULL},
+	 { (char *)"ios_tie", _wrap_ios_tie, METH_VARARGS, NULL},
+	 { (char *)"ios_rdbuf", _wrap_ios_rdbuf, METH_VARARGS, NULL},
+	 { (char *)"ios_copyfmt", _wrap_ios_copyfmt, METH_VARARGS, NULL},
+	 { (char *)"ios_fill", _wrap_ios_fill, METH_VARARGS, NULL},
+	 { (char *)"ios_imbue", _wrap_ios_imbue, METH_VARARGS, NULL},
+	 { (char *)"ios_narrow", _wrap_ios_narrow, METH_VARARGS, NULL},
+	 { (char *)"ios_widen", _wrap_ios_widen, METH_VARARGS, NULL},
+	 { (char *)"ios_swigregister", ios_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_ostream", _wrap_new_ostream, METH_VARARGS, NULL},
+	 { (char *)"delete_ostream", _wrap_delete_ostream, METH_VARARGS, NULL},
+	 { (char *)"ostream___lshift__", _wrap_ostream___lshift__, METH_VARARGS, NULL},
+	 { (char *)"ostream_put", _wrap_ostream_put, METH_VARARGS, NULL},
+	 { (char *)"ostream_write", _wrap_ostream_write, METH_VARARGS, NULL},
+	 { (char *)"ostream_flush", _wrap_ostream_flush, METH_VARARGS, NULL},
+	 { (char *)"ostream_tellp", _wrap_ostream_tellp, METH_VARARGS, NULL},
+	 { (char *)"ostream_seekp", _wrap_ostream_seekp, METH_VARARGS, NULL},
+	 { (char *)"ostream_swigregister", ostream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_istream", _wrap_new_istream, METH_VARARGS, NULL},
+	 { (char *)"delete_istream", _wrap_delete_istream, METH_VARARGS, NULL},
+	 { (char *)"istream___rshift__", _wrap_istream___rshift__, METH_VARARGS, NULL},
+	 { (char *)"istream_gcount", _wrap_istream_gcount, METH_VARARGS, NULL},
+	 { (char *)"istream_get", _wrap_istream_get, METH_VARARGS, NULL},
+	 { (char *)"istream_getline", _wrap_istream_getline, METH_VARARGS, NULL},
+	 { (char *)"istream_ignore", _wrap_istream_ignore, METH_VARARGS, NULL},
+	 { (char *)"istream_peek", _wrap_istream_peek, METH_VARARGS, NULL},
+	 { (char *)"istream_read", _wrap_istream_read, METH_VARARGS, NULL},
+	 { (char *)"istream_readsome", _wrap_istream_readsome, METH_VARARGS, NULL},
+	 { (char *)"istream_putback", _wrap_istream_putback, METH_VARARGS, NULL},
+	 { (char *)"istream_unget", _wrap_istream_unget, METH_VARARGS, NULL},
+	 { (char *)"istream_sync", _wrap_istream_sync, METH_VARARGS, NULL},
+	 { (char *)"istream_tellg", _wrap_istream_tellg, METH_VARARGS, NULL},
+	 { (char *)"istream_seekg", _wrap_istream_seekg, METH_VARARGS, NULL},
+	 { (char *)"istream_swigregister", istream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_iostream", _wrap_new_iostream, METH_VARARGS, NULL},
+	 { (char *)"delete_iostream", _wrap_delete_iostream, METH_VARARGS, NULL},
+	 { (char *)"iostream_swigregister", iostream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"endl", _wrap_endl, METH_VARARGS, (char *)"swig_ptr: endl_cb_ptr"},
+	 { (char *)"ends", _wrap_ends, METH_VARARGS, (char *)"swig_ptr: ends_cb_ptr"},
+	 { (char *)"flush", _wrap_flush, METH_VARARGS, (char *)"swig_ptr: flush_cb_ptr"},
+	 { (char *)"accuracy2ura", _wrap_accuracy2ura, METH_VARARGS, NULL},
+	 { (char *)"ura2accuracy", _wrap_ura2accuracy, METH_VARARGS, NULL},
+	 { (char *)"ios_out", _wrap_ios_out, METH_VARARGS, NULL},
+	 { (char *)"ios_in", _wrap_ios_in, METH_VARARGS, NULL},
+	 { (char *)"ios_out_trunc", _wrap_ios_out_trunc, METH_VARARGS, NULL},
+	 { (char *)"read", _wrap_read, METH_VARARGS, NULL},
+	 { (char *)"write", _wrap_write, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_find", _wrap_RinexPrnMap_find, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_end", _wrap_RinexPrnMap_end, METH_VARARGS, NULL},
+	 { (char *)"getPseudoRangeCode", _wrap_getPseudoRangeCode, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_compare", _wrap_RinexPrnMap_compare, METH_VARARGS, NULL},
+	 { (char *)"delete_FFData", _wrap_delete_FFData, METH_VARARGS, NULL},
+	 { (char *)"FFData_putRecord", _wrap_FFData_putRecord, METH_VARARGS, NULL},
+	 { (char *)"FFData_getRecord", _wrap_FFData_getRecord, METH_VARARGS, NULL},
+	 { (char *)"FFData_dump", _wrap_FFData_dump, METH_VARARGS, NULL},
+	 { (char *)"FFData_isHeader", _wrap_FFData_isHeader, METH_VARARGS, NULL},
+	 { (char *)"FFData_isData", _wrap_FFData_isData, METH_VARARGS, NULL},
+	 { (char *)"streamWrite", _wrap_streamWrite, METH_VARARGS, NULL},
+	 { (char *)"FFData_swigregister", FFData_swigregister, METH_VARARGS, NULL},
+	 { (char *)"delete_FFStream", _wrap_delete_FFStream, METH_VARARGS, NULL},
+	 { (char *)"new_FFStream", _wrap_new_FFStream, METH_VARARGS, NULL},
+	 { (char *)"FFStream_open", _wrap_FFStream_open, METH_VARARGS, NULL},
+	 { (char *)"FFStream_conditionalThrow", _wrap_FFStream_conditionalThrow, METH_VARARGS, NULL},
+	 { (char *)"FFStream_mostRecentException_set", _wrap_FFStream_mostRecentException_set, METH_VARARGS, NULL},
+	 { (char *)"FFStream_mostRecentException_get", _wrap_FFStream_mostRecentException_get, METH_VARARGS, NULL},
+	 { (char *)"FFStream_recordNumber_set", _wrap_FFStream_recordNumber_set, METH_VARARGS, NULL},
+	 { (char *)"FFStream_recordNumber_get", _wrap_FFStream_recordNumber_get, METH_VARARGS, NULL},
+	 { (char *)"FFStream_filename_set", _wrap_FFStream_filename_set, METH_VARARGS, NULL},
+	 { (char *)"FFStream_filename_get", _wrap_FFStream_filename_get, METH_VARARGS, NULL},
+	 { (char *)"FFStream_swigregister", FFStream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"delete_FFTextStream", _wrap_delete_FFTextStream, METH_VARARGS, NULL},
+	 { (char *)"new_FFTextStream", _wrap_new_FFTextStream, METH_VARARGS, NULL},
+	 { (char *)"FFTextStream_open", _wrap_FFTextStream_open, METH_VARARGS, NULL},
+	 { (char *)"FFTextStream_lineNumber_set", _wrap_FFTextStream_lineNumber_set, METH_VARARGS, NULL},
+	 { (char *)"FFTextStream_lineNumber_get", _wrap_FFTextStream_lineNumber_get, METH_VARARGS, NULL},
+	 { (char *)"FFTextStream_formattedGetLine", _wrap_FFTextStream_formattedGetLine, METH_VARARGS, NULL},
+	 { (char *)"FFTextStream_swigregister", FFTextStream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_ExceptionLocation", _wrap_new_ExceptionLocation, METH_VARARGS, NULL},
+	 { (char *)"delete_ExceptionLocation", _wrap_delete_ExceptionLocation, METH_VARARGS, NULL},
+	 { (char *)"ExceptionLocation_getFileName", _wrap_ExceptionLocation_getFileName, METH_VARARGS, NULL},
+	 { (char *)"ExceptionLocation_getFunctionName", _wrap_ExceptionLocation_getFunctionName, METH_VARARGS, NULL},
+	 { (char *)"ExceptionLocation_getLineNumber", _wrap_ExceptionLocation_getLineNumber, METH_VARARGS, NULL},
+	 { (char *)"ExceptionLocation_dump", _wrap_ExceptionLocation_dump, METH_VARARGS, NULL},
+	 { (char *)"ExceptionLocation_swigregister", ExceptionLocation_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_Exception", _wrap_new_Exception, METH_VARARGS, NULL},
+	 { (char *)"delete_Exception", _wrap_delete_Exception, METH_VARARGS, NULL},
+	 { (char *)"Exception_class_operator_assignment", _wrap_Exception_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"Exception_terminate", _wrap_Exception_terminate, METH_VARARGS, NULL},
+	 { (char *)"Exception_getErrorId", _wrap_Exception_getErrorId, METH_VARARGS, NULL},
+	 { (char *)"Exception_setErrorId", _wrap_Exception_setErrorId, METH_VARARGS, NULL},
+	 { (char *)"Exception_addLocation", _wrap_Exception_addLocation, METH_VARARGS, NULL},
+	 { (char *)"Exception_getLocation", _wrap_Exception_getLocation, METH_VARARGS, NULL},
+	 { (char *)"Exception_getLocationCount", _wrap_Exception_getLocationCount, METH_VARARGS, NULL},
+	 { (char *)"Exception_isRecoverable", _wrap_Exception_isRecoverable, METH_VARARGS, NULL},
+	 { (char *)"Exception_setSeverity", _wrap_Exception_setSeverity, METH_VARARGS, NULL},
+	 { (char *)"Exception_addText", _wrap_Exception_addText, METH_VARARGS, NULL},
+	 { (char *)"Exception_getText", _wrap_Exception_getText, METH_VARARGS, NULL},
+	 { (char *)"Exception_getTextCount", _wrap_Exception_getTextCount, METH_VARARGS, NULL},
+	 { (char *)"Exception_getName", _wrap_Exception_getName, METH_VARARGS, NULL},
+	 { (char *)"Exception_dump", _wrap_Exception_dump, METH_VARARGS, NULL},
+	 { (char *)"Exception_swigregister", Exception_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_InvalidParameter", _wrap_new_InvalidParameter, METH_VARARGS, NULL},
+	 { (char *)"delete_InvalidParameter", _wrap_delete_InvalidParameter, METH_VARARGS, NULL},
+	 { (char *)"InvalidParameter_getName", _wrap_InvalidParameter_getName, METH_VARARGS, NULL},
+	 { (char *)"InvalidParameter_class_operator_assignment", _wrap_InvalidParameter_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"InvalidParameter_swigregister", InvalidParameter_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_InvalidRequest", _wrap_new_InvalidRequest, METH_VARARGS, NULL},
+	 { (char *)"delete_InvalidRequest", _wrap_delete_InvalidRequest, METH_VARARGS, NULL},
+	 { (char *)"InvalidRequest_getName", _wrap_InvalidRequest_getName, METH_VARARGS, NULL},
+	 { (char *)"InvalidRequest_class_operator_assignment", _wrap_InvalidRequest_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"InvalidRequest_swigregister", InvalidRequest_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_AssertionFailure", _wrap_new_AssertionFailure, METH_VARARGS, NULL},
+	 { (char *)"delete_AssertionFailure", _wrap_delete_AssertionFailure, METH_VARARGS, NULL},
+	 { (char *)"AssertionFailure_getName", _wrap_AssertionFailure_getName, METH_VARARGS, NULL},
+	 { (char *)"AssertionFailure_class_operator_assignment", _wrap_AssertionFailure_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"AssertionFailure_swigregister", AssertionFailure_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_AccessError", _wrap_new_AccessError, METH_VARARGS, NULL},
+	 { (char *)"delete_AccessError", _wrap_delete_AccessError, METH_VARARGS, NULL},
+	 { (char *)"AccessError_getName", _wrap_AccessError_getName, METH_VARARGS, NULL},
+	 { (char *)"AccessError_class_operator_assignment", _wrap_AccessError_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"AccessError_swigregister", AccessError_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_IndexOutOfBoundsException", _wrap_new_IndexOutOfBoundsException, METH_VARARGS, NULL},
+	 { (char *)"delete_IndexOutOfBoundsException", _wrap_delete_IndexOutOfBoundsException, METH_VARARGS, NULL},
+	 { (char *)"IndexOutOfBoundsException_getName", _wrap_IndexOutOfBoundsException_getName, METH_VARARGS, NULL},
+	 { (char *)"IndexOutOfBoundsException_class_operator_assignment", _wrap_IndexOutOfBoundsException_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"IndexOutOfBoundsException_swigregister", IndexOutOfBoundsException_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_InvalidArgumentException", _wrap_new_InvalidArgumentException, METH_VARARGS, NULL},
+	 { (char *)"delete_InvalidArgumentException", _wrap_delete_InvalidArgumentException, METH_VARARGS, NULL},
+	 { (char *)"InvalidArgumentException_getName", _wrap_InvalidArgumentException_getName, METH_VARARGS, NULL},
+	 { (char *)"InvalidArgumentException_class_operator_assignment", _wrap_InvalidArgumentException_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"InvalidArgumentException_swigregister", InvalidArgumentException_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_ConfigurationException", _wrap_new_ConfigurationException, METH_VARARGS, NULL},
+	 { (char *)"delete_ConfigurationException", _wrap_delete_ConfigurationException, METH_VARARGS, NULL},
+	 { (char *)"ConfigurationException_getName", _wrap_ConfigurationException_getName, METH_VARARGS, NULL},
+	 { (char *)"ConfigurationException_class_operator_assignment", _wrap_ConfigurationException_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"ConfigurationException_swigregister", ConfigurationException_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_FileMissingException", _wrap_new_FileMissingException, METH_VARARGS, NULL},
+	 { (char *)"delete_FileMissingException", _wrap_delete_FileMissingException, METH_VARARGS, NULL},
+	 { (char *)"FileMissingException_getName", _wrap_FileMissingException_getName, METH_VARARGS, NULL},
+	 { (char *)"FileMissingException_class_operator_assignment", _wrap_FileMissingException_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"FileMissingException_swigregister", FileMissingException_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_SystemSemaphoreException", _wrap_new_SystemSemaphoreException, METH_VARARGS, NULL},
+	 { (char *)"delete_SystemSemaphoreException", _wrap_delete_SystemSemaphoreException, METH_VARARGS, NULL},
+	 { (char *)"SystemSemaphoreException_getName", _wrap_SystemSemaphoreException_getName, METH_VARARGS, NULL},
+	 { (char *)"SystemSemaphoreException_class_operator_assignment", _wrap_SystemSemaphoreException_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"SystemSemaphoreException_swigregister", SystemSemaphoreException_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_SystemPipeException", _wrap_new_SystemPipeException, METH_VARARGS, NULL},
+	 { (char *)"delete_SystemPipeException", _wrap_delete_SystemPipeException, METH_VARARGS, NULL},
+	 { (char *)"SystemPipeException_getName", _wrap_SystemPipeException_getName, METH_VARARGS, NULL},
+	 { (char *)"SystemPipeException_class_operator_assignment", _wrap_SystemPipeException_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"SystemPipeException_swigregister", SystemPipeException_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_SystemQueueException", _wrap_new_SystemQueueException, METH_VARARGS, NULL},
+	 { (char *)"delete_SystemQueueException", _wrap_delete_SystemQueueException, METH_VARARGS, NULL},
+	 { (char *)"SystemQueueException_getName", _wrap_SystemQueueException_getName, METH_VARARGS, NULL},
+	 { (char *)"SystemQueueException_class_operator_assignment", _wrap_SystemQueueException_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"SystemQueueException_swigregister", SystemQueueException_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_OutOfMemory", _wrap_new_OutOfMemory, METH_VARARGS, NULL},
+	 { (char *)"delete_OutOfMemory", _wrap_delete_OutOfMemory, METH_VARARGS, NULL},
+	 { (char *)"OutOfMemory_getName", _wrap_OutOfMemory_getName, METH_VARARGS, NULL},
+	 { (char *)"OutOfMemory_class_operator_assignment", _wrap_OutOfMemory_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"OutOfMemory_swigregister", OutOfMemory_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_ObjectNotFound", _wrap_new_ObjectNotFound, METH_VARARGS, NULL},
+	 { (char *)"delete_ObjectNotFound", _wrap_delete_ObjectNotFound, METH_VARARGS, NULL},
+	 { (char *)"ObjectNotFound_getName", _wrap_ObjectNotFound_getName, METH_VARARGS, NULL},
+	 { (char *)"ObjectNotFound_class_operator_assignment", _wrap_ObjectNotFound_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"Exception_streamRead", _wrap_Exception_streamRead, METH_VARARGS, NULL},
+	 { (char *)"ObjectNotFound_swigregister", ObjectNotFound_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_InvalidValue", _wrap_new_InvalidValue, METH_VARARGS, NULL},
+	 { (char *)"delete_InvalidValue", _wrap_delete_InvalidValue, METH_VARARGS, NULL},
+	 { (char *)"InvalidValue_getName", _wrap_InvalidValue_getName, METH_VARARGS, NULL},
+	 { (char *)"InvalidValue_class_operator_assignment", _wrap_InvalidValue_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"InvalidValue_swigregister", InvalidValue_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_X1Sequence", _wrap_new_X1Sequence, METH_VARARGS, NULL},
+	 { (char *)"delete_X1Sequence", _wrap_delete_X1Sequence, METH_VARARGS, NULL},
+	 { (char *)"X1Sequence_allocateMemory", _wrap_X1Sequence_allocateMemory, METH_VARARGS, NULL},
+	 { (char *)"X1Sequence_deAllocateMemory", _wrap_X1Sequence_deAllocateMemory, METH_VARARGS, NULL},
+	 { (char *)"X1Sequence_class_operator_bracket", _wrap_X1Sequence_class_operator_bracket, METH_VARARGS, NULL},
+	 { (char *)"X1Sequence_swigregister", X1Sequence_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_X2Sequence", _wrap_new_X2Sequence, METH_VARARGS, NULL},
+	 { (char *)"delete_X2Sequence", _wrap_delete_X2Sequence, METH_VARARGS, NULL},
+	 { (char *)"X2Sequence_allocateMemory", _wrap_X2Sequence_allocateMemory, METH_VARARGS, NULL},
+	 { (char *)"X2Sequence_deAllocateMemory", _wrap_X2Sequence_deAllocateMemory, METH_VARARGS, NULL},
+	 { (char *)"X2Sequence_class_operator_bracket", _wrap_X2Sequence_class_operator_bracket, METH_VARARGS, NULL},
+	 { (char *)"X2Sequence_setEOWX2Epoch", _wrap_X2Sequence_setEOWX2Epoch, METH_VARARGS, NULL},
+	 { (char *)"X2Sequence_swigregister", X2Sequence_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_CodeBuffer", _wrap_new_CodeBuffer, METH_VARARGS, NULL},
+	 { (char *)"delete_CodeBuffer", _wrap_delete_CodeBuffer, METH_VARARGS, NULL},
+	 { (char *)"CodeBuffer_class_operator_assignment", _wrap_CodeBuffer_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"CodeBuffer_updateBufferStatus", _wrap_CodeBuffer_updateBufferStatus, METH_VARARGS, NULL},
+	 { (char *)"CodeBuffer_getCurrentTime", _wrap_CodeBuffer_getCurrentTime, METH_VARARGS, NULL},
+	 { (char *)"CodeBuffer_getPYFlag", _wrap_CodeBuffer_getPYFlag, METH_VARARGS, NULL},
+	 { (char *)"CodeBuffer_getPRNID", _wrap_CodeBuffer_getPRNID, METH_VARARGS, NULL},
+	 { (char *)"CodeBuffer_class_operator_bracket", _wrap_CodeBuffer_class_operator_bracket, METH_VARARGS, NULL},
+	 { (char *)"CodeBuffer_operator_bracket_const", _wrap_CodeBuffer_operator_bracket_const, METH_VARARGS, NULL},
+	 { (char *)"CodeBuffer_getBit", _wrap_CodeBuffer_getBit, METH_VARARGS, NULL},
+	 { (char *)"CodeBuffer___ixor__", _wrap_CodeBuffer___ixor__, METH_VARARGS, NULL},
+	 { (char *)"CodeBuffer_swigregister", CodeBuffer_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_SatID", _wrap_new_SatID, METH_VARARGS, NULL},
+	 { (char *)"SatID_setfill", _wrap_SatID_setfill, METH_VARARGS, NULL},
+	 { (char *)"SatID_getfill", _wrap_SatID_getfill, METH_VARARGS, NULL},
+	 { (char *)"SatID_systemCode", _wrap_SatID_systemCode, METH_VARARGS, NULL},
+	 { (char *)"SatID___eq__", _wrap_SatID___eq__, METH_VARARGS, NULL},
+	 { (char *)"SatID___ne__", _wrap_SatID___ne__, METH_VARARGS, NULL},
+	 { (char *)"SatID___lt__", _wrap_SatID___lt__, METH_VARARGS, NULL},
+	 { (char *)"SatID_id_set", _wrap_SatID_id_set, METH_VARARGS, NULL},
+	 { (char *)"SatID_id_get", _wrap_SatID_id_get, METH_VARARGS, NULL},
+	 { (char *)"SatID_system_set", _wrap_SatID_system_set, METH_VARARGS, NULL},
+	 { (char *)"SatID_system_get", _wrap_SatID_system_get, METH_VARARGS, NULL},
+	 { (char *)"delete_SatID", _wrap_delete_SatID, METH_VARARGS, NULL},
+	 { (char *)"SatID_swigregister", SatID_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_GenXSequence", _wrap_new_GenXSequence, METH_VARARGS, NULL},
+	 { (char *)"delete_GenXSequence", _wrap_delete_GenXSequence, METH_VARARGS, NULL},
+	 { (char *)"GenXSequence_class_operator_bracket", _wrap_GenXSequence_class_operator_bracket, METH_VARARGS, NULL},
+	 { (char *)"GenXSequence_setLengthOfSequence", _wrap_GenXSequence_setLengthOfSequence, METH_VARARGS, NULL},
+	 { (char *)"GenXSequence_swigregister", GenXSequence_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_SVPCodeGen", _wrap_new_SVPCodeGen, METH_VARARGS, NULL},
+	 { (char *)"delete_SVPCodeGen", _wrap_delete_SVPCodeGen, METH_VARARGS, NULL},
+	 { (char *)"SVPCodeGen_getCurrentSixSeconds", _wrap_SVPCodeGen_getCurrentSixSeconds, METH_VARARGS, NULL},
+	 { (char *)"SVPCodeGen_increment4ZCounts", _wrap_SVPCodeGen_increment4ZCounts, METH_VARARGS, NULL},
+	 { (char *)"SVPCodeGen_getCurrentZCount", _wrap_SVPCodeGen_getCurrentZCount, METH_VARARGS, NULL},
+	 { (char *)"SVPCodeGen_swigregister", SVPCodeGen_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_Observation", _wrap_new_Observation, METH_VARARGS, NULL},
+	 { (char *)"Observation_range_set", _wrap_Observation_range_set, METH_VARARGS, NULL},
+	 { (char *)"Observation_range_get", _wrap_Observation_range_get, METH_VARARGS, NULL},
+	 { (char *)"Observation_phase_set", _wrap_Observation_phase_set, METH_VARARGS, NULL},
+	 { (char *)"Observation_phase_get", _wrap_Observation_phase_get, METH_VARARGS, NULL},
+	 { (char *)"Observation_doppler_set", _wrap_Observation_doppler_set, METH_VARARGS, NULL},
+	 { (char *)"Observation_doppler_get", _wrap_Observation_doppler_get, METH_VARARGS, NULL},
+	 { (char *)"Observation_SNR_set", _wrap_Observation_SNR_set, METH_VARARGS, NULL},
+	 { (char *)"Observation_SNR_get", _wrap_Observation_SNR_get, METH_VARARGS, NULL},
+	 { (char *)"Observation_channel_set", _wrap_Observation_channel_set, METH_VARARGS, NULL},
+	 { (char *)"Observation_channel_get", _wrap_Observation_channel_get, METH_VARARGS, NULL},
+	 { (char *)"Observation_code_set", _wrap_Observation_code_set, METH_VARARGS, NULL},
+	 { (char *)"Observation_code_get", _wrap_Observation_code_get, METH_VARARGS, NULL},
+	 { (char *)"Observation_carrier_set", _wrap_Observation_carrier_set, METH_VARARGS, NULL},
+	 { (char *)"Observation_carrier_get", _wrap_Observation_carrier_get, METH_VARARGS, NULL},
+	 { (char *)"delete_Observation", _wrap_delete_Observation, METH_VARARGS, NULL},
+	 { (char *)"Observation_swigregister", Observation_swigregister, METH_VARARGS, NULL},
+	 { (char *)"ObservationPlus_obs_set", _wrap_ObservationPlus_obs_set, METH_VARARGS, NULL},
+	 { (char *)"ObservationPlus_obs_get", _wrap_ObservationPlus_obs_get, METH_VARARGS, NULL},
+	 { (char *)"ObservationPlus_time_set", _wrap_ObservationPlus_time_set, METH_VARARGS, NULL},
+	 { (char *)"ObservationPlus_time_get", _wrap_ObservationPlus_time_get, METH_VARARGS, NULL},
+	 { (char *)"ObservationPlus_rxId_set", _wrap_ObservationPlus_rxId_set, METH_VARARGS, NULL},
+	 { (char *)"ObservationPlus_rxId_get", _wrap_ObservationPlus_rxId_get, METH_VARARGS, NULL},
+	 { (char *)"ObservationPlus_svId_set", _wrap_ObservationPlus_svId_set, METH_VARARGS, NULL},
+	 { (char *)"ObservationPlus_svId_get", _wrap_ObservationPlus_svId_get, METH_VARARGS, NULL},
+	 { (char *)"new_ObservationPlus", _wrap_new_ObservationPlus, METH_VARARGS, NULL},
+	 { (char *)"delete_ObservationPlus", _wrap_delete_ObservationPlus, METH_VARARGS, NULL},
+	 { (char *)"ObservationPlus_swigregister", ObservationPlus_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_ObsEpoch", _wrap_new_ObsEpoch, METH_VARARGS, NULL},
+	 { (char *)"ObsEpoch_insertObservation", _wrap_ObsEpoch_insertObservation, METH_VARARGS, NULL},
+	 { (char *)"ObsEpoch_t_set", _wrap_ObsEpoch_t_set, METH_VARARGS, NULL},
+	 { (char *)"ObsEpoch_t_get", _wrap_ObsEpoch_t_get, METH_VARARGS, NULL},
+	 { (char *)"ObsEpoch_dt_set", _wrap_ObsEpoch_dt_set, METH_VARARGS, NULL},
+	 { (char *)"ObsEpoch_dt_get", _wrap_ObsEpoch_dt_get, METH_VARARGS, NULL},
+	 { (char *)"ObsEpoch_obs_set", _wrap_ObsEpoch_obs_set, METH_VARARGS, NULL},
+	 { (char *)"ObsEpoch_obs_get", _wrap_ObsEpoch_obs_get, METH_VARARGS, NULL},
+	 { (char *)"delete_ObsEpoch", _wrap_delete_ObsEpoch, METH_VARARGS, NULL},
+	 { (char *)"ObsEpoch_swigregister", ObsEpoch_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RxObsData", _wrap_new_RxObsData, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_insertObservation", _wrap_RxObsData_insertObservation, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_insertEpoch", _wrap_RxObsData_insertEpoch, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_firstTime_set", _wrap_RxObsData_firstTime_set, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_firstTime_get", _wrap_RxObsData_firstTime_get, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_lastTime_set", _wrap_RxObsData_lastTime_set, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_lastTime_get", _wrap_RxObsData_lastTime_get, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_rxId_set", _wrap_RxObsData_rxId_set, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_rxId_get", _wrap_RxObsData_rxId_get, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_prnList_set", _wrap_RxObsData_prnList_set, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_prnList_get", _wrap_RxObsData_prnList_get, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_epochs_set", _wrap_RxObsData_epochs_set, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_epochs_get", _wrap_RxObsData_epochs_get, METH_VARARGS, NULL},
+	 { (char *)"delete_RxObsData", _wrap_delete_RxObsData, METH_VARARGS, NULL},
+	 { (char *)"RxObsData_swigregister", RxObsData_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_WxObservation", _wrap_new_WxObservation, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_t_set", _wrap_WxObservation_t_set, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_t_get", _wrap_WxObservation_t_get, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_temperature_set", _wrap_WxObservation_temperature_set, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_temperature_get", _wrap_WxObservation_temperature_get, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_pressure_set", _wrap_WxObservation_pressure_set, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_pressure_get", _wrap_WxObservation_pressure_get, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_humidity_set", _wrap_WxObservation_humidity_set, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_humidity_get", _wrap_WxObservation_humidity_get, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_temperatureSource_set", _wrap_WxObservation_temperatureSource_set, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_temperatureSource_get", _wrap_WxObservation_temperatureSource_get, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_pressureSource_set", _wrap_WxObservation_pressureSource_set, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_pressureSource_get", _wrap_WxObservation_pressureSource_get, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_humiditySource_set", _wrap_WxObservation_humiditySource_set, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_humiditySource_get", _wrap_WxObservation_humiditySource_get, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_isAllValid", _wrap_WxObservation_isAllValid, METH_VARARGS, NULL},
+	 { (char *)"delete_WxObservation", _wrap_delete_WxObservation, METH_VARARGS, NULL},
+	 { (char *)"WxObservation_swigregister", WxObservation_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_WxObsData", _wrap_new_WxObsData, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_firstTime_set", _wrap_WxObsData_firstTime_set, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_firstTime_get", _wrap_WxObsData_firstTime_get, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_lastTime_set", _wrap_WxObsData_lastTime_set, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_lastTime_get", _wrap_WxObsData_lastTime_get, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_rxId_set", _wrap_WxObsData_rxId_set, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_rxId_get", _wrap_WxObsData_rxId_get, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_obs_set", _wrap_WxObsData_obs_set, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_obs_get", _wrap_WxObsData_obs_get, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_getMostRecent", _wrap_WxObsData_getMostRecent, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_insertObservation", _wrap_WxObsData_insertObservation, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_flush", _wrap_WxObsData_flush, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_getWxObservation", _wrap_WxObsData_getWxObservation, METH_VARARGS, NULL},
+	 { (char *)"delete_WxObsData", _wrap_delete_WxObsData, METH_VARARGS, NULL},
+	 { (char *)"WxObsData_swigregister", WxObsData_swigregister, METH_VARARGS, NULL},
+	 { (char *)"AlmanacStore_getPrnXvt", _wrap_AlmanacStore_getPrnXvt, METH_VARARGS, NULL},
+	 { (char *)"AlmanacStore_getPrnHealth", _wrap_AlmanacStore_getPrnHealth, METH_VARARGS, NULL},
+	 { (char *)"AlmanacStore_addAlmanac", _wrap_AlmanacStore_addAlmanac, METH_VARARGS, NULL},
+	 { (char *)"AlmanacStore_findAlmanac", _wrap_AlmanacStore_findAlmanac, METH_VARARGS, NULL},
+	 { (char *)"AlmanacStore_findAlmanacs", _wrap_AlmanacStore_findAlmanacs, METH_VARARGS, NULL},
+	 { (char *)"AlmanacStore_size", _wrap_AlmanacStore_size, METH_VARARGS, NULL},
+	 { (char *)"new_AlmanacStore", _wrap_new_AlmanacStore, METH_VARARGS, NULL},
+	 { (char *)"delete_AlmanacStore", _wrap_delete_AlmanacStore, METH_VARARGS, NULL},
+	 { (char *)"AlmanacStore_swigregister", AlmanacStore_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_AlmOrbit", _wrap_new_AlmOrbit, METH_VARARGS, NULL},
+	 { (char *)"AlmOrbit_svXvt", _wrap_AlmOrbit_svXvt, METH_VARARGS, NULL},
+	 { (char *)"AlmOrbit_getPRNID", _wrap_AlmOrbit_getPRNID, METH_VARARGS, NULL},
+	 { (char *)"AlmOrbit_getFullWeek", _wrap_AlmOrbit_getFullWeek, METH_VARARGS, NULL},
+	 { (char *)"AlmOrbit_getTransmitTime", _wrap_AlmOrbit_getTransmitTime, METH_VARARGS, NULL},
+	 { (char *)"AlmOrbit_getToaTime", _wrap_AlmOrbit_getToaTime, METH_VARARGS, NULL},
+	 { (char *)"AlmOrbit_getTimestamp", _wrap_AlmOrbit_getTimestamp, METH_VARARGS, NULL},
+	 { (char *)"AlmOrbit_getSVHealth", _wrap_AlmOrbit_getSVHealth, METH_VARARGS, NULL},
+	 { (char *)"delete_AlmOrbit", _wrap_delete_AlmOrbit, METH_VARARGS, NULL},
+	 { (char *)"AlmOrbit_swigregister", AlmOrbit_swigregister, METH_VARARGS, NULL},
+	 { (char *)"delete_IonoModel", _wrap_delete_IonoModel, METH_VARARGS, NULL},
+	 { (char *)"new_IonoModel", _wrap_new_IonoModel, METH_VARARGS, NULL},
+	 { (char *)"IonoModel_isValid", _wrap_IonoModel_isValid, METH_VARARGS, NULL},
+	 { (char *)"IonoModel_getCorrection", _wrap_IonoModel_getCorrection, METH_VARARGS, NULL},
+	 { (char *)"IonoModel___eq__", _wrap_IonoModel___eq__, METH_VARARGS, NULL},
+	 { (char *)"IonoModel___ne__", _wrap_IonoModel___ne__, METH_VARARGS, NULL},
+	 { (char *)"IonoModel_swigregister", IonoModel_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_IonoModelStore", _wrap_new_IonoModelStore, METH_VARARGS, NULL},
+	 { (char *)"delete_IonoModelStore", _wrap_delete_IonoModelStore, METH_VARARGS, NULL},
+	 { (char *)"IonoModelStore_getCorrection", _wrap_IonoModelStore_getCorrection, METH_VARARGS, NULL},
+	 { (char *)"IonoModelStore_addIonoModel", _wrap_IonoModelStore_addIonoModel, METH_VARARGS, NULL},
+	 { (char *)"IonoModelStore_swigregister", IonoModelStore_swigregister, METH_VARARGS, NULL},
+	 { (char *)"delete_TropModel", _wrap_delete_TropModel, METH_VARARGS, NULL},
+	 { (char *)"TropModel_isValid", _wrap_TropModel_isValid, METH_VARARGS, NULL},
+	 { (char *)"TropModel_correction", _wrap_TropModel_correction, METH_VARARGS, NULL},
+	 { (char *)"TropModel_dry_zenith_delay", _wrap_TropModel_dry_zenith_delay, METH_VARARGS, NULL},
+	 { (char *)"TropModel_wet_zenith_delay", _wrap_TropModel_wet_zenith_delay, METH_VARARGS, NULL},
+	 { (char *)"TropModel_dry_mapping_function", _wrap_TropModel_dry_mapping_function, METH_VARARGS, NULL},
+	 { (char *)"TropModel_wet_mapping_function", _wrap_TropModel_wet_mapping_function, METH_VARARGS, NULL},
+	 { (char *)"TropModel_setWeather", _wrap_TropModel_setWeather, METH_VARARGS, NULL},
+	 { (char *)"TropModel_swigregister", TropModel_swigregister, METH_VARARGS, NULL},
+	 { (char *)"ZeroTropModel_correction", _wrap_ZeroTropModel_correction, METH_VARARGS, NULL},
+	 { (char *)"ZeroTropModel_dry_zenith_delay", _wrap_ZeroTropModel_dry_zenith_delay, METH_VARARGS, NULL},
+	 { (char *)"ZeroTropModel_wet_zenith_delay", _wrap_ZeroTropModel_wet_zenith_delay, METH_VARARGS, NULL},
+	 { (char *)"ZeroTropModel_dry_mapping_function", _wrap_ZeroTropModel_dry_mapping_function, METH_VARARGS, NULL},
+	 { (char *)"ZeroTropModel_wet_mapping_function", _wrap_ZeroTropModel_wet_mapping_function, METH_VARARGS, NULL},
+	 { (char *)"new_ZeroTropModel", _wrap_new_ZeroTropModel, METH_VARARGS, NULL},
+	 { (char *)"delete_ZeroTropModel", _wrap_delete_ZeroTropModel, METH_VARARGS, NULL},
+	 { (char *)"ZeroTropModel_swigregister", ZeroTropModel_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_SimpleTropModel", _wrap_new_SimpleTropModel, METH_VARARGS, NULL},
+	 { (char *)"SimpleTropModel_dry_zenith_delay", _wrap_SimpleTropModel_dry_zenith_delay, METH_VARARGS, NULL},
+	 { (char *)"SimpleTropModel_wet_zenith_delay", _wrap_SimpleTropModel_wet_zenith_delay, METH_VARARGS, NULL},
+	 { (char *)"SimpleTropModel_dry_mapping_function", _wrap_SimpleTropModel_dry_mapping_function, METH_VARARGS, NULL},
+	 { (char *)"SimpleTropModel_wet_mapping_function", _wrap_SimpleTropModel_wet_mapping_function, METH_VARARGS, NULL},
+	 { (char *)"SimpleTropModel_setWeather", _wrap_SimpleTropModel_setWeather, METH_VARARGS, NULL},
+	 { (char *)"delete_SimpleTropModel", _wrap_delete_SimpleTropModel, METH_VARARGS, NULL},
+	 { (char *)"SimpleTropModel_swigregister", SimpleTropModel_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_GGTropModel", _wrap_new_GGTropModel, METH_VARARGS, NULL},
+	 { (char *)"GGTropModel_dry_zenith_delay", _wrap_GGTropModel_dry_zenith_delay, METH_VARARGS, NULL},
+	 { (char *)"GGTropModel_wet_zenith_delay", _wrap_GGTropModel_wet_zenith_delay, METH_VARARGS, NULL},
+	 { (char *)"GGTropModel_dry_mapping_function", _wrap_GGTropModel_dry_mapping_function, METH_VARARGS, NULL},
+	 { (char *)"GGTropModel_wet_mapping_function", _wrap_GGTropModel_wet_mapping_function, METH_VARARGS, NULL},
+	 { (char *)"GGTropModel_setWeather", _wrap_GGTropModel_setWeather, METH_VARARGS, NULL},
+	 { (char *)"delete_GGTropModel", _wrap_delete_GGTropModel, METH_VARARGS, NULL},
+	 { (char *)"GGTropModel_swigregister", GGTropModel_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_GGHeightTropModel", _wrap_new_GGHeightTropModel, METH_VARARGS, NULL},
+	 { (char *)"GGHeightTropModel_correction", _wrap_GGHeightTropModel_correction, METH_VARARGS, NULL},
+	 { (char *)"GGHeightTropModel_dry_zenith_delay", _wrap_GGHeightTropModel_dry_zenith_delay, METH_VARARGS, NULL},
+	 { (char *)"GGHeightTropModel_wet_zenith_delay", _wrap_GGHeightTropModel_wet_zenith_delay, METH_VARARGS, NULL},
+	 { (char *)"GGHeightTropModel_dry_mapping_function", _wrap_GGHeightTropModel_dry_mapping_function, METH_VARARGS, NULL},
+	 { (char *)"GGHeightTropModel_wet_mapping_function", _wrap_GGHeightTropModel_wet_mapping_function, METH_VARARGS, NULL},
+	 { (char *)"GGHeightTropModel_setWeather", _wrap_GGHeightTropModel_setWeather, METH_VARARGS, NULL},
+	 { (char *)"GGHeightTropModel_setHeights", _wrap_GGHeightTropModel_setHeights, METH_VARARGS, NULL},
+	 { (char *)"GGHeightTropModel_setReceiverHeight", _wrap_GGHeightTropModel_setReceiverHeight, METH_VARARGS, NULL},
+	 { (char *)"delete_GGHeightTropModel", _wrap_delete_GGHeightTropModel, METH_VARARGS, NULL},
+	 { (char *)"GGHeightTropModel_swigregister", GGHeightTropModel_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_NBTropModel", _wrap_new_NBTropModel, METH_VARARGS, NULL},
+	 { (char *)"NBTropModel_correction", _wrap_NBTropModel_correction, METH_VARARGS, NULL},
+	 { (char *)"NBTropModel_dry_zenith_delay", _wrap_NBTropModel_dry_zenith_delay, METH_VARARGS, NULL},
+	 { (char *)"NBTropModel_wet_zenith_delay", _wrap_NBTropModel_wet_zenith_delay, METH_VARARGS, NULL},
+	 { (char *)"NBTropModel_dry_mapping_function", _wrap_NBTropModel_dry_mapping_function, METH_VARARGS, NULL},
+	 { (char *)"NBTropModel_wet_mapping_function", _wrap_NBTropModel_wet_mapping_function, METH_VARARGS, NULL},
+	 { (char *)"NBTropModel_setWeather", _wrap_NBTropModel_setWeather, METH_VARARGS, NULL},
+	 { (char *)"NBTropModel_setReceiverHeight", _wrap_NBTropModel_setReceiverHeight, METH_VARARGS, NULL},
+	 { (char *)"NBTropModel_setReceiverLatitude", _wrap_NBTropModel_setReceiverLatitude, METH_VARARGS, NULL},
+	 { (char *)"NBTropModel_setDayOfYear", _wrap_NBTropModel_setDayOfYear, METH_VARARGS, NULL},
+	 { (char *)"delete_NBTropModel", _wrap_delete_NBTropModel, METH_VARARGS, NULL},
+	 { (char *)"NBTropModel_swigregister", NBTropModel_swigregister, METH_VARARGS, NULL},
+	 { (char *)"ClockModel_getOffset", _wrap_ClockModel_getOffset, METH_VARARGS, NULL},
+	 { (char *)"ClockModel_isOffsetValid", _wrap_ClockModel_isOffsetValid, METH_VARARGS, NULL},
+	 { (char *)"delete_ClockModel", _wrap_delete_ClockModel, METH_VARARGS, NULL},
+	 { (char *)"ClockModel_swigregister", ClockModel_swigregister, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_addEpoch", _wrap_ObsClockModel_addEpoch, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_setPRNModeMap", _wrap_ObsClockModel_setPRNModeMap, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_setPRNMode", _wrap_ObsClockModel_setPRNMode, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_setSigmaMultiplier", _wrap_ObsClockModel_setSigmaMultiplier, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_setElevationMask", _wrap_ObsClockModel_setElevationMask, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_getPRNStatusMap", _wrap_ObsClockModel_getPRNStatusMap, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_getPRNStatus", _wrap_ObsClockModel_getPRNStatus, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_getPRNModeMap", _wrap_ObsClockModel_getPRNModeMap, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_getPRNMode", _wrap_ObsClockModel_getPRNMode, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_getSigmaMultiplier", _wrap_ObsClockModel_getSigmaMultiplier, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_getElevationMask", _wrap_ObsClockModel_getElevationMask, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_simpleOrdClock", _wrap_ObsClockModel_simpleOrdClock, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_dump", _wrap_ObsClockModel_dump, METH_VARARGS, NULL},
+	 { (char *)"delete_ObsClockModel", _wrap_delete_ObsClockModel, METH_VARARGS, NULL},
+	 { (char *)"ObsClockModel_swigregister", ObsClockModel_swigregister, METH_VARARGS, NULL},
+	 { (char *)"EpochClockModel_isOffsetValid", _wrap_EpochClockModel_isOffsetValid, METH_VARARGS, NULL},
+	 { (char *)"EpochClockModel_addEpoch", _wrap_EpochClockModel_addEpoch, METH_VARARGS, NULL},
+	 { (char *)"delete_EpochClockModel", _wrap_delete_EpochClockModel, METH_VARARGS, NULL},
+	 { (char *)"EpochClockModel_swigregister", EpochClockModel_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_LinearClockModel", _wrap_new_LinearClockModel, METH_VARARGS, NULL},
+	 { (char *)"LinearClockModel_getOffset", _wrap_LinearClockModel_getOffset, METH_VARARGS, NULL},
+	 { (char *)"LinearClockModel_isOffsetValid", _wrap_LinearClockModel_isOffsetValid, METH_VARARGS, NULL},
+	 { (char *)"LinearClockModel_addEpoch", _wrap_LinearClockModel_addEpoch, METH_VARARGS, NULL},
+	 { (char *)"LinearClockModel_reset", _wrap_LinearClockModel_reset, METH_VARARGS, NULL},
+	 { (char *)"LinearClockModel_dump", _wrap_LinearClockModel_dump, METH_VARARGS, NULL},
+	 { (char *)"delete_LinearClockModel", _wrap_delete_LinearClockModel, METH_VARARGS, NULL},
+	 { (char *)"LinearClockModel_swigregister", LinearClockModel_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_BCEphemerisStore", _wrap_new_BCEphemerisStore, METH_VARARGS, NULL},
+	 { (char *)"delete_BCEphemerisStore", _wrap_delete_BCEphemerisStore, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_getPrnHealth", _wrap_BCEphemerisStore_getPrnHealth, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_dump", _wrap_BCEphemerisStore_dump, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_getInitialTime", _wrap_BCEphemerisStore_getInitialTime, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_getFinalTime", _wrap_BCEphemerisStore_getFinalTime, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_addEphemeris", _wrap_BCEphemerisStore_addEphemeris, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_wiper", _wrap_BCEphemerisStore_wiper, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_edit", _wrap_BCEphemerisStore_edit, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_clear", _wrap_BCEphemerisStore_clear, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_getPrnXvt", _wrap_BCEphemerisStore_getPrnXvt, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_ubeSize", _wrap_BCEphemerisStore_ubeSize, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_size", _wrap_BCEphemerisStore_size, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_findEphemeris", _wrap_BCEphemerisStore_findEphemeris, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_findUserEphemeris", _wrap_BCEphemerisStore_findUserEphemeris, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_findNearEphemeris", _wrap_BCEphemerisStore_findNearEphemeris, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_addToList", _wrap_BCEphemerisStore_addToList, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_SearchNear", _wrap_BCEphemerisStore_SearchNear, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_SearchPast", _wrap_BCEphemerisStore_SearchPast, METH_VARARGS, NULL},
+	 { (char *)"BCEphemerisStore_swigregister", BCEphemerisStore_swigregister, METH_VARARGS, NULL},
+	 { (char *)"delete_FileStore_RinexNavHeader", _wrap_delete_FileStore_RinexNavHeader, METH_VARARGS, NULL},
+	 { (char *)"FileStore_RinexNavHeader_getFileNames", _wrap_FileStore_RinexNavHeader_getFileNames, METH_VARARGS, NULL},
+	 { (char *)"FileStore_RinexNavHeader_addFile", _wrap_FileStore_RinexNavHeader_addFile, METH_VARARGS, NULL},
+	 { (char *)"FileStore_RinexNavHeader_getHeader", _wrap_FileStore_RinexNavHeader_getHeader, METH_VARARGS, NULL},
+	 { (char *)"FileStore_RinexNavHeader_loadFile", _wrap_FileStore_RinexNavHeader_loadFile, METH_VARARGS, NULL},
+	 { (char *)"FileStore_RinexNavHeader_loadFiles", _wrap_FileStore_RinexNavHeader_loadFiles, METH_VARARGS, NULL},
+	 { (char *)"FileStore_RinexNavHeader_size", _wrap_FileStore_RinexNavHeader_size, METH_VARARGS, NULL},
+	 { (char *)"FileStore_RinexNavHeader_swigregister", FileStore_RinexNavHeader_swigregister, METH_VARARGS, NULL},
+	 { (char *)"delete_FileStore_SP3Header", _wrap_delete_FileStore_SP3Header, METH_VARARGS, NULL},
+	 { (char *)"FileStore_SP3Header_getFileNames", _wrap_FileStore_SP3Header_getFileNames, METH_VARARGS, NULL},
+	 { (char *)"FileStore_SP3Header_addFile", _wrap_FileStore_SP3Header_addFile, METH_VARARGS, NULL},
+	 { (char *)"FileStore_SP3Header_getHeader", _wrap_FileStore_SP3Header_getHeader, METH_VARARGS, NULL},
+	 { (char *)"FileStore_SP3Header_loadFile", _wrap_FileStore_SP3Header_loadFile, METH_VARARGS, NULL},
+	 { (char *)"FileStore_SP3Header_loadFiles", _wrap_FileStore_SP3Header_loadFiles, METH_VARARGS, NULL},
+	 { (char *)"FileStore_SP3Header_size", _wrap_FileStore_SP3Header_size, METH_VARARGS, NULL},
+	 { (char *)"FileStore_SP3Header_swigregister", FileStore_SP3Header_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RinexEphemerisStore", _wrap_new_RinexEphemerisStore, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexEphemerisStore", _wrap_delete_RinexEphemerisStore, METH_VARARGS, NULL},
+	 { (char *)"RinexEphemerisStore_dump", _wrap_RinexEphemerisStore_dump, METH_VARARGS, NULL},
+	 { (char *)"RinexEphemerisStore_loadFile", _wrap_RinexEphemerisStore_loadFile, METH_VARARGS, NULL},
+	 { (char *)"RinexEphemerisStore_swigregister", RinexEphemerisStore_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_SP3EphemerisStore", _wrap_new_SP3EphemerisStore, METH_VARARGS, NULL},
+	 { (char *)"delete_SP3EphemerisStore", _wrap_delete_SP3EphemerisStore, METH_VARARGS, NULL},
+	 { (char *)"SP3EphemerisStore_dump", _wrap_SP3EphemerisStore_dump, METH_VARARGS, NULL},
+	 { (char *)"SP3EphemerisStore_loadFile", _wrap_SP3EphemerisStore_loadFile, METH_VARARGS, NULL},
+	 { (char *)"SP3EphemerisStore_swigregister", SP3EphemerisStore_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_FileHunterException", _wrap_new_FileHunterException, METH_VARARGS, NULL},
+	 { (char *)"delete_FileHunterException", _wrap_delete_FileHunterException, METH_VARARGS, NULL},
+	 { (char *)"FileHunterException_getName", _wrap_FileHunterException_getName, METH_VARARGS, NULL},
+	 { (char *)"FileHunterException_class_operator_assignment", _wrap_FileHunterException_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"FileHunterException_swigregister", FileHunterException_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_FileHunter", _wrap_new_FileHunter, METH_VARARGS, NULL},
+	 { (char *)"FileHunter_newHunt", _wrap_FileHunter_newHunt, METH_VARARGS, NULL},
+	 { (char *)"FileHunter_setFilter", _wrap_FileHunter_setFilter, METH_VARARGS, NULL},
+	 { (char *)"FileHunter_find", _wrap_FileHunter_find, METH_VARARGS, NULL},
+	 { (char *)"FileHunter_dump", _wrap_FileHunter_dump, METH_VARARGS, NULL},
+	 { (char *)"delete_FileHunter", _wrap_delete_FileHunter, METH_VARARGS, NULL},
+	 { (char *)"FileHunter_swigregister", FileHunter_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_FICStream", _wrap_new_FICStream, METH_VARARGS, NULL},
+	 { (char *)"delete_FICStream", _wrap_delete_FICStream, METH_VARARGS, NULL},
+	 { (char *)"FICStream_open", _wrap_FICStream_open, METH_VARARGS, NULL},
+	 { (char *)"FICStream_swigregister", FICStream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_FICAStream", _wrap_new_FICAStream, METH_VARARGS, NULL},
+	 { (char *)"delete_FICAStream", _wrap_delete_FICAStream, METH_VARARGS, NULL},
+	 { (char *)"FICAStream_open", _wrap_FICAStream_open, METH_VARARGS, NULL},
+	 { (char *)"FICAStream_swigregister", FICAStream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_MSCStream", _wrap_new_MSCStream, METH_VARARGS, NULL},
+	 { (char *)"delete_MSCStream", _wrap_delete_MSCStream, METH_VARARGS, NULL},
+	 { (char *)"MSCStream_swigregister", MSCStream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RinexMetStream", _wrap_new_RinexMetStream, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexMetStream", _wrap_delete_RinexMetStream, METH_VARARGS, NULL},
+	 { (char *)"RinexMetStream_open", _wrap_RinexMetStream_open, METH_VARARGS, NULL},
+	 { (char *)"RinexMetStream_header_set", _wrap_RinexMetStream_header_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetStream_header_get", _wrap_RinexMetStream_header_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetStream_headerRead_set", _wrap_RinexMetStream_headerRead_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetStream_headerRead_get", _wrap_RinexMetStream_headerRead_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetStream_swigregister", RinexMetStream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RinexNavStream", _wrap_new_RinexNavStream, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexNavStream", _wrap_delete_RinexNavStream, METH_VARARGS, NULL},
+	 { (char *)"RinexNavStream_open", _wrap_RinexNavStream_open, METH_VARARGS, NULL},
+	 { (char *)"RinexNavStream_header_set", _wrap_RinexNavStream_header_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavStream_header_get", _wrap_RinexNavStream_header_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavStream_headerRead_set", _wrap_RinexNavStream_headerRead_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavStream_headerRead_get", _wrap_RinexNavStream_headerRead_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavStream_swigregister", RinexNavStream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_SMODFStream", _wrap_new_SMODFStream, METH_VARARGS, NULL},
+	 { (char *)"delete_SMODFStream", _wrap_delete_SMODFStream, METH_VARARGS, NULL},
+	 { (char *)"SMODFStream_open", _wrap_SMODFStream_open, METH_VARARGS, NULL},
+	 { (char *)"SMODFStream_format_set", _wrap_SMODFStream_format_set, METH_VARARGS, NULL},
+	 { (char *)"SMODFStream_format_get", _wrap_SMODFStream_format_get, METH_VARARGS, NULL},
+	 { (char *)"SMODFStream_swigregister", SMODFStream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_SP3Stream", _wrap_new_SP3Stream, METH_VARARGS, NULL},
+	 { (char *)"delete_SP3Stream", _wrap_delete_SP3Stream, METH_VARARGS, NULL},
+	 { (char *)"SP3Stream_currentEpoch_set", _wrap_SP3Stream_currentEpoch_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Stream_currentEpoch_get", _wrap_SP3Stream_currentEpoch_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Stream_swigregister", SP3Stream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RinexObsStream", _wrap_new_RinexObsStream, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexObsStream", _wrap_delete_RinexObsStream, METH_VARARGS, NULL},
+	 { (char *)"RinexObsStream_open", _wrap_RinexObsStream_open, METH_VARARGS, NULL},
+	 { (char *)"RinexObsStream_headerRead_set", _wrap_RinexObsStream_headerRead_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsStream_headerRead_get", _wrap_RinexObsStream_headerRead_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsStream_header_set", _wrap_RinexObsStream_header_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsStream_header_get", _wrap_RinexObsStream_header_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsStream_swigregister", RinexObsStream_swigregister, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexObsBase", _wrap_delete_RinexObsBase, METH_VARARGS, NULL},
+	 { (char *)"RinexObsBase_swigregister", RinexObsBase_swigregister, METH_VARARGS, NULL},
+	 { (char *)"RinexObsType_type_set", _wrap_RinexObsType_type_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsType_type_get", _wrap_RinexObsType_type_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsType_description_set", _wrap_RinexObsType_description_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsType_description_get", _wrap_RinexObsType_description_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsType_units_set", _wrap_RinexObsType_units_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsType_units_get", _wrap_RinexObsType_units_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsType_depend_set", _wrap_RinexObsType_depend_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsType_depend_get", _wrap_RinexObsType_depend_get, METH_VARARGS, NULL},
+	 { (char *)"new_RinexObsType", _wrap_new_RinexObsType, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexObsType", _wrap_delete_RinexObsType, METH_VARARGS, NULL},
+	 { (char *)"RinexObsType_swigregister", RinexObsType_swigregister, METH_VARARGS, NULL},
+	 { (char *)"ExtraWaveFact_prnList_set", _wrap_ExtraWaveFact_prnList_set, METH_VARARGS, NULL},
+	 { (char *)"ExtraWaveFact_prnList_get", _wrap_ExtraWaveFact_prnList_get, METH_VARARGS, NULL},
+	 { (char *)"ExtraWaveFact_wavelengthFactor_set", _wrap_ExtraWaveFact_wavelengthFactor_set, METH_VARARGS, NULL},
+	 { (char *)"ExtraWaveFact_wavelengthFactor_get", _wrap_ExtraWaveFact_wavelengthFactor_get, METH_VARARGS, NULL},
+	 { (char *)"new_ExtraWaveFact", _wrap_new_ExtraWaveFact, METH_VARARGS, NULL},
+	 { (char *)"delete_ExtraWaveFact", _wrap_delete_ExtraWaveFact, METH_VARARGS, NULL},
+	 { (char *)"ExtraWaveFact_swigregister", ExtraWaveFact_swigregister, METH_VARARGS, NULL},
+	 { (char *)"RinexPrn_prn_set", _wrap_RinexPrn_prn_set, METH_VARARGS, NULL},
+	 { (char *)"RinexPrn_prn_get", _wrap_RinexPrn_prn_get, METH_VARARGS, NULL},
+	 { (char *)"RinexPrn_system_set", _wrap_RinexPrn_system_set, METH_VARARGS, NULL},
+	 { (char *)"RinexPrn_system_get", _wrap_RinexPrn_system_get, METH_VARARGS, NULL},
+	 { (char *)"new_RinexPrn", _wrap_new_RinexPrn, METH_VARARGS, NULL},
+	 { (char *)"RinexPrn_setfill", _wrap_RinexPrn_setfill, METH_VARARGS, NULL},
+	 { (char *)"RinexPrn_getfill", _wrap_RinexPrn_getfill, METH_VARARGS, NULL},
+	 { (char *)"RinexPrn_System", _wrap_RinexPrn_System, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexPrn", _wrap_delete_RinexPrn, METH_VARARGS, NULL},
+	 { (char *)"RinexPrn_swigregister", RinexPrn_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RinexObsHeader", _wrap_new_RinexObsHeader, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_clear", _wrap_RinexObsHeader_clear, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_version_set", _wrap_RinexObsHeader_version_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_version_get", _wrap_RinexObsHeader_version_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_fileType_set", _wrap_RinexObsHeader_fileType_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_fileType_get", _wrap_RinexObsHeader_fileType_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_system_set", _wrap_RinexObsHeader_system_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_system_get", _wrap_RinexObsHeader_system_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_fileProgram_set", _wrap_RinexObsHeader_fileProgram_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_fileProgram_get", _wrap_RinexObsHeader_fileProgram_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_fileAgency_set", _wrap_RinexObsHeader_fileAgency_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_fileAgency_get", _wrap_RinexObsHeader_fileAgency_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_date_set", _wrap_RinexObsHeader_date_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_date_get", _wrap_RinexObsHeader_date_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_commentList_set", _wrap_RinexObsHeader_commentList_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_commentList_get", _wrap_RinexObsHeader_commentList_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_markerName_set", _wrap_RinexObsHeader_markerName_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_markerName_get", _wrap_RinexObsHeader_markerName_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_markerNumber_set", _wrap_RinexObsHeader_markerNumber_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_markerNumber_get", _wrap_RinexObsHeader_markerNumber_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_observer_set", _wrap_RinexObsHeader_observer_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_observer_get", _wrap_RinexObsHeader_observer_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_agency_set", _wrap_RinexObsHeader_agency_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_agency_get", _wrap_RinexObsHeader_agency_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_recNo_set", _wrap_RinexObsHeader_recNo_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_recNo_get", _wrap_RinexObsHeader_recNo_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_recType_set", _wrap_RinexObsHeader_recType_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_recType_get", _wrap_RinexObsHeader_recType_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_recVers_set", _wrap_RinexObsHeader_recVers_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_recVers_get", _wrap_RinexObsHeader_recVers_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_antNo_set", _wrap_RinexObsHeader_antNo_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_antNo_get", _wrap_RinexObsHeader_antNo_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_antType_set", _wrap_RinexObsHeader_antType_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_antType_get", _wrap_RinexObsHeader_antType_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_antennaPosition_set", _wrap_RinexObsHeader_antennaPosition_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_antennaPosition_get", _wrap_RinexObsHeader_antennaPosition_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_antennaOffset_set", _wrap_RinexObsHeader_antennaOffset_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_antennaOffset_get", _wrap_RinexObsHeader_antennaOffset_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_wavelengthFactor_set", _wrap_RinexObsHeader_wavelengthFactor_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_wavelengthFactor_get", _wrap_RinexObsHeader_wavelengthFactor_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_extraWaveFactList_set", _wrap_RinexObsHeader_extraWaveFactList_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_extraWaveFactList_get", _wrap_RinexObsHeader_extraWaveFactList_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_obsTypeList_set", _wrap_RinexObsHeader_obsTypeList_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_obsTypeList_get", _wrap_RinexObsHeader_obsTypeList_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_interval_set", _wrap_RinexObsHeader_interval_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_interval_get", _wrap_RinexObsHeader_interval_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_firstObs_set", _wrap_RinexObsHeader_firstObs_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_firstObs_get", _wrap_RinexObsHeader_firstObs_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_firstSystem_set", _wrap_RinexObsHeader_firstSystem_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_firstSystem_get", _wrap_RinexObsHeader_firstSystem_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_lastObs_set", _wrap_RinexObsHeader_lastObs_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_lastObs_get", _wrap_RinexObsHeader_lastObs_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_lastSystem_set", _wrap_RinexObsHeader_lastSystem_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_lastSystem_get", _wrap_RinexObsHeader_lastSystem_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_receiverOffset_set", _wrap_RinexObsHeader_receiverOffset_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_receiverOffset_get", _wrap_RinexObsHeader_receiverOffset_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_leapSeconds_set", _wrap_RinexObsHeader_leapSeconds_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_leapSeconds_get", _wrap_RinexObsHeader_leapSeconds_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_numSVs_set", _wrap_RinexObsHeader_numSVs_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_numSVs_get", _wrap_RinexObsHeader_numSVs_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_numObsForPrn_set", _wrap_RinexObsHeader_numObsForPrn_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_numObsForPrn_get", _wrap_RinexObsHeader_numObsForPrn_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_valid_set", _wrap_RinexObsHeader_valid_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_valid_get", _wrap_RinexObsHeader_valid_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_numObs_set", _wrap_RinexObsHeader_numObs_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_numObs_get", _wrap_RinexObsHeader_numObs_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_lastPRN_set", _wrap_RinexObsHeader_lastPRN_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_lastPRN_get", _wrap_RinexObsHeader_lastPRN_get, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexObsHeader", _wrap_delete_RinexObsHeader, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_isHeader", _wrap_RinexObsHeader_isHeader, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_dump", _wrap_RinexObsHeader_dump, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_convertObsType", _wrap_RinexObsHeader_convertObsType, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_ParseHeaderRecord", _wrap_RinexObsHeader_ParseHeaderRecord, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_NumberHeaderRecordsToBeWritten", _wrap_RinexObsHeader_NumberHeaderRecordsToBeWritten, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_WriteHeaderRecords", _wrap_RinexObsHeader_WriteHeaderRecords, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_isValid", _wrap_RinexObsHeader_isValid, METH_VARARGS, NULL},
+	 { (char *)"RinexObsHeader_swigregister", RinexObsHeader_swigregister, METH_VARARGS, NULL},
+	 { (char *)"RegisterExtendedRinexObsType", _wrap_RegisterExtendedRinexObsType, METH_VARARGS, NULL},
+	 { (char *)"__eq__", _wrap___eq__, METH_VARARGS, NULL},
+	 { (char *)"__ne__", _wrap___ne__, METH_VARARGS, NULL},
+	 { (char *)"__lt__", _wrap___lt__, METH_VARARGS, NULL},
+	 { (char *)"__rshift__", _wrap___rshift__, METH_VARARGS, NULL},
+	 { (char *)"DisplayExtendedRinexObsTypes", _wrap_DisplayExtendedRinexObsTypes, METH_VARARGS, NULL},
+	 { (char *)"new_RinexDatum", _wrap_new_RinexDatum, METH_VARARGS, NULL},
+	 { (char *)"RinexDatum_data_set", _wrap_RinexDatum_data_set, METH_VARARGS, NULL},
+	 { (char *)"RinexDatum_data_get", _wrap_RinexDatum_data_get, METH_VARARGS, NULL},
+	 { (char *)"RinexDatum_lli_set", _wrap_RinexDatum_lli_set, METH_VARARGS, NULL},
+	 { (char *)"RinexDatum_lli_get", _wrap_RinexDatum_lli_get, METH_VARARGS, NULL},
+	 { (char *)"RinexDatum_ssi_set", _wrap_RinexDatum_ssi_set, METH_VARARGS, NULL},
+	 { (char *)"RinexDatum_ssi_get", _wrap_RinexDatum_ssi_get, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexDatum", _wrap_delete_RinexDatum, METH_VARARGS, NULL},
+	 { (char *)"RinexDatum_swigregister", RinexDatum_swigregister, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_time_set", _wrap_RinexObsData_time_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_time_get", _wrap_RinexObsData_time_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_epochFlag_set", _wrap_RinexObsData_epochFlag_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_epochFlag_get", _wrap_RinexObsData_epochFlag_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_numSvs_set", _wrap_RinexObsData_numSvs_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_numSvs_get", _wrap_RinexObsData_numSvs_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_clockOffset_set", _wrap_RinexObsData_clockOffset_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_clockOffset_get", _wrap_RinexObsData_clockOffset_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_obs_set", _wrap_RinexObsData_obs_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_obs_get", _wrap_RinexObsData_obs_get, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_auxHeader_set", _wrap_RinexObsData_auxHeader_set, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_auxHeader_get", _wrap_RinexObsData_auxHeader_get, METH_VARARGS, NULL},
+	 { (char *)"new_RinexObsData", _wrap_new_RinexObsData, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexObsData", _wrap_delete_RinexObsData, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_isData", _wrap_RinexObsData_isData, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_dump", _wrap_RinexObsData_dump, METH_VARARGS, NULL},
+	 { (char *)"RinexObsData_swigregister", RinexObsData_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RinexObsTypeMap", _wrap_new_RinexObsTypeMap, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap_empty", _wrap_RinexObsTypeMap_empty, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap_size", _wrap_RinexObsTypeMap_size, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap_clear", _wrap_RinexObsTypeMap_clear, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap_swap", _wrap_RinexObsTypeMap_swap, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap_get_allocator", _wrap_RinexObsTypeMap_get_allocator, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap_erase", _wrap_RinexObsTypeMap_erase, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap_count", _wrap_RinexObsTypeMap_count, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap___nonzero__", _wrap_RinexObsTypeMap___nonzero__, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap___len__", _wrap_RinexObsTypeMap___len__, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap___getitem__", _wrap_RinexObsTypeMap___getitem__, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap___setitem__", _wrap_RinexObsTypeMap___setitem__, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap___delitem__", _wrap_RinexObsTypeMap___delitem__, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap_has_key", _wrap_RinexObsTypeMap_has_key, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap_keys", _wrap_RinexObsTypeMap_keys, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap_values", _wrap_RinexObsTypeMap_values, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap_items", _wrap_RinexObsTypeMap_items, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap___contains__", _wrap_RinexObsTypeMap___contains__, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap___iter__", _wrap_RinexObsTypeMap___iter__, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexObsTypeMap", _wrap_delete_RinexObsTypeMap, METH_VARARGS, NULL},
+	 { (char *)"RinexObsTypeMap_swigregister", RinexObsTypeMap_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RinexPrnMap", _wrap_new_RinexPrnMap, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_empty", _wrap_RinexPrnMap_empty, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_size", _wrap_RinexPrnMap_size, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_clear", _wrap_RinexPrnMap_clear, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_swap", _wrap_RinexPrnMap_swap, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_get_allocator", _wrap_RinexPrnMap_get_allocator, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_erase", _wrap_RinexPrnMap_erase, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_count", _wrap_RinexPrnMap_count, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap___nonzero__", _wrap_RinexPrnMap___nonzero__, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap___len__", _wrap_RinexPrnMap___len__, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap___getitem__", _wrap_RinexPrnMap___getitem__, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap___setitem__", _wrap_RinexPrnMap___setitem__, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap___delitem__", _wrap_RinexPrnMap___delitem__, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_has_key", _wrap_RinexPrnMap_has_key, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_keys", _wrap_RinexPrnMap_keys, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_values", _wrap_RinexPrnMap_values, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_items", _wrap_RinexPrnMap_items, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap___contains__", _wrap_RinexPrnMap___contains__, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap___iter__", _wrap_RinexPrnMap___iter__, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexPrnMap", _wrap_delete_RinexPrnMap, METH_VARARGS, NULL},
+	 { (char *)"RinexPrnMap_swigregister", RinexPrnMap_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_BOGUS_TEMPLATE", _wrap_new_BOGUS_TEMPLATE, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE_empty", _wrap_BOGUS_TEMPLATE_empty, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE_size", _wrap_BOGUS_TEMPLATE_size, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE_clear", _wrap_BOGUS_TEMPLATE_clear, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE_swap", _wrap_BOGUS_TEMPLATE_swap, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE_get_allocator", _wrap_BOGUS_TEMPLATE_get_allocator, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE_erase", _wrap_BOGUS_TEMPLATE_erase, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE_count", _wrap_BOGUS_TEMPLATE_count, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE___nonzero__", _wrap_BOGUS_TEMPLATE___nonzero__, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE___len__", _wrap_BOGUS_TEMPLATE___len__, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE___getitem__", _wrap_BOGUS_TEMPLATE___getitem__, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE___setitem__", _wrap_BOGUS_TEMPLATE___setitem__, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE___delitem__", _wrap_BOGUS_TEMPLATE___delitem__, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE_has_key", _wrap_BOGUS_TEMPLATE_has_key, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE_keys", _wrap_BOGUS_TEMPLATE_keys, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE_values", _wrap_BOGUS_TEMPLATE_values, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE_items", _wrap_BOGUS_TEMPLATE_items, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE___contains__", _wrap_BOGUS_TEMPLATE___contains__, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE___iter__", _wrap_BOGUS_TEMPLATE___iter__, METH_VARARGS, NULL},
+	 { (char *)"delete_BOGUS_TEMPLATE", _wrap_delete_BOGUS_TEMPLATE, METH_VARARGS, NULL},
+	 { (char *)"BOGUS_TEMPLATE_swigregister", BOGUS_TEMPLATE_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_SP3Header", _wrap_new_SP3Header, METH_VARARGS, NULL},
+	 { (char *)"delete_SP3Header", _wrap_delete_SP3Header, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_isHeader", _wrap_SP3Header_isHeader, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_dump", _wrap_SP3Header_dump, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_version_set", _wrap_SP3Header_version_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_version_get", _wrap_SP3Header_version_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_pvFlag_set", _wrap_SP3Header_pvFlag_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_pvFlag_get", _wrap_SP3Header_pvFlag_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_time_set", _wrap_SP3Header_time_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_time_get", _wrap_SP3Header_time_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_epochInterval_set", _wrap_SP3Header_epochInterval_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_epochInterval_get", _wrap_SP3Header_epochInterval_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_numberOfEpochs_set", _wrap_SP3Header_numberOfEpochs_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_numberOfEpochs_get", _wrap_SP3Header_numberOfEpochs_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_dataUsed_set", _wrap_SP3Header_dataUsed_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_dataUsed_get", _wrap_SP3Header_dataUsed_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_coordSystem_set", _wrap_SP3Header_coordSystem_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_coordSystem_get", _wrap_SP3Header_coordSystem_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_orbitType_set", _wrap_SP3Header_orbitType_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_orbitType_get", _wrap_SP3Header_orbitType_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_agency_set", _wrap_SP3Header_agency_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_agency_get", _wrap_SP3Header_agency_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_svList_set", _wrap_SP3Header_svList_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_svList_get", _wrap_SP3Header_svList_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_comments_set", _wrap_SP3Header_comments_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_comments_get", _wrap_SP3Header_comments_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Header_swigregister", SP3Header_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RinexNavHeader", _wrap_new_RinexNavHeader, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexNavHeader", _wrap_delete_RinexNavHeader, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_isHeader", _wrap_RinexNavHeader_isHeader, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_dump", _wrap_RinexNavHeader_dump, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_valid_set", _wrap_RinexNavHeader_valid_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_valid_get", _wrap_RinexNavHeader_valid_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_version_set", _wrap_RinexNavHeader_version_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_version_get", _wrap_RinexNavHeader_version_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_fileType_set", _wrap_RinexNavHeader_fileType_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_fileType_get", _wrap_RinexNavHeader_fileType_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_fileProgram_set", _wrap_RinexNavHeader_fileProgram_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_fileProgram_get", _wrap_RinexNavHeader_fileProgram_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_fileAgency_set", _wrap_RinexNavHeader_fileAgency_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_fileAgency_get", _wrap_RinexNavHeader_fileAgency_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_date_set", _wrap_RinexNavHeader_date_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_date_get", _wrap_RinexNavHeader_date_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_commentList_set", _wrap_RinexNavHeader_commentList_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_commentList_get", _wrap_RinexNavHeader_commentList_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_ionAlpha_set", _wrap_RinexNavHeader_ionAlpha_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_ionAlpha_get", _wrap_RinexNavHeader_ionAlpha_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_ionBeta_set", _wrap_RinexNavHeader_ionBeta_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_ionBeta_get", _wrap_RinexNavHeader_ionBeta_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_A0_set", _wrap_RinexNavHeader_A0_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_A0_get", _wrap_RinexNavHeader_A0_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_A1_set", _wrap_RinexNavHeader_A1_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_A1_get", _wrap_RinexNavHeader_A1_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_UTCRefTime_set", _wrap_RinexNavHeader_UTCRefTime_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_UTCRefTime_get", _wrap_RinexNavHeader_UTCRefTime_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_UTCRefWeek_set", _wrap_RinexNavHeader_UTCRefWeek_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_UTCRefWeek_get", _wrap_RinexNavHeader_UTCRefWeek_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_leapSeconds_set", _wrap_RinexNavHeader_leapSeconds_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_leapSeconds_get", _wrap_RinexNavHeader_leapSeconds_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavHeader_swigregister", RinexNavHeader_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_WrongBlockNumber", _wrap_new_WrongBlockNumber, METH_VARARGS, NULL},
+	 { (char *)"delete_WrongBlockNumber", _wrap_delete_WrongBlockNumber, METH_VARARGS, NULL},
+	 { (char *)"WrongBlockNumber_getName", _wrap_WrongBlockNumber_getName, METH_VARARGS, NULL},
+	 { (char *)"WrongBlockNumber_class_operator_assignment", _wrap_WrongBlockNumber_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"WrongBlockNumber_swigregister", WrongBlockNumber_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_WrongBlockFormat", _wrap_new_WrongBlockFormat, METH_VARARGS, NULL},
+	 { (char *)"delete_WrongBlockFormat", _wrap_delete_WrongBlockFormat, METH_VARARGS, NULL},
+	 { (char *)"WrongBlockFormat_getName", _wrap_WrongBlockFormat_getName, METH_VARARGS, NULL},
+	 { (char *)"WrongBlockFormat_class_operator_assignment", _wrap_WrongBlockFormat_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"WrongBlockFormat_swigregister", WrongBlockFormat_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_FICData", _wrap_new_FICData, METH_VARARGS, NULL},
+	 { (char *)"delete_FICData", _wrap_delete_FICData, METH_VARARGS, NULL},
+	 { (char *)"FICData_isValid", _wrap_FICData_isValid, METH_VARARGS, NULL},
+	 { (char *)"FICData_isData", _wrap_FICData_isData, METH_VARARGS, NULL},
+	 { (char *)"FICData_dump", _wrap_FICData_dump, METH_VARARGS, NULL},
+	 { (char *)"FICData_prettyDump", _wrap_FICData_prettyDump, METH_VARARGS, NULL},
+	 { (char *)"FICData_operator_EngEphemeris", _wrap_FICData_operator_EngEphemeris, METH_VARARGS, NULL},
+	 { (char *)"FICData_operator_AlmOrbit", _wrap_FICData_operator_AlmOrbit, METH_VARARGS, NULL},
+	 { (char *)"FICData_generateUniqueKey", _wrap_FICData_generateUniqueKey, METH_VARARGS, NULL},
+	 { (char *)"FICData_blockNum_set", _wrap_FICData_blockNum_set, METH_VARARGS, NULL},
+	 { (char *)"FICData_blockNum_get", _wrap_FICData_blockNum_get, METH_VARARGS, NULL},
+	 { (char *)"FICData_f_set", _wrap_FICData_f_set, METH_VARARGS, NULL},
+	 { (char *)"FICData_f_get", _wrap_FICData_f_get, METH_VARARGS, NULL},
+	 { (char *)"FICData_i_set", _wrap_FICData_i_set, METH_VARARGS, NULL},
+	 { (char *)"FICData_i_get", _wrap_FICData_i_get, METH_VARARGS, NULL},
+	 { (char *)"FICData_c_set", _wrap_FICData_c_set, METH_VARARGS, NULL},
+	 { (char *)"FICData_c_get", _wrap_FICData_c_get, METH_VARARGS, NULL},
+	 { (char *)"FICData_swigregister", FICData_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_FICHeader", _wrap_new_FICHeader, METH_VARARGS, NULL},
+	 { (char *)"delete_FICHeader", _wrap_delete_FICHeader, METH_VARARGS, NULL},
+	 { (char *)"FICHeader_isHeader", _wrap_FICHeader_isHeader, METH_VARARGS, NULL},
+	 { (char *)"FICHeader_dump", _wrap_FICHeader_dump, METH_VARARGS, NULL},
+	 { (char *)"FICHeader_header_set", _wrap_FICHeader_header_set, METH_VARARGS, NULL},
+	 { (char *)"FICHeader_header_get", _wrap_FICHeader_header_get, METH_VARARGS, NULL},
+	 { (char *)"FICHeader_swigregister", FICHeader_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RinexMetData", _wrap_new_RinexMetData, METH_VARARGS, NULL},
+	 { (char *)"RinexMetData_isData", _wrap_RinexMetData_isData, METH_VARARGS, NULL},
+	 { (char *)"RinexMetData_dump", _wrap_RinexMetData_dump, METH_VARARGS, NULL},
+	 { (char *)"RinexMetData_time_set", _wrap_RinexMetData_time_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetData_time_get", _wrap_RinexMetData_time_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetData_data_set", _wrap_RinexMetData_data_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetData_data_get", _wrap_RinexMetData_data_get, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexMetData", _wrap_delete_RinexMetData, METH_VARARGS, NULL},
+	 { (char *)"RinexMetData_swigregister", RinexMetData_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RinexMetHeader", _wrap_new_RinexMetHeader, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexMetHeader", _wrap_delete_RinexMetHeader, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_isHeader", _wrap_RinexMetHeader_isHeader, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_dump", _wrap_RinexMetHeader_dump, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_convertObsType", _wrap_RinexMetHeader_convertObsType, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_valid_set", _wrap_RinexMetHeader_valid_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_valid_get", _wrap_RinexMetHeader_valid_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_bitsAsString", _wrap_RinexMetHeader_bitsAsString, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_bitString", _wrap_RinexMetHeader_bitString, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_version_set", _wrap_RinexMetHeader_version_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_version_get", _wrap_RinexMetHeader_version_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_fileType_set", _wrap_RinexMetHeader_fileType_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_fileType_get", _wrap_RinexMetHeader_fileType_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_fileProgram_set", _wrap_RinexMetHeader_fileProgram_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_fileProgram_get", _wrap_RinexMetHeader_fileProgram_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_fileAgency_set", _wrap_RinexMetHeader_fileAgency_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_fileAgency_get", _wrap_RinexMetHeader_fileAgency_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_date_set", _wrap_RinexMetHeader_date_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_date_get", _wrap_RinexMetHeader_date_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_commentList_set", _wrap_RinexMetHeader_commentList_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_commentList_get", _wrap_RinexMetHeader_commentList_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_markerName_set", _wrap_RinexMetHeader_markerName_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_markerName_get", _wrap_RinexMetHeader_markerName_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_markerNumber_set", _wrap_RinexMetHeader_markerNumber_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_markerNumber_get", _wrap_RinexMetHeader_markerNumber_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_obsTypeList_set", _wrap_RinexMetHeader_obsTypeList_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_obsTypeList_get", _wrap_RinexMetHeader_obsTypeList_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_sensorTypeList_set", _wrap_RinexMetHeader_sensorTypeList_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_sensorTypeList_get", _wrap_RinexMetHeader_sensorTypeList_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_sensorPosList_set", _wrap_RinexMetHeader_sensorPosList_set, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_sensorPosList_get", _wrap_RinexMetHeader_sensorPosList_get, METH_VARARGS, NULL},
+	 { (char *)"RinexMetHeader_swigregister", RinexMetHeader_swigregister, METH_VARARGS, NULL},
+	 { (char *)"sensorType_model_set", _wrap_sensorType_model_set, METH_VARARGS, NULL},
+	 { (char *)"sensorType_model_get", _wrap_sensorType_model_get, METH_VARARGS, NULL},
+	 { (char *)"sensorType_type_set", _wrap_sensorType_type_set, METH_VARARGS, NULL},
+	 { (char *)"sensorType_type_get", _wrap_sensorType_type_get, METH_VARARGS, NULL},
+	 { (char *)"sensorType_accuracy_set", _wrap_sensorType_accuracy_set, METH_VARARGS, NULL},
+	 { (char *)"sensorType_accuracy_get", _wrap_sensorType_accuracy_get, METH_VARARGS, NULL},
+	 { (char *)"sensorType_obsType_set", _wrap_sensorType_obsType_set, METH_VARARGS, NULL},
+	 { (char *)"sensorType_obsType_get", _wrap_sensorType_obsType_get, METH_VARARGS, NULL},
+	 { (char *)"new_sensorType", _wrap_new_sensorType, METH_VARARGS, NULL},
+	 { (char *)"delete_sensorType", _wrap_delete_sensorType, METH_VARARGS, NULL},
+	 { (char *)"sensorType_swigregister", sensorType_swigregister, METH_VARARGS, NULL},
+	 { (char *)"sensorPosType_position_set", _wrap_sensorPosType_position_set, METH_VARARGS, NULL},
+	 { (char *)"sensorPosType_position_get", _wrap_sensorPosType_position_get, METH_VARARGS, NULL},
+	 { (char *)"sensorPosType_height_set", _wrap_sensorPosType_height_set, METH_VARARGS, NULL},
+	 { (char *)"sensorPosType_height_get", _wrap_sensorPosType_height_get, METH_VARARGS, NULL},
+	 { (char *)"sensorPosType_obsType_set", _wrap_sensorPosType_obsType_set, METH_VARARGS, NULL},
+	 { (char *)"sensorPosType_obsType_get", _wrap_sensorPosType_obsType_get, METH_VARARGS, NULL},
+	 { (char *)"new_sensorPosType", _wrap_new_sensorPosType, METH_VARARGS, NULL},
+	 { (char *)"delete_sensorPosType", _wrap_delete_sensorPosType, METH_VARARGS, NULL},
+	 { (char *)"sensorPosType_swigregister", sensorPosType_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RinexNavData", _wrap_new_RinexNavData, METH_VARARGS, NULL},
+	 { (char *)"delete_RinexNavData", _wrap_delete_RinexNavData, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_isData", _wrap_RinexNavData_isData, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_dump", _wrap_RinexNavData_dump, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_operator_EngEphemeris", _wrap_RinexNavData_operator_EngEphemeris, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_toList", _wrap_RinexNavData_toList, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_time_set", _wrap_RinexNavData_time_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_time_get", _wrap_RinexNavData_time_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_PRNID_set", _wrap_RinexNavData_PRNID_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_PRNID_get", _wrap_RinexNavData_PRNID_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_HOWtime_set", _wrap_RinexNavData_HOWtime_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_HOWtime_get", _wrap_RinexNavData_HOWtime_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_weeknum_set", _wrap_RinexNavData_weeknum_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_weeknum_get", _wrap_RinexNavData_weeknum_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_codeflgs_set", _wrap_RinexNavData_codeflgs_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_codeflgs_get", _wrap_RinexNavData_codeflgs_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_accuracy_set", _wrap_RinexNavData_accuracy_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_accuracy_get", _wrap_RinexNavData_accuracy_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_health_set", _wrap_RinexNavData_health_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_health_get", _wrap_RinexNavData_health_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_L2Pdata_set", _wrap_RinexNavData_L2Pdata_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_L2Pdata_get", _wrap_RinexNavData_L2Pdata_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_IODC_set", _wrap_RinexNavData_IODC_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_IODC_get", _wrap_RinexNavData_IODC_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_IODE_set", _wrap_RinexNavData_IODE_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_IODE_get", _wrap_RinexNavData_IODE_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Toc_set", _wrap_RinexNavData_Toc_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Toc_get", _wrap_RinexNavData_Toc_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_af0_set", _wrap_RinexNavData_af0_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_af0_get", _wrap_RinexNavData_af0_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_af1_set", _wrap_RinexNavData_af1_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_af1_get", _wrap_RinexNavData_af1_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_af2_set", _wrap_RinexNavData_af2_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_af2_get", _wrap_RinexNavData_af2_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Tgd_set", _wrap_RinexNavData_Tgd_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Tgd_get", _wrap_RinexNavData_Tgd_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Cuc_set", _wrap_RinexNavData_Cuc_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Cuc_get", _wrap_RinexNavData_Cuc_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Cus_set", _wrap_RinexNavData_Cus_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Cus_get", _wrap_RinexNavData_Cus_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Crc_set", _wrap_RinexNavData_Crc_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Crc_get", _wrap_RinexNavData_Crc_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Crs_set", _wrap_RinexNavData_Crs_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Crs_get", _wrap_RinexNavData_Crs_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Cic_set", _wrap_RinexNavData_Cic_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Cic_get", _wrap_RinexNavData_Cic_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Cis_set", _wrap_RinexNavData_Cis_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Cis_get", _wrap_RinexNavData_Cis_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Toe_set", _wrap_RinexNavData_Toe_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Toe_get", _wrap_RinexNavData_Toe_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_M0_set", _wrap_RinexNavData_M0_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_M0_get", _wrap_RinexNavData_M0_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_dn_set", _wrap_RinexNavData_dn_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_dn_get", _wrap_RinexNavData_dn_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_ecc_set", _wrap_RinexNavData_ecc_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_ecc_get", _wrap_RinexNavData_ecc_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Ahalf_set", _wrap_RinexNavData_Ahalf_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_Ahalf_get", _wrap_RinexNavData_Ahalf_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_OMEGA0_set", _wrap_RinexNavData_OMEGA0_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_OMEGA0_get", _wrap_RinexNavData_OMEGA0_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_i0_set", _wrap_RinexNavData_i0_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_i0_get", _wrap_RinexNavData_i0_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_w_set", _wrap_RinexNavData_w_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_w_get", _wrap_RinexNavData_w_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_OMEGAdot_set", _wrap_RinexNavData_OMEGAdot_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_OMEGAdot_get", _wrap_RinexNavData_OMEGAdot_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_idot_set", _wrap_RinexNavData_idot_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_idot_get", _wrap_RinexNavData_idot_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_fitint_set", _wrap_RinexNavData_fitint_set, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_fitint_get", _wrap_RinexNavData_fitint_get, METH_VARARGS, NULL},
+	 { (char *)"RinexNavData_swigregister", RinexNavData_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_SP3Data", _wrap_new_SP3Data, METH_VARARGS, NULL},
+	 { (char *)"delete_SP3Data", _wrap_delete_SP3Data, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_isData", _wrap_SP3Data_isData, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_dump", _wrap_SP3Data_dump, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_flag_set", _wrap_SP3Data_flag_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_flag_get", _wrap_SP3Data_flag_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_id_set", _wrap_SP3Data_id_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_id_get", _wrap_SP3Data_id_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_x_set", _wrap_SP3Data_x_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_x_get", _wrap_SP3Data_x_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_clk_set", _wrap_SP3Data_clk_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_clk_get", _wrap_SP3Data_clk_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_time_set", _wrap_SP3Data_time_set, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_time_get", _wrap_SP3Data_time_get, METH_VARARGS, NULL},
+	 { (char *)"SP3Data_swigregister", SP3Data_swigregister, METH_VARARGS, NULL},
+	 { (char *)"RungeKutta4_integrateTo", _wrap_RungeKutta4_integrateTo, METH_VARARGS, NULL},
+	 { (char *)"RungeKutta4_derivative", _wrap_RungeKutta4_derivative, METH_VARARGS, NULL},
+	 { (char *)"RungeKutta4_getTime", _wrap_RungeKutta4_getTime, METH_VARARGS, NULL},
+	 { (char *)"RungeKutta4_getState", _wrap_RungeKutta4_getState, METH_VARARGS, NULL},
+	 { (char *)"delete_RungeKutta4", _wrap_delete_RungeKutta4, METH_VARARGS, NULL},
+	 { (char *)"RungeKutta4_swigregister", RungeKutta4_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_GeometryException", _wrap_new_GeometryException, METH_VARARGS, NULL},
+	 { (char *)"delete_GeometryException", _wrap_delete_GeometryException, METH_VARARGS, NULL},
+	 { (char *)"GeometryException_getName", _wrap_GeometryException_getName, METH_VARARGS, NULL},
+	 { (char *)"GeometryException_class_operator_assignment", _wrap_GeometryException_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"GeometryException_swigregister", GeometryException_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_Triple", _wrap_new_Triple, METH_VARARGS, NULL},
+	 { (char *)"delete_Triple", _wrap_delete_Triple, METH_VARARGS, NULL},
+	 { (char *)"Triple_class_operator_assignment", _wrap_Triple_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"Triple_dot", _wrap_Triple_dot, METH_VARARGS, NULL},
+	 { (char *)"Triple_cross", _wrap_Triple_cross, METH_VARARGS, NULL},
+	 { (char *)"Triple_mag", _wrap_Triple_mag, METH_VARARGS, NULL},
+	 { (char *)"Triple_cosVector", _wrap_Triple_cosVector, METH_VARARGS, NULL},
+	 { (char *)"Triple_slantRange", _wrap_Triple_slantRange, METH_VARARGS, NULL},
+	 { (char *)"Triple_elvAngle", _wrap_Triple_elvAngle, METH_VARARGS, NULL},
+	 { (char *)"Triple_azAngle", _wrap_Triple_azAngle, METH_VARARGS, NULL},
+	 { (char *)"Triple_class_operator_bracket", _wrap_Triple_class_operator_bracket, METH_VARARGS, NULL},
+	 { (char *)"Triple_operator_bracket_const", _wrap_Triple_operator_bracket_const, METH_VARARGS, NULL},
+	 { (char *)"Triple___sub__", _wrap_Triple___sub__, METH_VARARGS, NULL},
+	 { (char *)"Triple___add__", _wrap_Triple___add__, METH_VARARGS, NULL},
+	 { (char *)"Triple_size", _wrap_Triple_size, METH_VARARGS, NULL},
+	 { (char *)"Triple_streamRead", _wrap_Triple_streamRead, METH_VARARGS, NULL},
+	 { (char *)"Triple_theArray_set", _wrap_Triple_theArray_set, METH_VARARGS, NULL},
+	 { (char *)"Triple_theArray_get", _wrap_Triple_theArray_get, METH_VARARGS, NULL},
+	 { (char *)"Triple_swigregister", Triple_swigregister, METH_VARARGS, NULL},
+	 { (char *)"Position_getSystemName", _wrap_Position_getSystemName, METH_VARARGS, NULL},
+	 { (char *)"Position_setPositionTolerance", _wrap_Position_setPositionTolerance, METH_VARARGS, NULL},
+	 { (char *)"Position_getPositionTolerance", _wrap_Position_getPositionTolerance, METH_VARARGS, NULL},
+	 { (char *)"Position_setTolerance", _wrap_Position_setTolerance, METH_VARARGS, NULL},
+	 { (char *)"new_Position", _wrap_new_Position, METH_VARARGS, NULL},
+	 { (char *)"delete_Position", _wrap_delete_Position, METH_VARARGS, NULL},
+	 { (char *)"Position___sub__", _wrap_Position___sub__, METH_VARARGS, NULL},
+	 { (char *)"Position___add__", _wrap_Position___add__, METH_VARARGS, NULL},
+	 { (char *)"__mul__", _wrap___mul__, METH_VARARGS, NULL},
+	 { (char *)"Position___eq__", _wrap_Position___eq__, METH_VARARGS, NULL},
+	 { (char *)"Position___ne__", _wrap_Position___ne__, METH_VARARGS, NULL},
+	 { (char *)"Position_transformTo", _wrap_Position_transformTo, METH_VARARGS, NULL},
+	 { (char *)"Position_asGeodetic", _wrap_Position_asGeodetic, METH_VARARGS, NULL},
+	 { (char *)"Position_asECEF", _wrap_Position_asECEF, METH_VARARGS, NULL},
+	 { (char *)"Position_X", _wrap_Position_X, METH_VARARGS, NULL},
+	 { (char *)"Position_Y", _wrap_Position_Y, METH_VARARGS, NULL},
+	 { (char *)"Position_Z", _wrap_Position_Z, METH_VARARGS, NULL},
+	 { (char *)"Position_geodeticLatitude", _wrap_Position_geodeticLatitude, METH_VARARGS, NULL},
+	 { (char *)"Position_geocentricLatitude", _wrap_Position_geocentricLatitude, METH_VARARGS, NULL},
+	 { (char *)"Position_theta", _wrap_Position_theta, METH_VARARGS, NULL},
+	 { (char *)"Position_phi", _wrap_Position_phi, METH_VARARGS, NULL},
+	 { (char *)"Position_longitude", _wrap_Position_longitude, METH_VARARGS, NULL},
+	 { (char *)"Position_radius", _wrap_Position_radius, METH_VARARGS, NULL},
+	 { (char *)"Position_height", _wrap_Position_height, METH_VARARGS, NULL},
+	 { (char *)"Position_getCoordinateSystem", _wrap_Position_getCoordinateSystem, METH_VARARGS, NULL},
+	 { (char *)"Position_getGeodeticLatitude", _wrap_Position_getGeodeticLatitude, METH_VARARGS, NULL},
+	 { (char *)"Position_getGeocentricLatitude", _wrap_Position_getGeocentricLatitude, METH_VARARGS, NULL},
+	 { (char *)"Position_getLongitude", _wrap_Position_getLongitude, METH_VARARGS, NULL},
+	 { (char *)"Position_getAltitude", _wrap_Position_getAltitude, METH_VARARGS, NULL},
+	 { (char *)"Position_getHeight", _wrap_Position_getHeight, METH_VARARGS, NULL},
+	 { (char *)"Position_getX", _wrap_Position_getX, METH_VARARGS, NULL},
+	 { (char *)"Position_getY", _wrap_Position_getY, METH_VARARGS, NULL},
+	 { (char *)"Position_getZ", _wrap_Position_getZ, METH_VARARGS, NULL},
+	 { (char *)"Position_getTheta", _wrap_Position_getTheta, METH_VARARGS, NULL},
+	 { (char *)"Position_getPhi", _wrap_Position_getPhi, METH_VARARGS, NULL},
+	 { (char *)"Position_getRadius", _wrap_Position_getRadius, METH_VARARGS, NULL},
+	 { (char *)"Position_setGeoidModel", _wrap_Position_setGeoidModel, METH_VARARGS, NULL},
+	 { (char *)"Position_setGeodetic", _wrap_Position_setGeodetic, METH_VARARGS, NULL},
+	 { (char *)"Position_setGeocentric", _wrap_Position_setGeocentric, METH_VARARGS, NULL},
+	 { (char *)"Position_setSpherical", _wrap_Position_setSpherical, METH_VARARGS, NULL},
+	 { (char *)"Position_setECEF", _wrap_Position_setECEF, METH_VARARGS, NULL},
+	 { (char *)"Position_setToString", _wrap_Position_setToString, METH_VARARGS, NULL},
+	 { (char *)"Position_printf", _wrap_Position_printf, METH_VARARGS, NULL},
+	 { (char *)"Position_printf_const", _wrap_Position_printf_const, METH_VARARGS, NULL},
+	 { (char *)"Position_asString", _wrap_Position_asString, METH_VARARGS, NULL},
+	 { (char *)"Position_convertSphericalToCartesian", _wrap_Position_convertSphericalToCartesian, METH_VARARGS, NULL},
+	 { (char *)"Position_convertCartesianToSpherical", _wrap_Position_convertCartesianToSpherical, METH_VARARGS, NULL},
+	 { (char *)"Position_convertCartesianToGeodetic", _wrap_Position_convertCartesianToGeodetic, METH_VARARGS, NULL},
+	 { (char *)"Position_convertGeodeticToCartesian", _wrap_Position_convertGeodeticToCartesian, METH_VARARGS, NULL},
+	 { (char *)"Position_convertCartesianToGeocentric", _wrap_Position_convertCartesianToGeocentric, METH_VARARGS, NULL},
+	 { (char *)"Position_convertGeocentricToCartesian", _wrap_Position_convertGeocentricToCartesian, METH_VARARGS, NULL},
+	 { (char *)"Position_convertGeocentricToGeodetic", _wrap_Position_convertGeocentricToGeodetic, METH_VARARGS, NULL},
+	 { (char *)"Position_convertGeodeticToGeocentric", _wrap_Position_convertGeodeticToGeocentric, METH_VARARGS, NULL},
+	 { (char *)"range", _wrap_range, METH_VARARGS, NULL},
+	 { (char *)"Position_radiusEarth", _wrap_Position_radiusEarth, METH_VARARGS, NULL},
+	 { (char *)"Position_elevation", _wrap_Position_elevation, METH_VARARGS, NULL},
+	 { (char *)"Position_azimuth", _wrap_Position_azimuth, METH_VARARGS, NULL},
+	 { (char *)"Position_getIonosphericPiercePoint", _wrap_Position_getIonosphericPiercePoint, METH_VARARGS, NULL},
+	 { (char *)"Position_swigregister", Position_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_ECEF", _wrap_new_ECEF, METH_VARARGS, NULL},
+	 { (char *)"delete_ECEF", _wrap_delete_ECEF, METH_VARARGS, NULL},
+	 { (char *)"ECEF_class_operator_assignment", _wrap_ECEF_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"ECEF_asGeodetic", _wrap_ECEF_asGeodetic, METH_VARARGS, NULL},
+	 { (char *)"ECEF_swigregister", ECEF_swigregister, METH_VARARGS, NULL},
+	 { (char *)"GeoidModel_a", _wrap_GeoidModel_a, METH_VARARGS, NULL},
+	 { (char *)"GeoidModel_a_km", _wrap_GeoidModel_a_km, METH_VARARGS, NULL},
+	 { (char *)"GeoidModel_flattening", _wrap_GeoidModel_flattening, METH_VARARGS, NULL},
+	 { (char *)"GeoidModel_eccentricity", _wrap_GeoidModel_eccentricity, METH_VARARGS, NULL},
+	 { (char *)"GeoidModel_eccSquared", _wrap_GeoidModel_eccSquared, METH_VARARGS, NULL},
+	 { (char *)"GeoidModel_angVelocity", _wrap_GeoidModel_angVelocity, METH_VARARGS, NULL},
+	 { (char *)"GeoidModel_gm", _wrap_GeoidModel_gm, METH_VARARGS, NULL},
+	 { (char *)"GeoidModel_gm_km", _wrap_GeoidModel_gm_km, METH_VARARGS, NULL},
+	 { (char *)"GeoidModel_c", _wrap_GeoidModel_c, METH_VARARGS, NULL},
+	 { (char *)"GeoidModel_c_km", _wrap_GeoidModel_c_km, METH_VARARGS, NULL},
+	 { (char *)"delete_GeoidModel", _wrap_delete_GeoidModel, METH_VARARGS, NULL},
+	 { (char *)"GeoidModel_swigregister", GeoidModel_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_Xvt", _wrap_new_Xvt, METH_VARARGS, NULL},
+	 { (char *)"Xvt_x_set", _wrap_Xvt_x_set, METH_VARARGS, NULL},
+	 { (char *)"Xvt_x_get", _wrap_Xvt_x_get, METH_VARARGS, NULL},
+	 { (char *)"Xvt_v_set", _wrap_Xvt_v_set, METH_VARARGS, NULL},
+	 { (char *)"Xvt_v_get", _wrap_Xvt_v_get, METH_VARARGS, NULL},
+	 { (char *)"Xvt_dtime_set", _wrap_Xvt_dtime_set, METH_VARARGS, NULL},
+	 { (char *)"Xvt_dtime_get", _wrap_Xvt_dtime_get, METH_VARARGS, NULL},
+	 { (char *)"Xvt_ddtime_set", _wrap_Xvt_ddtime_set, METH_VARARGS, NULL},
+	 { (char *)"Xvt_ddtime_get", _wrap_Xvt_ddtime_get, METH_VARARGS, NULL},
+	 { (char *)"Xvt_preciseRho", _wrap_Xvt_preciseRho, METH_VARARGS, NULL},
+	 { (char *)"delete_Xvt", _wrap_delete_Xvt, METH_VARARGS, NULL},
+	 { (char *)"Xvt_swigregister", Xvt_swigregister, METH_VARARGS, NULL},
+	 { (char *)"Xvt_streamRead", _wrap_Xvt_streamRead, METH_VARARGS, NULL},
+	 { (char *)"new_NoGeoidException", _wrap_new_NoGeoidException, METH_VARARGS, NULL},
+	 { (char *)"delete_NoGeoidException", _wrap_delete_NoGeoidException, METH_VARARGS, NULL},
+	 { (char *)"NoGeoidException_getName", _wrap_NoGeoidException_getName, METH_VARARGS, NULL},
+	 { (char *)"NoGeoidException_class_operator_assignment", _wrap_NoGeoidException_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"NoGeoidException_swigregister", NoGeoidException_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_Geodetic", _wrap_new_Geodetic, METH_VARARGS, NULL},
+	 { (char *)"delete_Geodetic", _wrap_delete_Geodetic, METH_VARARGS, NULL},
+	 { (char *)"Geodetic_class_operator_assignment", _wrap_Geodetic_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"Geodetic_asECEF", _wrap_Geodetic_asECEF, METH_VARARGS, NULL},
+	 { (char *)"Geodetic_getLatitude", _wrap_Geodetic_getLatitude, METH_VARARGS, NULL},
+	 { (char *)"Geodetic_getLongitude", _wrap_Geodetic_getLongitude, METH_VARARGS, NULL},
+	 { (char *)"Geodetic_getAltitude", _wrap_Geodetic_getAltitude, METH_VARARGS, NULL},
+	 { (char *)"Geodetic_swigregister", Geodetic_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_RAIMSolution", _wrap_new_RAIMSolution, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Compute", _wrap_RAIMSolution_Compute, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_isValid", _wrap_RAIMSolution_isValid, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_RMSLimit_set", _wrap_RAIMSolution_RMSLimit_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_RMSLimit_get", _wrap_RAIMSolution_RMSLimit_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_SlopeLimit_set", _wrap_RAIMSolution_SlopeLimit_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_SlopeLimit_get", _wrap_RAIMSolution_SlopeLimit_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Algebraic_set", _wrap_RAIMSolution_Algebraic_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Algebraic_get", _wrap_RAIMSolution_Algebraic_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_ResidualCriterion_set", _wrap_RAIMSolution_ResidualCriterion_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_ResidualCriterion_get", _wrap_RAIMSolution_ResidualCriterion_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_ReturnAtOnce_set", _wrap_RAIMSolution_ReturnAtOnce_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_ReturnAtOnce_get", _wrap_RAIMSolution_ReturnAtOnce_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_NSatsReject_set", _wrap_RAIMSolution_NSatsReject_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_NSatsReject_get", _wrap_RAIMSolution_NSatsReject_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Debug_set", _wrap_RAIMSolution_Debug_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Debug_get", _wrap_RAIMSolution_Debug_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_pDebugStream_set", _wrap_RAIMSolution_pDebugStream_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_pDebugStream_get", _wrap_RAIMSolution_pDebugStream_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_MaxNIterations_set", _wrap_RAIMSolution_MaxNIterations_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_MaxNIterations_get", _wrap_RAIMSolution_MaxNIterations_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_ConvergenceLimit_set", _wrap_RAIMSolution_ConvergenceLimit_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_ConvergenceLimit_get", _wrap_RAIMSolution_ConvergenceLimit_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Valid_set", _wrap_RAIMSolution_Valid_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Valid_get", _wrap_RAIMSolution_Valid_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Solution_set", _wrap_RAIMSolution_Solution_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Solution_get", _wrap_RAIMSolution_Solution_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Covariance_set", _wrap_RAIMSolution_Covariance_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Covariance_get", _wrap_RAIMSolution_Covariance_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_RMSResidual_set", _wrap_RAIMSolution_RMSResidual_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_RMSResidual_get", _wrap_RAIMSolution_RMSResidual_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_MaxSlope_set", _wrap_RAIMSolution_MaxSlope_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_MaxSlope_get", _wrap_RAIMSolution_MaxSlope_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_NIterations_set", _wrap_RAIMSolution_NIterations_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_NIterations_get", _wrap_RAIMSolution_NIterations_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Convergence_set", _wrap_RAIMSolution_Convergence_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Convergence_get", _wrap_RAIMSolution_Convergence_get, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Nsvs_set", _wrap_RAIMSolution_Nsvs_set, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_Nsvs_get", _wrap_RAIMSolution_Nsvs_get, METH_VARARGS, NULL},
+	 { (char *)"delete_RAIMSolution", _wrap_delete_RAIMSolution, METH_VARARGS, NULL},
+	 { (char *)"RAIMSolution_swigregister", RAIMSolution_swigregister, METH_VARARGS, NULL},
+	 { (char *)"PrepareAutonomousSolution", _wrap_PrepareAutonomousSolution, METH_VARARGS, NULL},
+	 { (char *)"AutonomousPRSolution", _wrap_AutonomousPRSolution, METH_VARARGS, NULL},
+	 { (char *)"new_CorrectedEphemerisRange", _wrap_new_CorrectedEphemerisRange, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_ComputeAtReceiveTime", _wrap_CorrectedEphemerisRange_ComputeAtReceiveTime, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_ComputeAtTransmitTime", _wrap_CorrectedEphemerisRange_ComputeAtTransmitTime, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_rawrange_set", _wrap_CorrectedEphemerisRange_rawrange_set, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_rawrange_get", _wrap_CorrectedEphemerisRange_rawrange_get, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_svclkbias_set", _wrap_CorrectedEphemerisRange_svclkbias_set, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_svclkbias_get", _wrap_CorrectedEphemerisRange_svclkbias_get, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_svclkdrift_set", _wrap_CorrectedEphemerisRange_svclkdrift_set, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_svclkdrift_get", _wrap_CorrectedEphemerisRange_svclkdrift_get, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_relativity_set", _wrap_CorrectedEphemerisRange_relativity_set, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_relativity_get", _wrap_CorrectedEphemerisRange_relativity_get, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_elevation_set", _wrap_CorrectedEphemerisRange_elevation_set, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_elevation_get", _wrap_CorrectedEphemerisRange_elevation_get, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_azimuth_set", _wrap_CorrectedEphemerisRange_azimuth_set, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_azimuth_get", _wrap_CorrectedEphemerisRange_azimuth_get, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_transmit_set", _wrap_CorrectedEphemerisRange_transmit_set, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_transmit_get", _wrap_CorrectedEphemerisRange_transmit_get, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_cosines_set", _wrap_CorrectedEphemerisRange_cosines_set, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_cosines_get", _wrap_CorrectedEphemerisRange_cosines_get, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_svPosVel_set", _wrap_CorrectedEphemerisRange_svPosVel_set, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_svPosVel_get", _wrap_CorrectedEphemerisRange_svPosVel_get, METH_VARARGS, NULL},
+	 { (char *)"delete_CorrectedEphemerisRange", _wrap_delete_CorrectedEphemerisRange, METH_VARARGS, NULL},
+	 { (char *)"CorrectedEphemerisRange_swigregister", CorrectedEphemerisRange_swigregister, METH_VARARGS, NULL},
+	 { (char *)"RelativityCorrection", _wrap_RelativityCorrection, METH_VARARGS, NULL},
+	 { (char *)"new_EngNav", _wrap_new_EngNav, METH_VARARGS, NULL},
+	 { (char *)"delete_EngNav", _wrap_delete_EngNav, METH_VARARGS, NULL},
+	 { (char *)"EngNav_subframeParity", _wrap_EngNav_subframeParity, METH_VARARGS, NULL},
+	 { (char *)"EngNav_subframeConvert", _wrap_EngNav_subframeConvert, METH_VARARGS, NULL},
+	 { (char *)"EngNav_convert8bit", _wrap_EngNav_convert8bit, METH_VARARGS, NULL},
+	 { (char *)"EngNav_convert10bit", _wrap_EngNav_convert10bit, METH_VARARGS, NULL},
+	 { (char *)"EngNav_getSubframePattern", _wrap_EngNav_getSubframePattern, METH_VARARGS, NULL},
+	 { (char *)"EngNav_swigregister", EngNav_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_EngAlmanac", _wrap_new_EngAlmanac, METH_VARARGS, NULL},
+	 { (char *)"delete_EngAlmanac", _wrap_delete_EngAlmanac, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_addSubframe", _wrap_EngAlmanac_addSubframe, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_isData", _wrap_EngAlmanac_isData, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getEcc", _wrap_EngAlmanac_getEcc, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getIOffset", _wrap_EngAlmanac_getIOffset, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getOmegadot", _wrap_EngAlmanac_getOmegadot, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getSVHealth", _wrap_EngAlmanac_getSVHealth, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getAhalf", _wrap_EngAlmanac_getAhalf, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getA", _wrap_EngAlmanac_getA, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getOmega0", _wrap_EngAlmanac_getOmega0, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getW", _wrap_EngAlmanac_getW, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getM0", _wrap_EngAlmanac_getM0, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getAf0", _wrap_EngAlmanac_getAf0, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getAf1", _wrap_EngAlmanac_getAf1, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getToa", _wrap_EngAlmanac_getToa, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getXmitTime", _wrap_EngAlmanac_getXmitTime, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getFullWeek", _wrap_EngAlmanac_getFullWeek, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getIon", _wrap_EngAlmanac_getIon, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getUTC", _wrap_EngAlmanac_getUTC, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getAlmWeek", _wrap_EngAlmanac_getAlmWeek, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getAlmOrbElem", _wrap_EngAlmanac_getAlmOrbElem, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_getAlmOrbElems", _wrap_EngAlmanac_getAlmOrbElems, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_svXvt", _wrap_EngAlmanac_svXvt, METH_VARARGS, NULL},
+	 { (char *)"EngAlmanac_swigregister", EngAlmanac_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_EngEphemeris", _wrap_new_EngEphemeris, METH_VARARGS, NULL},
+	 { (char *)"delete_EngEphemeris", _wrap_delete_EngEphemeris, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_addSubframe", _wrap_EngEphemeris_addSubframe, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_isData", _wrap_EngEphemeris_isData, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_setAccuracy", _wrap_EngEphemeris_setAccuracy, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getFitInterval", _wrap_EngEphemeris_getFitInterval, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getTLMPreamble", _wrap_EngEphemeris_getTLMPreamble, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getTLMMessage", _wrap_EngEphemeris_getTLMMessage, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getEphemerisEpoch", _wrap_EngEphemeris_getEphemerisEpoch, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getEpochTime", _wrap_EngEphemeris_getEpochTime, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getTransmitTime", _wrap_EngEphemeris_getTransmitTime, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getTimestamp", _wrap_EngEphemeris_getTimestamp, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getPRNID", _wrap_EngEphemeris_getPRNID, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getTracker", _wrap_EngEphemeris_getTracker, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getHOWTime", _wrap_EngEphemeris_getHOWTime, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getASAlert", _wrap_EngEphemeris_getASAlert, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getFullWeek", _wrap_EngEphemeris_getFullWeek, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getCodeFlags", _wrap_EngEphemeris_getCodeFlags, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getAccuracy", _wrap_EngEphemeris_getAccuracy, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getAccFlag", _wrap_EngEphemeris_getAccFlag, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getHealth", _wrap_EngEphemeris_getHealth, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getL2Pdata", _wrap_EngEphemeris_getL2Pdata, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getIODC", _wrap_EngEphemeris_getIODC, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getIODE", _wrap_EngEphemeris_getIODE, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getToc", _wrap_EngEphemeris_getToc, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getAf0", _wrap_EngEphemeris_getAf0, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getAf1", _wrap_EngEphemeris_getAf1, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getAf2", _wrap_EngEphemeris_getAf2, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getTgd", _wrap_EngEphemeris_getTgd, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getCus", _wrap_EngEphemeris_getCus, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getCrs", _wrap_EngEphemeris_getCrs, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getCis", _wrap_EngEphemeris_getCis, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getCrc", _wrap_EngEphemeris_getCrc, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getCuc", _wrap_EngEphemeris_getCuc, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getCic", _wrap_EngEphemeris_getCic, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getToe", _wrap_EngEphemeris_getToe, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getM0", _wrap_EngEphemeris_getM0, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getDn", _wrap_EngEphemeris_getDn, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getEcc", _wrap_EngEphemeris_getEcc, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getAhalf", _wrap_EngEphemeris_getAhalf, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getA", _wrap_EngEphemeris_getA, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getOmega0", _wrap_EngEphemeris_getOmega0, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getI0", _wrap_EngEphemeris_getI0, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getW", _wrap_EngEphemeris_getW, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getOmegaDot", _wrap_EngEphemeris_getOmegaDot, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getIDot", _wrap_EngEphemeris_getIDot, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_svXvt", _wrap_EngEphemeris_svXvt, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_svRelativity", _wrap_EngEphemeris_svRelativity, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_svClockBias", _wrap_EngEphemeris_svClockBias, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_svClockDrift", _wrap_EngEphemeris_svClockDrift, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getFitInt", _wrap_EngEphemeris_getFitInt, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_getTot", _wrap_EngEphemeris_getTot, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_setSF1", _wrap_EngEphemeris_setSF1, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_setSF2", _wrap_EngEphemeris_setSF2, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_setSF3", _wrap_EngEphemeris_setSF3, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_dump", _wrap_EngEphemeris_dump, METH_VARARGS, NULL},
+	 { (char *)"EngEphemeris_swigregister", EngEphemeris_swigregister, METH_VARARGS, NULL},
+	 { (char *)"delete_GPSZcount", _wrap_delete_GPSZcount, METH_VARARGS, NULL},
+	 { (char *)"new_GPSZcount", _wrap_new_GPSZcount, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_getWeek", _wrap_GPSZcount_getWeek, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_getZcount", _wrap_GPSZcount_getZcount, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_getFullZcount", _wrap_GPSZcount_getFullZcount, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_getTotalZcounts", _wrap_GPSZcount_getTotalZcounts, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_setWeek", _wrap_GPSZcount_setWeek, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_setZcount", _wrap_GPSZcount_setZcount, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_setFullZcount", _wrap_GPSZcount_setFullZcount, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_addWeeks", _wrap_GPSZcount_addWeeks, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_addZcounts", _wrap_GPSZcount_addZcounts, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount___add__", _wrap_GPSZcount___add__, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount___sub__", _wrap_GPSZcount___sub__, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount___iadd__", _wrap_GPSZcount___iadd__, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount___isub__", _wrap_GPSZcount___isub__, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_class_operator_assignment", _wrap_GPSZcount_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount___lt__", _wrap_GPSZcount___lt__, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount___gt__", _wrap_GPSZcount___gt__, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount___eq__", _wrap_GPSZcount___eq__, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount___ne__", _wrap_GPSZcount___ne__, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount___le__", _wrap_GPSZcount___le__, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount___ge__", _wrap_GPSZcount___ge__, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_operator_std_string", _wrap_GPSZcount_operator_std_string, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_inSameTimeBlock", _wrap_GPSZcount_inSameTimeBlock, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_dump", _wrap_GPSZcount_dump, METH_VARARGS, NULL},
+	 { (char *)"GPSZcount_swigregister", GPSZcount_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_DayTimeException", _wrap_new_DayTimeException, METH_VARARGS, NULL},
+	 { (char *)"delete_DayTimeException", _wrap_delete_DayTimeException, METH_VARARGS, NULL},
+	 { (char *)"DayTimeException_getName", _wrap_DayTimeException_getName, METH_VARARGS, NULL},
+	 { (char *)"DayTimeException_class_operator_assignment", _wrap_DayTimeException_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"DayTimeException_swigregister", DayTimeException_swigregister, METH_VARARGS, NULL},
+	 { (char *)"new_FormatException", _wrap_new_FormatException, METH_VARARGS, NULL},
+	 { (char *)"delete_FormatException", _wrap_delete_FormatException, METH_VARARGS, NULL},
+	 { (char *)"FormatException_getName", _wrap_FormatException_getName, METH_VARARGS, NULL},
+	 { (char *)"FormatException_class_operator_assignment", _wrap_FormatException_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"DayTimeException_streamRead", _wrap_DayTimeException_streamRead, METH_VARARGS, NULL},
+	 { (char *)"FormatException_swigregister", FormatException_swigregister, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setDayTimeTolerance", _wrap_DayTime_setDayTimeTolerance, METH_VARARGS, NULL},
+	 { (char *)"DayTime_getDayTimeTolerance", _wrap_DayTime_getDayTimeTolerance, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setTolerance", _wrap_DayTime_setTolerance, METH_VARARGS, NULL},
+	 { (char *)"DayTime_getTolerance", _wrap_DayTime_getTolerance, METH_VARARGS, NULL},
+	 { (char *)"delete_DayTime", _wrap_delete_DayTime, METH_VARARGS, NULL},
+	 { (char *)"new_DayTime", _wrap_new_DayTime, METH_VARARGS, NULL},
+	 { (char *)"DayTime_class_operator_assignment", _wrap_DayTime_class_operator_assignment, METH_VARARGS, NULL},
+	 { (char *)"DayTime___add__", _wrap_DayTime___add__, METH_VARARGS, NULL},
+	 { (char *)"DayTime___sub__", _wrap_DayTime___sub__, METH_VARARGS, NULL},
+	 { (char *)"DayTime___iadd__", _wrap_DayTime___iadd__, METH_VARARGS, NULL},
+	 { (char *)"DayTime___isub__", _wrap_DayTime___isub__, METH_VARARGS, NULL},
+	 { (char *)"DayTime_addSeconds", _wrap_DayTime_addSeconds, METH_VARARGS, NULL},
+	 { (char *)"DayTime_addMilliSeconds", _wrap_DayTime_addMilliSeconds, METH_VARARGS, NULL},
+	 { (char *)"DayTime_addMicroSeconds", _wrap_DayTime_addMicroSeconds, METH_VARARGS, NULL},
+	 { (char *)"DayTime___eq__", _wrap_DayTime___eq__, METH_VARARGS, NULL},
+	 { (char *)"DayTime___ne__", _wrap_DayTime___ne__, METH_VARARGS, NULL},
+	 { (char *)"DayTime___lt__", _wrap_DayTime___lt__, METH_VARARGS, NULL},
+	 { (char *)"DayTime___gt__", _wrap_DayTime___gt__, METH_VARARGS, NULL},
+	 { (char *)"DayTime___le__", _wrap_DayTime___le__, METH_VARARGS, NULL},
+	 { (char *)"DayTime___ge__", _wrap_DayTime___ge__, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setAllButTimeFrame", _wrap_DayTime_setAllButTimeFrame, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setTimeFrame", _wrap_DayTime_setTimeFrame, METH_VARARGS, NULL},
+	 { (char *)"DayTime_getTimeFrame", _wrap_DayTime_getTimeFrame, METH_VARARGS, NULL},
+	 { (char *)"DayTime_JD", _wrap_DayTime_JD, METH_VARARGS, NULL},
+	 { (char *)"DayTime_MJD", _wrap_DayTime_MJD, METH_VARARGS, NULL},
+	 { (char *)"DayTime_year", _wrap_DayTime_year, METH_VARARGS, NULL},
+	 { (char *)"DayTime_month", _wrap_DayTime_month, METH_VARARGS, NULL},
+	 { (char *)"DayTime_day", _wrap_DayTime_day, METH_VARARGS, NULL},
+	 { (char *)"DayTime_dayOfWeek", _wrap_DayTime_dayOfWeek, METH_VARARGS, NULL},
+	 { (char *)"DayTime_getYMD", _wrap_DayTime_getYMD, METH_VARARGS, NULL},
+	 { (char *)"DayTime_hour", _wrap_DayTime_hour, METH_VARARGS, NULL},
+	 { (char *)"DayTime_minute", _wrap_DayTime_minute, METH_VARARGS, NULL},
+	 { (char *)"DayTime_second", _wrap_DayTime_second, METH_VARARGS, NULL},
+	 { (char *)"DayTime_secOfDay", _wrap_DayTime_secOfDay, METH_VARARGS, NULL},
+	 { (char *)"DayTime_GPS10bitweek", _wrap_DayTime_GPS10bitweek, METH_VARARGS, NULL},
+	 { (char *)"DayTime_GPSzcount", _wrap_DayTime_GPSzcount, METH_VARARGS, NULL},
+	 { (char *)"DayTime_GPSzcountFloor", _wrap_DayTime_GPSzcountFloor, METH_VARARGS, NULL},
+	 { (char *)"DayTime_GPSsecond", _wrap_DayTime_GPSsecond, METH_VARARGS, NULL},
+	 { (char *)"DayTime_GPSsow", _wrap_DayTime_GPSsow, METH_VARARGS, NULL},
+	 { (char *)"DayTime_GPSday", _wrap_DayTime_GPSday, METH_VARARGS, NULL},
+	 { (char *)"DayTime_GPSfullweek", _wrap_DayTime_GPSfullweek, METH_VARARGS, NULL},
+	 { (char *)"DayTime_GPSyear", _wrap_DayTime_GPSyear, METH_VARARGS, NULL},
+	 { (char *)"DayTime_DOYyear", _wrap_DayTime_DOYyear, METH_VARARGS, NULL},
+	 { (char *)"DayTime_DOYday", _wrap_DayTime_DOYday, METH_VARARGS, NULL},
+	 { (char *)"DayTime_DOY", _wrap_DayTime_DOY, METH_VARARGS, NULL},
+	 { (char *)"DayTime_DOYsecond", _wrap_DayTime_DOYsecond, METH_VARARGS, NULL},
+	 { (char *)"DayTime_MJDdate", _wrap_DayTime_MJDdate, METH_VARARGS, NULL},
+	 { (char *)"DayTime_getMJDasLongDouble", _wrap_DayTime_getMJDasLongDouble, METH_VARARGS, NULL},
+	 { (char *)"DayTime_unixTime", _wrap_DayTime_unixTime, METH_VARARGS, NULL},
+	 { (char *)"DayTime_fullZcount", _wrap_DayTime_fullZcount, METH_VARARGS, NULL},
+	 { (char *)"DayTime_fullZcountFloor", _wrap_DayTime_fullZcountFloor, METH_VARARGS, NULL},
+	 { (char *)"DayTime_Operator_GPSZcount", _wrap_DayTime_Operator_GPSZcount, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setYMDHMS", _wrap_DayTime_setYMDHMS, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setGPS", _wrap_DayTime_setGPS, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setGPSfullweek", _wrap_DayTime_setGPSfullweek, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setGPSZcount", _wrap_DayTime_setGPSZcount, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setYDoySod", _wrap_DayTime_setYDoySod, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setMJD", _wrap_DayTime_setMJD, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setMJDdate", _wrap_DayTime_setMJDdate, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setUnix", _wrap_DayTime_setUnix, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setANSI", _wrap_DayTime_setANSI, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setSystemTime", _wrap_DayTime_setSystemTime, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setLocalTime", _wrap_DayTime_setLocalTime, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setYMD", _wrap_DayTime_setYMD, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setHMS", _wrap_DayTime_setHMS, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setSecOfDay", _wrap_DayTime_setSecOfDay, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setYDoy", _wrap_DayTime_setYDoy, METH_VARARGS, NULL},
+	 { (char *)"DayTime_setToString", _wrap_DayTime_setToString, METH_VARARGS, NULL},
+	 { (char *)"DayTime_printf", _wrap_DayTime_printf, METH_VARARGS, NULL},
+	 { (char *)"DayTime_printf_std_string", _wrap_DayTime_printf_std_string, METH_VARARGS, NULL},
+	 { (char *)"DayTime_asString", _wrap_DayTime_asString, METH_VARARGS, NULL},
+	 { (char *)"DayTime_dump", _wrap_DayTime_dump, METH_VARARGS, NULL},
+	 { (char *)"DayTime_convertJDtoCalendar", _wrap_DayTime_convertJDtoCalendar, METH_VARARGS, NULL},
+	 { (char *)"DayTime_convertCalendarToJD", _wrap_DayTime_convertCalendarToJD, METH_VARARGS, NULL},
+	 { (char *)"DayTime_convertSODtoTime", _wrap_DayTime_convertSODtoTime, METH_VARARGS, NULL},
+	 { (char *)"DayTime_convertTimeToSOD", _wrap_DayTime_convertTimeToSOD, METH_VARARGS, NULL},
+	 { (char *)"DayTime_swigregister", DayTime_swigregister, METH_VARARGS, NULL},
+	 { (char *)"__lshift__", _wrap___lshift__, METH_VARARGS, NULL},
+	 { (char *)"new_ObsRngDev", _wrap_new_ObsRngDev, METH_VARARGS, NULL},
+	 { (char *)"delete_ObsRngDev", _wrap_delete_ObsRngDev, METH_VARARGS, NULL},
+	 { (char *)"ObsRngDev_getTime", _wrap_ObsRngDev_getTime, METH_VARARGS, NULL},
+	 { (char *)"ObsRngDev_getPRN", _wrap_ObsRngDev_getPRN, METH_VARARGS, NULL},
+	 { (char *)"ObsRngDev_getAzimuth", _wrap_ObsRngDev_getAzimuth, METH_VARARGS, NULL},
+	 { (char *)"ObsRngDev_getElevation", _wrap_ObsRngDev_getElevation, METH_VARARGS, NULL},
+	 { (char *)"ObsRngDev_getHealth", _wrap_ObsRngDev_getHealth, METH_VARARGS, NULL},
+	 { (char *)"ObsRngDev_getIODC", _wrap_ObsRngDev_getIODC, METH_VARARGS, NULL},
+	 { (char *)"ObsRngDev_getORD", _wrap_ObsRngDev_getORD, METH_VARARGS, NULL},
+	 { (char *)"ObsRngDev_getIono", _wrap_ObsRngDev_getIono, METH_VARARGS, NULL},
+	 { (char *)"ObsRngDev_getTrop", _wrap_ObsRngDev_getTrop, METH_VARARGS, NULL},
+	 { (char *)"ObsRngDev_applyClockOffset", _wrap_ObsRngDev_applyClockOffset, METH_VARARGS, NULL},
+	 { (char *)"ObsRngDev_swigregister", ObsRngDev_swigregister, METH_VARARGS, NULL},
+	 { (char *)"ORDEpoch_removeORD", _wrap_ORDEpoch_removeORD, METH_VARARGS, NULL},
+	 { (char *)"ORDEpoch_applyClockModel", _wrap_ORDEpoch_applyClockModel, METH_VARARGS, NULL},
+	 { (char *)"ORDEpoch_clockOffset_set", _wrap_ORDEpoch_clockOffset_set, METH_VARARGS, NULL},
+	 { (char *)"ORDEpoch_clockOffset_get", _wrap_ORDEpoch_clockOffset_get, METH_VARARGS, NULL},
+	 { (char *)"ORDEpoch_validClock_set", _wrap_ORDEpoch_validClock_set, METH_VARARGS, NULL},
+	 { (char *)"ORDEpoch_validClock_get", _wrap_ORDEpoch_validClock_get, METH_VARARGS, NULL},
+	 { (char *)"ORDEpoch_ords_set", _wrap_ORDEpoch_ords_set, METH_VARARGS, NULL},
+	 { (char *)"ORDEpoch_ords_get", _wrap_ORDEpoch_ords_get, METH_VARARGS, NULL},
+	 { (char *)"ORDEpoch_time_set", _wrap_ORDEpoch_time_set, METH_VARARGS, NULL},
+	 { (char *)"ORDEpoch_time_get", _wrap_ORDEpoch_time_get, METH_VARARGS, NULL},
+	 { (char *)"streamRead", _wrap_streamRead, METH_VARARGS, NULL},
+	 { (char *)"new_ORDEpoch", _wrap_new_ORDEpoch, METH_VARARGS, NULL},
+	 { (char *)"delete_ORDEpoch", _wrap_delete_ORDEpoch, METH_VARARGS, NULL},
+	 { (char *)"ORDEpoch_swigregister", ORDEpoch_swigregister, METH_VARARGS, NULL},
+	 { (char *)"DayTime_streamRead", _wrap_DayTime_streamRead, METH_VARARGS, NULL},
+	 { NULL, NULL, 0, NULL }
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+static void *_p_gpstk__RinexObsHeaderTo_p_gpstk__RinexObsBase(void *x) {
+    return (void *)((gpstk::RinexObsBase *)  ((gpstk::RinexObsHeader *) x));
+}
+static void *_p_gpstk__RinexObsDataTo_p_gpstk__RinexObsBase(void *x) {
+    return (void *)((gpstk::RinexObsBase *)  ((gpstk::RinexObsData *) x));
+}
+static void *_p_gpstk__ECEFTo_p_gpstk__Triple(void *x) {
+    return (void *)((gpstk::Triple *)  ((gpstk::ECEF *) x));
+}
+static void *_p_gpstk__PositionTo_p_gpstk__Triple(void *x) {
+    return (void *)((gpstk::Triple *)  ((gpstk::Position *) x));
+}
+static void *_p_gpstk__GeodeticTo_p_gpstk__Triple(void *x) {
+    return (void *)((gpstk::Triple *)  ((gpstk::Geodetic *) x));
+}
+static void *_p_gpstk__FICDataTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *) (gpstk::FICBase *) ((gpstk::FICData *) x));
+}
+static void *_p_gpstk__RinexNavBaseTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *)  ((gpstk::RinexNavBase *) x));
+}
+static void *_p_gpstk__FICBaseTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *)  ((gpstk::FICBase *) x));
+}
+static void *_p_gpstk__RinexObsDataTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *) (gpstk::RinexObsBase *) ((gpstk::RinexObsData *) x));
+}
+static void *_p_gpstk__FICHeaderTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *) (gpstk::FICBase *) ((gpstk::FICHeader *) x));
+}
+static void *_p_gpstk__SP3HeaderTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *) (gpstk::SP3Base *) ((gpstk::SP3Header *) x));
+}
+static void *_p_gpstk__RinexObsHeaderTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *) (gpstk::RinexObsBase *) ((gpstk::RinexObsHeader *) x));
+}
+static void *_p_gpstk__SP3DataTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *) (gpstk::SP3Base *) ((gpstk::SP3Data *) x));
+}
+static void *_p_gpstk__RinexObsBaseTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *)  ((gpstk::RinexObsBase *) x));
+}
+static void *_p_gpstk__RinexMetDataTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *) (gpstk::RinexMetBase *) ((gpstk::RinexMetData *) x));
+}
+static void *_p_gpstk__RinexMetHeaderTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *) (gpstk::RinexMetBase *) ((gpstk::RinexMetHeader *) x));
+}
+static void *_p_gpstk__RinexNavHeaderTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *) (gpstk::RinexNavBase *) ((gpstk::RinexNavHeader *) x));
+}
+static void *_p_gpstk__RinexNavDataTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *) (gpstk::RinexNavBase *) ((gpstk::RinexNavData *) x));
+}
+static void *_p_gpstk__SP3BaseTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *)  ((gpstk::SP3Base *) x));
+}
+static void *_p_gpstk__RinexMetBaseTo_p_gpstk__FFData(void *x) {
+    return (void *)((gpstk::FFData *)  ((gpstk::RinexMetBase *) x));
+}
+static void *_p_gpstk__ZeroTropModelTo_p_gpstk__TropModel(void *x) {
+    return (void *)((gpstk::TropModel *)  ((gpstk::ZeroTropModel *) x));
+}
+static void *_p_gpstk__SimpleTropModelTo_p_gpstk__TropModel(void *x) {
+    return (void *)((gpstk::TropModel *)  ((gpstk::SimpleTropModel *) x));
+}
+static void *_p_gpstk__GGTropModelTo_p_gpstk__TropModel(void *x) {
+    return (void *)((gpstk::TropModel *)  ((gpstk::GGTropModel *) x));
+}
+static void *_p_gpstk__GGHeightTropModelTo_p_gpstk__TropModel(void *x) {
+    return (void *)((gpstk::TropModel *)  ((gpstk::GGHeightTropModel *) x));
+}
+static void *_p_gpstk__NBTropModelTo_p_gpstk__TropModel(void *x) {
+    return (void *)((gpstk::TropModel *)  ((gpstk::NBTropModel *) x));
+}
+static void *_p_gpstk__AccessErrorTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AccessError *) x));
+}
+static void *_p_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_istream<char > *) ((std::basic_iostream<char,std::char_traits<char > > *) x));
+}
+static void *_p_gpstk__InvalidParameterTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidParameter *) x));
+}
+static void *_p_gpstk__OutOfMemoryTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::OutOfMemory *) x));
+}
+static void *_p_gpstk__WrongBlockNumberTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockNumber *) x));
+}
+static void *_p_std__basic_iosTchar_std__char_traitsTchar_t_tTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *)  ((std::basic_ios<char,std::char_traits<char > > *) x));
+}
+static void *_p_std__basic_istreamTchar_std__char_traitsTchar_t_tTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *) ((std::basic_istream<char,std::char_traits<char > > *) x));
+}
+static void *_p_std__basic_ostreamTchar_std__char_traitsTchar_t_tTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *) ((std::basic_ostream<char,std::char_traits<char > > *) x));
+}
+static void *_p_gpstk__InvalidValueTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidValue *) x));
+}
+static void *_p_gpstk__WrongBlockFormatTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockFormat *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__SystemSemaphoreExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemSemaphoreException *) x));
+}
+static void *_p_gpstk__FileMissingExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileMissingException *) x));
+}
+static void *_p_gpstk__ConfigurationExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::ConfigurationException *) x));
+}
+static void *_p_gpstk__InvalidArgumentExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidArgumentException *) x));
+}
+static void *_p_gpstk__IndexOutOfBoundsExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::IndexOutOfBoundsException *) x));
+}
+static void *_p_gpstk__ExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *) ((gpstk::Exception *) x));
+}
+static void *_p_gpstk__SystemPipeExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemPipeException *) x));
+}
+static void *_p_gpstk__SystemQueueExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemQueueException *) x));
+}
+static void *_p_gpstk__FileHunterExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileHunterException *) x));
+}
+static void *_p_gpstk__GeometryExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::GeometryException *) x));
+}
+static void *_p_gpstk__NoGeoidExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::NoGeoidException *) x));
+}
+static void *_p_DayTimeExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((DayTimeException *) x));
+}
+static void *_p_FormatExceptionTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((FormatException *) x));
+}
+static void *_p_gpstk__InvalidRequestTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidRequest *) x));
+}
+static void *_p_gpstk__AssertionFailureTo_p_std__ios_base(void *x) {
+    return (void *)((std::ios_base *) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AssertionFailure *) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__AccessErrorTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AccessError &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_istream<char > *) ((std::basic_iostream<char,std::char_traits<char > > &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__InvalidParameterTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidParameter &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__OutOfMemoryTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::OutOfMemory &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__WrongBlockNumberTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockNumber &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_tTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &))  ((std::basic_ios<char,std::char_traits<char > > &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *) ((std::basic_istream<char,std::char_traits<char > > &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *) ((std::basic_ostream<char,std::char_traits<char > > &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__InvalidValueTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidValue &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__WrongBlockFormatTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockFormat &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__ObjectNotFoundTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__SystemSemaphoreExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemSemaphoreException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__FileMissingExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileMissingException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__ConfigurationExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::ConfigurationException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__InvalidArgumentExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidArgumentException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::IndexOutOfBoundsException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__ExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *) ((gpstk::Exception &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__SystemPipeExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemPipeException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__SystemQueueExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemQueueException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__FileHunterExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileHunterException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__GeometryExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::GeometryException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__NoGeoidExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::NoGeoidException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_DayTimeExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((DayTimeException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_FormatExceptionTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((FormatException &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__InvalidRequestTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidRequest &(*)(std::ios_base &)) x));
+}
+static void *_p_f_r_std__ios_base__r_gpstk__AssertionFailureTo_p_f_r_std__ios_base__r_std__ios_base(void *x) {
+    return (void *)((std::ios_base &(*)(std::ios_base &)) (std::basic_ios<char > *)(std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AssertionFailure &(*)(std::ios_base &)) x));
+}
+static void *_p_gpstk__AccessErrorTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::AccessError *) x));
+}
+static void *_p_gpstk__InvalidParameterTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::InvalidParameter *) x));
+}
+static void *_p_gpstk__OutOfMemoryTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::OutOfMemory *) x));
+}
+static void *_p_gpstk__WrongBlockNumberTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::WrongBlockNumber *) x));
+}
+static void *_p_gpstk__InvalidValueTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::InvalidValue *) x));
+}
+static void *_p_gpstk__WrongBlockFormatTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::WrongBlockFormat *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *) (gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__SystemQueueExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::SystemQueueException *) x));
+}
+static void *_p_gpstk__SystemPipeExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::SystemPipeException *) x));
+}
+static void *_p_gpstk__SystemSemaphoreExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::SystemSemaphoreException *) x));
+}
+static void *_p_gpstk__FileMissingExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::FileMissingException *) x));
+}
+static void *_p_gpstk__ConfigurationExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::ConfigurationException *) x));
+}
+static void *_p_gpstk__InvalidArgumentExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::InvalidArgumentException *) x));
+}
+static void *_p_gpstk__IndexOutOfBoundsExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::IndexOutOfBoundsException *) x));
+}
+static void *_p_gpstk__FileHunterExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::FileHunterException *) x));
+}
+static void *_p_gpstk__GeometryExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::GeometryException *) x));
+}
+static void *_p_gpstk__NoGeoidExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::NoGeoidException *) x));
+}
+static void *_p_DayTimeExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((DayTimeException *) x));
+}
+static void *_p_FormatExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((FormatException *) x));
+}
+static void *_p_gpstk__InvalidRequestTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::InvalidRequest *) x));
+}
+static void *_p_gpstk__AssertionFailureTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::AssertionFailure *) x));
+}
+static void *_p_std__logic_errorTo_p_std__exception(void *x) {
+    return (void *)((std::exception *)  ((std::logic_error *) x));
+}
+static void *_p_std__runtime_errorTo_p_std__exception(void *x) {
+    return (void *)((std::exception *)  ((std::runtime_error *) x));
+}
+static void *_p_std__range_errorTo_p_std__exception(void *x) {
+    return (void *)((std::exception *) (std::runtime_error *) ((std::range_error *) x));
+}
+static void *_p_std__overflow_errorTo_p_std__exception(void *x) {
+    return (void *)((std::exception *) (std::runtime_error *) ((std::overflow_error *) x));
+}
+static void *_p_std__underflow_errorTo_p_std__exception(void *x) {
+    return (void *)((std::exception *) (std::runtime_error *) ((std::underflow_error *) x));
+}
+static void *_p_std__bad_exceptionTo_p_std__exception(void *x) {
+    return (void *)((std::exception *)  ((std::bad_exception *) x));
+}
+static void *_p_std__domain_errorTo_p_std__exception(void *x) {
+    return (void *)((std::exception *) (std::logic_error *) ((std::domain_error *) x));
+}
+static void *_p_std__length_errorTo_p_std__exception(void *x) {
+    return (void *)((std::exception *) (std::logic_error *) ((std::length_error *) x));
+}
+static void *_p_std__out_of_rangeTo_p_std__exception(void *x) {
+    return (void *)((std::exception *) (std::logic_error *) ((std::out_of_range *) x));
+}
+static void *_p_std__invalid_argumentTo_p_std__exception(void *x) {
+    return (void *)((std::exception *) (std::logic_error *) ((std::invalid_argument *) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessErrorTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::AccessError &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &))  ((std::basic_iostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameterTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::InvalidParameter &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemoryTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::OutOfMemory &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumberTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::WrongBlockNumber &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValueTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::InvalidValue &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormatTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::WrongBlockFormat &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFoundTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::SystemQueueException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::SystemPipeException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::SystemSemaphoreException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::FileMissingException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::ConfigurationException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::InvalidArgumentException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::IndexOutOfBoundsException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &))  ((gpstk::Exception &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::FileHunterException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::GeometryException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::NoGeoidException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((DayTimeException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatExceptionTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((FormatException &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequestTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::InvalidRequest &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailureTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)) (gpstk::Exception *) ((gpstk::AssertionFailure &(*)(std::basic_ostream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_istream<char,std::char_traits<char > > &(*)(std::basic_istream<char,std::char_traits<char > > &))  ((std::basic_iostream<char,std::char_traits<char > > &(*)(std::basic_istream<char,std::char_traits<char > > &)) x));
+}
+static void *_p_gpstk__TabularEphemerisStoreTo_p_gpstk__EphemerisStore(void *x) {
+    return (void *)((gpstk::EphemerisStore *)  ((gpstk::TabularEphemerisStore *) x));
+}
+static void *_p_gpstk__BCEphemerisStoreTo_p_gpstk__EphemerisStore(void *x) {
+    return (void *)((gpstk::EphemerisStore *)  ((gpstk::BCEphemerisStore *) x));
+}
+static void *_p_gpstk__RinexEphemerisStoreTo_p_gpstk__EphemerisStore(void *x) {
+    return (void *)((gpstk::EphemerisStore *) (gpstk::BCEphemerisStore *) ((gpstk::RinexEphemerisStore *) x));
+}
+static void *_p_gpstk__SP3EphemerisStoreTo_p_gpstk__EphemerisStore(void *x) {
+    return (void *)((gpstk::EphemerisStore *) (gpstk::TabularEphemerisStore *) ((gpstk::SP3EphemerisStore *) x));
+}
+static void *_p_gpstk__RinexEphemerisStoreTo_p_gpstk__BCEphemerisStore(void *x) {
+    return (void *)((gpstk::BCEphemerisStore *)  ((gpstk::RinexEphemerisStore *) x));
+}
+static void *_p_gpstk__SP3EphemerisStoreTo_p_gpstk__TabularEphemerisStore(void *x) {
+    return (void *)((gpstk::TabularEphemerisStore *)  ((gpstk::SP3EphemerisStore *) x));
+}
+static void *_p_gpstk__AccessErrorTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::AccessError *) x));
+}
+static void *_p_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *)  ((std::basic_iostream<char,std::char_traits<char > > *) x));
+}
+static void *_p_gpstk__InvalidParameterTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::InvalidParameter *) x));
+}
+static void *_p_gpstk__OutOfMemoryTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::OutOfMemory *) x));
+}
+static void *_p_gpstk__WrongBlockNumberTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::WrongBlockNumber *) x));
+}
+static void *_p_gpstk__InvalidValueTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::InvalidValue *) x));
+}
+static void *_p_gpstk__WrongBlockFormatTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::WrongBlockFormat *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__SystemQueueExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::SystemQueueException *) x));
+}
+static void *_p_gpstk__SystemPipeExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::SystemPipeException *) x));
+}
+static void *_p_gpstk__SystemSemaphoreExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::SystemSemaphoreException *) x));
+}
+static void *_p_gpstk__FileMissingExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::FileMissingException *) x));
+}
+static void *_p_gpstk__ConfigurationExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::ConfigurationException *) x));
+}
+static void *_p_gpstk__InvalidArgumentExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::InvalidArgumentException *) x));
+}
+static void *_p_gpstk__IndexOutOfBoundsExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::IndexOutOfBoundsException *) x));
+}
+static void *_p_gpstk__ExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *)  ((gpstk::Exception *) x));
+}
+static void *_p_gpstk__FileHunterExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::FileHunterException *) x));
+}
+static void *_p_gpstk__GeometryExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::GeometryException *) x));
+}
+static void *_p_gpstk__NoGeoidExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::NoGeoidException *) x));
+}
+static void *_p_DayTimeExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((DayTimeException *) x));
+}
+static void *_p_FormatExceptionTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((FormatException *) x));
+}
+static void *_p_gpstk__InvalidRequestTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::InvalidRequest *) x));
+}
+static void *_p_gpstk__AssertionFailureTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ostream<char,std::char_traits<char > > *) (gpstk::Exception *) ((gpstk::AssertionFailure *) x));
+}
+static void *_p_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_std__basic_istreamTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_istream<char,std::char_traits<char > > *)  ((std::basic_iostream<char,std::char_traits<char > > *) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessErrorTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AccessError &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_istream<char > *) ((std::basic_iostream<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameterTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidParameter &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemoryTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::OutOfMemory &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumberTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockNumber &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &))  ((std::basic_istream<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_tTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &))  ((std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValueTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidValue &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormatTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockFormat &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFoundTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemPipeException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemSemaphoreException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileMissingException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::ConfigurationException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidArgumentException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::IndexOutOfBoundsException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *) ((gpstk::Exception &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemQueueException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileHunterException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::GeometryException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::NoGeoidException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((DayTimeException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatExceptionTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((FormatException &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequestTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidRequest &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailureTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AssertionFailure &(*)(std::basic_ios<char,std::char_traits<char > > &)) x));
+}
+static void *_p_gpstk__EngEphemerisTo_p_gpstk__EngNav(void *x) {
+    return (void *)((gpstk::EngNav *)  ((gpstk::EngEphemeris *) x));
+}
+static void *_p_gpstk__EngAlmanacTo_p_gpstk__EngNav(void *x) {
+    return (void *)((gpstk::EngNav *)  ((gpstk::EngAlmanac *) x));
+}
+static void *_p_gpstk__RinexMetDataTo_p_gpstk__RinexMetBase(void *x) {
+    return (void *)((gpstk::RinexMetBase *)  ((gpstk::RinexMetData *) x));
+}
+static void *_p_gpstk__RinexMetHeaderTo_p_gpstk__RinexMetBase(void *x) {
+    return (void *)((gpstk::RinexMetBase *)  ((gpstk::RinexMetHeader *) x));
+}
+static void *_p_gpstk__EpochClockModelTo_p_gpstk__ObsClockModel(void *x) {
+    return (void *)((gpstk::ObsClockModel *)  ((gpstk::EpochClockModel *) x));
+}
+static void *_p_gpstk__LinearClockModelTo_p_gpstk__ObsClockModel(void *x) {
+    return (void *)((gpstk::ObsClockModel *)  ((gpstk::LinearClockModel *) x));
+}
+static void *_p_gpstk__ObsClockModelTo_p_gpstk__ClockModel(void *x) {
+    return (void *)((gpstk::ClockModel *)  ((gpstk::ObsClockModel *) x));
+}
+static void *_p_gpstk__EpochClockModelTo_p_gpstk__ClockModel(void *x) {
+    return (void *)((gpstk::ClockModel *) (gpstk::ObsClockModel *) ((gpstk::EpochClockModel *) x));
+}
+static void *_p_gpstk__LinearClockModelTo_p_gpstk__ClockModel(void *x) {
+    return (void *)((gpstk::ClockModel *) (gpstk::ObsClockModel *) ((gpstk::LinearClockModel *) x));
+}
+static void *_p_gpstk__FICStreamTo_p_gpstk__FICStreamBase(void *x) {
+    return (void *)((gpstk::FICStreamBase *)  ((gpstk::FICStream *) x));
+}
+static void *_p_gpstk__FICAStreamTo_p_gpstk__FICStreamBase(void *x) {
+    return (void *)((gpstk::FICStreamBase *)  ((gpstk::FICAStream *) x));
+}
+static void *_p_gpstk__AccessErrorTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AccessError *) x));
+}
+static void *_p_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_istream<char > *) ((std::basic_iostream<char,std::char_traits<char > > *) x));
+}
+static void *_p_gpstk__InvalidParameterTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidParameter *) x));
+}
+static void *_p_gpstk__OutOfMemoryTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::OutOfMemory *) x));
+}
+static void *_p_gpstk__WrongBlockNumberTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockNumber *) x));
+}
+static void *_p_std__basic_istreamTchar_std__char_traitsTchar_t_tTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *)  ((std::basic_istream<char,std::char_traits<char > > *) x));
+}
+static void *_p_std__basic_ostreamTchar_std__char_traitsTchar_t_tTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *)  ((std::basic_ostream<char,std::char_traits<char > > *) x));
+}
+static void *_p_gpstk__InvalidValueTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidValue *) x));
+}
+static void *_p_gpstk__WrongBlockFormatTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::WrongBlockFormat *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__SystemPipeExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemPipeException *) x));
+}
+static void *_p_gpstk__SystemSemaphoreExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemSemaphoreException *) x));
+}
+static void *_p_gpstk__FileMissingExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileMissingException *) x));
+}
+static void *_p_gpstk__ConfigurationExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::ConfigurationException *) x));
+}
+static void *_p_gpstk__InvalidArgumentExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidArgumentException *) x));
+}
+static void *_p_gpstk__IndexOutOfBoundsExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::IndexOutOfBoundsException *) x));
+}
+static void *_p_gpstk__ExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *) ((gpstk::Exception *) x));
+}
+static void *_p_gpstk__SystemQueueExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::SystemQueueException *) x));
+}
+static void *_p_gpstk__FileHunterExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::FileHunterException *) x));
+}
+static void *_p_gpstk__GeometryExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::GeometryException *) x));
+}
+static void *_p_gpstk__NoGeoidExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::NoGeoidException *) x));
+}
+static void *_p_DayTimeExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((DayTimeException *) x));
+}
+static void *_p_FormatExceptionTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((FormatException *) x));
+}
+static void *_p_gpstk__InvalidRequestTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::InvalidRequest *) x));
+}
+static void *_p_gpstk__AssertionFailureTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t(void *x) {
+    return (void *)((std::basic_ios<char,std::char_traits<char > > *) (std::basic_ostream<char > *)(gpstk::Exception *) ((gpstk::AssertionFailure *) x));
+}
+static void *_p_std__range_errorTo_p_std__runtime_error(void *x) {
+    return (void *)((std::runtime_error *)  ((std::range_error *) x));
+}
+static void *_p_std__overflow_errorTo_p_std__runtime_error(void *x) {
+    return (void *)((std::runtime_error *)  ((std::overflow_error *) x));
+}
+static void *_p_std__underflow_errorTo_p_std__runtime_error(void *x) {
+    return (void *)((std::runtime_error *)  ((std::underflow_error *) x));
+}
+static void *_p_std__domain_errorTo_p_std__logic_error(void *x) {
+    return (void *)((std::logic_error *)  ((std::domain_error *) x));
+}
+static void *_p_std__length_errorTo_p_std__logic_error(void *x) {
+    return (void *)((std::logic_error *)  ((std::length_error *) x));
+}
+static void *_p_std__out_of_rangeTo_p_std__logic_error(void *x) {
+    return (void *)((std::logic_error *)  ((std::out_of_range *) x));
+}
+static void *_p_std__invalid_argumentTo_p_std__logic_error(void *x) {
+    return (void *)((std::logic_error *)  ((std::invalid_argument *) x));
+}
+static void *_p_gpstk__RinexEphemerisStoreTo_p_gpstk__FileStoreTgpstk__RinexNavHeader_t(void *x) {
+    return (void *)((gpstk::FileStore<gpstk::RinexNavHeader > *)  ((gpstk::RinexEphemerisStore *) x));
+}
+static void *_p_gpstk__SP3EphemerisStoreTo_p_gpstk__FileStoreTgpstk__SP3Header_t(void *x) {
+    return (void *)((gpstk::FileStore<gpstk::SP3Header > *)  ((gpstk::SP3EphemerisStore *) x));
+}
+static void *_p_gpstk__RinexNavHeaderTo_p_gpstk__RinexNavBase(void *x) {
+    return (void *)((gpstk::RinexNavBase *)  ((gpstk::RinexNavHeader *) x));
+}
+static void *_p_gpstk__RinexNavDataTo_p_gpstk__RinexNavBase(void *x) {
+    return (void *)((gpstk::RinexNavBase *)  ((gpstk::RinexNavData *) x));
+}
+static void *_p_gpstk__FFBinaryStreamTo_p_gpstk__FFStream(void *x) {
+    return (void *)((gpstk::FFStream *)  ((gpstk::FFBinaryStream *) x));
+}
+static void *_p_gpstk__FICStreamTo_p_gpstk__FFStream(void *x) {
+    return (void *)((gpstk::FFStream *) (gpstk::FFBinaryStream *) ((gpstk::FICStream *) x));
+}
+static void *_p_gpstk__FICAStreamTo_p_gpstk__FFStream(void *x) {
+    return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::FICAStream *) x));
+}
+static void *_p_gpstk__MSCStreamTo_p_gpstk__FFStream(void *x) {
+    return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::MSCStream *) x));
+}
+static void *_p_gpstk__SP3StreamTo_p_gpstk__FFStream(void *x) {
+    return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::SP3Stream *) x));
+}
+static void *_p_gpstk__RinexObsStreamTo_p_gpstk__FFStream(void *x) {
+    return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::RinexObsStream *) x));
+}
+static void *_p_gpstk__FFTextStreamTo_p_gpstk__FFStream(void *x) {
+    return (void *)((gpstk::FFStream *)  ((gpstk::FFTextStream *) x));
+}
+static void *_p_gpstk__RinexMetStreamTo_p_gpstk__FFStream(void *x) {
+    return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::RinexMetStream *) x));
+}
+static void *_p_gpstk__RinexNavStreamTo_p_gpstk__FFStream(void *x) {
+    return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::RinexNavStream *) x));
+}
+static void *_p_gpstk__SMODFStreamTo_p_gpstk__FFStream(void *x) {
+    return (void *)((gpstk::FFStream *) (gpstk::FFTextStream *) ((gpstk::SMODFStream *) x));
+}
+static void *_p_gpstk__FICAStreamTo_p_gpstk__FFTextStream(void *x) {
+    return (void *)((gpstk::FFTextStream *)  ((gpstk::FICAStream *) x));
+}
+static void *_p_gpstk__MSCStreamTo_p_gpstk__FFTextStream(void *x) {
+    return (void *)((gpstk::FFTextStream *)  ((gpstk::MSCStream *) x));
+}
+static void *_p_gpstk__SP3StreamTo_p_gpstk__FFTextStream(void *x) {
+    return (void *)((gpstk::FFTextStream *)  ((gpstk::SP3Stream *) x));
+}
+static void *_p_gpstk__RinexObsStreamTo_p_gpstk__FFTextStream(void *x) {
+    return (void *)((gpstk::FFTextStream *)  ((gpstk::RinexObsStream *) x));
+}
+static void *_p_gpstk__RinexMetStreamTo_p_gpstk__FFTextStream(void *x) {
+    return (void *)((gpstk::FFTextStream *)  ((gpstk::RinexMetStream *) x));
+}
+static void *_p_gpstk__RinexNavStreamTo_p_gpstk__FFTextStream(void *x) {
+    return (void *)((gpstk::FFTextStream *)  ((gpstk::RinexNavStream *) x));
+}
+static void *_p_gpstk__SMODFStreamTo_p_gpstk__FFTextStream(void *x) {
+    return (void *)((gpstk::FFTextStream *)  ((gpstk::SMODFStream *) x));
+}
+static void *_p_gpstk__FICStreamTo_p_gpstk__FFBinaryStream(void *x) {
+    return (void *)((gpstk::FFBinaryStream *)  ((gpstk::FICStream *) x));
+}
+static void *_p_gpstk__SP3DataTo_p_gpstk__SP3Base(void *x) {
+    return (void *)((gpstk::SP3Base *)  ((gpstk::SP3Data *) x));
+}
+static void *_p_gpstk__SP3HeaderTo_p_gpstk__SP3Base(void *x) {
+    return (void *)((gpstk::SP3Base *)  ((gpstk::SP3Header *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_gpstk__AccessError(void *x) {
+    return (void *)((gpstk::AccessError *)  ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__FICDataTo_p_gpstk__FICBase(void *x) {
+    return (void *)((gpstk::FICBase *)  ((gpstk::FICData *) x));
+}
+static void *_p_gpstk__FICHeaderTo_p_gpstk__FICBase(void *x) {
+    return (void *)((gpstk::FICBase *)  ((gpstk::FICHeader *) x));
+}
+static swig_type_info _swigt__p_DayTimeException = {"_p_DayTimeException", "DayTimeException *", 0, 0, 0};
+static swig_type_info _swigt__p_EndOfFile = {"_p_EndOfFile", "EndOfFile *", 0, 0, 0};
+static swig_type_info _swigt__p_ExtraWaveFact = {"_p_ExtraWaveFact", "ExtraWaveFact *", 0, 0, 0};
+static swig_type_info _swigt__p_FFStreamError = {"_p_FFStreamError", "FFStreamError *", 0, 0, 0};
+static swig_type_info _swigt__p_FileSpec = {"_p_FileSpec", "FileSpec *", 0, 0, 0};
+static swig_type_info _swigt__p_FileSpec__FileSpecSortType = {"_p_FileSpec__FileSpecSortType", "FileSpec::FileSpecSortType *", 0, 0, 0};
+static swig_type_info _swigt__p_FileSpec__FileSpecType = {"_p_FileSpec__FileSpecType", "FileSpec::FileSpecType *", 0, 0, 0};
+static swig_type_info _swigt__p_FilterPair = {"_p_FilterPair", "FilterPair *", 0, 0, 0};
+static swig_type_info _swigt__p_FormatException = {"_p_FormatException", "FormatException *", 0, 0, 0};
+static swig_type_info _swigt__p_InvalidIonoModel = {"_p_InvalidIonoModel", "InvalidIonoModel *", 0, 0, 0};
+static swig_type_info _swigt__p_InvalidTropModel = {"_p_InvalidTropModel", "InvalidTropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_MatrixTdouble_t = {"_p_MatrixTdouble_t", "Matrix<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_NoAlmanacFound = {"_p_NoAlmanacFound", "NoAlmanacFound *", 0, 0, 0};
+static swig_type_info _swigt__p_NoEphemerisFound = {"_p_NoEphemerisFound", "NoEphemerisFound *", 0, 0, 0};
+static swig_type_info _swigt__p_NoIonoModelFound = {"_p_NoIonoModelFound", "NoIonoModelFound *", 0, 0, 0};
+static swig_type_info _swigt__p_ORDMap = {"_p_ORDMap", "ORDMap *", 0, 0, 0};
+static swig_type_info _swigt__p_PRNModeMap = {"_p_PRNModeMap", "PRNModeMap *", 0, 0, 0};
+static swig_type_info _swigt__p_PRNStatusMap = {"_p_PRNStatusMap", "PRNStatusMap *", 0, 0, 0};
+static swig_type_info _swigt__p_RinexDatum = {"_p_RinexDatum", "RinexDatum *", 0, 0, 0};
+static swig_type_info _swigt__p_RinexMetMap = {"_p_RinexMetMap", "RinexMetMap *", 0, 0, 0};
+static swig_type_info _swigt__p_RinexMetType = {"_p_RinexMetType", "RinexMetType *", 0, 0, 0};
+static swig_type_info _swigt__p_RinexObsType = {"_p_RinexObsType", "RinexObsType *|gpstk::RinexObsHeader::RinexObsType *", 0, 0, 0};
+static swig_type_info _swigt__p_RinexObsTypeMap = {"_p_RinexObsTypeMap", "RinexObsTypeMap *", 0, 0, 0};
+static swig_type_info _swigt__p_RinexPrnMap = {"_p_RinexPrnMap", "RinexPrnMap *", 0, 0, 0};
+static swig_type_info _swigt__p_SVBitsMap = {"_p_SVBitsMap", "SVBitsMap *", 0, 0, 0};
+static swig_type_info _swigt__p_SVNotPresentException = {"_p_SVNotPresentException", "SVNotPresentException *", 0, 0, 0};
+static swig_type_info _swigt__p_StatsTdouble_t = {"_p_StatsTdouble_t", "Stats<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_StringUtils__StringException = {"_p_StringUtils__StringException", "StringUtils::StringException *", 0, 0, 0};
+static swig_type_info _swigt__p_VectorTbool_t = {"_p_VectorTbool_t", "Vector<bool > *", 0, 0, 0};
+static swig_type_info _swigt__p_VectorTdouble_t = {"_p_VectorTdouble_t", "Vector<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_allocator_type = {"_p_allocator_type", "allocator_type *", 0, 0, 0};
+static swig_type_info _swigt__p_bool = {"_p_bool", "bool *", 0, 0, 0};
+static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, 0};
+static swig_type_info _swigt__p_char_type = {"_p_char_type", "char_type *", 0, 0, 0};
+static swig_type_info _swigt__p_codeType = {"_p_codeType", "codeType *", 0, 0, 0};
+static swig_type_info _swigt__p_difference_type = {"_p_difference_type", "difference_type *", 0, 0, 0};
+static swig_type_info _swigt__p_double = {"_p_double", "double *", 0, 0, 0};
+static swig_type_info _swigt__p_f_enum_std__ios_base__event_r_std__ios_base_int__void = {"_p_f_enum_std__ios_base__event_r_std__ios_base_int__void", "void (*)(enum std::ios_base::event,std::ios_base &,int)|std::ios_base::event_callback", 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t", "std::basic_ios<char,std::char_traits<char > > &(*)(std::basic_ios<char,std::char_traits<char > > &)", 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure = {"_p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t", "std::basic_istream<char,std::char_traits<char > > &(*)(std::basic_istream<char,std::char_traits<char > > &)", 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t", "std::basic_ostream<char,std::char_traits<char > > &(*)(std::basic_ostream<char,std::char_traits<char > > &)", 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure = {"_p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_std__ios_base = {"_p_f_r_std__ios_base__r_std__ios_base", "std::ios_base &(*)(std::ios_base &)", 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__AccessError = {"_p_f_r_std__ios_base__r_gpstk__AccessError", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__InvalidParameter = {"_p_f_r_std__ios_base__r_gpstk__InvalidParameter", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockNumber = {"_p_f_r_std__ios_base__r_gpstk__WrongBlockNumber", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__OutOfMemory = {"_p_f_r_std__ios_base__r_gpstk__OutOfMemory", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException = {"_p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockFormat = {"_p_f_r_std__ios_base__r_gpstk__WrongBlockFormat", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__ConfigurationException = {"_p_f_r_std__ios_base__r_gpstk__ConfigurationException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__InvalidValue = {"_p_f_r_std__ios_base__r_gpstk__InvalidValue", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__ObjectNotFound = {"_p_f_r_std__ios_base__r_gpstk__ObjectNotFound", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__Exception = {"_p_f_r_std__ios_base__r_gpstk__Exception", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__SystemPipeException = {"_p_f_r_std__ios_base__r_gpstk__SystemPipeException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__FileHunterException = {"_p_f_r_std__ios_base__r_gpstk__FileHunterException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__GeometryException = {"_p_f_r_std__ios_base__r_gpstk__GeometryException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__NoGeoidException = {"_p_f_r_std__ios_base__r_gpstk__NoGeoidException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_DayTimeException = {"_p_f_r_std__ios_base__r_DayTimeException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_FormatException = {"_p_f_r_std__ios_base__r_FormatException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException = {"_p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__InvalidRequest = {"_p_f_r_std__ios_base__r_gpstk__InvalidRequest", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t = {"_p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__InvalidArgumentException = {"_p_f_r_std__ios_base__r_gpstk__InvalidArgumentException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__FileMissingException = {"_p_f_r_std__ios_base__r_gpstk__FileMissingException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__SystemQueueException = {"_p_f_r_std__ios_base__r_gpstk__SystemQueueException", 0, 0, 0, 0};
+static swig_type_info _swigt__p_f_r_std__ios_base__r_gpstk__AssertionFailure = {"_p_f_r_std__ios_base__r_gpstk__AssertionFailure", 0, 0, 0, 0};
+static swig_type_info _swigt__p_first_type = {"_p_first_type", "first_type *", 0, 0, 0};
+static swig_type_info _swigt__p_float = {"_p_float", "float *", 0, 0, 0};
+static swig_type_info _swigt__p_fmtflags = {"_p_fmtflags", "fmtflags *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__AccessError = {"_p_gpstk__AccessError", "gpstk::AccessError *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__AlmOrbit = {"_p_gpstk__AlmOrbit", "gpstk::AlmOrbit *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__AlmanacStore = {"_p_gpstk__AlmanacStore", "gpstk::AlmanacStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__AssertionFailure = {"_p_gpstk__AssertionFailure", "gpstk::AssertionFailure *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__BCEphemerisStore = {"_p_gpstk__BCEphemerisStore", "gpstk::BCEphemerisStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ClockModel = {"_p_gpstk__ClockModel", "gpstk::ClockModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__CodeBuffer = {"_p_gpstk__CodeBuffer", "gpstk::CodeBuffer *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ConfigurationException = {"_p_gpstk__ConfigurationException", "gpstk::ConfigurationException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__CorrectedEphemerisRange = {"_p_gpstk__CorrectedEphemerisRange", "gpstk::CorrectedEphemerisRange *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__DayTime = {"_p_gpstk__DayTime", "gpstk::DayTime *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ECEF = {"_p_gpstk__ECEF", "gpstk::ECEF *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__EngAlmanac = {"_p_gpstk__EngAlmanac", "gpstk::EngAlmanac *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__EngEphemeris = {"_p_gpstk__EngEphemeris", "gpstk::EngEphemeris *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__EngNav = {"_p_gpstk__EngNav", "gpstk::EngNav *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__EphemerisStore = {"_p_gpstk__EphemerisStore", "gpstk::EphemerisStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__EpochClockModel = {"_p_gpstk__EpochClockModel", "gpstk::EpochClockModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__Exception = {"_p_gpstk__Exception", "gpstk::Exception *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ExceptionLocation = {"_p_gpstk__ExceptionLocation", "gpstk::ExceptionLocation *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FFBinaryStream = {"_p_gpstk__FFBinaryStream", "gpstk::FFBinaryStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FFData = {"_p_gpstk__FFData", "gpstk::FFData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FFStream = {"_p_gpstk__FFStream", "gpstk::FFStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FFTextStream = {"_p_gpstk__FFTextStream", "gpstk::FFTextStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FICAStream = {"_p_gpstk__FICAStream", "gpstk::FICAStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FICBase = {"_p_gpstk__FICBase", "gpstk::FICBase *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FICData = {"_p_gpstk__FICData", "gpstk::FICData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FICHeader = {"_p_gpstk__FICHeader", "gpstk::FICHeader *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FICStream = {"_p_gpstk__FICStream", "gpstk::FICStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FICStreamBase = {"_p_gpstk__FICStreamBase", "gpstk::FICStreamBase *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FileHunter = {"_p_gpstk__FileHunter", "gpstk::FileHunter *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FileHunterException = {"_p_gpstk__FileHunterException", "gpstk::FileHunterException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FileMissingException = {"_p_gpstk__FileMissingException", "gpstk::FileMissingException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FileStoreTgpstk__RinexNavHeader_t = {"_p_gpstk__FileStoreTgpstk__RinexNavHeader_t", "gpstk::FileStore<RinexNavHeader > *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__FileStoreTgpstk__SP3Header_t = {"_p_gpstk__FileStoreTgpstk__SP3Header_t", "gpstk::FileStore<SP3Header > *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__GGHeightTropModel = {"_p_gpstk__GGHeightTropModel", "gpstk::GGHeightTropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__GGTropModel = {"_p_gpstk__GGTropModel", "gpstk::GGTropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__GPSZcount = {"_p_gpstk__GPSZcount", "gpstk::GPSZcount *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__GenXSequence = {"_p_gpstk__GenXSequence", "gpstk::GenXSequence *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__Geodetic = {"_p_gpstk__Geodetic", "gpstk::Geodetic *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__GeoidModel = {"_p_gpstk__GeoidModel", "gpstk::GeoidModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__GeometryException = {"_p_gpstk__GeometryException", "gpstk::GeometryException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__IndexOutOfBoundsException = {"_p_gpstk__IndexOutOfBoundsException", "gpstk::IndexOutOfBoundsException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__InvalidArgumentException = {"_p_gpstk__InvalidArgumentException", "gpstk::InvalidArgumentException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__InvalidParameter = {"_p_gpstk__InvalidParameter", "gpstk::InvalidParameter *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__InvalidRequest = {"_p_gpstk__InvalidRequest", "gpstk::InvalidRequest *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__InvalidValue = {"_p_gpstk__InvalidValue", "gpstk::InvalidValue *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__IonoModel = {"_p_gpstk__IonoModel", "gpstk::IonoModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__IonoModelStore = {"_p_gpstk__IonoModelStore", "gpstk::IonoModelStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__LinearClockModel = {"_p_gpstk__LinearClockModel", "gpstk::LinearClockModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__MSCStream = {"_p_gpstk__MSCStream", "gpstk::MSCStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__MatrixTdouble_t = {"_p_gpstk__MatrixTdouble_t", "gpstk::Matrix<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__NBTropModel = {"_p_gpstk__NBTropModel", "gpstk::NBTropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__NoGeoidException = {"_p_gpstk__NoGeoidException", "gpstk::NoGeoidException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ORDEpoch = {"_p_gpstk__ORDEpoch", "gpstk::ORDEpoch *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ObjectNotFound = {"_p_gpstk__ObjectNotFound", "gpstk::ObjectNotFound *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ObsClockModel = {"_p_gpstk__ObsClockModel", "gpstk::ObsClockModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ObsEpoch = {"_p_gpstk__ObsEpoch", "gpstk::ObsEpoch *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ObsRngDev = {"_p_gpstk__ObsRngDev", "gpstk::ObsRngDev *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__Observation = {"_p_gpstk__Observation", "gpstk::Observation *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ObservationPlus = {"_p_gpstk__ObservationPlus", "gpstk::ObservationPlus *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__OutOfMemory = {"_p_gpstk__OutOfMemory", "gpstk::OutOfMemory *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__Position = {"_p_gpstk__Position", "gpstk::Position *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RAIMSolution = {"_p_gpstk__RAIMSolution", "gpstk::RAIMSolution *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexEphemerisStore = {"_p_gpstk__RinexEphemerisStore", "gpstk::RinexEphemerisStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexMetBase = {"_p_gpstk__RinexMetBase", "gpstk::RinexMetBase *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexMetData = {"_p_gpstk__RinexMetData", "gpstk::RinexMetData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexMetHeader = {"_p_gpstk__RinexMetHeader", "gpstk::RinexMetHeader *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexMetStream = {"_p_gpstk__RinexMetStream", "gpstk::RinexMetStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexNavBase = {"_p_gpstk__RinexNavBase", "gpstk::RinexNavBase *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexNavData = {"_p_gpstk__RinexNavData", "gpstk::RinexNavData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexNavHeader = {"_p_gpstk__RinexNavHeader", "gpstk::RinexNavHeader *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexNavStream = {"_p_gpstk__RinexNavStream", "gpstk::RinexNavStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexObsBase = {"_p_gpstk__RinexObsBase", "gpstk::RinexObsBase *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexObsData = {"_p_gpstk__RinexObsData", "gpstk::RinexObsData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexObsData__RinexPrnMap__iterator = {"_p_gpstk__RinexObsData__RinexPrnMap__iterator", "RinexObsData::RinexPrnMap::iterator *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexObsHeader = {"_p_gpstk__RinexObsHeader", "gpstk::RinexObsHeader *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexObsStream = {"_p_gpstk__RinexObsStream", "gpstk::RinexObsStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RinexPrn = {"_p_gpstk__RinexPrn", "gpstk::RinexPrn *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RungeKutta4 = {"_p_gpstk__RungeKutta4", "gpstk::RungeKutta4 *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__RxObsData = {"_p_gpstk__RxObsData", "gpstk::RxObsData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SMODFStream = {"_p_gpstk__SMODFStream", "gpstk::SMODFStream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SP3Base = {"_p_gpstk__SP3Base", "gpstk::SP3Base *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SP3Data = {"_p_gpstk__SP3Data", "gpstk::SP3Data *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SP3EphemerisStore = {"_p_gpstk__SP3EphemerisStore", "gpstk::SP3EphemerisStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SP3Header = {"_p_gpstk__SP3Header", "gpstk::SP3Header *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SP3Stream = {"_p_gpstk__SP3Stream", "gpstk::SP3Stream *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SVPCodeGen = {"_p_gpstk__SVPCodeGen", "gpstk::SVPCodeGen *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SatID = {"_p_gpstk__SatID", "gpstk::SatID *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SimpleTropModel = {"_p_gpstk__SimpleTropModel", "gpstk::SimpleTropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__StringUtils__StringException = {"_p_gpstk__StringUtils__StringException", "gpstk::StringUtils::StringException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SystemPipeException = {"_p_gpstk__SystemPipeException", "gpstk::SystemPipeException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SystemQueueException = {"_p_gpstk__SystemQueueException", "gpstk::SystemQueueException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__SystemSemaphoreException = {"_p_gpstk__SystemSemaphoreException", "gpstk::SystemSemaphoreException *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__TabularEphemerisStore = {"_p_gpstk__TabularEphemerisStore", "gpstk::TabularEphemerisStore *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__Triple = {"_p_gpstk__Triple", "gpstk::Triple *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__TropModel = {"_p_gpstk__TropModel", "gpstk::TropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTchar_t = {"_p_gpstk__ValidTypeTchar_t", "gpstk::ValidType<char > *|gpstk::vchar *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTdouble_t = {"_p_gpstk__ValidTypeTdouble_t", "gpstk::ValidType<double > *|gpstk::vdouble *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTfloat_t = {"_p_gpstk__ValidTypeTfloat_t", "gpstk::ValidType<float > *|gpstk::vfloat *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTint_t = {"_p_gpstk__ValidTypeTint_t", "gpstk::ValidType<int > *|gpstk::vint *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTlong_t = {"_p_gpstk__ValidTypeTlong_t", "gpstk::ValidType<long > *|gpstk::vlong *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTshort_t = {"_p_gpstk__ValidTypeTshort_t", "gpstk::ValidType<short > *|gpstk::vshort *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTunsigned_char_t = {"_p_gpstk__ValidTypeTunsigned_char_t", "gpstk::ValidType<unsigned char > *|gpstk::vuchar *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTunsigned_int_t = {"_p_gpstk__ValidTypeTunsigned_int_t", "gpstk::ValidType<unsigned int > *|gpstk::vuint *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTunsigned_long_t = {"_p_gpstk__ValidTypeTunsigned_long_t", "gpstk::ValidType<unsigned long > *|gpstk::vulong *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ValidTypeTunsigned_short_t = {"_p_gpstk__ValidTypeTunsigned_short_t", "gpstk::ValidType<unsigned short > *|gpstk::vushort *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__WrongBlockFormat = {"_p_gpstk__WrongBlockFormat", "gpstk::WrongBlockFormat *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__WrongBlockNumber = {"_p_gpstk__WrongBlockNumber", "gpstk::WrongBlockNumber *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__WxObsData = {"_p_gpstk__WxObsData", "gpstk::WxObsData *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__WxObservation = {"_p_gpstk__WxObservation", "gpstk::WxObservation *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__X1Sequence = {"_p_gpstk__X1Sequence", "gpstk::X1Sequence *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__X2Sequence = {"_p_gpstk__X2Sequence", "gpstk::X2Sequence *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__Xvt = {"_p_gpstk__Xvt", "gpstk::Xvt *", 0, 0, 0};
+static swig_type_info _swigt__p_gpstk__ZeroTropModel = {"_p_gpstk__ZeroTropModel", "gpstk::ZeroTropModel *", 0, 0, 0};
+static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, 0};
+static swig_type_info _swigt__p_int_type = {"_p_int_type", "int_type *", 0, 0, 0};
+static swig_type_info _swigt__p_iostate = {"_p_iostate", "iostate *", 0, 0, 0};
+static swig_type_info _swigt__p_key_type = {"_p_key_type", "key_type *", 0, 0, 0};
+static swig_type_info _swigt__p_long = {"_p_long", "long *", 0, 0, 0};
+static swig_type_info _swigt__p_long_double = {"_p_long_double", "long double *", 0, 0, 0};
+static swig_type_info _swigt__p_long_long = {"_p_long_long", "long long *", 0, 0, 0};
+static swig_type_info _swigt__p_mapped_type = {"_p_mapped_type", "mapped_type *", 0, 0, 0};
+static swig_type_info _swigt__p_off_type = {"_p_off_type", "off_type *", 0, 0, 0};
+static swig_type_info _swigt__p_openmode = {"_p_openmode", "openmode *", 0, 0, 0};
+static swig_type_info _swigt__p_p_void = {"_p_p_void", "void **", 0, 0, 0};
+static swig_type_info _swigt__p_pos_type = {"_p_pos_type", "pos_type *", 0, 0, 0};
+static swig_type_info _swigt__p_second_type = {"_p_second_type", "second_type *", 0, 0, 0};
+static swig_type_info _swigt__p_seekdir = {"_p_seekdir", "seekdir *", 0, 0, 0};
+static swig_type_info _swigt__p_sensorPosType = {"_p_sensorPosType", "sensorPosType *", 0, 0, 0};
+static swig_type_info _swigt__p_sensorType = {"_p_sensorType", "sensorType *", 0, 0, 0};
+static swig_type_info _swigt__p_short = {"_p_short", "short *", 0, 0, 0};
+static swig_type_info _swigt__p_size_t = {"_p_size_t", "size_t *|std::streamsize *", 0, 0, 0};
+static swig_type_info _swigt__p_size_type = {"_p_size_type", "size_type *", 0, 0, 0};
+static swig_type_info _swigt__p_state_type = {"_p_state_type", "state_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__bad_exception = {"_p_std__bad_exception", "std::bad_exception *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_iosTchar_std__char_traitsTchar_t_t = {"_p_std__basic_iosTchar_std__char_traitsTchar_t_t", "std::basic_ios<char > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t = {"_p_std__basic_iostreamTchar_std__char_traitsTchar_t_t", "std::basic_iostream<char > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t = {"_p_std__basic_istreamTchar_std__char_traitsTchar_t_t", "std::basic_istream<char,std::char_traits<char > > *|std::istream *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type = {"_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type", "char *|std::basic_istream<char >::char_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type = {"_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type", "streamoff *|std::basic_istream<char >::off_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type = {"_p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type", "streampos *|std::basic_istream<char >::pos_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t = {"_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t", "std::basic_ostream<char,std::char_traits<char > > *|std::ostream *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type = {"_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type", "streamoff *|std::basic_ostream<char >::off_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type = {"_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type", "streampos *|std::basic_ostream<char >::pos_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_streambufTchar_std__char_traitsTchar_t_t = {"_p_std__basic_streambufTchar_std__char_traitsTchar_t_t", "std::basic_streambuf<char,std::char_traits<char > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t = {"_p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t", "std::basic_string<char,std::char_traits<char >,std::allocator<char > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__domain_error = {"_p_std__domain_error", "std::domain_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__exception = {"_p_std__exception", "std::exception *", 0, 0, 0};
+static swig_type_info _swigt__p_std__invalid_argument = {"_p_std__invalid_argument", "std::invalid_argument *", 0, 0, 0};
+static swig_type_info _swigt__p_std__ios__openmode = {"_p_std__ios__openmode", "std::ios::openmode *", 0, 0, 0};
+static swig_type_info _swigt__p_std__ios_base = {"_p_std__ios_base", "std::ios_base *", 0, 0, 0};
+static swig_type_info _swigt__p_std__length_error = {"_p_std__length_error", "std::length_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__listTdouble_t = {"_p_std__listTdouble_t", "std::list<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__listTgpstk__EngEphemeris_t = {"_p_std__listTgpstk__EngEphemeris_t", "std::list<EngEphemeris > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__locale = {"_p_std__locale", "std::locale *", 0, 0, 0};
+static swig_type_info _swigt__p_std__logic_error = {"_p_std__logic_error", "std::logic_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t = {"_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t", "std::map<RinexObsType,RinexDatum > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type = {"_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type", "std::allocator<std::pair<RinexObsType const,RinexDatum > > *|std::map<RinexObsType,RinexDatum >::allocator_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type = {"_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type", "RinexObsType *|std::map<RinexObsType,RinexDatum >::key_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type = {"_p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type", "RinexDatum *|std::map<RinexObsType,RinexDatum >::mapped_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t = {"_p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t", "std::map<gpstk::DayTime,gpstk::ObsEpoch,std::less<gpstk::DayTime >,std::allocator<std::pair<gpstk::DayTime const,gpstk::ObsEpoch > > > *|gpstk::ObsEpochMap *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t = {"_p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t", "std::map<gpstk::DayTime,gpstk::WxObservation,std::less<gpstk::DayTime >,std::allocator<std::pair<gpstk::DayTime const,gpstk::WxObservation > > > *|gpstk::WxObsM [...]
+static swig_type_info _swigt__p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t = {"_p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t", "std::map<enum gpstk::RinexMetHeader::RinexMetType,double,std::less<enum gpstk::RinexMetHea [...]
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type = {"_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type", "std::allocator<std::pair<gpstk::RinexPrn const,std::map<Ri [...]
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type = {"_p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type", "gpstk::RinexPrn *|std::map<RinexPrn,RinexObsData::RinexObsTypeMap >::k [...]
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t = {"_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t", "std::map<RinexPrn,int > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type = {"_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type", "std::allocator<std::pair<gpstk::RinexPrn const,int > > *|std::map<RinexPrn,int >::allocator_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type = {"_p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type", "gpstk::RinexPrn *|std::map<RinexPrn,int >::key_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t = {"_p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTR [...]
+static swig_type_info _swigt__p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t = {"_p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t", "std::map<gpstk::RinexPrn,std::vector<int,std::allocator<int > >,std::less<gpstk::R [...]
+static swig_type_info _swigt__p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t = {"_p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t", "std::map<short,gpstk::AlmOrbit,std::less<short >,std::allocator<std::pair<short const,gpstk::AlmOrbit > > > *|gpstk::AlmOrbits *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t = {"_p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t", "std::map<short,enum gpstk::ObsClockModel::PRNMode,std::less<short >,std::allocator<std::pair<short const,enum gpstk::ObsClockModel::PRNMode > > > *|gpstk::ObsClockModel::PRNModeM [...]
+static swig_type_info _swigt__p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t = {"_p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t", "std::map<short,enum gpstk::ObsClockModel::PRNStatus,std::less<short >,std::allocator<std::pair<short const,enum gpstk::ObsClockModel::PRNStatus > > > *|gpstk::ObsClockMod [...]
+static swig_type_info _swigt__p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t = {"_p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t", "std::map<short,gpstk::ObsRngDev,std::less<short >,std::allocator<std::pair<short const,gpstk::ObsRngDev > > > *|gpstk::ORDEpoch::ORDMap *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t = {"_p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t", "std::map<short,gpstk::Observation,std::less<short >,std::allocator<std::pair<short const,gpstk::Observation > > > *|gpstk::ObsMap *", 0, 0, 0};
+static swig_type_info _swigt__p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t = {"_p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t", "std::map<short,short,std::less<short >,std::allocator<std::pair<short const,short > > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__out_of_range = {"_p_std__out_of_range", "std::out_of_range *", 0, 0, 0};
+static swig_type_info _swigt__p_std__overflow_error = {"_p_std__overflow_error", "std::overflow_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__range_error = {"_p_std__range_error", "std::range_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__runtime_error = {"_p_std__runtime_error", "std::runtime_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__setTshort_t = {"_p_std__setTshort_t", "std::set<short > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__string = {"_p_std__string", "std::string *", 0, 0, 0};
+static swig_type_info _swigt__p_std__underflow_error = {"_p_std__underflow_error", "std::underflow_error *", 0, 0, 0};
+static swig_type_info _swigt__p_std__valarrayTdouble_t = {"_p_std__valarrayTdouble_t", "std::valarray<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t = {"_p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t", "std::vector<ExtraWaveFact,std::allocator<ExtraWaveFact > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t = {"_p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t", "std::vector<RinexObsType,std::allocator<RinexObsType > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTchar_std__allocatorTchar_t_t = {"_p_std__vectorTchar_std__allocatorTchar_t_t", "std::vector<char,std::allocator<char > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t = {"_p_std__vectorTdouble_std__allocatorTdouble_t_t", "std::vector<double > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type = {"_p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type", "std::allocator<double > *|std::vector<double >::allocator_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t = {"_p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t", "std::vector<enum gpstk::RinexMetHeader::RinexMetType,std::allocator<enum gpstk::RinexMetHeader::RinexMetType > > *|std::vector<gpstk::RinexMetHeader::RinexMetType,std::allocator<gpstk::RinexMetHeader::RinexMetType > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t = {"_p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t", "std::vector<gpstk::RinexPrn > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTint_std__allocatorTint_t_t = {"_p_std__vectorTint_std__allocatorTint_t_t", "std::vector<int > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTint_std__allocatorTint_t_t__allocator_type = {"_p_std__vectorTint_std__allocatorTint_t_t__allocator_type", "std::allocator<int > *|std::vector<int >::allocator_type *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTlong_std__allocatorTlong_t_t = {"_p_std__vectorTlong_std__allocatorTlong_t_t", "std::vector<long,std::allocator<long > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t = {"_p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t", "std::vector<sensorPosType,std::allocator<sensorPosType > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTsensorType_std__allocatorTsensorType_t_t = {"_p_std__vectorTsensorType_std__allocatorTsensorType_t_t", "std::vector<sensorType,std::allocator<sensorType > > *", 0, 0, 0};
+static swig_type_info _swigt__p_std__vectorTstd__string_std__allocatorTstd__string_t_t = {"_p_std__vectorTstd__string_std__allocatorTstd__string_t_t", "std::vector<std::string,std::allocator<std::string > > *", 0, 0, 0};
+static swig_type_info _swigt__p_time_t = {"_p_time_t", "time_t *", 0, 0, 0};
+static swig_type_info _swigt__p_timeval = {"_p_timeval", "timeval *", 0, 0, 0};
+static swig_type_info _swigt__p_traits_type = {"_p_traits_type", "traits_type *", 0, 0, 0};
+static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *", 0, 0, 0};
+static swig_type_info _swigt__p_unsigned_long = {"_p_unsigned_long", "unsigned long *", 0, 0, 0};
+static swig_type_info _swigt__p_unsigned_long_long = {"_p_unsigned_long_long", "unsigned long long *", 0, 0, 0};
+static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "unsigned short *", 0, 0, 0};
+static swig_type_info _swigt__p_value_type = {"_p_value_type", "value_type *", 0, 0, 0};
+static swig_type_info _swigt__ptrdiff_t = {"_ptrdiff_t", "ptrdiff_t", 0, 0, 0};
+static swig_type_info _swigt__size_t = {"_size_t", "size_t", 0, 0, 0};
+static swig_type_info _swigt__std__ptrdiff_t = {"_std__ptrdiff_t", "std::ptrdiff_t", 0, 0, 0};
+static swig_type_info _swigt__std__size_t = {"_std__size_t", "std::size_t", 0, 0, 0};
+
+static swig_type_info *swig_type_initial[] = {
+  &_swigt__p_DayTimeException,
+  &_swigt__p_EndOfFile,
+  &_swigt__p_ExtraWaveFact,
+  &_swigt__p_FFStreamError,
+  &_swigt__p_FileSpec,
+  &_swigt__p_FileSpec__FileSpecSortType,
+  &_swigt__p_FileSpec__FileSpecType,
+  &_swigt__p_FilterPair,
+  &_swigt__p_FormatException,
+  &_swigt__p_InvalidIonoModel,
+  &_swigt__p_InvalidTropModel,
+  &_swigt__p_MatrixTdouble_t,
+  &_swigt__p_NoAlmanacFound,
+  &_swigt__p_NoEphemerisFound,
+  &_swigt__p_NoIonoModelFound,
+  &_swigt__p_ORDMap,
+  &_swigt__p_PRNModeMap,
+  &_swigt__p_PRNStatusMap,
+  &_swigt__p_RinexDatum,
+  &_swigt__p_RinexMetMap,
+  &_swigt__p_RinexMetType,
+  &_swigt__p_RinexObsType,
+  &_swigt__p_RinexObsTypeMap,
+  &_swigt__p_RinexPrnMap,
+  &_swigt__p_SVBitsMap,
+  &_swigt__p_SVNotPresentException,
+  &_swigt__p_StatsTdouble_t,
+  &_swigt__p_StringUtils__StringException,
+  &_swigt__p_VectorTbool_t,
+  &_swigt__p_VectorTdouble_t,
+  &_swigt__p_allocator_type,
+  &_swigt__p_bool,
+  &_swigt__p_char,
+  &_swigt__p_char_type,
+  &_swigt__p_codeType,
+  &_swigt__p_difference_type,
+  &_swigt__p_double,
+  &_swigt__p_f_enum_std__ios_base__event_r_std__ios_base_int__void,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest,
+  &_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure,
+  &_swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest,
+  &_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure,
+  &_swigt__p_f_r_std__ios_base__r_std__ios_base,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__AccessError,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__InvalidParameter,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockNumber,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__OutOfMemory,
+  &_swigt__p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockFormat,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__ConfigurationException,
+  &_swigt__p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__InvalidValue,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__ObjectNotFound,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__Exception,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__SystemPipeException,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__FileHunterException,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__GeometryException,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__NoGeoidException,
+  &_swigt__p_f_r_std__ios_base__r_DayTimeException,
+  &_swigt__p_f_r_std__ios_base__r_FormatException,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__InvalidRequest,
+  &_swigt__p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__InvalidArgumentException,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__FileMissingException,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__SystemQueueException,
+  &_swigt__p_f_r_std__ios_base__r_gpstk__AssertionFailure,
+  &_swigt__p_first_type,
+  &_swigt__p_float,
+  &_swigt__p_fmtflags,
+  &_swigt__p_gpstk__AccessError,
+  &_swigt__p_gpstk__AlmOrbit,
+  &_swigt__p_gpstk__AlmanacStore,
+  &_swigt__p_gpstk__AssertionFailure,
+  &_swigt__p_gpstk__BCEphemerisStore,
+  &_swigt__p_gpstk__ClockModel,
+  &_swigt__p_gpstk__CodeBuffer,
+  &_swigt__p_gpstk__ConfigurationException,
+  &_swigt__p_gpstk__CorrectedEphemerisRange,
+  &_swigt__p_gpstk__DayTime,
+  &_swigt__p_gpstk__ECEF,
+  &_swigt__p_gpstk__EngAlmanac,
+  &_swigt__p_gpstk__EngEphemeris,
+  &_swigt__p_gpstk__EngNav,
+  &_swigt__p_gpstk__EphemerisStore,
+  &_swigt__p_gpstk__EpochClockModel,
+  &_swigt__p_gpstk__Exception,
+  &_swigt__p_gpstk__ExceptionLocation,
+  &_swigt__p_gpstk__FFBinaryStream,
+  &_swigt__p_gpstk__FFData,
+  &_swigt__p_gpstk__FFStream,
+  &_swigt__p_gpstk__FFTextStream,
+  &_swigt__p_gpstk__FICAStream,
+  &_swigt__p_gpstk__FICBase,
+  &_swigt__p_gpstk__FICData,
+  &_swigt__p_gpstk__FICHeader,
+  &_swigt__p_gpstk__FICStream,
+  &_swigt__p_gpstk__FICStreamBase,
+  &_swigt__p_gpstk__FileHunter,
+  &_swigt__p_gpstk__FileHunterException,
+  &_swigt__p_gpstk__FileMissingException,
+  &_swigt__p_gpstk__FileStoreTgpstk__RinexNavHeader_t,
+  &_swigt__p_gpstk__FileStoreTgpstk__SP3Header_t,
+  &_swigt__p_gpstk__GGHeightTropModel,
+  &_swigt__p_gpstk__GGTropModel,
+  &_swigt__p_gpstk__GPSZcount,
+  &_swigt__p_gpstk__GenXSequence,
+  &_swigt__p_gpstk__Geodetic,
+  &_swigt__p_gpstk__GeoidModel,
+  &_swigt__p_gpstk__GeometryException,
+  &_swigt__p_gpstk__IndexOutOfBoundsException,
+  &_swigt__p_gpstk__InvalidArgumentException,
+  &_swigt__p_gpstk__InvalidParameter,
+  &_swigt__p_gpstk__InvalidRequest,
+  &_swigt__p_gpstk__InvalidValue,
+  &_swigt__p_gpstk__IonoModel,
+  &_swigt__p_gpstk__IonoModelStore,
+  &_swigt__p_gpstk__LinearClockModel,
+  &_swigt__p_gpstk__MSCStream,
+  &_swigt__p_gpstk__MatrixTdouble_t,
+  &_swigt__p_gpstk__NBTropModel,
+  &_swigt__p_gpstk__NoGeoidException,
+  &_swigt__p_gpstk__ORDEpoch,
+  &_swigt__p_gpstk__ObjectNotFound,
+  &_swigt__p_gpstk__ObsClockModel,
+  &_swigt__p_gpstk__ObsEpoch,
+  &_swigt__p_gpstk__ObsRngDev,
+  &_swigt__p_gpstk__Observation,
+  &_swigt__p_gpstk__ObservationPlus,
+  &_swigt__p_gpstk__OutOfMemory,
+  &_swigt__p_gpstk__Position,
+  &_swigt__p_gpstk__RAIMSolution,
+  &_swigt__p_gpstk__RinexEphemerisStore,
+  &_swigt__p_gpstk__RinexMetBase,
+  &_swigt__p_gpstk__RinexMetData,
+  &_swigt__p_gpstk__RinexMetHeader,
+  &_swigt__p_gpstk__RinexMetStream,
+  &_swigt__p_gpstk__RinexNavBase,
+  &_swigt__p_gpstk__RinexNavData,
+  &_swigt__p_gpstk__RinexNavHeader,
+  &_swigt__p_gpstk__RinexNavStream,
+  &_swigt__p_gpstk__RinexObsBase,
+  &_swigt__p_gpstk__RinexObsData,
+  &_swigt__p_gpstk__RinexObsData__RinexPrnMap__iterator,
+  &_swigt__p_gpstk__RinexObsHeader,
+  &_swigt__p_gpstk__RinexObsStream,
+  &_swigt__p_gpstk__RinexPrn,
+  &_swigt__p_gpstk__RungeKutta4,
+  &_swigt__p_gpstk__RxObsData,
+  &_swigt__p_gpstk__SMODFStream,
+  &_swigt__p_gpstk__SP3Base,
+  &_swigt__p_gpstk__SP3Data,
+  &_swigt__p_gpstk__SP3EphemerisStore,
+  &_swigt__p_gpstk__SP3Header,
+  &_swigt__p_gpstk__SP3Stream,
+  &_swigt__p_gpstk__SVPCodeGen,
+  &_swigt__p_gpstk__SatID,
+  &_swigt__p_gpstk__SimpleTropModel,
+  &_swigt__p_gpstk__StringUtils__StringException,
+  &_swigt__p_gpstk__SystemPipeException,
+  &_swigt__p_gpstk__SystemQueueException,
+  &_swigt__p_gpstk__SystemSemaphoreException,
+  &_swigt__p_gpstk__TabularEphemerisStore,
+  &_swigt__p_gpstk__Triple,
+  &_swigt__p_gpstk__TropModel,
+  &_swigt__p_gpstk__ValidTypeTchar_t,
+  &_swigt__p_gpstk__ValidTypeTdouble_t,
+  &_swigt__p_gpstk__ValidTypeTfloat_t,
+  &_swigt__p_gpstk__ValidTypeTint_t,
+  &_swigt__p_gpstk__ValidTypeTlong_t,
+  &_swigt__p_gpstk__ValidTypeTshort_t,
+  &_swigt__p_gpstk__ValidTypeTunsigned_char_t,
+  &_swigt__p_gpstk__ValidTypeTunsigned_int_t,
+  &_swigt__p_gpstk__ValidTypeTunsigned_long_t,
+  &_swigt__p_gpstk__ValidTypeTunsigned_short_t,
+  &_swigt__p_gpstk__WrongBlockFormat,
+  &_swigt__p_gpstk__WrongBlockNumber,
+  &_swigt__p_gpstk__WxObsData,
+  &_swigt__p_gpstk__WxObservation,
+  &_swigt__p_gpstk__X1Sequence,
+  &_swigt__p_gpstk__X2Sequence,
+  &_swigt__p_gpstk__Xvt,
+  &_swigt__p_gpstk__ZeroTropModel,
+  &_swigt__p_int,
+  &_swigt__p_int_type,
+  &_swigt__p_iostate,
+  &_swigt__p_key_type,
+  &_swigt__p_long,
+  &_swigt__p_long_double,
+  &_swigt__p_long_long,
+  &_swigt__p_mapped_type,
+  &_swigt__p_off_type,
+  &_swigt__p_openmode,
+  &_swigt__p_p_void,
+  &_swigt__p_pos_type,
+  &_swigt__p_second_type,
+  &_swigt__p_seekdir,
+  &_swigt__p_sensorPosType,
+  &_swigt__p_sensorType,
+  &_swigt__p_short,
+  &_swigt__p_size_t,
+  &_swigt__p_size_type,
+  &_swigt__p_state_type,
+  &_swigt__p_std__bad_exception,
+  &_swigt__p_std__basic_iosTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type,
+  &_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type,
+  &_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type,
+  &_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type,
+  &_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type,
+  &_swigt__p_std__basic_streambufTchar_std__char_traitsTchar_t_t,
+  &_swigt__p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t,
+  &_swigt__p_std__domain_error,
+  &_swigt__p_std__exception,
+  &_swigt__p_std__invalid_argument,
+  &_swigt__p_std__ios__openmode,
+  &_swigt__p_std__ios_base,
+  &_swigt__p_std__length_error,
+  &_swigt__p_std__listTdouble_t,
+  &_swigt__p_std__listTgpstk__EngEphemeris_t,
+  &_swigt__p_std__locale,
+  &_swigt__p_std__logic_error,
+  &_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t,
+  &_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type,
+  &_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type,
+  &_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type,
+  &_swigt__p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t,
+  &_swigt__p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t,
+  &_swigt__p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t,
+  &_swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type,
+  &_swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type,
+  &_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t,
+  &_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type,
+  &_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type,
+  &_swigt__p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t,
+  &_swigt__p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t,
+  &_swigt__p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t,
+  &_swigt__p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t,
+  &_swigt__p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t,
+  &_swigt__p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t,
+  &_swigt__p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t,
+  &_swigt__p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t,
+  &_swigt__p_std__out_of_range,
+  &_swigt__p_std__overflow_error,
+  &_swigt__p_std__range_error,
+  &_swigt__p_std__runtime_error,
+  &_swigt__p_std__setTshort_t,
+  &_swigt__p_std__string,
+  &_swigt__p_std__underflow_error,
+  &_swigt__p_std__valarrayTdouble_t,
+  &_swigt__p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t,
+  &_swigt__p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t,
+  &_swigt__p_std__vectorTchar_std__allocatorTchar_t_t,
+  &_swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t,
+  &_swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type,
+  &_swigt__p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t,
+  &_swigt__p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t,
+  &_swigt__p_std__vectorTint_std__allocatorTint_t_t,
+  &_swigt__p_std__vectorTint_std__allocatorTint_t_t__allocator_type,
+  &_swigt__p_std__vectorTlong_std__allocatorTlong_t_t,
+  &_swigt__p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t,
+  &_swigt__p_std__vectorTsensorType_std__allocatorTsensorType_t_t,
+  &_swigt__p_std__vectorTstd__string_std__allocatorTstd__string_t_t,
+  &_swigt__p_time_t,
+  &_swigt__p_timeval,
+  &_swigt__p_traits_type,
+  &_swigt__p_unsigned_int,
+  &_swigt__p_unsigned_long,
+  &_swigt__p_unsigned_long_long,
+  &_swigt__p_unsigned_short,
+  &_swigt__p_value_type,
+  &_swigt__ptrdiff_t,
+  &_swigt__size_t,
+  &_swigt__std__ptrdiff_t,
+  &_swigt__std__size_t,
+};
+
+static swig_cast_info _swigc__p_DayTimeException[] = {  {&_swigt__p_DayTimeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_EndOfFile[] = {  {&_swigt__p_EndOfFile, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_ExtraWaveFact[] = {  {&_swigt__p_ExtraWaveFact, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_FFStreamError[] = {  {&_swigt__p_FFStreamError, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_FileSpec[] = {  {&_swigt__p_FileSpec, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_FileSpec__FileSpecSortType[] = {  {&_swigt__p_FileSpec__FileSpecSortType, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_FileSpec__FileSpecType[] = {  {&_swigt__p_FileSpec__FileSpecType, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_FilterPair[] = {  {&_swigt__p_FilterPair, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_FormatException[] = {  {&_swigt__p_FormatException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_InvalidIonoModel[] = {  {&_swigt__p_InvalidIonoModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_InvalidTropModel[] = {  {&_swigt__p_InvalidTropModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_MatrixTdouble_t[] = {  {&_swigt__p_MatrixTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_NoAlmanacFound[] = {  {&_swigt__p_NoAlmanacFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_NoEphemerisFound[] = {  {&_swigt__p_NoEphemerisFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_NoIonoModelFound[] = {  {&_swigt__p_NoIonoModelFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_ORDMap[] = {  {&_swigt__p_ORDMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_PRNModeMap[] = {  {&_swigt__p_PRNModeMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_PRNStatusMap[] = {  {&_swigt__p_PRNStatusMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RinexDatum[] = {  {&_swigt__p_RinexDatum, 0, 0, 0},  {&_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RinexMetMap[] = {  {&_swigt__p_RinexMetMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RinexMetType[] = {  {&_swigt__p_RinexMetType, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RinexObsType[] = {  {&_swigt__p_RinexObsType, 0, 0, 0},  {&_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RinexObsTypeMap[] = {  {&_swigt__p_RinexObsTypeMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_RinexPrnMap[] = {  {&_swigt__p_RinexPrnMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_SVBitsMap[] = {  {&_swigt__p_SVBitsMap, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_SVNotPresentException[] = {  {&_swigt__p_SVNotPresentException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_StatsTdouble_t[] = {  {&_swigt__p_StatsTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_StringUtils__StringException[] = {  {&_swigt__p_StringUtils__StringException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_VectorTbool_t[] = {  {&_swigt__p_VectorTbool_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_VectorTdouble_t[] = {  {&_swigt__p_VectorTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_allocator_type[] = {  {&_swigt__p_allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_bool[] = {  {&_swigt__p_bool, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},  {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_char_type[] = {  {&_swigt__p_char_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_codeType[] = {  {&_swigt__p_codeType, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_difference_type[] = {  {&_swigt__p_difference_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_double[] = {  {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_enum_std__ios_base__event_r_std__ios_base_int__void[] = {  {&_swigt__p_f_enum_std__ios_base__event_r_std__ios_base_int__void, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure[] = {{&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t[] = {  {&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError, _p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessErrorTo_p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t, 0, 0},  {&_swigt__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__ba [...]
+static swig_cast_info _swigc__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t[] = {  {&_swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},  {&_swigt__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t, _p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_s [...]
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure[] = {{&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t[] = {  {&_swigt__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError, _p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessErrorTo_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0, 0},  {&_swigt__p_f_r_std__basic_ostream__char_std__char [...]
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__AccessError[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__AccessError, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__InvalidParameter[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__InvalidParameter, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__WrongBlockNumber[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockNumber, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__OutOfMemory[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__OutOfMemory, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__WrongBlockFormat[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockFormat, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__ConfigurationException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__ConfigurationException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__InvalidValue[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__InvalidValue, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__ObjectNotFound[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__ObjectNotFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__Exception[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__Exception, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__SystemPipeException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__SystemPipeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__FileHunterException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__FileHunterException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__GeometryException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__GeometryException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__NoGeoidException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__NoGeoidException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_DayTimeException[] = {{&_swigt__p_f_r_std__ios_base__r_DayTimeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_FormatException[] = {{&_swigt__p_f_r_std__ios_base__r_FormatException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__InvalidRequest[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__InvalidRequest, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t[] = {{&_swigt__p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__InvalidArgumentException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__InvalidArgumentException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__FileMissingException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__FileMissingException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__SystemQueueException[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__SystemQueueException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_gpstk__AssertionFailure[] = {{&_swigt__p_f_r_std__ios_base__r_gpstk__AssertionFailure, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_f_r_std__ios_base__r_std__ios_base[] = {  {&_swigt__p_f_r_std__ios_base__r_gpstk__AccessError, _p_f_r_std__ios_base__r_gpstk__AccessErrorTo_p_f_r_std__ios_base__r_std__ios_base, 0, 0},  {&_swigt__p_f_r_std__ios_base__r_gpstk__InvalidParameter, _p_f_r_std__ios_base__r_gpstk__InvalidParameterTo_p_f_r_std__ios_base__r_std__ios_base, 0, 0},  {&_swigt__p_f_r_std__ios_base__r_gpstk__WrongBlockNumber, _p_f_r_std__ios_base__r_gpstk__WrongBlockNumberTo_p_f_r_std__i [...]
+static swig_cast_info _swigc__p_first_type[] = {  {&_swigt__p_first_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_float[] = {  {&_swigt__p_float, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_fmtflags[] = {  {&_swigt__p_fmtflags, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__AccessError[] = {  {&_swigt__p_gpstk__ObjectNotFound, _p_gpstk__ObjectNotFoundTo_p_gpstk__AccessError, 0, 0},  {&_swigt__p_gpstk__AccessError, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__AlmOrbit[] = {  {&_swigt__p_gpstk__AlmOrbit, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__AlmanacStore[] = {  {&_swigt__p_gpstk__AlmanacStore, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__AssertionFailure[] = {  {&_swigt__p_gpstk__AssertionFailure, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__BCEphemerisStore[] = {  {&_swigt__p_gpstk__BCEphemerisStore, 0, 0, 0},  {&_swigt__p_gpstk__RinexEphemerisStore, _p_gpstk__RinexEphemerisStoreTo_p_gpstk__BCEphemerisStore, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ClockModel[] = {  {&_swigt__p_gpstk__ClockModel, 0, 0, 0},  {&_swigt__p_gpstk__ObsClockModel, _p_gpstk__ObsClockModelTo_p_gpstk__ClockModel, 0, 0},  {&_swigt__p_gpstk__EpochClockModel, _p_gpstk__EpochClockModelTo_p_gpstk__ClockModel, 0, 0},  {&_swigt__p_gpstk__LinearClockModel, _p_gpstk__LinearClockModelTo_p_gpstk__ClockModel, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__CodeBuffer[] = {  {&_swigt__p_gpstk__CodeBuffer, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ConfigurationException[] = {  {&_swigt__p_gpstk__ConfigurationException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__CorrectedEphemerisRange[] = {  {&_swigt__p_gpstk__CorrectedEphemerisRange, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__DayTime[] = {  {&_swigt__p_gpstk__DayTime, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ECEF[] = {  {&_swigt__p_gpstk__ECEF, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__EngAlmanac[] = {  {&_swigt__p_gpstk__EngAlmanac, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__EngEphemeris[] = {  {&_swigt__p_gpstk__EngEphemeris, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__EngNav[] = {  {&_swigt__p_gpstk__EngEphemeris, _p_gpstk__EngEphemerisTo_p_gpstk__EngNav, 0, 0},  {&_swigt__p_gpstk__EngAlmanac, _p_gpstk__EngAlmanacTo_p_gpstk__EngNav, 0, 0},  {&_swigt__p_gpstk__EngNav, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__EphemerisStore[] = {  {&_swigt__p_gpstk__EphemerisStore, 0, 0, 0},  {&_swigt__p_gpstk__TabularEphemerisStore, _p_gpstk__TabularEphemerisStoreTo_p_gpstk__EphemerisStore, 0, 0},  {&_swigt__p_gpstk__SP3EphemerisStore, _p_gpstk__SP3EphemerisStoreTo_p_gpstk__EphemerisStore, 0, 0},  {&_swigt__p_gpstk__BCEphemerisStore, _p_gpstk__BCEphemerisStoreTo_p_gpstk__EphemerisStore, 0, 0},  {&_swigt__p_gpstk__RinexEphemerisStore, _p_gpstk__RinexEphemerisStoreTo_p_gp [...]
+static swig_cast_info _swigc__p_gpstk__EpochClockModel[] = {  {&_swigt__p_gpstk__EpochClockModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__Exception[] = {  {&_swigt__p_gpstk__AccessError, _p_gpstk__AccessErrorTo_p_gpstk__Exception, 0, 0},  {&_swigt__p_gpstk__InvalidParameter, _p_gpstk__InvalidParameterTo_p_gpstk__Exception, 0, 0},  {&_swigt__p_gpstk__WrongBlockNumber, _p_gpstk__WrongBlockNumberTo_p_gpstk__Exception, 0, 0},  {&_swigt__p_gpstk__OutOfMemory, _p_gpstk__OutOfMemoryTo_p_gpstk__Exception, 0, 0},  {&_swigt__p_gpstk__WrongBlockFormat, _p_gpstk__WrongBlockFormatTo_p_gpstk__Excep [...]
+static swig_cast_info _swigc__p_gpstk__ExceptionLocation[] = {  {&_swigt__p_gpstk__ExceptionLocation, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FFBinaryStream[] = {  {&_swigt__p_gpstk__FFBinaryStream, 0, 0, 0},  {&_swigt__p_gpstk__FICStream, _p_gpstk__FICStreamTo_p_gpstk__FFBinaryStream, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FFData[] = {  {&_swigt__p_gpstk__FICData, _p_gpstk__FICDataTo_p_gpstk__FFData, 0, 0},  {&_swigt__p_gpstk__RinexNavBase, _p_gpstk__RinexNavBaseTo_p_gpstk__FFData, 0, 0},  {&_swigt__p_gpstk__FFData, 0, 0, 0},  {&_swigt__p_gpstk__FICBase, _p_gpstk__FICBaseTo_p_gpstk__FFData, 0, 0},  {&_swigt__p_gpstk__RinexObsData, _p_gpstk__RinexObsDataTo_p_gpstk__FFData, 0, 0},  {&_swigt__p_gpstk__SP3Header, _p_gpstk__SP3HeaderTo_p_gpstk__FFData, 0, 0},  {&_swigt__p_ [...]
+static swig_cast_info _swigc__p_gpstk__FFStream[] = {  {&_swigt__p_gpstk__FFBinaryStream, _p_gpstk__FFBinaryStreamTo_p_gpstk__FFStream, 0, 0},  {&_swigt__p_gpstk__FICStream, _p_gpstk__FICStreamTo_p_gpstk__FFStream, 0, 0},  {&_swigt__p_gpstk__FICAStream, _p_gpstk__FICAStreamTo_p_gpstk__FFStream, 0, 0},  {&_swigt__p_gpstk__MSCStream, _p_gpstk__MSCStreamTo_p_gpstk__FFStream, 0, 0},  {&_swigt__p_gpstk__SP3Stream, _p_gpstk__SP3StreamTo_p_gpstk__FFStream, 0, 0},  {&_swigt__p_gpstk__RinexObsStr [...]
+static swig_cast_info _swigc__p_gpstk__FFTextStream[] = {  {&_swigt__p_gpstk__FICAStream, _p_gpstk__FICAStreamTo_p_gpstk__FFTextStream, 0, 0},  {&_swigt__p_gpstk__MSCStream, _p_gpstk__MSCStreamTo_p_gpstk__FFTextStream, 0, 0},  {&_swigt__p_gpstk__SP3Stream, _p_gpstk__SP3StreamTo_p_gpstk__FFTextStream, 0, 0},  {&_swigt__p_gpstk__RinexObsStream, _p_gpstk__RinexObsStreamTo_p_gpstk__FFTextStream, 0, 0},  {&_swigt__p_gpstk__FFTextStream, 0, 0, 0},  {&_swigt__p_gpstk__RinexMetStream, _p_gpstk__ [...]
+static swig_cast_info _swigc__p_gpstk__FICAStream[] = {  {&_swigt__p_gpstk__FICAStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FICBase[] = {  {&_swigt__p_gpstk__FICBase, 0, 0, 0},  {&_swigt__p_gpstk__FICData, _p_gpstk__FICDataTo_p_gpstk__FICBase, 0, 0},  {&_swigt__p_gpstk__FICHeader, _p_gpstk__FICHeaderTo_p_gpstk__FICBase, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FICData[] = {  {&_swigt__p_gpstk__FICData, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FICHeader[] = {  {&_swigt__p_gpstk__FICHeader, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FICStream[] = {  {&_swigt__p_gpstk__FICStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FICStreamBase[] = {  {&_swigt__p_gpstk__FICStream, _p_gpstk__FICStreamTo_p_gpstk__FICStreamBase, 0, 0},  {&_swigt__p_gpstk__FICAStream, _p_gpstk__FICAStreamTo_p_gpstk__FICStreamBase, 0, 0},  {&_swigt__p_gpstk__FICStreamBase, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FileHunter[] = {  {&_swigt__p_gpstk__FileHunter, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FileHunterException[] = {  {&_swigt__p_gpstk__FileHunterException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FileMissingException[] = {  {&_swigt__p_gpstk__FileMissingException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FileStoreTgpstk__RinexNavHeader_t[] = {  {&_swigt__p_gpstk__FileStoreTgpstk__RinexNavHeader_t, 0, 0, 0},  {&_swigt__p_gpstk__RinexEphemerisStore, _p_gpstk__RinexEphemerisStoreTo_p_gpstk__FileStoreTgpstk__RinexNavHeader_t, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__FileStoreTgpstk__SP3Header_t[] = {  {&_swigt__p_gpstk__FileStoreTgpstk__SP3Header_t, 0, 0, 0},  {&_swigt__p_gpstk__SP3EphemerisStore, _p_gpstk__SP3EphemerisStoreTo_p_gpstk__FileStoreTgpstk__SP3Header_t, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__GGHeightTropModel[] = {  {&_swigt__p_gpstk__GGHeightTropModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__GGTropModel[] = {  {&_swigt__p_gpstk__GGTropModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__GPSZcount[] = {  {&_swigt__p_gpstk__GPSZcount, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__GenXSequence[] = {  {&_swigt__p_gpstk__GenXSequence, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__Geodetic[] = {  {&_swigt__p_gpstk__Geodetic, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__GeoidModel[] = {  {&_swigt__p_gpstk__GeoidModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__GeometryException[] = {  {&_swigt__p_gpstk__GeometryException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__IndexOutOfBoundsException[] = {  {&_swigt__p_gpstk__IndexOutOfBoundsException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__InvalidArgumentException[] = {  {&_swigt__p_gpstk__InvalidArgumentException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__InvalidParameter[] = {  {&_swigt__p_gpstk__InvalidParameter, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__InvalidRequest[] = {  {&_swigt__p_gpstk__InvalidRequest, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__InvalidValue[] = {  {&_swigt__p_gpstk__InvalidValue, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__IonoModel[] = {  {&_swigt__p_gpstk__IonoModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__IonoModelStore[] = {  {&_swigt__p_gpstk__IonoModelStore, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__LinearClockModel[] = {  {&_swigt__p_gpstk__LinearClockModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__MSCStream[] = {  {&_swigt__p_gpstk__MSCStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__MatrixTdouble_t[] = {  {&_swigt__p_gpstk__MatrixTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__NBTropModel[] = {  {&_swigt__p_gpstk__NBTropModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__NoGeoidException[] = {  {&_swigt__p_gpstk__NoGeoidException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ORDEpoch[] = {  {&_swigt__p_gpstk__ORDEpoch, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ObjectNotFound[] = {  {&_swigt__p_gpstk__ObjectNotFound, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ObsClockModel[] = {  {&_swigt__p_gpstk__ObsClockModel, 0, 0, 0},  {&_swigt__p_gpstk__EpochClockModel, _p_gpstk__EpochClockModelTo_p_gpstk__ObsClockModel, 0, 0},  {&_swigt__p_gpstk__LinearClockModel, _p_gpstk__LinearClockModelTo_p_gpstk__ObsClockModel, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ObsEpoch[] = {  {&_swigt__p_gpstk__ObsEpoch, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ObsRngDev[] = {  {&_swigt__p_gpstk__ObsRngDev, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__Observation[] = {  {&_swigt__p_gpstk__Observation, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ObservationPlus[] = {  {&_swigt__p_gpstk__ObservationPlus, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__OutOfMemory[] = {  {&_swigt__p_gpstk__OutOfMemory, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__Position[] = {  {&_swigt__p_gpstk__Position, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RAIMSolution[] = {  {&_swigt__p_gpstk__RAIMSolution, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexEphemerisStore[] = {  {&_swigt__p_gpstk__RinexEphemerisStore, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexMetBase[] = {  {&_swigt__p_gpstk__RinexMetBase, 0, 0, 0},  {&_swigt__p_gpstk__RinexMetData, _p_gpstk__RinexMetDataTo_p_gpstk__RinexMetBase, 0, 0},  {&_swigt__p_gpstk__RinexMetHeader, _p_gpstk__RinexMetHeaderTo_p_gpstk__RinexMetBase, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexMetData[] = {  {&_swigt__p_gpstk__RinexMetData, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexMetHeader[] = {  {&_swigt__p_gpstk__RinexMetHeader, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexMetStream[] = {  {&_swigt__p_gpstk__RinexMetStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexNavBase[] = {  {&_swigt__p_gpstk__RinexNavBase, 0, 0, 0},  {&_swigt__p_gpstk__RinexNavHeader, _p_gpstk__RinexNavHeaderTo_p_gpstk__RinexNavBase, 0, 0},  {&_swigt__p_gpstk__RinexNavData, _p_gpstk__RinexNavDataTo_p_gpstk__RinexNavBase, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexNavData[] = {  {&_swigt__p_gpstk__RinexNavData, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexNavHeader[] = {  {&_swigt__p_gpstk__RinexNavHeader, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexNavStream[] = {  {&_swigt__p_gpstk__RinexNavStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexObsBase[] = {  {&_swigt__p_gpstk__RinexObsBase, 0, 0, 0},  {&_swigt__p_gpstk__RinexObsHeader, _p_gpstk__RinexObsHeaderTo_p_gpstk__RinexObsBase, 0, 0},  {&_swigt__p_gpstk__RinexObsData, _p_gpstk__RinexObsDataTo_p_gpstk__RinexObsBase, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexObsData[] = {  {&_swigt__p_gpstk__RinexObsData, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexObsData__RinexPrnMap__iterator[] = {  {&_swigt__p_gpstk__RinexObsData__RinexPrnMap__iterator, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexObsHeader[] = {  {&_swigt__p_gpstk__RinexObsHeader, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexObsStream[] = {  {&_swigt__p_gpstk__RinexObsStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RinexPrn[] = {  {&_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, 0, 0, 0},  {&_swigt__p_gpstk__RinexPrn, 0, 0, 0},  {&_swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RungeKutta4[] = {  {&_swigt__p_gpstk__RungeKutta4, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__RxObsData[] = {  {&_swigt__p_gpstk__RxObsData, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SMODFStream[] = {  {&_swigt__p_gpstk__SMODFStream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SP3Base[] = {  {&_swigt__p_gpstk__SP3Base, 0, 0, 0},  {&_swigt__p_gpstk__SP3Data, _p_gpstk__SP3DataTo_p_gpstk__SP3Base, 0, 0},  {&_swigt__p_gpstk__SP3Header, _p_gpstk__SP3HeaderTo_p_gpstk__SP3Base, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SP3Data[] = {  {&_swigt__p_gpstk__SP3Data, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SP3EphemerisStore[] = {  {&_swigt__p_gpstk__SP3EphemerisStore, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SP3Header[] = {  {&_swigt__p_gpstk__SP3Header, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SP3Stream[] = {  {&_swigt__p_gpstk__SP3Stream, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SVPCodeGen[] = {  {&_swigt__p_gpstk__SVPCodeGen, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SatID[] = {  {&_swigt__p_gpstk__SatID, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SimpleTropModel[] = {  {&_swigt__p_gpstk__SimpleTropModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__StringUtils__StringException[] = {  {&_swigt__p_gpstk__StringUtils__StringException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SystemPipeException[] = {  {&_swigt__p_gpstk__SystemPipeException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SystemQueueException[] = {  {&_swigt__p_gpstk__SystemQueueException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__SystemSemaphoreException[] = {  {&_swigt__p_gpstk__SystemSemaphoreException, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__TabularEphemerisStore[] = {  {&_swigt__p_gpstk__TabularEphemerisStore, 0, 0, 0},  {&_swigt__p_gpstk__SP3EphemerisStore, _p_gpstk__SP3EphemerisStoreTo_p_gpstk__TabularEphemerisStore, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__Triple[] = {  {&_swigt__p_gpstk__Triple, 0, 0, 0},  {&_swigt__p_gpstk__Position, _p_gpstk__PositionTo_p_gpstk__Triple, 0, 0},  {&_swigt__p_gpstk__Geodetic, _p_gpstk__GeodeticTo_p_gpstk__Triple, 0, 0},  {&_swigt__p_gpstk__ECEF, _p_gpstk__ECEFTo_p_gpstk__Triple, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__TropModel[] = {  {&_swigt__p_gpstk__TropModel, 0, 0, 0},  {&_swigt__p_gpstk__ZeroTropModel, _p_gpstk__ZeroTropModelTo_p_gpstk__TropModel, 0, 0},  {&_swigt__p_gpstk__SimpleTropModel, _p_gpstk__SimpleTropModelTo_p_gpstk__TropModel, 0, 0},  {&_swigt__p_gpstk__GGTropModel, _p_gpstk__GGTropModelTo_p_gpstk__TropModel, 0, 0},  {&_swigt__p_gpstk__GGHeightTropModel, _p_gpstk__GGHeightTropModelTo_p_gpstk__TropModel, 0, 0},  {&_swigt__p_gpstk__NBTropModel, _p_ [...]
+static swig_cast_info _swigc__p_gpstk__ValidTypeTchar_t[] = {  {&_swigt__p_gpstk__ValidTypeTchar_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTdouble_t[] = {  {&_swigt__p_gpstk__ValidTypeTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTfloat_t[] = {  {&_swigt__p_gpstk__ValidTypeTfloat_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTint_t[] = {  {&_swigt__p_gpstk__ValidTypeTint_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTlong_t[] = {  {&_swigt__p_gpstk__ValidTypeTlong_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTshort_t[] = {  {&_swigt__p_gpstk__ValidTypeTshort_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTunsigned_char_t[] = {  {&_swigt__p_gpstk__ValidTypeTunsigned_char_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTunsigned_int_t[] = {  {&_swigt__p_gpstk__ValidTypeTunsigned_int_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTunsigned_long_t[] = {  {&_swigt__p_gpstk__ValidTypeTunsigned_long_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ValidTypeTunsigned_short_t[] = {  {&_swigt__p_gpstk__ValidTypeTunsigned_short_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__WrongBlockFormat[] = {  {&_swigt__p_gpstk__WrongBlockFormat, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__WrongBlockNumber[] = {  {&_swigt__p_gpstk__WrongBlockNumber, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__WxObsData[] = {  {&_swigt__p_gpstk__WxObsData, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__WxObservation[] = {  {&_swigt__p_gpstk__WxObservation, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__X1Sequence[] = {  {&_swigt__p_gpstk__X1Sequence, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__X2Sequence[] = {  {&_swigt__p_gpstk__X2Sequence, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__Xvt[] = {  {&_swigt__p_gpstk__Xvt, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_gpstk__ZeroTropModel[] = {  {&_swigt__p_gpstk__ZeroTropModel, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_int[] = {  {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_int_type[] = {  {&_swigt__p_int_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_iostate[] = {  {&_swigt__p_iostate, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_key_type[] = {  {&_swigt__p_key_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_long[] = {  {&_swigt__p_long, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_long_double[] = {  {&_swigt__p_long_double, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_long_long[] = {  {&_swigt__p_long_long, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_mapped_type[] = {  {&_swigt__p_mapped_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_off_type[] = {  {&_swigt__p_off_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_openmode[] = {  {&_swigt__p_openmode, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_p_void[] = {  {&_swigt__p_p_void, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_pos_type[] = {  {&_swigt__p_pos_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_second_type[] = {  {&_swigt__p_second_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_seekdir[] = {  {&_swigt__p_seekdir, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_sensorPosType[] = {  {&_swigt__p_sensorPosType, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_sensorType[] = {  {&_swigt__p_sensorType, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_short[] = {  {&_swigt__p_short, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_size_t[] = {  {&_swigt__p_size_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_size_type[] = {  {&_swigt__p_size_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_state_type[] = {  {&_swigt__p_state_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__bad_exception[] = {  {&_swigt__p_std__bad_exception, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_iosTchar_std__char_traitsTchar_t_t[] = {  {&_swigt__p_gpstk__AccessError, _p_gpstk__AccessErrorTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0, 0},  {&_swigt__p_gpstk__InvalidParameter, _p_gpstk__InvalidParameterTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0, 0},  {&_swigt__p_gpstk__WrongBlockNumber, _p_gpstk__WrongBlockNumberTo_p_std__basic_iosTchar_std__char_traitsTchar_t_t, 0, 0},  {&_swigt__p_gpstk__OutOfMemory, _p_gpstk__OutOfM [...]
+static swig_cast_info _swigc__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t[] = {  {&_swigt__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t[] = {  {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0, 0, 0},  {&_swigt__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t, _p_std__basic_iostreamTchar_std__char_traitsTchar_t_tTo_p_std__basic_istreamTchar_std__char_traitsTchar_t_t, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type[] = {  {&_swigt__p_char, 0, 0, 0},  {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type[] = {  {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type, 0, 0, 0},  {&_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type[] = {  {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type, 0, 0, 0},  {&_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t[] = {  {&_swigt__p_gpstk__AccessError, _p_gpstk__AccessErrorTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0, 0},  {&_swigt__p_gpstk__InvalidParameter, _p_gpstk__InvalidParameterTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0, 0},  {&_swigt__p_gpstk__WrongBlockNumber, _p_gpstk__WrongBlockNumberTo_p_std__basic_ostreamTchar_std__char_traitsTchar_t_t, 0, 0},  {&_swigt__p_gpstk__OutOfMemory,  [...]
+static swig_cast_info _swigc__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type[] = {  {&_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type, 0, 0, 0},  {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type[] = {  {&_swigt__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type, 0, 0, 0},  {&_swigt__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_streambufTchar_std__char_traitsTchar_t_t[] = {  {&_swigt__p_std__basic_streambufTchar_std__char_traitsTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t[] = {  {&_swigt__p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__domain_error[] = {  {&_swigt__p_std__domain_error, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__exception[] = {  {&_swigt__p_std__logic_error, _p_std__logic_errorTo_p_std__exception, 0, 0},  {&_swigt__p_std__runtime_error, _p_std__runtime_errorTo_p_std__exception, 0, 0},  {&_swigt__p_std__range_error, _p_std__range_errorTo_p_std__exception, 0, 0},  {&_swigt__p_std__overflow_error, _p_std__overflow_errorTo_p_std__exception, 0, 0},  {&_swigt__p_std__underflow_error, _p_std__underflow_errorTo_p_std__exception, 0, 0},  {&_swigt__p_std__exception, 0, [...]
+static swig_cast_info _swigc__p_std__invalid_argument[] = {  {&_swigt__p_std__invalid_argument, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__ios__openmode[] = {  {&_swigt__p_std__ios__openmode, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__ios_base[] = {  {&_swigt__p_gpstk__AccessError, _p_gpstk__AccessErrorTo_p_std__ios_base, 0, 0},  {&_swigt__p_gpstk__InvalidParameter, _p_gpstk__InvalidParameterTo_p_std__ios_base, 0, 0},  {&_swigt__p_gpstk__WrongBlockNumber, _p_gpstk__WrongBlockNumberTo_p_std__ios_base, 0, 0},  {&_swigt__p_gpstk__OutOfMemory, _p_gpstk__OutOfMemoryTo_p_std__ios_base, 0, 0},  {&_swigt__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t, _p_std__basic_iostreamTchar_std [...]
+static swig_cast_info _swigc__p_std__length_error[] = {  {&_swigt__p_std__length_error, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__listTdouble_t[] = {  {&_swigt__p_std__listTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__listTgpstk__EngEphemeris_t[] = {  {&_swigt__p_std__listTgpstk__EngEphemeris_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__locale[] = {  {&_swigt__p_std__locale, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__logic_error[] = {  {&_swigt__p_std__logic_error, 0, 0, 0},  {&_swigt__p_std__domain_error, _p_std__domain_errorTo_p_std__logic_error, 0, 0},  {&_swigt__p_std__length_error, _p_std__length_errorTo_p_std__logic_error, 0, 0},  {&_swigt__p_std__out_of_range, _p_std__out_of_rangeTo_p_std__logic_error, 0, 0},  {&_swigt__p_std__invalid_argument, _p_std__invalid_argumentTo_p_std__logic_error, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t[] = {  {&_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type[] = {  {&_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type[] = {  {&_swigt__p_RinexObsType, 0, 0, 0},  {&_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type[] = {  {&_swigt__p_RinexDatum, 0, 0, 0},  {&_swigt__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t[] = {  {&_swigt__p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t[] = {  {&_swigt__p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t[] = {  {&_swigt__p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type[] = {  {&_swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type[] = {  {&_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, 0, 0, 0},  {&_swigt__p_gpstk__RinexPrn, 0, 0, 0},  {&_swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_s [...]
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t[] = {  {&_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type[] = {  {&_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type[] = {  {&_swigt__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type, 0, 0, 0},  {&_swigt__p_gpstk__RinexPrn, 0, 0, 0},  {&_swigt__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPr [...]
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t[] = {  {&_swigt__p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocator [...]
+static swig_cast_info _swigc__p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t[] = {  {&_swigt__p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t[] = {  {&_swigt__p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t[] = {  {&_swigt__p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t[] = {  {&_swigt__p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t[] = {  {&_swigt__p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t[] = {  {&_swigt__p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t[] = {  {&_swigt__p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__out_of_range[] = {  {&_swigt__p_std__out_of_range, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__overflow_error[] = {  {&_swigt__p_std__overflow_error, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__range_error[] = {  {&_swigt__p_std__range_error, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__runtime_error[] = {  {&_swigt__p_std__runtime_error, 0, 0, 0},  {&_swigt__p_std__range_error, _p_std__range_errorTo_p_std__runtime_error, 0, 0},  {&_swigt__p_std__overflow_error, _p_std__overflow_errorTo_p_std__runtime_error, 0, 0},  {&_swigt__p_std__underflow_error, _p_std__underflow_errorTo_p_std__runtime_error, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__setTshort_t[] = {  {&_swigt__p_std__setTshort_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__string[] = {  {&_swigt__p_std__string, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__underflow_error[] = {  {&_swigt__p_std__underflow_error, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__valarrayTdouble_t[] = {  {&_swigt__p_std__valarrayTdouble_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t[] = {  {&_swigt__p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t[] = {  {&_swigt__p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTchar_std__allocatorTchar_t_t[] = {  {&_swigt__p_std__vectorTchar_std__allocatorTchar_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTdouble_std__allocatorTdouble_t_t[] = {  {&_swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type[] = {  {&_swigt__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t[] = {  {&_swigt__p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t[] = {  {&_swigt__p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTint_std__allocatorTint_t_t[] = {  {&_swigt__p_std__vectorTint_std__allocatorTint_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTint_std__allocatorTint_t_t__allocator_type[] = {  {&_swigt__p_std__vectorTint_std__allocatorTint_t_t__allocator_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTlong_std__allocatorTlong_t_t[] = {  {&_swigt__p_std__vectorTlong_std__allocatorTlong_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t[] = {  {&_swigt__p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTsensorType_std__allocatorTsensorType_t_t[] = {  {&_swigt__p_std__vectorTsensorType_std__allocatorTsensorType_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_std__vectorTstd__string_std__allocatorTstd__string_t_t[] = {  {&_swigt__p_std__vectorTstd__string_std__allocatorTstd__string_t_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_time_t[] = {  {&_swigt__p_time_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_timeval[] = {  {&_swigt__p_timeval, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_traits_type[] = {  {&_swigt__p_traits_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_unsigned_int[] = {  {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_unsigned_long[] = {  {&_swigt__p_unsigned_long, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_unsigned_long_long[] = {  {&_swigt__p_unsigned_long_long, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_unsigned_short[] = {  {&_swigt__p_unsigned_short, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__p_value_type[] = {  {&_swigt__p_value_type, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__ptrdiff_t[] = {  {&_swigt__ptrdiff_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__size_t[] = {  {&_swigt__size_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__std__ptrdiff_t[] = {  {&_swigt__std__ptrdiff_t, 0, 0, 0},{0, 0, 0, 0}};
+static swig_cast_info _swigc__std__size_t[] = {  {&_swigt__std__size_t, 0, 0, 0},{0, 0, 0, 0}};
+
+static swig_cast_info *swig_cast_initial[] = {
+  _swigc__p_DayTimeException,
+  _swigc__p_EndOfFile,
+  _swigc__p_ExtraWaveFact,
+  _swigc__p_FFStreamError,
+  _swigc__p_FileSpec,
+  _swigc__p_FileSpec__FileSpecSortType,
+  _swigc__p_FileSpec__FileSpecType,
+  _swigc__p_FilterPair,
+  _swigc__p_FormatException,
+  _swigc__p_InvalidIonoModel,
+  _swigc__p_InvalidTropModel,
+  _swigc__p_MatrixTdouble_t,
+  _swigc__p_NoAlmanacFound,
+  _swigc__p_NoEphemerisFound,
+  _swigc__p_NoIonoModelFound,
+  _swigc__p_ORDMap,
+  _swigc__p_PRNModeMap,
+  _swigc__p_PRNStatusMap,
+  _swigc__p_RinexDatum,
+  _swigc__p_RinexMetMap,
+  _swigc__p_RinexMetType,
+  _swigc__p_RinexObsType,
+  _swigc__p_RinexObsTypeMap,
+  _swigc__p_RinexPrnMap,
+  _swigc__p_SVBitsMap,
+  _swigc__p_SVNotPresentException,
+  _swigc__p_StatsTdouble_t,
+  _swigc__p_StringUtils__StringException,
+  _swigc__p_VectorTbool_t,
+  _swigc__p_VectorTdouble_t,
+  _swigc__p_allocator_type,
+  _swigc__p_bool,
+  _swigc__p_char,
+  _swigc__p_char_type,
+  _swigc__p_codeType,
+  _swigc__p_difference_type,
+  _swigc__p_double,
+  _swigc__p_f_enum_std__ios_base__event_r_std__ios_base_int__void,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iosTchar_std__char_traitsTchar_t_t,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AccessError,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidParameter,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__OutOfMemory,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockNumber,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidValue,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__WrongBlockFormat,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ObjectNotFound,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemPipeException,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemSemaphoreException,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileMissingException,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__ConfigurationException,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidArgumentException,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__Exception,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__SystemQueueException,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__FileHunterException,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__GeometryException,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__NoGeoidException,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_DayTimeException,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_FormatException,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__InvalidRequest,
+  _swigc__p_f_r_std__basic_ios__char_std__char_traits__char______r_gpstk__AssertionFailure,
+  _swigc__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_f_r_std__basic_istream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AccessError,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidParameter,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__OutOfMemory,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockNumber,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidValue,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__WrongBlockFormat,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ObjectNotFound,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemQueueException,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemPipeException,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__SystemSemaphoreException,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileMissingException,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__ConfigurationException,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidArgumentException,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__IndexOutOfBoundsException,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__Exception,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__FileHunterException,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__GeometryException,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__NoGeoidException,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_DayTimeException,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_FormatException,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__InvalidRequest,
+  _swigc__p_f_r_std__basic_ostream__char_std__char_traits__char______r_gpstk__AssertionFailure,
+  _swigc__p_f_r_std__ios_base__r_std__ios_base,
+  _swigc__p_f_r_std__ios_base__r_gpstk__AccessError,
+  _swigc__p_f_r_std__ios_base__r_gpstk__InvalidParameter,
+  _swigc__p_f_r_std__ios_base__r_gpstk__WrongBlockNumber,
+  _swigc__p_f_r_std__ios_base__r_gpstk__OutOfMemory,
+  _swigc__p_f_r_std__ios_base__r_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_f_r_std__ios_base__r_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_f_r_std__ios_base__r_gpstk__SystemSemaphoreException,
+  _swigc__p_f_r_std__ios_base__r_gpstk__WrongBlockFormat,
+  _swigc__p_f_r_std__ios_base__r_gpstk__ConfigurationException,
+  _swigc__p_f_r_std__ios_base__r_std__basic_iosTchar_std__char_traitsTchar_t_t,
+  _swigc__p_f_r_std__ios_base__r_gpstk__InvalidValue,
+  _swigc__p_f_r_std__ios_base__r_gpstk__ObjectNotFound,
+  _swigc__p_f_r_std__ios_base__r_gpstk__Exception,
+  _swigc__p_f_r_std__ios_base__r_gpstk__SystemPipeException,
+  _swigc__p_f_r_std__ios_base__r_gpstk__FileHunterException,
+  _swigc__p_f_r_std__ios_base__r_gpstk__GeometryException,
+  _swigc__p_f_r_std__ios_base__r_gpstk__NoGeoidException,
+  _swigc__p_f_r_std__ios_base__r_DayTimeException,
+  _swigc__p_f_r_std__ios_base__r_FormatException,
+  _swigc__p_f_r_std__ios_base__r_gpstk__IndexOutOfBoundsException,
+  _swigc__p_f_r_std__ios_base__r_gpstk__InvalidRequest,
+  _swigc__p_f_r_std__ios_base__r_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_f_r_std__ios_base__r_gpstk__InvalidArgumentException,
+  _swigc__p_f_r_std__ios_base__r_gpstk__FileMissingException,
+  _swigc__p_f_r_std__ios_base__r_gpstk__SystemQueueException,
+  _swigc__p_f_r_std__ios_base__r_gpstk__AssertionFailure,
+  _swigc__p_first_type,
+  _swigc__p_float,
+  _swigc__p_fmtflags,
+  _swigc__p_gpstk__AccessError,
+  _swigc__p_gpstk__AlmOrbit,
+  _swigc__p_gpstk__AlmanacStore,
+  _swigc__p_gpstk__AssertionFailure,
+  _swigc__p_gpstk__BCEphemerisStore,
+  _swigc__p_gpstk__ClockModel,
+  _swigc__p_gpstk__CodeBuffer,
+  _swigc__p_gpstk__ConfigurationException,
+  _swigc__p_gpstk__CorrectedEphemerisRange,
+  _swigc__p_gpstk__DayTime,
+  _swigc__p_gpstk__ECEF,
+  _swigc__p_gpstk__EngAlmanac,
+  _swigc__p_gpstk__EngEphemeris,
+  _swigc__p_gpstk__EngNav,
+  _swigc__p_gpstk__EphemerisStore,
+  _swigc__p_gpstk__EpochClockModel,
+  _swigc__p_gpstk__Exception,
+  _swigc__p_gpstk__ExceptionLocation,
+  _swigc__p_gpstk__FFBinaryStream,
+  _swigc__p_gpstk__FFData,
+  _swigc__p_gpstk__FFStream,
+  _swigc__p_gpstk__FFTextStream,
+  _swigc__p_gpstk__FICAStream,
+  _swigc__p_gpstk__FICBase,
+  _swigc__p_gpstk__FICData,
+  _swigc__p_gpstk__FICHeader,
+  _swigc__p_gpstk__FICStream,
+  _swigc__p_gpstk__FICStreamBase,
+  _swigc__p_gpstk__FileHunter,
+  _swigc__p_gpstk__FileHunterException,
+  _swigc__p_gpstk__FileMissingException,
+  _swigc__p_gpstk__FileStoreTgpstk__RinexNavHeader_t,
+  _swigc__p_gpstk__FileStoreTgpstk__SP3Header_t,
+  _swigc__p_gpstk__GGHeightTropModel,
+  _swigc__p_gpstk__GGTropModel,
+  _swigc__p_gpstk__GPSZcount,
+  _swigc__p_gpstk__GenXSequence,
+  _swigc__p_gpstk__Geodetic,
+  _swigc__p_gpstk__GeoidModel,
+  _swigc__p_gpstk__GeometryException,
+  _swigc__p_gpstk__IndexOutOfBoundsException,
+  _swigc__p_gpstk__InvalidArgumentException,
+  _swigc__p_gpstk__InvalidParameter,
+  _swigc__p_gpstk__InvalidRequest,
+  _swigc__p_gpstk__InvalidValue,
+  _swigc__p_gpstk__IonoModel,
+  _swigc__p_gpstk__IonoModelStore,
+  _swigc__p_gpstk__LinearClockModel,
+  _swigc__p_gpstk__MSCStream,
+  _swigc__p_gpstk__MatrixTdouble_t,
+  _swigc__p_gpstk__NBTropModel,
+  _swigc__p_gpstk__NoGeoidException,
+  _swigc__p_gpstk__ORDEpoch,
+  _swigc__p_gpstk__ObjectNotFound,
+  _swigc__p_gpstk__ObsClockModel,
+  _swigc__p_gpstk__ObsEpoch,
+  _swigc__p_gpstk__ObsRngDev,
+  _swigc__p_gpstk__Observation,
+  _swigc__p_gpstk__ObservationPlus,
+  _swigc__p_gpstk__OutOfMemory,
+  _swigc__p_gpstk__Position,
+  _swigc__p_gpstk__RAIMSolution,
+  _swigc__p_gpstk__RinexEphemerisStore,
+  _swigc__p_gpstk__RinexMetBase,
+  _swigc__p_gpstk__RinexMetData,
+  _swigc__p_gpstk__RinexMetHeader,
+  _swigc__p_gpstk__RinexMetStream,
+  _swigc__p_gpstk__RinexNavBase,
+  _swigc__p_gpstk__RinexNavData,
+  _swigc__p_gpstk__RinexNavHeader,
+  _swigc__p_gpstk__RinexNavStream,
+  _swigc__p_gpstk__RinexObsBase,
+  _swigc__p_gpstk__RinexObsData,
+  _swigc__p_gpstk__RinexObsData__RinexPrnMap__iterator,
+  _swigc__p_gpstk__RinexObsHeader,
+  _swigc__p_gpstk__RinexObsStream,
+  _swigc__p_gpstk__RinexPrn,
+  _swigc__p_gpstk__RungeKutta4,
+  _swigc__p_gpstk__RxObsData,
+  _swigc__p_gpstk__SMODFStream,
+  _swigc__p_gpstk__SP3Base,
+  _swigc__p_gpstk__SP3Data,
+  _swigc__p_gpstk__SP3EphemerisStore,
+  _swigc__p_gpstk__SP3Header,
+  _swigc__p_gpstk__SP3Stream,
+  _swigc__p_gpstk__SVPCodeGen,
+  _swigc__p_gpstk__SatID,
+  _swigc__p_gpstk__SimpleTropModel,
+  _swigc__p_gpstk__StringUtils__StringException,
+  _swigc__p_gpstk__SystemPipeException,
+  _swigc__p_gpstk__SystemQueueException,
+  _swigc__p_gpstk__SystemSemaphoreException,
+  _swigc__p_gpstk__TabularEphemerisStore,
+  _swigc__p_gpstk__Triple,
+  _swigc__p_gpstk__TropModel,
+  _swigc__p_gpstk__ValidTypeTchar_t,
+  _swigc__p_gpstk__ValidTypeTdouble_t,
+  _swigc__p_gpstk__ValidTypeTfloat_t,
+  _swigc__p_gpstk__ValidTypeTint_t,
+  _swigc__p_gpstk__ValidTypeTlong_t,
+  _swigc__p_gpstk__ValidTypeTshort_t,
+  _swigc__p_gpstk__ValidTypeTunsigned_char_t,
+  _swigc__p_gpstk__ValidTypeTunsigned_int_t,
+  _swigc__p_gpstk__ValidTypeTunsigned_long_t,
+  _swigc__p_gpstk__ValidTypeTunsigned_short_t,
+  _swigc__p_gpstk__WrongBlockFormat,
+  _swigc__p_gpstk__WrongBlockNumber,
+  _swigc__p_gpstk__WxObsData,
+  _swigc__p_gpstk__WxObservation,
+  _swigc__p_gpstk__X1Sequence,
+  _swigc__p_gpstk__X2Sequence,
+  _swigc__p_gpstk__Xvt,
+  _swigc__p_gpstk__ZeroTropModel,
+  _swigc__p_int,
+  _swigc__p_int_type,
+  _swigc__p_iostate,
+  _swigc__p_key_type,
+  _swigc__p_long,
+  _swigc__p_long_double,
+  _swigc__p_long_long,
+  _swigc__p_mapped_type,
+  _swigc__p_off_type,
+  _swigc__p_openmode,
+  _swigc__p_p_void,
+  _swigc__p_pos_type,
+  _swigc__p_second_type,
+  _swigc__p_seekdir,
+  _swigc__p_sensorPosType,
+  _swigc__p_sensorType,
+  _swigc__p_short,
+  _swigc__p_size_t,
+  _swigc__p_size_type,
+  _swigc__p_state_type,
+  _swigc__p_std__bad_exception,
+  _swigc__p_std__basic_iosTchar_std__char_traitsTchar_t_t,
+  _swigc__p_std__basic_iostreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__char_type,
+  _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__off_type,
+  _swigc__p_std__basic_istreamTchar_std__char_traitsTchar_t_t__pos_type,
+  _swigc__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t,
+  _swigc__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__off_type,
+  _swigc__p_std__basic_ostreamTchar_std__char_traitsTchar_t_t__pos_type,
+  _swigc__p_std__basic_streambufTchar_std__char_traitsTchar_t_t,
+  _swigc__p_std__basic_stringTchar_std__char_traitsTchar_t_std__allocatorTchar_t_t,
+  _swigc__p_std__domain_error,
+  _swigc__p_std__exception,
+  _swigc__p_std__invalid_argument,
+  _swigc__p_std__ios__openmode,
+  _swigc__p_std__ios_base,
+  _swigc__p_std__length_error,
+  _swigc__p_std__listTdouble_t,
+  _swigc__p_std__listTgpstk__EngEphemeris_t,
+  _swigc__p_std__locale,
+  _swigc__p_std__logic_error,
+  _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t,
+  _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__allocator_type,
+  _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__key_type,
+  _swigc__p_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t__mapped_type,
+  _swigc__p_std__mapTgpstk__DayTime_gpstk__ObsEpoch_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__ObsEpoch_t_t_t,
+  _swigc__p_std__mapTgpstk__DayTime_gpstk__WxObservation_std__lessTgpstk__DayTime_t_std__allocatorTstd__pairTgpstk__DayTime_const_gpstk__WxObservation_t_t_t,
+  _swigc__p_std__mapTgpstk__RinexMetHeader__RinexMetType_double_std__lessTgpstk__RinexMetHeader__RinexMetType_t_std__allocatorTstd__pairTgpstk__RinexMetHeader__RinexMetType_const_double_t_t_t,
+  _swigc__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__allocator_type,
+  _swigc__p_std__mapTgpstk__RinexPrn_gpstk__RinexObsData__RinexObsTypeMap_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_gpstk__RinexObsData__RinexObsTypeMap_t_t_t__key_type,
+  _swigc__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t,
+  _swigc__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__allocator_type,
+  _swigc__p_std__mapTgpstk__RinexPrn_int_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_int_t_t_t__key_type,
+  _swigc__p_std__mapTgpstk__RinexPrn_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__mapTRinexObsType_RinexDatum_std__lessTRinexObsType_t_std__allocatorTstd__pairTRinexObsType_const_RinexDatum_t_t_t_t_t_t,
+  _swigc__p_std__mapTgpstk__RinexPrn_std__vectorTint_std__allocatorTint_t_t_std__lessTgpstk__RinexPrn_t_std__allocatorTstd__pairTgpstk__RinexPrn_const_std__vectorTint_std__allocatorTint_t_t_t_t_t,
+  _swigc__p_std__mapTshort_gpstk__AlmOrbit_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__AlmOrbit_t_t_t,
+  _swigc__p_std__mapTshort_gpstk__ObsClockModel__PRNMode_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNMode_t_t_t,
+  _swigc__p_std__mapTshort_gpstk__ObsClockModel__PRNStatus_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsClockModel__PRNStatus_t_t_t,
+  _swigc__p_std__mapTshort_gpstk__ObsRngDev_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__ObsRngDev_t_t_t,
+  _swigc__p_std__mapTshort_gpstk__Observation_std__lessTshort_t_std__allocatorTstd__pairTshort_const_gpstk__Observation_t_t_t,
+  _swigc__p_std__mapTshort_short_std__lessTshort_t_std__allocatorTstd__pairTshort_const_short_t_t_t,
+  _swigc__p_std__out_of_range,
+  _swigc__p_std__overflow_error,
+  _swigc__p_std__range_error,
+  _swigc__p_std__runtime_error,
+  _swigc__p_std__setTshort_t,
+  _swigc__p_std__string,
+  _swigc__p_std__underflow_error,
+  _swigc__p_std__valarrayTdouble_t,
+  _swigc__p_std__vectorTExtraWaveFact_std__allocatorTExtraWaveFact_t_t,
+  _swigc__p_std__vectorTRinexObsType_std__allocatorTRinexObsType_t_t,
+  _swigc__p_std__vectorTchar_std__allocatorTchar_t_t,
+  _swigc__p_std__vectorTdouble_std__allocatorTdouble_t_t,
+  _swigc__p_std__vectorTdouble_std__allocatorTdouble_t_t__allocator_type,
+  _swigc__p_std__vectorTgpstk__RinexMetHeader__RinexMetType_std__allocatorTgpstk__RinexMetHeader__RinexMetType_t_t,
+  _swigc__p_std__vectorTgpstk__RinexPrn_std__allocatorTgpstk__RinexPrn_t_t,
+  _swigc__p_std__vectorTint_std__allocatorTint_t_t,
+  _swigc__p_std__vectorTint_std__allocatorTint_t_t__allocator_type,
+  _swigc__p_std__vectorTlong_std__allocatorTlong_t_t,
+  _swigc__p_std__vectorTsensorPosType_std__allocatorTsensorPosType_t_t,
+  _swigc__p_std__vectorTsensorType_std__allocatorTsensorType_t_t,
+  _swigc__p_std__vectorTstd__string_std__allocatorTstd__string_t_t,
+  _swigc__p_time_t,
+  _swigc__p_timeval,
+  _swigc__p_traits_type,
+  _swigc__p_unsigned_int,
+  _swigc__p_unsigned_long,
+  _swigc__p_unsigned_long_long,
+  _swigc__p_unsigned_short,
+  _swigc__p_value_type,
+  _swigc__ptrdiff_t,
+  _swigc__size_t,
+  _swigc__std__ptrdiff_t,
+  _swigc__std__size_t,
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+static swig_const_info swig_const_table[] = {
+{ SWIG_PY_POINTER, (char*)"endl_cb_ptr", 0, 0, (void *)(std::basic_ostream<char,std::char_traits<char > > & (*)(std::basic_ostream<char,std::char_traits<char > > &))(std::endl<char,std::char_traits<char > >), &SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t},
+{ SWIG_PY_POINTER, (char*)"ends_cb_ptr", 0, 0, (void *)(std::basic_ostream<char,std::char_traits<char > > & (*)(std::basic_ostream<char,std::char_traits<char > > &))(std::ends<char,std::char_traits<char > >), &SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t},
+{ SWIG_PY_POINTER, (char*)"flush_cb_ptr", 0, 0, (void *)(std::basic_ostream<char,std::char_traits<char > > & (*)(std::basic_ostream<char,std::char_traits<char > > &))(std::flush<char,std::char_traits<char > >), &SWIGTYPE_p_f_r_std__basic_ostream__char_std__char_traits__char______r_std__basic_ostreamTchar_std__char_traitsTchar_t_t},
+{0, 0, 0, 0.0, 0, 0}};
+
+#ifdef __cplusplus
+}
+#endif
+/*************************************************************************
+ * Type initialization:
+ * This problem is tough by the requirement that no dynamic 
+ * memory is used. Also, since swig_type_info structures store pointers to 
+ * swig_cast_info structures and swig_cast_info structures store pointers back
+ * to swig_type_info structures, we need some lookup code at initialization. 
+ * The idea is that swig generates all the structures that are needed. 
+ * The runtime then collects these partially filled structures. 
+ * The SWIG_InitializeModule function takes these initial arrays out of 
+ * swig_module, and does all the lookup, filling in the swig_module.types
+ * array with the correct data and linking the correct swig_cast_info
+ * structures together.
+
+ * The generated swig_type_info structures are assigned staticly to an initial 
+ * array. We just loop though that array, and handle each type individually.
+ * First we lookup if this type has been already loaded, and if so, use the
+ * loaded structure instead of the generated one. Then we have to fill in the
+ * cast linked list. The cast data is initially stored in something like a
+ * two-dimensional array. Each row corresponds to a type (there are the same
+ * number of rows as there are in the swig_type_initial array). Each entry in
+ * a column is one of the swig_cast_info structures for that type.
+ * The cast_initial array is actually an array of arrays, because each row has
+ * a variable number of columns. So to actually build the cast linked list,
+ * we find the array of casts associated with the type, and loop through it 
+ * adding the casts to the list. The one last trick we need to do is making
+ * sure the type pointer in the swig_cast_info struct is correct.
+
+ * First off, we lookup the cast->type name to see if it is already loaded. 
+ * There are three cases to handle:
+ *  1) If the cast->type has already been loaded AND the type we are adding
+ *     casting info to has not been loaded (it is in this module), THEN we
+ *     replace the cast->type pointer with the type pointer that has already
+ *     been loaded.
+ *  2) If BOTH types (the one we are adding casting info to, and the 
+ *     cast->type) are loaded, THEN the cast info has already been loaded by
+ *     the previous module so we just ignore it.
+ *  3) Finally, if cast->type has not already been loaded, then we add that
+ *     swig_cast_info to the linked list (because the cast->type) pointer will
+ *     be correct.
+**/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+    
+    SWIGRUNTIME void
+    SWIG_InitializeModule(void *clientdata) {
+        swig_type_info *type, *ret;
+        swig_cast_info *cast;
+        size_t i;
+        swig_module_info *module_head;
+        static int init_run = 0;
+        
+        clientdata = clientdata;
+        
+        if (init_run) return;
+        init_run = 1;
+        
+        /* Initialize the swig_module */
+        swig_module.type_initial = swig_type_initial;
+        swig_module.cast_initial = swig_cast_initial;
+        
+        /* Try and load any already created modules */
+        module_head = SWIG_GetModule(clientdata);
+        if (module_head) {
+            swig_module.next = module_head->next;
+            module_head->next = &swig_module;
+        } else {
+            /* This is the first module loaded */
+            swig_module.next = &swig_module;
+            SWIG_SetModule(clientdata, &swig_module);
+        }
+        
+        /* Now work on filling in swig_module.types */
+        for (i = 0; i < swig_module.size; ++i) {
+            type = 0;
+            
+            /* if there is another module already loaded */
+            if (swig_module.next != &swig_module) {
+                type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
+            }
+            if (type) {
+                /* Overwrite clientdata field */
+                if (swig_module.type_initial[i]->clientdata) type->clientdata = swig_module.type_initial[i]->clientdata;
+            } else {
+                type = swig_module.type_initial[i];
+            }
+            
+            /* Insert casting types */
+            cast = swig_module.cast_initial[i];
+            while (cast->type) {
+                /* Don't need to add information already in the list */
+                ret = 0;
+                if (swig_module.next != &swig_module) {
+                    ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
+                }
+                if (ret && type == swig_module.type_initial[i]) {
+                    cast->type = ret;
+                    ret = 0;
+                }
+                
+                if (!ret) {
+                    if (type->cast) {
+                        type->cast->prev = cast;
+                        cast->next = type->cast;
+                    }
+                    type->cast = cast;
+                }
+                
+                cast++;
+            }
+            
+            /* Set entry in modules->types array equal to the type */
+            swig_module.types[i] = type;
+        }
+    }
+    
+    /* This function will propagate the clientdata field of type to
+    * any new swig_type_info structures that have been added into the list
+    * of equivalent types.  It is like calling
+    * SWIG_TypeClientData(type, clientdata) a second time.
+    */
+    SWIGRUNTIME void
+    SWIG_PropagateClientData(void) {
+        size_t i;
+        swig_cast_info *equiv;
+        static int init_run = 0;
+        
+        if (init_run) return;
+        init_run = 1;
+        
+        for (i = 0; i < swig_module.size; i++) {
+            if (swig_module.types[i]->clientdata) {
+                equiv = swig_module.types[i]->cast;
+                while (equiv) {
+                    if (!equiv->converter) {
+                        if (equiv->type && !equiv->type->clientdata)
+                        SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
+                    }
+                    equiv = equiv->next;
+                }
+            }
+        }
+    }
+    
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+    
+    /* Python-specific SWIG API */
+#define SWIG_newvarlink()                             SWIG_Python_newvarlink()
+#define SWIG_addvarlink(p, name, get_attr, set_attr)  SWIG_Python_addvarlink(p, name, get_attr, set_attr)
+#define SWIG_InstallConstants(d, constants)           SWIG_Python_InstallConstants(d, constants)
+    
+    /* -----------------------------------------------------------------------------
+     * global variable support code.
+     * ----------------------------------------------------------------------------- */
+    
+    typedef struct swig_globalvar {
+        char       *name;                  /* Name of global variable */
+        PyObject *(*get_attr)(void);       /* Return the current value */
+        int       (*set_attr)(PyObject *); /* Set the value */
+        struct swig_globalvar *next;
+    } swig_globalvar;
+    
+    typedef struct swig_varlinkobject {
+        PyObject_HEAD
+        swig_globalvar *vars;
+    } swig_varlinkobject;
+    
+    SWIGINTERN PyObject *
+    swig_varlink_repr(swig_varlinkobject *v) {
+        v = v;
+        return PyString_FromString("<Swig global variables>");
+    }
+    
+    SWIGINTERN int
+    swig_varlink_print(swig_varlinkobject *v, FILE *fp, int flags) {
+        swig_globalvar  *var;
+        flags = flags;
+        fprintf(fp,"Swig global variables { ");
+        for (var = v->vars; var; var=var->next) {
+            fprintf(fp,"%s", var->name);
+            if (var->next) fprintf(fp,", ");
+        }
+        fprintf(fp," }\n");
+        return 0;
+    }
+    
+    SWIGINTERN PyObject *
+    swig_varlink_getattr(swig_varlinkobject *v, char *n) {
+        swig_globalvar *var = v->vars;
+        while (var) {
+            if (strcmp(var->name,n) == 0) {
+                return (*var->get_attr)();
+            }
+            var = var->next;
+        }
+        PyErr_SetString(PyExc_NameError,"Unknown C global variable");
+        return NULL;
+    }
+    
+    SWIGINTERN int
+    swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) {
+        swig_globalvar *var = v->vars;
+        while (var) {
+            if (strcmp(var->name,n) == 0) {
+                return (*var->set_attr)(p);
+            }
+            var = var->next;
+        }
+        PyErr_SetString(PyExc_NameError,"Unknown C global variable");
+        return 1;
+    }
+    
+    SWIGINTERN PyTypeObject*
+    swig_varlink_type(void) {
+        static char varlink__doc__[] = "Swig var link object";
+        static PyTypeObject varlink_type
+#if !defined(__cplusplus)
+        ;
+        static int type_init = 0;  
+        if (!type_init) {
+            PyTypeObject tmp
+#endif
+            = {
+                PyObject_HEAD_INIT(&PyType_Type)
+                0,                                  /* Number of items in variable part (ob_size) */
+                (char *)"swigvarlink",              /* Type name (tp_name) */
+                sizeof(swig_varlinkobject),         /* Basic size (tp_basicsize) */
+                0,                                  /* Itemsize (tp_itemsize) */
+                0,                                  /* Deallocator (tp_dealloc) */ 
+                (printfunc) swig_varlink_print,     /* Print (tp_print) */
+                (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */
+                (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */
+                0,                                  /* tp_compare */
+                (reprfunc) swig_varlink_repr,       /* tp_repr */
+                0,                                  /* tp_as_number */
+                0,                                  /* tp_as_sequence */
+                0,                                  /* tp_as_mapping */
+                0,                                  /* tp_hash */
+                0,                                  /* tp_call */
+                0,                                  /* tp_str */
+                0,                                  /* tp_getattro */
+                0,                                  /* tp_setattro */
+                0,                                  /* tp_as_buffer */
+                0,                                  /* tp_flags */
+                varlink__doc__,                     /* tp_doc */
+#if PY_VERSION_HEX >= 0x02000000
+                0,                                  /* tp_traverse */
+                0,                                  /* tp_clear */
+#endif
+#if PY_VERSION_HEX >= 0x02010000
+                0,                                  /* tp_richcompare */
+                0,                                  /* tp_weaklistoffset */
+#endif
+#if PY_VERSION_HEX >= 0x02020000
+                0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */
+#endif
+#if PY_VERSION_HEX >= 0x02030000
+                0,                                  /* tp_del */
+#endif
+#ifdef COUNT_ALLOCS
+                0,0,0,0                             /* tp_alloc -> tp_next */
+#endif
+            };
+#if !defined(__cplusplus)
+            varlink_type = tmp;
+            type_init = 1;
+        }
+#endif
+        return &varlink_type;
+    }
+    
+    /* Create a variable linking object for use later */
+    SWIGINTERN PyObject *
+    SWIG_Python_newvarlink(void) {
+        swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type());
+        if (result) {
+            result->vars = 0;
+        }
+        return ((PyObject*) result);
+    }
+    
+    SWIGINTERN void 
+    SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) {
+        swig_varlinkobject *v = (swig_varlinkobject *) p;
+        swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar));
+        if (gv) {
+            size_t size = strlen(name)+1;
+            gv->name = (char *)malloc(size);
+            if (gv->name) {
+                strncpy(gv->name,name,size);
+                gv->get_attr = get_attr;
+                gv->set_attr = set_attr;
+                gv->next = v->vars;
+            }
+        }
+        v->vars = gv;
+    }
+    
+    /* -----------------------------------------------------------------------------
+     * constants/methods manipulation
+     * ----------------------------------------------------------------------------- */
+    
+    /* Install Constants */
+    SWIGINTERN void
+    SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) {
+        PyObject *obj = 0;
+        size_t i;
+        for (i = 0; constants[i].type; ++i) {
+            switch(constants[i].type) {
+                case SWIG_PY_INT:
+                obj = PyInt_FromLong(constants[i].lvalue);
+                break;
+                case SWIG_PY_FLOAT:
+                obj = PyFloat_FromDouble(constants[i].dvalue);
+                break;
+                case SWIG_PY_STRING:
+                if (constants[i].pvalue) {
+                    obj = PyString_FromString((char *) constants[i].pvalue);
+                } else {
+                    Py_INCREF(Py_None);
+                    obj = Py_None;
+                }
+                break;
+                case SWIG_PY_POINTER:
+                obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
+                break;
+                case SWIG_PY_BINARY:
+                obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype));
+                break;
+                default:
+                obj = 0;
+                break;
+            }
+            if (obj) {
+                PyDict_SetItemString(d,constants[i].name,obj);
+                Py_DECREF(obj);
+            }
+        }
+    }
+    
+    /* -----------------------------------------------------------------------------*/
+    /* Fix SwigMethods to carry the callback ptrs when needed */
+    /* -----------------------------------------------------------------------------*/
+    
+    SWIGINTERN void
+    SWIG_Python_FixMethods(PyMethodDef *methods,
+    swig_const_info *const_table,
+    swig_type_info **types,
+    swig_type_info **types_initial) {
+        size_t i;
+        for (i = 0; methods[i].ml_name; ++i) {
+            char *c = methods[i].ml_doc;
+            if (c && (c = strstr(c, "swig_ptr: "))) {
+                int j;
+                swig_const_info *ci = 0;
+                char *name = c + 10;
+                for (j = 0; const_table[j].type; ++j) {
+                    if (strncmp(const_table[j].name, name, 
+                    strlen(const_table[j].name)) == 0) {
+                        ci = &(const_table[j]);
+                        break;
+                    }
+                }
+                if (ci) {
+                    size_t shift = (ci->ptype) - types;
+                    swig_type_info *ty = types_initial[shift];
+                    size_t ldoc = (c - methods[i].ml_doc);
+                    size_t lptr = strlen(ty->name)+2*sizeof(void*)+2;
+                    char *ndoc = (char*)malloc(ldoc + lptr + 10);
+                    if (ndoc) {
+                        char *buff = ndoc;
+                        void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0;
+                        if (ptr) {
+                            strncpy(buff, methods[i].ml_doc, ldoc);
+                            buff += ldoc;
+                            strncpy(buff, "swig_ptr: ", 10);
+                            buff += 10;
+                            SWIG_PackVoidPtr(buff, ptr, ty->name, lptr);
+                            methods[i].ml_doc = ndoc;
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    /* -----------------------------------------------------------------------------*
+     *  Initialize type list
+     * -----------------------------------------------------------------------------*/
+    
+#if PY_MAJOR_VERSION < 2
+    /* PyModule_AddObject function was introduced in Python 2.0.  The following function
+    is copied out of Python/modsupport.c in python version 2.3.4 */
+    SWIGINTERN int
+    PyModule_AddObject(PyObject *m, char *name, PyObject *o)
+    {
+        PyObject *dict;
+        if (!PyModule_Check(m)) {
+            PyErr_SetString(PyExc_TypeError,
+            "PyModule_AddObject() needs module as first arg");
+            return -1;
+        }
+        if (!o) {
+            PyErr_SetString(PyExc_TypeError,
+            "PyModule_AddObject() needs non-NULL value");
+            return -1;
+        }
+        
+        dict = PyModule_GetDict(m);
+        if (dict == NULL) {
+            /* Internal error -- modules must have a dict! */
+            PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__",
+            PyModule_GetName(m));
+            return -1;
+        }
+        if (PyDict_SetItemString(dict, name, o))
+        return -1;
+        Py_DECREF(o);
+        return 0;
+    }
+#endif
+    
+#ifdef __cplusplus
+}
+#endif
+
+/* -----------------------------------------------------------------------------*
+ *  Partial Init method
+ * -----------------------------------------------------------------------------*/
+
+#ifdef __cplusplus
+extern "C"
+#endif
+SWIGEXPORT void SWIG_init(void) {
+    static PyObject *SWIG_globals = 0; 
+    PyObject *m, *d;
+    if (!SWIG_globals) SWIG_globals = SWIG_newvarlink();
+    
+    /* Fix SwigMethods to carry the callback ptrs when needed */
+    SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial);
+    
+    m = Py_InitModule((char *) SWIG_name, SwigMethods);
+    d = PyModule_GetDict(m);
+    
+    SWIG_InitializeModule(0);
+    SWIG_InstallConstants(d,swig_const_table);
+    
+    PyDict_SetItemString(d,(char*)"cvar", SWIG_globals);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_boolalpha",_wrap_ios_base_boolalpha_get, _wrap_ios_base_boolalpha_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_dec",_wrap_ios_base_dec_get, _wrap_ios_base_dec_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_fixed",_wrap_ios_base_fixed_get, _wrap_ios_base_fixed_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_hex",_wrap_ios_base_hex_get, _wrap_ios_base_hex_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_internal",_wrap_ios_base_internal_get, _wrap_ios_base_internal_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_left",_wrap_ios_base_left_get, _wrap_ios_base_left_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_oct",_wrap_ios_base_oct_get, _wrap_ios_base_oct_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_right",_wrap_ios_base_right_get, _wrap_ios_base_right_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_scientific",_wrap_ios_base_scientific_get, _wrap_ios_base_scientific_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_showbase",_wrap_ios_base_showbase_get, _wrap_ios_base_showbase_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_showpoint",_wrap_ios_base_showpoint_get, _wrap_ios_base_showpoint_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_showpos",_wrap_ios_base_showpos_get, _wrap_ios_base_showpos_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_skipws",_wrap_ios_base_skipws_get, _wrap_ios_base_skipws_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_unitbuf",_wrap_ios_base_unitbuf_get, _wrap_ios_base_unitbuf_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_uppercase",_wrap_ios_base_uppercase_get, _wrap_ios_base_uppercase_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_adjustfield",_wrap_ios_base_adjustfield_get, _wrap_ios_base_adjustfield_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_basefield",_wrap_ios_base_basefield_get, _wrap_ios_base_basefield_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_floatfield",_wrap_ios_base_floatfield_get, _wrap_ios_base_floatfield_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_badbit",_wrap_ios_base_badbit_get, _wrap_ios_base_badbit_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_eofbit",_wrap_ios_base_eofbit_get, _wrap_ios_base_eofbit_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_failbit",_wrap_ios_base_failbit_get, _wrap_ios_base_failbit_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_goodbit",_wrap_ios_base_goodbit_get, _wrap_ios_base_goodbit_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_app",_wrap_ios_base_app_get, _wrap_ios_base_app_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_ate",_wrap_ios_base_ate_get, _wrap_ios_base_ate_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_binary",_wrap_ios_base_binary_get, _wrap_ios_base_binary_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_ios_base_in",_wrap_ios_base_ios_base_in_get, _wrap_ios_base_ios_base_in_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_out",_wrap_ios_base_out_get, _wrap_ios_base_out_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_trunc",_wrap_ios_base_trunc_get, _wrap_ios_base_trunc_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_beg",_wrap_ios_base_beg_get, _wrap_ios_base_beg_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_cur",_wrap_ios_base_cur_get, _wrap_ios_base_cur_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"ios_base_end",_wrap_ios_base_end_get, _wrap_ios_base_end_set);
+    {
+        PyDict_SetItemString(d,"ios_base_erase_event", SWIG_From_int((int)(std::ios_base::erase_event))); 
+    }
+    {
+        PyDict_SetItemString(d,"ios_base_imbue_event", SWIG_From_int((int)(std::ios_base::imbue_event))); 
+    }
+    {
+        PyDict_SetItemString(d,"ios_base_copyfmt_event", SWIG_From_int((int)(std::ios_base::copyfmt_event))); 
+    }
+    SWIG_addvarlink(SWIG_globals,(char*)"cin",_wrap_cin_get, _wrap_cin_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"cout",_wrap_cout_get, _wrap_cout_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"cerr",_wrap_cerr_get, _wrap_cerr_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"clog",_wrap_clog_get, _wrap_clog_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"PI",_wrap_PI_get, _wrap_PI_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"TWO_PI",_wrap_TWO_PI_get, _wrap_TWO_PI_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"SQRT_PI",_wrap_SQRT_PI_get, _wrap_SQRT_PI_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"REL_CONST",_wrap_REL_CONST_get, _wrap_REL_CONST_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"OSC_FREQ",_wrap_OSC_FREQ_get, _wrap_OSC_FREQ_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"C_GPS_M",_wrap_C_GPS_M_get, _wrap_C_GPS_M_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RSVCLK",_wrap_RSVCLK_get, _wrap_RSVCLK_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"L1_FREQ",_wrap_L1_FREQ_get, _wrap_L1_FREQ_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"L2_FREQ",_wrap_L2_FREQ_get, _wrap_L2_FREQ_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"L1_MULT",_wrap_L1_MULT_get, _wrap_L1_MULT_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"L2_MULT",_wrap_L2_MULT_get, _wrap_L2_MULT_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"SV_ACCURACY_MAX_INDEX_VALUE",_wrap_SV_ACCURACY_MAX_INDEX_VALUE_get, _wrap_SV_ACCURACY_MAX_INDEX_VALUE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"SV_ACCURACY_MIN_INDEX",_wrap_SV_ACCURACY_MIN_INDEX_get, _wrap_SV_ACCURACY_MIN_INDEX_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"SV_ACCURACY_MAX_INDEX",_wrap_SV_ACCURACY_MAX_INDEX_get, _wrap_SV_ACCURACY_MAX_INDEX_set);
+    {
+        PyDict_SetItemString(d,"Exception_unrecoverable", SWIG_From_int((int)(gpstk::Exception::unrecoverable))); 
+    }
+    {
+        PyDict_SetItemString(d,"Exception_recoverable", SWIG_From_int((int)(gpstk::Exception::recoverable))); 
+    }
+    SWIG_addvarlink(SWIG_globals,(char*)"LENGTH_OF_EOW_OVERLAP",_wrap_LENGTH_OF_EOW_OVERLAP_get, _wrap_LENGTH_OF_EOW_OVERLAP_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"OVERLAP_WORD_POSITION",_wrap_OVERLAP_WORD_POSITION_get, _wrap_OVERLAP_WORD_POSITION_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"MAX_X2_TEST",_wrap_MAX_X2_TEST_get, _wrap_MAX_X2_TEST_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"MAX_X2_COUNT",_wrap_MAX_X2_COUNT_get, _wrap_MAX_X2_COUNT_set);
+    {
+        PyDict_SetItemString(d,"SatID_systemGPS", SWIG_From_int((int)(gpstk::SatID::systemGPS))); 
+    }
+    {
+        PyDict_SetItemString(d,"SatID_systemGlonass", SWIG_From_int((int)(gpstk::SatID::systemGlonass))); 
+    }
+    {
+        PyDict_SetItemString(d,"SatID_systemTransit", SWIG_From_int((int)(gpstk::SatID::systemTransit))); 
+    }
+    {
+        PyDict_SetItemString(d,"SatID_systemGeosync", SWIG_From_int((int)(gpstk::SatID::systemGeosync))); 
+    }
+    {
+        PyDict_SetItemString(d,"SatID_systemMixed", SWIG_From_int((int)(gpstk::SatID::systemMixed))); 
+    }
+    SWIG_addvarlink(SWIG_globals,(char*)"SatID_fillchar",_wrap_SatID_fillchar_get, _wrap_SatID_fillchar_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"MAX_WORD",_wrap_MAX_WORD_get, _wrap_MAX_WORD_set);
+    {
+        PyDict_SetItemString(d,"Observation_rcCA", SWIG_From_int((int)(gpstk::Observation::rcCA))); 
+    }
+    {
+        PyDict_SetItemString(d,"Observation_rcPY", SWIG_From_int((int)(gpstk::Observation::rcPY))); 
+    }
+    {
+        PyDict_SetItemString(d,"Observation_rcZ", SWIG_From_int((int)(gpstk::Observation::rcZ))); 
+    }
+    {
+        PyDict_SetItemString(d,"Observation_rcRC", SWIG_From_int((int)(gpstk::Observation::rcRC))); 
+    }
+    {
+        PyDict_SetItemString(d,"Observation_rcOther", SWIG_From_int((int)(gpstk::Observation::rcOther))); 
+    }
+    {
+        PyDict_SetItemString(d,"Observation_cfL1", SWIG_From_int((int)(gpstk::Observation::cfL1))); 
+    }
+    {
+        PyDict_SetItemString(d,"Observation_cfL2", SWIG_From_int((int)(gpstk::Observation::cfL2))); 
+    }
+    {
+        PyDict_SetItemString(d,"Observation_cfL5", SWIG_From_int((int)(gpstk::Observation::cfL5))); 
+    }
+    {
+        PyDict_SetItemString(d,"Observation_cfOther", SWIG_From_int((int)(gpstk::Observation::cfOther))); 
+    }
+    {
+        PyDict_SetItemString(d,"WxObservation_noWx", SWIG_From_int((int)(gpstk::WxObservation::noWx))); 
+    }
+    {
+        PyDict_SetItemString(d,"WxObservation_defWx", SWIG_From_int((int)(gpstk::WxObservation::defWx))); 
+    }
+    {
+        PyDict_SetItemString(d,"WxObservation_obsWx", SWIG_From_int((int)(gpstk::WxObservation::obsWx))); 
+    }
+    {
+        PyDict_SetItemString(d,"IonoModel_L1", SWIG_From_int((int)(gpstk::IonoModel::L1))); 
+    }
+    {
+        PyDict_SetItemString(d,"IonoModel_L2", SWIG_From_int((int)(gpstk::IonoModel::L2))); 
+    }
+    {
+        PyDict_SetItemString(d,"ObsClockModel_IGNORE", SWIG_From_int((int)(gpstk::ObsClockModel::IGNORE))); 
+    }
+    {
+        PyDict_SetItemString(d,"ObsClockModel_HEALTHY", SWIG_From_int((int)(gpstk::ObsClockModel::HEALTHY))); 
+    }
+    {
+        PyDict_SetItemString(d,"ObsClockModel_ALWAYS", SWIG_From_int((int)(gpstk::ObsClockModel::ALWAYS))); 
+    }
+    {
+        PyDict_SetItemString(d,"ObsClockModel_USED", SWIG_From_int((int)(gpstk::ObsClockModel::USED))); 
+    }
+    {
+        PyDict_SetItemString(d,"ObsClockModel_MANUAL", SWIG_From_int((int)(gpstk::ObsClockModel::MANUAL))); 
+    }
+    {
+        PyDict_SetItemString(d,"ObsClockModel_SVHEALTH", SWIG_From_int((int)(gpstk::ObsClockModel::SVHEALTH))); 
+    }
+    {
+        PyDict_SetItemString(d,"ObsClockModel_ELEVATION", SWIG_From_int((int)(gpstk::ObsClockModel::ELEVATION))); 
+    }
+    {
+        PyDict_SetItemString(d,"ObsClockModel_SIGMA", SWIG_From_int((int)(gpstk::ObsClockModel::SIGMA))); 
+    }
+    {
+        PyDict_SetItemString(d,"FileHunter_WEEK", SWIG_From_int((int)(gpstk::FileHunter::WEEK))); 
+    }
+    {
+        PyDict_SetItemString(d,"FileHunter_DAY", SWIG_From_int((int)(gpstk::FileHunter::DAY))); 
+    }
+    {
+        PyDict_SetItemString(d,"FileHunter_HOUR", SWIG_From_int((int)(gpstk::FileHunter::HOUR))); 
+    }
+    {
+        PyDict_SetItemString(d,"FileHunter_MINUTE", SWIG_From_int((int)(gpstk::FileHunter::MINUTE))); 
+    }
+    {
+        PyDict_SetItemString(d,"SMODFStream_undefined", SWIG_From_int((int)(gpstk::SMODFStream::undefined))); 
+    }
+    {
+        PyDict_SetItemString(d,"SMODFStream_legacy", SWIG_From_int((int)(gpstk::SMODFStream::legacy))); 
+    }
+    {
+        PyDict_SetItemString(d,"SMODFStream_icd211", SWIG_From_int((int)(gpstk::SMODFStream::icd211))); 
+    }
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_C1depend",_wrap_RinexObsType_C1depend_get, _wrap_RinexObsType_C1depend_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_L1depend",_wrap_RinexObsType_L1depend_get, _wrap_RinexObsType_L1depend_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_L2depend",_wrap_RinexObsType_L2depend_get, _wrap_RinexObsType_L2depend_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_P1depend",_wrap_RinexObsType_P1depend_get, _wrap_RinexObsType_P1depend_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_P2depend",_wrap_RinexObsType_P2depend_get, _wrap_RinexObsType_P2depend_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_EPdepend",_wrap_RinexObsType_EPdepend_get, _wrap_RinexObsType_EPdepend_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsType_PSdepend",_wrap_RinexObsType_PSdepend_get, _wrap_RinexObsType_PSdepend_set);
+    {
+        PyDict_SetItemString(d,"systemGPS", SWIG_From_int((int)(gpstk::systemGPS))); 
+    }
+    {
+        PyDict_SetItemString(d,"systemGlonass", SWIG_From_int((int)(gpstk::systemGlonass))); 
+    }
+    {
+        PyDict_SetItemString(d,"systemTransit", SWIG_From_int((int)(gpstk::systemTransit))); 
+    }
+    {
+        PyDict_SetItemString(d,"systemGeosync", SWIG_From_int((int)(gpstk::systemGeosync))); 
+    }
+    {
+        PyDict_SetItemString(d,"systemMixed", SWIG_From_int((int)(gpstk::systemMixed))); 
+    }
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexPrn_fillchar",_wrap_RinexPrn_fillchar_get, _wrap_RinexPrn_fillchar_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_versionString",_wrap_RinexObsHeader_versionString_get, _wrap_RinexObsHeader_versionString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_runByString",_wrap_RinexObsHeader_runByString_get, _wrap_RinexObsHeader_runByString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_commentString",_wrap_RinexObsHeader_commentString_get, _wrap_RinexObsHeader_commentString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_markerNameString",_wrap_RinexObsHeader_markerNameString_get, _wrap_RinexObsHeader_markerNameString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_markerNumberString",_wrap_RinexObsHeader_markerNumberString_get, _wrap_RinexObsHeader_markerNumberString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_observerString",_wrap_RinexObsHeader_observerString_get, _wrap_RinexObsHeader_observerString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_receiverString",_wrap_RinexObsHeader_receiverString_get, _wrap_RinexObsHeader_receiverString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_antennaTypeString",_wrap_RinexObsHeader_antennaTypeString_get, _wrap_RinexObsHeader_antennaTypeString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_antennaPositionString",_wrap_RinexObsHeader_antennaPositionString_get, _wrap_RinexObsHeader_antennaPositionString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_antennaOffsetString",_wrap_RinexObsHeader_antennaOffsetString_get, _wrap_RinexObsHeader_antennaOffsetString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_waveFactString",_wrap_RinexObsHeader_waveFactString_get, _wrap_RinexObsHeader_waveFactString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_numObsString",_wrap_RinexObsHeader_numObsString_get, _wrap_RinexObsHeader_numObsString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_intervalString",_wrap_RinexObsHeader_intervalString_get, _wrap_RinexObsHeader_intervalString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_firstTimeString",_wrap_RinexObsHeader_firstTimeString_get, _wrap_RinexObsHeader_firstTimeString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_lastTimeString",_wrap_RinexObsHeader_lastTimeString_get, _wrap_RinexObsHeader_lastTimeString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_receiverOffsetString",_wrap_RinexObsHeader_receiverOffsetString_get, _wrap_RinexObsHeader_receiverOffsetString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_leapSecondsString",_wrap_RinexObsHeader_leapSecondsString_get, _wrap_RinexObsHeader_leapSecondsString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_numSatsString",_wrap_RinexObsHeader_numSatsString_get, _wrap_RinexObsHeader_numSatsString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_prnObsString",_wrap_RinexObsHeader_prnObsString_get, _wrap_RinexObsHeader_prnObsString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_endOfHeader",_wrap_RinexObsHeader_endOfHeader_get, _wrap_RinexObsHeader_endOfHeader_set);
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_versionValid", SWIG_From_int((int)(gpstk::RinexObsHeader::versionValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_runByValid", SWIG_From_int((int)(gpstk::RinexObsHeader::runByValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_commentValid", SWIG_From_int((int)(gpstk::RinexObsHeader::commentValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_markerNameValid", SWIG_From_int((int)(gpstk::RinexObsHeader::markerNameValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_markerNumberValid", SWIG_From_int((int)(gpstk::RinexObsHeader::markerNumberValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_observerValid", SWIG_From_int((int)(gpstk::RinexObsHeader::observerValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_receiverValid", SWIG_From_int((int)(gpstk::RinexObsHeader::receiverValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_antennaTypeValid", SWIG_From_int((int)(gpstk::RinexObsHeader::antennaTypeValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_antennaPositionValid", SWIG_From_int((int)(gpstk::RinexObsHeader::antennaPositionValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_antennaOffsetValid", SWIG_From_int((int)(gpstk::RinexObsHeader::antennaOffsetValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_waveFactValid", SWIG_From_int((int)(gpstk::RinexObsHeader::waveFactValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_obsTypeValid", SWIG_From_int((int)(gpstk::RinexObsHeader::obsTypeValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_intervalValid", SWIG_From_int((int)(gpstk::RinexObsHeader::intervalValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_firstTimeValid", SWIG_From_int((int)(gpstk::RinexObsHeader::firstTimeValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_lastTimeValid", SWIG_From_int((int)(gpstk::RinexObsHeader::lastTimeValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_receiverOffsetValid", SWIG_From_int((int)(gpstk::RinexObsHeader::receiverOffsetValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_leapSecondsValid", SWIG_From_int((int)(gpstk::RinexObsHeader::leapSecondsValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_numSatsValid", SWIG_From_int((int)(gpstk::RinexObsHeader::numSatsValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_prnObsValid", SWIG_From_int((int)(gpstk::RinexObsHeader::prnObsValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_endValid", SWIG_From_int((int)(gpstk::RinexObsHeader::endValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_allValid20", SWIG_From_int((int)(gpstk::RinexObsHeader::allValid20))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexObsHeader_allValid21", SWIG_From_int((int)(gpstk::RinexObsHeader::allValid21))); 
+    }
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_UN",_wrap_RinexObsHeader_UN_get, _wrap_RinexObsHeader_UN_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_L1",_wrap_RinexObsHeader_L1_get, _wrap_RinexObsHeader_L1_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_L2",_wrap_RinexObsHeader_L2_get, _wrap_RinexObsHeader_L2_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_C1",_wrap_RinexObsHeader_C1_get, _wrap_RinexObsHeader_C1_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_P1",_wrap_RinexObsHeader_P1_get, _wrap_RinexObsHeader_P1_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_P2",_wrap_RinexObsHeader_P2_get, _wrap_RinexObsHeader_P2_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_D1",_wrap_RinexObsHeader_D1_get, _wrap_RinexObsHeader_D1_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_D2",_wrap_RinexObsHeader_D2_get, _wrap_RinexObsHeader_D2_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_S1",_wrap_RinexObsHeader_S1_get, _wrap_RinexObsHeader_S1_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_S2",_wrap_RinexObsHeader_S2_get, _wrap_RinexObsHeader_S2_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_T1",_wrap_RinexObsHeader_T1_get, _wrap_RinexObsHeader_T1_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_T2",_wrap_RinexObsHeader_T2_get, _wrap_RinexObsHeader_T2_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_StandardRinexObsTypes",_wrap_RinexObsHeader_StandardRinexObsTypes_get, _wrap_RinexObsHeader_StandardRinexObsTypes_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexObsHeader_RegisteredRinexObsTypes",_wrap_RinexObsHeader_RegisteredRinexObsTypes_get, _wrap_RinexObsHeader_RegisteredRinexObsTypes_set);
+    {
+        PyDict_SetItemString(d,"RinexNavHeader_versionValid", SWIG_From_int((int)(gpstk::RinexNavHeader::versionValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexNavHeader_runByValid", SWIG_From_int((int)(gpstk::RinexNavHeader::runByValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexNavHeader_commentValid", SWIG_From_int((int)(gpstk::RinexNavHeader::commentValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexNavHeader_ionAlphaValid", SWIG_From_int((int)(gpstk::RinexNavHeader::ionAlphaValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexNavHeader_ionBetaValid", SWIG_From_int((int)(gpstk::RinexNavHeader::ionBetaValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexNavHeader_deltaUTCValid", SWIG_From_int((int)(gpstk::RinexNavHeader::deltaUTCValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexNavHeader_leapSecondsValid", SWIG_From_int((int)(gpstk::RinexNavHeader::leapSecondsValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexNavHeader_endValid", SWIG_From_int((int)(gpstk::RinexNavHeader::endValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexNavHeader_allValid20", SWIG_From_int((int)(gpstk::RinexNavHeader::allValid20))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexNavHeader_allValid21", SWIG_From_int((int)(gpstk::RinexNavHeader::allValid21))); 
+    }
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_versionString",_wrap_RinexNavHeader_versionString_get, _wrap_RinexNavHeader_versionString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_runByString",_wrap_RinexNavHeader_runByString_get, _wrap_RinexNavHeader_runByString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_commentString",_wrap_RinexNavHeader_commentString_get, _wrap_RinexNavHeader_commentString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_ionAlphaString",_wrap_RinexNavHeader_ionAlphaString_get, _wrap_RinexNavHeader_ionAlphaString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_ionBetaString",_wrap_RinexNavHeader_ionBetaString_get, _wrap_RinexNavHeader_ionBetaString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_deltaUTCString",_wrap_RinexNavHeader_deltaUTCString_get, _wrap_RinexNavHeader_deltaUTCString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_leapSecondsString",_wrap_RinexNavHeader_leapSecondsString_get, _wrap_RinexNavHeader_leapSecondsString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexNavHeader_endOfHeader",_wrap_RinexNavHeader_endOfHeader_get, _wrap_RinexNavHeader_endOfHeader_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"FICData_blockString",_wrap_FICData_blockString_get, _wrap_FICData_blockString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"FICHeader_headerSize",_wrap_FICHeader_headerSize_get, _wrap_FICHeader_headerSize_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexMetData_maxObsPerLine",_wrap_RinexMetData_maxObsPerLine_get, _wrap_RinexMetData_maxObsPerLine_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexMetData_maxObsPerContinuationLine",_wrap_RinexMetData_maxObsPerContinuationLine_get, _wrap_RinexMetData_maxObsPerContinuationLine_set);
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_PR", SWIG_From_int((int)(gpstk::RinexMetHeader::PR))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_TD", SWIG_From_int((int)(gpstk::RinexMetHeader::TD))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_HR", SWIG_From_int((int)(gpstk::RinexMetHeader::HR))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_ZW", SWIG_From_int((int)(gpstk::RinexMetHeader::ZW))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_ZD", SWIG_From_int((int)(gpstk::RinexMetHeader::ZD))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_ZT", SWIG_From_int((int)(gpstk::RinexMetHeader::ZT))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_versionValid", SWIG_From_int((int)(gpstk::RinexMetHeader::versionValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_runByValid", SWIG_From_int((int)(gpstk::RinexMetHeader::runByValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_commentValid", SWIG_From_int((int)(gpstk::RinexMetHeader::commentValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_markerNameValid", SWIG_From_int((int)(gpstk::RinexMetHeader::markerNameValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_markerNumberValid", SWIG_From_int((int)(gpstk::RinexMetHeader::markerNumberValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_obsTypeValid", SWIG_From_int((int)(gpstk::RinexMetHeader::obsTypeValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_sensorTypeValid", SWIG_From_int((int)(gpstk::RinexMetHeader::sensorTypeValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_sensorPosValid", SWIG_From_int((int)(gpstk::RinexMetHeader::sensorPosValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_endValid", SWIG_From_int((int)(gpstk::RinexMetHeader::endValid))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_allValid20", SWIG_From_int((int)(gpstk::RinexMetHeader::allValid20))); 
+    }
+    {
+        PyDict_SetItemString(d,"RinexMetHeader_allValid21", SWIG_From_int((int)(gpstk::RinexMetHeader::allValid21))); 
+    }
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_maxObsPerLine",_wrap_RinexMetHeader_maxObsPerLine_get, _wrap_RinexMetHeader_maxObsPerLine_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_versionString",_wrap_RinexMetHeader_versionString_get, _wrap_RinexMetHeader_versionString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_runByString",_wrap_RinexMetHeader_runByString_get, _wrap_RinexMetHeader_runByString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_commentString",_wrap_RinexMetHeader_commentString_get, _wrap_RinexMetHeader_commentString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_markerNameString",_wrap_RinexMetHeader_markerNameString_get, _wrap_RinexMetHeader_markerNameString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_markerNumberString",_wrap_RinexMetHeader_markerNumberString_get, _wrap_RinexMetHeader_markerNumberString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_obsTypeString",_wrap_RinexMetHeader_obsTypeString_get, _wrap_RinexMetHeader_obsTypeString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_sensorTypeString",_wrap_RinexMetHeader_sensorTypeString_get, _wrap_RinexMetHeader_sensorTypeString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_sensorPosString",_wrap_RinexMetHeader_sensorPosString_get, _wrap_RinexMetHeader_sensorPosString_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"RinexMetHeader_endOfHeader",_wrap_RinexMetHeader_endOfHeader_get, _wrap_RinexMetHeader_endOfHeader_set);
+    {
+        PyDict_SetItemString(d,"Position_Unknown", SWIG_From_int((int)(gpstk::Position::Unknown))); 
+    }
+    {
+        PyDict_SetItemString(d,"Position_Geodetic", SWIG_From_int((int)(gpstk::Position::Geodetic))); 
+    }
+    {
+        PyDict_SetItemString(d,"Position_Geocentric", SWIG_From_int((int)(gpstk::Position::Geocentric))); 
+    }
+    {
+        PyDict_SetItemString(d,"Position_Cartesian", SWIG_From_int((int)(gpstk::Position::Cartesian))); 
+    }
+    {
+        PyDict_SetItemString(d,"Position_Spherical", SWIG_From_int((int)(gpstk::Position::Spherical))); 
+    }
+    SWIG_addvarlink(SWIG_globals,(char*)"Position_ONE_MM_TOLERANCE",_wrap_Position_ONE_MM_TOLERANCE_get, _wrap_Position_ONE_MM_TOLERANCE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"Position_ONE_CM_TOLERANCE",_wrap_Position_ONE_CM_TOLERANCE_get, _wrap_Position_ONE_CM_TOLERANCE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"Position_ONE_UM_TOLERANCE",_wrap_Position_ONE_UM_TOLERANCE_get, _wrap_Position_ONE_UM_TOLERANCE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"Position_POSITION_TOLERANCE",_wrap_Position_POSITION_TOLERANCE_get, _wrap_Position_POSITION_TOLERANCE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"GPSZcount_ZCOUNT_MINUTE",_wrap_GPSZcount_ZCOUNT_MINUTE_get, _wrap_GPSZcount_ZCOUNT_MINUTE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"GPSZcount_ZCOUNT_HOUR",_wrap_GPSZcount_ZCOUNT_HOUR_get, _wrap_GPSZcount_ZCOUNT_HOUR_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"GPSZcount_ZCOUNT_DAY",_wrap_GPSZcount_ZCOUNT_DAY_get, _wrap_GPSZcount_ZCOUNT_DAY_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"GPSZcount_ZCOUNT_WEEK",_wrap_GPSZcount_ZCOUNT_WEEK_get, _wrap_GPSZcount_ZCOUNT_WEEK_set);
+    {
+        PyDict_SetItemString(d,"DayTime_Unknown", SWIG_From_int((int)(gpstk::DayTime::Unknown))); 
+    }
+    {
+        PyDict_SetItemString(d,"DayTime_UTC", SWIG_From_int((int)(gpstk::DayTime::UTC))); 
+    }
+    {
+        PyDict_SetItemString(d,"DayTime_LocalSystem", SWIG_From_int((int)(gpstk::DayTime::LocalSystem))); 
+    }
+    {
+        PyDict_SetItemString(d,"DayTime_GPS_Tx", SWIG_From_int((int)(gpstk::DayTime::GPS_Tx))); 
+    }
+    {
+        PyDict_SetItemString(d,"DayTime_GPS_Rx", SWIG_From_int((int)(gpstk::DayTime::GPS_Rx))); 
+    }
+    {
+        PyDict_SetItemString(d,"DayTime_GPS_SV", SWIG_From_int((int)(gpstk::DayTime::GPS_SV))); 
+    }
+    {
+        PyDict_SetItemString(d,"DayTime_GPS_Receiver", SWIG_From_int((int)(gpstk::DayTime::GPS_Receiver))); 
+    }
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_FACTOR",_wrap_DayTime_FACTOR_get, _wrap_DayTime_FACTOR_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_JD_TO_MJD",_wrap_DayTime_JD_TO_MJD_get, _wrap_DayTime_JD_TO_MJD_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_MJD_JDAY",_wrap_DayTime_MJD_JDAY_get, _wrap_DayTime_MJD_JDAY_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_GPS_EPOCH_JDAY",_wrap_DayTime_GPS_EPOCH_JDAY_get, _wrap_DayTime_GPS_EPOCH_JDAY_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_GPS_EPOCH_MJD",_wrap_DayTime_GPS_EPOCH_MJD_get, _wrap_DayTime_GPS_EPOCH_MJD_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_UNIX_MJD",_wrap_DayTime_UNIX_MJD_get, _wrap_DayTime_UNIX_MJD_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_HALFWEEK",_wrap_DayTime_HALFWEEK_get, _wrap_DayTime_HALFWEEK_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_FULLWEEK",_wrap_DayTime_FULLWEEK_get, _wrap_DayTime_FULLWEEK_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_SEC_DAY",_wrap_DayTime_SEC_DAY_get, _wrap_DayTime_SEC_DAY_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_MS_PER_DAY",_wrap_DayTime_MS_PER_DAY_get, _wrap_DayTime_MS_PER_DAY_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_ONE_NSEC_TOLERANCE",_wrap_DayTime_ONE_NSEC_TOLERANCE_get, _wrap_DayTime_ONE_NSEC_TOLERANCE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_ONE_USEC_TOLERANCE",_wrap_DayTime_ONE_USEC_TOLERANCE_get, _wrap_DayTime_ONE_USEC_TOLERANCE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_ONE_MSEC_TOLERANCE",_wrap_DayTime_ONE_MSEC_TOLERANCE_get, _wrap_DayTime_ONE_MSEC_TOLERANCE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_ONE_SEC_TOLERANCE",_wrap_DayTime_ONE_SEC_TOLERANCE_get, _wrap_DayTime_ONE_SEC_TOLERANCE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_ONE_MIN_TOLERANCE",_wrap_DayTime_ONE_MIN_TOLERANCE_get, _wrap_DayTime_ONE_MIN_TOLERANCE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_ONE_HOUR_TOLERANCE",_wrap_DayTime_ONE_HOUR_TOLERANCE_get, _wrap_DayTime_ONE_HOUR_TOLERANCE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_DAYTIME_TOLERANCE",_wrap_DayTime_DAYTIME_TOLERANCE_get, _wrap_DayTime_DAYTIME_TOLERANCE_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_BEGIN_LIMIT_JDAY",_wrap_DayTime_BEGIN_LIMIT_JDAY_get, _wrap_DayTime_BEGIN_LIMIT_JDAY_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_END_LIMIT_JDAY",_wrap_DayTime_END_LIMIT_JDAY_get, _wrap_DayTime_END_LIMIT_JDAY_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_BEGINNING_OF_TIME",_wrap_DayTime_BEGINNING_OF_TIME_get, _wrap_DayTime_BEGINNING_OF_TIME_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_END_OF_TIME",_wrap_DayTime_END_OF_TIME_get, _wrap_DayTime_END_OF_TIME_set);
+    SWIG_addvarlink(SWIG_globals,(char*)"DayTime_DAYTIME_TEST_VALID",_wrap_DayTime_DAYTIME_TEST_VALID_get, _wrap_DayTime_DAYTIME_TEST_VALID_set);
+}
+
diff --git a/trunk/apps/bindings/python/pydoc.py b/trunk/apps/bindings/python/pydoc.py
new file mode 100755
index 0000000..7480d83
--- /dev/null
+++ b/trunk/apps/bindings/python/pydoc.py
@@ -0,0 +1,2142 @@
+#! /usr/bin/env python2.3
+# -*- coding: Latin-1 -*-
+"""Generate Python documentation in HTML or text for interactive use.
+
+In the Python interpreter, do "from pydoc import help" to provide online
+help.  Calling help(thing) on a Python object documents the object.
+
+Or, at the shell command line outside of Python:
+
+Run "pydoc <name>" to show documentation on something.  <name> may be
+the name of a function, module, package, or a dotted reference to a
+class or function within a module or module in a package.  If the
+argument contains a path segment delimiter (e.g. slash on Unix,
+backslash on Windows) it is treated as the path to a Python source file.
+
+Run "pydoc -k <keyword>" to search for a keyword in the synopsis lines
+of all available modules.
+
+Run "pydoc -p <port>" to start an HTTP server on a given port on the
+local machine to generate documentation web pages.
+
+Run "pydoc -w <name>" to write out the HTML documentation for a module
+to a file named "<name>.html".
+"""
+
+__author__ = "Ka-Ping Yee <ping at lfw.org>"
+__date__ = "26 February 2001"
+__version__ = "$Revision: 1.86.8.1 $"
+__credits__ = """Guido van Rossum, for an excellent programming language.
+Tommy Burnette, the original creator of manpy.
+Paul Prescod, for all his work on onlinehelp.
+Richard Chamberlain, for the first implementation of textdoc.
+
+Mynd you, m��se bites Kan be pretty nasti..."""
+
+# Known bugs that can't be fixed here:
+#   - imp.load_module() cannot be prevented from clobbering existing
+#     loaded modules, so calling synopsis() on a binary module file
+#     changes the contents of any existing module with the same name.
+#   - If the __file__ attribute on a module is a relative path and
+#     the current directory is changed with os.chdir(), an incorrect
+#     path will be displayed.
+
+import sys, imp, os, re, types, inspect, __builtin__
+from repr import Repr
+from string import expandtabs, find, join, lower, split, strip, rfind, rstrip
+
+# --------------------------------------------------------- common routines
+
+def pathdirs():
+    """Convert sys.path into a list of absolute, existing, unique paths."""
+    dirs = []
+    normdirs = []
+    for dir in sys.path:
+        dir = os.path.abspath(dir or '.')
+        normdir = os.path.normcase(dir)
+        if normdir not in normdirs and os.path.isdir(dir):
+            dirs.append(dir)
+            normdirs.append(normdir)
+    return dirs
+
+def getdoc(object):
+    """Get the doc string or comments for an object."""
+    result = inspect.getdoc(object) or inspect.getcomments(object)
+    return result and re.sub('^ *\n', '', rstrip(result)) or ''
+
+def splitdoc(doc):
+    """Split a doc string into a synopsis line (if any) and the rest."""
+    lines = split(strip(doc), '\n')
+    if len(lines) == 1:
+        return lines[0], ''
+    elif len(lines) >= 2 and not rstrip(lines[1]):
+        return lines[0], join(lines[2:], '\n')
+    return '', join(lines, '\n')
+
+def classname(object, modname):
+    """Get a class name and qualify it with a module name if necessary."""
+    name = object.__name__
+    if object.__module__ != modname:
+        name = object.__module__ + '.' + name
+    return name
+
+def isdata(object):
+    """Check if an object is of a type that probably means it's data."""
+    return not (inspect.ismodule(object) or inspect.isclass(object) or
+                inspect.isroutine(object) or inspect.isframe(object) or
+                inspect.istraceback(object) or inspect.iscode(object))
+
+def replace(text, *pairs):
+    """Do a series of global replacements on a string."""
+    while pairs:
+        text = join(split(text, pairs[0]), pairs[1])
+        pairs = pairs[2:]
+    return text
+
+def cram(text, maxlen):
+    """Omit part of a string if needed to make it fit in a maximum length."""
+    if len(text) > maxlen:
+        pre = max(0, (maxlen-3)//2)
+        post = max(0, maxlen-3-pre)
+        return text[:pre] + '...' + text[len(text)-post:]
+    return text
+
+def stripid(text):
+    """Remove the hexadecimal id from a Python object representation."""
+    # The behaviour of %p is implementation-dependent; we check two cases.
+    for pattern in [' at 0x[0-9a-f]{6,}(>+)$', ' at [0-9A-F]{8,}(>+)$']:
+        if re.search(pattern, repr(Exception)):
+            return re.sub(pattern, '\\1', text)
+    return text
+
+def _is_some_method(object):
+    return inspect.ismethod(object) or inspect.ismethoddescriptor(object)
+
+def allmethods(cl):
+    methods = {}
+    for key, value in inspect.getmembers(cl, _is_some_method):
+        methods[key] = 1
+    for base in cl.__bases__:
+        methods.update(allmethods(base)) # all your base are belong to us
+    for key in methods.keys():
+        methods[key] = getattr(cl, key)
+    return methods
+
+def _split_list(s, predicate):
+    """Split sequence s via predicate, and return pair ([true], [false]).
+
+    The return value is a 2-tuple of lists,
+        ([x for x in s if predicate(x)],
+         [x for x in s if not predicate(x)])
+    """
+
+    yes = []
+    no = []
+    for x in s:
+        if predicate(x):
+            yes.append(x)
+        else:
+            no.append(x)
+    return yes, no
+
+def visiblename(name):
+    """Decide whether to show documentation on a variable."""
+    # Certain special names are redundant.
+    if name in ['__builtins__', '__doc__', '__file__', '__path__',
+                '__module__', '__name__']: return 0
+    # Private names are hidden, but special names are displayed.
+    if name.startswith('__') and name.endswith('__'): return 1
+    return not name.startswith('_')
+
+# ----------------------------------------------------- module manipulation
+
+def ispackage(path):
+    """Guess whether a path refers to a package directory."""
+    if os.path.isdir(path):
+        for ext in ['.py', '.pyc', '.pyo']:
+            if os.path.isfile(os.path.join(path, '__init__' + ext)):
+                return True
+    return False
+
+def synopsis(filename, cache={}):
+    """Get the one-line summary out of a module file."""
+    mtime = os.stat(filename).st_mtime
+    lastupdate, result = cache.get(filename, (0, None))
+    if lastupdate < mtime:
+        info = inspect.getmoduleinfo(filename)
+        file = open(filename)
+        if info and 'b' in info[2]: # binary modules have to be imported
+            try: module = imp.load_module('__temp__', file, filename, info[1:])
+            except: return None
+            result = split(module.__doc__ or '', '\n')[0]
+            del sys.modules['__temp__']
+        else: # text modules can be directly examined
+            line = file.readline()
+            while line[:1] == '#' or not strip(line):
+                line = file.readline()
+                if not line: break
+            line = strip(line)
+            if line[:4] == 'r"""': line = line[1:]
+            if line[:3] == '"""':
+                line = line[3:]
+                if line[-1:] == '\\': line = line[:-1]
+                while not strip(line):
+                    line = file.readline()
+                    if not line: break
+                result = strip(split(line, '"""')[0])
+            else: result = None
+        file.close()
+        cache[filename] = (mtime, result)
+    return result
+
+class ErrorDuringImport(Exception):
+    """Errors that occurred while trying to import something to document it."""
+    def __init__(self, filename, (exc, value, tb)):
+        self.filename = filename
+        self.exc = exc
+        self.value = value
+        self.tb = tb
+
+    def __str__(self):
+        exc = self.exc
+        if type(exc) is types.ClassType:
+            exc = exc.__name__
+        return 'problem in %s - %s: %s' % (self.filename, exc, self.value)
+
+def importfile(path):
+    """Import a Python source file or compiled file given its path."""
+    magic = imp.get_magic()
+    file = open(path, 'r')
+    if file.read(len(magic)) == magic:
+        kind = imp.PY_COMPILED
+    else:
+        kind = imp.PY_SOURCE
+    file.close()
+    filename = os.path.basename(path)
+    name, ext = os.path.splitext(filename)
+    file = open(path, 'r')
+    try:
+        module = imp.load_module(name, file, path, (ext, 'r', kind))
+    except:
+        raise ErrorDuringImport(path, sys.exc_info())
+    file.close()
+    return module
+
+def safeimport(path, forceload=0, cache={}):
+    """Import a module; handle errors; return None if the module isn't found.
+
+    If the module *is* found but an exception occurs, it's wrapped in an
+    ErrorDuringImport exception and reraised.  Unlike __import__, if a
+    package path is specified, the module at the end of the path is returned,
+    not the package at the beginning.  If the optional 'forceload' argument
+    is 1, we reload the module from disk (unless it's a dynamic extension)."""
+    if forceload and path in sys.modules:
+        # This is the only way to be sure.  Checking the mtime of the file
+        # isn't good enough (e.g. what if the module contains a class that
+        # inherits from another module that has changed?).
+        if path not in sys.builtin_module_names:
+            # Python never loads a dynamic extension a second time from the
+            # same path, even if the file is changed or missing.  Deleting
+            # the entry in sys.modules doesn't help for dynamic extensions,
+            # so we're not even going to try to keep them up to date.
+            info = inspect.getmoduleinfo(sys.modules[path].__file__)
+            if info[3] != imp.C_EXTENSION:
+                cache[path] = sys.modules[path] # prevent module from clearing
+                del sys.modules[path]
+    try:
+        module = __import__(path)
+    except:
+        # Did the error occur before or after the module was found?
+        (exc, value, tb) = info = sys.exc_info()
+        if path in sys.modules:
+            # An error occured while executing the imported module.
+            raise ErrorDuringImport(sys.modules[path].__file__, info)
+        elif exc is SyntaxError:
+            # A SyntaxError occurred before we could execute the module.
+            raise ErrorDuringImport(value.filename, info)
+        elif exc is ImportError and \
+             split(lower(str(value)))[:2] == ['no', 'module']:
+            # The module was not found.
+            return None
+        else:
+            # Some other error occurred during the importing process.
+            raise ErrorDuringImport(path, sys.exc_info())
+    for part in split(path, '.')[1:]:
+        try: module = getattr(module, part)
+        except AttributeError: return None
+    return module
+
+# ---------------------------------------------------- formatter base class
+
+class Doc:
+    def document(self, object, name=None, *args):
+        """Generate documentation for an object."""
+        args = (object, name) + args
+        # 'try' clause is to attempt to handle the possibility that inspect
+        # identifies something in a way that pydoc itself has issues handling;
+        # think 'super' and how it is a descriptor (which raises the exception
+        # by lacking a __name__ attribute) and an instance.
+        try:
+            if inspect.ismodule(object): return self.docmodule(*args)
+            if inspect.isclass(object): return self.docclass(*args)
+            if inspect.isroutine(object): return self.docroutine(*args)
+        except AttributeError:
+            pass
+        return self.docother(*args)
+
+    def fail(self, object, name=None, *args):
+        """Raise an exception for unimplemented types."""
+        message = "don't know how to document object%s of type %s" % (
+            name and ' ' + repr(name), type(object).__name__)
+        raise TypeError, message
+
+    docmodule = docclass = docroutine = docother = fail
+
+# -------------------------------------------- HTML documentation generator
+
+class HTMLRepr(Repr):
+    """Class for safely making an HTML representation of a Python object."""
+    def __init__(self):
+        Repr.__init__(self)
+        self.maxlist = self.maxtuple = 20
+        self.maxdict = 10
+        self.maxstring = self.maxother = 100
+
+    def escape(self, text):
+        return replace(text, '&', '&', '<', '<', '>', '>')
+
+    def repr(self, object):
+        return Repr.repr(self, object)
+
+    def repr1(self, x, level):
+        if hasattr(type(x), '__name__'):
+            methodname = 'repr_' + join(split(type(x).__name__), '_')
+            if hasattr(self, methodname):
+                return getattr(self, methodname)(x, level)
+        return self.escape(cram(stripid(repr(x)), self.maxother))
+
+    def repr_string(self, x, level):
+        test = cram(x, self.maxstring)
+        testrepr = repr(test)
+        if '\\' in test and '\\' not in replace(testrepr, r'\\', ''):
+            # Backslashes are only literal in the string and are never
+            # needed to make any special characters, so show a raw string.
+            return 'r' + testrepr[0] + self.escape(test) + testrepr[0]
+        return re.sub(r'((\\[\\abfnrtv\'"]|\\[0-9]..|\\x..|\\u....)+)',
+                      r'<font color="#c040c0">\1</font>',
+                      self.escape(testrepr))
+
+    repr_str = repr_string
+
+    def repr_instance(self, x, level):
+        try:
+            return self.escape(cram(stripid(repr(x)), self.maxstring))
+        except:
+            return self.escape('<%s instance>' % x.__class__.__name__)
+
+    repr_unicode = repr_string
+
+class HTMLDoc(Doc):
+    """Formatter class for HTML documentation."""
+
+    # ------------------------------------------- HTML formatting utilities
+
+    _repr_instance = HTMLRepr()
+    repr = _repr_instance.repr
+    escape = _repr_instance.escape
+
+    def page(self, title, contents):
+        """Format an HTML page."""
+        return '''
+<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><title>Python: %s</title>
+</head><body bgcolor="#f0f0f8">
+%s
+</body></html>''' % (title, contents)
+
+    def heading(self, title, fgcol, bgcol, extras=''):
+        """Format a page heading."""
+        return '''
+<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="heading">
+<tr bgcolor="%s">
+<td valign=bottom> <br>
+<font color="%s" face="helvetica, arial"> <br>%s</font></td
+><td align=right valign=bottom
+><font color="%s" face="helvetica, arial">%s</font></td></tr></table>
+    ''' % (bgcol, fgcol, title, fgcol, extras or ' ')
+
+    def section(self, title, fgcol, bgcol, contents, width=6,
+                prelude='', marginalia=None, gap=' '):
+        """Format a section with a heading."""
+        if marginalia is None:
+            marginalia = '<tt>' + ' ' * width + '</tt>'
+        result = '''<p>
+<table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
+<tr bgcolor="%s">
+<td colspan=3 valign=bottom> <br>
+<font color="%s" face="helvetica, arial">%s</font></td></tr>
+    ''' % (bgcol, fgcol, title)
+        if prelude:
+            result = result + '''
+<tr bgcolor="%s"><td rowspan=2>%s</td>
+<td colspan=2>%s</td></tr>
+<tr><td>%s</td>''' % (bgcol, marginalia, prelude, gap)
+        else:
+            result = result + '''
+<tr><td bgcolor="%s">%s</td><td>%s</td>''' % (bgcol, marginalia, gap)
+
+        return result + '\n<td width="100%%">%s</td></tr></table>' % contents
+
+    def bigsection(self, title, *args):
+        """Format a section with a big heading."""
+        title = '<big><strong>%s</strong></big>' % title
+        return self.section(title, *args)
+
+    def preformat(self, text):
+        """Format literal preformatted text."""
+        text = self.escape(expandtabs(text))
+        return replace(text, '\n\n', '\n \n', '\n\n', '\n \n',
+                             ' ', ' ', '\n', '<br>\n')
+
+    def multicolumn(self, list, format, cols=4):
+        """Format a list of items into a multi-column list."""
+        result = ''
+        rows = (len(list)+cols-1)/cols
+        for col in range(cols):
+            result = result + '<td width="%d%%" valign=top>' % (100/cols)
+            for i in range(rows*col, rows*col+rows):
+                if i < len(list):
+                    result = result + format(list[i]) + '<br>\n'
+            result = result + '</td>'
+        return '<table width="100%%" summary="list"><tr>%s</tr></table>' % result
+
+    def grey(self, text): return '<font color="#909090">%s</font>' % text
+
+    def namelink(self, name, *dicts):
+        """Make a link for an identifier, given name-to-URL mappings."""
+        for dict in dicts:
+            if name in dict:
+                return '<a href="%s">%s</a>' % (dict[name], name)
+        return name
+
+    def classlink(self, object, modname):
+        """Make a link for a class."""
+        name, module = object.__name__, sys.modules.get(object.__module__)
+        if hasattr(module, name) and getattr(module, name) is object:
+            return '<a href="%s.html#%s">%s</a>' % (
+                module.__name__, name, classname(object, modname))
+        return classname(object, modname)
+
+    def modulelink(self, object):
+        """Make a link for a module."""
+        return '<a href="%s.html">%s</a>' % (object.__name__, object.__name__)
+
+    def modpkglink(self, (name, path, ispackage, shadowed)):
+        """Make a link for a module or package to display in an index."""
+        if shadowed:
+            return self.grey(name)
+        if path:
+            url = '%s.%s.html' % (path, name)
+        else:
+            url = '%s.html' % name
+        if ispackage:
+            text = '<strong>%s</strong> (package)' % name
+        else:
+            text = name
+        return '<a href="%s">%s</a>' % (url, text)
+
+    def markup(self, text, escape=None, funcs={}, classes={}, methods={}):
+        """Mark up some plain text, given a context of symbols to look for.
+        Each context dictionary maps object names to anchor names."""
+        escape = escape or self.escape
+        results = []
+        here = 0
+        pattern = re.compile(r'\b((http|ftp)://\S+[\w/]|'
+                                r'RFC[- ]?(\d+)|'
+                                r'PEP[- ]?(\d+)|'
+                                r'(self\.)?(\w+))')
+        while True:
+            match = pattern.search(text, here)
+            if not match: break
+            start, end = match.span()
+            results.append(escape(text[here:start]))
+
+            all, scheme, rfc, pep, selfdot, name = match.groups()
+            if scheme:
+                url = escape(all).replace('"', '"')
+                results.append('<a href="%s">%s</a>' % (url, url))
+            elif rfc:
+                url = 'http://www.rfc-editor.org/rfc/rfc%d.txt' % int(rfc)
+                results.append('<a href="%s">%s</a>' % (url, escape(all)))
+            elif pep:
+                url = 'http://www.python.org/peps/pep-%04d.html' % int(pep)
+                results.append('<a href="%s">%s</a>' % (url, escape(all)))
+            elif text[end:end+1] == '(':
+                results.append(self.namelink(name, methods, funcs, classes))
+            elif selfdot:
+                results.append('self.<strong>%s</strong>' % name)
+            else:
+                results.append(self.namelink(name, classes))
+            here = end
+        results.append(escape(text[here:]))
+        return join(results, '')
+
+    # ---------------------------------------------- type-specific routines
+
+    def formattree(self, tree, modname, parent=None):
+        """Produce HTML for a class tree as given by inspect.getclasstree()."""
+        result = ''
+        for entry in tree:
+            if type(entry) is type(()):
+                c, bases = entry
+                result = result + '<dt><font face="helvetica, arial">'
+                result = result + self.classlink(c, modname)
+                if bases and bases != (parent,):
+                    parents = []
+                    for base in bases:
+                        parents.append(self.classlink(base, modname))
+                    result = result + '(' + join(parents, ', ') + ')'
+                result = result + '\n</font></dt>'
+            elif type(entry) is type([]):
+                result = result + '<dd>\n%s</dd>\n' % self.formattree(
+                    entry, modname, c)
+        return '<dl>\n%s</dl>\n' % result
+
+    def docmodule(self, object, name=None, mod=None, *ignored):
+        """Produce HTML documentation for a module object."""
+        name = object.__name__ # ignore the passed-in name
+        parts = split(name, '.')
+        links = []
+        for i in range(len(parts)-1):
+            links.append(
+                '<a href="%s.html"><font color="#ffffff">%s</font></a>' %
+                (join(parts[:i+1], '.'), parts[i]))
+        linkedname = join(links + parts[-1:], '.')
+        head = '<big><big><strong>%s</strong></big></big>' % linkedname
+        try:
+            path = inspect.getabsfile(object)
+            url = path
+            if sys.platform == 'win32':
+                import nturl2path
+                url = nturl2path.pathname2url(path)
+            filelink = '<a href="file:%s">%s</a>' % (url, path)
+        except TypeError:
+            filelink = '(built-in)'
+        info = []
+        if hasattr(object, '__version__'):
+            version = str(object.__version__)
+            if version[:11] == '$' + 'Revision: ' and version[-1:] == '$':
+                version = strip(version[11:-1])
+            info.append('version %s' % self.escape(version))
+        if hasattr(object, '__date__'):
+            info.append(self.escape(str(object.__date__)))
+        if info:
+            head = head + ' (%s)' % join(info, ', ')
+        result = self.heading(
+            head, '#ffffff', '#7799ee', '<a href=".">index</a><br>' + filelink)
+
+        modules = inspect.getmembers(object, inspect.ismodule)
+
+        classes, cdict = [], {}
+        for key, value in inspect.getmembers(object, inspect.isclass):
+            if (inspect.getmodule(value) or object) is object:
+                if visiblename(key):
+                    classes.append((key, value))
+                    cdict[key] = cdict[value] = '#' + key
+        for key, value in classes:
+            for base in value.__bases__:
+                key, modname = base.__name__, base.__module__
+                module = sys.modules.get(modname)
+                if modname != name and module and hasattr(module, key):
+                    if getattr(module, key) is base:
+                        if not key in cdict:
+                            cdict[key] = cdict[base] = modname + '.html#' + key
+        funcs, fdict = [], {}
+        for key, value in inspect.getmembers(object, inspect.isroutine):
+            if inspect.isbuiltin(value) or inspect.getmodule(value) is object:
+                if visiblename(key):
+                    funcs.append((key, value))
+                    fdict[key] = '#-' + key
+                    if inspect.isfunction(value): fdict[value] = fdict[key]
+        data = []
+        for key, value in inspect.getmembers(object, isdata):
+            if visiblename(key):
+                data.append((key, value))
+
+        doc = self.markup(getdoc(object), self.preformat, fdict, cdict)
+        doc = doc and '<tt>%s</tt>' % doc
+        result = result + '<p>%s</p>\n' % doc
+
+        if hasattr(object, '__path__'):
+            modpkgs = []
+            modnames = []
+            for file in os.listdir(object.__path__[0]):
+                path = os.path.join(object.__path__[0], file)
+                modname = inspect.getmodulename(file)
+                if modname != '__init__':
+                    if modname and modname not in modnames:
+                        modpkgs.append((modname, name, 0, 0))
+                        modnames.append(modname)
+                    elif ispackage(path):
+                        modpkgs.append((file, name, 1, 0))
+            modpkgs.sort()
+            contents = self.multicolumn(modpkgs, self.modpkglink)
+            result = result + self.bigsection(
+                'Package Contents', '#ffffff', '#aa55cc', contents)
+        elif modules:
+            contents = self.multicolumn(
+                modules, lambda (key, value), s=self: s.modulelink(value))
+            result = result + self.bigsection(
+                'Modules', '#fffff', '#aa55cc', contents)
+
+        if classes:
+            classlist = map(lambda (key, value): value, classes)
+            contents = [
+                self.formattree(inspect.getclasstree(classlist, 1), name)]
+            for key, value in classes:
+                contents.append(self.document(value, key, name, fdict, cdict))
+            result = result + self.bigsection(
+                'Classes', '#ffffff', '#ee77aa', join(contents))
+        if funcs:
+            contents = []
+            for key, value in funcs:
+                contents.append(self.document(value, key, name, fdict, cdict))
+            result = result + self.bigsection(
+                'Functions', '#ffffff', '#eeaa77', join(contents))
+        if data:
+            contents = []
+            for key, value in data:
+                contents.append(self.document(value, key))
+            result = result + self.bigsection(
+                'Data', '#ffffff', '#55aa55', join(contents, '<br>\n'))
+        if hasattr(object, '__author__'):
+            contents = self.markup(str(object.__author__), self.preformat)
+            result = result + self.bigsection(
+                'Author', '#ffffff', '#7799ee', contents)
+        if hasattr(object, '__credits__'):
+            contents = self.markup(str(object.__credits__), self.preformat)
+            result = result + self.bigsection(
+                'Credits', '#ffffff', '#7799ee', contents)
+
+        return result
+
+    def docclass(self, object, name=None, mod=None, funcs={}, classes={},
+                 *ignored):
+        """Produce HTML documentation for a class object."""
+        realname = object.__name__
+        name = name or realname
+        bases = object.__bases__
+
+        contents = []
+        push = contents.append
+
+        # Cute little class to pump out a horizontal rule between sections.
+        class HorizontalRule:
+            def __init__(self):
+                self.needone = 0
+            def maybe(self):
+                if self.needone:
+                    push('<hr>\n')
+                self.needone = 1
+        hr = HorizontalRule()
+
+        # List the mro, if non-trivial.
+        mro = list(inspect.getmro(object))
+        if len(mro) > 2:
+            hr.maybe()
+            push('<dl><dt>Method resolution order:</dt>\n')
+            for base in mro:
+                push('<dd>%s</dd>\n' % self.classlink(base,
+                                                      object.__module__))
+            push('</dl>\n')
+
+        def spill(msg, attrs, predicate):
+            ok, attrs = _split_list(attrs, predicate)
+            if ok:
+                hr.maybe()
+                push(msg)
+                for name, kind, homecls, value in ok:
+                    push(self.document(getattr(object, name), name, mod,
+                                       funcs, classes, mdict, object))
+                    push('\n')
+            return attrs
+
+        def spillproperties(msg, attrs, predicate):
+            ok, attrs = _split_list(attrs, predicate)
+            if ok:
+                hr.maybe()
+                push(msg)
+                for name, kind, homecls, value in ok:
+                    push('<dl><dt><strong>%s</strong></dt>\n' % name)
+                    if value.__doc__ is not None:
+                        doc = self.markup(value.__doc__, self.preformat,
+                                          funcs, classes, mdict)
+                        push('<dd><tt>%s</tt></dd>\n' % doc)
+                    for attr, tag in [('fget', '<em>get</em>'),
+                                      ('fset', '<em>set</em>'),
+                                      ('fdel', '<em>delete</em>')]:
+                        func = getattr(value, attr)
+                        if func is not None:
+                            base = self.document(func, tag, mod,
+                                                 funcs, classes, mdict, object)
+                            push('<dd>%s</dd>\n' % base)
+                    push('</dl>\n')
+            return attrs
+
+        def spilldata(msg, attrs, predicate):
+            ok, attrs = _split_list(attrs, predicate)
+            if ok:
+                hr.maybe()
+                push(msg)
+                for name, kind, homecls, value in ok:
+                    base = self.docother(getattr(object, name), name, mod)
+                    if callable(value) or inspect.isdatadescriptor(value):
+                        doc = getattr(value, "__doc__", None)
+                    else:
+                        doc = None
+                    if doc is None:
+                        push('<dl><dt>%s</dl>\n' % base)
+                    else:
+                        doc = self.markup(getdoc(value), self.preformat,
+                                          funcs, classes, mdict)
+                        doc = '<dd><tt>%s</tt>' % doc
+                        push('<dl><dt>%s%s</dl>\n' % (base, doc))
+                    push('\n')
+            return attrs
+
+        attrs = filter(lambda (name, kind, cls, value): visiblename(name),
+                       inspect.classify_class_attrs(object))
+        mdict = {}
+        for key, kind, homecls, value in attrs:
+            mdict[key] = anchor = '#' + name + '-' + key
+            value = getattr(object, key)
+            try:
+                # The value may not be hashable (e.g., a data attr with
+                # a dict or list value).
+                mdict[value] = anchor
+            except TypeError:
+                pass
+
+        while attrs:
+            if mro:
+                thisclass = mro.pop(0)
+            else:
+                thisclass = attrs[0][2]
+            attrs, inherited = _split_list(attrs, lambda t: t[2] is thisclass)
+
+            if thisclass is __builtin__.object:
+                attrs = inherited
+                continue
+            elif thisclass is object:
+                tag = 'defined here'
+            else:
+                tag = 'inherited from %s' % self.classlink(thisclass,
+                                                           object.__module__)
+            tag += ':<br>\n'
+
+            # Sort attrs by name.
+            attrs.sort(lambda t1, t2: cmp(t1[0], t2[0]))
+
+            # Pump out the attrs, segregated by kind.
+            attrs = spill('Methods %s' % tag, attrs,
+                          lambda t: t[1] == 'method')
+            attrs = spill('Class methods %s' % tag, attrs,
+                          lambda t: t[1] == 'class method')
+            attrs = spill('Static methods %s' % tag, attrs,
+                          lambda t: t[1] == 'static method')
+            attrs = spillproperties('Properties %s' % tag, attrs,
+                                    lambda t: t[1] == 'property')
+            attrs = spilldata('Data and other attributes %s' % tag, attrs,
+                              lambda t: t[1] == 'data')
+            assert attrs == []
+            attrs = inherited
+
+        contents = ''.join(contents)
+
+        if name == realname:
+            title = '<a name="%s">class <strong>%s</strong></a>' % (
+                name, realname)
+        else:
+            title = '<strong>%s</strong> = <a name="%s">class %s</a>' % (
+                name, name, realname)
+        if bases:
+            parents = []
+            for base in bases:
+                parents.append(self.classlink(base, object.__module__))
+            title = title + '(%s)' % join(parents, ', ')
+        doc = self.markup(getdoc(object), self.preformat, funcs, classes, mdict)
+        doc = doc and '<tt>%s<br> </tt>' % doc
+
+        return self.section(title, '#000000', '#ffc8d8', contents, 3, doc)
+
+    def formatvalue(self, object):
+        """Format an argument default value as text."""
+        return self.grey('=' + self.repr(object))
+
+    def docroutine(self, object, name=None, mod=None,
+                   funcs={}, classes={}, methods={}, cl=None):
+        """Produce HTML documentation for a function or method object."""
+        realname = object.__name__
+        name = name or realname
+        anchor = (cl and cl.__name__ or '') + '-' + name
+        note = ''
+        skipdocs = 0
+        if inspect.ismethod(object):
+            imclass = object.im_class
+            if cl:
+                if imclass is not cl:
+                    note = ' from ' + self.classlink(imclass, mod)
+            else:
+                if object.im_self:
+                    note = ' method of %s instance' % self.classlink(
+                        object.im_self.__class__, mod)
+                else:
+                    note = ' unbound %s method' % self.classlink(imclass,mod)
+            object = object.im_func
+
+        if name == realname:
+            title = '<a name="%s"><strong>%s</strong></a>' % (anchor, realname)
+        else:
+            if (cl and realname in cl.__dict__ and
+                cl.__dict__[realname] is object):
+                reallink = '<a href="#%s">%s</a>' % (
+                    cl.__name__ + '-' + realname, realname)
+                skipdocs = 1
+            else:
+                reallink = realname
+            title = '<a name="%s"><strong>%s</strong></a> = %s' % (
+                anchor, name, reallink)
+        if inspect.isfunction(object):
+            args, varargs, varkw, defaults = inspect.getargspec(object)
+            argspec = inspect.formatargspec(
+                args, varargs, varkw, defaults, formatvalue=self.formatvalue)
+            if realname == '<lambda>':
+                title = '<strong>%s</strong> <em>lambda</em> ' % name
+                argspec = argspec[1:-1] # remove parentheses
+        else:
+            argspec = '(...)'
+
+        decl = title + argspec + (note and self.grey(
+               '<font face="helvetica, arial">%s</font>' % note))
+
+        if skipdocs:
+            return '<dl><dt>%s</dt></dl>\n' % decl
+        else:
+            doc = self.markup(
+                getdoc(object), self.preformat, funcs, classes, methods)
+            doc = doc and '<dd><tt>%s</tt></dd>' % doc
+            return '<dl><dt>%s</dt>%s</dl>\n' % (decl, doc)
+
+    def docother(self, object, name=None, mod=None, *ignored):
+        """Produce HTML documentation for a data object."""
+        lhs = name and '<strong>%s</strong> = ' % name or ''
+        return lhs + self.repr(object)
+
+    def index(self, dir, shadowed=None):
+        """Generate an HTML index for a directory of modules."""
+        modpkgs = []
+        if shadowed is None: shadowed = {}
+        seen = {}
+        files = os.listdir(dir)
+
+        def found(name, ispackage,
+                  modpkgs=modpkgs, shadowed=shadowed, seen=seen):
+            if name not in seen:
+                modpkgs.append((name, '', ispackage, name in shadowed))
+                seen[name] = 1
+                shadowed[name] = 1
+
+        # Package spam/__init__.py takes precedence over module spam.py.
+        for file in files:
+            path = os.path.join(dir, file)
+            if ispackage(path): found(file, 1)
+        for file in files:
+            path = os.path.join(dir, file)
+            if os.path.isfile(path):
+                modname = inspect.getmodulename(file)
+                if modname: found(modname, 0)
+
+        modpkgs.sort()
+        contents = self.multicolumn(modpkgs, self.modpkglink)
+        return self.bigsection(dir, '#ffffff', '#ee77aa', contents)
+
+# -------------------------------------------- text documentation generator
+
+class TextRepr(Repr):
+    """Class for safely making a text representation of a Python object."""
+    def __init__(self):
+        Repr.__init__(self)
+        self.maxlist = self.maxtuple = 20
+        self.maxdict = 10
+        self.maxstring = self.maxother = 100
+
+    def repr1(self, x, level):
+        if hasattr(type(x), '__name__'):
+            methodname = 'repr_' + join(split(type(x).__name__), '_')
+            if hasattr(self, methodname):
+                return getattr(self, methodname)(x, level)
+        return cram(stripid(repr(x)), self.maxother)
+
+    def repr_string(self, x, level):
+        test = cram(x, self.maxstring)
+        testrepr = repr(test)
+        if '\\' in test and '\\' not in replace(testrepr, r'\\', ''):
+            # Backslashes are only literal in the string and are never
+            # needed to make any special characters, so show a raw string.
+            return 'r' + testrepr[0] + test + testrepr[0]
+        return testrepr
+
+    repr_str = repr_string
+
+    def repr_instance(self, x, level):
+        try:
+            return cram(stripid(repr(x)), self.maxstring)
+        except:
+            return '<%s instance>' % x.__class__.__name__
+
+class TextDoc(Doc):
+    """Formatter class for text documentation."""
+
+    # ------------------------------------------- text formatting utilities
+
+    _repr_instance = TextRepr()
+    repr = _repr_instance.repr
+
+    def bold(self, text):
+        """Format a string in bold by overstriking."""
+        return join(map(lambda ch: ch + '\b' + ch, text), '')
+
+    def indent(self, text, prefix='    '):
+        """Indent text by prepending a given prefix to each line."""
+        if not text: return ''
+        lines = split(text, '\n')
+        lines = map(lambda line, prefix=prefix: prefix + line, lines)
+        if lines: lines[-1] = rstrip(lines[-1])
+        return join(lines, '\n')
+
+    def section(self, title, contents):
+        """Format a section with a given heading."""
+        return self.bold(title) + '\n' + rstrip(self.indent(contents)) + '\n\n'
+
+    # ---------------------------------------------- type-specific routines
+
+    def formattree(self, tree, modname, parent=None, prefix=''):
+        """Render in text a class tree as returned by inspect.getclasstree()."""
+        result = ''
+        for entry in tree:
+            if type(entry) is type(()):
+                c, bases = entry
+                result = result + prefix + classname(c, modname)
+                if bases and bases != (parent,):
+                    parents = map(lambda c, m=modname: classname(c, m), bases)
+                    result = result + '(%s)' % join(parents, ', ')
+                result = result + '\n'
+            elif type(entry) is type([]):
+                result = result + self.formattree(
+                    entry, modname, c, prefix + '    ')
+        return result
+
+    def docmodule(self, object, name=None, mod=None):
+        """Produce text documentation for a given module object."""
+        name = object.__name__ # ignore the passed-in name
+        synop, desc = splitdoc(getdoc(object))
+        result = self.section('NAME', name + (synop and ' - ' + synop))
+
+        try:
+            file = inspect.getabsfile(object)
+        except TypeError:
+            file = '(built-in)'
+        result = result + self.section('FILE', file)
+        if desc:
+            result = result + self.section('DESCRIPTION', desc)
+
+        classes = []
+        for key, value in inspect.getmembers(object, inspect.isclass):
+            if (inspect.getmodule(value) or object) is object:
+                if visiblename(key):
+                    classes.append((key, value))
+        funcs = []
+        for key, value in inspect.getmembers(object, inspect.isroutine):
+            if inspect.isbuiltin(value) or inspect.getmodule(value) is object:
+                if visiblename(key):
+                    funcs.append((key, value))
+        data = []
+        for key, value in inspect.getmembers(object, isdata):
+            if visiblename(key):
+                data.append((key, value))
+
+        if hasattr(object, '__path__'):
+            modpkgs = []
+            for file in os.listdir(object.__path__[0]):
+                path = os.path.join(object.__path__[0], file)
+                modname = inspect.getmodulename(file)
+                if modname != '__init__':
+                    if modname and modname not in modpkgs:
+                        modpkgs.append(modname)
+                    elif ispackage(path):
+                        modpkgs.append(file + ' (package)')
+            modpkgs.sort()
+            result = result + self.section(
+                'PACKAGE CONTENTS', join(modpkgs, '\n'))
+
+        if classes:
+            classlist = map(lambda (key, value): value, classes)
+            contents = [self.formattree(
+                inspect.getclasstree(classlist, 1), name)]
+            for key, value in classes:
+                contents.append(self.document(value, key, name))
+            result = result + self.section('CLASSES', join(contents, '\n'))
+
+        if funcs:
+            contents = []
+            for key, value in funcs:
+                contents.append(self.document(value, key, name))
+            result = result + self.section('FUNCTIONS', join(contents, '\n'))
+
+        if data:
+            contents = []
+            for key, value in data:
+                contents.append(self.docother(value, key, name, 70))
+            result = result + self.section('DATA', join(contents, '\n'))
+
+        if hasattr(object, '__version__'):
+            version = str(object.__version__)
+            if version[:11] == '$' + 'Revision: ' and version[-1:] == '$':
+                version = strip(version[11:-1])
+            result = result + self.section('VERSION', version)
+        if hasattr(object, '__date__'):
+            result = result + self.section('DATE', str(object.__date__))
+        if hasattr(object, '__author__'):
+            result = result + self.section('AUTHOR', str(object.__author__))
+        if hasattr(object, '__credits__'):
+            result = result + self.section('CREDITS', str(object.__credits__))
+        return result
+
+    def docclass(self, object, name=None, mod=None):
+        """Produce text documentation for a given class object."""
+        realname = object.__name__
+        name = name or realname
+        bases = object.__bases__
+
+        def makename(c, m=object.__module__):
+            return classname(c, m)
+
+        if name == realname:
+            title = 'class ' + self.bold(realname)
+        else:
+            title = self.bold(name) + ' = class ' + realname
+        if bases:
+            parents = map(makename, bases)
+            title = title + '(%s)' % join(parents, ', ')
+
+        doc = getdoc(object)
+        contents = doc and [doc + '\n'] or []
+        push = contents.append
+
+        # List the mro, if non-trivial.
+        mro = list(inspect.getmro(object))
+        if len(mro) > 2:
+            push("Method resolution order:")
+            for base in mro:
+                push('    ' + makename(base))
+            push('')
+
+        # Cute little class to pump out a horizontal rule between sections.
+        class HorizontalRule:
+            def __init__(self):
+                self.needone = 0
+            def maybe(self):
+                if self.needone:
+                    push('-' * 70)
+                self.needone = 1
+        hr = HorizontalRule()
+
+        def spill(msg, attrs, predicate):
+            ok, attrs = _split_list(attrs, predicate)
+            if ok:
+                hr.maybe()
+                push(msg)
+                for name, kind, homecls, value in ok:
+                    push(self.document(getattr(object, name),
+                                       name, mod, object))
+            return attrs
+
+        def spillproperties(msg, attrs, predicate):
+            ok, attrs = _split_list(attrs, predicate)
+            if ok:
+                hr.maybe()
+                push(msg)
+                for name, kind, homecls, value in ok:
+                    push(name)
+                    need_blank_after_doc = 0
+                    doc = getdoc(value) or ''
+                    if doc:
+                        push(self.indent(doc))
+                        need_blank_after_doc = 1
+                    for attr, tag in [('fget', '<get>'),
+                                      ('fset', '<set>'),
+                                      ('fdel', '<delete>')]:
+                        func = getattr(value, attr)
+                        if func is not None:
+                            if need_blank_after_doc:
+                                push('')
+                                need_blank_after_doc = 0
+                            base = self.document(func, tag, mod)
+                            push(self.indent(base))
+            return attrs
+
+        def spilldata(msg, attrs, predicate):
+            ok, attrs = _split_list(attrs, predicate)
+            if ok:
+                hr.maybe()
+                push(msg)
+                for name, kind, homecls, value in ok:
+                    if callable(value) or inspect.isdatadescriptor(value):
+                        doc = getattr(value, "__doc__", None)
+                    else:
+                        doc = None
+                    push(self.docother(getattr(object, name),
+                                       name, mod, 70, doc) + '\n')
+            return attrs
+
+        attrs = filter(lambda (name, kind, cls, value): visiblename(name),
+                       inspect.classify_class_attrs(object))
+        while attrs:
+            if mro:
+                thisclass = mro.pop(0)
+            else:
+                thisclass = attrs[0][2]
+            attrs, inherited = _split_list(attrs, lambda t: t[2] is thisclass)
+
+            if thisclass is __builtin__.object:
+                attrs = inherited
+                continue
+            elif thisclass is object:
+                tag = "defined here"
+            else:
+                tag = "inherited from %s" % classname(thisclass,
+                                                      object.__module__)
+            filter(lambda t: not t[0].startswith('_'), attrs)
+
+            # Sort attrs by name.
+            attrs.sort()
+
+            # Pump out the attrs, segregated by kind.
+            attrs = spill("Methods %s:\n" % tag, attrs,
+                          lambda t: t[1] == 'method')
+            attrs = spill("Class methods %s:\n" % tag, attrs,
+                          lambda t: t[1] == 'class method')
+            attrs = spill("Static methods %s:\n" % tag, attrs,
+                          lambda t: t[1] == 'static method')
+            attrs = spillproperties("Properties %s:\n" % tag, attrs,
+                                    lambda t: t[1] == 'property')
+            attrs = spilldata("Data and other attributes %s:\n" % tag, attrs,
+                              lambda t: t[1] == 'data')
+            assert attrs == []
+            attrs = inherited
+
+        contents = '\n'.join(contents)
+        if not contents:
+            return title + '\n'
+        return title + '\n' + self.indent(rstrip(contents), ' |  ') + '\n'
+
+    def formatvalue(self, object):
+        """Format an argument default value as text."""
+        return '=' + self.repr(object)
+
+    def docroutine(self, object, name=None, mod=None, cl=None):
+        """Produce text documentation for a function or method object."""
+        realname = object.__name__
+        name = name or realname
+        note = ''
+        skipdocs = 0
+        if inspect.ismethod(object):
+            imclass = object.im_class
+            if cl:
+                if imclass is not cl:
+                    note = ' from ' + classname(imclass, mod)
+            else:
+                if object.im_self:
+                    note = ' method of %s instance' % classname(
+                        object.im_self.__class__, mod)
+                else:
+                    note = ' unbound %s method' % classname(imclass,mod)
+            object = object.im_func
+
+        if name == realname:
+            title = self.bold(realname)
+        else:
+            if (cl and realname in cl.__dict__ and
+                cl.__dict__[realname] is object):
+                skipdocs = 1
+            title = self.bold(name) + ' = ' + realname
+        if inspect.isfunction(object):
+            args, varargs, varkw, defaults = inspect.getargspec(object)
+            argspec = inspect.formatargspec(
+                args, varargs, varkw, defaults, formatvalue=self.formatvalue)
+            if realname == '<lambda>':
+                title = 'lambda'
+                argspec = argspec[1:-1] # remove parentheses
+        else:
+            argspec = '(...)'
+        decl = title + argspec + note
+
+        if skipdocs:
+            return decl + '\n'
+        else:
+            doc = getdoc(object) or ''
+            return decl + '\n' + (doc and rstrip(self.indent(doc)) + '\n')
+
+    def docother(self, object, name=None, mod=None, maxlen=None, doc=None):
+        """Produce text documentation for a data object."""
+        repr = self.repr(object)
+        if maxlen:
+            line = (name and name + ' = ' or '') + repr
+            chop = maxlen - len(line)
+            if chop < 0: repr = repr[:chop] + '...'
+        line = (name and self.bold(name) + ' = ' or '') + repr
+        if doc is not None:
+            line += '\n' + self.indent(str(doc))
+        return line
+
+# --------------------------------------------------------- user interfaces
+
+def pager(text):
+    """The first time this is called, determine what kind of pager to use."""
+    global pager
+    pager = getpager()
+    pager(text)
+
+def getpager():
+    """Decide what method to use for paging through text."""
+    if type(sys.stdout) is not types.FileType:
+        return plainpager
+    if not sys.stdin.isatty() or not sys.stdout.isatty():
+        return plainpager
+    if os.environ.get('TERM') in ['dumb', 'emacs']:
+        return plainpager
+    if 'PAGER' in os.environ:
+        if sys.platform == 'win32': # pipes completely broken in Windows
+            return lambda text: tempfilepager(plain(text), os.environ['PAGER'])
+        elif os.environ.get('TERM') in ['dumb', 'emacs']:
+            return lambda text: pipepager(plain(text), os.environ['PAGER'])
+        else:
+            return lambda text: pipepager(text, os.environ['PAGER'])
+    if sys.platform == 'win32' or sys.platform.startswith('os2'):
+        return lambda text: tempfilepager(plain(text), 'more <')
+    if hasattr(os, 'system') and os.system('(less) 2>/dev/null') == 0:
+        return lambda text: pipepager(text, 'less')
+
+    import tempfile
+    (fd, filename) = tempfile.mkstemp()
+    os.close(fd)
+    try:
+        if hasattr(os, 'system') and os.system('more %s' % filename) == 0:
+            return lambda text: pipepager(text, 'more')
+        else:
+            return ttypager
+    finally:
+        os.unlink(filename)
+
+def plain(text):
+    """Remove boldface formatting from text."""
+    return re.sub('.\b', '', text)
+
+def pipepager(text, cmd):
+    """Page through text by feeding it to another program."""
+    pipe = os.popen(cmd, 'w')
+    try:
+        pipe.write(text)
+        pipe.close()
+    except IOError:
+        pass # Ignore broken pipes caused by quitting the pager program.
+
+def tempfilepager(text, cmd):
+    """Page through text by invoking a program on a temporary file."""
+    import tempfile
+    filename = tempfile.mktemp()
+    file = open(filename, 'w')
+    file.write(text)
+    file.close()
+    try:
+        os.system(cmd + ' ' + filename)
+    finally:
+        os.unlink(filename)
+
+def ttypager(text):
+    """Page through text on a text terminal."""
+    lines = split(plain(text), '\n')
+    try:
+        import tty
+        fd = sys.stdin.fileno()
+        old = tty.tcgetattr(fd)
+        tty.setcbreak(fd)
+        getchar = lambda: sys.stdin.read(1)
+    except (ImportError, AttributeError):
+        tty = None
+        getchar = lambda: sys.stdin.readline()[:-1][:1]
+
+    try:
+        r = inc = os.environ.get('LINES', 25) - 1
+        sys.stdout.write(join(lines[:inc], '\n') + '\n')
+        while lines[r:]:
+            sys.stdout.write('-- more --')
+            sys.stdout.flush()
+            c = getchar()
+
+            if c in ['q', 'Q']:
+                sys.stdout.write('\r          \r')
+                break
+            elif c in ['\r', '\n']:
+                sys.stdout.write('\r          \r' + lines[r] + '\n')
+                r = r + 1
+                continue
+            if c in ['b', 'B', '\x1b']:
+                r = r - inc - inc
+                if r < 0: r = 0
+            sys.stdout.write('\n' + join(lines[r:r+inc], '\n') + '\n')
+            r = r + inc
+
+    finally:
+        if tty:
+            tty.tcsetattr(fd, tty.TCSAFLUSH, old)
+
+def plainpager(text):
+    """Simply print unformatted text.  This is the ultimate fallback."""
+    sys.stdout.write(plain(text))
+
+def describe(thing):
+    """Produce a short description of the given thing."""
+    if inspect.ismodule(thing):
+        if thing.__name__ in sys.builtin_module_names:
+            return 'built-in module ' + thing.__name__
+        if hasattr(thing, '__path__'):
+            return 'package ' + thing.__name__
+        else:
+            return 'module ' + thing.__name__
+    if inspect.isbuiltin(thing):
+        return 'built-in function ' + thing.__name__
+    if inspect.isclass(thing):
+        return 'class ' + thing.__name__
+    if inspect.isfunction(thing):
+        return 'function ' + thing.__name__
+    if inspect.ismethod(thing):
+        return 'method ' + thing.__name__
+    if type(thing) is types.InstanceType:
+        return 'instance of ' + thing.__class__.__name__
+    return type(thing).__name__
+
+def locate(path, forceload=0):
+    """Locate an object by name or dotted path, importing as necessary."""
+    parts = [part for part in split(path, '.') if part]
+    module, n = None, 0
+    while n < len(parts):
+        nextmodule = safeimport(join(parts[:n+1], '.'), forceload)
+        if nextmodule: module, n = nextmodule, n + 1
+        else: break
+    if module:
+        object = module
+        for part in parts[n:]:
+            try: object = getattr(object, part)
+            except AttributeError: return None
+        return object
+    else:
+        if hasattr(__builtin__, path):
+            return getattr(__builtin__, path)
+
+# --------------------------------------- interactive interpreter interface
+
+text = TextDoc()
+html = HTMLDoc()
+
+def resolve(thing, forceload=0):
+    """Given an object or a path to an object, get the object and its name."""
+    if isinstance(thing, str):
+        object = locate(thing, forceload)
+        if not object:
+            raise ImportError, 'no Python documentation found for %r' % thing
+        return object, thing
+    else:
+        return thing, getattr(thing, '__name__', None)
+
+def doc(thing, title='Python Library Documentation: %s', forceload=0):
+    """Display text documentation, given an object or a path to an object."""
+    try:
+        object, name = resolve(thing, forceload)
+        desc = describe(object)
+        module = inspect.getmodule(object)
+        if name and '.' in name:
+            desc += ' in ' + name[:name.rfind('.')]
+        elif module and module is not object:
+            desc += ' in module ' + module.__name__
+        pager(title % desc + '\n\n' + text.document(object, name))
+    except (ImportError, ErrorDuringImport), value:
+        print value
+
+def writedoc(thing, forceload=0):
+    """Write HTML documentation to a file in the current directory."""
+    try:
+        object, name = resolve(thing, forceload)
+        page = html.page(describe(object), html.document(object, name))
+        file = open(name + '.html', 'w')
+        file.write(page)
+        file.close()
+        print 'wrote', name + '.html'
+    except (ImportError, ErrorDuringImport), value:
+        print value
+
+def writedocs(dir, pkgpath='', done=None):
+    """Write out HTML documentation for all modules in a directory tree."""
+    if done is None: done = {}
+    for file in os.listdir(dir):
+        path = os.path.join(dir, file)
+        if ispackage(path):
+            writedocs(path, pkgpath + file + '.', done)
+        elif os.path.isfile(path):
+            modname = inspect.getmodulename(path)
+            if modname:
+                if modname == '__init__':
+                    modname = pkgpath[:-1] # remove trailing period
+                else:
+                    modname = pkgpath + modname
+                if modname not in done:
+                    done[modname] = 1
+                    writedoc(modname)
+
+class Helper:
+    keywords = {
+        'and': 'BOOLEAN',
+        'assert': ('ref/assert', ''),
+        'break': ('ref/break', 'while for'),
+        'class': ('ref/class', 'CLASSES SPECIALMETHODS'),
+        'continue': ('ref/continue', 'while for'),
+        'def': ('ref/function', ''),
+        'del': ('ref/del', 'BASICMETHODS'),
+        'elif': 'if',
+        'else': ('ref/if', 'while for'),
+        'except': 'try',
+        'exec': ('ref/exec', ''),
+        'finally': 'try',
+        'for': ('ref/for', 'break continue while'),
+        'from': 'import',
+        'global': ('ref/global', 'NAMESPACES'),
+        'if': ('ref/if', 'TRUTHVALUE'),
+        'import': ('ref/import', 'MODULES'),
+        'in': ('ref/comparisons', 'SEQUENCEMETHODS2'),
+        'is': 'COMPARISON',
+        'lambda': ('ref/lambdas', 'FUNCTIONS'),
+        'not': 'BOOLEAN',
+        'or': 'BOOLEAN',
+        'pass': ('ref/pass', ''),
+        'print': ('ref/print', ''),
+        'raise': ('ref/raise', 'EXCEPTIONS'),
+        'return': ('ref/return', 'FUNCTIONS'),
+        'try': ('ref/try', 'EXCEPTIONS'),
+        'while': ('ref/while', 'break continue if TRUTHVALUE'),
+        'yield': ('ref/yield', ''),
+    }
+
+    topics = {
+        'TYPES': ('ref/types', 'STRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspect'),
+        'STRINGS': ('ref/strings', 'str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPES'),
+        'STRINGMETHODS': ('lib/string-methods', 'STRINGS FORMATTING'),
+        'FORMATTING': ('lib/typesseq-strings', 'OPERATORS'),
+        'UNICODE': ('ref/strings', 'encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPES'),
+        'NUMBERS': ('ref/numbers', 'INTEGER FLOAT COMPLEX TYPES'),
+        'INTEGER': ('ref/integers', 'int range'),
+        'FLOAT': ('ref/floating', 'float math'),
+        'COMPLEX': ('ref/imaginary', 'complex cmath'),
+        'SEQUENCES': ('lib/typesseq', 'STRINGMETHODS FORMATTING xrange LISTS'),
+        'MAPPINGS': 'DICTIONARIES',
+        'FUNCTIONS': ('lib/typesfunctions', 'def TYPES'),
+        'METHODS': ('lib/typesmethods', 'class def CLASSES TYPES'),
+        'CODEOBJECTS': ('lib/bltin-code-objects', 'compile FUNCTIONS TYPES'),
+        'TYPEOBJECTS': ('lib/bltin-type-objects', 'types TYPES'),
+        'FRAMEOBJECTS': 'TYPES',
+        'TRACEBACKS': 'TYPES',
+        'NONE': ('lib/bltin-null-object', ''),
+        'ELLIPSIS': ('lib/bltin-ellipsis-object', 'SLICINGS'),
+        'FILES': ('lib/bltin-file-objects', ''),
+        'SPECIALATTRIBUTES': ('lib/specialattrs', ''),
+        'CLASSES': ('ref/types', 'class SPECIALMETHODS PRIVATENAMES'),
+        'MODULES': ('lib/typesmodules', 'import'),
+        'PACKAGES': 'import',
+        'EXPRESSIONS': ('ref/summary', 'lambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIES BACKQUOTES'),
+        'OPERATORS': 'EXPRESSIONS',
+        'PRECEDENCE': 'EXPRESSIONS',
+        'OBJECTS': ('ref/objects', 'TYPES'),
+        'SPECIALMETHODS': ('ref/specialnames', 'BASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS1 MAPPINGMETHODS SEQUENCEMETHODS2 NUMBERMETHODS CLASSES'),
+        'BASICMETHODS': ('ref/customization', 'cmp hash repr str SPECIALMETHODS'),
+        'ATTRIBUTEMETHODS': ('ref/attribute-access', 'ATTRIBUTES SPECIALMETHODS'),
+        'CALLABLEMETHODS': ('ref/callable-types', 'CALLS SPECIALMETHODS'),
+        'SEQUENCEMETHODS1': ('ref/sequence-types', 'SEQUENCES SEQUENCEMETHODS2 SPECIALMETHODS'),
+        'SEQUENCEMETHODS2': ('ref/sequence-methods', 'SEQUENCES SEQUENCEMETHODS1 SPECIALMETHODS'),
+        'MAPPINGMETHODS': ('ref/sequence-types', 'MAPPINGS SPECIALMETHODS'),
+        'NUMBERMETHODS': ('ref/numeric-types', 'NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODS'),
+        'EXECUTION': ('ref/execmodel', 'NAMESPACES DYNAMICFEATURES EXCEPTIONS'),
+        'NAMESPACES': ('ref/naming', 'global ASSIGNMENT DELETION DYNAMICFEATURES'),
+        'DYNAMICFEATURES': ('ref/dynamic-features', ''),
+        'SCOPING': 'NAMESPACES',
+        'FRAMES': 'NAMESPACES',
+        'EXCEPTIONS': ('ref/exceptions', 'try except finally raise'),
+        'COERCIONS': ('ref/coercion-rules','CONVERSIONS'),
+        'CONVERSIONS': ('ref/conversions', 'COERCIONS'),
+        'IDENTIFIERS': ('ref/identifiers', 'keywords SPECIALIDENTIFIERS'),
+        'SPECIALIDENTIFIERS': ('ref/id-classes', ''),
+        'PRIVATENAMES': ('ref/atom-identifiers', ''),
+        'LITERALS': ('ref/atom-literals', 'STRINGS BACKQUOTES NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALS'),
+        'TUPLES': 'SEQUENCES',
+        'TUPLELITERALS': ('ref/exprlists', 'TUPLES LITERALS'),
+        'LISTS': ('lib/typesseq-mutable', 'LISTLITERALS'),
+        'LISTLITERALS': ('ref/lists', 'LISTS LITERALS'),
+        'DICTIONARIES': ('lib/typesmapping', 'DICTIONARYLITERALS'),
+        'DICTIONARYLITERALS': ('ref/dict', 'DICTIONARIES LITERALS'),
+        'BACKQUOTES': ('ref/string-conversions', 'repr str STRINGS LITERALS'),
+        'ATTRIBUTES': ('ref/attribute-references', 'getattr hasattr setattr ATTRIBUTEMETHODS'),
+        'SUBSCRIPTS': ('ref/subscriptions', 'SEQUENCEMETHODS1'),
+        'SLICINGS': ('ref/slicings', 'SEQUENCEMETHODS2'),
+        'CALLS': ('ref/calls', 'EXPRESSIONS'),
+        'POWER': ('ref/power', 'EXPRESSIONS'),
+        'UNARY': ('ref/unary', 'EXPRESSIONS'),
+        'BINARY': ('ref/binary', 'EXPRESSIONS'),
+        'SHIFTING': ('ref/shifting', 'EXPRESSIONS'),
+        'BITWISE': ('ref/bitwise', 'EXPRESSIONS'),
+        'COMPARISON': ('ref/comparisons', 'EXPRESSIONS BASICMETHODS'),
+        'BOOLEAN': ('ref/Booleans', 'EXPRESSIONS TRUTHVALUE'),
+        'ASSERTION': 'assert',
+        'ASSIGNMENT': ('ref/assignment', 'AUGMENTEDASSIGNMENT'),
+        'AUGMENTEDASSIGNMENT': ('ref/augassign', 'NUMBERMETHODS'),
+        'DELETION': 'del',
+        'PRINTING': 'print',
+        'RETURNING': 'return',
+        'IMPORTING': 'import',
+        'CONDITIONAL': 'if',
+        'LOOPING': ('ref/compound', 'for while break continue'),
+        'TRUTHVALUE': ('lib/truth', 'if while and or not BASICMETHODS'),
+        'DEBUGGING': ('lib/module-pdb', 'pdb'),
+    }
+
+    def __init__(self, input, output):
+        self.input = input
+        self.output = output
+        self.docdir = None
+        execdir = os.path.dirname(sys.executable)
+        homedir = os.environ.get('PYTHONHOME')
+        for dir in [os.environ.get('PYTHONDOCS'),
+                    homedir and os.path.join(homedir, 'doc'),
+                    '/usr/share/doc/python-docs-%s/html' % split(sys.version)[0],
+                    os.path.join(execdir, 'doc'),
+                    '/usr/doc/python-docs-' + split(sys.version)[0],
+                    '/usr/doc/python-' + split(sys.version)[0],
+                    '/usr/doc/python-docs-' + sys.version[:3],
+                    '/usr/doc/python-' + sys.version[:3],
+                    os.path.join(sys.prefix, 'Resources/English.lproj/Documentation')]:
+            if dir and os.path.isdir(os.path.join(dir, 'lib')):
+                self.docdir = dir
+
+    def __repr__(self):
+        if inspect.stack()[1][3] == '?':
+            self()
+            return ''
+        return '<pydoc.Helper instance>'
+
+    def __call__(self, request=None):
+        if request is not None:
+            self.help(request)
+        else:
+            self.intro()
+            self.interact()
+            self.output.write('''
+You are now leaving help and returning to the Python interpreter.
+If you want to ask for help on a particular object directly from the
+interpreter, you can type "help(object)".  Executing "help('string')"
+has the same effect as typing a particular string at the help> prompt.
+''')
+
+    def interact(self):
+        self.output.write('\n')
+        while True:
+            self.output.write('help> ')
+            self.output.flush()
+            try:
+                request = self.input.readline()
+                if not request: break
+            except KeyboardInterrupt: break
+            request = strip(replace(request, '"', '', "'", ''))
+            if lower(request) in ['q', 'quit']: break
+            self.help(request)
+
+    def help(self, request):
+        if type(request) is type(''):
+            if request == 'help': self.intro()
+            elif request == 'keywords': self.listkeywords()
+            elif request == 'topics': self.listtopics()
+            elif request == 'modules': self.listmodules()
+            elif request[:8] == 'modules ':
+                self.listmodules(split(request)[1])
+            elif request in self.keywords: self.showtopic(request)
+            elif request in self.topics: self.showtopic(request)
+            elif request: doc(request, 'Help on %s:')
+        elif isinstance(request, Helper): self()
+        else: doc(request, 'Help on %s:')
+        self.output.write('\n')
+
+    def intro(self):
+        self.output.write('''
+Welcome to Python %s!  This is the online help utility.
+
+If this is your first time using Python, you should definitely check out
+the tutorial on the Internet at http://www.python.org/doc/tut/.
+
+Enter the name of any module, keyword, or topic to get help on writing
+Python programs and using Python modules.  To quit this help utility and
+return to the interpreter, just type "quit".
+
+To get a list of available modules, keywords, or topics, type "modules",
+"keywords", or "topics".  Each module also comes with a one-line summary
+of what it does; to list the modules whose summaries contain a given word
+such as "spam", type "modules spam".
+''' % sys.version[:3])
+
+    def list(self, items, columns=4, width=80):
+        items = items[:]
+        items.sort()
+        colw = width / columns
+        rows = (len(items) + columns - 1) / columns
+        for row in range(rows):
+            for col in range(columns):
+                i = col * rows + row
+                if i < len(items):
+                    self.output.write(items[i])
+                    if col < columns - 1:
+                        self.output.write(' ' + ' ' * (colw-1 - len(items[i])))
+            self.output.write('\n')
+
+    def listkeywords(self):
+        self.output.write('''
+Here is a list of the Python keywords.  Enter any keyword to get more help.
+
+''')
+        self.list(self.keywords.keys())
+
+    def listtopics(self):
+        self.output.write('''
+Here is a list of available topics.  Enter any topic name to get more help.
+
+''')
+        self.list(self.topics.keys())
+
+    def showtopic(self, topic):
+        if not self.docdir:
+            self.output.write('''
+Sorry, topic and keyword documentation is not available because the Python
+HTML documentation files could not be found.  If you have installed them,
+please set the environment variable PYTHONDOCS to indicate their location.
+''')
+            return
+        target = self.topics.get(topic, self.keywords.get(topic))
+        if not target:
+            self.output.write('no documentation found for %s\n' % repr(topic))
+            return
+        if type(target) is type(''):
+            return self.showtopic(target)
+
+        filename, xrefs = target
+        filename = self.docdir + '/' + filename + '.html'
+        try:
+            file = open(filename)
+        except:
+            self.output.write('could not read docs from %s\n' % filename)
+            return
+
+        divpat = re.compile('<div[^>]*navigat.*?</div.*?>', re.I | re.S)
+        addrpat = re.compile('<address.*?>.*?</address.*?>', re.I | re.S)
+        document = re.sub(addrpat, '', re.sub(divpat, '', file.read()))
+        file.close()
+
+        import htmllib, formatter, StringIO
+        buffer = StringIO.StringIO()
+        parser = htmllib.HTMLParser(
+            formatter.AbstractFormatter(formatter.DumbWriter(buffer)))
+        parser.start_table = parser.do_p
+        parser.end_table = lambda parser=parser: parser.do_p({})
+        parser.start_tr = parser.do_br
+        parser.start_td = parser.start_th = lambda a, b=buffer: b.write('\t')
+        parser.feed(document)
+        buffer = replace(buffer.getvalue(), '\xa0', ' ', '\n', '\n  ')
+        pager('  ' + strip(buffer) + '\n')
+        if xrefs:
+            buffer = StringIO.StringIO()
+            formatter.DumbWriter(buffer).send_flowing_data(
+                'Related help topics: ' + join(split(xrefs), ', ') + '\n')
+            self.output.write('\n%s\n' % buffer.getvalue())
+
+    def listmodules(self, key=''):
+        if key:
+            self.output.write('''
+Here is a list of matching modules.  Enter any module name to get more help.
+
+''')
+            apropos(key)
+        else:
+            self.output.write('''
+Please wait a moment while I gather a list of all available modules...
+
+''')
+            modules = {}
+            def callback(path, modname, desc, modules=modules):
+                if modname and modname[-9:] == '.__init__':
+                    modname = modname[:-9] + ' (package)'
+                if find(modname, '.') < 0:
+                    modules[modname] = 1
+            ModuleScanner().run(callback)
+            self.list(modules.keys())
+            self.output.write('''
+Enter any module name to get more help.  Or, type "modules spam" to search
+for modules whose descriptions contain the word "spam".
+''')
+
+help = Helper(sys.stdin, sys.stdout)
+
+class Scanner:
+    """A generic tree iterator."""
+    def __init__(self, roots, children, descendp):
+        self.roots = roots[:]
+        self.state = []
+        self.children = children
+        self.descendp = descendp
+
+    def next(self):
+        if not self.state:
+            if not self.roots:
+                return None
+            root = self.roots.pop(0)
+            self.state = [(root, self.children(root))]
+        node, children = self.state[-1]
+        if not children:
+            self.state.pop()
+            return self.next()
+        child = children.pop(0)
+        if self.descendp(child):
+            self.state.append((child, self.children(child)))
+        return child
+
+class ModuleScanner(Scanner):
+    """An interruptible scanner that searches module synopses."""
+    def __init__(self):
+        roots = map(lambda dir: (dir, ''), pathdirs())
+        Scanner.__init__(self, roots, self.submodules, self.isnewpackage)
+        self.inodes = map(lambda (dir, pkg): os.stat(dir).st_ino, roots)
+
+    def submodules(self, (dir, package)):
+        children = []
+        for file in os.listdir(dir):
+            path = os.path.join(dir, file)
+            if ispackage(path):
+                children.append((path, package + (package and '.') + file))
+            else:
+                children.append((path, package))
+        children.sort() # so that spam.py comes before spam.pyc or spam.pyo
+        return children
+
+    def isnewpackage(self, (dir, package)):
+        inode = os.path.exists(dir) and os.stat(dir).st_ino
+        if not (os.path.islink(dir) and inode in self.inodes):
+            self.inodes.append(inode) # detect circular symbolic links
+            return ispackage(dir)
+        return False
+
+    def run(self, callback, key=None, completer=None):
+        if key: key = lower(key)
+        self.quit = False
+        seen = {}
+
+        for modname in sys.builtin_module_names:
+            if modname != '__main__':
+                seen[modname] = 1
+                if key is None:
+                    callback(None, modname, '')
+                else:
+                    desc = split(__import__(modname).__doc__ or '', '\n')[0]
+                    if find(lower(modname + ' - ' + desc), key) >= 0:
+                        callback(None, modname, desc)
+
+        while not self.quit:
+            node = self.next()
+            if not node: break
+            path, package = node
+            modname = inspect.getmodulename(path)
+            if os.path.isfile(path) and modname:
+                modname = package + (package and '.') + modname
+                if not modname in seen:
+                    seen[modname] = 1 # if we see spam.py, skip spam.pyc
+                    if key is None:
+                        callback(path, modname, '')
+                    else:
+                        desc = synopsis(path) or ''
+                        if find(lower(modname + ' - ' + desc), key) >= 0:
+                            callback(path, modname, desc)
+        if completer: completer()
+
+def apropos(key):
+    """Print all the one-line module summaries that contain a substring."""
+    def callback(path, modname, desc):
+        if modname[-9:] == '.__init__':
+            modname = modname[:-9] + ' (package)'
+        print modname, desc and '- ' + desc
+    try: import warnings
+    except ImportError: pass
+    else: warnings.filterwarnings('ignore') # ignore problems during import
+    ModuleScanner().run(callback, key)
+
+# --------------------------------------------------- web browser interface
+
+def serve(port, callback=None, completer=None):
+    import BaseHTTPServer, mimetools, select
+
+    # Patch up mimetools.Message so it doesn't break if rfc822 is reloaded.
+    class Message(mimetools.Message):
+        def __init__(self, fp, seekable=1):
+            Message = self.__class__
+            Message.__bases__[0].__bases__[0].__init__(self, fp, seekable)
+            self.encodingheader = self.getheader('content-transfer-encoding')
+            self.typeheader = self.getheader('content-type')
+            self.parsetype()
+            self.parseplist()
+
+    class DocHandler(BaseHTTPServer.BaseHTTPRequestHandler):
+        def send_document(self, title, contents):
+            try:
+                self.send_response(200)
+                self.send_header('Content-Type', 'text/html')
+                self.end_headers()
+                self.wfile.write(html.page(title, contents))
+            except IOError: pass
+
+        def do_GET(self):
+            path = self.path
+            if path[-5:] == '.html': path = path[:-5]
+            if path[:1] == '/': path = path[1:]
+            if path and path != '.':
+                try:
+                    obj = locate(path, forceload=1)
+                except ErrorDuringImport, value:
+                    self.send_document(path, html.escape(str(value)))
+                    return
+                if obj:
+                    self.send_document(describe(obj), html.document(obj, path))
+                else:
+                    self.send_document(path,
+'no Python documentation found for %s' % repr(path))
+            else:
+                heading = html.heading(
+'<big><big><strong>Python: Index of Modules</strong></big></big>',
+'#ffffff', '#7799ee')
+                def bltinlink(name):
+                    return '<a href="%s.html">%s</a>' % (name, name)
+                names = filter(lambda x: x != '__main__',
+                               sys.builtin_module_names)
+                contents = html.multicolumn(names, bltinlink)
+                indices = ['<p>' + html.bigsection(
+                    'Built-in Modules', '#ffffff', '#ee77aa', contents)]
+
+                seen = {}
+                for dir in pathdirs():
+                    indices.append(html.index(dir, seen))
+                contents = heading + join(indices) + '''<p align=right>
+<font color="#909090" face="helvetica, arial"><strong>
+pydoc</strong> by Ka-Ping Yee <ping at lfw.org></font>'''
+                self.send_document('Index of Modules', contents)
+
+        def log_message(self, *args): pass
+
+    class DocServer(BaseHTTPServer.HTTPServer):
+        def __init__(self, port, callback):
+            host = (sys.platform == 'mac') and '127.0.0.1' or 'localhost'
+            self.address = ('', port)
+            self.url = 'http://%s:%d/' % (host, port)
+            self.callback = callback
+            self.base.__init__(self, self.address, self.handler)
+
+        def serve_until_quit(self):
+            import select
+            self.quit = False
+            while not self.quit:
+                rd, wr, ex = select.select([self.socket.fileno()], [], [], 1)
+                if rd: self.handle_request()
+
+        def server_activate(self):
+            self.base.server_activate(self)
+            if self.callback: self.callback(self)
+
+    DocServer.base = BaseHTTPServer.HTTPServer
+    DocServer.handler = DocHandler
+    DocHandler.MessageClass = Message
+    try:
+        try:
+            DocServer(port, callback).serve_until_quit()
+        except (KeyboardInterrupt, select.error):
+            pass
+    finally:
+        if completer: completer()
+
+# ----------------------------------------------------- graphical interface
+
+def gui():
+    """Graphical interface (starts web server and pops up a control window)."""
+    class GUI:
+        def __init__(self, window, port=7464):
+            self.window = window
+            self.server = None
+            self.scanner = None
+
+            import Tkinter
+            self.server_frm = Tkinter.Frame(window)
+            self.title_lbl = Tkinter.Label(self.server_frm,
+                text='Starting server...\n ')
+            self.open_btn = Tkinter.Button(self.server_frm,
+                text='open browser', command=self.open, state='disabled')
+            self.quit_btn = Tkinter.Button(self.server_frm,
+                text='quit serving', command=self.quit, state='disabled')
+
+            self.search_frm = Tkinter.Frame(window)
+            self.search_lbl = Tkinter.Label(self.search_frm, text='Search for')
+            self.search_ent = Tkinter.Entry(self.search_frm)
+            self.search_ent.bind('<Return>', self.search)
+            self.stop_btn = Tkinter.Button(self.search_frm,
+                text='stop', pady=0, command=self.stop, state='disabled')
+            if sys.platform == 'win32':
+                # Trying to hide and show this button crashes under Windows.
+                self.stop_btn.pack(side='right')
+
+            self.window.title('pydoc')
+            self.window.protocol('WM_DELETE_WINDOW', self.quit)
+            self.title_lbl.pack(side='top', fill='x')
+            self.open_btn.pack(side='left', fill='x', expand=1)
+            self.quit_btn.pack(side='right', fill='x', expand=1)
+            self.server_frm.pack(side='top', fill='x')
+
+            self.search_lbl.pack(side='left')
+            self.search_ent.pack(side='right', fill='x', expand=1)
+            self.search_frm.pack(side='top', fill='x')
+            self.search_ent.focus_set()
+
+            font = ('helvetica', sys.platform == 'win32' and 8 or 10)
+            self.result_lst = Tkinter.Listbox(window, font=font, height=6)
+            self.result_lst.bind('<Button-1>', self.select)
+            self.result_lst.bind('<Double-Button-1>', self.goto)
+            self.result_scr = Tkinter.Scrollbar(window,
+                orient='vertical', command=self.result_lst.yview)
+            self.result_lst.config(yscrollcommand=self.result_scr.set)
+
+            self.result_frm = Tkinter.Frame(window)
+            self.goto_btn = Tkinter.Button(self.result_frm,
+                text='go to selected', command=self.goto)
+            self.hide_btn = Tkinter.Button(self.result_frm,
+                text='hide results', command=self.hide)
+            self.goto_btn.pack(side='left', fill='x', expand=1)
+            self.hide_btn.pack(side='right', fill='x', expand=1)
+
+            self.window.update()
+            self.minwidth = self.window.winfo_width()
+            self.minheight = self.window.winfo_height()
+            self.bigminheight = (self.server_frm.winfo_reqheight() +
+                                 self.search_frm.winfo_reqheight() +
+                                 self.result_lst.winfo_reqheight() +
+                                 self.result_frm.winfo_reqheight())
+            self.bigwidth, self.bigheight = self.minwidth, self.bigminheight
+            self.expanded = 0
+            self.window.wm_geometry('%dx%d' % (self.minwidth, self.minheight))
+            self.window.wm_minsize(self.minwidth, self.minheight)
+            self.window.tk.willdispatch()
+
+            import threading
+            threading.Thread(
+                target=serve, args=(port, self.ready, self.quit)).start()
+
+        def ready(self, server):
+            self.server = server
+            self.title_lbl.config(
+                text='Python documentation server at\n' + server.url)
+            self.open_btn.config(state='normal')
+            self.quit_btn.config(state='normal')
+
+        def open(self, event=None, url=None):
+            url = url or self.server.url
+            try:
+                import webbrowser
+                webbrowser.open(url)
+            except ImportError: # pre-webbrowser.py compatibility
+                if sys.platform == 'win32':
+                    os.system('start "%s"' % url)
+                elif sys.platform == 'mac':
+                    try: import ic
+                    except ImportError: pass
+                    else: ic.launchurl(url)
+                else:
+                    rc = os.system('netscape -remote "openURL(%s)" &' % url)
+                    if rc: os.system('netscape "%s" &' % url)
+
+        def quit(self, event=None):
+            if self.server:
+                self.server.quit = 1
+            self.window.quit()
+
+        def search(self, event=None):
+            key = self.search_ent.get()
+            self.stop_btn.pack(side='right')
+            self.stop_btn.config(state='normal')
+            self.search_lbl.config(text='Searching for "%s"...' % key)
+            self.search_ent.forget()
+            self.search_lbl.pack(side='left')
+            self.result_lst.delete(0, 'end')
+            self.goto_btn.config(state='disabled')
+            self.expand()
+
+            import threading
+            if self.scanner:
+                self.scanner.quit = 1
+            self.scanner = ModuleScanner()
+            threading.Thread(target=self.scanner.run,
+                             args=(self.update, key, self.done)).start()
+
+        def update(self, path, modname, desc):
+            if modname[-9:] == '.__init__':
+                modname = modname[:-9] + ' (package)'
+            self.result_lst.insert('end',
+                modname + ' - ' + (desc or '(no description)'))
+
+        def stop(self, event=None):
+            if self.scanner:
+                self.scanner.quit = 1
+                self.scanner = None
+
+        def done(self):
+            self.scanner = None
+            self.search_lbl.config(text='Search for')
+            self.search_lbl.pack(side='left')
+            self.search_ent.pack(side='right', fill='x', expand=1)
+            if sys.platform != 'win32': self.stop_btn.forget()
+            self.stop_btn.config(state='disabled')
+
+        def select(self, event=None):
+            self.goto_btn.config(state='normal')
+
+        def goto(self, event=None):
+            selection = self.result_lst.curselection()
+            if selection:
+                modname = split(self.result_lst.get(selection[0]))[0]
+                self.open(url=self.server.url + modname + '.html')
+
+        def collapse(self):
+            if not self.expanded: return
+            self.result_frm.forget()
+            self.result_scr.forget()
+            self.result_lst.forget()
+            self.bigwidth = self.window.winfo_width()
+            self.bigheight = self.window.winfo_height()
+            self.window.wm_geometry('%dx%d' % (self.minwidth, self.minheight))
+            self.window.wm_minsize(self.minwidth, self.minheight)
+            self.expanded = 0
+
+        def expand(self):
+            if self.expanded: return
+            self.result_frm.pack(side='bottom', fill='x')
+            self.result_scr.pack(side='right', fill='y')
+            self.result_lst.pack(side='top', fill='both', expand=1)
+            self.window.wm_geometry('%dx%d' % (self.bigwidth, self.bigheight))
+            self.window.wm_minsize(self.minwidth, self.bigminheight)
+            self.expanded = 1
+
+        def hide(self, event=None):
+            self.stop()
+            self.collapse()
+
+    import Tkinter
+    try:
+        gui = GUI(Tkinter.Tk())
+        Tkinter.mainloop()
+    except KeyboardInterrupt:
+        pass
+
+# -------------------------------------------------- command-line interface
+
+def ispath(x):
+    return isinstance(x, str) and find(x, os.sep) >= 0
+
+def cli():
+    """Command-line interface (looks at sys.argv to decide what to do)."""
+    import getopt
+    class BadUsage: pass
+
+    # Scripts don't get the current directory in their path by default.
+    scriptdir = os.path.dirname(sys.argv[0])
+    if scriptdir in sys.path:
+        sys.path.remove(scriptdir)
+    sys.path.insert(0, '.')
+
+    try:
+        opts, args = getopt.getopt(sys.argv[1:], 'gk:p:w')
+        writing = 0
+
+        for opt, val in opts:
+            if opt == '-k':
+                apropos(val)
+                return
+            if opt == '-p':
+                try:
+                    port = int(val)
+                except ValueError:
+                    raise BadUsage
+                def ready(server):
+                    print 'pydoc server ready at %s' % server.url
+                def stopped():
+                    print 'pydoc server stopped'
+                serve(port, ready, stopped)
+                return
+            if opt == '-w':
+                writing = 1
+
+        if not args: raise BadUsage
+        for arg in args:
+            if ispath(arg) and not os.path.exists(arg):
+                print 'file %r does not exist' % arg
+                break
+            try:
+                if ispath(arg) and os.path.isfile(arg):
+                    arg = importfile(arg)
+                if writing:
+                    if ispath(arg) and os.path.isdir(arg):
+                        writedocs(arg)
+                    else:
+                        writedoc(arg)
+                else:
+                    help.help(arg)
+            except ErrorDuringImport, value:
+                print value
+
+    except (getopt.error, BadUsage):
+        cmd = os.path.basename(sys.argv[0])
+        print """pydoc - the Python documentation tool
+
+%s <name> ...
+    Show text documentation on something.  <name> may be the name of a
+    Python keyword, topic, function, module, or package, or a dotted
+    reference to a class or function within a module or module in a
+    package.  If <name> contains a '%s', it is used as the path to a
+    Python source file to document. If name is 'keywords', 'topics',
+    or 'modules', a listing of these things is displayed.
+
+%s -k <keyword>
+    Search for a keyword in the synopsis lines of all available modules.
+
+%s -p <port>
+    Start an HTTP server on the given port on the local machine.
+
+%s -w <name> ...
+    Write out the HTML documentation for a module to a file in the current
+    directory.  If <name> contains a '%s', it is treated as a filename; if
+    it names a directory, documentation is written for all the contents.
+""" % (cmd, os.sep, cmd, cmd, cmd, os.sep)
+
+if __name__ == '__main__': cli()
diff --git a/trunk/apps/bindings/python/sensorType.i b/trunk/apps/bindings/python/sensorType.i
new file mode 100644
index 0000000..a13c625
--- /dev/null
+++ b/trunk/apps/bindings/python/sensorType.i
@@ -0,0 +1,17 @@
+// GPSTk wrap for Python through SWIG 1.3.25
+// Two nested structs from RinexMetHeader.hpp
+
+struct sensorType
+{
+	std::string model;
+	std::string type;
+	double accuracy;
+	RinexMetType obsType;
+};
+
+struct sensorPosType
+{
+	gpstk::Triple position;
+	double height;
+	RinexMetType obsType;
+};
diff --git a/trunk/apps/bindings/python/streamRead.cpp b/trunk/apps/bindings/python/streamRead.cpp
new file mode 100644
index 0000000..2be3b79
--- /dev/null
+++ b/trunk/apps/bindings/python/streamRead.cpp
@@ -0,0 +1,11 @@
+// Some operator<< are not wrapped.  Even some that are not nested.
+
+#include <iostream>
+#include <fstream>
+#include "DayTime.hpp"
+
+std::ostream& DayTime_streamRead(ostream& s, DayTime& t)
+{
+  s << t.printf("%02m/%02d/%04Y %02H:%02M:%02S");
+  return s;
+}
diff --git a/trunk/apps/bindings/python/streamRead.i b/trunk/apps/bindings/python/streamRead.i
new file mode 100644
index 0000000..f958704
--- /dev/null
+++ b/trunk/apps/bindings/python/streamRead.i
@@ -0,0 +1,3 @@
+// Some operator<< are not wrapped.  Even some that are not nested.
+
+std::ostream& DayTime_streamRead(ostream& s, DayTime& t);
diff --git a/trunk/apps/bindings/tcl/Makefile b/trunk/apps/bindings/tcl/Makefile
new file mode 100644
index 0000000..df9c2e6
--- /dev/null
+++ b/trunk/apps/bindings/tcl/Makefile
@@ -0,0 +1,49 @@
+#
+# $Id:$
+#
+# This simple makefile builds a Tcl/Tk interface to the GPSTk from code
+# generated the SWIG utility (http://www.swig.org/). 
+#
+# You shouldn't need to install SWIG to compile this interface as
+# distributed, unless you change the interface definition (.i files).
+#
+# What you do need:
+#  - A C/C++ compiler.
+#  - Development headers of Tcl/Tk
+#  - Knowledge where the header tcl.h is installed
+#  - The sed utility
+# 
+# Not all GPSTk functionality is present in these Tcl/Tk bindings.
+# Two reasons: First, this is a work in progress and should be considered
+# incomplete. Second, not all of the GPSTk's functionality _can_ be mapped
+# into other languages such as Tcl/Tk.
+#
+# Examples of usage of this interface are in the examples subdirectory.
+#
+# Reminder for later: $@ is target, $< is rhs, $^ is rhs
+
+all :	gpstk-tcl.so 
+
+gpstk_wrap.cxx: ../gpstk.i ../common.i ../Exception.i ../GPSZcount.i \
+	../DayTime.i ../FFTextStream.i ../RinexObsStream.i
+	swig -tcl -c++ -importall -ignoremissing -I.. \
+	gpstk.i
+
+gpstk_wrap_mod.cxx: gpstk_wrap.cxx
+	sed 's/DayTime.hpp\"/DayTime.hpp\"\nusing namespace gpstk;/' gpstk_wrap.cxx > gpstk_wrap_mod.cxx
+
+gpstk_wrap_mod.o: gpstk_wrap_mod.cxx
+	g++ -fpic -c gpstk_wrap_mod.cxx -I.. -I /usr/include/tcl8.4
+
+gpstk-tcl.so: gpstk_wrap_mod.o
+	g++ -shared gpstk_wrap_mod.o -o gpstk-tcl.so -lgpstk
+
+clean:
+	rm *_wrap*
+	rm *gpstk*.so
+
+
+
+
+
+
diff --git a/trunk/apps/bindings/tcl/examples/example1.tcl b/trunk/apps/bindings/tcl/examples/example1.tcl
new file mode 100755
index 0000000..f210864
--- /dev/null
+++ b/trunk/apps/bindings/tcl/examples/example1.tcl
@@ -0,0 +1,10 @@
+#!/usr/bin/tclsh
+
+load ../gpstk-tcl.so
+
+DayTime time
+
+puts "Hello world"
+puts "  The current GPS week is [time GPSfullweek]"
+puts "  The day of the GPS week is [time GPSday]"
+puts "  The seconds of the GPS week is [time GPSsecond]"
diff --git a/trunk/apps/bindings/tcl/gpstk_wrap_mod.cxx b/trunk/apps/bindings/tcl/gpstk_wrap_mod.cxx
new file mode 100644
index 0000000..51212da
--- /dev/null
+++ b/trunk/apps/bindings/tcl/gpstk_wrap_mod.cxx
@@ -0,0 +1,11807 @@
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.24
+ * 
+ * This file is not intended to be easily readable and contains a number of 
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG 
+ * interface file instead. 
+ * ----------------------------------------------------------------------------- */
+
+
+#ifdef __cplusplus
+template<class T> class SwigValueWrapper {
+    T *tt;
+public:
+    SwigValueWrapper() : tt(0) { }
+    SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+    SwigValueWrapper(const T& t) : tt(new T(t)) { }
+    ~SwigValueWrapper() { delete tt; } 
+    SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
+    operator T&() const { return *tt; }
+    T *operator&() { return tt; }
+private:
+    SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};
+#endif
+
+
+#ifndef SWIG_TEMPLATE_DISAMBIGUATOR
+#  if defined(__SUNPRO_CC) 
+#    define SWIG_TEMPLATE_DISAMBIGUATOR template
+#  else
+#    define SWIG_TEMPLATE_DISAMBIGUATOR 
+#  endif
+#endif
+
+/***********************************************************************
+ * swigrun.swg
+ *
+ *     This file contains generic CAPI SWIG runtime support for pointer
+ *     type checking.
+ *
+ ************************************************************************/
+
+/* This should only be incremented when either the layout of swig_type_info changes,
+   or for whatever reason, the runtime changes incompatibly */
+#define SWIG_RUNTIME_VERSION "1"
+
+/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
+#ifdef SWIG_TYPE_TABLE
+#define SWIG_QUOTE_STRING(x) #x
+#define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
+#define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
+#else
+#define SWIG_TYPE_TABLE_NAME
+#endif
+
+#include <string.h>
+
+#ifndef SWIGINLINE
+#if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
+#  define SWIGINLINE inline
+#else
+#  define SWIGINLINE
+#endif
+#endif
+
+/*
+  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
+  creating a static or dynamic library from the swig runtime code.
+  In 99.9% of the cases, swig just needs to declare them as 'static'.
+  
+  But only do this if is strictly necessary, ie, if you have problems
+  with your compiler or so.
+*/
+#ifndef SWIGRUNTIME
+#define SWIGRUNTIME static
+#endif
+#ifndef SWIGRUNTIMEINLINE
+#define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void *(*swig_converter_func)(void *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+typedef struct swig_type_info {
+  const char             *name;
+  swig_converter_func     converter;
+  const char             *str;
+  void                   *clientdata;
+  swig_dycast_func        dcast;
+  struct swig_type_info  *next;
+  struct swig_type_info  *prev;
+} swig_type_info;
+
+/* 
+  Compare two type names skipping the space characters, therefore
+  "char*" == "char *" and "Class<int>" == "Class<int >", etc.
+
+  Return 0 when the two name types are equivalent, as in
+  strncmp, but skipping ' '.
+*/
+SWIGRUNTIME int
+SWIG_TypeNameComp(const char *f1, const char *l1,
+		  const char *f2, const char *l2) {
+  for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
+    while ((*f1 == ' ') && (f1 != l1)) ++f1;
+    while ((*f2 == ' ') && (f2 != l2)) ++f2;
+    if (*f1 != *f2) return *f1 - *f2;
+  }
+  return (l1 - f1) - (l2 - f2);
+}
+
+/*
+  Check type equivalence in a name list like <name1>|<name2>|...
+*/
+SWIGRUNTIME int
+SWIG_TypeEquiv(const char *nb, const char *tb) {
+  int equiv = 0;
+  const char* te = tb + strlen(tb);
+  const char* ne = nb;
+  while (!equiv && *ne) {
+    for (nb = ne; *ne; ++ne) {
+      if (*ne == '|') break;
+    }
+    equiv = SWIG_TypeNameComp(nb, ne, tb, te) == 0;
+    if (*ne) ++ne;
+  }
+  return equiv;
+}
+
+/*
+  Register a type mapping with the type-checking
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeRegisterTL(swig_type_info **tl, swig_type_info *ti) {
+  swig_type_info *tc, *head, *ret, *next;
+  /* Check to see if this type has already been registered */
+  tc = *tl;
+  while (tc) {
+    /* check simple type equivalence */
+    int typeequiv = (strcmp(tc->name, ti->name) == 0);   
+    /* check full type equivalence, resolving typedefs */
+    if (!typeequiv) {
+      /* only if tc is not a typedef (no '|' on it) */
+      if (tc->str && ti->str && !strstr(tc->str,"|")) {
+	typeequiv = SWIG_TypeEquiv(ti->str,tc->str);
+      }
+    }
+    if (typeequiv) {
+      /* Already exists in the table.  Just add additional types to the list */
+      if (ti->clientdata) tc->clientdata = ti->clientdata;
+      head = tc;
+      next = tc->next;
+      goto l1;
+    }
+    tc = tc->prev;
+  }
+  head = ti;
+  next = 0;
+
+  /* Place in list */
+  ti->prev = *tl;
+  *tl = ti;
+
+  /* Build linked lists */
+  l1:
+  ret = head;
+  tc = ti + 1;
+  /* Patch up the rest of the links */
+  while (tc->name) {
+    head->next = tc;
+    tc->prev = head;
+    head = tc;
+    tc++;
+  }
+  if (next) next->prev = head;
+  head->next = next;
+
+  return ret;
+}
+
+/*
+  Check the typename
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeCheck(const char *c, swig_type_info *ty) {
+  swig_type_info *s;
+  if (!ty) return 0;        /* Void pointer */
+  s = ty->next;             /* First element always just a name */
+  do {
+    if (strcmp(s->name,c) == 0) {
+      if (s == ty->next) return s;
+      /* Move s to the top of the linked list */
+      s->prev->next = s->next;
+      if (s->next) {
+        s->next->prev = s->prev;
+      }
+      /* Insert s as second element in the list */
+      s->next = ty->next;
+      if (ty->next) ty->next->prev = s;
+      ty->next = s;
+      s->prev = ty;
+      return s;
+    }
+    s = s->next;
+  } while (s && (s != ty->next));
+  return 0;
+}
+
+/*
+  Cast a pointer up an inheritance hierarchy
+*/
+SWIGRUNTIMEINLINE void *
+SWIG_TypeCast(swig_type_info *ty, void *ptr) {
+  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr);
+}
+
+/* 
+   Dynamic pointer casting. Down an inheritance hierarchy
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
+  swig_type_info *lastty = ty;
+  if (!ty || !ty->dcast) return ty;
+  while (ty && (ty->dcast)) {
+    ty = (*ty->dcast)(ptr);
+    if (ty) lastty = ty;
+  }
+  return lastty;
+}
+
+/*
+  Return the name associated with this type
+*/
+SWIGRUNTIMEINLINE const char *
+SWIG_TypeName(const swig_type_info *ty) {
+  return ty->name;
+}
+
+/*
+  Return the pretty name associated with this type,
+  that is an unmangled type name in a form presentable to the user.
+*/
+SWIGRUNTIME const char *
+SWIG_TypePrettyName(const swig_type_info *type) {
+  /* The "str" field contains the equivalent pretty names of the
+     type, separated by vertical-bar characters.  We choose
+     to print the last name, as it is often (?) the most
+     specific. */
+  if (type->str != NULL) {
+    const char *last_name = type->str;
+    const char *s;
+    for (s = type->str; *s; s++)
+      if (*s == '|') last_name = s+1;
+    return last_name;
+  }
+  else
+    return type->name;
+}
+
+/*
+  Search for a swig_type_info structure
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeQueryTL(swig_type_info *tl, const char *name) {
+  swig_type_info *ty = tl;
+  while (ty) {
+    if (ty->str && (SWIG_TypeEquiv(ty->str,name))) return ty;
+    if (ty->name && (strcmp(name,ty->name) == 0)) return ty;
+    ty = ty->prev;
+  }
+  return 0;
+}
+
+/* 
+   Set the clientdata field for a type
+*/
+SWIGRUNTIME void
+SWIG_TypeClientDataTL(swig_type_info *tl, swig_type_info *ti, void *clientdata) {
+  swig_type_info *tc, *equiv;
+  if (ti->clientdata) return;
+  /* if (ti->clientdata == clientdata) return; */
+  ti->clientdata = clientdata;
+  equiv = ti->next;
+  while (equiv) {
+    if (!equiv->converter) {
+      tc = tl;
+      while (tc) {
+        if ((strcmp(tc->name, equiv->name) == 0))
+          SWIG_TypeClientDataTL(tl,tc,clientdata);
+        tc = tc->prev;
+      }
+    }
+    equiv = equiv->next;
+  }
+}
+
+/* 
+   Pack binary data into a string
+*/
+SWIGRUNTIME char *
+SWIG_PackData(char *c, void *ptr, size_t sz) {
+  static char hex[17] = "0123456789abcdef";
+  unsigned char *u = (unsigned char *) ptr;
+  const unsigned char *eu =  u + sz;
+  register unsigned char uu;
+  for (; u != eu; ++u) {
+    uu = *u;
+    *(c++) = hex[(uu & 0xf0) >> 4];
+    *(c++) = hex[uu & 0xf];
+  }
+  return c;
+}
+
+/* 
+   Unpack binary data from a string
+*/
+SWIGRUNTIME const char *
+SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
+  register unsigned char *u = (unsigned char *) ptr;
+  register const unsigned char *eu =  u + sz;
+  for (; u != eu; ++u) {
+    register int d = *(c++);
+    register unsigned char uu = 0;
+    if ((d >= '0') && (d <= '9'))
+      uu = ((d - '0') << 4);
+    else if ((d >= 'a') && (d <= 'f'))
+      uu = ((d - ('a'-10)) << 4);
+    else 
+      return (char *) 0;
+    d = *(c++);
+    if ((d >= '0') && (d <= '9'))
+      uu |= (d - '0');
+    else if ((d >= 'a') && (d <= 'f'))
+      uu |= (d - ('a'-10));
+    else 
+      return (char *) 0;
+    *u = uu;
+  }
+  return c;
+}
+
+/*
+  This function will propagate the clientdata field of type to any new
+  swig_type_info structures that have been added into the list of
+  equivalent types.  It is like calling SWIG_TypeClientData(type,
+  clientdata) a second time.
+*/
+SWIGRUNTIME void
+SWIG_PropagateClientDataTL(swig_type_info *tl, swig_type_info *type) {
+  swig_type_info *equiv = type->next;
+  swig_type_info *tc;
+  if (!type->clientdata) return;
+  while (equiv) {
+    if (!equiv->converter) {
+      tc = tl;
+      while (tc) {
+        if ((strcmp(tc->name, equiv->name) == 0) && !tc->clientdata)
+          SWIG_TypeClientDataTL(tl,tc, type->clientdata);
+        tc = tc->prev;
+      }
+    }
+    equiv = equiv->next;
+  }
+}
+
+/* 
+   Pack 'void *' into a string buffer.
+*/
+SWIGRUNTIME char *
+SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
+  char *r = buff;
+  if ((2*sizeof(void *) + 2) > bsz) return 0;
+  *(r++) = '_';
+  r = SWIG_PackData(r,&ptr,sizeof(void *));
+  if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
+  strcpy(r,name);
+  return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
+  if (*c != '_') {
+    if (strcmp(c,"NULL") == 0) {
+      *ptr = (void *) 0;
+      return name;
+    } else {
+      return 0;
+    }
+  }
+  return SWIG_UnpackData(++c,ptr,sizeof(void *));
+}
+
+SWIGRUNTIME char *
+SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
+  char *r = buff;
+  size_t lname = (name ? strlen(name) : 0);
+  if ((2*sz + 2 + lname) > bsz) return 0;
+  *(r++) = '_';
+  r = SWIG_PackData(r,ptr,sz);
+  if (lname) {
+    strncpy(r,name,lname+1);
+  } else {
+    *r = 0;
+  }
+  return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
+  if (*c != '_') {
+    if (strcmp(c,"NULL") == 0) {
+      memset(ptr,0,sz);
+      return name;
+    } else {
+      return 0;
+    }
+  }
+  return SWIG_UnpackData(++c,ptr,sz);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/***********************************************************************
+ * common.swg
+ *
+ *     This file contains generic SWIG runtime support for pointer
+ *     type checking as well as a few commonly used macros to control
+ *     external linkage.
+ *
+ * Author : David Beazley (beazley at cs.uchicago.edu)
+ *
+ * Copyright (c) 1999-2000, The University of Chicago
+ * 
+ * This file may be freely redistributed without license or fee provided
+ * this copyright message remains intact.
+ ************************************************************************/
+
+
+#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+#  if !defined(STATIC_LINKED)
+#    define SWIGEXPORT(a) __declspec(dllexport) a
+#  else
+#    define SWIGEXPORT(a) a
+#  endif
+#else
+#  define SWIGEXPORT(a) a
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/*************************************************************************/
+
+
+/* The static type info list */
+
+static swig_type_info *swig_type_list = 0;
+static swig_type_info **swig_type_list_handle = &swig_type_list;
+  
+
+/* Register a type mapping with the type-checking */
+static swig_type_info *
+SWIG_TypeRegister(swig_type_info *ti) {
+  return SWIG_TypeRegisterTL(swig_type_list_handle, ti);
+}
+
+/* Search for a swig_type_info structure */
+static swig_type_info *
+SWIG_TypeQuery(const char *name) {
+  return SWIG_TypeQueryTL(*swig_type_list_handle, name);
+}
+
+/* Set the clientdata field for a type */
+static void
+SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
+  SWIG_TypeClientDataTL(*swig_type_list_handle, ti, clientdata);
+}
+
+/* This function will propagate the clientdata field of type to
+* any new swig_type_info structures that have been added into the list
+* of equivalent types.  It is like calling
+* SWIG_TypeClientData(type, clientdata) a second time.
+*/
+static void
+SWIG_PropagateClientData(swig_type_info *type) {
+  SWIG_PropagateClientDataTL(*swig_type_list_handle, type);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/*
+ * $Header: /cvsroot/swig/SWIG/Lib/tcl/swigtcl8.swg,v 1.24 2004/11/21 19:30:55 marcelomatus Exp $
+ * 
+ * swigtcl8.swg
+ */
+
+#include <tcl.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <ctype.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Constant table */
+
+#define SWIG_TCL_INT     1
+#define SWIG_TCL_FLOAT   2
+#define SWIG_TCL_STRING  3
+#define SWIG_TCL_POINTER 4
+#define SWIG_TCL_BINARY  5
+
+/* Flags for pointer conversion */
+#define SWIG_POINTER_EXCEPTION     0x1
+#define SWIG_POINTER_DISOWN        0x2
+
+/* Swig fail macro */
+
+#define SWIG_fail   goto fail
+
+/* Constant information structure */
+typedef struct swig_const_info {
+    int type;
+    char *name;
+    long lvalue;
+    double dvalue;
+    void   *pvalue;
+    swig_type_info **ptype;
+} swig_const_info;
+
+typedef int   (*swig_wrapper)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
+typedef int   (*swig_wrapper_func)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
+typedef char *(*swig_variable_func)(ClientData, Tcl_Interp *, char *, char *, int);
+typedef void  (*swig_delete_func)(ClientData);
+
+typedef struct swig_method {
+  const char     *name;
+  swig_wrapper   method;
+} swig_method;
+
+typedef struct swig_attribute {
+  const char     *name;
+  swig_wrapper   getmethod;
+  swig_wrapper   setmethod;
+} swig_attribute;
+
+typedef struct swig_class {
+  const char         *name;
+  swig_type_info   **type;
+  swig_wrapper       constructor;
+  void              (*destructor)(void *);
+  swig_method        *methods;
+  swig_attribute     *attributes;
+  struct swig_class **bases;
+  char              **base_names;
+} swig_class;
+
+typedef struct swig_instance {
+  Tcl_Obj       *thisptr;
+  void          *thisvalue;
+  swig_class   *classptr;
+  int            destroy;
+  Tcl_Command    cmdtok;
+} swig_instance;
+
+#define SWIG_NewPointerObj(ptr, type, flags) \
+  SWIG_Tcl_NewPointerObj(ptr, type, flags)
+#define SWIG_ConvertPtr(oc, ptr, ty, flags) \
+  SWIG_Tcl_ConvertPtr(interp, oc, ptr, ty, flags)
+#define SWIG_ConvertPtrFromString(c, ptr, ty, flags) \
+  SWIG_Tcl_ConvertPtrFromString(interp, c, ptr, ty, flags)
+#define SWIG_ConvertPacked(obj, ptr, sz, ty, flags) \
+  SWIG_Tcl_ConvertPacked(interp, obj, ptr, sz, ty, flags)
+#define SWIG_MakePtr(c, ptr, ty, flags) \
+  SWIG_Tcl_MakePtr(c, ptr, ty, flags)
+#define SWIG_NewPackedObj(ptr, sz, type, flags) \
+  SWIG_Tcl_NewPackedObj(ptr, sz, type, flags)
+#define SWIG_GetArgs SWIG_Tcl_GetArgs
+#define SWIG_PointerTypeFromString(c) \
+  SWIG_Tcl_PointerTypeFromString(c)
+#define SWIG_Acquire(ptr) \
+  SWIG_Tcl_Acquire(ptr)
+#define SWIG_Disown(ptr) \
+  SWIG_Tcl_Disown(ptr)
+#define SWIG_Thisown(ptr) \
+  SWIG_Tcl_Thisown(ptr)
+#define SWIG_InstallConstants(interp, constants) \
+  SWIG_Tcl_InstallConstants(interp, constants)
+#define SWIG_GetConstant(key) \
+  SWIG_Tcl_GetConstant(key)
+#define SWIG_NewInstanceObj(thisvalue, type, flags) \
+  SWIG_Tcl_NewInstanceObj(interp, thisvalue, type, flags)
+#define SWIG_ObjectConstructor SWIG_Tcl_ObjectConstructor
+#define SWIG_MethodCommand SWIG_Tcl_MethodCommand
+#define SWIG_ObjectDelete SWIG_Tcl_ObjectDelete
+
+static void 
+SWIG_Tcl_LookupTypePointer(Tcl_Interp *interp) {
+  char buf[512];
+  char *data;
+  
+  /* first check if pointer already created */
+  data = (char *) Tcl_GetVar(interp, "swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TCL_GLOBAL_ONLY);
+  if (data) {
+    SWIG_UnpackData(data, &swig_type_list_handle, sizeof(swig_type_info **));
+  } else {
+    /* create a new pointer */
+    data = SWIG_PackData(buf, &swig_type_list_handle, sizeof(swig_type_info **));
+    *data = 0;
+    Tcl_SetVar(interp, "swig_runtime_data_type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, buf, 0);
+  }
+}
+
+/* Object support */
+static Tcl_HashTable  swigobjectTable;
+static int            swigobjectTableinit = 0;
+
+/* Acquire ownership of a pointer */
+static void
+SWIG_Tcl_Acquire(void *ptr) {
+  Tcl_HashEntry *entryPtr;
+  int newobj;
+  if (!swigobjectTableinit) {
+    Tcl_InitHashTable(&swigobjectTable, TCL_ONE_WORD_KEYS);
+    swigobjectTableinit = 1;
+  }
+  entryPtr = Tcl_CreateHashEntry(&swigobjectTable, (char *) ptr, &newobj);
+}
+
+/* Disown a pointer.  Returns 1 if we owned it to begin with */
+static int
+SWIG_Tcl_Disown(void *ptr) {
+  Tcl_HashEntry *entryPtr;
+  if (!swigobjectTableinit) return 0;
+  entryPtr = Tcl_FindHashEntry(&swigobjectTable, (char *) ptr);
+  if (entryPtr) {
+    Tcl_DeleteHashEntry(entryPtr);
+    return 1;
+  }
+  return 0;
+}
+
+static int
+SWIG_Tcl_Thisown(void *ptr) {
+  if (!swigobjectTableinit) return 0;
+  if (Tcl_FindHashEntry(&swigobjectTable, (char *) ptr)) {
+    return 1;
+  }
+  return 0;
+}
+
+/* Convert a pointer value */
+static int
+SWIG_Tcl_ConvertPtrFromString(Tcl_Interp *interp, const char *c, void **ptr, swig_type_info *ty, int flags) {
+  swig_type_info *tc;
+  /* Pointer values must start with leading underscore */
+  while (*c != '_') {
+    *ptr = (void *) 0;
+    if (strcmp(c,"NULL") == 0) return TCL_OK;
+    /* Hmmm. It could be an object name. */
+    if (Tcl_VarEval(interp,c," cget -this", (char *) NULL) == TCL_OK) {
+      Tcl_Obj *result = Tcl_GetObjResult(interp);
+      c = Tcl_GetStringFromObj(result, NULL);
+      continue;
+    }
+    Tcl_ResetResult(interp);
+    if (flags & SWIG_POINTER_EXCEPTION) 
+      Tcl_SetResult(interp, (char *) "Type error. Expected a pointer", TCL_STATIC);
+    return TCL_ERROR;
+  }
+  c++;
+  c = SWIG_UnpackData(c,ptr,sizeof(void *));
+  if (ty) {
+    tc = SWIG_TypeCheck(c,ty);
+    if ((!tc) && (flags & SWIG_POINTER_EXCEPTION)) {
+      Tcl_SetResult(interp, (char *) "Type error. Expected ", TCL_STATIC);
+      Tcl_AppendElement(interp, (char *) ty->name);
+      return TCL_ERROR;
+    } else if (!tc) {
+      Tcl_ResetResult(interp);
+      return TCL_ERROR;
+    }
+    if (flags & SWIG_POINTER_DISOWN) {
+      SWIG_Disown((void *) *ptr);
+    }
+    *ptr = SWIG_TypeCast(tc,(void *) *ptr);
+  }
+  return TCL_OK;
+}
+
+/* Convert a pointer value */
+static SWIGINLINE int
+SWIG_Tcl_ConvertPtr(Tcl_Interp *interp, Tcl_Obj *oc, void **ptr, swig_type_info *ty, int flags) {
+  return SWIG_Tcl_ConvertPtrFromString(interp, Tcl_GetStringFromObj(oc,NULL), ptr, ty, flags);
+}
+
+/* Convert a pointer value */
+static char *
+SWIG_Tcl_PointerTypeFromString(char *c) {
+  char d;
+  /* Pointer values must start with leading underscore. NULL has no type */
+  if (*c != '_') {
+    return 0;
+  }
+  c++;
+  /* Extract hex value from pointer */
+  while ((d = *c)) {
+    if (!(((d >= '0') && (d <= '9')) || ((d >= 'a') && (d <= 'f')))) break;
+    c++;
+  }
+  return c;
+}
+
+/* Convert a packed value value */
+static int
+SWIG_Tcl_ConvertPacked(Tcl_Interp *interp, Tcl_Obj *obj, void *ptr, int sz, swig_type_info *ty, int flags) {
+  swig_type_info *tc;
+  const char  *c;
+
+  if (!obj) goto type_error;
+  c = Tcl_GetStringFromObj(obj,NULL);
+  /* Pointer values must start with leading underscore */
+  if (*c != '_') goto type_error;
+  c++;
+  c = SWIG_UnpackData(c,ptr,sz);
+  if (ty) {
+    tc = SWIG_TypeCheck(c,ty);
+    if (!tc) goto type_error;
+  }
+  return TCL_OK;
+
+type_error:
+
+  if (flags) {
+    if (ty) {
+      Tcl_SetResult(interp, (char *) "Type error. Expected ", TCL_STATIC);
+      Tcl_AppendElement(interp, (char *) ty->name);
+      return TCL_ERROR;
+    } else {
+      Tcl_SetResult(interp, (char *) "Expected packed data.", TCL_STATIC);
+      return TCL_ERROR;
+    }
+  }
+  return TCL_ERROR;
+}
+
+
+/* Take a pointer and convert it to a string */
+static void
+SWIG_Tcl_MakePtr(char *c, void *ptr, swig_type_info *ty, int flags) {
+  if (ptr) {
+    *(c++) = '_';
+    c = SWIG_PackData(c,&ptr,sizeof(void *));
+    strcpy(c,ty->name);
+  } else {
+    strcpy(c,(char *)"NULL");
+  }
+  flags = 0;
+}
+
+/* Create a new pointer object */
+static SWIGINLINE Tcl_Obj *
+SWIG_Tcl_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
+  Tcl_Obj *robj;
+  char result[512];
+  SWIG_MakePtr(result,ptr,type,flags);
+  robj = Tcl_NewStringObj(result,-1);
+  return robj;
+}
+
+static Tcl_Obj *
+SWIG_Tcl_NewPackedObj(void *ptr, int sz, swig_type_info *type, int flags) {
+  char result[1024];
+  char *r = result;
+  if ((2*sz + 1 + strlen(type->name)) > 1000) return 0;
+  *(r++) = '_';
+  r = SWIG_PackData(r,ptr,sz);
+  strcpy(r,type->name);
+  flags = 0;
+  return Tcl_NewStringObj(result,-1);
+}
+
+static Tcl_HashTable   swigconstTable;
+static int             swigconstTableinit = 0;
+
+/* Install Constants */
+static void
+SWIG_Tcl_InstallConstants(Tcl_Interp *interp, swig_const_info constants[]) {
+  int i;
+  Tcl_Obj *obj;
+  Tcl_HashEntry *entryPtr;
+  int            newobj;
+
+  if (!swigconstTableinit) {
+    Tcl_InitHashTable(&swigconstTable, TCL_STRING_KEYS);
+    swigconstTableinit = 1;
+  }
+  for (i = 0; constants[i].type; i++) {
+    switch(constants[i].type) {
+    case SWIG_TCL_INT:
+      obj = Tcl_NewIntObj(constants[i].lvalue);
+      break;
+    case SWIG_TCL_FLOAT:
+      obj = Tcl_NewDoubleObj(constants[i].dvalue);
+      break;
+    case SWIG_TCL_STRING:
+      obj = Tcl_NewStringObj((char *) constants[i].pvalue,-1);
+      break;
+    case SWIG_TCL_POINTER:
+      obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0);
+      break;
+    case SWIG_TCL_BINARY:
+      obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype),0);
+      break;
+    default:
+      obj = 0;
+      break;
+    }
+    if (obj) {
+      Tcl_ObjSetVar2(interp,Tcl_NewStringObj(constants[i].name,-1), NULL, obj, TCL_GLOBAL_ONLY);
+      entryPtr = Tcl_CreateHashEntry(&swigconstTable, constants[i].name, &newobj);
+      Tcl_SetHashValue(entryPtr, (ClientData) obj);
+    }
+  }
+}
+
+static Tcl_Obj *
+SWIG_Tcl_GetConstant(const char *key) {
+  Tcl_HashEntry *entryPtr;
+  if (!swigconstTableinit) return 0;
+  entryPtr = Tcl_FindHashEntry(&swigconstTable, key);
+  if (entryPtr) {
+    return (Tcl_Obj *) Tcl_GetHashValue(entryPtr);
+  }
+  printf("Searching %s\n", key);
+  return 0;
+}
+
+/* Get arguments */
+static int
+SWIG_Tcl_GetArgs(Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[], const char *fmt, ...) {
+  int        argno = 0, opt = 0;
+  long       tempi;
+  double     tempd;
+  const char *c;
+  va_list    ap;
+  void      *vptr;
+  Tcl_Obj   *obj = 0;
+  swig_type_info *ty;
+
+  va_start(ap,fmt);
+  for (c = fmt; (*c && (*c != ':') && (*c != ';')); c++,argno++) {
+    if (*c == '|') {
+      opt = 1;
+      c++;
+    }
+    if (argno >= (objc-1)) {
+      if (!opt) {
+        Tcl_SetResult(interp, (char *) "Wrong # args. ", TCL_STATIC);
+        goto argerror;
+      } else {
+        va_end(ap);
+        return TCL_OK;
+      }
+    }
+
+    vptr = va_arg(ap,void *);
+    if (vptr) {
+      if (isupper(*c)) {
+        obj = SWIG_GetConstant(Tcl_GetStringFromObj(objv[argno+1],0));
+        if (!obj) obj = objv[argno+1];
+      } else {
+        obj = objv[argno+1];
+      }
+      switch(*c) {
+      case 'i': case 'I':
+      case 'l': case 'L':
+      case 'h': case 'H':
+      case 'b': case 'B':
+        if (Tcl_GetLongFromObj(interp,obj,&tempi) != TCL_OK) goto argerror;
+        if ((*c == 'i') || (*c == 'I')) *((int *)vptr) = (int)tempi;
+        else if ((*c == 'l') || (*c == 'L')) *((long *)vptr) = (long)tempi;
+        else if ((*c == 'h') || (*c == 'H')) *((short*)vptr) = (short)tempi;
+        else if ((*c == 'b') || (*c == 'B')) *((unsigned char *)vptr) = (unsigned char)tempi;
+        break;
+      case 'f': case 'F':
+      case 'd': case 'D':
+        if (Tcl_GetDoubleFromObj(interp,obj,&tempd) != TCL_OK) goto argerror;
+        if ((*c == 'f') || (*c == 'F')) *((float *) vptr) = (float)tempd;
+        else if ((*c == 'd') || (*c == 'D')) *((double*) vptr) = tempd;
+        break;
+      case 's': case 'S':
+        if (*(c+1) == '#') {
+          int *vlptr = (int *) va_arg(ap, void *);
+          *((char **) vptr) = Tcl_GetStringFromObj(obj, vlptr);
+          c++;
+        } else {
+          *((char **)vptr) = Tcl_GetStringFromObj(obj,NULL);
+        }
+        break;
+      case 'c': case 'C':
+        *((char *)vptr) = *(Tcl_GetStringFromObj(obj,NULL));
+        break;
+      case 'p': case 'P':
+        ty = (swig_type_info *) va_arg(ap, void *);
+        if (SWIG_Tcl_ConvertPtr(interp, obj, (void **) vptr, ty, SWIG_POINTER_EXCEPTION) == TCL_ERROR) goto argerror;
+        break;
+      case 'o': case 'O':
+        *((Tcl_Obj **)vptr) = objv[argno+1];
+        break;
+      default:
+        break;
+      }
+    }
+  }
+
+  if ((*c != ';') && ((objc-1) > argno)) {
+    Tcl_SetResult(interp, (char *) "Wrong # args.", TCL_STATIC);
+    goto argerror;
+  }
+  va_end(ap);
+  return TCL_OK;
+
+ argerror:
+  {
+    char temp[32];
+    sprintf(temp,"%d", argno+1);
+    c = strchr(fmt,':');
+    if (!c) c = strchr(fmt,';');
+    if (!c) c = (char *)"";
+    Tcl_AppendResult(interp,c," argument ", temp, NULL);
+    va_end(ap);
+    return TCL_ERROR;
+  }
+}
+
+static void
+SWIG_Tcl_ObjectDelete(ClientData clientData) {
+  swig_instance *si = (swig_instance *) clientData;
+  if ((si) && (si->destroy) && (SWIG_Disown(si->thisvalue))) {
+    if (si->classptr->destructor) {
+      (si->classptr->destructor)(si->thisvalue);
+    }
+  }
+  Tcl_DecrRefCount(si->thisptr);
+  free(si);
+}
+
+/* Function to invoke object methods given an instance */
+static int
+SWIG_Tcl_MethodCommand(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST _objv[]) {
+  char *method,   *attrname;
+  swig_instance   *inst = (swig_instance *) clientData;
+  swig_method     *meth;
+  swig_attribute  *attr;
+  Tcl_Obj         *oldarg;
+  Tcl_Obj         **objv;
+  int              rcode;
+  swig_class      *cls;
+  swig_class      *cls_stack[64];
+  int              cls_stack_bi[64];
+  int              cls_stack_top = 0;
+  int              numconf = 2;
+  int              bi;
+
+  objv = (Tcl_Obj **) _objv;
+  if (objc < 2) {
+    Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
+    return TCL_ERROR;
+  }
+  method = Tcl_GetStringFromObj(objv[1],NULL);
+  if (strcmp(method,"-acquire") == 0) {
+    inst->destroy = 1;
+    SWIG_Acquire(inst->thisvalue);
+    return TCL_OK;
+  }
+  if (strcmp(method,"-disown") == 0) {
+    if (inst->destroy) {
+      SWIG_Disown(inst->thisvalue);
+    }
+    inst->destroy = 0;
+    return TCL_OK;
+  }
+  if (strcmp(method,"-delete") == 0) {
+    Tcl_DeleteCommandFromToken(interp,inst->cmdtok);
+    return TCL_OK;
+  }
+  cls_stack[cls_stack_top] = inst->classptr;
+  cls_stack_bi[cls_stack_top] = -1;
+  cls = inst->classptr;
+  while (1) {
+    bi = cls_stack_bi[cls_stack_top];
+    cls = cls_stack[cls_stack_top];
+    if (bi != -1) {
+      if (!cls->bases[bi] && cls->base_names[bi]) {
+        /* lookup and cache the base class */
+	swig_type_info *info = SWIG_TypeQuery(cls->base_names[bi]);
+	if (info) cls->bases[bi] = (swig_class *) info->clientdata;
+      }
+      cls = cls->bases[bi];
+      if (cls) {
+        cls_stack_bi[cls_stack_top]++;
+        cls_stack_top++;
+        cls_stack[cls_stack_top] = cls;
+        cls_stack_bi[cls_stack_top] = -1;
+        continue;
+      }
+    }
+    if (!cls) {
+      cls_stack_top--;
+      if (cls_stack_top < 0) break;
+      else continue;
+    }
+    cls_stack_bi[cls_stack_top]++;
+
+    meth = cls->methods;
+    /* Check for methods */
+    while (meth && meth->name) {
+      if (strcmp(meth->name,method) == 0) {
+        oldarg = objv[1];
+        objv[1] = inst->thisptr;
+        Tcl_IncrRefCount(inst->thisptr);
+        rcode = (*meth->method)(clientData,interp,objc,objv);
+        objv[1] = oldarg;
+        Tcl_DecrRefCount(inst->thisptr);
+        return rcode;
+      }
+      meth++;
+    }
+    /* Check class methods for a match */
+    if (strcmp(method,"cget") == 0) {
+      if (objc < 3) {
+        Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
+        return TCL_ERROR;
+      }
+      attrname = Tcl_GetStringFromObj(objv[2],NULL);
+      attr = cls->attributes;
+      while (attr && attr->name) {
+        if ((strcmp(attr->name, attrname) == 0) && (attr->getmethod)) {
+          oldarg = objv[1];
+          objv[1] = inst->thisptr;
+          Tcl_IncrRefCount(inst->thisptr);
+          rcode = (*attr->getmethod)(clientData,interp,2, objv);
+          objv[1] = oldarg;
+          Tcl_DecrRefCount(inst->thisptr);
+          return rcode;
+        }
+        attr++;
+      }
+      if (strcmp(attrname, "-this") == 0) {
+        Tcl_SetObjResult(interp, Tcl_DuplicateObj(inst->thisptr));
+        return TCL_OK;
+      }
+      if (strcmp(attrname, "-thisown") == 0) {
+        if (SWIG_Thisown(inst->thisvalue)) {
+          Tcl_SetResult(interp,(char*)"1",TCL_STATIC);
+        } else {
+          Tcl_SetResult(interp,(char*)"0",TCL_STATIC);
+        }
+        return TCL_OK;
+      }
+    } else if (strcmp(method, "configure") == 0) {
+      int i;
+      if (objc < 4) {
+        Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
+        return TCL_ERROR;
+      }
+      i = 2;
+      while (i < objc) {
+        attrname = Tcl_GetStringFromObj(objv[i],NULL);
+        attr = cls->attributes;
+        while (attr && attr->name) {
+          if ((strcmp(attr->name, attrname) == 0) && (attr->setmethod)) {
+            oldarg = objv[i];
+            objv[i] = inst->thisptr;
+            Tcl_IncrRefCount(inst->thisptr);
+            rcode = (*attr->setmethod)(clientData,interp,3, &objv[i-1]);
+            objv[i] = oldarg;
+            Tcl_DecrRefCount(inst->thisptr);
+            if (rcode != TCL_OK) return rcode;
+            numconf += 2;
+          }
+          attr++;
+        }
+        i+=2;
+      }
+    }
+  }
+  if (strcmp(method,"configure") == 0) {
+    if (numconf >= objc) {
+      return TCL_OK;
+    } else {
+      Tcl_SetResult(interp,(char *) "Invalid attribute name.", TCL_STATIC);
+      return TCL_ERROR;
+    }
+  }
+  if (strcmp(method,"cget") == 0) {
+      Tcl_SetResult(interp,(char *) "Invalid attribute name.", TCL_STATIC);
+      return TCL_ERROR;
+  }
+
+  Tcl_SetResult(interp, (char *) "Invalid method. Must be one of: configure cget -acquire -disown -delete", TCL_STATIC);
+  cls = inst->classptr;
+  bi = 0;
+  while (cls) {
+    meth = cls->methods;
+    while (meth && meth->name) {
+      char *cr = (char *) Tcl_GetStringResult(interp);
+      if (!strstr(strchr(cr,':'), meth->name))
+        Tcl_AppendElement(interp, (char *) meth->name);
+      meth++;
+    }
+    cls = inst->classptr->bases[bi++];
+  }
+  return TCL_ERROR;
+}
+
+/* Function to create objects */
+static int
+SWIG_Tcl_ObjectConstructor(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj          *newObj = 0;
+    void             *thisvalue = 0;
+    swig_instance   *newinst = 0;
+    swig_class      *classptr = (swig_class *) clientData;
+    swig_wrapper     cons = 0;
+    char             *name = 0;
+    int               firstarg = 0;
+    int               thisarg = 0;
+    int               destroy = 1;
+
+    if (!classptr) {
+      Tcl_SetResult(interp, (char *) "swig: internal runtime error. No class object defined.", TCL_STATIC);
+      return TCL_ERROR;
+    }
+    cons = classptr->constructor;
+    if (objc > 1) {
+      char *s = Tcl_GetStringFromObj(objv[1],NULL);
+      if (strcmp(s,"-this") == 0) {
+        thisarg = 2;
+        cons = 0;
+      } else if (strcmp(s,"-args") == 0) {
+        firstarg = 1;
+      } else if (objc == 2) {
+        firstarg = 1;
+        name = s;
+      } else if (objc >= 3) {
+        char *s1;
+        name = s;
+        s1 = Tcl_GetStringFromObj(objv[2],NULL);
+        if (strcmp(s1,"-this") == 0) {
+          thisarg = 3;
+          cons = 0;
+        } else {
+          firstarg = 1;
+        }
+      }
+    }
+    if (cons) {
+      int result;
+      result = (*cons)(0, interp, objc-firstarg, &objv[firstarg]);
+      if (result != TCL_OK) {
+        return result;
+      }
+      newObj = Tcl_DuplicateObj(Tcl_GetObjResult(interp));
+      if (!name) name = Tcl_GetStringFromObj(newObj,NULL);
+    } else if (thisarg > 0) {
+      if (thisarg < objc) {
+        destroy = 0;
+        newObj = Tcl_DuplicateObj(objv[thisarg]);
+        if (!name) name = Tcl_GetStringFromObj(newObj,NULL);
+      } else {
+        Tcl_SetResult(interp, (char *) "wrong # args.", TCL_STATIC);
+        return TCL_ERROR;
+      }
+    } else {
+      Tcl_SetResult(interp, (char *) "No constructor available.", TCL_STATIC);
+      return TCL_ERROR;
+    }
+    if (SWIG_Tcl_ConvertPtr(interp,newObj, (void **) &thisvalue, *(classptr->type), SWIG_POINTER_EXCEPTION) == TCL_ERROR) {
+      Tcl_DecrRefCount(newObj);
+      return TCL_ERROR;
+    }
+    newinst = (swig_instance *) malloc(sizeof(swig_instance));
+    newinst->thisptr = newObj;
+    Tcl_IncrRefCount(newObj);
+    newinst->thisvalue = thisvalue;
+    newinst->classptr = classptr;
+    newinst->destroy = destroy;
+    if (destroy) {
+      SWIG_Acquire(thisvalue);
+    }
+    newinst->cmdtok = Tcl_CreateObjCommand(interp,name, (swig_wrapper) SWIG_MethodCommand, (ClientData) newinst, (swig_delete_func) SWIG_ObjectDelete);
+    return TCL_OK;
+}
+
+
+/* This function takes the current result and turns it into an object command */
+static Tcl_Obj *
+SWIG_Tcl_NewInstanceObj(Tcl_Interp *interp, void *thisvalue, swig_type_info *type, int flags) {
+  Tcl_Obj *robj = SWIG_NewPointerObj(thisvalue, type,0);
+  /* Check to see if this pointer belongs to a class or not */
+  if ((type->clientdata) && (interp)) {
+    Tcl_CmdInfo    ci;
+    char          *name;
+    name = Tcl_GetStringFromObj(robj,NULL);
+    if (!Tcl_GetCommandInfo(interp,name, &ci) || (flags)) {
+      swig_instance *newinst = (swig_instance *) malloc(sizeof(swig_instance));
+      newinst->thisptr = Tcl_DuplicateObj(robj);
+      Tcl_IncrRefCount(newinst->thisptr);
+      newinst->thisvalue = thisvalue;
+      newinst->classptr = (swig_class *) type->clientdata;
+      newinst->destroy = flags;
+      newinst->cmdtok = Tcl_CreateObjCommand(interp, Tcl_GetStringFromObj(robj,NULL), (swig_wrapper_func) SWIG_MethodCommand, (ClientData) newinst, (swig_delete_func) SWIG_ObjectDelete);
+      if (flags) {
+        SWIG_Acquire(thisvalue);
+      }
+    }
+  }
+  return robj;
+}
+
+/* Structure for command table */
+typedef struct {
+  const char *name;
+  int       (*wrapper)(ClientData, Tcl_Interp *, int, Tcl_Obj *CONST []);
+  ClientData  clientdata;
+} swig_command_info;
+
+/* Structure for variable linking table */
+typedef struct {
+  const char *name;
+  void *addr;
+  char * (*get)(ClientData, Tcl_Interp *, char *, char *, int);
+  char * (*set)(ClientData, Tcl_Interp *, char *, char *, int);
+} swig_var_info;
+
+
+/* Contract support */
+
+#define SWIG_contract_assert(expr, msg)  if (!(expr)) { Tcl_SetResult(interp, (char *) msg, TCL_STATIC ); goto fail; } else
+
+#ifdef __cplusplus
+}
+#endif
+
+
+
+
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+#define  SWIGTYPE_p_gpstk__AccessError swig_types[0] 
+#define  SWIGTYPE_p_size_t swig_types[1] 
+#define  SWIGTYPE_std__size_t swig_types[2] 
+#define  SWIGTYPE_size_t swig_types[3] 
+#define  SWIGTYPE_p_gpstk__InvalidParameter swig_types[4] 
+#define  SWIGTYPE_p_DayTime swig_types[5] 
+#define  SWIGTYPE_p_gpstk__OutOfMemory swig_types[6] 
+#define  SWIGTYPE_p_gpstk__ExceptionLocation swig_types[7] 
+#define  SWIGTYPE_p_gpstk__GPSZcount swig_types[8] 
+#define  SWIGTYPE_p_long_double swig_types[9] 
+#define  SWIGTYPE_p_GPSZcount swig_types[10] 
+#define  SWIGTYPE_p_double swig_types[11] 
+#define  SWIGTYPE_p_time_t swig_types[12] 
+#define  SWIGTYPE_p_gpstk__ObjectNotFound swig_types[13] 
+#define  SWIGTYPE_p_std__ostream swig_types[14] 
+#define  SWIGTYPE_p_gpstk__InvalidArgumentException swig_types[15] 
+#define  SWIGTYPE_p_gpstk__IndexOutOfBoundsException swig_types[16] 
+#define  SWIGTYPE_p_gpstk__Exception swig_types[17] 
+#define  SWIGTYPE_p_gpstk__ConfigurationException swig_types[18] 
+#define  SWIGTYPE_p_gpstk__FileMissingException swig_types[19] 
+#define  SWIGTYPE_p_gpstk__SystemSemaphoreException swig_types[20] 
+#define  SWIGTYPE_p_gpstk__SystemPipeException swig_types[21] 
+#define  SWIGTYPE_p_gpstk__SystemQueueException swig_types[22] 
+#define  SWIGTYPE_p_timeval swig_types[23] 
+#define  SWIGTYPE_std__ptrdiff_t swig_types[24] 
+#define  SWIGTYPE_ptrdiff_t swig_types[25] 
+#define  SWIGTYPE_p_gpstk__InvalidRequest swig_types[26] 
+#define  SWIGTYPE_p_gpstk__AssertionFailure swig_types[27] 
+#define  SWIGTYPE_p_int swig_types[28] 
+static swig_type_info *swig_types[30];
+
+/* -------- TYPES TABLE (END) -------- */
+
+#define SWIG_init    Gpstk_Init
+#define SWIG_name    "gpstk"
+#define SWIG_prefix  ""
+#define SWIG_version "0.0"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#ifdef MAC_TCL
+#pragma export on
+#endif
+SWIGEXPORT(int) SWIG_init(Tcl_Interp *);
+#ifdef MAC_TCL
+#pragma export off
+#endif
+#ifdef __cplusplus
+}
+#endif
+
+
+
+/* Includes the header in the wrapper code */
+#include "../../src/Exception.hpp"
+
+
+/* Includes the header in the wrapper code */
+#include "../../src/GPSZcount.hpp"
+
+
+/* Includes the header in the wrapper code */
+#include "../../src/DayTime.hpp"
+using namespace gpstk;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+static int
+_wrap_new_ExceptionLocation__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string *arg1 = 0 ;
+    std::string *arg2 = 0 ;
+    unsigned long *arg3 = 0 ;
+    gpstk::ExceptionLocation *result;
+    std::string temp1 ;
+    std::string temp2 ;
+    unsigned long temp3 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ooo:new_ExceptionLocation filename funcName lineNum ",NULL,NULL,NULL) == TCL_ERROR) SWIG_fail;
+    {
+        temp1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+        arg1 = &temp1;
+    }
+    {
+        temp2 = std::string(Tcl_GetStringFromObj(objv[2],NULL));
+        arg2 = &temp2;
+    }
+    {
+        long ltemp;
+        if (Tcl_GetLongFromObj(interp, objv[3], &ltemp) != TCL_OK) {
+            SWIG_fail;
+        }
+        temp3 = (unsigned long) ltemp;
+        arg3 = &temp3;
+    }
+    result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation((std::string const &)*arg1,(std::string const &)*arg2,(unsigned long const &)*arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ExceptionLocation,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ExceptionLocation__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string *arg1 = 0 ;
+    std::string *arg2 = 0 ;
+    gpstk::ExceptionLocation *result;
+    std::string temp1 ;
+    std::string temp2 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:new_ExceptionLocation filename funcName ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    {
+        temp1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+        arg1 = &temp1;
+    }
+    {
+        temp2 = std::string(Tcl_GetStringFromObj(objv[2],NULL));
+        arg2 = &temp2;
+    }
+    result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation((std::string const &)*arg1,(std::string const &)*arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ExceptionLocation,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ExceptionLocation__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string *arg1 = 0 ;
+    gpstk::ExceptionLocation *result;
+    std::string temp1 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_ExceptionLocation filename ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        temp1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+        arg1 = &temp1;
+    }
+    result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation((std::string const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ExceptionLocation,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ExceptionLocation__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ExceptionLocation *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_ExceptionLocation ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::ExceptionLocation *)new gpstk::ExceptionLocation();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ExceptionLocation,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ExceptionLocation(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_ExceptionLocation__SWIG_3(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_ExceptionLocation__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_ExceptionLocation__SWIG_1(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_ExceptionLocation__SWIG_0(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_ExceptionLocation'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_ExceptionLocation(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_ExceptionLocation self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_ExceptionLocation_getFileName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:ExceptionLocation_getFileName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::ExceptionLocation const *)arg1)->getFileName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_ExceptionLocation_getFunctionName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:ExceptionLocation_getFunctionName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::ExceptionLocation const *)arg1)->getFunctionName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_ExceptionLocation_getLineNumber(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+    unsigned long result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:ExceptionLocation_getLineNumber self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (unsigned long)((gpstk::ExceptionLocation const *)arg1)->getLineNumber();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_ExceptionLocation_dump(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) 0 ;
+    std::ostream *arg2 = 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:ExceptionLocation_dump self s ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    ((gpstk::ExceptionLocation const *)arg1)->dump(*arg2);
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::ExceptionLocation *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s e ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::ExceptionLocation const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_ExceptionLocation(void *obj) {
+gpstk::ExceptionLocation *arg1 = (gpstk::ExceptionLocation *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_ExceptionLocation_methods[] = {
+    {"getFileName", _wrap_ExceptionLocation_getFileName}, 
+    {"getFunctionName", _wrap_ExceptionLocation_getFunctionName}, 
+    {"getLineNumber", _wrap_ExceptionLocation_getLineNumber}, 
+    {"dump", _wrap_ExceptionLocation_dump}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_ExceptionLocation_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_ExceptionLocation_bases[] = {0};
+static char *swig_gpstk_ExceptionLocation_base_names[] = {0};
+swig_class _wrap_class_gpstk_ExceptionLocation = { "ExceptionLocation", &SWIGTYPE_p_gpstk__ExceptionLocation,_wrap_new_ExceptionLocation, swig_delete_ExceptionLocation, swig_gpstk_ExceptionLocation_methods, swig_gpstk_ExceptionLocation_attributes, swig_gpstk_ExceptionLocation_bases,swig_gpstk_ExceptionLocation_base_names };
+static int
+_wrap_new_Exception__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_Exception ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::Exception *)new gpstk::Exception();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_Exception__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string *arg1 = 0 ;
+    unsigned long *arg2 = 0 ;
+    gpstk::Exception::Severity *arg3 = 0 ;
+    gpstk::Exception *result;
+    std::string temp1 ;
+    unsigned long temp2 ;
+    gpstk::Exception::Severity temp3 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ooo:new_Exception errorText errorId severity ",NULL,NULL,NULL) == TCL_ERROR) SWIG_fail;
+    {
+        temp1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+        arg1 = &temp1;
+    }
+    {
+        long ltemp;
+        if (Tcl_GetLongFromObj(interp, objv[2], &ltemp) != TCL_OK) {
+            SWIG_fail;
+        }
+        temp2 = (unsigned long) ltemp;
+        arg2 = &temp2;
+    }
+    {
+        long ltemp;
+        if (Tcl_GetLongFromObj(interp, objv[3], &ltemp) != TCL_OK) {
+            SWIG_fail;
+        }
+        temp3 = (gpstk::Exception::Severity) ltemp;
+        arg3 = &temp3;
+    }
+    result = (gpstk::Exception *)new gpstk::Exception((std::string const &)*arg1,(unsigned long const &)*arg2,(enum gpstk::Exception::Severity const &)*arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_Exception__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string *arg1 = 0 ;
+    unsigned long *arg2 = 0 ;
+    gpstk::Exception *result;
+    std::string temp1 ;
+    unsigned long temp2 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:new_Exception errorText errorId ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    {
+        temp1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+        arg1 = &temp1;
+    }
+    {
+        long ltemp;
+        if (Tcl_GetLongFromObj(interp, objv[2], &ltemp) != TCL_OK) {
+            SWIG_fail;
+        }
+        temp2 = (unsigned long) ltemp;
+        arg2 = &temp2;
+    }
+    result = (gpstk::Exception *)new gpstk::Exception((std::string const &)*arg1,(unsigned long const &)*arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_Exception__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string *arg1 = 0 ;
+    gpstk::Exception *result;
+    std::string temp1 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_Exception errorText ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        temp1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+        arg1 = &temp1;
+    }
+    result = (gpstk::Exception *)new gpstk::Exception((std::string const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_Exception__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::Exception *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_Exception exception ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::Exception *)new gpstk::Exception((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_Exception(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_Exception__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_Exception__SWIG_4(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_Exception__SWIG_3(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_Exception__SWIG_2(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_Exception__SWIG_1(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_Exception'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_Exception(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_Exception self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    gpstk::Exception *arg2 = 0 ;
+    gpstk::Exception *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_= self e ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::Exception &_result_ref = (arg1)->operator =((gpstk::Exception const &)*arg2);
+        result = (gpstk::Exception *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_terminate(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:Exception_terminate self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    (arg1)->terminate();
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getErrorId(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    unsigned long result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:Exception_getErrorId self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (unsigned long)((gpstk::Exception const *)arg1)->getErrorId();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_setErrorId(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    unsigned long *arg2 = 0 ;
+    gpstk::Exception *result;
+    unsigned long temp2 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_setErrorId self errId ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        long ltemp;
+        if (Tcl_GetLongFromObj(interp, objv[2], &ltemp) != TCL_OK) {
+            SWIG_fail;
+        }
+        temp2 = (unsigned long) ltemp;
+        arg2 = &temp2;
+    }
+    {
+        gpstk::Exception &_result_ref = (arg1)->setErrorId((unsigned long const &)*arg2);
+        result = (gpstk::Exception *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_addLocation(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    gpstk::ExceptionLocation *arg2 = 0 ;
+    gpstk::Exception *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_addLocation self location ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__ExceptionLocation,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::Exception &_result_ref = (arg1)->addLocation((gpstk::ExceptionLocation const &)*arg2);
+        result = (gpstk::Exception *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getLocation__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    size_t *arg2 = 0 ;
+    gpstk::ExceptionLocation result;
+    size_t temp2 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_getLocation self index ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        long ltemp;
+        if (Tcl_GetLongFromObj(interp, objv[2], &ltemp) != TCL_OK) {
+            SWIG_fail;
+        }
+        temp2 = (size_t) ltemp;
+        arg2 = &temp2;
+    }
+    result = ((gpstk::Exception const *)arg1)->getLocation((size_t const &)*arg2);
+    
+    {
+        gpstk::ExceptionLocation * resultptr;
+        resultptr = new gpstk::ExceptionLocation((gpstk::ExceptionLocation &) result);
+        Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_gpstk__ExceptionLocation,1));
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getLocation__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    gpstk::ExceptionLocation result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:Exception_getLocation self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::Exception const *)arg1)->getLocation();
+    
+    {
+        gpstk::ExceptionLocation * resultptr;
+        resultptr = new gpstk::ExceptionLocation((gpstk::ExceptionLocation &) result);
+        Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_gpstk__ExceptionLocation,1));
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getLocation(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_Exception_getLocation__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_size_t, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_getLocation__SWIG_0(clientData, interp, objc, objv);
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'Exception_getLocation'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getLocationCount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    size_t result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:Exception_getLocationCount self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::Exception const *)arg1)->getLocationCount();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_isRecoverable(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:Exception_isRecoverable self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((gpstk::Exception const *)arg1)->isRecoverable();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_setSeverity(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    gpstk::Exception::Severity *arg2 = 0 ;
+    gpstk::Exception *result;
+    gpstk::Exception::Severity temp2 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_setSeverity self sever ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        long ltemp;
+        if (Tcl_GetLongFromObj(interp, objv[2], &ltemp) != TCL_OK) {
+            SWIG_fail;
+        }
+        temp2 = (gpstk::Exception::Severity) ltemp;
+        arg2 = &temp2;
+    }
+    {
+        gpstk::Exception &_result_ref = (arg1)->setSeverity((enum gpstk::Exception::Severity const &)*arg2);
+        result = (gpstk::Exception *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_addText(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    std::string *arg2 = 0 ;
+    gpstk::Exception *result;
+    std::string temp2 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_addText self errorText ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        temp2 = std::string(Tcl_GetStringFromObj(objv[2],NULL));
+        arg2 = &temp2;
+    }
+    {
+        gpstk::Exception &_result_ref = (arg1)->addText((std::string const &)*arg2);
+        result = (gpstk::Exception *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__Exception,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getText__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    size_t *arg2 = 0 ;
+    std::string result;
+    size_t temp2 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_getText self index ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        long ltemp;
+        if (Tcl_GetLongFromObj(interp, objv[2], &ltemp) != TCL_OK) {
+            SWIG_fail;
+        }
+        temp2 = (size_t) ltemp;
+        arg2 = &temp2;
+    }
+    result = ((gpstk::Exception const *)arg1)->getText((size_t const &)*arg2);
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getText__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:Exception_getText self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::Exception const *)arg1)->getText();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getText(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_Exception_getText__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_size_t, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_Exception_getText__SWIG_0(clientData, interp, objc, objv);
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'Exception_getText'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getTextCount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    size_t result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:Exception_getTextCount self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::Exception const *)arg1)->getTextCount();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:Exception_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::Exception const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_Exception_dump(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = (gpstk::Exception *) 0 ;
+    std::ostream *arg2 = 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:Exception_dump self s ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    ((gpstk::Exception const *)arg1)->dump(*arg2);
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::Exception *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s e ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::Exception const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_Exception(void *obj) {
+gpstk::Exception *arg1 = (gpstk::Exception *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_Exception_methods[] = {
+    {"=", _wrap_Exception_e___}, 
+    {"terminate", _wrap_Exception_terminate}, 
+    {"getErrorId", _wrap_Exception_getErrorId}, 
+    {"setErrorId", _wrap_Exception_setErrorId}, 
+    {"addLocation", _wrap_Exception_addLocation}, 
+    {"getLocation", _wrap_Exception_getLocation}, 
+    {"getLocationCount", _wrap_Exception_getLocationCount}, 
+    {"isRecoverable", _wrap_Exception_isRecoverable}, 
+    {"setSeverity", _wrap_Exception_setSeverity}, 
+    {"addText", _wrap_Exception_addText}, 
+    {"getText", _wrap_Exception_getText}, 
+    {"getTextCount", _wrap_Exception_getTextCount}, 
+    {"getName", _wrap_Exception_getName}, 
+    {"dump", _wrap_Exception_dump}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_Exception_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_Exception_bases[] = {0};
+static char *swig_gpstk_Exception_base_names[] = {0};
+swig_class _wrap_class_gpstk_Exception = { "Exception", &SWIGTYPE_p_gpstk__Exception,_wrap_new_Exception, swig_delete_Exception, swig_gpstk_Exception_methods, swig_gpstk_Exception_attributes, swig_gpstk_Exception_bases,swig_gpstk_Exception_base_names };
+static int
+_wrap_new_InvalidParameter__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidParameter *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_InvalidParameter ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidParameter__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidParameter *arg1 = 0 ;
+    gpstk::InvalidParameter *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidParameter a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidParameter,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter((gpstk::InvalidParameter const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidParameter__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::InvalidParameter *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidParameter a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidParameter__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::InvalidParameter *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_InvalidParameter a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidParameter__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::InvalidParameter *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_InvalidParameter a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidParameter__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::InvalidParameter *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidParameter a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::InvalidParameter *)new gpstk::InvalidParameter(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidParameter(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_InvalidParameter__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__InvalidParameter, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidParameter__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidParameter__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_InvalidParameter__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_InvalidParameter__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_InvalidParameter__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_InvalidParameter'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_InvalidParameter(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_InvalidParameter self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidParameter,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_InvalidParameter_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:InvalidParameter_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidParameter,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::InvalidParameter const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_InvalidParameter_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) 0 ;
+    gpstk::InvalidParameter *arg2 = 0 ;
+    gpstk::InvalidParameter *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:InvalidParameter_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidParameter,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__InvalidParameter,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::InvalidParameter &_result_ref = (arg1)->operator =((gpstk::InvalidParameter const &)*arg2);
+        result = (gpstk::InvalidParameter *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidParameter,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::InvalidParameter *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__InvalidParameter,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidParameter const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_InvalidParameter(void *obj) {
+gpstk::InvalidParameter *arg1 = (gpstk::InvalidParameter *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_InvalidParameter_methods[] = {
+    {"getName", _wrap_InvalidParameter_getName}, 
+    {"=", _wrap_InvalidParameter_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_InvalidParameter_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_InvalidParameter_bases[] = {0,0};
+static char *swig_gpstk_InvalidParameter_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_InvalidParameter = { "InvalidParameter", &SWIGTYPE_p_gpstk__InvalidParameter,_wrap_new_InvalidParameter, swig_delete_InvalidParameter, swig_gpstk_InvalidParameter_methods, swig_gpstk_InvalidParameter_attributes, swig_gpstk_InvalidParameter_bases,swig_gpstk_InvalidParameter_base_names };
+static int
+_wrap_new_InvalidRequest__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidRequest *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_InvalidRequest ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidRequest__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidRequest *arg1 = 0 ;
+    gpstk::InvalidRequest *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidRequest a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidRequest,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest((gpstk::InvalidRequest const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidRequest__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::InvalidRequest *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidRequest a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidRequest__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::InvalidRequest *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_InvalidRequest a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidRequest__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::InvalidRequest *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_InvalidRequest a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidRequest__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::InvalidRequest *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidRequest a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::InvalidRequest *)new gpstk::InvalidRequest(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidRequest(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_InvalidRequest__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__InvalidRequest, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidRequest__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidRequest__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_InvalidRequest__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_InvalidRequest__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_InvalidRequest__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_InvalidRequest'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_InvalidRequest(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_InvalidRequest self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidRequest,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_InvalidRequest_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:InvalidRequest_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidRequest,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::InvalidRequest const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_InvalidRequest_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) 0 ;
+    gpstk::InvalidRequest *arg2 = 0 ;
+    gpstk::InvalidRequest *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:InvalidRequest_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidRequest,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__InvalidRequest,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::InvalidRequest &_result_ref = (arg1)->operator =((gpstk::InvalidRequest const &)*arg2);
+        result = (gpstk::InvalidRequest *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidRequest,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::InvalidRequest *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__InvalidRequest,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidRequest const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_InvalidRequest(void *obj) {
+gpstk::InvalidRequest *arg1 = (gpstk::InvalidRequest *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_InvalidRequest_methods[] = {
+    {"getName", _wrap_InvalidRequest_getName}, 
+    {"=", _wrap_InvalidRequest_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_InvalidRequest_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_InvalidRequest_bases[] = {0,0};
+static char *swig_gpstk_InvalidRequest_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_InvalidRequest = { "InvalidRequest", &SWIGTYPE_p_gpstk__InvalidRequest,_wrap_new_InvalidRequest, swig_delete_InvalidRequest, swig_gpstk_InvalidRequest_methods, swig_gpstk_InvalidRequest_attributes, swig_gpstk_InvalidRequest_bases,swig_gpstk_InvalidRequest_base_names };
+static int
+_wrap_new_AssertionFailure__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::AssertionFailure *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_AssertionFailure ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AssertionFailure__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::AssertionFailure *arg1 = 0 ;
+    gpstk::AssertionFailure *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_AssertionFailure a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AssertionFailure,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure((gpstk::AssertionFailure const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AssertionFailure__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::AssertionFailure *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_AssertionFailure a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AssertionFailure__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::AssertionFailure *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_AssertionFailure a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AssertionFailure__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::AssertionFailure *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_AssertionFailure a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AssertionFailure__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::AssertionFailure *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_AssertionFailure a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::AssertionFailure *)new gpstk::AssertionFailure(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AssertionFailure(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_AssertionFailure__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__AssertionFailure, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_AssertionFailure__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_AssertionFailure__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_AssertionFailure__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_AssertionFailure__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_AssertionFailure__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_AssertionFailure'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_AssertionFailure(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_AssertionFailure self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AssertionFailure,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_AssertionFailure_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:AssertionFailure_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AssertionFailure,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::AssertionFailure const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_AssertionFailure_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) 0 ;
+    gpstk::AssertionFailure *arg2 = 0 ;
+    gpstk::AssertionFailure *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:AssertionFailure_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AssertionFailure,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__AssertionFailure,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::AssertionFailure &_result_ref = (arg1)->operator =((gpstk::AssertionFailure const &)*arg2);
+        result = (gpstk::AssertionFailure *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AssertionFailure,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::AssertionFailure *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__AssertionFailure,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::AssertionFailure const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_AssertionFailure(void *obj) {
+gpstk::AssertionFailure *arg1 = (gpstk::AssertionFailure *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_AssertionFailure_methods[] = {
+    {"getName", _wrap_AssertionFailure_getName}, 
+    {"=", _wrap_AssertionFailure_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_AssertionFailure_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_AssertionFailure_bases[] = {0,0};
+static char *swig_gpstk_AssertionFailure_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_AssertionFailure = { "AssertionFailure", &SWIGTYPE_p_gpstk__AssertionFailure,_wrap_new_AssertionFailure, swig_delete_AssertionFailure, swig_gpstk_AssertionFailure_methods, swig_gpstk_AssertionFailure_attributes, swig_gpstk_AssertionFailure_bases,swig_gpstk_AssertionFailure_base_names };
+static int
+_wrap_new_AccessError__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::AccessError *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_AccessError ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::AccessError *)new gpstk::AccessError();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AccessError__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::AccessError *arg1 = 0 ;
+    gpstk::AccessError *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_AccessError a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AccessError,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::AccessError *)new gpstk::AccessError((gpstk::AccessError const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AccessError__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::AccessError *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_AccessError a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::AccessError *)new gpstk::AccessError((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AccessError__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::AccessError *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_AccessError a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::AccessError *)new gpstk::AccessError(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AccessError__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::AccessError *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_AccessError a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::AccessError *)new gpstk::AccessError(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AccessError__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::AccessError *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_AccessError a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::AccessError *)new gpstk::AccessError(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_AccessError(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_AccessError__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__AccessError, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_AccessError__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_AccessError__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_AccessError__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_AccessError__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_AccessError__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_AccessError'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_AccessError(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::AccessError *arg1 = (gpstk::AccessError *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_AccessError self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AccessError,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_AccessError_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::AccessError *arg1 = (gpstk::AccessError *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:AccessError_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AccessError,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::AccessError const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_AccessError_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::AccessError *arg1 = (gpstk::AccessError *) 0 ;
+    gpstk::AccessError *arg2 = 0 ;
+    gpstk::AccessError *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:AccessError_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__AccessError,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__AccessError,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::AccessError &_result_ref = (arg1)->operator =((gpstk::AccessError const &)*arg2);
+        result = (gpstk::AccessError *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__AccessError,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::AccessError *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__AccessError,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::AccessError const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_AccessError(void *obj) {
+gpstk::AccessError *arg1 = (gpstk::AccessError *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_AccessError_methods[] = {
+    {"getName", _wrap_AccessError_getName}, 
+    {"=", _wrap_AccessError_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_AccessError_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_AccessError_bases[] = {0,0};
+static char *swig_gpstk_AccessError_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_AccessError = { "AccessError", &SWIGTYPE_p_gpstk__AccessError,_wrap_new_AccessError, swig_delete_AccessError, swig_gpstk_AccessError_methods, swig_gpstk_AccessError_attributes, swig_gpstk_AccessError_bases,swig_gpstk_AccessError_base_names };
+static int
+_wrap_new_IndexOutOfBoundsException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::IndexOutOfBoundsException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_IndexOutOfBoundsException ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_IndexOutOfBoundsException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::IndexOutOfBoundsException *arg1 = 0 ;
+    gpstk::IndexOutOfBoundsException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_IndexOutOfBoundsException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException((gpstk::IndexOutOfBoundsException const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_IndexOutOfBoundsException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::IndexOutOfBoundsException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_IndexOutOfBoundsException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_IndexOutOfBoundsException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::IndexOutOfBoundsException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_IndexOutOfBoundsException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_IndexOutOfBoundsException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::IndexOutOfBoundsException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_IndexOutOfBoundsException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_IndexOutOfBoundsException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::IndexOutOfBoundsException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_IndexOutOfBoundsException a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::IndexOutOfBoundsException *)new gpstk::IndexOutOfBoundsException(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_IndexOutOfBoundsException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_IndexOutOfBoundsException__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_IndexOutOfBoundsException__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_IndexOutOfBoundsException__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_IndexOutOfBoundsException__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_IndexOutOfBoundsException__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_IndexOutOfBoundsException__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_IndexOutOfBoundsException'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_IndexOutOfBoundsException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_IndexOutOfBoundsException self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_IndexOutOfBoundsException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:IndexOutOfBoundsException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::IndexOutOfBoundsException const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_IndexOutOfBoundsException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) 0 ;
+    gpstk::IndexOutOfBoundsException *arg2 = 0 ;
+    gpstk::IndexOutOfBoundsException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:IndexOutOfBoundsException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::IndexOutOfBoundsException &_result_ref = (arg1)->operator =((gpstk::IndexOutOfBoundsException const &)*arg2);
+        result = (gpstk::IndexOutOfBoundsException *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_6(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::IndexOutOfBoundsException *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__IndexOutOfBoundsException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::IndexOutOfBoundsException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_IndexOutOfBoundsException(void *obj) {
+gpstk::IndexOutOfBoundsException *arg1 = (gpstk::IndexOutOfBoundsException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_IndexOutOfBoundsException_methods[] = {
+    {"getName", _wrap_IndexOutOfBoundsException_getName}, 
+    {"=", _wrap_IndexOutOfBoundsException_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_IndexOutOfBoundsException_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_IndexOutOfBoundsException_bases[] = {0,0};
+static char *swig_gpstk_IndexOutOfBoundsException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_IndexOutOfBoundsException = { "IndexOutOfBoundsException", &SWIGTYPE_p_gpstk__IndexOutOfBoundsException,_wrap_new_IndexOutOfBoundsException, swig_delete_IndexOutOfBoundsException, swig_gpstk_IndexOutOfBoundsException_methods, swig_gpstk_IndexOutOfBoundsException_attributes, swig_gpstk_IndexOutOfBoundsException_bases,swig_gpstk_IndexOutOfBoundsException_base_names };
+static int
+_wrap_new_InvalidArgumentException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidArgumentException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_InvalidArgumentException ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidArgumentException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidArgumentException *arg1 = 0 ;
+    gpstk::InvalidArgumentException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidArgumentException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidArgumentException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException((gpstk::InvalidArgumentException const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidArgumentException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::InvalidArgumentException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidArgumentException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidArgumentException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::InvalidArgumentException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_InvalidArgumentException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidArgumentException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::InvalidArgumentException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_InvalidArgumentException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidArgumentException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::InvalidArgumentException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_InvalidArgumentException a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::InvalidArgumentException *)new gpstk::InvalidArgumentException(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_InvalidArgumentException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_InvalidArgumentException__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__InvalidArgumentException, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidArgumentException__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_InvalidArgumentException__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_InvalidArgumentException__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_InvalidArgumentException__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_InvalidArgumentException__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_InvalidArgumentException'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_InvalidArgumentException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_InvalidArgumentException self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidArgumentException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_InvalidArgumentException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:InvalidArgumentException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidArgumentException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::InvalidArgumentException const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_InvalidArgumentException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) 0 ;
+    gpstk::InvalidArgumentException *arg2 = 0 ;
+    gpstk::InvalidArgumentException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:InvalidArgumentException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__InvalidArgumentException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__InvalidArgumentException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::InvalidArgumentException &_result_ref = (arg1)->operator =((gpstk::InvalidArgumentException const &)*arg2);
+        result = (gpstk::InvalidArgumentException *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__InvalidArgumentException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_7(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::InvalidArgumentException *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__InvalidArgumentException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::InvalidArgumentException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_InvalidArgumentException(void *obj) {
+gpstk::InvalidArgumentException *arg1 = (gpstk::InvalidArgumentException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_InvalidArgumentException_methods[] = {
+    {"getName", _wrap_InvalidArgumentException_getName}, 
+    {"=", _wrap_InvalidArgumentException_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_InvalidArgumentException_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_InvalidArgumentException_bases[] = {0,0};
+static char *swig_gpstk_InvalidArgumentException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_InvalidArgumentException = { "InvalidArgumentException", &SWIGTYPE_p_gpstk__InvalidArgumentException,_wrap_new_InvalidArgumentException, swig_delete_InvalidArgumentException, swig_gpstk_InvalidArgumentException_methods, swig_gpstk_InvalidArgumentException_attributes, swig_gpstk_InvalidArgumentException_bases,swig_gpstk_InvalidArgumentException_base_names };
+static int
+_wrap_new_ConfigurationException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ConfigurationException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_ConfigurationException ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ConfigurationException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ConfigurationException *arg1 = 0 ;
+    gpstk::ConfigurationException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_ConfigurationException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ConfigurationException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException((gpstk::ConfigurationException const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ConfigurationException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::ConfigurationException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_ConfigurationException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ConfigurationException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::ConfigurationException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_ConfigurationException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ConfigurationException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::ConfigurationException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_ConfigurationException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ConfigurationException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::ConfigurationException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_ConfigurationException a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::ConfigurationException *)new gpstk::ConfigurationException(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ConfigurationException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_ConfigurationException__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__ConfigurationException, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_ConfigurationException__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_ConfigurationException__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_ConfigurationException__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_ConfigurationException__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_ConfigurationException__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_ConfigurationException'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_ConfigurationException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_ConfigurationException self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ConfigurationException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_ConfigurationException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:ConfigurationException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ConfigurationException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::ConfigurationException const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_ConfigurationException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) 0 ;
+    gpstk::ConfigurationException *arg2 = 0 ;
+    gpstk::ConfigurationException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:ConfigurationException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ConfigurationException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__ConfigurationException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::ConfigurationException &_result_ref = (arg1)->operator =((gpstk::ConfigurationException const &)*arg2);
+        result = (gpstk::ConfigurationException *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ConfigurationException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_8(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::ConfigurationException *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__ConfigurationException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::ConfigurationException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_ConfigurationException(void *obj) {
+gpstk::ConfigurationException *arg1 = (gpstk::ConfigurationException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_ConfigurationException_methods[] = {
+    {"getName", _wrap_ConfigurationException_getName}, 
+    {"=", _wrap_ConfigurationException_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_ConfigurationException_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_ConfigurationException_bases[] = {0,0};
+static char *swig_gpstk_ConfigurationException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_ConfigurationException = { "ConfigurationException", &SWIGTYPE_p_gpstk__ConfigurationException,_wrap_new_ConfigurationException, swig_delete_ConfigurationException, swig_gpstk_ConfigurationException_methods, swig_gpstk_ConfigurationException_attributes, swig_gpstk_ConfigurationException_bases,swig_gpstk_ConfigurationException_base_names };
+static int
+_wrap_new_FileMissingException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::FileMissingException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_FileMissingException ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::FileMissingException *)new gpstk::FileMissingException();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_FileMissingException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::FileMissingException *arg1 = 0 ;
+    gpstk::FileMissingException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_FileMissingException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__FileMissingException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::FileMissingException *)new gpstk::FileMissingException((gpstk::FileMissingException const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_FileMissingException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::FileMissingException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_FileMissingException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::FileMissingException *)new gpstk::FileMissingException((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_FileMissingException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::FileMissingException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_FileMissingException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::FileMissingException *)new gpstk::FileMissingException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_FileMissingException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::FileMissingException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_FileMissingException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::FileMissingException *)new gpstk::FileMissingException(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_FileMissingException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::FileMissingException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_FileMissingException a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::FileMissingException *)new gpstk::FileMissingException(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_FileMissingException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_FileMissingException__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__FileMissingException, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_FileMissingException__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_FileMissingException__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_FileMissingException__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_FileMissingException__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_FileMissingException__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_FileMissingException'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_FileMissingException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_FileMissingException self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__FileMissingException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_FileMissingException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:FileMissingException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__FileMissingException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::FileMissingException const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_FileMissingException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) 0 ;
+    gpstk::FileMissingException *arg2 = 0 ;
+    gpstk::FileMissingException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:FileMissingException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__FileMissingException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__FileMissingException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::FileMissingException &_result_ref = (arg1)->operator =((gpstk::FileMissingException const &)*arg2);
+        result = (gpstk::FileMissingException *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__FileMissingException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_9(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::FileMissingException *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__FileMissingException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::FileMissingException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_FileMissingException(void *obj) {
+gpstk::FileMissingException *arg1 = (gpstk::FileMissingException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_FileMissingException_methods[] = {
+    {"getName", _wrap_FileMissingException_getName}, 
+    {"=", _wrap_FileMissingException_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_FileMissingException_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_FileMissingException_bases[] = {0,0};
+static char *swig_gpstk_FileMissingException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_FileMissingException = { "FileMissingException", &SWIGTYPE_p_gpstk__FileMissingException,_wrap_new_FileMissingException, swig_delete_FileMissingException, swig_gpstk_FileMissingException_methods, swig_gpstk_FileMissingException_attributes, swig_gpstk_FileMissingException_bases,swig_gpstk_FileMissingException_base_names };
+static int
+_wrap_new_SystemSemaphoreException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemSemaphoreException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_SystemSemaphoreException ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemSemaphoreException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemSemaphoreException *arg1 = 0 ;
+    gpstk::SystemSemaphoreException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemSemaphoreException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException((gpstk::SystemSemaphoreException const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemSemaphoreException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::SystemSemaphoreException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemSemaphoreException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemSemaphoreException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::SystemSemaphoreException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_SystemSemaphoreException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemSemaphoreException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::SystemSemaphoreException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_SystemSemaphoreException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemSemaphoreException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::SystemSemaphoreException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemSemaphoreException a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::SystemSemaphoreException *)new gpstk::SystemSemaphoreException(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemSemaphoreException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_SystemSemaphoreException__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__SystemSemaphoreException, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_SystemSemaphoreException__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_SystemSemaphoreException__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_SystemSemaphoreException__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_SystemSemaphoreException__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_SystemSemaphoreException__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_SystemSemaphoreException'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_SystemSemaphoreException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_SystemSemaphoreException self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_SystemSemaphoreException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:SystemSemaphoreException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::SystemSemaphoreException const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_SystemSemaphoreException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) 0 ;
+    gpstk::SystemSemaphoreException *arg2 = 0 ;
+    gpstk::SystemSemaphoreException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:SystemSemaphoreException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemSemaphoreException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__SystemSemaphoreException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::SystemSemaphoreException &_result_ref = (arg1)->operator =((gpstk::SystemSemaphoreException const &)*arg2);
+        result = (gpstk::SystemSemaphoreException *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemSemaphoreException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_10(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::SystemSemaphoreException *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__SystemSemaphoreException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::SystemSemaphoreException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_SystemSemaphoreException(void *obj) {
+gpstk::SystemSemaphoreException *arg1 = (gpstk::SystemSemaphoreException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_SystemSemaphoreException_methods[] = {
+    {"getName", _wrap_SystemSemaphoreException_getName}, 
+    {"=", _wrap_SystemSemaphoreException_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_SystemSemaphoreException_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_SystemSemaphoreException_bases[] = {0,0};
+static char *swig_gpstk_SystemSemaphoreException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_SystemSemaphoreException = { "SystemSemaphoreException", &SWIGTYPE_p_gpstk__SystemSemaphoreException,_wrap_new_SystemSemaphoreException, swig_delete_SystemSemaphoreException, swig_gpstk_SystemSemaphoreException_methods, swig_gpstk_SystemSemaphoreException_attributes, swig_gpstk_SystemSemaphoreException_bases,swig_gpstk_SystemSemaphoreException_base_names };
+static int
+_wrap_new_SystemPipeException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemPipeException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_SystemPipeException ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemPipeException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemPipeException *arg1 = 0 ;
+    gpstk::SystemPipeException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemPipeException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemPipeException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException((gpstk::SystemPipeException const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemPipeException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::SystemPipeException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemPipeException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemPipeException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::SystemPipeException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_SystemPipeException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemPipeException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::SystemPipeException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_SystemPipeException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemPipeException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::SystemPipeException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemPipeException a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::SystemPipeException *)new gpstk::SystemPipeException(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemPipeException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_SystemPipeException__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__SystemPipeException, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_SystemPipeException__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_SystemPipeException__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_SystemPipeException__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_SystemPipeException__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_SystemPipeException__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_SystemPipeException'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_SystemPipeException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_SystemPipeException self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemPipeException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_SystemPipeException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:SystemPipeException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemPipeException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::SystemPipeException const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_SystemPipeException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) 0 ;
+    gpstk::SystemPipeException *arg2 = 0 ;
+    gpstk::SystemPipeException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:SystemPipeException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemPipeException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__SystemPipeException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::SystemPipeException &_result_ref = (arg1)->operator =((gpstk::SystemPipeException const &)*arg2);
+        result = (gpstk::SystemPipeException *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemPipeException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_11(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::SystemPipeException *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__SystemPipeException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::SystemPipeException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_SystemPipeException(void *obj) {
+gpstk::SystemPipeException *arg1 = (gpstk::SystemPipeException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_SystemPipeException_methods[] = {
+    {"getName", _wrap_SystemPipeException_getName}, 
+    {"=", _wrap_SystemPipeException_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_SystemPipeException_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_SystemPipeException_bases[] = {0,0};
+static char *swig_gpstk_SystemPipeException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_SystemPipeException = { "SystemPipeException", &SWIGTYPE_p_gpstk__SystemPipeException,_wrap_new_SystemPipeException, swig_delete_SystemPipeException, swig_gpstk_SystemPipeException_methods, swig_gpstk_SystemPipeException_attributes, swig_gpstk_SystemPipeException_bases,swig_gpstk_SystemPipeException_base_names };
+static int
+_wrap_new_SystemQueueException__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemQueueException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_SystemQueueException ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemQueueException__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemQueueException *arg1 = 0 ;
+    gpstk::SystemQueueException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemQueueException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemQueueException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException((gpstk::SystemQueueException const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemQueueException__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::SystemQueueException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemQueueException a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemQueueException__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::SystemQueueException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_SystemQueueException a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemQueueException__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::SystemQueueException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_SystemQueueException a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemQueueException__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::SystemQueueException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_SystemQueueException a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::SystemQueueException *)new gpstk::SystemQueueException(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_SystemQueueException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_SystemQueueException__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__SystemQueueException, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_SystemQueueException__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_SystemQueueException__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_SystemQueueException__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_SystemQueueException__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_SystemQueueException__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_SystemQueueException'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_SystemQueueException(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_SystemQueueException self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemQueueException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_SystemQueueException_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:SystemQueueException_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemQueueException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::SystemQueueException const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_SystemQueueException_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) 0 ;
+    gpstk::SystemQueueException *arg2 = 0 ;
+    gpstk::SystemQueueException *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:SystemQueueException_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__SystemQueueException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__SystemQueueException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::SystemQueueException &_result_ref = (arg1)->operator =((gpstk::SystemQueueException const &)*arg2);
+        result = (gpstk::SystemQueueException *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__SystemQueueException,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_12(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::SystemQueueException *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__SystemQueueException,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::SystemQueueException const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_SystemQueueException(void *obj) {
+gpstk::SystemQueueException *arg1 = (gpstk::SystemQueueException *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_SystemQueueException_methods[] = {
+    {"getName", _wrap_SystemQueueException_getName}, 
+    {"=", _wrap_SystemQueueException_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_SystemQueueException_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_SystemQueueException_bases[] = {0,0};
+static char *swig_gpstk_SystemQueueException_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_SystemQueueException = { "SystemQueueException", &SWIGTYPE_p_gpstk__SystemQueueException,_wrap_new_SystemQueueException, swig_delete_SystemQueueException, swig_gpstk_SystemQueueException_methods, swig_gpstk_SystemQueueException_attributes, swig_gpstk_SystemQueueException_bases,swig_gpstk_SystemQueueException_base_names };
+static int
+_wrap_new_OutOfMemory__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::OutOfMemory *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_OutOfMemory ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_OutOfMemory__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::OutOfMemory *arg1 = 0 ;
+    gpstk::OutOfMemory *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_OutOfMemory a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__OutOfMemory,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory((gpstk::OutOfMemory const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_OutOfMemory__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::OutOfMemory *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_OutOfMemory a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_OutOfMemory__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::OutOfMemory *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_OutOfMemory a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_OutOfMemory__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::OutOfMemory *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_OutOfMemory a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_OutOfMemory__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::OutOfMemory *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_OutOfMemory a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::OutOfMemory *)new gpstk::OutOfMemory(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_OutOfMemory(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_OutOfMemory__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__OutOfMemory, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_OutOfMemory__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_OutOfMemory__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_OutOfMemory__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_OutOfMemory__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_OutOfMemory__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_OutOfMemory'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_OutOfMemory(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_OutOfMemory self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__OutOfMemory,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_OutOfMemory_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:OutOfMemory_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__OutOfMemory,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::OutOfMemory const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_OutOfMemory_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) 0 ;
+    gpstk::OutOfMemory *arg2 = 0 ;
+    gpstk::OutOfMemory *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:OutOfMemory_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__OutOfMemory,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__OutOfMemory,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::OutOfMemory &_result_ref = (arg1)->operator =((gpstk::OutOfMemory const &)*arg2);
+        result = (gpstk::OutOfMemory *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__OutOfMemory,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_13(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::OutOfMemory *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__OutOfMemory,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::OutOfMemory const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_OutOfMemory(void *obj) {
+gpstk::OutOfMemory *arg1 = (gpstk::OutOfMemory *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_OutOfMemory_methods[] = {
+    {"getName", _wrap_OutOfMemory_getName}, 
+    {"=", _wrap_OutOfMemory_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_OutOfMemory_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_OutOfMemory_bases[] = {0,0};
+static char *swig_gpstk_OutOfMemory_base_names[] = {"gpstk::Exception *",0};
+swig_class _wrap_class_gpstk_OutOfMemory = { "OutOfMemory", &SWIGTYPE_p_gpstk__OutOfMemory,_wrap_new_OutOfMemory, swig_delete_OutOfMemory, swig_gpstk_OutOfMemory_methods, swig_gpstk_OutOfMemory_attributes, swig_gpstk_OutOfMemory_bases,swig_gpstk_OutOfMemory_base_names };
+static int
+_wrap_new_ObjectNotFound__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ObjectNotFound *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_ObjectNotFound ") == TCL_ERROR) SWIG_fail;
+    result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ObjectNotFound__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ObjectNotFound *arg1 = 0 ;
+    gpstk::ObjectNotFound *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_ObjectNotFound a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ObjectNotFound,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound((gpstk::ObjectNotFound const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ObjectNotFound__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::Exception *arg1 = 0 ;
+    gpstk::ObjectNotFound *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_ObjectNotFound a ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__Exception,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound((gpstk::Exception const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ObjectNotFound__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::Exception::Severity arg3 ;
+    gpstk::ObjectNotFound *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:new_ObjectNotFound a b c ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound(arg1,arg2,(gpstk::Exception::Severity )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ObjectNotFound__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    unsigned long arg2 ;
+    gpstk::ObjectNotFound *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:new_ObjectNotFound a b ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ObjectNotFound__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::string arg1 ;
+    gpstk::ObjectNotFound *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_ObjectNotFound a ",NULL) == TCL_ERROR) SWIG_fail;
+    {
+        arg1 = std::string(Tcl_GetStringFromObj(objv[1],NULL));
+    }
+    result = (gpstk::ObjectNotFound *)new gpstk::ObjectNotFound(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_ObjectNotFound(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_ObjectNotFound__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__ObjectNotFound, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_ObjectNotFound__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_ObjectNotFound__SWIG_2(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_ObjectNotFound__SWIG_5(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_ObjectNotFound__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_ObjectNotFound__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_ObjectNotFound'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_ObjectNotFound(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_ObjectNotFound self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ObjectNotFound,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_ObjectNotFound_getName(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:ObjectNotFound_getName self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ObjectNotFound,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((gpstk::ObjectNotFound const *)arg1)->getName();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_ObjectNotFound_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) 0 ;
+    gpstk::ObjectNotFound *arg2 = 0 ;
+    gpstk::ObjectNotFound *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:ObjectNotFound_= self kid ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__ObjectNotFound,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__ObjectNotFound,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::ObjectNotFound &_result_ref = (arg1)->operator =((gpstk::ObjectNotFound const &)*arg2);
+        result = (gpstk::ObjectNotFound *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__ObjectNotFound,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream__SWIG_14(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::ObjectNotFound *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:istream s c ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__ObjectNotFound,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = operator <<(*arg1,(gpstk::ObjectNotFound const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_istream(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__ExceptionLocation, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_0(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__InvalidParameter, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_2(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__InvalidRequest, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_3(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__AssertionFailure, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_4(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__ObjectNotFound, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_14(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__IndexOutOfBoundsException, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_6(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__InvalidArgumentException, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_7(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__ConfigurationException, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_8(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__FileMissingException, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_9(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__SystemSemaphoreException, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_10(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__SystemPipeException, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_11(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__SystemQueueException, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_12(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__OutOfMemory, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_13(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__AccessError, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_5(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__Exception, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_istream__SWIG_1(clientData, interp, objc, objv);
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'istream'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_ObjectNotFound(void *obj) {
+gpstk::ObjectNotFound *arg1 = (gpstk::ObjectNotFound *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_ObjectNotFound_methods[] = {
+    {"getName", _wrap_ObjectNotFound_getName}, 
+    {"=", _wrap_ObjectNotFound_e___}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_ObjectNotFound_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_ObjectNotFound_bases[] = {0,0};
+static char *swig_gpstk_ObjectNotFound_base_names[] = {"gpstk::AccessError *",0};
+swig_class _wrap_class_gpstk_ObjectNotFound = { "ObjectNotFound", &SWIGTYPE_p_gpstk__ObjectNotFound,_wrap_new_ObjectNotFound, swig_delete_ObjectNotFound, swig_gpstk_ObjectNotFound_methods, swig_gpstk_ObjectNotFound_attributes, swig_gpstk_ObjectNotFound_bases,swig_gpstk_ObjectNotFound_base_names };
+static char *_wrap_GPSZcount_ZCOUNT_MINUTE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) gpstk::GPSZcount::ZCOUNT_MINUTE);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static const char *swig_readonly(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    return (char*) "Variable is read-only";
+}
+
+
+static char *_wrap_GPSZcount_ZCOUNT_HOUR_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) gpstk::GPSZcount::ZCOUNT_HOUR);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_GPSZcount_ZCOUNT_DAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) gpstk::GPSZcount::ZCOUNT_DAY);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_GPSZcount_ZCOUNT_WEEK_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) gpstk::GPSZcount::ZCOUNT_WEEK);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static int
+_wrap_new_GPSZcount__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    short arg1 ;
+    long arg2 ;
+    gpstk::GPSZcount *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"hl:new_GPSZcount inWeek inZcount ",&arg1,&arg2) == TCL_ERROR) SWIG_fail;
+    try {
+        result = (gpstk::GPSZcount *)new gpstk::GPSZcount(arg1,arg2);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidParameter", -1));
+            SWIG_fail;
+        }
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_GPSZcount__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    long arg1 ;
+    gpstk::GPSZcount *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"l:new_GPSZcount inFullZcount ",&arg1) == TCL_ERROR) SWIG_fail;
+    try {
+        result = (gpstk::GPSZcount *)new gpstk::GPSZcount(arg1);
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidParameter", -1));
+            SWIG_fail;
+        }
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_GPSZcount__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_GPSZcount ") == TCL_ERROR) SWIG_fail;
+    try {
+        result = (gpstk::GPSZcount *)new gpstk::GPSZcount();
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidParameter", -1));
+            SWIG_fail;
+        }
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_GPSZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_GPSZcount self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_GPSZcount__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = 0 ;
+    gpstk::GPSZcount *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_GPSZcount right ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (gpstk::GPSZcount *)new gpstk::GPSZcount((gpstk::GPSZcount const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_GPSZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_GPSZcount__SWIG_2(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_GPSZcount__SWIG_3(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            long tmp;
+            if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+            else _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_GPSZcount__SWIG_1(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            long tmp;
+            if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+            else _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_GPSZcount__SWIG_0(clientData, interp, objc, objv);
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_GPSZcount'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_getWeek(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:GPSZcount_getWeek self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((gpstk::GPSZcount const *)arg1)->getWeek();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_getZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:GPSZcount_getZcount self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (long)((gpstk::GPSZcount const *)arg1)->getZcount();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_getFullZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:GPSZcount_getFullZcount self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (long)((gpstk::GPSZcount const *)arg1)->getFullZcount();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_getTotalZcounts(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:GPSZcount_getTotalZcounts self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (double)((gpstk::GPSZcount const *)arg1)->getTotalZcounts();
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_setWeek(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    short arg2 ;
+    gpstk::GPSZcount *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oh:GPSZcount_setWeek self inWeek ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    try {
+        {
+            gpstk::GPSZcount &_result_ref = (arg1)->setWeek(arg2);
+            result = (gpstk::GPSZcount *) &_result_ref;
+        }
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidParameter", -1));
+            SWIG_fail;
+        }
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_setZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long arg2 ;
+    gpstk::GPSZcount *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:GPSZcount_setZcount self inZcount ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    try {
+        {
+            gpstk::GPSZcount &_result_ref = (arg1)->setZcount(arg2);
+            result = (gpstk::GPSZcount *) &_result_ref;
+        }
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidParameter", -1));
+            SWIG_fail;
+        }
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_setFullZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long arg2 ;
+    gpstk::GPSZcount *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:GPSZcount_setFullZcount self inZcount ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    try {
+        {
+            gpstk::GPSZcount &_result_ref = (arg1)->setFullZcount(arg2);
+            result = (gpstk::GPSZcount *) &_result_ref;
+        }
+    }
+    catch(gpstk::InvalidParameter &_e) {
+        {
+            Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidParameter", -1));
+            SWIG_fail;
+        }
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_addWeeks(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    short arg2 ;
+    gpstk::GPSZcount *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oh:GPSZcount_addWeeks self inWeeks ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    try {
+        {
+            gpstk::GPSZcount &_result_ref = (arg1)->addWeeks(arg2);
+            result = (gpstk::GPSZcount *) &_result_ref;
+        }
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidRequest", -1));
+            SWIG_fail;
+        }
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_addZcounts(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long arg2 ;
+    gpstk::GPSZcount *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:GPSZcount_addZcounts self inZcounts ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    try {
+        {
+            gpstk::GPSZcount &_result_ref = (arg1)->addZcounts(arg2);
+            result = (gpstk::GPSZcount *) &_result_ref;
+        }
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidRequest", -1));
+            SWIG_fail;
+        }
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_a___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long arg2 ;
+    gpstk::GPSZcount result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:GPSZcount_+ self inZcounts ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    try {
+        result = ((gpstk::GPSZcount const *)arg1)->operator +(arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidRequest", -1));
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::GPSZcount * resultptr;
+        resultptr = new gpstk::GPSZcount((gpstk::GPSZcount &) result);
+        Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_gpstk__GPSZcount,1));
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_s_____SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    long arg2 ;
+    gpstk::GPSZcount result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:GPSZcount_- self inZcounts ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    try {
+        result = ((gpstk::GPSZcount const *)arg1)->operator -(arg2);
+    }
+    catch(gpstk::InvalidRequest &_e) {
+        {
+            Tcl_SetObjResult(interp, Tcl_NewStringObj((char*) "gpstk::InvalidRequest", -1));
+            SWIG_fail;
+        }
+    }
+    
+    {
+        gpstk::GPSZcount * resultptr;
+        resultptr = new gpstk::GPSZcount((gpstk::GPSZcount &) result);
+        Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_gpstk__GPSZcount,1));
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_s_____SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_- self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (double)((gpstk::GPSZcount const *)arg1)->operator -((gpstk::GPSZcount const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_s___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_GPSZcount_s_____SWIG_1(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_GPSZcount_s_____SWIG_0(clientData, interp, objc, objv);
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'GPSZcount_-'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    gpstk::GPSZcount *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_= self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        gpstk::GPSZcount &_result_ref = (arg1)->operator =((gpstk::GPSZcount const &)*arg2);
+        result = (gpstk::GPSZcount *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_gpstk__GPSZcount,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_operator_less_than(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_operator_less_than self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((gpstk::GPSZcount const *)arg1)->operator <((gpstk::GPSZcount const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_operator_greater_than(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_operator_greater_than self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((gpstk::GPSZcount const *)arg1)->operator >((gpstk::GPSZcount const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_operator_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_operator_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((gpstk::GPSZcount const *)arg1)->operator ==((gpstk::GPSZcount const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_operator_not_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_operator_not_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((gpstk::GPSZcount const *)arg1)->operator !=((gpstk::GPSZcount const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_operator_less_than_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_operator_less_than_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((gpstk::GPSZcount const *)arg1)->operator <=((gpstk::GPSZcount const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_operator_greater_than_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_operator_greater_than_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((gpstk::GPSZcount const *)arg1)->operator >=((gpstk::GPSZcount const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_inSameTimeBlock__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    unsigned long arg3 ;
+    unsigned long arg4 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ooll:GPSZcount_inSameTimeBlock self other inZcountBlock inZcountOffset ",NULL,NULL,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)(arg1)->inSameTimeBlock((gpstk::GPSZcount const &)*arg2,arg3,arg4);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_inSameTimeBlock__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    unsigned long arg3 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ool:GPSZcount_inSameTimeBlock self other inZcountBlock ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)(arg1)->inSameTimeBlock((gpstk::GPSZcount const &)*arg2,arg3);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_inSameTimeBlock(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_GPSZcount_inSameTimeBlock__SWIG_1(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        return _wrap_GPSZcount_inSameTimeBlock__SWIG_0(clientData, interp, objc, objv);
+                    }
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'GPSZcount_inSameTimeBlock'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_dump__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    std::ostream *arg2 = 0 ;
+    short arg3 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ooh:GPSZcount_dump self out level ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    ((gpstk::GPSZcount const *)arg1)->dump(*arg2,arg3);
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_dump__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) 0 ;
+    std::ostream *arg2 = 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:GPSZcount_dump self out ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    ((gpstk::GPSZcount const *)arg1)->dump(*arg2);
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_GPSZcount_dump(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_GPSZcount_dump__SWIG_1(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_gpstk__GPSZcount, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_std__ostream, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_GPSZcount_dump__SWIG_0(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'GPSZcount_dump'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_GPSZcount(void *obj) {
+gpstk::GPSZcount *arg1 = (gpstk::GPSZcount *) obj;
+delete arg1;
+}
+static swig_method swig_gpstk_GPSZcount_methods[] = {
+    {"getWeek", _wrap_GPSZcount_getWeek}, 
+    {"getZcount", _wrap_GPSZcount_getZcount}, 
+    {"getFullZcount", _wrap_GPSZcount_getFullZcount}, 
+    {"getTotalZcounts", _wrap_GPSZcount_getTotalZcounts}, 
+    {"setWeek", _wrap_GPSZcount_setWeek}, 
+    {"setZcount", _wrap_GPSZcount_setZcount}, 
+    {"setFullZcount", _wrap_GPSZcount_setFullZcount}, 
+    {"addWeeks", _wrap_GPSZcount_addWeeks}, 
+    {"addZcounts", _wrap_GPSZcount_addZcounts}, 
+    {"+", _wrap_GPSZcount_a___}, 
+    {"-", _wrap_GPSZcount_s___}, 
+    {"=", _wrap_GPSZcount_e___}, 
+    {"operator_less_than", _wrap_GPSZcount_operator_less_than}, 
+    {"operator_greater_than", _wrap_GPSZcount_operator_greater_than}, 
+    {"operator_equal_to", _wrap_GPSZcount_operator_equal_to}, 
+    {"operator_not_equal_to", _wrap_GPSZcount_operator_not_equal_to}, 
+    {"operator_less_than_equal_to", _wrap_GPSZcount_operator_less_than_equal_to}, 
+    {"operator_greater_than_equal_to", _wrap_GPSZcount_operator_greater_than_equal_to}, 
+    {"inSameTimeBlock", _wrap_GPSZcount_inSameTimeBlock}, 
+    {"dump", _wrap_GPSZcount_dump}, 
+    {0,0}
+};
+static swig_attribute swig_gpstk_GPSZcount_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_gpstk_GPSZcount_bases[] = {0};
+static char *swig_gpstk_GPSZcount_base_names[] = {0};
+swig_class _wrap_class_gpstk_GPSZcount = { "GPSZcount", &SWIGTYPE_p_gpstk__GPSZcount,_wrap_new_GPSZcount, swig_delete_GPSZcount, swig_gpstk_GPSZcount_methods, swig_gpstk_GPSZcount_attributes, swig_gpstk_GPSZcount_bases,swig_gpstk_GPSZcount_base_names };
+static int
+_wrap_ll___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    std::ostream *arg1 = 0 ;
+    gpstk::GPSZcount *arg2 = 0 ;
+    std::ostream *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:<< s z ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_gpstk__GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        std::ostream &_result_ref = gpstk::operator <<(*arg1,(gpstk::GPSZcount const &)*arg2);
+        result = (std::ostream *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_std__ostream,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static char *_wrap_DayTime_FACTOR_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) DayTime::FACTOR);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_JD_TO_MJD_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewDoubleObj((double) DayTime::JD_TO_MJD);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_MJD_JDAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) DayTime::MJD_JDAY);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_GPS_EPOCH_JDAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) DayTime::GPS_EPOCH_JDAY);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_GPS_EPOCH_MJD_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) DayTime::GPS_EPOCH_MJD);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_UNIX_MJD_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) DayTime::UNIX_MJD);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_HALFWEEK_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) DayTime::HALFWEEK);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_FULLWEEK_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) DayTime::FULLWEEK);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_SEC_DAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) DayTime::SEC_DAY);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_MS_PER_DAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) DayTime::MS_PER_DAY);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_ONE_NSEC_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewDoubleObj((double) DayTime::ONE_NSEC_TOLERANCE);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_ONE_USEC_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewDoubleObj((double) DayTime::ONE_USEC_TOLERANCE);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_ONE_MSEC_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewDoubleObj((double) DayTime::ONE_MSEC_TOLERANCE);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_ONE_SEC_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewDoubleObj((double) DayTime::ONE_SEC_TOLERANCE);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_ONE_MIN_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewDoubleObj((double) DayTime::ONE_MIN_TOLERANCE);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_ONE_HOUR_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewDoubleObj((double) DayTime::ONE_HOUR_TOLERANCE);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_DAYTIME_TOLERANCE_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewDoubleObj((double) DayTime::DAYTIME_TOLERANCE);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_DAYTIME_TOLERANCE_set(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    Tcl_Obj *name1o = 0;
+    
+    name1o = Tcl_NewStringObj(name1,-1);
+    value = Tcl_ObjGetVar2(interp, name1o, 0, flags);
+    Tcl_DecrRefCount(name1o);
+    if (!value) return NULL;
+    {
+        double temp;
+        if (Tcl_GetDoubleFromObj(interp, value, &temp) != TCL_OK) {
+            return (char*) "Type error. expected a double.";
+        }
+        DayTime::DAYTIME_TOLERANCE = (double) temp;
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_BEGIN_LIMIT_JDAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) DayTime::BEGIN_LIMIT_JDAY);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_END_LIMIT_JDAY_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) DayTime::END_LIMIT_JDAY);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_BEGINNING_OF_TIME_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = SWIG_NewInstanceObj((void *) &DayTime::BEGINNING_OF_TIME, SWIGTYPE_p_DayTime,0);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_END_OF_TIME_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = SWIG_NewInstanceObj((void *) &DayTime::END_OF_TIME, SWIGTYPE_p_DayTime,0);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_DAYTIME_TEST_VALID_get(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    
+    value = Tcl_NewIntObj((long) DayTime::DAYTIME_TEST_VALID);
+    if (value) {
+        Tcl_SetVar2(interp,name1,name2,Tcl_GetStringFromObj(value,NULL), flags);
+        Tcl_DecrRefCount(value);
+    }
+    return NULL;
+}
+
+
+static char *_wrap_DayTime_DAYTIME_TEST_VALID_set(ClientData clientData, Tcl_Interp *interp, char *name1, char *name2, int flags) {
+    Tcl_Obj *value = 0;
+    Tcl_Obj *name1o = 0;
+    
+    name1o = Tcl_NewStringObj(name1,-1);
+    value = Tcl_ObjGetVar2(interp, name1o, 0, flags);
+    Tcl_DecrRefCount(name1o);
+    if (!value) return NULL;
+    {
+        long temp;
+        if (Tcl_GetLongFromObj(interp, value, &temp) != TCL_OK) {
+            return (char*) "Type error. expected an integer";
+        }
+        DayTime::DAYTIME_TEST_VALID = temp ? true : false;
+    }
+    return NULL;
+}
+
+
+static int
+_wrap_DayTime_setDayTimeTolerance(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    double arg1 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"d:DayTime_setDayTimeTolerance tol ",&arg1) == TCL_ERROR) SWIG_fail;
+    result = (double)DayTime::setDayTimeTolerance(arg1);
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_getDayTimeTolerance(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":DayTime_getDayTimeTolerance ") == TCL_ERROR) SWIG_fail;
+    result = (double)DayTime::getDayTimeTolerance();
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setTolerance(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_setTolerance self tol ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setTolerance(arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,":new_DayTime ") == TCL_ERROR) SWIG_fail;
+    result = (DayTime *)new DayTime();
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    short arg1 ;
+    double arg2 ;
+    DayTime::TimeFrame arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"hdi:new_DayTime GPSWeek GPSSecond f ",&arg1,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    result = (DayTime *)new DayTime(arg1,arg2,(DayTime::TimeFrame )arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    short arg1 ;
+    double arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"hd:new_DayTime GPSWeek GPSSecond ",&arg1,&arg2) == TCL_ERROR) SWIG_fail;
+    result = (DayTime *)new DayTime(arg1,arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    unsigned long arg1 ;
+    DayTime::TimeFrame arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"li:new_DayTime fullZcount f ",&arg1,&arg2) == TCL_ERROR) SWIG_fail;
+    result = (DayTime *)new DayTime(arg1,(DayTime::TimeFrame )arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    unsigned long arg1 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"l:new_DayTime fullZcount ",&arg1) == TCL_ERROR) SWIG_fail;
+    result = (DayTime *)new DayTime(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    short arg1 ;
+    short arg2 ;
+    short arg3 ;
+    short arg4 ;
+    short arg5 ;
+    double arg6 ;
+    DayTime::TimeFrame arg7 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"hhhhhdi:new_DayTime year month day hour minute second f ",&arg1,&arg2,&arg3,&arg4,&arg5,&arg6,&arg7) == TCL_ERROR) SWIG_fail;
+    result = (DayTime *)new DayTime(arg1,arg2,arg3,arg4,arg5,arg6,(DayTime::TimeFrame )arg7);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_6(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    short arg1 ;
+    short arg2 ;
+    short arg3 ;
+    short arg4 ;
+    short arg5 ;
+    double arg6 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"hhhhhd:new_DayTime year month day hour minute second ",&arg1,&arg2,&arg3,&arg4,&arg5,&arg6) == TCL_ERROR) SWIG_fail;
+    result = (DayTime *)new DayTime(arg1,arg2,arg3,arg4,arg5,arg6);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_7(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    double arg1 ;
+    DayTime::TimeFrame arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"di:new_DayTime MJD f ",&arg1,&arg2) == TCL_ERROR) SWIG_fail;
+    result = (DayTime *)new DayTime(arg1,(DayTime::TimeFrame )arg2);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_8(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    double arg1 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"d:new_DayTime MJD ",&arg1) == TCL_ERROR) SWIG_fail;
+    result = (DayTime *)new DayTime(arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_9(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    short arg1 ;
+    short arg2 ;
+    double arg3 ;
+    DayTime::TimeFrame arg4 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"hhdi:new_DayTime year doy sod f ",&arg1,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+    result = (DayTime *)new DayTime(arg1,arg2,arg3,(DayTime::TimeFrame )arg4);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_10(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    short arg1 ;
+    short arg2 ;
+    double arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"hhd:new_DayTime year doy sod ",&arg1,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    result = (DayTime *)new DayTime(arg1,arg2,arg3);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime__SWIG_11(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = 0 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:new_DayTime right ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (DayTime *)new DayTime((DayTime const &)*arg1);
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_new_DayTime(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 0) {
+        return _wrap_new_DayTime__SWIG_0(clientData, interp, objc, objv);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_DayTime__SWIG_11(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            long tmp;
+            if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+            else _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_DayTime__SWIG_4(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            double tmp;
+            if (Tcl_GetDoubleFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+            else _v = 1;
+        }
+        if (_v) {
+            return _wrap_new_DayTime__SWIG_8(clientData, interp, objc, objv);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            long tmp;
+            if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+            else _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_DayTime__SWIG_3(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            long tmp;
+            if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+            else _v = 1;
+        }
+        if (_v) {
+            {
+                double tmp;
+                if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_DayTime__SWIG_2(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            double tmp;
+            if (Tcl_GetDoubleFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+            else _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_new_DayTime__SWIG_7(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            long tmp;
+            if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+            else _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    double tmp;
+                    if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_DayTime__SWIG_10(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            long tmp;
+            if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+            else _v = 1;
+        }
+        if (_v) {
+            {
+                double tmp;
+                if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_new_DayTime__SWIG_1(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            long tmp;
+            if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+            else _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    double tmp;
+                    if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        return _wrap_new_DayTime__SWIG_9(clientData, interp, objc, objv);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 6) {
+        int _v;
+        {
+            long tmp;
+            if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+            else _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        {
+                            long tmp;
+                            if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+                            else _v = 1;
+                        }
+                        if (_v) {
+                            {
+                                double tmp;
+                                if (Tcl_GetDoubleFromObj(NULL,argv[5],&tmp) == TCL_ERROR) _v = 0;
+                                else _v = 1;
+                            }
+                            if (_v) {
+                                return _wrap_new_DayTime__SWIG_6(clientData, interp, objc, objv);
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 7) {
+        int _v;
+        {
+            long tmp;
+            if (Tcl_GetLongFromObj(NULL,argv[0],&tmp) == TCL_ERROR) _v = 0;
+            else _v = 1;
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        {
+                            long tmp;
+                            if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+                            else _v = 1;
+                        }
+                        if (_v) {
+                            {
+                                double tmp;
+                                if (Tcl_GetDoubleFromObj(NULL,argv[5],&tmp) == TCL_ERROR) _v = 0;
+                                else _v = 1;
+                            }
+                            if (_v) {
+                                {
+                                    long tmp;
+                                    if (Tcl_GetLongFromObj(NULL,argv[6],&tmp) == TCL_ERROR) _v = 0;
+                                    else _v = 1;
+                                }
+                                if (_v) {
+                                    return _wrap_new_DayTime__SWIG_5(clientData, interp, objc, objv);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'new_DayTime'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_e___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime *arg2 = 0 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_= self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->operator =((DayTime const &)*arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_s_____SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime *arg2 = 0 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_- self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (double)((DayTime const *)arg1)->operator -((DayTime const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_a___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double arg2 ;
+    DayTime result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_+ self sec ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((DayTime const *)arg1)->operator +(arg2);
+    
+    {
+        DayTime * resultptr;
+        resultptr = new DayTime((DayTime &) result);
+        Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_DayTime,1));
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_s_____SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double arg2 ;
+    DayTime result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_- self sec ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((DayTime const *)arg1)->operator -(arg2);
+    
+    {
+        DayTime * resultptr;
+        resultptr = new DayTime((DayTime &) result);
+        Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_DayTime,1));
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_s___(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_DayTime_s_____SWIG_0(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                double tmp;
+                if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_DayTime_s_____SWIG_1(clientData, interp, objc, objv);
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_-'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_addSeconds__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_addSeconds self seconds ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->addSeconds(arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_addSeconds__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    long arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:DayTime_addSeconds self seconds ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->addSeconds(arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_addSeconds(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_DayTime_addSeconds__SWIG_1(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                double tmp;
+                if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_DayTime_addSeconds__SWIG_0(clientData, interp, objc, objv);
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_addSeconds'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_addMilliSeconds(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    long arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:DayTime_addMilliSeconds self msec ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->addMilliSeconds(arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_addMicroSeconds(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    long arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:DayTime_addMicroSeconds self usec ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->addMicroSeconds(arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_operator_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime *arg2 = 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_operator_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((DayTime const *)arg1)->operator ==((DayTime const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_operator_not_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime *arg2 = 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_operator_not_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((DayTime const *)arg1)->operator !=((DayTime const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_operator_less_than(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime *arg2 = 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_operator_less_than self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((DayTime const *)arg1)->operator <((DayTime const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_operator_greater_than(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime *arg2 = 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_operator_greater_than self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((DayTime const *)arg1)->operator >((DayTime const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_operator_less_than_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime *arg2 = 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_operator_less_than_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((DayTime const *)arg1)->operator <=((DayTime const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_operator_greater_than_equal_to(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime *arg2 = 0 ;
+    bool result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_operator_greater_than_equal_to self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (bool)((DayTime const *)arg1)->operator >=((DayTime const &)*arg2);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setAllButTimeFrame(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime *arg2 = 0 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_setAllButTimeFrame self right ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setAllButTimeFrame((DayTime const &)*arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setTimeFrame(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime::TimeFrame arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oi:DayTime_setTimeFrame self f ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setTimeFrame((DayTime::TimeFrame )arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_getTimeFrame(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime::TimeFrame result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_getTimeFrame self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (DayTime::TimeFrame)((DayTime const *)arg1)->getTimeFrame();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_JD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_JD self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (double)((DayTime const *)arg1)->JD();
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_MJD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_MJD self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (double)((DayTime const *)arg1)->MJD();
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_year(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_year self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((DayTime const *)arg1)->year();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_month(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_month self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((DayTime const *)arg1)->month();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_day(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_day self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((DayTime const *)arg1)->day();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_dayOfWeek(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_dayOfWeek self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((DayTime const *)arg1)->dayOfWeek();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_getYMD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    int *arg2 = 0 ;
+    int *arg3 = 0 ;
+    int *arg4 = 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oooo:DayTime_getYMD self yy mm dd ",NULL,NULL,NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[3], (void **) &arg3, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[4], (void **) &arg4, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    ((DayTime const *)arg1)->getYMD(*arg2,*arg3,*arg4);
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_hour(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_hour self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((DayTime const *)arg1)->hour();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_minute(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_minute self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((DayTime const *)arg1)->minute();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_second(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_second self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (double)((DayTime const *)arg1)->second();
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_secOfDay(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_secOfDay self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (double)((DayTime const *)arg1)->secOfDay();
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPS10bitweek(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPS10bitweek self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((DayTime const *)arg1)->GPS10bitweek();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSzcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    long result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSzcount self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (long)((DayTime const *)arg1)->GPSzcount();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSzcountFloor(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    long result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSzcountFloor self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (long)((DayTime const *)arg1)->GPSzcountFloor();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSsecond(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSsecond self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (double)((DayTime const *)arg1)->GPSsecond();
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSsow(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSsow self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (double)((DayTime const *)arg1)->GPSsow();
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSday(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSday self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((DayTime const *)arg1)->GPSday();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSfullweek(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSfullweek self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((DayTime const *)arg1)->GPSfullweek();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_GPSyear(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_GPSyear self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((DayTime const *)arg1)->GPSyear();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_DOYyear(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_DOYyear self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((DayTime const *)arg1)->DOYyear();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_DOY(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_DOY self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (short)((DayTime const *)arg1)->DOY();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_DOYsecond(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_DOYsecond self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (double)((DayTime const *)arg1)->DOYsecond();
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_MJDdate(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_MJDdate self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (double)((DayTime const *)arg1)->MJDdate();
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_getMJDasLongDouble(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    long double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_getMJDasLongDouble self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (long double)((DayTime const *)arg1)->getMJDasLongDouble();
+    
+    {
+        long double * resultptr;
+        resultptr = new long double((long double &) result);
+        Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_long_double,1));
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_unixTime(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    timeval result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_unixTime self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((DayTime const *)arg1)->unixTime();
+    
+    {
+        timeval * resultptr;
+        resultptr = new timeval((timeval &) result);
+        Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void*) resultptr, SWIGTYPE_p_timeval,1));
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_fullZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    unsigned long result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_fullZcount self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (unsigned long)((DayTime const *)arg1)->fullZcount();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_fullZcountFloor(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    unsigned long result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_fullZcountFloor self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = (unsigned long)((DayTime const *)arg1)->fullZcountFloor();
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYMDHMS__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short arg2 ;
+    short arg3 ;
+    short arg4 ;
+    short arg5 ;
+    short arg6 ;
+    double arg7 ;
+    DayTime::TimeFrame arg8 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ohhhhhdi:DayTime_setYMDHMS self year month day hour min sec f ",NULL,&arg2,&arg3,&arg4,&arg5,&arg6,&arg7,&arg8) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setYMDHMS(arg2,arg3,arg4,arg5,arg6,arg7,(DayTime::TimeFrame )arg8);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYMDHMS__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short arg2 ;
+    short arg3 ;
+    short arg4 ;
+    short arg5 ;
+    short arg6 ;
+    double arg7 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ohhhhhd:DayTime_setYMDHMS self year month day hour min sec ",NULL,&arg2,&arg3,&arg4,&arg5,&arg6,&arg7) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setYMDHMS(arg2,arg3,arg4,arg5,arg6,arg7);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYMDHMS(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 7) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        {
+                            long tmp;
+                            if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+                            else _v = 1;
+                        }
+                        if (_v) {
+                            {
+                                long tmp;
+                                if (Tcl_GetLongFromObj(NULL,argv[5],&tmp) == TCL_ERROR) _v = 0;
+                                else _v = 1;
+                            }
+                            if (_v) {
+                                {
+                                    double tmp;
+                                    if (Tcl_GetDoubleFromObj(NULL,argv[6],&tmp) == TCL_ERROR) _v = 0;
+                                    else _v = 1;
+                                }
+                                if (_v) {
+                                    return _wrap_DayTime_setYMDHMS__SWIG_1(clientData, interp, objc, objv);
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 8) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        {
+                            long tmp;
+                            if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+                            else _v = 1;
+                        }
+                        if (_v) {
+                            {
+                                long tmp;
+                                if (Tcl_GetLongFromObj(NULL,argv[5],&tmp) == TCL_ERROR) _v = 0;
+                                else _v = 1;
+                            }
+                            if (_v) {
+                                {
+                                    double tmp;
+                                    if (Tcl_GetDoubleFromObj(NULL,argv[6],&tmp) == TCL_ERROR) _v = 0;
+                                    else _v = 1;
+                                }
+                                if (_v) {
+                                    {
+                                        long tmp;
+                                        if (Tcl_GetLongFromObj(NULL,argv[7],&tmp) == TCL_ERROR) _v = 0;
+                                        else _v = 1;
+                                    }
+                                    if (_v) {
+                                        return _wrap_DayTime_setYMDHMS__SWIG_0(clientData, interp, objc, objv);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setYMDHMS'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short arg2 ;
+    double arg3 ;
+    DayTime::TimeFrame arg4 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ohdi:DayTime_setGPS self week sow f ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,(DayTime::TimeFrame )arg4);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short arg2 ;
+    double arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ohd:DayTime_setGPS self week sow ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setGPS(arg2,arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short arg2 ;
+    long arg3 ;
+    DayTime::TimeFrame arg4 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ohli:DayTime_setGPS self week zcount f ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,(DayTime::TimeFrame )arg4);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short arg2 ;
+    long arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ohl:DayTime_setGPS self week zcount ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setGPS(arg2,arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_4(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short arg2 ;
+    double arg3 ;
+    short arg4 ;
+    DayTime::TimeFrame arg5 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ohdhi:DayTime_setGPS self week sow year f ",NULL,&arg2,&arg3,&arg4,&arg5) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4,(DayTime::TimeFrame )arg5);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_5(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short arg2 ;
+    double arg3 ;
+    short arg4 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ohdh:DayTime_setGPS self week sow year ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setGPS(arg2,arg3,arg4);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_6(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    unsigned long arg2 ;
+    DayTime::TimeFrame arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oli:DayTime_setGPS self Zcount f ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setGPS(arg2,(DayTime::TimeFrame )arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS__SWIG_7(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    unsigned long arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ol:DayTime_setGPS self Zcount ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setGPS(arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPS(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_DayTime_setGPS__SWIG_7(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setGPS__SWIG_3(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setGPS__SWIG_6(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    double tmp;
+                    if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setGPS__SWIG_1(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        return _wrap_DayTime_setGPS__SWIG_2(clientData, interp, objc, objv);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    double tmp;
+                    if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        return _wrap_DayTime_setGPS__SWIG_5(clientData, interp, objc, objv);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    double tmp;
+                    if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        return _wrap_DayTime_setGPS__SWIG_0(clientData, interp, objc, objv);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    double tmp;
+                    if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        {
+                            long tmp;
+                            if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+                            else _v = 1;
+                        }
+                        if (_v) {
+                            return _wrap_DayTime_setGPS__SWIG_4(clientData, interp, objc, objv);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setGPS'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPSfullweek__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short arg2 ;
+    double arg3 ;
+    DayTime::TimeFrame arg4 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ohdi:DayTime_setGPSfullweek self fullweek sow f ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setGPSfullweek(arg2,arg3,(DayTime::TimeFrame )arg4);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPSfullweek__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short arg2 ;
+    double arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ohd:DayTime_setGPSfullweek self fullweek sow ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setGPSfullweek(arg2,arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPSfullweek(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    double tmp;
+                    if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setGPSfullweek__SWIG_1(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    double tmp;
+                    if (Tcl_GetDoubleFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        return _wrap_DayTime_setGPSfullweek__SWIG_0(clientData, interp, objc, objv);
+                    }
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setGPSfullweek'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPSZcount__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    GPSZcount *arg2 = 0 ;
+    DayTime::TimeFrame arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ooi:DayTime_setGPSZcount self z f ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setGPSZcount((GPSZcount const &)*arg2,(DayTime::TimeFrame )arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPSZcount__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    GPSZcount *arg2 = 0 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_setGPSZcount self z ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_GPSZcount,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setGPSZcount((GPSZcount const &)*arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setGPSZcount(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_GPSZcount, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_DayTime_setGPSZcount__SWIG_1(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_GPSZcount, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setGPSZcount__SWIG_0(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setGPSZcount'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYDoySod__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short arg2 ;
+    short arg3 ;
+    double arg4 ;
+    DayTime::TimeFrame arg5 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ohhdi:DayTime_setYDoySod self year day_of_year sec_of_day f ",NULL,&arg2,&arg3,&arg4,&arg5) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setYDoySod(arg2,arg3,arg4,(DayTime::TimeFrame )arg5);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYDoySod__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    short arg2 ;
+    short arg3 ;
+    double arg4 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ohhd:DayTime_setYDoySod self year day_of_year sec_of_day ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setYDoySod(arg2,arg3,arg4);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYDoySod(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        double tmp;
+                        if (Tcl_GetDoubleFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        return _wrap_DayTime_setYDoySod__SWIG_1(clientData, interp, objc, objv);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        double tmp;
+                        if (Tcl_GetDoubleFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        {
+                            long tmp;
+                            if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+                            else _v = 1;
+                        }
+                        if (_v) {
+                            return _wrap_DayTime_setYDoySod__SWIG_0(clientData, interp, objc, objv);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setYDoySod'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJD__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    long double arg2 ;
+    DayTime::TimeFrame arg3 ;
+    DayTime *result;
+    long double *argp2 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ooi:DayTime_setMJD self mjd f ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &argp2, SWIGTYPE_p_long_double,SWIG_POINTER_EXCEPTION ) != TCL_OK)) SWIG_fail;
+    arg2 = *argp2; 
+    {
+        DayTime &_result_ref = (arg1)->setMJD(arg2,(DayTime::TimeFrame )arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJD__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    long double arg2 ;
+    DayTime *result;
+    long double *argp2 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_setMJD self mjd ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &argp2, SWIGTYPE_p_long_double,SWIG_POINTER_EXCEPTION ) != TCL_OK)) SWIG_fail;
+    arg2 = *argp2; 
+    {
+        DayTime &_result_ref = (arg1)->setMJD(arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJDdate__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    long double arg2 ;
+    DayTime::TimeFrame arg3 ;
+    DayTime *result;
+    long double *argp2 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ooi:DayTime_setMJDdate self mjd f ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &argp2, SWIGTYPE_p_long_double,SWIG_POINTER_EXCEPTION ) != TCL_OK)) SWIG_fail;
+    arg2 = *argp2; 
+    {
+        DayTime &_result_ref = (arg1)->setMJDdate(arg2,(DayTime::TimeFrame )arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJDdate__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    long double arg2 ;
+    DayTime *result;
+    long double *argp2 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_setMJDdate self mjd ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &argp2, SWIGTYPE_p_long_double,SWIG_POINTER_EXCEPTION ) != TCL_OK)) SWIG_fail;
+    arg2 = *argp2; 
+    {
+        DayTime &_result_ref = (arg1)->setMJDdate(arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJD__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double arg2 ;
+    DayTime::TimeFrame arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"odi:DayTime_setMJD self mjd f ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setMJD(arg2,(DayTime::TimeFrame )arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJD__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_setMJD self mjd ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setMJD(arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_long_double, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_DayTime_setMJD__SWIG_1(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                double tmp;
+                if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_DayTime_setMJD__SWIG_3(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_long_double, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setMJD__SWIG_0(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                double tmp;
+                if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setMJD__SWIG_2(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setMJD'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJDdate__SWIG_2(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double arg2 ;
+    DayTime::TimeFrame arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"odi:DayTime_setMJDdate self mjd f ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setMJDdate(arg2,(DayTime::TimeFrame )arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJDdate__SWIG_3(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_setMJDdate self mjd ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setMJDdate(arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setMJDdate(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_long_double, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_DayTime_setMJDdate__SWIG_1(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                double tmp;
+                if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_DayTime_setMJDdate__SWIG_3(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_long_double, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setMJDdate__SWIG_0(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                double tmp;
+                if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setMJDdate__SWIG_2(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setMJDdate'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setUnix__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    timeval *arg2 = 0 ;
+    DayTime::TimeFrame arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ooi:DayTime_setUnix self t f ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_timeval,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setUnix((timeval const &)*arg2,(DayTime::TimeFrame )arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setUnix__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    timeval *arg2 = 0 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_setUnix self t ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_timeval,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setUnix((timeval const &)*arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setUnix(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_timeval, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_DayTime_setUnix__SWIG_1(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_timeval, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setUnix__SWIG_0(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setUnix'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setANSI__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    time_t *arg2 = 0 ;
+    DayTime::TimeFrame arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ooi:DayTime_setANSI self t f ",NULL,NULL,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_time_t,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setANSI((time_t const &)*arg2,(DayTime::TimeFrame )arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setANSI__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    time_t *arg2 = 0 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_setANSI self t ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_time_t,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setANSI((time_t const &)*arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setANSI(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_time_t, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_DayTime_setANSI__SWIG_1(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_time_t, 0) == TCL_ERROR) {
+                    _v = 0;
+                } else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setANSI__SWIG_0(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setANSI'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setSystemTime(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_setSystemTime self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setSystemTime();
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setLocalTime(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_setLocalTime self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setLocalTime();
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYMD__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    int arg4 ;
+    DayTime::TimeFrame arg5 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oiiii:DayTime_setYMD self yy mm dd f ",NULL,&arg2,&arg3,&arg4,&arg5) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setYMD(arg2,arg3,arg4,(DayTime::TimeFrame )arg5);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYMD__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    int arg4 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oiii:DayTime_setYMD self yy mm dd ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setYMD(arg2,arg3,arg4);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYMD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        return _wrap_DayTime_setYMD__SWIG_1(clientData, interp, objc, objv);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        {
+                            long tmp;
+                            if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+                            else _v = 1;
+                        }
+                        if (_v) {
+                            return _wrap_DayTime_setYMD__SWIG_0(clientData, interp, objc, objv);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setYMD'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setHMS__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    double arg4 ;
+    DayTime::TimeFrame arg5 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oiidi:DayTime_setHMS self hh mm sec f ",NULL,&arg2,&arg3,&arg4,&arg5) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setHMS(arg2,arg3,arg4,(DayTime::TimeFrame )arg5);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setHMS__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    double arg4 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oiid:DayTime_setHMS self hh mm sec ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setHMS(arg2,arg3,arg4);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setHMS(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        double tmp;
+                        if (Tcl_GetDoubleFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        return _wrap_DayTime_setHMS__SWIG_1(clientData, interp, objc, objv);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        double tmp;
+                        if (Tcl_GetDoubleFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        {
+                            long tmp;
+                            if (Tcl_GetLongFromObj(NULL,argv[4],&tmp) == TCL_ERROR) _v = 0;
+                            else _v = 1;
+                        }
+                        if (_v) {
+                            return _wrap_DayTime_setHMS__SWIG_0(clientData, interp, objc, objv);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setHMS'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setSecOfDay__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double arg2 ;
+    DayTime::TimeFrame arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"odi:DayTime_setSecOfDay self sod f ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setSecOfDay(arg2,(DayTime::TimeFrame )arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setSecOfDay__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    double arg2 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"od:DayTime_setSecOfDay self sod ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setSecOfDay(arg2);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setSecOfDay(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                double tmp;
+                if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                return _wrap_DayTime_setSecOfDay__SWIG_1(clientData, interp, objc, objv);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                double tmp;
+                if (Tcl_GetDoubleFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setSecOfDay__SWIG_0(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setSecOfDay'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYDoy__SWIG_0(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    DayTime::TimeFrame arg4 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oiii:DayTime_setYDoy self yy doy f ",NULL,&arg2,&arg3,&arg4) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setYDoy(arg2,arg3,(DayTime::TimeFrame )arg4);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYDoy__SWIG_1(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    DayTime *result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oii:DayTime_setYDoy self yy doy ",NULL,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        DayTime &_result_ref = (arg1)->setYDoy(arg2,arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setYDoy(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    Tcl_Obj *CONST *argv = objv+1;
+    int argc = objc-1;
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    return _wrap_DayTime_setYDoy__SWIG_1(clientData, interp, objc, objv);
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_DayTime, 0) == TCL_ERROR) {
+                _v = 0;
+            } else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                long tmp;
+                if (Tcl_GetLongFromObj(NULL,argv[1],&tmp) == TCL_ERROR) _v = 0;
+                else _v = 1;
+            }
+            if (_v) {
+                {
+                    long tmp;
+                    if (Tcl_GetLongFromObj(NULL,argv[2],&tmp) == TCL_ERROR) _v = 0;
+                    else _v = 1;
+                }
+                if (_v) {
+                    {
+                        long tmp;
+                        if (Tcl_GetLongFromObj(NULL,argv[3],&tmp) == TCL_ERROR) _v = 0;
+                        else _v = 1;
+                    }
+                    if (_v) {
+                        return _wrap_DayTime_setYDoy__SWIG_0(clientData, interp, objc, objv);
+                    }
+                }
+            }
+        }
+    }
+    
+    Tcl_SetResult(interp,(char *) "No matching function for overloaded 'DayTime_setYDoy'", TCL_STATIC);
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_setToString(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    std::string *arg2 = 0 ;
+    std::string *arg3 = 0 ;
+    DayTime *result;
+    std::string temp2 ;
+    std::string temp3 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"ooo:DayTime_setToString self str fmt ",NULL,NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        temp2 = std::string(Tcl_GetStringFromObj(objv[2],NULL));
+        arg2 = &temp2;
+    }
+    {
+        temp3 = std::string(Tcl_GetStringFromObj(objv[3],NULL));
+        arg3 = &temp3;
+    }
+    {
+        DayTime &_result_ref = (arg1)->setToString((std::string const &)*arg2,(std::string const &)*arg3);
+        result = (DayTime *) &_result_ref;
+    }
+    
+    Tcl_SetObjResult(interp,SWIG_NewInstanceObj((void *) result, SWIGTYPE_p_DayTime,0));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_DayTime_printString(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    char *arg2 = (char *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"os:DayTime_DayTime_printString self fmt ",NULL,&arg2) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((DayTime const *)arg1)->printf((char const *)arg2);
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_printf(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    std::string *arg2 = 0 ;
+    std::string result;
+    std::string temp2 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_printf self fmt ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    {
+        temp2 = std::string(Tcl_GetStringFromObj(objv[2],NULL));
+        arg2 = &temp2;
+    }
+    result = ((DayTime const *)arg1)->printf((std::string const &)*arg2);
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_asString(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    std::string result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:DayTime_asString self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    result = ((DayTime const *)arg1)->asString();
+    
+    {
+        Tcl_SetStringObj(Tcl_GetObjResult(interp),(char*)(&result)->c_str(),(&result)->length());
+    }
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_dump(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    std::ostream *arg2 = 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"oo:DayTime_dump self s ",NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_std__ostream,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    ((DayTime const *)arg1)->dump(*arg2);
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_convertJDtoCalendar(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    long arg1 ;
+    int *arg2 = 0 ;
+    int *arg3 = 0 ;
+    int *arg4 = 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"looo:DayTime_convertJDtoCalendar jd iyear imonth iday ",&arg1,NULL,NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[3], (void **) &arg3, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[4], (void **) &arg4, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    DayTime::convertJDtoCalendar(arg1,*arg2,*arg3,*arg4);
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_convertCalendarToJD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    int arg1 ;
+    int arg2 ;
+    int arg3 ;
+    long result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"iii:DayTime_convertCalendarToJD iyear imonth iday ",&arg1,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    result = (long)DayTime::convertCalendarToJD(arg1,arg2,arg3);
+    
+    Tcl_SetObjResult(interp,Tcl_NewIntObj((long) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_convertSODtoTime(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    double arg1 ;
+    int *arg2 = 0 ;
+    int *arg3 = 0 ;
+    double *arg4 = 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"dooo:DayTime_convertSODtoTime sod hh mm sec ",&arg1,NULL,NULL,NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[2], (void **) &arg2, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[3], (void **) &arg3, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[4], (void **) &arg4, SWIGTYPE_p_double,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    DayTime::convertSODtoTime(arg1,*arg2,*arg3,*arg4);
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_DayTime_convertTimeToSOD(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    int arg1 ;
+    int arg2 ;
+    double arg3 ;
+    double result;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"iid:DayTime_convertTimeToSOD hh mm sec ",&arg1,&arg2,&arg3) == TCL_ERROR) SWIG_fail;
+    result = (double)DayTime::convertTimeToSOD(arg1,arg2,arg3);
+    
+    Tcl_SetObjResult(interp,Tcl_NewDoubleObj((double) result));
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static int
+_wrap_delete_DayTime(ClientData clientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[]) {
+    DayTime *arg1 = (DayTime *) 0 ;
+    
+    if (SWIG_GetArgs(interp, objc, objv,"o:delete_DayTime self ",NULL) == TCL_ERROR) SWIG_fail;
+    if ((SWIG_ConvertPtr(objv[1], (void **) &arg1, SWIGTYPE_p_DayTime,SWIG_POINTER_EXCEPTION | 0) != TCL_OK)) SWIG_fail;
+    delete arg1;
+    
+    
+    return TCL_OK;
+    fail:
+    return TCL_ERROR;
+}
+
+
+static void swig_delete_DayTime(void *obj) {
+DayTime *arg1 = (DayTime *) obj;
+delete arg1;
+}
+static swig_method swig_DayTime_methods[] = {
+    {"setTolerance", _wrap_DayTime_setTolerance}, 
+    {"=", _wrap_DayTime_e___}, 
+    {"+", _wrap_DayTime_a___}, 
+    {"-", _wrap_DayTime_s___}, 
+    {"addSeconds", _wrap_DayTime_addSeconds}, 
+    {"addMilliSeconds", _wrap_DayTime_addMilliSeconds}, 
+    {"addMicroSeconds", _wrap_DayTime_addMicroSeconds}, 
+    {"operator_equal_to", _wrap_DayTime_operator_equal_to}, 
+    {"operator_not_equal_to", _wrap_DayTime_operator_not_equal_to}, 
+    {"operator_less_than", _wrap_DayTime_operator_less_than}, 
+    {"operator_greater_than", _wrap_DayTime_operator_greater_than}, 
+    {"operator_less_than_equal_to", _wrap_DayTime_operator_less_than_equal_to}, 
+    {"operator_greater_than_equal_to", _wrap_DayTime_operator_greater_than_equal_to}, 
+    {"setAllButTimeFrame", _wrap_DayTime_setAllButTimeFrame}, 
+    {"setTimeFrame", _wrap_DayTime_setTimeFrame}, 
+    {"getTimeFrame", _wrap_DayTime_getTimeFrame}, 
+    {"JD", _wrap_DayTime_JD}, 
+    {"MJD", _wrap_DayTime_MJD}, 
+    {"year", _wrap_DayTime_year}, 
+    {"month", _wrap_DayTime_month}, 
+    {"day", _wrap_DayTime_day}, 
+    {"dayOfWeek", _wrap_DayTime_dayOfWeek}, 
+    {"getYMD", _wrap_DayTime_getYMD}, 
+    {"hour", _wrap_DayTime_hour}, 
+    {"minute", _wrap_DayTime_minute}, 
+    {"second", _wrap_DayTime_second}, 
+    {"secOfDay", _wrap_DayTime_secOfDay}, 
+    {"GPS10bitweek", _wrap_DayTime_GPS10bitweek}, 
+    {"GPSzcount", _wrap_DayTime_GPSzcount}, 
+    {"GPSzcountFloor", _wrap_DayTime_GPSzcountFloor}, 
+    {"GPSsecond", _wrap_DayTime_GPSsecond}, 
+    {"GPSsow", _wrap_DayTime_GPSsow}, 
+    {"GPSday", _wrap_DayTime_GPSday}, 
+    {"GPSfullweek", _wrap_DayTime_GPSfullweek}, 
+    {"GPSyear", _wrap_DayTime_GPSyear}, 
+    {"DOYyear", _wrap_DayTime_DOYyear}, 
+    {"DOY", _wrap_DayTime_DOY}, 
+    {"DOYsecond", _wrap_DayTime_DOYsecond}, 
+    {"MJDdate", _wrap_DayTime_MJDdate}, 
+    {"getMJDasLongDouble", _wrap_DayTime_getMJDasLongDouble}, 
+    {"unixTime", _wrap_DayTime_unixTime}, 
+    {"fullZcount", _wrap_DayTime_fullZcount}, 
+    {"fullZcountFloor", _wrap_DayTime_fullZcountFloor}, 
+    {"setYMDHMS", _wrap_DayTime_setYMDHMS}, 
+    {"setGPS", _wrap_DayTime_setGPS}, 
+    {"setGPSfullweek", _wrap_DayTime_setGPSfullweek}, 
+    {"setGPSZcount", _wrap_DayTime_setGPSZcount}, 
+    {"setYDoySod", _wrap_DayTime_setYDoySod}, 
+    {"setMJD", _wrap_DayTime_setMJD}, 
+    {"setMJDdate", _wrap_DayTime_setMJDdate}, 
+    {"setUnix", _wrap_DayTime_setUnix}, 
+    {"setANSI", _wrap_DayTime_setANSI}, 
+    {"setSystemTime", _wrap_DayTime_setSystemTime}, 
+    {"setLocalTime", _wrap_DayTime_setLocalTime}, 
+    {"setYMD", _wrap_DayTime_setYMD}, 
+    {"setHMS", _wrap_DayTime_setHMS}, 
+    {"setSecOfDay", _wrap_DayTime_setSecOfDay}, 
+    {"setYDoy", _wrap_DayTime_setYDoy}, 
+    {"setToString", _wrap_DayTime_setToString}, 
+    {"DayTime_printString", _wrap_DayTime_DayTime_printString}, 
+    {"printf", _wrap_DayTime_printf}, 
+    {"asString", _wrap_DayTime_asString}, 
+    {"dump", _wrap_DayTime_dump}, 
+    {0,0}
+};
+static swig_attribute swig_DayTime_attributes[] = {
+    {0,0,0}
+};
+static swig_class *swig_DayTime_bases[] = {0};
+static char *swig_DayTime_base_names[] = {0};
+swig_class _wrap_class_DayTime = { "DayTime", &SWIGTYPE_p_DayTime,_wrap_new_DayTime, swig_delete_DayTime, swig_DayTime_methods, swig_DayTime_attributes, swig_DayTime_bases,swig_DayTime_base_names };
+
+static swig_command_info swig_commands[] = {
+    { SWIG_prefix "new_ExceptionLocation", (swig_wrapper_func) _wrap_new_ExceptionLocation, NULL},
+    { SWIG_prefix "delete_ExceptionLocation", (swig_wrapper_func) _wrap_delete_ExceptionLocation, NULL},
+    { SWIG_prefix "ExceptionLocation_getFileName", (swig_wrapper_func) _wrap_ExceptionLocation_getFileName, NULL},
+    { SWIG_prefix "ExceptionLocation_getFunctionName", (swig_wrapper_func) _wrap_ExceptionLocation_getFunctionName, NULL},
+    { SWIG_prefix "ExceptionLocation_getLineNumber", (swig_wrapper_func) _wrap_ExceptionLocation_getLineNumber, NULL},
+    { SWIG_prefix "ExceptionLocation_dump", (swig_wrapper_func) _wrap_ExceptionLocation_dump, NULL},
+    { SWIG_prefix "ExceptionLocation", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_ExceptionLocation},
+    { SWIG_prefix "new_Exception", (swig_wrapper_func) _wrap_new_Exception, NULL},
+    { SWIG_prefix "delete_Exception", (swig_wrapper_func) _wrap_delete_Exception, NULL},
+    { SWIG_prefix "Exception_=", (swig_wrapper_func) _wrap_Exception_e___, NULL},
+    { SWIG_prefix "Exception_terminate", (swig_wrapper_func) _wrap_Exception_terminate, NULL},
+    { SWIG_prefix "Exception_getErrorId", (swig_wrapper_func) _wrap_Exception_getErrorId, NULL},
+    { SWIG_prefix "Exception_setErrorId", (swig_wrapper_func) _wrap_Exception_setErrorId, NULL},
+    { SWIG_prefix "Exception_addLocation", (swig_wrapper_func) _wrap_Exception_addLocation, NULL},
+    { SWIG_prefix "Exception_getLocation", (swig_wrapper_func) _wrap_Exception_getLocation, NULL},
+    { SWIG_prefix "Exception_getLocationCount", (swig_wrapper_func) _wrap_Exception_getLocationCount, NULL},
+    { SWIG_prefix "Exception_isRecoverable", (swig_wrapper_func) _wrap_Exception_isRecoverable, NULL},
+    { SWIG_prefix "Exception_setSeverity", (swig_wrapper_func) _wrap_Exception_setSeverity, NULL},
+    { SWIG_prefix "Exception_addText", (swig_wrapper_func) _wrap_Exception_addText, NULL},
+    { SWIG_prefix "Exception_getText", (swig_wrapper_func) _wrap_Exception_getText, NULL},
+    { SWIG_prefix "Exception_getTextCount", (swig_wrapper_func) _wrap_Exception_getTextCount, NULL},
+    { SWIG_prefix "Exception_getName", (swig_wrapper_func) _wrap_Exception_getName, NULL},
+    { SWIG_prefix "Exception_dump", (swig_wrapper_func) _wrap_Exception_dump, NULL},
+    { SWIG_prefix "Exception", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_Exception},
+    { SWIG_prefix "new_InvalidParameter", (swig_wrapper_func) _wrap_new_InvalidParameter, NULL},
+    { SWIG_prefix "delete_InvalidParameter", (swig_wrapper_func) _wrap_delete_InvalidParameter, NULL},
+    { SWIG_prefix "InvalidParameter_getName", (swig_wrapper_func) _wrap_InvalidParameter_getName, NULL},
+    { SWIG_prefix "InvalidParameter_=", (swig_wrapper_func) _wrap_InvalidParameter_e___, NULL},
+    { SWIG_prefix "InvalidParameter", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_InvalidParameter},
+    { SWIG_prefix "new_InvalidRequest", (swig_wrapper_func) _wrap_new_InvalidRequest, NULL},
+    { SWIG_prefix "delete_InvalidRequest", (swig_wrapper_func) _wrap_delete_InvalidRequest, NULL},
+    { SWIG_prefix "InvalidRequest_getName", (swig_wrapper_func) _wrap_InvalidRequest_getName, NULL},
+    { SWIG_prefix "InvalidRequest_=", (swig_wrapper_func) _wrap_InvalidRequest_e___, NULL},
+    { SWIG_prefix "InvalidRequest", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_InvalidRequest},
+    { SWIG_prefix "new_AssertionFailure", (swig_wrapper_func) _wrap_new_AssertionFailure, NULL},
+    { SWIG_prefix "delete_AssertionFailure", (swig_wrapper_func) _wrap_delete_AssertionFailure, NULL},
+    { SWIG_prefix "AssertionFailure_getName", (swig_wrapper_func) _wrap_AssertionFailure_getName, NULL},
+    { SWIG_prefix "AssertionFailure_=", (swig_wrapper_func) _wrap_AssertionFailure_e___, NULL},
+    { SWIG_prefix "AssertionFailure", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_AssertionFailure},
+    { SWIG_prefix "new_AccessError", (swig_wrapper_func) _wrap_new_AccessError, NULL},
+    { SWIG_prefix "delete_AccessError", (swig_wrapper_func) _wrap_delete_AccessError, NULL},
+    { SWIG_prefix "AccessError_getName", (swig_wrapper_func) _wrap_AccessError_getName, NULL},
+    { SWIG_prefix "AccessError_=", (swig_wrapper_func) _wrap_AccessError_e___, NULL},
+    { SWIG_prefix "AccessError", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_AccessError},
+    { SWIG_prefix "new_IndexOutOfBoundsException", (swig_wrapper_func) _wrap_new_IndexOutOfBoundsException, NULL},
+    { SWIG_prefix "delete_IndexOutOfBoundsException", (swig_wrapper_func) _wrap_delete_IndexOutOfBoundsException, NULL},
+    { SWIG_prefix "IndexOutOfBoundsException_getName", (swig_wrapper_func) _wrap_IndexOutOfBoundsException_getName, NULL},
+    { SWIG_prefix "IndexOutOfBoundsException_=", (swig_wrapper_func) _wrap_IndexOutOfBoundsException_e___, NULL},
+    { SWIG_prefix "IndexOutOfBoundsException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_IndexOutOfBoundsException},
+    { SWIG_prefix "new_InvalidArgumentException", (swig_wrapper_func) _wrap_new_InvalidArgumentException, NULL},
+    { SWIG_prefix "delete_InvalidArgumentException", (swig_wrapper_func) _wrap_delete_InvalidArgumentException, NULL},
+    { SWIG_prefix "InvalidArgumentException_getName", (swig_wrapper_func) _wrap_InvalidArgumentException_getName, NULL},
+    { SWIG_prefix "InvalidArgumentException_=", (swig_wrapper_func) _wrap_InvalidArgumentException_e___, NULL},
+    { SWIG_prefix "InvalidArgumentException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_InvalidArgumentException},
+    { SWIG_prefix "new_ConfigurationException", (swig_wrapper_func) _wrap_new_ConfigurationException, NULL},
+    { SWIG_prefix "delete_ConfigurationException", (swig_wrapper_func) _wrap_delete_ConfigurationException, NULL},
+    { SWIG_prefix "ConfigurationException_getName", (swig_wrapper_func) _wrap_ConfigurationException_getName, NULL},
+    { SWIG_prefix "ConfigurationException_=", (swig_wrapper_func) _wrap_ConfigurationException_e___, NULL},
+    { SWIG_prefix "ConfigurationException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_ConfigurationException},
+    { SWIG_prefix "new_FileMissingException", (swig_wrapper_func) _wrap_new_FileMissingException, NULL},
+    { SWIG_prefix "delete_FileMissingException", (swig_wrapper_func) _wrap_delete_FileMissingException, NULL},
+    { SWIG_prefix "FileMissingException_getName", (swig_wrapper_func) _wrap_FileMissingException_getName, NULL},
+    { SWIG_prefix "FileMissingException_=", (swig_wrapper_func) _wrap_FileMissingException_e___, NULL},
+    { SWIG_prefix "FileMissingException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_FileMissingException},
+    { SWIG_prefix "new_SystemSemaphoreException", (swig_wrapper_func) _wrap_new_SystemSemaphoreException, NULL},
+    { SWIG_prefix "delete_SystemSemaphoreException", (swig_wrapper_func) _wrap_delete_SystemSemaphoreException, NULL},
+    { SWIG_prefix "SystemSemaphoreException_getName", (swig_wrapper_func) _wrap_SystemSemaphoreException_getName, NULL},
+    { SWIG_prefix "SystemSemaphoreException_=", (swig_wrapper_func) _wrap_SystemSemaphoreException_e___, NULL},
+    { SWIG_prefix "SystemSemaphoreException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_SystemSemaphoreException},
+    { SWIG_prefix "new_SystemPipeException", (swig_wrapper_func) _wrap_new_SystemPipeException, NULL},
+    { SWIG_prefix "delete_SystemPipeException", (swig_wrapper_func) _wrap_delete_SystemPipeException, NULL},
+    { SWIG_prefix "SystemPipeException_getName", (swig_wrapper_func) _wrap_SystemPipeException_getName, NULL},
+    { SWIG_prefix "SystemPipeException_=", (swig_wrapper_func) _wrap_SystemPipeException_e___, NULL},
+    { SWIG_prefix "SystemPipeException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_SystemPipeException},
+    { SWIG_prefix "new_SystemQueueException", (swig_wrapper_func) _wrap_new_SystemQueueException, NULL},
+    { SWIG_prefix "delete_SystemQueueException", (swig_wrapper_func) _wrap_delete_SystemQueueException, NULL},
+    { SWIG_prefix "SystemQueueException_getName", (swig_wrapper_func) _wrap_SystemQueueException_getName, NULL},
+    { SWIG_prefix "SystemQueueException_=", (swig_wrapper_func) _wrap_SystemQueueException_e___, NULL},
+    { SWIG_prefix "SystemQueueException", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_SystemQueueException},
+    { SWIG_prefix "new_OutOfMemory", (swig_wrapper_func) _wrap_new_OutOfMemory, NULL},
+    { SWIG_prefix "delete_OutOfMemory", (swig_wrapper_func) _wrap_delete_OutOfMemory, NULL},
+    { SWIG_prefix "OutOfMemory_getName", (swig_wrapper_func) _wrap_OutOfMemory_getName, NULL},
+    { SWIG_prefix "OutOfMemory_=", (swig_wrapper_func) _wrap_OutOfMemory_e___, NULL},
+    { SWIG_prefix "OutOfMemory", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_OutOfMemory},
+    { SWIG_prefix "new_ObjectNotFound", (swig_wrapper_func) _wrap_new_ObjectNotFound, NULL},
+    { SWIG_prefix "delete_ObjectNotFound", (swig_wrapper_func) _wrap_delete_ObjectNotFound, NULL},
+    { SWIG_prefix "ObjectNotFound_getName", (swig_wrapper_func) _wrap_ObjectNotFound_getName, NULL},
+    { SWIG_prefix "ObjectNotFound_=", (swig_wrapper_func) _wrap_ObjectNotFound_e___, NULL},
+    { SWIG_prefix "istream", (swig_wrapper_func) _wrap_istream, NULL},
+    { SWIG_prefix "ObjectNotFound", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_ObjectNotFound},
+    { SWIG_prefix "delete_GPSZcount", (swig_wrapper_func) _wrap_delete_GPSZcount, NULL},
+    { SWIG_prefix "new_GPSZcount", (swig_wrapper_func) _wrap_new_GPSZcount, NULL},
+    { SWIG_prefix "GPSZcount_getWeek", (swig_wrapper_func) _wrap_GPSZcount_getWeek, NULL},
+    { SWIG_prefix "GPSZcount_getZcount", (swig_wrapper_func) _wrap_GPSZcount_getZcount, NULL},
+    { SWIG_prefix "GPSZcount_getFullZcount", (swig_wrapper_func) _wrap_GPSZcount_getFullZcount, NULL},
+    { SWIG_prefix "GPSZcount_getTotalZcounts", (swig_wrapper_func) _wrap_GPSZcount_getTotalZcounts, NULL},
+    { SWIG_prefix "GPSZcount_setWeek", (swig_wrapper_func) _wrap_GPSZcount_setWeek, NULL},
+    { SWIG_prefix "GPSZcount_setZcount", (swig_wrapper_func) _wrap_GPSZcount_setZcount, NULL},
+    { SWIG_prefix "GPSZcount_setFullZcount", (swig_wrapper_func) _wrap_GPSZcount_setFullZcount, NULL},
+    { SWIG_prefix "GPSZcount_addWeeks", (swig_wrapper_func) _wrap_GPSZcount_addWeeks, NULL},
+    { SWIG_prefix "GPSZcount_addZcounts", (swig_wrapper_func) _wrap_GPSZcount_addZcounts, NULL},
+    { SWIG_prefix "GPSZcount_+", (swig_wrapper_func) _wrap_GPSZcount_a___, NULL},
+    { SWIG_prefix "GPSZcount_-", (swig_wrapper_func) _wrap_GPSZcount_s___, NULL},
+    { SWIG_prefix "GPSZcount_=", (swig_wrapper_func) _wrap_GPSZcount_e___, NULL},
+    { SWIG_prefix "GPSZcount_operator_less_than", (swig_wrapper_func) _wrap_GPSZcount_operator_less_than, NULL},
+    { SWIG_prefix "GPSZcount_operator_greater_than", (swig_wrapper_func) _wrap_GPSZcount_operator_greater_than, NULL},
+    { SWIG_prefix "GPSZcount_operator_equal_to", (swig_wrapper_func) _wrap_GPSZcount_operator_equal_to, NULL},
+    { SWIG_prefix "GPSZcount_operator_not_equal_to", (swig_wrapper_func) _wrap_GPSZcount_operator_not_equal_to, NULL},
+    { SWIG_prefix "GPSZcount_operator_less_than_equal_to", (swig_wrapper_func) _wrap_GPSZcount_operator_less_than_equal_to, NULL},
+    { SWIG_prefix "GPSZcount_operator_greater_than_equal_to", (swig_wrapper_func) _wrap_GPSZcount_operator_greater_than_equal_to, NULL},
+    { SWIG_prefix "GPSZcount_inSameTimeBlock", (swig_wrapper_func) _wrap_GPSZcount_inSameTimeBlock, NULL},
+    { SWIG_prefix "GPSZcount_dump", (swig_wrapper_func) _wrap_GPSZcount_dump, NULL},
+    { SWIG_prefix "GPSZcount", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_gpstk_GPSZcount},
+    { SWIG_prefix "<<", (swig_wrapper_func) _wrap_ll___, NULL},
+    { SWIG_prefix "DayTime_setDayTimeTolerance", (swig_wrapper_func) _wrap_DayTime_setDayTimeTolerance, NULL},
+    { SWIG_prefix "DayTime_getDayTimeTolerance", (swig_wrapper_func) _wrap_DayTime_getDayTimeTolerance, NULL},
+    { SWIG_prefix "DayTime_setTolerance", (swig_wrapper_func) _wrap_DayTime_setTolerance, NULL},
+    { SWIG_prefix "new_DayTime", (swig_wrapper_func) _wrap_new_DayTime, NULL},
+    { SWIG_prefix "DayTime_=", (swig_wrapper_func) _wrap_DayTime_e___, NULL},
+    { SWIG_prefix "DayTime_+", (swig_wrapper_func) _wrap_DayTime_a___, NULL},
+    { SWIG_prefix "DayTime_-", (swig_wrapper_func) _wrap_DayTime_s___, NULL},
+    { SWIG_prefix "DayTime_addSeconds", (swig_wrapper_func) _wrap_DayTime_addSeconds, NULL},
+    { SWIG_prefix "DayTime_addMilliSeconds", (swig_wrapper_func) _wrap_DayTime_addMilliSeconds, NULL},
+    { SWIG_prefix "DayTime_addMicroSeconds", (swig_wrapper_func) _wrap_DayTime_addMicroSeconds, NULL},
+    { SWIG_prefix "DayTime_operator_equal_to", (swig_wrapper_func) _wrap_DayTime_operator_equal_to, NULL},
+    { SWIG_prefix "DayTime_operator_not_equal_to", (swig_wrapper_func) _wrap_DayTime_operator_not_equal_to, NULL},
+    { SWIG_prefix "DayTime_operator_less_than", (swig_wrapper_func) _wrap_DayTime_operator_less_than, NULL},
+    { SWIG_prefix "DayTime_operator_greater_than", (swig_wrapper_func) _wrap_DayTime_operator_greater_than, NULL},
+    { SWIG_prefix "DayTime_operator_less_than_equal_to", (swig_wrapper_func) _wrap_DayTime_operator_less_than_equal_to, NULL},
+    { SWIG_prefix "DayTime_operator_greater_than_equal_to", (swig_wrapper_func) _wrap_DayTime_operator_greater_than_equal_to, NULL},
+    { SWIG_prefix "DayTime_setAllButTimeFrame", (swig_wrapper_func) _wrap_DayTime_setAllButTimeFrame, NULL},
+    { SWIG_prefix "DayTime_setTimeFrame", (swig_wrapper_func) _wrap_DayTime_setTimeFrame, NULL},
+    { SWIG_prefix "DayTime_getTimeFrame", (swig_wrapper_func) _wrap_DayTime_getTimeFrame, NULL},
+    { SWIG_prefix "DayTime_JD", (swig_wrapper_func) _wrap_DayTime_JD, NULL},
+    { SWIG_prefix "DayTime_MJD", (swig_wrapper_func) _wrap_DayTime_MJD, NULL},
+    { SWIG_prefix "DayTime_year", (swig_wrapper_func) _wrap_DayTime_year, NULL},
+    { SWIG_prefix "DayTime_month", (swig_wrapper_func) _wrap_DayTime_month, NULL},
+    { SWIG_prefix "DayTime_day", (swig_wrapper_func) _wrap_DayTime_day, NULL},
+    { SWIG_prefix "DayTime_dayOfWeek", (swig_wrapper_func) _wrap_DayTime_dayOfWeek, NULL},
+    { SWIG_prefix "DayTime_getYMD", (swig_wrapper_func) _wrap_DayTime_getYMD, NULL},
+    { SWIG_prefix "DayTime_hour", (swig_wrapper_func) _wrap_DayTime_hour, NULL},
+    { SWIG_prefix "DayTime_minute", (swig_wrapper_func) _wrap_DayTime_minute, NULL},
+    { SWIG_prefix "DayTime_second", (swig_wrapper_func) _wrap_DayTime_second, NULL},
+    { SWIG_prefix "DayTime_secOfDay", (swig_wrapper_func) _wrap_DayTime_secOfDay, NULL},
+    { SWIG_prefix "DayTime_GPS10bitweek", (swig_wrapper_func) _wrap_DayTime_GPS10bitweek, NULL},
+    { SWIG_prefix "DayTime_GPSzcount", (swig_wrapper_func) _wrap_DayTime_GPSzcount, NULL},
+    { SWIG_prefix "DayTime_GPSzcountFloor", (swig_wrapper_func) _wrap_DayTime_GPSzcountFloor, NULL},
+    { SWIG_prefix "DayTime_GPSsecond", (swig_wrapper_func) _wrap_DayTime_GPSsecond, NULL},
+    { SWIG_prefix "DayTime_GPSsow", (swig_wrapper_func) _wrap_DayTime_GPSsow, NULL},
+    { SWIG_prefix "DayTime_GPSday", (swig_wrapper_func) _wrap_DayTime_GPSday, NULL},
+    { SWIG_prefix "DayTime_GPSfullweek", (swig_wrapper_func) _wrap_DayTime_GPSfullweek, NULL},
+    { SWIG_prefix "DayTime_GPSyear", (swig_wrapper_func) _wrap_DayTime_GPSyear, NULL},
+    { SWIG_prefix "DayTime_DOYyear", (swig_wrapper_func) _wrap_DayTime_DOYyear, NULL},
+    { SWIG_prefix "DayTime_DOY", (swig_wrapper_func) _wrap_DayTime_DOY, NULL},
+    { SWIG_prefix "DayTime_DOYsecond", (swig_wrapper_func) _wrap_DayTime_DOYsecond, NULL},
+    { SWIG_prefix "DayTime_MJDdate", (swig_wrapper_func) _wrap_DayTime_MJDdate, NULL},
+    { SWIG_prefix "DayTime_getMJDasLongDouble", (swig_wrapper_func) _wrap_DayTime_getMJDasLongDouble, NULL},
+    { SWIG_prefix "DayTime_unixTime", (swig_wrapper_func) _wrap_DayTime_unixTime, NULL},
+    { SWIG_prefix "DayTime_fullZcount", (swig_wrapper_func) _wrap_DayTime_fullZcount, NULL},
+    { SWIG_prefix "DayTime_fullZcountFloor", (swig_wrapper_func) _wrap_DayTime_fullZcountFloor, NULL},
+    { SWIG_prefix "DayTime_setYMDHMS", (swig_wrapper_func) _wrap_DayTime_setYMDHMS, NULL},
+    { SWIG_prefix "DayTime_setGPS", (swig_wrapper_func) _wrap_DayTime_setGPS, NULL},
+    { SWIG_prefix "DayTime_setGPSfullweek", (swig_wrapper_func) _wrap_DayTime_setGPSfullweek, NULL},
+    { SWIG_prefix "DayTime_setGPSZcount", (swig_wrapper_func) _wrap_DayTime_setGPSZcount, NULL},
+    { SWIG_prefix "DayTime_setYDoySod", (swig_wrapper_func) _wrap_DayTime_setYDoySod, NULL},
+    { SWIG_prefix "DayTime_setMJD", (swig_wrapper_func) _wrap_DayTime_setMJD, NULL},
+    { SWIG_prefix "DayTime_setMJDdate", (swig_wrapper_func) _wrap_DayTime_setMJDdate, NULL},
+    { SWIG_prefix "DayTime_setUnix", (swig_wrapper_func) _wrap_DayTime_setUnix, NULL},
+    { SWIG_prefix "DayTime_setANSI", (swig_wrapper_func) _wrap_DayTime_setANSI, NULL},
+    { SWIG_prefix "DayTime_setSystemTime", (swig_wrapper_func) _wrap_DayTime_setSystemTime, NULL},
+    { SWIG_prefix "DayTime_setLocalTime", (swig_wrapper_func) _wrap_DayTime_setLocalTime, NULL},
+    { SWIG_prefix "DayTime_setYMD", (swig_wrapper_func) _wrap_DayTime_setYMD, NULL},
+    { SWIG_prefix "DayTime_setHMS", (swig_wrapper_func) _wrap_DayTime_setHMS, NULL},
+    { SWIG_prefix "DayTime_setSecOfDay", (swig_wrapper_func) _wrap_DayTime_setSecOfDay, NULL},
+    { SWIG_prefix "DayTime_setYDoy", (swig_wrapper_func) _wrap_DayTime_setYDoy, NULL},
+    { SWIG_prefix "DayTime_setToString", (swig_wrapper_func) _wrap_DayTime_setToString, NULL},
+    { SWIG_prefix "DayTime_DayTime_printString", (swig_wrapper_func) _wrap_DayTime_DayTime_printString, NULL},
+    { SWIG_prefix "DayTime_printf", (swig_wrapper_func) _wrap_DayTime_printf, NULL},
+    { SWIG_prefix "DayTime_asString", (swig_wrapper_func) _wrap_DayTime_asString, NULL},
+    { SWIG_prefix "DayTime_dump", (swig_wrapper_func) _wrap_DayTime_dump, NULL},
+    { SWIG_prefix "DayTime_convertJDtoCalendar", (swig_wrapper_func) _wrap_DayTime_convertJDtoCalendar, NULL},
+    { SWIG_prefix "DayTime_convertCalendarToJD", (swig_wrapper_func) _wrap_DayTime_convertCalendarToJD, NULL},
+    { SWIG_prefix "DayTime_convertSODtoTime", (swig_wrapper_func) _wrap_DayTime_convertSODtoTime, NULL},
+    { SWIG_prefix "DayTime_convertTimeToSOD", (swig_wrapper_func) _wrap_DayTime_convertTimeToSOD, NULL},
+    { SWIG_prefix "delete_DayTime", (swig_wrapper_func) _wrap_delete_DayTime, NULL},
+    { SWIG_prefix "DayTime", (swig_wrapper_func) SWIG_ObjectConstructor, &_wrap_class_DayTime},
+    {0, 0, 0}
+};
+
+static swig_var_info swig_variables[] = {
+    { SWIG_prefix "GPSZcount_ZCOUNT_MINUTE", 0, (swig_variable_func) _wrap_GPSZcount_ZCOUNT_MINUTE_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "GPSZcount_ZCOUNT_HOUR", 0, (swig_variable_func) _wrap_GPSZcount_ZCOUNT_HOUR_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "GPSZcount_ZCOUNT_DAY", 0, (swig_variable_func) _wrap_GPSZcount_ZCOUNT_DAY_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "GPSZcount_ZCOUNT_WEEK", 0, (swig_variable_func) _wrap_GPSZcount_ZCOUNT_WEEK_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_FACTOR", 0, (swig_variable_func) _wrap_DayTime_FACTOR_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_JD_TO_MJD", 0, (swig_variable_func) _wrap_DayTime_JD_TO_MJD_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_MJD_JDAY", 0, (swig_variable_func) _wrap_DayTime_MJD_JDAY_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_GPS_EPOCH_JDAY", 0, (swig_variable_func) _wrap_DayTime_GPS_EPOCH_JDAY_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_GPS_EPOCH_MJD", 0, (swig_variable_func) _wrap_DayTime_GPS_EPOCH_MJD_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_UNIX_MJD", 0, (swig_variable_func) _wrap_DayTime_UNIX_MJD_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_HALFWEEK", 0, (swig_variable_func) _wrap_DayTime_HALFWEEK_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_FULLWEEK", 0, (swig_variable_func) _wrap_DayTime_FULLWEEK_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_SEC_DAY", 0, (swig_variable_func) _wrap_DayTime_SEC_DAY_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_MS_PER_DAY", 0, (swig_variable_func) _wrap_DayTime_MS_PER_DAY_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_ONE_NSEC_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_ONE_NSEC_TOLERANCE_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_ONE_USEC_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_ONE_USEC_TOLERANCE_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_ONE_MSEC_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_ONE_MSEC_TOLERANCE_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_ONE_SEC_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_ONE_SEC_TOLERANCE_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_ONE_MIN_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_ONE_MIN_TOLERANCE_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_ONE_HOUR_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_ONE_HOUR_TOLERANCE_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_DAYTIME_TOLERANCE", 0, (swig_variable_func) _wrap_DayTime_DAYTIME_TOLERANCE_get,(swig_variable_func) _wrap_DayTime_DAYTIME_TOLERANCE_set},
+    { SWIG_prefix "DayTime_BEGIN_LIMIT_JDAY", 0, (swig_variable_func) _wrap_DayTime_BEGIN_LIMIT_JDAY_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_END_LIMIT_JDAY", 0, (swig_variable_func) _wrap_DayTime_END_LIMIT_JDAY_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_BEGINNING_OF_TIME", 0, (swig_variable_func) _wrap_DayTime_BEGINNING_OF_TIME_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_END_OF_TIME", 0, (swig_variable_func) _wrap_DayTime_END_OF_TIME_get,(swig_variable_func) swig_readonly},
+    { SWIG_prefix "DayTime_DAYTIME_TEST_VALID", 0, (swig_variable_func) _wrap_DayTime_DAYTIME_TEST_VALID_get,(swig_variable_func) _wrap_DayTime_DAYTIME_TEST_VALID_set},
+    {0,0,0,0}
+};
+
+static swig_const_info swig_constants[] = {
+{ SWIG_TCL_INT,     (char *)"Exception_unrecoverable", (long) gpstk::Exception::unrecoverable, 0, 0, 0},
+{ SWIG_TCL_INT,     (char *)"Exception_recoverable", (long) gpstk::Exception::recoverable, 0, 0, 0},
+{ SWIG_TCL_INT,     (char *)"DayTime_Unknown", (long) DayTime::Unknown, 0, 0, 0},
+{ SWIG_TCL_INT,     (char *)"DayTime_UTC", (long) DayTime::UTC, 0, 0, 0},
+{ SWIG_TCL_INT,     (char *)"DayTime_LocalSystem", (long) DayTime::LocalSystem, 0, 0, 0},
+{ SWIG_TCL_INT,     (char *)"DayTime_GPS_Tx", (long) DayTime::GPS_Tx, 0, 0, 0},
+{ SWIG_TCL_INT,     (char *)"DayTime_GPS_Rx", (long) DayTime::GPS_Rx, 0, 0, 0},
+{ SWIG_TCL_INT,     (char *)"DayTime_GPS_SV", (long) DayTime::GPS_SV, 0, 0, 0},
+{ SWIG_TCL_INT,     (char *)"DayTime_GPS_Receiver", (long) DayTime::GPS_Receiver, 0, 0, 0},
+    {0,0,0,0,0,0}
+};
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+static void *_p_gpstk__InvalidRequestTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::InvalidRequest *) x));
+}
+static void *_p_gpstk__IndexOutOfBoundsExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::IndexOutOfBoundsException *) x));
+}
+static void *_p_gpstk__InvalidArgumentExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::InvalidArgumentException *) x));
+}
+static void *_p_gpstk__ConfigurationExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::ConfigurationException *) x));
+}
+static void *_p_gpstk__FileMissingExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::FileMissingException *) x));
+}
+static void *_p_gpstk__SystemSemaphoreExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::SystemSemaphoreException *) x));
+}
+static void *_p_gpstk__SystemPipeExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::SystemPipeException *) x));
+}
+static void *_p_gpstk__SystemQueueExceptionTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::SystemQueueException *) x));
+}
+static void *_p_gpstk__OutOfMemoryTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::OutOfMemory *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *) (gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__InvalidParameterTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::InvalidParameter *) x));
+}
+static void *_p_gpstk__AccessErrorTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::AccessError *) x));
+}
+static void *_p_gpstk__AssertionFailureTo_p_gpstk__Exception(void *x) {
+    return (void *)((gpstk::Exception *)  ((gpstk::AssertionFailure *) x));
+}
+static void *_p_gpstk__AccessErrorTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::AccessError *) x));
+}
+static void *_p_gpstk__InvalidParameterTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::InvalidParameter *) x));
+}
+static void *_p_gpstk__OutOfMemoryTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::OutOfMemory *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *)(gpstk::AccessError *) ((gpstk::ObjectNotFound *) x));
+}
+static void *_p_gpstk__SystemQueueExceptionTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::SystemQueueException *) x));
+}
+static void *_p_gpstk__SystemPipeExceptionTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::SystemPipeException *) x));
+}
+static void *_p_gpstk__SystemSemaphoreExceptionTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::SystemSemaphoreException *) x));
+}
+static void *_p_gpstk__FileMissingExceptionTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::FileMissingException *) x));
+}
+static void *_p_gpstk__ConfigurationExceptionTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::ConfigurationException *) x));
+}
+static void *_p_gpstk__InvalidArgumentExceptionTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::InvalidArgumentException *) x));
+}
+static void *_p_gpstk__IndexOutOfBoundsExceptionTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::IndexOutOfBoundsException *) x));
+}
+static void *_p_gpstk__ExceptionTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *)  ((gpstk::Exception *) x));
+}
+static void *_p_gpstk__InvalidRequestTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::InvalidRequest *) x));
+}
+static void *_p_gpstk__AssertionFailureTo_p_std__ostream(void *x) {
+    return (void *)((std::ostream *) (gpstk::Exception *) ((gpstk::AssertionFailure *) x));
+}
+static void *_p_gpstk__ObjectNotFoundTo_p_gpstk__AccessError(void *x) {
+    return (void *)((gpstk::AccessError *)  ((gpstk::ObjectNotFound *) x));
+}
+static swig_type_info _swigt__p_gpstk__AccessError[] = {{"_p_gpstk__AccessError", 0, "gpstk::AccessError *", &_wrap_class_gpstk_AccessError, 0, 0, 0},{"_p_gpstk__ObjectNotFound", _p_gpstk__ObjectNotFoundTo_p_gpstk__AccessError, 0, 0, 0, 0, 0},{"_p_gpstk__AccessError", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_size_t[] = {{"_p_size_t", 0, "size_t *", 0, 0, 0, 0},{"_p_size_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__std__size_t[] = {{"_std__size_t", 0, "std::size_t", 0, 0, 0, 0},{"_std__size_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__size_t[] = {{"_size_t", 0, "size_t", 0, 0, 0, 0},{"_size_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__InvalidParameter[] = {{"_p_gpstk__InvalidParameter", 0, "gpstk::InvalidParameter *", &_wrap_class_gpstk_InvalidParameter, 0, 0, 0},{"_p_gpstk__InvalidParameter", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_DayTime[] = {{"_p_DayTime", 0, "DayTime *", &_wrap_class_DayTime, 0, 0, 0},{"_p_DayTime", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__OutOfMemory[] = {{"_p_gpstk__OutOfMemory", 0, "gpstk::OutOfMemory *", &_wrap_class_gpstk_OutOfMemory, 0, 0, 0},{"_p_gpstk__OutOfMemory", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__ExceptionLocation[] = {{"_p_gpstk__ExceptionLocation", 0, "gpstk::ExceptionLocation *", &_wrap_class_gpstk_ExceptionLocation, 0, 0, 0},{"_p_gpstk__ExceptionLocation", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__GPSZcount[] = {{"_p_gpstk__GPSZcount", 0, "gpstk::GPSZcount *", &_wrap_class_gpstk_GPSZcount, 0, 0, 0},{"_p_gpstk__GPSZcount", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_long_double[] = {{"_p_long_double", 0, "long double *", 0, 0, 0, 0},{"_p_long_double", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_GPSZcount[] = {{"_p_GPSZcount", 0, "GPSZcount *", 0, 0, 0, 0},{"_p_GPSZcount", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_double[] = {{"_p_double", 0, "double *", 0, 0, 0, 0},{"_p_double", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_time_t[] = {{"_p_time_t", 0, "time_t *", 0, 0, 0, 0},{"_p_time_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__ObjectNotFound[] = {{"_p_gpstk__ObjectNotFound", 0, "gpstk::ObjectNotFound *", &_wrap_class_gpstk_ObjectNotFound, 0, 0, 0},{"_p_gpstk__ObjectNotFound", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_std__ostream[] = {{"_p_std__ostream", 0, "std::ostream *", 0, 0, 0, 0},{"_p_gpstk__AccessError", _p_gpstk__AccessErrorTo_p_std__ostream, 0, 0, 0, 0, 0},{"_p_gpstk__InvalidParameter", _p_gpstk__InvalidParameterTo_p_std__ostream, 0, 0, 0, 0, 0},{"_p_gpstk__OutOfMemory", _p_gpstk__OutOfMemoryTo_p_std__ostream, 0, 0, 0, 0, 0},{"_p_gpstk__ObjectNotFound", _p_gpstk__ObjectNotFoundTo_p_std__ostream, 0, 0, 0, 0, 0},{"_p_std__ostream", 0, 0, 0, 0, 0, 0},{"_p_gpstk_ [...]
+static swig_type_info _swigt__p_gpstk__InvalidArgumentException[] = {{"_p_gpstk__InvalidArgumentException", 0, "gpstk::InvalidArgumentException *", &_wrap_class_gpstk_InvalidArgumentException, 0, 0, 0},{"_p_gpstk__InvalidArgumentException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__IndexOutOfBoundsException[] = {{"_p_gpstk__IndexOutOfBoundsException", 0, "gpstk::IndexOutOfBoundsException *", &_wrap_class_gpstk_IndexOutOfBoundsException, 0, 0, 0},{"_p_gpstk__IndexOutOfBoundsException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__Exception[] = {{"_p_gpstk__Exception", 0, "gpstk::Exception *", &_wrap_class_gpstk_Exception, 0, 0, 0},{"_p_gpstk__AccessError", _p_gpstk__AccessErrorTo_p_gpstk__Exception, 0, 0, 0, 0, 0},{"_p_gpstk__InvalidParameter", _p_gpstk__InvalidParameterTo_p_gpstk__Exception, 0, 0, 0, 0, 0},{"_p_gpstk__OutOfMemory", _p_gpstk__OutOfMemoryTo_p_gpstk__Exception, 0, 0, 0, 0, 0},{"_p_gpstk__ObjectNotFound", _p_gpstk__ObjectNotFoundTo_p_gpstk__Exception, 0, 0, 0,  [...]
+static swig_type_info _swigt__p_gpstk__ConfigurationException[] = {{"_p_gpstk__ConfigurationException", 0, "gpstk::ConfigurationException *", &_wrap_class_gpstk_ConfigurationException, 0, 0, 0},{"_p_gpstk__ConfigurationException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__FileMissingException[] = {{"_p_gpstk__FileMissingException", 0, "gpstk::FileMissingException *", &_wrap_class_gpstk_FileMissingException, 0, 0, 0},{"_p_gpstk__FileMissingException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__SystemSemaphoreException[] = {{"_p_gpstk__SystemSemaphoreException", 0, "gpstk::SystemSemaphoreException *", &_wrap_class_gpstk_SystemSemaphoreException, 0, 0, 0},{"_p_gpstk__SystemSemaphoreException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__SystemPipeException[] = {{"_p_gpstk__SystemPipeException", 0, "gpstk::SystemPipeException *", &_wrap_class_gpstk_SystemPipeException, 0, 0, 0},{"_p_gpstk__SystemPipeException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__SystemQueueException[] = {{"_p_gpstk__SystemQueueException", 0, "gpstk::SystemQueueException *", &_wrap_class_gpstk_SystemQueueException, 0, 0, 0},{"_p_gpstk__SystemQueueException", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_timeval[] = {{"_p_timeval", 0, "timeval *", 0, 0, 0, 0},{"_p_timeval", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__std__ptrdiff_t[] = {{"_std__ptrdiff_t", 0, "std::ptrdiff_t", 0, 0, 0, 0},{"_std__ptrdiff_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__ptrdiff_t[] = {{"_ptrdiff_t", 0, "ptrdiff_t", 0, 0, 0, 0},{"_ptrdiff_t", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__InvalidRequest[] = {{"_p_gpstk__InvalidRequest", 0, "gpstk::InvalidRequest *", &_wrap_class_gpstk_InvalidRequest, 0, 0, 0},{"_p_gpstk__InvalidRequest", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_gpstk__AssertionFailure[] = {{"_p_gpstk__AssertionFailure", 0, "gpstk::AssertionFailure *", &_wrap_class_gpstk_AssertionFailure, 0, 0, 0},{"_p_gpstk__AssertionFailure", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0, 0, 0, 0},{"_p_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}};
+
+static swig_type_info *swig_types_initial[] = {
+_swigt__p_gpstk__AccessError, 
+_swigt__p_size_t, 
+_swigt__std__size_t, 
+_swigt__size_t, 
+_swigt__p_gpstk__InvalidParameter, 
+_swigt__p_DayTime, 
+_swigt__p_gpstk__OutOfMemory, 
+_swigt__p_gpstk__ExceptionLocation, 
+_swigt__p_gpstk__GPSZcount, 
+_swigt__p_long_double, 
+_swigt__p_GPSZcount, 
+_swigt__p_double, 
+_swigt__p_time_t, 
+_swigt__p_gpstk__ObjectNotFound, 
+_swigt__p_std__ostream, 
+_swigt__p_gpstk__InvalidArgumentException, 
+_swigt__p_gpstk__IndexOutOfBoundsException, 
+_swigt__p_gpstk__Exception, 
+_swigt__p_gpstk__ConfigurationException, 
+_swigt__p_gpstk__FileMissingException, 
+_swigt__p_gpstk__SystemSemaphoreException, 
+_swigt__p_gpstk__SystemPipeException, 
+_swigt__p_gpstk__SystemQueueException, 
+_swigt__p_timeval, 
+_swigt__std__ptrdiff_t, 
+_swigt__ptrdiff_t, 
+_swigt__p_gpstk__InvalidRequest, 
+_swigt__p_gpstk__AssertionFailure, 
+_swigt__p_int, 
+0
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+#ifdef __cplusplus
+}
+#endif
+
+SWIGEXPORT(int) SWIG_init(Tcl_Interp *interp) {
+    int i;
+    static int _init = 0;
+    if (interp == 0) return TCL_ERROR;
+#ifdef USE_TCL_STUBS
+    if (Tcl_InitStubs(interp, (char*)"8.1", 0) == NULL) {
+        return TCL_ERROR;
+    }
+#endif
+    
+    Tcl_PkgProvide(interp, (char*)SWIG_name, (char*)SWIG_version);
+    
+#ifdef SWIG_namespace
+    Tcl_Eval(interp, "namespace eval " SWIG_namespace " { }");
+#endif
+    if (!_init) {
+        SWIG_Tcl_LookupTypePointer(interp);
+        for (i = 0; swig_types_initial[i]; i++) {
+            swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
+        }
+        for (i = 0; swig_types_initial[i]; i++) {
+            SWIG_PropagateClientData(swig_types[i]);
+        }
+        _init = 1;
+    }
+    for (i = 0; swig_commands[i].name; i++) {
+        Tcl_CreateObjCommand(interp, (char *) swig_commands[i].name, (swig_wrapper_func) swig_commands[i].wrapper, swig_commands[i].clientdata, NULL);
+    }
+    for (i = 0; swig_variables[i].name; i++) {
+        Tcl_SetVar(interp, (char *) swig_variables[i].name, (char *) "", TCL_GLOBAL_ONLY);
+        Tcl_TraceVar(interp, (char *) swig_variables[i].name, TCL_TRACE_READS | TCL_GLOBAL_ONLY, (Tcl_VarTraceProc *) swig_variables[i].get, (ClientData) swig_variables[i].addr);
+        Tcl_TraceVar(interp, (char *) swig_variables[i].name, TCL_TRACE_WRITES | TCL_GLOBAL_ONLY, (Tcl_VarTraceProc *) swig_variables[i].set, (ClientData) swig_variables[i].addr);
+    }
+    SWIG_InstallConstants(interp, swig_constants);
+    
+    return TCL_OK;
+}
+SWIGEXPORT(int) Gpstk_SafeInit(Tcl_Interp *interp) {
+    return SWIG_init(interp);
+}
+
diff --git a/trunk/apps/checktools/CheckFrame.hpp b/trunk/apps/checktools/CheckFrame.hpp
new file mode 100644
index 0000000..af6b3ee
--- /dev/null
+++ b/trunk/apps/checktools/CheckFrame.hpp
@@ -0,0 +1,120 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/checktools/CheckFrame.hpp#3 $"
+
+#ifndef CHECKFRAME_HPP
+#define CHECKFRAME_HPP
+
+#include "CommandOptionWithTimeArg.hpp"
+#include "FileFilterFrame.hpp"
+#include "BasicFramework.hpp"
+
+template <class FileData>
+struct NullTimeFilter : public std::unary_function<FileData, bool>
+{
+public:
+   NullTimeFilter(const gpstk::DayTime& startTime,
+                  const gpstk::DayTime& endTime)
+   {}
+
+   bool operator() (const FileData& l) const
+   {
+      return false;
+   }
+};
+ 
+
+template <class FileStream, class FileData, class FilterTimeOperator = NullTimeFilter<FileData> >
+class CheckFrame : public gpstk::BasicFramework
+{
+public:
+   CheckFrame(char* arg0, std::string fileType) :
+         gpstk::BasicFramework(arg0,
+                               "Reads given input " + fileType + 
+                               " files and check for errors. This will only"
+                               " report the first error found in each file. "
+                               " The entire file is always checked, regardless"
+                               " of time options."),
+         timeOption('t', "time", "Time of first record to count (default ="
+                    " \"beginning of time\")"),
+         eTimeOption('e', "end-time", "End of time range to compare (default"
+                     " = \"end of time\")"),
+         inputFileOption("Each input file is checked for errors.", true),
+         startTime(gpstk::DayTime::BEGINNING_OF_TIME),
+         endTime(gpstk::DayTime::END_OF_TIME)
+   {
+      timeOption.setMaxCount(1);
+      eTimeOption.setMaxCount(1);
+      timeOptions.addOption(&timeOption);
+      timeOptions.addOption(&eTimeOption);
+   }
+   
+   virtual bool initialize(int argc, char* argv[]) throw()
+   {
+      if (!gpstk::BasicFramework::initialize(argc, argv))
+         return false;
+      if (timeOption.getCount())
+         startTime = timeOption.getTime()[0];
+      if (eTimeOption.getCount())
+         endTime = eTimeOption.getTime()[0];
+      if (startTime > endTime)
+      {
+         std::cerr << "End time can't precede start time." << std::endl;
+         return false;
+      }
+      return true;
+   }
+   
+protected:
+   virtual void process()
+   {
+      std::vector<std::string> inputFiles = inputFileOption.getValue();
+      std::vector<std::string>::iterator itr = inputFiles.begin();
+      FilterTimeOperator timeFilt(startTime, endTime);
+      while (itr != inputFiles.end())
+      {
+         std::cout << "Checking " << *itr << std::endl;
+         unsigned long recCount = 0;
+         try
+         {
+            FileStream f((*itr).c_str());
+            f.exceptions(std::ios::failbit);
+            
+            FileData temp;
+            while (f >> temp)
+            {
+               if (!timeFilt(temp))
+                  recCount++;
+            }
+            
+            std::cout << "Read " << recCount << " records." 
+                      << std::endl << std::endl;
+         }
+         catch (gpstk::Exception& e)
+         {
+            std::cout << e << std::endl << std::endl;
+         }
+         catch (std::exception& e)
+         {
+            std::cout << e.what() << std::endl;
+         }
+         catch (...)
+         {
+            std::cout << "unknown exception caught" << std::endl;
+         }
+         
+         itr++;
+      }
+   }
+   
+      /// start time for record counting
+   gpstk::CommandOptionWithSimpleTimeArg timeOption;
+      /// end time for record counting
+   gpstk::CommandOptionWithSimpleTimeArg eTimeOption;
+      /// if either of the time options are set
+   gpstk::CommandOptionGroupOr timeOptions;
+   gpstk::CommandOptionRest inputFileOption;
+   
+   gpstk::DayTime startTime, endTime;
+   
+};
+
+#endif
diff --git a/trunk/apps/checktools/Jamfile b/trunk/apps/checktools/Jamfile
new file mode 100644
index 0000000..f97b04a
--- /dev/null
+++ b/trunk/apps/checktools/Jamfile
@@ -0,0 +1,12 @@
+# $Id: //depot/sgl/gpstk/dev/apps/checktools/Jamfile#1 $
+
+SubDir TOP apps checktools ;
+
+GPSLinkLibraries rowcheck rmwcheck rnwcheck ficcheck ficacheck : gpstk ;
+BonkForte ; # bleah.
+
+GPSMain rowcheck : rowcheck.cpp ;
+GPSMain rmwcheck : rmwcheck.cpp ;
+GPSMain rnwcheck : rnwcheck.cpp ;
+GPSMain ficcheck : ficcheck.cpp ;
+GPSMain ficacheck : ficacheck.cpp ;
diff --git a/trunk/apps/checktools/Makefile.am b/trunk/apps/checktools/Makefile.am
new file mode 100644
index 0000000..9122f4f
--- /dev/null
+++ b/trunk/apps/checktools/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = rowcheck rmwcheck rnwcheck ficcheck ficacheck
+
+rowcheck_SOURCES = rowcheck.cpp
+rmwcheck_SOURCES = rmwcheck.cpp
+rnwcheck_SOURCES = rnwcheck.cpp
+ficcheck_SOURCES = ficcheck.cpp
+ficacheck_SOURCES = ficacheck.cpp
diff --git a/trunk/apps/checktools/Makefile.in b/trunk/apps/checktools/Makefile.in
new file mode 100644
index 0000000..adc1993
--- /dev/null
+++ b/trunk/apps/checktools/Makefile.in
@@ -0,0 +1,460 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = rowcheck$(EXEEXT) rmwcheck$(EXEEXT) \
+	rnwcheck$(EXEEXT) ficcheck$(EXEEXT) ficacheck$(EXEEXT)
+subdir = apps/checktools
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_ficacheck_OBJECTS = ficacheck.$(OBJEXT)
+ficacheck_OBJECTS = $(am_ficacheck_OBJECTS)
+ficacheck_LDADD = $(LDADD)
+ficacheck_DEPENDENCIES = ../../src/libgpstk.la
+am_ficcheck_OBJECTS = ficcheck.$(OBJEXT)
+ficcheck_OBJECTS = $(am_ficcheck_OBJECTS)
+ficcheck_LDADD = $(LDADD)
+ficcheck_DEPENDENCIES = ../../src/libgpstk.la
+am_rmwcheck_OBJECTS = rmwcheck.$(OBJEXT)
+rmwcheck_OBJECTS = $(am_rmwcheck_OBJECTS)
+rmwcheck_LDADD = $(LDADD)
+rmwcheck_DEPENDENCIES = ../../src/libgpstk.la
+am_rnwcheck_OBJECTS = rnwcheck.$(OBJEXT)
+rnwcheck_OBJECTS = $(am_rnwcheck_OBJECTS)
+rnwcheck_LDADD = $(LDADD)
+rnwcheck_DEPENDENCIES = ../../src/libgpstk.la
+am_rowcheck_OBJECTS = rowcheck.$(OBJEXT)
+rowcheck_OBJECTS = $(am_rowcheck_OBJECTS)
+rowcheck_LDADD = $(LDADD)
+rowcheck_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(ficacheck_SOURCES) $(ficcheck_SOURCES) $(rmwcheck_SOURCES) \
+	$(rnwcheck_SOURCES) $(rowcheck_SOURCES)
+DIST_SOURCES = $(ficacheck_SOURCES) $(ficcheck_SOURCES) \
+	$(rmwcheck_SOURCES) $(rnwcheck_SOURCES) $(rowcheck_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+rowcheck_SOURCES = rowcheck.cpp
+rmwcheck_SOURCES = rmwcheck.cpp
+rnwcheck_SOURCES = rnwcheck.cpp
+ficcheck_SOURCES = ficcheck.cpp
+ficacheck_SOURCES = ficacheck.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  apps/checktools/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  apps/checktools/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+ficacheck$(EXEEXT): $(ficacheck_OBJECTS) $(ficacheck_DEPENDENCIES) 
+	@rm -f ficacheck$(EXEEXT)
+	$(CXXLINK) $(ficacheck_LDFLAGS) $(ficacheck_OBJECTS) $(ficacheck_LDADD) $(LIBS)
+ficcheck$(EXEEXT): $(ficcheck_OBJECTS) $(ficcheck_DEPENDENCIES) 
+	@rm -f ficcheck$(EXEEXT)
+	$(CXXLINK) $(ficcheck_LDFLAGS) $(ficcheck_OBJECTS) $(ficcheck_LDADD) $(LIBS)
+rmwcheck$(EXEEXT): $(rmwcheck_OBJECTS) $(rmwcheck_DEPENDENCIES) 
+	@rm -f rmwcheck$(EXEEXT)
+	$(CXXLINK) $(rmwcheck_LDFLAGS) $(rmwcheck_OBJECTS) $(rmwcheck_LDADD) $(LIBS)
+rnwcheck$(EXEEXT): $(rnwcheck_OBJECTS) $(rnwcheck_DEPENDENCIES) 
+	@rm -f rnwcheck$(EXEEXT)
+	$(CXXLINK) $(rnwcheck_LDFLAGS) $(rnwcheck_OBJECTS) $(rnwcheck_LDADD) $(LIBS)
+rowcheck$(EXEEXT): $(rowcheck_OBJECTS) $(rowcheck_DEPENDENCIES) 
+	@rm -f rowcheck$(EXEEXT)
+	$(CXXLINK) $(rowcheck_LDFLAGS) $(rowcheck_OBJECTS) $(rowcheck_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ficacheck.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ficcheck.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rmwcheck.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rnwcheck.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rowcheck.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/checktools/ficacheck b/trunk/apps/checktools/ficacheck
new file mode 100755
index 0000000..9507c64
Binary files /dev/null and b/trunk/apps/checktools/ficacheck differ
diff --git a/trunk/apps/checktools/ficacheck.cpp b/trunk/apps/checktools/ficacheck.cpp
new file mode 100644
index 0000000..bfd2d59
--- /dev/null
+++ b/trunk/apps/checktools/ficacheck.cpp
@@ -0,0 +1,38 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/checktools/ficacheck.cpp#1 $"
+
+#include "CheckFrame.hpp"
+
+#include "FICAStream.hpp"
+#include "FICData.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      CheckFrame<FICAStream, FICData> cf(argv[0],
+                                         std::string("FIC ASCII"));
+      
+      if (!cf.initialize(argc, argv))
+         return 0;
+      if (!cf.run())
+         return 1;
+      
+      return 0;   
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
diff --git a/trunk/apps/checktools/ficcheck b/trunk/apps/checktools/ficcheck
new file mode 100755
index 0000000..8db7be7
Binary files /dev/null and b/trunk/apps/checktools/ficcheck differ
diff --git a/trunk/apps/checktools/ficcheck.cpp b/trunk/apps/checktools/ficcheck.cpp
new file mode 100644
index 0000000..003cd73
--- /dev/null
+++ b/trunk/apps/checktools/ficcheck.cpp
@@ -0,0 +1,38 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/checktools/ficcheck.cpp#1 $"
+
+#include "CheckFrame.hpp"
+
+#include "FICStream.hpp"
+#include "FICData.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      CheckFrame<FICStream, FICData> cf(argv[0],
+                                        std::string("FIC"));
+      
+      if (!cf.initialize(argc, argv))
+         return 0;
+      if (!cf.run())
+         return 1;
+      
+      return 0;   
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
diff --git a/trunk/apps/checktools/rmwcheck b/trunk/apps/checktools/rmwcheck
new file mode 100755
index 0000000..9f07c86
Binary files /dev/null and b/trunk/apps/checktools/rmwcheck differ
diff --git a/trunk/apps/checktools/rmwcheck.cpp b/trunk/apps/checktools/rmwcheck.cpp
new file mode 100644
index 0000000..96ce181
--- /dev/null
+++ b/trunk/apps/checktools/rmwcheck.cpp
@@ -0,0 +1,39 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/checktools/rmwcheck.cpp#1 $"
+
+#include "CheckFrame.hpp"
+
+#include "RinexMetStream.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetFilterOperators.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      CheckFrame<RinexMetStream, RinexMetData, RinexMetDataFilterTime>
+         cf(argv[0], "Rinex Met");
+      
+      if (!cf.initialize(argc, argv))
+         return 0;
+      if (!cf.run())
+         return 1;
+      
+      return 0;   
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
diff --git a/trunk/apps/checktools/rnwcheck b/trunk/apps/checktools/rnwcheck
new file mode 100755
index 0000000..018ae36
Binary files /dev/null and b/trunk/apps/checktools/rnwcheck differ
diff --git a/trunk/apps/checktools/rnwcheck.cpp b/trunk/apps/checktools/rnwcheck.cpp
new file mode 100644
index 0000000..173bd9b
--- /dev/null
+++ b/trunk/apps/checktools/rnwcheck.cpp
@@ -0,0 +1,38 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/checktools/rnwcheck.cpp#1 $"
+
+#include "CheckFrame.hpp"
+
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      CheckFrame<RinexNavStream, RinexNavData> cf(argv[0],
+                                                  std::string("Rinex Nav"));
+      
+      if (!cf.initialize(argc, argv))
+         return 0;
+      if (!cf.run())
+         return 1;
+      
+      return 0;   
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
diff --git a/trunk/apps/checktools/rowcheck b/trunk/apps/checktools/rowcheck
new file mode 100755
index 0000000..e3b33c1
Binary files /dev/null and b/trunk/apps/checktools/rowcheck differ
diff --git a/trunk/apps/checktools/rowcheck.cpp b/trunk/apps/checktools/rowcheck.cpp
new file mode 100644
index 0000000..37c216a
--- /dev/null
+++ b/trunk/apps/checktools/rowcheck.cpp
@@ -0,0 +1,38 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/checktools/rowcheck.cpp#1 $"
+
+#include "CheckFrame.hpp"
+
+#include "RinexObsStream.hpp"
+#include "RinexObsData.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      CheckFrame<RinexObsStream, RinexObsData> cf(argv[0],
+                                                  std::string("Rinex Obs"));
+      
+      if (!cf.initialize(argc, argv))
+         return 0;
+      if (!cf.run())
+         return 1;
+      
+      return 0;   
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
diff --git a/trunk/apps/converters/Jamfile b/trunk/apps/converters/Jamfile
new file mode 100644
index 0000000..4981e7e
--- /dev/null
+++ b/trunk/apps/converters/Jamfile
@@ -0,0 +1,9 @@
+#
+# $Id: //depot/sgl/gpstk/dev/apps/converters/Jamfile#1 $
+#
+
+SubDir TOP apps converters ;
+
+GPSLinkLibraries novaRinex : gpstk ;
+
+GPSMain novaRinex : novaRinex.cpp NovatelData.cpp ;
diff --git a/trunk/apps/converters/Makefile.am b/trunk/apps/converters/Makefile.am
new file mode 100644
index 0000000..f908f69
--- /dev/null
+++ b/trunk/apps/converters/Makefile.am
@@ -0,0 +1,6 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = novaRinex
+
+novaRinex_SOURCES = novaRinex.cpp NovatelData.cpp NovatelStream.cpp
diff --git a/trunk/apps/converters/NovatelData.cpp b/trunk/apps/converters/NovatelData.cpp
new file mode 100644
index 0000000..1387398
--- /dev/null
+++ b/trunk/apps/converters/NovatelData.cpp
@@ -0,0 +1,1065 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/converters/NovatelData.cpp#1 $"
+
+/**
+ * @file NovatelData.cpp
+ * gpstk::NovatelData - container for Novatel data, with methods to convert
+ * binary data files to Rinex
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "BinUtils.hpp"
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "EngEphemeris.hpp"
+#include "RinexObsHeader.hpp"
+#include "icd_200_constants.hpp"
+#include "NovatelData.hpp"
+
+using namespace std;
+using namespace gpstk::BinUtils;
+using namespace gpstk::StringUtils;
+
+static bool debug=false;
+
+namespace gpstk
+{
+
+   // --------------------------------------------------------------------------------
+   const double CFF=C_GPS_M/OSC_FREQ;
+   const double wl1=CFF/L1_MULT;
+   const double wl2=CFF/L2_MULT;
+   const double PhaseRollover=8388608;
+
+   // --------------------------------------------------------------------------------
+   const std::string NovatelData::RecNames[] = {
+         std::string("Unknown"),
+         std::string("RGEB obs"),
+         std::string("RGEC obs"),
+         std::string("POSB pos"),
+         std::string("REPB nav"),
+         std::string("RCSB sts"),
+         std::string("RANGE obs"),
+         std::string("RANGECMP obs"),
+         std::string("RAWEPHEM nav")
+      };
+
+   // --------------------------------------------------------------------------------
+   bool NovatelData::isNav(void) const
+   {
+      switch(rectype) {
+         case POSB:
+         case RCSB:
+            return false;
+         case REPB:
+         case RAWEPHEM:
+            return true;
+         case RGEB:
+         case RGEC:
+         case RANGE:
+         case RANGECMP:
+            return false;
+         case Unknown:
+         default:
+            return false;
+      }
+   }
+
+   // --------------------------------------------------------------------------------
+   bool NovatelData::isObs(void) const
+   {
+      switch(rectype) {
+         case POSB:
+         case RCSB:
+            return false;
+         case REPB:
+         case RAWEPHEM:
+            return false;
+         case RGEB:
+         case RGEC:
+         case RANGE:
+         case RANGECMP:
+            return true;
+         case Unknown:
+         default:
+            return false;
+      }
+   }
+
+   // --------------------------------------------------------------------------------
+   bool NovatelData::isAux(void) const
+   {
+      switch(rectype) {
+         case POSB:
+         case RCSB:
+            return true;
+         case REPB:
+         case RAWEPHEM:
+            return false;
+         case RGEB:
+         case RGEC:
+         case RANGE:
+         case RANGECMP:
+            return false;
+         case Unknown:
+         default:
+            return false;
+      }
+   }
+
+   // --------------------------------------------------------------------------------
+      // True if this record belongs to OEM2 receivers
+   bool NovatelData::isOEM2(void) const
+   {
+      switch(rectype) {
+         case POSB:
+         case RCSB:
+         case REPB:
+         case RGEB:
+         case RGEC:
+            return true;
+         case RAWEPHEM:
+         case RANGE:
+         case RANGECMP:
+         case Unknown:
+         default:
+            return false;
+      }
+   }
+
+   // --------------------------------------------------------------------------------
+      // True if this record belongs to OEM4 receivers
+   bool NovatelData::isOEM4(void) const
+   {
+      switch(rectype) {
+         case RAWEPHEM:
+         case RANGE:
+         case RANGECMP:
+            return true;
+         case POSB:
+         case RCSB:
+         case REPB:
+         case RGEB:
+         case RGEC:
+         case Unknown:
+         default:
+            return false;
+      }
+   }
+
+   // --------------------------------------------------------------------------------
+   bool NovatelData::isValid(void) const
+   {
+      switch(rectype) {
+         case POSB:
+         case RCSB:
+         case REPB:
+         case RAWEPHEM:
+         case RGEB:
+         case RGEC:
+         case RANGE:
+         case RANGECMP:
+            if(datasize == 0 || headersize==0) return false;
+            return true;
+         case Unknown:
+         default:
+            return false;
+      }
+   }
+
+   // --------------------------------------------------------------------------------
+   void NovatelData::dump(std::ostream& str) const
+   {
+      str << "Record type is " << rectype << endl;
+   }
+
+   // --------------------------------------------------------------------------------
+   void NovatelData::reallyPutRecord(FFStream& s) const 
+      throw(std::exception, gpstk::StringUtils::StringException, 
+            gpstk::FFStreamError)
+   {
+      FFStreamError e("Novatel::reallyPutRecord() is not implemented");
+      GPSTK_THROW(e);
+   }
+
+
+   // --------------------------------------------------------------------------------
+   void NovatelData::reallyGetRecord(FFStream& ffs)
+      throw(std::exception, gpstk::StringUtils::StringException, 
+            gpstk::FFStreamError)
+   {
+      if(dynamic_cast<NovatelStream*>(&ffs)) {
+
+         NovatelStream& strm = dynamic_cast<NovatelStream&>(ffs);
+
+         unsigned char *p0 = &buffer[0];
+         unsigned char *p1 = &buffer[1];
+         unsigned char *p2 = &buffer[2];
+         unsigned char *p3 = &buffer[3];
+         unsigned char *p4 = &buffer[4];
+         int i,j,k;
+         long filepos;
+
+            // read loop
+         do {
+
+            // move data down by 1 byte
+            *p0 = *p1;
+            *p1 = *p2;
+
+            // get another character
+            strm.read((char *)p2, 1);
+            if(strm.bad()) {
+               FFStreamError fe("Read error");
+               GPSTK_THROW(fe);
+            }
+            if(strm.eof()) {
+               if(debug) cout << "Reached EOF" << endl;
+               break;
+            }
+            if(debug) cout << "got char 0x" << hex << uppercase << int(buffer[2])
+               << dec << endl;
+
+            // look for sync bytes
+            if(*p0==0xAA && *p1==0x44 && *p2==0x11) {
+               // -------------------------------------------------- OEM2
+               if(debug) cout << "Found OEM2 sync" << endl;
+
+                  // save position in case of failure
+               filepos = strm.tellg();
+
+                  // read 9 more characters into buffer, giving total of 12
+               strm.read((char *)p3,9);
+               if(strm.bad()) {
+                  FFStreamError fe("Read error");
+                  GPSTK_THROW(fe);
+               }
+               if(strm.eof()) {
+                  if(debug) cout << "Reached EOF" << endl;
+                  break;
+               }
+
+                  // read the record ID
+                    if(*p4==0x20) rectype = RGEB;
+               else if(*p4==0x21) rectype = RGEC;
+               else if(*p4==0x01) rectype = POSB;
+               else if(*p4==0x0E) rectype = REPB;
+               else if(*p4==0x0D) rectype = RCSB;
+               else               rectype = Unknown;
+               recnum = int(*p4);
+               intelToHost(recnum);
+
+                  // read the rest of the record
+               if(rectype != Unknown) {
+
+                     // get the size of the record
+                  memmove(&datasize, &(buffer[8]), 4);
+                  intelToHost(datasize);
+
+                     // read the rest of the record
+                  strm.read((char *)&buffer[12],datasize-12);
+                  if(strm.bad()) {
+                     FFStreamError fe("Read error");
+                     GPSTK_THROW(fe);
+                  }
+                  if(strm.eof()) {
+                     if(debug) cout << "Reached EOF" << endl;
+                     break;
+                  }
+                  headersize = 3;             // just the sync bytes
+
+                     // compute the checksum
+                     // Ref OEM2 manual
+                  unsigned char checksum = 0;
+                  checksum ^= buffer[0];
+                  checksum ^= buffer[1];
+                  checksum ^= buffer[2];
+                  for(i=4; i<datasize; i++) checksum ^= buffer[i];
+
+                  if(checksum == buffer[3]) break;    // sucess
+               }
+
+                  // failure - either record type unknown or checksum failed
+               strm.seekg(filepos);          // rewind to just after the sync bytes
+               datasize = headersize = 0;
+
+            }  // end if OEM2 sync
+
+            else if(*p0==0xAA && *p1==0x44 && *p2==0x12) {
+               // -------------------------------------------------- OEM4
+               // Ref OEM4 Manual pg 15
+
+               if(debug) cout << "Found OEM4 sync" << endl;
+
+                  // save position in case of failure
+               filepos = strm.tellg();
+
+                  // ---------------------------------------
+                  // read header, 25 characters, into buffer
+               strm.read((char *)p3,25);
+               if(strm.bad()) {
+                  FFStreamError fe("Read error");
+                  GPSTK_THROW(fe);
+               }
+               if(strm.eof()) {
+                  if(debug) cout << "Reached EOF" << endl;
+                  break;
+               }
+
+                  // parse the header
+                  // Ref OEM4 Manual pg 16
+                  // (only need some of the data here - cast to Rinex functions
+                  // will parse the whole thing)
+               unsigned char headerLength;
+               memmove(&headerLength, &(buffer[3]), 1);  intelToHost(headerLength);
+               short messageID;
+               memmove(&messageID, &(buffer[4]), 2);     intelToHost(messageID);
+               //char messageType;
+               //memmove(&messageType, &(buffer[6]), 1);   intelToHost(messageType);
+               //char portAddress;
+               //memmove(&portAddress, &(buffer[7]), 1);   intelToHost(portAddress);
+               short messageLength;
+               memmove(&messageLength, &(buffer[8]), 2); intelToHost(messageLength);
+               //short sequence;
+               //memmove(&sequence, &(buffer[10]), 2);     intelToHost(sequence);
+               //char idleTime;
+               //memmove(&idleTime, &(buffer[12]), 1);     intelToHost(idleTime);
+               //char timeStatus;
+               //memmove(&timeStatus, &(buffer[13]), 1);   intelToHost(timeStatus);
+               //short week;
+               //memmove(&week, &(buffer[14]), 2);         intelToHost(week);
+               //long msecOfWeek;
+               //memmove(&msecOfWeek, &(buffer[16]), 4);   intelToHost(msecOfWeek);
+               //long rxStatus;
+               //memmove(&rxStatus, &(buffer[20]), 4);     intelToHost(rxStatus);
+               //short reserved;
+               //memmove(&reserved, &(buffer[24]), 2);     intelToHost(reserved);
+               //short rxSWVersion;
+               //memmove(&rxSWVersion, &(buffer[26]), 2);  intelToHost(rxSWVersion);
+               
+               datasize = messageLength;
+               headersize = int(headerLength);
+               recnum = messageID;
+
+               if(headersize != 28) {   // manual warns that changes may be made
+                  Exception e("Header size : expected 28 but found "
+                     + StringUtils::asString(headersize) + " for record ID "
+                     + StringUtils::asString(recnum));
+                  GPSTK_THROW(e);
+               }
+
+               if(debug) cout << "hL " << int(headerLength)
+                     << " ID " << messageID
+                     << " mL " << messageLength
+                     //<< " seq " << sequence
+                     //<< " week " << week
+                     //<< " msow " << msecOfWeek
+                     //<< " rxver " << rxSWVersion
+                     << endl;
+
+               if(     recnum ==  43) rectype = RANGE;
+               else if(recnum == 140) rectype = RANGECMP;
+               else if(recnum ==  41) rectype = RAWEPHEM;
+               else                   rectype = Unknown;
+
+               if(rectype != Unknown) {
+
+                     // ---------------------------------------
+                     // read the data message, but don't overwrite the header
+                  strm.read((char *)&(buffer[28]),datasize);
+                  if(strm.bad()) {
+                     FFStreamError fe("Read error");
+                     GPSTK_THROW(fe);
+                  }
+                  if(strm.eof()) {
+                     datasize = 0;         //mark a bad record
+                     if(debug) cout << "Reached EOF" << endl;
+                     break;
+                  }
+                  if(debug) cout << "read message" << endl;
+
+                     // ---------------------------------------
+                     // validate with 32-bit CRC
+                     // cf. Ref OEM4 manual pg 21.
+
+                     // get the checksum at the end
+                  unsigned long checksum = intelToHost(strm.getData<unsigned long>());
+
+                     // calculate the checksum of the header(even sync)+data
+                  unsigned long check=0,ultemp1,ultemp2;
+                  for(i=0; i<datasize+28; i++) {
+                     ultemp1 = (check >> 8) & 0x00FFFFFFL;
+                     j = ((int)check ^ buffer[i]) & 0xFF;
+                     ultemp2 = j;
+                     for(k=8; k>0; k--) {
+                        if(ultemp2 & 1)
+                           ultemp2 = (ultemp2 >> 1) ^ 0xEDB88320L;
+                        else
+                           ultemp2 >>= 1;
+                     }
+                     check = ultemp1 ^ ultemp2;
+                  }
+
+                  if(check == checksum) {
+                     if(debug) cout << "checksum ok" << endl;
+                     break;
+                  }
+
+               }
+
+                  // failure - either type unknown, or failed checksum
+               strm.seekg(filepos);
+               datasize = headersize = 0;               // marks an invalid object
+
+            }  // end if OEM4 sync
+
+            else {                                       // skip these bytes
+                  // print only if sync is not underway
+               if(debug && !(*p1==0xAA && *p2==0x44) && !(*p2==0xAA) )
+                  cout << "Skip a byte " << hex << uppercase << setfill('0')
+                     << setw(2) << *p0 << dec << setfill(' ') << endl;
+            }
+
+         } while(1);   // end read loop
+      }
+      else {
+         FFStreamError e("NovatelData tried to read from a non-Novatel file");
+         GPSTK_THROW(e);
+      }
+
+      if(!isValid()) {
+         FFStreamError e("Read an invalid Novatel record");
+         GPSTK_THROW(e);
+      }
+
+   }  // end NovatelData::reallyGetRecord
+
+
+   // --------------------------------------------------------------------------------
+   NovatelData::operator RinexNavData()
+      throw(Exception)
+   {
+      if(!isValid() || !isNav()) {
+         Exception e("Invalid or non-Nav record");
+         GPSTK_THROW(e);
+      }
+
+      int i,j,k;
+      long templ;
+      EngEphemeris eeph;
+
+      if(rectype == RAWEPHEM) {                    // OEM4
+
+            // parse header
+            // Ref OEM4 Manual pg 16
+         unsigned char headerLength;
+         memmove(&headerLength,  &(buffer[3]), 1); intelToHost(headerLength);
+         short messageID;
+         memmove(&messageID,     &(buffer[4]), 2); intelToHost(messageID);
+         char messageType;
+         memmove(&messageType,   &(buffer[6]), 1); intelToHost(messageType);
+         char portAddress;
+         memmove(&portAddress,   &(buffer[7]), 1); intelToHost(portAddress);
+         short messageLength;
+         memmove(&messageLength, &(buffer[8]), 2); intelToHost(messageLength);
+         short sequence;
+         memmove(&sequence,     &(buffer[10]), 2); intelToHost(sequence);
+         char idleTime;
+         memmove(&idleTime,     &(buffer[12]), 1); intelToHost(idleTime);
+         char timeStatus;
+         memmove(&timeStatus,   &(buffer[13]), 1); intelToHost(timeStatus);
+         short week;
+         memmove(&week,         &(buffer[14]), 2); intelToHost(week);
+         long msecOfWeek;
+         memmove(&msecOfWeek,   &(buffer[16]), 4); intelToHost(msecOfWeek);
+         long rxStatus;
+         memmove(&rxStatus,     &(buffer[20]), 4); intelToHost(rxStatus);
+         short reserved;
+         memmove(&reserved,     &(buffer[24]), 2); intelToHost(reserved);
+         short rxSWVersion;
+         memmove(&rxSWVersion,  &(buffer[26]), 2); intelToHost(rxSWVersion);
+               
+            // parse data
+            // Ref OEM4 Manual pg 206
+         short prn,track=1;
+         long gpsSOW;
+
+            // get PRN and timetag 
+         memmove(&templ, &(buffer[28]), 4);
+         intelToHost(templ);
+         prn = short(templ);
+         memmove(&gpsWeek, &(buffer[32]), 4);      // long gpsWeek is member data
+         intelToHost(gpsWeek);
+         memmove(&gpsSOW, &(buffer[36]), 4);
+         intelToHost(gpsSOW);
+      
+            // convert the 3 subframes and create EngEphemeris
+         long subframe[10];
+         for(j=0; j<3; j++) {
+            k = 40 + j*30;
+
+            if(debug) {
+               cout << "Subframe " << setfill('0') << j+1;
+               for(i=0; i<30; i++)
+                  cout << " " << hex << uppercase << setw(2) << int(buffer[k+i]);
+               cout << dec << setfill(' ') << endl;
+            }
+
+            for(i=0; i<10; i++) {
+               subframe[i] = (buffer[k] << 22)+(buffer[k+1] << 14)+(buffer[k+2] << 6);
+               k += 3;
+            }
+            if(!eeph.addSubframe(subframe,gpsWeek,prn,track)){
+               cerr << "Failed to convert RAWEPH subframe " << j+1 << ", prn " << prn
+                  << " at time " << gpsWeek << " " << gpsSOW << endl;
+            }
+         }
+      }  // end RAWEPH record
+
+      else if(rectype == REPB) {                   // OEM2
+
+         long prn;
+         short track=1;
+
+         // get PRN
+         memmove(&prn,&(buffer[12]), 4);
+         intelToHost(prn);
+
+         // be sure week is defined
+         if(gpsWeek == -1) {
+            DayTime sysTime;
+            gpsWeek = long(sysTime.GPSfullweek());
+         }
+
+            // convert the 3 subframes and create EngEphemeris
+         long subframe[10];
+         for(j=0; j<3; j++) {
+            k = 16 + j*30;
+
+            if(debug) {
+               cout << "Subframe " << setfill('0') << j+1;
+               for(i=0; i<30; i++)
+                  cout << " " << hex << uppercase << setw(2) << int(buffer[k+i]);
+               cout << dec << setfill(' ') << endl;
+            }
+
+            for(i=0; i<10; i++) {
+               subframe[i] = (buffer[k] << 22)+(buffer[k+1] << 14)+(buffer[k+2] << 6);
+               k += 3;
+            }
+            if(!eeph.addSubframe(subframe,gpsWeek,short(prn),track)){
+               cerr << "Failed to convert REPB subframe " << j+1
+                     << ", prn " << prn << endl;
+            }
+         }
+         
+      }  // end REPB record
+
+      // convert it to Rinex
+      RinexNavData rnd(eeph);
+
+      return rnd;
+
+   }  // end NovatelData::operator RinexNavData()
+
+
+   // --------------------------------------------------------------------------------
+   NovatelData::operator RinexObsData()
+      throw(Exception)
+   {
+      if(!isValid() || !isObs()) {
+         Exception e("Invalid or non-Obs record");
+         GPSTK_THROW(e);
+      }
+
+      int i,j;
+      short temps;
+      long nobs;            // number of observation records (may be 2/PRN: L1 and L2)
+      RinexPrn sat;
+      RinexObsData rod;     // this will be returned
+      RinexObsData::RinexDatum rd;
+      RinexObsData::RinexPrnMap::iterator satit;
+      RinexObsData::RinexObsTypeMap::iterator obsit;
+
+      if(     rectype == RGEB) {             // OEM2
+
+
+      }  // end RGEB record
+
+      else if(rectype == RGEC) {             // OEM2
+            // Ref OEM2 Manual pg 97
+
+         if(debug) {
+            cout << "Header " << setfill('0') << hex << uppercase;
+            for(i=0; i<24; i++) cout << " " << setw(2) << int(buffer[i]);
+            cout << dec << setfill(' ') << endl;
+         }
+
+            // number of observation records to follow
+         memmove(&temps, &(buffer[12]), 2);
+         intelToHost(temps);
+         nobs = long(temps);
+
+            // GPS week (long gpsWeek is member data)
+         memmove(&temps, &(buffer[14]), 2);
+         intelToHost(temps);
+
+            // resolve the week number ambiguity
+         if(gpsWeek == -1) {
+            DayTime sysTime;
+            gpsWeek = long(sysTime.GPSfullweek());
+         }
+         gpsWeek = long(temps) + 1024*(gpsWeek/1024);
+
+            // seconds of week * 100
+         long gpsSOW;
+         memmove(&gpsSOW, &(buffer[16]), 4);
+         intelToHost(gpsSOW);
+
+            // receiver status
+         long rxStatus;
+         memmove(&rxStatus, &(buffer[20]), 4);
+         
+            // put timetag into rod
+         rod.time = DayTime(gpsWeek,gpsSOW/100.);
+         rod.epochFlag = 0;
+         rod.clockOffset = 0.0;     // don't have it ?
+         rod.numSvs = 0;
+
+            // loop over observation records
+         for(i=0; i<nobs; i++) {
+            unsigned long data[5];
+            for(j=0; j<5; j++)
+               memmove(&data[j], &(buffer[24+i*20+j*4]), 4);
+
+            int prn         =     int(data[0] & 0x0000003FL);
+
+            double SNR      = double((data[0] & 0x000007C0L) >>  6);
+
+            double locktime = double((data[0] & 0xFFFFF800L) >> 11);
+
+            double Ph;
+            if(data[1] & 0x80000000L)     // 2s complement
+               Ph =  double(data[1] ^ 0x7FFFFFFFL + 1);
+            else
+               Ph =  double(data[1]);
+
+            double Doppler  = double((data[2] & 0xFFFFFFF0L) >> 4);
+            if(data[2] & 0x80000000L)     // 2s complement
+               Doppler = -double((((data[2] & 0xFFFFFFF0L) ^ 0xFFFFFFF0L) >> 4)+1);
+   
+            //                                               this is 0xFFFFFFFF + 1
+            double Pr       =  double(data[2] & 0x0000000FL) * 4294967296.
+                             + double(data[3]);
+            // could the pseudorange ever be negative?
+            if(data[2] & 0x00000008L)     // 2s complement
+               Pr = -double((data[2] & 0x0000000FL) ^ 0x0000000FL) * 4294967296.
+                    - double(data[3]                ^ 0xFFFFFFFFL  + 1);
+
+            double SdPh     =     int(data[4] & 0x0000000FL);
+
+            double SdPr     = double((data[4] & 0x000000F0L) >>  4);
+
+            long TrackStatus =  long((data[4] & 0xFFFFFF00L) >>  8);
+            // the rest are reserved
+
+            // swap bytes
+            intelToHost(prn);
+            intelToHost(SNR);
+            intelToHost(locktime);
+            intelToHost(Ph);
+            intelToHost(Doppler);
+            intelToHost(Pr);
+            intelToHost(SdPr);
+            intelToHost(SdPh);
+
+            // convert to physical units
+            SNR += 20.;             // dB-Hz, but 51 means >=51, and 20 means <=20.
+            locktime /= 32.;        // sec
+            Doppler /= 256.;        // Hz
+            Pr /= 128.;             // m
+            Ph /= 256.;             // cycles
+            SdPr = (SdPr + 1.)/16.; // m
+            SdPh = (SdPh + 1)/512.; // cycles
+
+            // break out the TrackStatus
+            // cf. Table 5-6, pg 95 of OEM2 manual
+            int TrackState   = int( TrackStatus & 0x0000000FL);
+            int Channel      = int((TrackStatus & 0x000001F0L) >>  4);
+            bool PhaseLock   = bool(TrackStatus & 0x00000200L);
+            bool ParityKnown = bool(TrackStatus & 0x00000400L);
+            bool CodeLock    = bool(TrackStatus & 0x00000800L);
+            int Frequency    = int((TrackStatus & 0x00100000L) >> 20); // 0:L1 1:L2
+            // CodeType is 0: CA 1: P 2: Pcodeless
+            int CodeType   = int((TrackStatus & 0x00600000L) >> 21);
+
+            if(!PhaseLock || !CodeLock) continue;
+
+            // correct the phase for rollovers
+            // ref. OEM2 manual pg 97
+            double ADRrolls = ((-Pr/(Frequency==0 ? wl1 : wl2))-Ph)/PhaseRollover;
+            Ph += long(ADRrolls + (ADRrolls > 0 ? 0.5 : -0.5)) * PhaseRollover;
+
+            //apparently the Novatel convert utility ignores this too
+            //ignore if(!ParityKnown) Ph = 0.0;
+
+            // fill RinexObsData rod
+            sat = RinexPrn(prn,systemGPS);
+            satit = rod.obs.find(sat);          // find the sat
+            if(satit == rod.obs.end()) {        // not there - add this sat
+               RinexObsData::RinexObsTypeMap rotm;
+               rod.obs[sat] = rotm;
+               rod.numSvs++;
+               satit = rod.obs.find(sat);       // now find it
+            }
+
+            // for convenience, reference the obs data map
+            RinexObsData::RinexObsTypeMap& obs = satit->second;
+            if(Frequency == 0) {       // frequency = L1
+               rd.ssi = rd.lli = 0; rd.data = -Ph;
+               obs[RinexObsHeader::L1] = rd;                         // L1
+
+               rd.ssi = rd.lli = 0; rd.data = Pr;
+               if(CodeType == 0) obs[RinexObsHeader::C1] = rd;       // C1
+               else              obs[RinexObsHeader::P1] = rd;       // P1
+
+               rd.ssi = rd.lli = 0; rd.data = -Doppler;
+               obs[RinexObsHeader::D1] = rd;                         // D1
+
+               rd.ssi = rd.lli = 0; rd.data = SNR;                   // S1
+               obs[RinexObsHeader::S1] = rd;
+            }
+            else {
+               rd.ssi = rd.lli = 0; rd.data = Ph;
+               obs[RinexObsHeader::L2] = rd;                         // L2
+
+               rd.ssi = rd.lli = 0; rd.data = Pr;
+               obs[RinexObsHeader::P2] = rd;                         // P2
+
+               rd.ssi = rd.lli = 0; rd.data = -Doppler;
+               obs[RinexObsHeader::D2] = rd;                         // D2
+
+               rd.ssi = rd.lli = 0; rd.data = SNR;
+               obs[RinexObsHeader::S2] = rd;                         // S2
+            }
+
+         }
+
+      }  // end RGEC record
+
+      else {                                 // all OEM4 obs records
+
+            // header
+            // Ref OEM4 Manual pg 16
+         unsigned char headerLength;
+         memmove(&headerLength, &(buffer[3]), 1);  intelToHost(headerLength);
+         short messageID;
+         memmove(&messageID, &(buffer[4]), 2);     intelToHost(messageID);
+         char messageType;
+         memmove(&messageType, &(buffer[6]), 1);   intelToHost(messageType);
+         char portAddress;
+         memmove(&portAddress, &(buffer[7]), 1);   intelToHost(portAddress);
+         short messageLength;
+         memmove(&messageLength, &(buffer[8]), 2); intelToHost(messageLength);
+         short sequence;
+         memmove(&sequence, &(buffer[10]), 2);     intelToHost(sequence);
+         char idleTime;
+         memmove(&idleTime, &(buffer[12]), 1);     intelToHost(idleTime);
+         char timeStatus;
+         memmove(&timeStatus, &(buffer[13]), 1);   intelToHost(timeStatus);
+         short week;
+         memmove(&week, &(buffer[14]), 2);         intelToHost(week);
+         long msecOfWeek;
+         memmove(&msecOfWeek, &(buffer[16]), 4);   intelToHost(msecOfWeek);
+         long rxStatus;
+         memmove(&rxStatus, &(buffer[20]), 4);     intelToHost(rxStatus);
+         short reserved;
+         memmove(&reserved, &(buffer[24]), 2);     intelToHost(reserved);
+         short rxSWVersion;
+         memmove(&rxSWVersion, &(buffer[26]), 2);  intelToHost(rxSWVersion);
+               
+            // put timetag into rod
+         rod.time = DayTime(week,double(msecOfWeek)/1000.);
+         rod.epochFlag = 0;
+         rod.clockOffset = 0.0;     // don't have it ?
+
+         if(     rectype == RANGE) {
+            // Ref OEM4 Manual pg 198-201
+
+            nobs = 0;
+            memmove(&nobs, &(buffer[28]), 4);
+            intelToHost(nobs);
+
+            rod.numSvs = 0;
+            for(i=0; i<nobs; i++) {
+               unsigned short prn,reserved;
+               unsigned long TrackStatus;
+               float PrStd,PhStd,Doppler,SNR,locktime;
+               double Pr,Ph;
+
+               memmove(&prn,         &(buffer[32+i*44]), 2);
+               intelToHost(prn);
+               memmove(&reserved,    &(buffer[34+i*44]), 2);
+               intelToHost(reserved);
+               memmove(&Pr,          &(buffer[36+i*44]), 8);
+               intelToHost(Pr);
+               memmove(&PrStd,       &(buffer[44+i*44]), 4);
+               intelToHost(PrStd);
+               memmove(&Ph,          &(buffer[48+i*44]), 8);
+               intelToHost(Ph);
+               memmove(&PhStd,       &(buffer[56+i*44]), 4);
+               intelToHost(PhStd);
+               memmove(&Doppler,     &(buffer[60+i*44]), 4);
+               intelToHost(Doppler);
+               memmove(&SNR,         &(buffer[64+i*44]), 4);
+               intelToHost(SNR);
+               memmove(&locktime,    &(buffer[68+i*44]), 4);
+               intelToHost(locktime);
+               memmove(&TrackStatus, &(buffer[72+i*44]), 4);
+               intelToHost(TrackStatus);
+
+               // break out the TrackStatus
+               // cf. Table 56, pg 199 of OEM4 manual
+               int TrackState = int( TrackStatus & 0x0000001FL);
+               int Channel    = int((TrackStatus & 0x000003E0L) >>  5);
+               bool PhaseLock = bool(TrackStatus & 0x00000400L);
+               bool CodeLock  = bool(TrackStatus & 0x00001000L);
+               int Frequency  = int((TrackStatus & 0x00600000L) >> 21); // 0:L1 1:L2
+               // CodeType is 0CA 1P 2Pcodeless
+               int CodeType   = int((TrackStatus & 0x03800000L) >> 23);
+               bool HalfCycle = bool(TrackStatus & 0x10000000L);
+
+               if(!PhaseLock || !CodeLock) continue;        // data is not reliable
+
+               // fill RinexObsData rod
+               sat = RinexPrn(prn,systemGPS);
+               satit = rod.obs.find(sat);          // find the sat
+               if(satit == rod.obs.end()) {        // not there - add this sat
+                  RinexObsData::RinexObsTypeMap rotm;
+                  rod.obs[sat] = rotm;
+                  rod.numSvs++;
+                  satit = rod.obs.find(sat);       // now find it
+               }
+
+               // for convenience, reference the obs data map inside rod
+               RinexObsData::RinexObsTypeMap& obs = satit->second;
+               if(Frequency == 0) {       // frequency = L1
+                  rd.ssi = rd.lli = 0; rd.data = -Ph;
+                  obs[RinexObsHeader::L1] = rd;                      // L1
+
+                  rd.ssi = rd.lli = 0; rd.data = Pr;
+                  if(CodeType == 0) obs[RinexObsHeader::C1] = rd;    // C1
+                  else              obs[RinexObsHeader::P1] = rd;    // P1
+
+                  rd.ssi = rd.lli = 0; rd.data = Doppler;
+                  obs[RinexObsHeader::D1] = rd;                      // D1
+
+                  rd.ssi = rd.lli = 0; rd.data = SNR;
+                  obs[RinexObsHeader::S1] = rd;                      // S1
+               }
+               else {
+                  rd.ssi = rd.lli = 0; rd.data = -Ph;
+                  obs[RinexObsHeader::L2] = rd;                      // L2
+
+                  rd.ssi = rd.lli = 0; rd.data = Pr;
+                  obs[RinexObsHeader::P2] = rd;                      // P2
+
+                  rd.ssi = rd.lli = 0; rd.data = Doppler;
+                  obs[RinexObsHeader::D2] = rd;                      // D2
+
+                  rd.ssi = rd.lli = 0; rd.data = SNR;
+                  obs[RinexObsHeader::S2] = rd;                      // S2
+               }
+
+            }
+
+         }  // end RANGE record
+
+         else if(rectype == RANGECMP) {
+            // Ref OEM4 Manual pg 202-203
+
+            nobs = 0;
+            memmove(&nobs, &(buffer[28]), 4);
+            intelToHost(nobs);
+
+            rod.numSvs = 0;
+            for(i=0; i<nobs; i++) {
+               unsigned long data[6];
+               for(j=0; j<6; j++)
+                  memmove(&data[j], &(buffer[32+i*24+j*4]), 4);
+
+               long TrackStatus =        data[0];
+               // this is what is in the manual - its wrong
+               //double Doppler =   double(data[1] & 0x0FFFFFFFL);
+               // this is not documented in the manual...
+               //double Doppler =   double(data[1] & 0x000FFFFFL);
+               //if(data[1] & 0x0FF00000L == 0x0FF00000L) Doppler = -Doppler;
+               // try this - cf the OEM2 manual and implementation above
+               double Doppler  = double((data[1] & 0x0FFFFFFFL));
+               if(data[1] & 0x08000000L)     // 2s complement
+                  Doppler = -double(((data[1] & 0x0FFFFFFFL) ^ 0x0FFFFFFFL) + 1);
+               double Pr =       double((data[1] & 0xF0000000L) >> 28)
+                                + double(data[2]) * 16.;
+               double Ph =        double(data[3]);
+               int SdPrCode =        int(data[4] & 0x0000000FL);
+               double SdPh =     double((data[4] & 0x000000F0L) >>  4);
+               int prn =            int((data[4] & 0x0000FF00L) >>  8);
+               double locktime = double((data[4] & 0xFFFF0000L) >> 16)
+                               +  double(data[5] & 0x0000001FL);
+               double SNR     =  double((data[5] & 0x000003E0L) >>  5);
+               // the rest are reserved
+ 
+               // swap bytes
+               intelToHost(Doppler);
+               intelToHost(Pr);
+               intelToHost(Ph);
+               intelToHost(SdPrCode);  // code - see pg 203 of OEM4 manual
+               intelToHost(SdPh);
+               intelToHost(prn);
+               intelToHost(locktime);
+               intelToHost(SNR);
+
+               // convert to physical units
+               Doppler /= 256.;        // Hz
+               Pr /= 128.;             // m
+               Ph /= 256.;             // cycles
+               double SdPr;
+               switch(SdPrCode) {      // this is just a code
+                  // ref table on pg 203 of OEM4 manual
+                  case  0: SdPr =   0.050; break; // m
+                  case  1: SdPr =   0.075; break; // m
+                  case  2: SdPr =   0.113; break; // m
+                  case  3: SdPr =   0.169; break; // m
+                  case  4: SdPr =   0.253; break; // m
+                  case  5: SdPr =   0.380; break; // m
+                  case  6: SdPr =   0.570; break; // m
+                  case  7: SdPr =   0.854; break; // m
+                  case  8: SdPr =   1.281; break; // m
+                  case  9: SdPr =   2.375; break; // m
+                  case 10: SdPr =   4.750; break; // m
+                  case 11: SdPr =   9.500; break; // m
+                  case 12: SdPr =  19.000; break; // m
+                  case 13: SdPr =  38.000; break; // m
+                  case 14: SdPr =  76.000; break; // m
+                  case 15: SdPr = 152.000; break; // m
+                  default: SdPr =    0.00; break;
+               }
+               SdPh = (SdPh + 1)/512.; // cycles
+               locktime /= 32.;        // seconds
+               SNR += 20.;             // dB-Hz
+               // NB SNR 51 means >=51, and 20 means <=20.
+
+               // break out the TrackStatus
+               // cf. Table 56, pg 199 of OEM4 manual
+               int TrackState = int( TrackStatus & 0x0000001FL);
+               int Channel    = int((TrackStatus & 0x000003E0L) >>  5);
+               bool PhaseLock = bool(TrackStatus & 0x00000400L);
+               bool CodeLock  = bool(TrackStatus & 0x00001000L);
+               int Frequency  = int((TrackStatus & 0x00600000L) >> 21); // 0:L1 1:L2
+               // CodeType is 0CA 1P 2Pcodeless
+               int CodeType   = int((TrackStatus & 0x03800000L) >> 23);
+               bool HalfCycle = bool(TrackStatus & 0x10000000L);
+
+               if(!PhaseLock || !CodeLock) continue;        // data is not reliable
+
+               // correct the phase for rollovers
+               // cf. OEM4 manual pg 203
+               double ADRrolls = ((Pr/(Frequency==0 ? wl1 : wl2)) + Ph)/PhaseRollover;
+               Ph -= long(ADRrolls + (ADRrolls > 0 ? 0.5 : -0.5)) * PhaseRollover;
+
+               // consider debiasing the phase
+
+               // use track status flags to set lli on the phase
+
+               // what to do with HalfCycle?
+
+               // fill RinexObsData rod
+               sat = RinexPrn(prn,systemGPS);
+               satit = rod.obs.find(sat);          // find the sat
+               if(satit == rod.obs.end()) {        // not there - add this sat
+                  RinexObsData::RinexObsTypeMap rotm;
+                  rod.obs[sat] = rotm;
+                  rod.numSvs++;
+                  satit = rod.obs.find(sat);       // now find it
+               }
+
+               // for convenience, reference the obs data map inside rod
+               RinexObsData::RinexObsTypeMap& obs = satit->second;
+               if(Frequency == 0) {       // frequency = L1
+                  rd.ssi = rd.lli = 0; rd.data = -Ph;
+                  obs[RinexObsHeader::L1] = rd;                      // L1
+
+                  rd.ssi = rd.lli = 0; rd.data = Pr;
+                  if(CodeType == 0) obs[RinexObsHeader::C1] = rd;    // C1
+                  else              obs[RinexObsHeader::P1] = rd;    // P1
+
+                  rd.ssi = rd.lli = 0; rd.data = Doppler;
+                  obs[RinexObsHeader::D1] = rd;                      // D1
+
+                  rd.ssi = rd.lli = 0; rd.data = SNR;
+                  obs[RinexObsHeader::S1] = rd;                      // S1
+               }
+               else {
+                  rd.ssi = rd.lli = 0; rd.data = -Ph;
+                  obs[RinexObsHeader::L2] = rd;                      // L2
+
+                  rd.ssi = rd.lli = 0; rd.data = Pr;
+                  obs[RinexObsHeader::P2] = rd;                      // P2
+
+                  rd.ssi = rd.lli = 0; rd.data = Doppler;
+                  obs[RinexObsHeader::D2] = rd;                      // D2
+
+                  rd.ssi = rd.lli = 0; rd.data = SNR;
+                  obs[RinexObsHeader::S2] = rd;                      // S2
+               }
+
+            }  // end loop over obs
+
+         }  // end RANGECMP record
+
+      }  // end all OEM4 obs records
+
+      return rod;
+
+   }  // end NovatelData::operator RinexObsData()
+
+}  // end namespace gpstk
diff --git a/trunk/apps/converters/NovatelData.hpp b/trunk/apps/converters/NovatelData.hpp
new file mode 100644
index 0000000..1767d87
--- /dev/null
+++ b/trunk/apps/converters/NovatelData.hpp
@@ -0,0 +1,183 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/converters/NovatelData.hpp#1 $"
+
+/**
+ * @file NovatelData.hpp
+ * gpstk::NovatelData - container for Novatel data, with methods to convert to Rinex
+ */
+
+#ifndef GPSTK_NOVATEL_DATA_HPP
+#define GPSTK_NOVATEL_DATA_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <ostream>
+#include "Exception.hpp"
+#include "FFStream.hpp"
+#include "RinexNavData.hpp"
+#include "RinexObsData.hpp"
+#include "NovatelStream.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup NovatelGroup */
+   //@{
+
+   /// Read Novatel binary records and parse into Rinex. Currently supports
+   /// the basic data records of OEM2 and OEM4 files only; others are yet to be
+   /// implemented.
+   /// Ref. (OEM2) 'GPSCard Command Descriptions' Manual (Rev 3)
+   /// Ref. 'OEM4 Family of Receivers,' Users Manual Volume 2 (OM-20000047 Rev 12)
+   class NovatelData : public FFData
+   {
+   public:
+         /// block types implemented here
+      enum RecType
+      {
+         Unknown=0,  ///< unknown block type
+            // OEM2 records
+         RGEB,       ///< observations -- not implemented
+         RGEC,       ///< observations
+         POSB,       ///< position solution -- not implemented
+         REPB,       ///< ephemeris
+         RCSB,       ///< receiver stats -- not implemented
+            // OEM4 records
+         RANGE,      ///< range and phase data (synchronous)
+         RANGECMP,   ///< range and phase data, compressed (synchronous)
+         RAWEPHEM    ///< ephemeris data (asynchronous)
+      };
+
+         /// Names of the record types : RecNames[rectype]
+      static const std::string RecNames[];
+
+         /// Default constructor
+      NovatelData(void) : rectype(Unknown), datasize(0), headersize(0), gpsWeek(-1)
+         {}
+
+         /// Destructor
+      virtual ~NovatelData(void) {}
+
+         /// Return true if this is a valid Novatel record.
+         /// Test the validity of the record with this before further processing.
+      bool isValid(void) const;
+
+         /// This class is not header
+      virtual bool isHeader(void) const { return false; }
+
+         /// This class is data
+      virtual bool isData(void) const { return true; }
+
+         /// True if this record is an ephemeris record
+         /// Test the identity of the record with this before casting into Rinex.
+      bool isNav(void) const;
+
+         /// True if this record is observation data
+         /// Test the identity of the record with this before casting into Rinex.
+      bool isObs(void) const;
+
+         /// True if this record is auxiliary data (not Nav, not Obs)
+         /// (only one of isNav(), isObs() and isAux() is true
+      bool isAux(void) const;
+
+         /// True if this record belongs to OEM2 receivers
+      bool isOEM2(void) const;
+
+         /// True if this record belongs to OEM4 receivers
+      bool isOEM4(void) const;
+
+         /// Dump the contents of the record to the ostream \c str.
+      virtual void dump(std::ostream& str) const;
+
+         /// set the week number of the data, this is required for
+         /// OEM2 nav records that are processed before any obs records
+      void setWeek(long& gpsweek) { gpsWeek = gpsweek; }
+
+         /// cast *this into an gpstk::RinexNavData.
+         /// @throw if the record is invalid or not an ephemeris (isNav()==false)
+      operator RinexNavData() throw(gpstk::Exception);
+
+         /// cast *this into a gpstk::RinexObsData
+         /// @throw if the record is invalid or not an observation (isObs()==false)
+      operator RinexObsData() throw(gpstk::Exception);
+
+         /// public data members
+      RecType rectype;              ///< record type (cf. enum RecType)
+      int recnum;                   ///< record number (byte 4 of record)
+      long datasize;                ///< size of data in bytes
+      int headersize;               ///< size of header in bytes (=3 for OEM2)
+
+   protected:
+         /// Write this record to the stream \a s.
+      virtual void reallyPutRecord(FFStream& s) const 
+         throw(std::exception, gpstk::StringUtils::StringException, 
+               gpstk::FFStreamError);
+
+         /**
+          * Read a NovatelData record from the FFStream \c s. 
+          * If an error is encountered, the function will 
+          * return the stream to its original state and mark its fail-bit.
+          * @throws FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs.  This also resets the
+          *  stream to its pre-read position.
+          */
+      virtual void reallyGetRecord(FFStream& s)
+         throw(std::exception, gpstk::StringUtils::StringException, 
+               gpstk::FFStreamError);
+
+   private:
+         /// private data members
+      unsigned char buffer[1024];   ///< buffer for raw data
+
+         /// Reference GPS week, for OEM2, where the nav records require a GPS week,
+         /// but only the obs records have one, and then it is 10-bit.
+         /// This epoch will be used to remove the ambiguity in the 10-bit week
+         /// number of the obs records, and then will provide a week number for
+         /// for the nav records. If not set by the user, it will be set by the
+         /// system time, and then by the first obs record.
+      long gpsWeek;
+      
+   }; // end class NovatelData
+
+   //@}
+
+}  // end namespace gpstk
+
+#endif
diff --git a/trunk/apps/converters/NovatelStream.hpp b/trunk/apps/converters/NovatelStream.hpp
new file mode 100644
index 0000000..82731fc
--- /dev/null
+++ b/trunk/apps/converters/NovatelStream.hpp
@@ -0,0 +1,96 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/converters/NovatelStream.hpp#1 $"
+
+/**
+ * @file NovatelStream.hpp
+ * gpstk::NovatelStream - binary Novatel file stream container.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef GPSTK_NOVATELSTREAM_HPP
+#define GPSTK_NOVATELSTREAM_HPP
+
+#include <vector>
+#include <map>
+
+#include "FFBinaryStream.hpp"
+
+namespace gpstk
+{
+      /** @defgroup NovatelGroup Novatel receiver utilities */
+      //@{
+
+      /** 
+       * The stream used to obtain data from a binary Novatel File.
+       * \sa NovatelData
+       */
+   class NovatelStream : public FFBinaryStream
+   {
+   public:
+         /// default constructor
+      NovatelStream() {}
+
+         /**
+          * Constructor
+          * @param fn the name of the Novatel file to be opened
+          * @param mode the ios::openmode to be used on \a fn
+          */
+      NovatelStream(const char* fn,
+                    std::ios::openmode mode=std::ios::in|std::ios::binary)
+            : FFBinaryStream(fn, mode)
+         {}
+
+         /// destructor per the coding standards
+      virtual ~NovatelStream() {}
+
+         /// overrides open
+      virtual void open(const char* fn,
+                        std::ios::openmode mode=std::ios::in|std::ios::binary)
+         { FFBinaryStream::open(fn, mode); }
+
+   }; // class NovatelStream
+
+   //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/apps/converters/novaRinex b/trunk/apps/converters/novaRinex
new file mode 100755
index 0000000..a448cdc
Binary files /dev/null and b/trunk/apps/converters/novaRinex differ
diff --git a/trunk/apps/converters/novaRinex.cpp b/trunk/apps/converters/novaRinex.cpp
new file mode 100644
index 0000000..6edbc8d
--- /dev/null
+++ b/trunk/apps/converters/novaRinex.cpp
@@ -0,0 +1,981 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/converters/novaRinex.cpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+// novaRinex.cpp
+// TD test on Solaris : temp files, intelToHost
+
+#include <iostream>
+#include <iomanip>
+#include <time.h>
+#include <string>
+#include <map>
+
+// GPSTk
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "CommandOptionParser.hpp"
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "NovatelStream.hpp"
+#include "NovatelData.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexObsHeader.hpp"
+#include "Triple.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+// -----------------------------------------------------------------------------------
+string Prgm("novaRinex");                 // name of this program
+string Vers("v1.1 2/06");                 // version - keep to 10 char
+// 1.0 8/05
+// 1.1 2/06 process obs only when datasize > 4 - empty records were setting FirstEpoch
+
+// -----------------------------------------------------------------------------------
+// global data, mostly to save information to go in the final Rinex header
+// for computing the data time interval
+int ndt[9];
+double bestdt[9];
+// epochs
+DayTime CurrEpoch,PrevEpoch,FirstEpoch;
+// table of PRN/#obs
+map<RinexPrn,vector<int> > table;
+vector<int> totals;
+// Command line input
+bool help,Debug;
+DayTime BegTime,EndTime;
+string NovatelFile, RinexObsFile, RinexNavFile;
+string InputDirectory;
+// header fields
+bool FillOptionalHeader;
+Triple HDAntPos,HDAntOffset;      // TD
+vector<string> HDcomments;
+vector<RinexObsHeader::RinexObsType> OutputTypes;
+long gpsWeek;
+bool debias;
+
+//------------------------------------------------------------------------------------
+// other global data
+string TempFileName;       // initial output is here, before header is filled
+NovatelStream instr;
+RinexObsStream rostr;
+RinexNavStream rnstr;
+RinexObsHeader roh;        // used in CommandLine
+// indexes for the std obs types in the header
+int inC1,inP1,inL1,inD1,inS1,inP2,inL2,inD2,inS2;
+
+// -----------------------------------------------------------------------------------
+// command line input
+int GetCommandInput(int argc, char **argv);
+void PreProcessArgs(const char *arg, vector<string>& Args);
+void DumpCommandLine(ostream& ofs = cout);
+
+// open input and output files
+int OpenFiles(void);
+
+// fill header initially
+void InitializeHeaders(RinexObsHeader& roh, RinexNavHeader& rnh);
+
+// update saved information for revised header
+void UpdateInformation(RinexObsData& rod);
+
+// final header update, and write out
+int UpdateHeader(string& TempFile, string& OutputFile, RinexObsHeader& rh);
+
+// final obs output - modify header and write to the real output file name
+string GetTempFileName(void);
+int FillHeaderAndReplaceFile(string& TempFile,string& OutputFile,RinexObsHeader& rh);
+
+// -----------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+   try {
+
+      int i,j,k;
+      double dt;
+
+      // get the current system time
+      time_t timer;
+      struct tm *tblock;
+      timer = time(NULL);
+      tblock = localtime(&timer);
+      //CurrEpoch.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+      //         tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+      CurrEpoch.setLocalTime();
+
+      i = GetCommandInput(argc, argv);
+      if(i) return 0;
+      if(Debug) DumpCommandLine();
+
+      i = OpenFiles();
+      if(i) return i;
+
+      // declare data objects used for I/O
+      long bytesread=0;  // at the end, bytesread should equal the Novatel file size.
+      NovatelData novad;
+      novad.setWeek(gpsWeek);
+
+      RinexNavHeader rnh;
+      RinexNavData rnd;
+      RinexObsData rod;
+
+      // initialize the headers (indexes inC1,etc defined here)
+      InitializeHeaders(roh, rnh);
+
+      // write headers
+      rostr << roh;
+      rnstr << rnh;
+
+      // prep for the I/O loop
+      FirstEpoch = DayTime::BEGINNING_OF_TIME;
+      for(i=0; i<9; i++) ndt[i] = -1;
+
+      // loop over data in the Novatel file
+      while(instr >> novad) {
+         if(Debug) cout << "Read " << NovatelData::RecNames[novad.rectype]
+            << " size " << novad.headersize << " + " << novad.datasize
+            << " number " << novad.recnum;
+         if(novad.isOEM2()) {
+            if(roh.recVers == string("OEM2/4")) roh.recVers = "OEM2";
+            if(Debug) cout << " OEM2";
+         }
+         if(novad.isOEM4()) {
+            if(Debug) cout << " OEM4";
+            if(roh.recVers == string("OEM2/4")) roh.recVers = "OEM4";
+         }
+         if(Debug) {
+            if(novad.isObs()) cout << " obs";
+            if(novad.isNav()) cout << " nav";
+            if(novad.isAux()) cout << " aux";
+            cout << endl;
+         }
+
+         bytesread += novad.datasize + novad.headersize;
+         if(novad.isOEM2()) bytesread += 1;      // CRC byte
+         if(novad.isOEM4()) bytesread += 4;      // CRC bytes
+
+         if(novad.isObs() && novad.datasize > 4) {   // obs only, with data
+            rod = RinexObsData(novad);    // convert
+            if(rod.time < BegTime) continue;
+            if(rod.time > EndTime) break;
+            if(Debug) rod.dump(cout);     // dump
+            rostr << rod;                 // write out
+
+            UpdateInformation(rod);
+         }
+         else if(novad.isNav()) {                                 // nav only
+            rnd = RinexNavData(novad);    // convert
+            if(Debug) rnd.dump(cout);     // dump
+            rnstr << rnd;                 // write out
+         }
+
+      }  // end while loop over data
+
+      if(Debug) cout << "Total bytes read = " << bytesread << endl;
+
+      //instr.clear();
+      //instr.close();
+      //rostr.clear();
+      rostr.close();
+      //rnstr.clear();
+      //rnstr.close();
+
+      // now update the header and (re)write it to the file
+      return UpdateHeader(TempFileName, RinexObsFile, roh);
+
+   }
+   catch(Exception& e) {
+      cerr << "Caught exception\n" << e << endl;
+   }
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+int OpenFiles(void)
+{
+   string filename;
+   filename = InputDirectory + string("/") + NovatelFile;
+   instr.open(filename.c_str(),ios::in | ios::binary);
+   if(!instr) {
+      cerr << "Failed to open input file " << NovatelFile << endl;
+      return -1;
+   }
+   if(Debug) cout << "Opened input file " << NovatelFile << endl;
+   //instr.exceptions(fstream::failbit);
+
+   TempFileName = GetTempFileName();
+   rostr.open(TempFileName.c_str(),ios::out);
+   if(!rostr) {
+      cerr << "Failed to open temporary output file " << TempFileName << endl;
+      return -2;
+   }
+   rostr.exceptions(fstream::failbit);
+
+   rnstr.open(RinexNavFile.c_str(),ios::out);
+   if(!rnstr) {
+      cerr << "Failed to open output nav file " << RinexNavFile << endl;
+      return -3;
+   }
+   if(Debug) cout << "Opened output nav file " << RinexNavFile << endl;
+   rnstr.exceptions(fstream::failbit);
+
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+void InitializeHeaders(RinexObsHeader& roh, RinexNavHeader& rnh)
+{
+   // observation header
+   roh.version = 2.1;
+   roh.fileType = "Observation";
+   roh.system = systemGPS;
+   roh.date = CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S");
+   roh.antennaPosition = Triple(0.0,0.0,0.0);
+   roh.antennaOffset = Triple(0.0,0.0,0.0);
+   roh.wavelengthFactor[0] = 1;
+   roh.wavelengthFactor[1] = 1;
+
+   // must keep track of indexes - for use in table
+   if(Debug) cout << "Output obs types and indexes:";
+   inC1 = inP1 = inL1 = inD1 = inS1 = inP2 = inL2 = inD2 = inS2 = -1;
+   for(int i=0; i<OutputTypes.size(); i++) {
+      if(OutputTypes[i] == RinexObsHeader::C1) inC1=i;
+      if(OutputTypes[i] == RinexObsHeader::P1) inP1=i;
+      if(OutputTypes[i] == RinexObsHeader::L1) inL1=i;
+      if(OutputTypes[i] == RinexObsHeader::D1) inD1=i;
+      if(OutputTypes[i] == RinexObsHeader::S1) inS1=i;
+      if(OutputTypes[i] == RinexObsHeader::P2) inP2=i;
+      if(OutputTypes[i] == RinexObsHeader::L2) inL2=i;
+      if(OutputTypes[i] == RinexObsHeader::D2) inD2=i;
+      if(OutputTypes[i] == RinexObsHeader::S2) inS2=i;
+      if(Debug)
+         cout << " " << RinexObsHeader::convertObsType(OutputTypes[i]) << ":" << i;
+   }
+   if(Debug) cout << endl;
+   roh.obsTypeList = OutputTypes;
+
+   roh.interval = 10.; // defined later by data
+   roh.firstObs = CurrEpoch; // defined later by data
+   roh.firstSystem = systemGPS;
+   roh.lastObs = CurrEpoch; // defined later by data
+   //roh.commentList.push_back("Created by GPSTK program " + Prgm + " " + Vers
+      //+ CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S"));
+
+   roh.valid = RinexObsHeader::allValid21;
+   roh.valid |= RinexObsHeader::commentValid;
+
+   // navigation header
+   rnh.version = 2.1;
+   rnh.fileType = "Observation";
+   rnh.fileProgram = roh.fileProgram;
+   rnh.date = CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S");
+   //rnh.commentList.push_back("Created by GPSTK program " + Prgm + " " + Vers
+      //+ CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S"));
+
+   rnh.valid = RinexNavHeader::allValid21;
+   rnh.valid |= RinexNavHeader::commentValid;
+}
+
+//------------------------------------------------------------------------------------
+void UpdateInformation(RinexObsData& rod)
+{
+   int i,j,k;
+   double dt;
+   RinexPrn sat;
+
+   if(fabs(FirstEpoch - DayTime::BEGINNING_OF_TIME) < 1)  {
+      PrevEpoch = FirstEpoch = rod.time;
+      if(Debug) cout << "Set First Epoch to "
+         << rod.time.printf("%Y/%m/%d %H:%02M:%6.3f = %F/%10.3g") << endl;
+   }
+   else
+      PrevEpoch = CurrEpoch;
+   CurrEpoch = rod.time;
+
+      // compute the most likely value of dt, the time spacing of the data
+   dt=CurrEpoch-PrevEpoch;
+   if(dt > 0.0) {
+      for(i=0; i<9; i++) {
+         if(ndt[i] <= 0) { bestdt[i]=dt; ndt[i]=1; break; }
+         if(fabs(dt-bestdt[i]) < 0.0001) { ndt[i]++; break; }
+         if(i == 8) {
+            k = 0;
+            int nleast=ndt[k];
+            for(j=1; j<9; j++) if(ndt[j] <= nleast) {
+               k=j; nleast=ndt[j];
+            }
+            ndt[k]=1; bestdt[k]=dt;
+         }
+      }
+   }
+
+   RinexObsData::RinexPrnMap::iterator jt;
+   map<RinexPrn,vector<int> >::iterator it;
+   for(jt=rod.obs.begin(); jt != rod.obs.end(); jt++) {
+      // find this satellite in the table
+      sat = jt->first;
+      if((it=table.find(sat)) == table.end()) {
+         table[sat] = vector<int>(OutputTypes.size(),0);
+         it = table.find(sat);
+      }
+
+      // increment counter for each obstype found
+      if(inC1 >= 0 &&
+         rod.obs[sat][RinexObsHeader::C1].data != 0.0) {
+         table[sat][inC1]++;
+         totals[inC1]++;
+      }
+      if(inP1 >= 0 &&
+         rod.obs[sat][RinexObsHeader::P1].data != 0.0) {
+         table[sat][inP1]++;
+         totals[inP1]++;
+      }
+      if(inL1 >= 0 &&
+         rod.obs[sat][RinexObsHeader::L1].data != 0.0) {
+         table[sat][inL1]++;
+         totals[inL1]++;
+      }
+      if(inD1 >= 0 &&
+         rod.obs[sat][RinexObsHeader::D1].data != 0.0) {
+         table[sat][inD1]++;
+         totals[inD1]++;
+      }
+      if(inS1 >= 0 &&
+         rod.obs[sat][RinexObsHeader::S1].data != 0.0) {
+         table[sat][inS1]++;
+         totals[inS1]++;
+      }
+      if(inP2 >= 0 &&
+         rod.obs[sat][RinexObsHeader::P2].data != 0.0) {
+         table[sat][inP2]++;
+         totals[inP2]++;
+      }
+      if(inL2 >= 0 &&
+         rod.obs[sat][RinexObsHeader::L2].data != 0.0) {
+         table[sat][inL2]++;
+         totals[inL2]++;
+      }
+      if(inD2 >= 0 &&
+         rod.obs[sat][RinexObsHeader::D2].data != 0.0) {
+         table[sat][inD2]++;
+         totals[inD2]++;
+      }
+      if(inS2 >= 0 &&
+         rod.obs[sat][RinexObsHeader::S2].data != 0.0) {
+         table[sat][inS2]++;
+         totals[inS2]++;
+      }
+   }
+}
+
+//------------------------------------------------------------------------------------
+string GetTempFileName(void)
+{
+#ifdef _MSC_VER
+   char newname[L_tmpnam];
+   if(!tmpnam(newname)) {
+#else
+   char newname[]="TempnovaRinex.XXXXXX";
+   if(mkstemp(newname)==-1) {
+#endif
+      return string("");
+   }
+   return string(newname);
+}
+
+//------------------------------------------------------------------------------------
+int UpdateHeader(string& TempFile, string& OutputFile, RinexObsHeader& rh)
+{
+   int i,j;
+
+   // update header
+   if(FillOptionalHeader) {
+      for(i=1,j=0; i<9; i++) if(ndt[i]>ndt[j]) j=i;
+      rh.interval = bestdt[j];
+      rh.valid |= RinexObsHeader::intervalValid;
+      rh.firstObs = FirstEpoch;
+      rh.lastObs = CurrEpoch;
+      rh.valid |= RinexObsHeader::lastTimeValid;
+   }
+
+   // edit out obs types that have no data
+   vector<RinexObsHeader::RinexObsType>::iterator it;
+   vector<int> indexes;    // indexes is a list of 'good' indexes into table
+   for(i=0, it=rh.obsTypeList.begin(); it != rh.obsTypeList.end(); i++) {
+      if(totals[i] <= 0) {
+         // no data for this obs type
+         if(Debug) cout << " Obs type " << RinexObsHeader::convertObsType(*it)
+            << " had no data - delete" << endl;
+         // delete from header
+         rh.obsTypeList.erase(it);
+      }
+      else {
+         indexes.push_back(i);      // this is an index with data
+         it++;
+      }
+   }
+   // now edit the table
+   map<RinexPrn,vector<int> >::iterator jt;
+   for(jt=table.begin(); jt != table.end(); jt++) {      // for each sat..
+      for(j=0,i=0; i<indexes.size(); i++,j++)
+         if(j != indexes[i]) jt->second[j] = jt->second[indexes[i]];
+      jt->second.resize(indexes.size());
+   }
+   
+
+   // add the PRN/obs table
+   if(FillOptionalHeader && table.size() > 0) {
+      rh.numSVs = table.size();
+      rh.valid |= RinexObsHeader::numSatsValid;
+      rh.numObsForPrn.clear();
+      rh.numObsForPrn = table;
+      rh.valid |= RinexObsHeader::prnObsValid;
+   }
+
+      // re-open the file and replace the header
+   RinexObsHeader rhjunk;
+   RinexObsStream InAgain(TempFile.c_str());
+   RinexObsStream ROutStr(OutputFile.c_str(), ios::out);
+   InAgain.exceptions(fstream::failbit);
+   ROutStr.exceptions(fstream::failbit);
+
+   if(Debug) cout << "Opened " << OutputFile << " for output." << endl;
+   InAgain >> rhjunk;
+   ROutStr << rh;
+
+   RinexObsData robs;
+   while(InAgain >> robs)
+      ROutStr << robs;
+
+   //InAgain.clear();
+   InAgain.close();
+   //ROutStr.clear();
+   ROutStr.close();
+
+      // delete the temporary
+   if(remove(TempFile.c_str()) != 0) {
+      cerr << "Error: Could not remove existing temp file: " << TempFile << endl;
+      return -1;
+   }
+   else if(Debug) cout << "Deleted temporary file " << TempFile << endl;
+
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+int GetCommandInput(int argc, char **argv)
+{
+try {
+   int i,j;
+   vector<string> values;
+
+   // --------------------------------------------------------------------------------
+   // set all the defaults
+   Debug = help = false;
+   BegTime = DayTime::BEGINNING_OF_TIME;
+   EndTime = DayTime::END_OF_TIME;
+   //NovatelFile,
+   RinexObsFile = string("RnovaRinex.obs");
+   RinexNavFile = string("RnovaRinex.nav");
+   InputDirectory = string(".");
+   // header fields
+   FillOptionalHeader = true;
+   roh.fileProgram = Prgm+" "+Vers;
+   roh.fileAgency = string("ARL:UT/GPSTk");
+   roh.observer = string(" ");
+   roh.agency = string("ARL:UT/GPSTk");
+   roh.markerName = string(" ");
+   roh.markerNumber = string(" ");
+   roh.recNo = " ";
+   roh.recType = "Novatel";
+   roh.recVers = "OEM2/4"; // defined later by data
+   roh.antNo = " ";
+   roh.antType = " ";
+   //string HDRxNo,HDRxType,HDRxVer,HDAntNo,HDAntType;     // TD
+   //vector<string> HDcomments;        // none
+   //vector<RinexObsHeader::RinexObsType> OutputTypes;  // define later
+   gpsWeek = -1;
+   debias = false;
+
+   // --------------------------------------------------------------------------------
+   // Define the options
+
+   // required options:
+   RequiredOption dashinput(CommandOption::hasArgument, CommandOption::stdType,
+      0,"input"," --input <file>    Novatel binary input file");
+   dashinput.setMaxCount(1);
+
+   // optional arguments:
+   // this is here only so it will show up in the help msg...
+   CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+      'f',""," -f<file>          Name of file containing more options"
+      " ('#' to EOL : comment)");
+
+   CommandOption dashdir(CommandOption::hasArgument, CommandOption::stdType,0,"dir",
+      " --dir <dir>       Directory in which to find input file (defaults to ./)");
+   dashdir.setMaxCount(1);
+
+   CommandOption dashobs(CommandOption::hasArgument, CommandOption::stdType,0,"obs",
+      " --obs <file>      Rinex observation output file (RnovaRinex.obs)");
+   dashobs.setMaxCount(1);
+
+   CommandOption dashnav(CommandOption::hasArgument, CommandOption::stdType,0,"nav",
+      " --nav <file>      Rinex navigation output file (RnovaRinex.nav)");
+   dashnav.setMaxCount(1);
+
+   CommandOption dashNHF(CommandOption::hasArgument, CommandOption::stdType,0,
+      "noHDopt", "\nOutput Rinex header fields:\n --noHDopt         If present, "
+      "do not fill optional records in the output Rinex header");
+   dashNHF.setMaxCount(1);
+
+   CommandOption dashHDp(CommandOption::hasArgument, CommandOption::stdType,0,"HDp",
+      " --HDp <program>   Set output Rinex header 'program' field ('"
+      + roh.fileProgram + "')");
+   dashHDp.setMaxCount(1);
+
+   CommandOption dashHDr(CommandOption::hasArgument, CommandOption::stdType,0,"HDr",
+      " --HDr <run_by>    Set output Rinex header 'run by' field ('"
+      + roh.fileAgency + "')");
+   dashHDr.setMaxCount(1);
+
+   CommandOption dashHDo(CommandOption::hasArgument, CommandOption::stdType,0,"HDo",
+      " --HDo <obser>     Set output Rinex header 'observer' field ('"
+      + roh.observer + "')");
+   dashHDo.setMaxCount(1);
+
+   CommandOption dashHDa(CommandOption::hasArgument, CommandOption::stdType,0,"HDa",
+      " --HDa <agency>    Set output Rinex header 'agency' field ('"
+      + roh.agency + "')");
+   dashHDa.setMaxCount(1);
+
+   CommandOption dashHDm(CommandOption::hasArgument, CommandOption::stdType,0,"HDm",
+      " --HDm <marker>    Set output Rinex header 'marker' field ('"
+      + roh.markerName + "')");
+   dashHDm.setMaxCount(1);
+
+   CommandOption dashHDn(CommandOption::hasArgument, CommandOption::stdType,0,"HDn",
+      " --HDn <number>    Set output Rinex header 'number' field ('"
+      + roh.markerNumber + "')");
+   dashHDn.setMaxCount(1);
+
+   CommandOption dashHDrn(CommandOption::hasArgument, CommandOption::stdType,0,"HDrn",
+      " --HDrn <number>   Set output Rinex header 'Rx number' field ('"
+      + roh.recNo + "')");
+   dashHDrn.setMaxCount(1);
+
+   CommandOption dashHDrt(CommandOption::hasArgument, CommandOption::stdType,0,"HDrt",
+      " --HDrt <type>     Set output Rinex header 'Rx type' field ('"
+      + roh.recType + "')");
+   dashHDrt.setMaxCount(1);
+
+   CommandOption dashHDrv(CommandOption::hasArgument, CommandOption::stdType,0,"HDrv",
+      " --HDrv <vers>     Set output Rinex header 'Rx version' field ('"
+      + roh.recVers + "')");
+   dashHDrv.setMaxCount(1);
+
+   CommandOption dashHDan(CommandOption::hasArgument, CommandOption::stdType,0,"HDan",
+      " --HDan <number>   Set output Rinex header 'antenna number' field ('"
+      + roh.antNo + "')");
+   dashHDan.setMaxCount(1);
+
+   CommandOption dashHDat(CommandOption::hasArgument, CommandOption::stdType,0,"HDat",
+      " --HDat <type>     Set output Rinex header 'antenna type' field ('"
+      + roh.antType + "')");
+   dashHDat.setMaxCount(1);
+
+   CommandOption dashHDc(CommandOption::hasArgument, CommandOption::stdType,0,"HDc",
+      " --HDc <comment>   Add comment to output Rinex header (>1 allowed).");
+   //dashHDc.setMaxCount(1);
+
+   CommandOption dashobstype(CommandOption::hasArgument, CommandOption::stdType,
+   0,"obstype","\nOutput Rinex observation data:\n"
+   " --obstype <OT>    Output this Rinex (standard) obs type (i.e. <OT> is one of\n"
+   "                     L1,L2,C1,P1,P2,D1,D2,S1,or S2); repeat for each type.\n"
+   "                     NB default is ALL std. types that have data.");
+   //dashobstype.setMaxCount(1);
+
+
+   // times
+   CommandOptionWithTimeArg dasheb(0,"begin","%Y,%m,%d,%H,%M,%f",
+      "\nOutput configuration:\n --begin <arg>     Start time, arg is of the form "
+      "YYYY,MM,DD,HH,Min,Sec");
+   CommandOptionWithTimeArg dashgb(0,"beginGPS","%F,%g",
+      " --beginGPS <arg>  Start time, arg is of the form GPSweek,GPSsow");
+
+   CommandOptionWithTimeArg dashee(0,"end","%Y,%m,%d,%H,%M,%f",
+      " --end <arg>       End time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+   CommandOptionWithTimeArg dashge(0,"endGPS","%F,%g",
+      " --endGPS <arg>    End time, arg is of the form GPSweek,GPSsow");
+
+   // allow ONLY one start time (use startmutex(true) if one is required)
+   CommandOptionMutex startmutex(false);
+   startmutex.addOption(&dasheb);
+   startmutex.addOption(&dashgb);
+   CommandOptionMutex stopmutex(false);
+   stopmutex.addOption(&dashee);
+   stopmutex.addOption(&dashge);
+
+   CommandOption dashweek(CommandOption::hasArgument, CommandOption::stdType,0,"week",
+   " --week <week>     GPS Week number of this data, NB: this is for OEM2;\n"
+   "                     this command serves two functions, resolving the ambiguity\n"
+   "                     in the 10-bit week (default uses --begin, --end, or the\n"
+   "                     current system time) and ensuring that ephemeris records\n"
+   "                     that precede any obs records are not lost.");
+   dashweek.setMaxCount(1);
+
+   CommandOption dashdebias(CommandOption::hasArgument, CommandOption::stdType,
+      0,"debias", " --debias          Remove an initial bias from the phase");
+   dashdebias.setMaxCount(1);
+
+   CommandOption dashhelp(CommandOption::hasArgument, CommandOption::stdType,
+      'h',"help", " [-h|--help]       print this message and quit");
+   dashhelp.setMaxCount(1);
+
+   CommandOption dashDebug(CommandOption::hasArgument, CommandOption::stdType,
+      'd',"debug", " [-d|--debug]      print extended output info");
+   dashDebug.setMaxCount(1);
+
+
+   // ... other options
+   CommandOptionRest Rest("");
+
+   // --------------------------------------------------------------------------------
+   // Define the parser here, after the options -- this is the 'prgm description'
+   CommandOptionParser Par(
+" Prgm " + Prgm + " (" + Vers + ") will open and read a binary Novatel file\n"
+"  (OEM2 and OEM4 receivers are supported), and convert the data to Rinex format\n"
+"  observation and navigation files. The Rinex header is filled using user input\n"
+"  (see below), and optional records are filled. Input is on the command line,\n"
+"  or of the same format in a file (-f<file>).\n");
+
+   // parse the command line
+   // allow user to put all options in a file
+   // PreProcessArgs pulls out help and Debug
+   vector<string> Args;
+   for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args);
+   argc = Args.size();
+   if(argc==0)
+      help = true;
+
+      // pass the rest
+   argc = Args.size()+1;
+   char **CArgs=new char*[argc];
+   if(!CArgs) { cerr << "Failed to allocate CArgs\n"; return -1; }
+   CArgs[0] = argv[0];
+   for(j=1; j<argc; j++) {
+      CArgs[j] = new char[Args[j-1].size()+1];
+      if(!CArgs[j]) { cerr << "Failed to allocate CArgs[j]\n"; return -1; }
+      strcpy(CArgs[j],Args[j-1].c_str());
+   }
+
+   if(Debug) {
+      cout << "Argument list passed to parser:\n";
+      for(j=0; j<argc; j++) cout << j << " " << CArgs[j] << endl;
+   }
+
+   Par.parseOptions(argc, CArgs);
+   for(j=1; j<argc; j++) delete[] CArgs[j];
+   delete[] CArgs;
+
+   // if help, print usage
+   if(help) {
+      Par.displayUsage(cout,false);
+      cout << endl;
+   }
+
+   // check for errors on the command line
+   if (Par.hasErrors())
+   {
+      cerr << "\nErrors found in command line input:\n";
+      Par.dumpErrors(cerr);
+      cerr << "...end of Errors\n\n";
+      help = true;
+   }
+
+   if(help && argc > 1)
+      cout << endl << "--------- parsed input:" << endl;
+
+   // --------------------------------------------------------------------------------
+   // pull out the parsed input
+
+   // these already parsed by PreProcessArgs
+   //if(dashhelp.getCount()) help
+   //if(dashDebug.getCount()) Debug
+
+   if(dashinput.getCount()) {
+      values = dashinput.getValue();
+      if(help) cout << " Input Novatel file name " << values[0] << endl;
+      NovatelFile = values[0];
+   }
+   if(dashdir.getCount()) {
+      values = dashdir.getValue();
+      if(help) cout << " Input Novatel file directory " << values[0] << endl;
+      InputDirectory = values[0];
+   }
+   if(dashobs.getCount()) {
+      values = dashobs.getValue();
+      if(help) cout << " Input Rinex obs file name " << values[0] << endl;
+      RinexObsFile = values[0];
+   }
+   if(dashnav.getCount()) {
+      values = dashnav.getValue();
+      if(help) cout << " Input Rinex nav file name " << values[0] << endl;
+      RinexNavFile = values[0];
+   }
+   if(dashNHF.getCount()) {
+      values = dashNHF.getValue();
+      if(help) cout << " Turn off filling of optional header" << endl;
+      FillOptionalHeader = false;
+   }
+   if(dashHDp.getCount()) {
+      values = dashHDp.getValue();
+      if(help) cout << " Input header program name " << values[0] << endl;
+      roh.fileProgram = values[0];
+   }
+   if(dashHDr.getCount()) {
+      values = dashHDr.getValue();
+      if(help) cout << " Input header 'run by' field " << values[0] << endl;
+      roh.fileAgency = values[0];
+   }
+   if(dashHDo.getCount()) {
+      values = dashHDo.getValue();
+      if(help) cout << " Input header observer field " << values[0] << endl;
+      roh.observer = values[0];
+   }
+   if(dashHDa.getCount()) {
+      values = dashHDa.getValue();
+      if(help) cout << " Input header agency field " << values[0] << endl;
+      roh.agency = values[0];
+   }
+   if(dashHDm.getCount()) {
+      values = dashHDm.getValue();
+      if(help) cout << " Input header marker field " << values[0] << endl;
+      roh.markerName = values[0];
+   }
+   if(dashHDn.getCount()) {
+      values = dashHDn.getValue();
+      if(help) cout << " Input header marker name " << values[0] << endl;
+      roh.markerNumber = values[0];
+   }
+   if(dashHDrn.getCount()) {
+      values = dashHDrn.getValue();
+      if(help) cout << " Input header receiver number " << values[0] << endl;
+      roh.recNo = values[0];
+   }
+   if(dashHDrt.getCount()) {
+      values = dashHDrt.getValue();
+      if(help) cout << " Input header receiver type " << values[0] << endl;
+      roh.recType = values[0];
+   }
+   if(dashHDrv.getCount()) {
+      values = dashHDrv.getValue();
+      if(help) cout << " Input header receiver version " << values[0] << endl;
+      roh.recVers = values[0];
+   }
+   if(dashHDan.getCount()) {
+      values = dashHDan.getValue();
+      if(help) cout << " Input header antenna number " << values[0] << endl;
+      roh.antNo = values[0];
+   }
+   if(dashHDat.getCount()) {
+      values = dashHDat.getValue();
+      if(help) cout << " Input header antenna type " << values[0] << endl;
+      roh.antType = values[0];
+   }
+   if(dashHDc.getCount()) {
+      values = dashHDc.getValue();
+      if(help) cout << " Input comment for header " << values[0] << endl;
+      NovatelFile = values[0];
+   }
+   if(dashobstype.getCount()) {
+      values = dashobstype.getValue();
+      for(i=0; i<values.size(); i++) {
+         RinexObsHeader::RinexObsType rot;
+         rot = RinexObsHeader::convertObsType(values[i]);
+         OutputTypes.push_back(rot);
+         if(help) cout << " Input output Rinex obs type " << values[i] << endl;
+      }
+   }
+   if(dasheb.getCount()) {
+      values = dasheb.getValue();
+      BegTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+      if(help) cout << " Input begin time " << values[0] << " = " << BegTime << endl;
+      if(gpsWeek == -1) gpsWeek = BegTime.GPSfullweek();
+   }
+   if(dashgb.getCount()) {
+      values = dashgb.getValue();
+      BegTime.setToString(values[0], "%F,%g");
+      if(help) cout << " Input begin time " << values[0] << " = " << BegTime << endl;
+      if(gpsWeek == -1) gpsWeek = BegTime.GPSfullweek();
+   }
+   if(dashee.getCount()) {
+      values = dashee.getValue();
+      EndTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+      if(help) cout << " Input end time " << values[0] << " = " << EndTime << endl;
+      if(gpsWeek == -1) gpsWeek = EndTime.GPSfullweek();
+   }
+   if(dashge.getCount()) {
+      values = dashge.getValue();
+      EndTime.setToString(values[0], "%F,%g");
+      if(help) cout << " Input end time " << values[0] << " = " << EndTime << endl;
+      if(gpsWeek == -1) gpsWeek = EndTime.GPSfullweek();
+   }
+   if(dashweek.getCount()) {
+      values = dashweek.getValue();
+      gpsWeek = StringUtils::asInt(values[0]);
+   }
+   if(dashdebias.getCount()) {
+      values = dashdebias.getValue();
+      if(help) cout << " Turn on debiasing of the phase " << values[0] << endl;
+      debias = true;
+   }
+   //if(dashhelp.getCount()) {
+   //   help = true;
+   //}
+   //if(dashDebug.getCount()) {
+   //   Debug = true;
+   //}
+
+   // process input
+   if(gpsWeek == -1) gpsWeek = CurrEpoch.GPSfullweek();
+   if(OutputTypes.size() == 0) {                     // fill with the standard types
+      OutputTypes.push_back(RinexObsHeader::C1);
+      OutputTypes.push_back(RinexObsHeader::P1);
+      OutputTypes.push_back(RinexObsHeader::L1);
+      OutputTypes.push_back(RinexObsHeader::D1);
+      OutputTypes.push_back(RinexObsHeader::S1);
+      OutputTypes.push_back(RinexObsHeader::P2);
+      OutputTypes.push_back(RinexObsHeader::L2);
+      OutputTypes.push_back(RinexObsHeader::D2);
+      OutputTypes.push_back(RinexObsHeader::S2);
+   }
+   // table will be initialized inside the loop
+   totals = vector<int>(OutputTypes.size(),0);
+
+   if(help) return 1;
+   return 0;
+}
+catch(Exception& e) { GPSTK_RETHROW(e); }
+}
+
+//------------------------------------------------------------------------------------
+void PreProcessArgs(const char *arg, vector<string>& Args)
+{
+try {
+   if(arg[0]=='-' && arg[1]=='f') {
+      string filename(arg);
+      filename.erase(0,2);
+      if(Debug) cout << "Found a file of options: " << filename << endl;
+      ifstream infile(filename.c_str());
+      if(!infile) {
+         cerr << "Error: could not open options file "
+            << filename << endl;
+      }
+      else {
+         char c;
+         string buffer;
+         while( infile >> buffer) {
+            if(buffer[0] == '#') {         // skip to end of line
+               while(infile.get(c)) { if(c=='\n') break; }
+            }
+            else PreProcessArgs(buffer.c_str(),Args);
+         }
+      }
+   }
+   else if((arg[0]=='-' && arg[1]=='h') || string(arg)==string("--help")) {
+      help = true;
+      if(Debug) cout << "Found the help switch" << endl;
+   }
+   else if((arg[0]=='-' && arg[1]=='d') || string(arg)==string("--debug")) {
+      Debug = true;
+      cout << "Found the debug switch" << endl;
+   }
+   else Args.push_back(arg);
+}
+catch(Exception& e) { GPSTK_RETHROW(e); }
+}
+
+//------------------------------------------------------------------------------------
+void DumpCommandLine(ostream& ofs)
+{
+try {
+   int i;
+
+   ofs << "Summary of command line input:" << endl;
+   ofs << " Debug is " << (Debug ? "on":"off") << endl;
+   if(!InputDirectory.empty()) ofs << " Path for input Novatel file is "
+      << InputDirectory << endl;
+   ofs << " Input Novatel file is: " << NovatelFile << endl;
+   ofs << " Output Rinex obs file is: " << RinexObsFile << endl;
+   ofs << " Output Rinex nav file is: " << RinexNavFile << endl;
+   ofs << " --------- Header information:\n";
+   if(!FillOptionalHeader) ofs << " Do not";
+   ofs << " Fill optional records in header" << endl;
+   ofs << " Header program: " << roh.fileProgram << endl;
+   ofs << " Header run by: " << roh.fileAgency << endl;
+   ofs << " Header observer: " << roh.observer << endl;
+   ofs << " Header agency: " << roh.agency << endl;
+   ofs << " Header marker name: " << roh.markerName << endl;
+   ofs << " Header marker number: " << roh.markerNumber << endl;
+   if(HDcomments.size() > 0) {
+      ofs << " Header comments:\n";
+      for(i=0; i<HDcomments.size(); i++) ofs << HDcomments[i] << endl;
+   }
+   ofs << " Output Rinex observation types (if found in the data):\n";
+   for(i=0; i<OutputTypes.size(); i++)
+      ofs << " " << RinexObsHeader::convertObsType(OutputTypes[i]);
+   ofs << endl;
+   if(BegTime > DayTime::BEGINNING_OF_TIME) ofs << " Begin time is "
+      << BegTime.printf("%Y/%m/%d %H:%02M:%6.3f = %F/%10.3g") << endl;
+   if(EndTime < DayTime::END_OF_TIME) ofs << " End   time is "
+      << EndTime.printf("%Y/%m/%d %H:%02M:%6.3f = %F/%10.3g") << endl;
+   ofs << " Debiasing of phase is turned " << (debias ? "on" : "off") << endl;
+
+   ofs << "End of command line input summary." << endl;
+}
+catch(Exception& e) { GPSTK_RETHROW(e); }
+}
+
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/cycleslips/DiscCorr.cpp b/trunk/apps/cycleslips/DiscCorr.cpp
new file mode 100644
index 0000000..f1428c6
--- /dev/null
+++ b/trunk/apps/cycleslips/DiscCorr.cpp
@@ -0,0 +1,2902 @@
+// DiscCorr.cpp  GPS carrier phase discontinuity correction. Given arrays containing
+//    dual-frequency pseudorange and phase, detect discontinuities in the phase
+//    and if possible estimate their size. Output is in the form of Rinex
+//    editing commands (see PRGM RinexEdit) that delete bad data and remove the
+//      discontinuities.
+//------------------------------------------------------------------------------------
+// DiscCorr is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/cycleslips/DiscCorr.cpp#4 $"
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+/**
+ * @file DiscCorr.cpp
+ * Discontinuity correction of GPS carrier phase data.
+ */
+
+//------------------------------------------------------------------------------------
+// The algorithm used in this code is based on the paper by Geoffrey Blewitt:
+// "An Automatic Editing Algorithm for GPS Data", Geophysical Research Letters,
+// Vol. 17, No. 3, pp 199-202, 1990.
+//
+// The algorithm requires input of dual frequency pseudorange and carrier phase
+// data (assumed expressed in units of meters and cycles, respectively),
+// usually for an entire satellite pass; these are called P1,P2,L1 & L2.
+// (The input - see class SVPass - consists of 4 parallel double arrays named
+// P1,P2,L1,L2, plus a parallel integer array Flag.)
+//
+// Obvious outliers and bad points are marked, and then linear combinations of
+// these four data are formed, as follows.
+// L1 -> L1
+// L2 -> L1-L2 = geometry-free phase or GFP.
+//             GFP = [(f1/f2)^2-1]*I + wl1*N1 - wl2*N2
+// GFP is also called the ionospheric phase, b/c it ~= ionosphere + bias
+//
+// Also,
+//             Let WLP = (f1*L1-f2*L2)/(f1-f2) (the wide lane phase)
+//             and NLR = (f1*P1+f2*P2)/(f1+f2) (the narrow lane range), then
+// P1 -> WLP-NLR = the Wide-Lane Phase minus the Narrow-Lane Range, sometimes
+//             called (sic) 'wide-lane range minus phase' or
+//             the Melbourne-Wubbena combination;
+//             Here it is 'wide-lane bias' or WLB because WLP-NLR = wlwl*NWL,
+//             where NWL = N1 - N2;
+// i.e. it behaves as if it were merely a carrier of a different frequency.
+//
+// P2 -> P2-P1 = the negative of the geometry-free range or -GFR
+//             -GFR = [(f1/f2)^2-1]*I
+// Note that GFP-GFR does NOT have the 'new carrier' property that WLB does,
+// since GFP-GFR = wl1*N1-wl2*N2, and this combo cannot be set equal to wlX*NX.
+// 
+// The following definitions are used above and in the code:
+// I = ionospheric delay (meters) on L1.
+// f0 = GPS fundamental frequency = 10.23MHz
+// f1 = frequency multiplier for L1 = 154
+// f2 = frequency multiplier for L2 = 120
+// c = speed of light = 299792458.0 m/s
+// wl1 = wavelength of L1 = f1*f0/c = 19.0cm
+// wl2 = wavelength of L2 = f2*f0/c = 24.4cm
+// wlwl= wavelength of WL = 86.2cm
+// wl21= wl2-wl1 = 5.4cm
+// N1 and N2 are the biases on the phases L1 and L2;
+//    i.e. ideally P1 = wl1*(L1+N1) and P2 = wl2*(L2+N2).
+// NWL = N1-N2, and note that GFP+GFR = wl1*N1-wl2*N2 = wl2*NWL-wl21*N1
+//
+// [In practice here N1, N2 and NWL will refer to CHANGES, or 'slips', in these
+// biases, rather than the biases themselves.]
+//       
+//
+// The algorithm takes the approach of resolving the wide lane bias, then
+// correcting the GFP for NWL and then solving for N1 using the GFP. This is
+// done in four steps.
+//
+// 1. Detect slips (changes in bias) in the wide-lane bias.
+//    This is done by computing statistics on the WL bias, using two sliding
+//    windows of fixed width, one including the future of the point and the
+//    point itself, the other containing the past of the point. The difference
+//    in averages in these two windows is compared with the total variance.
+//    By carefully examining the test and the standard deviations of the two
+//    windows, we can mark outliers and identify slips.
+//    After detecting large slips this way, the dual-sliding-window-statistics
+//    process is repeated with a much larger window width, in order to find
+//    small slips.
+//    At the end of this part, the WL data is divided into continuous segments,
+//    each with statistics (average and std dev) computed.
+//
+// 2. Estimate ('fix') the wide-lane bias, and correct the GFP for WL slips.
+//    The estimate is simply the difference of the average WLbias in the two
+//    adjoining segments on either side of the slip. If successful, the first
+//    point in the future of the slip is marked with a flag 'WL fixed', and
+//    the estimated NWL slip is used to correct the GFP.
+//
+// 3. Detect slips in the GFP (i.e. changes in N1, with effective wl=5.4cm).
+//    GFP now == [(f1/f2)^2-1]*I - wl21*N1, where wl21=5.4cm. To detect slips
+//    in the GFP, a polynomial is fit to the GF range and added (note signs)
+//    to the GFP. This has the effect of removing a smoothed estimate of the
+//    ionospheric term I that is common to both GFP and GFR. The degree of the
+//    polynomial fit is determined by the number of points in the segment and
+//    the size of the gap between segments; it can also be increased by user
+//    input (parameter GFPolynomMaxDeg). The GF residual [=GFP+Fit(GFR)] is 
+//      scanned for discontinuities; outliers may be rejected and new slips may
+//    be found. New (GF only) slips are marked with a 'GF detected' flag, and
+//    old (WL) slips are also tested and marked when a GF slip is found.
+//    At the end of this step, the data is cleaned (bad points are marked)
+//    and divided into segments, with the beginning of each segment (a good pt)
+//    marked with either 'WL detected' or 'WL fixed' and/or 'GF detected'.
+//
+//    Note that slips in the WL only, or in the GF only, are the same as slips
+//    in both WL and GF, they simply happen to have particular values of N1
+//    and/or N2. Specifically, if N1==N2 then NWL=0 and there is no slip in the
+//    WLbias; and if N1==0, NWL = -N2 and there is no GF slip.
+//
+// 4. Fix slips in the GFP.
+//    Slips in the GFP are estimated by fitting a polynomial to the GFP data on
+//    each side of the detected slip. The RMS residual of fit on both sides of
+//    the slip are used to judge whether the estimation is acceptable. If it is
+//    not, the number of data points used in the fit is first halved, then
+//    doubled, and the fix is attempted again.
+//
+//------------------------------------------------------------------------------------
+// A note about Debug. Debug is an int, set using the Debug,<n> DC command. The
+// value of <n> determines how much output there is, as follows.
+//  n   output: this plus everything at smaller n
+// ---- ----------------------------------------------------
+//  0   nothing
+//  1   Summary of input
+//  2   High level actions, change in GDC config, results summary, timing
+//  3   Actual results (Rinex Editor commands), stats on SVPass smoothing
+//  4   All SVPass information - defined, filled, processed, done, etc.
+//  5   List of GDC segments, dump data: before,linear combo, WL, GF, after
+//      processing.
+//  6   Dump WL statistical, and GF range fit, data
+//  7   Editing actions, outliers, GFR fit and slip fixing stats and decisions.
+//
+// Debug > 2 is pretty expensive (in time) because the iostreams library is slow.
+//------------------------------------------------------------------------------------
+// TD
+// GFSlipFix should use n *good* points on either side of slip, not just
+//  n values of the index - there are cases where you get too few points. Could
+//  this be solved by marking as bad isolated points near the slip? - gap size?
+// ** Real data shows trends in the WLB, enough so that the avereage of a large
+//  segment can be influenced adversely, giving the wrong WL slip. Consider
+//  using a smaller portion of large segments to compute the avereage in WLSFix.
+//  Or perhaps look at sigma and decrease the window width when sig is large -
+//   no, this seems to be too insensitive - perhaps fit a slope.
+// Gap size -- it could be much larger, especially at low latitudes.
+// Are the DumpSegment data for WLL WLS and WLF the same?
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+#include "MathBase.hpp"
+#include "StringUtils.hpp"
+#include "PolyFit.hpp"
+#include "DiscCorr.hpp"
+#include "Stats.hpp"
+#include "icd_200_constants.hpp"    // PI,C_GPS_M,OSC_FREQ,L1_MULT,L2_MULT
+
+#include <string>
+#include <iostream>
+#include <sstream>
+#include <vector>
+#include <list>
+#include <algorithm>
+
+using namespace std;
+using namespace gpstk;
+
+//------------------------------------------------------------------------------------
+//string GDCVersion("4.0 12/12/2003");   // Version
+string GDCVersion("4.1 08/16/2005");   // Version
+int GDCUnique=0;                       // unique number for each call
+int GDCNFail,GDCNFix,GFSj;             // for output
+int ibad[10];                          // TD
+double dbad[10];                       // TD
+#define LGF *(GDC.oflog)
+
+//------------------------------------------------------------------------------------
+// Segment - used internally only.
+// Define an object to hold information about Segments = periods of continuous
+// phase; keep a linked list of these objects, and subdivide whenever a
+// discontinuity is detected.
+class Segment {
+public:
+      // member data
+   int nbeg,nend;          // array indexes of the first and last good points
+   int npts;               // number of good points in this Segment
+   double bias1,bias2;     // biases for this Segment: WL,GF, then L1,L2
+   long NWL,N1;            // slip fixes for WL (N1-N2) and GF (=N1)
+   Stats<double> WLStat;   // includes N,min,max,ave,sig
+   PolyFit<double> PF;     // for fit to GF range
+   double RMSROF;          // RMS residual of fit of polynomial (PF) to GFR
+      // member functions
+   Segment(void)
+   { WLStat.Reset(); nend=nbeg=npts=0; bias1=bias2=0; N1=NWL=0; }
+   Segment(const Segment& s)
+   { npts=s.npts; nbeg=s.nbeg; nend=s.nend; NWL=s.NWL; N1=s.N1;
+      bias1=s.bias1; bias2=s.bias2; WLStat=s.WLStat; PF=s.PF; }
+   ~Segment(void) {}
+   Segment& operator=(const Segment& s)
+   { if(this==&s) return *this; nbeg=s.nbeg; nend=s.nend; NWL=s.NWL;
+	   N1=s.N1; bias1=s.bias1; bias2=s.bias2;
+      WLStat=s.WLStat; PF=s.PF; return *this; }
+}; // end class Segment
+
+//------------------------------------------------------------------------------------
+// SegList is a list of Segments, always in time order, of segments of
+// continuous data within the SVPass.
+list<Segment> SegList;
+
+//------------------------------------------------------------------------------------
+// internal function prototypes
+int Preprocess(SVPass& SVP, GDCConfig& C);
+int LinearCombinations(SVPass& SVP, GDCConfig& C);
+int WLSlipDetect(SVPass& SVP, GDCConfig& C);
+int WLSlipDetectLarge(SVPass& SVP, GDCConfig& C);
+int WLSlipDetectSmall(SVPass& SVP, GDCConfig& C);
+int WLStatSweep(SVPass& SVP, GDCConfig& C, int nb, int ne, int iwid, int iseg);
+void DivideWLSegments(SVPass& SVP, GDCConfig& C);
+int WLSlipFix(SVPass& SVP, GDCConfig& C);
+int GFSlipDetect(SVPass& SVP, GDCConfig& C);
+int GFRangePolynomialFit(SVPass& SVP,GDCConfig& C,list<Segment>::iterator& it,int j);
+int GFSlipFix(SVPass& SVP, GDCConfig& C);
+int CorrectData(SVPass& SVP, GDCConfig& C);
+void CorrectSegments(SVPass& SVP, GDCConfig& C);
+void DumpSegments(const string& lab, int N, GDCConfig& C, SVPass& SVP);
+int OutputAndQuit(SVPass& SVP, GDCConfig& C, vector<string>& EditCmds, int iret);
+
+//------------------------------------------------------------------------------------
+// constants used in linear combinations
+const double CFF=C_GPS_M/OSC_FREQ;
+const double F1=L1_MULT;   // 154.0;
+const double F2=L2_MULT;   // 120.0;
+const double f12=F1*F1;
+const double f22=F2*F2;
+   // wavelengths
+const double wl1=CFF/F1;                        // 19.0cm
+const double wl2=CFF/F2;                        // 24.4cm
+const double wlwl=CFF/(F1-F2);                  // 86.2cm, the widelane wavelength
+const double wl21=CFF*(1.0/F2 - 1.0/F1);        // 5.4cm, the 'GF' wavelength
+   // for widelane R & Ph
+const double wl1r=F1/(F1+F2);
+const double wl2r=F2/(F1+F2);
+const double wl1p=wl1*F1/(F1-F2);
+const double wl2p=-wl2*F2/(F1-F2);
+   // ionosphere-free R and Ph
+const double if1r=f12/(f12-f22);
+const double if2r=-f22/(f12-f22);
+const double if1p=wl1*f12/(f12-f22);
+const double if2p=-wl2*f22/(f12-f22);
+   // for geometry-free R and Ph
+const double gf1r=-1;
+const double gf2r=1;
+const double gf1p=wl1;
+const double gf2p=-wl2;
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+// This is the main entry point.
+// Return values (int) (used by all routines within this module):
+const int FatalProblem=-3;
+const int PrematureEnd=-2;
+const int Singular=-1;
+const int ReturnOK=0;
+//------------------------------------------------------------------------------------
+int gpstk::GPSTKDiscontinuityCorrector(SVPass& SVP, GDCConfig& GDC, vector<string>& EditCmds)
+{
+try {
+   int iret;
+   DayTime CurrentTime;
+   CurrentTime.setLocalTime();
+
+   GDCUnique++;
+   GDCNFail = GDCNFix = 0;
+
+   if(GDC.Debug>4) {
+      LGF << "\n========Beg GPSTK Discontinuity Corrector " << GDCUnique
+         << "================================================\n";
+      LGF << "GPSTK Discontinuity Corrector Ver. " << GDCVersion << " Run "
+         << CurrentTime << endl;
+      LGF << "  SV:" << SVP.SV << " Npts: " << SVP.Npts << " Len:" << SVP.Length
+         << " Times:(" << SVP.BegTime << ")-(" << SVP.EndTime << ")\n";
+   }
+
+      // check input
+   if(GDC.DT <= 0) {
+      LGF << "Error: DT is not set in configuration\n";
+      if(GDC.Debug>1) LGF << "GDC " << setw(2) << GDCUnique << ", PRN " << SVP.SV
+         << ", Pts " << setw(4) << SVP.Npts << ", Slip 0, Fix 0, Fail 0\n";
+      if(GDC.Debug>4) LGF << "========End GPSTK Discontinuity Corrector "
+         << "==================================================\n";
+      return FatalProblem;
+   }
+
+      // MaxGap should be the smaller of WL and GF MaxGap
+   GDC.MaxGap = GDC.WLFixMaxGap;
+   if(GDC.MaxGap > GDC.GFFixMaxGap) GDC.MaxGap=GDC.GFFixMaxGap;
+
+      // --------------------------------------------------------------------
+      // Create the first Segment (entire SVPass), scan for gaps -> new Segments
+      // Preprocess the data: Look for outliers and obvious bad points, and mark
+   iret = Preprocess(SVP, GDC);
+   if(iret) goto quit;
+
+      // --------------------------------------------------------------------
+      // Compute linear combinations: L2->GF phase, P1->WLbias, P2->-GF Range
+      // Define a bias for WLbias and GF phase for each segment.
+   iret = LinearCombinations(SVP, GDC);
+   if(iret) goto quit;
+
+      // --------------------------------------------------------------------
+      // Look for slips and outliers in the widelane range minus phase
+      // Divide into more than one Segment when a discontinuity is detected
+   iret = WLSlipDetect(SVP, GDC);
+   if(iret) goto quit;
+
+      // --------------------------------------------------------------------
+      // Estimate the WL slip, using statistics in each segment, and set the
+      // value of NWL.
+   iret = WLSlipFix(SVP, GDC);
+   if(iret) goto quit;
+
+      // --------------------------------------------------------------------
+      // Loop over Segments: compute the WL slip, and correct the GF phase.
+      // Fit a polynomial to the GF range, and replace P2(-GFR) with
+      //   residual (GFPh + fit(GFR)) divided by wl21 [=N1];
+      // Further divide into Segments when the change in the residual is large.
+   iret = GFSlipDetect(SVP, GDC);
+   if(iret) goto quit;
+
+      // --------------------------------------------------------------------
+      // Loop over Segments: Fit polynomials to either side of the GF slips;
+      // Fix the GF slips.
+   iret = GFSlipFix(SVP, GDC);
+   if(iret) goto quit;
+      
+      // --------------------------------------------------------------------
+      // Loop over the data, applying the corrections to the L1 and L2 arrays
+      // Editing commands are generated in OutputAndQuit
+   iret = CorrectData(SVP, GDC);
+
+quit:
+   return OutputAndQuit(SVP,GDC,EditCmds,iret);
+}
+catch(gpstk::Exception& e) {
+   LGF << "GPSTK_Discontinuity_Corrector threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end GPSTKDiscontinuityCorrector(SVPass& SVP, GDCConfig& GDC, vector<string>& EditCmds)
+
+//------------------------------------------------------------------------------------
+// Preprocess the data: Look for outliers and obvious bad points, and mark them.
+// Create the first Segment and look for gaps => new Segments
+// After calling this routine the arrays are L1 = L1 phase (cycles)
+//                                           L2 = L2 phase (cycles)
+//                                           P1 = L1 range (meters)
+//                                           P2 = L2 range (meters)
+int Preprocess(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+   int i,ilast;
+   list<Segment>::iterator Sit;
+
+   if(GDC.Debug > 5) LGF << "PP..............................................."
+      << ".................................\n";
+
+   if(SVP.Npts <= 0) {
+      if(GDC.Debug>4) LGF << "Abort GDC: No points in SV pass\n";
+      return PrematureEnd;
+   }
+   
+   // create the first segment
+   SegList.clear();
+   {
+      Segment S;
+      S.nbeg = S.npts = 0;
+      S.nend = SVP.Length-1;
+      // add it to the list of segments within this SVPass
+      SegList.push_back(S);
+      // Sit will always point to the current segment
+      Sit = SegList.begin();
+   }
+
+   // -------------------------------------------
+   // loop over points in the pass
+   ilast = -1;
+   for(i=0; i<SVP.Length; i++) {
+      // edit the data
+      if(SVP.Flag[i] == SVPass::OK) {                    // data is not marked
+         // look for obvious outliers
+         if(SVP.P1[i] < GDC.MinRange || SVP.P1[i] > GDC.MaxRange ||
+            SVP.P2[i] < GDC.MinRange || SVP.P2[i] > GDC.MaxRange ||
+            SVP.P1[i]==0 || SVP.P2[i]==0 || SVP.L1[i]==0 || SVP.L2[i]==0)
+         {
+            SVP.Flag[i] = SVPass::SETBAD;                // mark it bad
+            // (CorrectData will set it BAD)
+
+            if(GDC.Debug>6) {
+               DayTime ttag(SVP.BegTime);
+               ttag += double(i)*GDC.DT;
+               LGF << "Obvious outlier " << GDCUnique << " " << SVP.SV
+                  << " at # " << i << " " << ttag << " (";
+               if(SVP.L1[i]==0) LGF << " 0L1";
+               if(SVP.L2[i]==0) LGF << " 0L2";
+               if(SVP.P1[i]==0) LGF << " 0P1"; else
+               if(SVP.P1[i] < GDC.MinRange) LGF << " -P1"; else
+               if(SVP.P1[i] > GDC.MaxRange) LGF << " +P1";
+               if(SVP.P2[i]==0) LGF << " 0P2"; else
+               if(SVP.P2[i] < GDC.MinRange) LGF << " -P2"; else
+               if(SVP.P2[i] > GDC.MaxRange) LGF << " +P2";
+               LGF << endl;
+            }
+         }  // end if obvious outlier
+      }  // end if data is not marked
+
+      // look for gaps in data => new Segments
+      if(SVP.Flag[i] == SVPass::OK) {                    // data is good
+         if(ilast == -1)                     // the first good point
+            Sit->nbeg = ilast = i;
+
+         // is there a gap?
+         if(GDC.DT*(i-ilast) > GDC.MaxGap) { // create a new Segment
+            Segment Snew;
+            Snew.nbeg = i;
+            Snew.nend = Sit->nend;
+            Sit->nend = ilast;
+            Snew.npts = 0;
+            SegList.push_back(Snew);
+            // re-set current Segment to Snew == last one in list
+            Sit = SegList.end();
+            Sit--;
+
+            if(GDC.Debug>6) LGF << "Gap: new Segment at # " << i << endl;
+         }  // end create a new Segment
+
+         // count only
+         Sit->npts++;
+         ilast = i;
+      }  // end if good data
+
+   }  // end loop over points in the pass
+
+   if(ilast == -1) ilast=Sit->nbeg;
+   Sit->nend = ilast;
+
+   if(GDC.Debug>4) {
+      if(GDC.Debug>5) LGF << "Initial list of Segments (" << SegList.size() << ")\n";
+      list<Segment>::iterator it;
+      for(it=SegList.begin(); it != SegList.end(); it++)
+         LGF << "INIList " << GDCUnique << " " << SVP.SV << " #"
+            << setw(2) << i+1 << ": "
+            << setw(3) << it->nbeg << "-" << setw(4) << it->nend << endl;
+   }
+
+   CorrectSegments(SVP,GDC);
+
+   if(GDC.Debug > 4) DumpSegments("BEF",GDCUnique,GDC,SVP);
+
+   if(SegList.size() <= 0) {
+      if(GDC.Debug>4) LGF << "Abort GDC: Not enough good data in Preprocess.\n";
+      return PrematureEnd;
+   }
+
+   return ReturnOK;
+
+}
+catch(gpstk::Exception& e) {
+   LGF << "Preprocess threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end Preprocess(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// After calling this routine the arrays are L1 = L1 phase (cycles)
+//                                           L2 = GFP (m) - bias2
+//                                           P1 = WLB (cycles) - bias1
+//                                           P2 = -GFR (m)
+//                                  where bias1 = initial wlb, each Segment
+//                                    and bias2 = initial gfp, each Segment
+int LinearCombinations(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+   if(GDC.Debug > 5) LGF << "LC............................................."
+      << "...................................\n";
+
+   int i,j,k,ilast,nb,ne;
+   double wlr,wlp,wlbias,gfr,gfp;
+   DayTime ttag;
+
+   // consider each Segment in turn
+   list<Segment>::iterator it;
+   for(j=0,it=SegList.begin(); it!=SegList.end(); it++) {
+      if(j==0) nb=it->nbeg;
+      ne = it->nend;
+      it->npts = 0;                   // npts will now be determined
+      ttag = SVP.BegTime;
+      ttag += it->nbeg * GDC.DT;
+
+      // loop over the points in Segment k
+      ilast = -1;       // index of the most recent good point
+      for(i=it->nbeg; i<=it->nend; i++) {
+
+         if(SVP.Flag[i] >= SVPass::OK) {                       // data is good
+            wlr = wl1r*SVP.P1[i] + wl2r*SVP.P2[i];    // 'NL' range (meters)
+            wlp = wl1p*SVP.L1[i] + wl2p*SVP.L2[i];    // Wide lane phase (meters)
+            gfr =      SVP.P1[i] -      SVP.P2[i];    // Geo-free range (meters)
+            gfp = gf1p*SVP.L1[i] + gf2p*SVP.L2[i];    // Geo-free phase (meters)
+            wlbias = (wlp-wlr)/wlwl;                  // Wide lane bias (cycles)
+
+            // define biases for this Segment
+            if(ilast == -1) {
+               it->bias1 = long(wlbias+(wlbias>0?0.5:-0.5));  // WL bias (NWL)
+               it->bias2 = gfp;                               // GFP bias
+            }
+            // debias (GFR has bias 0)
+            wlbias -= it->bias1;
+            gfp    -= it->bias2;
+
+            SVP.L2[i] = gfp;                       // Geo-free phase (meters)
+            SVP.P1[i] = wlbias;                    // Wide lane bias (cycles)
+            SVP.P2[i] = -gfr;                      // -Geo-free range (meters)
+            ilast = i;
+            it->npts++;
+
+         }  // end if data is good
+
+         ttag += GDC.DT;
+
+      }  // end loop over points in Segment k
+
+   }  // end loop over Segments
+
+   if(GDC.Debug > 4) DumpSegments("LCD",GDCUnique,GDC,SVP);
+
+   return ReturnOK;
+
+}
+catch(gpstk::Exception& e) {
+   LGF << "LinearCombinations threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end LinearCombinations(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Look for slips and outliers in the widelane bias.
+// Divide into more than one Segment when a discontinuity is detected.
+// After calling this routine the arrays are L1 = L1 phase (cycles)
+//                                           L2 = GFP (m) - bias2
+//                                           P1 = WLB (cy) - bias1
+//                                           P2 = -GFR (m)
+//                                  where bias1 = initial wlb, each Segment
+//                                    and bias2 = initial gfp, each Segment
+// (DivideSegments will change the biases on the new Segments)
+int WLSlipDetect(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+   if(GDC.Debug > 5) LGF << "WD............................................"
+      << "....................................\n";
+
+   SVP.A1 = new double[SVP.Length];
+   if(!SVP.A1) { OutOfMemory e("A1"); GPSTK_THROW(e); }
+   SVP.A2 = new double[SVP.Length];
+   if(!SVP.A2) { OutOfMemory e("A2"); GPSTK_THROW(e); }
+
+   int iret;
+   iret = WLSlipDetectLarge(SVP,GDC);
+   if(iret) goto done;
+
+   iret = WLSlipDetectSmall(SVP,GDC);
+   if(iret) goto done;
+
+done:
+   if(SVP.A1) delete[] SVP.A1;
+   if(SVP.A2) delete[] SVP.A2;
+   SVP.A1 = SVP.A2 = NULL;
+
+   return iret;
+}
+catch(gpstk::Exception& e) {
+   LGF << "WLSlipDetect threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end WLSlipDetect(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Look for LARGE slips and outliers in the widelane bias.
+// Divide into more than one Segment when a discontinuity is detected.
+int WLSlipDetectLarge(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+   bool Prnt=(GDC.Debug > 6);
+   int i,j,k,nb,ne,iret;
+   list<Segment>::iterator it;
+
+   // Compute WL statistics with sliding window
+   for(i=1,it=SegList.begin(); it!=SegList.end(); i++,it++) {
+      nb = it->nbeg;
+      ne = it->nend;
+      iret = WLStatSweep(SVP, GDC, nb, ne, 0, i);
+      if(iret) return iret;
+   }
+
+   int ilast,itest,inext;
+   DayTime ttag;
+
+   // interpret the results
+   for(k=0,it=SegList.begin(); it!=SegList.end(); k++,it++) {
+      nb = it->nbeg;
+      ne = it->nend;
+
+      ttag = SVP.BegTime;
+      ttag += double(nb)*GDC.DT;
+      ilast = nb;
+
+      // search auxiliary arrays for slips
+      for(itest=nb; itest<=ne; itest++) {
+
+         if(Prnt && SVP.Flag[itest] != SVPass::BAD)
+            LGF << "WLLD " << GDCUnique << " " << SVP.SV << " " << k+1
+               << ttag.printf(" %13.6Q ") << setw(2) << SVP.Flag[itest]
+               << " " << fixed << setw(13) << setprecision(3) << SVP.L1[itest]
+               << " " << fixed << setw(13) << setprecision(3) << SVP.L2[itest]
+               << " " << fixed << setw(13) << setprecision(3) << SVP.P1[itest]
+               << " " << fixed << setw(13) << setprecision(3) << SVP.P2[itest]
+               << " " << fixed << setw(13) << setprecision(3) << SVP.A1[itest]
+               << " " << fixed << setw(13) << setprecision(3) << SVP.A2[itest]
+               << " " << itest;
+            // NB no endl here
+         
+         // test good data only
+         if(SVP.Flag[itest] >= SVPass::OK) {
+            // find the next good point
+            inext = itest+1;
+            while(inext<=ne && SVP.Flag[inext]<SVPass::OK) inext++;
+
+            // is there potentially a slip here?
+            if(SVP.A1[itest] > 10.0) {                 // test > limit+10
+               if(Prnt) LGF << " D:T>L";
+               if(SVP.A2[itest] >= -1.0) {             // A2 ok or -1
+                  if(SVP.A2[inext] >= -1) {               // 1,3,4 - slip at itest
+                     SVP.Flag[itest] |= SVPass::SLIPWL;
+                     if(Prnt) LGF << " clSLIP";
+                  }
+                  else {                                  // 5, next == -3,-2
+                     if(SVP.A1[inext] > 0.0) {             //    next T>L
+                        SVP.Flag[itest] = SVPass::SETBAD;
+                        if(Prnt) LGF << " 5SETBAD, next T>L";
+                     }
+                     else {                                //    next not T>L
+                        SVP.Flag[itest] |= SVPass::SLIPWL;
+                        if(Prnt) LGF << " 5SLIP SETBAD" << inext << "-";
+                        i = inext;
+                        while(i<=ne && (SVP.A2[i] < -1 || SVP.Flag[i] < SVPass::OK))
+                        {
+                           if(SVP.A1[i] > 0.0) break;
+                           if(SVP.A2[i] < -1) SVP.Flag[i]=SVPass::SETBAD;
+                           i++;
+                        }
+                        inext = i;
+                        if(Prnt) LGF << i-1;
+                     }
+                  }
+               }                                                  // end A2 ok or -1
+               else if(SVP.A2[itest] < -1) {                      // 2 set bad
+                  if(Prnt) LGF << " 2SETBAD";
+                  SVP.Flag[itest] = SVPass::SETBAD;
+                  i = inext;
+                  while(i<=ne && (SVP.A2[i]<-1 || SVP.Flag[i]<SVPass::OK)) {
+                     if(SVP.Flag[i] >= SVPass::OK)
+                        SVP.Flag[i] = SVPass::SETBAD;
+                     i++;
+                  }
+                  if(Prnt) LGF << itest << "-" << i-1;
+                  if(SVP.A1[i] <= 0.0) {
+                     if(Prnt) LGF << " SLIP" << i;
+                     SVP.Flag[i] |= SVPass::SLIPWL;
+                  }
+                  inext = i;
+               }                                              // end 2 set bad
+               else {
+                  if(Prnt) LGF << " OOP 2";                   // should never happen
+               }
+            }
+               // --------------------------------------------------------------
+            else if(SVP.A2[itest] == -2) {                     // -2
+               if(inext > ne) {                                   // -2 w/ no next
+                  if(Prnt) LGF << " D:-2end";
+               }
+               else if((SVP.A2[inext]==-1 || SVP.A2[inext]==-3)) {// -2 => -3,-1
+                  if(Prnt) LGF << " D:-2=>-1-3";
+                  i = itest;
+                  while(i<=ne && (SVP.A2[i]<=-2 || SVP.Flag[i]<SVPass::OK)) {
+                     if(SVP.Flag[i] >= SVPass::OK) SVP.Flag[i] = SVPass::SETBAD;
+                     i++;
+                  }
+                  if(i!=itest && Prnt) LGF << " SETBAD" << itest << "-" << i-1;
+                  inext = i;
+
+                  if(SVP.A2[i] == -1) {
+                     SVP.Flag[i] |= SVPass::SLIPWL;
+                     if(Prnt) LGF << " SLIP " << i;
+                  }
+                  else if(SVP.A1[i] > 0.0) {
+                     if(Prnt) LGF << " T>L";
+                  }
+                  else {
+                     if(Prnt) LGF << " OOP 3(no -1)";
+                  }
+               }
+            }
+            else {
+               //if(Prnt) LGF << " ok";
+            }
+
+            if(Prnt) LGF << " (" << inext << ")\n";
+
+         }  // end if good data
+
+         else {                                    // skip bad data
+            if(Prnt && SVP.Flag[itest] != SVPass::BAD) LGF << " BAD\n";
+         }
+
+         ilast = itest;
+         ttag += GDC.DT;
+      }  // end loop over auxiliary arrays
+
+   }  // end loop over Segments
+
+      // create new Segments and compute WLStat
+   DivideWLSegments(SVP,GDC);
+   CorrectSegments(SVP,GDC);
+
+   if(GDC.Debug > 4) DumpSegments("WLL",GDCUnique,GDC,SVP);
+
+   if(SegList.size() <= 0) {
+      if(GDC.Debug>4) LGF << "Abort GDC: No good data in WLSlipDetectLarge.\n";
+      return PrematureEnd;
+   }
+
+   return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+   LGF << "WLSlipDetectLarge threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end WLSlipDetectLarge(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Look for SMALL slips and outliers in the widelane bias.
+// Divide into more than one Segment when a discontinuity is detected.
+int WLSlipDetectSmall(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+   bool Prnt=(GDC.Debug>6),slip;
+   int i,j,nb,ne,ib,ie,imax,imin;
+   int width0=int(GDC.MinSeg/GDC.DT);
+   double Amin,Amax,flag;
+   DayTime ttag;
+   list<Segment>::iterator it;
+
+      // Small slips
+      // for each Segment, compute WL statistics with sliding window
+   // Compute WL statistics with sliding window
+   for(j=1,it=SegList.begin(); it!=SegList.end(); j++,it++) {
+      nb = it->nbeg;
+      ne = it->nend;
+      i = WLStatSweep(SVP, GDC, nb, ne, GDC.WLSSWindowWidth*width0, j);
+      if(i) return i;
+   }
+
+      // look for slips using A1=|dAve| and A2=Wt'd variance
+   flag = GDC.WLSSDetectMin-1.0;
+   for(j=1,it=SegList.begin(); it!=SegList.end(); j++,it++) {
+      nb = it->nbeg;
+      ne = it->nend;
+         // just in case
+      while(nb < ne && SVP.Flag[nb] < SVPass::OK) nb++;
+      while(ne > nb && SVP.Flag[ne] < SVPass::OK) ne--;
+
+         // loop through first, flagging data that fails the tests
+         // and replacing A1 with A1-A2
+      ttag = SVP.BegTime;
+      ttag += double(nb)*GDC.DT;
+      for(i=nb; i<=ne; i++) {
+         if(SVP.Flag[i] >= SVPass::OK) {
+            if(SVP.A1[i] <= GDC.WLSSTestMin
+                  || SVP.A1[i]-SVP.A2[i] <= GDC.WLSSDetectMin)
+               SVP.A1[i] = SVP.A2[i] = flag;
+            else SVP.A1[i] -= SVP.A2[i];
+
+               // Debug plot - see the test
+            if(Prnt) {
+               LGF << "WLST " << GDCUnique << " " << SVP.SV << " " << j
+                  << ttag.printf(" %13.6Q ") << setw(2) << SVP.Flag[i]
+                  << " " << fixed << setw(13) << setprecision(3) << SVP.L1[i]
+                  << " " << fixed << setw(13) << setprecision(3) << SVP.L2[i]
+                  << " " << fixed << setw(13) << setprecision(3) << SVP.P1[i]
+                  << " " << fixed << setw(13) << setprecision(3) << SVP.P2[i];
+               if(SVP.A1 && SVP.A2)
+                  LGF << " " << fixed << setw(13) << setprecision(3) << SVP.A1[i]
+                        << " " << setw(9) << setprecision(4) << SVP.A2[i];
+               LGF << " " << i << endl;
+            }
+         }
+         ttag += GDC.DT;
+      }  // end first loop over points within this Segment
+
+         // search the non-flagged data for max in A1 and min in A2
+         // first find continuous pieces of non-flagged data
+      ib = nb;
+      do {
+         while(ib<=ne && (SVP.Flag[ib]<SVPass::OK || SVP.A1[ib]==flag)) ib++;
+         i = ie = ib;
+         while(i<=ne && (SVP.Flag[i]<SVPass::OK || SVP.A1[i]!=flag)) {
+            if(SVP.Flag[i] < SVPass::OK) SVP.A1[i]=flag; // mark missing data
+            ie = i++;
+         }
+         if(ib < ie) {     // find min in A2 and max in A1
+            Amin = SVP.A2[imin=ib];
+            Amax = SVP.A1[imax=ib];
+            for(i=ib; i<=ie; i++) {
+               if(SVP.A1[i] != flag && SVP.A1[i] > Amax) {
+                  imax = i;
+                  Amax = SVP.A1[i];
+               }
+               if(SVP.A1[i] != flag && SVP.A2[i] < Amin) {
+                  imin = i;
+                  Amin = SVP.A2[i];
+               }
+            }
+
+               // (complete after slip test)
+            if(Prnt) LGF << "WLSTest " << GDCUnique << " " << SVP.SV << " " << j
+               << ttag.printf(" %13.6Q Seg:") << nb << "-" << ne
+               << ", Piece:" << ib << "-" << ie << " Max:" << imax << " Min:" << imin;
+               
+               // test for slip
+            slip = true;
+               // min and max don't coincide
+            if(abs(imax-imin) >= 2) {
+               slip=false;
+               if(Prnt) LGF << " (" << imax << "!=" << imin << ")";
+            }
+               // too close to edge of segment
+            if(abs(imax-nb) < 5 || abs(imax-ne) < 5) {
+               slip=false;
+               if(Prnt) LGF << " (edges " << imax-nb << " " << ne-imax << ")";
+            }
+               // too narrow
+            if(ie-ib+1 < width0) {
+               slip=false;
+               if(Prnt) LGF << " (narrow " << ie-ib+1 << " < " << width0 << ")";
+            }
+
+            if(Prnt) LGF << (slip?" SLIP\n":" FAIL\n");
+
+            if(slip) {
+               SVP.Flag[imax] |= SVPass::SLIPWL;
+               if(Prnt) {
+                  ttag = SVP.BegTime;
+                  ttag += double(imax)*GDC.DT;
+                  LGF << "WL Slip " << GDCUnique << " " << SVP.SV << " " << j
+                     << ttag.printf(" %13.6Q")
+                     << " " << fixed << setw(7) << setprecision(3) << Amin
+                     << " " << fixed << setw(7) << setprecision(3) << Amax
+                     << " " << imax << " (small)\n";
+               }
+            }
+         }
+         ib = ie+1;
+      } while(ib <= ne);
+
+   }  // end loop over Segments
+
+      // create new Segments and compute WLStat
+   DivideWLSegments(SVP,GDC);
+   CorrectSegments(SVP,GDC);
+
+   if(GDC.Debug > 4) DumpSegments("WLS",GDCUnique,GDC,SVP);
+
+   if(SegList.size() <= 0) {
+      if(GDC.Debug>4) LGF << "Abort GDC: No good data in WLSlipDetectSmall.\n";
+      return PrematureEnd;
+   }
+
+   return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+   LGF << "WLSlipDetectSmall threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end WLSlipDetectSmall(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// WLStatSweep() : Wide lane statistics sweep.
+// Average WL bias over 'two-pane moving window' of width iwidth points,
+// over the data from index nb to ne. Compute 'step' = |change in averages|, and
+// 'limit' = rss stddev's, (past and future)
+// The minimum iwidth is == (min segment timespan / DT), and
+// the maximum iwidth is == (ne-nb+1); iwidth is changed if necessary.
+// Ignore bad data; this requires that indexes be allowed to vary within windows.
+// DO NOT change Flag[] within this routine; this could lead to disaster.
+// 
+// Auxiliary arrays are filled, depending on iwidth:
+// If iwidth==0 on input,
+//    iwidth=min, test=|dAve|^2, limit=(WLNSigma*RSSsig)^2,
+//    A1=(test-limit);
+//    A2=flag: -1 if past StdDev large, -2 if future StdDev large, -3 both
+//       otherwise A2 = limit
+// Otherwise, A1 = 'step' and A2 = 'limit'.
+//
+// Return FatalProblem if input doesn't make sense
+//
+//------------------------------------------------------------------------------------
+// 7 cases: time increase downward. check A1 and A2 as defined by WLSweep with
+//          minimum window width.
+//------------------------------------------------------------------------------------
+// A: test is > limit
+//       A1 (t-l)      A2 (-1: past sigma large, -2: future, -3: both, >=0: ok)
+//     -------------   --
+// 1.                  -2
+//     test > limit    ok   Normal slip
+//                     -1
+//------------------------------------------------------------------------------------
+// 2.                  -2 or >0
+//     test > limit    -2/-3                 <---- this pt bad
+//                     -2/-3 (any number)    <---- these bad
+//      maybe t>l OR   -1                    <---- slip here, if t>l do nothing
+//------------------------------------------------------------------------------------
+// 3.                  -1                    <---- there must be gap after this
+//     test > limit    ok                    <---- slip here
+//                     ok
+//------------------------------------------------------------------------------------
+// 4.                  ok
+//     test > limit    ok                    <---- slip here; gaps both sides
+//                     ok
+//------------------------------------------------------------------------------------
+// 5.                  -2
+//     test > limit    ok                    <---- slip (or bad)
+//                     -2/-3                 <---- 0 or more; if 0 t>l pt is bad
+//             t>l     -2
+//------------------------------------------------------------------------------------
+// B: -2 followed by -3 or -1, no t>l
+// 6.                  -2                    <---- any number of these: ok
+//                     -2                    <---- this one bad
+//                     -3                    <---- any number of these: bad
+//                     -1
+//------------------------------------------------------------------------------------
+// 7.                  -2                    <---- any number of these: ok
+//                     -2                    <---- this one bad
+//                     -1                    <---- slip here
+//------------------------------------------------------------------------------------
+//Notes on interpreting output of Sweep:
+//if (test > limit) {
+// if(A2>0 and A2 previous == -2 and A2 next == -1)
+//    this is a normal slip
+// if(A2==-3 or -2 AND A2prev == -2 or >0)
+//    search downward until you find A2==-1 OR test>limit again with A2>0
+//       this is new slip
+// if(A2>0 && A2pre==-1 and A2next>0)
+//    slip here (there must be gap btwn here and prev)
+// if(A2, A2prev, A2next all > 0)
+//    this is a slip with gaps on both sides
+// if(A2>0, A2prev==-2, A2next may == -3 or (test>limit w/ A2==-2) )
+//    this is a slip, unless A2next==-3, then its bad
+//}
+//if (A2==-2 and A2next==-3 or -1) {
+// if(A2next == -3)
+//    this and all down to the next A2==-1 are bad, the -1 is a slip
+// if(A2next == -1)
+//    this is bad and the next is a slip
+// [check npts in the future stats - you may have too few for a slip - mark bad]
+//}
+//
+int WLStatSweep(SVPass& SVP, GDCConfig& GDC, int nb, int ne, int iwidth, int iseg)
+{
+try {
+   bool MinRun=false;
+   int width0=int(GDC.MinSeg/GDC.DT);
+   int i,iplus,iminus,ilast;
+   double wlbias,bias,nsig2,test,limit;
+   DayTime ttag;
+   Stats<double> SWLf,SWLp;              // stats in future and past windows
+   list<Segment>::iterator it,itplus,itminus;
+
+   if(iwidth==0) MinRun=true;
+
+   if(MinRun) {
+      // if large slips, width = width0, nsig2 = configuration
+      iwidth = width0;
+      nsig2 = GDC.WLNSigma*GDC.WLNSigma;
+   }
+   else {
+      // if checking for small slips, width = 10*("), nsig2 = 1
+      nsig2 = 1.0;
+      //iwidth = 15*width0;//TEMP      // don't go to max = ne-nb+1;
+   }
+
+      //
+      // Cartoon of the 'two-pane moving window'
+      // windows:  'past window'      'future window'
+      // stats  :    SWLp(N,A,S)        SWLp(N,A,S)
+      // data   : (x x x x x x x x x)(x x x x x x x x x) x ...
+      //           |               |  |                  |
+      // indexes: iminus          i-1 i                 iplus
+      // Seg ind: kminus              k                 kplus
+      //
+
+      // determine window width (number of points)
+   if(iwidth == 0) iwidth=width0;
+   if(iwidth > ne-nb+1) iwidth=ne-nb+1;   // max possible width
+
+      // find Segment of first point
+   for(it=SegList.begin(); it!=SegList.end(); it++) {
+      if(nb <= it->nend) break;
+   }
+   if(it == SegList.end()) return FatalProblem;
+   itplus = itminus = it;
+
+      // initialize
+   bias = it->bias1;               // overall bias == first bias1
+   iplus = iminus = ilast = nb;           // ilast is most recent good point
+   ttag = SVP.BegTime;                    // timetag of i
+   ttag += double(nb) * GDC.DT;
+   SWLf.Reset();                          // future stats
+   SWLp.Reset();                          // past stats
+
+      // 'prime the pump' by setting up future stats
+      // add iplus to future stats, and then move iplus up
+   while(SWLf.N() < unsigned(iwidth) && iplus <= ne) {
+      wlbias = SVP.P1[iplus] - itplus->bias1 + bias;
+      SWLf.Add(wlbias);
+         // now update iplus by finding the next good point
+      do { iplus++; } while(iplus <= ne && SVP.Flag[iplus] < SVPass::OK);
+         // update kplus
+      if(iplus <= ne && iplus > itplus->nend) {
+         for(; itplus!=SegList.end(); itplus++) {
+            if(iplus <= itplus->nend) break;
+         }
+         if(itplus == SegList.end()) return FatalProblem;   // should never happen
+      }
+   }
+
+      // loop over points in the Segment
+   for(i=nb; i<=ne; i++) {
+         // update Segment pointers; k = Segment containing i
+      if(i > it->nend) {
+         for(; it != SegList.end(); it++) {
+            if(i <= it->nend) break;
+         }
+         if(it == SegList.end()) return FatalProblem;
+      }
+
+      SVP.A1[i] = SVP.A2[i] = 0.0;
+
+      if(SVP.Flag[i] >= SVPass::OK) {
+            // current value
+         wlbias = SVP.P1[i] - it->bias1 + bias;
+
+            // test is (change in Ave's)^2 < N^2*(Sig(p)^2+Sig(f)^2)
+         test = SWLf.Average() - SWLp.Average();
+         test = test*test;
+
+            // LARGE slip detection
+            // -----------------------------------------------------
+         if(MinRun) {                              // width==min:
+               // weighted average, wt N()
+            limit = SWLf.N()*SWLf.Variance() + SWLp.N()*SWLp.Variance();
+            limit *= nsig2/(SWLf.N()+SWLp.N());
+            if(limit < 1.0) limit=1.0;                   // minimum cycle^2
+
+            //if(test > limit)
+            if(test>limit) SVP.A1[i]=test-limit;
+            if(SVP.A1[i] > 999999.) SVP.A1[i]=999999.000;// just for convenience
+
+               // catch gaps near slips
+            if(SVP.A1[i]>=0.0 && SWLp.N()==1 && fabs(wlbias-SWLp.Average()) > 10.0)
+            {
+               SVP.A1[i] = 999999.000;
+               // LGF << "CATCH " << GDCUnique << " " << SVP.SV << " " iseg
+               // << " " << i << endl;
+            }
+            //SVP.A1[i] += 0.1*SWLp.N()+0.01*SWLf.N();
+
+               // set indicators of large sigma past and future
+            if(SWLp.StdDev() > 10.0) SVP.A2[i] -= 1;       // 10 cycles: default
+            if(SWLf.StdDev() > 10.0) SVP.A2[i] -= 2;       // 'small' slips
+            if(SVP.A2[i] >= 0.0) SVP.A2[i] = limit;
+         }
+            // -----------------------------------------------------
+            // SMALL slip detection
+         else {                                    // width > min
+            limit = nsig2*(SWLf.Variance()+SWLp.Variance());
+            //if(limit < 0.7) limit=0.7;                    // minimum cyc^2
+            SVP.A1[i] = sqrt(test);
+            SVP.A2[i] = sqrt(limit);
+         }
+         
+            // output stats now
+            // u prn seg mjd (N A S)p (N A S)f A1 A2 test limit i
+         if(GDC.Debug > 5) LGF << "WL" << (MinRun?"L":"S") << "S " << GDCUnique
+            << " " << SVP.SV << " " << iseg << ttag.printf(" %13.6Q ")
+            << " " << setw(3) << SWLp.N()
+            << " " << fixed << setw(7) << setprecision(3) << SWLp.Average()
+            << " " << fixed << setw(7) << setprecision(3) << SWLp.StdDev()
+            << " " << setw(3) << SWLf.N()
+            << " " << fixed << setw(7) << setprecision(3) << SWLf.Average()
+            << " " << fixed << setw(7) << setprecision(3) << SWLf.StdDev()
+            << " " << fixed << setw(9) << setprecision(3) << SVP.A1[i]
+            << " " << fixed << setw(9) << setprecision(3) << SVP.A2[i]
+            << " " << fixed << setw(7) << setprecision(3) << sqrt(test)
+            << " " << fixed << setw(7) << setprecision(3) << sqrt(limit)
+            << " " << fixed << setw(9) << setprecision(3) << wlbias
+            << " " << i << endl;
+
+            // update for next step
+         SWLf.Subtract(wlbias);           // remove i from future statistics
+         SWLp.Add(wlbias);                // add i to past statistics
+         ilast = i;
+      }
+      ttag += GDC.DT;
+
+         // now must update future and past statistics
+         // add iplus to future stats, and then move iplus up
+      while(SWLf.N() < unsigned(iwidth) && iplus <= ne) {
+         wlbias = SVP.P1[iplus] - itplus->bias1 + bias;
+         SWLf.Add(wlbias);
+            // now update iplus by finding the next good point
+         do { iplus++; } while(iplus <= ne && SVP.Flag[iplus] < SVPass::OK);
+            // update kplus
+         if(iplus <= ne && iplus > itplus->nend) {
+            for(; itplus != SegList.end(); itplus++) {
+               if(iplus <= itplus->nend) break;
+            }
+            if(itplus == SegList.end()) return FatalProblem;   // should never happen
+         }
+      }
+         // remove iminus from past stats, then move iminus up
+      while(SWLp.N() > unsigned(iwidth) && iminus >= nb) {
+         wlbias = SVP.P1[iminus]-itminus->bias1+bias;
+         SWLp.Subtract(wlbias);
+            // now update iminus by finding the next good point
+            // (references to <=ne are unnecessary)
+         do { iminus++; } while(iminus <= ne && SVP.Flag[iminus] < SVPass::OK);
+            // update kminus
+         if(iminus <= ne && iminus > itminus->nend) {
+            for(; itminus != SegList.end(); itminus++) {
+               if(iminus <= itminus->nend) break;
+            }
+            if(itminus == SegList.end()) return FatalProblem;   // should never happen
+         }
+      }
+
+   }  // end loop over all points in Segment
+
+   return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+   LGF << "WLStatSweep threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end WLStatSweep(SVPass& SVP, GDCConfig& GDC, int nb, int ne, int iwid, int iseg)
+
+//------------------------------------------------------------------------------------
+// Create new Segments where SLIPs have been marked.
+// Modify the bias, and compute WLStat's
+void DivideWLSegments(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+   bool old;         // true if current segment was not created by this routine
+   int i,j,ilast,nb,ne;
+   double bias1,bias2,bias10,bias20;
+   list<Segment>::iterator it;
+
+      // loop over segments, changing start and stop, counting good points,
+      // and making new segments where flagged
+   j = 0;
+   old = true;
+   bias1 = bias2 = 0;
+   for(it=SegList.begin(); it!=SegList.end(); it++) {
+         // limits of Segment (good data)
+      nb = it->nbeg;
+      ne = it->nend;
+         // change start point?
+      while(nb <= ne && SVP.Flag[nb] < SVPass::OK) nb++;
+      it->nbeg = nb;
+         // biases
+      if(old) {
+         bias10 = it->bias1;
+         bias20 = it->bias2;
+      }
+
+         // look for new Segments
+      ilast = nb;
+      it->npts = 0;            // count good points
+      it->WLStat.Reset();      // compute WLStats along the way
+      for(i=nb; i<=ne; i++) {
+         if(SVP.Flag[i] >= SVPass::OK) {              // good point
+               // slip is marked mid-segment
+            if(i>nb && SVP.Flag[i]>SVPass::OK && (SVP.Flag[i]&SVPass::SLIPWL)){
+                  // create new Segment
+               Segment Snew;
+               Snew.nbeg = i;
+               Snew.nend = ne;
+               it->nend = ilast;
+                  // biases
+               bias1 = int(SVP.P1[i]+(SVP.P1[i]<0?-0.5:0.5));
+               bias2 = SVP.L2[i];
+               Snew.bias1 = bias10 + bias1;
+               Snew.bias2 = bias20 + bias2;
+               old = false;
+                  // add it after the current segment:
+                  // insert(iter,s) puts s before iter, then returns iterator for s
+               it++;
+               it = SegList.insert(it,Snew);
+               it--;             // (loop will increment it again)
+               break;   // ..the for loop - goto next (new) segment
+            }
+
+               // good point - debias and count
+            SVP.P1[i] -= bias1;
+            SVP.L2[i] -= bias2;
+            it->WLStat.Add(SVP.P1[i]);
+            it->npts++;
+            it->nend = ilast = i;       // this corrects nend if wrong
+
+         }  // end if good point
+
+         if(i==ne) {
+            old = true;
+            bias1 = bias2 = 0;
+         }
+      }  // end for loop over points in the Segment
+
+   }  // end loop over Segments
+}
+catch(gpstk::Exception& e) {
+   LGF << "DivideWLSegments threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+} // end DivideWLSegments(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Estimate the WL slip, using statistics in each segment, and set NWL to the
+// appropriate value. Where a WL slip can be fixed, combine the Segments in the
+// sense that, in the Segment in the future of the slip, correct the WLbias (P1)
+// and the GFP (L2) for the slip, redefine bias1, and let WLStat in both
+// Segments apply to all the data in both.
+//
+// Initially we have, for example, the following, where each Segment has its own
+// WLStats and biases.
+//
+//SVP.Flag:    0    S      S      S                S       S    S    S
+//            ( 0 )( 1 )  (  2  )(      3        )(  4   )( 5 )( 6 )( 7 )
+//NWL:         0    0      0      0                0       0    0    0
+//
+// Start with the largest Segment (3), and first move to the right (future),
+// then move to the left (past).  Combine Segments when the WL slip can be
+// fixed. 'Combined' means make equal WLStat and bias1, and correct the
+// WLB and GFP data in all the Segments on the future side for NWL.
+//
+// So after this routine we may have, for example:
+//
+//    0    F      S      F                F       S    F    F
+//   ( 0 )( 1 )  (  2  )(      3        )(  4   )( 5 )( 6 )( 7 )
+//    0    N1     0      N3               N4      0    N6   N7
+//    |______|    |____________________________|  |___________|
+//      (0)                    (2)                    (5)
+//
+// where Stats, bias1, for Segments 2,3,4 apply to all data in (2), etc
+// but the NWL's are left alone (this is so we can write out Edit Cmds later);
+// leave everything else alone as well (nbeg, nend, npts). The GFP is left alone
+// except for correction of the WL slip (bias2 -> bias2 + wl2*NWL).
+//
+// After this routine arrays are L1 = L1 phase (cycles)
+//                               L2 = GFP (m) - (wl1-wl2)*N1 - bias2
+//                               P1 = WLB (cy) - bias1
+//                               P2 = -GFR (m)
+//        where bias1 = initial wlb, each Super segment
+//          and bias2 = initial gfp, each segment
+//            and NWL = slip each Segment
+//
+int WLSlipFix(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+   if(GDC.Debug > 5) LGF << "LF..........................................."
+      << ".....................................\n";
+
+   if(SegList.size() <= 0) return PrematureEnd;
+   if(SegList.size() == 1) return ReturnOK;
+
+   bool fix,MoveForward;
+   int i,j,k,nfe,jbig;
+   unsigned int nbig;
+   long nwl;
+   double dwl,test,dbias1;
+   DayTime ttag;
+   list<Segment>::iterator it,kt,itpast,itfuture,itbig;
+
+      // find the largest Segment
+   for(j=1,jbig=0,nbig=0,it=SegList.begin(); it != SegList.end(); j++,it++) {
+      if(it->WLStat.N() > nbig) {
+         itbig = it;
+         jbig = j;
+         nbig = it->WLStat.N();
+      }
+   }
+
+   if(GDC.Debug > 6) {
+      LGF << "\nWLSF: SegList:\n";
+      for(j=1,it=SegList.begin(); it != SegList.end(); j++,it++)
+         LGF << "WLSF: " << j << " nb=" << it->nbeg
+            << " bias1=" << fixed << setprecision(3) << it->bias1
+            << " bias2=" << setprecision(3) << it->bias2 << endl;
+   }
+
+      // ------------------------------------------------------
+      // loop starting at largest Segment
+   MoveForward = true;                       // move to future first
+   for(j=jbig,it=itbig; ; ) {
+         // identify the two Segments of interest
+      if(MoveForward) {          // moving toward future
+         itfuture = itpast = it;
+         itfuture++;
+         if(itfuture == SegList.end()) { // no more, go back to itbig and move to past
+            MoveForward = false;
+            it = itbig;
+            j = jbig;
+            continue;
+         }
+      }
+      else {                     // moving toward past
+         itfuture = itpast = it;
+         if(itpast == SegList.begin()) break;      // all done
+         itpast--;
+      }
+
+      if(GDC.Debug > 6) {
+         LGF << "\nWLSF: Attempt with Segs starting at " << itpast->nbeg
+               << " & " << itfuture->nbeg << "\n";
+         LGF << "WLSF:  Past  : bias1=" << fixed
+             << setw(13) << setprecision(3) << itpast->bias1
+             << " bias2=" << fixed << setw(13) << setprecision(3) << itpast->bias2
+             << " N=" << itpast->WLStat.N() << " A=" << setprecision(3)
+             << itpast->WLStat.Average()
+             << " SD=" << setprecision(3) << itpast->WLStat.StdDev() << endl;
+         LGF << "WLSF:  Future: bias1=" << fixed
+             << setw(13) << setprecision(3) << itfuture->bias1
+             << " bias2=" << fixed << setw(13) << setprecision(3) << itfuture->bias2
+             << " N=" << itfuture->WLStat.N() << " A=" << setprecision(3)
+             << itfuture->WLStat.Average()
+             << " SD=" << setprecision(3) << itfuture->WLStat.StdDev() << endl;
+      }
+
+         // ------------------------------------------------------
+         // first decide if a slip has been found here
+         // perhaps we don't need this ...?
+      if(SVP.Flag[itfuture->nbeg] & SVPass::SLIPWL) {
+
+            // get the time tag
+         ttag = SVP.BegTime;
+         ttag += double(itfuture->nbeg)*GDC.DT;
+
+            // ------------------------------------------------------
+            // compute the slip
+         dwl = itfuture->bias1 + itfuture->WLStat.Average()
+               - (itpast->bias1 + itpast->WLStat.Average());
+
+         if(GDC.Debug > 6) {
+            LGF << "WLSF: dwl = f->bias1 + f->ave - (p->bias1 + p->ave)\n";
+            LGF << "WLSF: " << fixed << setw(13) << setprecision(3) << dwl
+               << " = " << setw(13) << setprecision(3) << itfuture->bias1
+               << " + " << setw(13) << setprecision(3) << itfuture->WLStat.Average()
+               << " - (" << setw(13) << setprecision(3) << itpast->bias1
+               << " + " << setw(13) << setprecision(3) << itpast->WLStat.Average()
+               << ")\n";
+         }
+
+            // and round it
+         nwl = long(dwl + (dwl>0?0.5:-0.5));
+            // dwl is now the fractional part
+         dwl -= double(nwl);
+
+            // ------------------------------------------------------
+            // can it be fixed? Here are the tests
+         if(GDC.Debug > 6) LGF << "WL Slip " << GDCUnique << " " << SVP.SV
+            << " " << j << " at #" << setw(4) << itfuture->nbeg << ttag << " = "
+            << nwl << " + " << setw(6) << setprecision(3) << dwl << endl;
+
+         fix = true;
+            // check the gap - if too large, must fail
+            // ?? TD why? Gap should have no effect on WLB -- kill this
+         test = (itfuture->nbeg - itpast->nend)*GDC.DT;
+         if(test > GDC.WLFixMaxGap) {
+            if(GDC.Debug>6) LGF << "WL Slip " << GDCUnique << " " << SVP.SV
+               << " fix FAILS (Gap too large " << setw(5) << setprecision(3) << test
+               << " > " << setw(5) << setprecision(3) << GDC.WLFixMaxGap << endl;
+            fix = false;
+         }
+            // minimum # pts in both segments
+         if(itpast->WLStat.N() <= GDC.WLFixNpts
+               || itfuture->WLStat.N() <= GDC.WLFixNpts) {
+            if(GDC.Debug>6) LGF << "WL Slip " << GDCUnique << " " << SVP.SV
+               << " fix FAILS (Not enough points " << itpast->WLStat.N()
+               << " " << itfuture->WLStat.N() << " <= " << GDC.WLFixNpts << ")\n";
+            fix = false;
+         }
+            // total error (stddev/sqrt(n), RMS for 2 sides) is small
+         test = sqrt(itpast->WLStat.Variance() + itfuture->WLStat.Variance()) / 
+            double(itpast->WLStat.N() + itfuture->WLStat.N());
+         if(test >= GDC.WLFixSigma) {
+            if(GDC.Debug>6) LGF << "WL Slip " << GDCUnique << " " << SVP.SV
+               << " fix FAILS (Sigma too large " << fixed
+               << setw(7) << setprecision(3)
+               << sqrt(itpast->WLStat.Variance() + itfuture->WLStat.Variance())
+               << " >= " << setw(7) << setprecision(3) << GDC.WLFixSigma << ")\n";
+            fix = false;
+         }
+            // fractional part of offset is small
+            // ?? TD ? Effective?
+         //if(fabs(dwl) > C.WLFixFrac) {
+         // if(C.fplog) fprintf(C.fplog,"WL Slip %d %2.2d fix FAILS "
+         //    "(Fraction large %6.4f > %6.4f)\n",GDCUnique,SVP.SV.Prn(),
+         //    fabs(dwl),C.WLFixFrac);
+         // fix = false;
+         //}
+
+            // ------------------------------------------------------
+            // fix the slip
+         if(fix) {
+               // define the slip
+            if(SVP.Flag[itfuture->nbeg] & SVPass::SLIPWL) // don't want to set it
+                     SVP.Flag[itfuture->nbeg] ^= SVPass::SLIPWL;
+            SVP.Flag[itfuture->nbeg] |= SVPass::FIXWL;
+            itfuture->NWL = nwl;
+
+            if(GDC.Debug > 6) {
+               LGF << "WLSF: nwl at nbeg\n";
+               LGF << "WLSF: " << nwl << " at " << itfuture->nbeg << endl;
+            }
+
+               // Join the segments
+               // fix bias1, NWL and WLStats in future (super-)Segment
+            nfe = itfuture->nend;          // index at end of future Segment(s)
+            kt = it;
+            if(MoveForward) kt++;          // it == past
+            //else                         // it == future
+            while(kt != SegList.end()) {
+                  // always include the first segment, at least
+               if(MoveForward || (SVP.Flag[kt->nbeg] & SVPass::FIXWL))
+                  nfe = kt->nend;
+                  // but quit when a slip failure encountered//v3.1,5/13/03
+               if(!(SVP.Flag[kt->nbeg] & SVPass::FIXWL)) break;
+               kt++;
+            }
+            dbias1 = itfuture->bias1 - itpast->bias1;    // ~ itfuture->NWL
+
+            if(GDC.Debug > 6) {
+               LGF << "WLSF: correct nb to nfe: dbias1 NWL\n";
+               LGF << "WLSF: " << itfuture->nbeg << " to " << nfe << " " << fixed
+                  << setw(13) << setprecision(3) << dbias1
+                  << " " << itfuture->NWL << endl;
+            }
+
+               // -----------------------------------------------
+               // loop over all data (all Segments) in future of slip
+               // correct the WLB data for the WL slip
+            for(i=itfuture->nbeg; i<=nfe; i++) {
+               if(SVP.Flag[i] >= SVPass::OK) {
+                  SVP.P1[i] += dbias1 - itfuture->NWL;    // ~ 1
+                  itpast->WLStat.Add(SVP.P1[i]);       // they have same bias..
+               }
+            }
+
+               // -----------------------------------------------
+               // loop over all Segments in future
+               // Redefine biases (correct GFP for NWL using bias2)
+               // and set all Stats in future (super-)Segment to past stats
+            kt = it;
+            if(MoveForward) kt++;
+            while(kt != SegList.end()) {
+               if(MoveForward || (SVP.Flag[kt->nbeg] & SVPass::FIXWL)){
+                  kt->bias1 -= dbias1;               // WLB
+                  kt->bias2 -= wl2*itfuture->NWL;    // GFP
+                  if(!MoveForward || kt==it)
+                     kt->WLStat = itpast->WLStat;
+               }
+                  //v3.1,5/13/03
+               else if(!(SVP.Flag[kt->nbeg] & SVPass::FIXWL)) break;
+               kt++;
+            }
+            // (leave NWL, N1, nbeg, nend, npts alone!)
+
+            if(GDC.Debug > 6) LGF << "WLSF:  Joined: bias1="
+                  << fixed << setw(13) << setprecision(3) << itfuture->bias1
+                  << " N=" << itfuture->WLStat.N()
+                  << " A=" << setprecision(3) << itfuture->WLStat.Average()
+                  << " SD=" << setprecision(3) << itfuture->WLStat.StdDev()
+                  << endl << endl;
+
+         }  // end if fix
+         //else GDCNFail++;
+
+      }  // end if WL slip exists here
+
+         // move to next Segment
+      if(MoveForward) { j++; it++; }
+      else            { j--; it--; }
+
+   }  // end loop over Segments
+
+   if(GDC.Debug > 5) DumpSegments("WLF",GDCUnique,GDC,SVP);
+   
+   return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+   LGF << "WLSlipFix threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end WLSlipFix(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Loop over Segments:
+// Fit a polynomial to the GF range, and replace -GF Range (P2) with
+//   residual GFPh+Fit(GFR) divided by wl21.
+// Also scale the GFPh by 1/wl21, ie convert to cycles - only (for GFP)
+// Either reject outliers, or further divide into Segments, when the change in
+// the residual is large.
+//
+// After this routine arrays are L1 = L1 phase (cycles)
+//                               L2 = GFP(cycles) - bias2/wl21
+//                               P1 = WLB (cy) - bias1
+//                               P2 = GFP-Fit(-GFR)(cycles)
+//                         and bias2 is in units of cycles (of wl21)
+//
+int GFSlipDetect(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+   if(GDC.Debug > 5) LGF << "GD..............................................."
+      << ".................................\n";
+
+   if(SegList.size() <= 0) return PrematureEnd;
+
+   bool first;
+   int i,j,k,nb,ne,dn,ilast,nout,newbeg;
+   double t,data,fit,bias;
+   DayTime ttag;
+   list<Segment>::iterator it;
+
+      // ------------------------------------------------------------------
+      // loop over the Segments
+   for(j=0,it=SegList.begin(); it != SegList.end(); j++,it++) {
+      nb = it->nbeg;              // beginning of super-Segment
+      ne = it->nend;              // end of Segment
+      dn = ne-nb;                 // last - first : used in polynomial fit
+
+         // ---------------------------------------------------
+         // Do the polynomial fit
+      i = GFRangePolynomialFit(SVP,GDC,it,j);
+      if(i == PrematureEnd) continue;           // segment was too small
+      if(i < ReturnOK) return i;
+
+         // ------------------------------------------------------------
+         // Loop over the Segment:
+         //    GF Phase (L2) = (f1^2/f2^2 - 1)I + WL2*NWL - (WL2-WL1)*N1
+         // (but the NWL term has been removed at this point)
+         // Replace the -GFR(P2) with residual GFP - Polynomial(-GFR),
+         //    divided by WL2-WL1; also divide bias2 by wl21.
+         // Look for gaps and jumps, if necessary creating a new segment
+
+      ilast = -1;          // index of last good point
+      nout = 0;            // number of outliers
+      first = true;        // first good point in the super-Segment
+      bias = 0.0;          // net bias change
+      ttag = SVP.BegTime;  // time tag of i
+      ttag += double(nb) * GDC.DT;
+      it->npts = 0;                           // count points in Segment
+      it->bias2 /= wl21;                      // data will be rescaled below
+      if(j>0 && ((SVP.Flag[nb]&SVPass::SLIPWL) || (SVP.Flag[nb]&SVPass::FIXWL)))
+         SVP.Flag[nb] |= SVPass::SLIPGF;  // mark all WL slips GF slips
+
+         // loop over points
+      for(i=nb; i<=ne; i++) {
+            // only consider good data
+         if(SVP.Flag[i] >= SVPass::OK) {
+               // evaluate the polynomial and compute GF Ph+Fit(Range)
+            t = 2*double(i-nb)/dn - 1.0;
+            data = (SVP.L2[i] - it->PF.Evaluate(t))/wl21; // (temp use data=P2)
+
+               // change units of GFPhase (WL corrected) to cycles of wl21
+            fit = SVP.L2[i] / wl21;                       // (temp use of fit=L2)
+               
+               // --------------------------------------------------
+               // look for anomalous point in the GFP+Fit(GFR)
+               // (no need for bias2 here: within one segment, bias is irrelevant)
+            if(ilast > -1 && fabs(data-SVP.P2[ilast]) > GDC.GFOnlySlipTol) {
+
+                  // if nout >= GDC.GFNOutliers, check that sigma of these
+                  // nout 'outliers' is small -- ie they agree; if so, slip;
+                  // else mark all outliers (ie set nout=0)
+               if(nout >= GDC.GFNOutliers) {
+                     // Compute stats(1st-all others) and stats(2nd-(3,4,...))
+                     // 1st is earliest: is 1st an outlier? or slip?
+                     // Ought to also compare with ilast -  is slip big?
+                     //  esp. in high ionosphere, where false slips are prob.
+                  double d1,d2;
+                  Stats<double> St1,St2;
+                  ibad[nout] = i;
+                  dbad[nout] = data;
+                  for(k=1; k<=nout; k++) {
+                     d1 = dbad[k]-dbad[0];
+                     St1.Add(d1);
+                     d2 = dbad[k]-dbad[1];
+                     if(k>1) St2.Add(d2);
+                     //if(GDC.Debug>1)
+                     //fprintf(C.fplog,"GF Out/GF Slip %d %2.2d %d test: %4d "
+                     //"%7.3f %7.3f\n",GDCUnique,SVP.SV.Prn(),j+1,ibad[k],
+                     //d1,d2);
+                  }
+                  if(GDC.Debug>6) LGF << "GF Out/GF Slip " << GDCUnique
+                     << " " << SVP.SV
+                     << " " << j+1 << " test:"
+                     << " Stat1(" << St1.N() << ")="
+                     << fixed << setw(7) << setprecision(3)
+                     << St1.Average() << "+-" << setprecision(3)
+                     << St1.StdDev()
+                     << " Stat2(" << St2.N() << ")="
+                     << fixed << setw(7) << setprecision(3)
+                     << St2.Average() << "+-" << setprecision(3)
+                     << St2.StdDev();
+
+                     // now the test: if sigmas big OR averages differ, reject
+                  if(St1.StdDev() > GDC.GFDetectMaxSigma ||
+                     St2.StdDev() > GDC.GFDetectMaxSigma ||
+                     fabs(St1.Average()-St2.Average()) > GDC.GFDetectMaxSigma) {
+                     for(k=1; k<nout; k++) {
+                        ibad[k-1]=ibad[k];
+                        dbad[k-1]=dbad[k];
+                     }
+                     nout--;
+                     if(GDC.Debug>6) LGF << " :O\n";
+                  }
+                  else if(GDC.Debug>6) LGF << " :S\n";
+
+               } // end if more than min anomalous points
+
+               // --------------------------------------------------
+               if(nout < GDC.GFNOutliers) {                         // outlier
+                     // 0,1,2,4,8 -> -16,-15,-14,-12,-8
+                  SVP.Flag[i] += SVPass::GFBAD;
+                  ibad[nout] = i;
+                  dbad[nout] = data;
+                  nout++;
+                  if(GDC.Debug>6) LGF << "GF Out " << GDCUnique << " " << SVP.SV
+                     << " at # " << i << " " << ttag << " ("
+                     << fixed << setw(7) << setprecision(4) << fabs(data-SVP.P2[ilast])
+                     << " > " << setw(7) << setprecision(4) << GDC.GFOnlySlipTol
+                     << ")\n";
+               }
+               // --------------------------------------------------
+               else {                                             // slip
+                     // undo 'outlier' status of prev nout points
+                     // find first good point of segment and mark
+                  newbeg = -1;
+                  for(k=0; k<nout; k++) {
+                     if(SVP.Flag[ibad[k]] < SVPass::SETBAD) {
+                           // -16,-15,-14,-12,-8 -> 0,1,2,4,8
+                        SVP.Flag[ibad[k]] -= SVPass::GFBAD;
+                        if(newbeg == -1) {
+                           newbeg = ibad[k];
+                           SVP.Flag[ibad[k]] |= SVPass::SLIPGF;
+                           ttag = SVP.BegTime;
+                           ttag += double(ibad[k]) * GDC.DT;
+                        }
+                     }
+                  }
+
+                     // create a new Segment
+                  Segment Snew(*it);
+                  Snew.nbeg = newbeg;
+                  Snew.nend = it->nend;
+                  it->nend = ilast;
+                  Snew.npts = 0;
+                  Snew.bias2 *= wl21;        // undone later
+                  Snew.NWL = 0;              // this is GFonly slip
+
+                     // if Stats WLStat needed in both segments,
+                     // have to recompute here!
+
+                     // add new Segment after it and redefine it (j is unchanged)
+                  it++;
+                  it = SegList.insert(it,Snew);
+
+                  if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique
+                     << " " << SVP.SV << " " << j+1
+                     << " (w/o WL): new Segment at # " << Snew.nbeg << " " << ttag
+                     << " " << fixed << setw(13) << setprecision(3)
+                     << data-SVP.P2[ilast] << endl;
+
+                  break;      // ...the for loop - go to next (new) Segment
+
+               } // end if slip
+
+            }  // end if anomalous point
+
+            // --------------------------------------------------
+            else {                           // it is not anomalous point
+               ilast = i;
+               nout = 0;
+               it->npts++;                   // count good points
+               SVP.P2[i] = data;             // = (L2-fit)/wl21
+               SVP.L2[i] = fit;              // = L2/wl21
+
+            } // end if not anomalous point
+
+         }  // end if good point
+
+         ttag += GDC.DT;
+
+      }  // end for loop over points within the segment
+
+   }  // end loop over segments
+
+   CorrectSegments(SVP,GDC);
+
+   if(GDC.Debug > 4) DumpSegments("GFD",GDCUnique,GDC,SVP);
+   
+   if(SegList.size() <= 0) {
+      if(GDC.Debug>4) LGF << "Abort GDC: No good data in GFSlipDetect.\n";
+      return PrematureEnd;
+   }
+
+   return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+   LGF << "GFSlipDetect threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end GFSlipDetect(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// fit a polynomial to the geometry-free range in the super-Segment
+int GFRangePolynomialFit(SVPass& SVP,GDCConfig& GDC,list<Segment>::iterator& it,int j)
+{
+try {
+   int i,nb,ne,dn,npts,ndeg;
+   double t,data,fit;
+   DayTime ttag;
+
+   nb = it->nbeg;              // beginning of super-Segment
+   ne = it->nend;              // end of Segment
+   dn = ne-nb;
+      // count the number of good points in super-Segment
+   npts = 0;
+   for(i=nb; i<=ne; i++) {
+      if(SVP.Flag[i] >= SVPass::OK) npts++;
+   }
+
+      // determine the degree of the polynomial fit to GFRange
+      // ndeg = MIN( 10, MIN( (2+2*minutes_in_seg/100), (npts-1) )
+   ndeg = 2+long((dn+1)*GDC.DT/3000.0 + 0.5);
+   if(npts-1 < ndeg) ndeg=npts-1;
+   if(ndeg > GDC.GFPolyMaxDegree) ndeg=GDC.GFPolyMaxDegree;
+   if(ndeg < 2) {
+      //if(GDC.Debug)
+         //LGF << "GF Slip Detect polynomial degree is too small: " << ndeg << endl;
+      return PrematureEnd;
+   }
+
+      // do the polynomial fit
+   it->PF.Reset(unsigned(ndeg));
+   for(i=nb; i<=ne; i++) {
+      if(SVP.Flag[i] >= SVPass::OK) {
+            // time is rescaled to [-1 to +1]
+         t = 2*double(i-nb)/dn - 1.0;
+         it->PF.Add(SVP.P2[i],t);
+      }
+   }
+
+      // evaluate the RMS residual of fit - do we need to change ndeg?
+   if(it->PF.isSingular()) {
+      LGF << "GDC: GF Slip Detect Segment " << j+1
+         << ": Polynomial fit is singular!\n";
+      return FatalProblem;
+   }
+
+   it->RMSROF = 0.0;
+   ttag = SVP.BegTime;
+   ttag += double(nb) * GDC.DT;
+   for(i=nb; i<=ne; i++) {
+      if(SVP.Flag[i] >= SVPass::OK) {
+         t = 2*double(i-nb)/dn - 1.0;
+         data = SVP.P2[i];
+         fit = it->PF.Evaluate(t);
+         it->RMSROF = RSS(it->RMSROF,data-fit);
+            // print ttag,GFP(m),t,GFR(m),fit(m),res(m)
+         if(GDC.Debug>5) LGF << "GFRF " << GDCUnique << " " << SVP.SV << " " << j+1
+            << ttag.printf(" %13.6Q ") << fixed
+            << " " << setw(7) << setprecision(4) << SVP.L2[i]
+            << " " << setw(8) << setprecision(3) << t
+            << " " << setw(8) << setprecision(3) << data
+            << " " << setw(8) << setprecision(3) << fit
+            << " " << setw(8) << setprecision(3) << data-fit
+            << " " << i << endl;
+      }
+      ttag += GDC.DT;
+   }
+
+      // RMS residual of fit
+   it->RMSROF /= sqrt(double(npts));
+   if(GDC.Debug>6) LGF << "GFProc Segment " << j+1 << " RMSROF ("
+      << npts << " pts, " << ndeg << " deg) "
+      << fixed << setw(8) << setprecision(3) << it->RMSROF << endl;
+
+      // test RMS residual of fit (ROF) - nothing is done with this
+   //if(it->RMSROF > GDC.GFRMaxRMSFit) ??
+
+   return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+   LGF << "GFRangePolynomialFit threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end GFRangePolynomialFit()
+
+//------------------------------------------------------------------------------------
+// Called by GFSlipFix(). Given two consecutive Segments, with a GF slip between
+// them, compute the degree of polynomial, and then fit polynomials to the GF
+// Phase, compute RMS residuals of fit, the number of points used in the fit,
+// and the estimated discontinuity.
+// Note on signs. Note that L2 = GFP-N1-bias2. Thus, if D = fut-past operator,
+//                    then DL2 = DGFP - DN1 - Dbias2, but DGFP=0 (no slips)
+//                  and so DN1 = -DL2-Dbias2
+//
+// Return Singular or ReturnOK
+int GFSlipEstimate(SVPass& SVP, GDCConfig& GDC, list<Segment>::iterator& itpast,
+   list<Segment>::iterator& itfuture, int NFit, double *ROF, int *npts,
+   double& discontinuity)
+{
+try {
+   int i,k,nb[2],ne[2];
+   double t,d,data,fit,ti,bias;
+   DayTime ttag;
+   PolyFit<double> SPF[2];
+
+      // unique number for debug purposes
+   GFSj++;
+
+      // range of indexes for data in fit
+   ne[0] = itpast->nend;
+   nb[0] = ne[0]-NFit;
+   if(nb[0] < itpast->nbeg) nb[0]=itpast->nbeg;
+   nb[1] = itfuture->nbeg;
+   ne[1] = nb[1]+NFit;
+   if(ne[1] > itfuture->nend) ne[1]=itfuture->nend;
+
+      //--------------------------------------------------------
+      // now do the fits and compute the residuals
+   for(k=0; k<2; k++) {                      // loop over past(0), future(1)
+         // time tag of slip
+      ttag = SVP.BegTime;
+      ttag += double(itfuture->nbeg) * GDC.DT;
+
+         // fit polynominals
+      SPF[k].Reset(3);                    // degree 3 (quadratic) ?DCparam?
+
+         // loop over points in the fit
+      npts[k] = 0;
+      d = 2.0/double(ne[k]-nb[k]);
+      for(i=nb[k]; i<=ne[k]; i++) {
+         if(SVP.Flag[i] >= SVPass::OK) {
+               // time is rescaled to [-1 to +1]
+            t = d*double(i-nb[k]) - 1.0;
+            data = SVP.L2[i];
+            SPF[k].Add(data,t);
+            npts[k]++;
+         }
+      }
+
+         // error exit
+      if(npts[k] < 4) {
+         ROF[k] = 0;
+         return PrematureEnd;
+      }
+      if(SPF[k].isSingular()) {
+         LGF << "GDC: GF Slip Fix Polynomial fit " << k << " at " << ttag
+            << "is singular!\n";
+         ROF[k] = 0;                // this flags bad solution
+         return Singular;
+      }
+
+         // compute residuals of fit
+      ROF[k] = 0.0;
+      ttag = SVP.BegTime;
+      ttag += double(nb[k]) * GDC.DT;
+      d = 2.0/double(ne[k]-nb[k]);
+         // bias is for output purposes only - if 0, slip shows in plots
+      bias = 0.0;
+      if(k==1) bias = SVP.L2[itfuture->nbeg] - SVP.L2[itpast->nend];
+
+         // loop over data computing ROF
+      for(i=nb[k]; i<=ne[k]; i++) {
+         if(SVP.Flag[i] >= SVPass::OK) {
+               // 'time' t is scaled to [-1,1]
+            t = d*double(i-nb[k]) - 1.0;
+            data = SVP.L2[i];
+            fit = SPF[k].Evaluate(t);
+            ROF[k] = RSS(ROF[k],data-fit);
+               // print ttag,GFP(m),t,GFR(m),fit(m),res(m)
+            if(GDC.Debug>5) LGF << "GFS " << GDCUnique << " " << SVP.SV << " " << GFSj
+               << ttag.printf(" %13.6Q ") << fixed
+               << " " << setw(7) << setprecision(3) << t
+               << " " << setw(8) << setprecision(3) << data-bias
+               << " " << setw(8) << setprecision(3) << fit-bias
+               << " " << setw(8) << setprecision(3) << data-fit
+               << endl;
+         }
+         ttag += GDC.DT;
+      }  // end loop over data
+
+      ROF[k] /= sqrt(double(npts[k]));
+
+   }  // end loop over past,future fits
+
+      // estimate the discontinuity
+      // 'index' of the mid-pt of gap
+   ti = itpast->nend + 0.5*(itfuture->nbeg-itpast->nend);
+      // time tag
+   ttag = SVP.BegTime;
+   ttag += double(ti) * GDC.DT;
+
+      // evaluate on the 'future' side
+   t = 2*double(ti-nb[1])/double(ne[1]-nb[1]) - 1.0;
+   discontinuity = -SPF[1].Evaluate(t);
+
+      // output result of fit
+   if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV << " " << GFSj
+      << " est future at " << ttag << fixed
+      << " t=" << setw(7) << setprecision(3) << t
+      << " value=" << setw(8) << setprecision(4) << discontinuity << endl;
+
+      // evaluate on the 'past' side
+   t = 2*double(ti-nb[0])/double(ne[0]-nb[0]) - 1.0;
+   fit = SPF[0].Evaluate(t);
+   discontinuity += fit;
+
+      // output result of fit
+   if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV << " " << GFSj
+      << " est past   at " << ttag << fixed
+      << " t=" << setw(7) << setprecision(3) << t
+      << " value=" << setw(8) << setprecision(4) << fit << endl;
+
+      // include biases
+   discontinuity -= itfuture->bias2 - itpast->bias2;
+
+   if(GDC.Debug>1) {
+      long n1=long(discontinuity+(discontinuity>0?0.5:-0.5));
+      double disc=discontinuity-double(n1);
+      if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV << " " << GFSj
+         << " at " << ttag << " = " << n1 << " + " << fixed
+         << setw(6) << setprecision(3) << disc << endl;
+      if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV << " " << GFSj
+         << " fit of future, " << npts[1] << ", RMSROF " << fixed
+         << setw(8) << setprecision(3) << ROF[1] << endl;
+      if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV << " " << GFSj
+         << " fit of past,   " << npts[0] << ", RMSROF " << fixed
+         << setw(8) << setprecision(3) << ROF[0] << endl;
+   }
+
+   return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+   LGF << "GFSlipEstimate threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end GFSlipEstimate(SVP,GDC,it,itprev,nfit,ROF,npts,disc)
+
+//------------------------------------------------------------------------------------
+// Loop over Segments: Fit polynomials to either side of the GF slips;
+// Fix the GF slips.
+//
+// After this routine arrays are L1 = L1 phase (cycles)
+//                               L2 = GFP(cycles) - bias2
+//                               P1 = WLB (cy) - bias1
+//                               P2 = GFP-Fit(-GFR)(cycles)
+//       i.e. no slips, and bias2 is in units of cycles (of wl21)
+//
+int GFSlipFix(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+   if(GDC.Debug > 5) LGF << "GF.............................................."
+      << "..................................\n";
+
+   if(SegList.size() <= 1) return ReturnOK;
+
+   bool fix[5];
+   int i,j,k,ngap,nfit,nfit0,npts[2];
+   int NpreEnd,NfutBeg,NpreEm1,NfutBm1,FfutBeg,FfutBm1;
+   long n1[5];
+   double disc[5],ROF[10],bias,test;
+   list<Segment>::iterator it,itprev;
+
+   GFSj = 0;
+      // bias2 and L2 are in units of cycles of wl21
+      // start with the second segment
+   it = SegList.begin();
+   for(j=2,it++; it != SegList.end(); j++,it++) {
+      if(SVP.Flag[it->nbeg]>0 && (SVP.Flag[it->nbeg] & SVPass::SLIPGF)) {
+            // found a GF slip
+            // Segment in the past of the slip (it is in future of slip)
+         itprev = it;
+         itprev--;
+            // nominal slip - for output purposes only
+         bias = SVP.L2[it->nbeg] - SVP.L2[itprev->nend];
+
+            // compute number of points to fit
+         nfit = GDC.GFFitNMin;
+         ngap = it->nbeg - itprev->nend - 1;
+         nfit = int(GDC.GFFitTime/GDC.DT) + 2*ngap + 2;
+         if(nfit < GDC.GFFitNMin) nfit=GDC.GFFitNMin;
+   
+            // do the estimation up to 5 times: first regular, then
+            // remove 2 points closest to slips, then 2 more, then
+            // half as many points, then twice as many
+         k = 0;
+         do {
+               // ---------------------------------------------------------
+               // fit polynomials, compute stats, estimate discontinuity
+               // TD figure out how many good points there are before calling
+               // TD do all the different fits, then choose the best.
+            i = GFSlipEstimate(SVP,GDC,itprev,it,nfit,&ROF[2*k],npts,disc[k]);
+            if(i < ReturnOK) return i;
+            // set ROF=0 to flag bad solution if(i > ReturnOK) fix=false;
+            else {   // increment k and try again
+               k++;
+               if(k==1) {              // first re-try: remove two points
+                  NpreEnd = itprev->nend;
+                  NfutBeg = it->nbeg;
+                  FfutBeg = SVP.Flag[it->nbeg];
+                  SVP.Flag[itprev->nend] = SVP.Flag[it->nbeg] = -99;
+                  while(SVP.Flag[itprev->nend] < SVPass::OK) itprev->nend--;
+                  while(SVP.Flag[it->nbeg] < SVPass::OK) it->nbeg++;
+               }
+               else if(k==2) {         // second re-try: remove two more
+                  NpreEm1 = itprev->nend;
+                  NfutBm1 = it->nbeg;
+                  FfutBm1 = SVP.Flag[it->nbeg];
+                  SVP.Flag[itprev->nend] = SVP.Flag[it->nbeg] = -99;
+                  while(SVP.Flag[itprev->nend] < SVPass::OK) itprev->nend--;
+                  while(SVP.Flag[it->nbeg] < SVPass::OK) it->nbeg++;
+               }
+               else if(k==3) {         // third re-try: halve npts
+                  SVP.Flag[NpreEnd] = SVP.Flag[NpreEm1] = SVPass::OK;
+                  SVP.Flag[NfutBeg] = FfutBeg;
+                  SVP.Flag[NfutBm1] = FfutBm1;
+                  itprev->nend = NpreEnd;
+                  it->nbeg = NfutBeg;
+                  nfit0 = nfit;
+                  nfit = nfit0/2;
+                  if(nfit < 8) nfit=8; // absolute minimum ?DCparam?
+                  // ? increase degree of polynomial?
+               }
+               else if(k==4) {         // fourth re-try: double npts
+                  nfit = 2*nfit0;
+               }
+               else break;             // give up
+            }  // end if successful fit
+         } while(1);
+
+            // choose the best result
+         int kmin=-1;
+         for(k=0; k<5; k++) {
+            if(ROF[2*k]==0 || ROF[2*k+1]==0) { fix[k]=false; continue; }
+
+               // divide into integer and fractional parts
+               // GFP+GFR = wl2*NWL - wl21*N1 so n1 = -N1
+            n1[k] = long(disc[k] + (disc[k]>0?0.5:-0.5));
+            disc[k] -= double(n1[k]);
+
+               // ----------------------------------
+               // Here is the test: can it be fixed?
+            fix[k] = true;
+
+               // (1) check the gap - if too large, must fail
+            test = (it->nbeg-itprev->nend)*GDC.DT;
+            if(test > GDC.GFFixMaxGap) {
+               if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV
+                  << " " << j << "." << GFSj << " fix FAILS (Gap too large " << fixed
+                  << setw(5) << setprecision(3) << test << " > "
+                  << setw(5) << setprecision(3) << GDC.GFFixMaxGap << ")\n";
+               fix[k] = false;
+            }
+               // (2) RMS residual of fit is small, on both sides
+            if(ROF[2*k] >= GDC.GFFixSigma || ROF[2*k+1] >= GDC.GFFixSigma) {
+               if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV
+                  << " " << j << "." << GFSj << " fix FAILS (Sigma too large "
+                  << fixed
+                  << setw(7) << setprecision(3) << test << " | " << ROF[2*k]
+                  << setw(7) << setprecision(3) << test << " >= " << ROF[2*k+1]
+                  << setw(7) << setprecision(3) << GDC.GFFixSigma << ")\n";
+               fix[k] = false;
+            }
+               // (3) fractional part of offset is small
+            //if(fabs(disc[k]) > C.GFFixFrac) {
+            //   if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " " << SVP.SV
+            //      << " " << j << "." << GFSj
+            //      << " fix FAILS (Fractional part large " << fixed
+            //      << setw(6) << setprecision(4) << fabs(disc[k]) << " > "
+            //      << setw(6) << setprecision(4) << GDC.GFFixFrac << ")\n";
+            // fix[k] = false;
+            //}
+
+            if(kmin == -1 ||
+               (ROF[2*k]+ROF[2*k+1] < ROF[2*kmin]+ROF[2*kmin+1])) kmin=k;
+
+         }  // end loop over 5 possible fixes
+
+            // ------------------------------------------------------
+            // fix the slip
+         if(kmin > -1 && fix[kmin]) {                 // success
+            SVP.Flag[it->nbeg] |= SVPass::FIXGF;
+            SVP.Flag[it->nbeg] ^= SVPass::SLIPGF;
+            it->N1 = n1[kmin];
+            if(GDC.Debug > 0) {
+               DayTime ttag;
+               ttag = SVP.BegTime;
+               ttag += double(it->nbeg) * GDC.DT;
+               if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " "
+                  << SVP.SV << " " << GFSj
+                  << " FIX at " << ttag << " = " << n1[kmin] << fixed
+                  << " " << setw(6) << setprecision(3) << disc[kmin] << endl;
+               if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " "
+                  << SVP.SV << " " << GFSj
+                  << " fit of past,   RMSROF " << fixed
+                  << setw(8) << setprecision(3) << ROF[2*kmin] << endl;
+               if(GDC.Debug>6) LGF << "GF Slip " << GDCUnique << " "
+                  << SVP.SV << " " << GFSj
+                  << " fit of future, RMSROF " << fixed
+                  << setw(8) << setprecision(3) << ROF[2*kmin+1] << endl;
+            }
+         }
+         else if(kmin > -1) it->N1=n1[kmin];        // failure but have N1
+         else it->N1 = 0;                           // failure
+
+            // Make NWL -> N2
+         it->NWL = it->N1 - it->NWL;   // N1-(N1-N2)=N2
+            
+      }  // end if GF slip was previously found
+
+      else {                          // no GF slip -> N1==0
+         it->N1 = 0;                  // may not be necessary...
+         it->NWL = -it->NWL;          // NWL -> N2 = 0-NWL
+      }
+
+   }  // end loop over segments
+
+   return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+   LGF << "GFSlipFix threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end GFSlipFix(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Loop over the data and correct the L1 and L2 data arrays. First correct for
+// N1 in both L1 and GFP, then solve for L1 and L2 and convert to cycles.
+int CorrectData(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+   int i,j;
+   long N1;
+   double bias1,bias2;
+   DayTime ttag;
+   list<Segment>::iterator it;
+
+      // loop over all the data in the SVPass,
+      // keeping pointer to Segment j at same time
+   j = 0;
+   N1 = 0;
+   it = SegList.begin();
+   bias1 = 0;
+   bias2 = it->bias2*wl21;        // overall GFP bias in meters
+   ttag = SVP.BegTime;
+
+   for(i=0; i<SVP.Length; i++) {
+         // check for beginning of Segment
+         // N1 must accumulate
+      if(i == it->nbeg) {
+         if(SVP.Flag[i] & SVPass::FIXGF) N1 += it->N1;
+         else N1 = 0;
+      }
+
+         // modify the data
+      if(i >= it->nbeg && (SVP.Flag[i]>=SVPass::OK || SVP.Flag[i]==SVPass::SETBAD)) {
+         SVP.L1[i] -= N1;                       // correct L1 for GF slips
+         SVP.L2[i] += N1;                       // correct GFP for GF slips
+         SVP.L2[i] += it->bias2;                // restore bias on GFP
+         SVP.L2[i] *= wl21;                     // convert to GF (m)
+         SVP.L2[i] = wl1*SVP.L1[i]-SVP.L2[i];   // convert to L2 (m)
+         SVP.L2[i] /= wl2;                      // convert to L2 cycles
+
+            // output WL range minus phase and GF phase
+         //if(dormp && C.fplog && C.Debug>1) {
+         // double gfp = gf1p*SVP.L1[i]+gf2p*SVP.L2[i];  // GFP(meters)
+         // gfp -= bias2;
+         // fprintf(C.fplog,"%s %d %2.2d %13.6f %13.3f %13.3f\n",
+         //    (SVP.Flag[i]>=SVPass::OK ? "RMP ":"RMPX"),
+         //    GDCUnique,SVP.SV.Prn(),t.MJD(),SVP.P1[i]-bias1,gfp);
+         //}
+      }
+
+         // check for end of Segment - need it for N1, bias2
+      if(i == it->nend) {
+         bias1 += it->bias1;         // output purposes only
+         j++;
+         it++;
+         if(it==SegList.end()) break;
+         bias1 -= it->bias1;         // output purposes only
+      }
+
+      ttag += GDC.DT;
+   }  // end for loop over all data
+
+   if(GDC.Debug > 4) DumpSegments("AFT",GDCUnique,GDC,SVP);
+
+   return ReturnOK;
+}
+catch(gpstk::Exception& e) {
+   LGF << "CorrectData threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end CorrectData(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+// Modify nbeg or nend for bad points at beginning and end, and create new
+// Segments where SLIPs have been marked. Modify the bias.
+// Then delete Segments smaller than the limit...this is only place where
+// Segments are deleted.
+void CorrectSegments(SVPass& SVP, GDCConfig& GDC)
+{
+try {
+   int i,j,nb,ne;
+   list<Segment>::iterator it,jt;
+
+      // loop over segments, changing start and stop
+   for(it=SegList.begin(); it != SegList.end(); it++) {
+         // change start point
+      nb = it->nbeg;
+      ne = it->nend;
+      while(nb <= ne && SVP.Flag[nb] < SVPass::OK) nb++;
+      it->nbeg = nb;
+      while(ne >= nb && SVP.Flag[ne] < SVPass::OK) ne--;
+      it->nend = ne;
+   }
+
+      // now delete small Segments
+   for(j=0,it=SegList.begin(); it != SegList.end(); j++,it++) {
+      jt = it;
+      jt++;            // jt points to the next Segment
+      if(it->npts < GDC.MinPts || GDC.DT*(it->nend-it->nbeg+1) < GDC.MinSeg) {
+         if(GDC.Debug>4) LGF << "DEL " << GDCUnique << " " << SVP.SV << " Seg #"
+            << setw(2) << j+1 << ": " << setw(3) << it->npts << " pts, # "
+            << setw(3) << it->nbeg << "-" << setw(4) << it->nend << endl;
+
+            // remove from list
+         if(SVP.Flag[it->nbeg] > SVPass::SLIP) {    // it has been fixed
+            // if deleting a Segment that has been fixed, give flags to next Segment
+            if(jt != SegList.end()) {
+               if(SVP.Flag[it->nbeg] & SVPass::FIXWL)
+                  SVP.Flag[jt->nbeg] |= SVPass::FIXWL;
+               if(SVP.Flag[it->nbeg] & SVPass::FIXGF)
+                  SVP.Flag[jt->nbeg] |= SVPass::FIXGF;
+            }
+            //else GDCNFix--;
+         }
+            // mark all the points bad
+         for(i=it->nbeg; i<=it->nend; i++)
+            if(SVP.Flag[i] >= SVPass::OK) SVP.Flag[i]=SVPass::SETBAD;
+
+            // remove the segment from the list
+         SegList.erase(it);
+         it = jt;
+      }
+   }
+
+      // if the first Segment gets deleted, it leaves a SLIP flag on SL[0]
+   if(SegList.size() <= 0) return;
+   SVP.Flag[SegList.begin()->nbeg] = SVPass::OK;
+}
+catch(gpstk::Exception& e) {
+   LGF << "CorrectSegments threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+}  // end CorrectSegments(SVPass& SVP, GDCConfig& GDC)
+
+//------------------------------------------------------------------------------------
+void DumpSegments(const string& lab, int N, GDCConfig& GDC, SVPass& SVP)
+{
+try {
+   if(GDC.Debug<5) return;
+
+   int i,j;
+   DayTime ttag;
+   list<Segment>::iterator it,itprev;
+
+      // first print a list of Segments and stats
+   LGF << lab << " list of Segments (" << SegList.size()
+      << "): (" << GDCNFix << " fixed, " << GDCNFail << " failed)\n";
+   for(i=1,it=SegList.begin(); it!=SegList.end(); i++,it++) {
+      LGF << lab << "List " << GDCUnique << " " << SVP.SV << " #" << i << ": ";
+      if(SVP.Flag[it->nbeg] == SVPass::OK) LGF << " 000";
+      if(SVP.Flag[it->nbeg] & SVPass::SLIPWL) LGF << " SWL";
+      if(SVP.Flag[it->nbeg] & SVPass::FIXWL) LGF << " FWL";
+      if(SVP.Flag[it->nbeg] & SVPass::SLIPGF) LGF << " SGF";
+      if(SVP.Flag[it->nbeg] & SVPass::FIXGF) LGF << " FGF";
+      LGF << setw(4) << it->npts << " pts, # "
+         << setw(4) << it->nbeg << "-" << setw(4) << it->nend;
+      ttag = SVP.BegTime;
+      ttag += it->nbeg * GDC.DT;
+      LGF << " (" << ttag;
+      ttag = SVP.BegTime;
+      ttag += it->nend * GDC.DT;
+      LGF << ttag;
+      LGF << ") bias1=" << fixed << setw(13) << setprecision(3) << it->bias1
+           << " bias2=" << fixed << setw(13) << setprecision(3) << it->bias2;
+      if(it != SegList.begin()) LGF << " Gap " << setw(5) << setprecision(1) <<
+         GDC.DT*(it->nbeg-itprev->nend) << " s = " << 
+            it->nbeg-itprev->nend << " pts";
+      LGF << endl;
+      itprev = it;
+   }
+
+   if(GDC.Debug < 6) return;
+
+   for(i=1,it=SegList.begin(); it!=SegList.end(); i++,it++) {
+      ttag = SVP.BegTime;
+      ttag += it->nbeg*GDC.DT;
+         // don't print when BAD b/c data may be corrupt due to absence of satellite
+      for(j=it->nbeg; j<=it->nend; j++) {
+         if(SVP.Flag[j] != SVPass::BAD) {
+            LGF << "DSC" << lab << " " << N << " " << SVP.SV << " " << i
+               << " " << ttag.printf("%13.6Q") << setw(3) << SVP.Flag[j]
+               << " " << fixed << setw(13) << setprecision(3) << SVP.L1[j]
+               << " " << fixed << setw(13) << setprecision(3) << SVP.L2[j]
+               << " " << fixed << setw(13) << setprecision(3) << SVP.P1[j]
+               << " " << fixed << setw(13) << setprecision(3) << SVP.P2[j];
+            if(SVP.A1 && SVP.A2) LGF
+               << " " << fixed << setw(13) << setprecision(3) << SVP.A1[j]
+               << " " << fixed << setw(13) << setprecision(3) << SVP.A2[j];
+            LGF << " " << setw(4) << j;
+            if(j==it->nbeg) LGF
+               << " " << fixed << setw(13) << setprecision(3) << it->bias1
+               << " " << fixed << setw(13) << setprecision(3) << it->bias2
+               << " " << it->N1 << " " << it->NWL;
+            LGF << endl;
+         }
+         ttag += GDC.DT;
+      }
+   }
+}
+catch(gpstk::Exception& e) {
+   LGF << "DumpSegments threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+}  // end DumpSegments(char *lab, int N, GDCConfig& GDC, SVPass& SVP)   // ? string?
+
+//------------------------------------------------------------------------------------
+// Set all SETBAD points to BAD.
+// Also mark the beginning of every segment as slip, unless it was fixed.
+// This is the only place where editing commands are generated.
+int OutputAndQuit(SVPass& SVP, GDCConfig& GDC, vector<string>& EditCmds, int iret)
+{
+try {
+   int i,j,inbad,nbad;
+   DayTime ttag;
+   string cmd;
+
+   EditCmds.clear();
+
+      // loop over points in the entire pass, looking for data set bad by DC
+   for(nbad=0,i=0; i<SVP.Length; i++) {
+      if(SVP.Flag[i] == SVPass::SETBAD) {       // data has been set bad
+         if(nbad == 0) inbad = i;
+         nbad++;
+      }
+      if(nbad > 0 && GDC.FixOutput
+            && (SVP.Flag[i] != SVPass::SETBAD || i==SVP.Length-1)) {
+            // write out delete commands for bad data
+         ttag = SVP.BegTime;
+         ttag += double(inbad) * GDC.DT;
+         if(nbad == 1) {         // delete a single point
+            if(GDC.Debug) {
+               ostringstream stst;
+               stst << "# delete a single point";
+               EditCmds.push_back(stst.str());
+            }
+            {
+               ostringstream stst;
+               stst << "-DS" << SVP.SV << ",";
+               if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+               else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+               EditCmds.push_back(stst.str());
+            }
+         }
+         else {                  // delete a range
+            if(GDC.Debug) {
+               ostringstream stst;
+               stst << "# delete " << nbad << " points";
+               EditCmds.push_back(stst.str());
+            }
+            {
+               ostringstream stst;
+               stst << "-DS+" << SVP.SV << ",";
+               if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+               else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+               EditCmds.push_back(stst.str());
+            }
+            {
+               ostringstream stst;
+               ttag += double(nbad) * GDC.DT;
+               stst << "-DS-" << SVP.SV << ",";
+               if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+               else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+               EditCmds.push_back(stst.str());
+            }
+         }
+         nbad = 0;
+      }
+
+      if(SVP.Flag[i] < SVPass::OK) {
+         // set all bad data to BAD, the only 'bad' flag the caller has
+         SVP.Flag[i]=SVPass::BAD;
+      }
+   }
+
+      // loop over Segments looking for slips
+   list<Segment>::iterator it;
+   for(it=SegList.begin(); it != SegList.end(); it++) {
+      j = it->nbeg;
+      ttag = SVP.BegTime;
+      ttag += double(j) * GDC.DT;
+
+      if(SVP.Flag[j] & SVPass::SLIPWL ||
+         SVP.Flag[j] & SVPass::SLIPGF ||
+         SVP.Flag[j] & SVPass::FIX) {     // slip was found
+   
+         if(GDC.Debug>3) LGF << "DSCSLP " << GDCUnique << " " << SVP.SV
+            << " " << setw(2) << i+1
+            << ttag.printf(" %13.6Q ") << setw(2) << SVP.Flag[j] << fixed
+            << " " << setw(13) << setprecision(3) << SVP.L1[j]
+            << " " << setw(13) << setprecision(3) << SVP.L2[j]
+            << " " << setw(13) << setprecision(3) << SVP.P1[j]
+            << " " << setw(13) << setprecision(3) << SVP.P2[j] << endl;
+
+            // L1
+            // fix slip, even if fix failed....
+         {
+            ostringstream stst;
+            stst << "-BD+" << SVP.SV << ",L1,";
+            if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+            else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+            stst << "," << -(it->N1) << (SVP.Flag[j]&SVPass::FIX?"":"#fix failed");
+            EditCmds.push_back(stst.str());
+         }
+            // if fix failed, set loss of lock flag
+         if(SVP.Flag[j] & SVPass::SLIPWL || SVP.Flag[j] & SVPass::SLIPGF) {
+            ostringstream stst;
+            stst << "-SL" << SVP.SV << ",L1,";
+            if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+            else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+            stst << ",1";
+            EditCmds.push_back(stst.str());
+         }
+
+            // L2
+            // fix slip, even if fix failed... N2 = it->NWL now
+         {
+            ostringstream stst;
+            stst << "-BD+" << SVP.SV << ",L2,";
+            if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+            else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+            stst << "," << -(it->NWL) << (SVP.Flag[j]&SVPass::FIX?"":"#fix failed");
+            EditCmds.push_back(stst.str());
+         }
+            // if fix failed, set loss of lock flag
+         if(SVP.Flag[j] & SVPass::SLIPWL || SVP.Flag[j] & SVPass::SLIPGF) {
+            ostringstream stst;
+            stst << "-SL" << SVP.SV << ",L2,";
+            if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+            else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+            stst << ",1";
+            EditCmds.push_back(stst.str());
+            GDCNFail++;
+         }
+         else GDCNFix++;
+      }
+      else {         // mark loss of lock on any segment without slip
+         {                 // set L1 LLI flag to 1
+            ostringstream stst;
+            stst << "-SL" << SVP.SV << ",L1,";
+            if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+            else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+            stst << ",1";
+            EditCmds.push_back(stst.str());
+         }
+         {                 // set L2 LLI flag to 1
+            ostringstream stst;
+            stst << "-SL" << SVP.SV << ",L2,";
+            if(GDC.OutputGPSTime) stst << ttag.printf("%F,%g");
+            else stst << ttag.printf("%Y,%m,%d,%H,%M,%f");
+            stst << ",1";
+            EditCmds.push_back(stst.str());
+         }
+            // reset slip count
+            // mark beginning of every segment as slip, unless fixed
+         SVP.Flag[j] |= SVPass::SLIP;
+      }
+   }
+
+      // dump the edit commands to the output
+   if(GDC.Debug>2 && EditCmds.size()>0) {
+      LGF << "Results (RinexEdit commands):\n";
+      for(i=0; i<EditCmds.size(); i++) LGF << EditCmds[i] << endl;
+   }
+
+   if(iret && GDC.Debug>1) {
+      LGF << "GPSTK Discontinuity Corrector returning (" << iret << "): ";
+      if(iret==FatalProblem) LGF << "Fatal problem";
+      else if(iret==PrematureEnd) LGF << "Too few points; pass rejected";
+      else if(iret==Singular) LGF << "Singular GFR polynomial fit";
+      LGF << endl;
+   }
+
+   if(GDC.Debug > 4) {
+      LGF << "GDC " << setw(2) << GDCUnique << ", PRN " << SVP.SV
+         << ", Pts " << setw(4)
+         << SVP.Npts << ", " << SVP.BegTime << " Slip " << GDCNFix+GDCNFail
+         << ", Fix " << GDCNFix << ", Fail " << GDCNFail << endl;
+      LGF << "========End GPSTK Discontinuity Corrector " << GDCUnique << " ("
+         << iret << ") ============================================\n\n";
+   }
+
+      // destroy the Segment list
+   SegList.clear();
+
+   return iret;
+}
+catch(gpstk::Exception& e) {
+   LGF << "OutputAndQuit threw an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+   return FatalProblem;
+}  // end OutputAndQuit(SVPass& SVP, GDCConfig& C, vector<string>& EditCmds, int iret)
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+// GDCConfig routines
+//------------------------------------------------------------------------------------
+// Set defaults
+GDCConfig::GDCConfig(void)
+{
+//Misc
+   oflog = &cout;
+   help = false;
+   Debug = 0;
+   DT = 0;
+//Editing
+   MinRange = 1.e4;
+   MaxRange = 1.e16;
+//Segment
+   MaxGap = 180;
+   MinSeg = 200;
+   MinPts = 13;
+//WL R-Ph processing
+   WLNSigma = 4;
+   WLSSWindowWidth = 10;
+   WLSSTestMin = 0.7;
+   WLSSDetectMin = -0.25;
+//WL slip estimation
+   WLFixMaxGap=2500;
+   WLFixNpts = 4;
+   WLFixSigma = 0.15;
+//GF Ph & Fit(R) processing
+   GFPolyMaxDegree = 10;
+   GFRMaxRMSFit = 0.0;      // not implemented yet
+   GFDetectMaxSigma = 10.0;
+   GFOnlySlipTol = 10.;
+   GFSlipTol = 0.9;
+   GFNOutliers = 3;
+//GF slip estimation
+   GFFixMaxGap=250;
+   GFFitTime = 300;
+   GFFitNMin = 8;
+   GFFixSigma = 0.40;
+// Output
+   OutputGPSTime = true;
+   FixOutput = true;
+}
+
+//------------------------------------------------------------------------------------
+// Set a parameter in the configuration;
+// cmd is of the form '<id>,<value>' or '<id>=<value>' or '<id>:<value>' ;
+// to see a list of possible choices, call with cmd="help".
+// optional leading '--DC' is permitted
+void GDCConfig::SetParameter(string cmd)
+{
+try {
+      // ignore leading '-'s
+   while(cmd.size() && (cmd[0]=='-' || (cmd[0]==' '||cmd[0]=='\t'))) cmd.erase(0,1);
+   if(cmd[0]=='D' && cmd[1]=='C') cmd.erase(0,2);
+
+   string id,value;
+   string::size_type pos=cmd.find_first_of(",=:");
+   if(pos==string::npos) {
+      id=cmd;
+      value="";
+   }
+   else {
+      id=cmd.substr(0,pos);
+      value=cmd;
+      value.erase(0,pos+1);
+   }
+   double dval=StringUtils::asDouble(value);
+   if(Debug>1) *oflog << "   GDC::SetParameter with " << id << " = "
+      << value << "(" << dval << ")\n";
+   //&& (*oflog).good() //
+   if(id == string("help")) help=true;
+   else if(id == string("NoFixOutput")) FixOutput=false;
+   else if(id == string("OutputGPSTime")) OutputGPSTime=!OutputGPSTime;
+   else if(id == string("Debug")) Debug=int(dval);
+   else if(id == string("DT")) DT=dval;
+   else if(id == string("MaxRange")) MaxRange=dval;
+   else if(id == string("MinRange")) MinRange=dval;
+   else if(id == string("MinPts")) MinPts=int(fabs(dval)+0.5);
+   else if(id == string("MinSeg")) MinSeg=dval;
+   else if(id == string("WLNSigma")) WLNSigma=dval;
+   else if(id == string("WLSSWindowWidth")) WLSSWindowWidth=int(dval);
+   else if(id == string("WLSSTestMin")) WLSSTestMin=dval;
+   else if(id == string("WLSSDetectMin")) WLSSDetectMin=dval;
+   else if(id == string("WLFixMaxGap")) WLFixMaxGap=fabs(dval);
+   else if(id == string("WLFixNpts")) WLFixNpts=int(fabs(dval)+0.5);
+   else if(id == string("WLFixSigma")) WLFixSigma=fabs(dval);
+   else if(id == string("GFPolynomMaxDeg")) GFPolyMaxDegree=int(dval);
+   else if(id == string("GFRMaxRMSFit")) GFRMaxRMSFit=dval;
+   else if(id == string("GFDetectMaxSigma")) GFDetectMaxSigma=dval;
+   else if(id == string("GFOnlySlipTol")) GFOnlySlipTol=fabs(dval);
+   else if(id == string("GFSlipTol")) GFSlipTol=fabs(dval);
+   else if(id == string("GFNOutliers")) {
+      GFNOutliers = int(fabs(dval)+0.5);
+      if(GFNOutliers < 3) GFNOutliers=3;
+      if(GFNOutliers > 9) GFNOutliers=9;
+   }
+   else if(id == string("GFFitTime")) GFFitTime=int(fabs(dval)+0.5);
+   else if(id == string("GFFitNMin")) GFFitNMin=int(fabs(dval)+0.5);
+   else if(id == string("GFFixMaxGap")) GFFixMaxGap=fabs(dval);
+   else if(id == string("GFFixSigma")) GFFixSigma=fabs(dval);
+   else {
+      //if((*oflog).good())
+      *oflog << "  GDC::SetParam Unknown command: " << id << " = "
+         << value << "(" << dval << ")\n";
+      return;
+   }
+   return;
+}
+catch(gpstk::Exception& e) { GPSTK_RETHROW(e); }
+}
+
+//------------------------------------------------------------------------------------
+// Print help page
+void GDCConfig::DisplayParameterUsage(ostream& os)
+{
+try {
+   os << "\nGPSTK Discontinuity Corrector (Version " << GDCVersion
+      << ") parameter commands:\n";
+   os << "      (each has the form 'label,value' OR 'label=value' "
+      << "with no whitespace)\n";
+   os << "  Debug=<x>    x: level of debugging output: 0(silent)-7(debugging)\n";
+   os << "  DT=<x>       x: nominal timestep in data (seconds) - "
+      << "(required : no default!)\n";
+   //os << "  MaxGap=<x>   x: maximum allowed gap in data (seconds)\n";
+   os << "     Data Editing:\n";
+   os << "  MinRange=<x> x: minimum allowed pseudorange (meters)\n";
+   os << "  MaxRange=<x> x: maximum allowed pseudorange (meters)\n";
+   os << "  MinPts=<x>   x: minimum number of good points in phase segment ()\n";
+   os << "  MinSeg=<x>   x: minimum acceptable length of phase segment (seconds)\n";
+   os << "     Wide-lane slip detection:\n";
+   os << "  WLNSigma=<x>        x: n-sigma WL slip detection ()\n";
+   os << "  WLSSWindowWidth=<x> x: sliding window width (xMinWidth)\n";
+   os << "  WLSSTestMin=<x>     x: minimum delta averages to start test "
+      << "(WL cycles)\n";
+   os << "  WLSSDetectMin=<x>   x: minimum del-averages: detect WL small slip "
+      << "(WL cy)\n";
+   os << "     Wide-lane slip estimation:\n";
+   os << "  WLFixMaxGap=<x>     x: Maximum allowed gap between segments (sec)\n";
+   os << "  WLFixNpts=<x>       x: Minimum number points (each segment) req'd to fix "
+      << "()\n";
+   os << "  WLFixSigma=<x>      x: Maximum total error on WL R-Ph to fix "
+      << "(WL cycles)\n";
+   os << "     Geometry-free slip detection:\n";
+   os << "  GFPolynomMaxDeg=<x> x: Maximum degree of polynomial fit to GF Range ()\n";
+   os << "  GFRMaxRMSFit=<x>    x: Maximum allowed RMS residual of fit to GFRange "
+      << "(m)\n";
+   os << "  GFDetectMaxSigma=<x>x: Maximum allowed GF res. error: detect slip "
+      << "(cyc)\n";
+   os << "  GFOnlySlipTol=<x>   x: Minimum slip on GF (no WL slip) "
+      << "(cycles WL2-WL1)\n";
+   os << "  GFSlipTol=<x>       x: Minimum slip on GF (with WL slip) "
+      << "(cycles WL2-WL1)\n";
+   os << "  GFNOutliers=<x>     x: Maximum # consecutive GF outliers w/o slip "
+      << "(>=3,<10)\n";
+   os << "     Geometry-free slip estimation:\n";
+   os << "  GFFixMaxGap=<x>     x: Maximum allowed gap between segments (sec)\n";
+   os << "  GFFitTime=<x>       x: Time span in fitting GF Phase for slip fix "
+      << "(sec)\n";
+   os << "  GFFitNMin=<x>       x: Min number of data points in fit of GF Ph ()\n";
+   os << "  GFFixSigma=<x>      x: Maximum RMS resid. of fit on GF Ph to fix "
+      << "(GF cycles)\n";
+   os << "     Output:\n";
+   os << "  OutputGPSTime       Toggle GPS/YMDHMS time format in editing "
+      << "command output\n";
+   os << "  NoFixOutput         Turn off putting delete commands in output "
+      << "cmd list\n";
+   os << "\n";
+   os << "  help                Print this message.\n";
+   os << " For example, 'DT=30' or 'MinSeg:180' are valid commands\n";
+
+      // now print current values
+   os << "\nCurrent values:\n";
+   PrintParameters(os);
+}
+catch(gpstk::Exception& e) { GPSTK_RETHROW(e); }
+}
+
+//------------------------------------------------------------------------------------
+// Print current values of the parameters
+void GDCConfig::PrintParameters(ostream& os)
+{
+   os << "  DT     = " << fixed << setprecision(3) << DT << " (seconds)\n";
+   //os << "  MaxGap = " << fixed << setprecision(3) << MaxGap << " (seconds)\n";
+   os << "     Data Editing:\n";
+   if(fabs(MinRange) > 99999999.)
+   os << "  MinRange    = " << scientific << setprecision(3)
+      << MinRange << " (meters)\n";
+   else
+   os << "  MinRange    = " << fixed << setprecision(3)
+      << MinRange << " (meters)\n";
+   if(fabs(MaxRange) > 99999999.)
+   os << "  MaxRange    = " << scientific << setprecision(3)
+      << MaxRange << " (meters)\n";
+   else
+   os << "  MaxRange    = " << fixed << setprecision(3) << MaxRange << " (meters)\n";
+   os << "  MinPts      = " << MinPts << " (points)\n";
+   os << "  MinSeg      = " << fixed << setprecision(3) << MinSeg << " (seconds)\n";
+   os << "     Wide-lane slip detection:\n";
+   os << "  WLNSigma        = " << fixed << setprecision(3) << WLNSigma << " ()\n";
+   os << "  WLSSWindowWidth = " << WLSSWindowWidth << " (times min width)\n";
+   os << "  WLSSTestMin     = " << fixed << setprecision(3)
+      << WLSSTestMin << " (WL cycles)\n";
+   os << "  WLSSDetectMin   = " << fixed << setprecision(3)
+      << WLSSDetectMin << " (WL cycles)\n";
+   os << "     Wide-lane slip estimation:\n";
+   os << "  WLFixMaxGap = " << fixed << setprecision(3)
+      << WLFixMaxGap << " (seconds)\n";
+   os << "  WLFixNpts   = " << WLFixNpts << " (points)\n";
+   os << "  WLFixSigma  = " << fixed << setprecision(3)
+      << WLFixSigma << " (WL cycles)\n";
+   os << "     Geometry-free slip detection:\n";
+   os << "  GFPolynomMaxDeg  = " << GFPolyMaxDegree << " ()\n";
+   os << "  GFRMaxRMSFit     = " << fixed << setprecision(3)
+      << GFRMaxRMSFit << " (m)\n";
+   os << "  GFDetectMaxSigma = " << fixed << setprecision(3)
+      << GFDetectMaxSigma << " (5.4cm cycles)\n";
+   os << "  GFOnlySlipTol    = " << fixed << setprecision(3)
+      << GFOnlySlipTol << " (5.4cm cycles)\n";
+   os << "  GFSlipTol        = " << fixed << setprecision(3)
+      << GFSlipTol << " (5.4cm cycles)\n";
+   os << "  GFNOutliers      = " << GFNOutliers << " (points)\n";
+   os << "     Geometry-free slip estimation:\n";
+   os << "  GFFixMaxGap = " << fixed << setprecision(3)
+      << GFFixMaxGap << " (seconds)\n";
+   os << "  GFFitTime   = " << GFFitTime << " (seconds)\n";
+   os << "  GFFitNMin   = " << GFFitNMin << " (points)\n";
+   os << "  GFFixSigma  = " << fixed << setprecision(3)
+      << GFFixSigma << " (GF cycles)\n";
+   os << "     Output:\n";
+   os << "  Debug = " << Debug << endl;
+   os << "  OutputGPSTime = Output time in "
+      << (OutputGPSTime?"GPS":"Conventional") << " format\n";
+   os << "  NoFixOutput   = " << (FixOutput?"DO":"Do NOT")
+      << " delete outliers in output commands.\n";
+}
+
+//------------------------------------------------------------------------------------
+// SVPass routines
+//------------------------------------------------------------------------------------
+const int SVPass::OK      =   0;      // good data, no discontinuity
+const int SVPass::BAD     =  -1;      // used by caller and GDC to mark bad data
+const int SVPass::SETBAD  =  -2;      // used within GDC only
+const int SVPass::GFBAD   = -16;      // used within GDC only
+// good data with discontinuity may have any or all of these:
+const int SVPass::SLIPWL  =   1;
+const int SVPass::SLIPGF  =   2;
+const int SVPass::FIXWL   =   4;
+const int SVPass::FIXGF   =   8;
+
+const int SVPass::SLIP    =   3;      // 1+2 both slips found, neither fixed
+const int SVPass::FIX     =  12;      // 4+8 both slips found and fixed
+
+//------------------------------------------------------------------------------------
+// empty (and only) constructor
+SVPass::SVPass(void)
+{
+   L1 = L2 = P1 = P2 = NULL;
+   A1 = A2 = NULL;
+   E1 = E2 = NULL;
+   Flag = NULL;
+   Npts = Length = 0;
+   Extra = false;
+   BegTime=DayTime(DayTime::BEGINNING_OF_TIME);
+   EndTime=DayTime(DayTime::END_OF_TIME);
+}
+
+//------------------------------------------------------------------------------------
+SVPass::~SVPass(void)
+{
+   if(Length==0) return;
+   delete[] L1;
+   delete[] L2;
+   delete[] P1;
+   delete[] P2;
+   delete[] A1;
+   delete[] A2;
+   delete[] E1;
+   delete[] E2;
+   delete[] Flag;
+   Length = 0;
+}
+
+//------------------------------------------------------------------------------------
+void SVPass::Resize(int n)
+{
+try {
+   (*this).~SVPass();
+   if(n <= 0) return;
+
+   L1 = new double[n]; if(!L1) { OutOfMemory e("L1"); GPSTK_THROW(e); }
+   L2 = new double[n]; if(!L2) { OutOfMemory e("L2"); GPSTK_THROW(e); }
+   P1 = new double[n]; if(!P1) { OutOfMemory e("P1"); GPSTK_THROW(e); }
+   P2 = new double[n]; if(!P2) { OutOfMemory e("P2"); GPSTK_THROW(e); }
+   // do this in WLSlipDetect
+   //A1 = new double[n]; if(!A1) { OutOfMemory e("A1"); GPSTK_THROW(e); }
+   //A2 = new double[n]; if(!A2) { OutOfMemory e("A2"); GPSTK_THROW(e); }
+   if(Extra) {
+      E1 = new double[n]; if(!E1) { OutOfMemory e("E1"); GPSTK_THROW(e); }
+      E2 = new double[n]; if(!E2) { OutOfMemory e("E2"); GPSTK_THROW(e); }
+   }
+   Flag = new int[n]; if(!Flag) { OutOfMemory e("Flag"); GPSTK_THROW(e); }
+   for(int i=0; i<n; i++) Flag[i]=SVPass::BAD;
+   Length = n;
+   Npts = 0;
+   return;
+}
+catch(gpstk::Exception& e) { GPSTK_RETHROW(e); }
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/cycleslips/DiscCorr.hpp b/trunk/apps/cycleslips/DiscCorr.hpp
new file mode 100644
index 0000000..00d52bc
--- /dev/null
+++ b/trunk/apps/cycleslips/DiscCorr.hpp
@@ -0,0 +1,246 @@
+//------------------------------------------------------------------------------------
+// DiscCorr.hpp  GPS phase discontinuity correction. Given arrays containing
+//    dual-frequency pseudorange and phase (see class SVPass herein),
+//    detect discontinuities in the phase and if possible estimate their size.
+//    Output is in the form of Rinex editing commands (see class RinexEditor).
+//
+// DiscCorr is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/cycleslips/DiscCorr.hpp#1 $"
+
+/**
+ * @file DiscCorr.hpp
+ * GPS phase discontinuity correction.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef GPSTK_DISCONTINUITY_CORRECTOR_INCLUDE
+#define GPSTK_DISCONTINUITY_CORRECTOR_INCLUDE
+
+#include "DayTime.hpp"
+#include "RinexObsHeader.hpp"
+
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <vector>
+
+namespace gpstk {
+
+   /** @addtogroup rinexutils */
+   //@{
+
+   /// class GDCConfig encapsulates the configuration for input to the
+   /// GPSTK Discontinuity Corrector.
+class GDCConfig
+{
+public:
+//Misc
+      /// If true, print the syntax message and quit.
+   bool help;
+      /// Control amount of debugging output to log file, as follows.
+      ///  0   nothing
+      ///  1   Summary of input
+      ///  2   High level actions, change in GDC config, results summary, timing
+      ///  3   Actual results (Rinex Editor commands), stats on SVPass smoothing
+      ///  4   All SVPass information - defined, filled, processed, done, etc.
+      ///  5   List of GDC segments, dump data: before,linear combo, WL, GF, after
+      ///      processing.
+      ///  6   Dump WL statistical, and GF range fit, data
+      ///  7   Editing actions, outliers, GFR fit and slip fixing stats and decisions.
+      /// Output for Debug > 2 is quite large.
+   int Debug;
+      /// Stream on which to write debug output.
+   std::ostream *oflog;
+      /// nominal data time step (seconds); this MUST be set by caller.
+   double DT;
+//Editing
+      /// Minimum allowed pseudorange, (meters)
+   double MinRange;
+      /// Maximum allowed pseudorange, (meters)
+   double MaxRange;
+//Segment definition
+      /// Largest acceptable time gap within a segment (seconds)
+   double MaxGap;
+      /// Smallest acceptable length of a phase segment (seconds)
+   double MinSeg;
+      /// Smallest acceptable number of points in a phase segment ()
+   int MinPts;
+//Wide-lane bias slip detection
+      /// N sigma: WL R-Ph is compared to N*sigma(WL R-Ph) ()
+   double WLNSigma;
+      /** Width of sliding statistics window when WL small slips are detected;
+         (multiples of minimum width, which comes from MinSeg parameter). */
+   int WLSSWindowWidth;
+      /** Minimum value of difference in average WL bias which triggers a test
+         of WL small slips. */
+   double WLSSTestMin;
+      /** Minimum value of peak in delta-WL-average which detects a WL
+         small slip. */
+   double WLSSDetectMin;
+//Wide-lane bias slip estimation
+      /// Minimum value for N*Sig(WL) (1 WL cycle)
+      /// Minimum number of points in each segment needed for slip fixing
+   unsigned WLFixNpts;
+      /// Maximum gap between segments allowed for WL slip fixing (sec)
+   double WLFixMaxGap;
+      /** Maximum total error (StdDev/sqrt(N)) on WL R-Ph allowed for slip
+         fixing (WL cycles) */
+   double WLFixSigma;
+//Geometry-free slip detection 
+      /// Maximum degree of polynomial fit to geometry-free range ()
+   int GFPolyMaxDegree;
+      /// Maximum allowed RMS residual of polynomal fit to geometry-free range ().
+   double GFRMaxRMSFit;
+      /// Maximum allowed error in GF residual for detection of GF slips ().
+   double GFDetectMaxSigma;
+      /// Tolerance on GF slips when no WL slip detected (cycles of WL1-WL2)
+   double GFOnlySlipTol;
+      /// Tolerance on GF slips when a WL slip was detected (cycles of WL1-WL2)
+   double GFSlipTol;
+      /// Maximum # of consecutive outliers in GF allowed, else slip
+   int GFNOutliers;
+//Geometry-free phase slip estimation
+      /// Maximum gap between segments allowed for GF slip fixing (sec)
+   double GFFixMaxGap;
+      /// Time period of data used in fit of GFPhase when fixing slips (sec)
+   int GFFitTime;
+      /// Minimum number of good data points used in GFPhase fit (); NB may
+      /// be doubled, then halved, if the algorithm has trouble.
+   int GFFitNMin;
+      /// Maximum RMS residual of fit allowed in slip fixing (GF cycles)
+   double GFFixSigma;
+      /// Maximum value of fractional part of slip in slip fixing
+//Output 
+      /// Flag for output format of time-tags: GPS (T) or YMDHMS (F).
+   bool OutputGPSTime;
+      /// Flag to include deleting outliers in the editing command output.
+   bool FixOutput;
+
+
+      /// constructor; this sets a full default set of parameters.
+   GDCConfig(void);
+      // destructor
+   //~GDCConfig(void);
+      /// Set a parameter in the configuration;
+      /// The input string 'Pcmd' is of the form '<id>S<value>' where the
+      /// separator S is either ',' '=' or ':' ;
+      /// to see a list of possible choices, call with Pcmd='help'.
+      /// An optional leading '--DC' is permitted.
+   void SetParameter(std::string Pcmd);
+      /// Print current values of all parameters to the given ostream.
+   void PrintParameters(std::ostream& os);
+      /// Print help page to the ostream.
+   void DisplayParameterUsage(std::ostream& os);
+};
+
+//------------------------------------------------------------------------------------
+/** class SVPass holds all range and phase data for a full satellite pass.
+  * Constructed and filled by the calling program, it is used to pass data into
+  * and out of the GPSTK discontinuity corrector.
+  */
+class SVPass {
+public:
+   /// Values for the Flag array, marking good data.
+   static const int OK;
+   /// Values for the Flag array, marking bad data.
+   static const int BAD;
+   /// Values for the Flag array, marking bad data, used internally.
+   static const int SETBAD,GFBAD;
+   /// Values for the Flag array, marking slips found.
+   static const int SLIPWL,SLIPGF,SLIP;
+   /// Values for the Flag array, marking slips fixed.
+   static const int FIXWL,FIXGF,FIX;
+
+   /// flag used internally to indicated extra arrays (A1,A2) are needed.
+   bool Extra;
+   /// Length of data arrays.
+   int Npts,Length;
+   /// biases removed from the data.
+   double bias1,bias2;
+   /// Satellite identifier for this data.
+   RinexPrn SV;
+   /// Start time of this data.
+   DayTime BegTime;
+   /// End time of this data.
+   DayTime EndTime;
+   /// Array used to mark the data.
+   int *Flag;
+   /// Arrays holding dual frequency pseudorange (meters) and phase (cycles).
+   double *P1,*P2,*L1,*L2;
+   /// Extra arrays used internally.
+   double *A1,*A2;
+   /// Extra arrays used internally.
+   double *E1,*E2;
+
+   /// Default constructor
+   SVPass(void);
+   /// Destructor
+   ~SVPass(void);
+   /// Resize the array to length n.
+   void Resize(int n);
+};
+
+/// class SVPLessThan is for use by the sort() function.
+class SVPLessThan {     
+public:
+   bool operator()(const SVPass& c1, const SVPass& c2)
+      { return c1.BegTime < c2.BegTime; }
+};
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+/** GPSTK Discontinuity Corrector. Find, and fix if possible, discontinuities
+ * in the GPS carrier phase data, given dual-frequency pseudorange and phase
+ * data for an entire satellite pass. Input is the SVPass object holding the
+ * data (with Npts=number of good data points), and a GDCConfig configuration
+ * object giving the parameter values for the corrector. Output is in the form
+ * of a list of strings giving editing commands which can be parsed and
+ * applied using the GPSTK Rinex Editor (see Prgm EditRinex and the RinexEditor
+ * class). Also, the L1 and L2 arrays in the input SVPass are corrected
+ * (the P1 and P2 arrays are necessarily trashed). The routine will also mark
+ * outliers in the input data.
+ * @param SP SVPass object containing the input data.
+ * @param GDC GDCConfig configuration object.
+ * @param EC vector<string> (output) containing RinexEditor commands.
+ * @return 0 for success, otherwise return an Error code;
+ * codes are defined as follows.
+ * const int FatalProblem=-3;
+ * const int PrematureEnd=-2;
+ * const int Singular=-1;
+ * const int ReturnOK=0;
+ */
+int GPSTKDiscontinuityCorrector(SVPass& SP, GDCConfig& GDC,
+   std::vector<std::string>& EC);
+
+   //@}
+
+}  // end namespace gpstk
+
+//------------------------------------------------------------------------------------
+#endif
diff --git a/trunk/apps/cycleslips/DiscFix b/trunk/apps/cycleslips/DiscFix
new file mode 100755
index 0000000..c65048d
Binary files /dev/null and b/trunk/apps/cycleslips/DiscFix differ
diff --git a/trunk/apps/cycleslips/DiscFix.cpp b/trunk/apps/cycleslips/DiscFix.cpp
new file mode 100644
index 0000000..1df0ec2
--- /dev/null
+++ b/trunk/apps/cycleslips/DiscFix.cpp
@@ -0,0 +1,1411 @@
+// DiscFix.cpp Read a Rinex observation file containing dual frequency
+//    pseudorange and phase, and find and estimate discontinuities in the phase.
+//
+//    DiscFix is part of the GPS Tool Kit (GPSTK) developed in the
+//    Satellite Geophysics Group at Applied Research Laboratories,
+//    The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/cycleslips/DiscFix.cpp#5 $"
+
+/**
+ * @file DiscFix.cpp
+ * Program to apply discontinuity correction to a Rinex observation file
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+// TD
+// Does it correctly delete and/or not output segments that are too small,
+// esp when Smooth=T ?
+//
+//------------------------------------------------------------------------------------
+#include "MathBase.hpp"
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "Stats.hpp"
+#include "icd_200_constants.hpp"
+
+#include "DiscCorr.hpp"
+
+#include <time.h>
+#include <string>
+#include <vector>
+#include <iostream>
+#include <fstream>
+#include <algorithm>
+
+using namespace gpstk;
+using namespace std;
+
+//------------------------------------------------------------------------------------
+// prgm data
+string PrgmName("DiscFix");
+string PrgmVers("3.1 5/1/04");
+
+typedef struct DiscFixConfiguration {
+      // input
+   string Directory;
+   vector<string> InputObsName;
+      // output
+   string OutRinexObs;
+   string HDPrgm;         // header of output Rinex file
+   string HDRunby;
+   string HDObs;
+   string HDAgency;
+   string HDMarker;
+   string HDNumber;
+   int NrecOut;
+   DayTime FirstEpoch,LastEpoch;
+   double DT;
+   bool SmoothedRange,SmoothedPhase,Smooth;
+   bool CAOut;
+   bool DopOut;
+   bool Verbose;
+      // data flow
+   double ith;
+   DayTime Tbeg, Tend;
+   double MaxGap;
+   int MinPts;
+      // output files
+   string LogFile,ErrFile,OutFile;
+   ofstream oflog,oferr,ofout;
+      // processing
+   double DataInt;
+   bool UseCA;
+   vector<RinexPrn> ExSV;
+   RinexPrn SVonly;
+      // estimate DT from data
+   double estdt[9];
+   int ndt[9];
+} DFConfig;
+
+//------------------------------------------------------------------------------------
+// data input from command line
+DFConfig DFC;
+// DC configuration
+GDCConfig GDC;
+// data used in program
+const double CMPS=C_GPS_M;
+const double CFF=CMPS/RSVCLK;
+const double F1=L1_MULT;
+const double F2=L2_MULT;
+const double wl1=CFF/F1;
+const double wl2=CFF/F2;
+const double alpha=((F1*F1)/(F2*F2) - 1.0);
+clock_t totaltime;
+string Title;
+int reading;
+RinexObsStream ifstr, ofstr;      // input and output Rinex files
+RinexObsHeader rhead, rheadout;   
+int inC1,inP1,inP2,inL1,inL2;      // indexes in rhead of C1, C1/P1, P2, L1 and L2
+DayTime CurrEpoch(DayTime::BEGINNING_OF_TIME), PrgmEpoch;
+// Data for an entire pass is stored in SVPass object
+// this contains all the SVPass's defined so far
+vector<SVPass> SVPList;
+// this is a map relating a satellite to the index in SVPList of the current pass
+map<RinexPrn,int> CurrentSVP;
+
+//------------------------------------------------------------------------------------
+// prototypes
+int ReadFile(int nfile, int reading);
+int ProcessOneEntireEpoch(RinexObsData& ro, int reading);
+int ProcessOneSatOneEpoch(RinexObsData::RinexPrnMap::iterator& it, int reading);
+int FindSatInCurrentSVPList(const RinexPrn& sat, const DayTime& ttag,
+  const int reading);
+int CreateNewSVPass(RinexPrn& sat, int in);
+
+void ProcessEntireSVPass(int read, int index);
+int AfterReadingFiles(int reading);
+void PrintSVPList(ostream& os, int in, string msg, bool PrintAt=true,
+   bool PrintRMP=false, double b1=0, double a1=0, double s1=0, double b2=0,
+   double a2=0, double s2=0);
+
+int GetCommandLine(int argc, char **argv);
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& Verbose);
+
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+   totaltime = clock();
+   int iret;
+
+      // Title and description
+   Title = PrgmName + ", part of the GPS ToolKit, Ver " + PrgmVers + ", Run ";
+   time_t timer;
+   struct tm *tblock;
+   timer = time(NULL);
+   tblock = localtime(&timer);
+   PrgmEpoch.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+               tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+   Title += PrgmEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S\n");
+   cout << Title;
+
+      // set fill char in RinexPrn
+   DFC.SVonly.setfill('0');
+   DFC.LastEpoch = DayTime::BEGINNING_OF_TIME;
+
+      // get command line
+   iret=GetCommandLine(argc, argv);
+   if(iret) return iret;
+
+      // read files 2 or 3 times
+   reading = 0;
+   while(1) {
+      reading++;
+      // set list of pointers to passes for all satellites to null
+
+         // loop over input files
+      for(int nfile=0; nfile<DFC.InputObsName.size(); nfile++) {
+         iret = ReadFile(nfile,reading);
+         if(iret < 0) break;
+      }   // end loop over input files
+      if(iret < 0) break;
+
+      iret = AfterReadingFiles(reading);
+      if(iret) break;
+   };
+
+      // add commands to set all LLI for L1 and L2 to zero
+      // -SL commands generated by the DC will be applied by Editor after this cmd
+   DFC.ofout << "# set all LLI to 0 (this command will not interfere "
+      << "with other -SL cmds)" << endl;
+   {
+      ostringstream stst;
+      if(GDC.OutputGPSTime) stst << DFC.FirstEpoch.printf("-SL+G-1,L1,%F,%g,0");
+      else stst << DFC.FirstEpoch.printf("-SL+G-1,L1,%Y,%m,%d,%H,%M,%f,0");
+      DFC.ofout << stst.str() << endl;
+   }
+   {
+      ostringstream stst;
+      if(GDC.OutputGPSTime) stst << DFC.FirstEpoch.printf("-SL+G-1,L2,%F,%g,0");
+      else stst << DFC.FirstEpoch.printf("-SL+G-1,L2,%Y,%m,%d,%H,%M,%f,0");
+      DFC.ofout << stst.str() << endl;
+   }
+
+      // clean up
+   CurrentSVP.clear();
+   SVPList.clear();
+
+   totaltime = clock()-totaltime;
+   //TEMP? if(GDC.Debug>1)
+   DFC.oflog << "DiscFix timing: " << setprecision(3)
+      << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+
+   DFC.oferr.close();
+   DFC.oflog.close();
+   DFC.ofout.close();
+
+   return iret;
+}
+catch(gpstk::FFStreamError& e) {
+   DFC.oferr << e;
+   DFC.oferr << e;
+}
+catch(gpstk::Exception& e) {
+   DFC.oferr << e;
+   DFC.oferr << e;
+}
+catch (...) {
+   DFC.oferr << "Unknown error.  Abort." << endl;
+   DFC.oferr << "Unknown error.  Abort." << endl;
+}
+   DFC.oferr.close();
+
+   return 1;
+}   // end main()
+
+//------------------------------------------------------------------------------------
+// open the file, read header and check for data; then loop over the epochs
+// Return 0 ok, <0 fatal error, >0 non-fatal error (ie skip this file)
+// 0 ok, 1 couldn't open file, 2 file doesn't have required data
+int ReadFile(int nfile, int reading)
+{
+try {
+   string name;
+      // open input file
+   name = DFC.Directory + string("/") + DFC.InputObsName[nfile];
+   ifstr.open(name.c_str(),ios::in);
+   if(ifstr.fail()) {
+      DFC.oflog << "Failed to open input file " << name << ". Abort.\n";
+      return 1;
+   }
+   else if(GDC.Debug>1)
+      DFC.oflog << "Opened input file " << name << " on reading number "
+         << reading << endl;
+   ifstr.exceptions(ios::failbit);
+
+      // open output file (open on reading 1 in case it fails)
+   if(reading == 1 && !DFC.OutRinexObs.empty()) {
+      ofstr.open(DFC.OutRinexObs.c_str(), ios::out);
+      if(ofstr.fail()) {
+         DFC.oflog << "Failed to open output file " << DFC.OutRinexObs
+            << ". Abort.\n";
+         ifstr.close();
+         return 1;
+      }
+      else if(GDC.Debug>1) DFC.oflog << "Opened output file " << DFC.OutRinexObs
+         << " on reading number " << reading << endl;
+      ofstr.exceptions(ios::failbit);
+   }
+
+      // read the header
+   ifstr >> rhead;
+   if(GDC.Debug > 2) {
+      DFC.oflog << "Here is the input header for file " << name << ", reading "
+         << reading << endl;
+      rhead.dump(DFC.oflog);
+   }
+
+      // check that file contains C1/P1,P2,L1,L2
+   inC1 = inP1 = inP2 = inL1 = inL2 = -1;
+   for(int j=0; j<rhead.obsTypeList.size(); j++) {
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("C1")) inC1=j;
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("L1")) inL1=j;
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("L2")) inL2=j;
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("P1")) inP1=j;
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("P2")) inP2=j;
+   }
+   if((inP1==-1 && (!DFC.UseCA || inC1==-1)) || inP2==-1 || inL1==-1 || inL2==-1) {
+      DFC.oflog << "Error: file " << name << " does not contain";
+      if(inC1==-1) DFC.oflog << " C1";
+      if(inL1==-1) DFC.oflog << " L1";
+      if(inL2==-1) DFC.oflog << " L2";
+      if(inP1==-1) DFC.oflog << " P1 (--CA was" << (DFC.UseCA?"":" not") << " found)";
+      if(inP2==-1) DFC.oflog << " P2";
+      DFC.oflog << endl;
+      ifstr.clear();
+      ifstr.close();
+      return 2;
+   }
+   else if(inP1==-1 && DFC.UseCA) inP1=inC1;
+
+      // loop over epochs in the file
+   bool first=true;
+   int iret;
+   RinexObsData rodata;
+   while(1) {
+      ifstr >> rodata;
+      if(ifstr.eof()) break;
+      if(ifstr.bad()) {
+         DFC.oflog << "input Rinex stream is bad" << endl;
+         break;
+      }
+      iret = ProcessOneEntireEpoch(rodata,reading);
+      if(iret < -1) break;
+      if(iret == -1) { iret=0; break; }           // end of file
+      //if(iret==1) ignore this epoch
+      if(iret > 1) {                              // output : 2=comment block, 3=good
+         if(first) {
+            ofstr << rheadout;
+            first=false;
+         }
+         ofstr << rodata;
+      }
+   }
+
+   ifstr.clear();
+   ifstr.close();
+   if(reading==3) ofstr.close();
+
+   return iret;
+}
+catch(gpstk::Exception& e) {
+      DFC.oferr << "DiscFix:ReadFile caught an exception\n" << e << endl;
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      DFC.oferr << "DiscFix:ReadFile caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok,
+//       -1 end file,
+//      <-1 fatal error,
+//        1 skip this epoch,
+//        2 comment block,
+//        3 output Rinex
+int ProcessOneEntireEpoch(RinexObsData& roe, int reading)
+{
+try {
+   int i,k;
+      // stay within time limits
+   if(roe.time < DFC.Tbeg) return 1;
+   if(roe.time > DFC.Tend) return -1;
+      // ignore comment blocks ...
+   if(roe.epochFlag != 0 && roe.epochFlag != 1) if(reading==3) return 2;
+   else return 1;
+      // decimate data
+      // if Tbeg is still undefined, set it to begin of week
+   if(DFC.ith > 0.0) {
+      if(fabs(DFC.Tbeg-DayTime(DayTime::BEGINNING_OF_TIME)) < 1.e-8)
+         DFC.Tbeg = DFC.Tbeg.setGPSfullweek(roe.time.GPSfullweek(),0.0);
+      double dt=fabs(roe.time - DFC.Tbeg);
+      dt -= DFC.ith*long(0.5+dt/DFC.ith);
+      if(fabs(dt) > 0.25) return 1;            // TD set tolerance? clock bias?
+   }
+      // save current time
+   CurrEpoch = roe.time;
+   if(fabs(DFC.FirstEpoch-DayTime(DayTime::BEGINNING_OF_TIME)) < 1.e-8)
+      DFC.FirstEpoch=CurrEpoch;
+
+      // loop over satellites
+   RinexPrn sat;
+   //RinexObsData::RinexObsTypeMap otmap;
+   RinexObsData::RinexPrnMap::iterator it;
+      // loop over sat=it->first, ObsTypeMap=it->second
+   for(it=roe.obs.begin(); it != roe.obs.end(); ++it) {
+         // Is this satellite excluded ?
+      sat = it->first;
+      for(i=0,k=-1; i<DFC.ExSV.size(); i++) {
+         if(DFC.ExSV[i] == sat) { k=i; break; }
+            // whole system is excluded
+         if(DFC.ExSV[i].prn==-1 && DFC.ExSV[i].system==sat.system) { k=0; break; }
+      }
+      if(k != -1) continue;
+         // if only one satellite is included, skip all the rest
+      if(DFC.SVonly.prn != -1 && !(sat == DFC.SVonly)) continue;
+
+         // process this sat
+      //otmap = it->second;
+      int iret = ProcessOneSatOneEpoch(it,reading); // (always returns 0)
+
+   }  // end loop over sats
+
+      // After loop over satellites
+   if(reading==1) {
+         // update LastEpoch and estimate of DFC.DT
+      if(DFC.LastEpoch > DayTime(DayTime::BEGINNING_OF_TIME)) {
+         double dt = CurrEpoch-DFC.LastEpoch;
+         for(int i=0; i<9; i++) {
+            if(DFC.ndt[i]<=0) { DFC.estdt[i]=dt; DFC.ndt[i]=1; break; }
+            if(fabs(dt-DFC.estdt[i]) < 0.0001) { DFC.ndt[i]++; break; }
+            if(i == 8) {
+               int k=0,nl=DFC.ndt[k];
+               for(int j=1; j<9; j++) if(DFC.ndt[j] <= nl) { k=j; nl=DFC.ndt[j]; }
+               DFC.ndt[k]=1; DFC.estdt[k]=dt;
+            }
+         }
+      }
+      DFC.LastEpoch = CurrEpoch;
+   }
+   else if(reading==3) return 3;         // output to Rinex file
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+   DFC.oferr << "DiscFix:ProcessOneEntireEpoch caught an exception " << e << endl;
+   GPSTK_RETHROW(e);
+}
+catch (...) {
+   DFC.oferr << "DiscFix:ProcessOneEntireEpoch caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+int ProcessOneSatOneEpoch(RinexObsData::RinexPrnMap::iterator& it, int reading)
+{
+try {
+   bool good;
+   int in,n,k;
+   double P1,P2,L1,L2,dt;
+   RinexPrn sat=it->first;
+   RinexObsData::RinexObsTypeMap otmap=it->second;
+
+      // ignore non-GPS satellites
+   if(sat.system != systemGPS) return 0;
+
+      // pull out the data
+   RinexObsData::RinexObsTypeMap::const_iterator jt;
+   if( (jt=otmap.find(rhead.obsTypeList[inP1])) != otmap.end()) P1=jt->second.data;
+   if( (jt=otmap.find(rhead.obsTypeList[inP2])) != otmap.end()) P2=jt->second.data;
+   if( (jt=otmap.find(rhead.obsTypeList[inL1])) != otmap.end()) L1=jt->second.data;
+   if( (jt=otmap.find(rhead.obsTypeList[inL2])) != otmap.end()) L2=jt->second.data;
+
+      // find this sat in the map of sats,int
+   in = FindSatInCurrentSVPList(sat,CurrEpoch,reading);
+
+   if(reading==1) {         // update or create a new pass ---------------------------
+      dt = 0.0;
+      good = true;
+      if(L1==0 || L2==0 || P1==0 || P2==0) good=false; //only create pass on good data
+      if(in > -1) {
+         // Npts here is current gap size
+         if(good) {
+            SVPList[in].Npts = 0;
+            dt = CurrEpoch - SVPList[in].EndTime;      // gap since last good point
+         }
+         else SVPList[in].Npts++;
+      }
+         // should a new pass be created?
+      if(good) {
+         if(in==-1 || dt>DFC.MaxGap || SVPList[in].Npts*DFC.DT>DFC.MaxGap) {
+            if(in > -1) CurrentSVP.erase(sat);
+            in = CreateNewSVPass(sat, in);
+         }
+         SVPList[in].EndTime = CurrEpoch;
+      }
+      return 0;
+   }   // end of reading==1
+
+   // reading > 1 after this
+ 
+   if(in==-1) {
+         // search the list for the right SVPass
+      for(int j=0; j<SVPList.size(); j++) {
+         if(SVPList[j].SV==sat && fabs(CurrEpoch-SVPList[j].BegTime)<1.e-6) {
+            in = j;
+            CurrentSVP.insert(map<RinexPrn,int>::value_type(sat,in));
+            break;
+         }
+      }
+
+         // found a pass - and this is its first epoch
+      if(in != -1) {
+         if(SVPList[in].Npts <= 0) in=-1;
+         else {
+               // Resize the arrays in this pass
+            if(reading==2) SVPList[in].Resize(SVPList[in].Npts);
+               // print
+            if(GDC.Debug > 2) PrintSVPList(DFC.oflog, in,
+                  string(reading==2?"Fill":"Read"),true,false);
+         }
+      }
+   }
+
+      // still did not find pass - data did not get into an SVPass
+      // - must be bad data inside a gap
+      // mark it and quit
+   if(in==-1) {
+      if(reading==3) {      // mark the data bad for output
+         it->second[rhead.obsTypeList[inP1]].data = 0;
+         it->second[rhead.obsTypeList[inP2]].data = 0;
+         it->second[rhead.obsTypeList[inL1]].data = 0;
+         it->second[rhead.obsTypeList[inL2]].data = 0;
+      }
+      return 0;
+   }
+
+      // empty pass - ignore
+   if(in>-1 && SVPList[in].Length <= 0) {
+      if(CurrEpoch-SVPList[in].EndTime > -1.0e-8) CurrentSVP.erase(sat);
+      return 0;
+   }
+
+      // At this point we have a good pass with data and reading > 1 --------------
+
+      // find the index for this epoch's data
+   dt = CurrEpoch - SVPList[in].BegTime;
+   n = int(0.5+dt/DFC.DT);
+
+      // add this data to the SVPass (editing could be done here)
+   if(reading==2) {
+      SVPList[in].L1[n] = L1;
+      SVPList[in].L2[n] = L2;
+      SVPList[in].P1[n] = P1;
+      SVPList[in].P2[n] = P2;
+      if(DFC.Smooth) {         // save for later
+         SVPList[in].E1[n] = P1;
+         SVPList[in].E2[n] = P2;
+      }
+         // Npts now means number of *good* points; Length holds array size
+      if(L1==0 || L2==0 || P1==0 || P2==0) SVPList[in].Flag[n]=SVPass::BAD;
+      else {
+         SVPList[in].Flag[n] = SVPass::OK;
+         SVPList[in].Npts++;
+      }
+   }  // end if reading==2
+
+      // if there is data, store it in RinexObsData for output to Rinex
+   if(reading==3) {
+      if(SVPList[in].Flag[n] >= SVPass::OK) {
+            // discontinuity-corrected phases
+         it->second[rhead.obsTypeList[inL1]].data = SVPList[in].L1[n];
+         it->second[rhead.obsTypeList[inL2]].data = SVPList[in].L2[n];
+            // replace range with phase smoothed
+         if(DFC.Smooth) {
+            if(SVPList[in].P1[n] != -1 && SVPList[in].P2[n] != -1) {
+               double b1,b2,d1,d2;
+                  // phase biases
+               d1 = SVPList[in].P1[n];
+               d2 = SVPList[in].P2[n];
+                  // debiased phases
+               b1 = wl1*SVPList[in].L1[n] - d1;
+               b2 = wl2*SVPList[in].L2[n] - d2;
+                  // smoothed ranges
+               d1 = ((alpha+2)*b1-2*b2)/alpha;
+               d2 = (2*(alpha+1)*b1-(alpha+2)*b2)/alpha;
+
+               if(DFC.SmoothedRange) {
+                  it->second[rhead.obsTypeList[inP1]].data = d1;
+                  it->second[rhead.obsTypeList[inP2]].data = d2;
+               }
+               if(DFC.SmoothedPhase) {
+                  it->second[rhead.obsTypeList[inL1]].data = b1/wl1;
+                  it->second[rhead.obsTypeList[inL2]].data = b2/wl2;
+               }
+            }
+         }
+      }
+
+            // now set flags
+      unsigned int onec=1;
+      if((SVPList[in].Flag[n] & SVPass::SLIP)
+         && SVPList[in].Flag[n] >= SVPass::OK      // these are redundant ...
+         && (!(SVPList[in].Flag[n] & SVPass::FIXWL) || !(SVPList[in].Flag[n]
+               & SVPass::FIXGF))) {
+            // set the LLI flag
+         it->second[rhead.obsTypeList[inL1]].lli |= onec;
+         it->second[rhead.obsTypeList[inL2]].lli |= onec;
+      }
+      else {
+            // unset the flag, but only if already set
+         if(it->second[rhead.obsTypeList[inL1]].lli & onec)
+            it->second[rhead.obsTypeList[inL1]].lli ^= onec;
+         if(it->second[rhead.obsTypeList[inL2]].lli & onec)
+            it->second[rhead.obsTypeList[inL2]].lli ^= onec;
+      }
+   }      // end if reading==3
+
+      // have reached end of pass - process it and then (perhaps) delete contents
+   if(CurrEpoch-SVPList[in].EndTime > -1.0e-8) {
+         // process the entire pass - this is where GDC and phase smoothing are ...
+      if(reading==2) ProcessEntireSVPass(reading,in);
+
+         // remove from the CurrentSVP map
+      //PrintSVPList(DFC.oflog, in, string("Remove this pass"));
+      CurrentSVP.erase(SVPList[in].SV);
+
+         // gut the structure if: 1) no output Rinex, hence no third reading,
+         // 2) this is third reading
+      if(reading==3 || DFC.OutRinexObs.empty()) SVPList[in].Resize(0);
+   }
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+   DFC.oferr << "DiscFix:ProcessOneSatOneEpoch caught an exception " << e << endl;
+   GPSTK_RETHROW(e);
+}
+catch (...) {
+   DFC.oferr << "DiscFix:ProcessOneSatOneEpoch caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+int FindSatInCurrentSVPList(const RinexPrn& sat, const DayTime& ttag,
+      const int reading)
+{
+try {
+   map<RinexPrn,int>::const_iterator kt=CurrentSVP.find(sat);
+   if(kt != CurrentSVP.end())
+      return kt->second;
+   else
+      return -1;
+}
+catch(gpstk::Exception& e) {
+   DFC.oferr << "DiscFix:FindSatInCurrentSVPList caught an exception " << e << endl;
+   GPSTK_RETHROW(e);
+}
+catch (...) {
+   DFC.oferr << "DiscFix:FindSatInCurrentSVPList caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+int CreateNewSVPass(RinexPrn& sat, int in)
+{
+try {
+   int inew;
+   //DFC.oflog << "Create a new pass for " << sat << " at " << CurrEpoch << endl;
+   SVPass SVP;
+   SVP.SV = sat;
+   SVP.BegTime = CurrEpoch;
+   if(DFC.Smooth) SVP.Extra=true;
+   SVPList.push_back(SVP);
+   inew = SVPList.size()-1;
+   CurrentSVP.insert(map<RinexPrn, int>::value_type(sat,inew));
+   map<RinexPrn,int>::iterator kt= CurrentSVP.find(sat);
+   if(kt == CurrentSVP.end()) {
+      gpstk::Exception e("Failed to create new pass");
+      GPSTK_THROW(e);
+   }
+   return inew;
+}
+catch(gpstk::Exception& e) {
+   DFC.oferr << "DiscFix:CreateNewSVPass caught an exception " << e << endl;
+   GPSTK_RETHROW(e);
+}
+catch (...) {
+   DFC.oferr << "DiscFix:CreateNewSVPass caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+void ProcessEntireSVPass(int reading, int in)
+{
+try {
+   int i,j,k,n;
+      // print
+   if(GDC.Debug > 1) PrintSVPList(DFC.oflog, in, string("Proc"));
+
+      // not enough data
+   if(SVPList[in].Npts < DFC.MinPts) {
+      SVPList[in].P1[2] = SVPList[in].P2[2] = -1.0;
+      return;
+   }
+
+      // call the GDC
+   vector<string> EditCmds;         // GDC will clear this
+   k = GPSTKDiscontinuityCorrector(SVPList[in], GDC, EditCmds);
+   if(k) return;
+
+      // output the results
+   for(i=0; i<EditCmds.size(); i++) DFC.ofout << EditCmds[i] << endl;
+   EditCmds.clear();
+
+      // if smoothing, compute stats on range - phase
+      // compute initial bias and average on these 2 quantities:
+   if(DFC.Smooth) {
+      n = SVPList[in].Npts;
+      j = 0;
+      do {
+         if(n < 3) break;
+         bool first=true;
+         int k1,k2;
+         double d1,d2,b1,b2,t1,t2,gfp;
+         Stats<double> S1,S2;
+         DayTime bt(SVPList[in].BegTime),et(SVPList[in].EndTime),holdb,holde;
+         for(k=j; k<SVPList[in].Length; k++) {
+            SVPList[in].P1[k] = SVPList[in].P2[k] = -1;
+            if(SVPList[in].Flag[k] >= SVPass::OK) {
+               if(!first && (SVPList[in].Flag[k] & SVPass::SLIP)) break;
+               d1 = SVPList[in].E1[k] - wl1*SVPList[in].L1[k];
+               d2 = SVPList[in].E2[k] - wl2*SVPList[in].L2[k];
+               gfp = wl1*SVPList[in].L1[k] - wl2*SVPList[in].L2[k];
+               d1 -= 2*gfp/alpha;
+               d2 -= 2*(alpha+1)*gfp/alpha;
+               if(first) {
+                  k1 = k;
+                  b1 = d1;
+                  b2 = d2;
+                  first = false;
+               }
+               k2 = k;
+               S1.Add(d1-b1);
+               S2.Add(d2-b2);
+            }
+         }
+         et += double(k-1)*DFC.DT;
+            // prepare for next continuous segment
+         j = k;
+            // compute phase biases
+         t1 = b1 + S1.Average();
+         t2 = b2 + S2.Average();
+         d1 = (-(alpha+2)*t1+2*t2)/alpha;
+         d2 = (-2*(alpha+1)*t1+(alpha+2)*t2)/alpha;
+         if(S1.N() < 2 || S2.N() < 2) d1=d2=-1;
+            // store results in P1 and P2 arrays
+         for(k=k1; k<=k2; k++) {
+            SVPList[in].P1[k] = d1;
+            SVPList[in].P2[k] = d2;
+         }
+            // print RMP stats
+         holdb = SVPList[in].BegTime;
+         holde = SVPList[in].EndTime;
+         SVPList[in].BegTime = bt;
+         SVPList[in].EndTime = et;
+         if(GDC.Debug>2) PrintSVPList(DFC.oflog, in, string("Stat"), true, true,
+               b1,S1.Average(),S1.StdDev(),b2,S2.Average(),S2.StdDev());
+         SVPList[in].BegTime = holdb;
+         SVPList[in].EndTime = holde;
+            // go on to next continuous segment
+         n = SVPList[in].Length - j;
+      } while(1);
+
+   }  // end if Smooth
+}
+catch(gpstk::Exception& e) {
+   DFC.oferr << "DiscFix:ProcessEntireSVPass caught an exception " << e << endl;
+   GPSTK_RETHROW(e);
+}
+catch (...) {
+   DFC.oferr << "DiscFix:ProcessEntireSVPass caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+int AfterReadingFiles(int reading)
+{
+try {
+   int i,j,iret=0;
+   double dt;
+
+   CurrentSVP.clear();
+
+   if(reading==1) {
+         // if no data read ... fail
+      if(SVPList.size() == 0) {
+         DFC.oflog << "DiscFix Abort : no SV passes defined after first reading\n";
+         return -2;
+      }
+
+         // compute data interval for this file
+      for(j=0,i=1; i<9; i++) { if(DFC.ndt[i]>DFC.ndt[j]) j=i; }
+      DFC.DT = DFC.estdt[j];
+      GDC.DT = DFC.DT;
+      if(GDC.Debug > 2) DFC.oflog << "Estimated data interval to be "
+         << DFC.DT << " seconds.\n";
+         // compute the number of points in each pass, incl gaps
+      for(i=0; i<SVPList.size(); i++) {
+         dt = SVPList[i].EndTime-SVPList[i].BegTime;
+         SVPList[i].Npts = 1+int(0.5+dt/DFC.DT);
+         if(SVPList[i].Npts < DFC.MinPts) SVPList[i].Npts=0;
+      }
+         // sort the list of sv passes
+      sort(SVPList.begin(),SVPList.end(),SVPLessThan());
+   }
+   else if(reading==2 && !DFC.OutRinexObs.empty()) {   // edit the output Rinex header
+      rheadout = rhead;
+         // fill records in output header
+      rheadout.date = PrgmEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S");
+      rheadout.fileProgram = PrgmName;
+      if(!DFC.HDRunby.empty()) rheadout.fileAgency = DFC.HDRunby;
+      if(!DFC.HDObs.empty()) rheadout.observer = DFC.HDObs;
+      if(!DFC.HDAgency.empty()) rheadout.agency = DFC.HDAgency;
+      if(!DFC.HDMarker.empty()) rheadout.markerName = DFC.HDMarker;
+      if(!DFC.HDNumber.empty()) rheadout.markerNumber = DFC.HDNumber;
+      rheadout.version = 2.1; rheadout.valid |= RinexObsHeader::versionValid;
+      rheadout.firstObs = DFC.FirstEpoch; rheadout.valid
+         |= RinexObsHeader::firstTimeValid;
+      rheadout.interval = DFC.DT; rheadout.valid |= RinexObsHeader::intervalValid;
+      rheadout.lastObs = DFC.LastEpoch;
+      rheadout.valid |= RinexObsHeader::lastTimeValid;
+      if(DFC.SmoothedRange)
+         rheadout.commentList.push_back(string("Ranges smoothed by ") +
+         PrgmName + string(" v.") + PrgmVers.substr(0,4) + string(" ") +
+         rheadout.date);
+      if(DFC.SmoothedPhase)
+         rheadout.commentList.push_back(string("Phases debiased by ") +
+         PrgmName + string(" v.") + PrgmVers.substr(0,4) + string(" ") +
+         rheadout.date);
+         // invalidate the table
+      if(rheadout.valid & RinexObsHeader::numSatsValid)
+         rheadout.valid ^= RinexObsHeader::numSatsValid;
+      if(rheadout.valid & RinexObsHeader::prnObsValid)
+         rheadout.valid ^= RinexObsHeader::prnObsValid;
+   }
+   else iret=-1;
+
+   // print a summary of the sv passes
+   if(GDC.Debug > 2) {
+      DFC.oflog << "\nSatellite passes " << (reading==1?"defined":"processed")
+         << " (" << SVPList.size() << ")\n";
+      for(i=0; i<SVPList.size(); i++)
+         PrintSVPList(DFC.oflog, i,
+               string(reading==1?"Defd":(reading==2?"Done":"Fine")),false);
+      DFC.oflog << "---------------- End of "
+         << (reading==1?"first":(reading==2?"second":"third"))
+         << " read through -------------------\n";
+   }
+
+   return iret;
+}
+catch(gpstk::Exception& e) {
+      DFC.oferr << "DiscFix:AfterReadingFiles caught an exception " << e << endl;
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      DFC.oferr << "DiscFix:AfterReadingFiles caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PrintSVPList(ostream& os, int in, string msg, bool PrintAt,
+      bool PrintRMP, double b1, double a1, double s1, double b2, double a2, double s2)
+{
+   os << msg << " " << SVPList[in].SV
+      << " " << setw(4) << SVPList[in].Length << "(" << setw(4) << SVPList[in].Npts
+      << ") (" << SVPList[in].BegTime.printf("%04Y/%02m/%02d %02H:%02M:%6.3f")
+      << ")-(" << SVPList[in].EndTime.printf("%04Y/%02m/%02d %02H:%02M:%6.3f") << ")";
+   if(PrintAt) os << " at " << CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%6.3f");
+   if(PrintRMP) os << " RMP1 " << fixed << setw(13) << setprecision(3) << b1
+      << fixed << setw(8) << setprecision(3) << a1
+      << fixed << setw(6) << setprecision(3) << s1
+      << " RMP2 " << fixed << setw(13) << setprecision(3) << b2
+      << fixed << setw(8) << setprecision(3) << a2
+      << fixed << setw(6) << setprecision(3) << s2;
+   os << endl;
+}
+
+//------------------------------------------------------------------------------------
+int GetCommandLine(int argc, char **argv)
+{
+   bool help=false;
+   int i,j;
+try {
+      // defaults
+   DFC.Verbose = false;
+   DFC.ith = 0.0;
+   DFC.Tbeg = DFC.FirstEpoch = DayTime(DayTime::BEGINNING_OF_TIME);
+   DFC.Tend = DayTime(DayTime::END_OF_TIME);
+   DFC.MaxGap = 600.0;
+   DFC.MinPts = 10;
+   DFC.DT = 0;
+
+   DFC.ErrFile = string("df.err");
+   DFC.LogFile = string("df.log");
+   DFC.OutFile = string("df.out");
+
+   DFC.UseCA = false;
+   DFC.DataInt = -1.0;
+   
+   DFC.HDPrgm = PrgmName + string(" v.") + PrgmVers.substr(0,4);
+   DFC.HDRunby = string("ARL:UT/SGL/GPSTK");
+
+   DFC.SmoothedRange = false;
+   DFC.SmoothedPhase = false;
+   DFC.Smooth = false;
+   DFC.CAOut = false;
+   DFC.DopOut = false;
+
+   for(i=0; i<9; i++) DFC.ndt[i]=-1;
+
+   //DFC.FileType = Rinex;
+   DFC.Directory = string("");
+
+      // -------------------------------------------------
+      // required options
+   RequiredOption dashi(CommandOption::hasArgument, CommandOption::stdType,
+      'i',"inputfile"," [-i|--inputfile]<file> Input (Rinex obs) file(s)");
+
+      // optional options
+      // this only so it will show up in help page...
+   CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+      'f',""," -f<file>               file containing more options");
+
+   CommandOption dashd(CommandOption::hasArgument, CommandOption::stdType,
+      'd',"directory"," [-d|--directory] <dir> Directory of input file(s)");
+   dashd.setMaxCount(1);
+
+   CommandOption dashith(CommandOption::hasArgument, CommandOption::stdType,
+        0,"decimate"," --decimate <dt>        Decimate data to time interval dt");
+   dashith.setMaxCount(1);
+
+   // time
+   CommandOptionWithTimeArg dasheb(0,"EpochBeg","%Y,%m,%d,%H,%M,%f",
+      " --EpochBeg <arg>       Start time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+   CommandOptionWithTimeArg dashgb(0,"GPSBeg","%F,%g",
+      " --GPSBeg <arg>         Start time, arg is of the form GPSweek,GPSsow");
+
+   CommandOptionWithTimeArg dashee(0,"EpochEnd","%Y,%m,%d,%H,%M,%f",
+      " --EpochEnd <arg>       End time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+   CommandOptionWithTimeArg dashge(0,"GPSEnd","%F,%g",
+      " --GPSEnd <arg>         End time, arg is of the form GPSweek,GPSsow");
+
+   // allow ONLY one start time (use startmutex(true) if one is required)
+   CommandOptionMutex startmutex(false);
+   startmutex.addOption(&dasheb);
+   startmutex.addOption(&dashgb);
+   CommandOptionMutex stopmutex(false);
+   stopmutex.addOption(&dashee);
+   stopmutex.addOption(&dashge);
+
+   CommandOptionNoArg dashCA(0,"CA",
+      " --CA                   Use C/A code pseudorange if P1 is not available");
+   dashCA.setMaxCount(1);
+   
+   CommandOption dashDT(CommandOption::hasArgument, CommandOption::stdType,
+      0,"DT"," --DT <dt>              Time interval (s) of data points "
+      "(needed for -Ps only)");
+   dashDT.setMaxCount(1);
+   
+   CommandOption dashGap(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Gap"," --Gap <t>              Time (s) of largest allowed gap within pass");
+   dashGap.setMaxCount(1);
+   
+   CommandOption dashPts(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Points"," --Points <n>           Minimum number of points needed to "
+      "process a pass");
+   dashPts.setMaxCount(1);
+   
+   CommandOption dashXprn(CommandOption::hasArgument, CommandOption::stdType,
+      0,"XPRN"," --XPRN <prn>           Exclude this satellite "
+      "(prn may be only <system>)");
+   
+   CommandOption dashSV(CommandOption::hasArgument, CommandOption::stdType,
+      0,"SVonly"," --SVonly <prn>         Process this satellite ONLY");
+   dashSV.setMaxCount(1);
+   
+   CommandOption dashLog(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Log"," --Log <file>           Output log file name (df.log)");
+   dashLog.setMaxCount(1);
+   
+   CommandOption dashErr(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Err"," --Err <file>           Output error file name (df.err)");
+   dashErr.setMaxCount(1);
+   
+   CommandOption dashOut(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Out"," --Out <file>           Output (editing commands) file name (df.out)");
+   dashOut.setMaxCount(1);
+   
+   CommandOption dashRfile(CommandOption::hasArgument, CommandOption::stdType,
+      0,"RinexFile"," --RinexFile <file>     Output Rinex obs file name");
+   dashRfile.setMaxCount(1);
+   
+   CommandOption dashRrun(CommandOption::hasArgument, CommandOption::stdType,
+      0,"RunBy"," --RunBy <string>       Output Rinex header 'RUN BY' string");
+   dashRrun.setMaxCount(1);
+   
+   CommandOption dashRobs(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Observer"," --Observer <string>    Output Rinex header 'OBSERVER' string");
+   dashRobs.setMaxCount(1);
+   
+   CommandOption dashRag(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Agency"," --Agency <string>      Output Rinex header 'AGENCY' string");
+   dashRag.setMaxCount(1);
+   
+   CommandOption dashRmark(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Marker"," --Marker <string>      Output Rinex header 'MARKER' string");
+   dashRmark.setMaxCount(1);
+   
+   CommandOption dashRnumb(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Number"," --Number <string>      Output Rinex header 'NUMBER' string");
+   dashRnumb.setMaxCount(1);
+   
+   CommandOptionNoArg dashSmooth(0,"Smooth"," --Smooth               Smooth "
+      "pseudorange and debias phase and output both in place of raw");
+   dashSmooth.setMaxCount(1);
+   
+   CommandOptionNoArg dashSmoothPR(0,"SmoothPR"," --SmoothPR             Smooth "
+      "pseudorange and debias phase but replace only raw pseudorange");
+   dashSmoothPR.setMaxCount(1);
+   
+   CommandOptionNoArg dashSmoothPH(0,"SmoothPH"," --SmoothPH             Smooth "
+      "pseudorange and debias phase but replace only raw phase");
+   dashSmoothPH.setMaxCount(1);
+   
+   CommandOptionNoArg dashCAOut(0,"CAOut",
+      " --CAOut                Output C/A code in Rinex");
+   dashCAOut.setMaxCount(1);
+   
+   CommandOptionNoArg dashDOut(0,"DOut",
+      " --DOut                 Output Doppler in Rinex");
+   dashDOut.setMaxCount(1);
+   
+   CommandOptionNoArg dashVerb(0,"verbose",
+      " --verbose              print extended output "
+      "(NB --DCDebug,7 => all debugging output)");
+   dashVerb.setMaxCount(1);
+
+   CommandOptionNoArg dashh('h', "help",
+      " [-h|--help]            print syntax and quit."
+      "\n --DC...                Set parameter in Discontinuity Corrector : "
+      "(use --DChelp -h for a listing) ");
+
+   // ... other options
+   CommandOptionRest Rest("");
+
+   CommandOptionParser Par(
+   "Prgm DiscFix reads a data file containing dual-frequency pseudorange and phase\n"
+   "   measurements and finds and fixes discontinuities in the phase; output is\n"
+   "   a list of editing commands (for use with PRGM RinexEdit); the program will\n"
+   "   also (optional) write out the raw (uncorrected) data to a RINEX file.\n");
+
+      // -------------------------------------------------
+      // allow user to put all options in a file
+      // could also scan for debug here
+   vector<string> Args;
+   for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args,DFC.Verbose);
+   argc = Args.size();
+   if(argc==0) Args.push_back(string("-h"));
+
+      // strip out the DCcmds
+   vector<string> DCcmds;
+   vector<string>::iterator it=Args.begin();
+   while(it != Args.end()) {
+      if(it->substr(0,4) == string("--DC")) {
+         DCcmds.push_back(*it);
+         it = Args.erase(it);
+      }
+      else it++;
+   }
+   for(i=0; i<DCcmds.size(); i++) {
+      GDC.SetParameter(DCcmds[i]);
+   }
+
+      // pass the rest
+   argc = Args.size()+1;
+   char **CArgs=new char*[argc];
+   if(!CArgs) { cout << "Failed to allocate CArgs\n"; return -1; }
+   CArgs[0] = argv[0];
+   for(j=1; j<argc; j++) {
+      CArgs[j] = new char[Args[j-1].size()+1];
+      if(!CArgs[j]) { cout << "Failed to allocate CArgs[j]\n"; return -1; }
+      strcpy(CArgs[j],Args[j-1].c_str());
+   }
+   Par.parseOptions(argc, CArgs);
+
+      // -------------------------------------------------
+   if(dashh.getCount() > 0) {
+      Par.displayUsage(cout,false);
+      if(GDC.help) GDC.DisplayParameterUsage(cout);
+      help = true;
+   }
+
+   if (Par.hasErrors())
+   {
+      cout << "\nErrors found in command line input:\n";
+      Par.dumpErrors(cout);
+      cout << "...end of Errors\n\n";
+      help = true;
+   }
+   
+      // -------------------------------------------------
+      // get values found on command line
+   vector<string> values;
+      // f never appears because we intercept it above
+   //if(dashf.getCount()) { cout << "Option f "; dashf.dumpValue(cout); }
+      // do help first
+   if(dashh.getCount()) help=true;
+   if(dashLog.getCount()) {
+      values = dashLog.getValue();
+      DFC.LogFile = values[0];
+      if(help) cout << "Log file is " << DFC.LogFile << endl;
+   }
+      // open the log file
+   DFC.oflog.open(DFC.LogFile.c_str(),ios::out);
+   if(DFC.oflog.fail()) {
+      cout << "DiscFix failed to open log file " << DFC.LogFile << "! Abort.\n";
+      return -1;
+   }
+   DFC.oflog << Title;
+   GDC.oflog = &DFC.oflog;
+   if(GDC.Debug > 0) cout << "DiscFix opened log file " << DFC.LogFile << endl;
+
+      // now get the rest of the options
+   if(dashVerb.getCount()) DFC.Verbose=true;
+   if(dashi.getCount()) {
+      values = dashi.getValue();
+      if(help) DFC.oflog << "Input Rinex obs files are:\n";
+      for(i=0; i<values.size(); i++) {
+         DFC.InputObsName.push_back(values[i]);
+         if(help) DFC.oflog << "   " << values[i] << endl;
+      }
+   }
+   if(dashd.getCount()) {
+      values = dashd.getValue();
+      DFC.Directory = values[0];
+      if(help) DFC.oflog << "Input Directory is " << DFC.Directory << endl;
+   }
+   if(dashith.getCount()) {
+      values = dashith.getValue();
+      DFC.ith = StringUtils::asDouble(values[0]);
+      if(help) DFC.oflog << "Ithing values is " << DFC.ith << endl;
+   }
+   if(dasheb.getCount()) {
+      values = dasheb.getValue();
+      DFC.Tbeg.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+      if(help) DFC.oflog << "Begin time is "
+         << DFC.Tbeg.printf("%04Y/%02m/%02d %02H:%02M:%.3f") << endl;
+   }
+   if(dashgb.getCount()) {
+      values = dashgb.getValue();
+      DFC.Tbeg.setToString(values[0], "%F,%g");
+      if(help) DFC.oflog << "Begin time is "
+         << DFC.Tbeg.printf("%04F/%10.3g") << endl;
+   }
+   if(dashee.getCount()) {
+      values = dashee.getValue();
+      DFC.Tend.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+      if(help) DFC.oflog << "End time is "
+         << DFC.Tend.printf("%04Y/%02m/%02d %02H:%02M:%.3f") << endl;
+   }
+   if(dashge.getCount()) {
+      values = dashge.getValue();
+      DFC.Tend.setToString(values[0], "%F,%g");
+      if(help) DFC.oflog << "End time is "
+         << DFC.Tend.printf("%04F/%10.3g") << endl;
+   }
+   if(dashCA.getCount()) {
+      DFC.UseCA = true;
+      if(help) DFC.oflog << "'Use C/A' flag is set\n";
+   }
+   if(dashDT.getCount()) {
+      values = dashDT.getValue();
+      DFC.DT = StringUtils::asDouble(values[0]);
+      if(help) DFC.oflog << "DT is set to " << DFC.DT << endl;
+   }
+   if(dashGap.getCount()) {
+      values = dashGap.getValue();
+      DFC.MaxGap = StringUtils::asDouble(values[0]);
+      if(help) DFC.oflog << "Max gap (sec) is " << DFC.MaxGap << endl;
+   }
+   if(dashPts.getCount()) {
+      values = dashPts.getValue();
+      DFC.MinPts = StringUtils::asInt(values[0]);
+      if(help) DFC.oflog << "Minimum points is " << DFC.MinPts << endl;
+   }
+   if(dashXprn.getCount()) {
+      values = dashXprn.getValue();
+      for(i=0; i<values.size(); i++) {
+         RinexPrn p=StringUtils::asData<RinexPrn>(values[i]);
+         if(help) DFC.oflog << "Exclude satellite " << p << endl;
+         DFC.ExSV.push_back(p);
+      }
+   }
+   if(dashSV.getCount()) {
+      values = dashSV.getValue();
+      RinexPrn p=StringUtils::asData<RinexPrn>(values[0]);
+      DFC.SVonly = p;
+      if(help) DFC.oflog << "Process only satellite : " << p << endl;
+   }
+   if(dashErr.getCount()) {
+      values = dashErr.getValue();
+      DFC.ErrFile = values[0];
+      if(help) DFC.oflog << "Err file is " << DFC.ErrFile << endl;
+   }
+   if(dashOut.getCount()) {
+      values = dashOut.getValue();
+      DFC.OutFile = values[0];
+      if(help) DFC.oflog << "Out file is " << DFC.OutFile << endl;
+   }
+   if(dashRfile.getCount()) {
+      values = dashRfile.getValue();
+      DFC.OutRinexObs = values[0];
+      if(help) DFC.oflog << "Output Rinex file name is " << DFC.OutRinexObs << endl;
+   }
+   if(dashRrun.getCount()) {
+      values = dashRrun.getValue();
+      DFC.HDRunby = values[0];
+      if(help) DFC.oflog << "Output Rinex 'RUN BY' is " << DFC.HDRunby << endl;
+   }
+   if(dashRobs.getCount()) {
+      values = dashRobs.getValue();
+      DFC.HDObs = values[0];
+      if(help) DFC.oflog << "Output Rinex 'OBSERVER' is " << DFC.HDObs << endl;
+   }
+   if(dashRag.getCount()) {
+      values = dashRag.getValue();
+      DFC.HDAgency = values[0];
+      if(help) DFC.oflog << "Output Rinex 'AGENCY' is " << DFC.HDAgency << endl;
+   }
+   if(dashRmark.getCount()) {
+      values = dashRmark.getValue();
+      DFC.HDMarker = values[0];
+      if(help) DFC.oflog << "Output Rinex 'MARKER' is " << DFC.HDMarker << endl;
+   }
+   if(dashRnumb.getCount()) {
+      values = dashRnumb.getValue();
+      DFC.HDNumber = values[0];
+      if(help) DFC.oflog << "Output Rinex 'NUMBER' is " << DFC.HDNumber << endl;
+   }
+   if(dashSmooth.getCount()) {
+      DFC.SmoothedPhase = DFC.SmoothedRange = true;
+      if(help) DFC.oflog << "'Smooth both' option is on\n";
+   }
+   if(dashSmoothPR.getCount()) {
+      DFC.SmoothedRange = true;
+      if(help) DFC.oflog << "'Smooth range' option is on\n";
+   }
+   if(dashSmoothPH.getCount()) {
+      DFC.SmoothedPhase = true;
+      if(help) DFC.oflog << "'Smooth phase' option is on\n";
+   }
+   if(dashCAOut.getCount()) {
+      DFC.CAOut = true;
+      if(help) DFC.oflog << "'C/A output' option is on\n";
+   }
+   if(dashDOut.getCount()) {
+      DFC.DopOut = true;
+      if(help) DFC.oflog << "'Doppler output' option is on\n";
+   }
+
+   if(Rest.getCount() && help) {
+      DFC.oflog << "Remaining options:" << endl;
+      values = Rest.getValue();
+      for (i=0; i<values.size(); i++) DFC.oflog << values[i] << endl;
+   }
+   //if(DFC.Verbose && help) {
+   //   DFC.oflog << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+   //   for(j=0; j<Args.size(); j++) DFC.oflog << Args[j] << endl;
+   //}
+
+   if(DFC.Verbose && GDC.Debug<2) { // if GDC::Debug is not set higher, set to 2
+      GDC.SetParameter(string("Debug=2"));
+   }
+
+   if(help) return 1;
+
+   DFC.oferr.open(DFC.ErrFile.c_str());
+   if(DFC.oferr.good()) {
+      if(GDC.Debug>1)DFC.oflog << "DiscFix opened error file " << DFC.ErrFile << endl;
+      if(GDC.Debug>1) cout << "DiscFix opened error file " << DFC.ErrFile << endl;
+      DFC.oferr << Title;
+   }
+   DFC.ofout.open(DFC.OutFile.c_str());
+   if(DFC.ofout.good()) {
+      if(GDC.Debug>1) DFC.oflog << "DiscFix opened output file "
+         << DFC.OutFile << endl;
+   }
+   else {
+      DFC.oferr << "Error: DiscFix failed to open output file "
+         << DFC.OutFile << endl;
+      DFC.oflog << "Error: DiscFix failed to open output file "
+         << DFC.OutFile << endl;
+   }
+
+   if(GDC.DT <= 0.0) {
+      DFC.oferr << "DiscFix:DT in the GDC must be positive - use --DCDT" << endl;
+      DFC.oflog << "DiscFix:DT in the GDC must be positive - use --DCDT" << endl;
+      return -1;
+   }
+
+   DFC.Smooth = (DFC.SmoothedRange || DFC.SmoothedPhase);
+
+      // print config to log
+   if(GDC.Debug > 0) {
+      DFC.oflog << "Here is the DF configuration:\n";
+      DFC.oflog << "Input Rinex obs files are:\n";
+      for(i=0; i<DFC.InputObsName.size(); i++) {
+         DFC.oflog << "  " << DFC.InputObsName[i] << endl;
+      }
+      DFC.oflog << "Input Directory is " << DFC.Directory << endl;
+      DFC.oflog << "Ithing time interval is " << DFC.ith << endl;
+      if(DFC.Tbeg > DayTime(DayTime::BEGINNING_OF_TIME))
+      DFC.oflog << "Begin time is "
+         << DFC.Tbeg.printf("%04Y/%02m/%02d %02H:%02M:%.3f")
+         << " = " << DFC.Tbeg.printf("%04F/%10.3g") << endl;
+      if(DFC.Tend < DayTime(DayTime::END_OF_TIME))
+         DFC.oflog << "End time is "
+            << DFC.Tend.printf("%04Y/%02m/%02d %02H:%02M:%.3f")
+            << " = " << DFC.Tend.printf("%04F/%10.3g") << endl;
+      if(DFC.UseCA) DFC.oflog << "'Use C/A' flag is set\n";
+      DFC.oflog << "DT is set to " << DFC.DT << endl;
+      DFC.oflog << "Max gap (sec) is " << DFC.MaxGap << endl;
+      DFC.oflog << "Minimum points is " << DFC.MinPts << endl;
+      if(DFC.ExSV.size()) {
+         DFC.oflog << "Exclude satellites";
+         for(i=0; i<DFC.ExSV.size(); i++) {
+            if(DFC.ExSV[i].prn == -1) DFC.oflog << " (all "
+               << (DFC.ExSV[i].system == systemGPS ? "GPS" :
+                  (DFC.ExSV[i].system == systemGlonass ? "Glonass" :
+                  (DFC.ExSV[i].system == systemTransit ? "Transit" :
+                  (DFC.ExSV[i].system == systemGeosync ? "Geosync" : "Mixed"))))
+               << ")";
+            else DFC.oflog << " " << DFC.ExSV[i];
+         }
+         DFC.oflog << endl;
+      }
+      if(DFC.SVonly.prn > 0)
+         DFC.oflog << "Process only satellite : " << DFC.SVonly << endl;
+      DFC.oflog << "Log file is " << DFC.LogFile << endl;
+      DFC.oflog << "Err file is " << DFC.ErrFile << endl;
+      DFC.oflog << "Out file is " << DFC.OutFile << endl;
+      if(!DFC.OutRinexObs.empty())
+         DFC.oflog << "Output Rinex file name is " << DFC.OutRinexObs << endl;
+      if(!DFC.HDRunby.empty())
+         DFC.oflog << "Output Rinex 'RUN BY' is " << DFC.HDRunby << endl;
+      if(!DFC.HDObs.empty())
+         DFC.oflog << "Output Rinex 'OBSERVER' is " << DFC.HDObs << endl;
+      if(!DFC.HDAgency.empty())
+         DFC.oflog << "Output Rinex 'AGENCY' is " << DFC.HDAgency << endl;
+      if(!DFC.HDMarker.empty())
+         DFC.oflog << "Output Rinex 'MARKER' is " << DFC.HDMarker << endl;
+      if(!DFC.HDNumber.empty())
+         DFC.oflog << "Output Rinex 'NUMBER' is " << DFC.HDNumber << endl;
+      if(DFC.SmoothedRange) DFC.oflog << "'Smoothed range' option is on\n";
+      if(DFC.SmoothedPhase) DFC.oflog << "'Smoothed phase' option is on\n";
+      if(!DFC.Smooth) DFC.oflog << "No smoothing.\n";
+      if(DFC.CAOut) DFC.oflog << "'C/A output' option is on\n";
+      if(DFC.DopOut) DFC.oflog << "'Doppler output' option is on\n";
+
+      DFC.oflog << "\nHere is the GDC configuration:\n";
+      GDC.PrintParameters(DFC.oflog);
+   }
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+      DFC.oferr << "DiscFix:GetCommandLine caught an exception " << e << endl;
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      DFC.oferr << "DiscFix:GetCommandLine caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& ver)
+{
+try {
+   if(arg[0]=='-' && arg[1]=='f') {
+      string filename(arg);
+      filename.erase(0,2);
+      ifstream infile(filename.c_str());
+      if(!infile) {
+         DFC.oferr << "Error: could not open options file "
+            << filename << endl;
+      }
+      else {
+         char c;
+         string buffer;
+         while( infile >> buffer) {
+            if(buffer[0] == '#') {         // skip to end of line
+               while(infile.get(c)) { if(c=='\n') break; }
+            }
+            else PreProcessArgs(buffer.c_str(),Args,ver); //Args.push_back(buffer);
+         }
+      }
+   }
+   else if((arg[0]=='-' && arg[1]=='v') || string(arg)==string("--verbose")) {
+      ver = true;
+   }
+   else Args.push_back(arg);
+}
+catch(gpstk::Exception& e) {
+      DFC.oferr << "DiscFix:PreProcessArgs caught an exception " << e << endl;
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      DFC.oferr << "DiscFix:PreProcessArgs caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/cycleslips/Jamfile b/trunk/apps/cycleslips/Jamfile
new file mode 100644
index 0000000..3a9d7bd
--- /dev/null
+++ b/trunk/apps/cycleslips/Jamfile
@@ -0,0 +1,9 @@
+#
+# $Id: //depot/sgl/gpstk/dev/apps/cycleslips/Jamfile#1 $
+#
+
+SubDir TOP apps cycleslips ;
+
+GPSLinkLibraries DiscFix : gpstk ;
+
+GPSMain DiscFix : DiscFix.cpp DiscCorr.cpp ;
diff --git a/trunk/apps/cycleslips/Makefile.am b/trunk/apps/cycleslips/Makefile.am
new file mode 100644
index 0000000..6d53a25
--- /dev/null
+++ b/trunk/apps/cycleslips/Makefile.am
@@ -0,0 +1,6 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = DiscFix
+
+DiscFix_SOURCES = DiscFix.cpp DiscCorr.cpp
diff --git a/trunk/apps/cycleslips/Makefile.in b/trunk/apps/cycleslips/Makefile.in
new file mode 100644
index 0000000..7b20a95
--- /dev/null
+++ b/trunk/apps/cycleslips/Makefile.in
@@ -0,0 +1,422 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = DiscFix$(EXEEXT)
+subdir = apps/cycleslips
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_DiscFix_OBJECTS = DiscFix.$(OBJEXT) DiscCorr.$(OBJEXT)
+DiscFix_OBJECTS = $(am_DiscFix_OBJECTS)
+DiscFix_LDADD = $(LDADD)
+DiscFix_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(DiscFix_SOURCES)
+DIST_SOURCES = $(DiscFix_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+DiscFix_SOURCES = DiscFix.cpp DiscCorr.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  apps/cycleslips/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  apps/cycleslips/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+DiscFix$(EXEEXT): $(DiscFix_OBJECTS) $(DiscFix_DEPENDENCIES) 
+	@rm -f DiscFix$(EXEEXT)
+	$(CXXLINK) $(DiscFix_LDFLAGS) $(DiscFix_OBJECTS) $(DiscFix_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/DiscCorr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/DiscFix.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/cycleslips/README b/trunk/apps/cycleslips/README
new file mode 100644
index 0000000..acc58c8
--- /dev/null
+++ b/trunk/apps/cycleslips/README
@@ -0,0 +1,67 @@
+The GPSTk disconituity corrector (DC), or 'cycle slip fixer' (/apps/cycleslips).
+
+   DiscFix.cpp is a standalone program that reads a Rinex observation file containing
+dual frequency pseudorange and carrier phase data, and finds and estimates
+discontinuities in the phase. The output of DiscFix is a set of editing commands,
+which are input to the program EditRinex (see apps/Rinextools). The user also has the
+option of giving a (new) output Rinex file name to which DiscFix will write the data
+with cycleslips fixed as well as (optionally) bad points deleted and smoothing.
+
+   DiscFix is actually just an interface to the discontinuity correction; it 
+includes the header file DiscCorr.hpp and calls the functions in DiscCorr.cpp,
+which is where an interface is defined and the code that actually does the detection
+and correction of cycleslips is. These files implement an algorithm based on (but not
+exactly the same as) that described in the paper by Geoffrey Blewitt,
+"An Automatic Editing Algorithm for GPS Data", Geophysical Research Letters, Vol. 17,
+No. 3, pp 199-202, 1990. There is considerable documentation of the algorithm with
+the code in DiscCorr.cpp.
+
+   The DC requires that several tolerances and limits be set on input. These values
+and their default values are listed in the syntax page (run DiscFix --DChelp --help).
+The default values are pretty good for 30 second, static data on a good receiver, but
+most likely these should be fine-tuned for any other application. The limits, such as
+the minimum length of a pass, or the maximum size of a gap in the data, are
+straightforward and can easily be changed. However, changing the tolerances
+intelligently requires a good understanding of the algorithm; unfortunately I know
+of no systematic (i.e. easy) way of doing this -- use trial and error.
+
+   DiscFix (also EditRinex) is run from the command line, and input and outputs are
+all flat files. To see the command line syntax, run DiscFix or EditRinex with either
+no arguments, or with arguments but including --help. To see the DC commands in
+DiscFix, add the command --DChelp as well.
+
+   Two examples are included in the subdirectory 'examples' here. They may be run
+with the scripts goDF1 and goDF2 (unix) or batch files goDF1.bat and goDF2.bat
+(Windows). The first example is 30 second data at a static site; this is taken as
+typical data, and is the type used to develop and tune the DC. The second example
+is very different, it is data collected on a low-earth orbiting (LEO) satellite,
+in fact it is only the data for the period when the LEO satellite see the GPS
+satellite at negative elevation angles. Note that the data consists of very short
+segments separated by large gaps (data is collected only 2% of the time - run
+RinSum on it). Also note the difference in DC parameters for the two cases. (Both
+files contain data from just one satellite, in order to reduce storage requirements.)
+
+   If you have awk, sed and gnuplot, (even on Windows) the scripts will
+produce plots showing the wide lane bias and the geometry free phase and range; see
+the documentation in DiscCorr.cpp for more information. These plots are included in
+GIF format for users without these utilities; there is also a plot of the wide lane
+bias and geometry free phase computed from data in the corrected Rinex observation
+files.
+
+The quantities in the plots are as follows:
+   "WL Small Slip Detection"
+      WLbias  Raw wide lane bias data (note the discontinuity in this)
+      P Ave   Average wide lane bias for points in the past
+      F Ave   Average wide lane bias for points in the future
+      P Sig   Sigma on the wide lane bias points in the past
+      F Sig   Sigma on the wide lane bias points in the future
+      |dAve|  absolute value of difference of P Ave and F Ave
+      limit   threshold -- when |dAve| > limit, there is a slip (basically)
+   "DC GFRF GFP fit GFR"
+      GFP       geometry-free phase (with a bias removed) (note the discontinuity)
+      GFR       geometry-free range
+      Fit       a polynomial fit to the GFR (a new fit in each segment)
+      Residual  the residuals of fit (GFR - fit)
+
+Brian Tolman
+btolman at arlut.utexas.edu
diff --git a/trunk/apps/cycleslips/examples/GFP2.gp b/trunk/apps/cycleslips/examples/GFP2.gp
new file mode 100644
index 0000000..fefac16
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/GFP2.gp
@@ -0,0 +1,12 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC GFRF GFP, fit GFR" at graph 0.5,0.96 center
+set label 2 "Uniq 2 PRN G17" at graph 0.5,0.91 center
+set ylabel "GFP / Residual (m)"
+set y2label "GFR / Fit (m)"
+plot "GFRF2G17.dat" using 1:2 t "GFP" with points pointsize 0.5
+replot "GFRF2G17.dat" using 1:4 axes x1y2 t "GFR" with points pointsize 0.5
+replot "GFRF2G17.dat" using 1:5 axes x1y2 t "Fit" with points pointsize 0.5
+replot "GFRF2G17.dat" using 1:6 t "Residual" with points pointsize 0.5
diff --git a/trunk/apps/cycleslips/examples/GFP2_Win.gp b/trunk/apps/cycleslips/examples/GFP2_Win.gp
new file mode 100644
index 0000000..6d256b5
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/GFP2_Win.gp
@@ -0,0 +1,13 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC GFRF GFP, fit GFR" at graph 0.5,0.96 center
+set label 2 "Uniq 2 PRN G17" at graph 0.5,0.91 center
+set ylabel "GFP / Residual (m)"
+set y2label "GFR / Fit (m)"
+plot "GFRF2G17.dat" using 1:2 t "GFP" with points pointsize 0.5
+replot "GFRF2G17.dat" using 1:4 axes x1y2 t "GFR" with points pointsize 0.5
+replot "GFRF2G17.dat" using 1:5 axes x1y2 t "Fit" with points pointsize 0.5
+replot "GFRF2G17.dat" using 1:6 t "Residual" with points pointsize 0.5
+pause -1 "End GFRF 2"
diff --git a/trunk/apps/cycleslips/examples/GFP3.gp b/trunk/apps/cycleslips/examples/GFP3.gp
new file mode 100644
index 0000000..bdae417
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/GFP3.gp
@@ -0,0 +1,12 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC GFRF GFP, fit GFR" at graph 0.5,0.96 center
+set label 2 "Uniq 3 PRN G17" at graph 0.5,0.91 center
+set ylabel "GFP / Residual (m)"
+set y2label "GFR / Fit (m)"
+plot "GFRF3G17.dat" using 1:2 t "GFP" with points pointsize 0.5
+replot "GFRF3G17.dat" using 1:4 axes x1y2 t "GFR" with points pointsize 0.5
+replot "GFRF3G17.dat" using 1:5 axes x1y2 t "Fit" with points pointsize 0.5
+replot "GFRF3G17.dat" using 1:6 t "Residual" with points pointsize 0.5
diff --git a/trunk/apps/cycleslips/examples/GFP3_Win.gp b/trunk/apps/cycleslips/examples/GFP3_Win.gp
new file mode 100644
index 0000000..54451c3
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/GFP3_Win.gp
@@ -0,0 +1,13 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC GFRF GFP, fit GFR" at graph 0.5,0.96 center
+set label 2 "Uniq 3 PRN G17" at graph 0.5,0.91 center
+set ylabel "GFP / Residual (m)"
+set y2label "GFR / Fit (m)"
+plot "GFRF3G17.dat" using 1:2 t "GFP" with points pointsize 0.5
+replot "GFRF3G17.dat" using 1:4 axes x1y2 t "GFR" with points pointsize 0.5
+replot "GFRF3G17.dat" using 1:5 axes x1y2 t "Fit" with points pointsize 0.5
+replot "GFRF3G17.dat" using 1:6 t "Residual" with points pointsize 0.5
+pause -1 "End GFRF 3"
diff --git a/trunk/apps/cycleslips/examples/GFP6.gp b/trunk/apps/cycleslips/examples/GFP6.gp
new file mode 100644
index 0000000..3c6b315
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/GFP6.gp
@@ -0,0 +1,12 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC GFRF GFP, fit GFR" at graph 0.5,0.96 center
+set label 2 "Uniq 6 PRN G31" at graph 0.5,0.91 center
+set ylabel "GFP / Residual (m)"
+set y2label "GFR / Fit (m)"
+plot "GFRF6G31.dat" using 1:2 t "GFP" with points pointsize 0.5
+replot "GFRF6G31.dat" using 1:4 axes x1y2 t "GFR" with points pointsize 0.5
+replot "GFRF6G31.dat" using 1:5 axes x1y2 t "Fit" with points pointsize 0.5
+replot "GFRF6G31.dat" using 1:6 t "Residual" with points pointsize 0.5
diff --git a/trunk/apps/cycleslips/examples/GFP6_Win.gp b/trunk/apps/cycleslips/examples/GFP6_Win.gp
new file mode 100644
index 0000000..262f077
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/GFP6_Win.gp
@@ -0,0 +1,13 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC GFRF GFP, fit GFR" at graph 0.5,0.96 center
+set label 2 "LEO data Uniq 6 PRN G31" at graph 0.5,0.91 center
+set ylabel "GFP / Residual (m)"
+set y2label "GFR / Fit (m)"
+plot "GFRF6G31.dat" using 1:2 t "GFP" with points pointsize 0.5
+replot "GFRF6G31.dat" using 1:4 axes x1y2 t "GFR" with points pointsize 0.5
+replot "GFRF6G31.dat" using 1:5 axes x1y2 t "Fit" with points pointsize 0.5
+replot "GFRF6G31.dat" using 1:6 t "Residual" with points pointsize 0.5
+pause -1 "End GFRF 6"
diff --git a/trunk/apps/cycleslips/examples/GFRF2G17.jpg b/trunk/apps/cycleslips/examples/GFRF2G17.jpg
new file mode 100644
index 0000000..3958802
Binary files /dev/null and b/trunk/apps/cycleslips/examples/GFRF2G17.jpg differ
diff --git a/trunk/apps/cycleslips/examples/GFRF3G17.jpg b/trunk/apps/cycleslips/examples/GFRF3G17.jpg
new file mode 100644
index 0000000..7d3f8e3
Binary files /dev/null and b/trunk/apps/cycleslips/examples/GFRF3G17.jpg differ
diff --git a/trunk/apps/cycleslips/examples/GFRF6G31.jpg b/trunk/apps/cycleslips/examples/GFRF6G31.jpg
new file mode 100644
index 0000000..52c9cfd
Binary files /dev/null and b/trunk/apps/cycleslips/examples/GFRF6G31.jpg differ
diff --git a/trunk/apps/cycleslips/examples/WLSS2.gp b/trunk/apps/cycleslips/examples/WLSS2.gp
new file mode 100644
index 0000000..2564822
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/WLSS2.gp
@@ -0,0 +1,15 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC WL Small Slip Detection" at graph 0.5,0.96 center
+set label 2 "Uniq 2 PRN G17" at graph 0.5,0.91 center
+set ylabel "WL cycles (bias,ave,sig)"
+set y2label "Test & Limit (WL cycles)"
+plot "WLSS2G17.dat" using 1:4 t "P Sig" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:7 t "F Sig" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:12 t "WLbias" with points pointsize 0.5
+replot "WLSS2G17.dat" using 1:10 axes x1y2 t "|dAve|" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:11 axes x1y2 t "limit" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:3 t "P Ave" with lines
+replot "WLSS2G17.dat" using 1:6 t "F Ave" with lines
diff --git a/trunk/apps/cycleslips/examples/WLSS2G17.jpg b/trunk/apps/cycleslips/examples/WLSS2G17.jpg
new file mode 100644
index 0000000..03348d7
Binary files /dev/null and b/trunk/apps/cycleslips/examples/WLSS2G17.jpg differ
diff --git a/trunk/apps/cycleslips/examples/WLSS2_Win.gp b/trunk/apps/cycleslips/examples/WLSS2_Win.gp
new file mode 100644
index 0000000..083a936
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/WLSS2_Win.gp
@@ -0,0 +1,16 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC WL Small Slip Detection" at graph 0.5,0.96 center
+set label 2 "Uniq 2 PRN G17" at graph 0.5,0.91 center
+set ylabel "WL cycles (bias,ave,sig)"
+set y2label "Test & Limit (WL cycles)"
+plot "WLSS2G17.dat" using 1:4 t "P Sig" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:7 t "F Sig" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:12 t "WLbias" with points pointsize 0.5
+replot "WLSS2G17.dat" using 1:10 axes x1y2 t "|dAve|" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:11 axes x1y2 t "limit" with linespoints pointsize 0.5
+replot "WLSS2G17.dat" using 1:3 t "P Ave" with lines
+replot "WLSS2G17.dat" using 1:6 t "F Ave" with lines
+pause -1 "End WLSS 2"
diff --git a/trunk/apps/cycleslips/examples/WLSS3.gp b/trunk/apps/cycleslips/examples/WLSS3.gp
new file mode 100644
index 0000000..1ff4f80
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/WLSS3.gp
@@ -0,0 +1,15 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC WL Small Slip Detection" at graph 0.5,0.96 center
+set label 2 "Uniq 3 PRN G17" at graph 0.5,0.91 center
+set ylabel "WL cycles (bias,ave,sig)"
+set y2label "Test & Limit (WL cycles)"
+plot "WLSS3G17.dat" using 1:4 t "P Sig" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:7 t "F Sig" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:12 t "WLbias" with points pointsize 0.5
+replot "WLSS3G17.dat" using 1:10 axes x1y2 t "|dAve|" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:11 axes x1y2 t "limit" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:3 t "P Ave" with lines
+replot "WLSS3G17.dat" using 1:6 t "F Ave" with lines
diff --git a/trunk/apps/cycleslips/examples/WLSS3G17.jpg b/trunk/apps/cycleslips/examples/WLSS3G17.jpg
new file mode 100644
index 0000000..aa5df96
Binary files /dev/null and b/trunk/apps/cycleslips/examples/WLSS3G17.jpg differ
diff --git a/trunk/apps/cycleslips/examples/WLSS3_Win.gp b/trunk/apps/cycleslips/examples/WLSS3_Win.gp
new file mode 100644
index 0000000..4d3b993
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/WLSS3_Win.gp
@@ -0,0 +1,16 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC WL Small Slip Detection" at graph 0.5,0.96 center
+set label 2 "Uniq 3 PRN G17" at graph 0.5,0.91 center
+set ylabel "WL cycles (bias,ave,sig)"
+set y2label "Test & Limit (WL cycles)"
+plot "WLSS3G17.dat" using 1:4 t "P Sig" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:7 t "F Sig" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:12 t "WLbias" with points pointsize 0.5
+replot "WLSS3G17.dat" using 1:10 axes x1y2 t "|dAve|" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:11 axes x1y2 t "limit" with linespoints pointsize 0.5
+replot "WLSS3G17.dat" using 1:3 t "P Ave" with lines
+replot "WLSS3G17.dat" using 1:6 t "F Ave" with lines
+pause -1 "End WLSS 3"
diff --git a/trunk/apps/cycleslips/examples/WLSS6.gp b/trunk/apps/cycleslips/examples/WLSS6.gp
new file mode 100644
index 0000000..f6aeb0a
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/WLSS6.gp
@@ -0,0 +1,15 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC WL Small Slip Detection" at graph 0.5,0.96 center
+set label 2 "Uniq 6 PRN G31" at graph 0.5,0.91 center
+set ylabel "WL cycles (bias,ave,sig)"
+set y2label "Test & Limit (WL cycles)"
+plot "WLSS6G31.dat" using 1:4 t "P Sig" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:7 t "F Sig" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:12 t "WLbias" with points pointsize 0.5
+replot "WLSS6G31.dat" using 1:10 axes x1y2 t "|dAve|" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:11 axes x1y2 t "limit" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:3 t "P Ave" with lines
+replot "WLSS6G31.dat" using 1:6 t "F Ave" with lines
diff --git a/trunk/apps/cycleslips/examples/WLSS6G31.jpg b/trunk/apps/cycleslips/examples/WLSS6G31.jpg
new file mode 100644
index 0000000..3445f23
Binary files /dev/null and b/trunk/apps/cycleslips/examples/WLSS6G31.jpg differ
diff --git a/trunk/apps/cycleslips/examples/WLSS6_Win.gp b/trunk/apps/cycleslips/examples/WLSS6_Win.gp
new file mode 100644
index 0000000..f92deb7
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/WLSS6_Win.gp
@@ -0,0 +1,16 @@
+set xlabel "GPS Seconds of Week"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set label 1 "DC WL Small Slip Detection" at graph 0.5,0.96 center
+set label 2 "LEO data Uniq 6 PRN G31" at graph 0.5,0.91 center
+set ylabel "WL cycles (bias,ave,sig)"
+set y2label "Test & Limit (WL cycles)"
+plot "WLSS6G31.dat" using 1:4 t "P Sig" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:7 t "F Sig" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:12 t "WLbias" with points pointsize 0.5
+replot "WLSS6G31.dat" using 1:10 axes x1y2 t "|dAve|" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:11 axes x1y2 t "limit" with linespoints pointsize 0.5
+replot "WLSS6G31.dat" using 1:3 t "P Ave" with lines
+replot "WLSS6G31.dat" using 1:6 t "F Ave" with lines
+pause -1 "End WLSS 6"
diff --git a/trunk/apps/cycleslips/examples/chmp0110.02o.G31 b/trunk/apps/cycleslips/examples/chmp0110.02o.G31
new file mode 100644
index 0000000..90795b3
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/chmp0110.02o.G31
@@ -0,0 +1,1213 @@
+     2.00           Observation         G (GPS)             RINEX VERSION / TYPE
+BJfmt               engb                07/21/2004 17:55:20 PGM / RUN BY / DATE
+FRED                                                        MARKER NAME
+Wernicke, Brian     CALTECH                                 OBSERVER / AGENCY
+RECNUM              RECTYPE             RECVERS             REC # / TYPE / VERS
+ANTNUM              ANTTYPE                                 ANT # / TYPE
+        0.0000        0.0000        0.0000                  APPROX POSITION XYZ
+        0.0000        0.0000        0.0000                  ANTENNA: DELTA H/E/N
+     1     1                                                WAVELENGTH FACT L1/2
+     5    L1    L2    P1    P2    C1                        # / TYPES OF OBSERV
+     1.000                                                  INTERVAL
+  2002     1    11     0     7   47.0000000     GPS         TIME OF FIRST OBS
+SNR is mapped to signal strength [0,1,2-9]                  COMMENT
+SNR: >500 >100  >50  >10   >5   >3  >1  >0  bad  n/a        COMMENT
+sig:    9    8    7    6    5    4   3   2    1    0        COMMENT
+Edited by GPSTK Rinex Editor ver 3.0 9/8/2003 on 2004/07/21 COMMENT
+                                                            END OF HEADER
+ 02  1 11  1  3 52.0000000  0  1G31
+        -0.490 8        -0.905 8  26020784.286    26020800.606    26020784.475  
+ 02  1 11  1  3 53.0000000  0  1G31
+     29209.955 8     22760.000 8  26026343.565    26026359.697    26026343.415  
+ 02  1 11  1  3 54.0000000  0  1G31
+     58417.817 8     45518.885 8  26031901.870    26031918.235    26031901.703  
+ 02  1 11  1  3 55.0000000  0  1G31
+     87623.579 8     68276.123 8  26037459.762    26037476.493    26037460.028  
+ 02  1 11  1  3 56.0000000  0  1G31
+    116826.427 8     91031.092 8  26043017.358    26043034.099    26043017.507  
+ 02  1 11  1  3 57.0000000  0  1G31
+    146027.404 8    113784.580 8  26048574.423    26048591.334    26048574.535  
+ 02  1 11  1  3 58.0000000  0  1G31
+    175225.869 8    136536.121 8  26054131.039    26054148.158    26054131.298  
+ 02  1 11  1  3 59.0000000  0  1G31
+    204421.509 8    159285.451 8  26059687.368    26059704.573    26059687.388  
+ 02  1 11  1  4  0.0000000  0  1G31
+    233614.495 8    182032.718 8  26065242.818    26065259.998    26065243.132  
+ 02  1 11  1  4  1.0000000  0  1G31
+    262804.656 8    204777.780 8  26070797.963    26070815.143    26070798.624  
+ 02  1 11  1  4  2.0000000  0  1G31
+    291992.583 8    227521.095 8  26076352.632    26076370.138    26076352.794  
+ 02  1 11  1  4  3.0000000  0  1G31
+    321177.905 8    250262.377 8  26081906.920    26081924.823    26081907.058  
+ 02  1 11  1  4  4.0000000  0  1G31
+    350360.571 8    273001.578 8  26087460.361    26087478.036    26087460.730  
+ 02  1 11  1  4  5.0000000  0  1G31
+    379540.526 8    295738.657 8  26093013.589    26093031.533    26093013.982  
+ 02  1 11  1  4  6.0000000  0  1G31
+    408717.483 8    318473.399 8  26098566.225    26098584.386    26098566.302  
+ 02  1 11  1  4  7.0000000  0  1G31
+    437892.356 8    341206.517 8  26104118.113    26104136.591    26104118.723  
+ 02  1 11  1  4  8.0000000  0  1G31
+    467064.708 8    363937.668 8  26109670.011    26109688.398    26109670.314  
+ 02  1 11  1  4  9.0000000  0  1G31
+    496233.545 8    386666.063 8  26115221.015    26115239.609    26115221.554  
+ 02  1 11  1  4 10.0000000  0  1G31
+    525399.481 8    409392.195 8  26120771.784    26120790.339    26120772.173  
+ 02  1 11  1  4 11.0000000  0  1G31
+    554561.992 8    432115.655 8  26126321.863    26126340.339    26126322.083  
+ 02  1 11  1  4 12.0000000  0  1G31
+    583722.541 8    454837.578 8  26131871.352    26131890.051    26131871.311  
+ 02  1 11  1  4 13.0000000  0  1G31
+    612880.120 8    477557.184 8  26137420.136    26137439.146    26137420.497  
+ 02  1 11  1  4 14.0000000  0  1G31
+    642035.082 8    500274.747 8  26142968.501    26142987.892    26142968.687  
+ 02  1 11  1  4 15.0000000  0  1G31
+    671186.739 8    522989.728 8  26148516.455    26148535.500    26148516.463  
+ 02  1 11  1  4 16.0000000  0  1G31
+    700334.656 8    545701.801 8  26154063.714    26154082.712    26154063.676  
+ 02  1 11  1  4 17.0000000  0  1G31
+    729479.660 8    568411.591 8  26159610.284    26159629.618    26159610.300  
+ 02  1 11  1  4 18.0000000  0  1G31
+    758622.326 8    591119.558 8  26165156.255    26165175.853    26165156.278  
+ 02  1 11  1  4 19.0000000  0  1G31
+    787761.641 8    613824.911 8  26170701.527    26170721.608    26170701.789  
+ 02  1 11  1  4 20.0000000  0  1G31
+    816898.236 8    636528.138 8  26176246.467    26176266.689    26176246.875  
+ 02  1 11  1  4 21.0000000  0  1G31
+    846030.877 8    659228.282 8  26181791.006    26181810.916    26181791.070  
+ 02  1 11  1  4 22.0000000  0  1G31
+    875160.514 8    681926.085 8  26187334.596    26187354.897    26187334.684  
+ 02  1 11  1  4 23.0000000  0  1G31
+    904287.368 8    704621.714 8  26192877.478    26192898.071    26192877.852  
+ 02  1 11  1  4 24.0000000  0  1G31
+    933411.161 8    727314.949 8  26198420.385    26198440.759    26198420.326  
+ 02  1 11  1  4 25.0000000  0  1G31
+    962531.875 8    750005.785 8  26203961.995    26203982.931    26203962.122  
+ 02  1 11  1  4 26.0000000  0  1G31
+    991649.044 8    772693.847 8  26209503.519    26209524.511    26209503.905  
+ 02  1 11  1  4 27.0000000  0  1G31
+   1020763.364 8    795379.684 8  26215044.444    26215065.063    26215044.706  
+ 02  1 11  1  4 28.0000000  0  1G31
+   1049874.455 8    818063.001 8  26220584.315    26220605.692    26220584.456  
+ 02  1 11  1  4 29.0000000  0  1G31
+   1078982.245 8    840743.747 8  26226124.084    26226145.359    26226124.084  
+ 02  1 11  1  4 30.0000000  0  1G31
+   1108086.144 8    863421.443 8  26231662.668    26231684.291    26231663.037  
+ 02  1 11  1  4 31.0000000  0  1G31
+   1137186.391 8    886096.304 8  26237200.884    26237222.292    26237201.099  
+ 02  1 11  1  4 32.0000000  0  1G31
+   1166283.432 8    908768.662 8  26242738.157    26242759.899    26242738.485  
+ 02  1 11  1  4 33.0000000  0  1G31
+   1195377.177 8    931438.446 8  26248275.198    26248297.289    26248275.244  
+ 02  1 11  1  4 34.0000000  0  1G31
+   1224467.279 8    954105.393 8  26253811.388    26253833.534    26253811.583  
+ 02  1 11  1  4 35.0000000  0  1G31
+   1253554.570 8    976770.154 8  26259347.022    26259369.396    26259347.118  
+ 02  1 11  1  4 36.0000000  0  1G31
+   1282637.970 8    999431.874 8  26264881.563    26264904.471    26264882.075  
+ 02  1 11  1  4 37.0000000  0  1G31
+   1311718.305 8   1022091.213 8  26270416.300    26270438.875    26270416.362  
+ 02  1 11  2 57 48.0000000  0  1G31
+        -0.838 8        -0.702 2  26452655.870    26452659.676    26452655.813  
+ 02  1 11  2 57 49.0000000  0  1G31
+     21452.539 8     16718.325 2  26456738.227    26456743.225    26456739.332  
+ 02  1 11  2 57 50.0000000  0  1G31
+     42907.929 8     33439.071 2  26460821.574    26460824.445    26460822.595  
+ 02  1 11  2 57 51.0000000  0  1G31
+     64365.531 8     50161.440 2  26464905.975    26464908.240    26464906.736  
+ 02  1 11  2 57 52.0000000  0  1G31
+     85826.903 8     66886.827 2  26468990.053    26468993.706    26468991.047  
+ 02  1 11  2 57 53.0000000  0  1G31
+    107290.885 8     83613.979 2  26473075.447    26473077.567    26473076.326  
+ 02  1 11  2 57 54.0000000  0  1G31
+    128757.636 8    100343.425 2  26477161.098    26477161.578    26477161.817  
+ 02  1 11  2 57 55.0000000  0  1G31
+    150227.143 8    117075.174 2  26481247.786    26481248.286    26481247.643  
+ 02  1 11  2 57 56.0000000  0  1G31
+    171698.905 8    133808.969 3  26485333.750    26485333.272    26485334.180  
+ 02  1 11  2 57 57.0000000  0  1G31
+    193173.844 8    150545.266 2  26489420.705    26489420.585    26489421.274  
+ 02  1 11  2 57 58.0000000  0  1G31
+    214652.155 8    167284.138 2  26493508.439    26493507.921    26493508.811  
+ 02  1 11  4 39 21.0000000  0  1G31
+        -0.256 8        -0.087 7  23904519.448    23904520.996    23904519.233  
+ 02  1 11  4 39 22.0000000  0  1G31
+     32716.961 8     25493.734 8  23910745.004    23910746.953    23910745.516  
+ 02  1 11  4 39 23.0000000  0  1G31
+     65446.613 8     50997.187 8  23916973.619    23916975.167    23916973.634  
+ 02  1 11  4 39 24.0000000  0  1G31
+     98189.320 8     76510.826 8  23923204.228    23923206.274    23923204.665  
+ 02  1 11  4 39 25.0000000  0  1G31
+    130945.565 8    102035.092 8  23929437.775    23929439.482    23929437.872  
+ 02  1 11  4 39 26.0000000  0  1G31
+    163714.488 8    127569.192 8  23935673.499    23935675.243    23935673.779  
+ 02  1 11  4 39 27.0000000  0  1G31
+    196496.543 8    153113.520 7  23941912.089    23941913.698    23941912.184  
+ 02  1 11  4 39 28.0000000  0  1G31
+    229292.286 8    178668.573 8  23948153.098    23948155.042    23948152.808  
+ 02  1 11  4 39 29.0000000  0  1G31
+    262100.647 8    204233.469 8  23954396.073    23954398.066    23954396.374  
+ 02  1 11  4 39 30.0000000  0  1G31
+    294921.202 8    229807.862 8  23960641.737    23960643.468    23960641.722  
+ 02  1 11  4 39 31.0000000  0  1G31
+    327753.755 8    255391.523 8  23966889.508    23966891.341    23966889.937  
+ 02  1 11  4 39 32.0000000  0  1G31
+    360599.563 8    280985.461 8  23973140.247    23973142.109    23973140.311  
+ 02  1 11  4 39 33.0000000  0  1G31
+    393458.698 8    306589.868 8  23979393.447    23979395.282    23979393.365  
+ 02  1 11  4 39 34.0000000  0  1G31
+    426330.386 8    332204.043 8  23985648.556    23985650.592    23985648.872  
+ 02  1 11  4 39 35.0000000  0  1G31
+    459214.652 8    357827.943 8  23991906.256    23991908.301    23991906.488  
+ 02  1 11  4 39 36.0000000  0  1G31
+    492110.922 8    383461.244 8  23998166.345    23998168.241    23998166.696  
+ 02  1 11  4 39 37.0000000  0  1G31
+    525020.010 8    409104.581 8  24004428.601    24004431.144    24004429.011  
+ 02  1 11  4 39 38.0000000  0  1G31
+    557941.293 8    434757.371 8  24010693.630    24010696.008    24010693.981  
+ 02  1 11  4 39 39.0000000  0  1G31
+    590875.371 8    460420.202 8  24016960.950    24016963.006    24016961.044  
+ 02  1 11  4 39 40.0000000  0  1G31
+    623821.938 8    486092.722 8  24023230.371    24023232.978    24023230.767  
+ 02  1 11  4 39 41.0000000  0  1G31
+    656780.352 8    511774.437 8  24029502.884    24029505.078    24029502.628  
+ 02  1 11  4 39 42.0000000  0  1G31
+    689751.743 8    537466.271 8  24035776.825    24035779.424    24035776.851  
+ 02  1 11  4 39 43.0000000  0  1G31
+    722735.801 8    563167.895 8  24042053.485    24042056.134    24042053.752  
+ 02  1 11  4 39 44.0000000  0  1G31
+    755732.083 8    588879.051 8  24048332.775    24048335.088    24048332.809  
+ 02  1 11  4 39 45.0000000  0  1G31
+    788740.685 8    614599.802 8  24054614.183    24054616.811    24054614.381  
+ 02  1 11  4 39 46.0000000  0  1G31
+    821760.499 8    640329.200 8  24060897.647    24060900.367    24060898.095  
+ 02  1 11  4 39 47.0000000  0  1G31
+    854793.408 8    666068.898 8  24067184.002    24067187.086    24067184.176  
+ 02  1 11  4 39 48.0000000  0  1G31
+    887837.915 8    691817.609 8  24073472.346    24073475.225    24073472.765  
+ 02  1 11  4 39 49.0000000  0  1G31
+    920894.864 8    717575.991 8  24079763.171    24079766.214    24079763.499  
+ 02  1 11  4 39 50.0000000  0  1G31
+    953963.303 8    743343.425 8  24086055.874    24086059.008    24086056.608  
+ 02  1 11  4 39 51.0000000  0  1G31
+    987043.630 8    769120.142 8  24092350.903    24092354.133    24092351.457  
+ 02  1 11  4 39 52.0000000  0  1G31
+   1020136.776 8    794906.866 8  24098648.692    24098651.489    24098648.876  
+ 02  1 11  4 39 53.0000000  0  1G31
+   1053241.595 8    820702.606 8  24104948.324    24104951.484    24104948.880  
+ 02  1 11  4 39 54.0000000  0  1G31
+   1086358.084 8    846507.451 8  24111250.740    24111253.652    24111250.403  
+ 02  1 11  4 39 55.0000000  0  1G31
+   1119486.565 8    872321.661 8  24117554.827    24117558.082    24117554.890  
+ 02  1 11  4 39 56.0000000  0  1G31
+   1152626.043 8    898144.464 8  24123861.379    24123864.181    24123861.212  
+ 02  1 11  4 39 57.0000000  0  1G31
+   1185777.685 8    923976.770 8  24130169.839    24130173.139    24130170.008  
+ 02  1 11  4 39 58.0000000  0  1G31
+   1218941.853 8    949818.847 8  24136480.519    24136484.085    24136481.168  
+ 02  1 11  4 39 59.0000000  0  1G31
+   1252117.627 8    975670.025 8  24142794.032    24142797.225    24142794.239  
+ 02  1 11  4 40  0.0000000  0  1G31
+   1285304.877 8   1001530.129 8  24149109.688    24149112.882    24149109.605  
+ 02  1 11  4 40  1.0000000  0  1G31
+   1318502.446 8   1027398.124 8  24155427.060    24155430.338    24155426.944  
+ 02  1 11  4 40  2.0000000  0  1G31
+   1351711.242 8   1053274.640 8  24161746.363    24161749.941    24161746.802  
+ 02  1 11  4 40  3.0000000  0  1G31
+   1384932.239 8   1079160.881 8  24168068.658    24168072.162    24168068.780  
+ 02  1 11  4 40  4.0000000  0  1G31
+   1418164.237 8   1105055.821 8  24174392.574    24174396.138    24174392.798  
+ 02  1 11  4 40  5.0000000  0  1G31
+   1451407.065 8   1130959.220 8  24180718.652    24180722.226    24180718.920  
+ 02  1 11  4 40  6.0000000  0  1G31
+   1484660.617 8   1156870.988 8  24187046.643    24187050.007    24187046.802  
+ 02  1 11  4 40  7.0000000  0  1G31
+   1517925.452 8   1182791.598 8  24193376.643    24193380.246    24193376.968  
+ 02  1 11  4 40  8.0000000  0  1G31
+   1551202.397 8   1208721.687 8  24199709.067    24199712.820    24199708.957  
+ 02  1 11  4 40  9.0000000  0  1G31
+   1584490.602 8   1234660.473 8  24206043.349    24206047.232    24206043.682  
+ 02  1 11  4 40 10.0000000  0  1G31
+   1617789.641 8   1260607.605 8  24212380.428    24212383.873    24212380.353  
+ 02  1 11  4 40 11.0000000  0  1G31
+   1651099.376 8   1286563.050 8  24218719.270    24218722.993    24218719.034  
+ 02  1 11  4 40 12.0000000  0  1G31
+   1684420.678 8   1312527.465 8  24225060.392    24225064.076    24225060.359  
+ 02  1 11  4 40 13.0000000  0  1G31
+   1717753.974 8   1338501.267 8  24231403.609    24231407.172    24231403.617  
+ 02  1 11  4 40 14.0000000  0  1G31
+   1751099.941 8   1364485.116 8  24237749.020    24237752.778    24237749.312  
+ 02  1 11  4 40 15.0000000  0  1G31
+   1784457.654 8   1390478.238 8  24244096.661    24244100.375    24244096.950  
+ 02  1 11  4 40 16.0000000  0  1G31
+   1817825.475 8   1416479.186 8  24250446.549    24250450.409    24250446.471  
+ 02  1 11  4 40 17.0000000  0  1G31
+   1851204.438 8   1442488.752 8  24256797.969    24256801.793    24256798.165  
+ 02  1 11  4 40 18.0000000  0  1G31
+   1884593.789 8   1468506.338 8  24263151.841    24263155.761    24263152.285  
+ 02  1 11  4 40 19.0000000  0  1G31
+   1917993.897 8   1494532.297 8  24269507.827    24269511.645    24269508.211  
+ 02  1 11  4 40 20.0000000  0  1G31
+   1951404.426 8   1520566.414 8  24275865.666    24275869.642    24275865.904  
+ 02  1 11  4 40 21.0000000  0  1G31
+   1984823.524 8   1546607.118 8  24282225.451    24282228.915    24282225.466  
+ 02  1 11  4 40 22.0000000  0  1G31
+   2018254.737 8   1572657.257 8  24288587.342    24288591.117    24288587.431  
+ 02  1 11  4 40 23.0000000  0  1G31
+   2051697.411 8   1598716.363 8  24294951.304    24294955.123    24294951.425  
+ 02  1 11  4 40 24.0000000  0  1G31
+   2085150.844 8   1624783.882 8  24301317.412    24301321.028    24301317.380  
+ 02  1 11  4 40 25.0000000  0  1G31
+   2118614.949 8   1650859.734 8  24307685.456    24307689.416    24307685.462  
+ 02  1 11  4 40 26.0000000  0  1G31
+   2152089.198 8   1676943.400 8  24314055.303    24314059.379    24314055.358  
+ 02  1 11  4 40 27.0000000  0  1G31
+   2185574.261 8   1703035.642 8  24320427.308    24320431.350    24320427.542  
+ 02  1 11  4 40 28.0000000  0  1G31
+   2219069.948 8   1729136.197 8  24326801.365    24326805.600    24326801.471  
+ 02  1 11  4 40 29.0000000  0  1G31
+   2252575.923 8   1755244.762 8  24333177.548    24333181.538    24333177.566  
+ 02  1 11  4 40 30.0000000  0  1G31
+   2286092.155 8   1781361.264 8  24339555.086    24339559.116    24339555.630  
+ 02  1 11  4 40 31.0000000  0  1G31
+   2319616.994 8   1807484.419 8  24345934.883    24345938.960    24345935.271  
+ 02  1 11  4 40 32.0000000  0  1G31
+   2353141.325 8   1833607.273 8  24352314.733    24352318.762    24352314.697  
+ 02  1 11  4 40 33.0000000  0  1G31
+   2386669.844 8   1859733.324 8  24358694.810    24358698.648    24358694.884  
+ 02  1 11  4 40 34.0000000  0  1G31
+   2420207.268 8   1885866.301 8  24365076.466    24365080.743    24365076.781  
+ 02  1 11  4 40 35.0000000  0  1G31
+   2453754.085 8   1912006.531 8  24371460.684    24371464.803    24371460.962  
+ 02  1 11  4 40 36.0000000  0  1G31
+   2487310.060 8   1938153.956 8  24377846.260    24377850.136    24377846.390  
+ 02  1 11  4 40 37.0000000  0  1G31
+   2520876.964 8   1964309.946 8  24384233.870    24384237.916    24384234.016  
+ 02  1 11  4 40 38.0000000  0  1G31
+   2554453.965 8   1990473.885 8  24390623.082    24390627.325    24390623.640  
+ 02  1 11  4 40 39.0000000  0  1G31
+   2588040.818 8   2016645.469 8  24397014.493    24397018.640    24397014.733  
+ 02  1 11  4 40 40.0000000  0  1G31
+   2621637.462 8   2042824.641 8  24403407.725    24403411.901    24403408.140  
+ 02  1 11  4 40 41.0000000  0  1G31
+   2655243.712 8   2069011.334 8  24409803.009    24409807.128    24409803.177  
+ 02  1 11  4 40 42.0000000  0  1G31
+   2688859.863 9   2095205.698 8  24416199.777    24416203.925    24416200.133  
+ 02  1 11  4 40 43.0000000  0  1G31
+   2722485.029 8   2121407.077 8  24422598.506    24422602.943    24422598.797  
+ 02  1 11  4 40 44.0000000  0  1G31
+   2756119.846 8   2147616.012 8  24428999.056    24429003.395    24428999.301  
+ 02  1 11  4 40 45.0000000  0  1G31
+   2789764.843 9   2173833.048 8  24435401.399    24435405.467    24435401.715  
+ 02  1 11  4 40 46.0000000  0  1G31
+   2823419.209 9   2200057.407 8  24441805.592    24441809.489    24441805.670  
+ 02  1 11  4 40 47.0000000  0  1G31
+   2857083.178 9   2226289.148 8  24448211.436    24448215.606    24448211.657  
+ 02  1 11  4 40 48.0000000  0  1G31
+   2890756.941 9   2252528.522 8  24454619.151    24454623.436    24454619.738  
+ 02  1 11  4 40 49.0000000  0  1G31
+   2924440.116 9   2278775.334 8  24461028.888    24461033.047    24461029.167  
+ 02  1 11  4 40 50.0000000  0  1G31
+   2958132.365 9   2305029.127 8  24467440.246    24467444.158    24467440.422  
+ 02  1 11  4 40 51.0000000  0  1G31
+   2991832.816 9   2331289.189 8  24473853.248    24473857.398    24473853.329  
+ 02  1 11  4 40 52.0000000  0  1G31
+   3025543.255 9   2357557.171 8  24480267.967    24480272.144    24480268.051  
+ 02  1 11  4 40 53.0000000  0  1G31
+   3059263.333 9   2383832.630 8  24486684.578    24486688.514    24486684.682  
+ 02  1 11  4 40 54.0000000  0  1G31
+   3092993.002 9   2410115.659 8  24493103.187    24493106.966    24493103.543  
+ 02  1 11  4 40 55.0000000  0  1G31
+   3126731.902 9   2436405.907 8  24499523.349    24499526.996    24499523.430  
+ 02  1 11  4 40 56.0000000  0  1G31
+   3160478.104 9   2462701.722 8  24505944.943    24505948.822    24505945.245  
+ 02  1 11  4 47  2.0000000  0  1G31
+        -0.194 9        -0.397 7  26909742.844    26909751.395    26909743.056  
+ 02  1 11  4 47  3.0000000  0  1G31
+     34417.952 9     26819.279 8  26916292.263    26916300.164    26916292.476  
+ 02  1 11  4 47  4.0000000  0  1G31
+     68830.977 9     53634.842 8  26922840.720    26922848.254    26922840.930  
+ 02  1 11  4 47  5.0000000  0  1G31
+    103238.954 9     80446.466 8  26929388.177    26929395.663    26929388.354  
+ 02  1 11  4 47  6.0000000  0  1G31
+    137640.738 9    107253.176 8  26935934.458    26935942.031    26935934.602  
+ 02  1 11  4 47  7.0000000  0  1G31
+    172037.654 9    134056.061 8  26942479.797    26942487.437    26942480.257  
+ 02  1 11  4 47  8.0000000  0  1G31
+    206429.751 9    160855.203 8  26949024.407    26949031.887    26949024.592  
+ 02  1 11  4 47  9.0000000  0  1G31
+    240816.336 9    187650.045 8  26955568.020    26955575.237    26955568.027  
+ 02  1 11  4 47 10.0000000  0  1G31
+    275197.896 9    214441.012 8  26962110.517    26962117.800    26962110.747  
+ 02  1 11  4 47 11.0000000  0  1G31
+    309573.562 9    241227.415 8  26968651.833    26968659.033    26968651.766  
+ 02  1 11  4 47 12.0000000  0  1G31
+    343944.255 9    268009.939 8  26975192.172    26975199.359    26975192.224  
+ 02  1 11  4 47 13.0000000  0  1G31
+    378309.603 9    294788.263 8  26981731.577    26981738.792    26981731.921  
+ 02  1 11  4 47 14.0000000  0  1G31
+    412669.571 9    321562.392 8  26988269.966    26988277.154    26988270.157  
+ 02  1 11  4 47 15.0000000  0  1G31
+    447024.429 9    348332.540 8  26994807.275    26994814.516    26994807.669  
+ 02  1 11  4 47 16.0000000  0  1G31
+    481373.167 9    375097.979 8  27001343.605    27001350.702    27001343.832  
+ 02  1 11  4 47 17.0000000  0  1G31
+    515716.741 9    401859.384 8  27007878.864    27007885.903    27007878.999  
+ 02  1 11  4 47 18.0000000  0  1G31
+    550055.522 9    428617.071 8  27014412.980    27014420.322    27014413.331  
+ 02  1 11  4 47 19.0000000  0  1G31
+    584388.793 9    455370.460 8  27020946.275    27020953.463    27020946.555  
+ 02  1 11  4 47 20.0000000  0  1G31
+    618716.577 9    482119.543 8  27027478.576    27027485.714    27027478.782  
+ 02  1 11  4 47 21.0000000  0  1G31
+    653038.290 9    508863.916 8  27034009.742    27034016.578    27034009.858  
+ 02  1 11  4 47 22.0000000  0  1G31
+    687355.048 9    535604.390 8  27040539.821    27040546.626    27040540.192  
+ 02  1 11  4 47 23.0000000  0  1G31
+    721665.489 9    562339.835 8  27047068.751    27047075.787    27047069.151  
+ 02  1 11  4 47 24.0000000  0  1G31
+    755970.350 9    589071.042 8  27053596.774    27053603.648    27053597.051  
+ 02  1 11  4 47 25.0000000  0  1G31
+    790269.634 9    615797.906 8  27060123.589    27060130.329    27060123.847  
+ 02  1 11  4 47 26.0000000  0  1G31
+    824562.394 9    642519.616 8  27066649.258    27066656.012    27066649.589  
+ 02  1 11  4 47 27.0000000  0  1G31
+    858849.754 9    669237.199 8  27073173.880    27073180.487    27073173.943  
+ 02  1 11  4 47 28.0000000  0  1G31
+    893131.412 9    695950.395 8  27079697.191    27079703.759    27079697.389  
+ 02  1 11  4 47 29.0000000  0  1G31
+    927407.719 9    722659.403 8  27086219.576    27086226.234    27086219.762  
+ 02  1 11  4 47 30.0000000  0  1G31
+    961678.525 9    749364.123 8  27092741.008    27092747.530    27092741.099  
+ 02  1 11  4 47 31.0000000  0  1G31
+    995942.878 9    776063.826 8  27099261.023    27099267.796    27099261.229  
+ 02  1 11  4 47 32.0000000  0  1G31
+   1030201.153 9    802758.727 8  27105780.134    27105786.548    27105780.316  
+ 02  1 11  4 47 33.0000000  0  1G31
+   1064453.938 9    829449.336 8  27112298.150    27112304.500    27112298.338  
+ 02  1 11  4 47 34.0000000  0  1G31
+   1098701.258 9    856135.714 8  27118814.960    27118821.450    27118815.295  
+ 02  1 11  4 47 35.0000000  0  1G31
+   1132942.457 9    882817.264 8  27125330.877    27125337.244    27125331.164  
+ 02  1 11  4 47 36.0000000  0  1G31
+   1167176.781 9    909493.462 8  27131845.230    27131851.687    27131845.494  
+ 02  1 11  4 47 37.0000000  0  1G31
+   1201394.723 9    936156.888 8  27138356.898    27138363.129    27138356.949  
+ 02  1 11  4 47 38.0000000  0  1G31
+   1235603.473 9    962813.208 8  27144866.418    27144872.564    27144866.324  
+ 02  1 11  4 47 39.0000000  0  1G31
+   1269805.555 9    989464.286 8  27151374.660    27151380.859    27151375.001  
+ 02  1 11  4 47 40.0000000  0  1G31
+   1304001.237 9   1016110.274 8  27157881.995    27157888.247    27157882.111  
+ 02  1 11  4 47 41.0000000  0  1G31
+   1338189.977 9   1042750.871 8  27164387.852    27164394.013    27164388.168  
+ 02  1 11  4 47 42.0000000  0  1G31
+   1372372.970 9   1069387.021 8  27170892.581    27170898.716    27170892.847  
+ 02  1 11  4 47 43.0000000  0  1G31
+   1406550.348 9   1096018.821 8  27177396.205    27177402.356    27177396.308  
+ 02  1 11  4 47 44.0000000  0  1G31
+   1440721.481 9   1122645.724 8  27183898.725    27183905.027    27183899.004  
+ 02  1 11  4 47 45.0000000  0  1G31
+   1474886.086 9   1149267.533 8  27190399.995    27190406.219    27190400.305  
+ 02  1 11  4 47 46.0000000  0  1G31
+   1509043.526 9   1175883.776 8  27196900.060    27196906.061    27196900.322  
+ 02  1 11  4 47 47.0000000  0  1G31
+   1543195.410 9   1202495.680 8  27203398.746    27203405.017    27203399.277  
+ 02  1 11  4 47 48.0000000  0  1G31
+   1577341.158 9   1229102.820 8  27209896.437    27209902.554    27209896.662  
+ 02  1 11  4 47 49.0000000  0  1G31
+   1611480.627 9   1255705.024 8  27216393.010    27216398.984    27216393.145  
+ 02  1 11  4 47 50.0000000  0  1G31
+   1645613.940 9   1282302.379 8  27222888.346    27222894.566    27222888.629  
+ 02  1 11  4 47 51.0000000  0  1G31
+   1679740.855 9   1308894.792 8  27229382.452    27229388.740    27229382.741  
+ 02  1 11  4 47 52.0000000  0  1G31
+   1713861.290 9   1335482.061 8  27235875.356    27235881.689    27235875.670  
+ 02  1 11  4 47 53.0000000  0  1G31
+   1747975.116 9   1362064.140 8  27242367.242    27242373.390    27242367.209  
+ 02  1 11  4 47 54.0000000  0  1G31
+   1782083.106 9   1388641.814 8  27248857.614    27248863.956    27248857.887  
+ 02  1 11  4 47 55.0000000  0  1G31
+   1816184.439 9   1415214.339 8  27255346.848    27255352.938    27255347.096  
+ 02  1 11  4 47 56.0000000  0  1G31
+   1850278.868 9   1441781.488 8  27261834.805    27261841.017    27261835.093  
+ 02  1 11  4 47 57.0000000  0  1G31
+   1884366.938 9   1468343.636 8  27268321.597    27268327.860    27268321.734  
+ 02  1 11  4 47 58.0000000  0  1G31
+   1918449.001 9   1494901.133 8  27274807.028    27274813.322    27274807.404  
+ 02  1 11  4 47 59.0000000  0  1G31
+   1952524.662 9   1521453.656 8  27281291.457    27281297.644    27281291.597  
+ 02  1 11  4 48  0.0000000  0  1G31
+   1986593.453 9   1548000.804 8  27287774.434    27287780.527    27287774.739  
+ 02  1 11  4 48  1.0000000  0  1G31
+   2020655.601 9   1574542.826 8  27294256.349    27294262.442    27294256.477  
+ 02  1 11  4 48  2.0000000  0  1G31
+   2054711.099 9   1601079.691 8  27300736.828    27300742.803    27300736.769  
+ 02  1 11  4 48  3.0000000  0  1G31
+   2088759.537 9   1627611.073 8  27307215.842    27307221.867    27307215.868  
+ 02  1 11  4 48  4.0000000  0  1G31
+   2122801.274 9   1654137.270 8  27313693.653    27313699.561    27313693.659  
+ 02  1 11  4 48  5.0000000  0  1G31
+   2156836.588 9   1680658.490 8  27320170.198    27320176.145    27320170.411  
+ 02  1 11  4 48  6.0000000  0  1G31
+   2190864.669 9   1707174.123 8  27326645.423    27326651.256    27326645.565  
+ 02  1 11  4 48  7.0000000  0  1G31
+   2224885.696 9   1733684.095 8  27333119.288    27333125.082    27333119.604  
+ 02  1 11  4 48  8.0000000  0  1G31
+   2258899.599 9   1760188.403 8  27339592.000    27339597.755    27339592.115  
+ 02  1 11  4 48  9.0000000  0  1G31
+   2292906.757 9   1786687.506 8  27346063.255    27346069.044    27346063.363  
+ 02  1 11  4 48 10.0000000  0  1G31
+   2326907.079 9   1813181.228 8  27352533.235    27352539.087    27352533.493  
+ 02  1 11  4 48 11.0000000  0  1G31
+   2360900.097 9   1839669.190 8  27359001.926    27359007.927    27359002.283  
+ 02  1 11  4 48 12.0000000  0  1G31
+   2394886.820 9   1866152.260 8  27365469.612    27365475.523    27365469.854  
+ 02  1 11  4 48 13.0000000  0  1G31
+   2428866.043 9   1892629.466 8  27371935.794    27371941.769    27371935.871  
+ 02  1 11  4 48 14.0000000  0  1G31
+   2462838.356 9   1919101.298 8  27378400.475    27378406.542    27378400.600  
+ 02  1 11  4 48 15.0000000  0  1G31
+   2496803.266 9   1945567.375 8  27384863.823    27384869.872    27384864.104  
+ 02  1 11  4 48 16.0000000  0  1G31
+   2530761.038 9   1972027.933 8  27391325.853    27391331.796    27391326.033  
+ 02  1 11  4 48 17.0000000  0  1G31
+   2564712.370 9   1998483.454 8  27397786.578    27397792.647    27397786.943  
+ 02  1 11  4 48 18.0000000  0  1G31
+   2598656.899 9   2024933.625 8  27404246.202    27404252.238    27404246.414  
+ 02  1 11  4 48 19.0000000  0  1G31
+   2632594.286 9   2051378.213 8  27410704.265    27410710.540    27410704.628  
+ 02  1 11  4 48 20.0000000  0  1G31
+   2666524.268 9   2077817.097 8  27417160.964    27417167.207    27417161.215  
+ 02  1 11  4 48 21.0000000  0  1G31
+   2700446.662 9   2104250.142 8  27423616.277    27423622.453    27423616.421  
+ 02  1 11  4 48 22.0000000  0  1G31
+   2734362.153 9   2130677.712 8  27430070.161    27430076.384    27430070.409  
+ 02  1 11  4 48 23.0000000  0  1G31
+   2768269.831 9   2157099.126 8  27436522.626    27436528.876    27436522.803  
+ 02  1 11  4 48 24.0000000  0  1G31
+   2802170.081 9   2183514.816 8  27442973.736    27442979.805    27442974.035  
+ 02  1 11  4 48 25.0000000  0  1G31
+   2836062.913 9   2209924.786 8  27449423.450    27449429.554    27449423.668  
+ 02  1 11  4 48 26.0000000  0  1G31
+   2869947.531 9   2236328.349 8  27455871.435    27455877.565    27455871.648  
+ 02  1 11  4 48 27.0000000  0  1G31
+   2903825.295 9   2262726.674 8  27462318.101    27462324.201    27462318.423  
+ 02  1 11  4 48 28.0000000  0  1G31
+   2937695.416 9   2289119.014 8  27468763.258    27468769.633    27468763.634  
+ 02  1 11  4 48 29.0000000  0  1G31
+   2971557.643 9   2315505.154 8  27475207.177    27475213.337    27475207.457  
+ 02  1 11  4 48 30.0000000  0  1G31
+   3005411.477 9   2341884.548 8  27481649.452    27481655.530    27481649.558  
+ 02  1 11  4 48 31.0000000  0  1G31
+   3039257.258 9   2368257.645 8  27488090.352    27488096.451    27488090.414  
+ 02  1 11  4 48 32.0000000  0  1G31
+   3073096.465 9   2394625.731 8  27494529.702    27494536.138    27494529.969  
+ 02  1 11  4 48 33.0000000  0  1G31
+   3106927.995 9   2420987.845 8  27500967.665    27500974.099    27500967.951  
+ 02  1 11  4 48 34.0000000  0  1G31
+   3140751.680 9   2447343.845 8  27507404.290    27507410.685    27507404.567  
+ 02  1 11  4 48 35.0000000  0  1G31
+   3174567.434 9   2473693.639 8  27513839.305    27513845.605    27513839.561  
+ 02  1 11  4 48 36.0000000  0  1G31
+   3208374.355 9   2500036.628 8  27520272.776    27520279.085    27520272.898  
+ 02  1 11  4 48 37.0000000  0  1G31
+   3242173.867 9   2526373.817 8  27526704.552    27526710.979    27526704.828  
+ 02  1 11  4 48 38.0000000  0  1G31
+   3275965.814 9   2552705.061 8  27533135.045    27533141.497    27533135.296  
+ 02  1 11  4 48 39.0000000  0  1G31
+   3309749.880 9   2579030.066 8  27539564.137    27539570.670    27539564.305  
+ 02  1 11  4 48 40.0000000  0  1G31
+   3343525.455 9   2605348.429 8  27545991.614    27545998.272    27545991.773  
+ 02  1 11  4 48 41.0000000  0  1G31
+   3377293.299 9   2631660.941 8  27552417.434    27552424.023    27552417.539  
+ 02  1 11  4 48 42.0000000  0  1G31
+   3411053.110 9   2657967.185 8  27558841.825    27558848.485    27558842.197  
+ 02  1 11  4 48 43.0000000  0  1G31
+   3444804.762 9   2684267.000 8  27565264.729    27565271.452    27565264.900  
+ 02  1 11  4 48 44.0000000  0  1G31
+   3478548.073 9   2710560.337 8  27571685.905    27571692.684    27571686.049  
+ 02  1 11  4 48 45.0000000  0  1G31
+   3512283.617 9   2736847.717 8  27578105.594    27578112.441    27578105.855  
+ 02  1 11  4 48 46.0000000  0  1G31
+   3546010.522 9   2763128.347 8  27584523.620    27584530.466    27584523.985  
+ 02  1 11  4 48 47.0000000  0  1G31
+   3579729.031 9   2789402.364 8  27590940.288    27590947.104    27590940.450  
+ 02  1 11  4 48 48.0000000  0  1G31
+   3613439.566 9   2815670.198 8  27597355.298    27597361.987    27597355.521  
+ 02  1 11  4 48 49.0000000  0  1G31
+   3647142.001 9   2841931.861 8  27603768.605    27603775.350    27603768.754  
+ 02  1 11  4 48 50.0000000  0  1G31
+   3680836.614 9   2868187.446 8  27610180.385    27610187.229    27610180.489  
+ 02  1 11  4 48 51.0000000  0  1G31
+   3714521.798 9   2894435.709 8  27616590.458    27616597.174    27616590.637  
+ 02  1 11  4 48 52.0000000  0  1G31
+   3748198.525 9   2920677.355 8  27622998.902    27623005.599    27622998.968  
+ 02  1 11  4 48 53.0000000  0  1G31
+   3781867.190 9   2946912.843 8  27629405.732    27629412.499    27629405.836  
+ 02  1 11  4 48 54.0000000  0  1G31
+   3815527.138 9   2973141.634 8  27635810.803    27635817.578    27635810.959  
+ 02  1 11  4 49 22.0000000  0  1G31
+     33398.700 9     26025.350 7  27814399.352    27814408.131    27814399.478  
+ 02  1 11  4 49 23.0000000  0  1G31
+     66790.649 9     52044.829 7  27820753.520    27820761.167    27820753.568  
+ 02  1 11  4 49 24.0000000  0  1G31
+    100175.547 9     78059.070 8  27827106.459    27827111.873    27827106.598  
+ 02  1 11  4 49 25.0000000  0  1G31
+    133554.033 9    104068.290 8  27833457.921    27833463.546    27833458.204  
+ 02  1 11  4 49 26.0000000  0  1G31
+    166926.083 9    130072.470 7  27839808.498    27839813.853    27839808.965  
+ 02  1 11  4 49 27.0000000  0  1G31
+    200293.111 9    156072.728 7  27846158.017    27846163.384    27846158.370  
+ 02  1 11  4 49 28.0000000  0  1G31
+    233656.266 9    182070.052 7  27852506.675    27852512.305    27852507.185  
+ 02  1 11  4 49 29.0000000  0  1G31
+    267015.365 9    208064.170 7  27858854.871    27858860.484    27858855.071  
+ 02  1 11  4 49 30.0000000  0  1G31
+    300370.775 8    234055.394 7  27865201.952    27865207.446    27865202.477  
+ 02  1 11  4 49 31.0000000  0  1G31
+    333722.156 8    260043.500 7  27871548.498    27871554.155    27871548.695  
+ 02  1 11  4 49 32.0000000  0  1G31
+    367071.516 8    286029.991 7  27877894.609    27877900.312    27877895.048  
+ 02  1 11  4 49 33.0000000  0  1G31
+    400418.342 8    312014.506 7  27884240.631    27884245.733    27884240.684  
+ 02  1 11  4 49 34.0000000  0  1G31
+    433763.320 8    337997.418 6  27890585.765    27890590.916    27890586.178  
+ 02  1 11  4 49 35.0000000  0  1G31
+    467106.887 8    363979.301 6  27896930.712    27896936.683    27896931.234  
+ 02  1 11  4 49 36.0000000  0  1G31
+    500448.806 8    389959.966 6  27903275.769    27903281.628    27903276.338  
+ 02  1 11  4 49 37.0000000  0  1G31
+    533790.497 8    415940.445 6  27909620.519    27909626.437    27909621.114  
+ 02  1 11  4 49 38.0000000  0  1G31
+    567130.934 8    441919.862 6  27915965.086    27915971.509    27915965.394  
+ 02  1 11  4 49 39.0000000  0  1G31
+    600471.572 8    467899.498 6  27922309.649    27922316.043    27922310.155  
+ 02  1 11  4 49 40.0000000  0  1G31
+    633810.897 8    493878.078 6  27928654.469    27928660.119    27928654.181  
+ 02  1 11  4 49 41.0000000  0  1G31
+    667148.190 8    519855.120 6  27934998.786    27935004.563    27934998.054  
+ 02  1 11  4 49 42.0000000  0  1G31
+    700484.430 8    545831.355 6  27941341.852    27941347.862    27941342.396  
+ 02  1 11  4 49 43.0000000  0  1G31
+    733818.169 8    571805.583 6  27947685.091    27947690.904    27947685.314  
+ 02  1 11  4 49 44.0000000  0  1G31
+    767150.358 8    597778.528 6  27954027.850    27954034.359    27954028.856  
+ 02  1 11  4 49 45.0000000  0  1G31
+    800481.906 8    623750.998 6  27960370.792    27960377.255    27960371.247  
+ 02  1 11  4 49 46.0000000  0  1G31
+    833812.525 8    649722.754 6  27966714.084    27966720.114    27966714.018  
+ 02  1 11  4 49 47.0000000  0  1G31
+    867143.335 8    675694.607 6  27973056.392    27973062.944    27973057.283  
+ 02  1 11  4 49 48.0000000  0  1G31
+    900474.837 8    701667.101 5  27979399.203    27979403.422    27979399.430  
+ 02  1 11  4 49 49.0000000  0  1G31
+    933806.653 8    727639.840 6  27985742.660    27985747.655    27985742.588  
+ 02  1 11  4 49 50.0000000  0  1G31
+    967137.400 7    753611.679 4  27992086.125    27992091.620    27992086.462  
+ 02  1 11  4 49 51.0000000  0  1G31
+   1000467.961 6    779583.431 2  27998432.903    27998433.642    27998429.597  
+ 02  1 11  4 49 52.0000000  0  1G31
+   1033798.049 6    805551.951 2  28004777.493    28004773.426    28004771.496  
+ 02  1 11  4 49 53.0000000  0  1G31
+   1067127.691 6    831525.941 2  28011131.295    28011109.807    28011120.376  
+ 02  1 11  4 49 54.0000000  0  1G31
+   1100457.017 6    857510.986 2  28017499.383    28017449.717    28017460.942  
+ 02  1 11  4 49 55.0000000  0  1G31
+   1133786.082 6    883520.273 2  28023864.754    28023795.310    28023797.203  
+ 02  1 11  4 49 56.0000000  0  1G31
+   1167114.817 6    909513.092 2  28030206.810    28030138.677    28030144.092  
+ 02  1 11  4 49 57.0000000  0  1G31
+   1200443.252 6    935475.924 2  28036556.577    28036473.647    28036496.310  
+ 02  1 11  4 49 58.0000000  0  1G31
+   1233771.424 6    961404.172 2  28042876.725    28042804.639    28042847.537  
+ 02  1 11  4 49 59.0000000  0  1G31
+   1267099.196 6    987290.285 2  28049214.600    28049138.565    28049183.374  
+ 02  1 11  8 18 56.0000000  0  1G31
+        -0.497 8        -0.190 7  27317334.717    27317363.261    27317334.464  
+ 02  1 11  8 18 57.0000000  0  1G31
+     20371.091 8     15874.220 7  27321211.171    27321239.654    27321210.553  
+ 02  1 11  8 18 58.0000000  0  1G31
+     40739.395 8     31746.038 7  27325087.212    27325114.942    27325086.413  
+ 02  1 11  8 18 59.0000000  0  1G31
+     61105.932 8     47616.490 7  27328961.732    27328990.113    27328962.119  
+ 02  1 11  8 19  0.0000000  0  1G31
+     81471.315 8     63486.043 7  27332836.815    27332865.283    27332836.893  
+ 02  1 11  8 19  1.0000000  0  1G31
+    101834.063 8     79353.541 7  27336711.743    27336739.412    27336711.753  
+ 02  1 11  8 19  2.0000000  0  1G31
+    122193.971 8     95218.833 7  27340585.741    27340613.118    27340585.696  
+ 02  1 11  8 19  3.0000000  0  1G31
+    142551.220 8    111082.042 7  27344459.109    27344487.039    27344459.193  
+ 02  1 11  8 19  4.0000000  0  1G31
+    162905.839 8    126943.213 7  27348332.413    27348360.113    27348332.254  
+ 02  1 11  8 19  5.0000000  0  1G31
+    183257.816 8    142802.332 7  27352205.040    27352232.469    27352204.950  
+ 02  1 11  8 19  6.0000000  0  1G31
+    203606.771 8    158659.092 7  27356077.206    27356104.384    27356076.923  
+ 02  1 11  8 19  7.0000000  0  1G31
+    223952.905 8    174513.669 7  27359948.309    27359975.376    27359948.531  
+ 02  1 11  8 19  8.0000000  0  1G31
+    244296.424 8    190366.207 7  27363819.181    27363846.208    27363819.029  
+ 02  1 11  8 19  9.0000000  0  1G31
+    264636.769 8    206216.266 7  27367689.671    27367716.161    27367689.553  
+ 02  1 11  8 19 10.0000000  0  1G31
+    284972.288 8    222062.574 7  27371559.128    27371585.982    27371559.303  
+ 02  1 11  8 19 11.0000000  0  1G31
+    305305.613 8    237907.177 7  27375427.796    27375454.705    27375427.884  
+ 02  1 11  8 19 12.0000000  0  1G31
+    325637.286 8    253750.491 7  27379296.709    27379322.891    27379296.172  
+ 02  1 11  8 19 13.0000000  0  1G31
+    345966.015 8    269591.521 7  27383164.314    27383191.214    27383164.698  
+ 02  1 11  8 19 14.0000000  0  1G31
+    366291.864 8    285430.303 7  27387031.784    27387058.551    27387032.002  
+ 02  1 11  8 19 15.0000000  0  1G31
+    386614.940 8    301266.922 7  27390899.293    27390925.192    27390899.164  
+ 02  1 11  8 19 16.0000000  0  1G31
+    406934.250 8    317100.603 7  27394765.266    27394791.927    27394764.916  
+ 02  1 11  8 19 17.0000000  0  1G31
+    427251.471 8    332932.666 7  27398631.037    27398657.029    27398630.809  
+ 02  1 11  8 19 18.0000000  0  1G31
+    447565.459 8    348762.202 7  27402496.495    27402522.237    27402496.677  
+ 02  1 11  8 19 19.0000000  0  1G31
+    467876.629 8    364589.548 7  27406360.965    27406387.019    27406360.859  
+ 02  1 11  8 19 20.0000000  0  1G31
+    488184.644 8    380414.438 7  27410225.192    27410250.944    27410225.040  
+ 02  1 11  8 19 21.0000000  0  1G31
+    508489.380 8    396236.763 7  27414088.514    27414114.831    27414088.798  
+ 02  1 11  8 19 22.0000000  0  1G31
+    528790.908 8    412056.593 7  27417951.887    27417976.936    27417951.306  
+ 02  1 11  8 19 23.0000000  0  1G31
+    549087.791 8    427872.810 7  27421813.487    27421838.941    27421813.431  
+ 02  1 11  8 19 24.0000000  0  1G31
+    569382.738 8    443687.504 7  27425675.128    27425700.497    27425675.383  
+ 02  1 11  8 19 25.0000000  0  1G31
+    589675.735 8    459500.677 7  27429536.930    27429562.167    27429536.735  
+ 02  1 11  8 19 26.0000000  0  1G31
+    609965.648 8    475311.455 7  27433397.490    27433422.855    27433397.449  
+ 02  1 11  8 19 27.0000000  0  1G31
+    630252.722 8    491120.007 7  27437257.294    27437282.430    27437257.259  
+ 02  1 11  8 19 28.0000000  0  1G31
+    650537.321 8    506926.630 7  27441117.065    27441142.452    27441117.137  
+ 02  1 11  8 19 29.0000000  0  1G31
+    670818.715 8    522730.752 7  27444976.348    27445001.483    27444976.576  
+ 02  1 11  8 19 30.0000000  0  1G31
+    691096.517 8    538532.081 7  27448834.580    27448859.886    27448834.890  
+ 02  1 11  8 19 31.0000000  0  1G31
+    711370.692 8    554330.581 7  27452692.612    27452716.701    27452692.490  
+ 02  1 11  8 19 32.0000000  0  1G31
+    731642.537 8    570127.250 7  27456550.038    27456574.024    27456550.071  
+ 02  1 11  8 19 33.0000000  0  1G31
+    751910.859 8    585921.188 7  27460406.946    27460430.372    27460406.607  
+ 02  1 11  8 19 34.0000000  0  1G31
+    772175.155 8    601711.973 7  27464261.646    27464286.634    27464262.301  
+ 02  1 11  8 19 35.0000000  0  1G31
+    792434.579 8    617498.967 7  27468116.742    27468141.213    27468117.344  
+ 02  1 11  8 19 36.0000000  0  1G31
+    812691.175 8    633283.749 7  27471971.569    27471996.136    27471971.369  
+ 02  1 11  8 19 37.0000000  0  1G31
+    832945.956 8    649067.122 7  27475825.534    27475849.246    27475825.714  
+ 02  1 11  8 19 38.0000000  0  1G31
+    853197.645 8    664848.083 7  27479678.519    27479702.769    27479678.739  
+ 02  1 11  8 19 39.0000000  0  1G31
+    873446.045 8    680626.471 7  27483531.397    27483555.266    27483531.635  
+ 02  1 11  8 19 40.0000000  0  1G31
+    893690.948 8    696402.131 7  27487383.323    27487407.813    27487384.124  
+ 02  1 11  8 19 41.0000000  0  1G31
+    913932.094 8    712174.859 7  27491235.402    27491259.059    27491235.236  
+ 02  1 11  8 19 42.0000000  0  1G31
+    934170.526 8    727945.475 7  27495086.408    27495109.561    27495086.427  
+ 02  1 11  8 19 43.0000000  0  1G31
+    954405.679 8    743713.520 7  27498936.760    27498960.166    27498936.788  
+ 02  1 11  8 19 44.0000000  0  1G31
+    974637.781 8    759479.185 7  27502786.149    27502810.424    27502786.446  
+ 02  1 11  8 19 45.0000000  0  1G31
+    994866.326 8    775242.075 7  27506635.304    27506659.021    27506635.560  
+ 02  1 11  8 19 46.0000000  0  1G31
+   1015090.627 8    791001.643 7  27510484.025    27510506.418    27510483.710  
+ 02  1 11  8 19 47.0000000  0  1G31
+   1035309.987 8    806757.360 7  27514331.604    27514353.657    27514331.250  
+ 02  1 11  8 19 48.0000000  0  1G31
+   1055527.331 8    822511.500 7  27518177.969    27518200.872    27518178.426  
+ 02  1 11  8 19 49.0000000  0  1G31
+   1075741.793 8    838263.384 7  27522024.486    27522046.859    27522024.525  
+ 02  1 11  8 19 50.0000000  0  1G31
+   1095952.310 8    854012.187 7  27525870.434    27525892.639    27525870.264  
+ 02  1 11  8 19 51.0000000  0  1G31
+   1116158.866 8    869757.903 7  27529714.755    27529737.493    27529715.066  
+ 02  1 11  8 19 52.0000000  0  1G31
+   1136362.527 8    885501.351 7  27533559.031    27533582.192    27533559.240  
+ 02  1 11  8 19 53.0000000  0  1G31
+   1156562.509 8    901241.925 7  27537403.032    27537425.363    27537402.912  
+ 02  1 11  8 19 54.0000000  0  1G31
+   1176759.202 8    916979.926 7  27541246.476    27541268.290    27541246.032  
+ 02  1 11  8 19 55.0000000  0  1G31
+   1196952.283 8    932715.106 7  27545088.700    27545110.787    27545088.707  
+ 02  1 11  8 19 56.0000000  0  1G31
+   1217141.557 8    948447.318 7  27548929.760    27548952.422    27548930.180  
+ 02  1 11  8 19 57.0000000  0  1G31
+   1237327.361 8    964176.823 7  27552770.672    27552793.326    27552771.400  
+ 02  1 11  8 19 58.0000000  0  1G31
+   1257509.597 8    979903.536 7  27556611.219    27556633.544    27556611.928  
+ 02  1 11  8 19 59.0000000  0  1G31
+   1277686.853 8    995626.358 7  27560450.771    27560473.107    27560450.892  
+ 02  1 11  8 20  0.0000000  0  1G31
+   1297861.033 8   1011346.783 7  27564289.990    27564311.645    27564290.109  
+ 02  1 11  8 20  1.0000000  0  1G31
+   1318032.370 8   1027064.983 7  27568128.373    27568149.618    27568127.812  
+ 02  1 11  8 20  2.0000000  0  1G31
+   1338200.713 8   1042780.852 7  27571965.956    27571987.369    27571965.708  
+ 02  1 11  8 20  3.0000000  0  1G31
+   1358365.351 8   1058493.817 7  27575802.183    27575824.501    27575802.436  
+ 02  1 11  8 20  4.0000000  0  1G31
+   1378526.473 8   1074204.043 7  27579638.880    27579660.806    27579638.835  
+ 02  1 11  8 20  5.0000000  0  1G31
+   1398684.034 8   1089911.490 7  27583474.822    27583496.122    27583474.264  
+ 02  1 11  8 20  6.0000000  0  1G31
+   1418835.866 8   1105614.468 7  27587309.303    27587330.954    27587309.409  
+ 02  1 11  8 20  7.0000000  0  1G31
+   1438973.878 8   1121306.671 7  27591141.249    27591163.224    27591141.398  
+ 02  1 11  8 20  8.0000000  0  1G31
+   1459104.636 8   1136993.219 7  27594971.644    27594993.231    27594971.651  
+ 02  1 11  8 20  9.0000000  0  1G31
+   1479231.100 8   1152676.414 7  27598801.297    27598822.077    27598801.690  
+ 02  1 11  8 20 10.0000000  0  1G31
+   1499353.384 8   1168356.353 7  27602630.390    27602651.569    27602630.516  
+ 02  1 11  8 20 11.0000000  0  1G31
+   1519470.621 8   1184032.341 7  27606458.658    27606480.078    27606458.992  
+ 02  1 11  8 20 12.0000000  0  1G31
+   1539584.989 8   1199706.097 7  27610286.231    27610307.345    27610286.158  
+ 02  1 11  8 20 13.0000000  0  1G31
+   1559696.943 8   1215377.968 7  27614112.792    27614134.209    27614113.314  
+ 02  1 11  8 20 14.0000000  0  1G31
+   1579804.751 8   1231046.609 7  27617939.319    27617960.484    27617939.811  
+ 02  1 11  8 20 15.0000000  0  1G31
+   1599908.547 8   1246712.119 7  27621764.641    27621785.773    27621764.865  
+ 02  1 11  8 20 16.0000000  0  1G31
+   1620007.824 8   1262374.102 7  27625589.196    27625610.092    27625589.368  
+ 02  1 11  8 20 17.0000000  0  1G31
+   1640103.377 8   1278033.181 7  27629412.877    27629433.948    27629412.828  
+ 02  1 11  8 20 18.0000000  0  1G31
+   1660195.721 8   1293689.757 7  27633236.427    27633257.456    27633236.853  
+ 02  1 11  8 20 19.0000000  0  1G31
+   1680284.162 8   1309343.286 7  27637059.117    27637080.044    27637058.992  
+ 02  1 11  8 20 20.0000000  0  1G31
+   1700368.183 8   1324993.372 7  27640880.713    27640901.720    27640880.853  
+ 02  1 11  8 20 21.0000000  0  1G31
+   1720447.747 8   1340639.993 7  27644701.621    27644722.125    27644701.744  
+ 02  1 11  8 20 22.0000000  0  1G31
+   1740523.718 8   1356283.799 7  27648521.928    27648542.500    27648521.929  
+ 02  1 11  8 20 23.0000000  0  1G31
+   1760594.198 8   1371923.324 7  27652340.508    27652361.522    27652340.819  
+ 02  1 11  8 20 24.0000000  0  1G31
+   1780661.765 8   1387560.579 7  27656159.567    27656180.205    27656159.700  
+ 02  1 11  8 20 25.0000000  0  1G31
+   1800726.158 8   1403195.360 7  27659977.283    27659997.956    27659977.466  
+ 02  1 11  8 20 26.0000000  0  1G31
+   1820785.994 8   1418826.590 7  27663794.808    27663815.501    27663794.742  
+ 02  1 11  8 20 27.0000000  0  1G31
+   1840842.395 8   1434455.136 7  27667610.939    27667631.750    27667611.355  
+ 02  1 11  8 20 28.0000000  0  1G31
+   1860895.145 8   1450080.841 7  27671426.929    27671447.478    27671426.774  
+ 02  1 11  8 20 29.0000000  0  1G31
+   1880944.065 8   1465703.560 7  27675240.978    27675262.137    27675241.583  
+ 02  1 11  8 20 30.0000000  0  1G31
+   1900988.838 8   1481323.038 7  27679055.741    27679076.452    27679056.449  
+ 02  1 11  8 20 31.0000000  0  1G31
+   1921029.206 8   1496939.089 7  27682869.833    27682889.770    27682869.805  
+ 02  1 11  8 20 32.0000000  0  1G31
+   1941065.774 8   1512552.174 7  27686682.107    27686702.449    27686682.387  
+ 02  1 11  8 20 33.0000000  0  1G31
+   1961098.527 8   1528162.288 7  27690494.074    27690514.623    27690494.516  
+ 02  1 11  8 20 34.0000000  0  1G31
+   1981127.498 8   1543769.446 7  27694304.661    27694325.982    27694305.607  
+ 02  1 11  8 20 35.0000000  0  1G31
+   2001152.927 8   1559373.848 7  27698115.632    27698136.392    27698116.076  
+ 02  1 11 10  8 28.0000000  0  1G31
+        -0.904 9        -0.708 8  27275674.697    27275683.439    27275675.087  
+ 02  1 11 10  8 29.0000000  0  1G31
+     31266.887 9     24363.878 8  27281624.943    27281633.675    27281625.117  
+ 02  1 11 10  8 30.0000000  0  1G31
+     62533.256 9     48727.312 8  27287574.712    27287583.660    27287574.811  
+ 02  1 11 10  8 31.0000000  0  1G31
+     93798.114 9     73089.590 8  27293524.036    27293532.865    27293524.162  
+ 02  1 11 10  8 32.0000000  0  1G31
+    125061.782 9     97450.978 8  27299473.242    27299482.113    27299473.479  
+ 02  1 11 10  8 33.0000000  0  1G31
+    156323.866 9    121811.000 8  27305422.410    27305431.055    27305422.128  
+ 02  1 11 10  8 34.0000000  0  1G31
+    187583.779 9    146169.138 8  27311370.807    27311379.582    27311370.992  
+ 02  1 11 10  8 35.0000000  0  1G31
+    218842.765 9    170526.710 8  27317319.394    27317328.121    27317319.502  
+ 02  1 11 10  8 36.0000000  0  1G31
+    250100.048 9    194883.001 8  27323267.485    27323276.335    27323267.768  
+ 02  1 11 10  8 37.0000000  0  1G31
+    281356.020 9    219238.273 8  27329215.250    27329224.163    27329215.857  
+ 02  1 11 10  8 38.0000000  0  1G31
+    312610.765 9    243592.609 8  27335163.041    27335171.783    27335163.046  
+ 02  1 11 10  8 39.0000000  0  1G31
+    343864.031 9    267945.762 8  27341110.375    27341119.097    27341110.370  
+ 02  1 11 10  8 40.0000000  0  1G31
+    375115.853 9    292297.726 8  27347057.397    27347066.291    27347057.392  
+ 02  1 11 10  8 41.0000000  0  1G31
+    406365.763 9    316648.183 8  27353003.997    27353013.017    27353004.256  
+ 02  1 11 10  8 42.0000000  0  1G31
+    437614.331 9    340997.618 8  27358950.780    27358959.491    27358950.654  
+ 02  1 11 10  8 43.0000000  0  1G31
+    468861.263 9    365345.798 8  27364896.880    27364905.693    27364896.911  
+ 02  1 11 10  8 44.0000000  0  1G31
+    500105.836 9    389692.136 8  27370842.826    27370851.632    27370842.808  
+ 02  1 11 10  8 45.0000000  0  1G31
+    531348.370 9    414036.861 8  27376787.810    27376796.864    27376787.881  
+ 02  1 11 10  8 46.0000000  0  1G31
+    562588.724 9    438379.899 8  27382732.880    27382741.891    27382733.104  
+ 02  1 11 10  8 47.0000000  0  1G31
+    593826.848 9    462721.174 8  27388677.240    27388686.350    27388677.542  
+ 02  1 11 10  8 48.0000000  0  1G31
+    625063.868 9    487061.620 8  27394621.406    27394630.665    27394621.581  
+ 02  1 11 10  8 49.0000000  0  1G31
+    656298.841 9    511400.541 8  27400565.444    27400574.408    27400565.502  
+ 02  1 11 10  8 50.0000000  0  1G31
+    687531.707 9    535737.803 8  27406508.881    27406517.865    27406508.983  
+ 02  1 11 10  8 51.0000000  0  1G31
+    718761.983 9    560073.075 8  27412451.786    27412460.806    27412451.880  
+ 02  1 11 10  8 52.0000000  0  1G31
+    749990.857 9    584407.213 8  27418394.400    27418403.529    27418394.546  
+ 02  1 11 10  8 53.0000000  0  1G31
+    781218.096 9    608740.011 8  27424336.926    27424346.040    27424336.910  
+ 02  1 11 10  8 54.0000000  0  1G31
+    812443.121 9    633071.109 8  27430278.838    27430288.183    27430278.724  
+ 02  1 11 10  8 55.0000000  0  1G31
+    843666.371 9    657400.880 8  27436220.409    27436229.405    27436220.746  
+ 02  1 11 10  8 56.0000000  0  1G31
+    874887.177 9    681728.721 8  27442161.596    27442170.893    27442161.840  
+ 02  1 11 10  8 57.0000000  0  1G31
+    906106.500 9    706055.335 8  27448102.503    27448111.750    27448102.698  
+ 02  1 11 10  8 58.0000000  0  1G31
+    937323.724 9    730380.295 8  27454043.065    27454052.230    27454043.167  
+ 02  1 11 10  8 59.0000000  0  1G31
+    968538.709 9    754703.540 8  27459983.238    27459992.294    27459983.523  
+ 02  1 11 10  9  0.0000000  0  1G31
+    999751.571 9    779025.135 8  27465923.001    27465932.215    27465922.930  
+ 02  1 11 10  9  1.0000000  0  1G31
+   1030961.554 9    803344.446 8  27471862.139    27471871.511    27471862.414  
+ 02  1 11 10  9  2.0000000  0  1G31
+   1062170.351 9    827662.923 8  27477800.964    27477810.374    27477800.812  
+ 02  1 11 10  9  3.0000000  0  1G31
+   1093376.607 9    851979.313 8  27483739.384    27483748.874    27483739.631  
+ 02  1 11 10  9  4.0000000  0  1G31
+   1124580.387 9    876293.766 8  27489677.518    27489686.759    27489677.684  
+ 02  1 11 10  9  5.0000000  0  1G31
+   1155782.419 9    900606.815 8  27495615.098    27495624.567    27495615.659  
+ 02  1 11 10  9  6.0000000  0  1G31
+   1186981.717 9    924917.791 8  27501552.471    27501561.890    27501552.778  
+ 02  1 11 10  9  7.0000000  0  1G31
+   1218178.756 9    949226.988 8  27507488.963    27507498.472    27507488.979  
+ 02  1 11 10  9  8.0000000  0  1G31
+   1249373.665 9    973534.556 8  27513425.323    27513434.915    27513425.278  
+ 02  1 11 10  9  9.0000000  0  1G31
+   1280566.237 9    997840.351 8  27519361.213    27519370.726    27519361.467  
+ 02  1 11 10  9 10.0000000  0  1G31
+   1311757.006 9   1022144.761 8  27525296.670    27525306.325    27525296.760  
+ 02  1 11 10  9 11.0000000  0  1G31
+   1342945.354 9   1046447.203 8  27531231.850    27531241.452    27531231.693  
+ 02  1 11 10  9 12.0000000  0  1G31
+   1374142.452 9   1070756.436 8  27537168.431    27537178.192    27537168.648  
+ 02  1 11 10  9 13.0000000  0  1G31
+   1405340.686 9   1095066.546 8  27543105.546    27543115.410    27543105.710  
+ 02  1 11 10  9 14.0000000  0  1G31
+   1436537.303 9   1119375.393 8  27549042.312    27549052.029    27549042.385  
+ 02  1 11 10  9 15.0000000  0  1G31
+   1467731.722 9   1143682.599 8  27554978.572    27554988.233    27554978.473  
+ 02  1 11 10  9 16.0000000  0  1G31
+   1498922.654 9   1167987.055 8  27560913.843    27560923.581    27560914.135  
+ 02  1 11 10  9 17.0000000  0  1G31
+   1530111.219 9   1192289.651 8  27566848.931    27566859.020    27566849.388  
+ 02  1 11 10  9 18.0000000  0  1G31
+   1561297.953 9   1216590.791 8  27572783.922    27572793.732    27572784.014  
+ 02  1 11 10  9 19.0000000  0  1G31
+   1592482.316 9   1240890.094 8  27578718.198    27578728.058    27578718.260  
+ 02  1 11 10  9 20.0000000  0  1G31
+   1623664.263 9   1265187.571 8  27584652.026    27584662.126    27584652.023  
+ 02  1 11 10  9 21.0000000  0  1G31
+   1654842.862 9   1289482.423 8  27590585.267    27590595.422    27590585.277  
+ 02  1 11 10  9 22.0000000  0  1G31
+   1686019.025 9   1313775.419 8  27596518.098    27596527.903    27596518.173  
+ 02  1 11 10  9 23.0000000  0  1G31
+   1717192.725 9   1338066.487 8  27602450.123    27602460.429    27602450.443  
+ 02  1 11 10  9 24.0000000  0  1G31
+   1748363.682 9   1362355.455 8  27608382.138    27608392.105    27608382.178  
+ 02  1 11 10  9 25.0000000  0  1G31
+   1779531.533 9   1386642.009 8  27614313.135    27614323.417    27614313.095  
+ 02  1 11 10  9 26.0000000  0  1G31
+   1810696.032 9   1410925.988 8  27620243.364    27620253.485    27620243.603  
+ 02  1 11 10  9 27.0000000  0  1G31
+   1841858.206 9   1435208.148 8  27626173.385    27626183.744    27626173.514  
+ 02  1 11 10  9 28.0000000  0  1G31
+   1873017.645 9   1459488.161 8  27632102.955    27632113.208    27632103.242  
+ 02  1 11 10  9 29.0000000  0  1G31
+   1904173.933 9   1483765.697 8  27638031.982    27638042.215    27638031.977  
+ 02  1 11 10  9 30.0000000  0  1G31
+   1935327.431 9   1508041.063 8  27643960.426    27643970.608    27643960.454  
+ 02  1 11 10  9 31.0000000  0  1G31
+   1966477.784 9   1532313.955 8  27649888.156    27649898.415    27649888.222  
+ 02  1 11 10  9 32.0000000  0  1G31
+   1997625.644 9   1556584.852 8  27655815.620    27655825.741    27655815.544  
+ 02  1 11 10  9 33.0000000  0  1G31
+   2028770.619 9   1580853.542 8  27661742.230    27661752.739    27661742.218  
+ 02  1 11 10  9 34.0000000  0  1G31
+   2059912.860 9   1605120.143 8  27667668.340    27667678.990    27667668.636  
+ 02  1 11 10  9 35.0000000  0  1G31
+   2091051.630 9   1629384.038 8  27673594.022    27673604.571    27673594.224  
+ 02  1 11 10  9 36.0000000  0  1G31
+   2122186.664 9   1653644.930 8  27679519.040    27679529.559    27679519.154  
+ 02  1 11 10  9 37.0000000  0  1G31
+   2153318.737 9   1677903.462 8  27685443.419    27685453.779    27685443.350  
+ 02  1 11 10  9 38.0000000  0  1G31
+   2184448.117 9   1702159.979 8  27691367.107    27691377.868    27691367.363  
+ 02  1 11 10  9 39.0000000  0  1G31
+   2215574.159 9   1726413.885 8  27697290.436    27697300.961    27697290.706  
+ 02  1 11 10  9 40.0000000  0  1G31
+   2246697.444 9   1750665.694 8  27703213.080    27703223.667    27703213.288  
+ 02  1 11 10  9 41.0000000  0  1G31
+   2277816.858 9   1774914.429 8  27709135.105    27709145.664    27709135.143  
+ 02  1 11 10  9 42.0000000  0  1G31
+   2308933.601 9   1799161.049 8  27715056.460    27715066.987    27715056.612  
+ 02  1 11 10  9 43.0000000  0  1G31
+   2340046.793 9   1823404.904 8  27720977.165    27720988.070    27720977.239  
+ 02  1 11 10  9 44.0000000  0  1G31
+   2371157.030 9   1847646.498 8  27726897.338    27726908.272    27726897.589  
+ 02  1 11 10  9 45.0000000  0  1G31
+   2402264.189 9   1871885.686 8  27732817.061    27732828.155    27732817.202  
+ 02  1 11 10  9 46.0000000  0  1G31
+   2433367.014 9   1896121.471 8  27738735.606    27738746.853    27738736.048  
+ 02  1 11 10  9 47.0000000  0  1G31
+   2464466.956 9   1920354.996 8  27744653.862    27744665.001    27744654.261  
+ 02  1 11 10  9 48.0000000  0  1G31
+   2495563.835 9   1944586.199 8  27750571.934    27750582.634    27750571.822  
+ 02  1 11 10  9 49.0000000  0  1G31
+   2526657.371 9   1968814.831 8  27756488.869    27756499.745    27756488.866  
+ 02  1 11 10  9 50.0000000  0  1G31
+   2557747.649 9   1993040.893 8  27762405.014    27762416.076    27762405.453  
+ 02  1 11 10  9 51.0000000  0  1G31
+   2588833.980 9   2017263.875 8  27768320.659    27768331.694    27768320.859  
+ 02  1 11 10  9 52.0000000  0  1G31
+   2619917.333 9   2041484.554 8  27774235.730    27774246.981    27774235.965  
+ 02  1 11 10  9 53.0000000  0  1G31
+   2650997.317 9   2065702.624 8  27780150.217    27780161.230    27780150.573  
+ 02  1 11 10  9 54.0000000  0  1G31
+   2682073.241 9   2089917.503 8  27786063.984    27786075.077    27786064.202  
+ 02  1 11 10  9 55.0000000  0  1G31
+   2713145.393 9   2114129.418 8  27791976.971    27791988.042    27791976.950  
+ 02  1 11 10  9 56.0000000  0  1G31
+   2744213.313 9   2138338.044 8  27797889.015    27797900.059    27797888.933  
+ 02  1 11 10  9 57.0000000  0  1G31
+   2775278.249 9   2162544.436 8  27803800.362    27803811.702    27803800.535  
+ 02  1 11 10  9 58.0000000  0  1G31
+   2806339.746 9   2186748.095 8  27809711.081    27809722.554    27809711.417  
+ 02  1 11 10  9 59.0000000  0  1G31
+   2837397.449 9   2210948.809 8  27815621.461    27815632.751    27815621.513  
+ 02  1 11 10 10  0.0000000  0  1G31
+   2868451.884 9   2235147.118 8  27821531.001    27821542.331    27821531.180  
+ 02  1 11 10 10  1.0000000  0  1G31
+   2899502.177 9   2259342.157 8  27827439.832    27827450.786    27827439.743  
+ 02  1 11 10 10  2.0000000  0  1G31
+   2930548.509 9   2283534.006 8  27833347.766    27833358.833    27833347.908  
+ 02  1 11 10 10  3.0000000  0  1G31
+   2961590.375 9   2307722.310 8  27839254.762    27839266.052    27839254.858  
+ 02  1 11 10 10  4.0000000  0  1G31
+   2992627.934 9   2331907.344 8  27845161.179    27845172.224    27845161.224  
+ 02  1 11 10 10 25.0000000  0  1G31
+     30949.997 9     24117.041 8  27969007.378    27969017.931    27969007.240  
+ 02  1 11 10 10 26.0000000  0  1G31
+     61895.656 9     48230.600 8  27974895.870    27974906.819    27974895.960  
+ 02  1 11 10 10 27.0000000  0  1G31
+     92837.257 9     72341.068 8  27980783.841    27980794.380    27980783.941  
+ 02  1 11 10 10 28.0000000  0  1G31
+    123774.081 9     96447.732 8  27986670.818    27986681.396    27986671.038  
+ 02  1 11 10 10 29.0000000  0  1G31
+    154706.224 9    120550.714 8  27992557.110    27992567.574    27992557.216  
+ 02  1 11 10 10 30.0000000  0  1G31
+    185633.635 9    144649.979 8  27998442.462    27998453.140    27998442.433  
+ 02  1 11 10 10 31.0000000  0  1G31
+    216555.970 9    168745.354 8  28004326.862    28004337.227    28004327.038  
+ 02  1 11 10 10 32.0000000  0  1G31
+    247474.390 9    192837.706 8  28010210.193    28010220.857    28010209.971  
+ 02  1 11 10 10 33.0000000  0  1G31
+    278387.767 9    216926.120 8  28016092.845    28016103.451    28016093.072  
+ 02  1 11 10 10 34.0000000  0  1G31
+    309296.354 9    241010.745 8  28021974.660    28021985.031    28021974.501  
+ 02  1 11 10 10 35.0000000  0  1G31
+    340200.124 9    265091.641 8  28027855.088    28027865.835    28027855.219  
+ 02  1 11 10 10 36.0000000  0  1G31
+    371097.846 9    289167.821 8  28033734.892    28033745.347    28033734.985  
+ 02  1 11 10 10 37.0000000  0  1G31
+    401979.168 9    313231.234 8  28039611.518    28039621.923    28039611.584  
+ 02  1 11 10 10 38.0000000  0  1G31
+    432850.703 9    337287.061 8  28045486.037    28045496.474    28045486.055  
+ 02  1 11 10 10 39.0000000  0  1G31
+    463716.503 9    361338.437 8  28051359.462    28051369.718    28051359.483  
+ 02  1 11 10 10 40.0000000  0  1G31
+    494577.733 9    385386.319 8  28057232.076    28057242.687    28057232.042  
+ 02  1 11 10 10 41.0000000  0  1G31
+    525433.439 9    409429.796 8  28063103.656    28063113.999    28063103.809  
+ 02  1 11 10 10 42.0000000  0  1G31
+    556284.463 9    433469.649 8  28068974.434    28068984.671    28068974.302  
+ 02  1 11 10 10 43.0000000  0  1G31
+    587130.345 9    457505.479 8  28074843.822    28074854.547    28074844.139  
+ 02  1 11 10 10 44.0000000  0  1G31
+    617971.301 9    481537.406 8  28080712.785    28080723.293    28080712.936  
+ 02  1 11 10 10 45.0000000  0  1G31
+    648807.490 9    505565.707 8  28086580.757    28086591.345    28086580.872  
+ 02  1 11 10 10 46.0000000  0  1G31
+    679638.348 9    529589.898 8  28092447.647    28092457.876    28092447.547  
+ 02  1 11 10 10 47.0000000  0  1G31
+    710466.527 9    553612.197 8  28098313.747    28098323.937    28098313.653  
+ 02  1 11 10 10 48.0000000  0  1G31
+    741288.501 9    577629.769 8  28104178.736    28104188.970    28104178.752  
+ 02  1 11 10 10 49.0000000  0  1G31
+    772104.102 9    601642.385 8  28110042.489    28110052.373    28110042.250  
+ 02  1 11 10 10 50.0000000  0  1G31
+    802914.470 9    625650.898 8  28115905.145    28115914.807    28115904.928  
+ 02  1 11 10 10 51.0000000  0  1G31
+    833718.606 9    649654.423 8  28121766.542    28121776.509    28121766.580  
+ 02  1 11 10 10 52.0000000  0  1G31
+    864517.803 9    673654.087 8  28127627.141    28127636.938    28127627.300  
+ 02  1 11 10 10 53.0000000  0  1G31
+    895311.422 9    697649.372 8  28133486.745    28133496.616    28133486.957  
+ 02  1 11 10 10 54.0000000  0  1G31
+    926099.727 9    721640.634 8  28139345.381    28139355.118    28139345.621  
+ 02  1 11 10 10 55.0000000  0  1G31
+    956882.911 9    745628.146 8  28145202.874    28145212.317    28145202.953  
+ 02  1 11 10 10 56.0000000  0  1G31
+    987659.644 9    769610.458 8  28151059.096    28151068.405    28151059.251  
+ 02  1 11 10 10 57.0000000  0  1G31
+   1018431.092 9    793588.547 8  28156914.546    28156923.718    28156914.384  
+ 02  1 11 10 10 58.0000000  0  1G31
+   1049197.555 9    817562.732 8  28162768.814    28162777.774    28162768.955  
+ 02  1 11 10 10 59.0000000  0  1G31
+   1079961.133 9    841534.740 8  28168622.568    28168631.925    28168622.834  
+ 02  1 11 10 11  0.0000000  0  1G31
+   1110718.746 9    865502.089 8  28174475.492    28174484.552    28174475.452  
+ 02  1 11 10 11  1.0000000  0  1G31
+   1141469.895 9    889464.332 8  28180327.097    28180335.859    28180327.093  
+ 02  1 11 10 11  2.0000000  0  1G31
+   1172215.707 9    913422.346 8  28186177.427    28186186.266    28186177.608  
+ 02  1 11 10 11  3.0000000  0  1G31
+   1202955.803 9    937375.907 8  28192026.798    28192035.633    28192026.862  
+ 02  1 11 10 11  4.0000000  0  1G31
+   1233690.227 9    961325.070 8  28197875.306    28197884.252    28197875.479  
+ 02  1 11 10 11  5.0000000  0  1G31
+   1264419.222 9    985269.988 8  28203722.691    28203731.277    28203722.719  
+ 02  1 11 10 11  6.0000000  0  1G31
+   1295141.936 9   1009209.962 8  28209568.785    28209577.385    28209568.896  
+ 02  1 11 10 11  7.0000000  0  1G31
+   1325858.238 9   1033144.936 8  28215413.823    28215422.310    28215413.922  
+ 02  1 11 10 11  8.0000000  0  1G31
+   1356569.354 9   1057075.900 8  28221257.743    28221266.207    28221257.794  
+ 02  1 11 10 11  9.0000000  0  1G31
+   1387274.671 9   1081002.339 8  28227100.297    28227109.185    28227100.944  
+ 02  1 11 10 11 10.0000000  0  1G31
+   1417973.637 9   1104923.792 8  28232942.048    28232950.594    28232942.431  
+ 02  1 11 10 11 11.0000000  0  1G31
+   1448666.424 9   1128840.437 8  28238782.882    28238791.258    28238782.890  
+ 02  1 11 10 11 12.0000000  0  1G31
+   1479353.731 9   1152752.821 8  28244622.284    28244630.486    28244622.393  
+ 02  1 11 10 11 13.0000000  0  1G31
+   1510034.972 9   1176660.388 8  28250460.520    28250468.962    28250460.667  
+ 02  1 11 10 11 14.0000000  0  1G31
+   1540710.332 9   1200563.392 8  28256297.638    28256306.247    28256298.019  
+ 02  1 11 10 11 15.0000000  0  1G31
+   1571379.889 9   1224461.864 8  28262133.986    28262142.212    28262133.892  
+ 02  1 11 10 11 16.0000000  0  1G31
+   1602042.935 9   1248355.256 8  28267968.622    28267977.112    28267968.877  
+ 02  1 11 10 11 17.0000000  0  1G31
+   1632700.208 9   1272244.189 8  28273802.715    28273810.584    28273802.598  
+ 02  1 11 10 11 18.0000000  0  1G31
+   1663351.832 9   1296128.756 8  28279635.106    28279643.533    28279635.454  
+ 02  1 11 10 11 19.0000000  0  1G31
+   1693997.743 9   1320008.944 8  28285466.530    28285474.889    28285466.713  
+ 02  1 11 10 11 20.0000000  0  1G31
+   1724637.436 9   1343884.213 8  28291297.079    28291305.355    28291297.163  
+ 02  1 11 10 11 21.0000000  0  1G31
+   1755270.838 9   1367754.576 8  28297126.436    28297134.428    28297126.616  
+ 02  1 11 10 11 22.0000000  0  1G31
+   1785898.838 9   1391620.722 8  28302954.631    28302962.579    28302954.682  
+ 02  1 11 10 11 23.0000000  0  1G31
+   1816520.719 9   1415482.090 8  28308781.569    28308789.643    28308781.748  
+ 02  1 11 10 11 24.0000000  0  1G31
+   1847136.872 9   1439338.964 8  28314607.514    28314615.420    28314607.618  
+ 02  1 11 10 11 25.0000000  0  1G31
+   1877747.600 9   1463191.606 8  28320432.325    28320440.361    28320432.507  
+ 02  1 11 10 11 26.0000000  0  1G31
+   1908352.313 9   1487039.517 8  28326256.333    28326264.106    28326256.213  
+ 02  1 11 10 11 27.0000000  0  1G31
+   1938951.879 9   1510883.421 8  28332079.152    28332087.132    28332079.055  
+ 02  1 11 10 11 28.0000000  0  1G31
+   1969546.709 8   1534723.635 8  28337900.902    28337908.913    28337901.190  
+ 02  1 11 10 11 29.0000000  0  1G31
+   2000137.149 8   1558560.470 8  28343722.156    28343730.010    28343722.020  
+ 02  1 11 10 11 30.0000000  0  1G31
+   2030723.550 8   1582394.162 8  28349542.481    28349550.179    28349542.550  
+ 02  1 11 10 11 31.0000000  0  1G31
+   2061305.688 8   1606224.457 7  28355361.994    28355369.697    28355362.025  
+ 02  1 11 10 11 32.0000000  0  1G31
+   2091884.552 8   1630052.179 7  28361180.884    28361188.663    28361180.916  
+ 02  1 11 10 11 33.0000000  0  1G31
+   2122460.281 8   1653877.472 7  28366999.658    28367007.226    28366999.550  
+ 02  1 11 10 11 34.0000000  0  1G31
+   2153033.837 8   1677701.073 7  28372817.432    28372825.049    28372817.256  
+ 02  1 11 10 11 35.0000000  0  1G31
+   2183605.250 8   1701523.025 7  28378634.562    28378642.686    28378634.930  
+ 02  1 11 10 11 36.0000000  0  1G31
+   2214174.719 8   1725343.461 7  28384452.045    28384459.163    28384451.865  
+ 02  1 11 10 11 37.0000000  0  1G31
+   2244743.776 8   1749163.557 6  28390268.740    28390276.628    28390268.975  
+ 02  1 11 10 11 38.0000000  0  1G31
+   2275312.516 8   1772983.353 7  28396085.883    28396093.899    28396086.195  
+ 02  1 11 10 11 39.0000000  0  1G31
+   2305880.802 8   1796802.798 6  28401902.551    28401910.316    28401902.862  
+ 02  1 11 10 11 40.0000000  0  1G31
+   2336448.752 8   1820622.000 6  28407720.134    28407727.334    28407719.642  
+ 02  1 11 10 11 41.0000000  0  1G31
+   2367016.908 8   1844441.352 6  28413537.796    28413544.696    28413536.622  
+ 02  1 11 10 11 42.0000000  0  1G31
+   2397586.159 8   1868261.589 6  28419354.389    28419361.042    28419354.291  
+ 02  1 11 10 11 43.0000000  0  1G31
+   2428155.980 8   1892082.263 7  28425171.523    28425178.202    28425171.393  
+ 02  1 11 10 11 44.0000000  0  1G31
+   2458724.138 8   1915901.566 7  28430987.570    28430995.507    28430988.321  
+ 02  1 11 10 11 45.0000000  0  1G31
+   2489292.072 8   1939720.706 6  28436804.460    28436812.644    28436804.700  
+ 02  1 11 10 11 46.0000000  0  1G31
+   2519859.817 8   1963539.662 6  28442621.555    28442630.452    28442622.039  
+ 02  1 11 10 11 47.0000000  0  1G31
+   2550427.936 8   1987359.002 6  28448438.893    28448446.437    28448438.800  
+ 02  1 11 10 11 48.0000000  0  1G31
+   2580996.915 8   2011178.964 6  28454256.260    28454263.062    28454255.585  
+ 02  1 11 10 11 49.0000000  0  1G31
+   2611566.992 8   2034999.793 6  28460072.359    28460081.436    28460072.913  
+ 02  1 11 10 11 50.0000000  0  1G31
+   2642138.118 8   2058821.489 6  28465890.345    28465898.326    28465890.223  
+ 02  1 11 10 11 51.0000000  0  1G31
+   2672710.180 8   2082643.838 6  28471709.241    28471716.697    28471708.308  
+ 02  1 11 10 11 52.0000000  0  1G31
+   2703284.304 8   2106467.875 6  28477525.447    28477535.069    28477526.000  
+ 02  1 11 10 11 53.0000000  0  1G31
+   2733859.527 8   2130292.788 5  28483344.006    28483352.128    28483344.419  
+ 02  1 11 10 11 54.0000000  0  1G31
+   2764437.050 6   2154118.972 2  28489168.688    28489173.215    28489167.766  
+ 02  1 11 10 11 55.0000000  0  1G31
+   2795016.231 6   2177954.431 3  28494964.245    28494987.571    28494960.694  
+ 02  1 11 10 11 56.0000000  0  1G31
+   2825597.586 6   2201899.142 2  28500809.392    28500799.236    28500861.652  
+ 02  1 11 10 11 57.0000000  0  1G31
+   2856180.972 5   2225973.520 2  28506591.323    28506620.915    28506639.724  
+ 02  1 11 10 11 58.0000000  0  1G31
+   2886766.280 5   2250053.185 2  28512475.030    28512435.793    28512565.715  
+ 02  1 11 10 11 59.0000000  0  1G31
+   2917353.783 6   2274156.191 2  28518333.765    28518258.028    28518456.239  
+ 02  1 11 10 12  0.0000000  0  1G31
+   2947943.129 5   2298374.715 3  28524218.910    28524072.573    28524342.209  
+ 02  1 11 10 12  1.0000000  0  1G31
+   2978534.656 5   2322554.176 2  28530058.782    28529889.968    28530213.320  
diff --git a/trunk/apps/cycleslips/examples/df.inp b/trunk/apps/cycleslips/examples/df.inp
new file mode 100644
index 0000000..4dbd8de
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/df.inp
@@ -0,0 +1,22 @@
+#
+# input for DiscFix
+#
+# ignore Glonass
+--XPRN R
+#--verbose
+--SVonly G17
+# debug 7 prints it all, very time-expensive
+--DCDebug:7
+# decimate to 30 seconds, just in case
+--decimate 30.0
+# nominal time interval of the data in seconds - required
+--DCDT,30
+# allow use of CA
+--CA
+#
+#  tune the DC
+--DCWLFixMaxGap=3000
+--DCGFFixMaxGap=1300
+--DCGFFixSigma=3.6  # 5.4cm cycles
+#
+--DCOutputGPSTime
diff --git a/trunk/apps/cycleslips/examples/df_occult.inp b/trunk/apps/cycleslips/examples/df_occult.inp
new file mode 100644
index 0000000..1ea8378
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/df_occult.inp
@@ -0,0 +1,21 @@
+#
+# input for DiscFix
+#
+# ignore Glonass
+--XPRN R
+#--verbose
+# debug 7 prints it all, very time-expensive
+--DCDebug:7
+# nominal time interval of the data in seconds - required
+--DCDT,1
+# allow use of CA
+--CA
+#
+#  tune the DC
+--Gap 100
+--DCWLFixMaxGap=100
+--DCGFFixMaxGap=100
+--DCMinSeg=50.
+--DCGFFixSigma=3.6  # 5.4cm cycles
+--DCOutputGPSTime
+#
diff --git a/trunk/apps/cycleslips/examples/eusk2950.01o.G17 b/trunk/apps/cycleslips/examples/eusk2950.01o.G17
new file mode 100644
index 0000000..7fc8762
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/eusk2950.01o.G17
@@ -0,0 +1,3016 @@
+     2.00           Observation         G (GPS)             RINEX VERSION / TYPE
+GEOTRACER GPS Decoder Ver. 2.2          07/20/2004 19:18:15 PGM / RUN BY / DATE
+EUSK                                                        MARKER NAME
+Automatic           BKG Wettzell/MilGeo                     OBSERVER / AGENCY
+3450A09057          TRIMBLE 4000SSI     7.29                REC # / TYPE / VERS
+0220180419          TRM29659.00     NONE                    ANT # / TYPE
+  4022106.4147   477010.5823  4910838.9964                  APPROX POSITION XYZ
+        0.0510        0.0000        0.0000                  ANTENNA: DELTA H/E/N
+     1     1                                                WAVELENGTH FACT L1/2
+     6    C1    P2    L1    L2    D1    D2                  # / TYPES OF OBSERV
+    30.000                                                  INTERVAL
+  2001    10    22     0     0    0.0750000     GPS         TIME OF FIRST OBS
+  2001    10    22    23    59   30.0000000     GPS         TIME OF LAST OBS
+14258M003                                                   MARKER NUMBER
+Edited by GPSTK Rinex Editor ver 3.0 9/8/2003 on 2004/07/20 COMMENT
+                                                            END OF HEADER
+ 01 10 22  0  0  0.0750000  0  1G17
+  47062836.230 5  47062841.118 4  22697036.623 4  17810627.258 4     -4693.196  
+     -3657.037  
+ 01 10 22  0  0 30.0750000  0  1G17
+  47089637.491 5  47089640.433 5  22837872.692 5  17920369.692 5     -4696.081  
+     -3659.296  
+ 01 10 22  0  1  0.0750000  0  1G17
+  47116451.989 4  47116460.933 4  22978784.379 4  18030171.042 4     -4697.962  
+     -3660.729  
+ 01 10 22  0  1 30.0750000  0  1G17
+  47143278.394 5  47143277.691 4  23119761.566 4  18140023.489 4     -4700.230  
+     -3662.484  
+ 01 10 22  0  2  0.0750000  0  1G17
+  47170115.772 4  47170120.461 5  23260801.966 5  18249925.075 5     -4702.201  
+     -3664.045  
+ 01 10 22  0  3  0.0750000  0  1G17
+  47223829.607 5         0.000 1    136445.981 1         0.00011     -4706.068  
+         0.000  
+ 01 10 22  0  3 30.0750000  0  1G17
+  47250701.145 5  47250705.833 5    277661.728 5     18338.809 5     -4708.312  
+     -3668.815  
+ 01 10 22  0  4  0.0750000  0  1G17
+  47277584.281 5  47277593.353 5    418935.500 5    128422.425 5     -4710.249  
+     -3670.316  
+ 01 10 22  0  4 30.0750000  0  1G17
+  47304478.489 5         0.000 1     23554.611 1         0.00011     -4712.096  
+         0.000  
+ 01 10 22  0  5  0.0750000  0  1G17
+  47331384.609 5         0.000 1    164945.965 1         0.00011     -4714.141  
+         0.000  
+ 01 10 22  0  5 30.0750000  0  1G17
+  47358299.699 4         0.000 1     23573.820 1         0.00011     -4715.895  
+         0.000  
+ 01 10 22  0  6  0.0750000  0  1G17
+  47385227.529 5         0.000 1    165073.294 1         0.00011     -4717.456  
+         0.000  
+ 01 10 22  0  6 30.0000000  0  1G17
+  24627934.937 4         0.000 1    306627.340 1         0.00011     -4719.253  
+         0.000  
+ 01 10 22  0  7  0.0000000  0  1G17
+  24654882.202 4  24654889.857 4    448231.615 4     84594.837 4     -4720.913  
+     -3678.635  
+ 01 10 22  0  7 30.0000000  0  1G17
+  24681841.804 4  24681846.094 4    589888.809 4    194977.113 4     -4722.679  
+     -3680.000  
+ 01 10 22  0  8  0.0000000  0  1G17
+  24708803.253 4  24708803.757 4    731592.743 4    305395.750 4     -4724.180  
+     -3681.161  
+ 01 10 22  0  8 30.0000000  0  1G17
+  24735779.097 4  24735788.756 4    873346.257 4    415853.101 4     -4725.858  
+     -3682.463  
+ 01 10 22  0  9  0.0000000  0  1G17
+  24762764.737 4  24762767.562 4   1015152.572 4    526351.407 4     -4727.662  
+     -3683.867  
+ 01 10 22  0  9 30.0000000  0  1G17
+  24789761.532 5  24789768.155 5   1157010.646 5    636890.219 5     -4729.284  
+     -3685.158  
+ 01 10 22  0 10  0.0000000  0  1G17
+  24816764.601 4  24816764.730 4   1298921.311 4    747470.157 4     -4731.140  
+     -3686.613  
+ 01 10 22  0 10 30.0000000  0  1G17
+  24843777.686 5  24843785.341 5   1440876.047 5    858084.392 5     -4732.502  
+     -3687.663  
+ 01 10 22  0 11  0.0000000  0  1G17
+  24870800.045 4  24870806.515 4   1582876.177 4    968733.767 4     -4733.917  
+     -3688.773  
+ 01 10 22  0 11 30.0000000  0  1G17
+  24897826.774 4  24897833.808 4   1724915.764 4   1079414.127 4     -4735.592  
+     -3690.087  
+ 01 10 22  0 12  0.0000000  0  1G17
+  24924864.550 4  24924867.317 5   1867000.481 5   1190129.574 5     -4736.781  
+     -3691.007  
+ 01 10 22  9 54  0.0310000  0  1G17
+  34693066.629 5         0.000 1    -47422.978 1         0.00011      1630.038  
+         0.000  
+ 01 10 22  9 54 30.0310000  0  1G17
+  34683793.290 4         0.000 1    -17827.452 1         0.00011      1618.749  
+         0.000  
+ 01 10 22  9 55  0.0310000  0  1G17
+  34674579.835 4         0.000 1    -66222.666 1         0.00011      1607.500  
+         0.000  
+ 01 10 22  9 55 30.0310000  0  1G17
+  34665437.229 4         0.000 1   -114275.100 1         0.00011      1595.906  
+         0.000  
+ 01 10 22  9 56  0.0310000  0  1G17
+  34656359.365 4         0.000 1   -161982.901 1         0.00011      1584.568  
+         0.000  
+ 01 10 22  9 56 30.0310000  0  1G17
+  34647346.056 4         0.000 1   -209347.518 1         0.00011      1573.076  
+         0.000  
+ 01 10 22  9 57  0.0310000  0  1G17
+  34638399.996 4  34638419.466 4   -256367.819 4    -12182.004 4      1561.603  
+      1216.835  
+ 01 10 22  9 57 30.0310000  0  1G17
+  34629519.550 5  34629527.380 5   -303040.244 5    -48550.253 5      1549.920  
+      1207.704  
+ 01 10 22  9 58  0.0310000  0  1G17
+  34620705.669 5  34620714.543 5   -349353.803 5    -84638.649 5      1537.873  
+      1198.351  
+ 01 10 22  9 58 30.0310000  0  1G17
+  34611959.835 4  34611965.661 4   -395310.385 4   -120448.918 4      1525.755  
+      1188.916  
+ 01 10 22  9 59  0.0310000  0  1G17
+  34603283.345 4  34603297.646 4   -440905.043 4   -155977.121 4      1514.182  
+      1179.903  
+ 01 10 22  9 59 30.0310000  0  1G17
+  34594674.319 4         0.000 1    -24080.660 1         0.00011      1501.868  
+         0.000  
+ 01 10 22 10  0  0.0310000  0  1G17
+  34586136.604 4         0.000 1    -68952.444 1         0.00011      1489.726  
+         0.000  
+ 01 10 22 10  0 30.0310000  0  1G17
+  34577668.817 4         0.000 1   -113455.138 1         0.00011      1477.246  
+         0.000  
+ 01 10 22 10  1  0.0310000  0  1G17
+  34569271.474 4         0.000 1   -157583.065 1         0.00011      1464.717  
+         0.000  
+ 01 10 22 10  1 30.0310000  0  1G17
+  34560942.260 4         0.000 1   -201337.140 1         0.00011      1452.446  
+         0.000  
+ 01 10 22 10  2  0.0310000  0  1G17
+  34552687.977 4         0.000 1   -244726.133 1         0.00011      1440.015  
+         0.000  
+ 01 10 22 10  2 30.0310000  0  1G17
+  34544504.530 4         0.000 1   -287732.284 1         0.00011      1427.377  
+         0.000  
+ 01 10 22 10  3  0.0310000  0  1G17
+  34536394.355 4         0.000 1   -330355.674 1         0.00011      1414.202  
+         0.000  
+ 01 10 22 10  3 30.0310000  0  1G17
+  34528355.600 4  34528365.927 4   -372596.547 4    -18615.540 4      1401.711  
+      1092.227  
+ 01 10 22 10  4  0.0310000  0  1G17
+  34520389.917 4  34520397.607 4   -414454.174 4    -51232.069 4      1388.604  
+      1082.082  
+ 01 10 22 10  4 30.0310000  0  1G17
+  34512499.372 5  34512508.211 4   -455918.607 4    -83541.881 4      1375.834  
+      1072.086  
+ 01 10 22 10  5  0.0310000  0  1G17
+  34504683.028 5  34504697.458 4   -496999.486 4   -115553.046 4      1362.680  
+      1061.865  
+ 01 10 22 10  5 30.0310000  0  1G17
+  34496940.228 4  34496944.812 4   -537682.454 4   -147253.973 4      1349.535  
+      1051.597  
+ 01 10 22 10  6  0.0310000  0  1G17
+  34489275.655 5  34489277.460 4   -577967.703 4   -178645.148 4      1335.998  
+      1041.040  
+ 01 10 22 10  6 30.0310000  0  1G17
+  34481684.571 4  34481692.659 4   -617850.681 4   -209722.519 4      1322.822  
+      1030.741  
+ 01 10 22 10  7  0.0310000  0  1G17
+  34474172.578 5         0.000 1   -657329.331 1         0.00011      1309.192  
+         0.000  
+ 01 10 22 10  7 30.0310000  0  1G17
+  34466735.623 5         0.000 1   -696408.679 1         0.00011      1295.869  
+         0.000  
+ 01 10 22 10  8  0.0310000  0  1G17
+  34459376.338 5         0.000 1   -735077.948 1         0.00011      1282.435  
+         0.000  
+ 01 10 22 10  8 30.0310000  0  1G17
+  34452095.092 4         0.000 1   -773339.084 1         0.00011      1268.555  
+         0.000  
+ 01 10 22 10  9  0.0310000  0  1G17
+  34444894.794 5  34444902.577 5   -811186.768 5    -14706.034 5      1254.702  
+       977.686  
+ 01 10 22 10  9 30.0310000  0  1G17
+  34437770.983 5         0.000 1   -848619.346 1         0.00011      1240.741  
+         0.000  
+ 01 10 22 10 10  0.0310000  0  1G17
+  34430724.295 4         0.000 1   -885640.264 1         0.00011      1226.922  
+         0.000  
+ 01 10 22 10 10 30.0310000  0  1G17
+  34423761.814 5         0.000 1   -922239.689 1         0.00011      1213.106  
+         0.000  
+ 01 10 22 10 11  0.0310000  0  1G17
+  34416875.879 5  34416881.259 4   -958419.482 4    -20641.641 4      1198.934  
+       934.245  
+ 01 10 22 10 11 30.0320000  0  1G17
+  34410072.156 4  34410074.348 3   -994173.571 3    -48501.851 3      1184.628  
+       923.057  
+ 01 10 22 10 12  0.0320000  0  1G17
+  34403352.101 5  34403361.279 4  -1029494.265 4    -76024.553 4      1170.339  
+       911.918  
+ 01 10 22 10 12 30.0320000  0  1G17
+  34396710.175 5  34396716.927 4  -1064385.969 4   -103212.816 4      1155.916  
+       900.721  
+ 01 10 22 10 13  0.0320000  0  1G17
+  34390154.042 5  34390162.669 5  -1098846.027 5   -130064.775 5      1141.529  
+       889.511  
+ 01 10 22 10 13 30.0320000  0  1G17
+  34383678.901 5  34383685.923 4  -1132873.655 4   -156579.832 4      1127.077  
+       878.231  
+ 01 10 22 10 14  0.0320000  0  1G17
+  34377287.122 5  34377293.265 5  -1166457.767 5   -182749.183 5      1111.627  
+       866.206  
+ 01 10 22 10 14 30.0320000  0  1G17
+  34370982.854 4  34370993.627 4  -1199590.221 4   -208566.652 4      1097.010  
+       854.804  
+ 01 10 22 10 15  0.0320000  0  1G17
+  34364764.763 5  34364773.086 4  -1232276.498 4   -234036.377 4      1081.938  
+       843.070  
+ 01 10 22 10 15 30.0320000  0  1G17
+  34358628.011 5  34358636.650 5  -1264515.931 5   -259157.964 5      1067.306  
+       831.674  
+ 01 10 22 10 16  0.0320000  0  1G17
+  34352577.504 4  34352586.916 5  -1296309.584 5   -283932.197 5      1052.234  
+       819.918  
+ 01 10 22 10 16 30.0320000  0  1G17
+  34346613.925 5  34346618.789 5  -1327652.982 5   -308355.642 5      1037.126  
+       808.131  
+ 01 10 22 10 17  0.0320000  0  1G17
+  34340735.516 4  34340750.181 4  -1358539.224 4   -332422.806 4      1021.958  
+       796.289  
+ 01 10 22 10 17 30.0320000  0  1G17
+  34334942.362 5  34334950.005 4  -1388980.320 4   -356143.267 4      1007.306  
+       784.913  
+ 01 10 22 10 18  0.0320000  0  1G17
+  34329236.105 5  34329244.896 5  -1418975.677 5   -379516.210 5       992.094  
+       773.062  
+ 01 10 22 10 18 30.0320000  0  1G17
+  34323614.488 5  34323619.798 4  -1448511.311 4   -402530.939 4       976.804  
+       761.166  
+ 01 10 22 10 19  0.0320000  0  1G17
+  34318083.472 5  34318085.898 5  -1477584.754 5   -425185.689 5       961.358  
+       749.116  
+ 01 10 22 10 19 30.0320000  0  1G17
+  34312637.317 5  34312641.397 4  -1506193.197 4   -447477.935 4       945.884  
+       737.068  
+ 01 10 22 10 20  0.0320000  0  1G17
+  34307282.886 5  34307288.865 5  -1534338.173 5   -469409.186 5       930.262  
+       724.896  
+ 01 10 22 10 20 30.0320000  0  1G17
+  34302018.028 5  34302025.296 5  -1562004.760 5   -490967.573 5       914.099  
+       712.297  
+ 01 10 22 10 21  0.0320000  0  1G17
+  34296843.930 4  34296854.878 5  -1589195.776 5   -512155.423 5       898.735  
+       700.307  
+ 01 10 22 10 21 30.0320000  0  1G17
+  34291759.641 5  34291766.287 5  -1615913.011 5   -532973.996 5       882.750  
+       687.874  
+ 01 10 22 10 22  0.0320000  0  1G17
+  34286764.629 4  34286772.929 5  -1642157.464 5   -553424.199 5       867.168  
+       675.690  
+ 01 10 22 10 22 30.0320000  0  1G17
+  34281861.892 5  34281871.410 5  -1667925.328 5   -573503.078 5       850.663  
+       662.838  
+ 01 10 22 10 23  0.0320000  0  1G17
+  34277050.652 5  34277059.162 5  -1693203.739 5   -593200.464 5       834.648  
+       650.385  
+ 01 10 22 10 23 30.0320000  0  1G17
+  34272331.246 5  34272341.725 5  -1718007.520 5   -612528.083 5       818.825  
+       638.055  
+ 01 10 22 10 24  0.0320000  0  1G17
+  34267702.525 5  34267710.930 5  -1742329.854 5   -631480.520 5       802.750  
+       625.498  
+ 01 10 22 10 24 30.0320000  0  1G17
+  34263168.013 5  34263169.983 5  -1766164.687 5   -650053.148 5       786.337  
+       612.722  
+ 01 10 22 10 25  0.0320000  0  1G17
+  34258725.738 5  34258732.244 5  -1789507.458 5   -668242.220 5       769.924  
+       599.940  
+ 01 10 22 10 25 30.0320000  0  1G17
+  34254376.131 5  34254381.559 5  -1812363.167 5   -686051.873 5       753.546  
+       587.214  
+ 01 10 22 10 26  0.0320000  0  1G17
+  34250119.573 5  34250123.582 5  -1834727.399 5   -703478.437 5       737.374  
+       574.595  
+ 01 10 22 10 26 30.0320000  0  1G17
+  34245959.182 5  34245966.708 5  -1856595.557 5   -720518.553 5       720.672  
+       561.568  
+ 01 10 22 10 27  0.0320000  0  1G17
+  34241892.540 5  34241898.648 5  -1877965.557 5   -737170.499 5       703.689  
+       548.334  
+ 01 10 22 10 27 30.0320000  0  1G17
+  34237922.471 5  34237929.505 5  -1898827.950 5   -753426.817 5       687.035  
+       535.363  
+ 01 10 22 10 28  0.0320000  0  1G17
+  34234047.016 5  34234053.428 5  -1919190.203 5   -769293.442 5       670.553  
+       522.518  
+ 01 10 22 10 28 30.0320000  0  1G17
+  34230267.938 5  34230276.811 4  -1939052.858 4   -784770.724 4       653.675  
+       509.381  
+ 01 10 22 10 29  0.0320000  0  1G17
+  34226583.195 5  34226589.009 4  -1958413.356 4   -799856.828 4       636.998  
+       496.362  
+ 01 10 22 10 29 30.0320000  0  1G17
+  34222994.681 5  34223001.187 5  -1977268.358 5   -814549.016 5       619.791  
+       482.956  
+ 01 10 22 10 30  0.0320000  0  1G17
+  34219506.847 5  34219517.045 5  -1995600.151 5   -828833.515 5       602.245  
+       469.279  
+ 01 10 22 10 30 30.0330000  0  1G17
+  34216114.880 5  34216122.429 5  -2013418.217 5   -842717.799 5       585.520  
+       456.243  
+ 01 10 22 10 31  0.0330000  0  1G17
+  34212823.019 5  34212829.325 5  -2030721.526 5   -856200.855 5       568.175  
+       442.734  
+ 01 10 22 10 31 30.0330000  0  1G17
+  34209627.968 5  34209635.271 5  -2047512.137 5   -869284.399 5       551.008  
+       429.345  
+ 01 10 22 10 32  0.0330000  0  1G17
+  34206532.429 5  34206537.481 5  -2063779.771 5   -881960.572 5       533.471  
+       415.701  
+ 01 10 22 10 32 30.0330000  0  1G17
+  34203536.058 5  34203543.912 5  -2079530.502 5   -894233.801 5       516.457  
+       402.439  
+ 01 10 22 10 33  0.0330000  0  1G17
+  34200637.401 5  34200642.911 5  -2094759.834 5   -906100.848 5       498.865  
+       388.735  
+ 01 10 22 10 33 30.0330000  0  1G17
+  34197840.350 5  34197846.000 5  -2109460.270 5   -917555.743 5       481.516  
+       375.203  
+ 01 10 22 10 34  0.0330000  0  1G17
+  34195142.753 5  34195147.817 5  -2123636.988 5   -928602.580 5       463.697  
+       361.324  
+ 01 10 22 10 34 30.0330000  0  1G17
+  34192547.335 5  34192554.720 5  -2137276.500 5   -939230.817 5       445.602  
+       347.225  
+ 01 10 22 10 35  0.0330000  0  1G17
+  34190052.371 5  34190058.185 5  -2150386.363 5   -949446.315 5       428.336  
+       333.760  
+ 01 10 22 10 35 30.0330000  0  1G17
+  34187657.798 5  34187664.714 5  -2162968.630 5   -959250.638 5       410.419  
+       319.817  
+ 01 10 22 10 36  0.0330000  0  1G17
+  34185364.862 5  34185373.830 5  -2175018.605 5   -968640.252 5       392.837  
+       306.102  
+ 01 10 22 10 36 30.0330000  0  1G17
+  34183172.477 5  34183180.214 5  -2186539.557 5   -977617.608 5       375.090  
+       292.284  
+ 01 10 22 10 37  0.0330000  0  1G17
+  34181082.437 5  34181090.044 5  -2197520.719 5   -986174.387 5       356.877  
+       278.071  
+ 01 10 22 10 37 30.0330000  0  1G17
+  34179096.421 6  34179101.755 5  -2207959.088 5   -994308.187 5       339.069  
+       264.217  
+ 01 10 22 10 38  0.0330000  0  1G17
+  34177212.860 6  34177218.862 5  -2217857.825 5  -1002021.538 5       321.055  
+       250.177  
+ 01 10 22 10 38 30.0330000  0  1G17
+  34175432.869 6  34175439.093 5  -2227213.852 5  -1009311.980 5       302.795  
+       235.947  
+ 01 10 22 10 39  0.0330000  0  1G17
+  34173756.099 6  34173762.195 5  -2236028.113 5  -1016180.264 5       284.578  
+       221.747  
+ 01 10 22 10 39 30.0330000  0  1G17
+  34172182.616 5  34172190.845 5  -2244291.944 5  -1022619.636 5       266.326  
+       207.523  
+ 01 10 22 10 40  0.0330000  0  1G17
+  34170713.752 6  34170721.079 5  -2252011.582 5  -1028635.037 5       248.174  
+       193.385  
+ 01 10 22 10 40 30.0330000  0  1G17
+  34169349.400 5  34169357.488 5  -2259183.423 5  -1034223.536 5       229.995  
+       179.223  
+ 01 10 22 10 41  0.0330000  0  1G17
+  34168089.046 5  34168096.947 5  -2265803.903 5  -1039382.409 5       211.431  
+       164.757  
+ 01 10 22 10 41 30.0330000  0  1G17
+  34166934.090 6  34166940.408 5  -2271873.804 5  -1044112.290 5       193.120  
+       150.480  
+ 01 10 22 10 42  0.0330000  0  1G17
+  34165883.360 6  34165890.815 5  -2277394.727 5  -1048414.338 5       174.867  
+       136.255  
+ 01 10 22 10 42 30.0330000  0  1G17
+  34164939.517 6  34164944.780 5  -2282355.819 5  -1052280.193 5       156.220  
+       121.736  
+ 01 10 22 10 43  0.0330000  0  1G17
+  34164101.401 6  34164109.125 5  -2286761.555 5  -1055713.282 5       137.661  
+       107.269  
+ 01 10 22 10 43 30.0330000  0  1G17
+  34163369.611 6  34163376.269 5  -2290607.237 5  -1058709.985 5       118.537  
+        92.365  
+ 01 10 22 10 44  0.0330000  0  1G17
+  34162744.655 6  34162750.915 5  -2293891.370 5  -1061269.084 5       100.393  
+        78.224  
+ 01 10 22 10 44 30.0330000  0  1G17
+  34162226.813 6  34162234.151 5  -2296616.109 5  -1063392.297 5        81.284  
+        63.335  
+ 01 10 22 10 45  0.0330000  0  1G17
+  34161815.176 6  34161824.694 5  -2298776.978 5  -1065076.099 5        62.532  
+        48.725  
+ 01 10 22 10 45 30.0330000  0  1G17
+  34161511.082 6  34161518.362 5  -2300369.706 5  -1066317.234 5        43.533  
+        33.924  
+ 01 10 22 10 46  0.0330000  0  1G17
+  34161317.292 6  34161324.970 5  -2301390.771 5  -1067112.858 5        24.402  
+        19.019  
+ 01 10 22 10 46 30.0330000  0  1G17
+  34161231.097 6  34161237.708 5  -2301843.594 5  -1067465.742 5         5.537  
+         4.308  
+ 01 10 22 10 47  0.0330000  0  1G17
+  34161254.883 6  34161261.916 5  -2301722.753 5  -1067371.641 5       -13.595  
+       -10.601  
+ 01 10 22 10 47 30.0330000  0  1G17
+  34161386.721 6  34161394.048 5  -2301027.189 5  -1066829.703 5       -32.447  
+       -25.291  
+ 01 10 22 10 48  0.0330000  0  1G17
+  34161628.055 6  34161634.818 5  -2299761.497 5  -1065843.451 5       -51.890  
+       -40.438  
+ 01 10 22 10 48 30.0330000  0  1G17
+  34161978.162 6  34161986.098 5  -2297920.590 5  -1064408.954 5       -70.870  
+       -55.221  
+ 01 10 22 10 49  0.0330000  0  1G17
+  34162437.733 6  34162445.727 5  -2295505.964 5  -1062527.433 5       -90.158  
+       -70.254  
+ 01 10 22 10 49 30.0340000  0  1G17
+  34163006.547 5  34163015.737 5  -2292511.559 5  -1060194.196 5      -109.615  
+       -85.402  
+ 01 10 22 10 50  0.0340000  0  1G17
+  34163687.946 6  34163695.296 5  -2288936.992 5  -1057408.821 5      -128.743  
+      -100.322  
+ 01 10 22 10 50 30.0340000  0  1G17
+  34164478.910 6  34164487.948 5  -2284779.640 5  -1054169.364 5      -148.350  
+      -115.592  
+ 01 10 22 10 51  0.0340000  0  1G17
+  34165380.485 6  34165387.283 5  -2280041.648 5  -1050477.467 5      -167.536  
+      -130.554  
+ 01 10 22 10 51 30.0340000  0  1G17
+  34166392.103 6  34166398.855 5  -2274725.635 5  -1046335.111 5      -187.006  
+      -145.736  
+ 01 10 22 10 52  0.0340000  0  1G17
+  34167515.314 5  34167520.284 5  -2268821.595 5  -1041734.615 5      -206.595  
+      -160.975  
+ 01 10 22 10 52 30.0340000  0  1G17
+  34168750.305 5  34168758.077 5  -2262331.919 5  -1036677.680 5      -226.080  
+      -176.166  
+ 01 10 22 10 53  0.0340000  0  1G17
+  34170097.411 5  34170105.440 5  -2255251.698 5  -1031160.640 5      -245.751  
+      -191.485  
+ 01 10 22 10 53 30.0340000  0  1G17
+  34171557.326 5  34171565.883 5  -2247582.540 5  -1025184.703 5      -265.250  
+      -206.697  
+ 01 10 22 10 54  0.0340000  0  1G17
+  34173128.665 5  34173137.551 5  -2239324.528 5  -1018749.921 5      -285.174  
+      -222.197  
+ 01 10 22 10 54 30.0340000  0  1G17
+  34174814.075 6  34174822.292 5  -2230468.996 5  -1011849.613 5      -304.867  
+      -237.554  
+ 01 10 22 10 55  0.0340000  0  1G17
+  34176611.382 6  34176615.145 5  -2221025.292 5  -1004490.854 5      -324.721  
+      -253.021  
+ 01 10 22 10 55 30.0340000  0  1G17
+  34178520.813 5  34178532.301 5  -2210989.553 5   -996670.852 5      -344.130  
+      -268.148  
+ 01 10 22 10 56  0.0340000  0  1G17
+  34180543.632 5  34180547.523 5  -2200361.690 5   -988389.446 5      -364.209  
+      -283.786  
+ 01 10 22 10 56 30.0340000  0  1G17
+  34182678.921 5  34182685.497 5  -2189136.262 5   -979642.390 5      -383.944  
+      -299.165  
+ 01 10 22 10 57  0.0340000  0  1G17
+  34184927.714 5  34184935.615 5  -2177318.484 5   -970433.761 5      -403.556  
+      -314.464  
+ 01 10 22 10 57 30.0340000  0  1G17
+  34187290.434 5  34187296.975 5  -2164906.196 5   -960761.887 5      -423.351  
+      -329.897  
+ 01 10 22 10 58  0.0340000  0  1G17
+  34189765.879 5  34189770.228 5  -2151893.702 5   -950622.448 5      -443.777  
+      -345.782  
+ 01 10 22 10 58 30.0340000  0  1G17
+  34192357.188 5  34192366.625 5  -2138275.374 5   -940010.825 5      -463.779  
+      -361.365  
+ 01 10 22 10 59  0.0340000  0  1G17
+  34195063.218 5  34195071.400 5  -2124055.577 5   -928930.468 5      -484.075  
+      -377.205  
+ 01 10 22 10 59 30.0340000  0  1G17
+  34197884.869 5  34197892.864 4  -2109229.977 4   -917378.142 4      -504.337  
+      -392.953  
+ 01 10 22 11  0  0.0340000  0  1G17
+  34200822.115 5  34200829.664 5  -2093800.688 5   -905355.383 5      -524.412  
+      -408.635  
+ 01 10 22 11  0 30.0340000  0  1G17
+  34203871.490 5  34203877.340 5  -2077773.921 5   -892867.048 5      -544.198  
+      -424.049  
+ 01 10 22 11  1  0.0340000  0  1G17
+  34207036.568 5  34207041.679 5  -2061142.945 5   -879907.961 5      -564.648  
+      -440.004  
+ 01 10 22 11  1 30.0340000  0  1G17
+  34210316.220 5  34210320.100 5  -2043907.477 5   -866477.760 5      -584.679  
+      -455.595  
+ 01 10 22 11  2  0.0340000  0  1G17
+  34213711.799 5  34213717.238 5  -2026065.564 5   -852575.063 5      -604.382  
+      -470.943  
+ 01 10 22 11  2 30.0340000  0  1G17
+  34217221.187 5  34217228.009 5  -2007623.597 5   -838204.790 5      -624.603  
+      -486.676  
+ 01 10 22 11  3  0.0340000  0  1G17
+  34220844.752 5  34220852.923 5  -1988578.957 5   -823364.889 5      -644.951  
+      -502.552  
+ 01 10 22 11  3 30.0340000  0  1G17
+  34224585.081 5  34224596.405 5  -1968922.931 5   -808048.579 5      -664.996  
+      -518.181  
+ 01 10 22 11  4  0.0340000  0  1G17
+  34228441.426 5  34228449.081 5  -1948657.390 5   -792257.362 5      -685.905  
+      -534.464  
+ 01 10 22 11  4 30.0340000  0  1G17
+  34232415.199 5  34232423.416 5  -1927776.639 5   -775986.704 5      -706.145  
+      -550.246  
+ 01 10 22 11  5  0.0340000  0  1G17
+  34236503.585 5  34236515.096 5  -1906292.080 5   -759245.609 5      -726.324  
+      -565.958  
+ 01 10 22 11  5 30.0340000  0  1G17
+  34240707.618 5  34240715.319 5  -1884201.171 5   -742031.967 5      -746.334  
+      -581.591  
+ 01 10 22 11  6  0.0340000  0  1G17
+  34245027.078 5  34245034.932 5  -1861504.459 5   -724346.294 5      -766.817  
+      -597.514  
+ 01 10 22 11  6 30.0340000  0  1G17
+  34249463.455 5  34249470.394 5  -1838189.310 5   -706178.820 5      -787.468  
+      -613.623  
+ 01 10 22 11  7  0.0340000  0  1G17
+  34254017.445 5  34254027.186 5  -1814258.390 5   -687531.522 5      -807.852  
+      -629.486  
+ 01 10 22 11  7 30.0340000  0  1G17
+  34258686.959 5  34258695.399 5  -1789718.614 5   -668409.734 5      -828.149  
+      -645.321  
+ 01 10 22 11  8  0.0340000  0  1G17
+  34263472.821 5  34263483.007 5  -1764566.207 5   -648810.517 5      -848.577  
+      -661.242  
+ 01 10 22 11  8 30.0350000  0  1G17
+  34268376.614 5  34268385.007 4  -1738803.520 4   -628735.738 4      -869.292  
+      -677.362  
+ 01 10 22 11  9  0.0350000  0  1G17
+  34273395.658 4  34273404.426 5  -1712422.745 5   -608179.459 5      -889.447  
+      -693.079  
+ 01 10 22 11  9 30.0350000  0  1G17
+  34278533.217 5  34278541.798 5  -1685427.612 5   -587144.264 5      -910.129  
+      -709.185  
+ 01 10 22 11 10  0.0350000  0  1G17
+  34283786.297 5  34283795.534 4  -1657818.420 4   -565630.688 4      -930.820  
+      -725.312  
+ 01 10 22 11 10 30.0350000  0  1G17
+  34289157.544 4  34289165.878 5  -1629592.681 5   -543636.584 5      -950.776  
+      -740.870  
+ 01 10 22 11 11  0.0350000  0  1G17
+  34294644.824 4  34294654.014 5  -1600756.979 5   -521167.361 5      -971.376  
+      -756.929  
+ 01 10 22 11 11 30.0350000  0  1G17
+  34300249.108 4  34300261.205 4  -1571311.027 4   -498222.409 4      -991.970  
+      -772.966  
+ 01 10 22 11 12  0.0350000  0  1G17
+  34305969.149 4  34305979.347 4  -1541249.416 4   -474797.867 4     -1012.457  
+      -788.936  
+ 01 10 22 11 12 30.0350000  0  1G17
+  34311807.553 4  34311814.211 5  -1510570.996 5   -450892.606 5     -1032.791  
+      -804.771  
+ 01 10 22 11 13  0.0350000  0  1G17
+  34317763.873 5  34317775.782 5  -1479272.822 5   -426504.519 5     -1053.607  
+      -820.982  
+ 01 10 22 11 13 30.0350000  0  1G17
+  34323835.064 5  34323842.004 4  -1447364.516 4   -401640.946 4     -1073.627  
+      -836.597  
+ 01 10 22 11 14  0.0350000  0  1G17
+  34330025.161 4  34330032.933 5  -1414839.814 5   -376297.132 5     -1094.487  
+      -852.835  
+ 01 10 22 11 14 30.0350000  0  1G17
+  34336330.505 4  34336345.603 4  -1381701.065 4   -350474.836 4     -1115.010  
+      -868.833  
+ 01 10 22 11 15  0.0350000  0  1G17
+  34342753.570 5  34342765.245 5  -1347950.758 5   -324175.929 5     -1135.346  
+      -884.670  
+ 01 10 22 11 15 30.0350000  0  1G17
+  34349292.956 4  34349300.752 4  -1313580.752 4   -297394.150 4     -1156.108  
+      -900.934  
+ 01 10 22 11 16  0.0350000  0  1G17
+  34355950.958 4  34355960.793 4  -1278596.267 4   -270133.695 4     -1176.037  
+      -916.395  
+ 01 10 22 11 16 30.0350000  0  1G17
+  34362724.594 4  34362731.592 5  -1243004.389 5   -242399.737 5     -1196.757  
+      -932.536  
+ 01 10 22 11 17  0.0350000  0  1G17
+  34369614.710 4  34369620.641 5  -1206792.948 5   -214183.130 5     -1217.289  
+      -948.533  
+ 01 10 22 11 17 30.0350000  0  1G17
+  34376623.824 4  34376637.504 5  -1169963.842 5   -185485.201 5     -1237.624  
+      -964.378  
+ 01 10 22 11 18  0.0350000  0  1G17
+  34383747.653 5  34383754.265 5  -1132526.008 5   -156313.046 5     -1258.270  
+      -980.449  
+ 01 10 22 11 18 30.0350000  0  1G17
+  34390989.194 4  34390995.020 5  -1094470.187 5   -126659.241 5     -1278.613  
+      -996.329  
+ 01 10 22 11 19  0.0350000  0  1G17
+  34398348.417 4  34398353.903 4  -1055801.943 4    -96528.238 4     -1299.106  
+     -1012.317  
+ 01 10 22 11 19 30.0350000  0  1G17
+  34405823.490 5  34405830.465 5  -1016521.564 5    -65920.154 5     -1319.576  
+     -1028.231  
+ 01 10 22 11 20  0.0350000  0  1G17
+  34413413.365 4  34413421.559 5   -976629.133 5    -34835.346 5     -1339.991  
+     -1044.149  
+ 01 10 22 11 20 30.0350000  0  1G17
+  34421122.992 4  34421134.104 5   -936124.899 5     -3273.671 5     -1360.369  
+     -1060.014  
+ 01 10 22 11 21  0.0350000  0  1G17
+  34428948.283 5  34428959.419 5   -895004.527 5     28767.932 5     -1380.913  
+     -1076.037  
+ 01 10 22 11 21 30.0350000  0  1G17
+  34436888.557 5  34436896.938 5   -853275.395 5     61283.877 5     -1400.989  
+     -1091.670  
+ 01 10 22 11 22  0.0350000  0  1G17
+  34444946.246 5  34444952.975 5   -810932.719 5     94278.076 5     -1421.533  
+     -1107.677  
+ 01 10 22 11 22 30.0350000  0  1G17
+  34453121.605 5  34453127.759 5   -767975.512 5    127751.177 5     -1442.442  
+     -1123.976  
+ 01 10 22 11 23  0.0350000  0  1G17
+  34461411.786 5  34461422.957 5   -724403.174 5    161703.524 5     -1462.760  
+     -1139.809  
+ 01 10 22 11 23 30.0350000  0  1G17
+  34469821.167 5  34469830.229 5   -680217.720 5    196133.638 5     -1483.054  
+     -1155.622  
+ 01 10 22 11 24  0.0350000  0  1G17
+  34478344.556 5  34478352.492 5   -635424.637 5    231037.199 5     -1503.024  
+     -1171.175  
+ 01 10 22 11 24 30.0350000  0  1G17
+  34486985.199 5  34486993.299 5   -590020.758 5    266416.805 5     -1523.595  
+     -1187.204  
+ 01 10 22 11 25  0.0350000  0  1G17
+  34495740.965 5  34495750.940 4   -544007.296 4    302271.351 4     -1543.609  
+     -1202.821  
+ 01 10 22 11 25 30.0350000  0  1G17
+  34504612.661 5  34504618.956 5   -497384.954 5    338600.343 5     -1564.487  
+     -1219.077  
+ 01 10 22 11 26  0.0350000  0  1G17
+  34513601.605 5  34513612.483 5   -450154.072 5    375403.494 5     -1584.369  
+     -1234.583  
+ 01 10 22 11 26 30.0350000  0  1G17
+  34522703.765 5  34522715.135 5   -402315.076 5    412680.572 5     -1604.652  
+     -1250.371  
+ 01 10 22 11 27  0.0350000  0  1G17
+  34531923.614 4  34531932.816 5   -353870.776 5    450429.310 5     -1624.989  
+     -1266.218  
+ 01 10 22 11 27 30.0360000  0  1G17
+  34541258.067 5  34541263.060 5   -304817.714 5    488652.194 5     -1644.994  
+     -1281.807  
+ 01 10 22 11 28  0.0360000  0  1G17
+  34550707.353 5  34550716.343 5   -255158.107 5    527347.850 5     -1665.481  
+     -1297.763  
+ 01 10 22 11 28 30.0360000  0  1G17
+  34560273.805 4  34560280.920 5   -204890.231 5    566517.515 5     -1685.597  
+     -1313.437  
+ 01 10 22 11 29  0.0360000  0  1G17
+  34569953.266 4  34569960.780 4   -154017.533 4    606158.485 4     -1705.808  
+     -1329.198  
+ 01 10 22 11 29 30.0360000  0  1G17
+  34579750.239 4  34579759.007 5   -102541.776 5    646269.300 5     -1725.986  
+     -1344.908  
+ 01 10 22 11 30  0.0360000  0  1G17
+  34589660.237 5  34589670.083 5    -50465.602 5    686847.991 5     -1745.729  
+     -1360.310  
+ 01 10 22 11 30 30.0360000  0  1G17
+  34599682.747 5  34599691.996 5      2207.628 5    727891.885 5     -1766.183  
+     -1376.236  
+ 01 10 22 11 31  0.0360000  0  1G17
+  34609822.731 5  34609830.784 5     55485.408 5    769406.922 5     -1785.907  
+     -1391.618  
+ 01 10 22 11 31 30.0360000  0  1G17
+  34620073.439 4  34620090.120 5    109361.364 5    811388.062 5     -1805.912  
+     -1407.200  
+ 01 10 22 11 32  0.0360000  0  1G17
+  34630441.658 5  34630450.907 5    163840.656 5    853839.380 5     -1825.782  
+     -1422.677  
+ 01 10 22 11 32 30.0360000  0  1G17
+  34640923.726 5  34640930.912 5    218921.417 5    896759.246 5     -1846.069  
+     -1438.493  
+ 01 10 22 11 33  0.0360000  0  1G17
+  34651517.826 5  34651525.480 5    274598.211 5    940143.613 5     -1865.758  
+     -1453.839  
+ 01 10 22 11 33 30.0360000  0  1G17
+  34662225.673 5  34662234.335 5    330868.806 5    983990.690 5     -1885.527  
+     -1469.218  
+ 01 10 22 11 34  0.0360000  0  1G17
+  34673047.990 5  34673058.915 5    387734.605 5   1028301.624 5     -1905.449  
+     -1484.763  
+ 01 10 22 11 34 30.0360000  0  1G17
+  34683981.358 4  34683988.227 5    445193.880 5   1073074.882 5     -1925.148  
+     -1500.100  
+ 01 10 22 11 35  0.0360000  0  1G17
+  34695027.891 5  34695034.444 5    503245.441 5   1118309.722 5     -1945.057  
+     -1515.617  
+ 01 10 22 11 35 30.0360000  0  1G17
+  34706189.225 5  34706200.783 5    561894.858 5   1164010.435 5     -1964.852  
+     -1531.053  
+ 01 10 22 11 36  0.0360000  0  1G17
+  34717461.987 5  34717465.468 4    621131.938 4   1210169.122 4     -1984.367  
+     -1546.274  
+ 01 10 22 11 36 30.0360000  0  1G17
+  34728846.083 4  34728853.034 5    680956.927 5   1256785.734 5     -2003.880  
+     -1561.470  
+ 01 10 22 11 37  0.0360000  0  1G17
+  34740342.559 4  34740351.128 5    741371.179 5   1303861.663 5     -2023.721  
+     -1576.924  
+ 01 10 22 11 37 30.0360000  0  1G17
+  34751950.299 5  34751960.274 5    802369.925 5   1351392.987 5     -2043.076  
+     -1592.007  
+ 01 10 22 11 38  0.0360000  0  1G17
+  34763669.944 5  34763678.478 5    863955.156 5   1399381.379 5     -2062.864  
+     -1607.424  
+ 01 10 22 11 38 30.0360000  0  1G17
+  34775502.909 5  34775509.954 5    926129.838 5   1447828.978 5     -2082.128  
+     -1622.440  
+ 01 10 22 11 39  0.0360000  0  1G17
+  34787443.695 5  34787451.677 5    988885.589 5   1496729.419 5     -2101.491  
+     -1637.521  
+ 01 10 22 11 39 30.0360000  0  1G17
+  34799496.091 5  34799505.468 5   1052222.566 5   1546082.744 5     -2120.815  
+     -1652.603  
+ 01 10 22 11 40  0.0360000  0  1G17
+  34811660.421 5  34811675.296 5   1116141.515 5   1595889.536 5     -2140.198  
+     -1667.696  
+ 01 10 22 11 40 30.0360000  0  1G17
+  34823932.864 5  34823941.457 5   1180640.032 5   1646147.959 5     -2159.688  
+     -1682.863  
+ 01 10 22 11 41  0.0360000  0  1G17
+  34836317.397 5  34836328.310 5   1245716.470 5   1696856.701 5     -2178.811  
+     -1697.762  
+ 01 10 22 11 41 30.0360000  0  1G17
+  34848809.947 5  34848820.626 5   1311369.919 5   1748015.049 5     -2198.086  
+     -1712.785  
+ 01 10 22 11 42  0.0360000  0  1G17
+  34861414.471 5  34861423.275 4   1377596.423 4   1799619.932 4     -2217.062  
+     -1727.526  
+ 01 10 22 11 42 30.0360000  0  1G17
+  34874124.884 5  34874134.285 5   1444397.132 5   1851672.262 5     -2236.571  
+     -1742.800  
+ 01 10 22 11 43  0.0360000  0  1G17
+  34886945.992 4  34886952.873 4   1511770.978 4   1904171.301 4     -2255.250  
+     -1757.415  
+ 01 10 22 11 43 30.0360000  0  1G17
+  34899875.047 5  34899888.375 5   1579707.913 5   1957108.935 5     -2273.839  
+     -1771.807  
+ 01 10 22 11 44  0.0360000  0  1G17
+  34912910.024 4  34912923.458 5   1648209.131 5   2010486.224 5     -2292.854  
+     -1786.632  
+ 01 10 22 11 44 30.0360000  0  1G17
+  34926054.508 4  34926066.758 4   1717278.130 4   2064306.031 4     -2311.858  
+     -1801.464  
+ 01 10 22 11 45  0.0360000  0  1G17
+  34939302.641 4  34939318.243 4   1786913.120 4   2118566.896 4     -2330.678  
+     -1816.115  
+ 01 10 22 11 45 30.0360000  0  1G17
+  34952663.478 4  34952679.373 4   1857116.598 4   2173270.707 4     -2349.554  
+     -1830.857  
+ 01 10 22 11 46  0.0360000  0  1G17
+  34966125.703 4  34966134.249 4   1927872.326 4   2228404.847 4     -2368.100  
+     -1845.254  
+ 01 10 22 11 46 30.0370000  0  1G17
+  34979701.618 4  34979705.135 4   1999196.538 4   2283982.001 4     -2386.817  
+     -1859.926  
+ 01 10 22 11 47  0.0370000  0  1G17
+  34993380.975 4  34993392.193 4   2071079.668 4   2339994.653 4     -2405.214  
+     -1874.195  
+ 01 10 22 11 47 30.0370000  0  1G17
+  35007164.559 4  35007172.706 4   2143516.560 4   2396438.741 4     -2423.974  
+     -1888.746  
+ 01 10 22 11 48  0.0370000  0  1G17
+  35021055.693 4  35021070.123 4   2216509.248 4   2453315.955 4     -2442.273  
+     -1903.059  
+ 01 10 22 11 48 30.0370000  0  1G17
+  35035049.090 4  35035058.280 4   2290051.364 4   2510621.308 4     -2460.685  
+     -1917.401  
+ 01 10 22 11 49  0.0370000  0  1G17
+  35049151.142 4  35049166.885 4   2364145.823 4   2568357.091 4     -2479.115  
+     -1931.793  
+ 01 10 22 11 49 30.0370000  0  1G17
+  35063354.693 4         0.000 1   2438794.236 1         0.00011     -2497.635  
+         0.000  
+ 01 10 22 11 50  0.0370000  0  1G17
+  35077663.524 4         0.000 1   2513989.765 1         0.00011     -2515.670  
+         0.000  
+ 01 10 22 11 50 30.0370000  0  1G17
+  35092076.728 4         0.000 1   2589725.509 1         0.00011     -2533.457  
+         0.000  
+ 01 10 22 11 51  0.0370000  0  1G17
+  35106592.870 4         0.000 1   2666005.547 1         0.00011     -2551.724  
+         0.000  
+ 01 10 22 11 51 30.0370000  0  1G17
+  35121210.977 4         0.000 1   2742827.525 1         0.00011     -2569.913  
+         0.000  
+ 01 10 22 11 52  0.0370000  0  1G17
+  35135931.484 4         0.000 1   2820189.685 1         0.00011     -2587.739  
+         0.000  
+ 01 10 22 11 52 30.0370000  0  1G17
+  35150757.573 4         0.000 1   2898088.637 1         0.00011     -2605.520  
+         0.000  
+ 01 10 22 11 53  0.0370000  0  1G17
+  35165683.465 4  35165691.495 4   2976526.669 4     12255.085 4     -2623.451  
+     -2044.252  
+ 01 10 22 11 53 30.0370000  0  1G17
+  35180710.646 4         0.000 1   3055499.037 1         0.00011     -2641.038  
+         0.000  
+ 01 10 22 11 54  0.0370000  0  1G17
+  35195840.264 4         0.000 1   3135001.352 1         0.00011     -2658.993  
+         0.000  
+ 01 10 22 11 54 30.0370000  0  1G17
+  35211070.665 4         0.000 1   3215038.952 1         0.00011     -2676.861  
+         0.000  
+ 01 10 22 11 55  0.0370000  0  1G17
+  35226403.958 5         0.000 1   3295606.956 1         0.00011     -2694.326  
+         0.000  
+ 01 10 22 11 55 30.0370000  0  1G17
+  35241834.134 5         0.000 1   3376696.921 1         0.00011     -2711.605  
+         0.000  
+ 01 10 22 11 56  0.0370000  0  1G17
+  35257365.966 5         0.000 1   3458312.474 1         0.00011     -2729.224  
+         0.000  
+ 01 10 22 11 56 30.0370000  0  1G17
+  35272995.090 4  35273005.312 4   3540449.886 4     57618.087 4     -2746.605  
+     -2140.209  
+ 01 10 22 11 57  0.0370000  0  1G17
+  35288726.363 5  35288735.119 4   3623109.949 4    122028.262 4     -2763.826  
+     -2153.629  
+ 01 10 22 11 57 30.0370000  0  1G17
+  35304551.770 4  35304562.566 4   3706283.371 4    186838.419 4     -2781.188  
+     -2167.155  
+ 01 10 22 11 58  0.0370000  0  1G17
+  35320479.968 5  35320494.175 4   3789976.242 4    252053.334 4     -2798.138  
+     -2180.346  
+ 01 10 22 11 58 30.0370000  0  1G17
+  35336501.753 4  35336509.360 4   3874178.740 4    317665.450 4     -2815.505  
+     -2193.908  
+ 01 10 22 11 59  0.0370000  0  1G17
+  35352625.259 5  35352634.578 4   3958895.255 4    383677.949 4     -2832.351  
+     -2206.984  
+ 01 10 22 11 59 30.0370000  0  1G17
+  35368842.666 4  35368852.079 5   4044121.462 5    450087.837 5     -2849.533  
+     -2220.396  
+ 01 10 22 12  0  0.0370000  0  1G17
+  35385159.696 5         0.000 1   4129857.396 1         0.00011     -2866.176  
+         0.000  
+ 01 10 22 12  0 30.0370000  0  1G17
+  35401566.981 4         0.000 1   4216097.500 1         0.00011     -2883.053  
+         0.000  
+ 01 10 22 12  1  0.0370000  0  1G17
+  35418075.420 5         0.000 1   4302841.707 1         0.00011     -2899.729  
+         0.000  
+ 01 10 22 12  1 30.0370000  0  1G17
+  35434677.876 4         0.000 1   4390091.310 1         0.00011     -2916.620  
+         0.000  
+ 01 10 22 12  2  0.0370000  0  1G17
+  35451376.726 5         0.000 1   4477830.867 1         0.00011     -2933.031  
+         0.000  
+ 01 10 22 12  2 30.0370000  0  1G17
+  35468168.120 4  35468184.859 4   4566068.549 4     61895.016 4     -2949.353  
+     -2298.162  
+ 01 10 22 12  3  0.0370000  0  1G17
+  35485051.311 5  35485061.064 5   4654796.036 5    131032.971 5     -2965.852  
+     -2311.028  
+ 01 10 22 12  3 30.0370000  0  1G17
+  35502031.154 4  35502048.233 4   4744021.885 4    200559.244 4     -2982.008  
+     -2323.646  
+ 01 10 22 12  4  0.0370000  0  1G17
+  35519102.113 5  35519115.640 5   4833727.434 5    270459.431 5     -2998.525  
+     -2336.490  
+ 01 10 22 12  4 30.0370000  0  1G17
+  35536267.241 5  35536281.002 4   4923923.772 4    340741.904 4     -3014.835  
+     -2349.194  
+ 01 10 22 12  5  0.0370000  0  1G17
+  35553519.722 5  35553531.409 5   5014606.138 5    411403.266 5     -3030.866  
+     -2361.698  
+ 01 10 22 12  5 30.0380000  0  1G17
+  35570872.393 5  35570878.652 5   5105775.802 5    482444.140 5     -3046.875  
+     -2374.167  
+ 01 10 22 12  6  0.0380000  0  1G17
+  35588309.455 4  35588324.049 5   5197421.579 5    553856.177 5     -3062.753  
+     -2386.578  
+ 01 10 22 12  6 30.0380000  0  1G17
+  35605842.285 5  35605853.222 4   5289543.606 4    625639.183 4     -3078.544  
+     -2398.889  
+ 01 10 22 12  7  0.0380000  0  1G17
+  35623460.647 5  35623469.333 5   5382134.281 5    697787.467 5     -3094.444  
+     -2411.226  
+ 01 10 22 12  7 30.0380000  0  1G17
+  35641170.645 5  35641182.941 4   5475198.406 4    770304.590 4     -3109.886  
+     -2423.279  
+ 01 10 22 12  8  0.0380000  0  1G17
+  35658970.694 5  35658984.819 5   5568731.686 5    843187.400 5     -3125.506  
+     -2435.445  
+ 01 10 22 12  8 30.0380000  0  1G17
+  35676856.846 5  35676873.984 5   5662728.710 5    916431.439 5     -3140.761  
+     -2447.326  
+ 01 10 22 12  9  0.0380000  0  1G17
+  35694834.043 5  35694841.921 4   5757196.955 4    990042.719 4     -3156.661  
+     -2459.737  
+ 01 10 22 12  9 30.0380000  0  1G17
+  35712899.790 5  35712913.880 5   5852128.308 5   1064014.831 5     -3171.896  
+     -2471.591  
+ 01 10 22 12 10  0.0380000  0  1G17
+  35731052.236 5  35731063.970 5   5947524.655 5   1138349.360 5     -3187.436  
+     -2483.704  
+ 01 10 22 12 10 30.0380000  0  1G17
+  35749295.702 5  35749310.823 5   6043383.663 5   1213044.273 5     -3202.957  
+     -2495.793  
+ 01 10 22 12 11  0.0380000  0  1G17
+  35767623.240 5  35767637.553 5   6139698.792 5   1288094.689 5     -3218.083  
+     -2507.602  
+ 01 10 22 12 11 30.0380000  0  1G17
+  35786039.005 5  35786054.408 5   6236475.711 5   1363504.937 5     -3233.563  
+     -2519.629  
+ 01 10 22 12 12  0.0380000  0  1G17
+  35804542.367 5  35804551.932 5   6333708.274 5   1439270.180 5     -3248.614  
+     -2531.375  
+ 01 10 22 12 12 30.0380000  0  1G17
+  35823130.861 5  35823148.269 5   6431392.169 5   1515387.108 5     -3263.573  
+     -2543.032  
+ 01 10 22 12 13  0.0380000  0  1G17
+  35841805.192 5  35841817.430 5   6529518.105 5   1591848.588 5     -3278.098  
+     -2554.356  
+ 01 10 22 12 13 30.0380000  0  1G17
+  35860561.725 5  35860577.186 4   6628085.509 4   1668653.940 4     -3292.986  
+     -2565.892  
+ 01 10 22 12 14  0.0380000  0  1G17
+  35879400.850 5  35879412.935 4   6727093.085 4   1745802.473 4     -3307.491  
+     -2577.221  
+ 01 10 22 12 14 30.0380000  0  1G17
+  35898326.918 6  35898340.304 5   6826531.828 5   1823286.751 5     -3321.760  
+     -2588.377  
+ 01 10 22 12 15  0.0380000  0  1G17
+  35917331.747 5  35917348.064 5   6926409.131 5   1901112.905 5     -3336.779  
+     -2600.047  
+ 01 10 22 12 15 30.0380000  0  1G17
+  35936420.149 5  35936434.110 5   7026719.354 5   1979276.415 5     -3350.812  
+     -2611.017  
+ 01 10 22 12 16  0.0380000  0  1G17
+  35955593.130 5  35955607.278 5   7127465.783 5   2057779.705 5     -3365.633  
+     -2622.569  
+ 01 10 22 12 16 30.0380000  0  1G17
+  35974846.356 5  35974864.865 5   7228653.561 5   2136627.010 5     -3380.472  
+     -2634.126  
+ 01 10 22 12 17  0.0380000  0  1G17
+  35994184.804 5  35994195.377 5   7330273.253 5   2215810.847 5     -3394.407  
+     -2644.983  
+ 01 10 22 12 17 30.0380000  0  1G17
+  36013603.402 5  36013620.727 5   7432312.527 5   2295321.569 5     -3408.268  
+     -2655.795  
+ 01 10 22 12 18  0.0380000  0  1G17
+  36033099.441 5  36033117.950 5   7534769.306 5   2375157.742 5     -3422.272  
+     -2666.697  
+ 01 10 22 12 18 30.0380000  0  1G17
+  36052678.094 5  36052691.891 5   7637650.319 5   2455324.324 5     -3436.389  
+     -2677.687  
+ 01 10 22 12 19  0.0380000  0  1G17
+  36072333.829 5  36072341.835 5   7740938.129 5   2535807.900 5     -3449.813  
+     -2688.152  
+ 01 10 22 12 19 30.0380000  0  1G17
+  36092065.780 5  36092085.942 5   7844630.355 5   2616606.748 5     -3462.716  
+     -2698.226  
+ 01 10 22 12 20  0.0380000  0  1G17
+  36111874.205 6  36111888.564 5   7948717.574 5   2697713.307 5     -3476.319  
+     -2708.818  
+ 01 10 22 12 20 30.0380000  0  1G17
+  36131759.269 5  36131777.907 5   8053210.046 5   2779135.608 5     -3489.797  
+     -2719.298  
+ 01 10 22 12 21  0.0380000  0  1G17
+  36151716.034 5  36151735.809 4   8158103.967 4   2860870.873 4     -3503.072  
+     -2729.636  
+ 01 10 22 12 21 30.0380000  0  1G17
+  36171755.657 5  36171772.337 5   8263397.354 5   2942917.204 5     -3516.302  
+     -2739.963  
+ 01 10 22 12 22  0.0380000  0  1G17
+  36191865.420 4  36191885.840 4   8369079.734 4   3025266.797 4     -3529.350  
+     -2750.159  
+ 01 10 22 12 22 30.0380000  0  1G17
+  36212050.868 5  36212063.985 5   8475154.886 5   3107922.420 5     -3542.559  
+     -2760.427  
+ 01 10 22 12 23  0.0380000  0  1G17
+  36232314.653 6  36232328.696 5   8581629.249 5   3190889.084 5     -3555.606  
+     -2770.596  
+ 01 10 22 12 23 30.0380000  0  1G17
+  36252651.270 5  36252667.470 5   8688490.076 5   3274156.612 5     -3568.543  
+     -2780.660  
+ 01 10 22 12 24  0.0380000  0  1G17
+  36273054.321 4  36273070.661 5   8795737.045 5   3357725.700 5     -3581.327  
+     -2790.609  
+ 01 10 22 12 24 30.0390000  0  1G17
+  36293539.979 5         0.000 1   8903368.800 1         0.00011     -3593.974  
+         0.000  
+ 01 10 22 12 25  0.0390000  0  1G17
+  36314093.889 5         0.000 1   9011375.992 1         0.00011     -3606.453  
+         0.000  
+ 01 10 22 12 25 30.0390000  0  1G17
+  36334718.963 4  36334742.888 4   9119759.094 4     28180.145 4     -3618.912  
+     -2819.908  
+ 01 10 22 12 26  0.0390000  0  1G17
+  36355413.241 5  36355431.786 5   9228508.714 5    112919.784 5     -3631.166  
+     -2829.466  
+ 01 10 22 12 26 30.0390000  0  1G17
+  36376179.628 5  36376185.888 4   9337628.767 4    197947.997 4     -3643.642  
+     -2839.232  
+ 01 10 22 12 27  0.0390000  0  1G17
+  36397014.261 4  36397032.970 4   9447117.887 4    283263.707 4     -3655.710  
+     -2848.586  
+ 01 10 22 12 27 30.0390000  0  1G17
+  36417914.978 4  36417928.705 4   9556969.191 4    368862.008 4     -3668.212  
+     -2858.414  
+ 01 10 22 12 28  0.0390000  0  1G17
+  36438888.960 5  36438906.743 4   9667183.277 4    454742.510 4     -3679.721  
+     -2867.298  
+ 01 10 22 12 28 30.0390000  0  1G17
+  36459933.986 5  36459953.691 5   9777759.733 5    540905.584 5     -3691.742  
+     -2876.669  
+ 01 10 22 12 29  0.0390000  0  1G17
+  36481043.203 5  36481059.145 4   9888688.516 4    627343.312 4     -3703.679  
+     -2885.961  
+ 01 10 22 12 29 30.0390000  0  1G17
+  36502218.376 4  36502239.136 4   9999967.994 4    714054.142 4     -3715.213  
+     -2894.933  
+ 01 10 22 12 30  0.0390000  0  1G17
+  36523460.011 4         0.000 1  10111598.061 1         0.00011     -3726.947  
+         0.000  
+ 01 10 22 12 30 30.0390000  0  1G17
+  36544770.092 5         0.000 1  10223573.538 1         0.00011     -3737.974  
+         0.000  
+ 01 10 22 12 31  0.0390000  0  1G17
+  36566142.480 5         0.000 1  10335885.626 1         0.00011     -3749.446  
+         0.000  
+ 01 10 22 12 31 30.0390000  0  1G17
+  36587579.231 4         0.000 1  10448540.830 1         0.00011     -3760.657  
+         0.000  
+ 01 10 22 12 32  0.0390000  0  1G17
+  36609080.508 4  36609094.165 4  10561527.290 4     29371.885 4     -3771.381  
+     -2938.772  
+ 01 10 22 12 32 30.0390000  0  1G17
+  36630642.670 4         0.000 1  10674838.043 1         0.00011     -3782.935  
+         0.000  
+ 01 10 22 12 33  0.0390000  0  1G17
+  36652273.130 4         0.000 1  10788492.757 1         0.00011     -3793.930  
+         0.000  
+ 01 10 22 12 33 30.0390000  0  1G17
+  36673961.731 3         0.000 1  10902474.206 1         0.00011     -3804.794  
+         0.000  
+ 01 10 22 12 34  0.0390000  0  1G17
+  36695713.726 4         0.000 1  11016782.098 1         0.00011     -3815.288  
+         0.000  
+ 01 10 22 12 34 30.0390000  0  1G17
+  36717527.074 4         0.000 1  11131408.925 1         0.00011     -3826.200  
+         0.000  
+ 01 10 22 12 35  0.0390000  0  1G17
+  36739403.105 5         0.000 1  11246352.795 1         0.00011     -3836.667  
+         0.000  
+ 01 10 22 18 30 30.0580000  0  1G17
+  42893413.663 6         0.000 1    -11281.258 1         0.00011      2256.777  
+         0.000  
+ 01 10 22 18 31  0.0580000  0  1G17
+  42880520.455 5         0.000 1    -11293.341 1         0.00011      2259.287  
+         0.000  
+ 01 10 22 18 32 30.0580000  0  1G17
+  42841785.445 5         0.000 1    -65638.948 1         0.00011      2264.242  
+         0.000  
+ 01 10 22 18 33  0.0580000  0  1G17
+  42828852.515 4         0.000 1   -133591.338 1         0.00011      2266.062  
+         0.000  
+ 01 10 22 18 33 30.0580000  0  1G17
+  42815912.524 5  42815925.477 4   -201593.597 4    -37094.303 4      2267.582  
+      1766.949  
+ 01 10 22 18 34 30.0580000  0  1G17
+  42790006.020 5         0.000 1    -34048.969 1         0.00011      2270.229  
+         0.000  
+ 01 10 22 18 35  0.0580000  0  1G17
+  42777041.360 5         0.000 1   -102182.054 1         0.00011      2271.703  
+         0.000  
+ 01 10 22 18 35 30.0580000  0  1G17
+  42764066.053 4         0.000 1   -170356.448 1         0.00011      2273.142  
+         0.000  
+ 01 10 22 18 36  0.0580000  0  1G17
+  42751089.206 5         0.000 1   -238562.709 1         0.00011      2273.928  
+         0.000  
+ 01 10 22 18 38  0.0580000  0  1G17
+  42699106.542 5         0.000 1    -36445.314 1         0.00011      2278.294  
+         0.000  
+ 01 10 22 18 38 30.0580000  0  1G17
+  42686096.715 4         0.000 1   -104807.624 1         0.00011      2279.021  
+         0.000  
+ 01 10 22 18 39  0.0580000  0  1G17
+  42673084.268 5         0.000 1   -173191.760 1         0.00011      2279.880  
+         0.000  
+ 01 10 22 18 39 30.0580000  0  1G17
+  42660069.658 5         0.000 1   -241589.041 1         0.00011      2280.381  
+         0.000  
+ 01 10 22 18 40  0.0580000  0  1G17
+  42647049.274 5  42647053.318 5   -310003.761 5    -26655.479 5      2280.684  
+      1777.150  
+ 01 10 22 18 40 30.0580000  0  1G17
+  42634028.527 5  42634031.868 5   -378432.172 5    -79975.984 5      2281.324  
+      1777.641  
+ 01 10 22 18 41  0.0580000  0  1G17
+  42621003.411 5  42621007.760 4   -446878.574 4   -133310.586 4      2281.880  
+      1778.051  
+ 01 10 22 18 41 30.0580000  0  1G17
+  42607975.460 5  42607984.170 4   -515338.801 4   -186655.941 4      2282.085  
+      1778.282  
+ 01 10 22 18 42  0.0580000  0  1G17
+  42594947.320 5  42594952.946 5   -583804.994 5   -240006.007 5      2282.394  
+      1778.485  
+ 01 10 22 18 42 30.0580000  0  1G17
+  42581915.790 5  42581923.573 5   -652279.624 5   -293362.606 5      2282.453  
+      1778.538  
+ 01 10 22 18 43  0.0590000  0  1G17
+  42568884.958 5  42568892.718 4   -720757.988 4   -346722.067 4      2282.455  
+      1778.509  
+ 01 10 22 18 43 30.0590000  0  1G17
+  42555853.258 5  42555862.354 5   -789236.295 5   -400081.518 5      2282.538  
+      1778.586  
+ 01 10 22 18 44  0.0590000  0  1G17
+  42542821.910 5  42542828.744 4   -857711.233 4   -453438.470 4      2282.337  
+      1778.435  
+ 01 10 22 18 44 30.0590000  0  1G17
+  42529790.883 4  42529797.951 5   -926184.594 5   -506794.185 5      2282.433  
+      1778.505  
+ 01 10 22 18 45  0.0590000  0  1G17
+  42516762.733 5  42516770.470 5   -994651.031 5   -560144.388 5      2281.981  
+      1778.144  
+ 01 10 22 18 45 30.0590000  0  1G17
+  42503737.954 5  42503745.714 5  -1063103.349 5   -613483.572 5      2281.483  
+      1777.760  
+ 01 10 22 18 46  0.0590000  0  1G17
+  42490713.707 5  42490718.829 5  -1131547.146 5   -666816.197 5      2281.182  
+      1777.535  
+ 01 10 22 18 46 30.0590000  0  1G17
+  42477691.992 5  42477698.674 5  -1199977.790 5   -720138.543 5      2280.745  
+      1777.194  
+ 01 10 22 18 47  0.0590000  0  1G17
+  42464671.785 5  42464676.380 5  -1268393.020 5   -773448.867 5      2280.086  
+      1776.685  
+ 01 10 22 18 47 30.0590000  0  1G17
+  42451655.255 5  42451660.682 5  -1336789.733 5   -826744.839 5      2279.412  
+      1776.142  
+ 01 10 22 18 48  0.0590000  0  1G17
+  42438644.870 5  42438650.860 5  -1405162.124 5   -880021.843 5      2278.523  
+      1775.455  
+ 01 10 22 18 48 30.0590000  0  1G17
+  42425638.528 5  42425645.807 5  -1473512.153 5   -933281.351 5      2277.907  
+      1774.993  
+ 01 10 22 18 49  0.0590000  0  1G17
+  42412636.766 5  42412641.443 5  -1541833.703 5   -986518.734 5      2277.247  
+      1774.477  
+ 01 10 22 18 49 30.0590000  0  1G17
+  42399640.022 5  42399648.181 5  -1610133.472 5  -1039739.079 5      2276.118  
+      1773.602  
+ 01 10 22 18 50  0.0590000  0  1G17
+  42386650.416 5  42386658.094 5  -1678396.499 5  -1092930.907 5      2275.012  
+      1772.759  
+ 01 10 22 18 50 30.0590000  0  1G17
+  42373665.591 5  42373671.370 5  -1746629.267 5  -1146099.045 5      2273.968  
+      1771.915  
+ 01 10 22 18 51  0.0590000  0  1G17
+  42360686.986 5  42360694.382 5  -1814829.531 5  -1199241.976 5      2272.835  
+      1771.044  
+ 01 10 22 18 51 30.0590000  0  1G17
+  42347716.468 6  42347722.047 5  -1882993.718 5  -1252356.718 5      2271.763  
+      1770.208  
+ 01 10 22 18 52  0.0590000  0  1G17
+  42334749.821 5  42334753.678 5  -1951129.230 5  -1305449.177 5      2270.524  
+      1769.228  
+ 01 10 22 18 52 30.0590000  0  1G17
+  42321793.252 6  42321800.403 5  -2019221.059 5  -1358507.666 5      2268.774  
+      1767.873  
+ 01 10 22 18 53  0.0590000  0  1G17
+  42308843.302 5  42308849.398 5  -2087267.614 5  -1411530.821 5      2267.555  
+      1766.939  
+ 01 10 22 18 53 30.0590000  0  1G17
+  42295903.061 5  42295907.140 5  -2155272.011 5  -1464521.132 5      2266.056  
+      1765.749  
+ 01 10 22 18 54  0.0590000  0  1G17
+  42282971.994 5  42282979.145 5  -2223224.451 5  -1517471.002 5      2264.460  
+      1764.502  
+ 01 10 22 18 54 30.0590000  0  1G17
+  42270050.215 5  42270053.756 5  -2291128.871 5  -1570383.481 5      2262.650  
+      1763.110  
+ 01 10 22 18 55  0.0590000  0  1G17
+  42257138.464 5  42257144.278 5  -2358975.885 5  -1623251.040 5      2260.832  
+      1761.678  
+ 01 10 22 18 55 30.0590000  0  1G17
+  42244237.804 5  42244243.958 5  -2426772.317 5  -1676079.407 5      2258.781  
+      1760.099  
+ 01 10 22 18 56  0.0590000  0  1G17
+  42231348.299 5  42231356.891 5  -2494505.123 5  -1728857.953 5      2256.708  
+      1758.464  
+ 01 10 22 18 56 30.0590000  0  1G17
+  42218470.092 5  42218474.862 5  -2562177.833 5  -1781589.942 5      2254.733  
+      1756.934  
+ 01 10 22 18 57  0.0590000  0  1G17
+  42205604.855 6  42205611.853 5  -2629789.953 5  -1834274.521 5      2252.848  
+      1755.459  
+ 01 10 22 18 57 30.0590000  0  1G17
+  42192749.361 5  42192752.784 5  -2697338.546 5  -1886909.663 5      2250.186  
+      1753.358  
+ 01 10 22 18 58  0.0590000  0  1G17
+  42179910.758 6  42179915.236 5  -2764810.656 5  -1939485.261 5      2247.943  
+      1751.649  
+ 01 10 22 18 58 30.0590000  0  1G17
+  42167082.421 5  42167089.021 5  -2832218.446 5  -1992010.600 5      2245.794  
+      1749.959  
+ 01 10 22 18 59  0.0590000  0  1G17
+  42154269.110 5  42154276.272 5  -2899555.002 5  -2044480.605 5      2243.185  
+      1747.922  
+ 01 10 22 18 59 30.0590000  0  1G17
+  42141470.002 5  42141474.820 5  -2966816.199 5  -2096891.710 5      2240.596  
+      1745.922  
+ 01 10 22 19  0  0.0590000  0  1G17
+  42128685.681 5  42128693.324 5  -3033993.414 5  -2149237.476 5      2238.158  
+      1744.012  
+ 01 10 22 19  0 30.0590000  0  1G17
+  42115918.544 5  42115923.795 5  -3101087.641 5  -2201518.558 5      2235.244  
+      1741.739  
+ 01 10 22 19  1  0.0590000  0  1G17
+  42103166.703 6  42103173.748 5  -3168100.786 5  -2253736.490 5      2232.304  
+      1739.451  
+ 01 10 22 19  1 30.0590000  0  1G17
+  42090430.226 5  42090436.533 5  -3235025.934 5  -2305885.790 5      2229.448  
+      1737.232  
+ 01 10 22 19  2  0.0600000  0  1G17
+  42077711.458 5  42077719.300 5  -3301865.419 5  -2357968.459 5      2226.542  
+      1734.955  
+ 01 10 22 19  2 30.0600000  0  1G17
+  42065010.591 6  42065015.760 5  -3368612.313 5  -2409978.847 5      2223.331  
+      1732.467  
+ 01 10 22 19  3  0.0600000  0  1G17
+  42052326.058 6  42052331.778 5  -3435264.335 5  -2461915.358 5      2220.037  
+      1729.896  
+ 01 10 22 19  3 30.0600000  0  1G17
+  42039659.871 5  42039665.450 5  -3501821.376 5  -2513777.881 5      2216.825  
+      1727.393  
+ 01 10 22 19  4  0.0600000  0  1G17
+  42027014.727 6  42027021.022 6  -3568279.255 6  -2565563.119 6      2213.645  
+      1724.915  
+ 01 10 22 19  4 30.0600000  0  1G17
+  42014386.308 6  42014391.383 5  -3634640.450 5  -2617273.035 5      2210.406  
+      1722.385  
+ 01 10 22 19  5  0.0600000  0  1G17
+  42001778.956 6  42001784.372 5  -3700888.945 5  -2668895.142 5      2206.749  
+      1719.534  
+ 01 10 22 19  5 30.0600000  0  1G17
+  41989192.709 6  41989197.069 6  -3767032.657 6  -2720435.600 6      2202.921  
+      1716.561  
+ 01 10 22 19  6  0.0600000  0  1G17
+  41976625.550 6  41976631.317 5  -3833072.387 5  -2771894.995 5      2199.511  
+      1713.898  
+ 01 10 22 19  6 30.0600000  0  1G17
+  41964080.549 6  41964086.610 6  -3898999.148 6  -2823266.428 6      2195.894  
+      1711.080  
+ 01 10 22 19  7  0.0600000  0  1G17
+  41951554.942 6  41951561.178 5  -3964818.995 5  -2874554.489 5      2192.194  
+      1708.202  
+ 01 10 22 19  7 30.0600000  0  1G17
+  41939050.516 6  41939055.158 5  -4030529.713 5  -2925757.546 5      2188.456  
+      1705.291  
+ 01 10 22 19  8  0.0600000  0  1G17
+  41926568.701 6  41926576.016 5  -4096119.245 5  -2976866.131 5      2184.120  
+      1701.900  
+ 01 10 22 19  8 30.0600000  0  1G17
+  41914110.869 6  41914117.105 5  -4161588.584 5  -3027881.118 5      2180.263  
+      1698.898  
+ 01 10 22 19  9  0.0600000  0  1G17
+  41901675.506 7  41901680.969 6  -4226935.511 6  -3078800.718 6      2176.211  
+      1695.745  
+ 01 10 22 19  9 30.0600000  0  1G17
+  41889263.328 6  41889269.060 5  -4292159.344 5  -3129624.391 5      2172.046  
+      1692.501  
+ 01 10 22 19 10  0.0600000  0  1G17
+  41876875.910 7  41876880.892 6  -4357257.858 6  -3180350.397 6      2167.697  
+      1689.114  
+ 01 10 22 19 10 30.0600000  0  1G17
+  41864514.054 7  41864520.419 6  -4422219.908 6  -3230970.080 6      2163.175  
+      1685.584  
+ 01 10 22 19 11  0.0600000  0  1G17
+  41852177.866 7  41852184.079 5  -4487044.139 5  -3281482.377 5      2158.437  
+      1681.882  
+ 01 10 22 19 11 30.0600000  0  1G17
+  41839868.369 6  41839874.757 6  -4551732.353 6  -3331888.635 6      2153.936  
+      1678.385  
+ 01 10 22 19 12  0.0600000  0  1G17
+  41827584.823 7  41827589.277 6  -4616279.917 6  -3382185.326 6      2149.174  
+      1674.684  
+ 01 10 22 19 12 30.0600000  0  1G17
+  41815328.829 7  41815333.026 6  -4680688.308 6  -3432373.566 6      2144.565  
+      1671.086  
+ 01 10 22 19 13  0.0600000  0  1G17
+  41803099.857 7  41803104.077 6  -4744952.415 6  -3482449.377 6      2139.746  
+      1667.339  
+ 01 10 22 19 13 30.0600000  0  1G17
+  41790898.523 7  41790902.579 6  -4809069.383 6  -3532410.535 6      2134.729  
+      1663.418  
+ 01 10 22 19 14  0.0600000  0  1G17
+  41778727.230 7  41778732.435 6  -4873032.126 6  -3582251.533 6      2129.511  
+      1659.358  
+ 01 10 22 19 14 30.0600000  0  1G17
+  41766583.635 7  41766587.714 6  -4936844.818 6  -3631975.580 6      2124.687  
+      1655.600  
+ 01 10 22 19 15  0.0600000  0  1G17
+  41754468.283 7  41754472.796 6  -5000510.447 6  -3681585.049 6      2119.560  
+      1651.601  
+ 01 10 22 19 15 30.0600000  0  1G17
+  41742382.713 7  41742386.886 6  -5064019.725 6  -3731072.683 6      2114.288  
+      1647.496  
+ 01 10 22 19 16  0.0600000  0  1G17
+  41730326.864 7  41730331.225 6  -5127373.204 6  -3780438.887 6      2109.163  
+      1643.497  
+ 01 10 22 19 16 30.0600000  0  1G17
+  41718302.393 7  41718307.445 6  -5190559.199 6  -3829674.603 6      2103.535  
+      1639.111  
+ 01 10 22 19 17  0.0600000  0  1G17
+  41706310.803 7  41706316.207 6  -5253577.972 6  -3878780.001 6      2097.838  
+      1634.676  
+ 01 10 22 19 17 30.0600000  0  1G17
+  41694349.838 7  41694354.550 6  -5316430.569 6  -3927755.929 6      2092.322  
+      1630.373  
+ 01 10 22 19 18  0.0600000  0  1G17
+  41682422.776 7  41682427.336 6  -5379110.105 6  -3976597.005 6      2086.299  
+      1625.681  
+ 01 10 22 19 18 30.0600000  0  1G17
+  41670527.526 7  41670531.523 6  -5441619.566 6  -4025305.539 6      2080.717  
+      1621.338  
+ 01 10 22 19 19  0.0600000  0  1G17
+  41658665.564 7  41658668.905 6  -5503952.565 6  -4073876.595 6      2074.480  
+      1616.469  
+ 01 10 22 19 19 30.0600000  0  1G17
+  41646839.964 7  41646844.020 6  -5566096.868 6  -4122300.591 6      2068.484  
+      1611.803  
+ 01 10 22 19 20  0.0600000  0  1G17
+  41635048.233 7  41635053.027 6  -5628060.675 6  -4170583.950 6      2062.277  
+      1606.960  
+ 01 10 22 19 20 30.0610000  0  1G17
+  41623292.761 7  41623297.497 6  -5689836.266 6  -4218720.622 6      2056.050  
+      1602.113  
+ 01 10 22 19 21  0.0610000  0  1G17
+  41611573.359 7  41611577.532 6  -5751423.183 6  -4266710.282 6      2049.392  
+      1596.921  
+ 01 10 22 19 21 30.0610000  0  1G17
+  41599890.361 7  41599894.699 6  -5812814.581 6  -4314547.612 6      2043.211  
+      1592.106  
+ 01 10 22 19 22  0.0610000  0  1G17
+  41588245.174 7  41588250.320 6  -5874008.898 6  -4362231.373 6      2036.543  
+      1586.913  
+ 01 10 22 19 22 30.0610000  0  1G17
+  41576638.505 7  41576642.925 6  -5935002.342 6  -4409758.593 6      2029.663  
+      1581.549  
+ 01 10 22 19 23  0.0610000  0  1G17
+  41565069.358 7  41565073.519 6  -5995799.208 6  -4457132.658 6      2023.400  
+      1576.672  
+ 01 10 22 19 23 30.0610000  0  1G17
+  41553537.340 7  41553541.126 7  -6056400.675 7  -4504354.444 7      2016.492  
+      1571.289  
+ 01 10 22 19 24  0.0610000  0  1G17
+  41542044.246 7  41542047.892 7  -6116796.739 7  -4551416.182 7      2009.828  
+      1566.101  
+ 01 10 22 19 24 30.0610000  0  1G17
+  41530590.781 7  41530595.212 7  -6176984.811 7  -4598315.858 7      2002.725  
+      1560.556  
+ 01 10 22 19 25  0.0610000  0  1G17
+  41519176.762 7  41519181.533 7  -6236966.033 7  -4645054.342 7      1995.779  
+      1555.149  
+ 01 10 22 19 25 30.0610000  0  1G17
+  41507802.136 7  41507806.391 7  -6296736.528 7  -4691628.613 7      1988.640  
+      1549.588  
+ 01 10 22 19 26  0.0610000  0  1G17
+  41496469.296 7  41496473.410 7  -6356289.199 7  -4738033.160 7      1981.700  
+      1544.171  
+ 01 10 22 19 26 30.0610000  0  1G17
+  41485177.581 7  41485182.164 7  -6415628.351 7  -4784271.364 7      1974.042  
+      1538.213  
+ 01 10 22 19 27  0.0610000  0  1G17
+  41473928.383 7  41473932.872 7  -6474744.229 7  -4830335.569 7      1966.916  
+      1532.660  
+ 01 10 22 19 27 30.0610000  0  1G17
+  41462720.787 8  41462724.538 7  -6533639.564 7  -4876227.930 7      1959.530  
+      1526.897  
+ 01 10 22 19 28  0.0610000  0  1G17
+  41451555.931 8  41451559.307 7  -6592310.777 7  -4921945.651 7      1951.712  
+      1520.809  
+ 01 10 22 19 28 30.0610000  0  1G17
+  41440434.996 7  41440439.321 7  -6650752.640 7  -4967484.654 7      1944.208  
+      1514.963  
+ 01 10 22 19 29  0.0610000  0  1G17
+  41429357.555 8  41429361.833 7  -6708963.680 7  -5012843.791 7      1936.620  
+      1509.049  
+ 01 10 22 19 29 30.0610000  0  1G17
+  41418324.884 8  41418328.659 7  -6766940.199 7  -5058020.199 7      1928.516  
+      1502.738  
+ 01 10 22 19 30  0.0610000  0  1G17
+  41407337.630 8  41407341.499 7  -6824678.572 7  -5103011.029 7      1920.983  
+      1496.861  
+ 01 10 22 19 30 30.0610000  0  1G17
+  41396394.737 8  41396398.992 7  -6882183.339 7  -5147819.853 7      1912.873  
+      1490.547  
+ 01 10 22 19 31  0.0610000  0  1G17
+  41385497.618 8  41385501.064 7  -6939448.842 7  -5192442.226 7      1904.849  
+      1484.297  
+ 01 10 22 19 31 30.0610000  0  1G17
+  41374646.747 8  41374650.850 7  -6996468.179 7  -5236872.792 7      1896.744  
+      1477.981  
+ 01 10 22 19 32  0.0610000  0  1G17
+  41363843.159 8  41363847.250 7  -7053240.067 7  -5281110.527 7      1888.221  
+      1471.340  
+ 01 10 22 19 32 30.0610000  0  1G17
+  41353088.837 8  41353092.928 7  -7109756.653 7  -5325149.340 7      1879.837  
+      1464.807  
+ 01 10 22 19 33  0.0610000  0  1G17
+  41342380.853 8  41342384.580 7  -7166026.889 7  -5368996.192 7      1871.827  
+      1458.564  
+ 01 10 22 19 33 30.0610000  0  1G17
+  41331720.017 8  41331723.697 7  -7222049.626 7  -5412650.183 7      1863.243  
+      1451.873  
+ 01 10 22 19 34  0.0610000  0  1G17
+  41321107.819 8  41321111.195 7  -7277815.024 7  -5456103.681 7      1854.460  
+      1445.032  
+ 01 10 22 19 34 30.0610000  0  1G17
+  41310545.753 8  41310549.070 7  -7333320.877 7  -5499354.905 7      1845.588  
+      1438.119  
+ 01 10 22 19 35  0.0610000  0  1G17
+  41300032.883 8  41300036.552 7  -7388566.107 7  -5542403.062 7      1837.138  
+      1431.533  
+ 01 10 22 19 35 30.0610000  0  1G17
+  41289569.183 8  41289573.040 7  -7443550.532 7  -5585247.980 7      1828.091  
+      1424.483  
+ 01 10 22 19 36  0.0610000  0  1G17
+  41279157.556 8  41279160.908 7  -7498265.575 7  -5627883.009 7      1819.399  
+      1417.713  
+ 01 10 22 19 36 30.0610000  0  1G17
+  41268795.292 8  41268799.630 7  -7552718.034 7  -5670313.421 7      1810.669  
+      1410.918  
+ 01 10 22 19 37  0.0610000  0  1G17
+  41258484.676 8  41258489.048 7  -7606901.550 7  -5712534.270 7      1801.404  
+      1403.683  
+ 01 10 22 19 37 30.0610000  0  1G17
+  41248227.078 8  41248231.356 7  -7660804.553 7  -5754536.525 7      1792.332  
+      1396.618  
+ 01 10 22 19 38  0.0610000  0  1G17
+  41238020.625 8  41238024.939 7  -7714438.367 7  -5796329.037 7      1783.255  
+      1389.549  
+ 01 10 22 19 38 30.0610000  0  1G17
+  41227867.542 9  41227871.492 7  -7767794.144 7  -5837904.877 7      1773.686  
+      1382.090  
+ 01 10 22 19 39  0.0610000  0  1G17
+  41217767.475 9  41217770.734 7  -7820871.311 7  -5879263.643 7      1764.487  
+      1374.927  
+ 01 10 22 19 39 30.0620000  0  1G17
+  41207720.800 9  41207724.094 8  -7873667.342 8  -5920403.335 8      1755.043  
+      1367.564  
+ 01 10 22 19 40  0.0620000  0  1G17
+  41197728.176 9  41197731.317 8  -7926177.551 8  -5961320.313 8      1745.795  
+      1360.360  
+ 01 10 22 19 40 30.0620000  0  1G17
+  41187790.360 9  41187793.701 7  -7978399.585 7  -6002012.745 7      1735.777  
+      1352.553  
+ 01 10 22 19 41  0.0620000  0  1G17
+  41177909.071 8  41177913.198 7  -8030326.624 7  -6042475.278 7      1726.145  
+      1345.048  
+ 01 10 22 19 41 30.0620000  0  1G17
+  41168082.195 9  41168086.216 7  -8081965.623 7  -6082713.372 7      1716.398  
+      1337.452  
+ 01 10 22 19 42  0.0620000  0  1G17
+  41158312.453 9  41158316.344 8  -8133304.719 8  -6122717.797 8      1706.622  
+      1329.833  
+ 01 10 22 19 42 30.0620000  0  1G17
+  41148599.666 9  41148603.487 8  -8184347.365 8  -6162491.209 8      1696.571  
+      1322.002  
+ 01 10 22 19 43  0.0620000  0  1G17
+  41138941.758 9  41138945.591 8  -8235100.318 8  -6202038.895 8      1686.844  
+      1314.427  
+ 01 10 22 19 43 30.0620000  0  1G17
+  41129342.169 9  41129346.060 8  -8285547.969 8  -6241348.692 8      1676.503  
+      1306.365  
+ 01 10 22 19 44  0.0620000  0  1G17
+  41119800.750 9  41119804.536 8  -8335686.109 8  -6280417.299 8      1666.145  
+      1298.291  
+ 01 10 22 19 44 30.0620000  0  1G17
+  41110318.684 9  41110321.942 8  -8385513.774 8  -6319243.992 8      1655.835  
+      1290.257  
+ 01 10 22 19 45  0.0620000  0  1G17
+  41100895.397 9  41100898.691 8  -8435034.182 8  -6357831.256 8      1645.380  
+      1282.115  
+ 01 10 22 19 45 30.0620000  0  1G17
+  41091531.698 9  41091535.016 8  -8484241.326 8  -6396174.411 8      1634.877  
+      1273.927  
+ 01 10 22 19 46  0.0620000  0  1G17
+  41082227.672 9  41082230.931 8  -8533133.195 8  -6434271.913 8      1624.802  
+      1266.076  
+ 01 10 22 19 46 30.0620000  0  1G17
+  41072984.586 9  41072987.435 8  -8581707.074 8  -6472121.631 8      1613.621  
+      1257.367  
+ 01 10 22 19 47  0.0620000  0  1G17
+  41063802.827 9  41063806.168 8  -8629956.619 8  -6509718.606 8      1602.903  
+      1249.016  
+ 01 10 22 19 47 30.0620000  0  1G17
+  41054682.724 9  41054685.842 8  -8677883.038 8  -6547063.820 8      1592.038  
+      1240.548  
+ 01 10 22 19 48  0.0620000  0  1G17
+  41045624.284 9  41045627.355 8  -8725484.547 8  -6584155.844 8      1581.395  
+      1232.252  
+ 01 10 22 19 48 30.0620000  0  1G17
+  41036627.479 9  41036630.761 8  -8772762.271 8  -6620995.576 8      1570.420  
+      1223.702  
+ 01 10 22 19 49  0.0620000  0  1G17
+  41027692.693 9  41027695.917 8  -8819714.732 8  -6657581.842 8      1559.519  
+      1215.209  
+ 01 10 22 19 49 30.0620000  0  1G17
+  41018821.180 9  41018824.873 8  -8866333.983 8  -6693908.475 8      1548.448  
+      1206.580  
+ 01 10 22 19 50  0.0620000  0  1G17
+  41010014.188 9  41010017.564 8  -8912614.855 8  -6729971.436 8      1536.909  
+      1197.589  
+ 01 10 22 19 50 30.0620000  0  1G17
+  41001272.363 9  41001275.481 8  -8958554.386 8  -6765768.421 8      1525.669  
+      1188.830  
+ 01 10 22 19 51  0.0620000  0  1G17
+  40992595.970 9  40992599.123 9  -9004150.023 9  -6801297.436 9      1514.105  
+      1179.822  
+ 01 10 22 19 51 30.0620000  0  1G17
+  40983984.465 9  40983987.396 9  -9049401.460 9  -6836558.247 9      1502.821  
+      1171.027  
+ 01 10 22 19 52  0.0620000  0  1G17
+  40975438.970 9  40975441.853 9  -9094309.609 9  -6871551.555 9      1491.008  
+      1161.820  
+ 01 10 22 19 52 30.0620000  0  1G17
+  40966958.841 9  40966962.287 9  -9138871.822 9  -6906275.311 9      1479.443  
+      1152.811  
+ 01 10 22 19 53  0.0620000  0  1G17
+  40958545.494 9  40958548.729 8  -9183083.615 8  -6940726.007 8      1467.940  
+      1143.847  
+ 01 10 22 19 53 30.0620000  0  1G17
+  40950199.269 9  40950202.610 8  -9226943.865 8  -6974902.765 8      1456.159  
+      1134.668  
+ 01 10 22 19 54  0.0620000  0  1G17
+  40941919.379 9  40941922.591 8  -9270453.078 8  -7008805.996 8      1444.183  
+      1125.337  
+ 01 10 22 19 54 30.0620000  0  1G17
+  40933707.377 9  40933710.707 8  -9313608.835 8  -7042433.807 8      1432.539  
+      1116.264  
+ 01 10 22 19 55  0.0620000  0  1G17
+  40925563.172 9  40925565.622 9  -9356407.287 9  -7075783.207 9      1420.982  
+      1107.259  
+ 01 10 22 19 55 30.0620000  0  1G17
+  40917487.711 9  40917490.302 9  -9398842.863 9  -7108849.845 9      1408.377  
+      1097.434  
+ 01 10 22 19 56  0.0620000  0  1G17
+  40909483.698 9  40909486.547 9  -9440904.583 9  -7141625.168 9      1395.885  
+      1087.702  
+ 01 10 22 19 56 30.0620000  0  1G17
+  40901549.391 9  40901552.099 9  -9482599.167 9  -7174114.401 9      1383.650  
+      1078.169  
+ 01 10 22 19 57  0.0620000  0  1G17
+  40893684.995 9  40893687.761 9  -9523925.957 9  -7206317.049 9      1371.294  
+      1068.541  
+ 01 10 22 19 57 30.0620000  0  1G17
+  40885891.374 9  40885893.894 9  -9564882.048 9  -7238230.840 9      1359.281  
+      1059.181  
+ 01 10 22 19 58  0.0620000  0  1G17
+  40878167.395 9  40878169.950 9  -9605472.742 9  -7269859.910 9      1346.777  
+      1049.437  
+ 01 10 22 19 58 30.0630000  0  1G17
+  40870513.539 9  40870515.907 9  -9645692.873 9  -7301200.230 9      1334.350  
+      1039.753  
+ 01 10 22 19 59  0.0630000  0  1G17
+  40862931.883 9  40862934.497 9  -9685534.085 9  -7332245.295 9      1321.703  
+      1029.899  
+ 01 10 22 19 59 30.0630000  0  1G17
+  40855422.643 9  40855425.491 9  -9724995.857 9  -7362994.689 9      1309.103  
+      1020.081  
+ 01 10 22 20  0  0.0630000  0  1G17
+  40847986.089 9  40847989.512 9  -9764074.675 9  -7393445.676 9      1296.127  
+      1009.969  
+ 01 10 22 20  0 30.0630000  0  1G17
+  40840623.652 9  40840627.203 9  -9802764.829 9  -7423593.801 9      1283.359  
+      1000.020  
+ 01 10 22 20  1  0.0630000  0  1G17
+  40833333.773 9  40833337.383 9  -9841071.917 9  -7453443.427 9      1270.308  
+       989.851  
+ 01 10 22 20  1 30.0630000  0  1G17
+  40826119.146 9  40826122.534 9  -9878986.353 9  -7482987.107 9      1257.159  
+       979.604  
+ 01 10 22 20  2  0.0630000  0  1G17
+  40818978.391 9  40818981.439 9  -9916510.162 9  -7512226.394 9      1244.208  
+       969.509  
+ 01 10 22 20  2 30.0630000  0  1G17
+  40811912.706 9  40811915.589 9  -9953640.393 9  -7541159.003 9      1230.909  
+       959.151  
+ 01 10 22 20  3  0.0630000  0  1G17
+  40804922.540 9  40804925.224 9  -9990374.945 9  -7569783.280 9      1217.919  
+       949.029  
+ 01 10 22 20  3 30.0630000  0  1G17
+  40798007.974 9  40798010.154 9 -10026711.952 9  -7598097.808 9      1204.735  
+       938.752  
+ 01 10 22 20  4  0.0630000  0  1G17
+  40791168.167 9  40791171.145 9 -10062653.012 9  -7626103.794 9      1191.296  
+       928.280  
+ 01 10 22 20  4 30.0630000  0  1G17
+  40784405.502 9  40784408.714 9 -10098190.798 9  -7653795.535 9      1177.744  
+       917.720  
+ 01 10 22 20  5  0.0630000  0  1G17
+  40777719.870 9  40777723.106 9 -10133324.307 9  -7681172.246 9      1164.318  
+       907.260  
+ 01 10 22 20  5 30.0630000  0  1G17
+  40771112.222 9  40771115.727 9 -10168048.575 9  -7708230.084 9      1150.769  
+       896.701  
+ 01 10 22 20  6  0.0630000  0  1G17
+  40764581.767 9  40764584.639 9 -10202366.166 9  -7734971.030 9      1136.983  
+       885.959  
+ 01 10 22 20  6 30.0630000  0  1G17
+  40758129.983 9  40758133.172 9 -10236269.701 9  -7761389.328 9      1123.194  
+       875.216  
+ 01 10 22 20  7  0.0630000  0  1G17
+  40751756.332 9  40751759.743 9 -10269763.936 9  -7787488.692 9      1109.725  
+       864.719  
+ 01 10 22 20  7 30.0630000  0  1G17
+  40745460.018 9  40745463.031 9 -10302850.159 9  -7813270.128 9      1095.918  
+       853.961  
+ 01 10 22 20  8  0.0630000  0  1G17
+  40739243.910 9  40739246.993 9 -10335515.196 9  -7838723.368 9      1081.793  
+       842.955  
+ 01 10 22 20  8 30.0630000  0  1G17
+  40733108.651 9  40733111.628 9 -10367757.560 9  -7863847.258 9      1067.436  
+       831.768  
+ 01 10 22 20  9  0.0630000  0  1G17
+  40727053.913 9  40727056.785 9 -10399574.039 9  -7888639.294 9      1053.765  
+       821.116  
+ 01 10 22 20  9 30.0630000  0  1G17
+  40721078.819 9  40721081.210 9 -10430974.138 9  -7913106.867 9      1039.711  
+       810.163  
+ 01 10 22 20 10  0.0630000  0  1G17
+  40715185.158 9  40715187.549 9 -10461946.542 9  -7937241.189 9      1025.392  
+       799.007  
+ 01 10 22 20 10 30.0630000  0  1G17
+  40709371.769 9  40709374.734 9 -10492496.217 9  -7961046.098 9      1011.146  
+       787.905  
+ 01 10 22 20 11  0.0630000  0  1G17
+  40703638.772 9  40703641.562 9 -10522620.841 9  -7984519.802 9       997.117  
+       776.972  
+ 01 10 22 20 11 30.0630000  0  1G17
+  40697987.614 9  40697990.509 9 -10552318.718 9  -8007660.981 9       982.884  
+       765.882  
+ 01 10 22 20 12  0.0630000  0  1G17
+  40692418.555 9  40692421.157 9 -10581584.761 9  -8030465.664 9       968.205  
+       754.446  
+ 01 10 22 20 12 30.0630000  0  1G17
+  40686931.873 9  40686934.616 9 -10610417.661 9  -8052932.830 9       953.781  
+       743.206  
+ 01 10 22 20 13  0.0630000  0  1G17
+  40681527.750 9  40681530.270 9 -10638816.778 9  -8075061.991 9       939.505  
+       732.081  
+ 01 10 22 20 13 30.0630000  0  1G17
+  40676206.064 9  40676208.584 9 -10666782.934 9  -8096853.779 9       924.945  
+       720.736  
+ 01 10 22 20 14  0.0630000  0  1G17
+  40670967.869 9  40670970.261 9 -10694309.088 9  -8118302.710 9       910.186  
+       709.235  
+ 01 10 22 20 14 30.0630000  0  1G17
+  40665814.049 9  40665816.652 9 -10721392.030 9  -8139406.283 9       895.416  
+       697.727  
+ 01 10 22 20 15  0.0630000  0  1G17
+  40660743.705 9  40660746.460 9 -10748037.229 9  -8160168.767 9       880.891  
+       686.407  
+ 01 10 22 20 15 30.0630000  0  1G17
+  40655756.444 9  40655759.316 9 -10774244.421 9  -8180589.926 9       866.234  
+       674.985  
+ 01 10 22 20 16  0.0630000  0  1G17
+  40650854.230 9  40650856.679 9 -10800007.038 9  -8200664.673 9       851.243  
+       663.305  
+ 01 10 22 20 16 30.0630000  0  1G17
+  40646036.674 9  40646038.808 9 -10825323.568 9  -8220391.821 9       836.438  
+       651.769  
+ 01 10 22 20 17  0.0630000  0  1G17
+  40641303.976 9  40641305.899 9 -10850194.592 9  -8239771.839 9       821.444  
+       640.085  
+ 01 10 22 20 17 30.0640000  0  1G17
+  40636655.762 9  40636658.270 9 -10874619.389 9  -8258804.137 9       806.600  
+       628.519  
+ 01 10 22 20 18  0.0640000  0  1G17
+  40632094.476 9  40632096.808 9 -10898588.798 9  -8277481.586 9       791.354  
+       616.638  
+ 01 10 22 20 18 30.0640000  0  1G17
+  40627620.732 9  40627623.229 9 -10922099.185 9  -8295801.356 9       776.193  
+       604.827  
+ 01 10 22 20 19  0.0640000  0  1G17
+  40623234.235 9  40623236.720 9 -10945149.917 9  -8313762.949 9       760.835  
+       592.858  
+ 01 10 22 20 19 30.0640000  0  1G17
+  40618934.305 9  40618936.942 9 -10967747.526 9  -8331371.469 9       745.735  
+       581.092  
+ 01 10 22 20 20  0.0640000  0  1G17
+  40614720.390 9  40614723.110 9 -10989890.454 9  -8348625.688 9       730.511  
+       569.230  
+ 01 10 22 20 20 30.0640000  0  1G17
+  40610593.876 9  40610596.396 9 -11011574.212 9  -8365522.117 9       715.138  
+       557.249  
+ 01 10 22 20 21  0.0640000  0  1G17
+  40606555.946 9  40606558.513 9 -11032794.423 9  -8382057.343 9       699.669  
+       545.194  
+ 01 10 22 20 21 30.0640000  0  1G17
+  40602605.426 9  40602608.450 9 -11053554.759 9  -8398234.216 9       684.336  
+       533.249  
+ 01 10 22 20 22  0.0640000  0  1G17
+  40598742.898 9  40598745.665 9 -11073851.830 9  -8414050.104 9       668.708  
+       521.071  
+ 01 10 22 20 22 30.0640000  0  1G17
+  40594969.929 9  40594972.191 9 -11093679.221 9  -8429500.020 9       653.106  
+       508.914  
+ 01 10 22 20 23  0.0640000  0  1G17
+  40591285.869 9  40591288.190 9 -11113040.247 9  -8444586.531 9       637.577  
+       496.814  
+ 01 10 22 20 23 30.0640000  0  1G17
+  40587690.961 9  40587693.634 9 -11131930.283 9  -8459306.040 9       622.181  
+       484.815  
+ 01 10 22 20 24  0.0640000  0  1G17
+  40584185.829 9  40584188.701 9 -11150350.584 9  -8473659.511 9       606.232  
+       472.389  
+ 01 10 22 20 24 30.0640000  0  1G17
+  40580769.629 9  40580772.465 9 -11168301.632 9  -8487647.338 9       590.373  
+       460.031  
+ 01 10 22 20 25  0.0640000  0  1G17
+  40577444.509 9  40577447.112 9 -11185776.548 9  -8501264.159 9       574.773  
+       447.873  
+ 01 10 22 20 25 30.0640000  0  1G17
+  40574208.815 9  40574211.476 9 -11202778.773 9  -8514512.648 9       558.589  
+       435.262  
+ 01 10 22 20 26  0.0640000  0  1G17
+  40571064.710 9  40571067.406 9 -11219301.782 9  -8527387.721 9       542.747  
+       422.920  
+ 01 10 22 20 26 30.0640000  0  1G17
+  40568011.135 9  40568013.937 9 -11235348.471 9  -8539891.642 9       526.808  
+       410.500  
+ 01 10 22 20 27  0.0640000  0  1G17
+  40565048.735 9  40565051.619 9 -11250915.573 9  -8552021.854 9       511.062  
+       398.230  
+ 01 10 22 20 27 30.0640000  0  1G17
+  40562177.539 9  40562180.352 9 -11266005.250 9  -8563780.052 9       494.968  
+       385.689  
+ 01 10 22 20 28  0.0640000  0  1G17
+  40559398.510 9  40559401.170 9 -11280608.458 9  -8575159.179 9       478.532  
+       372.883  
+ 01 10 22 20 28 30.0640000  0  1G17
+  40556711.465 9  40556714.313 9 -11294729.163 9  -8586162.330 9       462.451  
+       360.351  
+ 01 10 22 20 29  0.0640000  0  1G17
+  40554118.008 9  40554121.009 9 -11308358.159 9  -8596782.332 9       446.084  
+       347.599  
+ 01 10 22 20 29 30.0640000  0  1G17
+  40551617.429 9  40551620.066 9 -11321499.134 9  -8607022.063 9       429.887  
+       334.977  
+ 01 10 22 20 30  0.0640000  0  1G17
+  40549208.633 9  40549211.177 9 -11334157.572 9  -8616885.789 9       413.827  
+       322.464  
+ 01 10 22 20 30 30.0640000  0  1G17
+  40546892.873 9  40546895.311 9 -11346326.062 9  -8626367.734 9       397.407  
+       309.667  
+ 01 10 22 20 31  0.0640000  0  1G17
+  40544672.454 9  40544674.693 9 -11357995.666 9  -8635460.931 9       380.620  
+       296.587  
+ 01 10 22 20 31 30.0640000  0  1G17
+  40542547.370 9  40542549.620 9 -11369164.000 9  -8644163.538 9       364.084  
+       283.700  
+ 01 10 22 20 32  0.0640000  0  1G17
+  40540516.757 9  40540519.172 9 -11379833.515 9  -8652477.447 9       347.352  
+       270.663  
+ 01 10 22 20 32 30.0640000  0  1G17
+  40538580.947 9  40538583.561 9 -11390006.768 9  -8660404.666 9       330.888  
+       257.835  
+ 01 10 22 20 33  0.0640000  0  1G17
+  40536739.239 9  40536741.888 9 -11399684.925 9  -8667946.093 9       314.270  
+       244.886  
+ 01 10 22 20 33 30.0640000  0  1G17
+  40534992.372 9  40534994.997 9 -11408864.285 9  -8675098.848 9       297.563  
+       231.867  
+ 01 10 22 20 34  0.0640000  0  1G17
+  40533339.770 9  40533342.173 9 -11417549.576 9  -8681866.603 9       281.145  
+       219.074  
+ 01 10 22 20 34 30.0640000  0  1G17
+  40531782.651 9  40531785.265 9 -11425731.384 9  -8688242.033 9       264.362  
+       205.996  
+ 01 10 22 20 35  0.0640000  0  1G17
+  40530321.325 9  40530323.974 9 -11433411.092 9  -8694226.221 9       247.710  
+       193.021  
+ 01 10 22 20 35 30.0640000  0  1G17
+  40528955.112 9  40528957.902 9 -11440588.997 9  -8699819.394 9       230.900  
+       179.922  
+ 01 10 22 20 36  0.0640000  0  1G17
+  40527685.458 9  40527688.330 9 -11447261.722 9  -8705018.908 9       213.897  
+       166.672  
+ 01 10 22 20 36 30.0650000  0  1G17
+  40526512.530 9  40526515.214 9 -11453425.872 9  -8709822.129 9       197.112  
+       153.592  
+ 01 10 22 20 37  0.0650000  0  1G17
+  40525436.025 9  40525438.603 9 -11459082.546 9  -8714229.910 9       179.798  
+       140.101  
+ 01 10 22 20 37 30.0650000  0  1G17
+  40524458.016 9  40524460.548 9 -11464223.115 9  -8718235.530 9       162.845  
+       126.892  
+ 01 10 22 20 38  0.0650000  0  1G17
+  40523577.224 9  40523579.569 9 -11468852.167 9  -8721842.568 9       145.585  
+       113.442  
+ 01 10 22 20 38 30.0650000  0  1G17
+  40522793.898 9  40522796.266 9 -11472968.335 9  -8725049.946 9       128.753  
+       100.327  
+ 01 10 22 20 39  0.0650000  0  1G17
+  40522107.698 9  40522110.101 9 -11476572.895 9  -8727858.669 9       111.344  
+        86.760  
+ 01 10 22 20 39 30.0650000  0  1G17
+  40521519.317 9  40521521.966 9 -11479665.801 9  -8730268.692 9        94.782  
+        73.857  
+ 01 10 22 20 40  0.0650000  0  1G17
+  40521027.563 9  40521030.306 9 -11482249.160 9  -8732281.668 9        77.383  
+        60.300  
+ 01 10 22 20 40 30.0650000  0  1G17
+  40520634.526 9  40520637.082 9 -11484314.372 9  -8733890.884 9        60.131  
+        46.855  
+ 01 10 22 20 41  0.0650000  0  1G17
+  40520339.796 9  40520342.105 9 -11485861.756 9  -8735096.600 9        42.722  
+        33.288  
+ 01 10 22 20 41 30.0650000  0  1G17
+  40520144.588 9  40520146.980 9 -11486888.421 9  -8735896.561 9        25.529  
+        19.891  
+ 01 10 22 20 42  0.0650000  0  1G17
+  40520047.765 9  40520050.485 9 -11487396.515 9  -8736292.436 9         8.457  
+         6.589  
+ 01 10 22 20 42 30.0650000  0  1G17
+  40520049.825 9  40520052.580 9 -11487385.599 9  -8736283.888 9        -9.076  
+        -7.075  
+ 01 10 22 20 43  0.0650000  0  1G17
+  40520151.394 9  40520154.336 9 -11486850.011 9  -8735866.496 9       -26.681  
+       -20.792  
+ 01 10 22 20 43 30.0650000  0  1G17
+  40520352.109 9  40520354.758 9 -11485795.369 9  -8735044.651 9       -43.802  
+       -34.134  
+ 01 10 22 20 44  0.0650000  0  1G17
+  40520652.072 9  40520654.558 9 -11484219.568 9  -8733816.706 9       -61.215  
+       -47.701  
+ 01 10 22 20 44 30.0650000  0  1G17
+  40521052.321 9  40521054.748 9 -11482116.441 9  -8732177.862 9       -79.096  
+       -61.635  
+ 01 10 22 20 45  0.0650000  0  1G17
+  40521553.319 9  40521555.745 9 -11479483.561 9  -8730126.221 9       -96.739  
+       -75.383  
+ 01 10 22 20 45 30.0650000  0  1G17
+  40522155.335 9  40522157.610 9 -11476321.191 9  -8727661.990 9      -113.991  
+       -88.825  
+ 01 10 22 20 46  0.0650000  0  1G17
+  40522856.643 9  40522858.905 9 -11472635.373 9  -8724789.890 9      -131.813  
+      -102.712  
+ 01 10 22 20 46 30.0650000  0  1G17
+  40523658.927 9  40523661.237 9 -11468419.470 9  -8721504.733 9      -149.368  
+      -116.392  
+ 01 10 22 20 47  0.0650000  0  1G17
+  40524561.262 9  40524563.513 9 -11463676.762 9  -8717809.081 9      -166.870  
+      -130.029  
+ 01 10 22 20 47 30.0650000  0  1G17
+  40525564.512 9  40525566.775 9 -11458404.795 9  -8713701.020 9      -184.512  
+      -143.776  
+ 01 10 22 20 48  0.0650000  0  1G17
+  40526668.127 9  40526670.131 9 -11452604.664 9  -8709181.403 9      -202.334  
+      -157.664  
+ 01 10 22 20 48 30.0650000  0  1G17
+  40527872.333 9  40527874.408 9 -11446277.630 9  -8704251.201 9      -219.468  
+      -171.015  
+ 01 10 22 20 49  0.0650000  0  1G17
+  40529178.116 9  40529180.167 9 -11439415.632 9  -8698904.131 9      -237.708  
+      -185.228  
+ 01 10 22 20 49 30.0650000  0  1G17
+  40530584.390 9  40530586.430 9 -11432024.011 9  -8693144.370 9      -255.185  
+      -198.848  
+ 01 10 22 20 50  0.0650000  0  1G17
+  40532092.946 9  40532095.209 9 -11424096.599 9  -8686967.127 9      -273.266  
+      -212.935  
+ 01 10 22 20 50 30.0650000  0  1G17
+  40533702.709 9  40533704.960 9 -11415635.813 9  -8680374.267 9      -290.818  
+      -226.612  
+ 01 10 22 20 51  0.0650000  0  1G17
+  40535414.813 9  40535417.357 9 -11406638.834 9  -8673363.589 9      -308.726  
+      -240.568  
+ 01 10 22 20 51 30.0650000  0  1G17
+  40537227.815 9  40537230.593 9 -11397110.388 9  -8665938.791 9      -326.274  
+      -254.241  
+ 01 10 22 20 52  0.0650000  0  1G17
+  40539142.179 9  40539144.875 9 -11387050.842 9  -8658100.146 9      -344.071  
+      -268.108  
+ 01 10 22 20 52 30.0650000  0  1G17
+  40541158.253 9  40541160.562 9 -11376456.590 9  -8649844.854 9      -361.923  
+      -282.019  
+ 01 10 22 20 53  0.0650000  0  1G17
+  40543276.006 9  40543278.081 9 -11365328.310 9  -8641173.440 9      -379.956  
+      -296.072  
+ 01 10 22 20 53 30.0650000  0  1G17
+  40545495.618 9  40545497.517 9 -11353664.755 9  -8632084.926 9      -397.762  
+      -309.944  
+ 01 10 22 20 54  0.0650000  0  1G17
+  40547817.789 9  40547819.477 9 -11341461.766 9  -8622576.085 9      -415.905  
+      -324.082  
+ 01 10 22 20 54 30.0650000  0  1G17
+  40550242.435 9  40550244.064 9 -11328720.559 9  -8612647.864 9      -433.436  
+      -337.743  
+ 01 10 22 20 55  0.0650000  0  1G17
+  40552767.808 9  40552769.203 9 -11315450.038 9  -8602307.183 9      -451.394  
+      -351.737  
+ 01 10 22 20 55 30.0660000  0  1G17
+  40555395.641 9  40555397.189 9 -11301641.499 9  -8591547.271 9      -469.393  
+      -365.762  
+ 01 10 22 20 56  0.0660000  0  1G17
+  40558127.001 9  40558128.689 9 -11287287.791 9  -8580362.538 9      -487.323  
+      -379.732  
+ 01 10 22 20 56 30.0660000  0  1G17
+  40560960.721 9  40560962.514 9 -11272395.403 9  -8568758.061 9      -505.516  
+      -393.909  
+ 01 10 22 20 57  0.0660000  0  1G17
+  40563898.700 9  40563900.540 9 -11256955.240 9  -8556726.745 9      -523.505  
+      -407.928  
+ 01 10 22 20 57 30.0660000  0  1G17
+  40566938.199 9  40566940.286 9 -11240983.154 9  -8544280.943 9      -541.427  
+      -421.892  
+ 01 10 22 20 58  0.0660000  0  1G17
+  40570080.762 9  40570082.895 9 -11224468.618 9  -8531412.451 9      -559.638  
+      -436.082  
+ 01 10 22 20 58 30.0660000  0  1G17
+  40573326.755 9  40573328.983 9 -11207411.035 9  -8518120.808 9      -577.546  
+      -450.037  
+ 01 10 22 20 59  0.0660000  0  1G17
+  40576675.318 9  40576677.733 9 -11189813.703 9  -8504408.577 9      -595.652  
+      -464.145  
+ 01 10 22 20 59 30.0660000  0  1G17
+  40580127.906 9  40580130.543 9 -11171669.905 9  -8490270.537 9      -614.029  
+      -478.466  
+ 01 10 22 21  0  0.0660000  0  1G17
+  40583683.222 9  40583685.989 9 -11152985.832 9  -8475711.495 9      -631.796  
+      -492.310  
+ 01 10 22 21  0 30.0660000  0  1G17
+  40587341.005 9  40587343.795 9 -11133763.171 9  -8460732.777 9      -649.816  
+      -506.351  
+ 01 10 22 21  1  0.0660000  0  1G17
+  40591102.538 9  40591105.398 9 -11113995.930 9  -8445329.708 9      -668.027  
+      -520.541  
+ 01 10 22 21  1 30.0660000  0  1G17
+  40594967.713 9  40594970.409 9 -11093683.869 9  -8429502.105 9      -686.054  
+      -534.589  
+ 01 10 22 21  2  0.0660000  0  1G17
+  40598936.732 9  40598939.042 9 -11072827.590 9  -8413250.442 9      -704.683  
+      -549.105  
+ 01 10 22 21  2 30.0660000  0  1G17
+  40603008.225 9  40603010.335 9 -11051430.714 9  -8396577.534 9      -722.329  
+      -562.853  
+ 01 10 22 21  3  0.0660000  0  1G17
+  40607183.734 9  40607185.715 9 -11029489.196 9  -8379480.235 9      -740.560  
+      -577.060  
+ 01 10 22 21  3 30.0660000  0  1G17
+  40611463.412 9  40611465.252 9 -11006999.983 9  -8361956.158 9      -759.212  
+      -591.594  
+ 01 10 22 21  4  0.0660000  0  1G17
+  40615847.288 9  40615849.234 9 -10983962.347 9  -8344004.741 9      -776.958  
+      -605.422  
+ 01 10 22 21  4 30.0660000  0  1G17
+  40620333.971 9  40620335.928 9 -10960385.064 9  -8325632.817 9      -795.068  
+      -619.534  
+ 01 10 22 21  5  0.0660000  0  1G17
+  40624925.053 9  40624926.952 9 -10936258.867 9  -8306833.168 9      -813.234  
+      -633.689  
+ 01 10 22 21  5 30.0660000  0  1G17
+  40629619.698 9  40629621.668 9 -10911587.727 9  -8287608.889 9      -831.534  
+      -647.949  
+ 01 10 22 21  6  0.0660000  0  1G17
+  40634417.963 9  40634419.979 9 -10886373.234 9  -8267961.211 9      -849.563  
+      -661.998  
+ 01 10 22 21  6 30.0660000  0  1G17
+  40639319.842 9  40639322.081 9 -10860612.765 9  -8247888.106 9      -867.880  
+      -676.271  
+ 01 10 22 21  7  0.0660000  0  1G17
+  40644325.888 9  40644328.174 9 -10834305.241 9  -8227388.731 9      -885.952  
+      -690.351  
+ 01 10 22 21  7 30.0660000  0  1G17
+  40649435.925 9  40649438.258 9 -10807452.264 9  -8206464.319 9      -904.227  
+      -704.595  
+ 01 10 22 21  8  0.0660000  0  1G17
+  40654649.288 9  40654651.597 9 -10780055.724 9  -8185116.352 9      -922.290  
+      -718.668  
+ 01 10 22 21  8 30.0660000  0  1G17
+  40659967.834 9  40659970.213 9 -10752107.278 9  -8163338.339 9      -940.556  
+      -732.901  
+ 01 10 22 21  9  0.0660000  0  1G17
+  40665389.036 9  40665391.451 9 -10723617.467 9  -8141138.471 9      -958.722  
+      -747.055  
+ 01 10 22 21  9 30.0660000  0  1G17
+  40670915.296 9  40670917.699 9 -10694576.881 9  -8118509.437 9      -977.363  
+      -761.583  
+ 01 10 22 21 10  0.0660000  0  1G17
+  40676546.046 9  40676548.589 9 -10664986.848 9  -8095452.257 9      -995.505  
+      -775.718  
+ 01 10 22 21 10 30.0660000  0  1G17
+  40682281.348 9  40682283.845 9 -10634848.603 9  -8071967.907 9     -1013.715  
+      -789.909  
+ 01 10 22 21 11  0.0660000  0  1G17
+  40688119.918 9  40688122.356 9 -10604165.754 9  -8048059.180 9     -1031.819  
+      -804.015  
+ 01 10 22 21 11 30.0660000  0  1G17
+  40694063.833 9  40694066.084 9 -10572930.823 9  -8023720.263 9     -1050.070  
+      -818.238  
+ 01 10 22 21 12  0.0660000  0  1G17
+  40700110.869 9  40700113.120 9 -10541153.267 9  -7998958.529 9     -1068.473  
+      -832.577  
+ 01 10 22 21 12 30.0660000  0  1G17
+  40706262.901 9  40706265.175 9 -10508824.079 9  -7973766.939 9     -1086.733  
+      -846.805  
+ 01 10 22 21 13  0.0660000  0  1G17
+  40712519.477 9  40712521.916 9 -10475944.899 9  -7948146.787 9     -1105.062  
+      -861.088  
+ 01 10 22 21 13 30.0660000  0  1G17
+  40718880.077 9  40718882.609 9 -10442520.017 9  -7922101.407 9     -1123.510  
+      -875.463  
+ 01 10 22 21 14  0.0660000  0  1G17
+  40725345.553 9  40725347.898 9 -10408544.328 9  -7895626.834 9     -1141.636  
+      -889.587  
+ 01 10 22 21 14 30.0670000  0  1G17
+  40731914.952 9  40731917.215 9 -10374021.293 9  -7868725.757 9     -1159.782  
+      -903.727  
+ 01 10 22 21 15  0.0670000  0  1G17
+  40738588.566 9  40738590.840 9 -10338951.025 9  -7841398.262 9     -1178.159  
+      -918.045  
+ 01 10 22 21 15 30.0670000  0  1G17
+  40745365.663 9  40745368.054 9 -10303337.247 9  -7813647.267 9     -1195.956  
+      -931.912  
+ 01 10 22 21 16  0.0670000  0  1G17
+  40752246.327 9  40752248.683 9 -10267179.129 9  -7785472.098 9     -1214.491  
+      -946.357  
+ 01 10 22 21 16 30.0670000  0  1G17
+  40759231.395 9  40759233.775 9 -10230472.194 9  -7756869.279 9     -1232.743  
+      -960.581  
+ 01 10 22 21 17  0.0670000  0  1G17
+  40766320.834 9  40766323.214 9 -10193217.819 9  -7727839.895 9     -1251.037  
+      -974.833  
+ 01 10 22 21 17 30.0670000  0  1G17
+  40773514.375 9  40773516.731 9 -10155414.873 9  -7698383.045 9     -1269.383  
+      -989.130  
+ 01 10 22 21 18  0.0670000  0  1G17
+  40780813.449 9  40780815.887 9 -10117057.774 9  -7668494.386 9     -1287.672  
+     -1003.382  
+ 01 10 22 21 18 30.0670000  0  1G17
+  40788215.964 9  40788218.215 9 -10078157.682 9  -7638182.619 9     -1305.607  
+     -1017.358  
+ 01 10 22 21 19  0.0670000  0  1G17
+  40795722.512 9  40795724.540 9 -10038710.799 9  -7607444.773 9     -1323.795  
+     -1031.529  
+ 01 10 22 21 19 30.0670000  0  1G17
+  40803332.407 9  40803334.481 9  -9998720.363 9  -7576283.386 9     -1342.196  
+     -1045.869  
+ 01 10 22 21 20  0.0670000  0  1G17
+  40811046.161 9  40811048.014 9  -9958185.000 9  -7544697.377 9     -1360.372  
+     -1060.029  
+ 01 10 22 21 20 30.0670000  0  1G17
+  40818864.120 9  40818866.089 9  -9917101.436 9  -7512684.205 9     -1378.828  
+     -1074.410  
+ 01 10 22 21 21  0.0670000  0  1G17
+  40826785.555 9  40826787.407 9  -9875473.255 9  -7480246.673 9     -1396.578  
+     -1088.241  
+ 01 10 22 21 21 30.0670000  0  1G17
+  40834811.703 9  40834813.625 9  -9833296.501 9  -7447381.661 9     -1414.975  
+     -1102.578  
+ 01 10 22 21 22  0.0670000  0  1G17
+  40842938.958 9  40842940.787 9  -9790586.670 9  -7414101.265 9     -1432.591  
+     -1116.305  
+ 01 10 22 21 22 30.0670000  0  1G17
+  40851169.771 9  40851171.565 9  -9747333.772 9  -7380397.708 9     -1451.068  
+     -1130.702  
+ 01 10 22 21 23  0.0670000  0  1G17
+  40859504.066 9  40859505.883 9  -9703535.630 9  -7346269.272 9     -1468.848  
+     -1144.556  
+ 01 10 22 21 23 30.0670000  0  1G17
+  40867942.093 9  40867943.898 9  -9659193.359 9  -7311716.863 9     -1487.030  
+     -1158.723  
+ 01 10 22 21 24  0.0670000  0  1G17
+  40876482.818 9  40876484.717 9  -9614312.674 9  -7276744.899 9     -1505.067  
+     -1172.779  
+ 01 10 22 21 24 30.0670000  0  1G17
+  40885126.546 9  40885128.339 9  -9568889.105 9  -7241349.924 9     -1523.166  
+     -1186.881  
+ 01 10 22 21 25  0.0670000  0  1G17
+  40893873.010 9  40893874.956 9  -9522926.172 9  -7205534.640 9     -1541.293  
+     -1201.010  
+ 01 10 22 21 25 30.0670000  0  1G17
+  40902722.429 9  40902724.340 9  -9476422.208 9  -7169297.783 9     -1559.004  
+     -1214.808  
+ 01 10 22 21 26  0.0670000  0  1G17
+  40911672.912 9  40911674.846 9  -9429385.976 9  -7132646.144 9     -1576.786  
+     -1228.665  
+ 01 10 22 21 26 30.0670000  0  1G17
+  40920726.246 9  40920728.426 9  -9381810.036 9  -7095573.969 9     -1594.747  
+     -1242.660  
+ 01 10 22 21 27  0.0670000  0  1G17
+  40929883.537 9  40929885.811 9  -9333688.136 9  -7058076.391 9     -1612.987  
+     -1256.875  
+ 01 10 22 21 27 30.0670000  0  1G17
+  40939142.062 9  40939144.313 9  -9285034.492 9  -7020164.449 9     -1630.773  
+     -1270.731  
+ 01 10 22 21 28  0.0670000  0  1G17
+  40948503.482 9  40948505.685 9  -9235839.574 9  -6981830.749 9     -1648.608  
+     -1284.630  
+ 01 10 22 21 28 30.0670000  0  1G17
+  40957966.889 9  40957969.058 9  -9186110.329 9  -6943080.687 9     -1666.448  
+     -1298.531  
+ 01 10 22 21 29  0.0670000  0  1G17
+  40967531.195 9  40967533.141 9  -9135848.935 9  -6903915.966 9     -1684.526  
+     -1312.618  
+ 01 10 22 21 29 30.0670000  0  1G17
+  40977198.319 9  40977200.312 9  -9085047.013 9  -6864330.044 9     -1702.063  
+     -1326.282  
+ 01 10 22 21 30  0.0670000  0  1G17
+  40986966.160 9  40986968.082 9  -9033716.733 9  -6824332.426 9     -1719.977  
+     -1340.242  
+ 01 10 22 21 30 30.0670000  0  1G17
+  40996835.012 9  40996836.875 9  -8981856.064 9  -6783921.555 9     -1737.437  
+     -1353.846  
+ 01 10 22 21 31  0.0670000  0  1G17
+  41006803.953 9  41006805.641 9  -8929470.315 9  -6743101.475 9     -1754.909  
+     -1367.462  
+ 01 10 22 21 31 30.0670000  0  1G17
+  41016874.659 9  41016876.487 9  -8876547.582 9  -6701862.993 9     -1773.054  
+     -1381.600  
+ 01 10 22 21 32  0.0670000  0  1G17
+  41027047.527 9  41027049.274 9  -8823088.485 9  -6660206.567 9     -1790.900  
+     -1395.507  
+ 01 10 22 21 32 30.0670000  0  1G17
+  41037321.333 9  41037323.314 9  -8769099.316 9  -6618137.082 9     -1808.447  
+     -1409.180  
+ 01 10 22 21 33  0.0670000  0  1G17
+  41047696.189 9  41047698.240 9  -8714579.386 9  -6575654.018 9     -1826.040  
+     -1422.887  
+ 01 10 22 21 33 30.0680000  0  1G17
+  41058172.004 9  41058173.985 9  -8659528.435 9  -6532757.164 9     -1843.700  
+     -1436.649  
+ 01 10 22 21 34  0.0680000  0  1G17
+  41068747.275 9  41068749.432 9  -8603955.806 9  -6489453.818 9     -1860.952  
+     -1450.093  
+ 01 10 22 21 34 30.0680000  0  1G17
+  41079421.910 9  41079424.078 9  -8547859.097 9  -6445742.097 9     -1878.656  
+     -1463.886  
+ 01 10 22 21 35  0.0680000  0  1G17
+  41090197.222 9  41090199.449 9  -8491234.511 9  -6401619.041 9     -1896.105  
+     -1477.484  
+ 01 10 22 21 35 30.0680000  0  1G17
+  41101072.434 9  41101074.720 9  -8434084.701 9  -6357086.729 9     -1914.058  
+     -1491.474  
+ 01 10 22 21 36  0.0680000  0  1G17
+  41112047.701 9  41112049.916 9  -8376409.608 9  -6312145.091 9     -1931.102  
+     -1504.753  
+ 01 10 22 21 36 30.0680000  0  1G17
+  41123122.771 9  41123125.022 9  -8318208.639 9  -6266793.697 9     -1948.956  
+     -1518.666  
+ 01 10 22 21 37  0.0680000  0  1G17
+  41134298.206 9  41134300.621 9  -8259480.972 9  -6221031.882 9     -1966.424  
+     -1532.279  
+ 01 10 22 21 37 30.0680000  0  1G17
+  41145571.952 9  41145574.308 9  -8200237.922 9  -6174868.452 9     -1983.161  
+     -1545.321  
+ 01 10 22 21 38  0.0680000  0  1G17
+  41156943.024 9  41156945.403 9  -8140482.440 9  -6128305.737 9     -2000.663  
+     -1558.958  
+ 01 10 22 21 38 30.0680000  0  1G17
+  41168414.246 9  41168416.508 9  -8080200.706 9  -6081332.942 9     -2018.087  
+     -1572.536  
+ 01 10 22 21 39  0.0680000  0  1G17
+  41179984.154 9  41179986.417 9  -8019399.505 9  -6033955.366 9     -2035.213  
+     -1585.881  
+ 01 10 22 21 39 30.0680000  0  1G17
+  41191651.032 9  41191653.189 9  -7958088.635 9  -5986180.658 9     -2052.179  
+     -1599.102  
+ 01 10 22 21 40  0.0680000  0  1G17
+  41203415.535 9  41203417.692 9  -7896266.486 9  -5938007.529 9     -2069.358  
+     -1612.489  
+ 01 10 22 21 40 30.0680000  0  1G17
+  41215278.060 9  41215280.380 9  -7833928.708 9  -5889432.619 9     -2086.566  
+     -1625.895  
+ 01 10 22 21 41  0.0680000  0  1G17
+  41227239.135 9  41227241.526 9  -7771072.604 9  -5840453.811 9     -2103.896  
+     -1639.400  
+ 01 10 22 21 41 30.0680000  0  1G17
+  41239298.660 9  41239300.887 9  -7707699.355 9  -5791072.067 9     -2120.687  
+     -1652.481  
+ 01 10 22 21 42  0.0680000  0  1G17
+  41251455.059 9  41251457.415 9  -7643817.834 9  -5741294.257 9     -2137.903  
+     -1665.898  
+ 01 10 22 21 42 30.0680000  0  1G17
+  41263709.582 9  41263711.809 9  -7579420.381 9  -5691114.451 9     -2154.969  
+     -1679.196  
+ 01 10 22 21 43  0.0680000  0  1G17
+  41276060.986 9  41276063.249 9  -7514513.376 9  -5640537.560 9     -2172.100  
+     -1692.545  
+ 01 10 22 21 43 30.0680000  0  1G17
+  41288508.705 9  41288510.967 9  -7449100.498 9  -5589566.488 9     -2189.275  
+     -1705.927  
+ 01 10 22 21 44  0.0680000  0  1G17
+  41301052.582 9  41301054.774 9  -7383182.042 9  -5538201.462 9     -2205.550  
+     -1718.611  
+ 01 10 22 21 44 30.0680000  0  1G17
+  41313692.308 9  41313694.265 9  -7316760.099 9  -5486444.114 9     -2222.489  
+     -1731.811  
+ 01 10 22 21 45  0.0680000  0  1G17
+  41326428.370 9  41326430.422 9  -7249831.812 9  -5434292.214 9     -2239.390  
+     -1744.979  
+ 01 10 22 21 45 30.0680000  0  1G17
+  41339259.773 9  41339261.836 9  -7182402.177 9  -5381749.634 9     -2255.886  
+     -1757.832  
+ 01 10 22 21 46  0.0680000  0  1G17
+  41352185.000 9  41352186.898 9  -7114479.698 9  -5328823.024 9     -2272.290  
+     -1770.616  
+ 01 10 22 21 46 30.0680000  0  1G17
+  41365205.749 9  41365207.859 9  -7046054.549 9  -5275504.706 9     -2289.207  
+     -1783.798  
+ 01 10 22 21 47  0.0680000  0  1G17
+  41378321.119 9  41378323.146 9  -6977132.286 9  -5221799.056 9     -2305.593  
+     -1796.565  
+ 01 10 22 21 47 30.0680000  0  1G17
+  41391531.522 9  41391533.515 9  -6907711.894 9  -5167705.223 9     -2322.318  
+     -1809.600  
+ 01 10 22 21 48  0.0680000  0  1G17
+  41404835.745 9  41404837.855 9  -6837798.052 9  -5113226.918 9     -2338.667  
+     -1822.338  
+ 01 10 22 21 48 30.0680000  0  1G17
+  41418234.612 9  41418236.745 9  -6767385.515 9  -5058360.015 9     -2355.330  
+     -1835.322  
+ 01 10 22 21 49  0.0680000  0  1G17
+  41431727.775 9  41431729.909 9  -6696479.953 9  -5003108.925 9     -2371.528  
+     -1847.943  
+ 01 10 22 21 49 30.0680000  0  1G17
+  41445314.616 9  41445316.644 9  -6625080.717 9  -4947473.187 9     -2388.025  
+     -1860.797  
+ 01 10 22 21 50  0.0680000  0  1G17
+  41458994.147 9  41458995.906 9  -6553194.531 9  -4891458.010 9     -2404.201  
+     -1873.403  
+ 01 10 22 21 50 30.0680000  0  1G17
+  41472766.970 9  41472768.658 9  -6480818.118 9  -4835060.823 9     -2420.598  
+     -1886.181  
+ 01 10 22 21 51  0.0680000  0  1G17
+  41486632.092 9  41486633.780 9  -6407955.635 9  -4778284.856 9     -2436.968  
+     -1898.935  
+ 01 10 22 21 51 30.0680000  0  1G17
+  41500590.038 9  41500591.702 9  -6334606.848 9  -4721129.988 9     -2453.338  
+     -1911.692  
+ 01 10 22 21 52  0.0680000  0  1G17
+  41514640.400 9  41514642.311 9  -6260771.070 9  -4663595.633 9     -2469.368  
+     -1924.183  
+ 01 10 22 21 52 30.0690000  0  1G17
+  41528783.843 9  41528786.035 9  -6186446.571 9  -4605680.463 9     -2485.519  
+     -1936.766  
+ 01 10 22 21 53  0.0690000  0  1G17
+  41543018.273 9  41543020.910 9  -6111642.526 9  -4547391.609 9     -2501.510  
+     -1949.228  
+ 01 10 22 21 53 30.0690000  0  1G17
+  41557343.475 9  41557346.475 9  -6036362.590 9  -4488731.934 9     -2517.469  
+     -1961.664  
+ 01 10 22 21 54  0.0690000  0  1G17
+  41571761.460 9  41571764.507 9  -5960596.633 9  -4429693.532 9     -2533.720  
+     -1974.328  
+ 01 10 22 21 54 30.0690000  0  1G17
+  41586269.356 9  41586272.298 9  -5884356.687 9  -4370285.812 9     -2549.127  
+     -1986.332  
+ 01 10 22 21 55  0.0690000  0  1G17
+  41600868.697 9  41600871.581 9  -5807637.620 9  -4310504.714 9     -2565.271  
+     -1998.912  
+ 01 10 22 21 55 30.0690000  0  1G17
+  41615557.585 9  41615560.222 9  -5730447.453 9  -4250356.530 9     -2581.075  
+     -2011.227  
+ 01 10 22 21 56  0.0690000  0  1G17
+  41630336.578 9  41630338.724 9  -5652783.905 9  -4189839.486 9     -2596.637  
+     -2023.354  
+ 01 10 22 21 56 30.0690000  0  1G17
+  41645205.477 9  41645207.470 9  -5574647.735 9  -4128954.181 9     -2612.568  
+     -2035.766  
+ 01 10 22 21 57  0.0690000  0  1G17
+  41660164.172 9  41660166.024 9  -5496038.808 9  -4067700.483 9     -2628.263  
+     -2047.997  
+ 01 10 22 21 57 30.0690000  0  1G17
+  41675211.359 9  41675213.152 9  -5416965.397 9  -4006084.864 9     -2643.610  
+     -2059.956  
+ 01 10 22 21 58  0.0690000  0  1G17
+  41690348.543 9  41690350.512 9  -5337418.468 9  -3944100.245 9     -2659.165  
+     -2072.075  
+ 01 10 22 21 58 30.0690000  0  1G17
+  41705573.054 9  41705575.317 9  -5257412.809 9  -3881758.191 9     -2674.669  
+     -2084.157  
+ 01 10 22 21 59  0.0690000  0  1G17
+  41720885.471 9  41720888.167 9  -5176945.073 9  -3819056.094 9     -2690.006  
+     -2096.108  
+ 01 10 22 21 59 30.0690000  0  1G17
+  41736286.821 9  41736289.353 9  -5096010.197 9  -3755989.975 9     -2705.845  
+     -2108.450  
+ 01 10 22 22  0  0.0690000  0  1G17
+  41751777.229 9  41751779.796 9  -5014608.750 9  -3692560.276 9     -2721.155  
+     -2120.379  
+ 01 10 22 22  0 30.0690000  0  1G17
+  41767355.365 9  41767357.827 9  -4932744.743 9  -3628770.139 9     -2736.653  
+     -2132.456  
+ 01 10 22 22  1  0.0690000  0  1G17
+  41783021.992 9  41783024.114 9  -4850416.879 9  -3564618.565 9     -2751.954  
+     -2144.381  
+ 01 10 22 22  1 30.0690000  0  1G17
+  41798775.803 9  41798778.101 9  -4767629.014 9  -3500108.516 9     -2767.093  
+     -2156.176  
+ 01 10 22 22  2  0.0690000  0  1G17
+  41814615.971 9  41814618.280 9  -4684389.182 9  -3435246.336 9     -2782.403  
+     -2168.105  
+ 01 10 22 22  2 30.0690000  0  1G17
+  41830541.153 9  41830543.592 9  -4600701.804 9  -3370035.406 9     -2797.118  
+     -2179.573  
+ 01 10 22 22  3  0.0690000  0  1G17
+  41846552.116 9  41846554.319 9  -4516563.028 9  -3304472.717 9     -2812.126  
+     -2191.270  
+ 01 10 22 22  3 30.0690000  0  1G17
+  41862649.040 9  41862651.314 9  -4431974.827 9  -3238559.828 9     -2827.104  
+     -2202.940  
+ 01 10 22 22  4  0.0690000  0  1G17
+  41878830.710 9  41878832.844 9  -4346938.688 9  -3172297.877 9     -2841.819  
+     -2214.405  
+ 01 10 22 22  4 30.0690000  0  1G17
+  41895097.524 9  41895099.528 9  -4261456.743 9  -3105688.575 9     -2857.020  
+     -2226.249  
+ 01 10 22 22  5  0.0690000  0  1G17
+  41911449.520 9  41911451.443 9  -4175525.193 9  -3038728.934 9     -2871.691  
+     -2237.681  
+ 01 10 22 22  5 30.0690000  0  1G17
+  41927886.610 9  41927888.520 9  -4089147.728 9  -2971421.826 9     -2886.776  
+     -2249.436  
+ 01 10 22 22  6  0.0690000  0  1G17
+  41944410.108 9  41944412.488 9  -4002315.746 9  -2903760.547 9     -2901.835  
+     -2261.170  
+ 01 10 22 22  6 30.0690000  0  1G17
+  41961016.948 9  41961019.339 9  -3915046.296 9  -2835758.357 9     -2916.218  
+     -2272.376  
+ 01 10 22 22  7  0.0690000  0  1G17
+  41977707.717 9  41977709.992 9  -3827336.378 9  -2767412.977 9     -2930.986  
+     -2283.886  
+ 01 10 22 22  7 30.0690000  0  1G17
+  41994482.570 9  41994484.833 9  -3739184.715 9  -2698723.396 9     -2945.646  
+     -2295.308  
+ 01 10 22 22  8  0.0690000  0  1G17
+  42011338.769 9  42011340.656 9  -3650604.125 9  -2629699.553 9     -2959.960  
+     -2306.460  
+ 01 10 22 22  8 30.0690000  0  1G17
+  42028278.744 9  42028280.373 9  -3561584.892 9  -2560333.956 9     -2974.473  
+     -2317.766  
+ 01 10 22 22  9  0.0690000  0  1G17
+  42045299.960 9  42045301.695 9  -3472136.713 9  -2490634.106 9     -2988.771  
+     -2328.913  
+ 01 10 22 22  9 30.0690000  0  1G17
+  42062403.705 9  42062405.745 9  -3382255.902 9  -2420597.131 9     -3003.181  
+     -2340.141  
+ 01 10 22 22 10  0.0690000  0  1G17
+  42079588.695 9  42079590.559 9  -3291948.977 9  -2350228.147 9     -3017.436  
+     -2351.248  
+ 01 10 22 22 10 30.0690000  0  1G17
+  42096854.988 9  42096857.180 9  -3201214.945 9  -2279526.383 9     -3031.425  
+     -2362.148  
+ 01 10 22 22 11  0.0690000  0  1G17
+  42114201.977 9  42114203.747 9  -3110055.644 9  -2208493.161 9     -3045.638  
+     -2373.221  
+ 01 10 22 22 11 30.0700000  0  1G17
+  42131630.353 9  42131632.311 9  -3018468.774 9  -2137126.851 9     -3059.684  
+     -2384.169  
+ 01 10 22 22 12  0.0700000  0  1G17
+  42149138.574 9  42149140.695 9  -2926461.853 9  -2065433.156 9     -3074.144  
+     -2395.436  
+ 01 10 22 22 12 30.0700000  0  1G17
+  42166728.137 9  42166730.482 9  -2834028.350 9  -1993407.049 9     -3088.216  
+     -2406.405  
+ 01 10 22 22 13  0.0700000  0  1G17
+  42184398.276 9  42184400.703 9  -2741171.765 9  -1921051.252 9     -3102.091  
+     -2417.217  
+ 01 10 22 22 13 30.0700000  0  1G17
+  42202146.571 9  42202149.291 9  -2647903.484 9  -1848374.664 9     -3115.917  
+     -2427.985  
+ 01 10 22 22 14  0.0700000  0  1G17
+  42219974.227 9  42219976.794 9  -2554218.148 9  -1775373.143 9     -3129.682  
+     -2438.716  
+ 01 10 22 22 14 30.0700000  0  1G17
+  42237880.990 9  42237883.299 9  -2460117.020 9  -1702047.587 9     -3143.666  
+     -2449.608  
+ 01 10 22 22 15  0.0700000  0  1G17
+  42255866.813 9  42255868.981 9  -2365602.569 9  -1628399.947 9     -3157.092  
+     -2460.073  
+ 01 10 22 22 15 30.0700000  0  1G17
+  42273929.162 9  42273930.979 9  -2270683.891 9  -1554437.282 9     -3170.885  
+     -2470.822  
+ 01 10 22 22 16  0.0700000  0  1G17
+  42292069.874 9  42292071.527 9  -2175353.571 9  -1480153.896 9     -3184.329  
+     -2481.297  
+ 01 10 22 22 16 30.0700000  0  1G17
+  42310287.978 9  42310289.924 9  -2079617.390 9  -1405554.233 9     -3198.184  
+     -2492.090  
+ 01 10 22 22 17  0.0700000  0  1G17
+  42328583.759 9  42328585.705 9  -1983471.393 9  -1330635.308 9     -3211.648  
+     -2502.585  
+ 01 10 22 22 17 30.0700000  0  1G17
+  42346957.525 9  42346960.010 9  -1886916.117 9  -1255397.464 9     -3225.100  
+     -2513.068  
+ 01 10 22 22 18  0.0700000  0  1G17
+  42365406.909 9  42365409.875 9  -1789962.381 9  -1179848.962 9     -3238.481  
+     -2523.493  
+ 01 10 22 22 18 30.0700000  0  1G17
+  42383932.930 9  42383935.638 9  -1692607.787 9  -1103988.251 9     -3251.865  
+     -2533.919  
+ 01 10 22 22 19  0.0700000  0  1G17
+  42402535.938 9  42402538.857 9  -1594849.788 9  -1027813.164 9     -3265.194  
+     -2544.307  
+ 01 10 22 22 19 30.0700000  0  1G17
+  42421213.875 9  42421216.360 9  -1496697.409 9   -951330.858 9     -3278.268  
+     -2554.492  
+ 01 10 22 22 20  0.0700000  0  1G17
+  42439966.631 9  42439968.835 9  -1398151.404 9   -874541.829 9     -3291.380  
+     -2564.710  
+ 01 10 22 22 20 30.0700000  0  1G17
+  42458793.383 9  42458795.633 9  -1299214.874 9   -797448.381 9     -3304.391  
+     -2574.852  
+ 01 10 22 22 21  0.0700000  0  1G17
+  42477696.138 9  42477698.447 9  -1199880.810 9   -720045.142 9     -3317.579  
+     -2585.129  
+ 01 10 22 22 21 30.0700000  0  1G17
+  42496673.119 9  42496675.299 9  -1100154.938 9   -642336.636 9     -3330.548  
+     -2595.230  
+ 01 10 22 22 22  0.0700000  0  1G17
+  42515723.930 9  42515726.310 9  -1000043.689 9   -564327.882 9     -3343.548  
+     -2605.361  
+ 01 10 22 22 22 30.0700000  0  1G17
+  42534847.891 9  42534850.258 9   -899544.851 9   -486017.102 9     -3356.481  
+     -2615.440  
+ 01 10 22 22 23  0.0700000  0  1G17
+  42554046.397 9  42554048.519 9   -798657.277 9   -407403.373 9     -3369.266  
+     -2625.405  
+ 01 10 22 22 23 30.0700000  0  1G17
+  42573315.682 9  42573317.991 9   -697395.831 9   -328498.397 9     -3381.530  
+     -2634.957  
+ 01 10 22 22 24  0.0700000  0  1G17
+  42592657.149 9  42592659.412 9   -595756.177 9   -249298.645 9     -3394.196  
+     -2644.827  
+ 01 10 22 22 24 30.0700000  0  1G17
+  42612070.714 9  42612073.105 9   -493737.571 9   -169803.614 9     -3406.893  
+     -2654.723  
+ 01 10 22 22 25  0.0700000  0  1G17
+  42631556.176 9  42631558.567 9   -391339.642 9    -90012.980 9     -3419.656  
+     -2664.667  
+ 01 10 22 22 25 30.0700000  0  1G17
+  42651113.774 9  42651116.248 9   -288565.332 9     -9929.105 9     -3432.058  
+     -2674.334  
+ 01 10 22 22 26  0.0700000  0  1G17
+  42670741.500 9  42670743.657 9   -185420.219 9     70443.883 9     -3444.272  
+     -2683.849  
+ 01 10 22 22 26 30.0700000  0  1G17
+  42690440.598 9  42690442.825 9    -81899.385 9    151109.509 9     -3456.865  
+     -2693.662  
+ 01 10 22 22 27  0.0700000  0  1G17
+  42710209.945 9  42710212.008 9     21989.758 9    232062.031 9     -3468.996  
+     -2703.110  
+ 01 10 22 22 27 30.0700000  0  1G17
+  42730049.331 9  42730051.453 9    126246.708 9    313301.254 9     -3481.408  
+     -2712.790  
+ 01 10 22 22 28  0.0700000  0  1G17
+  42749958.768 9  42749960.702 9    230870.198 9    394826.097 9     -3493.645  
+     -2722.322  
+ 01 10 22 22 28 30.0700000  0  1G17
+  42769937.873 9  42769939.596 9    335860.387 9    476636.645 9     -3505.715  
+     -2731.724  
+ 01 10 22 22 29  0.0700000  0  1G17
+  42789986.344 9  42789987.892 9    441216.180 9    558732.081 9     -3517.860  
+     -2741.190  
+ 01 10 22 22 29 30.0700000  0  1G17
+  42810102.230 9  42810103.625 9    546926.510 9    641103.730 9     -3529.654  
+     -2750.385  
+ 01 10 22 22 30  0.0700000  0  1G17
+  42830286.804 9  42830288.469 9    652996.905 9    723755.991 9     -3541.439  
+     -2759.565  
+ 01 10 22 22 30 30.0710000  0  1G17
+  42850538.910 9  42850540.903 9    759422.959 9    806685.418 9     -3553.316  
+     -2768.818  
+ 01 10 22 22 31  0.0710000  0  1G17
+  42870857.863 9  42870860.207 9    866200.071 9    889888.321 9     -3565.056  
+     -2777.965  
+ 01 10 22 22 31 30.0710000  0  1G17
+  42891244.077 9  42891246.257 9    973330.104 9    973366.255 9     -3577.070  
+     -2787.325  
+ 01 10 22 22 32  0.0710000  0  1G17
+  42911697.494 9  42911699.639 9   1080812.865 9   1057119.059 9     -3588.502  
+     -2796.237  
+ 01 10 22 22 32 30.0710000  0  1G17
+  42932216.472 9  42932218.031 9   1188640.172 9   1141140.377 9     -3599.778  
+     -2805.025  
+ 01 10 22 22 33  0.0710000  0  1G17
+  42952800.957 9  42952802.621 9   1296812.965 9   1225430.875 9     -3611.740  
+     -2814.344  
+ 01 10 22 22 33 30.0710000  0  1G17
+  42973450.091 9  42973452.048 9   1405325.064 9   1309985.703 9     -3622.801  
+     -2822.959  
+ 01 10 22 22 34  0.0710000  0  1G17
+  42994165.795 9  42994168.046 9   1514186.769 9   1394812.958 9     -3634.250  
+     -2831.875  
+ 01 10 22 22 34 30.0710000  0  1G17
+  43014945.474 9  43014947.713 9   1623385.094 9   1479902.551 9     -3645.746  
+     -2840.843  
+ 01 10 22 22 35  0.0710000  0  1G17
+  43035790.002 9  43035791.959 9   1732924.845 9   1565258.186 9     -3657.016  
+     -2849.625  
+ 01 10 22 22 35 30.0710000  0  1G17
+  43056698.637 9  43056700.876 9   1842800.482 9   1650875.535 9     -3667.917  
+     -2858.117  
+ 01 10 22 22 36  0.0710000  0  1G17
+  43077672.986 9  43077675.026 9   1953019.681 9   1736760.620 9     -3679.901  
+     -2867.454  
+ 01 10 22 22 36 30.0710000  0  1G17
+  43098710.382 9  43098712.691 9   2063573.745 9   1822906.562 9     -3690.799  
+     -2875.947  
+ 01 10 22 22 37  0.0710000  0  1G17
+  43119810.336 9  43119812.587 9   2174453.409 9   1909306.287 9     -3701.641  
+     -2884.395  
+ 01 10 22 22 37 30.0710000  0  1G17
+  43140972.885 9  43140975.511 9   2285664.657 9   1995964.404 9     -3712.514  
+     -2892.867  
+ 01 10 22 22 38  0.0710000  0  1G17
+  43162198.522 9  43162200.773 9   2397206.445 9   2082880.096 9     -3723.635  
+     -2901.534  
+ 01 10 22 22 38 30.0710000  0  1G17
+  43183487.548 9  43183490.069 9   2509079.171 9   2170053.610 9     -3734.660  
+     -2910.092  
+ 01 10 22 22 39  0.0710000  0  1G17
+  43204838.048 9         0.000 1   2621276.885 1         0.00011     -3745.425  
+         0.000  
+ 01 10 22 22 39 30.0710000  0  1G17
+  43226251.382 9  43226253.808 9   2733804.373 9         0.00019     -3756.084  
+     -2926.824  
+ 01 10 22 22 40  0.0710000  0  1G17
+  43247725.280 9  43247727.765 9   2846651.060 9     87928.726 9     -3766.802  
+     -2935.172  
+ 01 10 22 22 40 30.0710000  0  1G17
+  43269259.625 9  43269261.688 9   2959814.755 9    176108.154 9     -3777.301  
+     -2943.351  
+ 01 10 22 22 41  0.0710000  0  1G17
+  43290853.062 9  43290855.383 9   3073287.694 9    264528.585 9     -3787.915  
+     -2951.624  
+ 01 10 22 22 41 30.0710000  0  1G17
+  43312507.358 9  43312509.632 9   3187081.970 9    353199.416 9     -3798.366  
+     -2959.765  
+ 01 10 22 22 42  0.0710000  0  1G17
+  43334220.747 9  43334222.775 9   3301186.933 9    442112.353 9     -3808.717  
+     -2967.830  
+ 01 10 22 22 42 30.0710000  0  1G17
+  43355993.474 9  43355995.525 9   3415602.941 9    531267.636 9     -3819.115  
+     -2975.935  
+ 01 10 22 22 43  0.0710000  0  1G17
+  43377824.679 9  43377826.953 9   3530326.563 9    620662.701 9     -3829.215  
+     -2983.806  
+ 01 10 22 22 43 30.0710000  0  1G17
+  43399713.740 9  43399716.108 8   3645355.245 8    710295.438 8     -3839.452  
+     -2991.782  
+ 01 10 22 22 44  0.0710000  0  1G17
+  43421661.747 9  43421664.056 8   3760693.211 8    800169.218 8     -3849.863  
+     -2999.891  
+ 01 10 22 22 44 30.0710000  0  1G17
+  43443668.305 9  43443670.884 8   3876335.749 8    890280.286 8     -3859.975  
+     -3007.768  
+ 01 10 22 22 45  0.0710000  0  1G17
+  43465730.599 9  43465732.662 8   3992276.817 8    980623.958 8     -3869.687  
+     -3015.339  
+ 01 10 22 22 45 30.0710000  0  1G17
+  43487850.504 9  43487852.978 8   4108517.064 8   1071200.774 8     -3879.659  
+     -3023.110  
+ 01 10 22 22 46  0.0710000  0  1G17
+  43510025.754 9  43510027.911 8   4225048.705 8   1162004.632 8     -3889.147  
+     -3030.501  
+ 01 10 22 22 46 30.0710000  0  1G17
+  43532256.605 9  43532258.668 8   4341872.603 8   1253036.184 8     -3899.058  
+     -3038.223  
+ 01 10 22 22 47  0.0710000  0  1G17
+  43554543.413 9  43554546.602 8   4458991.617 8   1344297.732 8     -3909.183  
+     -3046.117  
+ 01 10 22 22 47 30.0710000  0  1G17
+  43576886.911 9  43576889.924 8   4576407.385 8   1435790.529 8     -3918.727  
+     -3053.555  
+ 01 10 22 22 48  0.0710000  0  1G17
+  43599285.479 9  43599288.316 8   4694111.367 8   1527507.879 8     -3928.338  
+     -3061.043  
+ 01 10 22 22 48 30.0710000  0  1G17
+  43621739.185 9  43621741.987 8   4812106.869 8   1619452.424 8     -3937.980  
+     -3068.553  
+ 01 10 22 22 49  0.0710000  0  1G17
+  43644247.434 9  43644249.872 8   4930387.930 8   1711619.502 8     -3947.354  
+     -3075.861  
+ 01 10 22 22 49 30.0720000  0  1G17
+  43666809.542 9  43666811.324 8   5048951.962 8   1804007.037 8     -3956.626  
+     -3083.088  
+ 01 10 22 22 50  0.0720000  0  1G17
+  43689424.433 9  43689427.317 8   5167794.107 8   1896611.292 8     -3965.877  
+     -3090.294  
+ 01 10 22 22 50 30.0720000  0  1G17
+  43712092.704 9  43712095.529 8   5286916.372 8   1989433.821 8     -3975.531  
+     -3097.814  
+ 01 10 22 22 51  0.0720000  0  1G17
+  43734814.729 9  43734817.014 8   5406321.689 8   2082476.932 8     -3984.880  
+     -3105.102  
+ 01 10 22 22 51 30.0720000  0  1G17
+  43757588.582 9  43757590.774 8   5525998.860 8   2175731.877 8     -3993.868  
+     -3112.105  
+ 01 10 22 22 52  0.0720000  0  1G17
+  43780415.936 9  43780418.093 8   5645957.767 8   2269206.326 8     -4003.150  
+     -3119.332  
+ 01 10 22 22 52 30.0720000  0  1G17
+  43803294.972 9  43803297.422 8   5766187.042 8   2362891.420 8     -4012.228  
+     -3126.409  
+ 01 10 22 22 53  0.0720000  0  1G17
+  43826225.695 9  43826228.286 8   5886688.741 8   2456788.781 8     -4021.085  
+     -3133.309  
+ 01 10 22 22 53 30.0720000  0  1G17
+  43849206.895 9  43849209.849 8   6007457.027 8   2550893.887 8     -4029.784  
+     -3140.085  
+ 01 10 22 22 54  0.0720000  0  1G17
+  43872239.055 9  43872241.634 8   6128489.341 8   2645204.754 8     -4038.672  
+     -3147.018  
+ 01 10 22 22 54 30.0720000  0  1G17
+  43895320.828 9  43895323.185 8   6249786.116 8   2739721.722 8     -4047.860  
+     -3154.178  
+ 01 10 22 22 55  0.0720000  0  1G17
+  43918452.536 9  43918455.455 8   6371345.187 8   2834443.125 8     -4056.354  
+     -3160.793  
+ 01 10 22 22 55 30.0720000  0  1G17
+  43941633.223 9  43941636.154 8   6493160.450 8   2929364.062 8     -4065.022  
+     -3167.553  
+ 01 10 22 22 56  0.0720000  0  1G17
+  43964863.674 8  43964866.499 8   6615237.153 8   3024488.842 8     -4073.872  
+     -3174.451  
+ 01 10 22 22 56 30.0720000  0  1G17
+  43988142.618 8  43988145.537 8   6737568.659 8   3119812.098 8     -4082.033  
+     -3180.809  
+ 01 10 22 22 57  0.0720000  0  1G17
+  44011470.412 8  44011472.533 7   6860157.881 7   3215336.133 7     -4090.522  
+     -3187.417  
+ 01 10 22 22 57 30.0720000  0  1G17
+  44034846.787 9  44034848.709 7   6982999.579 7   3311056.923 7     -4098.943  
+     -3193.985  
+ 01 10 22 22 58  0.0720000  0  1G17
+  44058270.801 9  44058272.535 8   7106092.014 8   3406973.089 8     -4107.083  
+     -3200.323  
+ 01 10 22 22 58 30.0720000  0  1G17
+  44081742.385 9  44081744.682 8   7229436.848 8   3503085.966 8     -4115.714  
+     -3207.046  
+ 01 10 22 22 59  0.0720000  0  1G17
+  44105260.668 9  44105262.661 7   7353028.206 7   3599390.914 7     -4123.785  
+     -3213.338  
+ 01 10 22 22 59 30.0720000  0  1G17
+  44128825.755 8  44128827.842 7   7476864.281 7   3695886.509 7     -4131.780  
+     -3219.565  
+ 01 10 22 23  0  0.0720000  0  1G17
+  44152437.895 8  44152440.298 7   7600946.737 7   3792574.074 7     -4140.047  
+     -3226.006  
+ 01 10 22 23  0 30.0720000  0  1G17
+  44176094.940 8  44176097.226 7   7725262.792 7   3889443.648 7     -4147.966  
+     -3232.178  
+ 01 10 22 23  1  0.0720000  0  1G17
+  44199796.681 9  44199799.624 7   7849816.464 7   3986498.414 7     -4155.541  
+     -3238.079  
+ 01 10 22 23  1 30.0720000  0  1G17
+  44223543.134 8  44223546.170 7   7974604.207 7   4083735.606 7     -4163.837  
+     -3244.545  
+ 01 10 22 23  2  0.0720000  0  1G17
+  44247335.482 8  44247337.733 7   8099633.196 7   4181160.800 7     -4171.597  
+     -3250.596  
+ 01 10 22 23  2 30.0720000  0  1G17
+  44271171.979 9  44271173.514 7   8224896.689 7   4278768.798 7     -4179.121  
+     -3256.460  
+ 01 10 22 23  3  0.0720000  0  1G17
+  44295052.368 9  44295054.032 7   8350389.468 7   4376555.414 7     -4187.203  
+     -3262.760  
+ 01 10 22 23  3 30.0720000  0  1G17
+  44318977.876 8  44318980.068 7   8476119.005 7   4474526.489 7     -4194.688  
+     -3268.583  
+ 01 10 22 23  4  0.0720000  0  1G17
+  44342947.106 7  44342950.353 7   8602077.715 7   4572676.128 7     -4202.265  
+     -3274.490  
+ 01 10 22 23  4 30.0720000  0  1G17
+  44366960.013 8  44366963.119 7   8728266.665 7   4671005.195 7     -4210.110  
+     -3280.604  
+ 01 10 22 23  5  0.0720000  0  1G17
+  44391014.031 8  44391016.680 7   8854671.102 7   4769502.106 7     -4216.973  
+     -3285.953  
+ 01 10 22 23  5 30.0720000  0  1G17
+  44415110.649 8  44415112.735 7   8981296.985 7   4868171.586 7     -4224.606  
+     -3291.902  
+ 01 10 22 23  6  0.0720000  0  1G17
+  44439249.891 8  44439251.684 7   9108148.354 7   4967016.735 7     -4232.162  
+     -3297.786  
+ 01 10 22 23  6 30.0720000  0  1G17
+  44463430.307 7  44463432.229 7   9235217.561 7   5066031.663 7     -4239.110  
+     -3303.198  
+ 01 10 22 23  7  0.0720000  0  1G17
+  44487650.960 7  44487653.163 7   9362501.521 7   5165213.975 7     -4246.270  
+     -3308.779  
+ 01 10 22 23  7 30.0720000  0  1G17
+  44511912.958 7  44511915.396 7   9489997.887 7   5264561.750 7     -4253.333  
+     -3314.281  
+ 01 10 22 23  8  0.0720000  0  1G17
+  44536215.732 7  44536218.287 7   9617710.203 7   5364077.757 7     -4260.728  
+     -3320.050  
+ 01 10 22 23  8 30.0730000  0  1G17
+  44560560.209 7  44560562.612 7   9745640.336 7   5463763.595 7     -4267.929  
+     -3325.660  
+ 01 10 22 23  9  0.0730000  0  1G17
+  44584943.695 7  44584946.649 7   9873776.655 7   5563610.061 7     -4274.625  
+     -3330.872  
+ 01 10 22 23  9 30.0730000  0  1G17
+  44609366.355 7  44609368.957 7  10002119.516 7   5663617.435 7     -4281.381  
+     -3336.141  
+ 01 10 22 23 10  0.0730000  0  1G17
+  44633829.066 7  44633831.586 7  10130670.670 7   5763787.120 7     -4288.351  
+     -3341.571  
+ 01 10 22 23 10 30.0730000  0  1G17
+  44658330.363 7  44658332.708 7  10259428.252 7   5864117.656 7     -4295.338  
+     -3347.020  
+ 01 10 22 23 11  0.0730000  0  1G17
+  44682871.276 7  44682873.339 7  10388390.351 7   5964607.565 7     -4302.003  
+     -3352.212  
+ 01 10 22 23 11 30.0730000  0  1G17
+  44707450.653 7  44707453.173 7  10517555.656 7   6065255.842 7     -4309.105  
+     -3357.750  
+ 01 10 22 23 12  0.0730000  0  1G17
+  44732069.855 7  44732073.161 6  10646926.964 6   6166064.600 6     -4315.730  
+     -3362.899  
+ 01 10 22 23 12 30.0730000  0  1G17
+  44756725.347 7  44756729.579 6  10776493.645 6   6267025.644 6     -4322.110  
+     -3367.875  
+ 01 10 22 23 13  0.0730000  0  1G17
+  44781418.863 6  44781421.676 6  10906260.751 6   6368142.817 6     -4328.741  
+     -3373.040  
+ 01 10 22 23 13 30.0730000  0  1G17
+  44806148.400 6  44806151.179 6  11036214.874 6   6469405.715 6     -4334.950  
+     -3377.878  
+ 01 10 22 23 14  0.0730000  0  1G17
+  44830914.450 7  44830916.783 6  11166363.494 6   6570820.148 6     -4341.727  
+     -3383.166  
+ 01 10 22 23 14 30.0730000  0  1G17
+  44855718.149 6  44855721.818 6  11296706.227 6   6672385.854 6     -4347.960  
+     -3388.020  
+ 01 10 22 23 15  0.0730000  0  1G17
+  44880559.483 6  44880563.047 6  11427250.361 6   6774108.500 6     -4354.666  
+     -3393.245  
+ 01 10 22 23 15 30.0730000  0  1G17
+  44905436.096 6  44905438.757 6  11557976.626 6   6875973.026 6     -4360.655  
+     -3397.911  
+ 01 10 22 23 16  0.0730000  0  1G17
+  44930347.443 7  44930350.350 6  11688884.857 6   6977979.416 6     -4366.632  
+     -3402.573  
+ 01 10 22 23 16 30.0730000  0  1G17
+  44955293.529 7  44955296.717 6  11819974.705 6   7080127.280 6     -4372.695  
+     -3407.299  
+ 01 10 22 23 17  0.0730000  0  1G17
+  44980274.570 7  44980278.626 6  11951247.377 6   7182417.623 6     -4378.857  
+     -3412.093  
+ 01 10 22 23 17 30.0730000  0  1G17
+  45005289.015 6  45005292.379 6  12082702.239 6   7284849.944 6     -4384.864  
+     -3416.772  
+ 01 10 22 23 18  0.0730000  0  1G17
+  45030338.291 6  45030339.733 6  12214339.059 6   7387424.081 6     -4390.900  
+     -3421.480  
+ 01 10 22 23 18 30.0730000  0  1G17
+  45055421.772 6  45055425.230 6  12346156.711 6   7490139.052 6     -4396.920  
+     -3426.174  
+ 01 10 22 23 19  0.0730000  0  1G17
+  45080541.606 6  45080545.381 6  12478157.971 6   7592997.140 6     -4402.994  
+     -3430.903  
+ 01 10 22 23 19 30.0730000  0  1G17
+  45105693.961 6  45105697.642 6  12610334.797 6   7695992.037 6     -4408.588  
+     -3435.267  
+ 01 10 22 23 20  0.0730000  0  1G17
+  45130878.429 6  45130882.427 6  12742680.118 6   7799118.213 6     -4414.438  
+     -3439.830  
+ 01 10 22 23 20 30.0730000  0  1G17
+  45156095.550 6  45156098.925 6  12875197.272 6   7902378.289 6     -4419.888  
+     -3444.064  
+ 01 10 22 23 21  0.0730000  0  1G17
+  45181345.110 6  45181348.146 6  13007884.807 6   8005771.108 6     -4425.792  
+     -3448.663  
+ 01 10 22 23 21 30.0730000  0  1G17
+  45206627.644 6  45206631.524 6  13140742.718 6   8109296.697 6     -4431.257  
+     -3452.923  
+ 01 10 22 23 22  0.0730000  0  1G17
+  45231941.751 6  45231944.506 6  13273770.493 6   8212954.660 6     -4437.117  
+     -3457.493  
+ 01 10 22 23 22 30.0730000  0  1G17
+  45257287.202 6  45257289.441 6  13406962.116 6   8316740.266 6     -4442.516  
+     -3461.704  
+ 01 10 22 23 23  0.0730000  0  1G17
+  45282663.204 6  45282665.197 6  13540314.970 6   8420651.535 6     -4447.816  
+     -3465.830  
+ 01 10 22 23 23 30.0730000  0  1G17
+  45308070.946 6  45308073.196 6  13673829.128 6   8524688.440 6     -4453.308  
+     -3470.115  
+ 01 10 22 23 24  0.0730000  0  1G17
+  45333508.177 6  45333512.045 6  13807502.362 6   8628849.312 6     -4458.106  
+     -3473.849  
+ 01 10 22 23 24 30.0730000  0  1G17
+  45358974.316 6  45358978.524 6  13941329.593 6   8733130.298 6     -4463.450  
+     -3478.007  
+ 01 10 22 23 25  0.0730000  0  1G17
+  45384470.134 6  45384473.967 6  14075313.099 6   8837533.019 6     -4468.566  
+     -3481.994  
+ 01 10 22 23 25 30.0730000  0  1G17
+  45409996.968 6  45409999.348 6  14209456.045 6   8942059.958 6     -4474.108  
+     -3486.322  
+ 01 10 22 23 26  0.0730000  0  1G17
+  45435553.575 6  45435556.283 6  14343757.593 6   9046710.489 6     -4479.230  
+     -3490.324  
+ 01 10 22 23 26 30.0730000  0  1G17
+  45461138.465 6  45461141.196 6  14478207.075 6   9151476.284 6     -4484.121  
+     -3494.118  
+ 01 10 22 23 27  0.0730000  0  1G17
+  45486752.232 6  45486755.842 6  14612804.543 6   9256357.327 6     -4489.055  
+     -3497.964  
+ 01 10 22 23 27 30.0740000  0  1G17
+  45512393.971 6  45512397.758 6  14747554.804 6   9361357.550 6     -4494.111  
+     -3501.902  
+ 01 10 22 23 28  0.0740000  0  1G17
+  45538063.095 6  45538068.241 5  14882447.600 5   9466468.760 5     -4499.218  
+     -3505.889  
+ 01 10 22 23 28 30.0740000  0  1G17
+  45563761.379 6  45563764.708 6  15017492.216 6   9571698.323 6     -4503.900  
+     -3509.530  
+ 01 10 22 23 29  0.0740000  0  1G17
+  45589485.784 6  45589488.703 6  15152676.174 6   9677036.396 6     -4508.470  
+     -3513.087  
+ 01 10 22 23 29 30.0740000  0  1G17
+  45615238.661 6  45615241.005 6  15288004.074 6   9782486.597 6     -4513.269  
+     -3516.835  
+ 01 10 22 23 30  0.0740000  0  1G17
+  45641018.312 6  45641019.484 6  15423477.133 6   9888049.994 6     -4518.151  
+     -3520.640  
+ 01 10 22 23 30 30.0740000  0  1G17
+  45666823.816 6  45666828.071 5  15559087.487 5   9993720.354 5     -4522.537  
+     -3524.052  
+ 01 10 22 23 31  0.0740000  0  1G17
+  45692655.731 6  45692658.286 5  15694832.458 5  10099495.617 5     -4527.349  
+     -3527.798  
+ 01 10 22 23 31 30.0740000  0  1G17
+  45718512.698 6  45718515.465 5  15830717.455 5  10205379.965 5     -4531.545  
+     -3531.077  
+ 01 10 22 23 32  0.0740000  0  1G17
+  45744395.864 6  45744398.630 5  15966733.136 5  10311366.203 5     -4536.116  
+     -3534.642  
+ 01 10 22 23 32 30.0740000  0  1G17
+  45770305.353 6  45770307.556 5  16102886.696 5  10417459.868 5     -4540.635  
+     -3538.151  
+ 01 10 22 23 33  0.0740000  0  1G17
+  45796240.407 6  45796244.486 5  16239174.557 5  10523658.226 5     -4545.271  
+     -3541.768  
+ 01 10 22 23 33 30.0740000  0  1G17
+  45822199.681 5  45822205.037 5  16375594.932 5  10629959.720 5     -4549.344  
+     -3544.933  
+ 01 10 22 23 34  0.0740000  0  1G17
+  45848183.261 5  45848186.942 5  16512141.235 5  10736359.418 5     -4553.760  
+     -3548.380  
+ 01 10 22 23 34 30.0740000  0  1G17
+  45874193.496 6  45874195.852 5  16648819.194 5  10842861.607 5     -4557.958  
+     -3551.665  
+ 01 10 22 23 35  0.0740000  0  1G17
+  45900225.781 6  45900229.028 6  16785622.571 6  10949461.597 6     -4562.151  
+     -3554.923  
+ 01 10 22 23 35 30.0740000  0  1G17
+  45926283.776 6  45926287.738 5  16922552.783 5  11056160.383 5     -4566.316  
+     -3558.157  
+ 01 10 22 23 36  0.0740000  0  1G17
+  45952363.940 5  45952367.422 5  17059611.835 5  11162959.590 5     -4570.891  
+     -3561.725  
+ 01 10 22 23 36 30.0740000  0  1G17
+  45978470.445 6  45978472.637 5  17196798.893 5  11269858.525 5     -4574.624  
+     -3564.649  
+ 01 10 22 23 37  0.0740000  0  1G17
+  46004598.671 5  46004604.943 5  17334102.840 5  11376848.562 5     -4578.579  
+     -3567.723  
+ 01 10 22 23 37 30.0740000  0  1G17
+  46030749.120 5  46030753.902 5  17471524.788 5  11483930.557 5     -4582.686  
+     -3570.923  
+ 01 10 22 23 38  0.0740000  0  1G17
+  46056922.161 5  46056926.909 5  17609067.488 5  11591106.597 5     -4586.710  
+     -3574.060  
+ 01 10 22 23 38 30.0740000  0  1G17
+  46083118.322 5  46083119.470 5  17746730.420 5  11698376.410 5     -4590.637  
+     -3577.112  
+ 01 10 22 23 39  0.0740000  0  1G17
+  46109337.703 5  46109339.591 5  17884506.274 5  11805734.143 5     -4594.304  
+     -3579.976  
+ 01 10 22 23 39 30.0740000  0  1G17
+  46135576.256 5  46135581.660 5  18022392.496 5  11913177.905 5     -4598.208  
+     -3583.020  
+ 01 10 22 23 40  0.0740000  0  1G17
+  46161835.812 5  46161839.634 5  18160392.015 5  12020709.941 5     -4601.725  
+     -3585.760  
+ 01 10 22 23 40 30.0740000  0  1G17
+  46188116.971 5  46188120.605 5  18298500.254 5  12128326.694 5     -4605.392  
+     -3588.615  
+ 01 10 22 23 41  0.0740000  0  1G17
+  46214420.722 5  46214423.652 5  18436725.852 5  12236034.832 5     -4609.474  
+     -3591.797  
+ 01 10 22 23 41 30.0740000  0  1G17
+  46240746.282 5  46240750.209 5  18575063.875 5  12343830.659 5     -4613.222  
+     -3594.713  
+ 01 10 22 23 42  0.0740000  0  1G17
+  46267091.234 5  46267096.463 5  18713506.301 5  12451707.772 5     -4616.674  
+     -3597.413  
+ 01 10 22 23 42 30.0740000  0  1G17
+  46293455.314 5  46293458.210 5  18852058.532 5  12559670.517 5     -4620.220  
+     -3600.164  
+ 01 10 22 23 43  0.0740000  0  1G17
+  46319842.648 5  46319843.527 5  18990719.312 5  12667717.857 5     -4623.680  
+     -3602.874  
+ 01 10 22 23 43 30.0740000  0  1G17
+  46346247.617 5  46346252.399 5  19129479.331 5  12775842.577 5     -4627.042  
+     -3605.487  
+ 01 10 22 23 44  0.0740000  0  1G17
+  46372671.368 5  46372676.549 5  19268338.912 5  12884044.870 5     -4630.559  
+     -3608.235  
+ 01 10 22 23 44 30.0740000  0  1G17
+  46399115.700 5  46399120.705 5  19407302.903 5  12992328.399 5     -4633.688  
+     -3610.672  
+ 01 10 22 23 45  0.0740000  0  1G17
+  46425578.200 5  46425581.213 5  19546364.654 5  13100688.181 5     -4636.715  
+     -3613.031  
+ 01 10 22 23 45 30.0740000  0  1G17
+  46452057.923 5  46452064.687 5  19685515.678 5  13209117.516 5     -4640.220  
+     -3615.768  
+ 01 10 22 23 46  0.0740000  0  1G17
+  46478557.771 5  46478560.385 5  19824769.907 5  13317627.263 5     -4643.462  
+     -3618.276  
+ 01 10 22 23 46 30.0750000  0  1G17
+  46505075.331 5  46505080.196 5  19964122.026 5  13426213.320 5     -4646.322  
+     -3620.509  
+ 01 10 22 23 47  0.0750000  0  1G17
+  46531609.675 5  46531611.023 5  20103557.329 5  13534864.154 5     -4649.225  
+     -3622.768  
+ 01 10 22 23 47 30.0750000  0  1G17
+  46558157.500 5  46558161.369 5  20243075.413 5  13643579.597 5     -4652.064  
+     -3624.978  
+ 01 10 22 23 48  0.0750000  0  1G17
+  46584725.493 5  46584725.364 5  20382681.861 5  13752363.739 5     -4654.892  
+     -3627.175  
+ 01 10 22 23 48 30.0750000  0  1G17
+  46611306.297 5  46611309.556 5  20522375.065 5  13861215.608 5     -4658.078  
+     -3629.680  
+ 01 10 22 23 49  0.0750000  0  1G17
+  46637907.464 5  46637910.336 4  20662161.762 4  13970140.330 4     -4660.758  
+     -3631.776  
+ 01 10 22 23 49 30.0750000  0  1G17
+  46664522.870 5  46664526.774 5  20802028.712 5  14079127.587 5     -4663.775  
+     -3634.123  
+ 01 10 22 23 50  0.0750000  0  1G17
+  46691154.548 5  46691159.659 5  20941979.937 5  14188180.401 5     -4666.518  
+     -3636.260  
+ 01 10 22 23 50 30.0750000  0  1G17
+  46717801.864 5  46717806.342 4  21082010.366 4  14297294.964 4     -4668.906  
+     -3638.102  
+ 01 10 22 23 51  0.0750000  0  1G17
+  46744465.054 5  46744463.917 5  21222123.427 5  14406473.848 5     -4671.517  
+     -3640.154  
+ 01 10 22 23 51 30.0750000  0  1G17
+  46771141.813 5  46771146.291 5  21362315.133 5  14515714.134 5     -4674.464  
+     -3642.433  
+ 01 10 22 23 52  0.0750000  0  1G17
+  46797836.122 5  46797839.721 5  21502589.024 5  14625018.360 5     -4677.096  
+     -3644.475  
+ 01 10 22 23 52 30.0750000  0  1G17
+  46824544.246 5  46824547.352 5  21642937.154 5  14734380.458 5     -4679.401  
+     -3646.271  
+ 01 10 22 23 53  0.0750000  0  1G17
+  46851266.078 5  46851270.732 5  21783365.050 5  14843804.780 5     -4682.319  
+     -3648.541  
+ 01 10 22 23 53 30.0750000  0  1G17
+  46878002.545 5  46878005.546 5  21923869.106 5  14953288.463 5     -4684.810  
+     -3650.516  
+ 01 10 22 23 54  0.0750000  0  1G17
+  46904752.929 5  46904754.055 5  22064442.737 5  15062826.288 5     -4686.870  
+     -3652.118  
+ 01 10 22 23 54 30.0750000  0  1G17
+  46931516.200 5  46931519.401 5  22205088.220 5  15172420.223 5     -4689.353  
+     -3654.042  
+ 01 10 22 23 55  0.0750000  0  1G17
+  46958293.935 4  46958296.502 4  22345805.219 4  15282069.797 4     -4691.523  
+     -3655.717  
+ 01 10 22 23 55 30.0750000  0  1G17
+  46985087.028 5  46985092.666 5  22486591.993 5  15391773.808 5     -4694.115  
+     -3657.752  
+ 01 10 22 23 56  0.0750000  0  1G17
+  47011890.226 5  47011895.055 5  22627450.935 5  15501533.928 5     -4696.397  
+     -3659.515  
+ 01 10 22 23 56 30.0750000  0  1G17
+  47038707.440 5  47038711.532 5  22768378.019 5  15611347.270 5     -4698.643  
+     -3661.271  
+ 01 10 22 23 57  0.0750000  0  1G17
+  47065537.451 5  47065540.229 5  22909366.026 5  15721207.995 5     -4700.682  
+     -3662.845  
+ 01 10 22 23 57 30.0750000  0  1G17
+  47092379.185 5  47092384.015 5  23050421.766 5  15831121.667 5     -4702.926  
+     -3664.613  
+ 01 10 22 23 58  0.0750000  0  1G17
+  47119234.371 5  47119238.638 5  23191538.117 5  15941082.442 5     -4704.943  
+     -3666.199  
+ 01 10 22 23 58 30.0750000  0  1G17
+  47146099.340 5         0.000 1  23332719.701 1         0.00011     -4707.164  
+         0.000  
+ 01 10 22 23 59  0.0750000  0  1G17
+  47172976.533 5         0.000 1  23473960.368 1         0.00011     -4708.852  
+         0.000  
+ 01 10 22 23 59 30.0750000  0  1G17
+  47199863.440 5  47199863.170 4  23615256.209 4     25689.634 4     -4710.672  
+     -3670.657  
diff --git a/trunk/apps/cycleslips/examples/euskCorrected.jpg b/trunk/apps/cycleslips/examples/euskCorrected.jpg
new file mode 100644
index 0000000..e102e12
Binary files /dev/null and b/trunk/apps/cycleslips/examples/euskCorrected.jpg differ
diff --git a/trunk/apps/cycleslips/examples/goDF1 b/trunk/apps/cycleslips/examples/goDF1
new file mode 100644
index 0000000..dd25540
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/goDF1
@@ -0,0 +1,24 @@
+# run DiscFix
+../DiscFix -fdf.inp -ieusk2950.01o.G17
+#
+# correct the data, creating a new Rinex file
+../../Rinextools/EditRinex -IFeusk2950.01o.G17 -OFeuskDF.obs -TT0.5 -fdf.out
+#
+# see a table of the results
+grep "^GDC" df.log
+#
+# look at results for Sat G17, unique number 3, using gnuplot
+sed -n -e "s/WLSS 3 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > WLSS3G17.dat
+sed -n -e "s/GFRF 3 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > GFRF3G17.dat
+/usr/bin/gnuplot -persist WLSS3.gp
+/usr/bin/gnuplot -persist GFP3.gp
+#
+# look at results for Sat G17, unique number 2, using gnuplot
+sed -n -e "s/WLSS 2 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > WLSS2G17.dat
+sed -n -e "s/GFRF 2 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > GFRF2G17.dat
+/usr/bin/gnuplot -persist WLSS2.gp
+/usr/bin/gnuplot -persist GFP2.gp
diff --git a/trunk/apps/cycleslips/examples/goDF1.bat b/trunk/apps/cycleslips/examples/goDF1.bat
new file mode 100644
index 0000000..ae71bf6
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/goDF1.bat
@@ -0,0 +1,24 @@
+REM run DiscFix
+..\DiscFix -fdf.inp -ieusk2950.01o.G17
+REM
+REM correct the data, creating a new Rinex file
+..\..\Rinextools\EditRinex -IFeusk2950.01o.G17 -OFeuskDF.obs -TT0.5 -fdf.out
+REM
+REM see a table of the results
+grep "^GDC" df.log
+REM
+REM look at results for Sat G17, unique number 3, using gnuplot
+sed -n -e "s/WLSS 3 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > WLSS3G17.dat
+sed -n -e "s/GFRF 3 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > GFRF3G17.dat
+start /B c:\gnuplot\bin\wgnuplot.exe WLSS3_Win.gp
+start /B c:\gnuplot\bin\wgnuplot.exe GFP3_Win.gp
+REM
+REM look at results for Sat G17, unique number 2, using gnuplot
+sed -n -e "s/WLSS 2 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > WLSS2G17.dat
+sed -n -e "s/GFRF 2 G17 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > GFRF2G17.dat
+start /B c:\gnuplot\bin\wgnuplot.exe WLSS2_Win.gp
+start /B c:\gnuplot\bin\wgnuplot.exe GFP2_Win.gp
diff --git a/trunk/apps/cycleslips/examples/goDF2 b/trunk/apps/cycleslips/examples/goDF2
new file mode 100644
index 0000000..4db24f1
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/goDF2
@@ -0,0 +1,16 @@
+# run DiscFix
+../DiscFix -fdf_occult.inp -ichmp0110.02o.G31
+#
+# correct the data, creating a new Rinex file
+../../Rinextools/EditRinex -IFchmp0110.02o.G31 -OFchmpDF.obs -TT0.5 -fdf.out
+#
+# see a table of the results
+grep "^GDC" df.log
+#
+# look at results for Sat G31, unique number 6, using gnuplot
+sed -n -e "s/WLSS 6 G31 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > WLSS6G31.dat
+sed -n -e "s/GFRF 6 G31 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > GFRF6G31.dat
+/usr/bin/gnuplot -persist WLSS6.gp
+/usr/bin/gnuplot -persist GFP6.gp
diff --git a/trunk/apps/cycleslips/examples/goDF2.bat b/trunk/apps/cycleslips/examples/goDF2.bat
new file mode 100644
index 0000000..38cfc44
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/goDF2.bat
@@ -0,0 +1,16 @@
+REM run DiscFix
+..\DiscFix -fdf_occult.inp -ichmp0110.02o.G31
+REM
+REM correct the data, creating a new Rinex file
+..\..\Rinextools\EditRinex -IFchmp0110.02o.G31 -OFchmpDF.obs -TT0.5 -fdf.out
+REM
+REM see a table of the results
+grep "^GDC" df.log
+REM
+REM look at results for Sat G31, unique number 6, using gnuplot
+sed -n -e "s/WLSS 6 G31 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > WLSS6G31.dat
+sed -n -e "s/GFRF 6 G31 [1-9] //p" df.log > junk
+awk -f mjd2gps.awk -v C=1 -v ROLL=NO -v WEEK=NO junk > GFRF6G31.dat
+start /B c:\gnuplot\bin\wgnuplot.exe WLSS6_Win.gp
+start /B c:\gnuplot\bin\wgnuplot.exe GFP6_Win.gp
diff --git a/trunk/apps/cycleslips/examples/mjd2gps.awk b/trunk/apps/cycleslips/examples/mjd2gps.awk
new file mode 100644
index 0000000..38390fc
--- /dev/null
+++ b/trunk/apps/cycleslips/examples/mjd2gps.awk
@@ -0,0 +1,26 @@
+# convert MJD in column C to 2 columns: GPS sow and week.
+# call awk -f mjd2gps.awk -v C=<column_of_MJD>
+# (optional: add -v ROLL=NO) to prevent week rollover in the sow.
+# (optional: add -v WEEK=NO) to prevent printing the week (then C -> 1 col)
+# (optional: add -v ROUND=NO) to prevent rounding to nearest second
+BEGIN {
+	weeksave = -1
+}
+{
+	mjd = $C;
+	week = int((mjd-44244.0)/7.0)
+	if(weeksave == -1) weeksave = week
+	if(ROLL=="NO") week = weeksave
+	sow = (mjd-44244.0-7*week)*86400.
+	if(ROUND=="NO") {
+		if(WEEK=="NO") str = sprintf("%11.3lf",sow);
+		else           str = sprintf("%11.3lf %4d",sow,week);
+	}
+	else {
+		sow = int(sow+0.5);
+		if(WEEK=="NO") str = sprintf("%8.0lf",sow);
+		else           str = sprintf("%8.0lf %4d",sow,week);
+	}
+	$C = str
+	print $0
+}
diff --git a/trunk/apps/differential/Jamfile b/trunk/apps/differential/Jamfile
new file mode 100644
index 0000000..c2a5d59
--- /dev/null
+++ b/trunk/apps/differential/Jamfile
@@ -0,0 +1,7 @@
+SubDir TOP apps differential ;
+
+GPSLinkLibraries vecsol : gpstk ;
+BonkForte ; # bleah.
+
+GPSMain vecsol : vecsol.cpp ;
+
diff --git a/trunk/apps/differential/Makefile.am b/trunk/apps/differential/Makefile.am
new file mode 100644
index 0000000..9793395
--- /dev/null
+++ b/trunk/apps/differential/Makefile.am
@@ -0,0 +1,6 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = vecsol
+
+vecsol_SOURCES = vecsol.cpp
diff --git a/trunk/apps/differential/Makefile.in b/trunk/apps/differential/Makefile.in
new file mode 100644
index 0000000..3ab12f9
--- /dev/null
+++ b/trunk/apps/differential/Makefile.in
@@ -0,0 +1,421 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = vecsol$(EXEEXT)
+subdir = apps/differential
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_vecsol_OBJECTS = vecsol.$(OBJEXT)
+vecsol_OBJECTS = $(am_vecsol_OBJECTS)
+vecsol_LDADD = $(LDADD)
+vecsol_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(vecsol_SOURCES)
+DIST_SOURCES = $(vecsol_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+vecsol_SOURCES = vecsol.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  apps/differential/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  apps/differential/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+vecsol$(EXEEXT): $(vecsol_OBJECTS) $(vecsol_DEPENDENCIES) 
+	@rm -f vecsol$(EXEEXT)
+	$(CXXLINK) $(vecsol_LDFLAGS) $(vecsol_OBJECTS) $(vecsol_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/vecsol.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/differential/vecsol b/trunk/apps/differential/vecsol
new file mode 100755
index 0000000..89f13d6
Binary files /dev/null and b/trunk/apps/differential/vecsol differ
diff --git a/trunk/apps/differential/vecsol.1 b/trunk/apps/differential/vecsol.1
new file mode 100644
index 0000000..43d760a
--- /dev/null
+++ b/trunk/apps/differential/vecsol.1
@@ -0,0 +1,111 @@
+.TH VECSOL "1" "August 2005" "vecsol (GPStk) 0.8" "User Commands"
+.SH NAME
+vecsol \- GPS Vector Solver, computes a 3D vector from RINEX input
+.SH SYNOPSIS
+.B vecsol
+[\fIRINEX obs file 1\fR] [\fIRINEX obs file 2\fR]
+.SH DESCRIPTION
+.\" Add any additional description here
+.PP
+Computes a 3D vector solution using dual-frequency carrier phases. A double
+difference algorithm is applied with properly computed weights
+(elevation sine weighting) and correlations. The program iterates to
+convergence and attempts to resolve ambiguities to integer values if
+close enough.  Crude outlier rejection is provided based on a
+triple-difference test. Ephemeris used are either broadcast or precise
+(SP3). Alternatively, also P code processing is provided.
+.PP
+The solution is computed using the ionosphere-free linear combination.
+The ionospheric model included in broadcast ephemeris may be used. A
+standard tropospheric correction is applied, or tropospheric parameters
+(zenith delays) may be estimated.
+.SH FILES
+.TP
+\fBRINEX obs files 1 and 2\fR
+contain the observations collected at the two end points 1 and 2 of the
+baseline. They \fImust\fR contain a sufficient set of simultaneous
+observations to the same satellites.
+.TP
+\fBvecsol.conf\fR
+contains the input options for the program, one per line.
+.PP
+.SS 	Options
+.TP 10
+	\fBphase\fR [1/0] 
+Process carrier phase data (instead of P code data)
+.TP
+	\fBtruecov\fR [1/0] 
+If 1, use true double difference covariances. If 0, ignore any possible
+correlations
+.TP
+	\fBprecise\fR [1/0] 
+If 1, use precise ephemeris, if 0, use broadcast ephemeris
+.TP
+	\fBiono\fR [1/0] 
+If 1, use the 8-parameter ionospheric model that comes with the
+broadcast ephemeris (.nav) files
+.TP
+	\fBtropo\fR [1/0] 
+Estimate troposphere parameters (zenith delays relative to the standard
+value, which is always applied)
+.TP
+	\fBvecmode\fR [1/0] 
+If 1, solve the \fIvector\fR, i.e. the three co-ordinate differences
+between the baseline end points. If 0, solve for the absolute
+co-ordinates of both end points
+.TP
+	\fBdebug\fR [1/0] 
+If 1, produce lots of gory debugging output. See the source for what it
+all means
+.TP
+	\fBrefsat_elev\fR 
+Minimum elevation of the reference satellite used for computing
+inter-satellite differences.  Good initial choice: 30.0
+.TP
+	\fBcutoff_elev\fR 
+cut-off elevation. Good initial choice: 10.0 \- 20.0
+.PP
+.TP
+\fBvecsol.nav\fR 
+contains the names of the navigation RINEX files ("nav files", extension
+.yyN) to be used, one per line.
+.PP
+Good navigation RINEX files that are globally valid can be found from the CORS website at 
+.B http://www.ngs.noaa.gov/CORS/
+.
+.TP
+\fBvecsol.eph\fR 
+contains the names of the precise ephemeris SP3 files (extension .sp3)
+to be used. These should cover the time span of the observations, with
+time to spare on both ends. 
+.PP
+Note that the date in the filenames of the SP3 files is given as GPS
+week + weekday, not year + day of year, as in the observation and nav
+files.
+.PP
+In the .nav and .eph files, comment lines have # in the first position.
+
+.SH AUTHOR
+Written by Martin Vermeer and others.
+.SH BUGS
+Doesn't currently recover \fIat all\fR from cycle slips, so the RINEX
+observation files used have to be fairly clean already.
+.PP
+Report bugs to <gpstk-devel at lists.sourceforge.net>.
+.SH COPYRIGHT
+Copyright \(co 2005 The Authors.
+.br
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+.SH "SEE ALSO"
+The full documentation for the 
+.B GPStk
+package of which 
+.B vecsol
+is a part can be found on the website of
+.B GPStk
+at
+.IP
+.B http://gpstk.sourceforge.net
+.
+
diff --git a/trunk/apps/differential/vecsol.conf b/trunk/apps/differential/vecsol.conf
new file mode 100644
index 0000000..b1057a9
--- /dev/null
+++ b/trunk/apps/differential/vecsol.conf
@@ -0,0 +1,10 @@
+1    phase
+0    true covariances
+1    precise ephemeris
+0    nav file ionosphere
+0    tropo estimation
+1    vector mode
+1    debug
+30.0 ref sat cut-off
+20.0 cut-off angle
+
diff --git a/trunk/apps/differential/vecsol.cpp b/trunk/apps/differential/vecsol.cpp
new file mode 100644
index 0000000..f104b73
--- /dev/null
+++ b/trunk/apps/differential/vecsol.cpp
@@ -0,0 +1,883 @@
+#include <string>
+#include <vector>
+#include <map>
+
+#include "geometry.hpp"
+
+#include "Matrix.hpp"
+#include "MatrixOperators.hpp"
+
+#include "RinexObsBase.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+
+#include "RinexNavBase.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+
+#include "SP3Base.hpp"
+#include "SP3Header.hpp"
+#include "SP3Data.hpp"
+#include "SP3Stream.hpp"
+
+#include "TropModel.hpp"
+#include "WGS84Geoid.hpp"
+#include "IonoModelStore.hpp"
+
+#include "BCEphemerisStore.hpp"
+#include "SP3EphemerisStore.hpp"
+#include "EphemerisRange.hpp"
+#include "icd_200_constants.hpp"
+
+/**
+ * @file vecsol.cpp 
+ * Vector solution using dual-frequency carrier phases. Double difference
+ * algorithm with proper weights, iteration with attempted ambiguity
+ * resolution, crude outlier rejection, elevation sine weighting. 
+ * Alternatively also code processing provided.
+ * The configuration file is 'vecsol.conf'; broadcast or precise ephemeris
+ * are in files 'vecsol.nav' and 'vecsol.eph', respectively.
+
+ * LGPL (see COPYING). No furry animals were harmed in the coding 
+ * of this software.
+
+ * (c) 2005 Martin Vermeer
+
+ To Do:
+ - Use of ssi and lli bits?
+ - Remove limitation that unknowns must be same across iterations
+ - Ionosphere models: use IONEX and QIF method
+ - Satellite center-of-mass correction 
+ - Receiver antenna phase delay patterns
+ - Earth tides
+ - Output of vectors to be read by other software
+ 
+ */
+
+
+using namespace std;
+using namespace gpstk;
+
+
+    void
+stationData(RinexObsData const & rod, bool const phase, 
+	vector < RinexPrn > &prnVec,
+	vector < double >&rangeVecL1, vector < double >&rangeVecL2)
+{
+    RinexObsData::RinexPrnMap::const_iterator it;
+    for (it = rod.obs.begin(); it != rod.obs.end(); it++) {
+	RinexObsData::RinexObsTypeMap otmap;
+	RinexObsData::RinexObsTypeMap::const_iterator itL1, itL2;
+	otmap = (*it).second;
+	if (phase) {
+	    itL1 = otmap.find(RinexObsHeader::L1);
+	    itL2 = otmap.find(RinexObsHeader::L2);
+	} else {
+	    itL1 = otmap.find(RinexObsHeader::P1);
+	    itL2 = otmap.find(RinexObsHeader::P2);
+	}
+	if (itL1 != otmap.end() && itL2 != otmap.end()) {
+	    double const rangeL1 = (*itL1).second.data;
+	    double const rangeL2 = (*itL2).second.data;
+	    // here we would have Loss of Lock Indicator
+	    // and Signal Strength Indicator: =0, >5 are OK
+	    // cout << (*itL2).second.lli << endl;
+	    // cout << (*itL2).second.ssi << endl;
+
+	    // Discard empty data
+	    if (rangeL1 != 0.0 && rangeL2 != 0.0) {
+		prnVec.push_back((*it).first);
+		rangeVecL1.push_back(rangeL1);
+		rangeVecL2.push_back(rangeL2);
+	    }
+	}
+    }
+}
+
+
+enum FixType {
+    FIX_NONE,
+    FIX_WIDELANE,
+    FIX_BOTH
+};
+
+
+FixType phaseCycles(vector <double> & DDobs,
+	double const lambda1, double const lambda2)
+{
+#define WITHIN_HALF_CYCLE(Lx) \
+    ((Lx < -0.5 ? Lx += 1.0 : (Lx > 0.5 ? Lx -= 1.0 : Lx = Lx)))
+
+    double L1 = DDobs[1] / lambda1; 
+    double L2 = DDobs[2] / lambda2;
+    double L5 = L1 - L2;
+    L1 = L1 - int(L1);
+    L2 = L2 - int(L2);
+    L5 = L5 - int(L5);
+
+    WITHIN_HALF_CYCLE(L1);
+    WITHIN_HALF_CYCLE(L2);
+    WITHIN_HALF_CYCLE(L5);
+
+    cout << setw(5) << L1 << " " << L2 << " | " << L5;
+
+    bool const L1fixable = L1 <  0.2 && L1 >  -0.2;
+    bool const L2fixable = L2 <  0.2 && L2 >  -0.2;
+    bool L5fixable = L5 < 0.07 && L5 > -0.07;
+
+    if (L1fixable && L2fixable && L5fixable) {
+	DDobs[1] -= L1 * lambda1;
+	DDobs[2] -= L2 * lambda2;
+	cout << " FIX" << endl;
+	return FIX_BOTH;
+    }
+ 
+    L5fixable = L5 < 0.1 && L5 > -0.1;
+    if (L5fixable) {
+	DDobs[1] -= 0.5 * L5 * lambda1;
+	DDobs[2] += 0.5 * L5 * lambda2;
+	cout << " Widelane" << endl;
+	return FIX_WIDELANE;
+    }
+
+    cout << endl;
+    return FIX_NONE;
+}
+
+
+enum SolveType {
+    SOLVE_AMBS,
+    SOLVE_COORDS
+};
+
+
+void Solve(gpstk::Matrix <double> N, gpstk::Matrix <double> const b, 
+	gpstk::Matrix <double> & N2, gpstk::Matrix <double> & b2, 
+	SolveType const solveType, 
+	gpstk::Vector <FixType> const fixed, 
+	int const MaxUnkn, int const unknowns)
+{
+    if (solveType == SOLVE_COORDS) {
+	// Fix "fixed" unknowns:
+	for (int k = 0; k < unknowns; k++) {
+	    if (fixed[k] == FIX_BOTH)
+		N(k,k) += 1.0E8; // absolutely fixed
+	    if (fixed[k] == FIX_WIDELANE)
+		N(k,k) *= 1.25; // upgraded
+	}
+    } else { // SOLVE_AMBS
+	for (int k=0; k < MaxUnkn; k++) {
+	    N(k,k) += 1.0E8; // Keep coordinates fixed (to iono free values)
+	}
+    }
+
+    // Copy over to correctly sized matrices
+    gpstk::Matrix <double> NN(unknowns, unknowns);
+    gpstk::Matrix <double> bb(unknowns, 3);
+    for (int k = 0; k < unknowns; k++) {
+	for (int m = 0; m < unknowns; m++)
+	    NN(k,m) = N(k,m);
+	// Suppress unused unknowns, if any
+	if (NN(k,k) == 0.0)
+	    NN(k,k) = 1.0;
+	for (int ot = 0; ot < 3; ot++)
+	    bb(k,ot) = b(k,ot);
+    }
+
+    N2 = gpstk::inverse(NN);
+    for (int k = 0; k < unknowns; k++) {
+	if (N2(k,k) < 0.0)
+	    cout << "Negative diagonal element " 
+		<< k << ": " << N2(k,k) << endl;
+    }
+    b2 = bb;
+}
+
+
+main(int argc, char *argv[])
+{
+#define EPH_RANGE(C,T,X,S) ((precise ? \
+	C.ComputeAtReceiveTime(T.time,X,S.prn,sp3store) : \
+	C.ComputeAtReceiveTime(T.time,X,S.prn,bcestore)))
+
+    BCEphemerisStore bcestore;
+    SP3EphemerisStore sp3store;
+    WGS84Geoid geoid;
+    IonoModelStore ion;
+    CorrectedEphemerisRange CER1, CER2;
+    SimpleTropModel trop;
+
+    if (argc != 3) {
+	cerr << "Usage:" << endl;
+	cerr << "   " << argv[0] <<
+	    " <RINEX Obs file 1> <RINEX Obs file 2>" <<
+	    endl;
+	cerr << "Edit vecsol.conf, vecsol.nav and vecsol.eph for input" <<
+	    endl;
+	exit(-1);
+    }
+
+    bool phase;		// Process carrier phase data (instead of P code data)
+    bool truecov;	// Use true DD covariances (inst. of no correlations)
+    bool precise;       // Use precise ephemeris (inst. of broadcast)
+    bool iono;		// Use nav file iono model
+    bool tropo;		// Estimate troposphere parameters
+    bool vecmode;	// Solve vector (inst. of end point coords)
+    bool debug;
+    double refsat_elev; // Minimum elevation of the reference satellite.
+    			// Good value: 30.0
+    double cutoff_elev;	// cut-off elevation. Good value: 10.0
+    int MaxUnkn; 	// The number of std. unknowns. 3 for baseline est.,
+    			// 6 for two endpoint positions, 8 for tropo est. too.
+
+    char s[80];
+    std::ifstream conf;
+    conf.open("vecsol.conf", ios::in);
+    conf >> phase;		conf.getline(s, 80);
+    conf >> truecov;		conf.getline(s, 80);
+    conf >> precise;		conf.getline(s, 80);
+    conf >> iono;		conf.getline(s, 80);
+    conf >> tropo;		conf.getline(s, 80);
+    conf >> vecmode;		conf.getline(s, 80);
+    conf >> debug;		conf.getline(s, 80);
+    conf >> refsat_elev;	conf.getline(s, 80);
+    conf >> cutoff_elev;	conf.getline(s, 80);
+    conf.close();
+
+    if (vecmode)
+	MaxUnkn = 3;
+    else
+	MaxUnkn = 6;
+    if (tropo)
+	MaxUnkn += 2;
+
+    cout << endl;
+    cout << "Configuration data from vecsol.conf" << endl;
+    cout << "-----------------------------------" << endl;
+    cout << "Use carrier phases:       " << phase << endl;
+    cout << "Use true correlations:    " << truecov << endl;
+    cout << "Use precise ephemeris:    " << precise << endl;
+    cout << "Use broadcast iono model: " << iono << endl;
+    cout << "Use tropospheric est.:    " << tropo << endl;
+    cout << "Vector mode:              " << vecmode << endl;
+    cout << "Debugging mode:           " << debug << endl;
+    cout << "Ref sat elevation limit:  " << refsat_elev << endl;
+    cout << "Cut-off elevation:        " << cutoff_elev << endl;
+    cout << endl;
+
+    int const MaxDim(phase ? 1000 : MaxUnkn); // For reserving array space
+    int const MaxSats(30);    // Same
+
+    const double gamma((L1_FREQ / L2_FREQ) * (L1_FREQ / L2_FREQ));
+    const double L1_F2(L1_FREQ * L1_FREQ), L2_F2(L2_FREQ * L2_FREQ);
+    const double LDIF_F2(L1_F2 - L2_F2);
+    // Weights for adding L1 and L2 pseudo-ranges into metric iono free
+    const double wt1(L1_F2 / LDIF_F2);
+    const double wt2(-L2_F2 / LDIF_F2);
+    double lambda1, lambda2;
+    if (phase) {
+	lambda1 = C_GPS_M / L1_FREQ;
+	lambda2 = C_GPS_M / L2_FREQ;
+    } else {
+	lambda1 = 1.0;		// Already in metres
+	lambda2 = 1.0;
+    }
+
+    try {
+	if (!precise) {
+	    try {
+		// Read nav file(s) and store unique list of ephemerides
+		string filename;
+		std::ifstream nav;
+		nav.open("vecsol.nav", ios::in);
+   		while (nav >> filename) {
+    		    cout << "Nav file: " << filename;
+		    // Comment:
+		    if (filename[0] == '#') {
+			cout << " skipped" << endl;
+			nav.getline(s, 80);
+		    } else {
+			cout << endl;
+			RinexNavStream rnffs(filename.c_str());
+			rnffs.exceptions(ios::failbit);
+			RinexNavData rne;
+			RinexNavHeader hdr;
+
+			rnffs >> hdr;
+			if (iono)
+			    ion.addIonoModel(DayTime::BEGINNING_OF_TIME, 
+				    IonoModel(hdr.ionAlpha, hdr.ionBeta));
+			while (rnffs >> rne)
+			    bcestore.addEphemeris(rne);
+		    }
+   		}
+		bcestore.SearchNear();
+	    }
+	    catch(...) {
+		cerr << "Something wrong with nav files." << endl << endl;
+		exit(-1);
+	    }
+	} else {
+	    try{
+		// Precise ephemerides:
+		string filename;
+		std::ifstream eph;
+		eph.open("vecsol.eph", ios::in);
+   		while (eph >> filename) {
+    		    cout << "Eph file: " << filename;
+		    // Comment:
+		    if (filename[0] == '#') {
+			cout << " skipped" << endl;
+			eph.getline(s, 80);
+		    } else {
+			cout << endl;
+			sp3store.loadFile(filename.c_str());
+		    }
+		}
+	    }
+	    catch(...) {
+		cerr << "Something wrong with SP3 files." << endl << endl;
+		exit(-1);
+	    }
+	}
+	
+	gpstk::Matrix <double> x0(MaxDim, 3, 0.0);
+	gpstk::Vector <FixType> fixed(MaxDim, FIX_NONE);
+
+	// Get station positions from RINEX headers:
+	RinexObsHeader roh1, roh2;
+
+	try {
+	    RinexObsStream roffs1(argv[1]);
+	    RinexObsStream roffs2(argv[2]);
+	    roffs1.exceptions(ios::failbit);
+	    roffs2.exceptions(ios::failbit);
+
+	    roffs1 >> roh1;
+	    roffs2 >> roh2;
+	}
+	catch(...) {
+	    cerr << "Something wrong with obs files." << endl << endl;
+	    exit(-1);
+	}
+
+	Position t1(roh1.antennaPosition, Position::Cartesian);
+	Position t2(roh2.antennaPosition, Position::Cartesian);
+	Position const t10(t1);  // To keep unknowns invariant
+	Position const t20(t2);
+	Position Pos1, Pos2;
+	string const name1(roh1.markerName);
+	string const name2(roh2.markerName);
+
+	double crit(1.0);
+	double const limit = (phase ? 0.01 : 0.02);
+	for (int l = 0; (crit > limit) && l < 2; l++) {
+	    // Iteration loop. Important! The unknowns are expected to 
+	    // remain _identical_ across iterations.
+	    cout << "Iteration: " << l << endl;
+	    
+	    // Map pointing from PRN to obs. eq. element position
+	    map <RinexPrn, int> CommonSatsPrev;
+
+	    RinexPrn OldRefSat;
+
+	    map <RinexPrn, double> DDobsPrev;
+	    map <RinexPrn, double> SecsPrev;
+	    
+	    // Open and read the observation files one epoch at a time.
+	    // Compute a contribution to normal matrix and right hand side
+	    RinexObsStream roffs1(argv[1]);
+	    RinexObsStream roffs2(argv[2]);
+	    roffs1.exceptions(ios::failbit);
+	    roffs2.exceptions(ios::failbit);
+
+	    RinexObsHeader roh1, roh2;
+	    RinexObsData rod1, rod2;
+
+	    roffs1 >> roh1;
+	    roffs2 >> roh2;
+
+	    if (l > 0) {
+		t1 = t1 + Pos1;
+		if (!vecmode)
+		    t2 = t2 + Pos2;
+	    }
+	    Geodetic g1(t1, &geoid);
+	    Geodetic g2(t2, &geoid);
+	    
+	    cout << name1 << ": " << t1 << endl 
+		 << name2 << ": " << t2 << endl << endl;
+	    // Print also geographic coords
+	    Position t1g(t1);
+	    Position t2g(t2);
+	    cout << name1 << ": " << t1g.asGeodetic() << endl 
+		 << name2 << ": " << t2g.asGeodetic() << endl;
+
+	    gpstk::Matrix <double> N(MaxDim, MaxDim, 0.0);
+	    gpstk::Matrix <double> b(MaxDim, 3, 0.0);
+	    int observations(0), rejections(0);
+	    double RMS(0);
+	    // points to _after_ the last unknown
+	    int unknowns = MaxUnkn;
+
+	    while (roffs1 >> rod1 && roffs2 >> rod2) { // Epoch loop
+		// Make sure we have a common epoch:
+		while (rod1.time > rod2.time)
+		    roffs2 >> rod2;
+		while (rod1.time < rod2.time)
+		    roffs1 >> rod1;
+		double const Secs = rod1.time.hour() * 3600
+		    + rod1.time.minute() * 60 + rod1.time.second();
+
+		if (rod1.epochFlag < 2 && rod2.epochFlag < 2)
+		    // Observations are good
+		{
+		    map <RinexPrn, int> CommonSats;
+		    CommonSats.clear();
+		    vector <RinexPrn> prnVec_1, prnVec_2;
+		    vector <double> rangeVecL1_1, rangeVecL2_1;
+		    vector <double> rangeVecL1_2, rangeVecL2_2;
+
+		    // First station
+		    stationData(rod1, phase, prnVec_1, rangeVecL1_1,
+				rangeVecL2_1);
+		    // Second station
+		    stationData(rod2, phase, prnVec_2, rangeVecL1_2,
+				rangeVecL2_2);
+
+		    /// Process station pairs
+
+		    // for construction of double diffs
+		    RinexPrn RefSat;
+		    bool hasRefSat(false);
+
+		    double ref_rdiffL1, ref_rdiffL2;
+		    vector <double> ref_A(MaxUnkn);
+		    gpstk::Matrix <double> A(MaxDim, MaxSats, 0.0);
+		    gpstk::Matrix <double> Obs(MaxSats, 3, 0.0);
+		    // For var-cov modelling
+		    vector <double> Q(MaxSats), 
+			   Elev10(MaxSats), Elev20(MaxSats);
+		    double Qref;
+		    int nObs(0);
+
+		    // Find out the highest satellite:
+		    double best(0.0);
+		    int bestIdx(0);
+		    bool stickWithOld = false;
+		    for (int i = 0; i != prnVec_2.size(); i++)
+			if (prnVec_2[i].prn > 0) {
+
+			    // Invariant over iterations! Uses t10, t20
+			    double dummy = EPH_RANGE(CER2, rod2, t10,
+				    prnVec_2[i]);
+			    double const riseVel1 = CER2.svPosVel.v.dot(t10);
+			    Elev10[i] = CER2.elevation;
+			    bool const elev1OK = CER2.elevation > refsat_elev;
+
+			    dummy = EPH_RANGE(CER2, rod2, t20,
+				    prnVec_2[i]);
+			    double const riseVel2 = CER2.svPosVel.v.dot(t20);
+			    Elev20[i] = CER2.elevation;
+			    bool const elev2OK = CER2.elevation > refsat_elev;
+
+			    double const riseVel = 0.5 * (riseVel1 + riseVel2);
+			    
+			    if (elev1OK && elev2OK 
+				    && riseVel > best
+				    && !stickWithOld) {
+				best = riseVel;
+				bestIdx = i;
+			    }
+			    // Hang on to same ref sat if still high enough 
+			    if (OldRefSat == prnVec_2[i] 
+				&& CER2.elevation > refsat_elev) {
+				bestIdx = i;
+				stickWithOld = true;
+			    }
+		        }
+
+		    for (int ii = 0; ii != prnVec_2.size(); ii++) {
+			// Reshuffle... 
+			int i = (ii + bestIdx) % prnVec_2.size();
+			if (prnVec_2[i].prn > 0 
+				&& Elev10[i] > cutoff_elev
+				&& Elev20[i] > cutoff_elev) {
+			    double r2 = EPH_RANGE(CER2, rod2, t2,
+				    prnVec_2[i]);
+			    double trop2 =
+				trop.correction(t2, CER2.svPosVel.x, rod2.time);
+			    r2 += trop2;
+			    
+			    for (int j = 0; j != prnVec_1.size(); j++) {
+				if (prnVec_1[j].prn > 0
+				    && prnVec_1[j].prn == prnVec_2[i].prn)
+				{
+				    // This sat is visible from both
+				    // stations
+			    	    double r1 = EPH_RANGE(CER1, rod1, t1,
+				    prnVec_1[j]);
+				    double trop1 = trop.correction(t1,
+						CER1.svPosVel.x, rod1.time);
+				    r1 += trop1;
+				    
+				    // Between-station diffs
+				    double diffL1 = rangeVecL1_1[j] - rangeVecL1_2[i];
+				    double diffL2 = rangeVecL2_1[j] - rangeVecL2_2[i];
+				    // Subtract out approx values
+				    double rdiffL1 = lambda1 * diffL1 - (r1 - r2);
+				    double rdiffL2 = lambda2 * diffL2 - (r1 - r2);
+				    if (iono) {
+					// Ionospheric corrections:
+					double const 
+					    ionoL1_1 = ion.getCorrection(
+						rod1.time, g1, CER1.elevation,
+						CER1.azimuth, IonoModel::L1);
+					double const
+					    ionoL2_1 = ion.getCorrection(
+						rod1.time, g1, CER1.elevation,
+						CER1.azimuth, IonoModel::L2);
+					double const
+					    ionoL1_2 = ion.getCorrection(
+						rod2.time, g2, CER2.elevation,
+						CER2.azimuth, IonoModel::L1);
+					double const
+					    ionoL2_2 = ion.getCorrection(
+						rod2.time, g2, CER2.elevation,
+						CER2.azimuth, IonoModel::L2);
+					// Apply them:
+					if (phase) {
+					    rdiffL1 += ionoL1_1 - ionoL1_2;
+					    rdiffL2 += ionoL2_1 - ionoL2_2;
+					} else {
+					    rdiffL1 -= ionoL1_1 - ionoL1_2;
+					    rdiffL2 -= ionoL2_1 - ionoL2_2;
+					}
+				    }
+
+				    vector <double> A_(MaxDim, 0.0);
+				    // Store obs. coefficients for
+				    // coordinates
+				    for (int k = 0; k < 3; k++)
+					A_[k] = CER1.cosines[k];
+				    if (!vecmode) {
+					for (int k = 3; k < 6; k++)
+					    A_[k] = -CER2.cosines[k - 3];
+				    }
+				    // Tropo estimation
+				    if (tropo) {
+					A_[MaxUnkn - 2] = trop1;
+					A_[MaxUnkn - 1] = -trop2;
+				    }
+
+				    // Weight coefficient of this obs:
+				    double const q_ = 1.0 / 
+					sin(DEG_TO_RAD * CER1.elevation) + 1.0 /
+					sin(DEG_TO_RAD * CER2.elevation);
+				    // Build obs. coefs for satellite
+				    // ambiguities
+				    if (!hasRefSat) {
+					RefSat = prnVec_1[j];
+					hasRefSat = true;
+					if (RefSat != OldRefSat) {
+					    // Ref sat change; invalidates
+					    // unknowns
+					    CommonSatsPrev.clear();
+					    cout << "New ref sat:" << RefSat << endl;
+					    //DDobsValid.clear();
+					    //SecsValid.clear();
+					} 
+
+					ref_rdiffL1 = rdiffL1;
+					ref_rdiffL2 = rdiffL2;
+					Qref = q_;
+					for (int k = 0; k < MaxUnkn; k++)
+					    ref_A[k] = A_[k];
+				    } else {
+					// Construct inter-sat diffs
+					bool reject(false);
+					FixType fix(FIX_NONE);
+					vector <double> DDobs(3);
+					DDobs[1] = rdiffL1 - ref_rdiffL1;
+					DDobs[2] = rdiffL2 - ref_rdiffL2;
+
+					// iono free observable, unit metres
+					DDobs[0] =
+					    wt1 * DDobs[1] + wt2 * DDobs[2];
+					for (int k = 0; k < MaxUnkn; k++)
+					    A_[k] -= ref_A[k];
+
+					RinexPrn ThisSat = prnVec_1[j];
+					if (CommonSatsPrev.find(ThisSat) ==
+					    CommonSatsPrev.end()) {
+					    // New satellite
+					    CommonSats[ThisSat] = unknowns;
+					    if (phase) {
+						cout << endl << "New unknown " 
+						    << unknowns << " == " 
+						    << ThisSat << endl;
+
+						// create new DD ambiguity unknown
+						A_[unknowns] = 1.0;
+						// Initial approx. ambiguities
+						if (l == 0)
+						    for (int k = 0; k < 3; k++)
+							x0(unknowns,k) = 
+							    DDobs[k];
+
+						for (int k = 0; k < 3; k++)
+						    DDobs[k] -= 
+							x0(unknowns,k);
+						unknowns++;
+					    } else {
+						// Rough test double diffs
+						//reject = (std::abs(DDobs[0]) > 1.0);
+					    }
+					    // Initialize previous obs for
+					    // triple diff comp
+					    DDobsPrev[ThisSat] = DDobs[0];
+					    SecsPrev[ThisSat] = Secs;
+					    reject = false;
+					} else {
+
+					    // Already known sat, copy
+					    // forward
+					    CommonSats[ThisSat] =
+						CommonSatsPrev[ThisSat];
+					    if (phase) {
+						A_[CommonSats[ThisSat]] = 1.0;
+						for (int k = 0; k < 3; k++)
+						    DDobs[k] -= 
+							x0(CommonSats[ThisSat],k);
+					    }
+
+					    // Triple difference testing
+
+					    double timebase 
+						= Secs - SecsPrev[ThisSat];
+					    timebase = (timebase > 120 ? 120 :
+							timebase);
+					    double res 
+						= (DDobs[0] - DDobsPrev[ThisSat]) / timebase;
+					    // Cycle slips will show up here
+					    // over 30 s as 0.0226 and
+					    // 0.0131, respectively.
+					    reject =
+						(std::abs(res) *
+						 sqrt(2.0 / (Qref + q_)) >
+						(phase ? 0.001 : 0.1));
+					    
+					    if (!reject)
+						RMS += res * res;
+					    else {
+						rejections++;
+					    }
+					    if (debug) {
+						cout << ThisSat << ":";
+						if (reject)
+						    cout << "REJ [" <<
+							Elev10[i] << ":" <<
+							Elev20[i] << "] ";
+						cout << setprecision(4) << res
+						<< " ";
+					    }
+					    observations++;
+					}
+
+					if (!reject) {
+					    // Update "last good" obs
+					    DDobsPrev[ThisSat] = DDobs[0];
+					    SecsPrev[ThisSat] = Secs;
+
+					    // Collect per-obs quantities
+					    // into per-epoch tables
+					    for (int k = 0; k < unknowns; k++)
+						A(k, nObs) = A_[k];
+					    for (int k = 0; k < 3; k++)
+						Obs(nObs, k) = DDobs[k];
+					    Q[nObs] = q_;
+					    nObs++;
+					}
+
+				    }	// end other-than-ref sats
+				    // processing
+
+				} // end sats visible from both stations
+			    }
+			}
+		    }		// All obs for this epoch processed
+
+		    if (nObs > 0) {
+			gpstk::Matrix <double> Qmat(nObs, nObs, 0.0);
+			for (int io = 0; io < nObs; io++) {
+			    if (truecov)
+				for (int jo = 0; jo < nObs; jo++)
+				    Qmat(io, jo) = Qref;
+			    Qmat(io, io) += Q[io];
+			}
+			Qmat = gpstk::inverse(Qmat);
+
+			// Right hand side vector
+			for (int k = 0; k < unknowns; k++)
+			    for (int io = 0; io < nObs; io++) {
+				for (int jo = 0; jo < nObs; jo++)
+				    for (int ot = 0; ot < 3; ot++)
+					b(k, ot) += A(k, io) * Obs(jo, ot)
+					    * Qmat(io, jo);
+
+			    }
+
+			// Normal eqs fill-in with full weight matrix per-epoch
+			for (int k = 0; k < unknowns; k++) {
+			    for (int io = 0; io < nObs; io++) {
+				if (A(k, io) != 0.0) { // Optimize
+				    for (int m = 0; m < unknowns; m++) {
+					for (int jo = 0; jo < nObs; jo++)
+					    N(k, m) += A(k, io) * A(m, jo) *
+						Qmat(io, jo);
+				    }
+				}
+			    }
+			}
+		    } // Normals building
+
+		    cout << endl;
+		    cout << "epoch " << rod1.time;
+		    cout << " unkn " << unknowns;
+		    cout << " obs  " << nObs;
+		    cout << " sats " << CommonSats.size() << endl;
+
+		    CommonSatsPrev = CommonSats;
+		    OldRefSat = RefSat;
+
+		}		// End usable data
+
+	    }			// End loop through each epoch
+
+	    cout << endl;
+	    cout << "Total unknowns:           " << unknowns << endl;
+	    cout << "Observations:             " << observations << endl;
+	    cout << "Rejected:                 " << rejections;
+	    cout << " or " << 100.0 * rejections / observations << "%" << endl;
+	    cout << "Triple-diff RMS [m/s]:    " << sqrt(RMS /
+						     (observations -
+						      rejections)) << endl;
+
+	    if (debug)
+		cout << "Start of b vector:" << setw(6) << endl
+		    << "b0: " << b(0,0) << " " << b(1,0) << " " << b(2,0) << endl
+		    << "b1: " << b(0,1) << " " << b(1,1) << " " << b(2,1) << endl
+		    << "b2: " << b(0,2) << " " << b(1,2) << " " << b(2,2) 
+		    << endl << endl;
+
+	    // Here we solve the normal equations and print solution
+	    gpstk::Matrix <double> NN(unknowns, unknowns);
+	    gpstk::Matrix <double> bb(unknowns, 3);
+	    Solve(N, b, NN, bb, SOLVE_COORDS, fixed, MaxUnkn, unknowns);
+
+	    cout << "Weight coefficient matrix:" << endl;
+	    for (int i = 0; i < MaxUnkn; i++) {
+		for (int j = 0; j < MaxUnkn; j++) {
+		    cout << setw(10) << NN(i, j) << " ";
+		}
+		cout << endl;
+	    }
+	    cout << endl;
+
+	    // Solution:
+	    gpstk::Matrix <double> sol = NN * bb;
+
+	    cout << "Solution (correction to inter-station vector):" <<
+		endl;
+	    Pos1 = Position(sol(0,0), sol(1,0), sol(2,0));
+	    Position PosCorr0 = Pos1;
+	    Position PosCorr1 = Position(sol(0,1), sol(1,1), sol(2,1));
+	    Position PosCorr2 = Position(sol(0,2), sol(1,2), sol(2,2));
+	    if (!vecmode) {
+		Pos2 = Position(sol(3,0), sol(4,0), sol(5,0));
+		PosCorr0 = PosCorr0 - Pos2;
+		PosCorr1 = PosCorr1 - Position(sol(3,1), sol(4,1), sol(5,1));
+		PosCorr2 = PosCorr2 - Position(sol(3,2), sol(4,2), sol(5,2));
+	    }
+	    cout << "Iono free: " << PosCorr0 << " <--" << endl;
+	    if (debug || iono) {
+		cout << "Freq. 1:   " << PosCorr1 << endl;
+		cout << "Freq. 2:   " << PosCorr2 << endl;
+	    }
+	    cout << endl;
+
+	    // Manhattan distance for iteration stop:
+	    crit = std::abs(PosCorr0[0]) + std::abs(PosCorr0[1]) 
+		 + std::abs(PosCorr0[2]);
+
+	    cout << "Standard deviations (unscaled):" << endl;
+	    for (int k = 0; k < MaxUnkn; k++)
+		cout << sqrt(NN(k, k)) << " ";
+	    cout << endl;
+
+	    Position vec(t1 - t2);
+	    cout << "A priori vector:" << endl << vec << endl;
+	    vec = vec + PosCorr0;	// define += operator!
+	    cout << "A posteriori vector:" << endl << vec << endl << endl;
+
+	    if (tropo) {
+		cout <<
+		    "Troposheric corr. parameters (fraction of full effect):"
+		    << endl;
+
+		cout << sol(MaxUnkn - 2, 0) << " " << sol(MaxUnkn - 1, 0) << endl;
+		cout << "Standard deviations (unscaled):" << endl;
+		cout << sqrt(NN(MaxUnkn - 2, MaxUnkn - 2)) << " "
+		     << sqrt(NN(MaxUnkn - 1, MaxUnkn - 1)) << endl <<
+		    endl;
+	    }
+
+	    // Ambiguity fixing on the unknowns, keeping coords as known:
+	    if (phase) {
+		Solve(N, b, NN, bb, SOLVE_AMBS, fixed, MaxUnkn, unknowns);
+		sol = NN * bb;
+
+		int fixedunknowns = 0;
+		int widelanes = 0;
+		cout << " DD bias fixes (fractional cycles):" << endl;
+		for (int k = MaxUnkn; k < unknowns; k++) {
+		    cout << "[" << sqrt(NN(k,k)) << "] ";
+		    cout << k << ": ";
+		    vector <double> x0vec(3);
+		    x0vec[1] = x0(k, 1) + sol(k, 1);
+		    x0vec[2] = x0(k, 2) + sol(k, 2);
+		    FixType f = phaseCycles(x0vec, lambda1, lambda2);
+		    // remember to correct iono-free too
+		    x0(k, 0) = wt1 * x0vec[1] + wt2 * x0vec[2];
+		    x0(k, 1) = x0vec[1];
+		    x0(k, 2) = x0vec[2];
+		    if (f == FIX_BOTH)
+			fixedunknowns++;
+		    if (f == FIX_WIDELANE) 
+			widelanes++;
+		    fixed[k] = f;
+		}
+		cout << endl;
+		cout << "Fixed:      " << fixedunknowns << "  "
+		     << 100.0 * fixedunknowns / (unknowns - MaxUnkn) << "%" << endl;
+		cout << "Widelanes:  " << widelanes << "  "
+		     << 100.0 * widelanes / (unknowns - MaxUnkn) << "%" << endl;
+		cout << endl;
+	    }
+
+	} // iteration loop end
+
+	cout << "Finished." << endl;
+    }
+    catch(Exception & e) {
+	cerr << e << endl;
+    }
+    catch(...) {
+	cerr << "Caught an unexpected exception." << endl;
+    }
+
+    exit(0);
+
+}
diff --git a/trunk/apps/differential/vecsol.eph b/trunk/apps/differential/vecsol.eph
new file mode 100644
index 0000000..cc660a7
--- /dev/null
+++ b/trunk/apps/differential/vecsol.eph
@@ -0,0 +1,7 @@
+# The sp3 precise ephemeris file. Use # in first pos for comment
+# Day 6 of GPS week 1323 is May 21, 2005
+igs13235.sp3
+igs13236.sp3
+#gfz13236.sp3
+igs13240.sp3
+
diff --git a/trunk/apps/differential/vecsol.nav b/trunk/apps/differential/vecsol.nav
new file mode 100644
index 0000000..440d7e2
--- /dev/null
+++ b/trunk/apps/differential/vecsol.nav
@@ -0,0 +1,3 @@
+# Broadcast ephemeris file. Use # in first pos for comment
+# day 141 of 2005 is May 21
+brdc1410.05n
diff --git a/trunk/apps/differential/vecsol.pdf b/trunk/apps/differential/vecsol.pdf
new file mode 100644
index 0000000..fa6b0cf
Binary files /dev/null and b/trunk/apps/differential/vecsol.pdf differ
diff --git a/trunk/apps/difftools/DiffFrame.hpp b/trunk/apps/difftools/DiffFrame.hpp
new file mode 100644
index 0000000..6d13e6c
--- /dev/null
+++ b/trunk/apps/difftools/DiffFrame.hpp
@@ -0,0 +1,84 @@
+#pragma ident "$Id $"
+
+#ifndef DIFFFRAME_HPP
+#define DIFFFRAME_HPP
+
+#include "CommandOptionWithTimeArg.hpp"
+#include "BasicFramework.hpp"
+
+class DiffFrame : public gpstk::BasicFramework
+{
+public:
+      /**
+       * arg0 is the name of the executable from argv[0].
+       * type is a string with the type of file (i.e. "RINEX Obs").
+       * message is an extra message that gets passed to the
+       * program description.
+       */
+   DiffFrame(char* arg0, 
+             const std::string& type, 
+             const std::string& message = std::string())
+         : gpstk::BasicFramework(arg0,
+                                 "Diffs input " + type + " files. " + message),
+           timeOption('t', "time", "Start of time range to compare (default ="
+                      " \"beginning of time\")"),
+           eTimeOption('e', "end-time", "End of time range to compare"
+                       " (default = \"end of time\")"),
+           inputFileOption("An input " + type + " file.", true),
+           startTime(gpstk::DayTime::BEGINNING_OF_TIME),
+           endTime(gpstk::DayTime::END_OF_TIME)
+   {
+      inputFileOption.setMaxCount(2);
+      timeOption.setMaxCount(1);
+      eTimeOption.setMaxCount(1);
+      timeOptions.addOption(&timeOption);
+      timeOptions.addOption(&eTimeOption);
+   }
+
+   virtual bool initialize(int argc, char* argv[]) throw()
+   {
+      if (!gpstk::BasicFramework::initialize(argc, argv))
+      {
+         return false;
+      }
+
+      if (inputFileOption.getCount() != 2)
+      {
+         std::cerr << "This program requires two input files." << std::endl;
+         return false;
+      }
+
+      if (timeOption.getCount())
+      {
+         startTime = timeOption.getTime()[0];
+      }
+
+      if (eTimeOption.getCount())
+      {
+         endTime = eTimeOption.getTime()[0];
+      }
+
+      if (startTime > endTime)
+      {
+            std::cerr << "End time can't precede start time." << std::endl;
+            return false;
+      }
+      return true;
+   }
+
+protected:
+   virtual void process() = 0;
+   
+      /// start time for file record differencing
+   gpstk::CommandOptionWithSimpleTimeArg timeOption;
+      /// end time for file record differencing
+   gpstk::CommandOptionWithSimpleTimeArg eTimeOption;
+      /// if either of the time options are set
+   gpstk::CommandOptionGroupOr timeOptions;
+   gpstk::CommandOptionRest inputFileOption;
+
+   gpstk::DayTime startTime, endTime;
+};
+
+
+#endif
diff --git a/trunk/apps/difftools/Jamfile b/trunk/apps/difftools/Jamfile
new file mode 100644
index 0000000..addfa3a
--- /dev/null
+++ b/trunk/apps/difftools/Jamfile
@@ -0,0 +1,12 @@
+# $Id: //depot/sgl/gpstk/dev/apps/difftools/Jamfile#2 $
+
+SubDir TOP apps difftools ;
+
+GPSLinkLibraries rowdiff rnwdiff rmwdiff ephdiff ficdiff : gpstk ;
+BonkForte ; # bleah.
+
+GPSMain rowdiff : rowdiff.cpp ;
+GPSMain rnwdiff : rnwdiff.cpp ;
+GPSMain rmwdiff : rmwdiff.cpp ;
+GPSMain ephdiff : ephdiff.cpp ;
+GPSMain ficdiff : ficdiff.cpp ;
diff --git a/trunk/apps/difftools/Makefile.am b/trunk/apps/difftools/Makefile.am
new file mode 100644
index 0000000..4294034
--- /dev/null
+++ b/trunk/apps/difftools/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = rowdiff rnwdiff rmwdiff ephdiff ficdiff
+
+rowdiff_SOURCES = rowdiff.cpp
+rnwdiff_SOURCES = rnwdiff.cpp
+rmwdiff_SOURCES = rmwdiff.cpp
+ephdiff_SOURCES = ephdiff.cpp
+ficdiff_SOURCES = ficdiff.cpp
diff --git a/trunk/apps/difftools/Makefile.in b/trunk/apps/difftools/Makefile.in
new file mode 100644
index 0000000..b4aa597
--- /dev/null
+++ b/trunk/apps/difftools/Makefile.in
@@ -0,0 +1,460 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = rowdiff$(EXEEXT) rnwdiff$(EXEEXT) rmwdiff$(EXEEXT) \
+	ephdiff$(EXEEXT) ficdiff$(EXEEXT)
+subdir = apps/difftools
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_ephdiff_OBJECTS = ephdiff.$(OBJEXT)
+ephdiff_OBJECTS = $(am_ephdiff_OBJECTS)
+ephdiff_LDADD = $(LDADD)
+ephdiff_DEPENDENCIES = ../../src/libgpstk.la
+am_ficdiff_OBJECTS = ficdiff.$(OBJEXT)
+ficdiff_OBJECTS = $(am_ficdiff_OBJECTS)
+ficdiff_LDADD = $(LDADD)
+ficdiff_DEPENDENCIES = ../../src/libgpstk.la
+am_rmwdiff_OBJECTS = rmwdiff.$(OBJEXT)
+rmwdiff_OBJECTS = $(am_rmwdiff_OBJECTS)
+rmwdiff_LDADD = $(LDADD)
+rmwdiff_DEPENDENCIES = ../../src/libgpstk.la
+am_rnwdiff_OBJECTS = rnwdiff.$(OBJEXT)
+rnwdiff_OBJECTS = $(am_rnwdiff_OBJECTS)
+rnwdiff_LDADD = $(LDADD)
+rnwdiff_DEPENDENCIES = ../../src/libgpstk.la
+am_rowdiff_OBJECTS = rowdiff.$(OBJEXT)
+rowdiff_OBJECTS = $(am_rowdiff_OBJECTS)
+rowdiff_LDADD = $(LDADD)
+rowdiff_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(ephdiff_SOURCES) $(ficdiff_SOURCES) $(rmwdiff_SOURCES) \
+	$(rnwdiff_SOURCES) $(rowdiff_SOURCES)
+DIST_SOURCES = $(ephdiff_SOURCES) $(ficdiff_SOURCES) \
+	$(rmwdiff_SOURCES) $(rnwdiff_SOURCES) $(rowdiff_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+rowdiff_SOURCES = rowdiff.cpp
+rnwdiff_SOURCES = rnwdiff.cpp
+rmwdiff_SOURCES = rmwdiff.cpp
+ephdiff_SOURCES = ephdiff.cpp
+ficdiff_SOURCES = ficdiff.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  apps/difftools/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  apps/difftools/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+ephdiff$(EXEEXT): $(ephdiff_OBJECTS) $(ephdiff_DEPENDENCIES) 
+	@rm -f ephdiff$(EXEEXT)
+	$(CXXLINK) $(ephdiff_LDFLAGS) $(ephdiff_OBJECTS) $(ephdiff_LDADD) $(LIBS)
+ficdiff$(EXEEXT): $(ficdiff_OBJECTS) $(ficdiff_DEPENDENCIES) 
+	@rm -f ficdiff$(EXEEXT)
+	$(CXXLINK) $(ficdiff_LDFLAGS) $(ficdiff_OBJECTS) $(ficdiff_LDADD) $(LIBS)
+rmwdiff$(EXEEXT): $(rmwdiff_OBJECTS) $(rmwdiff_DEPENDENCIES) 
+	@rm -f rmwdiff$(EXEEXT)
+	$(CXXLINK) $(rmwdiff_LDFLAGS) $(rmwdiff_OBJECTS) $(rmwdiff_LDADD) $(LIBS)
+rnwdiff$(EXEEXT): $(rnwdiff_OBJECTS) $(rnwdiff_DEPENDENCIES) 
+	@rm -f rnwdiff$(EXEEXT)
+	$(CXXLINK) $(rnwdiff_LDFLAGS) $(rnwdiff_OBJECTS) $(rnwdiff_LDADD) $(LIBS)
+rowdiff$(EXEEXT): $(rowdiff_OBJECTS) $(rowdiff_DEPENDENCIES) 
+	@rm -f rowdiff$(EXEEXT)
+	$(CXXLINK) $(rowdiff_LDFLAGS) $(rowdiff_OBJECTS) $(rowdiff_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ephdiff.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ficdiff.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rmwdiff.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rnwdiff.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rowdiff.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/difftools/ephdiff b/trunk/apps/difftools/ephdiff
new file mode 100755
index 0000000..2603d65
Binary files /dev/null and b/trunk/apps/difftools/ephdiff differ
diff --git a/trunk/apps/difftools/ephdiff.cpp b/trunk/apps/difftools/ephdiff.cpp
new file mode 100644
index 0000000..ea3947f
--- /dev/null
+++ b/trunk/apps/difftools/ephdiff.cpp
@@ -0,0 +1,359 @@
+#pragma ident "$Id $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FICStream.hpp"
+#include "FICData.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+#include "FileFilterFrame.hpp"
+
+#include "BasicFramework.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+struct EphDiffLessThan : 
+   public std::binary_function<EngEphemeris, EngEphemeris, bool>
+{
+public:
+   bool operator() (const EngEphemeris& l, const EngEphemeris& r) const
+      {
+         if (l.getPRNID() < r.getPRNID())
+            return true;
+         else if (l.getPRNID() > r.getPRNID())
+            return false;
+         else if (l.getFullWeek() < r.getFullWeek())
+            return true;
+         else if (l.getFullWeek() > r.getFullWeek())
+            return false;
+         else if (l.getIODC() < r.getIODC())
+            return true;
+         else if (l.getIODC() > r.getIODC())
+            return false;
+         else if (l.getASAlert(1) < r.getASAlert(1))
+            return true;
+         else if (l.getASAlert(1) > r.getASAlert(1))
+            return false;
+         else if (l.getASAlert(2) < r.getASAlert(2))
+            return true;
+         else if (l.getASAlert(2) > r.getASAlert(2))
+            return false;
+         else if (l.getASAlert(3) < r.getASAlert(3))
+            return true;
+         else if (l.getASAlert(3) > r.getASAlert(3))
+            return false;
+
+         return false;
+      }
+};
+
+struct EphDiffEquals : 
+   public std::binary_function<EngEphemeris, EngEphemeris, bool>
+{
+public:
+   bool operator() (const EngEphemeris& l, const EngEphemeris& r) const
+      {
+         if ( (l.getPRNID() == r.getPRNID()) && 
+              (l.getIODC() == r.getIODC()) )
+            return true;
+         return false;
+      }
+};
+
+struct EphDiffFinder : 
+   public std::unary_function<EngEphemeris, bool>
+{
+public:
+   EphDiffFinder(const EngEphemeris& e)
+         : PRN(e.getPRNID()), IODC(e.getIODC())
+      {}
+
+   bool operator() (const EngEphemeris& l) const
+      {
+         if ( (l.getPRNID() == PRN) && (l.getIODC() == IODC) )
+            return true;
+         return false;
+      }
+
+private:
+   short PRN;
+   double IODC;
+};
+
+class EphDiff : public BasicFramework
+{
+public:
+   EphDiff(char* arg0);
+   virtual bool initialize(int argc, char* argv[]) throw();
+
+protected:
+   virtual void process();
+
+   void fillFIC(FileFilterFrame<FICStream, FICData>& ff,
+                vector<EngEphemeris>& l);
+   void fillRINEX(FileFilterFrame<RinexNavStream, RinexNavData>& ff,
+                  vector<EngEphemeris>& l);
+
+private:
+   CommandOptionWithAnyArg ficFileOption;
+   CommandOptionWithAnyArg rinexFileOption;
+
+   string file1, file2;
+
+   vector<EngEphemeris> file1list, file2list;
+};
+
+EphDiff::EphDiff(char* arg0)
+      : BasicFramework(arg0, "Compares the contents of two files with ephemeris data - either file can be RINEX or FIC"),
+        ficFileOption('f',
+                      "fic",
+                      "Name of an input FIC file.",
+                      false),
+        rinexFileOption('r',
+                        "rinex",
+                        "Name of an input RINEX NAV file", 
+                        false)
+{
+}
+
+bool EphDiff::initialize(int argc, char* argv[]) throw()
+{
+   if(!BasicFramework::initialize(argc, argv))
+   {
+      return false;
+   }
+
+      // check the command options for 2 input files
+   int ficCount = ficFileOption.getCount();
+   int rinexCount = rinexFileOption.getCount();
+
+   if (  ((ficCount == 2) && (rinexCount != 0)) ||
+         ((ficCount == 1) && (rinexCount != 1)) ||
+         ((ficCount == 0) && (rinexCount != 2)) )
+   {
+      cout << "Exactly two input files must be specified on the command line" 
+           << endl
+           << "   ephdiff is ending..." << endl
+           << endl;
+      return false;
+   }
+
+      // open the files
+   
+      // in the case of 1 FIC and 1 rinex file, make sure the first file
+      // is chosen correctly...
+   if ( (ficCount == 1) && (rinexCount == 1) )
+   {
+      string ficname = ficFileOption.getValue()[0];
+      string rinexname = rinexFileOption.getValue()[0];
+
+      FileFilterFrame<FICStream, FICData> ficdata(ficname);
+      FileFilterFrame<RinexNavStream, RinexNavData> rinexdata(rinexname);
+
+      if (ficFileOption.getOrder() < rinexFileOption.getOrder())
+      {
+         file1 = ficname;
+         file2 = rinexname;
+         fillFIC(ficdata, file1list);
+         fillRINEX(rinexdata, file2list);
+      }
+      else
+      {
+         file1 = rinexname;
+         file2 = ficname;
+         fillRINEX(rinexdata, file1list);
+         fillFIC(ficdata, file2list);
+      }
+
+   }
+   else if (ficCount == 2)
+   {
+      file1 = ficFileOption.getValue()[0];
+      FileFilterFrame<FICStream, FICData> fic1(file1);
+      file2 = ficFileOption.getValue()[1];
+      FileFilterFrame<FICStream, FICData> fic2(file2);
+
+      fillFIC(fic1, file1list);
+      fillFIC(fic2, file2list);
+   }
+   else // if (rinexCount == 2)
+   {
+      file1 = rinexFileOption.getValue()[0];
+      FileFilterFrame<RinexNavStream, RinexNavData> rn1(file1);
+      file2 = rinexFileOption.getValue()[1];
+      FileFilterFrame<RinexNavStream, RinexNavData> rn2(file2);
+
+      fillRINEX(rn1, file1list);
+      fillRINEX(rn2, file2list);
+   }
+
+   return true;
+}
+
+void EphDiff::process()
+{
+      // first sort and filter the lists
+   stable_sort(file1list.begin(), file1list.end(), EphDiffLessThan());
+   stable_sort(file2list.begin(), file2list.end(), EphDiffLessThan());
+
+   vector<EngEphemeris>::iterator listitr;
+
+   listitr = unique(file1list.begin(), file1list.end(), EphDiffEquals());
+   file1list.erase(listitr, file1list.end());
+
+   listitr = unique(file2list.begin(), file2list.end(), EphDiffEquals());
+   file2list.erase(listitr, file2list.end());
+
+      // for each element in the first list, try to find a match in the
+      // second list.  if a match is found, compare the data. otherwise
+      // add to the unmatchedData list.
+   vector<EngEphemeris> unmatchedData;
+
+   while (!file1list.empty())
+   {
+      listitr = find_if(file2list.begin(), 
+                        file2list.end(), 
+                        EphDiffFinder(file1list[0]));
+                      
+      if (listitr != file2list.end())
+      {
+            // compare the data
+         
+            // delete the data so we don't search for it again
+         file2list.erase(listitr);
+      }
+      else
+         unmatchedData.push_back(file1list[0]);
+
+      file1list.erase(file1list.begin());
+   }
+
+      // that's all the processing... now just write the results
+   cout << "Data in " << file1 << " not found in " << file2 << ": " << endl;
+
+   if (!unmatchedData.empty())
+   {
+      listitr = unmatchedData.begin();
+      while (listitr != unmatchedData.end())
+      {
+         (*listitr).dump(cout << endl);
+         listitr++;
+      }
+   }
+   else
+      cout << "   All data in " << file1 << " was found in " << file2 << "."
+           << endl;
+   
+   cout << endl;
+   cout << "Data in " << file2 << " not found in " << file1 << ": " << endl;
+   
+   if (!file2list.empty())
+   {
+      listitr = file2list.begin();
+      while (listitr != file2list.end())
+      {
+         (*listitr).dump(cout << endl);
+         listitr++;
+      }
+   }
+   else
+      cout << "   All data in " << file2 << " was found in " << file1 << "."
+           << endl;
+
+}
+
+void EphDiff::fillFIC(FileFilterFrame<FICStream, FICData>& ff,
+                      vector<EngEphemeris>& l)
+{
+   list<FICData>& ficlist = ff.getData();
+   
+   list<FICData>::iterator itr = ficlist.begin();
+
+   while (itr != ficlist.end())
+   {
+      if ((*itr).blockNum == 9)
+         l.push_back(*itr);
+      itr++;
+   }
+}
+
+void EphDiff::fillRINEX(FileFilterFrame<RinexNavStream, RinexNavData>& ff,
+                        vector<EngEphemeris>& l)
+{
+   list<RinexNavData>& ficlist = ff.getData();
+   
+   list<RinexNavData>::iterator itr = ficlist.begin();
+
+   while (itr != ficlist.end())
+   {
+      l.push_back(EngEphemeris(*itr));
+      itr++;
+   }
+}
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      EphDiff ed(argv[0]);
+      if (!ed.initialize(argc, argv))
+         return 0;
+      if (!ed.run())
+         return 1;
+      
+      return 0;
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
diff --git a/trunk/apps/difftools/ficdiff b/trunk/apps/difftools/ficdiff
new file mode 100755
index 0000000..4f266fb
Binary files /dev/null and b/trunk/apps/difftools/ficdiff differ
diff --git a/trunk/apps/difftools/ficdiff.cpp b/trunk/apps/difftools/ficdiff.cpp
new file mode 100644
index 0000000..c8c16a7
--- /dev/null
+++ b/trunk/apps/difftools/ficdiff.cpp
@@ -0,0 +1,103 @@
+#pragma ident "$Id $"
+
+#include "FICFilterOperators.hpp"
+#include "FileFilterFrame.hpp"
+
+#include "DiffFrame.hpp"
+#include "FICData.hpp"
+#include "FICStream.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class FICDiff : public DiffFrame
+{
+public:
+   FICDiff(char* arg0)
+         : DiffFrame(arg0, 
+                      std::string("binary FIC"))
+      {}
+
+protected:
+   virtual void process();
+};
+
+void FICDiff::process()
+{
+   try
+   {
+      FileFilterFrame<FICStream, FICData> ff1(inputFileOption.getValue()[0]);
+      FileFilterFrame<FICStream, FICData> ff2(inputFileOption.getValue()[1]);
+
+      ff1.sort(FICDataOperatorLessThanFull());
+      ff2.sort(FICDataOperatorLessThanFull());
+
+      pair< list<FICData>, list<FICData> > difflist = 
+         ff1.diff(ff2, FICDataOperatorLessThanFull());
+
+      if (difflist.first.empty() && difflist.second.empty())
+         exit(0);
+
+      list<FICData>::iterator itr = difflist.first.begin();
+      while (itr != difflist.first.end())
+      {
+         (*itr).dump(cout << '<');
+         itr++;
+      }
+
+      cout << endl;
+
+      itr = difflist.second.begin();
+      while (itr != difflist.second.end())
+      {
+         (*itr).dump(cout << '>');
+         itr++;
+      }
+
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl
+           << endl
+           << "Terminating.." << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl
+           << endl
+           << "Terminating.." << endl;
+   }
+   catch(...)
+   {
+      cout << "Unknown exception... terminating..." << endl;
+   }
+
+}
+
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      FICDiff m(argv[0]);
+      if (!m.initialize(argc, argv))
+         return 0;
+      if (!m.run())
+         return 1;
+      
+      return 0;
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 0;
+}
diff --git a/trunk/apps/difftools/rmwdiff b/trunk/apps/difftools/rmwdiff
new file mode 100755
index 0000000..1ee9bb5
Binary files /dev/null and b/trunk/apps/difftools/rmwdiff differ
diff --git a/trunk/apps/difftools/rmwdiff.cpp b/trunk/apps/difftools/rmwdiff.cpp
new file mode 100644
index 0000000..dcf8b23
--- /dev/null
+++ b/trunk/apps/difftools/rmwdiff.cpp
@@ -0,0 +1,221 @@
+#pragma ident "$Id $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileFilterFrameWithHeader.hpp"
+
+#include "RinexMetData.hpp"
+#include "RinexMetStream.hpp"
+#include "RinexMetFilterOperators.hpp"
+
+#include "DiffFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class RMWDiff : public DiffFrame
+{
+public:
+   RMWDiff(char* arg0)
+         : DiffFrame(arg0, 
+                     std::string("RINEX Met"))
+   {}
+
+protected:
+   virtual void process();
+};
+
+
+void RMWDiff::process()
+{
+   try
+   {
+      FileFilterFrameWithHeader<RinexMetStream, RinexMetData, RinexMetHeader>
+         ff1(inputFileOption.getValue()[0]), ff2(inputFileOption.getValue()[1]);
+
+         // find the obs data intersection
+      RinexMetHeaderTouchHeaderMerge merged;
+
+         // no data?  FIX make this program faster.. if one file
+         // doesn't exist, there's little point in reading any.
+      if (ff1.emptyHeader())
+         cerr << "No header information for " << inputFileOption.getValue()[0]
+              << endl;
+      if (ff2.emptyHeader())
+         cerr << "No header information for " << inputFileOption.getValue()[1]
+              << endl;
+      if (ff1.emptyHeader() || ff2.emptyHeader())
+      {
+         cerr << "Check that files exist." << endl;
+         cerr << "diff failed." << endl;
+         exit(1);
+      }
+
+      merged(ff1.frontHeader());
+      merged(ff2.frontHeader());
+
+      set<RinexMetHeader::RinexMetType> intersection = merged.obsSet;
+
+      cout << "Comparing the following fields (other header data is ignored):" << endl;
+      set<RinexMetHeader::RinexMetType>::iterator m = intersection.begin();
+      while (m != intersection.end())
+      {
+         cout << RinexMetHeader::convertObsType(*m) << ' ';
+         m++;
+      }
+      cout << endl;
+
+      if (timeOptions.getCount())
+      {
+         ff1.filter(RinexMetDataFilterTime(startTime, endTime));
+         ff2.filter(RinexMetDataFilterTime(startTime, endTime));
+      }
+
+      ff1.sort(RinexMetDataOperatorLessThanFull(intersection));
+      ff2.sort(RinexMetDataOperatorLessThanFull(intersection));
+
+      pair< list<RinexMetData>, list<RinexMetData> > difflist = 
+         ff1.diff(ff2, RinexMetDataOperatorLessThanFull(intersection));
+
+      if (difflist.first.empty() && difflist.second.empty())
+         exit(0);
+
+      list<RinexMetData>::iterator firstitr = difflist.first.begin();
+      while (firstitr != difflist.first.end())
+      {
+         bool matched = false;
+         list<RinexMetData>::iterator seconditr = difflist.second.begin();
+         while ((!matched) && (seconditr != difflist.second.end()))
+         {
+            if (firstitr->time == seconditr->time)
+            {
+               cout << setw(3) << firstitr->time.DOYday() << ' ' 
+                    << setw(10) << setprecision(0)
+                    << firstitr->time.DOYsecond() << ' ' 
+                    << ff1.frontHeader().markerName << ' '
+                    << ff2.frontHeader().markerName << ' ';
+
+               for (m = intersection.begin(); m != intersection.end(); m++)
+               {
+                  double diff = firstitr->data[*m];
+                  diff -= seconditr->data[*m];
+
+                  cout << setw(7) << setprecision(1) << fixed << diff << ' '
+                       << RinexMetHeader::convertObsType(*m) << ' ';
+
+               }
+               cout << endl;
+
+               firstitr = difflist.first.erase(firstitr);
+               seconditr = difflist.second.erase(seconditr);
+               matched = true;
+            }
+            else
+               seconditr++;
+         }
+
+         if (!matched)
+            firstitr++;
+      }
+
+      list<RinexMetData>::iterator itr = difflist.first.begin();
+      while (itr != difflist.first.end())
+      {
+         (*itr).dump(cout << '<');
+         itr++;
+      }
+
+      cout << endl;
+
+      itr = difflist.second.begin();
+      while (itr != difflist.second.end())
+      {
+         (*itr).dump(cout << '>');
+         itr++;
+      }
+
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl
+           << endl
+           << "Terminating.." << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl
+           << endl
+           << "Terminating.." << endl;
+   }
+   catch(...)
+   {
+      cout << "Unknown exception... terminating..." << endl;
+   }
+}
+
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      RMWDiff m(argv[0]);
+      if (!m.initialize(argc, argv))
+         return 0;
+      if (!m.run())
+         return 1;
+      
+      return 0;
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
diff --git a/trunk/apps/difftools/rnwdiff b/trunk/apps/difftools/rnwdiff
new file mode 100755
index 0000000..ef79e53
Binary files /dev/null and b/trunk/apps/difftools/rnwdiff differ
diff --git a/trunk/apps/difftools/rnwdiff.cpp b/trunk/apps/difftools/rnwdiff.cpp
new file mode 100644
index 0000000..0c1cb3c
--- /dev/null
+++ b/trunk/apps/difftools/rnwdiff.cpp
@@ -0,0 +1,205 @@
+#pragma ident "$Id $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileFilterFrame.hpp"
+
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavFilterOperators.hpp"
+
+#include "DiffFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class RNWDiff : public DiffFrame
+{
+public:
+   RNWDiff(char* arg0)
+         : DiffFrame(arg0, 
+                     std::string("RINEX Nav"))
+   {}
+
+protected:
+   virtual void process();
+};
+
+
+void RNWDiff::process()
+{
+   try
+   {
+      FileFilterFrame<RinexNavStream, RinexNavData> ff1(inputFileOption.getValue()[0]);
+      FileFilterFrame<RinexNavStream, RinexNavData> ff2(inputFileOption.getValue()[1]);
+      
+      ff1.sort(RinexNavDataOperatorLessThanFull());
+      ff2.sort(RinexNavDataOperatorLessThanFull());
+      
+      pair< list<RinexNavData>, list<RinexNavData> > difflist = 
+         ff1.diff(ff2, RinexNavDataOperatorLessThanFull());
+      
+      if (difflist.first.empty() && difflist.second.empty())
+         exit(0);
+
+      list<RinexNavData>::iterator firstitr = difflist.first.begin();
+      while (firstitr != difflist.first.end())
+      {
+         bool matched = false;
+         list<RinexNavData>::iterator seconditr = difflist.second.begin();
+         while ((!matched) && (seconditr != difflist.second.end()))
+         {
+               // this will match the exact same nav message in both
+               // files, not just the same ephemeris broadcasted at
+               // different times.
+            if ((firstitr->time == seconditr->time) &&
+                (firstitr->PRNID == seconditr->PRNID) &&
+                (firstitr->HOWtime == seconditr->HOWtime) )
+            {
+               cout << fixed << setw(3) << firstitr->time.DOYday() << ' ' 
+                    << setw(10) << setprecision(0)
+                    << firstitr->time.DOYsecond() << ' ' 
+                    << setw(19) << setprecision(12) << scientific
+                    << (firstitr->af0      - seconditr->af0) << ' '
+                    << (firstitr->af1      - seconditr->af1) << ' '
+                    << (firstitr->af2      - seconditr->af2) << ' '
+                    << (firstitr->IODE     - seconditr->IODE) << ' '
+                    << (firstitr->Crs      - seconditr->Crs) << ' '
+                    << (firstitr->dn       - seconditr->dn) << ' '
+                    << (firstitr->M0       - seconditr->M0) << ' '
+                    << (firstitr->Cuc      - seconditr->Cuc) << ' '
+                    << (firstitr->ecc      - seconditr->ecc) << ' '
+                    << (firstitr->Cus      - seconditr->Cus) << ' '
+                    << (firstitr->Ahalf    - seconditr->Ahalf) << ' '
+                    << (firstitr->Toe      - seconditr->Toe) << ' '
+                    << (firstitr->Cic      - seconditr->Cic) << ' '
+                    << (firstitr->OMEGA0   - seconditr->OMEGA0) << ' '
+                    << (firstitr->Cis      - seconditr->Cis) << ' '
+                    << (firstitr->i0       - seconditr->i0) << ' '
+                    << (firstitr->Crc      - seconditr->Crc) << ' '
+                    << (firstitr->w        - seconditr->w) << ' '
+                    << (firstitr->OMEGAdot - seconditr->OMEGAdot) << ' '
+                    << (firstitr->idot     - seconditr->idot) << ' '
+                    << (firstitr->codeflgs - seconditr->codeflgs) << ' '
+                    << (firstitr->weeknum  - seconditr->weeknum) << ' '
+                    << (firstitr->L2Pdata  - seconditr->L2Pdata) << ' '
+                    << (firstitr->accuracy - seconditr->accuracy) << ' '
+                    << (firstitr->health   - seconditr->health) << ' '
+                    << (firstitr->Tgd      - seconditr->Tgd) << ' '
+                    << (firstitr->IODC     - seconditr->IODC) << ' '
+                    << (firstitr->HOWtime  - seconditr->HOWtime) << ' '
+                    << (firstitr->fitint   - seconditr->fitint)
+                    << endl;
+
+               firstitr = difflist.first.erase(firstitr);
+               seconditr = difflist.second.erase(seconditr);
+               matched = true;
+            }
+            else
+               seconditr++;
+         }
+         
+         if (!matched)
+            firstitr++;
+      }
+
+      list<RinexNavData>::iterator itr = difflist.first.begin();
+      while (itr != difflist.first.end())
+      {
+         (*itr).dump(cout << '<');
+         itr++;
+      }
+
+      cout << endl;
+
+      itr = difflist.second.begin();
+      while (itr != difflist.second.end())
+      {
+         (*itr).dump(cout << '>');
+         itr++;
+      }
+
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl
+           << endl
+           << "Terminating.." << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl
+           << endl
+           << "Terminating.." << endl;
+   }
+   catch(...)
+   {
+      cout << "Unknown exception... terminating..." << endl;
+   }
+}
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      RNWDiff m(argv[0]);
+      if (!m.initialize(argc, argv))
+         return 0;
+      if (!m.run())
+         return 1;
+      
+      return 0;
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
diff --git a/trunk/apps/difftools/rowdiff b/trunk/apps/difftools/rowdiff
new file mode 100755
index 0000000..0fb29b8
Binary files /dev/null and b/trunk/apps/difftools/rowdiff differ
diff --git a/trunk/apps/difftools/rowdiff.cpp b/trunk/apps/difftools/rowdiff.cpp
new file mode 100644
index 0000000..d64e054
--- /dev/null
+++ b/trunk/apps/difftools/rowdiff.cpp
@@ -0,0 +1,203 @@
+#pragma ident "$Id $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileFilterFrameWithHeader.hpp"
+
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexObsFilterOperators.hpp"
+
+#include "DiffFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class ROWDiff : public DiffFrame
+{
+public:
+   ROWDiff(char* arg0)
+         : DiffFrame(arg0, 
+                      std::string("RINEX Obs"))
+      {}
+
+protected:
+   virtual void process();
+};
+
+void ROWDiff::process()
+{
+   gpstk::FileFilterFrameWithHeader<RinexObsStream, RinexObsData, RinexObsHeader>
+      ff1(inputFileOption.getValue()[0]), ff2(inputFileOption.getValue()[1]);
+
+      // find the obs data intersection
+   RinexObsHeaderTouchHeaderMerge merged;
+
+      // no data?  FIX make this program faster.. if one file
+      // doesn't exist, there's little point in reading any.
+   if (ff1.emptyHeader())
+      cerr << "No header information for " << inputFileOption.getValue()[0]
+           << endl;
+   if (ff2.emptyHeader())
+      cerr << "No header information for " << inputFileOption.getValue()[1]
+           << endl;
+   if (ff1.emptyHeader() || ff2.emptyHeader())
+   {
+      cerr << "Check that files exist." << endl;
+      cerr << "diff failed." << endl;
+      exit(1);
+   }
+
+   merged(ff1.frontHeader());
+   merged(ff2.frontHeader());
+
+   cout << "Comparing the following fields (other header data is ignored):" 
+        << endl;
+   set<RinexObsHeader::RinexObsType> intersection = merged.obsSet;
+   set<RinexObsHeader::RinexObsType>::iterator m = intersection.begin();
+   while (m != intersection.end())
+   {
+      cout << gpstk::RinexObsHeader::convertObsType(*m) << ' ';
+      m++;
+   }
+   cout << endl;
+
+   ff1.sort(RinexObsDataOperatorLessThanFull(intersection));
+   ff2.sort(RinexObsDataOperatorLessThanFull(intersection));
+
+   pair< list<RinexObsData>, list<RinexObsData> > difflist = 
+      ff1.diff(ff2, RinexObsDataOperatorLessThanFull(intersection));
+
+   if (difflist.first.empty() && difflist.second.empty())
+      exit(0);
+
+   list<RinexObsData>::iterator firstitr = difflist.first.begin();
+   while (firstitr != difflist.first.end())
+   {
+      bool matched = false;
+      list<RinexObsData>::iterator seconditr = difflist.second.begin();
+      while ((!matched) && (seconditr != difflist.second.end()))
+      {
+         if (firstitr->time == seconditr->time)
+         {
+            RinexObsData::RinexPrnMap::iterator fpoi, spoi;
+            for (fpoi = firstitr->obs.begin(); fpoi != firstitr->obs.end();
+                 fpoi++)
+            {
+               cout << setw(3) << firstitr->time.DOYday() << ' ' 
+                    << setw(10) << setprecision(0)
+                    << firstitr->time.DOYsecond() << ' ' 
+                    << ff1.frontHeader().markerName << ' '
+                    << ff2.frontHeader().markerName << ' '
+                    << setw(2) << fpoi->first << ' ';
+               spoi = seconditr->obs.find(fpoi->first);
+               for (m = intersection.begin(); m != intersection.end(); m++)
+               {
+                     // no need to do a find, we're using the merged
+                     // set of obses which guarantees that we have the
+                     // obs in this record
+                  double diff = (fpoi->second[*m]).data;
+                  if (spoi != seconditr->obs.end())
+                     diff -= (spoi->second[*m]).data;
+
+                  cout << setw(14) << setprecision(3) << fixed << diff << ' '
+                       << RinexObsHeader::convertObsType(*m) << ' ';
+
+               }
+               cout << endl;
+            }
+            firstitr = difflist.first.erase(firstitr);
+            seconditr = difflist.second.erase(seconditr);
+            matched = true;
+         }
+         else
+            seconditr++;
+      }
+
+      if (!matched)
+         firstitr++;
+   }
+
+   list<RinexObsData>::iterator itr = difflist.first.begin();
+   while (itr != difflist.first.end())
+   {
+      (*itr).dump(cout << '<');
+      itr++;
+   }
+
+   cout << endl;
+
+   itr = difflist.second.begin();
+   while (itr != difflist.second.end())
+   {
+      (*itr).dump(cout << '>');
+      itr++;
+   }
+}
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      ROWDiff m(argv[0]);
+      if (!m.initialize(argc, argv))
+         return 0;
+      if (!m.run())
+         return 1;
+      
+      return 0;
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
+
diff --git a/trunk/apps/filetools/Jamfile b/trunk/apps/filetools/Jamfile
new file mode 100644
index 0000000..e586481
--- /dev/null
+++ b/trunk/apps/filetools/Jamfile
@@ -0,0 +1,14 @@
+#
+# $Id: //depot/sgl/gpstk/apps/filetools/Jamfile#3 $
+#
+
+SubDir TOP apps filetools ;
+
+GPSLinkLibraries ficafic ficfica navdmp fic2rin rinexthin : gpstk ;
+
+GPSMain navdmp : navdmp.cpp ;
+GPSMain ficfica : ficfica.cpp ;
+GPSMain ficafic : ficafic.cpp ;
+GPSMain fic2rin : fic2rin.cpp ;
+GPSMain rinexthin : RinexThin.cpp ;
+
diff --git a/trunk/apps/filetools/Makefile.am b/trunk/apps/filetools/Makefile.am
new file mode 100644
index 0000000..9f51880
--- /dev/null
+++ b/trunk/apps/filetools/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = ficafic ficfica navdmp fic2rin rinexthin
+
+ficfica_SOURCES = ficfica.cpp
+ficafic_SOURCES = ficafic.cpp
+fic2rin_SOURCES = fic2rin.cpp
+navdmp_SOURCES = navdmp.cpp
+rinexthin_SOURCES = RinexThin.cpp
diff --git a/trunk/apps/filetools/Makefile.in b/trunk/apps/filetools/Makefile.in
new file mode 100644
index 0000000..726e90f
--- /dev/null
+++ b/trunk/apps/filetools/Makefile.in
@@ -0,0 +1,460 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = ficafic$(EXEEXT) ficfica$(EXEEXT) navdmp$(EXEEXT) \
+	fic2rin$(EXEEXT) rinexthin$(EXEEXT)
+subdir = apps/filetools
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_fic2rin_OBJECTS = fic2rin.$(OBJEXT)
+fic2rin_OBJECTS = $(am_fic2rin_OBJECTS)
+fic2rin_LDADD = $(LDADD)
+fic2rin_DEPENDENCIES = ../../src/libgpstk.la
+am_ficafic_OBJECTS = ficafic.$(OBJEXT)
+ficafic_OBJECTS = $(am_ficafic_OBJECTS)
+ficafic_LDADD = $(LDADD)
+ficafic_DEPENDENCIES = ../../src/libgpstk.la
+am_ficfica_OBJECTS = ficfica.$(OBJEXT)
+ficfica_OBJECTS = $(am_ficfica_OBJECTS)
+ficfica_LDADD = $(LDADD)
+ficfica_DEPENDENCIES = ../../src/libgpstk.la
+am_navdmp_OBJECTS = navdmp.$(OBJEXT)
+navdmp_OBJECTS = $(am_navdmp_OBJECTS)
+navdmp_LDADD = $(LDADD)
+navdmp_DEPENDENCIES = ../../src/libgpstk.la
+am_rinexthin_OBJECTS = RinexThin.$(OBJEXT)
+rinexthin_OBJECTS = $(am_rinexthin_OBJECTS)
+rinexthin_LDADD = $(LDADD)
+rinexthin_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(fic2rin_SOURCES) $(ficafic_SOURCES) $(ficfica_SOURCES) \
+	$(navdmp_SOURCES) $(rinexthin_SOURCES)
+DIST_SOURCES = $(fic2rin_SOURCES) $(ficafic_SOURCES) \
+	$(ficfica_SOURCES) $(navdmp_SOURCES) $(rinexthin_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+ficfica_SOURCES = ficfica.cpp
+ficafic_SOURCES = ficafic.cpp
+fic2rin_SOURCES = fic2rin.cpp
+navdmp_SOURCES = navdmp.cpp
+rinexthin_SOURCES = RinexThin.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  apps/filetools/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  apps/filetools/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+fic2rin$(EXEEXT): $(fic2rin_OBJECTS) $(fic2rin_DEPENDENCIES) 
+	@rm -f fic2rin$(EXEEXT)
+	$(CXXLINK) $(fic2rin_LDFLAGS) $(fic2rin_OBJECTS) $(fic2rin_LDADD) $(LIBS)
+ficafic$(EXEEXT): $(ficafic_OBJECTS) $(ficafic_DEPENDENCIES) 
+	@rm -f ficafic$(EXEEXT)
+	$(CXXLINK) $(ficafic_LDFLAGS) $(ficafic_OBJECTS) $(ficafic_LDADD) $(LIBS)
+ficfica$(EXEEXT): $(ficfica_OBJECTS) $(ficfica_DEPENDENCIES) 
+	@rm -f ficfica$(EXEEXT)
+	$(CXXLINK) $(ficfica_LDFLAGS) $(ficfica_OBJECTS) $(ficfica_LDADD) $(LIBS)
+navdmp$(EXEEXT): $(navdmp_OBJECTS) $(navdmp_DEPENDENCIES) 
+	@rm -f navdmp$(EXEEXT)
+	$(CXXLINK) $(navdmp_LDFLAGS) $(navdmp_OBJECTS) $(navdmp_LDADD) $(LIBS)
+rinexthin$(EXEEXT): $(rinexthin_OBJECTS) $(rinexthin_DEPENDENCIES) 
+	@rm -f rinexthin$(EXEEXT)
+	$(CXXLINK) $(rinexthin_LDFLAGS) $(rinexthin_OBJECTS) $(rinexthin_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RinexThin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fic2rin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ficafic.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ficfica.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/navdmp.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/filetools/RinexThin.cpp b/trunk/apps/filetools/RinexThin.cpp
new file mode 100644
index 0000000..c439559
--- /dev/null
+++ b/trunk/apps/filetools/RinexThin.cpp
@@ -0,0 +1,123 @@
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <math.h>
+#include <iostream>
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionParser.hpp"
+#include "StringUtils.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+
+{
+
+   const double ttolerance=1e-3;
+   
+   CommandOptionWithArg fileOption(CommandOption::stdType, 'f',"filename","RINEX obs file to be thinned.",true);
+   CommandOptionWithNumberArg dashs('s',"Seconds", "The desired data rate.",true);
+   CommandOptionWithArg fileOutput(CommandOption::stdType,'o',"filename", "RINEX obs file with thinned obs.", true);
+   CommandOptionParser m("This program thins or 'decimates' an input RINEX observation file.");
+
+   dashs.setMaxCount(1);
+   fileOption.setMaxCount(1);
+   m.parseOptions(argc,argv);
+   if (m.hasErrors())
+   {
+      m.dumpErrors(cout);
+      m.displayUsage(cout);
+   }
+   int i;
+  
+   for (i=0;(i < fileOption.getCount());i++)
+   {
+      RinexObsStream ros(fileOption.getValue()[i].c_str());
+      DayTime nextTime;
+      bool firstRecord=true;
+
+      RinexObsData data;
+      RinexObsStream out(fileOutput.getValue()[i].c_str(), ios::out|ios::trunc);
+      
+      int drate= StringUtils::asInt(dashs.getValue()[0]);
+      dashs.setMaxCount(1);
+      RinexObsHeader h;
+
+
+      long wcount=0, rcount=0;
+      
+      ros >> h;
+
+      while (ros >> data)
+      {
+         rcount++;
+
+	 if ( fmod(data.time.secOfDay(),drate) <= ttolerance )
+         {
+ 
+          // First obs? Then update and output the header.
+         if (wcount==0)
+         {
+            if (h.valid & RinexObsHeader::intervalValid)
+               h.interval = drate;
+         
+            if (h.valid & RinexObsHeader::firstTimeValid)
+               h.firstObs = data.time;
+      
+            out << h;
+         }
+
+            out<<data;
+            wcount++;
+         }
+      }
+
+      cout << "Obs read:    " << rcount << endl;
+      cout << "Obs written: " << wcount << endl;
+
+   }          		   
+
+   return 0;
+}
+
diff --git a/trunk/apps/filetools/fic2rin b/trunk/apps/filetools/fic2rin
new file mode 100755
index 0000000..2220cb1
Binary files /dev/null and b/trunk/apps/filetools/fic2rin differ
diff --git a/trunk/apps/filetools/fic2rin.cpp b/trunk/apps/filetools/fic2rin.cpp
new file mode 100644
index 0000000..e245fd8
--- /dev/null
+++ b/trunk/apps/filetools/fic2rin.cpp
@@ -0,0 +1,125 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/filetools/fic2rin.cpp#2 $"
+
+/**
+ * @file fic2rin.cpp Convert FIC files to RINEX.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FICStream.hpp"
+#include "FICHeader.hpp"
+#include "FICData.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "FICFilterOperators.hpp"
+#include "RinexNavFilterOperators.hpp"
+#include "FileFilterFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+   if (argc != 3)
+   {
+      cout << "fic2rin" << endl
+           << "  converts a binary FIC file to a Rinex Nav file" << endl
+           << endl
+           << "usage:" << endl
+           << "    fic2rin inputfile outputfile" << endl
+           << endl
+           << "where:" << endl
+           << "    inputfile: an input binary FIC file name" << endl
+           << "    outputfile: an output Rinex Nav file name" << endl;
+      return 0;
+   }
+   // What is up
+   FileFilterFrame<FICStream, FICData> input(argv[1]);
+   list<FICData> alist = input.getData();
+   
+      // write the header info
+   RinexNavStream rns(argv[2], ios::out|ios::trunc);
+   RinexNavHeader rnh;
+   rnh.fileType = "Navigation";
+   rnh.fileProgram = "fic2rin";
+   rnh.fileAgency = "";
+   ostringstream ostr;
+   ostr << DayTime();
+   rnh.date = ostr.str();
+   rnh.version = 2.1;
+   rnh.valid |= RinexNavHeader::versionValid;
+   rnh.valid |= RinexNavHeader::runByValid;
+   rnh.valid |= RinexNavHeader::endValid;
+   rns.header = rnh;
+   rnh.putRecord(rns);
+   rns.close();
+
+      // filter the FIC data for block 9
+   list<long> blockList;
+   blockList.push_back(9);
+   input.filter(FICDataFilterBlock(blockList));
+   input.sort(FICDataOperatorLessThanBlock9());
+   input.unique(FICDataUniqueBlock9());
+
+      // some hand waving for the data conversion
+   list<RinexNavData> rndList;
+   list<FICData>& ficList = input.getData();
+   list<FICData>::iterator itr = ficList.begin();
+   while (itr != ficList.end())
+   {
+         // use TOE and transmit week number to determine time
+      DayTime time;
+      time.setGPSfullweek(short((*itr).f[5]), (double)(*itr).f[33]);
+         // this station number is bogus, but it's unused so it should be ok
+      EngEphemeris ee(*itr);
+      rndList.push_back(RinexNavData(ee));
+      itr++;
+   }
+
+      // write the file data
+   FileFilterFrame<RinexNavStream, RinexNavData> output;
+   output.addData(rndList);
+   output.sort(RinexNavDataOperatorLessThanFull());
+   output.writeFile(argv[2], true);
+
+   return 0;
+}
diff --git a/trunk/apps/filetools/ficafic b/trunk/apps/filetools/ficafic
new file mode 100755
index 0000000..92345b8
Binary files /dev/null and b/trunk/apps/filetools/ficafic differ
diff --git a/trunk/apps/filetools/ficafic.cpp b/trunk/apps/filetools/ficafic.cpp
new file mode 100644
index 0000000..aefcfda
--- /dev/null
+++ b/trunk/apps/filetools/ficafic.cpp
@@ -0,0 +1,89 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/filetools/ficafic.cpp#1 $"
+
+/**
+ * @file ficafic.cpp Convert FICA files to FIC.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FICStream.hpp"
+#include "FICAStream.hpp"
+#include "FICHeader.hpp"
+#include "FICData.hpp"
+#include "FileFilterFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+   if (argc != 3)
+   {
+      cout << "FICAFIC" << endl
+           << "  converts an ASCII FIC file to a binary FIC file" << endl
+           << endl
+           << "usage:" << endl
+           << "    ficfica inputfile outputfile" << endl
+           << endl
+           << "where:" << endl
+           << "    inputfile: an input ASCII FIC file name" << endl
+           << "    outputfile: an output binary FIC file name" << endl;
+      return 0;
+   }
+
+   FICAStream fics(argv[1]);
+   FICHeader header;
+   header.getRecord(fics);
+   fics.close();
+
+   FICStream out(argv[2], ios::out);
+   out << header;
+   out.close();
+
+   FileFilterFrame<FICAStream, FICData> input(argv[1]);
+   FileFilterFrame<FICStream, FICData> output;
+   list<FICData> alist = input.getData();
+   output.addData(alist);
+   output.writeFile(argv[2], true);
+
+   return 0;
+}
diff --git a/trunk/apps/filetools/ficfica b/trunk/apps/filetools/ficfica
new file mode 100755
index 0000000..2b4d880
Binary files /dev/null and b/trunk/apps/filetools/ficfica differ
diff --git a/trunk/apps/filetools/ficfica.cpp b/trunk/apps/filetools/ficfica.cpp
new file mode 100644
index 0000000..fea1c92
--- /dev/null
+++ b/trunk/apps/filetools/ficfica.cpp
@@ -0,0 +1,89 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/filetools/ficfica.cpp#1 $"
+
+/**
+ * @file ficfica.cpp Convert FIC files to FICA.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FICStream.hpp"
+#include "FICAStream.hpp"
+#include "FICHeader.hpp"
+#include "FICData.hpp"
+#include "FileFilterFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+   if (argc != 3)
+   {
+      cout << "FICFICA" << endl
+           << "  converts a binary FIC file to an ASCII FIC file" << endl
+           << endl
+           << "usage:" << endl
+           << "    ficfica inputfile outputfile" << endl
+           << endl
+           << "where:" << endl
+           << "    inputfile: an input binary FIC file name" << endl
+           << "    outputfile: an output ASCII FIC file name" << endl;
+      return 0;
+   }
+
+   FICStream fics(argv[1]);
+   FICHeader header;
+   header.getRecord(fics);
+   fics.close();
+
+   FICAStream out(argv[2], ios::out);
+   out << header;
+   out.close();
+
+   FileFilterFrame<FICStream, FICData> input(argv[1]);
+   FileFilterFrame<FICAStream, FICData> output;
+   list<FICData> alist = input.getData();
+   output.addData(alist);
+   output.writeFile(argv[2], true);
+
+   return 0;
+}
diff --git a/trunk/apps/filetools/navdmp b/trunk/apps/filetools/navdmp
new file mode 100755
index 0000000..164b78d
Binary files /dev/null and b/trunk/apps/filetools/navdmp differ
diff --git a/trunk/apps/filetools/navdmp.cpp b/trunk/apps/filetools/navdmp.cpp
new file mode 100644
index 0000000..f6f5c6d
--- /dev/null
+++ b/trunk/apps/filetools/navdmp.cpp
@@ -0,0 +1,429 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/filetools/navdmp.cpp#3 $"
+
+/**
+ * @file navdmp.cpp - print a human readable file from a binary FIC file
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "CommandOptionWithTimeArg.hpp"
+#include "FileFilterFrame.hpp"
+#include "BasicFramework.hpp"
+#include "FICData.hpp"
+#include "FICStream.hpp"
+#include "FICFilterOperators.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavFilterOperators.hpp"
+
+#include "gps_constants.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class NavDump : public BasicFramework
+{
+public:
+   NavDump(char* arg0);
+   bool initialize(int argc, char* argv[]) throw();
+
+protected:
+   virtual void process();
+      // additional setup will get filtering options from the user
+   virtual void additionalSetup();
+
+private:
+   void printCurrentFilter();
+   void getNewTime(DayTime& dt);
+   void getFICBlocks();
+   void getSVs();
+
+   CommandOptionWithAnyArg inputFileOption;
+   CommandOptionWithAnyArg outputFileOption;
+      /// command option to use default values (i.e. no prompting)
+   CommandOptionNoArg defaultsOption;
+      /// command option for start time for matching
+   CommandOptionWithSimpleTimeArg timeOption;
+      /// command option for end time for matching
+   CommandOptionWithSimpleTimeArg eTimeOption;
+      /// meta-option for grouping time options
+   CommandOptionGroupAnd seTimeOptions;
+      /// command option for PRNs
+   CommandOptionWithNumberArg prnOption;
+      /// command option for FIC blocks
+   CommandOptionWithNumberArg blockOption;
+      /// command option for using a RINEX navigation message file (vice FIC)
+   CommandOptionNoArg rinexOption;
+
+   DayTime startTime, endTime;
+   list<long> prnFilterList;
+   list<long> blockFilterList;
+   
+   bool isRinexInput;
+};
+
+NavDump::NavDump(char* arg0)
+      : BasicFramework(arg0, "Prints the contents of an FIC or RINEX file into a human readable file and allows filtering of the data."),
+        inputFileOption('i',
+                        "input",
+                        "Name of an input navigation message file",
+                        true),
+        outputFileOption('o',
+                         "output",
+                         "Name of an output file",
+                         true),
+        timeOption('t', "time", "Start time (of data) for processing"),
+        eTimeOption('e', "end-time", "End time (of data) for processing"),
+        prnOption('p', "prn", "PRN(s) to include"),
+        blockOption('b', "block", "FIC block number(s) to process ((9)109"
+                    " (Engineering) ephemerides, (62)162 (engineering)"
+                    " almanacs)"),
+        defaultsOption('a', "all-records", "Unless otherwise specified, use"
+                       " default values for record filtration"),
+        rinexOption('r',"RINEX", "Assume input file is a RINEX navigation"
+                         " message file"),
+        startTime(0,0.0),
+        endTime(DayTime::END_OF_TIME)
+{
+   seTimeOptions.addOption(&timeOption);
+   seTimeOptions.addOption(&eTimeOption);   
+   inputFileOption.setMaxCount(1);
+   outputFileOption.setMaxCount(1);
+   timeOption.setMaxCount(1);
+   eTimeOption.setMaxCount(1);
+   isRinexInput = false;
+}
+
+void NavDump::printCurrentFilter()
+{
+   cout << "Current filtering options:" << endl
+        << "\tStart time:\t" << startTime << endl
+        << "\tEnd time:\t" << endTime << endl
+        << "\tPRNs:\t\t";
+   if (prnFilterList.empty())
+      cout << "using all PRNs";
+   else
+      copy(prnFilterList.begin(), prnFilterList.end(),
+           ostream_iterator<long>(cout, " "));
+   if (!isRinexInput)
+   {
+      cout << endl
+           << "\tFIC blocks:\t";
+      if (blockFilterList.empty())
+         cout << "using all blocks";
+      else
+         copy(blockFilterList.begin(), blockFilterList.end(),
+              ostream_iterator<long>(cout, " "));
+   }
+   cout << endl;
+}
+
+bool NavDump::initialize(int argc, char* argv[]) throw()
+{
+   using gpstk::StringUtils::asInt;
+
+   if (!BasicFramework::initialize(argc, argv))
+      return false;
+
+   if (prnOption.getCount())
+   {
+      for (int i = 0; i < prnOption.getCount(); i++)
+         prnFilterList.push_back(asInt(prnOption.getValue()[i]));
+   }
+
+   if (blockOption.getCount())
+   {
+      for (int i = 0; i < blockOption.getCount(); i++)
+         blockFilterList.push_back(asInt(blockOption.getValue()[i]));
+   }
+
+   if (timeOption.getCount())
+      startTime = timeOption.getTime()[0];
+   if (eTimeOption.getCount())
+      endTime = eTimeOption.getTime()[0];
+
+   if (rinexOption.getCount())
+      isRinexInput = true;
+   
+   return true;
+}
+
+void NavDump::additionalSetup()
+{
+   int option = 0;
+   string line;
+
+   if (defaultsOption.getCount() ||
+       (seTimeOptions.getCount() && blockOption.getCount() &&
+        prnOption.getCount()))
+      return;
+
+   while (option != 5)
+   {
+      cout << endl;
+      printCurrentFilter();
+
+      cout << endl
+           << "Choose an option by number then push enter:" << endl
+           << "\t1) Change the start time" << endl
+           << "\t2) Change the end time" << endl
+           << "\t3) Select specific PRNs" << endl;
+      if (!isRinexInput)
+      {
+      cout << "\t4) Select specific FIC block numbers" << endl;
+      }
+      cout << "\t5) Process the file" << endl
+           << "use ctrl-c to exit" << endl
+           << "? ";
+      
+      getline(cin, line);
+      istringstream optionstr(line);
+      optionstr >> option;
+      cout << endl;
+
+      switch(option)
+      {
+         case 1:
+            cout << "Entering a new start time..." << endl;
+            getNewTime(startTime);
+            option = 0;
+            break;
+         case 2:
+            cout << "Entering a new end time..." << endl;
+            getNewTime(endTime);
+            option = 0;
+            break;
+         case 3:
+            getSVs();
+            option = 0;
+            break;
+         case 4:
+            if (!isRinexInput) getFICBlocks();
+            option = 0;
+            break;
+         case 5:
+            break;
+         default:
+            cout << '\"' << line << "\" is an invalid option" << endl;
+            option = 0;
+            break;
+      }
+
+      if (startTime > endTime)
+         cout << endl
+              << "Please check the start and end times because all the data will be filtered" << endl
+              << "with this setting (startTime > endTime)." << endl;
+   }
+
+   cout << "processing..." << endl;
+}
+
+void NavDump::getFICBlocks()
+{
+   int block;
+   string line;
+   cout << "Enter a list of FIC blocks to search for separated by spaces." << endl
+        << "The old list will be discarded." << endl
+        << "   9 : Ephemeris - engineering units." << endl
+        << " 109 : Ephemeris - as broadcast." << endl
+        << "  62 : Almanac - engineering units." << endl
+        << " 162 : Almanac - as broadcast." << endl
+        << "Enter '0' for all blocks - any other blocks entered will be ignored." << endl
+        << "? ";
+   getline(cin, line);
+   istringstream is(line);
+   while (is >> block)
+      if (block == 0)
+      {
+         blockFilterList.clear();
+         return;
+      }
+      else 
+         switch(block)
+         {
+            case 9:
+            case 109:
+            case 62:
+            case 162:
+               blockFilterList.push_back(block);
+               break;
+            default:
+               break;
+         }
+}
+
+void NavDump::getSVs()
+{
+   int prn;
+   string line;
+   cout << "Enter a list of PRNs separated by spaces to search for." << endl
+        << "The old list will be discarded." << endl
+        << "Enter '0' for all PRNs - any other PRNs listed will be ignored." << endl
+        << "? ";
+   getline(cin, line);
+   istringstream is(line);
+   while (is >> prn)
+      if (prn == 0)
+      {
+         prnFilterList.clear();
+         return;
+      }
+      else if ( (prn > 0) && (prn <= MAX_PRN) )
+      {
+         prnFilterList.push_back(prn);
+      }
+}
+
+void NavDump::getNewTime(DayTime& dt)
+{
+   short week = -1;
+   double SOW;
+   string buf;
+   short done = 0;
+   
+   while (!done)
+   {
+      cout << " Enter full GPS week: ";
+      getline(cin, buf);
+      istringstream instr(buf);
+      instr >> week;
+      if (week != -1)
+         done = 1;
+      else 
+         cout << " Error entering week.  Please try again." << endl;
+   }
+   
+      // Now reset flag and get SOW
+   done = 0;
+   while (!done)
+   {
+      cout << " Enter GPS seconds of week: ";
+      getline(cin,buf);
+      istringstream instr(buf);
+      instr >> SOW;
+      if ((SOW >= 0.0L) && (SOW < 604800.0L) )
+         done = 1;
+      else 
+         cout << " Error entering SOW.  Please try again." << endl;
+   }
+   dt.setGPSfullweek(week, SOW);
+}
+
+void NavDump::process()
+{
+   
+   ofstream out;
+   out.open(outputFileOption.getValue()[0].c_str());
+   if (out.fail())
+   {
+      cout << "Opening output file " << outputFileOption.getValue()[0] 
+           << " failed." << endl
+           << "   navdump is ending..." << endl
+           << endl;
+      return;
+   }
+
+   if (!isRinexInput)
+   {
+         // filter the data...  first by block number, then by PRN
+      FileFilterFrame<FICStream, FICData> data(inputFileOption.getValue()[0]);
+      if (!blockFilterList.empty())
+         data.filter(FICDataFilterBlock(blockFilterList));
+      if (!prnFilterList.empty())
+         data.filter(FICDataFilterPRN(prnFilterList));
+      
+      list<FICData>& ficlist = data.getData();
+      list<FICData>::iterator itr = ficlist.begin();
+      while (itr != ficlist.end())
+      {
+         (*itr).prettyDump(out);
+         itr++;
+      }
+   }
+   else     // Rinex navigation message data
+   {
+      FileFilterFrame<RinexNavStream, RinexNavData> 
+                             data(inputFileOption.getValue()[0]);
+      if (!prnFilterList.empty())
+         data.filter(RinexNavDataFilterPRN(prnFilterList));
+
+      list<RinexNavData>& rnavlist = data.getData();
+      list<RinexNavData>::iterator itr = rnavlist.begin();
+      while (itr!=rnavlist.end())
+      {
+         RinexNavData& r = *itr;
+         EngEphemeris ee(r);
+         ee.dump(out);
+         itr++;
+      }
+   }
+}
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      NavDump nd(argv[0]);
+      if (!nd.initialize(argc, argv))
+         return 0;
+      if (!nd.run())
+         return 1;
+      
+      return 0;
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(std::exception& e)
+   {
+      cout << "Caught std::exception " << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "Caught unknown exception" << endl;
+   }
+
+   return 1;
+}
+
diff --git a/trunk/apps/filetools/rinexthin b/trunk/apps/filetools/rinexthin
new file mode 100755
index 0000000..bbdf491
Binary files /dev/null and b/trunk/apps/filetools/rinexthin differ
diff --git a/trunk/apps/ionosphere/IonoBias b/trunk/apps/ionosphere/IonoBias
new file mode 100755
index 0000000..749238d
Binary files /dev/null and b/trunk/apps/ionosphere/IonoBias differ
diff --git a/trunk/apps/ionosphere/IonoBias.cpp b/trunk/apps/ionosphere/IonoBias.cpp
new file mode 100644
index 0000000..f3f813b
--- /dev/null
+++ b/trunk/apps/ionosphere/IonoBias.cpp
@@ -0,0 +1,1612 @@
+//------------------------------------------------------------------------------------
+// IonoBias.cpp
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/ionosphere/IonoBias.cpp#3 $"
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+/**
+ * @file IonoBias.cpp
+ * Program IonoBias will estimate satellite and receiver biases and compute
+ *   a simple ionospheric model using least squares and slant TEC values
+ *   from multiple stations.
+ */
+
+//------------------------------------------------------------------------------------
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "CommandOptionParser.hpp"
+
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+#include "Vector.hpp"
+#include "Matrix.hpp"
+
+#include "Position.hpp"
+#include "WGS84Geoid.hpp"
+#include "icd_200_constants.hpp"     // for TWO_PI
+#include "geometry.hpp"              // for DEG_TO_RAD and RAD_TO_DEG
+
+#include "RinexUtilities.hpp"
+
+#include <iostream>
+#include <time.h>
+#include <string>
+#include <vector>
+#include <utility>      // for pair
+
+using namespace gpstk;
+using namespace std;
+
+//------------------------------------------------------------------------------------
+// Max PRN 
+const int MAXPRN=32;
+// data input from command line
+bool verbose,debug;
+   // log file
+string LogFile;
+ofstream oflog;
+string Title;
+   // output file
+string ATFileName,BiasFileName;
+ofstream fout;
+ios::pos_type current_header_pos;
+   // input path
+string InputPath;
+vector<string> Filenames;
+   // excluded satellites
+vector<RinexPrn> ExSV;
+   // ephemeris
+string NavDir;
+vector<string> NavFiles;
+SP3EphemerisStore SP3EphList;
+BCEphemerisStore BCEphList;
+EphemerisStore *pEph;
+   // obs types needed
+RinexObsHeader::RinexObsType ELot,LAot,LOot,SRot,SSot;
+   // geoid
+WGS84Geoid WGS84;
+   // Start and stop times
+DayTime BegTime(DayTime::BEGINNING_OF_TIME),EndTime(DayTime::END_OF_TIME);
+
+   // processing
+int MinPoints;
+double MinTimeSpan;  // TD not implemented
+double MinElevation;
+double MinLatitude,MaxLatitude;
+double MinLongitude,MaxLongitude;
+string TimeSector;
+double TermOffset;
+double IonoHt;
+   // 
+double sunrise,sunset;     // times in hours of day
+double begintime,endtime;  // "
+   // normalizations
+double MJDNorm,LonNorm;
+   // data that goes into output file headers
+long NgoodStations;
+vector<vector<bool> > EstimationFlag;
+vector<bool> BoolVec;
+   // data per station that goes into AT output file
+int nfile;     // current file number (0..Filenames.size()-1)
+long NgoodPoints;
+double TotalSpan;       // time in days covered by the file
+string StationName;
+Position StationPosition;    // station position in geographic lat,lon,radius
+   // least squares
+bool ComputeSatBiases,DoEstimation,SkipPreproc;
+string Model("linear");
+int NIonoParam,NBiasParam,NTotalParam;
+Vector<double> Sol,InfData;
+Matrix<double> Cov;
+int ndata;
+double MaxLat,MinLat,MaxCRLon,MinCRLon,PM[10];
+vector<pair<string,int> > ComponentIDs;
+
+//------------------------------------------------------------------------------------
+// prototypes
+void ConfigureAndDefaults(void);
+int GetCommandLine(int argc, char **argv);
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& Verb, bool& debug);
+int Initialize(void);
+int Process(void);
+int ProcessHeader(RinexObsStream& ins, string& filename, RinexObsHeader& head);
+void TimeLimits(Position llr, int doy, string& sector, double& begin, double& end);
+void SolarPosition(int doy, double hod, double& lat, double& lon);
+void Sunrise(double lat, double lon, double ht, int doy, double& rise, double& set);
+int ProcessObs(RinexObsStream& ins, string& filename, RinexObsHeader& head);
+void WriteATHeader(void);
+void WriteStationHeader(int npts, string sta_name, Position llr);
+void ParseLine(string& str, vector<string>& wds);
+int ReadATandCompute(void);
+double obliquity(double elevation);
+//void PartialsMatrix(Matrix<double>& P,int index,double lat,double lon,double obq);
+
+//------------------------------------------------------------------------------------
+// utility routines
+//------------------------------------------------------------------------------------
+// find the index of first occurance of item t (of type T) in vector<T> v;
+// i.e. v[index]=t  Return -1 if t is not found.
+template<class T> int index(const std::vector<T> v, const T& t) 
+{
+   for(int i=v.size()-1; i>=0; i--) {
+      if(v[i] == t) return i;
+   }
+   return -1;
+}
+
+
+////----------------------------------------------------------------------------------
+//// format object - saves writing...
+//class format {
+//   int form;   // 0=general,1=float,2=scientific
+//   int wide;
+//   int prec;
+//   friend ostream& operator<<(ostream& os, const format& f);
+//public:
+//   explicit format(int w=13, int p=3, int f=1) : wide(w),prec(p),form(f) {}
+//   format& scientific() { form=2; return *this; }
+//   format& sci() { form=2; return *this; }
+//   format& fixed() { form=1; return *this; }
+//   format& fix() { form=1; return *this; }
+//   format& general() { form=0; return *this; }
+//   format& gen() { form=0; return *this; }
+//   format& width(int w) { wide=w; return *this; }
+//   format& w(int w) { wide=w; return *this; }
+//   format& precision(int p) { prec=p; return *this; }
+//   format& p(int p) { prec=p; return *this; }
+//   format& wp(int w, int p) { prec=p; wide=w; return *this; }
+//}; // end class format
+//ostream& operator<<(ostream& os, const format& f)
+//{
+//   if(f.form) os << (f.form==1 ? fixed : scientific);
+//   return os << " " << setw(f.wide) << setprecision(f.prec);
+//}
+// formats used here
+//format f96(9,6),f166(16,6),f103(10,3),f51(5,1),f82(8,2,2),f133(13,3);
+//format f136(13,6),f103s(10,3,2),f128(12,8),f93(9,3);
+
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+   int iret;
+   clock_t totaltime=clock(); // timer
+   DayTime CurrEpoch;
+
+      // Title description and run time
+   CurrEpoch.setLocalTime();
+   Title = "IonoBias, built on the GPSTK ToolKit, Ver 1.0 6/25/04, Run ";
+   Title += CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S\n");
+   cout << Title;
+
+      // set configuration and default values
+   ConfigureAndDefaults();
+
+      // define extended types
+   iret = RegisterARLUTExtendedTypes();
+   if(iret) goto quit;
+   iret = RegisterExtendedRinexObsType("SS","Slant TEC (Phase smoothed)","TECU",0x1E);
+   if(iret) goto quit;
+
+      // get command line arguments
+   iret = GetCommandLine(argc, argv);
+   if(iret) goto quit;
+
+   if(!SkipPreproc) {
+         // initialize
+      iret = Initialize();
+      if(iret) goto quit;
+
+         // process the data
+      iret = Process();
+
+         // write the revised header
+      WriteATHeader();
+      fout.close();
+   }
+
+   if(DoEstimation) {
+      // read the AT file and compute biases and model
+      iret = ReadATandCompute();
+   }
+
+quit:
+      // compute run time
+   totaltime = clock()-totaltime;
+   cout << "IonoBias timing: " << fixed << setprecision(3)
+      << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+   oflog << "\nIonoBias timing: " << fixed << setprecision(3)
+      << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+   oflog.close();
+
+   return iret;
+}
+catch(gpstk::Exception& e) {
+   cerr << e;
+   return 1;
+}
+catch (...) {
+   cerr << "Unknown error.  Abort." << endl;
+   return 1;
+}
+   return 0;
+}   // end main()
+
+//------------------------------------------------------------------------------------
+// set defaults
+void ConfigureAndDefaults(void)
+{
+   verbose = false;
+   debug = false;
+   LogFile = string("IonoBias.log");
+   BiasFileName = string("");          // no output
+
+   MinPoints = 0;
+   MinTimeSpan = 0.0;      // minutes
+   MinElevation = 0.0;
+   MinLatitude = 0.0;
+   MaxLatitude = 90.0;
+   MinLongitude = 0.0;
+   MaxLongitude = 360.0;
+   TimeSector = string("night");
+   TermOffset = 0.0;       // min
+   IonoHt = 350.0;         // km
+
+   DoEstimation=true;      // if false, quit after writing the AT file
+   SkipPreproc =false;     // if true, assume AT file exists and don't generate it
+   ComputeSatBiases=true;  // if true, compute Sat+Rx biases, else Rx biases only
+}
+
+//------------------------------------------------------------------------------------
+// Define, parse and evaluate command line
+int GetCommandLine(int argc, char **argv)
+{
+try {
+   bool help=false;
+   int i,j;
+   RinexPrn prn;
+   prn.setfill('0');
+
+      // required options
+
+   RequiredOption dashin(CommandOption::hasArgument, CommandOption::stdType,
+      0,"input"," --input <file>       Input Rinex obs file name(s)");
+   //dashin.setMaxCount(1);
+
+      // optional options
+
+   // this only so it will show up in help page...
+   CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+      'f',""," -f<file>             file containing more options");
+
+   CommandOption dashp(CommandOption::hasArgument, CommandOption::stdType,
+      0,"inputdir"," --inputdir <path>    Path for input file(s)");
+   dashp.setMaxCount(1);
+
+   // ephemeris
+   CommandOption dashnd(CommandOption::hasArgument, CommandOption::stdType, 0,
+      "navdir"," Ephemeris input:\n --navdir <dir>       Path of navigation file(s)");
+   dashnd.setMaxCount(1);
+
+   CommandOption dashn(CommandOption::hasArgument, CommandOption::stdType,
+      0,"nav"," --nav <file>         Navigation (Rinex Nav OR SP3) file(s)");
+
+   CommandOption dashat(CommandOption::hasArgument, CommandOption::stdType,
+      0,"datafile",
+      " Output:\n --datafile <file>    Data (AT) file name, for output and/or input");
+   dashat.setMaxCount(1);
+   
+   CommandOption dashl(CommandOption::hasArgument, CommandOption::stdType,
+      0,"log"," --log <file>         Output log file name");
+   dashl.setMaxCount(1);
+
+   CommandOption dashout(CommandOption::hasArgument, CommandOption::stdType,
+      0,"biasout"," --biasout <file>     Output satellite+receiver biases file name");
+   dashout.setMaxCount(1);
+
+   // time
+   CommandOptionWithTimeArg dasheb(0,"BeginTime","%Y,%m,%d,%H,%M,%f",
+      " Time limits:\n --BeginTime <arg>    Start time, arg is of the form "
+      "YYYY,MM,DD,HH,Min,Sec");
+   CommandOptionWithTimeArg dashgb(0,"BeginGPSTime","%F,%g",
+      " --BeginGPSTime <arg> Start time, arg is of the form GPSweek,GPSsow");
+
+   CommandOptionWithTimeArg dashee(0,"EndTime","%Y,%m,%d,%H,%M,%f",
+      " --EndTime <arg>      End time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+   CommandOptionWithTimeArg dashge(0,"EndGPSTime","%F,%g",
+      " --EndGPSTime <arg>   End time, arg is of the form GPSweek,GPSsow");
+
+   // allow ONLY one start time (use startmutex(true) if one is required)
+   CommandOptionMutex startmutex(false);
+   startmutex.addOption(&dasheb);
+   startmutex.addOption(&dashgb);
+   CommandOptionMutex stopmutex(false);
+   stopmutex.addOption(&dashee);
+   stopmutex.addOption(&dashge);
+
+   CommandOptionNoArg dashde(0, "NoEstimation"," Processing:\n"
+      " --NoEstimation       Do NOT perform the estimation (default=false).");
+
+   CommandOptionNoArg dashwo(0, "NoPreprocess",
+      " --NoPreprocess       Skip preprocessing; read (existing) AT file "
+      "(false).");
+
+   CommandOptionNoArg dashsb(0, "NoSatBiases",
+      " --NoSatBiases        Compute Receiver biases ONLY (not Rx+Sat biases) "
+      "(false).");
+
+   CommandOption dashmod(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Model"," --Model <type>       Ionospheric model: type is linear, "
+      "quadratic or cubic");
+
+   CommandOption dashMinPoints(CommandOption::hasArgument, CommandOption::stdType,
+      0,"MinPoints",
+     " --MinPoints <n>      Minimum points per satellite required");
+   dashMinPoints.setMaxCount(1);
+
+   CommandOption dashMinTimeSpan(CommandOption::hasArgument, CommandOption::stdType,
+      0,"MinTimeSpan",
+     " --MinTimeSpan <n>    Minimum timespan per satellite required (minutes)");
+   dashMinTimeSpan.setMaxCount(1);
+
+   CommandOption dashMinElevation(CommandOption::hasArgument, CommandOption::stdType,
+      0,"MinElevation", " --MinElevation <n>   Minimum elevation angle (degrees)");
+   dashMinElevation.setMaxCount(1);
+
+   CommandOption dashMinLatitude(CommandOption::hasArgument, CommandOption::stdType,
+      0,"MinLatitude", " --MinLatitude <n>    Minimum latitude (degrees)");
+   dashMinLatitude.setMaxCount(1);
+
+   CommandOption dashMaxLatitude(CommandOption::hasArgument, CommandOption::stdType,
+      0,"MaxLatitude", " --MaxLatitude <n>    Maximum latitude (degrees)");
+   dashMaxLatitude.setMaxCount(1);
+
+   CommandOption dashMinLongitude(CommandOption::hasArgument, CommandOption::stdType,
+      0,"MinLongitude", " --MinLongitude <n>   Minimum longitude (degrees)");
+   dashMinLongitude.setMaxCount(1);
+
+   CommandOption dashMaxLongitude(CommandOption::hasArgument, CommandOption::stdType,
+      0,"MaxLongitude", " --MaxLongitude <n>   Maximum longitude (degrees)");
+   dashMaxLongitude.setMaxCount(1);
+
+   CommandOption dashTimeSector(CommandOption::hasArgument, CommandOption::stdType,
+      0,"TimeSector", " --TimeSector <n>     Time sector (day | night | both)");
+   dashTimeSector.setMaxCount(1);
+
+   CommandOption dashTermOffset(CommandOption::hasArgument, CommandOption::stdType,
+      0,"TermOffset", " --TerminOffset <n>   Terminator offset (minutes)");
+   dashTermOffset.setMaxCount(1);
+
+   CommandOption dashIonoHt(CommandOption::hasArgument, CommandOption::stdType,
+      0,"IonoHeight", " --IonoHeight <n>     Ionosphere height (km)");
+   dashIonoHt.setMaxCount(1);
+
+   CommandOption dashXprn(CommandOption::hasArgument, CommandOption::stdType,
+      '0', "XSat", " Other options:\n --XSat <sat>         Exclude this satellite "
+      "(<sat> may be <system> only)");
+   
+   // ... other options
+   CommandOptionNoArg dashv('v', "verbose",
+         " Help:\n [-v|--verbose]       print extended output info.");
+
+   CommandOptionNoArg dashd('d', "debug",
+         " [-d|--debug]         print extended output info.");
+
+   CommandOptionNoArg dashh('h', "help",
+         " [-h|--help]          print syntax and quit.");
+
+   // ... rest of the command line
+   CommandOptionRest Rest("");
+
+   CommandOptionParser Par(
+      " Prgm IonoBias will open and read several preprocessed Rinex obs files\n"
+      " (containing obs types EL,LA,LO,SR or SS) and use the data to estimate\n"
+      " satellite and receiver biases and to compute a simple ionospheric model\n"
+      " using least squares and the slant TEC values.\n"
+      " Input is on the command line, or of the same format in a file (-f<file>).\n");
+
+   // allow user to put all options in a file
+   // could also scan for debug here
+   vector<string> Args;
+   for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args,verbose,debug);
+   argc = Args.size();
+   if(argc==0) Args.push_back(string("-h"));
+
+      // pass the rest
+   argc = Args.size()+1;
+   char **CArgs=new char*[argc];
+   if(!CArgs) { cerr << "Failed to allocate CArgs\n"; return -1; }
+   CArgs[0] = argv[0];
+   for(j=1; j<argc; j++) {
+      CArgs[j] = new char[Args[j-1].size()+1];
+      if(!CArgs[j]) { cerr << "Failed to allocate CArgs[j]\n"; return -1; }
+      strcpy(CArgs[j],Args[j-1].c_str());
+   }
+
+   //if(debug) {
+      //cout << "List passed to parse\n";
+      //for(i=0; i<argc; i++) cout << i << " " << CArgs[i] << endl;
+   //}
+   Par.parseOptions(argc, CArgs);
+
+   if(dashh.getCount() > 0) { help = true; }
+
+   if (Par.hasErrors())
+   {
+      cerr << "\nErrors found in command line input:\n";
+      Par.dumpErrors(cerr);
+      cerr << "...end of Errors\n\n";
+      help = true;
+   }
+
+   if(help) {
+      Par.displayUsage(cout,false); cout << endl;
+   }
+   
+      // get values found on command line
+   vector<string> values;
+
+      // f never appears because we intercept it above
+   //if(dashf.getCount()) { cout << "Option f "; dashf.dumpValue(cout); }
+ 
+      // open the log file first
+   if(dashl.getCount()) {
+      values = dashl.getValue();
+      if(help) cout << "Input name of output log file: " << values[0] << endl;
+      LogFile = values[0];
+   }
+   oflog.open(LogFile.c_str(),ios_base::out);
+   if(!oflog) {
+      cerr << "Failed to open log file " << LogFile << endl;
+      return -1;
+   }
+   oflog << Title;
+   cout << "IonoBias output directed to log file " << LogFile << endl;
+   if(help) {
+      Par.displayUsage(oflog,false);
+      oflog << endl;
+      if (Par.hasErrors()) {
+         oflog << "\nErrors found in command line input:\n";
+         Par.dumpErrors(oflog);
+         oflog << "...end of Errors\n\n";
+         return -1;
+      }
+   }
+
+      // input path; do path before input file names
+   if(dashp.getCount()) {
+      values = dashp.getValue();
+      if(help) cout << "Input path name: " << values[0] << endl;
+      InputPath = values[0];
+   }
+   else InputPath = string("");
+
+      // input file names
+   if(dashin.getCount()) {
+      values = dashin.getValue();
+      if(help) cout << "Input Rinex obs file names are:\n";
+      string::size_type pos;
+      string fname;
+      for(i=0; i<values.size(); i++) {
+         fname = values[i];
+         // expand filenames of the form @name or name@
+         // into the *contents* (one name per line) of file 'name'.
+         pos = fname.find('@');
+         if(pos == string::npos || (pos != 0 && pos != fname.length()-1)) {
+               // value is a Rinex file name
+            if(InputPath.size() > 0) { fname = InputPath + "/" + fname; }
+            Filenames.push_back(fname);
+            if(help) cout << "   " << fname << endl;
+         }
+         else {                 // value is a file containing Rinex file names
+            fname.erase(pos,1);
+            if(InputPath.size() > 0) { fname = InputPath + "/" + fname; }
+            if(help) cout << "   " << "(Open and read file names from: "
+               << fname << ")" << endl;
+            ifstream infile(fname.c_str());
+            if(!infile) {
+               oflog << "Error: could not open file " << fname << endl;
+            }
+            else {
+               while(infile >> fname) {
+                  if(fname[0] == '#') {         // skip to end of line
+                     char c;
+                     while(infile.get(c)) { if(c=='\n') break; }
+                  }
+                  else {
+                     Filenames.push_back(fname);
+                     if(debug) oflog << "   " << fname << endl;
+                  }
+               }  // end loop over lines in the file
+               infile.close();
+            }  // end opened file
+         }  // end if value is a file containing file names
+      }  // end loop over values on command line
+   }  // end dashin
+
+   // ephemeris input
+   if(dashnd.getCount()) {
+      values = dashnd.getValue();
+      NavDir = values[0];
+      if(help) cout << "Input Nav Directory: " << NavDir  << endl;
+   }
+   if(dashn.getCount()) {
+      values = dashn.getValue();
+      NavFiles = values;
+      if(help) {
+         cout << "Input Nav files :";
+         for(i=0; i<NavFiles.size(); i++) cout << " " << NavFiles[i];
+         cout << endl;
+      }
+   }
+
+   if(dashat.getCount()) {
+      values = dashat.getValue();
+      if(help) cout << "Input name of AT file: " << values[0] << endl;
+      ATFileName = values[0];
+   }
+   if(dashout.getCount()) {
+      values = dashout.getValue();
+      if(help) cout << "Output biases file name: " << values[0] << endl;
+      BiasFileName = values[0];
+   }
+
+   if(dasheb.getCount()) {
+      values = dasheb.getValue();
+      BegTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+      if(help) cout << "Input BeginTime " << BegTime << endl;
+   }
+   if(dashee.getCount()) {
+      values = dashee.getValue();
+      EndTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+      if(help) cout << "Input EndTime " << EndTime << endl;
+   }
+   if(dashgb.getCount()) {
+      values = dashgb.getValue();
+      BegTime.setToString(values[0], "%F,%g");
+      if(help) cout << "Input BeginGPSTime " << BegTime << endl;
+   }
+   if(dashge.getCount()) {
+      values = dashge.getValue();
+      EndTime.setToString(values[0], "%F,%g");
+      if(help) cout << "Input EndGPSTime " << EndTime << endl;
+   }
+
+      // processing
+   if(dashde.getCount()) {
+      DoEstimation = false;
+      if(help) cout << "Turn OFF estimation of biases and model" << endl;
+   }
+   if(dashwo.getCount()) {
+      SkipPreproc = true;
+      if(help) cout << "Read the existing AT file (skip preprocessing)" << endl;
+   }
+   if(dashsb.getCount()) {
+      ComputeSatBiases = false;
+      if(help) cout << "Compute Rx biases only, not Rx+Sat biases" << endl;
+   }
+   if(dashmod.getCount()) {
+      values = dashmod.getValue();
+      Model = values[0];
+      if(help) cout << "Model input is " << Model << endl;
+      if(Model != string("linear") &&
+         Model != string("quadratic") &&
+         Model != string("cubic")) {
+         cout << "Warning: --Model is invalid -- linear will be used\n";
+      }
+   }
+   if(dashMinPoints.getCount()) {
+      values = dashMinPoints.getValue();
+      MinPoints = StringUtils::asInt(values[0]);
+      if(help) cout << "Minimum points per satellite = " << MinPoints << endl;
+   }
+   if(dashMinTimeSpan.getCount()) {
+      values = dashMinTimeSpan.getValue();
+      MinTimeSpan = StringUtils::asDouble(values[0]);
+      if(help) cout << "Minimum time span = " << MinTimeSpan << " minutes" << endl;
+   }
+   if(dashMinElevation.getCount()) {
+      values = dashMinElevation.getValue();
+      MinElevation = StringUtils::asDouble(values[0]);
+      //if(MinElevation <= 0.0 || MinElevation >= 90.0) {
+      //}
+      if(help) cout << "Minimum elevation = " << MinElevation << "degrees " << endl;
+   }
+   if(dashMinLatitude.getCount()) {
+      values = dashMinLatitude.getValue();
+      MinLatitude = StringUtils::asDouble(values[0]);
+      //if(MinLatitude <= -90.0 || MinLatitude >= 90.0) {
+      //}
+      if(help) cout << "Minimum latitude = " << MinLatitude << " degrees" << endl;
+   }
+   if(dashMaxLatitude.getCount()) {
+      values = dashMaxLatitude.getValue();
+      MaxLatitude = StringUtils::asDouble(values[0]);
+      //if(MaxLatitude <= -90.0 || MaxLatitude >= 90.0) {
+      //}
+      if(help) cout << "Maximum latitude = " << MaxLatitude << " degrees" << endl;
+   }
+   if(dashMinLongitude.getCount()) {
+      values = dashMinLongitude.getValue();
+      MinLongitude = StringUtils::asDouble(values[0]);
+      while(MinLongitude < 0.0) MinLongitude+=360.0;
+      if(help) cout << "Minimum longitude = " << MinLongitude << " degrees" << endl;
+   }
+   if(dashMaxLongitude.getCount()) {
+      values = dashMaxLongitude.getValue();
+      MaxLongitude = StringUtils::asDouble(values[0]);
+      while(MaxLongitude < 0.0) MaxLongitude+=360.0;
+      if(help) cout << "Maximum longitude = " << MaxLongitude << " degrees" << endl;
+   }
+   if(dashTimeSector.getCount()) {
+      values = dashTimeSector.getValue();
+      TimeSector = StringUtils::lowerCase(values[0]);
+      if(help) cout << "Time sector = " << TimeSector << endl;
+      // TD check that it is valid
+   }
+   if(dashTermOffset.getCount()) {
+      values = dashTermOffset.getValue();
+      TermOffset = StringUtils::asDouble(values[0]);
+      if(help) cout << "Terminal offset = " << TermOffset << " minutes" << endl;
+   }
+   if(dashIonoHt.getCount()) {
+      values = dashIonoHt.getValue();
+      IonoHt = StringUtils::asDouble(values[0]);
+      if(help) cout << "Ionosphere height = " << IonoHt << " km" << endl;
+   }
+
+   if(dashXprn.getCount()) {
+      values = dashXprn.getValue();
+      for(i=0; i<values.size(); i++) {
+         prn = StringUtils::asData<RinexPrn>(values[i]);
+         if(help) cout << "Input: exclude satellite " << prn << endl;
+         ExSV.push_back(prn);
+      }
+   }
+
+   if(dashh.getCount())
+      oflog << "Option h appears " << dashh.getCount() << " times\n";
+   if(dashv.getCount()) {
+      verbose = true;
+      if(help) cout << "Option v appears " << dashv.getCount() << " times\n";
+   }
+   if(dashd.getCount()) {
+      debug = true;
+      if(help) cout << "Option d appears " << dashd.getCount() << " times\n";
+   }
+
+   if(Rest.getCount() && help) {
+      cout << "Remaining options:" << endl;
+      values = Rest.getValue();
+      for (i=0; i<values.size(); i++) cout << values[i] << endl;
+   }
+   if(verbose && help) {
+      cout << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+      for(j=0; j<Args.size(); j++) cout << Args[j] << endl;
+      cout << endl;
+   }
+   if(help) cout << "Configuration summarized in log file\n";
+
+      // print configuration
+   if(verbose || help || debug) {
+      oflog << "Input configuration for IonoBias:\n";
+      if(!InputPath.empty()) oflog << " Path for input files is "
+         << InputPath << endl;
+      oflog << " Input Rinex obs file names are:\n";
+      for(i=0; i<Filenames.size(); i++)
+         oflog << "   " << Filenames[i] << endl;
+      if(!NavDir.empty()) oflog << " Path for input nav files is "
+         << NavDir  << endl;
+      if(NavFiles.size() > 0) {
+         oflog << " Input Rinex nav file names are:\n";
+         for(i=0; i<NavFiles.size(); i++)
+            oflog << "   " << NavFiles[i] << endl;
+      }
+      //oflog << " Input data interval is: " << fixed << setprecision(2)
+         //<< DataInterval << endl;
+      if(!ATFileName.empty()) oflog << " AT file name is "
+         << ATFileName << endl;
+      if(BegTime > DayTime::BEGINNING_OF_TIME) oflog << " Begin time is "
+         << BegTime.printf("%Y/%m/%d_%H:%M:%6.3f=%F/%10.3g") << endl;
+      if(EndTime < DayTime::END_OF_TIME) oflog << " End   time is "
+         << EndTime.printf("%Y/%m/%d_%H:%M:%6.3f=%F/%10.3g") << endl;
+      oflog << " Processing:\n";
+      oflog << "   Use a " << Model << " ionospheric model" << endl;
+      oflog << "   Minimum points per satellite = " << MinPoints << endl;
+      oflog << "   Minimum time span = " << MinTimeSpan << " minutes" << endl;
+      oflog << "   Minimum elevation = " << MinElevation << " degrees" << endl;
+      oflog << "   Minimum latitude = " << MinLatitude << " degrees" << endl;
+      oflog << "   Maximum latitude = " << MaxLatitude << " degrees" << endl;
+      oflog << "   Minimum longitude = " << MinLongitude << " degrees" << endl;
+      oflog << "   Maximum longitude = " << MaxLongitude << " degrees" << endl;
+      oflog << "   Time sector = " << TimeSector << endl;
+      oflog << "   Terminal offset = " << TermOffset << " minutes" << endl;
+      oflog << "   Ionosphere height = " << IonoHt << " km" << endl;
+      if(ExSV.size() > 0) {
+         oflog << "  Exclude these satellites:";
+         for(i=0; i<ExSV.size(); i++) oflog << " " << ExSV[i];
+         oflog << endl;
+      }
+      oflog << " Compute " << (ComputeSatBiases ? "Sat+":"") << "Rx biases" << endl;
+      if(BiasFileName.length() > 0)
+         oflog << " Output biases to file " << BiasFileName << endl;
+      else
+         oflog << " Do not output biases to a file" << endl;
+      oflog << " Do" << (DoEstimation?"":" not do")
+         << " the estimation problem" << endl;
+      oflog << " " << (SkipPreproc?"Skip":"Do not skip") << " the preprocessing"
+         << endl;
+      if(help) oflog << " Help (-h) is set\n";
+      if(debug) oflog << " Debug (-d) is set\n";
+      oflog << "End of input configuration for IonoBias" << endl;
+   }
+
+   if(!DoEstimation && SkipPreproc) {
+      cout << "ERROR: Estimation is turned off and so is preprocessing!\n";
+      cout << "ERROR: Abort: nothing to do.\n";
+      return -1;
+   }
+
+   if(help) return 1;
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+      cerr << "IonoBias:GetCommandLine caught an exception\n" << e;
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      cerr << "IonoBias:GetCommandLine caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& ver, bool& deb)
+{
+   if(arg[0]=='-' && arg[1]=='f') {
+      string filename(arg);
+      filename.erase(0,2);
+      //cout << "Found a file of options: " << filename << endl;
+      ifstream infile(filename.c_str());
+      if(!infile) {
+         cerr << "Error: could not open options file "
+            << filename << endl;
+      }
+      else {
+         char c;
+         string buffer;
+         while( infile >> buffer) {
+            if(buffer[0] == '#') {         // skip to end of line
+               while(infile.get(c)) { if(c=='\n') break; }
+            }
+            else PreProcessArgs(buffer.c_str(),Args,ver,deb);
+         }
+      }
+   }
+   else if((arg[0]=='-' && arg[1]=='d') || string(arg)==string("--debug")) {
+      deb = true;
+      //cout << "Found the debug switch" << endl;
+   }
+   else if((arg[0]=='-' && arg[1]=='v') || string(arg)==string("--verbose")) {
+      ver = true;
+      //cout << "Found the verbose switch" << endl;
+   }
+   else if((arg[0]=='-' && arg[1]=='l')) {
+      LogFile = string(&arg[2]);
+      //cout << "Found the log file name " << LogFile << endl;
+   }
+   else Args.push_back(arg);
+}
+
+//------------------------------------------------------------------------------------
+int Initialize(void)
+{
+try {
+      // open nav files and read EphemerisStore
+   if(!NavDir.empty())
+      for(int i=0; i<NavFiles.size(); i++)
+         NavFiles[i] = NavDir + "/" + NavFiles[i];
+   FillEphemerisStore(NavFiles, SP3EphList, BCEphList);
+   if(SP3EphList.size()) {
+      if(verbose) SP3EphList.dump(0,oflog);
+   }
+   else if(verbose) oflog << "SP3 Ephemeris list is empty\n";
+
+   if(BCEphList.size()) {
+      BCEphList.SearchNear();
+      if(verbose) BCEphList.dump(0,oflog);
+   }
+   else if(verbose) oflog << "BC Ephemeris list is empty\n";
+
+   if(SP3EphList.size()) pEph = &SP3EphList;
+   else if(BCEphList.size()) pEph = &BCEphList;
+   else {
+      cerr << "IonoBias abort -- no ephemeris\n";
+      oflog << "IonoBias abort -- no ephemeris\n";
+      return -1;
+   }
+
+      // create the obs types for later use
+   ELot = RinexObsHeader::convertObsType("EL");
+   LAot = RinexObsHeader::convertObsType("LA");
+   LOot = RinexObsHeader::convertObsType("LO");
+   SRot = RinexObsHeader::convertObsType("SR");
+   SSot = RinexObsHeader::convertObsType("SS");
+
+      // initialize AT header data
+   int i;
+   NgoodStations = 0;
+   for(i=0; i<=MAXPRN; i++) BoolVec.push_back(false);
+   for(i=0; i<Filenames.size(); i++) EstimationFlag.push_back(BoolVec);
+
+      // open output file and write zero-filled header
+   fout.open(ATFileName.c_str(),ios_base::out);
+   if(!fout) {
+      cerr << "IonoBias abort -- failed to open AT file " << ATFileName
+         << " for output." << endl;
+      oflog << "IonoBias abort -- failed to open AT file " << ATFileName
+         << " for output." << endl;
+      return -2;
+   }
+   WriteATHeader();
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+   cerr << "IonoBias:Initialize caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok,
+//       -2 could not open a file,
+//       -3 FFStream exception,
+//       -4 gpstk exception,
+//       -5 no sunrise
+int Process(void)
+{
+try {
+   int i,iret;
+   string fname;
+   RinexObsStream instream;
+   RinexObsHeader header;
+
+      // loop over input file names
+   if(verbose) oflog << "\nProcess " << Filenames.size() << " input files:\n";
+   for(ndata=0,nfile=0; nfile<Filenames.size(); nfile++) {
+      if(verbose) oflog << endl;
+      fname = Filenames[nfile];
+      instream.open(fname.c_str(),ios_base::in);
+      if(!instream) {
+         oflog << " Rinex file " << fname << " could not be opened -- abort.\n";
+         return -2;
+      }
+      instream.exceptions(ios::failbit);
+      if(verbose) oflog << "Opened input file #" << nfile+1 << ": " << fname << endl;
+      
+      iret = ProcessHeader(instream,fname,header);
+      if(iret != 0) return iret;
+
+      if(nfile==0) {
+         MJDNorm = header.firstObs.MJD();
+         LonNorm = StationPosition[1]; //.getLongitude();
+      }
+
+      iret = ProcessObs(instream,fname,header);
+      if(iret != 0) return iret;
+
+      instream.close();
+      instream.clear();
+
+   }  // end loop over file names
+
+   if(verbose) {
+      oflog << endl << "Processed " << Filenames.size()
+      << " files; " << NgoodStations << " of them had good data.\n";
+      oflog << "Total number of data points = " << ndata << endl;
+   }
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+   cerr << "IonoBias:Process caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+catch(...) {
+   cerr << "IonoBias:Process caught an unknown exception\n";
+   return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok, -3 FFStream exception, -4 gpstk exception, -5 no sunrise
+int ProcessHeader(RinexObsStream& ins, string& filename, RinexObsHeader& head)
+{
+try {
+      // input header
+   try {
+      ins >> head;
+   }
+   catch(gpstk::FFStreamError& e) {
+      cerr << "Caught an FFStreamError while reading header for file "
+         << filename << ":\n" << e.getText(0) << endl;
+      oflog << "Caught an FFStreamError while reading header for file "
+         << filename << ":\n" << e.getText(0) << endl;
+      return -3;
+   }
+   catch(gpstk::Exception& e) {
+      cerr << "Caught a gpstk exception while reading header for file "
+         << filename << ":\n" << e.getText(0) << endl;
+      oflog << "Caught a gpstk exception while reading header for file "
+         << filename << ":\n" << e.getText(0) << endl;
+      return -4;
+   }
+
+      // convert to LLH
+   Position xyz;
+   xyz.setECEF(head.antennaPosition);
+   StationPosition = xyz;
+   StationPosition.transformTo(Position::Geocentric);
+
+      // compute begin and end times
+   TimeLimits(StationPosition, head.firstObs.DOY(), TimeSector, begintime, endtime);
+   if(begintime == -999 || endtime == -999) return -5;
+
+      // save station info
+   StationName = head.markerName;
+   TotalSpan = head.lastObs.MJD()-head.firstObs.MJD();
+
+      // dump header information
+   if(verbose) {
+      int i;
+      oflog << "File name: " << filename << endl;
+      oflog << "Marker name: " << head.markerName << "\n";
+      oflog << "Position (XYZ,m) : " << fixed
+         << setprecision(3) << head.antennaPosition << "\n";
+      oflog << "Position (LLH  ) : ("
+         << setprecision(8) << StationPosition[0] << ", "
+         << setprecision(8) << StationPosition[1] << ", "
+         << setprecision(4)
+         << StationPosition[2] - StationPosition.radiusEarth()
+         << ")\n";
+      oflog << "Observation types (" << head.obsTypeList.size() << ") :";
+      for(i=0; i<head.obsTypeList.size(); i++)
+         oflog << " " << RinexObsHeader::convertObsType(head.obsTypeList[i]);
+      oflog << endl;
+      oflog << "Time of first obs "
+         << head.firstObs.printf("%04Y/%02m/%02d %02H:%02M:%010.7f")
+         << " " << (head.firstSystem==systemGlonass?"GLO":"GPS") << endl;
+      oflog << "Time of  last obs "
+         << head.lastObs.printf("%04Y/%02m/%02d %02H:%02M:%010.7f")
+         << " " << (head.lastSystem==systemGlonass?"GLO":"GPS") << endl;
+      oflog << "DOY = " << head.firstObs.DOY() << endl;
+      oflog << "Sunrise = " << setprecision(2) << sunrise;
+      oflog << "  Sunset  = " << setprecision(2) << sunset << endl;
+      oflog << "Begin time = " << setprecision(2) << begintime;
+      oflog << "  End time = " << setprecision(2) << endtime << endl;
+   }
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+   cerr << "IonoBias:ProcessHeader caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+catch(...) {
+   cerr << "IonoBias:ProcessHeader caught an unknown exception\n";
+   return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+// Given a position (LLH), day of year, and sector flag (TimeSector),
+// compute the begin and end times (hours of the day) of our data window,
+// which will = sunrise + TermOffset and sunset - TermOffset.
+void TimeLimits(Position llr, int doy, string& sector, double& begin, double& end)
+{
+   begin = 0;
+   end = 24.;
+
+   Sunrise(llr[0], llr[1], IonoHt*1000.0, doy, sunrise, sunset);
+   if(sector == string("both")) return;
+   if(sector == string("day")) {
+      begin = sunrise + TermOffset/60.0;
+      end   = sunset  - TermOffset/60.0;
+   }
+   if(sector == string("night")) {
+      begin = sunset  + TermOffset/60.0;
+      end   = sunrise - TermOffset/60.0;
+   }
+
+   while(begin <  0) begin += 24;
+   while(begin >= 24) begin -= 24;
+   while(end <  0) end += 24;
+   while(end >= 24) end -= 24;
+}
+
+//------------------------------------------------------------------------------------
+// Compute the position (latitude and longitude, in degrees) of the sun
+// given the day of year and the hour of the day.
+// Adapted from sunpos by D. Coco 12/15/94
+//#include "icd_200_constants.hpp     // for TWO_PI
+//#include "geometry.hpp"             // for DEG_TO_RAD and RAD_TO_DEG
+void SolarPosition(int doy, double hod, double& lat, double& lon)
+{
+   lat = sin(23.5*DEG_TO_RAD)*sin(TWO_PI*double(doy-83)/365.25);
+   lat = lat / SQRT(1.0-lat*lat);
+   lat = RAD_TO_DEG*atan(lat);
+   lon = 180.0 - hod*15.0;
+}
+
+//------------------------------------------------------------------------------------
+// Compute the time of day of sunrise and sunset (set to -999 if they do not exist),
+// given a geographic position and day of year.
+// Adapted from D. Coco 2/7/96 from equation in Supplement to the Astromonical Almanac
+void Sunrise(double lat, double lon, double ht, int doy, double& rise, double& set)
+{
+   const double DEG_TO_HRS=(24.0/360.0); // should this be sidereal day?
+   double sunlat,sunlon,hod;
+
+   // find the position of the sun
+   hod = 0;
+   SolarPosition(doy, hod, sunlat, sunlon);
+
+   double x = -1 * tan(sunlat*DEG_TO_RAD) * tan(lat*DEG_TO_RAD);
+	if(x <= -1.0 || x >= 1.0) {
+      rise = set = -999;
+      return;
+   }
+   x = acos(x) * RAD_TO_DEG;
+
+   rise = DEG_TO_HRS * (sunlon - lon - x);
+   set  = DEG_TO_HRS * (sunlon - lon + x);
+
+   // adjust for height above sea level
+   double dht=0,radius=Position::radiusEarth(lat,WGS84.a(),WGS84.eccSquared());
+   dht = 24.0*acos(radius/(radius+ht))/TWO_PI;
+   rise -= dht;
+   set += dht;
+
+   while(rise <  0) rise += 24;
+   while(rise >= 24) rise -= 24;
+   while(set <  0) set += 24;
+   while(set >= 24) set -= 24;
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok, -3 FFStream exception, -4 gpstk exception, -6 stream not good
+int ProcessObs(RinexObsStream& ins, string& filename, RinexObsHeader& head)
+{
+try {
+   int i,j,k,npts[MAXPRN+1];
+   double EL,LA,LO,SR,hours,cr,ob;
+   Position LLI;
+   DayTime begin[MAXPRN+1],end[MAXPRN+1];
+   RinexObsData robs;
+   RinexPrn sat;
+   //RinexObsData::RinexObsTypeMap otmap;
+   RinexObsData::RinexPrnMap::const_iterator it;
+   RinexObsData::RinexObsTypeMap::const_iterator jt;
+
+   if(!ins.good()) return -6;
+
+      // initialize for this station
+   fout.seekp(0,ios_base::end);           // go to EOF
+   current_header_pos = fout.tellp();     // save for later
+   NgoodPoints = 0;
+   WriteStationHeader(NgoodPoints,StationName,StationPosition);   // dummy
+
+      // loop over epochs
+   for(i=1; i<=MAXPRN; i++) npts[i]=0;
+   do {
+      try {
+         ins >> robs;
+      }
+      catch(gpstk::FFStreamError& e) {
+         cerr << "Caught an FFStreamError while reading obs for file "
+            << filename << ":\n" << e.getText(0) << endl;
+         oflog << "Caught an FFStreamError while reading obs for file "
+            << filename << ":\n" << e.getText(0) << endl;
+         return -3;
+      }
+      catch(gpstk::Exception& e) {
+         cerr << "Caught a gpstk exception while reading obs for file "
+            << filename << ":\n" << e.getText(0) << endl;
+         oflog << "Caught a gpstk exception while reading obs for file "
+            << filename << ":\n" << e.getText(0) << endl;
+         return -4;
+      }
+      if(ins.eof()) break;
+      if(!ins.good()) { return -6; }
+
+      //if(verbose) oflog << " Read file " << filename
+      //   << " epoch " << robs.time.printf("%Y/%m/%d_%H:%M:%6.3f=%F/%10.3g") << endl;
+
+      hours = robs.time.secOfDay()/3600.0;          // hours of the day
+         // compute co-rotating longitude CL = LO + cr
+      cr = (robs.time.MJD()-MJDNorm) * 360.0;
+      cr -= LonNorm + TotalSpan * 180.0;
+
+         // loop over sat=it->first, ObsTypeMap=it->second
+      for(it=robs.obs.begin(); it != robs.obs.end(); ++it) {
+         sat = it->first;
+         if(sat.system != systemGPS) continue; // ignore non-GPS satellites
+         if(sat.prn <= 0 || sat.prn > MAXPRN) continue; // just in case...
+         for(i=0,k=-1; i<ExSV.size(); i++) {   // Is this satellite excluded ?
+            if( ExSV[i] == sat ||                                 // sat is excluded
+               (ExSV[i].prn==-1 && ExSV[i].system==sat.system) ) {// system excluded
+               k=i;
+               break;
+            }
+         }
+         if(k != -1) continue;
+   
+            // process this sat
+         if( (jt=it->second.find(ELot)) != it->second.end()) EL = jt->second.data;
+         if(EL < MinElevation) continue;
+
+         if( (jt=it->second.find(LAot)) != it->second.end()) LA = jt->second.data;
+         if(LA < MinLatitude || LA > MaxLatitude) continue;
+
+         if( (jt=it->second.find(LOot)) != it->second.end()) LO = jt->second.data;
+         while(LO < 0.0) LO+=360.0;
+         if(LO < MinLongitude || LO > MaxLongitude) continue;
+
+         if( (jt=it->second.find(SRot)) != it->second.end()) {
+            SR = jt->second.data;
+            //if(jt->second.ssi == 1) continue;    // reject if ssi==1 ?? TD
+         }
+         else if( (jt=it->second.find(SSot)) != it->second.end()) {
+            SR = jt->second.data;
+         }
+
+         LLI = Position(LA,LO,IonoHt*1000.0);     // 3rd entry is actually not used.
+         TimeLimits(LLI, robs.time.DOY(), TimeSector, begintime, endtime);
+         if(endtime >= begintime) {
+            if(hours < begintime || hours > endtime) continue;
+         }
+         else {
+            if(hours < begintime && hours > endtime) continue;
+         }
+
+            // compute the obliquity
+         ob = obliquity(EL);
+
+            // write out
+         fout <<        setw(4)                    << robs.time.GPSfullweek();
+         fout << " " << setw(8) << setprecision(1) << robs.time.GPSsow();
+         fout << " " << setw(9) << setprecision(5) << LA; // latitude
+         fout << " " << setw(10) << setprecision(5) << LO+cr; // co-rotating longitude
+         fout << " " << setw(4) << setprecision(2) << ob; // obliquity
+         fout << " " << setw(8) << setprecision(3) << SR; // slant TEC
+         fout << " " << setw(6) << setprecision(2) << 1;  // sigma ?? TD
+         fout << " " << setw(2) << sat.prn; // PRN
+         fout << " " << setw(3) << nfile+1; // file number
+         fout << endl;
+
+         EstimationFlag[nfile][sat.prn] = true;
+         NgoodPoints++;
+         npts[sat.prn]++; // Npts for this sat
+         if(npts[sat.prn]==1) begin[sat.prn] = robs.time;
+         end[sat.prn] = robs.time;
+
+      }  // end for loop over sats
+
+
+   } while(1);
+
+      // revised header
+   WriteStationHeader(NgoodPoints,StationName,StationPosition);
+
+      // revise estimation flags
+   if(verbose) oflog << "PRN  Points  Timespan   Begin       End  (hrs)\n";
+   for(i=1; i<=MAXPRN; i++) {
+      if(npts[i] > 0) {
+         if(verbose) oflog << "G" << setfill('0') << setw(2) << i << setfill(' ')
+            << setw(6) << npts[i]
+            << setw(10) << setprecision(2) << (end[i]-begin[i])/3600.0
+            << setw(10) << setprecision(2) << begin[i].secOfDay()/3600.0
+            << setw(10) << setprecision(2) << end[i].secOfDay()/3600.0;
+         if((end[i]-begin[i] < MinTimeSpan*60.0 || npts[i] < MinPoints)){
+            if(verbose) {
+               oflog << " reject(";
+               if(end[i]-begin[i] < MinTimeSpan*60.0) oflog << " time ";
+               if(npts[i] < MinPoints) oflog << " pts ";
+               oflog << ")";
+            }
+            EstimationFlag[nfile][i] = false;
+            NgoodPoints -= npts[i];
+         }
+         if(verbose) oflog << endl;
+      }
+   }
+
+   if(NgoodPoints > 0) {
+      NgoodStations++;
+      ndata += NgoodPoints;
+   }
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+   cerr << "IonoBias:ProcessObs caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+catch(...) {
+   cerr << "IonoBias:ProcessObs caught an unknown exception\n";
+   return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+void WriteATHeader(void)
+{
+try {
+   int i,j;
+   fout.seekp(0);
+   fout << setw(5) << Filenames.size() << " " << setw(5) << NgoodStations
+      << " Number (max, good) stations in this file \n";
+   for(i=0; i<Filenames.size(); i++) {
+      for(j=0; j<MAXPRN+1; j++) fout << (EstimationFlag[i][j] ? '1' : '0');
+      fout << "\n";
+   }
+   fout << fixed;
+}
+catch(gpstk::Exception& e) {
+   cerr << "IonoBias:WriteATHeader caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+catch(...) {
+   cerr << "IonoBias:WriteATHeader caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+void WriteStationHeader(int npts, string sta_name, Position llr)
+{
+try {
+   fout.seekp(current_header_pos);
+   fout << "Npt " << setw(5) << npts;
+   //fout << in_file_s;
+   //fout << sta_id;
+   fout << " Sta " << sta_name;
+   fout << " LLH " << setw(10) << setprecision(4) << llr[0]; //gllh.getLatitude();
+   fout << " " << setw(10) << setprecision(4) << llr[1]; //gllh.getLongitude();
+   fout << " " << setw(10) << setprecision(4)
+      << llr[2]-Position::radiusEarth(llr[0],WGS84.a(),WGS84.eccSquared());
+                //gllh.getAltitude();
+   fout << endl;
+}
+catch(gpstk::Exception& e) {
+   cerr << "IonoBias:WriteStationHeader caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+catch(...) {
+   cerr << "IonoBias:WriteStationHeader caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+void ParseLine(string& str, vector<string>& wds)
+{
+   istringstream iss(str);
+   string wd;
+   wds.clear();
+   while(iss >> wd) {
+      wds.push_back(wd);
+   }
+}
+
+//------------------------------------------------------------------------------------
+int ReadATandCompute(void)
+{
+try {
+   ifstream ifs;
+   ifs.open(ATFileName.c_str());       // output file is now the input
+   if(!ifs) {
+      cerr << "Failed to open AT file " << ATFileName << " for input" << endl;
+      return -1;
+   }
+   else if(verbose) oflog << "\nOpened AT file " << ATFileName << " for input\n";
+
+      // read the AT header
+   int i,j,k,ii,jj;
+   long N,n;
+   string line;
+
+   EstimationFlag.clear();
+   ifs >> N >> n;
+   getline(ifs,line);      // read to eol
+   for(i=0; i<N; i++) {
+      getline(ifs,line);
+      for(j=0; j<line.size(); j++) BoolVec[j] = (line[j] == '1');
+      EstimationFlag.push_back(BoolVec);
+   }
+   
+   //if(verbose) {
+   //   oflog << "Read AT (" <<N<< "," <<n<< "," << EstimationFlag.size() << ")\n";
+   //   for(i=0; i<EstimationFlag.size(); i++) {
+   //      for(j=0; j<MAXPRN+1; j++) oflog << (EstimationFlag[i][j] ? '1' : '0');
+   //      oflog << "\n";
+   //   }
+   //}
+
+   if(N != EstimationFlag.size()) { //oops
+   }
+
+      // dimension and initialize the LS problem
+   if(Model == "cubic") {
+      oflog << "Model is cubic\n";
+      NIonoParam = 10;
+   }
+   else if(Model == "quadratic") {
+      oflog << "Model is quadratic\n";
+      NIonoParam = 6;
+   }
+   else {   // linear and default
+      oflog << "Model is linear\n";
+      NIonoParam = 3;
+   }
+
+   for(NBiasParam=0,i=0; i<N; i++) {
+      if(!ComputeSatBiases) NBiasParam++;
+      else for(j=0; j<MAXPRN+1; j++) if(EstimationFlag[i][j]) NBiasParam++;
+   }
+   NTotalParam = NIonoParam + NBiasParam;
+
+   Sol.resize(NTotalParam,0.0);
+   Cov.resize(NTotalParam,NTotalParam,0.0);
+   InfData.resize(NTotalParam,0.0);
+
+      // Read the rest of the AT file
+   int wn,prn,nfile,in;
+   double sow,lat,lon,obq,sr,sig,d2=0;
+   string stationID;
+   vector<string> words;
+   pair<string,int> Comp;
+
+      // loop over stations
+   oflog << setw(2) << N << "  Number of stations (N data and filename follow).\n";
+   for(ndata=0,i=0; i<N; i++) {
+         // read station header
+      getline(ifs,line);
+      ParseLine(line,words);
+      if(words[0] != string("Npt")) { //oops
+      }
+      n = StringUtils::asInt(words[1]);
+      stationID = words[3];
+
+      if(n > 0 && verbose) {
+         oflog << setw(3) << i+1 << "  " << stationID << " " << setw(4) << n << " ";
+         //for(j=0; j<=MAXPRN; j++) oflog << (EstimationFlag[i][j] ? '1' : '0');
+         oflog << Filenames[i];
+         oflog << endl;
+      }
+
+         // read data
+      for(j=0; j<n; j++) {
+         getline(ifs,line);
+         ParseLine(line,words);
+         wn = StringUtils::asInt(words[0]);
+         sow = StringUtils::asDouble(words[1]);
+         lat = StringUtils::asDouble(words[2]);
+         lon = StringUtils::asDouble(words[3]);
+         obq = StringUtils::asDouble(words[4]);
+         sr = StringUtils::asDouble(words[5]);
+         sig = StringUtils::asDouble(words[6]);
+         prn = StringUtils::asInt(words[7]);
+         nfile = StringUtils::asInt(words[8]);
+
+         // do not include rejected data
+         if(!(EstimationFlag[i][prn])) continue;
+
+         // if NOT computing satellite biases, lump all data together into "PRN 0"
+         if(!ComputeSatBiases) { prn = 0; }
+
+         // find min and max lat and lon
+         if(ndata == 0) {
+            MaxLat = MinLat = lat;
+            MaxCRLon = MinCRLon = lon;
+         }
+         else {
+            if(ABS(lat) > MaxLat) MaxLat=lat;
+            if(ABS(lat) < MinLat) MinLat=lat;
+            if(ABS(lon) > MaxCRLon) MaxCRLon=lon;
+            if(ABS(lon) < MinCRLon) MinCRLon=lon;
+         }
+         ndata++;
+
+         // add this data to the LS
+         //d2 += sr*sr;
+         // find the index in partials matrix for this station-satellite pair
+         Comp = make_pair(stationID,prn);
+         in = index(ComponentIDs,Comp);
+         if(in == -1) {
+            in = ComponentIDs.size();
+            ComponentIDs.push_back(Comp);
+         }
+
+         // Before computing partials matrix, scale lat and lon
+         // to avoid large numerical range <=> difficult inversion
+         //lat /= 1000.0;
+         //lon /= 1000.0;
+         //PartialsMatrix(Par,in,lat,lon,obq);
+         // row of partials matrix has [in] = 1 and if nb=NBiasParam
+            PM[0] =       obq; // [nb+0]               (all models)
+            PM[1] = lat * obq; // [nb+1]               (all models)
+            PM[2] = lon * obq; // [nnb2]               (all models)
+         if(NIonoParam > 3) {
+            PM[3] = lat * lat * obq; // [nb+3]         (quadratic and cubic)
+            PM[4] = lon * lon * obq; // [nb+4]         (quadratic and cubic)
+            PM[5] = lat * lon * obq; // [nb+5]         (quadratic and cubic)
+         }
+         if(NIonoParam > 6) {
+            PM[6] = lat * lat * lat * obq; // [nb+6]   (cubic only)
+            PM[7] = lon * lon * lon * obq; // [nb+7]   (cubic only)
+            PM[8] = lat * lat * lon * obq; // [nb+8]   (cubic only)
+            PM[9] = lat * lon * lon * obq; // [nb+9]   (cubic only)
+         }
+         //LS.Add(Par,Dat,Wgt); do the sequential LS by hand for efficiency
+         //
+         // Inf += transpose(partials) * partials (weight = 1)
+         // InfData += transpose(partials) * data
+         //
+         Cov(in,in) += 1.0;
+         InfData(in) += sr;
+         for(ii=0; ii<NIonoParam; ii++) {
+            k = NBiasParam + ii;
+            InfData(k) += sr * PM[ii];
+            Cov(k,in) += PM[ii];
+            Cov(in,k) += PM[ii];
+            for(jj=0; jj<NIonoParam; jj++) {
+               Cov(k,NBiasParam+jj) += PM[ii]*PM[jj];
+            }
+         }
+
+      }  // end loop over points for this station
+
+   }  // end loop over stations
+
+   ifs.close();
+
+   oflog << setw(9) << setprecision(2) << MinLat << "  Minimum Latitude\n";
+   oflog << setw(9) << setprecision(2) << MaxLat << "  Maximum Latitude\n";
+   oflog << setw(9) << setprecision(2) << MinCRLon << "  Minimum Co-rot lon\n";
+   oflog << setw(9) << setprecision(2) << MaxCRLon << "  Maximum Co-rot lon\n";
+   oflog << setw(5) << ndata << " data points used." << endl << endl;
+
+   // solve the LS problem
+   // Cov = inverse(information)
+   // X = Cov * InfData
+   try { Cov = inverse(Cov); }
+   catch(Exception& e) {
+      oflog << "Least squares failed because the problem is singular\n";
+      return -2;
+   }
+
+   // Invert Cov via SVD - also expensive - maybe make option, see SVs and conditionN
+   //SVD<double> svd;
+   //svd(Cov);
+   //oflog << "Singular Values range " << svd.S(0)
+   //   << " to " << svd.S(NTotalParam-1) << endl;
+   //for(i=1; i<NIonoParam; i++) {
+   //   if(svd.S(i) < 1.e-14 * svd.S(0)) {
+   //      oflog << "Edit SingularValue(" << i << ") = " << svd.S(i) << endl;
+   //      svd.S(i) = 0;
+   //   }
+   //}
+   //Vector<double> T(NIonoParam);
+   //for(j=0; j<NIonoParam; j++) { // loop over columns
+   //   T = 0.0;
+   //   T(j) = 1.0;
+   //   svd.backSub(T);
+   //   for(i=0; i<NTotalParam; i++) Cov(i,j)=T(i);
+   //}
+
+   // compute solution
+   Sol = Cov * InfData;
+   //if(verbose) oflog << "Least squares solved successfully.\n";
+
+   // print solution and sigma - remember lat and lon may be scaled by 1/1000
+   bool biasout=false;
+   if(BiasFileName.length() > 0) {
+      fout.open(BiasFileName.c_str(),ios_base::out);
+      if(!fout)
+         cerr << "Failed to open output biases file " << BiasFileName << endl;
+      else {
+         biasout = true;
+         fout << Title;
+      }
+   }
+   oflog << setw(2) << NBiasParam << "  Number of SPR biases\n";
+   if(biasout) fout << setw(2) << NBiasParam << "  Number of SPR biases\n";
+   for(i=0; i<NBiasParam; i++) {
+      ostringstream oss;
+      oss << setw(3) << i+1                                             // number
+         << "  " << ComponentIDs[i].first                               // station id
+         << " G" << setw(2) << setfill('0') << ComponentIDs[i].second   // sat G<prn>
+         << setfill(' ') << fixed
+         << " " << setw(12) << setprecision(6) << Sol(i)                // bias
+         << scientific
+         << " " << setw(10) << setprecision(3) << SQRT(Cov(i,i))        // sigma
+         << endl;
+      oflog << oss.str();
+      if(biasout) fout << oss.str();
+   }
+   oflog << setw(2) << NTotalParam-NBiasParam << "  Number of ion model parameters\n";
+   for(i=NBiasParam; i<NTotalParam; i++) {
+      ostringstream oss;
+      oss << setw(3) << i+1-NBiasParam << fixed                         // number
+         << " " << setw(12) << setprecision(6) << Sol(i)                // solution
+         << scientific
+         << " " << setw(10) << setprecision(3) << SQRT(Cov(i,i))        // sigma
+         << endl;
+      oflog << oss.str();
+      if(biasout) fout << oss.str();
+   }
+
+   // compute standard error estimates
+
+
+
+
+
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+   cerr << "IonoBias:ReadATandCompute caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+catch(...) {
+   cerr << "IonoBias:ReadATandCompute caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+// elevation in degrees
+double obliquity(double elevation)
+{
+   double ob;
+   //const double coef[4]={1.02056,0.466332,3.50523,-1.84119};
+   //double x2=(1-elevation/90.)*(1-elevation/90.);
+   //ob = coef[3];
+   //for(int i=2; i>=0; i--) ob = ob*x2 + coef[i];
+
+   ob = WGS84.a()*cos(elevation*DEG_TO_RAD)/(WGS84.a()+IonoHt*1000);
+   ob = SQRT(1.0-ob*ob);
+
+   return ob;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/ionosphere/Jamfile b/trunk/apps/ionosphere/Jamfile
new file mode 100644
index 0000000..fa4ee9b
--- /dev/null
+++ b/trunk/apps/ionosphere/Jamfile
@@ -0,0 +1,10 @@
+#
+# $Id: $
+#
+
+SubDir TOP apps ionosphere ;
+
+GPSLinkLibraries IonoBias TECMaps : gpstk ;
+
+GPSMain IonoBias : IonoBias.cpp RinexUtilities.cpp ;
+GPSMain TECMaps : TECMaps.cpp VTECMap.cpp RinexUtilities.cpp ;
diff --git a/trunk/apps/ionosphere/Makefile.am b/trunk/apps/ionosphere/Makefile.am
new file mode 100644
index 0000000..65c722f
--- /dev/null
+++ b/trunk/apps/ionosphere/Makefile.am
@@ -0,0 +1,7 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = IonoBias TECMaps
+
+IonoBias_SOURCES = IonoBias.cpp RinexUtilities.cpp
+TECMaps_SOURCES = TECMaps.cpp VTECMap.cpp RinexUtilities.cpp
diff --git a/trunk/apps/ionosphere/Makefile.in b/trunk/apps/ionosphere/Makefile.in
new file mode 100644
index 0000000..63d547c
--- /dev/null
+++ b/trunk/apps/ionosphere/Makefile.in
@@ -0,0 +1,433 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = IonoBias$(EXEEXT) TECMaps$(EXEEXT)
+subdir = apps/ionosphere
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_IonoBias_OBJECTS = IonoBias.$(OBJEXT) RinexUtilities.$(OBJEXT)
+IonoBias_OBJECTS = $(am_IonoBias_OBJECTS)
+IonoBias_LDADD = $(LDADD)
+IonoBias_DEPENDENCIES = ../../src/libgpstk.la
+am_TECMaps_OBJECTS = TECMaps.$(OBJEXT) VTECMap.$(OBJEXT) \
+	RinexUtilities.$(OBJEXT)
+TECMaps_OBJECTS = $(am_TECMaps_OBJECTS)
+TECMaps_LDADD = $(LDADD)
+TECMaps_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(IonoBias_SOURCES) $(TECMaps_SOURCES)
+DIST_SOURCES = $(IonoBias_SOURCES) $(TECMaps_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+IonoBias_SOURCES = IonoBias.cpp RinexUtilities.cpp
+TECMaps_SOURCES = TECMaps.cpp VTECMap.cpp RinexUtilities.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  apps/ionosphere/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  apps/ionosphere/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+IonoBias$(EXEEXT): $(IonoBias_OBJECTS) $(IonoBias_DEPENDENCIES) 
+	@rm -f IonoBias$(EXEEXT)
+	$(CXXLINK) $(IonoBias_LDFLAGS) $(IonoBias_OBJECTS) $(IonoBias_LDADD) $(LIBS)
+TECMaps$(EXEEXT): $(TECMaps_OBJECTS) $(TECMaps_DEPENDENCIES) 
+	@rm -f TECMaps$(EXEEXT)
+	$(CXXLINK) $(TECMaps_LDFLAGS) $(TECMaps_OBJECTS) $(TECMaps_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/IonoBias.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/RinexUtilities.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/TECMaps.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/VTECMap.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/ionosphere/README b/trunk/apps/ionosphere/README
new file mode 100644
index 0000000..4d47fee
--- /dev/null
+++ b/trunk/apps/ionosphere/README
@@ -0,0 +1,15 @@
+apps/ionosphere
+
+   Program IonoBias reads Rinex data files containing extended Rinex 
+observation types EL, LA, LO and SR or SS (see preprocessing, below) from 
+several sites and estimates biases in the ionospheric total electron content (TEC) measurements imposed by the hardware: either by satellite (the satellite + receiver combined bias) or by receiver alone (average over satellites to get the receiver bias). IonoBias does this by assuming a simple model of the ionosphere and simultaneously estimating biases and model parameters.
+
+   Program TECMaps reads Rinex data files containing extended Rinex observation
+types EL, AZ and SR or VR from several sites and at each epoch fits the ver-
+tical TEC data to a model of the ionosphere on a two-dimensional grid surface.
+Hardware TEC measurement biases are corrected, using input from the program
+IonoBias. The user can specify the type of grid, the type of TEC data and the
+model to be used. Output is in the form of files, one per epoch, which can be
+used to plot the 2D ionospheric TEC surface.
+
+   Run these programs at the command prompt with no options to see a summary of the input options.
diff --git a/trunk/apps/ionosphere/RinexUtilities.cpp b/trunk/apps/ionosphere/RinexUtilities.cpp
new file mode 100644
index 0000000..30c7f34
--- /dev/null
+++ b/trunk/apps/ionosphere/RinexUtilities.cpp
@@ -0,0 +1,237 @@
+//------------------------------------------------------------------------------------
+// RinexUtilities.cpp  Several miscellaneous utilities for use with Rinex data.
+// RinexUtilities is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexUtilities.cpp#1 $"
+
+/**
+ * @file RinexUtilities.cpp
+ * Miscellaneous utilities for use with Rinex data.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexObsHeader.hpp"
+
+#include "RinexUtilities.hpp"
+
+#include <iostream>
+
+using namespace std;
+using namespace gpstk;
+
+//------------------------------------------------------------------------------
+int RegisterARLUTExtendedTypes(void)
+{
+   unsigned int EPPS = //0x60
+      RinexObsHeader::RinexObsType::EPdepend | RinexObsHeader::RinexObsType::PSdepend;
+   unsigned int L1L2 = //0x06
+      RinexObsHeader::RinexObsType::L1depend | RinexObsHeader::RinexObsType::L2depend;
+   unsigned int P1P2 = //0x18
+      RinexObsHeader::RinexObsType::P1depend | RinexObsHeader::RinexObsType::P2depend;
+   unsigned int EPEP=RinexObsHeader::RinexObsType::EPdepend;//0x20
+   unsigned int PELL=EPPS | L1L2;//0x66
+   unsigned int PEPP=EPPS | P1P2;//0x78
+   unsigned int PsLs=L1L2 | P1P2;//0x1E
+   unsigned int L1P1 = //0x0A
+      RinexObsHeader::RinexObsType::L1depend | RinexObsHeader::RinexObsType::P1depend;
+   unsigned int L2P2 = //0x14
+      RinexObsHeader::RinexObsType::L2depend | RinexObsHeader::RinexObsType::P2depend;
+   int j;
+   j = RegisterExtendedRinexObsType("ER","Ephemeris range",     "meters", EPPS);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("RI","Iono Delay, Range",   "meters", P1P2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("PI","Iono Delay, Phase",   "meters", L1L2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("TR","Tropospheric Delay",  "meters", EPPS);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("RL","Relativity Correct.", "meters", EPEP);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("SC","SV Clock Bias",       "meters", EPEP);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("EL","Elevation Angle",     "degrees",EPPS);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("AZ","Azimuth Angle",       "degrees",EPPS);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("SR","Slant TEC (PR)",      "TECU",   P1P2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("SP","Slant TEC (Ph)",      "TECU",   L1L2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("VR","Vertical TEC (PR)",   "TECU",   PEPP);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("VP","Vertical TEC (Ph)",   "TECU",   PELL);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("LA","Lat Iono Intercept",  "degrees",EPPS);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("LO","Lon Iono Intercept",  "degrees",EPPS);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("P3","TFC(IF) Pseudorange", "meters", P1P2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("L3","TFC(IF) Phase",       "meters", L1L2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("P4","GeoFree Pseudorange", "meters", P1P2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("L4","GeoFree Phase",       "meters", L1L2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("P5","WideLane Pseudorange","meters", P1P2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("L5","WideLane Phase",      "meters", L1L2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("MP","Multipath (=M3)",     "meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("M1","L1 Range minus Phase","meters", L1P1);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("M2","L2 Range minus Phase","meters", L2P2);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("M3","IF Range minus Phase","meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("M4","GF Range minus Phase","meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("M5","WL Range minus Phase","meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("XR","Non-dispersive Range","meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("XI","Ionospheric delay",   "meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("X1","Range Error L1",      "meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("X2","Range Error L2",      "meters", PsLs);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("SX","Satellite ECEF-X",    "meters", EPEP);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("SY","Satellite ECEF-Y",    "meters", EPEP);
+   if(j) return j;
+   j = RegisterExtendedRinexObsType("SZ","Satellite ECEF-Z",    "meters", EPEP);
+   if(j) return j;
+   return 0;
+}
+
+//------------------------------------------------------------------------------------
+bool isSP3File(const string& file)
+{
+   SP3Header header;
+   SP3Stream strm(file.c_str());
+   strm.exceptions(fstream::failbit);
+   try { strm >> header; } catch(gpstk::Exception& e) { return false; }
+   strm.close();
+   return true;
+}
+//------------------------------------------------------------------------------------
+bool isRinexNavFile(const string& file)
+{
+   RinexNavHeader header;
+   RinexNavStream rnstream(file.c_str());
+   rnstream.exceptions(fstream::failbit);
+   try { rnstream >> header; } catch(gpstk::Exception& e) { return false; }
+   rnstream.close();
+   return true;
+}
+//------------------------------------------------------------------------------------
+bool isRinexObsFile(const string& file)
+{
+   RinexObsHeader header;
+   RinexObsStream rostream(file.c_str());
+   rostream.exceptions(fstream::failbit);
+   try { rostream >> header; } catch(gpstk::Exception& e) { return false; }
+   rostream.close();
+   return true;
+}
+//------------------------------------------------------------------------------------
+int FillEphemerisStore(const vector<string>& files, SP3EphemerisStore& PE,
+      BCEphemerisStore& BCE)
+{
+try {
+   int nread=0;
+   RinexNavHeader rnh;
+   RinexNavData rne;
+   for(int i=0; i<files.size(); i++) {
+      if(files[i].empty()) throw Exception("File name is empty");
+      RinexNavStream strm(files[i].c_str());
+      if(!strm) throw Exception("Could not open file " + files[i]);
+      strm.close();
+      if(isRinexNavFile(files[i])) {
+         RinexNavStream RNFileIn(files[i].c_str());
+         RNFileIn.exceptions(fstream::failbit);
+         try {
+            RNFileIn >> rnh;
+            //if(Verbose) {
+            //   logof << "Input Rinex Nav file header\n";
+            //   rnh.dump(logof);
+            //}
+            while (RNFileIn >> rne)
+            {
+               if(rne.health == 0)
+                  BCE.addEphemeris(rne);
+            }
+            nread++;
+         }
+         catch(gpstk::Exception& e) {
+            cerr << "Caught Exception while reading Rinex Nav file " << files[i]
+               << " :\n" << e << endl;
+            continue;
+         }
+      }
+      else if(isSP3File(files[i])) {
+         try {
+            PE.loadFile(files[i]);
+         }
+         catch(gpstk::Exception& e) {
+            cerr << "Caught Exception while reading SP3 Nav file " << files[i]
+               << " :\n" << e << endl;
+            continue;
+         }
+         nread++;
+      }
+      else throw Exception("File " + files[i] + " is neither BCE nor PE file.");
+   }
+   return nread;
+}
+catch(gpstk::Exception& e) {
+   cerr << "RinexUtilities:FillEphemerisStore caught an exception\n" << e << endl;
+   GPSTK_RETHROW(e);
+}
+catch (...) {
+   cerr << "RinexUtilities:FillEphemerisStore caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/ionosphere/RinexUtilities.hpp b/trunk/apps/ionosphere/RinexUtilities.hpp
new file mode 100644
index 0000000..9bbc647
--- /dev/null
+++ b/trunk/apps/ionosphere/RinexUtilities.hpp
@@ -0,0 +1,90 @@
+//------------------------------------------------------------------------------------
+// RinexUtilities.hpp  Several miscellaneous utilities for use with Rinex data.
+// RinexUtilities is part of the GPS Tool Kit (GPSTK) developed in the
+// Satellite Geophysics Group at Applied Research Laboratories,
+// The University of Texas at Austin (ARL:UT), and was written by Dr. Brian Tolman.
+//------------------------------------------------------------------------------------
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/Rinextools/RinexUtilities.hpp#1 $"
+
+/**
+ * @file RinexUtilities.hpp
+ * Miscellaneous utilities for use with Rinex data.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#ifndef GPSTK_RINEX_UTILITIES_INCLUDE
+#define GPSTK_RINEX_UTILITIES_INCLUDE
+
+//------------------------------------------------------------------------------------
+#include "BCEphemerisStore.hpp"
+#include "SP3EphemerisStore.hpp"
+#include "Xvt.hpp"
+
+#include <string>
+#include <vector>
+
+//------------------------------------------------------------------------------------
+/** @defgroup rinexutils Rinex Utilities */
+//@{
+   /** Register commonly used extended Rinex observation types.
+    * @return 0 ok, or the return value of RegisterExtendedRinexObsType().
+    */
+int RegisterARLUTExtendedTypes(void);
+
+   /** Determine if the given file is an SP3 format file.
+    * @param file the filename
+    * @return true if the file is SP3 format.
+    */
+bool isSP3File(const std::string& file);
+
+   /** Determine if the given file is a Rinex navigation file.
+    * @param file the filename
+    * @return true if the file is a Rinex navigation file.
+    */
+bool isRinexNavFile(const std::string& file);
+
+   /** Determine if the given file is a Rinex observation file.
+    * @param file the filename
+    * @return true if the file is a Rinex observation file.
+    */
+bool isRinexObsFile(const std::string& file);
+
+   /** Open the files and add to the appropriate EphemerisStore.
+    * @param files vector of the filenames.
+    * @param PE an SP3EphemerisStore into which to put SP3 ephemeris data.
+    * @param BCE a BCEphemerisStore into which to put broadcast
+    *    (Rinex Nav) ephemeris data.
+    * @return the number of files successfully read.
+    * Throws on errors.
+    */
+int FillEphemerisStore(const std::vector<std::string>& files,
+      gpstk::SP3EphemerisStore& PE,
+      gpstk::BCEphemerisStore& BCE);
+
+//@}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+#endif
diff --git a/trunk/apps/ionosphere/TECMaps b/trunk/apps/ionosphere/TECMaps
new file mode 100755
index 0000000..39743fa
Binary files /dev/null and b/trunk/apps/ionosphere/TECMaps differ
diff --git a/trunk/apps/ionosphere/TECMaps.cpp b/trunk/apps/ionosphere/TECMaps.cpp
new file mode 100644
index 0000000..7bd382c
--- /dev/null
+++ b/trunk/apps/ionosphere/TECMaps.cpp
@@ -0,0 +1,1482 @@
+/**
+ * @file TECMaps.cpp
+ * Program TECMaps reads a set of Rinex files containing observation types
+ *    EL, AZ, and VR or SR and fits the ionospheric vertical TEC data to a model
+ *    of the ionosphere. There are input options for the type of grid, the type of
+ *    model, and the type of data (VTEC, MUF or F0F2) to be used. TD ...
+ */
+
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/ionosphere/TECMaps.cpp#4 $"
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+#include "CommandOptionParser.hpp"
+
+#include "BCEphemerisStore.hpp"
+#include "SP3EphemerisStore.hpp"
+#include "WGS84Geoid.hpp"
+#include "Position.hpp"
+
+#include "VTECMap.hpp"
+#include "RinexUtilities.hpp"
+
+#include <time.h>
+#include <iostream>
+#include <string>
+#include <vector>
+
+//------------------------------------------------------------------------------------
+using namespace gpstk;
+using namespace std;
+
+//------------------------------------------------------------------------------------
+// input data
+bool verbose,debug;
+   // log file
+string LogFile;
+ofstream oflog;
+string Title;
+   // input path
+string InputPath;
+string Title1,Title2,BaseName,BiasFile;
+double DecorrelError,ElevThresh,MinAcqTime;
+double BeginLat,DeltaLat,BeginLon,DeltaLon;
+int NumLat,NumLon;
+VTECMap::FitType typefit;
+VTECMap::GridType typegrid;
+bool doVTECmap,doMUFmap,doF0F2map;
+Station refSite;
+string KnownPos;         // string holding position x,y,z or l,l,h
+bool KnownLLH;           // if true, KnownPos is l,l,h
+bool GridOut;            // if true, write grid to file 'basename.LL'
+bool GnuplotFormat;      // if true, write grid in format for gnuplot
+   // excluded satellites
+vector<RinexPrn> ExSV;
+   // ephemeris
+string NavDir;
+vector<string> NavFiles;
+SP3EphemerisStore SP3EphList;
+BCEphemerisStore BCEphList;
+EphemerisStore *pEph;
+   // obs types needed
+RinexObsHeader::RinexObsType ELot,AZot,VRot,SRot,TPot;
+RinexObsHeader::RinexObsType LAot,LOot;      // TEMP
+   // geoid
+WGS84Geoid WGS84;
+   // Start and stop times
+DayTime BegTime(DayTime::BEGINNING_OF_TIME),EndTime(DayTime::END_OF_TIME);
+   // processing
+double IonoHt;
+DayTime EarliestTime;
+VTECMap vtecmap;
+MUFMap mufmap;
+F0F2Map f0f2map;
+   // map of input sat+rx biases
+map<string,map<RinexPrn,double> > BiasMap;
+   // Data structures for all receivers
+vector<Station> Stations;
+RinexObsStream *instream; // array of streams, parallell to Stations
+
+//------------------------------------------------------------------------------------
+// prototypes
+void ConfigureAndDefaults(void);
+int GetCommandLine(int argc, char **argv);
+void PreProcessArgs(const char *arg, vector<string>& Args);
+int Initialize(void);
+int ProcessStations(void);
+void ProcessObsAndComputeMap(void);
+void OutputGridToFile(VTECMap& vmap, string filename);
+void OutputMapToFile(VTECMap& vtmap, string filename, DayTime t, int n);
+void AddStation(string& filename);
+int ProcessHeader(Station& S);
+int ReadNextObs(Station& S);
+int ProcessObs(Station& S, vector<ObsData>& obsvect);
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+   int iret;
+   clock_t totaltime=clock(); // timer
+   DayTime CurrEpoch;
+
+      // Title description and run time
+   CurrEpoch.setLocalTime();
+   Title = "TECMaps, built on the GPSTK ToolKit, Ver 1.0 8/12/04, Run ";
+   Title += CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S\n");
+   cout << Title;
+
+      // define extended types
+   iret = RegisterARLUTExtendedTypes();
+   if(iret) goto quit;
+   iret = RegisterExtendedRinexObsType("TP","Acquisition time","seconds", 0);
+   if(iret) goto quit;
+
+      // set configuration and default values
+   ConfigureAndDefaults();
+
+      // get command line arguments
+   iret = GetCommandLine(argc, argv);
+   if(iret) goto quit;
+
+      // initialize
+   iret = Initialize();
+   if(iret) goto quit;
+
+      // make the grid
+   if(doVTECmap) {
+      vtecmap.MakeGrid(refSite);
+      if(GridOut) OutputGridToFile(vtecmap, BaseName+string(".LL"));
+   }
+   if(doMUFmap) {
+      mufmap.MakeGrid(refSite);
+      if(GridOut) OutputGridToFile(mufmap, BaseName+string(".MUF.LL"));
+   }
+   if(doF0F2map) {
+      f0f2map.MakeGrid(refSite);
+      if(GridOut) OutputGridToFile(f0f2map, BaseName+string(".F0F2.LL"));
+   }
+
+      // process the headers, filling the Stations array
+   iret = ProcessStations();
+   if(iret) goto quit;
+
+      // process the all the observation data
+   ProcessObsAndComputeMap();
+
+quit:
+      // compute run time
+   totaltime = clock()-totaltime;
+   cout << "TECMaps timing: " << fixed << setprecision(3)
+      << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+   oflog << "TECMaps timing: " << fixed << setprecision(3)
+      << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+   oflog.close();
+
+   return iret;
+}
+catch(gpstk::Exception& e) {
+   cerr << e;
+   return 1;
+}
+catch (...) {
+   cerr << "Unknown error.  Abort." << endl;
+   return 1;
+}
+   return 0;
+}   // end main()
+
+//------------------------------------------------------------------------------------
+// set defaults
+void ConfigureAndDefaults(void)
+{
+   Title1=string("TECMaps main title");
+   Title2=string("TECMaps sub title");
+   BaseName=string("tecmap_out");
+   DecorrelError = 3.0;
+   BiasFile = string("");
+   ElevThresh = 10.0;
+   MinAcqTime = 0.0;
+   BeginLat = 21.0;
+   DeltaLat = 0.25;
+   BeginLon = 230;
+   DeltaLon = 1.0;
+   NumLat = 40;
+   NumLon = 40;
+   typefit = VTECMap::Constant;
+   typegrid = VTECMap::UniformLatLon;
+   doVTECmap = true;
+   doMUFmap = false;
+   doF0F2map = false;
+   LogFile = string("vtm.log");
+   IonoHt = 350.0;         // km
+   verbose = false;
+   debug = false;
+   KnownPos = string("");
+   GridOut = false;
+   GnuplotFormat = false;
+}
+
+//------------------------------------------------------------------------------------
+// Define, parse and evaluate command line
+int GetCommandLine(int argc, char **argv)
+{
+try {
+   bool help=false;
+   int i,j;
+   RinexPrn prn;
+   prn.setfill('0');
+
+      // required options
+
+   RequiredOption dashin(CommandOption::hasArgument, CommandOption::stdType,
+      0,"input"," --input <file>       Input Rinex obs file name(s)"
+                "                    \n(Reference site position also required)"
+      );
+   //dashin.setMaxCount(1);
+
+      // optional options
+
+   // this only so it will show up in help page...
+   CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+      'f',""," -f<file>             file containing more options");
+
+   // reference position(s)
+   CommandOption dashllh(CommandOption::hasArgument, CommandOption::stdType,0,"RxLLH",
+     "Reference station position (one required):\n"
+     " --RxLLH <l,l,h>      Reference site position in geodetic"
+     " lat, lon (E), ht (deg,deg,m)");
+   dashllh.setMaxCount(1);
+
+   CommandOption dashxyz(CommandOption::hasArgument, CommandOption::stdType,0,"RxXYZ",
+      " --RxXYZ <x,y,z>      Reference site position in ECEF coordinates (m)");
+   dashxyz.setMaxCount(1);
+
+      // require one only
+   CommandOptionMutex refmutex(true);
+   refmutex.addOption(&dashllh);
+   refmutex.addOption(&dashxyz);
+
+   CommandOption dashp(CommandOption::hasArgument, CommandOption::stdType,
+      0,"inputdir"," --inputdir <path>    Path for input file(s)");
+   dashp.setMaxCount(1);
+
+   // ephemeris
+   CommandOption dashnd(CommandOption::hasArgument, CommandOption::stdType, 0,
+      "navdir","Ephemeris input:\n --navdir <dir>       Path of navigation file(s)");
+   dashnd.setMaxCount(1);
+
+   CommandOption dashn(CommandOption::hasArgument, CommandOption::stdType,
+      0,"nav"," --nav <file>         Navigation (Rinex Nav OR SP3) file(s)");
+
+   CommandOption dashl(CommandOption::hasArgument, CommandOption::stdType,
+      0,"log","Output:\n --log <file>         Output log file name");
+   dashl.setMaxCount(1);
+   
+   // time
+   CommandOptionWithTimeArg dasheb(0,"BeginTime","%Y,%m,%d,%H,%M,%f",
+      "Time limits:\n --BeginTime <arg>    Start time, arg is of the form "
+      "YYYY,MM,DD,HH,Min,Sec");
+   CommandOptionWithTimeArg dashgb(0,"BeginGPSTime","%F,%g",
+      " --BeginGPSTime <arg> Start time, arg is of the form GPSweek,GPSsow");
+
+   CommandOptionWithTimeArg dashee(0,"EndTime","%Y,%m,%d,%H,%M,%f",
+      " --EndTime <arg>      End time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+   CommandOptionWithTimeArg dashge(0,"EndGPSTime","%F,%g",
+      " --EndGPSTime <arg>   End time, arg is of the form GPSweek,GPSsow");
+
+   // allow ONLY one start time (use startmutex(true) if one is required)
+   CommandOptionMutex startmutex(false);
+   startmutex.addOption(&dasheb);
+   startmutex.addOption(&dashgb);
+   CommandOptionMutex stopmutex(false);
+   stopmutex.addOption(&dashee);
+   stopmutex.addOption(&dashge);
+
+   CommandOptionNoArg dashVmap(0, "MUFmap","Processing:\n"
+      " --noVTECmap          Do NOT create the VTEC map.");
+
+   CommandOptionNoArg dashMUF(0, "MUFmap",
+      " --MUFmap             Create MUF map as well as VTEC map.");
+
+   CommandOptionNoArg dashF0F2(0, "F0F2map",
+      " --F0F2map            Create F0F2 map as well as VTEC map.");
+
+   CommandOption dashTitle1(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Title1"," --Title1 <title>     Title information");
+   dashTitle1.setMaxCount(1);
+
+   CommandOption dashTitle2(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Title2", " --Title2 <title>     Second title information");
+   dashTitle2.setMaxCount(1);
+
+   CommandOption dashBaseName(CommandOption::hasArgument, CommandOption::stdType,
+      0,"BaseName", " --BaseName <name>    Base name for output files (a)");
+   dashBaseName.setMaxCount(1);
+
+   CommandOption dashDecor(CommandOption::hasArgument, CommandOption::stdType,
+      0,"DecorrError",
+      " --DecorrError <de>   Decorrelation error rate in TECU/1000km (3)");
+   dashDecor.setMaxCount(1);
+
+   CommandOption dashBiases(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Biases", " --Biases <file>      "
+      "File containing estimated sat+rx biases (Prgm IonoBias)");
+   dashBiases.setMaxCount(1);
+
+   CommandOption dashElevThresh(CommandOption::hasArgument, CommandOption::stdType,
+      0,"ElevThresh", " --ElevThresh <ele>   Minimum elevation (6 deg)");
+   dashElevThresh.setMaxCount(1);
+
+   CommandOption dashMinAcqTime(CommandOption::hasArgument, CommandOption::stdType,
+      0,"MinAcqTime", " --MinAcqTime <t>     Minimum acquisition time (0 sec)");
+   dashMinAcqTime.setMaxCount(1);
+
+   CommandOptionNoArg dashFlatFit(
+      0, "FlatFit", " --FlatFit            Flat fit type (default)");
+
+   CommandOptionNoArg dashLinearFit(
+      0, "LinearFit", " --LinearFit          Linear fit type");
+
+   CommandOption dashIonoHt(CommandOption::hasArgument, CommandOption::stdType,
+      0,"IonoHeight", " --IonoHeight <n>     Ionosphere height (km)");
+   dashIonoHt.setMaxCount(1);
+
+   CommandOptionNoArg dashUniSpace(0, "UniformSpacing",
+      "Grid:\n --UniformSpacing     Grid uniform in space (XYZ) (default)");
+
+   CommandOptionNoArg dashUniGrid(0, "UniformGrid",
+      " --UniformGrid        Grid uniform in Lat and Lon");
+
+   CommandOptionNoArg dashOutGrid(
+      0, "OutputGrid", " --OutputGrid         Output the grid to file <basename.LL>");
+
+   CommandOptionNoArg dashGnuOut(
+      0, "GnuplotOutput", " --GnuplotOutput      Write the grid file for gnuplot"
+      " (default: for Matlab)");
+
+   CommandOption dashNumLat(CommandOption::hasArgument, CommandOption::stdType,
+      0,"NumLat", " --NumLat <n>         Number of latitude grid points (40)");
+   dashNumLat.setMaxCount(1);
+
+   CommandOption dashNumLon(CommandOption::hasArgument, CommandOption::stdType,
+      0,"NumLon", " --NumLon <n>         Number of longitude grid points (40)");
+   dashNumLon.setMaxCount(1);
+
+   CommandOption dashBeginLat(CommandOption::hasArgument, CommandOption::stdType,
+      0,"BeginLat", " --BeginLat <lat>     Beginning latitude (21 deg)");
+   dashBeginLat.setMaxCount(1);
+
+   CommandOption dashBeginLon(CommandOption::hasArgument, CommandOption::stdType,
+      0,"BeginLon", " --BeginLon <lon>     Beginning longitude (230 deg E)");
+   dashBeginLon.setMaxCount(1);
+
+   CommandOption dashDeltaLat(CommandOption::hasArgument, CommandOption::stdType,
+      0,"DeltaLat", " --DeltaLat <del>     Grid spacing in latitude (0.25 deg)");
+   dashDeltaLat.setMaxCount(1);
+
+   CommandOption dashDeltaLon(CommandOption::hasArgument, CommandOption::stdType,
+      0,"DeltaLon", " --DeltaLon <del>     Grid spacing in longitude (1.0 deg)");
+   dashDeltaLon.setMaxCount(1);
+
+   CommandOption dashXprn(CommandOption::hasArgument, CommandOption::stdType,
+      '0', "XSat", "Other options:\n --XSat <sat>         Exclude this satellite "
+      "(<sat> may be <system> only)");
+   
+   // ... other options
+   CommandOptionNoArg dashv('v', "verbose",
+         "Help:\n [-v|--verbose]       print extended output info.");
+
+   CommandOptionNoArg dashd('d', "debug",
+         " [-d|--debug]         print extended output info.");
+
+   CommandOptionNoArg dashh('h', "help",
+         " [-h|--help]          print syntax and summary of input, then quit.");
+
+   // ... rest of the command line
+   CommandOptionRest Rest("");
+
+   CommandOptionParser Par(
+      " Prgm TECMaps will open and read several preprocessed Rinex obs files\n"
+      " (containing obs types EL,AZ,VR|SR) and use the data to ...\n"
+      " Input is on the command line, or of the same format in a file (-f<file>).\n");
+
+   // allow user to put all options in a file
+   // could also scan for debug here
+   vector<string> Args;
+   for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args);
+   argc = Args.size();
+   if(argc==0) Args.push_back(string("-h"));
+
+      // pass the rest
+   argc = Args.size()+1;
+   char **CArgs=new char*[argc];
+   if(!CArgs) { cerr << "Failed to allocate CArgs\n"; return -1; }
+   CArgs[0] = argv[0];
+   for(j=1; j<argc; j++) {
+      CArgs[j] = new char[Args[j-1].size()+1];
+      if(!CArgs[j]) { cerr << "Failed to allocate CArgs[j]\n"; return -1; }
+      strcpy(CArgs[j],Args[j-1].c_str());
+   }
+
+   //if(debug) {
+      //cout << "List passed to parse\n";
+      //for(i=0; i<argc; i++) cout << i << " " << CArgs[i] << endl;
+   //}
+   Par.parseOptions(argc, CArgs);
+
+   // help first
+   if(dashh.getCount() > 0) {
+      help = true;
+   }
+
+   // get values found on command line
+   vector<string> values;
+
+   // log file next
+   if(dashl.getCount()) {
+      values = dashl.getValue();
+      if(help) cout << "Input name of output log file: " << values[0] << endl;
+      LogFile = values[0];
+   }
+   oflog.open(LogFile.c_str(),ios_base::out);
+   if(!oflog) {
+      cerr << "Failed to open log file " << LogFile << endl;
+      return -1;
+   }
+   cout << "TECMaps output directed to log file " << LogFile << endl;
+   oflog << Title;
+
+   // print syntax
+   if(help) {
+      Par.displayUsage(oflog,false); oflog << endl;
+      Par.displayUsage(cout,false); cout << endl;
+   }
+
+   // errors on command line
+   if(Par.hasErrors())
+   {
+      cerr << "\nErrors found in command line input:\n";
+      Par.dumpErrors(cerr);
+      cerr << "...end of Errors\n\n";
+      oflog << "\nErrors found in command line input:\n";
+      Par.dumpErrors(oflog);
+      oflog << "...end of Errors\n\n";
+      help = true;
+   }
+   
+      // f never appears because we intercept it above
+   //if(dashf.getCount()) { cout << "Option f "; dashf.dumpValue(cout); }
+ 
+      // input path; do path before input file names
+   if(dashp.getCount()) {
+      values = dashp.getValue();
+      if(help) cout << "Input path name: " << values[0] << endl;
+      InputPath = values[0];
+   }
+   else InputPath = string("");
+
+      // input file names -- create vector of Station here
+   if(dashin.getCount()) {
+      values = dashin.getValue();
+      if(help) cout << "Input Rinex obs file names are:\n";
+      string::size_type pos;
+      string fname;
+      for(i=0; i<values.size(); i++) {
+         fname = values[i];
+         // expand filenames of the form @name or name@
+         // into the *contents* (one name per line) of file 'name'.
+         pos = fname.find('@');
+         if(pos == string::npos || (pos != 0 && pos != fname.length()-1)) {
+               // value is a Rinex file name
+            if(InputPath.size() > 0) { fname = InputPath + "/" + fname; }
+            AddStation(fname);
+            if(help) cout << "   " << fname << endl;
+         }
+         else {                 // value is a file containing Rinex file names
+            fname.erase(pos,1);
+            if(InputPath.size() > 0) { fname = InputPath + "/" + fname; }
+            if(help) cout << "   " << "(Open and read file names from: "
+               << fname << ")" << endl;
+            ifstream infile(fname.c_str());
+            if(!infile) {
+               oflog << "Error: could not open file " << fname << endl;
+            }
+            else {
+               while(infile >> fname) {
+                  if(fname[0] == '#') {         // skip to end of line
+                     char c;
+                     while(infile.get(c)) { if(c=='\n') break; }
+                  }
+                  else {
+                     AddStation(fname);
+                     if(debug) oflog << "   " << fname << endl;
+                  }
+               }  // end loop over lines in the file
+               infile.close();
+            }  // end opened file
+         }  // end if value is a file containing file names
+      }  // end loop over values on command line
+   }  // end dashin
+
+   // reference position
+   if(dashllh.getCount()) {
+      values = dashllh.getValue();
+      KnownPos = values[0];
+      KnownLLH = true;
+      if(help) cout << "Get reference position from explicit input (LLH):\n "
+         << KnownPos << endl;
+   }
+   if(dashxyz.getCount()) {
+      values = dashxyz.getValue();
+      KnownPos = values[0];
+      KnownLLH = false;
+      if(help) cout << "Get reference position from explicit input (XYZ):\n "
+         << KnownPos << endl;
+   }
+
+   if(KnownPos != string("")) {
+      ECEF e;
+      string::size_type pos;
+      values.clear();
+      while(KnownPos.size() > 0) {
+         pos = KnownPos.find(",");
+         if(pos==string::npos) pos=KnownPos.size();
+         if(pos==0) values.push_back(" ");
+         else values.push_back(KnownPos.substr(0,pos));
+         if(pos >= KnownPos.size()) break;
+         KnownPos.erase(0,pos+1);
+      };
+      refSite.filename = string("reference");
+      if(values.size() > 3) refSite.filename=values[3];
+      if(KnownLLH) {
+         refSite.llr.setGeodetic(StringUtils::asDouble(values[0]),
+                                 StringUtils::asDouble(values[1]),
+                                 StringUtils::asDouble(values[2])); //WGS84 is default
+         refSite.xyz = refSite.llr;
+         try {
+            refSite.llr.transformTo(Position::Geocentric);
+            refSite.xyz.transformTo(Position::Cartesian);
+         }
+         catch(Exception& e) {
+            cerr << "ERROR: Reference site input (geodetic LLH) is invalid\n";
+            oflog << "ERROR: Reference site input (geodetic LLH) is invalid\n";
+            return -2;
+         }
+      }
+      else {
+         refSite.xyz.setECEF(StringUtils::asDouble(values[0]),
+                             StringUtils::asDouble(values[1]),
+                             StringUtils::asDouble(values[2]));
+         refSite.llr = refSite.xyz;
+         refSite.llr.transformTo(Position::Geocentric);
+      }
+   }
+
+   // ephemeris input
+   if(dashnd.getCount()) {
+      values = dashnd.getValue();
+      NavDir = values[0];
+      if(help) cout << "Input Nav Directory: " << NavDir  << endl;
+   }
+   if(dashn.getCount()) {
+      values = dashn.getValue();
+      NavFiles = values;
+      if(help) {
+         cout << "Input Nav files :";
+         for(i=0; i<NavFiles.size(); i++) cout << " " << NavFiles[i];
+         cout << endl;
+      }
+   }
+
+   if(dasheb.getCount()) {
+      values = dasheb.getValue();
+      BegTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+      if(help) cout << "Input BeginTime " << BegTime << endl;
+   }
+   if(dashee.getCount()) {
+      values = dashee.getValue();
+      EndTime.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+      if(help) cout << "Input EndTime " << EndTime << endl;
+   }
+   if(dashgb.getCount()) {
+      values = dashgb.getValue();
+      BegTime.setToString(values[0], "%F,%g");
+      if(help) cout << "Input BeginGPSTime " << BegTime << endl;
+   }
+   if(dashge.getCount()) {
+      values = dashge.getValue();
+      EndTime.setToString(values[0], "%F,%g");
+      if(help) cout << "Input EndGPSTime " << EndTime << endl;
+   }
+      // processing
+   if(dashVmap.getCount()) {
+      doVTECmap = false;
+      if(help) cout << "Do NOT create VTEC map" << endl;
+   }
+   if(dashMUF.getCount()) {
+      doMUFmap = true;
+      if(help) cout << "Create MUF map" << endl;
+   }
+   if(dashF0F2.getCount()) {
+      doF0F2map = true;
+      if(help) cout << "Create F0F2 map" << endl;
+   }
+   if(dashTitle1.getCount()) {
+      values = dashTitle1.getValue();
+      Title1 = values[0];
+      if(help) cout << "Primary Title is " << Title1 << endl;
+   }
+   if(dashTitle2.getCount()) {
+      values = dashTitle2.getValue();
+      Title2 = values[0];
+      if(help) cout << "Secondary Title is " << Title2 << endl;
+   }
+   if(dashBaseName.getCount()) {
+      values = dashBaseName.getValue();
+      BaseName = values[0];
+      if(help) cout << "Base name for output files is " << BaseName << endl;
+   }
+   if(dashDecor.getCount()) {
+      values = dashDecor.getValue();
+      DecorrelError = StringUtils::asDouble(values[0]);
+      if(help) cout << "Decorrelation error rate (TECU/1000km) is "
+         << DecorrelError << endl;
+   }
+   if(dashNumLat.getCount()) {
+      values = dashNumLat.getValue();
+      NumLat = StringUtils::asInt(values[0]);
+      if(help) cout << "Number of latitude grid points is " << NumLat << endl;
+   }
+   if(dashNumLon.getCount()) {
+      values = dashNumLon.getValue();
+      NumLon = StringUtils::asInt(values[0]);
+      if(help) cout << "Number of longitude grid points is " << NumLon << endl;
+   }
+   if(dashBiases.getCount()) {
+      values = dashBiases.getValue();
+      BiasFile = values[0];
+      if(help) cout << "Input sat+rx biases from file " << BiasFile << endl;
+   }
+   if(dashElevThresh.getCount()) {
+      values = dashElevThresh.getValue();
+      ElevThresh = StringUtils::asDouble(values[0]);
+      if(help) cout << "Minimum elevation (deg) is " << ElevThresh << endl;
+   }
+   if(dashMinAcqTime.getCount()) {
+      values = dashMinAcqTime.getValue();
+      MinAcqTime = StringUtils::asDouble(values[0]);
+      if(help) cout << "Minimum acquisition time (sec) is " << MinAcqTime << endl;
+   }
+   if(dashBeginLat.getCount()) {
+      values = dashBeginLat.getValue();
+      BeginLat = StringUtils::asDouble(values[0]);
+      if(help) cout << "Beginning latitude (deg) is " << BeginLat << endl;
+   }
+   if(dashBeginLon.getCount()) {
+      values = dashBeginLon.getValue();
+      BeginLon = StringUtils::asDouble(values[0]);
+      if(help) cout << "Beginning longitude (deg E) is " << BeginLon << endl;
+   }
+   if(dashDeltaLat.getCount()) {
+      values = dashDeltaLat.getValue();
+      DeltaLat = StringUtils::asDouble(values[0]);
+      if(help) cout << "Grid step in latitude (deg) is " << DeltaLat << endl;
+   }
+   if(dashDeltaLon.getCount()) {
+      values = dashDeltaLon.getValue();
+      DeltaLon = StringUtils::asDouble(values[0]);
+      if(help) cout << "Grid step in longitude (deg) is " << DeltaLon << endl;
+   }
+   if(dashUniSpace.getCount()) {
+      typegrid = VTECMap::UniformSpace;
+      if(help) cout << "Grid type is set to 'uniform spacing': " << typegrid << endl;
+   }
+   if(dashUniGrid.getCount()) {
+      typegrid = VTECMap::UniformLatLon;
+      if(help) cout << "Grid type is set to uniform: " << typegrid << endl;
+   }
+   if(dashOutGrid.getCount()) {
+      GridOut = true;
+      if(help) cout << "Output grid to file " << BaseName << ".LL" << endl;
+   }
+   if(dashGnuOut.getCount()) {
+      GnuplotFormat = true;
+      if(help) cout << "Output grid in gnuplot format" << endl;
+   }
+   if(dashFlatFit.getCount()) {
+      typefit = VTECMap::Constant;
+      if(help) cout << "Set fit type to FLAT" << endl;
+   }
+   if(dashLinearFit.getCount()) {
+      typefit = VTECMap::Linear;
+      if(help) cout << "Set fit type to LINEAR" << endl;
+   }
+   if(dashIonoHt.getCount()) {
+      values = dashIonoHt.getValue();
+      IonoHt = StringUtils::asDouble(values[0]);
+      if(help) cout << "Ionosphere height = " << IonoHt << " km" << endl;
+   }
+   if(dashXprn.getCount()) {
+      values = dashXprn.getValue();
+      for(i=0; i<values.size(); i++) {
+         prn = StringUtils::asData<RinexPrn>(values[i]);
+         if(help) cout << "Input: exclude satellite " << prn << endl;
+         ExSV.push_back(prn);
+      }
+   }
+
+   if(dashh.getCount())
+      oflog << "Option h appears " << dashh.getCount() << " times\n";
+   if(dashv.getCount()) {
+      verbose = true;
+      if(help) cout << "Option v appears " << dashv.getCount() << " times\n";
+   }
+   if(dashd.getCount()) {
+      debug = true;
+      if(help) cout << "Option d appears " << dashd.getCount() << " times\n";
+   }
+
+   if(Rest.getCount() && help) {
+      cout << "Remaining options:" << endl;
+      values = Rest.getValue();
+      for (i=0; i<values.size(); i++) cout << values[i] << endl;
+   }
+   if(verbose && help) {
+      cout << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+      for(j=0; j<Args.size(); j++) cout << Args[j] << endl;
+      cout << endl;
+   }
+   if(help) cout << "Configuration summarized in log file\n";
+
+      // print configuration
+   if(verbose || help || debug) {
+      oflog << "\nInput configuration for TECMaps:\n";
+      if(!InputPath.empty()) oflog << " Path for input files is "
+         << InputPath << endl;
+      oflog << " Input Rinex obs file names are:\n";
+      for(i=0; i<Stations.size(); i++)
+         oflog << "   " << Stations[i].filename << endl;
+      if(!NavDir.empty()) oflog << " Path for input nav files is "
+         << NavDir  << endl;
+      if(NavFiles.size() > 0) {
+         oflog << " Input Rinex nav file names are:\n";
+         for(i=0; i<NavFiles.size(); i++)
+            oflog << "   " << NavFiles[i] << endl;
+      }
+      if(BegTime > DayTime::BEGINNING_OF_TIME) oflog << " Begin time is "
+         << BegTime.printf("%Y/%m/%d_%H:%M:%6.3f=%F/%10.3g") << endl;
+      if(EndTime < DayTime::END_OF_TIME) oflog << " End   time is "
+         << EndTime.printf("%Y/%m/%d_%H:%M:%6.3f=%F/%10.3g") << endl;
+      oflog << " Processing:\n";
+      oflog << "  Primary Title is " << Title1 << endl;
+      oflog << "  Secondary Title is " << Title2 << endl;
+      oflog << "  Reference " << refSite << endl;
+      oflog << "  Do " << (doVTECmap ? "":"not ") << "create VTEC map\n";
+      oflog << "  Do " << (doMUFmap ? "":"not ") << "create MUF map\n";
+      oflog << "  Do " << (doF0F2map ? "":"not ") << "create F0F2 map\n";
+      oflog << "  Grid type is "
+         << (typegrid == VTECMap::UniformLatLon ? "Uniform " : "Uniform Space ")
+         << typegrid << endl;
+      oflog << "  Beginning latitude (deg) is " << BeginLat << endl;
+      oflog << "  Beginning longitude (deg E) is " << BeginLon << endl;
+      oflog << "  Number of latitude grid points is " << NumLat << endl;
+      oflog << "  Number of latitude grid points is " << NumLat << endl;
+      oflog << "  Grid step in latitude (deg) is " << DeltaLat << endl;
+      oflog << "  Grid step in longitude (deg) is " << DeltaLon << endl;
+      oflog << "  Minimum elevation (deg) is " << ElevThresh << endl;
+      oflog << "  Minimum acquisition time (sec) is " << MinAcqTime << endl;
+      if(BiasFile.length() > 0)
+         oflog << "  Receiver biases input from file " << BiasFile << endl;
+      else
+         oflog << "  Do not input sat+rx biases" << endl;
+      oflog << "  Decorrelation error rate (TECU/1000km) is " << DecorrelError
+         << endl;
+      oflog << "  Ionosphere height = " << IonoHt << " km" << endl;
+      oflog << "  Base name for output files is " << BaseName << endl;
+      cout << (GridOut ? "O":"Do NOT o") << "utput grid in file named " <<
+         BaseName << ".LL" << endl;
+      if(GridOut) cout << "Output grid in " << (GnuplotFormat ? "gnuplot" : "Matlab")
+         << " format" << endl;
+      if(ExSV.size() > 0) {
+         oflog << "  Exclude these satellites:";
+         for(i=0; i<ExSV.size(); i++) oflog << " " << ExSV[i];
+         oflog << endl;
+      }
+      if(help) oflog << "  Help (-h) is set\n";
+      if(debug) oflog << "  Debug (-d) is set\n";
+      oflog << "End of input configuration for TECMaps" << endl << endl;
+   }
+
+   if(help) return 1;
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+      cerr << "TECMaps:GetCommandLine caught an exception\n" << e;
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      cerr << "TECMaps:GetCommandLine caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PreProcessArgs(const char *arg, vector<string>& Args)
+{
+   if(arg[0]=='-' && arg[1]=='f') {
+      string filename(arg);
+      filename.erase(0,2);
+      //cout << "Found a file of options: " << filename << endl;
+      ifstream infile(filename.c_str());
+      if(!infile) {
+         cerr << "Error: could not open options file "
+            << filename << endl;
+      }
+      else {
+         char c;
+         string buffer;
+         while(infile >> buffer) {
+            if(buffer[0] == '#') {         // skip to end of line
+               while(infile.get(c)) { if(c=='\n') break; }
+            }
+            else if(buffer[0] == '"') {    // read to next "
+               buffer.erase(0,1);
+               buffer += ' ';
+               while(infile.get(c)) {
+                  if(c=='"') {
+                     PreProcessArgs(buffer.c_str(),Args);
+                     break;
+                  }
+                  else {
+                     buffer += c;
+                  }
+               }
+            }
+            else PreProcessArgs(buffer.c_str(),Args);
+         }
+      }
+   }
+   else if((arg[0]=='-' && arg[1]=='d') || string(arg)==string("--debug")) {
+      debug = true;
+      //cout << "Found the debug switch" << endl;
+   }
+   else if((arg[0]=='-' && arg[1]=='v') || string(arg)==string("--verbose")) {
+      verbose = true;
+      //cout << "Found the verbose switch" << endl;
+   }
+   else Args.push_back(arg);
+}
+
+//------------------------------------------------------------------------------------
+int Initialize(void)
+{
+try {
+      // open nav files and read EphemerisStore
+   if(!NavDir.empty())
+      for(int i=0; i<NavFiles.size(); i++)
+         NavFiles[i] = NavDir + "/" + NavFiles[i];
+   FillEphemerisStore(NavFiles, SP3EphList, BCEphList);
+   if(SP3EphList.size()) {
+      if(verbose) SP3EphList.dump(0,oflog);
+   }
+   else if(verbose) oflog << "SP3 Ephemeris list is empty\n";
+
+   if(BCEphList.size()) {
+      BCEphList.SearchNear();
+      if(verbose) BCEphList.dump(0,oflog);
+   }
+   else if(verbose) oflog << "BC Ephemeris list is empty\n";
+
+   if(SP3EphList.size()) pEph = &SP3EphList;
+   else if(BCEphList.size()) pEph = &BCEphList;
+   else {
+      cerr << "TECMaps abort -- no ephemeris\n";
+      oflog << "TECMaps abort -- no ephemeris\n";
+      return -1;
+   }
+
+      // read the sat+rx biases file and build the map
+   if(BiasFile.length() > 0) {
+      ifstream inf(BiasFile.c_str());
+      if(!inf) {
+         cerr << "Error: could not open biases file " << BiasFile << endl;
+         oflog << "Error: could not open biases file " << BiasFile << endl;
+         return -1;
+      }
+      else {
+         int nbiases,n=0;
+         double bias;
+         RinexPrn sat;
+         string line,station;
+         vector<string> words;
+         while(!inf.eof() && inf.good()) {
+            {        // parse line into words
+               istringstream iss(line);
+               string wd;
+               words.clear();
+               while(iss >> wd) { words.push_back(wd); }
+            }
+            while(1) {
+               if(words.size() != 5) break;
+               if(debug) {
+                  oflog << "Biases file:";
+                  for(int i=0; i<words.size(); i++) oflog << " " << words[i];
+                  oflog << endl;
+               }
+               if(words[0] == string("IonoBias,")) break;
+               if(words[1] == string("Number")) {
+                  nbiases = StringUtils::asInt(words[0]);
+                  break;
+               }
+               station = words[1];
+               sat = StringUtils::asData<RinexPrn>(words[2]);
+               bias = StringUtils::asDouble(words[3]);
+               BiasMap[station][sat] = bias;
+               n++;
+               break;
+            }
+            getline(inf,line);
+         }
+         inf.close();
+         if(verbose) {
+            oflog << "Read sat+rx biases file " << BiasFile << ":" << endl;
+            oflog << " Expected " << nbiases << " biases, read " << n << "." << endl;
+            oflog << " Here is the biases map:" << endl;
+            map<string,map<RinexPrn,double> >::const_iterator it;
+            map<RinexPrn,double>::const_iterator jt;
+            for(it=BiasMap.begin(); it!=BiasMap.end(); it++) {
+               for(jt=it->second.begin(); jt!=it->second.end(); jt++) {
+                  oflog << "  " << it->first
+                     << " " << jt->first
+                     << " " << setw(12) << setprecision(6) << jt->second << endl;
+               }
+            }
+         }
+      }
+   }
+
+      // create the obs types for later use
+   ELot = RinexObsHeader::convertObsType("EL");
+   AZot = RinexObsHeader::convertObsType("AZ");
+   LAot = RinexObsHeader::convertObsType("LA"); // TEMP
+   LOot = RinexObsHeader::convertObsType("LO"); // TEMP
+   SRot = RinexObsHeader::convertObsType("SR");
+   VRot = RinexObsHeader::convertObsType("VR");
+   TPot = RinexObsHeader::convertObsType("TP");
+
+      // initialize the map(s)
+      // set parameters
+   vtecmap.Decorrelation = DecorrelError;
+   vtecmap.MinElevation = ElevThresh;
+   vtecmap.IonoHeight = IonoHt*1000;
+   vtecmap.gridtype = typegrid;
+   vtecmap.fittype = typefit;
+   vtecmap.BeginLat = BeginLat;
+   vtecmap.DeltaLat = DeltaLat;
+   vtecmap.NumLat = NumLat;
+   vtecmap.BeginLon = BeginLon;
+   vtecmap.DeltaLon = DeltaLon;
+   vtecmap.NumLon = NumLon;
+   if(doMUFmap) mufmap.CopyInputData(vtecmap);
+   if(doF0F2map) f0f2map.CopyInputData(vtecmap);
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+   cerr << "TECMaps:Initialize caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok,
+//       -1 could not allocate array of RinexObsStream
+//       -2 could not open a file,
+//       -3 FFStream exception,
+//       -4 gpstk exception,
+int ProcessStations(void)
+{
+try {
+   int iret,nfile;
+
+   if(verbose) oflog << "\nProcess " << Stations.size()
+      << " input files / Stations:\n";
+
+      // create vector of RinexObsStream for use by the files
+   instream = new RinexObsStream[Stations.size()];
+   if(!instream) {
+      oflog << " ERROR: Array of " << Stations.size()
+         << " RinexObsStream's could not be allocated\n";
+      return -1;
+   }
+
+      // loop over input file names
+      // open and read header, define entry in Stations array
+   for(nfile=0; nfile<Stations.size(); nfile++) {
+      instream[nfile].open(Stations[nfile].filename.c_str(),ios_base::in);
+      if(!instream[nfile]) {
+         oflog << " Rinex file " << Stations[nfile].filename
+            << " could not be opened -- abort.\n";
+         Stations[nfile].nfile = -1;
+         Stations[nfile].nread = -1;
+         Stations[nfile].getNext = false;
+         return -2;
+      }
+      oflog << "\nInput file #" << nfile+1 << ": "
+         << Stations[nfile].filename << endl;
+
+      instream[nfile].exceptions(ios::failbit);
+      Stations[nfile].nfile = nfile;
+      Stations[nfile].getNext = true;
+
+      iret = ProcessHeader(Stations[nfile]);
+      if(iret != 0) return iret;
+
+   }  // end loop over file names -> stations
+   oflog << "\nEnd of loop over stations to read headers.\n\n";
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+   cerr << "TECMaps:ProcessStations caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+catch(...) {
+   cerr << "TECMaps:ProcessStations caught an unknown exception\n";
+   return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+void ProcessObsAndComputeMap(void)
+{
+try {
+   int iret,nfile,ngood,nepochs=0;
+   vector<ObsData> AllObs; // ObsData vector, passed into ProcessObs and Compute
+
+      // loop over all epochs in all files
+   do {
+         // read the data for the next (earliest in future) observation epoch
+      EarliestTime = DayTime(DayTime::END_OF_TIME);
+      for(nfile=0; nfile<Stations.size(); nfile++) {
+         iret = ReadNextObs(Stations[nfile]);
+         if(iret < 0) {            // set file 'inactive'
+            Stations[nfile].nread = -1;
+         }
+         else {                    // iret is 0 or 1 - file is active
+            if(Stations[nfile].robs.time < EarliestTime)
+               EarliestTime = Stations[nfile].robs.time;
+         }
+      }
+
+         // if no more data available, EarliestTime will never get set
+      if(EarliestTime == DayTime(DayTime::END_OF_TIME)) break;
+
+         // time limits
+      if(EarliestTime < BegTime) {
+         oflog << "Before begin time : "
+            << EarliestTime.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g\n");
+         continue;
+      }
+      if(EarliestTime > EndTime) {
+         oflog << "After end time (quit) : "
+            << EarliestTime.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g\n");
+         break;
+      }
+
+         // process at EarliestTime
+      oflog << "Process at time = "
+         << EarliestTime.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g\n");
+      AllObs.clear();
+      for(ngood=0,nfile=0; nfile<Stations.size(); nfile++) {
+            // if this data time == EarliestTime, process and set flag to read again
+         if(ABS(Stations[nfile].robs.time - EarliestTime) < 1.) {
+            iret = ProcessObs(Stations[nfile],AllObs);
+            if(iret > 0) ngood += iret;
+            Stations[nfile].getNext = true;
+         }
+         else Stations[nfile].getNext = false;
+      }
+
+         // compute map(s) and output
+      nepochs++;
+      if(ngood > 0) {
+         oflog << ngood << " data at epoch "
+            << EarliestTime.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g")
+            << ", file #" << nepochs << "." << endl;
+            // compute the map(s)
+         if(doVTECmap) {
+            vtecmap.ComputeMap(EarliestTime,AllObs);
+            OutputMapToFile(vtecmap,BaseName,EarliestTime,nepochs);
+         }
+         if(doMUFmap) {
+            mufmap.ComputeMap(EarliestTime,AllObs);
+            OutputMapToFile(mufmap,BaseName+string(".MUF"),EarliestTime,nepochs);
+         }
+         if(doF0F2map) {
+            f0f2map.ComputeMap(EarliestTime,AllObs);
+            OutputMapToFile(f0f2map,BaseName+string(".F0F2"),EarliestTime,nepochs);
+         }
+      }
+      else oflog << "0 data at epoch "
+            << EarliestTime.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g")
+            << ", file #" << nepochs << "." << endl;
+
+   } while(1);
+
+      // finished...close all files
+   for(nfile=0; nfile<Stations.size(); nfile++) instream[nfile].close();
+
+   if(verbose)
+      oflog << endl << "Processed " << Stations.size() << " stations\n";
+}
+catch(gpstk::Exception& e) {
+   cerr << "TECMaps:ProcessObsAndComputeMap caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+catch(...) {
+   cerr << "TECMaps:ProcessObsAndComputeMap caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+// output the grid to a file
+void OutputGridToFile(VTECMap& vmap, string filename)
+{
+   ofstream ofs(filename.c_str());
+   if(!ofs) {
+      cerr << "Failed to open grid output file " << filename << endl;
+      oflog << "Failed to open grid output file " << filename << endl;
+   }
+   else {
+      vmap.OutputGrid(ofs);
+      ofs.close();
+   }
+}
+
+//------------------------------------------------------------------------------------
+// output map
+void OutputMapToFile(VTECMap& vtmap, string filename, DayTime t, int n)
+{
+      // make this a function, pass it the name MUF etc, map and time
+   ostringstream oss;
+   oss << filename << "." << setw(4) << setfill('0') << n;
+   string fn = oss.str();
+   ofstream ofs(fn.c_str());
+   if(!ofs) {
+      cerr << "Failed to open map output file " << fn << " at epoch "
+         << t.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g") << endl;
+      oflog << "Failed to open map output file " << fn << " at epoch "
+         << t.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g") << endl;
+   }
+   else {
+      oflog << "Output map at epoch "
+         << t.printf("%Y/%m/%d %H:%M:%6.3f=%F/%10.3g")
+         << " to file " << fn << endl;
+      vtmap.OutputMap(ofs,GnuplotFormat);
+      ofs.close();
+   }
+}
+
+//------------------------------------------------------------------------------------
+void AddStation(string& name)
+{
+try {
+   Station s;
+   s.filename = name;
+   for(int i=1; i<33; i++) {
+      RinexPrn p(i,systemGPS);
+      s.InitTime[p] = DayTime::BEGINNING_OF_TIME;
+   }
+   Stations.push_back(s);
+}
+catch(gpstk::Exception& e) {
+   cerr << "TECMaps:AddStation caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+catch(...) {
+   cerr << "TECMaps:AddStation caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok,
+//       -3 FFStream exception,
+//       -4 gpstk exception,
+int ProcessHeader(Station& S)
+{
+try {
+      // input header
+   try {
+      instream[S.nfile] >> S.header;
+   }
+   catch(gpstk::FFStreamError& e) {
+      cerr << "Caught an FFStreamError while reading header for file "
+         << S.filename << ":\n" << e.getText(0) << endl;
+      oflog << "Caught an FFStreamError while reading header for file "
+         << S.filename << ":\n" << e.getText(0) << endl;
+      return -3;
+   }
+   catch(gpstk::Exception& e) {
+      cerr << "Caught a gpstk exception while reading header for file "
+         << S.filename << ":\n" << e.getText(0) << endl;
+      oflog << "Caught a gpstk exception while reading header for file "
+         << S.filename << ":\n" << e.getText(0) << endl;
+      return -4;
+   }
+   S.nread = 0;
+
+      // convert to geocentric LLH
+   S.xyz.setECEF(S.header.antennaPosition);
+   S.llr = S.xyz;
+   S.llr.transformTo(Position::Geocentric);
+
+      // save station info
+   //StationName = head.markerName;
+   //TotalSpan = head.lastObs.MJD()-head.firstObs.MJD();
+
+      // dump header information
+   if(verbose) {
+      int i;
+      oflog << "File name: " << S.filename << "  ";
+      oflog << "Marker name: " << S.header.markerName << "\n";
+      oflog << "Antenna position:    " << setprecision(3) << S.header.antennaPosition
+         << endl;
+      oflog << "ECEF Position:       " << S.xyz << endl;
+      oflog << "Geocentric Position: " << S.llr << endl;
+      oflog << "Observation types (" << S.header.obsTypeList.size() << ") :";
+      for(i=0; i<S.header.obsTypeList.size(); i++)
+         oflog << " " << RinexObsHeader::convertObsType(S.header.obsTypeList[i]);
+      oflog << endl;
+      oflog << "Time of first obs "
+         << S.header.firstObs.printf("%04Y/%02m/%02d %02H:%02M:%010.7f")
+         << " " << (S.header.firstSystem==systemGlonass?"GLO":"GPS") << endl;
+      oflog << "Time of  last obs "
+         << S.header.lastObs.printf("%04Y/%02m/%02d %02H:%02M:%010.7f")
+         << " " << (S.header.lastSystem==systemGlonass?"GLO":"GPS") << endl;
+   }
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+   cerr << "TECMaps:ProcessHeader caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+catch(...) {
+   cerr << "TECMaps:ProcessHeader caught an unknown exception\n";
+   return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+// return
+//        0 ok
+//        1 ok but no data read
+//       -1 EOF or non-existant
+//       -3 FFStream exception,
+//       -4 gpstk exception,
+//       -6 read error
+int ReadNextObs(Station& S)
+{
+try {
+   if(S.nread == -1) return -1;
+   if(!S.getNext) return 1;
+
+   do {
+      try {
+         instream[S.nfile] >> S.robs;
+      }
+      catch(gpstk::FFStreamError& e) {
+         cerr << "Caught an FFStreamError while reading obs for file "
+            << S.filename << ":\n" << e.getText(0) << endl;
+         oflog << "Caught an FFStreamError while reading obs for file "
+            << S.filename << ":\n" << e.getText(0) << endl;
+         return -3;
+      }
+      catch(gpstk::Exception& e) {
+         cerr << "Caught a gpstk exception while reading obs for file "
+            << S.filename << ":\n" << e.getText(0) << endl;
+         oflog << "Caught a gpstk exception while reading obs for file "
+            << S.filename << ":\n" << e.getText(0) << endl;
+         return -4;
+      }
+      if(instream[S.nfile].eof()) {
+         oflog << "End of file: " << S.filename << endl;
+         return -1;
+      }
+      if(!instream[S.nfile].good()) {
+         oflog << "Read error on file: " << S.filename << endl;
+         return -6;
+      }
+
+   } while(S.robs.epochFlag != 0 && S.robs.epochFlag != 1);
+
+   S.nread++;
+   return 0;
+}
+catch(gpstk::Exception& e) {
+   cerr << "TECMaps:ReadNextObs caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+catch(...) {
+   cerr << "TECMaps:ReadNextObs caught an unknown exception\n";
+   return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+// return 0 if data is good and was accepted
+int ProcessObs(Station& S, vector<ObsData>& obsvec)
+{
+try {
+   int i,k,n;
+   double EL,AZ,LA,LO,SR,VR,TP,bias,obliq;
+   double la,lo;     // TEMP
+   RinexPrn sat;
+   RinexObsData::RinexPrnMap::const_iterator it;
+   RinexObsData::RinexObsTypeMap::const_iterator jt;
+   Position IPP;
+
+   //S.robs.dump(oflog);
+      // loop over sat=it->first, ObsTypeMap=it->second
+   for(n=0,it=S.robs.obs.begin(); it!=S.robs.obs.end(); ++it) {
+      ObsData od;
+      sat = it->first;
+      if(sat.system != systemGPS) continue; // ignore non-GPS satellites
+      k = -1;
+      for(i=0; i<ExSV.size(); i++) {   // Is this satellite excluded ?
+         if(ExSV[i] == sat ||                                 // sat is excluded
+           (ExSV[i].prn==-1 && ExSV[i].system==sat.system) ) {// system excluded
+            k=i;
+            break;
+         }
+      }
+      if(k != -1) continue;
+   
+         // save first time
+      if(S.InitTime[sat] == DayTime::BEGINNING_OF_TIME) {
+         S.InitTime[sat] = S.robs.time;
+      }
+      
+         // process this sat
+      if((jt=it->second.find(ELot)) != it->second.end())
+         EL = jt->second.data;
+      else continue;
+      if(EL < vtecmap.MinElevation) continue;   // here or inside class?
+  
+      if((jt=it->second.find(AZot)) != it->second.end())
+         AZ = jt->second.data;
+      else continue;
+  
+      //TEMP
+      if((jt=it->second.find(LAot)) != it->second.end())
+         la = jt->second.data;
+      else lo = -999.0;
+ 
+      //TEMP
+      if((jt=it->second.find(LOot)) != it->second.end())
+         lo = jt->second.data;
+      else lo = -999.0;
+
+      if((jt=it->second.find(SRot)) != it->second.end())
+         SR = jt->second.data;
+      else SR = -1.0;
+
+      if((jt=it->second.find(VRot)) != it->second.end())
+         VR = jt->second.data;
+      else VR = -1.0;
+
+      if(SR == -1.0 && VR == -1.0) continue;
+
+      if((jt=it->second.find(TPot)) != it->second.end())
+         TP = jt->second.data;
+      else TP = -1.0;
+
+         // compute the pierce point
+      if(la == -999.0 || lo == -999.0) {
+         IPP = S.llr.getIonosphericPiercePoint(EL,AZ,IonoHt*1000);
+         LA = IPP.geocentricLatitude();
+         LO = IPP.longitude();
+      }
+      else { LA=la; LO=lo; }
+
+      od.elevation = EL;
+      od.azimuth = AZ;
+      od.latitude = LA;
+      od.longitude = LO;
+
+      if(TP != -1.0) od.AcqTime = TP;
+      else od.AcqTime = S.robs.time - S.InitTime[sat];
+
+      if(od.AcqTime < MinAcqTime) continue;
+
+         // get the bias
+      map<string,map<RinexPrn,double> >::const_iterator jt;
+      jt = BiasMap.find(S.header.markerName);
+         // skip sat+rx for which there are no biases
+      if(jt == BiasMap.end()) continue;
+      map<RinexPrn,double>::const_iterator kt;
+      kt = jt->second.find(sat);
+      if(kt == jt->second.end()) continue;
+      bias = kt->second;
+      if(debug) oflog << "Apply bias for station " << S.header.markerName
+         << " and sat " << sat << " = " << fixed << setw(12) << setprecision(6)
+         << bias << endl;
+
+         // compute the obliquity
+      obliq = WGS84.a()*cos(EL*DEG_TO_RAD)/(WGS84.a()+IonoHt*1000);
+      obliq = SQRT(1.0-obliq*obliq);
+
+      if(VR != -1.0) {
+         od.VTEC = VR - bias*obliq;
+      }
+      else {
+         od.VTEC = (SR - bias)*obliq;
+      }
+
+         // compute the error and save results
+      od.VTECerror = vtecmap.VTECError(od.AcqTime, EL, od.VTEC);
+      n++;
+      obsvec.push_back(od);
+
+         // write out
+      /* */
+      oflog <<        setw(4) << S.robs.time.GPSfullweek();
+      oflog << " " << setw(8) << setprecision(1) << S.robs.time.GPSsow();
+      oflog << " " << setw(2) << n;
+      oflog << " " << setw(9) << setprecision(5) << LA; // latitude
+      oflog << " " << setw(10) << setprecision(5)<< LO; // longitude
+      oflog << " " << setw(4) << setprecision(2) << obliq; // obliquity
+      oflog << " " << setw(8) << setprecision(3) << od.VTEC; // vertical TEC
+      oflog << " " << setw(8) << setprecision(3) << od.AcqTime; // acquisition time
+      oflog << " " << setw(2) << sat.prn; // PRN
+      oflog << " " << setw(3) << S.nfile+1; // file number
+      oflog << endl;
+      /* */
+
+   }  // end for loop over sats
+
+   if(n>0) return n;
+   else return -1;
+}
+catch(gpstk::Exception& e) {
+   cerr << "TECMaps:ProcessObs caught an exception\n";
+   GPSTK_RETHROW(e);
+}
+catch(...) {
+   cerr << "TECMaps:ProcessObs caught an unknown exception\n";
+   return -1;
+}
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/ionosphere/VTECMap.cpp b/trunk/apps/ionosphere/VTECMap.cpp
new file mode 100644
index 0000000..7b4ef57
--- /dev/null
+++ b/trunk/apps/ionosphere/VTECMap.cpp
@@ -0,0 +1,484 @@
+//------------------------------------------------------------------------------------
+// VTECMap.cpp
+//------------------------------------------------------------------------------------
+
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/ionosphere/VTECMap.cpp#4 $"
+
+/**
+ * @file VTECMap.cpp
+ * Program VTECMap will TD...
+ *   a simple ionospheric model using least squares and slant TEC values
+ *   from multiple stations.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#include "Exception.hpp"
+#include "Position.hpp"
+#include "geometry.hpp"              // for DEG_TO_RAD and RAD_TO_DEG
+#include "icd_200_constants.hpp"     // for TWO_PI
+#include "MiscMath.hpp"
+
+#include "VTECMap.hpp"
+#include "RinexUtilities.hpp"
+
+using namespace gpstk;
+using namespace std;
+
+//------------------------------------------------------------------------------------
+const double VTECMap::VTECErrorMultipath = 4.0;
+const double VTECMap::VTECErrorSat = 0.9;
+const double VTECMap::VTECErrorCFC[4] = {-0.000045, 0.0096, -0.6755, 15.84};
+const double VTECMap::ObliqCoef[4] = {-4.316e-06, 0.001043, -0.08771, 3.57};
+
+//------------------------------------------------------------------------------------
+void VTECMap::CopyInputData(VTECMap &right)
+{
+   Decorrelation = right.Decorrelation;
+   MinElevation = right.MinElevation;
+   IonoHeight = right.IonoHeight;
+   gridtype = right.gridtype;
+   fittype = right.fittype;
+   BeginLat = right.BeginLat;
+   DeltaLat = right.DeltaLat;
+   NumLat = right.NumLat;
+   BeginLon = right.BeginLon;
+   DeltaLon = right.DeltaLon;
+   NumLon = right.NumLon;
+   RefStation = right.RefStation;
+}
+
+//------------------------------------------------------------------------------------
+void VTECMap::SetDefaults()
+{
+   Decorrelation = 3.0;    // TECU/1000km
+   MinElevation = 10.0;
+   gridtype = UniformLatLon;
+   fittype = Constant;
+   BeginLat = 21.0;
+   BeginLon = 230.0;
+   DeltaLat = 0.25;
+   DeltaLon = 1.0;
+   NumLat = NumLon = 40;
+   IonoHeight = 350. * 1000.0;       // 350km in meters
+}
+
+//------------------------------------------------------------------------------------
+void VTECMap::reallyMakeGrid(Station& refS, int factor)
+   throw(Exception)
+{
+   RefStation = refS;
+
+   grid = new GridData[NumLat*NumLon];
+   if(!grid) throw Exception("VTECMap::reallyMakeGrid failed to allocate grid");
+
+try {
+   int i,j,ishift,jshift,k;
+
+   if(gridtype == UniformSpace) {
+      int ii;
+      Position ptx1,ptx2,pty1,pty2,pt3,DeltaX,DeltaY;
+
+         // azimuth = 0 : x1
+      ptx1 = refS.llr.getIonosphericPiercePoint(MinElevation,  0.0,IonoHeight);
+      ptx1.transformTo(Position::Cartesian);
+
+         // azimuth = 180 : x2
+      ptx2 = refS.llr.getIonosphericPiercePoint(MinElevation,180.0,IonoHeight);
+      ptx2.transformTo(Position::Cartesian);
+
+         // azimuth = 90 : y1
+      pty1 = refS.llr.getIonosphericPiercePoint(MinElevation, 90.0,IonoHeight);
+      pty1.transformTo(Position::Cartesian);
+
+         // azimuth = 270 : y2
+      pty2 = refS.llr.getIonosphericPiercePoint(MinElevation,270.0,IonoHeight);
+      pty2.transformTo(Position::Cartesian);
+
+         // find the center of the sheet
+      pt3 = (ptx1 + ptx2)*0.5;
+
+         // get orthogonal vectors in the plane, and compute step size info
+      DeltaX = (ptx1 - ptx2)*(1.0/double(NumLon-1));
+      DeltaY = (pty1 - pty2)*(1.0/double(NumLat-1));
+
+         // create the grid
+      for(i=0; i<NumLon; i++) {           // i == x == lon
+         ishift = i - (NumLon/2);
+         for(j=0; j<NumLat; j++) {        // j == y == lat
+            k = i * NumLat + j;           // k is the index in grid array
+            jshift = j - (NumLat/2);
+            grid[k].XYZ = pt3 + (DeltaX*ishift + DeltaY*jshift)*factor;
+            grid[k].LLR = grid[k].XYZ;
+            grid[k].LLR.transformTo(Position::Geocentric);
+         }  // end j loop over lon
+      }  // end i loop over lat
+   }
+
+   if(gridtype == UniformLatLon) {
+      double LatCenter = BeginLat + NumLat * DeltaLat/2.0;
+      double LonCenter = BeginLon + NumLon * DeltaLon/2.0;
+      double rad;
+      {
+            // this is a trick to get the radius of the ionosphere
+         Position IPP = refS.llr.getIonosphericPiercePoint(90,0,IonoHeight);
+         rad = IPP.radius();
+      }
+         // create the grid
+      for(i=0; i<NumLon; i++) {           // i == x == lon
+         ishift = i - (NumLon/2);
+         for(j=0; j<NumLat; j++) {        // j == y == lat
+            jshift = j - (NumLat/2);
+            k = i * NumLat + j;           // k is the index in grid array
+            grid[k].LLR.setGeocentric(
+               LatCenter + factor * jshift * DeltaLat, // lat (deg)
+               LonCenter + factor * ishift * DeltaLon, // lon (deg)
+               rad);                                   // radius (m)
+            grid[k].XYZ = grid[k].LLR;
+            grid[k].XYZ.transformTo(Position::Cartesian);
+         }  // end j loop over lon
+      }  // end i loop over lat
+   }
+}
+catch(gpstk::Exception& e) {
+      cerr << "VTECMap:reallyMakeGrid caught an exception\n" << e;
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      cerr << "VTECMap:reallyMakeGrid caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+void VTECMap::OutputGrid(ostream& os)
+{
+   int i,j,k;
+   os << fixed << setprecision(3);
+   for(j=0; j<NumLat; j++) {
+      for(i=0; i<NumLon; i++) {
+         k = i * NumLat + j;
+         os << grid[k].LLR.printf(" %.8a %.8l %.3r");
+         os << grid[k].XYZ.printf(" %.3x %.3y %.3z");
+         os << " " << i << " " << j << endl;
+      }
+   }
+}
+
+//------------------------------------------------------------------------------------
+void VTECMap::ComputeMap(DayTime& epoch, vector<ObsData>& data)
+{
+   int i,j,k,n;
+      // first compute the average value
+   n = 0;
+   ave = 0.0;
+   for(k=0; k<data.size(); k++) {
+      n++;
+      ave *= double(n-1)/double(n);
+      ave += data[k].VTEC/double(n);
+   }
+      // now compute the value at each grid point
+   for(i=0; i<NumLon; i++) {
+      for(j=0; j<NumLat; j++) {
+         k = i * NumLat + j;
+         ComputeGridValue(grid[k],data);
+      }
+   }
+}
+
+//------------------------------------------------------------------------------------
+// Compute the grid values. Called by ComputeMap.
+void VTECMap::ComputeGridValue(GridData& gridpt, vector<ObsData>& data)
+{
+   double gridLat = gridpt.LLR.getGeocentricLatitude() * DEG_TO_RAD;
+   double gridLon = gridpt.LLR.longitude();
+   if(gridLon > 180.0) gridLon -= 360.0;
+   gridLon *= DEG_TO_RAD;
+
+   double destLat, destLon,dLat,dLon;
+   double sg,cg,sd,dist,range,bear,d;
+   vector<double> vtec,xtmp,ytmp,sigma;
+
+      // loop over all data
+   for(int k=0; k<data.size(); k++) {
+      //if(data[k].elevation < MinElevation) continue;   // here?
+      destLat = data[k].latitude * DEG_TO_RAD;
+      destLon = data[k].longitude * DEG_TO_RAD;
+      // compute distance in the plane from grid to dest(data)
+      dLon = destLon - gridLon;
+      sg = sin(gridLat);
+      cg = cos(gridLat);
+      sd = sin(destLat);
+      d = sg*sd + cg*cos(destLat)*cos(dLon);
+      dist = acos(d);
+      // TD what is range? where does the 1.852 come from?
+      // TD what are the units of range? assume km, then Decorrelation = TECU/1000km
+      // decor error = range * Decorrelation
+      range = 1.852 * 60 * dist * RAD_TO_DEG;   // 1.852 * distance in min of arc
+      if(ABS(dist) < 0.01) dist = 0.01;
+      d = (sd - sg*cos(dist)) / sin(dist)*cg;   // d = cos(bearing)
+      if(ABS(d) > 1) {
+         if(d > 0) d = 1.0;
+         else d = -1.0;
+      }
+      bear = acos(d);
+      if(dLon > 0) bear = TWO_PI - bear;
+
+      vtec.push_back(data[k].VTEC);
+      xtmp.push_back(range * d);       // this is probably slow
+      ytmp.push_back(range * sin(bear));
+      // sigma = RSS(measurement error, term ~ range = decorrelation)
+      d = data[k].VTECerror * data[k].VTECerror
+         + range * range * (Decorrelation/1000) * (Decorrelation/1000);
+      sigma.push_back(SQRT(d));
+
+   }  // end loop over all data
+
+   d = ChiSqPlane(vtec,xtmp,ytmp,sigma);
+   if(d < 0) {
+      //if(d < -0.5) output warning: negative TEC set to 0
+      d = 0.0;
+   }
+   
+   gridpt.value = d;
+}
+
+//------------------------------------------------------------------------------------
+// Chi squared calculation ... TD
+// z is VTEC
+double VTECMap::ChiSqPlane(vector<double>& z, vector<double>& x, vector<double>& y,
+   vector<double>& sigma)
+{
+   int k;
+
+   double invSigma,XinvSigma,YinvSigma,ZinvSigma;
+   double s,sx,sy,sz,sxx,sxy,syy,sxz,syz;
+
+   invSigma = 1.0/(sigma[0]*sigma[0]);
+   s = invSigma;
+   ZinvSigma = (z[0]-ave) * invSigma;
+   sz = ZinvSigma;
+   if(fittype == Linear) {
+      XinvSigma = x[0] * invSigma;
+      sx = XinvSigma;
+      YinvSigma = y[0] * invSigma;
+      sy = YinvSigma;
+      sxx = x[0] * XinvSigma;
+      sxy = x[0] * YinvSigma;
+      syy = y[0] * YinvSigma;
+      sxz = x[0] * ZinvSigma;
+      syz = y[0] * ZinvSigma;
+   }
+
+   double invS2,XinvS2,YinvS2,ZinvS2;
+   for(k=1; k<z.size(); k++) {
+      // constant and linear
+      invS2 = 1.0 / (sigma[k]*sigma[k]);
+      s += invS2;
+      ZinvS2 = (z[k]-ave) * invS2;
+      sz += ZinvS2;
+      // linear only
+      if(fittype == Linear) {
+         XinvS2 = x[k] * invS2;
+         YinvS2 = y[k] * invS2;
+         sx += XinvS2;
+         sy += YinvS2;
+         sxx += x[k] * XinvS2;
+         sxy += x[k] * YinvS2;
+         syy += y[k] * YinvS2;
+         sxz += x[k] * ZinvS2;
+         syz += y[k] * ZinvS2;
+      }
+   }
+
+   double value;
+   if(fittype == Linear) {
+      double delta = sxy*(s*sxy-2*sx*sy) + sxx*sy*sy + syy*(sx*sx-s*sxx);
+      value = ( sxz*(sx*syy-sxy*sy) + syz*(sxx*sy-sx*sxy)
+            + sz*(sxy*sxy-sxx*syy) )/delta;
+   }
+   else
+      value = (sz/s);
+   return (ave + value);
+}
+
+//------------------------------------------------------------------------------------
+void VTECMap::OutputMap(ostream& os, bool format)
+{
+   int i,j,k;
+   os << fixed << setprecision(3);
+   for(j=0; j<NumLat; j++) {
+      for(i=0; i<NumLon; i++) {
+         k = i * NumLat + j;
+         if(format) os << grid[k].LLR[0] << " " << grid[k].LLR[1];
+         os << " " << grid[k].value;
+         if(format) os << endl;
+      }
+      os << endl;
+   }
+}
+
+//------------------------------------------------------------------------------------
+void MUFMap::ComputeMap(DayTime& epoch, vector<ObsData>& data)
+{
+   int i,k;
+   double lvect1,lvect2,tmp,cosin;;
+   GridData center,reflect;
+   Position MUFearth;
+
+   for(k=0; k<NumLat*NumLon; k++) {
+         // Comment in the original code is:
+         // "convert the lat/lon from the MUF grid
+         // to XYZ positions on the surface of Earth"
+         // then code uses grid[k].XYZ where MUFearth is here...
+      MUFearth = grid[k].LLR;
+      MUFearth[2] = MUFearth.radiusEarth();
+      MUFearth.transformTo(Position::Cartesian);
+
+      center.XYZ = (MUFearth + RefStation.xyz)*0.5;
+      center.LLR = center.XYZ;
+      center.LLR.transformTo(Position::Geocentric);
+
+      reflect = center;
+      reflect.LLR[2] = reflect.LLR.radiusEarth() + IonoHeight;
+
+      ComputeGridValue(reflect, data);
+
+      reflect.XYZ = reflect.LLR;
+      reflect.XYZ.transformTo(Position::Cartesian);
+
+      lvect1 = lvect2 = 0.0;
+      for(i=0; i<3; i++) {
+         tmp = MUFearth[i] - reflect.XYZ[i];
+         lvect1 += tmp*tmp;
+         tmp = reflect.XYZ[i] - center.XYZ[i];
+         lvect2 += tmp*tmp;
+      }
+      cosin = SQRT(lvect2/lvect1);
+      grid[k].value =
+         VTECtoF0F2(0,reflect.value,epoch,reflect.LLR.longitude()) / cosin;
+   }
+}
+
+//------------------------------------------------------------------------------------
+// First cut at foF2 assuming constant slab thickness of 280 km and 
+// TEC = 1.24e10 (foF2)^2 tau / 10^16
+void F0F2Map::ComputeMap(DayTime& epoch, vector<ObsData>& data)
+{
+   int i,j,k;
+   for(i=0; i<NumLon; i++) {
+      for(j=0; j<NumLat; j++) {
+         k = i * NumLat + j;
+         ComputeGridValue(grid[k],data);
+         grid[k].value = VTECtoF0F2(1,grid[k].value,epoch,grid[k].LLR.longitude());
+      }
+   }
+}
+
+//------------------------------------------------------------------------------------
+double VTECMap::VTECtoF0F2(int method, double vtec, DayTime& epoch, double lon)
+{
+try {
+   double fof2,tau,dt;
+   static DayTime computeTime=DayTime::BEGINNING_OF_TIME;
+   const double con[4]={0.019600827088077529, -1.549245071973630372,
+      29.890989537102175433, 237.467144625490760745};
+
+   if(method == 0) {
+      tau = 280;
+   }
+   else if(method == 1) {
+      if(epoch != computeTime) {
+         computeTime = epoch;
+         dt = epoch.hour()+epoch.minute()/60.;
+         dt += (lon - 262.2743352)/15;
+         if(dt > 24) dt -= 24;
+         if(dt <  0) dt += 24;
+         tau = con[0];
+         for(int i=1; i<4; i++) tau = tau * dt + con[i];
+      }
+   }
+   else {
+      throw Exception("VTECtoF0F2 finds unknown method");
+   }
+
+   fof2 = SQRT(806.4 * vtec / tau);
+
+   return fof2;
+}
+catch(Exception& e) {
+   GPSTK_RETHROW(e);
+}
+}
+
+//------------------------------------------------------------------------------------
+double VTECMap::VTECError(double t, double el, double vtec)
+{
+   double slant = VTECErrorMultipath * VTECErrorMultipath / (1+2*t/3);
+   slant += VTECErrorSat * VTECErrorSat;
+   //slant += BiasError * BiasError;
+   double q = Obliquity(el);
+   double delta = VTECErrorCFC[0];
+   for(int i=1; i<4; i++)
+      delta = delta * el + VTECErrorCFC[i];
+   delta *= 0.01;
+   double vert = slant/(q*q);
+   vert += delta * vtec * delta * vtec;
+   vert = SQRT(vert);
+   return vert;
+}
+
+//------------------------------------------------------------------------------------
+double VTECMap::Obliquity(double el)
+{
+   if(el > 85) return 1.0;
+   double obq = ObliqCoef[0];
+   for(int i=1; i<4; i++)
+      obq = obq * el + ObliqCoef[i];
+   return obq;
+}
+
+//------------------------------------------------------------------------------------
+void gpstk::PlaneCoefficients(double cof[3], double p1[3], double p2[3], double p3[3])
+   throw(Exception)
+{
+   double denom=(p2[0]-p3[0])*p1[1]+(p3[0]-p1[0])*p2[1]+(p1[0]-p2[0])*p3[1];
+   if(denom == 0) throw Exception("PlaneCoefficients finds singular problem");
+   denom = 1.0/denom;
+   cof[0] = ((p3[1]-p2[1])*p1[2]+(p1[1]-p3[1])*p2[2]+(p2[1]-p1[1])*p3[2])*denom;
+   cof[1] = ((p2[0]-p3[0])*p1[2]+(p3[0]-p1[0])*p2[2]+(p1[0]-p2[0])*p3[2])*denom;
+   cof[2] = ((p3[0]*p2[1]-p2[0]*p3[1])*p1[2]+(p1[0]*p3[1]-p3[0]*p1[1])*p2[2]+
+             (p2[0]*p1[1]-p1[0]*p2[1])*p3[2])*denom;
+}
+
+//------------------------------------------------------------------------------------
+ostream& gpstk::operator<<(ostream& os, const Station& s)
+{
+   os << "Station filename: " << s.filename << endl << fixed;
+   os << s.xyz.printf("   %.3x m %.3y m %.3z m (ECEF)\n"
+                      "   %.9a degN %.9l degE %.3r m (Geocentric)");
+   return os;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/ionosphere/VTECMap.hpp b/trunk/apps/ionosphere/VTECMap.hpp
new file mode 100644
index 0000000..96c2215
--- /dev/null
+++ b/trunk/apps/ionosphere/VTECMap.hpp
@@ -0,0 +1,251 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/ionosphere/VTECMap.hpp#2 $"
+
+/**
+ * @file VTECMap.hpp
+ * VTECMap implements a simple ionospheric model using least squares
+ * and slant TEC values from multiple stations.
+ */
+
+//------------------------------------------------------------------------------------
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//------------------------------------------------------------------------------------
+#ifndef GPSTK_VTECMAP_INCLUDE
+#define GPSTK_VTECMAP_INCLUDE
+
+//------------------------------------------------------------------------------------
+#include "Exception.hpp"
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+#include "WGS84Geoid.hpp"
+#include "Position.hpp"
+#include "icd_200_constants.hpp"     // for TWO_PI
+#include "geometry.hpp"              // for DEG_TO_RAD and RAD_TO_DEG
+#include "MiscMath.hpp"              // for RSS
+
+#include <iostream>
+#include <string>
+#include <vector>
+#include <map>
+
+//------------------------------------------------------------------------------------
+namespace gpstk
+{
+
+//------------------------------------------------------------------------------------
+/// class Station TD document
+class Station {
+public:
+   //string id;  use header.markerName
+   int nfile;                 // this object is Stations[nfile]
+   std::string filename;
+   //RinexObsStream instream; // cannot make vector<Station> for lack of copy c'tor
+   RinexObsHeader header;
+   RinexObsData robs;
+   bool getNext;      // if true, ready to read next epoch
+   int nread;         // number of obs records read or (-1 = dead, 0=header read)
+   //int inC1,inL1,inL2,inP1,inP2,inD1,inD2,inS1,inS2;        // indexes in header
+   Position xyz;                         // cartesian position (ECEF)
+   Position llr;                         // geocentric position in LLR
+   std::map<RinexPrn,DayTime> InitTime;  // time of start of this (cont) phase seg
+
+   friend std::ostream& operator<<(std::ostream& os, const Station& f);
+};
+
+/// Data collected from each station/satellite pair, used to construct the TEC map
+class ObsData {
+public:
+   double AcqTime;   ///< acquisition time: time since start of continuous phase (s)
+   double VTEC;      ///< vertical TEC (TECU?)
+   double VTECerror; ///< computed error in the VTEC
+   double elevation; ///< elevation angle (degrees)
+   double azimuth;   ///< azimuth angle (degrees)
+   double latitude;  ///< latitude of the ionospheric pierce point (degrees)
+   double longitude; ///< longitude of the ionospheric pierce point (degrees E)
+};
+
+/// Data defining the map at each grid point: grid location and TEC value
+class GridData {
+public:
+   Position XYZ;    ///< ECEF position (x,y,z) in meters
+   Position LLR;    ///< geocentric position (lat,lon,radius) in deg,degE,meters
+   double value;    ///< computed map value at this grid point (TECU?)
+};
+
+//------------------------------------------------------------------------------------
+/// class VTECMap stores and computes a grid in latitude and longitude, then given
+/// VTEC data over a network of ground stations, computes the value of VTEC on
+/// the grid.
+class VTECMap {
+public:
+      /// Supported grid types
+   enum GridType
+   {
+      UniformLatLon=1,       ///< Grid is uniform in (geocentric) latitude, longitude
+      UniformSpace           ///< Grid is uniform in space (constant physical spacing)
+   };
+
+      /// Supported fit types
+   enum FitType
+   {
+      Constant,         ///< Model ionospheric TEC as constant
+      Linear            ///< Model ionospheric TEC as linear function of lat,lon
+   };
+
+      /// default constructor
+   VTECMap() { grid=NULL; SetDefaults(); }
+
+      /// destructor
+   virtual ~VTECMap() { if(grid) delete[] grid; }
+
+      /// copy input data
+   void CopyInputData(VTECMap &right);
+
+      /// default values of input data
+   void SetDefaults();
+
+      /// build the 2D grid itself
+      /// @param refStation Station object for the reference station
+   virtual void MakeGrid(Station& refStation) throw(Exception)
+      { reallyMakeGrid(refStation,1); }
+
+      /// write grid locations to a file
+      /// @param ostream on which to write
+   void OutputGrid(std::ostream& os);
+
+      /// populate the 2D grid
+      /// @param data vector of ObsData structures for all observed data
+   virtual void ComputeMap(DayTime& epoch, std::vector<ObsData>& data);
+
+      /// write the computed grid values to a file
+      /// @param ostream on which to write
+      /// @param bool gnuplotFormat if true, output for gnuplot,
+      ///    otherwise (default) for Matlab (TD right?)
+   void OutputMap(std::ostream& os, bool gnuplotFormat=false);
+
+      // input data
+   double Decorrelation;      ///< decorellation error rate in TECU/1000km
+   double MinElevation;       ///< minimum elevation in degrees
+   double IonoHeight;         ///< Height of the ionosphere in meters
+   GridType gridtype;         ///< uniform in space or uniform in lat/lon
+   FitType fittype;           ///< constant or linear
+   double BeginLat;           ///< beginning latitude (deg)
+   double DeltaLat;           ///< step in latitude (deg)
+   int NumLat;                ///< number of latitude grids
+   double BeginLon;           ///< beginning longitude (deg E)
+   double DeltaLon;           ///< step in longitude (deg)
+   int NumLon;                ///< number of longitude grids
+   Station RefStation;        ///< reference station, input by MakeGrid()
+
+      // grid and map data
+   GridData *grid;
+   double ave;
+
+      // constants needed in computation
+   static const double VTECErrorMultipath; ///< TD doc
+   static const double VTECErrorSat;       ///< TD doc
+   static const double VTECErrorCFC[4];    ///< TD doc
+   static const double ObliqCoef[4];       ///< Parameters used in obliquity calc.
+
+      // computation
+
+      /// Convert vertical TEC to foF2 using one of two methods.
+      /// @param method flag giving methods:
+      ///   0 Constant slab of thickness tau=280 km
+      ///   1 Cubic fit to tau from ARL data
+      /// @param vtec Vertical TEC
+      /// @param epoch TD doc
+      /// @param lon Longitude of TD doc
+   double VTECtoF0F2(int method, double vtec, DayTime& epoch, double lon);
+
+      /// Compute the error on the VTEC
+      /// @param t acquisition time in sec ?
+      /// @param el elevation in degrees
+      /// @param vtec vertical TEC (TECU)
+      /// @return error on the VTEC
+   double VTECError(double t, double el, double vtec);
+
+      /// Compute the obliquity at a given elevation
+      /// @param el elevation in degrees
+      /// @return obliquity factor
+   double VTECMap::Obliquity(double el);
+
+protected:
+      /// Allocate the grid array and fill it.
+      /// @param refStation reference station
+      /// @param factor : 1 for VTEC maps, 2 for MUF maps
+   void VTECMap::reallyMakeGrid(Station& refStation, int factor)
+      throw(Exception);
+
+      /// Compute one grid value, using all the data. Called by ComputeMap.
+   void ComputeGridValue(GridData& gridpt, std::vector<ObsData>& data);
+
+      /// Chi squared calculation ... TD
+   double ChiSqPlane(std::vector<double>& vtec, std::vector<double>& x,
+     std::vector<double>& y, std::vector<double>& sigma);
+
+}; // end class VTECMap
+
+/// class MUFMap is a VTECMap that computes MUF on the grid points.
+class MUFMap : public VTECMap {
+public:
+      /// build the 2D grid itself
+      /// @param refStation Station object for the reference station
+   void MakeGrid(Station& refStation) throw(Exception)
+         { reallyMakeGrid(refStation,2); }
+      /// populate the 2D grid
+      /// @param data vector of ObsData structures for all observed data
+   void ComputeMap(DayTime& epoch, std::vector<ObsData>& data);
+};
+
+/// class MUFMap is a VTECMap that computes F0F2 on the grid points.
+class F0F2Map : public VTECMap {
+public:
+      /// populate the 2D grid
+      /// @param data vector of ObsData structures for all observed data
+   void ComputeMap(DayTime& epoch, std::vector<ObsData>& data);
+};
+
+//------------------------------------------------------------------------------------
+// prototypes
+
+/// Compute the coefficients [a,b,c] in the equation z = a*x + b*y + c that describes
+/// a plane, given the cartesian coordinates [x,y,z] of three points p1,p2,p3 that
+/// define the plane.
+/// @param cof double[3] of coefficients (output)
+/// @param p1 double[3] of coordinates
+/// @param p2 double[3] of coordinates
+/// @param p3 double[3] of coordinates
+void PlaneCoefficients(double cof[3], double p1[3], double p2[3], double p3[3])
+   throw(Exception);
+
+//------------------------------------------------------------------------------------
+} // namespace gpstk
+
+//------------------------------------------------------------------------------------
+#endif   // GPSTK_VTECMAP_INCLUDE
diff --git a/trunk/apps/ionosphere/example/README b/trunk/apps/ionosphere/example/README
new file mode 100644
index 0000000..41626ba
--- /dev/null
+++ b/trunk/apps/ionosphere/example/README
@@ -0,0 +1,69 @@
+This directory contains all the files of an example run of the programs
+IonoBias and TECMaps, including scripts and output.
+
+Program descriptions
+
+   Program IonoBias reads Rinex data files containing extended Rinex observation
+types EL, LA, LO and SR or SS (see preprocessing, below) from several sites and
+estimates biases in the ionospheric total electron content (TEC) measurements
+imposed by the hardware: either by satellite (the satellite + receiver combined
+bias) or by receiver alone (average over satellites to get the receiver bias).
+IonoBias does this by assuming a simple model of the ionosphere and
+simultaneously estimating biases and model parameters.
+
+   Program TECMaps reads Rinex data files containing extended Rinex observation
+types EL, AZ and SR or VR from several sites and at each epoch fits the vertical
+TEC data to a model of the ionosphere on a two-dimensional grid surface.
+Hardware TEC measurement biases are corrected, using input from the program
+IonoBias. The user can specify the type of grid, the type of TEC data and the
+model to be used. Output is in the form of files, one per epoch, which can be
+used to plot the 2D ionospheric TEC surface.
+
+   Here is a description of the steps needed to go from raw data to plots using
+these programs. You may have to change some directories or other small things in
+the scripts, particularly the perl scripts, but this should be straightforward.
+(Scripts may be used on Windows by renaming with .bat extension; you will need
+perl and maybe wget and gnuplot under Windows -- get them free on the web!)
+
+   0. Create subdirectories 'alldata', 'processed' and 'out'.
+
+   1. The raw data is IGS data downloaded from the web for day 210 of 2004;
+the script 'getigs' shows one way to do this using wget. Note the last 'wget' call
+is different - it gets the broadcast ephemeris. These stations were
+chosen because they lie near or within a rectangle bounded by latitude 40 - 60 and
+longitude 250 - 290, which is where the map is going to be made. The raw data
+files, including the broadcast ephemeris file, are placed in subdirectory 'alldata'.
+
+   2. Preprocess the data by computing EL (elevation), AZ (azimuth),
+LA (latitude of the ionospheric pierce point or IPP), LO (longitude of IPP), and
+SR (slant TEC derived from pseudorange), using the Rinex tool ResCor
+(see apps/Rinextools in the GPSTK distribution). A perl script, preprocess.pl
+and a script which runs this for each data file, 'gopre', are provided here.
+The ResCor run does several important things: it defines the data interval,
+which for this data is 30 seconds, in the header, and it defines the 'MARKER NAME'
+header record to be the 4-character station id in the file name (e.g. algo, chur,
+etc.), it pulls out the receiver position from the input Rinex header and passes
+that into ResCor, and finally it allows C1 to be used when P1 is not available.
+It also summarizes the output file using program RinSum and puts this summary,
+along with all the processed data, in subdirectory 'processed'.
+
+   3. Run program IonoBias to compute the satellite+receiver biases for this
+data; see the script 'gobias' which simply makes a file containing the names of
+all the preprocessed data files (or you can make it by hand), and then runs
+IonoBias with the input file bias.inp. Output of this program is in bias.log,
+and the biases are also put in the file satbias.txt that will be input to TECMaps.
+
+   4. Run TECMaps using the script 'gomaps', which simply runs TECMaps using the
+input file maps.inp, which chooses the grid type, the model type and the output
+format. Output is placed in subdirectory 'out' with base name 'igs' (i.e. all
+the files are of the form 'igs.N' where N is the epoch number: 1-2880 (an entire
+day of 30 second intervals).
+
+   5. View the output using gnuplot. The perl script plotall.pl will generate an
+input file for gnuplot and run it, or use the script 'see'. Again, you may have to
+change directories inside plotall.pl; there are other options that fix how the
+plot is done, including output to a file (.png) instead of to the screen.
+For example, type
+      ./see igs 1 2880 30 
+to see plots of the VTEC map every 15 minutes (30 x 30sec) from the first to the
+last. Press 'return' in your terminal window to advance to the next plot.
diff --git a/trunk/apps/ionosphere/example/bias.inp b/trunk/apps/ionosphere/example/bias.inp
new file mode 100644
index 0000000..33fb6ea
--- /dev/null
+++ b/trunk/apps/ionosphere/example/bias.inp
@@ -0,0 +1,18 @@
+--verbose
+--log bias.log
+--input @list.files
+--navdir alldata
+--nav brdc2100.04n
+--datafile ATtest.fil
+--MinPoints 24
+--MinTimeSpan 12
+--MinElevation 6
+--MinLatitude 40
+--MaxLatitude 60
+--MinLongitude 250
+--MaxLongitude 290
+--TimeSector night
+--TermOffset 20 
+--IonoHeight 350
+#--NoSatBiases
+--biasout satbias.txt
diff --git a/trunk/apps/ionosphere/example/getigs b/trunk/apps/ionosphere/example/getigs
new file mode 100755
index 0000000..9f5f6dc
--- /dev/null
+++ b/trunk/apps/ionosphere/example/getigs
@@ -0,0 +1,373 @@
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/adri2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/agmt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/algo2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/alpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/amc22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ana12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/aoa12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/arm12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/arm22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/avry2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/azry2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/baie2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bake2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bar12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bayr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bbdm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bbry2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bcwr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bemt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bepk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bgis2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bil12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bill2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bkap2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bkms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bkr12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/blmm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/blsa2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/blyt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bmhl2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bmry2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bran2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/brew2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/brig2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/brpk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bsry2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/btdm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/bvpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ca992100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cact2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cags2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/casa2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/casp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cat12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cat22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cbhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cccc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ccco2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cccs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cdmt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cgdm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/chb12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ches2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/chil2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/chme2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/chms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/chur2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cic12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cirx2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cit12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cjms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cjtr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/clar2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cmp92100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cnpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cola2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/copr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/corb2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/coso2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cot12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cotd2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/crfp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/crhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/crrs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cru12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/csci2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/csdh2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/csn12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/csst2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ctdm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ctms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cuhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/cvhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dam22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dam32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ddmn2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dech2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/defi2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/det12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dhlg2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dnrc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/drao2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/drv12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dshs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dssc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dubo2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvle2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvls2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvlw2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvne2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvnw2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvpb2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvse2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dvsw2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/dyhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ecco2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ecfs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/edpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/elsc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/erla2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ese22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/esrw2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ewpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/fdtc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/flin2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/fmtp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/fmvt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/frdn2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/fvpk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/fxhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/fzhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/galb2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gdec2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ghrp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/glpt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/glrs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gmpk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gmrc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gnps2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gode2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/godz2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gol22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gold2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/grar2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gtrg2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gvlt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/gvrs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hag22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hbco2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hcmn2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hdf12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hivi2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hklo2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hlfx2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hnps2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hnpt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hol32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/holc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/holp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hotk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hrn12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/htv12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hvwy2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/hvys2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/iid22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/islk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ivco2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/jnpr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/jplm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/jtnt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/kan12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/kbrc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/kew12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/knol2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/krac2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/kuuj2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/kyvw2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lans2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lapc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lasc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lbc12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lbc22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lbch2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lcdt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ldes2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ldsw2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/leba2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/leep2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lfrs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/linc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/linj2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ljrn2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lkwy2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ll012100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/llas2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lnmt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/long2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lors2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lphs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ltut2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/lvms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mat22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mcn12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mcon2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mdo12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mem22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/merc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/metr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mhms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mins2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mjpk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mlf12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mlfp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mob12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/monp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mor12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mple2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mpwd2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/msob2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mta12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mvfd2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/mwtp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/myt12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/naiu2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nbps2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nbr22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ndap2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nds12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nhrg2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nji22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nlgn2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nlib2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/noco2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nopk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nor12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nor22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nor32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nrc12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/nsss2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/oeoc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/oghs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/okee2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/opbl2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/opcl2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/opcp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/opcx2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/oprd2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ormt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ovls2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/oxyc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/p0412100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pbpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pck12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/phlb2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pie12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pin12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pin22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pit12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pkrd2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/plo32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pmhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pmob2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pnb12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ppbf2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/prds2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/psap2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/psc12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/psdm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pub12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/puc12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pve32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pvhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/pvrs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/qhtp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ramt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rca22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rdmt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rdom2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/red12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rhcl2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ric12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/roch2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rock2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rstp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/rths2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sacy2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sag12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sal12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sask2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sbcc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sch22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/scia2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/scip2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/scms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sdhl2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sfdm2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg102100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg112100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg132100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg162100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg192100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg202100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg232100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sg292100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sghs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sgps2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/shk12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/shos2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sibe2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/siby2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/silk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sio32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sio52100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/slid2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/slms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/snhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sni12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sol12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/somt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sowr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/spic2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/spk12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/spms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/spn12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/srp12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/stkr2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/stl32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/stp12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/stri2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sum12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sup12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sup22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/sup32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/tabl2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/thcp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/tilc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/tmap2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/tmgo2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/toiy2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/torp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/tost2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/trak2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/tung2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/twms2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/uclp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/ucsb2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/unb12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/univ2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/upsa2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/usc12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/usgc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/usn32100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/usno2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vald2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vcap2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vdcy2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vic12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vimt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vnco2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vncx2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vnps2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vtis2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/vyas2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/watc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wchs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wes22100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wgpp2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/whc12100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/whyt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/widc2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wkpk2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wlsn2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wlwy2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wmap2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wnra2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/womt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/woos2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wrhs2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/wwmt2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/yell2100.04o.Z
+wget ftp://garner.ucsd.edu/pub/rinex/2004/210/you12100.04o.Z
+wget ftp://igs.ensg.ign.fr/pub/igs/data/2004/210/brdc2100.04n.Z
+gzip -d *.Z
diff --git a/trunk/apps/ionosphere/example/gobias b/trunk/apps/ionosphere/example/gobias
new file mode 100755
index 0000000..207515b
--- /dev/null
+++ b/trunk/apps/ionosphere/example/gobias
@@ -0,0 +1,3 @@
+# use this ls command, or make up your own list.files
+#ls processed/*.obs > list.files
+/home/btolman/gpstk/dev/apps/ionosphere/IonoBias -fbias.inp
diff --git a/trunk/apps/ionosphere/example/gomaps b/trunk/apps/ionosphere/example/gomaps
new file mode 100755
index 0000000..da004c4
--- /dev/null
+++ b/trunk/apps/ionosphere/example/gomaps
@@ -0,0 +1 @@
+/home/btolman/gpstk/dev/apps/ionosphere/TECMaps -fmaps.inp
diff --git a/trunk/apps/ionosphere/example/gopre b/trunk/apps/ionosphere/example/gopre
new file mode 100755
index 0000000..f21fac2
--- /dev/null
+++ b/trunk/apps/ionosphere/example/gopre
@@ -0,0 +1,371 @@
+perl preprocess.pl adri2100.04o
+perl preprocess.pl agmt2100.04o
+perl preprocess.pl algo2100.04o
+perl preprocess.pl alpp2100.04o
+perl preprocess.pl amc22100.04o
+perl preprocess.pl ana12100.04o
+perl preprocess.pl aoa12100.04o
+perl preprocess.pl arm12100.04o
+perl preprocess.pl arm22100.04o
+perl preprocess.pl avry2100.04o
+perl preprocess.pl azry2100.04o
+perl preprocess.pl baie2100.04o
+perl preprocess.pl bake2100.04o
+perl preprocess.pl bar12100.04o
+perl preprocess.pl bayr2100.04o
+perl preprocess.pl bbdm2100.04o
+perl preprocess.pl bbry2100.04o
+perl preprocess.pl bcwr2100.04o
+perl preprocess.pl bemt2100.04o
+perl preprocess.pl bepk2100.04o
+perl preprocess.pl bgis2100.04o
+perl preprocess.pl bil12100.04o
+perl preprocess.pl bill2100.04o
+perl preprocess.pl bkap2100.04o
+perl preprocess.pl bkms2100.04o
+perl preprocess.pl bkr12100.04o
+perl preprocess.pl blmm2100.04o
+perl preprocess.pl blsa2100.04o
+perl preprocess.pl blyt2100.04o
+perl preprocess.pl bmhl2100.04o
+perl preprocess.pl bmry2100.04o
+perl preprocess.pl bran2100.04o
+perl preprocess.pl brew2100.04o
+perl preprocess.pl brig2100.04o
+perl preprocess.pl brpk2100.04o
+perl preprocess.pl bsry2100.04o
+perl preprocess.pl btdm2100.04o
+perl preprocess.pl bvpp2100.04o
+perl preprocess.pl ca992100.04o
+perl preprocess.pl cact2100.04o
+perl preprocess.pl cags2100.04o
+perl preprocess.pl casa2100.04o
+perl preprocess.pl casp2100.04o
+perl preprocess.pl cat12100.04o
+perl preprocess.pl cat22100.04o
+perl preprocess.pl cbhs2100.04o
+perl preprocess.pl cccc2100.04o
+perl preprocess.pl ccco2100.04o
+perl preprocess.pl cccs2100.04o
+perl preprocess.pl cdmt2100.04o
+perl preprocess.pl cgdm2100.04o
+perl preprocess.pl chb12100.04o
+perl preprocess.pl ches2100.04o
+perl preprocess.pl chil2100.04o
+perl preprocess.pl chme2100.04o
+perl preprocess.pl chms2100.04o
+perl preprocess.pl chur2100.04o
+perl preprocess.pl cic12100.04o
+perl preprocess.pl cirx2100.04o
+perl preprocess.pl cit12100.04o
+perl preprocess.pl cjms2100.04o
+perl preprocess.pl cjtr2100.04o
+perl preprocess.pl clar2100.04o
+perl preprocess.pl cmp92100.04o
+perl preprocess.pl cnpp2100.04o
+perl preprocess.pl cola2100.04o
+perl preprocess.pl copr2100.04o
+perl preprocess.pl corb2100.04o
+perl preprocess.pl coso2100.04o
+perl preprocess.pl cot12100.04o
+perl preprocess.pl cotd2100.04o
+perl preprocess.pl crfp2100.04o
+perl preprocess.pl crhs2100.04o
+perl preprocess.pl crrs2100.04o
+perl preprocess.pl cru12100.04o
+perl preprocess.pl csci2100.04o
+perl preprocess.pl csdh2100.04o
+perl preprocess.pl csn12100.04o
+perl preprocess.pl csst2100.04o
+perl preprocess.pl ctdm2100.04o
+perl preprocess.pl ctms2100.04o
+perl preprocess.pl cuhs2100.04o
+perl preprocess.pl cvhs2100.04o
+perl preprocess.pl dam22100.04o
+perl preprocess.pl dam32100.04o
+perl preprocess.pl ddmn2100.04o
+perl preprocess.pl dech2100.04o
+perl preprocess.pl defi2100.04o
+perl preprocess.pl det12100.04o
+perl preprocess.pl dhlg2100.04o
+perl preprocess.pl dnrc2100.04o
+perl preprocess.pl drao2100.04o
+perl preprocess.pl drv12100.04o
+perl preprocess.pl dshs2100.04o
+perl preprocess.pl dssc2100.04o
+perl preprocess.pl dubo2100.04o
+perl preprocess.pl dvle2100.04o
+perl preprocess.pl dvls2100.04o
+perl preprocess.pl dvlw2100.04o
+perl preprocess.pl dvne2100.04o
+perl preprocess.pl dvnw2100.04o
+perl preprocess.pl dvpb2100.04o
+perl preprocess.pl dvse2100.04o
+perl preprocess.pl dvsw2100.04o
+perl preprocess.pl dyhs2100.04o
+perl preprocess.pl ecco2100.04o
+perl preprocess.pl ecfs2100.04o
+perl preprocess.pl edpp2100.04o
+perl preprocess.pl elsc2100.04o
+perl preprocess.pl erla2100.04o
+perl preprocess.pl ese22100.04o
+perl preprocess.pl esrw2100.04o
+perl preprocess.pl ewpp2100.04o
+perl preprocess.pl fdtc2100.04o
+perl preprocess.pl flin2100.04o
+perl preprocess.pl fmtp2100.04o
+perl preprocess.pl fmvt2100.04o
+perl preprocess.pl frdn2100.04o
+perl preprocess.pl fvpk2100.04o
+perl preprocess.pl fxhs2100.04o
+perl preprocess.pl fzhs2100.04o
+perl preprocess.pl galb2100.04o
+perl preprocess.pl gdec2100.04o
+perl preprocess.pl ghrp2100.04o
+perl preprocess.pl glpt2100.04o
+perl preprocess.pl glrs2100.04o
+perl preprocess.pl gmpk2100.04o
+perl preprocess.pl gmrc2100.04o
+perl preprocess.pl gnps2100.04o
+perl preprocess.pl gode2100.04o
+perl preprocess.pl godz2100.04o
+perl preprocess.pl gol22100.04o
+perl preprocess.pl gold2100.04o
+perl preprocess.pl grar2100.04o
+perl preprocess.pl gtrg2100.04o
+perl preprocess.pl gvlt2100.04o
+perl preprocess.pl gvrs2100.04o
+perl preprocess.pl hag22100.04o
+perl preprocess.pl hbco2100.04o
+perl preprocess.pl hcmn2100.04o
+perl preprocess.pl hdf12100.04o
+perl preprocess.pl hivi2100.04o
+perl preprocess.pl hklo2100.04o
+perl preprocess.pl hlfx2100.04o
+perl preprocess.pl hnps2100.04o
+perl preprocess.pl hnpt2100.04o
+perl preprocess.pl hol32100.04o
+perl preprocess.pl holc2100.04o
+perl preprocess.pl holp2100.04o
+perl preprocess.pl hotk2100.04o
+perl preprocess.pl hrn12100.04o
+perl preprocess.pl htv12100.04o
+perl preprocess.pl hvwy2100.04o
+perl preprocess.pl hvys2100.04o
+perl preprocess.pl iid22100.04o
+perl preprocess.pl islk2100.04o
+perl preprocess.pl ivco2100.04o
+perl preprocess.pl jnpr2100.04o
+perl preprocess.pl jplm2100.04o
+perl preprocess.pl jtnt2100.04o
+perl preprocess.pl kan12100.04o
+perl preprocess.pl kbrc2100.04o
+perl preprocess.pl kew12100.04o
+perl preprocess.pl knol2100.04o
+perl preprocess.pl krac2100.04o
+perl preprocess.pl kuuj2100.04o
+perl preprocess.pl kyvw2100.04o
+perl preprocess.pl lans2100.04o
+perl preprocess.pl lapc2100.04o
+perl preprocess.pl lasc2100.04o
+perl preprocess.pl lbc12100.04o
+perl preprocess.pl lbc22100.04o
+perl preprocess.pl lbch2100.04o
+perl preprocess.pl lcdt2100.04o
+perl preprocess.pl ldes2100.04o
+perl preprocess.pl ldsw2100.04o
+perl preprocess.pl leba2100.04o
+perl preprocess.pl leep2100.04o
+perl preprocess.pl lfrs2100.04o
+perl preprocess.pl linc2100.04o
+perl preprocess.pl linj2100.04o
+perl preprocess.pl ljrn2100.04o
+perl preprocess.pl lkwy2100.04o
+perl preprocess.pl ll012100.04o
+perl preprocess.pl llas2100.04o
+perl preprocess.pl lnmt2100.04o
+perl preprocess.pl long2100.04o
+perl preprocess.pl lors2100.04o
+perl preprocess.pl lphs2100.04o
+perl preprocess.pl ltut2100.04o
+perl preprocess.pl lvms2100.04o
+perl preprocess.pl mat22100.04o
+perl preprocess.pl mcn12100.04o
+perl preprocess.pl mcon2100.04o
+perl preprocess.pl mdo12100.04o
+perl preprocess.pl mem22100.04o
+perl preprocess.pl merc2100.04o
+perl preprocess.pl metr2100.04o
+perl preprocess.pl mhms2100.04o
+perl preprocess.pl mins2100.04o
+perl preprocess.pl mjpk2100.04o
+perl preprocess.pl mlf12100.04o
+perl preprocess.pl mlfp2100.04o
+perl preprocess.pl mob12100.04o
+perl preprocess.pl monp2100.04o
+perl preprocess.pl mor12100.04o
+perl preprocess.pl mple2100.04o
+perl preprocess.pl mpwd2100.04o
+perl preprocess.pl msob2100.04o
+perl preprocess.pl mta12100.04o
+perl preprocess.pl mvfd2100.04o
+perl preprocess.pl mwtp2100.04o
+perl preprocess.pl myt12100.04o
+perl preprocess.pl naiu2100.04o
+perl preprocess.pl nbps2100.04o
+perl preprocess.pl nbr22100.04o
+perl preprocess.pl ndap2100.04o
+perl preprocess.pl nds12100.04o
+perl preprocess.pl nhrg2100.04o
+perl preprocess.pl nji22100.04o
+perl preprocess.pl nlgn2100.04o
+perl preprocess.pl nlib2100.04o
+perl preprocess.pl noco2100.04o
+perl preprocess.pl nopk2100.04o
+perl preprocess.pl nor12100.04o
+perl preprocess.pl nor22100.04o
+perl preprocess.pl nor32100.04o
+perl preprocess.pl nrc12100.04o
+perl preprocess.pl nsss2100.04o
+perl preprocess.pl oeoc2100.04o
+perl preprocess.pl oghs2100.04o
+perl preprocess.pl okee2100.04o
+perl preprocess.pl opbl2100.04o
+perl preprocess.pl opcl2100.04o
+perl preprocess.pl opcp2100.04o
+perl preprocess.pl opcx2100.04o
+perl preprocess.pl oprd2100.04o
+perl preprocess.pl ormt2100.04o
+perl preprocess.pl ovls2100.04o
+perl preprocess.pl oxyc2100.04o
+perl preprocess.pl p0412100.04o
+perl preprocess.pl pbpp2100.04o
+perl preprocess.pl pck12100.04o
+perl preprocess.pl phlb2100.04o
+perl preprocess.pl pie12100.04o
+perl preprocess.pl pin12100.04o
+perl preprocess.pl pin22100.04o
+perl preprocess.pl pit12100.04o
+perl preprocess.pl pkrd2100.04o
+perl preprocess.pl plo32100.04o
+perl preprocess.pl pmhs2100.04o
+perl preprocess.pl pmob2100.04o
+perl preprocess.pl pnb12100.04o
+perl preprocess.pl ppbf2100.04o
+perl preprocess.pl prds2100.04o
+perl preprocess.pl psap2100.04o
+perl preprocess.pl psc12100.04o
+perl preprocess.pl psdm2100.04o
+perl preprocess.pl pub12100.04o
+perl preprocess.pl puc12100.04o
+perl preprocess.pl pve32100.04o
+perl preprocess.pl pvhs2100.04o
+perl preprocess.pl pvrs2100.04o
+perl preprocess.pl qhtp2100.04o
+perl preprocess.pl ramt2100.04o
+perl preprocess.pl rca22100.04o
+perl preprocess.pl rdmt2100.04o
+perl preprocess.pl rdom2100.04o
+perl preprocess.pl red12100.04o
+perl preprocess.pl rhcl2100.04o
+perl preprocess.pl ric12100.04o
+perl preprocess.pl roch2100.04o
+perl preprocess.pl rock2100.04o
+perl preprocess.pl rstp2100.04o
+perl preprocess.pl rths2100.04o
+perl preprocess.pl sacy2100.04o
+perl preprocess.pl sag12100.04o
+perl preprocess.pl sal12100.04o
+perl preprocess.pl sask2100.04o
+perl preprocess.pl sbcc2100.04o
+perl preprocess.pl sch22100.04o
+perl preprocess.pl scia2100.04o
+perl preprocess.pl scip2100.04o
+perl preprocess.pl scms2100.04o
+perl preprocess.pl sdhl2100.04o
+perl preprocess.pl sfdm2100.04o
+perl preprocess.pl sg102100.04o
+perl preprocess.pl sg112100.04o
+perl preprocess.pl sg132100.04o
+perl preprocess.pl sg162100.04o
+perl preprocess.pl sg192100.04o
+perl preprocess.pl sg202100.04o
+perl preprocess.pl sg232100.04o
+perl preprocess.pl sg292100.04o
+perl preprocess.pl sghs2100.04o
+perl preprocess.pl sgps2100.04o
+perl preprocess.pl shk12100.04o
+perl preprocess.pl shos2100.04o
+perl preprocess.pl sibe2100.04o
+perl preprocess.pl siby2100.04o
+perl preprocess.pl silk2100.04o
+perl preprocess.pl sio32100.04o
+perl preprocess.pl sio52100.04o
+perl preprocess.pl slid2100.04o
+perl preprocess.pl slms2100.04o
+perl preprocess.pl snhs2100.04o
+perl preprocess.pl sni12100.04o
+perl preprocess.pl sol12100.04o
+perl preprocess.pl somt2100.04o
+perl preprocess.pl sowr2100.04o
+perl preprocess.pl spic2100.04o
+perl preprocess.pl spk12100.04o
+perl preprocess.pl spms2100.04o
+perl preprocess.pl spn12100.04o
+perl preprocess.pl srp12100.04o
+perl preprocess.pl stkr2100.04o
+perl preprocess.pl stl32100.04o
+perl preprocess.pl stp12100.04o
+perl preprocess.pl stri2100.04o
+perl preprocess.pl sum12100.04o
+perl preprocess.pl sup12100.04o
+perl preprocess.pl sup22100.04o
+perl preprocess.pl sup32100.04o
+perl preprocess.pl tabl2100.04o
+perl preprocess.pl thcp2100.04o
+perl preprocess.pl tilc2100.04o
+perl preprocess.pl tmap2100.04o
+perl preprocess.pl tmgo2100.04o
+perl preprocess.pl toiy2100.04o
+perl preprocess.pl torp2100.04o
+perl preprocess.pl tost2100.04o
+perl preprocess.pl trak2100.04o
+perl preprocess.pl tung2100.04o
+perl preprocess.pl twms2100.04o
+perl preprocess.pl uclp2100.04o
+perl preprocess.pl ucsb2100.04o
+perl preprocess.pl unb12100.04o
+perl preprocess.pl univ2100.04o
+perl preprocess.pl upsa2100.04o
+perl preprocess.pl usc12100.04o
+perl preprocess.pl usgc2100.04o
+perl preprocess.pl usn32100.04o
+perl preprocess.pl usno2100.04o
+perl preprocess.pl vald2100.04o
+perl preprocess.pl vcap2100.04o
+perl preprocess.pl vdcy2100.04o
+perl preprocess.pl vic12100.04o
+perl preprocess.pl vimt2100.04o
+perl preprocess.pl vnco2100.04o
+perl preprocess.pl vncx2100.04o
+perl preprocess.pl vnps2100.04o
+perl preprocess.pl vtis2100.04o
+perl preprocess.pl vyas2100.04o
+perl preprocess.pl watc2100.04o
+perl preprocess.pl wchs2100.04o
+perl preprocess.pl wes22100.04o
+perl preprocess.pl wgpp2100.04o
+perl preprocess.pl whc12100.04o
+perl preprocess.pl whyt2100.04o
+perl preprocess.pl widc2100.04o
+perl preprocess.pl wkpk2100.04o
+perl preprocess.pl wlsn2100.04o
+perl preprocess.pl wlwy2100.04o
+perl preprocess.pl wmap2100.04o
+perl preprocess.pl wnra2100.04o
+perl preprocess.pl womt2100.04o
+perl preprocess.pl woos2100.04o
+perl preprocess.pl wrhs2100.04o
+perl preprocess.pl wwmt2100.04o
+perl preprocess.pl yell2100.04o
+perl preprocess.pl you12100.04o
diff --git a/trunk/apps/ionosphere/example/list.files b/trunk/apps/ionosphere/example/list.files
new file mode 100644
index 0000000..36b0731
--- /dev/null
+++ b/trunk/apps/ionosphere/example/list.files
@@ -0,0 +1,366 @@
+processed\adri.obs
+processed\agmt.obs
+processed\algo.obs
+processed\alpp.obs
+processed\amc2.obs
+processed\ana1.obs
+processed\aoa1.obs
+processed\arm1.obs
+processed\arm2.obs
+processed\avry.obs
+processed\azry.obs
+processed\baie.obs
+processed\bake.obs
+processed\bar1.obs
+processed\bayr.obs
+processed\bbdm.obs
+processed\bbry.obs
+processed\bcwr.obs
+processed\bemt.obs
+processed\bepk.obs
+processed\bgis.obs
+processed\bil1.obs
+processed\bill.obs
+processed\bkap.obs
+processed\bkms.obs
+processed\bkr1.obs
+processed\blmm.obs
+processed\blsa.obs
+processed\blyt.obs
+processed\bmhl.obs
+processed\bmry.obs
+processed\bran.obs
+processed\brew.obs
+processed\brig.obs
+processed\brpk.obs
+processed\bsry.obs
+processed\btdm.obs
+processed\bvpp.obs
+processed\ca99.obs
+processed\cact.obs
+processed\cags.obs
+processed\casa.obs
+processed\casp.obs
+processed\cat1.obs
+processed\cat2.obs
+processed\cbhs.obs
+processed\cccc.obs
+processed\ccco.obs
+processed\cccs.obs
+processed\cdmt.obs
+processed\cgdm.obs
+processed\chb1.obs
+processed\ches.obs
+processed\chil.obs
+processed\chme.obs
+processed\chms.obs
+processed\chur.obs
+processed\cic1.obs
+processed\cirx.obs
+processed\cit1.obs
+processed\cjms.obs
+processed\cjtr.obs
+processed\clar.obs
+processed\cmp9.obs
+processed\cnpp.obs
+processed\cola.obs
+processed\copr.obs
+processed\corb.obs
+processed\coso.obs
+processed\cot1.obs
+processed\cotd.obs
+processed\crfp.obs
+processed\crhs.obs
+processed\crrs.obs
+processed\cru1.obs
+processed\csci.obs
+processed\csdh.obs
+processed\csn1.obs
+processed\csst.obs
+processed\ctdm.obs
+processed\ctms.obs
+processed\cuhs.obs
+processed\cvhs.obs
+processed\dam2.obs
+processed\dam3.obs
+processed\ddmn.obs
+processed\dech.obs
+processed\defi.obs
+processed\det1.obs
+processed\dhlg.obs
+processed\dnrc.obs
+processed\drao.obs
+processed\drv1.obs
+processed\dshs.obs
+processed\dssc.obs
+processed\dubo.obs
+processed\dvnw.obs
+processed\dvpb.obs
+processed\dvsw.obs
+processed\dyhs.obs
+processed\ecco.obs
+processed\ecfs.obs
+processed\edpp.obs
+processed\elsc.obs
+processed\erla.obs
+processed\ese2.obs
+processed\esrw.obs
+processed\ewpp.obs
+processed\fdtc.obs
+processed\flin.obs
+processed\fmtp.obs
+processed\fmvt.obs
+processed\frdn.obs
+processed\fvpk.obs
+processed\fxhs.obs
+processed\fzhs.obs
+processed\galb.obs
+processed\gdec.obs
+processed\ghrp.obs
+processed\glpt.obs
+processed\glrs.obs
+processed\gmpk.obs
+processed\gmrc.obs
+processed\gnps.obs
+processed\gode.obs
+processed\godz.obs
+processed\gol2.obs
+processed\gold.obs
+processed\grar.obs
+processed\gtrg.obs
+processed\gvlt.obs
+processed\gvrs.obs
+processed\hag2.obs
+processed\hbco.obs
+processed\hcmn.obs
+processed\hdf1.obs
+processed\hivi.obs
+processed\hklo.obs
+processed\hlfx.obs
+processed\hnps.obs
+processed\hnpt.obs
+processed\hol3.obs
+processed\holc.obs
+processed\holp.obs
+processed\hotk.obs
+processed\hrn1.obs
+processed\htv1.obs
+processed\hvwy.obs
+processed\hvys.obs
+processed\iid2.obs
+processed\islk.obs
+processed\ivco.obs
+processed\jnpr.obs
+processed\jplm.obs
+processed\jtnt.obs
+processed\kan1.obs
+processed\kbrc.obs
+processed\kew1.obs
+processed\knol.obs
+processed\krac.obs
+processed\kuuj.obs
+processed\kyvw.obs
+processed\lans.obs
+processed\lapc.obs
+processed\lasc.obs
+processed\lbc1.obs
+processed\lbc2.obs
+processed\lbch.obs
+processed\lcdt.obs
+processed\ldes.obs
+processed\ldsw.obs
+processed\leba.obs
+processed\leep.obs
+processed\lfrs.obs
+processed\linc.obs
+processed\linj.obs
+processed\ljrn.obs
+processed\lkwy.obs
+processed\ll01.obs
+processed\llas.obs
+processed\lnmt.obs
+processed\long.obs
+processed\lors.obs
+processed\lphs.obs
+processed\ltut.obs
+processed\lvms.obs
+processed\mat2.obs
+processed\mcn1.obs
+processed\mcon.obs
+processed\mdo1.obs
+processed\mem2.obs
+processed\merc.obs
+processed\metr.obs
+processed\mhms.obs
+processed\mins.obs
+processed\mjpk.obs
+processed\mlf1.obs
+processed\mlfp.obs
+processed\mob1.obs
+processed\monp.obs
+processed\mor1.obs
+processed\mple.obs
+processed\mpwd.obs
+processed\msob.obs
+processed\mta1.obs
+processed\mvfd.obs
+processed\mwtp.obs
+processed\myt1.obs
+processed\naiu.obs
+processed\nbps.obs
+processed\nbr2.obs
+processed\ndap.obs
+processed\nds1.obs
+processed\nhrg.obs
+processed\nji2.obs
+processed\nlgn.obs
+processed\nlib.obs
+processed\noco.obs
+processed\nopk.obs
+processed\nor1.obs
+processed\nor2.obs
+processed\nor3.obs
+processed\nrc1.obs
+processed\nsss.obs
+processed\oeoc.obs
+processed\oghs.obs
+processed\okee.obs
+processed\opbl.obs
+processed\opcl.obs
+processed\opcp.obs
+processed\opcx.obs
+processed\oprd.obs
+processed\ormt.obs
+processed\ovls.obs
+processed\oxyc.obs
+processed\p041.obs
+processed\pbpp.obs
+processed\pck1.obs
+processed\phlb.obs
+processed\pie1.obs
+processed\pin1.obs
+processed\pin2.obs
+processed\pit1.obs
+processed\pkrd.obs
+processed\plo3.obs
+processed\pmhs.obs
+processed\pmob.obs
+processed\pnb1.obs
+processed\ppbf.obs
+processed\prds.obs
+processed\psap.obs
+processed\psc1.obs
+processed\psdm.obs
+processed\pub1.obs
+processed\puc1.obs
+processed\pve3.obs
+processed\pvhs.obs
+processed\pvrs.obs
+processed\qhtp.obs
+processed\ramt.obs
+processed\rca2.obs
+processed\rdmt.obs
+processed\rdom.obs
+processed\red1.obs
+processed\rhcl.obs
+processed\ric1.obs
+processed\roch.obs
+processed\rock.obs
+processed\rstp.obs
+processed\rths.obs
+processed\sacy.obs
+processed\sag1.obs
+processed\sal1.obs
+processed\sask.obs
+processed\sbcc.obs
+processed\sch2.obs
+processed\scia.obs
+processed\scip.obs
+processed\scms.obs
+processed\sdhl.obs
+processed\sfdm.obs
+processed\sg10.obs
+processed\sg11.obs
+processed\sg13.obs
+processed\sg16.obs
+processed\sg19.obs
+processed\sg20.obs
+processed\sg23.obs
+processed\sg29.obs
+processed\sghs.obs
+processed\sgps.obs
+processed\shk1.obs
+processed\shos.obs
+processed\sibe.obs
+processed\siby.obs
+processed\silk.obs
+processed\sio3.obs
+processed\sio5.obs
+processed\slid.obs
+processed\slms.obs
+processed\snhs.obs
+processed\sni1.obs
+processed\sol1.obs
+processed\somt.obs
+processed\sowr.obs
+processed\spic.obs
+processed\spk1.obs
+processed\spms.obs
+processed\spn1.obs
+processed\srp1.obs
+processed\stkr.obs
+processed\stl3.obs
+processed\stp1.obs
+processed\stri.obs
+processed\sum1.obs
+processed\sup1.obs
+processed\sup2.obs
+processed\sup3.obs
+processed\tabl.obs
+processed\thcp.obs
+processed\tilc.obs
+processed\tmap.obs
+processed\tmgo.obs
+processed\toiy.obs
+processed\torp.obs
+processed\tost.obs
+processed\trak.obs
+processed\tung.obs
+processed\twms.obs
+processed\uclp.obs
+processed\ucsb.obs
+processed\unb1.obs
+processed\univ.obs
+processed\upsa.obs
+processed\usc1.obs
+processed\usgc.obs
+processed\usn3.obs
+processed\usno.obs
+processed\vald.obs
+processed\vcap.obs
+processed\vdcy.obs
+processed\vic1.obs
+processed\vimt.obs
+processed\vnco.obs
+processed\vncx.obs
+processed\vnps.obs
+processed\vtis.obs
+processed\vyas.obs
+processed\watc.obs
+processed\wchs.obs
+processed\wes2.obs
+processed\wgpp.obs
+processed\whc1.obs
+processed\whyt.obs
+processed\widc.obs
+processed\wkpk.obs
+processed\wlsn.obs
+processed\wlwy.obs
+processed\wmap.obs
+processed\wnra.obs
+processed\womt.obs
+processed\woos.obs
+processed\wrhs.obs
+processed\wwmt.obs
+processed\yell.obs
+processed\you1.obs
diff --git a/trunk/apps/ionosphere/example/maps.inp b/trunk/apps/ionosphere/example/maps.inp
new file mode 100644
index 0000000..29feb30
--- /dev/null
+++ b/trunk/apps/ionosphere/example/maps.inp
@@ -0,0 +1,35 @@
+# input file for VTECMap
+--verbose
+#
+# input
+--input list.files@
+--navdir alldata
+--nav brdc2100.04n
+# ref station
+--RxLLH 50.,270.,0.0,refs
+# sat+rx biases
+--Biases satbias.txt
+#
+# Processing
+--UniformSpacing
+#--UniformGrid
+--ElevThresh 6.0
+--MinAcqTime 0
+--NumLat 40
+--BeginLat 40
+--DeltaLat .5
+--NumLon 40
+--BeginLon 250
+--DeltaLon 1
+#  VTEC map will be created by default
+#--MUFmap  these maps have not been verified yet...
+#--F0F2map
+#
+# output
+--log maps.log
+--OutputGrid
+--GnuplotOutput
+--BaseName out/igs
+#
+#--BeginTime 2004,7,28,23,0,0.0
+#--EndTime 2004,7,28,23,59,59.0
diff --git a/trunk/apps/ionosphere/example/plotall.pl b/trunk/apps/ionosphere/example/plotall.pl
new file mode 100755
index 0000000..3962710
--- /dev/null
+++ b/trunk/apps/ionosphere/example/plotall.pl
@@ -0,0 +1,87 @@
+#!/usr/bin/perl
+use File::stat;
+use strict;
+use warnings;
+
+if($#ARGV < 1) {
+   print "Usage: perl plotall.pl <base> <n1> <n2>\n";
+   print "   Plot surface data with contour for all files <base>.N\n";
+   print "   where n1 <= N <= n2\n";
+   #TD add limits, view, etc
+   exit;
+}
+
+my $pngout='no';   # set to something other than yes for no .png output
+
+my ($base, $n, $n1, $n2, $dn, $slash, $file);
+if($#ARGV > -1) { $base = shift @ARGV; }
+if($#ARGV > -1) { $n1 = shift @ARGV; }
+$n2 ='';
+if($#ARGV > -1) { $n2 = shift @ARGV; }
+if($n2 eq '') { $n2=$n1; }
+$dn = '';
+if($#ARGV > -1) { $dn = shift @ARGV; }
+if($dn eq '') { $dn = 1; }
+
+print "Plot all files $base.n for $n1 <= n <= $n2 in steps $dn\n";
+
+open(FPOUT, ">$base.gp") or die "Cant open $base.gp file\n";
+print FPOUT "set title \"Ionospheric Vertical TEC\"\n";
+print FPOUT "set xlabel \"Latitude\"\n";
+print FPOUT "set ylabel \"Longitude\"\n";
+print FPOUT "set zlabel \"TEC Units\"\n";
+print FPOUT "set xrange [40:60]\n";
+print FPOUT "set yrange [250:290]\n";
+print FPOUT "set zrange [0:12]\n";
+print FPOUT "set cbrange [0:12]\n";
+print FPOUT "set pm3d\n";
+print FPOUT "unset key\n";
+print FPOUT "set data style lines\n";
+print FPOUT "set contour base\n";
+print FPOUT "set cntrparam levels incremental 0.0,1.5,12.0\n";
+print FPOUT "# comment out next two to see only contours\n";
+print FPOUT "set hidden3d\n";
+print FPOUT "set view 60,45\n";
+print FPOUT "# un-comment out next two to see only contours\n";
+print FPOUT "#set nosurface\n";
+print FPOUT "#set view 0,0\n";
+
+my $N=int(($n2-$n1)/$dn);
+foreach my $i (0..$N) {
+   my $I=sprintf("%04d",$n1+$i*$dn);
+   $file = "$base.$I";
+   if(not open(FPTEST, "$base.$I")) {
+      print "Could not open $base.$I skip.\n";
+      next;
+   }
+   close(FPTEST);
+   # determine time and put up title
+   my $min = ($n1+$i*$dn)*0.5;       # 30 second = 0.5 minute data
+   my $hr = int($min/60);
+   $min = $min - $hr * 60;
+   $hr = $hr - 6;                    # local time at 270deg E longitude
+   if($hr < 0) { $hr += 24; }
+   my $msg = sprintf("LOCAL TIME %02d:%04.1f",$hr,$min);
+   if($i > 0) { print FPOUT "unset label 1\n"; }
+   print FPOUT "set label 1 \"July 28, 2004 - $msg\" at screen 0.5,0.88 center\n";
+   if($pngout eq 'yes') {
+      print FPOUT "set terminal png; set output \"$base$I.png\"\n";
+   }
+   print FPOUT "splot \"$base.$I\" using 1:2:3\n";
+   #if($^O eq "MSWin32" && $pngout ne 'yes') {
+   if($pngout ne 'yes') {
+      print FPOUT "pause -1 \"Surface $I\"\n";
+   }
+};
+
+close FPOUT;
+
+if ($^O eq "linux") {
+   #`/usr/local/bin/gnuplot -persist contour$N.gp`;
+   open(GP, "/usr/local/bin/gnuplot -persist $base.gp |");
+}
+if ($^O eq "MSWin32") {
+   #open(GP, "C:\\bat\\gp $base.gp |");
+   open(GP, "c:\\gnuplot\\bin\\wgnuplot.exe $base.gp |");
+}
+close(GP);
diff --git a/trunk/apps/ionosphere/example/preprocess.pl b/trunk/apps/ionosphere/example/preprocess.pl
new file mode 100755
index 0000000..ec69cc6
--- /dev/null
+++ b/trunk/apps/ionosphere/example/preprocess.pl
@@ -0,0 +1,104 @@
+#!/usr/local/bin/perl
+#   
+# preprocess.pl  Preprocess Rinex data for SatBiasIonoModel
+#                Use ResCor to compute EL AZ LA LO SR,
+#                add station id to header as MARKER NAME,
+#                put station position in header,
+#                and decimate to 30 seconds.
+#                Assumes ephemeris file is in same directory,
+#                and has a name of the same form (with "brdc"),
+#                as data files: <dir>/zwenXXXX.NNo and <dir>/brdcXXXX.NNn
+#
+use strict;
+use warnings;
+use File::Basename;
+
+my ($stationID,$filename,$slash,$prgmdir,$option,$ephfile,$rawfile,$obsfile,$sumfile);
+my ($x,$y,$z)=(0,0,0);
+my @opt=();
+
+if($#ARGV < 0) {
+   print "Usage: perl preprocess.pl <filename>\n";
+   print "   where <filename> is the complete file name,\n";
+   print "   and <filename> is found in dir ./alldata.\n";
+   print "   Output (.obs and .sum) are placed in ./processed.\n";
+   exit;
+}
+$filename = shift @ARGV;
+$stationID = substr($filename,length($filename)-12,4);
+
+if ($^O eq "linux") {
+   $slash = "/";
+   # GPSTK prgms found here
+   $prgmdir = "/home/btolman/gpstk/dev/apps/Rinextools";
+}
+if ($^O eq "MSWin32") {
+   $slash = "\\";
+   # GPSTK prgms found here
+   $prgmdir = "C:\\Code\\GPSLIB\\Working\\dev\\apps\\Rinextools";
+}
+
+print "Process station $stationID in file $filename\n";
+
+$rawfile = "alldata$slash$filename";
+$obsfile = "processed$slash$stationID.obs";
+$sumfile = "processed$slash$stationID.sum";
+
+# make up ResCor options
+#decimate to 30 second data, fill output header
+push @opt, "-IF$rawfile -OF$obsfile";
+push @opt, "-TN30.0 -HDf -HDm$stationID --Callow --IonoHt 350";
+push @opt, "-DOL1 -DOL2";
+#push @opt, "-DOC1 -DOP1 -DOP2";
+push @opt, "-DOD1 -DOD2 -DOS1 -DOS2";
+push @opt, "-AOEL -AOAZ -AOLA -AOLO -AOSR";
+
+# Run RinSum and gather information for ResCor options.
+$option = $prgmdir . $slash . "RinSum -i$rawfile -o$sumfile -g";
+#print "Run $option\n";
+`$option`;
+
+open FILE, "$sumfile" or die "Couldn't open RinSum output $sumfile\n";
+while(<FILE>) {
+   chomp;
+   if(/could not be opened./) {
+      print "Data file $rawfile could not be opened - abort.\n";
+      exit;
+   }
+   if(/Position \(XYZ,m\)/) {
+      $_ =~ s/Position \(XYZ,m\) : \(([0-9\.\-]+), ([0-9\.\-]+), ([0-9\.\-]+)\)\./$1 $2 $3/;
+      #print "Found position $1 $2 $3\n";
+      $x = $1;
+      $y = $2;
+      $z = $3;
+      if($x != 0) {
+         push @opt, "--RxXYZ " . sprintf("%.4f",$x) . "," . sprintf("%.4f",$y) . "," . sprintf("%.4f",$z);
+      }
+   }
+   if(/WARNING: ObsType P1 should be deleted from header./) {
+      $option = "--Cforce";
+      push @opt, $option;
+      last;
+   }
+}
+close(FILE);
+
+# if position was not found in the header, compute and add it
+if($x == 0) {
+   push @opt, "--RAIM --RAIMhead";
+}
+
+# add ephemeris file
+$ephfile = $rawfile;
+$ephfile =~ s/$stationID/brdc/;
+$ephfile =~ s/\.([90][0-9])o/.$1n/;
+push @opt, "--nav $ephfile";
+
+$option = $prgmdir . $slash . "ResCor @opt";
+print "Run $option\n";
+`$option`;
+
+#re-run RinSum
+$option = $prgmdir . $slash . "RinSum -i$obsfile -o$sumfile -g";
+print "Run $option\n";
+`$option`;
diff --git a/trunk/apps/ionosphere/example/see b/trunk/apps/ionosphere/example/see
new file mode 100755
index 0000000..12711b1
--- /dev/null
+++ b/trunk/apps/ionosphere/example/see
@@ -0,0 +1 @@
+perl plotall.pl out/%1 %2 %3 %4
diff --git a/trunk/apps/mergetools/Jamfile b/trunk/apps/mergetools/Jamfile
new file mode 100644
index 0000000..58a7192
--- /dev/null
+++ b/trunk/apps/mergetools/Jamfile
@@ -0,0 +1,9 @@
+
+SubDir TOP apps mergetools ;
+
+GPSLinkLibraries mergeRinNav mergeRinObs mergeRinMet mergeFIC : gpstk ;
+
+GPSMain mergeRinObs : mergeRinObs.cpp ;
+GPSMain mergeRinNav : mergeRinNav.cpp ;
+GPSMain mergeRinMet : mergeRinMet.cpp ;
+GPSMain mergeFIC : mergeFIC.cpp ;
\ No newline at end of file
diff --git a/trunk/apps/mergetools/Makefile.am b/trunk/apps/mergetools/Makefile.am
new file mode 100644
index 0000000..652ed4a
--- /dev/null
+++ b/trunk/apps/mergetools/Makefile.am
@@ -0,0 +1,9 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = mergeRinNav mergeRinObs mergeRinMet mergeFIC
+
+mergeRinObs_SOURCES = mergeRinObs.cpp
+mergeRinNav_SOURCES = mergeRinNav.cpp
+mergeRinMet_SOURCES = mergeRinMet.cpp
+mergeFIC_SOURCES = mergeFIC.cpp
diff --git a/trunk/apps/mergetools/Makefile.in b/trunk/apps/mergetools/Makefile.in
new file mode 100644
index 0000000..a1b9e3c
--- /dev/null
+++ b/trunk/apps/mergetools/Makefile.in
@@ -0,0 +1,451 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = mergeRinNav$(EXEEXT) mergeRinObs$(EXEEXT) \
+	mergeRinMet$(EXEEXT) mergeFIC$(EXEEXT)
+subdir = apps/mergetools
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_mergeFIC_OBJECTS = mergeFIC.$(OBJEXT)
+mergeFIC_OBJECTS = $(am_mergeFIC_OBJECTS)
+mergeFIC_LDADD = $(LDADD)
+mergeFIC_DEPENDENCIES = ../../src/libgpstk.la
+am_mergeRinMet_OBJECTS = mergeRinMet.$(OBJEXT)
+mergeRinMet_OBJECTS = $(am_mergeRinMet_OBJECTS)
+mergeRinMet_LDADD = $(LDADD)
+mergeRinMet_DEPENDENCIES = ../../src/libgpstk.la
+am_mergeRinNav_OBJECTS = mergeRinNav.$(OBJEXT)
+mergeRinNav_OBJECTS = $(am_mergeRinNav_OBJECTS)
+mergeRinNav_LDADD = $(LDADD)
+mergeRinNav_DEPENDENCIES = ../../src/libgpstk.la
+am_mergeRinObs_OBJECTS = mergeRinObs.$(OBJEXT)
+mergeRinObs_OBJECTS = $(am_mergeRinObs_OBJECTS)
+mergeRinObs_LDADD = $(LDADD)
+mergeRinObs_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(mergeFIC_SOURCES) $(mergeRinMet_SOURCES) \
+	$(mergeRinNav_SOURCES) $(mergeRinObs_SOURCES)
+DIST_SOURCES = $(mergeFIC_SOURCES) $(mergeRinMet_SOURCES) \
+	$(mergeRinNav_SOURCES) $(mergeRinObs_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+mergeRinObs_SOURCES = mergeRinObs.cpp
+mergeRinNav_SOURCES = mergeRinNav.cpp
+mergeRinMet_SOURCES = mergeRinMet.cpp
+mergeFIC_SOURCES = mergeFIC.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  apps/mergetools/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  apps/mergetools/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+mergeFIC$(EXEEXT): $(mergeFIC_OBJECTS) $(mergeFIC_DEPENDENCIES) 
+	@rm -f mergeFIC$(EXEEXT)
+	$(CXXLINK) $(mergeFIC_LDFLAGS) $(mergeFIC_OBJECTS) $(mergeFIC_LDADD) $(LIBS)
+mergeRinMet$(EXEEXT): $(mergeRinMet_OBJECTS) $(mergeRinMet_DEPENDENCIES) 
+	@rm -f mergeRinMet$(EXEEXT)
+	$(CXXLINK) $(mergeRinMet_LDFLAGS) $(mergeRinMet_OBJECTS) $(mergeRinMet_LDADD) $(LIBS)
+mergeRinNav$(EXEEXT): $(mergeRinNav_OBJECTS) $(mergeRinNav_DEPENDENCIES) 
+	@rm -f mergeRinNav$(EXEEXT)
+	$(CXXLINK) $(mergeRinNav_LDFLAGS) $(mergeRinNav_OBJECTS) $(mergeRinNav_LDADD) $(LIBS)
+mergeRinObs$(EXEEXT): $(mergeRinObs_OBJECTS) $(mergeRinObs_DEPENDENCIES) 
+	@rm -f mergeRinObs$(EXEEXT)
+	$(CXXLINK) $(mergeRinObs_LDFLAGS) $(mergeRinObs_OBJECTS) $(mergeRinObs_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mergeFIC.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mergeRinMet.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mergeRinNav.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mergeRinObs.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/mergetools/MergeFrame.hpp b/trunk/apps/mergetools/MergeFrame.hpp
new file mode 100644
index 0000000..2ee89e5
--- /dev/null
+++ b/trunk/apps/mergetools/MergeFrame.hpp
@@ -0,0 +1,93 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/mergetools/MergeFrame.hpp#3 $"
+
+#ifndef MERGEFRAME_HPP
+#define MERGEFRAME_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "BasicFramework.hpp"
+
+/// Base class for writing utilities that merge files
+
+class MergeFrame : public gpstk::BasicFramework
+{
+public:
+      /**
+       * arg0 is the name of the executable from argv[0].
+       * type is a string with the type of file (i.e. "RINEX Obs").
+       * message is an extra message that gets passed to the
+       * program description.
+       */
+   MergeFrame(char* arg0, 
+              const std::string& type, 
+              const std::string& message = std::string())
+         : gpstk::BasicFramework(arg0, 
+                                 "Sorts and merges input " + type +
+                                 " files into a single file. " + message),
+         inputFileOption('i',
+                         "input",
+                         "An input " + type +
+                         " file, can be repeated as many times as needed.",
+                         true),
+         outputFileOption('o',
+                          "output",
+                          "Name for the merged output " + type + " file. Any "
+                          "existing file with that name will be overwritten.", 
+                          true)
+      {
+         outputFileOption.setMaxCount(1);
+      }
+
+   virtual bool initialize(int argc, char* argv[]) throw()
+      {
+         return gpstk::BasicFramework::initialize(argc, argv);
+      }
+
+protected:
+   virtual void process() = 0;
+
+   gpstk::CommandOptionWithAnyArg inputFileOption;
+   gpstk::CommandOptionWithAnyArg outputFileOption;
+};
+
+
+#endif
diff --git a/trunk/apps/mergetools/mergeFIC b/trunk/apps/mergetools/mergeFIC
new file mode 100755
index 0000000..0e69a8d
Binary files /dev/null and b/trunk/apps/mergetools/mergeFIC differ
diff --git a/trunk/apps/mergetools/mergeFIC.cpp b/trunk/apps/mergetools/mergeFIC.cpp
new file mode 100644
index 0000000..66eb746
--- /dev/null
+++ b/trunk/apps/mergetools/mergeFIC.cpp
@@ -0,0 +1,109 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/mergetools/mergeFIC.cpp#1 $"
+
+// mergeFIC
+// Merge and sort FIC files
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FICStream.hpp"
+#include "FICData.hpp"
+#include "FICFilterOperators.hpp"
+#include "FileFilterFrameWithHeader.hpp"
+
+#include "MergeFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class MergeFIC : public MergeFrame
+{
+public:
+   MergeFIC(char* arg0) : 
+         MergeFrame(arg0, 
+                    std::string("FIC"),
+                    std::string("No filtering is performed on FIC merges.  The resulting file may have some duplicate data."))
+      {}   
+
+protected:
+   virtual void process();
+};
+
+void MergeFIC::process()
+{
+   std::vector<std::string> files = inputFileOption.getValue();
+
+      // FFF will sort and merge the FIC data using a simple time check
+   FileFilterFrameWithHeader<FICStream, FICData, FICHeader> 
+      fff(files);
+
+      // arbitrarily take the first FIC header as the header for the merged 
+      // file
+   std::string outputFile = outputFileOption.getValue().front();
+   fff.writeFile(outputFile, fff.frontHeader());
+}
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      MergeFIC m(argv[0]);
+      if (!m.initialize(argc, argv))
+         return 0;
+      if (!m.run())
+         return 1;
+      
+      return 0;
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
diff --git a/trunk/apps/mergetools/mergeRinMet b/trunk/apps/mergetools/mergeRinMet
new file mode 100755
index 0000000..d772b86
Binary files /dev/null and b/trunk/apps/mergetools/mergeRinMet differ
diff --git a/trunk/apps/mergetools/mergeRinMet.cpp b/trunk/apps/mergetools/mergeRinMet.cpp
new file mode 100644
index 0000000..517c38d
--- /dev/null
+++ b/trunk/apps/mergetools/mergeRinMet.cpp
@@ -0,0 +1,123 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/mergetools/mergeRinMet.cpp#3 $"
+
+// mergeRinMet
+// Merge and sort rinex metrological files
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "RinexMetStream.hpp"
+#include "RinexMetHeader.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetFilterOperators.hpp"
+#include "FileFilterFrameWithHeader.hpp"
+
+#include "MergeFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class MergeRinMet : public MergeFrame
+{
+public:
+   MergeRinMet(char* arg0)
+      : MergeFrame(arg0, 
+                   std::string("RINEX Met"),
+                   std::string("The output will be sorted by time. This program assumes all the input files are from the same station."))
+   {}
+   
+protected:
+   virtual void process();
+};
+
+void MergeRinMet::process()
+{
+   std::vector<std::string> files = inputFileOption.getValue();
+
+      // FFF will sort and merge the data using
+      // a simple time check
+   FileFilterFrameWithHeader<RinexMetStream, RinexMetData, RinexMetHeader> 
+      fff(files);
+
+      // get the header data
+   RinexMetHeaderTouchHeaderMerge merged;
+   fff.touchHeader(merged);
+
+      // sort and filter the data
+   fff.sort(RinexMetDataOperatorLessThanFull(merged.obsSet));
+   fff.unique(RinexMetDataOperatorEqualsSimple());
+   
+      // set the pgm/runby/date field
+   merged.theHeader.fileProgram = std::string("mergeRinMet");
+   merged.theHeader.fileAgency = std::string("gpstk");
+   merged.theHeader.date = DayTime().asString();
+
+      // write the header
+   std::string outputFile = outputFileOption.getValue().front();
+   fff.writeFile(outputFile, merged.theHeader);
+}
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      MergeRinMet m(argv[0]);
+      if (!m.initialize(argc, argv))
+         return 0;
+      if (!m.run())
+         return 1;
+      
+      return 0;
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
diff --git a/trunk/apps/mergetools/mergeRinNav b/trunk/apps/mergetools/mergeRinNav
new file mode 100755
index 0000000..3260e57
Binary files /dev/null and b/trunk/apps/mergetools/mergeRinNav differ
diff --git a/trunk/apps/mergetools/mergeRinNav.cpp b/trunk/apps/mergetools/mergeRinNav.cpp
new file mode 100644
index 0000000..49ffc5c
--- /dev/null
+++ b/trunk/apps/mergetools/mergeRinNav.cpp
@@ -0,0 +1,126 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/mergetools/mergeRinNav.cpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "RinexNavStream.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavFilterOperators.hpp"
+#include "FileFilterFrameWithHeader.hpp"
+
+#include "MergeFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class MergeRinNav : public MergeFrame
+{
+public:
+   MergeRinNav(char* arg0)
+      : MergeFrame(arg0, 
+                   std::string("RINEX Nav"),
+                   std::string("Only unique nav subframes will be output and they will be sorted by time."))
+   {}
+
+protected:
+   virtual void process();
+};
+
+void MergeRinNav::process()
+{
+   std::vector<std::string> files = inputFileOption.getValue();
+
+      // FFF will sort and merge the obs data using
+      // a simple time check
+   FileFilterFrameWithHeader<RinexNavStream, RinexNavData, RinexNavHeader> 
+      fff(files);
+
+      // get the header data
+   RinexNavHeaderTouchHeaderMerge merged;
+   fff.touchHeader(merged);
+
+      // sort and filter the data
+   fff.sort(RinexNavDataOperatorLessThanFull());
+   fff.unique(RinexNavDataOperatorEqualsFull());
+   
+      // set the pgm/runby/date field
+   merged.theHeader.fileType = string("NAVIGATION");
+   merged.theHeader.fileProgram = std::string("mergeRinNav");
+   merged.theHeader.fileAgency = std::string("gpstk");
+   merged.theHeader.date = DayTime().asString();
+   merged.theHeader.version = 2.1;
+   merged.theHeader.valid |= gpstk::RinexNavHeader::versionValid;
+   merged.theHeader.valid |= gpstk::RinexNavHeader::runByValid;
+   merged.theHeader.valid |= gpstk::RinexNavHeader::commentValid;
+   merged.theHeader.valid |= gpstk::RinexNavHeader::endValid;
+
+      // write the header
+   std::string outputFile = outputFileOption.getValue().front();
+   fff.writeFile(outputFile, merged.theHeader);
+}
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      MergeRinNav m(argv[0]);
+      if (!m.initialize(argc, argv))
+         return 0;
+      if (!m.run())
+         return 1;
+      
+      return 0;
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
diff --git a/trunk/apps/mergetools/mergeRinObs b/trunk/apps/mergetools/mergeRinObs
new file mode 100755
index 0000000..a8e37e9
Binary files /dev/null and b/trunk/apps/mergetools/mergeRinObs differ
diff --git a/trunk/apps/mergetools/mergeRinObs.cpp b/trunk/apps/mergetools/mergeRinObs.cpp
new file mode 100644
index 0000000..60cbb80
--- /dev/null
+++ b/trunk/apps/mergetools/mergeRinObs.cpp
@@ -0,0 +1,126 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/mergetools/mergeRinObs.cpp#3 $"
+
+// mergeRinObs
+// Merge and sort rinex observation files
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "RinexObsStream.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsFilterOperators.hpp"
+#include "FileFilterFrameWithHeader.hpp"
+
+#include "MergeFrame.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class MergeRinObs : public MergeFrame
+{
+public:
+   MergeRinObs(char* arg0)
+      : MergeFrame(arg0, 
+                   std::string("RINEX Obs"),
+                   std::string("The output will be sorted by time. This program assumes all the input files are from the same station."))
+   {}
+
+protected:
+   virtual void process();
+};
+
+void MergeRinObs::process()
+{
+   std::vector<std::string> files = inputFileOption.getValue();
+
+      // FFF will sort and merge the obs data using
+      // a simple time check
+   FileFilterFrameWithHeader<RinexObsStream, RinexObsData, RinexObsHeader> 
+      fff(files);
+
+      // get the header data
+   RinexObsHeaderTouchHeaderMerge merged;
+   fff.touchHeader(merged);
+
+      // sort and filter the data using the obs set from the merged header
+   fff.sort(RinexObsDataOperatorLessThanFull(merged.obsSet));
+   fff.unique(RinexObsDataOperatorEqualsSimple());
+   
+      // set the time of first obs in the header
+   merged.theHeader.firstObs = fff.front().time;
+
+      // set the pgm/runby/date field
+   merged.theHeader.fileProgram = std::string("mergeRinObs");
+   merged.theHeader.fileAgency = std::string("gpstk");
+   merged.theHeader.date = DayTime().asString();
+
+      // write the file
+   std::string outputFile = outputFileOption.getValue().front();
+   fff.writeFile(outputFile, merged.theHeader);
+}
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      MergeRinObs m(argv[0]);
+      if (!m.initialize(argc, argv))
+         return 0;
+      if (!m.run())
+         return 1;
+      
+      return 0;
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 1;
+}
diff --git a/trunk/apps/positioning/Jamfile b/trunk/apps/positioning/Jamfile
new file mode 100644
index 0000000..d5aa355
--- /dev/null
+++ b/trunk/apps/positioning/Jamfile
@@ -0,0 +1,8 @@
+SubDir TOP apps positioning ;
+
+GPSLinkLibraries rinexpvt poscvt PRSolve : gpstk ;
+BonkForte ; # bleah.
+
+GPSMain rinexpvt : rinexpvt.cpp ;
+GPSMain poscvt : poscvt.cpp ;
+GPSMain PRSolve : PRSolve.cpp ;
diff --git a/trunk/apps/positioning/Makefile.am b/trunk/apps/positioning/Makefile.am
new file mode 100644
index 0000000..ad2a932
--- /dev/null
+++ b/trunk/apps/positioning/Makefile.am
@@ -0,0 +1,8 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = poscvt rinexpvt PRSolve
+
+poscvt_SOURCES = poscvt.cpp
+rinexpvt_SOURCES = rinexpvt.cpp
+PRSolve_SOURCES = PRSolve.cpp
diff --git a/trunk/apps/positioning/Makefile.in b/trunk/apps/positioning/Makefile.in
new file mode 100644
index 0000000..9fabc59
--- /dev/null
+++ b/trunk/apps/positioning/Makefile.in
@@ -0,0 +1,440 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = poscvt$(EXEEXT) rinexpvt$(EXEEXT) PRSolve$(EXEEXT)
+subdir = apps/positioning
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_PRSolve_OBJECTS = PRSolve.$(OBJEXT)
+PRSolve_OBJECTS = $(am_PRSolve_OBJECTS)
+PRSolve_LDADD = $(LDADD)
+PRSolve_DEPENDENCIES = ../../src/libgpstk.la
+am_poscvt_OBJECTS = poscvt.$(OBJEXT)
+poscvt_OBJECTS = $(am_poscvt_OBJECTS)
+poscvt_LDADD = $(LDADD)
+poscvt_DEPENDENCIES = ../../src/libgpstk.la
+am_rinexpvt_OBJECTS = rinexpvt.$(OBJEXT)
+rinexpvt_OBJECTS = $(am_rinexpvt_OBJECTS)
+rinexpvt_LDADD = $(LDADD)
+rinexpvt_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(PRSolve_SOURCES) $(poscvt_SOURCES) $(rinexpvt_SOURCES)
+DIST_SOURCES = $(PRSolve_SOURCES) $(poscvt_SOURCES) \
+	$(rinexpvt_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+poscvt_SOURCES = poscvt.cpp
+rinexpvt_SOURCES = rinexpvt.cpp
+PRSolve_SOURCES = PRSolve.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  apps/positioning/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  apps/positioning/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+PRSolve$(EXEEXT): $(PRSolve_OBJECTS) $(PRSolve_DEPENDENCIES) 
+	@rm -f PRSolve$(EXEEXT)
+	$(CXXLINK) $(PRSolve_LDFLAGS) $(PRSolve_OBJECTS) $(PRSolve_LDADD) $(LIBS)
+poscvt$(EXEEXT): $(poscvt_OBJECTS) $(poscvt_DEPENDENCIES) 
+	@rm -f poscvt$(EXEEXT)
+	$(CXXLINK) $(poscvt_LDFLAGS) $(poscvt_OBJECTS) $(poscvt_LDADD) $(LIBS)
+rinexpvt$(EXEEXT): $(rinexpvt_OBJECTS) $(rinexpvt_DEPENDENCIES) 
+	@rm -f rinexpvt$(EXEEXT)
+	$(CXXLINK) $(rinexpvt_LDFLAGS) $(rinexpvt_OBJECTS) $(rinexpvt_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PRSolve.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/poscvt.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rinexpvt.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/positioning/PRSolve b/trunk/apps/positioning/PRSolve
new file mode 100755
index 0000000..b0f0b2f
Binary files /dev/null and b/trunk/apps/positioning/PRSolve differ
diff --git a/trunk/apps/positioning/PRSolve.cpp b/trunk/apps/positioning/PRSolve.cpp
new file mode 100644
index 0000000..beba90f
--- /dev/null
+++ b/trunk/apps/positioning/PRSolve.cpp
@@ -0,0 +1,1723 @@
+// PRSolve.cpp  Read a Rinex observation file and compute an autonomous
+// pseudorange position solution, using a RAIM-like algorithm to eliminate outliers.
+// $Id: //depot/sgl/gpstk/dev/apps/positioning/PRSolve.cpp#7 $
+
+#define RANGECHECK 1        // make Matrix and Vector check limits
+#include "Exception.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "SP3Stream.hpp"
+#include "BCEphemerisStore.hpp"
+#include "SP3EphemerisStore.hpp"
+#include "TropModel.hpp"
+#include "Position.hpp"
+#include "geometry.hpp" // for DEG_TO_RAD
+
+#include "Matrix.hpp"
+#include "PRSolution.hpp"
+#include "Stats.hpp"
+#include "EphemerisRange.hpp"
+
+#include <time.h>
+#include <string>
+#include <vector>
+#include <iostream>
+#include <fstream>
+#include <sstream>
+
+using namespace gpstk;
+using namespace std;
+
+   // prgm data
+string PrgmName("PRSolve");
+string PrgmVers("1.7 3/06");
+
+typedef struct Configuration {
+      // input files
+   string ObsDirectory,NavDirectory;
+   vector<string> InputObsName;
+   vector<string> InputNavName;
+      // configuration
+   double rmsLimit;
+   double slopeLimit;
+   bool algebra;
+   int nIter;
+   double convLimit;
+   int maxReject;
+   bool residCrit;
+   bool returnatonce;
+   double elevLimit;
+      // output
+   Position knownpos;
+   Matrix<double> Rot;
+   bool APSout;
+   string OutRinexObs;
+   string HDPrgm;       // header of output Rinex file
+   string HDRunby;
+   string HDObs;
+   string HDAgency;
+   string HDMarker;
+   string HDNumber;
+   int NrecOut;
+   DayTime FirstEpoch,LastEpoch;
+   string timeFormat;
+   //double DT;
+   bool Debug,Verbose;
+      // data flow
+   double ith;
+   DayTime Tbeg, Tend;
+      // output files
+   string LogFile;
+   ofstream oflog;
+      // processing
+   double DataInt;
+   int Freq;
+   bool UseCA;
+   vector<RinexPrn> ExSV;
+   string TropType;
+   double T,Pr,RH;
+   TropModel *pTropModel;
+      // estimate DT from data
+   double estdt[9];
+   int ndt[9];
+} Config;
+
+// data input from command line
+Config C;
+// data used in program
+const double CMPS=299792458.0;
+const double CFF=CMPS/10.23e6;
+const double F1=154.0;
+const double F2=120.0;
+const double wl1=CFF/F1;
+const double wl2=CFF/F2;
+const double alpha=((F1*F1)/(F2*F2) - 1.0);
+const double if1r=1.0/(1.0-(F2/F1)*(F2/F1));
+const double if2r=1.0/(1.0-(F1/F2)*(F1/F2));
+clock_t totaltime;
+string Title,filename;
+DayTime CurrEpoch(DayTime::BEGINNING_OF_TIME), PrgmEpoch;
+DayTime PrevEpoch(DayTime::BEGINNING_OF_TIME);
+
+// data
+int Nsvs;
+EphemerisStore *pEph;
+SP3EphemerisStore SP3EphList;
+BCEphemerisStore BCEphList;
+SimpleTropModel TMsimple;
+SaasTropModel TMsaas;
+GGTropModel TMgg;
+GGHeightTropModel TMggh;
+NBTropModel TMnb;
+
+// Solution and covariance (prsol for RAIM, Solution and Covariance for AutonPRSol)
+PRSolution prsol;             // this will always be the RAIM result
+Vector<double> Solution;      // this will always be the AutonPRS result
+Matrix<double> Covariance;    // this will always be the AutonPRS result
+
+// Solution and residual statistics:
+// simple average (S : one file; SS : all files)...
+Stats<double> SA[3],SR[3],SSA[3],SSR[3];          // solution (XYZ) Auto and RAIM
+Stats<double> SAPR[3],SRPR[3],SSAPR[3],SSRPR[3];  // XYZ residuals
+Stats<double> SANE[3],SRNE[3],SSANE[3],SSRNE[3];  // NEU residuals
+// ... and weighted average solution, both Auto and RAIM...
+Matrix<double> PA,PR,PPA,PPR;        // inverse covariance
+Vector<double> zA,zR,zzA,zzR;        // 'state'=(inverse covariance * state)
+// ... and weighted average residuals APR,RPR.
+Matrix<double> PAPR,PRPR,PANE,PRNE,PPAPR,PPRPR,PPANE,PPRNE;
+Vector<double> zAPR,zRPR,zANE,zRNE,zzAPR,zzRPR,zzANE,zzRNE;
+
+//------------------------------------------------------------------------------------
+// prototypes
+int ReadFile(int nfile);
+int SolutionAlgorithm(vector<RinexPrn>& Sats,
+                      vector<double>& PRanges,
+                      double& RMSresid);
+int AfterReadingFiles(void);
+
+void PrintStats(Stats<double> S[3], Matrix<double> &P, Vector<double> &z, string m,
+   char c0='X', char c1='Y', char c2='Z');
+int GetCommandLine(int argc, char **argv);
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& Verbose);
+
+int FillEphemerisStore(const vector<string>& files, SP3EphemerisStore& PE,
+  BCEphemerisStore& BCE);
+
+//------------------------------------------------------------------------------------
+int main(int argc, char **argv)
+{
+try {
+   totaltime = clock();
+   int iret;
+
+      // Title and description
+   Title = PrgmName + ", part of the GPSTK ToolKit, Ver " + PrgmVers + ", Run ";
+   time_t timer;
+   struct tm *tblock;
+   timer = time(NULL);
+   tblock = localtime(&timer);
+   PrgmEpoch.setYMDHMS(1900+tblock->tm_year,1+tblock->tm_mon,
+               tblock->tm_mday,tblock->tm_hour,tblock->tm_min,tblock->tm_sec);
+   Title += PrgmEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S\n");
+   cout << Title;
+
+      // get command line
+   iret=GetCommandLine(argc, argv);
+   if(iret) return iret;
+
+   // get nav files and build EphemerisStore
+   int nread = FillEphemerisStore(C.InputNavName, SP3EphList, BCEphList);
+   C.oflog << "Added " << nread << " ephemeris files to store.\n";
+   SP3EphList.dump(0,C.oflog);
+   BCEphList.dump(0,C.oflog);
+   if(SP3EphList.size() > 0) pEph=&SP3EphList;
+   else if(BCEphList.size() > 0) {
+      BCEphList.SearchNear();
+      //BCEphList.SearchPast();
+      pEph=&BCEphList;
+   }
+   else {
+      C.oflog << "Failed to read ephemeris data. Abort." << endl;
+      return -1;
+   }
+
+   // assign trop model
+   if(C.TropType == string("BL")) C.pTropModel = &TMsimple;
+   if(C.TropType == string("SA") || C.TropType == string("NB")) {
+      if(C.TropType == string("SA")) C.pTropModel = &TMsaas;
+      if(C.TropType == string("NB")) C.pTropModel = &TMnb;
+      if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+         C.pTropModel->setReceiverLatitude(C.knownpos.getGeodeticLatitude());
+         C.pTropModel->setReceiverHeight(C.knownpos.getHeight());
+      }
+      else {
+         C.pTropModel->setReceiverLatitude(0.0);
+         C.pTropModel->setReceiverHeight(0.0);
+         C.oflog << "Warning - Saastamoinen and New B tropospheric models require "
+            << "latitude, height and day of year - guessing." << endl;
+      }
+      if(C.Tbeg > DayTime(DayTime::BEGINNING_OF_TIME))
+         C.pTropModel->setDayOfYear(C.Tbeg.DOY());
+      else if(C.Tend < DayTime(DayTime::END_OF_TIME))
+         C.pTropModel->setDayOfYear(C.Tend.DOY());
+      else
+         C.pTropModel->setDayOfYear(100);
+   }
+   if(C.TropType == string("GG")) C.pTropModel = &TMgg;
+   if(C.TropType == string("GGH")) C.pTropModel = &TMggh;
+   C.pTropModel->setWeather(C.T,C.Pr,C.RH);
+
+   // compute rotation XYZ->NEU at known position
+   if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+      double lat=C.knownpos.geodeticLatitude() * DEG_TO_RAD;
+      double lon=C.knownpos.longitude() * DEG_TO_RAD;
+      double ca = ::cos(lat);
+      double sa = ::sin(lat);
+      double co = ::cos(lon);
+      double so = ::sin(lon);
+      // Rotation matrix (R*XYZ=NEU) :
+      C.Rot = Matrix<double>(3,3);
+      // NEU
+      C.Rot(2,0) = ca*co; C.Rot(2,1) = ca*so; C.Rot(2,2) = sa;
+      C.Rot(1,0) = -so; C.Rot(1,1) = co; C.Rot(1,2) = 0.0;
+      C.Rot(0,0) = -sa*co; C.Rot(0,1) = -sa*so; C.Rot(0,2) = ca;
+   }
+
+   // initialize global solution and residual statistics
+   // not necessary SSA[0].Reset(); SSA[1].Reset(); SSA[2].Reset();
+   // not necessary SSR[0].Reset(); SSR[1].Reset(); SSR[2].Reset();
+   PPA = Matrix<double>(3,3,0.0);
+   PPR = Matrix<double>(3,3,0.0);
+   zzA = Vector<double>(3,0.0);
+   zzR = Vector<double>(3,0.0);
+   if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+      if(C.APSout) {
+         // not necessary SSAPR[0].Reset(); SSAPR[1].Reset(); SSAPR[2].Reset();
+         // not necessary SSANE[0].Reset(); SSANE[1].Reset(); SSANE[2].Reset();
+         PPAPR = Matrix<double>(3,3,0.0);
+         PPANE = Matrix<double>(3,3,0.0);
+         zzAPR = Vector<double>(3,0.0);
+         zzANE = Vector<double>(3,0.0);
+      }
+      // not necessary SSRPR[0].Reset(); SSRPR[1].Reset(); SSRPR[2].Reset();
+      // not necessary SSRNE[0].Reset(); SSRNE[1].Reset(); SSRNE[2].Reset();
+      PPRPR = Matrix<double>(3,3,0.0);
+      PPRNE = Matrix<double>(3,3,0.0);
+      zzRPR = Vector<double>(3,0.0);
+      zzRNE = Vector<double>(3,0.0);
+   }
+
+   // loop over input files
+   nread = 0;
+   for(int nfile=0; nfile<C.InputObsName.size(); nfile++) {
+      iret = ReadFile(nfile);
+      if(iret < 0) break;
+      nread++;
+   }  // end loop over input files
+
+   if(iret>=0 && nread>0) iret=AfterReadingFiles();
+
+   totaltime = clock()-totaltime;
+   C.oflog << "PRSolve timing: " << fixed << setprecision(3)
+      << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+   cout << "PRSolve timing: " << fixed << setprecision(3)
+      << double(totaltime)/double(CLOCKS_PER_SEC) << " seconds.\n";
+
+   C.oflog.close();
+
+   return iret;
+}
+//catch(FFStreamError& e) {
+   //cout << e;
+//}
+catch(Exception& e) {
+   cout << e;
+}
+catch (...) {
+   cerr << C.oflog << "Unknown error.  Abort." << endl;
+}
+   return 1;
+}  // end main()
+
+//------------------------------------------------------------------------------------
+// open the file, read header and check for data; then loop over the epochs
+// Return 0 ok, <0 fatal error, >0 non-fatal error (ie skip this file)
+// 0 ok, 1 couldn't open file, 2 file doesn't have required data
+int ReadFile(int nfile)
+{
+try {
+   bool writeout, first;
+   int i,j,iret;
+   int inC1,inP1,inP2,inL1,inL2,inD1,inD2,inS1,inS2;     // indexes in rhead
+   double dt;
+   RinexObsStream ifstr, ofstr;     // input and output Rinex files
+   RinexObsHeader rhead, rheadout;  
+
+      // open input file
+   filename = C.InputObsName[nfile];
+   ifstr.open(filename.c_str(),ios::in);
+   if(ifstr.fail()) {
+      C.oflog << "Failed to open input file " << filename << ". Abort.\n";
+      return 1;
+   }
+   else C.oflog << "Opened input file " << filename << endl;
+   ifstr.exceptions(ios::failbit);
+
+      // open output file
+   if(!C.OutRinexObs.empty()) {
+      ofstr.open(C.OutRinexObs.c_str(), ios::out);
+      if(ofstr.fail()) {
+         C.oflog << "Failed to open output file " << C.OutRinexObs << " Abort.\n";
+         ifstr.close();
+         return 1;
+      }
+      else C.oflog << "Opened output file " << C.OutRinexObs << endl;
+      ofstr.exceptions(ios::failbit);
+      writeout = true;
+   }
+   else writeout = false;
+
+      // read the header
+   ifstr >> rhead;
+   C.oflog << "Here is the input header for file " << filename << endl;
+   rhead.dump(C.oflog);
+
+      // check that file contains C1/P1,P2,L1,L2,D1,D2,S1,S2
+   inC1 = inP1 = inP2 = inL1 = inL2 = inD1 = inD2 = inS1 = inS2 = -1;
+   for(j=0; j<rhead.obsTypeList.size(); j++) {
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("C1")) inC1=j;
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("L1")) inL1=j;
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("L2")) inL2=j;
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("P1")) inP1=j;
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("P2")) inP2=j;
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("D1")) inD1=j;
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("D2")) inD2=j;
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("S1")) inS1=j;
+      if(rhead.obsTypeList[j] == RinexObsHeader::convertObsType("S2")) inS2=j;
+   }
+   if((inP1==-1 && (!C.UseCA || inC1==-1)) || inP2==-1 || inL1==-1 || inL2==-1
+         || inD1==-1 || inD2==-1 || inS1==-1 || inS2==-1) {
+      C.oflog << "Warning: file " << filename << " does not contain";
+      if(inC1==-1) C.oflog << " C1";
+      if(inP1==-1) C.oflog << " P1 (--CA was" << (C.UseCA?"":" not") << " found)";
+      if(inP2==-1) C.oflog << " P2";
+      if(inL1==-1) C.oflog << " L1";
+      if(inL2==-1) C.oflog << " L2";
+      if(inD1==-1) C.oflog << " D1";
+      if(inD2==-1) C.oflog << " D2";
+      if(inS1==-1) C.oflog << " S1";
+      if(inS2==-1) C.oflog << " S2";
+      C.oflog << endl;
+      //ifstr.clear();
+      //ifstr.close();
+      //return 2;
+   }
+   if(inP1==-1) {
+      if(C.UseCA) inP1=inC1;
+      else {
+         C.oflog << "ERROR. Abort. Neither P1 data nor option --CA were not found."
+            << endl;
+         cerr << "ERROR. Abort. Neither P1 data nor option --CA were not found."
+            << endl;
+         return -1;
+      }
+   }
+   if(inP1 > -1) {
+      if(inP2 > -1) C.Freq = 3;
+      else C.Freq = 1;
+      // TD add 2 as an input option
+   }
+   C.oflog << "Process frequency " << C.Freq << endl;
+
+      // initialize file solution and residual statistics
+      SA[0].Reset(); SA[1].Reset(); SA[2].Reset();
+      SR[0].Reset(); SR[1].Reset(); SR[2].Reset();
+      PA = Matrix<double>(3,3,0.0);
+      PR = Matrix<double>(3,3,0.0);
+      zA = Vector<double>(3,0.0);
+      zR = Vector<double>(3,0.0);
+      if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+         if(C.APSout) {
+            SAPR[0].Reset(); SAPR[1].Reset(); SAPR[2].Reset();
+            SANE[0].Reset(); SANE[1].Reset(); SANE[2].Reset();
+            PAPR = Matrix<double>(3,3,0.0);
+            PANE = Matrix<double>(3,3,0.0);
+            zAPR = Vector<double>(3,0.0);
+            zANE = Vector<double>(3,0.0);
+         }
+         SRPR[0].Reset(); SRPR[1].Reset(); SRPR[2].Reset();
+         SRNE[0].Reset(); SRNE[1].Reset(); SRNE[2].Reset();
+         PRPR = Matrix<double>(3,3,0.0);
+         PRNE = Matrix<double>(3,3,0.0);
+         zRPR = Vector<double>(3,0.0);
+         zRNE = Vector<double>(3,0.0);
+      }
+
+      // loop over epochs in the file
+   first = true;
+   while(1) {
+         // read next obs
+      double RMSrof;
+      vector<RinexPrn> Satellites;
+      vector<double> Ranges;
+      Matrix<double> inform;
+      RinexObsData robsd,auxPosData;
+
+      try {
+         ifstr >> robsd;
+      }
+      catch(FFStreamError& e) {
+         C.oflog << "Reading obs caught FFStreamError exception : " << e << endl;
+         cerr << "Reading obs caught FFStreamError exception : " << e << endl;
+         return -2;
+      }
+      catch(Exception& e) {
+         C.oflog << "Reading obs caught GPSTk exception : " << e << endl;
+         cerr << "Reading obs caught GPSTk exception : " << e << endl;
+         return -2;
+      }
+      catch(exception& e) {
+         C.oflog << "Reading obs caught std exception : " << e.what() << endl;
+         cerr << "Reading obs caught std exception : " << e.what() << endl;
+         return -2;
+      }
+      catch(...) {
+         C.oflog << "Reading obs caught unknown exception : " << endl;
+         cerr << "Reading obs caught unknown exception : " << endl;
+         return -2;
+      }
+
+         // normal end-of-file
+      if(!ifstr.good() || ifstr.eof()) { iret=0; break; }
+
+      for(;;) {
+         iret = 0;
+
+         if(C.Debug) C.oflog << "process: " << robsd.time
+            << ", Flag " << robsd.epochFlag << ", clk " << robsd.clockOffset << endl;
+
+            // stay within time limits
+         if(robsd.time < C.Tbeg) { iret = 1; break; }
+         if(robsd.time > C.Tend) { iret = -1; break; }
+
+            // ignore comment blocks ...
+         if(robsd.epochFlag != 0 && robsd.epochFlag != 1) { iret = 1; break; }
+
+            // decimate data
+            // if Tbeg is still undefined, set it to begin of week
+         if(C.ith > 0.0) {
+            if(fabs(C.Tbeg-DayTime(DayTime::BEGINNING_OF_TIME)) < 1.e-8)
+               C.Tbeg = C.Tbeg.setGPSfullweek(robsd.time.GPSfullweek(),0.0);
+            double dt=fabs(robsd.time - C.Tbeg);
+            dt -= C.ith*long(0.5+dt/C.ith);
+            if(fabs(dt) > 0.25) { iret = 1; break; }
+         }
+
+            // save current time
+         CurrEpoch = robsd.time;
+         if(fabs(C.FirstEpoch-DayTime(DayTime::BEGINNING_OF_TIME)) < 1.e-8)
+            C.FirstEpoch=CurrEpoch;
+
+            // loop over satellites
+         Nsvs = 0;
+         Satellites.clear();
+         Ranges.clear();
+         RinexObsData::RinexPrnMap::const_iterator it;
+         for(it=robsd.obs.begin(); it != robsd.obs.end(); ++it) {
+            // loop over sat=it->first, ObsTypeMap=it->second
+            int in,n;
+            double P1=0,P2=0,L1,L2,D1,D2,S1,S2;
+            RinexPrn sat=it->first;
+            RinexObsData::RinexObsTypeMap otmap=it->second;
+
+               // pull out the data
+            RinexObsData::RinexObsTypeMap::const_iterator jt;
+            if(inP1>-1 && (jt=otmap.find(rhead.obsTypeList[inP1])) != otmap.end())
+               P1=jt->second.data;
+            if(inP2>-1 && (jt=otmap.find(rhead.obsTypeList[inP2])) != otmap.end())
+               P2=jt->second.data;
+            if(inL1>-1 && (jt=otmap.find(rhead.obsTypeList[inL1])) != otmap.end())
+               L1=jt->second.data;
+            if(inL2>-1 && (jt=otmap.find(rhead.obsTypeList[inL2])) != otmap.end())
+               L2=jt->second.data;
+            if(inD1>-1 && (jt=otmap.find(rhead.obsTypeList[inD1])) != otmap.end())
+               D1=jt->second.data;
+            if(inD2>-1 && (jt=otmap.find(rhead.obsTypeList[inD2])) != otmap.end())
+               D2=jt->second.data;
+            if(inS1>-1 && (jt=otmap.find(rhead.obsTypeList[inS1])) != otmap.end())
+               S1=jt->second.data;
+            if(inS2>-1 && (jt=otmap.find(rhead.obsTypeList[inS2])) != otmap.end())
+               S2=jt->second.data;
+      
+            // is the satellite excluded?
+            for(i=0; i<C.ExSV.size(); i++)
+               if(C.ExSV[i]==sat) continue;
+      
+            // NB 2 is not yet implemented
+            if(C.Freq != 2 && P1<=0) continue;
+            if(C.Freq != 1 && P2<=0) continue;
+
+            // if position known and elevation limit given, apply elevation mask
+            if(C.knownpos.getCoordinateSystem() != Position::Unknown
+                  && C.elevLimit > 0.0) {
+               bool ok=true;
+               CorrectedEphemerisRange CER;
+               try {
+                  //double ER =
+                  CER.ComputeAtReceiveTime(CurrEpoch, C.knownpos, sat.prn, *pEph);
+                  if(CER.elevation < C.elevLimit) ok=false;
+                  if(C.Debug) C.oflog << "Ephemeris range is "
+                     << setprecision(4) << CER.rawrange << endl;
+               }
+               catch(EphemerisStore::NoEphemerisFound& nef) {
+                  // do not exclude the sat here; PRSolution will...
+                  if(C.Debug)
+                     C.oflog << "CER did not find ephemeris for " << sat << endl;
+               }
+
+               if(!ok) continue;
+            }
+
+            // keep this satellite
+            Satellites.push_back(sat);
+            Ranges.push_back(C.Freq == 3 ? if1r*P1+if2r*P2 :
+                            (C.Freq == 2 ? P2 : P1));
+            Nsvs++;
+
+         }  // end loop over sats
+
+         if(Nsvs <= 4) {
+            if(C.Debug) C.oflog << "Too few satellites" << endl;
+            iret = 1;
+            break;
+         }
+
+         iret = SolutionAlgorithm(Satellites, Ranges, RMSrof);
+         if(C.Debug) C.oflog << "SolutionAlgorithm returns " << iret << endl;
+         if(iret) break;
+
+            // update LastEpoch and estimate of C.DT
+         if(C.LastEpoch > DayTime(DayTime::BEGINNING_OF_TIME)) {
+            dt = CurrEpoch-C.LastEpoch;
+            for(i=0; i<9; i++) {
+               if(C.ndt[i]<=0) { C.estdt[i]=dt; C.ndt[i]=1; break; }
+               if(fabs(dt-C.estdt[i]) < 0.0001) { C.ndt[i]++; break; }
+               if(i == 8) {
+                  int k=0,nl=C.ndt[k];
+                  for(j=1; j<9; j++) if(C.ndt[j] <= nl) { k=j; nl=C.ndt[j]; }
+                  C.ndt[k]=1; C.estdt[k]=dt;
+               }
+            }
+         }
+         C.LastEpoch = CurrEpoch;
+
+         break;
+      }  // end for(;;)
+
+      if(C.Debug) C.oflog << "processing returned " << iret << endl;
+      if(iret == -1) { iret=0; break; }         // end of file
+      if(iret == 1 || iret == -4) continue;     // ignore this epoch
+
+         // accumulate simple statistics, Autonomous and RAIM
+      if(C.APSout) {
+         SA[0].Add(Solution(0)); SA[1].Add(Solution(1)); SA[2].Add(Solution(2));
+         SSA[0].Add(Solution(0)); SSA[1].Add(Solution(1)); SSA[2].Add(Solution(2));
+      }
+      SR[0].Add(prsol.Solution(0));
+      SR[1].Add(prsol.Solution(1));
+      SR[2].Add(prsol.Solution(2));
+      SSR[0].Add(prsol.Solution(0));
+      SSR[1].Add(prsol.Solution(1));
+      SSR[2].Add(prsol.Solution(2));
+
+         // accumulate weighted statistics, Auto and RAIM
+      if(C.APSout) {
+         inform = inverseSVD(Matrix<double>(Covariance,0,0,3,3));
+         PA += inform;
+         PPA += inform;
+         zA += inform * Vector<double>(Solution,0,3);
+         zzA += inform * Vector<double>(Solution,0,3);
+      }
+      inform = inverseSVD(Matrix<double>(prsol.Covariance,0,0,3,3));
+      PR += inform;
+      PPR += inform;
+      zR += inform * Vector<double>(prsol.Solution,0,3);
+      zzR += inform * Vector<double>(prsol.Solution,0,3);
+
+      if(!writeout) continue;
+
+         // output to RINEX
+      if(first) {                               // edit the output Rinex header
+         rheadout = rhead;
+         rheadout.date = PrgmEpoch.printf("%04Y/%02m/%02d %02H:%02M:%02S");
+         rheadout.fileProgram = PrgmName;
+         if(!C.HDRunby.empty()) rheadout.fileAgency = C.HDRunby;
+         if(!C.HDObs.empty()) rheadout.observer = C.HDObs;
+         if(!C.HDAgency.empty()) rheadout.agency = C.HDAgency;
+         if(!C.HDMarker.empty()) rheadout.markerName = C.HDMarker;
+         if(!C.HDNumber.empty()) {
+            rheadout.markerNumber = C.HDNumber;
+            rheadout.valid |= RinexObsHeader::markerNumberValid;
+         }
+         rheadout.version = 2.1; rheadout.valid |= RinexObsHeader::versionValid;
+         rheadout.firstObs = C.FirstEpoch;
+         rheadout.valid |= RinexObsHeader::firstTimeValid;
+         //rheadout.interval = C.DT;
+         //rheadout.valid |= RinexObsHeader::intervalValid;
+         //rheadout.lastObs = C.LastEpoch;
+         //rheadout.valid |= RinexObsHeader::lastTimeValid;
+            // invalidate the table
+         if(rheadout.valid & RinexObsHeader::numSatsValid)
+            rheadout.valid ^= RinexObsHeader::numSatsValid;
+         if(rheadout.valid & RinexObsHeader::prnObsValid)
+            rheadout.valid ^= RinexObsHeader::prnObsValid;
+
+         ofstr << rheadout;
+         first=false;
+      }
+      if(iret > 2) {                         // output position first
+         auxPosData.time = robsd.time;
+         auxPosData.epochFlag = 4;
+         auxPosData.numSvs = 2;
+         auxPosData.auxHeader.clear();
+         ostringstream stst1,stst2;
+         stst1 << "XYZT";
+         stst1 << fixed << " " << setw(13) << setprecision(3) << prsol.Solution(0);
+         stst1 << fixed << " " << setw(13) << setprecision(3) << prsol.Solution(1);
+         stst1 << fixed << " " << setw(13) << setprecision(3) << prsol.Solution(2);
+         stst1 << fixed << " " << setw(13) << setprecision(3) << prsol.Solution(3);
+         auxPosData.auxHeader.commentList.push_back(stst1.str());
+         double PDOP=RSS(prsol.Covariance(0,0),
+                         prsol.Covariance(1,1),
+                         prsol.Covariance(2,2));
+         stst2 << "DIAG";
+         stst2 << " " << setw(2) << Nsvs
+            << " " << fixed << setw(5) << setprecision(2) << PDOP
+            << " " << fixed << setw(5) << setprecision(2)
+            << RSS(PDOP,Covariance(3,3))
+            << " " << fixed << setw(9) << setprecision(3) << RMSrof;
+         stst2 << " (N,P-,G-DOP,RMS)";
+         auxPosData.auxHeader.commentList.push_back(stst2.str());
+         auxPosData.auxHeader.valid |= RinexObsHeader::commentValid;
+         ofstr << auxPosData;
+      }
+      ofstr << robsd;                       // output data to RINEX file
+
+   }  // end while loop over epochs
+
+   if(C.APSout) PrintStats(SA,PA,zA,"Autonomous solution for file " + filename);
+   PrintStats(SR,PR,zR,"RAIM solution for file " + filename);
+   if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+      if(C.APSout) {
+         PrintStats(SAPR,PAPR,zAPR,
+            "Autonomous solution residuals for file " + filename);
+         PrintStats(SANE,PANE,zANE,
+            "Autonomous solution residuals (NEU) for file " + filename,'N','E','U');
+      }
+      PrintStats(SRPR,PRPR,zRPR,"RAIM solution residuals for file " + filename);
+      PrintStats(SRNE,PRNE,zRNE,
+         "RAIM solution residuals (NEU) for file " + filename,'N','E','U');
+   }
+
+   ifstr.clear();
+   ifstr.close();
+   ofstr.close();
+
+   return iret;
+}
+catch(gpstk::Exception& e) {
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      cerr << "PRSolve:ReadFile caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+// Return 0 ok,
+//      <-1 fatal error: -4 no ephemeris
+//       -1 end of file,
+//        1 skip this epoch,
+//        2 output to Rinex,
+//        3 output position also
+int SolutionAlgorithm(vector<RinexPrn>& Sats,
+                      vector<double>& PRanges,
+                      double& RMSresid)
+{
+try {
+   int iret,i;
+   Matrix<double> inform;
+
+   // fail if not enough data
+   if(Nsvs < 4) return 1;
+
+   // compute a position solution with this data
+   if(C.Debug) {
+      C.oflog << "Satellites and Ranges before Prepare:\n";
+      for(i=0; i<PRanges.size(); i++)
+         C.oflog << " " << setw(2) << Sats[i] << fixed
+            << " " << setw(13) << setprecision(3) << PRanges[i] << endl;
+   }
+
+   int niter=C.nIter;
+   double conv=C.convLimit;
+   vector<bool> UseSats(Sats.size(),true);
+   Vector<double> Residual,Slope;
+
+   // configuration
+   if(C.Verbose) {
+      prsol.pDebugStream = &C.oflog;
+      prsol.Debug = true;
+   }
+   if(C.rmsLimit > 0.0)
+      prsol.RMSLimit = C.rmsLimit;
+   if(C.slopeLimit > 0.0)
+      prsol.SlopeLimit = C.slopeLimit;
+   prsol.Algebraic = C.algebra;
+   prsol.ResidualCriterion = C.residCrit;
+   prsol.ReturnAtOnce = C.returnatonce;
+   if(C.maxReject > 0)
+      prsol.NSatsReject = C.maxReject;
+   if(C.nIter > 0)
+      prsol.MaxNIterations = C.nIter;
+   else
+      niter = prsol.MaxNIterations;
+   if(C.convLimit > 0.0)
+      prsol.ConvergenceLimit = C.convLimit;
+   else
+      conv = prsol.ConvergenceLimit;
+   //C.oflog << "NSatsReject is " << prsol.NSatsReject << endl;
+
+   // compute using AutonomousSolution - no RAIM algorithm
+   if(C.APSout) {
+      iret = -4;
+      Matrix<double> SVP;
+      iret = PRSolution::PrepareAutonomousSolution(CurrEpoch,Sats,PRanges,*pEph,SVP);
+      if(iret == -4) {
+         C.oflog << "PrepareAutonomousSolution failed to find ANY ephemeris at epoch "
+            << CurrEpoch.printf("%04Y/%02m/%02d %02H:%02M:%.3f") << endl;
+         return iret;
+      }
+
+      if(C.Debug) {
+         C.oflog << "Satellites after  Prepare(" << iret << "):";
+         for(i=0; i<Sats.size(); i++)
+            C.oflog << " " << setw(2) << Sats[i].prn; C.oflog << endl;
+         C.oflog << "Matrix SVP(" << SVP.rows() << "," << SVP.cols() << "):\n"
+            << fixed << setw(13) << setprecision(3) << SVP << endl;
+      }
+
+      for(i=0; i<Sats.size(); i++) UseSats[i] = (Sats[i].prn > 0 ? true : false);
+
+      iret = PRSolution::AutonomousPRSolution(CurrEpoch, UseSats, SVP, C.pTropModel,
+         C.algebra, niter, conv, Solution, Covariance, Residual, Slope,
+         (C.Verbose ? &C.oflog : NULL));
+
+      C.oflog << "APS " << setw(2) << iret
+         << " " << CurrEpoch.printf(C.timeFormat)
+         << " " << setw(2) << Nsvs;
+      if(iret == 0) C.oflog << fixed
+         << " " << setw(16) << setprecision(6) << Solution(0)
+         << " " << setw(16) << setprecision(6) << Solution(1)
+         << " " << setw(16) << setprecision(6) << Solution(2)
+         << " " << setw(14) << setprecision(6) << Solution(3)
+         << " " << setw(12) << setprecision(6) << RMS(Residual)
+         << " " << fixed << setw(5) << setprecision(1) << max(Slope);
+      C.oflog << " " << niter
+            << " " << scientific << setw(8) << setprecision(2) << conv;
+      for(i=0; i<Sats.size(); i++) C.oflog << " " << setw(3) << Sats[i].prn;
+      C.oflog << endl;
+
+      // compute residuals using known position, and output
+      if(iret==0 && C.knownpos.getCoordinateSystem() != Position::Unknown) {
+         Matrix<double> Cov;
+         Vector<double> V(3);
+
+         // compute residuals
+         Position pos(Solution(0), Solution(1), Solution(2));
+         Position res=pos-C.knownpos;
+         Cov = Matrix<double>(Covariance,0,0,3,3);
+         V(0) = res.X(); V(1) = res.Y(); V(2) = res.Z();
+
+         C.oflog << "APR " << setw(2) << iret
+            << " " << CurrEpoch.printf(C.timeFormat)
+            << " " << setw(2) << Nsvs << fixed
+            << " " << setw(16) << setprecision(6) << V(0)
+            << " " << setw(16) << setprecision(6) << V(1)
+            << " " << setw(16) << setprecision(6) << V(2)
+            << " " << setw(14) << setprecision(6) << Solution(3)
+            << " " << setw(12) << setprecision(6) << RMS(Residual)
+            << " " << fixed << setw(5) << setprecision(1) << max(Slope)
+            << " " << niter
+            << " " << scientific << setw(8) << setprecision(2) << conv;
+         for(i=0; i<Sats.size(); i++) C.oflog << " " << setw(3) << Sats[i].prn;
+         C.oflog << endl;
+
+         // accumulate statistis
+         SAPR[0].Add(V(0)); SAPR[1].Add(V(1)); SAPR[2].Add(V(2));
+         SSAPR[0].Add(V(0)); SSAPR[1].Add(V(1)); SSAPR[2].Add(V(2));
+         inform = inverseSVD(Cov);
+         PAPR += inform;
+         PPAPR += inform;
+         zAPR += inform * V;
+         zzAPR += inform * V;
+
+         // convert to NEU
+         V = C.Rot * V;
+         Cov = C.Rot * Cov * transpose(C.Rot);
+
+         C.oflog << "ANE " << setw(2) << iret
+            << " " << CurrEpoch.printf(C.timeFormat)
+            << " " << setw(2) << Nsvs << fixed
+            << " " << setw(16) << setprecision(6) << V(0)
+            << " " << setw(16) << setprecision(6) << V(1)
+            << " " << setw(16) << setprecision(6) << V(2)
+            << " " << setw(14) << setprecision(6) << Solution(3)
+            << " " << setw(12) << setprecision(6) << RMS(Residual)
+            << " " << fixed << setw(5) << setprecision(1) << max(Slope)
+            << " " << niter
+            << " " << scientific << setw(8) << setprecision(2) << conv;
+         for(i=0; i<Sats.size(); i++) C.oflog << " " << setw(3) << Sats[i].prn;
+         C.oflog << endl;
+
+         // accumulate statistis
+         SANE[0].Add(V(0)); SANE[1].Add(V(1)); SANE[2].Add(V(2));
+         SSANE[0].Add(V(0)); SSANE[1].Add(V(1)); SSANE[2].Add(V(2));
+         inform = inverseSVD(Cov);
+         PANE += inform;
+         PPANE += inform;
+         zANE += inform * V;
+         zzANE += inform * V;
+
+      }  // end output residuals
+
+   }  // end output APS
+
+   // --------------------------------------------------------------
+   // now compute again, using RAIM
+
+   iret = -4;
+   iret = prsol.RAIMCompute(CurrEpoch, Sats, PRanges, *pEph, C.pTropModel);
+   if(iret == -4) {
+      C.oflog << "PRS Sol. failed to find ephemeris\n" << endl;
+      return iret;
+   }
+   for(Nsvs=0,i=0; i<Sats.size(); i++)
+      if(Sats[i].prn > 0)
+         Nsvs++;
+   RMSresid = prsol.RMSResidual;
+
+   C.oflog << "RPF " << setw(2) << Sats.size()-Nsvs
+      << " " << CurrEpoch.printf(C.timeFormat)
+      << " " << setw(2) << Nsvs << fixed
+      << " " << setw(16) << setprecision(6) << prsol.Solution(0)
+      << " " << setw(16) << setprecision(6) << prsol.Solution(1)
+      << " " << setw(16) << setprecision(6) << prsol.Solution(2)
+      << " " << setw(14) << setprecision(6) << prsol.Solution(3)
+      << " " << setw(12) << setprecision(6) << prsol.RMSResidual
+      << " " << fixed << setw(5) << setprecision(1) << prsol.MaxSlope
+      << " " << prsol.NIterations
+      << " " << scientific << setw(8) << setprecision(2) << prsol.Convergence;
+   for(i=0; i<Sats.size(); i++) C.oflog << " " << setw(3) << Sats[i].prn;
+   C.oflog << " (" << iret << ")" << (prsol.isValid() ? " V" : " NV")
+      << endl;
+   //C.oflog << "prsol Sol. returned " << iret << " at " << CurrEpoch << endl;
+
+   // compute residuals using known position, and output
+   if(C.knownpos.getCoordinateSystem() != Position::Unknown && iret >= 0) {
+      Matrix<double> Cov;
+      Vector<double> V(3);
+
+      // compute residuals
+      Position pos(prsol.Solution(0), prsol.Solution(1), prsol.Solution(2));
+      Position res=pos-C.knownpos;
+      Cov = Matrix<double>(prsol.Covariance,0,0,3,3);
+      V(0) = res.X(); V(1) = res.Y(); V(2) = res.Z();
+
+      C.oflog << "RPR " << setw(2) << Sats.size()-Nsvs
+         << " " << CurrEpoch.printf(C.timeFormat)
+         << " " << setw(2) << Nsvs << fixed
+         << " " << setw(16) << setprecision(6) << V(0)
+         << " " << setw(16) << setprecision(6) << V(1)
+         << " " << setw(16) << setprecision(6) << V(2)
+         << " " << setw(14) << setprecision(6) << prsol.Solution(3)
+         << " " << setw(12) << setprecision(6) << prsol.RMSResidual
+         << " " << fixed << setw(5) << setprecision(1) << prsol.MaxSlope
+         << " " << prsol.NIterations
+         << " " << scientific << setw(8) << setprecision(2) << prsol.Convergence;
+      for(i=0; i<Sats.size(); i++) C.oflog << " " << setw(3) << Sats[i].prn;
+      C.oflog << " (" << iret << ")" << (prsol.isValid() ? " V" : " NV")
+         << endl;
+
+      // accumulate statistics
+      SRPR[0].Add(V(0)); SRPR[1].Add(V(1)); SRPR[2].Add(V(2));
+      SSRPR[0].Add(V(0)); SSRPR[1].Add(V(1)); SSRPR[2].Add(V(2));
+      inform = inverseSVD(Cov);
+      PRPR += inform;
+      PPRPR += inform;
+      zRPR += inform * V;
+      zzRPR += inform * V;
+
+      // convert to NEU
+      V = C.Rot * V;
+      Cov = C.Rot * Cov * transpose(C.Rot);
+
+      C.oflog << "RNE " << setw(2) << Sats.size()-Nsvs
+         << " " << CurrEpoch.printf(C.timeFormat)
+         << " " << setw(2) << Nsvs << fixed
+         << " " << setw(16) << setprecision(6) << V(0)
+         << " " << setw(16) << setprecision(6) << V(1)
+         << " " << setw(16) << setprecision(6) << V(2)
+         << " " << setw(14) << setprecision(6) << prsol.Solution(3)
+         << " " << setw(12) << setprecision(6) << prsol.RMSResidual
+         << " " << fixed << setw(5) << setprecision(1) << prsol.MaxSlope
+         << " " << prsol.NIterations
+         << " " << scientific << setw(8) << setprecision(2) << prsol.Convergence;
+      for(i=0; i<Sats.size(); i++) C.oflog << " " << setw(3) << Sats[i].prn;
+      C.oflog << " (" << iret << ")" << (prsol.isValid() ? " V" : " NV")
+         << endl;
+
+      // accumulate statistics
+      if(iret == 0) {
+         SRNE[0].Add(V(0)); SRNE[1].Add(V(1)); SRNE[2].Add(V(2));
+         SSRNE[0].Add(V(0)); SSRNE[1].Add(V(1)); SSRNE[2].Add(V(2));
+         inform = inverseSVD(Cov);
+         PRNE += inform;
+         PPRNE += inform;
+         zRNE += inform * V;
+         zzRNE += inform * V;
+      }
+   }
+   //C.oflog << endl;
+
+   //
+   if(prsol.isValid() && !C.OutRinexObs.empty()) return 3;
+   if(!prsol.isValid()) return 1;
+
+   if(!C.OutRinexObs.empty()) return 2;
+   return 0;
+}
+catch(gpstk::Exception& e) {
+   GPSTK_RETHROW(e);
+}
+catch (...) {
+   cerr << "PRSolve:SolutionAlgorithm caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+int AfterReadingFiles(void)
+{
+try {
+   if(C.APSout) {
+      PrintStats(SSA,PPA,zzA,"Autonomous solution for all files");
+      if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+         PrintStats(SSAPR,PPAPR,zzAPR,"Autonomous position residuals for all files");
+         PrintStats(SSANE,PPANE,zzANE,
+            "Autonomous position residuals (NEU) for all files",'N','E','U');
+      }
+   }
+
+   PrintStats(SSR,PPR,zzR,"RAIM solution for all files");
+   if(C.knownpos.getCoordinateSystem() != Position::Unknown) {
+      PrintStats(SSRPR,PPRPR,zzRPR,"RAIM position residuals for all files");
+      PrintStats(SSRNE,PPRNE,zzRNE,"RAIM position residuals (NEU) for all files",
+         'N','E','U');
+   }
+
+   cout << "Weighted average RAIM solution for all files" << endl << fixed;
+   if(SSR[0].N() > 0) {
+      Matrix<double> Cov=inverse(PPR);
+      Vector<double> Sol=Cov * zzR;
+      cout << setw(16) << setprecision(6) << Sol << endl;
+      cout << "Covariance of RAIM solution for all files" << endl;
+      cout << setw(16) << setprecision(6) << Cov << endl;
+   }
+   else cout << " No data!" << endl;
+
+      // compute data interval for this file
+   int i,j;
+   double dt;
+   for(j=0,i=1; i<9; i++) { if(C.ndt[i]>C.ndt[j]) j=i; }
+   //C.DT = C.estdt[j];
+   C.oflog << endl;
+   C.oflog << "Estimated data interval is " << C.estdt[j] << " seconds.\n";
+   C.oflog << "First epoch is "
+      << C.FirstEpoch.printf("%04Y/%02m/%02d %02H:%02M:%.3f = %04F %10.3g") << endl;
+   C.oflog << "Last epoch is "
+      << C.LastEpoch.printf("%04Y/%02m/%02d %02H:%02M:%.3f = %04F %10.3g") << endl;
+
+   return 0;
+}
+catch(gpstk::Exception& e) {
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      cerr << "PRSolve:AfterReadingFiles caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PrintStats(Stats<double> S[3], Matrix<double> &P, Vector<double> &z, string msg,
+   char c0, char c1, char c2)
+{
+   C.oflog << endl;
+   C.oflog << "Simple statistics on " << msg << endl << fixed;
+   C.oflog << c0 << " : " << setw(16) << setprecision(6) << S[0] << endl;
+   C.oflog << c1 << " : " << setw(16) << setprecision(6) << S[1] << endl;
+   C.oflog << c2 << " : " << setw(16) << setprecision(6) << S[2] << endl;
+
+   //C.oflog << endl;
+   C.oflog << "Weighted average " << msg << endl << fixed;
+   if(S[0].N() > 0) {
+      Matrix<double> Cov=inverse(P);
+      Vector<double> Sol=Cov * z;
+      C.oflog << setw(16) << setprecision(6) << Sol << "    " << S[0].N() << endl;
+      C.oflog << "Covariance of " << msg << endl;
+      C.oflog << setw(16) << setprecision(6) << Cov << endl;
+   }
+   else C.oflog << " No data!" << endl;
+}
+
+//------------------------------------------------------------------------------------
+int GetCommandLine(int argc, char **argv)
+{
+   bool help=false;
+   int i,j;
+try {
+      // defaults
+   C.Debug = C.Verbose = false;
+   C.ith = 0.0;
+   C.Tbeg = C.FirstEpoch = DayTime(DayTime::BEGINNING_OF_TIME);
+   C.Tend = DayTime(DayTime::END_OF_TIME);
+   //C.DT = 0;
+
+   C.rmsLimit = -1.0;            // PRSolution() has a default
+   C.slopeLimit = -1.0;          // PRSolution() has a default
+   C.algebra = false;
+   C.residCrit = true;
+   C.returnatonce = false;
+   C.maxReject = -1;             // PRSolution() has a default
+   C.nIter = -1;                 // PRSolution() has a default
+   C.convLimit = -1.0;           // PRSolution() has a default
+   C.elevLimit = 0.0;
+
+   C.LogFile = string("prs.log");
+
+   C.APSout = false;
+   C.UseCA = false;
+   C.DataInt = -1.0;
+   C.TropType = string("BL");
+   C.T = 20.0;
+   C.Pr = 980.0;
+   C.RH = 50.0;
+   
+   C.HDPrgm = PrgmName + string(" v.") + PrgmVers.substr(0,4);
+   C.HDRunby = string("ARL:UT/SGL/GPSTK");
+
+   C.timeFormat = string("%4F %10.3g");
+
+   for(i=0; i<9; i++) C.ndt[i]=-1;
+
+   C.ObsDirectory = string("");
+   C.NavDirectory = string("");
+
+      // -------------------------------------------------
+      // -------------------------------------------------
+      // required options
+   RequiredOption dashi(CommandOption::hasArgument, CommandOption::stdType,
+      'o',"obs"," [-o|--obs]<file>     Input Rinex observation file(s)");
+
+   RequiredOption dashn(CommandOption::hasArgument, CommandOption::stdType,'n',"nav",
+      " [-n|--nav]<file>     Input navigation (ephemeris) file(s) (Rinex or SP3)");
+
+      // optional options
+   // this only so it will show up in help page...
+   CommandOption dashf(CommandOption::hasArgument, CommandOption::stdType,
+      'f',"","# Input:\n -f<file>             File containing more options");
+
+   CommandOption dashdo(CommandOption::hasArgument, CommandOption::stdType,
+      0,"obsdir"," --obsdir <dir>       Directory of input observation file(s)");
+   dashdo.setMaxCount(1);
+
+   CommandOption dashdn(CommandOption::hasArgument, CommandOption::stdType,
+      0,"navdir"," --navdir <dir>       Directory of input navigation file(s)");
+   dashdn.setMaxCount(1);
+
+   CommandOption dashith(CommandOption::hasArgument, CommandOption::stdType,
+      0,"decimate"," --decimate <dt>      Decimate data to time interval dt");
+   dashith.setMaxCount(1);
+
+   // time
+   CommandOptionWithTimeArg dasheb(0,"EpochBeg","%Y,%m,%d,%H,%M,%f",
+      " --EpochBeg <arg>     Start time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+   CommandOptionWithTimeArg dashgb(0,"GPSBeg","%F,%g",
+      " --GPSBeg <arg>       Start time, arg is of the form GPSweek,GPSsow");
+
+   CommandOptionWithTimeArg dashee(0,"EpochEnd","%Y,%m,%d,%H,%M,%f",
+      " --EpochEnd <arg>     End time, arg is of the form YYYY,MM,DD,HH,Min,Sec");
+   CommandOptionWithTimeArg dashge(0,"GPSEnd","%F,%g",
+      " --GPSEnd <arg>       End time, arg is of the form GPSweek,GPSsow");
+
+   // allow ONLY one start time (use startmutex(true) if one is required)
+   CommandOptionMutex startmutex(false);
+   startmutex.addOption(&dasheb);
+   startmutex.addOption(&dashgb);
+   CommandOptionMutex stopmutex(false);
+   stopmutex.addOption(&dashee);
+   stopmutex.addOption(&dashge);
+
+   CommandOptionNoArg dashCA(0,"CA",
+      " --CA                 Use C/A code pseudorange if P1 is not available");
+   dashCA.setMaxCount(1);
+   
+   //CommandOption dashDT(CommandOption::hasArgument, CommandOption::stdType,
+      //0,"DT"," --DT <dt>              Time interval (sec) of data points");
+   //dashDT.setMaxCount(1);
+   
+   // --------------------------------------------------------------------------------
+
+   CommandOption dashrms(CommandOption::hasArgument, CommandOption::stdType,
+      0,"RMSlimit", "# Configuration:\n --RMSlimit <rms>     "
+      "Upper limit on RMS post-fit residuals (m) for a good solution");
+   dashrms.setMaxCount(1);
+
+   CommandOption dashslop(CommandOption::hasArgument, CommandOption::stdType,
+      0,"SlopeLimit",
+      " --SlopeLimit <s>     Upper limit on RAIM 'slope' for a good solution");
+   dashslop.setMaxCount(1);
+
+   CommandOptionNoArg dashAlge(0,"Algebra",
+      " --Algebra            Use algebraic algorithm (otherwise linearized LS)");
+   dashAlge.setMaxCount(1);
+
+   CommandOptionNoArg dashrcrt(0,"DistanceCriterion", " --DistanceCriterion  "
+      "Use distance from a priori as convergence criterion (else RMS)");
+   dashrcrt.setMaxCount(1);
+
+   CommandOptionNoArg dashrone(0,"ReturnAtOnce"," --ReturnAtOnce       "
+      "Return as soon as a good solution is found");
+   dashrone.setMaxCount(1);
+
+   CommandOption dashnrej(CommandOption::hasArgument, CommandOption::stdType,
+      0,"NReject", " --NReject <n>        Maximum number of satellites to reject");
+   dashnrej.setMaxCount(1);
+
+   CommandOption dashNit(CommandOption::hasArgument, CommandOption::stdType,0,"NIter",
+      " --NIter <n>          Maximum iteration count (linearized LS algorithm)");
+   dashNit.setMaxCount(1);
+
+   CommandOption dashConv(CommandOption::hasArgument, CommandOption::stdType,0,"Conv",
+      " --Conv <c>           Minimum convergence criterion (m) (LLS algorithm)");
+   dashConv.setMaxCount(1);
+
+   CommandOption dashElev(CommandOption::hasArgument, CommandOption::stdType,
+      0,"MinElev",
+      " --MinElev <el>       Minimum elevation angle (deg) (only if --PosXYZ)");
+   dashElev.setMaxCount(1);
+
+   CommandOption dashXprn(CommandOption::hasArgument, CommandOption::stdType,
+      0,"XPRN"," --XPRN <prn>         Exclude this satellite.");
+
+   CommandOption dashTrop(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Trop"," --Trop <model,T,P,H> Trop model (one of BL,SA,NB,GG,GGH (cf.GPSTk)),"
+      "\n                         with OPTIONAL weather Temp(C),Press(mb),RH(%)");
+   dashTrop.setMaxCount(1);
+
+   // --------------------------------------------------------------------------------
+
+   CommandOption dashLog(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Log","# Output:\n --Log <file>         Output log file name (prs.log).");
+   dashLog.setMaxCount(1);
+   
+   CommandOption dashXYZ(CommandOption::hasArgument, CommandOption::stdType,
+      0,"PosXYZ", " --PosXYZ <X,Y,Z>     "
+      "Known position (ECEF,m), used to compute output residuals.");
+   dashXYZ.setMaxCount(1);
+   
+   CommandOptionNoArg dashAPSout(0,"APSout",
+      " --APSout             Output autonomous pseudorange solution (APS - no RAIM)");
+   dashAPSout.setMaxCount(1);
+
+   CommandOption dashForm(CommandOption::hasArgument, CommandOption::stdType,
+      0,"TimeFormat", " --TimeFormat <fmt> "
+      "Output time format (ala DayTime) (default: " + C.timeFormat + ")");
+   dashForm.setMaxCount(1);
+
+   CommandOption dashRfile(CommandOption::hasArgument, CommandOption::stdType,
+      0,"RinexFile","# Rinex output:\n"
+      " --RinexFile <file>   Output Rinex obs file name");
+   dashRfile.setMaxCount(1);
+   
+   CommandOption dashRrun(CommandOption::hasArgument, CommandOption::stdType,
+      0,"RunBy"," --RunBy <string>     Output Rinex header 'RUN BY' string");
+   dashRrun.setMaxCount(1);
+   
+   CommandOption dashRobs(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Observer"," --Observer <string>  Output Rinex header 'OBSERVER' string");
+   dashRobs.setMaxCount(1);
+   
+   CommandOption dashRag(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Agency"," --Agency <string>    Output Rinex header 'AGENCY' string");
+   dashRag.setMaxCount(1);
+   
+   CommandOption dashRmark(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Marker"," --Marker <string>    Output Rinex header 'MARKER' string");
+   dashRmark.setMaxCount(1);
+   
+   CommandOption dashRnumb(CommandOption::hasArgument, CommandOption::stdType,
+      0,"Number"," --Number <string>    Output Rinex header 'NUMBER' string");
+   dashRnumb.setMaxCount(1);
+   
+   CommandOptionNoArg dashVerb(0,"verbose",
+      "# Help:\n --verbose            Print extended output");
+   dashVerb.setMaxCount(1);
+
+   CommandOptionNoArg dashDebug(0,"debug",
+      " --debug              Print very extended output.");
+   dashDebug.setMaxCount(1);
+
+   CommandOptionNoArg dashh('h', "help",
+     " [-h|--help]          Print syntax and quit.");
+
+   // ... other options
+   CommandOptionRest Rest("");
+
+   CommandOptionParser Par(
+   "Prgm PRSolve reads one or more Rinex observation files, plus one or more\n"
+   "   navigation (ephemeris) files, and computes an autonomous pseudorange\n"
+   "   position solution, using a RAIM-like algorithm to eliminate outliers.\n"
+   "   Output is to the log file, and also optionally to a Rinex obs file with\n"
+   "   the position solutions in auxiliary header blocks.\n");
+
+      // -------------------------------------------------
+      // allow user to put all options in a file
+      // could also scan for debug here
+   vector<string> Args;
+   for(j=1; j<argc; j++) PreProcessArgs(argv[j],Args,C.Verbose);
+
+   argc = Args.size();
+   if(argc==0) Args.push_back(string("-h"));
+//cout << "List after PreProcessArgs\n";
+//for(i=0; i<argc; i++) cout << i << " " << Args[i] << endl;
+
+      // pass the rest
+   argc = Args.size()+1;
+   char **CArgs=new char*[argc];
+   if(!CArgs) { cout << "Failed to allocate CArgs\n"; return -1; }
+   CArgs[0] = argv[0];
+   for(j=1; j<argc; j++) {
+      CArgs[j] = new char[Args[j-1].size()+1];
+      if(!CArgs[j]) { cout << "Failed to allocate CArgs[j]\n"; return -1; }
+      strcpy(CArgs[j],Args[j-1].c_str());
+   }
+//cout << "List passed to parser\n";
+//for(i=0; i<argc; i++) cout << i << " " << CArgs[i] << endl;
+   Par.parseOptions(argc, CArgs);
+
+      // -------------------------------------------------
+   if(dashh.getCount() > 0) {
+      Par.displayUsage(cout,false);
+      help = true;
+   }
+
+   if (Par.hasErrors())
+   {
+      cout << "\nErrors found in command line input:\n";
+      Par.dumpErrors(cout);
+      cout << "...end of Errors\n\n";
+      help = true;
+   }
+   
+      // -------------------------------------------------
+      // get values found on command line
+   vector<string> values;
+      // f never appears because we intercept it above
+   //if(dashf.getCount()) { cout << "Option f "; dashf.dumpValue(cout); }
+      // do help first
+   if(dashh.getCount()) help=true;
+   if(dashDebug.getCount()) C.Debug=C.Verbose=true;
+   if(dashVerb.getCount()) C.Verbose=true;
+
+   if(dashdo.getCount()) {
+      values = dashdo.getValue();
+      C.ObsDirectory = values[0];
+      if(help) cout << "Input obs directory is " << C.ObsDirectory << endl;
+   }
+   if(dashdn.getCount()) {
+      values = dashdn.getValue();
+      C.NavDirectory = values[0];
+      if(help) cout << "Input nav directory is " << C.NavDirectory << endl;
+   }
+   if(dashi.getCount()) {
+      values = dashi.getValue();
+      if(help) cout << "Input Rinex obs files are:\n";
+      for(i=0; i<values.size(); i++) {
+         if(!C.ObsDirectory.empty())
+            C.InputObsName.push_back(C.ObsDirectory + string("/") + values[i]);
+         else
+            C.InputObsName.push_back(values[i]);
+         if(help) cout << "   " << C.ObsDirectory + string("/") + values[i] << endl;
+      }
+   }
+   if(dashn.getCount()) {
+      values = dashn.getValue();
+      if(help) cout << "Input Rinex nav files are:\n";
+      for(i=0; i<values.size(); i++) {
+         if(!C.NavDirectory.empty())
+            C.InputNavName.push_back(C.NavDirectory + string("/") + values[i]);
+         else
+            C.InputNavName.push_back(values[i]);
+         if(help) cout << "  " << C.NavDirectory + string("/") + values[i] << endl;
+      }
+   }
+
+   if(dashith.getCount()) {
+      values = dashith.getValue();
+      C.ith = StringUtils::asDouble(values[0]);
+      if(help) cout << "Ithing values is " << C.ith << endl;
+   }
+   if(dasheb.getCount()) {
+      values = dasheb.getValue();
+      C.Tbeg.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+      if(help) cout << "Begin time is "
+         << C.Tbeg.printf("%04Y/%02m/%02d %02H:%02M:%.3f") << endl;
+   }
+   if(dashgb.getCount()) {
+      values = dashgb.getValue();
+      C.Tbeg.setToString(values[0], "%F,%g");
+      if(help) cout << "Begin time is " << C.Tbeg.printf("%04F/%10.3g") << endl;
+   }
+   if(dashee.getCount()) {
+      values = dashee.getValue();
+      C.Tend.setToString(values[0], "%Y,%m,%d,%H,%M,%S");
+      if(help) cout << "End time is "
+         << C.Tend.printf("%04Y/%02m/%02d %02H:%02M:%.3f") << endl;
+   }
+   if(dashge.getCount()) {
+      values = dashge.getValue();
+      C.Tend.setToString(values[0], "%F,%g");
+      if(help) cout << "End time is " << C.Tend.printf("%04F/%10.3g") << endl;
+   }
+   if(dashCA.getCount()) {
+      C.UseCA = true;
+      if(help) cout << "'Use C/A' flag is set\n";
+   }
+   //if(dashDT.getCount()) {
+      //values = dashDT.getValue();
+      //C.DT = StringUtils::asDouble(values[0]);
+      //if(help) cout << "DT is set to " << C.DT << endl;
+   //}
+
+   if(dashrms.getCount()) {
+      values = dashrms.getValue();
+      C.rmsLimit = StringUtils::asDouble(values[0]);
+      if(help) cout << "RMS limit is set to " << C.rmsLimit << endl;
+   }
+   if(dashslop.getCount()) {
+      values = dashslop.getValue();
+      C.slopeLimit = StringUtils::asDouble(values[0]);
+      if(help) cout << "Slope limit is set to " << C.slopeLimit << endl;
+   }
+   if(dashAlge.getCount()) {
+      C.algebra = true;
+      if(help) cout << "'Algebraic' option is on\n";
+   }
+   if(dashrcrt.getCount()) {
+      C.residCrit = false;
+      if(help) cout << "'ResidualCriterion' option is false\n";
+   }
+   if(dashrone.getCount()) {
+      C.returnatonce = true;
+      if(help) cout << "'Return at once' option is true\n";
+   }
+   if(dashnrej.getCount()) {
+      values = dashnrej.getValue();
+      C.maxReject = StringUtils::asInt(values[0]);
+      if(help) cout << "Max N rejected satellites is set to " << C.maxReject << endl;
+   }
+   if(dashNit.getCount()) {
+      values = dashNit.getValue();
+      C.nIter = StringUtils::asInt(values[0]);
+      if(help) cout << "Max N Iterations is set to " << C.nIter << endl;
+   }
+   if(dashElev.getCount()) {
+      values = dashElev.getValue();
+      C.elevLimit = StringUtils::asDouble(values[0]);
+      if(help) cout << "Elevation limit is set to " << C.convLimit << " deg" << endl;
+   }
+   if(dashConv.getCount()) {
+      values = dashConv.getValue();
+      C.convLimit = StringUtils::asDouble(values[0]);
+      if(help) cout << "Convergence limit is set to " << C.convLimit << endl;
+   }
+
+   if(dashXYZ.getCount()) {
+      values = dashXYZ.getValue();
+      vector<string> field;
+      for(i=0; i<values.size(); i++) {
+         field.clear();
+         while(values[i].size() > 0)
+            field.push_back(StringUtils::stripFirstWord(values[i],','));
+         if(field.size() < 3) {
+            C.oflog << "Error: less than four fields in --PosXYZ input: "
+               << values[i] << endl;
+            cerr << "Error: less than four fields in --PosXYZ input: "
+               << values[i] << endl;
+            continue;
+         }
+         Position p(StringUtils::asDouble(field[0]),
+                    StringUtils::asDouble(field[1]),
+                    StringUtils::asDouble(field[2]));
+         C.knownpos = p;
+         if(help) cout << " Input: known XYZ position "
+            << field[0] << " " << field[1] << " " << field[2] << endl;
+      }
+   }
+   if(dashAPSout.getCount()) C.APSout=true;
+   if(dashForm.getCount()) {
+      values = dashForm.getValue();
+      C.timeFormat = values[0];
+      if(help) cout << " Input: time format " << C.timeFormat << endl;
+   }
+   if(dashXprn.getCount()) {
+      values = dashXprn.getValue();
+      for(i=0; i<values.size(); i++) {
+         RinexPrn p=StringUtils::asData<RinexPrn>(values[i]);
+         if(help) cout << "Exclude satellite " << p << endl;
+         C.ExSV.push_back(p);
+      }
+   }
+   if(dashTrop.getCount()) {
+      values = dashTrop.getValue();
+      vector<string> field;
+      while(values[0].size() > 0)
+         field.push_back(StringUtils::stripFirstWord(values[0],','));
+      if(field.size() != 1 && field.size() != 4) {
+         C.oflog << "Error: invalid fields after --Trop input: "
+            << values[0] << endl;
+         cerr << "Error: invalid fields after --Trop input: "
+            << values[0] << endl;
+      }
+      else {
+         field[0] = StringUtils::upperCase(field[0]);
+         C.TropType = field[0];
+         if(help) cout << " Input: trop model: " << C.TropType;
+         if(field.size() == 4) {
+            C.T = StringUtils::asDouble(field[1]);
+            C.Pr = StringUtils::asDouble(field[2]);
+            C.RH = StringUtils::asDouble(field[3]);
+            if(help) cout << " and weather (T,P,RH): "
+               << C.T << "," << C.Pr << "," << C.RH;
+         }
+         if(help) cout << endl;
+      }
+   }
+   if(dashLog.getCount()) {
+      values = dashLog.getValue();
+      C.LogFile = values[0];
+      if(help) cout << "Log file is " << C.LogFile << endl;
+   }
+   if(dashRfile.getCount()) {
+      values = dashRfile.getValue();
+      C.OutRinexObs = values[0];
+      if(help) cout << "Output Rinex file name is " << C.OutRinexObs << endl;
+   }
+   if(dashRrun.getCount()) {
+      values = dashRrun.getValue();
+      C.HDRunby = values[0];
+      if(help) cout << "Output Rinex 'RUN BY' is " << C.HDRunby << endl;
+   }
+   if(dashRobs.getCount()) {
+      values = dashRobs.getValue();
+      C.HDObs = values[0];
+      if(help) cout << "Output Rinex 'OBSERVER' is " << C.HDObs << endl;
+   }
+   if(dashRag.getCount()) {
+      values = dashRag.getValue();
+      C.HDAgency = values[0];
+      if(help) cout << "Output Rinex 'AGENCY' is " << C.HDAgency << endl;
+   }
+   if(dashRmark.getCount()) {
+      values = dashRmark.getValue();
+      C.HDMarker = values[0];
+      if(help) cout << "Output Rinex 'MARKER' is " << C.HDMarker << endl;
+   }
+   if(dashRnumb.getCount()) {
+      values = dashRnumb.getValue();
+      C.HDNumber = values[0];
+      if(help) cout << "Output Rinex 'NUMBER' is " << C.HDNumber << endl;
+   }
+
+   if(Rest.getCount()) {
+      if(help) cout << "Remaining options:" << endl;
+      values = Rest.getValue();
+      for (i=0; i<values.size(); i++) {
+         if(help) cout << values[i] << endl;
+         //C.InputObsName.push_back(values[i]);
+      }
+   }
+   //if(C.Verbose && help) {
+   // cout << "\nTokens on command line (" << Args.size() << ") are:" << endl;
+   // for(unsigned j=0; j<Args.size(); j++) cout << Args[j] << endl;
+   //}
+
+   C.oflog.open(C.LogFile.c_str(),ios::out);
+   if(C.oflog.fail()) {
+      cout << "Failed to open log file " << C.LogFile << endl;
+   }
+   else {
+      cout << "Opened log file " << C.LogFile << endl;
+      C.oflog << Title;
+   }
+
+      // print config to log
+   C.oflog << "\nHere is the input configuration:\n";
+   C.oflog << " Input Rinex obs files are:\n";
+   for(i=0; i<C.InputObsName.size(); i++) {
+      C.oflog << "   " << C.InputObsName[i] << endl;
+   }
+   C.oflog << " Input Obs directory is " << C.ObsDirectory << endl;
+   C.oflog << " Input Nav directory is " << C.NavDirectory << endl;
+   C.oflog << " Ithing time interval is " << C.ith << endl;
+   if(C.Tbeg > DayTime(DayTime::BEGINNING_OF_TIME)) C.oflog << " Begin time is "
+      << C.Tbeg.printf("%04Y/%02m/%02d %02H:%02M:%.3f")
+      << " = " << C.Tbeg.printf("%04F/%10.3g") << endl;
+   if(C.Tend < DayTime(DayTime::END_OF_TIME)) C.oflog << " End time is "
+      << C.Tend.printf("%04Y/%02m/%02d %02H:%02M:%.3f")
+      << " = " << C.Tend.printf("%04F/%10.3g") << endl;
+   if(C.UseCA) C.oflog << " 'Use C/A' flag is set\n";
+   //C.oflog << " DT is set to " << C.DT << endl;
+   if(C.ExSV.size()) {
+      C.oflog << " Exclude satellites";
+      for(i=0; i<C.ExSV.size(); i++) C.oflog << " " << C.ExSV[i];
+      C.oflog << endl;
+   }
+   C.oflog << " Trop model: " << C.TropType
+      << " and weather (T,P,RH): " << C.T << "," << C.Pr << "," << C.RH << endl;
+   C.oflog << " Log file is " << C.LogFile << endl;
+   if(C.APSout) C.oflog << " Output autonomous solution (no RAIM) - APS,etc.\n";
+   C.oflog << " Output format for time tags (cf. class DayTime) is "
+      << C.timeFormat << endl;
+   if(C.knownpos.getCoordinateSystem() != Position::Unknown)
+      C.oflog << " Output residuals: known position is\n   " << C.knownpos.printf(
+         "ECEF(m) %.4x %.4y %.4z\n     = %A deg N %L deg E %h m\n");
+   if(!C.OutRinexObs.empty()) C.oflog << " Output Rinex file name is "
+      << C.OutRinexObs << endl;
+   if(!C.HDRunby.empty()) C.oflog << " Output Rinex 'RUN BY' is "
+      << C.HDRunby << endl;
+   if(!C.HDObs.empty()) C.oflog << " Output Rinex 'OBSERVER' is "
+      << C.HDObs << endl;
+   if(!C.HDAgency.empty()) C.oflog << " Output Rinex 'AGENCY' is "
+      << C.HDAgency << endl;
+   if(!C.HDMarker.empty()) C.oflog << " Output Rinex 'MARKER' is "
+      << C.HDMarker << endl;
+   if(!C.HDNumber.empty()) C.oflog << " Output Rinex 'NUMBER' is "
+      << C.HDNumber << endl;
+   C.oflog << " ------ PRSolution configuration (-1 means use PRSolution default) :"
+      << endl;
+   C.oflog << " Solution limit parameters are "
+      << C.rmsLimit << " = RMS residuals (m) limit, and "
+      << C.slopeLimit << " = RAIM 'slope' limit" << endl;
+   C.oflog << " Algebraic algorithm is turned "
+      << (C.algebra ? "ON ":"OFF ") << endl;
+   C.oflog << " Residual criterion is '"
+      << (C.residCrit ? "RMS residuals" : "Distance from apriori") << "'" << endl;
+   C.oflog << " Return-at-once option is "
+      << (C.returnatonce ? "on" : "off") << endl;
+   C.oflog << " Maximum # of satellites to reject is " << C.maxReject << endl;
+   C.oflog << " Minimum elevation angle is " << C.elevLimit << " degrees." << endl;
+   C.oflog << " LLS convergence parameters are " << C.nIter << " iterations and "
+      << scientific << setprecision(3) << C.convLimit << " RSS convergence (m)"
+      << endl;
+   C.oflog << "End of input configuration summary" << endl;
+
+   if(help) return 1;
+   return 0;
+}
+catch(gpstk::Exception& e) {
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      cerr << "PRSolve:GetCommandLine caught an unknown exception\n";
+}
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+void PreProcessArgs(const char *arg, vector<string>& Args, bool& ver)
+{
+try {
+   if(arg[0]=='-' && arg[1]=='f') {
+      string fname(arg);
+      fname.erase(0,2);
+      cout << "Found a file of options: " << fname << endl;
+      ifstream infile(fname.c_str());
+      if(!infile) {
+         cerr << "Error: could not open options file "
+            << fname << endl;
+      }
+      else {
+         char c;
+         string buffer,word;
+         while(1) {
+            getline(infile,buffer);
+            if(infile.eof() || !infile.good()) break;
+
+            while(1) {
+               word = StringUtils::firstWord(buffer);
+               if(word[0] == '#') {        // skip to end of line
+                  break;
+               }
+               else if(word[0] == '"') {
+                  word = StringUtils::stripFirstWord(buffer,'"');
+               }
+               else {
+                  word = StringUtils::stripFirstWord(buffer);
+               }
+               PreProcessArgs(word.c_str(),Args,ver); //Args.push_back(buffer);
+               if(buffer.empty()) break;
+            }
+         }
+      }
+   }
+   else if((arg[0]=='-' && arg[1]=='v') || string(arg)==string("--verbose")) {
+      ver = true;
+      cout << "Found the verbose switch" << endl;
+   }
+   else Args.push_back(arg);
+}
+catch(gpstk::Exception& e) {
+      GPSTK_RETHROW(e);
+}
+catch (...) {
+      cerr << "PRSolve:PreProcessArgs caught an unknown exception\n";
+}
+}
+
+//------------------------------------------------------------------------------------
+bool isSP3File(const string& file)
+{
+   SP3Header header;
+   SP3Stream strm(file.c_str());
+   strm.exceptions(fstream::failbit);
+   try { strm >> header; } catch(gpstk::Exception& e) { return false; }
+   strm.close();
+   return true;
+}
+bool isRinexNavFile(const string& file)
+{
+   RinexNavHeader header;
+   RinexNavStream rnstream(file.c_str());
+   rnstream.exceptions(fstream::failbit);
+   try { rnstream >> header; } catch(gpstk::Exception& e) { return false; }
+   rnstream.close();
+   return true;
+}
+int FillEphemerisStore(const vector<string>& files, SP3EphemerisStore& PE,
+   BCEphemerisStore& BCE)
+{
+   try {
+      int nread=0;
+      RinexNavHeader rnh;
+      RinexNavData rne;
+      for(int i=0; i<files.size(); i++) {
+         if(files[i].empty()) throw Exception("File name is empty");
+         RinexNavStream strm(files[i].c_str());
+         if(!strm) throw Exception("Could not open file " + files[i]);
+         strm.close();
+         if(isRinexNavFile(files[i])) {
+            RinexNavStream RNFileIn(files[i].c_str());
+            RNFileIn.exceptions(fstream::failbit);
+            try {
+               RNFileIn >> rnh;
+               while (RNFileIn >> rne)
+               {
+                  if(rne.health == 0)
+                     BCE.addEphemeris(rne);
+               }
+               nread++;
+            }
+            catch(gpstk::Exception& e) {
+               cerr << "Caught Exception while reading Rinex Nav file " << files[i]
+                  << " : " << e << endl;
+               continue;
+            }
+         }
+         else if(isSP3File(files[i])) {
+            try {
+               PE.loadFile(files[i]);
+            }
+            catch(gpstk::Exception& e) {
+               cerr << "Caught Exception while reading SP3 Nav file " << files[i]
+                  << " : " << e << endl;
+               continue;
+            }
+            nread++;
+         }
+         else throw Exception("File " + files[i] + " is neither BCE nor PE file.");
+      }
+      return nread;
+   }
+   catch(gpstk::Exception& e) {
+      GPSTK_RETHROW(e);
+   }
+   catch (...) {
+      cerr << "PRSolve:FillEphemerisStore caught an unknown exception\n";
+   }
+   return -1;
+}
+
+//------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------
diff --git a/trunk/apps/positioning/doc/brdc0200.05n b/trunk/apps/positioning/doc/brdc0200.05n
new file mode 100644
index 0000000..d04196b
--- /dev/null
+++ b/trunk/apps/positioning/doc/brdc0200.05n
@@ -0,0 +1,3240 @@
+     2              NAVIGATION DATA                         RINEX VERSION / TYPE
+CCRINEXN V1.6.0 UX  CDDIS               20-JAN-00 20:27     PGM / RUN BY / DATE 
+IGS BROADCAST EPHEMERIS FILE                                COMMENT             
+    0.1490D-07 -0.7451D-08 -0.5961D-07  0.1192D-06          ION ALPHA           
+    0.1249D+06 -0.1311D+06  0.0000D+00 -0.6554D+05          ION BETA            
+   -0.186264514923D-08-0.888178419700D-15   589824     1306 DELTA-UTC: A0,A1,T,W
+    13                                                      LEAP SECONDS        
+                                                            END OF HEADER       
+ 1 05  1 20  0  0  0.0 0.383807811886D-03 0.181898940355D-11 0.000000000000D+00
+    0.184000000000D+03-0.815312500000D+02 0.400730977768D-08-0.768658696943D+00
+   -0.427104532719D-05 0.603075954132D-02 0.645406544209D-05 0.515363115501D+04
+    0.345600000000D+06-0.763684511185D-07-0.123933867221D+01 0.242143869400D-07
+    0.982227199054D+00 0.267343750000D+03-0.165823146450D+01-0.795318842508D-08
+   -0.107147320259D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.184000000000D+03
+    0.345599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20  0  0  0.0-0.426662154496D-04 0.568434188608D-11 0.000000000000D+00
+    0.170000000000D+02 0.970000000000D+02 0.463305012799D-08 0.887988494571D+00
+    0.493787229061D-05 0.949743459933D-02 0.734999775887D-05 0.515366009903D+04
+    0.345600000000D+06-0.104308128357D-06 0.292148260649D+01-0.150874257088D-06
+    0.956872657770D+00 0.238781250000D+03 0.174979349849D+01-0.823105714228D-08
+    0.167864135072D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.273000000000D+03
+    0.345599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20  0  0  0.0 0.731428153813D-04 0.250111042988D-11 0.000000000000D+00
+    0.147000000000D+03-0.153125000000D+01 0.519450208615D-08 0.294052653319D+01
+   -0.894069671631D-07 0.591802038252D-02 0.637024641037D-05 0.515361718559D+04
+    0.345600000000D+06 0.335276126862D-07 0.749209593141D+00-0.391155481339D-07
+    0.936416207597D+00 0.241593750000D+03 0.937613901554D+00-0.815819696451D-08
+    0.128219626576D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.659000000000D+03
+    0.338418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20  0  0  0.0 0.633196905255D-04-0.302406988340D-10 0.000000000000D+00
+    0.102000000000D+03 0.231875000000D+02 0.517735851491D-08 0.946082463675D-01
+    0.110641121864D-05 0.129244003911D-01 0.847131013870D-05 0.515365702438D+04
+    0.345600000000D+06-0.182539224625D-06 0.181954817549D+01 0.633299350739D-07
+    0.936065819699D+00 0.206250000000D+03-0.181194137305D+01-0.842249368781D-08
+   -0.333942481473D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.186264514923D-08 0.358000000000D+03
+    0.338400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20  0  0  0.0-0.190427526832D-04-0.113686837722D-11 0.000000000000D+00
+    0.910000000000D+02-0.295625000000D+02 0.429446459597D-08-0.191385389771D+01
+   -0.156462192535D-05 0.924153334927D-02 0.918097794056D-05 0.515376824379D+04
+    0.345600000000D+06-0.189989805222D-06-0.185241096241D+00 0.204890966415D-07
+    0.967591379539D+00 0.209312500000D+03 0.250866358235D+01-0.781139680460D-08
+    0.396445084958D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.400000000000D+01 0.000000000000D+00-0.372529029846D-08 0.603000000000D+03
+    0.345599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20  0  0  0.0-0.248388387263D-04-0.170530256582D-11 0.000000000000D+00
+    0.143000000000D+03-0.447187500000D+02 0.440375486264D-08-0.241236397593D+01
+   -0.225380063057D-05 0.163654558128D-01 0.895187258720D-05 0.515368970299D+04
+    0.345600000000D+06 0.208616256714D-06-0.257499320532D+00-0.521540641785D-07
+    0.954704705340D+00 0.200531250000D+03 0.111900358214D+01-0.761174563119D-08
+    0.435375277985D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.558793544769D-08 0.655000000000D+03
+    0.342480000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05  1 20  0  0  0.0 0.575194135308D-04 0.682121026330D-12 0.000000000000D+00
+    0.430000000000D+02 0.762500000000D+01 0.435160983345D-08 0.120738835849D+01
+    0.635161995888D-06 0.635631964542D-02 0.239349901676D-05 0.515358552170D+04
+    0.345600000000D+06 0.111758708954D-07-0.230021638778D+01 0.968575477600D-07
+    0.978782076716D+00 0.341812500000D+03 0.291498023846D+00-0.825177229087D-08
+   -0.114290474943D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.232830643654D-08 0.299000000000D+03
+    0.338418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05  1 20  0  0  0.0 0.186496879905D-03 0.363797880709D-11 0.000000000000D+00
+    0.200000000000D+01 0.829687500000D+02 0.572309553276D-08-0.146741260248D+01
+    0.417605042458D-05 0.393220002297D-02 0.693649053574D-05 0.515367902184D+04
+    0.345600000000D+06 0.558793544769D-08 0.280234437214D+01-0.670552253723D-07
+    0.903681946803D+00 0.215375000000D+03 0.180220564738D+00-0.857357140938D-08
+   -0.142863093678D-11 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.200000000000D+01
+    0.345599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+13 05  1 20  0  0  0.0-0.138129107654D-04 0.909494701773D-12 0.000000000000D+00
+    0.165000000000D+03-0.832500000000D+02 0.384551732409D-08 0.130423704195D+01
+   -0.442378222942D-05 0.224653002806D-02 0.675581395626D-05 0.515353816795D+04
+    0.345600000000D+06-0.502914190292D-07-0.125560305748D+01 0.186264514923D-07
+    0.986415410630D+00 0.262000000000D+03 0.913016309194D+00-0.778353850134D-08
+   -0.110718897601D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.165000000000D+03
+    0.345570000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+14 05  1 20  0  0  0.0-0.314870849252D-04-0.113686837722D-12 0.000000000000D+00
+    0.147000000000D+03-0.895000000000D+02 0.405445459859D-08 0.377622195309D-01
+   -0.464729964733D-05 0.182134879287D-02 0.614300370216D-05 0.515368349457D+04
+    0.345600000000D+06-0.186264514923D-08-0.126610989458D+01 0.111758708954D-07
+    0.980774777412D+00 0.273343750000D+03-0.178157412688D+01-0.789425739894D-08
+   -0.107147320259D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.147000000000D+03
+    0.345599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+15 05  1 20  0  0  0.0 0.377884600312D-03 0.534328137292D-11 0.000000000000D+00
+    0.220000000000D+02 0.972500000000D+02 0.440661212451D-08-0.213628069941D+01
+    0.524148344994D-05 0.881222612225D-02 0.718794763088D-05 0.515358805084D+04
+    0.345600000000D+06-0.135973095894D-06 0.299555717085D+01 0.143423676491D-06
+    0.963649141546D+00 0.246843750000D+03 0.234256984989D+01-0.793068748782D-08
+    0.757174396496D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.279396772385D-08 0.278000000000D+03
+    0.345438000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05  1 20  0  0  0.0 0.198883935809D-05-0.227373675443D-12 0.000000000000D+00
+    0.440000000000D+02-0.753125000000D+01 0.468876673453D-08 0.299997399849D+01
+   -0.325962901115D-06 0.245528330561D-02 0.649504363537D-05 0.515368168449D+04
+    0.345600000000D+06 0.502914190292D-07 0.827470999786D+00 0.931322574616D-08
+    0.961287329064D+00 0.254031250000D+03-0.121178488082D+01-0.797497504686D-08
+    0.664313385605D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.440000000000D+02
+    0.345570000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+17 05  1 20  0  0  0.0-0.930861569941D-04 0.189857018995D-10 0.000000000000D+00
+    0.219000000000D+03 0.103437500000D+03 0.437839666351D-08-0.141349580431D+01
+    0.531598925591D-05 0.175189403817D-01 0.601448118687D-05 0.515372174072D+04
+    0.345600000000D+06 0.229105353355D-06 0.303760976046D+01-0.262632966042D-06
+    0.965560559587D+00 0.264875000000D+03-0.269762036324D+01-0.793033033009D-08
+    0.235009789101D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.475000000000D+03
+    0.345570000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05  1 20  0  0  0.0-0.118944328278D-03-0.375166564481D-11 0.000000000000D+00
+    0.410000000000D+02 0.665625000000D+01 0.459054835762D-08 0.266110021236D+01
+    0.325962901115D-06 0.553582189605D-02 0.223517417908D-05 0.515371818924D+04
+    0.345600000000D+06-0.800937414169D-07-0.227114529727D+01-0.111758708954D-07
+    0.962591952093D+00 0.338875000000D+03-0.280328691563D+01-0.824570060939D-08
+   -0.535736601294D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.297000000000D+03
+    0.344178000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+20 05  1 20  0  0  0.0-0.908738002181D-04 0.272848410532D-11 0.000000000000D+00
+    0.100000000000D+03 0.124375000000D+02 0.455661837287D-08 0.238355852501D+01
+    0.573694705963D-06 0.226664869115D-02 0.273250043392D-05 0.515379706383D+04
+    0.345600000000D+06-0.111758708954D-07-0.232363535532D+01-0.689178705216D-07
+    0.962457537717D+00 0.325406250000D+03 0.141721478199D+01-0.823570019283D-08
+   -0.153577825704D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.100000000000D+03
+    0.342150000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05  1 20  0  0  0.0 0.880081206560D-04 0.102318153950D-11 0.000000000000D+00
+    0.216000000000D+03 0.101281250000D+03 0.466055127353D-08-0.221079324096D+01
+    0.514462590218D-05 0.933521508705D-02 0.726990401745D-05 0.515365575790D+04
+    0.345600000000D+06-0.124797224999D-06 0.296480835907D+01-0.175088644028D-06
+    0.950171458684D+00 0.238281250000D+03 0.311202959250D+01-0.809569436102D-08
+    0.118576367753D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.472000000000D+03
+    0.338718000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+22 05  1 20  0  0  0.0 0.162469223142D-04 0.000000000000D+00 0.000000000000D+00
+    0.161000000000D+03 0.909375000000D+01 0.478734226916D-08 0.835595606460D+00
+    0.413507223129D-06 0.506228988525D-02 0.239536166191D-05 0.515368214607D+04
+    0.345600000000D+06-0.540167093277D-07-0.226188488538D+01-0.223517417908D-07
+    0.960006820777D+00 0.334437500000D+03-0.147734130753D+01-0.844570894054D-08
+    0.357157734196D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.417000000000D+03
+    0.345558000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+23 05  1 20  0  0  0.0 0.211483798921D-03 0.568434188608D-12 0.000000000000D+00
+    0.207000000000D+03-0.810312500000D+02 0.439089718421D-08 0.427832014658D+00
+   -0.440329313278D-05 0.364400586113D-02 0.653788447380D-05 0.515372495651D+04
+    0.345600000000D+06-0.186264514923D-08-0.127110091610D+01-0.596046447754D-07
+    0.962923462496D+00 0.254812500000D+03 0.223674518386D+01-0.807426489697D-08
+   -0.114290474943D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.207000000000D+03
+    0.345570000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05  1 20  0  0  0.0 0.843270681798D-04 0.909494701773D-12 0.000000000000D+00
+    0.204000000000D+03-0.358125000000D+02 0.471805366873D-08-0.160610698528D+01
+   -0.166147947311D-05 0.118056290084D-01 0.874698162079D-05 0.515361414337D+04
+    0.345600000000D+06 0.223517417908D-07-0.308829129481D+00 0.281259417534D-06
+    0.947878451628D+00 0.206062500000D+03-0.151582391620D+01-0.802712007606D-08
+    0.260010830495D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.745058059692D-08 0.204000000000D+03
+    0.338910000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05  1 20  0  0  0.0 0.316977500916D-03 0.557065504836D-11 0.000000000000D+00
+    0.510000000000D+02-0.968750000000D+02 0.399088052191D-08-0.588597127993D+00
+   -0.495277345181D-05 0.158485257998D-01 0.672042369843D-05 0.515374921417D+04
+    0.345600000000D+06 0.149011611939D-06-0.125350670172D+01 0.264495611191D-06
+    0.984700541484D+00 0.260406250000D+03 0.651628217399D+00-0.801247660896D-08
+   -0.146434671020D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.307000000000D+03
+    0.344988000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05  1 20  0  0  0.0 0.464795157313D-04 0.113686837722D-12 0.000000000000D+00
+    0.123000000000D+03-0.303125000000D+01 0.474412618333D-08 0.177726619009D+01
+   -0.167638063431D-06 0.957208813634D-02 0.701099634171D-05 0.515363552094D+04
+    0.345600000000D+06-0.245869159699D-06 0.837750572565D+00-0.745058059692D-08
+    0.959271468913D+00 0.244750000000D+03-0.236703870400D+01-0.805319259065D-08
+    0.285726187357D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.635000000000D+03
+    0.338400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05  1 20  0  0  0.0 0.178889837116D-03-0.189857018995D-10 0.000000000000D+00
+    0.190000000000D+03-0.107125000000D+03 0.395480759075D-08 0.149914729085D+01
+   -0.578165054321D-05 0.877578230575D-02 0.634975731373D-05 0.515359872436D+04
+    0.345600000000D+06 0.132247805595D-06-0.128672512403D+01-0.143423676491D-06
+    0.981575823076D+00 0.264406250000D+03-0.122412268864D+01-0.781461122421D-08
+   -0.158220876249D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.446000000000D+03
+    0.345570000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+30 05  1 20  0  0  0.0 0.444295350462D-03-0.143245415529D-10 0.000000000000D+00
+    0.154000000000D+03-0.184375000000D+01 0.505628204301D-08 0.210115543507D+01
+   -0.212341547012D-06 0.798801553901D-02 0.640377402306D-05 0.515375415039D+04
+    0.345600000000D+06 0.800937414169D-07 0.792214043558D+00-0.169500708580D-06
+    0.943195008635D+00 0.245125000000D+03 0.127888674752D+01-0.812105256015D-08
+    0.119647840956D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.154000000000D+03
+    0.338418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05  1 20  1 59 12.0 0.843168236315D-04 0.909494701773D-12 0.000000000000D+00
+    0.140000000000D+02-0.434375000000D+02 0.481484341470D-08-0.562973351266D+00
+   -0.225007534027D-05 0.118050163146D-01 0.904686748981D-05 0.515361196518D+04
+    0.352752000000D+06-0.124797224998D-06-0.308888070451D+00 0.782310962677D-07
+    0.947879703886D+00 0.203156250000D+03-0.151573904793D+01-0.824034324337D-08
+    0.321799118511D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.526000000000D+03
+    0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20  1 59 44.0 0.631045550108D-04-0.302406988339D-10 0.000000000000D+00
+    0.123000000000D+03 0.160625000000D+02 0.509378360510D-08 0.114241545453D+01
+    0.797212123871D-06 0.129248569719D-01 0.838004052639D-05 0.515365851784D+04
+    0.352784000000D+06-0.247731804848D-06 0.181948765456D+01-0.782310962677D-07
+    0.936063369311D+00 0.205562500000D+03-0.181188674623D+01-0.837249160502D-08
+   -0.333942481473D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.123000000000D+03
+    0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05  1 20  1 59 44.0 0.575212761760D-04 0.682121026330D-12 0.000000000000D+00
+    0.680000000000D+02 0.678125000000D+01 0.432696594979D-08 0.225520382337D+01
+    0.424683094025D-06 0.635643559508D-02 0.277534127235D-05 0.515358646965D+04
+    0.352784000000D+06-0.206753611565D-06-0.230027623137D+01 0.372529029846D-07
+    0.978782015274D+00 0.337156250000D+03 0.291582023139D+00-0.813605318499D-08
+    0.285726187357D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.680000000000D+02
+    0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05  1 20  1 59 44.0 0.186524353921D-03 0.363797880709D-11 0.000000000000D+00
+    0.260000000000D+02 0.804375000000D+02 0.571238080073D-08-0.419448496353D+00
+    0.420026481152D-05 0.393214274663D-02 0.714510679245D-05 0.515367962456D+04
+    0.352784000000D+06 0.670552253723D-07 0.280228288862D+01-0.931322574615D-08
+    0.903681537186D+00 0.210937500000D+03 0.180108255055D+00-0.863357390872D-08
+   -0.489306095849D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.260000000000D+02
+    0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05  1 20  1 59 44.0 0.162585638464D-04 0.227373675443D-12 0.000000000000D+00
+    0.187000000000D+03 0.721875000000D+01 0.468519515718D-08 0.188317906716D+01
+    0.312924385071D-06 0.506255705841D-02 0.187754631043D-05 0.515368466186D+04
+    0.352784000000D+06 0.707805156708D-07-0.226194521905D+01-0.502914190292D-07
+    0.960007467387D+00 0.343812500000D+03-0.147708191752D+01-0.831748931396D-08
+    0.125005206969D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.187000000000D+03
+    0.348168000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05  1 20  1 59 44.0 0.843275338411D-04 0.909494701773D-12 0.000000000000D+00
+    0.229000000000D+03-0.434375000000D+02 0.481484341470D-08-0.558305075807D+00
+   -0.225007534027D-05 0.118050286546D-01 0.904686748981D-05 0.515361197090D+04
+    0.352784000000D+06-0.124797224998D-06-0.308888319147D+00 0.782310962677D-07
+    0.947879714126D+00 0.203156250000D+03-0.151573972380D+01-0.824034324337D-08
+    0.321799118511D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.485000000000D+03
+    0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05  1 20  1 59 44.0 0.317018944770D-03 0.557065504836D-11 0.000000000000D+00
+    0.760000000000D+02-0.893750000000D+02 0.399409494152D-08 0.459192466638D+00
+   -0.447593629360D-05 0.158495466458D-01 0.671483576298D-05 0.515375114822D+04
+    0.352784000000D+06-0.465661287308D-07-0.125356444310D+01 0.244006514549D-06
+    0.984699299467D+00 0.260781250000D+03 0.651635577340D+00-0.803676333488D-08
+   -0.188936441390D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.332000000000D+03
+    0.351138000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05  1 20  1 59 44.0 0.464790500700D-04 0.113686837722D-12 0.000000000000D+00
+    0.151000000000D+03-0.303125000000D+01 0.463055002385D-08 0.282513411520D+01
+   -0.208616256714D-06 0.957204867154D-02 0.689923763275D-05 0.515363560677D+04
+    0.352784000000D+06-0.204890966415D-07 0.837693486576D+00-0.121071934700D-06
+    0.959272882092D+00 0.245156250000D+03-0.236703483751D+01-0.781996859022D-08
+    0.575023952056D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.151000000000D+03
+    0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05  1 20  1 59 44.0 0.178754329681D-03-0.189857018995D-10 0.000000000000D+00
+    0.216000000000D+03-0.981875000000D+02 0.399088052191D-08 0.254691712292D+01
+   -0.491738319397D-05 0.877498893533D-02 0.648573040962D-05 0.515360108376D+04
+    0.352784000000D+06 0.175088644028D-06-0.128678084073D+01-0.260770320892D-07
+    0.981574775626D+00 0.260312500000D+03-0.122400390116D+01-0.776639493009D-08
+   -0.160720980388D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.216000000000D+03
+    0.350118000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20  2  0  0.0 0.383821316063D-03 0.181898940355D-11 0.000000000000D+00
+    0.185000000000D+03-0.890625000000D+02 0.407588406265D-08 0.281466430309D+00
+   -0.460073351860D-05 0.602966395672D-02 0.629201531410D-05 0.515362891769D+04
+    0.352800000000D+06-0.465661287308D-07-0.123939611807D+01 0.000000000000D+00
+    0.982226474910D+00 0.272156250000D+03-0.165815211729D+01-0.796926052312D-08
+   -0.942896418278D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.185000000000D+03
+    0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20  2  0  0.0-0.426252372563D-04 0.568434188608D-11 0.000000000000D+00
+    0.180000000000D+02 0.945937500000D+02 0.448804408791D-08 0.193809381099D+01
+    0.478886067867D-05 0.949775229674D-02 0.680424273014D-05 0.515366167641D+04
+    0.352800000000D+06 0.204890966415D-06 0.292142454474D+01-0.800937414169D-07
+    0.956874136780D+00 0.244875000000D+03 0.174987694334D+01-0.792140138674D-08
+    0.714315468392D-12 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.172294676304D-07 0.274000000000D+03
+    0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20  2  0  0.0 0.780825503171D-04 0.295585778076D-11 0.000000000000D+00
+    0.450000000000D+02 0.134375000000D+02 0.528593446610D-08 0.968189459949D+00
+    0.743195414543D-06 0.661609682720D-02 0.839307904244D-05 0.515371777534D+04
+    0.352800000000D+06-0.117346644402D-06 0.179205788206D+01 0.670552253723D-07
+    0.926945444187D+00 0.199625000000D+03 0.600717301875D+00-0.833356141200D-08
+   -0.425732019162D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.301000000000D+03
+    0.349458000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20  2  0  0.0 0.441554933786D-03-0.206910044653D-10 0.000000000000D+00
+    0.201000000000D+03 0.880000000000D+02 0.454911806046D-08-0.202573408053D+01
+    0.438094139099D-05 0.704602524638D-02 0.699982047081D-05 0.515354500389D+04
+    0.352800000000D+06-0.391155481339D-07 0.294148997008D+01-0.102445483208D-06
+    0.956563216949D+00 0.246000000000D+03-0.824287043435D-03-0.803497754621D-08
+    0.907180644858D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.605359673500D-08 0.201000000000D+03
+    0.345600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20  2  0  0.0 0.731605105102D-04 0.250111042988D-11 0.000000000000D+00
+    0.148000000000D+03-0.218750000000D+00 0.521807449661D-08-0.229241851362D+01
+    0.707805156708D-07 0.591769383755D-02 0.658631324768D-05 0.515361783981D+04
+    0.352800000000D+06 0.279396772385D-07 0.749150933052D+00-0.502914190292D-07
+    0.936417108754D+00 0.239500000000D+03 0.937593821540D+00-0.815533970263D-08
+    0.116790579082D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.419095158577D-08 0.660000000000D+03
+    0.345900000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20  2  0  0.0-0.163802411407D-03 0.881072992343D-10 0.000000000000D+00
+    0.166000000000D+03 0.264375000000D+02 0.505592488528D-08-0.106702141560D+01
+    0.147335231304D-05 0.622890249360D-02 0.869296491146D-05 0.515362914085D+04
+    0.352800000000D+06 0.000000000000D+00 0.184691003055D+01 0.130385160446D-06
+    0.934459679014D+00 0.197281250000D+03-0.194747173323D+01-0.823498587736D-08
+   -0.355371945525D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.166000000000D+03
+    0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20  2  0  0.0 0.631017610431D-04-0.302406988340D-10 0.000000000000D+00
+    0.970000000000D+02 0.160625000000D+02 0.509378360511D-08 0.114474916875D+01
+    0.797212123871D-06 0.129248523153D-01 0.838004052639D-05 0.515365851784D+04
+    0.352800000000D+06-0.247731804848D-06 0.181948748487D+01-0.782310962677D-07
+    0.936063347367D+00 0.205562500000D+03-0.181188672868D+01-0.837249160503D-08
+   -0.333942481473D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.186264514923D-08 0.609000000000D+03
+    0.345600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20  2  0  0.0-0.190529972315D-04-0.113686837722D-11 0.000000000000D+00
+    0.114000000000D+03-0.324687500000D+02 0.428446417942D-08-0.863796452361D+00
+   -0.187754631043D-05 0.924134207889D-02 0.889785587788D-05 0.515376705170D+04
+    0.352800000000D+06-0.167638063431D-06-0.185297569267D+00-0.102445483208D-06
+    0.967594251247D+00 0.212937500000D+03 0.250872793905D+01-0.784639826255D-08
+    0.387873299337D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.370000000000D+03
+    0.345858000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20  2  0  0.0-0.248514115810D-04-0.170530256582D-11 0.000000000000D+00
+    0.144000000000D+03-0.358750000000D+02 0.460412035152D-08-0.136226210908D+01
+   -0.175461173058D-05 0.163658752572D-01 0.894069671631D-05 0.515368743324D+04
+    0.352800000000D+06 0.325962901115D-06-0.257553543590D+00 0.355765223503D-06
+    0.954706289680D+00 0.201218750000D+03 0.111907249290D+01-0.791461538979D-08
+    0.260725145963D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.656000000000D+03
+    0.352068000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05  1 20  2  0  0.0-0.138063915074D-04 0.102318153949D-11 0.000000000000D+00
+    0.166000000000D+03-0.837187500000D+02 0.381123018161D-08 0.235421091811D+01
+   -0.449456274509D-05 0.224602909293D-02 0.633858144283D-05 0.515353957176D+04
+    0.352800000000D+06-0.372529029846D-07-0.125565905213D+01-0.409781932831D-07
+    0.986414926404D+00 0.269218750000D+03 0.913301276858D+00-0.773032199894D-08
+   -0.896465912832D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.166000000000D+03
+    0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05  1 20  2  0  0.0-0.314880162478D-04-0.113686837722D-12 0.000000000000D+00
+    0.142000000000D+03-0.102375000000D+03 0.398016578988D-08 0.108720570742D+01
+   -0.527873635292D-05 0.182279839646D-02 0.649504363537D-05 0.515368715286D+04
+    0.352800000000D+06-0.428408384323D-07-0.126616684159D+01 0.745058059692D-08
+    0.980774119099D+00 0.266218750000D+03-0.178084687666D+01-0.787568519676D-08
+   -0.814319633967D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.398000000000D+03
+    0.352218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05  1 20  2  0  0.0 0.377922784537D-03 0.534328137292D-11 0.000000000000D+00
+    0.230000000000D+02 0.101625000000D+03 0.439125434194D-08-0.108598271814D+01
+    0.507012009621D-05 0.881228770595D-02 0.727176666260D-05 0.515358913040D+04
+    0.352800000000D+06-0.968575477600D-07 0.299549857513D+01-0.763684511185D-07
+    0.963649432667D+00 0.246062500000D+03 0.234250455840D+01-0.810462330438D-08
+    0.174650132022D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.400000000000D+01 0.000000000000D+00-0.279396772385D-08 0.279000000000D+03
+    0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05  1 20  2  0  0.0 0.198744237423D-05-0.227373675443D-12 0.000000000000D+00
+    0.450000000000D+02 0.165625000000D+01 0.474019744825D-08-0.223320589495D+01
+    0.135973095894D-06 0.245652697049D-02 0.645034015179D-05 0.515367920876D+04
+    0.352800000000D+06 0.409781932831D-07 0.827413605121D+00 0.447034835815D-07
+    0.961287772329D+00 0.255906250000D+03-0.121161202389D+01-0.799068998717D-08
+    0.642883921553D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.450000000000D+02
+    0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+17 05  1 20  2  0  0.0-0.929492525756D-04 0.189857018995D-10 0.000000000000D+00
+    0.220000000000D+03 0.942500000000D+02 0.447947230229D-08-0.363281967169D+00
+    0.512227416039D-05 0.175195280463D-01 0.600330531597D-05 0.515372409630D+04
+    0.352800000000D+06 0.203028321266D-06 0.303755249014D+01 0.165775418282D-06
+    0.965560101694D+00 0.267656250000D+03-0.269768506226D+01-0.830891752834D-08
+    0.703600736366D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.139698386192D-08 0.476000000000D+03
+    0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05  1 20  2  0  0.0-0.118971336633D-03-0.375166564481D-11 0.000000000000D+00
+    0.420000000000D+02 0.371875000000D+01 0.463019286612D-08-0.257198151489D+01
+    0.216066837311D-06 0.553577940445D-02 0.206194818020D-05 0.515371825409D+04
+    0.352800000000D+06-0.558793544769D-07-0.227120499603D+01-0.931322574616D-07
+    0.962591785320D+00 0.341906250000D+03-0.280323644203D+01-0.829855995405D-08
+    0.260725145963D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.298000000000D+03
+    0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05  1 20  2  0  0.0-0.118776224554D-04-0.795807864051D-12 0.000000000000D+00
+    0.229000000000D+03 0.215625000000D+02 0.445625704956D-08 0.282929567973D+01
+    0.113621354103D-05 0.308456749190D-02 0.874139368534D-05 0.515364343643D+04
+    0.352800000000D+06 0.223517417908D-07 0.192806368329D+01 0.745058059692D-08
+    0.959214181041D+00 0.208468750000D+03-0.177787037672D+01-0.781032533140D-08
+   -0.322513433979D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.485000000000D+03
+    0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05  1 20  2  0  0.0-0.908547081053D-04 0.272848410532D-11 0.000000000000D+00
+    0.101000000000D+03 0.138437500000D+02 0.463412160119D-08-0.284962075693D+01
+    0.739470124245D-06 0.226717512123D-02 0.257045030594D-05 0.515379619598D+04
+    0.352800000000D+06 0.894069671631D-07-0.232369528084D+01-0.745058059692D-08
+    0.962457609400D+00 0.331343750000D+03 0.141731488362D+01-0.827463038585D-08
+    0.725030200418D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.101000000000D+03
+    0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05  1 20  2  0  0.0 0.880155712366D-04 0.102318153950D-11 0.000000000000D+00
+    0.217000000000D+03 0.103343750000D+03 0.463126433932D-08-0.116066660251D+01
+    0.515580177307D-05 0.933505420107D-02 0.672787427902D-05 0.515365463829D+04
+    0.352800000000D+06 0.186264514923D-07 0.296474957463D+01-0.178813934326D-06
+    0.950172570501D+00 0.243468750000D+03 0.311209597241D+01-0.814141055100D-08
+    0.165364030933D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.121071934700D-07 0.473000000000D+03
+    0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+22 05  1 20  2  0  0.0 0.162464566529D-04 0.000000000000D+00 0.000000000000D+00
+    0.162000000000D+03 0.721875000000D+01 0.468519515718D-08 0.188551445934D+01
+    0.312924385071D-06 0.506254844368D-02 0.187754631043D-05 0.515368465614D+04
+    0.352800000000D+06 0.707805156708D-07-0.226194532585D+01-0.502914190292D-07
+    0.960007464461D+00 0.343781250000D+03-0.147708355745D+01-0.831748931396D-08
+    0.125005206969D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.181607902050D-07 0.418000000000D+03
+    0.346890000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05  1 20  2  0  0.0 0.211487989873D-03 0.568434188608D-12 0.000000000000D+00
+    0.208000000000D+03-0.822500000000D+02 0.436732477375D-08 0.147764638885D+01
+   -0.441260635853D-05 0.364506023470D-02 0.575371086597D-05 0.515372798347D+04
+    0.352800000000D+06 0.409781932831D-07-0.127115887838D+01-0.372529029846D-07
+    0.962922820275D+00 0.266468750000D+03 0.223707820985D+01-0.803104881113D-08
+   -0.119647840956D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.208000000000D+03
+    0.352799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+24 05  1 20  2  0  0.0 0.894768163562D-04 0.295585778076D-11 0.000000000000D+00
+    0.109000000000D+03 0.848125000000D+02 0.438589697593D-08-0.654176630934D+00
+    0.425800681114D-05 0.907645968255D-02 0.696256756783D-05 0.515219657516D+04
+    0.352800000000D+06-0.134110450745D-06 0.297047928932D+01 0.335276126862D-07
+    0.966853341757D+00 0.254031250000D+03-0.126176096829D+01-0.811033782813D-08
+    0.996470078407D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.109000000000D+03
+    0.345600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05  1 20  2  0  0.0 0.317017547786D-03 0.557065504836D-11 0.000000000000D+00
+    0.520000000000D+02-0.893750000000D+02 0.399409494152D-08 0.461526505620D+00
+   -0.447593629360D-05 0.158495360520D-01 0.671483576298D-05 0.515375114441D+04
+    0.352800000000D+06-0.465661287308D-07-0.125356457184D+01 0.244006514549D-06
+    0.984699306781D+00 0.260781250000D+03 0.651635186741D+00-0.803676333488D-08
+   -0.188936441390D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.308000000000D+03
+    0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05  1 20  2  0  0.0 0.513486564159D-03 0.625277607469D-11 0.000000000000D+00
+    0.170000000000D+02-0.390937500000D+02 0.447161483214D-08-0.216774351469D+01
+   -0.217556953430D-05 0.188511769520D-01 0.854209065437D-05 0.515366135406D+04
+    0.352800000000D+06 0.188127160072D-06-0.279377143374D+00-0.115483999252D-06
+    0.952414862576D+00 0.205031250000D+03-0.208894556675D+01-0.762853204469D-08
+    0.417874549009D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.170000000000D+02
+    0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+29 05  1 20  2  0  0.0 0.178753398359D-03-0.189857018995D-10 0.000000000000D+00
+    0.191000000000D+03-0.981875000000D+02 0.399088052191D-08 0.254925222398D+01
+   -0.491738319397D-05 0.877499603666D-02 0.648573040962D-05 0.515360110855D+04
+    0.352800000000D+06 0.175088644028D-06-0.128678097532D+01-0.260770320892D-07
+    0.981574753683D+00 0.260312500000D+03-0.122400528361D+01-0.776639493009D-08
+   -0.160720980388D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.447000000000D+03
+    0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05  1 20  2  0  0.0 0.444191973656D-03-0.143245415529D-10 0.000000000000D+00
+    0.155000000000D+03 0.125000000000D+00 0.503949562951D-08-0.313190448592D+01
+    0.931322574616D-07 0.798774790019D-02 0.643730163574D-05 0.515375466156D+04
+    0.352800000000D+06 0.707805156708D-07 0.792156476268D+00-0.260770320892D-07
+    0.943195997568D+00 0.244281250000D+03 0.127889650518D+01-0.801997692137D-08
+    0.692886004340D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.155000000000D+03
+    0.345618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05  1 20  3 59 12.0 0.843228772283D-04 0.909494701773D-12 0.000000000000D+00
+    0.150000000000D+02-0.478437500000D+02 0.478662795370D-08 0.487225806956D+00
+   -0.250339508057D-05 0.118058880325D-01 0.934116542339D-05 0.515361362839D+04
+    0.359952000000D+06-0.130385160446D-06-0.308947023124D+00-0.353902578354D-07
+    0.947881725639D+00 0.197312500000D+03-0.151571791169D+01-0.823855745470D-08
+    0.243581574722D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.745058059692D-08 0.271000000000D+03
+    0.357870000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20  3 59 44.0 0.441408250481D-03-0.206910044653D-10 0.000000000000D+00
+    0.225000000000D+03 0.835312500000D+02 0.443589905872D-08-0.977733691104D+00
+    0.423751771450D-05 0.704631512053D-02 0.674277544022D-05 0.515354603195D+04
+    0.359984000000D+06 0.335276126862D-07 0.294143220383D+01-0.113621354103D-06
+    0.956563853318D+00 0.242437500000D+03-0.899163579487D-03-0.805640701026D-08
+    0.750031241812D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.225000000000D+03
+    0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20  3 59 44.0 0.628866255283D-04-0.302406988339D-10 0.000000000000D+00
+    0.124000000000D+03 0.128437500000D+02 0.491127600293D-08 0.219262871528D+01
+    0.601634383202D-06 0.129251602339D-01 0.829994678497D-05 0.515365798378D+04
+    0.359984000000D+06 0.154599547386D-06 0.181942853512D+01-0.203028321266D-06
+    0.936062990415D+00 0.202625000000D+03-0.181190635811D+01-0.795461705602D-08
+   -0.295369446180D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.124000000000D+03
+    0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05  1 20  3 59 44.0 0.162599608302D-04 0.227373675443D-12 0.000000000000D+00
+    0.188000000000D+03 0.578125000000D+01 0.467983779117D-08 0.293338457737D+01
+    0.271946191788D-06 0.506260606926D-02 0.189617276192D-05 0.515368441582D+04
+    0.359984000000D+06 0.745058059692D-07-0.226200488855D+01 0.149011611939D-07
+    0.960007566866D+00 0.342968750000D+03-0.147711191758D+01-0.829320258803D-08
+    0.103575742917D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.188000000000D+03
+    0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05  1 20  3 59 44.0 0.894917175174D-04 0.284217094304D-11 0.000000000000D+00
+    0.132000000000D+03 0.803125000000D+02 0.425339145654D-08 0.394582101574D+00
+    0.412575900555D-05 0.907783361617D-02 0.702776014805D-05 0.515219920540D+04
+    0.359984000000D+06-0.100582838058D-06 0.297042144700D+01-0.875443220139D-07
+    0.966853637266D+00 0.245187500000D+03-0.126177338554D+01-0.812176687562D-08
+    0.392873507616D-11 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.132000000000D+03
+    0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05  1 20  3 59 44.0 0.317058991641D-03 0.557065504836D-11 0.000000000000D+00
+    0.770000000000D+02-0.860937500000D+02 0.406552648835D-08 0.150936375042D+01
+   -0.437907874584D-05 0.158493214985D-01 0.682100653648D-05 0.515374987793D+04
+    0.359984000000D+06-0.238418579102D-06-0.125362232345D+01 0.216066837311D-06
+    0.984697859955D+00 0.265062500000D+03 0.651594630263D+00-0.798033241288D-08
+   -0.162863926793D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.770000000000D+02
+    0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+29 05  1 20  3 59 44.0 0.178617425263D-03-0.189857018995D-10 0.000000000000D+00
+    0.217000000000D+03-0.849375000000D+02 0.404623997071D-08-0.268607094831D+01
+   -0.426545739174D-05 0.877722399309D-02 0.601448118687D-05 0.515359696007D+04
+    0.359984000000D+06 0.372529029846D-07-0.128683749516D+01 0.139698386192D-06
+    0.981574408434D+00 0.270937500000D+03-0.122397814356D+01-0.771746432051D-08
+    0.678599694973D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.217000000000D+03
+    0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20  4  0  0.0 0.383834820241D-03 0.181898940355D-11 0.000000000000D+00
+    0.180000000000D+03-0.107000000000D+03 0.396373653411D-08 0.133137163709D+01
+   -0.556930899620D-05 0.603148678783D-02 0.647455453873D-05 0.515363377571D+04
+    0.360000000000D+06-0.100582838059D-06-0.123945369999D+01-0.115483999252D-06
+    0.982226289119D+00 0.268750000000D+03-0.165785393947D+01-0.787997108957D-08
+   -0.325013538118D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.372529029846D-08 0.436000000000D+03
+    0.358590000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20  4  0  0.0-0.425837934017D-04 0.568434188608D-11 0.000000000000D+00
+    0.190000000000D+02 0.928437500000D+02 0.443447042778D-08 0.298829925098D+01
+    0.464543700218D-05 0.949769734871D-02 0.680238008499D-05 0.515366156387D+04
+    0.360000000000D+06 0.150874257088D-06 0.292136801466D+01 0.465661287308D-07
+    0.956874087041D+00 0.243031250000D+03 0.174985944099D+01-0.786818488434D-08
+   -0.153577825704D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.172294676304D-07 0.275000000000D+03
+    0.352800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20  4  0  0.0 0.781039707363D-04 0.295585778076D-11 0.000000000000D+00
+    0.460000000000D+02 0.169062500000D+02 0.528343436196D-08 0.201837730396D+01
+    0.843778252602D-06 0.661641743500D-02 0.859797000885D-05 0.515371746826D+04
+    0.360000000000D+06-0.150874257088D-06 0.179199779124D+01-0.335276126862D-07
+    0.926942434965D+00 0.195875000000D+03 0.600688723771D+00-0.829070248389D-08
+   -0.413231498465D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.302000000000D+03
+    0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20  4  0  0.0 0.441405922174D-03-0.206910044653D-10 0.000000000000D+00
+    0.202000000000D+03 0.835312500000D+02 0.443589905872D-08-0.975399450239D+00
+    0.423751771450D-05 0.704633223359D-02 0.674277544022D-05 0.515354603004D+04
+    0.360000000000D+06 0.335276126862D-07 0.294143213215D+01-0.113621354103D-06
+    0.956563879651D+00 0.242437500000D+03-0.899510291071D-03-0.805640701026D-08
+    0.750031241812D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.202000000000D+03
+    0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20  4  0  0.0 0.731782056391D-04 0.250111042988D-11 0.000000000000D+00
+    0.149000000000D+03-0.193750000000D+01 0.531557855804D-08-0.124215724429D+01
+   -0.117346644402D-06 0.591764890123D-02 0.660121440888D-05 0.515361830902D+04
+    0.360000000000D+06 0.137835741043D-06 0.749092531899D+00 0.102445483208D-06
+    0.936417176048D+00 0.239437500000D+03 0.937552374145D+00-0.829034532616D-08
+    0.175007289756D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.419095158577D-08 0.149000000000D+03
+    0.352800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20  4  0  0.0-0.163168646395D-03 0.879936123965D-10 0.000000000000D+00
+    0.167000000000D+03 0.249687500000D+02 0.506556814410D-08-0.167583117652D-01
+    0.138767063618D-05 0.622871436644D-02 0.849924981594D-05 0.515362914658D+04
+    0.360000000000D+06-0.745058059692D-07 0.184685050149D+01 0.819563865662D-07
+    0.934457022354D+00 0.202625000000D+03-0.194752325574D+01-0.826534428477D-08
+   -0.362157942475D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.167000000000D+03
+    0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20  4  0  0.0-0.190609134734D-04-0.113686837722D-11 0.000000000000D+00
+    0.115000000000D+03-0.381875000000D+02 0.430767943214D-08 0.186328575413D+00
+   -0.217556953430D-05 0.924205745105D-02 0.882335007191D-05 0.515376835632D+04
+    0.360000000000D+06 0.316649675369D-07-0.185353688268D+00-0.154599547386D-06
+    0.967596229112D+00 0.214093750000D+03 0.250872464017D+01-0.792425864861D-08
+    0.254653464482D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.371000000000D+03
+    0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20  4  0  0.0-0.248639844358D-04-0.170530256582D-11 0.000000000000D+00
+    0.145000000000D+03-0.335625000000D+02 0.476126975457D-08-0.312048400674D+00
+   -0.168569386005D-05 0.163663642015D-01 0.885501503944D-05 0.515368898201D+04
+    0.360000000000D+06-0.745058059692D-07-0.257612698146D+00 0.191852450371D-06
+    0.954706585190D+00 0.206875000000D+03 0.111903225827D+01-0.832177520677D-08
+    0.313227332890D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.558793544769D-08 0.401000000000D+03
+    0.356568000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05  1 20  4  0  0.0 0.575259327889D-04 0.682121026330D-12 0.000000000000D+00
+    0.690000000000D+02 0.100000000000D+02 0.425839166482D-08-0.297535799238D+01
+    0.534579157829D-06 0.635687401518D-02 0.299327075481D-05 0.515358546448D+04
+    0.360000000000D+06-0.912696123123D-07-0.230033451549D+01-0.819563865662D-07
+    0.978782970560D+00 0.333687500000D+03 0.291525607166D+00-0.800104756146D-08
+    0.582167106740D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.325000000000D+03
+    0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05  1 20  4  0  0.0 0.186550896615D-03 0.363797880709D-11 0.000000000000D+00
+    0.270000000000D+02 0.876875000000D+02 0.568273670879D-08 0.632938217400D+00
+    0.457651913166D-05 0.393239257392D-02 0.723637640476D-05 0.515368021774D+04
+    0.360000000000D+06 0.577419996262D-07 0.280222082578D+01 0.577419996262D-07
+    0.903681289953D+00 0.208593750000D+03 0.180241468375D+00-0.859071498062D-08
+   -0.714315468392D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.270000000000D+02
+    0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+13 05  1 20  4  0  0.0-0.137994065881D-04 0.102318153949D-11 0.000000000000D+00
+    0.167000000000D+03-0.918125000000D+02 0.391052003171D-08-0.287877755835D+01
+   -0.472366809845D-05 0.224704318680D-02 0.612623989582D-05 0.515353779602D+04
+    0.360000000000D+06 0.298023223877D-07-0.125571510384D+01-0.894069671631D-07
+    0.986414224203D+00 0.273156250000D+03 0.913362738436D+00-0.777818113532D-08
+   -0.464305054455D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.167000000000D+03
+    0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05  1 20  4  0  0.0-0.314884819090D-04-0.113686837722D-12 0.000000000000D+00
+    0.143000000000D+03-0.106500000000D+03 0.398552315589D-08 0.213755104334D+01
+   -0.548735260963D-05 0.182316370774D-02 0.658817589283D-05 0.515368653107D+04
+    0.360000000000D+06 0.186264514923D-08-0.126622340532D+01-0.335276126862D-07
+    0.980773833830D+00 0.262093750000D+03-0.178102364836D+01-0.781889711702D-08
+   -0.703600736366D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.399000000000D+03
+    0.354978000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05  1 20  4  0  0.0 0.377960503101D-03 0.534328137292D-11 0.000000000000D+00
+    0.240000000000D+02 0.102750000000D+03 0.434910972931D-08-0.357756235926D-01
+    0.520423054695D-05 0.881195487455D-02 0.682286918163D-05 0.515358838081D+04
+    0.360000000000D+06 0.316649675369D-07 0.299544066113D+01-0.158324837685D-06
+    0.963650295789D+00 0.248781250000D+03 0.234252885162D+01-0.814891086342D-08
+    0.692886004340D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.400000000000D+01 0.000000000000D+00-0.279396772385D-08 0.280000000000D+03
+    0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05  1 20  4  0  0.0 0.198651105166D-05-0.227373675443D-12 0.000000000000D+00
+    0.460000000000D+02 0.875000000000D+00 0.474912639161D-08-0.118318942886D+01
+    0.782310962677D-07 0.245661532972D-02 0.668875873089D-05 0.515367843246D+04
+    0.360000000000D+06-0.372529029846D-08 0.827355894465D+00 0.465661287308D-07
+    0.961288076615D+00 0.253093750000D+03-0.121144904165D+01-0.802569144512D-08
+    0.639312344211D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.460000000000D+02
+    0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+17 05  1 20  4  0  0.0-0.928123481572D-04 0.190993887372D-10 0.000000000000D+00
+    0.221000000000D+03 0.882500000000D+02 0.437482508617D-08 0.686861329526D+00
+    0.466220080853D-05 0.175183792599D-01 0.638701021671D-05 0.515372196960D+04
+    0.360000000000D+06-0.391155481339D-07 0.303749406119D+01 0.366941094399D-06
+    0.965560806820D+00 0.260500000000D+03-0.269767826554D+01-0.812819571483D-08
+   -0.857178562071D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.139698386192D-08 0.477000000000D+03
+    0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05  1 20  4  0  0.0-0.118998344988D-03-0.375166564481D-11 0.000000000000D+00
+    0.430000000000D+02 0.193750000000D+01 0.460054877418D-08-0.152169297529D+01
+    0.128522515297D-06 0.553564995062D-02 0.226870179176D-05 0.515371960258D+04
+    0.360000000000D+06 0.242143869400D-07-0.227126521266D+01-0.409781932831D-07
+    0.962592218344D+00 0.335906250000D+03-0.280337049652D+01-0.832391815317D-08
+    0.903609067516D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.299000000000D+03
+    0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05  1 20  4  0  0.0-0.118836760521D-04-0.795807864051D-12 0.000000000000D+00
+    0.230000000000D+03 0.257187500000D+02 0.443768484739D-08-0.240373100523D+01
+    0.132992863655D-05 0.308380648494D-02 0.901706516743D-05 0.515364477921D+04
+    0.360000000000D+06 0.279396772385D-07 0.192800766670D+01-0.391155481339D-07
+    0.959211718950D+00 0.203187500000D+03-0.177783102276D+01-0.781139680460D-08
+   -0.362157942475D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.486000000000D+03
+    0.353538000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+20 05  1 20  4  0  0.0-0.908351503313D-04 0.272848410532D-11 0.000000000000D+00
+    0.102000000000D+03 0.206250000000D+02 0.467948063344D-08-0.179978545131D+01
+    0.111199915409D-05 0.226820353419D-02 0.228360295296D-05 0.515379401970D+04
+    0.360000000000D+06 0.763684511185D-07-0.232375481868D+01 0.596046447754D-07
+    0.962458111181D+00 0.338062500000D+03 0.141758765347D+01-0.829891711178D-08
+    0.721458623076D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.102000000000D+03
+    0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05  1 20  4  0  0.0 0.880234874785D-04 0.102318153950D-11 0.000000000000D+00
+    0.218000000000D+03 0.972500000000D+02 0.464162191361D-08-0.110430504148D+00
+    0.505521893501D-05 0.933597388212D-02 0.648573040962D-05 0.515365649605D+04
+    0.360000000000D+06 0.152736902237D-06 0.296469112374D+01-0.111758708954D-07
+    0.950172732885D+00 0.248343750000D+03 0.311205254422D+01-0.829855995405D-08
+    0.492877673191D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.121071934700D-07 0.474000000000D+03
+    0.352818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+23 05  1 20  4  0  0.0 0.211492180824D-03 0.568434188608D-12 0.000000000000D+00
+    0.209000000000D+03-0.927187500000D+02 0.451090218290D-08 0.252823136685D+01
+   -0.467523932457D-05 0.364575162530D-02 0.559538602829D-05 0.515372472572D+04
+    0.360000000000D+06 0.968575477600D-07-0.127121701474D+01 0.260770320892D-07
+    0.962922036151D+00 0.273375000000D+03 0.223664158293D+01-0.804819238237D-08
+   -0.646455498895D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.209000000000D+03
+    0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+24 05  1 20  4  0  0.0 0.894977711141D-04 0.295585778076D-11 0.000000000000D+00
+    0.110000000000D+03 0.803125000000D+02 0.425339145654D-08 0.396916997826D+00
+    0.412575900555D-05 0.907784595620D-02 0.702776014805D-05 0.515219922638D+04
+    0.360000000000D+06-0.100582838058D-06 0.297042133436D+01-0.875443220139D-07
+    0.966853632878D+00 0.245187500000D+03-0.126177265993D+01-0.812176687562D-08
+    0.392873507616D-11 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.110000000000D+03
+    0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+27 05  1 20  4  0  0.0 0.513531733304D-03 0.625277607469D-11 0.000000000000D+00
+    0.180000000000D+02-0.357187500000D+02 0.463947896721D-08-0.111757114543D+01
+   -0.168196856976D-05 0.188514270121D-01 0.857189297676D-05 0.515366071892D+04
+    0.360000000000D+06 0.214204192162D-06-0.279431770198D+00 0.383704900742D-06
+    0.952415551611D+00 0.207656250000D+03-0.208892977162D+01-0.805104964425D-08
+    0.212866009581D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.180000000000D+02
+    0.359999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+28 05  1 20  4  0  0.0 0.464799813926D-04 0.113686837722D-12 0.000000000000D+00
+    0.152000000000D+03-0.728125000000D+01 0.467126600555D-08-0.240554297117D+01
+   -0.437721610069D-06 0.957276753616D-02 0.670365989208D-05 0.515363417816D+04
+    0.360000000000D+06 0.670552253723D-07 0.837636646357D+00-0.106170773506D-06
+    0.959273354614D+00 0.249218750000D+03-0.236700371978D+01-0.785389857497D-08
+    0.112504686272D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.152000000000D+03
+    0.356718000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05  1 20  4  0  0.0 0.444088596851D-03-0.143245415529D-10 0.000000000000D+00
+    0.156000000000D+03-0.531250000000D+00 0.506878256371D-08-0.208175068109D+01
+    0.260770320892D-07 0.798741390463D-02 0.665709376335D-05 0.515375534630D+04
+    0.360000000000D+06 0.141561031342D-06 0.792098866554D+00-0.111758708954D-07
+    0.943196414499D+00 0.241750000000D+03 0.127887757795D+01-0.804783522464D-08
+    0.400016662300D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.838190317154D-08 0.156000000000D+03
+    0.352800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20  5 59 44.0 0.383858103305D-03 0.193267624127D-11 0.000000000000D+00
+    0.208000000000D+03-0.108593750000D+03 0.394480717420D-08 0.237939834294D+01
+   -0.558234751225D-05 0.603166536894D-02 0.666826963425D-05 0.515363195038D+04
+    0.367184000000D+06 0.614672899246D-07-0.123950941962D+01-0.502914190292D-07
+    0.982226738235D+00 0.261562500000D+03-0.165801273045D+01-0.771353558543D-08
+   -0.507163982558D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.464000000000D+03
+    0.365148000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20  5 59 44.0-0.425451435149D-04 0.568434188608D-11 0.000000000000D+00
+    0.390000000000D+02 0.930937500000D+02 0.431267964042D-08-0.224705018655D+01
+    0.503472983837D-05 0.949742924422D-02 0.685267150402D-05 0.515366193199D+04
+    0.367184000000D+06 0.670552253723D-07 0.292131127392D+01 0.109896063805D-06
+    0.956874348903D+00 0.239031250000D+03 0.174987670927D+01-0.784104089654D-08
+    0.503592405216D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.390000000000D+02
+    0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20  5 59 44.0 0.441259238869D-03-0.206910044653D-10 0.000000000000D+00
+    0.226000000000D+03 0.882500000000D+02 0.444839957941D-08 0.724797042363D-01
+    0.471062958241D-05 0.704508309718D-02 0.725686550140D-05 0.515354365540D+04
+    0.367184000000D+06 0.931322574616D-07 0.294137416694D+01-0.242143869400D-07
+    0.956563977666D+00 0.234031250000D+03-0.853925763721D-03-0.811498087867D-08
+    0.317870383435D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.605359673500D-08 0.226000000000D+03
+    0.366210000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20  5 59 44.0 0.731972977519D-04 0.250111042988D-11 0.000000000000D+00
+    0.172000000000D+03-0.131250000000D+01 0.540772525346D-08-0.194234094012D+00
+   -0.800937414169D-07 0.591786601581D-02 0.645220279694D-05 0.515361888885D+04
+    0.367184000000D+06-0.186264514923D-07 0.749032214324D+00 0.614672899246D-07
+    0.936416700600D+00 0.241562500000D+03 0.937516153757D+00-0.844570894054D-08
+    0.303584074067D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.172000000000D+03
+    0.364758000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20  5 59 44.0-0.248821452260D-04-0.170530256582D-11 0.000000000000D+00
+    0.169000000000D+03-0.359687500000D+02 0.475769817723D-08 0.735779067443D+00
+   -0.177323818207D-05 0.163664029678D-01 0.904686748982D-05 0.515368911743D+04
+    0.367184000000D+06-0.216066837311D-06-0.257671554266D+00 0.800937414169D-07
+    0.954708434318D+00 0.205218750000D+03 0.111904423664D+01-0.827141596625D-08
+    0.177507393896D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.681000000000D+03
+    0.360408000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05  1 20  5 59 44.0-0.137933529913D-04 0.909494701773D-12 0.000000000000D+00
+    0.189000000000D+03-0.990937500000D+02 0.395409327528D-08-0.183066529812D+01
+   -0.508315861225D-05 0.224732852075D-02 0.624917447567D-05 0.515353800392D+04
+    0.367184000000D+06 0.502914190292D-07-0.125577125210D+01-0.931322574615D-08
+    0.986414132039D+00 0.274312500000D+03 0.913176978561D+00-0.778353850134D-08
+    0.714315468392D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.630000000000D+02-0.116415321827D-07 0.445000000000D+03
+    0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05  1 20  5 59 44.0-0.926693901420D-04 0.190993887372D-10 0.000000000000D+00
+    0.100000000000D+01 0.878437500000D+02 0.422481883781D-08 0.173455670492D+01
+    0.461749732494D-05 0.175193801988D-01 0.708177685738D-05 0.515372638321D+04
+    0.367184000000D+06-0.296160578728D-06 0.303743587362D+01 0.271946191788D-06
+    0.965559883719D+00 0.243750000000D+03-0.269755915329D+01-0.805069248651D-08
+   -0.935753263594D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.100000000000D+01
+    0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05  1 20  5 59 44.0-0.908137299120D-04 0.272848410532D-11 0.000000000000D+00
+    0.123000000000D+03 0.205000000000D+02 0.467483758289D-08-0.751587221230D+00
+    0.107102096081D-05 0.226834730711D-02 0.204332172871D-05 0.515379584503D+04
+    0.367184000000D+06-0.260770320892D-07-0.232381488317D+01 0.447034835815D-07
+    0.962458184327D+00 0.345281250000D+03 0.141716362374D+01-0.839749264642D-08
+    0.771460705864D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.379000000000D+03
+    0.366708000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05  1 20  5 59 44.0 0.895126722753D-04 0.284217094304D-11 0.000000000000D+00
+    0.133000000000D+03 0.861875000000D+02 0.419303179946D-08 0.144579066449D+01
+    0.440888106823D-05 0.907701591495D-02 0.732205808163D-05 0.515219653320D+04
+    0.367184000000D+06 0.124797224999D-06 0.297036328870D+01-0.214204192162D-06
+    0.966854797360D+00 0.236843750000D+03-0.126190029076D+01-0.788997150613D-08
+    0.407159816984D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.133000000000D+03
+    0.365280000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20  6  0  0.0 0.383848324418D-03 0.181898940355D-11 0.000000000000D+00
+    0.181000000000D+03-0.108593750000D+03 0.394480717420D-08 0.238173400430D+01
+   -0.558048486710D-05 0.603168050293D-02 0.666826963425D-05 0.515363194084D+04
+    0.367200000000D+06 0.614672899246D-07-0.123950959663D+01-0.502914190292D-07
+    0.982226752864D+00 0.261562500000D+03-0.165801451082D+01-0.771353558543D-08
+   -0.507163982558D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.372529029846D-08 0.693000000000D+03
+    0.360048000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20  6  0  0.0-0.425428152084D-04 0.568434188608D-11 0.000000000000D+00
+    0.140000000000D+02 0.930937500000D+02 0.431267964042D-08-0.224471548925D+01
+    0.503472983837D-05 0.949742540251D-02 0.685267150402D-05 0.515366191483D+04
+    0.367200000000D+06 0.670552253723D-07 0.292131115542D+01 0.109896063805D-06
+    0.956874376699D+00 0.239031250000D+03 0.174987594124D+01-0.784104089654D-08
+    0.503592405216D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.526000000000D+03
+    0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20  6  0  0.0 0.781253911555D-04 0.295585778076D-11 0.000000000000D+00
+    0.470000000000D+02 0.211250000000D+02 0.518843040467D-08 0.306853159595D+01
+    0.103935599327D-05 0.661587354261D-02 0.841170549393D-05 0.515371833611D+04
+    0.367200000000D+06-0.130385160446D-07 0.179193860742D+01-0.875443220139D-07
+    0.926940141109D+00 0.199281250000D+03 0.600693842521D+00-0.815141096756D-08
+   -0.400373820034D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.470000000000D+02
+    0.360048000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20  6  0  0.0 0.731959007680D-04 0.250111042988D-11 0.000000000000D+00
+    0.150000000000D+03-0.131250000000D+01 0.540772525346D-08-0.191899581045D+00
+   -0.800937414169D-07 0.591786298901D-02 0.645220279694D-05 0.515361888695D+04
+    0.367200000000D+06-0.186264514923D-07 0.749032059255D+00 0.614672899246D-07
+    0.936416666953D+00 0.241562500000D+03 0.937515477888D+00-0.844570894054D-08
+    0.303584074067D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.419095158577D-08 0.150000000000D+03
+    0.361398000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20  6  0  0.0-0.162534881383D-03 0.879936123965D-10 0.000000000000D+00
+    0.168000000000D+03 0.207187500000D+02 0.512128475064D-08 0.103343440230D+01
+    0.110454857349D-05 0.622823147569D-02 0.847876071930D-05 0.515362845802D+04
+    0.367200000000D+06-0.819563865662D-07 0.184679136010D+01-0.204890966415D-07
+    0.934454078963D+00 0.206437500000D+03-0.194750326643D+01-0.826355849610D-08
+   -0.434660962517D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.465661287308D-08 0.168000000000D+03
+    0.360000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20  6  0  0.0 0.626682303846D-04-0.302406988340D-10 0.000000000000D+00
+    0.125000000000D+03 0.111875000000D+02 0.489663253583D-08-0.303801238477D+01
+    0.683590769768D-06 0.129252261249D-01 0.846013426781D-05 0.515365770149D+04
+    0.367200000000D+06 0.912696123123D-07 0.181937216303D+01-0.521540641785D-07
+    0.936060873573D+00 0.200343750000D+03-0.181192360152D+01-0.785139847083D-08
+   -0.358943522867D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.186264514923D-08 0.125000000000D+03
+    0.360000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20  6  0  0.0-0.190692953765D-04-0.113686837722D-11 0.000000000000D+00
+    0.116000000000D+03-0.416875000000D+02 0.429946480425D-08 0.123648176290D+01
+   -0.224076211453D-05 0.924205849879D-02 0.854022800922D-05 0.515376799583D+04
+    0.367200000000D+06 0.176951289177D-06-0.185409997448D+00-0.130385160446D-07
+    0.967598742406D+00 0.213250000000D+03 0.250869266224D+01-0.774746557018D-08
+    0.218580533328D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.116000000000D+03
+    0.360000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20  6  0  0.0-0.248765572906D-04-0.170530256582D-11 0.000000000000D+00
+    0.140000000000D+03-0.359687500000D+02 0.475769817723D-08 0.738112429094D+00
+   -0.177323818207D-05 0.163663913263D-01 0.904500484467D-05 0.515368912506D+04
+    0.367200000000D+06-0.216066837311D-06-0.257671688854D+00 0.800937414169D-07
+    0.954708419689D+00 0.205218750000D+03 0.111904449119D+01-0.827141596625D-08
+    0.177507393896D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.558793544769D-08 0.652000000000D+03
+    0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05  1 20  6  0  0.0 0.575310550630D-04 0.682121026330D-12 0.000000000000D+00
+    0.700000000000D+02 0.142187500000D+02 0.420660379336D-08-0.192510014774D+01
+    0.463798642159D-06 0.635639950633D-02 0.279024243355D-05 0.515358633614D+04
+    0.367200000000D+06 0.447034835815D-07-0.230039294444D+01-0.115483999252D-06
+    0.978783475266D+00 0.334843750000D+03 0.291500386458D+00-0.807426489697D-08
+    0.147506144223D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.700000000000D+02
+    0.360480000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05  1 20  6  0  0.0 0.186577439308D-03 0.363797880709D-11 0.000000000000D+00
+    0.280000000000D+02 0.101593750000D+03 0.558094675455D-08 0.168261830010D+01
+    0.523030757904D-05 0.393378001172D-02 0.779516994953D-05 0.515368470192D+04
+    0.367200000000D+06-0.186264514923D-08 0.280215929398D+01 0.447034835815D-07
+    0.903680638955D+00 0.196656250000D+03 0.180744150434D+00-0.856821404336D-08
+   -0.108218793461D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.280000000000D+02
+    0.361338000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05  1 20  6  0  0.0-0.137924216688D-04 0.102318153949D-11 0.000000000000D+00
+    0.168000000000D+03-0.990937500000D+02 0.395409327528D-08-0.182833192477D+01
+   -0.508315861225D-05 0.224731874187D-02 0.624917447567D-05 0.515353798676D+04
+    0.367200000000D+06 0.502914190292D-07-0.125577139107D+01-0.931322574615D-08
+    0.986414151057D+00 0.274312500000D+03 0.913177628096D+00-0.778353850134D-08
+    0.714315468392D-11 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.168000000000D+03
+    0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05  1 20  6  0  0.0-0.314894132316D-04-0.113686837722D-12 0.000000000000D+00
+    0.144000000000D+03-0.992187500000D+02 0.397659421254D-08-0.309567760331D+01
+   -0.505894422531D-05 0.182216579560D-02 0.673346221447D-05 0.515368852043D+04
+    0.367200000000D+06 0.465661287308D-07-0.126627987396D+01-0.260770320892D-07
+    0.980773340826D+00 0.258875000000D+03-0.178081149306D+01-0.783425489959D-08
+   -0.446447167745D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.400000000000D+03
+    0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05  1 20  6  0  0.0 0.377998687327D-03 0.534328137292D-11 0.000000000000D+00
+    0.250000000000D+02 0.979062500000D+02 0.427089218552D-08 0.101441552369D+01
+    0.498071312904D-05 0.881280261092D-02 0.652298331261D-05 0.515359012413D+04
+    0.367200000000D+06 0.197440385819D-06 0.299538215758D+01-0.150874257088D-06
+    0.963651248148D+00 0.253312500000D+03 0.234256868980D+01-0.803926343902D-08
+    0.646455498895D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.400000000000D+01 0.000000000000D+00-0.279396772385D-08 0.281000000000D+03
+    0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05  1 20  6  0  0.0 0.198511406779D-05-0.227373675443D-12 0.000000000000D+00
+    0.470000000000D+02 0.143750000000D+01 0.472198240381D-08-0.132935981752D+00
+    0.987201929092D-07 0.245699228253D-02 0.683031976223D-05 0.515367921066D+04
+    0.367200000000D+06-0.540167093277D-07 0.827298505652D+00-0.186264514923D-07
+    0.961288389680D+00 0.250000000000D+03-0.121152322915D+01-0.800783355841D-08
+    0.107147320259D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.977888703346D-08 0.470000000000D+02
+    0.365700000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05  1 20  6  0  0.0-0.926749780774D-04 0.190993887372D-10 0.000000000000D+00
+    0.216000000000D+03 0.878437500000D+02 0.422481883781D-08 0.173688920491D+01
+    0.461749732494D-05 0.175193698378D-01 0.708177685738D-05 0.515372639084D+04
+    0.367200000000D+06-0.296160578728D-06 0.303743574050D+01 0.271946191788D-06
+    0.965559901274D+00 0.243750000000D+03-0.269755798003D+01-0.805069248651D-08
+   -0.935753263594D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.139698386192D-08 0.728000000000D+03
+    0.360000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+18 05  1 20  6  0  0.0-0.119025353342D-03-0.375166564481D-11 0.000000000000D+00
+    0.440000000000D+02 0.787500000000D+01 0.464483633322D-08-0.471664697608D+00
+    0.484287738800D-06 0.553492049221D-02 0.252202153206D-05 0.515371774864D+04
+    0.367200000000D+06 0.484287738800D-07-0.227132509721D+01 0.186264514923D-07
+    0.962592581148D+00 0.330781250000D+03-0.280324506593D+01-0.837177728956D-08
+    0.600024993449D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.300000000000D+03
+    0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05  1 20  6  0  0.0-0.118897296488D-04-0.795807864051D-12 0.000000000000D+00
+    0.231000000000D+03 0.337500000000D+02 0.448518682603D-08-0.135378829508D+01
+    0.182352960110D-05 0.308437971398D-02 0.910088419914D-05 0.515364303589D+04
+    0.367200000000D+06 0.186264514923D-07 0.192795142189D+01 0.633299350739D-07
+    0.959208592694D+00 0.203718750000D+03-0.177757478388D+01-0.790211486909D-08
+   -0.402873924173D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.487000000000D+03
+    0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+20 05  1 20  6  0  0.0-0.908155925572D-04 0.272848410532D-11 0.000000000000D+00
+    0.970000000000D+02 0.205000000000D+02 0.467483758289D-08-0.749252538564D+00
+    0.107102096081D-05 0.226834753994D-02 0.204332172871D-05 0.515379584122D+04
+    0.367200000000D+06-0.260770320892D-07-0.232381501922D+01 0.447034835815D-07
+    0.962458198956D+00 0.345281250000D+03 0.141716254996D+01-0.839749264642D-08
+    0.771460705864D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.353000000000D+03
+    0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05  1 20  6  0  0.0 0.880314037204D-04 0.102318153950D-11 0.000000000000D+00
+    0.219000000000D+03 0.909062500000D+02 0.458769109575D-08 0.939817440929D+00
+    0.481866300106D-05 0.933521764819D-02 0.658631324768D-05 0.515365478897D+04
+    0.367200000000D+06 0.126659870148D-06 0.296463250023D+01 0.221654772759D-06
+    0.950173552120D+00 0.245437500000D+03 0.311199671781D+01-0.811748098281D-08
+   -0.396445084958D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.121071934700D-07 0.475000000000D+03
+    0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+22 05  1 20  6  0  0.0 0.162613578141D-04 0.227373675443D-12 0.000000000000D+00
+    0.189000000000D+03 0.431250000000D+01 0.460233456285D-08-0.229729237881D+01
+    0.316649675369D-06 0.506183446851D-02 0.210106372833D-05 0.515368577957D+04
+    0.367200000000D+06 0.558793544769D-08-0.226206497645D+01 0.670552253723D-07
+    0.960007976483D+00 0.336656250000D+03-0.147711184590D+01-0.826784438891D-08
+    0.728601777760D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.189000000000D+03
+    0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+23 05  1 20  6  0  0.0 0.211496371776D-03 0.568434188608D-12 0.000000000000D+00
+    0.210000000000D+03-0.106718750000D+03 0.443161316591D-08-0.270483790950D+01
+   -0.537559390068D-05 0.364369468298D-02 0.591389834881D-05 0.515372858238D+04
+    0.367200000000D+06 0.186264514923D-08-0.127127516574D+01 0.558793544769D-07
+    0.962921980560D+00 0.268250000000D+03 0.223667406410D+01-0.801033366255D-08
+    0.178578867098D-11 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.210000000000D+03
+    0.367199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+25 05  1 20  6  0  0.0 0.843293964863D-04 0.909494701773D-12 0.000000000000D+00
+    0.160000000000D+02-0.529687500000D+02 0.470019578202D-08 0.154441366424D+01
+   -0.300258398056D-05 0.118063830305D-01 0.910088419914D-05 0.515361475563D+04
+    0.367200000000D+06 0.465661287308D-07-0.309006642887D+00-0.273808836937D-06
+    0.947884848969D+00 0.196843750000D+03-0.151568525936D+01-0.797104631179D-08
+    0.321084803042D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.272000000000D+03
+    0.364368000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05  1 20  6  0  0.0 0.317099504173D-03 0.557065504836D-11 0.000000000000D+00
+    0.780000000000D+02-0.909687500000D+02 0.386266089533D-08 0.256176647727D+01
+   -0.481866300106D-05 0.158486502478D-01 0.629946589470D-05 0.515375203323D+04
+    0.367200000000D+06-0.132247805595D-06-0.125367965229D+01-0.240281224251D-06
+    0.984699096121D+00 0.272468750000D+03 0.651656072823D+00-0.757245828043D-08
+    0.357157734196D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.780000000000D+02
+    0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05  1 20  6  0  0.0 0.513576902449D-03 0.625277607469D-11 0.000000000000D+00
+    0.190000000000D+02-0.411875000000D+02 0.478377069182D-08-0.673936588736D-01
+   -0.202655792236D-05 0.188507280545D-01 0.881031155586D-05 0.515365931511D+04
+    0.367200000000D+06-0.111758708954D-06-0.279491641583D+00 0.206753611565D-06
+    0.952416081187D+00 0.206781250000D+03-0.208891645175D+01-0.834177603988D-08
+    0.255010622216D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.465661287308D-08 0.190000000000D+02
+    0.360000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+28 05  1 20  6  0  0.0 0.464813783765D-04 0.113686837722D-12 0.000000000000D+00
+    0.153000000000D+03-0.146875000000D+01 0.476698427832D-08-0.135545469629D+01
+   -0.126659870148D-06 0.957326509524D-02 0.636838376522D-05 0.515363184929D+04
+    0.367200000000D+06 0.251457095146D-06 0.837580549300D+00-0.242143869400D-07
+    0.959273635494D+00 0.256093750000D+03-0.236688508736D+01-0.795604568695D-08
+    0.535736601294D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.102445483208D-07 0.153000000000D+03
+    0.360000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05  1 20  6  0  0.0 0.178480520845D-03-0.189857018995D-10 0.000000000000D+00
+    0.218000000000D+03-0.798125000000D+02 0.406016912234D-08-0.163350868731D+01
+   -0.392459332943D-05 0.877761875745D-02 0.625476241112D-05 0.515359658051D+04
+    0.367200000000D+06-0.145286321640D-06-0.128689346202D+01 0.171363353729D-06
+    0.981573751584D+00 0.272343750000D+03-0.122398163408D+01-0.786854204207D-08
+   -0.714315468392D-12 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.218000000000D+03
+    0.360018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05  1 20  6  0  0.0 0.443985685706D-03-0.143245415529D-10 0.000000000000D+00
+    0.151000000000D+03-0.165625000000D+01 0.523164649050D-08-0.103157160873D+01
+   -0.540167093277D-07 0.798742461484D-02 0.652112066746D-05 0.515375600815D+04
+    0.367200000000D+06-0.633299350739D-07 0.792040474179D+00 0.188127160072D-06
+    0.943195258794D+00 0.243968750000D+03 0.127883352071D+01-0.832927551919D-08
+   -0.196436753808D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.838190317154D-08 0.407000000000D+03
+    0.363768000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20  7 59 44.0 0.383872073144D-03 0.193267624127D-11 0.000000000000D+00
+    0.209000000000D+03-0.101812500000D+03 0.390944855851D-08-0.285366355299D+01
+   -0.527687370777D-05 0.603116664570D-02 0.660493969917D-05 0.515363304710D+04
+    0.374384000000D+06 0.949949026108D-07-0.123956525774D+01 0.298023223877D-07
+    0.982226483687D+00 0.261062500000D+03-0.165793458283D+01-0.772246452879D-08
+    0.714315468392D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.465000000000D+03
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20  7 59 44.0-0.425041653216D-04 0.568434188608D-11 0.000000000000D+00
+    0.400000000000D+02 0.954062500000D+02 0.438446834499D-08-0.119701371944D+01
+    0.516884028912D-05 0.949783634860D-02 0.784173607826D-05 0.515365913391D+04
+    0.374384000000D+06-0.169500708580D-06 0.292125394216D+01 0.912696123123D-07
+    0.956873627685D+00 0.228375000000D+03 0.175002817396D+01-0.807997942072D-08
+    0.560737642688D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.400000000000D+02
+    0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20  7 59 44.0 0.732149928808D-04 0.250111042988D-11 0.000000000000D+00
+    0.173000000000D+03-0.118750000000D+01 0.540415367612D-08 0.855997201594D+00
+   -0.894069671631D-07 0.591779733077D-02 0.640004873276D-05 0.515361872482D+04
+    0.374384000000D+06-0.298023223877D-07 0.748971381802D+00 0.782310962677D-07
+    0.936416922963D+00 0.242375000000D+03 0.937505673412D+00-0.844249452093D-08
+    0.385730352932D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.173000000000D+03
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20  7 59 44.0-0.161899253726D-03 0.879936123965D-10 0.000000000000D+00
+    0.188000000000D+03 0.145625000000D+02 0.510985570314D-08 0.208119864164D+01
+    0.560656189919D-06 0.622847420164D-02 0.816024839878D-05 0.515362979507D+04
+    0.374384000000D+06 0.223517417908D-07 0.184673206803D+01-0.119209289551D-06
+    0.934451592003D+00 0.207656250000D+03-0.194738883112D+01-0.813569602725D-08
+   -0.406445501515D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.465661287308D-08 0.444000000000D+03
+    0.371940000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20  7 59 44.0-0.249007716775D-04-0.181898940355D-11 0.000000000000D+00
+    0.194000000000D+03-0.481875000000D+02 0.456054710795D-08 0.178585330416D+01
+   -0.266358256340D-05 0.163670453476D-01 0.903010368347D-05 0.515369239807D+04
+    0.374384000000D+06-0.273808836937D-06-0.257731627534D+00-0.407919287682D-06
+    0.954711690774D+00 0.204375000000D+03 0.111914227409D+01-0.789961476495D-08
+    0.381444460121D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.558793544769D-08 0.706000000000D+03
+    0.374310000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05  1 20  7 59 44.0 0.575343146920D-04 0.682121026330D-12 0.000000000000D+00
+    0.930000000000D+02 0.210312500000D+02 0.419231748399D-08-0.877413488411D+00
+    0.109337270260D-05 0.635625829455D-02 0.219792127609D-05 0.515358376122D+04
+    0.374384000000D+06 0.154599547386D-06-0.230045069313D+01-0.279396772385D-07
+    0.978784253539D+00 0.341687500000D+03 0.291712638317D+00-0.814141055100D-08
+    0.914323799542D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.930000000000D+02
+    0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+13 05  1 20  7 59 44.0-0.137863680720D-04 0.909494701773D-12 0.000000000000D+00
+    0.190000000000D+03-0.105875000000D+03 0.394659296287D-08-0.780158242459D+00
+   -0.536441802979D-05 0.224704085849D-02 0.642240047455D-05 0.515353888130D+04
+    0.374384000000D+06 0.242143869400D-07-0.125582734038D+01 0.447034835815D-07
+    0.986413897973D+00 0.272125000000D+03 0.912928798897D+00-0.783568353053D-08
+   -0.100004165575D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.630000000000D+02-0.116415321827D-07 0.190000000000D+03
+    0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05  1 20  7 59 44.0-0.925315544009D-04 0.190993887372D-10 0.000000000000D+00
+    0.200000000000D+01 0.997500000000D+02 0.407266964304D-08 0.278479690238D+01
+    0.511668622494D-05 0.175206817221D-01 0.749155879021D-05 0.515372250557D+04
+    0.374384000000D+06-0.188127160072D-06 0.303737820539D+01-0.204890966415D-06
+    0.965561681645D+00 0.234531250000D+03-0.269765135809D+01-0.763138930657D-08
+    0.757174396496D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.200000000000D+01
+    0.372330000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05  1 20  7 59 44.0-0.907941721380D-04 0.272848410532D-11 0.000000000000D+00
+    0.124000000000D+03 0.210937500000D+02 0.458161941427D-08 0.298496885799D+00
+    0.910833477974D-06 0.226887559984D-02 0.202283263207D-05 0.515379680633D+04
+    0.374384000000D+06-0.409781932831D-07-0.232387525048D+01 0.186264514923D-07
+    0.962458706588D+00 0.341000000000D+03 0.141718644234D+01-0.839356391134D-08
+    0.582167106740D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.124000000000D+03
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05  1 20  7 59 44.0 0.443881377578D-03-0.143245415529D-10 0.000000000000D+00
+    0.179000000000D+03-0.196875000000D+01 0.528843457024D-08 0.162335791423D-01
+   -0.949949026108D-07 0.798735313583D-02 0.647827982903D-05 0.515375590706D+04
+    0.374384000000D+06-0.577419996262D-07 0.791979722117D+00 0.428408384323D-07
+    0.943195027653D+00 0.244718750000D+03 0.127883095183D+01-0.843427989304D-08
+    0.325013538118D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.179000000000D+03
+    0.370218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20  8  0  0.0 0.781468115747D-04 0.295585778076D-11 0.000000000000D+00
+    0.480000000000D+02 0.156562500000D+02 0.525379027002D-08-0.216461914885D+01
+    0.787898898125D-06 0.661686446983D-02 0.799819827080D-05 0.515371599960D+04
+    0.374400000000D+06 0.614672899246D-07 0.179187950114D+01-0.745058059692D-07
+    0.926937332306D+00 0.207843750000D+03 0.600818443643D+00-0.818391232137D-08
+   -0.348585948575D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.419095158577D-08 0.480000000000D+02
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20  8  0  0.0 0.441110227257D-03-0.206910044653D-10 0.000000000000D+00
+    0.227000000000D+03 0.104656250000D+03 0.432160858377D-08 0.112484555824D+01
+    0.559166073799D-05 0.704652606510D-02 0.734254717827D-05 0.515354765129D+04
+    0.374400000000D+06 0.745058059692D-08 0.294131660989D+01 0.119209289551D-06
+    0.956564423856D+00 0.232281250000D+03-0.627332919506D-03-0.798604693662D-08
+   -0.542879755978D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.605359673500D-08 0.227000000000D+03
+    0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20  8  0  0.0-0.161901582032D-03 0.879936123965D-10 0.000000000000D+00
+    0.169000000000D+03 0.145625000000D+02 0.510985570314D-08 0.208353133327D+01
+    0.560656189919D-06 0.622847734485D-02 0.816024839878D-05 0.515362981987D+04
+    0.374400000000D+06 0.223517417908D-07 0.184673199342D+01-0.119209289551D-06
+    0.934451583225D+00 0.207656250000D+03-0.194738787584D+01-0.813569602725D-08
+   -0.406445501515D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.465661287308D-08 0.169000000000D+03
+    0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20  8  0  0.0 0.624503009021D-04-0.302406988340D-10 0.000000000000D+00
+    0.126000000000D+03 0.187812500000D+02 0.501735184999D-08-0.198787974104D+01
+    0.990927219391D-06 0.129260082031D-01 0.839866697788D-05 0.515365566635D+04
+    0.374400000000D+06 0.266358256340D-06 0.181931606598D+01-0.931322574616D-08
+    0.936057867276D+00 0.204312500000D+03-0.181186243985D+01-0.793425906517D-08
+   -0.455376111100D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.186264514923D-08 0.126000000000D+03
+    0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20  8  0  0.0-0.190772116184D-04-0.113686837722D-11 0.000000000000D+00
+    0.117000000000D+03-0.410625000000D+02 0.437268213976D-08 0.228654518573D+01
+   -0.189989805222D-05 0.924167362973D-02 0.906735658646D-05 0.515376914024D+04
+    0.374400000000D+06 0.197440385818D-06-0.185465920417D+00 0.132247805595D-06
+    0.967600376485D+00 0.207468750000D+03 0.250875130331D+01-0.773925094229D-08
+    0.278583032673D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.117000000000D+03
+    0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20  8  0  0.0-0.248947180808D-04-0.170530256582D-11 0.000000000000D+00
+    0.170000000000D+03-0.481875000000D+02 0.456054710795D-08 0.178818652684D+01
+   -0.266358256340D-05 0.163670388283D-01 0.903010368347D-05 0.515369238472D+04
+    0.374400000000D+06-0.273808836937D-06-0.257731779677D+00-0.407919287682D-06
+    0.954711695163D+00 0.204375000000D+03 0.111914284171D+01-0.789961476495D-08
+    0.381444460121D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.426000000000D+03
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05  1 20  8  0  0.0 0.575357116759D-04 0.682121026330D-12 0.000000000000D+00
+    0.710000000000D+02 0.210312500000D+02 0.419231748399D-08-0.875078457570D+00
+    0.109337270260D-05 0.635625852738D-02 0.219792127609D-05 0.515358378601D+04
+    0.374400000000D+06 0.154599547386D-06-0.230045083065D+01-0.279396772385D-07
+    0.978784275482D+00 0.341687500000D+03 0.291711307061D+00-0.814141055100D-08
+    0.914323799542D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.710000000000D+02
+    0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+11 05  1 20  8  0  0.0 0.186603982002D-03 0.363797880709D-11 0.000000000000D+00
+    0.290000000000D+02 0.104312500000D+03 0.554273087699D-08 0.273292134745D+01
+    0.540725886822D-05 0.393367011566D-02 0.757910311222D-05 0.515368411255D+04
+    0.374400000000D+06-0.409781932831D-07 0.280209750325D+01-0.204890966415D-07
+    0.903680204468D+00 0.202031250000D+03 0.180623682056D+00-0.850999733269D-08
+   -0.685742849657D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.290000000000D+02
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+14 05  1 20  8  0  0.0-0.314898788929D-04-0.113686837722D-12 0.000000000000D+00
+    0.145000000000D+03-0.872812500000D+02 0.405159733672D-08-0.204622374187D+01
+   -0.449083745480D-05 0.182397535536D-02 0.622123479843D-05 0.515368432999D+04
+    0.374400000000D+06 0.186264514923D-07-0.126633642452D+01 0.186264514923D-07
+    0.980773213553D+00 0.269718750000D+03-0.178009593155D+01-0.782604027171D-08
+   -0.821462788651D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.401000000000D+03
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05  1 20  8  0  0.0 0.378036871553D-03 0.534328137292D-11 0.000000000000D+00
+    0.260000000000D+02 0.944062500000D+02 0.420410368922D-08 0.206470230485D+01
+    0.500865280628D-05 0.881264032796D-02 0.663101673126D-05 0.515358918571D+04
+    0.374400000000D+06 0.633299350739D-07 0.299532634725D+01 0.124797224999D-06
+    0.963651963515D+00 0.250750000000D+03 0.234251165940D+01-0.780603943859D-08
+   -0.896465912832D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.400000000000D+01 0.000000000000D+00-0.279396772385D-08 0.282000000000D+03
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05  1 20  8  0  0.0 0.198371708393D-05-0.227373675443D-12 0.000000000000D+00
+    0.420000000000D+02-0.412500000000D+01 0.473162566263D-08 0.917121924415D+00
+   -0.322237610817D-06 0.245773082133D-02 0.682100653648D-05 0.515368072319D+04
+    0.374400000000D+06-0.167638063431D-07 0.827240866680D+00-0.409781932831D-07
+    0.961288304831D+00 0.249468750000D+03-0.121140262472D+01-0.800890503161D-08
+   -0.142863093678D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.298000000000D+03
+    0.373518000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05  1 20  8  0  0.0-0.119051896036D-03-0.375166564481D-11 0.000000000000D+00
+    0.450000000000D+02 0.154375000000D+02 0.456554731623D-08 0.578431320501D+00
+    0.780448317528D-06 0.553583621513D-02 0.249594449997D-05 0.515371952248D+04
+    0.374400000000D+06 0.316649675369D-07-0.227138510172D+01 0.838190317154D-07
+    0.962593113650D+00 0.332593750000D+03-0.280318672915D+01-0.832820404598D-08
+    0.342871424828D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.301000000000D+03
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05  1 20  8  0  0.0-0.118957832456D-04-0.795807864051D-12 0.000000000000D+00
+    0.232000000000D+03 0.314062500000D+02 0.447268630534D-08-0.303499631144D+00
+    0.165775418282D-05 0.308413454332D-02 0.893697142601D-05 0.515364310074D+04
+    0.374400000000D+06-0.260770320892D-07 0.192789441636D+01 0.521540641785D-07
+    0.959205628822D+00 0.208687500000D+03-0.177766458949D+01-0.791747265166D-08
+   -0.407874132452D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.232000000000D+03
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+21 05  1 20  8  0  0.0 0.880388543010D-04 0.102318153950D-11 0.000000000000D+00
+    0.220000000000D+03 0.909062500000D+02 0.452733143867D-08 0.198984586637D+01
+    0.483728945255D-05 0.933518412057D-02 0.722520053387D-05 0.515365765190D+04
+    0.374400000000D+06-0.521540641785D-07 0.296457476909D+01 0.175088644028D-06
+    0.950172860159D+00 0.234250000000D+03 0.311216009503D+01-0.806069290307D-08
+   -0.121076471893D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.121071934700D-07 0.476000000000D+03
+    0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05  1 20  8  0  0.0 0.162627547979D-04 0.227373675443D-12 0.000000000000D+00
+    0.190000000000D+03 0.912500000000D+01 0.464662212189D-08-0.124731742449D+01
+    0.584870576859D-06 0.506225926802D-02 0.260211527348D-05 0.515368374825D+04
+    0.374400000000D+06-0.856816768646D-07-0.226212475128D+01 0.651925802231D-07
+    0.960008097905D+00 0.329875000000D+03-0.147691166458D+01-0.835570519152D-08
+    0.728601777760D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.190000000000D+03
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+23 05  1 20  8  0  0.0 0.211500562728D-03 0.568434188608D-12 0.000000000000D+00
+    0.205000000000D+03-0.107718750000D+03 0.446840041253D-08-0.165493469083D+01
+   -0.547245144844D-05 0.364430551417D-02 0.645406544209D-05 0.515372656632D+04
+    0.374400000000D+06-0.689178705216D-07-0.127133313094D+01 0.204890966415D-07
+    0.962921687976D+00 0.260406250000D+03 0.223691834508D+01-0.808355099806D-08
+    0.107147320259D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.461000000000D+03
+    0.370938000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05  1 20  8  0  0.0 0.895336270332D-04 0.284217094304D-11 0.000000000000D+00
+    0.134000000000D+03 0.110687500000D+03 0.405266880992D-08 0.249887557053D+01
+    0.581704080105D-05 0.907545315567D-02 0.732578337193D-05 0.515220286369D+04
+    0.374400000000D+06 0.106170773506D-06 0.297030756468D+01-0.260770320892D-07
+    0.966855296215D+00 0.236312500000D+03-0.126156993313D+01-0.774960851659D-08
+   -0.321441960777D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.134000000000D+03
+    0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+25 05  1 20  8  0  0.0 0.843354500830D-04 0.909494701773D-12 0.000000000000D+00
+    0.170000000000D+02-0.494375000000D+02 0.469126683867D-08 0.259459699515D+01
+   -0.244937837124D-05 0.118060989771D-01 0.884942710400D-05 0.515361568642D+04
+    0.374400000000D+06 0.134110450745D-06-0.309062731166D+00-0.819563865662D-07
+    0.947887608032D+00 0.197625000000D+03-0.151565097441D+01-0.779925344164D-08
+    0.264296723305D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.273000000000D+03
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05  1 20  8  0  0.0 0.317139551044D-03 0.557065504836D-11 0.000000000000D+00
+    0.790000000000D+02-0.991562500000D+02 0.390123393062D-08-0.267130305509D+01
+   -0.530295073986D-05 0.158496513031D-01 0.620074570179D-05 0.515375021362D+04
+    0.374400000000D+06 0.428408384323D-07-0.125373448246D+01-0.286847352982D-06
+    0.984699134157D+00 0.273468750000D+03 0.651669108886D+00-0.761103131572D-08
+    0.692886004340D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.651925802231D-08 0.790000000000D+02
+    0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+27 05  1 20  8  0  0.0 0.513622071594D-03 0.625277607469D-11 0.000000000000D+00
+    0.200000000000D+02-0.470937500000D+02 0.480734310228D-08 0.982744178211D+00
+   -0.229850411415D-05 0.188516991911D-01 0.966154038906D-05 0.515366187096D+04
+    0.374400000000D+06-0.244006514549D-06-0.279551454452D+00 0.152736902237D-06
+    0.952417687471D+00 0.197000000000D+03-0.208886283727D+01-0.830284584686D-08
+    0.225009372544D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.200000000000D+02
+    0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+28 05  1 20  8  0  0.0 0.464823096991D-04 0.113686837722D-12 0.000000000000D+00
+    0.154000000000D+03-0.593750000000D+00 0.492806241644D-08-0.305241299485D+00
+   -0.521540641785D-07 0.957338337321D-02 0.627711415291D-05 0.515363205147D+04
+    0.374400000000D+06 0.558793544769D-08 0.837522411473D+00 0.108033418655D-06
+    0.959272311554D+00 0.257093750000D+03-0.236688972628D+01-0.822927135361D-08
+   -0.275011455331D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.102445483208D-07 0.154000000000D+03
+    0.367200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05  1 20  8  0  0.0 0.178344082087D-03-0.189857018995D-10 0.000000000000D+00
+    0.219000000000D+03-0.897812500000D+02 0.406124059554D-08-0.583413381646D+00
+   -0.485219061375D-05 0.877670187037D-02 0.604428350925D-05 0.515359386444D+04
+    0.374400000000D+06-0.147148966789D-06-0.128695111562D+01-0.931322574615D-08
+    0.981573619921D+00 0.277468750000D+03-0.122385148996D+01-0.798033241288D-08
+    0.507163982558D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.219000000000D+03
+    0.374399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+30 05  1 20  8  0  0.0 0.443882308900D-03-0.143245415529D-10 0.000000000000D+00
+    0.152000000000D+03-0.196875000000D+01 0.528843457024D-08 0.185670841593D-01
+   -0.949949026108D-07 0.798735732678D-02 0.647827982903D-05 0.515375591278D+04
+    0.374400000000D+06-0.577419996262D-07 0.791979580214D+00 0.428408384323D-07
+    0.943194986691D+00 0.244718750000D+03 0.127883103814D+01-0.843427989304D-08
+    0.325013538118D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.838190317154D-08 0.408000000000D+03
+    0.367218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05  1 20  9 59 28.0 0.575454905629D-04 0.682121026330D-12 0.000000000000D+00
+    0.121000000000D+03 0.217187500000D+02 0.418338854064D-08 0.170529807708D+00
+    0.118650496006D-05 0.635737960693D-02 0.190734863281D-05 0.515358595085D+04
+    0.381568000000D+06 0.670552253723D-07-0.230050951268D+01 0.689178705216D-07
+    0.978784331073D+00 0.349968750000D+03 0.291668352861D+00-0.824927218673D-08
+    0.678599694973D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.232830643654D-08 0.121000000000D+03
+    0.381570000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20  9 59 44.0-0.161265954375D-03 0.879936123965D-10 0.000000000000D+00
+    0.189000000000D+03 0.107187500000D+02 0.511378443822D-08 0.313148409154D+01
+    0.467523932457D-06 0.622893776745D-02 0.824593007565D-05 0.515362861633D+04
+    0.381584000000D+06 0.353902578354D-07 0.184667410283D+01-0.242143869400D-07
+    0.934448809532D+00 0.204281250000D+03-0.194746186731D+01-0.806140721854D-08
+   -0.438232539859D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.445000000000D+03
+    0.374748000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20  9 59 44.0-0.249138101935D-04-0.181898940355D-11 0.000000000000D+00
+    0.195000000000D+03-0.547500000000D+02 0.447340062081D-08 0.283608825707D+01
+   -0.289268791676D-05 0.163680948317D-01 0.921078026295D-05 0.515368962288D+04
+    0.381584000000D+06 0.689178705216D-07-0.257786558645D+00-0.214204192162D-06
+    0.954715744520D+00 0.195875000000D+03 0.111907719033D+01-0.756317217934D-08
+    0.333585323739D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.558793544769D-08 0.707000000000D+03
+    0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05  1 20  9 59 44.0 0.575389713049D-04 0.682121026330D-12 0.000000000000D+00
+    0.940000000000D+02 0.217187500000D+02 0.418338854064D-08 0.172864853178D+00
+    0.118650496006D-05 0.635737134144D-02 0.190734863281D-05 0.515358593941D+04
+    0.381584000000D+06 0.670552253723D-07-0.230050965019D+01 0.689178705216D-07
+    0.978784326684D+00 0.349968750000D+03 0.291667222025D+00-0.824927218673D-08
+    0.678599694973D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.232830643654D-08 0.940000000000D+02
+    0.378270000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+18 05  1 20  9 59 44.0-0.119077507406D-03-0.375166564481D-11 0.000000000000D+00
+    0.640000000000D+02 0.197187500000D+02 0.454161774804D-08 0.162637149036D+01
+    0.959262251854D-06 0.553591013886D-02 0.211410224438D-05 0.515371846008D+04
+    0.381584000000D+06-0.260770320892D-07-0.227144479171D+01 0.894069671631D-07
+    0.962593270182D+00 0.337750000000D+03-0.280330765834D+01-0.831106047474D-08
+    0.235724104569D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.640000000000D+02
+    0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05  1 20  9 59 44.0 0.880490988493D-04 0.113686837722D-11 0.000000000000D+00
+    0.239000000000D+03 0.991562500000D+02 0.450233039728D-08 0.303776263247D+01
+    0.515952706337D-05 0.933647796046D-02 0.757537782192D-05 0.515365510941D+04
+    0.381584000000D+06-0.145286321640D-06 0.296451670295D+01-0.745058059692D-08
+    0.950172947934D+00 0.227250000000D+03 0.311210101070D+01-0.790854370830D-08
+   -0.207151485834D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.239000000000D+03
+    0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+25 05  1 20  9 59 44.0 0.843410380185D-04 0.909494701773D-12 0.000000000000D+00
+    0.410000000000D+02-0.470625000000D+02 0.470055293976D-08-0.264071861093D+01
+   -0.231154263020D-05 0.118060510140D-01 0.893138349056D-05 0.515361578178D+04
+    0.381584000000D+06 0.119209289551D-06-0.309119430945D+00 0.912696123123D-07
+    0.947889998440D+00 0.197125000000D+03-0.151563668755D+01-0.779461039110D-08
+    0.395016454021D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.297000000000D+03
+    0.377718000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05  1 20  9 59 44.0 0.317179597914D-03 0.557065504836D-11 0.000000000000D+00
+    0.102000000000D+03-0.102437500000D+03 0.385158900557D-08-0.162352348730D+01
+   -0.542216002941D-05 0.158501318656D-01 0.564754009247D-05 0.515374929237D+04
+    0.381584000000D+06 0.214204192162D-06-0.125378950134D+01-0.212341547012D-06
+    0.984699954854D+00 0.277218750000D+03 0.651686204546D+00-0.765817613663D-08
+    0.108575951196D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.358000000000D+03
+    0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05  1 20  9 59 44.0 0.178208574653D-03-0.189857018995D-10 0.000000000000D+00
+    0.200000000000D+01-0.101937500000D+03 0.402838208400D-08 0.464414579474D+00
+   -0.543892383575D-05 0.877785461489D-02 0.604800879955D-05 0.515359600830D+04
+    0.381584000000D+06-0.428408384323D-07-0.128700793536D+01-0.139698386192D-06
+    0.981573366836D+00 0.276031250000D+03-0.122378721958D+01-0.801676250177D-08
+   -0.764317551180D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.200000000000D+01
+    0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+30 05  1 20  9 59 44.0 0.443778000772D-03-0.143245415529D-10 0.000000000000D+00
+    0.180000000000D+03 0.437500000000D+00 0.529700635586D-08 0.106641097353D+01
+   -0.335276126862D-07 0.798688561190D-02 0.636279582977D-05 0.515375481796D+04
+    0.381584000000D+06-0.173225998879D-06 0.791918715508D+00 0.409781932831D-07
+    0.943195488472D+00 0.247906250000D+03 0.127879030318D+01-0.838856370306D-08
+    0.964325882329D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.180000000000D+03
+    0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20 10  0  0.0 0.383886042982D-03 0.193267624127D-11 0.000000000000D+00
+    0.210000000000D+03-0.871562500000D+02 0.397409410840D-08-0.180134758888D+01
+   -0.442564487457D-05 0.603287818376D-02 0.626780092716D-05 0.515362902641D+04
+    0.381600000000D+06 0.838190317154D-07-0.123962089251D+01 0.124797224999D-06
+    0.982226384209D+00 0.267812500000D+03-0.165771365294D+01-0.776925219197D-08
+   -0.714315468392D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.466000000000D+03
+    0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20 10  0  0.0-0.424631871283D-04 0.568434188608D-11 0.000000000000D+00
+    0.410000000000D+02 0.100718750000D+03 0.436089593453D-08-0.144433762989D+00
+    0.538118183613D-05 0.949844147544D-02 0.802613794804D-05 0.515366068840D+04
+    0.381600000000D+06-0.221654772759D-06 0.292119572533D+01-0.651925802231D-07
+    0.956873968544D+00 0.225843750000D+03 0.174997004930D+01-0.808962267954D-08
+   -0.571452374714D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.172294676304D-07 0.410000000000D+02
+    0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20 10  0  0.0 0.781686976552D-04 0.295585778076D-11 0.000000000000D+00
+    0.430000000000D+02 0.125000000000D+02 0.530772108789D-08-0.111444050805D+01
+    0.629574060440D-06 0.661719311029D-02 0.778958201408D-05 0.515371617127D+04
+    0.381600000000D+06 0.197440385819D-06 0.179182094346D+01 0.223517417908D-07
+    0.926934337713D+00 0.211875000000D+03 0.600800285903D+00-0.827927343640D-08
+   -0.434660962517D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.419095158577D-08 0.555000000000D+03
+    0.380520000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20 10  0  0.0 0.440961215645D-03-0.206910044653D-10 0.000000000000D+00
+    0.228000000000D+03 0.112218750000D+03 0.439875465436D-08 0.217508896535D+01
+    0.585801899433D-05 0.704703095835D-02 0.775232911110D-05 0.515354776001D+04
+    0.381600000000D+06-0.353902578354D-07 0.294125936591D+01 0.521540641785D-07
+    0.956563809431D+00 0.230781250000D+03-0.614775230713D-03-0.797390357366D-08
+   -0.975040614355D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.228000000000D+03
+    0.376848000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20 10  0  0.0 0.732326880097D-04 0.250111042988D-11 0.000000000000D+00
+    0.174000000000D+03 0.334375000000D+01 0.535129433146D-08 0.190865909609D+01
+    0.484287738800D-07 0.591771968175D-02 0.639818608761D-05 0.515361751938D+04
+    0.381600000000D+06-0.158324837685D-06 0.748910114792D+00-0.100582838059D-06
+    0.936418157666D+00 0.242062500000D+03 0.937399143717D+00-0.828248785601D-08
+    0.158220876249D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.174000000000D+03
+    0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20 10  0  0.0 0.622323714197D-04-0.302406988340D-10 0.000000000000D+00
+    0.127000000000D+03 0.211250000000D+02 0.522771775543D-08-0.937631114248D+00
+    0.116229057312D-05 0.129263278795D-01 0.827200710774D-05 0.515365699577D+04
+    0.381600000000D+06-0.135973095894D-06 0.181925775406D+01 0.206753611565D-06
+    0.936052273077D+00 0.210437500000D+03-0.181191518097D+01-0.840499295884D-08
+   -0.513592821774D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.186264514923D-08 0.127000000000D+03
+    0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20 10  0  0.0-0.190851278603D-04-0.113686837722D-11 0.000000000000D+00
+    0.118000000000D+03-0.412500000000D+02 0.432160858377D-08-0.294655995991D+01
+   -0.197812914848D-05 0.924153276719D-02 0.938400626183D-05 0.515376961136D+04
+    0.381600000000D+06-0.651925802231D-07-0.185522157914D+00 0.156462192535D-06
+    0.967603460317D+00 0.202437500000D+03 0.250879247568D+01-0.762674625602D-08
+    0.448947271884D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.118000000000D+03
+    0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+11 05  1 20 10  0  0.0 0.186630524695D-03 0.363797880709D-11 0.000000000000D+00
+    0.300000000000D+02 0.934375000000D+02 0.551915846653D-08-0.250025419527D+01
+    0.484101474285D-05 0.393456860911D-02 0.774487853050D-05 0.515368228149D+04
+    0.381600000000D+06-0.931322574616D-08 0.280203647762D+01 0.558793544769D-08
+    0.903679869460D+00 0.201093750000D+03 0.180795472526D+00-0.846642408912D-08
+   -0.771460705864D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.300000000000D+02
+    0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05  1 20 10  0  0.0-0.137793831527D-04 0.909494701773D-12 0.000000000000D+00
+    0.191000000000D+03-0.998750000000D+02 0.385873216025D-08 0.272360101737D+00
+   -0.532530248165D-05 0.224778044503D-02 0.662356615067D-05 0.515354015350D+04
+    0.381600000000D+06-0.745058059692D-08-0.125588382218D+01 0.502914190292D-07
+    0.986413820438D+00 0.268312500000D+03 0.913003336036D+00-0.782854037584D-08
+   -0.228580949886D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.630000000000D+02-0.116415321827D-07 0.191000000000D+03
+    0.375318000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+14 05  1 20 10  0  0.0-0.314908102155D-04-0.113686837722D-12 0.000000000000D+00
+    0.146000000000D+03-0.867500000000D+02 0.402409619119D-08-0.995399998085D+00
+   -0.447221100330D-05 0.182426569518D-02 0.583752989769D-05 0.515368659592D+04
+    0.381600000000D+06-0.335276126862D-07-0.126639290340D+01 0.372529029846D-07
+    0.980772890248D+00 0.279062500000D+03-0.178074913178D+01-0.787925677410D-08
+   -0.132148361653D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.402000000000D+03
+    0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05  1 20 10  0  0.0 0.378075055778D-03 0.534328137292D-11 0.000000000000D+00
+    0.270000000000D+02 0.932812500000D+02 0.419017453759D-08 0.311485471260D+01
+    0.490061938763D-05 0.881183461752D-02 0.715442001820D-05 0.515359112930D+04
+    0.381600000000D+06-0.223517417908D-07 0.299526998541D+01 0.132247805595D-06
+    0.963651439791D+00 0.242906250000D+03 0.234258885905D+01-0.777710966212D-08
+   -0.496449250533D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.279396772385D-08 0.283000000000D+03
+    0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+16 05  1 20 10  0  0.0 0.198278576136D-05-0.227373675443D-12 0.000000000000D+00
+    0.430000000000D+02-0.328125000000D+01 0.479377110838D-08 0.196713131290D+01
+   -0.134110450745D-06 0.245781859849D-02 0.638701021671D-05 0.515368152809D+04
+    0.381600000000D+06 0.111758708954D-07 0.827183245262D+00-0.596046447754D-07
+    0.961288255091D+00 0.252343750000D+03-0.121123394588D+01-0.800069040373D-08
+   -0.857178562071D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.299000000000D+03
+    0.375078000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+17 05  1 20 10  0  0.0-0.923932529986D-04 0.192130755750D-10 0.000000000000D+00
+    0.300000000000D+01 0.110593750000D+03 0.406266922648D-08-0.244589680567D+01
+    0.561773777008D-05 0.175190682057D-01 0.731460750103D-05 0.515372548103D+04
+    0.381600000000D+06-0.931322574616D-08 0.303732236874D+01-0.322237610817D-06
+    0.965562121984D+00 0.239750000000D+03-0.269766229486D+01-0.772710757933D-08
+    0.170721396946D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.300000000000D+01
+    0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+18 05  1 20 10  0  0.0-0.119078904390D-03-0.375166564481D-11 0.000000000000D+00
+    0.400000000000D+02 0.197187500000D+02 0.454161774804D-08 0.162870413811D+01
+    0.959262251854D-06 0.553590920754D-02 0.211410224438D-05 0.515371846199D+04
+    0.381600000000D+06-0.260770320892D-07-0.227144492191D+01 0.894069671631D-07
+    0.962593276034D+00 0.337750000000D+03-0.280330659919D+01-0.831106047474D-08
+    0.235724104569D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.102445483208D-07 0.552000000000D+03
+    0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05  1 20 10  0  0.0-0.119018368423D-04-0.795807864051D-12 0.000000000000D+00
+    0.227000000000D+03 0.263125000000D+02 0.450983070969D-08 0.746656555322D+00
+    0.139325857163D-05 0.308312114794D-02 0.862032175064D-05 0.515364128304D+04
+    0.381600000000D+06-0.316649675369D-07 0.192783773267D+01-0.223517417908D-07
+    0.959202464530D+00 0.215687500000D+03-0.177762053664D+01-0.791604402072D-08
+   -0.467876631797D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.139698386192D-07 0.483000000000D+03
+    0.374460000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05  1 20 10  0  0.0-0.907746143639D-04 0.272848410532D-11 0.000000000000D+00
+    0.125000000000D+03 0.220625000000D+02 0.450661629009D-08 0.135102250362D+01
+    0.113621354103D-05 0.226908188779D-02 0.215880572796D-05 0.515379679680D+04
+    0.381600000000D+06-0.745058059692D-07-0.232393594403D+01-0.521540641785D-07
+    0.962459367827D+00 0.336843750000D+03 0.141710001021D+01-0.834391898629D-08
+    0.907180644858D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.125000000000D+03
+    0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+21 05  1 20 10  0  0.0 0.880467705429D-04 0.102318153950D-11 0.000000000000D+00
+    0.215000000000D+03 0.991562500000D+02 0.450233039728D-08 0.304009592536D+01
+    0.515952706337D-05 0.933646946214D-02 0.757537782192D-05 0.515365510559D+04
+    0.381600000000D+06-0.145286321640D-06 0.296451658445D+01-0.745058059692D-08
+    0.950172950860D+00 0.227250000000D+03 0.311210153589D+01-0.790854370830D-08
+   -0.207151485834D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.121071934700D-07 0.727000000000D+03
+    0.374400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05  1 20 10  0  0.0 0.162636861205D-04 0.227373675443D-12 0.000000000000D+00
+    0.191000000000D+03 0.147187500000D+02 0.460340603605D-08-0.197027047470D+00
+    0.711530447006D-06 0.506271165796D-02 0.253878533840D-05 0.515368511963D+04
+    0.381600000000D+06-0.726431608200D-07-0.226218523271D+01-0.186264514923D-08
+    0.960008620167D+00 0.330250000000D+03-0.147702700250D+01-0.838927801853D-08
+    0.875036448780D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.181607902050D-07 0.191000000000D+03
+    0.374790000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05  1 20 10  0  0.0 0.211504288018D-03 0.568434188608D-12 0.000000000000D+00
+    0.206000000000D+03-0.100031250000D+03 0.435518141079D-08-0.604524768540D+00
+   -0.540353357792D-05 0.364449631888D-02 0.629387795925D-05 0.515372834396D+04
+    0.381600000000D+06-0.447034835815D-07-0.127139153355D+01-0.223517417908D-07
+    0.962921793306D+00 0.259125000000D+03 0.223665546309D+01-0.810390898891D-08
+    0.203579908492D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.214204192162D-07 0.462000000000D+03
+    0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05  1 20 10  0  0.0 0.895545817912D-04 0.284217094304D-11 0.000000000000D+00
+    0.135000000000D+03 0.117843750000D+03 0.416660212713D-08-0.273324684087D+01
+    0.608339905739D-05 0.907665013801D-02 0.729225575924D-05 0.515220071030D+04
+    0.381600000000D+06 0.117346644402D-06 0.297025160514D+01 0.316649675369D-07
+    0.966855239162D+00 0.242906250000D+03-0.126155482265D+01-0.775353725166D-08
+    0.107147320259D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.135000000000D+03
+    0.375618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05  1 20 10  0  0.0 0.843419693410D-04 0.909494701773D-12 0.000000000000D+00
+    0.180000000000D+02-0.470625000000D+02 0.470055293976D-08-0.263838450465D+01
+   -0.231154263020D-05 0.118060524110D-01 0.893138349056D-05 0.515361577988D+04
+    0.381600000000D+06 0.119209289551D-06-0.309119574311D+00 0.912696123123D-07
+    0.947889996977D+00 0.197125000000D+03-0.151563694503D+01-0.779461039110D-08
+    0.395016454021D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.274000000000D+03
+    0.374418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05  1 20 10  0  0.0 0.317180063576D-03 0.557065504836D-11 0.000000000000D+00
+    0.800000000000D+02-0.102437500000D+03 0.385158900557D-08-0.162118957120D+01
+   -0.542216002941D-05 0.158501281403D-01 0.564754009247D-05 0.515374930573D+04
+    0.381600000000D+06 0.214204192162D-06-0.125378962569D+01-0.212341547012D-06
+    0.984699957780D+00 0.277218750000D+03 0.651685837354D+00-0.765817613663D-08
+    0.108575951196D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.800000000000D+02
+    0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+27 05  1 20 10  0  0.0 0.513667240739D-03 0.625277607469D-11 0.000000000000D+00
+    0.150000000000D+02-0.558437500000D+02 0.459947730098D-08 0.203288559798D+01
+   -0.309944152832D-05 0.188522202661D-01 0.957772135735D-05 0.515366361237D+04
+    0.381600000000D+06-0.150874257088D-06-0.279611319985D+00-0.413507223129D-06
+    0.952422079151D+00 0.193687500000D+03-0.208881492670D+01-0.780639659632D-08
+    0.443589905872D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.271000000000D+03
+    0.381288000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05  1 20 10  0  0.0 0.464832410216D-04 0.113686837722D-12 0.000000000000D+00
+    0.155000000000D+03 0.503125000000D+01 0.493806283300D-08 0.744940065264D+00
+    0.402331352234D-06 0.957428663969D-02 0.654160976410D-05 0.515363385582D+04
+    0.381600000000D+06-0.391155481339D-07 0.837463325675D+00 0.912696123123D-07
+    0.959272076024D+00 0.253625000000D+03-0.236686229802D+01-0.821605651745D-08
+   -0.542879755978D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.155000000000D+03
+    0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05  1 20 10  0  0.0 0.178207177669D-03-0.189857018995D-10 0.000000000000D+00
+    0.220000000000D+03-0.101937500000D+03 0.402838208400D-08 0.466748416574D+00
+   -0.543892383575D-05 0.877785379998D-02 0.604800879955D-05 0.515359600639D+04
+    0.381600000000D+06-0.428408384323D-07-0.128700805678D+01-0.139698386192D-06
+    0.981573385854D+00 0.276031250000D+03-0.122378719617D+01-0.801676250177D-08
+   -0.764317551180D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.220000000000D+03
+    0.381599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05  1 20 11 59 28.0 0.575501471758D-04 0.682121026330D-12 0.000000000000D+00
+    0.122000000000D+03 0.243437500000D+02 0.416695928487D-08 0.122072896593D+01
+    0.142306089401D-05 0.635770102963D-02 0.203214585781D-05 0.515358668327D+04
+    0.388768000000D+06-0.633299350739D-07-0.230056812742D+01 0.894069671631D-07
+    0.978784718747D+00 0.349593750000D+03 0.291700640925D+00-0.818034074403D-08
+   -0.200008331150D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.378000000000D+03
+    0.387648000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05  1 20 11 59 44.0-0.137723982334D-04 0.909494701773D-12 0.000000000000D+00
+    0.214000000000D+03-0.914062500000D+02 0.382873091058D-08 0.135878131202D+01
+   -0.486336648464D-05 0.228943163529D-02 0.593438744545D-05 0.515378664207D+04
+    0.388784000000D+06-0.279396772385D-07-0.125593989729D+01 0.298023223877D-07
+    0.986413650739D+00 0.276375000000D+03 0.874150079517D+00-0.781996859022D-08
+   -0.350014579512D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.116415321827D-07 0.470000000000D+03
+    0.384768000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05  1 20 11 59 44.0 0.378115568310D-03 0.522959453519D-11 0.000000000000D+00
+    0.480000000000D+02 0.997187500000D+02 0.426696345044D-08-0.212051279050D+01
+    0.522471964359D-05 0.881316140294D-02 0.767596065998D-05 0.515358839035D+04
+    0.388784000000D+06-0.141561031342D-06 0.299521401562D+01 0.149011611939D-06
+    0.963650683462D+00 0.234343750000D+03 0.234266711493D+01-0.786425614926D-08
+   -0.517878714584D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.279396772385D-08 0.480000000000D+02
+    0.388650000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+16 05  1 20 11 59 44.0 0.198371708393D-05-0.113686837722D-12 0.000000000000D+00
+    0.670000000000D+02-0.321875000000D+01 0.487198865217D-08 0.301501854122D+01
+   -0.931322574616D-08 0.245812267531D-02 0.640563666821D-05 0.515368094826D+04
+    0.388784000000D+06 0.104308128357D-06 0.827124972847D+00 0.689178705216D-07
+    0.961288515491D+00 0.255062500000D+03-0.121127616130D+01-0.803533470394D-08
+    0.116433421348D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.323000000000D+03
+    0.382668000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05  1 20 11 59 44.0-0.119104050100D-03-0.375166564481D-11 0.000000000000D+00
+    0.650000000000D+02 0.241250000000D+02 0.447482925174D-08 0.267662592933D+01
+    0.129081308842D-05 0.553583889268D-02 0.192970037460D-05 0.515371765900D+04
+    0.388784000000D+06-0.782310962677D-07-0.227150471137D+01-0.130385160446D-07
+    0.962594010419D+00 0.342218750000D+03-0.280340767805D+01-0.822177104119D-08
+    0.825034365993D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.102445483208D-07 0.650000000000D+02
+    0.388050000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05  1 20 11 59 44.0 0.880570150912D-04 0.113686837722D-11 0.000000000000D+00
+    0.000000000000D+00 0.104500000000D+03 0.449590155806D-08-0.219518322919D+01
+    0.529177486897D-05 0.933626270853D-02 0.776536762714D-05 0.515365580559D+04
+    0.388784000000D+06-0.111758708954D-06 0.296445922928D+01-0.137835741043D-06
+    0.950172590982D+00 0.225937500000D+03 0.311205402470D+01-0.799354724904D-08
+    0.285726187357D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.000000000000D+00
+    0.382230000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05  1 20 11 59 44.0 0.162711367011D-04 0.227373675443D-12 0.000000000000D+00
+    0.214000000000D+03 0.243750000000D+02 0.465447959204D-08 0.850933483287D+00
+    0.120885670185D-05 0.506097963080D-02 0.205263495445D-05 0.515368163872D+04
+    0.388784000000D+06-0.409781932831D-07-0.226224538351D+01-0.409781932831D-07
+    0.960009057579D+00 0.338812500000D+03-0.147714552520D+01-0.839927843509D-08
+    0.539308178636D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.214000000000D+03
+    0.388799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+25 05  1 20 11 59 44.0 0.843470916152D-04 0.909494701773D-12 0.000000000000D+00
+    0.420000000000D+02-0.463125000000D+02 0.474626912973D-08-0.159049827112D+01
+   -0.209733843803D-05 0.118061312242D-01 0.907853245735D-05 0.515361574936D+04
+    0.388784000000D+06-0.204890966415D-07-0.309175563112D+00 0.268220901489D-06
+    0.947891952899D+00 0.198156250000D+03-0.151563944515D+01-0.797783230874D-08
+    0.348228790841D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.298000000000D+03
+    0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05  1 20 11 59 44.0 0.317220110446D-03 0.557065504836D-11 0.000000000000D+00
+    0.103000000000D+03-0.104343750000D+03 0.397337979293D-08-0.573382026566D+00
+   -0.522471964359D-05 0.158500735415D-01 0.590085983276D-05 0.515374954224D+04
+    0.388784000000D+06 0.160187482834D-06-0.125384480111D+01 0.234693288803D-06
+    0.984698490473D+00 0.276375000000D+03 0.651674119380D+00-0.805247827518D-08
+   -0.582167106740D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.359000000000D+03
+    0.388799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05  1 20 11 59 44.0 0.178071670234D-03-0.189857018995D-10 0.000000000000D+00
+    0.300000000000D+01-0.113656250000D+03 0.392409202561D-08 0.151451263689D+01
+   -0.603310763836D-05 0.877916638274D-02 0.550225377083D-05 0.515359913445D+04
+    0.388784000000D+06 0.163912773132D-06-0.128706528906D+01-0.160187482834D-06
+    0.981573621384D+00 0.283093750000D+03-0.122366232149D+01-0.784282668521D-08
+   -0.696457581682D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.300000000000D+01
+    0.387660000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20 12  0  0.0 0.383900012821D-03 0.193267624127D-11 0.000000000000D+00
+    0.211000000000D+03-0.859687500000D+02 0.396552232278D-08-0.750929532761D+00
+   -0.445917248726D-05 0.603307702113D-02 0.600889325142D-05 0.515363147163D+04
+    0.388800000000D+06-0.819563865662D-07-0.123967765520D+01 0.633299350739D-07
+    0.982225638120D+00 0.277468750000D+03-0.165792830545D+01-0.793604485384D-08
+    0.114290474943D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.723000000000D+03
+    0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20 12  0  0.0-0.424226745963D-04 0.568434188608D-11 0.000000000000D+00
+    0.420000000000D+02 0.101312500000D+03 0.449340145392D-08 0.905747927991D+00
+    0.505521893501D-05 0.949813856278D-02 0.800192356110D-05 0.515366019821D+04
+    0.388800000000D+06-0.353902578354D-07 0.292113784644D+01-0.173225998879D-06
+    0.956873144922D+00 0.228937500000D+03 0.174997657977D+01-0.814605360154D-08
+   -0.136434254463D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.420000000000D+02
+    0.382698000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20 12  0  0.0 0.781901180744D-04 0.295585778076D-11 0.000000000000D+00
+    0.440000000000D+02 0.831250000000D+01 0.545915596719D-08-0.642551539251D-01
+    0.460073351860D-06 0.661692570429D-02 0.765547156334D-05 0.515371591568D+04
+    0.388800000000D+06 0.260770320892D-07 0.179176070196D+01 0.949949026108D-07
+    0.926930376131D+00 0.211031250000D+03 0.600775776174D+00-0.845320925295D-08
+   -0.451090218290D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.419095158577D-08 0.556000000000D+03
+    0.385728000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20 12  0  0.0 0.440812669694D-03-0.206910044653D-10 0.000000000000D+00
+    0.229000000000D+03 0.108906250000D+03 0.436661045828D-08-0.305786837729D+01
+    0.556558370590D-05 0.704596180003D-02 0.734813511372D-05 0.515354971695D+04
+    0.388800000000D+06-0.558793544769D-07 0.294120197856D+01-0.745058059692D-08
+    0.956563377870D+00 0.238843750000D+03-0.585939652453D-03-0.793318759196D-08
+   -0.725030200418D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.229000000000D+03
+    0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20 12  0  0.0 0.732503831387D-04 0.250111042988D-11 0.000000000000D+00
+    0.175000000000D+03 0.378125000000D+01 0.532272171272D-08 0.295891067359D+01
+    0.113621354103D-06 0.591781269759D-02 0.638887286186D-05 0.515361716461D+04
+    0.388800000000D+06-0.204890966415D-07 0.748851007050D+00-0.115483999252D-06
+    0.936419753710D+00 0.240406250000D+03 0.937368817425D+00-0.818212653270D-08
+    0.163221084528D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.419095158577D-08 0.687000000000D+03
+    0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20 12  0  0.0-0.160631258041D-03 0.879936123965D-10 0.000000000000D+00
+    0.190000000000D+03 0.136562500000D+02 0.509878381338D-08-0.209918318889D+01
+    0.638887286186D-06 0.622883066535D-02 0.821799039841D-05 0.515362862206D+04
+    0.388800000000D+06 0.596046447754D-07 0.184661596061D+01-0.223517417908D-07
+    0.934445637926D+00 0.203312500000D+03-0.194743369443D+01-0.806890753096D-08
+   -0.445375694543D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.446000000000D+03
+    0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20 12  0  0.0 0.620144419372D-04-0.302406988339D-10 0.000000000000D+00
+    0.128000000000D+03 0.176875000000D+02 0.527843415368D-08 0.112561975790D+00
+    0.935047864914D-06 0.129256699001D-01 0.806339085102D-05 0.515365580559D+04
+    0.388800000000D+06-0.135973095894D-06 0.181919652948D+01 0.540167093277D-07
+    0.936048541173D+00 0.214781250000D+03-0.181191156317D+01-0.848142471395D-08
+   -0.487877464912D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.128000000000D+03
+    0.388799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20 12  0  0.0-0.190935097635D-04-0.113686837722D-11 0.000000000000D+00
+    0.119000000000D+03-0.382500000000D+02 0.433089468486D-08-0.189642867231D+01
+   -0.194273889065D-05 0.924174301326D-02 0.976584851742D-05 0.515376941872D+04
+    0.388800000000D+06-0.199303030968D-06-0.185577723931D+00 0.558793544769D-08
+    0.967606081866D+00 0.201406250000D+03 0.250878250296D+01-0.778496713227D-08
+    0.486805991709D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.372529029846D-08 0.119000000000D+03
+    0.384858000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20 12  0  0.0-0.249263830483D-04-0.181898940355D-11 0.000000000000D+00
+    0.196000000000D+03-0.540625000000D+02 0.448197240643D-08-0.239458966025D+01
+   -0.289641320705D-05 0.163678907556D-01 0.920332968235D-05 0.515369000053D+04
+    0.388800000000D+06 0.253319740295D-06-0.257842494781D+00-0.353902578354D-07
+    0.954718709855D+00 0.194406250000D+03 0.111907493159D+01-0.762567478282D-08
+    0.528950604344D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.452000000000D+03
+    0.388799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+11 05  1 20 12  0  0.0 0.186657067388D-03 0.363797880709D-11 0.000000000000D+00
+    0.250000000000D+02 0.821562500000D+02 0.555844581729D-08-0.145033285104D+01
+    0.429525971413D-05 0.393558561336D-02 0.748224556446D-05 0.515367972565D+04
+    0.388800000000D+06-0.279396772385D-07 0.280197590989D+01-0.838190317154D-07
+    0.903679155556D+00 0.206250000000D+03 0.181058376460D+00-0.845928093443D-08
+   -0.145720355552D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.281000000000D+03
+    0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+13 05  1 20 12  0  0.0-0.137723982334D-04 0.909494701773D-12 0.000000000000D+00
+    0.192000000000D+03-0.913437500000D+02 0.383015954152D-08 0.132319483496D+01
+   -0.486150383949D-05 0.224707450252D-02 0.593438744545D-05 0.515353746796D+04
+    0.388800000000D+06-0.260770320892D-07-0.125594011966D+01 0.279396772385D-07
+    0.986413583445D+00 0.276406250000D+03 0.912426532308D+00-0.782318300983D-08
+   -0.346443002170D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.630000000000D+02-0.116415321827D-07 0.192000000000D+03
+    0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+14 05  1 20 12  0  0.0-0.314912758768D-04-0.113686837722D-12 0.000000000000D+00
+    0.147000000000D+03-0.945625000000D+02 0.401838166744D-08 0.545950552689D-01
+   -0.504590570927D-05 0.182304601185D-02 0.550597906113D-05 0.515368427086D+04
+    0.388800000000D+06-0.484287738800D-07-0.126644966462D+01 0.130385160446D-07
+    0.980772781992D+00 0.284812500000D+03-0.178057437452D+01-0.788389982464D-08
+   -0.196436753808D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.107102096081D-07 0.403000000000D+03
+    0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+15 05  1 20 12  0  0.0 0.378112774342D-03 0.534328137292D-11 0.000000000000D+00
+    0.220000000000D+02 0.997187500000D+02 0.426696345044D-08-0.211817788693D+01
+    0.522471964359D-05 0.881314685103D-02 0.767596065998D-05 0.515358837318D+04
+    0.388800000000D+06-0.141561031342D-06 0.299521386348D+01 0.149011611939D-06
+    0.963650692239D+00 0.234343750000D+03 0.234266624449D+01-0.786425614926D-08
+   -0.517878714584D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.279396772385D-08 0.534000000000D+03
+    0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+16 05  1 20 12  0  0.0 0.198138877749D-05-0.113686837722D-12 0.000000000000D+00
+    0.440000000000D+02-0.321875000000D+01 0.487198865217D-08 0.301735429621D+01
+   -0.931322574616D-08 0.245812896173D-02 0.640563666821D-05 0.515368093681D+04
+    0.388800000000D+06 0.104308128357D-06 0.827124842647D+00 0.689178705216D-07
+    0.961288490621D+00 0.255062500000D+03-0.121127809674D+01-0.803533470394D-08
+    0.116433421348D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.300000000000D+03
+    0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+17 05  1 20 12  0  0.0-0.922554172576D-04 0.192130755750D-10 0.000000000000D+00
+    0.400000000000D+01 0.110718750000D+03 0.420981821297D-08-0.139585492724D+01
+    0.566802918911D-05 0.175199118676D-01 0.673159956932D-05 0.515372169685D+04
+    0.388800000000D+06 0.255182385445D-06 0.303726687148D+01-0.348314642906D-06
+    0.965563358150D+00 0.254718750000D+03-0.269755656100D+01-0.780532512312D-08
+    0.107504477993D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.400000000000D+01
+    0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05  1 20 12  0  0.0-0.119078904390D-04-0.795807864051D-12 0.000000000000D+00
+    0.228000000000D+03 0.179375000000D+02 0.452768859640D-08 0.179652804476D+01
+    0.761821866036D-06 0.308364187367D-02 0.833719968796D-05 0.515364340210D+04
+    0.388800000000D+06 0.186264514923D-08 0.192778074470D+01-0.521540641785D-07
+    0.959199234407D+00 0.217406250000D+03-0.177729219346D+01-0.788497129785D-08
+   -0.462519265784D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.740000000000D+03
+    0.388398000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+20 05  1 20 12  0  0.0-0.907555222511D-04 0.272848410532D-11 0.000000000000D+00
+    0.126000000000D+03 0.248125000000D+02 0.443018453497D-08 0.240131252076D+01
+    0.129640102387D-05 0.226895557717D-02 0.237487256527D-05 0.515379611588D+04
+    0.388800000000D+06 0.558793544769D-07-0.232399536483D+01-0.558793544769D-08
+    0.962460617159D+00 0.333281250000D+03 0.141691570301D+01-0.820355599675D-08
+    0.767889128522D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.126000000000D+03
+    0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+22 05  1 20 12  0  0.0 0.162650831044D-04 0.227373675443D-12 0.000000000000D+00
+    0.192000000000D+03 0.243750000000D+02 0.465447959204D-08 0.853264811482D+00
+    0.120885670185D-05 0.506098812912D-02 0.205263495445D-05 0.515368165779D+04
+    0.388800000000D+06-0.409781932831D-07-0.226224551664D+01-0.409781932831D-07
+    0.960009064894D+00 0.338812500000D+03-0.147714320355D+01-0.839927843509D-08
+    0.539308178636D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.181607902050D-07 0.192000000000D+03
+    0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05  1 20 12  0  0.0 0.211508478969D-03 0.568434188608D-12 0.000000000000D+00
+    0.207000000000D+03-0.866875000000D+02 0.439446876155D-08 0.445506657346D+00
+   -0.459328293800D-05 0.364227220416D-02 0.572577118874D-05 0.515372407532D+04
+    0.388800000000D+06 0.186264514923D-08-0.127144979280D+01-0.391155481339D-07
+    0.962921747956D+00 0.268750000000D+03 0.223677201963D+01-0.812069540242D-08
+   -0.110718897601D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.214204192162D-07 0.463000000000D+03
+    0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05  1 20 12  0  0.0 0.895755365491D-04 0.284217094304D-11 0.000000000000D+00
+    0.136000000000D+03 0.111062500000D+03 0.418231706744D-08-0.168205483087D+01
+    0.588409602642D-05 0.907580682542D-02 0.716745853424D-05 0.515220317841D+04
+    0.388800000000D+06-0.577419996262D-07 0.297019551686D+01 0.197440385819D-06
+    0.966854146362D+00 0.250062500000D+03-0.126166853966D+01-0.796747473445D-08
+   -0.446447167745D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.136000000000D+03
+    0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05  1 20 12  0  0.0 0.513712409884D-03 0.625277607469D-11 0.000000000000D+00
+    0.160000000000D+02-0.533437500000D+02 0.451018786743D-08 0.308307696909D+01
+   -0.290013849735D-05 0.188520101365D-01 0.947900116444D-05 0.515366384697D+04
+    0.388800000000D+06 0.109896063805D-06-0.279666028733D+00-0.242143869400D-06
+    0.952426017327D+00 0.192062500000D+03-0.208881915892D+01-0.759424490221D-08
+    0.416088760338D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.272000000000D+03
+    0.381618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05  1 20 12  0  0.0 0.464846380055D-04 0.113686837722D-12 0.000000000000D+00
+    0.150000000000D+03 0.500000000000D+00 0.488306054193D-08 0.179506274652D+01
+    0.130385160446D-07 0.957459548954D-02 0.687129795551D-05 0.515363550568D+04
+    0.388800000000D+06-0.270083546639D-06 0.837403559619D+00-0.372529029846D-08
+    0.959272510510D+00 0.249437500000D+03-0.236677684752D+01-0.808033657845D-08
+    0.978612191697D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.406000000000D+03
+    0.388398000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05  1 20 12  0  0.0 0.443674158305D-03-0.143245415529D-10 0.000000000000D+00
+    0.181000000000D+03 0.331250000000D+01 0.518343019639D-08 0.211895796752D+01
+    0.279396772385D-07 0.798685534392D-02 0.639632344246D-05 0.515375366592D+04
+    0.388800000000D+06 0.335276126862D-07 0.791858728552D+00-0.175088644028D-06
+    0.943197726737D+00 0.244562500000D+03 0.127871417293D+01-0.809569436102D-08
+    0.162863926793D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.838190317154D-08 0.181000000000D+03
+    0.381600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20 13 59 44.0 0.782082788646D-04 0.295585778076D-11 0.000000000000D+00
+    0.690000000000D+02 0.643750000000D+01 0.548308553538D-08 0.983536449292D+00
+    0.540167093277D-06 0.661684502848D-02 0.791810452938D-05 0.515371598434D+04
+    0.395984000000D+06-0.633299350739D-07 0.179170047947D+01 0.782310962677D-07
+    0.926927036289D+00 0.207593750000D+03 0.600812433975D+00-0.841392190219D-08
+   -0.513592821774D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.325000000000D+03
+    0.390648000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20 13 59 44.0-0.249375589192D-04-0.181898940355D-11 0.000000000000D+00
+    0.220000000000D+03-0.462500000000D+02 0.459126267309D-08-0.134681303877D+01
+   -0.219419598579D-05 0.163682651473D-01 0.924244523048D-05 0.515368799973D+04
+    0.395984000000D+06 0.312924385071D-06-0.257896818781D+00 0.340864062309D-06
+    0.954721209982D+00 0.195031250000D+03 0.111913550810D+01-0.788961434839D-08
+    0.391087718945D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.988000000000D+03
+    0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+13 05  1 20 13 59 44.0-0.137654133141D-04 0.909494701773D-12 0.000000000000D+00
+    0.215000000000D+03-0.895937500000D+02 0.375051336679D-08 0.240874082524D+01
+   -0.467896461487D-05 0.228890962899D-02 0.568293035030D-05 0.515378754425D+04
+    0.395984000000D+06 0.000000000000D+00-0.125599614210D+01-0.298023223877D-07
+    0.986413739977D+00 0.282968750000D+03 0.874297488994D+00-0.775925177541D-08
+   -0.150006248362D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.116415321827D-07 0.471000000000D+03
+    0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+14 05  1 20 13 59 44.0-0.314889475703D-04-0.113686837722D-12 0.000000000000D+00
+    0.168000000000D+03-0.106281250000D+03 0.391123434718D-08 0.110178752185D+01
+   -0.546500086784D-05 0.182410073467D-02 0.552460551262D-05 0.515368715286D+04
+    0.395984000000D+06-0.316649675369D-07-0.126650619763D+01-0.186264514923D-07
+    0.980772523055D+00 0.280812500000D+03-0.177993063643D+01-0.788818571745D-08
+   -0.428589281035D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.168000000000D+03
+    0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+15 05  1 20 13 59 44.0 0.378153752536D-03 0.522959453519D-11 0.000000000000D+00
+    0.490000000000D+02 0.105718750000D+03 0.428875007223D-08-0.107018905164D+01
+    0.535510480404D-05 0.881322985515D-02 0.775419175625D-05 0.515358992386D+04
+    0.395984000000D+06-0.113621354103D-06 0.299515602994D+01-0.596046447754D-07
+    0.963650089517D+00 0.233500000000D+03 0.234257479017D+01-0.802140555231D-08
+    0.342871424828D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.279396772385D-08 0.490000000000D+02
+    0.389898000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05  1 20 13 59 44.0 0.198278576136D-05-0.113686837722D-12 0.000000000000D+00
+    0.680000000000D+02 0.412500000000D+01 0.487556022951D-08-0.221814466617D+01
+    0.325962901115D-06 0.245908729266D-02 0.641494989395D-05 0.515367898560D+04
+    0.395984000000D+06-0.167638063431D-07 0.827066944738D+00 0.391155481339D-07
+    0.961289905263D+00 0.255718750000D+03-0.121111834609D+01-0.796961768085D-08
+    0.192150860998D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.324000000000D+03
+    0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05  1 20 13 59 44.0-0.119148753583D-04-0.795807864051D-12 0.000000000000D+00
+    0.130000000000D+02 0.143750000000D+02 0.462233539597D-08 0.284459011520D+01
+    0.860542058945D-06 0.308401859365D-02 0.835955142975D-05 0.515364209366D+04
+    0.395984000000D+06 0.298023223877D-07 0.192772423217D+01-0.335276126862D-07
+    0.959195950156D+00 0.213218750000D+03-0.177748762322D+01-0.786782772661D-08
+   -0.462876423518D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.130000000000D+02
+    0.394338000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+22 05  1 20 13 59 44.0 0.162729993463D-04 0.227373675443D-12 0.000000000000D+00
+    0.215000000000D+03 0.251250000000D+02 0.454768942952D-08 0.190084391561D+01
+    0.122934579849D-05 0.506106496323D-02 0.154972076416D-05 0.515368416023D+04
+    0.395984000000D+06 0.800937414169D-07-0.226230550652D+01-0.353902578354D-07
+    0.960009989458D+00 0.348687500000D+03-0.147687981393D+01-0.828141638281D-08
+    0.546451333320D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.181607902050D-07 0.215000000000D+03
+    0.391740000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20 14  0  0.0 0.383913982660D-03 0.193267624127D-11 0.000000000000D+00
+    0.212000000000D+03-0.942812500000D+02 0.397802284348D-08 0.299191978158D+00
+   -0.496208667755D-05 0.603161368053D-02 0.553578138351D-05 0.515362855339D+04
+    0.396000000000D+06-0.113621354103D-06-0.123973448956D+01-0.335276126862D-07
+    0.982225595696D+00 0.285000000000D+03-0.165784610993D+01-0.792890169915D-08
+   -0.528593446610D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.372529029846D-08 0.724000000000D+03
+    0.388800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20 14  0  0.0-0.423821620643D-04 0.568434188608D-11 0.000000000000D+00
+    0.430000000000D+02 0.985000000000D+02 0.442125559161D-08 0.195584790768D+01
+    0.494159758091D-05 0.949848804157D-02 0.724941492081D-05 0.515366185570D+04
+    0.396000000000D+06 0.221654772758D-06 0.292108023819D+01-0.689178705215D-07
+    0.956873263418D+00 0.235500000000D+03 0.175006445140D+01-0.788532845558D-08
+   -0.161078138122D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.430000000000D+02
+    0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20 14  0  0.0 0.782115384936D-04 0.295585778076D-11 0.000000000000D+00
+    0.450000000000D+02 0.643750000000D+01 0.548308553538D-08 0.985869467158D+00
+    0.540167093277D-06 0.661683641374D-02 0.791810452938D-05 0.515371597290D+04
+    0.396000000000D+06-0.633299350739D-07 0.179170034049D+01 0.782310962677D-07
+    0.926927027511D+00 0.207593750000D+03 0.600813229803D+00-0.841392190219D-08
+   -0.513592821774D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.419095158577D-08 0.557000000000D+03
+    0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20 14  0  0.0 0.440663658082D-03-0.206910044653D-10 0.000000000000D+00
+    0.230000000000D+03 0.910000000000D+02 0.446768609706D-08-0.200784128896D+01
+    0.465847551823D-05 0.704777124338D-02 0.745616853237D-05 0.515354521179D+04
+    0.396000000000D+06-0.223517417908D-07 0.294114446247D+01-0.707805156708D-07
+    0.956562767833D+00 0.236875000000D+03-0.355958689965D-03-0.798390399022D-08
+   -0.385730352932D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.230000000000D+03
+    0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20 14  0  0.0 0.732685439289D-04 0.250111042988D-11 0.000000000000D+00
+    0.176000000000D+03 0.353125000000D+01 0.540093925651D-08-0.227407138797D+01
+    0.201165676117D-06 0.591798173264D-02 0.646524131298D-05 0.515361680222D+04
+    0.396000000000D+06 0.968575477600D-07 0.748791314141D+00-0.335276126862D-07
+    0.936421212239D+00 0.241968750000D+03 0.937387522296D+00-0.822569977627D-08
+    0.270011247052D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.432000000000D+03
+    0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20 14  0  0.0-0.159997958690D-03 0.878799255588D-10 0.000000000000D+00
+    0.191000000000D+03 0.188125000000D+02 0.518485882733D-08-0.104903467104D+01
+    0.979751348496D-06 0.622912473045D-02 0.827014446259D-05 0.515362785721D+04
+    0.396000000000D+06-0.465661287308D-07 0.184655770136D+01 0.126659870148D-06
+    0.934441512497D+00 0.204312500000D+03-0.194736892958D+01-0.824641492485D-08
+   -0.493234830925D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.465661287308D-08 0.447000000000D+03
+    0.388800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20 14  0  0.0 0.617960467935D-04-0.302406988340D-10 0.000000000000D+00
+    0.123000000000D+03 0.103750000000D+02 0.523093217504D-08 0.116270026784D+01
+    0.450760126114D-06 0.129262342816D-01 0.818260014057D-05 0.515365754509D+04
+    0.396000000000D+06-0.260770320892D-06 0.181913518347D+01-0.707805156708D-07
+    0.936045258385D+00 0.213312500000D+03-0.181185259880D+01-0.840034990829D-08
+   -0.431446542909D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.186264514923D-08 0.379000000000D+03
+    0.395610000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20 14  0  0.0-0.191014260054D-04-0.113686837722D-11 0.000000000000D+00
+    0.114000000000D+03-0.412812500000D+02 0.427267797419D-08-0.846383751006D+00
+   -0.243633985519D-05 0.924149877392D-02 0.925920903683D-05 0.515376801872D+04
+    0.396000000000D+06-0.135973095894D-06-0.185634256938D+00-0.100582838059D-06
+    0.967609664552D+00 0.205968750000D+03 0.250885888192D+01-0.783425489959D-08
+    0.508592613495D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.372529029846D-08 0.882000000000D+03
+    0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20 14  0  0.0-0.249394215643D-04-0.181898940355D-11 0.000000000000D+00
+    0.197000000000D+03-0.462500000000D+02 0.459126267309D-08-0.134447957618D+01
+   -0.219419598579D-05 0.163682660786D-01 0.924244523048D-05 0.515368799210D+04
+    0.396000000000D+06 0.312924385071D-06-0.257896937277D+00 0.340864062309D-06
+    0.954721230463D+00 0.195031250000D+03 0.111913581531D+01-0.788961434839D-08
+    0.391087718945D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.197000000000D+03
+    0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05  1 20 14  0  0.0 0.575552694500D-04 0.682121026330D-12 0.000000000000D+00
+    0.123000000000D+03 0.237812500000D+02 0.418588864478D-08 0.227558324798D+01
+    0.122189521790D-05 0.635776645504D-02 0.232085585594D-05 0.515358718491D+04
+    0.396000000000D+06-0.137835741043D-06-0.230062746630D+01-0.372529029846D-08
+    0.978784756782D+00 0.347031250000D+03 0.291745619805D+00-0.812533845296D-08
+    0.171435712414D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.123000000000D+03
+    0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05  1 20 14  0  0.0 0.186683610082D-03 0.363797880709D-11 0.000000000000D+00
+    0.260000000000D+02 0.793750000000D+02 0.564059209616D-08-0.400027954564D+00
+    0.405311584473D-05 0.393550563604D-02 0.767223536968D-05 0.515368034744D+04
+    0.396000000000D+06 0.763684511185D-07 0.280191518708D+01 0.149011611939D-07
+    0.903677421998D+00 0.201281250000D+03 0.180937445799D+00-0.856535678149D-08
+   -0.228938107620D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.282000000000D+03
+    0.394638000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+14 05  1 20 14  0  0.0-0.314917415380D-04-0.113686837722D-12 0.000000000000D+00
+    0.142000000000D+03-0.106281250000D+03 0.391123434718D-08 0.110412503526D+01
+   -0.546500086784D-05 0.182410469279D-02 0.552460551262D-05 0.515368715477D+04
+    0.396000000000D+06-0.316649675369D-07-0.126650634099D+01-0.186264514923D-07
+    0.980772515741D+00 0.280812500000D+03-0.177993432737D+01-0.788818571745D-08
+   -0.428589281035D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.654000000000D+03
+    0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05  1 20 14  0  0.0-0.921171158552D-04 0.192130755750D-10 0.000000000000D+00
+    0.500000000000D+01 0.100343750000D+03 0.439446876155D-08-0.345630921350D+00
+    0.528059899807D-05 0.175207402790D-01 0.649876892567D-05 0.515372461891D+04
+    0.396000000000D+06 0.223517417908D-06 0.303721040284D+01 0.178813934326D-06
+    0.965561457819D+00 0.259781250000D+03-0.269763258007D+01-0.827320175492D-08
+   -0.946467995620D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.500000000000D+01
+    0.388800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+18 05  1 20 14  0  0.0-0.119131058455D-03-0.375166564481D-11 0.000000000000D+00
+    0.660000000000D+02 0.229062500000D+02 0.445554273410D-08-0.255412266740D+01
+    0.120699405670D-05 0.553545309231D-02 0.175088644028D-05 0.515371834755D+04
+    0.396000000000D+06-0.577419996262D-07-0.227156414388D+01-0.465661287308D-07
+    0.962594579494D+00 0.347281250000D+03-0.280335767551D+01-0.823820029697D-08
+    0.957182727646D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.102445483208D-07 0.660000000000D+02
+    0.388800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05  1 20 14  0  0.0-0.119139440358D-04-0.795807864051D-12 0.000000000000D+00
+    0.229000000000D+03 0.143750000000D+02 0.462233539597D-08 0.284692447456D+01
+    0.860542058945D-06 0.308401661459D-02 0.835955142975D-05 0.515364209747D+04
+    0.396000000000D+06 0.298023223877D-07 0.192772409758D+01-0.335276126862D-07
+    0.959195960396D+00 0.213218750000D+03-0.177748821716D+01-0.786782772661D-08
+   -0.462876423518D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.139698386192D-07 0.741000000000D+03
+    0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+20 05  1 20 14  0  0.0-0.907359644771D-04 0.272848410532D-11 0.000000000000D+00
+    0.127000000000D+03 0.285625000000D+02 0.444054210926D-08-0.283188815343D+01
+    0.156462192535D-05 0.226875091903D-02 0.242330133915D-05 0.515379659843D+04
+    0.396000000000D+06 0.931322574616D-08-0.232405413172D+01-0.111758708954D-07
+    0.962461086756D+00 0.334156250000D+03 0.141703597975D+01-0.818248369043D-08
+    0.428589281035D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.127000000000D+03
+    0.389280000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05  1 20 14  0  0.0 0.880649313331D-04 0.113686837722D-11 0.000000000000D+00
+    0.100000000000D+01 0.107156250000D+03 0.451983112625D-08-0.114271154476D+01
+    0.539980828762D-05 0.933606165927D-02 0.751204788685D-05 0.515365490723D+04
+    0.396000000000D+06-0.558793544769D-08 0.296440155813D+01-0.225380063057D-06
+    0.950172810420D+00 0.230343750000D+03 0.311210772257D+01-0.802604860285D-08
+   -0.642883921553D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.100000000000D+01
+    0.388800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05  1 20 14  0  0.0 0.211512204260D-03 0.568434188608D-12 0.000000000000D+00
+    0.208000000000D+03-0.866562500000D+02 0.429053586090D-08 0.149531969297D+01
+   -0.454857945442D-05 0.364322878886D-02 0.516884028912D-05 0.515372699737D+04
+    0.396000000000D+06 0.912696123123D-07-0.127150785895D+01 0.149011611939D-07
+    0.962922072724D+00 0.279937500000D+03 0.223710673236D+01-0.802211986778D-08
+   -0.246438836595D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.214204192162D-07 0.464000000000D+03
+    0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05  1 20 14  0  0.0 0.895960256457D-04 0.284217094304D-11 0.000000000000D+00
+    0.137000000000D+03 0.878437500000D+02 0.429625038464D-08-0.631312590646D+00
+    0.457279384136D-05 0.907453917898D-02 0.739656388760D-05 0.515219688225D+04
+    0.396000000000D+06-0.132247805595D-06 0.297013747266D+01 0.670552253723D-07
+    0.966853653358D+00 0.245875000000D+03-0.126133024132D+01-0.804890669784D-08
+   -0.275011455331D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.137000000000D+03
+    0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+25 05  1 20 14  0  0.0 0.843531452119D-04 0.909494701773D-12 0.000000000000D+00
+    0.430000000000D+02-0.530312500000D+02 0.477377027527D-08-0.538009058008D+00
+   -0.286102294922D-05 0.118055659114D-01 0.937841832638D-05 0.515361398315D+04
+    0.396000000000D+06-0.149011611939D-06-0.309234643058D+00 0.633299350739D-07
+    0.947893901506D+00 0.197062500000D+03-0.151557598377D+01-0.818462663684D-08
+    0.412874340731D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.745058059692D-08 0.299000000000D+03
+    0.388800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05  1 20 14  0  0.0 0.317260157317D-03 0.557065504836D-11 0.000000000000D+00
+    0.104000000000D+03-0.961250000000D+02 0.387587573150D-08 0.479073109329D+00
+   -0.494159758091D-05 0.158512066118D-01 0.601261854172D-05 0.515375172996D+04
+    0.396000000000D+06-0.670552253723D-07-0.125390260685D+01 0.277534127235D-06
+    0.984698000396D+00 0.276593750000D+03 0.651682298555D+00-0.801426239763D-08
+   -0.141434462742D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.651925802231D-08 0.104000000000D+03
+    0.389130000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+27 05  1 20 14  0  0.0 0.513758044690D-03 0.625277607469D-11 0.000000000000D+00
+    0.170000000000D+02-0.489062500000D+02 0.445661420730D-08-0.214996087500D+01
+   -0.272691249847D-05 0.188527235296D-01 0.870786607266D-05 0.515366204071D+04
+    0.396000000000D+06 0.206753611565D-06-0.279721514290D+00-0.838190317154D-07
+    0.952429509312D+00 0.199531250000D+03-0.208877943046D+01-0.762067457454D-08
+    0.545022702383D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.273000000000D+03
+    0.388818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05  1 20 14  0  0.0 0.464855693281D-04 0.113686837722D-12 0.000000000000D+00
+    0.151000000000D+03-0.312500000000D-01 0.477555606394D-08 0.284526837230D+01
+   -0.428408384323D-07 0.957464450039D-02 0.676326453686D-05 0.515363545036D+04
+    0.396000000000D+06-0.391155481339D-07 0.837346181047D+00-0.137835741043D-06
+    0.959274443025D+00 0.249250000000D+03-0.236677597708D+01-0.784282668521D-08
+    0.131076888450D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.407000000000D+03
+    0.390888000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+29 05  1 20 14  0  0.0 0.177934765816D-03-0.189857018995D-10 0.000000000000D+00
+    0.400000000000D+01-0.104750000000D+03 0.387516141603D-08 0.256695285541D+01
+   -0.539608299732D-05 0.877830537502D-02 0.570155680180D-05 0.515360155868D+04
+    0.396000000000D+06 0.141561031342D-06-0.128712098674D+01-0.186264514923D-08
+    0.981573195675D+00 0.277812500000D+03-0.122354727907D+01-0.774567978151D-08
+   -0.118576367753D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.400000000000D+01
+    0.394398000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05  1 20 14  0  0.0 0.443570781499D-03-0.144382283906D-10 0.000000000000D+00
+    0.182000000000D+03 0.428125000000D+01 0.519843082122D-08-0.311409834153D+01
+    0.199303030968D-06 0.798673299141D-02 0.640936195850D-05 0.515375392151D+04
+    0.396000000000D+06 0.121071934700D-06 0.791800580484D+00-0.987201929092D-07
+    0.943198968754D+00 0.244500000000D+03 0.127872191030D+01-0.807712215884D-08
+    0.185364864048D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.182000000000D+03
+    0.395999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20 15 59 44.0 0.383925158530D-03 0.193267624127D-11 0.000000000000D+00
+    0.234000000000D+03-0.111437500000D+03 0.386944689228D-08 0.134676712948D+01
+   -0.577419996262D-05 0.603326479904D-02 0.559538602829D-05 0.515363314056D+04
+    0.403184000000D+06-0.782310962677D-07-0.123979154483D+01-0.119209289551D-06
+    0.982225285557D+00 0.283343750000D+03-0.165755205316D+01-0.789140013706D-08
+   -0.500020827875D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.234000000000D+03
+    0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20 15 59 44.0 0.782296992838D-04 0.295585778076D-11 0.000000000000D+00
+    0.700000000000D+02 0.975000000000D+01 0.548165690444D-08 0.203373726500D+01
+    0.514090061188D-06 0.661709241103D-02 0.813975930214D-05 0.515371552658D+04
+    0.403184000000D+06-0.204890966415D-06 0.179163952260D+01-0.279396772385D-07
+    0.926923883700D+00 0.204937500000D+03 0.600773852437D+00-0.831141763248D-08
+   -0.420731810883D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.326000000000D+03
+    0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20 15 59 44.0-0.249505974352D-04-0.181898940355D-11 0.000000000000D+00
+    0.221000000000D+03-0.428437500000D+02 0.463983612494D-08-0.296590465086D+00
+   -0.221654772759D-05 0.163689380279D-01 0.934302806854D-05 0.515369002342D+04
+    0.403184000000D+06-0.577419996262D-07-0.257955547627D+00 0.216066837311D-06
+    0.954722640716D+00 0.201875000000D+03 0.111908541924D+01-0.824320050525D-08
+    0.430375069706D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.558793544769D-08 0.477000000000D+03
+    0.399360000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05  1 20 15 59 44.0-0.314898788929D-04-0.113686837722D-12 0.000000000000D+00
+    0.169000000000D+03-0.111031250000D+03 0.386230373760D-08 0.215205546794D+01
+   -0.564754009247D-05 0.182447733823D-02 0.575557351112D-05 0.515368677902D+04
+    0.403184000000D+06 0.316649675369D-07-0.126656283889D+01-0.298023223877D-07
+    0.980772501111D+00 0.277687500000D+03-0.178003080390D+01-0.782889753358D-08
+   -0.396445084958D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.107102096081D-07 0.169000000000D+03
+    0.399600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05  1 20 15 59 44.0-0.119213946164D-04-0.795807864051D-12 0.000000000000D+00
+    0.140000000000D+02 0.173125000000D+02 0.464447917549D-08-0.238843152122D+01
+    0.100769102573D-05 0.308360182680D-02 0.864639878273D-05 0.515364280319D+04
+    0.403184000000D+06 0.242143869400D-07 0.192766731003D+01 0.298023223877D-07
+    0.959192803419D+00 0.210281250000D+03-0.177745056312D+01-0.786568478020D-08
+   -0.411088552060D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.140000000000D+02
+    0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05  1 20 15 59 44.0 0.843587331474D-04 0.909494701773D-12 0.000000000000D+00
+    0.730000000000D+02-0.587812500000D+02 0.468126642211D-08 0.509846954566D+00
+   -0.314787030220D-05 0.118065573042D-01 0.944547355175D-05 0.515361589050D+04
+    0.403184000000D+06-0.141561031342D-06-0.309293057377D+00-0.502914190292D-07
+    0.947896581572D+00 0.190718750000D+03-0.151554731057D+01-0.818641242551D-08
+    0.335013954676D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.585000000000D+03
+    0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20 16  0  0.0 0.383927952498D-03 0.193267624127D-11 0.000000000000D+00
+    0.213000000000D+03-0.111437500000D+03 0.386944689228D-08 0.134910079395D+01
+   -0.577419996262D-05 0.603326223791D-02 0.559538602829D-05 0.515363314819D+04
+    0.403200000000D+06-0.782310962677D-07-0.123979163407D+01-0.119209289551D-06
+    0.982225292872D+00 0.283343750000D+03-0.165755204584D+01-0.789140013706D-08
+   -0.500020827875D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.213000000000D+03
+    0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20 16  0  0.0-0.423416495323D-04 0.557065504836D-11 0.000000000000D+00
+    0.440000000000D+02 0.950937500000D+02 0.444054210926D-08 0.300607008492D+01
+    0.491365790367D-05 0.949860853143D-02 0.734068453312D-05 0.515366131020D+04
+    0.403200000000D+06 0.184401869774D-06 0.292102380759D+01 0.596046447754D-07
+    0.956872065288D+00 0.234500000000D+03 0.175003011818D+01-0.784389815841D-08
+   -0.160006664920D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.440000000000D+02
+    0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20 16  0  0.0 0.440514646471D-03-0.206910044653D-10 0.000000000000D+00
+    0.225000000000D+03 0.855312500000D+02 0.442589864216D-08-0.957524621841D+00
+    0.443309545517D-05 0.704814190976D-02 0.741705298424D-05 0.515354602432D+04
+    0.403200000000D+06 0.484287738800D-07 0.294108711169D+01-0.104308128357D-06
+    0.956562409418D+00 0.234437500000D+03-0.413606439797D-03-0.800533345427D-08
+   -0.753602819154D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.605359673500D-08 0.481000000000D+03
+    0.399930000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20 16  0  0.0 0.732862390578D-04 0.250111042988D-11 0.000000000000D+00
+    0.177000000000D+03 0.209375000000D+01 0.541986861643D-08-0.122381559580D+01
+    0.230967998505D-06 0.591801328119D-02 0.647082924843D-05 0.515361716270D+04
+    0.403200000000D+06 0.124797224998D-06 0.748732254675D+00 0.894069671631D-07
+    0.936422770247D+00 0.242906250000D+03 0.937353585522D+00-0.830891752834D-08
+    0.225366530278D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.177000000000D+03
+    0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20 16  0  0.0-0.159365125001D-03 0.878799255588D-10 0.000000000000D+00
+    0.192000000000D+03 0.184375000000D+02 0.526736226392D-08 0.123405917495D-02
+    0.102818012238D-05 0.622904440388D-02 0.807270407677D-05 0.515362804413D+04
+    0.403200000000D+06-0.298023223877D-07 0.184649732527D+01-0.204890966415D-07
+    0.934437754260D+00 0.209375000000D+03-0.194742386070D+01-0.836892002768D-08
+   -0.428589281035D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.465661287308D-08 0.448000000000D+03
+    0.396000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20 16  0  0.0 0.615781173110D-04-0.302406988340D-10 0.000000000000D+00
+    0.124000000000D+03 0.659375000000D+01 0.509449792057D-08 0.221289783295D+01
+    0.201165676117D-06 0.129265162395D-01 0.783987343311D-05 0.515365742493D+04
+    0.403200000000D+06 0.128522515297D-06 0.181907588555D+01-0.199303030968D-06
+    0.936044123161D+00 0.211968750000D+03-0.181185493069D+01-0.799461872225D-08
+   -0.393587823084D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.380000000000D+03
+    0.397698000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20 16  0  0.0-0.191098079085D-04-0.113686837722D-11 0.000000000000D+00
+    0.115000000000D+03-0.449062500000D+02 0.424553398639D-08 0.203722013062D+00
+   -0.241585075855D-05 0.924190750811D-02 0.901147723198D-05 0.515376867104D+04
+    0.403200000000D+06 0.447034835815D-07-0.185690349605D+00-0.139698386192D-06
+    0.967612609406D+00 0.208906250000D+03 0.250887430693D+01-0.790390065776D-08
+    0.392516349882D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.372529029846D-08 0.883000000000D+03
+    0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05  1 20 16  0  0.0 0.575599260628D-04 0.682121026330D-12 0.000000000000D+00
+    0.124000000000D+03 0.255312500000D+02 0.415624455284D-08-0.295731547846D+01
+    0.130012631416D-05 0.635850778781D-02 0.258162617683D-05 0.515358565903D+04
+    0.403200000000D+06-0.372529029846D-07-0.230068561583D+01-0.633299350739D-07
+    0.978785444354D+00 0.341312500000D+03 0.291690924224D+00-0.801783397497D-08
+    0.317870383435D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.124000000000D+03
+    0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05  1 20 16  0  0.0 0.186710152775D-03 0.363797880709D-11 0.000000000000D+00
+    0.270000000000D+02 0.849687500000D+02 0.571952395542D-08 0.650036957517D+00
+    0.449083745480D-05 0.393536698539D-02 0.765360891819D-05 0.515368021011D+04
+    0.403200000000D+06 0.391155481339D-07 0.280185348998D+01 0.428408384323D-07
+    0.903675723550D+00 0.196500000000D+03 0.181058432050D+00-0.856964267430D-08
+   -0.239295681911D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.121071934700D-07 0.283000000000D+03
+    0.399018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05  1 20 16  0  0.0-0.137584283948D-04 0.909494701773D-12 0.000000000000D+00
+    0.216000000000D+03-0.960937500000D+02 0.377587156592D-08-0.282210227161D+01
+   -0.491552054882D-05 0.228971568868D-02 0.547245144844D-05 0.515378614616D+04
+    0.403200000000D+06-0.186264514923D-07-0.125605184856D+01 0.931322574616D-08
+    0.986413687312D+00 0.287312500000D+03 0.874394538979D+00-0.772496463293D-08
+   -0.378587198248D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.116415321827D-07 0.472000000000D+03
+    0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05  1 20 16  0  0.0 0.378191936761D-03 0.522959453519D-11 0.000000000000D+00
+    0.500000000000D+02 0.106687500000D+03 0.430946522081D-08-0.176393307718D-01
+    0.539794564247D-05 0.881299888715D-02 0.760890543461D-05 0.515358942795D+04
+    0.403200000000D+06 0.149011611939D-07 0.299509867624D+01-0.163912773132D-06
+    0.963649836432D+00 0.235218750000D+03 0.234258917065D+01-0.806676458455D-08
+   -0.896465912832D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.279396772385D-08 0.500000000000D+02
+    0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05  1 20 16  0  0.0 0.198138877749D-05-0.113686837722D-12 0.000000000000D+00
+    0.690000000000D+02 0.409375000000D+01 0.485163066132D-08-0.116574639390D+01
+    0.191852450371D-06 0.245919136796D-02 0.672787427902D-05 0.515367842484D+04
+    0.403200000000D+06-0.465661287308D-07 0.827009207750D+00 0.000000000000D+00
+    0.961291134114D+00 0.253406250000D+03-0.121100240691D+01-0.801354808216D-08
+    0.203222750758D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.977888703346D-08 0.325000000000D+03
+    0.396000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05  1 20 16  0  0.0-0.919788144529D-04 0.192130755750D-10 0.000000000000D+00
+    0.600000000000D+01 0.927500000000D+02 0.437125350883D-08 0.704515593765D+00
+    0.498816370964D-05 0.175193888135D-01 0.679306685925D-05 0.515372208595D+04
+    0.403200000000D+06-0.204890966415D-07 0.303715211579D+01 0.348314642906D-06
+    0.965560929706D+00 0.252562500000D+03-0.269762949185D+01-0.811069498586D-08
+   -0.243938732456D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.600000000000D+01
+    0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+18 05  1 20 16  0  0.0-0.119158066809D-03-0.375166564481D-11 0.000000000000D+00
+    0.670000000000D+02 0.191562500000D+02 0.448697261471D-08-0.150392576793D+01
+    0.104866921902D-05 0.553563900758D-02 0.195764005184D-05 0.515371859741D+04
+    0.403200000000D+06-0.111758708954D-07-0.227162321212D+01-0.137835741043D-06
+    0.962595154421D+00 0.345343750000D+03-0.280340119879D+01-0.825141513313D-08
+    0.364300888880D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.102445483208D-07 0.670000000000D+02
+    0.396000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05  1 20 16  0  0.0-0.907164067030D-04 0.272848410532D-11 0.000000000000D+00
+    0.128000000000D+03 0.366250000000D+02 0.455983279248D-08-0.178212915361D+01
+    0.181980431080D-05 0.226971216034D-02 0.222027301788D-05 0.515379428482D+04
+    0.403200000000D+06 0.856816768646D-07-0.232411283130D+01 0.707805156708D-07
+    0.962460944853D+00 0.338687500000D+03 0.141738327650D+01-0.825820113008D-08
+   -0.196436753808D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.128000000000D+03
+    0.396000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05  1 20 16  0  0.0 0.880723819137D-04 0.113686837722D-11 0.000000000000D+00
+    0.200000000000D+01 0.994375000000D+02 0.460662045566D-08-0.924626019757D-01
+    0.498816370964D-05 0.933722627815D-02 0.715628266335D-05 0.515365729141D+04
+    0.403200000000D+06 0.147148966789D-06 0.296434395865D+01-0.931322574616D-08
+    0.950171460147D+00 0.236312500000D+03 0.311205051515D+01-0.822819988041D-08
+   -0.148934775160D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.200000000000D+01
+    0.396000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05  1 20 16  0  0.0 0.162748619914D-04 0.227373675443D-12 0.000000000000D+00
+    0.216000000000D+03 0.235625000000D+02 0.455018953366D-08 0.295337552701D+01
+    0.125914812088D-05 0.506131316070D-02 0.153481960297D-05 0.515368367767D+04
+    0.403200000000D+06-0.558793544769D-08-0.226236459378D+01 0.186264514923D-07
+    0.960010340558D+00 0.350406250000D+03-0.147690320452D+01-0.821855662159D-08
+   -0.642883921553D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.181607902050D-07 0.472000000000D+03
+    0.396000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05  1 20 16  0  0.0 0.211516395211D-03 0.568434188608D-12 0.000000000000D+00
+    0.209000000000D+03-0.964687500000D+02 0.435375277985D-08 0.254588447099D+01
+   -0.490806996822D-05 0.364392448682D-02 0.490434467793D-05 0.515372385979D+04
+    0.403200000000D+06-0.558793544769D-08-0.127156500638D+01 0.242143869400D-07
+    0.962921764048D+00 0.286968750000D+03 0.223668963394D+01-0.797354641593D-08
+   -0.903609067516D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.214204192162D-07 0.465000000000D+03
+    0.396780000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+24 05  1 20 16  0  0.0 0.896169804037D-04 0.284217094304D-11 0.000000000000D+00
+    0.132000000000D+03 0.822187500000D+02 0.423303346569D-08 0.419772471265D+00
+    0.428594648838D-05 0.907595455647D-02 0.770762562752D-05 0.515219956970D+04
+    0.403200000000D+06-0.949949026108D-07 0.297008004581D+01-0.819563865662D-07
+    0.966852917511D+00 0.237312500000D+03-0.126133396298D+01-0.806212153401D-08
+   -0.143220251413D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.139698386192D-08 0.388000000000D+03
+    0.398760000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+25 05  1 20 16  0  0.0 0.843596644700D-04 0.909494701773D-12 0.000000000000D+00
+    0.440000000000D+02-0.587812500000D+02 0.468126642211D-08 0.512181120822D+00
+   -0.314787030220D-05 0.118065547431D-01 0.944547355175D-05 0.515361588287D+04
+    0.403200000000D+06-0.141561031342D-06-0.309293206595D+00-0.502914190292D-07
+    0.947896578646D+00 0.190718750000D+03-0.151554760754D+01-0.818641242551D-08
+    0.335013954676D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.440000000000D+02
+    0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05  1 20 16  0  0.0 0.317300204188D-03 0.557065504836D-11 0.000000000000D+00
+    0.105000000000D+03-0.919687500000D+02 0.392230623694D-08 0.152924180960D+01
+   -0.480003654957D-05 0.158510768088D-01 0.603683292866D-05 0.515375058174D+04
+    0.403200000000D+06-0.221654772759D-06-0.125395993423D+01 0.154599547386D-06
+    0.984696585754D+00 0.280156250000D+03 0.651642276042D+00-0.796783189218D-08
+   -0.197151069276D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.105000000000D+03
+    0.396258000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05  1 20 16  0  0.0 0.513803213835D-03 0.625277607469D-11 0.000000000000D+00
+    0.180000000000D+02-0.431562500000D+02 0.456626163170D-08-0.109980230544D+01
+   -0.191107392311D-05 0.188531096792D-01 0.880286097527D-05 0.515366091728D+04
+    0.403200000000D+06 0.216066837311D-06-0.279776149891D+00 0.393018126488D-06
+    0.952431200445D+00 0.203000000000D+03-0.208875017502D+01-0.802712007606D-08
+    0.352514683652D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.274000000000D+03
+    0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05  1 20 16  0  0.0 0.464865006506D-04 0.113686837722D-12 0.000000000000D+00
+    0.152000000000D+03-0.293750000000D+01 0.480377152494D-08-0.238773041773D+01
+   -0.298023223877D-06 0.957513810135D-02 0.654347240925D-05 0.515363446999D+04
+    0.403200000000D+06 0.147148966789D-06 0.837288745420D+00-0.104308128357D-06
+    0.959275521196D+00 0.251843750000D+03-0.236675563082D+01-0.792032991353D-08
+    0.256082095419D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.408000000000D+03
+    0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+29 05  1 20 16  0  0.0 0.177797861397D-03-0.189857018995D-10 0.000000000000D+00
+    0.500000000000D+01-0.906562500000D+02 0.390551982343D-08-0.266605154638D+01
+   -0.463053584099D-05 0.878040434327D-02 0.520795583725D-05 0.515359768486D+04
+    0.403200000000D+06 0.763684511185D-07-0.128717713207D+01 0.931322574616D-07
+    0.981572772892D+00 0.286375000000D+03-0.122350684548D+01-0.772317884426D-08
+   -0.314298806093D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.500000000000D+01
+    0.396018000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05  1 20 16  0  0.0 0.443466939032D-03-0.144382283906D-10 0.000000000000D+00
+    0.183000000000D+03 0.390625000000D+01 0.520914555325D-08-0.206395921854D+01
+    0.219792127609D-06 0.798677233979D-02 0.643543899059D-05 0.515375387955D+04
+    0.403200000000D+06 0.139698386192D-06 0.791742170554D+00 0.745058059692D-08
+    0.943200610148D+00 0.244968750000D+03 0.127871982125D+01-0.808533678673D-08
+    0.239295681911D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.183000000000D+03
+    0.403199000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20 17 59 44.0 0.383939128369D-03 0.193267624127D-11 0.000000000000D+00
+    0.235000000000D+03-0.114125000000D+03 0.381694470535D-08 0.239711999211D+01
+   -0.586546957493D-05 0.603353278711D-02 0.583939254284D-05 0.515363136291D+04
+    0.410384000000D+06 0.819563865662D-07-0.123984739758D+01-0.931322574616D-08
+    0.982225670305D+00 0.276875000000D+03-0.165770368023D+01-0.770424948434D-08
+   -0.814319633967D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.491000000000D+03
+    0.403950000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20 17 59 44.0 0.733006745577D-04 0.250111042988D-11 0.000000000000D+00
+    0.198000000000D+03 0.206250000000D+01 0.542415450924D-08-0.175909314438D+00
+    0.124797224999D-06 0.591808487661D-02 0.661984086037D-05 0.515361739540D+04
+    0.410384000000D+06 0.372529029846D-08 0.748672014634D+00 0.726431608200D-07
+    0.936423930341D+00 0.243875000000D+03 0.937335438023D+00-0.841713632180D-08
+    0.230723896291D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.198000000000D+03
+    0.409548000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05  1 20 17 59 44.0 0.186739023775D-03 0.375166564481D-11 0.000000000000D+00
+    0.510000000000D+02 0.979687500000D+02 0.567952228919D-08 0.169737022265D+01
+    0.519864261150D-05 0.393668573815D-02 0.844337046146D-05 0.515368473816D+04
+    0.410384000000D+06 0.149011611939D-07 0.280179181774D+01 0.987201929092D-07
+    0.903674048508D+00 0.183687500000D+03 0.181574900649D+00-0.856249951962D-08
+   -0.208580116771D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.510000000000D+02
+    0.404448000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+16 05  1 20 17 59 44.0 0.198092311621D-05-0.113686837722D-12 0.000000000000D+00
+    0.930000000000D+02 0.496875000000D+01 0.477377027526D-08-0.117817077428D+00
+    0.838190317154D-07 0.245955539867D-02 0.665336847305D-05 0.515367920494D+04
+    0.410384000000D+06-0.409781932831D-07 0.826951687274D+00-0.335276126862D-07
+    0.961292580940D+00 0.250531250000D+03-0.121108547432D+01-0.801640534403D-08
+    0.187507810453D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.349000000000D+03
+    0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05  1 20 17 59 44.0-0.906973145902D-04 0.272848410532D-11 0.000000000000D+00
+    0.148000000000D+03 0.388125000000D+02 0.463519307440D-08-0.733837769300D+00
+    0.195577740669D-05 0.227005640045D-02 0.165961682797D-05 0.515379660225D+04
+    0.410384000000D+06-0.540167093277D-07-0.232417282265D+01 0.316649675369D-07
+    0.962460214857D+00 0.347218750000D+03 0.141686545763D+01-0.839963559282D-08
+   -0.750031241812D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.404000000000D+03
+    0.407958000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05  1 20 17 59 44.0 0.843647867441D-04 0.909494701773D-12 0.000000000000D+00
+    0.740000000000D+02-0.642187500000D+02 0.452733143867D-08 0.156003724312D+01
+   -0.344216823578D-05 0.118070836179D-01 0.939145684242D-05 0.515361692238D+04
+    0.410384000000D+06 0.521540641785D-07-0.309351873999D+00-0.286847352982D-06
+    0.947900377844D+00 0.189312500000D+03-0.151552102047D+01-0.791175812791D-08
+    0.410017078857D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.745058059692D-08 0.740000000000D+02
+    0.408900000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+30 05  1 20 17 59 44.0 0.443365424871D-03-0.143245415529D-10 0.000000000000D+00
+    0.205000000000D+03 0.187500000000D+01 0.526379068658D-08-0.101609828764D+01
+    0.258907675743D-06 0.798674952239D-02 0.653974711895D-05 0.515375473022D+04
+    0.410384000000D+06-0.391155481339D-07 0.791683683089D+00 0.167638063431D-06
+    0.943201119244D+00 0.247531250000D+03 0.127866177998D+01-0.831820362943D-08
+    0.192865176466D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.205000000000D+03
+    0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+31 05  1 20 17 59 44.0-0.109896063805D-06-0.500222085975D-11 0.000000000000D+00
+    0.870000000000D+02 0.668750000000D+01 0.527771983822D-08 0.642575668622D+00
+    0.555068254471D-06 0.123765529133D-01 0.827945768833D-05 0.515360306740D+04
+    0.410384000000D+06-0.216066837311D-06 0.181786728408D+01 0.409781932831D-07
+    0.935508346969D+00 0.209906250000D+03 0.106436904564D+01-0.839463538455D-08
+   -0.511449875369D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.256000000000D+03 0.630000000000D+02-0.605359673500D-08 0.870000000000D+02
+    0.408918000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20 18  0  0.0-0.423011370003D-04 0.557065504836D-11 0.000000000000D+00
+    0.390000000000D+02 0.934062500000D+02 0.436589614281D-08-0.222692960188D+01
+    0.499375164509D-05 0.949812796898D-02 0.751949846745D-05 0.515366211700D+04
+    0.410400000000D+06 0.689178705216D-07 0.292096707855D+01 0.128522515297D-06
+    0.956871415752D+00 0.230437500000D+03 0.175003190440D+01-0.780711091179D-08
+   -0.778603860548D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.172294676304D-07 0.295000000000D+03
+    0.408660000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20 18  0  0.0 0.782511197031D-04 0.295585778076D-11 0.000000000000D+00
+    0.710000000000D+02 0.138125000000D+02 0.538129558113D-08 0.308623632355D+01
+    0.648200511932D-06 0.661665294319D-02 0.803358852863D-05 0.515371618462D+04
+    0.410400000000D+06-0.596046447754D-07 0.179158007400D+01-0.121071934700D-06
+    0.926921559124D+00 0.207375000000D+03 0.600770562334D+00-0.817141180067D-08
+   -0.399302346831D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.419095158577D-08 0.327000000000D+03
+    0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20 18  0  0.0 0.440365634859D-03-0.206910044653D-10 0.000000000000D+00
+    0.226000000000D+03 0.889062500000D+02 0.451018786743D-08 0.927043667433D-01
+    0.461749732494D-05 0.704696739558D-02 0.777281820774D-05 0.515354382324D+04
+    0.410400000000D+06 0.912696123123D-07 0.294102942883D+01-0.745058059692D-08
+    0.956561424874D+00 0.225718750000D+03-0.383898962361D-03-0.807176479283D-08
+   -0.117504894551D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.482000000000D+03
+    0.407508000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20 18  0  0.0 0.733039341867D-04 0.250111042988D-11 0.000000000000D+00
+    0.172000000000D+03 0.206250000000D+01 0.542415450924D-08-0.173576255611D+00
+    0.124797224998D-06 0.591808604077D-02 0.661984086037D-05 0.515361739540D+04
+    0.410400000000D+06 0.372529029846D-08 0.748671871269D+00 0.726431608200D-07
+    0.936423940582D+00 0.243875000000D+03 0.937336204592D+00-0.841713632180D-08
+    0.230723896291D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.428000000000D+03
+    0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20 18  0  0.0-0.158732756972D-03 0.878799255588D-10 0.000000000000D+00
+    0.193000000000D+03 0.152187500000D+02 0.533807949529D-08 0.105145628469D+01
+    0.813975930214D-06 0.622832670342D-02 0.802800059319D-05 0.515362682152D+04
+    0.410400000000D+06-0.838190317154D-07 0.184643677802D+01 0.279396772385D-07
+    0.934434894256D+00 0.215156250000D+03-0.194743059743D+01-0.834963351004D-08
+   -0.368586781690D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.193000000000D+03
+    0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20 18  0  0.0 0.613597221673D-04-0.303543856717D-10 0.000000000000D+00
+    0.125000000000D+03 0.462500000000D+01 0.512628495892D-08-0.302007472697D+01
+    0.290572643280D-06 0.129266199656D-01 0.793859362602D-05 0.515365708542D+04
+    0.410400000000D+06 0.176951289177D-06 0.181901856403D+01-0.726431608200D-07
+    0.936041328987D+00 0.209968750000D+03-0.181187227943D+01-0.796390315710D-08
+   -0.374658463172D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.381000000000D+03
+    0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20 18  0  0.0-0.191177241504D-04-0.113686837722D-11 0.000000000000D+00
+    0.116000000000D+03-0.495625000000D+02 0.415231581776D-08 0.125388330219D+01
+   -0.255368649960D-05 0.924193346873D-02 0.894442200661D-05 0.515376823425D+04
+    0.410400000000D+06 0.230967998505D-06-0.185746236002D+00 0.502914190292D-07
+    0.967616339847D+00 0.208125000000D+03 0.250883315065D+01-0.766817655319D-08
+    0.343942898031D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.400000000000D+01 0.000000000000D+00-0.372529029846D-08 0.884000000000D+03
+    0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20 18  0  0.0-0.249631702900D-04-0.181898940355D-11 0.000000000000D+00
+    0.222000000000D+03-0.445937500000D+02 0.456947605131D-08 0.755904655286D+00
+   -0.238046050072D-05 0.163690074114D-01 0.931695103645D-05 0.515369024468D+04
+    0.410400000000D+06-0.236555933952D-06-0.258013651807D+00 0.223517417908D-07
+    0.954725107196D+00 0.200437500000D+03 0.111909499404D+01-0.817891211309D-08
+    0.218937691062D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.478000000000D+03
+    0.404178000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05  1 20 18  0  0.0 0.575650483370D-04 0.682121026330D-12 0.000000000000D+00
+    0.125000000000D+03 0.285312500000D+02 0.415374444870D-08-0.190704805609D+01
+    0.142119824886D-05 0.635817169677D-02 0.255927443504D-05 0.515358640862D+04
+    0.410400000000D+06 0.372529029846D-07-0.230074376975D+01-0.800937414169D-07
+    0.978785728160D+00 0.340750000000D+03 0.291655509903D+00-0.805533553706D-08
+    0.782175437889D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.125000000000D+03
+    0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+11 05  1 20 18  0  0.0 0.186736695468D-03 0.363797880709D-11 0.000000000000D+00
+    0.280000000000D+02 0.979687500000D+02 0.567952228919D-08 0.169970401294D+01
+    0.519864261150D-05 0.393669074401D-02 0.844337046146D-05 0.515368472481D+04
+    0.410400000000D+06 0.149011611939D-07 0.280179166998D+01 0.987201929092D-07
+    0.903674042657D+00 0.183687500000D+03 0.181574924056D+00-0.856249951962D-08
+   -0.208580116771D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.121071934700D-07 0.284000000000D+03
+    0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05  1 20 18  0  0.0-0.137514434755D-04 0.909494701773D-12 0.000000000000D+00
+    0.217000000000D+03-0.103000000000D+03 0.380801576200D-08-0.177178898091D+01
+   -0.528804957867D-05 0.228989392053D-02 0.555627048016D-05 0.515378658867D+04
+    0.410400000000D+06 0.558793544769D-07-0.125610708103D+01-0.689178705216D-07
+    0.986413102145D+00 0.287656250000D+03 0.874188365546D+00-0.774996567432D-08
+   -0.121790787361D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.116415321827D-07 0.217000000000D+03
+    0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05  1 20 18  0  0.0-0.314903445542D-04-0.113686837722D-12 0.000000000000D+00
+    0.170000000000D+03-0.105843750000D+03 0.382587364871D-08-0.307875584994D+01
+   -0.535324215889D-05 0.182371155825D-02 0.596046447754D-05 0.515368825150D+04
+    0.410400000000D+06-0.260770320892D-07-0.126661889645D+01 0.000000000000D+00
+    0.980772205602D+00 0.274437500000D+03-0.177990349930D+01-0.778675292094D-08
+   -0.825034365993D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.107102096081D-07 0.170000000000D+03
+    0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+15 05  1 20 18  0  0.0 0.378230120987D-03 0.522959453519D-11 0.000000000000D+00
+    0.510000000000D+02 0.101906250000D+03 0.429017870316D-08 0.103254177650D+01
+    0.505894422531D-05 0.881391554140D-02 0.708922743797D-05 0.515359135628D+04
+    0.410400000000D+06 0.154599547386D-06 0.299504075053D+01-0.147148966789D-06
+    0.963649568718D+00 0.240687500000D+03 0.234263828667D+01-0.797461788913D-08
+   -0.957182727646D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.279396772385D-08 0.510000000000D+02
+    0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+16 05  1 20 18  0  0.0 0.198045745492D-05-0.113686837722D-12 0.000000000000D+00
+    0.700000000000D+02 0.496875000000D+01 0.477377027526D-08-0.115483800627D+00
+    0.838190317154D-07 0.245955667924D-02 0.665336847305D-05 0.515367921257D+04
+    0.410400000000D+06-0.409781932831D-07 0.826951557075D+00-0.335276126862D-07
+    0.961292576551D+00 0.250531250000D+03-0.121108507641D+01-0.801640534403D-08
+    0.187507810453D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.700000000000D+02
+    0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05  1 20 18  0  0.0-0.918405130506D-04 0.192130755750D-10 0.000000000000D+00
+    0.100000000000D+01 0.909375000000D+02 0.426660629271D-08 0.175453031166D+01
+    0.481866300106D-05 0.175203778781D-01 0.778399407864D-05 0.515372690964D+04
+    0.410400000000D+06-0.309199094772D-06 0.303709363711D+01 0.292435288429D-06
+    0.965559099595D+00 0.234468750000D+03-0.269749586745D+01-0.802104839458D-08
+   -0.196793911542D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.257000000000D+03
+    0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+18 05  1 20 18  0  0.0-0.119185075164D-03-0.375166564481D-11 0.000000000000D+00
+    0.680000000000D+02 0.214062500000D+02 0.461662087222D-08-0.453817793390D+00
+    0.102631747723D-05 0.553513818886D-02 0.214576721191D-05 0.515371767044D+04
+    0.410400000000D+06 0.894069671631D-07-0.227168249834D+01 0.167638063431D-07
+    0.962594523903D+00 0.340468750000D+03-0.280335592586D+01-0.838927801853D-08
+   -0.592881838766D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.102445483208D-07 0.680000000000D+02
+    0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05  1 20 18  0  0.0-0.119274482131D-04-0.795807864051D-12 0.000000000000D+00
+    0.150000000000D+02 0.248750000000D+02 0.467055169008D-08-0.133615802563D+01
+    0.140815973282D-05 0.308410264552D-02 0.875815749168D-05 0.515364107513D+04
+    0.410400000000D+06-0.167638063431D-07 0.192761054735D+01 0.484287738800D-07
+    0.959189744457D+00 0.209843750000D+03-0.177718864226D+01-0.789068582159D-08
+   -0.411802867528D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.527000000000D+03
+    0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+20 05  1 20 18  0  0.0-0.906968489289D-04 0.272848410532D-11 0.000000000000D+00
+    0.123000000000D+03 0.388125000000D+02 0.463519307440D-08-0.731501114621D+00
+    0.195577740669D-05 0.227005337365D-02 0.165961682797D-05 0.515379660988D+04
+    0.410400000000D+06-0.540167093277D-07-0.232417294992D+01 0.316649675369D-07
+    0.962460203154D+00 0.347218750000D+03 0.141686233430D+01-0.839963559282D-08
+   -0.750031241812D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.635000000000D+03
+    0.405228000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+21 05  1 20 18  0  0.0 0.880802981556D-04 0.113686837722D-11 0.000000000000D+00
+    0.300000000000D+01 0.939062500000D+02 0.465269380337D-08 0.957778623918D+00
+    0.495463609695D-05 0.933669775259D-02 0.699982047081D-05 0.515365601349D+04
+    0.410400000000D+06 0.108033418655D-06 0.296428532782D+01 0.128522515297D-06
+    0.950170605803D+00 0.235093750000D+03 0.311200100123D+01-0.813176729218D-08
+   -0.204294223960D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.300000000000D+01
+    0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05  1 20 18  0  0.0 0.162767246366D-04 0.227373675443D-12 0.000000000000D+00
+    0.217000000000D+03 0.187812500000D+02 0.455411826873D-08-0.227958417532D+01
+    0.976026058197D-06 0.506033201236D-02 0.188313424587D-05 0.515368556786D+04
+    0.410400000000D+06 0.521540641785D-07-0.226242359619D+01 0.167638063431D-07
+    0.960010080159D+00 0.344718750000D+03-0.147695458367D+01-0.824641492485D-08
+   -0.478591363823D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.181607902050D-07 0.473000000000D+03
+    0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05  1 20 18  0  0.0 0.211520120502D-03 0.568434188608D-12 0.000000000000D+00
+    0.210000000000D+03-0.110656250000D+03 0.432232289924D-08-0.268716802715D+01
+   -0.567361712456D-05 0.364187546074D-02 0.513345003128D-05 0.515372769928D+04
+    0.410400000000D+06 0.372529029846D-07-0.127162230010D+01 0.502914190292D-07
+    0.962920912630D+00 0.282750000000D+03 0.223670457033D+01-0.800497629654D-08
+   -0.121433629627D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.214204192162D-07 0.466000000000D+03
+    0.403200000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+24 05  1 20 18  0  0.0 0.896379351616D-04 0.284217094304D-11 0.000000000000D+00
+    0.133000000000D+03 0.874062500000D+02 0.425553440295D-08 0.147099604811D+01
+    0.436604022980D-05 0.907514628489D-02 0.782497227192D-05 0.515219669151D+04
+    0.410400000000D+06 0.126659870148D-06 0.297002234686D+01-0.191852450371D-06
+    0.966852973101D+00 0.227593750000D+03-0.126147598453D+01-0.783889795014D-08
+   -0.111076055335D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.139698386192D-08 0.389000000000D+03
+    0.406818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05  1 20 18  0  0.0 0.317340251058D-03 0.557065504836D-11 0.000000000000D+00
+    0.106000000000D+03-0.953750000000D+02 0.373551274196D-08 0.257931996694D+01
+   -0.508874654770D-05 0.158504227875D-01 0.554695725441D-05 0.515375245666D+04
+    0.410400000000D+06-0.912696123123D-07-0.125401703777D+01-0.221654772759D-06
+    0.984697229438D+00 0.287468750000D+03 0.651693271904D+00-0.761353141986D-08
+   -0.639312344211D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.106000000000D+03
+    0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05  1 20 18  0  0.0 0.513848382980D-03 0.625277607469D-11 0.000000000000D+00
+    0.190000000000D+02-0.505000000000D+02 0.461304929488D-08-0.496263417878D-01
+   -0.250153243542D-05 0.188522215467D-01 0.914931297302D-05 0.515365920448D+04
+    0.410400000000D+06-0.115483999252D-06-0.279835254707D+00 0.311061739922D-06
+    0.952432985205D+00 0.202625000000D+03-0.208873650113D+01-0.822319967213D-08
+    0.350014579512D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.275000000000D+03
+    0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05  1 20 18  0  0.0 0.464878976345D-04 0.113686837722D-12 0.000000000000D+00
+    0.153000000000D+03 0.325000000000D+01 0.480412868267D-08-0.133763494090D+01
+    0.225380063057D-06 0.957551004831D-02 0.613555312157D-05 0.515363232803D+04
+    0.410400000000D+06 0.208616256714D-06 0.837231805722D+00 0.204890966415D-07
+    0.959277346918D+00 0.257000000000D+03-0.236664361518D+01-0.797033199632D-08
+    0.243938732456D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.102445483208D-07 0.409000000000D+03
+    0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+29 05  1 20 18  0  0.0 0.177660956979D-03-0.189857018995D-10 0.000000000000D+00
+    0.600000000000D+01-0.841875000000D+02 0.394230707006D-08-0.161583988898D+01
+   -0.418350100517D-05 0.878094485961D-02 0.550784170628D-05 0.515359695435D+04
+    0.410400000000D+06-0.115483999252D-06-0.128723312087D+01 0.176951289177D-06
+    0.981571576225D+00 0.286750000000D+03-0.122349483200D+01-0.791747265166D-08
+   -0.546451333320D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.600000000000D+01
+    0.403218000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05  1 20 18  0  0.0 0.443363562226D-03-0.144382283906D-10 0.000000000000D+00
+    0.184000000000D+03 0.187500000000D+01 0.526379068658D-08-0.101376557406D+01
+    0.258907675743D-06 0.798675161786D-02 0.653974711895D-05 0.515375473595D+04
+    0.410400000000D+06-0.391155481339D-07 0.791683557278D+00 0.167638063431D-06
+    0.943201144114D+00 0.247531250000D+03 0.127866267090D+01-0.831820362943D-08
+    0.192865176466D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.184000000000D+03
+    0.410399000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20 19 59 28.0 0.733118504286D-04 0.238742359215D-11 0.000000000000D+00
+    0.225000000000D+03 0.315625000000D+01 0.532736476327D-08 0.871966195909D+00
+    0.000000000000D+00 0.591832387727D-02 0.642426311970D-05 0.515361788750D+04
+    0.417568000000D+06-0.353902578354D-07 0.748611742410D+00 0.633299350739D-07
+    0.936425517607D+00 0.242406250000D+03 0.937347373972D+00-0.840249285470D-08
+    0.206080012631D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.225000000000D+03
+    0.414198000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20 19 59 44.0 0.733183696866D-04 0.250111042988D-11 0.000000000000D+00
+    0.199000000000D+03 0.315625000000D+01 0.532736476327D-08 0.874298581794D+00
+    0.000000000000D+00 0.591833249200D-02 0.642426311970D-05 0.515361789131D+04
+    0.417584000000D+06-0.353902578354D-07 0.748611612210D+00 0.633299350739D-07
+    0.936425508830D+00 0.242406250000D+03 0.937348773985D+00-0.840249285470D-08
+    0.206080012631D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.199000000000D+03
+    0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05  1 20 19 59 44.0 0.186765566468D-03 0.375166564481D-11 0.000000000000D+00
+    0.520000000000D+02 0.102625000000D+03 0.564523514670D-08 0.274772030720D+01
+    0.533275306225D-05 0.393676175736D-02 0.826455652714D-05 0.515368367767D+04
+    0.417584000000D+06-0.838190317154D-07 0.280172997141D+01-0.242143869400D-07
+    0.903673300957D+00 0.188343750000D+03 0.181408405942D+00-0.844213736319D-08
+   -0.120719314158D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.520000000000D+02
+    0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05  1 20 19 59 44.0-0.137425959110D-04 0.102318153949D-11 0.000000000000D+00
+    0.100000000000D+01-0.110500000000D+03 0.388337604391D-08-0.723665416712D+00
+   -0.575929880142D-05 0.228979752865D-02 0.546500086784D-05 0.515378802872D+04
+    0.417584000000D+06 0.242143869400D-07-0.125616300839D+01 0.596046447754D-07
+    0.986411623135D+00 0.287437500000D+03 0.873836930198D+00-0.786461330700D-08
+   -0.166078346401D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.513000000000D+03
+    0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+16 05  1 20 19 59 44.0 0.197952613235D-05-0.113686837722D-12 0.000000000000D+00
+    0.940000000000D+02-0.156250000000D+01 0.470055293975D-08 0.932211779574D+00
+   -0.912696123123D-07 0.246040185448D-02 0.662542879581D-05 0.515368095779D+04
+    0.417584000000D+06-0.204890966415D-07 0.826893956138D+00-0.633299350739D-07
+    0.961293934139D+00 0.250312500000D+03-0.121093574904D+01-0.800569061201D-08
+    0.184650548579D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.977888703346D-08 0.350000000000D+03
+    0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05  1 20 19 59 44.0-0.906777568162D-04 0.272848410532D-11 0.000000000000D+00
+    0.149000000000D+03 0.389375000000D+02 0.463340728573D-08 0.316252748236D+00
+    0.197812914848D-05 0.227032043040D-02 0.176206231117D-05 0.515379708862D+04
+    0.417584000000D+06-0.372529029846D-07-0.232423341232D+01 0.260770320892D-07
+    0.962460188524D+00 0.345062500000D+03 0.141688157314D+01-0.840856453618D-08
+    0.250010413937D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.405000000000D+03
+    0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+23 05  1 20 19 59 44.0 0.211527105421D-03 0.568434188608D-12 0.000000000000D+00
+    0.231000000000D+03-0.112343750000D+03 0.440589780904D-08-0.163955055946D+01
+   -0.579468905926D-05 0.364229478873D-02 0.542402267456D-05 0.515372616196D+04
+    0.417584000000D+06-0.651925802231D-07-0.127168023166D+01 0.279396772385D-07
+    0.962919588689D+00 0.276812500000D+03 0.223690068766D+01-0.810748056625D-08
+   -0.115361948145D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.231000000000D+03
+    0.417258000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+30 05  1 20 19 59 44.0 0.443262048066D-03-0.143245415529D-10 0.000000000000D+00
+    0.206000000000D+03 0.259375000000D+01 0.522093175848D-08 0.340426376697D-01
+   -0.931322574616D-08 0.798684882466D-02 0.653602182865D-05 0.515375493240D+04
+    0.417584000000D+06-0.726431608200D-07 0.791623244091D+00 0.596046447754D-07
+    0.943202413926D+00 0.247312500000D+03 0.127865760042D+01-0.838106339065D-08
+    0.210365905442D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.206000000000D+03
+    0.413868000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+31 05  1 20 19 59 44.0-0.146217644215D-06-0.500222085975D-11 0.000000000000D+00
+    0.880000000000D+02 0.400000000000D+01 0.525950479377D-08 0.169277407344D+01
+    0.465661287308D-07 0.123769255588D-01 0.848248600960D-05 0.515360401344D+04
+    0.417584000000D+06-0.275671482086D-06 0.181780646911D+01-0.214204192162D-06
+    0.935505336284D+00 0.206281250000D+03 0.106440009023D+01-0.823534303509D-08
+   -0.426089176896D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.256000000000D+03 0.630000000000D+02-0.605359673500D-08 0.880000000000D+02
+    0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20 20  0  0.0 0.383953098208D-03 0.193267624127D-11 0.000000000000D+00
+    0.236000000000D+03-0.108406250000D+03 0.380944439294D-08-0.283359521352D+01
+   -0.554881989956D-05 0.603311043233D-02 0.593997538090D-05 0.515363227653D+04
+    0.417600000000D+06 0.316649675369D-07-0.123990266370D+01-0.204890966415D-07
+    0.982224972493D+00 0.276281250000D+03-0.165763910556D+01-0.768282002029D-08
+   -0.120004998690D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.236000000000D+03
+    0.410400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20 20  0  0.0-0.422606244683D-04 0.557065504836D-11 0.000000000000D+00
+    0.400000000000D+02 0.941875000000D+02 0.450697344782D-08-0.117690114426D+01
+    0.505335628986D-05 0.949844252318D-02 0.832229852676D-05 0.515365920258D+04
+    0.417600000000D+06-0.189989805222D-06 0.292090985797D+01 0.726431608200D-07
+    0.956869688046D+00 0.219281250000D+03 0.175019185401D+01-0.807212195057D-08
+   -0.621454457501D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.296000000000D+03
+    0.411168000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20 20  0  0.0 0.782725401223D-04 0.295585778076D-11 0.000000000000D+00
+    0.720000000000D+02 0.104375000000D+02 0.541451125041D-08-0.214689283443D+01
+    0.324100255966D-06 0.661736505572D-02 0.757910311222D-05 0.515371440697D+04
+    0.417600000000D+06 0.109896063805D-06 0.179152024211D+01-0.968575477600D-07
+    0.926918862965D+00 0.214843750000D+03 0.600876247925D+00-0.824855787126D-08
+   -0.280011663610D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.328000000000D+03
+    0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20 20  0  0.0 0.440217088908D-03-0.206910044653D-10 0.000000000000D+00
+    0.227000000000D+03 0.104562500000D+03 0.446590030839D-08 0.114273702441D+01
+    0.563263893127D-05 0.704820477404D-02 0.786408782005D-05 0.515354751587D+04
+    0.417600000000D+06 0.372529029846D-07 0.294097192445D+01 0.782310962677D-07
+    0.956560702193D+00 0.221875000000D+03-0.157028163711D-03-0.799426156451D-08
+   -0.170007081477D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.483000000000D+03
+    0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20 20  0  0.0-0.158100388944D-03 0.877662387211D-10 0.000000000000D+00
+    0.188000000000D+03 0.921875000000D+01 0.523557522558D-08 0.210155552122D+01
+    0.430271029472D-06 0.622855429538D-02 0.785663723946D-05 0.515362817001D+04
+    0.417600000000D+06 0.279396772385D-07 0.184637687299D+01-0.134110450745D-06
+    0.934433226529D+00 0.216687500000D+03-0.194731519075D+01-0.816248285732D-08
+   -0.316441752498D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.700000000000D+03
+    0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20 20  0  0.0 0.611417926848D-04-0.303543856717D-10 0.000000000000D+00
+    0.126000000000D+03 0.113437500000D+02 0.515164315804D-08-0.196993323405D+01
+    0.700354576111D-06 0.129272519844D-01 0.777654349804D-05 0.515365536118D+04
+    0.417600000000D+06 0.204890966415D-06 0.181896114011D+01 0.484287738800D-07
+    0.936038828860D+00 0.212687500000D+03-0.181181793203D+01-0.798711840983D-08
+   -0.348228790841D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.382000000000D+03
+    0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20 20  0  0.0-0.191256403923D-04-0.113686837722D-11 0.000000000000D+00
+    0.117000000000D+03-0.503750000000D+02 0.414231540121D-08 0.230394662115D+01
+   -0.241957604885D-05 0.924140855204D-02 0.942684710026D-05 0.515376941872D+04
+    0.417600000000D+06 0.987201929092D-07-0.185800650703D+00 0.132247805595D-06
+    0.967618633703D+00 0.200750000000D+03 0.250889015033D+01-0.759638784862D-08
+    0.281440294547D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.885000000000D+03
+    0.410520000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20 20  0  0.0-0.249762088060D-04-0.181898940355D-11 0.000000000000D+00
+    0.223000000000D+03-0.582812500000D+02 0.435803867266D-08 0.180596156374D+01
+   -0.318326056004D-05 0.163696154486D-01 0.921823084354D-05 0.515369392967D+04
+    0.417600000000D+06-0.210478901863D-06-0.258072946803D+00-0.406056642532D-06
+    0.954728270025D+00 0.201187500000D+03 0.111920808054D+01-0.786282751833D-08
+    0.368943939425D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.558793544769D-08 0.479000000000D+03
+    0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05  1 20 20  0  0.0 0.575697049499D-04 0.682121026330D-12 0.000000000000D+00
+    0.126000000000D+03 0.365625000000D+02 0.421338979031D-08-0.857024952746D+00
+    0.188499689102D-05 0.635790033266D-02 0.220723450184D-05 0.515358383560D+04
+    0.417600000000D+06 0.154599547386D-06-0.230080147455D+01-0.372529029846D-08
+    0.978785940283D+00 0.346125000000D+03 0.291864677930D+00-0.812783855710D-08
+    0.928610108910D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.232830643654D-08 0.126000000000D+03
+    0.417000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+13 05  1 20 20  0  0.0-0.137444585562D-04 0.909494701773D-12 0.000000000000D+00
+    0.218000000000D+03-0.110500000000D+03 0.388337604391D-08-0.721337675592D+00
+   -0.575929880142D-05 0.228975899518D-02 0.546500086784D-05 0.515378792763D+04
+    0.417600000000D+06 0.242143869400D-07-0.125616299815D+01 0.596046447754D-07
+    0.986411555841D+00 0.287437500000D+03 0.873843046659D+00-0.786461330700D-08
+   -0.166078346401D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.218000000000D+03
+    0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05  1 20 20  0  0.0-0.314908102155D-04-0.113686837722D-12 0.000000000000D+00
+    0.171000000000D+03-0.922500000000D+02 0.398409452496D-08-0.202939246414D+01
+   -0.482983887196D-05 0.182565662544D-02 0.556930899620D-05 0.515368367386D+04
+    0.417600000000D+06 0.800937414169D-07-0.126667462924D+01-0.279396772385D-07
+    0.980771213743D+00 0.285656250000D+03-0.177909836186D+01-0.783175479545D-08
+   -0.163935399996D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.107102096081D-07 0.171000000000D+03
+    0.413268000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+15 05  1 20 20  0  0.0 0.378267839551D-03 0.522959453519D-11 0.000000000000D+00
+    0.520000000000D+02 0.973125000000D+02 0.432089426830D-08 0.208284362719D+01
+    0.516884028912D-05 0.881384976674D-02 0.713206827641D-05 0.515359016800D+04
+    0.417600000000D+06 0.130385160446D-06 0.299498447207D+01 0.353902578354D-07
+    0.963649025976D+00 0.239625000000D+03 0.234256620577D+01-0.784639826255D-08
+   -0.162149611325D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.279396772385D-08 0.520000000000D+02
+    0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05  1 20 20  0  0.0-0.917017459869D-04 0.192130755750D-10 0.000000000000D+00
+    0.200000000000D+01 0.101125000000D+03 0.415124434456D-08 0.280476043840D+01
+    0.509060919285D-05 0.175216513453D-01 0.807456672192D-05 0.515372332001D+04
+    0.417600000000D+06-0.189989805222D-06 0.303703624976D+01-0.199303030968D-06
+    0.965560226042D+00 0.224906250000D+03-0.269757805272D+01-0.759031616714D-08
+   -0.257153568621D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.258000000000D+03
+    0.414108000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05  1 20 20  0  0.0-0.119212083519D-03-0.375166564481D-11 0.000000000000D+00
+    0.690000000000D+02 0.287500000000D+02 0.462697844651D-08 0.596264236296D+00
+    0.149942934513D-05 0.553584727459D-02 0.203028321266D-05 0.515371907234D+04
+    0.417600000000D+06 0.521540641785D-07-0.227174282908D+01 0.502914190292D-07
+    0.962594096731D+00 0.340187500000D+03-0.280328316178D+01-0.837784897104D-08
+   -0.753602819154D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.690000000000D+02
+    0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05  1 20 20  0  0.0-0.119335018098D-04-0.795807864051D-12 0.000000000000D+00
+    0.160000000000D+02 0.245625000000D+02 0.462804991971D-08-0.285836381661D+00
+    0.114925205708D-05 0.308406539261D-02 0.866875052452D-05 0.515364152908D+04
+    0.417600000000D+06-0.279396772385D-07 0.192755329019D+01-0.204890966415D-07
+    0.959186632830D+00 0.214437500000D+03-0.177730888243D+01-0.795104547867D-08
+   -0.386087510666D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.139698386192D-07 0.528000000000D+03
+    0.410400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+21 05  1 20 20  0  0.0 0.880882143974D-04 0.113686837722D-11 0.000000000000D+00
+    0.400000000000D+01 0.930625000000D+02 0.465840832712D-08 0.200783609999D+01
+    0.498071312904D-05 0.933661183808D-02 0.771880149841D-05 0.515365836716D+04
+    0.417600000000D+06-0.149011611938D-07 0.296422664725D+01 0.229105353355D-06
+    0.950169176532D+00 0.225812500000D+03 0.311213590861D+01-0.809676583423D-08
+   -0.148577617426D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.121071934700D-07 0.400000000000D+01
+    0.417599000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05  1 20 20  0  0.0 0.162790529430D-04 0.227373675443D-12 0.000000000000D+00
+    0.218000000000D+03 0.215937500000D+02 0.470055293976D-08-0.122961651949D+01
+    0.110827386379D-05 0.506061967462D-02 0.215135514736D-05 0.515368353081D+04
+    0.417600000000D+06-0.968575477600D-07-0.226248341198D+01 0.353902578354D-07
+    0.960009018080D+00 0.337281250000D+03-0.147674714920D+01-0.839784980415D-08
+   -0.532165023952D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.181607902050D-07 0.474000000000D+03
+    0.410400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05  1 20 20  0  0.0 0.211524311453D-03 0.568434188608D-12 0.000000000000D+00
+    0.205000000000D+03-0.112343750000D+03 0.440589780904D-08-0.163721765278D+01
+   -0.579468905926D-05 0.364229083061D-02 0.542402267456D-05 0.515372616196D+04
+    0.417600000000D+06-0.651925802231D-07-0.127168035308D+01 0.279396772385D-07
+    0.962919585763D+00 0.276812500000D+03 0.223690142790D+01-0.810748056625D-08
+   -0.115361948145D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.400000000000D+01 0.000000000000D+00-0.214204192162D-07 0.717000000000D+03
+    0.410430000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05  1 20 20  0  0.0 0.896588899195D-04 0.284217094304D-11 0.000000000000D+00
+    0.134000000000D+03 0.111718750000D+03 0.419231748399D-08 0.252175693469D+01
+    0.593066215515D-05 0.907344021834D-02 0.790320336819D-05 0.515220297623D+04
+    0.417600000000D+06 0.160187482834D-06 0.296996659652D+01-0.558793544769D-07
+    0.966852298696D+00 0.224562500000D+03-0.126115636327D+01-0.775889461768D-08
+   -0.136791412197D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.139698386192D-08 0.390000000000D+03
+    0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05  1 20 20  0  0.0 0.843713060021D-04 0.909494701773D-12 0.000000000000D+00
+    0.750000000000D+02-0.604375000000D+02 0.444054210926D-08 0.261255306085D+01
+   -0.301748514175D-05 0.118067741860D-01 0.927783548832D-05 0.515361783981D+04
+    0.417600000000D+06 0.102445483208D-06-0.309407192783D+00-0.279396772385D-07
+    0.947903881533D+00 0.189656250000D+03-0.151548840910D+01-0.768210570482D-08
+    0.315370279295D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.745058059692D-08 0.750000000000D+02
+    0.410400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+26 05  1 20 20  0  0.0 0.317380297929D-03 0.557065504836D-11 0.000000000000D+00
+    0.107000000000D+03-0.103218750000D+03 0.380765860426D-08-0.265375230986D+01
+   -0.534020364285D-05 0.158513648203D-01 0.537186861038D-05 0.515375074768D+04
+    0.417600000000D+06 0.465661287308D-07-0.125407189281D+01-0.219792127609D-06
+    0.984696837376D+00 0.288968750000D+03 0.651707857197D+00-0.761746015493D-08
+   -0.246438836595D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.651925802231D-08 0.107000000000D+03
+    0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05  1 20 20  0  0.0 0.513893086463D-03 0.625277607469D-11 0.000000000000D+00
+    0.200000000000D+02-0.583125000000D+02 0.457876215239D-08 0.100049459274D+01
+   -0.290386378765D-05 0.188534539193D-01 0.996328890324D-05 0.515366249085D+04
+    0.417600000000D+06-0.281259417534D-06-0.279893483236D+00 0.987201929092D-07
+    0.952434788983D+00 0.190406250000D+03-0.208866784199D+01-0.817248327388D-08
+    0.188579283656D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.100000000000D+01 0.000000000000D+00-0.465661287308D-08 0.276000000000D+03
+    0.410400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+28 05  1 20 20  0  0.0 0.464888289571D-04 0.113686837722D-12 0.000000000000D+00
+    0.154000000000D+03 0.434375000000D+01 0.486663128616D-08-0.287439397553D+00
+    0.327825546265D-06 0.957548560109D-02 0.639073550701D-05 0.515363211441D+04
+    0.417600000000D+06 0.223517417908D-07 0.837173757133D+00 0.135973095894D-06
+    0.959278073988D+00 0.256437500000D+03-0.236663059374D+01-0.817462622028D-08
+    0.216080429189D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.400000000000D+01 0.000000000000D+00-0.102445483208D-07 0.410000000000D+03
+    0.410418000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+29 05  1 20 20  0  0.0 0.177524052560D-03-0.189857018995D-10 0.000000000000D+00
+    0.700000000000D+01-0.930000000000D+02 0.396337937637D-08-0.565729749326D+00
+   -0.482983887196D-05 0.878006860148D-02 0.528059899807D-05 0.515359449768D+04
+    0.417600000000D+06-0.180676579475D-06-0.128729059746D+01 0.409781932831D-07
+    0.981571093462D+00 0.292187500000D+03-0.122338079022D+01-0.797283210046D-08
+   -0.557166065346D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.700000000000D+01
+    0.411000000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 5 05  1 20 21 59 28.0 0.733295455575D-04 0.238742359215D-11 0.000000000000D+00
+    0.226000000000D+03 0.600000000000D+01 0.523271796371D-08 0.192225446632D+01
+    0.244006514549D-06 0.591829034966D-02 0.640563666821D-05 0.515361713028D+04
+    0.424768000000D+06-0.122934579849D-06 0.748550965478D+00-0.102445483208D-06
+    0.936427790982D+00 0.242031250000D+03 0.937280223106D+00-0.826391565383D-08
+    0.301083969927D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.226000000000D+03
+    0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20 21 59 44.0 0.383973121643D-03 0.193267624127D-11 0.000000000000D+00
+    0.200000000000D+02-0.934062500000D+02 0.396730811145D-08-0.178595426160D+01
+   -0.489689409733D-05 0.603478320409D-02 0.567175447941D-05 0.515362824821D+04
+    0.424784000000D+06 0.119209289551D-06-0.123995756848D+01 0.119209289551D-06
+    0.982223418874D+00 0.282250000000D+03-0.165741090351D+01-0.780032491484D-08
+   -0.206080012631D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.276000000000D+03
+    0.419400000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20 21 59 44.0 0.782958231866D-04 0.295585778076D-11 0.000000000000D+00
+    0.950000000000D+02 0.684375000000D+01 0.539486757503D-08-0.109903378045D+01
+    0.357627868652D-06 0.661769171711D-02 0.730156898499D-05 0.515371473503D+04
+    0.424784000000D+06 0.184401869774D-06 0.179146119581D+01 0.167638063431D-07
+    0.926916614460D+00 0.218718750000D+03 0.600846019648D+00-0.831820362943D-08
+   -0.322870591713D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.351000000000D+03
+    0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20 21 59 44.0 0.440069008619D-03-0.206910044653D-10 0.000000000000D+00
+    0.100000000000D+02 0.111781250000D+03 0.449483008486D-08 0.219055804837D+01
+    0.589899718761D-05 0.704868626781D-02 0.843964517117D-05 0.515354880714D+04
+    0.424784000000D+06-0.633299350739D-07 0.294091416844D+01 0.141561031342D-06
+    0.956559723501D+00 0.215625000000D+03-0.551432340799D-04-0.796354599937D-08
+   -0.939324840936D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.100000000000D+02
+    0.420078000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20 21 59 44.0-0.157467555255D-03 0.877662387211D-10 0.000000000000D+00
+    0.214000000000D+03 0.387500000000D+01 0.518414451186D-08-0.313366531410D+01
+    0.298023223877D-07 0.622920866590D-02 0.797025859356D-05 0.515362663269D+04
+    0.424784000000D+06 0.502914190292D-07 0.184631890632D+01-0.298023223877D-07
+    0.934431093594D+00 0.213437500000D+03-0.194739935974D+01-0.808355099806D-08
+   -0.347871633107D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.726000000000D+03
+    0.422508000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20 21 59 44.0-0.191377475858D-04-0.113686837722D-11 0.000000000000D+00
+    0.140000000000D+03-0.520937500000D+02 0.412445751450D-08-0.293151192958D+01
+   -0.262260437012D-05 0.924101483543D-02 0.979937613010D-05 0.515377044106D+04
+    0.424784000000D+06-0.428408384323D-07-0.185855461855D+00 0.156462192535D-06
+    0.967621204050D+00 0.193500000000D+03 0.250894851637D+01-0.754424281942D-08
+    0.366443835285D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.372529029846D-08 0.396000000000D+03
+    0.424698000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+13 05  1 20 21 59 44.0-0.137356109917D-04 0.102318153950D-11 0.000000000000D+00
+    0.200000000000D+01-0.104718750000D+03 0.385480342518D-08 0.326360043394D+00
+   -0.549480319023D-05 0.229052838404D-02 0.562332570553D-05 0.515378931618D+04
+    0.424784000000D+06-0.186264514923D-07-0.125621958967D+01 0.558793544769D-07
+    0.986410411839D+00 0.283750000000D+03 0.873917850049D+00-0.785997025645D-08
+   -0.181078971237D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.116415321827D-07 0.514000000000D+03
+    0.418068000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05  1 20 21 59 44.0-0.119390897453D-04-0.795807864051D-12 0.000000000000D+00
+    0.400000000000D+02 0.203437500000D+02 0.461233497941D-08 0.761996783059D+00
+    0.940635800362D-06 0.308322953060D-02 0.820867717266D-05 0.515364003944D+04
+    0.424784000000D+06-0.242143869400D-07 0.192749614861D+01-0.167638063431D-07
+    0.959183914729D+00 0.220343750000D+03-0.177727363049D+01-0.795211695188D-08
+   -0.381087302387D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.400000000000D+02
+    0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+24 05  1 20 21 59 44.0 0.896817073226D-04 0.284217094304D-11 0.000000000000D+00
+    0.161000000000D+03 0.118718750000D+03 0.426160608443D-08-0.271271298917D+01
+    0.620260834694D-05 0.907422148157D-02 0.799074769020D-05 0.515220159531D+04
+    0.424784000000D+06 0.745058059692D-07 0.296991023028D+01 0.109896063805D-06
+    0.966851973928D+00 0.227718750000D+03-0.126112872874D+01-0.772996484121D-08
+    0.750031241812D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.161000000000D+03
+    0.417648000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+27 05  1 20 21 59 44.0 0.513944309205D-03 0.625277607469D-11 0.000000000000D+00
+    0.390000000000D+02-0.679687500000D+02 0.441732685654D-08 0.204829799878D+01
+   -0.379607081413D-05 0.188540373929D-01 0.985525548458D-05 0.515366429710D+04
+    0.424784000000D+06-0.126659870148D-06-0.279952222322D+00-0.396743416786D-06
+    0.952438569164D+00 0.186187500000D+03-0.208861804573D+01-0.772532179066D-08
+    0.365015204348D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.390000000000D+02
+    0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20 22  0  0.0 0.383966602385D-03 0.193267624127D-11 0.000000000000D+00
+    0.237000000000D+03-0.934062500000D+02 0.396730811145D-08-0.178362044206D+01
+   -0.489689409733D-05 0.603478529956D-02 0.567175447941D-05 0.515362825394D+04
+    0.424800000000D+06 0.119209289551D-06-0.123995770746D+01 0.119209289551D-06
+    0.982223418874D+00 0.282250000000D+03-0.165741094301D+01-0.780032491484D-08
+   -0.206080012631D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.237000000000D+03
+    0.417600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 2 05  1 20 22  0  0.0-0.422205775976D-04 0.557065504836D-11 0.000000000000D+00
+    0.410000000000D+02 0.100875000000D+03 0.448911556111D-08-0.126637809282D+00
+    0.535510480404D-05 0.949944846798D-02 0.860542058945D-05 0.515366154289D+04
+    0.424800000000D+06-0.143423676491D-06 0.292085128712D+01-0.447034835815D-07
+    0.956869293058D+00 0.213593750000D+03 0.175011763872D+01-0.812069540242D-08
+   -0.475019786481D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.172294676304D-07 0.297000000000D+03
+    0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20 22  0  0.0 0.782939605415D-04 0.295585778076D-11 0.000000000000D+00
+    0.730000000000D+02 0.684375000000D+01 0.539486757503D-08-0.109670037784D+01
+    0.357627868652D-06 0.661769509315D-02 0.730156898499D-05 0.515371474075D+04
+    0.424800000000D+06 0.184401869774D-06 0.179146105976D+01 0.167638063431D-07
+    0.926916605683D+00 0.218718750000D+03 0.600846275659D+00-0.831820362943D-08
+   -0.322870591713D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.419095158577D-08 0.730000000000D+02
+    0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20 22  0  0.0 0.440068077296D-03-0.206910044653D-10 0.000000000000D+00
+    0.228000000000D+03 0.111781250000D+03 0.449483008486D-08 0.219289118766D+01
+    0.589899718761D-05 0.704868906178D-02 0.844150781632D-05 0.515354879951D+04
+    0.424800000000D+06-0.633299350739D-07 0.294091402508D+01 0.141561031342D-06
+    0.956559710334D+00 0.215625000000D+03-0.543049820205D-04-0.796318884164D-08
+   -0.939324840936D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.484000000000D+03
+    0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20 22  0  0.0-0.157468020916D-03 0.877662387211D-10 0.000000000000D+00
+    0.189000000000D+03 0.387500000000D+01 0.518414451186D-08-0.313133124586D+01
+    0.298023223877D-07 0.622920645401D-02 0.797025859356D-05 0.515362662125D+04
+    0.424800000000D+06 0.502914190292D-07 0.184631876295D+01-0.298023223877D-07
+    0.934431099446D+00 0.213437500000D+03-0.194739953237D+01-0.808355099806D-08
+   -0.347871633107D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.701000000000D+03
+    0.418518000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 7 05  1 20 22  0  0.0 0.609233975411D-04-0.303543856717D-10 0.000000000000D+00
+    0.127000000000D+03 0.142187500000D+02 0.527807699595D-08-0.919703838774D+00
+    0.923871994019D-06 0.129275496583D-01 0.794231891632D-05 0.515365620422D+04
+    0.424800000000D+06-0.149011611939D-06 0.181890258096D+01 0.204890966415D-06
+    0.936034391830D+00 0.216906250000D+03-0.181185035029D+01-0.838499212572D-08
+   -0.389659088008D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.186264514923D-08 0.383000000000D+03
+    0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20 22  0  0.0-0.191340222955D-04-0.113686837722D-11 0.000000000000D+00
+    0.118000000000D+03-0.520937500000D+02 0.412445751450D-08-0.292918107537D+01
+   -0.262260437012D-05 0.924102868885D-02 0.979937613010D-05 0.515377041626D+04
+    0.424800000000D+06-0.428408384323D-07-0.185855577425D+00 0.156462192535D-06
+    0.967621196735D+00 0.193500000000D+03 0.250895152120D+01-0.754424281942D-08
+    0.366443835285D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.400000000000D+01 0.000000000000D+00-0.372529029846D-08 0.374000000000D+03
+    0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 9 05  1 20 22  0  0.0-0.249887816608D-04-0.181898940355D-11 0.000000000000D+00
+    0.224000000000D+03-0.661875000000D+02 0.428017828661D-08 0.285619193625D+01
+   -0.337511301041D-05 0.163707633037D-01 0.932067632675D-05 0.515369107819D+04
+    0.424800000000D+06 0.102445483208D-06-0.258127398076D+00-0.139698386192D-06
+    0.954732271106D+00 0.193281250000D+03 0.111914505949D+01-0.749781231398D-08
+    0.297155234851D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.558793544769D-08 0.736000000000D+03
+    0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+10 05  1 20 22  0  0.0 0.575748272240D-04 0.682121026330D-12 0.000000000000D+00
+    0.121000000000D+03 0.386875000000D+02 0.430160775066D-08 0.193229421855D+00
+    0.201165676117D-05 0.635883235373D-02 0.169686973095D-05 0.515358559036D+04
+    0.424800000000D+06 0.298023223877D-07-0.230086044624D+01 0.670552253723D-07
+    0.978785311228D+00 0.352937500000D+03 0.291843905956D+00-0.826462996930D-08
+   -0.785747015231D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.232830643654D-08 0.377000000000D+03
+    0.419778000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+11 05  1 20 22  0  0.0 0.186792109162D-03 0.375166564481D-11 0.000000000000D+00
+    0.530000000000D+02 0.927500000000D+02 0.561809115890D-08-0.248311299249D+01
+    0.471062958241D-05 0.393747631460D-02 0.843219459057D-05 0.515368217468D+04
+    0.424800000000D+06-0.484287738800D-07 0.280166902478D+01-0.670552253723D-07
+    0.903672456854D+00 0.188656250000D+03 0.181572710661D+00-0.844713757147D-08
+   -0.106433004790D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.530000000000D+02
+    0.417600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+14 05  1 20 22  0  0.0-0.314917415381D-04-0.113686837722D-12 0.000000000000D+00
+    0.172000000000D+03-0.907500000000D+02 0.403909681602D-08-0.978625358691D+00
+   -0.479258596897D-05 0.182599050459D-02 0.502541661263D-05 0.515368575859D+04
+    0.424800000000D+06-0.130385160446D-07-0.126673130561D+01 0.335276126862D-07
+    0.980769452390D+00 0.294468750000D+03-0.177969466482D+01-0.794247369305D-08
+   -0.181436128972D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.107102096081D-07 0.172000000000D+03
+    0.417600000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+15 05  1 20 22  0  0.0 0.378306023777D-03 0.522959453519D-11 0.000000000000D+00
+    0.530000000000D+02 0.958437500000D+02 0.431732269096D-08 0.313302784901D+01
+    0.505521893501D-05 0.881328678224D-02 0.758841633797D-05 0.515359145355D+04
+    0.424800000000D+06-0.353902578354D-07 0.299492725588D+01 0.171363353729D-06
+    0.963648551990D+00 0.234750000000D+03 0.234261261830D+01-0.778889586735D-08
+   -0.714315468392D-12 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.279396772385D-08 0.530000000000D+02
+    0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+16 05  1 20 22  0  0.0 0.197859480977D-05-0.113686837722D-12 0.000000000000D+00
+    0.950000000000D+02 0.406250000000D+00 0.465805116939D-08 0.198447167296D+01
+    0.428408384323D-07 0.246048171539D-02 0.639259815216D-05 0.515368214035D+04
+    0.424800000000D+06 0.353902578354D-07 0.826836514660D+00-0.298023223877D-07
+    0.961295503851D+00 0.254250000000D+03-0.121068474302D+01-0.794425948172D-08
+    0.175007289756D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.977888703346D-08 0.351000000000D+03
+    0.419460000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+17 05  1 20 22  0  0.0-0.915629789233D-04 0.193267624127D-10 0.000000000000D+00
+    0.300000000000D+01 0.112343750000D+03 0.419767485001D-08-0.242826046510D+01
+    0.568293035030D-05 0.175200680969D-01 0.790506601334D-05 0.515372628784D+04
+    0.424800000000D+06 0.335276126862D-07 0.303698035312D+01-0.376254320145D-06
+    0.965559842757D+00 0.228468750000D+03-0.269759488506D+01-0.774282251964D-08
+    0.111076055335D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-08 0.259000000000D+03
+    0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+18 05  1 20 22  0  0.0-0.119239091873D-03-0.375166564481D-11 0.000000000000D+00
+    0.640000000000D+02 0.348750000000D+02 0.464233622908D-08 0.164645216077D+01
+    0.181607902050D-05 0.553622131702D-02 0.205263495445D-05 0.515371905327D+04
+    0.424800000000D+06 0.372529029846D-08-0.227180341291D+01 0.141561031342D-06
+    0.962593687114D+00 0.341562500000D+03-0.280331744965D+01-0.836463413487D-08
+   -0.132148361653D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.320000000000D+03
+    0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+19 05  1 20 22  0  0.0-0.119395554066D-04-0.795807864051D-12 0.000000000000D+00
+    0.170000000000D+02 0.203437500000D+02 0.461233497941D-08 0.764328589628D+00
+    0.940635800362D-06 0.308323162608D-02 0.820867717266D-05 0.515364004707D+04
+    0.424800000000D+06-0.242143869400D-07 0.192749600671D+01-0.167638063431D-07
+    0.959183876693D+00 0.220343750000D+03-0.177727168627D+01-0.795211695188D-08
+   -0.381087302387D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.170000000000D+02
+    0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+20 05  1 20 22  0  0.0-0.906586647034D-04 0.272848410532D-11 0.000000000000D+00
+    0.150000000000D+03 0.386250000000D+02 0.458947688442D-08 0.136872490226D+01
+    0.194646418095D-05 0.227062043268D-02 0.196136534214D-05 0.515379735565D+04
+    0.424800000000D+06-0.108033418655D-06-0.232429428727D+01-0.633299350739D-07
+    0.962460646418D+00 0.340843750000D+03 0.141684895738D+01-0.833213278106D-08
+    0.625026034843D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.698491930962D-08 0.406000000000D+03
+    0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+21 05  1 20 22  0  0.0 0.880961306393D-04 0.113686837722D-11 0.000000000000D+00
+    0.239000000000D+03 0.995000000000D+02 0.457733352146D-08 0.305806955925D+01
+    0.525638461113D-05 0.933773815632D-02 0.810623168945D-05 0.515365621567D+04
+    0.424800000000D+06-0.154599547386D-06 0.296416817003D+01-0.223517417908D-07
+    0.950169480818D+00 0.218843750000D+03 0.311209427835D+01-0.788497129785D-08
+   -0.642883921553D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.121071934700D-07 0.495000000000D+03
+    0.424530000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+22 05  1 20 22  0  0.0 0.162809155881D-04 0.227373675443D-12 0.000000000000D+00
+    0.219000000000D+03 0.296562500000D+02 0.472376819248D-08-0.179284452237D+00
+    0.157020986080D-05 0.506145320833D-02 0.226311385632D-05 0.515368570328D+04
+    0.424800000000D+06 0.931322574615D-08-0.226254470240D+01-0.260770320892D-07
+    0.960008688924D+00 0.335375000000D+03-0.147690335520D+01-0.847499587474D-08
+    0.250010413937D-10 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.181607902050D-07 0.475000000000D+03
+    0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+23 05  1 20 22  0  0.0 0.211531296372D-03 0.568434188608D-12 0.000000000000D+00
+    0.232000000000D+03-0.104562500000D+03 0.434125225915D-08-0.586781787097D+00
+   -0.553205609322D-05 0.364261982031D-02 0.550597906113D-05 0.515372820091D+04
+    0.424800000000D+06-0.763684511185D-07-0.127173870742D+01-0.298023223877D-07
+    0.962918735808D+00 0.273906250000D+03 0.223661247525D+01-0.811248077453D-08
+   -0.137148569931D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.214204192162D-07 0.232000000000D+03
+    0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+24 05  1 20 22  0  0.0 0.896798446775D-04 0.284217094304D-11 0.000000000000D+00
+    0.135000000000D+03 0.118718750000D+03 0.426160608443D-08-0.271037892093D+01
+    0.620260834694D-05 0.907422706951D-02 0.799074769020D-05 0.515220159149D+04
+    0.424800000000D+06 0.745058059692D-07 0.296991005912D+01 0.109896063805D-06
+    0.966851966614D+00 0.227718750000D+03-0.126112698787D+01-0.772996484121D-08
+    0.750031241812D-11 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.280000000000D+01 0.000000000000D+00-0.139698386192D-08 0.391000000000D+03
+    0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+25 05  1 20 22  0  0.0 0.843773595989D-04 0.909494701773D-12 0.000000000000D+00
+    0.760000000000D+02-0.565937500000D+02 0.450625913235D-08-0.262043585887D+01
+   -0.284612178803D-05 0.118074824568D-01 0.919401645660D-05 0.515361653328D+04
+    0.424800000000D+06 0.126659870148D-06-0.309462513030D+00-0.111758708954D-07
+    0.947906182703D+00 0.194468750000D+03-0.151546997194D+01-0.768996317498D-08
+    0.317156067966D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.745058059692D-08 0.760000000000D+02
+    0.420888000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+26 05  1 20 22  0  0.0 0.317420344800D-03 0.557065504836D-11 0.000000000000D+00
+    0.102000000000D+03-0.105625000000D+03 0.381587323215D-08-0.160364987100D+01
+   -0.543892383575D-05 0.158518853132D-01 0.496022403240D-05 0.515374954987D+04
+    0.424800000000D+06 0.223517417908D-06-0.125412671566D+01-0.216066837311D-06
+    0.984696721805D+00 0.293906250000D+03 0.651734652004D+00-0.766924802639D-08
+   -0.528593446610D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.651925802231D-08 0.614000000000D+03
+    0.422940000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+27 05  1 20 22  0  0.0 0.513938255608D-03 0.625277607469D-11 0.000000000000D+00
+    0.150000000000D+02-0.679687500000D+02 0.441732685654D-08 0.205063271071D+01
+   -0.379607081413D-05 0.188540527597D-01 0.985525548458D-05 0.515366427040D+04
+    0.424800000000D+06-0.126659870148D-06-0.279952343745D+00-0.396743416786D-06
+    0.952438569164D+00 0.186187500000D+03-0.208861877572D+01-0.772532179066D-08
+    0.365015204348D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.527000000000D+03
+    0.424799000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+28 05  1 20 22  0  0.0 0.464902259409D-04 0.113686837722D-12 0.000000000000D+00
+    0.155000000000D+03 0.725000000000D+01 0.480448584041D-08 0.762745914149D+00
+    0.439584255219D-06 0.957601726987D-02 0.653974711895D-05 0.515363321304D+04
+    0.424800000000D+06-0.124797224999D-06 0.837115688063D+00 0.104308128357D-06
+    0.959279497407D+00 0.253531250000D+03-0.236660785415D+01-0.811033782813D-08
+    0.111790370803D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.411000000000D+03
+    0.417930000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+29 05  1 20 22  0  0.0 0.177387148142D-03-0.189857018995D-10 0.000000000000D+00
+    0.200000000000D+01-0.103312500000D+03 0.400480967354D-08 0.484432892997D+00
+   -0.547245144844D-05 0.878088106401D-02 0.535324215889D-05 0.515359601021D+04
+    0.424800000000D+06-0.298023223877D-07-0.128734726505D+01-0.141561031342D-06
+    0.981569816334D+00 0.292656250000D+03-0.122331821390D+01-0.802569144512D-08
+   -0.237152735506D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.698491930962D-08 0.258000000000D+03
+    0.421020000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+30 05  1 20 22  0  0.0 0.443158205599D-03-0.143245415529D-10 0.000000000000D+00
+    0.207000000000D+03 0.409375000000D+01 0.516807241382D-08 0.108653211703D+01
+    0.109896063805D-06 0.798672065139D-02 0.632740557194D-05 0.515375456619D+04
+    0.424800000000D+06-0.141561031342D-06 0.791562717319D+00 0.931322574616D-08
+    0.943203925121D+00 0.247968750000D+03 0.127863794319D+01-0.835213361418D-08
+    0.221794952936D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.838190317154D-08 0.207000000000D+03
+    0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+31 05  1 20 22  0  0.0-0.182539224625D-06-0.500222085975D-11 0.000000000000D+00
+    0.890000000000D+02 0.104062500000D+02 0.511771317330D-08 0.274525441395D+01
+    0.379979610443D-06 0.123758723494D-01 0.773929059506D-05 0.515360669517D+04
+    0.424800000000D+06 0.335276126862D-07 0.181774836932D+01-0.193715095520D-06
+    0.935503503247D+00 0.215156250000D+03 0.106448125000D+01-0.795461705602D-08
+   -0.431446542909D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.256000000000D+03 0.630000000000D+02-0.605359673500D-08 0.890000000000D+02
+    0.417618000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+28 05  1 20 23 59 28.0 0.464851036668D-04 0.113686837722D-12 0.000000000000D+00
+    0.177000000000D+03 0.375000000000D+01 0.475055502254D-08 0.180821626283D+01
+    0.178813934326D-06 0.957630865742D-02 0.675581395626D-05 0.515363458633D+04
+    0.431968000000D+06-0.244006514549D-06 0.837057241560D+00-0.279396772385D-07
+    0.959280675056D+00 0.249562500000D+03-0.236653854548D+01-0.801997692137D-08
+    0.179650340301D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.102445483208D-07 0.177000000000D+03
+    0.431688000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 1 05  1 20 23 59 44.0 0.383987091482D-03 0.193267624127D-11 0.000000000000D+00
+    0.210000000000D+02-0.900312500000D+02 0.404838291711D-08-0.735502953359D+00
+   -0.471249222755D-05 0.603515445255D-02 0.511482357979D-05 0.515363114739D+04
+    0.431984000000D+06-0.819563865662D-07-0.124001483587D+01 0.130385160446D-07
+    0.982221048946D+00 0.292812500000D+03-0.165765803572D+01-0.801926260591D-08
+   -0.173935816554D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.277000000000D+03
+    0.424800000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 3 05  1 20 23 59 44.0 0.783172436059D-04 0.295585778076D-11 0.000000000000D+00
+    0.960000000000D+02 0.303125000000D+01 0.543308345259D-08-0.488191767375D-01
+    0.208616256714D-06 0.661774899345D-02 0.732578337193D-05 0.515371518707D+04
+    0.431984000000D+06 0.558793544769D-07 0.179140083728D+01 0.949949026108D-07
+    0.926913666681D+00 0.220562500000D+03 0.600793173196D+00-0.844392315186D-08
+   -0.341085636157D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.419095158577D-08 0.352000000000D+03
+    0.429510000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+ 4 05  1 20 23 59 44.0 0.439919997007D-03-0.206910044653D-10 0.000000000000D+00
+    0.110000000000D+02 0.109218750000D+03 0.440839791318D-08-0.304239079032D+01
+    0.567547976971D-05 0.704762816895D-02 0.805594027042D-05 0.515355070686D+04
+    0.431984000000D+06-0.987201929092D-07 0.294085691276D+01-0.167638063431D-07
+    0.956559789332D+00 0.224031250000D+03-0.347647852357D-04-0.784854120896D-08
+   -0.303584074067D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.605359673500D-08 0.110000000000D+02
+    0.424818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 6 05  1 20 23 59 44.0-0.156835652888D-03 0.877662387211D-10 0.000000000000D+00
+    0.215000000000D+03 0.709375000000D+01 0.511485591142D-08-0.208350033989D+01
+    0.279396772385D-06 0.622937141452D-02 0.758469104767D-05 0.515362606621D+04
+    0.431984000000D+06 0.819563865662D-07 0.184626072168D+01-0.242143869400D-07
+    0.934428593467D+00 0.214500000000D+03-0.194735022179D+01-0.809390857235D-08
+   -0.353586156854D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.727000000000D+03
+    0.424818000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+ 8 05  1 20 23 59 44.0-0.191461294890D-04-0.113686837722D-11 0.000000000000D+00
+    0.141000000000D+03-0.476875000000D+02 0.417838833236D-08-0.188136647654D+01
+   -0.251643359661D-05 0.924118584953D-02 0.100135803223D-04 0.515377049828D+04
+    0.431984000000D+06-0.197440385819D-06-0.185910565590D+00 0.745058059692D-08
+    0.967623108769D+00 0.192968750000D+03 0.250892267539D+01-0.772960768347D-08
+    0.405016870578D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.000000000000D+00 0.000000000000D+00-0.372529029846D-08 0.397000000000D+03
+    0.428250000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+10 05  1 20 23 59 44.0 0.575827434659D-04 0.682121026330D-12 0.000000000000D+00
+    0.147000000000D+03 0.418750000000D+02 0.434482383650D-08 0.124109418707D+01
+    0.240094959736D-05 0.635920464993D-02 0.183284282684D-05 0.515358640862D+04
+    0.431984000000D+06 0.558793544769D-08-0.230091970320D+01 0.875443220139D-07
+    0.978785246860D+00 0.352750000000D+03 0.291878297697D+00-0.825105797540D-08
+   -0.178578867098D-10 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.232830643654D-08 0.147000000000D+03
+    0.428538000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
+19 05  1 20 23 59 44.0-0.119451433420D-04-0.795807864051D-12 0.000000000000D+00
+    0.410000000000D+02 0.107187500000D+02 0.452947438507D-08 0.181177702152D+01
+    0.497326254845D-06 0.308377773035D-02 0.800378620625D-05 0.515364268303D+04
+    0.431984000000D+06 0.111758708954D-07 0.192743890902D+01-0.745058059692D-07
+    0.959181484822D+00 0.223906250000D+03-0.177685295962D+01-0.789175729480D-08
+   -0.362157942475D-09 0.000000000000D+00 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.139698386192D-07 0.410000000000D+02
+    0.431999000000D+06 0.000000000000D+00 0.000000000000D+00 0.000000000000D+00
+27 05  1 20 23 59 44.0 0.513989478350D-03 0.625277607469D-11 0.000000000000D+00
+    0.400000000000D+02-0.641562500000D+02 0.434982404477D-08 0.309848637384D+01
+   -0.343844294548D-05 0.188536680071D-01 0.972859561443D-05 0.515366481209D+04
+    0.431984000000D+06 0.949949026108D-07-0.280006356143D+00-0.212341547012D-06
+    0.952441889988D+00 0.184281250000D+03-0.208862094962D+01-0.751781314709D-08
+    0.328585115460D-09 0.100000000000D+01 0.130600000000D+04 0.000000000000D+00
+    0.200000000000D+01 0.000000000000D+00-0.465661287308D-08 0.400000000000D+02
+    0.431238000000D+06 0.400000000000D+01 0.000000000000D+00 0.000000000000D+00
diff --git a/trunk/apps/positioning/doc/nga13063.apc b/trunk/apps/positioning/doc/nga13063.apc
new file mode 100644
index 0000000..41d470d
--- /dev/null
+++ b/trunk/apps/positioning/doc/nga13063.apc
@@ -0,0 +1,5687 @@
+#aV2005  1 19  0  0   .00000000      96 DD+AD WGS84 FIT  NGA
+## 1306 259200.00000000   900.00000000 53389  .0000000000000
++   29     1  2  3  4  5  6  7  8  9 10 11 13 14 15 16 17 18
++         19 20 21 22 23 24 25 26 27 28 29 30  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%f  0.0000000  0.000000000  0.00000000000  0.000000000000000
+%f  0.0000000  0.000000000  0.00000000000  0.000000000000000
+%i    0    0    0    0      0      0      0      0         0
+%i    0    0    0    0      0      0      0      0         0
+/*      NGA, ST. LOUIS,MO.                                  
+/*   EPHEMERIS COMPUTED FROM  3 DAYS OF DATA                
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+*  2005  1 19  0  0   .00000000                                                 
+P  1 -14501.313430  17398.176193 -13659.636342    383.643518                    
+V  1   3201.458571 -17434.602902 -25275.234305       .019005                    
+P  2  19961.721416 -13460.790930  10819.737559    -43.166733                    
+V  2  14431.752211  -1215.377683 -27451.537755       .058325                    
+P  3 -11197.115363  21801.225253   9776.517545     77.797229                    
+V  3  -1467.437637 -13181.026979  27629.501759       .030266                    
+P  4  26004.313022  -6226.895197   -603.536925    443.487460                    
+V  4    -74.119442   2770.051423 -31426.543733      -.206514                    
+P  5  -9027.008153 -20942.052514 -13910.746064     72.926901                    
+V  5  14981.377032   9214.642929 -23695.313794       .025575                    
+P  6  -9363.520849 -17610.486327  17677.702500   -172.067096                    
+V  6   6986.246062 -21174.719226 -17694.837440       .884919                    
+P  7  15920.572194  -1620.421358 -20766.798821     65.932521                    
+V  7  -4645.506322  27059.560759  -5710.530251      -.301982                    
+P  8  24018.843711   2250.601902  11334.141515    -18.945866                    
+V  8 -13649.430425   5353.662964  27083.679997      -.011658                    
+P  9   1017.962074 -16240.037771 -21417.031326    -24.699833                    
+V  9  25169.913545  -7212.354155   7161.115522      -.018208                    
+P 10   8660.740631 -12168.568461  21883.140009     57.457644                    
+V 10  19878.223136  19579.138488   3295.889744       .007022                    
+P 11    233.395552  17158.975893 -20263.188165    186.179383                    
+V 11 -24465.802438   8776.895159   7349.320549       .036730                    
+P 13   7558.335420  17886.775431  18093.316770    -13.896311                    
+V 13  -7101.891311  21911.693900 -18571.830726       .009631                    
+P 14 -15347.300350   1693.289436 -21551.679694    -31.479494                    
+V 14   6436.628035 -26682.603021  -6680.245591      -.001074                    
+P 15 -26323.273480   2848.005369   3394.120408    377.424351                    
+V 15   3952.806132  -3306.683391  31239.999790       .053157                    
+P 16 -13950.662782   7305.610293  21467.592576      2.004349                    
+V 16 -18977.198901 -19319.865670  -5736.634562      -.001876                    
+P 17  11257.608366 -14922.775366  18800.685838    -94.717756                    
+V 17  23616.331311  -1946.024232 -16638.373673       .187458                    
+P 18 -19857.186955 -17433.127693  -3753.889646   -118.619764                    
+V 18  -1440.065209  -5229.773111  31157.772013      -.037627                    
+P 19  -7594.768081  25458.596223   -624.548514    -11.799365                    
+V 19  -2989.139130      8.609969  31686.904512      -.008601                    
+P 20   9309.275577  21373.250577 -12817.597909    -91.106308                    
+V 20 -13159.117389  -9617.876920 -25722.574110       .026914                    
+P 21 -19797.832241  -7403.452677  16340.574662     87.914225                    
+V 21  19681.772327  -6405.760097  20486.631853       .010580                    
+P 22 -20966.570396  -8918.940047 -13467.246681     16.249594                    
+V 22 -10054.639069 -14365.023254  24886.790097       .000092                    
+P 23   1458.740289  24212.485466  10600.609050    211.432592                    
+V 23  -5790.749301  12593.957239 -27831.423095       .006111                    
+P 24  26146.606302  -4199.460750  -2405.573016     89.202896                    
+V 24  -2742.222034   3222.029534 -31617.363941       .029616                    
+P 25 -24644.981794   9934.022438    866.376740     84.258500                    
+V 25  -1728.881181  -2767.352476 -31421.389281       .008563                    
+P 26   7028.217495 -25261.853059    197.414447    316.489560                    
+V 26   2321.208577   1283.293606  32684.607563       .056146                    
+P 27  19123.794505   6880.048282  17862.467614    512.895117                    
+V 27 -19878.601674   8283.903055  18209.754813       .063482                    
+P 28  21599.655934   9321.184669 -12427.058640     46.466901                    
+V 28   9758.241082  12873.531207  25836.425933       .002091                    
+P 29   9566.292058 -24113.103955   5590.078761    180.525143                    
+V 29    546.629609   7090.771089  31254.740904      -.189144                    
+P 30 -16926.021065 -20070.395719  -4650.877918    445.529640                    
+V 30   6267.789372   1434.821785 -30550.483312      -.142932                    
+*  2005  1 19  0 15   .00000000                                                 
+P  1 -14227.126980  15699.877663 -15808.705999    383.644160                    
+V  1   2823.850978 -20256.548600 -22411.583087       .019011                    
+P  2  21119.004114 -13559.956095   8261.548942    -43.161464                    
+V  2  11265.797817   -917.870446 -29313.079941       .058310                    
+P  3 -11338.303996  20482.075066  12170.086472     77.800036                    
+V  3  -1730.375674 -16095.307316  25482.937559       .030264                    
+P  4  25852.657284  -5932.216614  -3418.887505    443.468717                    
+V  4  -3269.225097   3841.487479 -31048.748249      -.206517                    
+P  5  -7568.518417 -20075.620751 -15919.663809     72.928263                    
+V  5  17411.712857   9965.651256 -20884.475482       .025558                    
+P  6  -8798.036638 -19438.371919  15939.045046   -171.987068                    
+V  6   5606.810307 -19370.276695 -20888.146487       .884883                    
+P  7  15556.336485    845.507912 -21093.487912     65.905237                    
+V  7  -3426.168731  27650.025298  -1538.847996      -.301992                    
+P  8  22674.519473   2802.724259  13668.122827    -18.946933                    
+V  8 -16160.035235   6957.346549  24707.370851      -.011660                    
+P  9   3227.780923 -16934.170515 -20596.643052    -24.700924                    
+V  9  23865.579004  -8166.231501  11047.248603      -.018200                    
+P 10  10503.163005 -10450.728533  21989.393734     57.457967                    
+V 10  20997.742407  18528.239173   -936.430529       .007022                    
+P 11  -1912.172275  17978.217787 -19429.089688    186.182716                    
+V 11 -23148.779866   9379.123755  11160.522633       .036733                    
+P 13   6997.439474  19777.293226  16270.688281    -13.895430                    
+V 13  -5390.278116  20017.469130 -21872.286148       .009632                    
+P 14 -14828.816249   -749.295496 -21964.741456    -31.479599                    
+V 14   5054.643092 -27507.904304  -2485.692007      -.001072                    
+P 15 -25822.998670   2503.315099   6168.956641    377.427238                    
+V 15   7130.791428  -4414.810442  30335.183689       .053154                    
+P 16 -15676.793969   5636.676488  20769.408390      2.004168                    
+V 16 -19305.383866 -17720.780615  -9756.385995      -.001876                    
+P 17  13291.856234 -15135.648202  17144.553166    -94.700963                    
+V 17  21520.007000  -2730.114077 -20115.215462       .187492                    
+P 18 -19886.606417 -17788.305047   -925.789558   -118.623177                    
+V 18    841.675700  -2705.182603  31599.875067      -.037629                    
+P 19  -7820.727466  25311.137408   2224.468697    -11.800134                    
+V 19  -2099.513476  -3300.469867  31533.856065      -.008603                    
+P 20   8008.685170  20455.200355 -15016.290922    -91.103886                    
+V 20 -15735.580451 -10704.593010 -23067.717292       .026917                    
+P 21 -17946.140901  -8051.739977  18040.884148     87.915226                    
+V 21  21389.887072  -8022.116033  17243.029012       .010584                    
+P 22 -21811.952060 -10093.829067 -11116.874886     16.249385                    
+V 22  -8654.816442 -11746.222546  27267.322798       .000097                    
+P 23    997.871160  25216.588577   8010.918039    211.433069                    
+V 23  -4503.648767   9667.397523 -29633.592735       .006104                    
+P 24  25753.134512  -3860.448781  -5222.326152     89.205838                    
+V 24  -5969.883110   4374.578883 -30886.935323       .029609                    
+P 25 -24660.288783   9625.519778  -1960.882633     84.259721                    
+V 25   1362.480047  -4150.001869 -31316.298128       .008546                    
+P 26   7203.365474 -24986.890135   3128.472842    316.494692                    
+V 26   1643.545473   4837.754033  32352.407223       .056142                    
+P 27  17276.043386   7702.859456  19351.547261    512.900976                    
+V 27 -21103.533265  10009.405683  14836.154404       .063480                    
+P 28  22408.609864  10363.048087 -10002.147105     46.467035                    
+V 28   8145.295280  10290.705084  27972.334227       .002084                    
+P 29   9602.002307 -23322.893406   8346.747104    180.508240                    
+V 29    320.736378  10452.825760  29917.233289      -.189149                    
+P 30 -16243.407128 -19856.252728  -7353.104790    445.516656                    
+V 30   8923.890640   3259.060752 -29414.341695      -.142937                    
+*  2005  1 19  0 30   .00000000                                                 
+P  1 -14004.495538  13762.121922 -17681.845186    383.644209                    
+V  1   2064.294366 -22741.375388 -19152.313661       .019018                    
+P  2  21987.499200 -13613.252005   5558.915482    -43.156315                    
+V  2   8030.990460   -195.806462 -30657.203512       .058295                    
+P  3 -11518.872669  18912.207976  14350.024123     77.803268                    
+V  3  -2335.780344 -18738.626019  22889.245405       .030262                    
+P  4  25421.965162  -5524.649020  -6176.589742    443.450144                    
+V  4  -6260.843290   5271.666247 -30147.162363      -.206519                    
+P  5  -5897.411469 -19161.346584 -17659.375004     72.929819                    
+V  5  19691.773539  10280.181817 -17721.273970       .025541                    
+P  6  -8348.373496 -21084.393498  13928.337628   -171.907277                    
+V  6   4424.445733 -17141.581920 -23731.589799       .884846                    
+P  7  15306.614781   3340.303263 -21043.091352     65.877936                    
+V  7  -2115.174768  27698.478755   2656.170363      -.302001                    
+P  8  21122.555241   3509.285511  15768.525139    -18.947667                    
+V  8 -18253.872087   8772.699621  21899.890443      -.011661                    
+P  9   5301.677031 -17700.552162 -19433.521019    -24.703070                    
+V  9  22158.709460  -8806.897259  14766.942526      -.018193                    
+P 10  12427.405184  -8844.442080  21715.374851     57.458904                    
+V 10  21686.797432  17112.519938  -5142.379062       .007022                    
+P 11  -3922.615307  18837.497950 -18259.900474    186.186079                    
+V 11 -21473.155457   9657.757081  14784.943005       .036736                    
+P 13   6581.811635  21475.883624  14167.695959    -13.894414                    
+V 13  -3887.447691  17655.921850 -24793.272414       .009631                    
+P 14 -14441.625093  -3241.649012 -21997.826532    -31.479676                    
+V 14   3534.150729 -27784.358136   1751.425950      -.001070                    
+P 15 -25047.072384   2042.916042   8838.862952    377.431444                    
+V 15  10064.356158  -5869.852554  28910.971265       .053151                    
+P 16 -17411.426324   4123.044598  19716.448538      2.003916                    
+V 16 -19160.618808 -15882.773454 -13609.384916      -.001875                    
+P 17  15119.801018 -15403.493401  15189.791067    -94.683854                    
+V 17  19043.850171  -3157.939324 -23264.065794       .187527                    
+P 18 -19696.694772 -17928.713651   1918.007610   -118.626624                    
+V 18   3422.670996   -468.594906  31506.252803      -.037631                    
+P 19  -7985.070669  24863.258137   5035.313821    -11.800954                    
+V 19  -1622.278076  -6651.259587  30840.057800      -.008604                    
+P 20   6479.602854  19460.611562 -16957.985581    -91.101438                    
+V 20 -18221.019219 -11319.001755 -20019.691303       .026921                    
+P 21 -15962.038727  -8850.039710  19435.230294     87.916267                    
+V 21  22619.009769  -9725.154370  13696.621695       .010587                    
+P 22 -22511.018427 -11035.148254  -8573.443472     16.249387                    
+V 22  -6808.296803  -9190.180590  29170.978406       .000102                    
+P 23    637.767388  25944.513641   5282.047978    211.433390                    
+V 23  -3559.881021   6471.057460 -30919.881628       .006098                    
+P 24  25079.073356  -3401.373163  -7949.156249     89.208380                    
+V 24  -8962.963212   5882.015115 -29621.311279       .029601                    
+P 25 -24405.755117   9176.567792  -4754.296726     84.260588                    
+V 25   4253.445894  -5880.577514 -30669.521428       .008528                    
+P 26   7337.306942 -24390.778409   6003.363280    316.499897                    
+V 26   1406.900113   8401.445109  31437.785789       .056138                    
+P 27  15339.580016   8682.020464  20525.716469    512.906603                    
+V 27 -21848.281834  11744.138661  11220.704332       .063479                    
+P 28  23053.161258  11176.971793  -7406.564670     46.467170                    
+V 28   6111.307896   7822.969525  29624.324764       .002077                    
+P 29   9637.073597 -22236.079400  10959.902817    180.491388                    
+V 29    529.175914  13665.583341  28070.736258      -.189155                    
+P 30 -15316.951461 -19495.961802  -9930.582432    445.503631                    
+V 30  11672.129650   4677.301306 -27782.568924      -.142943                    
+*  2005  1 19  0 45   .00000000                                                 
+P  1 -13865.261957  11618.982596 -19245.950746    383.646119                    
+V  1    981.618283 -24808.257265 -15554.205726       .019026                    
+P  2  22565.519761 -13582.677405   2759.395823    -43.151070                    
+V  2   4827.307702    943.103147 -31463.539356       .058281                    
+P  3 -11767.592239  17119.607224  16278.128179     77.806104                    
+V  3  -3235.658434 -21032.857968  19895.050029       .030260                    
+P  4  24734.220916  -4974.031961  -8830.083757    443.431685                    
+V  4  -8968.975703   7010.858642 -28736.077445      -.206521                    
+P  5  -4031.040920 -18237.624213 -19100.496011     72.931416                    
+V  5  21737.327203  10180.704402 -14258.333275       .025525                    
+P  6  -7993.702479 -22512.823856  11679.360100   -171.827744                    
+V  6   3506.141746 -14545.563822 -26175.207526       .884809                    
+P  7  15175.728195   5814.792901 -20617.008172     65.850888                    
+V  7   -800.053899  27199.550731   6796.881844      -.302010                    
+P  8  19402.869517   4385.694476  17598.509275    -18.947194                    
+V  8 -19880.039144  10717.260684  18706.199740      -.011662                    
+P  9   7206.124447 -18508.203040 -17945.450184    -24.704929                    
+V  9  20111.405827  -9074.379669  18258.150196      -.018185                    
+P 10  14392.362444  -7379.038317  21066.736502     57.460775                    
+V 10  21895.618724  15411.645981  -9249.374744       .007022                    
+P 11  -5768.559733  19705.489433 -16775.309264    186.189364                    
+V 11 -19505.143862   9566.050300  18159.188711       .036738                    
+P 13   6289.117660  22943.234670  11820.780776    -13.893469                    
+V 13  -2670.214634  14890.698259 -27285.122295       .009630                    
+P 14 -14194.043419  -5733.528872 -21650.417702    -31.479804                    
+V 14   1967.896938 -27496.426935   5957.463758      -.001069                    
+P 15 -24021.137949   1438.010830  11357.966488    377.436829                    
+V 15  12674.197725  -7615.454573  26988.209438       .053149                    
+P 16 -19110.771239   2782.327004  18326.685555      2.003836                    
+V 16 -18518.654196 -13893.232083 -17230.300489      -.001874                    
+P 17  16710.703292 -15691.857100  12968.687638    -94.667046                    
+V 17  16266.521648  -3178.995069 -26024.229702       .187561                    
+P 18 -19263.745652 -17883.166867   4729.324132   -118.630239                    
+V 18   6229.323692   1418.007732  30879.183894      -.037631                    
+P 19  -8125.284599  24115.578151   7759.840084    -11.801878                    
+V 19  -1562.661753  -9946.513975  29618.590314      -.008604                    
+P 20   4734.421747  18431.644655 -18609.602213    -91.098801                    
+V 20 -20522.608978 -11471.852963 -16630.743747       .026923                    
+P 21 -13889.792020  -9802.247146  20498.918644     87.917413                    
+V 21  23346.280079 -11427.428660   9905.123956       .010589                    
+P 22 -23025.209397 -11752.665995  -5881.364551     16.249289                    
+V 22  -4554.458770  -6787.323290  30566.076019       .000108                    
+P 23    345.516896  26376.001038   2461.477133    211.433795                    
+V 23  -3001.375708   3095.671876 -31668.562685       .006094                    
+P 24  24149.328394  -2792.717331 -10538.640774     89.212582                    
+V 24 -11638.859631   7687.917748 -27838.614043       .029593                    
+P 25 -23903.102062   8558.213119  -7465.324577     84.261412                    
+V 25   6863.662272  -7904.087610 -29487.344607       .008511                    
+P 26   7469.802661 -23477.687478   8770.212302    316.505303                    
+V 26   1609.400581  11863.307604  29954.822623       .056134                    
+P 27  13357.840212   9814.511288  21365.674838    512.912623                    
+V 27 -22110.645728  13402.460357   7418.711364       .063477                    
+P 28  23497.397772  11777.178222  -4685.028553     46.467402                    
+V 28   3702.895697   5554.735686  30767.945856       .002070                    
+P 29   9709.443272 -20870.424034  13385.252915    180.474452                    
+V 29   1143.338524  16634.107060  25750.263444      -.189161                    
+P 30 -14142.299820 -19027.225633 -12339.977314    445.490360                    
+V 30  14424.438518   5666.559127 -25684.714532      -.142948                    
+*  2005  1 19  1  0   .00000000                                                 
+P  1 -13835.324934   9311.187136 -20473.329209    383.648826                    
+V  1   -351.369521 -26390.649903 -11680.510324       .019034                    
+P  2  22860.254343 -13431.744332    -88.065538    -43.146026                    
+V  2   1751.374577   2473.071879 -31721.666120       .058268                    
+P  3 -12108.296491  15138.757375  17920.731039     77.808524                    
+V  3  -4368.682993 -22912.121151  16554.326208       .030257                    
+P  4  23818.144793  -4255.319814 -11334.464076    443.413439                    
+V  4 -11324.375876   8995.473645 -26837.930389      -.206524                    
+P  5  -1994.064824 -17340.108955 -20218.601470     72.932777                    
+V  5  23470.787481   9705.400193 -10553.077271       .025510                    
+P  6  -7707.672905 -23693.665639   9230.112577   -171.748168                    
+V  6   2907.192608 -11652.255076 -28175.325429       .884772                    
+P  7  15160.112881   8220.214875 -19823.567430     65.823793                    
+V  7    432.143139  26167.672612  10807.212412      -.302019                    
+P  8  17559.222039   5439.572848  19125.614546    -18.947216                    
+V  8 -21004.353636  12701.009407  15178.517514      -.011665                    
+P  9   8913.707581 -19321.333382 -16155.705892    -24.706298                    
+V  9  17796.973842  -8922.145779  21461.067589      -.018177                    
+P 10  16353.216408  -6076.245563  20055.564477     57.461764                    
+V 10  21591.712697  13514.282959 -13187.252822       .007021                    
+P 11  -7427.027000  20547.285801 -15000.538692    186.192649                    
+V 11 -17320.191612   9071.501483  21223.867373       .036741                    
+P 13   6090.676070  24146.426169   9270.519783    -13.892733                    
+V 13  -1802.350994  11799.746030 -29305.714787       .009628                    
+P 14 -14085.951218  -8174.180989 -20928.608626    -31.479892                    
+V 14    449.977012 -26648.313410  10059.376035      -.001067                    
+P 15 -22777.471840    665.507662  13682.659991    377.443172                    
+V 15  14892.679451  -9581.559959  24596.366500       .053146                    
+P 16 -20729.661783   1624.071917  16623.806571      2.003835                    
+V 16 -17373.230607 -11843.391933 -20557.644583      -.001874                    
+P 17  18041.423823 -15962.479311  10518.745682    -94.650125                    
+V 17  13277.738059  -2759.577351 -28340.766675       .187595                    
+P 18 -18571.146491 -17685.402520   7460.575530   -118.633764                    
+V 18   9178.068933   2907.495325  29729.549841      -.037630                    
+P 19  -8278.509841  23077.429653  10351.480250    -11.802569                    
+V 19  -1907.785588 -13090.465748  27891.411169      -.008604                    
+P 20   2793.693912  17408.685336 -19943.023258    -91.096190                    
+V 20 -22552.440135 -11191.680602 -12958.741304       .026924                    
+P 21 -11774.943547 -10904.264686  21212.672095     87.918186                    
+V 21  23566.295320 -13039.337417   5931.069821       .010592                    
+P 22 -23320.259766 -12263.932463  -3087.490127     16.249082                    
+V 22  -1949.059807  -4619.600056  31430.139296       .000116                    
+P 23     85.207157  26499.278684   -401.792811    211.434431                    
+V 23  -2852.665241   -361.483028 -31867.551032       .006091                    
+P 24  22995.736368  -2010.703640 -12945.409240     89.215454                    
+V 24 -13926.648281   9721.562057 -25566.297938       .029585                    
+P 25 -23180.818498   7747.108527 -10046.426055     84.262293                    
+V 25   9123.589731 -10151.309116 -27785.747792       .008494                    
+P 26   7639.528012 -22261.696815  11378.945265    316.510566                    
+V 26   2228.869624  15114.949364  27929.365420       .056130                    
+P 27  11373.738425  11089.630453  21857.228051    512.918611                    
+V 27 -21904.372510  14899.813326   3488.248434       .063475                    
+P 28  23710.271219  12185.048180  -1884.069168     46.467703                    
+V 28    981.189650   3560.193989  31387.370134       .002062                    
+P 29   9853.688750 -19251.864218  15582.000190    180.457588                    
+V 29   2117.455998  19272.216617  22998.340734      -.189166                    
+P 30 -12723.124333 -18489.038215 -14540.944703    445.477585                    
+V 30  17091.068327   6221.168526 -23157.539894      -.142953                    
+*  2005  1 19  1 15   .00000000                                                 
+P  1 -13933.512268   6884.707428 -21342.227151    383.649768                    
+V  1  -1850.890277 -27438.943800  -7599.768854       .019041                    
+P  2  22887.299066 -13127.058831  -2934.032053    -43.140802                    
+V  2  -1107.180705   4351.377778 -31431.042263       .058256                    
+P  3 -12558.795957  13009.424608  19249.312630     77.810993                    
+V  3  -5662.806913 -24325.300607  12927.292759       .030256                    
+P  4  22708.111595  -3349.729363 -13647.201403    443.396080                    
+V  4 -13271.006983  11150.360484 -24483.034996      -.206526                    
+P  5    182.284216 -16500.369065 -20994.618695     72.935351                    
+V  5  24824.095217   8906.608002  -6666.885024       .025495                    
+P  6  -7459.572024 -24603.723703   6622.210444   -171.668598                    
+V  6   2668.895268  -8542.334271 -29695.415127       .884735                    
+P  7  15248.534524  10509.973830 -18677.811858     65.796657                    
+V  7   1498.628541  24636.372306  14614.309300      -.302028                    
+P  8  15637.643308   6670.227348  20322.379575    -18.947530                    
+V  8 -21610.719252  14629.772627  11375.601332      -.011668                    
+P  9  10404.020813 -20100.650709 -14092.808500    -24.709483                    
+V  9  15297.435956  -8319.202378  24319.110949      -.018169                    
+P 10  18263.050245  -4949.541037  18700.106654     57.462374                    
+V 10  20761.085102  11514.507730 -16889.428169       .007020                    
+P 11  -8882.136465  21325.754768 -12965.934714    186.195868                    
+V 11 -15000.073940   8157.349664  23924.700166       .036745                    
+P 13   5952.748644  25060.088989   6560.915460    -13.891638                    
+V 13  -1332.089697   8472.392977 -30821.150660       .009627                    
+P 14 -14108.842640 -10514.115182 -19844.991238    -31.480095                    
+V 14   -927.984926 -25263.813119  13986.016185      -.001064                    
+P 15 -21353.814795   -290.856974  15772.367010    377.447754                    
+V 15  16666.399937 -11686.952111  21773.268652       .053143                    
+P 16 -22223.194125    649.575316  14636.821900      2.003754                    
+V 16 -15736.460593  -9824.807811 -23534.774107      -.001876                    
+P 17  19097.271310 -16174.896326   7882.098585    -94.633136                    
+V 17  10174.913552  -1884.674777 -30165.955243       .187630                    
+P 18 -17610.141585 -17372.668318  10065.536933   -118.637095                    
+V 18  12178.404176   3969.223346  28076.641215      -.037628                    
+P 19  -8479.933774  21766.564652  12766.026587    -11.803431                    
+V 19  -2627.284285 -15992.349200  25688.911352      -.008604                    
+P 20    685.535952  16428.795784 -20935.556043    -91.093824                    
+V 20 -24230.855498 -10523.543313  -9066.203450       .026923                    
+P 21  -9662.723177 -12143.963917  21563.025807     87.919241                    
+V 21  23291.406613 -14472.606064   1840.929740       .010594                    
+P 22 -23367.581505 -12593.373630   -240.269631     16.249427                    
+V 22    937.902989  -2757.377383  31750.177273       .000123                    
+P 23   -180.462002  26311.485530  -3258.112904    211.434736                    
+V 23  -3119.961262  -3800.289343 -31514.557175       .006089                    
+P 24  21655.885833  -1038.467508 -15126.973606     89.218327                    
+V 24 -15769.857560  11900.531736 -22840.906168       .029577                    
+P 25 -22273.059128   6726.686090 -12451.937873     84.263466                    
+V 25  10977.284555 -12541.282629 -25590.442944       .008476                    
+P 26   7882.278606 -20766.350267  13782.327499    316.515507                    
+V 26   3223.715518  18055.182129  25398.570717       .056126                    
+P 27   9428.250510  12489.227055  21991.512534    512.923988                    
+V 27 -21258.672491  16155.703580   -510.389372       .063473                    
+P 28  23666.803650  12428.080192    948.747932     46.467949                    
+V 28  -1980.467794   1900.710535  31475.414698       .002054                    
+P 29  10099.569841 -17413.582730  17513.479228    180.440455                    
+V 29   3390.623092  21505.543968  19864.104163      -.189172                    
+P 30 -11071.127221 -17920.123402 -16496.747904    445.464386                    
+V 30  19583.863390   6352.738323 -20244.344969      -.142958                    
+*  2005  1 19  1 30   .00000000                                                 
+P  1 -14170.746969   4389.141168 -21837.249212    383.651814                    
+V  1  -3425.672253 -27922.443303  -3384.502776       .019049                    
+P  2  22669.876780 -12639.768866  -5729.453755    -43.135647                    
+V  2  -3669.015241   6520.161190 -30600.740478       .058244                    
+P  3 -13130.047656  10775.236822  20241.007752     77.814819                    
+V  3  -7038.315440 -25237.957832   9079.180880       .030253                    
+P  4  21442.868279  -2245.659788 -15728.835623    443.377624                    
+V  4 -14768.036612  13391.550150 -21709.211156      -.206529                    
+P  5   2461.174118 -15744.700995 -21415.143634     72.937737                    
+V  5  25741.269516   7848.755977  -2664.193522       .025479                    
+P  6  -7215.669411 -25227.435831   3900.205736   -171.588890                    
+V  6   2816.761866  -5304.229043 -30706.866324       .884699                    
+P  7  15422.634111  12641.297248 -17201.138347     65.769368                    
+V  7   2324.426637  22656.757541  18150.061680      -.302037                    
+P  8  13684.768404   8068.441095  21166.894271    -18.948167                    
+V  8 -21701.856171  16408.945158   7361.894395      -.011671                    
+P  9  11664.326342 -20804.834839 -11790.187356    -24.711739                    
+V  9  12700.658921  -7251.705102  26779.951989      -.018160                    
+P 10  20074.541728  -4003.831555  17024.402391     57.463410                    
+V 10  19408.744607   9508.068978 -20293.953065       .007020                    
+P 11 -10125.533983  22002.999572 -10706.458872    186.199200                    
+V 11 -12629.727698   6823.461550  26213.563579       .036749                    
+P 13   5838.028398  25667.281538   3738.630907    -13.890850                    
+V 13  -1290.246157   5006.004559 -31806.279332       .009625                    
+P 14 -14246.216948 -12706.833329 -18418.427756    -31.480266                    
+V 14  -2080.551379 -23385.407958  17669.396591      -.001061                    
+P 15 -19791.993244  -1439.646772  17590.276349    377.452172                    
+V 15  17958.266453 -13842.280262  18564.677878       .053140                    
+P 16 -23548.372438   -147.988212  12399.586393      2.003498                    
+V 16 -13638.523652  -7925.817013 -26110.825090      -.001877                    
+P 17  19872.526836 -16288.180370   5104.797259    -94.616408                    
+V 17   7059.357174   -559.107891 -31460.682831       .187664                    
+P 18 -16380.310200 -16984.187303  12500.087125   -118.640112                    
+V 18  15136.172823   4590.058163  25947.856443      -.037628                    
+P 19  -8761.269938  20208.553552  14962.365100    -11.804194                    
+V 19  -3674.594627 -18569.716994  23049.344566      -.008604                    
+P 20  -1555.252729  15524.307593 -21570.305584    -91.091308                    
+V 20 -25489.478488  -9527.145239  -5019.271918       .026923                    
+P 21  -7596.461358 -13501.463177  21542.637342     87.920270                    
+V 21  22551.355936 -15643.794574  -2295.889749       .010596                    
+P 22 -23145.428336 -12771.127239   2611.109361     16.249362                    
+V 22   4024.873994  -1256.828737  31522.778046       .000130                    
+P 23   -488.515789  25818.756820  -6058.068148    211.435234                    
+V 23  -3790.974136  -7121.578794 -30617.047049       .006088                    
+P 24  20171.710784    133.028136 -17044.527928     89.221666                    
+V 24 -17128.719211  14133.860498 -19707.629538       .029568                    
+P 25 -21218.313769   5488.079324 -14638.942955     84.263139                    
+V 25  12384.691153 -14984.360370 -22936.693145       .008459                    
+P 26   8229.297350 -19023.813568  15936.948249    316.520573                    
+V 26   4534.730484  20594.268404  22410.095089       .056123                    
+P 27   7559.062294  13988.197453  21765.169780    512.929598                    
+V 27 -20217.244733  17096.589685  -4515.262046       .063471                    
+P 28  23349.067127  12538.638330   3765.596370     46.468097                    
+V 28  -5099.232275    622.741320  31033.440349       .002045                    
+P 29  10470.777791 -15394.825726  19147.708543    180.423760                    
+V 29   4889.352913  23274.097362  16402.341910      -.189177                    
+P 30  -9205.752884 -17357.405626 -18174.814262    445.451333                    
+V 30  21819.449373   6089.485446 -16994.238238      -.142963                    
+*  2005  1 19  1 45   .00000000                                                 
+P  1 -14549.542169   1875.948915 -21949.653555    383.652649                    
+V  1  -4980.753236 -27830.582691    890.194166       .019057                    
+P  2  22237.780848 -11946.824246  -8426.513995    -43.130522                    
+V  2  -5867.884328   8908.786796 -29249.009044       .058234                    
+P  3 -13825.614292   8482.122512  20878.998266     77.817174                    
+V  3  -8411.182121 -25633.549845   5078.912681       .030251                    
+P  4  20064.095683   -939.349453 -17543.630756    443.358721                    
+V  4 -15791.294735  15629.346648 -18561.309396      -.206532                    
+P  5   4801.359728 -15093.151406 -21472.673913     72.941757                    
+V  5  26180.538870   6605.848657   1388.446981       .025464                    
+P  6  -6940.695921 -25557.426694   1110.843831   -171.509350                    
+V  6   3359.328849  -2030.881405 -31189.648076       .884662                    
+P  7  15657.776465  14576.721860 -15420.809224     65.741997                    
+V  7   2845.527965  20295.276426  21352.444747      -.302045                    
+P  8  11746.138517   9616.605671  21643.266209    -18.949672                    
+V  8 -21299.289171  17947.287706   3206.495470      -.011674                    
+P  9  12689.939162 -21392.132296  -9285.749574    -24.713379                    
+V  9  10097.177225  -5723.988899  28796.594859      -.018150                    
+P 10  21741.668964  -3235.472056  15057.821908     57.463359                    
+V 10  17558.482862   7588.643156 -23344.458295       .007019                    
+P 11 -11156.528200  22541.870868  -8261.090982    186.202661                    
+V 11 -10293.944419   5086.562092  28049.434350       .036752                    
+P 13   5707.266151  25960.051337    852.184530    -13.889983                    
+V 13  -1689.025839   1502.350976 -32245.071370       .009623                    
+P 14 -14474.293568 -14710.443083 -16673.711953    -31.480360                    
+V 14  -2931.934387 -21072.638103  21045.885605      -.001057                    
+P 15 -18136.380065  -2781.144500  19104.031047    377.457442                    
+V 15  18748.977441 -15953.468508  15023.702821       .053137                    
+P 16 -24665.695652   -783.120830   9950.240295      2.003482                    
+V 16 -11126.682496  -6228.124570 -28241.564996      -.001878                    
+P 17  20370.611786 -16262.744194   2235.977875    -94.599339                    
+V 17   4032.181280   1192.180642 -32195.693738       .187699                    
+P 18 -14889.742026 -16559.559728  14722.920793   -118.643437                    
+V 18  17956.986670   4774.760263  23378.296632      -.037630                    
+P 19  -9149.381429  18435.899113  16903.153177    -11.804908                    
+V 19  -4988.856098 -20751.428894  20018.142742      -.008604                    
+P 20  -3888.326095  14721.609082 -21836.452298    -91.088735                    
+V 20 -26273.821590  -8274.409526   -886.630515       .026922                    
+P 21  -5616.065309 -14949.717010  21150.501684     87.921199                    
+V 21  21392.246417 -16477.698260  -6408.157481       .010598                    
+P 22 -22639.798879 -12831.669846   5417.580686     16.249291                    
+V 22   7221.846917   -157.915529  30754.022785       .000137                    
+P 23   -874.059146  25035.969766  -8753.346650    211.435790                    
+V 23  -4835.475439 -10230.862102 -29192.015363       .006087                    
+P 24  18587.909407   1504.380794 -18663.699128     89.225259                    
+V 24 -17981.787235  16325.589179 -16219.660525       .029559                    
+P 25 -20057.896630   4030.751871 -16568.112663     84.263227                    
+V 25  13323.327673 -17385.697439 -19868.897996       .008442                    
+P 26   8705.801259 -17073.670965  17804.117059    316.525972                    
+V 26   6087.713003  22657.659983  19020.964496       .056119                    
+P 27   5799.327225  15555.234958  21180.466657    512.935034                    
+V 27 -18836.830452  17658.602395  -8463.410547       .063470                    
+P 28  22746.905217  12552.537839   6519.149324     46.468272                    
+V 28  -8285.769472   -243.678542  30071.144958       .002037                    
+P 29  10983.934284 -13239.514588  20457.854838    180.406717                    
+V 29   6530.556775  24534.256660  12672.503123      -.189182                    
+P 30  -7153.620951 -16834.567383 -19547.223331    445.437993                    
+V 30  23722.229006   5474.980451 -13461.361040      -.142967                    
+*  2005  1 19  2  0   .00000000                                                 
+P  1 -15063.846789   -603.381768 -21677.517558    383.655415                    
+V  1  -6421.445025 -27173.324472   5148.125676       .019065                    
+P  2  21626.090790 -11032.002727 -10979.429937    -43.125297                    
+V  2  -7652.885138  11436.658244 -27402.687529       .058224                    
+P  3 -14641.433642   6176.672736  21152.783694     77.819688                    
+V  3  -9696.581057 -25513.914788    997.727151       .030249                    
+P  4  18614.865439    564.757439 -19060.182310    443.340032                    
+V  4 -16334.136796  17771.665128 -15090.628428      -.206535                    
+P  5   7158.539190 -14558.782219 -21165.754923     72.944052                    
+V  5  26115.975558   5258.594061   5423.359523       .025448                    
+P  6  -6599.400590 -25594.759893  -1697.733504   -171.430004                    
+V  6   4287.624064   1183.705909 -31132.835975       .884626                    
+P  7  15924.159720  16285.350453 -13369.351812     65.714745                    
+V  7   3011.514210  17630.877286  24166.653392      -.302054                    
+P  8   9864.536979  11289.193773  21741.987763    -18.951109                    
+V  8 -20442.590819  19160.676583  -1018.017633      -.011677                    
+P  9  13484.316130 -21822.014563  -6621.350896    -24.714577                    
+V  9   7576.812028  -3758.945184  30328.470277      -.018141                    
+P 10  23221.364545  -2632.616013  12834.526516     57.464259                    
+V 10  15251.954326   5844.225952 -25990.970519       .007019                    
+P 11 -11981.927883  22907.469062  -5672.152054    186.205997                    
+V 11  -8074.056109   2979.790715  29399.212721       .036755                    
+P 13   5520.971917  25939.661798  -2048.881733    -13.889146                    
+V 13  -2521.558587  -1936.175715 -32130.833812       .009622                    
+P 14 -14763.022260 -16489.094958 -14641.126375    -31.480344                    
+V 14  -3419.069162 -18399.818520  24057.319163      -.001054                    
+P 15 -16432.251456  -4307.090432  20286.356654    377.463098                    
+V 15  19037.837815 -17925.385864  11210.038523       .053133                    
+P 16 -25540.626279  -1277.259781   7330.577585      2.003522                    
+V 16  -8263.653297  -4803.638065 -29890.149899      -.001881                    
+P 17  20603.881365 -16062.131255   -673.073808    -94.582341                    
+V 17   1190.105625   3324.742197 -32352.627049       .187734                    
+P 18 -13154.902819 -16137.159933  16696.219740   -118.646884                    
+V 18  20549.668184   4545.711649  20410.259603      -.037632                    
+P 19  -9665.100088  16486.900287  18555.431024    -11.805868                    
+V 19  -6497.347395 -22480.205244  16647.131644      -.008603                    
+P 20  -6269.139873  14040.172259 -21729.430814    -91.086229                    
+V 20 -26545.379854  -6846.595942   3261.610189       .026920                    
+P 21  -3756.617329 -16455.401775  20392.061639     87.921977                    
+V 21  19874.863405 -16910.505470 -10424.029164       .010600                    
+P 22 -21845.045684 -12812.291419   8131.043741     16.249339                    
+V 22  10433.770391    516.972506  29459.231687       .000144                    
+P 23  -1368.714463  23986.161976 -11297.580376    211.436243                    
+V 23  -6206.572603 -13041.847956 -27265.583319       .006086                    
+P 24  16950.248903   3067.470094 -19955.230396     89.227401                    
+V 24 -18326.838458  18378.600744 -12437.343145       .029550                    
+P 25 -18834.314648   2362.795628 -18204.501826     84.263260                    
+V 25  13789.270484 -19649.050161 -16439.934023       .008427                    
+P 26   9329.776563 -14961.415515  19350.645577    316.530706                    
+V 26   7796.781840  24189.038182  15296.167447       .056115                    
+P 27   4176.574571  17153.813635  20245.356620    512.940683                    
+V 27 -17185.318941  17790.014241 -12291.546102       .063469                    
+P 28  21858.373900  12507.522111   9163.317074     46.468452                    
+V 28 -11447.460015   -685.834248  28606.265105       .002029                    
+P 29  11647.873306 -10994.705878  21422.607288    180.389774                    
+V 29   8224.830122  25260.146464   8737.692370      -.189188                    
+P 30  -4947.702062 -16380.744217 -20591.123510    445.424857                    
+V 30  25227.088134   4566.356056  -9704.074915      -.142972                    
+*  2005  1 19  2 15   .00000000                                                 
+P  1 -15699.248935  -2999.170421 -21025.769859    383.657049                    
+V  1  -7657.289435 -25980.721931   9313.486808       .019073                    
+P  2  20873.714180  -9886.667020 -13345.194980    -43.120212                    
+V  2  -8990.065501  14016.361968 -25096.505193       .058215                    
+P  3 -15565.905424   3904.492866  21058.327186     77.822767                    
+V  3 -10812.404440 -24899.014724  -3092.209572       .030248                    
+P  4  17138.047536   2253.951511 -20251.967340    443.321260                    
+V  4 -16407.671980  19727.503209 -11354.224056      -.206537                    
+P  5   9486.832677 -14147.206823 -20499.035470     72.946285                    
+V  5  25538.571315   3891.268319   9372.762586       .025432                    
+P  6  -6158.124410 -25348.874244  -4476.825652   -171.350369                    
+V  6   5575.328765   4248.009552 -30534.983293       .884590                    
+P  7  16188.133292  17743.831456 -11083.866300     65.687881                    
+V  7   2787.552331  14751.714108  26546.003816      -.302062                    
+P  8   8078.426844  13053.561088  21460.191213    -18.952397                    
+V  8 -19187.885381  19975.643958  -5236.897272      -.011679                    
+P  9  14058.835893 -22056.838667  -3842.168516    -24.716587                    
+V  9   5225.203813  -1397.689019  31342.513823      -.018131                    
+P 10  24475.057113  -2175.879527  10392.860978     57.465941                    
+V 10  12547.103677   4353.789518 -28190.602331       .007019                    
+P 11 -12615.585728  23068.576626  -2984.559482    186.209283                    
+V 11  -6044.749293    551.593317  30238.400988       .036757                    
+P 13   5241.124915  25616.477219  -4914.846485    -13.888535                    
+V 13  -3762.172454  -5210.349933 -31466.268359       .009622                    
+P 14 -15077.347805 -18014.187777 -12355.904129    -31.480459                    
+V 14  -3494.177952 -15453.191995  26652.006798      -.001051                    
+P 15 -14724.102534  -6000.757666  21115.613406    377.468436                    
+V 15  18842.854066 -19665.638058   7189.036306       .053130                    
+P 16 -26144.885504  -1657.766602   4585.350936      2.003231                    
+V 16  -5125.386425  -3711.671566 -31027.773375      -.001885                    
+P 17  20593.043421 -15654.709104  -3569.939654    -94.565568                    
+V 17  -1378.638372   5776.153481 -31924.780730       .187769                    
+P 18 -11200.193841 -15752.587061  18386.274145   -118.650424                    
+V 18  22829.592658   3941.995101  17092.636099      -.037633                    
+P 19 -10322.285626  14404.309255  19891.158541    -11.806740                    
+V 19  -8118.364477 -23714.655243  12993.660504      -.008600                    
+P 20  -8650.462247  13491.855732 -21251.007358    -91.083910                    
+V 20 -26283.132817  -5331.069973   7355.048925       .026918                    
+P 21  -2047.151858 -17980.069448  19279.205314     87.922988                    
+V 21  18072.390830 -16892.577595 -14272.341690       .010604                    
+P 22 -20764.169484 -12751.478854  10705.177761     16.249397                    
+V 22  13564.114371    763.677356  27662.556629       .000151                    
+P 23  -1999.203925  22699.647827 -13647.142345    211.437010                    
+V 23  -7842.636204 -15479.614678 -24872.435746       .006086                    
+P 24  15303.823870   4805.531329 -20895.579183     89.230420                    
+V 24 -18180.996967  20198.576574  -8427.127083       .029541                    
+P 25 -17589.581757    500.879573 -19518.272704     84.263245                    
+V 25  13797.368309 -21680.719805 -12710.252868       .008411                    
+P 26  10111.096882 -12736.702922  20549.492526    316.536202                    
+V 26   9568.210223  25152.507545  11307.032372       .056112                    
+P 27   2711.806895  18743.380081  18973.475562    512.946179                    
+V 27 -15339.442936  17453.377928 -15936.815612       .063468                    
+P 28  20689.889508  12441.686901  11653.954040     46.468638                    
+V 28 -14491.686488   -708.603285  26664.198417       .002022                    
+P 29  12463.227914  -8708.956928  22026.461254    180.373371                    
+V 29   9879.921687  25444.356703   4663.664483      -.189193                    
+P 30  -2626.266419 -16019.402688 -21289.074126    445.412160                    
+V 30  26281.725719   3432.044589  -5784.118243      -.142976                    
+*  2005  1 19  2 30   .00000000                                                 
+P  1 -16433.528542  -5265.301415 -20006.088304    383.657798                    
+V  1  -8605.835723 -24301.665880  13312.343507       .019082                    
+P  2  20021.813828  -8510.228869 -15484.253790    -43.114963                    
+V  2  -9863.360218  16557.011239 -22372.289702       .058207                    
+P  3 -16580.289406   1708.610136  20598.077023     77.825744                    
+V  3 -11682.637776 -23825.959222  -7119.174694       .030246                    
+P  4  15674.726744   4107.512745 -21097.827392    443.302374                    
+V  4 -16040.336938  21410.423761  -7414.109022      -.206539                    
+P  5  11740.331025 -13856.416248 -19483.230108     72.949123                    
+V  5  24456.709182   2588.425813  13169.820126       .025416                    
+P  6  -5586.327789 -24837.202847  -7178.036315   -171.271021                    
+V  6   7179.643694   7076.470870 -29404.316520       .884554                    
+P  7  16413.664321  18937.027560  -8605.263294     65.660498                    
+V  7   2155.692020  11751.558227  28452.593741      -.302070                    
+P  8   6420.554960  14871.051469  20801.780951    -18.953949                    
+V  8 -17605.655136  20332.551790  -9374.643403      -.011681                    
+P  9  14432.267869 -22063.444546   -995.979075    -24.718430                    
+V  9   3120.393132   1301.516155  31814.187589      -.018122                    
+P 10  25470.044561  -1839.289955   7774.689489     57.466652                    
+V 10   9516.010201   3184.321831 -29908.114214       .007018                    
+P 11 -13077.666195  22998.962158   -245.028435    186.212772                    
+V 11  -4271.139674  -2136.011081  30551.617307       .036759                    
+P 13   4832.826125  25009.511962  -7696.651200    -13.887711                    
+V 13  -5367.391756  -8227.763184 -30263.375068       .009623                    
+P 14 -15378.678685 -19265.296725  -9857.605551    -31.480671                    
+V 14  -3126.724739 -12327.632498  28785.614270      -.001047                    
+P 15 -13053.987843  -7837.368519  21576.257304    377.474522                    
+V 15  18200.083938 -21088.329330   3030.611355       .053126                    
+P 16 -26457.524901  -1956.685388   1761.523629      2.003012                    
+V 16  -1798.336427  -2996.626013 -31634.194542      -.001887                    
+P 17  20366.221103 -15015.185233  -6402.140718    -94.548795                    
+V 17  -3598.091602   8468.418188 -30917.548468       .187804                    
+P 18  -9057.219448 -15437.226799  19764.045181   -118.654138                    
+V 18  24721.812742   3017.854211  13480.211125      -.037632                    
+P 19 -11127.159600  12233.832271  20887.670505    -11.807523                    
+V 19  -9764.431343 -24430.709965   9119.659416      -.008597                    
+P 20 -10983.990935  13080.509642 -20409.254499    -91.081283                    
+V 20 -25484.399197  -3817.843072  11324.136110       .026915                    
+P 21   -509.662672 -19481.529816  17830.144240     87.923905                    
+V 21  16067.594967 -16390.724573 -17883.966553       .010607                    
+P 22 -19408.790454 -12687.272118  13096.213153     16.249353                    
+V 22  16518.458404    596.221342  25396.437460       .000158                    
+P 23  -2786.131591  21212.869594 -15761.886611    211.437573                    
+V 23  -9669.795275 -17483.314698 -22055.115658       .006084                    
+P 24  13691.339469   6693.584209 -21467.412856     89.233196                    
+V 24 -17580.058077  21697.905019  -4260.343008       .029532                    
+P 25 -16363.549761  -1530.156281 -20485.327459     84.264777                    
+V 25  13380.654787 -23393.466579  -8746.749608       .008396                    
+P 26  11051.002506 -10451.449886  21380.255552    316.541441                    
+V 26  11304.581547  25533.846061   7129.459547       .056108                    
+P 27   1418.821590  20280.719730  17384.064980    512.952072                    
+V 27 -13382.113572  16627.253006 -19337.652341       .063467                    
+P 28  19256.081256  12391.908246  13949.528666     46.468880                    
+V 28 -17329.093199   -334.103042  24277.556896       .002013                    
+P 29  13422.332862  -6430.656335  22259.911957    180.356583                    
+V 29  11404.262793  25098.002441    517.830560      -.189199                    
+P 30   -231.642386 -15767.440267 -21629.310390    445.399214                    
+V 30  26848.533929   2149.122877  -1765.736479      -.142980                    
+*  2005  1 19  2 45   .00000000                                                 
+P  1 -17237.535846  -7360.834170 -18636.666802    383.660765                    
+V  1  -9196.078042 -22201.872308  17074.060139       .019090                    
+P  2  19112.181462  -6910.308011 -17361.103058    -43.109671                    
+V  2 -10274.844245  18967.661503 -19278.111592       .058199                    
+P  3 -17659.395686   -372.000477  19780.866843     77.829770                    
+V  3 -12240.455489 -22347.363777 -11013.208371       .030243                    
+P  4  14262.686837   6097.274242 -21582.374585    443.283407                    
+V  4 -15276.817248  22741.922753  -3336.345474      -.206541                    
+P  5  13874.658618 -13676.904074 -18134.986071     72.950840                    
+V  5  22896.005397   1431.570608  16749.709795       .025400                    
+P  6  -4858.009044 -24084.486339  -9754.145779   -171.191700                    
+V  6   9042.838614   9592.782399 -27758.739504       .884518                    
+P  7  16563.888306  19858.354364  -5977.452774     65.633202                    
+V  7   1115.437191   8726.081369  29857.723364      -.302079                    
+P  8   4916.782159  16698.365689  19777.434412    -18.954892                    
+V  8 -15777.924443  20188.251823 -13356.497465      -.011683                    
+P  9  14629.941100 -21814.622019   1867.651003    -24.719721                    
+V  9   1329.595650   4265.078354  31728.398159      -.018112                    
+P 10  26180.650194  -1591.480000   5024.686838     57.467129                    
+V 10   6242.236725   2388.347587 -31116.349855       .007017                    
+P 11 -13393.666445  22678.502699   2498.764964    186.216261                    
+V 11  -2806.230425  -5009.722472  30332.928753       .036759                    
+P 13   4265.829922  24145.662432 -10346.727112    -13.886914                    
+V 13  -7277.617114 -10906.200508 -28543.206551       .009625                    
+P 14 -15626.501374 -20230.789337  -7189.421572    -31.480765                    
+V 14  -2304.686214  -9123.029881  30421.907765      -.001043                    
+P 15 -11459.953842  -9784.842227  21659.196091    377.477670                    
+V 15  17162.246519 -22117.636255  -1191.997389       .053122                    
+P 16 -26465.733099  -2209.317206  -1092.520180      2.002650                    
+V 16   1623.680019  -2686.237041 -31698.133588      -.001889                    
+P 17  19957.696674 -14125.871164  -9118.231909    -94.532433                    
+V 17  -5407.835712  11311.139909 -29348.491558       .187839                    
+P 18  -6763.787468 -15216.977800  20805.660616   -118.657471                    
+V 18  26163.853617   1840.583857   9632.873672      -.037629                    
+P 19 -12077.938895  10022.530218  21528.044173    -11.808141                    
+V 19 -11345.724257 -24622.411736   5090.637822      -.008595                    
+P 20 -13222.016740  12801.897489 -19218.423351    -91.078848                    
+V 20 -24165.011537  -2396.011962  15101.307976       .026912                    
+P 21    841.616099 -20915.410495  16069.168144     87.924808                    
+V 21  13949.574600 -15389.863536 -21193.192293       .010611                    
+P 22 -17798.800641 -12655.656551  15263.648445     16.249409                    
+V 22  19207.966379     46.059787  22700.940033       .000166                    
+P 23  -3743.011731  19567.029981 -17605.819077    211.438104                    
+V 23 -11604.895272 -19008.313305 -18863.196351       .006082                    
+P 24  12151.491115   8699.204727 -21659.987015     89.235781                    
+V 24 -16577.024269  22799.369043    -11.824590       .029523                    
+P 25 -15192.328045  -3698.051053 -21087.829315     84.265499                    
+V 25  12588.966623 -24710.211968  -4621.425703       .008381                    
+P 26  12141.960247  -8157.864117  21829.500195    316.546651                    
+V 26  12909.055177  25340.771098   2842.082319       .056104                    
+P 27    303.786108  21721.457090  15501.814572    512.957497                    
+V 27 -11399.460003  15307.443130 -22434.715992       .063466                    
+P 28  17579.355583  12392.329481  16011.750294     46.469293                    
+V 28 -19876.713450    399.264946  21485.659109       .002004                    
+P 29  14509.443039  -4206.378409  22119.559490    180.339344                    
+V 29  12710.436800  24250.135148  -3631.717650      -.189204                    
+P 30   2191.171573 -15634.538540 -21605.929007    445.386234                    
+V 30  26905.968181    800.353693   2285.211234      -.142983                    
+*  2005  1 19  3  0   .00000000                                                 
+P  1 -18076.358432  -9251.401384 -16941.857376    383.662674                    
+V  1  -9371.408170 -19761.201290  20532.639709       .019098                    
+P  2  18185.618917  -5102.585223 -18944.813204    -43.104316                    
+V  2 -10244.316755  21160.672765 -15867.386801       .058190                    
+P  3 -18772.536374  -2303.715636  18621.700437     77.832866                    
+V  3 -12430.915680 -20529.123611 -14707.354941       .030240                    
+P  4  12935.020387   8188.479154 -21696.311326    443.264878                    
+V  4 -14176.342194  23654.554998    809.965613      -.206543                    
+P  5  15848.493394 -13592.088130 -16476.653690     72.953749                    
+V  5  20898.515859    495.909546  20050.697261       .025384                    
+P  6  -3952.954489 -23121.804606 -12159.974504   -171.112187                    
+V  6  11094.434213  11732.835402 -25625.635443       .884482                    
+P  7  16602.678590  20509.784763  -3246.505516     65.606201                    
+V  7   -316.402825   5769.170479  30742.089145      -.302087                    
+P  8   3585.190963  18489.141499  18404.466519    -18.957344                    
+V  8 -13794.929008  19518.101521 -17109.974551      -.011684                    
+P  9  14682.637290 -21290.381574   4698.251222    -24.721075                    
+V  9    -93.677102   7406.608226  31080.259989      -.018102                    
+P 10  26589.121768  -1397.080170   2189.595987     57.467424                    
+V 10   2817.784939   2002.010649 -31796.547878       .007016                    
+P 11 -13593.229911  22094.077957   5199.041863    186.219482                    
+V 11  -1688.861802  -7987.719077  29585.992585       .036759                    
+P 13   3515.896237  23058.652251 -12819.793509    -13.886131                    
+V 13  -9419.420366 -13176.617931 -26335.479709       .009628                    
+P 14 -15780.076389 -20908.107083  -4397.416794    -31.481064                    
+V 14  -1035.092190  -5940.498571  31533.347707      -.001037                    
+P 15  -9974.628429 -11804.849900  21362.027771    377.482773                    
+V 15  15796.631702 -22691.036452  -5403.593086       .053118                    
+P 16 -26165.345385  -2452.665104  -3927.794435      2.002431                    
+V 16   5042.922700  -2790.461178 -31217.524484      -.001889                    
+P 17  19406.391271 -12977.631701 -11668.885973    -94.515410                    
+V 17  -6765.565472  14205.316830 -27247.028082       .187874                    
+P 18  -4362.676730 -15111.191051  21492.835300   -118.661016                    
+V 18  27108.076359    487.920586   5614.738797      -.037625                    
+P 19 -13164.782286   7817.178125  21801.374582    -11.808928                    
+V 19 -12773.583696 -24302.034327    974.636928      -.008593                    
+P 20 -15319.071796  12643.938023 -17698.714616    -91.076304                    
+V 20 -22358.802027  -1150.229076  18622.097539       .026908                    
+P 21   2000.621517 -22236.834941  14026.275315     87.925662                    
+V 21  11810.201139 -13893.969551 -24139.100092       .010616                    
+P 22 -15961.713574 -12689.052299  17170.903027     16.249384                    
+V 22  21552.620774   -839.321418  19622.994392       .000173                    
+P 23  -4875.579708  17806.560490 -19147.689090    211.438770                    
+V 23 -13558.797691 -20027.687695 -15352.352163       .006080                    
+P 24  10717.509657  10783.612629 -21469.394109     89.238203                    
+V 24 -15239.903604  23439.444512   4241.589388       .029515                    
+P 25 -14106.861734  -5964.190162 -21314.595449     84.265793                    
+V 25  11486.815759 -25567.351950   -409.882274       .008365                    
+P 26  13367.904256  -5906.494342  21890.922967    316.551791                    
+V 26  14289.532586  24602.236517  -1475.568733       .056101                    
+P 27   -634.910069  23021.642595  13356.616274    512.962982                    
+V 27  -9477.654780  13507.672138 -25171.919574       .063466                    
+P 28  15689.188745  12472.960069  17806.147798     46.469542                    
+V 28 -22060.865278   1438.336663  18333.966567       .001993                    
+P 29  15701.257174  -2079.318710  21608.127004    180.322417                    
+V 29  13718.474626  22946.536530  -7717.160682      -.189209                    
+P 30   4595.993542 -15622.792717 -21218.992382    445.373543                    
+V 30  26449.361857   -528.978689   6302.167101      -.142987                    
+*  2005  1 19  3 15   .00000000                                                 
+P  1 -18910.727550 -10910.340229 -14951.696731    383.664403                    
+V  1  -9091.962107 -17070.426285  23627.945205       .019106                    
+P  2  17280.385600  -3110.359524 -20209.468146    -43.098986                    
+V  2  -9808.251911  23054.903304 -12197.955771       .058180                    
+P  3 -19884.697907  -4059.340122  17141.429238     77.835204                    
+V  3 -12213.153555 -18447.704955 -18138.803189       .030237                    
+P  4  11718.918444  10340.903367 -21436.654726    443.246586                    
+V  4 -12810.402393  24094.694193   4953.790200      -.206545                    
+P  5  17624.987381 -13579.016199 -14535.960393     72.956951                    
+V  5  18521.323637   -152.691642  23015.201805       .025368                    
+P  6  -2857.766598 -21985.363369 -14353.219601   -171.032615                    
+V  6  13253.935783  13447.199107 -23041.462008       .884447                    
+P  7  16496.171321  20901.528718   -459.806570     65.578913                    
+V  7  -2106.545474   2969.422463  31095.770375      -.302095                    
+P  8   2435.511225  20195.682106  16706.556129    -18.957444                    
+V  8 -11751.406351  18317.231380 -20566.390532      -.011685                    
+P  9  14625.245860 -20478.967780   7445.392851    -24.722115                    
+V  9  -1111.999850  10630.093331  29875.656854      -.018092                    
+P 10  26686.242987  -1218.256228   -682.536989     57.468153                    
+V 10   -660.230575   2043.777268 -31938.534011       .007016                    
+P 11 -13708.800777  21240.199360   7808.782766    186.222676                    
+V 11   -942.239140 -10982.770759  28324.000285       .036760                    
+P 13   2565.911787  21787.731563 -15073.614996    -13.885181                    
+V 13 -11708.365184 -14985.612057 -23678.053766       .009631                    
+P 14 -15800.149327 -21303.703382  -1529.726222    -31.481359                    
+V 14    656.182118  -2878.558833  32101.523495      -.001030                    
+P 15  -8624.027551 -13854.138936  20689.151613    377.487972                    
+V 15  14182.381495 -22762.043835  -9528.483388       .053114                    
+P 16 -25561.035281  -2723.809474  -6695.546142      2.002159                    
+V 16   8361.334672  -3301.048198 -30199.616397      -.001888                    
+P 17  18754.150008 -11570.471699 -14007.932372    -94.498614                    
+V 17  -7648.822086  17047.567472 -24653.743998       .187910                    
+P 18  -1900.214749 -15131.863387  21813.208890   -118.664306                    
+V 18  27523.519508   -954.979340   1493.187192      -.037622                    
+P 19 -14370.052218   5662.644153  21702.953960    -11.809614                    
+V 19 -13963.985958 -23499.531727  -3158.851422      -.008592                    
+P 20 -17233.501043  12587.258437 -15875.951275    -91.074098                    
+V 20 -20116.415304   -157.335814  21826.207096       .026904                    
+P 21   2969.544365 -23402.151697  11736.680972     87.926526                    
+V 21   9740.392600 -11926.255160 -26666.892138       .010621                    
+P 22 -13931.737978 -12814.957148  18785.897507     16.249426                    
+V 22  23484.101956  -1998.399987  16215.550987       .000180                    
+P 23  -6181.410295  15977.485554 -20361.493640    211.439382                    
+V 23 -15439.890043 -20533.038794 -11583.349276       .006077                    
+P 24   9415.934730  12903.032337 -20898.673346     89.239579                    
+V 24 -13648.858145  23571.054877   8422.632536       .029506                    
+P 25 -13131.731744  -8284.946998 -21161.348303     84.267942                    
+V 25  10150.604274 -25917.518842   3810.310851       .008350                    
+P 26  14704.839932  -3744.384817  21565.351901    316.556798                    
+V 26  15362.529144  23366.828212  -5744.831198       .056097                    
+P 27  -1406.511698  24139.372691  10983.222336    512.968756                    
+V 27  -7699.622695  11259.637265 -27497.532226       .063465                    
+P 28  13621.172654  12658.434942  19302.595097     46.469768                    
+V 28 -23819.724661   2717.220667  14873.467280       .001982                    
+P 29  16967.726296    -87.864170  20734.394248    180.305332                    
+V 29  14358.870547  21247.942885 -11671.879546      -.189215                    
+P 30   6936.991976 -15726.631315 -20474.549571    445.360402                    
+V 30  25491.156250  -1754.334791  10218.809546      -.142991                    
+*  2005  1 19  3 30   .00000000                                                 
+P  1 -19698.604761 -12319.513307 -12701.329259    383.664635                    
+V  1  -8336.267952 -14227.595441  26306.775310       .019115                    
+P  2  16430.766910   -963.829491 -21134.521680    -43.093792                    
+V  2  -9018.170814  24578.630302  -8331.153596       .058170                    
+P  3 -20957.885246  -5618.922197  15366.332392     77.838322                    
+V  3 -11561.996970 -16187.071906 -21249.908101       .030235                    
+P  4  10634.688948  12510.205772 -20806.857631    443.228319                    
+V  4 -11259.963651  24024.812066   9023.350232      -.206546                    
+P  5  19173.033643 -13609.332070 -12345.589843     72.959421                    
+V  5  15834.546819   -460.430907  25590.835489       .025351                    
+P  6  -1566.625258 -20715.082988 -16295.245611   -170.953360                    
+V  6  15434.011253  14703.019948 -20051.141660       .884412                    
+P  7  16214.187046  21051.410598   2334.781680     65.551945                    
+V  7  -4206.687321    406.948755  30918.034066      -.302103                    
+P  8   1468.890778  21770.762192  14713.336994    -18.958230                    
+V  8  -9742.666169  16600.991775 -23662.337576      -.011687                    
+P  9  14495.232330 -19377.562973  10059.672100    -24.723145                    
+V  9  -1705.796848  13833.574184  28131.520013      -.018083                    
+P 10  26471.637462  -1016.333933  -3543.140060     57.469552                    
+V 10  -4093.070482   2513.797542 -31540.798067       .007016                    
+P 11 -13774.174457  20119.347741  10282.575701    186.225894                    
+V 11   -573.101315 -13905.577749  26569.424889       .036762                    
+P 13   1406.737760  20376.180358 -17069.706144    -13.884306                    
+V 13 -14052.245764 -16297.292557 -20616.284695       .009633                    
+P 14 -15650.609889 -21432.642275   1364.279747    -31.481668                    
+V 14   2725.359930    -29.438942  32117.423887      -.001020                    
+P 15  -7426.630949 -15886.076370  19651.744508    377.493848                    
+V 15  12407.247618 -22302.319048 -13492.003553       .053111                    
+P 16 -24666.179034  -3058.276746  -9348.092415      2.002017                    
+V 16  11484.180673  -4191.821815 -28660.917558      -.001887                    
+P 17  18043.912553  -9913.731264 -16093.318081    -94.481596                    
+V 17  -8055.793656  19734.568491 -21619.353408       .187946                    
+P 18    575.284008 -15283.117694  21760.593670   -118.667734                    
+V 18  27397.144691  -2398.870185  -2662.170955      -.037618                    
+P 19 -15668.882469   3600.347709  21234.352792    -11.810294                    
+V 19 -14840.848109 -22261.336370  -7239.987160      -.008591                    
+P 20 -18928.897986  12606.038454 -13781.157056    -91.071628                    
+V 20 -17503.488436    516.714432  24658.526464       .026902                    
+P 21   3758.574770 -24370.643822   9240.209826     87.927425                    
+V 21   7826.379842  -9528.548759 -28729.129600       .010628                    
+P 22 -11748.612062 -13054.792434  20081.555069     16.249341                    
+V 22  24948.214004  -3358.120616  12536.671712       .000189                    
+P 23  -7649.856273  14125.745391 -21226.887915    211.439884                    
+V 23 -17157.670112 -20534.595465  -7620.977336       .006074                    
+P 24   8265.669574  15010.272316 -19957.776727     89.241790                    
+V 24 -11892.823545  23165.651109  12455.222658       .029499                    
+P 25 -12284.230502 -10613.243116 -20630.816496     84.269119                    
+V 25   8665.306989 -25731.655112   7961.317435       .008334                    
+P 26  16121.776598  -1713.410799  20860.593572    316.562126                    
+V 26  16056.582966  21700.369034  -9889.548387       .056094                    
+P 27  -2027.456812  25036.384855   8420.801462    512.974471                    
+V 27  -6141.746832   8612.392917 -29365.337687       .063465                    
+P 28  11415.846741  12966.977653  20475.778854     46.469882                    
+V 28 -25105.494844   4159.780372  11160.007271       .001971                    
+P 29  18273.117403   1735.653654  19513.048710    180.288209                    
+V 29  14575.222598  19227.763085 -15431.358465      -.189220                    
+P 30   9170.213358 -15933.030346 -19384.572293    445.347685                    
+V 30  24060.532973  -2795.179850  13970.005430      -.142994                    
+*  2005  1 19  3 45   .00000000                                                 
+P  1 -20396.883068 -13469.789595 -10230.340616    383.665854                    
+V  1  -7102.134890 -11334.141699  28523.773414       .019124                    
+P  2  15665.812653   1300.872521 -21705.070181    -43.088530                    
+V  2  -7938.504424  25672.106366  -4330.881681       .058160                    
+P  3 -21952.583477  -6970.280763  13327.610699     77.840727                    
+V  3 -10468.953405 -13835.377056 -23989.081659       .030232                    
+P  4   9695.045037  14649.458148 -19816.819505    443.209474                    
+V  4  -9612.273102  23425.174926  12947.379475      -.206548                    
+P  5  20468.330088 -13650.467972  -9942.669502     72.963567                    
+V  5  12918.828831   -387.860408  27731.395497       .025334                    
+P  6    -81.747796 -19353.045828 -17951.811513   -170.873948                    
+V  6  17543.983671  15485.252880 -16707.256397       .884377                    
+P  7  15731.496768  20983.977001   5089.731775     65.524926                    
+V  7  -6555.492838  -1849.402547  30216.986817      -.302111                    
+P  8    678.023186  23169.435807  12459.860041    -18.959514                    
+V  8  -7860.614439  14404.545728 -26341.060592      -.011688                    
+P  9  14330.979384 -17992.640698  12493.711328    -24.723411                    
+V  9  -1874.344214  16913.255377  25875.907845      -.018074                    
+P 10  25953.756010   -753.450969  -6343.894299     57.471774                    
+V 10  -7383.898876   3393.940596 -30610.460179       .007015                    
+P 11 -13823.003420  18742.005586  12577.433019    186.229369                    
+V 11   -571.563757 -16668.195863  24353.578146       .036763                    
+P 13     37.751742  18869.672739 -18773.972884    -13.883502                    
+V 13 -16354.621593 -17094.490764 -17202.267258       .009636                    
+P 14 -15300.034249 -21317.875101   4234.847208    -31.481530                    
+V 14   5112.402079   2524.359385  31581.541189      -.001011                    
+P 15  -6392.768417 -17852.349963  18267.599054    377.498705                    
+V 15  10563.958128 -21303.048627 -17222.059036       .053106                    
+P 16 -23502.396465  -3488.465143 -11839.645226      2.001707                    
+V 16  14323.577388  -5419.663942 -26626.978045      -.001885                    
+P 17  17317.855272  -8025.880664 -17887.960750    -94.465252                    
+V 17  -8005.145479  22167.473362 -18203.355862       .187982                    
+P 18   3015.162982 -15560.992328  21335.126037   -118.671391                    
+V 18  26734.430922  -3753.937557  -6780.598752      -.037613                    
+P 19 -17030.031198   1666.853455  20403.401163    -11.810979                    
+V 19 -15339.045613 -20648.550120 -11199.693347      -.008591                    
+P 20 -20375.350477  12669.113851 -11450.046320    -91.069259                    
+V 20 -14598.261733    819.525863  27070.080786       .026899                    
+P 21   4385.317619 -25106.146458   6580.582925     87.928299                    
+V 21   6146.130389  -6759.879150 -30286.836572       .010635                    
+P 22  -9456.242991 -13422.993534  21036.218685     16.249220                    
+V 22  25906.776841  -4836.809531   8648.571038       .000198                    
+P 23  -9262.307835  12295.541178 -21729.497788    211.440433                    
+V 23 -18626.268818 -20060.617516  -3532.941582       .006072                    
+P 24   7277.358386  17056.457378 -18663.390273     89.244175                    
+V 24 -10065.748815  22214.516782  16266.059482       .029492                    
+P 25 -11573.754491 -12900.260121 -19732.681447     84.269936                    
+V 25   7120.776284 -25000.297032  11966.751088       .008318                    
+P 26  17581.940957    151.140161  19791.140235    316.566935                    
+V 26  16315.066352  19682.877228 -13837.534406       .056090                    
+P 27  -2520.643915  25679.565982   5712.389281    512.979995                    
+V 27  -4870.699570   5631.039295 -30735.817887       .063465                    
+P 28   9117.355420  13409.604170  21305.603634     46.470242                    
+V 28 -25886.101500   5682.485181   7253.569239       .001960                    
+P 29  19577.294678   3365.979978  17964.456664    180.271190                    
+V 29  14326.413664  16969.366560 -18934.061941      -.189225                    
+P 30  11255.050002 -16222.016481 -17966.804593    445.334861                    
+V 30  22202.453585  -3578.127131  17492.775763      -.142998                    
+*  2005  1 19  4  0   .00000000                                                 
+P  1 -20963.132807 -14361.170152  -7582.017557    383.668303                    
+V  1  -5406.757454  -8490.905885  30242.155019       .019133                    
+P  2  15008.287667   3642.856945 -21912.042097    -43.083188                    
+V  2  -6644.029478  26289.675498   -262.687759       .058150                    
+P  3 -22829.278929  -8109.229025  11060.806584     77.844018                    
+V  3  -8942.544097 -11481.548453 -26311.545011       .030230                    
+P  4   8904.694854  16710.798308 -18482.782051    443.190966                    
+V  4  -7957.374147  22294.874530  16656.424869      -.206550                    
+P  5  21494.197200 -13667.019965  -7368.171833     72.966844                    
+V  5   9862.395467     88.353499  29397.786871       .025316                    
+P  6   1586.474020 -17941.865197 -19293.717048   -170.794275                    
+V  6  19493.491559  15797.165792 -13069.063191       .884342                    
+P  7  15028.888511  20729.376590   7758.626342     65.497689                    
+V  7  -9081.021418  -3744.323458  29009.103307      -.302119                    
+P  8     47.628660  24350.769326   9985.937949    -18.960211                    
+V  8  -6189.911057  11781.615640 -28553.688860      -.011689                    
+P  9  14170.078213 -16339.938976  14703.144250    -24.724925                    
+V  9  -1635.926414  19767.754659  23147.597206      -.018066                    
+P 10  25149.549185   -394.175546  -9037.505081     57.472545                    
+V 10 -10441.229931   4648.497185 -29163.130358       .007013                    
+P 11 -13887.319542  17126.382454  14653.560219    186.232552                    
+V 11   -911.640473 -19187.406071  21715.989650       .036765                    
+P 13  -1532.936892  17314.563965 -20157.281079    -13.882726                    
+V 13 -18518.516324 -17379.262107 -13493.976613       .009640                    
+P 14 -14723.051055 -20989.224875   7032.692559    -31.481825                    
+V 14   7743.274099   4713.101655  30503.810695      -.001001                    
+P 15  -5524.344891 -19704.757566  16560.823602    377.504418                    
+V 15   8746.348422 -19775.518292 -20650.642547       .053102                    
+P 16 -22098.784144  -4042.189563 -14127.109334      2.001584                    
+V 16  16801.778096  -6926.170207 -24132.010957      -.001883                    
+P 17  16615.591717  -5933.926984 -19360.469758    -94.448426                    
+V 17  -7534.901491  24256.085424 -14472.455006       .188018                    
+P 18   5372.091216 -15953.551220  20543.316164   -118.675057                    
+V 18  25559.283803  -4933.381720 -10791.390369      -.037605                    
+P 19 -18416.988441   -107.346896  19224.070163    -11.811782                    
+V 19 -15407.031502 -18734.592360 -14970.763851      -.008591                    
+P 20 -21550.448982  12741.297939  -8922.432424    -91.066786                    
+V 20 -11488.705800    714.418445  29018.891504       .026897                    
+P 21   4873.899389 -25578.502880   3804.612757     87.929339                    
+V 21   4766.093437  -3694.312779 -31310.428480       .010642                    
+P 22  -7101.202400 -13926.377105  21633.980276     16.249132                    
+V 22  26338.924537  -6347.390565   4616.620815       .000208                    
+P 23 -10992.761378  10527.764413 -21861.131496    211.441024                    
+V 23 -19767.781261 -19156.129305    611.266372       .006069                    
+P 24   6453.112891  18992.841074 -17038.613944     89.246873                    
+V 24  -8262.625434  20729.235467  19786.159459       .029485                    
+P 25 -11001.539834 -15097.229087 -18483.371113     84.272310                    
+V 25   5607.844180 -23734.007122  15753.347033       .008302                    
+P 26  19044.212951   1821.690239  18377.754049    316.571874                    
+V 26  16098.303972  17405.043965 -17521.836151       .056087                    
+P 27  -2914.424739  26042.311388   2904.232660    512.985702                    
+V 27  -3940.536471   2394.716922 -31577.320874       .063465                    
+P 28   6771.976558  13989.596560  21777.529701     46.470590                    
+V 28 -26146.355996   7197.541180   3217.496402       .001947                    
+P 29  20837.173628   4785.698022  16114.356456    180.254095                    
+V 29  13588.262566  14563.029294 -22122.285630      -.189230                    
+P 30  13155.595521 -16567.443741 -16244.525201    445.322150                    
+V 30  19976.129343  -4039.855074  20727.268908      -.143001                    
+*  2005  1 19  4 15   .00000000                                                 
+P  1 -21357.321795 -15002.558143  -4802.550825    383.671576                    
+V  1  -3286.043501  -5794.236511  31434.244979       .019142                    
+P  2  14473.869035   6017.821824 -21752.305158    -43.078011                    
+V  2  -5216.968800  26401.387485   3807.142007       .058139                    
+P  3 -23549.980969  -9039.491251   8605.162736     77.846112                    
+V  3  -7007.986868  -9211.904369 -28179.938615       .030227                    
+P  4   8260.253156  18647.143746 -16827.106626    443.172441                    
+V  4  -6384.463701  20652.133775  20084.167381      -.206551                    
+P  5  22242.115252 -13622.254724  -4666.236505     72.969576                    
+V  5   6757.783107    974.282304  30558.851257       .025298                    
+P  6   3419.668116 -16523.042718 -20297.353192   -170.714830                    
+V  6  21196.160895  15660.090580  -9201.353003       .884307                    
+P  7  14093.999727  20322.059860  10296.886351     65.470484                    
+V  7 -11703.485631  -5237.763006  27318.660068      -.302126                    
+P  8   -444.731866  25279.425275   7335.386973    -18.961049                    
+V  8  -4804.436867   8802.434434 -30260.281541      -.011691                    
+P  9  14047.638438 -14444.053453  16647.555856    -24.725379                    
+V  9  -1027.225367  22302.325572  19995.501645      -.018058                    
+P 10  24083.837720     92.967315 -11578.455971     57.473592                    
+V 10 -13182.175276   6225.522372 -27222.664892       .007011                    
+P 11 -13996.133150  15297.844873  16475.061509    186.235910                    
+V 11  -1552.420033 -21387.889626  18703.625120       .036767                    
+P 13  -3288.606724  15756.164781 -21195.943789    -13.881732                    
+V 13 -20450.143538 -17172.665773  -9554.322089       .009644                    
+P 14 -13901.478455 -20482.119072   9709.843617    -31.482150                    
+V 14  10532.750178   6482.353249  28903.389958      -.000990                    
+P 15  -4814.917991 -21397.010268  14561.408666    377.509606                    
+V 15   7045.427186 -17750.843114 -23715.278983       .053097                    
+P 16 -20490.868907  -4741.403560 -16170.838932      2.001308                    
+V 16  18854.082006  -8639.917672 -21218.354745      -.001880                    
+P 17  15972.513790  -3672.464075 -20485.716987    -94.431536                    
+V 17  -6700.453726  25922.579417 -10498.813787       .188054                    
+P 18   7601.691571 -16441.314248  19397.991545   -118.678135                    
+V 18  23913.249765  -5856.928868 -14625.068941      -.037597                    
+P 19 -19789.297664  -1698.819735  17716.254246    -11.812586                    
+V 19 -15008.959020 -16602.388794 -18488.954114      -.008591                    
+P 20 -22440.018377  12784.870966  -6241.563118    -91.064568                    
+V 20  -8269.269401    181.988364  30470.734214       .026895                    
+P 21   5253.802253 -25764.795318    961.324078     87.930393                    
+V 21   3738.418625   -418.128753 -31780.428289       .010649                    
+P 22  -4731.133342 -14563.806940  21864.919146     16.249115                    
+V 22  26241.770692  -7800.785289    508.330587       .000219                    
+P 23 -12808.674874   8858.568386 -21619.889367    211.441694                    
+V 23 -20515.285131 -17881.039097   4741.502609       .006065                    
+P 24   5786.599046  20772.621477 -15112.508009     89.248859                    
+V 24  -6575.485904  18741.298726  22952.280781       .029478                    
+P 25 -10560.750905 -17157.219795 -16905.707390     84.272071                    
+V 25   4214.406677 -21962.939191  19252.533268       .008285                    
+P 26  20464.718813   3279.161280  16646.947553    316.576835                    
+V 26  15384.941841  14964.405394 -20881.775559       .056084                    
+P 27  -3241.352622  26105.673207     45.031454    512.991069                    
+V 27  -3390.195362  -1006.059577 -31867.163093       .063465                    
+P 28   4426.570869  14702.267345  21882.838404     46.470710                    
+V 28 -25888.542925   8616.202771   -882.340763       .001933                    
+P 29  22008.297814   5985.703629  13993.476449    180.236985                    
+V 29  12354.589038  12102.635671 -24942.979355      -.189234                    
+P 30  14841.838436 -16938.018564 -14246.222284    445.309422                    
+V 30  17452.962640  -4129.692211  23617.732545      -.143004                    
+*  2005  1 19  4 30   .00000000                                                 
+P  1 -21543.441490 -15411.187188  -1940.198362    383.672665                    
+V  1   -793.206844  -3332.322195  32081.822207       .019150                    
+P  2  14070.615706   8379.518606 -21228.692487    -43.072874                    
+V  2  -3743.854126  25994.065409   7812.477435       .058129                    
+P  3 -24079.686806  -9772.320859   6002.932246     77.847870                    
+V  3  -4706.253442  -7106.921368 -29564.790668       .030225                    
+P  4   7750.482433  20413.898868 -14877.933028    443.153807                    
+V  4  -4978.237497  18533.855688  23168.732036      -.206553                    
+P  5  22711.956772 -13479.689757  -1883.423171     72.971568                    
+V  5   3698.359911   2258.259380  31192.076532       .025279                    
+P  6   5392.001314 -15135.381832 -20945.143958   -170.634891                    
+V  6  22573.130484  15112.428814  -5173.181930       .884272                    
+P  7  12921.890699  19799.350975  12662.445140     65.443063                    
+V  7 -14338.230087  -6306.049304  25177.100655      -.302134                    
+P  8   -827.544740  25927.029218   4555.184368    -18.963996                    
+V  8  -3764.231861   5550.991872 -31430.652729      -.011692                    
+P  9  13994.697103 -12337.652263  18291.355284    -24.724635                    
+V  9   -101.714846  24432.970974  16477.700526      -.018051                    
+P 10  22788.403854    734.117442 -13923.736154     57.473741                    
+V 10 -15535.381415   8058.770928 -24820.822394       .007009                    
+P 11 -14174.165445  13288.074112  18010.568553    186.239204                    
+V 11  -2439.842413 -23205.079732  15369.965153       .036769                    
+P 13  -5204.375403  14237.067839 -21872.119913    -13.880896                    
+V 13 -22062.521554 -16513.831003  -5450.126178       .009647                    
+P 14 -12825.188711 -19836.120928  12220.453924    -31.482239                    
+V 14  13387.643334   7794.910716  26808.285224      -.000977                    
+P 15  -4250.125933 -22886.473301  12304.668260    377.513601                    
+V 15   5545.554074 -15278.857969 -26360.352497       .053092                    
+P 16 -18719.320839  -5601.149888 -17935.338983      2.001043                    
+V 16  20431.251833 -10479.260679 -17935.782886      -.001876                    
+P 17  15418.346774  -1282.414491 -21245.246212    -94.414640                    
+V 17  -5571.824406  27104.599722  -6358.225933       .188090                    
+P 18   9664.067454 -16997.995273  17918.131570   -118.681549                    
+V 18  21854.051125  -6454.133899 -18214.606499      -.037590                    
+P 19 -21104.042883  -3091.904757  15905.456709    -11.813299                    
+V 19 -14126.226163 -14341.201397 -21694.041041      -.008591                    
+P 20 -23038.544447  12761.180532  -3453.392971    -91.062165                    
+V 20  -5037.368520   -778.994171  31399.777573       .026895                    
+P 21   5558.474267 -25650.296129  -1898.979021     87.931312                    
+V 21   3098.780988   2973.547993 -31687.941227       .010655                    
+P 22  -2393.126563 -15326.169581  21725.247912     16.248946                    
+V 22  25630.423259  -9109.375683  -3607.686244       .000232                    
+P 23 -14672.076744   7318.133776 -21010.171807    211.442277                    
+V 23 -20815.438926 -16307.719901   8788.095050       .006061                    
+P 24   5263.478429  22352.683634 -12919.517732     89.251597                    
+V 24  -5089.552802  16300.875431  25708.196309       .029472                    
+P 25 -10236.915213 -19036.852733 -15028.418547     84.272564                    
+V 25   3021.674106 -19735.565069  22401.850745       .008269                    
+P 26  21798.512815   4513.413041  14630.380402    316.581990                    
+V 26  14172.549488  12461.383925 -23863.768345       .056081                    
+P 27  -3536.729272  25859.241565  -2814.913876    512.996736                    
+V 27  -3241.539423  -4472.658561 -31592.608885       .063465                    
+P 28   2127.005479  15535.026082  21618.819928     46.471173                    
+V 28 -25132.403478   9852.158791  -4978.436712       .001918                    
+P 29  23046.483482   6965.376003  11637.080263    180.219885                    
+V 29  10637.652467   9682.242092 -27348.538819      -.189239                    
+P 30  16290.648914 -17298.538800 -12005.181209    445.296624                    
+V 30  14714.020372  -3811.770538  26113.472499      -.143008                    
+*  2005  1 19  4 45   .00000000                                                 
+P  1 -21490.975927 -15611.735477    955.573946    383.673939                    
+V  1   2003.305234  -1181.898202  32176.275152       .019159                    
+P  2  13798.727318  10681.288240 -20349.948815    -43.067547                    
+V  2  -2312.254069  25071.796868  11688.225419       .058119                    
+P  3 -24387.735030 -10325.838897   3298.652837     77.851359                    
+V  3  -2092.548862  -5238.271023 -30444.847061       .030223                    
+P  4   7356.857800  21970.587442 -12668.722111    443.135194                    
+V  4  -3815.375560  15994.415550  25853.953403      -.206554                    
+P  5  22911.901631 -13204.684821    932.093317     72.973518                    
+V  5    774.774962   3911.110440  31284.162733       .025261                    
+P  6   7471.003461 -13813.522877 -21225.869476   -170.555425                    
+V  6  23556.278442  14207.954272  -1056.507555       .884237                    
+P  7  11515.344059  19199.945945  14816.363070     65.415692                    
+V  7 -16898.820922  -6942.403918  22622.354720      -.302142                    
+P  8  -1133.982550  26273.261713   1694.562457    -18.966015                    
+V  8  -3113.043004   2121.702291 -32044.950785      -.011692                    
+P  9  14036.806883 -10060.344981  19604.542386    -24.725727                    
+V  9   1072.637245  26089.982193  12660.129391      -.018046                    
+P 10  21300.836057   1548.899621 -16033.532477     57.473879                    
+V 10 -17443.556432  10070.159510 -21996.821648       .007008                    
+P 11 -14440.765036  11133.986191  19233.780945    186.242635                    
+V 11  -3508.998526 -24587.576208  11773.968779       .036770                    
+P 13  -7247.966040  12795.589042 -22174.118076    -13.880142                    
+V 13 -23278.843557 -15458.344985  -1251.042203       .009651                    
+P 14 -11492.667572 -19093.316679  14521.576912    -31.482334                    
+V 14  16210.336125   8632.062314  24254.834785      -.000964                    
+P 15  -3808.447873 -24135.770815   9830.568708    377.518084                    
+V 15   4320.902570 -12426.213152 -28538.273316       .053087                    
+P 16 -16828.474585  -6628.782540 -19389.897892      2.000914                    
+V 16  21501.341283 -12355.548664 -14340.670577      -.001872                    
+P 17  14975.978489   1190.474385 -21627.517091    -94.397448                    
+V 17  -4230.341644  27757.607093  -2128.281732       .188126                    
+P 18  11525.168624 -17591.523015  16128.592128   -118.684958                    
+V 18  19453.484330  -6667.341455 -21496.644392      -.037583                    
+P 19 -22317.446375  -4279.132945  13822.381726    -11.814022                    
+V 19 -12758.379993 -12043.213801 -24530.837055      -.008592                    
+P 20 -23349.277674  12632.291375   -605.804206    -91.059813                    
+V 20  -1889.748723  -2151.390387  31789.088465       .026895                    
+P 21   5823.775094 -25229.097090  -4725.677135     87.932202                    
+V 21   2864.916104   6380.505749 -31034.868310       .010662                    
+P 22   -132.124671 -16196.659794  21217.365112     16.248767                    
+V 22  24537.352489 -10190.407352  -7662.751324       .000246                    
+P 23 -16540.886170   5929.672770 -20042.587074    211.442785                    
+V 23 -20630.568852 -14518.145017  12682.944457       .006057                    
+P 24   4862.182945  23695.195687 -10498.791687     89.254730                    
+V 24  -3879.710304  13474.804089  28005.778814       .029465                    
+P 25 -10008.681785 -20697.861308 -12885.532259     84.271882                    
+V 25   2100.759079 -17116.634723  25146.180657       .008254                    
+P 26  23001.279226   5523.325517  12364.192251    316.587168                    
+V 26  12477.472160   9995.363894 -26421.926330       .056078                    
+P 27  -3837.004689  25301.709959  -5624.634988    513.002064                    
+V 27  -3498.070229  -7902.070837 -30751.666384       .063465                    
+P 28    -83.393335  16467.749851  20988.878071     46.471398                    
+V 28 -23914.503141  10824.880897  -9002.602403       .001902                    
+P 29  23909.474578   7732.437142   9084.442386    180.202791                    
+V 29   8467.941609   7392.614349 -29297.560236      -.189244                    
+P 30  17486.519935 -17611.303707  -9558.987167    445.283742                    
+V 30  11847.117880  -3066.658365  28169.783048      -.143012                    
+*  2005  1 19  5  0   .00000000                                                 
+P  1 -21176.157681 -15635.164951   3834.957304    383.675780                    
+V  1   5022.454594    594.551231  31718.576378       .019168                    
+P  2  13650.599631  12877.614982 -19130.597969    -43.062145                    
+V  2  -1007.472292  23655.835480  15371.198552       .058108                    
+P  3 -24448.998719 -10724.121795    538.397435     77.855152                    
+V  3    765.720409  -3666.227051 -30807.268385       .030220                    
+P  4   7054.436173  23282.343414 -10237.687863    443.116145                    
+V  4  -2961.319475  13103.729490  28090.560600      -.206556                    
+P  5  22858.034648 -12765.980490   3731.371309     72.976277                    
+V  5  -1928.521742   5887.096246  30831.421492       .025242                    
+P  6   9618.663224 -12586.659904 -21134.863414   -170.475853                    
+V  6  24091.011107  13013.486815   3075.233403       .884202                    
+P  7   9884.885260  18562.391672  16723.379538     65.388644                    
+V  7 -19300.139974  -7156.855320  19698.129145      -.302150                    
+P  8  -1400.353969  26306.630036  -1195.937781    -18.966840                    
+V  8  -2876.588943  -1384.351854 -32093.977283      -.011691                    
+P  9  14192.862447  -7657.256423  20563.349084    -24.726581                    
+V  9   2416.402315  27220.944645   8615.065420      -.018040                    
+P 10  19663.168205   2549.485965 -17871.877343     57.474544                    
+V 10 -18865.497858  12172.672876 -18796.802797       .007006                    
+P 11 -14809.051299   8876.457812  20123.909193    186.246204                    
+V 11  -4686.853322 -25499.029799   7978.948186       .036770                    
+P 13  -9380.761176  11464.382369 -22096.600870    -13.879290                    
+V 13 -24035.477840 -14076.021596   2971.575400       .009655                    
+P 14  -9911.247427 -18296.621262  16573.887560    -31.482509                    
+V 14  18902.476276   8994.134548  21287.060924      -.000951                    
+P 15  -3462.263680 -25114.186531   7182.961052    377.523050                    
+V 15   3432.368382  -9273.759681 -30210.447822       .053083                    
+P 16 -14864.715665  -7823.492773 -20509.139240      2.000735                    
+V 16  22050.856663 -14176.641647 -10495.031468      -.001869                    
+P 17  14660.607153   3697.308435 -21627.986517    -94.380534                    
+V 17  -2764.912777  27856.394393   2113.401120       .188162                    
+P 18  13157.941665 -18185.308323  14059.721252   -118.688343                    
+V 18  16794.750296  -6454.180726 -24412.689572      -.037576                    
+P 19 -23386.517366  -5261.330882  11502.437769    -11.814805                    
+V 19 -10923.340712  -9799.996882 -26950.142508      -.008592                    
+P 20 -23384.009143  12362.620376   2252.211403    -91.057354                    
+V 20   1081.140140  -3900.215722  31630.990201       .026895                    
+P 21   6086.324598 -24504.389068  -7468.806665     87.933237                    
+V 21   3035.934506   9701.426481 -29833.849998       .010669                    
+P 22   2010.588555 -17151.365183  20349.814394     16.248603                    
+V 22  23011.136472 -10969.214207 -11589.156992       .000262                    
+P 23 -18370.395440   4708.707049 -18733.761450    211.443355                    
+V 23 -19940.172106 -12600.685498  16360.590323       .006053                    
+P 24   4554.986725  24768.992900  -7893.411907     89.256825                    
+V 24  -3007.451786  10343.906727  29805.871419       .029458                    
+P 25  -9848.865720 -22108.439925 -10515.668068     84.273428                    
+V 25   1509.751851 -14184.478390  27438.747501       .008238                    
+P 26  24030.988846   6316.535287   9888.290603    316.592098                    
+V 26  10333.979185   7660.950564 -28518.459041       .056074                    
+P 27  -4178.095372  24441.087730  -8333.489469    513.007745                    
+V 27  -4144.413310 -11190.985288 -29353.639677       .063466                    
+P 28  -2165.302973  17473.449071  20002.546767     46.471634                    
+V 28 -22286.990536  11462.818444 -12886.974330       .001885                    
+P 29  24558.549407   8302.502782   6378.257838    180.185443                    
+V 29   5893.311208   5317.854509 -30755.549378      -.189249                    
+P 30  18422.032026 -17837.644612  -6948.946040    445.270792                    
+V 30   8943.609333  -1892.397778  29748.829955      -.143015                    
+*  2005  1 19  5 15   .00000000                                                 
+P  1 -20582.964576 -15517.334765   6648.655054    383.676301                    
+V  1   8173.710516   1950.996998  30719.088595       .019177                    
+P  2  13611.174510  14925.644841 -17590.732708    -43.056779                    
+V  2     90.678613  21783.915155  18800.971915       .058095                    
+P  3 -24244.875697 -10996.075695  -2230.987266     77.859145                    
+V  3   3791.407575  -2437.528401 -30647.700998       .030217                    
+P  4   6812.996933  24321.197723  -7627.127822    443.097628                    
+V  4  -2467.485075   9944.666712  29837.245350      -.206557                    
+P  5  22573.638620 -12137.120620   6465.578465     72.977917                    
+V  5  -4336.543707   8125.542844  29839.989502       .025224                    
+P  6  11792.750679 -11477.491360 -20674.081170   -170.396620                    
+V  6  24138.496162  11606.040504   7148.568566       .884167                    
+P  7   8048.528122  17923.598988  18352.400437     65.361365                    
+V  7 -21461.384304  -6975.575349  16453.184737      -.302158                    
+P  8  -1664.432470  26024.889187  -4065.429952    -18.968061                    
+V  8  -3061.612006  -4863.427227 -31579.242114      -.011691                    
+P  9  14474.226232  -5177.364978  21150.732899    -24.728697                    
+V  9   3842.256319  27792.932800   4419.386661      -.018035                    
+P 10  17920.361473   3739.936207 -19407.243798     57.475513                    
+V 10 -19777.548777  14273.616564 -15273.193114       .007005                    
+P 11 -15285.317606   6558.909286  20666.013446    186.249481                    
+V 11  -5895.277283 -25919.426553   4051.381727       .036768                    
+P 13 -11559.105851  10269.280389 -21640.685824    -13.878430                    
+V 13 -24284.485729 -12448.132627   7145.833728       .009660                    
+P 14  -8097.005691 -17488.067658  18342.340307    -31.482567                    
+V 14  21368.696844   8900.308728  17955.903635      -.000937                    
+P 15  -3179.166618 -25798.801467   4408.736115    377.528494                    
+V 15   2925.061579  -5913.343866 -31348.023284       .053078                    
+P 16 -12874.794188  -9176.159797 -21273.481565      2.000642                    
+V 16  22085.202829 -15850.585708  -6465.440699      -.001865                    
+P 17  14479.235531   6187.822612 -21249.035947    -94.363539                    
+V 17  -1268.088456  27395.741149   6290.822272       .188198                    
+P 18  14543.218081 -18739.710817  11746.869207   -118.691849                    
+V 18  13969.311040  -5789.483947 -26910.259405      -.037569                    
+P 19 -24270.689594  -6047.406479   8985.158707    -11.815592                    
+V 19  -8656.929569  -7698.985627 -28909.619823      -.008593                    
+P 20 -23162.526008  11920.492663   5071.395844    -91.054979                    
+V 20   3790.616207  -5973.866107  30927.262715       .026895                    
+P 21   6381.826057 -23488.380309 -10080.013775     87.934061                    
+V 21   3592.445263  12837.905595 -28107.942956       .010676                    
+P 22   3998.759527 -18160.128722  19137.150932     16.248670                    
+V 22  21114.628652 -11382.151743 -15321.190695       .000278                    
+P 23 -20114.859306   3662.644826 -17106.055479    211.443952                    
+V 23 -18741.785011 -10646.687128  19759.230738       .006048                    
+P 24   4309.326436  25550.694165  -5149.556048     89.260247                    
+V 24  -2518.430850   6999.753393  31078.925710       .029451                    
+P 25  -9725.729396 -23244.324731  -7961.250455     84.273930                    
+V 25   1291.403393 -11027.788419  29241.878333       .008222                    
+P 26  24849.449748   6908.848307   7245.610748    316.597132                    
+V 26   7792.777803   5544.540716 -30123.896223       .056071                    
+P 27  -4593.693556  23294.537294 -10892.191238    513.013208                    
+V 27  -5146.645028 -14240.021360 -27419.383163       .063466                    
+P 28  -4084.729161  18519.209573  18675.413397     46.471679                    
+V 28 -20315.773987  11706.323461 -16565.075834       .001868                    
+P 29  24960.020715   8698.338176   3563.990489    180.168114                    
+V 29   2977.481370   3532.234193 -31695.573668      -.189254                    
+P 30  19098.020034 -17939.519943  -4219.428741    445.257779                    
+V 30   6094.995870   -304.889928  30820.464334      -.143019                    
+*  2005  1 19  5 30   .00000000                                                 
+P  1 -19703.821806 -15297.445875   9348.713258    383.677278                    
+V  1  11360.475443   2859.404474  29197.217531       .019186                    
+P  2  13658.572938  16786.616512 -15755.728005    -43.051406                    
+V  2    910.923368  19508.995659  21920.727643       .058081                    
+P  3 -23764.041481 -11174.141585  -4962.643267     77.861018                    
+V  3   6900.421528  -1583.765768 -29970.230056       .030213                    
+P  4   6598.408974  25067.106302  -4882.663948    443.078699                    
+V  4  -2369.038530   6609.904805  31061.577983      -.206559                    
+P  5  22088.208537 -11297.699144   9086.878130     72.980411                    
+V  5  -6386.677012  10553.103695  28325.841084       .025205                    
+P  6  13948.312294 -10501.446462 -19852.038589   -170.317428                    
+V  6  23677.247828  10069.571822  11091.417095       .884132                    
+P  7   6031.258132  17317.439981  19676.920236     65.333983                    
+V  7 -23308.880003  -6439.677041  12940.607385      -.302166                    
+P  8  -1963.736455  25435.097785  -6863.638802    -18.968592                    
+V  8  -3655.748024  -8213.195443 -30512.762410      -.011691                    
+P  9  14884.192580  -2671.682789  21356.707736    -24.731251                    
+V  9   5258.906338  27793.817126    152.705677      -.018030                    
+P 10  16118.683082   5115.842250 -20613.079298     57.476488                    
+V 10 -20174.426603  16278.106073 -11483.978598       .007003                    
+P 11 -15868.716577   4225.800584  20851.233638    186.252842                    
+V 11  -7054.260632 -25845.728699     59.692219       .036766                    
+P 13 -13735.811914   9228.404424 -20813.940822    -13.877589                    
+V 13 -23995.561392 -10664.202870  11200.481873       .009664                    
+P 14  -6074.332521 -16707.145268  19796.753210    -31.482614                    
+V 14  23520.221114   8387.718901  14318.350357      -.000924                    
+P 15  -2923.471290 -26175.322054   1556.923436    377.534288                    
+V 15   2826.490995  -2444.158932 -31932.388222       .053072                    
+P 16 -10904.131543 -10669.534010 -21669.496803      2.000516                    
+V 16  21628.392064 -17289.302896  -2321.863378      -.001863                    
+P 17  14430.521576   8612.177334 -20499.758055    -94.346819                    
+V 17    167.893122  26390.222850  10331.073825       .188234                    
+P 18  15670.302482 -19213.648780   9229.798943   -118.695510                    
+V 18  11073.389730  -4666.538560 -28943.945876      -.037560                    
+P 19 -24933.385314  -6653.823126   6313.550395    -11.816303                    
+V 19  -6011.710201  -5820.100434 -30374.572264      -.008594                    
+P 20 -22711.766483  11279.557140   7803.078754    -91.052679                    
+V 20   6164.948144  -8306.006053  29689.176469       .026895                    
+P 21   6743.436675 -22201.858045 -12513.467769     87.934988                    
+V 21   4497.477847  15698.328219 -25890.044346       .010683                    
+P 22   5802.347576 -19187.658240  17599.716476     16.248632                    
+V 22  18922.610254 -11379.135238 -18796.139966       .000295                    
+P 23 -21729.132706   2790.671249 -15187.190871    211.444434                    
+V 23 -17051.186440  -8746.951069  22821.685912       .006043                    
+P 24   4089.311131  26025.508194  -2315.612896     89.263149                    
+V 24  -2440.711000   3541.028847  31805.400014       .029444                    
+P 25  -9604.441492 -24089.567156  -5267.664860     84.276090                    
+V 25   1471.501817  -7742.038249  30527.510648       .008206                    
+P 26  25423.698908   7323.362112   4481.362802    316.602095                    
+V 26   4918.978861   3721.309932 -31217.156432       .056067                    
+P 27  -5113.645296  21887.830481 -13253.849566    513.018994                    
+V 27  -6453.486745 -16957.915675 -24981.214608       .063466                    
+P 28  -5814.141973  19567.381494  17028.944550     46.471891                    
+V 28 -18078.163093  11510.192146 -19972.921387       .001852                    
+P 29  25086.573334   8948.842476    689.165779    180.150910                    
+V 29   -202.063532   2097.349102 -32098.843110      -.189258                    
+P 30  19523.431047 -17881.114191  -1417.146319    445.245013                    
+V 30   3389.475318   1662.406791  31362.943025      -.143023                    
+*  2005  1 19  5 45   .00000000                                                 
+P  1 -18539.986101 -15016.378717  11889.313783    383.677986                    
+V  1  14483.702146   3310.564789  27180.928963       .019196                    
+P  2  13764.990294  18427.155049 -13655.878928    -43.046191                    
+V  2   1393.289672  16897.473968  24678.085063       .058066                    
+P  3 -23002.939340 -11292.880650  -7610.454487     77.863910                    
+V  3  10004.755028  -1120.339728 -28787.222631       .030210                    
+P  4   6374.168507  25508.674702  -2052.409115    443.060315                    
+V  4  -2683.340880   3198.356233  31740.739589      -.206560                    
+P  5  21436.224816 -10234.377917  11549.307423     72.982685                    
+V  5  -8031.106240  13086.568469  26314.590800       .025187                    
+P  6  16039.276992  -9666.216926 -18683.624331   -170.237695                    
+V  6  22704.002195   8491.470317  14834.464850       .884098                    
+P  7   3864.273950  16773.475905  20675.378395     65.306962                    
+V  7 -24778.628653  -5603.524336   9217.078232      -.302174                    
+P  8  -2333.834301  24553.310905  -9541.827664    -18.969112                    
+V  8  -4628.204885 -11336.704932 -28916.618175      -.011692                    
+P  9  15417.813975   -191.360893  21178.503709    -24.732641                    
+V  9   6575.176053  27232.619623  -4104.550120      -.018024                    
+P 10  14304.040099   6664.292925 -21468.269743     57.476608                    
+V 10 -20069.388460  18092.672862  -7491.883136       .007001                    
+P 11 -16551.237946   1921.099404  20676.909087    186.256229                    
+V 11  -8085.179706 -25291.855427  -3926.983609       .036764                    
+P 13 -15861.807989   8351.578408 -19630.273070    -13.876640                    
+V 13 -23157.317781  -8818.486926  15066.093261       .009669                    
+P 14  -3875.184355 -15989.250491  20912.309651    -31.482550                    
+V 14  25278.217893   7509.868959  10436.476628      -.000912                    
+P 15  -2657.850935 -26238.566197  -1322.243498    377.538697                    
+V 15   3145.514140   1031.178956 -31955.419742       .053067                    
+P 16  -8995.186262 -12278.747441 -21690.159854      2.000110                    
+V 16  20722.024222 -18412.148054   1863.589794      -.001859                    
+P 17  14504.979352  10922.701646 -19395.619445    -94.329721                    
+V 17   1454.907007  24873.230675  14165.615702       .188270                    
+P 18  16537.234777 -19566.289240   6552.005522   -118.698748                    
+V 18   8204.250115  -3097.608336 -30476.369467      -.037550                    
+P 19 -25343.445368  -7103.781162   3533.372109    -11.817172                    
+V 19  -3055.179009  -4232.643064 -31318.610247      -.008595                    
+P 20 -22064.706277  10420.004792  10400.026683    -91.050619                    
+V 20   8144.120864 -10818.049868  27937.355036       .026898                    
+P 21   7200.255216 -20673.414251 -14726.712162     87.936137                    
+V 21   5698.151880  18201.428970 -23222.088346       .010690                    
+P 22   7398.476163 -20194.843089  15763.325136     16.248380                    
+V 22  16519.007653 -10925.691422 -21955.269128       .000313                    
+P 23 -23170.296530   2083.955113 -13009.793604    211.445029                    
+V 23 -14901.929738  -6988.245018  25496.295408       .006038                    
+P 24   3857.355816  26187.700984    558.727216     89.264904                    
+V 24  -2783.773444     69.666545  31975.920103       .029437                    
+P 25  -9448.648991 -24636.975093  -2482.379217     84.278137                    
+V 25   2057.990601  -4425.705691  31277.452697       .008189                    
+P 26  25727.189709   7589.338763   1642.278509    316.607318                    
+V 26   1789.612083   2252.697880 -31785.488091       .056064                    
+P 27  -5762.474295  20254.439179 -15374.981976    513.024709                    
+V 27  -7998.342304 -19265.443108 -22082.462205       .063466                    
+P 28  -7333.378027  20576.975613  15090.210988     46.472066                    
+V 28 -15660.043919  10845.716145 -23050.149716       .001835                    
+P 29  24918.387821   9087.795610  -2197.385032    180.133563                    
+V 29  -3556.718120   1059.704044 -31955.203305      -.189263                    
+P 30  19714.874099 -17630.378318   1409.634602    445.232279                    
+V 30    908.566009   3959.475362  31363.529699      -.143026                    
+*  2005  1 19  6  0   .00000000                                                 
+P  1 -17101.600911 -14714.988621  14227.518493    383.679674                    
+V  1  17445.564076   3314.202541  24706.148123       .019207                    
+P  2  13897.824333  19820.382365 -11325.964630    -43.041050                    
+V  2   1491.498119  14026.911884  27025.911747       .058052                    
+P  3 -21965.991409 -11387.492716 -10129.781227     77.866407                    
+V  3  13015.637194  -1046.018905 -27119.068814       .030206                    
+P  4   6103.043805  25643.547394    813.923004    443.041789                    
+V  4  -3409.136734   -188.682892  31862.043902      -.206562                    
+P  5  20655.734123  -8941.631287  13809.628013     72.985117                    
+V  5  -9238.648195  15636.106672  23841.083676       .025169                    
+P  6  18020.107818  -8971.610469 -17189.792046   -170.157918                    
+V  6  21233.853308   6958.943112  18312.454850       .884063                    
+P  7   1584.014489  16315.856947  21331.450087     65.279799                    
+V  7 -25818.514804  -4532.614184   5342.143593      -.302181                    
+P  8  -2806.744472  23403.927537 -12053.677023    -18.971482                    
+V  8  -5931.191755 -14146.072556 -26822.325241      -.011692                    
+P  9  16062.094335   2214.194500  20620.554719    -24.734073                    
+V  9   7704.042825  26138.914646  -8273.034002      -.018018                    
+P 10  12520.328855   8364.163823 -21957.525566     57.475959                    
+V 10 -19493.718238  19628.860869  -3363.457957       .007000                    
+P 11 -17317.977861   -313.219625  20146.587857    186.259604                    
+V 11  -8913.985714 -24288.013641  -7840.010349       .036761                    
+P 13 -17887.873665   7640.069301 -18109.712195    -13.875697                    
+V 13 -21777.865955  -7006.258328  18676.233077       .009673                    
+P 14  -1538.051405 -15364.308150  21669.970274    -31.482604                    
+V 14  26576.783124   6334.431387   6376.412933      -.000901                    
+P 15  -2345.033311 -25992.590395  -4178.272921    377.542394                    
+V 15   3872.087430   4410.653057 -31419.479671       .053062                    
+P 16  -7185.943147 -13972.132904 -21334.983756      1.999871                    
+V 16  19423.576115 -19149.189184   6017.955927      -.001854                    
+P 17  14685.509258  13075.515796 -17958.018196    -94.312976                    
+V 17   2512.435222  22895.289106  17731.335891       .188306                    
+P 18  17150.713147 -19758.750607   3759.955750   -118.702268                    
+V 18   5456.404982  -1113.688267 -31478.993536      -.037540                    
+P 19 -25476.369296  -7426.136972    692.363697    -11.818072                    
+V 19    132.634221  -2992.589686 -31724.188608      -.008595                    
+P 20 -21259.019122   9329.540400  12817.272203    -91.048064                    
+V 20   9684.072409 -13422.142715  25701.464972       .026902                    
+P 21   7775.990476 -18938.371114 -16681.434425     87.937211                    
+V 21   7128.008688  20279.381537 -20154.047972       .010696                    
+P 22   8772.117578 -21140.230628  13658.862914     16.248086                    
+V 22  13993.769729 -10004.447101 -24744.757802       .000334                    
+P 23 -24399.211573   1526.163480 -10610.859625    211.445573                    
+V 23 -12344.219207  -5449.970595  27737.739232       .006034                    
+P 24   3575.869235  26040.711214   3423.386141     89.268962                    
+V 24  -3538.305557  -3313.080779  31591.213439       .029430                    
+P 25  -9222.094585 -24888.211664    345.947292     84.278443                    
+V 25   3040.839996  -1176.467787  31483.410002       .008172                    
+P 26  25740.739432   7740.876140  -1224.131887    316.612392                    
+V 26  -1509.205156   1184.449750 -31824.308799       .056061                    
+P 27  -6558.123489  18434.292364 -17216.471511    513.030625                    
+V 27  -9702.103141 -21098.863328 -18776.638782       .063467                    
+P 28  -8630.270733  21505.218619  12891.510027     46.472338                    
+V 28 -13152.677463   9702.148376 -25741.166446       .001818                    
+P 29  24444.004703   9152.410966  -5046.320325    180.116505                    
+V 29  -6989.861702    448.828111 -31263.521848      -.189267                    
+P 30  19695.874466 -17160.449510   4211.924135    445.219574                    
+V 30  -1276.059034   6521.417374  30818.950731      -.143030                    
+*  2005  1 19  6 15   .00000000                                                 
+P  1 -15407.423965 -14432.423770  16323.954778    383.680331                    
+V  1  20153.043604   2898.371221  21816.059628       .019218                    
+P  2  14020.998028  20946.803860  -8804.740476    -43.035725                    
+V  2   1174.889217  10983.346116  28923.107861       .058038                    
+P  3 -20665.524589 -11492.322336 -12478.167005     77.868494                    
+V  3  15846.700733  -1343.106799 -24993.828055       .030203                    
+P  4   5748.757798  25478.444186   3665.944776    443.023079                    
+V  4  -4526.528749  -3451.495034  31423.229539      -.206563                    
+P  5  19786.795078  -7422.184105  15828.130594     72.988013                    
+V  5  -9995.909140  18108.812412  20948.777888       .025150                    
+P  6  19847.432602  -8409.728727 -15397.141308   -170.078131                    
+V  6  19299.653711   5555.446460  21465.364534       .884028                    
+P  7   -768.995079  15962.429286  21634.271132     65.252637                    
+V  7 -26390.113236  -3301.099924   1377.482259      -.302189                    
+P  8  -3409.498402  22018.724606 -14356.095939    -18.972259                    
+V  8  -7502.070171 -16565.720112 -24269.952644      -.011692                    
+P  9  16796.535942   4499.110551  19694.319263    -24.735096                    
+V  9   8566.427408  24561.326074 -12276.278744      -.018013                    
+P 10  10807.860860  10186.725541 -22071.682009     57.477992                    
+V 10 -18495.542914  20806.684098    831.914206       .006999                    
+P 11 -18147.687006  -2438.587470  19269.928279    186.262966                    
+V 11  -9474.192019 -22879.414026 -11612.432001       .036757                    
+P 13 -19766.392912   7086.664734 -16278.089608    -13.874717                    
+V 13 -19884.660269  -5320.049910  21968.593031       .009676                    
+P 14    893.322198 -14855.615754  22056.789189    -31.482633                    
+V 14  27365.438096   4940.512218   2207.253190      -.000889                    
+P 15  -1949.483060 -25450.457095  -6961.349181    377.546388                    
+V 15   4977.812562   7596.789619 -30337.171235       .053057                    
+P 16  -5508.585045 -15712.320912 -20610.037188      1.999655                    
+V 16  17804.066560 -19444.078243  10068.736999      -.001848                    
+P 17  14948.224089  15031.974880 -16213.755795    -94.296006                    
+V 17   3270.629176  20521.781600  20971.393465       .188342                    
+P 18  17525.678477 -19755.748561    902.261823   -118.705602                    
+V 18   2917.910682   1236.509305 -31932.772239      -.037529                    
+P 19 -25315.316081  -7654.100504  -2160.569239    -11.819148                    
+V 19   3462.070047  -2140.390542 -31582.999557      -.008592                    
+P 20 -20335.563327   8004.067699  15012.907430    -91.045417                    
+V 20  10758.310078 -16024.526901  23019.735528       .026905                    
+P 21   8487.865130 -17037.454469 -18344.138562     87.938070                    
+V 21   8709.888947  21880.291485 -16742.781300       .010701                    
+P 22   9916.485314 -21981.609070  11321.804905     16.248237                    
+V 22  11439.512956  -8615.995760 -27116.589974       .000356                    
+P 23 -25381.943232   1094.264641  -8031.150451    211.446055                    
+V 23  -9443.169729  -4201.107551  29507.772864       .006029                    
+P 24   3208.925944  25596.915375   6228.796230     89.271087                    
+V 24  -4676.756770  -6510.469168  30661.835507       .029422                    
+P 25  -8890.212515 -24853.556243   3168.348139     84.279569                    
+V 25   4392.648380   1912.473964  31146.799882       .008154                    
+P 26  25453.210330   7815.429446  -4070.304625    316.617607                    
+V 26  -4885.339546    545.250403 -31336.966499       .056057                    
+P 27  -7510.980284  16472.251811 -18744.432688    513.036248                    
+V 27 -11476.594407 -22412.694905 -15126.260278       .063467                    
+P 28  -9700.979499  22309.210925  10469.885556     46.472562                    
+V 28 -10649.230925   8087.504669 -27996.271688       .001800                    
+P 29  23660.892111   9181.745569  -7808.612825    180.099355                    
+V 29 -10400.325983    276.005628 -30031.948243      -.189271                    
+P 30  19495.857568 -16450.891119   6940.875003    445.206632                    
+V 30  -3105.393254   9270.761258  29735.681210      -.143034                    
+*  2005  1 19  6 30   .00000000                                                 
+P  1 -13484.240419 -14204.528350  18143.434249    383.681888                    
+V  1  22521.310370   2108.172370  18560.325224       .019229                    
+P  2  14096.432119  21794.937175  -6134.361173    -43.030507                    
+V  2    429.811076   7858.262261  30335.352864       .058023                    
+P  3 -19121.414812 -11639.406940 -14616.009554     77.869730                    
+V  3  18417.055652  -1978.206511 -22446.787090       .030201                    
+P  4   5277.637300  25028.841544   6453.537006    443.004227                    
+V  4  -5997.742462  -6495.840740  30432.511597      -.206565                    
+P  5  18869.852413  -5687.122721  17569.374905     72.990337                    
+V  5 -10307.710956  20412.400959  17688.932002       .025131                    
+P  6  21481.588799  -7965.458644 -13337.398591   -169.998393                    
+V  6  16950.715032   4357.311867  24239.446385       .883993                    
+P  7  -3151.440030  15724.078374  21578.596690     65.225653                    
+V  7 -26470.045318  -1989.031824  -2613.834586      -.302197                    
+P  8  -4162.917590  20435.623602 -16409.950457    -18.972788                    
+V  8  -9265.981802 -18535.083871 -21307.199702      -.011692                    
+P  9  17594.009532   6622.663997  18417.946118    -24.736359                    
+V  9   9094.558411  22565.220261 -16042.335771      -.018008                    
+P 10   9201.924348  12096.552013 -21807.906153     57.478502                    
+V 10 -17138.009169  21557.816548   5023.093616       .006997                    
+P 11 -19013.574213  -4421.112134  18062.496832    186.266169                    
+V 11  -9709.546781 -21124.430699 -15180.093634       .036754                    
+P 13 -21453.060389   6676.085874 -14166.617904    -13.873890                    
+V 13 -17523.608785  -3845.987978  24886.074875       .009678                    
+P 14   3371.417836 -14478.954119  22066.129898    -31.482670                    
+V 14  27611.052491   3415.485727  -2000.079639      -.000879                    
+P 15  -1439.000499 -24633.657001  -9623.235198    377.552364                    
+V 15   6417.237834  10500.355148 -28730.876593       .053052                    
+P 16  -3988.399497 -17457.572050 -19527.843376      1.999341                    
+V 16  15945.189383 -19256.395128  13945.214144      -.001841                    
+P 17  15263.527675  16759.885775 -14194.442668    -94.279050                    
+V 17   3672.846865  17830.208527  23835.853211       .188378                    
+P 18  17684.575076 -19527.117140  -1971.194966   -118.709075                    
+V 18    666.904886   3888.305639 -31828.608766      -.037518                    
+P 19 -24851.824800  -7823.761061  -4976.198518    -11.819857                    
+V 19   6837.140501  -1699.368086 -30896.207974      -.008589                    
+P 20 -19336.753441   6448.059107  16948.826876    -91.043105                    
+V 20  11358.838120 -18529.162028  19938.314764       .026907                    
+P 21   9345.798028 -15015.273381 -19686.708443     87.939205                    
+V 21  10359.218648  22969.998344 -13050.764490       .010707                    
+P 22  10833.118417 -22677.638789   8791.655173     16.248186                    
+V 22   8948.051856  -6779.103133 -29029.380885       .000378                    
+P 23 -26091.003982    759.589420  -5314.526864    211.446652                    
+V 23  -6276.509573  -3297.546561  30775.866155       .006025                    
+P 24   2723.855412  24877.058701   8926.765557     89.272706                    
+V 24  -6154.615884  -9433.837560  29207.712320       .029415                    
+P 25  -8421.639357 -24551.346044   5936.408135     84.281367                    
+V 25   6069.919971   4755.795274  30278.381407       .008136                    
+P 26  24861.907358   7852.237157  -6849.323176    316.622992                    
+V 26  -8243.849300    345.968401 -30334.442920       .056054                    
+P 27  -8623.233962  14416.374718 -19930.956529    513.042200                    
+V 27 -13228.491774 -23181.657448 -11201.349080       .063467                    
+P 28 -10549.999419  22947.624508   7866.548345     46.472751                    
+V 28  -8241.168740   6028.644110 -29772.743105       .001782                    
+P 29  22575.689413   9215.026355 -10436.391246    180.082580                    
+V 29 -13686.105653    533.690092 -28278.027370      -.189276                    
+P 30  19148.899233 -15488.699243   9548.665691    445.193956                    
+V 30  -4535.447219  12120.324372  28130.039500      -.143038                    
+*  2005  1 19  6 45   .00000000                                                 
+P  1 -11365.985805 -14062.389315  19655.497937    383.685077                    
+V  1  24476.773279   1003.856596  14994.235204       .019240                    
+P  2  14085.615853  22361.657018  -3359.738925    -43.025339                    
+V  2   -739.594989   4745.328378  31235.800267       .058009                    
+P  3 -17360.462793 -11857.119689 -16507.188246     77.871451                    
+V  3  20654.165488  -2903.554122 -19519.934740       .030199                    
+P  4   4660.158924  24318.312254   9127.785034    442.985557                    
+V  4  -7768.648413  -9236.623964  28908.390695      -.206566                    
+P  5  17944.106618  -3755.672364  19002.848482     72.992982                    
+V  5 -10196.764555  22458.899240  14119.615846       .025112                    
+P  6  22888.022200  -7617.253622 -11046.811426   -169.919222                    
+V  6  14250.873273   3430.702138  26588.114066       .883958                    
+P  7  -5518.613037  15604.330244  21164.892791     65.198320                    
+V  7 -26050.844644   -679.396622  -6568.096956      -.302205                    
+P  8  -5080.655376  18697.241595 -18180.701581    -18.973917                    
+V  8 -11139.035171 -20010.662749 -17988.286839      -.011692                    
+P  9  18421.902428   8550.658591  16815.801601    -24.738207                    
+V  9   9234.765034  20229.733191 -19505.204911      -.018003                    
+P 10   7731.536755  14052.699225 -21169.804071     57.478455                    
+V 10 -15496.875004  21828.390760   9138.327127       .006996                    
+P 11 -19884.332698  -6232.662271  16545.468259    186.269325                    
+V 11  -9576.292371 -19092.282517 -18482.690080       .036752                    
+P 13 -22908.475538   6385.720682 -11811.375766    -13.873094                    
+V 13 -14757.475772  -2660.361337  27377.803432       .009682                    
+P 14   5846.566286 -14241.997819  21697.777775    -31.482574                    
+V 14  27299.121500   1851.517569  -6173.995311      -.000869                    
+P 15   -786.172004 -23571.215428 -12118.124433    377.556858                    
+V 15   8129.840199  13043.657535 -26632.102242       .053047                    
+P 16  -2642.963132 -19163.292912 -18107.161827      1.999075                    
+V 16  13936.028864 -18563.368707  17579.732393      -.001833                    
+P 17  15597.395738  18234.461125 -11935.855364    -94.262151                    
+V 17   3677.601219  14907.107649  26282.129045       .188414                    
+P 18  17656.316389 -19049.141423  -4810.172520   -118.712685                    
+V 18  -1231.462948   6763.478081 -31167.605832      -.037505                    
+P 19 -24086.224925  -7972.498581  -7705.830234    -11.820581                    
+V 19  10159.102661  -1674.783417 -29674.518467      -.008585                    
+P 20 -18304.881023   4674.593551  18591.405382    -91.040666                    
+V 20  11496.356834 -20841.456062  16510.472598       .026909                    
+P 21  10351.894966 -12918.670949 -20686.853627     87.940331                    
+V 21  11987.552024  23533.128827  -9144.754681       .010711                    
+P 22  11531.653067 -23189.471642   6111.315540     16.248253                    
+V 22   6606.939041  -4530.234572 -30449.127549       .000401                    
+P 23 -26506.366990    489.111253  -2507.229817    211.447360                    
+V 23  -2931.806380  -2779.909805  31519.736011       .006020                    
+P 24   2092.686384  23909.380980  11471.294721     89.274696                    
+V 24  -7912.335679 -12005.793887  27257.526857       .029409                    
+P 25  -7789.582134 -24007.128459   8603.081883     84.282340                    
+V 25   8014.943942   7279.055880  28897.734812       .008118                    
+P 26  23972.684931   7890.706448  -9515.590343    316.628246                    
+V 26 -11490.226169    579.509953 -28835.015693       .056050                    
+P 27  -9888.599331  12316.043318 -20754.708953    513.047986                    
+V 27 -14863.506016 -23401.670087  -7077.682375       .063467                    
+P 28 -11189.845088  23382.374272   5126.202112     46.473078                    
+V 28  -6014.643962   3570.597527 -31035.841096       .001763                    
+P 29  21204.110993   9289.956198 -12883.784855    180.065614                    
+V 29 -16748.176871   1195.645431 -26028.647727      -.189280                    
+P 30  18692.289804 -14269.030653  11989.382825    445.181350                    
+V 30  -5539.018066  14976.523814  26028.073391      -.143042                    
+*  2005  1 19  7  0   .00000000                                                 
+P  1  -9092.612885 -14031.079035  20834.882663    383.687589                    
+V  1  25959.704030   -341.616360  11177.807492       .019250                    
+P  2  13951.219558  22652.239208   -527.842027    -43.020062                    
+V  2  -2311.256873   1736.996517  31605.702930       .057995                    
+P  3 -15415.523489 -12168.956228 -18119.640676     77.873284                    
+V  3  22496.428918  -4058.873955 -16261.357866       .030198                    
+P  4   3872.326385  23377.551797  11641.886974    442.966764                    
+V  4  -9770.972544 -11601.163193  26879.226859      -.206567                    
+P  5  17045.946505  -1654.648605  20103.529393     72.995460                    
+V  5  -9702.603335  24168.171852  10304.570214       .025093                    
+P  6  24038.486217  -7338.169294  -8565.470234   -169.839595                    
+V  6  11276.008428   2829.014824  28472.662048       .883923                    
+P  7  -7825.865828  15599.225064  20399.359187     65.171382                    
+V  7 -25141.303323    544.956994 -10421.729823      -.302213                    
+P  8  -6168.534958  16849.289890 -19638.940872    -18.976415                    
+V  8 -13031.710672 -20967.360509 -14372.810723      -.011691                    
+P  9  19243.488074  10256.511178  14917.878923    -24.740677                    
+V  9   8949.589914  17644.297636 -22606.020289      -.017997                    
+P 10   6418.437440  16010.113858 -20167.422404     57.478536                    
+V 10 -13657.594340  21581.290806  13106.447909       .006995                    
+P 11 -20725.347944  -7851.724086  14745.235101    186.272619                    
+V 11  -9044.930777 -16860.330276 -21464.727863       .036751                    
+P 13 -24099.562972   6186.650318  -9252.705614    -13.872230                    
+V 13 -11663.630553  -1826.559449  29400.049566       .009686                    
+P 14   8268.655595 -14144.047746  20957.947344    -31.482425                    
+V 14  26434.349425    341.906225 -10243.409847      -.000861                    
+P 15     30.384923 -22298.524180 -14403.426482    377.561562                    
+V 15  10042.586663  15163.325410 -24080.663906       .053042                    
+P 16  -1481.635571 -20783.676139 -16372.656773      1.998872                    
+V 16  11869.489590 -17360.903972  20908.929369      -.001824                    
+P 17  15912.804180  19438.985861  -9477.261585    -94.245458                    
+V 17   3259.884496  11844.766838  28275.258974       .188450                    
+P 18  17474.997236 -18305.645496  -7564.988972   -118.715443                    
+V 18  -2727.574135   9773.256950 -29961.096748      -.037495                    
+P 19 -23027.717878  -8137.342718 -10302.159786    -11.821437                    
+V 19  13330.166432  -2053.615196 -27938.066972      -.008582                    
+P 20 -17280.450791   2705.059061  19912.097958    -91.038031                    
+V 20  11199.722429 -22871.958785  12795.665098       .026911                    
+P 21  11500.264016 -10795.014970 -21328.433255     87.940887                    
+V 21  13506.214996  23573.379400  -5094.424105       .010716                    
+P 22  12029.287955 -23482.297403   3326.390827     16.248107                    
+V 22   4496.141913  -1922.410604 -31349.867492       .000424                    
+P 23 -26616.212199    246.897289    342.881454    211.447651                    
+V 23    496.686039  -2671.942487  31725.762830       .006015                    
+P 24   1293.392459  22728.477326  13819.332503     89.275885                    
+V 24  -9877.808173 -14162.902125  24847.978806       .029403                    
+P 25  -6972.994356 -23252.564827  11123.458116     84.283071                    
+V 25  10158.156773   9421.207583  27032.597221       .008100                    
+P 26  22799.763981   7968.812414 -12025.468550    316.633288                    
+V 26 -14533.576078   1221.268035 -26863.891222       .056046                    
+P 27 -11292.420783  10220.049359 -21201.362883    513.053561                    
+V 27 -16290.614319 -23089.851892  -2834.862111       .063467                    
+P 28 -11640.415219  23580.195014   2296.283978     46.473320                    
+V 28  -4047.039001    775.144290 -31759.700126       .001743                    
+P 29  19570.506962   9441.066140 -15107.755312    180.048724                    
+V 29 -19494.277145   2217.832194 -23319.808189      -.189285                    
+P 30  18164.968587 -12795.617326  14219.883505    445.168760                    
+V 30  -6106.788682  17743.006199  23465.227115      -.143046                    
+*  2005  1 19  7 15   .00000000                                                 
+P  1  -6708.744936 -14128.638454  21661.904435    383.691523                    
+V  1  26926.346776  -1845.465569   7174.846390       .019260                    
+P  2  13658.689373  22680.097339   2313.058921    -43.014793                    
+V  2  -4245.708090  -1078.909084  31434.948586       .057980                    
+P  3 -13324.419804 -12592.509605 -19425.881462     77.874990                    
+V  3  23895.378945  -5373.692943 -12724.561823       .030198                    
+P  4   2896.821570  22243.133415  13952.013593    442.948508                    
+V  4 -11925.093895 -13531.928310  24382.594308      -.206568                    
+P  5  16207.509428    582.395408  20852.340647     72.999472                    
+V  5  -8879.823361  25471.131489   6311.945646       .025073                    
+P  6  24911.997420  -7097.109190  -5936.573137   -169.760202                    
+V  6   8111.127942   2590.828341  29862.812387       .883888                    
+P  7 -10030.067962  15697.469118  19293.881418     65.143944                    
+V  7 -23766.282080   1604.415722 -14112.093114      -.302221                    
+P  8  -7424.204062  14938.884644 -20760.821076    -18.978528                    
+V  8 -14852.454031 -21399.094204 -10524.557503      -.011690                    
+P  9  20019.452488  11722.009459  12759.112548    -24.741692                    
+V  9   8219.155611  14904.850947 -25293.973867      -.017991                    
+P 10   5276.361932  17921.221739 -18817.140066     57.479188                    
+V 10 -11711.994537  20797.839947  16858.114469       .006994                    
+P 11 -21500.039883  -9264.001648  12692.934999    186.275800                    
+V 11  -8101.434341 -14511.096209 -24076.389165       .036751                    
+P 13 -25000.763772   6044.929861  -6534.532952    -13.871248                    
+V 13  -8331.222995  -1392.501900  30917.043700       .009689                    
+P 14  10588.859332 -14176.096001  19859.183992    -31.482824                    
+V 14  25040.517101  -1022.620724 -14138.915125      -.000852                    
+P 15   1025.028671 -20855.950535 -16440.473350    377.567872                    
+V 15  12072.953139  16812.468747 -21123.744862       .053037                    
+P 16   -505.382124 -22273.399961 -14354.458510      1.998715                    
+V 16   9838.584656 -15663.872878  23874.882490      -.001815                    
+P 17  16171.248047  20365.183196  -6860.727094    -94.228216                    
+V 17   2411.859042   8737.853077  29788.037367       .188486                    
+P 18  17178.405230 -17288.789430 -10187.436436   -118.718937                    
+V 18  -3789.244501  12821.772279 -28230.452649      -.037486                    
+P 19 -21694.124321  -8353.344802 -12720.109123    -11.822227                    
+V 19  16257.190434  -2805.066965 -25716.133628      -.008578                    
+P 20 -16300.598030    568.530224  20887.949814    -91.035733                    
+V 20  10514.687296 -24539.869707   8858.477723       .026912                    
+P 21  12777.157499  -8690.497477 -21601.657145     87.941754                    
+V 21  14829.895661  23113.041216   -971.003011       .010724                    
+P 22  12349.961444 -23526.758007    484.439563     16.248297                    
+V 22   2684.981696    976.578563 -31714.229504       .000447                    
+P 23 -26417.375740     -4.323921   3187.123194    211.447996                    
+V 23   3911.447603  -2979.539311  31389.281097       .006012                    
+P 24    310.894310  21373.942869  15931.460290     89.279116                    
+V 24 -11969.277441 -15857.785078  22022.946808       .029398                    
+P 25  -5957.520874 -22324.132127  13455.463924     84.285194                    
+V 25  12420.924050  11136.555771  24718.169581       .008081                    
+P 26  21365.268891   8121.563507 -14337.886082    316.638715                    
+V 26 -17289.648629   2230.139170 -24452.815820       .056042                    
+P 27 -12812.150892   8174.723416 -21263.851841    513.059491                    
+V 27 -17426.115629 -22283.531748   1445.706957       .063468                    
+P 28 -11928.058324  23514.057622   -573.868804     46.473436                    
+V 28  -2403.806605  -2281.328696 -31928.069619       .001723                    
+P 29  17707.091142   9698.180561 -17068.898880    180.031487                    
+V 29 -21842.493878   3540.026359 -20196.191063      -.189289                    
+P 30  17605.891953 -11080.845492  16200.617656    445.156386                    
+V 30  -6247.695111  20324.447159  20485.785959      -.143050                    
+*  2005  1 19  7 30   .00000000                                                 
+P  1  -4262.164867 -14365.336406  22122.755696    383.692907                    
+V  1  27350.446880  -3418.319552   3051.971040       .019269                    
+P  2  13177.763165  22466.216486   5114.188141    -43.009574                    
+V  2  -6487.301233  -3622.491286  30722.483302       .057966                    
+P  3 -11128.678475 -13138.671289 -20403.456590     77.876093                    
+V  3  24817.423381  -6770.036757  -8967.718151       .030198                    
+P  4   1723.882082  20956.045242  16018.101124    442.930196                    
+V  4 -14143.302438 -14988.630181  21464.440876      -.206570                    
+P  5  15455.428259   2916.291261  21236.486920     73.002407                    
+V  5  -7795.708442  26312.497502   2212.954098       .025052                    
+P  6  25495.513557  -6860.228107  -3205.649400   -169.680486                    
+V  6   4847.137694   2738.460714  30737.087714       .883853                    
+P  7 -12091.024179  15880.863044  17865.909526     65.116940                    
+V  7 -21965.979980   2425.627218 -17578.312456      -.302229                    
+P  8  -8837.114279  13012.835867 -21528.379472    -18.980093                    
+V  8 -16511.277071 -21318.669440  -6510.310612      -.011688                    
+P  9  20709.509023  12937.720979  10378.621411    -24.744287                    
+V  9   7041.759939  12109.906808 -27526.973308      -.017986                    
+P 10   4310.629102  19737.637838 -17141.447427     57.479791                    
+V 10  -9754.666363  19478.802318  20327.068158       .006994                    
+P 11 -22171.287549 -10462.740725  10423.904979    186.279172                    
+V 11  -6747.862801 -12129.120074 -26274.289058       .036751                    
+P 13 -25594.950587   5923.074261  -3703.618142    -13.870388                    
+V 13  -4857.889690  -1388.664108  31901.661259       .009693                    
+P 14  12761.320694 -14321.220956  18420.161199    -31.482436                    
+V 14  23159.636083  -2157.516913 -17793.928507      -.000844                    
+P 15   2204.387778 -19287.282192 -18195.136565    377.572336                    
+V 15  14132.265674  17962.154735 -17814.861874       .053032                    
+P 16    293.068684 -23589.320223 -12087.626054      1.998410                    
+V 16   7932.731973 -13505.656780  26426.150913      -.001805                    
+P 17  16334.294518  21013.277816  -4130.416133    -94.211677                    
+V 17   1142.926448   5680.072483  30801.031101       .188523                    
+P 18  16806.392849 -15999.541230 -12631.667434   -118.722623                    
+V 18  -4402.905817  15809.804340 -26006.669118      -.037475                    
+P 19 -20111.304897  -8652.027830 -14917.630119    -11.823138                    
+V 19  18855.218112  -3881.789137 -23046.678027      -.008573                    
+P 20 -15397.650007  -1699.156409  21502.006606    -91.033227                    
+V 20   9501.969945 -25776.219415   4767.468172       .026913                    
+P 21  14161.429293  -6648.509574 -21503.166382     87.943257                    
+V 21  15880.038300  22191.811937   3154.036158       .010730                    
+P 22  12523.269569 -23300.174245  -2365.819416     16.248373                    
+V 22   1229.454550   4086.544237 -31533.859936       .000470                    
+P 23 -25915.484156   -301.537364   5976.801059    211.448380                    
+V 23   7215.254687  -3690.448041  30514.735248       .006012                    
+P 24   -862.215334  19888.856781  17772.497757     89.282215                    
+V 24 -14098.566526 -17060.584597  18832.580654       .029392                    
+P 25  -4736.177483 -21261.677211  15560.498645     84.285456                    
+V 25  14718.601978  12396.077743  21996.272781       .008063                    
+P 26  19698.501722   8379.582618 -16414.907478    316.643818                    
+V 26 -19683.632533   3550.069238 -21639.668217       .056039                    
+P 27 -14418.178180   6222.195548 -20942.440786    513.065000                    
+V 27 -18197.301905 -21038.335511   5682.841728       .063468                    
+P 28 -12084.373070  23164.362733  -3433.910705     46.473532                    
+V 28  -1135.756249  -5510.616930 -31534.869402       .001704                    
+P 29  15652.860420  10085.059471 -18732.201212    180.013817                    
+V 29 -23724.509186   5088.126632 -16710.534601      -.189293                    
+P 30  17052.402536  -9145.491127  17896.390534    445.143534                    
+V 30  -5988.532820  22630.358572  17142.103530      -.143054                    
+*  2005  1 19  7 45   .00000000                                                 
+P  1  -1802.194753 -14743.230852  22209.714094    383.695685                    
+V  1  27224.151241  -4967.675236  -1122.378104       .019277                    
+P  2  12483.847513  22038.299865   7827.093994    -43.004418                    
+V  2  -8966.076157  -5824.837894  29476.599607       .057951                    
+P  3  -8872.132379 -13811.088688 -21035.326876     77.878974                    
+V  3  25245.063989  -8165.417685  -5052.842018       .030200                    
+P  4    351.870297  19560.071675  17804.560724    442.911375                    
+V  4 -16333.371029 -15949.582109  18178.081775      -.206571                    
+P  5  14809.815934   5303.601132  21249.667352     73.005742                    
+V  5  -6527.345574  26652.987769  -1919.530586       .025031                    
+P  6  25784.311833  -6592.435913   -419.756988   -169.600726                    
+V  6   1577.432434   3277.184049  31083.014230       .883819                    
+P  7 -13972.802011  16124.995515  16138.260538     65.089938                    
+V  7 -19794.673254   2944.357113 -20762.142502      -.302237                    
+P  8 -10388.819907  11115.979566 -21929.754611    -18.981652                    
+V  8 -17923.234978 -20756.953541  -2398.677758      -.011686                    
+P  9  21274.032396  13903.049074   7818.904552    -24.745269                    
+V  9   5433.713956   9356.666242 -29272.044109      -.017980                    
+P 10   3518.061126  21411.933321 -15168.612407     57.480151                    
+V 10  -7879.202143  17644.641812  23451.384398       .006993                    
+P 11 -22702.881820 -11448.766745   7977.072646    186.282380                    
+V 11  -5002.369914  -9797.769835 -28022.119426       .036752                    
+P 13 -25874.029778   5781.691929   -808.752889    -13.869583                    
+V 13  -1346.115114  -1826.782349  32335.962890       .009696                    
+P 14  14744.729371 -14555.297925  16665.375811    -31.482576                    
+V 14  20850.418441  -2987.798167 -21145.806158      -.000837                    
+P 15   3566.965137 -17638.071634 -19638.348305    377.577348                    
+V 15  16129.222879  18602.164364 -14212.771282       .053026                    
+P 16    928.740232 -24692.088138  -9611.521572      1.998416                    
+V 16   6234.207892 -10936.959338  28518.690938      -.001795                    
+P 17  16365.115192  21391.763784  -1331.894660    -94.194852                    
+V 17   -520.795059   2760.964625  31302.505032       .188559                    
+P 18  16399.177718 -14447.803530 -14855.034576   -118.725754                    
+V 18  -4574.014279  18638.677665 -23329.743091      -.037464                    
+P 19 -18312.275324  -9059.977072 -16856.458338    -11.823895                    
+V 19  21050.710792  -5221.772102 -19975.702489      -.008567                    
+P 20 -14597.888479  -4056.593666  21743.616870    -91.030722                    
+V 20   8234.731583 -26526.596186    593.931891       .026914                    
+P 21  15625.283886  -4708.152711 -21035.998357     87.944367                    
+V 21  16587.912995  20864.965734   7210.226919       .010732                    
+P 22  12583.164274 -22787.535587  -5175.332519     16.248346                    
+V 22    170.043794   7317.776940 -30809.708606       .000493                    
+P 23 -25124.766465   -679.821059   8664.031702    211.448800                    
+V 23  10314.754493  -4774.668306  29115.693102       .006012                    
+P 24  -2225.246467  18318.165072  19312.024637     89.285675                    
+V 24 -16174.490335 -17759.747626  15332.347972       .029386                    
+P 25  -3309.751379 -20106.879433  17403.992295     84.285746                    
+V 25  16963.664624  13188.142996  18914.520018       .008044                    
+P 26  17834.978257   8767.849304 -18222.266385    316.648941                    
+V 26 -21652.641106   5112.079836 -18468.032313       .056035                    
+P 27 -16074.961160   4398.865269 -20244.617874    513.070654                    
+V 27 -18545.566312 -19425.471642   9797.522394       .063468                    
+P 28 -12144.789456  22519.857834  -6233.420235     46.473637                    
+V 28   -276.917251  -8816.034172 -30584.528701       .001685                    
+P 29  13452.243021  10618.276704 -20067.726604    179.996552                    
+V 29 -25088.356089   6777.073802 -12922.804739      -.189297                    
+P 30  16538.668039  -7018.118715  19277.046395    445.131048                    
+V 30  -5372.807638  24578.736747  13493.625372      -.143058                    
+*  2005  1 19  8  0   .00000000                                                 
+P  1    621.976286 -15256.047209  21921.261099    383.698772                    
+V  1  26558.252861  -6401.465124  -5278.947790       .019285                    
+P  2  11559.198824  21429.655944  10404.497274    -42.999185                    
+V  2 -11600.233543  -7630.711045  27715.066412       .057937                    
+P  3  -6599.438388 -14605.900962 -21310.174334     77.881132                    
+V  3  25177.547130  -9476.013589  -1044.902217       .030201                    
+P  4  -1212.487331  18100.086813  19280.891186    442.892956                    
+V  4 -18402.284536 -16412.287605  14583.061569      -.206572                    
+P  5  14283.527820   7698.131995  20892.161445     73.010042                    
+V  5  -5158.357936  26470.855686  -6012.387041       .025009                    
+P  6  25782.057245  -6258.941832   2373.330762   -169.521203                    
+V  6  -1605.560000   4195.110616  30897.162470       .883784                    
+P  7 -15644.922846  16400.182811  14138.841828     65.062938                    
+V  7 -17318.947573   3108.080148 -23608.861083      -.302245                    
+P  8 -12053.579479   9289.613940 -21959.299116    -18.982741                    
+V  8 -19011.656187 -19761.401096   1741.043417      -.011683                    
+P  9  21675.645711  14625.946601   5125.011333    -24.746810                    
+V  9   3428.469827   6737.326495 -30505.496669      -.017974                    
+P 10   2887.243365  22899.391290 -12932.235258     57.479278                    
+V 10  -6174.429394  15335.009149  26174.689372       .006993                    
+P 11 -23060.951428 -12230.238082   5394.294705    186.285591                    
+V 11  -2898.605156  -7596.124452 -29291.174932       .036753                    
+P 13 -25839.205735   5581.202068   2100.084776    -13.868805                    
+V 13   2100.612182  -2699.295226  32211.574557       .009701                    
+P 14  16503.731832 -14847.998943  14624.745373    -31.482614                    
+V 14  18186.116071  -3451.065683 -24136.903366      -.000831                    
+P 15   5103.062056 -15953.945019 -20746.522483    377.582281                    
+V 15  17973.458769  18741.025330 -10380.344669       .053021                    
+P 16   1423.616203 -25547.630103  -6969.108813      1.998233                    
+V 16   4814.900405  -8023.938860  30116.626615      -.001786                    
+P 17  16229.946324  21516.893419   1488.556475    -94.177649                    
+V 17  -2537.541122     62.921741  31288.279820       .188596                    
+P 18  15995.641612 -12652.189622 -16818.865360   -118.728819                    
+V 18  -4326.670783  21214.132043 -20247.857942      -.037455                    
+P 19 -16336.049159  -9597.628662 -18502.802102    -11.824654                    
+V 19  22784.345331  -6750.838451 -16556.453572      -.008562                    
+P 20 -13920.562278  -6458.215837  21608.620806    -91.028436                    
+V 20   6795.560778 -26753.308061  -3589.384926       .026916                    
+P 21  17135.282970  -2902.940125 -20209.443298     87.945387                    
+V 21  16897.252710  19200.974184  11129.269177       .010734                    
+P 22  12566.480422 -21982.211921  -7895.555816     16.248364                    
+V 22   -469.883255  10574.329376 -29552.159706       .000517                    
+P 23 -24067.549022  -1170.792561  11202.558936    211.449208                    
+V 23  13123.917029  -6185.538450  27214.710801       .006014                    
+P 24  -3769.297301  16707.023315  20524.815423     89.286742                    
+V 24 -18106.326752 -17962.131758  11582.056234       .029380                    
+P 25  -1686.911839 -18901.677966  18955.889022     84.286554                    
+V 25  19069.035146  13518.566396  15525.469430       .008026                    
+P 26  15815.256886   9304.643891 -19729.858895    316.654144                    
+V 26 -23147.819354   6836.717684 -14986.745276       .056031                    
+P 27 -17742.411408   2734.145888 -19184.818057    513.076512                    
+V 27 -18428.809623 -17528.378642  13714.676219       .063469                    
+P 28 -12146.987817  21578.234489  -8922.852081     46.473879                    
+V 28    156.912117 -12096.160268 -29092.084172       .001666                    
+P 29  11153.525641  11306.384470 -21051.223916    179.979746                    
+V 29 -25900.556349   8514.274799  -8899.173448      -.189301                    
+P 30  16094.255998  -4734.164956  20318.055928    445.118136                    
+V 30  -4458.873281  26099.388732   9605.731103      -.143062                    
+*  2005  1 19  8 15   .00000000                                                 
+P  1   2962.956370 -15889.377993  21262.109418    383.702653                    
+V  1  25381.772824  -7631.609972  -9348.689298       .019292                    
+P  2  10393.857389  20677.864604  12801.143286    -42.993977                    
+V  2 -14299.136906  -9000.748693  25465.079725       .057924                    
+P  3  -4354.563451 -15511.765482 -21222.625543     77.883967                    
+V  3  24630.916060 -10619.929048   2989.132616       .030203                    
+P  4  -2954.197661  16620.330308  20422.184639    442.874479                    
+V  4 -20259.966594 -16393.244982  10743.920354      -.206573                    
+P  5  13881.730047  10052.556394  20170.788332     73.013868                    
+V  5  -3775.397685  25762.714467  -9993.640265       .024986                    
+P  6  25500.562762  -5826.779065   5125.935249   -169.441680                    
+V  6  -4613.749420   5463.740221  30185.036737       .883749                    
+P  7 -17083.372562  16672.626036  11900.292840     65.035874                    
+V  7 -14615.464191   2878.209728 -26068.187879      -.302253                    
+P  8 -13799.232725   7570.094697 -21617.592660    -18.984040                    
+V  8 -19711.016471 -18394.006052   5839.946830      -.011681                    
+P  9  21880.699733  15122.311571   2343.706148    -24.747828                    
+V  9   1075.112616   4335.723689 -31212.886582      -.017968                    
+P 10   2399.117725  24159.681554 -10470.696573     57.479511                    
+V 10  -4720.793233  12607.459223  28447.311159       .006994                    
+P 11 -23215.308821 -12822.126309   2719.653572    186.288663                    
+V 11   -484.537432  -5596.041861 -30060.758002       .036756                    
+P 13 -25500.895649   5283.567955   4972.602068    -13.867824                    
+V 13   5381.697963  -3979.549855  31529.895553       .009706                    
+P 14  18010.121602 -15164.044109  12333.113050    -31.482571                    
+V 14  15251.807101  -3500.054976 -26715.564911      -.000825                    
+P 15   6795.019730 -14278.939919 -21501.874257    377.586891                    
+V 15  19579.011328  18405.344447  -6383.439437       .053015                    
+P 16   1805.575161 -26128.431579  -4206.189267      1.997996                    
+V 16   3733.491144  -4845.736893  31192.860966      -.001776                    
+P 17  15899.430105  21411.910977   4284.613277    -94.160918                    
+V 17  -4851.465163  -2341.489362  30761.541637       .188633                    
+P 18  15631.698468 -10639.458316 -18489.155893   -118.731734                    
+V 18  -3702.473662  23450.006184 -16816.400763      -.037450                    
+P 19 -14226.252789 -10278.305862 -19827.952965    -11.825390                    
+V 19  24013.260891  -8385.636492 -12848.476434      -.008556                    
+P 20 -13377.188925  -8855.876579  21099.421834    -91.025886                    
+V 20   5273.087868 -26436.893539  -7709.598872       .026917                    
+P 21  18653.566594  -1259.733092 -19038.800843     87.946607                    
+V 21  16766.372136  17278.686516  14846.088021       .010735                    
+P 22  12511.347673 -20886.356056 -10479.303788     16.248446                    
+V 22   -685.020393  13757.584279 -27780.995422       .000541                    
+P 23 -22773.450189  -1801.183104  13548.550899    211.449343                    
+V 23  15567.232692  -7861.477283  24843.045264       .006019                    
+P 24  -5477.450149  15099.159935  21391.185601     89.289064                    
+V 24 -19807.222847 -17692.447099   7644.866813       .029375                    
+P 25    115.972123 -17686.720213  20191.054064     84.286317                    
+V 25  20951.190775  13410.098739  11885.772852       .008008                    
+P 26  13683.597201  10000.728608 -20912.194816    316.658851                    
+V 26 -24136.011792   8636.860974 -11249.412778       .056027                    
+P 27 -19377.458013   1249.532180 -17783.995564    513.082336                    
+V 27 -17823.053307 -15438.925586  17364.743433       .063469                    
+P 28 -12129.221244  20346.375619 -11454.486592     46.474046                    
+V 28    168.849759 -15248.841688 -27083.021021       .001646                    
+P 29   8807.120127  12149.403825 -21664.632389    179.962821                    
+V 29 -26147.532935  10203.396496  -4710.819179      -.189304                    
+P 30  15742.905527  -2334.743302  21000.992399    445.105337                    
+V 30  -3317.432289  27136.786657   5548.424876      -.143067                    
+*  2005  1 19  8 30   .00000000                                                 
+P  1   5176.748137 -16621.196961  20243.138680    383.705143                    
+V  1  23740.893368  -8577.434846 -13263.778636       .019298                    
+P  2   8986.291250  19823.271160  14974.640740    -42.988783                    
+V  2 -16966.739384  -9913.072436  22763.016708       .057910                    
+P  3  -2179.293380 -16510.177216 -20773.386493     77.887080                    
+V  3  23637.453822 -11520.424181   6981.306323       .030204                    
+P  4  -4850.427739  15162.735223  21209.518258    442.856118                    
+V  4 -21822.849605 -15926.994073   6728.900323      -.206574                    
+P  5  13601.788667  12320.074257  19098.742773     73.015454                    
+V  5  -2464.548728  24543.623217 -13793.802089       .024963                    
+P  6  24959.254633  -5266.251597   7791.266432   -169.362324                    
+V  6  -7366.545604   7039.134217  28960.826232       .883715                    
+P  7 -18271.392222  16905.749272   9459.543441     65.008688                    
+V  7 -11768.317489   2231.874689 -28095.216040      -.302261                    
+P  8 -15588.316717   5987.637185 -20911.360374    -18.984358                    
+V  8 -19969.366529 -16728.769789   9830.537267      -.011678                    
+P  9  21860.591254  15415.099837   -477.355207    -24.749827                    
+V  9  -1563.690332   2224.418704 -31388.801004      -.017963                    
+P 10   2027.889125  25158.386497  -7826.505904     57.481038                    
+V 10  -3587.040199   9535.433841  30227.332834       .006995                    
+P 11 -23140.665848 -13245.444879     -1.276959    186.292008                    
+V 11   2179.252295  -3859.517136 -30318.461252       .036761                    
+P 13 -24878.296769   4853.977228   7759.073664    -13.866964                    
+V 13   8403.240687  -5622.770196  30302.126098       .009710                    
+P 14  19243.764067 -15464.657173   9829.667208    -31.482173                    
+V 14  12141.228280  -3104.610634 -28837.028447      -.000821                    
+P 15   8617.763923 -12653.932957 -21892.638444    377.591191                    
+V 15  20867.572695  17638.486979  -2289.784953       .053010                    
+P 16   2107.095042 -26414.575103  -1370.590896      1.997814                    
+V 16   3033.176951  -1491.504324  31729.517254      -.001765                    
+P 17  15349.795278  21106.061434   7010.561682    -94.143906                    
+V 17  -7394.633283  -4391.837420  29732.619134       .188669                    
+P 18  15338.798240  -8443.631529 -19837.169667   -118.735383                    
+V 18  -2758.658935  25271.580049 -13096.840583      -.037445                    
+P 19 -12029.566577 -11107.542896 -20808.805133    -11.826187                    
+V 19  24712.661597 -10037.015421  -8916.540648      -.008551                    
+P 20 -12971.172511 -11200.531113  20224.939733    -91.023443                    
+V 20   3758.365848 -25576.920677 -11695.002926       .026918                    
+P 21  20139.239290    202.053631 -17545.046230     87.947374                    
+V 21  16169.706347  15184.187730  18299.782623       .010735                    
+P 22  12455.548848 -19510.977328 -12881.586919     16.248476                    
+V 22   -488.360371  16769.971602 -25525.183099       .000564                    
+P 23 -21278.303388  -2591.595852  15661.364402    211.450011                    
+V 23  17582.530518  -9728.322101  22040.212707       .006025                    
+P 24  -7325.266588  13535.318278  21897.249264     89.291252                    
+V 24 -21197.421047 -16992.071784   3586.313686       .029371                    
+P 25   2075.288813 -16499.885080  21089.602194     84.286547                    
+V 25  22533.192912  12901.280957   8055.295961       .007990                    
+P 26  11486.490252  10858.794604 -21748.803427    316.664056                    
+V 26 -24600.938412  10420.808147  -7313.880600       .056024                    
+P 27 -20935.719744    -41.977511 -16069.066905    513.088105                    
+V 27 -16723.217316 -13253.369912  20684.983162       .063470                    
+P 28 -12128.612591  18840.237938 -13783.353141     46.474128                    
+V 28   -219.195100 -18175.268032 -24592.851532       .001627                    
+P 29   6463.738704  13138.667381 -21896.472357    179.945575                    
+V 29 -25836.219672  11748.371874   -432.573128      -.189308                    
+P 30  15501.548665    134.782231  21313.884450    445.092410                    
+V 30  -2028.508610  27652.321061   1394.910355      -.143071                    
+*  2005  1 19  8 45   .00000000                                                 
+P  1   7224.221999 -17422.670082  18881.239399    383.708272                    
+V  1  21697.275937  -9168.830065 -16958.633255       .019303                    
+P  2   7343.717275  18907.365693  16886.269188    -42.983412                    
+V  2 -19505.307377 -10364.215927  19653.980839       .057896                    
+P  3   -111.818932 -17576.072863 -19969.283959     77.888991                    
+V  3  22244.525726 -12108.994218  10863.738694       .030205                    
+P  4  -6871.240509  13765.373747  21630.228181    442.837336                    
+V  4 -23017.145702 -15064.462104   2608.627364      -.206575                    
+P  5  13433.480947  14456.049370  17695.314020     73.017100                    
+V  5  -1307.790223  22846.441695 -17347.128790       .024940                    
+P  6  24184.366695  -4552.249174  10324.188564   -169.282764                    
+V  6  -9793.700793   8863.659927  27247.032162       .883680                    
+P  7 -19200.015324  17061.674110   6857.288466     64.981592                    
+V  7  -8866.059147   1163.160136 -29651.339499      -.302269                    
+P  8 -17379.377643   4565.364434 -19853.302511    -18.985563                    
+V  8 -19750.241279 -14848.785785  13647.682325      -.011676                    
+P  9  21592.876446  15533.198643  -3290.423399    -24.750744                    
+V  9  -4414.176112    462.308124 -31036.505645      -.017957                    
+P 10   1742.211350  25868.314819  -5045.561214     57.479873                    
+V 10  -2827.348271   6205.578205  31481.514964       .006996                    
+P 11 -22817.674243 -13526.256660  -2722.185922    186.295436                    
+V 11   5021.744510  -2436.424493 -30060.326893       .036764                    
+P 13 -23998.622037   4262.401886  10411.218109    -13.866295                    
+V 13  11081.577573  -7567.753744  28549.110373       .009716                    
+P 14  20193.220098 -15709.169949   7157.284231    -31.482520                    
+V 14   8953.270403  -2253.007370 -30464.224108      -.000819                    
+P 15  10539.628161 -11115.213225 -21913.189004    377.596065                    
+V 15  21771.410980  16498.670508   1832.099866       .053005                    
+P 16   2363.780247 -26394.492498   1488.674951      1.997543                    
+V 16   2740.018779   1942.954015  31718.204046      -.001754                    
+P 17  14563.841344  20633.409971   9621.929498    -94.126794                    
+V 17 -10089.382008  -6041.715200  28218.738507       .188706                    
+P 18  15142.627082  -6104.831630 -20839.930312   -118.738662                    
+V 18  -1565.614085  26618.439324  -9155.499522      -.037439                    
+P 19  -9794.053376 -12082.724643 -21428.273236    -11.826957                    
+V 19  24876.708274 -11613.645709  -4829.459524      -.008545                    
+P 20 -12697.752368 -13443.957040  19000.446539    -91.021189                    
+V 20   2341.163672 -24192.043469 -15476.353870       .026920                    
+P 21  21549.867050   1470.953728 -15754.416182     87.948527                    
+V 21  15098.731210  13007.458089  21434.461821       .010736                    
+P 22  12434.889656 -17875.679377 -15060.421981     16.248634                    
+V 22     89.296315  19518.689393 -22822.480823       .000588                    
+P 23 -19622.847874  -3555.498402  17504.262678    211.450648                    
+V 23  19123.304277 -11702.180186  18853.394723       .006031                    
+P 24  -9281.560910  12051.831448  22035.088972     89.294201                    
+V 24 -22207.200769 -15917.296174   -526.664475       .029366                    
+P 25   4160.902176 -15374.931143  21637.149841     84.287707                    
+V 25  23747.423539  12044.821615   4096.292381       .007973                    
+P 26   9271.106774  11873.196572 -22224.589250    316.668973                    
+V 26 -24543.835237  12095.566169  -3241.650018       .056020                    
+P 27 -22373.209676  -1136.092081 -14072.248981    513.093984                    
+V 27 -15143.068178 -11068.274848  23620.496199       .063470                    
+P 28 -12179.499512  17084.371025 -15868.103913     46.474373                    
+V 28   -967.461485 -20783.939701 -21666.436499       .001608                    
+P 29   4172.552190  14257.025691 -21742.108342    179.927947                    
+V 29 -24993.825843  13057.445886   3858.557164      -.189312                    
+P 30  15379.623017   2626.395099  21251.436971    445.079739                    
+V 30   -678.026059  27625.852353  -2779.909004      -.143075                    
+*  2005  1 19  9  0   .00000000                                                 
+P  1   9072.412280 -18259.235299  17199.065875    383.710719                    
+V  1  19325.817760  -9349.045296 -20370.917900       .019308                    
+P  2   5482.079215  17971.111761  18501.735887    -42.978335                    
+V  2 -21819.293134 -10369.313913  16191.132652       .057882                    
+P  3   1814.547949 -18678.701074 -18823.209223     77.891917                    
+V  3  20512.851385 -12328.183921  14569.729885       .030207                    
+P  4  -8980.606729  12461.080272  21678.064867    442.818532                    
+V  4 -23781.694305 -13870.692949  -1545.200589      -.206577                    
+P  5  13359.516762  16419.556191  15985.496188     73.020003                    
+V  5   -379.665290  20720.491637 -20592.770766       .024917                    
+P  6  23207.896924  -3665.382364  12681.947339   -169.203161                    
+V  6 -11837.736110  10868.230936  25073.985516       .883645                    
+P  7 -19868.325636  17102.779023   4137.379845     64.954213                    
+V  7  -5998.481818   -316.258539 -30705.152894      -.302276                    
+P  8 -19128.429055   3318.630803 -18461.841554    -18.987257                    
+V  8 -19033.998502 -12843.048778  17229.495097      -.011673                    
+P  9  21062.144998  15510.110922  -6048.416663    -24.751259                    
+V  9  -7394.296576   -907.185079 -30167.486121      -.017952                    
+P 10   1506.606209  26270.547422  -2176.332328     57.480947                    
+V 10  -2479.032667   2714.491498  32186.056416       .006997                    
+P 11 -22233.752500 -13694.498560  -5396.788228    186.298682                    
+V 11   7964.040258  -1362.722562 -29290.883633       .036768                    
+P 13 -22896.033359   3484.975102  12883.051790    -13.865489                    
+V 13  13346.435057  -9739.232385  26300.995313       .009722                    
+P 14  20856.043974 -15856.714014   4361.804654    -31.482435                    
+V 14   5788.268044   -952.561677 -31568.454171      -.000815                    
+P 15  12523.421539  -9693.250508 -21564.062963    377.601716                    
+V 15  22235.870139  15056.557212   5913.946172       .052999                    
+P 16   2612.770777 -26065.402980   4322.272463      1.997325                    
+V 16   2861.979272   5358.780822  31160.102211      -.001741                    
+P 17  13531.696951  20031.512103  12076.095567    -94.109540                    
+V 17 -12850.966577  -7260.163750  26243.762937       .188743                    
+P 18  15062.055355  -3667.886815 -21480.600200   -118.741970                    
+V 18   -203.877399  27446.749151  -5062.250512      -.037434                    
+P 19  -7567.440289 -13193.057710 -21675.599979    -11.827635                    
+V 19  24518.662037 -13025.737346   -658.827833      -.008539                    
+P 20 -12544.283679 -15540.446656  17447.288714    -91.018642                    
+V 20   1106.321041 -22319.314672 -18988.108029       .026922                    
+P 21  22843.028669   2543.646308 -13697.924669     87.949669                    
+V 21  13562.250587  10838.957764  24199.966812       .010735                    
+P 22  12481.645239 -16008.068502 -16977.598614     16.248555                    
+V 22   1000.553749  21919.278466 -19718.861018       .000612                    
+P 23 -17851.235977  -4698.491170  19045.072971    211.451388                    
+V 23  20160.450476 -13692.689357  15336.696634       .006035                    
+P 24 -11309.422017  10679.378325  21802.839303     89.297684                    
+V 24 -22779.443497 -14537.065662  -4626.673436       .029361                    
+P 25   6337.101499 -14340.312925  21824.992444     84.288580                    
+V 25  24537.987684  10905.495572     72.571844       .007955                    
+P 26   7083.713151  13029.988914 -22330.132177    316.674216                    
+V 26 -23983.526281  13570.247008    902.776394       .056016                    
+P 27 -23647.999458  -2037.076356 -11830.318133    513.099813                    
+V 27 -13114.385205  -8976.574518  26124.959524       .063470                    
+P 28 -12311.899503  15111.091056 -17671.815631     46.474415                    
+V 28  -2020.054702 -22994.344437 -18357.066404       .001589                    
+P 29   1979.407688  15479.412820 -21203.875160    179.910638                    
+V 29 -23666.752647  14047.081498   8084.948627      -.189315                    
+P 30  15378.704380   5091.129661  20815.115254    445.067329                    
+V 30    645.854303  27056.493178  -6900.960899      -.143080                    
+*  2005  1 19  9 15   .00000000                                                 
+P  1  10695.588824 -19091.913375  15224.699374    383.711237                    
+V  1  16711.919258  -9077.014965 -23442.530715       .019312                    
+P  2   3425.676574  17053.292576  19791.862838    -42.972970                    
+V  2 -23819.194267  -9961.522931  12434.808523       .057867                    
+P  3   3572.478546 -19782.729859 -17353.961057     77.894616                    
+V  3  18514.257556 -12134.025947  18034.892295       .030209                    
+P  4 -11137.650175  11276.302654  21353.231746    442.800098                    
+V  4 -24070.284008 -12422.065817  -5661.090678      -.206578                    
+P  5  13356.345562  18174.777344  13999.500800     73.022684                    
+V  5    255.713232  18229.590613 -23475.794056       .024894                    
+P  6  22066.367342  -2592.896960  14824.849258   -169.123614                    
+V  6 -13455.873265  12974.953984  22479.269808       .883611                    
+P  7 -20283.418783  16993.286402   1346.140025     64.927067                    
+V  7  -3253.271699  -2177.142418 -31233.295579      -.302284                    
+P  8 -20790.503604   2254.641016 -16760.792986    -18.989681                    
+V  8 -17818.553744 -10803.100275  20518.148029      -.011670                    
+P  9  20260.631029  15382.504064  -8705.637011    -24.753667                    
+V  9 -10416.738815  -1857.311529 -28800.914656      -.017947                    
+P 10   1283.059147  26355.170119    731.015748     57.481226                    
+V 10  -2560.934639   -834.959414  32327.165793       .006999                    
+P 11 -21383.668518 -13782.667899  -7979.585549    186.301767                    
+V 11  10922.212607   -659.185852 -28023.062364       .036773                    
+P 13 -21610.314007   2505.129030  15131.704078    -13.864663                    
+V 13  15143.555574 -12050.805301  23596.710164       .009730                    
+P 14  21238.743391 -15867.934346   1491.254097    -31.482440                    
+V 14   2744.224467    770.495056 -32129.937756      -.000813                    
+P 15  14527.699624  -8411.699213 -20851.892985    377.606766                    
+V 15  22221.372325  13392.440587   9888.724701       .052993                    
+P 16   2891.097077 -25433.421426   7081.400180      1.997251                    
+V 16   3388.681797   8657.770055  30065.876235      -.001729                    
+P 17  12251.329677  19339.977775  14332.874840    -94.092914                    
+V 17 -15590.424378  -8032.600003  23837.918031       .188779                    
+P 18  15108.373961  -1180.761730 -21748.739799   -118.745065                    
+V 18   1239.245241  27730.852252   -889.175307      -.037431                    
+P 19  -5395.421510 -14419.874856 -21546.547515    -11.828267                    
+V 19  23670.273792 -14188.704118   3522.295141      -.008535                    
+P 20 -12490.837904 -17448.404956  15592.501334    -91.016369                    
+V 20    130.310508 -20012.784388 -22169.581327       .026924                    
+P 21  23977.864628   3424.846670 -11410.818610     87.950280                    
+V 21  11586.057010   8766.256814  26552.484247       .010735                    
+P 22  12623.146954 -13942.852433 -18599.386009     16.248672                    
+V 22   2183.315476  23898.903208 -16267.756828       .000636                    
+P 23 -16009.413271  -6017.883102  20256.771023    211.451896                    
+V 23  20683.343644 -15606.564877  11550.266323       .006038                    
+P 24 -13367.446243   9441.962230  21204.685950     89.301236                    
+V 24 -22871.743167 -12930.304234  -8646.790992       .029355                    
+P 25   8563.749505 -13418.204191  21650.207723     84.288901                    
+V 25  24862.707408   9557.657878  -3951.315320       .007938                    
+P 26   4968.107325  14307.268747 -22061.925096    316.679574                    
+V 26 -22955.905774  14759.472871   5052.631553       .056013                    
+P 27 -24721.776327  -2757.258539  -9383.815719    513.105872                    
+V 27 -10685.426948  -7063.950671  28161.083287       .063470                    
+P 28 -12550.161904  12959.343183 -19162.698778     46.474757                    
+V 28  -3307.366974 -24740.173456 -14725.329718       .001570                    
+P 29    -74.819294  16773.750497 -20291.061385    179.893449                    
+V 29 -21918.699153  14645.548935  12169.964333      -.189318                    
+P 30  15492.473735   7480.809132  20013.091612    445.054805                    
+V 30   1856.474200  25962.591454 -10894.522439      -.143084                    
+*  2005  1 19  9 30   .00000000                                                 
+P  1  12076.063962 -19878.803562  12991.223853    383.714395                    
+V  1  13948.351968  -8329.126265 -26120.558696       .019317                    
+P  2   1206.453033  16188.943822  20733.185366    -42.967811                    
+V  2 -25425.231546  -9190.679255   8451.438767       .057853                    
+P  3   5141.508814 -20849.552656 -15585.986221     77.898107                    
+V  3  16328.984036 -11498.001455  21198.292851       .030211                    
+P  4 -13298.075172  10230.222258  20662.311391    442.781332                    
+V  4 -23853.371588 -10803.125245  -9668.974472      -.206579                    
+P  5  13395.213295  19692.199226  11772.183727     73.022636                    
+V  5    547.205904  15449.548286 -25948.058639       .024871                    
+P  6  20799.434654  -1329.335609  16716.885270   -169.044235                    
+V  6 -14621.411953  15100.082132  19507.062197       .883576                    
+P  7 -20460.061267  16700.816142  -1468.396831     64.899951                    
+V  7   -712.653702  -4373.408752 -31221.206611      -.302292                    
+P  8 -22321.243144   1372.374235 -14778.965844    -18.991016                    
+V  8 -16119.497245  -8819.623204  23460.619780      -.011666                    
+P  9  19188.547014  15188.678292 -11218.436066    -24.755662                    
+V  9 -13392.045730  -2378.578843 -26963.069097      -.017942                    
+P 10   1032.726080  26121.660550   3625.541545     57.482206                    
+V 10  -3072.571718  -4337.611031  31901.421018       .007000                    
+P 11 -20269.856300 -13824.420036 -10426.614242    186.304832                    
+V 11  13810.347561   -330.706872 -26277.992586       .036780                    
+P 13 -20185.332282   1314.447195  17118.177908    -13.863738                    
+V 13  16436.693724 -14408.327538  20483.276385       .009738                    
+P 14  21356.402229 -15706.658154  -1404.978250    -31.482551                    
+V 14    -86.883077   2871.882895 -32138.207248      -.000811                    
+P 15  16508.190972  -7286.669832 -19789.253302    377.610286                    
+V 15  21704.865757  11593.131203  13691.581131       .052988                    
+P 16   3234.045896 -24513.334196   9718.634148      1.997096                    
+V 16   4291.894313  11746.026884  28455.416216      -.001717                    
+P 17  10728.791339  18598.975194  16355.078041    -94.075858                    
+V 17 -18217.575618  -8361.225072  21037.500588       .188816                    
+P 18  15284.846978   1307.123194 -21640.445689   -118.748155                    
+V 18   2673.301121  27464.137433   3290.784800      -.037430                    
+P 19  -3320.049206 -15737.261132 -21043.468890    -11.828918                    
+V 19  22380.445226 -15026.624260   7640.728996      -.008531                    
+P 20 -12511.098108 -19131.791444  13468.322105    -91.013937                    
+V 20   -521.856454 -17341.442501 -24966.011597       .026927                    
+P 21  24916.568150   4126.900091  -8931.983128     87.951279                    
+V 21   9211.992224   6870.823851  28455.054859       .010736                    
+P 22  12880.567944 -11720.662304 -19897.164142     16.248780                    
+V 22   3563.293316  25399.199912 -12529.141609       .000659                    
+P 23 -14143.433761  -7502.594412  21117.980414    211.452535                    
+V 23  20700.199169 -17351.296193   7559.285351       .006041                    
+P 24 -15411.137216   8356.145937  20250.782333     89.304202                    
+V 24 -22457.998500 -11182.910686 -12521.472118       .029349                    
+P 25  10797.589388 -12623.759452  21115.685999     84.289418                    
+V 25  24694.651443   8082.450158  -7910.884218       .007920                    
+P 26   2964.128170  15675.821794 -21422.541057    316.684545                    
+V 26 -21512.823615  15586.683301   9139.714537       .056009                    
+P 27 -25561.234567  -3316.230728  -6776.224202    513.111403                    
+V 27  -7918.805174  -5405.654556  29700.813643       .063471                    
+P 28 -12911.865311  10673.300767 -20314.696716     46.475160                    
+V 28  -4749.089261 -25971.930846 -10837.804800       .001548                    
+P 29  -1955.668559  18102.154803 -19019.748565    179.876218                    
+V 29 -19828.035396  14796.033489  16039.549212      -.189321                    
+P 30  15707.018111   9749.746198  18860.057521    445.041795                    
+V 30   2872.330100  24380.921954 -14689.683388      -.143089                    
+*  2005  1 19  9 45   .00000000                                                 
+P  1  13204.703509 -20576.710517  10536.217551    383.716234                    
+V  1  11131.832321  -7100.357306 -28358.189446       .019321                    
+P  2  -1137.031679  15407.940143  21308.445035    -42.962684                    
+V  2 -26570.678243  -8121.236218   4312.285466       .057839                    
+P  3   6508.661622 -21838.745999 -13549.017458     77.898878                    
+V  3  14042.634718 -10408.434999  24003.584922       .030212                    
+P  4 -15415.719700   9334.171872  19618.085245    442.763054                    
+V  4 -23119.147322  -9103.154124 -13501.351053      -.206580                    
+P  5  13443.424376  20949.562108   9342.399933     73.024367                    
+V  5    458.646543  12465.234029 -27968.943553       .024849                    
+P  6  19448.403416    123.076108  18326.291897   -168.964806                    
+V  6 -15324.513350  17157.166497  16207.405001       .883542                    
+P  7 -20420.052218  16197.842950  -4257.306241     64.872697                    
+V  7   1549.836558  -6843.549333 -30663.754532      -.302300                    
+P  8 -23678.471631    662.812714 -12549.698989    -18.993358                    
+V  8 -13969.596723  -6979.096932  26009.377380      -.011662                    
+P  9  17854.135467  14967.010216 -13545.828145    -24.757768                    
+V  9 -16231.734143  -2478.730510 -24686.725102      -.017936                    
+P 10    717.680611  25578.911161   6456.468049     57.482351                    
+V 10  -3994.094174  -7690.090604  30915.901173       .007002                    
+P 11 -18902.454518 -13853.129868 -12696.169680    186.308169                    
+V 11  16543.665243   -366.193745 -24084.682105       .036789                    
+P 13 -18667.357044    -86.803561  18808.041118    -13.862745                    
+V 13  17208.900687 -16713.618564  17014.961728       .009745                    
+P 14  21231.979840 -15341.453414  -4276.989716    -31.482566                    
+V 14  -2622.573717   5290.851166 -31592.345359      -.000809                    
+P 15  18419.327507  -6326.290144 -18394.423968    377.614501                    
+V 15  20680.680015   9748.651237  17260.715706       .052983                    
+P 16   3673.601462 -23328.052885  12188.740586      1.996949                    
+V 16   5526.712602  14537.441667  26357.420374      -.001705                    
+P 17   8978.190058  17847.721826  18109.044113    -94.058799                    
+V 17 -20644.081121  -8264.900116  17884.563863       .188853                    
+P 18  15586.595191   3746.616794 -21158.367946   -118.751571                    
+V 18   4008.398030  26659.156409   7405.155549      -.037430                    
+P 19  -1378.275699 -17112.976985 -20175.258463    -11.829817                    
+V 19  20713.217226 -15475.356512  11624.513414      -.008528                    
+P 20 -12573.512633 -20561.350301  11111.614926    -91.011207                    
+V 20   -799.257675 -14386.589141 -27329.503583       .026928                    
+P 21  25625.766299   4669.097665  -6303.305507     87.952445                    
+V 21   6496.451542   5225.077265  29877.983678       .010737                    
+P 22  13267.958599  -9386.642426 -20847.965239     16.248891                    
+V 22   5057.033489  26378.569645  -8568.457340       .000683                    
+P 23 -12297.775408  -9133.393336  21613.375916    211.453011                    
+V 23  20237.701694 -18838.848273   3432.847775       .006044                    
+P 24 -17394.423865   7430.568042  18957.085768     89.307079                    
+V 24 -21529.439447  -9384.526877 -16187.431734       .029343                    
+P 25  12993.666918 -11964.637509  20230.088244     84.290663                    
+V 25  24023.156616   6564.785986 -11742.516486       .007903                    
+P 26   1106.291731  17100.057283 -20420.721141    316.689582                    
+V 26 -19720.383601  15987.231151  13095.323185       .056005                    
+P 27 -26139.253542  -3739.787293  -4053.135238    513.117301                    
+V 27  -4888.889519  -4063.873837  30725.313728       .063471                    
+P 28 -13407.007474   8300.761517 -21107.960746     46.475308                    
+V 28  -6257.673760 -26658.821130  -6765.618683       .001526                    
+P 29  -3636.273693  19422.395429 -17412.508886    179.859694                    
+V 29 -17484.556847  14459.118794  19623.771931      -.189324                    
+P 30  16001.450157  11856.336800  17376.908019    445.029020                    
+V 30   3620.478451  22365.131158 -18219.715626      -.143094                    
+*  2005  1 19 10  0   .00000000                                                 
+P  1  14081.120566 -21142.843241   7901.165056    383.717663                    
+V  1   8359.419720  -5404.732378 -30115.563847       .019326                    
+P  2  -3560.907962  14733.796885  21506.961912    -42.957554                    
+V  2 -27204.685324  -6829.559265     92.029291       .057826                    
+P  3   7668.782681 -22709.624578 -11277.610974     77.902775                    
+V  3  11742.883606  -8871.253987  26400.105722       .030215                    
+P  4 -17444.173955   8591.368520  18239.254446    442.744613                    
+V  4 -21873.922430  -7412.625539 -17094.339971      -.206581                    
+P  5  13465.756558  21932.531585   6752.300059     73.025006                    
+V  5    -29.768662   9367.338370 -29505.913735       .024828                    
+P  6  18054.696218   1754.332022  19626.044068   -168.885297                    
+V  6 -15572.370242  19060.294974  12635.418077       .883508                    
+P  7 -20191.305559  15462.995366  -6971.644431     64.845648                    
+V  7   3472.314437  -9512.722935 -29565.704635      -.302308                    
+P  8 -24823.696364    109.464751 -10110.338811    -18.995256                    
+V  8 -11417.707112  -5360.620014  28122.995682      -.011657                    
+P  9  16273.445019  14754.424590 -15650.045920    -24.758485                    
+V  9 -18851.311664  -2182.146364 -22010.539673      -.017931                    
+P 10    302.628461  24744.885691   9174.124906     57.483933                    
+V 10  -5287.055531 -10794.843568  29388.082539       .007003                    
+P 11 -17299.064757 -13900.471154 -14749.496603    186.311649                    
+V 11  19041.609355   -739.067608 -21479.583095       .036796                    
+P 13 -17103.291730  -1689.483757  20172.035297    -13.861809                    
+V 13  17463.045195 -18868.341633  13252.296199       .009751                    
+P 14  20895.313261 -14747.015388  -7075.228088    -31.482499                    
+V 14  -4792.972089   7952.411321 -30501.054586      -.000807                    
+P 15  20215.824406  -5530.568306 -16691.078457    377.619306                    
+V 15  19160.769247   7948.849763  20538.207126       .052978                    
+P 16   4237.022743 -21907.768807  14449.444278      1.996838                    
+V 16   7033.390249  16956.845332  23808.830818      -.001693                    
+P 17   7021.387636  17123.010675  19565.142922    -94.041808                    
+V 17 -22786.475075  -7778.486482  14426.568965       .188889                    
+P 18  16000.811535   6090.539142 -20311.610180   -118.754719                    
+V 18   5158.848001  25346.998273  11383.206896      -.037430                    
+P 19    399.296080 -18509.641508 -18957.182789    -11.830406                    
+V 19  18745.169431 -15485.185438  15404.218852      -.008524                    
+P 20 -12642.660447 -21715.582080   8563.214305    -91.009158                    
+V 20   -667.120768 -11238.739742 -29219.840010       .026931                    
+P 21  26077.743602   5076.742087  -3569.006434     87.953514                    
+V 21   3508.391169   3889.791501  30799.157948       .010736                    
+P 22  13791.573196  -6988.862579 -21434.912758     16.248993                    
+V 22   6575.339096  26813.814545  -4455.413007       .000706                    
+P 23 -10513.721977 -10883.460661  21733.981578    211.453528                    
+V 23  19339.906497 -19989.219398   -757.254423       .006048                    
+P 24 -19271.244086   6665.756542  17345.115172     89.310243                    
+V 24 -20095.055900  -7625.182783 -19584.505270       .029337                    
+P 25  15106.820392 -11440.802853  19007.732063     84.290869                    
+V 25  22854.309749   5090.206675 -15384.261182       .007886                    
+P 26   -577.393939  18539.207608 -19071.373655    316.694731                    
+V 26 -17656.683055  15911.150614  16851.291829       .056001                    
+P 27 -26435.825906  -4058.653418  -1261.428066    513.123442                    
+V 27  -1678.873053  -3085.710747  31224.760303       .063471                    
+P 28 -14037.521118   5891.409306 -21529.191246     46.475300                    
+V 28  -7742.085843 -26789.837135  -2582.920340       .001504                    
+P 29  -5098.225945  20689.545948 -15497.968246    179.843139                    
+V 29 -14985.765386  13614.532234  22858.266513      -.189327                    
+P 30  16348.817625  13764.483173  15590.308354    445.016177                    
+V 30   4039.550382  19983.513628 -21423.315257      -.143098                    
+*  2005  1 19 10 15   .00000000                                                 
+P  1  14713.542033 -21536.523018   5130.795947    383.720230                    
+V  1   5724.867510  -3275.063557 -31360.552206       .019330                    
+P  2  -6017.528933  14182.740113  21324.874228    -42.952507                    
+V  2 -27294.466945  -5400.690674  -4132.757487       .057814                    
+P  3   8624.573601 -23422.834185  -8810.587710     77.905918                    
+V  3   9516.060124  -6910.065480  28343.912109       .030217                    
+P  4 -19338.403242   7996.966007  16550.070318    442.726195                    
+V  4 -20141.840123  -5819.667978 -20388.634479      -.206582                    
+P  5  13425.971692  22635.069661   4046.583146     73.026641                    
+V  5   -920.744145   6248.958689 -30534.927908       .024808                    
+P  6  16658.336217   3546.838891  20594.274735   -168.805525                    
+V  6 -15388.764245  20727.305728   8850.460873       .883473                    
+P  7 -19806.682811  14482.138157  -9563.352769     64.818516                    
+V  7   5007.103339 -12295.464290 -27941.987817      -.302316                    
+P  8 -25723.485759   -310.837803  -7501.663966    -18.996150                    
+V  8  -8527.124668  -4033.002129  29766.715072      -.011651                    
+P  9  14469.841996  14584.943737 -17497.042919    -24.759647                    
+V  9 -21173.111501  -1528.706785 -18978.434832      -.017926                    
+P 10   -243.483101  23645.922471  11730.870646     57.483641                    
+V 10  -6895.966996 -13563.925907  27345.499252       .007005                    
+P 11 -15484.237318 -13995.067062 -16551.435452    186.314973                    
+V 11  21230.793678  -1408.343508 -18506.048205       .036803                    
+P 13 -15538.896716  -3475.742914  21186.590623    -13.860702                    
+V 13  17221.551064 -20777.897752   9260.970747       .009756                    
+P 14  20381.860591 -13905.325737  -9751.354054    -31.482598                    
+V 14  -6543.432110  10770.141765 -28882.554090      -.000807                    
+P 15  21854.254216  -4891.559945 -14707.899593    377.624735                    
+V 15  17174.341914   6280.050311  23470.781389       .052974                    
+P 16   4945.611704 -20288.842329  16462.140128      1.996707                    
+V 16   8739.738442  18942.728095  20854.137552      -.001682                    
+P 17   4887.428246  16457.819834  20698.244552    -94.025147                    
+V 17 -24569.088711  -6951.657250  10715.988965       .188926                    
+P 18  16507.296207   8295.295173 -19115.517710   -118.757973                    
+V 18   6046.604461  23575.960432  15157.157930      -.037432                    
+P 19   1989.405565 -19886.128510 -17410.595932    -11.831065                    
+V 19  16562.338601 -15022.890023  18914.199565      -.008522                    
+P 20 -12680.773347 -22581.420524   5867.203329    -91.006960                    
+V 20   -108.237541  -7994.189037 -30605.145300       .026936                    
+P 21  26251.466630   5379.999010   -774.946560     87.954578                    
+V 21    326.910611   2911.937852  31204.278302       .010735                    
+P 22  14449.517196  -4576.615473 -21647.547337     16.249201                    
+V 22   8026.948687  26701.043556   -262.678760       .000728                    
+P 23  -8827.875195 -12719.262530  21477.356130    211.454207                    
+V 23  18066.451146 -20733.710494  -4937.817132       .006051                    
+P 24 -20997.139458   6054.245847  15441.632343     89.314734                    
+V 24 -18181.413374  -5991.926482 -22656.486488       .029330                    
+P 25  17093.188938 -11044.612304  17468.405458     84.291480                    
+V 25  21210.871768   3741.702745 -18776.639491       .007869                    
+P 26  -2066.387175  19948.757950 -17395.475303    316.699798                    
+V 26 -15409.044006  15325.480066  20341.130826       .055998                    
+P 27 -26438.711346  -4307.060584   1551.526989    513.129115                    
+V 27   1622.371235  -2501.805903  31197.995379       .063471                    
+P 28 -14797.134001   3495.015609 -21571.839386     46.475766                    
+V 28  -9111.672900 -26374.011063   1634.682559       .001481                    
+P 29  -6332.088322  21857.754930 -13310.245710    179.826012                    
+V 29 -12432.844890  12262.075279  25685.531084      -.189331                    
+P 30  16717.261920  15444.790585  13532.155619    445.003278                    
+V 30   4082.253581  17316.226567 -24245.690137      -.143103                    
+*  2005  1 19 10 30   .00000000                                                 
+P  1  15118.349635 -21720.835662   2272.357721    383.721904                    
+V  1   3315.061637   -761.972657 -32069.434751       .019334                    
+P  2  -8457.166772  13763.086475  20765.237095    -42.947158                    
+V  2 -26826.739080  -3924.724552  -8285.208172       .057802                    
+P  3   9386.317224 -23941.919966  -6190.385248     77.909273                    
+V  3   7443.748277  -4565.529349  29798.725797       .030218                    
+P  4 -21056.315290   7538.420131  14579.883780    442.707609                    
+V  4 -17963.935721  -4406.672569 -23330.349145      -.206583                    
+P  5  13288.362820  23059.495612   1271.719705     73.029043                    
+V  5  -2199.814967   3202.141952 -31040.690630       .024788                    
+P  6  15296.496432   5475.893872  21214.617092   -168.725680                    
+V  6 -14813.029755  22082.865654   4915.251498       .883439                    
+P  7 -19302.618874  13249.186456 -11986.176230     64.791690                    
+V  7   6122.758001 -15098.918373 -25817.739275      -.302324                    
+P  8 -26350.675910   -626.895952  -4767.262709    -18.996074                    
+V  8  -5373.438240  -3052.218879  30912.936840      -.011646                    
+P  9  12473.277870  14488.362477 -19056.939723    -24.761098                    
+V  9 -23128.865577   -572.169026 -15638.987582      -.017921                    
+P 10   -946.028617  22315.713241  14081.974072     57.483064                    
+V 10  -8750.568892 -15922.396648  24825.177597       .007007                    
+P 11 -13488.702311 -14161.262947 -18071.014957    186.318283                    
+V 11  23047.698625  -2320.258117 -15213.681111       .036810                    
+P 13 -14017.070204  -5419.526441  21834.237172    -13.859743                    
+V 13  16525.363630 -22355.177704   5110.642046       .009760                    
+P 14  19731.234105 -12806.537385 -12259.086535    -31.482616                    
+V 14  -7836.569360  13649.457840 -26764.302658      -.000806                    
+P 15  23294.560574  -4393.831428 -12478.128739    377.628168                    
+V 15  14766.893156   4821.839488  26010.526216       .052969                    
+P 16   5813.719603 -18512.470961  18192.536763      1.996638                    
+V 16  10563.998027  20449.422284  17544.567229      -.001670                    
+P 17   2611.712108  15880.052139  21488.150272    -94.008265                    
+V 17 -25926.779307  -5847.198834   6809.850035       .188964                    
+P 18  17079.286879  10322.339385 -17591.361276   -118.761516                    
+V 18   6604.362448  21409.581260  18663.290804      -.037434                    
+P 19   3376.833222 -21199.119667 -15562.545552    -11.831717                    
+V 19  14256.782590 -14073.154174  22093.763676      -.008520                    
+P 20 -12649.354348 -23154.589885   3070.138908    -91.004633                    
+V 20    876.319385  -4751.370744 -31462.392110       .026942                    
+P 21  26133.374938   5612.576130   2032.084005     87.955473                    
+V 21  -2961.507064   2323.025081  31087.007548       .010733                    
+P 22  15231.731413  -2198.667298 -21482.031619     16.249359                    
+V 22   9322.317551  26055.804764   3935.494467       .000749                    
+P 23  -7270.856509 -14601.699384  20847.660375    211.454913                    
+V 23  16490.143840 -21017.770610  -9035.556118       .006053                    
+P 24 -22530.805779   5580.993678  13278.248927     89.317099                    
+V 24 -15831.857282  -4565.548480 -25351.940531       .029323                    
+P 25  18911.688658 -10761.185610  15637.107896     84.289986                    
+V 25  19131.639339   2596.598905 -21863.455532       .007852                    
+P 26  -3348.301681  21282.060654 -15419.865610    316.705016                    
+V 26 -13070.809478  14216.026662  23501.256550       .055994                    
+P 27 -26143.802684  -4521.227583   4338.628565    513.135240                    
+V 27   4923.518897  -2325.614359  30652.071095       .063471                    
+P 28 -15671.575900   1159.655993 -21236.168320     46.475859                    
+V 28 -10279.976111 -25439.832949   5811.675618       .001457                    
+P 29  -7337.540550  22882.062556 -10888.283905    179.809402                    
+V 29  -9926.513355  10421.701750  28056.047158      -.189334                    
+P 30  17071.375052  16875.492863  11238.950247    444.990616                    
+V 30   3717.265830  14452.071120 -26639.472831      -.143107                    
+*  2005  1 19 10 45   .00000000                                                 
+P  1  15319.309496 -21664.164023   -625.167446    383.723386                    
+V  1   1206.683593   2067.785867 -32227.466300       .019338                    
+P  2 -10829.802098  13474.960851  19837.976118    -42.942098                    
+V  2 -25808.339403  -2492.954274 -12289.781035       .057791                    
+P  3   9971.302718 -24234.806779  -3462.329848     77.912917                    
+V  3   5599.539107  -1894.035846  30736.758220       .030219                    
+P  4 -22560.215382   7196.148356  12362.623356    442.689106                    
+V  4 -15396.592848  -3247.161207 -25871.758983      -.206584                    
+P  5  13019.277855  23216.238665  -1524.841110     73.030170                    
+V  5  -3835.933259    314.514466 -31016.754745       .024769                    
+P  6  14002.167628   7510.429028  21476.465810   -168.646462                    
+V  6 -13898.462548  23061.309184    894.948936       .883405                    
+P  7 -18717.594002  11766.609695 -14196.574044     64.764407                    
+V  7   6805.442107 -17826.476652 -23228.082371      -.302332                    
+P  8 -26685.363611   -871.890427  -1952.868542    -18.996628                    
+V  8  -2041.944841  -2459.313380  31541.653705      -.011641                    
+P  9  10319.339682  14489.088551 -20304.415684    -24.762417                    
+V  9 -24661.950953    621.885757 -12044.826952      -.017916                    
+P 10  -1823.500850  20794.000183  16186.435171     57.483432                    
+V 10 -10768.718849 -17811.164685  21872.861085       .007010                    
+P 11 -11348.373054 -14418.068209 -19281.981722    186.321510                    
+V 11  24441.018615  -3410.388277 -11657.586745       .036818                    
+P 13 -12576.255299  -7487.408140  22103.905375    -13.858774                    
+V 13  15432.189113 -23524.021965    873.668438       .009763                    
+P 14  18985.580305 -11449.548831 -14555.015342    -31.482670                    
+V 14  -8653.618868  16491.220423 -24182.550304      -.000805                    
+P 15  24501.459139  -4015.201890 -10039.053136    377.631605                    
+V 15  11998.672635   3644.100472  28115.550874       .052966                    
+P 16   6848.028801 -16623.188109  19611.222594      1.996619                    
+V 16  12418.069960  21448.672002  13937.174065      -.001660                    
+P 17    234.935562  15411.449481  21919.978730    -93.990907                    
+V 17 -26807.378140  -4538.834136   2769.192643       .189001                    
+P 18  17684.548454  12139.437976 -15765.925151   -118.764571                    
+V 18   6778.208789  18924.122203  21842.959020      -.037436                    
+P 19   4554.779243 -22404.752883 -13445.278303    -11.832446                    
+V 19  11922.930188 -12639.265580  24888.237513      -.008520                    
+P 20 -12510.828177 -23439.630793    220.238756    -91.002308                    
+V 20   2267.201162  -1607.156390 -31777.744441       .026950                    
+P 21  25717.911628   5810.277366   4805.085991     87.956416                    
+V 21  -6266.005850   2137.990141  30449.039919       .010732                    
+P 22  16120.315158     98.468359 -20941.228707     16.249397                    
+V 22  10377.342305  24912.435216   8064.697215       .000771                    
+P 23  -5866.250539 -16487.487348  19855.603648    211.455383                    
+V 23  14694.021672 -20803.298727 -12978.457912       .006055                    
+P 24 -23835.545120   5224.084441  10890.961463     89.319978                    
+V 24 -13105.124855  -3417.508958 -27624.988098       .029315                    
+P 25  20525.406322 -10569.049815  13543.718135     84.290957                    
+V 25  16670.253732   1723.601660 -24592.612974       .007837                    
+P 26  -4419.291199  22492.079375 -13176.927305    316.709962                    
+V 26 -10737.802957  12588.469661  26272.291263       .055991                    
+P 27 -25555.201857  -4737.805123   7053.760005    513.141147                    
+V 27   8133.996192  -2553.316257  29601.727793       .063471                    
+P 28 -16639.119798  -1069.985077 -20529.176875     46.476073                    
+V 28 -11168.319091 -24033.880087   9874.134310       .001433                    
+P 29  -8123.152122  23720.185964  -8275.087873    179.792483                    
+V 29  -7562.937090   8132.748712  29929.190713      -.189337                    
+P 30  17373.697053  18043.074069   8751.093691    444.977329                    
+V 30   2930.454768  11484.983673 -28565.446386      -.143112                    
+*  2005  1 19 11  0   .00000000                                                 
+P  1  15346.516498 -21341.539801  -3511.890799    383.725701                    
+V  1   -536.769121   5133.652860 -31829.304798       .019342                    
+P  2 -13086.930936  13310.364413  18559.696121    -42.936919                    
+V  2 -24265.996462  -1193.967452 -16073.850992       .057780                    
+P  3  10402.970495 -24275.130562   -673.840740     77.915230                    
+V  3   4046.074614   1034.273771  31139.386111       .030220                    
+P  4 -23818.097762   6944.455581   9936.211563    442.670480                    
+V  4 -12509.461580  -2403.021414 -27971.929569      -.206585                    
+P  5  12588.562146  23123.295895  -4295.467135     73.031010                    
+V  5  -5782.676725  -2333.878820 -30465.482808       .024750                    
+P  6  12802.992410   9613.996871  21375.154217   -168.567039                    
+V  6 -12710.227970  23609.140596  -3143.796254       .883370                    
+P  7 -18090.514206  10045.595763 -16154.598818     64.737228                    
+V  7   7059.573966 -20381.663961 -20217.642696      -.302339                    
+P  8 -26715.650135  -1081.962557    894.339804    -18.996674                    
+V  8   1375.290089  -2278.817039  31640.810761      -.011637                    
+P  9   8048.115083  14605.184796 -21219.046619    -24.764341                    
+V  9 -25729.252894   1978.470454  -8252.034286      -.017911                    
+P 10  -2886.590168  19125.045899  18007.727753     57.483228                    
+V 10 -12859.768565 -19189.170486  18542.050595       .007013                    
+P 11  -9103.157285 -14778.308187 -20163.258042    186.324837                    
+V 11  25373.572116  -4606.186407  -7897.527512       .036826                    
+P 13 -11249.035612  -9639.715732  21991.110583    -13.857799                    
+V 13  14014.080404 -24222.250903  -3376.196861       .009765                    
+P 14  18187.870341  -9842.243707 -16599.365990    -31.482631                    
+V 14  -8995.061645  19195.541988 -21181.724981      -.000805                    
+P 15  25445.676987  -3727.737562  -7431.436367    377.635117                    
+V 15   8942.636658   2804.388208  29750.589834       .052963                    
+P 16   8047.136760 -14667.250210  20694.146315      1.996615                    
+V 16  14210.978642  21930.536697  10093.850629      -.001651                    
+P 17  -2198.173314  15066.722913  21984.499421    -93.973613                    
+V 17 -27173.771410  -3108.613232  -1341.564256       .189038                    
+P 18  18286.677533  13721.683506 -13671.009680   -118.767542                    
+V 18   6529.729821  16205.605071  24643.479408      -.037442                    
+P 19   5524.909625 -23460.300512 -11095.654924    -11.833167                    
+V 19   9653.864428 -10743.079097  27249.904509      -.008519                    
+P 20 -12230.158994 -23449.595702  -2633.455048    -90.999797                    
+V 20   4027.503182   1346.762518 -31546.734701       .026958                    
+P 21  25007.775320   6009.483304   7497.573972     87.957210                    
+V 21  -9494.520712   2354.673431  29300.091791       .010732                    
+P 22  17090.176083   2272.163699 -20034.652019     16.249305                    
+V 22  11116.870846  23322.653608  12051.791257       .000793                    
+P 23  -4629.832846 -18330.718537  18518.268924    211.455884                    
+V 23  12767.995493 -20070.303283 -16697.120606       .006057                    
+P 24 -24880.567616   4955.696056   8319.617403     89.322281                    
+V 24 -10073.401410  -2607.173238 -29436.053994       .029308                    
+P 25  21902.861852 -10441.038326  11222.588412     84.291182                    
+V 25  13893.481870   1180.108174 -26916.933783       .007821                    
+P 26  -5284.104857  23533.199465 -10704.147688    316.715024                    
+V 26  -8504.573092  10468.716351  28600.402339       .055987                    
+P 27 -24685.012998  -4992.340274   9652.455058    513.147368                    
+V 27  11167.041680  -3164.333793  28068.796044       .063471                    
+P 28 -17671.430319  -3154.153407 -19464.392505     46.476196                    
+V 28 -11709.023553 -22218.735997  13751.126709       .001409                    
+P 29  -8705.797196  24334.198790  -5516.892061    179.775344                    
+V 29  -5429.886160   5452.365251  31273.915342      -.189341                    
+P 30  17586.291474  18942.566977   6112.129436    444.964515                    
+V 30   1725.390006   8510.387439 -29993.077676      -.143116                    
+*  2005  1 19 11 15   .00000000                                                 
+P  1  15235.091272 -20735.759300  -6337.876799    383.726406                    
+V  1  -1867.480721   8344.167590 -30879.284307       .019347                    
+P  2 -15183.312853  13253.589820  16953.349734    -42.931931                    
+V  2 -22245.258437   -109.866673 -19569.224373       .057771                    
+P  3  10709.809135 -24043.364486   2126.418645     77.918034                    
+V  3   2832.513332   4138.074340  30997.651257       .030221                    
+P  4 -24804.728480   6752.688825   7341.929456    442.652098                    
+V  4  -9382.920103  -1922.198306 -29597.239225      -.206586                    
+P  5  11970.866297  22805.419317  -6993.129382     73.033067                    
+V  5  -7980.023588  -4673.414345 -29397.877651       .024732                    
+P  6  11720.307518  11745.962679  20912.044807   -168.487583                    
+V  6 -11322.839246  23687.113105  -7133.817640       .883336                    
+P  7 -17459.068616   8105.860485 -17824.719613     64.710013                    
+V  7   6907.687003 -22672.103404 -16839.789261      -.302347                    
+P  8 -26438.107864  -1294.678637   3726.467489    -18.997612                    
+V  8   4782.635596  -2517.748204  31206.589894      -.011633                    
+P  9   5702.908755  14847.642750 -21785.588428    -24.765289                    
+V  9 -26302.597095   3415.905197  -4319.539795      -.017906                    
+P 10  -4137.584286  17355.940357  19514.448487     57.484533                    
+V 10 -14928.279969 -20034.815348  14892.889565       .007017                    
+P 11  -6795.618980 -15248.019695 -20699.319841    186.328138                    
+V 11  25823.700370  -5829.842959  -3996.993154       .036834                    
+P 13 -10060.973896 -11831.905216  21498.019082    -13.857029                    
+V 13  12354.468847 -24404.145976  -7565.128997       .009767                    
+P 14  17380.168095  -8001.384513 -18356.702274    -31.482634                    
+V 14  -8880.492603  21665.639985 -17813.664750      -.000805                    
+P 15  26104.986844  -3498.963634  -4698.897129    377.639456                    
+V 15   5681.948416   2345.734032  30887.546900       .052961                    
+P 16   9401.457291 -12690.973668  21423.005427      1.996618                    
+V 16  15852.435996  21903.601116   6080.276061      -.001643                    
+P 17  -4640.286685  14852.934789  21678.403964    -93.956398                    
+V 17 -27005.530570  -1643.933578  -5455.371725       .189075                    
+P 18  18846.569482  15052.227309 -11342.859046   -118.771191                    
+V 18   5837.507334  13346.523353  27018.900698      -.037448                    
+P 19   6297.070322 -24325.811327  -8554.487117    -11.833882                    
+V 19   7537.687924  -8424.251188  29138.802496      -.008519                    
+P 20 -11776.372204 -23205.427725  -5441.920979    -90.997337                    
+V 20   6104.168088   4027.269798 -30774.275641       .026965                    
+P 21  24013.884258   6245.611472  10064.294967     87.958222                    
+V 21 -12556.992899   2953.896699  27657.812995       .010732                    
+P 22  18109.980646   4285.151244 -18778.287437     16.249463                    
+V 22  11477.848748  21353.454776  15826.311906       .000815                    
+P 23  -3569.113242 -20084.538979  16858.818823    211.456504                    
+V 23  10805.216733 -18817.846769 -20126.054767       .006059                    
+P 24 -25642.095275   4743.297964   5607.315713     89.324089                    
+V 24  -6819.875544  -2179.454831 -30752.570411       .029301                    
+P 25  23019.093835 -10345.416807   8712.065122     84.290905                    
+V 25  10879.010660   1009.872417 -28794.971406       .007806                    
+P 26  -5955.800208  24363.034329  -8043.559165    316.720198                    
+V 26  -6460.567601   7902.448919  30438.640502       .055984                    
+P 27 -23552.869174  -5317.810012  12092.511403    513.153293                    
+V 27  13942.568270  -4122.359810  26081.669771       .063471                    
+P 28 -18734.679929  -5059.348919 -18061.543437     46.476402                    
+V 28 -11848.125094 -20070.306574  17375.990872       .001384                    
+P 29  -9109.740540  24692.036157  -2662.276507    179.758427                    
+V 29  -3603.294434   2453.221256  32069.197501      -.189344                    
+P 30  17672.334905  19577.522544   3367.944634    444.951609                    
+V 30    123.145033   5621.554441 -30900.859743      -.143120                    
+*  2005  1 19 11 30   .00000000                                                 
+P  1  15023.678262 -19838.215731  -9054.019839    383.728384                    
+V  1  -2755.223458  11600.344246 -29391.515116       .019352                    
+P  2 -17078.586663  13281.964400  15047.774844    -42.926675                    
+V  2 -19808.633374    687.212600 -22713.530873       .057762                    
+P  3  10924.047569 -23527.691192   4889.425662     77.920507                    
+V  3   1992.532873   7327.913586  30312.562100       .030222                    
+P  4 -25502.482728   6586.576254   4623.738973    442.633225                    
+V  4  -6105.174094  -1836.916694 -30721.795316      -.206587                    
+P  5  11146.771460  22293.065480  -9572.167508     73.035013                    
+V  5 -10356.620173  -6647.312830 -27833.293136       .024714                    
+P  6  10768.429285  13862.862053  20094.530960   -168.408323                    
+V  6  -9817.290415  23271.810482 -11008.429579       .883302                    
+P  7 -16858.135435   5975.103659 -19176.564787     64.682921                    
+V  7   6389.490463 -24613.374510 -13155.613028      -.302355                    
+P  8 -25857.950546  -1547.431796   6495.654755    -18.998569                    
+V  8   8084.260851  -3165.233327  30243.613267      -.011629                    
+P  9   3328.850806  15219.910969 -21994.205871    -24.767525                    
+V  9 -26369.712607   4848.751254   -308.505671      -.017901                    
+P 10  -5570.111691  15534.815153  20680.859894     57.484700                    
+V 10 -16877.918617 -20346.586622  10990.928238       .007020                    
+P 11  -4469.539501 -15826.115060 -20880.487340    186.331428                    
+V 11  25786.097830  -7001.372825    -22.193527       .036842                    
+P 13  -9029.738289 -14016.130120  20633.395260    -13.855967                    
+V 13  10544.763235 -24042.285531 -11620.545169       .009769                    
+P 14  16601.944289  -5952.163155 -19796.553290    -31.482521                    
+V 14  -8347.733153  23811.584695 -14136.709326      -.000807                    
+P 15  26464.998860  -3293.251437  -1887.241921    377.645205                    
+V 15   2307.104176   2294.956338  31505.974290       .052959                    
+P 16  10893.442060 -10739.084251  21785.537932      1.996631                    
+V 16  17256.372227  21394.489908   1964.818777      -.001636                    
+P 17  -7043.032445  14769.162844  21004.504455    -93.939152                    
+V 17 -26300.013694   -234.269101  -9503.424662       .189112                    
+P 18  19323.990823  16122.706015  -8821.525585   -118.775002                    
+V 18   4697.957826  10442.354619  28930.644650      -.037451                    
+P 19   6888.683388 -24965.652026  -5865.809505    -11.834564                    
+V 19   5654.113565  -5738.781394  30523.367016      -.008520                    
+P 20 -11123.921425 -22735.048793  -8156.996774    -90.994936                    
+V 20   8430.011897   6362.868621 -29474.511292       .026972                    
+P 21  22755.052649   6551.610842  12461.935399     87.958959                    
+V 21 -15368.532668   3900.144788  25547.615976       .010734                    
+P 22  19143.366316   6106.780728 -17194.291766     16.249567                    
+V 22  11411.969317  19084.395714  19321.808806       .000837                    
+P 23  -2683.213070 -21702.877650  14906.087449    211.457080                    
+V 23   8898.314534 -17064.232452 -23204.914803       .006061                    
+P 24 -26104.225875   4551.039493   2799.746689     89.327161                    
+V 24  -3435.865485  -2162.956534 -31549.622250       .029295                    
+P 25  23856.526728 -10247.199609   6053.937001     84.291038                    
+V 25   7712.812538   1241.119357 -30191.806215       .007792                    
+P 26  -6455.114729  24944.153350  -5241.061204    316.725035                    
+V 26  -4686.397684   4953.832623  31748.227943       .055980                    
+P 27 -22185.212996  -5743.275304  14334.553961    513.158795                    
+V 27  16389.732991  -5376.973084  23674.670569       .063470                    
+P 28 -19790.883232  -6759.385615 -16346.122412     46.476522                    
+V 28 -11547.489929 -17674.662809  20687.463119       .001360                    
+P 29  -9365.437427  24768.765203    238.746304    179.741445                    
+V 29  -2144.363891   -779.390582  32304.243463      -.189347                    
+P 30  17597.657627  19959.657841    565.949273    444.938884                    
+V 30  -1838.584295   2906.121055 -31276.470451      -.143124                    
+*  2005  1 19 11 45   .00000000                                                 
+P  1  14752.802260 -18649.410954 -11612.921638    383.729297                    
+V  1  -3188.583270  14799.396777 -27389.796916       .019356                    
+P  2 -18738.686518  13366.887454  12877.113835    -42.921488                    
+V  2 -17033.031260   1138.131923 -25451.452572       .057753                    
+P  3  11080.195283 -22724.582416   7566.701011     77.922401                    
+V  3   1542.963427  10509.635415  29095.180490       .030224                    
+P  4 -25901.908684   6409.700254   1827.572476    442.614703                    
+V  4  -2769.097386  -2162.487762 -31327.747102      -.206588                    
+P  5  10103.691654  21621.148816 -11989.024271     73.035924                    
+V  5 -12832.452440  -8213.565598 -25799.036320       .024696                    
+P  6   9954.209111  15919.876127  18935.948241   -168.328834                    
+V  6  -8277.940395  22356.671511 -14702.438443       .883268                    
+P  7 -16318.307549   3688.129664 -20185.561932     64.655887                    
+V  7   5560.157759 -26132.578452  -9232.666711      -.302363                    
+P  8 -24988.897937  -1875.839367   9154.840583    -18.998560                    
+V  8  11187.539414  -4192.771374  28765.019571      -.011626                    
+P  9    971.440743  15717.694369 -21840.644802    -24.767945                    
+V  9 -25934.696055   6190.886508   3718.315579      -.017896                    
+P 10  -7169.237176  13709.038351  21487.318031     57.485907                    
+V 10 -18615.357524 -20142.864562   6905.803090       .007023                    
+P 11  -2168.431069 -16504.329807 -20703.122030    186.334676                    
+V 11  25272.036773  -8041.812380   3959.014528       .036851                    
+P 13  -8164.548997 -16142.944211  19412.431908    -13.854959                    
+V 13   8680.653543 -23128.665499 -15472.383809       .009770                    
+P 14  15888.503277  -3727.424546 -20893.953004    -31.482510                    
+V 14  -7451.222515  25553.792380 -10214.668199      -.000810                    
+P 15  26519.680266  -3073.332475    956.242172    377.650299                    
+V 15  -1087.224000   2661.540531  31593.478984       .052956                    
+P 16  12498.113429  -8853.140695  21775.713839      1.996643                    
+V 16  18344.302169  20446.710281  -2182.589973      -.001631                    
+P 17  -9358.622357  14806.468177  19971.847231    -93.922116                    
+V 17 -25072.868364   1032.294372 -13416.168528       .189148                    
+P 18  19679.196761  16933.350113  -6150.182198   -118.778238                    
+V 18   3125.494952   7588.004589  30348.018358      -.037452                    
+P 19   7323.851429 -25349.888568  -3076.100960    -11.835406                    
+V 19   4071.412733  -2756.924254  31380.912308      -.008520                    
+P 20 -10253.848078 -22072.193977 -10732.197732    -90.992693                    
+V 20  10926.290604   8296.260825 -27670.513959       .026981                    
+P 21  21257.388607   6956.544331  14649.808813     87.959834                    
+V 21 -17852.425468   5142.835203  23002.418398       .010737                    
+P 22  20150.365729   7714.008609 -15310.574507     16.249466                    
+V 22  10887.716957  16604.389350  22477.093164       .000860                    
+P 23  -1963.081186 -23142.157683  12694.065606    211.457657                    
+V 23   7135.658016 -14846.422319 -25879.632175       .006063                    
+P 24 -26259.522202   4341.280138    -55.523137     89.330300                    
+V 24    -17.605780  -2568.687789 -31810.518899       .029288                    
+P 25  24405.584421 -10109.612637   3292.813129     84.291598                    
+V 25   4486.157381   1885.189413 -31079.806415       .007778                    
+P 26  -6809.511621  25245.655983  -2345.630692    316.730114                    
+V 26  -3250.364897   1703.394367  32499.740501       .055977                    
+P 27 -20614.364031  -6292.694469  16342.540693    513.164115                    
+V 27  18449.114556  -6865.552632  20887.457836       .063470                    
+P 28 -20799.392121  -8236.151429 -14348.856209     46.476642                    
+V 28 -10786.263959 -15124.553599  23630.641415       .001335                    
+P 29  -9508.101655  24547.572549   3135.652766    179.724314                    
+V 29  -1097.323023  -4150.922531  31978.466599      -.189351                    
+P 30  17332.176053  20108.202249  -2245.751109    444.925836                    
+V 30  -4106.991649    442.887686 -31116.759477      -.143129                    
+*  2005  1 19 12  0   .00000000                                                 
+P  1  14463.147765 -17179.121641 -13969.752036    383.731036                    
+V  1  -3175.441075  17838.667953 -24907.335422       .019362                    
+P  2 -20137.000888  13475.114910  10480.130786    -42.916361                    
+V  2 -14006.630983   1199.197187 -27735.757617       .057744                    
+P  3  11213.490550 -21639.059334  10111.209052     77.925750                    
+V  3   1483.119172  13588.026667  27366.484008       .030226                    
+P  4 -26001.999472   6185.050216   -999.401302    442.595922                    
+V  4    531.076282  -2896.735400 -31405.497447      -.206588                    
+P  5   8836.521184  20827.646321 -14202.939719     73.038158                    
+V  5 -15321.821527  -9346.303701 -23329.871962       .024679                    
+P  6   9276.876591  17872.372233  17455.394337   -168.249620                    
+V  6  -6789.254559  20952.414247 -18153.160428       .883234                    
+P  7 -15864.604488   1285.667039 -20833.454984     64.628450                    
+V  7   4487.912151 -27171.434401  -5143.502733      -.302371                    
+P  8 -23852.735481  -2312.191122  11658.532346    -18.999043                    
+V  8  14006.410330  -5555.139917  26792.513443      -.011623                    
+P  9  -1324.927096  16329.033619 -21326.345089    -24.768810                    
+V  9 -25017.957136   7358.638925   7697.259652      -.017892                    
+P 10  -8911.903056  11923.462837  21920.578884     57.486274                    
+V 10 -20054.028232 -19460.933007   2709.867934       .007027                    
+P 11     65.942036 -17267.458571 -20169.724579    186.338030                    
+V 11  24308.969997  -8876.407347   7878.252822       .036860                    
+P 13  -7465.965420 -18163.071243  17856.467842    -13.854071                    
+V 13   6858.267462 -21675.064357 -19054.325724       .009770                    
+P 14  15269.584807  -1366.592565 -21629.882136    -31.482675                    
+V 14  -6259.751173  26826.124404  -6115.685252      -.000813                    
+P 15  26271.581891  -2801.885804   3783.527614    377.653390                    
+V 15  -4405.527396   3437.136068  31146.046450       .052954                    
+P 16  14183.888190  -7070.091004  21393.824561      1.996561                    
+V 16  19048.403323  19118.869907  -6291.596092      -.001627                    
+P 17 -11541.496366  14948.179496  18595.729988    -93.904834                    
+V 17 -23357.880005   2072.602064 -17124.439580       .189185                    
+P 18  19874.532946  17492.774291  -3374.394420   -118.781279                    
+V 18   1152.019463   4874.312280  31248.598477      -.037455                    
+P 19   7632.207901 -25455.454458   -233.470113    -11.835953                    
+V 19   2843.836966    439.440738  31697.945585      -.008521                    
+P 20  -9154.689437 -21255.038191 -13123.501170    -90.990111                    
+V 20  13505.705143   9786.367332 -25393.836744       .026989                    
+P 21  19553.432415   7484.310829  16590.516326     87.960653                    
+V 21 -19942.880065   6618.141922  20062.293469       .010741                    
+P 22  21088.984215   9092.081951 -13160.272677     16.249395                    
+V 22   9891.720994  14008.143075  25237.362691       .000885                    
+P 23  -1392.039387 -24362.921293  10261.289452    211.458106                    
+V 23   5597.798102 -12218.708277 -28103.424067       .006064                    
+P 24 -26109.300694   4076.206908  -2909.813584     89.333252                    
+V 24   3337.200746  -3389.420857 -31527.274354       .029280                    
+P 25  24665.022351  -9895.651682    475.434789     84.291415                    
+V 25   1292.362904   2935.783094 -31439.333084       .007764                    
+P 26  -7051.931356  25244.519409    591.567123    316.734871                    
+V 26  -2205.423927  -1754.875425  32674.124677       .055973                    
+P 27 -18877.405286  -6983.926140  18084.220593    513.169825                    
+V 27  20074.556632  -8515.594836  17764.532226       .063470                    
+P 28 -21718.489796  -9480.045001 -12105.096225     46.476903                    
+V 28  -9561.616983 -12515.738604  26157.775647       .001309                    
+P 29  -9576.104246  24020.433216   5978.317694    179.706940                    
+V 29   -487.915513  -7561.256778  31101.251255      -.189354                    
+P 30  16851.163494  20048.972734  -5019.174375    444.912749                    
+V 30  -6616.227314  -1700.983949 -30427.579121      -.143133                    
+*  2005  1 19 12 15   .00000000                                                 
+P  1  14193.829905 -15446.208520 -16083.075257    383.732357                    
+V  1  -2742.675814  20619.605084 -21986.258244       .019367                    
+P  2 -21255.229155  13570.234165   7899.445346    -42.911020                    
+V  2 -10825.320289    843.924120 -29528.115360       .057736                    
+P  3  11358.321348 -20284.620466  12478.235526     77.928778                    
+V  3   1794.863219  16470.531314  25157.002120       .030227                    
+P  4 -25810.164903   5876.598409  -3809.525893    442.577330                    
+V  4   3703.097438  -4020.057551 -30953.815224      -.206589                    
+P  5   7348.004602  19952.105683 -16176.596769     73.040950                    
+V  5 -17736.515544 -10036.569005 -20467.439552       .024662                    
+P  6   8728.178102  19677.454745  15677.457454   -168.170099                    
+V  6  -5432.517389  19086.835586 -21301.435932       .883201                    
+P  7 -15515.429330  -1187.063604 -21108.682438     64.601390                    
+V  7   3251.018894 -27688.752781   -964.057433      -.302379                    
+P  8 -22478.579092  -2884.012626  13963.570166    -18.999906                    
+V  8  16464.536078  -7191.996123  24356.189060      -.011620                    
+P  9  -3518.409452  17034.665870 -20458.490363    -24.770389                    
+V  9 -23655.635586   8273.890111  11564.477474      -.017888                    
+P 10 -10767.695321  10218.797554  21973.980705     57.487057                    
+V 10 -21117.567057 -18355.250014  -1523.188106       .007030                    
+P 11   2194.978684 -18093.872920 -19288.929659    186.341475                    
+V 11  22939.518237  -9437.669176  11667.784245       .036868                    
+P 13  -6926.020086 -20029.173053  15992.599046    -13.853044                    
+V 13   5170.332122 -19712.642090 -22304.935565       .009769                    
+P 14  14768.196083   1085.660462 -21991.604027    -31.482747                    
+V 14  -4853.626765  27578.468740  -1911.022072      -.000815                    
+P 15  25731.760102  -2443.141727   6546.611574    377.656888                    
+V 15  -7554.870988   4595.700638  30168.269998       .052953                    
+P 16  15913.661068  -5421.014764  20646.469668      1.996604                    
+V 16  19314.193062  17482.338996 -10292.561278      -.001624                    
+P 17 -13549.922312  15170.494883  16897.610558    -93.887332                    
+V 17 -21206.128239   2811.920015 -20560.730213       .189222                    
+P 18  19875.962020  17817.460650   -541.363605   -118.785214                    
+V 18  -1174.235969   2384.740287  31618.489552      -.037457                    
+P 19   7847.560317 -25267.061908   2613.179874    -11.836960                    
+V 19   2009.608330   3759.873540  31470.314136      -.008522                    
+P 20  -7823.100850 -20324.668994 -15290.084520    -90.987678                    
+V 20  16075.727447  10809.717995 -22683.933085       .026997                    
+P 21  17681.062720   8152.554443  18250.571214     87.961585                    
+V 21 -21587.421987   8251.322338  16774.021468       .010747                    
+P 22  21916.866084  10234.891408 -10781.130823     16.249221                    
+V 22   8429.368193  11392.393108  27555.179806       .000911                    
+P 23   -946.634452 -25331.303428   7650.144854    211.458727                    
+V 23   4354.235815  -9250.690757 -29837.654200       .006067                    
+P 24 -25663.603595   3719.479176  -5714.131739     89.337490                    
+V 24   6532.947204  -4599.729074 -30700.975696       .029273                    
+P 25  24641.959378  -9569.679650  -2350.072679     84.291349                    
+V 25  -1776.608484   4368.859343 -31259.364060       .007751                    
+P 26  -7219.295711  24926.653940   3518.149581    316.739798                    
+V 26  -1586.745421  -5317.098799  32263.490973       .055970                    
+P 27 -17014.923206  -7827.958961  19531.543805    513.175686                    
+V 27  21234.541073 -10247.387648  14354.649672       .063470                    
+P 28 -22507.019680 -10490.079914  -9654.145791     46.476883                    
+V 28  -7888.775499  -9943.290375  28228.883474       .001284                    
+P 29  -9609.270641  23188.439602   8717.893826    179.690239                    
+V 29   -322.660049 -10908.547875  29691.525649      -.189357                    
+P 30  16136.313326  19813.218345  -7707.259148    444.899729                    
+V 30  -9289.927780  -3472.282811 -29223.476635      -.143136                    
+*  2005  1 19 12 30   .00000000                                                 
+P  1  13980.727298 -13478.071832 -17915.623616    383.733530                    
+V  1  -1935.088312  23051.618117 -18676.932031       .019373                    
+P  2 -22083.904737  13614.264582   5180.703611    -42.905698                    
+V  2  -7588.873036     64.058059 -30799.679658       .057726                    
+P  3  11546.685362 -18682.838290  14626.222580     77.931452                    
+V  3   2443.407758  19070.870982  22506.232773       .030228                    
+P  4 -25341.904892   5450.841794  -6555.411404    442.558998                    
+V  4   6659.967867  -5496.118232 -29979.849491      -.206590                    
+P  5   5648.816545  19034.111791 -17876.710730     73.042654                    
+V  5 -19989.065588 -10292.466690 -17259.592019       .024645                    
+P  6   8292.808093  21295.469540  13631.854040   -168.090858                    
+V  6  -4282.634110  16803.981843 -24092.628007       .883167                    
+P  7 -15281.817793  -3681.971530 -21006.605319     64.574126                    
+V  7   1934.326445 -27662.163198   3228.062045      -.302386                    
+P  8 -20901.869766  -3612.795236  16029.870324    -19.000324                    
+V  8  18498.140797  -9029.988178  21494.260959      -.011617                    
+P  9  -5571.083834  17808.660023 -19249.989762    -24.771874                    
+V  9 -21898.491146   8867.056937  15256.720751      -.017884                    
+P 10 -12699.901149   8630.164547  21647.502613     57.488606                    
+V 10 -21742.822013 -16895.064335  -5719.703261       .007033                    
+P 11   4184.538353 -18956.303799 -18075.395170    186.344846                    
+V 11  21219.872471  -9668.179589  15261.693738       .036875                    
+P 13  -6528.692116 -21697.547741  13853.191406    -13.852053                    
+V 13   3702.491656 -17290.793163 -25168.704236       .009768                    
+P 14  14399.720259   3580.949413 -21972.888235    -31.482990                    
+V 14  -3321.385820  27778.701073   2326.216219      -.000817                    
+P 15  24919.392985  -1964.442857   9198.296968    377.662425                    
+V 15 -10448.257708   6094.301798  28673.472469       .052952                    
+P 16  17646.107427  -3930.097604  19546.441763      1.996527                    
+V 16  19102.707268  15618.444711 -14117.686034      -.001622                    
+P 17 -15347.488001  15443.389842  14904.896830    -93.870146                    
+V 17 -18684.438053   3187.227236 -23660.560397       .189258                    
+P 18  19654.458887  17930.956771   2300.847596   -118.788555                    
+V 18  -3790.458316    192.365346  31452.459716      -.037456                    
+P 19   8006.380991 -24777.822213   5414.992362    -11.837771                    
+V 19   1589.549895   7108.749574  30703.188301      -.008522                    
+P 20  -6264.168913 -19323.464548 -17195.005686    -90.985264                    
+V 20  18542.119881  11361.163772 -19587.456191       .027006                    
+P 21  15682.206631   8971.803334  19600.978429     87.962476                    
+V 21 -22748.843374   9959.478730  13190.535747       .010753                    
+P 22  22592.981835  11144.982063  -8214.800349     16.248988                    
+V 22   6524.655123   8852.092592  29391.283779       .000940                    
+P 23   -597.761268 -26020.295373   4906.101673    211.459513                    
+V 23   3460.649804  -6024.648633 -31052.526545       .006067                    
+P 24 -24940.849911   3237.838489  -8420.000211     89.340103                    
+V 24   9479.673911  -6156.727776 -29342.019044       .029264                    
+P 25  24351.600999  -9099.002167  -5134.999459     84.290445                    
+V 25  -4633.584620   6143.220352 -30538.008344       .007738                    
+P 26  -7350.824955  24287.611286   6381.546865    316.745139                    
+V 26  -1410.021823  -8873.620638  31271.630511       .055967                    
+P 27 -15069.647234  -8828.384980  20661.020311    513.181478                    
+V 27  21913.082486 -11976.754753  10710.305832       .063471                    
+P 28 -23125.985982 -11273.660163  -7038.539755     46.476818                    
+V 28  -5800.365846  -7498.008092  29812.196220       .001260                    
+P 29  -9647.146381  22061.783515  11307.645281    179.673181                    
+V 29   -588.887389 -14093.063920  27777.170355      -.189360                    
+P 30  15176.557563  19436.281484 -10264.628951    444.886628                    
+V 30 -12044.102502  -4833.498993 -27527.266665      -.143140                    
+*  2005  1 19 12 45   .00000000                                                 
+P  1  13854.945652 -11309.771048 -19435.001131    383.735547                    
+V  1   -813.579212  25055.656681 -15037.089520       .019379                    
+P  2 -22622.568704  13569.315132   2371.707098    -42.900564                    
+V  2  -4397.034662  -1130.178707 -31531.436991       .057715                    
+P  3  11806.753910 -16862.640218  16517.541917     77.933923                    
+V  3   3378.816690  21312.413951  19461.854183       .030230                    
+P  4 -24620.196445   4878.254090  -9190.685692    442.540418                    
+V  4   9323.020026  -7273.146529 -28499.045629      -.206591                    
+P  5   3757.349036  18111.767421 -19274.556091     73.045742                    
+V  5 -21995.973004 -10138.698668 -13759.664152       .024627                    
+P  6   7949.119844  22691.406054  11352.977912   -168.011573                    
+V  6  -3405.139772  14162.707618 -26477.589712       .883133                    
+P  7 -15167.012694  -6149.836504 -20529.578871     64.546782                    
+V  7    625.523955 -27089.014786   7355.326864      -.302394                    
+P  8 -19163.129176  -4512.941856  17821.140728    -19.000943                    
+V  8  20058.469577 -10985.441400  18252.699533      -.011615                    
+P  9  -7450.195029  18619.311303 -17719.386076    -24.774232                    
+V  9 -19810.280908   9079.856158  18712.193193      -.017880                    
+P 10 -14666.812938   7185.895939  20947.702520     57.489576                    
+V 10 -21882.308685 -15161.487791  -9807.357607       .007036                    
+P 11   6006.070329 -19822.860766 -16549.585104    186.348277                    
+V 11  19217.664462  -9523.029798  18597.067209       .036882                    
+P 13  -6250.699743 -23129.692755  11475.304737    -13.851255                    
+V 13   2529.923363 -14475.302660 -27596.975364       .009766                    
+P 14  14171.336435   6068.857528 -21574.117794    -31.483082                    
+V 14  -1756.182915  27413.947803   6522.387735      -.000817                    
+P 15  23861.100336  -1337.703875  11692.979093    377.667255                    
+V 15 -13007.825952   7874.564761  26683.706203       .052951                    
+P 16  19337.156524  -2613.875415  18112.511506      1.996349                    
+V 16  18392.100785  13615.301994 -17702.103187      -.001621                    
+P 17 -16904.422595  15731.807111  12650.609591    -93.853172                    
+V 17 -15873.142220   3150.158406 -26363.924453       .189295                    
+P 18  19187.224049  17862.820290   5104.096596   -118.791669                    
+V 18  -6621.534278  -1642.727973  30753.957601      -.037457                    
+P 19   8146.205050 -23989.553220   8123.989597    -11.838739                    
+V 19   1586.401693  10388.814733  29410.886613      -.008520                    
+P 20  -4491.404224 -18293.438851 -18805.815462    -90.982788                    
+V 20  20812.514917  11453.889812 -16157.452299       .027014                    
+P 21  13601.397308   9944.873446  20617.759289     87.963499                    
+V 21 -23406.630869  11654.669118   9370.257181       .010759                    
+P 22  23079.268313  11833.224955  -5506.073756     16.248972                    
+V 22   4219.294739   6476.710593  30715.223081       .000971                    
+P 23   -312.010568 -26410.748271   2076.893689    211.460130                    
+V 23   2956.695595  -2632.410243 -31727.597488       .006067                    
+P 24 -23967.172411   2602.620257 -10980.299889     89.344012                    
+V 24  12096.470942  -8001.512916 -27470.192325       .029256                    
+P 25  23816.656891  -8455.359345  -7830.891089     84.290583                    
+V 25  -7199.518261   8201.790817 -29282.881029       .007727                    
+P 26  -7486.240204  23332.905605   9130.064661    316.749788                    
+V 26  -1670.626376 -12313.470674  29714.212281       .055964                    
+P 27 -13085.027939  -9981.130693  21454.033682    513.187265                    
+V 27  22110.170912 -13618.024375   6887.217961       .063470                    
+P 28 -23540.065809 -11846.042734  -4303.291270     46.476916                    
+V 28  -3345.114606  -5263.073110  30884.443911       .001238                    
+P 29  -9727.300139  20659.398281  13703.721461    179.656286                    
+V 29  -1255.528386 -17020.875769  25394.291263      -.189363                    
+P 30  13968.613839  18956.128722 -12648.313156    444.873688                    
+V 30 -14790.264579  -5763.964909 -25369.502277      -.143144                    
+*  2005  1 19 13  0   .00000000                                                 
+P  1  13841.476566  -8982.841104 -20614.300565    383.737321                    
+V  1    547.351425  26567.351353 -11130.781886       .019384                    
+P  2 -22879.593349  13399.229696   -478.479216    -42.895335                    
+V  2  -1345.684275  -2710.602344 -31714.325365       .057705                    
+P  3  12161.600438 -14859.303179  18119.188608     77.936013                    
+V  3   4538.144814  23131.146342  16078.753989       .030232                    
+P  4 -23674.615917   4134.595065 -11670.733556    442.522053                    
+V  4  11624.704154  -9285.800166 -26534.962717      -.206592                    
+P  5   1699.213751  17220.243139 -20346.424569     73.049357                    
+V  5 -23680.796929  -9615.497277 -10025.677678       .024609                    
+P  6   7670.091651  23836.143524   8879.364392   -167.932028                    
+V  6  -2853.531394  11234.662500 -28413.582580       .883100                    
+P  7 -15166.381223  -8542.091679 -19686.867562     64.519538                    
+V  7   -588.703202 -25986.411651  11342.009356      -.302402                    
+P  8 -17306.516423  -5590.979184  19305.554628    -19.001252                    
+V  8  21113.706788 -12967.570250  14684.641365      -.011613                    
+P  9  -9129.233580  19430.271238 -15890.684182    -24.775974                    
+V  9 -17465.653085   8867.754780  21871.470295      -.017875                    
+P 10 -16623.225296   5906.614088  19887.539854     57.490644                    
+V 10 -21506.029411 -13244.152051 -13716.414957       .007038                    
+P 11   7637.530135 -20658.250419 -14737.447251    186.351691                    
+V 11  17009.381233  -8971.792114  21615.145641       .036888                    
+P 13  -6062.578960 -24293.673455   8900.039169    -13.850407                    
+V 13   1714.382185 -11345.881321 -29548.741714       .009764                    
+P 14  14081.773753   8498.697903 -20802.278356    -31.483101                    
+V 14   -252.001990  26491.101352  10604.627791      -.000818                    
+P 15  22589.987905   -540.713028  13987.426232    377.673006                    
+V 15 -15167.759881   9864.731999  24229.617181       .052949                    
+P 16  20941.580513  -1480.775749  16369.116067      1.996233                    
+V 16  17178.610303  11564.397758 -20984.928290      -.001619                    
+P 17 -18198.687430  15997.089816  10172.913314    -93.835960                    
+V 17 -12863.205598   2669.444945 -28616.770490       .189331                    
+P 18  18458.670984  17647.350470   7820.938560   -118.795387                    
+V 18  -9582.774686  -3075.562523  29535.014550      -.037457                    
+P 19   8303.998599 -22912.763919  10693.882551    -11.839478                    
+V 19   1984.840477  13504.782376  27616.551998      -.008518                    
+P 20  -2526.414238 -17274.617201 -20095.093106    -90.980242                    
+V 20  22799.921132  11118.734110 -12452.462212       .027021                    
+P 21  11484.228981  11066.564264  21282.411060     87.964523                    
+V 21 -23557.807037  13247.266441   5376.312548       .010764                    
+P 22  23342.156475  12318.166230  -2702.070380     16.248817                    
+V 22   1571.122923   4346.791429  31505.800099       .001004                    
+P 23    -53.185568 -26492.077435   -788.339034    211.460579                    
+V 23   2864.463920    828.144058 -31852.097246       .006066                    
+P 24 -22775.460258   1791.105601 -13350.112537     89.347253                    
+V 24  14314.594568 -10061.264442 -25114.585801       .029246                    
+P 25  23066.468036  -7616.271789 -10390.414579     84.292710                    
+V 25  -9406.583726  10473.571197 -27511.308903       .007715                    
+P 26  -7663.931254  22077.924991  11713.949079    316.755241                    
+V 26  -2343.692332 -15528.964730  27618.633127       .055961                    
+P 27 -11103.798433 -11274.456892  21897.107224    513.193111                    
+V 27  21841.708412 -15087.018716   2943.795956       .063470                    
+P 28 -23718.977842 -12229.514504  -1495.119700     46.477020                    
+V 28   -585.974148  -3311.060627  31430.991814       .001215                    
+P 29  -9883.729592  19008.280824  15865.860517    179.639549                    
+V 29  -2274.597991 -19607.257578  22586.386278      -.189367                    
+P 30  12517.243967  18411.807395 -14818.416428    444.860628                    
+V 30 -17438.688716  -6260.362564 -22787.861938      -.143148                    
+*  2005  1 19 13 15   .00000000                                                 
+P  1  13958.108259  -6543.850818 -21432.619107    383.736837                    
+V  1   2062.683698  27539.581073  -7027.178229       .019391                    
+P  2 -22871.669732  13071.153214  -3320.419746    -42.890023                    
+V  2   1476.769184  -4632.302034 -31349.138098       .057694                    
+P  3  12628.146672 -12713.203589  19403.380345     77.938334                    
+V  3   5848.118274  24478.118343  12417.904230       .030234                    
+P  4 -22540.227236   3202.028917 -13953.414999    442.503563                    
+V  4  13510.986646 -11457.533482 -24118.990585      -.206593                    
+P  5   -493.523299  16390.448799 -21074.008991     73.051162                    
+V  5 -24976.996329  -8776.997278  -6119.489005       .024591                    
+P  6   7424.514528  24707.492530   6253.074720   -167.852460                    
+V  6  -2667.031069   8101.767716 -29865.125977       .883066                    
+P  7 -15267.675872 -10812.570906 -18494.408448     64.492461                    
+V  7  -1626.435590 -24390.392770  15115.820304      -.302409                    
+P  8 -15378.241442  -6845.071376  20456.362725    -19.002413                    
+V  8  21650.262171 -14881.920546  10849.658710      -.011612                    
+P  9 -10588.804563  20201.880393 -13793.093698    -24.777366                    
+V  9 -14947.602694   8202.009553  24678.484967      -.017871                    
+P 10 -18522.064839   4804.626123  18486.090532     57.492711                    
+V 10 -20602.598652 -11237.589862 -17380.872441       .007040                    
+P 11   9064.046234 -21425.147941 -12669.989053    186.355003                    
+V 11  14677.419127  -7999.938151  24262.429957       .036893                    
+P 13  -5930.004671 -25165.245501   6171.816156    -13.849483                    
+V 13   1301.784890  -7993.178629 -30991.300281       .009763                    
+P 14  14121.408815  10821.286856 -19670.829699    -31.483218                    
+V 14   1100.158884  25036.568363  14502.144778      -.000819                    
+P 15  21144.447018    441.777140  16041.541428    377.677732                    
+V 15 -16876.796556  11982.276564  21350.160232       .052947                    
+P 16  22414.639932   -530.973086  14345.955478      1.996032                    
+V 16  15476.843027   9557.053908 -23910.253411      -.001617                    
+P 17 -19216.782437  16198.606368   7514.514307    -93.818527                    
+V 17  -9752.798968   1732.711773 -30372.458796       .189368                    
+P 18  17461.152001  17322.154181  10405.390284   -118.799114                    
+V 18 -12582.985393  -4077.822084  27816.036141      -.037454                    
+P 19   8514.560075 -21566.318533  13080.845330    -11.840198                    
+V 19   2752.194723  16366.836255  25351.690066      -.008516                    
+P 20   -398.268801 -16303.503197 -21040.897476    -90.977739                    
+V 20  24426.025852  10402.841473  -8535.545813       .027027                    
+P 21   9375.764497  12323.663781  21582.290886     87.965579                    
+V 21 -23217.137675  14649.451524   1275.634906       .010769                    
+P 22  23353.926951  12625.083436    148.609355     16.248800                    
+V 22  -1348.120625   2530.909393  31751.326123       .001039                    
+P 23    216.074582 -26262.640694  -3639.927963    211.461122                    
+V 23   3187.656520   4256.802870 -31425.056904       .006066                    
+P 24 -21404.139061    787.656252 -15487.546968     89.350337                    
+V 24  16080.164209 -12251.952574 -22313.314352       .029237                    
+P 25  22135.870844  -6566.182306 -12768.234743     84.292354                    
+V 25 -11200.898480  12876.214127 -25250.338856       .007703                    
+P 26  -7919.173736  20547.431178  14086.422014    316.760472                    
+V 26  -3385.128995 -18420.216013  25023.510724       .055957                    
+P 27  -9166.563531 -12689.227300  21982.121875    513.198625                    
+V 27  21138.955321 -16304.025526  -1059.405261       .063470                    
+P 28 -23638.659579 -12452.319828   1338.327611     46.477111                    
+V 28   2402.241901  -1701.403002  31445.842910       .001192                    
+P 29 -10145.429247  17142.525214  17758.014103    179.622682                    
+V 29  -3583.296380 -21779.680409  19403.433848      -.189370                    
+P 30  10835.217942  17841.885217 -16738.729804    444.847662                    
+V 30 -19901.680352  -6336.594203 -19826.468014      -.143151                    
+*  2005  1 19 13 30   .00000000                                                 
+P  1  14214.634849  -4042.760449 -21875.460148    383.737713                    
+V  1   3640.409522  27944.352371  -2799.239813       .019398                    
+P  2 -22622.986732  12556.956991  -6105.183563    -42.884826                    
+V  2   3992.617159  -6835.520938 -30446.232994       .057683                    
+P  3  13216.369960 -10468.374688  20348.049750     77.941157                    
+V  3   7228.236537  25321.263784   8545.115315       .030236                    
+P  4 -21256.275008   2070.009669 -15999.753425    442.485269                    
+V  4  14943.274306 -13703.393132 -21289.964375      -.206594                    
+P  5  -2783.348096  15647.874802 -21444.708098     73.054068                    
+V  5 -25830.428441  -7689.101957  -2105.885047       .024573                    
+P  6   7178.358172  25290.989538   3519.007960   -167.772936                    
+V  6  -2868.876035   4853.266530 -30804.755343       .883033                    
+P  7 -15451.623613 -12919.145607 -16974.433047     64.465130                    
+V  7  -2414.023729 -22354.310356  18609.407811      -.302417                    
+P  8 -13424.890576  -8264.856605  21252.434672    -19.003589                    
+V  8  21673.403546 -16634.115614   6812.880311      -.011610                    
+P  9 -11817.249977  20892.662660 -11460.680302    -24.778473                    
+V  9 -12344.552709   7071.202339  27081.569494      -.017867                    
+P 10 -20316.088884   3883.651115  16768.163211     57.493372                    
+V 10 -19179.646280  -9237.486345 -20739.502731       .007041                    
+P 11  10278.309553 -22085.668842 -10382.757204    186.358269                    
+V 11  12306.890158  -6609.638090  26491.711197       .036899                    
+P 13  -5815.301518 -25728.689307   3337.607201    -13.848604                    
+V 13   1320.423331  -4515.392116 -31900.757799       .009761                    
+P 14  14272.701948  12990.660411 -18199.462347    -31.483413                    
+V 14   2215.977227  23095.262130  18147.473249      -.000819                    
+P 15  19566.750746   1617.216195  17819.091495    377.681443                    
+V 15 -18100.223107  14136.987289  18092.154209       .052946                    
+P 16  23713.724265    243.436996  12077.502610      1.996053                    
+V 16  13319.378127   7680.899520 -26428.070806      -.001616                    
+P 17 -19954.223993  16295.503339   4721.930884    -93.801560                    
+V 17  -6643.447535    347.506714 -31593.136714       .189404                    
+P 18  16195.396137  16926.599379  12813.670474   -118.802501                    
+V 18 -15527.776469  -4638.791268  25625.486795      -.037450                    
+P 19   8809.016046 -19976.794492  15244.242292    -11.841028                    
+V 19   3839.820587  18893.909318  22655.582005      -.008513                    
+P 20   1857.417801 -15411.694862 -21627.127464    -90.975223                    
+V 20  25624.173147   9367.706360  -4473.244271       .027033                    
+P 21   7318.953864  13695.269193  21510.913501     87.966687                    
+V 21 -22416.677617  15778.714004  -2862.052304       .010772                    
+P 22  23093.841336  12784.789962   2996.744195     16.248660                    
+V 22  -4455.538696   1083.134161  31449.689961       .001075                    
+P 23    532.630604 -25729.777503  -6428.556658    211.461534                    
+V 23   3911.506792   7554.815597 -30455.242948       .006066                    
+P 24 -19895.731743   -415.417977 -17354.531307     89.352954                    
+V 24  17356.317048 -14481.556222 -19113.040138       .029227                    
+P 25  21063.838569  -5297.340042 -14921.880908     84.293446                    
+V 25 -12544.738541  15319.140477 -22536.525790       .007691                    
+P 26  -8282.478673  18774.665939  16204.655114    316.765493                    
+V 26  -4733.537134 -20899.326018  21977.829721       .055954                    
+P 27  -7310.460694 -14199.440704  21706.483355    513.204238                    
+V 27  20047.490496 -17196.668722  -5060.268661       .063470                    
+P 28 -23282.213321 -12547.383058   4149.248327     46.477185                    
+V 28   5535.616106   -478.380001  30931.521491       .001170                    
+P 29 -10535.171547  15102.108813  19348.887550    179.605908                    
+V 29  -5106.629657 -23480.302062  15900.928935      -.189374                    
+P 30   8942.987441  17282.929601 -18377.277866    444.834478                    
+V 30 -22096.743915  -6023.034235 -16535.150103      -.143155                    
+*  2005  1 19 13 45   .00000000                                                 
+P  1  14612.398311  -1531.144385 -21935.011306    383.738026                    
+V  1   5185.367284  27773.906010   1477.698523       .019406                    
+P  2 -22164.140654  11834.469155  -8785.185649    -42.879569                    
+V  2   6137.591640  -9248.087135 -29025.072006       .057671                    
+P  3  13928.803661  -8170.931120  20937.220424     77.943940                    
+V  3   8594.158353  25646.521531   4529.705162       .030238                    
+P  4 -19864.728530    735.899063 -17774.584449    442.466492                    
+V  4  15899.792696 -15933.149947 -18093.674167      -.206595                    
+P  5  -5128.511022  15011.645530 -21451.847828     73.056150                    
+V  5 -26201.415928  -6426.915351   1948.367638       .024554                    
+P  6   6896.264060  25580.410630    724.149628   -167.693687                    
+V  6  -3465.215076   1582.452233 -31213.666270       .882999                    
+P  7 -15692.812829 -14825.183021 -15154.962214     64.438085                    
+V  7  -2889.176942 -19946.500431  21761.674256      -.302425                    
+P  8 -11491.728852  -9831.625131  21678.712927    -19.003507                    
+V  8  21207.145188 -18133.655567   2643.941358      -.011609                    
+P  9 -12810.994613  21460.931785  -8931.921348    -24.778994                    
+V  9  -9747.143469   5482.185868  29034.536485      -.017863                    
+P 10 -21959.587835   3138.885046  14763.826984     57.495162                    
+V 10 -17263.498986  -7336.945391 -23736.778336       .007042                    
+P 11  11280.669110 -22602.883123  -7915.228836    186.361496                    
+V 11   9982.306184  -4819.899700  28263.000442       .036905                    
+P 13  -5679.084714 -25977.326082    446.124025    -13.847713                    
+V 13   1779.870951  -1014.605278 -32262.381357       .009760                    
+P 14  14510.954378  14965.667552 -16413.744235    -31.483524                    
+V 14   3021.223933  20728.880780  21477.660657      -.000818                    
+P 15  17901.496821   2984.717287  19288.388496    377.687343                    
+V 15 -18821.271300  16234.421461  14509.669329       .052944                    
+P 16  24799.926036    857.951481   9602.433676      1.995787                    
+V 16  10755.692520   6016.482812 -28495.113009      -.001615                    
+P 17 -20415.662855  16248.512895   1844.646084    -93.784720                    
+V 17  -3635.913855  -1458.529602 -32250.962397       .189440                    
+P 18  14670.642806  16500.212854  15004.906953   -118.805563                    
+V 18 -18322.994277  -4765.650163  22999.470904      -.037446                    
+P 19   9213.468503 -18177.559927  17147.297170    -11.841686                    
+V 19   5185.080791  21016.618898  19574.585549      -.008511                    
+P 20   4199.654082 -14624.701683 -21843.786758    -90.972899                    
+V 20  26341.908383   8086.679616   -334.494519       .027039                    
+P 21   5353.123684  15153.418034  21068.152484     87.967509                    
+V 21 -21204.650656  16561.227906  -6965.361108       .010776                    
+P 22  22549.006942  12832.237858   5793.350397     16.248577                    
+V 22  -7660.232732     41.098217  30608.248281       .001113                    
+P 23    931.205233 -24909.509366  -9106.127015    211.462034                    
+V 23   5003.441039  10628.601863 -28960.906326       .006068                    
+P 24 -18295.253938  -1817.300088 -18917.553080     89.355667                    
+V 24  18124.714607 -16653.675830 -15568.290218       .029217                    
+P 25  19891.950167  -3810.385538 -16812.584031     84.294243                    
+V 25 -13418.132954  17707.081684 -19415.484602       .007679                    
+P 26  -8778.151700  16800.102902  18030.652337    316.770684                    
+V 26  -6312.933204 -22894.039558  18539.771058       .055950                    
+P 27  -5567.935854 -15773.013919  21073.234674    513.209715                    
+V 27  18625.701775 -17702.598581  -8995.748753       .063470                    
+P 28 -22640.590244 -12550.876017   6890.442857     46.477469                    
+V 28   8724.172206    330.309713  29898.852933       .001147                    
+P 29 -11068.543097  12931.479868  20612.391750    179.588783                    
+V 29  -6760.439141 -24667.879379  12138.888622      -.189378                    
+P 30   6868.082699  16768.080830 -19706.797537    444.821903                    
+V 30 -23949.544994  -5365.199024 -12968.664011      -.143159                    
+*  2005  1 19 14  0   .00000000                                                 
+P  1  15144.183058    939.648984 -21610.291936    383.738687                    
+V  1   6603.215461  27041.001091   5727.403850       .019415                    
+P  2 -21530.823751  10888.465812 -11314.980131    -42.874400                    
+V  2   7863.025405 -11788.280835 -27113.619042       .057659                    
+P  3  14760.349509  -5867.425585  21161.260824     77.946339                    
+V  3   9861.223610  25458.220141    443.120768       .030240                    
+P  4 -18408.728463   -794.708650 -19247.155765    442.447816                    
+V  4  16376.362945 -18054.662446 -14582.267402      -.206596                    
+P  5  -7484.403027  14493.820210 -21094.815138     73.057520                    
+V  5 -26066.307824  -5071.827174   5975.514802       .024535                    
+P  6   6543.108313  25577.980724  -2083.231645   -167.614038                    
+V  6  -4444.669480  -1616.805339 -31082.221420       .882965                    
+P  7 -15960.834581 -16500.767568 -13069.191934     64.411010                    
+V  7  -3003.507174 -17247.371536  24518.879137      -.302433                    
+P  8  -9621.045782 -11518.837231  21726.565597    -19.004764                    
+V  8  20293.390299 -19297.648105  -1584.211854      -.011608                    
+P  9 -13574.593604  21866.453713  -6249.163380    -24.780519                    
+V  9  -7244.832583   3460.367305  30497.773065      -.017860                    
+P 10 -23410.027325   2557.395827  12507.861481     57.496818                    
+V 10 -14898.166640  -5622.910277 -26323.671420       .007042                    
+P 11  12078.928689 -22942.311605  -5310.124477    186.364970                    
+V 11   7784.274214  -2666.032684  29544.333777       .036911                    
+P 13  -5481.966592 -25913.697359  -2453.015747    -13.846885                    
+V 13   2670.619462   2407.004597 -32070.791719       .009758                    
+P 14  14805.355643  16711.378887 -14344.664374    -31.483734                    
+V 14   3454.774290  18013.541071  24435.365772      -.000817                    
+P 15  16193.954991   4534.841301  20422.908365    377.690759                    
+V 15 -19041.836092  18179.600229  10663.243212       .052942                    
+P 16  25639.489097   1334.879704   6962.987383      1.995676                    
+V 16   7850.447003   4634.149524 -30075.595935      -.001613                    
+P 17 -20614.626592  16021.734736  -1065.840431    -93.767622                    
+V 17   -826.003148  -3638.404392 -32329.109481       .189476                    
+P 18  12904.465507  16081.080994  16941.801635   -118.809208                    
+V 18 -20878.157141  -4483.112982  19981.213599      -.037443                    
+P 19   9747.844490 -16207.606465  18757.694788    -11.842241                    
+V 19   6713.847495  22679.753236  16161.337927      -.008511                    
+P 20   6583.444546 -13961.006708 -21687.149319    -90.970373                    
+V 20  26542.996475   6642.032900   3810.489530       .027044                    
+P 21   3512.596675  16664.012372  20260.335666     87.968372                    
+V 21 -19643.684746  16934.965515 -10962.462900       .010781                    
+P 22  21714.943900  12804.976341   8490.522619     16.248538                    
+V 22 -10866.738380   -575.269195  29243.549799       .001153                    
+P 23   1442.836997 -23825.915678 -11626.595006    211.462585                    
+V 23   6414.445429  13393.231237 -26969.357699       .006069                    
+P 24 -16648.506151  -3408.444490 -20148.328706     89.359137                    
+V 24  18386.319208 -18671.399500 -11740.570968       .029207                    
+P 25  18662.747114  -2114.601648 -18406.063171     84.295398                    
+V 25 -13819.745589  19943.908067 -15941.196841       .007666                    
+P 26  -9423.128832  14669.901609  19532.014647    316.775935                    
+V 26  -8036.144282 -24350.678839  14775.272356       .055947                    
+P 27  -3965.675281 -17372.795735  20091.108783    513.215259                    
+V 27  16942.833309 -17771.920825 -12802.570512       .063470                    
+P 28 -21712.991585 -12500.684392   9516.048116     46.477443                    
+V 28  11875.097802    714.362337  28366.653537       .001123                    
+P 29 -11753.267457  10678.000953  21528.004899    179.571889                    
+V 29  -8454.719959 -25319.052752   8180.845634      -.189381                    
+P 30   4644.255698  16325.769210 -20705.144925    444.808948                    
+V 30 -25396.570540  -4421.887760  -9185.874665      -.143162                    
+*  2005  1 19 14 15   .00000000                                                 
+P  1  15794.468008   3320.325338 -20907.166708    383.741582                    
+V  1   7804.374261  25778.363842   9874.239527       .019424                    
+P  2 -20762.346842   9711.389155 -13651.993999    -42.869179                    
+V  2   9137.370492 -14368.013335 -24747.624322       .057647                    
+P  3  15698.407393  -3603.204325  21017.013299     77.948797                    
+V  3  10947.960070  24778.720963  -3642.451035       .030242                    
+P  4 -16930.992145  -2507.970790 -20391.668340    442.429181                    
+V  4  16386.539777 -19977.357025 -10813.542574      -.206597                    
+P  5  -9805.047210  14098.968085 -20379.100925     73.058851                    
+V  5 -25418.474472  -3708.349533   9907.841101       .024518                    
+P  6   6085.572818  25294.266103  -4854.426085   -167.534417                    
+V  6  -5778.591820  -4653.600706 -30410.298563       .882932                    
+P  7 -16221.624518 -17923.639528 -10754.790282     64.383796                    
+V  7  -2724.430852 -14346.060412  26835.507881      -.302441                    
+P  8  -7850.611657 -13292.967710  21394.025693    -19.006250                    
+V  8  18990.337890 -20054.308518  -5796.647104      -.011606                    
+P  9 -14120.469902  22072.102539  -3457.981827    -24.781761                    
+V  9  -4922.425905   1049.275838  31439.314186      -.017857                    
+P 10 -24629.569713   2118.828645  10039.140686     57.496968                    
+V 10 -12143.684609  -4172.867023 -28458.326008       .007041                    
+P 11  12687.851695 -23073.344105  -2612.655027    186.368357                    
+V 11   5786.338340   -198.452401  30312.429615       .036916                    
+P 13  -5186.262564 -25549.402788  -5310.133221    -13.846003                    
+V 13   3964.454562   5650.944039 -31329.999779       .009757                    
+P 14  15120.279208  18200.256837 -12028.082397    -31.483883                    
+V 14   3471.094350  15036.862978  26969.848891      -.000814                    
+P 15  14488.382077   6249.719254  21201.831331    377.695088                    
+V 15 -18782.468803  19880.805435   6618.927727       .052941                    
+P 16  26205.076018   1702.298661   4204.262072      1.995541                    
+V 16   4681.192361   3591.305850 -31141.851967      -.001612                    
+P 17 -20572.888703  15584.310112  -3957.038643    -93.750011                    
+V 17   1699.502729  -6127.425709 -31822.489939       .189512                    
+P 18  10922.290656  15704.312269  18591.244366   -118.812392                    
+V 18 -23109.774799  -3832.421266  16620.444080      -.037439                    
+P 19  10424.991007 -14110.181769  20048.107133    -11.842855                    
+V 19   8343.432595  23844.221997  12473.874724      -.008512                    
+P 20   8961.317982 -13431.408708 -21159.823196    -90.967961                    
+V 20  26208.839859   5121.690013   7891.354677       .027050                    
+P 21   1825.497321  18188.006428  19100.226634     87.969445                    
+V 21 -17808.450742  16852.415668 -14782.392313       .010786                    
+P 22  20595.835643  12741.527822  11042.243064     16.248378                    
+V 22 -13978.602932   -764.305298  27380.908396       .001194                    
+P 23   2093.486514 -22510.211849 -13946.760937    211.463139                    
+V 23   8081.075571  15775.538386 -24516.384354       .006071                    
+P 24 -15000.330966  -5170.709020 -21024.384474     89.360969                    
+V 24  18161.387751 -20441.263190  -7697.289212       .029197                    
+P 25  17418.045632   -227.813518 -19673.238073     84.295739                    
+V 25 -13766.980127  21936.579185 -12175.076168       .007654                    
+P 26 -10226.141470  12434.135465  20682.565304    316.781335                    
+V 26  -9808.697695 -25236.214758  10756.381397       .055943                    
+P 27  -2523.731726 -18957.784684  18774.514910    513.221208                    
+V 27  15076.628393 -17369.283417 -16418.005901       .063470                    
+P 28 -20506.975953 -12434.829127  11982.239801     46.477437                    
+V 28  14896.033930    681.054550  26361.342670       .001101                    
+P 29 -12588.835018   8390.306158  22081.043639    179.555068                    
+V 29 -10097.105815 -25428.975632   4092.843989      -.189385                    
+P 30   2310.400744  15978.620864 -21355.627224    444.795713                    
+V 30 -26387.402278  -3262.862102  -5248.908957      -.143166                    
+*  2005  1 19 14 30   .00000000                                                 
+P  1  16540.025579   5565.386099 -19838.225294    383.742473                    
+V  1   8707.765845  24037.326175  13844.639956       .019433                    
+P  2 -19900.055516   8303.770286 -15757.192343    -42.864021                    
+V  2   9947.041142 -16896.188417 -21969.822666       .057635                    
+P  3  16723.314531  -1420.827170  20507.798937     77.951066                    
+V  3  11779.428404  23647.347620  -7655.449112       .030245                    
+P  4 -15472.235919  -4382.094212 -21187.749136    442.410613                    
+V  4  15961.094014 -21615.702261  -6850.134048      -.206598                    
+P  5 -12044.652798  13824.035389 -19316.249299     73.060789                    
+V  5 -24268.693846  -2420.814669  13678.723327       .024500                    
+P  6   5493.661350  24747.750536  -7541.148176   -167.454827                    
+V  6  -7422.027758  -7443.459099 -29207.460626       .882898                    
+P  7 -16438.944656 -19079.819303  -8253.127057     64.356443                    
+V  7  -2036.367949 -11336.816491  28674.898917      -.302449                    
+P  8  -6212.308720 -15114.649139  20685.906201    -19.006454                    
+V  8  17370.200282 -20346.072834  -9917.875811      -.011605                    
+P  9 -14468.341495  22045.444146   -606.446576    -24.783929                    
+V  9  -2856.675855  -1690.614434  31835.853262      -.017854                    
+P 10 -25586.420040   1796.390967   7399.961984     57.498725                    
+V 10  -9073.884153  -3051.944711 -30106.602152       .007041                    
+P 11  13128.393327 -22970.521714    130.283021    186.371612                    
+V 11   4052.099746   2519.134298  30553.178812       .036922                    
+P 13  -4757.630624 -24904.603975  -8076.329203    -13.845162                    
+V 13   5615.551571   8626.023896 -30053.289083       .009756                    
+P 14  15416.774538  19413.043027  -9504.094509    -31.484096                    
+V 14   3042.106413  11894.621579  29037.836385      -.000810                    
+P 15  12826.371203   8103.515277  21610.489233    377.698524                    
+V 15 -18081.623754  21253.324900   2447.175137       .052941                    
+P 16  26476.805921   1992.783297   1373.461296      1.995506                    
+V 16   1335.577120   2930.171234 -31674.840524      -.001611                    
+P 17 -20319.485523  14911.907762  -6776.544795    -93.732856                    
+V 17   3866.571153  -8845.715576 -30738.143494       .189548                    
+P 18   8756.627300  15400.618257  19924.866979   -118.815992                    
+V 18 -24944.434687  -2869.723410  12972.684473      -.037436                    
+P 19  11250.048778 -11931.273262  20996.636874    -11.843694                    
+V 19   9985.834949  24488.403565   8574.678347      -.008514                    
+P 20  11284.954312 -13038.669000 -20270.711646    -90.965453                    
+V 20  25339.243485   3615.746100  11838.750590       .027055                    
+P 21    312.794146  19682.816295  17606.886179     87.970543                    
+V 21 -15782.780527  16282.781201 -18356.406489       .010790                    
+P 22  19204.456237  12679.745267  13405.146048     16.248363                    
+V 22 -16901.965913   -542.466117  25053.842335       .001238                    
+P 23   2902.849366 -20999.567938 -16027.000777    211.463700                    
+V 23   9928.020980  17716.756385 -21645.527134       .006072                    
+P 24 -13392.906884  -7077.841254 -21529.532392     89.362798                    
+V 24  17488.664364 -21877.134724  -3510.498510       .029187                    
+P 25  16197.275496   1824.065821 -20590.847385     84.295873                    
+V 25 -13295.282030  23599.039571  -8184.806605       .007642                    
+P 26 -11187.246250  10144.875659  21462.820329    316.786532                    
+V 26 -11533.004159 -25539.385796   6559.473986       .055939                    
+P 27  -1254.879021 -20484.516196  17143.451176    513.226685                    
+V 27  13110.619894 -16475.540819 -19780.736562       .063470                    
+P 28 -19038.271666 -12389.899235  14247.896637     46.477719                    
+V 28  17698.322610    254.806652  23916.487146       .001079                    
+P 29 -13566.449368   6116.631379  22262.844327    179.538156                    
+V 29 -11596.397091 -25011.283701    -57.552967      -.189389                    
+P 30    -90.709387  15742.590137 -21647.257183    444.782487                    
+V 30 -26886.531246  -1966.144710  -1222.282591      -.143169                    
+*  2005  1 19 14 45   .00000000                                                 
+P  1  17350.842196   7634.713290 -18422.531611    383.742604                    
+V  1   9244.193581  21885.715561  17568.528298       .019442                    
+P  2 -18985.701238   6674.346134 -17595.668519    -42.858959                    
+V  2  10296.574076 -19282.117641 -18829.070837       .057624                    
+P  3  17809.073288    641.386018  19643.301747     77.953450                    
+V  3  12290.270062  22118.659768 -11526.248657       .030247                    
+P  4 -14069.673429  -6387.940958 -21620.845639    442.392098                    
+V  4  15146.845006 -22892.550604  -2758.589953      -.206600                    
+P  5 -14159.175557  13658.511422 -17923.711224     73.063031                    
+V  5 -22644.905897  -1290.050336  17223.700318       .024482                    
+P  6   4742.098324  23964.108186 -10096.408786   -167.375356                    
+V  6  -9315.356039  -9911.584402 -27492.932584       .882864                    
+P  7 -16575.940385 -19963.900260  -5608.457762     64.329421                    
+V  7   -941.213883  -8315.280142  30009.632629      -.302457                    
+P  8  -4730.995920 -16940.072353  19613.783000    -19.008005                    
+V  8  15516.311014 -20132.178335 -13873.354312      -.011605                    
+P  9 -14644.351007  21760.180346   2255.698823    -24.785862                    
+V  9  -1113.094468  -4683.803882  31673.642405      -.017851                    
+P 10 -26255.948861   1558.076984   4635.331984     57.500252                    
+V 10  -5773.680693  -2310.509580 -31242.493767       .007040                    
+P 11  13426.690679 -22614.630529   2870.948358    186.375067                    
+V 11   2632.736067   5412.090935  30261.952199       .036926                    
+P 13  -4166.581463 -24007.214647 -10704.307847    -13.844352                    
+V 13   7562.245194  11251.687613 -28262.949728       .009755                    
+P 14  15654.196366  20339.329811  -6816.327857    -31.484071                    
+V 14   2158.362737   8687.099138  30604.244978      -.000807                    
+P 15  11245.302145  10063.218419  21640.705917    377.702977                    
+V 15 -16994.168696  22222.987852  -1778.420836       .052941                    
+P 16  26443.022308   2241.959974  -1480.900610      1.995287                    
+V 16  -2091.841878   2676.109507 -31664.524669      -.001611                    
+P 17 -19889.420729  13987.948782  -9473.136662    -93.715843                    
+V 17   5617.102938 -11701.476951 -29095.258373       .189584                    
+P 18   6446.033741  15195.066241  20919.529229   -118.819405                    
+V 18 -26321.544432  -1663.892899   9098.447533      -.037430                    
+P 19  12220.128038  -9717.999514  21587.172559    -11.844381                    
+V 19  11551.184153  24608.843818   4529.669337      -.008515                    
+P 20  13506.849693 -12777.476285 -19034.871804    -90.963062                    
+V 20  23952.497149   2212.903482  15585.461808       .027060                    
+P 21  -1012.378978  21103.899796  15805.410051     87.971367                    
+V 21 -13656.367061  15213.545717 -21619.368833       .010794                    
+P 22  17561.780398  12655.214229  15539.226745     16.248496                    
+V 22 -19549.008303     56.512974  22303.397742       .001282                    
+P 23   3883.420755 -19335.715649 -17831.926880    211.464392                    
+V 23  11871.116671  19174.572801 -18407.237677       .006073                    
+P 24 -11864.150300  -9096.304448 -21654.226306     89.364211                    
+V 24  16423.790621 -22903.848552    744.502456       .029178                    
+P 25  15035.917452   4007.831203 -21141.953052     84.296625                    
+V 25 -12456.650264  24855.877890  -4042.979699       .007630                    
+P 26 -12297.736645   7854.218698  21860.295277    316.791441                    
+V 26 -13112.622322 -25270.831378   2263.411143       .055935                    
+P 27   -164.223929 -21908.577617  15223.335545    513.232196                    
+V 27  11131.135466 -15088.918603 -22831.805978       .063471                    
+P 28 -17330.302640 -12399.551128  16275.220867     46.477709                    
+V 28  20200.107881   -523.853454  21072.285420       .001056                    
+P 29 -14669.288636   3903.176600  22070.855828    179.521284                    
+V 29 -12866.012902 -24097.418711  -4202.235314      -.189393                    
+P 30  -2513.827741  15626.348937 -21574.927925    444.769631                    
+V 30 -26874.655241   -615.027000   2827.996419      -.143173                    
+*  2005  1 19 15  0   .00000000                                                 
+P  1  18191.321288   9494.934231 -16685.249358    383.744033                    
+V  1   9359.218368  19405.090863  20980.642238       .019453                    
+P  2 -18059.828186   4839.871226 -19137.154762    -42.853848                    
+V  2  10208.123308 -21438.866253 -15379.445751       .057614                    
+P  3  18924.335404   2550.627093  18439.338391     77.957867                    
+V  3  12427.339339  20260.154914 -15188.390077       .030249                    
+P  4 -12755.647253  -8489.923913 -21682.532740    442.373715                    
+V  4  14004.871884 -23742.220524   1391.652056      -.206601                    
+P  5 -16107.827481  13584.890333 -16224.601581     73.065725                    
+V  5 -20591.332378   -390.153542  20481.547077       .024465                    
+P  6   3811.551364  22975.199279 -12475.376111   -167.295679                    
+V  6 -11386.551495 -11995.749618 -25295.375199       .882830                    
+P  7 -16596.707501 -20579.007852  -2867.082826     64.302469                    
+V  7    541.905573  -5374.813839  30821.695466      -.302465                    
+P  8  -3423.657310 -18722.590358  18195.840867    -19.010269                    
+V  8  13519.734699 -19390.584309 -17591.017923      -.011603                    
+P  9 -14679.923814  21197.388176   5077.932076    -24.786858                    
+V  9    256.867355  -7842.390725  30949.230976      -.017847                    
+P 10 -26621.553171   1368.083361   1792.220308     57.500984                    
+V 10  -2335.983448  -1982.330140 -31848.423413       .007038                    
+P 11  13612.851557 -21993.561648   5561.614682    186.378460                    
+V 11   1565.025290   8397.666110  29443.715213       .036930                    
+P 13  -3389.801529 -22891.809086 -13149.169944    -13.843519                    
+V 13   9729.403036  13460.924408 -25989.870926       .009755                    
+P 14  15791.906748  20977.795355  -4011.176453    -31.484129                    
+V 14    829.484559   5515.281244  31642.754243      -.000803                    
+P 15   9776.957373  12089.737295  21291.018630    377.708606                    
+V 15 -15589.202639  22729.334098  -5982.506068       .052940                    
+P 16  26100.760329   2486.938403  -4309.820431      1.995072                    
+V 16  -5503.068582   2836.606287 -31110.103653      -.001610                    
+P 17 -19322.114387  12804.509220 -11997.853466    -93.698656                    
+V 17   6911.398551 -14594.858838 -26924.808584       .189620                    
+P 18   4033.856633  15106.050791  21557.728560   -118.822810                    
+V 18 -27195.629522   -293.857297   5062.347275      -.037425                    
+P 19  13324.298388  -7516.968855  21809.650951    -11.845276                    
+V 19  12951.254526  24220.284014    407.153367      -.008517                    
+P 20  15581.958015 -12634.731054 -17473.272488    -90.960690                    
+V 20  22084.769649    996.956361  19067.514607       .027066                    
+P 21  -2145.090372  22406.445585  13726.542437     87.972367                    
+V 21 -11521.172943  13651.322024 -24511.120679       .010799                    
+P 22  15696.293734  12699.759989  17408.484540     16.248568                    
+V 22 -21841.144888    983.104434  19177.374708       .001325                    
+P 23   5039.846776 -17563.398982 -19330.968255    211.465321                    
+V 23  13820.679135  20124.538067 -14857.937190       .006071                    
+P 24 -10446.293788 -11186.413094 -21395.786499     89.365905                    
+V 24  15036.990079 -23460.424532   4990.684727       .029169                    
+P 25  13964.108286   6284.093114 -21316.314350     84.297296                    
+V 25 -11317.412891  25645.573499    174.432255       .007617                    
+P 26 -13540.434159   5612.345629  21869.646180    316.796708                    
+V 26 -14456.396242 -24462.262499  -2052.291243       .055931                    
+P 27    750.902697 -23186.202870  13044.747158    513.237848                    
+V 27   9224.100895 -13225.607790 -25515.657448       .063471                    
+P 28 -15413.445478 -12493.126717  18030.309807     46.477573                    
+V 28  22329.192287  -1599.885779  17874.996567       .001034                    
+P 29 -15873.069844   1792.556885  21508.645798    179.504342                    
+V 29 -13827.254083 -22735.340512  -8273.496180      -.189398                    
+P 30  -4912.729291  15630.954795 -21139.506103    444.756658                    
+V 30 -26349.415989    705.115292   6835.345670      -.143176                    
+*  2005  1 19 15 15   .00000000                                                 
+P  1  19021.718003  11120.512528 -14657.153559    383.744574                    
+V  1   9015.414304  16687.446758  24021.736842       .019463                    
+P  2 -17160.234120   2824.635779 -20356.450571    -42.848724                    
+V  2   9720.328103 -23286.415385 -11679.321539       .057604                    
+P  3  20033.600657   4280.642659  16917.521834     77.960856                    
+V  3  12151.822207  18149.502936 -18579.704199       .030251                    
+P  4 -11556.447579 -10647.163553 -21370.723148    442.355026                    
+V  4  12608.156475 -24113.196413   5529.382811      -.206603                    
+P  5 -17854.479356  13579.414280 -14247.359921     73.066969                    
+V  5 -18166.981746    214.516106  23395.337890       .024447                    
+P  6   2689.625256  21817.826557 -14636.206953   -167.216158                    
+V  6 -13553.986570 -13648.702566 -22652.451754       .882795                    
+P  7 -16467.806329 -20936.436465    -76.501412     64.275278                    
+V  7   2377.555530  -2603.032159  31102.440082      -.302474                    
+P  8  -2298.872835 -20414.461540  16456.581589    -19.010891                    
+V  8  11475.518236 -18119.132493 -21002.803878      -.011602                    
+P  9 -14610.394392  20346.494015   7809.904678    -24.788110                    
+V  9   1218.122993 -11069.324808  29669.994438      -.017845                    
+P 10 -26675.226394   1188.362231  -1081.207765     57.501463                    
+V 10   1141.660068  -2083.369525 -31915.418093       .007037                    
+P 11  13719.591403 -21102.901726   8155.431972    186.381867                    
+V 11    869.958078  11388.145649  28112.944983       .036933                    
+P 13  -2411.238677 -21598.291119 -15369.163505    -13.842461                    
+V 13  12031.310937  15202.660999 -23273.001179       .009754                    
+P 14  15790.982949  21336.094943  -1136.992740    -31.484353                    
+V 14   -916.147109   2477.045873  32136.219108      -.000800                    
+P 15   8446.362884  14139.257938  20566.770733    377.715026                    
+V 15 -13947.258096  22728.270465 -10089.439046       .052939                    
+P 16  25455.894065   2764.682380  -7064.642109      1.994904                    
+V 16  -8800.286815   3400.937058 -30020.093235      -.001608                    
+P 17 -18659.667665  11362.855095 -14305.026110    -93.681515                    
+V 17   7729.769433 -17422.224089 -24268.815456       .189655                    
+P 18   1566.786673  15144.524441  21827.926109   -118.825987                    
+V 18 -27538.098156   1154.471918    932.127867      -.037420                    
+P 19  14543.893254  -5372.665716  21660.223061    -11.846235                    
+V 19  14102.921275  23355.018741  -3723.263628      -.008517                    
+P 20  17469.247528 -12590.139230 -15612.454099    -90.958163                    
+V 20  19788.833856     43.455750  22225.243330       .027072                    
+P 21  -3088.647169  23547.103944  11406.168043     87.973294                    
+V 21  -9467.693763  11621.923181 -26977.799989       .010803                    
+P 22  13643.031509  12840.115290  18981.493003     16.248250                    
+V 22 -23711.847302   2174.057293  15729.473767       .001372                    
+P 23   6368.585582 -15728.729043 -20498.862500    211.465949                    
+V 23  15685.034476  20560.782258 -11058.998082       .006067                    
+P 24  -9164.702065 -13303.733702 -20758.484382     89.368649                    
+V 24  13410.120509 -23502.719710   9150.875855       .029161                    
+P 25  13005.475823   8608.653048 -21110.618859     84.297878                    
+V 25  -9955.360534  25923.171081   4389.720276       .007605                    
+P 26 -14890.338919   3465.696643  21492.648860    316.801787                    
+V 26 -15482.274013 -23164.743291  -6309.213930       .055926                    
+P 27   1500.761662 -24275.892654  10643.070810    513.243242                    
+V 27   7471.741544 -10919.728969 -27781.245850       .063471                    
+P 28 -13324.043892 -12694.438301  19483.673624     46.477555                    
+V 28  24025.559090  -2905.838820  14376.316717       .001015                    
+P 29 -17146.894452   -177.605010  20585.822602    179.487385                    
+V 29 -14412.272585 -20987.677474 -12204.956381      -.189402                    
+P 30  -7241.747094  15749.810254 -20347.841546    444.743924                    
+V 30 -25325.548786   1910.094006  10733.545837      -.143180                    
+*  2005  1 19 15 30   .00000000                                                 
+P  1  19799.745565  12494.523900 -12374.040363    383.746102                    
+V  1   8193.915362  13831.530921  26639.638475       .019474                    
+P  2 -16320.559285    659.711353 -21233.767610    -42.843557                    
+V  2   8886.610838 -24754.537904  -7790.439354       .057595                    
+P  3  21098.580283   5812.511628  15104.829036     77.964521                    
+V  3  11440.768831  15871.433110 -21643.316940       .030252                    
+P  4 -10491.365822 -12814.866175 -20689.773410    442.336075                    
+V  4  11038.734485 -23970.332609   9582.820927      -.206604                    
+P  5 -19368.902604  13613.072879 -12025.316708     73.068513                    
+V  5 -15443.581572    472.005972  25913.480370       .024430                    
+P  6   1371.583575  20532.301191 -16540.829771   -167.136566                    
+V  6 -15729.660579 -14839.978017 -19610.190826       .882761                    
+P  7 -16159.664926 -21054.987749   2715.422967     64.247996                    
+V  7   4515.522989    -78.657698  30852.367561      -.302482                    
+P  8  -1356.636668 -21968.660444  14426.397242    -19.012512                    
+V  8   9478.744603 -16335.880192 -24046.116342      -.011600                    
+P  9 -14473.453611  19205.931883  10402.428464    -24.788684                    
+V  9   1753.623158 -14262.142234  27854.379594      -.017842                    
+P 10 -26417.818927    980.253288  -3936.369304     57.501084                    
+V 10   4560.564935  -2611.239529 -31443.170505       .007036                    
+P 11  13780.774089 -19946.229502  10607.271431    186.385303                    
+V 11    551.996944  14294.211569  26293.351222       .036935                    
+P 13  -1222.909160 -20170.374638 -17326.380179    -13.841516                    
+V 13  14374.960260  16443.545577 -20158.686363       .009752                    
+P 14  15615.864321  21430.414531   1756.750590    -31.484459                    
+V 14  -3032.432888   -336.506736  32076.917613      -.000795                    
+P 15   7270.904575  16164.812757  19480.069053    377.720083                    
+V 15 -12156.996336  22194.086123 -14024.819204       .052938                    
+P 16  24522.956482   3110.382535  -9697.892935      1.994654                    
+V 16 -11889.492012   4340.544537 -28412.247858      -.001606                    
+P 17 -17945.024439   9673.583442 -16353.225087    -93.664340                    
+V 17   8073.207973 -20080.598285 -21179.263716       .189691                    
+P 18   -906.717819  15313.518714  21724.781889   -118.829444                    
+V 18 -27338.401455   2591.562608  -3222.382141      -.037416                    
+P 19  15853.118069  -3325.924085  21141.321572    -11.847000                    
+V 19  14931.433034  22061.607935  -7791.779910      -.008516                    
+P 20  19133.114154 -12617.093107 -13484.094960    -90.955674                    
+V 20  17132.166128   -583.319439  25004.300302       .027076                    
+P 21  -3854.295066  24485.687924   8884.689508     87.974343                    
+V 21  -7581.236049   9169.631089 -28973.063697       .010808                    
+P 22  11442.383635  13096.797304  20231.890102     16.248121                    
+V 22 -25109.001556   3554.962585  12018.379332       .001421                    
+P 23   7857.889621 -13877.506176 -21316.053391    211.466523                    
+V 23  17374.102352  20496.023548  -7075.669115       .006062                    
+P 24  -8036.977077 -15400.693873 -19753.482849     89.370206                    
+V 24  11633.220027 -23005.386557  13149.372622       .029153                    
+P 25  12176.256072  10934.088744 -20528.562184     84.298481                    
+V 25  -8456.367199  25662.250985   8525.146372       .007593                    
+P 26 -16315.603282   1455.336127  20738.026267    316.807069                    
+V 26 -16120.643155 -21446.199660 -10431.651152       .055922                    
+P 27   2102.724005 -25140.001318   8058.038817    513.248920                    
+V 27   5949.297677  -8222.622135 -29583.201495       .063471                    
+P 28 -11103.214190 -13020.762734  20610.694672     46.477733                    
+V 28  25243.480307  -4364.387257  10632.703485       .000995                    
+P 29 -18454.344370  -1975.896667  19317.875173    179.470275                    
+V 29 -14566.653164 -18929.380344 -15932.463475      -.189406                    
+P 30  -9457.295017  15968.916608 -19212.691748    444.730927                    
+V 30 -23834.434174   2920.159259  14457.695057      -.143183                    
+*  2005  1 19 15 45   .00000000                                                 
+P  1  20482.286721  13609.089018  -9876.049493    383.747333                    
+V  1   6895.197567  10938.932279  28790.129529       .019485                    
+P  2 -15569.051518  -1618.046039 -21754.990955    -42.838267                    
+V  2   7772.976414 -25785.298802  -3776.979869       .057585                    
+P  3  22079.670082   7135.131802  13033.084118     77.968370                    
+V  3  10287.992640  13514.402808 -24328.521669       .030252                    
+P  4  -9572.023110 -14945.874376 -19650.478960    442.317730                    
+V  4   9384.453984 -23296.462113  13480.876236      -.206605                    
+P  5 -20627.801640  13652.823607  -9596.168573     73.070737                    
+V  5 -12503.003708    344.993499  27990.699652       .024413                    
+P  6   -139.234656  19160.875580 -18155.661564   -167.057183                    
+V  6 -17822.724146 -15557.032032 -16222.155259       .882727                    
+P  7 -15647.820217 -20960.044666   5461.270310     64.220675                    
+V  7   6892.871580   2131.192575  30080.760670      -.302490                    
+P  8   -588.533056 -23340.680085  12141.016027    -19.013458                    
+V  8   7620.564402 -14078.577942 -26665.186079      -.011598                    
+P  9 -14307.478217  17783.446365  12808.477281    -24.789242                    
+V  9   1865.237962 -17317.123353  25531.933990      -.017841                    
+P 10 -25858.981634    706.134692  -6725.042241     57.501195                    
+V 10   7824.432874  -3545.328761 -30439.990153       .007035                    
+P 11  13829.916392 -18535.105942  12874.536733    186.388753                    
+V 11    599.012360  17028.368182  24017.408249       .036936                    
+P 13    174.604715 -18653.933375 -18987.387043    -13.840739                    
+V 13  16663.613463  17169.060546 -16699.897034       .009750                    
+P 14  15235.874073  21284.705667   4620.313589    -31.484736                    
+V 14  -5457.284110  -2844.442379  31466.632511      -.000789                    
+P 15   6259.759841  18117.998057  18049.602752    377.724311                    
+V 15 -10311.531873  21120.724340 -17717.028717       .052936                    
+P 16  23324.637205   3555.894731 -12164.105480      1.994445                    
+V 16 -14683.995883   5610.116757 -26313.321550      -.001603                    
+P 17 -17220.116300   7756.363499 -18106.097108    -93.647231                    
+V 17   7963.086756 -22472.068177 -17716.722445       .189726                    
+P 18  -3338.082469  15607.976597  21249.292833   -118.832957                    
+V 18 -26604.536421   3927.798991  -7330.380860      -.037411                    
+P 19  17219.940204  -1412.544303  20261.628445    -11.847696                    
+V 19  15373.381207  20402.989246 -11729.509610      -.008515                    
+P 20  20544.598012 -12683.806704 -11124.489918    -90.953133                    
+V 20  14194.486767   -832.969059  27356.593098       .027080                    
+P 21  -4460.589956  25186.772857   6206.300776     87.975048                    
+V 21  -5938.375447   6355.675211 -30459.170165       .010813                    
+P 22   9138.711405  13483.234138  21138.783652     16.248267                    
+V 22 -25996.722493   5043.215653   8106.795141       .001472                    
+P 23   9488.107848 -12053.572945 -21768.989934    211.467250                    
+V 23  18802.900476  19960.878282  -2975.963579       .006057                    
+P 24  -7072.391063 -17428.332731 -18398.632139     89.372185                    
+V 24   9800.700045 -21963.043372  16913.531077       .029145                    
+P 25  11484.731732  13211.481290 -19580.773277     84.298771                    
+V 25  -6910.656396  24856.098447  12504.657098       .007581                    
+P 26 -17778.778904   -384.428728  19621.138050    316.812375                    
+V 26 -16317.053307 -19388.302728 -14348.049960       .055918                    
+P 27   2580.499398 -25746.228550   5333.166953    513.254536                    
+V 27   4721.883065  -5201.439825 -30883.014151       .063471                    
+P 28  -8795.482303 -13482.080695  21392.023631     46.477692                    
+V 28  25953.141951  -5891.226834   6704.647337       .000975                    
+P 29 -19754.789742  -3578.103437  17725.933114    179.453070                    
+V 29 -14251.525209 -16644.957657 -19394.965063      -.189411                    
+P 30 -11519.323418  16267.415109 -17752.559850    444.718292                    
+V 30 -21923.058849   3663.118661  17945.176117      -.143187                    
+*  2005  1 19 16  0   .00000000                                                 
+P  1  21027.140267  14465.450161  -7206.915217    383.750366                    
+V  1   5139.075604   8110.104922  30437.649952       .019496                    
+P  2 -14927.548740  -3967.198111 -21911.857234    -42.833039                    
+V  2   6455.396726 -26335.105785    295.355175       .057574                    
+P  3  22937.475051   8245.401778  10738.369243     77.971689                    
+V  3   8704.315279  11167.180578 -26591.512198       .030252                    
+P  4  -8802.003792 -16992.332450 -18269.953379    442.299358                    
+V  4   7735.460276 -22093.329907  17154.455422      -.206607                    
+P  5 -21615.594860  13662.988506  -7001.368091     73.073673                    
+V  5  -9434.269349   -187.533578  29588.949705       .024396                    
+P  6  -1831.323270  17746.106728 -19452.241852   -166.977311                    
+V  6 -19743.150461 -15805.643806 -12548.434573       .882693                    
+P  7 -14913.954331 -20682.423773   8114.833390     64.193326                    
+V  7   9436.420284   3973.210408  28805.197735      -.302498                    
+P  8     21.736436 -24490.249126   9640.832173    -19.013621                    
+V  8   5984.385036 -11403.305452 -28812.279498      -.011597                    
+P  9 -14149.820731  16096.013800  14984.167320    -24.789427                    
+V  9   1573.811897 -20133.537227  22742.853611      -.017840                    
+P 10 -25016.795706    331.032366  -9400.134701     57.501400                    
+V 10  10842.778174  -4847.595656 -28922.648317       .007035                    
+P 11  13898.717305 -16888.758334  14917.925119    186.392272                    
+V 11    982.896222  19508.293254  21325.711007       .036936                    
+P 13   1771.985401 -17095.282291 -20323.784293    -13.839866                    
+V 13  18800.515013  17383.925231 -12955.357032       .009749                    
+P 14  14626.557045  20929.633018   7404.541975    -31.485079                    
+V 14  -8114.968716  -4978.970683  30316.568639      -.000781                    
+P 15   5413.670789  19950.769821  16300.324522    377.729380                    
+V 15  -8504.544143  19522.240915 -21098.742393       .052934                    
+P 16  21890.975737   4128.305791 -14420.610739      1.994276                    
+V 16 -17107.667277   7149.329931 -23758.667430      -.001600                    
+P 17 -16524.077415   5639.292784 -19533.066784    -93.630757                    
+V 17   7439.916232 -24507.905043 -13948.737088       .189762                    
+P 18  -5680.282874  16014.906356  20408.828351   -118.836457                    
+V 18 -25362.860978   5077.063209 -11321.257270      -.037404                    
+P 19  18607.228340    337.895726  19035.942622    -11.848385                    
+V 19  15379.256548  18454.057867 -15469.588933      -.008515                    
+P 20  21682.356661 -12754.662850  -8573.948472    -90.950835                    
+V 20  11064.829692   -671.054299  29241.132738       .027085                    
+P 21  -4932.465031  25621.125229   3418.170900     87.975996                    
+V 21  -4603.757791   3255.973325 -31407.880716       .010820                    
+P 22   6778.827599  14005.171691  21687.068307     16.248276                    
+V 22 -26356.567831   6551.264381   4060.445032       .001523                    
+P 23  11232.294892 -10297.259409 -21850.324355    211.467945                    
+V 23  19894.840313  19002.507770   1170.471592       .006050                    
+P 24  -6271.671758 -19338.118973 -16718.125453     89.374084                    
+V 24   8007.356654 -20390.600596  20375.285193       .029138                    
+P 25  10931.016113  15392.209171 -18284.587475     84.298657                    
+V 25  -5408.889623  23518.016673  16255.544639       .007570                    
+P 26 -19238.277717  -2027.126938  18163.549681    316.817276                    
+V 26 -16034.235753 -17082.894693 -17992.243383       .055913                    
+P 27   2963.093440 -26068.953164   2515.084461    513.260245                    
+V 27   3841.625815  -1937.048717 -31650.195137       .063472                    
+P 28  -6447.298419 -14080.589215  21813.907629     46.477742                    
+V 28  26141.730566  -7398.235778   2655.887862       .000957                    
+P 29 -21004.863017  -4967.931531  15836.449382    179.436171                    
+V 29 -13445.135966 -14225.382145 -22535.355689      -.189415                    
+P 30 -13392.655591  16618.398881 -15991.445226    444.705302                    
+V 30 -19652.411201   4077.215759  21136.630123      -.143191                    
+*  2005  1 19 16 15   .00000000                                                 
+P  1  21394.732271  15073.693260  -4413.162742    383.752757                    
+V  1   2963.926888   5440.490765  31555.807912       .019507                    
+P  2 -14410.712088  -6343.088538 -21702.050653    -42.827821                    
+V  2   5016.872593 -26376.251167   4360.248988       .057563                    
+P  3  23634.326730   9148.096423   8260.375924     77.973812                    
+V  3   6717.162387   8915.474555 -28395.973553       .030252                    
+P  4  -8176.812588 -18907.403180 -16571.389232    442.280799                    
+V  4   6180.542663 -20381.794989  20537.783217      -.206608                    
+P  5 -22324.911128  13606.774658  -4285.435739     73.076902                    
+V  5  -6330.241068  -1129.218706  30678.227181       .024378                    
+P  6  -3685.248410  16329.217364 -20407.768902   -166.897937                    
+V  6 -21405.396378 -15609.563204  -8654.484516       .882658                    
+P  7 -13946.692817 -20257.054374  10631.838967     64.166119                    
+V  7  12065.538367   5409.533322  27050.975542      -.302507                    
+P  8    497.496373 -25382.890342   6970.135354    -19.014753                    
+V  8   4642.392044  -8382.321874 -30448.716547      -.011595                    
+P  9 -14035.127752  14169.383608  16889.689552    -24.790009                    
+V  9    918.428776 -22617.863170  19537.368091      -.017840                    
+P 10 -23917.102999   -175.870931 -11916.435712     57.501917                    
+V 10  13534.138592  -6463.996165 -26916.120313       .007035                    
+P 11  14015.672056 -15033.471369  16702.123267    186.395590                    
+V 11   1660.823644  21659.976364  18266.172900       .036934                    
+P 13   3551.346293 -15539.455263 -21312.680559    -13.838913                    
+V 13  20692.610021  17111.775575  -8988.586033       .009747                    
+P 14  13770.782042  20401.276632  10061.705405    -31.485243                    
+V 14 -10918.980055  -6687.900924  28647.110996      -.000771                    
+P 15   4725.070569  21617.242787  14262.999071    377.735331                    
+V 15  -6826.348300  17432.417488 -24108.359059       .052932                    
+P 16  20258.279725   4848.683738 -16428.288079      1.994080                    
+V 16 -19097.781083   8885.193477 -20791.679015      -.001596                    
+P 17 -15891.610625   3357.902147 -20609.886103    -93.614159                    
+V 17   6561.244717 -26112.211046  -9948.068669       .189798                    
+P 18  -7889.462687  16513.854631  19217.059280   -118.840005                    
+V 18 -23657.214624   5960.226362 -15125.793321      -.037396                    
+P 19  19974.099696   1902.990694  17484.948911    -11.849153                    
+V 19  14915.496982  16298.799909 -18948.263552      -.008515                    
+P 20  22533.357379 -12791.720887  -5876.121183    -90.948313                    
+V 20   7838.248270    -80.572513  30624.776573       .027089                    
+P 21  -5300.031135  25766.898235    569.556215     87.977009                    
+V 21  -3627.393444    -41.775505 -31801.144415       .010827                    
+P 22   4410.395783  14660.381292  21867.651495     16.248367                    
+V 22 -26188.115582   7990.025104    -52.949316       .001575                    
+P 23  13057.102906  -8643.977926 -21559.008081    211.468405                    
+V 23  20584.694704  17682.659886   5293.489489       .006042                    
+P 24  -5627.147963 -21083.759599 -14742.022843     89.375377                    
+V 24   6344.381422 -18322.728314  23472.547926       .029132                    
+P 25  10507.190140  17429.731427 -16663.674493     84.300376                    
+V 25  -4038.262707  21680.773858  19709.999961       .007558                    
+P 26 -20649.980995  -3454.867058  16392.500493    316.822245                    
+V 26 -15253.369191 -14628.133043 -21304.462572       .055909                    
+P 27   3283.525682 -26090.348219   -347.237651    513.265787                    
+V 27   3345.233701   1478.722221 -31863.366337       .063472                    
+P 28  -4105.479685 -14810.507008  21868.445241     46.477785                    
+V 28  25813.939236  -8796.802973  -1447.427359       .000938                    
+P 29 -22160.048304  -6137.441579  13680.807996    179.418762                    
+V 29 -12143.831202 -11764.767220 -25301.295501      -.189419                    
+P 30 -15048.155968  16989.969084 -13958.506474    444.692590                    
+V 30 -17095.355569   4113.662369  23976.927528      -.143194                    
+*  2005  1 19 16 30   .00000000                                                 
+P  1  21549.724291  15452.131272  -1543.267325    383.754096                    
+V  1    425.188309   3016.895261  32127.698051       .019517                    
+P  2 -14025.534292  -8699.321379 -21129.218090    -42.822490                    
+V  2   3544.272061 -25897.901940   8351.662223       .057552                    
+P  3  24135.735945   9855.445628   5641.709542     77.977455                    
+V  3   4369.539135   6838.730567 -29713.531294       .030252                    
+P  4  -7684.161259 -20646.968773 -14583.700437    442.262276                    
+V  4   4803.490090 -18201.273759  23569.708303      -.206610                    
+P  5 -22756.779052  13447.859725  -1495.203935     73.077765                    
+V  5  -3284.125696  -2465.956354  31237.262668       .024361                    
+P  6  -5674.211084  14948.522388 -21005.525714   -166.818729                    
+V  6 -22731.895441 -15009.416694  -4609.843053       .882624                    
+P  7 -12742.141216 -19721.537086  12970.613942     64.138990                    
+V  7  14695.145743   6418.783830  24850.466942      -.302515                    
+P  8    867.948828 -25991.253725   4176.258380    -19.015837                    
+V  8   3652.561758  -5101.226262 -31545.664229      -.011594                    
+P  9 -13993.769079  12037.243260  18490.170393    -24.791826                    
+V  9    -45.313396 -24687.849274  15974.707209      -.017840                    
+P 10 -22592.561216   -839.881783 -14231.338219     57.502593                    
+V 10  15828.961727  -8326.496095 -24453.227781       .007035                    
+P 11  14204.826843 -13001.710150  18196.424650    186.399080                    
+V 11   2577.106361  23420.517254  14893.087230       .036932                    
+P 13   5486.727764 -14028.543731 -21937.078657    -13.837966                    
+V 13  22254.133081  16394.133795  -4866.869149       .009745                    
+P 14  12659.566612  19739.640134  12546.307084    -31.485315                    
+V 14 -13775.315602  -7936.485606  26487.431205      -.000761                    
+P 15   4178.558527  23075.416898  11973.628036    377.740671                    
+V 15  -5360.102075  14903.538821 -26691.308967       .052930                    
+P 16  18467.808819   5731.062999 -18152.258009      1.993978                    
+V 16 -20607.360870  10734.909968 -17463.079975      -.001592                    
+P 17 -15351.576393    953.860507 -21319.021571    -93.597213                    
+V 17   5398.830972 -27224.922209  -5790.860081       .189834                    
+P 18  -9926.441937  17077.684543  17693.777616   -118.843560                    
+V 18 -21547.364037   6508.412672 -18677.385330      -.037386                    
+P 19  21277.425641   3268.183761  15634.890381    -11.849885                    
+V 19  13965.947596  14027.081824 -22105.943097      -.008516                    
+P 20  23093.261122 -12756.327361  -3077.264555    -90.945873                    
+V 20   4612.279505    937.237510  31482.850158       .027093                    
+P 21  -5597.160723  25610.541135  -2289.138275     87.977891                    
+V 21  -3042.573895  -3441.520957 -31631.538004       .010834                    
+P 22   2080.306921  15438.677754  21677.586710     16.248399                    
+V 22 -25508.890124   9272.344420  -4164.703516       .001628                    
+P 23  14923.921741  -7123.018591 -20900.286113    211.468953                    
+V 23  20821.131925  16075.183776   9323.565139       .006035                    
+P 24  -5123.247388 -22622.922943 -12505.655882     89.376561                    
+V 24   4895.551818 -15812.492617  26150.453391       .029127                    
+P 25  10197.783439  19281.283225 -14747.533377     84.301713                    
+V 25  -2878.792707  19395.219338  22806.508646       .007546                    
+P 26 -21968.927796  -4658.727382  14340.290692    316.827194                    
+V 26 -13974.579026 -12124.527028 -24232.125751       .055904                    
+P 27   3577.352825 -25801.221724  -3203.350883    513.271038                    
+V 27   3252.121690   4946.411948 -31511.218314       .063472                    
+P 28  -1815.634544 -15658.182847  21553.763150     46.477774                    
+V 28  24991.866894 -10001.215539  -5537.643008       .000921                    
+P 29 -23176.330821  -7087.176694  11294.859479    179.401172                    
+V 29 -10362.405503  -9356.920397 -27645.996956      -.189423                    
+P 30 -16463.685814  17346.499699 -11687.637588    444.679977                    
+V 30 -14334.048004   3738.726649  26416.124142      -.143198                    
+*  2005  1 19 16 45   .00000000                                                 
+P  1  21462.456238  15626.378024   1353.206753    383.756510                    
+V  1  -2406.800455    914.255199  32146.031429       .019527                    
+P  2 -13771.138813 -10989.302708 -20202.904458    -42.817196                    
+V  2   2125.048117 -24906.510809  12204.712238       .057539                    
+P  3  24411.727267  10386.436852   2927.159672     77.980031                    
+V  3   1718.435911   5007.213592 -30524.062976       .030251                    
+P  4  -7304.577156 -22171.247600 -12341.049069    442.243290                    
+V  4   3679.608153 -15608.429127  26194.959796      -.206611                    
+P  5 -22920.498082  13151.979919   1320.994698     73.078783                    
+V  5   -385.924471  -4166.220879  31254.064919       .024344                    
+P  6  -7764.910836  13637.985511 -21235.186133   -166.739192                    
+V  6 -23656.231991 -14060.918514   -486.756362       .882589                    
+P  7 -11304.146497 -19114.636229  15092.691597     64.111773                    
+V  7  17238.809159   6996.500782  22242.435119      -.302523                    
+P  8   1166.783163 -26296.167755   1308.664496    -19.015913                    
+V  8   3056.299983  -1655.558698 -32084.681830      -.011593                    
+P  9 -14050.454669   9740.044093  19756.422213    -24.793292                    
+V  9  -1247.691722 -26275.978069  12121.766786      -.017840                    
+P 10 -21081.457678  -1679.647223 -16305.525477     57.502680                    
+V 10  17672.067712 -10355.599760 -21574.183041       .007035                    
+P 11  14484.724023 -10831.010904  19375.257205    186.402472                    
+V 11   3665.556444  24740.473092  11266.076948       .036929                    
+P 13   7544.905344 -12600.158694 -22186.165825    -13.836997                    
+V 13  23409.934477  15288.706405   -660.167104       .009742                    
+P 14  11292.593036  18987.023119  14815.851493    -31.485401                    
+V 14 -16586.038279  -8708.585866  23874.952357      -.000750                    
+P 15   3751.704125  24288.757815   9472.764391    377.746451                    
+V 15  -4178.320896  12004.384575 -28801.195532       .052927                    
+P 16  16564.274122   6781.706168 -19562.504591      1.994009                    
+V 16 -21606.919775  12609.141148 -13830.072421      -.001589                    
+P 17 -14925.862867  -1526.556976 -21649.875949    -93.580111                    
+V 17   4035.254288 -27804.046214  -1554.806751       .189870                    
+P 18 -11758.056705  17673.632366  15864.606271   -118.846957                    
+V 18 -19106.819657   6665.904376 -21913.262707      -.037375                    
+P 19  22473.439933   4427.142299  13517.147896    -11.850746                    
+V 19  12532.673563  11731.211870 -24888.207664      -.008516                    
+P 20  23366.482366 -12610.767564   -225.455949    -90.943601                    
+V 20   1483.299946   2362.796987  31799.633505       .027098                    
+P 21  -5859.916196  25147.382013  -5107.325358     87.978819                    
+V 21  -2864.510216  -6842.661365 -30902.442718       .010841                    
+P 22   -166.908219  16322.246488  21120.113390     16.248331                    
+V 22 -24353.643470  10316.385057  -8206.209531       .001682                    
+P 23  16790.224265  -5756.588531 -19885.591450    211.469499                    
+V 23  20568.727427  14263.113007  13192.892575       .006028                    
+P 24  -4737.322855 -23918.803995 -10048.928985     89.379865                    
+V 24   3733.770828 -12929.228918  28362.405938       .029122                    
+P 25   9980.574613  20909.412243 -12570.870469     84.302257                    
+V 25  -1999.964526  16728.146006  25491.048865       .007534                    
+P 26 -23151.014533  -5638.790744  12043.607121    316.831852                    
+V 26 -12216.691358  -9671.029711 -26730.412415       .055900                    
+P 27   3881.053411 -25201.535726  -6002.271566    513.276686                    
+V 27   3563.225037   8362.722189 -30593.276458       .063473                    
+P 28    379.376158 -16602.507270  20874.109100     46.477867                    
+V 28  23714.301796 -10931.992969  -9546.555561       .000904                    
+P 29 -24011.848693  -7825.979031   8718.387139    179.384171                    
+V 29  -8133.801939  -7091.886272 -29528.973463      -.189427                    
+P 30 -17624.808697  17650.066924  -9216.959344    444.667042                    
+V 30 -11456.974552   2935.289605  28410.386323      -.143202                    
+*  2005  1 19 17  0   .00000000                                                 
+P  1  21110.169329  15628.153355   4226.470731    383.757441                    
+V  1  -5449.509077   -807.082788  31613.086094       .019538                    
+P  2 -13638.875880 -13167.792689 -18938.409501    -42.812076                    
+V  2    843.941045 -23425.636926  15856.539999       .057525                    
+P  3  24438.006849  10765.871534    162.948361     77.983322                    
+V  3  -1167.266956   3479.472276 -30815.877556       .030251                    
+P  4  -7012.312298 -23446.260304  -9882.262641    442.224842                    
+V  4   2872.548431 -12675.143376  28365.318200      -.206612                    
+P  5 -22833.193132  12688.456298   4114.180576     73.081863                    
+V  5   2281.026002  -6182.106093  30726.295620       .024327                    
+P  6  -9918.675540  12425.965325 -21092.994608   -166.660039                    
+V  6 -24125.860115 -12832.465735   3641.248719       .882555                    
+P  7  -9644.279483 -18474.760473  16963.354846     64.084465                    
+V  7  19611.829052   7154.972125  19271.322040      -.302531                    
+P  8   1430.605448 -26287.365440  -1582.002675    -19.016286                    
+V  8   2876.809262   1853.000402 -32058.004637      -.011593                    
+P  9 -14223.098645   7323.538877  20665.565884    -24.793940                    
+V  9  -2607.980451 -27332.375665   8051.557729      -.017841                    
+P 10 -19426.323807  -2706.253511 -18103.612086     57.503494                    
+V 10  19024.602081 -12463.309994 -18326.037032       .007035                    
+P 11  14867.579254  -8562.684202  20218.612445    186.405880                    
+V 11   4852.258671  25585.664384   7448.959227       .036925                    
+P 13   9686.480767 -11286.073837 -22055.503739    -13.836065                    
+V 13  24098.420067  13867.073107   3560.019026       .009739                    
+P 14   9678.396177  18186.320764  16831.558033    -31.485571                    
+V 14 -19252.983777  -9007.119104  20854.684143      -.000739                    
+P 15   3416.144624  25227.564568   6804.732917    377.752899                    
+V 15  -3339.859112   8817.525246 -30400.735810       .052923                    
+P 16  14594.210872   7998.673297 -20634.415307      1.993773                    
+V 16 -22085.527168  14415.553573  -9955.357199      -.001586                    
+P 17 -14628.579423  -4034.164785 -21598.848198    -93.562921                    
+V 17   2560.148124 -27827.062260   2682.598868       .189907                    
+P 18 -13358.276600  18264.604811  13760.600191   -118.849968                    
+V 18 -16420.095676   6392.564488 -24775.678955      -.037365                    
+P 19  23519.389555   5381.818599  11167.731813    -11.851508                    
+V 19  10636.089191   9502.399432 -27246.750411      -.008516                    
+P 20  23365.921320 -12319.893650   2630.228672    -90.941151                    
+V 20  -1457.087146   4158.805639  31568.698779       .027104                    
+P 21  -6124.890707  24381.858339  -7835.205846     87.979760                    
+V 21  -3089.757292 -10144.040546 -29627.950879       .010850                    
+P 22  -2290.573902  17286.267457  20204.603426     16.248137                    
+V 22 -22773.018982  11048.817407 -12109.970377       .001739                    
+P 23  18611.066553  -4559.129106 -18532.342343    211.470058                    
+V 23  19809.383689  12335.425990  16836.445281       .006021                    
+P 24  -4440.768510 -24941.467759  -7415.536012     89.382309                    
+V 24   2918.105521  -9755.756273  30070.910630       .029116                    
+P 25   9827.671550  22283.292883 -10172.879618     84.303339                    
+V 25  -1457.883360  13759.512153  27718.061720       .007521                    
+P 26 -24154.640640  -6403.835681   9542.806416    316.836871                    
+V 26 -10016.291279  -7361.331973 -28762.639413       .055896                    
+P 27   4230.340346 -24300.568504  -8693.481213    513.281988                    
+V 27   4260.596501  11624.625804 -29120.415540       .063474                    
+P 28   2440.886148 -17615.617614  19839.855906     46.478184                    
+V 28  22035.398626 -11519.051785 -13406.429825       .000885                    
+P 29 -24628.488301  -8370.499070   5994.508023    179.367359                    
+V 29  -5508.159679  -5052.595103 -30916.741099      -.189431                    
+P 30 -18525.216025  17861.991947  -6588.229514    444.654289                    
+V 30  -8555.710168   1703.797389  29922.866097      -.143206                    
+*  2005  1 19 17 15   .00000000                                                 
+P  1  20477.964277  15493.869920   7027.363880    383.757711                    
+V  1  -8611.367492  -2103.478796  30540.491121       .019549                    
+P  2 -13612.712034 -15192.415076 -17356.567107    -42.806886                    
+V  2   -220.229138 -21495.181013  19247.165189       .057512                    
+P  3  24196.922256  11023.213745  -2604.032058     77.986490                    
+V  3  -4209.311440   2300.269677 -30585.769910       .030250                    
+P  4  -6776.518376 -24445.083815  -7250.151231    442.206012                    
+V  4   2431.592074  -9485.846534  30040.664431      -.206614                    
+P  5 -22519.067395  12031.596491   6835.605784     73.084263                    
+V  5   4643.277468  -8451.046550  29661.455780       .024310                    
+P  6 -12092.811027  11334.201637 -20581.816473   -166.580728                    
+V  6 -24104.252479 -11402.223623   7700.808139       .882521                    
+P  7  -7781.543597 -17838.484541  18552.114785     64.057203                    
+V  7  21734.218773   6922.495135  15986.523962      -.302540                    
+P  8   1697.256310 -25963.856732  -4444.882835    -19.017005                    
+V  8   3118.249941   5320.657617 -31468.564206      -.011593                    
+P  9 -14521.989074   4837.093878  21201.502886    -24.795915                    
+V  9  -4038.075727 -27826.890373   3841.443900      -.017841                    
+P 10 -17672.399505  -3922.607061 -19594.731049     57.503507                    
+V 10  19865.408149 -14556.420137 -14762.032047       .007035                    
+P 11  15358.722206  -6240.382588  20712.369571    186.409258                    
+V 11   6058.634639  25938.373394   3508.552066       .036921                    
+P 13  11867.216009 -10111.100990 -21547.114831    -13.835029                    
+V 13  24273.994483  12211.851064   7721.813974       .009734                    
+P 14   7834.216367  17379.316020  18559.009480    -31.485552                    
+V 14 -21681.473285  -8853.776566  17478.441589      -.000728                    
+P 15   3138.928341  25870.067071   4016.776156    377.757479                    
+V 15  -2887.491843   5436.046216 -31462.472381       .052918                    
+P 16  12604.287280   9371.717693 -21349.227619      1.993704                    
+V 16 -22051.155002  16062.504820  -5906.042846      -.001584                    
+P 17 -14465.598863  -6518.650138 -21169.240953    -93.545851                    
+V 17   1066.250617 -27291.459305   6845.691455       .189943                    
+P 18 -14709.054163  18810.668571  11417.742556   -118.853552                    
+V 18 -13579.510939   5665.669724 -27213.047337      -.037356                    
+P 19  24375.165810   6142.192255   8626.692350    -11.852211                    
+V 19   8314.390628   7427.243910 -29140.239522      -.008516                    
+P 20  23112.377678 -11852.665377   5440.560301    -90.938864                    
+V 20  -4125.492884   6271.559686  30793.088762       .027110                    
+P 21  -6427.533582  23327.385798 -10424.718357     87.980762                    
+V 21  -3696.448159 -13247.958693 -27832.506903       .010858                    
+P 22  -4255.217893  18299.813407  18946.415036     16.248252                    
+V 22 -20831.644526  11407.704879 -15810.622488       .001798                    
+P 23  20340.687326  -3536.934760 -16863.646165    211.470509                    
+V 23  18543.109536  10383.602419  20192.989142       .006014                    
+P 24  -4200.375399 -25668.917164  -4652.112573     89.383515                    
+V 24   2491.446983  -6385.066052  31248.169333       .029112                    
+P 25   9706.820777  23379.766823  -7596.446016     84.304038                    
+V 25  -1293.048803  10579.163698  29451.176047       .007509                    
+P 26 -24942.240797  -6970.707921   6881.172406    316.841774                    
+V 26  -7426.157431  -5280.483674 -30300.461199       .055892                    
+P 27   4658.474816 -23116.699711 -11227.959854    513.287516                    
+V 27   5307.851153  14633.605507 -27115.069776       .063475                    
+P 28   4335.725376 -18663.875875  18467.411602     46.478138                    
+V 28  20022.778565 -11704.584495 -17051.066762       .000866                    
+P 29 -24993.365209  -8744.412425   3169.013240    179.350133                    
+V 29  -2551.228240  -3311.733772 -31783.461627      -.189435                    
+P 30 -19166.852508  17944.440124  -3846.177404    444.641747                    
+V 30  -5721.511431     62.555307  30924.503974      -.143210                    
+*  2005  1 19 17 30   .00000000                                                 
+P  1  19559.460972  15263.059374   9708.179654    383.758423                    
+V  1 -11795.225992  -2949.443891  28948.859813       .019561                    
+P  2 -13669.900412 -17025.072233 -15483.448194    -42.801509                    
+V  2   -997.576376 -19170.055570  22320.328920       .057498                    
+P  3  23678.180974  11191.276087  -5326.980733     77.989890                    
+V  3  -7322.895420   1499.045109 -29838.958457       .030248                    
+P  4  -6562.641015 -25148.839678  -4490.736983    442.187725                    
+V  4   2389.512881  -6134.303942  31189.872101      -.206615                    
+P  5 -22008.380847  11161.912949   9437.640444     73.086805                    
+V  5   6640.119907 -10898.160703  28076.869573       .024293                    
+P  6 -14242.115029  10377.082313 -19711.059006   -166.501482                    
+V  6 -23572.390905  -9854.829847  11620.142708       .882487                    
+P  7  -5741.823724 -17239.161810  19833.123774     64.030051                    
+V  7  23533.486375   6342.104269  12441.662269      -.302548                    
+P  8   2004.090103 -25333.935135  -7229.852987    -19.017148                    
+V  8   3765.720077   8645.577875 -30329.754226      -.011593                    
+P  9 -14949.300404   2331.853729  21355.223161    -24.798164                    
+V  9  -5446.456105 -27750.272379   -428.736215      -.017842                    
+P 10 -15866.002196  -5323.122431 -20753.058341     57.503784                    
+V 10  20191.765944 -16540.026529 -10940.860527       .007036                    
+P 11  15956.321429  -3908.589281  20848.510576    186.412655                    
+V 11   7204.671897  25797.895174   -486.550218       .036916                    
+P 13  14039.561307  -9092.240562 -20669.462854    -13.834200                    
+V 13  23908.914393  10413.438435  11754.150095       .009729                    
+P 14   5785.523160  16605.029604  19968.725424    -31.485472                    
+V 14 -23783.892223  -8288.025917  13803.961755      -.000718                    
+P 15   2884.044500  26203.208648   1158.147272    377.762325                    
+V 15  -2846.201424   1959.850967 -31969.238953       .052914                    
+P 16  10639.615384  10882.514338 -21694.373038      1.993590                    
+V 16 -21530.286447  17462.724035  -1752.462739      -.001582                    
+P 17 -14434.456208  -8930.366420 -20371.029418    -93.528521                    
+V 17   -354.540017 -26214.434404  10862.082388       .189979                    
+P 18 -15800.870111  19270.674915   8876.342366   -118.856623                    
+V 18 -10681.650694   4481.066722 -29180.991901      -.037347                    
+P 19  25004.853431   6725.702863   5937.456648    -11.852950                    
+V 19   5622.305362   5584.386145 -30535.082446      -.008516                    
+P 20  22633.667515 -11183.542344   8157.011021    -90.936170                    
+V 20  -6449.876399   8632.923946  29485.328201       .027116                    
+P 21  -6800.532818  22005.872369 -12830.445411     87.981636                    
+V 21  -4645.322030 -16064.015264 -25550.298625       .010866                    
+P 22  -6031.725030  19326.990116  17366.655491     16.248158                    
+V 22 -18605.720450  11344.980922 -19245.937467       .001859                    
+P 23  21934.147621  -2688.086320 -14907.914642    211.470914                    
+V 23  16788.132452   8498.100469  23206.037647       .006009                    
+P 24  -3979.866199 -26087.845018  -1807.345499     89.386213                    
+V 24   2478.881118  -2916.639359  31876.436648       .029107                    
+P 25   9582.886010  24184.072019  -4887.296126     84.304796                    
+V 25  -1528.831199   7283.216179  30663.681716       .007496                    
+P 26 -25481.651465  -7363.406403   4104.162457    316.846975                    
+V 26  -4513.161098  -3501.943881 -31323.919705       .055888                    
+P 27   5194.659893 -21676.815393 -13559.223567    513.293166                    
+V 27   6651.478291  17299.817420 -24611.096891       .063476                    
+P 28   6037.326505 -19709.088559  16779.031539     46.478060                    
+V 28  17755.102513 -11445.539948 -20416.912650       .000849                    
+P 29 -25080.135267  -8977.369336    289.653607    179.332899                    
+V 29    657.811946  -1928.953404 -32111.512262      -.189439                    
+P 30 -19559.732156  17862.015724  -1037.770293    444.628935                    
+V 30  -3041.868330  -1952.668149  31394.734835      -.143214                    
+*  2005  1 19 17 45   .00000000                                                 
+P  1  18357.137954  14976.700397  12223.452696    383.760100                    
+V  1 -14901.987858  -3338.372537  26867.289571       .019573                    
+P  2 -13781.909751 -18633.216369 -13349.988409    -42.796328                    
+V  2  -1429.868304 -16518.326853  25024.321564       .057483                    
+P  3  22879.303299  11304.792835  -7959.939505     77.991897                    
+V  3 -10419.723996   1088.952620 -28588.914001       .030247                    
+P  4  -6333.976376 -25547.373781  -1652.411550    442.169407                    
+V  4   2761.121195  -2719.994664  31791.511908      -.206617                    
+P  5 -21336.193865  10067.105583  11874.648191     73.089567                    
+V  5   8225.931943 -13439.126800  25999.457444       .024275                    
+P  6 -16320.493370   9561.218521 -18496.466807   -166.421893                    
+V  6 -22529.541120  -8277.861537  15330.423385       .882453                    
+P  7  -3557.096644 -16705.673439  20785.522861     64.002923                    
+V  7  24947.138647   5469.818641   8693.853636      -.302556                    
+P  8   2386.288705 -24414.822753  -9888.449379    -19.018073                    
+V  8   4786.037951  11731.818002 -28664.956312      -.011594                    
+P  9 -15498.969788   -141.157066  21124.941408    -24.800444                    
+V  9  -6742.273761 -27114.398208  -4678.590487      -.017842                    
+P 10 -14052.859196  -6893.731870 -21558.266605     57.502871                    
+V 10  20019.464450 -18321.140740  -6925.831761       .007037                    
+P 11  16651.402385  -1611.087009  20625.224717    186.416048                    
+V 11   8212.187347  25180.428299  -4467.206894       .036910                    
+P 13  16154.320606  -8238.139566 -19437.326959    -13.833321                    
+V 13  22994.479115   8566.457049  15587.948779       .009724                    
+P 14   3565.228045  15898.190489  21036.652186    -31.485391                    
+V 14 -25483.001790  -7365.440053   9893.933368      -.000709                    
+P 15   2614.072880  26223.083215  -1720.827611    377.767637                    
+V 15  -3222.236486  -1508.287218 -31914.372520       .052909                    
+P 16   8742.129968  12505.213759 -21663.711430      1.993441                    
+V 16 -20566.799145  18536.839514   2433.077536      -.001580                    
+P 17 -14524.595758 -11222.063796 -19220.508763    -93.511365                    
+V 17  -1614.933061 -24631.811651  14663.906666       .190015                    
+P 18 -16632.949999  19603.955517   6180.342344   -118.860033                    
+V 18  -7823.627358   2853.590623 -30643.284171      -.037340                    
+P 19  25378.137768   7156.393548   3146.102086    -11.853682                    
+V 19   2629.197710   4041.451863 -31406.075330      -.008517                    
+P 20  21963.476743 -10293.671921  10732.601468    -90.933736                    
+V 20  -8372.245667  11162.885903  27667.263481       .027121                    
+P 21  -7272.323878  20446.900565 -15010.454433     87.982671                    
+V 21  -5881.490428 -18512.612977 -22824.424942       .010875                    
+P 22  -7598.253994  20328.277794  15491.854946     16.248274                    
+V 22 -16180.184604  10828.428109 -22357.794252       .001920                    
+P 23  23348.950337  -2002.700137 -12698.396083    211.471494                    
+V 23  14580.340192   6764.881719  25824.739411       .006003                    
+P 24  -3741.542435 -26194.044052   1068.939015     89.389418                    
+V 24   2886.823744    547.440425  31948.139590       .029102                    
+P 25   9419.430461  24690.237063  -2093.116169     84.305440                    
+V 25  -2170.693551   3970.264238  31338.756715       .007484                    
+P 26 -25747.267924  -7611.926152   1258.655095    316.852123                    
+V 26  -1355.728613  -2085.138260 -31821.370261       .055883                    
+P 27   5862.589729 -20015.350784 -15644.331580    513.298722                    
+V 27   8222.989406  19545.959573 -21653.274259       .063477                    
+P 28   7526.591889 -20709.927839  14802.529330     46.478029                    
+V 28  15319.188971 -10715.599645 -23444.194757       .000832                    
+P 29 -24870.085078  -9103.712092  -2594.622065    179.315538                    
+V 29   4029.061403   -948.521800 -31891.965111      -.189443                    
+P 30 -19721.447066  17583.289653   1788.578311    444.616126                    
+V 30   -597.148445  -4289.733316  31322.071017      -.143218                    
+*  2005  1 19 18  0   .00000000                                                 
+P  1  16882.342377  14675.513387  14530.695515    383.760822                    
+V  1 -17834.276382  -3282.551474  24332.746630       .019585                    
+P  2 -13915.581394 -19990.931695 -10991.542157    -42.791094                    
+V  2  -1472.857817 -13618.881239  27312.790664       .057468                    
+P  3  21805.794867  11398.933538 -10458.524096     77.995687                    
+V  3 -13411.170261   1066.501801 -26857.087623       .030246                    
+P  4  -6053.325362 -25639.597424   1214.960405    442.150596                    
+V  4   3542.559905    655.765481  31834.342559      -.206618                    
+P  5 -20540.925845   8742.765819  14103.831652     73.090678                    
+V  5   9371.925800 -15983.476350  23465.297080       .024258                    
+P  6 -18282.612628   8885.342935 -16959.798063   -166.342166                    
+V  6 -20993.286889  -6758.217332  18767.047648       .882418                    
+P  7  -1264.431277 -16261.354570  21393.723503     63.975478                    
+V  7  25924.837203   4372.470853   4802.979777      -.302565                    
+P  8   2875.279602 -23231.973282 -12374.738493    -19.019231                    
+V  8   6129.278004  14492.971208 -26506.887549      -.011594                    
+P  9 -16156.939712  -2532.909797  20516.061485    -24.802652                    
+V  9  -7839.369412 -25951.544283  -8829.059671      -.017841                    
+P 10 -12276.464114  -8612.219701 -21995.899807     57.502348                    
+V 10  19382.195259 -19812.274609  -2783.949374       .007039                    
+P 11  17428.155841    610.534035  20046.902951    186.419410                    
+V 11   9007.995615  24118.318946  -8364.942283       .036903                    
+P 13  18162.392403  -7548.878409 -17871.570106    -13.832441                    
+V 13  21541.509153   6766.026237  19157.284516       .009718                    
+P 14   1212.615791  15287.884737  21744.562050    -31.485435                    
+V 14 -26714.860918  -6155.417806   5814.954736      -.000701                    
+P 15   2291.882121  25935.012457  -4569.694855    377.773358                    
+V 15  -4002.973118  -4866.747239 -31301.675336       .052903                    
+P 16   6949.099172  14207.301129 -21257.650335      1.993313                    
+V 16 -19220.165066  19216.610957   6577.598509      -.001578                    
+P 17 -14717.943584 -13350.490791 -17739.838969    -93.493933                    
+V 17  -2635.687250 -22596.272764  18188.853709       .190050                    
+P 18 -17213.140945  19772.021472   3376.548787   -118.863368                    
+V 18  -5099.291323    816.715092 -31572.636507      -.037332                    
+P 19  25471.514823   7463.797123    300.576933    -11.854313                    
+V 19   -583.405082   2852.408089 -31736.921257      -.008519                    
+P 20  21139.995161  -9171.824654  13122.726087    -90.931306                    
+V 20  -9850.815954  13772.595406  25369.729760       .027126                    
+P 21  -7865.787363  18686.615310 -16927.055042     87.983808                    
+V 21  -7336.850884 -20527.972514 -19705.873832       .010883                    
+P 22  -8940.883497  21262.025348  13353.554478     16.248738                    
+V 22 -13645.551333   9843.085019 -25093.111614       .001981                    
+P 23  24546.579970  -1463.483138 -10272.631154    211.472042                    
+V 23  11972.070880   5262.109026  28004.688169       .005998                    
+P 24  -3447.974420 -25992.464220   3926.687848     89.389982                    
+V 24   3702.936503   3906.410843  31465.773528       .029098                    
+P 25   9180.335263  24901.132895    737.339286     84.305546                    
+V 25  -3206.165403    737.585180  31469.463009       .007471                    
+P 26 -25720.957174  -7750.906284  -1607.791075    316.857138                    
+V 26   1959.028448  -1073.578764 -31789.309104       .055879                    
+P 27   6679.226468 -18173.005337 -17444.833129    513.304321                    
+V 27   9941.819439  21310.637804 -18296.422864       .063478                    
+P 28   8792.484060 -21623.504339  12570.885128     46.478042                    
+V 28  12806.769068  -9506.556733 -26078.063471       .000817                    
+P 29 -24352.957445  -9161.004908  -5434.467065    179.298615                    
+V 29   7465.063291   -397.518658 -31124.957362      -.189446                    
+P 30 -19676.383465  17082.198286   4583.846401    444.603357                    
+V 30   1542.530093  -6881.895307  30704.536695      -.143222                    
+*  2005  1 19 18 15   .00000000                                                 
+P  1  15154.973454  14398.286446  16591.075290    383.761280                    
+V  1 -20500.001771  -2812.459845  21389.353735       .019599                    
+P  2 -14034.475403 -21079.787658  -8447.365119    -42.785949                    
+V  2  -1098.140602 -10558.684320  29145.520854       .057452                    
+P  3  20471.033886  11507.811685 -12780.626557     77.998636                    
+V  3 -16211.435973   1411.806868 -24672.544761       .030244                    
+P  4  -5684.675855 -25433.474241   4060.971570    442.131786                    
+V  4   4711.389123   3893.788041  31317.569936      -.206620                    
+P  5 -19662.787139   7192.770500  16086.029073     73.092231                    
+V  5  10067.206379 -18438.168916  20518.978092       .024241                    
+P  6 -20085.522716   8340.531624 -15128.391014   -166.262501                    
+V  6 -18998.831705  -5378.567217  21870.799130       .882384                    
+P  7   1095.187184 -15923.132171  21647.623458     63.947914                    
+V  7  26430.146780   3125.187119    830.954031      -.302573                    
+P  8   3497.325210 -21818.067368 -14646.117416    -19.019905                    
+V  8   7730.984802  16855.328232 -23896.690017      -.011595                    
+P  9 -16901.751087  -4798.141032  19540.975278    -24.803597                    
+V  9  -8660.014122 -24312.767660 -12804.197973      -.017841                    
+P 10 -10576.518041 -10448.873278 -22057.661024     57.500802                    
+V 10  18330.278413 -20934.868502   1415.095729       .007042                    
+P 11  18264.522524   2718.272456  19124.024993    186.422783                    
+V 11   9526.859751  22658.696957 -12113.117279       .036897                    
+P 13  20016.520609  -7016.095425 -15998.804157    -13.831604                    
+V 13  19580.088844   5104.007566  22400.513700       .009713                    
+P 14  -1227.965557  14796.433636  22080.356066    -31.485349                    
+V 14 -27431.251175  -4738.383896   1636.435390      -.000694                    
+P 15   1882.304639  25353.264346  -7338.804490    377.780217                    
+V 15  -5157.568630  -8018.979455 -30145.139733       .052897                    
+P 16   5291.825326  15950.728008 -20483.146345      1.993037                    
+V 16 -17563.037072  19447.735094  10608.765259      -.001575                    
+P 17 -14989.770532 -15277.809797 -15956.506694    -93.477190                    
+V 17  -3348.606920 -20175.011908  21380.981551       .190086                    
+P 18 -17557.450970  19740.196183    513.797465   -118.866980                    
+V 18  -2595.549338  -1578.564147 -31951.325615      -.037324                    
+P 19  25269.255797   7681.606989  -2550.119156    -11.855380                    
+V 19  -3924.777603   2055.439885 -31520.602211      -.008520                    
+P 20  20204.384056  -7815.038559  15285.940763    -90.928739                    
+V 20 -10861.536991  16367.772888  22632.048586       .027130                    
+P 21  -8597.188693  16766.367215 -18547.457301     87.984751                    
+V 21  -8933.028990 -22060.535559 -16252.350448       .010890                    
+P 22 -10053.963351  22086.043319  10987.812409     16.249462                    
+V 22 -11094.533744   8392.024550 -27404.729535       .002038                    
+P 23  25493.905620  -1046.572758  -7671.839606    211.472899                    
+V 23   9030.293178   4057.137007  29708.645296       .005991                    
+P 24  -3063.664203 -25496.921465   6716.514679     89.392239                    
+V 24   4896.804697   7064.626124  30441.594056       .029095                    
+P 25   8831.387311  24828.188520   3555.128769     84.305667                    
+V 25  -4605.541031  -2322.506352  31058.533930       .007459                    
+P 26 -25392.701593  -7818.135435  -4447.659398    316.862245                    
+V 26   5338.409329   -493.579413 -31232.125729       .055875                    
+P 27   7653.868147 -16195.184991 -18927.618550    513.309907                    
+V 27  11718.848188  22551.034735 -14604.179892       .063479                    
+P 28   9832.311970 -22407.034221  10121.751747     46.478067                    
+V 28  10310.990821  -7829.021616 -28269.715573       .000802                    
+P 29 -23527.475826  -9188.428995  -8180.964527    179.281294                    
+V 29  10864.311813   -284.656944 -29819.932260      -.189450                    
+P 30 -19454.671649  16339.254878   7299.272682    444.590838                    
+V 30   3320.063336  -9650.192253  29549.929266      -.143227                    
+*  2005  1 19 18 30   .00000000                                                 
+P  1  13202.854175  14180.294874  18370.022840    383.762578                    
+V  1 -22815.701472  -1975.399761  18087.597867       .019612                    
+P  2 -14100.359667 -21889.430236  -5760.028236    -42.780921                    
+V  2   -294.463896  -7429.716134  30489.174406       .057437                    
+P  3  18895.877989  11663.042738 -14887.080778     77.999595                    
+V  3 -18740.604320   2089.430721 -22071.511659       .030242                    
+P  4  -5194.841718 -24945.652958   6835.614852    442.113221                    
+V  4   6227.458911   6900.889203  30250.864719      -.206621                    
+P  5 -18742.148552   5429.347015  17786.444038     73.095699                    
+V  5  10319.094236 -20711.297270  17212.763529       .024223                    
+P  6 -21690.185043   7910.736882 -13034.632170   -166.183320                    
+V  6 -16597.607814  -4214.016374  24588.867836       .882349                    
+P  7   3478.170251 -15700.902503  21542.756345     63.920383                    
+V  7  26441.826555   1808.595400  -3159.020206      -.302581                    
+P  8   4272.331982 -20211.746675 -16664.031546    -19.019459                    
+V  8   9514.890849  18760.516991 -20883.006227      -.011596                    
+P  9 -17705.454173  -6896.939984  18218.708442    -24.806770                    
+V  9  -9138.203868 -22265.499334 -16532.786306      -.017841                    
+P 10  -8987.514267 -12367.430610 -21741.606038     57.500600                    
+V 10  16928.754691 -21622.434495   5600.009983       .007046                    
+P 11  19133.029297   4678.964025  17872.943447    186.425858                    
+V 11   9714.112851  20861.565058 -15648.041998       .036891                    
+P 13  21672.989167  -6623.445331 -13850.955656    -13.830629                    
+V 13  17158.576231   3665.363160  25261.349480       .009708                    
+P 14  -3708.607145  14438.543372  22038.266046    -31.485244                    
+V 14 -27601.515534  -3202.573960  -2570.543010      -.000689                    
+P 15   1353.718648  24500.429823  -9980.206744    377.784719                    
+V 15  -6638.361870 -10877.156718 -28468.457190       .052890                    
+P 16   3794.587106  17693.273006 -19353.587897      1.992778                    
+V 16 -15678.317754  19192.110045  14456.199435      -.001572                    
+P 17 -15309.801330 -16972.780292 -13902.723264    -93.460088                    
+V 17  -3699.002552 -17446.940209  24191.324548       .190122                    
+P 18 -17689.267730  19479.114507  -2357.928079   -118.870144                    
+V 18   -388.946991  -4265.575926 -31771.623566      -.037315                    
+P 19  24764.086758   7846.183787  -5356.781063    -11.856204                    
+V 19  -7298.342248   1671.436499 -30759.591822      -.008519                    
+P 20  19199.137283  -6228.945054  17184.697867    -90.926199                    
+V 20 -11398.924717  18852.352856  19501.363118       .027133                    
+P 21  -9475.401141  14731.170583 -19844.319338     87.986080                    
+V 21 -10584.708658 -23078.667008 -12526.997947       .010895                    
+P 22 -10940.156228  22759.237154   8434.634083     16.250087                    
+V 22  -8618.567971   6496.467480 -29252.226538       .002090                    
+P 23  26164.395055   -722.630389  -4940.246295    211.473301                    
+V 23   5834.239394   3203.905374  30907.164846       .005983                    
+P 24  -2556.615013 -24729.476298   9390.557736     89.395484                    
+V 24   6421.326114   9935.075617  28897.129690       .029091                    
+P 25   8341.773732  24490.790762   6311.977894     84.305491                    
+V 25  -6323.244560  -5126.012585  30117.981029       .007447                    
+P 26 -24760.957680  -7852.969043  -7214.172277    316.867012                    
+V 26   8687.341993   -353.582897 -30161.799956       .055870                    
+P 27   8787.554551 -14130.241612 -20065.645693    513.315500                    
+V 27  13460.366337  23244.728492 -10647.463237       .063480                    
+P 28  10651.696129 -23019.537362   7496.861652     46.478098                    
+V 28   7922.801711  -5712.400434 -29977.468625       .000787                    
+P 29 -22401.541924  -9225.102215 -10786.470297    179.264123                    
+V 29  14124.985809   -599.794736 -27995.730983      -.189454                    
+P 30 -19090.908103  15342.520947   9887.240718    444.577914                    
+V 30   4693.639732 -12506.374764  27875.886652      -.143231                    
+*  2005  1 19 18 45   .00000000                                                 
+P  1  11060.816941  14051.871815  19837.767285    383.765702                    
+V  1 -24709.539228   -833.518242  14483.473631       .019626                    
+P  2 -14074.789773 -22417.886437  -2974.767369    -42.775722                    
+V  2    931.574168  -4325.680076  31317.977630       .057423                    
+P  3  17108.005066  11892.403777 -16742.283446     78.002453                    
+V  3 -20927.481575   3049.792250 -19096.839333       .030241                    
+P  4  -4554.989082 -24200.761537   9490.216906    442.094619                    
+V  4   8034.531827   9593.509764  28654.137887      -.206623                    
+P  5 -17817.915656   3472.805035  19175.291762     73.097105                    
+V  5  10152.695527 -22715.764513  13605.578209       .024206                    
+P  6 -23062.846771   7573.605629 -10715.339645   -166.103989                    
+V  6 -13855.260916  -3329.116234  26875.713918       .882315                    
+P  7   5839.733290 -15597.169026  21080.373858     63.893306                    
+V  7  25954.626152    505.844173  -7103.205482      -.302589                    
+P  8   5212.931363 -18456.140723 -18394.598786    -19.020735                    
+V  8  11396.139395  20167.447689 -17520.842643      -.011598                    
+P  9 -18534.790431  -8796.089091  16574.430322    -24.808242                    
+V  9  -9222.365253 -19890.492971 -19949.730507      -.017839                    
+P 10  -7537.521124 -14326.293400 -21052.236188     57.500891                    
+V 10  15254.902294 -21823.291786   9699.049352       .007051                    
+P 11  20001.842807   6465.336429  16315.571062    186.429369                    
+V 11   9527.854278  18797.421750 -18910.013435       .036885                    
+P 13  23093.195617  -6347.375043 -11464.738031    -13.829745                    
+V 13  14341.910936   2524.768039  27689.863330       .009702                    
+P 14  -6179.478256  14220.758231  21618.952793    -31.485167                    
+V 14 -27213.743302  -1640.525147  -6734.390983      -.000684                    
+P 15    679.473402  23406.488542 -12448.495710    377.789332                    
+V 15  -8382.941776 -13365.410362 -26304.339418       .052884                    
+P 16   2473.864463  19390.078313 -17888.561292      1.992490                    
+V 16 -13655.827747  18429.465429  18052.758077      -.001567                    
+P 17 -15643.518701 -18411.675083 -11614.776598    -93.442900                    
+V 17  -3647.556086 -14499.570512  26578.312696       .190158                    
+P 18 -17638.287157  18966.025353  -5188.407698   -118.873220                    
+V 18   1457.336775  -7164.480387 -31036.019098      -.037308                    
+P 19  23957.554731   7994.955805  -8070.855692    -11.857048                    
+V 19 -10605.269361   1703.153385 -29465.898695      -.008518                    
+P 20  18166.400255  -4427.761753  18786.014553    -90.923763                    
+V 20 -11476.161295  21132.218634  16031.821948       .027136                    
+P 21 -10501.440366  12628.041881 -20796.176639     87.987107                    
+V 21 -12203.198044 -23569.603182  -8597.054023       .010899                    
+P 22 -11610.166853  23243.220171   5737.331507     16.250510                    
+V 22  -6304.364295   4195.217302 -30602.658575       .002139                    
+P 23  26539.094148   -458.147598  -2124.355712    211.473322                    
+V 23   2472.574058   2740.832347  31579.110993       .005978                    
+P 24  -1899.746556 -23719.513158  11903.286656     89.399000                    
+V 24   8214.732609  12442.494387  26862.543564       .029087                    
+P 25   7685.426328  23915.399760   8961.091216     84.306039                    
+V 25  -8299.784576  -7600.196539  28668.554350       .007436                    
+P 26 -23832.723507  -7894.713504  -9861.959141    316.872047                    
+V 26  11911.622332   -644.095918 -28597.559565       .055866                    
+P 27  10072.842414 -12027.591107 -20838.516610    513.321022                    
+V 27  15072.279803  23390.556738  -6502.690666       .063481                    
+P 28  11264.207974 -23423.499767   4741.340711     46.478125                    
+V 28   5727.351661  -3204.119846 -31167.752634       .000773                    
+P 29 -20992.092198  -9308.387516 -13205.456664    179.246866                    
+V 29  17148.770750  -1314.178443 -25680.516866      -.189457                    
+P 30 -18622.698609  14088.293641  12302.159763    444.565225                    
+V 30   5638.423672 -15356.267918  25709.744362      -.143236                    
+*  2005  1 19 19  0   .00000000                                                 
+P  1   8769.538452  14037.181415  20969.791244    383.768109                    
+V  1 -26123.862910    538.699936  10637.576036       .019639                    
+P  2 -13920.722693 -22671.566506   -138.774274    -42.770446                    
+V  2   2555.478048  -1338.595420  31614.335171       .057408                    
+P  3  15141.011495  12218.643377 -18314.763202     78.005640                    
+V  3 -22712.131645   4231.087909 -15797.389165       .030240                    
+P  4  -3741.985494 -23230.393078  11978.340858    442.075860                    
+V  4  10062.581552  11900.920049  26557.082737      -.206624                    
+P  5 -16925.975167   1350.944505  20228.347499     73.099979                    
+V  5   9609.736453 -24372.775282   9761.849826       .024189                    
+P  6 -24176.209013   7301.546807  -8211.076236   -166.024383                    
+V  6 -10849.103187  -2775.337395  28693.763761       .882281                    
+P  7   8135.350969 -15606.953862  20267.459052     63.866162                    
+V  7  24979.559279   -700.480621 -10938.107339      -.302597                    
+P  8   6323.859014 -16597.249767 -19809.131470    -19.021027                    
+V  8  13284.722777  21053.561958 -13870.426313      -.011600                    
+P  9 -19352.587400 -10470.107229  14638.848979    -24.810793                    
+V  9  -8877.369765 -17278.297661 -22997.212239      -.017838                    
+P 10  -6247.211268 -16279.963663 -20000.484980     57.502425                    
+V 10  13395.259006 -21502.781851  13641.225595       .007055                    
+P 11  20835.998641   8056.832643  14478.978498    186.432660                    
+V 11   8940.642334  16544.514020 -21844.264646       .036878                    
+P 13  24245.042862  -6158.187917  -8881.037680    -13.828802                    
+V 13  11209.278002   1743.609406  29643.393771       .009696                    
+P 14  -8590.540734  14141.238032  20829.498994    -31.485055                    
+V 14 -26275.256952   -145.403329 -10784.185146      -.000682                    
+P 15   -160.897981  22107.606739 -14701.584640    377.794378                    
+V 15 -10316.779489 -15422.529231 -23693.683565       .052877                    
+P 16   1337.876454  20995.301772 -16113.504102      1.992365                    
+V 16 -11588.707459  17158.291035  21335.752826      -.001561                    
+P 17 -15953.607291 -19578.906661  -9132.353026    -93.425935                    
+V 17  -3171.559549 -11425.711595  28508.025839       .190194                    
+P 18 -17439.195152  18185.842650  -7928.105849   -118.876689                    
+V 18   2895.951557 -10185.334706 -29757.218449      -.037302                    
+P 19  22860.063533   8164.776004 -10645.295493    -11.857731                    
+V 19 -13748.191920   2135.090577 -27660.933656      -.008516                    
+P 20  17146.313210  -2433.950612  20062.061334    -90.921198                    
+V 20 -11124.456781  23118.879535  12283.626298       .027138                    
+P 21 -11668.324613  10504.287573 -21387.749075     87.987806                    
+V 21 -13700.074615 -23539.629170  -4532.484071       .010904                    
+P 22 -12082.166775  23503.845386   2941.820592     16.251020                    
+V 22  -4230.612271   1543.425968 -31431.203952       .002185                    
+P 23  26607.334283   -216.916333    727.814848    211.473642                    
+V 23   -959.802205   2689.288873  31712.057958       .005976                    
+P 24  -1072.103576 -22502.562287  14212.246214     89.401072                    
+V 24  10203.144720  14525.959072  24375.873657       .029083                    
+P 25   6842.168008  23134.422061  11457.908414     84.307772                    
+V 25 -10464.174272  -9686.017383  26739.065828       .007424                    
+P 26 -22623.317264  -7981.031317 -12347.692275    316.876861                    
+V 26  14921.079498  -1338.216689 -26565.509937       .055862                    
+P 27  11493.961427  -9935.798681 -21232.885825    513.326749                    
+V 27  16464.330157  23008.479971  -2249.831987       .063483                    
+P 28  11690.692036 -23586.432347   1902.937766     46.477932                    
+V 28   3800.566086   -368.102764 -31815.982857       .000760                    
+P 29 -19324.611934  -9472.256777 -15395.341113    179.229833                    
+V 29  19844.621375  -2381.431064 -22911.516212      -.189461                    
+P 30 -18089.079907  12581.475960  14501.322886    444.552714                    
+V 30   6147.558714 -18103.433024  23088.172509      -.143240                    
+*  2005  1 19 19 15   .00000000                                                 
+P  1   6374.167425  14153.237908  21747.202544    383.771207                    
+V  1 -27017.238131   2057.373630   6614.154429       .019651                    
+P  2 -13604.104331 -22664.958675   2699.563693    -42.765289                    
+V  2   4535.484101   1444.606655  31369.351572       .057393                    
+P  3  13033.299357  12658.485189 -19577.691090     78.008663                    
+V  3 -24048.017137   5561.662670 -12227.343367       .030239                    
+P  4  -2739.515603 -22071.827182  14256.637910    442.057189                    
+V  4  12230.662583  13767.873079  23998.500660      -.206626                    
+P  5 -16097.777516   -901.836551  20927.385158     73.102673                    
+V  5   8746.713433 -25614.991591   5750.233655       .024171                    
+P  6 -25010.345991   7063.001894  -5565.407620   -165.945049                    
+V  6  -7665.146408  -2589.096323  30013.932831       .882246                    
+P  7  10322.213207 -15717.987889  19116.668506     63.839008                    
+V  7  23543.639841  -1731.448670 -14601.278330      -.302605                    
+P  8   7601.653111 -14682.248584 -20884.552666    -19.022328                    
+V  8  15089.085622  21415.340974  -9996.013984      -.011602                    
+P  9 -20119.301292 -11901.960841  12447.514439    -24.810898                    
+V  9  -8085.795878 -14525.436353 -25625.576231      -.017837                    
+P 10  -5129.177444 -18180.652565 -18603.594329     57.504098                    
+V 10  11442.252619 -20644.865881  17357.549249       .007059                    
+P 11  21598.757917   9440.174401  12394.911049    186.435821                    
+V 11   7940.625603  14185.827588 -24401.814626       .036873                    
+P 13  25104.094753  -6021.356087  -6144.223182    -13.827948                    
+V 13   7851.211503   1367.492952  31087.342941       .009690                    
+P 14 -10893.274989  14189.868320  19683.296614    -31.484927                    
+V 14 -24812.381665   1192.696009 -14650.835948      -.000681                    
+P 15  -1180.723339  20644.719937 -16701.400379    377.798246                    
+V 15 -12356.299912 -17004.028985 -20684.615632       .052870                    
+P 16    386.449501  22463.819409 -14059.252477      1.992367                    
+V 16  -9569.697348  15396.025670  24248.084252      -.001556                    
+P 17 -16201.480544 -20467.352096  -6497.842667    -93.408802                    
+V 17  -2265.520452  -8320.094786  29954.308787       .190230                    
+P 18 -17130.156339  17131.899963 -10529.082812   -118.880064                    
+V 18   3897.185431 -13231.589950 -27957.922347      -.037296                    
+P 19  21490.575627   8390.300894 -13035.391972    -11.858485                    
+V 19 -16634.888076   2934.099293 -25375.198184      -.008515                    
+P 20  16175.444397   -277.553261  20990.659424    -90.918692                    
+V 20 -10391.696093  24732.943088   8321.958703       .027139                    
+P 21 -12961.260781   8405.810139 -21610.125277     87.988370                    
+V 21 -14990.756897 -23013.502877   -404.627967       .010912                    
+P 22 -12380.934248  23512.597331     95.865191     16.251645                    
+V 22  -2464.964980  -1389.275301 -31721.697999       .002228                    
+P 23  26367.139923     38.392056   3567.532449    211.474054                    
+V 23  -4365.199279   3052.714826  31302.562881       .005977                    
+P 24    -59.814781 -21118.914267  16278.727290     89.402987                    
+V 24  12303.544128  16140.888221  21482.180518       .029080                    
+P 25   5798.622952  22184.888579  13760.799614     84.308755                    
+V 25 -12736.764948 -11340.008643  24365.683514       .007412                    
+P 26 -21155.877616  -8146.419311 -14630.688335    316.881687                    
+V 26  17632.578521  -2392.725496 -24098.242645       .055858                    
+P 27  13027.342462  -7900.721069 -21242.689038    513.332681                    
+V 27  17554.109437  22138.460071   2029.618518       .063484                    
+P 28  11958.292994 -23482.260114   -968.817622     46.478042                    
+V 28   2206.039572   2717.466325 -31907.277250       .000748                    
+P 29 -17432.319076  -9745.776631 -17317.283047    179.212611                    
+V 29  22132.311937  -3739.268907 -19734.564088      -.189464                    
+P 30 -17528.883946  10835.609547  16445.722402    444.539936                    
+V 30   6232.433099 -20652.977790  20056.590649      -.143245                    
+*  2005  1 19 19 30   .00000000                                                 
+P  1   3922.795363  14409.205013  22157.019427    383.772762                    
+V  1 -27365.893220   3632.494192   2480.137363       .019663                    
+P  2 -13095.369944 -22420.022452   5491.465808    -42.760220                    
+V  2   6813.865431   3945.356985  30583.237591       .057378                    
+P  3  10826.791507  13221.862212 -20509.325687     78.011208                    
+V  3 -24903.672389   6962.751216  -8445.442996       .030238                    
+P  4  -1538.917682 -20766.541553  16285.629438    442.038575                    
+V  4  14450.220752  15156.597151  21025.435379      -.206627                    
+P  5 -15359.113733  -3245.698065  21260.497178     73.106327                    
+V  5   7632.441193 -26389.219598   1642.255044       .024153                    
+P  6 -25553.342955   6823.865501  -2824.121334   -165.865720                    
+V  6  -4394.840354  -2790.402198  30815.975000       .882212                    
+P  7  12360.633049 -15911.176116  17646.200761     63.811730                    
+V  7  21689.078133  -2514.793460 -18032.153203      -.302613                    
+P  8   9034.677247 -12757.777504 -21603.705169    -19.023415                    
+V  8  16719.716820  21268.083829  -5964.701128      -.011604                    
+P  9 -20794.638471 -13083.424766  10040.054060    -24.813504                    
+V  9  -6848.419672 -11730.472830 -27793.952464      -.017836                    
+P 10  -4187.564621 -19980.002247 -16884.878080     57.505130                    
+V 10   9490.561623 -19253.026901  20782.287900       .007062                    
+P 11  22253.039002  10609.647275  10099.233684    186.439128                    
+V 11   6532.076978  11805.929768 -26540.210413       .036868                    
+P 13  25654.449713  -5899.030500  -3301.388554    -13.827153                    
+V 13   4366.245011   1424.358351  31995.842583       .009684                    
+P 14 -13042.353129  14348.699469  18199.830075    -31.484603                    
+V 14 -22869.504110   2290.334689 -18268.233186      -.000683                    
+P 15  -2385.527416  19061.960185 -18414.487498    377.802291                    
+V 15 -14412.256364 -18083.530041 -17331.446157       .052864                    
+P 16   -388.779737  23752.911261 -11761.491084      1.992199                    
+V 16  -7687.446818  13178.498298  26739.267830      -.001552                    
+P 17 -16348.834039 -21078.375587  -3755.639717    -93.391752                    
+V 17   -941.148646  -5276.046303  30898.773811       .190266                    
+P 18 -16751.172357  15806.376480 -12945.875889   -118.883412                    
+V 18   4450.043722 -16203.870627 -25670.383465      -.037290                    
+P 19  19875.989535   8702.456218 -15199.573176    -11.859363                    
+V 19 -19181.783942   4050.698970 -22647.795749      -.008514                    
+P 20  15285.375289   2004.771653  21555.677107    -90.916034                    
+V 20  -9340.424410  25907.242663   4215.814192       .027139                    
+P 21 -14358.143280   6375.498116 -21460.827030     87.989724                    
+V 21 -15997.861195 -22033.174250   3715.107885       .010920                    
+P 22 -12536.739727  23247.789197  -2751.721399     16.252132                    
+V 22  -1061.421002  -4521.221446 -31467.041040       .002267                    
+P 23  25825.319380    344.598697   6346.164202    211.474179                    
+V 23  -7646.709568   3816.416194  30356.302920       .005980                    
+P 24   1143.229891 -19612.083446  18068.358004     89.406165                    
+V 24  14427.039428  17260.393256  18232.629568       .029076                    
+P 25   4548.858237  21106.992902  15831.688990     84.308706                    
+V 25 -15032.328193 -12535.510757  21591.079904       .007400                    
+P 26 -19460.604236  -8420.808894 -16673.473790    316.886525                    
+V 26  19972.778187  -3749.698289 -21234.425479       .055854                    
+P 27  14642.490081  -5963.791387 -20869.189117    513.338260                    
+V 27  18270.664429  20838.429712   6254.660132       .063485                    
+P 28  12099.223017 -23092.480933  -3823.513696     46.478026                    
+V 28    992.393942   5963.012828 -31436.983944       .000737                    
+P 29 -15355.043822 -10151.779873 -18936.930607    179.195751                    
+V 29  23945.622202  -5311.898203 -16203.449132      -.189468                    
+P 30 -16979.112500   8872.563980  18100.802848    444.527052                    
+V 30   5922.182814 -22915.351754  16668.366619      -.143250                    
+*  2005  1 19 19 45   .00000000                                                 
+P  1   1464.825512  14805.999952  22192.366980    383.773978                    
+V  1 -27164.530777   5171.406452  -1695.863458       .019676                    
+P  2 -12370.797589 -21965.297947   8188.590707    -42.754757                    
+V  2   9318.886332   6096.463305  29265.577971       .057362                    
+P  3   8565.519473  13911.411038 -21093.386469     78.013750                    
+V  3 -25263.847793   8351.497762  -4514.156050       .030236                    
+P  4   -139.707872 -19358.576979  18030.403674    442.019897                    
+V  4  16628.696521  16048.051779  17692.146058      -.206628                    
+P  5 -14729.136085  -5636.730395  21222.289882     73.108945                    
+V  5   6345.107624 -26658.515891  -2489.094264       .024134                    
+P  6 -25801.632239   6548.998277    -34.421963   -165.786163                    
+V  6  -1131.649043  -3382.163239  31088.662728       .882178                    
+P  7  14215.358271 -16161.326335  15879.588108     63.784509                    
+V  7  19471.948569  -2987.738568 -21172.916646      -.302621                    
+P  8  10603.461251 -10868.285056 -21955.554147    -19.024292                    
+V  8  18092.600528  20644.989825  -1845.253090      -.011606                    
+P  9 -21339.186929 -14015.090641   7459.363430    -24.814858                    
+V  9  -5183.952682  -8990.140674 -29470.624898      -.017834                    
+P 10  -3418.036687 -21630.855451 -14873.372521     57.504623                    
+V 10   7633.343769 -17350.423309  23854.214493       .007066                    
+P 11  22762.869815  11567.099407   7631.314390    186.442458                    
+V 11   4735.316700   9487.783113 -28224.155102       .036863                    
+P 13  25889.297214  -5751.690072   -401.543088    -13.826291                    
+V 13    857.235691   1923.283618  32352.272610       .009678                    
+P 14 -14997.196517  14592.698466  16404.357956    -31.484717                    
+V 14 -20507.452751   3074.071423 -21574.352933      -.000686                    
+P 15  -3772.679876  17404.991643 -19812.515711    377.806949                    
+V 15 -16393.266830 -18653.413899 -13693.570343       .052859                    
+P 16  -1003.836176  24823.864009  -9260.116370      1.992110                    
+V 16  -6023.000404  10558.644544  28766.330644      -.001548                    
+P 17 -16359.170939 -21421.557435   -951.446633    -93.374807                    
+V 17    773.243416  -2382.306896  31330.715725       .190302                    
+P 18 -16342.377813  14220.376168 -15136.331314   -118.886653                    
+V 18   4562.550652 -19003.875303 -22935.756227      -.037284                    
+P 19  18050.215463   9127.051456 -17100.149440    -11.860208                    
+V 19 -21317.134474   5421.057149 -19525.772292      -.008512                    
+P 20  14501.493977   4370.972324  21747.317388    -90.913492                    
+V 20  -8045.251414  26589.494461     36.757282       .027138                    
+P 21 -15830.340535   4451.760423 -20943.758982     87.990713                    
+V 21 -16654.217891 -20655.874241   7756.487697       .010927                    
+P 22 -12584.017724  22695.516944  -5551.905362     16.252609                    
+V 22    -58.211278  -7761.652916 -30669.463886       .002304                    
+P 23  24997.233381    736.402118   9015.998879    211.474385                    
+V 23 -10711.773582   4948.058029  28888.069034       .005986                    
+P 24   2535.004330 -18027.180119  19551.610219     89.408540                    
+V 24  16482.296856  17875.952763  14683.531873       .029073                    
+P 25   3094.745381  19942.545541  17636.602842     84.309758                    
+V 25 -17263.199149 -13263.303223  18463.603065       .007389                    
+P 26 -17573.763992  -8828.333230 -18442.312602    316.891257                    
+V 26  21880.569314  -5338.593599 -18018.372290       .055850                    
+P 27  16303.154301  -4160.523020 -20120.844091    513.343641                    
+V 27  18557.516338  19181.480350  10346.709973       .063487                    
+P 28  12149.317138 -22407.041082  -6610.792800     46.477967                    
+V 28    191.229472   9270.972809 -30410.988535       .000726                    
+P 29 -13137.843273 -10705.780240 -20225.099483    179.178995                    
+V 29  25235.015957  -7013.010822 -12379.058133      -.189471                    
+P 30 -16473.390550   6721.891403  19437.132660    444.514433                    
+V 30   5262.442898 -24809.960260  12983.814291      -.143254                    
+*  2005  1 19 20  0   .00000000                                                 
+P  1   -950.701711  15336.215806  21852.583245    383.775462                    
+V  1 -26426.481290   6582.381144  -5844.563293       .019688                    
+P  2 -11413.658341 -21334.760271  10743.886134    -42.749463                    
+V  2  11967.353206   7844.739758  27435.437965       .057344                    
+P  3   6294.133891  14722.246633 -21319.349279     78.016191                    
+V  3 -25130.080517   9644.152600   -498.778527       .030235                    
+P  4   1450.227149 -17892.824086  19461.213997    442.001721                    
+V  4  18673.263283  16442.406451  14058.953605      -.206629                    
+P  5 -14219.661188  -8028.486962  20813.951782     73.112316                    
+V  5   4968.965036 -26403.629077  -6570.769681       .024115                    
+P  6 -25760.018933   6203.771999   2755.882567   -165.706750                    
+V  6   2032.400959  -4350.164734  30829.806353       .882143                    
+P  7  15856.740241 -16438.120310  13845.408897     63.757315                    
+V  7  16960.355416  -3099.544806 -23969.401247      -.302629                    
+P  8  12281.341614  -9054.482461 -21935.286304    -19.025359                    
+V  8  19132.404215  19595.602058   2293.022883      -.011608                    
+P  9 -21715.992117 -14706.035622   4750.774710    -24.816971                    
+V  9  -3128.078252  -6395.690060 -30633.168618      -.017833                    
+P 10  -2808.082987 -23089.004248 -12603.376033     57.505018                    
+V 10   5958.481016 -14979.268949  26517.816934       .007070                    
+P 11  23094.805952  12321.656563   5033.356290    186.445538                    
+V 11   2586.032920   7309.646985 -29426.017364       .036860                    
+P 13  25811.134004  -5539.865337   2505.238293    -13.825387                    
+V 13  -2572.496170   2854.031611  32149.617722       .009672                    
+P 14 -16723.359077  14890.785325  14327.497419    -31.484724                    
+V 14 -17801.256970   3483.426941 -24512.309163      -.000689                    
+P 15  -5331.363562  15719.319688 -20872.686907    377.810003                    
+V 15 -18209.371564 -18724.757402  -9834.341569       .052854                    
+P 16  -1481.575172  25643.427368  -6598.525623      1.992044                    
+V 16  -4646.602060   7604.551506  30294.561049      -.001544                    
+P 17 -16199.248754 -21514.146784   1868.410944    -93.357274                    
+V 17   2833.881514    279.912286  31246.962139       .190338                    
+P 18 -15942.344587  12393.656659 -17062.368991   -118.889875                    
+V 18   4261.263516 -21538.231609 -19803.257749      -.037279                    
+P 19  16052.984069   9683.599623 -18703.992478    -11.861062                    
+V 19 -22983.752073   6969.556534 -16063.296676      -.008508                    
+P 20  13842.044492   6775.041488  21562.291370    -90.910978                    
+V 20  -6589.778832  26744.376886  -4142.370182       .027135                    
+P 21 -17343.733628   2667.257521 -20069.050935     87.991724                    
+V 21 -16905.442121 -18951.668752  11651.593424       .010933                    
+P 22 -12559.874677  21850.330480  -8256.278220     16.253002                    
+V 22    523.718107 -11014.044868 -29340.636527       .002339                    
+P 23  23906.248061   1244.838532  11531.061305    211.474834                    
+V 23 -13475.605071   6398.842474  26921.610641       .005994                    
+P 24   4105.282699 -16409.252656  20704.218611     89.411114                    
+V 24  18379.008756  17997.407700  10895.363550       .029069                    
+P 25   1446.029794  18733.401065  19146.142481     84.311264                    
+V 25 -19342.608805 -13531.575898  15036.430549       .007377                    
+P 26 -15536.494615  -9386.301373 -19907.694071    316.896273                    
+V 26  23309.125937  -7078.754050 -14499.587248       .055847                    
+P 27  17968.742664  -2519.295582 -19013.008972    513.349606                    
+V 27  18374.963249  17252.436767  14231.360248       .063488                    
+P 28  12146.434999 -21424.886000  -9281.304508     46.477958                    
+V 28   -184.225106  12539.585290 -28845.777685       .000716                    
+P 29 -10829.402716 -11415.179704 -21158.366010    179.161697                    
+V 29  25969.684981  -8749.267719  -8328.328841      -.189475                    
+P 30 -16040.564256   4419.870158  20430.977436    444.501762                    
+V 30   4313.393752 -26268.435354   9069.013446      -.143259                    
+*  2005  1 19 20 15   .00000000                                                 
+P  1  -3276.767288  15984.364888  21143.234018    383.778776                    
+V  1 -25183.194824   7778.155991  -9897.022427       .019701                    
+P  2 -10215.112997 -20566.459099  13112.440230    -42.744416                    
+V  2  14667.681252   9153.133078  25121.288015       .057326                    
+P  3   4056.390495  15642.028658 -21182.658004     78.017405                    
+V  3 -24520.664244  10759.335519   3533.527662       .030235                    
+P  4   3214.774025 -16413.302274  20553.969035    441.983025                    
+V  4  20494.541364  16358.737679  10190.996282      -.206630                    
+P  5 -13834.781904 -10373.614598  20043.195544     73.113761                    
+V  5   3590.801592 -25623.723255 -10531.062130       .024095                    
+P  6 -25441.399556   5755.586845   5499.189606   -165.627137                    
+V  6   5010.069694  -5663.704974  30046.123707       .882109                    
+P  7  17261.716636 -16707.298053  11576.917905     63.730222                    
+V  7  14232.139270  -2813.682975 -26372.008690      -.302637                    
+P  8  14035.372967  -7351.964144 -21544.309896    -19.027658                    
+V  8  19775.297623  18183.688768   6381.351241      -.011609                    
+P  9 -21892.017296 -15173.177181   1961.221968    -24.819187                    
+V  9   -731.863541  -4029.584834 -31268.384467      -.017831                    
+P 10  -2337.656364 -24314.848254 -10113.882809     57.504208                    
+V 10   4544.994480 -12199.446275  28724.437681       .007075                    
+P 11  23219.261587  12889.166516   2349.689360    186.448689                    
+V 11    134.029556   5342.179251 -30126.219661       .036858                    
+P 13  25431.630241  -5225.868510   5368.689046    -13.824643                    
+V 13  -5823.060880   4187.362750  31390.650606       .009667                    
+P 14 -18193.683915  15207.115150  12004.717130    -31.484753                    
+V 14 -14837.365601   3473.360288 -27031.333119      -.000693                    
+P 15  -7042.858870  14048.637531 -21578.040537    377.813971                    
+V 15 -19775.478562 -18326.571720  -5819.942961       .052849                    
+P 16  -1850.582925  26185.067194  -3822.845719      1.991830                    
+V 16  -3614.944598   4396.911260  31298.097211      -.001541                    
+P 17 -15840.401149 -21380.262918   4657.653613    -93.339798                    
+V 17   5183.155859   2639.561569  30651.677884       .190374                    
+P 18 -15586.464467  10354.019412 -18690.664110   -118.893391                    
+V 18   3590.024853 -23722.142300 -16329.164649      -.037274                    
+P 19  13928.434328  10384.390805 -19983.134068    -11.861950                    
+V 19 -24141.170177   8611.848135 -12320.696268      -.008504                    
+P 20  13317.469508   9168.612053  21003.874110    -90.908468                    
+V 20  -5063.175267  26354.948788  -8248.764237       .027132                    
+P 21 -18859.963047   1047.872712 -18852.801458     87.992864                    
+V 21 -16711.976348 -17000.587672  15335.868801       .010939                    
+P 22 -12502.489819  20715.592210 -10817.904963     16.253536                    
+V 22    681.556880 -14179.703505 -27501.608102       .002371                    
+P 23  22582.890946   1895.877710  13847.905906    211.475510                    
+V 23 -15864.344380   8105.335238  24489.327443       .006002                    
+P 24   5835.885149 -14801.659924  21507.511153     89.413141                    
+V 24  20031.277809  17652.297899   6931.779784       .029066                    
+P 25   -379.889790  17519.913223  20335.880636     84.311611                    
+V 25 -21187.761834 -13365.332372  11366.710551       .007364                    
+P 26 -13393.443458 -10104.413703 -21044.778227    316.901250                    
+V 26  24227.509665  -8882.255270 -10732.274951       .055843                    
+P 27  19595.903890  -1060.469550 -17567.489177    513.355362                    
+V 27  17701.580578  15144.012169  17839.910789       .063490                    
+P 28  12128.775489 -20154.158110 -11787.652926     46.477901                    
+V 28   -139.688585  15666.913934 -26768.244412       .000708                    
+P 29  -8480.285473 -12278.806120 -21719.557978    179.144662                    
+V 29  26138.855114 -10424.131708  -4123.027631      -.189478                    
+P 30 -15703.503559   2008.275088  21064.760117    444.489056                    
+V 30   3147.183762 -27237.415903   4994.482547      -.143264                    
+*  2005  1 19 20 30   .00000000                                                 
+P  1  -5469.957172  16727.434825  20076.035882    383.781348                    
+V  1 -23483.087281   8679.323617 -13785.666200       .019712                    
+P  2  -8774.813502 -19700.993463  15252.317210    -42.739323                    
+V  2  17323.369779  10002.242070  22360.729777       .057309                    
+P  3   1893.666263  16651.320220 -20684.847031     78.022185                    
+V  3 -23470.009508  11621.251093   7514.754444       .030235                    
+P  4   5130.063977 -14961.500102  21290.608051    441.964525                    
+V  4  22010.134645  15833.974291   6156.930708      -.206632                    
+P  5 -13570.801062 -12625.515779  18924.077364     73.116896                    
+V  5   2296.343597 -24336.362310 -14300.928693       .024076                    
+P  6 -24866.188538   5175.303160   8148.892422   -165.547665                    
+V  6   7722.028484  -7276.851315  28752.973325       .882075                    
+P  7  18414.569267 -16932.017395   9111.593197     63.703020                    
+V  7  11372.184190  -2109.541902 -28336.641849      -.302645                    
+P  8  15827.473275  -5790.040836 -20790.160906    -19.029609                    
+V  8  19971.314410  16484.653664  10352.498639      -.011610                    
+P  9 -21839.436400 -15440.350482   -861.579715    -24.822801                    
+V  9   1940.357036  -1962.655599 -31372.064419      -.017828                    
+P 10  -1980.120449 -25274.894874  -7447.918433     57.503354                    
+V 10   3459.781389  -9086.392350  30433.310743       .007080                    
+P 11  23111.703691  13291.395521   -373.967282    186.451894                    
+V 11  -2558.549044   3645.841716 -30313.503735       .036858                    
+P 13  24771.149494  -4775.461051   8139.233396    -13.823963                    
+V 13  -8801.771650   5876.107062  30087.933954       .009664                    
+P 14 -19389.189012  15502.557362   9475.745908    -31.484654                    
+V 14 -11710.426432   3016.158867 -29087.663445      -.000698                    
+P 15  -8881.128521  12433.270786 -21917.658126    377.818203                    
+V 15 -21014.574572 -17504.396472  -1718.277049       .052846                    
+P 16  -2143.853486  26429.966645   -981.116547      1.991721                    
+V 16  -2968.972135   1025.987319  31760.344551      -.001537                    
+P 17 -15259.693893 -21049.876185   7370.698573    -93.322703                    
+V 17   7751.669336   4638.008651  29556.138387       .190410                    
+P 18 -15305.476276   8136.386879 -19993.232189   -118.896643                    
+V 18   2608.012108 -25482.670311 -12575.674979      -.037269                    
+P 19  11723.535557  11233.857848 -20915.272123    -11.862677                    
+V 19 -24767.151949  10258.268267  -8363.366754      -.008500                    
+P 20  12930.072043  11502.648397  20081.842045    -90.905751                    
+V 20  -3556.536630  25423.350174 -12210.970598       .027128                    
+P 21 -20337.833224   -388.043507 -17316.732474     87.993518                    
+V 21 -16050.546172 -14889.448545  18749.052770       .010945                    
+P 22 -12449.471248  19303.504991 -13192.158841     16.253796                    
+V 22    430.769652 -17161.492358 -25182.569531       .002402                    
+P 23  21063.740058   2709.210166  15926.375588    211.476303                    
+V 23 -17817.816409   9991.878512  21631.807313       .006009                    
+P 24   7701.220025 -13244.531635  21948.651063     89.416734                    
+V 24  21360.803492  16884.580229   2858.635326       .029062                    
+P 25  -2358.455852  16339.472877  21186.678923     84.311866                    
+V 25 -22722.846007 -12805.171883   7514.689585       .007353                    
+P 26 -11191.283935 -10984.246591 -21833.795162    316.906133                    
+V 26  24621.775750 -10657.026518  -6774.805303       .055840                    
+P 27  21140.208979    204.141847 -15811.967680    513.361536                    
+V 27  16534.884211  12952.748547  21110.637334       .063491                    
+P 28  12133.175978 -18612.029023 -14085.314644     46.477977                    
+V 28    300.409768  18554.919676 -24215.230846       .000699                    
+P 29  -6141.101276 -13286.805613 -21898.128456    179.127649                    
+V 29  25752.281519 -11941.889643    161.623150      -.189481                    
+P 30 -15478.160718   -467.075470  21327.396460    444.476319                    
+V 30   1844.840358 -27680.711324    833.741279      -.143269                    
+*  2005  1 19 20 45   .00000000                                                 
+P  1  -7491.914275  17535.738226  18668.687594    383.783210                    
+V  1 -21389.777864   9217.448563 -17445.300560       .019723                    
+P  2  -7101.178039 -18779.880290  17125.358996    -42.734086                    
+V  2  19836.755195  10391.147824  19200.012103       .057292                    
+P  3   -156.439818  17724.229426 -19833.569601     78.025305                    
+V  3 -22027.406489  12162.738842  11377.117235       .030233                    
+P  4   7165.249044 -13574.842230  21659.358254    441.946308                    
+V  4  23147.849732  14921.152071   2027.612551      -.206633                    
+P  5 -13416.486434 -14739.976486  17476.700287     73.118900                    
+V  5   1166.738926 -22576.766330 -17815.236674       .024056                    
+P  6 -24061.477747   4438.534401  10660.141221   -165.468070                    
+V  6  10099.650604  -9130.257418  26973.965629       .882040                    
+P  7  19307.424411 -17074.343255   6490.599261     63.675874                    
+V  7   8469.403188   -983.590044 -29825.629733      -.302652                    
+P  8  17615.758334  -4390.823170 -19686.321308    -19.031384                    
+V  8  19686.187305  14582.576989  14141.716657      -.011610                    
+P  9 -21536.716641 -15537.153073  -3669.927709    -24.824616                    
+V  9   4813.519417   -251.786886 -30948.622239      -.017824                    
+P 10  -1703.470674 -25943.039214  -4651.787920     57.504367                    
+V 10   2754.817179  -5728.330549  31612.463598       .007086                    
+P 11  22753.665399  13555.008431  -3091.261449    186.454971                    
+V 11  -5419.449378   2268.701176 -29985.073091       .036859                    
+P 13  23857.940416  -4159.391900  10768.860601    -13.823095                    
+V 13 -11426.644079   7856.957473  28263.637702       .009661                    
+P 14 -20299.647730  15736.315674   6783.905920    -31.484775                    
+V 14  -8519.745880   2102.665782 -30645.330357      -.000703                    
+P 15 -10813.676678  10908.775038 -21886.769259    377.823359                    
+V 15 -21860.593813 -16318.319109   2402.111279       .052842                    
+P 16  -2397.296133  26367.736953   1877.555215      1.991708                    
+V 16  -2732.319895  -2411.782641  31674.216451      -.001534                    
+P 17 -14440.880030 -20557.604801   9963.288573    -93.305892                    
+V 17  10460.638984   6230.866438  27978.482254       .190446                    
+P 18 -15124.196870   5781.605365 -20947.906818   -118.899734                    
+V 18   1387.174617 -26761.529211  -8609.667558      -.037265                    
+P 19   9486.405601  12228.260802 -21484.173813    -11.863456                    
+V 19 -24858.481162  11817.481081  -4260.578711      -.008495                    
+P 20  12674.008871  13729.167308  18812.293513    -90.903471                    
+V 20  -2159.178948  23970.758228 -15960.166809       .027123                    
+P 21 -21734.820291  -1630.134127 -15487.764945     87.994433                    
+V 21 -14914.994524 -12708.498619  21835.999438       .010954                    
+P 22 -12436.232296  17634.804352 -15337.526633     16.254265                    
+V 22   -195.494749 -19867.541913 -22422.434273       .002431                    
+P 23  19390.086795   3697.274776  17730.312165    211.476838                    
+V 23 -19291.782366  11973.504459  18397.212145       .006014                    
+P 24   9669.100056 -11773.369773  22020.791216     89.418733                    
+V 24  22299.768217  15752.786043  -1256.980412       .029059                    
+P 25  -4458.703996  15225.176607  21684.929693     84.312555                    
+V 25 -23881.721204 -11905.598839   3542.886179       .007341                    
+P 26  -8977.156448 -12019.027029 -22260.393706    316.910957                    
+V 26  24495.538671 -12310.159004  -2689.120407       .055836                    
+P 27  22557.854587   1271.433305 -13779.330760    513.367393                    
+V 27  14891.168085  10774.943459  23989.774909       .063492                    
+P 28  12193.469605 -16824.169858 -16133.503953     46.477971                    
+V 28   1093.979442  21113.399197 -21232.815527       .000692                    
+P 29  -3860.668098 -14420.898982 -21690.400496    179.110540                    
+V 29  24839.896085 -13211.689855   4448.435686      -.189484                    
+P 30 -15372.924796  -2957.935954  21214.497713    444.463667                    
+V 30    492.806685 -27580.752336  -3338.195845      -.143274                    
+*  2005  1 19 21  0   .00000000                                                 
+P  1  -9310.606478  18374.026506  16944.610552    383.785687                    
+V  1 -18979.773960   9337.802853 -20814.115599       .019735                    
+P  2  -5211.321420 -17843.881443  18697.933637    -42.728994                    
+V  2  22112.891458  10337.498709  15693.332493       .057275                    
+P  3  -2061.368890  18829.313692 -18642.528042     78.029050                    
+V  3 -20255.223080  12328.042811  15054.163875       .030232                    
+P  4   9283.549140 -12285.341337  21654.873648    441.928221                    
+V  4  23848.476106  13687.065353  -2125.211888      -.206634                    
+P  5 -13353.633133 -16676.695854  15726.810384     73.119619                    
+V  5    275.264657 -20396.382092 -21013.896625       .024037                    
+P  6 -23059.963463   3526.754111  12990.564246   -165.388419                    
+V  6  12087.374015 -11153.464896  24740.466763       .882006                    
+P  7  19940.470879 -17096.814225   3758.168092     63.648732                    
+V  7   5613.497275    550.078176 -30808.621440      -.302660                    
+P  8  19356.015799  -3168.584135 -18251.955600    -19.033575                    
+V  8  18902.606995  12566.995988  17687.615217      -.011610                    
+P  9 -20969.457999 -15497.607480  -6416.887255    -24.827719                    
+V  9   7804.675601   1061.810451 -30010.622892      -.017820                    
+P 10  -1471.781357 -26301.569205  -1774.249820     57.504168                    
+V 10   2464.949658  -2222.952555  32239.453316       .007093                    
+P 11  22133.541076  13710.371680  -5755.971255    186.458167                    
+V 11  -8368.913571   1244.703377 -29146.613104       .036862                    
+P 13  22727.031089  -3354.744309  13211.974474    -13.822299                    
+V 13 -13629.481253  10052.916106  25949.172479       .009658                    
+P 14 -20923.841245  15867.626662   3975.380666    -31.484802                    
+V 14  -5365.561667    742.792268 -31676.817819      -.000708                    
+P 15 -12802.647354   9504.734346 -21486.762546    377.827279                    
+V 15 -22260.853244 -14840.505330   6473.067751       .052839                    
+P 16  -2648.133267  25996.811187   4703.855965      1.991499                    
+V 16  -2910.448895  -5817.410851  31042.196952      -.001531                    
+P 17 -13375.125732 -19941.368001  12393.097890    -93.288678                    
+V 17  13224.577922   7389.351617  25943.448677       .190483                    
+P 18 -15060.506144   3335.023205 -21538.702382   -118.902918                    
+V 18      9.173040 -27517.269704  -4501.392440      -.037264                    
+P 19   7264.591497  13355.703805 -21679.967585    -11.864260                    
+V 19 -24431.002235  13200.198300    -84.206134      -.008490                    
+P 20  12535.615046  15802.921461  17217.356155    -90.900920                    
+V 20   -955.012528  22036.601918 -19431.389425       .027118                    
+P 21 -23008.626420  -2676.190557 -13397.525837     87.995573                    
+V 21 -13316.482363 -10547.998798  24547.385497       .010962                    
+P 22 -12494.453565  15738.123223 -17216.367982     16.254635                    
+V 22  -1147.711548 -22214.792657 -19268.237482       .002459                    
+P 23  17606.422522   4864.567178  19228.204843    211.477534                    
+V 23 -20259.591994  13959.242120  14840.516810       .006019                    
+P 24  11701.801378 -10417.838426  21723.142559     89.421630                    
+V 24  22793.333314  14327.689950  -5347.688823       .029056                    
+P 25  -6644.242118  14204.669336  21822.723012     84.312682                    
+V 25 -24610.270574 -10732.863486   -484.738856       .007329                    
+P 26  -6797.083980 -13193.710020 -22315.933604    316.915989                    
+V 26  23869.965551 -13751.309456   1459.929922       .055833                    
+P 27  23807.316487   2146.807951 -11506.918230    513.373168                    
+V 27  12804.569242   8702.748479  26432.213521       .063494                    
+P 28  12338.972120 -14823.879960 -17895.963055     46.478082                    
+V 28   2183.088295  23263.608094 -17875.363554       .000684                    
+P 29  -1684.243924 -15654.995418 -21099.673845    179.093383                    
+V 29  23450.609393 -14151.415083   8659.825920      -.189488                    
+P 30 -15388.298931  -5415.345843  20728.436246    444.450766                    
+V 30   -820.741105 -26939.266345  -7446.351207      -.143279                    
+*  2005  1 19 21 15   .00000000                                                 
+P  1 -10901.364143  19202.828946  14932.599810    383.788547                    
+V  1 -16339.678198   9001.619914 -23834.667943       .019745                    
+P  2  -3130.636607 -16931.357693  19941.611308    -42.723939                    
+V  2  24063.394620   9876.825694  11901.927648       .057259                    
+P  3  -3794.678735  19930.716528 -17131.302939     78.032125                    
+V  3 -18226.592419  12075.190669  18481.908900       .030230                    
+P  4  11443.525755 -11118.484515  21278.257644    441.909820                    
+V  4  24068.028383  12209.424159  -6230.176027      -.206636                    
+P  5 -13357.907321 -18400.658815  13705.296712     73.122184                    
+V  5   -315.611372 -17860.837139 -23842.864836       .024018                    
+P  6 -21898.682904   2428.177304  15100.939919   -165.308667                    
+V  6  13644.560029 -13267.598350  22091.009312       .881971                    
+P  7  20321.880326 -16964.028645    960.902293     63.621732                    
+V  7   2891.599601   2459.862560 -31263.419910      -.302668                    
+P  8  21003.265363  -2129.418812 -16511.571827    -19.035814                    
+V  8  17620.874263  10529.536901  20932.967355      -.011609                    
+P  9 -20130.967010 -15358.695739  -9057.001097    -24.830826                    
+V  9  10826.034269   1953.715264 -28578.241200      -.017815                    
+P 10  -1246.820692 -26341.852251   1134.367439     57.505611                    
+V 10   2606.388823   1326.316788  32301.909822       .007099                    
+P 11  21247.133661  13790.224535  -8322.764851    186.461492                    
+V 11 -11322.562888    592.480359 -27812.190153       .036866                    
+P 13  21418.869147  -2346.036607  15426.201832    -13.821534                    
+V 13 -15358.419011  12376.297872  23184.644858       .009657                    
+P 14 -21269.472385  15857.471221   1098.429426    -31.484879                    
+V 14  -2345.270244  -1034.710205 -32163.588912      -.000712                    
+P 15 -14806.119681   8243.800408 -20725.105874    377.832637                    
+V 15 -22177.981364 -13152.337966  10427.810816       .052835                    
+P 16  -2933.252900  25324.507042   7449.122774      1.991356                    
+V 16  -3490.504311  -9093.065825  29876.228418      -.001527                    
+P 17 -12061.485005 -19240.939231  14620.314037    -93.271294                    
+V 17  15954.181948   8101.142930  23482.100776       .190519                    
+P 18 -15124.624903    844.902477 -21756.057103   -118.906681                    
+V 18  -1438.044721 -27726.781370   -323.126103      -.037261                    
+P 19   5103.380497  14596.484517 -21499.318230    -11.864845                    
+V 19 -23518.907818  14322.824217   4092.595878      -.008486                    
+P 20  12494.045608  17682.979989  15324.787254    -90.898448                    
+V 20    -19.142473  19677.068463 -22564.682413       .027113                    
+P 21 -24118.723986  -3532.001995 -11081.796359     87.996458                    
+V 21 -11283.065339  -8494.868891  26840.308684       .010970                    
+P 22 -12650.693497  13649.050820 -18795.612673     16.255143                    
+V 22  -2361.963220 -24132.224740 -15774.359064       .002484                    
+P 23  15758.806200   6207.258878  20393.763925    211.478237                    
+V 23 -20713.164789  15855.692913  11022.609933       .006022                    
+P 24  13757.326723  -9200.782324  21060.958406     89.423753                    
+V 24  22801.669065  12689.573760  -9346.745759       .029053                    
+P 25  -8874.422838  13299.198683  21597.939764     84.312969                    
+V 25 -24868.333656  -9362.428479  -4503.596398       .007318                    
+P 26  -4694.414793 -14485.362829 -21997.714197    316.920800                    
+V 26  22783.178034 -14896.098466   5605.336886       .055830                    
+P 27  24850.887250   2843.640540  -9035.723572    513.379155                    
+V 27  10325.446464   6820.599437  28401.918824       .063495                    
+P 28  12593.164264 -12650.910060 -19341.657171     46.477929                    
+V 28   3496.471529  24941.402041 -14204.368345       .000677                    
+P 29    348.097082 -16956.140750 -20136.188523    179.076476                    
+V 29  21650.310464 -14691.215028  12719.417419      -.189491                    
+P 30 -15516.912778  -7791.366741  19878.273843    444.438228                    
+V 30  -2009.631549 -25777.152360 -11417.297282      -.143284                    
+*  2005  1 19 21 30   .00000000                                                 
+P  1 -12247.648151  19979.969614  12666.388057    383.793715                    
+V  1 -13563.009635   8187.780160 -26454.830865       .019754                    
+P  2   -892.038167 -16076.718690  20833.749408    -42.718775                    
+V  2  25610.082595   9061.098554   7892.965633       .057243                    
+P  3  -5336.891926  20989.497075 -15325.079719     78.035444                    
+V  3 -16022.664895  11377.882247  21599.975598       .030228                    
+P  4  13600.530400 -10092.393184  20536.973919    441.891700                    
+V  4  23779.377048  10573.640498 -10217.502727      -.206638                    
+P  5 -13399.934192 -19883.300264  11447.607474     73.124037                    
+V  5   -556.703865 -15047.370267 -26255.000910       .024000                    
+P  6 -20617.608347   1138.385379  16955.812260   -165.229329                    
+V  6  14746.791052 -15388.352252  19070.623125       .881937                    
+P  7  20467.425031 -16644.188679  -1852.992904     63.594471                    
+V  7    384.930053   4697.472653 -31176.721887      -.302676                    
+P  8  22513.349826  -1271.209690 -14494.613200    -19.035515                    
+V  8  15858.933601   8560.511225  23825.447289      -.011607                    
+P  9 -19022.552388 -15158.821052 -11546.948252    -24.832737                    
+V  9  13788.087016   2416.796091 -26678.676026      -.017809                    
+P 10   -989.767444 -26064.672664   4023.088576     57.506582                    
+V 10   3175.966421   4814.316912  31797.864650       .007105                    
+P 11  20097.933832  13828.268653 -10747.945704    186.464640                    
+V 11 -14194.456020    314.733032 -26004.031844       .036870                    
+P 13  19977.761091  -1126.031977  17373.144274    -13.820544                    
+V 13 -16579.827710  14732.171973  20018.144590       .009656                    
+P 14 -21352.743368  15670.232206  -1797.438929    -31.484978                    
+V 14    450.245678  -3183.215174 -32096.461320      -.000717                    
+P 15 -16779.551876   7141.002900 -19615.180703    377.836164                    
+V 15 -21591.286195 -11341.269827  14201.859237       .052832                    
+P 16  -3287.581038  24366.757825  10066.183242      1.991125                    
+V 16  -4441.896876 -12145.715188  28197.431021      -.001523                    
+P 17 -10507.108303 -18496.445444  16608.193840    -93.254319                    
+V 17  18559.342597   8370.717779  20631.531565       .190555                    
+P 18 -15318.711813  -1639.271646 -21596.954668   -118.909696                    
+V 18  -2863.884900 -27386.059925   3852.176453      -.037258                    
+P 19   3044.208072  15923.762634 -20945.481737    -11.865656                    
+V 19 -22173.303768  15110.877118   8196.735938      -.008482                    
+P 20  12522.207956  19334.144983  13167.475086    -90.896128                    
+V 20    585.169495  16962.963439 -25306.145000       .027108                    
+P 21 -25027.834578  -4210.909875  -8579.911045     87.997504                    
+V 21  -8858.675353  -6629.506340  28678.782597       .010978                    
+P 22 -12925.205203  11408.920142 -20047.380457     16.255496                    
+V 22  -3762.524988 -25563.637382 -12001.581687       .002508                    
+P 23  13893.175743   7713.145096  21206.407800    211.478921                    
+V 23 -20663.254082  17570.736662   7009.268768       .006023                    
+P 24  15790.828015  -8137.506360  20045.436614     89.426569                    
+V 24  22301.457884  10925.178832 -13188.942728       .029050                    
+P 25 -11105.669073  12522.911261  21014.271911     84.312510                    
+V 25 -24631.168377  -7876.139525  -8449.274054       .007307                    
+P 26  -2708.345828 -15863.850837 -21309.131501    316.925562                    
+V 26  21289.057684 -15669.395791   9678.776645       .055827                    
+P 27  25656.041175   3382.439283  -6409.567700    513.384756                    
+V 27   7518.182510   5202.107477  29872.102573       .063496                    
+P 28  12972.626742 -10350.029873 -20445.357403     46.477868                    
+V 28   4952.614185  26099.753441 -10287.122545       .000672                    
+P 29   2202.875250 -18285.762149 -18816.944248    179.059159                    
+V 29  19519.147209 -14776.536283  16553.632699      -.189494                    
+P 30 -15743.867599 -10040.772521  18679.556208    444.425388                    
+V 30  -2993.325485 -24133.568405 -15180.609380      -.143289                    
+*  2005  1 19 21 45   .00000000                                                 
+P  1 -13341.518450  20662.207736  10184.126010    383.797280                    
+V  1 -10746.746342   6893.858304 -28628.698734       .019762                    
+P  2   1465.106395 -15309.035405  21357.969794    -42.713538                    
+V  2  26688.244373   7956.570083   3738.261286       .057227                    
+P  3  -6676.080536  21965.104245 -13254.272893     78.038634                    
+V  3 -13729.519274  10226.801787  24352.724626       .030225                    
+P  4  15708.270435  -9217.283970  19444.651819    441.873069                    
+V  4  22973.220573   8869.376426 -14020.135560      -.206640                    
+P  5 -13446.584196 -21103.418529   8993.095890     73.126275                    
+V  5   -414.029316 -12041.849537 -28210.771196       .023981                    
+P  6 -19258.151159   -339.326878  18524.042936   -165.150054                    
+V  6  15386.570553 -17429.161238  15730.098083       .881902                    
+P  7  20399.800098 -16110.539538  -4634.538640     63.567230                    
+V  7  -1834.404433   7199.440382 -30544.727631      -.302684                    
+P  8  23844.501508   -583.895750 -12234.986199    -19.036507                    
+V  8  13651.794513   6745.587068  26318.304088      -.011606                    
+P  9 -17653.538494 -14936.252212 -13846.149438    -24.833406                    
+V  9  16602.718300   2461.109358 -24345.540185      -.017803                    
+P 10   -662.958022 -25480.203883   6841.233828     57.508523                    
+V 10   4151.205053   8138.241231  30735.850330       .007111                    
+P 11  18697.120154  13857.728860 -12990.172848    186.467780                    
+V 11 -16900.212399    398.211015 -23752.190927       .036876                    
+P 13  18450.172413    303.776102  19019.058763    -13.819921                    
+V 13 -17279.493240  17022.103384  16504.878216       .009655                    
+P 14 -21197.612904  15275.233094  -4662.318758    -31.485058                    
+V 14   2940.046167  -5639.891860 -31475.822186      -.000721                    
+P 15 -18677.321683   6203.351815 -18176.035391    377.840031                    
+V 15 -20497.526947  -9497.500708  17733.903867       .052830                    
+P 16  -3742.537935  23147.523783  12510.162905      1.991184                    
+V 16  -5717.578018 -14890.563724  26035.664346      -.001520                    
+P 17  -8727.177299 -17746.860057  18323.592006    -93.236491                    
+V 17  20952.206246   8219.155388  17434.545289       .190591                    
+P 18 -15636.792175  -4068.516751 -21064.925530   -118.913039                    
+V 18  -4178.815268 -26510.222229   7952.203129      -.037256                    
+P 19   1123.225442  17304.520990 -20028.239162    -11.866413                    
+V 19 -20460.111449  15502.047856  12156.525036      -.008479                    
+P 20  12587.946845  20728.149506  10782.851212    -90.893658                    
+V 20    809.062520  13977.011996 -27608.859772       .027104                    
+P 21 -25703.291229  -4733.087682  -5934.116747     87.998753                    
+V 21  -6101.553149  -5022.880862  30034.133960       .010985                    
+P 22 -13331.009422   9063.370181 -20949.509263     16.255747                    
+V 22  -5264.952486 -26469.857692  -8016.000258       .002531                    
+P 23  12053.668658   9361.926574  21651.652605    211.479493                    
+V 23 -20138.975901  19017.222183   2870.024121       .006025                    
+P 24  17756.138782  -7235.339693  18693.541661     89.428330                    
+V 24  21286.825328   9124.447171 -16811.485751       .029047                    
+P 25 -13292.908360  11882.413697  20081.170549     84.312800                    
+V 25 -23890.399756  -6359.187341 -12258.336862       .007297                    
+P 26   -872.580076 -17292.809738 -20259.754752    316.930543                    
+V 26  19455.466852 -16008.378943  13611.556938       .055824                    
+P 27  26196.580112   3789.752296  -3674.267415    513.390761                    
+V 27   4458.534558   3907.506224  30825.176115       .063497                    
+P 28  13486.273133  -7969.401569 -21188.097923     46.477837                    
+V 28   6463.263297  26710.533228  -6195.262134       .000668                    
+P 29   3854.343290 -19601.157576 -17165.379013    179.042090                    
+V 29  17148.206472 -14370.510178  20093.224196      -.189497                    
+P 30 -16047.396958 -12122.623630  17153.980910    444.412438                    
+V 30  -3700.276522 -22064.280908 -18670.219768      -.143294                    
+*  2005  1 19 22  0   .00000000                                                 
+P  1 -14183.783363  21206.941626   7527.784055    383.799992                    
+V  1  -7987.709402   5136.482228 -30317.430174       .019768                    
+P  2   3896.317022 -14650.875641  21504.513569    -42.708286                    
+V  2  27249.385252   6640.991468   -487.154729       .057210                    
+P  3  -7808.161654  22816.940459 -10954.050222     78.041470                    
+V  3 -11434.844939   8630.286978  26690.344620       .030222                    
+P  4  17720.431882  -8495.245884  18020.793983    441.854642                    
+V  4  21658.378358   7186.989784 -17574.778370      -.206641                    
+P  5 -13462.404571 -22047.806512   6384.309877     73.128098                    
+V  5    129.892747  -8935.501748 -29678.793605       .023963                    
+P  6 -17861.630432  -1993.893672  19779.294285   -165.070631                    
+V  6  15573.408586 -19304.441944  12125.189029       .881868                    
+P  7  20147.669490 -15342.642152  -7334.859032     63.540221                    
+V  7  -3706.324078   9889.300846 -29373.583107      -.302692                    
+P  8  24958.829850    -50.033728  -9770.530868    -19.036187                    
+V  8  11050.363885   5162.642300  28370.972816      -.011606                    
+P  9 -16041.004678 -14727.602871 -15917.315339    -24.834610                    
+V  9  19186.202212   2113.224107 -21618.243559      -.017798                    
+P 10   -231.590651 -24607.615075   9539.359664     57.509871                    
+V 10   5491.199428  11201.642433  29134.763518       .007116                    
+P 11  17063.279407  13909.939122 -15011.145766    186.471171                    
+V 11 -19360.088455    814.291219 -21094.096080       .036883                    
+P 13  16882.955752   1933.023028  20335.454000    -13.818882                    
+V 13 -17463.029875  19148.043756  12706.167227       .009655                    
+P 14 -20834.760771  14648.096713  -7446.772272    -31.485206                    
+V 14   5056.184186  -8328.021144 -30311.674509      -.000725                    
+P 15 -20454.308724   5429.742584 -16432.062564    377.844625                    
+V 15 -18911.072382  -7710.590609  20966.623777       .052828                    
+P 16  -4324.638318  21697.908175  14739.246575      1.991059                    
+V 16  -7255.952610 -17254.155749  23428.944189      -.001517                    
+P 17  -6744.565333 -17028.537740  19737.459516    -93.218667                    
+V 17  23050.196877   7683.404609  13939.303275       .190627                    
+P 18 -16065.017711  -6396.046942 -20169.931471   -118.916572                    
+V 18  -5297.989021 -25132.782518  11906.553437      -.037254                    
+P 19   -629.917463  18700.780896 -18763.711357    -11.867186                    
+V 19 -18457.394620  15448.771888  15902.980845      -.008475                    
+P 20  12655.434127  21844.591597   8212.225267    -90.891358                    
+V 20    620.054356  10810.710423 -29433.684776       .027100                    
+P 21 -26118.237126  -5124.575161  -3188.900020     87.999925                    
+V 21  -3082.193011  -3733.995791  30885.308404       .010989                    
+P 22 -13873.263398   6660.738774 -21485.979379     16.255976                    
+V 22  -6779.547666 -26830.281178  -3887.804604       .002554                    
+P 23  10281.017862  11125.817276  21721.395483    211.480068                    
+V 23 -19186.614073  20116.494330  -1323.065304       .006025                    
+P 24  19607.363450  -6493.498705  17027.748619     89.430500                    
+V 24  19769.669710   7377.156721 -20154.852027       .029045                    
+P 25 -15391.068316  11376.613012  18813.721906     84.312732                    
+V 25 -22654.425821  -4896.952963 -15869.128382       .007287                    
+P 26    785.830724 -18730.878424 -18865.313020    316.935711                    
+V 26  17361.916417 -15865.247988  17335.668814       .055821                    
+P 27  26453.525397   4096.871756   -876.816390    513.396675                    
+V 27   1230.663476   2981.716711  31252.524878       .063498                    
+P 28  14134.912139  -5558.828825 -21557.498215     46.477909                    
+V 28   7937.206319  26765.485435  -2003.231673       .000664                    
+P 29   5285.303844 -20857.167023 -15210.914326    179.025282                    
+V 29  14635.742434 -13455.589814  23274.698785      -.189500                    
+P 30 -16399.812448 -14001.662601  15328.949139    444.399490                    
+V 30  -4070.883065 -19639.358491 -21825.640383      -.143299                    
+*  2005  1 19 22 15   .00000000                                                 
+P  1 -14783.821150  21573.912817   4742.481416    383.802127                    
+V  1  -5378.917963   2950.975906 -31490.012222       .019775                    
+P  2   6353.559935 -14117.414220  21270.461891    -42.703180                    
+V  2  27263.315939   5200.314997  -4706.575069       .057193                    
+P  3  -8736.888683  23505.954890  -8463.761477     78.042965                    
+V  3  -9224.521198   6614.310934  28569.877402       .030220                    
+P  4  19592.298123  -7920.336946  16290.394894    441.836247                    
+V  4  19861.409409   5614.011618 -20822.834095      -.206643                    
+P  5 -13411.138657 -22711.580390   3666.239849     73.130470                    
+V  5   1075.394199  -5821.484385 -30636.223700       .023944                    
+P  6 -16467.761520  -3806.711361  20700.438509   -164.991408                    
+V  6  15333.295965 -20932.794343   8315.771473       .881833                    
+P  7  19744.467803 -14327.421713  -9906.088698     63.512923                    
+V  7  -5185.267552  12680.379134 -27679.619163      -.302700                    
+P  8  25823.678846    354.369382  -7142.438889    -19.037275                    
+V  8   8119.728949   3878.899998  29949.623958      -.011606                    
+P  9 -14209.262114 -14566.395501 -17726.941487    -24.835804                    
+V  9  21462.006007   1415.016601 -18541.377235      -.017793                    
+P 10    334.685125 -23474.327630  12070.176566     57.509881                    
+V 10   7138.274437  13918.179121  27023.493504       .007121                    
+P 11  15221.856342  14013.006895 -16776.243891    186.474250                    
+V 11 -21501.895950   1520.136048 -18073.993343       .036891                    
+P 13  15321.577171   3742.683285  21299.591312    -13.818117                    
+V 13 -17155.509406  21016.215052   8688.332040       .009654                    
+P 14 -20300.299565  13771.869632 -10102.690571    -31.485467                    
+V 14   6746.254793 -11159.870327 -28623.510538      -.000728                    
+P 15 -22067.463486   4811.164686 -14412.605510    377.848839                    
+V 15 -16863.446941  -6066.120453  23847.447491       .052826                    
+P 16  -5054.289531  20055.013644  16715.381232      1.991012                    
+V 16  -8983.349333 -19177.026105  20422.729780      -.001515                    
+P 17  -4589.230608 -16373.838905  20825.308030    -93.200525                    
+V 17  24778.918219   6815.024990  10198.920543       .190662                    
+P 18 -16582.243390  -8578.869704 -18928.139203   -118.919675                    
+V 18  -6144.643557 -23304.232454  15647.932198      -.037251                    
+P 19  -2193.026631  20071.023128 -17174.058880    -11.867890                    
+V 19 -16252.221505  14920.211956  19371.070756      -.008471                    
+P 20  12686.707495  22671.569360   5500.055061    -90.888797                    
+V 20      3.364463   7560.854429 -30749.896696       .027096                    
+P 21 -26252.620106  -5416.103505   -390.290916     88.000789                    
+V 21    119.126736  -2807.793710  31219.090157       .010994                    
+P 22 -14548.953428   4250.349615 -21647.223340     16.256307                    
+V 22  -8215.060525 -26643.673967    310.038284       .002576                    
+P 23   8611.086163  12970.456737  21414.084303    211.480725                    
+V 23 -17867.742914  20801.613522  -5496.706535       .006026                    
+P 24  21300.468704  -5903.253496  15075.711057     89.433358                    
+V 24  17779.377679   5769.559314 -23163.623599       .029043                    
+P 25 -17356.583526  10996.842614  17232.451079     84.312836                    
+V 25 -20948.264287  -3571.832080 -19222.576017       .007278                    
+P 26   2247.410498 -20133.156335 -17147.582565    316.940783                    
+V 26  15096.733581 -15209.479582  20784.939137       .055819                    
+P 27  26415.732842   4338.392955   1935.406960    513.402543                    
+V 27  -2076.028588   2453.060467  31154.143176       .063500                    
+P 28  14911.155396  -3167.955823 -21547.945487     46.477848                    
+V 28   9284.142511  26276.363043   2213.280302       .000661                    
+P 29   6487.573615 -22007.954471 -12988.378622    179.008387                    
+V 29  12083.124043 -12034.364435  26041.593924      -.189503                    
+P 30 -16768.692179 -15649.476544  13237.014346    444.386334                    
+V 30  -4059.912994 -16940.320174 -24593.027870      -.143304                    
+*  2005  1 19 22 30   .00000000                                                 
+P  1 -15159.077284  21726.845649   1875.750817    383.803634                    
+V  1  -3006.050662    390.283901 -32123.926148       .019781                    
+P  2   8786.960980 -13715.857677  20659.815044    -42.697956                    
+V  2  26719.482829   3725.028098  -8843.218742       .057175                    
+P  3  -9473.535206  23996.203435  -5826.278943     78.045539                    
+V  3  -7179.229216   4221.759916  29956.148626       .030218                    
+P  4  21282.304940  -7478.991600  14283.479682    441.818124                    
+V  4  17625.585357   4231.782779 -23711.237393      -.206645                    
+P  5 -13257.273297 -23098.197697    885.538798     73.129577                    
+V  5   2405.679816  -2791.432779 -31068.985656       .023927                    
+P  6 -15113.218657  -5752.153799  21271.888940   -164.912011                    
+V  6  14707.589349 -22240.053310   4364.955211       .881799                    
+P  7  19227.001698 -13059.941593 -12302.291488     63.485820                    
+V  7  -6242.132992  15479.087424 -25489.356711      -.302708                    
+P  8  26412.807220    658.782219  -4394.625011    -19.038270                    
+V  8   4936.945656   2948.438686  31027.650302      -.011606                    
+P  9 -12189.090036 -14481.756485 -19245.746935    -24.837247                    
+V  9  23363.322322    421.984549 -15164.104475      -.017788                    
+P 10   1060.360560 -22114.952266  14389.423177     57.511334                    
+V 10   9020.348273  16214.941149  24440.326284       .007125                    
+P 11  13204.351892  14190.606389 -18255.111085    186.477663                    
+V 11 -23263.656305   2460.391848 -14742.282684       .036899                    
+P 13  13808.410570   5705.623983  21894.880852    -13.817143                    
+V 13 -16400.323375  22540.829849   4521.485443       .009653                    
+P 14 -19634.283520  12637.866718 -12584.135457    -31.485683                    
+V 14   7975.340246 -14040.016924 -26440.011377      -.000728                    
+P 15 -23477.308524   4331.204597 -12151.498518    377.853772                    
+V 15 -14402.283057  -4642.508483  26329.259861       .052825                    
+P 16  -5944.833419  18260.584007  18404.909562      1.990885                    
+V 16 -10816.948631 -20615.803335  17069.098113      -.001513                    
+P 17  -2297.356831 -15809.890496  21567.635192    -93.183310                    
+V 17  26074.849571   5678.421426   6270.997249       .190698                    
+P 18 -17160.895140 -10579.226119 -17361.590613   -118.922958                    
+V 18  -6653.145888 -21089.993539  19113.250016      -.037251                    
+P 19  -3552.020056  21371.757809 -15287.073728    -11.868607                    
+V 19 -13937.191039  13903.573672  22500.868653      -.008467                    
+P 20  12643.296936  23205.994209   2693.165871    -90.886643                    
+V 20  -1037.465504   4325.882190 -31535.675755       .027093                    
+P 21 -26093.949373  -5641.754474   2414.849302     88.001667                    
+V 21   3415.143359  -2273.569704  31030.239815       .011000                    
+P 22 -15346.925406   1880.761865 -21430.313819     16.256507                    
+V 22  -9482.472048 -25928.198400   4503.172270       .002598                    
+P 23   7073.597883  14856.093268  20734.768829    211.481355                    
+V 23 -16256.737701  21020.134116  -9577.708546       .006025                    
+P 24  22794.821723  -5448.392725  12869.855022     89.435611                    
+V 24  15361.930180   4381.130737 -25787.295705       .029040                    
+P 25 -19148.863323  10727.271359  15363.053016     84.314543                    
+V 25 -18812.837250  -2460.136487 -22263.002557       .007269                    
+P 26   3500.908644 -21452.838699 -15134.166379    316.945492                    
+V 26  12753.806585 -14029.508158  23896.271341       .055816                    
+P 27  26080.219121   4550.686892   4715.393898    513.408172                    
+V 27  -5370.129366   2332.623812  30538.167262       .063501                    
+P 28  15799.671367   -844.491544 -21160.636705     46.477785                    
+V 28  10418.473829  25274.234899   6378.888323       .000659                    
+P 29   7462.076954 -23008.824781 -10537.323874    178.991506                    
+V 29   9590.684477 -10129.519847  28345.569812      -.189506                    
+P 30 -17118.260195 -17045.383280  10915.242863    444.373310                    
+V 30  -3638.309378 -14056.868982 -26926.071918      -.143309                    
+*  2005  1 19 22 45   .00000000                                                 
+P  1 -15334.253173  21634.958539  -1023.251587    383.805144                    
+V  1   -944.149864  -2476.798213 -32205.694719       .019787                    
+P  2  11146.601898 -13445.209380  19683.426160    -42.692776                    
+V  2  25627.472756   2306.283175 -12821.849643       .057157                    
+P  3 -10036.280622  24256.312321  -3087.259551     78.049254                    
+V  3  -5371.236176   1511.018919  30822.574128       .030216                    
+P  4  22753.475856  -7150.719224  12034.572870    441.799440                    
+V  4  15009.267615   3112.366960 -26193.178569      -.206648                    
+P  5 -12967.554698 -23219.168394  -1910.271682     73.131912                    
+V  5   4087.501828     67.888348 -30971.854687       .023910                    
+P  6 -13830.322969  -7798.351661  21483.849863   -164.832256                    
+V  6  13751.347536 -23162.086744    338.161857       .881764                    
+P  7  18633.905566 -11543.862237 -14480.368228     63.458683                    
+V  7  -6865.559942  18188.604896 -22839.254414      -.302716                    
+P  8  26707.349838    896.870877  -1573.057562    -19.039245                    
+V  8   1588.401429   2410.159830  31586.088461      -.011606                    
+P  9 -10016.758901 -14497.282032 -20449.058574    -24.838152                    
+V  9  24835.266442   -798.859521 -11539.558485      -.017783                    
+P 10   1962.900428 -20569.951239  16456.677370     57.512244                    
+V 10  11053.896153  18035.211088  21432.142419       .007130                    
+P 11  11047.298096  14460.946886 -19422.175880    186.481222                    
+V 11 -24595.892993   3569.369047 -11154.755057       .036906                    
+P 13  12381.167303   7787.480252  22111.166072    -13.816295                    
+V 13 -15257.326692  23647.499491    278.260826       .009652                    
+P 14 -18879.072538  11246.201125 -14848.146489    -31.485640                    
+V 14   8727.271173 -16868.992680 -23798.575843      -.000729                    
+P 15 -24649.319918   3966.824361  -9686.546036    377.858352                    
+V 15 -11589.714744  -3508.085347  28371.054260       .052823                    
+P 16  -7001.868026  16359.484277  19779.124753      1.990858                    
+V 16 -12668.052482 -21544.691034  13425.822848      -.001512                    
+P 17     89.736245 -15357.527246  21950.304186    -93.166100                    
+V 17  26887.748885   4348.605768   2217.067903       .190733                    
+P 18 -17768.091528 -12365.821892 -15497.778700   -118.926521                    
+V 18  -6771.574204 -18567.832348  22244.616447      -.037249                    
+P 19  -4701.261345  22559.180712 -13135.671696    -11.869372                    
+V 19 -11606.764906  12404.704460  25238.603075      -.008464                    
+P 20  12487.874583  23453.572025   -160.066561    -90.884196                    
+V 20  -2480.673349   1202.176019 -31778.426608       .027092                    
+P 21 -25637.788830  -5837.501413   5179.549241     88.002357                    
+V 21   6714.647217  -2143.940351  30321.552786       .011007                    
+P 22 -16248.253499   -401.947307 -20839.024662     16.256844                    
+V 22 -10498.698687 -24720.657523   8617.277401       .002620                    
+P 23   5691.118552  16738.992883  19695.030749    211.481919                    
+V 23 -14437.769617  20736.324397 -13494.333461       .006024                    
+P 24  24054.621269  -5105.971840  10446.901578     89.439797                    
+V 24  12578.420640   3281.541131 -27981.055213       .029038                    
+P 25 -20731.670281  10545.584298  13236.050196     84.313014                    
+V 25 -16303.705660  -1629.171795 -24938.943254       .007259                    
+P 26   4543.641534 -22642.973455 -12858.158859    316.950759                    
+V 26  10429.007655 -12333.733133  26610.952532       .055813                    
+P 27  25452.198448   4770.344261   7417.214634    513.414094                    
+V 27  -8561.406986   2614.253898  29420.345836       .063502                    
+P 28  16777.770571   1367.467938 -20403.483840     46.477749                    
+V 28  11262.850998  23808.012341  10419.996036       .000658                    
+P 29   8218.568462 -23817.998834  -7901.253248    178.974866                    
+V 29   7253.657973  -7782.955302  30147.289973      -.189509                    
+P 30 -17410.898153 -18177.010222   8404.502990    444.360332                    
+V 30  -2794.315985 -11083.355573 -28786.695320      -.143314                    
+*  2005  1 19 23  0   .00000000                                                 
+P  1 -15340.214173  21274.286599  -3904.579439    383.805869                    
+V  1    745.298963  -5568.035543 -31731.290599       .019794                    
+P  2  13384.323738 -13296.385561  18358.790450    -42.687726                    
+V  2  24016.665972   1031.999329 -16570.360621       .057140                    
+P  3 -10449.319291  24260.784758   -294.341113     78.053097                    
+V  3  -3861.489182  -1446.092044  31151.813244       .030213                    
+P  4  23974.687106  -6909.064083   9582.106885    441.780632                    
+V  4  12083.756901   2315.843988 -28228.718526      -.206650                    
+P  5 -12512.415537 -23093.473864  -4673.596411     73.133384                    
+V  5   6072.450075   2677.707746 -30348.399767       .023894                    
+P  6 -12645.902839  -9908.208578  21332.481898   -164.752854                    
+V  6  12531.176149 -23647.244600  -3697.828442       .881730                    
+P  7  18004.014682  -9791.557346 -16400.929626     63.431634                    
+V  7  -7062.470017  20712.785773 -19775.185380      -.302724                    
+P  8  26696.525643   1105.061065   1274.945845    -19.038961                    
+V  8  -1833.165612   2286.283269  31613.970070      -.011606                    
+P  9  -7732.872926 -14630.110226 -21317.141450    -24.839774                    
+V  9  25836.683198  -2171.450653  -7724.242722      -.017779                    
+P 10   3051.864656 -18884.081852  18236.086764     57.513130                    
+V 10  13147.383104  19340.546533  18053.433848       .007134                    
+P 11   8791.046268  14835.956133 -20257.098823    186.484496                    
+V 11 -25463.475631   4773.627738  -7371.736448       .036912                    
+P 13  11071.522418   9947.818180  21944.891784    -13.815384                    
+V 13 -13800.339983  24276.194731  -3967.498632       .009651                    
+P 14 -18077.615581   9605.977211 -16855.498199    -31.485778                    
+V 14   9005.151021 -19547.105053 -20744.685622      -.000730                    
+P 15 -25555.140856   3689.388146  -7058.945670    377.861501                    
+V 15  -8500.263360  -2718.523519  29938.528294       .052822                    
+P 16  -8222.874236  14398.077302  20814.738768      1.990948                    
+V 16 -14445.569312 -21956.277827   9555.375524      -.001512                    
+P 17   2526.882166 -15030.453934  21964.869382    -93.148297                    
+V 17  27182.677373   2908.533409  -1898.048648       .190768                    
+P 18 -18366.973470 -13914.805546 -13369.139353   -118.929723                    
+V 18  -6463.746175 -15824.846390  24990.215687      -.037248                    
+P 19  -5643.560024  23590.850364 -10757.296018    -11.870176                    
+V 19  -9353.553478  10447.956173  27537.577533      -.008461                    
+P 20  12185.863142  23428.455026  -3010.554436    -90.881874                    
+V 20  -4287.090967  -1719.533431 -31474.933126       .027091                    
+P 21 -24887.970002  -6039.683761   7857.450208     88.003501                    
+V 21   9925.658787  -2414.400725  29103.839165       .011016                    
+P 22 -17226.932775  -2555.798027 -19883.763256     16.257125                    
+V 22 -11190.061253 -23074.988552  12579.497984       .002641                    
+P 23   4478.323850  18573.019241  18312.792504    211.482516                    
+V 23 -12501.404676  19932.732838 -17177.633628       .006022                    
+P 24  25050.170381  -4847.320110   7847.320889     89.441730                    
+V 24   9503.025005   2527.950319 -29706.521907       .029035                    
+P 25 -22074.361000  10423.914804  10886.376660     84.312571                    
+V 25 -13489.280677  -1134.589805 -27203.964247       .007251                    
+P 26   5381.502212 -23658.275283 -10357.691027    316.955833                    
+V 26   8216.419414 -10150.768848  28875.995091       .055810                    
+P 27  24544.838107   5032.646598   9996.676816    513.420029                    
+V 27 -11563.844955   3275.148788  27823.438219       .063503                    
+P 28  17816.293352   3428.952448 -19290.889550     46.477703                    
+V 28  11751.327696  21942.278486  14266.183626       .000658                    
+P 29   8775.000543 -24398.272989  -5126.779752    178.957796                    
+V 29   5158.381524  -5054.107478  31417.071919      -.189513                    
+P 30 -17608.726448 -19040.548488   5748.699736    444.346909                    
+V 30  -1533.893026  -8115.122591 -30145.561437      -.143318                    
+*  2005  1 19 23 15   .00000000                                                 
+P  1 -15212.656284  20628.761190  -6718.359193    383.804694                    
+V  1   2016.790085  -8790.728308 -30706.386701       .019802                    
+P  2  15455.461142 -13252.676773  16709.695268    -42.682477                    
+V  2  21935.053353    -16.886143 -20021.274164       .057122                    
+P  3 -10741.726944  23991.095277   2503.712371     78.056389                    
+V  3  -2697.147420  -4566.957725  30936.243056       .030209                    
+P  4  24921.718410  -6722.788404   6967.780075    441.762237                    
+V  4   8930.698666   1888.071453 -29785.295977      -.206652                    
+P  5 -11867.260352 -22746.719156  -7357.550599     73.135843                    
+V  5   8298.799465   4970.035649 -29210.796985       .023877                    
+P  6 -11580.367700 -12040.618736  20819.980379   -164.673506                    
+V  6  11122.653265 -23658.373741  -7675.855983       .881695                    
+P  7  17374.725003  -7823.874578 -18029.109787     63.404293                    
+V  7  -6857.818015  22960.120638 -16351.641530      -.302733                    
+P  8  26378.065331   1320.990801   4101.450790    -19.040423                    
+V  8  -5231.897471   2581.427276  31108.595301      -.011607                    
+P  9  -5381.069348 -14890.228094 -21835.474948    -24.840713                    
+V  9  26341.517270  -3613.419205  -3777.426310      -.017775                    
+P 10   4328.354402 -17104.686332  19697.003739     57.513402                    
+V 10  15205.014405  20112.100687  14365.170286       .007139                    
+P 11   6478.412140  15320.711311 -20745.138882    186.487730                    
+V 11 -25846.943938   5994.876926  -3457.146734       .036919                    
+P 13   9903.990763  12141.539628  21399.153480    -13.814584                    
+V 13 -12114.113570  24383.642471  -8142.063486       .009651                    
+P 14 -17271.721005   7735.137190 -18571.393203    -31.485914                    
+V 14   8831.120510 -21978.285307 -17331.117521      -.000730                    
+P 15 -26173.584496   3465.900928  -4312.660220    377.863924                    
+V 15  -5218.281372  -2314.707432  31004.619343       .052822                    
+P 16  -9597.160767  12422.558705  21494.257886      1.990877                    
+V 16 -16059.581342 -21861.651994   5523.866576      -.001514                    
+P 17   4966.519170 -14834.664127  21608.838432    -93.131459                    
+V 17  26941.562597   1446.079141  -6007.013838       .190802                    
+P 18 -18918.189025 -15210.460509 -11012.469866   -118.933041                    
+V 18  -5710.627933 -12954.140841  27305.058129      -.037247                    
+P 19  -6389.841064  24427.319937  -8193.244541    -11.870764                    
+V 19  -7264.703837   8075.322001  29358.947309      -.008458                    
+P 20  11706.940222  23152.579828  -5809.342807    -90.879445                    
+V 20  -6401.634953  -4357.522399 -30631.348454       .027091                    
+P 21 -23856.516576  -6283.468802  10403.523637     88.004439                    
+V 21  12958.642936  -3063.485194  27395.823919       .011024                    
+P 22 -18250.867862  -4544.355904 -18581.375561     16.257485                    
+V 22 -11495.371067 -21060.068612  16319.838529       .002662                    
+P 23   3441.587363  20311.322435  16612.007535    211.483058                    
+V 23 -10540.944114  18611.031847 -20562.744740       .006020                    
+P 24  25758.943792  -4639.272744   5114.721630     89.444262                    
+V 24   6220.481105   2162.726198 -30932.442419       .029033                    
+P 25 -23152.943948  10329.999020   8352.888623     84.312425                    
+V 25 -10448.555269  -1018.111027 -29017.474059       .007244                    
+P 26   6028.627052 -24456.925778  -7675.354967    316.960569                    
+V 26   6204.511326  -7528.879491  30645.471173       .055807                    
+P 27  23378.750196   5370.113074  12411.932338    513.425866                    
+V 27 -14298.473867   4276.967461  25776.689971       .063504                    
+P 28  18880.759157   5307.408031 -17843.403599     46.477801                    
+V 28  11831.999485  19754.531251  17851.466145       .000659                    
+P 29   9156.567134 -24718.495148  -2262.737039    178.940837                    
+V 29   3378.922023  -2017.568330  32135.299238      -.189516                    
+P 30 -17675.190768 -19640.678264   2993.972487    444.333598                    
+V 30    119.575361  -5244.879248 -30982.391342      -.143323                    
+*  2005  1 19 23 30   .00000000                                                 
+P  1 -14990.581269  19691.000297  -9415.667891    383.804695                    
+V  1   2842.615415 -12045.143855 -29146.431522       .019812                    
+P  2  17320.434585 -13290.533560  14765.740578    -42.677221                    
+V  2  19447.275230   -769.846762 -23113.114449       .057104                    
+P  3 -10946.129001  23436.524281   5257.899185     78.061136                    
+V  3  -1909.665417  -7761.281787  30178.231849       .030205                    
+P  4  25578.053788  -6557.233119   4235.873860    441.743956                    
+V  4   5639.140129   1858.985168 -30838.129045      -.206654                    
+P  5 -11013.562384 -22210.052964  -9916.721602     73.138309                    
+V  5  10693.838662   6890.022655 -27579.524618       .023861                    
+P  6 -10647.029196 -14151.843507  19954.564693   -164.593858                    
+V  6   9607.422247 -23174.326173 -11529.380620       .881660                    
+P  7  16780.411399  -5669.544274 -19335.296263     63.376893                    
+V  7  -6293.544498  24847.565382 -12630.677752      -.302741                    
+P  8  25758.340778   1581.908195   6858.659602    -19.040845                    
+V  8  -8512.195187   3282.316678  30075.723797      -.011608                    
+P  9  -3006.615419 -15280.036004 -21994.973981    -24.841249                    
+V  9  26339.709680  -5039.048756    239.475405      -.017771                    
+P 10   5784.803854 -15279.899023  20814.512937     57.513979                    
+V 10  17130.640360  20351.134742  10433.549598       .007143                    
+P 11   4153.227362  15913.141151 -20877.431664    186.491088                    
+V 11 -25743.257133   7153.082751    522.517108       .036926                    
+P 13   8895.095984  14320.473795  20483.627938    -13.813601                    
+V 13 -10290.876906  23945.065754 -12173.128378       .009650                    
+P 14 -16500.382121   5659.965983 -19966.078054    -31.486108                    
+V 14   8245.369588 -24073.810492 -13617.017239      -.000729                    
+P 15 -26491.389825   3260.416161  -1493.744447    377.869655                    
+V 15  -1835.033810  -2321.119186  31549.974138       .052823                    
+P 16 -11106.128911  10477.312840  21806.260864      1.990740                    
+V 16 -17424.860463 -21289.822493   1399.943137      -.001515                    
+P 17   7360.258556 -14768.144336  20885.859914    -93.114445                    
+V 17  26164.222630     50.734021 -10040.860710       .190837                    
+P 18 -19381.475473 -16245.588966  -8468.285545   -118.936116                    
+V 18  -4511.082159 -10051.323949  29151.604135      -.037247                    
+P 19  -6958.499301  25033.660197  -5487.933898    -11.871491                    
+V 19  -5418.532005   5344.887556  30672.340936      -.008456                    
+P 20  11026.380343  22654.719181  -8508.446333    -90.876922                    
+V 20  -8755.410473  -6642.061739 -29263.024925       .027090                    
+P 21 -22563.281875  -6601.355084  12774.775857     88.005665                    
+V 21  15729.656281  -4053.530901  25223.964399       .011031                    
+P 22 -19283.117176  -6337.955177 -16954.828224     16.257719                    
+V 22 -11368.503311 -18756.926392  19772.493653       .002682                    
+P 23   2578.903762  21908.069639  14622.237244    211.483703                    
+V 23  -8648.655843  16792.100290 -23590.105430       .006018                    
+P 24  26166.409168  -4445.585958   2295.180569     89.447394                    
+V 24   2823.152443   2211.674952 -31635.323598       .029030                    
+P 25 -23950.913748  10228.515236   5677.802822     84.313466                    
+V 25  -7268.416338  -1305.707102 -30345.515357       .007237                    
+P 26   6506.722120 -25002.285014  -4857.510337    316.965531                    
+V 26   4472.429383  -4534.574195  31881.789936       .055805                    
+P 27  21981.240907   5811.174490  14624.033009    513.431441                    
+V 27 -16695.889501   5567.498805  23315.188029       .063504                    
+P 28  19932.726451   6977.717646 -16087.272726     46.477620                    
+V 28  11469.032356  17331.971916  21115.400055       .000660                    
+P 29   9394.468226 -24754.798942    640.736151    178.923814                    
+V 29   1974.264705   1239.886206  32292.596055      -.189519                    
+P 30 -17576.591487 -19990.174595    187.872422    444.320279                    
+V 30   2126.251344  -2559.247940 -31286.098665      -.143327                    
+*  2005  1 19 23 45   .00000000                                                 
+P  1 -14714.638713  18462.774159 -11949.409326    383.805232                    
+V  1   3213.991437 -15228.278323 -27076.535943       .019823                    
+P  2  18946.134510 -13380.640558  12561.743224    -42.672179                    
+V  2  16631.977028  -1169.724262 -25791.611548       .057085                    
+P  3 -11097.224691  22594.695625   7919.883332     78.063357                    
+V  3  -1513.517987 -10934.549099  28890.196005       .030200                    
+P  4  25935.405742  -6375.805310   1432.538389    441.725169                    
+V  4   2302.343553   2241.490264 -31370.513705      -.206656                    
+P  5  -9939.732527 -21518.897584 -12307.898347     73.140873                    
+V  5  13176.589564   8397.812553 -25482.951169       .023844                    
+P  6  -9851.695322 -16196.998803  18750.377012   -164.514094                    
+V  6   8070.049805 -22190.903187 -15193.494437       .881626                    
+P  7  16250.974984  -3364.256523 -20295.754289     63.349852                    
+V  7  -5426.763069  26304.052290  -8680.621579      -.302749                    
+P  8  24852.188439   1923.072449   9499.675933    -19.042392                    
+V  8 -11582.120331   4358.129797  28529.638375      -.011608                    
+P  9   -654.947136 -15794.184765 -21792.153336    -24.843676                    
+V  9  25837.592315  -6362.364465   4263.546682      -.017768                    
+P 10   7405.124157 -13456.844317  21569.842436     57.515692                    
+V 10  18831.648643  20078.712854   6328.668412       .007148                    
+P 11   1858.850792  16604.012943 -20651.173151    186.494463                    
+V 11 -25165.934061   8169.671292   4499.261979       .036932                    
+P 13   8052.863550  16435.093249  19214.387420    -13.812646                    
+V 13  -8426.612836  22955.201233 -15991.084434       .009648                    
+P 14 -15798.224235   3414.272368 -21015.370158    -31.486211                    
+V 14   7304.435012 -25755.751074  -9666.852196      -.000727                    
+P 15 -26503.701941   3035.563187   1350.367147    377.874455                    
+V 15   1554.490411  -2744.801120  31563.344311       .052824                    
+P 16 -12723.846471   8603.351143  21745.576575      1.990762                    
+V 16 -18464.202259 -20286.473126  -2746.340114      -.001518                    
+P 17   9660.518388 -14820.884323  19805.824787    -93.096930                    
+V 17  24868.783335  -1189.876841 -13930.018710       .190872                    
+P 18 -19717.278262 -17021.577047  -5780.125971   -118.939672                    
+V 18  -2881.938537  -7210.951846  30500.258953      -.037248                    
+P 19  -7374.466676  25380.814599  -2688.115045    -11.872136                    
+V 19  -3881.529609   2328.663058  31456.318531      -.008454                    
+P 20  10126.183127  21969.285582 -11061.663789    -90.874545                    
+V 20 -11268.342904  -8517.926079 -27394.191215       .027089                    
+P 21 -21035.309992  -7021.771047  14930.932540     88.006409                    
+V 21  18163.323908  -5332.025486  22622.180599       .011038                    
+P 22 -20283.341566  -7914.648586 -15032.775177     16.258025                    
+V 22 -10780.350700 -16255.479120  22877.080325       .002702                    
+P 23   1880.150232  23320.148563  12378.122559    211.484563                    
+V 23  -6912.052182  14515.338356 -26206.575028       .006014                    
+P 24  26266.568770  -4228.485385   -563.481556     89.449833                    
+V 24   -592.231693   2682.859008 -31799.989234       .029027                    
+P 25 -24459.827520  10082.563075   2906.065131     84.313179                    
+V 25  -4040.614849  -2006.323922 -31161.519540       .007230                    
+P 26   6844.067161 -25264.439270  -1953.480607    316.970958                    
+V 26   3086.571717  -1250.377084  32556.861050       .055802                    
+P 27  20385.351309   6379.010682  16597.429205    513.437252                    
+V 27 -18698.381607   7082.624920  20479.284557       .063505                    
+P 28  20931.305210   8422.917786 -14053.898322     46.477583                    
+V 28  10644.016592  14767.984103  24004.023250       .000663                    
+P 29   9524.450682 -24491.549164   3533.116889    178.906786                    
+V 29    986.168273   4622.717007  31889.773633      -.189523                    
+P 30 -17283.497275 -20109.214996  -2621.464463    444.307297                    
+V 30   4431.435049   -135.611364 -31054.754673      -.143331                    
+EOF
diff --git a/trunk/apps/positioning/doc/nga13064.apc b/trunk/apps/positioning/doc/nga13064.apc
new file mode 100644
index 0000000..10906c2
--- /dev/null
+++ b/trunk/apps/positioning/doc/nga13064.apc
@@ -0,0 +1,5687 @@
+#aV2005  1 20  0  0   .00000000      96 DD+AD WGS84 FIT  NGA
+## 1306 345600.00000000   900.00000000 53390  .0000000000000
++   29     1  2  3  4  5  6  7  8  9 10 11 13 14 15 16 17 18
++         19 20 21 22 23 24 25 26 27 28 29 30  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%f  0.0000000  0.000000000  0.00000000000  0.000000000000000
+%f  0.0000000  0.000000000  0.00000000000  0.000000000000000
+%i    0    0    0    0      0      0      0      0         0
+%i    0    0    0    0      0      0      0      0         0
+/*      NGA, ST. LOUIS,MO.                                  
+/*   EPHEMERIS COMPUTED FROM  3 DAYS OF DATA                
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+*  2005  1 20  0  0   .00000000                                                 
+P  1 -14425.400111  16955.122948 -14275.171190    383.806826                    
+V  1   3141.435300 -18237.801639 -24531.162542       .020161                    
+P  2  20307.041400 -13489.230686  10137.041578    -42.666415                    
+V  2  13578.608668  -1175.087902 -28010.706565       .056956                    
+P  3 -11230.227753  21471.792323  10442.892997     78.066891                    
+V  3  -1505.629822 -13991.690949  27094.431728       .030441                    
+P  4  25993.945788  -6141.537589  -1394.944117    441.707440                    
+V  4   -985.533792   3030.975256 -31374.021338      -.206575                    
+P  5  -8641.729728 -20711.537129 -14490.759245     73.144033                    
+V  5  15660.816327   9469.831124 -22956.827229       .024686                    
+P  6  -9192.553907 -18131.600421  17227.289610   -164.434049                    
+V  6   6594.756768 -20721.194792 -18605.939727       .881445                    
+P  7  15810.585364   -949.443117 -20893.125739     63.323363                    
+V  7  -4327.257698  27273.509634  -4574.586990      -.302683                    
+P  8  23682.428444   2376.213618  11979.274792    -19.042562                    
+V  8 -14356.741205   5761.503213  26493.179616      -.011664                    
+P  9   1629.804154 -16419.693413 -21229.232245    -24.843654                    
+V  9  24857.761800  -7500.267756   8231.055687      -.017810                    
+P 10   9165.190981 -11679.897939  21950.653050     57.516167                    
+V 10  20222.682108  19334.606749   2123.149369       .007200                    
+P 11   -363.304882  17377.207547 -20069.703748    186.498315                    
+V 11 -24144.570997   8970.705515   8404.730151       .036831                    
+P 13   7376.655977  18436.287581  17613.601877    -13.811299                    
+V 13  -6617.205816  21428.557567 -19530.230328       .009526                    
+P 14 -15194.134616   1038.277389 -21701.085753    -31.485924                    
+V 14   6078.850824 -26960.006720  -5549.263716      -.000867                    
+P 15 -26214.257043   2754.140300   4171.604432    377.880939                    
+V 15   4854.934281  -3574.940686  31041.897793       .052970                    
+P 16 -14417.908948   6836.890797  21313.359398      1.991244                    
+V 16 -19111.455627 -18912.100156  -6844.661564      -.001655                    
+P 17  11822.165354 -14975.204508  18384.869596    -93.079133                    
+V 17  23091.434838  -2193.537977 -17605.471488       .190776                    
+P 18 -19888.345985 -17548.142624  -2993.822497   -118.942262                    
+V 18   -857.394084  -4523.051605  31329.739768      -.037429                    
+P 19  -7668.031264  25446.734748    157.944948    -11.872272                    
+V 19  -2705.858309   -890.112806  31698.663161      -.008576                    
+P 20   8995.944742  21134.934103 -13425.357018    -90.871731                    
+V 20 -13852.232863  -9946.333191 -25057.486535       .026979                    
+P 21 -19305.940482  -7567.819963  16835.094737     88.008034                    
+V 21  20195.544425  -6833.503064  19631.492310       .010901                    
+P 22 -21209.397860  -9260.847327 -12849.018802     16.258711                    
+V 22  -9720.078701 -13650.934152  25579.744216       .002516                    
+P 23   1327.675061  24508.775568   9918.760474    211.485862                    
+V 23  -5410.367617  11837.241199 -28366.423429       .005867                    
+P 24  26062.197124  -3950.292103  -3412.470141     89.452886                    
+V 24  -3928.052431   3566.062399 -31420.041694       .028940                    
+P 25 -24679.596637   9855.230648     84.653756     84.314076                    
+V 25   -858.488337  -3111.213325 -31447.002254       .007285                    
+P 26   7074.230734 -25221.512992    985.348066    316.977049                    
+V 26   2097.623011   2228.168731  32653.085097       .055874                    
+P 27  18628.721519   7090.582294  18300.421554    513.443711                    
+V 27 -20261.724774   8748.692506  17314.100518       .063300                    
+P 28  21834.759540   9634.589903 -11779.217311     46.478142                    
+V 28   9356.613047  12158.453449  26470.621331       .000545                    
+P 29   9585.188784 -23921.964863   6364.404511    178.890156                    
+V 29    437.758043   8030.337986  30937.566364      -.189592                    
+P 30 -16771.990334 -20024.421067  -5386.134127    444.294606                    
+V 30   6967.699819   1960.628947 -30295.399467      -.143426                    
+*  2005  1 20  0 15   .00000000                                                 
+P  1 -14161.634070  15188.117067 -16352.045184    383.810269                    
+V  1   2654.360553 -20976.027013 -21553.614117       .020171                    
+P  2  21386.038333 -13579.581122   7534.719559    -42.661320                    
+V  2  10383.818634   -761.901026 -29733.335731       .056933                    
+P  3 -11379.288835  20082.439100  12782.593674     78.068063                    
+V  3  -1865.540830 -16840.796004  24822.721000       .030433                    
+P  4  25762.234419  -5818.662625  -4198.909301    441.689144                    
+V  4  -4132.779734   4205.461665 -30848.597194      -.206580                    
+P  5  -7123.391456 -19827.616625 -16428.510527     73.145174                    
+V  5  18058.215471  10099.472988 -20043.691128       .024686                    
+P  6  -8660.351774 -19913.111883  15410.620619   -164.354283                    
+V  6   5262.136071 -18795.292593 -21708.121964       .881403                    
+P  7  15476.675069   1529.184391 -21116.787320     63.296092                    
+V  7  -3074.404146  27717.239322   -388.841731      -.302690                    
+P  8  22279.091347   2968.115977  14254.664751    -19.043369                    
+V  8 -16761.251556   7430.206127  23997.545240      -.011665                    
+P  9   3806.250319 -17136.347851 -20314.175194    -24.845213                    
+V  9  23438.424514  -8375.628512  12078.188881      -.017817                    
+P 10  11033.653088  -9989.080205  21951.203474     57.516268                    
+V 10  21229.032139  18175.470466  -2109.240150       .007201                    
+P 11  -2475.175168  18210.274575 -19142.488832    186.501654                    
+V 11 -22723.746910   9489.914325  12171.365123       .036834                    
+P 13   6857.354310  20277.125645  15709.136061    -13.810483                    
+V 13  -4954.616023  19398.909386 -22729.901206       .009519                    
+P 14 -14710.129660  -1422.747305 -22011.360870    -31.485776                    
+V 14   4650.245332 -27638.809110  -1335.841009      -.000869                    
+P 15 -25635.262032   2380.716080   6922.029574    377.886187                    
+V 15   7973.983808  -4783.105250  29991.433972       .052974                    
+P 16 -16150.555473   5208.126285  20517.061941      1.991120                    
+V 16 -19314.137325 -17239.605012 -10825.569856      -.001663                    
+P 17  13804.103577 -15206.400197  16645.269771    -93.061923                    
+V 17  20885.492723  -2886.915179 -21000.037885       .190804                    
+P 18 -19861.242334 -17842.778293   -156.738371   -118.945422                    
+V 18   1512.226310  -2069.845817  31627.317131      -.037437                    
+P 19  -7873.456254  25217.253514   3001.299802    -11.872943                    
+V 19  -1927.424118  -4220.087378  31396.505246      -.008581                    
+P 20   7633.439818  20193.018962 -15559.181914    -90.869274                    
+V 20 -16414.115662 -10906.244922 -22293.363528       .026976                    
+P 21 -17413.685478  -8256.218176  18454.357811     88.009138                    
+V 21  21775.827705  -8481.935021  16299.556604       .010903                    
+P 22 -22019.011941 -10371.627950 -10441.878089     16.258970                    
+V 22  -8195.634760 -11040.007812  27834.116360       .002531                    
+P 23    897.188618  25440.944122   7286.998158    211.486248                    
+V 23  -4211.381964   8829.289744 -30032.170276       .005855                    
+P 24  25564.760623  -3575.066061  -6202.823289     89.455755                    
+V 24  -7089.373145   4832.943341 -30498.208158       .028939                    
+P 25 -24618.476374   9511.192570  -2738.176609     84.313418                    
+V 25   2186.454129  -4593.924565 -31192.173900       .007298                    
+P 26   7234.545418 -24860.680323   3906.507165    316.982348                    
+V 26   1538.209726   5796.158297  32164.112789       .055866                    
+P 27  16752.314217   7955.893348  19705.563908    513.449622                    
+V 27 -21356.479559  10485.211799  13868.933012       .063296                    
+P 28  22602.136431  10612.919034  -9303.021933     46.478337                    
+V 28   7624.489321   9598.076685  28476.319630       .000546                    
+P 29   9616.573035 -23048.400570   9085.994724    178.873363                    
+V 29    332.893209  11360.967814  29456.180225      -.189599                    
+P 30 -16024.698492 -19767.675322  -8059.258050    444.281356                    
+V 30   9657.476461   3678.292505 -29023.717131      -.143434                    
+*  2005  1 20  0 30   .00000000                                                 
+P  1 -13958.653112  13190.265272 -18143.392203    383.811536                    
+V  1   1799.896139 -23353.740166 -18195.324108       .020180                    
+P  2  22174.886980 -13613.625659   4800.770477    -42.656167                    
+V  2   7147.608444     75.563887 -30931.981671       .056911                    
+P  3 -11575.965845  18449.254987  14897.915921     78.070224                    
+V  3  -2556.304310 -19396.705785  22115.719448       .030427                    
+P  4  25256.853811  -5374.145784  -6932.065113    441.670667                    
+V  4  -7053.374643   5726.382199 -29802.560636      -.206584                    
+P  5  -5396.473413 -18906.607158 -18088.467358     73.146042                    
+V  5  20281.674545  10297.168353 -16792.197608       .024688                    
+P  6  -8238.865454 -21502.438008  13330.759458   -164.274683                    
+V  6   4145.975794 -16459.374889 -24446.104843       .881360                    
+P  7  15259.231473   4023.277190 -20963.057385     63.268809                    
+V  7  -1753.662144  27615.535518   3798.914466      -.302697                    
+P  8  20678.378605   3719.373620  16286.228073    -19.044086                    
+V  8 -18733.761959   9289.327138  21082.011383      -.011667                    
+P  9   5837.101707 -17917.372539 -19060.664044    -24.846563                    
+V  9  21632.215522  -8920.243165  15741.844932      -.017824                    
+P 10  12973.026818  -8418.643193  21572.391891     57.517599                    
+V 10  21789.575713  16672.374777  -6294.945711       .007203                    
+P 11  -4443.321322  19075.249027 -17884.993501    186.505177                    
+V 11 -20961.349701   9671.453432  15733.593500       .036835                    
+P 13   6477.877829  21914.538964  13534.048793    -13.809629                    
+V 13  -3523.230647  16918.049345 -25535.495204       .009514                    
+P 14 -14360.503880  -3920.038556 -21940.859372    -31.485741                    
+V 14   3108.000899 -27762.592263   2900.159067      -.000873                    
+P 15 -24786.969049   1883.179946   9554.619513    377.890404                    
+V 15  10825.716587  -6324.133850  28426.489347       .052978                    
+P 16 -17879.997760   3740.238482  19370.306218      1.990978                    
+V 16 -19035.535936 -15351.432816 -14621.603660      -.001672                    
+P 17  15570.747224 -15483.689422  14615.212917    -93.044141                    
+V 17  18319.754442  -3208.809343 -24049.755722       .190831                    
+P 18 -19607.719487 -17929.913070   2683.007333   -118.949212                    
+V 18   4162.297415     77.208063  31388.934408      -.037443                    
+P 19  -8027.454429  24686.663590   5793.164746    -11.873607                    
+V 19  -1564.599658  -7565.202470  30556.283533      -.008586                    
+P 20   6044.891973  19185.963505 -17426.760317    -90.866567                    
+V 20 -18859.796557 -11394.986358 -19149.372883       .026971                    
+P 21 -15400.916204  -9096.468330  19760.384023     88.010327                    
+V 21  22869.177535 -10193.544497  12680.098922       .010904                    
+P 22 -22671.463645 -11250.696247  -7853.478169     16.259151                    
+V 22  -6233.497716  -8517.119255  29602.101575       .002546                    
+P 23    558.919968  26090.655906   4528.658959    211.486822                    
+V 23  -3368.719301   5575.246249 -31175.254878       .005844                    
+P 24  24794.016132  -3070.204147  -8886.243630     89.459171                    
+V 24  -9987.476599   6437.890559 -29046.550812       .028938                    
+P 25 -24292.746723   9018.277687  -5513.700572     84.313969                    
+V 25   5007.961308  -6410.984488 -30396.436798       .007311                    
+P 26   7364.404879 -24178.823347   6757.481988    316.987924                    
+V 26   1421.315181   9343.493721  31095.321135       .055857                    
+P 27  14799.043393   8977.498659  20790.015743    513.455343                    
+V 27 -21968.830013  12207.623978  10196.751052       .063292                    
+P 28  23194.857655  11366.425091  -6668.233866     46.478431                    
+V 28   5482.571337   7176.800974  29990.506300       .000547                    
+P 29   9657.976680 -21882.280958  11651.505549    178.857020                    
+V 29    656.309474  14515.458850  27474.680755      -.189607                    
+P 30 -15031.578503 -19374.761687 -10595.742038    444.268326                    
+V 30  12415.979580   4982.090340 -27263.593529      -.143443                    
+*  2005  1 20  0 45   .00000000                                                 
+P  1 -13846.800314  10997.590588 -19617.535032    383.813199                    
+V  1    640.966805 -25293.725748 -14514.958723       .020190                    
+P  2  22674.353113 -13553.614739   1983.221895    -42.651330                    
+V  2   3969.418718   1324.583512 -31588.989611       .056890                    
+P  3 -11847.806888  16602.093397  16751.818790     78.072566                    
+V  3  -3526.080462 -21584.337965  19022.141976       .030421                    
+P  4  24501.756550  -4779.120382  -9548.241774    441.652049                    
+V  4  -9670.036216   7539.961038 -28252.507398      -.206589                    
+P  5  -3480.396816 -17986.292857 -19442.571552     73.147716                    
+V  5  22248.486694  10089.832480 -13256.377124       .024689                    
+P  6  -7905.648625 -22865.308667  11022.703954   -164.195664                    
+V  6   3310.306081 -13774.184058 -26771.571958       .881317                    
+P  7  15160.417537   6483.600199 -20435.246059     63.241359                    
+V  7   -452.808102  26968.467766   7911.299130      -.302704                    
+P  8  18921.388758   4643.369533  18038.231600    -19.044721                    
+V  8 -20227.698410  11254.036217  17793.546958      -.011668                    
+P  9   7690.393638 -18730.358671 -17487.995715    -24.848751                    
+V  9  19504.508245  -9077.562013  19160.495187      -.017831                    
+P 10  14941.030080  -6995.904409  20821.677582     57.518220                    
+V 10  21859.148047  14907.814283 -10361.931764       .007204                    
+P 11  -6240.032786  19939.700088 -16318.451020    186.508459                    
+V 11 -18926.379686   9472.286575  19029.001729       .036836                    
+P 13   6214.018134  23310.861034  11126.005722    -13.808666                    
+V 13  -2396.531876  14053.853457 -27899.382666       .009508                    
+P 14 -14151.294299  -6403.037790 -21490.864226    -31.485818                    
+V 14   1545.610135 -27321.156170   7085.121403      -.000877                    
+P 15 -23696.955963   1234.183365  12024.052459    377.895525                    
+V 15  13333.766814  -8137.672019  26370.319359       .052982                    
+P 16 -19561.912445   2448.678103  17892.655241      1.990910                    
+V 16 -18256.228358 -13336.362516 -18168.379918      -.001681                    
+P 17  17093.314083 -15771.438275  12328.444012    -93.026681                    
+V 17  15476.171701  -3113.039992 -26695.335781       .190859                    
+P 18 -19105.903203 -17839.825509   5477.321196   -118.952379                    
+V 18   7016.239351   1859.962124  30619.208782      -.037448                    
+P 19  -8167.578401  23857.981105   8485.746594    -11.874260                    
+V 19  -1617.635919 -10828.263203  29193.549288      -.008593                    
+P 20   4244.923405  18155.605881 -18996.282659    -90.864153                    
+V 20 -21097.428161 -11428.164870 -15679.343695       .026966                    
+P 21 -13312.403504 -10090.301601  20729.918890     88.011345                    
+V 21  23457.442740 -11879.957411   8832.231965       .010903                    
+P 22 -23129.215264 -11910.013770  -5128.976947     16.259310                    
+V 22  -3877.685494  -6170.716503  30854.485638       .002562                    
+P 23    278.990756  26439.885868   1691.716342    211.487367                    
+V 23  -2919.731974   2167.967610 -31776.523011       .005832                    
+P 24  23777.298021  -2407.929767 -11415.942090     89.461730                    
+V 24 -12543.230656   8319.573980 -27086.520189       .028937                    
+P 25 -23726.088771   8348.944497  -8193.566437     84.314537                    
+V 25   7528.350075  -8503.271563 -29068.738467       .007324                    
+P 26   7503.456963 -23182.798828   9486.776449    316.993028                    
+V 26   1739.559638  12759.377834  29463.965552       .055848                    
+P 27  12812.347477  10150.271483  21535.849411    513.461139                    
+V 27 -22100.956413  13830.283027   6353.672392       .063288                    
+P 28  23578.215303  11911.384429  -3920.147577     46.478564                    
+V 28   2981.660282   4976.521915  30991.095938       .000547                    
+P 29   9746.569277 -20443.697320  14017.542139    178.839850                    
+V 29   1374.506834  17400.954508  25030.249534      -.189615                    
+P 30 -13790.424806 -18883.882979 -12952.990749    444.255000                    
+V 30  15154.362347   5853.681633 -25046.575089      -.143451                    
+*  2005  1 20  1  0   .00000000                                                 
+P  1 -13850.139423   8652.408275 -20748.362357    383.815411                    
+V  1   -746.293162 -26733.837907 -10577.346859       .020199                    
+P  2  22893.983106 -13363.753806   -868.757653    -42.645980                    
+V  2    944.314186   2954.600612 -31696.655867       .056869                    
+P  3 -12217.105379  14577.000843  18311.971687     78.073766                    
+V  3  -4710.355225 -23341.593320  15597.769228       .030415                    
+P  4  23527.353368  -4010.173235 -12003.128560    441.633251                    
+V  4 -11916.958050   9579.151369 -26223.112906      -.206593                    
+P  5  -1401.712665 -17101.334488 -20467.839678     73.149787                    
+V  5  23883.410592   9519.719410  -9494.832759       .024692                    
+P  6  -7633.030944 -23973.499629   8525.513143   -164.116104                    
+V  6   2806.784304 -10812.939098 -28642.736906       .881275                    
+P  7  15174.536397   8861.814610 -19543.549039     63.214361                    
+V  7    741.908859  25795.797788  11872.961643      -.302711                    
+P  8  17052.651458   5745.526827  19479.493239    -19.046933                    
+V  8 -21213.634973  13232.845201  14186.193045      -.011670                    
+P  9   9340.538625 -19538.423856 -15620.899348    -24.849777                    
+V  9  17131.245602  -8805.089423  22275.112621      -.017838                    
+P 10  16892.101382  -5740.368730  19712.888204     57.518356                    
+V 10  21410.268896  12972.317588 -14240.911991       .007206                    
+P 11  -7844.211511  20767.973331 -14469.526436    186.511806                    
+V 11 -16696.309002   8864.086280  21999.484901       .036838                    
+P 13   6035.554344  24435.164603   8526.615759    -13.807671                    
+V 13  -1634.210178  10887.737317 -29781.683173       .009501                    
+P 14 -14080.080959  -8821.158213 -20669.250592    -31.485889                    
+V 14     56.874512 -26324.078282  11146.385790      -.000880                    
+P 15 -22399.134800    412.415307  14287.486674    377.900575                    
+V 15  15434.186727 -10150.311687  23854.742567       .052986                    
+P 16 -21151.041293   1340.749166  16109.288648      1.990821                    
+V 16 -16974.952433 -11286.067107 -21405.637204      -.001690                    
+P 17  18350.880850 -16030.623311   9823.778247    -93.009036                    
+V 17  12446.894375  -2570.807198 -28883.641870       .190886                    
+P 18 -18341.246628 -17607.349880   8178.911845   -118.955955                    
+V 18   9988.294922   3235.620819  29331.318204      -.037453                    
+P 19  -8330.589619  22742.885938  11033.049488    -11.875013                    
+V 19  -2068.778256 -13914.530070  27332.622940      -.008600                    
+P 20   2256.185566  17141.583320 -20241.032713    -90.861671                    
+V 20 -23040.996513 -11038.897422 -11942.474035       .026960                    
+P 21 -11193.763061 -11231.414933  21345.241032     88.012494                    
+V 21  23540.074240 -13451.586905   4819.658090       .010902                    
+P 22 -23359.419252 -12369.105028  -2315.745542     16.259518                    
+V 22  -1188.071484  -4079.882015  31571.354185       .002579                    
+P 23     20.950074  26479.243691  -1174.567439    211.487859                    
+V 23  -2884.053298  -1294.130892 -31826.522239       .005821                    
+P 24  22548.515097  -1566.612929 -13747.478746     89.464001                    
+V 24 -14690.145561  10403.152122 -24648.833313       .028936                    
+P 25 -22948.673740   7481.602485 -10730.664724     84.314440                    
+V 25   9681.558678 -10798.058573 -27227.751662       .007337                    
+P 26   7689.773174 -21889.294012  12044.975911    316.998230                    
+V 26   2465.405825  15936.916856  27298.982334       .055839                    
+P 27  10834.751900  11461.440134  21930.309737    513.466906                    
+V 27 -21770.904742  15269.446273   2398.433493       .063284                    
+P 28  23722.716861  12270.970127  -1105.656626     46.478505                    
+V 28    186.485511   3068.151927  31464.646626       .000547                    
+P 29   9915.741410 -18760.687841  16144.389805    178.822995                    
+V 29   2437.323751  19934.240411  22167.338371      -.189623                    
+P 30 -12307.088482 -18334.111836 -15091.569649    444.241799                    
+V 30  17782.982662   6292.094736 -22411.245751      -.143459                    
+*  2005  1 20  1 15   .00000000                                                 
+P  1 -13985.403962   6201.853111 -21515.829551    383.817029                    
+V  1  -2275.689507 -27629.479790  -6452.260568       .020209                    
+P  2  22851.547427 -13011.753692  -3705.750194    -42.640883                    
+V  2  -1840.576926   4918.551833 -31257.103613       .056848                    
+P  3 -12699.879373  12414.937505  19551.339839     78.074843                    
+V  3  -6034.685406 -24621.722281  11904.304083       .030410                    
+P  4  22369.371802  -3050.433037 -14254.988351    441.614792                    
+V  4 -13742.146915  11766.067605 -23746.835052      -.206598                    
+P  5    806.698493 -16281.961551 -21146.736310     73.151630                    
+V  5  25121.470879   8642.720693  -5569.880559       .024694                    
+P  6  -7389.332951 -24805.842477   5881.681237   -164.037022                    
+V  6   2672.525238  -7658.748368 -30025.181366       .881232                    
+P  7  15288.338454  11112.214374 -18304.790870     63.187017                    
+V  7   1749.503734  24136.045544  15612.204549      -.302718                    
+P  8  15118.525727   7022.864376  20583.985206    -19.048256                    
+V  8 -21680.498121  15131.086341  10320.320697      -.011671                    
+P  9  10769.163663 -20301.569457 -13489.266898    -24.852558                    
+V  9  14596.340640  -8076.360126  25030.165805      -.017844                    
+P 10  18779.043023  -4663.168022  18265.920486     57.519894                    
+V 10  20434.169356  10960.801817 -17866.484967       .007207                    
+P 11  -9242.002213  21522.579174 -12369.878987    186.515233                    
+V 11 -14354.095064   7834.571020  24592.342930       .036839                    
+P 13   5907.603859  25264.346347   5780.703986    -13.806681                    
+V 13  -1279.831023   7511.605859 -31150.900019       .009492                    
+P 14 -14136.130984 -11125.554496 -19490.341502    -31.485861                    
+V 14  -1267.902763 -24800.357547  15013.538550      -.000884                    
+P 15 -20932.520637   -596.339908  16305.318529    377.906118                    
+V 15  17077.889467 -12278.274922  20919.834193       .052989                    
+P 16 -22602.839618    415.507679  14050.586947      1.990642                    
+V 16 -15208.802178  -9291.570310 -24278.220608      -.001699                    
+P 17  19331.147409 -16220.477736   7144.481519    -92.991837                    
+V 17   9330.778691  -1572.391099 -30569.141830       .190913                    
+P 18 -17307.218415 -17270.423699  10742.051191   -118.959307                    
+V 18  12986.639291   4178.213809  27546.778171      -.037457                    
+P 19  -8550.869138  21361.342806  13391.643517    -11.875855                    
+V 19  -2883.074422 -16735.198680  25006.114422      -.008606                    
+P 20    108.685071  16179.815919 -21139.827011    -90.859078                    
+V 20 -24613.586953 -10276.379039  -8002.346430       .026954                    
+P 21  -9089.860989 -12505.519044  21594.534920     88.013631                    
+V 21  23134.243059 -14821.134938    709.753725       .010899                    
+P 22 -23335.246094 -12654.076844    537.480430     16.259683                    
+V 22   1761.912692  -2311.350653  31742.322026       .002596                    
+P 23   -252.592674  26208.306737  -4020.520505    211.488199                    
+V 23  -3262.873243  -4710.815004 -31325.602830       .005811                    
+P 24  21146.891262   -531.864489 -15839.584221     89.466237                    
+V 24 -16376.990596  12603.069474 -21773.161251       .028935                    
+P 25 -21995.993791   6401.721366 -13080.004460     84.315164                    
+V 25  11415.806432 -13211.669025 -24901.853549       .007351                    
+P 26   7958.078908 -20324.271866  14385.776176    317.003268                    
+V 26   3552.299449  18777.601922  24640.434281       .055830                    
+P 27   8906.465448  12890.893136  21966.025109    513.472744                    
+V 27 -21011.965793  16446.236772  -1608.162027       .063280                    
+P 28  23605.232870  12474.148649   1727.524512     46.478525                    
+V 28  -2826.719920   1509.151916  31406.344954       .000548                    
+P 29  10193.699028 -16868.234421  17996.627391    178.806160                    
+V 29   3780.116048  22044.673954  18936.749022      -.189631                    
+P 30 -10595.401576 -17763.832423 -16975.807804    444.228995                    
+V 30  20214.665093   6313.512839 -19402.537382      -.143466                    
+*  2005  1 20  1 30   .00000000                                                 
+P  1 -14261.250341   3696.214368 -21906.344014    383.817551                    
+V  1  -3854.550442 -27955.381366  -2213.074399       .020219                    
+P  2  22572.180328 -12470.232277  -6478.959869    -42.635669                    
+V  2  -4309.232497   7154.829976 -30281.967241       .056826                    
+P  3 -13305.117119  10160.312899  20448.661341     78.077439                    
+V  3  -7417.847576 -25395.053270   8008.111885       .030406                    
+P  4  21067.525726  -1890.420471 -16265.340841    441.596200                    
+V  4 -15109.275087  14014.833433 -20863.514190      -.206603                    
+P  5   3106.663506 -15552.840354 -21467.467574     73.153988                    
+V  5  25910.402313   7526.167192  -1546.638669       .024696                    
+P  6  -7140.252647 -25348.982366   3136.440233   -163.957539                    
+V  6   2928.470168  -4401.609241 -30892.598947       .881189                    
+P  7  15481.653376  13193.342431 -16742.028463     63.159873                    
+V  7   2497.711514  22044.764400  19062.459865      -.302725                    
+P  8  13165.518462   8463.878841  21331.364771    -19.049009                    
+V  8 -21636.100813  16854.680219   6261.725485      -.011672                    
+P  9  11965.696614 -20978.193221 -11127.791693    -24.854094                    
+V  9  11988.712749  -6882.399222  27374.667358      -.017851                    
+P 10  20554.724200  -3766.834888  16506.343522     57.520487                    
+V 10  18941.094879   8968.817340 -21178.160746       .007208                    
+P 11 -10427.142517  22165.673888 -10055.629169    186.518718                    
+V 11 -11984.962772   6388.216348  26761.298634       .036838                    
+P 13   5792.154889  25783.918679   2935.534195    -13.805553                    
+V 13  -1359.141110   4024.417033 -31984.404195       .009482                    
+P 14 -14300.879823 -13270.826374 -17974.649186    -31.485881                    
+V 14  -2345.577987 -22797.306533  18619.658065      -.000889                    
+P 15 -19339.803469  -1798.407668  18041.905802    377.911725                    
+V 15  18232.568216 -14430.556443  17613.458396       .052992                    
+P 16 -23875.111340   -336.020989  11751.630256      1.990634                    
+V 16 -12992.735985  -7439.730264 -26736.994692      -.001709                    
+P 17  20030.867487 -16300.256135   4337.523995    -92.974348                    
+V 17   6229.489774   -128.069557 -31715.266082       .190940                    
+P 18 -16005.700085 -16868.530258  13123.310757   -118.962679                    
+V 18  15916.712626   4679.449732  25295.112112      -.037461                    
+P 19  -8858.930936  19740.919103  15521.384500    -11.876564                    
+V 19  -4009.836947 -19210.638329  22254.319899      -.008613                    
+P 20  -2161.169873  15301.146893 -21677.362823    -90.856638                    
+V 20 -25750.309981  -9203.849043  -3925.882966       .026947                    
+P 21  -7043.238551 -13890.702116  21472.175985     88.014811                    
+V 21  22274.294869 -15907.084016  -3427.461928       .010895                    
+P 22 -23036.981535 -12796.392190   3381.461816     16.259994                    
+V 22   4888.086603   -917.052286  31366.576869       .002613                    
+P 23   -578.303252  25635.613020  -6796.940917    211.488496                    
+V 23  -4038.960191  -7983.820955 -30283.826875       .005803                    
+P 24  19615.495084    702.644436 -17654.943980     89.469322                    
+V 24 -17569.849578  14826.348514 -18507.615649       .028934                    
+P 25 -20907.476489   5102.676443 -15199.576900     84.315406                    
+V 25  12695.730100 -15652.659216 -22128.881862       .007365                    
+P 26   8338.126918 -18522.027089  16466.946928    317.008765                    
+V 26   4936.699928  21195.440037  21538.612348       .055821                    
+P 27   7064.054388  14411.746551  21641.167351    513.478372                    
+V 27 -19871.569909  17289.493934  -5603.832307       .063276                    
+P 28  23209.908561  12554.378004   4531.631896     46.478838                    
+V 28  -5973.022537    341.598592  30819.874299       .000548                    
+P 29  10602.277393 -14807.018416  19543.655415    178.789536                    
+V 29   5326.440776  23676.598532  15394.663596      -.189639                    
+P 30  -8676.812248 -17209.229321 -18574.336111    444.215877                    
+V 30  22367.847255   5950.444796 -16070.986643      -.143474                    
+*  2005  1 20  1 45   .00000000                                                 
+P  1 -14677.847244   1187.145493 -21913.025632    383.820041                    
+V  1  -5387.590352 -27706.595648   2064.663366       .020229                    
+P  2  22087.256206 -11717.914643  -9141.048422    -42.630458                    
+V  2  -6399.402135   9589.781588 -28791.910863       .056804                    
+P  3 -14034.319000   7859.397367  20988.806955     78.078405                    
+V  3  -8775.251288 -25650.015615   3978.880821       .030403                    
+P  4  19664.042682   -528.626750 -17999.605019    441.577612                    
+V  4 -15998.978076  16234.752222 -17619.867880      -.206607                    
+P  5   5455.954211 -14932.159561 -21424.190600     73.157005                    
+V  5  26212.651544   6246.208094   2507.929518       .024698                    
+P  6  -6850.371653 -25597.851072    337.000675   -163.878443                    
+V  6   3578.371653  -1135.101025 -31227.421708       .881146                    
+P  7  15728.314622  15069.419692 -14884.029890     63.132645                    
+V  7   2926.008363  19592.124034  22163.578337      -.302732                    
+P  8  11238.588643  10048.768737  21707.415338    -19.049577                    
+V  8 -21106.930922  18313.933803   2080.557662      -.011673                    
+P  9  12927.672577 -21526.706892  -8575.510852    -24.856316                    
+V  9   9399.044891  -5232.581849  29263.258405      -.017857                    
+P 10  22173.778854  -3045.413908  14464.914994     57.522568                    
+V 10  16959.888509   7088.827250 -24121.268313       .007209                    
+P 11 -11401.017818  22660.574919  -7566.738655    186.522023                    
+V 11  -9673.082342   4546.302192  28467.412169       .036837                    
+P 13   5649.720276  25988.479909     39.994830    -13.804657                    
+V 13  -1879.074561    528.493305 -32268.763016       .009471                    
+P 14 -14548.729972 -15216.590279 -16148.507266    -31.486004                    
+V 14  -3103.537112 -20378.737172  21902.490817      -.000894                    
+P 15 -17665.774373  -3191.727646  19466.241326    377.916104                    
+V 15  18884.001368 -16512.417507  13990.631974       .052995                    
+P 16 -24929.569325   -930.314400   9251.618621      1.990470                    
+V 16 -10378.412685  -5809.880605 -28739.671045      -.001719                    
+P 17  20455.916318 -16231.043234   1452.718112    -92.958088                    
+V 17   3243.362573   1731.833192 -32295.605749       .190967                    
+P 18 -14447.077757 -16441.093336  15282.263692   -118.965945                    
+V 18  18684.659573   4748.922019  22613.418781      -.037465                    
+P 19  -9280.094078  17915.826579  17386.074420    -11.877146                    
+V 19  -5384.698835 -21273.271636  19124.508424      -.008620                    
+P 20  -4511.767002  14530.190112 -21844.469919    -90.854219                    
+V 20 -26400.780235  -7896.032735    217.745442       .026940                    
+P 21  -5092.615962 -15358.102290  20978.917943     88.015756                    
+V 21  21010.540035 -16637.045023  -7520.466877       .010890                    
+P 22 -22452.852339 -12831.449856   6167.312783     16.260399                    
+V 22   8098.723123     67.733182  30452.746210       .002629                    
+P 23   -990.493386  24778.316633  -9455.959711    211.489095                    
+V 23  -5177.420313 -11020.542094 -28720.693312       .005796                    
+P 24  17999.613541   2134.677122 -19160.927179     89.472006                    
+V 24 -18253.512917  16976.254443 -14908.030056       .028933                    
+P 25 -19724.934386   3586.289396 -17051.187094     84.316308                    
+V 25  13503.885422 -18025.408978 -18955.653225       .007378                    
+P 26   8853.290150 -16523.894162  18251.199993    317.014082                    
+V 26   6540.903974  23120.522199  18052.825867       .055812                    
+P 27   5339.237230  15991.159854  20959.556349    513.483840                    
+V 27 -18409.714956  17738.432737  -9525.458902       .063272                    
+P 28  22528.810112  12548.158067   7259.607039     46.478991                    
+V 28  -9161.864336   -409.161131  29717.181291       .000547                    
+P 29  11156.015139 -12621.985019  20760.135564    178.772754                    
+V 29   6991.132651  24791.171874  11601.647359      -.189647                    
+P 30  -6579.745876 -16702.877307 -19860.556640    444.202723                    
+V 30  24169.506607   5250.320070 -12471.948763      -.143482                    
+*  2005  1 20  2  0   .00000000                                                 
+P  1 -15226.819231  -1274.178876 -21535.836037    383.821890                    
+V  1  -6780.889288 -26898.668305   6304.711272       .020239                    
+P  2  21433.052060 -10740.588646 -11646.920922    -42.625316                    
+V  2  -8064.682737  12140.624301 -26816.008846       .056782                    
+P  3 -14881.352998   5558.674644  21163.017148     78.081034                    
+V  3 -10022.467695 -25393.423052   -111.760206       .030400                    
+P  4  18202.101422   1028.203764 -19427.691359    441.558976                    
+V  4 -16409.544541  18333.693668 -14068.878212      -.206612                    
+P  5   7809.682504 -14430.967389 -21017.135000     73.158519                    
+V  5  26006.863515   4884.855531   6526.012528       .024700                    
+P  6  -6484.722877 -25555.833161  -2468.257822   -163.799282                    
+V  6   4608.448951   2047.105854 -31021.306447       .881104                    
+P  7  15997.331489  16711.530097 -12764.646759     63.105398                    
+V  7   2988.072463  16859.930722  24862.901096      -.302739                    
+P  8   9379.504106  11749.997409  21704.384786    -19.050396                    
+V  8 -20137.193206  19427.249436  -2149.891748      -.011674                    
+P  9  13660.739715 -21907.201462  -5875.249456    -24.857763                    
+V  9   6916.366670  -3154.822109  30657.302165      -.017863                    
+P 10  23594.234661  -2484.900921  12177.021334     57.521672                    
+V 10  14536.884694   5406.659543 -26647.737873       .007210                    
+P 11 -12172.417466  22973.250089  -4946.313501    186.525330                    
+V 11  -7498.276720   2346.285670  29679.867339       .036837                    
+P 13   5441.047915  25881.846389  -2856.237571    -13.803807                    
+V 13  -2827.492164  -2874.276923 -31999.911415       .009460                    
+P 14 -14848.134854 -16928.858582 -14043.601041    -31.486194                    
+V 14  -3482.641960 -17622.513641  24805.536246      -.000897                    
+P 15 -15955.664563  -4765.683943  20552.561674    377.921602                    
+V 15  19036.673366 -18429.103942  10112.716771       .052998                    
+P 16 -25733.262114  -1390.534847   6593.222198      1.990347                    
+V 16  -7432.394757  -4470.754626 -30251.537103      -.001729                    
+P 17  20620.982006 -15977.526053  -1458.241515    -92.941039                    
+V 17    467.212292   3957.811710 -32294.882771       .190995                    
+P 18 -12650.023993 -16025.882919  17182.143317   -118.969361                    
+V 18  21200.756037   4413.658913  19545.839741      -.037469                    
+P 19  -9833.363606  15925.723935  18954.053227    -11.878032                    
+V 19  -6932.180988 -22869.992459  15670.112463      -.008627                    
+P 20  -6897.687061  13884.427948 -21638.262657    -90.851656                    
+V 20 -26531.058099  -6436.154596   4358.241139       .026932                    
+P 21  -3271.534163 -16872.869871  20121.973085     88.017086                    
+V 21  19407.403942 -16950.824828 -11497.472323       .010885                    
+P 22 -21579.551105 -12797.028013   8847.338191     16.260606                    
+V 22  11298.011475    625.547618  29018.599942       .002645                    
+P 23  -1519.591760  23661.521516 -11951.871336    211.489757                    
+V 23  -6627.155677 -13737.466807 -26664.691044       .005789                    
+P 24  16345.033350   3753.267140 -20330.241690     89.475463                    
+V 24 -18432.128613  18956.188094 -11037.039218       .028932                    
+P 25 -18490.911565   1863.031671 -18601.231404     84.317060                    
+V 25  13841.525033 -20233.976905 -15437.236066       .007392                    
+P 26   9519.439127 -14376.666508  19706.936531    317.019008                    
+V 26   8276.518192  24501.848732  14249.931338       .055803                    
+P 27   3757.840983  17591.379498  19930.703998    513.489541                    
+V 27 -16696.955753  17745.030743 -13309.795531       .063268                    
+P 28  21562.285930  12493.487446   9865.826734     46.479121                    
+V 28 -12300.301134   -735.237977  28118.154201       .000545                    
+P 29  11861.518367 -10360.771311  21626.339877    178.755650                    
+V 29   8683.652945  25367.561455   7621.641655      -.189656                    
+P 30  -4338.716210 -16272.481500 -20813.039583    444.189674                    
+V 30  25557.773146   4273.563089  -8664.776193      -.143490                    
+*  2005  1 20  2 15   .00000000                                                 
+P  1 -15891.547286  -3638.883538 -20781.573711    383.824214                    
+V  1  -7945.816986 -25566.973092  10431.628827       .020248                    
+P  2  20649.251990  -9531.783717 -13954.450598    -42.620178                    
+V  2  -9275.946021  14718.658387 -24391.016728       .056759                    
+P  3 -15832.627245   3303.202317  20969.014206     78.083545                    
+V  3 -11078.722718 -24650.017573  -4191.629699       .030398                    
+P  4  16724.236087   2765.101130 -20524.533979    441.540731                    
+V  4 -16356.963856  20221.580495 -10269.070289      -.206616                    
+P  5  10121.803757 -14052.786105 -20252.633035     73.159137                    
+V  5  25288.794908   3526.795459  10439.981648       .024703                    
+P  6  -6010.357803 -25234.614769  -5230.632693   -163.720154                    
+V  6   5987.743701   5054.788957 -30275.459306       .881061                    
+P  7  16254.253818  18098.517788 -10422.100660     63.078089                    
+V  7   2653.592429  13938.236230  27116.095479      -.302747                    
+P  8   7625.317707  13533.179658  21321.208655    -19.050919                    
+V  8 -18787.119941  20124.581753  -6354.531691      -.011676                    
+P  9  14178.354268 -22083.097261  -3072.967179    -24.860127                    
+V  9   4624.586143   -695.040510  31525.951420      -.017869                    
+P 10  24779.013427  -2063.989007   9682.053202     57.521356                    
+V 10  11734.167784   3998.258755 -28716.755259       .007211                    
+P 11 -12757.001027  23073.720568  -2239.843203    186.528696                    
+V 11  -5532.893870   -159.482609  30376.607401       .036836                    
+P 13   5128.821367  25476.843279  -5703.543290    -13.803023                    
+V 13  -4173.658588  -6086.203320 -31183.166671       .009449                    
+P 14 -15162.924398 -18381.173699 -11696.404993    -31.486287                    
+V 14  -3439.637316 -14617.570737  27279.020831      -.000900                    
+P 15 -14253.461178  -6501.274606  21280.875521    377.925332                    
+V 15  18713.665496 -20089.645076   6046.443694       .053001                    
+P 16 -26259.812729  -1745.451493   3821.870768      1.990123                    
+V 16  -4233.781423  -3477.809151 -31246.073234      -.001739                    
+P 17  20548.885339 -15509.647047  -4342.812891    -92.925069                    
+V 17  -2013.697876   6482.952996 -31709.630454       .191023                    
+P 18 -10640.976298 -15657.490506  18790.449372   -118.972412                    
+V 18  23382.703667   3717.031159  16142.929859      -.037474                    
+P 19 -10530.561874  13814.325820  20198.713983    -11.878540                    
+V 19  -8568.672668 -23964.037335  11949.836202      -.008635                    
+P 20  -9271.248696  13373.593116 -21062.190200    -90.849049                    
+V 20 -26124.982705  -4912.633987   8425.318833       .026924                    
+P 21  -1607.190004 -18395.387986  18914.977693     88.018150                    
+V 21  17540.989607 -16803.080535 -15287.735698       .010877                    
+P 22 -20422.442822 -12731.653922  11375.837383     16.261205                    
+V 22  14389.643162    757.220898  27090.604163       .002660                    
+P 23  -2190.775269  22317.322045 -14241.916723    211.490485                    
+V 23  -8322.954453 -16063.234927 -24152.696054       .005780                    
+P 24  14696.298955   5538.908872 -21141.497563     89.477677                    
+V 24 -18129.064935  20673.645431  -6962.967762       .028930                    
+P 25 -17246.995181    -48.124445 -19821.398299     84.317669                    
+V 25  13728.593741 -22186.053982 -11635.983598       .007406                    
+P 26  10344.154428 -12130.800055  20808.852394    317.023959                    
+V 26  10048.400485  25309.276543  10202.663393       .055793                    
+P 27   2338.956607  19170.982011  18569.790891    513.495040                    
+V 27 -14811.995324  17276.061785 -16894.255802       .063264                    
+P 28  20319.033335  12428.283109  12306.800438     46.479258                    
+V 28 -15296.292679   -646.299718  26050.225150       .000542                    
+P 29  12717.133799  -8072.056192  22128.409374    178.738732                    
+V 29  10311.587535  25403.482862   3520.960593      -.189664                    
+P 30  -1993.218693 -15939.811665 -21415.844924    444.176452                    
+V 30  26484.144850   3091.216515  -4711.967841      -.143497                    
+*  2005  1 20  2 30   .00000000                                                 
+P  1 -16647.813677  -5862.117003 -19663.735462    383.825467                    
+V  1  -8802.732836 -23765.243320  14372.245759       .020258                    
+P  2  19777.353597  -8093.152244 -16025.134147    -42.614987                    
+V  2 -10022.088013  17232.643036 -21560.559666       .056736                    
+P  3 -16867.569890   1135.045532  20410.990438     78.085460                    
+V  3 -11870.209299 -23461.305795  -8189.353493       .030395                    
+P  4  15270.765607   4659.211103 -21270.552964    441.522140                    
+V  4 -15874.317596  21813.851837  -6283.682013      -.206621                    
+P  5  12346.675101 -13793.519946 -19143.055789     73.162412                    
+V  5  24071.614551   2256.075212  14183.447229       .024706                    
+P  6  -5397.850101 -24653.717012  -7901.965771   -163.640783                    
+V  6   7669.176994   7804.618613 -29000.780043       .881019                    
+P  7  16462.667880  19217.566664  -7898.205267     63.050854                    
+V  7   1909.367461  10921.698147  28887.748952      -.302754                    
+P  8   6007.026656  15358.262298  20563.607943    -19.052926                    
+V  8 -17130.600988  20350.487332 -10457.912187      -.011677                    
+P  9  14501.166257 -22022.712600   -217.011591    -24.861890                    
+V  9   2599.108471   2084.114930  31847.147158      -.017874                    
+P 10  25697.248882  -1755.089139   7022.727790     57.522493                    
+V 10   8627.270046   2926.849065 -30295.288324       .007213                    
+P 11 -13176.495392  22937.320404    505.609972    186.532012                    
+V 11  -3838.974383  -2905.652184  30544.801314       .036836                    
+P 13   4679.285072  24794.763429  -8453.198742    -13.802037                    
+V 13  -5869.434691  -9017.381281 -29833.089902       .009439                    
+P 14 -15453.819409 -19555.454216  -9147.538255    -31.486526                    
+V 14  -2948.925925 -11460.516785  29280.744343      -.000902                    
+P 15 -12600.266500  -8371.620945  21637.396939    377.927936                    
+V 15  17955.799702 -21410.579488   1862.777803       .053005                    
+P 16 -26490.421888  -2028.143579    984.993219      1.990164                    
+V 16   -871.356077  -2871.051375 -31705.445738      -.001748                    
+P 17  20269.551687 -14804.058776  -7148.687698    -92.907486                    
+V 17  -4127.320677   9225.558990 -30548.534761       .191051                    
+P 18  -8453.329449 -15365.930407  20079.493348   -118.975995                    
+V 18  25158.675788   2717.051940  12460.933766      -.037479                    
+P 19 -11375.742556  11627.870494  21098.934570    -11.879545                    
+V 19 -10205.712909 -24536.246158   8026.695279      -.008643                    
+P 20 -11584.143964  12999.357620 -20125.983993    -90.846585                    
+V 20 -25184.846618  -3415.585628  12349.847226       .026914                    
+P 21   -119.514353 -19882.708848  17377.836751     88.019125                    
+V 21  15496.132149 -16165.436865 -18822.925278       .010869                    
+P 22 -18995.448372 -12672.963706  13709.861770     16.261335                    
+V 22  17280.382343    481.627303  24703.343537       .002674                    
+P 23  -3022.813525  20783.590087 -16287.005772    211.490976                    
+V 23 -10188.122532 -17941.198105 -21229.231169       .005770                    
+P 24  13095.018955   7464.100977 -21579.662612     89.480806                    
+V 24 -17385.972288  22044.072299  -2758.548229       .028929                    
+P 25 -16032.163528  -2120.208326 -20689.271961     84.317721                    
+V 25  13202.920096 -23796.837610  -7620.342515       .007419                    
+P 26  11326.307411  -9838.484355  21538.387055    317.029417                    
+V 26  11758.866737  25534.506137   5987.840023       .055784                    
+P 27   1094.327221  20686.281225  16897.568234    513.500627                    
+V 27 -12838.932052  16314.696357 -20217.787896       .063260                    
+P 28  18815.870870  12388.819118  14541.828790     46.479065                    
+V 28 -18061.936091   -169.050290  23547.905791       .000541                    
+P 29  13712.938849  -5803.891592  22258.522939    178.721702                    
+V 29  11784.171522  24915.078691   -632.698704      -.189673                    
+P 30    413.555053 -15719.867720 -21658.766365    444.163753                    
+V 30  26915.235564   1782.195013   -678.292696      -.143505                    
+*  2005  1 20  2 45   .00000000                                                 
+P  1 -17464.763765  -7904.609779 -18202.248173    383.827328                    
+V  1  -9284.304208 -21563.365707  18057.069184       .020268                    
+P  2  18859.037684  -6434.544496 -17824.671225    -42.609851                    
+V  2 -10310.096836  19592.209256 -18374.263137       .056713                    
+P  3 -17959.393851   -908.154943  19499.476419     78.088197                    
+V  3 -12333.085275 -21883.749557 -12035.665835       .030393                    
+P  4  13878.307152   6680.442307 -21652.037151    441.503496                    
+V  4 -15010.523577  23034.776341  -2179.727449      -.206626                    
+P  5  14440.612299 -13641.662331 -17706.653501     73.164673                    
+V  5  22385.570157   1152.785121  17692.330109       .024708                    
+P  6  -4622.673515 -23839.729022 -10435.514938   -163.561488                    
+V  6   9591.278852  10223.364766 -27217.811425       .880976                    
+P  7  16585.758531  20064.447369  -5237.545729     63.023591                    
+V  7    759.679812   7905.856316  30151.726196      -.302761                    
+P  8   4548.472738  17180.955403  19444.053912    -19.054784                    
+V  8 -15252.217521  20066.623400 -14385.732266      -.011678                    
+P  9  14656.110315 -21700.683864   2642.713514    -24.863710                    
+V  9    903.689832   5105.286832  31608.500037      -.017880                    
+P 10  26325.375441  -1525.584046   4244.369499     57.522935                    
+V 10   5302.401130   2240.603072 -31358.487328       .007215                    
+P 11 -13457.654798  22545.760856   3242.255406    186.535360                    
+V 11  -2465.833827  -5816.302576  30181.125642       .036835                    
+P 13   4063.731818  23864.516375 -11058.196616    -13.801278                    
+V 13  -7851.135580 -11588.969538 -27973.199881       .009428                    
+P 14 -15680.074618 -20442.521568  -6441.050210    -31.486735                    
+V 14  -2003.644155  -8251.955821  30776.784062      -.000902                    
+P 15 -11032.767417 -10342.802931  21614.869974    377.933904                    
+V 15  16820.050229 -22319.449078  -2364.358952       .053009                    
+P 16 -26414.596463  -2274.533969  -1868.781339      1.989967                    
+V 16   2559.648322  -2673.454525 -31620.864442      -.001759                    
+P 17  19818.677283 -13845.308422  -9824.886512    -92.890814                    
+V 17  -5817.921376  12092.504566 -28832.403703       .191079                    
+P 18  -6126.369018 -15175.419404  21026.874589   -118.979690                    
+V 18  26470.005252   1484.124194   8560.971676      -.037482                    
+P 19 -12364.908990   9413.503175  21639.420384    -11.880303                    
+V 19 -11753.451414 -24585.669882   3967.001154      -.008650                    
+P 20 -13789.103871  12755.340618 -18845.502933    -90.844171                    
+V 20 -23731.385724  -2033.254304  16064.978542       .026905                    
+P 21   1179.465702 -21290.152317  15536.444680     88.020165                    
+V 21  13363.051110 -15027.959394 -22038.504643       .010861                    
+P 22 -17320.612432 -12656.115229  15809.915192     16.261699                    
+V 22  19883.487117   -165.245281  21898.830472       .002688                    
+P 23  -4027.170498  19102.557489 -18052.367787    211.491678                    
+V 23 -12137.546446 -19331.391970 -17945.608897       .005760                    
+P 24  11578.292203   9494.225577 -21636.395983     89.483737                    
+V 24 -16261.069259  22994.441759   1500.503175       .028927                    
+P 25 -14881.242495  -4319.091779 -21188.819588     84.317039                    
+V 25  12318.622696 -24992.644242  -3463.465117       .007434                    
+P 26  12456.023504  -7551.669241  21884.008171    317.034594                    
+V 26  13311.950314  25191.082901   1684.517120       .055775                    
+P 27     27.996991  22092.857148  14940.177020    513.506184                    
+V 27 -10864.232061  14861.592293 -23221.838672       .063256                    
+P 28  17077.226083  12408.239241  16533.617629     46.479040                    
+V 28 -20516.538899    653.885691  20652.263645       .000541                    
+P 29  14831.045642  -3602.073663  22014.977981    178.704782                    
+V 29  13015.721786  23936.155642  -4771.225931      -.189681                    
+P 30   2836.136844 -15620.305618 -21537.495323    444.150951                    
+V 30  26833.999083    430.261115   3370.109629      -.143512                    
+*  2005  1 20  3  0   .00000000                                                 
+P  1 -18306.143988  -9734.004515 -16423.078023    383.831107                    
+V  1  -9338.304128 -19044.535457  21421.594285       .020278                    
+P  2  17934.561843  -4573.779347 -19323.463924    -42.604746                    
+V  2 -10164.459121  21711.187152 -14886.847205       .056690                    
+P  3 -19076.112806  -2794.425935  18251.095792     78.091671                    
+V  3 -12416.040863 -19986.397687 -15664.625424       .030391                    
+P  4  12578.430637   8792.400062 -21661.438012    441.484752                    
+V  4 -13828.464622  23820.488365   1973.040970      -.206630                    
+P  5  16363.388052 -13578.797460 -15967.299275     73.165654                    
+V  5  20277.021827    289.855244  20905.935334       .024711                    
+P  6  -3666.395945 -22825.268269 -12786.812086   -163.482378                    
+V  6  11680.530772  12250.728020 -24956.484544       .880934                    
+P  7  16587.872582  20643.431337  -2486.636059     62.996546                    
+V  7   -774.045840   4983.483098  30891.303820      -.302768                    
+P  8   3265.532108  18954.358897  17981.595637    -19.056252                    
+V  8 -13243.794966  19253.571560 -18066.375040      -.011679                    
+P  9  14675.229635 -21099.172188   5455.651922    -24.864349                    
+V  9   -412.322055   8279.122511  30808.003084      -.017885                    
+P 10  26647.950439  -1339.266238   1394.160128     57.524468                    
+V 10   1853.314128   1970.890665 -31889.962749       .007216                    
+P 11 -13631.025851  21887.955495   5922.435255    186.538578                    
+V 11  -1448.162448  -8807.811390  29291.852526       .036836                    
+P 13   3259.795722  22721.500888 -13474.033905    -13.800477                    
+V 13 -10041.980898 -13736.036953 -25635.546707       .009419                    
+P 14 -15801.185509 -21042.288507  -3623.649541    -31.486849                    
+V 14   -615.999387  -5092.673919  31742.045897      -.000901                    
+P 15  -9581.879099 -12374.992768  21212.772745    377.937808                    
+V 15  15377.271349 -22757.905965  -6559.483370       .053013                    
+P 16 -26030.574055  -2521.809123  -4690.448167      1.989610                    
+V 16   5961.046543  -2890.027263 -30992.795033      -.001768                    
+P 17  19236.148895 -12626.692904 -12322.834004    -92.873306                    
+V 17  -7048.435279  14983.169306 -26593.752963       .191107                    
+P 18  -3703.982873 -15103.381291  21615.879198   -118.982844                    
+V 18  27273.414766     98.309871   4508.138743      -.037484                    
+P 19 -13486.047332   7217.634891  21810.953609    -11.881263                    
+V 19 -13124.162138 -24129.506055   -160.697114      -.008656                    
+P 20 -15841.531996  12627.435143 -17242.477979    -90.841674                    
+V 20 -21803.082085   -848.516192  19507.250909       .026896                    
+P 21   2285.950049 -22573.004814  13422.281966     88.021012                    
+V 21  11233.730197 -13399.899573 -24875.099710       .010854                    
+P 22 -15427.374868 -12712.313986  17640.587705     16.261920                    
+V 22  22121.857787  -1131.866091  18725.719438       .002702                    
+P 23  -5207.396606  17319.250154 -19508.120314    211.492146                    
+V 23 -14081.063272 -20211.853081 -14358.978631       .005750                    
+P 24  10177.320859  11588.730682 -21310.248449     89.486590                    
+V 24 -14826.715768  23466.389235   5737.017159       .028925                    
+P 25 -13823.538706  -6604.636609 -21310.746350     84.317587                    
+V 25  11143.790983 -25714.086267    758.336568       .007449                    
+P 26  13715.023416  -5320.134808  21841.330509    317.039417                    
+V 26  14617.507418  24313.442668  -2627.835163       .055765                    
+P 27   -863.758261  23347.157428  12728.876543    513.511608                    
+V 27  -8973.512441  12935.406281 -25851.402493       .063253                    
+P 28  15134.357604  12515.195215  18248.842397     46.479195                    
+V 28 -22589.434713   1765.631287  17410.343752       .000541                    
+P 29  16046.205589  -1508.610238  21402.184854    178.687644                    
+V 29  13928.865474  22516.815770  -8827.043879      -.189690                    
+P 30   5228.286541 -15641.144202 -21053.703005    444.138083                    
+V 30  26240.388330   -879.177297   7366.649602      -.143520                    
+*  2005  1 20  3 15   .00000000                                                 
+P  1 -19131.763828 -11325.905978 -14357.727226    383.833867                    
+V  1  -8929.774341 -16301.898570  24407.488129       .020286                    
+P  2  17041.235753  -2536.123680 -20497.033759    -42.599594                    
+V  2  -9625.946310  23510.734719 -11157.201806       .056667                    
+P  3 -20181.765267  -4498.470743  16688.215259     78.094250                    
+V  3 -12082.341499 -17848.065990 -19014.725126       .030389                    
+P  4  11396.507314  10953.576414 -21297.565909    441.465864                    
+V  4 -12402.558271  24121.625542   6103.262518      -.206635                    
+P  5  18079.615587 -13580.380477 -13954.136614     73.167983                    
+V  5  17806.865050   -269.911825  23768.012521       .024715                    
+P  6  -2517.638329 -21647.707765 -14914.488839   -163.403168                    
+V  6  13854.233054  13841.669733 -22255.657127       .880891                    
+P  7  16436.020991  20966.885142    306.926382     62.969339                    
+V  7  -2654.251397   2241.151096  31099.104444      -.302775                    
+P  8   2165.631692  20630.719175  16201.549834    -19.056083                    
+V  8 -11200.617883  17911.890153 -21432.425547      -.011679                    
+P  9  14594.274600 -20208.797331   8171.553773    -24.865908                    
+V  9  -1316.209690  11507.604709  29454.526991      -.017891                    
+P 10  26658.182242  -1157.905440  -1479.630586     57.525411                    
+V 10  -1622.077193   2131.161202 -31881.944690       .007217                    
+P 11 -13729.567908  20960.571822   8499.484591    186.542029                    
+V 11   -804.722859 -11792.042837  27892.739873       .036836                    
+P 13   2252.501491  21406.244659 -15659.455588    -13.799674                    
+V 13 -12355.042698 -15409.874699 -22860.154455       .009410                    
+P 14 -15778.591811 -21363.603801   -743.890854    -31.486841                    
+V 14   1183.140399  -2079.838773  32160.654682      -.000900                    
+P 15  -8271.621019 -14423.845192  20437.391749    377.943229                    
+V 15  13709.322667 -22684.287715 -10647.033935       .053017                    
+P 16 -25345.425870  -2806.786372  -7431.463757      1.989247                    
+V 16   9235.330004  -3507.577816 -29831.018223      -.001775                    
+P 17  18564.289685 -11150.741686 -14597.379911    -92.856620                    
+V 17  -7801.955516  17793.743169 -23876.018585       .191135                    
+P 18  -1233.195822 -15159.715301  21835.794194   -118.986381                    
+V 18  27542.703701  -1353.786469    370.523484      -.037486                    
+P 19 -14719.473506   5084.337305  21610.545808    -11.882044                    
+V 19 -14235.681568 -23202.366329  -4286.701241      -.008660                    
+P 20 -17701.045216  12594.441800 -15344.159355    -90.839267                    
+V 20 -19454.802150     64.422308  22617.648141       .026886                    
+P 21   3204.356177 -23688.250341  11071.891075     88.021768                    
+V 21   9198.172978 -11309.656800 -27279.806969       .010849                    
+P 22 -13351.575264 -12867.506643  19171.115049     16.262362                    
+V 22  23930.801732  -2353.303220  15238.444014       .002715                    
+P 23  -6558.832942  15479.834690 -20629.748714    211.492718                    
+V 23 -15927.004391 -20579.240418 -10531.299466       .005739                    
+P 24   8916.270341  13702.569275 -20606.721738     89.489894                    
+V 24 -13166.372500  23418.757911   9873.966024       .028922                    
+P 25 -12881.710450  -8932.102532 -21052.705870     84.318257                    
+V 25   9757.539742 -25918.656957   4967.246906       .007464                    
+P 26  15077.319726  -3189.687461  21413.074208    317.044554                    
+V 26  15594.979598  22955.081521  -6871.069053       .055756                    
+P 27  -1592.206212  24408.116549  10299.675178    513.517487                    
+V 27  -7248.237471  10572.668124 -28056.141490       .063249                    
+P 28  13024.338754  12732.657976  19658.658117     46.479067                    
+V 28 -24222.453049   3097.222050  13874.537966       .000542                    
+P 29  17326.691435    439.663172  20430.577232    178.670534                    
+V 29  14457.461253  20721.534258 -12734.029546      -.189698                    
+P 30   7544.529570 -15774.764382 -20215.038741    444.125354                    
+V 30  25151.424572  -2062.342505  11245.227764      -.143527                    
+*  2005  1 20  3 30   .00000000                                                 
+P  1 -19899.120624 -12664.611218 -12042.630915    383.835395                    
+V  1  -8042.469762 -13434.827965  26963.621382       .020294                    
+P  2  16212.031463   -353.502963 -21326.355091    -42.594566                    
+V  2  -8749.839848  24922.167252  -7247.456388       .056644                    
+P  3 -21237.796191  -6002.408397  14838.500117     78.097339                    
+V  3 -11311.276422 -15554.186899 -22029.879237       .030386                    
+P  4  10350.799334  13118.755365 -20565.680948    441.447175                    
+V  4 -10815.847188  23905.455764  10139.177414      -.206639                    
+P  5  19559.964465 -13616.769655 -11701.132810     73.171427                    
+V  5  15048.388781   -476.455374  26227.784393       .024718                    
+P  6  -1172.756036 -20347.720156 -16781.051527   -163.323878                    
+V  6  16023.782803  14968.135399 -19162.448842       .880849                    
+P  7  16101.262697  21054.570467   3095.292424     62.941842                    
+V  7  -4828.853364   -243.857517  30776.856756      -.302782                    
+P  8   1247.615392  22163.243255  14135.056617    -19.056592                    
+V  8  -9217.470375  16062.333191 -24422.124332      -.011681                    
+P  9  14451.130152 -19029.249903  10741.465071    -24.866741                    
+V  9  -1793.465916  14687.842896  27568.032532      -.017897                    
+P 10  26358.147198   -942.886883  -4328.423619     57.525902                    
+V 10  -5025.209670   2716.490396 -31335.328392       .007218                    
+P 11 -13787.185332  19768.286410  10928.572822    186.545354                    
+V 11   -537.700441 -14679.724417  26008.725921       .036836                    
+P 13   1035.030141  19962.863159 -17577.142642    -13.798972                    
+V 13 -14696.578904 -16579.690557 -19694.343238       .009402                    
+P 14 -15577.311047 -21423.761048   2148.666395    -31.486878                    
+V 14   3345.384826    696.640197  32026.179320      -.000900                    
+P 15  -7118.274693 -16442.090818  19301.760154    377.948528                    
+V 15  11905.704683 -22075.535666 -14552.903593       .053021                    
+P 16 -24374.832232  -3164.291888 -10044.580914      1.989215                    
+V 16  12289.289371  -4495.187831 -28154.530183      -.001781                    
+P 17  17846.013467  -9429.303590 -16607.733525    -92.839652                    
+V 17  -8082.272093  20421.682156 -20732.429888       .191164                    
+P 18   1237.420418 -15346.358351  21682.129950   -118.990159                    
+V 18  27269.821959  -2782.411717  -3781.847395      -.037485                    
+P 19 -16038.481491   3053.832597  21041.491658    -11.882819                    
+V 19 -15014.646527 -21854.903096  -8341.269956      -.008665                    
+P 20 -19332.863607  12628.985952 -13182.870880    -90.836900                    
+V 20 -16755.816930    643.003357  25342.600997       .026877                    
+P 21   3946.973232 -24596.261962   8526.238907     88.022881                    
+V 21   7340.695625  -8803.937421 -29207.399364       .010844                    
+P 22 -11134.229451 -13141.289821  20375.857596     16.262564                    
+V 22  25260.321117  -3753.849254  11496.293062       .002727                    
+P 23  -8068.637143  13629.941010 -21398.490719    211.493272                    
+V 23 -17585.776605 -20448.748324  -6528.259179       .005729                    
+P 24   7811.425739  15787.836247 -19538.183197     89.491579                    
+V 24 -11371.077686  22829.432691  13836.075801       .028920                    
+P 25 -12070.926991 -11253.756186 -20419.358716     84.317822                    
+V 25   8246.571173 -25582.595525   9085.658572       .007480                    
+P 26  16510.230541  -1200.555693  20608.872733    317.049729                    
+V 26  16176.653383  21185.970909 -10969.954543       .055746                    
+P 27  -2175.636290  25238.733407   7692.857941    513.522686                    
+V 27  -5762.445664   7826.976265 -29791.554235       .063246                    
+P 28  10788.837418  13076.943490  20739.150282     46.479290                    
+V 28 -25371.964869   4570.197671  10101.902207       .000543                    
+P 29  18635.424879   2212.271928  19116.440743    178.653546                    
+V 29  14549.120761  18626.750674 -16428.409591      -.189707                    
+P 30   9741.673747 -16006.202309 -19035.042941    444.112426                    
+V 30  23600.668563  -3040.326419  14941.191245      -.143535                    
+*  2005  1 20  3 45   .00000000                                                 
+P  1 -20565.120010 -13743.494051  -9518.468768    383.836590                    
+V  1  -6679.533483 -10544.993052  29046.928513       .020303                    
+P  2  15474.375953   1936.526034 -21798.104931    -42.589486                    
+V  2  -7603.668730  25889.400246  -3222.053342       .056622                    
+P  3 -22204.540495  -7296.219378  12734.386877     78.099811                    
+V  3 -10098.969465 -13193.458762 -24660.277183       .030384                    
+P  4   9451.828995  15240.582840 -19477.472111    441.428582                    
+V  4  -9156.712282  23157.396520  14009.897430      -.206643                    
+P  5  20782.160678 -13654.473920  -9246.541984     73.174665                    
+V  5  12084.636978   -294.610376  28240.922352       .024720                    
+P  6    363.788233 -18967.697126 -18353.587601   -163.244321                    
+V  6  18098.227505  15620.090888 -15731.384787       .880807                    
+P  7  15559.920021  20932.685163   5831.164294     62.914584                    
+V  7  -7233.361593  -2406.198835  29935.010686      -.302789                    
+P  8    501.967909  23507.894122  11818.509096    -19.057646                    
+V  8  -7384.678379  13745.213209 -26980.709506      -.011682                    
+P  9  14284.135142 -17569.543295  13118.729171    -24.868102                    
+V  9  -1848.555304  17716.272363  25179.546871      -.017904                    
+P 10  25758.689394   -656.860023  -7104.108449     57.525965                    
+V 10  -8260.388232   3703.801279 -30259.610219       .007219                    
+P 11 -13837.231729  18323.732931  13167.509099    186.548714                    
+V 11   -632.732547 -17383.871342  23673.436304       .036835                    
+P 13   -390.827997  18437.396155 -19194.334040    -13.798275                    
+V 13 -16969.627128 -17233.625122 -16191.942074       .009395                    
+P 14 -15167.438610 -21247.692395   5004.311771    -31.486668                    
+V 14   5806.638847   3157.451564  31341.691856      -.000901                    
+P 15  -6129.861103 -18381.268776  17825.457473    377.953767                    
+V 15  10059.844206 -20928.357972 -18205.979925       .053025                    
+P 16 -23142.537592  -3625.612875 -12484.667610      1.989011                    
+V 16  15037.491195  -5805.383648 -25991.281497      -.001787                    
+P 17  17122.974174  -7483.234558 -18318.283365    -92.821955                    
+V 17  -7913.440765  22770.082349 -17224.595374       .191192                    
+P 18   3659.404382 -15657.160767  21156.744707   -118.994010                    
+V 18  26465.281092  -4098.215041  -7878.128046      -.037479                    
+P 19 -17410.269516   1161.134022  20113.322785    -11.883479                    
+V 19 -15399.413083 -20151.844456 -12255.730700      -.008669                    
+P 20 -20708.996890  12698.684149 -10795.477432    -90.834434                    
+V 20 -13787.273822    838.859665  27634.913643       .026869                    
+P 21   4533.290318 -25262.381980   5829.976950     88.023989                    
+V 21   5736.422479  -5946.128622 -30621.386442       .010838                    
+P 22  -8820.124498 -13546.073205  21234.693972     16.262762                    
+V 22  26076.848549  -5250.029241   7562.440808       .002741                    
+P 23  -9716.128166  11813.024243 -21801.622006    211.493866                    
+V 23 -18973.345867 -19853.324330  -2418.158685       .005718                    
+P 24   6870.681244  17795.534937 -18123.636398     89.493202                    
+V 24  -9535.597863  21696.374377  17551.407046       .028919                    
+P 25 -11398.353481 -13520.612011 -19422.276481     84.318611                    
+V 25   6701.405697 -24701.940910  13037.882271       .007495                    
+P 26  17975.659074    613.953131  19444.945198    317.054870                    
+V 26  16310.292624  19089.369187 -14853.592597       .055737                    
+P 27  -2638.549626  25807.545131   4952.407907    513.528755                    
+V 27  -4579.638611   4767.495575 -31020.159443       .063242                    
+P 28   8472.733460  13556.988041  21471.721903     46.479426                    
+V 28 -26010.436891   6099.538940   6153.420420       .000543                    
+P 29  19931.310068   3786.055087  17481.662174    178.636464                    
+V 29  14167.249902  16318.053511 -19849.629923      -.189716                    
+P 30  11780.251884 -16313.728339 -17532.973386    444.099828                    
+V 30  21637.103207  -3742.183679  18392.302395      -.143543                    
+*  2005  1 20  4  0   .00000000                                                 
+P  1 -21087.821739 -14565.032696  -6829.407439    383.839376                    
+V  1  -4863.385994  -7732.387603  30623.083367       .020311                    
+P  2  14849.166106   4292.002213 -21904.829761    -42.584325                    
+V  2  -6264.544261  26370.933532    853.168857       .056600                    
+P  3 -23042.750092  -8377.885738  10412.485327     78.101513                    
+V  3  -8458.534957 -10854.427561 -26863.097219       .030382                    
+P  4   8702.056301  17271.243079 -18050.920079    441.409789                    
+V  4  -7515.330116  21881.849574  17646.715293      -.206648                    
+P  5  21731.730239 -13657.569886  -6632.283572     73.177097                    
+V  5   9005.363643    294.293634  29770.445788       .024722                    
+P  6   2079.378192 -17550.108484 -19604.386977   -163.164980                    
+V  6  19987.944217  15805.821190 -12023.365307       .880764                    
+P  7  14794.584168  20632.688916   8468.558778     62.887094                    
+V  7  -9793.407617  -4194.595502  28592.237249      -.302796                    
+P  8    -88.612066  24625.090772   9292.868915    -19.059296                    
+V  8  -5784.333573  11018.927487 -29061.602490      -.011684                    
+P  9  14130.372086 -15847.882844  15259.961714    -24.869567                    
+V  9  -1504.867301  20492.891916  22330.671685      -.017910                    
+P 10  24879.008088   -265.337428  -9759.810308     57.527132                    
+V 10 -11238.188790   5052.747057 -28672.718091       .007221                    
+P 11 -13911.047350  16647.145179  15177.495421    186.552198                    
+V 11  -1059.612853 -19823.116754  20928.517212       .036834                    
+P 13  -2014.550424  16876.084716 -20483.373446    -13.797451                    
+V 13 -19077.724965 -17379.054662 -12412.404733       .009390                    
+P 14 -14525.456344 -20866.879999   7774.035640    -31.487306                    
+V 14   8489.525806   5236.794808  30119.662801      -.000900                    
+P 15  -5305.962245 -20193.527467  16034.272006    377.958590                    
+V 15   8265.189973 -19259.572608 -21539.647034       .053028                    
+P 16 -21679.504324  -4217.085183 -14709.495085      1.988775                    
+V 16  17405.472683  -7375.965358 -23377.754951      -.001793                    
+P 17  16433.796609  -5341.703820 -19699.279180    -92.805472                    
+V 17  -7338.418621  24751.749924 -13420.869512       .191221                    
+P 18   5986.068062 -16078.083774  20267.865962   -118.996727                    
+V 18  25157.875142  -5215.825215 -11847.823878      -.037475                    
+P 19 -18797.110507   -565.112604  18841.661781    -11.884365                    
+V 19 -15342.548659 -18169.507407 -15963.584007      -.008674                    
+P 20 -21809.181995  12767.515890  -8222.773008    -90.832045                    
+V 20 -10639.210940    619.820006  29454.598877       .026860                    
+P 21   4989.024613 -25658.322436   3030.614134     88.025073                    
+V 21   4448.145992  -2813.944426 -31494.888288       .010831                    
+P 22  -6456.284462 -14086.526389  21733.325808     16.262983                    
+V 22  26364.376166  -6753.878855   3502.943896       .002754                    
+P 23 -11473.435380  10068.826974 -21832.640488    211.494229                    
+V 23 -20014.495377 -18842.230192   1729.220288       .005708                    
+P 24   6093.384195  19677.398732 -16388.352712     89.494754                    
+V 24  -7754.426450  20037.804511  20952.855876       .028918                    
+P 25 -10862.983342 -15684.229464 -18079.694269     84.319887                    
+V 25   5212.460375 -23292.725364  16751.796097       .007511                    
+P 26  19431.578574   2228.488169  17943.650758    317.059796                    
+V 26  15961.058493  16758.199020 -18456.619318       .055727                    
+P 27  -3010.581505  26089.934534   2125.322012    513.534091                    
+V 27  -3749.971388   1476.766742 -31712.651302       .063239                    
+P 28   6122.620443  14173.899950  21843.411842     46.479511                    
+V 28 -26127.440594   7596.858061   2093.213145       .000543                    
+P 29  21170.726649   5145.849899  15553.401595    178.619326                    
+V 29  13292.543194  13887.048877 -22941.198690      -.189724                    
+P 30  13625.838336 -16669.693698 -15733.544029    444.086968                    
+V 30  19323.455660  -4107.769451  21539.712849      -.143551                    
+*  2005  1 20  4 15   .00000000                                                 
+P  1 -21428.140716 -15140.484147  -4022.290788    383.843618                    
+V  1  -2634.846215  -5091.478208  31666.983297       .020318                    
+P  2  14350.038201   6667.942872 -21645.030395    -42.579228                    
+V  2  -4816.185507  26341.319898   4911.879801       .056577                    
+P  3 -23715.105727  -9253.225443   7912.922752     78.103013                    
+V  3  -6419.587048  -8622.131359 -28603.077817       .030380                    
+P  4   8095.881746  19164.177282 -16310.041482    441.390918                    
+V  4  -5980.012022  20102.298806  20984.425598      -.206652                    
+P  5  22402.454476 -13589.234888  -3903.244230     73.180112                    
+V  5   5903.690997   1291.464602  30787.520413       .024723                    
+P  6   3953.528585 -16135.868314 -20511.463757   -163.085783                    
+V  6  21608.286764  15551.474562  -8104.486699       .880721                    
+P  7  13794.878789  20189.962776  10963.521238     62.859632                    
+V  7 -12427.574129  -5573.393294  26774.841128      -.302803                    
+P  8   -548.313531  25481.240135   6602.883603    -19.061452                    
+V  8  -4486.871924   7957.709209 -30627.397719      -.011685                    
+P  9  14023.995378 -13891.155480  17125.975134    -24.871108                    
+V  9   -803.855000  22925.481190  19072.931951      -.017917                    
+P 10  23745.948428    261.814428 -12250.637544     57.527558                    
+V 10 -13878.630466   6707.222839 -26600.739708       .007222                    
+P 11 -14036.589122  14765.709757  16923.812561    186.555513                    
+V 11  -1773.637928 -21924.810982  17822.813093       .036833                    
+P 13  -3817.094979  15323.653496 -21422.172443    -13.796608                    
+V 13 -20928.618882 -17042.171182  -8419.841255       .009385                    
+P 14 -13635.299375 -20318.028691  10410.364360    -31.487090                    
+V 14  11306.319044   6884.757646  28381.698070      -.000898                    
+P 15  -4637.896137 -21833.418140  13959.731572    377.963983                    
+V 15   6611.291672 -17105.603993 -24493.202524       .053031                    
+P 16 -20022.796477  -4958.872750 -16680.480813      1.988451                    
+V 16  19332.528028  -9132.427548 -20358.385830      -.001798                    
+P 17  15812.468775  -3041.155000 -20727.359955    -92.788219                    
+V 17  -6416.857123  26292.769292  -9394.577440       .191249                    
+P 18   8174.103722 -16587.715063  19030.004786   -119.000234                    
+V 18  23393.708112  -6057.318914 -15621.997582      -.037472                    
+P 19 -20157.724052  -2103.543375  17247.977653    -11.885074                    
+V 19 -14812.803492 -15992.877727 -19401.587158      -.008678                    
+P 20 -22621.535359  12797.348610  -5508.798331    -90.829740                    
+V 20  -7407.223143    -28.702618  30769.605917       .026853                    
+P 21   5344.888902 -25763.324426    177.620724     88.026005                    
+V 21   3523.699015    503.560990 -31811.288322       .010824                    
+P 22  -4090.363138 -14759.328483  21863.491181     16.263230                    
+V 22  26124.944863  -8176.373810   -614.283165       .002768                    
+P 23 -13306.426269   8431.998341 -21491.348547    211.494795                    
+V 23 -20645.740410 -17479.007166   5843.748261       .005698                    
+P 24   5470.539309  21387.690646 -14363.373099     89.496258                    
+V 24  -6117.811668  17891.533170  23979.529723       .028917                    
+P 25 -10455.823486 -17698.488640 -16416.119540     84.320852                    
+V 25   3866.160721 -21390.304188  20160.379727       .007526                    
+P 26  20833.656145   3626.351545  16132.944563    317.064787                    
+V 26  15112.671804  14291.166897 -21720.188067       .055717                    
+P 27  -3325.189860  26069.210906   -739.173922    513.539591                    
+V 27  -3307.886750  -1952.129783 -31848.974188       .063235                    
+P 28   3785.242622  14920.806088  21847.139334     46.479497                    
+V 28 -25730.076191   8973.741395  -2012.311601       .000543                    
+P 29  22309.130687   6284.884004  13363.689891    178.602029                    
+V 29  11923.879388  11428.013621 -25651.500593      -.189733                    
+P 30  15250.190983 -17041.617110 -13666.576244    444.074094                    
+V 30  16734.005494  -4090.217331  24328.933454      -.143559                    
+*  2005  1 20  4 30   .00000000                                                 
+P  1 -21551.436090 -15489.223120  -1145.795192    383.846919                    
+V  1    -51.533725  -2707.625878  32163.041149       .020324                    
+P  2  13982.915324   9017.833807 -21023.166072    -42.573950                    
+V  2  -3345.734997  25792.077261   8888.147716       .056554                    
+P  3 -24187.656648  -9935.432193   5278.643110     78.105731                    
+V  3  -4027.134479  -6574.930608 -29852.947957       .030379                    
+P  4   7619.978380  20875.776916 -14284.514909    441.372328                    
+V  4  -4633.573034  17860.648072  23962.625882      -.206656                    
+P  5  22796.515876 -13413.336651  -1106.513375     73.182719                    
+V  5   2872.596682   2680.364215  31272.130540       .024724                    
+P  6   5958.490700 -14762.775579 -21058.966205   -163.006091                    
+V  6  22883.043581  14899.869529  -4044.742740       .880678                    
+P  7  12557.959496  19642.355494  13274.783797     62.832528                    
+V  7 -15050.414759  -6523.517305  24516.111220      -.302810                    
+P  8   -907.028825  26050.035354   3796.224935    -19.062662                    
+V  8  -3548.163281   4648.704445 -31650.624240      -.011685                    
+P  9  13994.681950 -11734.045538  18682.626431    -24.872740                    
+V  9    196.805139  24933.597119  15466.681833      -.017924                    
+P 10  22393.021130    949.046808 -14534.400029     57.529492                    
+V 10 -16114.008977   8597.453604 -24077.551181       .007222                    
+P 11 -14237.208617  12712.654999  18376.425829    186.558922                    
+V 11  -2717.535705 -23627.764486  14411.411146       .036831                    
+P 13  -5771.440470  13821.662827 -21994.583302    -13.795679                    
+V 13 -22437.824513 -16266.856242  -4281.978337       .009380                    
+P 14 -12489.140468 -19641.552138  12868.164949    -31.486879                    
+V 14  14162.266830   8069.070650  26158.125524      -.000899                    
+P 15  -4109.238822 -23259.605486  11638.512250    377.970109                    
+V 15   5180.039233 -14521.148088 -27013.144464       .053034                    
+P 16 -18214.235401  -5863.988225 -18363.372472      1.988426                    
+V 16  20773.974279 -10990.881352 -16984.831842      -.001802                    
+P 17  15286.965798   -623.974855 -21385.918760    -92.770794                    
+V 17  -5222.188289  27335.408639  -5222.177457       .191277                    
+P 18  10185.072736 -17158.086486  17463.760691   -119.003551                    
+V 18  21234.551006  -6555.443818 -19134.491695      -.037469                    
+P 19 -21448.799406  -3440.712331  15359.245206    -11.885816                    
+V 19 -13796.484923 -13712.361129 -22510.802870      -.008683                    
+P 20 -23142.894102  12749.557542  -2700.098384    -90.827414                    
+V 20  -4188.903733  -1102.998873  31556.425144       .026846                    
+P 21   5635.150485 -25565.024876  -2678.515530     88.026806                    
+V 21   2993.964886   3909.483581 -31564.638092       .010819                    
+P 22  -1769.022106 -15553.228592  21623.085239     16.263619                    
+V 22  25378.481797  -9430.888524  -4720.504237       .002782                    
+P 23 -15175.877085   6930.920092 -20783.833806    211.495435                    
+V 23 -20817.796506 -15838.926315   9856.067431       .005688                    
+P 24   4985.362325  22884.904966 -12084.893252     89.499472                    
+V 24  -4707.992964  15313.464275  26577.957622       .028917                    
+P 25 -10160.421111 -19521.268082 -14461.809897     84.321359                    
+V 25   2741.267347 -19047.862811  23203.085157       .007541                    
+P 26  22136.946660   4799.840461  14045.755387    317.069557                    
+V 26  13767.809808  11788.797718 -24592.728898       .055708                    
+P 27  -3618.155977  25737.409385  -3590.501076    513.545239                    
+V 27  -3270.329398  -5418.974992 -31419.258252       .063232                    
+P 28   1505.921066  15783.002045  21481.869434     46.479505                    
+V 28 -24842.787597  10145.136392  -6095.366668       .000544                    
+P 29  23302.707866   7204.860730  10948.954431    178.585018                    
+V 29  10078.582915   9034.440641 -27934.578538      -.189742                    
+P 30  16632.175202 -17393.474567 -11366.563427    444.061326                    
+V 30  13951.944224  -3657.960459  26710.787232      -.143567                    
+*  2005  1 20  4 45   .00000000                                                 
+P  1 -21428.927016 -15637.776413   1750.432929    383.848340                    
+V  1   2814.370338   -653.917325  32105.289877       .020330                    
+P  2  13745.846921  11295.175467 -20049.579001    -42.568731                    
+V  2  -1940.468160  24732.019336  12717.316914       .056530                    
+P  3 -24431.135098 -10444.342580   2554.673682     78.107473                    
+V  3  -1339.913865  -4781.636242 -30593.720265       .030378                    
+P  4   7253.943599  22366.983434 -12009.191997    441.353344                    
+V  4  -3549.883354  15215.808021  26526.963363      -.206661                    
+P  5  22924.325216 -13096.016587   1709.435192     73.185169                    
+V  5      1.367734   4427.135190  31213.601058       .024725                    
+P  6   8060.154910 -13464.093476 -21237.465758   -162.926864                    
+V  6  23747.556902  13908.616128     83.358881       .880635                    
+P  7  11088.737156  19028.671162  15364.363098     62.805048                    
+V  7 -17575.554987  -7042.820472  21855.630491      -.302817                    
+P  8  -1198.935361  26313.465610    922.569875    -19.064326                    
+V  8  -3007.242770   1188.509529 -32114.256610      -.011685                    
+P  9  14066.278126  -9417.818376  19901.551314    -24.873377                    
+V  9   1425.693924  26451.965728  11579.747424      -.017931                    
+P 10  20859.186117   1814.011625 -16572.289741     57.530939                    
+V 10 -17891.293681  10642.587675 -21144.348029       .007222                    
+P 11 -14530.626677  10526.113198  19510.499758    186.562490                    
+V 11  -3823.891488 -24884.526008  10754.577673       .036827                    
+P 13  -7843.436070  12406.992467 -22190.675483    -13.794894                    
+V 13 -23531.906530 -15112.890358    -69.062177       .009375                    
+P 14 -11087.862242 -18879.931550  15105.406161    -31.486996                    
+V 14  16959.181739   8776.176709  23487.441433      -.000900                    
+P 15  -3696.671173 -24436.422619   9111.738693    377.974430                    
+V 15   4042.233186 -11577.062062 -29054.287332       .053036                    
+P 16 -16298.878420  -6937.595034 -19728.859813      1.988495                    
+V 16  21702.804168 -12861.366297 -13315.103214      -.001807                    
+P 17  14878.161670   1863.065157 -21665.302313    -92.753806                    
+V 17  -3838.172627  27840.247512   -981.437838       .191306                    
+P 18  11986.718159 -17755.765832  15595.516566   -119.006746                    
+V 18  18755.578058  -6656.465089 -22323.145272      -.037467                    
+P 19 -22626.613134  -4571.424666  13207.512185    -11.886399                    
+V 19 -12298.178263 -11420.323215 -25237.597849      -.008688                    
+P 20 -23378.831871  12586.677881    155.068409    -90.824851                    
+V 20  -1080.196303  -2581.060689  31800.555359       .026840                    
+P 21   5896.043377 -25059.992309  -5487.257842     88.027861                    
+V 21   2871.620354   7302.906930 -30759.797244       .010814                    
+P 22    463.647552 -16449.414328  21016.187385     16.263848                    
+V 22  24161.995579 -10436.562462  -8747.200584       .002796                    
+P 23 -17038.842232   5586.781700 -19722.350253    211.496044                    
+V 23 -20497.514717 -14006.021254  13698.684569       .005677                    
+P 24   4614.156654  24133.300015  -9593.548522     89.501914                    
+V 24  -3595.812788  12375.352789  28703.102256       .028916                    
+P 25  -9953.705123 -21115.954152 -12252.136367     84.322458                    
+V 25   1905.583964 -16334.183741  25827.004840       .007556                    
+P 26  23297.588774   5750.234709  11719.304596    317.074976                    
+V 26  11947.762822   9349.545835 -27030.494995       .055698                    
+P 27  -3925.955194  25095.763106  -6377.679165    513.550832                    
+V 27  -3635.660965  -8820.258670 -30424.554741       .063228                    
+P 28   -672.975843  16738.404883  20752.694038     46.479681                    
+V 28 -23506.561784  11032.669311 -10087.753235       .000544                    
+P 29  24110.020934   7915.732844   8349.476091    178.568162                    
+V 29   7792.033399   6795.589627 -29750.876150      -.189750                    
+P 30  17758.433072 -17687.147191  -8872.151198    444.048610                    
+V 30  11066.369639  -2796.210285  28642.329052      -.143575                    
+*  2005  1 20  5  0   .00000000                                                 
+P  1 -21038.881742 -15618.594951   4616.640922    383.850435                    
+V  1   5878.902814   1011.478634  31497.309354       .020335                    
+P  2  13629.145352  13455.032314 -18740.340490    -42.563558                    
+V  2   -684.501837  23186.995739  16336.873000       .056505                    
+P  3 -24422.098121 -10805.461895   -212.628700     78.110072                    
+V  3   1571.767358  -3299.033131 -30814.853025       .030378                    
+P  4   6971.247435  23604.728497  -9523.500116    441.334443                    
+V  4  -2790.752505  12241.574613  28630.291073      -.206665                    
+P  5  22804.033448 -12607.202620   4495.601041     73.186969                    
+V  5  -2627.834589   6481.737125  30610.947131       .024726                    
+P  6  10219.213624 -12267.325726 -21044.119064   -162.847996                    
+V  6  24151.369604  12647.634158   4206.228558       .880593                    
+P  7   9399.822365  18387.152453  17198.094767     62.777770                    
+V  7 -19918.769857  -7145.836198  18838.562037      -.302824                    
+P  8  -1460.905871  26262.495958  -1967.352678    -19.065776                    
+V  8  -2884.781829  -2320.670682 -32011.963365      -.011685                    
+P  9  14255.702297  -6988.822952  20760.767557    -24.874562                    
+V  9   2800.856497  27433.290768   7485.840079      -.017939                    
+P 10  19187.443256   2866.697299 -18329.514788     57.530294                    
+V 10 -19174.004144  12753.708646 -17849.079970       .007223                    
+P 11 -14928.144933   8247.802063  20306.813209    186.566041                    
+V 11  -5017.967445 -25663.108800   6916.612955       .036822                    
+P 13  -9992.928657  11110.514025 -22006.911339    -13.794122                    
+V 13 -24151.355985 -13653.563663   4147.282136       .009370                    
+P 14  -9441.199567 -18076.010411  17083.863885    -31.486992                    
+V 14  19599.157018   9011.579426  20415.628958      -.000902                    
+P 15  -3371.113566 -25335.204660   6424.193037    377.979761                    
+V 15   3254.641228  -8357.573275 -30580.672386       .053038                    
+P 16 -14323.379029  -8176.620282 -20753.102462      1.988431                    
+V 16  22110.656839 -14651.423520  -9412.566890      -.001814                    
+P 17  14599.068897   4370.521124 -21562.849694    -92.736504                    
+V 17  -2355.096641  27787.460436   3250.304004       .191334                    
+P 18  13554.048368 -18343.183247  13457.025306   -119.010522                    
+V 18  16042.558122  -6322.514037 -25130.979200      -.037463                    
+P 19 -23648.680874  -5498.753762  10829.379400    -11.887145                    
+V 19 -10340.780633  -9207.545129 -27534.575169      -.008694                    
+P 20 -23343.347553  12274.024875   3007.556373    -90.822324                    
+V 20   1828.203250  -4423.295206  31496.820885       .026832                    
+P 21   6164.102707 -24253.908127  -8198.989281     88.028876                    
+V 21   3150.670017  10582.912016 -29412.303172       .010808                    
+P 22   2567.603242 -17422.174703  20052.995122     16.264178                    
+V 22  22528.159112 -11121.456446 -12627.104535       .002809                    
+P 23 -18850.171263   4412.937215 -18325.102641    211.496645                    
+V 23 -19669.217101 -12069.813734  17307.025734       .005665                    
+P 24   4327.472529  25104.199390  -6933.617608     89.504730                    
+V 24  -2837.849461   9161.923207  30319.149894       .028916                    
+P 25  -9807.101215 -22452.720425  -9826.851776     84.322667                    
+V 25   1413.189082 -13330.790835  27987.809034       .007571                    
+P 26  24274.438628   6487.443088   9194.384883    317.079850                    
+V 26   9691.403684   7066.126264 -28997.913676       .055688                    
+P 27  -4284.065138  24154.814747  -9050.332870    513.556453                    
+V 27  -4383.370088 -12053.317020 -28877.311976       .063225                    
+P 28  -2713.462532  17758.297003  19670.823263     46.479814                    
+V 28 -21777.524600  11567.777474 -13921.884697       .000544                    
+P 29  24693.592653   8435.170473   5608.781552    178.550868                    
+V 29   5116.624571   4793.159517 -31067.931918      -.189759                    
+P 30  18623.769340 -17883.975073  -6225.537049    444.035846                    
+V 30   8169.015250  -1507.822633  30087.712379      -.143583                    
+*  2005  1 20  5 15   .00000000                                                 
+P  1 -20367.536624 -15468.615023   7403.819599    383.849505                    
+V  1   9049.519698   2247.338858  30351.988653       .020342                    
+P  2  13615.814748  15455.532397 -17117.019737    -42.558414                    
+V  2    344.392787  21199.048372  19687.296303       .056480                    
+P  3 -24143.856348 -11048.787931  -2976.340384     78.112364                    
+V  3   4628.592556  -2169.879669 -30514.288383       .030378                    
+P  4   6740.440991  24563.154122  -6870.746446    441.315935                    
+V  4  -2403.286252   9023.875662  30233.697079      -.206669                    
+P  5  22460.744833 -11921.989033   7203.337882     73.187892                    
+V  5  -4943.155081   8779.757624  29473.033252       .024727                    
+P  6  12392.536905 -11193.239343 -20482.700373   -162.768773                    
+V  6  24060.288163  11196.178218   8250.637489       .880550                    
+P  7   7511.197672  17754.011944  18746.103030     62.750526                    
+V  7 -22000.941263  -6862.963142  15514.923568      -.302830                    
+P  8  -1730.816726  25897.390944  -4822.725649    -19.066455                    
+V  8  -3182.358779  -5775.066873 -31348.092618      -.011685                    
+P  9  14572.159397  -4496.779074  21245.125462    -24.875484                    
+V  9   4233.483210  27850.214387   3262.774396      -.017947                    
+P 10  17423.280265   4108.850778 -19775.878288     57.530454                    
+V 10 -19943.497877  14837.164566 -14245.790671       .007223                    
+P 11 -15434.124376   5921.578117  20752.068760    186.569392                    
+V 11  -6220.796957 -25948.102274   2964.651894       .036816                    
+P 13 -12175.126882   9956.002160 -21446.217750    -13.793286                    
+V 13 -24252.956891 -11972.775221   8295.220025       .009367                    
+P 14  -7567.547059 -17271.290736  18769.759948    -31.487130                    
+V 14  21988.269195   8799.461925  16995.362145      -.000903                    
+P 15  -3099.098576 -25935.345181   3623.452146    377.985517                    
+V 15   2857.671723  -4956.935717 -31566.246339       .053039                    
+P 16 -12334.292101  -9569.695773 -21418.163061      1.988374                    
+V 16  22008.064195 -16269.789939  -5344.841871      -.001822                    
+P 17  14454.428875   6848.065644 -21082.780232    -92.719148                    
+V 17   -865.813221  27177.239311   7397.744293       .191362                    
+P 18  14870.147107 -18880.142612  11084.892230   -119.013980                    
+V 18  13188.601968  -5533.333820 -27507.322220      -.037457                    
+P 19 -24475.380789  -6233.740389   8265.400543    -11.888069                    
+V 19  -7964.838795  -7159.727025 -29361.423704      -.008700                    
+P 20 -23058.237691  11781.218113   5808.180167    -90.820082                    
+V 20   4454.254367  -6573.933744  30649.528171       .026825                    
+P 21   6474.493685 -23161.386137 -10765.957941     88.029919                    
+V 21   3806.791064  13652.575842 -27547.976557       .010803                    
+P 22   4508.175540 -18439.833443  18749.665418     16.264418                    
+V 22  20543.329662 -11425.388212 -16295.219713       .002822                    
+P 23 -20564.117279   3414.566173 -16615.938084    211.497168                    
+V 23 -18335.386776 -10121.851867  20620.442043       .005653                    
+P 24   4091.496219  25777.010183  -4152.165706     89.506294                    
+V 24  -2474.188428   5767.486697  31400.064204       .028916                    
+P 25  -9687.868239 -23509.527368  -7229.285792     84.324258                    
+V 25   1302.302603 -10128.614976  29650.436121       .007586                    
+P 26  25030.582602   7029.334200   6514.615370    317.084582                    
+V 26   7053.544581   5022.188232 -30467.764830       .055678                    
+P 27  -4725.285780  22934.149563 -11559.727548    513.562325                    
+V 27  -5474.635498 -15020.573716 -26801.540428       .063221                    
+P 28  -4583.213953  18808.339224  18253.482361     46.479978                    
+V 28 -19724.965224  11694.540080 -17531.860737       .000543                    
+P 29  25021.366495   8787.739403   2772.975738    178.533443                    
+V 29   2120.094086   3098.199295 -31861.012825      -.189768                    
+P 30  19231.235373 -17946.359474  -3471.795217    444.023004                    
+V 30   5350.829853    186.500193  31018.980461      -.143592                    
+*  2005  1 20  5 30   .00000000                                                 
+P  1 -19409.712938 -15227.667229  10064.524734    383.848469                    
+V  1  12228.588058   3030.734265  28691.139827       .020350                    
+P  2  13682.258131  17259.265544 -15206.376363    -42.553265                    
+V  2   1077.769459  18825.006977  22712.902700       .056454                    
+P  3 -23587.157631 -11207.478586  -5689.731787     78.115991                    
+V  3   7745.105202  -1421.445766 -29698.374767       .030378                    
+P  4   6526.576802  25224.560512  -4097.336432    441.297259                    
+V  4  -2417.838625   5657.493241  31307.372366      -.206673                    
+P  5  21925.460493 -11021.825215   9785.239557     73.191339                    
+V  5  -6885.832771  11244.834717  27818.528287       .024728                    
+P  6  14534.704228 -10255.172482 -19563.504992   -162.689616                    
+V  6  23457.777543   9639.500618  12145.134005       .880507                    
+P  7   5449.632405  17162.060837  19983.204815     62.723252                    
+V  7 -23750.806231  -6239.124120  11938.857987      -.302837                    
+P  8  -2045.827482  25227.672019  -7593.594759    -19.067701                    
+V  8  -3882.548554  -9073.408845 -30137.405232      -.011685                    
+P  9  15016.702007  -1992.928523  21346.592689    -24.877251                    
+V  9   5631.900280  27696.368713  -1009.420652      -.017955                    
+P 10  15613.033172   5533.709261 -20886.293589     57.530407                    
+V 10 -20199.618893  16798.101489 -10393.863765       .007225                    
+P 11 -16045.750027   3591.919141  20839.092724    186.572789                    
+V 11  -7352.426234 -25741.132880  -1032.562822       .036809                    
+P 13 -14342.151774   8959.325942 -20517.951791    -13.792572                    
+V 13 -23811.551480 -10161.727321  12303.890257       .009364                    
+P 14  -5493.439179 -16504.295855  20134.324672    -31.486941                    
+V 14  24040.128103   8181.594754  13285.109887      -.000905                    
+P 15  -2844.321452 -26225.032588    758.974842    377.989942                    
+V 15   2873.763409  -1475.688064 -31995.292111       .053041                    
+P 16 -10376.390149 -11097.431459 -21712.336824      1.988127                    
+V 16  21423.959451 -17630.066699  -1182.605570      -.001829                    
+P 17  14440.658668   9246.276938 -20235.944954    -92.701992                    
+V 17    538.188644  26029.381974  11389.036432       .191391                    
+P 18  15926.675329 -19325.459671   8519.959912   -119.017102                    
+V 18  10290.588200  -4287.338501 -29408.848221      -.037451                    
+P 19 -25071.486646  -6794.784351   5559.409927    -11.888837                    
+V 19  -5227.207671  -5354.172136 -30685.667509      -.008704                    
+P 20 -22552.175869  11083.549484   8508.568941    -90.817446                    
+V 20   6727.654455  -8963.086709  29272.454446       .026818                    
+P 21   6859.407387 -21805.439522 -13143.175349     88.030868                    
+V 21   4798.466361  16422.777771 -25202.280193       .010797                    
+P 22   6257.191826 -19465.919265  17128.065163     16.264455                    
+V 22  18285.073941 -11302.346580 -19689.819494       .002837                    
+P 23 -22135.977432   2588.649810 -14623.949725    211.497547                    
+V 23 -16516.689112  -8252.186275  23583.156309       .005642                    
+P 24   3869.607817  26139.920019  -1298.148633     89.508303                    
+V 24  -2526.915606   2292.213886  31929.899907       .028916                    
+P 25  -9560.595034 -24272.806391  -4505.489168     84.325083                    
+V 25   1593.862883  -6824.342243  30789.531532       .007600                    
+P 26  25534.677954   7400.787065   3725.687449    317.089568                    
+V 26   4102.771255   3289.429749 -31421.212493       .055669                    
+P 27  -5278.149971  21461.749435 -13859.804646    513.567943                    
+V 27  -6853.755079 -17633.676243 -24232.627470       .063218                    
+P 28  -6256.641696  19849.820826  16523.710081     46.479829                    
+V 28 -17428.842336  11372.095456 -20854.581003       .000543                    
+P 29  25067.990238   9003.816353   -109.979491    178.516253                    
+V 29  -1116.733117   1768.370749 -32113.672543      -.189776                    
+P 30  19591.903252 -17839.352195   -658.134661    444.009944                    
+V 30   2698.533854   2248.699656  31416.757147      -.143600                    
+*  2005  1 20  5 45   .00000000                                                 
+P  1 -18169.111465 -14936.796087  12553.657779    383.848640                    
+V  1  15317.031510   3357.663159  26544.980830       .020360                    
+P  2  13799.239563  18834.531312 -13039.977940    -42.548127                    
+V  2   1459.178891  16134.562718  25362.669042       .056428                    
+P  3 -22750.602494 -11316.413794  -8307.016408     78.118025                    
+V  3  10832.781365  -1064.632109 -28381.681626       .030377                    
+P  4   6292.782970  25580.040303  -1251.922555    441.278380                    
+V  4  -2846.656555   2242.397081  31831.286892      -.206676                    
+P  5  21233.793374  -9895.462260  12196.012486     73.193887                    
+V  5  -8412.473753  13791.597597  25675.649193       .024729                    
+P  6  16599.629582  -9458.653504 -18303.127791   -162.610617                    
+V  6  22345.634902   8065.297739  15821.398479       .880465                    
+P  7   3247.862568  16639.480075  20889.248175     62.695887                    
+V  7 -25107.417257  -5331.952527   8167.903512      -.302844                    
+P  8  -2440.704682  24271.715165 -10231.784651    -19.068365                    
+V  8  -4949.808552 -12120.827916 -28404.571797      -.011685                    
+P  9  15582.156781    471.865470  21064.367050    -24.880570                    
+V  9   6905.662901  26986.469452  -5250.422615      -.017963                    
+P 10  13802.218395   7126.054596 -21641.227487     57.531225                    
+V 10 -19960.676650  18544.079552  -6357.177058       .007226                    
+P 11 -16753.089064   1302.394887  20566.924474    186.576142                    
+V 11  -8335.172285 -25060.664972  -5005.909542       .036802                    
+P 13 -16444.716461   8127.951422 -19237.759945    -13.791657                    
+V 13 -22821.134466  -8315.336559  16104.585027       .009362                    
+P 14  -3252.722688 -15809.061902  21154.274840    -31.487178                    
+V 14  25679.142319   7215.577586   9348.154888      -.000907                    
+P 15  -2569.300783 -26201.638161  -2118.838238    377.996400                    
+V 15   3306.554178   1983.315576 -31862.605908       .053042                    
+P 16  -8491.056501 -12733.012363 -21630.370493      1.987886                    
+V 16  20404.464306 -18654.214851   3001.666481      -.001835                    
+P 17  14546.143751  11518.355716 -19039.459019    -92.684723                    
+V 17   1770.515514  24382.112080  15157.009269       .191419                    
+P 18  16724.042119 -19638.662325   5806.604776   -119.020274                    
+V 18   7445.408089  -2601.928427 -30800.495116      -.037448                    
+P 19 -25407.551083  -7206.750675   2757.787928    -11.889546                    
+V 19  -2199.072242  -3856.780028 -31483.298135      -.008709                    
+P 20 -21859.533970  10163.139845  11062.011753    -90.815025                    
+V 20   8592.472958 -11509.368888  27388.664353       .026811                    
+P 21   7346.591858 -20216.620293 -15289.247049     88.031722                    
+V 21   6068.845232  18815.644950 -22419.458355       .010793                    
+P 22   7793.858019 -20460.531109  15215.433082     16.264740                    
+V 22  15839.282563 -10722.396556 -22753.414543       .002853                    
+P 23 -23523.705121   1924.262443 -12382.998235    211.497986                    
+V 23 -14251.323495  -6545.911113  26145.140657       .005632                    
+P 24   3624.040231  26190.249406   1578.500630     89.511009                    
+V 24  -2999.380166  -1161.769296  31902.881786       .028917                    
+P 25  -9388.791781 -24737.807250  -1703.349583     84.327198                    
+V 25   2290.852399  -3516.612708  31389.641985       .007615                    
+P 26  25762.078739   7632.504791    874.613405    317.094787                    
+V 26    918.854440   1925.228111 -31847.716002       .055659                    
+P 27  -5965.499426  19772.988478 -15908.182474    513.573615                    
+V 27  -8450.402752 -19817.307989 -21216.782599       .063214                    
+P 28  -7715.725047  20841.104607  14510.055583     46.479643                    
+V 28 -14976.846422  10576.540688 -23830.882880       .000546                    
+P 29  24815.872390   9118.277785  -2991.032855    178.498679                    
+V 29  -4502.723704    845.670202 -31818.216858      -.189784                    
+P 30  19724.333894 -17532.169459   2166.899633    443.997233                    
+V 30    291.286396   4624.545964  31270.811370      -.143608                    
+*  2005  1 20  6  0   .00000000                                                 
+P  1 -16658.277258 -14636.555212  14829.194831    383.849139                    
+V  1  18217.991322   3242.961509  23951.505836       .020371                    
+P  2  13933.069427  20156.392060 -10653.744109    -42.543011                    
+V  2   1446.440364  13207.874583  27591.037752       .056402                    
+P  3 -21640.777974 -11410.705279 -10784.078604     78.120977                    
+V  3  13803.196796  -1093.693691 -26586.714237       .030377                    
+P  4   6001.925480  25629.771100   1615.498145    441.259568                    
+V  4  -3683.283842  -1120.154790  31795.649133      -.206680                    
+P  5  20424.505783  -8539.615941  14393.315515     73.196178                    
+V  5  -9496.705855  16329.007316  23081.692982       .024730                    
+P  6  18542.213881  -8801.343896 -16724.123726   -162.531331                    
+V  6  20743.921826   6560.092491  19215.505195       .880422                    
+P  7    943.564874  16208.773613  21449.385004     62.668488                    
+V  7 -26022.245870  -4209.569234   4262.263164      -.302851                    
+P  8  -2946.259340  23056.010087 -12691.761828    -19.070049                    
+V  8  -6332.122481 -14832.448919 -26183.489362      -.011685                    
+P  9  16253.416104   2848.984310  20404.817887    -24.881436                    
+V  9   7969.544379  25755.463355  -9381.491829      -.017970                    
+P 10  12033.897260   8862.592070 -22027.063295     57.530706                    
+V 10 -19262.746540  19988.644109  -2203.168043       .007228                    
+P 11 -17539.438061   -905.815146  19940.795982    186.579463                    
+V 11  -9096.768581 -23941.158886  -8887.094915       .036795                    
+P 13 -18433.872362   7460.774985 -17627.331868    -13.790748                    
+V 13 -21295.230377  -6528.495092  19631.910198       .009360                    
+P 14   -885.452590 -15213.815028  21812.200124    -31.487203                    
+V 14  26843.379430   5972.483490   5251.542985      -.000909                    
+P 15  -2237.077841 -25871.743327  -4959.589437    378.002742                    
+V 15   4140.852936   5318.923968 -31173.425302       .053042                    
+P 16  -6714.818485 -14443.097011 -21173.565771      1.987781                    
+V 16  19011.000620 -19275.737072   7135.003281      -.001841                    
+P 17  14751.852124  13621.704709 -17516.234224    -92.667470                    
+V 17   2753.257510  22290.224767  18640.168479       .191448                    
+P 18  17271.235180 -19781.684726   2991.957393   -119.024015                    
+V 18   4746.181644   -513.035376 -31656.236589      -.037442                    
+P 19 -25461.084668  -7499.823636    -91.324603    -11.890591                    
+V 19   1036.599129  -2719.468408 -31739.273626      -.008713                    
+P 20 -21018.990637   9009.837411  13424.278715    -90.812626                    
+V 20  10009.229794 -14122.995768  25030.154212       .026804                    
+P 21   7958.079985 -18431.870502 -17167.117144     88.032733                    
+V 21   7548.237035  20767.489848 -19251.491719       .010789                    
+P 22   9105.365779 -21381.849168  13043.956342     16.265008                    
+V 22  13296.972677  -9673.003388 -25433.679148       .002869                    
+P 23 -24689.434480   1403.166561  -9931.157799    211.498441                    
+V 23 -11593.727919  -5079.894686  28262.915269       .005623                    
+P 24   3317.569380  25934.451096   4427.782438     89.514046                    
+V 24  -3876.237300  -4494.294081  31323.262954       .028917                    
+P 25  -9136.508167 -24908.602866   1128.299565     84.328078                    
+V 25   3378.373578   -302.235574  31445.181188       .007628                    
+P 26  25695.713647   7759.640237  -1991.012508    317.099668                    
+V 26  -2410.156617    970.838472 -31744.846052       .055650                    
+P 27  -6803.298063  17909.307142 -17667.091984    513.579300                    
+V 27 -10182.623376 -21512.469888 -17810.111643       .063211                    
+P 28  -8950.561177  21739.216122  12246.172627     46.479697                    
+V 28 -12461.113481   9302.222401 -26406.682576       .000549                    
+P 29  24255.968152   9169.007978  -5820.848161    178.481519                    
+V 29  -7939.651609    354.705383 -30976.057210      -.189792                    
+P 30  19653.755322 -16999.568762   4954.269506    443.984402                    
+V 30  -1802.400371   7245.491719  30580.469551      -.143617                    
+*  2005  1 20  6 15   .00000000                                                 
+P  1 -14898.239253 -14365.342525  16852.854547    383.849526                    
+V  1  20840.369502   2719.508448  20955.760936       .020382                    
+P  2  14046.972927  21207.492166  -8087.419538    -42.538182                    
+V  2   1013.428375  10132.779028  29358.692063       .056377                    
+P  3 -20272.106283 -11524.208822 -13079.171473     78.123431                    
+V  3  16571.179090  -1486.570891 -24343.535589       .030377                    
+P  4   5618.288682  25382.952927   4454.517486    441.240506                    
+V  4  -4902.755970  -4331.578578  31201.131983      -.206684                    
+P  5  19537.928810  -6959.316150  16338.548328     73.199225                    
+V  5 -10130.138643  18763.958742  20082.363798       .024731                    
+P  6  20319.958262  -8273.303915 -14854.560026   -162.451920                    
+V  6  18690.167798   5205.705201  22269.064003       .880380                    
+P  7  -1421.840249  15885.937567  21654.277874     62.641163                    
+V  7 -26460.871036  -2948.020887    284.070512      -.302857                    
+P  8  -3587.962878  21614.117734 -14931.424095    -19.071890                    
+V  8  -7963.255926 -17136.483105 -23516.366771      -.011684                    
+P  9  17008.076721   5093.803061  19381.263258    -24.884150                    
+V  9   8747.226858  24056.794571 -13327.232663      -.017977                    
+P 10  10347.133573  10712.643717 -22036.376002     57.530967                    
+V 10 -18158.305875  21054.722225   1998.184353       .007230                    
+P 11 -18381.943690  -2995.300716  18972.004471    186.582621                    
+V 11  -9573.277041 -22431.628095 -12609.818415       .036790                    
+P 13 -20262.756218   6948.294680 -15714.051295    -13.789925                    
+V 13 -19266.533769  -4892.322528  22824.907698       .009358                    
+P 14   1563.447105 -14739.884214  22096.852399    -31.487425                    
+V 14  27486.915946   4533.995853   1064.978323      -.000910                    
+P 15  -1812.882739 -25250.809671  -7713.811682    378.008857                    
+V 15   5343.399859   8435.580661 -29943.122605       .053041                    
+P 16  -5078.078297 -16188.983173 -20349.764575      1.987518                    
+V 16  17317.800363 -19442.416052  11145.257605      -.001846                    
+P 17  15032.233417  15519.315214 -15694.431151    -92.650208                    
+V 17   3419.916555  19822.672934  21783.482151       .191476                    
+P 18  17585.315397 -19720.485902    125.060946   -119.027308                    
+V 18   2278.602752   1926.095845 -31959.680615      -.037436                    
+P 19 -25217.483520  -7708.152026  -2938.850277    -11.891642                    
+V 19   4388.078405  -1978.128595 -31447.869380      -.008713                    
+P 20 -20071.980995   7621.820687  15554.402481    -90.810239                    
+V 20  10956.332389 -16709.231321  22237.327530       .026797                    
+P 21   8709.165756 -16493.136483 -18744.711979     88.033445                    
+V 21   9157.114965  22231.121841 -15756.908113       .010787                    
+P 22  10187.202039 -22187.736838  10650.266079     16.265174                    
+V 22  10750.889567  -8159.721830 -27684.324699       .002886                    
+P 23 -25600.860740   1000.689133  -7310.094149    211.499178                    
+V 23  -8612.680940  -3919.818231  29900.258312       .005614                    
+P 24   2915.166237  25387.763042   7200.519069     89.517459                    
+V 24  -5124.246533  -7610.908190  30204.983096       .028917                    
+P 25  -8769.912057 -24797.760113   3940.557867     84.328333                    
+V 25   4824.442731   2727.424145  30960.190647       .007642                    
+P 26  25326.691938   7820.286357  -4823.733025    317.104572                    
+V 26  -5791.052595    450.191568 -31118.028501       .055640                    
+P 27  -7799.743498  15916.622351 -19104.212511    513.585101                    
+V 27 -11960.426127 -22679.041547 -14077.344289       .063208                    
+P 28  -9959.608110  22501.518870   9770.311871     46.479685                    
+V 28  -9974.704714   7562.345391 -28534.093537       .000554                    
+P 29  23388.260201   9195.280117  -8550.634857    178.464454                    
+V 29 -11325.744726    301.608483 -29597.932338      -.189800                    
+P 30  19410.979342 -16223.030772   7655.315843    443.971735                    
+V 30  -3527.367213  10031.138586  29354.851972      -.143625                    
+*  2005  1 20  6 30   .00000000                                                 
+P  1 -12917.841028 -14157.837169  18590.697246    383.850649                    
+V  1  23102.128810   1836.769370  17609.042124       .020395                    
+P  2  14102.594776  21978.611400  -5383.978850    -42.533280                    
+V  2    151.301343   7001.688300  30633.290066       .056354                    
+P  3 -18666.414492 -11688.093135 -15153.576753     78.125188                    
+V  3  19057.837588  -2205.812266 -21689.301390       .030377                    
+P  4   5109.202737  24857.392750   7215.259041    441.221555                    
+V  4  -6462.579910  -7299.816360  30058.856452      -.206687                    
+P  5  18614.328441  -5167.926099  17997.570582     73.200802                    
+V  5 -10322.582982  21004.991340  16730.909186       .024731                    
+P  6  21894.474429  -7857.566400 -12727.471871   -162.372835                    
+V  6  16237.888770   4075.957711  24930.219839       .880337                    
+P  7  -3804.517104  15679.872263  21500.240434     62.613716                    
+V  7 -26404.204688  -1628.457207  -3703.353524      -.302864                    
+P  8  -4384.790386  19985.372859 -16912.806918    -19.073032                    
+V  8  -9765.603768 -18976.780442 -20452.758384      -.011684                    
+P  9  17817.390604   7167.247816  18013.596074    -24.886466                    
+V  9   9174.523399  21959.901003 -17017.180093      -.017983                    
+P 10   8775.602536  12639.134642 -21668.112281     57.531265                    
+V 10 -16714.242903  21677.716777   6175.454411       .007232                    
+P 11 -19252.470828  -4933.645272  17677.682891    186.585764                    
+V 11  -9711.656789 -20593.659481 -16110.875630       .036786                    
+P 13 -21888.271738   6573.113949 -13530.548343    -13.789048                    
+V 13 -16785.817793  -3490.546034  25628.113822       .009356                    
+P 14   4045.707827 -14400.890597  22003.333763    -31.487536                    
+V 14  27581.590560   2989.146006  -3140.320114      -.000909                    
+P 15  -1265.698484 -24362.510569 -10333.858741    378.013837                    
+V 15   6864.364212  11246.926098 -28196.685939       .053039                    
+P 16  -3604.091425 -17927.995839 -19173.215806      1.987174                    
+V 16  15408.912557 -19118.497533  14962.415245      -.001850                    
+P 17  15356.357516  17180.915956 -13606.849927    -92.632973                    
+V 17   3717.789183  17059.720722  24538.961929       .191504                    
+P 18  17690.594130 -19426.525769  -2744.015546   -119.030789                    
+V 18    117.569233   4646.848340 -31704.472853      -.037429                    
+P 19 -24670.667469  -7868.337754  -5735.623527    -11.892491                    
+V 19   7758.266327  -1651.200882 -30612.868215      -.008712                    
+P 20 -19061.048269   6005.880298  17415.405211    -90.808077                    
+V 20  11430.810739 -19172.052252  19058.309359       .026792                    
+P 21   9607.668538 -14445.806516 -19995.471906     88.034381                    
+V 21  10809.487738  23177.448521 -11999.491979       .010786                    
+P 22  11043.148096 -22837.374818   8074.857173     16.265456                    
+V 22   8292.027005  -6206.217398 -29465.907144       .002904                    
+P 23 -26232.425039    686.846450  -4564.383058    211.499805                    
+V 23  -5388.866646  -3117.631581  31028.817018       .005603                    
+P 24   2385.544994  24573.535506   9849.204502     89.518858                    
+V 24  -6693.769849 -10426.335039  28571.152313       .028918                    
+P 25  -8258.766588 -24425.698351   6685.306905     84.328773                    
+V 25   6581.441077   5489.750242  29947.923994       .007656                    
+P 26  24654.623087   7853.885822  -7576.921262    317.109256                    
+V 26  -9128.690556    369.302890 -29980.235323       .055631                    
+P 27  -8954.721927  13843.545288 -20193.379126    513.590646                    
+V 27 -13689.795894 -23297.474698 -10090.260880       .063204                    
+P 28 -10749.605193  23087.411579   7124.714666     46.479695                    
+V 28  -7607.983322   5388.848779 -30172.491571       .000558                    
+P 29  22221.909961   9236.070552 -11132.991842    178.446915                    
+V 29 -14559.438840    673.646697 -27703.978226      -.189808                    
+P 30  19031.096419 -15191.694728  10222.643346    443.958769                    
+V 30  -4844.011540  12892.232052  27612.912610      -.143634                    
+*  2005  1 20  6 45   .00000000                                                 
+P  1 -10752.789799 -14043.595046  20013.648915    383.852783                    
+V  1  24933.236887    658.740273  13968.030958       .020407                    
+P  2  14061.587102  22468.928822  -2588.967908    -42.528394                    
+V  2  -1130.886104   3908.276791  31390.142325       .056334                    
+P  3 -16852.240879 -11929.517201 -16972.219161     78.127317                    
+V  3  21193.368652  -3200.054886 -18667.713214       .030378                    
+P  4   4446.549029  24078.753718   9849.308657    441.202549                    
+V  4  -8304.455581  -9942.907590  28390.133886      -.206690                    
+P  5  17692.285823  -3186.828595  19341.335483     73.203909                    
+V  5 -10101.517929  22965.949980  13087.086418       .024732                    
+P  6  23232.833464  -7530.991739 -10380.235158   -162.293644                    
+V  6  13454.492861   3233.741645  27154.493864       .880295                    
+P  7  -6159.631210  15592.056965  20989.310272     62.586332                    
+V  7 -25849.217539   -334.130624  -7636.259197      -.302871                    
+P  8  -5348.340142  18213.387811 -18602.694082    -19.072272                    
+V  8 -11653.402784 -20314.685314 -17048.439304      -.011683                    
+P  9  18647.479453   9037.098492  16327.777082    -24.889084                    
+V  9   9201.994821  19547.087785 -20387.165888      -.017989                    
+P 10   7346.404859  14599.839611 -20927.668918     57.533968                    
+V 10 -15009.300018  21808.176556  10256.930197       .007234                    
+P 11 -20118.682811  -6694.451102  16080.474461    186.588881                    
+V 11  -9471.895685 -18498.979618 -19331.184513       .036783                    
+P 13 -23272.641477   6310.759421 -11114.159163    -13.788430                    
+V 13 -13920.168910  -2396.218299  27992.637539       .009355                    
+P 14   6511.369331 -14202.243836  21533.180496    -31.487786                    
+V 14  27118.096105   1430.773742  -7292.785063      -.000908                    
+P 15   -569.660013 -23237.757151 -12774.740281    378.019550                    
+V 15   8639.497401  13678.966188 -25968.016548       .053037                    
+P 16  -2308.232665 -19615.043219 -17664.325739      1.986820                    
+V 16  13374.827016 -18286.228323  18519.867439      -.001852                    
+P 17  15689.240907  18583.851187 -11290.277196    -92.615635                    
+V 17   3609.748264  14089.794898  26866.058627       .191533                    
+P 18  17617.525570 -18878.036620  -5565.090885   -119.033810                    
+V 18  -1675.756109   7567.822181 -30894.488488      -.037422                    
+P 19 -23823.401635  -8017.826580  -8433.248464    -11.893420                    
+V 19  11048.316563  -1738.932877 -29247.579915      -.008710                    
+P 20 -18028.162160   4177.366720  18974.956997    -90.805600                    
+V 20  11448.318107 -21417.883700  15548.111069       .026788                    
+P 21  10653.511624 -12337.038272 -20898.763959     88.035466                    
+V 21  12416.485557  23596.318574  -8046.935366       .010785                    
+P 22  11684.966568 -23292.866556   5361.438865     16.265656                    
+V 22   6006.191808  -3853.608790 -30746.553901       .002921                    
+P 23 -26566.259034    427.675561  -1740.778681    211.499857                    
+V 23  -2011.987653  -2709.520875  31628.609825       .005594                    
+P 24   1702.547896  23522.265159  12328.800947     89.520884                    
+V 24  -8520.887468 -12867.505990  26453.389125       .028918                    
+P 25  -7577.750017 -23819.768852   9316.015325     84.330258                    
+V 25   8588.142900   7913.754608  28430.288605       .007669                    
+P 26  23687.644952   7899.614884 -10205.444498    317.113868                    
+V 26 -12329.228505    716.289139 -28351.637964       .055621                    
+P 27 -10259.635089  11739.489658 -20915.137288    513.596220                    
+V 27 -15276.913225 -23369.522011  -5925.883777       .063201                    
+P 28 -11335.168193  23459.980414   4354.914662     46.479741                    
+V 28  -5445.031876   2831.527177 -31289.492419       .000564                    
+P 29  20775.066838   9328.370914 -13522.750055    178.429631                    
+V 29 -17543.200223   1439.567677 -25323.628112      -.189816                    
+P 30  18551.998863 -13903.004654  12610.999464    443.945920                    
+V 30  -5729.883443  15734.072063  25383.267034      -.143642                    
+*  2005  1 20  7  0   .00000000                                                 
+P  1  -8444.460176 -14045.853297  21097.945144    383.856769                    
+V  1  26278.156746   -738.624814  10093.881347       .020419                    
+P  2  13887.223123  22685.983047    250.212672    -42.523381                    
+V  2  -2806.228051    944.066849  31612.814731       .056314                    
+P  3 -14863.902508 -12270.464075 -18504.227974     78.130788                    
+V  3  22919.541490  -4406.011016 -15328.393766       .030379                    
+P  4   3608.080090  23079.501479  12310.611248    441.183671                    
+V  4 -10356.660608 -12192.125172  26225.976576      -.206693                    
+P  5  16807.158676  -1044.791012  20346.423657     73.206634                    
+V  5  -9510.827219  24569.438594   9215.985589       .024732                    
+P  6  24308.702069  -7265.366043  -7853.871083   -162.214465                    
+V  6  10418.668761   2728.562574  28905.455797       .880252                    
+P  7  -8442.807632  15616.499352  20129.252583     62.558864                    
+V  7 -24809.139755    852.693566 -11451.248345      -.302877                    
+P  8  -6482.254937  16344.420841 -19973.125746    -19.073373                    
+V  8 -13536.223036 -21130.185379 -13364.245697      -.011684                    
+P  9  19460.753680  10678.988573  14355.215990    -24.891496                    
+V  9   8796.864291  16909.948970 -23380.434321      -.017995                    
+P 10   6079.133374  16548.846665 -19826.864344     57.534704                    
+V 10 -13131.035359  21413.931674  14171.826072       .007235                    
+P 11 -20945.290950  -8258.128636  14208.118804    186.592375                    
+V 11  -8828.629171 -16226.665033 -22216.721540       .036781                    
+P 13 -24384.768941   6130.782210  -8506.300671    -13.787826                    
+V 13 -10750.439321  -1668.446243  29876.551969       .009356                    
+P 14   8910.499468 -14140.964575  20694.341568    -31.487839                    
+V 14  26106.369309    -48.157150 -11321.674985      -.000906                    
+P 15    294.766062 -21913.463130 -14994.886638    378.023811                    
+V 15  10592.833454  15672.689273 -23299.074867       .053035                    
+P 16  -1197.578197 -21204.279651 -15849.296545      1.986599                    
+V 16  11308.850698 -16946.685838  21755.620189      -.001853                    
+P 17  15993.305181  19713.666666  -8784.804953    -92.598446                    
+V 17   3075.395732  11006.162798  28731.896142       .191561                    
+P 18  17401.358903 -18061.036261  -8288.792702   -119.037559                    
+V 18  -3056.324629  10597.966514 -29543.802766      -.037416                    
+P 19 -22687.286471  -8193.264314 -10984.950566    -11.894322                    
+V 19  14161.354617  -2223.357504 -27374.684054      -.008706                    
+P 20 -17013.070419   2159.804163  20205.952941    -90.803041                    
+V 20  11042.394815 -23359.257407  11767.660731       .026783                    
+P 21  11838.627287 -10214.045114 -21440.172015     88.036323                    
+V 21  13890.003970  23496.594250  -3969.470922       .010784                    
+P 22  12131.785933 -23520.754375   2556.224164     16.266195                    
+V 22   3970.739711  -1159.144449 -31502.594565       .002938                    
+P 23 -26592.853105    186.722570   1112.558037    211.500150                    
+V 23   1422.471912  -2714.466568  31688.409682       .005588                    
+P 24    846.315656  22270.379461  14597.470342     89.523584                    
+V 24 -10530.028648 -14876.062968  23891.042170       .028919                    
+P 25  -6707.571840 -23013.098118  11788.486713     84.331226                    
+V 25  10772.191865   9942.438749  26437.157483       .007682                    
+P 26  22442.164029   7994.795413 -12666.295502    317.118641                    
+V 26 -15303.273746   1461.973591 -26259.233934       .055612                    
+P 27 -11697.608065   9652.759395 -21257.127076    513.601891                    
+V 27 -16632.359671 -22917.963628  -1664.513214       .063198                    
+P 28 -11738.069414  23587.538347   1508.956729     46.479731                    
+V 28  -3560.260466    -43.593966 -31861.805447       .000570                    
+P 29  19074.335899   9505.564853 -15677.797832    178.412412                    
+V 29 -20187.268134   2550.689530 -22495.327221      -.189824                    
+P 30  18012.790883 -12363.034913  14778.127919    443.933041                    
+V 30  -6180.591938  18460.203978  22703.799546      -.143651                    
+*  2005  1 20  7 15   .00000000                                                 
+P  1  -6038.497288 -14180.585990  21825.491096    383.863373                    
+V  1  27097.803081  -2270.406623   6051.268929       .020428                    
+P  2  13545.976365  22645.325220   3085.074124    -42.518570                    
+V  2  -4830.689419  -1804.964909  31293.635639       .056296                    
+P  3 -12740.356683 -12726.773811 -19723.439008     78.133908                    
+V  3  24191.779631  -5750.894203 -11726.187427       .030379                    
+P  4   2578.499026  21897.592935  14556.313775    441.164594                    
+V  4 -12536.989439 -13994.542883  23606.395141      -.206696                    
+P  5  15989.687309   1222.965646  20995.465828     73.209342                    
+V  5  -8608.861016  25749.918932   5186.740860       .024731                    
+P  6  25103.224714  -7028.695504  -5192.298030   -162.135373                    
+V  6   7217.370839   2594.648644  30155.222663       .880210                    
+P  7 -10611.583180  15739.963644  18933.492387     62.531351                    
+V  7 -23313.122995   1853.824249 -15086.082443      -.302884                    
+P  8  -7781.963991  14425.674253 -21001.800440    -19.074295                    
+V  8 -15322.573673 -21422.320883  -9464.883823      -.011684                    
+P  9  20217.469891  12077.069298  12132.064048    -24.893776                    
+V  9   7944.174695  14145.519983 -25948.493150      -.018000                    
+P 10   4985.230886  18438.185234 -18383.799348     57.535448                    
+V 10 -11172.408403  20481.599270  17851.529194       .007236                    
+P 11 -21695.424532  -9612.422716  12092.958299    186.595505                    
+V 11  -7772.191554 -13860.105419 -24719.357252       .036780                    
+P 13 -25201.357595   5998.100883  -5751.769828    -13.787046                    
+V 13  -7368.840023  -1351.247809  31247.626751       .009359                    
+P 14  11194.916748 -14205.839889  19501.051750    -31.487674                    
+V 14  24575.262622  -1358.250784 -15158.239725      -.000905                    
+P 15   1339.864717 -20431.102374 -16956.831194    378.027845                    
+V 15  12639.810678  17186.042920 -20238.909611       .053033                    
+P 16   -270.819463 -22650.809884 -13759.659764      1.986299                    
+V 16   9303.382859 -15119.864842  24613.415341      -.001852                    
+P 17  16229.910774  20564.393440  -6133.134611    -92.581204                    
+V 17   2111.582918   7903.558651  30111.369820       .191589                    
+P 18  17080.605562 -16970.039663 -10867.465744   -119.040676                    
+V 18  -3996.916506  13640.123697 -27676.437875      -.037408                    
+P 19 -21282.414361  -8428.883831 -13346.406186    -11.895057                    
+V 19  17006.144309  -3068.998543 -25025.893982      -.008702                    
+P 20 -16051.748912    -15.815770  21086.997602    -90.800815                    
+V 20  10263.022788 -24918.245682   7782.717635       .026778                    
+P 21  13147.186672  -8122.409840 -21611.664493     88.037157                    
+V 21  15146.254240  22905.475470    161.476785       .010785                    
+P 22  12409.203675 -23493.387829   -292.832577     16.266337                    
+V 22   2251.607084   1805.749185 -31719.079090       .002955                    
+P 23 -26311.421791    -73.368118   3946.859731    211.500643                    
+V 23   4816.717513  -3133.450073  31205.999075       .005584                    
+P 24   -195.797736  20858.822594  16617.231655     89.526488                    
+V 24 -12637.000417 -16410.255060  20930.324350       .028920                    
+P 25  -5635.847653 -22043.243126  14061.545866     84.332224                    
+V 25  13052.983380  11534.587574  24005.650330       .007695                    
+P 26  20942.319555   8173.386798 -14919.189287    317.123434                    
+V 26 -17968.857067   2561.049700 -23736.452952       .055603                    
+P 27 -13244.066592   7628.705403 -21214.286952    513.607546                    
+V 27 -17675.088192 -21985.355779   2612.304315       .063194                    
+P 28 -11986.226765  23444.986236  -1363.454009     46.479643                    
+V 28  -2015.355744  -3156.585445 -31875.927073       .000577                    
+P 29  17153.918061   9795.935720 -17559.871816    178.395386                    
+V 29 -22413.163902   3942.714525 -19266.051304      -.189832                    
+P 30  17452.150245 -10586.476665  16685.576885    443.920149                    
+V 30  -6209.968183  20976.236403  19621.048470      -.143660                    
+*  2005  1 20  7 30   .00000000                                                 
+P  1  -3583.270252 -14455.844056  22184.134615    383.864845                    
+V  1  27370.902626  -3846.025529   1907.412599       .020436                    
+P  2  13009.004459  22369.872234   5866.846621    -42.513404                    
+V  2  -7144.501610  -4261.633654  30434.084612       .056280                    
+P  3 -10523.896044 -13307.411533 -20608.830379     78.137219                    
+V  3  24980.765297  -7155.203824  -7920.388692       .030379                    
+P  4   1350.254406  20574.963557  16547.536326    441.146279                    
+V  4 -14756.113670 -15314.929595  20579.508255      -.206699                    
+P  5  15264.802327   3575.955615  21277.445752     73.209614                    
+V  5  -7465.909118  26456.323486   1071.164386       .024731                    
+P  6  25605.621005  -6786.643127  -2441.546372   -162.056358                    
+V  6   3942.527466   2849.686320  30884.784370       .880167                    
+P  7 -12626.803891  15942.472884  17420.972626     62.503860                    
+V  7 -21405.363302   2598.133449 -18480.522166      -.302890                    
+P  8  -9234.749303  12503.588622 -21672.369744    -19.075082                    
+V  8 -16923.483674 -21208.866849  -5417.740621      -.011685                    
+P  9  20877.357783  13224.322314   9698.441976    -24.896375                    
+V  9   6647.174896  11352.342968 -28051.700398      -.018004                    
+P 10   4067.667642  20219.558533 -16622.604899     57.536862                    
+V 10  -9228.113938  19017.384967  21230.858056       .007237                    
+P 11 -22332.068578 -10752.658756   9771.374062    186.598941                    
+V 11  -6309.066796 -11483.835548 -26797.583050       .036778                    
+P 13 -25707.777420   5874.477505  -2897.884793    -13.786156                    
+V 13  -3874.626877  -1469.497502  32080.568095       .009362                    
+P 14  13319.851347 -14377.906128  17973.600788    -31.487764                    
+V 14  22571.508186  -2417.240182 -18736.861711      -.000904                    
+P 15   2570.050538 -18835.119629 -18627.801400    378.033006                    
+V 15  14690.677024  18195.213315 -16842.603778       .053031                    
+P 16    481.488801 -23912.367495 -11431.713721      1.986001                    
+V 16   7446.239295 -12844.017766  27043.740297      -.001850                    
+P 17  16360.909643  21138.529926  -3379.877330    -92.563765                    
+V 17    732.315719   4874.870106  30987.135698       .191617                    
+P 18  16695.385001 -15608.438680 -13256.047481   -119.043779                    
+V 18  -4489.116018  16594.834826 -25325.891513      -.037403                    
+P 19 -19636.704126  -8754.987611 -15476.533821    -11.896054                    
+V 19  19500.554577  -4224.281788 -22241.444280      -.008697                    
+P 20 -15175.011659  -2312.034154  21602.787329    -90.798486                    
+V 20   9174.527797 -26029.532967   3662.692262       .026775                    
+P 21  14556.139714  -6104.491063 -21411.642679     88.038447                    
+V 21  16109.080489  21867.127928   4274.590824       .010785                    
+P 22  12548.140057 -23190.090372  -3136.839038     16.266466                    
+V 22    900.755782   4957.985752 -31390.167096       .002973                    
+P 23 -25729.950990   -389.223773   6713.569854    211.500260                    
+V 23   8074.223160  -3949.344826  30188.288175       .005584                    
+P 24  -1428.596000  19331.499923  18354.537317     89.528192                    
+V 24 -14752.288758 -17446.179693  17623.385997       .028920                    
+P 25  -4357.702547 -20950.714752  16097.652032     84.333458                    
+V 25  15344.764932  12665.916230  21179.275496       .007708                    
+P 26  19219.190841   8464.606196 -16927.123601    317.128513                    
+V 26 -20254.151720   3953.761579 -20822.744555       .055594                    
+P 27 -14867.653474   5708.036010 -20788.874978    513.613355                    
+V 27 -18335.957140 -20631.884806   6823.786185       .063191                    
+P 28 -12112.438981  23014.935661  -4211.857036     46.479601                    
+V 28   -856.713058  -6416.565391 -31328.639756       .000585                    
+P 29  15054.450668  10221.368190 -19135.295492    178.378159                    
+V 29 -24156.815505   5538.213484 -15690.623819      -.189840                    
+P 30  16906.709562  -8596.281135  18299.442091    443.907720                    
+V 30  -5849.465604  23193.621844  16189.376961      -.143669                    
+*  2005  1 20  7 45   .00000000                                                 
+P  1  -1128.231691 -14871.402369  22167.850314    383.866760                    
+V  1  27094.716526  -5372.742250  -2268.923879       .020444                    
+P  2  12253.478033  21888.979292   8547.315153    -42.508195                    
+V  2  -9674.202112  -6360.515855  29045.039486       .056262                    
+P  3  -8258.722992 -14013.998787 -21144.885676     78.140609                    
+V  3  25273.508031  -8535.774980  -3973.901069       .030378                    
+P  4    -75.980659  19155.877322  18250.055786    441.127452                    
+V  4 -16921.213656 -16136.899050  17200.495824      -.206702                    
+P  5  14650.682112   5969.826394  21187.878090     73.212890                    
+V  5  -6161.197647  26654.074581  -3057.660871       .024732                    
+P  6  25813.479323  -6504.049595    351.048407   -161.977036                    
+V  6    687.605701   3494.218865  31084.161109       .880124                    
+P  7 -14453.919748  16198.072167  15615.935237     62.476319                    
+V  7 -19143.698249   3024.350055 -21577.199413      -.302897                    
+P  8 -10820.128104  10622.197037 -21974.626886    -19.076654                    
+V  8 -18255.924344 -20525.325540  -1291.719241      -.011685                    
+P  9  21401.247862  14122.520784   7097.626531    -24.898330                    
+V  9   4926.958393   8626.616547 -29659.600092      -.018008                    
+P 10   3320.954858  21846.114453 -14573.077101     57.536388                    
+V 10  -7390.803857  17047.130544  24249.307258       .007238                    
+P 11 -22819.514666 -11681.702303   7283.161657    186.602287                    
+V 11  -4461.728181  -9180.354147 -28417.123195       .036777                    
+P 13 -25898.495315   5720.332819      6.091663    -13.785349                    
+V 13   -370.561368  -2029.018162  32359.101381       .009366                    
+P 14  15245.482258 -14631.241311  16138.001589    -31.487744                    
+V 14  20158.009707  -3153.283058 -21996.156282      -.000905                    
+P 15   3981.559693 -17171.258573 -19980.212392    378.037529                    
+V 15  16654.037475  18695.181235 -13170.169405       .053030                    
+P 16   1076.357495 -24950.901248  -8905.875873      1.985670                    
+V 16   5817.173662 -10174.275815  29004.705766      -.001847                    
+P 17  16350.162942  21446.732274   -570.859288    -92.546638                    
+V 17  -1031.921388   2007.984896  31349.515544       .191645                    
+P 18  16285.717639 -13988.533595 -15412.891920   -119.046667                    
+V 18  -4543.506224  19364.243857 -22534.459996      -.037401                    
+P 19 -17784.937825  -9196.587208 -17338.231570    -11.896836                    
+V 19  21574.685713  -5623.600299 -19069.408583      -.008690                    
+P 20 -14407.335982  -4686.180253  21744.383012    -90.796214                    
+V 20   7852.913230 -26643.001262   -520.604721       .026773                    
+P 21  16036.038435  -4197.981560 -20844.875252     88.039506                    
+V 21  16712.920767  20440.692905   8299.887644       .010783                    
+P 22  12583.484506 -22598.077027  -5926.796956     16.266966                    
+V 22    -45.863636   8205.817953 -30519.372664       .002990                    
+P 23 -24864.923150   -795.134831   9365.164099    211.500931                    
+V 23  11103.285814  -5127.503195  28651.288791       .005587                    
+P 24  -2848.716106  17733.641216  19780.764403     89.530269                    
+V 24 -16784.503802 -17978.345273  14027.350376       .028922                    
+P 25  -2876.093546 -19777.424755  17863.436571     84.334422                    
+V 25  17559.795561  13329.613458  18007.099857       .007720                    
+P 26  17309.774174   8891.721385 -18656.901391    317.133658                    
+V 26 -22099.863286   5568.050371 -17563.144982       .055585                    
+P 27 -16531.436937   3925.355952 -19990.313253    513.619304                    
+V 27 -18560.658867 -18932.460579  10891.819160       .063187                    
+P 28 -12152.916272  22288.542176  -6985.976344     46.479690                    
+V 28   -113.477749  -9725.162499 -30227.287101       .000594                    
+P 29  12821.589520  10796.300575 -20375.647246    178.360924                    
+V 29 -25371.156125   7249.695754 -11830.833496      -.189848                    
+P 30  16409.525458  -6422.970562  19591.026223    443.895149                    
+V 30  -5146.812500  25033.233583  12469.945363      -.143678                    
+*  2005  1 20  8  0   .00000000                                                 
+P  1   1277.758169 -15418.726171  21776.833168    383.869560                    
+V  1  26285.102996  -6759.233204  -6408.443460       .020451                    
+P  2  11263.699087  21237.262384  11079.670410    -42.503126                    
+V  2 -12335.261148  -8050.516689  27146.859213       .056244                    
+P  3  -5989.453716 -14840.627487 -21321.878411     78.144619                    
+V  3  25073.834983  -9808.990588     47.670605       .030377                    
+P  4  -1691.162558  17685.208135  19634.889528    441.108871                    
+V  4 -18939.722927 -16463.279643  13530.430304      -.206705                    
+P  5  14158.097148   8357.908644  20728.859131     73.215216                    
+V  5  -4779.541267  26326.429571  -7126.793257       .024731                    
+P  6  25732.739863  -6146.478017   3137.659495   -161.897919                    
+V  6  -2455.833703   4511.716087  30752.401296       .880082                    
+P  7 -16064.130505  16475.830874  13547.622365     62.449218                    
+V  7 -16597.707021   3083.561228 -24322.518871      -.302903                    
+P  8 -12510.531664   8821.598856 -21904.592356    -19.078150                    
+V  8 -19245.953566 -19423.289459   2843.882393      -.011686                    
+P  9  21752.634963  14781.853592   4375.217309    -24.899443                    
+V  9   2821.409597   6058.582940 -30751.029985      -.018013                    
+P 10   2731.497782  23274.185940 -12270.201791     57.538148                    
+V 10  -5747.346343  14615.587069  26852.249371       .007239                    
+P 11 -23124.770174 -12409.636108   4670.857041    186.605582                    
+V 11  -2267.878357  -7027.046412 -29551.427834       .036775                    
+P 13 -25777.284158   5496.372565   2909.959191    -13.784809                    
+V 13   3040.116750  -3017.274174  32078.138799       .009371                    
+P 14  16938.292648 -14934.037437  14025.561840    -31.487769                    
+V 14  17411.522801  -3507.866744 -24880.014393      -.000905                    
+P 15   5562.462293 -15484.872362 -20992.059921    378.040698                    
+V 15  18440.403839  18699.558140  -9285.419447       .053028                    
+P 16   1537.493144 -25734.007014  -6225.962750      1.985667                    
+V 16   4484.735179  -7180.607735  30462.774294      -.001843                    
+P 17  16164.973445  21507.231445   2247.561540    -92.529178                    
+V 17  -3135.375407   -617.115211  31196.339848       .191673                    
+P 18  15889.835749 -12131.215105 -17300.523959   -119.049726                    
+V 18  -4189.077571  21855.933617 -19352.375547      -.037403                    
+P 19 -15767.536395  -9772.255158 -18899.045959    -11.897506                    
+V 19  23173.526712  -7189.954366 -15564.859210      -.008684                    
+P 20 -13765.949240  -7091.833838  21509.367991    -90.793615                    
+V 20   6382.732752 -26725.725255  -4694.259252       .026771                    
+P 21  17552.106784  -2434.669954 -19922.326517     88.040417                    
+V 21  16905.309853  18697.776365  12169.850682       .010781                    
+P 22  12552.585417 -21713.084444  -8614.449143     16.267479                    
+V 22   -569.741877  11452.210628 -29119.650589       .003006                    
+P 23 -23740.728708  -1321.530082  11855.962773    211.501223                    
+V 23  13820.421287  -6617.025020  26619.938565       .005591                    
+P 24  -4444.615598  16110.143783  20872.618037     89.533232                    
+V 24 -18643.842450 -18019.556768  10203.330938       .028923                    
+P 25  -1201.837841 -18565.113700  19330.165327     84.337032                    
+V 25  19611.673095  13536.232817  14542.904214       .007732                    
+P 26  15255.761974   9471.055567 -20079.613147    317.138636                    
+V 26 -23461.223971   7322.106668 -14007.817463       .055575                    
+P 27 -18194.350398   2307.994820 -18834.868278    513.624928                    
+V 27 -18311.916628 -16973.221765  14742.689007       .063183                    
+P 28 -12145.666033  21266.009014  -9636.674145     46.479806                    
+V 28    203.702498 -12980.349848 -28589.802706       .000602                    
+P 29  10504.385436  11526.975581 -21258.340346    178.344031                    
+V 29 -26028.072407   8983.149436  -7754.361845      -.189856                    
+P 30  15988.700838  -4103.642449  20537.397787    443.882491                    
+V 30  -4163.968684  26428.578547   8529.509405      -.143687                    
+*  2005  1 20  8 15   .00000000                                                 
+P  1   3588.083225 -16081.258030  21017.500691    383.873093                    
+V  1  24975.919115  -7919.117689 -10442.334508       .020458                    
+P  2  10031.959617  20453.212210  13419.358963    -42.498045                    
+V  2 -15035.211000  -9296.919037  24769.282331       .056225                    
+P  3  -3759.605115 -15773.966129 -21136.071934     78.147474                    
+V  3  24402.277972 -10894.044967   4076.990359       .030375                    
+P  4  -3478.067319  16206.723192  20678.769816    441.089949                    
+V  4 -20723.026531 -16315.704618   9635.022407      -.206708                    
+P  5  13790.065743  10692.854870  19908.991534     73.217226                    
+V  5  -3407.796080  25475.103058 -11064.814659       .024731                    
+P  6  25377.372068  -5681.722752   5870.775609   -161.818222                    
+V  6  -5401.461412   5869.298143  29897.431610       .880039                    
+P  7 -17435.339777  16741.053309  11249.895385     62.421890                    
+V  7 -13846.358417   2741.326705 -26667.581453      -.302909                    
+P  8 -14272.250584   7136.606239 -21464.501031    -19.079887                    
+V  8 -19831.477967 -17968.253592   6920.437185      -.011685                    
+P  9  21899.118707  15220.240002   1578.303016    -24.901991                    
+V  9    383.537839   3729.281385 -31314.031113      -.018017                    
+P 10   2278.278007  24464.931347  -9753.574103     57.538987                    
+V 10  -4375.276275  11784.924597  28992.062285       .007239                    
+P 11 -23218.873294 -12953.169074   1979.023603    186.608711                    
+V 11    220.877688  -5093.321391 -30182.044456       .036774                    
+P 13 -25357.060120   5165.293795   5763.493262    -13.783874                    
+V 13   6258.191651  -4402.586597  31242.063586       .009377                    
+P 14  18372.191991 -15249.912394  11672.365016    -31.488037                    
+V 14  14419.807459  -3438.209947 -27338.570729      -.000905                    
+P 15   7292.989352 -13819.280270 -21647.211626    378.045104                    
+V 15  19965.614801  18239.732655  -5254.840830       .053028                    
+P 16   1894.164968 -26236.149232  -3438.411568      1.985506                    
+V 16   3503.587450  -3945.200151  31393.326000      -.001840                    
+P 17  15777.387157  21345.002707   5029.162402    -92.512493                    
+V 17  -5518.712061  -2930.938823  30532.747242       .191701                    
+P 18  15542.581951 -10065.310265 -18886.308682   -119.052985                    
+V 18  -3471.880672  23986.531461 -15836.783189      -.037407                    
+P 19 -13629.121430 -10493.236511 -20131.758599    -11.898210                    
+V 19  24259.033880  -8838.061986 -11788.884331      -.008679                    
+P 20 -13260.213102  -9480.437412  20901.888171    -90.791082                    
+V 20   4853.628059 -26263.297130  -8785.570252       .026768                    
+P 21  19065.512055   -839.447665 -18660.887251     88.041709                    
+V 21  16648.844524  16719.529096  15820.459573       .010778                    
+P 22  12493.641170 -20539.685168 -11153.126693     16.267626                    
+V 22   -670.566904  14598.463013 -27213.312588       .003021                    
+P 23 -22388.783940  -1993.595301  14142.920477    211.501651                    
+V 23  16153.471054  -8352.667667  24127.772035       .005596                    
+P 24  -6196.867781  14503.955572  21612.446129     89.534964                    
+V 24 -20245.447643 -17600.148042   6215.445600       .028924                    
+P 25    646.645643 -17353.813895  20474.124361     84.337768                    
+V 25  21418.386493  13313.007151  10844.316339       .007743                    
+P 26  13102.162476  10211.237607 -21171.076354    317.143474                    
+V 26 -24309.532638   9127.260610 -10211.556970       .055566                    
+P 27 -19812.793911    875.169193 -17345.185725    513.630620                    
+V 27 -17570.871732 -14847.649293  18308.578833       .063179                    
+P 28 -12128.801041  19956.735206 -12116.895561     46.479633                    
+V 28    103.143683 -16080.484427 -26444.479463       .000612                    
+P 29   8153.518591  12411.025606 -21767.098480    178.326798                    
+V 29 -26119.602842  10641.910118  -3533.538354      -.189864                    
+P 30  15666.219287  -1680.706553  21121.835133    443.869701                    
+V 30  -2974.471879  27328.501002   4439.075931      -.143697                    
+*  2005  1 20  8 30   .00000000                                                 
+P  1   5759.940297 -16835.015508  19902.403350    383.874518                    
+V  1  23217.781022  -8774.315434 -14303.290609       .020464                    
+P  2   8559.100034  19577.650872  15524.915386    -42.493119                    
+V  2 -17677.167378 -10082.813167  21951.124858       .056208                    
+P  3  -1610.119320 -16793.657714 -20589.829413     78.149516                    
+V  3  23295.351575 -11716.143460   8046.018068       .030373                    
+P  4  -5411.805795  14761.437130  21364.502799    441.071084                    
+V  4 -22189.961622 -15733.457182   5583.317132      -.206711                    
+P  5  13541.832295  12928.300828  18743.187211     73.218548                    
+V  5  -2131.264235  24120.149608 -14803.150809       .024731                    
+P  6  24768.762758  -5081.225108   8503.988192   -161.738666                    
+V  6  -8071.264320   7519.072523  28535.772593       .879996                    
+P  7 -18552.879370  16956.658820   8760.770293     62.394701                    
+V  7 -10975.269151   1979.316648 -28569.116537      -.302916                    
+P  8 -16066.608225   5595.608922 -20662.696226    -19.081202                    
+V  8 -19964.547323 -16236.969773  10870.990480      -.011685                    
+P  9  21813.670085  15462.372537  -1245.356453    -24.904246                    
+V  9  -2320.703091   1707.769879 -31345.592757      -.018020                    
+P 10   1933.840912  25385.807855  -7066.721207     57.539042                    
+V 10  -3339.588084   8632.522786  30629.149391       .007239                    
+P 11 -23078.064973 -13334.801120   -746.488704    186.611885                    
+V 11   2940.874633  -3438.066436 -30298.866506       .036775                    
+P 13 -24659.341029   4693.465654   8517.284938    -13.782937                    
+V 13   9192.266181  -6135.397153  29864.776798       .009383                    
+P 14  19529.361995 -15539.411739   9118.668249    -31.488002                    
+V 14  11278.356773  -2919.066565 -29329.080253      -.000904                    
+P 15   9146.157145 -12214.230265 -21935.597697    378.050315                    
+V 15  21154.005737  17363.380836  -1146.488014       .053027                    
+P 16   2179.855402 -26439.624511   -591.458622      1.985121                    
+V 16   2912.393307   -559.366645  31781.052143      -.001836                    
+P 17  15165.323963  20990.719392   7728.503351    -92.495805                    
+V 17  -8111.116024  -4876.685631  29370.954523       .191729                    
+P 18  15273.960681  -7826.619958 -20143.022448   -119.056109                    
+V 18  -2452.987063  25684.934615 -12050.586979      -.037411                    
+P 19 -11416.919270 -11362.856867 -21014.878692    -11.899048                    
+V 19  24811.544290 -10477.815053  -7807.482304      -.008673                    
+P 20 -12891.329290 -11802.995418  19932.573775    -90.788679                    
+V 20   3356.671543 -25260.428388 -12723.359115       .026764                    
+P 21  20534.786819    570.407445 -17083.017884     88.042689                    
+V 21  15922.555879  14593.438229  19192.108107       .010774                    
+P 22  12444.055112 -19091.269859 -13498.580673     16.268166                    
+V 22   -366.263933  17547.941363 -24831.765321       .003036                    
+P 23 -20846.386837  -2830.090280  16186.379250    211.502112                    
+V 23  18044.297817 -10257.332255  21216.437839       .005602                    
+P 24  -8078.750351  12954.555185  21988.465696     89.537734                    
+V 24 -21512.552434 -16766.604279   2129.839231       .028926                    
+P 25   2643.868000 -16180.402874  21276.926527     84.336540                    
+V 25  22905.301095  12702.561520   6971.947665       .007754                    
+P 26  10895.803192  11112.724745 -21912.228348    317.148536                    
+V 26 -24633.190302  10891.132866  -6233.248050       .055557                    
+P 27 -21342.322774   -362.495505 -15549.702215    513.636638                    
+V 27 -16337.632298 -12652.493094  21528.799252       .063175                    
+P 28 -12138.842297  18379.097583 -14382.580727     46.479674                    
+V 28   -388.223825 -18928.372415 -23829.476626       .000622                    
+P 29   5819.461434  13437.414992 -21892.312453    178.309564                    
+V 29 -25658.317938  12130.695789    756.050665      -.189872                    
+P 30  15457.041499    799.593857  21334.144480    443.856849                    
+V 30  -1660.289754  27699.254980    272.453716      -.143706                    
+*  2005  1 20  8 45   .00000000                                                 
+P  1   7755.768871 -17649.478966  18450.043376    383.876499                    
+V  1  21076.221906  -9258.117597 -17926.524914       .020470                    
+P  2   6854.737966  18652.090834  17358.757739    -42.487953                    
+V  2 -20163.608982 -10409.827843  18739.767091       .056190                    
+P  3    422.019870 -17872.998372 -19691.629140     78.151778                    
+V  3  21804.236925 -12209.521076  11887.085078       .030372                    
+P  4  -7460.639772  13386.101303  21681.209219    441.052597                    
+V  4 -23269.982484 -14771.635634   1446.374073      -.206714                    
+P  5  13401.165689  15020.483563  17252.355264     73.219584                    
+V  5  -1030.199963  22299.122602 -18277.301333       .024732                    
+P  6  23934.841535  -4321.343360  10992.747513   -161.659456                    
+V  6 -10398.282529   9400.022646  26692.134274       .879953                    
+P  7 -19409.972266  17084.684843   6121.869484     62.367583                    
+V  7  -8073.652502    796.392812 -29990.404161      -.302922                    
+P  8 -17851.317001   4219.693863 -19513.436653    -19.081854                    
+V  8 -19613.114619 -14314.446121  14631.193486      -.011685                    
+P  9  21475.682697  15538.533784  -4048.118871    -24.904481                    
+V  9  -5215.001278     48.889524 -30851.267355      -.018024                    
+P 10   1665.550941  26011.816485  -4256.339213     57.540278                    
+V 10  -2690.012397   5248.119809  31732.820268       .007240                    
+P 11 -22684.774448 -13581.776646  -3459.301076    186.615055                    
+V 11   5818.674330  -2107.508734 -29900.259001       .036778                    
+P 13 -23713.394114   4052.444499  11123.613248    -13.782410                    
+V 13  11762.087839  -8150.342102  27969.799070       .009390                    
+P 14  20400.793544 -15761.643086   6408.226052    -31.488056                    
+V 14   8086.823262  -1943.858263 -30816.686577      -.000904                    
+P 15  11088.661560 -10704.521626 -21853.303427    378.055306                    
+V 15  21941.222645  16132.412743   2971.088387       .053026                    
+P 16   2430.748873 -26335.230496   2265.709788      1.984734                    
+V 16   2732.346537   2879.888912  31620.171471      -.001829                    
+P 17  14313.503251  20479.527788  10301.553165    -92.478359                    
+V 17 -10832.734721  -6412.012835  27730.006922       .191757                    
+P 18  15107.900931  -5456.688197 -21049.315482   -119.059413                    
+V 18  -1205.851561  26895.024609  -8061.198158      -.037418                    
+P 19  -9179.070128 -12376.251825 -21533.031359    -11.899865                    
+V 19  24830.465131 -12017.941244  -3690.356064      -.008667                    
+P 20 -12652.377743 -14011.794094  18618.344540    -90.786254                    
+V 20   1980.661294 -23740.805599 -16439.246128       .026760                    
+P 21  21917.346410   1785.650324 -15216.314179     88.043895                    
+V 21  14722.657116  12409.954149  22230.408673       .010769                    
+P 22  12438.819794 -17389.694117 -15609.782054     16.268550                    
+V 22    307.694396  20209.774562 -22015.066344       .003049                    
+P 23 -19155.353032  -3842.412307  17950.771411    211.502978                    
+V 23  19450.961105 -12245.037112  17935.064384       .005607                    
+P 24 -10057.103497  11496.581134  21994.901869     89.540484                    
+V 24 -22379.308274 -15579.634630  -1986.278160       .028927                    
+P 25   4758.055242 -15077.293274  21725.743059     84.336880                    
+V 25  24007.799144  11761.154838   2988.565812       .007767                    
+P 26   8683.765438  12167.617469 -22289.467786    317.153367                    
+V 26 -24438.190199  12520.961331  -2135.262865       .055547                    
+P 27 -22739.348290  -1403.075690 -13481.959193    513.642428                    
+V 27 -14631.001424 -10483.711746  24350.732270       .063171                    
+P 28 -12209.089906  16559.872704 -16393.521012     46.479592                    
+V 28  -1226.013487 -21435.175035 -20792.073265       .000634                    
+P 29   3550.645552  14586.746329 -21631.266321    178.292761                    
+V 29 -24676.850397  13359.632425   5037.066091      -.189880                    
+P 30  15368.502107   3288.815276  21170.844343    443.843823                    
+V 30   -308.317640  27525.853228  -3895.258870      -.143716                    
+*  2005  1 20  9  0   .00000000                                                 
+P  1   9544.490099 -18488.738731  16684.602822    383.877714                    
+V  1  18629.306588  -9317.861892 -21250.771291       .020476                    
+P  2   4937.150935  17717.061586  18887.927214    -42.482886                    
+V  2 -22400.262833 -10298.110921  15190.425866       .056173                    
+P  3   2305.026625 -18979.875200 -18455.981230     78.154002                    
+V  3  19992.906910 -12320.165228  15534.007460       .030371                    
+P  4  -9587.063298  12111.885486  21624.446785    441.034031                    
+V  4 -23905.871391 -13498.729397  -2704.037288      -.206717                    
+P  5  13348.962220  16929.752794  15462.984172     73.222133                    
+V  5   -176.558594  20065.555190 -21427.955786       .024733                    
+P  6  22908.979001  -3384.430868  13295.077515   -161.580326                    
+V  6 -12328.906887  11440.369111  24398.906451       .879910                    
+P  7 -20007.910646  17087.859624   3377.791892     62.340538                    
+V  7  -5231.054870   -790.933696 -30902.162565      -.302929                    
+P  8 -19581.967196   3022.046833 -18036.622487    -19.082762                    
+V  8 -18762.214641 -12290.700847  18140.167351      -.011685                    
+P  9  20871.777198  15483.238286  -6783.209284    -24.906795                    
+V  9  -8215.565622  -1208.380880 -29844.688536      -.018029                    
+P 10   1437.065508  26326.465625  -1371.458235     57.541154                    
+V 10  -2458.900574   1730.428308  32282.001513       .007239                    
+P 11 -22028.381975 -13724.866718  -6113.269366    186.618335                    
+V 11   8773.714494  -1133.559062 -28993.061905       .036781                    
+P 13 -22555.091622   3220.289347  13537.290303    -13.781537                    
+V 13  13901.588889 -10368.754696  25589.824194       .009398                    
+P 14  20986.493401 -15875.980293   3587.550362    -31.488082                    
+V 14   4945.277103   -525.087113 -31775.066242      -.000904                    
+P 15  13082.006302  -9318.834495 -21402.567324    378.060021                    
+V 15  22276.591511  14620.442903   7029.867768       .053025                    
+P 16   2684.119644 -25922.615024   5083.817892      1.984627                    
+V 16   2966.404185   6273.516403  30914.468691      -.001822                    
+P 17  13214.136873  19849.684127  12706.292109    -92.461034                    
+V 17 -13597.392461  -7510.327523  25635.513612       .191786                    
+P 18  15061.278946  -3001.354181 -21590.058647   -119.063104                    
+V 18    186.805752  27577.765084  -3939.218991      -.037423                    
+P 19  -6962.908958 -13520.429673 -21677.233905    -11.900384                    
+V 19  24334.210174 -13369.722381    490.366877      -.008662                    
+P 20 -12528.684785 -16062.074937  16982.102470    -90.784043                    
+V 20    808.517283 -21746.207390 -19868.868660       .026758                    
+P 21  23171.045190   2805.181625 -13093.005575     88.045201                    
+V 21  13062.657863  10259.075940  24886.884497       .010761                    
+P 22  12508.995639 -15464.599996 -17449.673500     16.268784                    
+V 22   1299.691416  22502.362831 -18811.298913       .003062                    
+P 23 -17360.482780  -5033.945132  19405.258697    211.503505                    
+V 23  20349.282307 -14224.268713  14339.479585       .005610                    
+P 24 -12093.424999  10158.656550  21632.041210     89.542873                    
+V 24 -22793.209898 -14111.769188  -6065.573178       .028928                    
+P 25   6952.156271 -14071.302531  21813.460204     84.337602                    
+V 25  24673.578356  10556.464194  -1041.732821       .007779                    
+P 26   6511.800487  13359.778213 -22294.938748    317.158510                    
+V 26 -23748.032288  13927.009974   2017.213945       .055538                    
+P 27 -23962.779194  -2253.102368 -11179.844821    513.648196                    
+V 27 -12487.442784  -8432.607310  26730.488387       .063167                    
+P 28 -12368.132972  14533.321215 -18114.137343     46.479672                    
+V 28  -2350.302331 -23523.975189 -17387.687908       .000646                    
+P 29   1391.708918  15831.921903 -20988.224573    178.275556                    
+V 29 -23226.583261  14248.090437   9231.992935      -.189888                    
+P 30  15400.031810   5738.033788  20635.212651    443.830609                    
+V 30    993.321311  26812.635182  -7989.205610      -.143726                    
+*  2005  1 20  9 15   .00000000                                                 
+P  1  11102.509491 -19312.861459  14635.582452    383.880493                    
+V  1  15964.779932  -8917.113328 -24219.262892       .020483                    
+P  2   2832.810738  16810.472687  20084.752763    -42.477834                    
+V  2 -24299.930781  -9785.539618  11365.217096       .056155                    
+P  3   4013.360898 -20077.931701 -16903.242969     78.157493                    
+V  3  17935.749821 -12008.133741  18923.222436       .030370                    
+P  4 -11749.103873  10963.300128  21196.216827    441.016082                    
+V  4 -24055.899780 -11993.716979  -6796.700760      -.206720                    
+P  5  13360.125340  18621.917718  13406.629408     73.224370                    
+V  5    368.884002  17486.836322 -24201.976839       .024734                    
+P  6  21728.700813  -2259.683855  15372.240589   -161.501019                    
+V  6 -13824.663539  13560.310961  21695.557722       .879866                    
+P  7 -20355.934855  16931.186198    575.405904     62.313245                    
+V  7  -2533.993818  -2748.716522 -31283.371213      -.302936                    
+P  8 -21213.594571   2007.653010 -16257.446765    -19.083828                    
+V  8 -17414.533174 -10257.382810  21341.298798      -.011685                    
+P  9  19996.337737  15333.753867  -9405.422964    -24.908733                    
+V  9 -11234.184488  -2041.956822 -28347.022260      -.018033                    
+P 10   1209.968100  26322.410990   1537.447861     57.542456                    
+V 10  -2659.817021  -1816.645588  32265.751363       .007239                    
+P 11 -21105.730489 -13797.026158  -8663.242440    186.621727                    
+V 11  11721.222344   -532.695765 -27592.472757       .036784                    
+P 13 -21225.519037   2182.624230  15716.462841    -13.780671                    
+V 13  15561.345541 -12701.741506  22766.151667       .009407                    
+P 14  21295.351919 -15843.771475    705.118735    -31.487984                    
+V 14   1950.438824   1305.993308 -32186.934353      -.000905                    
+P 15  15083.821619  -8078.804849 -20591.689149    378.063098                    
+V 15  22124.972594  12909.883418  10963.334168       .053024                    
+P 16   2976.683141 -25210.293420   7814.356555      1.984605                    
+V 16   3599.244202   9524.125845  29677.158588      -.001815                    
+P 17  11867.368513  19141.097746  14903.290258    -92.444026                    
+V 17 -16315.498757  -8161.575285  23119.368948       .191814                    
+P 18  15143.238119   -509.146288 -21756.570136   -119.066327                    
+V 18   1636.461795  27712.606267    242.904223      -.037427                    
+P 19  -4813.285941 -14774.665575 -21445.054561    -11.901079                    
+V 19  23359.386064 -14450.617370   4661.461468      -.008659                    
+P 20 -12498.505653 -17913.596737  15052.318462    -90.781580                    
+V 20    -86.077297 -19334.919923 -22953.017501       .026756                    
+P 21  24255.714988   3635.855895 -10749.396141     88.045872                    
+V 21  10972.857334   8227.013949  27119.553579       .010753                    
+P 22  12680.346378 -13352.435642 -18985.856955     16.269161                    
+V 22   2544.036551  24356.553687 -15275.771921       .003074                    
+P 23 -15507.917233  -6399.721791  20524.294929    211.503987                    
+V 23  20733.730912 -16101.583165  10491.293865       .005613                    
+P 24 -14145.162597   8962.448420  20906.201270     89.545290                    
+V 24 -22717.043381 -12444.565784 -10041.508751       .028930                    
+P 25   9185.038876 -13182.738862  21538.762178     84.338789                    
+V 25  24864.523181   9165.005670  -5054.335533       .007791                    
+P 26   4422.780022  14665.256774 -21926.750301    317.164012                    
+V 26 -22603.044634  15025.958324   6156.946256       .055528                    
+P 27 -24975.538927  -2926.980786  -8684.789133    513.653988                    
+V 27  -9959.373606  -6582.311514  28633.291453       .063163                    
+P 28 -12638.563443  12339.972709 -19514.160862     46.479783                    
+V 28  -3688.226140 -25132.840931 -13678.694439       .000658                    
+P 29   -618.102584  17139.135320 -19974.375760    178.258635                    
+V 29 -21375.544884  14728.157400  13264.745509      -.189896                    
+P 30  15543.215208   8099.579979  19737.196774    443.817923                    
+V 30   2159.008504  25583.034015 -11936.279874      -.143735                    
+*  2005  1 20  9 30   .00000000                                                 
+P  1  12414.445460 -20079.427301  12337.354002    383.883474                    
+V  1  13176.843258  -8037.265988 -26780.676712       .020488                    
+P  2    575.582436  15966.082116  20927.422416    -42.472721                    
+V  2 -25786.088205  -8926.175934   7332.022337       .056137                    
+P  3   5528.542648 -21127.919910 -15059.331503     78.159247                    
+V  3  15714.769234 -11249.369732  21994.929938       .030369                    
+P  4 -13901.790690   9957.396649  20404.859962    440.997609                    
+V  4 -23695.369777 -10342.811114 -10762.153188      -.206723                    
+P  5  13404.683829  20069.378954  11119.319062     73.226295                    
+V  5    558.933180  14641.577527 -26553.236995       .024735                    
+P  6  20434.266311   -943.729188  17189.344637   -161.421970                    
+V  6 -14863.431339  15675.044227  18627.956320       .879823                    
+P  7 -20470.810092  16583.475812  -2236.927621     62.286015                    
+V  7    -62.624548  -5026.485443 -31121.995184      -.302943                    
+P  8 -22702.271357   1173.303486 -14205.978178    -19.085075                    
+V  8 -15590.357484  -8304.371435  24182.969391      -.011685                    
+P  9  18851.769234  15128.557621 -11871.777076    -24.911080                    
+V  9 -14181.355669  -2447.064936 -26386.376603      -.018036                    
+P 10    945.493479  26001.743285   4419.388388     57.543064                    
+V 10  -3286.908844  -5288.022773  31683.557295       .007239                    
+P 11 -19921.367025 -13831.976017 -11065.804624    186.624953                    
+V 11  14575.288249   -305.428156 -25721.810701       .036788                    
+P 13 -19769.390684    933.404049  17623.354714    -13.779897                    
+V 13  16710.382322 -15053.675507  19547.948234       .009415                    
+P 14  21344.675988 -15629.984193  -2189.456247    -31.488068                    
+V 14   -807.968157   3500.441454 -32044.398779      -.000907                    
+P 15  17049.324718  -6998.374100 -19434.852686    378.067671                    
+V 15  21468.047919  11088.766025  14707.396125       .053024                    
+P 16   3342.976046 -24215.334885  10410.419571      1.984400                    
+V 16   4597.943833  12539.610506  27930.583172      -.001809                    
+P 17  10281.445508  18393.826717  16856.259963    -92.426523                    
+V 17 -18897.072314  -8372.505018  20219.455593       .191842                    
+P 18  15354.830471   1970.417310 -21546.720739   -119.069731                    
+V 18   3052.449711  27298.150707   4412.227123      -.037431                    
+P 19  -2770.992795 -16111.211949 -20840.650742    -11.901813                    
+V 19  21959.262516 -15187.641812   8749.950750      -.008655                    
+P 20 -12533.993223 -19532.025791  12862.521168    -90.778981                    
+V 20   -641.656309 -16579.516277 -25638.669898       .026753                    
+P 21  25134.631079   4291.997068  -8225.257650     88.047132                    
+V 21   8499.247738   6393.040459  28893.409767       .010745                    
+P 22  12972.188041 -11095.209191 -20191.201771     16.269621                    
+V 22   3963.625635  25718.350194 -11470.056739       .003086                    
+P 23 -13643.447176  -7926.417659  21288.100474    211.504696                    
+V 23  20617.589476 -17785.318819   6456.859182       .005615                    
+P 24 -16167.157991   7921.992235  19829.618370     89.548315                    
+V 24 -22130.298935 -10665.521103 -13849.241314       .028931                    
+P 25  11412.833009 -12424.732801  20906.141396     84.338832                    
+V 25  24558.098386   7669.270926  -8984.917428       .007803                    
+P 26   2455.234521  16053.015856 -21189.123311    317.168504                    
+V 26 -21059.108872  15744.162868  10215.503878       .055518                    
+P 27 -25745.903184  -3446.114434  -6040.935870    513.659796                    
+V 27  -7112.897555  -5004.747802  30033.617451       .063158                    
+P 28 -13035.949526  10025.162822 -20569.199271     46.480110                    
+V 28  -5157.129949 -26217.247251  -9733.072809       .000669                    
+P 29  -2446.311653  18469.153243 -18607.632169    178.241509                    
+V 29 -19205.598857  14747.587401  17062.253427      -.189904                    
+P 30  15782.179826  10328.717376  18493.190547    443.804703                    
+V 30   3109.230353  23878.560782 -15666.566218      -.143745                    
+*  2005  1 20  9 45   .00000000                                                 
+P  1  13473.555038 -20745.182560   9828.629455    383.885360                    
+V  1  10362.667937  -6678.498457 -28890.030440       .020493                    
+P  2  -1794.384081  15212.135780  21400.444577    -42.467667                    
+V  2 -26796.090300  -7788.019356   3163.182271       .056119                    
+P  3   6839.698555 -22089.190008 -12955.334358     78.162583                    
+V  3  13416.457262 -10036.929937  24694.217583       .030368                    
+P  4 -15998.732006   9103.271573  19264.847300    440.978999                    
+V  4 -22817.492696  -8635.984464 -14533.803586      -.206727                    
+P  5  13449.101284  21252.004770   8640.891101     73.227068                    
+V  5    361.812917  11616.583649 -28443.300232       .024736                    
+P  6  19067.164460    559.067912  18715.885950   -161.342794                    
+V  6 -15440.058026  17697.948676  15247.624354       .879779                    
+P  7 -20376.109432  16018.767915  -5010.191716     62.258723                    
+V  7   2112.428929  -7558.852777 -30415.574220      -.302950                    
+P  8 -24006.665211    507.904557 -11916.681127    -19.086224                    
+V  8 -13326.916695  -6516.466394  26619.220715      -.011685                    
+P  9  17448.472823  14905.782146 -14142.108405    -24.912694                    
+V  9 -16969.386385  -2436.061094 -23997.189813      -.018040                    
+P 10    606.273194  25375.909633   7223.799238     57.543937                    
+V 10  -4315.087664  -8581.539733  30545.402840       .007238                    
+P 11 -18487.504437 -13862.764656 -13279.991671    186.628229                    
+V 11  17251.989072   -436.358586 -23412.164622       .036792                    
+P 13 -18233.335356   -524.647610  19224.935968    -13.779039                    
+V 13  17337.246444 -17325.968063  15991.358221       .009424                    
+P 14  21159.404489 -15204.723105  -5046.282226    -31.488212                    
+V 14  -3250.602577   5993.390182 -31349.152561      -.000909                    
+P 15  18932.869257  -6083.432779 -17951.868241    378.073529                    
+V 15  20305.009008   9247.403709  18201.250697       .053024                    
+P 16   3813.828729 -22962.731833  12827.505579      1.984071                    
+V 16   5913.345619  15236.546638  25705.752571      -.001802                    
+P 17   8472.616321  17646.573662  18532.580509    -92.409039                    
+V 17 -21254.800000  -8166.399437  16979.321738       .191870                    
+P 18  15688.990653   4388.554082 -20964.919133   -119.072817                    
+V 18   4345.663617  26352.066780   8496.623041      -.037436                    
+P 19   -871.356706 -17496.296855 -19874.686438    -11.902446                    
+V 19  20201.590256 -15520.366810  12684.441459      -.008653                    
+P 20 -12602.413474 -20890.100948  10450.698241    -90.776476                    
+V 20   -811.455673 -13564.090399 -27879.900446       .026749                    
+P 21  25775.854685   4794.642806  -5563.183753     88.048089                    
+V 21   5701.876239   4826.629425  30180.807124       .010736                    
+P 22  13396.500147  -8739.024454 -21044.359448     16.270021                    
+V 22   5473.087795  26551.033900  -7460.878206       .003096                    
+P 23 -11810.840027  -9592.677138  21683.038032    211.505354                    
+V 23  20032.383177 -19189.273352   2306.120501       .005616                    
+P 24 -18113.192231   7043.304180  18420.255652     89.552569                    
+V 24 -21030.005687  -8864.787423 -17426.495720       .028932                    
+P 25  13590.376412 -11802.835949  19925.836545     84.339141                    
+V 25  23748.224554   6154.667520 -12770.241846       .007815                    
+P 26    642.032689  17485.940112 -20092.455459    317.173568                    
+V 26 -19185.804189  16020.676094  14124.223274       .055509                    
+P 27 -26248.612896  -3837.780574  -3294.311622    513.665479                    
+V 27  -4025.103421  -3758.159867  30915.121299       .063154                    
+P 28 -13568.112207   7637.385343 -21261.175961     46.480146                    
+V 28  -6668.126777 -26751.750712  -5622.939310       .000679                    
+P 29  -4068.305948  19778.833825 -16912.289405    178.224853                    
+V 29 -16809.052348  14272.091327  20555.980687      -.189913                    
+P 30  16094.297355  12385.196127  16925.685940    443.791791                    
+V 30   3773.891423  21757.059838 -19114.678621      -.143755                    
+*  2005  1 20 10  0   .00000000                                                 
+P  1  14281.838521 -21267.747413   7151.852347    383.886720                    
+V  1   7618.767718  -4860.035706 -30509.515695       .020498                    
+P  2  -4232.027700  14570.237736  21494.985118    -42.462709                    
+V  2 -27283.834889  -6450.144741  -1065.951377       .056102                    
+P  3   7943.816851 -22921.261614 -10627.020378     78.165705                    
+V  3  11128.455293  -8381.562469  26972.144058       .030366                    
+P  4 -17993.740996   8401.888110  17796.475049    440.960605                    
+V  4 -21433.587562  -6963.411845 -18048.959056      -.206731                    
+P  5  13457.723212  22157.721524   6014.276418     73.229277                    
+V  5   -237.621542   8503.552775 -29841.944779       .024738                    
+P  6  17668.581984   2236.586336  19926.222331   -161.263493                    
+V  6 -15566.361223  19543.830657  11610.935457       .879736                    
+P  7 -20101.224329  15217.575424  -7695.595207     62.231693                    
+V  7   3932.938085 -10267.781450 -29171.639230      -.302957                    
+P  8 -25089.512238     -6.923087  -9427.878730    -19.085831                    
+V  8 -10677.137601  -4970.272989  28610.357268      -.011686                    
+P  9  15804.548656  14701.703304 -16179.614302    -24.915543                    
+V  9 -19515.368493  -2037.680239 -21219.613193      -.018043                    
+P 10    158.028136  24465.270606   9901.481668     57.543349                    
+V 10  -5701.020935 -11601.928302  28871.597876       .007237                    
+P 11 -16823.703988 -13920.361357 -15267.969969    186.631531                    
+V 11  19672.449110   -894.841828 -20701.928675       .036796                    
+P 13 -16664.119823  -2179.947017  20493.505750    -13.778080                    
+V 13  17450.309384 -19420.967835  12158.481549       .009433                    
+P 14  20771.035959 -14544.559846  -7816.052068    -31.488196                    
+V 14  -5311.494008   8706.444124 -30112.497128      -.000910                    
+P 15  20689.529119  -5331.767674 -16167.839874    378.077733                    
+V 15  18652.630404   7475.003972  21388.191931       .053024                    
+P 16   4414.989433 -21484.478206  15024.272123      1.983965                    
+V 16   7482.051429  17543.240705  23041.743102      -.001794                    
+P 17   6464.754231  16935.229904  19903.792137    -92.391750                    
+V 17 -23307.048132  -7582.270773  13447.821157       .191898                    
+P 18  16130.839809   6698.901480 -20021.981094   -119.076310                    
+V 18   5432.160063  24910.267522  12426.042866      -.037442                    
+P 19    856.943315 -18891.370514 -18564.130900    -11.902942                    
+V 19  18165.857409 -15403.415839  16396.421504      -.008653                    
+P 20 -12667.558630 -21968.529299   7858.621705    -90.774279                    
+V 20   -565.307052 -10381.057478 -29638.654014       .026746                    
+P 21  26153.405999   5170.547814  -2807.913688     88.049126                    
+V 21   2652.728433   3584.974313  30961.753601       .010727                    
+P 22  13957.337314  -6332.455518 -21530.172807     16.270390                    
+V 22   6982.292154  26836.608260  -3318.882153       .003105                    
+P 23 -10050.250795 -11369.764138  21701.880951    211.506018                    
+V 23  19026.589460 -20236.197447  -1888.620442       .005616                    
+P 24 -19937.579172   6324.293597  16701.533386     89.555570                    
+V 24 -19430.961837  -7131.801014 -20714.417854       .028932                    
+P 25  15672.714646 -11314.900476  18613.698602     84.340530                    
+V 25  22445.607735   4706.355568 -16348.961767       .007827                    
+P 26   -990.747095  18922.101591 -18653.295076    317.178384                    
+V 26 -17064.004042  15809.905875  17815.273191       .055499                    
+P 27 -26465.729470  -4133.811100   -492.009687    513.671200                    
+V 27   -781.060491  -2885.263901  31270.389979       .063149                    
+P 28 -14234.734262   5226.529882 -21578.633260     46.480299                    
+V 28  -8129.899259 -26730.850035  -1423.004677       .000688                    
+P 29  -5468.108658  21022.817574 -14918.554000    178.207414                    
+V 29 -14284.835158  13286.864137  23683.332167      -.189921                    
+P 30  16451.164874  14234.620024  15062.810161    443.778752                    
+V 30   4095.201640  19290.322030 -22220.963390      -.143765                    
+*  2005  1 20 10 15   .00000000                                                 
+P  1  14849.816130 -21607.314981   4352.517601    383.887581                    
+V  1   5037.360420  -2619.693218 -31609.249710       .020504                    
+P  2  -6688.959961  14054.501266  21209.069192    -42.457723                    
+V  2 -27221.753211  -4999.345703  -5278.566373       .056086                    
+P  3   8845.696800 -23585.416184  -8114.256070     78.167414                    
+V  3   8936.129763  -6311.593576  28786.753245       .030365                    
+P  4 -19842.449116   7846.216680  16025.471310    440.942251                    
+V  4 -19572.608003  -5411.962307 -21249.748979      -.206734                    
+P  5  13394.303779  22782.799829   3284.741972     73.230424                    
+V  5  -1237.329842   5395.636960 -30727.527438       .024740                    
+P  6  16277.898951   4069.221728  20799.971798   -161.184498                    
+V  6 -15270.520031  21132.110214   7778.264238       .879693                    
+P  7 -19680.136172  14167.898472 -10245.482988     62.204574                    
+V  7   5355.493058 -13065.447962 -27407.921190      -.302964                    
+P  8 -25918.953249   -395.977428  -6781.164341    -19.087185                    
+V  8  -7707.857587  -3731.382805  30123.487660      -.011687                    
+P  9  13945.238469  14549.319518 -17951.339929    -24.916374                    
+V  9 -21743.949391  -1295.762371 -18098.895888      -.018046                    
+P 10   -428.863175  23298.310503  12405.515235     57.543362                    
+V 10  -7384.892275 -14264.513434  26692.375233       .007238                    
+P 11 -14956.289408 -14032.335423 -16995.669017    186.634853                    
+V 11  21765.728230  -1636.219838 -17636.229068       .036801                    
+P 13 -15106.880491  -4012.309563  21407.178095    -13.777137                    
+V 13  17077.284935 -21245.829482   8116.241326       .009441                    
+P 14  20216.309675 -13633.621852 -10450.903169    -31.488381                    
+V 14  -6940.515469  11550.622218 -28355.192237      -.000911                    
+P 15  22276.661243  -4733.311796 -14112.762355    378.083296                    
+V 15  16544.732467   5856.344720  24216.364538       .053023                    
+P 16   5165.953142 -19818.393717  16963.229685      1.983937                    
+V 16   9228.961555  19402.310838  19984.967999      -.001786                    
+P 17   4288.715304  16291.515755  20946.055491    -92.374120                    
+V 17 -24980.741592  -6673.531807   9678.701993       .191925                    
+P 18  16658.303639   8859.095962 -18734.888658   -119.079392                    
+V 18   6236.516105  23025.401099  16133.697202      -.037449                    
+P 19   2392.792060 -20254.550145 -16931.943287    -11.903803                    
+V 19  15940.097757 -14808.360074  19821.492641      -.008653                    
+P 20 -12691.301342 -22756.579140   5131.110453    -90.772031                    
+V 20    109.131177  -7127.649021 -30885.368261       .026744                    
+P 21  26248.227969   5450.983667     -5.633433     88.049909                    
+V 21   -566.791440   2710.959769  31224.119273       .010719                    
+P 22  14650.567319  -3924.824599 -21639.969697     16.270857                    
+V 22   8400.069874  26576.496690    882.693621       .003114                    
+P 23  -8396.779980 -13222.513337  21343.967191    211.506567                    
+V 23  17663.673129 -20860.962092  -6054.006095       .005615                    
+P 24 -21596.752001   5754.978786  14701.983571     89.558918                    
+V 24 -17365.350281  -5551.930973 -23658.403994       .028931                    
+P 25  17616.605620 -10951.244390  16990.984538     84.341644                    
+V 25  20677.508667   3406.076812 -19662.425845       .007839                    
+P 26  -2424.706439  20316.243966 -16894.214500    317.183599                    
+V 26 -14782.981923  15083.798590  21222.819868       .055489                    
+P 27 -26387.210817  -4369.136263   2318.597526    513.677146                    
+V 27   2529.360519  -2412.050978  31100.561269       .063145                    
+P 28 -15027.315843   2842.079854 -21516.895493     46.480420                    
+V 28  -9452.570256 -26169.006827   2790.991021       .000697                    
+P 29  -6638.792303  22155.318693 -12661.951066    178.190412                    
+V 29 -11734.422472  11797.282654  26388.906386      -.189930                    
+P 30  16819.822324  15849.573961  12937.761561    443.765780                    
+V 30   4030.022107  16561.168901 -24932.541403      -.143775                    
+*  2005  1 20 10 30   .00000000                                                 
+P  1  15195.981837 -21728.277027   1478.428111    383.890177                    
+V  1   2702.854748    -12.704500 -32167.925972       .020509                    
+P  2  -9115.194056  13671.018858  20547.640582    -42.452866                    
+V  2 -26602.030558  -3526.430761  -9397.997970       .056070                    
+P  3   9557.591269 -24046.247519  -5460.334885     78.171067                    
+V  3   6919.199382  -3872.110069  30103.989736       .030364                    
+P  4 -21503.847751   7421.684133  13982.524475    440.923495                    
+V  4 -17280.029193  -4061.867379 -24083.942520      -.206738                    
+P  5  13223.552356  23131.829904    499.108135     73.233151                    
+V  5  -2618.199236   2383.996253 -31087.193523       .024742                    
+P  6  14931.265682   6030.439373  21322.332828   -161.105490                    
+V  6 -14595.882006  22389.843791   3813.094517       .879649                    
+P  7 -19149.994378  12865.957344 -12614.254616     62.177393                    
+V  7   6353.359429 -15857.600008 -25152.322328      -.302971                    
+P  8 -26469.686811   -689.371195  -4020.767171    -19.088840                    
+V  8  -4497.551401  -2851.940857  31133.003039      -.011688                    
+P  9  11902.131097  14477.067792 -19428.609469    -24.916666                    
+V  9 -23589.822264   -267.505817 -14684.776847      -.018050                    
+P 10  -1177.986594  21910.533600  14692.124314     57.544363                    
+V 10  -9292.854273 -16498.468656  24047.264970       .007238                    
+P 11 -12917.512782 -14221.670792 -18433.357596    186.638203                    
+V 11  23471.432020  -2603.589814 -14266.246740       .036805                    
+P 13 -13603.433014  -5993.549998  21950.261726    -13.776295                    
+V 13  16263.985405 -22716.196736   3935.165143       .009449                    
+P 14  19535.691267 -12464.395964 -12905.255441    -31.488518                    
+V 14  -8105.239701  14429.732817 -26107.132354      -.000911                    
+P 15  23655.393324  -4270.686631 -11821.052719    378.087330                    
+V 15  14031.054225   4468.620393  26639.463237       .053022                    
+P 16   6079.039723 -18006.740310  18611.364978      1.983860                    
+V 16  11070.256407  20772.708973  16588.337629      -.001780                    
+P 17   1981.446419  15741.763223  21640.571138    -92.355670                    
+V 17 -26214.024933  -5506.164220   5730.128146       .191952                    
+P 18  17243.016926  10832.187774 -17126.447072   -119.083082                    
+V 18   6694.817909  20764.724658  19557.143194      -.037455                    
+P 19   3723.251188 -21542.205422 -15006.650217    -11.904488                    
+V 19  13617.381925 -13724.938138  22900.513650      -.008653                    
+P 20 -12635.228077 -23252.348956   2315.243828    -90.769708                    
+V 20   1205.849895  -3902.241807 -31599.436855       .026744                    
+P 21  26048.908327   5670.378865   2796.738190     88.050614                    
+V 21  -3868.698215   2231.648383  30963.763115       .010713                    
+P 22  15463.948002  -1564.452006 -21371.733861     16.271279                    
+V 22   9637.995823  25791.461375   5069.414346       .003120                    
+P 23  -6879.235994 -15110.546813  20615.234235    211.507023                    
+V 23  16019.520824 -21013.267751 -10116.963016       .005614                    
+P 24 -23050.787719   5317.999397  12454.831038     89.562463                    
+V 24 -14881.746850  -4203.257902 -26208.904208       .028930                    
+P 25  19381.978055 -10695.098853  15084.078201     84.341818                    
+V 25  18486.950762   2329.074427 -22655.490751       .007851                    
+P 26  -3649.736938  21621.437613 -14843.574585    317.188377                    
+V 26 -12437.106297  13833.435033  24284.278071       .055480                    
+P 27 -26011.198003  -4580.249931   5090.607147    513.683212                    
+V 27   5814.719305  -2347.239179  30414.845586       .063140                    
+P 28 -15929.475012    531.345948 -21078.091917     46.480540                    
+V 28 -10551.469706 -25099.841762   6943.819682       .000706                    
+P 29  -7582.520931  23131.940789 -10182.627444    178.173430                    
+V 29  -9257.685252   9828.748345  28625.559917      -.189938                    
+P 30  17164.153341  17210.470114  10588.159671    443.752882                    
+V 30   3551.581843  13660.141173 -27204.171661      -.143785                    
+*  2005  1 20 10 45   .00000000                                                 
+P  1  15345.951740 -21600.712816  -1421.101930    383.892309                    
+V  1    688.598393   2890.139960 -32173.343564       .020514                    
+P  2 -11460.946570  13417.674976  19522.475548    -42.447978                    
+V  2 -25436.995394  -2122.338845 -13349.345621       .056057                    
+P  3  10098.553304 -24273.107484  -2711.229658     78.174949                    
+V  3   5148.553543  -1123.453658  30898.486092       .030362                    
+P  4 -22941.702800   7106.910515  11702.742935    440.904632                    
+V  4 -14616.147386  -2983.681019 -26505.657265      -.206742                    
+P  5  12912.640502  23217.391321  -2295.046160     73.234540                    
+V  5  -4344.806540   -445.525602 -30916.939386       .024745                    
+P  6  13660.311797   8087.587838  21484.322706   -161.026282                    
+V  6 -13599.228217  23254.479806   -218.907782       .879606                    
+P  7 -18549.556915  11316.605804 -14759.268734     62.149949                    
+V  7   6917.662913 -18547.277234 -22442.627290      -.302979                    
+P  8 -26723.898447   -921.229443  -1192.877787    -19.089590                    
+V  8  -1133.642569  -2368.680235  31620.989632      -.011688                    
+P  9   9712.158977  14507.715738 -20587.403076    -24.918703                    
+V  9 -24999.873282    978.691817 -11030.883202      -.018054                    
+P 10  -2105.762303  20343.092633  16721.478983     57.544873                    
+V 10 -11340.065214 -18249.490015  20984.265552       .007238                    
+P 11 -10744.501679 -14505.761553 -19556.154488    186.641454                    
+V 11  24741.947509  -3730.044485 -10648.441419       .036810                    
+P 13 -12190.726249  -8088.400227  22113.527235    -13.775415                    
+V 13  15072.368809 -23759.552714   -311.894304       .009456                    
+P 14  18771.721960 -11038.213670 -15136.612467    -31.488517                    
+V 14  -8792.102768  17244.050380 -23406.853012      -.000912                    
+P 15  24791.984877  -3920.016735  -9331.021350    378.092990                    
+V 15  11175.573583   3378.560425  28617.377242       .053021                    
+P 16   7158.755965 -16094.684538  19940.684350      1.983680                    
+V 16  12916.703266  21631.112944  12910.326734      -.001774                    
+P 17   -415.133162  15305.884939  21973.952347    -92.337963                    
+V 17 -26958.619054  -4156.419548   1664.116133       .191979                    
+P 18  17851.476302  12587.840058 -15224.848741   -119.086235                    
+V 18   6757.172067  18207.454653  22639.262445      -.037461                    
+P 19   4843.847565 -22710.621488 -12821.825300    -11.905401                    
+V 19  11292.134390 -12161.554733  25580.632064      -.008653                    
+P 20 -12462.287161 -23462.703933   -540.459100    -90.767402                    
+V 20   2700.687800   -800.664957 -31769.508186       .026745                    
+P 21  25552.135377   5864.847655   5552.271249     88.051346                    
+V 21  -7161.488249   2157.328562  30184.580683       .010709                    
+P 22  16377.541218    703.051400 -20730.148538     16.271565                    
+V 22  10614.070088  24520.743086   9167.076001       .003127                    
+P 23  -5519.151845 -16989.709515  19528.132699    211.507643                    
+V 23  14179.374915 -20659.780834 -14006.052913       .005612                    
+P 24 -24264.815884   4989.408834   9997.503593     89.566541                    
+V 24 -12043.545888  -3153.590273 -28322.194762       .028928                    
+P 25  20933.293861 -10523.324912  12924.137830     84.342363                    
+V 25  15931.380664   1541.202710 -25277.338695       .007863                    
+P 26  -4664.318059  22790.848115 -12535.173570    317.192995                    
+V 26 -10122.229329  12069.939947  26941.624780       .055470                    
+P 27 -25344.012787  -4803.654008   7778.288562    513.688960                    
+V 27   8985.182936  -2682.354281  29229.989255       .063135                    
+P 28 -16917.576477  -1662.192814 -20271.043634     46.480703                    
+V 28 -11350.635285 -23574.559882  10962.239902       .000714                    
+P 29  -8310.222546  23911.440388  -7524.568554    178.155854                    
+V 29  -6948.853109   7425.691185  30355.257110      -.189947                    
+P 30  17446.410037  18306.083714   8055.325990    443.739564                    
+V 30   2650.508494  10681.937409 -28998.925559      -.143794                    
+*  2005  1 20 11  0   .00000000                                                 
+P  1  15331.336493 -21201.681500  -4296.085117    383.893442                    
+V  1   -945.981277   6004.986521 -31622.795006       .020519                    
+P  2 -13678.435906  13284.309925  18151.952657    -42.443158                    
+V  2 -23758.656409   -874.251085 -17061.048437       .056046                    
+P  3  10493.510121 -24241.386904     85.218962     78.177121                    
+V  3   3683.398559   1860.925799  31154.193356       .030359                    
+P  4 -24125.792368   6874.702444   9225.055923    440.886424                    
+V  4 -11653.862563  -2235.633023 -28475.958997      -.206746                    
+P  5  12432.612582  23059.433573  -5050.177601     73.237392                    
+V  5  -6366.788815  -3015.484077 -30221.536615       .024747                    
+P  6  12491.033622  10202.945029  21282.931052   -160.947500                    
+V  6 -12348.555775  23676.252764  -4250.851831       .879562                    
+P  7 -17917.557486   9533.399043 -16641.709310     62.122731                    
+V  7   7057.824052 -21038.737206 -19325.942363      -.302986                    
+P  8 -26671.932260  -1128.233931   1655.060371    -19.090688                    
+V  8   2290.516753  -2301.493196  31577.570103      -.011689                    
+P  9   7416.418874  14657.464037 -21408.679827    -24.920057                    
+V  9 -25934.931588   2365.739168  -7194.130353      -.018059                    
+P 10  -3220.609381  18641.207071  18458.413133     57.544217                    
+V 10 -13434.175010 -19481.777447  17558.837939       .007238                    
+P 11  -8478.025148 -14895.627450 -20344.465181    186.644613                    
+V 11  25544.219870  -4941.306130  -6843.683728       .036816                    
+P 13 -10899.500925 -10255.708618  21894.357392    -13.774569                    
+V 13  13577.958513 -24318.104686  -4551.072943       .009464                    
+P 14  17967.296213  -9365.397233 -17106.310860    -31.488563                    
+V 14  -9006.826043  19894.149538 -20300.874678      -.000913                    
+P 15  25659.014174  -3651.987827  -6684.287591    378.096046                    
+V 15   8054.327936   2639.914556  30116.777859       .053021                    
+P 16   8401.465102 -14128.664837  20928.669710      1.983545                    
+V 16  14677.160325  21972.642402   9013.966422      -.001767                    
+P 17  -2855.445410  14996.569193  21938.542737    -92.321027                    
+V 17 -27181.787975  -2708.102862  -2454.129454       .192006                    
+P 18  18446.394231  14103.269997 -13063.154438   -119.089994                    
+V 18   6389.653256  15441.703448  25329.120324      -.037465                    
+P 19   5758.527845 -23717.673707 -10415.481537    -11.906031                    
+V 19   9056.424787 -10145.042642  27816.185675      -.008653                    
+P 20 -12138.386807 -23402.884517  -3386.879672    -90.765021                    
+V 20   4552.239564   2087.371458 -31393.617939       .026746                    
+P 21  24762.871757   6070.659606   8214.747193     88.052687                    
+V 21 -10353.327609   2481.153531  28898.473195       .010705                    
+P 22  17364.447724   2836.380444 -19726.511388     16.271731                    
+V 22  11256.143123  22820.456663  13103.131093       .003133                    
+P 23  -4330.095792 -18813.667695  18101.418945    211.508242                    
+V 23  12234.389056 -19785.605466 -17652.805530       .005610                    
+P 24 -25210.260980   4739.720580   7371.074316     89.569314                    
+V 24  -8926.845660  -2457.822204 -29961.111805       .028925                    
+P 25  22240.766381 -10407.378120  10546.669925     84.343279                    
+V 25  13080.810681   1096.324796 -27482.295409       .007875                    
+P 26  -5475.480960  23779.552646 -10007.776112    317.198152                    
+V 26  -7931.897688   9824.624920  29142.742350       .055460                    
+P 27 -24399.875914  -5074.337201  10337.734677    513.694579                    
+V 27  11955.532975  -3392.392049  27569.670130       .063129                    
+P 28 -17961.657912  -3700.374781 -19111.022182     46.480823                    
+V 28 -11785.902715 -21659.692238  14776.368435       .000721                    
+P 29  -8840.909901  24457.365025  -4734.749108    178.138486                    
+V 29  -4892.765378   4649.790492  31549.688073      -.189955                    
+P 30  17628.798600  19133.762725   5383.512754    443.726545                    
+V 30   1335.147677   7721.753802 -30288.668488      -.143804                    
+*  2005  1 20 11 15   .00000000                                                 
+P  1  15188.378639 -20516.264583  -7096.726747    383.895641                    
+V  1  -2157.723079   9237.962036 -30523.293634       .020525                    
+P  2 -15723.601352  13253.227171  16460.684514    -42.438253                    
+V  2 -21617.409275    138.123779 -20466.370853       .056036                    
+P  3  10772.099818 -23933.577195   2880.162797     78.179755                    
+V  3   2568.858547   4997.180875  30864.829284       .030357                    
+P  4 -25032.924786   6693.263689   6591.565224    440.868093                    
+V  4  -8476.029590  -1861.461639 -29963.353990      -.206751                    
+P  5  11759.647852  22684.394128  -7719.560022     73.238060                    
+V  5  -8620.761842  -5259.567981 -29014.328401       .024749                    
+P  6  11442.900149  12334.960270  20721.186032   -160.868431                    
+V  6 -10920.452382  23620.132415  -8215.604052       .879519                    
+P  7 -17291.069113   7538.305647 -18227.389135     62.095303                    
+V  7   6801.199715 -23241.409676 -15857.863203      -.302994                    
+P  8 -26312.679343  -1348.065141   4475.086705    -19.090888                    
+V  8   5678.902713  -2652.593323  31001.166045      -.011690                    
+P  9   5058.854710  14935.287363 -21878.646476    -24.922538                    
+V  9 -26371.077039   3810.632009  -3234.115947      -.018063                    
+P 10  -4522.438607  16852.437287  19873.045228     57.543283                    
+V 10 -15479.106796 -20179.245865  13832.753841       .007240                    
+P 11  -6161.123129 -15395.380710 -20784.336605    186.647942                    
+V 11  25861.000579  -6158.660619  -2916.303357       .036823                    
+P 13  -9753.204867 -12449.873662  21296.778645    -13.773622                    
+V 13  11866.741665 -24351.090302  -8708.817086       .009471                    
+P 14  17163.935580  -7465.059356 -18780.203653    -31.488796                    
+V 14  -8774.077417  22284.745058 -16842.895433      -.000913                    
+P 15  26236.349046  -3433.111476  -3925.145173    378.100989                    
+V 15   4752.802979   2291.389889  31111.645254       .053020                    
+P 16   9795.375577 -12154.725650  21558.641012      1.983519                    
+V 16  16262.144841  21810.878154   4965.778346      -.001762                    
+P 17  -5291.723495  14818.735796  21532.668984    -92.303680                    
+V 17 -26867.833244  -1249.505767  -6556.996946       .192032                    
+P 18  18988.200462  15363.900164 -10678.702763   -119.093134                    
+V 18   5575.625468  12561.123750  27582.700454      -.037469                    
+P 19   6479.283686 -24524.448282  -7829.389039    -11.907004                    
+V 19   6996.381247  -7719.702805  29569.458661      -.008652                    
+P 20 -11633.880919 -23095.804193  -6175.144285    -90.762640                    
+V 20   6703.432983   4681.589390 -30479.157358       .026748                    
+P 21  23694.239440   6322.703861  10739.374986     88.053621                    
+V 21 -13355.263316   3179.384998  27125.236619       .010699                    
+P 22  18391.833290   4799.956402 -18378.522498     16.272009                    
+V 22  11504.939302  20761.309797  16808.077653       .003141                    
+P 23  -3317.303837 -20535.607343  16359.829659    211.508663                    
+V 23  10277.944901 -18395.025678 -20993.003508       .005608                    
+P 24 -25865.872341   4535.173295   4619.639973     89.573187                    
+V 24  -5617.853959  -2155.729565 -31095.735573       .028922                    
+P 25  23281.389780 -10314.490831   7991.029795     84.344055                    
+V 25  10015.488732   1034.093256 -29230.639712       .007886                    
+P 26  -6098.428802  24546.332570  -7304.521681    317.203078                    
+V 26  -5953.534551   7148.310903  30842.748308       .055450                    
+P 27 -23200.364274  -5424.336020  12727.461991    513.700332                    
+V 27  14647.965069  -4437.008890  25463.973785       .063124                    
+P 28 -19026.611353  -5551.611559 -17619.390466     46.480810                    
+V 28 -11807.465991 -19434.268268  18320.918915       .000729                    
+P 29  -9200.682851  24739.499260  -1862.238939    178.121547                    
+V 29  -3161.567981   1577.504083  32190.647654      -.189964                    
+P 30  17675.061724  19699.309244   2619.096937    443.713117                    
+V 30   -368.823424   4871.673931 -31054.351878      -.143814                    
+*  2005  1 20 11 30   .00000000                                                 
+P  1  14956.405924 -19538.313702  -9774.303340    383.896043                    
+V  1  -2921.459878  12488.658860 -28891.623942       .020530                    
+P  2 -17557.670609  13300.020792  14479.021512    -42.433232                    
+V  2 -19079.975928    845.922516 -23504.753930       .056027                    
+P  3  10967.316833 -23340.066514   5624.637759     78.181825                    
+V  3   1834.141097   8194.235712  30034.123308       .030355                    
+P  4 -25647.702432   6527.576635   3846.857342    440.849797                    
+V  4  -5172.475033  -1888.793340 -30944.176029      -.206755                    
+P  5  10876.128103  22124.089615 -10258.042260     73.240986                    
+V  5 -11032.708160  -7124.892829 -27316.909212       .024752                    
+P  6  10528.210383  14439.649090  19808.131260   -160.789034                    
+V  6  -9397.150903  23067.257471 -12046.789545       .879475                    
+P  7 -16703.935954   5361.069379 -19487.466673     62.067952                    
+V  7   6191.928101 -25073.692834 -12101.385037      -.303001                    
+P  8 -25653.666233  -1617.797025   7219.479227    -19.091929                    
+V  8   8936.209911  -3406.310914  29898.675965      -.011692                    
+P  9   2684.843962  15342.535133 -21988.971017    -24.924219                    
+V  9 -26300.469763   5227.433702    787.502459      -.018066                    
+P 10  -6002.492781  15024.886081  20941.290145     57.544773                    
+V 10 -17378.969902 -20345.924562   9872.832881       .007241                    
+P 11  -3837.649342 -16001.966486 -20867.722799    186.651216                    
+V 11  25691.515151  -7302.085302   1066.936939       .036830                    
+P 13  -8767.206149 -14622.455731  20331.374281    -13.772656                    
+V 13  10031.672816 -23836.416445 -12713.187514       .009478                    
+P 14  16400.126977  -5364.562695 -20129.264784    -31.488842                    
+V 14  -8136.383400  24328.385194 -13092.847285      -.000912                    
+P 15  26511.866254  -3227.152316  -1099.883187    378.105468                    
+V 15   1362.971207   2355.112824  31583.728251       .053020                    
+P 16  11320.848819 -10216.881057  21820.020845      1.983583                    
+V 16  17587.331731  21177.190110    834.667942      -.001757                    
+P 17  -7675.592102  14769.280659  20760.817548    -92.286417                    
+V 17 -26019.039630    129.927118 -10575.376535       .192059                    
+P 18  19436.632688  16363.699523  -8112.459248   -119.096675                    
+V 18   4316.398610   9661.389387  29363.511071      -.037473                    
+P 19   7025.464963 -25096.745532  -5108.331664    -11.907752                    
+V 19   5188.866572  -4945.666227  30811.281070      -.008651                    
+P 20 -10924.885216 -22571.065463  -8857.458966    -90.760238                    
+V 20   9083.709128   6914.072322 -29042.682210       .026750                    
+P 21  22367.118591   6653.002462  13083.493534     88.054333                    
+V 21 -16084.353441   4212.237983  24892.367556       .010695                    
+P 22  19422.204006   6565.115546 -16709.950294     16.272238                    
+V 22  11316.551620  18425.742542  20216.777761       .003149                    
+P 23  -2477.648838 -22109.965186  14333.644077    211.509016                    
+V 23   8401.880749 -16511.483611 -23967.889775       .005608                    
+P 24 -26218.501865   4339.171241   1789.640573     89.575653                    
+V 24  -2209.891817  -2270.291295 -31704.011364       .028918                    
+P 25  24039.739748 -10209.033648   5299.850102     84.345193                    
+V 25   6823.158463   1378.202329 -30489.391211       .007898                    
+P 26  -6555.818286  25055.367280  -4472.215762    317.208299                    
+V 26  -4264.757746   4109.810513  32005.260650       .055440                    
+P 27 -21773.629464  -5881.429355  14908.958560    513.705923                    
+V 27  16994.554023  -5762.241738  22948.741819       .063119                    
+P 28 -20073.567629  -7191.868761 -15823.139020     46.480803                    
+V 28 -11381.816525 -16986.552966  21536.286278       .000737                    
+P 29  -9421.458554  24735.061632   1042.714569    178.104899                    
+V 29  -1811.988037  -1702.973682  32270.177614      -.189973                    
+P 30  17551.995693  20016.543553   -190.243810    443.699977                    
+V 30  -2419.453975   2217.248788 -31286.124400      -.143824                    
+*  2005  1 20 11 45   .00000000                                                 
+P  1  14676.160106 -18270.869719 -12282.037219    383.897759                    
+V  1  -3231.045671  15653.930503 -26754.201889       .020536                    
+P  2 -19148.510933  13394.685471  12242.441474    -42.428236                    
+V  2 -16226.676252   1194.009982 -26122.994097       .056019                    
+P  3  11114.021100 -22459.634825   8270.467776     78.184074                    
+V  3   1491.354875  11357.284575  28675.843351       .030354                    
+P  4 -25963.005948   6340.903034   1037.285471    440.831356                    
+V  4  -1836.785234  -2328.118892 -31402.870594      -.206760                    
+P  5   9771.472667  21414.423304 -12622.772366     73.242251                    
+V  5 -13520.742538  -8573.779065 -25158.698991       .024755                    
+P  6   9751.726488  16472.091708  18558.711955   -160.709668                    
+V  6  -7863.363444  22015.798597 -15679.806009       .879431                    
+P  7 -16185.343611   3038.243365 -20399.054223     62.040560                    
+V  7   5289.016309 -26466.406987  -8125.582931      -.303008                    
+P  8 -24710.837120  -1972.302651   9841.519944    -19.091482                    
+V  8  11971.248406  -4529.522857  28285.527119      -.011694                    
+P  9    339.731975  15872.806502 -21736.939066    -24.926650                    
+V  9 -25731.674609   6530.374892   4807.657744      -.018070                    
+P 10  -7643.538856  13205.401076  21645.253719     57.544107                    
+V 10 -19041.937617 -20005.540828   5749.605045       .007243                    
+P 11  -1550.781463 -16705.189240 -20592.655322    186.654621                    
+V 11  25051.518617  -8293.455310   5037.929798       .036836                    
+P 13  -7948.333433 -16723.903891  19015.081928    -13.771934                    
+V 13   8168.923814 -22771.569333 -16495.121399       .009484                    
+P 14  15709.791102  -3098.659141 -21130.103167    -31.488721                    
+V 14  -7152.334285  25948.851274  -9115.834105      -.000913                    
+P 15  26481.892027  -2996.667804   1743.930976    378.109185                    
+V 15  -2019.926100   2835.675111  31522.928850       .053020                    
+P 16  12951.013866  -8355.568973  21708.498179      1.983461                    
+V 16  18576.853056  20119.403923  -3309.207115      -.001754                    
+P 17  -9959.705633  14837.128612  19633.723584    -92.269169                    
+V 17 -24656.005756   1343.095851 -14439.703096       .192085                    
+P 18  19752.355788  17105.205241  -5408.316687   -119.100015                    
+V 18   2631.207065   6836.643169  30643.062501      -.037477                    
+P 19   7422.810542 -25406.407767  -2299.317044    -11.908622                    
+V 19   3698.545465  -1896.648080  31521.464411      -.008649                    
+P 20  -9994.373253 -21863.733573 -11387.919861    -90.757947                    
+V 20  11611.717234   8731.702710 -27109.570189       .026753                    
+P 21  20809.472267   7089.326052  15207.252730     88.055198                    
+V 21 -18466.612529   5525.306008  22234.781130       .010692                    
+P 22  20414.878330   8111.018700 -14750.183156     16.272468                    
+V 22  10664.304205  15904.610039  23269.674357       .003157                    
+P 23  -1799.947180 -23494.123137  12058.142078    211.509510                    
+V 23   6692.787507 -14176.791755 -26525.269393       .005608                    
+P 24 -26263.597456   4113.849339  -1070.873515     89.578086                    
+V 24   1199.910084  -2806.609535 -31772.290752       .028915                    
+P 25  24508.512112 -10054.009937   2518.400169     84.347698                    
+V 25   3595.989362   2135.191022 -31233.058072       .007909                    
+P 26  -6876.722435  25277.754228  -1560.512213    317.213514                    
+V 26  -2930.007318    793.590630  32603.541587       .055430                    
+P 27 -20153.412552  -6468.000550  16847.175632    513.711685                    
+V 27  18939.334098  -7302.520965  20065.009229       .063114                    
+P 28 -21061.425001  -8605.338982 -13754.332162     46.480717                    
+V 28 -10493.001198 -14410.494943  24369.463200       .000747                    
+P 29  -9539.486275  24429.607403   3929.606567    178.088004                    
+V 29   -883.287085  -5095.182820  31790.482897      -.189981                    
+P 30  17230.844172  20106.573716  -2996.357562    443.686806                    
+V 30  -4760.189488   -165.606596 -30983.275383      -.143833                    
+*  2005  1 20 12  0   .00000000                                                 
+P  1  14388.067075 -16726.231740 -14575.949641    383.900792                    
+V  1  -3099.625981  18631.849547 -24146.736943       .020542                    
+P  2 -20471.709491  13502.959138   9790.842131    -42.423512                    
+V  2 -13148.162885   1143.248722 -28276.219287       .056013                    
+P  3  11247.372443 -21299.624737  10771.161020     78.187250                    
+V  3   1535.037998  14391.472539  26813.596930       .030352                    
+P  4 -25980.183248   6096.348899  -1789.769569    440.812555                    
+V  4   1437.023318  -3172.395329 -31332.178412      -.206764                    
+P  5   8442.711351  20593.957877 -14773.879141     73.242620                    
+V  5 -15998.152442  -9584.959877 -22576.422611       .024759                    
+P  6   9110.597741  18387.982016  16993.569598   -160.630480                    
+V  6  -6403.003547  20481.212562 -19052.841670       .879388                    
+P  7 -15758.592752    611.935369 -20945.698424     62.013511                    
+V  7   4163.751373 -27365.734524  -4004.102320      -.303016                    
+P  8 -23508.032559  -2442.726820  12296.265051    -19.092813                    
+V  8  14700.272324  -5972.755490  26185.692673      -.011696                    
+P  9  -1932.639516  16512.106519 -21125.549999    -24.929431                    
+V  9 -24689.463206   7636.987657   8762.563600      -.018073                    
+P 10  -9420.401423  11437.850235  21973.504909     57.545492                    
+V 10 -20383.928877 -19200.319639   1535.934685       .007244                    
+P 11    658.445678 -17488.026687 -19963.313414    186.657985                    
+V 11  23972.728734  -9059.707388   8928.360195       .036843                    
+P 13  -7294.759637 -18705.330521  17370.880251    -13.770911                    
+V 13   6374.029653 -21173.764045 -19989.629229       .009491                    
+P 14  15120.941640   -708.341489 -21765.376618    -31.488761                    
+V 14  -5894.153402  27084.127901  -4980.971774      -.000914                    
+P 15  26151.345332  -2704.605870   4558.199542    378.113936                    
+V 15  -5300.749065   3719.807120  30927.601022       .053021                    
+P 16  14652.665403  -6606.253177  21226.089739      1.983144                    
+V 16  19166.277232  18699.859661  -7395.577841      -.001751                    
+P 17 -12099.386477  15003.603973  18168.360009    -92.252256                    
+V 17 -22817.308090   2308.787153 -18081.131258       .192112                    
+P 18  19898.548948  17599.228165  -2612.358261   -119.103383                    
+V 18    556.520949   4176.040201  31401.216973      -.037480                    
+P 19   7702.236923 -25432.421118    549.245085    -11.909114                    
+V 19   2575.453432   1342.812486  31689.070043      -.008648                    
+P 20  -8833.010676 -21012.916406 -13723.286448    -90.755560                    
+V 20  14198.417698  10098.019007 -24713.536852       .026757                    
+P 21  19055.418112   7653.962579  17074.264927     88.056168                    
+V 21 -20439.671919   7051.528264  19194.434896       .010690                    
+P 22  21327.595408   9425.246931 -12533.677139     16.272914                    
+V 22   9539.907981  13293.549996  25913.878618       .003166                    
+P 23  -1265.590010 -24649.998423   9572.968846    211.509874                    
+V 23   5228.525035 -11449.610102 -28620.480214       .005609                    
+P 24 -26005.389380   3821.706251  -3913.018872     89.582266                    
+V 24   4514.112575  -3751.485222 -31295.774183       .028911                    
+P 25  24688.773860  -9812.630734   -306.119397     84.349059                    
+V 25    427.273508   3293.862936 -31444.322354       .007918                    
+P 26  -7095.310266  25192.783970   1378.999619    317.217981                    
+V 26  -1997.654570  -2703.319590  32621.460274       .055420                    
+P 27 -18377.886650  -7200.098628  18510.972958    513.717353                    
+V 27  20440.035341  -8983.094285  16858.506157       .063108                    
+P 28 -21948.459186  -9784.787718 -11449.479480     46.480942                    
+V 28  -9143.170697 -11802.035835  26774.782314       .000757                    
+P 29  -9593.711168  23817.605411   6748.577794    178.071042                    
+V 29   -395.959443  -8498.142251  30763.640158      -.189991                    
+P 30  16688.517102  19996.804271  -5751.432485    443.673697                    
+V 30  -7322.073496  -2213.291686 -30154.026688      -.143843                    
+*  2005  1 20 12 15   .00000000                                                 
+P  1  14130.517739 -14925.668603 -16615.674464    383.901445                    
+V  1  -2559.126368  21325.667728 -21113.693233       .020547                    
+P  2 -21511.341381  13587.838798   7167.755679    -42.418256                    
+V  2  -9941.772591    672.065648 -29928.641896       .056007                    
+P  3  11401.255627 -19875.778804  13082.778041     78.189954                    
+V  3   1942.423781  17205.600121  24480.407040       .030350                    
+P  4 -25708.937812   5758.436601  -4586.650461    440.793850                    
+V  4   4557.838007  -4397.283703 -30733.220049      -.206769                    
+P  5   6894.775451  19702.406548 -16675.102940     73.244610                    
+V  5 -18376.604267 -10154.183313 -19613.504512       .024763                    
+P  6   8594.580236  20145.171233  15138.745177   -160.551288                    
+V  6  -5095.911587  18495.868473 -22107.886526       .879344                    
+P  7 -15440.131863  -1871.682814 -21117.718240     61.986192                    
+V  7   2896.553757 -27735.499777    186.489484      -.303023                    
+P  8 -22076.178642  -3055.089711  14541.304739    -19.094537                    
+V  8  17050.057238  -7671.930871  23631.468967      -.011699                    
+P  9  -4091.362231  17239.282595 -20163.548724    -24.931165                    
+V  9 -23214.086788   8471.185091  12588.456335      -.018076                    
+P 10 -11300.813103   9761.538369  21921.223707     57.546525                    
+V 10 -21331.946081 -17989.064191  -2694.359367       .007246                    
+P 11   2752.528275 -18327.221997 -18989.990249    186.661195                    
+V 11  22501.649953  -9535.839085  12670.874478       .036849                    
+P 13  -6796.231461 -20520.264996  15427.371640    -13.770285                    
+V 13   4738.082536 -19079.332034 -23136.905945       .009498                    
+P 14  14654.588300   1760.548360 -22024.097838    -31.488755                    
+V 14  -4444.727421  27688.825304   -760.153250      -.000916                    
+P 15  25533.575168  -2315.902769   7295.064855    378.118200                    
+V 15  -8387.868796   4976.703162  29804.751549       .053021                    
+P 16  16387.411380  -4998.224718  20381.098831      1.983072                    
+V 16  19305.159180  16992.936952 -11355.199573      -.001746                    
+P 17 -14054.201774  15243.116862  16387.815235    -92.234667                    
+V 17 -20558.466834   2955.125280 -21432.831654       .192139                    
+P 18  19842.401944  17864.256085    227.905174   -119.106893                    
+V 18  -1855.276523   1760.508656  31626.413282      -.037483                    
+P 19   7898.434073 -25161.749953   3388.381185    -11.910166                    
+V 19   1853.156400   4680.514590  31312.510901      -.008647                    
+P 20  -7439.696332 -20060.205902 -15823.705251    -90.753056                    
+V 20  16750.472679  10994.427031 -21896.021968       .026760                    
+P 21  17144.077046   8362.685400  18652.218084     88.057302                    
+V 21 -21955.060175   8713.642834  15819.852121       .010687                    
+P 22  22118.193858  10504.061859 -10099.312549     16.272986                    
+V 22   7953.866545  10689.188619  28104.104766       .003174                    
+P 23   -849.472668 -25545.465800   6921.418910    211.510665                    
+V 23   4075.102549  -8403.250718 -30217.210109       .005609                    
+P 24 -25456.757178   3427.244735  -6687.890958     89.585199                    
+V 24   7638.544167  -5073.685409 -30278.834539       .028906                    
+P 25  24589.910525  -9449.912252  -3125.339970     84.350327                    
+V 25  -2591.999037   4825.371054 -31114.636675       .007928                    
+P 26  -7249.293992  24788.906989   4293.784102    317.223368                    
+V 26  -1497.752178  -6275.064171  32054.217001       .055410                    
+P 27 -16488.364725  -8086.733922  19873.514667    513.723344                    
+V 27  21469.312593 -10722.747250  13379.060780       .063103                    
+P 28 -22693.950747 -10731.566466  -8948.848369     46.480751                    
+V 28  -7352.419642  -9255.429010  28714.484590       .000767                    
+P 29  -9624.055708  22902.671624   9451.282909    178.054122                    
+V 29   -351.206861 -11810.207686  29211.122305      -.190000                    
+P 30  15908.591111  19719.726312  -8408.786322    443.660839                    
+V 30 -10026.384344  -3876.686874 -28815.191060      -.143852                    
+*  2005  1 20 12 30   .00000000                                                 
+P  1  13938.229990 -12898.780004 -18365.214403    383.902185                    
+V  1  -1658.967457  23647.613329 -17707.553608       .020554                    
+P  2 -22260.398278  13611.203519   4419.506044    -42.413236                    
+V  2  -6707.661247   -222.738068 -31054.077959       .056000                    
+P  3  11606.762398 -18211.748348  15164.751913     78.192967                    
+V  3   2674.436140  19715.690779  21718.071648       .030348                    
+P  4 -25166.920950   5294.627194  -7306.177695    440.775426                    
+V  4   7440.675834  -5962.012825 -29615.482374      -.206773                    
+P  5   5140.496910  18779.097917 -18294.368515     73.245738                    
+V  5 -20569.402672 -10294.193745 -16319.387350       .024768                    
+P  6   8186.546669  21705.149668  13025.292214   -160.472041                    
+V  6  -4014.701825  16108.047614 -24791.723720       .879300                    
+P  7 -15238.892714  -4364.037118 -20912.390484     61.959076                    
+V  7   1573.423676 -27558.676742   4368.432639      -.303031                    
+P  8 -20452.213952  -3829.069981  16537.499886    -19.094933                    
+V  8  18960.643510  -9550.628847  20663.186539      -.011701                    
+P  9  -6099.802111  18026.732192 -18865.388009    -24.932601                    
+V  9 -21360.024671   8966.193332  16222.397454      -.018078                    
+P 10 -13246.544988   8209.825333  21490.225869     57.547619                    
+V 10 -21826.940277 -16444.610433  -6867.856008       .007247                    
+P 11   4698.749794 -19194.134022 -17688.953232    186.664505                    
+V 11  20697.824652  -9667.624303  16200.262660       .036857                    
+P 13  -6434.633620 -22126.318925  13218.269446    -13.769774                    
+V 13   3344.122811 -16542.375104 -25883.337882       .009508                    
+P 14  14323.926992   4258.900884 -21901.826776    -31.488915                    
+V 14  -2894.216645  27735.957444   3473.237240      -.000918                    
+P 15  24649.893669  -1799.021974   9907.693048    378.123439                    
+V 15 -11196.497837   6559.003361  28170.129338       .053022                    
+P 16  18113.027287  -3553.646601  19187.972721      1.983027                    
+V 16  18959.068282  15082.139462 -15120.968134      -.001743                    
+P 17 -15789.415403  15524.150482  14321.049570    -92.217350                    
+V 17 -17950.208014   3222.784658 -24431.386228       .192165                    
+P 18  19556.465778  17925.579546   3064.312505   -119.110450                    
+V 18  -4537.791398   -340.159914  31315.769801      -.037483                    
+P 19   8048.324790 -24589.873264   6169.394011    -11.911023                    
+V 19   1547.565455   8020.033958  30399.490540      -.008644                    
+P 20  -5821.790067 -19048.041126 -17653.372992    -90.750665                    
+V 20  19173.794651  11420.725470 -18705.459504       .026764                    
+P 21  15118.237060   9223.961407  19913.441230     88.058345                    
+V 21 -22980.017338  10427.052708  12165.537867       .010683                    
+P 22  22746.292828  11352.323220  -7489.673937     16.273100                    
+V 22   5935.122517   8185.343463  29803.434465       .003185                    
+P 23   -521.183556 -26155.555252   4149.654250    211.511624                    
+V 23   3284.050922  -5122.901078 -31288.142781       .005606                    
+P 24 -24638.776269   2898.556185  -9347.399011     89.587988                    
+V 24  10485.820360  -6724.914783 -28735.200755       .028901                    
+P 25  24229.264553  -8934.234683  -5890.536809     84.351234                    
+V 25  -5376.561246   6683.993843 -30244.703231       .007937                    
+P 26  -7378.207827  24064.340992   7131.401027    317.228330                    
+V 26  -1440.560609  -9811.184551  30908.778137       .055400                    
+P 27 -14527.918391  -9129.419996  20912.615334    513.729263                    
+V 27  22015.525827 -12436.594419   9680.105022       .063097                    
+P 28 -23259.767197 -11455.300251  -6295.733041     46.480830                    
+V 28  -5157.947522  -6859.707095  30159.119770       .000779                    
+P 29  -9669.688855  21697.456273  11991.708784    178.037619                    
+V 29   -731.186313 -14932.885682  27163.166457      -.190009                    
+P 30  14882.056986  19311.538185 -10923.619818    443.647815                    
+V 30 -12787.599157  -5122.743238 -26991.715653      -.143862                    
+*  2005  1 20 12 45   .00000000                                                 
+P  1  13840.759576 -10682.529350 -19793.622537    383.902931                    
+V  1   -464.049096  25522.364044 -13987.897050       .020561                    
+P  2 -22720.865863  13535.475592   1594.330004    -42.408172                    
+V  2  -3544.893622  -1525.950444 -31636.231823       .055994                    
+P  3  11890.794397 -16338.293311  16980.641597     78.194517                    
+V  3   3677.372785  21848.265763  18576.323623       .030347                    
+P  4 -24379.042729   4676.737980  -9902.398251    440.756962                    
+V  4  10009.691768  -7810.840015 -27996.706871      -.206778                    
+P  5   3200.316079  17861.470269 -19604.293404     73.247407                    
+V  5 -22494.690387 -10034.097584 -12748.782385       .024773                    
+P  6   7863.270082  23034.411030  10688.802047   -160.393138                    
+V  6  -3221.849109  13380.340269 -27056.885139       .879256                    
+P  7 -15155.957597  -6815.911049 -20333.978382     61.931540                    
+V  7    282.152397 -26838.054409   8464.522980      -.303038                    
+P  8 -18677.787091  -4777.017323  18249.688087    -19.095627                    
+V  8  20387.671245 -11522.923598  17328.801447      -.011703                    
+P  9  -7926.804388  18841.364189 -17251.115606    -24.935547                    
+V  9 -19194.226517   9067.240345  19603.143189      -.018081                    
+P 10 -15214.769602   6808.997272  20688.868255     57.548359                    
+V 10 -21826.098957 -14650.771266 -10912.828728       .007248                    
+P 11   6470.256113 -20055.814968 -16082.198084    186.667653                    
+V 11  18631.571170  -9413.934452  19454.632737       .036865                    
+P 13  -6184.863868 -23486.699246  10781.799898    -13.768724                    
+V 13   2263.865899 -13632.742799 -28182.389700       .009519                    
+P 14  14133.848943   6736.048641 -21400.745920    -31.489003                    
+V 14  -1336.380885  27218.005548   7645.635784      -.000919                    
+P 15  23528.817552  -1127.375854  12351.060196    378.128429                    
+V 15 -13651.820401   8404.414568  26048.189059       .053023                    
+P 16  19784.966563  -2286.876786  17667.060961      1.982729                    
+V 16  18111.019942  13056.846563 -18629.002758      -.001739                    
+P 17 -17277.252634  15810.521157  12002.522815    -92.200121                    
+V 17 -15076.046978   3067.811680 -27018.248625       .192192                    
+P 18  19019.808764  17814.174303   5848.833739   -119.113987                    
+V 18  -7413.028473  -2069.791645  30475.069816      -.037483                    
+P 19   8189.448266 -23721.004250   8844.690155    -11.911716                    
+V 19   1656.444772  11264.302978  28966.786514      -.008641                    
+P 20  -3995.019165 -18018.055510 -19181.129325    -90.748102                    
+V 20  21377.119166  11394.931055 -15196.445294       .026766                    
+P 21  13022.877612  10238.432282  20835.412331     88.059269                    
+V 21 -23498.768080  12103.015082   8291.282114       .010680                    
+P 22  23174.907853  11983.070310  -4750.269449     16.273354                    
+V 22   3529.967558   5869.378929  30983.898637       .003196                    
+P 23   -246.403429 -26463.377886   1305.872483    211.512137                    
+V 23   2890.392927  -1702.382068 -31815.419084       .005601                    
+P 24 -23579.955503   2208.786608 -11845.110423     89.590182                    
+V 24  12978.669008  -8641.477449 -26687.981280       .028897                    
+P 25  23631.470915  -8238.800051  -8553.477623     84.351044                    
+V 25  -7850.152346   8808.603181 -28844.805024       .007947                    
+P 26  -7521.592878  23027.283144   9840.571927    317.233189                    
+V 26  -1815.950329 -13201.140825  29203.982661       .055390                    
+P 27 -12539.946864 -10321.977832  21611.040772    513.734863                    
+V 27  22083.042516 -14039.071919   5818.146574       .063092                    
+P 28 -23611.840982 -11973.268605  -3535.694673     46.480806                    
+V 28  -2612.593621  -4695.424465  31087.788989       .000791                    
+P 29  -9767.350995  20223.195327  14326.929947    178.020290                    
+V 29  -1499.996388 -17774.456483  24658.014464      -.190018                    
+P 30  13607.790054  18810.650622 -13253.724590    443.634523                    
+V 30 -15516.570426  -5935.454129 -24716.128961      -.143871                    
+*  2005  1 20 13  0   .00000000                                                 
+P  1  13861.222610  -8319.984311 -20875.593014    383.904724                    
+V  1    947.919724  26890.044302 -10020.306642       .020568                    
+P  2 -22903.453628  13325.250681  -1258.517036    -42.403165                    
+V  2   -547.654160  -3204.666279 -31668.754607       .055988                    
+P  3  12274.845939 -14292.205870  18498.801583     78.197764                    
+V  3   4885.201802  23543.184488  15111.815108       .030346                    
+P  4 -23376.525816   3882.203340 -12331.319763    440.738686                    
+V  4  12200.867052  -9875.061398 -25902.678851      -.206783                    
+P  5   1101.708210  16983.649844 -20582.626041     73.250556                    
+V  5 -24078.478593  -9418.137963  -8960.858242       .024779                    
+P  6   7596.454613  24105.646988   8168.845395   -160.314352                    
+V  6  -2767.129262  10387.485291 -28862.552766       .879213                    
+P  7 -15184.571239  -9179.226472 -19393.604282     61.904193                    
+V  7   -891.517692 -25596.035111  12399.817241      -.303046                    
+P  8 -16797.769022  -5903.243457  19647.342537    -19.094866                    
+V  8  21304.125606 -13496.688330  13683.245417      -.011706                    
+P  9  -9547.718958  19645.787624 -15346.180017    -24.937489                    
+V  9 -16793.881804   8733.904008  22672.082476      -.018082                    
+P 10 -17159.600797   5577.430880  19531.840824     57.549153                    
+V 10 -21304.478391 -12698.902862 -14760.463953       .007249                    
+P 11   8046.907066 -20876.275472 -14197.098453    186.670956                    
+V 11  16381.290027  -8748.566803  22376.553811       .036875                    
+P 13  -6015.982641 -24571.511873   8160.030083    -13.768123                    
+V 13   1554.889931 -10433.415658 -29995.358259       .009530                    
+P 14  14080.787786   9141.537948 -20529.617344    -31.489200                    
+V 14    135.231744  26147.225497  11684.610659      -.000920                    
+P 15  22205.041364   -280.574038  14582.729011    378.132474                    
+V 15 -15691.802797  10437.929427  23471.915185       .053023                    
+P 16  21357.970948  -1204.093979  15844.278260      1.982750                    
+V 16  16762.257293  11008.851930 -21819.682231      -.001735                    
+P 17 -18497.918958  16062.868992   9471.689174    -92.182939                    
+V 17 -12029.253752   2463.904907 -29141.223829       .192218                    
+P 18  18218.936107  17565.383040   8534.344905   -119.117562                    
+V 18 -10394.219720  -3387.799416  29118.633292      -.037480                    
+P 19   8358.331199 -22567.986410  11368.581441    -11.912583                    
+V 19   2159.623611  14319.195230  27039.887655      -.008638                    
+P 20  -1983.067054 -17009.471044 -20380.970606    -90.745757                    
+V 20  23275.468573  10952.414990 -11428.816943       .026769                    
+P 21  10903.606062  11398.693536  21401.198204     88.060127                    
+V 21 -23513.193607  13652.048858   4261.346047       .010677                    
+P 22  23371.937338  12416.787937  -1928.706280     16.273686                    
+V 22    800.269924   3818.860598  31626.870464       .003208                    
+P 23     11.542775 -26460.744124  -1560.557844    211.512503                    
+V 23   2911.291291   1759.424396 -31790.906190       .005597                    
+P 24 -22315.189311   1337.423322 -14137.089317     89.591881                    
+V 24  15052.924937 -10746.586544 -24169.509252       .028892                    
+P 25  22827.508641  -7342.927742 -11067.293188     84.351877                    
+V 25  -9948.524998  11124.795413 -26934.959808       .007956                    
+P 26  -7717.169978  21695.710108  12372.240261    317.238150                    
+V 26  -2593.733869 -16338.911697  26970.296975       .055380                    
+P 27 -10566.741513 -11650.609297  21956.761043    513.740541                    
+V 27  21692.040128 -15446.927734   1852.237550       .063086                    
+P 28 -23721.490061 -12309.510034   -715.786349     46.480853                    
+V 28    217.181145  -2831.784134  31488.242666       .000804                    
+P 29  -9949.798779  18508.949481  16417.791040    178.003212                    
+V 29  -2605.340116 -20253.273602  21741.055085      -.190028                    
+P 30  12092.729386  18256.133111 -15360.137517    443.621425                    
+V 30 -18123.798331  -6316.190009 -22027.908088      -.143880                    
+*  2005  1 20 13 15   .00000000                                                 
+P  1  14015.283875  -5858.814090 -21591.946702    383.906708                    
+V  1   2489.637974  27708.614781  -5875.131586       .020576                    
+P  2 -22826.994877  12948.831335  -4089.650924    -42.398329                    
+V  2   2198.267985  -5209.706731 -31155.092486       .055983                    
+P  3  12774.017286 -12115.002619  19692.953343     78.199479                    
+V  3   6222.369183  24755.929603  11386.956228       .030344                    
+P  4 -22195.735334   2895.132328 -14551.621216    440.720561                    
+V  4  13964.283803 -12075.506845 -23366.915835      -.206788                    
+P  5  -1121.651175  16175.164431 -21212.608302     73.252418                    
+V  5 -25257.403962  -8503.921317  -5018.373846       .024784                    
+P  6   7353.976766  24898.724672   5508.336027   -160.235484                    
+V  6  -2685.518134   7213.720590 -30175.385033       .879169                    
+P  7 -15310.493724 -11408.767853 -18108.973018     61.876857                    
+V  7  -1867.601310 -23873.587829  16103.237386      -.303053                    
+P  8 -14858.637202  -7203.620161  20705.166263    -19.095460                    
+V  8  21701.458799 -15377.110084   9787.671403      -.011710                    
+P  9 -10945.205505  20399.692829 -13181.148913    -24.939032                    
+V  9 -14243.766654   7942.023551  25374.238988      -.018084                    
+P 10 -19033.749088   4525.078413  18039.853218     57.549991                    
+V 10 -20255.931392 -10684.235249 -18345.982439       .007250                    
+P 11   9415.869770 -21617.888957 -12065.954980    186.674205                    
+V 11  14030.438918  -7661.499460  24914.143208       .036885                    
+P 13  -5892.591100 -25358.806938   5398.134465    -13.767162                    
+V 13   1258.389214  -7037.399022 -31291.983316       .009542                    
+P 14  14152.910128  11426.893617 -19303.622614    -31.489324                    
+V 14   1431.081069  24555.188020  15520.149302      -.000919                    
+P 15  20718.176483    754.552461  16563.602941    378.136890                    
+V 15 -17269.570091  12574.578920  20482.493790       .053024                    
+P 16  22787.720702   -303.239824  13750.676700      1.982557                    
+V 16  14932.352807   9028.816215 -24638.620730      -.001732                    
+P 17 -19440.321474  16240.324161   6772.360208    -92.165673                    
+V 17  -8909.298091   1404.015298 -30755.910691       .192245                    
+P 18  17148.439852  17217.445417  11075.386464   -119.121201                    
+V 18 -13388.970697  -4270.574161  27269.079060      -.037475                    
+P 19   8588.909112 -21151.871940  13698.047516    -11.913328                    
+V 19   3019.896668  17096.979582  24652.496697      -.008634                    
+P 20    183.139940 -16057.599890 -21232.477448    -90.743263                    
+V 20  24793.378914  10144.386868  -7466.660634       .026771                    
+P 21   8805.062378  12689.385629  21599.815879     88.061037                    
+V 21 -23042.859893  14987.442535    143.530455       .010674                    
+P 22  23311.461790  12680.389603    926.160700     16.273741                    
+V 22  -2178.898964   2098.638553  31723.269015       .003221                    
+P 23    290.044863 -26148.451013  -4399.977445    211.512851                    
+V 23   3345.424664   5162.330455 -31216.272441       .005594                    
+P 24 -20884.460166    271.347277 -16182.712626     89.594196                    
+V 24  16660.063016 -12953.250173 -21220.994898       .028888                    
+P 25  21853.499123  -6233.130330 -13387.353178     84.352236                    
+V 25 -11622.040578  13547.625996 -24544.869736       .007966                    
+P 26  -7999.084481  20096.769223  14680.593451    317.243321                    
+V 26  -3724.930015 -19127.442048  24249.213406       .055370                    
+P 27  -8648.090252 -13094.238649  21943.154686    513.746175                    
+V 27  20877.818282 -16582.173443  -2156.581216       .063080                    
+P 28 -23566.535262 -12493.688593   2116.224853     46.480997                    
+V 28   3253.776810  -1324.239081  31356.848440       .000817                    
+P 29 -10244.426898  16590.565062  18229.508682    177.986472                    
+V 29  -3980.779764 -22300.627539  18463.895324      -.190037                    
+P 30  10351.762574  17686.158700 -17207.735158    443.608169                    
+V 30 -20522.683490  -6283.399545 -18972.781368      -.143889                    
+*  2005  1 20 13 30   .00000000                                                 
+P  1  14310.454369  -3349.603103 -21929.999924    383.909106                    
+V  1   4067.842948  27955.547350  -1626.132333       .020583                    
+P  2 -22517.547829  12379.604052  -6850.426341    -42.393185                    
+V  2   4618.585966  -7477.661101 -30108.146749       .055978                    
+P  3  13396.298969  -9851.439719  20542.646969     78.202123                    
+V  3   7606.992027  25459.242850   7468.642292       .030343                    
+P  4 -20876.825731   1707.122893 -16525.330960    440.701506                    
+V  4  15265.904103 -14325.438574 -20430.252846      -.206793                    
+P  5  -3430.953155  15459.839020 -21483.257695     73.254895                    
+V  5 -25981.116880  -7360.156308   -986.760857       .024789                    
+P  6   7101.291611  25401.406993   2752.824251   -160.156648                    
+V  6  -2995.641262   3949.734077 -30970.245798       .879126                    
+P  7 -15512.674724 -13463.776582 -16503.957356     61.849748                    
+V  7  -2575.275111 -21728.421983  19509.023535      -.303061                    
+P  8 -12906.788244  -8665.506967  21403.611771    -19.097281                    
+V  8  21590.024277 -17070.475705   5708.522040      -.011714                    
+P  9 -12109.783326  21061.381483 -10791.334880    -24.940331                    
+V  9 -11633.236745   6685.082707  27659.325660      -.018086                    
+P 10 -20790.227916   3653.288082  16239.225319     57.550348                    
+V 10 -18693.310166  -8702.113251 -21609.649891       .007251                    
+P 11  10571.929123 -22242.880821  -9725.450003    186.677504                    
+V 11  11664.293112  -6159.513638  27022.072040       .036895                    
+P 13  -5776.382714 -25835.326974   2543.613163    -13.766365                    
+V 13   1397.575859  -3544.249574 -32050.907792       .009554                    
+P 14  14330.641417  13547.308426 -17744.088912    -31.489626                    
+V 14   2469.264929  22491.571369  19085.895884      -.000918                    
+P 15  19111.299674   1983.195636  18258.643478    378.141992                    
+V 15 -18355.245602  14722.630165  17128.821816       .053025                    
+P 16  24032.463047    425.720689  11421.933359      1.982359                    
+V 16  12658.623462   7202.764622 -27037.569892      -.001728                    
+P 17 -20102.451850  16302.282149   3951.942037    -92.148818                    
+V 17  -5817.909138    -98.849356 -31827.043035       .192272                    
+P 18  15811.355467  16809.930713  13428.895523   -119.124683                    
+V 18 -16302.614501  -4712.251984  24956.981140      -.037468                    
+P 19   8911.058246 -19501.199945  15793.448104    -11.914174                    
+V 19   4184.571736  19519.516253  21845.911094      -.008630                    
+P 20   2466.421136 -15192.509662 -21721.150155    -90.740914                    
+V 20  25867.771692   9035.785637  -3377.259495       .026774                    
+P 21   6769.351152  14087.600538  21426.504905     88.061950                    
+V 21 -22124.380868  16028.734214  -3991.870920       .010673                    
+P 22  22974.806239  12805.961687   3765.090288     16.274084                    
+V 22  -5322.134783    758.468807  31273.578244       .003235                    
+P 23    625.543748 -25536.229105  -7163.314584    211.513105                    
+V 23   4173.110329   8408.626625 -30102.871187       .005594                    
+P 24 -19331.338317   -994.396663 -17945.445824     89.596580                    
+V 24  17769.151703 -15167.633702 -17891.975758       .028884                    
+P 25  20749.294621  -4903.919379 -15472.126573     84.351460                    
+V 25 -12837.724462  15984.855307 -21713.645574       .007976                    
+P 26  -8396.305036  18265.784847  16724.015268    317.248474                    
+V 26  -5143.908116 -21482.710086  21092.307928       .055360                    
+P 27  -6819.965645 -14625.114796  21569.161273    513.752038                    
+V 27  19689.628401 -17374.913373  -6145.875319       .063075                    
+P 28 -23132.177013 -12559.768635   4912.627606     46.480801                    
+V 28   6411.301529   -212.637574  30698.444435       .000831                    
+P 29 -10672.115674  14509.400294  19732.187511    177.969244                    
+V 29  -5548.481759 -23863.083011  14883.385672      -.190047                    
+P 30   8407.322792  17136.503442 -18765.762998    443.594993                    
+V 30 -22632.649664  -5871.700095 -15601.978951      -.143898                    
+*  2005  1 20 13 45   .00000000                                                 
+P  1  14745.728451   -844.049025 -21883.807241    383.910743                    
+V  1   5587.199909  27628.710071   2650.957633       .020590                    
+P  2 -22007.239650  11597.208326  -9493.766277    -42.388104                    
+V  2   6653.104849  -9933.448961 -28549.771655       .055973                    
+P  3  14142.155612  -7547.912508  21033.604622     78.205095                    
+V  3   8954.296253  25644.048893   3426.906169       .030343                    
+P  4 -19462.252423    317.800577 -18218.462675    440.682558                    
+V  4  16088.786051 -16533.758026 -17140.322187      -.206798                    
+P  5  -5783.517403  14854.914109 -21389.564902     73.256312                    
+V  5 -26214.216399  -6063.981282   3066.839154       .024794                    
+P  6   6802.950880  25609.784586    -50.269936   -160.077530                    
+V  6  -3698.848062    689.323899 -31230.812832       .879082                    
+P  7 -15764.214777 -15309.349616 -14608.061053     61.822402                    
+V  7  -2955.828825 -19232.485115  22557.994904      -.303068                    
+P  8 -10986.845278 -10268.021174  21729.309152    -19.098316                    
+V  8  20998.765109 -18487.966036   1516.440375      -.011718                    
+P  9 -13040.097828  21589.394228  -8216.324606    -24.940882                    
+V  9  -9052.954367   4974.982056  29482.832158      -.018088                    
+P 10 -22384.045725   2954.961383  14161.392218     57.552322                    
+V 10 -16647.952009  -6844.291714 -24497.667369       .007251                    
+P 11  11517.501873 -22714.843772  -7216.016385    186.680941                    
+V 11   9366.619400  -4266.148997  28662.463729       .036905                    
+P 13  -5627.807304 -25996.931001   -354.524252    -13.765450                    
+V 13   1976.786072    -56.369547 -32259.983326       .009566                    
+P 14  14587.505604  15463.192035 -15878.106882    -31.489949                    
+V 14   3178.839214  20022.255964  22320.316314      -.000914                    
+P 15  17429.363614   3402.118669  19637.535721    378.144900                    
+V 15 -18937.165440  16787.119156  13466.847084       .053027                    
+P 16  25054.557667   1000.230498   8897.760567      1.982348                    
+V 16   9994.877717   5608.759370 -28975.233641      -.001725                    
+P 17 -20491.403500  16210.212372   1060.558955    -92.131140                    
+V 17  -2854.917856  -2011.697771 -32329.661099       .192298                    
+P 18  14219.211581  16382.130574  15554.902476   -119.128223                    
+V 18 -19041.656492  -4724.831061  22220.422520      -.037459                    
+P 19   9349.293542 -17651.003019  17619.174561    -11.914996                    
+V 19   5587.600658  21521.078923  18668.295657      -.008626                    
+P 20   4824.568520 -14437.902259 -21838.647424    -90.738629                    
+V 20  26450.365659   7702.657946    770.001940       .026777                    
+P 21   4834.560856  15563.595243  20882.900554     88.062700                    
+V 21 -20810.118968  16705.029111  -8073.225299       .010673                    
+P 22  22351.326471  12829.321034   6539.310025     16.274319                    
+V 22  -8536.945883   -168.742901  30287.690666       .003249                    
+P 23   1051.912096 -24642.353171  -9802.944599    211.513535                    
+V 23   5357.160987  11406.743052 -28471.441945       .005595                    
+P 24 -17701.335580  -2456.148843 -19393.559948     89.598898                    
+V 24  18368.128359 -17292.772433 -14239.561770       .028881                    
+P 25  19556.909795  -3358.301380 -17284.007204     84.351770                    
+V 25 -13580.672972  18340.585006 -18489.291359       .007987                    
+P 26  -8931.251240  16244.923727  18465.939317    317.253523                    
+V 26  -6771.308425 -23337.205278  17559.992145       .055349                    
+P 27  -5113.339396 -16209.659659  20839.378051    513.757296                    
+V 27  18189.039820 -17765.971357 -10052.466715       .063069                    
+P 28 -22411.603420 -12544.549011   7626.518282     46.480825                    
+V 28   9598.676363    480.038979  29526.092665       .000847                    
+P 29 -11246.343516  12310.867508  20901.247225    177.952646                    
+V 29  -7222.337987 -24904.222388  11060.620413      -.190057                    
+P 30   6288.714566  16639.153686 -20008.295278    443.581673                    
+V 30 -24382.033534  -5130.398855 -11971.441482      -.143907                    
+*  2005  1 20 14  0   .00000000                                                 
+P  1  15311.576505   1606.881629 -21454.272412    383.910943                    
+V  1   6954.284266  26746.422251   6879.916659       .020598                    
+P  2 -21332.903898  10588.456046 -11974.940061    -42.382870                    
+V  2   8257.711487 -12493.285348 -26510.138154       .055968                    
+P  3  15004.424542  -5250.805240  21157.940720     78.207677                    
+V  3  10180.149176  25319.637721   -666.466848       .030342                    
+P  4 -17995.201299  -1264.941276 -19601.599690    440.664144                    
+V  4  16433.686052 -18608.413373 -13550.925607      -.206802                    
+P  5  -8134.205202  14370.419706 -20932.602840     73.258618                    
+V  5 -25937.660914  -4697.970482   7074.576984       .024800                    
+P  6   6424.174260  25528.398723  -2852.472200   -159.998682                    
+V  6  -4778.962301  -2474.107053 -30950.043040       .879039                    
+P  7 -16033.567079 -16917.587389 -12455.778196     61.795083                    
+V  7  -2965.041399 -16468.917619  25198.589911      -.303076                    
+P  8  -9140.026929 -11982.645553  21675.389678    -19.100063                    
+V  8  19974.155849 -19549.340248  -2714.962183      -.011721                    
+P  9 -13742.884453  21944.177701  -5499.409728    -24.942337                    
+V  9  -6591.456971   2842.132452  30807.117235      -.018091                    
+P 10 -23773.820652   2415.036226  11842.334697     57.553804                    
+V 10 -14168.481702  -5195.421703 -26962.935933       .007251                    
+P 11  12262.352468 -23000.218773  -4581.131209    186.684265                    
+V 11   7216.398108  -2020.985256  29805.661204       .036915                    
+P 13  -5407.782619 -25848.679932  -3246.595435    -13.764640                    
+V 13   2981.320260   3324.789215 -31916.419581       .009579                    
+P 14  14891.244689  17141.519809 -13738.047697    -31.490175                    
+V 14   3502.697126  17226.798139  25167.769183      -.000907                    
+P 15  15717.528854   4999.532320  20675.286828    378.148846                    
+V 15 -19022.400828  18673.588739   9558.737059       .053029                    
+P 16  25821.880877   1444.284857   6221.247255      1.982101                    
+V 16   7009.536847   4313.871754 -30417.982482      -.001721                    
+P 17 -20623.012017  15929.419078  -1849.918251    -92.113986                    
+V 17   -114.076310  -4282.544727 -32250.046147       .192325                    
+P 18  12391.770104  15971.470773  17417.182994   -119.131342                    
+V 18 -21517.190055  -4337.633337  19104.449458      -.037451                    
+P 19   9921.681575 -15641.580490  19144.231614    -11.915919                    
+V 19   7152.209423  23050.702399  15173.860944      -.008620                    
+P 20   7211.766767 -13810.248094 -21582.925009    -90.736093                    
+V 20  26509.540575   6229.122102   4904.762791       .026781                    
+P 21   3033.428911  17081.791356  19977.098828     88.063608                    
+V 21 -19166.251469  16958.018332 -12028.808567       .010674                    
+P 22  21438.891236  12788.444716   9201.349786     16.274520                    
+V 22 -11727.241208   -668.018085  28784.588753       .003264                    
+P 23   1598.943617 -23492.934396 -12273.514786    211.513755                    
+V 23   6844.432812  14074.643230 -26351.641600       .005598                    
+P 24 -16040.177717  -4101.528375 -20500.771585     89.601609                    
+V 24  18464.323367 -19232.486837 -10327.479848       .028877                    
+P 25  18318.859258  -1607.933343 -18790.081943     84.351900                    
+V 25 -13854.726438  20519.137060 -14927.943736       .007999                    
+P 26  -9618.713586  14081.580568  19875.578338    317.258924                    
+V 26  -8517.589087 -24642.642442  13720.011610       .055339                    
+P 27  -3553.163662 -17809.540820  19764.095090    513.763111                    
+V 27  16447.872157 -17709.234209 -13813.152513       .063063                    
+P 28 -21406.311449 -12486.111465  10212.526721     46.480924                    
+V 28  12722.887254    748.317778  27860.746125       .000863                    
+P 29 -11972.592716  10042.846909  21717.759195    177.935399                    
+V 29  -8911.342641 -25405.751501   7059.930178      -.190066                    
+P 30   4031.193473  16221.069989 -20914.622025    443.568435                    
+V 30 -25710.648451  -4121.501995  -8140.994511      -.143916                    
+*  2005  1 20 14 15   .00000000                                                 
+P  1  15990.293732   3954.765298 -20649.125059    383.912411                    
+V  1   8081.484829  25346.677163  10985.528113       .020606                    
+P  2 -20534.567999   9347.970617 -14252.279163    -42.377773                    
+V  2   9405.710581 -15067.922547 -24026.991781       .055961                    
+P  3  15968.530950  -3004.857734  20914.257151     78.210795                    
+V  3  11204.536411  24513.109879  -4739.325392       .030341                    
+P  4 -16517.992908  -3025.012640 -20650.417902    440.645448                    
+V  4  16319.015629 -20459.890290  -9721.297625      -.206807                    
+P  5 -10436.933706  14008.829440 -20119.543989     73.262004                    
+V  5 -25149.599270  -3346.921167  10968.930726       .024805                    
+P  6   5932.411625  25170.046382  -5605.103832   -159.919303                    
+V  6  -6202.734683  -5451.085639 -30130.473280       .878996                    
+P  7 -16285.923846 -18268.448920 -10085.869539     61.767588                    
+V  7  -2574.894904 -13528.617953  27387.668908      -.303083                    
+P  8  -7402.644501 -13774.156541  21241.692792    -19.101704                    
+V  8  18578.417958 -20186.346892  -6910.461620      -.011724                    
+P  9 -14232.621263  22089.727528  -2686.920488    -24.943865                    
+V  9  -4331.692406    334.821916  31602.469652      -.018093                    
+P 10 -24923.258797   2011.272932   9321.946604     57.555814                    
+V 10 -11318.987744  -3829.852578 -28965.693205       .007250                    
+P 11  12823.021134 -23069.681721  -1866.547175    186.687664                    
+V 11   5284.728165    521.728058  30430.840801       .036925                    
+P 13  -5079.387134 -25404.581716  -6083.088377    -13.763613                    
+V 13   4378.018034   6502.467260 -31026.778458       .009591                    
+P 14  15205.173270  18556.930056 -11360.988707    -31.490215                    
+V 14   3399.895235  14195.384455  27579.463415      -.000901                    
+P 15  14019.481595   6755.311582  21352.742072    378.152490                    
+V 15 -18636.546254  20291.886745   5471.880141       .053032                    
+P 16  26309.034949   1787.321038   3438.141024      1.981966                    
+V 16   3783.196474   3371.568862 -31340.454324      -.001717                    
+P 17 -20521.126128  15430.672179  -4726.915117    -92.097053                    
+V 17   2320.937117  -6842.304300 -31586.357952       .192352                    
+P 18  10356.464713  15612.000361  18983.856527   -119.134911                    
+V 18 -23648.164076  -3596.127375  15660.429182      -.037442                    
+P 19  10639.008936 -13517.084891  20342.741447    -11.916631                    
+V 19   8793.926669  24073.973759  11421.961324      -.008613                    
+P 20   9580.153684 -13318.208027 -20958.272347    -90.733442                    
+V 20  26031.584424   4704.030370   8956.826044       .026784                    
+P 21   1392.207327  18602.028013  18723.605662     88.064508                    
+V 21 -17270.258394  16744.566751 -15788.126926       .010676                    
+P 22  20244.044815  12721.834631  11705.839984     16.274849                    
+V 22 -14796.922163   -742.674680  26791.879830       .003279                    
+P 23   2291.010257 -22120.924142 -14532.720032    211.513945                    
+V 23   8567.994659  16342.819584 -23781.421983       .005604                    
+P 24 -14392.065133  -5909.682083 -21246.788301     89.604616                    
+V 24  18084.191272 -20895.336632  -6224.930839       .028874                    
+P 25  17076.469802    327.075038 -19962.819327     84.352151                    
+V 25 -13682.354487  22429.007308 -11092.872765       .008011                    
+P 26 -10465.114029  11826.558727  20928.509349    317.264157                    
+V 26 -10287.015602 -25371.783444   9645.755505       .055329                    
+P 27  -2157.556449 -19382.939283  18359.262192    513.768917                    
+V 27  14545.736060 -17173.630845 -17365.504096       .063058                    
+P 28 -20126.132967 -12422.239565  12627.508594     46.480932                    
+V 28  15692.273643    604.247971  25730.841189       .000879                    
+P 29 -12848.066024   7754.030373  22168.692560    177.918844                    
+V 29 -10523.101193 -25367.946761   2947.879855      -.190076                    
+P 30   1674.832880  15903.150622 -21469.560443    443.555648                    
+V 30 -26571.940645  -2917.283039  -4173.494058      -.143925                    
+*  2005  1 20 14 30   .00000000                                                 
+P  1  16756.690360   6155.426952 -19482.764009    383.914414                    
+V  1   8890.660600  23485.567750  14895.043464       .020615                    
+P  2 -19653.850988   7878.526725 -16287.822455    -42.372840                    
+V  2  10088.480625 -17566.038865 -21144.831642       .055954                    
+P  3  17013.008020   -851.613880  20307.614935     78.213318                    
+V  3  11954.838898  23268.120933  -8720.505784       .030340                    
+P  4 -15070.520059  -4938.511220 -21346.137494    440.626389                    
+V  4  15780.142032 -22004.661937  -5715.260390      -.206812                    
+P  5 -12646.237433  13765.009547 -18963.583427     73.263990                    
+V  5 -23865.584795  -2094.533188  14683.764843       .024809                    
+P  6   5298.832948  24555.271244  -8260.150692   -159.840373                    
+V  6  -7920.994598  -8159.488839 -28784.338618       .878952                    
+P  7 -16484.725089 -19350.286380  -7540.577487     61.740124                    
+V  7  -1774.575440 -10506.581939  29091.075093      -.303091                    
+P  8  -5804.790515 -15601.841303  20434.846495    -19.102892                    
+V  8  16887.064092 -20345.707541 -10994.673364      -.011727                    
+P  9 -14530.873412  21995.140759    172.533081    -24.945285                    
+V  9  -2347.660618  -2482.164900  31848.094028      -.018096                    
+P 10 -25802.442983   1715.309737   6643.350685     57.555799                    
+V 10  -8176.649845  -2808.859658 -30474.022070       .007249                    
+P 11  13221.986531 -22899.379265    880.523648    186.691036                    
+V 11   3632.044530   3295.043304  30526.454291       .036934                    
+P 13  -4609.468911 -24687.007406  -8815.497150    -13.762691                    
+V 13   6116.541709   9388.145160 -29606.816795       .009602                    
+P 14  15489.714091  19692.528275  -8788.058636    -31.490344                    
+V 14   2847.336683  11025.388075  29514.285910      -.000894                    
+P 15  12375.804164   8641.551080  21657.003832    378.156891                    
+V 15 -17822.760727  21559.869190   1277.729885       .053035                    
+P 16  26498.315972   2062.895360    596.081715      1.981940                    
+V 16    405.715532   2819.616056 -31726.029600      -.001714                    
+P 17 -20216.535395  14691.629355  -7518.238449    -92.080120                    
+V 17   4380.116208  -9607.519744 -30348.927428       .192379                    
+P 18   8147.556303  15333.014185  20227.922766   -119.137988                    
+V 18 -25364.386570  -2560.149743  11945.313989      -.037434                    
+P 19  11504.236877 -11323.974641  21194.363499    -11.917406                    
+V 19  10423.896966  24574.205610   7476.126283      -.008607                    
+P 20  11881.463325 -12962.364669 -19975.246412    -90.730881                    
+V 20  25021.277403   3217.453049  12857.299448       .026784                    
+P 21    -70.222554  20081.023668  17143.164828     88.065424                    
+V 21 -15207.915266  16038.748263 -19283.286183       .010679                    
+P 22  18781.846841  12666.880823  14010.261974     16.275126                    
+V 22 -17653.440350   -413.987945  24345.202002       .003295                    
+P 23   3145.939137 -20564.870296 -16542.016227    211.514793                    
+V 23  10449.824826  18156.779179 -20806.272739       .005610                    
+P 24 -12797.993852  -7851.884622 -21617.743529     89.607165                    
+V 24  17272.242499 -22198.441522  -2005.280317       .028870                    
+P 25  15868.239087   2418.711687 -20780.658204     84.352526                    
+V 25 -13103.737675  23986.714380  -7053.261567       .008022                    
+P 26 -11468.137851   9532.130125  21607.100885    317.269195                    
+V 26 -11981.887162 -25519.291823   5414.450559       .055318                    
+P 27   -937.223910 -20885.975966  16646.379973    513.774480                    
+V 27  12567.238430 -16144.667422 -20648.753887       .063052                    
+P 28 -18588.967218 -12388.864368  14831.198092     46.481121                    
+V 28  18419.745807     76.796235  23171.824653       .000895                    
+P 29 -13861.720397   5492.254704  22247.070748    177.901348                    
+V 29 -11967.349250 -24809.444065  -1207.718840      -.190086                    
+P 30   -736.782419  15699.430681 -21663.688249    443.542472                    
+V 30 -26934.669422  -1597.493554   -133.946957      -.143933                    
+*  2005  1 20 14 45   .00000000                                                 
+P  1  17579.093986   8170.470647 -17975.971705    383.915917                    
+V  1   9316.395577  21234.986351  18539.578353       .020623                    
+P  2 -18732.332916   6191.083309 -18047.884957    -42.367716                    
+V  2  10315.449546 -19897.646847 -17914.034811       .055948                    
+P  3  18110.297998   1171.987684  19349.386664     78.217153                    
+V  3  12368.778639  21642.990556 -12541.123133       .030338                    
+P  4 -13688.777544  -6974.410747 -21675.893816    440.607880                    
+V  4  14868.044510 -23168.470992  -1600.272721      -.206817                    
+P  5 -14718.820504  13626.467102 -17483.765839     73.267020                    
+V  5 -22118.154426  -1020.099134  18155.402752       .024814                    
+P  6   4499.684215  23711.557399 -10771.134047   -159.761415                    
+V  6  -9870.467913 -10527.706800 -26933.494151       .878909                    
+P  7 -16593.224701 -20160.046203  -4864.801269     61.712869                    
+V  7   -570.746410  -7498.180341  30283.960065      -.303098                    
+P  8  -4369.275266 -17420.958721  19268.213991    -19.104432                    
+V  8  14985.859837 -19991.531503 -14893.566196      -.011730                    
+P  9 -14665.345724  21636.010727   3028.903481    -24.947272                    
+V  9   -701.311209  -5529.662845  31532.972671      -.018099                    
+P 10 -26388.886754   1493.945126   3852.174343     57.556421                    
+V 10  -4828.911709  -2178.389089 -31464.233747       .007248                    
+P 11  13486.596497 -22471.962898   3612.257570    186.694546                    
+V 11   2305.765478   6221.810651  30090.484935       .036943                    
+P 13  -3970.108944 -23725.801685 -11397.136877    -13.761768                    
+V 13   8131.315774  11904.764991 -27681.183283       .009613                    
+P 14  15704.053659  20540.368645  -6063.714666    -31.490459                    
+V 14   1840.748052   7817.663707  30939.485408      -.000886                    
+P 15  10822.464780  10623.443538  21581.740138    378.161545                    
+V 15 -16640.081518  22406.850011  -2949.490212       .053039                    
+P 16  26380.402374   2307.197840  -2256.201707      1.981792                    
+V 16  -3027.061362   2678.578401 -31567.169582      -.001711                    
+P 17 -19745.599324  13697.979159 -10173.170892    -92.062968                    
+V 17   6010.132871 -12483.809656 -28560.174418       .192406                    
+P 18   5805.034067  15157.860456  21127.727790   -119.141272                    
+V 18 -26609.156124  -1301.582787   8020.815183      -.037428                    
+P 19  12512.262410  -9109.390498  21684.624580    -11.918151                    
+V 19  11952.356443  24552.952373   3403.038132      -.008601                    
+P 20  14068.690855 -12735.273279 -18650.503424    -90.728673                    
+V 20  23501.789354   1857.114444  16539.722386       .026785                    
+P 21  -1342.946391  21473.992184  15262.461650     88.066427                    
+V 21 -13069.900129  14833.223933 -22450.376113       .010682                    
+P 22  17075.398450  12658.286330  16075.639870     16.275468                    
+V 22 -20211.188695    279.830781  21487.519421       .003311                    
+P 23   4174.151782 -18867.476275 -18267.260239    211.515512                    
+V 23  12403.923034  19478.930654 -17478.350113       .005613                    
+P 24 -11294.207568  -9892.469991 -21606.507235     89.610096                    
+V 24  16089.206922 -23070.996603   2255.387023       .028866                    
+P 25  14728.312411   4631.947334 -21228.477664     84.354872                    
+V 25 -12175.069573  25120.362573  -2882.794065       .008034                    
+P 26 -12616.748584   7250.062635  21900.775302    317.274451                    
+V 26 -13506.787307 -25101.602465   1105.314206       .055307                    
+P 27    104.853337 -22274.253517  14652.307115    513.780188                    
+V 27  10598.923599 -14625.442807 -23604.771351       .063046                    
+P 28 -16820.230825 -12418.591309  16786.815363     46.481422                    
+V 28  20825.828030   -789.347421  20225.622269       .000911                    
+P 29 -14994.613429   3302.882823  21952.040005    177.884185                    
+V 29 -13159.363420 -23766.389781  -5338.774183      -.190096                    
+P 30  -3157.990271  15616.544884 -21493.496801    443.529684                    
+V 30 -26784.057068   -246.308916   3911.391636      -.143942                    
+*  2005  1 20 15  0   .00000000                                                 
+P  1  18420.621577   9968.574144 -16155.507277    383.918316                    
+V  1   9308.715655  18679.701379  21855.407684       .020632                    
+P  2 -17809.956274   4304.513493 -19503.546117    -42.362838                    
+V  2  10113.413416 -21977.399790 -14389.946975       .055942                    
+P  3  19227.799156   3034.827412  18056.996533     78.220425                    
+V  3  12396.919875  19708.266261 -16135.774176       .030336                    
+P  4 -12403.540544  -9095.532364 -21633.018099    440.589090                    
+V  4  13647.361741 -23889.317549   2553.620980      -.206821                    
+P  5 -16615.042489  13573.891137 -15704.715883     73.269718                    
+V  5 -19955.776387   -195.326313  21323.699713       .024818                    
+P  6   3517.452036  22672.255105 -13093.965183   -159.682376                    
+V  6 -11976.197342 -12497.412043 -24609.131955       .878866                    
+P  7 -16576.048995 -20703.138317  -2105.252847     61.685591                    
+V  7   1012.886811  -4595.530918  30950.889623      -.303105                    
+P  8  -3110.858658 -19184.387482  17761.702796    -19.105782                    
+V  8  12967.322389 -19107.040860 -18535.997615      -.011732                    
+P  9 -14668.673259  20995.600020   5831.618133    -24.948827                    
+V  9    560.152127  -8716.929532  30656.551561      -.018102                    
+P 10 -26668.317429   1310.597087    995.796462     57.558014                    
+V 10  -1370.305744  -1967.391420 -31921.128811       .007247                    
+P 11  13647.810215 -21777.378542   6281.081347    186.697857                    
+V 11   1338.469609   9217.597266  29130.508693       .036951                    
+P 13  -3139.883214 -22557.122624 -13783.925147    -13.760752                    
+V 13  10344.046160  13989.507254 -25282.977180       .009623                    
+P 14  15807.852573  21101.595742  -3234.964855    -31.490552                    
+V 14    394.914906   4672.726906  31831.201986      -.000878                    
+P 15   9389.489976  12660.451487  21127.371276    378.165757                    
+V 15 -15161.063262  22776.642868  -7134.196400       .053043                    
+P 16  25954.736451   2557.461337  -5069.718194      1.981737                    
+V 16  -6416.826919   2950.982857 -30865.608253      -.001708                    
+P 17 -19148.639017  12444.247866 -12643.540821    -92.045711                    
+V 17   7176.583627 -15369.862833 -26254.141772       .192433                    
+P 18   3373.300227  15102.978959  21667.351962   -119.145077                    
+V 18 -27341.423327     98.434152   3952.491202      -.037420                    
+P 19  13649.994742  -6919.515794  21805.155039    -11.918685                    
+V 19  13292.143548  24029.853579   -728.531145      -.008596                    
+P 20  16097.717232 -12621.830618 -17006.530323    -90.726160                    
+V 20  21513.891707    704.913177  19941.163621       .026787                    
+P 21  -2423.295350  22736.350271  13113.702851     88.067343                    
+V 21 -10948.147276  13139.882586 -25230.832003       .010685                    
+P 22  15155.075374  12726.612818  17867.164640     16.275900                    
+V 22 -22394.603677   1285.287065  18268.325133       .003325                    
+P 23   5378.097439 -17074.019636 -19679.267140    211.516222                    
+V 23  14339.711811  20289.808913 -13855.512957       .005615                    
+P 24  -9910.847095 -11990.059531 -21212.861706     89.612934                    
+V 24  14609.498403 -23457.319880   6479.812254       .028862                    
+P 25  13685.145059   6925.921963 -21297.932689     84.354811                    
+V 25 -10966.144684  25772.746146   1341.909175       .008045                    
+P 26 -13891.578819   5029.702324  21806.105744    317.279618                    
+V 26 -14772.653641 -24155.843496  -3202.261170       .055296                    
+P 27    973.449962 -23504.463535  12408.975933    513.785720                    
+V 27   8726.038330 -12637.076221 -26179.122442       .063041                    
+P 28 -14852.045380 -12539.359507  18461.623662     46.481540                    
+V 28  22841.431723  -1935.509775  16940.053095       .000925                    
+P 29 -16220.547726   1227.288695  21288.851985    177.866852                    
+V 29 -14023.153288 -22290.992172  -9377.857311      -.190106                    
+P 30  -5542.563333  15653.473426 -20961.462038    443.516658                    
+V 30 -26122.369473   1050.890379   7895.941715      -.143951                    
+*  2005  1 20 15 15   .00000000                                                 
+P  1  19240.667538  11526.497153 -14053.588733    383.917849                    
+V  1   8835.157479  15913.940241  24785.130011       .020641                    
+P  2 -16923.516711   2245.045718 -20631.055378    -42.357835                    
+V  2   9525.242180 -23727.685209 -10631.956195       .055938                    
+P  3  20329.114336   4712.578926  16453.556885     78.221914                    
+V  3  12004.634661  17543.851122 -19443.631283       .030335                    
+P  4 -11239.244031 -11259.767125 -21217.219414    440.570340                    
+V  4  12193.889925 -24120.032216   6674.932522      -.206826                    
+P  5 -18300.282006  13581.969295 -13656.272565     73.271455                    
+V  5 -17441.192247    318.588773  24133.100001       .024823                    
+P  6   2341.786662  21475.279718 -15187.765238   -159.603369                    
+V  6 -14154.473380 -14025.811968 -21851.291171       .878823                    
+P  7 -16400.685893 -20992.988465    690.387622     61.657996                    
+V  7   2936.672422  -1884.106154  31085.752342      -.303112                    
+P  8  -2035.812610 -20844.394797  15941.436357    -19.106716                    
+V  8  10926.902110 -17695.513674 -21855.225811      -.011734                    
+P  9 -14576.993218  20065.733209   8530.543998    -24.950498                    
+V  9   1406.409729 -11945.050636  29229.201199      -.018105                    
+P 10 -26635.162027   1126.883869  -1877.423946     57.558620                    
+V 10   2100.954683  -2186.794160 -31838.140430       .007245                    
+P 11  13738.803142 -20813.378795   8840.530858    186.701201                    
+V 11    746.679940  12193.909653  27663.557571       .036959                    
+P 13  -2104.875468 -21222.055392 -15935.117828    -13.759736                    
+V 13  12666.722498  15596.022267 -22453.177945       .009632                    
+P 14  15762.943381  21386.242785   -350.550132    -31.490685                    
+V 14  -1456.829438   1686.966956  32174.834944      -.000870                    
+P 15   8099.876742  14707.728980  20301.125548    378.172191                    
+V 15 -13468.828415  22630.052720 -11200.936809       .053046                    
+P 16  25229.582719   2850.326523  -7796.052039      1.981364                    
+V 16  -9666.447322   3621.178794 -29632.390156      -.001704                    
+P 17 -18468.165650  10934.229634 -14884.733482    -92.028352                    
+V 17   7865.352424 -18161.777774 -23475.659682       .192461                    
+P 18    899.684579  15177.207754  21836.912113   -119.148202                    
+V 18 -27537.398240   1552.665416   -191.244361      -.037410                    
+P 19  14896.744472  -4797.980875  21553.827879    -11.919624                    
+V 19  14362.117104  23041.811511  -4848.811519      -.008591                    
+P 20  17928.832992 -12599.948266 -15071.279343    -90.723674                    
+V 20  19114.509577   -166.342825  23003.274357       .026788                    
+P 21  -3316.790633  23825.447380  10734.076451     88.068084                    
+V 21  -8932.098361  10989.693561 -27572.731579       .010689                    
+P 22  13057.498939  12897.000809  19354.742967     16.276298                    
+V 22 -24140.870387   2535.816505  14742.768980       .003339                    
+P 23   6752.000530 -15230.691726 -20754.277304    211.516790                    
+V 23  16165.593358  20588.601007 -10000.287154       .005616                    
+P 24  -8670.855663 -14099.037670 -20443.535438     89.615733                    
+V 24  12918.085049 -23319.288030  10591.163232       .028857                    
+P 25  12760.410116   9255.384182 -20987.643995     84.354999                    
+V 25  -9557.336500  25903.842188   5542.958159       .008057                    
+P 26 -15265.672116   2916.192319  21326.753527    317.284382                    
+V 26 -15700.481263 -22737.896465  -7430.428990       .055285                    
+P 27   1680.830442 -24536.003677   9953.009358    513.790964                    
+V 27   7029.225021 -10218.490878 -28322.197958       .063035                    
+P 28 -12722.190897 -12773.280124  19827.431432     46.481678                    
+V 28  24410.271314  -3291.262151  13368.191703       .000938                    
+P 29 -17506.988842   -698.502375  20268.762604    177.849398                    
+V 29 -14494.332697 -20449.527764 -13259.119756      -.190115                    
+P 30  -7845.246975  15801.580962 -20076.031440    443.503518                    
+V 30 -24968.904678   2210.795850  11753.740886      -.143959                    
+*  2005  1 20 15 30   .00000000                                                 
+P  1  19996.545713  12829.765347 -11707.277170    383.918730                    
+V  1   7882.109675  13037.627325  27278.676713       .020651                    
+P  2 -16105.295589     45.439828 -21412.154122    -42.352739                    
+V  2   8608.033538 -25081.406149  -6702.562590       .055933                    
+P  3  21375.449735   6188.409539  14567.411786     78.224739                    
+V  3  11173.466697  15235.818449 -22409.412183       .030334                    
+P  4 -10213.109024 -13421.507220 -20434.660286    440.551596                    
+V  4  10591.614473 -23830.324226  10691.948693      -.206830                    
+P  5 -19746.125588  13620.452063 -11373.029870     73.272287                    
+V  5 -14649.202103    473.517723  26533.659505       .024827                    
+P  6    970.142552  20161.635091 -17015.631775   -159.524215                    
+V  6 -16316.158488 -15087.282027 -18708.166158       .878780                    
+P  7 -16038.848436 -21050.300460   3474.300241     61.630911                    
+V  7   5146.695635    560.302160  30691.498006      -.303119                    
+P  8  -1141.835234 -22354.452552  13839.292424    -19.108772                    
+V  8   8959.012739 -15780.388355 -24790.351044      -.011736                    
+P  9 -14428.353554  18847.362296  11076.979653    -24.951540                    
+V  9   1825.510494 -15110.786138  27272.395994      -.018107                    
+P 10 -26292.720563    904.267322  -4718.926861     57.559605                    
+V 10   5486.494651  -2829.141625 -31217.364320       .007244                    
+P 11  13793.491845 -19585.736514  11246.088665    186.704683                    
+V 11    530.306005  15061.585347  25715.788057       .036966                    
+P 13   -859.402273 -19765.052777 -17813.988127    -13.758756                    
+V 13  15004.989799  16696.035758 -19239.956113       .009640                    
+P 14  15534.949608  21412.696072   2539.899394    -31.490952                    
+V 14  -3663.837959  -1050.960102  31965.245245      -.000860                    
+P 15   6968.792357  16717.738117  19116.958442    378.175576                    
+V 15 -11653.645720  21946.695198 -15075.927838       .053050                    
+P 16  24221.759095   3220.226265 -10388.196571      1.981193                    
+V 16 -12683.573015   4655.908124 -27887.749019      -.001700                    
+P 17 -17747.028968   9181.019029 -16856.611544    -92.011331                    
+V 17   8083.018335 -20757.520873 -20279.176297       .192488                    
+P 18  -1567.158111  15381.387009  21632.771112   -119.151472                    
+V 18 -27191.536971   2971.201687  -4340.187186      -.037402                    
+P 19  16224.911540  -2784.370448  20934.798810    -11.920432                    
+V 19  15090.357169  21641.533425  -8888.142698      -.008584                    
+P 20  19528.103802 -12641.505465 -12877.710421    -90.721457                    
+V 20  16374.663818   -695.862893  25673.280615       .026790                    
+P 21  -4036.752058  24702.246172   8165.099482     88.069157                    
+V 21  -7105.013088   8431.756522 -29431.983600       .010695                    
+P 22  10824.284992  13188.111002  20513.464851     16.276512                    
+V 22 -25402.139082   3954.468696  10970.726700       .003353                    
+P 23   8281.930108 -13382.921919 -21474.327841    211.517396                    
+V 23  17792.525375  20392.963746  -5978.778860       .005616                    
+P 24  -7589.187635 -16171.214857 -19312.092155     89.617830                    
+V 24  11106.901002 -22638.043783  14514.644586       .028853                    
+P 25  11968.200616  11572.322679 -20303.235250     84.355557                    
+V 25  -8036.103859  25492.568668   9642.908602       .008069                    
+P 26 -16705.535756    948.900431  20473.256947    317.289324                    
+V 26 -16224.504278 -20919.720637 -11504.461642       .055275                    
+P 27   2246.187178 -25332.544766   7325.234144    513.796311                    
+V 27   5581.262889  -7425.514897 -29990.386378       .063030                    
+P 28 -10472.860850 -13135.694521  20861.034654     46.481728                    
+V 28  25490.846002  -4777.064457   9567.678274       .000952                    
+P 29 -18816.223746  -2444.972023  18908.849486    177.832471                    
+V 29 -14522.579380 -18319.871512 -16919.185203      -.190125                    
+P 30 -10023.269212  16044.949060 -18851.525419    443.490740                    
+V 30 -23359.383576   3155.397265  15420.402843      -.143968                    
+*  2005  1 20 15 45   .00000000                                                 
+P  1  20645.217496  13873.006279  -9157.777873    383.920292                    
+V  1   6455.380326  10152.437929  29294.147411       .020662                    
+P  2 -15381.880740  -2256.069872 -21834.314043    -42.347742                    
+V  2   7430.790216 -25984.365232  -2666.452856       .055929                    
+P  3  22327.107740   7453.384904  12431.599332     78.227236                    
+V  3   9901.853516  12873.044109 -24984.214941       .030332                    
+P  4  -9334.553141 -15533.234293 -19297.919824    440.532986                    
+V  4   8929.380178 -23008.209989  14534.008577      -.206835                    
+P  5 -20931.334766  13655.426550  -8893.787722     73.274823                    
+V  5 -11663.964328    236.483002  28482.012274       .024833                    
+P  6   -591.892839  18773.820837 -18545.334448   -159.445314                    
+V  6 -18370.267004 -15674.303010 -15235.224869       .878737                    
+P  7 -15467.663674 -20902.065075   6199.323717     61.603619                    
+V  7   7576.959612   2674.163551  29779.735235      -.303127                    
+P  8   -418.322470 -23671.024300  11492.316646    -19.110261                    
+V  8   7153.087660 -13404.512089 -27287.639328      -.011738                    
+P  9 -14261.023621  17350.767217  13424.655961    -24.953115                    
+V  9   1824.512588 -18110.804673  24818.635053      -.018111                    
+P 10 -25653.022159    605.698297  -7480.728123     57.560640                    
+V 10   8691.286437  -3868.908453 -30069.479753       .007242                    
+P 11  13845.039173 -18108.150798  13455.983273    186.708021                    
+V 11    672.766052  17734.212931  23321.963549       .036972                    
+P 13    593.577304 -18232.261600 -19388.438698    -13.757857                    
+V 13  17261.763309  17280.271651 -15697.876689       .009647                    
+P 14  15094.763038  21206.848123   5386.718862    -31.490988                    
+V 14  -6160.054867  -3463.420149  31206.792070      -.000849                    
+P 15   6003.098122  18641.995414  17595.333133    378.179879                    
+V 15  -9809.179577  20726.049670 -18688.591756       .053054                    
+P 16  22956.049497   3697.852738 -12801.369667      1.981115                    
+V 16 -15384.084717   6005.569062 -25660.824798      -.001695                    
+P 17 -17026.572789   7206.645673 -18524.317408    -91.993770                    
+V 17   7856.294674 -23061.271977 -16727.309774       .192515                    
+P 18  -3978.909732  15708.278106  21057.648750   -119.155176                    
+V 18 -26316.860396   4265.022234  -8423.469047      -.037393                    
+P 19  17600.947058   -912.888856  19958.446330    -11.921179                    
+V 19  15417.031514  19895.490506 -12778.085636      -.008578                    
+P 20  20868.525998 -12713.545840 -10463.247629    -90.719159                    
+V 20  13376.875706   -837.349081  27904.898584       .026793                    
+P 21  -4603.583493  25332.882077   5451.865234     88.070247                    
+V 21  -5540.505237   5531.571598 -30773.364977       .010699                    
+P 22   8500.618086  13611.324506  21323.985341     16.276685                    
+V 22 -26147.181058   5456.958821   7015.824801       .003369                    
+P 23   9946.186928 -11573.749592 -21827.524651    211.517980                    
+V 23  19137.481682  19738.149943  -1859.555677       .005615                    
+P 24  -6672.354872 -18157.608153 -17838.676370     89.619440                    
+V 24   9270.959801 -21414.892663  18179.067767       .028849                    
+P 25  11314.561269  13827.719464 -19257.215940     84.355748                    
+V 25  -6493.189786  24537.721863  13566.466755       .008081                    
+P 26 -18172.451730   -839.884996  19262.686670    317.294286                    
+V 26 -16294.736190 -18786.095708 -15354.136959       .055264                    
+P 27   2694.792416 -25863.485586   4570.087772    513.801672                    
+V 27   4443.989619  -4329.283966 -31147.256436       .063025                    
+P 28  -8149.260877 -13634.486056  21544.594707     46.481642                    
+V 28  26057.922109  -6307.242494   5599.975197       .000967                    
+P 29 -20106.719134  -3990.026406  17231.750308    177.815275                    
+V 29 -14073.604400 -15988.632205 -20298.015288      -.190134                    
+P 30 -12037.769290  16360.992592 -17307.951887    443.477638                    
+V 30 -21344.754824   3815.047647  18834.087201      -.143976                    
+*  2005  1 20 16  0   .00000000                                                 
+P  1  21145.035629  14659.928057  -6449.674518    383.923146                    
+V  1   4579.979085   7357.833088  30798.459384       .020672                    
+P  2 -14773.214524  -4617.025562 -21890.892669    -42.342597                    
+V  2   6071.706806 -26397.181261   1410.414926       .055924                    
+P  3  23145.015300   8506.567342  10083.245106     78.228710                    
+V  3   8205.193447  10543.789252 -27126.212365       .030331                    
+P  4  -8604.912501 -17547.205591 -17825.840110    440.514151                    
+V  4   7297.323866 -21660.748212  18132.816160      -.206839                    
+P  5 -21842.551683  13650.752848  -6260.919345     73.278220                    
+V  5  -8575.902751   -408.825885  29942.257472       .024837                    
+P  6  -2330.598317  17354.188391 -19749.923457   -159.366402                    
+V  6 -20227.649304 -15797.656473 -11494.156520       .878694                    
+P  7 -14670.646693 -20580.359983   8819.712262     61.575689                    
+V  7  10151.961442   4408.261374  28370.217729      -.303134                    
+P  8    153.013257 -24755.246881   8942.023998    -19.112216                    
+V  8   5589.841617 -10628.558477 -29301.684155      -.011739                    
+P  9 -14111.785077  15595.373009  15530.705169    -24.954318                    
+V  9   1429.333935 -20845.913022  21910.914156      -.018114                    
+P 10 -24736.370371    197.204013 -10116.184454     57.561464                    
+V 10  11627.027279  -5263.471650 -28413.565527       .007240                    
+P 11  13924.400854 -16401.849222  15431.933957    186.711350                    
+V 11   1141.781631  20131.438741  20524.765091       .036979                    
+P 13   2242.383291 -16669.798100 -20631.537674    -13.756941                    
+V 13  19340.952245  17358.660025 -11887.007028       .009654                    
+P 14  14419.822190  20800.973894   8141.059011    -31.491325                    
+V 14  -8866.513915  -5486.646927  29913.206241      -.000838                    
+P 15   5201.219414  20432.876088  15762.864266    378.185502                    
+V 15  -8028.572915  18987.686277 -21973.049618       .053057                    
+P 16  21464.318799   4308.767976 -14993.796529      1.980840                    
+V 16 -17695.239718   7606.130167 -22989.219885      -.001690                    
+P 17 -16344.883107   5041.331178 -19858.935223    -91.976806                    
+V 17   7230.544115 -24987.437368 -12889.191223       .192542                    
+P 18  -6289.248072  16142.804737  20120.628872   -119.158267                    
+V 18 -24944.580679   5349.565528 -12370.734073      -.037384                    
+P 19  18986.554034    788.767359  18641.212090    -11.922106                    
+V 19  15296.821523  17881.366101 -16452.524897      -.008571                    
+P 20  21930.927790 -12779.672887  -7869.157317    -90.716747                    
+V 20  10212.127772   -560.923120  29659.156517       .026797                    
+P 21  -5043.762737  25690.034270   2642.205490     88.071191                    
+V 21  -4299.464283   2368.592423 -31571.366492       .010703                    
+P 22   6133.703897  14170.230050  21772.817004     16.276835                    
+V 22 -26362.432153   6954.973567   2944.434037       .003386                    
+P 23  11715.991998  -9842.304385 -21808.212996    211.518615                    
+V 23  20126.670579  18675.484837   2287.486750       .005614                    
+P 24  -5918.329762 -20010.264300 -16049.621242     89.621925                    
+V 24   7504.345119 -19671.346295  21518.333080       .028846                    
+P 25  10797.369399  15973.348772 -17868.713454     84.355775                    
+V 25  -5018.693339  23058.050351  17242.126022       .008094                    
+P 26 -19623.984382  -2425.946286  17718.185725    317.299320                    
+V 26 -15878.789487 -16430.953969 -18914.913072       .055253                    
+P 27   3056.886474 -26105.232879   1734.920140    513.807014                    
+V 27   3665.543977  -1013.959403 -31764.704709       .063020                    
+P 28  -5798.098552 -14269.671360  21865.946827     46.481925                    
+V 28  26103.463840  -7793.205268   1529.567942       .000982                    
+P 29 -21334.632450  -5319.641626  15265.324426    177.798593                    
+V 29 -13130.566615 -13547.985392 -23339.748535      -.190144                    
+P 30 -13855.093421  16721.340635 -15470.733289    443.464604                    
+V 30 -18989.444390   4131.258543  21936.473667      -.143985                    
+*  2005  1 20 16 15   .00000000                                                 
+P  1  21457.433758  15202.946384  -3630.113555    383.923983                    
+V  1   2299.136087   4747.236683  31767.805063       .020682                    
+P  2 -14291.900123  -6992.146202 -21581.207084    -42.337553                    
+V  2   4615.160619 -26296.683814   5461.713506       .055919                    
+P  3  23792.229171   9354.809272   7562.899537     78.230976                    
+V  3   6115.269048   8332.363054 -28801.204052       .030331                    
+P  4  -8017.490211 -19417.173144 -16043.253904    440.495546                    
+V  4   5783.208745 -19814.033206  21423.760369      -.206843                    
+P  5 -22474.712830  13569.608521  -3519.663313     73.280305                    
+V  5  -5478.333378  -1461.175959  30886.741880       .024842                    
+P  6  -4224.448563  15943.313473 -20608.236551   -159.287111                    
+V  6 -21804.622165 -15485.865914  -7551.673920       .878651                    
+P  7 -13638.429093 -20120.990661  11291.842304     61.548301                    
+V  7  12789.554120   5729.168352  26490.246907      -.303141                    
+P  8    597.203661 -25574.434608   6233.604439    -19.113254                    
+V  8   4337.909257  -7528.681468 -30796.367467      -.011739                    
+P  9 -14014.271526  13609.187887  17356.576967    -24.954343                    
+V  9    683.763262 -23225.265265  18602.034310      -.018118                    
+P 10 -23570.594761   -350.640439 -12580.737303     57.562270                    
+V 10  14215.270998  -6954.705366 -26276.814147       .007237                    
+P 11  14058.972584 -14494.902686  17139.826529    186.714840                    
+V 11   1890.807744  22182.024672  17373.949422       .036985                    
+P 13   4066.871263 -15122.037095 -21521.970569    -13.756152                    
+V 13  21151.154587  16959.823972  -7871.941746       .009662                    
+P 14  13495.142890  20232.374831  10755.718001    -31.491405                    
+V 14 -11694.330594  -7073.039216  28107.306243      -.000824                    
+P 15   4553.369263  22045.400669  13651.831130    378.190655                    
+V 15  -6400.537839  16770.646167 -24869.522918       .053061                    
+P 16  19784.362844   5072.213433 -16927.445441      1.980605                    
+V 16 -19558.393576   9381.625143 -19918.398600      -.001684                    
+P 17 -15735.207944   2722.407269 -20837.997258    -91.959870                    
+V 17   6267.467236 -26464.136725  -8838.676364       .192570                    
+P 18  -8455.441223  16662.610636  18837.059021   -119.161732                    
+V 18 -23123.035963   6148.172296 -16113.348266      -.037375                    
+P 19  20340.083111   2300.287602  17005.342961    -11.922724                    
+V 19  14700.815871  15685.084121 -19848.748367      -.008564                    
+P 20  22704.581096 -12801.591208  -5139.857090    -90.714444                    
+V 20   6976.492204    145.573222  30905.107019       .026802                    
+P 21  -5388.577221  25754.047781   -214.213435     88.072164                    
+V 21  -3427.508033   -966.837785 -31810.813129       .010707                    
+P 22   3771.156498  14860.415689  21852.530811     16.277182                    
+V 22 -26052.393487   8359.611798  -1175.357341       .003403                    
+P 23  13556.449476  -8222.450500 -21417.046013    211.519311                    
+V 23  20698.395058  17270.256541   6392.256865       .005611                    
+P 24  -5316.807785 -21684.048087 -13976.928713     89.623583                    
+V 24   5896.260696 -17448.311611  24472.778936       .028843                    
+P 25  10406.568146  17963.543706 -16163.062987     84.357093                    
+V 25  -3698.200296  21091.468198  20603.681301       .008106                    
+P 26 -21015.617716  -3793.785671  15868.413754    317.304136                    
+V 26 -14962.934354 -13953.478320 -22128.880388       .055242                    
+P 27   3366.337605 -26042.246818  -1130.804492    513.812514                    
+V 27   3278.071337   2426.190561 -31824.014958       .063015                    
+P 28  -3466.015686 -15033.288177  21818.834068     46.481988                    
+V 28  25636.974813  -9146.800254  -2576.892004       .000997                    
+P 29 -22455.423319  -6428.214285  13042.240284    177.781589                    
+V 29 -11694.882590 -11092.305239 -25993.510171      -.190154                    
+P 30 -15447.909755  17092.952887 -13370.346121    443.451856                    
+V 30 -16369.098898   4059.121778  24673.730542      -.143994                    
+*  2005  1 20 16 30   .00000000                                                 
+P  1  21548.495244  15522.479634   -747.956060    383.927959                    
+V  1   -327.388880   2404.505534  32187.917721       .020692                    
+P  2 -13942.788232  -9334.828330 -20910.527062    -42.332373                    
+V  2   3148.506778 -25676.747043   9421.635111       .055913                    
+P  3  24235.361550  10012.254490   4913.831944     78.233063                    
+V  3   3679.062040   6315.987260 -29983.027702       .030331                    
+P  4  -7557.933611 -21100.068137 -13980.594380    440.476860                    
+V  4   4468.809583 -17512.427501  24347.210680      -.206848                    
+P  5 -22831.151307  13376.081227   -717.350818     73.282472                    
+V  5  -2463.938458  -2901.603923  31296.712891       .024846                    
+P  6  -6244.762148  14578.452074 -21105.292831   -159.208012                    
+V  6 -23026.388587 -14783.905865  -3478.201070       .878607                    
+P  7 -12369.221194 -19562.025502  13574.862603     61.520697                    
+V  7  15403.983684   6620.119525  24174.015685      -.303148                    
+P  8    944.805489 -26103.341773   3415.052297    -19.114075                    
+V  8   3451.013946  -4193.511332 -31745.588910      -.011740                    
+P  9 -13997.442071  11427.870642  18868.872691    -24.955501                    
+V  9   -352.491007 -25170.290786  14953.449613      -.018123                    
+P 10 -22190.035745  -1061.410130 -14832.626486     57.562029                    
+V 10  16390.206602  -8871.143148 -23694.146764       .007235                    
+P 11  14271.392138 -12421.280952  18550.307294    186.718449                    
+V 11   2861.034752  23826.533728  13925.377068       .036990                    
+P 13   6039.014893 -13629.979150 -22044.401179    -13.755184                    
+V 13  22609.186389  16129.865003  -3720.757674       .009669                    
+P 14  12314.061675  19541.844115  13185.940896    -31.491448                    
+V 14 -14548.070831  -8192.825338  25820.565161      -.000811                    
+P 15   4042.116788  23438.928337  11299.570489    378.196590                    
+V 15  -5005.630655  14131.995479 -27325.599285       .053064                    
+P 16  17958.536792   6000.166791 -18568.702681      1.980533                    
+V 16 -20931.187554  11247.134953 -16500.937504      -.001678                    
+P 17 -15224.617279    292.949732 -21445.826420    -91.943529                    
+V 17   5042.105405 -27436.009069  -4652.505634       .192598                    
+P 18 -10439.815867  17238.916347  17228.340444   -119.165068                    
+V 18 -20915.959743   6595.265170 -19585.622726      -.037365                    
+P 19  21618.071941   3609.342968  15078.537480    -11.923430                    
+V 19  13617.798070  13397.524117 -22908.489945      -.008557                    
+P 20  23187.499633 -12740.734399  -2322.166198    -90.712428                    
+V 20   3767.552474   1275.959849  31620.414253       .026809                    
+P 21  -5672.659020  25513.756975  -3066.839352     88.073229                    
+V 21  -2953.088006  -4377.033832 -31487.233423       .010711                    
+P 22   1459.378903  15669.571667  21561.864090     16.277511                    
+V 22 -25239.380510   9584.837819  -5274.780754       .003420                    
+P 23  15427.747015  -6741.644183 -20660.951930    211.519769                    
+V 23  20805.453580  15599.103790  10385.583923       .005608                    
+P 24  -4849.816217 -23138.320714 -11657.635677     89.624508                    
+V 24   4527.317247 -14804.467288  26990.359333       .028841                    
+P 25  10124.738472  19756.854930 -14171.268463     84.357732                    
+V 25  -2609.152704  18693.454491  23591.573860       .008118                    
+P 26 -22302.453523  -4936.919309  13746.915622    317.308836                    
+V 26 -13552.393446 -11454.137978 -24945.491594       .055231                    
+P 27   3659.121273 -25667.798203  -3976.394722    513.818057                    
+V 27   3296.026878   5890.260722 -31316.770112       .063010                    
+P 28  -1198.017280 -15909.587328  21403.061441     46.482363                    
+V 28  24685.228656 -10283.697599  -6651.503560       .001010                    
+P 29 -23425.509349  -7318.603905  10599.491397    177.763994                    
+V 29  -9786.398871  -8714.703959 -28214.188537      -.190164                    
+P 30 -16796.099957  17439.433620 -11041.874026    443.438790                    
+V 30 -13567.890546   3569.262120  26997.464298      -.144002                    
+*  2005  1 20 16 45   .00000000                                                 
+P  1  21390.340803  15645.944534   2147.085881    383.928344                    
+V  1  -3225.625913    400.826376  32054.150878       .020702                    
+P  2 -13722.857123 -11598.695764 -19889.988818    -42.327276                    
+V  2   1758.781367 -24548.539841  13225.767070       .055906                    
+P  3  24445.873694  10499.570531   2181.293733     78.237571                    
+V  3    957.015494   4561.972720 -30653.834007       .030331                    
+P  4  -7204.928840 -22557.582372 -11673.390664    440.458836                    
+V  4   3426.501487 -14817.047324  26849.753462      -.206852                    
+P  5 -22923.380077  13036.746146   2097.419098     73.284121                    
+V  5    378.773096  -4693.941847  31162.817960       .024851                    
+P  6  -8356.642276  13292.143599 -21232.564552   -159.128591                    
+V  6 -23830.099493 -13751.234794    653.519410       .878564                    
+P  7 -10868.997099 -18942.279712  15631.283466     61.493658                    
+V  7  17908.992865   7081.278109  21461.914167      -.303154                    
+P  8   1230.455342 -26325.130270    536.241293    -19.114746                    
+V  8   2965.793580   -720.631243 -32133.742234      -.011742                    
+P  9 -14084.259218   9093.472971  20040.062777    -24.955808                    
+V  9  -1606.372680 -26618.011485  11033.887334      -.018128                    
+P 10 -20634.298887  -1951.745793 -16833.564786     57.562102                    
+V 10  18100.988094 -10930.634602 -20707.730746       .007234                    
+P 11  14578.544174 -10219.687272  19639.284637    186.721891                    
+V 11   3983.874692  25019.537493  10239.935832       .036992                    
+P 13   8123.793760 -12229.757021 -22189.735790    -13.754149                    
+V 13  23643.314836  14930.491688    496.087667       .009675                    
+P 14  10878.663922  18772.012873  15390.173852    -31.491583                    
+V 14 -17329.365859  -8835.036066  23092.539081      -.000798                    
+P 15   3643.276174  24578.685105   8747.763139    378.202970                    
+V 15  -3912.880486  11144.614729 -29297.321953       .053066                    
+P 16  16032.214084   7096.684871 -19888.973665      1.980465                    
+V 16 -21789.112193  13112.143159 -12795.637565      -.001672                    
+P 17 -14832.957203  -2199.805275 -21673.713718    -91.926249                    
+V 17   3639.330032 -27866.228914   -408.488406       .192626                    
+P 18 -12211.041765  17837.645375  15321.608237   -119.168542                    
+V 18 -18400.138190   6639.134555 -22726.027713      -.037355                    
+P 19  22776.871075   4711.876673  12893.500688    -11.924154                    
+V 19  12054.874617  11111.042107 -25578.919910      -.008551                    
+P 20  23386.410713 -12559.916665    535.490754    -90.710120                    
+V 20    680.753738   2805.812231  31791.801856       .026819                    
+P 21  -5932.382241  24966.973886  -5865.204175     88.074176                    
+V 21  -2886.337950  -7760.840331 -30606.962482       .010714                    
+P 22   -758.004849  16577.900072  20905.734985     16.277804                    
+V 22 -23962.632572  10550.826007  -9285.426154       .003438                    
+P 23  17286.548288  -5420.045247 -19553.001950    211.520441                    
+V 23  20416.997658  13747.000317  14200.306558       .005604                    
+P 24  -4492.640119 -24338.438342  -9133.083105     89.626694                    
+V 24   3466.220301 -11813.907955  29027.618226       .028839                    
+P 25   9927.980930  21317.531870 -11929.351490     84.357764                    
+V 25  -1817.620966  15934.726977  26154.029056       .008131                    
+P 26 -23440.902638  -5857.817732  11391.433938    317.313720                    
+V 26 -11670.902160  -9030.821194 -27322.080589       .055221                    
+P 27   3971.678133 -24984.393076  -6750.892367    513.823870                    
+V 27   3715.194151   9274.605866 -30245.555689       .063006                    
+P 28    964.047557 -16875.526275  20624.564927     46.482546                    
+V 28  23291.384530 -11126.689262 -10626.091422       .001022                    
+P 29 -24203.908122  -8001.863991   7977.844213    177.746842                    
+V 29  -7442.911444  -6503.592575 -29963.171268      -.190174                    
+P 30 -17887.391638  17722.497055  -8524.476901    443.426123                    
+V 30 -10675.469429   2649.237104  28865.633425      -.144011                    
+*  2005  1 20 17  0   .00000000                                                 
+P  1  20962.282918  15606.496066   5005.311909    383.931419                    
+V  1  -6310.239618  -1207.848063  31371.381577       .020711                    
+P  2 -13621.389601 -13739.145222 -18536.430502    -42.322220                    
+V  2    529.418110 -22940.185458  16811.955309       .055899                    
+P  3  24401.190949  10842.944581   -588.237236     78.239859                    
+V  3  -1979.183408   3125.303276 -30804.231345       .030330                    
+P  4  -6931.187611 -23757.581444  -9161.656131    440.439811                    
+V  4   2716.201538 -11803.548328  28885.332671      -.206857                    
+P  5 -22770.561441  12522.164178   4875.641532     73.286316                    
+V  5   2968.874467  -6786.048715  30485.428941       .024855                    
+P  6 -10520.171970  12111.018326 -20988.121373   -159.049431                    
+V  6 -24167.426302 -12459.238599   4769.862101       .878521                    
+P  7  -9151.401338 -18299.802150  17427.502376     61.466070                    
+V  7  20220.887762   7129.408392  18399.813495      -.303161                    
+P  8   1491.262007 -26232.002793  -2352.031515    -19.115948                    
+V  8   2900.376385   2787.302314 -31955.928543      -.011743                    
+P  9 -14290.631210   6652.908306  20849.070477    -24.957443                    
+V  9  -2994.766207 -27523.745830   6917.726452      -.018134                    
+P 10 -18946.822848  -3030.527390 -18549.364793     57.563432                    
+V 10  19313.533387 -13043.407294 -17366.401270       .007232                    
+P 11  14990.806685  -7932.219099  20388.330012    186.725233                    
+V 11   5183.825626  25731.261574   6382.386511       .036994                    
+P 13  10280.354225 -10951.337611 -21955.286220    -13.753293                    
+V 13  24196.074456  13436.559894   4706.900010       .009681                    
+P 14   9199.880719  17965.641270  17330.761079    -31.491502                    
+V 14 -19940.635029  -9007.753706  19970.169261      -.000785                    
+P 15   3327.077382  25437.062243   6041.631648    378.209049                    
+V 15  -3176.923735   7894.323285 -30750.069485       .053067                    
+P 16  14052.135321   8357.560482 -20865.198476      1.980442                    
+V 16 -22126.381395  14884.134125  -8866.512494      -.001667                    
+P 17 -14572.136086  -4706.188400 -21519.935939    -91.908862                    
+V 17   2150.007530 -27737.673307   3816.222138       .192654                    
+P 18 -13745.180747  18420.778818  13149.303601   -119.171988                    
+V 18 -15662.534853   6244.211351 -25478.371696      -.037344                    
+P 19  23774.295490   5612.077397  10487.412797    -11.924883                    
+V 19  10037.413428   8915.925004 -27813.566830      -.008546                    
+P 20  23316.400628 -12224.943722   3383.913667    -90.707564                    
+V 20  -2194.177667   4693.270405  31415.349172       .026828                    
+P 21  -6204.192372  24120.620087  -8559.891010     88.075234                    
+V 21  -3218.718873 -11017.650914 -29186.974808       .010717                    
+P 22  -2841.609860  17558.816214  19895.163653     16.278005                    
+V 22 -22276.815745  11187.079820 -13140.274421       .003456                    
+P 23  19087.525775  -4269.913997 -18112.181872    211.520880                    
+V 23  19519.782151  11803.947808  17772.321663       .005600                    
+P 24  -4215.022981 -25257.009859  -6448.107491     89.628215                    
+V 24   2767.000450  -8563.170685  30550.438631       .028838                    
+P 25   9787.064523  22616.766317  -9477.608296     84.359274                    
+V 25  -1375.616910  12898.311457  28247.960299       .008143                    
+P 26 -24390.305606  -6567.507983   8843.183701    317.318437                    
+V 26  -9359.590678  -6775.205979 -29224.188804       .055210                    
+P 27   4339.219348 -24003.833306  -9404.084500    513.829482                    
+V 27   4512.509016  12477.004223 -28624.396282       .063001                    
+P 28   2982.897896 -17901.551440  19495.390152     46.482664                    
+V 28  21513.502341 -11608.786731 -14433.237244       .001033                    
+P 29 -24753.806623  -8496.668889   5221.221870    177.729702                    
+V 29  -4719.036416  -4539.379542 -31209.031642      -.190183                    
+P 30 -18717.704422  17903.531238  -5860.780095    443.413223                    
+V 30  -7783.665662   1304.316003  30243.406483      -.144020                    
+*  2005  1 20 17 15   .00000000                                                 
+P  1  20251.705080  15441.564254   7777.880015    383.932062                    
+V  1  -9487.778000  -2382.736829  30153.751245       .020721                    
+P  2 -13620.440911 -15714.835026 -16872.150511    -42.317043                    
+V  2   -462.916277 -20895.839634  20121.156054       .055891                    
+P  3  24085.599888  11072.883295  -3347.819717     78.243283                    
+V  3  -5049.212559   2046.705355 -30433.307779       .030329                    
+P  4  -6704.688134 -24675.290068  -6489.179692    440.421203                    
+V  4   2382.801326  -8559.292459  30416.258731      -.206862                    
+P  5 -22398.681021  11808.238821   7568.788330     73.288435                    
+V  5   5236.155302  -9111.710268  29274.773565       .024860                    
+P  6 -12691.814630  11054.857319 -20376.644846   -158.970463                    
+V  6 -24006.536306 -10988.197761   8797.760101       .878477                    
+P  7  -7237.384817 -17670.417193  18934.264646     61.438908                    
+V  7  22261.471433   6796.985819  15038.339458      -.303168                    
+P  8   1765.106566 -25825.477495  -5199.009125    -19.117658                    
+V  8   3253.761279   6226.617075 -31217.907454      -.011744                    
+P  9 -14624.671880   4156.215695  21281.700423    -24.958853                    
+V  9  -4428.230288 -27862.949926   2683.197154      -.018140                    
+P 10 -17173.311858  -4298.337659 -19950.509422     57.564015                    
+V 10  20011.726375 -15115.430978 -13724.988094       .007230                    
+P 11  15511.567778  -5602.908316  20784.972575    186.728870                    
+V 11   6381.593840  25948.609888   2420.158076       .036994                    
+P 13  12463.400962  -9817.468483 -21344.828555    -13.752298                    
+V 13  24226.560223  11733.114366   8839.920052       .009686                    
+P 14   7297.251120  17163.920026  18974.573833    -31.491565                    
+V 14 -22288.775789  -8737.632558  16506.971688      -.000772                    
+P 15   3059.567124  25994.630843   3229.069316    378.214786                    
+V 15  -2835.771185   4476.471180 -31659.200921       .053067                    
+P 16  12064.711048   9770.308764 -21480.271436      1.980424                    
+V 16 -21956.078547  16472.292484  -4781.670714      -.001664                    
+P 17 -14445.763240  -7175.890531 -20989.624207    -91.891804                    
+V 17    667.033051 -27053.228872   7946.709645       .192681                    
+P 18 -15026.456766  18947.887536  10748.642605   -119.175236                    
+V 18 -12796.986679   5392.723958 -27792.917181      -.037333                    
+P 19  24571.239237   6322.035482   7901.318590    -11.925448                    
+V 19   7608.287051   6896.911133 -29573.154167      -.008541                    
+P 20  23000.246148 -11706.119543   6173.976262    -90.704940                    
+V 20  -4776.605838   6880.537992  30496.625846       .026836                    
+P 21  -6522.940173  22990.497091 -11103.474275     88.076245                    
+V 21  -3923.473775 -14051.391139 -27254.454712       .010720                    
+P 22  -4757.590359  18579.916420  18547.101136     16.278389                    
+V 22 -20249.971016  11435.215688 -16774.715221       .003474                    
+P 23  20784.977053  -3295.314399 -16363.071491    211.521324                    
+V 23  18118.765579   9861.498192  21041.582887       .005596                    
+P 24  -3982.587899 -25874.864438  -3650.175506     89.629540                    
+V 24   2466.898079  -5147.784928  31534.554151       .028837                    
+P 25   9668.788930  23633.650543  -6859.796402     84.360938                    
+V 25  -1319.054345   9676.153942  29839.624698       .008155                    
+P 26 -25114.425028  -7084.864375   6146.105374    317.323686                    
+V 26  -6675.264778  -4769.487893 -30625.722301       .055199                    
+P 27   4794.054259 -22746.897507 -11887.540997    513.835375                    
+V 27   5646.741196  15400.897052 -26478.874905       .062996                    
+P 28   4827.073850 -18952.645884  18033.575980     46.482985                    
+V 28  19422.492592 -11676.001617 -18007.359861       .001043                    
+P 29 -25044.000675  -8828.454097   2376.028890    177.713047                    
+V 29  -1684.456273  -2891.423555 -31928.152578      -.190193                    
+P 30 -19291.192274  17945.202178  -3096.189762    443.400610                    
+V 30  -4983.058125   -442.410435  31103.941359      -.144029                    
+*  2005  1 20 17 30   .00000000                                                 
+P  1  19254.635358  15191.247065  10417.623124    383.933742                    
+V  1 -12660.193557  -3103.482580  28424.260460       .020731                    
+P  2 -13695.582237 -17489.065537 -14924.589705    -42.311805                    
+V  2  -1151.265074 -18474.212293  23098.274706       .055882                    
+P  3  23490.896640  11222.863025  -6050.808914     78.247361                    
+V  3  -8167.017922   1351.262934 -29548.538400       .030328                    
+P  4  -6490.120454 -25294.198647  -3702.733517    440.402727                    
+V  4   2454.209722  -5180.007825  31414.051552      -.206866                    
+P  5 -21839.457132  10877.374440  10129.693370     73.291074                    
+V  5   7123.846012 -11593.139017  27550.861460       .024865                    
+P  6 -14825.962385  10135.941787 -19409.314343   -158.891111                    
+V  6 -23333.390801  -9423.911697  12666.114919       .878434                    
+P  7  -5154.586042 -17086.370448  20127.058510     61.411544                    
+V  7  23960.757119   6130.787882  11432.142899      -.303175                    
+P  8   2088.923628 -25116.296328  -7954.922184    -19.118715                    
+V  8   4006.016990   9496.677638 -29935.797956      -.011745                    
+P  9 -15086.310755   1654.698760  21330.900284    -24.959419                    
+V  9  -5815.014859 -27632.140108  -1589.517120      -.018146                    
+P 10 -15360.088724  -5747.237807 -21012.657618     57.564944                    
+V 10  20197.974432 -17051.969836  -9843.548871       .007229                    
+P 11  16137.030257  -3276.198550  20822.884109    186.732637                    
+V 11   7497.345476  25675.535273  -1577.881032       .036992                    
+P 13  14624.767946  -8842.909070 -20368.555753    -13.751400                    
+V 13  23712.109253   9912.039999  12824.507415       .009691                    
+P 14   5198.358976  16404.847156  20293.561933    -31.491477                    
+V 14 -24288.682608  -8068.713053  12762.128579      -.000760                    
+P 15   2804.178661  26240.831493    359.722228    378.220024                    
+V 15  -2909.302224    992.155315 -32010.451513       .053067                    
+P 16  10114.344616  11314.485520 -21723.356000      1.980375                    
+V 16 -21309.565286  17791.156749   -612.111212      -.001661                    
+P 17 -14449.143460  -9559.746236 -20094.498320    -91.874490                    
+V 17   -718.582365 -25835.271792  11911.691607       .192710                    
+P 18 -16047.713942  19377.782622   8160.988475   -119.178444                    
+V 18  -9900.596747   4085.659231 -29627.403782      -.037323                    
+P 19  25133.191353   6861.093948   5179.446013    -11.925991                    
+V 19   4826.440939   5129.909333 -30826.334465      -.008538                    
+P 20  22467.457026 -10979.589024   8857.479959    -90.702414                    
+V 20  -6998.014581   9296.018491  29050.657760       .026843                    
+P 21  -6920.292048  21600.706705 -13451.410028     88.077235                    
+V 21  -4956.864656 -16774.285053 -24846.123207       .010722                    
+P 22  -6478.732651  19604.177533  16884.167594     16.278538                    
+V 22 -17960.978035  11251.312710 -20127.541900       .003493                    
+P 23  22334.465030  -2492.133217 -14335.436800    211.521985                    
+V 23  16237.040091   8009.231034  23953.038607       .005592                    
+P 24  -3758.416616 -26181.693082   -788.483436     89.631318                    
+V 24   2584.980430  -1668.505195  31965.820656       .028838                    
+P 25   9537.498348  24355.815980  -4122.273626     84.361169                    
+V 25  -1666.427558   6365.438229  30905.027613       .008167                    
+P 26 -25582.759525  -7435.624489   3346.110475    317.328770                    
+V 26  -3688.177036  -3083.560347 -31508.965588       .055189                    
+P 27   5364.019193 -21242.644529 -14155.647205    513.840883                    
+V 27   7060.039732  17959.493759 -23845.898052       .062991                    
+P 28   6471.981516 -19989.608789  16262.939088     46.483172                    
+V 28  17099.556893 -11289.697852 -21285.833298       .001052                    
+P 29 -25050.150066  -9028.298018   -509.576922    177.696421                    
+V 29   1578.412700  -1615.353509 -32105.273007      -.190203                    
+P 30 -19619.975776  17813.036717   -278.142546    443.388031                    
+V 30  -2359.537709  -2550.614538  31429.060686      -.144039                    
+*  2005  1 20 17 45   .00000000                                                 
+P  1  17975.995983  14896.622816  12879.823305    383.934512                    
+V  1 -15728.498987  -3368.685682  26214.235374       .020742                    
+P  2 -13816.895386 -19031.002993 -12725.938817    -42.306668                    
+V  2  -1481.004193 -15746.573839  25692.988762       .055872                    
+P  3  22616.764647  11327.881534  -8651.603112     78.249504                    
+V  3 -11243.905132   1047.618021 -28165.586132       .030326                    
+P  4  -6250.476844 -25606.651537   -851.213477    440.384025                    
+V  4   2940.099475  -1766.080048  31860.087898      -.206871                    
+P  5 -21129.028022   9719.386055  12513.421661     73.291990                    
+V  5   8590.811141 -14143.977684  25343.198350       .024870                    
+P  6 -16876.568851   9358.716199 -18103.568799   -158.812044                    
+V  6 -22152.317303  -7854.127276  16307.140334       .878390                    
+P  7  -2936.481010 -16575.122613  20986.444538     61.384169                    
+V  7  25259.383509   5190.020645   7639.169857      -.303182                    
+P  8   2497.036361 -24123.975654 -10571.899005    -19.119891                    
+V  8   5119.270551  12503.754071 -28135.547347      -.011745                    
+P  9 -15667.269595   -800.975257  20996.850058    -24.961011                    
+V  9  -7065.152231 -26848.855825  -5820.199026      -.018152                    
+P 10 -13552.427781  -7360.866777 -21717.076927     57.566133                    
+V 10  19893.093844 -18761.199967  -5786.511018       .007227                    
+P 11  16856.309768   -995.418849  20501.953246    186.736065                    
+V 11   8453.956688  24932.750901  -5542.650238       .036987                    
+P 13  16715.110678  -8033.976258 -19042.923756    -13.750597                    
+V 13  22649.304138   8068.446282  16592.320502       .009696                    
+P 14   2937.965702  15721.741497  21265.219673    -31.491287                    
+V 14 -25866.464138  -7060.577655   8799.496918      -.000750                    
+P 15   2523.402087  26174.312950  -2515.952912    378.226416                    
+V 15  -3398.543797  -2455.767250 -31800.074785       .053066                    
+P 16   8241.840769  12962.326796 -21590.088249      1.980334                    
+V 16 -20235.173367  18764.080455   3569.544104      -.001659                    
+P 17 -14569.615003 -11811.435693 -18852.484565    -91.857190                    
+V 17  -1921.404808 -24124.390383  15644.708719       .192738                    
+P 18 -16810.541581  19670.218943   5431.137101   -119.182033                    
+V 18  -7069.965990   2342.974250 -30947.948879      -.037313                    
+P 19  25431.594186   7254.917971   2368.463931    -11.926737                    
+V 19   1764.833014   3679.044256 -31550.304202      -.008536                    
+P 20  21753.065884 -10028.462569  11387.996947    -90.699819                    
+V 20  -8804.572703  11857.009947  27101.720709       .026849                    
+P 21  -7423.284625  19982.748449 -15562.855789     88.078314                    
+V 21  -6260.126136 -19110.239246 -22007.349813       .010724                    
+P 22  -7985.301176  20591.345085  14934.302379     16.279356                    
+V 22 -15496.620867  10607.742469 -23141.914116       .003511                    
+P 23  23694.421715  -1848.413440 -12063.740853    211.522616                    
+V 23  13915.093669   6331.312932  26457.499485       .005588                    
+P 24  -3504.718387 -26176.343114   2086.957259     89.634526                    
+V 24   3121.532242   1772.605314  31840.255132       .028838                    
+P 25   9356.680598  24779.733553  -1313.111697     84.361776                    
+V 25  -2418.240779   3064.777214  31430.084242       .008179                    
+P 26 -25771.637928  -7651.174540    490.331376    317.333886                    
+V 26   -479.389231  -1772.719190 -31864.478537       .055178                    
+P 27   6071.081621 -19527.362537 -16166.597812    513.846670                    
+V 27   8680.297088  20079.523769 -20773.089891       .062986                    
+P 28   7900.687454 -20970.523451  14212.756808     46.483393                    
+V 28  14633.196435 -10428.412892 -24210.126344       .001060                    
+P 29 -24755.800132  -9131.583040  -3386.457606    177.679733                    
+V 29   4977.264714   -750.861324 -31733.938985      -.190214                    
+P 30 -19723.569887  17476.921491   2544.699864    443.375522                    
+V 30      9.000234  -4964.009218  31209.797398      -.144048                    
+*  2005  1 20 18  0   .00000000                                                 
+P  1  16429.523025  14598.047070  15122.932862    383.935884                    
+V  1 -18596.419892  -3195.716263  23562.684048       .020753                    
+P  2 -13950.185594 -20316.702791 -10312.672713    -42.301630                    
+V  2  -1412.052279 -12794.302985  27860.548965       .055861                    
+P  3  21470.869773  11422.964927 -11106.367891     78.252635                    
+V  3 -14191.710811   1127.776975 -26308.003623       .030324                    
+P  4  -5948.720887 -25614.090824   2015.268939    440.365625                    
+V  4   3831.419690   1581.366310  31746.029338      -.206875                    
+P  5 -20306.469425   8332.120638  14678.103192     73.294385                    
+V  5   9613.112311 -16672.684547  22690.289003       .024876                    
+P  6 -18798.800012   8719.775908 -16482.751673   -158.732872                    
+V  6 -20485.840171  -6364.924580  19657.609137       .878347                    
+P  7   -621.331707 -16158.330488  21498.319331     61.357198                    
+V  7  26110.664637   4044.045035   3719.930786      -.303188                    
+P  8   3019.614591 -22876.022308 -13004.820005    -19.121275                    
+V  8   6539.450632  15164.558258 -25852.218148      -.011746                    
+P  9 -16351.402729  -3162.630441  20286.880526    -24.962573                    
+V  9  -8094.416793 -25550.682193  -9930.461946      -.018159                    
+P 10 -11792.928696  -9114.864245 -22050.994837     57.566437                    
+V 10  19135.517380 -20157.764112  -1621.725468       .007225                    
+P 11  17651.820566   1198.687670  19828.250172    186.739311                    
+V 11   9180.134350  23756.803168  -9406.059535       .036982                    
+P 13  18685.656475  -7388.422347 -17390.392240    -13.749597                    
+V 13  21054.254918   6296.919465  20078.474869       .009701                    
+P 14    556.871587  15141.949226  21872.959344    -31.490999                    
+V 14 -26962.239868  -5785.920401   4686.549436      -.000743                    
+P 15   2180.483335  25802.909568  -5347.632495    378.231620                    
+V 15  -4285.752697  -5766.690454 -31034.736987       .053064                    
+P 16   6482.962475  14679.686023 -21082.664359      1.980291                    
+V 16 -18796.229430  19326.360900   7690.356977      -.001658                    
+P 17 -14787.204630 -13889.041139 -17287.236259    -91.839616                    
+V 17  -2864.909432 -21977.447984  19085.096842       .192766                    
+P 18 -17325.058537  19787.583070   2606.528065   -119.185178                    
+V 18  -4397.417389    203.036746 -31729.797408      -.037302                    
+P 19  25444.990570   7534.317580   -483.309474    -11.927434                    
+V 19  -1492.184092   2594.145544 -31731.283203      -.008535                    
+P 20  20896.212103  -8843.676780  13721.686932    -90.697365                    
+V 20 -10159.130863  14472.855680  24682.962001       .026854                    
+P 21  -8053.083804  18174.335087 -17401.402066     88.079448                    
+V 21  -7762.036576 -20997.701022 -18791.085185       .010725                    
+P 22  -9265.606308  21499.460062  12730.329303     16.279626                    
+V 22 -12948.356365   9494.409311 -25766.277747       .003526                    
+P 23  24827.656398  -1344.988997  -9586.580093    211.523427                    
+V 23  11209.429904   4903.263022  28512.425738       .005581                    
+P 24  -3184.518592 -25866.759821   4926.227952     89.636352                    
+V 24   4058.224626   5076.072172  31163.856965       .028839                    
+P 25   9090.583766  24910.671758   1518.794359     84.362597                    
+V 25  -3557.185320   -129.557329  31410.555538       .008191                    
+P 26 -25665.061635  -7767.153672  -2373.615312    317.339168                    
+V 26   2862.168852   -875.940719 -31690.901464       .055167                    
+P 27   6930.190969 -17643.203289 -17883.320900    513.852533                    
+V 27  10424.235073  21704.430379 -17317.817165       .062981                    
+P 28   9104.428090 -21852.361898  11917.347217     46.483752                    
+V 28  12115.886460  -9089.058856 -26726.942169       .001066                    
+P 29 -24153.127566  -9176.482835  -6205.303765    177.662441                    
+V 29   8413.172141   -320.061999 -30816.840261      -.190224                    
+P 30 -19628.024957  16912.456743   5323.298475    443.362992                    
+V 30   2055.698011  -7612.288395  30446.784792      -.144057                    
+*  2005  1 20 18 15   .00000000                                                 
+P  1  14637.362471  14333.498213  17109.233221    383.937018                    
+V  1 -21173.911756  -2619.825951  20515.560534       .020765                    
+P  2 -14058.371527 -21329.894104  -7725.013867    -42.296546                    
+V  2   -920.585172  -9706.048623  29562.549712       .055850                    
+P  3  20068.670511  11541.684515 -13373.729305     78.256025                    
+V  3 -16925.944204   1567.523295 -24006.843126       .030323                    
+P  4  -5549.464848 -25326.944373   4846.322713    440.346976                    
+V  4   5100.700654   4764.425464  31074.014768      -.206880                    
+P  5 -19412.202654   6721.761775  16585.712804     73.296084                    
+V  5  10184.868255 -19086.159714  19638.936828       .024881                    
+P  6 -20550.637001   8208.176272 -14575.649082   -158.653718                    
+V  6 -18373.786728  -5037.211579  22659.976324       .878303                    
+P  7   1749.031269 -15851.047946  21654.113289     61.329795                    
+V  7  26482.217480   2769.774793   -263.234578      -.303195                    
+P  8   3681.318115 -21406.854083 -15212.096235    -19.122694                    
+V  8   8198.610904  17409.266589 -23129.063261      -.011746                    
+P  9 -17115.380568  -5386.309372  19215.228997    -24.962698                    
+V  9  -8827.961442 -23793.404008 -13845.490736      -.018166                    
+P 10 -10119.991540 -10977.605846 -22007.861178     57.567319                    
+V 10  17979.841168 -21166.133977   2580.562516       .007223                    
+P 11  18499.931779   3269.324627  18813.884984    186.742962                    
+V 11   9613.287302  22198.551182 -13102.166753       .036976                    
+P 13  20489.946946  -6895.651010 -15439.062769    -13.748622                    
+V 13  18962.142785   4687.783591  23222.661805       .009705                    
+P 14  -1899.451747  14685.792089  22106.386985    -31.490925                    
+V 14 -27532.413478  -4327.622802    493.263532      -.000737                    
+P 15   1741.080237  25143.263198  -8086.049608    378.235790                    
+V 15  -5535.281292  -8846.120541 -29731.179483       .053063                    
+P 16   4867.192738  16427.232942 -20209.809683      1.980266                    
+V 16 -17068.490042  19427.908126  11678.392385      -.001658                    
+P 17 -15075.561969 -15756.403624 -15427.576534    -91.822231                    
+V 17  -3484.339229 -19465.103083  22178.744156       .192794                    
+P 18 -17609.363337  19696.496427   -263.604054   -119.188374                    
+V 18  -1967.370667  -2278.694499 -31957.895155      -.037293                    
+P 19  25159.913794   7733.868277  -3326.734801    -11.928242                    
+V 19  -4851.943544   1908.783683 -31364.844080      -.008533                    
+P 20  19938.574754  -7424.555578  15818.072221    -90.694839                    
+V 20 -11042.567392  17048.429198  21835.854090       .026858                    
+P 21  -8823.998348  16217.978985 -18935.701282     88.080343                    
+V 21  -9381.980925 -22391.876988 -15256.655364       .010725                    
+P 22 -10316.272095  22286.468798  10309.441488     16.279968                    
+V 22 -10408.897365   7919.350022 -27955.230218       .003542                    
+P 23  25702.712410   -956.396865  -6946.053813    211.524050                    
+V 23   8190.592843   3789.042085  30082.624211       .005572                    
+P 24  -2763.298116 -25269.584205   7680.385787     89.639233                    
+V 24   5359.032300   8148.728793  29952.233341       .028840                    
+P 25   8705.784519  24762.322944   4324.601804     84.362942                    
+V 25  -5049.028057  -3127.213331  30851.782956       .008204                    
+P 26 -25255.272568  -7821.930219  -5198.344527    317.344224                    
+V 26   6242.838398   -414.761543 -30994.690811       .055156                    
+P 27   7948.434581 -15636.561444 -19274.297809    513.858199                    
+V 27  12201.066842  22796.821282 -13545.872476       .062976                    
+P 28  10082.809117 -22592.666976   9415.547655     46.484045                    
+V 28   9640.533773  -7287.433150 -28789.331309       .001070                    
+P 29 -23243.377070  -9202.330604  -8917.467670    177.645413                    
+V 29  11784.168208   -326.499474 -29366.012222      -.190234                    
+P 30 -19364.810863  16102.107802   8009.111942    443.350393                    
+V 30   3727.380612 -10413.670667  29150.467527      -.144067                    
+*  2005  1 20 18 30   .00000000                                                 
+P  1  12629.360562  14137.032879  18805.424058    383.939076                    
+V  1 -23380.417628  -1692.604713  17124.953439       .020777                    
+P  2 -14103.004557 -22062.494928  -5006.328319    -42.291530                    
+V  2      -.183522  -6574.593141  30767.656420       .055838                    
+P  3  18432.950802  11714.737495 -15415.428044     78.257543                    
+V  3 -19368.792362   2327.418495 -21300.180244       .030321                    
+P  4  -5020.584231 -24764.162455   7592.219831    440.328183                    
+V  4   6703.139872   7692.233278  29856.610194      -.206884                    
+P  5 -18486.358588   4902.802857  18202.778417     73.299037                    
+V  5  10318.370644 -21293.458508  16243.355190       .024887                    
+P  6 -22094.367532   7806.046936 -12415.933217   -158.574661                    
+V  6 -15871.716870  -3943.470975  25263.357574       .878260                    
+P  7   4130.551795 -15661.172957  21450.921827     61.302514                    
+V  7  26357.120993   1448.824519  -4246.902121      -.303202                    
+P  8   4500.175063 -19756.471831 -17156.363979    -19.123820                    
+V  8  10017.851938  19183.985400 -20016.534630      -.011746                    
+P  9 -17929.679507  -7433.799310  17802.646167    -24.963459                    
+V  9  -9203.464621 -21648.407900 -17495.600678      -.018174                    
+P 10  -8566.450933 -12911.227566 -21587.514446     57.568628                    
+V 10  16494.751662 -21723.652958   6748.817704       .007221                    
+P 11  19371.866770   5184.842045  17476.764631    186.746046                    
+V 11   9702.040504  20321.119666 -16568.271228       .036969                    
+P 13  22085.506462  -6537.263981 -13222.218779    -13.747608                    
+V 13  16426.035914   3323.513178  25970.208018       .009708                    
+P 14  -4382.406731  14365.796938  21961.476375    -31.490889                    
+V 14 -27551.339365  -2775.446322  -3709.026313      -.000733                    
+P 15   1174.807384  24220.110416 -10683.877671    378.242098                    
+V 15  -7095.171238 -11609.226381 -27915.672454       .053062                    
+P 16   3416.750051  18161.867878 -18986.629495      1.979967                    
+V 16 -15137.088878  19035.344908  15464.024474      -.001657                    
+P 17 -15403.126696 -17384.236930 -13306.882209    -91.804653                    
+V 17  -3729.009120 -16668.914232  24878.646071       .192823                    
+P 18 -17688.670646  19369.267068  -3129.121197   -119.191466                    
+V 18    146.977523  -5031.703626 -31627.264319      -.037285                    
+P 19  24571.483736   7890.382692  -6112.701963    -11.929078                    
+V 19  -8216.892746   1638.935780 -30456.079411      -.008531                    
+P 20  18922.715952  -5779.047715  17640.756364    -90.692478                    
+V 20 -11454.426141  19487.816587  18609.488396       .026862                    
+P 21  -9742.785908  14159.410689 -20139.983556     88.081339                    
+V 21 -11033.360898 -23266.232618 -11468.460662       .010726                    
+P 22 -11142.192659  22911.856774   7712.611275     16.280343                    
+V 22  -7968.731505   5908.662621 -29670.317880       .003558                    
+P 23  26295.021834   -652.032535  -4187.075310    211.524494                    
+V 23   4940.665338   3038.572307  31140.845198       .005563                    
+P 24  -2210.518660 -24409.429517  10302.305070     89.642122                    
+V 24   6971.838757  10907.113123  28230.055087       .028840                    
+P 25   8172.646761  24356.121275   7056.363926     84.364370                    
+V 25  -6844.146683  -5847.011153  29768.250869       .008216                    
+P 26 -24543.033616  -7855.004671  -7937.392357    317.349012                    
+V 26   9567.464784   -392.770227 -29789.804267       .055145                    
+P 27   9124.542112 -13556.272267 -20314.250961    513.863706                    
+V 27  13916.549754  23340.034908  -9529.864645       .062971                    
+P 28  10843.681250 -23151.247462   6750.095413     46.484181                    
+V 28   7296.850404  -5057.991800 -30357.746832       .001074                    
+P 29 -22036.966065  -9247.929194 -11475.807743    177.628322                    
+V 29  14989.018688   -754.856581 -27402.883552      -.190244                    
+P 30 -18969.485532  15036.103702  10554.981690    443.337378                    
+V 30   4986.683114 -13277.957448  27341.113653      -.144077                    
+*  2005  1 20 18 45   .00000000                                                 
+P  1  10442.076817  14037.407296  20183.136575    383.942892                    
+V  1 -25147.755562   -479.849162  13448.214083       .020788                    
+P  2 -14045.863641 -22514.835128  -2202.458690    -42.286571                    
+V  2   1337.642690  -3493.518272  31452.274130       .055828                    
+P  3  16593.092360  11968.642879 -17196.927041     78.259862                    
+V  3 -21451.887343   3354.354532 -18232.556397       .030320                    
+P  4  -4334.701109 -23952.422720  10204.822409    440.309240                    
+V  4   8578.420957  10284.487432  28116.517808      -.206888                    
+P  5 -17567.165139   2897.688109  19501.001595     73.300826                    
+V  5  10043.448265 -23209.432968  12564.112189       .024893                    
+P  6 -23397.908280   7489.482653 -10041.524813   -158.495528                    
+V  6 -13048.751665  -3144.887787  27424.347586       .878216                    
+P  7   6478.373164 -15589.159390  20891.568857     61.275233                    
+V  7  25734.571289    164.491864  -8167.324503      -.303208                    
+P  8   5486.740401 -17968.941321 -18805.081843    -19.124414                    
+V  8  11910.571864  20452.513264 -16571.153273      -.011746                    
+P  9 -18759.827955  -9273.896298  16075.872561    -24.965224                    
+V  9  -9173.656463 -19199.483756 -20817.570992      -.018181                    
+P 10  -7158.422331 -14872.905041 -20796.245737     57.568878                    
+V 10  14760.397062 -21783.138897  10811.383541       .007218                    
+P 11  20234.809197   6919.731239  15840.254879    186.749251                    
+V 11   9408.300492  18197.410463 -19745.928494       .036965                    
+P 13  23435.372619  -6287.918544 -10777.773573    -13.746639                    
+V 13  13515.015513   2275.436727  28273.056750       .009710                    
+P 14  -6841.935518  14186.235605  21440.638689    -31.490804                    
+V 14 -27012.320846  -1222.465261  -7848.797066      -.000730                    
+P 15    456.607931  23065.269593 -13096.556595    378.246857                    
+V 15  -8899.388889 -13983.938319 -25623.289166       .053060                    
+P 16   2145.896046  19838.296073 -17434.343812      1.979712                    
+V 16 -13093.118343  18133.451419  18981.202031      -.001656                    
+P 17 -15734.476080 -18750.967131 -10962.426099    -91.787472                    
+V 17  -3564.003608 -13678.160502  27145.277622       .192851                    
+P 18 -17594.168159  18785.129074  -5939.897656   -119.194774                    
+V 18   1886.523743  -7973.087256 -30743.165755      -.037280                    
+P 19  23683.683646   8041.292836  -8792.988098    -11.929651                    
+V 19 -11488.238760   1782.340939 -29019.597375      -.008529                    
+P 20  17890.399839  -3923.629448  19158.072488    -90.690081                    
+V 20 -11412.817890  21698.050518  15059.721339       .026866                    
+P 21 -10808.275807  12045.896655 -20994.452711     88.082192                    
+V 21 -12627.198009 -23613.229633  -7494.621821       .010728                    
+P 22 -11756.177107  23338.245459   4983.931982     16.280762                    
+V 22  -5712.701559   3505.756636 -30880.750738       .003573                    
+P 23  26587.814588   -397.505764  -1356.634217    211.524584                    
+V 23   1550.328347   2685.780773  31668.268983       .005557                    
+P 24  -1500.975764 -23317.871294  12747.463125     89.644354                    
+V 24   8830.643468  13280.418909  26030.371808       .028841                    
+P 25   7466.616005  23720.286916   9667.828045     84.365679                    
+V 25  -8879.629314  -8219.756427  28183.010199       .008228                    
+P 26 -23537.617589  -7905.394240 -10545.875591    317.353746                    
+V 26  12742.625844   -795.704517 -28097.350029       .055135                    
+P 27  10448.764413 -11451.711681 -20984.676153    513.869335                    
+V 27  15477.216792  23338.733321  -5347.383820       .062966                    
+P 28  11402.691230 -23491.818805   3966.917360     46.484146                    
+V 28   5167.788160  -2452.867127 -31401.007044       .001077                    
+P 29 -20553.246651  -9349.868145 -13835.529695    177.611201                    
+V 29  17931.042326  -1571.402884 -24958.151640      -.190254                    
+P 30 -18480.199232  13713.041669  12916.008585    443.324455                    
+V 30   5813.557778 -16109.989919  25048.613070      -.144086                    
+*  2005  1 20 19  0   .00000000                                                 
+P  1   8117.557502  14056.913892  21219.366100    383.945334                    
+V  1 -26422.540314    941.073613   9547.037445       .020798                    
+P  2 -13850.567863 -22695.574728    638.999643    -42.281540                    
+V  2   3063.590869   -553.786424  31601.138634       .055817                    
+P  3  14584.112204  12324.600003 -18687.965391     78.263026                    
+V  3 -23118.741847   4583.604350 -14854.343833       .030319                    
+P  4  -3470.473768 -22925.037787  12638.473191    440.290515                    
+V  4  10653.182438  12474.512151  25886.055454      -.206893                    
+P  5 -16689.424880    736.135008  20457.776651     73.302397                    
+V  5   9406.106512 -24758.145093   8666.936337       .024899                    
+P  6 -24435.908411   7229.671337  -7493.889552   -158.416299                    
+V  6  -9984.899379  -2688.966442  29107.668659       .878173                    
+P  7   8748.298389 -15628.004578  19984.600802     61.247910                    
+V  7  24630.009103  -1001.337346 -11961.215058      -.303215                    
+P  8   6643.559679 -16090.748142 -20131.024847    -19.125428                    
+V  8  13785.983340  21197.390999 -12854.343059      -.011747                    
+P  9 -19567.848196 -10883.360814  14067.006200    -24.965852                    
+V  9  -8708.132713 -16539.198811 -23755.725001      -.018190                    
+P 10  -5914.406696 -16816.343177 -19646.755159     57.569180                    
+V 10  12865.290436 -21314.938008  14697.700529       .007216                    
+P 11  21053.171970   8455.379547  13932.754982    186.752427                    
+V 11   8708.799364  15907.272369 -22581.873258       .036962                    
+P 13  24509.429356  -6116.463685  -8147.634298    -13.745852                    
+V 13  10311.677254   1600.861290  30090.650564       .009712                    
+P 14  -9228.243920  14142.992515  20552.686623    -31.490725                    
+V 14 -25927.902499    238.626842 -11855.510935      -.000728                    
+P 15   -432.100597  21716.373765 -15283.046779    378.250696                    
+V 15 -10870.591671 -15913.481387 -22897.033690       .053058                    
+P 16   1060.562125  21410.700203 -15579.911133      1.979323                    
+V 16 -11029.983227  16725.894927  22168.647333      -.001652                    
+P 17 -16031.797016 -19843.278035  -8434.693119    -91.770083                    
+V 17  -2971.243615 -10586.505453  28946.807605       .192879                    
+P 18 -17361.640220  17931.217085  -8646.740534   -119.197908                    
+V 18   3208.552327 -11010.750691 -29321.039149      -.037275                    
+P 19  22509.304374   8223.006707 -11321.107143    -11.930522                    
+V 19 -14569.668591   2318.578050 -27079.340177      -.008528                    
+P 20  16880.953625  -1882.874406  20343.648698    -90.687522                    
+V 20 -10953.586825  23592.746816  11248.188247       .026870                    
+P 21 -12011.318911   9924.525303 -21485.559570     88.083197                    
+V 21 -14075.773327 -23444.294042  -3405.613458       .010729                    
+P 22 -12178.294205  23532.891649   2169.899647     16.281197                    
+V 22  -3716.774362    769.941177 -31564.018733       .003587                    
+P 23  26572.746940   -156.145934   1496.979621    211.524654                    
+V 23  -1884.414763   2747.242388  31654.872263       .005554                    
+P 24   -615.929990 -22032.195619  14974.659282     89.647178                    
+V 24  10858.265724  15212.903095  23393.815880       .028842                    
+P 25   6569.304485  22888.640544  12115.174951     84.366818                    
+V 25 -11081.805268 -10190.526588  26126.979686       .008239                    
+P 26 -22256.509387  -8010.052721 -12981.118495    317.358533                    
+V 26  15679.761668  -1592.133996 -25945.210411       .055124                    
+P 27  11903.132890  -9370.888103 -21274.202581    513.874697                    
+V 27  16794.562787  22818.492457  -1079.022755       .062962                    
+P 28  11782.520329 -23583.521824   1114.338441     46.484231                    
+V 28   3326.184715    459.856495 -31897.129285       .001082                    
+P 29 -18819.927137  -9540.914587 -15955.008140    177.593809                    
+V 29  20521.830258  -2725.186041 -22071.470948      -.190264                    
+P 30 -17936.094186  12140.167644  15050.401548    443.311928                    
+V 30   6206.082328 -18813.366446  22312.054628      -.144096                    
+*  2005  1 20 19 15   .00000000                                                 
+P  1   5701.915090  14210.474193  21896.820273    383.947242                    
+V  1 -27168.061218   2484.268230   5486.507109       .020809                    
+P  2 -13484.146194 -22621.315266   3469.471295    -42.276516                    
+V  2   5131.380680   2159.640443  31207.808848       .055807                    
+P  3  12445.499070  12797.551483 -19863.051745     78.266642                    
+V  3 -24326.769876   5941.301616 -11221.036263       .030317                    
+P  4  -2413.639029 -21720.612455  14850.829566    440.271775                    
+V  4  12844.023763  14211.737880  23206.426006      -.206897                    
+P  5 -15883.145597  -1545.834684  21056.597198     73.304972                    
+V  5   8466.502295 -25875.906028   4621.415015       .024905                    
+P  6 -25190.594146   6994.211253  -4817.283914   -158.337365                    
+V  6  -6767.994975  -2607.722489  30286.645451       .878129                    
+P  7  10898.237733 -15763.515415  18744.208812     61.220887                    
+V  7  23074.707789  -1971.268307 -15566.559991      -.303222                    
+P  8   7964.954617 -14169.091422 -21112.672089    -19.125016                    
+V  8  15552.724290  21420.211946  -8931.238329      -.011747                    
+P  9 -20313.827457 -12247.534716  11812.784972    -24.968651                    
+V  9  -7794.407146 -13765.027561 -26262.744817      -.018198                    
+P 10  -4844.690967 -18693.422378 -18157.997014     57.569217                    
+V 10  10902.852897 -20308.337505  18339.555861       .007214                    
+P 11  21789.979671   9780.559099  11787.193816    186.755772                    
+V 11   7596.065385  13534.439460 -25028.840519       .036959                    
+P 13  25285.490397  -5987.311667  -5376.991627    -13.744956                    
+V 13   6909.098573   1340.734076  31390.696452       .009715                    
+P 14 -11493.519329  14223.765263  19312.693241    -31.490791                    
+V 14 -24329.444440   1519.199338 -15660.778587      -.000727                    
+P 15  -1502.548594  20215.404247 -17206.499297    378.256448                    
+V 15 -12923.297157 -17358.258570 -19786.856402       .053056                    
+P 16    158.309025  22834.445154 -13455.548224      1.979083                    
+V 16  -9039.673538  14835.214346  24970.963461      -.001647                    
+P 17 -16256.425595 -20656.353891  -5766.683258    -91.752532                    
+V 17  -1949.922112  -7488.625238  30259.180766       .192907                    
+P 18 -17029.914733  16803.234415 -11202.294761   -119.201201                    
+V 18   4088.353414 -14046.996689 -27386.219807      -.037271                    
+P 19  21069.555932   8469.304665 -13653.135021    -11.931315                    
+V 19 -17370.996794   3209.869854 -24668.223713      -.008526                    
+P 20  15929.735663    311.293940  21176.879481    -90.685235                    
+V 20 -10128.773733  25095.497694   7241.204063       .026874                    
+P 21 -13335.061063   7840.529710 -21606.153047     88.083853                    
+V 21 -15296.153792 -22789.041305    727.079586       .010732                    
+P 22 -12434.939411  23469.031391   -681.355663     16.281594                    
+V 22  -2045.122127  -2225.608289 -31706.393238       .003600                    
+P 23  26250.224491    109.399580   4324.979495    211.524637                    
+V 23  -5265.731392   3221.477634  31099.665126       .005556                    
+P 24    456.023171 -20593.957988  16946.658306     89.649462                    
+V 24  12969.426285  16665.677426  20367.723767       .028842                    
+P 25   5469.330181  21899.236949  14357.695929     84.367691                    
+V 25 -13369.173241 -11720.379254  23638.213728       .008251                    
+P 26 -20724.834197  -8202.376969 -15203.244784    317.363393                    
+V 26  18298.118892  -2734.695989 -23367.645503       .055114                    
+P 27  13462.085333  -7358.615272 -21178.771631    513.880417                    
+V 27  17788.966750  21824.422440   3193.657151       .062957                    
+P 28  12011.836140 -23402.254529  -1757.777691     46.484011                    
+V 28   1831.770702   3598.560614 -31833.998605       .001088                    
+P 29 -16872.169119  -9848.543988 -17796.571332    177.576269                    
+V 29  22684.711004  -4149.941479 -18790.944115      -.190274                    
+P 30 -17375.664841  10333.316303  16920.278103    443.299281                    
+V 30   6180.520456 -21294.265147  19179.081861      -.144106                    
+*  2005  1 20 19 30   .00000000                                                 
+P  1   3243.765484  14505.019734  22204.180008    383.950382                    
+V  1 -27365.557130   4058.649751   1334.113523       .020818                    
+P  2 -12918.503564 -22315.913312   6240.212640    -42.271650                    
+V  2   7479.239989   4571.016716  30275.037585       .055797                    
+P  3  10219.889357  13395.485600 -20701.890628     78.269706                    
+V  3 -25048.821459   7347.266938  -7392.467687       .030315                    
+P  4  -1157.764905 -20381.507964  16803.623337    440.252669                    
+V  4  15060.912548  15463.495754  20126.803105      -.206901                    
+P  5 -15172.379724  -3907.115711  21287.342028     73.308601                    
+V  5   7296.344422 -26513.813051    499.620592       .024910                    
+P  6 -25652.325230   6748.562787  -2057.966087   -158.258325                    
+V  6  -3490.380848  -2916.507917  30943.507024       .878085                    
+P  7  12889.594892 -15974.847304  17190.076472     61.193429                    
+V  7  21114.823144  -2675.365103 -18923.462398      -.303229                    
+P  8   9437.132742 -12250.182392 -21734.487127    -19.125152                    
+V  8  17122.425035  21141.208608  -4869.496512      -.011749                    
+P  9 -20957.548946 -13360.605732   9353.807585    -24.969827                    
+V  9  -6438.193970 -10975.418747 -28300.222936      -.018206                    
+P 10  -3951.071147 -20455.940285 -16354.911948     57.570919                    
+V 10   8967.723547 -18772.265549  21672.341769       .007212                    
+P 11  22408.311327  10891.633945   9440.456988    186.758941                    
+V 11   6078.790310  11163.354234 -27046.276946       .036957                    
+P 13  25750.089875  -5861.992191  -2513.546556    -13.744289                    
+V 13   3407.384882   1517.937816  32149.795017       .009718                    
+P 14 -13593.578433  14408.590872  17741.747210    -31.490829                    
+V 14 -22265.992138   2538.217070 -19199.495653      -.000726                    
+P 15  -2758.034838  18607.086102 -18834.833693    378.259780                    
+V 15 -14967.316411 -18297.031247 -16348.590980       .053054                    
+P 16   -571.380177  24067.747777 -11098.155221      1.978788                    
+V 16  -7209.106873  12502.060207  27339.627236      -.001641                    
+P 17 -16370.398139 -21193.821193  -3003.212086    -91.735087                    
+V 17   -516.328258  -4476.911149  31066.094345       .192935                    
+P 18 -16639.197653  15405.786185 -13561.912777   -119.204421                    
+V 18   4520.093943 -16982.354036 -24973.438486      -.037269                    
+P 19  19393.359563   8809.839989 -15748.494437    -11.932259                    
+V 19 -19811.593668   4402.587251 -21827.601377      -.008523                    
+P 20  15066.771292   2620.639078  21643.293881    -90.682789                    
+V 20  -9004.436623  26142.885069   3108.572476       .026879                    
+P 21 -14755.523556   5835.711445 -21355.512490     88.084994                    
+V 21 -16213.467406 -21693.814759   4832.252964       .010736                    
+P 22 -12557.657676  23127.015302  -3520.877886     16.281915                    
+V 22   -747.632085  -5396.439164 -31303.297439       .003613                    
+P 23  25629.405742    435.534629   7078.900356    211.524642                    
+V 23  -8497.543057   4088.937757  30010.790139       .005563                    
+P 24   1718.373021 -19047.410427  18630.752012     89.651659                    
+V 24  15074.080551  17617.839255  17005.200752       .028843                    
+P 25   4162.881759  20792.874657  16358.395596     84.369037                    
+V 25 -15655.517464 -12787.413523  20761.039359       .008262                    
+P 26 -18974.532089  -8510.847942 -17175.733097    317.368244                    
+V 26  20527.429379  -4161.841984 -20404.878257       .055103                    
+P 27  15093.425355  -5454.849690 -20701.633449    513.886155                    
+V 27  18393.152499  20418.908779   7390.126505       .062952                    
+P 28  12123.996580 -22931.758087  -4598.939524     46.483931                    
+V 28    728.678314   6871.121280 -31209.837652       .001096                    
+P 29 -14751.389821 -10293.673058 -19327.231043    177.558662                    
+V 29  24357.810806  -5766.662945 -15172.411501      -.190284                    
+P 30 -16835.147050   8316.508473  18492.397276    443.286693                    
+V 30   5770.619223 -23465.206707  15705.035940      -.144117                    
+*  2005  1 20 19 45   .00000000                                                 
+P  1    792.579163  14939.182417  22136.271206    383.954021                    
+V  1 -27014.849155   5571.461836  -2841.246651       .020827                    
+P  2 -12131.724154 -21809.516832   8903.150599    -42.266705                    
+V  2  10032.028612   6616.735004  28814.997452       .055789                    
+P  3   7951.628990  14119.005126 -21189.735299     78.271862                    
+V  3 -25274.174858   8718.085946  -3431.962005       .030313                    
+P  4    295.315818 -18952.178193  18463.331129    440.234346                    
+V  4  17210.841431  16216.060462  16703.265025      -.206905                    
+P  5 -14574.319366  -6302.941813  21146.435442     73.311619                    
+V  5   5975.834625 -26639.679985  -3625.299560       .024915                    
+P  6 -25819.846046   6457.576128    736.612716   -158.179176                    
+V  6   -245.462383  -3613.501952  31069.521697       .878042                    
+P  7  14688.543953 -16235.301551  15347.150081     61.166120                    
+V  7  18809.920517  -3053.910025 -21975.018587      -.303236                    
+P  8  11038.611111 -10377.611278 -21987.092586    -19.128320                    
+V  8  18413.100175  20398.156407   -738.138450      -.011750                    
+P  9 -21460.114604 -14225.521547   6733.716207    -24.971830                    
+V  9  -4662.948388  -8265.968807 -29838.965426      -.018214                    
+P 10  -3226.912728 -22057.382632 -14268.046423     57.572362                    
+V 10   7151.977344 -16735.232725  24636.296288       .007210                    
+P 11  22872.748715  11792.480532   6932.755093    186.762074                    
+V 11   4181.585876   8875.993874 -28600.936787       .036957                    
+P 13  25898.948043  -5700.828612    393.312670    -13.743515                    
+V 13    -90.073692   2136.292891  32353.917313       .009723                    
+P 14 -15489.382884  14670.678223  15866.607561    -31.490977                    
+V 14 -19802.480999   3225.490054 -22410.936061      -.000725                    
+P 15  -4193.662530  16937.209930 -20141.217771    378.264278                    
+V 15 -16911.309817 -18727.375016 -12642.844318       .053053                    
+P 16  -1146.486544  25073.245793  -8548.657291      1.978560                    
+V 16  -5616.687509   9783.721432  29233.847635      -.001634                    
+P 17 -16337.960182 -21467.400804   -190.217225    -91.718151                    
+V 17   1296.903949  -1638.344842  31358.893555       .192963                    
+P 18 -16229.364205  13752.363222 -15684.469929   -119.207759                    
+V 18   4516.905203 -19719.482135 -22126.118077      -.037267                    
+P 19  17516.346421   9268.804358 -17570.683776    -11.933250                    
+V 19 -21823.454496   5829.398424 -18606.559530      -.008519                    
+P 20  14315.610576   5001.897742  21734.813265    -90.680356                    
+V 20  -7657.915969  26686.992513  -1077.672686       .026883                    
+P 21 -16242.462488   3947.023909 -20739.267158     88.086377                    
+V 21 -16763.807101 -20219.618081   8840.196833       .010737                    
+P 22 -12581.765309  22495.189083  -6299.719855     16.282078                    
+V 22    142.052319  -8649.878431 -30359.530183       .003626                    
+P 23  24727.884068    856.113497   9711.419785    211.524820                    
+V 23 -11489.066062   5312.685367  28405.476435       .005573                    
+P 24   3166.419856 -17437.857382  19999.235025     89.655184                    
+V 24  17080.874853  18066.922609  13364.151748       .028844                    
+P 25   2654.001738  19611.536798  18084.519080     84.370313                    
+V 25 -17853.083547 -13387.224349  17545.225179       .008272                    
+P 26 -17043.306244  -8957.849965 -18865.934200    317.372974                    
+V 26  22310.250391  -5800.042382 -17102.658259       .055092                    
+P 27  16759.566215  -3693.265819 -19853.168076    513.891813                    
+V 27  18555.023951  18678.614496  11432.773448       .062947                    
+P 28  12155.556936 -22164.406982  -7358.970779     46.484289                    
+V 28     43.574614  10178.432010 -30033.449173       .001104                    
+P 29 -12503.812509 -10889.650518 -20519.339508    177.541576                    
+V 29  25496.569724  -7486.744525 -11278.541974      -.190294                    
+P 30 -16347.004205   6121.218840  19738.806399    443.273796                    
+V 30   5026.163813 -25248.591204  11951.902995      -.144127                    
+*  2005  1 20 20  0   .00000000                                                 
+P  1  -1602.994924  15503.305033  21694.145793    383.958455                    
+V  1 -26134.312273   6931.852725  -6970.283489       .020834                    
+P  2 -11109.157015 -21137.356514  11411.734396    -42.261620                    
+V  2  12703.939189   8247.829344  26849.339580       .055780                    
+P  3   5685.271976  14961.180638 -21317.661082     78.274682                    
+V  3 -25008.945956   9970.334906    594.583494       .030311                    
+P  4   1935.406388 -17477.447122  19801.743312    440.215858                    
+V  4  19201.575546  16474.911013  12997.611698      -.206909                    
+P  5 -14098.682318  -8686.451700  20636.880423     73.312532                    
+V  5   4590.283484 -26239.285048  -7680.533036       .024919                    
+P  6 -25700.226102   6087.034545   3518.621897   -158.099669                    
+V  6   2875.727995  -4679.872224  30664.973879       .877998                    
+P  7  16267.151383 -16513.358079  13245.328729     61.138925                    
+V  7  16231.010013  -3059.857391 -24668.223151      -.303242                    
+P  8  12740.932939  -8590.841299 -21867.342325    -19.129419                    
+V  8  19352.247220  19244.657552   3393.566242      -.011751                    
+P  9 -21785.495227 -14853.570017   3998.362117    -24.974199                    
+V  9  -2508.724348  -5725.851743 -30859.070844      -.018222                    
+P 10  -2657.550047 -23454.653973 -11933.062378     57.572661                    
+V 10   5541.401424 -14244.498514  27177.696850       .007207                    
+P 11  23150.775739  12494.127058   4306.943680    186.765237                    
+V 11   1944.143909   6748.815769 -29667.358319       .036959                    
+P 13  25737.092479  -5464.670342   3293.369175    -13.742587                    
+V 13  -3480.489758   3180.311900  31998.715482       .009728                    
+P 14 -17148.365750  14977.515532  13719.262636    -31.490981                    
+V 14 -17017.339569   3524.516152 -25239.785437      -.000723                    
+P 15  -5796.395633  15250.945065 -21104.446414    378.267961                    
+V 15 -18666.326546 -18665.418294  -8733.867182       .053052                    
+P 16  -1591.547047  25819.404200  -5851.275730      1.978466                    
+V 16  -4329.219890   6751.999650  30621.272850      -.001627                    
+P 17 -16126.983731 -21496.289853   2625.922949    -91.700466                    
+V 17   3442.073937    948.368320  31136.407709       .192991                    
+P 18 -15838.277642  11864.977371 -17533.108172   -119.211400                    
+V 18   4110.186361 -22166.985036 -18895.487659      -.037264                    
+P 19  15479.600965   9863.812760 -19087.935443    -11.934050                    
+V 19 -23353.783708   7411.979778 -15061.056625      -.008513                    
+P 20  13692.453099   7408.265825  21449.893713    -90.677926                    
+V 20  -6174.654740  26697.314707  -5244.568440       .026887                    
+P 21 -17760.468958   2205.365333 -19769.210568     88.087137                    
+V 21 -16896.664131 -18439.541653  12683.815672       .010737                    
+P 22 -12544.822773  21570.481925  -8969.791219     16.282685                    
+V 22    607.872893 -11888.447379 -28889.329548       .003639                    
+P 23  23571.057978   1400.932097  12177.168094    211.525301                    
+V 23 -14158.175707   6839.752750  26309.843486       .005586                    
+P 24   4787.313045 -15810.001486  21029.792496     89.657191                    
+V 24  18900.600026  18028.674819   9506.296894       .028844                    
+P 25    954.573604  18396.820758  19508.003993     84.371216                    
+V 25 -19875.894216 -13532.715209  14045.137956       .008283                    
+P 26 -14973.378280  -9558.706797 -20245.547755    317.377938                    
+V 26  23603.900813  -7566.388543 -13511.797895       .055082                    
+P 27  18418.997003  -2100.127826 -18650.544711    513.897756                    
+V 27  18239.755062  16690.919785  15248.604683       .062942                    
+P 28  12144.640812 -21101.665211  -9988.964266     46.484115                    
+V 28   -215.482449  13418.276015 -28324.209845       .001113                    
+P 29 -10178.819581 -11641.551988 -21351.155960    177.524620                    
+V 29  26075.592173  -9215.574929  -7177.735555      -.190304                    
+P 30 -15938.574865   3785.341510  20637.385277    443.260995                    
+V 30   4010.845977 -26579.850255   7987.091175      -.144138                    
+*  2005  1 20 20 15   .00000000                                                 
+P  1  -3896.773141  16179.771620  20885.071275    383.960402                    
+V  1 -24760.187510   8054.386224 -10984.333003       .020840                    
+P  2  -9844.235837 -20338.335003  13721.784328    -42.256569                    
+V  2  15401.687097   9431.945137  24409.065465       .055771                    
+P  3   3464.069254  15907.696602 -21082.753393     78.276961                    
+V  3 -24275.892460  11023.842360   4619.676479       .030309                    
+P  4   3744.182285 -16000.797932  20796.422556    440.197386                    
+V  4  20945.332250  16264.214703   9076.101223      -.206914                    
+P  5 -13747.411818 -11010.334824  19768.166212     73.315943                    
+V  5   3226.547630 -25316.891538 -11594.977884       .024924                    
+P  6 -25308.496528   5605.153680   6240.656345   -158.020395                    
+V  6   5787.829734  -6080.585700  29738.994739       .877954                    
+P  7  17604.300744 -16773.911686  10919.071909     61.111825                    
+V  7  13458.137167  -2660.887657 -26954.894438      -.303249                    
+P  8  14509.646037  -6923.882035 -21378.295770    -19.130727                    
+V  8  19879.550508  17747.885884   7457.156614      -.011752                    
+P  9 -21901.950101 -15263.654399   1194.973221    -24.976240                    
+V  9    -30.432408  -3434.630792 -31349.815408      -.018230                    
+P 10  -2221.012416 -24609.698936  -9390.142812     57.572755                    
+V 10   4211.983799 -11364.478405  29249.974873       .007204                    
+P 11  23214.076624  13014.127452   1607.805814    186.768566                    
+V 11   -580.164595   4849.932511 -30228.218461       .036961                    
+P 13  25278.628659  -5116.612772   6136.456123    -13.741815                    
+V 13  -6665.557102   4615.722374  31089.656642       .009733                    
+P 14 -18545.518368  15292.211157  11336.399344    -31.490810                    
+V 14 -13999.577933   3394.806589 -27637.097609      -.000723                    
+P 15  -7545.428085  13591.207395 -21709.218789    378.272851                    
+V 15 -20149.196863 -18144.897409  -4688.429042       .053052                    
+P 16  -1936.489155  26281.704179  -3052.742739      1.978210                    
+V 16  -3399.298831   3490.518401  31478.533014      -.001619                    
+P 17 -15710.247940 -21306.300025   5399.053890    -91.683163                    
+V 17   5858.161690   3215.335170  30404.744902       .193019                    
+P 18 -15500.204777   9773.463709 -19075.892781   -119.214539                    
+V 18   3348.158926 -24242.973907 -15339.539987      -.037261                    
+P 19  13328.197704  10605.053723 -20273.790299    -11.934821                    
+V 19 -24366.987019   9064.181415 -11252.922297      -.008506                    
+P 20  13205.574235   9791.026062  20793.550389    -90.675544                    
+V 20  -4644.701590  26161.987822  -9319.539739       .026892                    
+P 21 -19270.264149    634.621967 -18463.018741     88.088265                    
+V 21 -16576.814963 -16435.796051  16299.642456       .010737                    
+P 22 -12485.017007  20358.676189 -11484.704441     16.282923                    
+V 22    652.016903 -15013.507224 -26916.265083       .003652                    
+P 23  22191.211429   2094.370367  14433.513881    211.525804                    
+V 23 -16434.464316   8603.134294  23758.551494       .005598                    
+P 24   6560.395290 -14206.338829  21705.799113     89.659502                    
+V 24  20449.522786  17536.185880   5496.186483       .028845                    
+P 25   -915.974100  17188.410078  20605.855314     84.374181                    
+V 25 -21642.778770 -13253.322513  10318.867612       .008292                    
+P 26 -12810.089686 -10320.967180 -21291.055752    317.382842                    
+V 26  24381.935845  -9371.522645  -9687.671583       .055071                    
+P 27  20027.900511   -693.499676 -17117.238246    513.903641                    
+V 27  17431.063154  14549.997661  18770.709073       .062937                    
+P 28  12129.243232 -19754.184478 -12442.223505     46.484056                    
+V 28    -59.399490  16489.380189 -26111.803550       .001123                    
+P 29  -7827.172755 -12545.813371 -21807.306614    177.508012                    
+V 29  26089.736239 -10856.439081  -2942.856826      -.190314                    
+P 30 -15630.939857   1351.894610  21172.273849    443.248167                    
+V 30   2799.536262 -27410.071982   3882.070002      -.144149                    
+*  2005  1 20 20 30   .00000000                                                 
+P  1  -6046.590133  16943.646325  19722.428505    383.963538                    
+V  1 -22945.256766   8862.366687 -14816.376544       .020846                    
+P  2  -8338.993816 -19453.466588  15792.319981    -42.251489                    
+V  2  18028.075392  10154.677530  21534.196444       .055762                    
+P  3   1328.502581  16937.288303 -20488.205142     78.278840                    
+V  3 -23113.609913  11804.870897   8575.263736       .030308                    
+P  4   5695.749876 -14562.742171  21431.046409    440.178793                    
+V  4  22362.243018  15625.573279   5008.141617      -.206918                    
+P  5 -13514.699323 -13228.490714  18556.054831     73.318248                    
+V  5   1969.439528 -23895.029258 -15300.552007       .024929                    
+P  6 -24667.000336   4983.980179   8856.520003   -157.941274                    
+V  6   8414.197147  -7765.825486  28309.260390       .877909                    
+P  7  18686.382939 -16979.671839   8406.923428     61.084566                    
+V  7  10577.593829  -1840.973488 -28792.606560      -.303257                    
+P  8  16305.503646  -5404.186509 -20529.099966    -19.132613                    
+V  8  19949.107224  15985.887189  11385.973064      -.011752                    
+P  9 -21783.266543 -15481.302613  -1628.660642    -24.977250                    
+V  9   2704.402602  -1459.550153 -31309.378261      -.018237                    
+P 10  -1889.050985 -25490.947662  -6683.301887     57.573985                    
+V 10   3226.764744  -8174.440611  30814.718623       .007202                    
+P 11  23039.684760  13375.695243  -1118.691754    186.771820                    
+V 11  -3326.196821   3236.617051 -30274.564455       .036964                    
+P 13  24546.167688  -4623.636050   8873.339235    -13.741005                    
+V 13  -9555.165374   6390.742123  29641.973374       .009739                    
+P 14 -19664.195908  15575.016894   8758.790436    -31.490777                    
+V 14 -10845.468015   2813.602268 -29561.157308      -.000725                    
+P 15  -9412.847197  11997.140957 -21946.315198    378.277157                    
+V 15 -21285.658692 -17215.584446   -574.715720       .053051                    
+P 16  -2215.255890  26443.568455   -201.475100      1.978220                    
+V 16  -2863.278309     91.577208  31791.609769      -.001612                    
+P 17 -15066.543834 -20928.784824   8083.889658    -91.666154                    
+V 17   8472.978744   5107.619376  29177.058834       .193047                    
+P 18 -15244.392882   7514.479047 -20286.369310   -119.217856                    
+V 18   2293.740291 -25878.230244 -11521.862624      -.037259                    
+P 19  11109.588498  11494.740180 -21107.576435    -11.935534                    
+V 19 -24845.988650  10695.519935  -7248.736516      -.008500                    
+P 20  12855.075133  12101.253951  19777.263654    -90.673069                    
+V 20  -3159.038386  25088.292037 -13231.706187       .026896                    
+P 21 -20730.137599   -749.008589 -16843.882184     88.089249                    
+V 21 -15785.609572 -14296.473816  19628.741022       .010736                    
+P 22 -12439.516538  18874.343810 -13800.603090     16.283331                    
+V 22    294.857692 -17928.995346 -24472.951122       .003664                    
+P 23  20626.337270   2954.240039  16441.311193    211.526403                    
+V 23 -18261.872448  10524.344401  20794.298049       .005610                    
+P 24   8457.837037 -12665.660060  22016.529815     89.663707                    
+V 24  21652.484779  16638.416784   1400.225703       .028845                    
+P 25  -2931.236489  16022.644298  21360.441256     84.375093                    
+V 25 -23080.329910 -12593.662891   6427.373940       .008301                    
+P 26 -10600.393176 -11243.965947 -21984.108780    317.387668                    
+V 26  24635.111105 -11122.817431  -5689.666438       .055061                    
+P 27  21541.847963    517.182908 -15282.426116    513.909457                    
+V 27  16131.643581  12352.730728  21939.449454       .062932                    
+P 28  12145.538464 -18141.536118 -14675.168540     46.484105                    
+V 28    482.413736  19295.469571 -23435.692902       .001134                    
+P 29  -5499.172007 -13590.223088 -21879.124023    177.491199                    
+V 29  25554.378186 -12314.562407   1350.173898      -.190324                    
+P 30 -15438.057324  -1132.483089  21334.172590    443.235419                    
+V 30   1475.079528 -27707.980412   -289.089747      -.144159                    
+*  2005  1 20 20 45   .00000000                                                 
+P  1  -8015.705333  17763.598765  18225.517950    383.966699                    
+V  1 -20756.922392   9290.861928 -18402.053709       .020851                    
+P  2  -6604.245842 -18524.227808  17586.349218    -42.246444                    
+V  2  20485.798065  10420.202380  18273.231177       .055752                    
+P  3   -685.082423  18022.457140 -19543.318867     78.281630                    
+V  3 -21575.137012  12249.102135  12393.812626       .030307                    
+P  4   7757.501682 -13199.332482  21695.631373    440.160067                    
+V  4  23383.462055  14616.100315    864.971382      -.206922                    
+P  5 -13387.326030 -15297.636000  17022.253806     73.319904                    
+V  5    898.258784 -22013.556689 -18733.408752       .024933                    
+P  6 -23804.484342   4200.637886  11321.976850   -157.862193                    
+V  6  10689.580990  -9672.949325  26401.572096       .877865                    
+P  7  19507.721372 -17092.678459   5750.951847     61.057100                    
+V  7   7678.831795   -601.379146 -30145.608304      -.303264                    
+P  8  18085.841642  -4051.807375 -19334.785341    -19.133843                    
+V  8  19531.111582  14044.538979  15116.081514      -.011752                    
+P  9 -21409.779203 -15537.457101  -4424.971773    -24.979279                    
+V  9   5618.274569    146.622646 -30744.441307      -.018245                    
+P 10  -1628.427351 -26074.524963  -3859.610955     57.574297                    
+V 10   2633.190282  -4765.574233  31842.532171       .007199                    
+P 11  22610.939728  13606.631122  -3826.157722    186.774887                    
+V 11  -6219.380221   1953.226156 -29805.922590       .036968                    
+P 13  23569.932726  -3958.096849  11456.586483    -13.739995                    
+V 13 -12070.801389   8438.060522  27680.428530       .009745                    
+P 14 -20496.610381  15784.975616   6030.608987    -31.490741                    
+V 14  -7654.939092   1776.910753 -30978.232503      -.000727                    
+P 15 -11364.562544  10502.766491 -21812.676283    378.282406                    
+V 15 -22013.115037 -15941.162689   3538.736186       .053051                    
+P 16  -2464.277124  26296.987782   2653.277443      1.978136                    
+V 16  -2739.896131  -3347.321839  31556.028262      -.001605                    
+P 17 -14181.569883 -20399.393300  10636.635813    -91.649488                    
+V 17  11205.653000   6584.945778  27473.296786       .193075                    
+P 18 -15093.865063   5130.238597 -21144.010889   -119.221255                    
+V 18   1021.833590 -27018.842300  -7510.375510      -.037256                    
+P 19   8871.903851  12526.884151 -21574.782553    -11.936225                    
+V 19 -24792.818660  12214.856909  -3118.612120      -.008495                    
+P 20  12632.965585  14291.535318  18418.769014    -90.670585                    
+V 20  -1805.880091  23502.407132 -16913.152279       .026900                    
+P 21 -22097.473330  -1937.395043 -14940.061765     88.090499                    
+V 21 -14521.632675 -12112.163590  22617.494946       .010734                    
+P 22 -12442.864788  17140.447906 -15876.956144     16.283736                    
+V 22   -425.834065 -20545.104083 -21600.577922       .003676                    
+P 23  18918.747132   3990.884698  18165.594555    211.527096                    
+V 23 -19600.786745  12516.448924  17467.163765       .005621                    
+P 24  10445.535614 -11221.708672  21957.283464     89.666315                    
+V 24  22445.670752  15398.189391  -2714.283925       .028845                    
+P 25  -5058.649546  14931.230934  21759.714550     84.375794                    
+V 25 -24125.495162 -11611.707055   2433.657207       .008310                    
+P 26  -8391.281774 -12318.679332 -22311.860195    317.393071                    
+V 26  24371.796601 -12727.719535  -1580.571352       .055050                    
+P 27  22917.495847   1531.173325 -13180.290771    513.915428                    
+V 27  14362.789461  10194.667002  24703.367062       .062927                    
+P 28  12226.265818 -16291.585048 -16648.182738     46.484041                    
+V 28   1363.310594  21749.137212 -20344.339187       .001147                    
+P 29  -3242.828949 -14754.278112 -21564.854514    177.474115                    
+V 29  24504.825636 -13501.121165   5623.897185      -.190334                    
+P 30 -15366.202330  -3619.181218  21120.508609    443.222518                    
+V 30    124.756544 -27461.181529  -4451.233507      -.144170                    
+*  2005  1 20 21  0   .00000000                                                 
+P  1  -9774.012101  18603.083779  16419.275368    383.967554                    
+V  1 -18274.752928   9289.316075 -21680.660838       .020856                    
+P  2  -4659.423411 -17590.885010  19071.598673    -42.241367                    
+V  2  22681.327129  10251.152044  14682.388765       .055742                    
+P  3  -2545.692502  19130.441412 -18263.409820     78.284140                    
+V  3 -19726.008865  12304.310562  16009.428363       .030306                    
+P  4   9891.231110 -11940.875007  21586.638885    440.141180                    
+V  4  23953.806028  13305.923827  -3281.640961      -.206926                    
+P  5 -13345.305811 -17178.796441  15193.984582     73.321740                    
+V  5     83.584938 -19728.053769 -21835.035563       .024938                    
+P  6 -22754.969421   3238.376384  13595.459348   -157.782969                    
+V  6  12562.359401 -11728.908737  24049.333134       .877821                    
+P  7  20070.709639 -17075.879675   2996.109744     61.029567                    
+V  7   4851.179009   1038.971282 -30985.703604      -.303270                    
+P  8  19806.081187  -2878.837942 -17815.981429    -19.135323                    
+V  8  18612.952618  12014.279653  18587.128253      -.011752                    
+P  9 -20769.139084 -15467.097038  -7147.358250    -24.982167                    
+V  9   8626.606215   1347.159597 -29669.696438      -.018252                    
+P 10  -1402.413155 -26345.171445   -968.354884     57.575008                    
+V 10   2461.088954  -1237.541697  32313.720543       .007197                    
+P 11  21918.217156  13738.085220  -6468.539667    186.778094                    
+V 11  -9178.403234   1029.615062 -28830.284856       .036975                    
+P 13  22386.578633  -3099.012798  13841.408337    -13.739143                    
+V 13 -14148.499075  10677.449429  25238.896713       .009750                    
+P 14 -21043.991475  15881.629879   3198.680710    -31.490860                    
+V 14  -4527.824239    299.818785 -31863.200663      -.000730                    
+P 15 -13361.463107   9135.842770 -21311.388349    378.284953                    
+V 15 -22282.936028 -14396.639034   7584.058559       .053051                    
+P 16  -2720.848576  25842.825274   5462.293060      1.978057                    
+V 16  -3029.604323  -6727.135362  30776.871464      -.001599                    
+P 17 -13048.591669 -19756.691689  13015.588937    -91.632129                    
+V 17  13969.373679   7622.926019  25319.933164       .193104                    
+P 18 -15064.481358   2667.042983 -21634.548962   -119.224645                    
+V 18   -383.845267 -27628.212754  -3376.008780      -.037253                    
+P 19   6662.235233  13687.405232 -21667.318381    -11.936923                    
+V 19 -24228.445867  13534.113029   1065.093408      -.008490                    
+P 20  12523.575565  16317.628580  16741.735331    -90.668452                    
+V 20   -667.095547  21448.432554 -20300.136171       .026905                    
+P 21 -23330.306963  -2930.543310 -12784.378638     88.091592                    
+V 21 -12800.732034  -9972.539350  25218.284652       .010730                    
+P 22 -12525.476541  15187.621499 -17677.301928     16.284363                    
+V 22  -1456.388056 -22781.752359 -18348.262245       .003686                    
+P 23  17113.519903   5206.569839  19576.208536    211.527745                    
+V 23 -20429.516597  14487.457832  13833.812972       .005630                    
+P 24  12484.245353  -9902.041641  21529.421132     89.668208                    
+V 24  22778.960460  13889.713914  -6780.082526       .028845                    
+P 25  -7260.526246  13940.142916  21797.358768     84.376452                    
+V 25 -24727.821527 -10376.509467  -1598.066808       .008319                    
+P 26  -6228.206515 -13527.885038 -22267.242020    317.397745                    
+V 26  23617.812035 -14097.161750   2574.108894       .055040                    
+P 27  24114.214086   2356.119565 -10849.253678    513.921379                    
+V 27  12163.259402   8166.193976  27019.800309       .062922                    
+P 28  12399.263806 -14239.530483 -18326.378832     46.484163                    
+V 28   2521.425811  23775.351177 -16894.192039       .001160                    
+P 29  -1102.130981 -16009.892667 -20869.725779    177.457035                    
+V 29  22994.892984 -14337.039132   9800.898181      -.190345                    
+P 30 -15413.734065  -6059.343904  20535.464231    443.209501                    
+V 30  -1163.429980 -26676.623437  -8529.653864      -.144181                    
+*  2005  1 20 21 15   .00000000                                                 
+P  1 -11299.004858  19421.734192  14333.898640    383.970056                    
+V  1 -15587.574674   8823.655560 -24596.125467       .020862                    
+P  2  -2532.062122 -16690.867769  20221.166675    -42.236397                    
+V  2  24528.717885   9687.720823  10824.643531       .055732                    
+P  3  -4228.705108  20224.409675 -16669.607435     78.287842                    
+V  3 -17641.818093  11932.618590  19358.992218       .030304                    
+P  4  12054.460111 -10810.888236  21106.966092    440.122683                    
+V  4  24033.832858  11775.227505  -7360.652455      -.206931                    
+P  5 -13362.800273 -18838.626955  13103.458022     73.323279                    
+V  5   -415.543178 -17107.621712 -24553.217613       .024944                    
+P  6 -21556.442994   2087.384572  15638.725680   -157.703575                    
+V  6  13996.247237 -13853.034561  21292.936276       .877776                    
+P  7  20385.649075 -16894.712510    189.516592     61.002203                    
+V  7   2180.473937   3043.802430 -31293.063064      -.303277                    
+P  8  21421.302770  -1889.153734 -15998.558731    -19.135905                    
+V  8  17199.700238   9986.719605  21743.126563      -.011751                    
+P  9 -19856.812430 -15307.747478  -9750.880133    -24.984692                    
+V  9  11640.823819   2122.320161 -28107.289602      -.018258                    
+P 10  -1172.440029 -26296.836282   1939.864466     57.575558                    
+V 10   2721.367893   2305.345176  32218.775346       .007194                    
+P 11  20959.404349  13803.200976  -9000.880830    186.781422                    
+V 11 -12118.157008    480.098837 -27363.975138       .036981                    
+P 13  21037.771010  -2033.087380  15986.452345    -13.738186                    
+V 13 -15741.217971  13018.900792  22359.769511       .009756                    
+P 14 -21316.408228  15826.725265    311.686148    -31.490733                    
+V 14  -1560.100931  -1583.937464 -32200.034560      -.000733                    
+P 15 -15360.758495   7916.977921 -20451.579284    378.290484                    
+V 15 -22062.237678 -12665.393347  11495.018829       .053052                    
+P 16  -3021.483198  25090.788237   8177.232156      1.977801                    
+V 16  -3714.625988  -9950.982324  29468.620938      -.001593                    
+P 17 -11668.845664 -19040.697373  15181.711561    -91.614112                    
+V 17  16674.319928   8213.777121  22749.688492       .193132                    
+P 18 -15164.301090    173.655703 -21750.183593   -119.227459                    
+V 18  -1834.265333 -27688.365048    808.645854      -.037253                    
+P 19   4524.966233  14954.569259 -21383.656998    -11.937500                    
+V 19 -23191.863388  14571.866203   5229.109321      -.008486                    
+P 20  12504.278068  18140.007162  14775.337907    -90.665871                    
+V 20    185.107931  18986.713072 -23334.213596       .026911                    
+P 21 -24388.857392  -3736.363764 -10413.648114     88.092280                    
+V 21 -10655.428813  -7963.042434  27390.056928       .010727                    
+P 22 -12712.299315  13053.148574 -19169.925735     16.284870                    
+V 22  -2729.389986 -24571.705430 -14772.224392       .003693                    
+P 23  15256.847770   6595.189732  20648.359193    211.528414                    
+V 23 -20745.084672  16343.950166   9956.559127       .005638                    
+P 24  14530.897930  -8727.130154  20740.320984     89.671005                    
+V 24  22617.793256  12195.741097 -10730.867617       .028845                    
+P 25  -9495.275337  13068.736740  21472.861155     84.377458                    
+V 25 -24851.263863  -8965.584981  -5603.177881       .008327                    
+P 26  -4153.535653 -14846.628674 -21849.175277    317.402658                    
+V 26  22415.667713 -15148.941670   6706.926964       .055029                    
+P 27  25095.581881   3007.440986  -8331.165916    513.927145                    
+V 27   9587.486828   6349.083023  28855.234232       .062916                    
+P 28  12686.216490 -12026.653458 -19680.264806     46.484481                    
+V 28   3882.354619  25314.437704 -13148.480177       .001172                    
+P 29    884.530535 -17322.432458 -19805.870599    177.440258                    
+V 29  21094.693409 -14756.397517  13805.412204      -.190355                    
+P 30 -15571.198996  -8405.601197  19589.868829    443.196766                    
+V 30  -2304.479456 -25380.255838 -12451.591443      -.144192                    
+*  2005  1 20 21 30   .00000000                                                 
+P  1 -12576.467597  20176.917168  12004.388392    383.973642                    
+V  1 -12790.205439   7877.805883 -27097.945031       .020866                    
+P  2   -256.956717 -15857.256848  21014.080452    -42.231422                    
+V  2  25953.163441   8786.020537   6768.566449       .055722                    
+P  3  -5716.648040  21264.834533 -14788.554097     78.290843                    
+V  3 -15405.364321  11112.236204  22383.302085       .030303                    
+P  4  14201.926104  -9825.344187  20265.826463    440.104397                    
+V  4  23601.293239  10110.957284 -11302.935154      -.206935                    
+P  5 -13409.266241 -20250.510558  10787.269763     73.325311                    
+V  5   -553.956093 -14232.188213 -26842.853466       .024949                    
+P  6 -20249.423139    745.340927  17417.458323   -157.624165                    
+V  6  14971.432407 -15960.085092  18179.074769       .877731                    
+P  7  20470.284491 -16518.624433  -2620.327016     60.974956                    
+V  7   -254.253403   5360.494807 -31056.931977      -.303284                    
+P  8  22887.836149  -1078.460134 -13913.202774    -19.136561                    
+V  8  15313.972667   8051.246753  24533.177262      -.011751                    
+P  9 -18676.299599 -15097.930706 -12192.903976    -24.985445                    
+V  9  14571.489069   2469.685341 -26086.226509      -.018265                    
+P 10   -899.831944 -25932.914829   4814.058720     57.576219                    
+V 10   3405.493230   5758.165597  31558.640982       .007192                    
+P 11  19740.103811  13835.691556 -11380.059523    186.784919                    
+V 11 -14952.822251    302.996969 -25431.397165       .036987                    
+P 13  19568.580621   -755.433363  17854.536663    -13.737159                    
+V 13 -16820.553431  15366.165649  19093.196032       .009760                    
+P 14 -21332.257535  15585.841964  -2580.674077    -31.490855                    
+V 14   1159.728876  -3823.133580 -31982.135117      -.000737                    
+P 15 -17317.454791   6859.018651 -19248.229896    378.294725                    
+V 15 -21335.088242 -10835.971862  15207.932006       .053053                    
+P 16  -3400.300146  24059.070209  10751.469823      1.977805                    
+V 16  -4759.730052 -12927.744825  27654.831895      -.001587                    
+P 17 -10051.674119 -18291.371731  17099.180976    -91.595622                    
+V 17  19230.694216   8366.514253  19801.229497       .193160                    
+P 18 -15393.269107  -2300.403763 -21489.672403   -119.230898                    
+V 18  -3238.754883 -27200.507286   4970.678603      -.037255                    
+P 19   2500.218335  16299.740044 -20728.856456    -11.938233                    
+V 19 -21738.465112  15256.686740   9300.597635      -.008484                    
+P 20  12546.493476  19725.222458  12553.735018    -90.663607                    
+V 20    691.104813  16191.539079 -25963.255764       .026916                    
+P 21 -25236.978785  -4370.148199  -7868.066909     88.093655                    
+V 21  -8133.743834  -6161.766096  29098.792440       .010723                    
+P 22 -13021.695426  10779.685244 -20328.456006     16.285601                    
+V 22  -4166.414798 -25863.209784 -10934.804184       .003698                    
+P 23  13394.343559   8142.305743  21363.075801    211.529263                    
+V 23 -20563.292533  17994.790555   5902.308212       .005643                    
+P 24  16540.066440  -7709.729979  19603.251744     89.673843                    
+V 24  21944.489420  10404.434800 -14502.187363       .028845                    
+P 25 -11718.761438  12329.119625  20791.512833     84.378293                    
+V 25 -24475.509286  -7462.013057  -9517.454590       .008336                    
+P 26  -2205.109013 -16242.988686 -21062.706385    317.407737                    
+V 26  20823.210455 -15810.957134  10749.363917       .055019                    
+P 27  25830.697019   3507.415380  -5670.478451    513.933099                    
+V 27   6703.245791   4813.524099  30185.408133       .062910                    
+P 28  13101.666147  -9698.824617 -20686.293456     46.484733                    
+V 28   5362.368495  26324.406080  -9175.842776       .001182                    
+P 29   2685.701496 -18652.032443 -18392.106870    177.423128                    
+V 29  18887.740762 -14709.301195  17564.904576      -.190366                    
+P 30 -15821.763475 -10613.734563  18300.958488    443.184214                    
+V 30  -3219.963867 -23615.911870 -16147.664642      -.144203                    
+*  2005  1 20 21 45   .00000000                                                 
+P  1 -13600.856430  20825.398050   9470.006281    383.976754                    
+V  1  -9979.941487   6454.554343 -29142.075836       .020869                    
+P  2   2124.986329 -15117.451901  21435.741243    -42.226262                    
+V  2  26894.135221   7615.743365   2586.997325       .055712                    
+P  3  -6999.707689  22210.996699 -12652.001968     78.293565                    
+V  3 -13103.491653   9838.604165  25028.193261       .030301                    
+P  4  16287.169715  -8992.216037  19078.526960    440.085576                    
+V  4  22651.915211   8403.327326 -15042.382944      -.206939                    
+P  5 -13450.787506 -21395.396801   8285.729128     73.326543                    
+V  5   -302.108140 -11189.433284 -28666.614895       .024955                    
+P  6 -18875.447483   -782.318291  18901.797611   -157.545136                    
+V  6  15485.107891 -17963.447110  14759.988215       .877687                    
+P  7  20349.048428 -15922.472954  -5384.382826     60.948013                    
+V  7  -2383.916682   7921.784296 -30276.197941      -.303291                    
+P  8  24164.810862   -434.641651 -11594.926213    -19.137817                    
+V  8  12995.196246   6291.736398  26912.125432      -.011751                    
+P  9 -17239.072667 -14875.615204 -14433.692804    -24.986870                    
+V  9  17331.387370   2403.896252 -23641.759059      -.018271                    
+P 10   -547.547783 -25266.119297   7603.797039     57.577728                    
+V 10   4485.784559   9019.474008  30344.748752       .007189                    
+P 11  18273.556568  13868.402238 -13565.500629    186.788269                    
+V 11 -17598.990487    480.777616 -23064.667022       .036992                    
+P 13  18025.756686    730.035055  19413.308408    -13.736180                    
+V 13 -17377.709290  17620.552236  15496.174505       .009763                    
+P 14 -21117.438488  15129.890300  -5428.536697    -31.490666                    
+V 14   3553.977447  -6350.909861 -31212.501316      -.000742                    
+P 15 -19185.912009   5966.735425 -17721.905685    378.300717                    
+V 15 -20103.111787  -8998.735574  18662.516845       .053053                    
+P 16  -3887.514514  22773.678816  13140.892005      1.977597                    
+V 16  -6113.687007 -15575.427112  25367.653692      -.001582                    
+P 17  -8214.385259 -17547.119683  18735.909919    -91.577929                    
+V 17  21551.779611   8106.608543  16518.841980       .193188                    
+P 18 -15743.234951  -4706.583724 -20858.299903   -119.234084                    
+V 18  -4508.700755 -26184.844506   9038.171232      -.037257                    
+P 19    622.472272  17688.414299 -19714.460683    -11.939104                    
+V 19 -19937.780826  15530.074050  13208.485163      -.008480                    
+P 20  12616.934601  21047.035107  10115.458329    -90.661011                    
+V 20    806.262100  13148.315274 -28142.342786       .026922                    
+P 21 -25843.482495  -4853.779282  -5190.562668     88.094858                    
+V 21  -5297.490181  -4636.641997  30317.877406       .010716                    
+P 22 -13464.592123   8413.769978 -21132.365366     16.286027                    
+V 22  -5681.230427 -26622.028443  -6903.333858       .003701                    
+P 23  11569.375282   9825.517750  21707.572622    211.529890                    
+V 23 -19918.051144  19354.790094   1741.397039       .005646                    
+P 24  18465.522370  -6854.542059  18137.166777     89.677458                    
+V 24  20758.988016   8606.067177 -18032.311573       .028845                    
+P 25 -13885.761058  11725.786244  19764.336898     84.380389                    
+V 25 -23596.778924  -5951.358203 -13277.874513       .008344                    
+P 26   -414.940425 -17679.121732 -19919.060530    317.412761                    
+V 26  18911.691419 -16024.183627  14632.804059       .055008                    
+P 27  26295.255381   3884.024573  -2913.412304    513.939095                    
+V 27   3588.900363   3615.736730  30995.216281       .062905                    
+P 28  13652.333943  -7304.836276 -21327.283291     46.484976                    
+V 28   6872.017378  26782.514831  -5048.846872       .001191                    
+P 29   4277.919066 -19955.143027 -16653.578380    177.406071                    
+V 29  16467.489162 -14164.069501  21011.577078      -.190376                    
+P 30 -16141.954961 -12644.208820  16692.011588    443.171302                    
+V 30  -3841.291051 -21443.471123 -19553.191361      -.144214                    
+*  2005  1 20 22  0   .00000000                                                 
+P  1 -14375.359440  21325.050673   6773.656088    383.979027                    
+V  1  -7252.920671   4575.714523 -30691.756109       .020872                    
+P  2   4568.154593 -14492.077347  21478.243466    -42.221260                    
+V  2  27307.960959   6257.224483  -1644.419657       .055701                    
+P  3  -8075.942911  23022.562722 -10296.310783     78.296541                    
+V  3 -10823.730275   8124.879728  27245.614034       .030299                    
+P  4  18264.162525  -8311.344150  17566.149779    440.067303                    
+V  4  21199.508443   6742.261301 -18516.923713      -.206944                    
+P  5 -13451.536408 -22262.351157   5642.135813     73.328325                    
+V  5    352.799118  -8071.462125 -29995.447635       .024962                    
+P  6 -17475.541882  -2482.421590  20066.804856   -157.465998                    
+V  6  15551.388226 -19778.377570  11092.653103       .877642                    
+P  7  20052.036746 -15087.742392  -8053.961753     60.920928                    
+V  7  -4152.184949  10648.116135 -28959.781013      -.303298                    
+P  8  25215.613762     61.601369  -9082.524621    -19.139665                    
+V  8  10298.285362   4783.470626  28841.155022      -.011751                    
+P  9 -15564.241886 -14676.712873 -16436.939761    -24.987528                    
+V  9  19838.479977   1955.829863 -20814.768068      -.018279                    
+P 10    -81.860926 -24317.986540  10260.142602     57.578349                    
+V 10   5916.515582  11995.251093  28598.814289       .007186                    
+P 11  16580.287232  13931.912676 -15519.848963    186.791766                    
+V 11 -19978.707627    980.797352 -20303.133567       .036996                    
+P 13  16455.947377   2410.557870  20635.814253    -13.735270                    
+V 13 -17423.694393  19684.830099  11631.514247       .009765                    
+P 14 -20704.243904  14436.410799  -8182.740907    -31.490646                    
+V 14   5558.696418  -9087.248528 -29903.730146      -.000748                    
+P 15 -20921.428223   5236.811619 -15898.414064    378.304928                    
+V 15 -18385.477029  -7242.475698  21802.696592       .053053                    
+P 16  -4508.086449  21267.477020  15304.642054      1.977662                    
+V 16  -7711.342678 -17824.145608  22647.209513      -.001577                    
+P 17  -6181.840350 -16843.344106  20064.036163    -91.560024                    
+V 17  23556.937983   7475.110833  12952.064815       .193215                    
+P 18 -16198.300530  -6998.974022 -19867.731460   -119.237695                    
+V 18  -5561.124765 -24679.660918  12941.447623      -.037259                    
+P 19  -1080.581354  19081.498419 -18358.282173    -11.939867                    
+V 19 -17870.664097  15348.876410  16884.753644      -.008477                    
+P 20  12679.042203  22087.271763   7502.729079    -90.658555                    
+V 20    502.747632   9950.312149 -29834.517205       .026926                    
+P 21 -26183.283679  -5214.703702  -2426.114140     88.095982                    
+V 21  -2220.096887  -3443.015958  31028.385349       .010707                    
+P 22 -14043.936443   6004.181129 -21567.364617     16.286318                    
+V 22  -7183.342593 -26832.786068  -2748.890889       .003703                    
+P 23   9821.493389  11615.156989  21675.502140    211.530544                    
+V 23 -18859.995850  20348.163994  -2453.653235       .005648                    
+P 24  20261.831766  -6158.174552  16366.420779     89.680156                    
+V 24  19078.977322   6889.643052 -21263.080336       .028844                    
+P 25 -15951.466227  11255.537406  18407.944462     84.381006                    
+V 25 -22228.081043  -4518.499825 -16823.415946       .008352                    
+P 26   1191.881238 -19112.560017 -18435.602569    317.417994                    
+V 26  16763.292935 -15745.276173  18289.614423       .054997                    
+P 27  26472.369075   4169.613049   -107.145539    513.945051                    
+V 27    330.368543   2796.210107  31278.440328       .062899                    
+P 28  14336.775969  -4894.630140 -21592.702683     46.485010                    
+V 28   8319.951261  26686.017815   -842.439321       .001200                    
+P 29   5646.434697 -21186.239196 -14621.265029    177.388689                    
+V 29  13933.466015 -13108.652467  24083.755794      -.190387                    
+P 30 -16502.677942 -14463.509681  14791.871487    443.158410                    
+V 30  -4112.525005 -18936.394282 -22609.371598      -.144226                    
+*  2005  1 20 22 15   .00000000                                                 
+P  1 -14911.628542  21636.550182   3961.194401    383.981269                    
+V  1  -4700.493328   2281.571689 -31718.244940       .020875                    
+P  2   7023.837408 -13994.175056  21140.557435    -42.216266                    
+V  2  27169.715368   4798.028904  -5848.796996       .055691                    
+P  3  -8951.192635  23661.175367  -7761.851911     78.299479                    
+V  3  -8650.871253   6001.727937  28994.628115       .030296                    
+P  4  20088.913936  -7774.620294  15755.147571    440.048539                    
+V  4  19275.399927   5213.901575 -21669.428905      -.206948                    
+P  5 -13375.306882 -22848.798539   2902.018632     73.329839                    
+V  5   1406.354876  -4971.357092 -30808.914072       .024968                    
+P  6 -16088.724090  -4334.374192  20892.850454   -157.386701                    
+V  6  15200.618925 -21325.174382   7237.926196       .877596                    
+P  7  19613.750854 -14003.521891 -10581.636525     60.893733                    
+V  7  -5517.835284  13450.582047 -27126.811817      -.303305                    
+P  8  26009.203233    435.851925  -6417.981553    -19.140481                    
+V  8   7291.786279   3590.365804  30288.321698      -.011751                    
+P  9 -13677.964458 -14533.674453 -18170.247673    -24.989336                    
+V  9  22018.640811   1171.257320 -17651.148760      -.018286                    
+P 10    526.094927 -23118.042712  12736.560318     57.579051                    
+V 10   7635.775276  14602.549682  26352.402388       .007183                    
+P 11  14687.482780  14053.231689 -17209.594569    186.794980                    
+V 11 -22022.329987   1756.611641 -17192.790731       .037000                    
+P 13  14903.937926   4264.835143  21500.972604    -13.734274                    
+V 13 -16988.736602  21467.082913   7566.690242       .009766                    
+P 14 -20130.011655  13490.626619 -10795.685688    -31.490774                    
+V 14   7126.071025 -11941.982051 -28077.843044      -.000755                    
+P 15 -22481.795192   4658.134594 -13808.391969    378.308242                    
+V 15 -16218.277341  -5651.106825  24577.345071       .053054                    
+P 16  -5280.581574  19578.976093  17205.805704      1.977512                    
+V 16  -9476.224140 -19618.639124  19540.850940      -.001573                    
+P 17  -3985.776763 -16211.102751  21060.376879    -91.542192                    
+V 17  25174.464470   6527.253056   9155.270647       .193242                    
+P 18 -16735.478890  -9135.866114 -18535.758162   -119.240765                    
+V 18  -6321.998739 -22739.722081  16614.244040      -.037260                    
+P 19  -2588.918020  20436.776072 -16684.071464    -11.940596                    
+V 19 -15626.049082  14687.097476  20265.661491      -.008474                    
+P 20  12694.553487  22836.375544   4760.713218    -90.656335                    
+V 20   -229.331907   6695.130352 -31011.385648       .026931                    
+P 21 -26238.333775  -5484.707482    378.950166     88.096891                    
+V 21   1015.959540  -2621.686758  31219.274040       .010698                    
+P 22 -14754.479005   3600.206901 -21625.680104     16.286858                    
+V 22  -8581.734239 -26499.562160   1455.041796       .003705                    
+P 23   8185.013145  13475.275583  21267.093164    211.531341                    
+V 23 -17454.435145  20911.644192  -6609.444953       .005648                    
+P 24  21885.935466  -5609.407767  14320.411143     89.684163                    
+V 24  16939.410602   5339.562507 -24140.729052       .028843                    
+P 25 -17872.985696  10907.684522  16744.318329     84.381954                    
+V 25 -20398.902843  -3244.467894 -20095.864598       .008359                    
+P 26   2598.046240 -20497.721522 -16635.696277    317.422604                    
+V 26  14468.173753 -14948.679572  21654.322502       .054987                    
+P 27  26353.103301   4399.417444   2700.969585    513.950890                    
+V 27  -2982.071109   2378.594783  31037.352599       .062892                    
+P 28  15145.386559  -2517.495676 -21478.813588     46.485299                    
+V 28   9616.786809  26052.070151   3367.617846       .001208                    
+P 29   6785.577348 -22299.619803 -12331.375013    177.371123                    
+V 29  11387.173553 -11551.211533  26727.119941      -.190398                    
+P 30 -16870.459441 -16045.235427  12634.369976    443.145465                    
+V 30  -3992.651242 -16178.745765 -25264.306535      -.144237                    
+*  2005  1 20 22 30   .00000000                                                 
+P  1 -15229.190183  21724.983658   1080.679288    383.981586                    
+V  1  -2405.736999   -370.386196 -32201.457484       .020878                    
+P  2   9441.969152 -13628.720073  20428.568908    -42.211384                    
+V  2  26474.330029   3329.212864  -9949.615950       .055681                    
+P  3  -9638.677321  24091.993494  -5092.326592     78.302586                    
+V  3  -6663.611682   3516.409064  30242.314490       .030294                    
+P  4  21720.998388  -7366.478256  13676.861597    440.030131                    
+V  4  16927.235811   3897.311321 -24448.515910      -.206953                    
+P  5 -13187.059081 -23160.456015    112.350381     73.331702                    
+V  5   2837.142727  -1979.740967 -31095.382353       .024976                    
+P  6 -14750.595930  -6310.748091  21365.923021   -157.307558                    
+V  6  14478.106120 -22532.168272   3259.647562       .877551                    
+P  7  19071.653521 -12667.196655 -12922.159695     60.866602                    
+V  7  -6456.523306  16234.335827 -24806.568392      -.303313                    
+P  8  26521.234376    718.843301  -3645.828468    -19.142210                    
+V  8   4055.543572   2762.598115  31229.022658      -.011751                    
+P  9 -11612.619818 -14474.227218 -19605.552816    -24.990997                    
+V  9  23808.103489    109.037370 -14201.203713      -.018294                    
+P 10   1298.978739 -21702.659533  14989.775350     57.578257                    
+V 10   9568.008352  16772.677671  23646.271745       .007180                    
+P 11  12628.126664  14254.634075 -18605.640429    186.798316                    
+V 11 -23671.088584   2749.811331 -13785.586423       .037005                    
+P 13  13410.975826   6263.671481  21993.938758    -13.733243                    
+V 13 -16120.940215  22884.355303   3372.614743       .009766                    
+P 14 -19435.588160  12286.205585 -13222.163686    -31.490812                    
+V 14   8226.186170 -14818.217237 -25765.939007      -.000762                    
+P 15 -23828.771583   4212.376866 -11486.828771    378.311808                    
+V 15 -13653.324997  -4300.544727  26940.978475       .053055                    
+P 16  -6216.286029  17750.927744  18812.023969      1.977582                    
+V 16 -11323.572968 -20920.208733  16102.304382      -.001570                    
+P 17  -1663.883807 -15675.913703  21706.842265    -91.524242                    
+V 17  26344.212245   5330.550941   5187.176949       .193269                    
+P 18 -17325.634866 -11081.141458 -16885.940649   -119.243723                    
+V 18  -6729.174305 -20434.071916  19994.781992      -.037266                    
+P 19  -3890.748891  21710.508043 -14721.080642    -11.941194                    
+V 19 -13297.409302  13537.019280  23292.872862      -.008471                    
+P 20  12625.141245  23293.630600   1936.729545    -90.653874                    
+V 20  -1381.503719   3481.018183 -31653.560242       .026937                    
+P 21 -25998.307391  -5698.537880   3177.667376     88.097660                    
+V 21   4322.029216  -2197.467234  30887.501375       .010690                    
+P 22 -15582.897256   1249.896984 -21306.207482     16.287337                    
+V 22  -9788.642907 -25645.703042   5633.977201       .003705                    
+P 23   6687.808770  15364.895765  20489.169436    211.531963                    
+V 23 -15778.710924  20997.117155 -10653.047095       .005646                    
+P 24  23298.658410  -5189.753648  12033.146239     89.686785                    
+V 24  14391.417192   4032.431040 -26616.686776       .028841                    
+P 25 -19610.793123  10664.534903  14800.523788     84.382381                    
+V 25 -18154.342061  -2203.382995 -23040.626625       .008367                    
+P 26   3794.593591 -21787.583877 -14548.453708    317.427362                    
+V 26  12121.116147 -13628.137248  24664.877268       .054976                    
+P 27  25936.723284   4610.025551   5464.149337    513.957067                    
+V 27  -6257.009852   2369.242232  30282.227363       .062886                    
+P 28  16060.745162   -220.314131 -20988.675460     46.485459                    
+V 28  10678.847139  24916.814714   7506.282116       .001215                    
+P 29   7698.744331 -23251.220633  -9824.634862    177.354239                    
+V 29   8927.943610  -9519.844938  28895.738127      -.190408                    
+P 30 -17208.870194 -17370.902601  10257.667037    443.132603                    
+V 30  -3457.203560 -13261.839767 -27473.837088      -.144249                    
+*  2005  1 20 22 45   .00000000                                                 
+P  1 -15354.553935  21561.315475  -1818.432745    383.982553                    
+V  1   -440.250800  -3307.419986 -32130.476095       .020881                    
+P  2  11772.935049 -13392.481190  19354.973100    -42.206275                    
+V  2  25236.866518   1941.428332 -13872.340537       .055671                    
+P  3 -10158.306894  24285.118783  -2334.008920     78.305325                    
+V  3  -4931.409896    731.182553  30964.535049       .030292                    
+P  4  23124.948210  -7064.668268  11366.972575    440.011817                    
+V  4  14217.204589   2861.483351 -26809.241460      -.206957                    
+P  5 -12854.416393 -23210.961539  -2679.247671     73.333583                    
+V  5   4607.589281    818.521030 -30852.069219       .024983                    
+P  6 -13492.074265  -8378.129469  21477.856210   -157.228409                    
+V  6  13442.311512 -23338.434007   -776.290997       .877506                    
+P  7  18464.595487 -11084.815227 -15033.364282     60.839632                    
+V  7  -6961.869194  18902.351918 -22038.150703      -.303320                    
+P  8  26734.955363    945.133235   -812.465316    -19.143893                    
+V  8    677.961761   2334.706631  31646.399983      -.011750                    
+P  9  -9405.780134 -14520.293746 -20719.494475    -24.991459                    
+V  9  25155.557390  -1161.093890 -10519.041800      -.018301                    
+P 10   2252.150212 -20113.650103  16980.563495     57.577903                    
+V 10  11627.122432  18453.782268  20529.519861       .007178                    
+P 11  10439.918868  14552.684057 -19683.803539    186.801722                    
+V 11 -24879.266687   3892.321583 -10138.633678       .037009                    
+P 13  12013.248888   8370.933965  22106.356730    -13.732192                    
+V 13 -14884.243668  23865.948081   -877.648351       .009765                    
+P 14 -18663.664011  10825.700282 -15420.156211    -31.490903                    
+V 14   8848.091486 -17616.041971 -23007.678492      -.000768                    
+P 15 -24929.422750   3874.846147  -8972.529387    378.316404                    
+V 15 -10756.399173  -3255.869998  28854.392179       .053057                    
+P 16  -7318.609294  15828.769951  20096.024996      1.977606                    
+V 16 -13163.686629 -21708.019775  12390.726961      -.001569                    
+P 17    741.344065 -15256.752699  21990.801383    -91.506899                    
+V 17  27019.901215   3962.445238   1110.270265       .193295                    
+P 18 -17934.668065 -12805.437928 -14947.161257   -119.247273                    
+V 18  -6734.822371 -17843.320183  23026.730664      -.037272                    
+P 19  -4982.763670  22859.100718 -12503.530232    -11.941675                    
+V 19 -10979.062405  11909.600221  25914.472482      -.008471                    
+P 20  12434.058911  23467.054053   -920.574467    -90.651170                    
+V 20  -2927.224114    403.186681 -31750.935054       .026942                    
+P 21 -25461.020278  -5892.421020   5923.162508     88.098669                    
+V 21   7606.374492  -2178.311550  30038.062305       .010682                    
+P 22 -16508.254397  -1001.633788 -20614.537837     16.287618                    
+V 22 -10723.216334 -24312.857576   9713.853737       .003704                    
+P 23   5350.367859  17239.470848  19355.046809    211.532707                    
+V 23 -13919.073501  20573.675066 -14513.345590       .005642                    
+P 24  24466.094689  -4874.291662   9542.743235     89.690424                    
+V 24  11500.636455   3034.124622 -28648.342385       .028839                    
+P 25 -21130.072439  10502.144051  12608.345997     84.382829                    
+V 25 -15553.694291  -1459.599825 -25607.546430       .008375                    
+P 26   4781.164938 -22935.463271 -12208.368195    317.432509                    
+V 26   9817.882757 -11797.501660  27263.968942       .054965                    
+P 27  25230.652847   4837.822187   8136.874576    513.962764                    
+V 27  -9405.070195   2757.369380  29030.797304       .062880                    
+P 28  17058.287995   1954.080423 -20132.013991     46.485621                    
+V 28  11431.614403  23333.707816  11500.693206       .001221                    
+P 29   8398.023927 -24000.364915  -7145.495850    177.337084                    
+V 29   6648.929832  -7061.479562  30552.886901      -.190418                    
+P 30 -17480.061395 -18430.438382   7703.523640    443.119743                    
+V 30  -2499.199503 -10280.656714 -29202.192336      -.144260                    
+*  2005  1 20 23  0   .00000000                                                 
+P  1 -15320.050093  21123.648440  -4686.129480    383.982777                    
+V  1   1138.640357  -6444.113868 -31503.917290       .020886                    
+P  2  13969.363177 -13274.232519  17939.025219    -42.201332                    
+V  2  23491.937958    721.048199 -17545.983572       .055660                    
+P  3 -10535.720217  24216.849860    465.073247     78.309054                    
+V  3  -3511.686439  -2278.921357  31146.541863       .030289                    
+P  4  24271.463203  -6841.283034   8864.894018    439.993551                    
+V  4  11219.754436   2162.755326 -28713.686246      -.206962                    
+P  5 -12349.058615 -23021.216578  -5425.298910     73.335693                    
+V  5   6665.414297   3347.362246 -30084.945881       .024991                    
+P  6 -12338.306235 -10498.193987  21226.470328   -157.149262                    
+V  6  12162.574181 -23696.127997  -4802.906913       .877461                    
+P  7  17831.178013  -9271.109012 -16877.022885     60.812504                    
+V  7  -7045.785649  21359.365971 -18869.882483      -.303328                    
+P  8  26641.842278   1151.631420   2034.551970    -19.145228                    
+V  8  -2747.052406   2324.241074  31531.671969      -.011748                    
+P  9  -7099.009936 -14687.125317 -21493.730525    -24.992447                    
+V  9  26023.839817  -2561.070331  -6661.978003      -.018310                    
+P 10   3392.877924 -18396.663203  18674.456591     57.578418                    
+V 10  13720.024215  19612.728890  17058.554969       .007177                    
+P 11   8164.020543  14957.483477 -20425.240826    186.805044                    
+V 11 -25615.907958   5109.082536  -6313.330880       .037012                    
+P 13  10740.575505  10544.785860  21836.493800    -13.731343                    
+V 13 -13355.762563  24356.231488  -5110.199926       .009763                    
+P 14 -17857.047104   9120.647248 -17351.574461    -31.491101                    
+V 14   9000.120420 -20236.369080 -19850.606137      -.000774                    
+P 15 -25757.280249   3615.574250  -6307.522628    378.320702                    
+V 15  -7605.002798  -2568.870829  30285.240262       .053060                    
+P 16  -8582.796807  13858.985997  21036.067553      1.977614                    
+V 16 -14905.439169 -21979.723394   8469.689556      -.001569                    
+P 17   3183.944429 -14965.281598  21905.391643    -91.488934                    
+V 17  27171.025461   2507.533745  -3009.873104       .193322                    
+P 18 -18524.890122 -14287.053304 -12753.094882   -119.250607                    
+V 18  -6307.299014 -15056.532115  25660.049716      -.037277                    
+P 19  -5870.039533  23840.777221 -10069.990587    -11.942404                    
+V 19  -8762.469657   9834.136710  28085.847965      -.008473                    
+P 20  12087.727071  23372.961571  -3762.064258    -90.648758                    
+V 20  -4822.879426  -2449.734793 -31302.796444       .026945                    
+P 21 -24632.563793  -6102.527536   8569.370529     88.099862                    
+V 21  10777.367411  -2555.036426  28683.947056       .010673                    
+P 22 -17502.775972  -3113.781408 -19562.855191     16.288115                    
+V 22 -11314.891109 -22559.275872  13622.458014       .003703                    
+P 23   4185.144278  19052.501000  17884.309684    211.533451                    
+V 23 -11967.196333  19628.991867 -18122.371405       .005636                    
+P 24  25360.818329  -4632.753484   6890.858719     89.693289                    
+V 24   8345.020016   2397.212562 -30199.770300       .028837                    
+P 25 -22401.912699  10391.312182  10203.853724     84.382034                    
+V 25 -12668.527479  -1065.152001 -27751.724004       .008384                    
+P 26   5565.922349 -23896.831874  -9654.827187    317.437248                    
+V 26   7651.414477  -9490.769161  29400.373020       .054955                    
+P 27  24250.155834   5117.476493  10675.534762    513.968747                    
+V 27 -12341.883914   3515.792375  27307.647907       .062873                    
+P 28  18107.272136   3968.358442 -18924.962810     46.485823                    
+V 28  11812.754004  21371.175402  15281.528000       .001227                    
+P 29   8903.470051 -24511.378760  -4341.277168    177.319598                    
+V 29   4633.411078  -4239.990305  31671.635913      -.190429                    
+P 30 -17646.353618 -19222.345778   5016.524860    443.106540                    
+V 30  -1129.363443  -7330.181202 -30422.445350      -.144272                    
+*  2005  1 20 23 15   .00000000                                                 
+P  1 -15162.438603  20398.228334  -7472.711525    383.983719                    
+V  1   2290.152715  -9685.486301 -30330.135835       .020891                    
+P  2  15987.826979 -13255.306225  16206.154033    -42.196186                    
+V  2  21292.306482   -253.511233 -20904.576559       .055650                    
+P  3 -10801.092955  23870.710353   3256.003864     78.312511                    
+V  3  -2447.495716  -5428.881116  30783.399039       .030286                    
+P  4  25138.395229  -6663.994919   6213.117801    439.975348                    
+V  4   8018.891895   1842.714695 -30131.432292      -.206967                    
+P  5 -11647.959855 -22618.470631  -8079.250261     73.338069                    
+V  5   8945.618791   5542.193196 -28808.517564       .024998                    
+P  6 -11307.808006 -12628.972517  20615.626328   -157.070088                    
+V  6  10716.435761 -23572.370438  -8753.112030       .877415                    
+P  7  17208.121598  -7249.155633 -18419.640721     60.785106                    
+V  7  -6738.009794  23515.818573 -15358.442613      -.303335                    
+P  8  26241.947967   1376.031850   4847.250282    -19.146180                    
+V  8  -6123.371023   2731.006791  30884.384384      -.011747                    
+P  9  -4736.533303 -14982.677064 -21915.198731    -24.994140                    
+V  9  26391.180517  -4007.308414  -2689.925881      -.018318                    
+P 10   4719.879235 -16599.443104  20042.348804     57.579369                    
+V 10  15750.429087  20236.201860  13295.926797       .007175                    
+P 11   5843.668623  15472.174897 -20816.792110    186.808353                    
+V 11 -25865.987880   6321.016148  -2374.399310       .037016                    
+P 13   9615.357679  12739.147613  21189.256169    -13.730312                    
+V 13 -11622.627359  24316.866444  -9251.626605       .009760                    
+P 14 -17056.941286   7191.319737 -18982.932964    -31.491137                    
+V 14   8709.448320 -22584.765309 -16349.324084      -.000780                    
+P 15 -26293.279944   3400.606929  -3536.420119    378.325608                    
+V 15  -4285.698007  -2276.048329  31208.553498       .053062                    
+P 16  -9995.962507  11887.438939  21616.290355      1.977736                    
+V 16 -16459.847701 -21751.380682   4406.104400      -.001572                    
+P 17   5615.974578 -14805.341869  21449.761925    -91.470797                    
+V 17  26784.277609   1054.462999  -7105.384656       .193348                    
+P 18 -19056.541755 -15512.555510 -10341.609599   -119.253920                    
+V 18  -5432.378292 -12167.842990  27851.706652      -.037283                    
+P 19  -6565.622310  24617.185565  -7462.690394    -11.943175                    
+V 19  -6732.677288   7357.207225  29770.424990      -.008474                    
+P 20  11557.199676  23035.225388  -6538.962293    -90.646239                    
+V 20  -7009.448444  -4998.966937 -30317.769644       .026947                    
+P 21 -23527.150423  -6363.440360  11071.751037     88.100752                    
+V 21  13746.696017  -3301.647560  26846.018997       .010663                    
+P 22 -18532.912649  -5051.844970 -18169.707567     16.288489                    
+V 22 -11506.351225 -20457.442890  17290.806195       .003701                    
+P 23   3196.235678  20757.240074  16102.470032    211.534182                    
+V 23 -10016.471823  18169.963234 -21416.576560       .005628                    
+P 24  25962.874643  -4430.819901   4122.056238     89.697164                    
+V 24   5012.165559   2158.833669 -31242.404456       .028834                    
+P 25 -23404.308286  10298.793626   7626.889889     84.381789                    
+V 25  -9580.291550  -1057.592353 -29434.322315       .008393                    
+P 26   6165.122383 -24631.101527  -6931.504646    317.442503                    
+V 26   5708.020998  -6761.289714  31030.274503       .054944                    
+P 27  23017.759121   5480.518077  13039.021254    513.974699                    
+V 27 -14990.857627   4602.196708  25143.692576       .062866                    
+P 28  19171.988059   5791.915514 -17389.689184     46.485830                    
+V 28  11774.594425  19109.717319  18784.219315       .001233                    
+P 29   9242.064123 -24755.006037  -1461.267182    177.302720                    
+V 29   2951.560488  -1133.642806  32235.193765      -.190439                    
+P 30 -17671.814016 -19753.541282   2243.270506    443.093644                    
+V 30    624.353092  -4501.809468 -31116.780361      -.144283                    
+*  2005  1 20 23 30   .00000000                                                 
+P  1 -14921.341667  19380.148436 -10129.671283    383.983270                    
+V  1   2991.679913 -12930.525636 -28627.249786       .020898                    
+P  2  17790.386856 -13310.461064  14187.449142    -42.191122                    
+V  2  18706.724765   -915.104648 -23888.499619       .055638                    
+P  3 -10987.761170  23238.205978   5989.873115     78.316932                    
+V  3  -1765.775722  -8626.905662  29880.198919       .030282                    
+P  4  25711.474512  -6497.457127   3456.521512    439.957216                    
+V  4   4705.160463   1926.658778 -31039.935344      -.206973                    
+P  5 -10734.426260 -22035.184404 -10596.225966     73.339855                    
+V  5  11372.930779   7352.128068 -27045.487905       .025006                    
+P  6 -10411.858780 -14726.263153  19655.190268   -156.990872                    
+V  6   9186.658679 -22950.603481 -12560.716208       .877370                    
+P  7  16628.712722  -5049.694202 -19633.158859     60.757880                    
+V  7  -6084.841396  25291.615368 -11567.741910      -.303343                    
+P  8  25543.949391   1655.205584   7577.997140    -19.147241                    
+V  8  -9356.044145   3536.947650  29712.575226      -.011746                    
+P  9  -2363.810518 -15407.245357 -21976.322659    -24.995737                    
+V  9  26251.963821  -5413.708698   1335.227777      -.018327                    
+P 10   6223.209198 -14770.026820  21060.992630     57.579628                    
+V 10  17622.779106  20330.990696   9309.051261       .007174                    
+P 11   3522.711079  16092.720591 -20851.233083    186.811623                    
+V 11 -25630.999254   7448.171562   1611.151990       .037020                    
+P 13   8651.836630  14905.327830  20176.086503    -13.729308                    
+V 13  -9778.444477  23728.348508 -13230.300652       .009756                    
+P 14 -16301.298547   5066.142266 -20285.942462    -31.491184                    
+V 14   8020.905377 -24575.113285 -12564.531185      -.000786                    
+P 15 -26526.444401   3193.449671   -705.731607    378.330015                    
+V 15   -891.103461  -2397.155760  31607.189356       .053065                    
+P 16 -11537.439412   9957.744035  21826.963025      1.977686                    
+V 16 -17743.551321 -21056.698106    269.114009      -.001576                    
+P 17   7989.102806 -14772.739961  20629.238176    -91.452867                    
+V 17  25864.414879   -307.433730 -11107.030372       .193374                    
+P 18 -19489.390887 -16477.080604  -7754.108484   -119.257283                    
+V 18  -4113.817138  -9272.926724  29566.265808      -.037288                    
+P 19  -7089.799051  25154.881149  -4726.766060    -11.943694                    
+V 19  -4965.039097   4540.946364  30940.244618      -.008477                    
+P 20  10819.453393  22484.255262  -9203.680191    -90.643762                    
+V 20  -9414.757177  -7178.449767 -28813.606959       .026949                    
+P 21 -22166.674251  -6706.678952  13387.988230     88.101888                    
+V 21  16432.475232  -4376.265407  24552.808727       .010653                    
+P 22 -19560.645615  -6788.179724 -16459.656853     16.288816                    
+V 22 -11255.942192 -18091.148110  20654.450487       .003699                    
+P 23   2379.398586  22308.425672  14040.515024    211.534935                    
+V 23  -8158.240020  16222.580404 -24338.028758       .005617                    
+P 24  26260.513522  -4231.585240   1283.116032     89.702649                    
+V 24   1596.262903   2339.110732 -31755.646273       .028829                    
+P 25 -24122.925451  10188.679468   4920.490408     84.383124                    
+V 25  -6377.528129  -1458.316369 -30623.350673       .008403                    
+P 26   6602.353170 -25103.298462  -4085.637092    317.447721                    
+V 26   4063.730525  -3680.136746  32118.520264       .054933                    
+P 27  21562.441096   5954.052814  15189.267567    513.980662                    
+V 27 -17285.583962   5960.905591  22575.516670       .062859                    
+P 28  20213.167484   7401.812576 -15553.916960     46.485964                    
+V 28  11285.975846  16638.595847  21950.017991       .001239                    
+P 29   9446.412007 -24709.567228   1444.195756    177.285813                    
+V 29   1657.808177   2168.016469  32237.018039      -.190449                    
+P 30 -17523.760040 -20038.877571   -568.450132    443.080560                    
+V 30   2717.915982  -1879.965076 -31276.580602      -.144294                    
+*  2005  1 20 23 45   .00000000                                                 
+P  1 -14637.560538  18073.721669 -12610.565629    383.985149                    
+V  1   3239.719138 -16076.017021 -26422.974097       .020905                    
+P  2  19345.907296 -13409.027324  11919.036283    -42.186132                    
+V  2  15817.126114  -1210.663132 -26445.634237       .055626                    
+P  3 -11130.716653  22319.276640   8618.681478     78.319679                    
+V  3  -1476.259425 -11777.966571  28452.058667       .030277                    
+P  4  25984.753581  -6304.816687    641.646912    439.938498                    
+V  4   1372.405624   2422.656423 -31424.794720      -.206978                    
+P  5  -9598.896505 -21307.715708 -12933.746404     73.342512                    
+V  5  13864.614878   8741.687299 -24826.319392       .025014                    
+P  6  -9654.173230 -16745.139822  18360.906869   -156.912015                    
+V  6   7658.038340 -21831.372363 -16161.442343       .877324                    
+P  7  16121.398331  -2710.117364 -20495.545968     60.730667                    
+V  7  -5147.132284  26619.520142  -7567.574716      -.303350                    
+P  8  24564.888740   2023.612057  10180.266722    -19.147969                    
+V  8 -12354.690567   4706.659385  28032.815341      -.011745                    
+P  9    -26.068840 -15953.380800 -21675.160060    -24.998426                    
+V  9  25616.982779  -6694.765279   5350.277918      -.018335                    
+P 10   7884.500709 -12954.952361  21713.376714     57.580379                    
+V 10  19246.103103  19923.462938   5168.865499       .007172                    
+P 11   1244.117017  16807.968313 -20527.432305    186.815010                    
+V 11 -24928.922792   8412.932627   5575.121999       .037024                    
+P 13   7855.678543  16993.760464  18814.746341    -13.728142                    
+V 13  -7919.523379  22590.817052 -16977.634504       .009750                    
+P 14 -15623.309952   2780.788612 -21238.010961    -31.491223                    
+V 14   6995.090628 -26132.960505  -8561.946432      -.000792                    
+P 15 -26454.283367   2956.618749   2136.856844    378.335403                    
+V 15   2483.351097  -2934.328825  31472.205365       .053067                    
+P 16 -13179.434497   8109.739830  21664.635905      1.977623                    
+V 16 -18682.073767 -19945.607572  -3871.042509      -.001581                    
+P 17  10256.250046 -14855.342806  19455.399571    -91.435567                    
+V 17  24434.502191  -1491.647408 -14945.271566       .193399                    
+P 18 -19784.351078 -17184.311287  -5034.824228   -119.260639                    
+V 18  -2373.242256  -6465.449189  30776.348511      -.037294                    
+P 19  -7469.093059  25426.626446  -1909.466494    -11.944478                    
+V 19  -3522.346369   1460.722624  31576.376050      -.008481                    
+P 20   9858.450701  21755.743215 -11710.624960    -90.641394                    
+V 20 -11956.234978  -8937.206700 -26816.825694       .026951                    
+P 21 -20579.999609  -7159.333022  15478.668383     88.102621                    
+V 21  18762.159075  -5722.627091  21840.219413       .010643                    
+P 22 -20544.980898  -8303.065658 -14462.815623     16.289377                    
+V 22 -10539.441035 -15552.116688  23654.679928       .003695                    
+P 23   1722.400088  23663.963341  11734.351855    211.535708                    
+V 23  -6478.105679  13831.040352 -26835.496827       .005604                    
+P 24  26250.634006  -3997.137541  -1577.706367     89.706039                    
+V 24  -1805.250383   2940.174406 -31727.389632       .028823                    
+P 25 -24551.602733  10023.906385   2130.234284     84.383845                    
+V 25  -3152.762551  -2271.446425 -31294.405372       .008412                    
+P 26   6907.456648 -25285.554354  -1167.192305    317.452611                    
+V 26   2780.972408   -333.663441  32639.741939       .054923                    
+P 27  19918.621037   6559.650220  17091.734093    513.986457                    
+V 27 -19171.873482   7524.943052  19644.827898       .062852                    
+P 28  21189.526993   8783.404872 -13450.361466     46.486101                    
+V 28  10333.411827  14052.255621  24726.885657       .001244                    
+P 29   9553.234059 -24361.818868   4324.642211    177.268742                    
+V 29    788.893842   5567.678297  31680.701532      -.190460                    
+P 30 -17174.132491 -20100.375709  -3370.483876    443.067722                    
+V 30   5092.955442    460.953048 -30902.350399      -.144306                    
+EOF
diff --git a/trunk/apps/positioning/doc/nga13065.apc b/trunk/apps/positioning/doc/nga13065.apc
new file mode 100644
index 0000000..0185b38
--- /dev/null
+++ b/trunk/apps/positioning/doc/nga13065.apc
@@ -0,0 +1,5879 @@
+#aV2005  1 21  0  0   .00000000      96 DD+AD WGS84 FIT  NGA
+## 1306 432000.00000000   900.00000000 53391  .0000000000000
++   30     1  2  3  4  5  6  7  8  9 10 11 13 14 15 16 17 18
++         19 20 21 22 23 24 25 26 27 28 29 30 31  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%f  0.0000000  0.000000000  0.00000000000  0.000000000000000
+%f  0.0000000  0.000000000  0.00000000000  0.000000000000000
+%i    0    0    0    0      0      0      0      0         0
+%i    0    0    0    0      0      0      0      0         0
+/*      NGA, ST. LOUIS,MO.                                  
+/*   EPHEMERIS COMPUTED FROM  3 DAYS OF DATA                
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+*  2005  1 21  0  0   .00000000                                                 
+P  1 -14351.342998  16492.500777 -14871.864708    383.987480                    
+V  1   3050.035254 -19020.510220 -23754.255236       .020708                    
+P  2  20631.096722 -13516.276792   9441.357960    -42.181217                    
+V  2  12715.297442  -1103.372319 -28532.310038       .055715                    
+P  3 -11265.036215  21122.422207  11096.233344     78.322584                    
+V  3  -1571.102444 -14787.491349  26523.890687       .029769                    
+P  4  25960.754615  -6049.283725  -2184.041373    439.920203                    
+V  4  -1885.562151   3321.238103 -31279.922801      -.207002                    
+P  5  -8239.476904 -20474.877757 -15052.403063     73.344151                    
+V  5  16333.542182   9691.923659 -22188.700496       .024497                    
+P  6  -9030.866031 -18641.503825  16754.181529   -156.833066                    
+V  6   6214.118915 -20232.493933 -19493.944025       .877338                    
+P  7  15708.591883   -273.180877 -20991.260093     60.703531                    
+V  7  -3997.613371  27448.012461  -3432.087104      -.303505                    
+P  8  23329.612015   2511.785600  12609.409980    -19.149171                    
+V  8 -15036.805778   6188.589731  25870.205985      -.011924                    
+P  9   2233.166065 -16606.082763 -21015.490527    -24.999808                    
+V  9  24513.169365  -7768.697851   9291.397822      -.018341                    
+P 10   9677.543475 -11197.549790  21988.980834     57.581765                    
+V 10  20537.659394  19058.260154    948.449368       .007483                    
+P 11   -951.482588  17600.004008 -19850.407371    186.818415                    
+V 11 -23793.575889   9143.166245   9449.259889       .037124                    
+P 13   7223.904823  18955.780607  17128.988476    -13.727460                    
+V 13  -6141.020136  20924.101885 -20429.267322       .009799                    
+P 14 -15050.095075    376.997555 -21822.643456    -31.491395                    
+V 14   5705.861765 -27198.421728  -4411.137512      -.000762                    
+P 15 -26082.895174   2653.242357   4943.234419    378.340458                    
+V 15   5742.807403  -3871.847718  30803.145133       .053000                    
+P 16 -14887.962967   6378.114464  21132.187418      1.977456                    
+V 16 -19212.750162 -18482.247516  -7944.170460      -.001549                    
+P 17  12373.223456 -15033.491485  17946.053233    -91.417743                    
+V 17  22535.483098  -2418.030999 -18551.457152       .193360                    
+P 18 -19905.059734 -17646.140299  -2230.078086   -119.264044                    
+V 18   -249.372947  -3833.633959  31462.965801      -.037274                    
+P 19  -7735.023099  25412.458400    940.671725    -11.945147                    
+V 19  -2452.472997  -1797.683735  31669.162050      -.008398                    
+P 20   8665.936396  20889.221522 -14016.966267    -90.638997                    
+V 20 -14544.063316 -10241.118105 -24362.206161       .027037                    
+P 21 -18802.000349  -7742.855874  17307.926595     88.103643                    
+V 21  20675.154400  -7272.123656  18751.137281       .010713                    
+P 22 -21443.571279  -9585.258432 -12214.281678     16.289471                    
+V 22  -9351.111672 -12936.345717  26239.588310       .003739                    
+P 23   1205.691294  24786.497536   9224.160764    211.536199                    
+V 23  -5052.495867  11056.127571 -28865.401749       .005644                    
+P 24  25938.918927  -3690.197065  -4411.464345     89.707350                    
+V 24  -5095.211788   3945.850068 -31154.443714       .029179                    
+P 25 -24692.561031   9767.838207   -696.470174     84.383941                    
+V 25       .823045  -3483.340499 -31431.344524       .008580                    
+P 26   7115.173647 -25158.343318   1772.054963    317.457635                    
+V 26   1905.763723   3179.683206  32579.289933       .054983                    
+P 27  18124.980759   7312.434698  18715.847041    513.991990                    
+V 27 -20609.434550   9218.508274  16397.954647       .062913                    
+P 28  22059.384243   9930.642273 -11116.091929     46.486211                    
+V 28   8921.539722  11446.625504  27070.212913       .001322                    
+P 29   9601.713365 -23707.483858   7130.370944    177.251660                    
+V 29    362.670931   8964.040399  30579.653747      -.190446                    
+P 30 -16600.687278 -19966.201678  -6115.125382    443.054571                    
+V 30   7679.032442   2459.184682 -30003.488037      -.144291                    
+P 31  15004.397180   6030.012697 -21399.004124      -.235060                    
+V 31  -4825.451422  26040.982617   4312.866793      -.077823                    
+*  2005  1 21  0 15   .00000000                                                 
+P  1 -14100.671156  14658.941156 -16873.758753    383.990365                    
+V  1   2457.042205 -21668.267177 -20666.705152       .020707                    
+P  2  21631.230467 -13594.957180   6798.378943    -42.176300                    
+V  2   9499.191060   -574.138028 -30114.026190       .055706                    
+P  3 -11424.310641  19664.494614  13378.999779     78.326494                    
+V  3  -2025.249120 -17565.058819  24129.948631       .029758                    
+P  4  25650.316173  -5695.700017  -4972.907920    439.901737                    
+V  4  -4978.292943   4595.721643 -30607.615596      -.207006                    
+P  5  -6662.192597 -19576.423336 -16916.481759     73.347490                    
+V  5  18691.410527  10200.939451 -19176.929300       .024502                    
+P  6  -8530.711964 -20373.622320  14861.771022   -156.754238                    
+V  6   4933.928569 -18188.596214 -22500.814852       .877291                    
+P  7  15405.745282   2214.514441 -21111.566235     60.676276                    
+V  7  -2717.683003  27743.467635    761.886384      -.303510                    
+P  8  21869.921138   3144.960678  14823.411837    -19.147840                    
+V  8 -17330.796565   7916.854585  23258.136270      -.011921                    
+P  9   4373.490806 -17343.273418 -20006.838133    -25.001579                    
+V  9  22982.795450  -8560.516630  13094.888667      -.018345                    
+P 10  11569.175342  -9536.382056  21883.906674     57.582876                    
+V 10  21426.215817  17796.286050  -3278.352396       .007477                    
+P 11  -3027.167980  18444.780604 -18831.276815    186.821639                    
+V 11 -22273.355934   9575.189674  13166.436801       .037129                    
+P 13   6745.167277  20745.370144  15148.126457    -13.726733                    
+V 13  -4533.149189  18767.010098 -23526.163382       .009795                    
+P 14 -14601.641742  -2098.848080 -22029.732807    -31.491602                    
+V 14   4237.300935 -27728.518989   -184.277432      -.000767                    
+P 15 -25426.761745   2248.653892   7665.638476    378.346054                    
+V 15   8796.384530  -5176.553260  29608.224540       .053005                    
+P 16 -16624.026730   4791.237931  20238.768912      1.977312                    
+V 16 -19287.211074 -16742.422069 -11881.253243      -.001553                    
+P 17  14300.279888 -15280.729462  16125.096186    -91.400126                    
+V 17  20225.050345  -3016.226909 -21859.134705       .193387                    
+P 18 -19819.357624 -17882.034497    612.485469   -119.267538                    
+V 18   2203.383861  -1457.061428  31615.726431      -.037278                    
+P 19  -7922.677061  25100.483586   3774.663735    -11.945890                    
+V 19  -1786.621639  -5141.288316  31218.298100      -.008401                    
+P 20   7241.937585  19926.490072 -16083.352656    -90.636643                    
+V 20 -17084.595080 -11074.042359 -21492.161853       .027041                    
+P 21 -16872.380843  -8472.063144  18844.053917     88.104424                    
+V 21  22125.042388  -8946.314391  15334.940603       .010705                    
+P 22 -22214.399308 -10632.203341  -9753.483314     16.289578                    
+V 22  -7704.007177 -10340.300421  28364.986912       .003736                    
+P 23    803.374293  25644.806496   6553.669283    211.536430                    
+V 23  -3945.600024   7972.934113 -30392.611698       .005632                    
+P 24  25339.649173  -3275.751796  -7169.337038     89.710574                    
+V 24  -8180.310610   5322.040318 -30042.832998       .029167                    
+P 25 -24556.308564   9385.861864  -3511.155919     84.385218                    
+V 25   2992.821558  -5062.770917 -31026.870380       .008587                    
+P 26   7263.564514 -24711.402984   4679.520713    317.462580                    
+V 26   1465.556664   6753.173423  31933.921590       .054974                    
+P 27  16223.157627   8220.414549  20035.387185    513.997697                    
+V 27 -21573.030454  10959.714941  12885.246475       .062905                    
+P 28  22782.282865  10846.037018  -8591.836997     46.486302                    
+V 28   7072.865177   8915.449544  28943.364099       .001330                    
+P 29   9631.771415 -22751.437133   9813.311256    177.234140                    
+V 29    377.688616  12255.668513  28956.601955      -.190454                    
+P 30 -15787.963517 -19669.430545  -8755.902404    443.041450                    
+V 30  10396.326246   4067.700224 -28597.927604      -.144303                    
+P 31  14630.800950   8357.195649 -20832.973570      -.242319                    
+V 31  -3479.373827  25590.354344   8250.076774      -.077844                    
+*  2005  1 21  0 30   .00000000                                                 
+P  1 -13919.639981  12603.715368 -18580.905179    383.991486                    
+V  1   1512.414701 -23933.024470 -17213.838968       .020706                    
+P  2  22340.531754 -13606.924468   4036.737270    -42.171532                    
+V  2   6269.043289    377.709240 -31165.938549       .055699                    
+P  3 -11639.139530  17970.163288  15426.930748     78.329497                    
+V  3  -2797.524462 -20027.935742  21313.158612       .029746                    
+P  4  25072.145254  -5212.049987  -7677.900585    439.883386                    
+V  4  -7821.899322   6203.160890 -29418.525481      -.207010                    
+P  5  -4880.946441 -18651.510378 -18494.526890     73.348671                    
+V  5  20852.002287  10283.782356 -15841.222295       .024506                    
+P  6  -8135.694564 -21903.597080  12715.384261   -156.675131                    
+V  6   3888.852458 -15750.033542 -25129.575781       .877243                    
+P  7  15220.728348   4704.202318 -20854.700523     60.648794                    
+V  7  -1393.810613  27491.552306   4936.558484      -.303515                    
+P  8  20223.468016   3941.882675  16783.624273    -19.148553                    
+V  8 -19178.674639   9813.576678  20237.983128      -.011919                    
+P  9   6358.948978 -18136.541216 -18664.423934    -25.003881                    
+V  9  21082.150993  -9004.927133  16697.990677      -.018348                    
+P 10  13520.448060  -8003.895370  21400.885650     57.583267                    
+V 10  21854.840854  16212.083310  -7438.276371       .007471                    
+P 11  -4950.964963  19313.001295 -17487.105934    186.824990                    
+V 11 -20429.417497   9656.438401  16661.828223       .037135                    
+P 13   6400.355983  22320.806156  12906.509755    -13.725923                    
+V 13  -3177.611953  16175.885202 -26215.603485       .009793                    
+P 14 -14290.037975  -4597.324086 -21855.736398    -31.491701                    
+V 14   2680.278046 -27698.866235   4045.146399      -.000770                    
+P 15 -24508.240551   1711.918056  10257.439253    378.349975                    
+V 15  11560.489071  -6798.918217  27904.404444       .053009                    
+P 16 -18344.993077   3370.242762  18999.648411      1.977119                    
+V 16 -18873.332966 -14810.633582 -15615.564729      -.001557                    
+P 17  16003.556206 -15564.828660  14022.254756    -91.382728                    
+V 17  17575.813965  -3228.835566 -24805.456960       .193414                    
+P 18 -19500.616055 -17918.125280   3444.677355   -119.271040                    
+V 18   4916.909358    596.188330  31232.923645      -.037282                    
+P 19  -8069.157396  24487.372029   6543.915652    -11.946641                    
+V 19  -1538.231736  -8473.368320  30232.749585      -.008405                    
+P 20   5594.948619  18909.973669 -17874.565878    -90.634236                    
+V 20 -19483.914217 -11438.247615 -18255.995083       .027045                    
+P 21 -14834.317928  -9354.376373  20060.055571     88.105254                    
+V 21  23081.322850 -10659.842585  11646.900645       .010698                    
+P 22 -22817.453611 -11449.906066  -7123.450091     16.289700                    
+V 22  -5629.513815  -7857.128686  29995.144583       .003735                    
+P 23    484.422770  26214.965722   3769.362730    211.536660                    
+V 23  -3206.817601   4668.012733 -31391.063369       .005622                    
+P 24  24475.198429  -2722.626909  -9803.466970     89.713825                    
+V 24 -10974.585723   7017.811234 -28407.953906       .029155                    
+P 25 -24161.237067   8846.936012  -6265.114886     84.384640                    
+V 25   5739.011226  -6961.796059 -30082.989887       .008595                    
+P 26   7392.270571 -23944.290351   7502.858342    317.467506                    
+V 26   1467.878208  10276.070587  30712.194208       .054966                    
+P 27  14256.354065   9284.058596  21028.829727    514.003293                    
+V 27 -22053.202442  12663.406668   9160.588281       .062897                    
+P 28  23320.563619  11540.307722  -5921.248985     46.486290                    
+V 28   4826.833578   6546.784953  30318.055274       .001339                    
+P 29   9682.340757 -21507.545727  12327.833248    177.216946                    
+V 29    813.544144  15344.792614  26842.939807      -.190462                    
+P 30 -14727.994748 -19246.648333 -11248.323596    443.028582                    
+V 30  13158.633917   5255.708903 -26711.668470      -.144314                    
+P 31  14376.376428  10621.325966 -19917.750125      -.249367                    
+V 31  -2190.991418  24641.930750  12061.999545      -.077865                    
+*  2005  1 21  0 45   .00000000                                                 
+P  1 -13836.993566  10364.703556 -19963.098545    383.993151                    
+V  1    282.977645 -25741.409736 -13456.128140       .020705                    
+P  2  22762.201173 -13514.803785   1204.862064    -42.166706                    
+V  2   3123.471169   1734.482741 -31673.112648       .055694                    
+P  3 -11935.755406  16071.075285  17204.198049     78.330278                    
+V  3  -3832.405635 -22104.300583  18124.253881       .029735                    
+P  4  24252.090940  -4570.859444 -10253.297622    439.865019                    
+V  4 -10342.026077   8085.885979 -27731.535502      -.207015                    
+P  5  -2917.187165 -17737.204635 -19759.840466     73.350857                    
+V  5  22734.367266   9971.728019 -12236.955933       .024511                    
+P  6  -7821.825536 -23198.708487  10351.195761   -156.596254                    
+V  6   3139.761629 -12981.203628 -27333.624328       .877195                    
+P  7  15153.542860   7146.718364 -20225.877224     60.621402                    
+V  7   -113.730144  26697.771504   9014.935272      -.303520                    
+P  8  18432.424195   4913.855369  18455.467244    -19.149845                    
+V  8 -20538.325348  11791.794001  16858.677926      -.011917                    
+P  9   8159.214534 -18952.134878 -17009.042401    -25.005186                    
+V  9  18879.719785  -9048.978181  20039.762003      -.018352                    
+P 10  15488.018003  -6625.328639  20549.168193     57.584639                    
+V 10  21783.105237  14390.717562 -11459.927777       .007466                    
+P 11  -6696.891786  20171.225284 -15840.646515    186.828291                    
+V 11 -18333.346491   9347.725490  19874.085280       .037140                    
+P 13   6163.513254  23646.149058  10442.915228    -13.725094                    
+V 13  -2144.378563  13222.499602 -28452.054932       .009791                    
+P 14 -14119.026220  -7067.687060 -21303.735405    -31.491803                    
+V 14   1128.749178 -27104.631866   8203.645446      -.000773                    
+P 15 -23356.767432   1017.231881  12673.925437    378.352982                    
+V 15  13961.908354  -8674.753728  25717.335709       .053015                    
+P 16 -20006.122106   2128.387142  17435.955654      1.976873                    
+V 16 -17956.583819 -12776.798012 -19083.746451      -.001560                    
+P 17  17456.303916 -15849.083462  11672.694441    -91.365137                    
+V 17  14672.796998  -3014.172594 -27332.647694       .193441                    
+P 18 -18928.862992 -17786.061306   6218.544975   -119.274099                    
+V 18   7811.844732   2271.951701  30321.504842      -.037286                    
+P 19  -8211.959254  23578.532596   9201.049275    -11.947481                    
+V 19  -1702.583821 -11697.051236  28730.514574      -.008408                    
+P 20   3741.794393  17881.071999 -19360.103551    -90.631840                    
+V 20 -21651.401368 -11354.143399 -14709.052270       .027049                    
+P 21 -12732.970126 -10389.343831  20934.150082     88.106041                    
+V 21  23530.608348 -12323.661059   7747.469054       .010692                    
+P 22 -23216.330659 -12052.469911  -4370.025205     16.289439                    
+V 22  -3176.164196  -5573.048954  31103.344280       .003738                    
+P 23    214.105296  26481.233989    919.646966    211.537025                    
+V 23  -2868.816131   1236.082099 -31844.197744       .005615                    
+P 24  23375.221985  -2004.925302 -12267.804455     89.715630                    
+V 24 -13402.706713   8967.164132 -26274.567688       .029143                    
+P 25 -23532.916961   8125.030176  -8910.250535     84.385883                    
+V 25   8164.609312  -9117.321834 -28611.323278       .008603                    
+P 26   7540.692679 -22866.539081  10191.025986    317.472401                    
+V 26   1899.855353  13638.176128  28934.525517       .054957                    
+P 27  12267.903191  10496.137151  21679.638555    514.008967                    
+V 27 -22056.501364  14244.157800   5280.867586       .062890                    
+P 28  23640.823830  12031.720477  -3150.141048     46.486437                    
+V 28   2238.284200   4419.791218  31174.575969       .001349                    
+P 29   9789.702914 -19998.175496  14631.493781    177.199739                    
+V 29   1631.966567  18140.892733  24277.952419      -.190470                    
+P 30 -13420.740581 -18736.445860 -13550.579633    443.015139                    
+V 30  15876.566710   6009.545044 -24378.210558      -.144326                    
+P 31  14232.254910  12778.422409 -18667.481125      -.256540                    
+V 31  -1041.335270  23216.685544  15685.078828      -.077886                    
+*  2005  1 21  1  0   .00000000                                                 
+P  1 -13874.881049   7985.697538 -20995.847688    383.993756                    
+V  1  -1152.045840 -27035.863251  -9459.886877       .020705                    
+P  2  22908.100057 -13283.610150  -1647.921265    -42.161741                    
+V  2    155.711995   3460.956667 -31630.552331       .055690                    
+P  3 -12334.835034  14004.744650  18679.852473     78.331974                    
+V  3  -5062.394477 -23736.015028  14620.737561       .029724                    
+P  4  23222.165000  -3750.430863 -12655.439084    439.846573                    
+V  4 -12476.486337  10173.585059 -25573.534514      -.207019                    
+P  5   -799.298583 -16867.073582 -20690.910072     73.353146                    
+V  5  24265.821509   9310.976299  -8423.847417       .024516                    
+P  6  -7560.206806 -24232.582876   7809.276090   -156.517309                    
+V  6   2734.510459  -9958.315494 -29073.126772       .877148                    
+P  7  15196.381697   9494.277593 -19237.140470     60.593949                    
+V  7   1037.392519  25387.148988  12922.510962      -.303525                    
+P  8  16541.972575   6064.072002  19809.079657    -19.150031                    
+V  8 -21385.164581  13758.805170  13176.029246      -.011916                    
+P  9   9750.589402 -19752.180563 -15066.855704    -25.008141                    
+V  9  16453.888109  -8654.356263  23062.025716      -.018354                    
+P 10  17425.705787  -5417.920634  19344.300592     57.587226                    
+V 10  21188.619449  12424.302508 -15274.986532       .007459                    
+P 11  -8245.777239  20983.154826 -13919.972519    186.831626                    
+V 11 -16064.415056   8624.996095  22746.471623       .037145                    
+P 13   6003.016865  24692.514187   7799.866185    -13.724161                    
+V 13  -1488.945878   9991.365726 -30197.906687       .009789                    
+P 14 -14083.897103  -9459.649210 -20383.375816    -31.491977                    
+V 14   -324.061674 -25960.741817  12219.040180      -.000776                    
+P 15 -22007.795301    145.145105  14873.078540    378.358176                    
+V 15  15940.567685 -10727.506251  23081.162789       .053021                    
+P 16 -21562.186076   1070.723304  15574.332308      1.976738                    
+V 16 -16540.713412 -10732.764226 -22226.836196      -.001563                    
+P 17  18639.870562 -16093.828625   9116.496881    -91.347466                    
+V 17  11610.323998  -2348.464737 -29389.479954       .193468                    
+P 18 -18091.667866 -17521.666561   8887.145472   -119.278001                    
+V 18  10800.468863   3531.875675  28896.928192      -.037288                    
+P 19  -8387.344816  22387.965000  11700.698893    -11.948288                    
+V 19  -2257.107289 -14718.889304  26738.241909      -.008411                    
+P 20   1707.177439  16878.564804 -20514.681845    -90.629397                    
+V 20 -23503.173060 -10859.326903 -10911.793383       .027053                    
+P 21 -10613.906396 -11568.461555  21450.199065     88.107139                    
+V 21  23477.210139 -13848.460558   3701.448084       .010687                    
+P 22 -23379.699045 -12461.320962  -1541.036270     16.290065                    
+V 22   -407.777593  -3564.055668  31672.250229       .003743                    
+P 23    -44.446908  26436.627824  -1946.019364    211.537307                    
+V 23  -2946.275582  -2223.579002 -31745.203012       .005609                    
+P 24  22075.565037  -1103.279527 -14518.943398     89.717983                    
+V 24 -15402.902173  11091.445431 -23676.612318       .029131                    
+P 25 -22703.111963   7200.393460 -11399.950243     84.386895                    
+V 25  10207.230769 -11453.319972 -26633.231436       .008610                    
+P 26   7746.168808 -21497.403887  12695.343455    317.477509                    
+V 26   2728.673778  16734.422475  26632.900727       .054949                    
+P 27  10299.836189  11841.832235  21976.512648    514.014881                    
+V 27 -21605.223219  15619.262251   1305.441519       .062882                    
+P 28  23715.212626  12345.158132   -325.711014     46.486388                    
+V 28   -624.637250   2601.917150  31501.868167       .001358                    
+P 29   9985.954274 -18253.389574  16685.708181    177.182620                    
+V 29   2778.566635  20563.944778  21307.947111      -.190478                    
+P 30 -11874.226134 -18177.861510 -15624.189875    443.001788                    
+V 30  18460.826433   6332.916681 -21637.912097      -.144337                    
+P 31  14182.500193  14787.121852 -17101.950885      -.263674                    
+V 31   -105.913740  21351.690399  19057.765666      -.077906                    
+*  2005  1 21  1 15   .00000000                                                 
+P  1 -14047.884964   5514.869172 -21660.846021    383.995275                    
+V  1  -2704.316529 -27776.935411  -5296.016243       .020705                    
+P  2  22798.107579 -12882.263958  -4472.278899    -42.156787                    
+V  2  -2549.843343   5505.875994 -31043.020848       .055686                    
+P  3 -12850.547427  11813.217189  19828.380992     78.334583                    
+V  3  -6410.885130 -24880.825752  10865.704124       .029714                    
+P  4  22019.343765  -2735.869417 -14843.433440    439.827929                    
+V  4 -14177.471904  12385.860329 -22979.091227      -.207024                    
+P  5   1438.268912 -16069.922395 -21271.760583     73.356040                    
+V  5  25384.659088   8360.806783  -4465.080446       .024520                    
+P  6  -7318.297289 -24986.136859   5132.945383   -156.437994                    
+V  6   2705.906336  -6766.679429 -30315.832382       .877100                    
+P  7  15334.027241  11702.185069 -17907.067927     60.566691                    
+V  7   1980.635944  23603.069016  16588.854378      -.303530                    
+P  8  14598.678434   7387.256159  20819.904425    -19.152103                    
+V  8 -21713.177567  15619.720291   9251.955201      -.011914                    
+P  9  11116.775823 -20496.085998 -12869.099851    -25.010021                    
+V  9  13890.239024  -7799.230370  25710.379752      -.018357                    
+P 10  19286.162544  -4390.440658  17807.797664     57.589180                    
+V 10  20067.862089  10408.309385 -18819.314171       .007451                    
+P 11  -9585.816599  21711.054457 -11758.015924    186.835091                    
+V 11 -13706.520326   7480.499163  25227.940934       .037150                    
+P 13   5882.984684  25439.079186   5022.891737    -13.723126                    
+V 13  -1250.173730   6576.573225 -31424.060273       .009786                    
+P 14 -14171.726378 -11725.136879 -19110.692644    -31.492104                    
+V 14  -1589.445106 -24301.316247  16021.741905      -.000779                    
+P 15 -20501.504087   -916.450286  16816.322756    378.362605                    
+V 15  17451.838810 -12871.077217  20038.173475       .053027                    
+P 16 -22969.120288    194.083236  13446.492301      1.976683                    
+V 16 -14647.761215  -8768.765139 -24991.234463      -.001567                    
+P 17  19544.377460 -16258.124411   6398.005377    -91.330175                    
+V 17   8488.405360  -1227.348556 -30932.708859       .193495                    
+P 18 -16984.752896 -17163.453932  11405.301142   -119.281604                    
+V 18  13789.879482   4354.726753  26982.910208      -.037288                    
+P 19  -8628.776326  20937.795797  14000.267640    -11.949052                    
+V 19  -3162.372319 -17452.285549  24290.716343      -.008413                    
+P 20   -477.074016  15937.132325 -21318.651105    -90.626988                    
+V 20 -24965.267553 -10006.983492  -6928.790236       .027057                    
+P 21  -8521.511074 -12875.307633  21598.057022     88.108149                    
+V 21  22943.076280 -15148.181501   -422.956908       .010681                    
+P 22 -23282.569168 -12704.155936   1314.558414     16.290245                    
+V 22   2598.987822  -1893.069921  31694.086051       .003746                    
+P 23   -328.591949  26083.162994  -4778.005733    211.537466                    
+V 23  -3435.365010  -5610.899532 -31097.063376       .005605                    
+P 24  20616.928223     -5.860869 -16516.931468     89.720855                    
+V 24 -16929.405987  13302.318400 -20656.819578       .029120                    
+P 25 -21708.545706   6060.596023 -13689.960306     84.387971                    
+V 25  11819.416778 -13883.639181 -24179.735566       .008618                    
+P 26   8042.234910 -19865.198083  14970.506751    317.483037                    
+V 26   3902.964746  19469.282471  23850.224187       .054940                    
+P 27   8391.495545  13299.115329  21913.583388    514.020740                    
+V 27 -20736.654515  16711.673080  -2704.423352       .062874                    
+P 28  23522.517293  12510.957669   2504.236040     46.486555                    
+V 28  -3683.017390   1146.573213  31297.477418       .001369                    
+P 29  10297.656260 -16309.874181  18456.340507    177.166080                    
+V 29   4185.165513  22547.216658  17985.316892      -.190486                    
+P 30 -10104.387337 -17608.830175 -17434.588314    442.988832                    
+V 30  20825.446959   6246.522422 -18537.284573      -.144348                    
+P 31  14204.742493  16610.082996 -15246.355941      -.270461                    
+V 31    548.297997  19099.016782  22121.505191      -.077927                    
+*  2005  1 21  1 30   .00000000                                                 
+P  1 -14362.363806   3003.064011 -21946.323479    383.995137                    
+V  1  -4280.054454 -27944.857333  -1038.635655       .020706                    
+P  2  22459.184060 -12284.942448  -7219.731872    -42.151682                    
+V  2  -4920.692578   7804.075743 -29924.677081       .055682                    
+P  3 -13489.877489   9541.566225  20630.152808     78.337787                    
+V  3  -7795.398944 -25513.906530   6926.554207       .029704                    
+P  4  20684.193276  -1519.860671 -16779.830229    439.809079                    
+V  4 -15413.257804  14635.175277 -19990.024851      -.207028                    
+P  5   3756.094443 -15368.717980 -21492.224921     73.358265                    
+V  5  26042.482767   7191.256236   -426.381151       .024525                    
+P  6  -7061.337708 -25448.259637   2368.057907   -156.359024                    
+V  6   3070.241215  -3497.611276 -31037.787135       .877052                    
+P  7  15544.567191  13730.407095 -16260.338434     60.539413                    
+V  7   2646.674112  21405.350662  19949.037766      -.303535                    
+P  8  12648.797429   8869.635330  21469.196734    -19.153400                    
+V  8 -21535.252230  17281.261307   5153.525992      -.011912                    
+P  9  12249.389121 -21142.086985 -10451.697552    -25.011567                    
+V  9  11278.503561  -6479.556728  27935.257217      -.018359                    
+P 10  21022.578117  -3543.055609  15966.720766     57.589896                    
+V 10  18436.282704   8437.806846 -22033.948430       .007443                    
+P 11 -10712.842241  22317.247258  -9392.009228    186.838496                    
+V 11 -11344.925476   5923.320277  27274.129438       .037153                    
+P 13   5764.844965  25873.790016   2159.739723    -13.722124                    
+V 13  -1448.778414   3078.276459 -32110.369531       .009781                    
+P 14 -14361.945008 -13819.964671 -17507.820945    -31.492311                    
+V 14  -2586.802509 -22178.363666  19545.981924      -.000780                    
+P 15 -18881.326962  -2171.604455  18469.235991    378.367746                    
+V 15  18468.298055 -15013.073979  16638.284974       .053033                    
+P 16 -24185.643760   -512.618040  11088.698473      1.976602                    
+V 16 -12317.378936  -6969.931609 -27329.595336      -.001571                    
+P 17  20169.054449 -16301.540914   3565.045922    -91.313066                    
+V 17   5408.757169    333.439943 -31928.393884       .193522                    
+P 18 -15612.308612 -16751.049017  13730.327362   -119.285212                    
+V 18  16685.366300   4737.070917  24611.067946      -.037285                    
+P 19  -8965.467619  19257.517500  16060.631998    -11.949863                    
+V 19  -4363.721656 -19820.645143  21430.223674      -.008416                    
+P 20  -2773.028902  15086.046502 -21758.318668    -90.624439                    
+V 20 -25976.460646  -8863.703902  -2827.668277       .027060                    
+P 21  -6497.424315 -14285.991486  21373.830670     88.109076                    
+V 21  21967.063600 -16143.479758  -4555.199263       .010674                    
+P 22 -22907.320100 -12813.657691   4147.531307     16.290667                    
+V 22   5757.563905   -607.641254  31170.629217       .003749                    
+P 23   -674.515757  25431.755371  -7527.386406    211.537709                    
+V 23  -4313.966023  -8828.792504 -29912.417756       .005604                    
+P 24  19043.339076   1290.900512 -18226.036705     89.723525                    
+V 24 -17954.306242  15505.192296 -17266.128966       .029108                    
+P 25 -20589.465284   4701.294544 -15739.242709     84.389290                    
+V 25  12970.606986 -16315.312489 -21291.209102       .008625                    
+P 26   8457.050371 -18006.251079  16975.528861    317.488054                    
+V 26   5355.061064  21760.768852  20639.333844       .054931                    
+P 27   6578.237947  14839.384271  21490.559700    514.026512                    
+V 27 -19501.837133  17452.808648  -6686.152709       .062866                    
+P 28  23049.004588  12563.562500   5292.055626     46.486683                    
+V 28  -6850.064149     91.355763  30567.391397       .001378                    
+P 29  10744.717300 -14209.636394  19914.207422    177.149125                    
+V 29   5772.598581  24039.527246  14367.560984      -.190494                    
+P 30  -8134.630194 -17064.694211 -18951.643702    442.975837                    
+V 30  22890.891295   5787.062257 -15128.237198      -.144359                    
+P 31  14271.073217  18215.265677 -13130.989827      -.277729                    
+V 31    865.625607  16524.073789  24821.758001      -.077948                    
+*  2005  1 21  1 45   .00000000                                                 
+P  1 -14816.137265    501.989087 -21847.271517    383.997359                    
+V  1  -5783.951332 -27540.313812   3236.364117       .020708                    
+P  2  21924.183646 -11472.216860  -9843.479268    -42.146656                    
+V  2  -6898.733980  10279.105350 -28298.553310       .055677                    
+P  3 -14252.252012   7236.281537  21071.746319     78.340267                    
+V  3  -9131.043893 -25628.682340   2873.639638       .029694                    
+P  4  19259.366308   -103.169024 -18431.249323    439.790415                    
+V  4 -16169.335765  16830.095924 -16654.869945      -.207033                    
+P  5   6111.072189 -14779.740660 -21348.129601     73.360639                    
+V  5  26206.070809   5880.396187   3624.950467       .024529                    
+P  6  -6753.879536 -25616.203444   -437.772207   -156.280260                    
+V  6   3826.456208   -245.062320 -31223.923797       .877004                    
+P  7  15800.391727  15544.938475 -14327.179662     60.512413                    
+V  7   2978.655229  18867.662703  22944.868927      -.303540                    
+P  8  10736.587317  10489.256807  21744.438919    -19.153408                    
+V  8 -20882.767383  18655.549703    951.855347      -.011910                    
+P  9  13148.183976 -21648.883948  -7854.774127    -25.013729                    
+V  9   8709.259530  -4709.762506  29693.016334      -.018362                    
+P 10  22590.366176  -2867.533196  13853.171708     57.591522                    
+V 10  16327.690574   6603.774531 -24865.976589       .007435                    
+P 11 -11630.296857  22765.629075  -6862.843402    186.841745                    
+V 11  -9062.932376   3979.244999  28848.238068       .037157                    
+P 13   5609.010562  25993.740181   -740.442981    -13.721340                    
+V 13  -2086.536337   -401.031564 -32245.925325       .009776                    
+P 14 -14627.219149 -15705.360533 -15602.599468    -31.492453                    
+V 14  -3246.913556 -19659.785948  22730.965064      -.000781                    
+P 15 -17192.346374  -3615.901945  19802.207025    378.372748                    
+V 15  18980.848880 -17058.378890  12938.360192       .053039                    
+P 16 -25174.788815  -1067.773148   8541.162948      1.976353                    
+V 16  -9605.489276  -5412.998612 -29201.628317      -.001575                    
+P 17  20522.206356 -16185.965034    668.036776    -91.295596                    
+V 17   2470.628784   2298.261378 -32353.042219       .193549                    
+P 18 -13987.001533 -16323.581986  15822.723701   -119.288401                    
+V 18  19393.858729   4693.301455  21820.459149      -.037282                    
+P 19  -9421.108861  17382.960755  17846.784296    -11.950566                    
+V 19  -5793.475254 -21760.138075  18205.809583      -.008418                    
+P 20  -5137.909013  14348.081844 -21826.174440    -90.621939                    
+V 20 -26490.608686  -7506.801028   1321.993642       .027062                    
+P 21  -4579.077908 -15769.907935  20780.037869     88.109880                    
+V 21  20603.549377 -16765.011321  -8623.558608       .010668                    
+P 22 -22244.445773 -12826.031815   6909.238665     16.290814                    
+V 22   8974.759193    261.718785  30113.031737       .003753                    
+P 23  -1115.623778  24501.787244 -10146.796172    211.538367                    
+V 23  -5542.626199 -11786.788082 -28213.237338       .005604                    
+P 24  17400.487610   2781.919847 -19615.452153     89.726118                    
+V 24 -18468.701886  17602.978949 -13562.896762       .029096                    
+P 25 -19388.055906   3126.682787 -17510.794182     84.389622                    
+V 25  13648.450184 -18652.236414 -18016.828546       .008632                    
+P 26   9012.061636 -15963.532190  18674.578006    317.493224                    
+V 26   7004.011435  23543.818772  17061.715985       .054922                    
+P 27   4890.269230  16428.343710  20712.816605    514.032059                    
+V 27 -17963.873100  17785.145351 -10576.522913       .062858                    
+P 28  22288.990313  12540.041580   7991.012654     46.486673                    
+V 28 -10034.238314   -543.131130  29325.780581       .001388                    
+P 29  11339.544225 -11998.525265  21035.492770    177.131970                    
+V 29   7453.879263  25006.904095  10516.283024      -.190502                    
+P 30  -5995.121671 -16576.829123 -20150.109791    442.962611                    
+V 30  24586.902528   5005.685860 -11467.280645      -.144370                    
+P 31  14349.173740  19577.036445 -10790.834928      -.284919                    
+V 31    804.109990  13703.417099  27109.040825      -.077968                    
+*  2005  1 21  2  0   .00000000                                                 
+P  1 -15398.527966  -1937.631517 -21365.535711    383.997855                    
+V  1  -7123.152130 -26584.383704   7452.809440       .020710                    
+P  2  21230.467825 -10431.935088 -12299.168329    -42.141657                    
+V  2  -8442.169479  12846.239216 -26195.902748       .055671                    
+P  3 -15129.481497   4943.617522  21146.152395     78.344008                    
+V  3 -10334.048281 -25236.910640  -1221.124032       .029683                    
+P  4  17788.024937   1505.164745 -19768.957194    439.771485                    
+V  4 -16448.928376  18878.716916 -13028.233430      -.207037                    
+P  5   8457.841435 -14311.995478 -20841.391322     73.362282                    
+V  5  25858.710938   4511.302677   7621.047752       .024533                    
+P  6  -6361.358737 -25495.663040  -3235.991922   -156.201367                    
+V  6   4955.987596   2897.898378 -30868.505723       .876957                    
+P  7  16069.424003  17118.912495 -12142.714787     60.484881                    
+V  7   2934.491480  16074.415608  25525.899446      -.303545                    
+P  8   8902.690330  12216.639811  21639.649120    -19.152914                    
+V  8 -19804.434850  19663.763288  -3279.149369      -.011909                    
+P  9  13820.976278 -21977.309537  -5122.075055    -25.016290                    
+V  9   6270.487845  -2522.742813  30947.030851      -.018363                    
+P 10  23948.763500  -2347.768457  11503.713762     57.591911                    
+V 10  13792.966702   4989.625614 -27269.282483       .007426                    
+P 11 -12348.909199  23023.140088  -4214.352322    186.845148                    
+V 11  -6938.620767   1689.949744  29921.780197       .037160                    
+P 13   5376.591797  25805.210334  -3627.948747    -13.720487                    
+V 13  -3146.223181  -3760.316007 -31829.184072       .009771                    
+P 14 -14934.604525 -17349.283197 -13428.074685    -31.492644                    
+V 14  -3514.746417 -16826.774862  25521.926359      -.000781                    
+P 15 -15479.620144  -5236.384547  20791.023439    378.377338                    
+V 15  18999.144857 -18912.904421   9001.352959       .053045                    
+P 16 -25905.281712  -1496.189913   5847.379855      1.976189                    
+V 16  -6582.326711  -4163.327348 -30574.797867      -.001580                    
+P 17  20620.802641 -15877.348554  -2240.994351    -91.278557                    
+V 17   -233.365095   4612.686674 -32194.506626       .193576                    
+P 18 -12129.672700 -15918.106457  17646.819160   -119.291680                    
+V 18  21827.328359   4255.012590  18657.023356      -.037281                    
+P 19 -10012.812309  15355.039120  19328.404220    -11.951387                    
+V 19  -7373.621179 -23221.974986  14672.446128      -.008422                    
+P 20  -7525.531025  13738.686582 -21521.016100    -90.619504                    
+V 20 -26478.433177  -6021.226666   5449.791107       .027064                    
+P 21  -2798.384654 -17290.773637  19825.657209     88.110927                    
+V 21  18920.414817 -16956.399830 -12556.399939       .010662                    
+P 22 -21292.994272 -12779.423772   9552.450103     16.291414                    
+V 22  12154.269202    702.518239  28541.480547       .003756                    
+P 23  -1681.049680  23320.358515 -12591.249385    211.538919                    
+V 23  -7066.195796 -14404.380613 -26030.335225       .005602                    
+P 24  15733.991628   4453.409266 -20659.920276     89.728135                    
+V 24 -18483.098897  19500.025893  -9611.906282       .029085                    
+P 25 -18146.770748   1349.599132 -18972.404678     84.389758                    
+V 25  13859.371502 -20799.070621 -14413.779301       .008639                    
+P 26   9720.965590 -13785.004004  20037.688706    317.497880                    
+V 26   8759.198453  24772.894307  13185.974308       .054913                    
+P 27   3351.651479  18027.106271  19591.421425    514.037468                    
+V 27 -16195.800643  17664.515997 -14312.390012       .062850                    
+P 28  21245.120266  12478.530384  10556.002996     46.486711                    
+V 28 -13142.517040   -753.831210  27594.654354       .001399                    
+P 29  12086.490075  -9724.632423  21802.071630    177.114840                    
+V 29   9137.601483  25433.599269   6496.183549      -.190511                    
+P 30  -3721.838541 -16171.432045 -21010.002362    442.949501                    
+V 30  25855.017051   3965.937747  -7614.697402      -.144381                    
+P 31  14403.641576  20677.055186  -8265.060585      -.291891                    
+V 31    337.462210  10722.085830  28939.964994      -.077989                    
+*  2005  1 21  2 15   .00000000                                                 
+P  1 -16090.758238  -4267.858233 -20509.773985    383.998688                    
+V  1  -8211.134359 -25117.650522  11535.735309       .020713                    
+P  2  20418.377051  -9159.820766 -14545.601055    -42.136624                    
+V  2  -9526.748764  15415.746193 -23655.445019       .055666                    
+P  3 -16106.017713   2707.967246  20852.852683     78.347142                    
+V  3 -11325.218652 -24368.028560  -5285.641439       .029672                    
+P  4  16312.245887   3287.938174 -20769.380403    439.752950                    
+V  4 -16272.855036  20692.153988  -9170.042750      -.207042                    
+P  5  10750.310629 -13966.906222 -19980.021425     73.363949                    
+V  5  25000.948459   3168.821727  11494.516217       .024538                    
+P  6  -5851.651763 -25100.537127  -5977.962830   -156.122089                    
+V  6   6423.316272   5842.611245 -29975.403569       .876909                    
+P  7  16316.526990  18433.413412  -9746.229104     60.457722                    
+V  7   2488.477441  13117.286051  27650.194209      -.303550                    
+P  8   7182.652525  14015.744662  21155.571858    -19.154112                    
+V  8 -18364.420620  20239.498529  -7464.157474      -.011909                    
+P  9  14283.253364 -22091.963292  -2300.286732    -25.017724                    
+V  9   4044.113759     30.873373  31668.743519      -.018365                    
+P 10  25062.285108  -1960.609164   8958.731132     57.593946                    
+V 10  10898.159165   3668.061390 -29205.165281       .007417                    
+P 11 -12886.084392  23061.134167  -1492.536781    186.848497                    
+V 11  -5041.788534   -888.454021  30475.173353       .037163                    
+P 13   5031.081710  25323.368396  -6453.352063    -13.719697                    
+V 13  -4592.285969  -6903.723958 -30867.941584       .009766                    
+P 14 -15246.928949 -18727.481780 -11021.914793    -31.492832                    
+V 14  -3351.701132 -13770.704638  27871.071968      -.000781                    
+P 15 -13786.502513  -7011.815034  21417.375056    378.381685                    
+V 15  18551.274910 -20487.387516   4895.286846       .053051                    
+P 16 -26352.721640  -1827.949416   3053.400169      1.976054                    
+V 16  -3329.929156  -3272.356665 -31424.907811      -.001584                    
+P 17  20489.699973 -15347.315201  -5109.460580    -91.260891                    
+V 17  -2621.197680   7205.508545 -31452.578862       .193603                    
+P 18 -10068.736484 -15568.103521  19171.362772   -119.295079                    
+V 18  23906.027194   3469.738118  15172.926865      -.037280                    
+P 19 -10750.318332  13218.313981  20480.351695    -11.952458                    
+V 19  -9018.890009 -24174.116810  10890.119767      -.008423                    
+P 20  -9887.881461  13265.445091 -20847.972104    -90.617025                    
+V 20 -25928.681308  -4496.202607   9485.635227       .027065                    
+P 21  -1180.635369 -18807.911367  18526.060926     88.112274                    
+V 21  16996.459879 -16676.755826 -16283.503468       .010653                    
+P 22 -20060.686342 -12712.279543  12032.140992     16.291519                    
+V 22  15200.271679    720.556854  26484.713711       .003759                    
+P 23  -2394.339446  21921.254402 -14818.907928    211.539563                    
+V 23  -8816.074213 -16613.961268 -23402.724889       .005599                    
+P 24  14087.662084   6283.185050 -21340.259866     89.730442                    
+V 24 -18027.009751  21106.060342  -5483.193717       .029074                    
+P 25 -16906.645212   -608.720136 -20097.333433     84.391661                    
+V 25  13628.347347 -22665.188017 -10546.224649       .008647                    
+P 26  10589.018765 -11521.781756  21041.326465    317.502862                    
+V 26  10524.372360  25423.677238   9086.119743       .054904                    
+P 27   1979.518967  19593.484279  18143.090781    514.042990                    
+V 27 -14278.085486  17062.032849 -17831.500308       .062842                    
+P 28  19928.355698  12416.650179  12944.240727     46.486718                    
+V 28 -16083.678978   -555.163551  25403.443878       .001411                    
+P 29  12981.614232  -7436.630878  22201.743917    177.097943                    
+V 29  10731.457229  25322.445288   2374.059352      -.190519                    
+P 30  -1355.408280 -15868.515106 -21516.900275    442.936580                    
+V 30  26650.660226   2741.272242  -3633.683847      -.144392                    
+P 31  14397.468124  21504.903706  -5596.428849      -.298750                    
+V 31   -543.538205   7670.546526  30278.245180      -.078009                    
+*  2005  1 21  2 30   .00000000                                                 
+P  1 -16866.685128  -6445.221565 -19295.281896    384.000556                    
+V  1  -8971.318681 -23198.523649  15412.841531       .020716                    
+P  2  19529.621000  -7659.771302 -16545.369300    -42.131563                    
+V  2 -10146.331748  17896.288416 -20722.536238       .055659                    
+P  3 -17159.513650    570.326879  20197.774779     78.348992                    
+V  3 -12033.179081 -23067.806598  -9248.984400       .029661                    
+P  4  14871.467456   5220.214465 -21414.546556    439.734067                    
+V  4 -15678.742002  22187.978096  -5144.685813      -.207046                    
+P  5  12943.221045 -13738.305553 -18778.035751     73.365206                    
+V  5  23650.713604   1936.243195  15179.495239       .024543                    
+P  6  -5196.550602 -24452.377244  -8615.831386   -156.042910                    
+V  6   8177.213607   8508.219562 -28558.187246       .876861                    
+P  7  16505.023913  19477.965787  -7180.378279     60.430364                    
+V  7   1632.191394  10091.538217  29284.859337      -.303556                    
+P  8   5605.642546  15845.225538  20299.740890    -19.154487                    
+V  8 -16639.804904  20331.685562 -11527.877310      -.011909                    
+P  9  14557.477546 -21962.746605    561.734273    -25.020430                    
+V  9   2102.674410   2884.205136  31838.638140      -.018366                    
+P 10  25901.983125  -1676.945341   6261.738497     57.594567                    
+V 10   7722.041785   2698.365251 -30642.830506       .007408                    
+P 11 -13265.032772  22856.590027   1255.257042    186.851759                    
+V 11  -3431.221150  -3687.468093  30498.156865       .037166                    
+P 13   4539.948856  24571.643083  -9168.343233    -13.718925                    
+V 13  -6372.217992  -9744.095542 -29379.156108       .009762                    
+P 14 -15524.347922 -19824.257613  -8425.744876    -31.493056                    
+V 14  -2737.199860 -10589.644401  29738.388012      -.000779                    
+P 15 -12153.027148  -8913.278337  21669.258394    378.386777                    
+V 15  17682.702418 -21701.067227    692.078943       .053057                    
+P 16 -26500.512545  -2097.057781    207.059607      1.975909                    
+V 16     60.829549  -2775.582687 -31736.558484      -.001589                    
+P 17  20160.526567 -14574.548881  -7885.304067    -91.243640                    
+V 17  -4624.959382   9991.576390 -30139.233095       .193630                    
+P 18  -7839.299682 -15302.126457  20370.051024   -119.298534                    
+V 18  25561.446901   2399.095292  11425.814555      -.037279                    
+P 19 -11635.491100  11019.433339  21283.074650    -11.953035                    
+V 19 -10640.097669 -24602.359833   6922.854454      -.008424                    
+P 20 -12176.766297  12927.851714 -19818.421921    -90.614498                    
+V 20 -24848.618751  -3021.690645  13360.892487       .027065                    
+P 21    256.349021 -20277.736317  16902.825938     88.113241                    
+V 21  14918.336415 -15902.627944 -19737.438052       .010643                    
+P 22 -18563.711666 -12661.713692  14306.235474     16.292080                    
+V 22  18020.969198    339.491922  23979.410147       .003761                    
+P 23  -3272.361546  20343.672028 -16791.785351    211.540076                    
+V 23 -10712.969805 -18363.227451 -20376.846613       .005595                    
+P 24  12501.840500   8241.323859 -21643.779802     89.732172                    
+V 24 -17147.755848  22339.971241  -1250.712546       .029063                    
+P 25 -15705.667593  -2719.238581 -20864.882301     84.393085                    
+V 25  12997.877524 -24168.495131  -6484.056922       .008653                    
+P 26  11612.720563  -9226.183651  21668.793216    317.508138                    
+V 26  12201.893170  25493.791007   4839.754460       .054896                    
+P 27    783.535084  21083.434697  16390.070697    514.048478                    
+V 27 -12295.785484  15965.556097 -21073.389163       .062835                    
+P 28  18357.666165  12389.961658  15115.904881     46.487014                    
+V 28 -18771.503660     21.664834  22788.520707       .001422                    
+P 29  14012.759733  -5182.111451  22228.378581    177.081002                    
+V 29  12145.747423  24694.554474  -1782.181498      -.190528                    
+P 30   1060.217304 -15681.138677 -21662.168170    442.923499                    
+V 30  26944.757883   1412.222750    410.532519      -.144403                    
+P 31  14293.614055  22058.425320  -2830.612002      -.305788                    
+V 31  -1830.283991   4641.345682  31095.645399      -.078030                    
+*  2005  1 21  2 45   .00000000                                                 
+P  1 -17693.842478  -8432.223750 -17743.689844    384.001439                    
+V  1  -9340.257594 -20900.845852  19015.876978       .020719                    
+P  2  18605.648848  -5943.848986 -18265.412700    -42.126424                    
+V  2 -10312.772588  20198.322538 -17448.287565       .055652                    
+P  3 -18261.660264  -1433.089984  19193.128960     78.352722                    
+V  3 -12397.262603 -21396.377824 -13042.672456       .029650                    
+P  4  13501.036604   7270.051511 -21692.443075    439.715347                    
+V  4 -14719.591634  23293.463969  -1020.045740      -.207050                    
+P  5  14993.693317 -13612.724178 -17255.268332     73.367570                    
+V  5  21842.813120    892.001760  18612.731629       .024549                    
+P  6  -4373.095642 -23579.542663 -11103.398590   -155.963673                    
+V  6  10152.646400  10824.786210 -26640.019928       .876813                    
+P  7  16598.267042  20250.689726  -4490.359698     60.403109                    
+V  7    374.669747   7092.305457  30406.336387      -.303561                    
+P  8   4193.425379  17659.920159  19086.407620    -19.157378                    
+V  8 -14717.474006  19906.916694 -15396.575338      -.011908                    
+P  9  14672.101010 -21566.231132   3413.813938    -25.020815                    
+V  9    506.262880   5956.332777  31447.080726      -.018368                    
+P 10  26446.465311  -1463.019147   3458.652061     57.596171                    
+V 10   4353.232168   2124.224996 -31559.755799       .007398                    
+P 11 -13513.672176  22393.114304   3981.188343    186.855255                    
+V 11  -2152.405713  -6628.767675  29990.021964       .037168                    
+P 13   3876.076743  23580.795925 -11726.539570    -13.718095                    
+V 13  -8418.580802 -12206.132207 -27388.626551       .009759                    
+P 14 -15726.011600 -20632.900218  -5684.415720    -31.493129                    
+V 14  -1669.564318  -7384.628591  31092.303975      -.000778                    
+P 15 -10614.418433 -10905.102489  21541.268947    378.392411                    
+V 15  16454.482099 -22485.087188  -3533.772780       .053063                    
+P 16 -26340.511231  -2339.942981  -2642.828495      1.975587                    
+V 16   3493.558065  -2691.147127 -31503.465678      -.001593                    
+P 17  19670.275296 -13545.894303 -10518.089268    -91.226754                    
+V 17  -6193.769976  12875.327391 -28278.491986       .193657                    
+P 18  -5482.030874 -15142.637042  21221.983887   -119.302395                    
+V 18  26738.891976   1116.394451   7477.972094      -.037275                    
+P 19 -12662.122616   8805.502500  21722.926445    -11.953755                    
+V 19 -12147.633366 -24510.760176   2837.682906      -.008427                    
+P 20 -14345.474022  12717.404647 -18449.814308    -90.612013                    
+V 20 -23263.834660  -1684.832180  17009.508602       .027065                    
+P 21   1502.771821 -21655.388539  14983.420538     88.114073                    
+V 21  12777.112366 -14629.284458 -22854.944831       .010632                    
+P 22 -16826.213644 -12661.947266  16336.289556     16.292469                    
+V 22  20531.947786   -400.272493  21069.471248       .003762                    
+P 23  -4324.484354  18630.757001 -18476.376221    211.540504                    
+V 23 -12670.058598 -19616.983363 -17005.682662       .005591                    
+P 24  11011.878767  10291.145616 -21564.566485     89.735454                    
+V 24 -15908.510472  23133.258309   3009.132383       .029052                    
+P 25 -14577.277426  -4946.048570 -21260.848020     84.392705                    
+V 25  12026.184333 -25238.941955  -2301.461684       .008660                    
+P 26  12779.879661  -6949.760589  21910.467380    317.513229                    
+V 26  13696.968735  25002.539541    526.225016       .054886                    
+P 27   -234.383569  22452.612924  14359.931791    514.053902                    
+V 27 -10335.462270  14380.632874 -23980.368714       .062827                    
+P 28  16559.442157  12430.507035  17034.740235     46.487264                    
+V 28 -21127.783113    929.931038  19792.657649       .001431                    
+P 29  15159.941848  -3005.975002  21881.970082    177.064330                    
+V 29  13296.769019  23588.384628  -5904.483379      -.190536                    
+P 30   3479.209671 -15614.911454 -21443.098695    442.910552                    
+V 30  26724.811356     63.319267   4451.598438      -.144414                    
+P 31  14056.621864  22343.754550    -15.429147      -.312691                    
+V 31  -3496.281674   1725.592626  31372.825081      -.078050                    
+*  2005  1 21  3  0   .00000000                                                 
+P  1 -18534.745910 -10198.596884 -15882.540198    384.002737                    
+V  1  -9270.269436 -18310.894036  22281.918465       .020723                    
+P  2  17686.059611  -4031.970410 -19677.495721    -42.121523                    
+V  2 -10055.151648  22237.383401 -13888.652551       .055644                    
+P  3 -19379.263572  -3272.035943  17857.133610     78.354515                    
+V  3 -12369.944332 -19425.735589 -16601.862033       .029639                    
+P  4  12230.912251   9399.510206 -21597.284590    439.696713                    
+V  4 -13461.749657  23948.527378   3133.563386      -.207054                    
+P  5  16862.699772 -13569.971154 -15437.088413     73.370501                    
+V  5  19627.792537    106.526472  21734.651466       .024554                    
+P  6  -3364.709855 -22516.092329 -13396.970922   -155.884632                    
+V  6  12273.273403  12735.998760 -24253.346499       .876764                    
+P  7  16561.190232  20758.125546  -1723.067254     60.376011                    
+V  7  -1258.122114   4210.986816  31000.479544      -.303566                    
+P  8   2959.636875  19412.518145  17536.331755    -19.159445                    
+V  8 -12690.567377  18951.071050 -18999.610908      -.011906                    
+P  9  14660.323796 -20886.796992   6205.381400    -25.021947                    
+V  9   -700.103108   9155.188239  30494.982420      -.018370                    
+P 10  26682.638409  -1281.904290    597.033193     57.596749                    
+V 10    886.977225   1972.152117 -31941.935146       .007388                    
+P 11 -13663.348214  21661.695009   6637.784399    186.858618                    
+V 11  -1235.786681  -9627.169485  28959.646239       .037169                    
+P 13   3018.995052  22387.728004 -14084.261408    -13.717280                    
+V 13 -10651.594113 -14229.105903 -24930.533670       .009755                    
+P 14 -15811.777400 -21155.782228  -2845.219858    -31.493513                    
+V 14   -166.149380  -4255.832010  31910.200554      -.000774                    
+P 15  -9199.793710 -12946.067634  21034.770142    378.396145                    
+V 15  14940.812207 -22785.469669  -7706.612560       .053068                    
+P 16 -25873.365560  -2593.854283  -5447.302412      1.975223                    
+V 16   6869.893920  -3019.092925 -30728.632001      -.001596                    
+P 17  19059.668706 -12257.114843 -12960.066881    -91.209249                    
+V 17  -7295.911760  15754.840551 -25905.909596       .193684                    
+P 18  -3041.819234 -15105.078142  21712.041575   -119.305591                    
+V 18  27399.570696   -296.206040   3395.403007      -.037270                    
+P 19 -13816.052401   6622.446843  21792.388850    -11.954470                    
+V 19 -13454.965069 -23921.384936  -1296.421273      -.008430                    
+P 20 -16350.390276  12618.016661 -16765.385711    -90.609500                    
+V 20 -21217.363201   -566.489824  20369.101239       .027063                    
+P 21   2557.094096 -22896.447615  12800.767536     88.114936                    
+V 21  10664.602308 -12871.248487 -25578.292554       .010622                    
+P 22 -14879.484746 -12742.874189  18088.105365     16.292628                    
+V 22  22659.231000  -1443.319500  17805.212565       .003763                    
+P 23  -5552.051072  16828.007699 -19844.201634    211.541023                    
+V 23 -14596.414662 -20358.271820 -13347.782485       .005587                    
+P 24   9646.826568  12390.485751 -21103.634887     89.738600                    
+V 24 -14385.657493  23432.987972   7219.042756       .029041                    
+P 25 -13549.058191  -7247.595684 -21277.838352     84.392995                    
+V 25  10784.709591 -25821.550780   1924.663735       .008668                    
+P 26  14070.053976  -4741.392163  21763.879014    317.518164                    
+V 26  14921.685513  23989.707120  -3775.184367       .054877                    
+P 27  -1080.057054  23657.984743  12085.271794    514.059380                    
+V 27  -8481.930022  12330.840008 -26498.597627       .062820                    
+P 28  14566.648707  12565.491264  18668.607138     46.487368                    
+V 28 -23085.050909   2109.207053  16464.435865       .001440                    
+P 29  16396.031772   -948.935815  21168.609199    177.047086                    
+V 29  14109.968575  22058.211716  -9925.582599      -.190545                    
+P 30   5855.382327 -15667.775506 -20862.972292    442.897936                    
+V 30  25995.399219  -1220.144547   8422.961046      -.144425                    
+P 31  13654.200721  22375.027799   2799.987367      -.319981                    
+V 31  -5497.829194   -990.588450  31100.045625      -.078071                    
+*  2005  1 21  3 15   .00000000                                                 
+P  1 -19348.405836 -11722.268685 -13744.755173    384.003212                    
+V  1  -8731.411541 -15523.905619  25154.515180       .020727                    
+P  2  16807.109273  -1951.309805 -20758.601802    -42.116601                    
+V  2  -9418.401868  23937.140325 -10103.499626       .055637                    
+P  3 -20475.516726  -4923.168411  16213.638498     78.357062                    
+V  3 -11918.728501 -17236.811284 -19866.424342       .029628                    
+P  4  11084.576369  11565.908583 -21129.680445    439.677893                    
+V  4 -11982.333240  24108.231635   7244.549820      -.207058                    
+P  5  18516.407044 -13583.986523 -13354.021698     73.373603                    
+V  5  17070.198117   -360.640887  24490.413773       .024559                    
+P  6  -2162.085161 -21300.456465 -15456.173913   -155.805520                    
+V  6  14454.437681  14201.342419 -21439.375389       .876716                    
+P  7  16361.784022  21014.744566   1073.751896     60.348472                    
+V  7  -3224.470531   1531.897116  31062.439102      -.303571                    
+P  8   1909.392549  21055.340502  15676.434811    -19.161267                    
+V  8 -10654.628859  17470.147613 -22270.941435      -.011904                    
+P  9  14558.640065 -19917.483442   8886.438907    -25.023167                    
+V  9  -1488.521433  12381.033712  28994.201815      -.018372                    
+P 10  26606.151584  -1095.098988  -2274.684624     57.597849                    
+V 10  -2578.277236   2250.545289 -31784.005918       .007378                    
+P 11 -13747.424822  20661.174021   9178.797466    186.861975                    
+V 11   -695.637272 -12593.885484  27425.330182       .037170                    
+P 13   1955.855866  21034.067270 -16201.260989    -13.716417                    
+V 13 -12982.194403 -15769.010781 -22046.853503       .009752                    
+P 14 -15743.900983 -21404.111349     42.930819    -31.493559                    
+V 14   1737.268562  -1298.798670  32178.755144      -.000770                    
+P 15  -7931.112466 -14990.858104  20157.930451    378.402443                    
+V 15  13226.012412 -22565.521229 -11751.127468       .053074                    
+P 16 -25108.528210  -2895.226094  -8158.089775      1.974878                    
+V 16  10093.144419  -3741.321325 -29424.363359      -.001597                    
+P 17  18371.371696 -10713.269689 -15167.174552    -91.192183                    
+V 17  -7920.066142  18526.205779 -23067.688157       .193712                    
+P 18   -566.269983 -15197.219229  21831.174624   -119.308975                    
+V 18  27522.122032  -1750.902712   -753.173483      -.037265                    
+P 19 -15075.598679   4513.426980  21490.197623    -11.955326                    
+V 19 -14482.034920 -22873.400451  -5409.638212      -.008434                    
+P 20 -18152.503654  12606.727605 -14793.782311    -90.607001                    
+V 20 -18768.150539    261.979239  23382.005989       .027060                    
+P 21   3425.933098 -23958.660062  10392.688263     88.115851                    
+V 21   8669.616978 -10662.041117 -27856.562375       .010613                    
+P 22 -12760.904740 -12928.809045  19532.269263     16.292872                    
+V 22  24341.923367  -2721.502232  14242.482858       .003765                    
+P 23  -6948.170568  14981.609113 -20872.263728    211.541614                    
+V 23 -16400.577573 -20588.804408  -9466.219087       .005582                    
+P 24   8428.383295  14493.205941 -20268.936880     89.741732                    
+V 24 -12665.576099  23204.116287  11302.432723       .029029                    
+P 25 -12641.682914  -9578.148378 -20915.441180     84.393156                    
+V 25   9355.018908 -25878.814670   6116.387461       .008675                    
+P 26  15455.337146  -2645.529639  21233.626539    317.522762                    
+V 26  15798.650104  22513.511317  -7986.955741       .054868                    
+P 27  -1766.735972  24659.440194   9603.318656    514.064801                    
+V 27  -6814.947926   9857.476394 -28579.217072       .062812                    
+P 28  12417.749366  12816.148272  19989.975628     46.487510                    
+V 28 -24588.942799   3487.649129  12857.599934       .001448                    
+P 29  17687.709837    953.812945  20100.370438    177.029572                    
+V 29  14522.761873  20172.066186 -13779.921370      -.190554                    
+P 30   8143.728116 -15830.085080 -19931.032773    442.884731                    
+V 30  24778.085122  -2355.388126  12258.812729      -.144436                    
+P 31  13058.716935  22173.778938   5566.081348      -.327189                    
+V 31  -7775.433364  -3429.486717  30277.697879      -.078091                    
+*  2005  1 21  3 30   .00000000                                                 
+P  1 -20091.985356 -12989.999910 -11368.008680    384.005520                    
+V  1  -7712.717387 -12640.281505  27584.674958       .020732                    
+P  2  16000.366476    264.558748 -21491.243815    -42.111771                    
+V  2  -8461.392836  25232.128766  -6155.681969       .055630                    
+P  3 -21511.414893  -6370.710971  14291.656624     78.358960                    
+V  3 -11027.426784 -14916.256509 -22781.897257       .029618                    
+P  4  10078.197650  13723.278045 -20296.694924    439.658632                    
+V  4 -10366.205971  23744.754996  11241.272134      -.207062                    
+P  5  19927.337118 -13623.936870 -11041.278298     73.375882                    
+V  5  14246.290376   -463.343899  26830.926761       .024563                    
+P  6   -763.781603 -19973.940363 -17244.709978   -155.726592                    
+V  6  16606.534408  15197.641480 -18247.359708       .876668                    
+P  7  15972.437916  21042.174330   3852.322404     60.321152                    
+V  7  -5468.670683   -870.711263  30596.378786      -.303576                    
+P  8   1039.249844  22542.156367  13539.321266    -19.163533                    
+V  8  -8703.629954  15490.254765 -25150.550653      -.011902                    
+P  9  14405.229118 -18660.506925  11408.556135    -25.024452                    
+V  9  -1849.615729  15530.357846  26967.737407      -.018375                    
+P 10  26221.525945   -864.173204  -5107.975173     57.598657                    
+V 10  -5944.411648   2949.423331 -31089.263259       .007367                    
+P 11 -13799.802798  19398.418931  11560.038172    186.865388                    
+V 11   -529.593659 -15439.927022  25414.439635       .037169                    
+P 13    682.117821  19564.590295 -18041.393205    -13.715566                    
+V 13 -15315.446664 -16800.080129 -18786.653462       .009748                    
+P 14 -15488.639591 -21397.350850   2930.351100    -31.493434                    
+V 14   3987.820593   1399.129775  31894.121626      -.000767                    
+P 15  -6822.418924 -16991.700873  18925.623408    378.407077                    
+V 15  11401.047961 -21807.551381 -15593.886598       .053079                    
+P 16 -24063.943692  -3278.069907 -10728.439628      1.974653                    
+V 16  13071.883176  -4822.258007 -27612.125697      -.001597                    
+P 17  17648.135865  -8928.692109 -17099.943001    -91.175762                    
+V 17  -8075.589851  21087.980328 -19819.467511       .193740                    
+P 18   1895.909718 -15418.802137  21576.600493   -119.312665                    
+V 18  27103.514104  -3157.695967  -4897.395917      -.037260                    
+P 19 -16412.285524   2517.364645  20821.368825    -11.956124                    
+V 19 -15158.420872 -21421.531043  -9432.410829      -.008437                    
+P 20 -19718.745992  12654.692241 -12568.590637    -90.604605                    
+V 20 -15988.920220    741.595639  25996.259539       .027057                    
+P 21   4123.625609 -24803.607459   7801.235764     88.116700                    
+V 21   6874.295004  -8053.122440 -29646.818336       .010604                    
+P 22 -10512.662894 -13237.461641  20644.608008     16.293120                    
+V 22  25534.354371  -4156.684228  10441.726464       .003768                    
+P 23  -8497.830341  13136.759878 -21543.403955    211.542122                    
+V 23 -17994.120444 -20328.684110  -5427.496810       .005576                    
+P 24   7370.160009  16550.881137 -19075.224650     89.743728                    
+V 24 -10840.991884  22431.067477  15185.035213       .029018                    
+P 25 -11868.159822 -11889.450549 -20180.240427     84.393325                    
+V 25   7825.255460 -25392.346933  10196.460311       .008684                    
+P 26  16901.449431   -700.656511  20331.146694    317.527695                    
+V 26  16264.090547  20647.839340 -12034.887735       .054859                    
+P 27  -2314.499637  25421.349055   6955.429371    514.070320                    
+V 27  -5405.978011   7018.569031 -30179.527102       .062805                    
+P 28  10155.437163  13196.832072  20976.359166     46.487423                    
+V 28 -25600.113526   4984.692685   9030.360708       .001457                    
+P 29  18996.654051   2673.726515  18695.118335    177.012232                    
+V 29  14486.930292  18009.203611 -17404.535964      -.190562                    
+P 30  10301.921302 -16084.978185 -18662.377132    442.871673                    
+V 30  23110.728337  -3265.354966  15895.051529      -.144447                    
+P 31  12248.524609  21768.037572   8233.800183      -.334302                    
+V 31 -10255.935562  -5524.957859  28916.613820      -.078112                    
+*  2005  1 21  3 45   .00000000                                                 
+P  1 -20722.534706 -13997.671522  -8794.017201    384.009631                    
+V  1  -6222.656356  -9761.627553  29531.674713       .020736                    
+P  2  15291.562208   2576.747183 -21863.691034    -42.106837                    
+V  2  -7254.549430  26070.074210  -2110.113181       .055624                    
+P  3 -22447.256334  -7606.816727  12124.816451     78.361079                    
+V  3  -9696.791641 -12553.060959 -25300.301388       .029608                    
+P  4   9220.083857  15823.968874 -19111.794298    439.639767                    
+V  4  -8702.607459  22848.726980  15053.322782      -.207066                    
+P  5  21075.300613 -13655.514473  -8538.191704     73.378276                    
+V  5  11241.283689   -170.821433  28713.804849       .024567                    
+P  6    823.488286 -18579.120708 -18731.042994   -155.647509                    
+V  6  18638.614242  15719.896664 -14733.690834       .876619                    
+P  7  15371.101986  20868.176155   6565.633974     60.293555                    
+V  7  -7923.267725  -2935.160339  29615.056381      -.303582                    
+P  8    337.527379  23829.960259  11162.676384    -19.164333                    
+V  8  -6926.043358  13056.744793 -27585.753118      -.011899                    
+P  9  14238.258849 -17127.409788  13725.869245    -25.024324                    
+V  9  -1793.031832  18500.142027  24449.544847      -.018378                    
+P 10  25541.967129   -552.409580  -7854.995272     57.599869                    
+V 10  -9117.130316   4040.830996 -29869.566142       .007357                    
+P 11 -13853.427050  17888.187042  13740.168348    186.868777                    
+V 11   -718.870007 -18079.517873  22962.863782       .037169                    
+P 13   -798.087954  18025.538158 -19573.218124    -13.714872                    
+V 13 -17554.181756 -17315.614789 -15205.282451       .009746                    
+P 14 -15017.705483 -21162.332752   5767.437212    -31.493455                    
+V 14   6517.536045   3762.049429  31061.944446      -.000766                    
+P 15  -5879.412498 -18900.124300  17359.188977    378.412187                    
+V 15   9559.746121 -20513.814580 -19164.875284       .053084                    
+P 16 -22765.418910  -3772.457465 -13113.934321      1.974426                    
+V 16  15723.363097  -6210.208524 -25322.240070      -.001596                    
+P 17  16930.962645  -6926.571377 -18724.280557    -91.159056                    
+V 17  -7791.825266  23345.501830 -16224.844622       .193768                    
+P 18   4296.575709 -15761.503680  20951.900736   -119.315656                    
+V 18  26159.270125  -4427.961330  -8966.394939      -.037254                    
+P 19 -17791.839655    667.633621  19797.125147    -11.956809                    
+V 19 -15426.148649 -19633.943280 -13296.555827      -.008440                    
+P 20 -21023.116208  12728.406443 -10127.783129    -90.602238                    
+V 20 -12963.512538    828.165066  28166.503669       .027054                    
+P 21   4671.471057 -25398.244098   5071.929405     88.117664                    
+V 21   5350.682377  -5112.059145 -30915.120650       .010595                    
+P 22  -8180.312366 -13679.174903  21406.558533     16.293394                    
+V 22  26207.653528  -5663.832505   6467.003287       .003771                    
+P 23 -10178.325601  11336.055428 -21846.561562    211.542764                    
+V 23 -19295.085050 -19615.440747  -1300.429446       .005569                    
+P 24   6477.283256  18514.592156 -17543.771361     89.746386                    
+V 24  -9007.057560  21118.492044  18796.459715       .029007                    
+P 25 -11233.411242 -14132.485695 -19085.677808     84.393691                    
+V 25   6286.310322 -24363.701421  14090.014611       .008692                    
+P 26  18369.079006   1061.975795  19074.353341    317.532867                    
+V 26  16270.303346  18478.925064 -15849.454958       .054851                    
+P 27  -2749.370387  25913.995442   4186.482412    514.075974                    
+V 27  -4315.142250   3887.180868 -31264.167287       .062798                    
+P 28   7825.215460  13714.365540  21610.683219     46.487557                    
+V 28 -26095.646279   6514.068264   5044.644408       .001466                    
+P 29  20280.922348   4189.790281  16976.235001    176.994924                    
+V 29  13970.517178  15657.192712 -20739.918774      -.190571                    
+P 30  12291.731196 -16409.030057 -17077.758396    442.858426                    
+V 30  21046.211486  -3881.747545  19270.252130      -.144458                    
+P 31  11209.075541  21191.161619  10755.539406      -.341748                    
+V 31 -12855.276993  -7225.150339  27038.131499      -.078132                    
+*  2005  1 21  4  0   .00000000                                                 
+P  1 -21198.731715 -14750.214518  -6067.766100    384.010496                    
+V  1  -4288.809183  -6986.799462  30963.683655       .020739                    
+P  2  14699.671509   4942.327502 -21870.113375    -42.101782                    
+V  2  -5877.092538  26413.740255   1967.146190       .055619                    
+P  3 -23244.170991  -8631.624862   9750.747017     78.364480                    
+V  3  -7944.494609 -10235.138650 -27380.815110       .029598                    
+P  4   8510.448379  17820.344868 -17594.676725    439.621027                    
+V  4  -7081.563905  21429.862979  18612.843381      -.207069                    
+P  5  21948.063822 -13642.391947  -5887.575185     73.381345                    
+V  5   8146.207677    530.860332  30104.242674       .024571                    
+P  6   2584.904325 -17158.199905 -19888.993579   -155.568445                    
+V  6  20462.069452  15781.376891 -10960.824419       .876571                    
+P  7  14542.228849  20525.420304   9168.191825     60.266236                    
+V  7 -10511.678312  -4614.322280  28139.296955      -.303586                    
+P  8   -215.031397  24880.633964   8588.553873    -19.166190                    
+V  8  -5401.145635  10232.524222 -29532.331243      -.011895                    
+P  9  14094.179102 -15338.825572  15796.043749    -25.027013                    
+V  9  -1347.196462  21192.079079  21483.999016      -.018381                    
+P 10  24588.868845   -126.378166 -10469.347361     57.600217                    
+V 10 -12009.311742   5479.899515 -28145.138940       .007346                    
+P 11 -13938.843495  16152.687109  15681.437313    186.872156                    
+V 11  -1229.142624 -20433.374924  20114.303718       .037167                    
+P 13  -2471.924353  16462.889935 -20770.526315    -13.713950                    
+V 13 -19602.724294 -17328.094403 -11363.467049       .009743                    
+P 14 -14309.513366 -20732.099608   8505.515488    -31.493712                    
+V 14   9245.914316   5728.271212  29697.210175      -.000764                    
+P 15  -5099.366478 -20668.764497  15486.058791    378.418986                    
+V 15   7794.869639 -18706.620910 -22398.978192       .053089                    
+P 16 -21245.699859  -4403.155265 -15273.266721      1.974261                    
+V 16  17976.611933  -7839.356069 -22593.417233      -.001595                    
+P 17  16257.370218  -4738.161224 -20012.114932    -91.141300                    
+V 17  -7116.496976  25214.840729 -12353.694131       .193796                    
+P 18   6589.800973 -16209.220267  19967.013826   -119.319360                    
+V 18  24723.000681  -5478.010842 -12889.975158      -.037250                    
+P 19 -19175.420605  -1009.035799  18434.722629    -11.957349                    
+V 19 -15242.049645 -17589.630984 -16936.363698      -.008446                    
+P 20 -22047.544558  12791.125483  -7513.086529    -90.599777                    
+V 20  -9783.793961    494.125330  29854.793642       .027051                    
+P 21   5096.683940 -25716.237316   2252.906855     88.118593                    
+V 21   4157.718458  -1919.986518 -31637.342518       .010586                    
+P 22  -5811.210363 -14256.452764  21805.448074     16.293841                    
+V 22  26350.707739  -7154.348989   2384.978965       .003773                    
+P 23 -11959.986775   9617.987308 -21776.930439    211.543356                    
+V 23 -20231.158272 -18502.423939   2844.994007       .005561                    
+P 24   5746.357158  20336.748084 -15701.955601     89.748015                    
+V 24  -7257.340790  19291.168534  22071.653846       .028996                    
+P 25 -10734.203131 -16259.276035 -17651.764685     84.394798                    
+V 25   4827.891267 -22814.327042  17726.187068       .008701                    
+P 26  19815.411095   2619.294411  17487.163418    317.537930                    
+V 26  15787.371947  16101.639170 -19366.953461       .054842                    
+P 27  -3102.168272  26114.829240   1344.165430    514.081378                    
+V 27  -3588.520054    549.038441 -31806.255594       .062791                    
+P 28   5473.876721  14367.671563  21881.583760     46.487905                    
+V 28 -26069.904500   7987.043949    965.285694       .001475                    
+P 29  21496.480600   5489.125715  14972.271288    176.977568                    
+V 29  12959.161499  13208.714419 -23730.853257      -.190579                    
+P 30  14080.296219 -16773.167778 -15203.300880    442.845450                    
+V 30  18650.618412  -4147.778130  22326.640037      -.144469                    
+P 31   9933.755284  20480.449028  13086.081143      -.348813                    
+V 31 -15481.798387  -8494.665855  24673.891057      -.078152                    
+*  2005  1 21  4 15   .00000000                                                 
+P  1 -21482.558627 -15261.189994  -3236.688475    384.011400                    
+V  1  -1956.785746  -4408.111390  31858.194239       .020744                    
+P  2  14236.256963   7315.748720 -21510.644001    -42.096536                    
+V  2  -4413.997209  26242.248476   6009.788948       .055611                    
+P  3 -23865.618111  -9453.013383   7210.408700     78.367597                    
+V  3  -5804.464537  -8046.011274 -28990.307285       .029587                    
+P  4   7941.504440  19666.501744 -15770.983397    439.602605                    
+V  4  -5590.220562  19516.852643  21855.843217      -.207073                    
+P  5  22541.720494 -13547.777046  -3135.004192     73.383757                    
+V  5   5054.504896   1638.023975  30975.781142       .024575                    
+P  6   4497.913064 -15751.386107 -20698.231133   -155.489466                    
+V  6  21994.244472  15412.957785  -6996.064989       .876522                    
+P  7  13477.466695  20050.109262  11616.715948     60.238733                    
+V  7 -13151.082942  -5877.013406  26197.386101      -.303591                    
+P  8   -644.278533  25662.421824   5862.570184    -19.166664                    
+V  8  -4195.718577   7095.612455 -30955.466979      -.011892                    
+P  9  14006.074296 -13323.865734  17581.181575    -25.027277                    
+V  9   -558.197285  23516.769738  18125.154307      -.018385                    
+P 10  23391.025826    442.612377 -12906.819649     57.599944                    
+V 10 -14544.097517   7206.523336 -25944.271670       .007336                    
+P 11 -14082.864222  14220.856852  17350.347233    186.875520                    
+V 11  -2012.062526 -22431.722236  16919.411193       .037165                    
+P 13  -4318.149230  14920.658654 -21612.779063    -13.713084                    
+V 13 -21370.573158 -16868.568707  -7326.326362       .009740                    
+P 14 -13350.173969 -20144.520927  11097.670581    -31.493723                    
+V 14  12082.975525   7252.536322  27823.942663      -.000762                    
+P 15  -4471.399991 -22253.143535  13339.251963    378.423779                    
+V 15   6194.222361 -16427.600316 -25237.364807       .053093                    
+P 16 -19543.288688  -5188.465137 -17168.968469      1.974147                    
+V 16  19775.087278  -9632.328622 -19472.136345      -.001595                    
+P 17  15659.842135  -2401.656010 -20941.877813    -91.123416                    
+V 17  -6113.298521  26626.203252  -8280.368408       .193825                    
+P 18   8733.456500 -16738.667473  18638.120086   -119.322677                    
+V 18  22845.246177  -6232.508367 -16599.827875      -.037243                    
+P 19 -20521.039247  -2493.397973  16757.179395    -11.957930                    
+V 19 -14579.575377 -15375.394157 -20289.674102      -.008453                    
+P 20 -22782.463590  12804.420444  -4769.282415    -90.597203                    
+V 20  -6546.250205   -270.242007  31031.294875       .027047                    
+P 21   5431.098710 -25739.051459   -605.987340     88.119666                    
+V 21   3338.771214   1431.530162 -31799.757486       .010576                    
+P 22  -3452.901032 -14963.794110  21834.682507     16.294243                    
+V 22  25970.473429  -8539.520149  -1736.103800       .003775                    
+P 23 -13807.176919   8015.613592 -21336.013911    211.543863                    
+V 23 -20742.475727 -17056.620243   6938.740339       .005553                    
+P 24   5165.783954  21972.861381 -13582.720285     89.750207                    
+V 24  -5679.900961  16993.055298  24952.224837       .028986                    
+P 25 -10359.426008 -18224.638743 -15904.653312     84.396023                    
+V 25   3534.675746 -20784.665349  21039.612369       .008709                    
+P 26  21195.777543   3957.006847  15598.929837    317.542884                    
+V 26  14804.121785  13615.568748 -22530.422709       .054833                    
+P 27  -3407.143172  26009.475259  -1521.835682    514.087100                    
+V 27  -3255.927659  -2900.467870 -31788.431283       .062784                    
+P 28   3147.931110  15147.702359  21783.630542     46.488332                    
+V 28 -25534.790512   9315.791168  -3140.837453       .001480                    
+P 29  22598.823494   6567.299041  12716.524121    176.960204                    
+V 29  11456.821393  10758.174477 -26327.219255      -.190587                    
+P 30  15641.211092 -17143.815803 -13070.127998    442.832554                    
+V 30  16000.913859  -4020.532602  25011.058485      -.144480                    
+P 31   8424.403253  19675.584988  15183.501632      -.355785                    
+V 31 -18039.936167  -9316.037273  21865.350774      -.078172                    
+*  2005  1 21  4 30   .00000000                                                 
+P  1 -21540.849491 -15552.040998   -349.813865    384.012295                    
+V  1    711.557308  -2107.857050  32202.261754       .020749                    
+P  2  13905.094914   9650.347392 -20791.361521    -42.091469                    
+V  2  -2952.769069  25551.833462   9952.147981       .055602                    
+P  3 -24278.796857 -10086.062294   4547.382372     78.370819                    
+V  3  -3325.623799  -6061.709091 -30103.729715       .029577                    
+P  4   7497.887306  21319.941246 -13671.892082    439.584323                    
+V  4  -4309.246107  17156.487493  24723.488669      -.207076                    
+P  5  22860.750348 -13336.007026   -328.035615     73.385821                    
+V  5   2058.494480   3129.291341  31310.940552       .024579                    
+P  6   6532.917836 -14395.365802 -21144.651285   -155.410484                    
+V  6  23161.814922  14661.733840  -2910.240353       .876474                    
+P  7  12176.083969  19480.502662  13870.783074     60.211342                    
+V  7 -15755.478418  -6708.783831  23824.407420      -.303596                    
+P  8   -981.408690  26151.156497   3033.025356    -19.167206                    
+V  8  -3361.299558   3736.059287 -31830.438417      -.011889                    
+P  9  14002.161189 -11119.139530  19048.641098    -25.028453                    
+V  9    512.274549  25397.576737  14435.537806      -.018389                    
+P 10  21983.584544   1177.240130 -15126.094821     57.600528                    
+V 10 -16657.614289   9147.595262 -23302.921365       .007327                    
+P 11 -14307.394635  12127.385809  18718.235078    186.879182                    
+V 11  -3007.329174 -24016.917197  13434.800680       .037161                    
+P 13  -6307.740321  13439.273658 -22085.456760    -13.712247                    
+V 13 -22775.898562 -15985.351888  -3162.318612       .009738                    
+P 14 -12134.195943 -19440.738595  13499.539529    -31.493676                    
+V 14  14932.670584   8307.589502  25474.750442      -.000761                    
+P 15  -3977.092383 -23613.344170  10956.752267    378.427497                    
+V 15   4836.963198 -13736.146674 -27628.733086       .053097                    
+P 16 -17701.045720  -6139.317936 -18768.075593      1.974121                    
+V 16  21078.783834 -11503.239003 -16011.875812      -.001595                    
+P 17  15164.524233     39.208890 -21498.825036    -91.105825                    
+V 17  -4858.815211  27526.635825  -4081.856642       .193853                    
+P 18  10690.657967 -17320.275346  16987.416824   -119.325904                    
+V 18  20591.659551  -6627.603387 -20030.754654      -.037238                    
+P 19 -21785.112432  -3774.246928  14792.909245    -11.958622                    
+V 19 -13429.997274 -13082.520290 -23298.912159      -.008462                    
+P 20 -23227.062972  12729.813024  -1943.450652    -90.594903                    
+V 20  -3348.390177  -1456.287654  31674.852531       .027043                    
+P 21   5709.682083 -25456.727392  -3454.154770     88.120500                    
+V 21   2919.839563   4844.097508 -31399.373059       .010566                    
+P 22  -1151.499612 -15787.837928  21493.841612     16.294463                    
+V 22  25091.637428  -9733.962614  -5827.463165       .003776                    
+P 23 -15679.520905   6555.448537 -20531.578421    211.544418                    
+V 23 -20783.953527 -15355.980125  10911.845886       .005543                    
+P 24   4716.426983  23383.201040 -11223.920362     89.752691                    
+V 24  -4353.631052  14285.540288  27387.583138       .028976                    
+P 25 -10090.711588 -19987.824235 -13876.081224     84.397302                    
+V 25   2482.726403 -18332.444262  23971.741529       .008718                    
+P 26  22465.357918   5069.846945  13443.801418    317.548102                    
+V 26  13328.313539  11121.056966 -25290.346444       .054824                    
+P 27  -3700.433774  25592.447433  -4360.735018    514.092792                    
+V 27  -3329.312470  -6359.820159 -31203.742152       .062777                    
+P 28    892.039290  16037.673168  21317.469840     46.488687                    
+V 28 -24519.391586  10416.764018  -7205.728254       .001483                    
+P 29  23544.631860   7428.320719  10246.542842    176.943112                    
+V 29   9485.856935   8398.239095 -28484.764082      -.190595                    
+P 30  16955.385354 -17484.233235 -10713.903887    442.819754                    
+V 30  13182.195281  -3472.853072  27275.914331      -.144491                    
+P 31   6691.488418  18816.990195  17010.022616      -.362826                    
+V 31 -20434.150505  -9690.438262  18663.025114      -.078192                    
+*  2005  1 21  4 45   .00000000                                                 
+P  1 -21346.648700 -15651.050328   2543.096205    384.013470                    
+V  1   3640.514679   -155.274463  31992.558752       .020754                    
+P  2  13702.096075  11899.899851 -19724.192966    -42.086260                    
+V  2  -1580.143176  24356.012376  13730.070089       .055591                    
+P  3 -24455.918199 -10552.251759   1807.129389     78.374992                    
+V  3   -570.080779  -4347.997693 -30704.373956       .029565                    
+P  4   7157.391120  22743.133064 -11333.597235    439.565362                    
+V  4  -3309.461652  14412.045941  27163.328401      -.207080                    
+P  5  22917.758521 -12974.118985   2484.623059     73.389849                    
+V  5   -754.158145   4966.207459  31101.697018       .024582                    
+P  6   8654.256987 -13121.931841 -21220.630380   -155.331533                    
+V  6  23903.789381  13588.964584   1223.699198       .876426                    
+P  7  10645.116200  18855.398482  15893.407282     60.184407                    
+V  7 -18238.782291  -7112.100947  21061.544410      -.303601                    
+P  8  -1261.488213  26331.183685    149.972525    -19.169610                    
+V  8  -2932.103473    252.363651 -32143.061495      -.011885                    
+P  9  14104.498963  -8767.456004  20171.737593    -25.029743                    
+V  9   1789.587509  26773.866437  10484.746855      -.018393                    
+P 10  20406.769025   2093.118771 -17089.418476     57.601657                    
+V 10 -18301.234784  11219.724555 -20264.216338       .007317                    
+P 11 -14628.469174   9911.523232  19761.760926    186.882777                    
+V 11  -4145.235130 -25145.585701   9721.960442       .037154                    
+P 13  -8404.821756  12054.110129 -22180.309917    -13.711454                    
+V 13 -23748.726020 -14742.067976   1057.866935       .009735                    
+P 14 -10664.869581 -18663.501769  15670.058825    -31.493617                    
+V 14  17696.518964   8885.054704  22690.237199      -.000762                    
+P 15  -3591.413631 -24715.509997   8380.781283    378.431090                    
+V 15   3790.295862 -10707.108817 -29530.371801       .053102                    
+P 16 -15764.629807  -7258.657824 -20042.718664      1.974073                    
+V 16  21865.706375 -13361.081272 -12272.207760      -.001597                    
+P 17  14790.221880   2536.764636 -21675.192062    -91.088223                    
+V 17  -3438.958205  27881.928745    164.022336       .193881                    
+P 18  12431.021207 -17919.348178  15042.783723   -119.328969                    
+V 18  18040.586127  -6613.654023 -23121.878391      -.037235                    
+P 19 -22924.095964  -4848.663766  12575.264310    -11.959313                    
+V 19 -11802.941551 -10803.288542 -25912.070228      -.008472                    
+P 20 -23389.217253  12530.425470    915.832177    -90.592454                    
+V 20   -285.097317  -3037.184842  31773.420006       .027039                    
+P 21   5968.916920 -24868.323011  -6241.214222     88.121667                    
+V 21   2908.508443   8216.396744 -30443.996714       .010554                    
+P 22   1049.864083 -16707.813834  20788.680832     16.294874                    
+V 22  23755.641617 -10658.943914  -9820.816678       .003778                    
+P 23 -17533.320113   5256.611104 -19377.508224    211.545008                    
+V 23 -20327.066945 -13486.356040  14697.500498       .005533                    
+P 24   4372.584860  24534.255265  -8667.576767     89.754664                    
+V 24  -3345.025389  11244.975466  29335.878345       .028966                    
+P 25  -9903.354087 -21513.968067 -11602.706259     84.398802                    
+V 25   1736.329842 -15530.260754  26471.948730       .008725                    
+P 26  23580.864873   5961.468553  11060.029266    317.552903                    
+V 26  11386.108006   8715.359965 -27605.144525       .054815                    
+P 27  -4018.414124  24867.525327  -7121.615442    514.098479                    
+V 27  -3801.876895  -9725.316511 -30056.315001       .062770                    
+P 28  -1252.495224  17013.596415  20489.881325     46.489157                    
+V 28 -23069.011834  11213.977676 -11161.254337       .001483                    
+P 29  24293.408076   8084.333961   7603.567956    176.926237                    
+V 29   7086.459555   6216.407913 -30165.832219      -.190603                    
+P 30  18011.638525 -17755.995762  -8174.291475    442.806967                    
+V 30  10284.604927  -2494.657457  29080.085682      -.144502                    
+P 31   4753.927842  17944.141770  18532.782177      -.369938                    
+V 31 -22572.902948  -9637.576737  15125.460443      -.078212                    
+*  2005  1 21  5  0   .00000000                                                 
+P  1 -20880.329911 -15592.049311   5392.409642    384.013397                    
+V  1   6743.439904   1395.936684  31235.255033       .020761                    
+P  2  13615.522780  14020.163110 -18326.738667    -42.081169                    
+V  2   -378.810812  22685.164293  17281.777782       .055579                    
+P  3 -24375.292445 -10878.428884   -963.765677     78.376995                    
+V  3   2389.145921  -2958.023787 -30783.998923       .029554                    
+P  4   6891.993432  23904.899805  -8796.684094    439.546881                    
+V  4  -2648.842531  11360.987805  29130.417835      -.207083                    
+P  5  22732.902982 -12433.332232   5253.979612     73.393281                    
+V  5  -3303.820738   7094.567015  30349.781084       .024585                    
+P  6  10821.430389 -11956.822991 -20925.151895   -155.252954                    
+V  6  24174.005684  12267.445425   5332.119768       .876377                    
+P  7   8899.234960  18212.624443  17651.556778     60.157300                    
+V  7 -20517.886731  -7105.943225  17955.362367      -.303605                    
+P  8  -1521.830843  26195.948249  -2735.740479    -19.170193                    
+V  8  -2923.704303  -3252.440551 -31889.868075      -.011882                    
+P  9  14327.972167  -6316.260416  20930.306956    -25.029985                    
+V  9   3189.535457  27603.604670   6347.794109      -.018398                    
+P 10  18704.426981   3198.009450 -18763.218648     57.603649                    
+V 10 -19443.297891  13332.346879 -16877.864665       .007306                    
+P 11 -15055.533238   7615.719039  20463.294716    186.886161                    
+V 11  -5349.573030 -25790.185636   5846.089541       .037145                    
+P 13 -10567.858526  10794.221143 -21895.508519    -13.710493                    
+V 13 -24233.688295 -13215.118622   5262.458590       .009732                    
+P 14  -8954.318088 -17855.455531  17572.152737    -31.493619                    
+V 14  20277.335287   8995.584688  19518.287814      -.000764                    
+P 15  -3283.930087 -25533.107695   5656.985327    378.437258                    
+V 15   3106.683596  -7427.833070 -30909.009141       .053107                    
+P 16 -13780.837078  -8541.143348 -20970.625862      1.973967                    
+V 16  22132.646358 -15113.351269  -8317.770893      -.001600                    
+P 17  14547.733020   5041.149617 -21470.190811    -91.070902                    
+V 17  -1945.100484  27677.666505   4380.328514       .193910                    
+P 18  13931.675745 -18497.446421  12837.340772   -119.331875                    
+V 18  15280.123499  -6157.421875 -25817.815670      -.037236                    
+P 19 -23896.134703  -5721.946300  10141.992416    -11.959977                    
+V 19  -9726.232204  -8627.425518 -28083.618956      -.008483                    
+P 20 -23285.088159  12172.581161   3759.326088    -90.590017                    
+V 20   2554.931055  -4968.832960  31324.334202       .027034                    
+P 21   6245.127894 -23981.995618  -8917.966508     88.122580                    
+V 21   3293.704621  11448.208934 -28952.032048       .010542                    
+P 22   3112.487014 -17696.281470  19731.039848     16.295357                    
+V 22  22019.106769 -11245.462182 -13649.412306       .003778                    
+P 23 -19323.099934   4130.262353 -17893.564296    211.545553                    
+V 23 -19361.014722 -11538.164989  18232.090303       .005521                    
+P 24   4103.232136  25399.944412  -5959.056280     89.756626                    
+V 24  -2705.510333   7959.615220  30764.706981       .028956                    
+P 25  -9767.491842 -22775.297879  -9125.352474     84.400069                    
+V 25   1345.393034 -12462.578199  28498.401716       .008733                    
+P 26  24502.150719   6644.003870   8489.237586    317.557960                    
+V 26   9020.862059   6489.059202 -29441.474999       .054806                    
+P 27  -4395.997439  23847.763486  -9754.445738    514.104099                    
+V 27  -4648.017107 -12895.256657 -28361.751739       .062763                    
+P 28  -3249.119526  18045.102020  19313.743941     46.489266                    
+V 28 -21243.607373  11642.069399 -14940.186042       .001481                    
+P 29  24809.030888   8555.000855   4831.906438    176.909230                    
+V 29   4315.434861   4291.740931 -31340.043609      -.190611                    
+P 30  18807.005934 -17920.568489  -5494.331351    442.793864                    
+V 30   7400.006751  -1093.630418  30389.770735      -.144512                    
+P 31   2638.552095  17093.940867  19724.502635      -.376990                    
+V 31 -24372.494240  -9194.766749  11317.977570      -.078231                    
+*  2005  1 21  5 15   .00000000                                                 
+P  1 -20130.434917 -15412.931235   8149.467059    384.015815                    
+V  1   9926.039548   2509.461677  29945.737338       .020768                    
+P  2  13626.495622  15970.351717 -16622.020104    -42.076013                    
+V  2    575.720795  20585.530557  20548.719252       .055565                    
+P  3 -24022.194165 -11095.584404  -3718.358246     78.377638                    
+V  3   5470.782412  -1930.455877 -30342.836896       .029543                    
+P  4   6669.127634  24781.566488  -6105.407470    439.528328                    
+V  4  -2370.028786   8092.043665  30588.306926      -.207087                    
+P  5  22333.029967 -11690.381131   7931.641179     73.395988                    
+V  5  -5521.980009   9446.401539  29066.781422       .024586                    
+P  6  12990.523864 -10918.821715 -20263.803062   -155.174053                    
+V  6  23943.017269  10778.419456   9342.143083       .876329                    
+P  7   6960.347850  17587.591358  19116.605574     60.129941                    
+V  7 -22515.566834  -6724.836444  14557.081241      -.303610                    
+P  8  -1800.290947  25748.219779  -5573.433744    -19.171649                    
+V  8  -3332.525527  -6674.852084 -31078.022875      -.011878                    
+P  9  14679.596539  -3815.876241  21311.112187    -25.031759                    
+V  9   4622.120524  27865.076853   2103.289974      -.018403                    
+P 10  16922.447927   4491.326295 -20118.667808     57.604491                    
+V 10 -20070.224251  15391.121393 -13199.468036       .007296                    
+P 11 -15590.998501   5284.151948  20811.196035    186.889589                    
+V 11  -6540.783218 -25939.943129   1874.888029       .037135                    
+P 13 -12751.075222   9681.320218 -21235.686735    -13.709723                    
+V 13 -24192.241254 -11490.665708   9379.776593       .009729                    
+P 14  -7023.214749 -17057.448896  19173.352283    -31.493591                    
+V 14  22582.904014   8668.283458  16013.243746      -.000766                    
+P 15  -3020.232558 -26047.898939   2833.556563    378.442942                    
+V 15   2821.711624  -3994.693452 -31741.424044       .053111                    
+P 16 -11795.902547  -9973.179130 -21535.528776      1.973799                    
+V 16  21895.227567 -16669.748605  -4217.139590      -.001604                    
+P 17  14439.535154   7502.105934 -20889.859179    -91.053513                    
+V 17   -470.107313  26919.420151   8492.558498       .193938                    
+P 18  15177.994260 -19013.938538  10408.903485   -119.335655                    
+V 18  12404.768500  -5243.638781 -28069.781881      -.037238                    
+P 19 -24662.667219  -6407.222493   7534.616258    -11.960630                    
+V 19  -7245.040069  -6638.645404 -29775.330709      -.008495                    
+P 20 -22938.415626  11627.292750   6537.978520    -90.587727                    
+V 20   5092.517115  -7191.445761  30334.427993       .027030                    
+P 21   6572.821645 -22814.723421 -11437.329108     88.123592                    
+V 21   4046.260865  14444.378814 -26952.014422       .010529                    
+P 22   5003.367362 -18720.132126  18338.659001     16.295744                    
+V 22  19951.710227 -11436.976529 -17249.043849       .003776                    
+P 23 -21003.232844   3179.351051 -16105.051649    211.545915                    
+V 23 -17893.229284  -9602.897235  21456.188663       .005510                    
+P 24   3873.470744  25962.536928  -3146.198377     89.758592                    
+V 24  -2469.444592   4526.103536  31651.581609       .028947                    
+P 25  -9649.494206 -23752.049321  -6488.188884     84.400608                    
+V 25   1343.499107  -9222.288111  30018.682803       .008740                    
+P 26  25193.678444   7137.314828   5775.674975    317.563028                    
+V 26   6291.335011   4522.845175 -30774.370312       .054797                    
+P 27  -4864.972883  22555.120312 -12211.119416    514.109832                    
+V 27  -5824.123178 -15774.176077 -26147.202383       .062756                    
+P 28  -5067.258431  19096.519076  17807.906105     46.489635                    
+V 28 -19115.662589  11649.026832 -18477.282506       .001478                    
+P 29  25061.172541   8866.605206   1978.248767    176.891812                    
+V 29   1244.366156   2691.855477 -31984.907673      -.190619                    
+P 30  19346.739284 -17940.910871  -2719.747742    442.780515                    
+V 30   4618.546659    704.759751  31179.254545      -.144523                    
+P 31    379.238537  16299.199491  20564.036283      -.384071                    
+V 31 -25760.577657  -8415.217466   7311.222251      -.078251                    
+*  2005  1 21  5 30   .00000000                                                 
+P  1 -19094.203625 -15154.029406  10767.393238    384.018285                    
+V  1  13089.920913   3167.525453  28148.185329       .020774                    
+P  2  13709.772878  17714.499542 -14638.151822    -42.070924                    
+V  2   1218.033339  18117.663385  23476.405247       .055550                    
+P  3 -23389.474815 -11237.486499  -6410.102321     78.380141                    
+V  3   8588.234321  -1288.176915 -29389.485996       .029533                    
+P  4   6453.152101  25357.825087  -3306.889048    439.509571                    
+V  4  -2498.460512   4701.814939  31509.857651      -.207090                    
+P  5  21750.549978 -10728.641945  10470.698422     73.399054                    
+V  5  -7353.899651  11942.555089  27274.041828       .024588                    
+P  6  15115.772962 -10019.145514 -19248.643325   -155.095278                    
+V  6  23199.293646   9208.166013  13183.049373       .876281                    
+P  7   4856.946546  17011.956647  20264.719572     60.102590                    
+V  7 -24163.157361  -6017.377633  10921.845918      -.303615                    
+P  8  -2133.547785  24999.952045  -8313.539091    -19.173550                    
+V  8  -4136.148152  -9914.940790 -29724.992446      -.011874                    
+P  9  15158.178404  -1317.633547  21308.081809    -25.033054                    
+V  9   5995.592594  27557.681026  -2168.463001      -.018408                    
+P 10  15107.109856   5963.956288 -21132.178907     57.604623                    
+V 10 -20186.982288  17301.499398  -9289.742354       .007285                    
+P 11 -16230.087530   2961.202767  20799.983905    186.893071                    
+V 11  -7639.212933 -25601.132724  -2122.673169       .037124                    
+P 13 -14906.046782   8729.053176 -20211.881357    -13.708983                    
+V 13 -23604.258029  -9661.239377  13339.417589       .009726                    
+P 14  -4900.176877 -16306.926639  20446.335559    -31.493693                    
+V 14  24529.464766   7949.427452  12234.982379      -.000770                    
+P 15  -2763.524125 -26250.582886    -39.689701    378.449619                    
+V 15   2952.686942   -509.269338 -32014.806886       .053114                    
+P 16  -9853.830808 -11533.278876 -21727.462529      1.973547                    
+V 16  21187.215443 -17945.812690    -41.609808      -.001607                    
+P 17  14459.827412   9870.755873 -19946.778572    -91.036208                    
+V 17    895.556116  25632.120028  12430.015583       .193966                    
+P 18  16164.006427 -19427.662614   7799.342803   -119.339117                    
+V 18   9511.779317  -3875.868596 -29836.599482      -.037237                    
+P 19 -25189.923443  -6924.761279   4797.743059    -11.961741                    
+V 19  -4420.361824  -4911.406566 -30956.998277      -.008506                    
+P 20 -22379.524051  10871.578569   9203.777699    -90.585260                    
+V 20   7260.976402  -9631.767716  28819.973297       .027026                    
+P 21   6983.113003 -21391.679797 -13755.218033     88.124536                    
+V 21   5120.255592  17118.538503 -24481.906418       .010516                    
+P 22   6696.266044 -19741.816678  16634.905342     16.295963                    
+V 22  17633.589940 -11191.690688 -20559.042191       .003775                    
+P 23 -22529.577234   2398.675706 -14042.400175    211.546284                    
+V 23 -15949.215628  -7769.597330  24315.485241       .005500                    
+P 24   3646.128440  26213.234835   -278.410672     89.760869                    
+V 24  -2652.861086   1045.671276  31984.160669       .028939                    
+P 25  -9513.491168 -24433.059041  -3737.863625     84.402204                    
+V 25   1746.687866  -5907.000263  31010.159321       .008747                    
+P 26  25625.808233   7467.975265   2965.459930    317.568152                    
+V 26   3269.398603   2884.764754 -31587.233768       .054788                    
+P 27  -5452.454014  21019.711447 -14446.484028    514.115619                    
+V 27  -7270.240046 -18276.915797 -23451.080230       .062750                    
+P 28  -6683.327428  20128.183938  15996.956439     46.489525                    
+V 28 -16767.566397  11198.473243 -21710.413613       .001475                    
+P 29  25026.524487   9050.901491   -909.065821    176.874577                    
+V 29  -2042.792850   1470.305373 -32086.357437      -.190627                    
+P 30  19643.997212 -17783.051936    101.809880    442.767719                    
+V 30   2025.225201   2857.939960  31431.568459      -.144534                    
+P 31  -1984.250605  15587.313654  21036.773893      -.391089                    
+V 31 -26679.179381  -7365.620234   3179.574330      -.078271                    
+*  2005  1 21  5 45   .00000000                                                 
+P  1 -17777.778479 -14856.423580  13201.864619    384.020312                    
+V  1  16136.255354   3371.327340  25875.021752       .020781                    
+P  2  13834.777084  19222.658673 -12407.938752    -42.065868                    
+V  2   1495.368929  15354.365932  26015.229365       .055533                    
+P  3 -22477.902580 -11339.223277  -8993.594590     78.382297                    
+V  3  11652.695549  -1037.566352 -27940.697194       .029524                    
+P  4   6206.955565  25627.276290   -450.249902    439.490879                    
+V  4  -3041.227602   1291.026336  31877.862135      -.207093                    
+P  5  21022.098328  -9539.005066  12826.590902     73.402586                    
+V  5  -8760.732325  14495.748022  25002.346051       .024589                    
+P  6  17151.202139  -9261.154320 -17897.949477   -155.016630                    
+V  6  21949.690802   7644.414245  16787.609677       .876233                    
+P  7   2623.227258  16512.441688  21077.176968     60.074948                    
+V  7 -25402.921687  -5044.302922   7107.996318      -.303620                    
+P  8  -2555.453014  23971.787013 -10908.503671    -19.174414                    
+V  8  -5294.401082 -12880.179590 -27857.986771      -.011869                    
+P  9  15754.341248   1128.030792  20922.375715    -25.034138                    
+V  9   7220.534672  26701.760501  -6387.386553      -.018414                    
+P 10  13303.414206   7598.403414 -21785.827161     57.605249                    
+V 10 -19816.880076  18972.340826  -5213.647262       .007275                    
+P 11 -16960.971830    689.932152  20430.395894    186.896412                    
+V 11  -8568.356220 -24796.699645  -6077.577634       .037113                    
+P 13 -16983.402256   7942.587486 -18841.363800    -13.708071                    
+V 13 -22468.937593  -7822.096697  17073.432703       .009724                    
+P 14  -2620.859507 -15636.465949  21369.381454    -31.493654                    
+V 14  26044.878923   6900.536962   8247.915491      -.000774                    
+P 15  -2476.298687 -26141.085298  -2912.258776    378.455243                    
+V 15   3498.027750   2925.655341 -31726.866657       .053117                    
+P 16  -7994.821224 -13192.747164 -21542.953724      1.973310                    
+V 16  20059.114604 -18866.346753   4136.075295      -.001609                    
+P 17  14594.913254  12101.287704 -18659.677477    -91.018852                    
+V 17   2067.476515  23858.682871  16126.970081       .193995                    
+P 18  16892.477884 -19698.631853   5053.859717   -119.342570                    
+V 18   6697.396896  -2076.614880 -31085.579829      -.037235                    
+P 19 -25450.257030  -7301.006000   1978.314880    -11.962597                    
+V 19  -1326.878639  -3508.011132 -31607.032024      -.008516                    
+P 20 -21644.081629   9889.554290  11710.593130    -90.583098                    
+V 20   9008.612544 -12205.836316  26806.451677       .027023                    
+P 21   7502.304166 -19745.289431 -15831.356538     88.125459                    
+V 21   6455.057442  19396.427521 -21588.182712       .010503                    
+P 22   8172.516537 -20720.755750  14648.410912     16.296243                    
+V 22  15152.363362 -10484.306207 -23523.232907       .003775                    
+P 23 -23861.071648   1775.259787 -11740.665017    211.546791                    
+V 23 -13571.724530  -6121.444215  26761.643304       .005489                    
+P 24   3383.435650  26152.410248   2594.245836     89.762937                    
+V 24  -3252.985534  -2379.787718  31760.247643       .028930                    
+P 25  -9322.978915 -24816.017888   -922.615728     84.402513                    
+V 25   2552.988965  -2615.229584  31460.112957       .008755                    
+P 26  25775.859338   7668.028890    105.831986    317.573030                    
+V 26     37.352246   1628.000745 -31871.722585       .054779                    
+P 27  -6179.512503  19278.713102 -16419.327548    514.121103                    
+V 27  -8912.537004 -20332.310225 -20322.405152       .062743                    
+P 28  -8081.489930  21097.930209  13910.892531     46.489736                    
+V 28 -14288.568731  10271.408686 -24581.700907       .001472                    
+P 29  24689.783307   9143.749083  -3780.827901    176.856927                    
+V 29  -5452.626036    664.446677 -31639.185895      -.190634                    
+P 30  19719.232993 -17417.573180   2921.578737    442.754905                    
+V 30   -303.382082   5307.601751  31139.016181      -.144544                    
+P 31  -4407.674367  14979.180968  21134.905812      -.398439                    
+V 31 -27087.084267  -6123.152036  -1000.527488      -.078290                    
+*  2005  1 21  6  0   .00000000                                                 
+P  1 -16196.079153 -14560.239784  15411.822337    384.021207                    
+V  1  18969.420015   3140.755255  23166.255033       .020788                    
+P  2  13966.834589  20471.892192  -9968.400658    -42.060914                    
+V  2   1369.777120  12378.182895  28121.265561       .055517                    
+P  3 -21296.218695 -11435.707897 -11425.294894     78.384619                    
+V  3  14576.321839  -1168.389239 -26021.063396       .029514                    
+P  4   5893.631583  25592.624313   2414.302764    439.472104                    
+V  4  -3986.691229  -2039.408507  31685.438651      -.207096                    
+P  5  20187.033875  -8120.454127  14957.934578     73.405833                    
+V  5  -9720.989544  17014.004301  22291.392038       .024589                    
+P  6  19052.272878  -8640.382783 -16235.845212   -154.938001                    
+V  6  20219.180425   6172.735031  20093.317078       .876185                    
+P  7    298.014343  16109.841162  21540.622919     60.047546                    
+V  7 -26190.046966  -3876.164573   3176.336244      -.303624                    
+P  8  -3095.510577  22692.228557 -13313.635461    -19.175650                    
+V  8  -6751.200309 -15488.921760 -25513.216381      -.011864                    
+P  9  16450.914328   3473.415397  20162.280892    -25.035909                    
+V  9   8213.789604  25337.502924 -10475.478474      -.018419                    
+P 10  11553.470087   9369.255649 -22067.689513     57.605361                    
+V 10 -19000.680343  20319.450123  -1039.428110       .007265                    
+P 11 -17765.195817  -1489.378835  19709.338028    186.899660                    
+V 11  -9257.947386 -23565.248306  -9921.961182       .037101                    
+P 13 -18934.577913   7318.535488 -17147.367008    -13.707222                    
+V 13 -20804.988163  -6067.466708  20517.481736       .009722                    
+P 14   -226.782869 -15072.513151  21926.730157    -31.493876                    
+V 14  27071.360734   5595.872647   4119.922238      -.000778                    
+P 15  -2122.038264 -25728.486251  -5733.918814    378.461301                    
+V 15   4437.455756   6210.092863 -30885.692117       .053119                    
+P 16  -6253.849458 -14916.654610 -20985.091928      1.973060                    
+V 16  18576.108222 -19368.491249   8243.035264      -.001610                    
+P 17  14823.895740  14152.488075 -17052.940372    -91.001652                    
+V 17   2970.566311  21657.994090  19523.601923       .194024                    
+P 18  17374.648576 -19789.715042   2220.187280   -119.346017                    
+V 18   4053.080187    113.343224 -31793.250401      -.037233                    
+P 19 -25423.259811  -7567.366625   -875.188725    -11.963428                    
+V 19   1949.730836  -2476.163477 -31712.919545      -.008525                    
+P 20 -20771.660611   8673.255281  14014.987680    -90.580513                    
+V 20  10300.631063 -14822.185108  24328.153173       .027020                    
+P 21   8150.675840 -17914.009177 -17629.993363     88.126330                    
+V 21   7977.971557  21218.669460 -18324.741140       .010490                    
+P 22   9421.552868 -21614.881210  12412.626749     16.296359                    
+V 22  12599.863617  -9307.177961 -26090.849586       .003775                    
+P 23 -24961.225642   1289.025632  -9238.953396    211.547390                    
+V 23 -10819.288480  -4732.553827  28753.075404       .005479                    
+P 24   3048.710631  25789.489578   5421.961668     89.764996                    
+V 24  -4248.530544  -5651.594652  30987.576034       .028923                    
+P 25  -9042.433724 -24907.382462   1908.614550     84.403369                    
+V 25   3742.699668    557.356645  31365.646411       .008762                    
+P 26  25628.916516   7773.573162  -2755.582467    317.577871                    
+V 26  -3315.050959    789.229890 -31627.542316       .054771                    
+P 27  -7060.067476  17374.957648 -18093.290108    514.126612                    
+V 27 -10666.481899 -21886.289836 -16819.779798       .062736                    
+P 28  -9254.125415  21962.707632  11584.686967     46.489781                    
+V 28 -11771.417977   8867.320231 -27038.655203       .001469                    
+P 29  24044.355718   9183.579816  -6587.770571    176.839467                    
+V 29  -8885.572428    293.882455 -30647.365160      -.190642                    
+P 30  19599.298851 -16820.938305   5690.535062    442.741920                    
+V 30  -2302.120662   7981.727317  30303.541044      -.144555                    
+P 31  -6843.901199  14488.408721  20857.530720      -.405608                    
+V 31 -26961.480507  -4772.043399  -5152.285597      -.078310                    
+*  2005  1 21  6 15   .00000000                                                 
+P  1 -14372.355430 -14303.007435  17360.121916    384.022972                    
+V  1  21500.486266   2513.404464  20068.732023       .020795                    
+P  2  14068.586144  21447.023615  -7360.226188    -42.055955                    
+V  2    819.755846   9278.516239  29757.033441       .055500                    
+P  3 -19860.909329 -11560.201022 -13664.214574     78.386881                    
+V  3  17275.359963  -1654.290376 -23662.617367       .029506                    
+P  4   5478.151408  25265.515636   5236.413929    439.453865                    
+V  4  -5304.898400  -5192.336434  30936.190620      -.207099                    
+P  5  19285.837042  -6480.325621  16827.292803     73.408658                    
+V  5 -10231.301009  19404.299159  19189.064473       .024589                    
+P  6  20777.474772  -8144.892584 -14291.825413   -154.859156                    
+V  6  18049.859443   4873.062156  23043.491090       .876138                    
+P  7  -2076.476700  15818.256347  21647.258224     60.020176                    
+V  7 -26494.210028  -2590.690058   -810.602753      -.303628                    
+P  8  -3777.548254  21196.526726 -15487.870911    -19.176176                    
+V  8  -8436.941689 -17673.353004 -22734.959514      -.011860                    
+P  9  17223.660380   5675.258364  19042.945998    -25.037065                    
+V  9   8902.039185  23522.984187 -14358.531863      -.018424                    
+P 10   9894.987938  11243.961678 -21972.094132     57.605617                    
+V 10 -17795.058999  21268.901994   3162.424114       .007255                    
+P 11 -18618.368132  -3540.570350  18649.728922    186.902961                    
+V 11  -9646.789444 -21959.445344 -13590.261449       .037090                    
+P 13 -20713.553620   6845.215375 -15158.710254    -13.706545                    
+V 13 -18650.072132  -4486.823478  23611.945061       .009720                    
+P 14   2236.062502 -14634.368116  22108.845280    -31.493833                    
+V 14  27567.672538   4119.452466    -78.767808      -.000782                    
+P 15  -1666.857669 -25030.594306  -8455.620048    378.464188                    
+V 15   5732.966325   9250.679422 -29509.383616       .053121                    
+P 16  -4659.461145 -16665.069111 -20063.482619      1.972877                    
+V 16  16815.420150 -19404.321472  12207.571713      -.001611                    
+P 17  15119.646280  15989.068191 -15156.041501    -90.984053                    
+V 17   3541.851461  19102.364079  22566.729653       .194053                    
+P 18  17629.638813 -19668.222982   -652.264909   -119.349660                    
+V 18   1661.913320   2636.370922 -31945.902353      -.037229                    
+P 19 -25096.613425  -7758.816735  -3713.582711    -11.964388                    
+V 19   5315.925617  -1847.087996 -31271.533556      -.008533                    
+P 20 -19804.154538   7223.155449  16076.986002    -90.578276                    
+V 20  11120.392911 -17385.363294  21427.608050       .027017                    
+P 21   8941.538871 -15940.887678 -19120.516689     88.127130                    
+V 21   9607.358744  22542.896065 -14751.681240       .010477                    
+P 22  10441.135365 -22382.252871   9965.297126     16.296533                    
+V 22  10068.706502  -7670.823610 -28217.390754       .003777                    
+P 23 -25799.452013    913.741706  -6579.785666    211.548106                    
+V 23  -7764.170774  -3665.120492  30255.627491       .005466                    
+P 24   2607.984451  25142.496732   8156.055616     89.766802                    
+V 24  -5600.730050  -8677.960619  29683.402816       .028916                    
+P 25  -8638.868753 -24721.957347   4707.057916     84.403515                    
+V 25   5279.366675   3521.480189  30733.392625       .008770                    
+P 26  25178.359746   7823.222460  -5571.482714    317.582799                    
+V 26  -6693.761787    387.585097 -30862.174673       .054762                    
+P 27  -8100.086764  15355.283492 -19437.667475    514.132116                    
+V 27 -12440.568270 -22904.218581 -13010.029546       .062730                    
+P 28 -10201.985005  22680.269880   9057.752146     46.489801                    
+V 28  -9308.798831   7004.593759 -29035.283590       .001466                    
+P 29  23092.750663   9209.754551  -9281.404862    176.822356                    
+V 29 -12239.542419    359.562593 -29124.228326      -.190649                    
+P 30  19316.298305 -15976.613349   8360.271456    442.729119                    
+V 30  -3919.838855  10797.208450  28936.911312      -.144565                    
+P 31  -9244.609170  14120.844196  20210.612494      -.412377                    
+V 31 -26298.797535  -3399.878831  -9200.209645      -.078329                    
+*  2005  1 21  6 30   .00000000                                                 
+P  1 -12337.437634 -14118.134328  19014.112292    384.024802                    
+V  1  23650.432834   1542.949399  16635.317429       .020802                    
+P  2  14101.519745  22141.113179  -4627.159951    -42.051001                    
+V  2   -158.683105   6148.455407  30892.218553       .055484                    
+P  3 -18195.701839 -11742.904264 -15672.564741     78.389750                    
+V  3  19673.126283  -2453.872604 -20904.344232       .029497                    
+P  4   4928.964347  24666.028152   7966.522463    439.435007                    
+V  4  -6948.773232  -8078.155528  29644.122586      -.207102                    
+P  5  18358.472973  -4634.236088  18401.873360     73.412942                    
+V  5 -10306.426669  21576.272148  15750.521643       .024588                    
+P  6  22289.796926  -7755.926659 -12100.187535   -154.780556                    
+V  6  15499.291912   3816.484336  25588.234807       .876090                    
+P  7  -4455.996133  15644.577453  21394.961323     59.992525                    
+V  7 -26300.669229  -1269.902430  -4789.308133      -.303632                    
+P  8  -4618.631959  19525.320534 -17394.457403    -19.176502                    
+V  8 -10271.491064 -19381.867076 -19574.545039      -.011856                    
+P  9  18042.303600   7696.231142  17585.969305    -25.039498                    
+V  9   9224.873748  21331.479240 -17967.665743      -.018430                    
+P 10   8359.939889  13183.892714 -21499.772908     57.605951                    
+V 10 -16270.451212  21760.030450   7320.286743       .007246                    
+P 11 -19491.091557  -5432.777852  17270.243302    186.906247                    
+V 11  -9685.211919 -20043.906733 -17020.301592       .037078                    
+P 13 -22278.506450   6503.240984 -12909.326487    -13.705837                    
+V 13 -16059.526634  -3161.329804  26302.974012       .009720                    
+P 14   4718.781018 -14333.454574  21912.573780    -31.493995                    
+V 14  27510.703454   2561.701342  -4276.726039      -.000787                    
+P 15  -1081.029012 -24073.190005 -11030.371470    378.470531                    
+V 15   7330.516425  11964.171075 -27625.479936       .053124                    
+P 16  -3232.825087 -18394.495381 -18794.081982      1.972636                    
+V 16  14863.204711 -18942.862950  15960.470435      -.001612                    
+P 17  15449.999386  17582.742200 -13002.922156    -90.966702                    
+V 17   3732.695882  16274.586945  25210.339466       .194082                    
+P 18  17683.545529 -19307.334875  -3513.306638   -119.352750                    
+V 18   -404.661340   5420.103268 -31539.937852      -.037225                    
+P 19 -24466.642966  -7912.349354  -6487.828947    -11.965319                    
+V 19   8673.768398  -1634.286386 -30289.276085      -.008540                    
+P 20 -18784.114465   5548.360222  17860.784602    -90.575817                    
+V 20  11469.954508 -19799.633653  18154.860154       .027015                    
+P 21   9880.582438 -13871.966126 -20277.953805     88.127742                    
+V 21  11256.081246  23345.144212 -10933.993386       .010467                    
+P 22  11237.264361 -22982.690869   7347.859722     16.296586                    
+V 22   7648.810060  -5603.759744 -29865.406862       .003782                    
+P 23 -26352.190621    618.207891  -3808.399290    211.548625                    
+V 23  -4489.798864  -2967.002504  31243.161407       .005452                    
+P 24   2031.501886  24237.280083  10749.807288     89.769987                    
+V 24  -7255.049110 -11377.317454  27873.937262       .028909                    
+P 25  -8083.273246 -24282.173138   7424.954271     84.404747                    
+V 25   7111.403374   6197.452217  29579.060226       .008778                    
+P 26  24426.105402   7856.505395  -8295.579445    317.587189                    
+V 26 -10003.673003    424.229480 -29590.557069       .054754                    
+P 27  -9297.141305  13268.714258 -20428.078953    514.137460                    
+V 27 -14140.405686 -23372.331570  -8966.557651       .062724                    
+P 28 -10934.022473  23210.866273   6373.308005     46.489671                    
+V 28  -6989.705530   4720.184167 -30533.134059       .001465                    
+P 29  21846.637243   9260.870371 -11814.864600    176.805120                    
+V 29 -15413.704464    843.593821 -27092.494524      -.190656                    
+P 30  18906.229306 -14875.927794  10883.881977    442.716194                    
+V 30  -5121.436968  13662.965831  27060.704216      -.144576                    
+P 31 -11562.024272  13874.443339  19206.790679      -.419473                    
+V 31 -25114.714851  -2093.807160 -13071.694946      -.078348                    
+*  2005  1 21  6 45   .00000000                                                 
+P  1 -10128.714418 -14033.554755  20346.138247    384.028200                    
+V  1  25352.974662    296.937496  12924.014771       .020810                    
+P  2  14027.571383  22555.639809  -1815.327401    -42.046065                    
+V  2  -1551.578031   3081.424846  31504.331564       .055468                    
+P  3 -16330.803534 -12009.675559 -17416.357008     78.392864                    
+V  3  21702.734114  -3512.320341 -17791.613275       .029488                    
+P  4   4219.457796  23821.832563  10556.784431    439.416316                    
+V  4  -8856.031583 -10618.280922  27833.316454      -.207105                    
+P  5  17442.787469  -2605.678166  19654.135780     73.415580                    
+V  5  -9978.518786  23445.846417  12037.119232       .024586                    
+P  6  23558.022958  -7448.835156  -9699.384037   -154.701945                    
+V  6  12638.262212   3062.434223  27685.230192       .876043                    
+P  7  -6795.692503  15588.232709  20787.342364     59.965147                    
+V  7 -25610.848492      2.913269  -8696.050240      -.303636                    
+P  8  -5628.263698  17723.099007 -19001.536781    -19.176872                    
+V  8 -12167.472250 -20580.734678 -16089.218686      -.011852                    
+P  9  18871.806086   9506.163119  15818.859005    -25.041699                    
+V  9   9137.225966  18848.194690 -21240.625478      -.018434                    
+P 10   6973.439104  15145.653670 -20657.910782     57.606322                    
+V 10 -14508.352627  21747.962106  11362.581903       .007237                    
+P 11 -20350.094056  -7141.396029  15594.961521    186.909426                    
+V 11  -9337.068819 -17892.656395 -20154.293074       .037068                    
+P 13 -23593.318023   6266.418757 -10437.698642    -13.705077                    
+V 13 -13104.401515  -2160.589839  28543.460081       .009721                    
+P 14   7171.249336 -14172.903814  21341.201296    -31.494260                    
+V 14  26896.373172   1015.858890  -8402.495017      -.000790                    
+P 15   -340.325261 -22888.974898 -13414.057809    378.475475                    
+V 15   9162.340311  14280.470743 -25270.210055       .053126                    
+P 16  -1987.083019 -20059.466477 -17198.916285      1.972323                    
+V 16  12811.088823 -17971.441713  19436.259467      -.001612                    
+P 17  15779.120389  18913.027871 -10631.328606    -90.949292                    
+V 17   3510.414584  13264.732359  27415.934794       .194111                    
+P 18  17568.264573 -18687.304661  -6312.884683   -119.355856                    
+V 18  -2089.642126   8380.193088 -30582.002545      -.037224                    
+P 19 -23538.548720  -8065.351928  -9149.893906    -11.966176                    
+V 19  11924.589657  -1832.990627 -28782.050127      -.008546                    
+P 20 -17753.069722   3666.464169  19335.389834    -90.573191                    
+V 20  11369.869782 -21972.702119  14566.594400       .027011                    
+P 21  10965.541265 -11754.587576 -21083.350381     88.128835                    
+V 21  12835.119916  23620.487640  -6940.200927       .010457                    
+P 22  11823.783258 -23379.362735   4604.778650     16.296981                    
+V 22   5423.993076  -3151.660288 -31005.202445       .003786                    
+P 23 -26603.781321    367.634615   -972.005354    211.548800                    
+V 23  -1087.771858  -2669.842764  31698.025756       .005439                    
+P 24   1295.041317  23106.459685  13159.231918     89.771290                    
+V 24  -9143.479620 -13681.185411  25593.634246       .028902                    
+P 25  -7351.880549 -23617.096230  10016.343403     84.405596                    
+V 25   9174.262025   8517.910308  27926.817807       .008786                    
+P 26  23382.556070   7912.251059 -10883.250029    317.591960                    
+V 26 -13151.839549    882.534012 -27834.727969       .054746                    
+P 27 -10640.336053  11164.552317 -21046.977019    514.143165                    
+V 27 -15672.958446 -23298.191592  -4767.485497       .062718                    
+P 28 -11466.901384  23518.869782   3577.659847     46.489647                    
+V 28  -4895.896401   2068.529801 -31502.242761       .001466                    
+P 29  20326.559466   9373.083857 -14143.745791    176.788218                    
+V 29 -18312.300442   1709.790066 -24584.119549      -.190662                    
+P 30  18407.470741 -13518.636791  13216.836209    442.703528                    
+V 30  -5889.284017  16483.449691  24706.074989      -.144586                    
+P 31 -13750.622826  13739.477928  17865.054633      -.426769                    
+V 31 -23443.362087   -936.837636 -16698.466648      -.078367                    
+*  2005  1 21  7  0   .00000000                                                 
+P  1  -7788.876804 -14070.599009  21333.961601    384.030845                    
+V  1  26556.914262  -1145.908705   8997.041788       .020816                    
+P  2  13810.735309  22700.377398   1027.496159    -42.040976                    
+V  2  -3327.246083    167.763205  31579.287177       .055451                    
+P  3 -14301.909779 -12380.913181 -18865.949597     78.395094                    
+V  3  23309.477530  -4763.512726 -14375.532738       .029480                    
+P  4   3329.215577  22767.062185  12961.956893    439.397783                    
+V  4 -10951.731662 -12748.135679  25537.380335      -.207108                    
+P  5  16573.002024   -425.300977  20562.295501     73.419037                    
+V  5  -9295.665644  24938.598876   8115.199159       .024584                    
+P  6  24557.801014  -7194.232466  -7131.310877   -154.622983                    
+V  6   9548.040768   2656.380090  29300.362686       .875996                    
+P  7  -9051.574007  15641.214057  19833.727505     59.937922                    
+V  7 -24442.391311   1146.308165 -12467.669752      -.303640                    
+P  8  -6807.888015  15836.543906 -20282.625424    -19.178474                    
+V  8 -14033.806551 -21255.054293 -12340.970707      -.011848                    
+P  9  19673.831329  11082.952647  13774.387863    -25.043012                    
+V  9   8611.083202  16166.598684 -24122.827260      -.018439                    
+P 10   5752.883215  17082.597757 -19460.086926     57.607597                    
+V 10 -12598.165992  21205.586831  15219.000434       .007228                    
+P 11 -21159.516226  -8648.798479  13652.932944    186.912589                    
+V 11  -8581.206794 -15586.257712 -22939.745198       .037059                    
+P 13 -24628.877016   6102.918190  -7786.213133    -13.704143                    
+V 13  -9868.883395  -1539.839266  30293.903178       .009722                    
+P 14   9543.843262 -14147.467575  20404.401911    -31.494367                    
+V 14  25739.826708   -425.720727 -12385.761797      -.000792                    
+P 15    572.868667 -21516.273486 -15566.182532    378.480694                    
+V 15  11149.779348  16145.076058 -22487.603074       .053128                    
+P 16   -927.021035 -21614.224707 -15305.691000      1.972136                    
+V 16  10752.505751 -16496.313679  22574.397066      -.001611                    
+P 17  16068.989934  19967.751337  -8082.125710    -90.931826                    
+V 17   2859.254611  10166.797753  29152.731095       .194141                    
+P 18  17320.086838 -17796.396163  -9002.002340   -119.359214                    
+V 18  -3352.676118  11423.568703 -29088.895346      -.037224                    
+P 19 -22326.304574  -8253.964569 -11653.595818    -11.967071                    
+V 19  14972.706618  -2420.340613 -26775.053617      -.008551                    
+P 20 -16749.899604   1603.077135  20475.171400    -90.570910                    
+V 20  10858.259793 -23819.330069  10725.134526       .027007                    
+P 21  12186.190221  -9635.684052 -21524.026915     88.129377                    
+V 21  14257.207063  23382.901083  -2840.994825       .010448                    
+P 22  12221.683776 -23540.264879   1782.818711     16.297323                    
+V 22   3468.779356   -375.856854 -31615.437596       .003791                    
+P 23 -26547.052327    125.164227   1880.991917    211.548990                    
+V 23   2345.451768  -2787.797623  31611.405335       .005429                    
+P 24    381.005649  21788.140888  15343.786585     89.773555                    
+V 24 -11187.313938 -15536.483536  22884.381512       .028896                    
+P 25  -6427.221539 -22761.215406  12437.795969     84.406351                    
+V 25  11393.011090  10430.044489  25808.628892       .008794                    
+P 26  22066.264859   8027.017653 -13292.160698    317.597194                    
+V 26 -16050.588136   1728.836901 -25623.447667       .054738                    
+P 27 -12110.620634   9090.476391 -21283.982984    514.148903                    
+V 27 -16950.708551 -22710.143721   -493.660842       .062712                    
+P 28 -11824.192464  23574.273884    719.396667     46.489758                    
+V 28  -3098.580635   -880.270544 -31921.947330       .001468                    
+P 29  18561.311942   9578.517394 -16226.924171    176.771389                    
+V 29 -20848.339074   2904.964703 -21639.957764      -.190669                    
+P 30  17859.172810 -11913.156390  15317.822567    442.690758                    
+V 30  -6223.927177  19162.380817  21913.304058      -.144597                    
+P 31 -15768.727585  13699.066004  16210.295160      -.433616                    
+V 31 -21335.769743     -4.386111 -20017.852750      -.078386                    
+*  2005  1 21  7 15   .00000000                                                 
+P  1  -5364.474993 -14243.124121  21961.097545    384.032873                    
+V  1  27227.940028  -2698.781042   4919.871204       .020822                    
+P  2  13418.623194  22592.964715   3852.664260    -42.036040                    
+V  2  -5437.190683  -2508.642738  31111.881285       .055435                    
+P  3 -12149.016127 -12870.649355 -19996.532027     78.397575                    
+V  3  24452.789818  -6132.555485 -10712.230617       .029471                    
+P  4   2245.022366  21540.939770  15140.222608    439.379283                    
+V  4 -13151.344256 -14419.540858  22798.690538      -.207110                    
+P  5  15778.369947   1870.096129  21110.714153     73.421530                    
+V  5  -8319.781370  25992.737431   4054.775886       .024581                    
+P  6  25272.450143  -6959.336224  -4440.547618   -154.544313                    
+V  6   6317.280310   2628.101813  30408.171851       .875949                    
+P  7 -11181.950437  15788.381111  18549.071084     59.910458                    
+V  7 -22828.674699   2083.739093 -16042.394019      -.303643                    
+P  8  -8150.721298  13912.820201 -21216.987590    -19.180140                    
+V  8 -15779.325876 -21408.963777  -8395.342515      -.011843                    
+P  9  20408.327575  12413.136518  11489.865807    -25.045334                    
+V  9   7636.434839  13384.531599 -26568.136609      -.018443                    
+P 10   4707.397930  18946.489672 -17926.104344     57.607696                    
+V 10 -10633.704280  20124.875881  18821.754194       .007219                    
+P 11 -21882.305134  -9944.788649  11477.662049    186.915928                    
+V 11  -7412.354510 -13208.729200 -25330.271553       .037050                    
+P 13 -25364.125639   5976.671155  -5000.440453    -13.703437                    
+V 13  -6447.199502  -1337.686712  31523.159698       .009723                    
+P 14  11789.149850 -14243.763631  19118.082759    -31.494466                    
+V 14  24074.911405  -1675.238579 -16158.518488      -.000795                    
+P 15   1668.717804 -19997.544037 -17450.525644    378.484796                    
+V 15  13206.495876  17520.868051 -19328.490714       .053130                    
+P 16    -49.074835 -23014.425661 -13147.297089      1.971826                    
+V 16   8778.968409 -14542.547059  25320.364902      -.001609                    
+P 17  16280.948341  20743.248753  -5398.598981    -90.913946                    
+V 17   1780.746328   7075.340233  30397.722277       .194170                    
+P 18  16978.126027 -16631.507155 -11533.620787   -119.362512                    
+V 18  -4171.579245  14452.064422 -27087.255334      -.037225                    
+P 19 -20852.224787  -8511.486995 -13955.425239    -11.967924                    
+V 19  17729.049289  -3356.286225 -24302.394759      -.008555                    
+P 20 -15809.320530   -608.963993  21260.320526    -90.568390                    
+V 20   9989.185603 -25264.684301   6697.330370       .027003                    
+P 21  13524.660971  -7560.109399 -21593.713284     88.130140                    
+V 21  15440.326179  22664.387584   1292.104312       .010442                    
+P 22  12458.137480 -23439.541050  -1069.729347     16.297667                    
+V 22   1845.530829   2648.774685 -31683.612373       .003795                    
+P 23 -26183.600499   -146.522643   4701.801277    211.549280                    
+V 23   5712.067175  -3316.926342  30983.539923       .005420                    
+P 24   -720.753423  20324.447711  17266.999574     89.774803                    
+V 24 -13300.276040 -16907.215228  19794.609048       .028891                    
+P 25  -5298.927291 -21753.054867  14649.081009     84.408412                    
+V 25  13685.312470  11897.203695  23263.462695       .008802                    
+P 26  20503.328081   8233.614410 -15482.853714    317.601805                    
+V 26 -18620.430150   2913.751019 -22991.799570       .054730                    
+P 27 -13681.463074   7090.732028 -21136.040789    514.154375                    
+V 27 -17895.526208 -21655.809009   3773.376957       .062707                    
+P 28 -12035.288824  23353.994023  -2151.476341     46.489841                    
+V 28  -1655.486038  -4042.965037 -31781.530237       .001469                    
+P 29  16586.994415   9903.814169 -18027.333449    176.753987                    
+V 29 -22947.014030   4360.935110 -18309.225770      -.190676                    
+P 30  17299.617169 -10076.457105  17149.540895    442.677570                    
+V 30  -6144.049375  21606.574859  18731.123530      -.144607                    
+P 31 -17579.934059  13729.996391  14272.750289      -.440686                    
+V 31 -18857.663221    638.784315 -22973.859838      -.078404                    
+*  2005  1 21  7 30   .00000000                                                 
+P  1  -2904.340398 -14556.936140  22217.063440    384.037127                    
+V  1  27349.815029  -4270.156089    760.245963       .020828                    
+P  2  12823.911372  22258.179645   6611.475456    -42.031209                    
+V  2  -7817.677025  -4873.541315  30106.143356       .055418                    
+P  3  -9915.075977 -13485.887465 -20788.541834     78.400222                    
+V  3  25107.707417  -7538.647068  -6862.063992       .029463                    
+P  4    961.573552  20186.219980  17053.938215    439.360469                    
+V  4 -15364.203938 -15602.409042  19667.454029      -.207113                    
+P  5  15082.048414   4238.815328  21290.168305     73.424763                    
+V  5  -7123.935692  26561.560112    -71.844674       .024579                    
+P  6  25693.475519  -6709.433005  -1673.564749   -154.465761                    
+V  6   3038.671586   2990.606445  30992.129823       .875903                    
+P  7 -13148.807146  16008.036491  16953.792885     59.883235                    
+V  7 -20817.786245   2746.513552 -19360.685463      -.303647                    
+P  8  -9641.904500  11997.880124 -21789.901540    -19.181234                    
+V  8 -17316.323857 -21065.132260  -4320.241643      -.011839                    
+P  9  21035.161746  13492.106337   9006.354321    -25.048037                    
+V  9   6221.451339  10600.277765 -28539.385095      -.018447                    
+P 10   3837.606029  20689.255415 -16081.706331     57.607651                    
+V 10  -8709.479252  18517.479420  22106.833679       .007211                    
+P 11 -22481.661057 -11026.767852   9106.526876    186.919349                    
+V 11  -5841.406412 -10844.361171 -27286.285844       .037041                    
+P 13 -25786.808317   5848.946075  -2128.354550    -13.702719                    
+V 13  -2940.117073  -1574.500170  32209.052352       .009726                    
+P 14  13863.600677 -14440.845099  17504.125378    -31.494628                    
+V 14  21952.953322  -2652.952688 -19656.193861      -.000797                    
+P 15   2949.400354 -18377.760018 -19035.708147    378.489592                    
+V 15  15241.931795  18389.192171 -15849.435873       .053132                    
+P 16    658.332559 -24218.798097 -10761.224029      1.971678                    
+V 16   6976.432581 -12153.162624  27626.643947      -.001607                    
+P 17  16377.244000  21244.268049  -2625.755455    -90.896504                    
+V 17    293.447235   4082.196987  31135.644899       .194200                    
+P 18  16582.643157 -15198.455661 -13863.522484   -119.366065                    
+V 18  -4543.102373  17366.269098 -24613.033149      -.037225                    
+P 19 -19146.214096  -8866.898251 -16015.323074    -11.968689                    
+V 19  20114.547428  -4585.183767 -21406.532253      -.008559                    
+P 20 -14960.548679  -2930.668096  21677.203825    -90.565876                    
+V 20   8830.388782 -26247.289852   2553.356652       .026998                    
+P 21  14956.062464  -5569.081672 -21292.565228     88.131270                    
+V 21  16310.942975  21513.428830   5388.027639       .010436                    
+P 22  12565.288428 -23058.585464  -3903.861283     16.298025                    
+V 22    602.023935   5836.472845 -31206.417947       .003799                    
+P 23 -25523.751228   -483.576691   7442.064062    211.549580                    
+V 23   8916.508552  -4235.270541  29823.804134       .005414                    
+P 24  -2012.404293  18759.934274  18897.017051     89.776170                    
+V 24 -15391.883240 -17775.488354  16378.346099       .028886                    
+P 25  -3964.255342 -20633.671091  16613.758396     84.411494                    
+V 25  15964.548209  12899.879321  20336.449074       .008809                    
+P 26  18726.527613   8559.764244 -17419.297803    317.606594                    
+V 26 -20792.698724   4373.975323 -19980.772763       .054722                    
+P 27 -15319.851322   5204.497381 -20607.389056    514.159771                    
+V 27 -18442.053994 -20199.715444   7953.386652       .062701                    
+P 28 -12134.079692  22842.915762  -4984.454262     46.489573                    
+V 28   -608.446381  -7326.252825 -31080.659062       .001473                    
+P 29  14445.776687  10368.903436 -19512.686207    176.736585                    
+V 29 -24548.697489   5997.177684 -14648.764424      -.190683                    
+P 30  16764.615259  -8033.615740  18679.424836    442.664518                    
+V 30  -5685.664422  23729.684334  15215.832684      -.144617                    
+P 31 -19154.313108  13803.806267  12087.363731      -.447651                    
+V 31 -16086.718544    941.110135 -25518.036470      -.078423                    
+*  2005  1 21  7 45   .00000000                                                 
+P  1   -457.929568 -15009.523996  22097.538124    384.039633                    
+V  1  26924.919809  -5767.328442  -3412.823513       .020832                    
+P  2  12005.617511  21726.939981   9256.014736    -42.026236                    
+V  2 -10391.938727  -6865.187828  28575.540832       .055403                    
+P  3  -7644.550836 -14226.208695 -21228.007023     78.403824                    
+V  3  25265.784912  -8898.182986  -2888.759520       .029455                    
+P  4   -518.136947  18747.513213  18670.291151    439.341589                    
+V  4 -17497.188132 -16285.679841  16200.623705      -.207115                    
+P  5  14500.231687   6635.706198  21097.992253     73.428036                    
+V  5  -5789.241826  26615.295368  -4191.477284       .024575                    
+P  6  25820.776864  -6409.411676   1122.086511   -154.387161                    
+V  6   -194.507579   3739.711472  31044.753674       .875856                    
+P  7 -14919.063388  16272.756951  15073.537592     59.855877                    
+V  7 -18470.981791   3076.512808 -22366.122031      -.303650                    
+P  8 -11258.967756  10134.843783 -21992.820231    -19.183614                    
+V  8 -18563.914946 -20263.576351   -184.787065      -.011833                    
+P  9  21515.736014  14323.975923   6367.845543    -25.050286                    
+V  9   4391.927802   7908.765343 -30008.641415      -.018450                    
+P 10   3135.734723  22264.751775 -13958.180502     57.607783                    
+V 10  -6916.918241  16414.561423  25015.244146       .007203                    
+P 11 -22922.482252 -11899.616752   6580.140041    186.922518                    
+V 11  -3895.096359  -8574.551622 -28775.581606       .037032                    
+P 13 -25893.892076   5680.035594    780.495848    -13.701822                    
+V 13    548.827928  -2251.507986  32338.825633       .009729                    
+P 14  15728.964975 -14711.072356  15590.027125    -31.494714                    
+V 14  19440.875680  -3290.379262 -22818.739487      -.000799                    
+P 15   4408.887880 -16702.726856 -20295.657911    378.493701                    
+V 15  17164.870194  18750.214013 -12111.618265       .053135                    
+P 16   1214.135331 -25190.694285  -8188.891024      1.971387                    
+V 16   5421.896305  -9387.567302  29453.553306      -.001604                    
+P 17  16322.532740  21483.583164    190.368520    -90.879434                    
+V 17  -1567.883810   1273.390705  31358.864437       .194229                    
+P 18  16173.337363 -13511.916235 -15951.117823   -119.369425                    
+V 18  -4482.911775  20069.428095 -21710.761700      -.037224                    
+P 19 -17244.728982  -9343.549222 -17797.400629    -11.969570                    
+V 19  22063.140366  -6038.027382 -18137.548540      -.008563                    
+P 20 -14226.191140  -5318.205991  21718.605974    -90.563555                    
+V 20   7460.490104 -26721.466640  -1634.552726       .026993                    
+P 21  16449.375635  -3698.792400 -20627.068944     88.132536                    
+V 21  16806.850250  19992.842210   9377.360006       .010426                    
+P 22  12578.851483 -22386.885454  -6670.696851     16.298258                    
+V 22   -230.429598   9093.702866 -30189.939219       .003803                    
+P 23 -24586.197349   -919.388019  10054.674482    211.549571                    
+V 23  11868.973642  -5503.628187  28150.641446       .005410                    
+P 24  -3487.912431  17139.934997  20207.063352     89.778484                    
+V 24 -17370.910256 -18141.855054  12694.247869       .028882                    
+P 25  -2428.333327 -19445.088732  18299.695421     84.412378                    
+V 25  18143.017400  13436.067333  17078.041245       .008815                    
+P 26  16774.251058   9026.950122 -19069.400089    317.611223                    
+V 26 -22511.838083   6034.556864 -16636.822622       .054715                    
+P 27 -16987.571374   3464.495718 -19709.359158    514.165322                    
+V 27 -18540.446522 -18420.212038  11969.289333       .062696                    
+P 28 -12157.434978  22034.641143  -7729.478370     46.489511                    
+V 28     18.371433 -10630.364147 -29829.595940       .001479                    
+P 29  12184.418446  10986.030611 -20656.119423    176.719037                    
+V 29 -25611.371605   7724.039675 -10722.103002      -.190689                    
+P 30  16286.012572  -5817.040379  19880.275760    442.651500                    
+V 30  -4900.575027  25455.692584  11430.220780      -.144627                    
+P 31 -20469.347376  13888.061477   9693.075387      -.454639                    
+V 31 -13109.415544    866.173991 -27610.119755      -.078442                    
+*  2005  1 21  8  0   .00000000                                                 
+P  1   1926.351002 -15590.114116  21604.430410    384.043058                    
+V  1  25974.133061  -7099.985007  -7530.073515       .020836                    
+P  2  10950.152600  21035.064433  11740.005842    -42.021327                    
+V  2 -13072.951192  -8436.781394  26543.013477       .055387                    
+P  3  -5381.904416 -15083.664849 -21306.808173     78.406331                    
+V  3  24935.423109 -10127.992907   1141.511700       .029446                    
+P  4  -2182.764263  17269.560451  19961.853643    439.323096                    
+V  4 -19458.464590 -16477.471862  12460.701807      -.207117                    
+P  5  14041.579242   9013.746567  20538.093657     73.429334                    
+V  5  -4401.438835  26142.251750  -8231.464612       .024572                    
+P  6  25662.546501  -6025.304072   3898.587412   -154.308488                    
+V  6  -3291.816615   4854.297049  30567.561297       .875810                    
+P  7 -16465.669656  16550.455969  12938.853697     59.828680                    
+V  7 -15860.656731   3028.596394 -25006.305566      -.303653                    
+P  8 -12972.584257   8362.514318 -21823.430094    -19.183715                    
+V  8 -19451.085557 -19059.866328   3941.798505      -.011828                    
+P  9  21814.523457  14921.118075   3620.427105    -25.053001                    
+V  9   2190.054726   5398.041221 -30957.262048      -.018452                    
+P 10   2586.061098  23630.486077 -11591.853607     57.607635                    
+V 10  -5340.660557  13865.859747  27494.190279       .007195                    
+P 11 -23172.753476 -12575.297310   3941.662951    186.925686                    
+V 11  -1615.078518  -6474.776897 -29773.792057       .037025                    
+P 13 -25691.640803   5430.991329   3675.849438    -13.700928                    
+V 13   3917.226071  -3350.656158  31909.433453       .009731                    
+P 14  17353.646238 -15021.254896  13408.447522    -31.495098                    
+V 14  16618.726434  -3533.071020 -25591.653603      -.000799                    
+P 15   6033.045469 -15017.399000 -21209.974360    378.499574                    
+V 15  18886.961962  18622.561039  -8179.704378       .053138                    
+P 16   1643.679130 -25899.469884  -5474.909536      1.971197                    
+V 16   4180.371358  -6319.345664  30769.935661      -.001600                    
+P 17  16085.279099  21481.341270   3003.386551    -90.861721                    
+V 17  -3753.631916  -1273.696301  31067.204838       .194259                    
+P 18  15787.673796 -11595.008905 -17760.177900   -119.372865                    
+V 18  -4024.788299  22471.232377 -18432.647485      -.037223                    
+P 19 -15189.489734  -9958.081406 -19270.587199    -11.970316                    
+V 19  23524.285878  -7635.228961 -14552.268717      -.008567                    
+P 20 -13621.409393  -7724.418891  21383.856523    -90.561178                    
+V 20   5965.759262 -26659.151837  -5793.409343       .026988                    
+P 21  17968.583087  -1979.231650 -19609.841712     88.133183                    
+V 21  16879.530513  18177.146622  13193.445812       .010417                    
+P 22  12536.569199 -21422.567746  -9322.328326     16.298578                    
+V 22   -638.234554  12322.610651 -28649.695546       .003808                    
+P 23 -23397.328625  -1483.094422  12494.587199    211.549947                    
+V 23  14488.753883  -7067.000869  25991.347382       .005409                    
+P 24  -5133.129040  15508.914590  21175.812994     89.781301                    
+V 24 -19148.830587 -18024.980291   8804.609872       .028879                    
+P 25   -704.105450 -18228.732774  19679.508560     84.412396                    
+V 25  20135.213173  13521.011810  13543.179373       .008821                    
+P 26  14689.223958   9649.483006 -20405.477234    317.615915                    
+V 26 -23737.280732   7811.541209 -13011.402681       .054708                    
+P 27 -18642.698523   1895.911241 -18460.013731    514.170871                    
+V 27 -18158.352066 -16405.846572  15748.839835       .062691                    
+P 28 -12143.562720  20931.896888 -10337.889703     46.489289                    
+V 28    219.506394 -13852.967892 -28049.156103       .001487                    
+P 29   9852.600076  11759.096971 -21436.747273    176.701886                    
+V 29 -26112.379606   9446.384795  -6598.337236      -.190695                    
+P 30  15890.362699  -3465.398015  20730.792038    442.638671                    
+V 30  -3854.154758  26722.002695   7442.323581      -.144637                    
+P 31 -21510.571810  13947.782814   7132.063259      -.461665                    
+V 31 -10017.633357    393.995233 -29218.470020      -.078460                    
+*  2005  1 21  8 15   .00000000                                                 
+P  1   4202.779604 -16280.043970  20745.856010    384.046128                    
+V  1  24536.054700  -8183.697511 -11523.006667       .020840                    
+P  2   9652.101168  20221.838183  14019.658288    -42.016447                    
+V  2 -15766.679930  -9558.354046  24040.818446       .055373                    
+P  3  -3170.094438 -16042.964293 -21022.854488     78.409326                    
+V  3  24141.590384 -11148.598208   5161.120431       .029438                    
+P  4  -4012.894570  15795.529432  20907.025338    439.304360                    
+V  4 -21161.149657 -16204.461280   8514.467895      -.207119                    
+P  5  13706.959732  11325.694126  19620.844054     73.430291                    
+V  5  -3047.315989  25149.236808 -12121.045398       .024569                    
+P  6  25234.865226  -5525.773669   6608.654288   -154.229673                    
+V  6  -6168.922523   6297.203252  29570.882976       .875764                    
+P  7 -17768.502345  16805.644873  10584.789721     59.801093                    
+V  7 -13067.880642   2572.594436 -27233.789009      -.303656                    
+P  8 -14747.581095   6714.078908 -21285.612694    -19.185681                    
+V  8 -19919.338167 -17522.805272   7991.237796      -.011822                    
+P  9  21900.465944  15303.401109    811.451173    -25.056035                    
+V  9   -327.398389   3146.142747 -31375.752603      -.018454                    
+P 10   2165.681563  24749.217055  -9023.483297     57.607503                    
+V 10  -4055.087359  10937.991553  29498.177305       .007188                    
+P 11 -23204.826467 -13072.192270   1236.084106    186.928911                    
+V 11    943.546386  -4611.806198 -30264.727908       .037018                    
+P 13 -25195.339104   5065.336866   6507.612496    -13.700103                    
+V 13   7067.659902  -4835.233554  30927.648904       .009734                    
+P 14  18713.733006 -15334.020099  10996.665886    -31.494817                    
+V 14  13576.704488  -3342.864687 -27926.925745      -.000800                    
+P 15   7800.042830 -13364.260052 -21764.191625    378.503082                    
+V 15  20326.088108  18042.287321  -4120.724528       .053141                    
+P 16   1977.524062 -26321.639477  -2666.291490      1.970978                    
+V 16   3302.346682  -3033.500030  31553.676875      -.001596                    
+P 17  15639.015347  21264.170473   5767.224268    -90.843690                    
+V 17  -6201.131893  -3492.808304  30267.738732       .194289                    
+P 18  15459.317390  -9478.558208 -19259.478407   -119.376050                    
+V 18  -3219.084853  24491.335093 -14837.509247      -.037223                    
+P 19 -13025.993234 -10719.616503 -20409.192029    -11.971086                    
+V 19  24464.864183  -9289.836215 -10713.241942      -.008571                    
+P 20 -13153.387989 -10100.460401  20678.838522    -90.559036                    
+V 20   4436.586062 -26051.034957  -9850.787548       .026985                    
+P 21  19473.986884   -433.268000 -18259.337759     88.134196                    
+V 21  16495.963571  16149.551621  16773.388090       .010408                    
+P 22  12476.586634 -20172.623278 -11812.664998     16.298845                    
+V 22   -626.075967  15424.689110 -26610.508890       .003812                    
+P 23 -21990.275105  -2198.248566  14719.598504    211.550309                    
+V 23  16707.241389  -8856.667351  23381.699117       .005409                    
+P 24  -6926.183948  13908.876997  21787.673971     89.784208                    
+V 24 -20643.117115 -17460.669578   4774.383764       .028875                    
+P 25   1188.001186 -17023.910874  20730.927104     84.412637                    
+V 25  21860.873778  13186.321292   9790.395036       .008828                    
+P 26  12517.093758  10433.823193 -21404.682817    317.620696                    
+V 26 -24444.856001   9614.940671  -9160.458091       .054701                    
+P 27 -20241.230245    515.647574 -16883.645400    514.176311                    
+V 27 -17282.071670 -14251.407263  19226.054870       .062686                    
+P 28 -12130.308457  19546.582502 -12763.367187     46.489428                    
+V 28      8.447675 -16893.236678 -25770.405026       .001497                    
+P 29   7501.130044  12683.341510 -21840.105298    176.684590                    
+V 29 -26049.404899  11067.524567  -2350.841275      -.190701                    
+P 30  15597.828007  -1022.287733  21215.980147    442.625298                    
+V 30  -2622.548307  27481.981676   3324.047001      -.144647                    
+P 31 -22271.901669  13946.957914   4448.955343      -.468609                    
+V 31  -6905.134252   -478.359671 -30320.306239      -.078479                    
+*  2005  1 21  8 30   .00000000                                                 
+P  1   6329.855394 -17053.441720  19536.022685    384.049362                    
+V  1  22665.596151  -8943.212722 -15324.910881       .020842                    
+P  2   8114.692093  19328.436733  16054.491341    -42.011517                    
+V  2 -18375.686504 -10218.016480  21110.171268       .055358                    
+P  3  -1049.116899 -17081.947651 -20380.168566     78.412452                    
+V  3  22924.937012 -11887.373778   9102.020416       .029429                    
+P  4  -5981.646694  14365.400043  21490.359389    439.285935                    
+V  4 -22526.728876 -15510.530462   4431.666894      -.207121                    
+P  5  13489.518182  13525.742453  18362.849166     73.433309                    
+V  5  -1811.130487  23661.237621 -15792.652442       .024567                    
+P  6  24561.015227  -4883.496158   9206.318258   -154.150815                    
+V  6  -8750.598923   8016.725469  28073.542476       .875718                    
+P  7 -18815.019339  17000.851426   8050.406664     59.773775                    
+V  7 -10179.562399   1694.800534 -29007.007839      -.303659                    
+P  8 -16544.166665   5216.038801 -20389.314856    -19.185692                    
+V  8 -19924.847760 -15731.677188  11897.182654      -.011817                    
+P  9  21748.185885  15497.165371  -2011.276783    -25.057562                    
+V  9  -3091.385183   1218.460756 -31263.473981      -.018455                    
+P 10   1845.577414  25590.371145  -6297.555804     57.606466                    
+V 10  -3121.234269   7712.057663  30989.995838       .007183                    
+P 11 -22996.544899 -13414.208688  -1490.527459    186.932113                    
+V 11   3714.202392  -3041.259116 -30240.592155       .037012                    
+P 13 -24428.675421   4550.690575   9226.740654    -13.699494                    
+V 13   9911.385128  -6651.245288  29409.990045       .009738                    
+P 14  19793.763474 -15609.356961   8395.958152    -31.494952                    
+V 14  10411.793747  -2699.508407 -29783.885248      -.000803                    
+P 15   9681.056174 -11781.824398 -21949.941641    378.508457                    
+V 15  21409.441140  17061.220407     -2.974975       .053144                    
+P 16   2250.045332 -26441.763050    188.381478      1.970632                    
+V 16   2821.842487    376.748134  31792.051549      -.001591                    
+P 17  14963.419691  20864.081290   8436.761246    -90.825476                    
+V 17  -8836.868633  -5330.903822  28974.551271       .194318                    
+P 18  15216.736229  -7200.053517 -20423.342279   -119.379288                    
+V 18  -2130.514559  26062.450322 -10989.594602      -.037224                    
+P 19 -10801.884683 -11629.250547 -21193.369171    -11.971939                    
+V 19  24870.397802 -10911.059416  -6687.605936      -.008575                    
+P 20 -12821.128941 -12397.507946  19615.879010    -90.556780                    
+V 20   2963.795509 -24906.960728 -13736.127906       .026984                    
+P 21  20923.662130    923.988109 -16599.469216     88.134861                    
+V 21  15639.830252  13998.691745  20058.935340       .010400                    
+P 22  12435.807793 -18652.797788 -14098.257753     16.299313                    
+V 22   -216.760248  18304.515273 -24106.192392       .003817                    
+P 23 -20403.698919  -3081.697355  16691.087232    211.550779                    
+V 23  18470.493759 -10792.811439  20365.431558       .005410                    
+P 24  -8838.165118  12377.888922  22032.982909     89.788641                    
+V 24 -21780.293546 -16500.304953    670.204497       .028871                    
+P 25   3220.681327 -15866.400036  21437.078706     84.412326                    
+V 25  23247.864626  12478.570842   5880.981821       .008836                    
+P 26  10304.909915  11378.180160 -22049.386939    317.626017                    
+V 26 -24627.682088  11351.941269  -5143.868785       .054694                    
+P 27 -21738.785624   -668.050078 -15010.159186    514.181894                    
+V 27 -15916.880226 -12053.833295  22342.366129       .062681                    
+P 28 -12153.469395  17899.452243 -14962.826717     46.489540                    
+V 28   -582.938786 -19655.887028 -23034.094539       .001507                    
+P 29   5180.101248  13745.383273 -21858.472200    176.667535                    
+V 29 -25440.619361  12493.268644   1944.158351      -.190707                    
+P 30  15421.353941   1465.286161  21327.437368    442.612450                    
+V 30  -1289.413116  27706.845292   -850.303238      -.144657                    
+P 31 -22755.644357  13850.077571   1690.028612      -.475635                    
+V 31  -3864.076204  -1736.841494 -30901.760686      -.078497                    
+*  2005  1 21  8 45   .00000000                                                 
+P  1   8271.680729 -17878.188550  17995.023973    384.053326                    
+V  1  20431.982698  -9315.425250 -18871.870777       .020844                    
+P  2   6349.933941  18396.269393  17808.116157    -42.006540                    
+V  2 -20802.952637 -10422.488115  17800.674031       .055344                    
+P  3    945.343319 -18172.339365 -19388.875315     78.415011                    
+V  3  21340.322817 -12281.497251  12896.835461       .029420                    
+P  4  -8055.565820  13014.501552  21702.769940    439.267737                    
+V  4 -23488.106962 -14454.759418    283.690435      -.207123                    
+P  5  13375.060315  15571.115853  16786.606582     73.435786                    
+V  5   -771.166662  21720.387207 -19183.113314       .024564                    
+P  6  23670.539228  -4076.380953  11647.670876   -154.072094                    
+V  6 -10973.350464   9948.641257  26102.422215       .875672                    
+P  7 -19600.646943  17098.147362   5378.207177     59.746595                    
+V  7  -7285.330705    398.888258 -30291.195308      -.303662                    
+P  8 -18319.327822   3887.402501 -19150.333367    -19.187148                    
+V  8 -19440.069276 -13773.169113  15596.128901      -.011811                    
+P  9  21338.973056  15533.987126  -4800.277080    -25.059452                    
+V  9  -6023.259895   -334.339221 -30628.227728      -.018456                    
+P 10   1591.935798  26131.214771  -3461.501383     57.606407                    
+V 10  -2584.224046   4280.632139  31941.558471       .007178                    
+P 11 -22532.172240 -13629.680365  -4191.782536    186.935123                    
+V 11   6621.233381  -1805.592360 -29702.071999       .037009                    
+P 13 -23422.807743   3860.232920  11786.105638    -13.698748                    
+V 13  12371.679080  -8729.483484  27382.460054       .009743                    
+P 14  20587.174161 -15806.275784   5650.902263    -31.495117                    
+V 14   7224.130286  -1601.602190 -31129.937186      -.000804                    
+P 15  11641.230926 -10303.312592 -21765.020070    378.513363                    
+V 15  22076.224384  15744.767391   4105.041612       .053147                    
+P 16   2497.888194 -26253.029678   3039.811900      1.970387                    
+V 16   2755.128741   3813.465841  31481.890670      -.001585                    
+P 17  14045.181322  20317.200008  10968.450815    -90.808253                    
+V 17 -11579.001522  -6749.797149  27208.485985       .194348                    
+P 18  15082.030421  -4802.354039 -21232.071574   -119.382577                    
+V 18   -835.370359  27132.909650  -6957.307666      -.037226                    
+P 19  -8565.252346 -12679.874005 -21609.475773    -11.972756                    
+V 19  24745.536368 -12407.963619  -2545.858278      -.008578                    
+P 20 -12615.579222 -14568.476836  18213.523800    -90.554381                    
+V 20   1634.955262 -23255.584757 -17382.000799       .026983                    
+P 21  22274.990679   2085.520301 -14659.152378     88.135982                    
+V 21  14312.086992  11815.230150  22997.254918       .010392                    
+P 22  12448.299222 -16887.148426 -16139.087435     16.299856                    
+V 22    549.672054  20873.409477 -21179.056728       .003819                    
+P 23 -18680.379113  -4142.719274  18374.701720    211.551524                    
+V 23  19741.252463 -12787.609306  16993.563029       .005409                    
+P 24 -10834.057902  10948.768350  21908.113431     89.792158                    
+V 24 -22498.640215 -15208.754120  -3440.564914       .028865                    
+P 25   5360.600752 -14787.181695  21786.700209     84.412968                    
+V 25  24234.741079  11457.399544   1878.156879       .008844                    
+P 26   8099.548444  12472.408534 -22327.502969    317.630913                    
+V 26 -24296.503439  12930.260998  -1024.829228       .054687                    
+P 27 -23092.296926  -1655.606231 -12874.364068    514.187275                    
+V 27 -14086.539042  -9908.190222  25047.485258       .062676                    
+P 28 -12245.196467  16019.441549 -16897.258130     46.489581                    
+V 28  -1505.783675 -22055.009857 -19889.849644       .001517                    
+P 29   2937.072348  14923.626927 -21491.058392    176.650429                    
+V 29 -24323.979676  13635.916457   6209.111318      -.190713                    
+P 30  15366.151838   3948.577737  21063.499509    442.599645                    
+V 30     57.652288  27386.800317  -5005.543451      -.144667                    
+P 31 -22972.203573  13623.636993  -1097.589607      -.482601                    
+V 31   -981.683543  -3351.125971 -30957.775069      -.078515                    
+*  2005  1 21  9  0   .00000000                                                 
+P  1   9999.139585 -18717.130209  16148.542519    384.055147                    
+V  1  17916.231874  -9251.926259 -22103.763455       .020845                    
+P  2   4378.402138  17465.309035  19248.956795    -42.001566                    
+V  2 -22955.766031 -10196.867900  14169.529505       .055330                    
+P  3   2783.104397 -19280.750828 -18065.091399     78.418683                    
+V  3  19454.799662 -12280.571991  16479.980537       .029411                    
+P  4 -10195.770716  11772.256616  21541.621742    439.248880                    
+V  4 -23992.174635 -13108.857203  -3857.718918      -.207125                    
+P  5  13342.734932  17423.540947  14920.060614     73.438507                    
+V  5      3.425094  19384.270583 -22234.731313       .024561                    
+P  6  22598.083622  -3088.589431  13891.565992   -153.993552                    
+V  6 -12787.575765  12018.685588  23691.927064       .875627                    
+P  7 -20128.877030  17060.730068   2613.484054     59.719291                    
+V  7  -4474.232125  -1293.810965 -31059.255397      -.303665                    
+P  8 -20028.345370   2739.166509 -17590.020438    -19.188382                    
+V  8 -18454.754173 -11738.077678  19028.261897      -.011805                    
+P  9  20661.517822  15449.282106  -7509.133391    -25.060846                    
+V  9  -9037.716491  -1477.796853 -29485.753002      -.018457                    
+P 10   1367.673861  26357.732303   -564.842226     57.604986                    
+V 10  -2471.337455    744.253894  32334.558672       .007174                    
+P 11 -21803.088238 -13750.111110  -6821.734885    186.938398                    
+V 11   9582.634011   -932.586318 -28658.308832       .037007                    
+P 13 -22215.148078   2973.958938  14141.330370    -13.697889                    
+V 13  14386.720557 -10988.215331  24880.104744       .009749                    
+P 14  21096.414730 -15884.519940   2808.622991    -31.495264                    
+V 14   4113.239655    -66.809888 -31941.170197      -.000806                    
+P 15  13640.866966  -8955.545159 -21213.358955    378.515732                    
+V 15  22279.885499  14169.271207   8135.628354       .053151                    
+P 16   2758.339294 -25757.516862   5838.847424      1.970225                    
+V 16   3100.153989   7177.684455  30629.571896      -.001578                    
+P 17  12878.626454  19662.375791  13320.916344    -90.790686                    
+V 17 -14340.138771  -7727.316782  24996.876443       .194377                    
+P 18  15070.032223  -2332.191909 -21672.262108   -119.385629                    
+V 18    581.700342  27668.578393  -2811.881477      -.037230                    
+P 19  -6362.912617 -13856.325988 -21650.316550    -11.973437                    
+V 19  24113.786141 -13693.175766   1639.439378      -.008582                    
+P 20 -12520.085370 -16569.670177  16496.201273    -90.551808                    
+V 20    530.823612 -21143.297403 -20725.305340       .026982                    
+P 21  23486.218049   3052.435242 -12471.789395     88.136998                    
+V 21  12530.908335   9688.453794  25541.595124       .010382                    
+P 22  12543.805416 -14907.280166 -17899.300641     16.300424                    
+V 22   1617.537248  23052.867249 -17879.236589       .003820                    
+P 23 -16865.642679  -5382.456028  19740.979548    211.552072                    
+V 23  20500.329850 -14748.661459  13323.577127       .005406                    
+P 24 -12873.909101   9647.982076  21415.499479     89.795390                    
+V 24 -22750.471121 -13661.830763  -7490.767559       .028860                    
+P 25   7569.459789 -13811.367545  21774.273726     84.412025                    
+V 25  24772.933650  10193.188980  -2153.760099       .008852                    
+P 26   5946.132115  13698.209555 -22232.755111    317.635644                    
+V 26 -23479.446521  14261.563644   3130.848573       .054680                    
+P 27 -24261.623326  -2455.773813 -10515.199566    514.192848                    
+V 27 -11832.067545  -7903.886140  27299.984623       .062672                    
+P 28 -12432.553954  13942.664822 -18532.478596     46.489686                    
+V 28  -2696.329407 -24017.514792 -16395.128773       .001528                    
+P 29    815.350195  16189.018195 -20744.053892    176.632895                    
+V 29 -22755.690902  14418.010800  10366.733201      -.190719                    
+P 30  15429.511332   6378.830483  20429.250987    442.586605                    
+V 30   1330.833399  26531.396656  -9067.141399      -.144676                    
+P 31 -22939.495290  13237.546338  -3866.704679      -.489719                    
+V 31   1662.810108  -5275.911608 -30491.862285      -.078534                    
+*  2005  1 21  9 15   .00000000                                                 
+P  1  11490.828471 -19529.495261  14027.464862    384.056364                    
+V  1  15208.189946  -8721.033114 -24965.228704       .020846                    
+P  2   2228.679864  16572.477152  20350.891111    -41.996713                    
+V  2 -24749.501295  -9583.635421  10280.548403       .055316                    
+P  3   4440.475705 -20369.900891 -16430.712820     78.421441                    
+V  3  17345.111544 -11848.817424  19788.801501       .029402                    
+P  4 -12359.306811  10661.177397  21010.705151    439.229937                    
+V  4 -24001.803706 -11554.148841  -7921.715246      -.207127                    
+P  5  13365.983552  19050.539004  12796.065929     73.440019                    
+V  5    455.387059  16723.650192 -24896.229310       .024559                    
+P  6  21382.070338  -1911.313770  15900.269316   -153.914457                    
+V  6 -14159.200580  14145.378701  20883.360618       .875581                    
+P  7 -20411.063147  16854.498849   -196.406792     59.691937                    
+V  7  -1831.364154  -3344.711208 -31292.562332      -.303668                    
+P  8 -21626.373518   1774.097935 -15734.916165    -19.190147                    
+V  8 -16976.353258  -9717.912857  22138.234116      -.011799                    
+P  9  19712.372320  15280.803519 -10093.182103    -25.062621                    
+V  9 -12045.877401  -2194.520964 -27859.164082      -.018457                    
+P 10   1134.104230  26265.171099   2341.709943     57.604695                    
+V 10  -2790.814383  -2792.437066  32160.926992       .007171                    
+P 11 -20808.228180 -13808.806343  -9335.636241    186.941627                    
+V 11  12513.017574   -434.384457 -27126.748028       .037005                    
+P 13 -20847.913319   1879.664898  16251.576287    -13.696976                    
+V 13  15911.883772 -13336.382233  21946.395115       .009755                    
+P 14  21332.723692 -15806.263297    -82.011653    -31.495141                    
+V 14   1174.288148   1868.671241 -32202.822054      -.000808                    
+P 15  15636.781413  -7758.090800 -20304.910610    378.520356                    
+V 15  21989.818840  12419.018331  12022.853645       .053156                    
+P 16   3067.679312 -24966.116935   8537.333073      1.970121                    
+V 16   3836.701228  10373.097937  29250.837086      -.001572                    
+P 17  11466.086297  18939.706333  15455.522717    -90.773021                    
+V 17 -17030.284841  -8257.953682  22373.263017       .194407                    
+P 18  15187.711273    161.465686 -21736.997368   -119.388912                    
+V 18   2031.226172  27654.063080   1373.971631      -.037236                    
+P 19  -4238.753110 -15135.877076 -21315.269665    -11.974225                    
+V 19  23016.495605 -14686.455195   5794.996396      -.008586                    
+P 20 -12511.156090 -18362.300585  14493.782050    -90.549442                    
+V 20   -277.920311 -18632.460896 -23708.380461       .026981                    
+P 21  24517.977318   3833.689204 -10074.695219     88.137701                    
+V 21  10331.015079   7702.976937  27651.840388       .010374                    
+P 22  12746.437128 -12751.289001 -19347.877076     16.301047                    
+V 22   2917.748154  24777.620370 -14263.845043       .003818                    
+P 23 -15005.701583  -6793.663711  20765.887532    211.552513                    
+V 23  20747.303191 -16582.638534   9418.470843       .005404                    
+P 24 -14914.174032   8494.788716  20563.575569     89.798455                    
+V 24 -22503.913553 -11943.394639 -11414.364403       .028854                    
+P 25   9805.234094 -12957.350398  21400.089358     84.411826                    
+V 25  24828.492571   8764.397306  -6150.156579       .008862                    
+P 26   3886.499373  15029.638418 -21764.879324    317.640696                    
+V 26 -22221.180181  15264.824579   7255.521033       .054674                    
+P 27 -25211.024305  -3084.968829  -7974.922220    514.198707                    
+V 27  -9209.871170  -6121.276573  29067.611943       .062668                    
+P 28 -12736.299375  11711.126627 -19839.783417     46.489799                    
+V 28  -4078.690922 -25486.030444 -12613.990091       .001539                    
+P 29  -1147.554074  17506.119919 -19630.532107    176.615893                    
+V 29 -20807.897127  14775.681895  14341.610572      -.190724                    
+P 30  15600.948699   8709.003991  19436.398562    442.573742                    
+V 30   2445.812546  25169.079685 -12962.709933      -.144686                    
+P 31 -22682.104532  12666.400480  -6570.811122      -.496737                    
+V 31   4000.850161  -7452.736976 -29515.758016      -.078552                    
+*  2005  1 21  9 30   .00000000                                                 
+P  1  12733.704371 -20272.469558  11667.410492    384.059111                    
+V  1  12403.225017  -7709.219818 -27406.601621       .020847                    
+P  2    -63.530267  15750.152648  21093.793567    -41.991749                    
+V  2 -26111.127311  -8640.907774   6202.966068       .055303                    
+P  3   5901.002272 -21400.010413 -14513.099783     78.423391                    
+V  3  15094.795534 -10966.731946  22764.714389       .029393                    
+P  4 -14500.650657   9696.148068  20120.101805    439.211703                    
+V  4 -23497.207796  -9878.245904 -11839.528095      -.207129                    
+P  5  13413.716286  20426.491142  10451.772883     73.439951                    
+V  5    541.608156  13819.711699 -27123.544239       .024557                    
+P  6  20063.247466   -543.289320  17640.048376   -153.835846                    
+V  6 -15070.732490  16243.101767  17724.226610       .875536                    
+P  7 -20465.915517  16449.563462  -3002.840697     59.664701                    
+V  7    565.426719  -5699.074891 -30981.651681      -.303671                    
+P  8 -23070.027744    986.823200 -13616.313964    -19.189694                    
+V  8 -15029.801381  -7801.511119  24875.876970      -.011793                    
+P  9  18496.130929  15067.089798 -12510.149620    -25.064017                    
+V  9 -14958.425330  -2484.441178 -25778.352428      -.018458                    
+P 10    852.673142  25858.228850   5207.187481     57.605083                    
+V 10  -3531.445568  -6224.756628  31423.065637       .007168                    
+P 11 -19554.248368 -13839.444463 -11690.672484    186.944885                    
+V 11  15326.714025   -307.119374 -25132.870836       .037004                    
+P 13 -19366.499609    573.628769  18080.267668    -13.696248                    
+V 13  16921.353049 -15677.182136  18632.447100       .009762                    
+P 14  21315.572811 -15537.726946  -2971.229045    -31.495354                    
+V 14  -1505.506814   4151.368629 -31909.590851      -.000810                    
+P 15  17583.798900  -6722.695581 -19055.447640    378.523980                    
+V 15  21192.490147  10583.005644  15703.455400       .053162                    
+P 16   3459.581988 -23898.135069  11088.939616      1.969986                    
+V 16   4927.258306  13309.638792  27370.445458      -.001565                    
+P 17   9817.994939  18189.028800  17336.921486    -90.754970                    
+V 17 -19559.881818  -8352.981924  19377.089818       .194437                    
+P 18  15433.905731   2629.129649 -21425.921146   -119.392235                    
+V 18   3422.598328  27093.173414   5527.400512      -.037242                    
+P 19  -2232.199043 -16489.021843 -20610.291744    -11.974936                    
+V 19  21511.139580 -15317.981886   9848.138977      -.008591                    
+P 20 -12559.501534 -19913.824956  12241.043413    -90.547387                    
+V 20   -733.534736 -15799.032251 -26280.007340       .026981                    
+P 21  25334.726197   4445.526930  -7508.479189     88.138736                    
+V 21   7762.424293   5935.661396  29294.965290       .010365                    
+P 22  13073.587395 -10462.451291 -20459.213535     16.301397                    
+V 22   4370.618229  25998.196275 -10395.969015       .003814                    
+P 23 -13145.959920  -8360.796421  21431.270537    211.553008                    
+V 23  20500.480736 -18198.998971   5345.682751       .005401                    
+P 24 -16909.199307   7500.655312  19366.635991     89.801898                    
+V 24 -21744.136856 -10142.188335 -15147.323551       .028848                    
+P 25  12023.550711 -12236.207360  20670.235405     84.413635                    
+V 25  24383.342313   7254.632803 -10046.929655       .008872                    
+P 26   1957.775622  16433.908265 -20929.749118    317.645358                    
+V 26 -20581.482190  15869.538131  11280.597660       .054667                    
+P 27 -25910.439924  -3566.321389  -5298.274680    514.204386                    
+V 27  -6289.342540  -4628.773431  30327.367515       .062663                    
+P 28 -13169.936200   9371.201340 -20796.478572     46.490057                    
+V 28  -5568.133861 -26421.130463  -8615.704347       .001549                    
+P 29  -2921.229892  18834.464805 -18170.210249    176.598876                    
+V 29 -18565.697612  14661.427937  18061.773698      -.190730                    
+P 30  15862.682674  10895.425274  18103.013786    442.560620                    
+V 30   3325.306575  23345.970877 -16623.424254      -.144696                    
+P 31 -22230.219774  11890.564935  -9164.813632      -.503906                    
+V 31   5976.803246  -9812.234169 -28048.985075      -.078570                    
+*  2005  1 21  9 45   .00000000                                                 
+P  1  13723.423803 -20902.870099   9108.179191    384.061946                    
+V  1   9598.689593  -6221.886111 -29384.793387       .020848                    
+P  2  -2456.591778  15024.868795  21463.963888    -41.986751                    
+V  2 -26982.279222  -7440.014300   2010.093874       .055290                    
+P  3   7155.934133 -22330.319722 -12344.659893     78.425371                    
+V  3  12790.985578  -9632.149832  25354.321625       .029385                    
+P  4 -16573.306857   8884.016176  18885.947903    439.193217                    
+V  4 -22476.632710  -8171.535387 -15545.556683      -.207131                    
+P  5  13451.664821  21533.438419   7927.948355     73.442508                    
+V  5    234.794331  10760.947271 -28880.465011       .024556                    
+P  6  18683.172130   1008.976861  19081.696672   -153.757444                    
+V  6 -15521.708581  18225.310094  14267.466619       .875490                    
+P  7 -20318.706942  15821.622177  -5756.774555     59.637310                    
+V  7   2648.644160  -8287.804722 -30126.765928      -.303673                    
+P  8 -24318.925894    364.216996 -11269.764825    -19.191194                    
+V  8 -12656.697270  -6071.767418  27196.849122      -.011787                    
+P  9  17025.330244  14845.917233 -14720.734616    -25.066127                    
+V  9 -17688.678207  -2364.467627 -23279.371852      -.018459                    
+P 10    486.698665  25150.873588   7981.311109     57.606278                    
+V 10  -4662.979581  -9452.052931  30133.849787       .007166                    
+P 11 -18055.411071 -13874.641558 -13846.670476    186.948214                    
+V 11  17940.887034   -531.139139 -22709.811254       .037004                    
+P 13 -17817.744524   -939.043606  19595.738994    -13.695237                    
+V 13  17408.992977 -17911.890940  14996.094741       .009768                    
+P 14  21071.800911 -15050.651481  -5809.211251    -31.495523                    
+V 14  -3850.166431   6712.476621 -31065.782174      -.000812                    
+P 15  19436.315962  -5853.009759 -17486.284085    378.527975                    
+V 15  19891.955726   8751.577742  19117.689470       .053168                    
+P 16   3963.622210 -22580.576141  13449.953732      1.970024                    
+V 16   6318.562238  15906.794035  25021.673904      -.001560                    
+P 17   7952.712306  17448.423999  18933.567540    -90.737666                    
+V 17 -21842.863505  -8040.043923  16053.373037       .194466                    
+P 18  15799.386533   5022.509857 -20745.191021   -119.395728                    
+V 18   4667.761804  26008.633771   9576.718237      -.037248                    
+P 19   -376.863033 -17880.549555 -19547.802367    -11.975754                    
+V 19  19668.973410 -15531.228881  13728.138133      -.008596                    
+P 20 -12631.307024 -21199.041218   9777.049088    -90.544759                    
+V 20   -793.550098 -12729.668800 -28396.285073       .026982                    
+P 21  25906.047502   4910.656781  -4816.390068     88.139767                    
+V 21   4888.673759   4452.851431  30445.393560       .010356                    
+P 22  13535.121273  -8087.709624 -21213.611003     16.301837                    
+V 22   5889.119777  26682.864052  -6343.524556       .003810                    
+P 23 -11329.357238 -10060.422177  21725.199071    211.553673                    
+V 23  19796.133575 -19513.630975   1175.918613       .005397                    
+P 24 -18812.789954   6668.966629  17844.614989     89.803436                    
+V 24 -20473.992711  -8348.513705 -18628.487257       .028842                    
+P 25  14179.153553 -11651.374778  19596.516495     84.415323                    
+V 25  23436.009146   5749.556258 -13781.286124       .008881                    
+P 26    191.099584  17872.471394 -19739.417073    317.650205                    
+V 26 -18633.231490  16018.651147  15137.530047       .054661                    
+P 27 -26336.536281  -3928.492423  -2531.657208    514.210159                    
+V 27  -3150.063977  -3480.539422  31065.379624       .062659                    
+P 28 -13739.079214   6971.946517 -21386.283209     46.490074                    
+V 28  -7074.717113 -26802.790055  -4473.260275       .001559                    
+P 29  -4483.378043  20130.128145 -16389.071447    176.581728                    
+V 29 -16123.620537  14046.204461  21460.189392      -.190735                    
+P 30  16190.415032  12899.297858  16453.152710    442.547442                    
+V 30   3902.277849  21123.940045 -19985.326638      -.144705                    
+P 31 -21618.387866  10897.042770 -11605.705744      -.510920                    
+V 31   7549.695242 -12276.726542 -26118.350928      -.078588                    
+*  2005  1 21 10  0   .00000000                                                 
+P  1  14464.357760 -21378.856707   6393.122047    384.066654                    
+V  1   6890.276966  -4283.424094 -30864.103696       .020847                    
+P  2  -4904.371232  14416.255653  21454.428140    -41.981759                    
+V  2 -27321.749294  -6062.486326  -2222.160911       .055276                    
+P  3   8204.399038 -23120.671667  -9962.332871     78.429255                    
+V  3  10521.037324  -7860.634173  27510.479368       .029376                    
+P  4 -18531.436498   8223.503081  17330.103269    439.174947                    
+V  4 -20956.366709  -6523.622607 -18978.368080      -.207133                    
+P  5  13443.857376  22361.589859   5268.246335     73.443329                    
+V  5   -475.497833   7639.803868 -30139.111255       .024556                    
+P  6  17282.680791   2731.268644  20200.986717   -153.678776                    
+V  6 -15528.527624  20007.771574  10570.643639       .875445                    
+P  7 -20000.214148  14953.149024  -8409.638278     59.610056                    
+V  7   4363.898639 -11029.882372 -28738.217647      -.303676                    
+P  8 -25337.129319   -113.923905  -8734.526014    -19.191502                    
+V  8  -9913.908473  -4602.590419  29063.222837      -.011782                    
+P  9  15320.079466  14652.807616 -16689.134391    -25.066104                    
+V  9 -20155.516769  -1867.593484 -20403.821267      -.018460                    
+P 10      3.035968  24165.802599  10615.423653     57.606243                    
+V 10  -6137.331906 -12381.625306  28316.392314       .007163                    
+P 11 -16333.192299 -13944.563297 -15766.765373    186.951511                    
+V 11  20278.558103  -1071.826904 -19897.861365       .037003                    
+P 13 -16248.145839  -2644.421271  20771.793040    -13.694218                    
+V 13  17388.439687 -19943.768928  11100.836544       .009772                    
+P 14  20634.470046 -14323.566258  -8546.959952    -31.495483                    
+V 14  -5797.809821   9470.411687 -29685.285720      -.000814                    
+P 15  21149.884487  -5144.618890 -15623.922704    378.533003                    
+V 15  18109.766682   7013.046669  22210.122750       .053174                    
+P 16   4603.951027 -21047.149625  15580.016857      1.969807                    
+V 16   7943.751114  18096.535962  22245.678536      -.001556                    
+P 17   5896.074807  16752.781912  20218.204191    -90.719469                    
+V 17 -23799.639070  -7362.202530  12452.328617       .194495                    
+P 18  16267.248543   7296.177147 -19707.317187   -119.399211                    
+V 18   5684.764262  24441.069821  13452.643002      -.037253                    
+P 19   1300.569191 -19270.850252 -18146.450881    -11.976436                    
+V 19  17572.154606 -15285.303164  17367.492028      -.008601                    
+P 20 -12689.689907 -22200.905603   7144.456489    -90.542498                    
+V 20   -432.490791  -9518.433145 -30021.364612       .026982                    
+P 21  26207.768625   5257.194444  -2043.632831     88.141056                    
+V 21   1784.587340   3308.008775  31085.267952       .010344                    
+P 22  14132.874368  -5676.014496 -21597.653298     16.302309                    
+V 22   7382.464130  26818.880094  -2177.995542       .003804                    
+P 23  -9594.813253 -11861.957668  21642.207325    211.554248                    
+V 23  18687.016901 -20452.271554  -3018.104855       .005392                    
+P 24 -20579.806809   5995.036787  16022.789913     89.806324                    
+V 24 -18714.045634  -6650.855115 -21800.416438       .028836                    
+P 25  16227.409697 -11198.606168  18196.299642     84.416648                    
+V 25  22001.797540   4333.705830 -17292.544628       .008890                    
+P 26  -1389.445222  19302.347761 -18212.062611    317.654726                    
+V 26 -16459.866126  15671.105219  18758.905071       .054654                    
+P 27 -26473.486170  -4204.311160    277.681972    514.215742                    
+V 27    121.257690  -2714.816370  31276.617023       .062654                    
+P 28 -14441.157811   4563.322048 -21599.594631     46.490420                    
+V 28  -8507.131055 -26631.017151   -261.811287       .001568                    
+P 29  -5820.485562  21347.453817 -14318.857800    176.564651                    
+V 29 -13581.713285  12920.728348  24476.129299      -.190741                    
+P 30  16554.380386  14688.008948  14516.364394    442.534254                    
+V 30   4122.685612  18578.063539 -22990.488335      -.144714                    
+P 31 -20884.136762   9680.095838 -13853.200918      -.517921                    
+V 31   8694.405987 -14763.074031 -23757.395523      -.078606                    
+*  2005  1 21 10 15   .00000000                                                 
+P  1  14969.278895 -21661.617351   3568.443103    384.068854                    
+V  1   4368.403884  -1936.564915 -31816.946467       .020846                    
+P  2  -7357.868509  13936.275020  21065.102183    -41.976851                    
+V  2 -27107.275691  -4596.590258  -6416.865920       .055262                    
+P  3   9053.268191 -23733.098804  -7406.982474     78.431401                    
+V  3   8369.104401  -5685.172456  29193.287751       .029367                    
+P  4 -20331.456388   7705.431636  15479.735186    439.156189                    
+V  4 -18970.085704  -5019.859917 -22081.591937      -.207135                    
+P  5  13354.156924  22909.523213   2518.442539     73.445215                    
+V  5  -1582.491049   4549.228942 -30880.254405       .024556                    
+P  6  15900.401994   4602.011875  20979.047465   -153.600278                    
+V  6 -15123.677843  21511.719081   6695.079481       .875400                    
+P  7 -19545.431532  13834.335178 -10914.249453     59.582809                    
+V  7   5672.187319 -13835.377920 -26836.536245      -.303679                    
+P  8 -26094.434243   -473.946559  -6052.959775    -19.191225                    
+V  8  -6871.647233  -3456.178452  30444.008562      -.011777                    
+P  9  13407.435847  14519.640556 -18383.516794    -25.067646                    
+V  9 -22286.086025  -1041.486664 -17198.231032      -.018462                    
+P 10   -626.400565  22933.562151  13063.392138     57.607607                    
+V 10  -7890.545381 -14932.315279  26003.577138       .007161                    
+P 11 -14415.625692 -14075.636344 -17418.018543    186.954752                    
+V 11  22271.428450  -1880.986271 -16743.869187       .037002                    
+P 13 -14702.107345  -4520.100413  21588.159256    -13.693373                    
+V 13  16892.411232 -21681.894869   7014.677566       .009776                    
+P 14  20041.488084 -13342.804632 -11137.151452    -31.495543                    
+V 14  -7302.967969  12333.884297 -27791.378267      -.000816                    
+P 15  22682.759110  -4585.375799 -13499.633340    378.538924                    
+V 15  15884.266483   5450.404350  24930.371720       .053179                    
+P 16   5398.188418 -19337.032179  17442.800916      1.969780                    
+V 16   9725.034885  19825.759456  19090.733405      -.001552                    
+P 17   3680.683783  16132.476092  21168.312381    -90.701761                    
+V 17 -25359.921345  -6376.473243   8628.944518       .194524                    
+P 18  16813.609490   9409.103397 -18330.893187   -119.402244                    
+V 18   6401.025769  22447.323841  17089.456217      -.037260                    
+P 19   2781.174462 -20617.404017 -16430.770857    -11.977087                    
+V 19  15310.450742 -14556.662068  20703.136460      -.008608                    
+P 20 -12696.281264 -22911.040252   4388.764740    -90.540092                    
+V 20    357.080482  -6263.229358 -31128.029468       .026983                    
+P 21  26222.862126   5517.414548    763.335018     88.141965                    
+V 21  -1466.340491   2539.819695  31204.635897       .010330                    
+P 22  14860.482552  -3276.587683 -21604.467977     16.302634                    
+V 22   8759.855592  26412.975954   2026.916223       .003798                    
+P 23  -7975.835737 -13728.695371  21183.415364    211.554734                    
+V 23  17240.233989 -20953.562106  -7162.974208       .005386                    
+P 24 -22167.738983   5466.423096  13931.409422     89.809597                    
+V 24 -16501.989188  -5132.558718 -24610.211176       .028830                    
+P 25  18125.806290 -10866.215780  16492.287895     84.417448                    
+V 25  20112.404559   3087.341229 -20522.943106       .008899                    
+P 26  -2767.648420  20677.660316 -16371.836962    317.660035                    
+V 26 -14152.369449  14803.871993  22079.634814       .054648                    
+P 27 -26313.466634  -4429.291490   3082.424599    514.221502                    
+V 27   3433.996619  -2352.906139  30964.477500       .062650                    
+P 28 -15265.466994   2194.390344 -21433.612655     46.490540                    
+V 28  -9776.556875 -25925.643817   3942.887858       .001576                    
+P 29  -6928.138093  22440.860065 -11996.447387    176.547171                    
+V 29 -11041.426314  11295.941078  27056.374066      -.190746                    
+P 30  16920.618755  16236.184581  12327.102179    442.521297                    
+V 30   3947.669377  15793.587742 -25588.005245      -.144724                    
+P 31 -20066.516039   8241.602482 -15870.312216      -.524637                    
+V 31   9402.299284 -17185.667718 -21005.802838      -.078624                    
+*  2005  1 21 10 30   .00000000                                                 
+P  1  15258.729438 -21716.962481    682.440344    384.073827                    
+V  1   2114.755793    758.986098 -32224.469089       .020843                    
+P  2  -9766.973033  13588.782279  20302.811404    -41.972011                    
+V  2 -26336.540539  -3133.557356 -10497.678911       .055249                    
+P  3   9716.716821 -24133.351489  -4722.703862     78.435108                    
+V  3   6412.804049  -3155.169305  30370.974481       .029358                    
+P  4 -21933.550757   7313.257744  13366.826524    439.137897                    
+V  4 -16567.571129  -3738.084890 -24804.707631      -.207137                    
+P  5  13147.802744  23184.075169   -274.352949     73.447223                    
+V  5  -3062.481492   1579.245393 -31093.486063       .024556                    
+P  6  14571.364771   6592.901215  21402.662284   -153.521108                    
+V  6 -14354.390068  22666.809551   2704.952658       .875355                    
+P  7 -18992.105764  12463.737780 -13225.730367     59.555377                    
+V  7   6551.576401 -16608.920966 -24452.369991      -.303682                    
+P  8 -26567.468367   -747.180375  -3269.887653    -19.192586                    
+V  8  -3611.077938  -2680.704868  31315.616150      -.011773                    
+P  9  11320.550290  14473.413592 -19776.436582    -25.067946                    
+V  9 -24018.198055     53.375425 -13713.456832      -.018464                    
+P 10  -1423.322371  21491.364688  15282.457945     57.608485                    
+V 10  -9845.416136 -17037.614375  23237.374882       .007158                    
+P 11 -12336.405447 -14289.408194 -18771.976637    186.958102                    
+V 11  23862.395568  -2898.745001 -13300.533915       .037002                    
+P 13 -13220.280839  -6535.892637  22030.844173    -13.692353                    
+V 13  15971.267243 -23044.773939   2808.891853       .009780                    
+P 14  19334.051198 -12103.223825 -13534.966148    -31.495558                    
+V 14  -8338.258173  15205.369414 -25416.353693      -.000819                    
+P 15  23997.354987  -4156.020255 -11148.967263    378.542628                    
+V 15  13269.307267   4138.233993  27233.786671       .053185                    
+P 16   6356.575822 -17493.436443  19006.610645      1.969906                    
+V 16  11576.777979  21058.138302  15611.363460      -.001550                    
+P 17   1344.949639  15612.192641  21766.518286    -90.684101                    
+V 17 -26465.313717  -5151.861986   4642.481083       .194553                    
+P 18  17408.586024  11326.022613 -16640.226787   -119.405536                    
+V 18   6756.207877  20098.176649  20426.061229      -.037268                    
+P 19   4054.317942 -21876.394011 -14430.729738    -11.977988                    
+V 19  12977.668529 -13340.138722  23677.559524      -.008614                    
+P 20 -12612.869644 -23329.913243   1557.517636    -90.537727                    
+V 20   1564.232385  -3062.111588 -31698.115288       .026984                    
+P 21  25942.097047   5726.355354   3557.520189     88.142682                    
+V 21  -4774.853300   2170.831250  30801.554515       .010318                    
+P 22  15703.551470   -937.176854 -21233.862934     16.303183                    
+V 22   9934.261611  25491.063680   6196.698104       .003791                    
+P 23  -6499.347286 -15619.084468  20356.531395    211.555234                    
+V 23  15534.524182 -20971.612843 -11185.925126       .005380                    
+P 24 -23538.196565   5063.532140  11605.249051     89.813183                    
+V 24 -13891.460692  -3868.676928 -27010.303759       .028823                    
+P 25  19835.387527 -10635.601621  14512.221025     84.418498                    
+V 25  17814.975393   2083.405865 -23418.452544       .008907                    
+P 26  -3935.701421  21951.326607 -14248.597235    317.665143                    
+V 26 -11805.871321  13413.373137  25038.227035       .054641                    
+P 27 -25856.866200  -4640.085798   5835.919065    514.227481                    
+V 27   6696.834910  -2398.797138  30140.289132       .062645                    
+P 28 -16193.560223    -88.427747 -20892.324580     46.490791                    
+V 28 -10800.376211 -24725.304091   8066.008324       .001584                    
+P 29  -7810.959451  23366.648455  -9463.131539    176.529557                    
+V 29  -8601.475876   9202.617147  29156.220877      -.190752                    
+P 30  17252.415988  17526.454347   9924.053454    442.508034                    
+V 30   3355.084745  12862.535297 -27734.811330      -.144733                    
+P 31 -19204.606363   6591.142675 -17623.877749      -.531689                    
+V 31   9681.283334 -19459.476101 -17908.785578      -.078642                    
+*  2005  1 21 10 45   .00000000                                                 
+P  1  15360.090587 -21516.765737  -2215.303508    384.075735                    
+V  1    199.130016   3728.590255 -32077.044855       .020839                    
+P  2 -12082.272180  13369.434876  19181.164907    -41.967147                    
+V  2 -25027.326756  -1763.680555 -14390.458100       .055237                    
+P  3  10215.493934 -24292.304485  -1956.057351     78.438108                    
+V  3   4720.111621   -334.760916  31020.642293       .029348                    
+P  4 -23303.041443   7023.881802  11027.617933    439.119216                    
+V  4 -13812.858308  -2745.679954 -27103.722364      -.207139                    
+P  5  12792.896419  23199.929397  -3062.491593     73.448364                    
+V  5  -4875.773254  -1186.317818 -30777.241276       .024557                    
+P  6  13325.752403   8669.780802  21464.484176   -153.442219                    
+V  6 -13280.763719  23413.789052  -1333.637600       .875310                    
+P  7 -18379.149676  10848.600707 -15302.404429     59.527891                    
+V  7   6998.187053 -19253.494079 -21626.123604      -.303684                    
+P  8 -26740.553818   -968.588726   -431.906287    -19.193686                    
+V  8   -221.530486  -2308.490709  31662.249003      -.011768                    
+P  9   9097.612460  14535.188306 -20845.197631    -25.068613                    
+V  9 -25302.376057   1345.966073 -10004.079042      -.018467                    
+P 10  -2402.013764  19881.653126  17234.016359     57.609129                    
+V 10 -11914.668614 -18648.156699  20067.962070       .007155                    
+P 11 -10133.780043 -14601.599274 -19805.162821    186.961412                    
+V 11  25007.670982  -4055.911063  -9625.604337       .037002                    
+P 13 -11838.069374  -8654.822326  22092.367808    -13.691691                    
+V 13  14690.878703 -23963.575544  -1443.268854       .009783                    
+P 14  18554.967130 -10608.599528 -15698.877081    -31.495733                    
+V 14  -8895.349771  17984.840526 -22600.984653      -.000822                    
+P 15  25061.565385  -3831.063884  -8611.212391    378.546524                    
+V 15  10332.426595   3139.920669  29082.080731       .053192                    
+P 16   7481.420156 -15562.041418  20244.903788      1.970032                    
+V 16  13408.872922  21775.336326  11867.389439      -.001551                    
+P 17  -1068.082754  15209.956625  22000.952063    -90.666285                    
+V 17 -27071.569318  -3766.947581    555.882296       .194582                    
+P 18  18017.506019  13018.563908 -14664.880517   -119.409055                    
+V 18   6704.579746  17475.574262  23406.930147      -.037275                    
+P 19   5117.850379 -23004.379201 -12181.183289    -11.978922                    
+V 19  10667.949086 -11649.239172  26239.799289      -.008620                    
+P 20 -12403.042000 -23466.686088  -1300.523744    -90.535305                    
+V 20   3160.056533     -9.609685 -31722.764074       .026986                    
+P 21  25364.418799   5920.326153   6292.116248     88.143390                    
+V 21  -8049.039502   2206.658465  29882.116825       .010307                    
+P 22  16640.160097   1297.628312 -20492.335049     16.303572                    
+V 22  10826.039630  24097.168233  10257.457208       .003782                    
+P 23  -5184.778162 -17488.216291  19175.732557    211.555460                    
+V 23  13657.081409 -20477.967144 -15016.191517       .005374                    
+P 24 -24658.270642   4760.498399   9083.096850     89.816914                    
+V 24 -10950.284823  -2923.084942 -28959.218296       .028816                    
+P 25  21322.082096 -10482.032849  12288.502755     84.418988                    
+V 25  15170.617980   1384.706054 -25929.595026       .008916                    
+P 26  -4894.406914  23076.846858 -11877.523471    317.670025                    
+V 26  -9515.975477  11516.190195  27578.110332       .054635                    
+P 27 -25112.204690  -4872.933306   8492.869755    514.232894                    
+V 27   9820.906656  -2839.411796  28822.760305       .062641                    
+P 28 -17199.963390  -2242.970674 -19986.355879     46.490963                    
+V 28 -11505.572915 -23085.661681  12035.097147       .001591                    
+P 29  -8482.184781  24084.740006  -6763.811217    176.512306                    
+V 29  -6353.868926   6690.145073  30740.270518      -.190757                    
+P 30  17511.851324  18549.900116   7349.404767    442.494677                    
+V 30   2340.343205   9880.102047 -29396.301158      -.144742                    
+P 31 -18336.048829   4745.810242 -19085.029768      -.538533                    
+V 31   9555.311712 -21503.048358 -14516.448615      -.078660                    
+*  2005  1 21 11  0   .00000000                                                 
+P  1  15306.386073 -21040.192839  -5074.768052    384.077027                    
+V  1  -1323.294163   6885.328978 -31374.618642       .020836                    
+P  2 -14256.835461  13265.951389  17720.286883    -41.962449                    
+V  2 -23216.824602   -572.456333 -18024.817773       .055226                    
+P  3  10575.927939 -24187.183319    844.757918     78.441982                    
+V  3   3346.618590   2699.493478  31128.852428       .029338                    
+P  4 -24411.568560   6808.706597   8501.993905    439.100616                    
+V  4 -10781.890269  -2097.050988 -28941.740631      -.207141                    
+P  5  12261.776578  22978.921779  -5798.578240     73.449501                    
+V  5  -6968.206674  -3672.822716 -29938.686282       .024558                    
+P  6  12187.846234  10793.748058  21163.165425   -153.363625                    
+V  6 -11973.429306  23706.772280  -5353.636003       .875265                    
+P  7 -17745.001480   9004.825500 -17106.647703     59.500446                    
+V  7   7026.415866 -21674.384633 -18407.322662      -.303687                    
+P  8 -26606.304775  -1175.280515   2413.329039    -19.194124                    
+V  8   3202.593300  -2354.730073  31476.225296      -.011763                    
+P  9   6780.630024  14719.255143 -21572.161151    -25.068966                    
+V  9 -26103.487990   2757.297043  -6127.802016      -.018470                    
+P 10  -3568.584239  18150.472451  18884.309016     57.609617                    
+V 10 -14004.538980 -19733.494010  16552.671503       .007152                    
+P 11  -7849.276392 -15021.384379 -20499.491778    186.964589                    
+V 11  25678.418481  -5276.698143  -5780.987435       .037002                    
+P 13 -10584.350031 -10834.393877  21771.882420    -13.690946                    
+V 13  13129.896381 -24384.873096  -5667.893753       .009788                    
+P 14  17746.925082  -8871.678060 -17591.382771    -31.496018                    
+V 14  -8985.180095  20573.620443 -19393.824437      -.000824                    
+P 15  25849.892983  -3579.909174  -5928.794483    378.549830                    
+V 15   7152.541832   2505.253157  30443.901140       .053199                    
+P 16   8766.849696 -13589.344438  21136.722031      1.969708                    
+V 16  15130.275228  21977.534219   7922.902326      -.001552                    
+P 17  -3512.094034  14936.394580  21865.548987    -90.648830                    
+V 17 -27150.437624  -2307.063382  -3564.918611       .194611                    
+P 18  18602.308117  14466.116791 -12439.132371   -119.412490                    
+V 18   6216.801155  14669.472773  25982.930060      -.037282                    
+P 19   5977.971501 -23959.960660  -9721.246199    -11.979807                    
+V 19   8472.078341  -9515.703953  28346.306719      -.008624                    
+P 20 -12033.757558 -23338.736654  -4136.223810    -90.532797                    
+V 20   5098.760404   2806.785912 -31202.512408       .026987                    
+P 21  24497.044265   6135.370012   8921.225073     88.144277                    
+V 21 -11197.537118   2635.787981  28460.399149       .010297                    
+P 22  17641.678446   3387.950665 -19392.950328     16.303836                    
+V 22  11366.266663  22291.630833  14137.339573       .003773                    
+P 23  -4043.461902 -19289.456265  17661.425240    211.556068                    
+V 23  11700.030697 -19462.880762 -18586.328358       .005370                    
+P 24 -25501.711302   4526.306295   6407.172482     89.819590                    
+V 24  -7758.194451  -2345.971208 -30422.288119       .028808                    
+P 25  22557.873795 -10375.677618   9857.754376     84.419270                    
+V 25  12252.410431   1041.404712 -28012.260267       .008924                    
+P 26  -5653.050457  24010.121117  -9298.615266    317.674763                    
+V 26  -7374.947293   9148.990493  29648.978167       .054629                    
+P 27 -24095.778123  -5162.156802  11009.973791    514.238865                    
+V 27  12722.745781  -3645.411190  27037.373869       .062636                    
+P 28 -18253.175835  -4232.764124 -18732.695223     46.491115                    
+V 28 -11831.688928 -21076.982903  15781.415022       .001597                    
+P 29  -8962.889760  24560.266712  -3946.133041    176.495176                    
+V 29  -4380.261851   3824.547145  31782.979604      -.190762                    
+P 30  17661.388474  19306.176745   4648.059585    442.481399                    
+V 30    916.539102   6940.995780 -30546.760006      -.144751                    
+P 31 -17495.643537   2729.760125 -20229.605586      -.545688                    
+V 31   9063.348712 -23241.384147 -10883.133175      -.078679                    
+*  2005  1 21 11 15   .00000000                                                 
+P  1  15134.863684 -20274.667375  -7846.366074    384.076773                    
+V  1  -2414.141570  10133.179808 -30126.887385       .020833                    
+P  2 -16247.899111  13258.709183  15946.412228    -41.957455                    
+V  2 -20960.121170    363.052627 -21335.581488       .055217                    
+P  3  10828.706533 -23802.557914   3630.774522     78.444772                    
+V  3   2333.276998   5861.457986  30692.019669       .029328                    
+P  4 -25238.041037   6634.900169   5832.822410    439.082271                    
+V  4  -7559.766002  -1831.605816 -30289.426751      -.207143                    
+P  5  11532.231774  22549.092091  -8436.247155     73.451317                    
+V  5  -9273.214515  -5817.443620 -28593.481474       .024560                    
+P  6  11175.197820  12922.442243  20503.399335   -153.285118                    
+V  6 -10510.825895  23515.056321  -9288.019306       .875219                    
+P  7 -17125.999964   6956.586229 -18605.671042     59.473152                    
+V  7   6668.357105 -23783.114498 -14853.708885      -.303689                    
+P  8 -26165.936477  -1404.933861   5217.846172    -19.194946                    
+V  8   6565.123444  -2816.816577  30758.220314      -.011759                    
+P  9   4414.080955  15032.543171 -21944.999532    -25.070561                    
+V  9 -26401.927269   4203.261514  -2144.844725      -.018474                    
+P 10  -4920.555821  16345.716537  20205.015486     57.609980                    
+V 10 -16018.609617 -20283.085414  12754.806192       .007150                    
+P 11  -5526.300631 -15550.932436 -20842.600740    186.967887                    
+V 11  25861.847895  -6481.723246  -1831.775608       .037003                    
+P 13  -9480.465474 -13028.079013  21075.172353    -13.690166                    
+V 13  11376.530172 -24272.778789  -9791.732664       .009794                    
+P 14  16950.780436  -6913.882399 -19179.670465    -31.495983                    
+V 14  -8637.409803  22878.196468 -15850.361264      -.000825                    
+P 15  26344.354600  -3368.163595  -3146.629669    378.555044                    
+V 15   3817.233831   2268.498906  31295.338229       .053206                    
+P 16  10198.890357 -11620.997118  21667.027119      1.969668                    
+V 16  16652.565774  21683.258675   3845.184723      -.001553                    
+P 17  -5938.994899  14794.266100  21360.282778    -90.631255                    
+V 17 -26691.017387   -861.149258  -7651.813499       .194640                    
+P 18  19123.073299  15656.399951 -10001.367796   -119.415960                    
+V 18   5281.066244  11774.425380  28112.023224      -.037288                    
+P 19   6648.767540 -24705.376064  -7093.591628    -11.980561                    
+V 19   6473.958965  -6988.356973  29961.659717      -.008628                    
+P 20 -11476.793453 -22970.877959  -6900.915809    -90.530776                    
+V 20   7319.413875   5309.845844 -30147.216419       .026990                    
+P 21  23355.267925   6405.736096  11400.569970     88.145060                    
+V 21 -14132.733173   3429.987114  26558.327795       .010288                    
+P 22  18673.866214   5299.988349 -17955.098135     16.304184                    
+V 22  11499.630587  20148.659316  17767.903334       .003765                    
+P 23  -3078.358087 -20976.157900  15839.888657    211.556679                    
+V 23   9756.705863 -17935.859039 -21833.478407       .005364                    
+P 24 -26049.879386   4326.117713   3622.484090     89.823387                    
+V 24  -4404.094820  -2171.795904 -31372.319135       .028800                    
+P 25  23521.771818 -10282.838798   7260.295300     84.418541                    
+V 25   9142.951492   1088.923049 -29628.510544       .008934                    
+P 26  -6228.928403  24711.222635  -6556.068253    317.679560                    
+V 26  -5467.915939   6367.623785  31208.106553       .054622                    
+P 27 -22831.048013  -5538.754862  13346.507525    514.244757                    
+V 27  15327.015456  -4772.543126  24815.859591       .062632                    
+P 28 -19316.913019  -6028.205506 -17154.305194     46.491273                    
+V 28 -11733.222060 -18781.175426  19241.134607       .001603                    
+P 29  -9280.912870  24764.954233  -1059.586400    176.477901                    
+V 29  -2748.804211    685.838063  32268.973394      -.190767                    
+P 30  17665.446450  19803.306199   1866.825844    442.468385                    
+V 30   -886.122637   4135.863916 -31169.606259      -.144760                    
+P 31 -16714.064079    573.506589 -21038.498592      -.552653                    
+V 31   8257.835345 -24608.584917  -7066.740667      -.078697                    
+*  2005  1 21 11 30   .00000000                                                 
+P  1  14885.408312 -19216.531464 -10481.822618    384.077312                    
+V  1  -3053.384240  13370.600048 -28353.299633       .020832                    
+P  2 -18018.380578  13321.653286  13891.357623    -41.952576                    
+V  2 -18327.946189    977.470425 -24264.089835       .055208                    
+P  3  11007.479475 -23131.059960   6353.153609     78.447803                    
+V  3   1704.734818   9058.692041  29716.599450       .029317                    
+P  4 -25769.324971   6466.815701   3065.257636    439.063925                    
+V  4  -4237.682953  -1972.295433 -31125.362754      -.207146                    
+P  5  10588.507594  21943.520017 -10930.911524     73.453091                    
+V  5 -11714.323584  -7571.325386 -26765.430797       .024562                    
+P  6  10298.060063  15011.472753  19495.872199   -153.206450                    
+V  6  -8976.184900  22824.402201 -13070.801920       .875175                    
+P  7 -16554.847460   4735.598698 -19772.209304     59.445643                    
+V  7   5972.434915 -25501.160572 -11030.084015      -.303692                    
+P  8 -25429.271405  -1694.187953   7934.115756    -19.195238                    
+V  8   9771.525812  -3674.323688  29517.405145      -.011755                    
+P  9   2043.481253  15474.294324 -21956.894549    -25.071491                    
+V  9 -26194.307022   5597.655140   1882.687942      -.018479                    
+P 10  -6446.800597  14515.322544  21173.733298     57.610413                    
+V 10 -17861.728957 -20306.470577   8742.352213       .007147                    
+P 11  -3208.666793 -16185.224238 -20828.089690    186.971252                    
+V 11  25561.717836  -7591.167351   2154.797227       .037004                    
+P 13  -8539.522512 -15186.965825  20014.536016    -13.689182                    
+V 13   9524.970284 -23610.391680 -13743.491344       .009800                    
+P 14  16203.922084  -4764.682166 -20436.197219    -31.496166                    
+V 14  -7899.137579  24813.848269 -12032.040725      -.000827                    
+P 15  26535.126113  -3159.103010   -311.434224    378.558302                    
+V 15    419.704953   2447.021667  31620.365369       .053214                    
+P 16  11755.858810  -9700.187718  21826.938137      1.969723                    
+V 16  17893.407674  20928.525937   -296.404202      -.001555                    
+P 17  -8300.527381  14778.290309  20491.319846    -90.613440                    
+V 17 -25700.541828    481.636976 -11635.463822       .194669                    
+P 18  19539.629347  16585.716109  -7393.414431   -119.419406                    
+V 18   3903.576497   8886.041145  29759.838636      -.037293                    
+P 19   7151.443720 -25207.960336  -4343.693586    -11.981285                    
+V 19   4747.381728  -4131.293021  31059.118147      -.008633                    
+P 20 -10710.006404 -22394.304834  -9547.231274    -90.528290                    
+V 20   9748.277030   7435.409025 -28575.819307       .026994                    
+P 21  21961.984200   6762.415805  13688.193026     88.145810                    
+V 21 -16773.853451   4545.310108  24205.461343       .010281                    
+P 22  19698.207280   7007.131559 -16204.125164     16.304483                    
+V 22  11186.761854  17753.330273  21085.412684       .003756                    
+P 23  -2284.113375 -22503.390660  13742.808032    211.557201                    
+V 23   7917.881101 -15925.426388 -24700.553620       .005357                    
+P 24 -26292.434557   4122.759031    776.128436     89.826731                    
+V 24   -982.954634  -2417.800446 -31790.184345       .028791                    
+P 25  24200.542477 -10167.356917   4539.552228     84.419141                    
+V 25   5931.521404   1546.336726 -30747.359318       .008944                    
+P 26  -6646.540922  25146.052123  -3697.535137    317.684146                    
+V 26  -3869.258896   3245.380136  32221.592410       .054616                    
+P 27 -21347.800421  -6029.139491  15464.859064    514.250408                    
+V 27  17568.864775  -6163.456978  22195.536266       .062627                    
+P 28 -20351.536651  -7607.463017 -15279.632188     46.491425                    
+V 28 -11181.383009 -16288.430982  22356.379929       .001610                    
+P 29  -9469.520195  24678.241809   1845.416964    176.460833                    
+V 29  -1511.591391  -2635.150204  32193.123940      -.190772                    
+P 30  17491.888881  20057.159356   -946.410228    442.455199                    
+V 30  -3021.556565   1547.947130 -31257.456083      -.144769                    
+P 31 -16016.730799  -1687.004379 -21497.947359      -.559645                    
+V 31   7202.703788 -25550.208068  -3128.032600      -.078715                    
+*  2005  1 21 11 45   .00000000                                                 
+P  1  14598.848001 -17871.370569 -12935.045421    384.076532                    
+V  1  -3240.165666  16494.382007 -26082.862359       .020832                    
+P  2 -19538.160642  13423.475296  11591.882845    -41.947657                    
+V  2 -15403.783165   1219.834047 -26759.326596       .055199                    
+P  3  11147.341233 -22173.791639   8964.088725     78.450492                    
+V  3   1468.342166  12196.013334  28219.054042       .029306                    
+P  4 -26000.647043   6267.515653    246.015132    439.045166                    
+V  4   -909.681196  -2524.761714 -31436.304048      -.207148                    
+P  5   9422.072110  21198.990429 -13240.476716     73.455848                    
+V  5 -14208.006472  -8901.209341 -24486.028715       .024564                    
+P  6   9559.099207  17015.936824  18157.124238   -153.127680                    
+V  6  -7454.322451  21637.733446 -16638.051830       .875130                    
+P  7 -16059.229717   2380.071090 -20585.096321     59.418471                    
+V  7   5001.296139 -26763.284090  -7006.933498      -.303694                    
+P  8 -24414.439357  -2077.061032  10515.817845    -19.195953                    
+V  8  12732.289051  -4889.582645  27771.501416      -.011752                    
+P  9   -286.086991  16036.014503 -21606.677685    -25.072984                    
+V  9 -25493.643571   6855.293676   5891.465092      -.018483                    
+P 10  -8127.828649  12705.486367  21774.338929     57.611717                    
+V 10 -19443.850863 -19832.632484   4586.626978       .007145                    
+P 11   -939.107892 -16912.157607 -20455.664868    186.974466                    
+V 11  24798.221376  -8527.981886   6110.458390       .037005                    
+P 13  -7766.023513 -17261.505122  18608.553290    -13.688303                    
+V 13   7671.594262 -22400.505456 -17455.078285       .009805                    
+P 14  15538.786995  -2460.650991 -21339.177742    -31.496082                    
+V 14  -6832.924411  26307.943795  -8005.175078      -.000829                    
+P 15  26420.902531  -2915.232969   2529.001802    378.562905                    
+V 15  -2944.491695   3040.496811  31411.200923       .053223                    
+P 16  13409.057161  -7866.130151  21613.867399      1.969634                    
+V 16  18779.769979  19765.336375  -4431.564240      -.001559                    
+P 17 -10549.908843  14875.284179  19271.082482    -90.595681                    
+V 17 -24204.533287   1635.441560 -15446.379404       .194698                    
+P 18  19813.167357  17258.887289  -4659.831223   -119.422911                    
+V 18   2108.336219   6097.446089  30900.114823      -.037297                    
+P 19   7513.284346 -25441.416210  -1519.026761    -11.981987                    
+V 19   3353.220136  -1021.480997  31621.013661      -.008638                    
+P 20  -9718.362158 -21645.310535 -12029.901772    -90.525700                    
+V 20  12301.615644   9134.671881 -26515.969882       .026997                    
+P 21  20346.940515   7231.795448  15745.128882     88.146620                    
+V 21 -19049.839718   5923.675998  21438.683400       .010274                    
+P 22  20673.425175   8490.789548 -14170.857668     16.304882                    
+V 22  10405.909673  15198.171272  24032.022225       .003748                    
+P 23  -1647.457917 -23829.612673  11406.706341    211.557670                    
+V 23   6268.111906 -13478.135023 -27137.303780       .005350                    
+P 24 -26227.730443   3878.314874  -2083.458737     89.829066                    
+V 24   2407.576172  -3083.136537 -31665.332106       .028782                    
+P 25  24589.170980  -9992.132292   1741.400136     84.419295                    
+V 25   2710.937655   2415.342461 -31345.504201       .008955                    
+P 26  -6936.474368  25287.798505   -773.281015    317.689141                    
+V 26  -2639.342803   -129.558781  32665.454540       .054610                    
+P 27 -19681.110540  -6654.049431  17331.006185    514.256375                    
+V 27  19395.912003  -7749.817365  19218.774296       .062622                    
+P 28 -21315.612084  -8957.060267 -13142.030389     46.491560                    
+V 28 -10165.160275 -13693.620099  25076.095318       .001616                    
+P 29  -9565.871927  24288.097828   4718.460307    176.443827                    
+V 29   -702.817772  -6040.330703  31560.406652      -.190777                    
+P 30  17113.375404  20090.651440  -3743.508624    442.441999                    
+V 30  -5429.619033   -749.919242 -30812.024447      -.144778                    
+P 31 -15422.880922  -4011.518477 -21599.760472      -.566513                    
+V 31   5970.998838 -26025.252493    870.098708      -.078734                    
+*  2005  1 21 12  0   .00000000                                                 
+P  1  14315.220073 -16253.984790 -15162.969001    384.076114                    
+V  1  -2992.858325  19403.627660 -23353.748204       .020833                    
+P  2 -20785.082051  13529.009535   9088.959968    -41.942690                    
+V  2 -12280.483574   1055.678522 -28778.835739       .055191                    
+P  3  11283.256391 -20940.406210  11417.696417     78.453400                    
+V  3   1613.878745  15179.200698  26225.592353       .029296                    
+P  4 -25935.700183   6000.344338  -2577.371546    439.026583                    
+V  4   2330.698734  -3477.115734 -31217.334951      -.207150                    
+P  5   8032.112814  20354.538230 -15326.008563     73.457573                    
+V  5 -16666.778763  -9790.477085 -21793.915297       .024566                    
+P  6   8953.400020  18891.972574  16509.318982   -153.048611                    
+V  6  -6028.351000  19975.218627 -19928.907753       .875085                    
+P  7 -15660.655408    -66.621130 -21029.707680     59.391275                    
+V  7   3829.055602 -27520.303220  -2858.873299      -.303697                    
+P  8 -23147.276171  -2583.452039  12918.611645    -19.196124                    
+V  8  15366.204885  -6408.997888  25546.732167      -.011748                    
+P  9  -2531.440468  16701.706417 -20898.909196    -25.075417                    
+V  9 -24329.014616   7895.141231   9817.632958      -.018487                    
+P 10  -9936.411934  10958.970491  21997.225595     57.613650                    
+V 10 -20683.635646 -18908.591040    360.898827       .007142                    
+P 11   1242.174714 -17712.938635 -19731.180912    186.977895                    
+V 11  23607.250850  -9221.019354   9967.043445       .037006                    
+P 13  -7155.843165 -19203.286168  16881.743758    -13.687220                    
+V 13   5911.110878 -20665.552252 -20862.780686       .009810                    
+P 14  14981.580821    -44.247175 -21872.969795    -31.496264                    
+V 14  -5514.205835  27302.771717  -3839.760634      -.000831                    
+P 15  26008.957392  -2599.892241   5326.569620    378.568514                    
+V 15  -6180.844892   4030.762617  30668.581240       .053231                    
+P 16  15123.742788  -6152.715542  21031.553790      1.969639                    
+V 16  19250.800056  18259.579440  -8490.194952      -.001564                    
+P 17 -12643.459688  15064.619230  17718.209038    -90.577879                    
+V 17 -22246.280613   2521.245855 -19016.127541       .194727                    
+P 18  19907.809897  17688.876488  -1847.163412   -119.426450                    
+V 18    -63.712414   3495.873618  31515.015464      -.037300                    
+P 19   7766.383479 -25386.846436   1331.761207    -11.982629                    
+V 19   2337.153385   2254.118041  31638.972139      -.008645                    
+P 20  -8494.693699 -20763.823809 -14306.520014    -90.523172                    
+V 20  14888.893540  10375.877304 -24003.502726       .026998                    
+P 21  18545.744715   7834.475100  17536.046589     88.147693                    
+V 21 -20901.915222   7494.974876  18301.799588       .010268                    
+P 22  21557.117299   9740.896550 -11891.023047     16.305217                    
+V 22   9153.896350  12579.468715  26556.825108       .003739                    
+P 23  -1147.920480 -24918.221359   8872.285895    211.558222                    
+V 23   4882.336516 -10656.852579 -29101.247537       .005342                    
+P 24 -25862.897337   3555.770385  -4907.293478     89.833168                    
+V 24   5670.707594  -4148.665171 -30996.188638       .028773                    
+P 25  24691.030223  -9720.712129  -1086.559782     84.420982                    
+V 25   -425.793356   3679.856525 -31407.990673       .008965                    
+P 26  -7134.012758  25118.136734   2164.751975    317.694301                    
+V 26  -1821.790441  -3657.397472  32526.537855       .054604                    
+P 27 -17870.144179  -7427.671983  18914.948848    514.261906                    
+V 27  20769.866007  -9454.826493  15932.489238       .062618                    
+P 28 -22167.529527 -10072.130918 -10779.115394     46.491778                    
+V 28  -8691.672776 -11092.589297  27356.739547       .001621                    
+P 29  -9609.356431  23591.503265   7510.017084    176.427083                    
+V 29   -337.687216  -9428.153358  30385.555200      -.190782                    
+P 30  16508.525524  19932.687162  -6476.884416    442.428970                    
+V 30  -8038.437522  -2697.853229 -29843.879303      -.144786                    
+P 31 -14944.867896  -6356.756185 -21341.474188      -.573437                    
+V 31   4642.175052 -26007.712244   4863.394745      -.078752                    
+*  2005  1 21 12 15   .00000000                                                 
+P  1  14072.067296 -14388.003121 -17126.354368    384.076895                    
+V  1  -2348.338250  22003.680608 -20212.702214       .020836                    
+P  2 -21745.626932  13600.784880   6426.970150    -41.937728                    
+V  2  -9056.542233    468.400774 -30289.411350       .055182                    
+P  3  11448.493755 -19448.855016  13670.873307     78.456968                    
+V  3   2114.019973  17918.677180  23771.686090       .029284                    
+P  4 -25586.448804   5630.491833  -5357.303741    439.008414                    
+V  4   5393.730927  -4800.351087 -30471.925532      -.207152                    
+P  5   6425.747903  19449.926631 -17152.348822     73.458369                    
+V  5 -19002.431221 -10239.582457 -18734.249045       .024569                    
+P  6   8468.766222  20598.291159  14579.921459   -152.969461                    
+V  6  -4776.426505  17873.724350 -22886.586198       .875040                    
+P  7 -15373.567992  -2557.479482 -21098.257721     59.364341                    
+V  7   2538.022195 -27741.171064   1337.027010      -.303699                    
+P  8 -21660.439335  -3237.788040  15100.889858    -19.197260                    
+V  8  17603.360188  -8164.922859  22877.573822      -.011745                    
+P  9  -4652.704926  17448.381067 -19843.891531    -25.076246                    
+V  9 -22744.688317   8643.359019  13597.572181      -.018492                    
+P 10 -11838.516093   9313.570410  21839.416789     57.614114                    
+V 10 -21511.669602 -17597.300586  -3860.988232       .007138                    
+P 11   3298.868478 -18562.746704 -18666.578414    186.981280                    
+V 11  22039.061191  -9607.966440  13657.670457       .037007                    
+P 13  -6696.549437 -20966.773112  14864.123039    -13.686368                    
+V 13   4332.792736 -18446.789217 -23908.349399       .009813                    
+P 14  14551.255152   2437.635373 -22028.349861    -31.496185                    
+V 14  -4028.195485  27757.797436    391.773606      -.000833                    
+P 15  25314.895605  -2178.840310   8033.616860    378.574465                    
+V 15  -9199.285136   5382.326983  29401.932015       .053239                    
+P 16  16860.336897  -4587.375960  20089.993740      1.969519                    
+V 16  19260.239838  16488.428729 -12403.527247      -.001569                    
+P 17 -14542.152511  15318.991273  15857.399902    -90.560450                    
+V 17 -19885.614266   3070.267514 -22278.658502       .194755                    
+P 18  19792.073021  17896.112806    996.825255   -119.429542                    
+V 18  -2556.175472   1159.503982  31595.320690      -.037303                    
+P 19   7946.197621 -25033.509093   4159.689980    -11.983351                    
+V 19   1728.000184   5601.801517  31113.970232      -.008652                    
+P 20  -7040.159791 -19791.823254 -16338.248402    -90.520708                    
+V 20  17416.218394  11145.344658 -21081.792298       .026999                    
+P 21  16598.659130   8584.298574  19029.850644     88.148520                    
+V 21 -22285.745743   9179.641874  14845.032098       .010261                    
+P 22  22307.441163  10756.078875  -9404.584067     16.305616                    
+V 22   7446.315863   9993.457098  28616.743189       .003729                    
+P 23   -758.832412 -25738.920037   6183.693128    211.558722                    
+V 23   3822.877858  -7538.399314 -30558.444739       .005334                    
+P 24 -25213.603717   3120.640293  -7646.665085     89.837926                    
+V 24   8714.083532  -5577.454442 -29790.434063       .028762                    
+P 25  24517.743333  -9318.883661  -3895.777783     84.421119                    
+V 25  -3388.912900   5306.287804 -30928.779410       .008975                    
+P 26  -7277.532821  24628.102251   5063.950411    317.699456                    
+V 26  -1441.428056  -7230.610284  31803.164705       .054598                    
+P 27 -15956.836813  -8357.005673  20191.090790    514.267660                    
+V 27  21667.611869 -11195.980197  12387.542059       .062613                    
+P 28 -22867.125202 -10956.341177  -8232.063172     46.492022                    
+V 28  -6785.819558  -8578.506967  29162.807190       .001626                    
+P 29  -9639.861269  22594.589533  10172.306930    176.409988                    
+V 29   -412.102381 -12697.466298  28692.539719      -.190787                    
+P 30  15662.853747  19616.899942  -9100.288580    442.415753                    
+V 30 -10767.146865  -4250.942424 -28372.067278      -.144795                    
+P 31 -14587.715685  -8677.814194 -20726.439454      -.580344                    
+V 31   3299.147889 -25487.644297   8787.036756      -.078771                    
+*  2005  1 21 12 30   .00000000                                                 
+P  1  13902.834093 -12305.151904 -18790.526492    384.076695                    
+V  1  -1360.494404  24209.850500 -16714.253612       .020840                    
+P  2 -22415.250113  13600.665041   3652.848883    -41.932824                    
+V  2  -5832.202934   -540.141554 -31267.552598       .055174                    
+P  3  11673.135191 -17724.809914  15684.099936     78.459789                    
+V  3   2925.524648  20333.012894  20901.373295       .029273                    
+P  4 -24972.641123   5126.492540  -8046.871289    438.990274                    
+V  4   8196.680110  -6449.377010 -29211.890394      -.207155                    
+P  5   4617.944769  18524.114543 -18688.670820     73.462056                    
+V  5 -21129.283948 -10265.862247 -15358.006013       .024572                    
+P  6   8086.307555  22097.631591  12401.286717   -152.890855                    
+V  6  -3768.649934  15385.646122 -25459.364509       .874995                    
+P  7 -15204.769788  -5043.578601 -20789.942261     59.336987                    
+V  7   1215.063189 -27414.257856   5502.985271      -.303702                    
+P  8 -19992.269697  -4057.864103  17024.508057    -19.196557                    
+V  8  19387.779202 -10078.076551  19806.441662      -.011743                    
+P  9  -6614.623575  18246.836533 -18457.611832    -25.078213                    
+V  9 -20798.731663   9036.180721  17168.717899      -.018496                    
+P 10 -13794.500188   7800.797893  21304.557435     57.613647                    
+V 10 -21873.180444 -15974.951335  -8005.954076       .007135                    
+P 11   5199.761028 -19431.650165 -17279.715279    186.984635                    
+V 11  20156.374650  -9637.962289  17117.922007       .037007                    
+P 13  -6368.054019 -22510.935419  12590.666260    -13.685442                    
+V 13   3016.944328 -15802.764178 -26539.975151       .009817                    
+P 14  14258.781755   4935.289902 -21802.674026    -31.496375                    
+V 14  -2466.404034  27651.252939   4615.861528      -.000836                    
+P 15  24362.104479  -1621.769658  10603.733050    378.577991                    
+V 15 -11917.472101   7043.528111  27629.424199       .053247                    
+P 16  18575.826644  -3190.201901  18805.271306      1.969302                    
+V 16  18778.297657  14537.324509 -16105.231702      -.001574                    
+P 17 -16213.019432  15605.484798  13719.139837    -90.543006                    
+V 17 -17196.981245   3227.082407 -25171.722209       .194784                    
+P 18  19440.168671  17907.547535   3823.932075   -119.432622                    
+V 18  -5299.255113   -845.338393  31140.497728      -.037309                    
+P 19   8089.978260 -24379.268531   6916.284570    -11.984386                    
+V 19   1536.720759   8924.615870  30056.230884      -.008658                    
+P 20  -5364.386838 -18771.689999 -18090.464281    -90.518166                    
+V 20  19789.909759  11447.807601 -17800.994446       .027000                    
+P 21  14549.221489   9487.633299  20200.231668     88.149446                    
+V 21 -23173.112727  10891.620976  11124.405363       .010255                    
+P 22  22884.784299  11543.479718  -6755.000708     16.306050                    
+V 22   5316.975937   7532.548164  30177.242838       .003719                    
+P 23   -448.578674 -26268.846209   3387.721658    211.559674                    
+V 23   3136.968458  -4210.633306 -31484.093343       .005324                    
+P 24 -24303.499659   2542.521396 -10253.975920     89.841379                    
+V 24  11453.254339  -7315.980202 -28065.131190       .028751                    
+P 25  24088.737748  -8756.211438  -6637.578861     84.423560                    
+V 25  -6095.306840   7244.505066 -29911.187744       .008985                    
+P 26  -7406.749871  23818.594692   7872.080722    317.704303                    
+V 26  -1503.039665 -10738.265517  30505.485216       .054592                    
+P 27 -13984.494562  -9441.471862  21138.573265    514.273350                    
+V 27  22081.876171 -12887.907394   8638.260138       .062608                    
+P 28 -23377.240557 -11621.490847  -5544.869634     46.492243                    
+V 28  -4489.262620  -6238.394231  30467.184392       .001630                    
+P 29  -9696.051039  21312.431517  12660.097782    176.393065                    
+V 29   -903.120683 -15751.291491  26513.896409      -.190793                    
+P 30  14569.444180  19180.235928 -11569.550035    442.402651                    
+V 30 -13528.922174  -5380.670012 -26423.629517      -.144803                    
+P 31 -14348.946261 -10929.639446 -19763.834338      -.587214                    
+V 31   2025.186294 -24471.707030  12576.497889      -.078789                    
+*  2005  1 21 12 45   .00000000                                                 
+P  1  13835.429421 -10044.203530 -20126.032498    384.080502                    
+V  1    -98.024804  25950.770265 -12919.744903       .020844                    
+P  2 -22798.360638  13491.508058    815.200832    -41.927730                    
+V  2  -2705.565059  -1949.802860 -31699.685553       .055166                    
+P  3  11982.721923 -15800.784387  17422.173041     78.463390                    
+V  3   3991.093297  22352.095072  17666.368125       .029261                    
+P  4 -24121.045919   4461.604250 -10600.597981    438.971409                    
+V  4  10666.730990  -8364.637116 -27457.249121      -.207158                    
+P  5   2631.148958  17613.768593 -19908.968981     73.465384                    
+V  5 -22967.350420  -9902.736004 -11721.212604       .024574                    
+P  6   7781.294491  23358.083313  10010.161569   -152.812025                    
+V  6  -3064.240279  12577.146623 -27601.523275       .874950                    
+P  7 -15153.182970  -7475.839512 -20110.924082     59.309920                    
+V  7    -52.216886 -26547.779332   9562.249487      -.303704                    
+P  8 -18185.434156  -5053.926106  18655.480125    -19.196496                    
+V  8  20679.622678 -12060.521950  16383.230080      -.011741                    
+P  9  -8387.717475  19062.684154 -16761.607586    -25.079698                    
+V  9 -18561.120175   9022.518259  20470.447699      -.018500                    
+P 10 -15760.534334   6444.829545  20402.787103     57.615344                    
+V 10 -21730.151090 -14127.795513 -12002.959850       .007132                    
+P 11   6919.758084 -20285.739415 -15594.092169    186.988127                    
+V 11  18031.992492  -9273.794285  20287.013192       .037006                    
+P 13  -6143.565020 -23800.710028  10100.689126    -13.684348                    
+V 13   2031.741132 -12807.124554 -28713.140953       .009819                    
+P 14  14106.752245   7397.930125 -21199.921215    -31.496390                    
+V 14   -922.912748  26980.997770   8759.114399      -.000838                    
+P 15  23180.918448   -903.685123  12992.534395    378.580409                    
+V 15 -14263.848578   8948.325371  25377.900285       .053256                    
+P 16  20225.308547  -1973.345870  17199.290061      1.969232                    
+V 16  17792.907006  12496.655031 -19532.489927      -.001580                    
+P 17 -17630.355712  15886.900119  11339.290075    -90.525310                    
+V 17 -14266.854220   2952.314477 -27638.338861       .194813                    
+P 18  18833.100449  17755.477601   6586.296020   -119.436073                    
+V 18  -8212.282007  -2466.534664  30158.654969      -.037315                    
+P 19   8235.145763 -23430.726488   9554.397027    -11.984976                    
+V 19   1756.117695  12125.951286  28484.965590      -.008665                    
+P 20  -3485.289263 -17744.561460 -19533.332387    -90.515845                    
+V 20  21920.055328  11306.052177 -14217.189527       .027000                    
+P 21  12442.739986  10542.930914  21026.156702     88.150357                    
+V 21 -23553.027274  12541.624901   7201.017533       .010248                    
+P 22  23253.351071  12118.252041  -3988.435858     16.306285                    
+V 22   2816.615520   5281.753713  31212.865827       .003709                    
+P 23   -182.044420 -26493.417156    532.969984    211.560520                    
+V 23   2854.897602   -769.105324 -31862.939312       .005309                    
+P 24 -23163.357438   1796.506296 -12683.585458     89.843632                    
+V 24  13814.910180  -9296.006488 -25846.687427       .028739                    
+P 25  23430.500371  -8007.456662  -9264.018947     84.425870                    
+V 25  -8471.726990   9429.491229 -28368.175065       .008995                    
+P 26  -7560.891201  22700.480044  10538.356948    317.709519                    
+V 26  -1991.016482 -14070.589932  28655.491369       .054586                    
+P 27 -11996.357428 -10672.792493  21741.562699    514.278993                    
+V 27  22021.387658 -14445.377092   4741.900171       .062603                    
+P 28 -23665.162144 -12086.814963  -2763.585221     46.492500                    
+V 28  -1858.801934  -4149.962629  31251.350127       .001633                    
+P 29  -9813.719108  19768.510157  14931.442072    176.376077                    
+V 29  -1770.134352 -18500.371067  23889.937809      -.190798                    
+P 30  13229.343267  18661.437536 -13843.269863    442.389514                    
+V 30 -16234.192891  -6075.715351 -24033.025664      -.144812                    
+P 31 -14218.690403 -13068.526500 -18468.597591      -.594044                    
+V 31    900.742083 -22983.138318  16168.444150      -.078808                    
+*  2005  1 21 13  0   .00000000                                                 
+P  1  13891.017102  -7649.645000 -21109.204947    384.080623                    
+V  1   1358.395154  27171.239475  -8896.197266       .020847                    
+P  2 -22907.959189  13238.776342  -2036.595163    -41.922650                    
+V  2    231.145382  -3723.065361 -31582.162405       .055156                    
+P  3  12397.095390 -13714.989476  18854.849931     78.466629                    
+V  3   5241.814616  23919.828518  14125.002609       .029249                    
+P  4 -23064.440594   3615.016912 -12975.170007    438.952509                    
+V  4  12743.570503 -10474.261290 -25235.987227      -.207160                    
+P  5    494.636400  16751.873644 -20792.476566     73.469006                    
+V  5 -24445.302782  -9198.324866  -7884.118426       .024575                    
+P  6   7524.250779  24354.225463   7447.104058   -152.733580                    
+V  6  -2709.091205   9525.853324 -29274.228979       .874905                    
+P  7 -15209.955876  -9806.802511 -19074.163807     59.282491                    
+V  7  -1179.297902 -25169.359523  13440.781102      -.303707                    
+P  8 -16285.397787  -6228.042521  19964.621025    -19.197447                    
+V  8  21456.755659 -14019.048436  12664.610064      -.011740                    
+P  9  -9949.254821  19857.593416 -14782.749286    -25.082293                    
+V  9 -16111.386793   8566.200530  23445.037482      -.018504                    
+P 10 -17690.177804   5261.757287  19150.501895     57.616685                    
+V 10 -21062.761428 -12148.634109 -15784.201280       .007129                    
+P 11   8440.667540 -21088.434984 -13638.474337    186.991466                    
+V 11  15746.000565  -8493.577173  23108.921906       .037004                    
+P 13  -5990.802764 -24808.240047   7437.158322    -13.683438                    
+V 13   1430.559757  -9545.858317 -30391.338473       .009819                    
+P 14  14089.318586   9775.466950 -20230.618222    -31.496486                    
+V 14    509.448919  25764.617655  12749.628797      -.000841                    
+P 15  21807.523942     -6.095254  15158.435577    378.585336                    
+V 15 -16180.342443  11018.672857  22682.657303       .053266                    
+P 16  21763.615759   -940.733553  15299.410729      1.969099                    
+V 16  16310.324854  10458.258931 -22627.015460      -.001586                    
+P 17 -18776.662832  16123.297456   8758.547410    -90.507341                    
+V 17 -11190.545234   2224.744945 -29628.274653       .194841                    
+P 18  17959.512942  17476.181060   9237.169141   -119.439634                    
+V 18 -11206.640396  -3667.989606  28666.383580      -.037321                    
+P 19   8417.668172 -22203.030102  12028.998396    -11.985758                    
+V 19   2361.239108  15113.103525  26427.973523      -.008672                    
+P 20  -1428.575218 -16748.748606 -20642.296292    -90.513167                    
+V 20  23723.923177  10759.873645 -10391.441719       .026999                    
+P 21  10324.715348  11740.590645  21492.288657     88.151525                    
+V 21 -23432.229422  14040.582084   3140.194539       .010240                    
+P 22  23382.603584  12502.743779  -1152.921743     16.306664                    
+V 22     10.959379   3315.444562  31707.570642       .003699                    
+P 23     77.802635 -26406.860270  -2331.029049    211.560885                    
+V 23   2988.852866   2686.577652 -31689.493304       .005294                    
+P 24 -21829.937015    864.398969 -14892.642745     89.847376                    
+V 24  15739.739583 -11437.093624 -23170.632856       .028728                    
+P 25  22575.555925  -7053.817915 -11728.758744     84.428811                    
+V 25 -10457.698622  11783.647580 -26322.443180       .009003                    
+P 26  -7776.880076  21294.279448  13014.493853    317.714601                    
+V 26  -2869.942037 -17123.550498  26286.676240       .054579                    
+P 27 -10034.170298 -12035.137107  21989.490478    514.284826                    
+V 27  21510.545988 -15786.284334    758.113227       .062599                    
+P 28 -23703.890673 -12378.018756     64.462172     46.492545                    
+V 28   1035.779688  -2378.862987  31505.436643       .001636                    
+P 29 -10024.275792  17993.870962  16948.337560    176.359049                    
+V 29  -2956.705699 -20866.357273  20867.872555      -.190803                    
+P 30  11651.659375  18099.483740 -15883.460162    442.376685                    
+V 30 -18793.921123  -6342.116549 -21241.482428      -.144820                    
+P 31 -14180.082800 -15053.587119 -16861.278924      -.601216                    
+V 31       .319077 -21061.156264  19501.683473      -.078826                    
+*  2005  1 21 13 15   .00000000                                                 
+P  1  14083.085010  -5170.118561 -21722.616552    384.082241                    
+V  1   2919.457248  27834.427855  -4715.037332       .020852                    
+P  2 -22764.952893  12812.033077  -4853.271640    -41.917685                    
+V  2   2894.991778  -5806.637635 -30921.055894       .055145                    
+P  3  12929.480688 -11509.972203  19957.391222     78.468432                    
+V  3   6600.090823  24996.252405  10341.031589       .029237                    
+P  4 -21840.385869   2572.846366 -15130.138338    438.934142                    
+V  4  14381.532369 -12696.681223 -22583.715734      -.207163                    
+P  5  -1756.388396  15966.492021 -21324.006480     73.471831                    
+V  5 -25503.136623  -8213.537220  -3910.314827       .024576                    
+P  6   7282.244845  25068.037271   4755.826959   -152.654719                    
+V  6  -2733.813073   6318.089651 -30446.335645       .874860                    
+P  7 -15358.906466 -11992.322826 -17699.104081     59.255484                    
+V  7  -2088.385523 -23324.762272  17068.822643      -.303710                    
+P  8 -14338.782809  -7573.788549  20928.122463    -19.198856                    
+V  8  21715.701902 -15858.758173   8713.247122      -.011739                    
+P  9 -11283.989831  20590.718250 -12552.934217    -25.083404                    
+V  9 -13535.864964   7647.750038  26038.679019      -.018508                    
+P 10 -19536.054976   4259.164949  17570.013370     57.618141                    
+V 10 -19870.116979 -10133.108005 -19286.200759       .007125                    
+P 11   9751.717599 -21801.920596 -11446.414377    186.994965                    
+V 11  13382.674019  -7291.840448  25533.456331       .037001                    
+P 13  -5873.430023 -25513.843615   4645.943915    -13.682520                    
+V 13   1249.898332  -6114.076843 -31546.639030       .009820                    
+P 14  14192.476222  12020.259513 -18911.648277    -31.496758                    
+V 14   1742.869313  24038.758148  16518.262876      -.000843                    
+P 15  20282.641129   1082.033510  17063.395108    378.589529                    
+V 15 -17624.605054  13167.404423  19587.074424       .053276                    
+P 16  23146.968478    -88.093069  13137.999724      1.968963                    
+V 16  14355.045769   8511.877169 -25336.010703      -.001592                    
+P 17 -19643.281877  16273.699692   6021.772433    -90.489747                    
+V 17  -8068.531984   1042.707569 -31099.463742       .194870                    
+P 18  16816.264047  17108.415180  11731.668811   -119.443309                    
+V 18 -14188.981935  -4430.857347  26688.490610      -.037324                    
+P 19   8670.507057 -20719.365877  14297.928600    -11.986445                    
+V 19   3310.461339  17800.669474  23921.109411      -.008680                    
+P 20    773.043535 -15818.276233 -21398.481974    -90.510469                    
+V 20  25129.104396   9864.394629  -6388.789165       .026996                    
+P 21   8239.247116  13063.136788  21589.324336     88.152453                    
+V 21 -22835.035741  15303.149893   -989.473353       .010231                    
+P 22  23248.500941  12725.411152   1702.495850     16.307050                    
+V 22  -3021.801945   1694.570506  31654.885146       .003688                    
+P 23    368.258432 -26012.408597  -5154.689544    211.561020                    
+V 23   3532.497693   6056.530342 -30968.053528       .005280                    
+P 24 -20344.615926   -264.320611 -16841.890117     89.849785                    
+V 24  17184.785755 -13649.652971 -20081.201630       .028716                    
+P 25  21561.202766  -5883.937398 -13987.937473     84.431022                    
+V 25 -12007.979835  14219.679525 -23806.325748       .009009                    
+P 26  -8087.614166  19629.453590  15255.713360    317.719758                    
+V 26  -4086.100760 -19803.221524  23443.339119       .054573                    
+P 27  -8136.805878 -13505.536624  21877.243293    514.290558                    
+V 27  20588.600546 -16834.576165  -3251.620122       .062594                    
+P 28 -23473.195702 -12526.086694   2891.443933     46.492745                    
+V 28   4114.309659   -976.429947  31228.164116       .001639                    
+P 29 -10353.427820  16026.015573  18677.305890    176.341823                    
+V 29  -4392.967814 -22784.539315  17500.861429      -.190809                    
+P 30   9853.368797  17532.044144 -17656.121434    442.363549                    
+V 30 -21122.829979  -6202.803609 -18096.281144      -.144828                    
+P 31 -14209.933155 -16848.139792 -14967.801882      -.608134                    
+V 31   -610.510366 -18759.781890  22518.157869      -.078845                    
+*  2005  1 21 13 30   .00000000                                                 
+P  1  14416.833175  -2656.696643 -21955.415187    384.084775                    
+V  1   4490.937864  27923.340233   -450.715767       .020856                    
+P  2 -22397.181650  12186.267175  -7586.531211    -41.912605                    
+V  2   5215.302511  -8133.649485 -29731.772221       .055134                    
+P  3  13585.850022  -9231.093081  20710.991151     78.469795                    
+V  3   7982.911619  25558.987580   6382.335887       .029225                    
+P  4 -20489.830151   1328.874937 -17028.585824    438.915373                    
+V  4  15551.225858 -14943.624430 -19543.227049      -.207165                    
+P  5  -4081.916934  15279.716637 -21494.210502     73.472961                    
+V  5 -26094.442505  -7019.686155    134.195646       .024576                    
+P  6   7020.332199  25489.541769   1982.473626   -152.575861                    
+V  6  -3152.347810   3045.734753 -31095.082823       .874815                    
+P  7 -15577.279071 -13993.117435 -16011.219716     59.228439                    
+V  7  -2711.705532 -21075.868106  20382.301650      -.303712                    
+P  8 -12391.673178  -9076.265663  21528.049490    -19.201009                    
+V  8  21471.875553 -17486.877111   4596.818516      -.011737                    
+P  9 -12384.637963  21220.259019 -10108.686361    -25.085334                    
+V  9 -10924.599851   6265.607764  28202.545603      -.018512                    
+P 10 -21251.564197   3436.041996  15689.114225     57.619897                    
+V 10 -18170.251963  -8175.939564 -22450.785612       .007120                    
+P 11  10849.787275 -22388.645400  -9055.682671    186.998366                    
+V 11  11027.201382  -5679.971160  27517.233987       .036997                    
+P 13  -5752.639917 -25906.677275   1775.027173    -13.681529                    
+V 13   1507.962793  -2612.465757 -32160.112801       .009819                    
+P 14  14394.677952  14088.772763 -17265.947074    -31.497045                    
+V 14   2698.114284  21857.721215  19999.856738      -.000843                    
+P 15  18650.028855   2363.601891  18673.619812    378.595503                    
+V 15 -18571.686507  15301.535663  16142.075773       .053286                    
+P 16  24334.585762    596.699116  10751.894941      1.968891                    
+V 16  11969.032161   6741.685588 -27613.046418      -.001598                    
+P 17 -20230.679634  16297.884394   3177.194665    -90.472239                    
+V 17  -5002.441090   -575.337824 -32019.310608       .194898                    
+P 18  15408.699232  16691.832480  14027.501195   -119.446698                    
+V 18 -17064.615843  -4754.133794  24257.627226      -.037326                    
+P 19   9022.189713 -19010.160262  16322.593010    -11.987276                    
+V 19   4547.203583  20113.651609  21007.633255      -.008688                    
+P 20   3080.908083 -14981.600977 -21789.007926    -90.507954                    
+V 20  26076.271096   8687.810004  -2277.179562       .026991                    
+P 21   6227.483617  14485.710503  21314.240582     88.153423                    
+V 21 -21802.520126  16251.163632  -5117.208392       .010222                    
+P 22  22834.489864  12819.506492   4528.618806     16.307539                    
+V 22  -6193.997386    464.443987  31057.876685       .003676                    
+P 23    725.224413 -25322.155764  -7889.247334    211.561266                    
+V 23   4461.295303   9244.354718 -29712.539437       .005269                    
+P 24 -18751.834015  -1591.827418 -18496.420093     89.852132                    
+V 24  18125.188217 -15838.439368 -16630.709465       .028704                    
+P 25  20428.052513  -4494.625322 -16001.025657     84.433193                    
+V 25 -13094.448793  16643.963050 -20861.447736       .009015                    
+P 26  -8520.419020  17743.312190  17221.673220    317.724949                    
+V 26  -5569.843596 -22029.712737  20179.557351       .054567                    
+P 27  -6338.983170 -15054.554581  21405.300793    514.296484                    
+V 27  19308.351001 -17523.033283  -7224.598263       .062589                    
+P 28 -22960.421032 -12565.913322   5669.796508     46.492916                    
+V 28   7289.154450     22.014066  30426.664790       .001641                    
+P 29 -10820.095397  13907.571995  20089.884226    176.324946                    
+V 29  -5998.485066 -24206.022780  13847.033538      -.190814                    
+P 30   7858.837546  16994.002409 -19131.753565    442.350540                    
+V 30 -23142.473229  -5696.530395 -14649.996280      -.144837                    
+P 31 -14279.655003 -18420.967898 -12819.135852      -.615317                    
+V 31   -877.830662 -16146.101493  25163.968385      -.078864                    
+*  2005  1 21 13 45   .00000000                                                 
+P  1  14888.907356   -161.060785 -21803.530989    384.086934                    
+V  1   5977.630053  27441.476842   3820.747777       .020860                    
+P  2 -21838.200420  11342.997799 -10189.863249    -41.907602                    
+V  2   7136.103820 -10626.336386 -28038.509238       .055122                    
+P  3  14364.591134  -6924.905644  21103.087995     78.472469                    
+V  3   9305.332504  25603.960514   2319.560715       .029214                    
+P  4 -19055.592948   -114.990803 -18637.749565    438.896405                    
+V  4  16240.585708 -17123.387731 -16163.944786      -.207167                    
+P  5  -6438.444994  14706.856669 -21299.752762     73.474604                    
+V  5 -26188.203251  -5695.718929   4181.973533       .024578                    
+P  6   6703.094085  25617.154363   -825.163443   -152.497385                    
+V  6  -3961.224839   -197.174504 -31206.666783       .874770                    
+P  7 -15836.776535 -15776.099960 -14041.450294     59.201118                    
+V  7  -2994.308092 -18498.008898  23324.033437      -.303715                    
+P  8 -10487.931898 -10712.463272  21752.741904    -19.202615                    
+V  8  20759.069171 -18816.533551    386.885733      -.011734                    
+P  9 -13252.061630  21705.106912  -7490.659021    -25.087538                    
+V  9  -8368.020986   4436.727100  29893.883938      -.018516                    
+P 10 -22792.554734   2783.032366  13540.561410     57.620966                    
+V 10 -15999.421952  -6367.267148 -25225.944172       .007115                    
+P 11  11739.338783 -22812.835926  -6507.614674    187.001601                    
+V 11   8762.358400  -3685.985158  29024.547069       .036993                    
+P 13  -5588.839132 -25985.070120  -1126.322385    -13.680737                    
+V 13   2203.968310    856.458854 -32222.092708       .009819                    
+P 14  14667.753575  15943.077611 -15322.092351    -31.497205                    
+V 14   3307.739720  19291.382060  23134.374126      -.000842                    
+P 15  16954.867325   3833.014483  19960.213317    378.601305                    
+V 15 -19015.065091  17325.866856  12405.422930       .053295                    
+P 16  25290.198132   1132.968675   8181.796383      1.968769                    
+V 16   9210.285576   5223.037034 -29418.850370      -.001606                    
+P 17 -20548.364255  16158.187668    275.508424    -90.454945                    
+V 17  -2090.864372  -2591.124656 -32365.804306       .194927                    
+P 18  13750.617159  16265.372802  16085.646670   -119.449564                    
+V 18 -19740.957485  -4654.595419  21413.815341      -.037329                    
+P 19   9495.561557 -17112.018182  18068.595697    -11.988102                    
+V 19   6002.204593  21990.159329  17737.455664      -.008696                    
+P 20   5451.695906 -14260.554948 -21807.197562    -90.505364                    
+V 20  26521.449123   7308.643916   1873.634377       .026984                    
+P 21   4326.175430  15976.864052  20670.438745     88.154119                    
+V 21 -20391.037105  16816.885772  -9171.226375       .010213                    
+P 22  22132.210355  12821.594940   7276.947384     16.307842                    
+V 22  -9411.800532   -346.835579  29928.950064       .003663                    
+P 23   1181.611427 -24356.578247 -10487.611632    211.561462                    
+V 23   5733.557914  12160.742420 -27946.145854       .005260                    
+P 24 -17097.412562  -3111.611397 -19826.367025     89.853881                    
+V 24  18555.218811 -17906.347508 -12878.726857       .028692                    
+P 25  19218.429081  -2891.264605 -17731.637239     84.433745                    
+V 25 -13707.316652  18960.263786 -17538.142512       .009021                    
+P 26  -9095.748808  15679.597380  18877.289573    317.729821                    
+V 26  -7238.693575 -23740.457300  16557.864764       .054560                    
+P 27  -4670.123650 -16647.199226  20579.815957    514.301793                    
+V 27  17734.391413 -17795.827280 -11097.565726       .062584                    
+P 28 -22161.015452 -12534.808306   8352.966920     46.493167                    
+V 28  10468.375882    598.252620  29116.211142       .001643                    
+P 29 -11435.603081  11684.795693  21163.027325    176.307826                    
+V 29  -7685.457173 -25099.300822   9968.482691      -.190820                    
+P 30   5699.077829  16516.101207 -20285.796419    442.337358                    
+V 30 -24784.045845  -4876.251225 -10959.694320      -.144845                    
+P 31 -14356.424058 -19747.397602 -10450.874917      -.622740                    
+V 31   -761.740061 -13298.006679  27390.416730      -.078882                    
+*  2005  1 21 14  0   .00000000                                                 
+P  1  15487.489838   2266.341389 -21269.750588    384.091003                    
+V  1   7287.321294  26412.659140   8023.256002       .020864                    
+P  2 -21125.869869  10271.119739 -12619.305905    -41.902653                    
+V  2   8617.935303 -13199.093080 -25873.588224       .055109                    
+P  3  15256.492334  -4637.504244  21127.550422     78.475099                    
+V  3  10484.006851  25145.383654  -1775.273434       .029203                    
+P  4 -17580.781626  -1748.565349 -19929.588916    438.877825                    
+V  4  16455.297553 -19144.279604 -12501.265607      -.207170                    
+P  5  -8780.418724  14255.886572 -20743.393775     73.478313                    
+V  5 -25770.050102  -4325.152194   8165.154473       .024579                    
+P  6   6296.212475  25457.718766  -3618.468901   -152.418385                    
+V  6  -5139.503063  -3317.970672 -30776.662474       .874726                    
+P  7 -16104.818350 -17315.451925 -11825.534573     59.174150                    
+V  7  -2896.269584 -15676.800076  25844.697166      -.303718                    
+P  8  -8667.598007 -12451.954894  21597.107783    -19.203688                    
+V  8  19628.196671 -19770.384512  -3842.372785      -.011732                    
+P  9 -13895.149871  22006.510942  -4743.039098    -25.089431                    
+V  9  -5953.488764   2196.473654  31077.101956      -.018519                    
+P 10 -24118.909527   2283.003928  11161.487886     57.622099                    
+V 10 -13410.726723  -4789.206421 -27566.555074       .007110                    
+P 11  12432.053401 -23041.957163  -3846.386319    187.004918                    
+V 11   6665.266854  -1353.627690  30028.090281       .036989                    
+P 13  -5343.360905 -25756.517590  -4008.386650    -13.679786                    
+V 13   3318.177489   4192.145660 -31732.282211       .009818                    
+P 14  14978.098233  17552.136070 -13113.795048    -31.497284                    
+V 14   3518.830651  16422.510351  25867.944511      -.000841                    
+P 15  15242.079570   5476.149293  20899.753179    378.606287                    
+V 15 -18966.970255  19146.752472   8440.836645       .053304                    
+P 16  25983.403692   1546.314766   5471.590396      1.968808                    
+V 16   6150.808085   4019.535567 -30721.991873      -.001614                    
+P 17 -20614.424292  15821.237943  -2631.120661    -90.437471                    
+V 17    574.792491  -4947.817020 -32128.378670       .194956                    
+P 18  11863.926796  15865.690345  17870.998182   -119.452985                    
+V 18 -22130.915451  -4166.085213  18203.875607      -.037336                    
+P 19  10106.765459 -15066.440243  19506.300575    -11.988761                    
+V 19   7596.272432  23383.611437  14166.292737      -.008704                    
+P 20   7838.883937 -13669.554406 -21452.690939    -90.502831                    
+V 20  26437.722413   5812.621378   5993.225212       .026976                    
+P 21   2566.390081  17499.633385  19667.778704     88.155003                    
+V 21 -18670.123498  16945.919728 -13080.006679       .010205                    
+P 22  21141.891847  12769.960126   9900.505508     16.308073                    
+V 22 -12578.759710   -729.267587  28289.487312       .003651                    
+P 23   1765.868914 -23143.746110 -12905.177973    211.561853                    
+V 23   7292.170784  14726.772783 -25700.831287       .005252                    
+P 24 -15426.814433  -4808.487129 -20807.515397     89.857192                    
+V 24  18488.548812 -19758.358389  -8891.055514       .028681                    
+P 25  17974.692154  -1087.870144 -19148.277974     84.433058                    
+V 25 -13855.588106  21073.654113 -13894.624367       .009027                    
+P 26  -9826.193986  13486.806258  20193.429416    317.734808                    
+V 26  -9001.031389 -24892.696474  12647.692661       .054553                    
+P 27  -3153.384815 -18244.052617  19412.632248    514.307581                    
+V 27  15940.930880 -17610.772434 -14807.452616       .062579                    
+P 28 -21078.773337 -12470.931068  10896.130010     46.493192                    
+V 28  13559.004126    751.644509  27319.861166       .001644                    
+P 29 -12203.169923   9405.958132  21879.419004    176.291030                    
+V 29  -9362.144902 -25451.179618   5930.260046      -.190825                    
+P 30   3410.766647  16123.756022 -21098.996832    442.324197                    
+V 30 -25990.845302  -3807.003399  -7086.100041      -.144853                    
+P 31 -14404.528146 -20810.151013  -7902.723047      -.629552                    
+V 31   -238.234208 -10301.471940  29155.041254      -.078901                    
+*  2005  1 21 14 15   .00000000                                                 
+P  1  16192.743860   4578.086129 -20363.656920    384.090978                    
+V  1   8334.645712  24880.029125  12082.123061       .020867                    
+P  2 -20300.813259   8967.462131 -14834.143357    -41.897691                    
+V  2   9639.001639 -15761.768401 -23276.687370       .055096                    
+P  3  16245.042203  -2412.906719  20784.738937     78.477467                    
+V  3  11440.622187  24215.005385  -5830.151643       .029192                    
+P  4 -16107.199028  -3553.542529 -20881.289367    438.859462                    
+V  4  16218.572805 -20918.111888  -8615.792264      -.207172                    
+P  5 -11061.767490  13927.180266 -19833.981968     73.481425                    
+V  5 -24842.927102  -2992.817944  12016.491728       .024579                    
+P  6   5768.018615  25026.224865  -6348.861327   -152.339328                    
+V  6  -6649.417020  -6228.872928 -29810.275792       .874681                    
+P  7 -16345.966813 -18593.392167  -9403.267797     59.147112                    
+V  7  -2394.214663 -12704.627563  27903.572114      -.303721                    
+P  8  -6965.429224 -14257.907682  21062.797488    -19.204446                    
+V  8  18145.321419 -20283.926634  -8015.545953      -.011729                    
+P  9 -14330.386320  22089.703060  -1912.855063    -25.091262                    
+V  9  -3761.844302   -402.210051  31724.814116      -.018523                    
+P 10 -25195.976194   1911.912592   8592.754464     57.623887                    
+V 10 -10472.126368  -3512.759494 -29434.988226       .007104                    
+P 11  12946.184475 -23048.063516  -1118.230924    187.008306                    
+V 11   4804.372437   1259.166949  30509.529950       .036985                    
+P 13  -4980.141559 -25237.336785  -6821.841326    -13.678617                    
+V 13   4812.668978   7299.711165 -30699.708839       .009816                    
+P 14  15288.081884  18892.822456 -10679.301867    -31.497040                    
+V 14   3295.160290  13343.603258  28153.786956      -.000841                    
+P 15  13554.657026   7270.668507  21474.781443    378.610410                    
+V 15 -18457.964815  20675.888810   4316.953298       .053313                    
+P 16  26390.815944   1867.437235   2667.617465      1.968620                    
+V 16   2874.025638   3180.554413 -31499.449490      -.001623                    
+P 17 -20454.703465  15259.537864  -5490.112893    -90.419994                    
+V 17   2914.218034  -7572.138118 -31308.460974       .194985                    
+P 18   9778.006936  15525.673598  19352.943794   -119.456486                    
+V 18 -24156.098541  -3338.167906  14680.759680      -.037341                    
+P 19  10864.485950 -12918.367116  20611.312945    -11.989413                    
+V 19   9243.402601  24264.363155  10354.744362      -.008714                    
+P 20  10194.337000 -13215.103020 -20731.454145    -90.500375                    
+V 20  25816.306136   4289.270410  10011.632472       .026968                    
+P 21    972.441313  19012.852948  18322.495368     88.156082                    
+V 21 -16719.841735  16599.658189 -16773.629733       .010197                    
+P 22  19872.427626  12702.962057  12354.627125     16.308495                    
+V 22 -15599.394085   -691.125355  26169.345606       .003639                    
+P 23   2500.696827 -21718.255411 -15100.588270    211.562312                    
+V 23   9066.914189  16876.780540 -23016.657506       .005245                    
+P 24 -13783.416058  -6658.959184 -21421.807709     89.860083                    
+V 24  17957.716622 -21305.468436  -4738.523910       .028669                    
+P 25  16737.554840    893.206700 -20225.008547     84.434007                    
+V 25 -13566.725904  22894.456410  -9995.926036       .009034                    
+P 26 -10715.839686  11216.330475  21147.454585    317.739685                    
+V 26 -10760.169672 -25465.046233   8523.641032       .054547                    
+P 27  -1804.907273 -19802.585617  17921.230565    514.313151                    
+V 27  14009.236531 -16941.191231 -18292.196807       .062575                    
+P 28 -19725.779547 -12411.711452  13256.870433     46.493684                    
+V 28  16470.317312    498.965690  25068.031806       .001645                    
+P 29 -13117.713251   7119.681731  22227.693247    176.273900                    
+V 29 -10936.393893 -25267.043141   1799.375058      -.190831                    
+P 30   1035.061577  15836.079006 -21557.699283    442.311155                    
+V 30 -26720.305506  -2563.370302  -3092.735055      -.144861                    
+P 31 -14386.861713 -21599.936523  -5217.887330      -.636644                    
+V 31    699.479272  -7247.452089  30422.618948      -.078919                    
+*  2005  1 21 14 30   .00000000                                                 
+P  1  16977.592847   6731.437830 -19101.436575    384.093527                    
+V  1   9044.645658  22904.267528  15925.523178       .020871                    
+P  2 -19404.800352   7437.044649 -16797.530654    -41.892696                    
+V  2  10195.641596 -18223.071789 -20294.003311       .055084                    
+P  3  17307.028911   -291.535861  20081.444672     78.480976                    
+V  3  12105.099376  22860.674278  -9774.404268       .029181                    
+P  4 -14673.800893  -5503.965572 -21475.692519    438.840600                    
+V  4  15570.268416 -22363.615587  -4572.458753      -.207174                    
+P  5 -13237.468594  13713.542455 -18586.350338     73.484073                    
+V  5 -23427.131442  -1781.533889  15670.420187       .024579                    
+P  6   5090.952039  24345.215869  -8968.664410   -152.260370                    
+V  6  -8437.716124  -8850.350620 -28322.409039       .874636                    
+P  7 -16523.457904 -19600.620708  -6817.703611     59.120156                    
+V  7  -1482.117803  -9676.954191  29469.032831      -.303725                    
+P  8  -5409.651950 -16088.370007  20158.248892    -19.204726                    
+V  8  16389.033853 -20308.340107 -12057.462053      -.011727                    
+P  9 -14581.112147  21925.414423    950.805563    -25.093913                    
+V  9  -1864.105588  -3290.387602  31818.798828      -.018526                    
+P 10 -25995.795177   1639.925021   5878.253300     57.624358                    
+V 10  -7263.933104  -2595.176898 -30801.578249       .007098                    
+P 11  13305.653100 -22808.984360   1629.387318    187.011720                    
+V 11   3236.768379   4082.398797  30459.896966       .036980                    
+P 13  -4467.296155 -24451.997875  -9518.587359    -13.677617                    
+V 13   6632.802890  10093.412066 -29142.527617       .009811                    
+P 14  15557.623787  19950.642264  -8060.720611    -31.496891                    
+V 14   2618.686177  10153.356474  29952.999843      -.000844                    
+P 15  11932.056324   9186.665096  21674.194299    378.615417                    
+V 15 -17535.782336  21833.963038    106.128482       .053322                    
+P 16  26496.958890   2130.764088   -182.105382      1.968508                    
+V 16   -528.233987   2739.294242 -31737.049913      -.001632                    
+P 17 -20101.642509  14452.817404  -8249.565410    -90.402363                    
+V 17   4861.651695 -10377.307938 -29919.665665       .195013                    
+P 18   7528.789470  15273.113148  20505.884931   -119.460093                    
+V 18 -25749.728737  -2234.197471  10902.789780      -.037345                    
+P 19  11769.486315 -10714.605550  21364.875144    -11.990249                    
+V 19  10854.148087  24620.702294   6367.309401      -.008724                    
+P 20  12469.962816 -12895.608388 -19655.685953    -90.497570                    
+V 20  24666.948035   2828.380341  13860.501246       .026957                    
+P 21   -438.920733  20472.665429  16656.992800     88.156974                    
+V 21 -14627.655448  15757.148330 -20185.153860       .010188                    
+P 22  18341.127792  12657.411058  14597.691651     16.308894                    
+V 22 -18382.718752   -258.427513  23606.231213       .003625                    
+P 23   3401.989795 -20119.925935 -17036.425465    211.563117                    
+V 23  10977.284228  18560.687307 -19940.999858       .005236                    
+P 24 -12206.863211  -8631.933832 -21657.736712     89.863155                    
+V 24  17012.801879 -22468.428179   -495.626397       .028657                    
+P 25  15544.467669   3021.922920 -20942.002276     84.434296                    
+V 25 -12885.514111  24342.031530  -5912.621944       .009041                    
+P 26 -11760.000470   8920.498586  21723.605263    317.744750                    
+V 26 -12418.606992 -25458.086288   4263.653988       .054540                    
+P 27   -633.306750 -21278.620422  16128.598228    514.318637                    
+V 27  12024.759001 -15777.314792 -21491.654822       .062570                    
+P 28 -18122.062906 -12392.312332  15395.823381     46.493885                    
+V 28  19117.021020   -126.360512  22398.009212       .001643                    
+P 29 -14165.969461   4873.280561  22202.566102    176.256738                    
+V 29 -12319.135274 -24570.463338  -2356.186924      -.190837                    
+P 30  -1383.744789  15665.146844 -21654.057915    442.298449                    
+V 30 -26945.538606  -1226.610973    954.968143      -.144869                    
+P 31 -14266.509988 -22115.746631  -2442.383808      -.643742                    
+V 31   2040.315050  -4228.503905  31166.099790      -.078938                    
+*  2005  1 21 14 45   .00000000                                                 
+P  1  17808.801391   8689.820683 -17505.559943    384.094601                    
+V  1   9355.891790  20561.111159  19485.862545       .020874                    
+P  2 -18479.119675   5693.026851 -18477.040742    -41.887581                    
+V  2  10302.120879 -20493.965301 -16977.364164       .055069                    
+P  3  18413.411954   1691.141670  19030.710558     78.484969                    
+V  3  12418.427723  21144.290175 -13539.976509       .029169                    
+P  4 -13315.261366  -7566.996392 -21701.642594    438.821986                    
+V  4  14565.369860 -23409.653483   -439.550988      -.207177                    
+P  5 -15265.087012  13600.538571 -17021.116794     73.486512                    
+V  5 -21559.717633   -768.817566  19064.130526       .024578                    
+P  6   4242.869303  23443.905012 -11431.975133   -152.181748                    
+V  6 -10437.655455 -11114.191075 -26337.527055       .874590                    
+P  7 -16600.771576 -20336.428197  -4114.321959     59.092756                    
+V  7   -171.379285  -6688.608332  30518.812386      -.303728                    
+P  8  -4020.973024 -17897.788776  18898.597516    -19.205061                    
+V  8  14447.275831 -19812.728888 -15894.712322      -.011725                    
+P  9 -14676.503870  21491.216199   3797.659068    -25.095577                    
+V  9   -318.460784  -6385.437914  31350.818067      -.018528                    
+P 10 -26498.082167   1432.755069   3064.174483     57.625022                    
+V 10  -3875.876725  -2077.858619 -31644.973078       .007091                    
+P 11  13538.922790 -22309.295314   4348.626775    187.015105                    
+V 11   2005.978080   7036.624585  29879.790728       .036974                    
+P 13  -3778.533018 -23432.158247 -12052.558135    -13.676613                    
+V 13   8709.323937  12499.758302 -27087.680634       .009805                    
+P 14  15745.869610  20720.122344  -5303.280985    -31.496998                    
+V 14   1490.327563   6952.912820  31235.203541      -.000848                    
+P 15  10408.733289  11187.625658  21493.517885    378.620059                    
+V 15 -16263.448211  22554.005458  -4116.892636       .053331                    
+P 16  26294.874195   2372.931524  -3028.695456      1.968387                    
+V 16  -3959.098144   2711.459474 -31429.767261      -.001642                    
+P 17 -19592.837428  13389.091025 -10859.343545    -90.384953                    
+V 17   6368.699339 -13266.656208 -27987.608588       .195042                    
+P 18   5157.597742  15129.567561  21309.682167   -119.463141                    
+V 18 -26859.154370   -928.860082   6932.809184      -.037349                    
+P 19  12814.455689  -8502.194429  21754.171210    -11.991063                    
+V 19  12339.117196  24459.181734   2271.350800      -.008734                    
+P 20  14619.372174 -12701.518865 -18243.622698    -90.495182                    
+V 20  23017.641088   1516.447419  17474.202864       .026945                    
+P 21  -1659.021351  21834.169343  14699.513907     88.157833                    
+V 21 -12484.953403  14416.275315 -23251.997387       .010179                    
+P 22  16573.163073  12667.019817  16591.798192     16.309068                    
+V 22 -20845.568717    526.261311  20644.967835       .003612                    
+P 23   4478.053294 -18392.316403 -18679.832069    211.563999                    
+V 23  12935.695938  19745.714589 -16527.649144       .005224                    
+P 24 -10731.580336 -10689.752246 -21510.609303     89.865050                    
+V 24  15719.349866 -23181.120547   3760.961671       .028645                    
+P 25  14428.139771   5261.515895 -21285.979441     84.436106                    
+V 25 -11872.155642  25348.232435  -1719.369536       .009047                    
+P 26 -12945.338059   6650.609691  21913.217789    317.749603                    
+V 26 -13882.249608 -24893.968793    -52.825870       .054534                    
+P 27    360.563682 -22627.895402  14063.011972    514.324033                    
+V 27  10074.016239 -14127.144208 -24348.601177       .062565                    
+P 28 -16294.971831 -12444.187874  17277.268611     46.494005                    
+V 28  21422.226491  -1075.612443  19353.401972       .001641                    
+P 29 -15326.924426   2711.164700  21804.880103    176.239066                    
+V 29 -13427.746867 -23402.181204  -6468.425230      -.190843                    
+P 30  -3799.685079  15615.538430 -21386.167807    442.285560                    
+V 30 -26656.334433    118.448802   4990.574466      -.144878                    
+P 31 -14008.361561 -22364.843912    375.736340      -.650752                    
+V 31   3755.351695  -1335.256360  31367.435803      -.078956                    
+*  2005  1 21 15  0   .00000000                                                 
+P  1  18648.312210  10424.039393 -15604.342607    384.097542                    
+V  1   9223.032184  17938.280195  22701.041506       .020878                    
+P  2 -17562.998835   3756.357373 -19845.130245    -41.882664                    
+V  2   9989.778138 -22490.922350 -13383.313886       .055055                    
+P  3  19530.428566   3505.767953  17651.542315     78.487316                    
+V  3  12335.028427  19139.237966 -17062.603590       .029157                    
+P  4 -12060.702216  -9703.960165 -21554.240333    438.803092                    
+V  4  13271.879480 -23998.104475   3712.370349      -.207179                    
+P  5 -17106.233150  13567.113902 -15164.387881     73.489672                    
+V  5 -19293.275010    -23.765714  22138.639567       .024578                    
+P  6   3208.146799  22357.034508 -13695.510658   -152.102925                    
+V  6 -12571.566583 -12966.138251 -23889.317267       .874545                    
+P  7 -16543.177143 -20808.476333  -1340.183084     59.065252                    
+V  7   1509.796827  -3830.207468  31040.051453      -.303731                    
+P  8  -2811.897520 -19638.696839  17305.448762    -19.206642                    
+V  8  12413.738828 -18785.643446 -19457.184385      -.011724                    
+P  9 -14650.299567  20772.621941   6577.154084    -25.098418                    
+V  9    832.293434  -9594.032195  30323.252885      -.018531                    
+P 10 -26690.931307   1253.162288    198.246707     57.626248                    
+V 10   -403.853203  -1984.859932 -31952.361599       .007085                    
+P 11  13677.698858 -21541.034976   6992.131374    187.018507                    
+V 11   1140.290982  10035.972387  28779.386762       .036967                    
+P 13  -2894.353296 -22215.436997 -14380.489878    -13.675897                    
+V 13  10961.020265  14460.152727 -24570.420752       .009800                    
+P 14  15812.905022  21204.858959  -2454.544540    -31.497259                    
+V 14    -70.002978   3842.035825  31979.026349      -.000851                    
+P 15   9012.876068  13231.675864  20935.059407    378.625167                    
+V 15 -14716.746603  22784.293077  -8276.411232       .053340                    
+P 16  25786.415785   2631.174809  -5823.235594      1.968253                    
+V 16  -7320.216532   3094.608042 -30581.873712      -.001652                    
+P 17 -18969.379259  12065.365845 -13272.138216    -90.367689                    
+V 17   7406.350977 -16137.731908 -25549.338938       .195071                    
+P 18   2709.780296  15109.471000  21750.020693   -119.466754                    
+V 18 -27447.869112    494.725470   2837.248268      -.037353                    
+P 19  13984.171915  -6326.771221  21772.536628    -11.991794                    
+V 19  13612.471357  23804.278614  -1863.976723      -.008745                    
+P 20  16599.482446 -12615.775896 -16519.243671    -90.492708                    
+V 20  20913.655108    433.240071  20790.922437       .026932                    
+P 21  -2687.449528  23053.139617  12483.686963     88.158575                    
+V 21 -10383.359737  12594.191283 -25917.286884       .010171                    
+P 22  14600.723043  12760.991508  18303.369840     16.309364                    
+V 22 -22915.602961   1605.643988  17336.677433       .003600                    
+P 23   5729.120502 -16581.115552 -20003.043792    211.564711                    
+V 23  14850.940196  20417.422021 -12835.826427       .005208                    
+P 24  -9385.497498 -12789.505574 -20982.672669     89.865762                    
+V 24  14155.627432 -23393.421458   7953.953404       .028634                    
+P 25  13415.263020   7569.764818 -21250.503708     84.435651                    
+V 25 -10599.680472  25860.354788   2506.688627       .009054                    
+P 26 -14250.349971   4455.044670  21714.778068    317.754210                    
+V 26 -15064.399883 -23815.097791  -4346.653977       .054527                    
+P 27   1183.563454 -23807.680711  11757.727294    514.329539                    
+V 27   8241.328056 -12016.707424 -26809.808161       .062561                    
+P 28 -14278.294534 -12593.787526  18869.672855     46.494182                    
+V 28  23320.133926  -2286.650440  15983.540997       .001639                    
+P 29 -16572.536046    673.363043  21041.563339    176.221994                    
+V 29 -14189.166373 -21818.501780 -10470.259881      -.190848                    
+P 30  -6166.641561  15684.159274 -20758.113550    442.272457                    
+V 30 -25859.582855   1386.661712   8947.575043      -.144886                    
+P 31 -13580.684111 -22362.427716   3187.228997      -.658125                    
+V 31   5798.611813   1347.129791  31018.265081      -.078975                    
+*  2005  1 21 15 15   .00000000                                                 
+P  1  19454.782900  11913.201808 -13431.399151    384.097978                    
+V  1   8618.668330  15131.950812  25515.578651       .020882                    
+P  2 -16692.129024   1655.139940 -20879.522152    -41.877742                    
+V  2   9305.573146 -24138.944983  -9572.183720       .055040                    
+P  3  20620.888341   5129.996382  15968.518671     78.489412                    
+V  3  11824.561932  16927.417677 -20282.872357       .029145                    
+P  4 -10932.636464 -11871.630249 -21034.995933    438.784247                    
+V  4  11768.176274 -24086.301414   7811.634255      -.207181                    
+P  5 -18727.883497  13586.481649 -13047.366968     73.491947                    
+V  5 -16694.110668    395.781344  24839.840003       .024577                    
+P  6   1978.529732  21123.520835 -15719.415311   -152.023961                    
+V  6 -14753.909069 -14367.984275 -21020.143488       .874500                    
+P  7 -16319.193273 -21032.267637   1456.914130     59.037623                    
+V  7   3517.667203  -1184.852803  31029.157264      -.303734                    
+P  8  -1786.384263 -21263.501896  15406.513402    -19.208760                    
+V  8  10383.987930 -17235.802733 -22679.559850      -.011721                    
+P  9 -14539.320607  19763.895359   9239.446360    -25.100324                    
+V  9   1562.705923 -12815.678131  28749.463794      -.018532                    
+P 10 -26571.215911   1062.555967  -2671.037265     57.627852                    
+V 10   3053.526101  -2322.046242 -31719.584703       .007078                    
+P 11  13755.505663 -20504.137299   9513.885370    187.021582                    
+V 11    651.722177  12991.424107  27178.246564       .036962                    
+P 13  -1802.989943 -20843.976806 -16462.643399    -13.674939                    
+V 13  13297.836333  15932.961668 -21633.708896       .009794                    
+P 14  15721.438576  21417.223675    436.421805    -31.497617                    
+V 14  -2024.111060    915.357326  32172.427437      -.000853                    
+P 15   7765.392238  15273.061809  20007.925501    378.629954                    
+V 15 -12981.127988  22490.666998 -12297.283173       .053349                    
+P 16  24982.218949   2941.692179  -8517.611952      1.967886                    
+V 16 -10515.404234   3868.205202 -29206.934458      -.001661                    
+P 17 -18274.052474  10487.965442 -15444.455658    -90.350602                    
+V 17   7966.089956 -18886.697807 -22652.409058       .195100                    
+P 18    233.188197  15219.518058  21818.688174   -119.470108                    
+V 18 -27496.957114   1948.250891  -1314.887745      -.037357                    
+P 19  15255.974423  -4230.998974  21419.570350    -11.992792                    
+V 19  14595.295581  22697.393919  -5968.824043      -.008755                    
+P 20  18372.004416 -12614.565221 -14511.880710    -90.490190                    
+V 20  18415.919483   -351.387164  23753.697547       .026919                    
+P 21  -3531.910267  24087.751157  10047.953896     88.159468                    
+V 21  -8410.985022  10326.948700 -28131.128988       .010163                    
+P 22  12461.922321  12962.795960  19703.680950     16.309733                    
+V 22 -24533.884709   2910.041797  13737.890682       .003587                    
+P 23   7147.186654 -14732.471340 -20983.831378    211.565122                    
+V 23  16631.759257  20580.041581  -8929.131761       .005192                    
+P 24  -8189.050161 -14884.578976 -20083.097020     89.868380                    
+V 24  12409.326084 -23073.406935  12007.059663       .028623                    
+P 25  12525.496303   9900.489459 -20836.130373     84.436077                    
+V 25  -9150.778818  25843.438824   6687.611137       .009061                    
+P 26 -15646.199806   2377.534583  21133.817832    317.758967                    
+V 26 -15889.333128 -22281.977213  -8540.669988       .054521                    
+P 27   1849.917755 -24778.387796   9250.567596    514.334948                    
+V 27   6605.510093  -9489.659682 -28827.188942       .062556                    
+P 28 -12111.154205 -12861.450877  20146.175873     46.494226                    
+V 28  24758.336396  -3686.266418  12342.827483       .001637                    
+P 29 -17868.722060  -1205.785200  19925.505431    176.204654                    
+V 29 -14542.657595 -19889.161725 -14296.441958      -.190853                    
+P 30  -8439.881851  15860.360097 -19779.933401    442.259093                    
+V 30 -24579.100763   2495.833315  12760.334373      -.144894                    
+P 31 -12956.596589 -22130.987412   5942.552865      -.665388                    
+V 31   8108.579786   3742.361391  30120.411452      -.078993                    
+*  2005  1 21 15 30   .00000000                                                 
+P  1  20185.258454  13145.309309 -11025.002903    384.099245                    
+V  1   7534.487393  12242.926114  27881.573871       .020886                    
+P  2 -15897.344697   -576.257673 -21563.504809    -41.873049                    
+V  2   8310.102461 -25374.244287  -5607.162436       .055027                    
+P  3  21645.603187   6549.113469  14011.311688     78.492954                    
+V  3  10873.120072  14595.996556 -23147.155200       .029133                    
+P  4  -9946.170159 -14023.708373 -20151.873793    438.765325                    
+V  4  10139.936309 -23648.916075  11786.696172      -.207183                    
+P  5 -20103.512961  13627.249059 -10705.869606     73.496134                    
+V  5 -13839.892892    445.676675  27119.509877       .024575                    
+P  6    553.689367  19784.940104 -17468.009359   -151.945357                    
+V  6 -16894.679230 -15299.017851 -17780.300367       .874455                    
+P  7 -15901.908113 -21030.334349   4229.253615     59.010242                    
+V  7   5794.778372   1174.790056  30491.500371      -.303737                    
+P  8   -939.856205 -22726.302451  13235.111671    -19.210186                    
+V  8   8451.481405 -15191.968712 -25502.728671      -.011719                    
+P  9 -14381.846226  18468.520309  11736.395120    -25.102947                    
+V  9   1865.976647 -15946.674476  26653.960806      -.018533                    
+P 10 -26144.674186    822.645106  -5495.200060     57.627659                    
+V 10   6398.463059  -3076.919179 -30951.134285       .007072                    
+P 11  13806.200018 -19206.561581  11870.042247    187.024715                    
+V 11    535.639026  15814.229344  25104.934271       .036958                    
+P 13   -501.050486 -19362.847963 -18263.466319    -13.674126                    
+V 13  15624.322458  16894.942129 -18327.495489       .009789                    
+P 14  15438.388188  21377.740343   3319.893858    -31.497737                    
+V 14  -4316.943341  -1741.156060  31812.853909      -.000852                    
+P 15   6679.194834  17263.809134  18727.903039    378.633845                    
+V 15 -11148.181741  21658.148621 -16106.460142       .053359                    
+P 16  23901.343368   3338.045522 -11065.344150      1.967531                    
+V 16 -13454.221314   4994.385318 -27327.642539      -.001669                    
+P 17 -17549.476772   8672.453892 -17337.508623    -90.334039                    
+V 17   8060.037525 -21412.780921 -19353.623662       .195130                    
+P 18  -2223.449485  15458.351720  21513.758262   -119.473417                    
+V 18 -27005.902496   3341.691430  -5453.101111      -.037361                    
+P 19  16600.530081  -2253.111748  20701.147387    -11.993991                    
+V 19  15218.718722  21195.228819  -9973.757727      -.008762                    
+P 20  19904.756363 -12668.339064 -12255.737116    -90.487751                    
+V 20  15598.813110   -780.309811  26311.391976       .026905                    
+P 21  -4207.742970  24900.233284   7434.889193     88.160378                    
+V 21  -6648.782177   7668.333193 -29851.761975       .010156                    
+P 22  10199.496927  13289.178129  20769.301797     16.309826                    
+V 22 -25656.951611   4360.189289   9909.602787       .003575                    
+P 23   8716.165403 -12891.321931 -21605.845613    211.565526                    
+V 23  18190.404544  20256.105549  -4874.446947       .005175                    
+P 24  -7154.495239 -16926.360785 -18827.813504     89.870479                    
+V 24  10573.856886 -22208.800818  15846.590154       .028613                    
+P 25  11770.755296  12205.222510 -20050.400950     84.437582                    
+V 25  -7614.205470  25281.808725  10746.376007       .009069                    
+P 26 -17097.845316    455.655222  20182.666011    317.763759                    
+V 26 -16295.316519 -20370.362091 -12561.224472       .054515                    
+P 27   2380.576005 -25505.112094   6583.408589    514.340396                    
+V 27   5236.650804  -6606.194526 -30358.976795       .062552                    
+P 28  -9836.716721 -13260.532333  21085.015483     46.494228                    
+V 28  25699.670496  -5192.928045   8490.028566       .001636                    
+P 29 -19176.577875  -2898.726033  18475.352737    176.187404                    
+V 29 -14442.142017 -17694.742014 -17884.438067      -.190859                    
+P 30 -10577.552158  16126.347332 -18467.497472    442.246220                    
+V 30 -22854.862665   3369.915728  16365.052463      -.144902                    
+P 31 -12115.372851 -21699.361877   8592.800523      -.672641                    
+V 31  10610.420441   5786.115857  28686.163658      -.079011                    
+*  2005  1 21 15 45   .00000000                                                 
+P  1  20796.910716  14117.495101  -8427.366901    384.100854                    
+V  1   5981.614049   9372.668185  29759.493549       .020891                    
+P  2 -15203.502906  -2898.317673 -21886.147491    -41.868009                    
+V  2   7075.161103 -26146.502843  -1553.373297       .055014                    
+P  3  22564.895564   7756.360756  11814.129144     78.496293                    
+V  3   9483.770351  12234.014948 -25608.407189       .029120                    
+P  4  -9108.497013 -16112.446164 -18919.223425    438.746392                    
+V  4   8476.724246 -22679.201936  15567.427325      -.207184                    
+P  5 -21213.993661  13654.741036  -8179.750677     73.498005                    
+V  5 -10816.832557     97.402198  28936.259683       .024573                    
+P  6  -1058.537305  18383.914687 -18910.462218   -151.866931                    
+V  6 -18903.034107 -15756.760987 -14227.082576       .874410                    
+P  7 -15270.112864 -20831.185474   6929.990083     58.983090                    
+V  7   8272.266206   3188.933107  29440.978782      -.303740                    
+P  8   -259.567044 -23984.653955  10829.555569    -19.211493                    
+V  8   6703.664696 -12701.967531 -27875.073693      -.011716                    
+P  9 -14215.911285  16899.297431  14022.559637    -25.103842                    
+V  9   1754.337048 -18884.392797  24072.150832      -.018535                    
+P 10 -25425.678457    497.073749  -8226.554186     57.627211                    
+V 10   9537.457112  -4219.114267 -29660.044478       .007066                    
+P 11  13862.481655 -17664.114604  14019.710804    187.028032                    
+V 11    771.068806  18419.308739  22596.450575       .036954                    
+P 13   1006.161031 -17818.354862 -19752.185825    -13.673213                    
+V 13  17843.292203  17341.975192 -14707.897487       .009783                    
+P 14  14936.309678  21114.159010   6146.344926    -31.497835                    
+V 14  -6878.662548  -4053.382693  30907.232462      -.000852                    
+P 15   5758.819912  19155.492731  17117.201410    378.639871                    
+V 15  -9311.822784  20291.769452 -19634.519511       .053368                    
+P 16  22570.602062   3849.660700 -13422.393283      1.967440                    
+V 16 -16055.350232   6419.398131 -24975.491998      -.001675                    
+P 17 -16836.279389   6643.165402 -18917.982767    -90.316786                    
+V 17   7720.135269 -23622.549014 -15717.528053       .195160                    
+P 18  -4612.192822  15816.569592  20839.673955   -119.477046                    
+V 18 -25992.722053   4586.883706  -9506.543169      -.037364                    
+P 19  17982.864282   -425.632129  19629.331389    -11.994701                    
+V 19  15426.668984  19367.595703 -13810.870313      -.008767                    
+P 20  21172.755442 -12743.070970  -9789.322460    -90.485593                    
+V 20  12547.440028   -811.470719  28419.588027       .026892                    
+P 21  -4737.122785  25458.384230   4690.422192     88.161092                    
+V 21  -5167.172411   4687.929876 -31046.544503       .010150                    
+P 22   7859.339856  13749.434151  21482.456320     16.310030                    
+V 22 -26258.309132   5870.366762   5916.288715       .003565                    
+P 23  10412.359583 -11099.791159 -21858.862211    211.565995                    
+V 23  19446.043993  19485.391930   -740.811008       .005159                    
+P 24  -6285.572798 -18866.045037 -17239.210220     89.872875                    
+V 24   8744.403409 -20807.593405  19402.997464       .028603                    
+P 25  11154.838854  14434.983202 -18907.683879     84.439156                    
+V 25  -6080.925021  24179.775099  14608.572468       .009076                    
+P 26 -18565.408835  -1280.396520  18880.071258    317.768437                    
+V 26 -16236.961342 -18167.873040 -16339.510738       .054509                    
+P 27   2802.289025 -25959.046272   3801.556304    514.345807                    
+V 27   4193.106608  -3441.257216 -31370.902918       .062548                    
+P 28  -7500.754566 -13796.787346  21669.886780     46.494317                    
+V 28  26123.551962  -6719.831546   4487.518942       .001636                    
+P 29 -20453.781823  -4385.535998  16715.225138    176.170016                    
+V 29 -13858.020889 -15323.710378 -21175.288564      -.190864                    
+P 30 -12542.075007  16457.873276 -16842.298851    442.233236                    
+V 30 -20741.651838   3942.010508  19700.736726      -.144910                    
+P 31 -11043.516693 -21101.538730  11090.643533      -.679697                    
+V 31  13218.824864   7428.697164  26738.304181      -.079029                    
+*  2005  1 21 16  0   .00000000                                                 
+P  1  21248.774165  14835.905319  -5683.862616    384.103177                    
+V  1   3990.179734   6619.356013  31118.767407       .020896                    
+P  2 -14628.599209  -5267.668560 -21842.433379    -41.862893                    
+V  2   5680.938953 -26420.653303   2523.037640       .055000                    
+P  3  23340.126208   8752.949649   9415.091517     78.499708                    
+V  3   7676.445796   9928.978355 -27626.821738       .029107                    
+P  4  -8418.709842 -18090.347017 -17357.592858    438.727818                    
+V  4   6868.384591 -21189.527501  19086.432094      -.207186                    
+P  5 -22048.222880  13632.472040  -5512.249999     73.501917                    
+V  5  -7716.500972   -660.584706  30256.393094       .024570                    
+P  6  -2842.238000  16962.467089 -20021.374315   -151.788398                    
+V  6 -20690.976608 -15756.957030 -10423.689613       .874365                    
+P  7 -14409.211150 -20468.058107   9513.892897     58.955788                    
+V  7  10872.520989   4812.564101  27899.478585      -.303743                    
+P  8    274.690678 -25001.209671   8232.423031    -19.212116                    
+V  8   5218.317102  -9830.893893 -29753.582329      -.011713                    
+P  9 -14077.603364  15078.057608  16056.155561    -25.105508                    
+V  9   1258.701616 -21531.489816  21049.774603      -.018536                    
+P 10 -24436.697291     52.982010 -10818.962029     57.627825                    
+V 10  12384.626131  -5701.549226 -27867.678881       .007060                    
+P 11  13954.461529 -15899.972252  15925.682638    187.031691                    
+V 11   1321.671612  20728.506101  19697.499582       .036950                    
+P 13   2704.655548 -16256.308766 -20903.323119    -13.672422                    
+V 13  19859.551903  17289.080379 -10836.283126       .009778                    
+P 14  14194.612264  20660.264134   8867.292514    -31.498089                    
+V 14  -9627.290809  -5961.752079  29471.799248      -.000851                    
+P 15   5000.393978  20901.043741  15204.059344    378.645023                    
+V 15  -7564.358976  18416.565142 -22817.136649       .053377                    
+P 16  21023.600472   4500.487035 -15547.933287      1.967258                    
+V 16 -18249.638345   8075.688902 -22190.291014      -.001683                    
+P 17 -16171.382257   4432.365013 -20158.657904    -90.300487                    
+V 17   6996.424967 -25433.798988 -11814.707706       .195191                    
+P 18  -6887.538903  16277.051877  19807.226034   -119.480597                    
+V 18 -24493.403318   5601.075376 -13405.201443      -.037365                    
+P 19  19363.619707   1225.691663  18222.187774    -11.995522                    
+V 19  15178.162176  17294.741732 -17414.877746      -.008773                    
+P 20  22159.044344 -12801.695921  -7154.811376    -90.483210                    
+V 20   9354.489399   -419.645828  30041.381031       .026880                    
+P 21  -5147.976385  25736.879715   1862.979172     88.161971                    
+V 21  -4023.098326   1468.496282 -31692.742948       .010144                    
+P 22   5488.929999  14344.980200  21831.289887     16.310307                    
+V 22 -26329.301215   7351.754994   1824.890198       .003555                    
+P 23  12205.227165  -9395.707895 -21738.924925    211.566446                    
+V 23  20327.894512  18323.235187   3401.714540       .005143                    
+P 24  -5577.527195 -20656.451122 -15345.693613     89.875304                    
+V 24   7013.911621 -18897.801995  22612.316855       .028593                    
+P 25  10673.407137  16542.075175 -17428.866318     84.439878                    
+V 25  -4640.181112  22561.470146  18204.009104       .009082                    
+P 26 -20005.726679  -2808.703928  17250.714225    317.773091                    
+V 26 -15686.839679 -15770.247604 -19812.680618       .054503                    
+P 27   3146.430898 -26118.702002    953.020903    514.351333                    
+V 27   3518.856868    -82.083011 -31837.325609       .062544                    
+P 28  -5150.115586 -14468.043714  21890.230589     46.494597                    
+V 28  26026.747907  -8178.167294    400.466158       .001636                    
+P 29 -21656.139141  -5654.488199  14674.356801    176.152706                    
+V 29 -12778.427146 -12869.188477 -24114.438370      -.190869                    
+P 30 -14301.400758  16825.183882 -14931.157091    442.220039                    
+V 30 -18307.167506   4157.073165  22710.175840      -.144918                    
+P 31  -9735.556539 -20375.239839  13391.268057      -.686913                    
+V 31  15841.373429   8637.108429  24309.866930      -.079047                    
+*  2005  1 21 16 15   .00000000                                                 
+P  1  21503.408775  15315.232524  -2842.193607    384.106113                    
+V  1   1608.140378   4074.128425  31938.192834       .020901                    
+P  2 -14183.148760  -7638.517784 -21433.311085    -41.857826                    
+V  2   4212.948117 -26178.122820   6555.799875       .054985                    
+P  3  23935.183092   9547.773744   6855.556372     78.502258                    
+V  3   5487.198663   7763.563599 -29170.344044       .029094                    
+P  4  -7867.940494 -19911.882398 -15493.423293    438.709427                    
+V  4   5401.375182 -19211.159576  22280.364394      -.207187                    
+P  5 -22603.452571  13523.710068  -2749.265288     73.504876                    
+V  5  -4632.400992  -1822.160578  31054.656253       .024567                    
+P  6  -4773.844042  15560.408822 -20781.253962   -151.709823                    
+V  6 -22176.943315 -15332.807098  -6437.993155       .874321                    
+P  7 -13311.876190 -19977.524077  11938.037769     58.928338                    
+V  7  13512.108097   6016.758548  25896.258144      -.303746                    
+P  8    689.566393 -25745.165944   5489.741239    -19.215156                    
+V  8   4060.318604  -6658.576468 -31104.748427      -.011709                    
+P  9 -13999.429909  13034.997571  17799.952399    -25.106505                    
+V  9    427.419422 -23800.084768  17642.118733      -.018537                    
+P 10 -23207.470366   -537.564044 -13228.572129     57.628577                    
+V 10  14864.750668  -7462.181576 -25603.416860       .007054                    
+P 11  14108.346071 -13943.920262  17555.086860    187.034894                    
+V 11   2137.334032  22673.556457  16459.608739       .036944                    
+P 13   4572.104212 -14720.331701 -21697.121814    -13.671393                    
+V 13  21583.564401  16769.711693  -6778.277030       .009772                    
+P 14  13200.514459  20054.464405  11436.122662    -31.498164                    
+V 14 -12471.816475  -7423.377112  27531.774423      -.000849                    
+P 15   4391.954130  22456.517901  13022.223566    378.650138                    
+V 15  -5992.615105  16076.724219 -25596.453346       .053385                    
+P 16  19299.521396   5307.869769 -17405.071465      1.967115                    
+V 16 -19982.684248   9884.536131 -19019.520028      -.001690                    
+P 17 -15586.480615   2079.083863 -21038.870695    -90.282802                    
+V 17   5954.536196 -26778.873094  -7719.978177       .195222                    
+P 18  -9007.988046  16815.602448  18433.423256   -119.483877                    
+V 18 -22560.655294   6310.310223 -17081.115124      -.037366                    
+P 19  20700.496678   2682.689365  16503.499178    -11.996248                    
+V 19  14449.035609  15064.280355 -20724.190239      -.008779                    
+P 20  22855.220941 -12805.680837  -4397.335843    -90.480888                    
+V 20   6116.795488    402.433934  31148.059999       .026868                    
+P 21  -5472.657075  25718.317863   -997.435119     88.162758                    
+V 21  -3257.644009  -1897.248355 -31778.085359       .010139                    
+P 22   3135.711740  15069.228766  21810.045024     16.310550                    
+V 22 -25879.333634   8715.891600  -2296.214757       .003546                    
+P 23  14058.412482  -7811.303494 -21248.386645    211.566749                    
+V 23  20777.967271  16838.271663   7483.175239       .005127                    
+P 24  -5017.485147 -22253.783607 -13181.126622     89.877192                    
+V 24   5469.198284 -16526.386645  25417.458864       .028583                    
+P 25  10314.309962  18481.830885 -15640.906955     84.440651                    
+V 25  -3375.675057  20469.830615  21468.185855       .009089                    
+P 26 -21374.009692  -4116.184626  15324.629482    317.777553                    
+V 26 -14636.335815 -13277.404595 -22924.736386       .054498                    
+P 27   3447.604269 -25970.881831  -1912.306897    514.356698                    
+V 27   3241.359568   3374.881856 -31742.255629       .062540                    
+P 28  -2831.148903 -15264.172496  21741.445970     46.494658                    
+V 28  25423.552243  -9480.494092  -3704.042540       .001635                    
+P 29 -22739.211218  -6702.318835  12386.663496    176.135446                    
+V 29 -11209.862019 -10425.547402 -26652.537635      -.190874                    
+P 30 -15830.066246  17194.192660 -12765.834352    442.206975                    
+V 30 -15629.642258   3974.217381  25340.904749      -.144926                    
+P 31  -8194.519403 -19560.350890  15453.276073      -.694158                    
+V 31  18382.273999   9396.428187  21443.614464      -.079065                    
+*  2005  1 21 16 30   .00000000                                                 
+P  1  21528.424836  15577.924951     48.458583    384.110232                    
+V  1  -1100.595904   1817.658692  32206.148386       .020904                    
+P  2 -13869.852250  -9964.171027 -20665.665937    -41.852737                    
+V  2   2758.782661 -25417.508952  10479.403274       .054968                    
+P  3  24317.876052  10156.834345   4179.402847     78.504795                    
+V  3   2966.858945   5812.558043 -30215.044752       .029081                    
+P  4  -7439.826734 -21535.154393 -13358.626542    438.690545                    
+V  4   4155.193702 -16793.286326  25091.210262      -.207189                    
+P  5 -22885.304058  13293.071574     61.436354     73.507508                    
+V  5  -1656.422810  -3363.544067  31314.850735       .024563                    
+P  6  -6822.861940  14213.830764 -21176.878303   -151.630846                    
+V  6 -23289.139936 -14533.486491  -2341.198826       .874276                    
+P  7 -11978.437759 -19398.005702  14162.440490     58.901179                    
+V  7  16104.833733   6789.385943  23467.279566      -.303749                    
+P  8   1016.865858 -26193.450299   2650.099311    -19.217655                    
+V  8   3278.983921  -3276.419562 -31905.235859      -.011704                    
+P  9 -14008.841486  10807.653122  19222.078758    -25.107498                    
+V  9   -675.885608 -25615.534732  13912.757824      -.018539                    
+P 10 -21773.925748  -1296.325928 -15414.522788     57.629883                    
+V 10  16915.937551  -9426.315218 -22904.241290       .007048                    
+P 11  14345.290233 -11831.345168  18879.959879    187.038262                    
+V 11   3156.312980  24198.650911  12940.125451       .036938                    
+P 13   6578.505276 -13250.255135 -22119.883689    -13.670395                    
+V 13  22934.911539  15834.361738  -2602.698814       .009764                    
+P 14  11949.703976  19338.219479  13808.878339    -31.498177                    
+V 14 -15315.643076  -8413.535077  25120.890325      -.000847                    
+P 15   3914.107892  23782.750278  10610.310617    378.653716                    
+V 15  -4674.289038  13333.923536 -27922.298636       .053394                    
+P 16  17441.701677   6281.681351 -18961.504569      1.967000                    
+V 16 -21216.863330  11759.147418 -15517.543361      -.001697                    
+P 17 -15106.777874   -372.312735 -21544.812463    -90.264684                    
+V 17   4672.532285 -27607.259903  -3510.544541       .195252                    
+P 18 -10937.467813  17401.882086  16741.252626   -119.487711                    
+V 18 -20262.005563   6652.513731 -20469.598449      -.037365                    
+P 19  21949.821974   3935.282548  14502.386276    -11.997164                    
+V 19  13233.059184  12767.841100 -23681.941953      -.008785                    
+P 20  23261.649618 -12716.665164  -1564.221910    -90.478657                    
+V 20   2931.726417   1643.653504  31719.659208       .026858                    
+P 21  -5746.435609  25393.954094  -3840.194391     88.163487                    
+V 21  -2894.335975  -5310.276212 -31301.059075       .010135                    
+P 22    845.483760  15907.775985  21419.143977     16.310758                    
+V 22 -24935.446895   9878.106751  -6378.250391       .003537                    
+P 23  15931.003431  -6372.134345 -20395.849594    211.567185                    
+V 23  20753.328998  15109.707674  11434.834276       .005112                    
+P 24  -4585.172120 -23619.258367 -10784.158504     89.879481                    
+V 24   4187.352113 -13757.375843  27769.318196       .028574                    
+P 25  10058.247478  20214.228178 -13576.264191     84.442396                    
+V 25  -2362.030371  17964.787402  24343.585136       .009096                    
+P 26 -22625.546096  -5198.788525  13136.557127    317.782459                    
+V 26 -13095.738593 -10789.490664 -25627.202617       .054492                    
+P 27   3742.080172 -25511.349613  -4743.564768    514.362250                    
+V 27   3370.038868   6827.580424 -31080.217610       .062537                    
+P 28   -588.142609 -16167.363364  21225.021470     46.494861                    
+V 28  24345.347292 -10544.111515  -7757.932807       .001634                    
+P 29 -23659.973314  -7534.183713   9890.239386    176.118351                    
+V 29  -9177.188097  -8084.941775 -28746.207321      -.190878                    
+P 30 -17110.019617  17527.840440 -10382.565620    442.193925                    
+V 30 -12795.042455   3368.526180  27546.146543      -.144934                    
+P 31  -6432.057732 -18697.261603  17239.527006      -.701086                    
+V 31  20746.307702   9710.409408  18191.238593      -.079083                    
+*  2005  1 21 16 45   .00000000                                                 
+P  1  21297.811435  15653.107283   2938.299411    384.112714                    
+V  1  -4058.643418    -82.810836  31920.623392       .020906                    
+P  2 -13683.557113 -12198.585969 -19552.212213    -41.847867                    
+V  2   1404.815156 -24154.668522  14229.970088       .054951                    
+P  3  24461.186106  10602.405044   1432.288631     78.507291                    
+V  3    179.158531   4140.138289 -30745.358752       .029068                    
+P  4  -7111.290815 -22923.436852 -10990.049881    438.671718                    
+V  4   3199.049740 -14001.302940  27467.501242      -.207190                    
+P  5 -22907.463832  12908.083523   2871.055104     73.511710                    
+V  5   1124.674429  -5244.017901  31030.286666       .024559                    
+P  6  -8952.888353  12953.757133 -21201.530375   -151.552387                    
+V  6 -23968.480668 -13422.005820   1793.562245       .874231                    
+P  7 -10416.990758 -18768.255279  16150.628886     58.873618                    
+V  7  18564.848214   7135.211112  20654.507014      -.303751                    
+P  8   1292.055658 -26331.602607   -236.287284    -19.218577                    
+V  8   2906.082094    216.232921 -32142.285427      -.011699                    
+P  9 -14126.975178   8439.561735  20296.705459    -25.109713                    
+V  9  -1975.068777 -26919.599211   9932.129004      -.018541                    
+P 10 -20176.878088  -2237.875707 -17339.604191     57.630301                    
+V 10  18491.810596 -11509.378276 -19814.229461       .007042                    
+P 11  14680.464828  -9602.016387  19877.720288    187.041653                    
+V 11   4307.836605  25262.498071   9201.116256       .036931                    
+P 13   8687.148720 -11880.673598 -22164.206443    -13.669626                    
+V 13  23845.426906  14548.525122   1619.551198       .009757                    
+P 14  10446.676807  18554.364771  15944.999179    -31.498398                    
+V 14 -18060.247404  -8926.445617  22280.784352      -.000846                    
+P 15   3541.004276  24846.826170   8011.066927    378.659589                    
+V 15  -3674.705478  10264.922933 -29753.223365       .053404                    
+P 16  15496.055046   7423.747576 -20190.097773      1.966845                    
+V 16 -21932.709071  13608.094502 -11744.686239      -.001705                    
+P 17 -14750.026596  -2873.755340 -21669.662798    -90.247171                    
+V 17   3237.292753 -27887.384514    735.795989       .195283                    
+P 18 -12646.558517  18000.601107  14759.330084   -119.490842                    
+V 18 -17677.304247   6580.151163 -23510.448219      -.037363                    
+P 19  23068.187755   4981.688830  12252.838350    -11.998007                    
+V 19  11542.376471  10497.559490 -26236.963960      -.008791                    
+P 20  23387.345016 -12498.107932   1295.816888    -90.476425                    
+V 20   -106.460917   3274.800272  31745.366925       .026850                    
+P 21  -6005.871900  24764.093450  -6615.022486     88.164136                    
+V 21  -2938.205711  -8669.181170 -30270.939692       .010134                    
+P 22  -1339.145019  16838.892734  20665.177762     16.311081                    
+V 22 -23541.256538  10760.817859 -10353.081215       .003529                    
+P 23  17778.967378  -5096.267966 -19196.006902    211.567591                    
+V 23  20227.800633  13224.213379  15190.251708       .005098                    
+P 24  -4253.933457 -24720.527811  -8197.464222     89.882367                    
+V 24   3232.585093 -10669.294476  29627.670684       .028565                    
+P 25   9879.730162  21705.311762 -11272.217593     84.442733                    
+V 25  -1661.700769  15120.759614  26780.747279       .009102                    
+P 26 -23717.379783  -6061.345022  10725.243374    317.787374                    
+V 26 -11093.612025  -8403.063963 -27879.591229       .054487                    
+P 27   4066.134441 -24745.158369  -7489.895562    514.367786                    
+V 27   3895.515732  10172.332023 -29856.886547       .062533                    
+P 28   1538.171429 -17152.699082  20348.579798     46.495077                    
+V 28  22839.552437 -11294.315428 -11693.134211       .001632                    
+P 29 -24378.442260  -8163.304366   7226.786768    176.100869                    
+V 29  -6722.968876  -5933.897182 -30358.762196      -.190883                    
+P 30 -18131.177758  17787.592890  -7821.505844    442.181012                    
+V 30  -9893.942097   2332.290143  29285.713539      -.144942                    
+P 31  -4468.218663 -17825.188746  18717.895573      -.708480                    
+V 31  22842.798349   9601.259069  14612.301925      -.079101                    
+*  2005  1 21 17  0   .00000000                                                 
+P  1  20793.019124  15575.259306   5777.781110    384.115382                    
+V  1  -7178.106877  -1575.868463  31089.074912       .020908                    
+P  2 -13611.514913 -14297.907484 -18111.307433    -41.843074                    
+V  2    232.935591 -22422.216920  17746.115041       .054934                    
+P  3  24344.324755  10911.970130  -1339.108727     78.509921                    
+V  3  -2801.601479   2797.579269 -30754.195788       .029055                    
+P  4  -6853.600976 -24046.531055  -8428.836181    438.652595                    
+V  4   2588.929308 -10914.416651  29365.422033      -.207191                    
+P  5 -22691.069291  12340.648810   5630.627875     73.514291                    
+V  5   3632.610279  -7407.349540  30204.055339       .024554                    
+P  6 -11122.866985  11805.018007 -20855.107648   -151.473801                    
+V  6 -24171.006163 -12072.511385   5892.674715       .874187                    
+P  7  -8643.226633 -18125.852037  17870.150692     58.846405                    
+V  7  20809.685177   7075.409417  17505.186823      -.303754                    
+P  8   1552.623578 -26154.313749  -3118.537056    -19.219610                    
+V  8   2954.624628   3716.042987 -31813.857841      -.011694                    
+P  9 -14367.679051   5978.667912  21004.588858    -25.111628                    
+V  9  -3384.903736 -27672.924217   5775.845008      -.018543                    
+P 10 -18460.553904  -3368.846743 -18970.870409     57.631327                    
+V 10  19563.150601 -13620.079047 -16383.948417       .007036                    
+P 11  15122.374420  -7298.708434  20531.541309    187.044949                    
+V 11   5515.051591  25839.804608   5308.195668       .036925                    
+P 13  10855.843523 -10639.707714 -21829.119311    -13.668752                    
+V 13  24261.881710  12990.095460   5816.644923       .009749                    
+P 14   8704.742871  17745.398897  17808.000975    -31.498422                    
+V 14 -20608.907310  -8975.320899  19060.269193      -.000844                    
+P 15   3241.573550  25623.306167   5270.545358    378.662421                    
+V 15  -3044.113374   6958.528444 -31057.317191       .053413                    
+P 16  13509.401931   8727.593161 -21069.375082      1.966561                    
+V 16 -22129.591605  15338.953526  -7766.192425      -.001713                    
+P 17 -14525.908753  -5375.223157 -21413.565747    -90.229902                    
+V 17   1740.623857 -27607.542057   4942.344890       .195314                    
+P 18 -14113.470545  18572.927591  12521.444231   -119.494334                    
+V 18 -14895.721108   6062.342739 -26149.108867      -.037362                    
+P 19  24014.099063   5828.307829   9793.159466    -11.998789                    
+V 19   9407.252155   8342.536636 -28344.684172      -.008796                    
+P 20  23249.531475 -12116.876890   4133.516019    -90.473952                    
+V 20  -2910.159020   5249.561824  31223.779494       .026842                    
+P 21  -6287.138373  23838.123435  -9272.955498     88.165105                    
+V 21  -3375.656450 -11874.206546 -28707.550718       .010133                    
+P 22  -3380.177028  17834.301542  19560.802121     16.311202                    
+V 22 -21755.298936  11296.567941 -14154.241456       .003521                    
+P 23  19556.712353  -3993.761209 -17669.388875    211.567932                    
+V 23  19193.034898  11272.557176  18686.320997       .005084                    
+P 24  -3992.013558 -25532.847778  -5466.913387     89.885236                    
+V 24   2653.666405  -7352.018181  30961.839540       .028556                    
+P 25   9748.292140  22928.362612  -8770.103197     84.443272                    
+V 25  -1322.451862  12023.582662  28739.107018       .009109                    
+P 26 -24609.901756  -6717.078064   8132.707856    317.792076                    
+V 26  -8675.506670  -6207.550285 -29649.679736       .054482                    
+P 27   4454.351442 -23686.608185 -10101.469073    514.373147                    
+V 27   4789.662321  13308.036563 -28089.442638       .062530                    
+P 28   3511.991245 -18189.013360  19125.830810     46.495313                    
+V 28  20967.980023 -11667.420165 -15442.625607       .001630                    
+P 29 -24859.215584  -8610.313817   4440.983034    176.083564                    
+V 29  -3906.164321  -4050.067677 -31460.880858      -.190888                    
+P 30 -18891.691627  17935.021252  -5126.098590    442.167819                    
+V 30  -7018.176719    875.609573  30526.846614      -.144949                    
+P 31  -2330.862065 -16980.556003  19861.923824      -.715800                    
+V 31  24589.416094   9108.598918  10772.951266      -.079119                    
+*  2005  1 21 17 15   .00000000                                                 
+P  1  20003.757898  15382.707123   8518.442355    384.118426                    
+V  1 -10363.918290  -2627.687567  29728.126625       .020910                    
+P  2 -13633.926409 -16221.931685 -16366.689778    -41.838051                    
+V  2   -682.562635 -20268.451228  20969.793520       .054918                    
+P  3  23953.566151  11116.979013  -4087.854987     78.511672                    
+V  3  -5893.249598   1821.467101 -30242.930570       .029043                    
+P  4  -6633.674389 -24881.878456  -5719.690452    438.633613                    
+V  4   2365.185460  -7622.660870  30749.776625      -.207192                    
+P  5 -22263.806232  11568.353982   8291.913558     73.517477                    
+V  5   5800.617786  -9783.864426  28849.104900       .024548                    
+P  6 -13288.535759  10785.385642 -20144.100789   -151.394773                    
+V  6 -23869.679311 -10567.144167   9883.475479       .874142                    
+P  7  -6679.997705 -17505.767862  19293.016234     58.818958                    
+V  7  22763.142913   6646.529916  14071.119741      -.303757                    
+P  8   1836.366291 -25665.602018  -5946.063928    -19.221361                    
+V  8   3418.466042   7119.753029 -30928.516712      -.011689                    
+P  9 -14736.864544   3475.544782  21333.455014    -25.113286                    
+V  9  -4814.911184 -27856.639962   1522.860909      -.018545                    
+P 10 -16670.996415  -4687.481544 -20280.192725     57.633073                    
+V 10  20118.923514 -15663.833759 -12669.755897       .007030                    
+P 11  15672.451475  -4965.718069  20830.615693    187.048172                    
+V 11   6698.193781  25922.122992   1329.311884       .036918                    
+P 13  13038.362677  -9548.023506 -21120.113731    -13.667931                    
+V 13  24148.121906  11246.291011   9917.003230       .009742                    
+P 14   6745.698302  16951.799363  19366.084478    -31.498282                    
+V 14 -22870.358607  -8591.690584  15514.494336      -.000843                    
+P 15   2980.981211  26095.154635   2437.218888    378.668133                    
+V 15  -2815.645487   3512.063983 -31812.785830       .053423                    
+P 16  11527.771082  10178.518810 -21583.911220      1.966375                    
+V 16 -21825.662821  16862.006836  -3651.080702      -.001719                    
+P 17 -14435.771049  -7826.542174 -20783.460573    -90.212444                    
+V 17    275.289170 -26775.976038   9035.036610       .195344                    
+P 18 -15324.732647  19078.057827  10065.998165   -119.497513                    
+V 18 -12012.345919   5086.338851 -28337.766334      -.037361                    
+P 19  24749.567333   6489.292097   7165.337567    -11.999625                    
+V 19   6875.127347   6385.401441 -29967.937295      -.008801                    
+P 20  22872.894078 -11544.716954   6899.912003    -90.471465                    
+V 20  -5401.702405   7506.202250  30162.991553       .026833                    
+P 21  -6624.367751  22634.186876 -11767.270518     88.166019                    
+V 21  -4175.136155 -14831.186448 -26640.764861       .010132                    
+P 22  -5245.474073  18860.211374  18124.541519     16.311177                    
+V 22 -19648.839773  11430.700680 -17717.947766       .003516                    
+P 23  21218.715818  -3066.448482 -15842.018310    211.568396                    
+V 23  17658.936042   9346.103132  21864.252340       .005070                    
+P 24  -3764.035848 -26039.940994  -2640.689969     89.887687                    
+V 24   2482.040172  -3903.202167  31751.122137       .028546                    
+P 25   9629.901572  23864.771076  -6114.484731     84.444209                    
+V 25  -1375.513445   8767.022662  30187.579743       .009115                    
+P 26 -25268.298924  -7186.818844   5403.493386    317.797000                    
+V 26  -5902.093327  -4282.084454 -30913.627060       .054476                    
+P 27   4937.971390 -22358.823137 -12530.521532    514.378510                    
+V 27   6006.520631  16140.399254 -25806.597289       .062526                    
+P 28   5303.645245 -19240.005874  17576.428251     46.495282                    
+V 28  18804.639144 -11613.432489 -18941.526953       .001628                    
+P 29 -25072.865312  -8902.322516   1579.790204    176.066469                    
+V 29   -800.212592  -2499.279062 -32031.209521      -.190893                    
+P 30 -19397.904998  17933.406979  -2342.372808    442.154886                    
+V 30  -4257.397502   -973.681819  31244.969167      -.144957                    
+P 31    -54.750633 -16195.502718  20651.348684      -.722807                    
+V 31  25915.632201   8287.652110   6744.445476      -.079137                    
+*  2005  1 21 17 30   .00000000                                                 
+P  1  18928.483259  15115.987577  11113.714354    384.120722                    
+V  1 -13517.408637  -3223.083598  27863.126455       .020911                    
+P  2 -13724.756401 -17935.448168 -14347.139751    -41.833233                    
+V  2  -1277.847616 -17755.726612  23847.136356       .054902                    
+P  3  23282.823616  11251.464582  -6767.516373     78.514486                    
+V  3  -9008.708537   1232.470130 -29221.280517       .029030                    
+P  4  -6415.568943 -25415.382496  -2910.067066    438.614980                    
+V  4   2550.767864  -4223.438186  31594.779805      -.207193                    
+P  5 -21658.752303  10575.563759  10808.275775     73.521143                    
+V  5   7576.033125 -12293.095525  26988.108123       .024542                    
+P  6 -15404.004796   9905.008224 -19081.444738   -151.315945                    
+V  6 -23055.487140  -8992.595359  13695.648827       .874097                    
+P  7  -4556.632489 -16939.049471  20396.075486     58.791481                    
+V  7  24357.923108   5898.953362  10407.931156      -.303759                    
+P  8   2179.677941 -24878.623877  -8669.516900    -19.222221                    
+V  8   4272.720195  10328.206904 -29505.066057      -.011683                    
+P  9 -15232.215400    981.513503  21278.214763    -25.114994                    
+V  9  -6173.416977 -27473.023733  -2746.437677      -.018546                    
+P 10 -14854.407028  -6183.495998 -21244.745839     57.632250                    
+V 10  20166.654455 -17546.349215  -8733.008334       .007023                    
+P 11  16324.941068  -2647.334674  20770.310381    187.051627                    
+V 11   7777.852480  25518.041274  -2666.484286       .036912                    
+P 13  15186.052662  -8618.145427 -20049.067623    -13.667119                    
+V 13  23486.573718   9410.221746  13850.480686       .009736                    
+P 14   4599.176962  16210.430624  20592.664397    -31.498245                    
+V 14 -24762.244449  -7824.031099  11704.013526      -.000844                    
+P 15   2722.232496  26254.334567   -438.946400    378.673164                    
+V 15  -3004.024785     27.513828 -32008.276575       .053432                    
+P 16   9594.739309  11754.008681 -21724.616836      1.966125                    
+V 16 -21057.066679  18093.858729    529.078882      -.001726                    
+P 17 -14472.714238 -10179.153354 -19792.782823    -90.194710                    
+V 17  -1068.859257 -25420.145201  12943.781272       .195375                    
+P 18 -16275.561250  19474.887864   7435.357196   -119.500790                    
+V 18  -9124.522660   3658.281846 -30036.341051      -.037361                    
+P 19  25241.588670   6985.818221   4414.345368    -12.000478                    
+V 19   4009.010167   4699.107039 -31077.667713      -.008806                    
+P 20  22288.549348 -10759.539404   9547.194953    -90.469107                    
+V 20  -7516.283792   9969.857024  28580.516259       .026824                    
+P 21  -7048.096398  21178.510646 -14054.358633     88.166802                    
+V 21  -5288.578496 -17455.223501 -24109.768640       .010131                    
+P 22  -6909.786696  19878.573188  16380.503073     16.311832                    
+V 22 -17303.220007  11123.576454 -20984.086549       .003511                    
+P 23  22721.160994  -2308.046623 -13744.980068    211.568919                    
+V 23  15653.407637   7533.297948  24670.492699       .005056                    
+P 24  -3532.618776 -26234.526057    231.615604     89.891775                    
+V 24   2730.692975   -424.447628  31984.978381       .028536                    
+P 25   9488.504753  24504.583837  -3352.283379     84.445243                    
+V 25  -1834.462593   5449.042340  31104.897875       .009122                    
+P 26 -25663.812451  -7497.954982   2583.911625    317.802022                    
+V 26  -2846.813691  -2692.825963 -31655.953183       .054471                    
+P 27   5543.359805 -20792.955057 -14732.380978    514.384188                    
+V 27   7484.077973  18585.961128 -23048.258098       .062523                    
+P 28   6890.572422 -20265.578142  15725.726597     46.495482                    
+V 28  16433.049158 -11098.267988 -22128.225011       .001626                    
+P 29 -24997.133348  -9071.735235  -1308.286317    176.048986                    
+V 29   2509.450589  -1332.969233 -32056.883631      -.190897                    
+P 30 -19664.003437  17749.308182    481.823469    442.142079                    
+V 30  -1695.655791  -3170.789921  31424.330249      -.144965                    
+P 31   2319.648944 -15496.587564  21072.490564      -.729936                    
+V 31  26765.659581   7206.742178   2601.549526      -.079154                    
+*  2005  1 21 17 45   .00000000                                                 
+P  1  17574.555439  14816.149932  13519.681421    384.120748                    
+V  1 -16539.976230  -3365.849471  25527.580919       .020912                    
+P  2 -13852.791551 -19409.413165 -12086.067449    -41.828281                    
+V  2  -1502.067622 -14958.331330  26329.267393       .054886                    
+P  3  22333.951388  11350.577454  -9332.900972     78.517420                    
+V  3 -12059.119044   1034.702910 -27707.079131       .029018                    
+P  4  -6162.102298 -25641.903429    -49.294680    438.596324                    
+V  4   3150.176753   -817.736970  31884.645727      -.207194                    
+P  5 -20913.011827   9354.254972  13135.544176     73.523738                    
+V  5   8922.324465 -14846.905152  24653.117778       .024535                    
+P  6 -17423.400742   9166.161704 -17686.247358   -151.236823                    
+V  6 -21737.809175  -7436.507891  17262.546537       .874052                    
+P  7  -2308.027297 -16451.659970  21161.329448     58.764341                    
+V  7  25537.952183   4894.902572   6574.341184      -.303762                    
+P  8   2615.911367 -23815.131852 -11241.676938    -19.222811                    
+V  8   5474.951657  13250.142670 -27571.965088      -.011678                    
+P  9 -15843.264188  -1453.253758  20841.006141    -25.114689                    
+V  9  -7371.627882 -26545.202738  -6952.146642      -.018548                    
+P 10 -13055.483494  -7838.268358 -21847.418709     57.632519                    
+V 10  19732.125928 -19177.235820  -4639.178196       .007018                    
+P 11  17067.078687   -386.323178  20352.210557    187.054988                    
+V 11   8678.197740  24652.716713  -6610.262463       .036904                    
+P 13  17249.547621  -7854.089781 -18634.063302    -13.666330                    
+V 13  22279.056750   7577.224685  17549.541654       .009730                    
+P 14   2301.705684  15553.104853  21466.810802    -31.498195                    
+V 14 -26214.229267  -6735.753984   7693.773406      -.000847                    
+P 15   2427.857793  26102.046985  -3307.436208    378.678223                    
+V 15  -3605.064637  -3392.488751 -31642.950734       .053441                    
+P 16   7749.874383  13424.453921 -21488.910814      1.966080                    
+V 16 -19876.443311  18960.819740   4701.445777      -.001732                    
+P 17 -14622.020028 -12387.781157 -18461.053998    -90.177244                    
+V 17  -2208.488985 -23585.256997  16603.595775       .195406                    
+P 18 -16969.893281  19723.719725   4675.112839   -119.504095                    
+V 18  -6328.063463   1803.209394 -31213.350545      -.037363                    
+P 19  25463.449263   7345.084881   1587.383433    -12.001206                    
+V 19    885.254846   3344.086833 -31653.508586      -.008812                    
+P 20  21532.774910  -9746.479825  12029.546185    -90.466625                    
+V 20  -9204.376365  12555.360975  26503.032928       .026814                    
+P 21  -7583.869213  19504.421361 -16094.522231     88.168033                    
+V 21  -6653.536410 -19673.942202 -21162.121096       .010129                    
+P 22  -8355.527192  20848.511142  14358.003115     16.311888                    
+V 22 -14806.829863  10352.247710 -23897.166274       .003505                    
+P 23  24023.520493  -1704.571669 -11413.911075    211.569505                    
+V 23  13221.437184   5916.274002  27057.572681       .005041                    
+P 24  -3260.058765 -26118.495928   3099.920925     89.893544                    
+V 24   3393.800257   2982.625237  31662.990750       .028526                    
+P 25   9287.636855  24846.709941   -531.888131     84.446468                    
+V 25  -2694.860388   2167.986678  31479.708221       .009129                    
+P 26 -25774.766747  -7683.161996   -278.704276    317.807085                    
+V 26    406.849602  -1490.814359 -31869.408854       .054466                    
+P 27   6290.672096 -19027.041891 -16666.445520    514.390100                    
+V 27   9146.839878  20575.719015 -19864.821290       .062520                    
+P 28   8258.041750 -21223.344516  13604.435695     46.495737                    
+V 28  13943.146017 -10105.410521 -24945.515254       .001623                    
+P 29 -24617.880954  -9154.859366  -4173.981548    176.031996                    
+V 29   5928.361932   -586.128599 -31533.949176      -.190902                    
+P 30 -19711.362342  17354.025392   3297.641328    442.129340                    
+V 30    591.846283  -5655.420993  31058.510807      -.144973                    
+P 31   4747.601067 -14903.743774  21118.493556      -.736859                    
+V 31  27100.741837   5944.227259  -1579.147679      -.079172                    
+*  2005  1 21 18  0   .00000000                                                 
+P  1  15958.069261  14523.059828  15695.785796    384.123141                    
+V  1 -19336.715022  -3078.372423  22762.484394       .020914                    
+P  2 -13982.905903 -20621.911124  -9621.027264    -41.823406                    
+V  2  -1319.433577 -11959.921576  28373.097208       .054871                    
+P  3  21116.762132  11449.090298 -11740.775325     78.521552                    
+V  3 -14957.013668   1215.698056 -25725.952446       .029005                    
+P  4  -5836.530374 -25565.404019   2812.341816    438.577634                    
+V  4   4149.193792   2493.815563  31613.951749      -.207195                    
+P  5 -20066.196849   7904.552980  15232.835240     73.526033                    
+V  5   9820.467485 -17352.951571  21885.012192       .024528                    
+P  6 -19302.510853   8563.326666 -15983.403789   -151.157834                    
+V  6 -19944.045705  -5983.877351  20522.403005       .874007                    
+P  7     26.454348 -16063.517168  21576.175773     58.737105                    
+V  7  26260.320643   3706.071574   2631.433149      -.303765                    
+P  8   3173.880831 -22504.606647 -13618.293111    -19.224168                    
+V  8   6967.107211  15805.607802 -25166.555987      -.011673                    
+P  9 -16551.828762  -3781.561966  20031.067529    -25.117132                    
+V  9  -8327.521760 -25115.931096 -11016.680971      -.018551                    
+P 10 -11315.815709  -9625.349950 -22077.141987     57.633034                    
+V 10  18858.400652 -20473.522153   -456.884409       .007012                    
+P 11  17879.552055   1777.522444  19584.054837    187.058483                    
+V 11   9330.044373  23366.780862 -10434.405095       .036895                    
+P 13  19180.524108  -7251.333286 -16899.100590    -13.665494                    
+V 13  20546.868521   5841.104356  20950.410103       .009724                    
+P 14   -104.501278  15005.349770  21973.596538    -31.498241                    
+V 14 -27170.662493  -5402.631172   3552.038747      -.000850                    
+P 15   2061.606851  25648.609093  -6118.128332    378.684144                    
+V 15  -4595.970651  -6648.648436 -30726.311787       .053450                    
+P 16   6027.342314  15154.165179 -20880.775691      1.965890                    
+V 16 -18350.784404  19401.922351   8793.221739      -.001739                    
+P 17 -14861.885853 -14411.940883 -16813.379213    -90.159719                    
+V 17  -3070.000886 -21332.171479  19955.517090       .195437                    
+P 18 -17420.078667  19787.933170   1833.276096   -119.507513                    
+V 18  -3713.497778   -435.713860 -31846.613803      -.037364                    
+P 19  25395.806245   7599.075471  -1266.922692    -12.001993                    
+V 19  -2409.192719   2365.884188 -31684.221412      -.008817                    
+P 20  20645.547160  -8498.681506  14303.945372    -90.464132                    
+V 20 -10433.563093  15170.501356  23965.963324       .026804                    
+P 21  -8251.063793  17651.092586 -17852.679694     88.168757                    
+V 21  -8195.901092 -21430.182042 -17852.644104       .010126                    
+P 22  -9573.257409  21727.877777  12091.110031     16.312477                    
+V 22 -12251.814936   9111.528871 -26407.223935       .003499                    
+P 23  25090.028820  -1235.051489  -8888.417759    211.570294                    
+V 23  10423.549016   4567.691186  28984.870394       .005023                    
+P 24  -2910.010085 -25702.745047   5914.552855     89.894871                    
+V 24   4447.144624   6220.231678  30794.613696       .028517                    
+P 25   8992.031806  24898.786045   2297.732563     84.448126                    
+V 25  -3934.629508   -981.149483  31310.449761       .009135                    
+P 26 -25587.339598  -7778.967755  -3136.731295    317.811722                    
+V 26   3768.377837   -710.407696 -31554.759824       .054460                    
+P 27   7192.782438 -17104.565773 -18297.082148    514.395757                    
+V 27  10909.089728  22058.133751 -16316.099778       .062516                    
+P 28   9399.578649 -22070.264214  11248.172750     46.495825                    
+V 28  11427.884858  -8636.930217 -27341.737020       .001620                    
+P 29 -23929.752352  -9190.353809  -6968.087423    176.014816                    
+V 29   9356.395976   -275.830976 -30467.664078      -.190906                    
+P 30 -19567.615107  16724.906208   6056.087650    442.116401                    
+V 30   2541.703466  -8353.892218  30150.767805      -.144981                    
+P 31   7181.709050 -14429.530106  20789.413053      -.744117                    
+V 31  26900.689675   4585.020971  -5720.932002      -.079190                    
+*  2005  1 21 18 15   .00000000                                                 
+P  1  14103.364193  14273.769078  17605.468020    384.124651                    
+V  1 -21819.872298  -2400.560752  19615.560891       .020916                    
+P  2 -14077.491140 -21558.868439  -6993.162573    -41.818468                    
+V  2   -710.785212  -8850.592795  29942.083118       .054855                    
+P  3  19648.760676  11579.926878 -13950.547785     78.523195                    
+V  3 -17619.431513   1746.981370 -23310.905177       .028991                    
+P  4  -5404.214380 -25198.739104   5624.541441    438.558928                    
+V  4   5515.406035   5614.891236  30787.763821      -.207196                    
+P  5 -19158.816302   6234.945983  17063.314071     73.527862                    
+V  5  10269.603286 -19718.355148  18732.740909       .024521                    
+P  6 -21000.361189   8083.583484 -14003.107129   -151.079134                    
+V  6 -17718.531812  -4713.602354  23419.420375       .873962                    
+P  7   2404.237568 -15787.759680  21633.588348     58.709666                    
+V  7  26496.786418   2410.947297  -1358.083630      -.303768                    
+P  8   3876.562728 -20983.106001 -15758.839353    -19.224315                    
+V  8   8677.979409  17928.839902 -22334.123912      -.011668                    
+P  9 -17332.783429  -5960.872646  18864.451313    -25.119355                    
+V  9  -8969.366290 -23245.525902 -14866.471376      -.018553                    
+P 10  -9672.399050 -11511.282901 -21929.124508     57.633366                    
+V 10  17604.192619 -21362.941722   3743.158323       .007006                    
+P 11  18737.226939   3808.700706  18479.565298    187.061978                    
+V 11   9673.635639  21714.667485 -14073.749099       .036885                    
+P 13  20933.430191  -6797.118946 -14873.708321    -13.664612                    
+V 13  18330.130749   4290.420446  23994.174562       .009719                    
+P 14  -2572.963534  14585.429913  22104.345641    -31.498438                    
+V 14 -27592.694170  -3909.755036   -650.730171      -.000853                    
+P 15   1590.080768  24912.981187  -8822.207145    378.689164                    
+V 15  -5936.414056  -9648.798825 -29277.807159       .053459                    
+P 16   4454.733747  16902.635280 -19910.694449      1.965703                    
+V 16 -16558.724263  19371.445182  12732.969498      -.001746                    
+P 17 -15164.427113 -16217.233517 -14879.872298    -90.142177                    
+V 17  -3592.244596 -18734.796213  22947.303311       .195468                    
+P 18 -17646.242754  19635.554222  -1040.584602   -119.510709                    
+V 18  -1362.514758  -2998.715672 -31923.772838      -.037367                    
+P 19  25027.500318   7783.132436  -4099.358104    -12.002766                    
+V 19  -5779.982518   1793.353644 -31167.982077      -.008823                    
+P 20  19668.943930  -7017.771634  16330.932042    -90.461502                    
+V 20 -11189.697055  17719.569628  21012.881789       .026793                    
+P 21  -9061.980785  15662.078914 -19298.964213     88.169674                    
+V 21  -9833.074708 -22684.025731 -14242.186032       .010124                    
+P 22 -10561.872321  22474.876435   9618.108033     16.312891                    
+V 22  -9730.629315   7414.415132 -28470.673343       .003491                    
+P 23  25890.989131   -872.507572  -6211.428850    211.570676                    
+V 23   7333.678844   3547.932557  30419.282315       .005004                    
+P 24  -2449.093735 -25006.658684   8627.117614     89.897711                    
+V 24   5849.265678   9198.049338  29398.735952       .028508                    
+P 25   8569.166412  24676.715085   5087.899234     84.448788                    
+V 25  -5515.128063  -3910.223048  30605.037913       .009140                    
+P 26 -25096.053451  -7824.203563  -5942.965711    317.816401                    
+V 26   7143.390545   -368.327238 -30720.507190       .054455                    
+P 27   8254.531080 -15072.774862 -19594.413314    514.401358                    
+V 27  12678.677500  23001.351920 -12469.920749       .062513                    
+P 28  10317.076498 -22764.333613   8696.913485     46.495742                    
+V 28   8979.660651  -6713.795567 -29271.873920       .001618                    
+P 29 -22936.521834  -9217.575033  -9642.290250    175.997465                    
+V 29  12691.412477   -400.428387 -28872.659598      -.190911                    
+P 30 -19265.474461  15846.433190   8708.904576    442.103466                    
+V 30   4104.823973 -11181.824354  28714.193472      -.144990                    
+P 31   9573.624955 -14078.707195  20092.151925      -.751412                    
+V 31  26164.604914   3216.869948  -9748.621210      -.079208                    
+*  2005  1 21 18 30   .00000000                                                 
+P  1  12042.235441  14101.011258  19216.735755    384.128045                    
+V  1 -23912.015296  -1388.131940  16140.434628       .020917                    
+P  2 -14098.001979 -22214.490607  -4246.584045    -41.813351                    
+V  2    325.426559  -5723.678737  31006.942206       .054839                    
+P  3  17954.604044  11772.769201 -15924.910779     78.525504                    
+V  3 -19970.868355   2585.226841 -20501.822147       .028978                    
+P  4  -4834.205646 -24563.097687   8337.927621    438.540692                    
+V  4   7199.501426   8457.216463  29421.518690      -.207197                    
+P  5 -18230.639588   4362.166223  18594.879923     73.530815                    
+V  5  10286.946554 -21853.408011  15252.387454       .024514                    
+P  6 -22480.666915   7707.305928 -11780.268053   -151.000162                    
+V  6 -15120.793145  -3695.324145  25904.704071       .873917                    
+P  7   4780.906019 -15630.264924  21332.230050     58.682467                    
+V  7  26234.798899   1091.903877  -5330.622516      -.303770                    
+P  8   4740.046510 -19291.879292 -17627.184417    -19.224654                    
+V  8  10526.258933  19570.550013 -19126.854525      -.011663                    
+P  9 -18155.124039  -7954.764353  17363.593265    -25.121979                    
+V  9  -9238.708727 -21009.089587 -18433.465707      -.018555                    
+P 10  -8156.321970 -13456.698680 -21404.991864     57.634304                    
+V 10  16041.633642 -21786.866126   7889.262767       .007001                    
+P 11  19610.106932   5677.150310  17058.177691    187.064971                    
+V 11   9661.043044  19762.435535 -17466.659373       .036875                    
+P 13  22467.123064  -6471.088558 -12592.459138    -13.663696                    
+V 13  15686.415238   3004.965014  26627.828913       .009713                    
+P 14  -5054.518589  14303.658225  21856.779144    -31.498309                    
+V 14 -27459.764705  -2348.147542  -4843.032475      -.000857                    
+P 15    984.234953  23921.967121 -11373.032971    378.695658                    
+V 15  -7570.312109 -12311.341272 -27326.228870       .053466                    
+P 16   3052.155607  18626.002981 -18595.469372      1.965498                    
+V 16 -14587.374422  18840.842184  16451.910488      -.001753                    
+P 17 -15496.898538 -17776.388040 -12695.026829    -90.124507                    
+V 17  -3728.662418 -15877.101282  25533.937192       .195499                    
+P 18 -17675.343029  19240.655089  -3896.243400   -119.514114                    
+V 18    655.248313  -5811.631763 -31442.611646      -.037370                    
+P 19  24356.066448   7934.398428  -6860.972557    -12.003627                    
+V 19  -9128.861459   1637.510801 -30112.501856      -.008829                    
+P 20  18645.474784  -5314.009564  18075.306833    -90.459146                    
+V 20 -11477.343296  20107.072290  17694.768439       .026780                    
+P 21 -10021.234683  13583.700178 -20409.207240     88.170785                    
+V 21 -11477.448794 -23414.092937 -10396.301894       .010121                    
+P 22 -11328.471067  23049.691097   6980.887715     16.313178                    
+V 22  -7332.558297   5291.825932 -30051.081502       .003483                    
+P 23  26403.865365   -585.169336  -3428.492364    211.570624                    
+V 23   4036.543739   2902.757432  31335.791173       .004988                    
+P 24  -1848.372412 -24057.291331  11191.324081     89.899438                    
+V 24   7543.272025  11836.480161  27503.083176       .028499                    
+P 25   7990.679085  24203.905071   7791.053832     84.449625                    
+V 25  -7382.848335  -6541.086813  29380.389334       .009146                    
+P 26 -24303.977241  -7858.396814  -8651.304912    317.821402                    
+V 26  10436.886771   -463.313741 -29382.561615       .054450                    
+P 27   9472.329167 -12980.845589 -20534.964485    514.407190                    
+V 27  14361.143593  23394.513341  -8400.446947       .062510                    
+P 28  11020.582927 -23266.273274   5994.347017     46.496053                    
+V 28   6686.683707  -4375.440159 -30698.587211       .001616                    
+P 29 -21651.104750  -9274.882592 -12150.015668    175.980132                    
+V 29  15833.055479   -939.461718 -26772.942413      -.190915                    
+P 30 -18841.351147  14711.046724  11209.454274    442.090619                    
+V 30   5248.398671 -14047.320139  26771.671040      -.144998                    
+P 31  11875.787255 -13848.153222  19040.251446      -.758538                    
+V 31  24910.775744   1926.565829 -13590.127459      -.079225                    
+*  2005  1 21 18 45   .00000000                                                 
+P  1   9812.877223  14031.877492  20502.655304    384.131901                    
+V  1 -25548.799805   -110.333654  12395.743999       .020917                    
+P  2 -14006.561707 -22591.402918  -1427.686479    -41.808261                    
+V  2   1772.792671  -2672.382771  31546.300804       .054821                    
+P  3  16065.307154  12052.793216 -17630.434561     78.528897                    
+V  3 -21945.962526   3673.950248 -17344.889524       .028965                    
+P  4  -4100.681207 -23687.121444  10904.967279    438.521941                    
+V  4   9137.277512  10943.980908  27540.667469      -.207198                    
+P  5 -17319.102217   2310.741338  19800.760005     73.531605                    
+V  5   9906.946025 -23675.168154  11506.072636       .024507                    
+P  6 -23713.098994   7409.121480  -9353.857511   -150.921537                    
+V  6 -12223.225729  -2986.679019  27937.034918       .873871                    
+P  7   7111.641112 -15589.435690  20676.497363     58.655070                    
+V  7  25478.011447   -167.845007  -9222.486288      -.303773                    
+P  8   5772.772565 -17475.808891 -19192.161813    -19.225265                    
+V  8  12423.859069  20699.497871 -15602.697164      -.011659                    
+P  9 -18983.273681  -9734.116884  15556.757131    -25.124187                    
+V  9  -9092.715756 -18493.177008 -21656.395711      -.018556                    
+P 10  -6791.679232 -15417.660264 -20512.821057     57.634942                    
+V 10  14253.506178 -21702.766925  11909.953126       .006995                    
+P 11  20464.488615   7359.182504  15344.678678    187.068228                    
+V 11   9258.095541  17585.176769 -20556.019511       .036867                    
+P 13  23746.352179  -6246.218560 -10094.394248    -13.662706                    
+V 13  12688.694847   2052.566574  28805.229276       .009706                    
+P 14  -7499.009617  14162.023877  21235.056076    -31.498178                    
+V 14 -26770.413574   -811.145307  -8953.498290      -.000863                    
+P 15    220.693462  22709.126248 -13726.949607    378.699722                    
+V 15  -9428.221826 -14568.197898 -24908.943537       .053474                    
+P 16   1831.623452  20278.660515 -16957.926055      1.965236                    
+V 16 -12528.828831  17799.997424  19885.174941      -.001759                    
+P 17 -15823.081011 -19070.022894 -10297.049951    -90.106916                    
+V 17  -3448.817599 -12849.884954  27677.953403       .195530                    
+P 18 -17539.957663  18584.526516  -6683.736068   -119.517310                    
+V 18   2284.931584  -8788.730179 -30411.158752      -.037373                    
+P 19  23387.920350   8090.185212  -9503.937609    -12.004582                    
+V 19 -12357.353371   1891.083470 -28534.974999      -.008834                    
+P 20  17616.404772  -3406.099485  19506.758956    -90.456514                    
+V 20 -11319.481678  22241.453390  14069.118441       .026766                    
+P 21 -11125.465617  11463.343652 -21165.300993     88.171691                    
+V 21 -13040.032616 -23618.066369  -6383.892148       .010117                    
+P 22 -11887.918417  23416.062591   4224.270531     16.313633                    
+V 22  -5140.337378   2791.671877 -31119.858008       .003474                    
+P 23  26614.118373   -337.875688   -587.026482    211.570301                    
+V 23    624.599809   2661.500577  31717.920835       .004977                    
+P 24  -1084.636020 -22888.272370  13563.747238     89.901555                    
+V 24   9459.222578  14069.432048  25143.490266       .028490                    
+P 25   7233.610673  23510.245362  10361.542837     84.451150                    
+V 25  -9471.653125  -8808.257279  27661.789003       .009152                    
+P 26 -23222.637183  -7920.159901 -11217.398334    317.826270                    
+V 26  13556.455548   -976.385114 -27563.884918       .054444                    
+P 27  10834.141714 -10877.971338 -21102.150834    514.412666                    
+V 27  15863.960662  23248.070841  -4186.293721       .062506                    
+P 28  11527.763341 -23541.141940   3187.142074     46.496050                    
+V 28   4629.457030  -1678.574181 -31593.146826       .001614                    
+P 29 -20095.225090  -9397.969906 -14447.265966    175.962630                    
+V 29  18686.560779  -1854.313626 -24201.720086      -.190920                    
+P 30 -18333.823716  13319.664473  13513.590055    442.077975                    
+V 30   5957.226085 -16854.506201  24355.614095      -.145006                    
+P 31  14043.112594 -13727.116854  17653.547588      -.765572                    
+V 31  23175.769196    796.266529 -17177.879837      -.079243                    
+*  2005  1 21 19  0   .00000000                                                 
+P  1   7458.598243  14086.719611  21441.761330    384.135797                    
+V  1 -26681.249818   1352.814010   8444.211573       .020916                    
+P  2 -13767.569052 -22700.484731   1415.589212    -41.803202                    
+V  2   3597.266990    213.642804  31547.260918       .054801                    
+P  3  14017.222133  12439.579079 -19038.105406     78.530431                    
+V  3 -23491.825499   4945.683618 -13891.939481       .028952                    
+P  4  -3184.169816 -22605.737677  13280.847575    438.503484                    
+V  4  11252.271648  13012.752120  25180.094152      -.207199                    
+P  5 -16457.819415    112.233261  20659.998461     73.532992                    
+V  5   9179.733571 -25110.783744   7560.727178       .024501                    
+P  6 -24674.319985   7159.096421  -6766.187606   -150.842488                    
+V  6  -9108.303679  -2631.066126  29483.469821       .873826                    
+P  7   9352.683526 -15656.264022  19676.494936     58.627700                    
+V  7  24246.261772  -1287.345819 -12970.658248      -.303776                    
+P  8   6975.081585 -15581.741892 -20428.035791    -19.226689                    
+V  8  14279.474789  21303.343214 -11824.186959      -.011655                    
+P  9 -19778.566549 -11277.977157  13477.376707    -25.126530                    
+V  9  -8505.783481 -15792.084576 -24481.785576      -.018557                    
+P 10  -5594.754794 -17347.200660 -19267.066432     57.636019                    
+V 10  12330.035647 -21086.101389  15735.194116       .006989                    
+P 11  21264.266579   8838.165253  13368.758078    187.071360                    
+V 11   8445.770935  15264.111015 -23290.127759       .036860                    
+P 13  24743.030193  -6090.023990  -7422.366577    -13.661898                    
+V 13   9422.691724   1486.347987  30487.947290       .009699                    
+P 14  -9857.014143  14154.150483  20249.708858    -31.498257                    
+V 14 -25542.376295    609.304548 -12912.061276      -.000869                    
+P 15   -717.175412  21313.445538 -15844.016117    378.706641                    
+V 15 -11430.230700 -16367.172567 -22070.985299       .053481                    
+P 16    796.777946  21814.941649 -15026.508020      1.964919                    
+V 16 -10476.480409  16257.753604  22972.978423      -.001764                    
+P 17 -16104.777496 -20087.109907  -7727.173745    -90.089358                    
+V 17  -2739.289460  -9747.416333  29349.614520       .195561                    
+P 18 -17276.855226  17656.572819  -9354.278265   -119.520628                    
+V 18   3488.572481 -11836.028130 -28847.566601      -.037378                    
+P 19  22138.211105   8286.334774 -11982.391065    -12.005416                    
+V 19 -15370.473817   2528.789154 -26461.848283      -.008838                    
+P 20  16620.137918  -1320.673118  20600.407617    -90.454219                    
+V 20 -10756.480363  24038.679956  10198.923930       .026752                    
+P 21 -12363.378593   9347.753491 -21555.438065     88.172749                    
+V 21 -14434.076263 -23312.452596  -2275.839103       .010112                    
+P 22 -12262.111034  23542.751161   1395.275736     16.313927                    
+V 22  -3226.994163    -22.731825 -31656.841503       .003464                    
+P 23  26515.753676    -93.611365   2264.465052    211.570545                    
+V 23  -2805.304410   2835.887962  31558.068524       .004971                    
+P 24   -141.451325 -21538.486464  15704.521363     89.904615                    
+V 24  11516.966746  15846.530447  22363.072697       .028481                    
+P 25   6281.425549  22630.866286  12756.339715     84.452234                    
+V 25 -11705.410411 -10661.062534  25482.216697       .009157                    
+P 26 -21871.643464  -8045.628540 -13599.265029    317.831501                    
+V 26  16415.363748  -1871.671918 -25294.108047       .054439                    
+P 27  12319.849237  -8811.467488 -21286.588406    514.418163                    
+V 27  17100.669374  22593.110023     91.474054       .062503                    
+P 28  11863.057666 -23559.810325    324.135386     46.496221                    
+V 28   2877.506590   1304.736328 -31936.223443       .001613                    
+P 29 -18298.745672  -9618.287217 -16493.433211    175.945358                    
+V 29  21166.420403  -3089.601115 -21201.036235      -.190924                    
+P 30 -17782.020840  11681.871016  15580.494048    442.065161                    
+V 30   6234.322208 -19507.294866  21507.483754      -.145015                    
+P 31  16034.572034 -13697.790211  15957.706949      -.772537                    
+V 31  21012.785225    -99.911174 -20450.071483      -.079261                    
+*  2005  1 21 19 15   .00000000                                                 
+P  1   5026.356819  14278.319276  22018.381290    384.139021                    
+V  1 -27277.475222   2913.653249   4351.680795       .020914                    
+P  2 -13349.245598 -22560.398160   4234.540458    -41.798147                    
+V  2   5748.166094   2851.645482  31005.861781       .054780                    
+P  3  11850.826915  12946.236064 -20123.801483     78.533021                    
+V  3 -24569.936941   6324.557676 -10199.721142       .028940                    
+P  4  -2072.517686 -21358.756857  15424.290976    438.484659                    
+V  4  13458.892774  14617.774124  22383.330658      -.207200                    
+P  5 -15675.268861  -2195.804552  21157.830240     73.535838                    
+V  5   8168.930652 -26100.406022   3486.766567       .024495                    
+P  6 -25348.751725   6924.095599  -4062.146246   -150.763975                    
+V  6  -5865.434662  -2656.008763  30519.768447       .873780                    
+P  7  11462.768653 -15814.672913  18347.937643     58.600528                    
+V  7  22575.011899  -2190.963216 -16513.622815      -.303779                    
+P  8   8339.087593 -13656.778535 -21314.860340    -19.227936                    
+V  8  16002.195735  21388.758987  -7857.251020      -.011651                    
+P  9 -20500.842295 -12574.080992  11163.319120    -25.128269                    
+V  9  -7470.379644 -13003.945177 -26864.694270      -.018557                    
+P 10  -4573.509011 -19197.001887 -17688.373687     57.636911                    
+V 10  10365.355999 -19931.534932  19297.645537       .006983                    
+P 11  21972.337662  10104.936110  11164.485107    187.074640                    
+V 11   7221.003515  12883.481344 -25623.488709       .036853                    
+P 13  25437.241698  -5965.984575  -4622.312503    -13.661031                    
+V 13   5983.719718   1342.549434  31646.000672       .009692                    
+P 14 -12081.549116  14265.586516  18917.473717    -31.498159                    
+V 14 -23811.964448   1826.299288 -16651.116169      -.000877                    
+P 15  -1838.461182  19777.828804 -17688.652115    378.710954                    
+V 15 -13489.212653 -17673.644151 -18864.046024       .053487                    
+P 16    -57.064221  23190.823703 -12834.769680      1.964634                    
+V 16  -8521.297647  14241.692416  25661.700392      -.001767                    
+P 17 -16303.361161 -20825.134983  -5028.956576    -90.071637                    
+V 17  -1603.940793  -6664.073114  30526.962232       .195591                    
+P 18 -16925.404463  16454.891404 -11861.162905   -119.523786                    
+V 18   4246.526660 -14854.961463 -26779.768594      -.037384                    
+P 19  20630.343428   8555.638052 -14253.252633    -12.006322                    
+V 19 -18080.331778   3508.334588 -23928.412173      -.008841                    
+P 20  15690.724558    908.538676  21337.246815    -90.451689                    
+V 20  -9844.379546  25425.546334   6151.548226       .026738                    
+P 21 -13716.103006   7281.374937 -21574.229507     88.173320                    
+V 21 -15578.541176 -22531.612629   1856.324896       .010108                    
+P 22 -12478.974152  23404.828527  -1457.660200     16.314268                    
+V 22  -1653.035332  -3074.857785 -31650.766787       .003454                    
+P 23  26111.558819    184.879826   5077.201575    211.571133                    
+V 23  -6155.458314   3419.518516  30857.705235       .004965                    
+P 24    990.060110 -20050.583022  17577.955144     89.906310                    
+V 24  13629.321684  17134.696826  19211.324681       .028473                    
+P 25   5124.777446  21604.732733  14935.702686     84.451451                    
+V 25 -14001.009011 -12065.161934  22881.544491       .009163                    
+P 26 -20278.047782  -8267.000015 -15757.875970    317.836157                    
+V 26  18935.436150  -3097.795515 -22609.129921       .054434                    
+P 27  13901.968718  -6824.981049 -21086.222949    514.423763                    
+V 27  17994.693564  21479.718254   4351.375865       .062499                    
+P 28  12056.559773 -23300.231110  -2544.543593     46.496207                    
+V 28   1486.512350   4489.664644 -31718.505824       .001612                    
+P 29 -16298.680722  -9961.622017 -18252.070626    175.928313                    
+V 29  23199.750901  -4575.273812 -17821.206622      -.190928                    
+P 30 -17223.982551   9815.764937  17373.461472    442.052261                    
+V 30   6100.774942 -21913.207213  18277.085941      -.145024                    
+P 31  17814.589460 -13736.170908  13983.659310      -.779477                    
+V 31  18489.369062   -698.886655 -23351.706656      -.079279                    
+*  2005  1 21 19 30   .00000000                                                 
+P  1   2565.168791  14611.352022  22222.872029    384.142141                    
+V  1 -27323.773753   4480.288331    186.128254       .020911                    
+P  2 -12725.063112 -22196.823435   6980.523440    -41.793396                    
+V  2   8159.833707   5168.920818  29927.413430       .054759                    
+P  3   9609.365466  13578.775084 -20868.699902     78.535191                    
+V  3 -25157.536964   7729.206150  -6329.100371       .028927                    
+P  4   -761.555039 -19989.294564  17298.291550    438.466000                    
+V  4  15665.913652  15731.558785  19201.596562      -.207201                    
+P  5 -14993.696201  -4571.108872  21285.932612     73.538045                    
+V  5   6948.909665 -26599.568647   -643.296487       .024488                    
+P  6 -25729.049012   6669.260936  -1288.401149   -150.685712                    
+V  6  -2587.593055  -3072.160721  31030.648307       .873735                    
+P  7  13404.487456 -16042.127747  16711.977351     58.573145                    
+V  7  20514.252791  -2811.300252 -19792.218372      -.303782                    
+P  8   9848.873535 -11746.582893 -21838.731101    -19.229671                    
+V  8  17505.039005  20980.829298  -3770.026215      -.011646                    
+P  9 -21110.081560 -13619.021447   8656.093106    -25.131083                    
+V  9  -5997.120008 -10226.807792 -28769.197671      -.018557                    
+P 10  -3727.393774 -20919.151589 -15803.280699     57.637306                    
+V 10   8453.779631 -18253.435486  22533.918699       .006977                    
+P 11  22552.050633  11157.931043   8769.718347    187.077863                    
+V 11   5596.884141  10527.366439 -27517.493478       .036848                    
+P 13  25817.949359  -5835.137825  -1742.464045    -13.660305                    
+V 13   2473.139387   1639.007231  32258.443256       .009686                    
+P 14 -14129.688611  14474.417282  17261.018215    -31.498069                    
+V 14 -21632.749439   2761.448944 -20106.645104      -.000886                    
+P 15  -3144.217437  18147.465367 -19230.188791    378.715498                    
+V 15 -15514.309147 -18471.547884 -15345.396065       .053494                    
+P 16   -742.528170  24365.576346 -10420.777485      1.964436                    
+V 16  -6748.211422  11797.175753  27904.842564      -.001770                    
+P 17 -16381.320158 -21289.960044  -2247.584455    -90.054455                    
+V 17    -63.582061  -3691.081602  31195.769741       .195622                    
+P 18 -16525.890082  14986.511999 -14160.616937   -119.527233                    
+V 18   4558.128587 -17746.250226 -24244.922253      -.037391                    
+P 19  18895.186353   8926.374931 -16276.994898    -12.007236                    
+V 19 -20409.472824   4772.103166 -20978.217704      -.008844                    
+P 20  14856.551716   3241.813981  21704.484795    -90.449271                    
+V 20  -8652.553525  26342.564365   1997.514622       .026723                    
+P 21 -15157.852574   5304.816337 -21222.705561     88.174148                    
+V 21 -16401.284759 -21326.125707   5941.689158       .010106                    
+P 22 -12571.224888  22984.747975  -4285.500249     16.314446                    
+V 22   -464.091615  -6277.692892 -31099.596462       .003445                    
+P 23  25413.019553    533.466167   7802.945946    211.571453                    
+V 23  -9330.874101   4388.037934  29627.436263       .004959                    
+P 24   2310.740344 -18469.373562  19153.063297     89.907493                    
+V 24  15705.459151  17919.057714  15743.169150       .028465                    
+P 25   3761.996954  20473.129294  16863.756773     84.452728                    
+V 25 -16271.474969 -13003.447178  19905.685708       .009169                    
+P 26 -18475.453971  -8611.218205 -17657.699414    317.841072                    
+V 26  21049.649543  -4589.743522 -19550.697362       .054429                    
+P 27  15546.696263  -4956.886124 -20506.277603    514.429155                    
+V 27  18482.645084  19974.508168   8513.492859       .062496                    
+P 28  12142.661914 -22748.448380  -5368.394439     46.496330                    
+V 28    495.976648   7781.800488 -30941.110902       .001612                    
+P 29 -14137.924224 -10446.897710 -19691.604150    175.911009                    
+V 29  24729.217378  -6229.351675 -14120.053697      -.190932                    
+P 30 -16695.068931   7747.465309  18860.612150    442.038947                    
+V 30   5594.837338 -23987.091231  14721.659647      -.145032                    
+P 31  19354.209693 -13813.170692  11766.945498      -.786745                    
+V 31  15684.603111   -951.083990 -25835.434207      -.079297                    
+*  2005  1 21 19 45   .00000000                                                 
+P  1    124.445295  15082.164781  22051.766652    384.145467                    
+V  1 -26825.083494   5960.131751  -3983.341055       .020907                    
+P  2 -11874.992588 -21641.424760   9605.796890    -41.788587                    
+V  2  10753.929108   7105.632040  28326.679142       .054740                    
+P  3   7337.387351  14335.753455 -21259.608621     78.537740                    
+V  3 -25248.463228   9075.894456  -2344.191052       .028915                    
+P  4    744.562115 -18542.084287  18870.758172    438.446580                    
+V  4  17780.169025  16345.713385  15692.696418      -.207202                    
+P  5 -14428.287103  -6968.174833  21042.550367     73.540390                    
+V  5   5601.631260 -26580.936538  -4756.265614       .024482                    
+P  6 -25816.265287   6359.549322   1507.411621   -150.607292                    
+V  6    632.135076  -3872.982037  31009.874879       .873690                    
+P  7  15145.525329 -16310.500715  14794.951483     58.545740                    
+V  7  18126.893172  -3091.883395 -22750.521850      -.303784                    
+P  8  11480.996353  -9893.778240 -21991.932204    -19.230836                    
+V  8  18708.273424  20121.779282    368.290158      -.011641                    
+P  9 -21568.015202 -14418.069889   6000.024976    -25.134291                    
+V  9  -4114.116145  -7554.866597 -30168.628044      -.018557                    
+P 10  -3047.506772 -22467.909871 -13643.806182     57.638623                    
+V 10   6686.015975 -16085.601698  25385.807418       .006971                    
+P 11  22968.646394  12003.027084   6225.459710    187.081023                    
+V 11   3602.251330   8276.528253 -28940.983146       .036843                    
+P 13  25883.368622  -5657.776947   1167.485135    -13.659534                    
+V 13  -1005.438552   2374.354465  32313.798714       .009680                    
+P 14 -15964.033369  14752.175698  15308.569423    -31.498188                    
+V 14 -19073.596076   3348.026869 -23219.296168      -.000897                    
+P 15  -4627.286234  16468.143037 -20443.320851    378.720179                    
+V 15 -17414.493948 -18763.631351 -11576.766117       .053501                    
+P 16  -1279.483904  25303.292218  -7826.430955      1.964131                    
+V 16  -5232.757242   8985.687340  29663.847788      -.001773                    
+P 17 -16303.746486 -21495.399771    570.819749    -90.036430                    
+V 17   1844.927890   -913.453811  31349.419266       .195653                    
+P 18 -16117.804432  13267.285347 -16212.598958   -119.530507                    
+V 18   4441.564940 -20413.794969 -21288.654263      -.037398                    
+P 19  16969.997823   9421.034815 -18018.354283    -12.008083                    
+V 19 -22293.827281   6249.467065 -17662.327817      -.008846                    
+P 20  14139.268446   5634.784950  21695.771550    -90.447098                    
+V 20  -7260.844846  26746.322947  -2190.766004       .026709                    
+P 21 -16656.854639   3453.485266 -20508.205501     88.175307                    
+V 21 -16841.844386 -19760.572844   9911.154195       .010103                    
+P 22 -12574.947982  22273.148492  -7039.446659     16.314610                    
+V 22    310.880328  -9536.904270 -30010.702098       .003436                    
+P 23  24439.915917    985.046110  10394.823881    211.571802                    
+V 23 -12242.792620   5700.005648  27886.915170       .004954                    
+P 24   3813.222911 -16840.177869  20404.011317     89.909948                    
+V 24  17654.374012  18203.173528  12017.980897       .028458                    
+P 25   2199.295262  19278.092366  18508.999782     84.454103                    
+V 25 -18429.234565 -13476.310152  16605.765900       .009175                    
+P 26 -16502.910725  -9098.847769 -19267.207492    317.845868                    
+V 26  22704.369973  -6271.187940 -16165.962372       .054423                    
+P 27  17215.218358  -3238.934752 -19559.028191    514.434876                    
+V 27  18516.965812  18157.447139  12501.309599       .062493                    
+P 28  12158.517975 -21899.299479  -8097.494048     46.496067                    
+V 28    -72.453005  11080.784441 -29615.759794       .001614                    
+P 29 -11863.740234 -11085.243884 -20785.966172    175.893563                    
+V 29  25715.377918  -7961.204272 -10161.944410      -.190937                    
+P 30 -16226.483659   5510.294477  20015.511254    442.025966                    
+V 30   4770.289914 -25654.570018  10904.775647      -.145041                    
+P 31  20631.995571 -13895.919321   9347.000002      -.794064                    
+V 31  12685.915948   -822.290640 -27862.164339      -.079314                    
+*  2005  1 21 20  0   .00000000                                                 
+P  1  -2247.680377  15678.874566  21507.830441    384.146895                    
+V  1 -25804.772634   7263.474508  -8087.509062       .020903                    
+P  2 -10786.521700 -20930.581821  12064.374682    -41.783684                    
+V  2  13442.271321   8617.178468  26227.884965       .054721                    
+P  3   5079.238349  15208.207374 -21289.217229     78.540300                    
+V  3 -24853.397316  10281.766208   1688.578734       .028903                    
+P  4   2433.346301 -17061.751013  20115.053410    438.428057                    
+V  4  19710.300052  16470.983927  11919.810294      -.207203                    
+P  5 -13986.637897  -9339.850451  20432.493974     73.541913                    
+V  5   4213.195943 -26035.356638  -8779.664580       .024476                    
+P  6 -25619.708396   5961.269558   4277.500178   -150.529157                    
+V  6   3703.962419  -5035.081883  30460.196783       .873645                    
+P  7  16659.733998 -16587.162662  12628.050702     58.518333                    
+V  7  15486.667802  -2989.515908 -25336.760272      -.303787                    
+P  8  13205.277540  -8136.484308 -21772.981778    -19.233488                    
+V  8  19542.421479  18869.105149   4488.540880      -.011636                    
+P  9 -21839.644420 -14984.669877   3241.423000    -25.136660                    
+V  9  -1865.660853  -5074.983186 -31045.597046      -.018555                    
+P 10  -2517.082733 -23801.416764 -11246.929805     57.639424                    
+V 10   5145.490863 -13480.217029  27801.463222       .006965                    
+P 11  23190.634677  12653.107178   3575.163084    187.084117                    
+V 11   1280.693635   6205.409825 -29870.691947       .036840                    
+P 13  25640.994922  -5395.186694   4057.245219    -13.658822                    
+V 13  -4350.053371   3527.981283  31810.324953       .009676                    
+P 14 -17553.976647  15065.017741  13093.447809    -31.498127                    
+V 14 -16216.116247   3533.681757 -25935.397367      -.000907                    
+P 15  -6272.441906  14784.570239 -21308.457079    378.724878                    
+V 15 -19102.084418 -18571.000107  -7623.216845       .053508                    
+P 16  -1694.063766  25974.239277  -5096.716909      1.963876                    
+V 16  -4038.107013   5882.543141  30908.763581      -.001774                    
+P 17 -16039.720470 -21462.534669   3379.873494    -90.019172                    
+V 17   4070.093144   1592.796388  30988.725383       .195684                    
+P 18 -15738.185799  11321.426083 -17981.520764   -119.533688                    
+V 18   3932.970081 -22768.437955 -17964.129508      -.037406                    
+P 19  14897.106359  10055.270102 -19446.967654    -12.008882                    
+V 19 -23685.141985   7859.634054 -14038.416381      -.008847                    
+P 20  13552.988593   8039.967755  21311.310021    -90.444708                    
+V 20  -5756.286069  26611.221991  -6340.303086       .026696                    
+P 21 -18176.508430   1756.446388 -19444.164720     88.176163                    
+V 21 -16853.727831 -17910.844213  13698.523352       .010099                    
+P 22 -12528.037864  21269.358424  -9671.789823     16.314909                    
+V 22    660.758894 -12754.330095 -28400.881848       .003429                    
+P 23  23219.611372   1568.074748  12808.128761    211.572219                    
+V 23 -14811.977036   7298.430219  25664.606421       .004950                    
+P 24   5482.071845 -15207.179778  21310.471774     89.912180                    
+V 24  19388.310296  18008.599882   8098.600145       .028451                    
+P 25    450.670545  18060.845711  19844.733881     84.454023                    
+V 25 -20389.314338 -13501.311134  13037.273484       .009181                    
+P 26 -14403.621424  -9743.174542 -20559.341657    317.850501                    
+V 26  23861.169752  -8057.182661 -12507.009547       .054418                    
+P 27  18865.226872  -1695.217524 -18263.421354    514.440281                    
+V 27  18067.799812  16118.176854  16243.355045       .062490                    
+P 28  12142.388713 -20756.774820 -10683.449495     46.496032                    
+V 28   -215.916875  14284.247626 -27764.700862       .001618                    
+P 29  -9526.072693 -11879.381441 -21515.134281    175.875764                    
+V 29  26138.333394  -9675.244889  -6016.644166      -.190940                    
+P 30 -15843.975510   3143.668522  20817.683405    442.012799                    
+V 30   3694.137778 -26855.064866   6895.073055      -.145049                    
+P 31  21634.626060 -13949.206235   6766.387643      -.801295                    
+V 31   9585.653867   -294.854979 -29401.474776      -.079332                    
+*  2005  1 21 20 15   .00000000                                                 
+P  1  -4505.977372  16381.784964  20600.025149    384.151644                    
+V  1 -24303.773813   8306.957882 -12058.064521       .020898                    
+P  2  -9455.394758 -20103.932658  14312.870787    -41.778777                    
+V  2  16130.143671   9676.001976  23664.537619       .054703                    
+P  3   2877.556191  16179.877665 -20956.260906     78.544732                    
+V  3 -23999.503137  11268.094552   5701.460977       .028890                    
+P  4   4284.306081 -15591.115778  21010.420120    438.409336                    
+V  4  21370.388220  16136.529123   7950.213905      -.207203                    
+P  5 -13668.543883 -11638.992824  19467.013109     73.545039                    
+V  5   2870.258447 -24972.174908 -12643.097532       .024470                    
+P  6 -25156.496192   5443.559350   6974.716976   -150.450548                    
+V  6   6544.640016  -6519.201278  29393.138462       .873600                    
+P  7  17927.995439 -16836.268317  10246.903689     58.490665                    
+V  7  12675.617254  -2476.206654 -27504.239441      -.303790                    
+P  8  14985.845653  -6507.046695 -21186.581021    -19.235200                    
+V  8  19950.842226  17293.189396   8522.649625      -.011630                    
+P  9 -21894.616009 -15339.635777    427.748279    -25.137473                    
+V  9    689.660589  -2863.620113 -31391.833979      -.018554                    
+P 10  -2112.305656 -24883.271499  -8653.970307     57.640176                    
+V 10   3904.920371 -10506.054559  29736.482476       .006958                    
+P 11  23191.055899  13127.365684    864.008591    187.087180                    
+V 11  -1310.995863   4379.391184 -30291.568186       .036839                    
+P 13  25107.280998  -5011.348205   6876.811539    -13.658051                    
+V 13  -7464.243834   5060.762248  30756.099638       .009673                    
+P 14 -18876.718199  15375.118216  10653.513416    -31.498540                    
+V 14 -13151.635057   3282.605524 -28207.889046      -.000917                    
+P 15  -8056.843651  13138.769578 -21811.969467    378.731588                    
+V 15 -20496.071597 -17931.993287  -3552.018416       .053515                    
+P 16  -2017.434760  26355.982113  -2278.911417      1.963626                    
+V 16  -3212.607552   2574.064486  31618.738438      -.001774                    
+P 17 -15563.547410 -21218.788786   6133.594078    -90.002296                    
+V 17   6547.643904   3763.088779  30121.721000       .195716                    
+P 18 -15420.071573   9180.729160 -19436.878212   -119.537250                    
+V 18   3084.787826 -24731.431161 -14330.971439      -.037414                    
+P 19  12722.400964  10837.125773 -20537.921630    -12.009643                    
+V 19 -24552.794769   9514.915779 -10169.732243      -.008849                    
+P 20  13103.802242  10408.417744  20557.848967    -90.442549                    
+V 20  -4229.541486  25930.511375 -10378.843403       .026684                    
+P 21 -19676.724553    235.538755 -18049.808368     88.177367                    
+V 21 -16406.140618 -15861.086255  17241.486632       .010094                    
+P 22 -12468.567133  19981.575210 -12136.750980     16.315249                    
+V 22    592.724140 -15831.664062 -26296.204357       .003421                    
+P 23  21786.059857   2305.256747  15001.098173    211.572593                    
+V 23 -16971.666588   9112.922671  22997.394316       .004946                    
+P 24   7294.222722 -13611.851295  21857.891909     89.914209                    
+V 24  20826.028167  17373.815034   4050.349640       .028444                    
+P 25  -1462.463506  16860.294379  20849.417914     84.453864                    
+V 25 -22072.405766 -13112.210686   9259.171446       .009188                    
+P 26 -12223.511452 -10549.563116 -21511.933906    317.855199                    
+V 26  24498.168888  -9857.168583  -8630.343612       .054413                    
+P 27  20452.565567   -341.470838 -16644.555909    514.446284                    
+V 27  17124.037922  13952.024778  19674.594758       .062486                    
+P 28  12131.938767 -19334.015781 -13080.332211     46.496013                    
+V 28     49.524296  17291.884452 -25420.370739       .001624                    
+P 29  -7175.741407 -12823.353272 -21865.559348    175.858611                    
+V 29  25998.595172 -11274.888448  -1758.008038      -.190944                    
+P 30 -15566.773457    691.740008  21253.007036    441.999463                    
+V 30   2443.741124 -27544.256509   2764.867983      -.145058                    
+P 31  22357.180583 -13936.999381   4070.012664      -.808431                    
+V 31   6477.560610    631.797254 -30431.819904      -.079350                    
+*  2005  1 21 20 30   .00000000                                                 
+P  1  -6609.635424  17164.106133  19343.381528    384.155002                    
+V  1 -22379.090673   9016.826721 -15828.621313       .020892                    
+P  2  -7886.038964 -19202.782797  16311.318665    -41.773875                    
+V  2  18719.938132  10272.738705  20679.036742       .054684                    
+P  3    771.826188  17227.723999 -20265.592430     78.546610                    
+V  3 -22729.459829  11963.421817   9626.435749       .028876                    
+P  4   6269.590084 -14169.598508  21542.291019    438.390749                    
+V  4  22683.332087  15388.472844   3853.963665      -.207204                    
+P  5 -13466.110835 -13820.119613  18163.550885     73.546284                    
+V  5   1656.456196 -23418.816423 -16279.535057       .024463                    
+P  6 -24450.832636   4779.746860   9553.334435   -150.372052                    
+V  6   9080.410496  -8271.785884  27828.664348       .873555                    
+P  7  18938.842219 -17020.192743   7691.078128     58.463322                    
+V  7   9781.208789  -1540.588282 -29212.274389      -.303792                    
+P  8  16782.389446  -5031.000453 -20243.472556    -19.236223                    
+V  8  19891.817112  15474.498649  12404.595615      -.011623                    
+P  9 -21708.405610 -15510.097414  -2393.192790    -25.139612                    
+V  9   3481.330318   -984.276432 -31207.873549      -.018552                    
+P 10  -1803.412281 -25683.918555  -5909.870997     57.639793                    
+V 10   3023.287197  -7245.990632  31154.872706       .006952                    
+P 11  22948.581451  13450.382213  -1861.846511    187.090579                    
+V 11  -4104.853432   2852.400876 -30196.972117       .036839                    
+P 13  24306.975813  -4474.544643   9577.345294    -13.657341                    
+V 13 -10260.693053   6916.526816  29168.921322       .009672                    
+P 14 -19917.987380  15642.233829   8030.532413    -31.498686                    
+V 14  -9977.781040   2577.070659 -29997.157944      -.000925                    
+P 15  -9950.775317  11568.600497 -21946.342621    378.735001                    
+V 15 -21525.154423 -16900.450990    568.442758       .053521                    
+P 16  -2284.375812  26434.228926    578.255077      1.963346                    
+V 16  -2787.921403   -845.670715  31782.343278      -.001774                    
+P 17 -14855.808682 -20796.806119   8787.037694    -89.984640                    
+V 17   9202.784997   5546.306644  28763.418322       .195747                    
+P 18 -15191.129120   6883.492776 -20553.779369   -119.540690                    
+V 18   1963.476025 -26237.468253 -10454.064792      -.037421                    
+P 19  10493.688451  11766.577213 -21272.203349    -12.010259                    
+V 19 -24884.916100  11124.285785  -6123.949390      -.008852                    
+P 20  12789.614658  12691.445166  19448.557891    -90.440398                    
+V 20  -2771.212445  24716.593891 -14236.170787       .026675                    
+P 21 -21115.392813  -1095.220482 -16349.761503     88.178024                    
+V 21 -15485.104733 -13700.410943  20482.491872       .010088                    
+P 22 -12433.145562  18426.710125 -14391.302793     16.315678                    
+V 22    131.999260 -18674.190587 -23731.672512       .003412                    
+P 23  20178.566769   3212.458166  16935.648337    211.573023                    
+V 23 -18670.073135  11062.392607  19930.038625       .004942                    
+P 24   9219.706539 -12091.499876  22037.673274     89.917178                    
+V 24  21895.805238  16352.565287    -59.935558       .028438                    
+P 25  -3511.917821  15711.628994  21506.942733     84.455054                    
+V 25 -23407.698642 -12357.503085   5333.068396       .009194                    
+P 26 -10009.697970 -11515.095756 -22108.079626    317.860196                    
+V 26  24610.854292 -11578.206161  -4596.324964       .054408                    
+P 27  21932.932869    815.250701 -14733.051260    514.451785                    
+V 27  15693.525729  11755.912037  22737.545151       .062483                    
+P 28  12162.558534 -17652.946919 -15245.569878     46.496134                    
+V 28    689.574305  20009.475038 -22624.795242       .001631                    
+P 29  -4862.597302 -13902.616735 -21830.469562    175.841679                    
+V 29  25317.116821 -12666.604462   2537.461595      -.190948                    
+P 30 -15406.800878  -1798.151255  21313.979232    441.986912                    
+V 30   1103.505576 -27695.873840  -1411.326234      -.145066                    
+P 31  22803.107660 -13823.980133   1304.317180      -.815473                    
+V 31   3453.304472   1941.318370 -30940.562042      -.079367                    
+*  2005  1 21 20 45   .00000000                                                 
+P  1  -8523.622061  17992.953463  17758.780530    384.157015                    
+V  1 -20101.724151   9331.850114 -19335.728153       .020885                    
+P  2  -6091.652654 -18268.442887  18023.946185    -41.769027                    
+V  2  21114.997307  10416.647343  17322.073692       .054666                    
+P  3  -1202.949645  18322.712275 -19228.157782     78.548612                    
+V  3 -21099.912367  12306.470869  13396.303707       .028864                    
+P  4   8354.918397 -12831.780821  21702.479569    438.371899                    
+V  4  23583.836459  14287.811549   -297.420594      -.207204                    
+P  5 -13364.181763 -15840.990523  16545.386687     73.548905                    
+V  5    648.999027 -21419.657055 -19626.499568       .024457                    
+P  6 -23533.034854   3948.546681  11969.785103   -150.293366                    
+V  6  11249.573688 -10227.079686  25794.729141       .873510                    
+P  7  19688.805791 -17101.069573   5003.498638     58.435909                    
+V  7   6893.185674   -188.749554 -30427.100382      -.303795                    
+P  8  18551.574081  -3726.300707 -18960.214155    -19.238136                    
+V  8  19340.079993  13500.470106  16071.319247      -.011617                    
+P  9 -21263.271523 -15528.238971  -5174.022460    -25.140777                    
+V  9   6429.617728    514.511544 -30502.627368      -.018551                    
+P 10  -1556.044422 -26181.782152  -3062.404858     57.640655                    
+V 10   2543.354713  -3793.918044  32029.866370       .006946                    
+P 11  22448.411742  13650.999734  -4556.029198    187.093757                    
+V 11  -7024.191030   1664.967315 -29588.751018       .036839                    
+P 13  23272.150217  -3758.802996  12112.037019    -13.656574                    
+V 13 -12664.521581   9024.218092  27076.025116       .009671                    
+P 14 -20672.447182  15825.373769   5269.473631    -31.498712                    
+V 14  -6794.827543   1418.273441 -31271.756544      -.000933                    
+P 15 -11918.641178  10106.462322 -21710.226477    378.739987                    
+V 15 -22130.379304 -15543.452706   4669.717395       .053527                    
+P 16  -2531.717534  26203.372012   3425.453568      1.963193                    
+V 16  -2777.840021  -4278.367145  31397.714797      -.001773                    
+P 17 -13904.195772 -20233.164344  11296.916146    -89.966862                    
+V 17  11952.758550   6906.374835  26935.552587       .195779                    
+P 18 -15072.518995   4473.192683 -21313.360857   -119.544064                    
+V 18    646.658174 -27237.159475  -6402.273880      -.037428                    
+P 19   8258.982868  12835.395889 -21637.043533    -12.011217                    
+V 19 -24688.771010  12597.082706  -1971.927313      -.008855                    
+P 20  12600.318299  14842.324529  18002.786743    -90.437770                    
+V 20  -1468.155035  23000.581242 -17845.362637       .026665                    
+P 21 -22449.922413  -2229.930166 -14373.585931     88.178859                    
+V 21 -14093.946554 -11519.491275  23369.502633       .010084                    
+P 22 -12455.335166  16629.900159 -16395.951467     16.315974                    
+V 22   -679.134736 -21194.421618 -20750.705051       .003403                    
+P 23  18440.349708   4297.881751  18578.052770    211.573532                    
+V 23 -19872.318585  13058.189330  16514.480480       .004938                    
+P 24  11222.628164 -10677.988355  21847.264865     89.919970                    
+V 24  22538.077865  15011.695516  -4164.859837       .028431                    
+P 25  -5663.608551  14645.084748  21806.831564     84.455607                    
+V 25 -24335.397131 -11298.451132   1322.381994       .009201                    
+P 26  -7808.910879 -12628.509181 -22336.456806    317.865139                    
+V 26  24212.340058 -13128.346837   -468.539980       .054403                    
+P 27  23263.566871   1776.536267 -12564.328504    514.457607                    
+V 27  13802.470134   9624.351592  25383.099130       .062480                    
+P 28  12265.783783 -15743.555380 -17140.773169     46.496121                    
+V 28   1653.180909  22352.673023 -19428.743441       .001638                    
+P 29  -2633.713169 -15094.498506 -21410.039986    175.824334                    
+V 29  24134.474071 -13763.886608   6792.154685      -.190952                    
+P 30 -15368.201958  -4277.155076  20999.845019    441.973801                    
+V 30   -238.719834 -27302.731459  -5558.324436      -.145075                    
+P 31  22983.887954 -13577.035188  -1483.516038      -.822602                    
+V 31    599.180204   3601.231347 -30923.847465      -.079385                    
+*  2005  1 21 21  0   .00000000                                                 
+P  1 -10219.829478  18830.590127  15872.644343    384.158758                    
+V  1 -17554.085065   9205.804205 -22519.861353       .020878                    
+P  2  -4093.944751 -17340.561919  19419.886799    -41.764164                    
+V  2  23223.495814  10135.274681  13651.816778       .054648                    
+P  3  -3017.419411  19430.849490 -17860.871866     78.551380                    
+V  3 -19179.384332  12248.715238  16945.810701       .028851                    
+P  4  10500.761365 -11606.182525  21489.253315    438.353663                    
+V  4  24020.904629  12907.776698  -4432.246172      -.207205                    
+P  5 -13341.058172 -17664.057415  14641.177692     73.550286                    
+V  5    -84.443471 -19034.244323 -22627.128234       .024451                    
+P  6 -22438.349960   2935.047071  14183.356760   -150.214755                    
+V  6  13004.580258 -12309.654554  23326.728693       .873465                    
+P  7  20182.472855 -17042.375489   2229.784579     58.408593                    
+V  7   4100.249257   1555.577961 -31122.737646      -.303797                    
+P  8  20248.568474  -2602.843347 -17358.874079    -19.238446                    
+V  8  18287.752040  11462.197513  19463.558492      -.011610                    
+P  9 -20548.951808 -15429.884901  -7868.522994    -25.142639                    
+V  9   9448.545592   1600.566919 -29292.871223      -.018550                    
+P 10  -1332.796481 -26364.100328   -161.314382     57.639952                    
+V 10   2489.833621   -251.179465  32344.553108       .006940                    
+P 11  21682.938832  13761.049709  -7172.713320    187.096901                    
+V 11  -9986.365538    842.778273 -28477.192568       .036841                    
+P 13  22040.947132  -2845.113662  14436.936240    -13.655744                    
+V 13 -14616.094999  11300.656099  24513.616495       .009671                    
+P 14 -21143.762944  15884.513421   2417.746102    -31.498724                    
+V 14  -3701.923551   -173.554826 -32008.992337      -.000942                    
+P 15 -13920.178409   8778.221227 -21108.396354    378.745895                    
+V 15 -22267.303788 -13938.619442   8684.298390       .053534                    
+P 16  -2796.707128  25666.701948   6213.617205      1.962974                    
+V 16  -3177.811323  -7625.199779  30472.521813      -.001772                    
+P 17 -12704.102328 -19566.968237  13622.189867    -89.949183                    
+V 17  14709.646301   7823.350480  24666.311755       .195810                    
+P 18 -15078.034734   1996.962467 -21703.086316   -119.547565                    
+V 18   -780.151767 -27698.855139  -2247.110218      -.037435                    
+P 19   6064.794549  14027.349208 -21626.144909    -12.011957                    
+V 19 -23990.385367  13846.707484   2213.591994      -.008858                    
+P 20  12518.290142  16817.930998  16245.715412    -90.435551                    
+V 20   -399.957821  20831.122553 -21143.978562       .026655                    
+P 21 -23638.797597  -3170.792273 -12155.253860     88.180009                    
+V 21 -12253.153986  -9407.164665  25856.645322       .010079                    
+P 22 -12564.185694  14623.702611 -18115.464105     16.316309                    
+V 22  -1783.022321 -23315.486076 -17404.439094       .003393                    
+P 23  16616.953180   5561.540635  19899.551981    211.573842                    
+V 23 -20561.731175  15007.570743  12809.005554       .004934                    
+P 24  13262.363216  -9396.670336  21290.171534     89.921687                    
+V 24  22707.641550  13428.544711  -8197.397348       .028424                    
+P 25  -7878.647275  13684.896247  21744.365861     84.456069                    
+V 25 -24808.847726 -10006.712497  -2708.480341       .009208                    
+P 26  -5665.916508 -13870.437427 -22191.585144    317.869953                    
+V 26  23333.043496 -14420.046512   3686.907155       .054398                    
+P 27  24404.843462   2552.231275 -10177.830051    514.463417                    
+V 27  11494.116722   7645.709203  27571.069157       .062476                    
+P 28  12467.881916 -13642.846551 -18732.476111     46.496057                    
+V 28   2874.745967  24250.384215 -15890.659107       .001648                    
+P 29   -531.685785 -16368.996195 -20611.420726    175.807041                    
+V 29  22509.217799 -14490.959998  10928.948258      -.190956                    
+P 30 -15447.199416  -6696.645593  20316.588956    441.960537                    
+V 30  -1495.375898 -26376.973558  -9601.796698      -.145084                    
+P 31  22918.412604 -13166.650493  -4246.343533      -.829646                    
+V 31  -2006.902398   5564.303694 -30386.351464      -.079403                    
+*  2005  1 21 21 15   .00000000                                                 
+P  1 -11677.968548  19635.869853  13716.539202    384.160966                    
+V  1 -14826.977408   8609.424021 -25326.390494       .020871                    
+P  2  -1922.529388 -16455.525233  20473.808057    -41.759414                    
+V  2  24962.193674   9473.352807   9732.891331       .054631                    
+P  3  -4648.838467  20514.430586 -16186.392165     78.553214                    
+V  3 -17045.718440  11756.502935  20212.788602       .028838                    
+P  4  12663.717035 -10514.295654  20907.293211    438.335072                    
+V  4  23959.748597  11330.769892  -8479.886693      -.207206                    
+P  5 -13369.483494 -19257.728031  12484.410868     73.552782                    
+V  5   -488.436867 -16334.950345 -25231.096798       .024445                    
+P  6 -21205.607235   1731.453532  16156.834149   -150.135928                    
+V  6  14313.587686 -14437.278445  20466.865192       .873420                    
+P  7  20432.240001 -16810.500864   -582.486708     58.380966                    
+V  7   1486.693238   3651.518426 -31281.778103      -.303800                    
+P  8  21828.629184  -1662.288785 -15466.654205    -19.238267                    
+V  8  16744.661218   9451.029519  22526.617546      -.011604                    
+P  9 -19563.087596 -15252.987816 -10432.319125    -25.144819                    
+V  9  12448.990866   2258.852285 -27602.676421      -.018549                    
+P 10  -1094.895173 -26227.421806   2742.596397     57.639859                    
+V 10   2868.289214   3277.333165  32092.306232       .006935                    
+P 11  20652.149027  13813.972417  -9667.372637    187.100097                    
+V 11 -12905.770675    395.798962 -26880.858305       .036843                    
+P 13  20656.105280  -1722.378143  16511.731275    -13.654922                    
+V 13 -16073.231662  13653.796150  21526.231518       .009671                    
+P 14 -21344.332265  15782.284665   -475.610061    -31.498997                    
+V 14   -793.358238  -2159.778658 -32195.373089      -.000951                    
+P 15 -15911.840438   7602.395825 -20151.624913    378.751591                    
+V 15 -21907.621609 -12171.081807  12546.572629       .053539                    
+P 16  -3115.363487  24836.288685   8894.791194      1.962779                    
+V 16  -3965.194343 -10790.504027  29023.759792      -.001770                    
+P 17 -11258.956100 -18838.367851  15724.635937    -89.931564                    
+V 17  17383.334377   8294.000581  21990.050881       .195841                    
+P 18 -15213.551345   -496.058446 -21716.923910   -119.551023                    
+V 18  -2227.109870 -27609.753538   1938.617570      -.037440                    
+P 19   3954.486344  15318.727161 -21239.791576    -12.012971                    
+V 19 -22833.432198  14794.163542   6359.322441      -.008860                    
+P 20  12519.193490  18580.240343  14207.900162    -90.433388                    
+V 20    364.279991  18272.554259 -24075.158286       .026647                    
+P 21 -24643.092754  -3927.798084  -9732.568119     88.180750                    
+V 21  -9999.623169  -7447.160009  27904.750175       .010073                    
+P 22 -12782.950917  12447.001139 -19519.525537     16.316671                    
+V 22  -3108.955578 -24974.129795 -13750.862080       .003383                    
+P 23  14754.577762   6995.054054  20876.881825    211.574474                    
+V 23 -20740.442441  16817.367415   8877.275105       .004929                    
+P 24  15294.930604  -8265.576216  20375.879694     89.924607                    
+V 24  22375.344250  11687.996577 -12091.799822       .028417                    
+P 25 -10114.602953  12848.481594  21320.637938     84.457102                    
+V 25 -24796.219038  -8561.632838  -6694.929826       .009215                    
+P 26  -3621.997253 -15213.959917 -21674.017427    317.874736                    
+V 26  22019.765044 -15373.516486   7802.193121       .054393                    
+P 27  25321.726279   3159.730648  -7616.202379    514.468916                    
+V 27   8826.798326   5898.870912  29270.467517       .062473                    
+P 28  12788.666368 -11393.519956 -19992.771490     46.496078                    
+V 28   4276.965469  25647.581497 -12075.403322       .001658                    
+P 29   1406.878847 -17689.895405 -19448.620820    175.789563                    
+V 29  20515.465361 -14786.056497  14872.810119      -.190959                    
+P 30 -15632.287900  -9009.941906  19276.790845    441.947318                    
+V 30  -2582.891815 -24949.519622 -13469.753959      -.145092                    
+P 31  22632.107032 -12568.158032  -6937.813209      -.837097                    
+V 31  -4298.049368   7770.429967 -29340.916544      -.079421                    
+*  2005  1 21 21 30   .00000000                                                 
+P  1 -12886.175708  20365.828472  11326.692966    384.163523                    
+V  1 -12016.252982   7531.746477 -27706.504685       .020864                    
+P  2    386.005190 -15644.985335  21166.439716    -41.754764                    
+V  2  26259.893439   8490.958421   5635.172152       .054616                    
+P  3  -6081.778126  21533.452819 -14232.789700     78.556116                    
+V  3 -14783.130776  10812.641137  23139.292793       .028826                    
+P  4  14798.032023  -9569.908748  19967.544496    438.316251                    
+V  4  23383.058328   9645.000065 -12371.950010      -.207207                    
+P  5 -13417.846449 -20597.396751  10112.778555     73.555018                    
+V  5   -521.959724 -13404.160454 -27395.392753       .024439                    
+P  6 -19875.756249    337.562946  17857.080191   -150.057487                    
+V  6  15161.432680 -16524.016474  17263.439145       .873375                    
+P  7  20457.768186 -16376.244065  -3384.582646     58.353571                    
+V  7   -870.878555   6042.250056 -30896.058732      -.303802                    
+P  8  23248.685209   -898.191585 -13315.446947    -19.240497                    
+V  8  14738.044395   7555.192393  25211.070020      -.011598                    
+P  9 -18311.365154 -15036.073673 -12823.508068    -25.147095                    
+V  9  15341.814624   2491.639325 -25462.808498      -.018547                    
+P 10   -803.942058 -25777.742891   5598.398280     57.639628                    
+V 10   3664.844878   6687.248991  31276.985443       .006931                    
+P 11  19363.750191  13843.384279 -11997.513552    187.103170                    
+V 11 -15696.944053    317.979802 -24826.299591       .036848                    
+P 13  19163.314676   -388.046042  18300.464100    -13.654294                    
+V 13 -17012.720758  15986.351926  18165.936134       .009672                    
+P 14 -21294.685689  15485.576598  -3360.765918    -31.499225                    
+V 14   1844.995869  -4484.712637 -31826.896295      -.000958                    
+P 15 -17848.300609   6589.626617 -18856.470943    378.755653                    
+V 15 -21040.205164 -10330.222487  16193.717357       .053545                    
+P 16  -3520.887442  23732.535832  11422.956802      1.962536                    
+V 16  -5100.224507 -13685.324265  27077.382370      -.001768                    
+P 17  -9580.279715 -18087.048445  17569.389515    -89.915035                    
+V 17  19884.561098   8331.850359  18946.985699       .195873                    
+P 18 -15476.801487  -2956.442959 -21355.402694   -119.554172                    
+V 18  -3603.738249 -26976.260823   6082.140700      -.037446                    
+P 19   1966.761731  16679.175065 -20484.837374    -12.013848                    
+V 19 -21277.424641  15371.295545  10392.779011      -.008861                    
+P 20  12573.051391  20097.634603  11924.726115    -90.431125                    
+V 20    768.742643  15402.447382 -26588.608287       .026640                    
+P 21 -25427.893623  -4518.129415  -7146.538259     88.181643                    
+V 21  -7385.333336  -5715.055524  29481.791950       .010068                    
+P 22 -13128.039464  10143.664226 -20583.309846     16.316906                    
+V 22  -4576.047165 -26123.197363  -9853.787079       .003373                    
+P 23  12898.388289   8581.776274  21492.709217    211.574800                    
+V 23 -20429.253599  18397.698727   4787.239179       .004925                    
+P 24  17274.492670  -7294.876528  19119.702328     89.928405                    
+V 24  21529.221610   9879.283202 -15784.481906       .028410                    
+P 25 -12326.893070  12145.881931  20542.531184     84.456733                    
+V 25 -24281.685729  -7047.290400 -10572.998085       .009222                    
+P 26  -1713.540763 -16625.444154 -20790.454601    317.879377                    
+V 26  20334.175912 -15919.900681  11808.673902       .054388                    
+P 27  25985.017156   3622.994751  -4924.464300    514.474393                    
+V 27   5871.473888   4450.427766  30459.553671       .062469                    
+P 28  13240.590112  -9042.422011 -20899.826138     46.496121                    
+V 28   5774.167290  26507.430239  -8052.849720       .001670                    
+P 29   3152.632927 -19016.156379 -17942.249181    175.772788                    
+V 29  18239.833606 -14604.107207  18552.363613      -.190963                    
+P 30 -15904.752601 -11173.944009  17899.351117    441.933917                    
+V 30  -3425.187358 -23068.744968 -17093.952127      -.145101                    
+P 31  22155.837968 -11762.793445  -9513.079859      -.844222                    
+V 31  -6220.558187  10148.938208 -27808.106401      -.079438                    
+*  2005  1 21 21 45   .00000000                                                 
+P  1 -13841.308244  20977.366637   8743.431645    384.163576                    
+V  1  -9219.251948   5980.785135 -29618.084854       .020857                    
+P  2   2789.319476 -14934.589208  21484.985693    -41.750011                    
+V  2  27060.440926   7261.001262   1432.414815       .054603                    
+P  3  -7308.555690  22447.145564 -12033.118623     78.558030                    
+V  3 -12478.983106   9417.365721  25672.713263       .028814                    
+P  4  16857.206453  -8778.742138  18686.966258    438.297972                    
+V  4  22291.597766   7940.957897 -16043.359638      -.207208                    
+P  5 -13451.554221 -21666.205842   7567.491492     73.557004                    
+V  5   -159.988973 -10331.116339 -29084.931321       .024434                    
+P  6 -18490.344779  -1239.047718  19255.550603   -149.979260                    
+V  6  15549.994255 -18483.454149  13770.079091       .873330                    
+P  7  20285.150741 -15716.166835  -6127.472271     58.326016                    
+V  7  -2906.612465   8656.888644 -29967.184355      -.303805                    
+P  8  24468.868723   -296.428856 -10941.331735    -19.242688                    
+V  8  12311.647642   5856.545979  27473.398857      -.011591                    
+P  9 -16807.378438 -14816.698964 -15003.234069    -25.148465                    
+V  9  18040.922000   2318.090345 -22910.111323      -.018545                    
+P 10   -423.646045 -25030.276926   8355.981035     57.640613                    
+V 10   4846.701347   9878.783524  29912.905277       .006926                    
+P 11  17833.018425  13881.645911 -14123.377107    187.106414                    
+V 11 -18277.677928    587.564696 -22347.659015       .036853                    
+P 13  17609.468946   1151.585015  19772.166538    -13.653559                    
+V 13 -17431.089411  18199.637443  14491.381329       .009676                    
+P 14 -21022.580587  14966.983492  -6187.964641    -31.499386                    
+V 14   4138.921404  -7077.651672 -30909.173548      -.000964                    
+P 15 -19684.022428   5742.444594 -17244.989983    378.759827                    
+V 15 -19671.540177  -8506.304632  19566.540759       .053551                    
+P 16  -4042.189283  22383.427109  13754.815290      1.962279                    
+V 16  -6527.645269 -16230.684454  24667.781812      -.001766                    
+P 17  -7687.476462 -17350.740158  19125.456434    -89.897423                    
+V 17  22127.966318   7966.695895  15582.856195       .195904                    
+P 18 -15857.484709  -5336.193057 -20625.550310   -119.557542                    
+V 18  -4822.605436 -25823.602150  10112.026200      -.037453                    
+P 19    134.344049  18072.799241 -19374.573974    -12.014830                    
+V 19 -19395.290860  15523.595292  14243.601150      -.008860                    
+P 20  12645.548118  21345.963549   9435.776625    -90.428939                    
+V 20    773.155120  12308.652001 -28641.459467       .026635                    
+P 21 -25963.575511  -4965.300088  -4440.721263     88.182529                    
+V 21  -4475.504397  -4275.563622  30563.236473       .010064                    
+P 22 -13608.244826   7761.007768 -21287.953332     16.317123                    
+V 22  -6096.540526 -26733.487187  -5781.690842       .003364                    
+P 23  11090.867137  10297.256777  21735.965394    211.575384                    
+V 23 -19666.769155  19665.593203    609.949808       .004920                    
+P 24  19154.931023  -6486.640185  17542.545318     89.930877                    
+V 24  20175.039120   8092.645584 -19214.884242       .028402                    
+P 25 -14470.257634  11579.474786  19422.628225     84.458390                    
+V 25 -23266.081402  -5549.382114 -14280.137125       .009229                    
+P 26     29.208866 -18065.662210 -19553.775282    317.884258                    
+V 26  18350.735588 -16004.163264  15637.887934       .054384                    
+P 27  26372.366952   3971.338216  -2149.180104    514.479845                    
+V 27   2708.886555   3352.454564  31125.684986       .062466                    
+P 28  13828.156164  -6638.842051 -21438.264876     46.496124                    
+V 28   7275.990904  26812.634069  -3896.378861       .001683                    
+P 29   4684.453649 -20303.511990 -16119.118249    175.755232                    
+V 29  15777.849845 -13918.728622  21901.366133      -.190967                    
+P 30 -16239.488548 -13150.617957  16209.094869    441.920615                    
+V 30  -3956.829154 -20798.463942 -20411.179201      -.145109                    
+P 31  21524.647300 -10738.530442 -11929.477527      -.851606                    
+V 31  -7735.582796  12621.227547 -25815.695661      -.079456                    
+*  2005  1 21 22  0   .00000000                                                 
+P  1 -14548.914254  21428.961690   6010.540466    384.167405                    
+V  1  -6531.154982   3983.498671 -31026.505305       .020850                    
+P  2   5240.789634 -14342.958163  21423.406858    -41.745047                    
+V  2  27325.126683   5866.143373  -2799.239357       .054590                    
+P  3  -8329.365768  23215.557552  -9624.887973     78.561942                    
+V  3 -10220.393347   7588.640797  27766.833112       .028801                    
+P  4  18795.621930  -8138.402760  17088.187973    438.279297                    
+V  4  20704.121380   6307.862871 -19433.338875      -.207209                    
+P  5 -13434.519699 -22455.511843   4892.543578     73.559453                    
+V  5    605.556776  -7208.542242 -30273.012256       .024428                    
+P  6 -17089.991746  -2983.124073  20328.736738   -149.900823                    
+V  6  15497.941719 -20231.930398  10044.918370       .873285                    
+P  7  19945.821176 -14813.750958  -8762.721975     58.298508                    
+V  7  -4568.104003  11413.009404 -28506.863187      -.303807                    
+P  8  25453.938890    164.089297  -8384.016712    -19.243409                    
+V  8   9524.256925   4427.576480  29276.574374      -.011584                    
+P  9 -15072.223669 -14629.969747 -16936.207430    -25.150165                    
+V  9  20466.163662   1773.288412 -19986.889945      -.018544                    
+P 10     78.526993 -24008.864743  10966.984035     57.640773                    
+V 10   6363.453269  12760.622352  28024.567120       .006922                    
+P 11  16082.368799  13958.484636 -16008.600079    187.109637                    
+V 11 -20572.021846   1167.989975 -19486.160788       .036860                    
+P 13  16040.883641   2881.419286  20901.405654    -13.652711                    
+V 13 -17344.588729  20197.472993  10566.734231       .009680                    
+P 14 -20561.822772  14206.042316  -8908.385976    -31.499746                    
+V 14   6028.647581  -9855.502553 -29457.383748      -.000969                    
+P 15 -21374.841255   5055.344217 -15344.371789    378.763099                    
+V 15 -17825.545571  -6787.098011  22610.267367       .053557                    
+P 16  -4702.590605  20823.495620  15850.518829      1.962050                    
+V 16  -8178.936495 -18360.457685  21837.132771      -.001762                    
+P 17  -5607.344685 -16663.795549  20366.193699    -89.879763                    
+V 17  24035.058889   7243.584781  11948.547693       .195936                    
+P 18 -16337.701704  -7590.388873 -19540.716805   -119.561022                    
+V 18  -5802.845170 -24194.713639  13959.407738      -.037460                    
+P 19  -1517.101894  19459.501427 -17928.481870    -12.015722                    
+V 19 -17270.431553  15212.461906  17844.826772      -.008859                    
+P 20  12699.506299  22309.321922   6784.131817    -90.426815                    
+V 20    354.417157   9085.958049 -30198.981277       .026633                    
+P 21 -26226.894920  -5298.070954  -1660.535092     88.183322                    
+V 21  -1346.305481  -3180.226565  31132.298790       .010060                    
+P 22 -14224.287985   5348.122131 -21620.917617     16.317445                    
+V 22  -7579.422679 -26794.896610  -1606.438845       .003355                    
+P 23   9370.277535  12110.016440  21602.068646    211.575891                    
+V 23 -18507.825387  20548.366329  -3581.704593       .004914                    
+P 24  20891.443706  -5834.895699  15670.597115     89.933863                    
+V 24  18336.222523   6415.958629 -22326.313888       .028395                    
+P 25 -16500.267172  11143.971298  17979.047013     84.459337                    
+V 25 -21766.998083  -4152.045351 -17756.021889       .009237                    
+P 26   1583.188333 -19491.149668 -17982.970287    317.889110                    
+V 26  16154.082092 -15587.569163  19222.662926       .054379                    
+P 27  26469.018385   4238.047362    662.346479    514.485609                    
+V 27   -573.528189   2640.926805  31265.009911       .062463                    
+P 28  14547.668326  -4232.724349 -21599.416260     46.496157                    
+V 28   8691.238998  26565.950850    318.679338       .001697                    
+P 29   5990.069478 -21506.209223 -14011.720125    175.737978                    
+V 29  13230.002779 -12723.413358  24860.057253      -.190971                    
+P 30 -16606.083444 -14908.271717  14236.266446    441.907519                    
+V 30  -4125.711162 -18215.313836 -23364.396020      -.145117                    
+P 31  20776.360498  -9490.666567 -14147.143690      -.858608                    
+V 31  -8820.251333  15103.639913 -23398.112003      -.079474                    
+*  2005  1 21 22 15   .00000000                                                 
+P  1 -15022.875318  21682.344278   3174.556678    384.171217                    
+V  1  -4041.380251   1585.039031 -31905.345942       .020842                    
+P  2   7691.159094 -13880.965706  20982.565127    -41.740258                    
+V  2  27034.371244   4395.281334  -6982.842946       .054578                    
+P  3  -9152.104157  23801.139693  -7049.441590     78.564798                    
+V  3  -8090.815923   5361.758480  29382.806025       .028788                    
+P  4  20570.132003  -7638.655042  15199.082131    438.260773                    
+V  4  18656.629569   4830.213907 -22486.290693      -.207210                    
+P  5 -13330.703758 -22965.043511   2133.942611     73.560582                    
+V  5   1765.539096  -4129.186850 -30941.619472       .024422                    
+P  6 -15712.910084  -4872.124223  21058.532255   -149.822273                    
+V  6  15039.881290 -21691.669535   6149.726729       .873241                    
+P  7  19475.239367 -13660.302135 -11243.411746     58.271425                    
+V  7  -5818.602625  14219.726591 -26537.021726      -.303809                    
+P  8  26174.549562    510.452973  -5686.231163    -19.244286                    
+V  8   6447.707065   3328.722488  30590.570444      -.011577                    
+P  9 -13133.841941 -14507.171623 -18591.168782    -25.151346                    
+V  9  22546.000554    906.763450 -16740.297829      -.018542                    
+P 10    729.857017 -22745.050131  13385.692347     57.640789                    
+V 10   8149.147318  15253.454324  25646.161265       .006918                    
+P 11  14140.664817  14099.723439 -17620.825370    187.112887                    
+V 11 -22513.068542   2009.343713 -16289.494297       .036867                    
+P 13  14501.551003   4777.961330  21668.728230    -13.651813                    
+V 13 -16788.401127  21889.997792   6460.508082       .009683                    
+P 14 -19950.861304  13190.209998 -11474.998680    -31.499806                    
+V 14   7471.082184 -12725.917301 -27496.052540      -.000972                    
+P 15 -22879.502447   4515.156013 -13186.509559    378.766374                    
+V 15 -15542.789215  -5254.612773  25275.269021       .053565                    
+P 16  -5518.750195  19092.556954  17674.336795      1.961949                    
+V 16  -9975.048132 -20023.729018  18634.615484      -.001759                    
+P 17  -3373.331975 -16055.882315  21269.753424    -89.861975                    
+V 17  25537.017166   6221.279626   8099.654428       .195968                    
+P 18 -16892.692877  -9678.707707 -18120.291378   -119.564478                    
+V 18  -6473.378580 -22148.472228  17559.131184      -.037466                    
+P 19  -2969.764590  20796.488598 -16171.869925    -12.016621                    
+V 19 -14993.381391  14416.826802  21134.090938      -.008856                    
+P 20  12696.480690  22980.513856   4015.609750    -90.424589                    
+V 20   -492.446768   5832.505897 -31235.141289       .026632                    
+P 21 -26201.857684  -5549.178678   1147.447209     88.184217                    
+V 21   1917.805920  -2465.592813  31180.117677       .010056                    
+P 22 -14968.693222   2954.130209 -21576.233971     16.317566                    
+V 22  -8934.189707 -26316.803935   2598.074186       .003346                    
+P 23   7769.297996  13982.611543  21093.030493    211.576345                    
+V 23 -17021.270929  20986.616710  -7714.319396       .004907                    
+P 24  22442.108452  -5325.993646  13534.943848     89.937049                    
+V 24  16053.174733   4931.429974 -25066.760261       .028387                    
+P 25 -18374.814367  10826.698735  16235.204445     84.458727                    
+V 25 -19818.323334  -2934.712468 -20943.358382       .009244                    
+P 26   2933.296160 -20855.765146 -16102.973169    317.893911                    
+V 26  13835.960767 -14649.642499  22498.317779       .054374                    
+P 27  26268.264124   4458.884520   3462.845083    514.491111                    
+V 27  -3884.857848   2334.790726  30882.042459       .062459                    
+P 28  15387.329738  -1872.871533 -21381.417620     46.496411                    
+V 28   9931.726340  25789.870122   4516.606673       .001711                    
+P 29   7066.321477 -22578.819993 -11657.588726    175.720810                    
+V 29  10697.612183 -11031.875619  27376.337702      -.190974                    
+P 30 -16970.116308 -16422.573124  12015.928821    441.894737                    
+V 30  -3895.154659 -15405.661769 -25903.708205      -.145125                    
+P 31  19950.119838  -8022.143663 -16129.591587      -.865530                    
+V 31  -9468.217596  17510.467453 -20595.843522      -.079491                    
+*  2005  1 21 22 30   .00000000                                                 
+P  1 -15284.732017  21704.075250    284.003014    384.170820                    
+V  1  -1830.161675  -1152.708708 -32236.995285       .020833                    
+P  2  10090.306322 -13551.345894  20170.223330    -41.735532                    
+V  2  26188.610462   2939.747635 -11042.259917       .054568                    
+P  3  -9791.887785  24170.260222  -4351.254815     78.567860                    
+V  3  -6166.730494   2788.237392  30490.023079       .028775                    
+P  4  22141.557335  -7261.992933  13052.262515    438.242305                    
+V  4  16201.003628   3584.565775 -25152.569689      -.207211                    
+P  5 -13105.652648 -23202.749690   -661.079048     73.561951                    
+V  5   3293.983992  -1182.412248 -31081.568865       .024417                    
+P  6 -14393.532321  -6876.881988  21432.519842   -149.743707                    
+V  6  14224.933643 -22793.705614   2149.003229       .873196                    
+P  7  18911.406055 -12255.555722 -13525.050771     58.243860                    
+V  7  -6638.604039  16981.217448 -24089.671679      -.303812                    
+P  8  26608.316591    774.563333  -2893.074355    -19.245402                    
+V  8   3164.431526   2606.121572  31392.816947      -.011571                    
+P  9 -11026.135668 -14474.552980 -19941.298042    -25.152918                    
+V  9  24219.861244   -219.430546 -13221.731649      -.018541                    
+P 10   1551.087954 -21276.858896  15569.878179     57.641798                    
+V 10  10124.991439  17293.001736  22820.853790       .006914                    
+P 11  12042.290748  14326.164658 -18932.252292    187.116108                    
+V 11 -24045.421132   3050.335393 -12811.095791       .036875                    
+P 13  13031.499924   6810.047599  22060.996300    -13.651056                    
+V 13 -15815.103316  23197.236388   2244.315911       .009688                    
+P 14 -19231.211084  11915.540571 -13843.385317    -31.499959                    
+V 14   8441.393103 -15590.807656 -25058.659216      -.000975                    
+P 15 -24161.102713   4101.704308 -10807.505815    378.770095                    
+V 15 -12879.127236  -3982.046369  27517.741528       .053573                    
+P 16  -6499.854654  17234.255696  19195.247379      1.961757                    
+V 16 -11829.529935 -21186.567123  15115.535605      -.001755                    
+P 17  -1024.548065 -15550.836581  21819.484277    -89.843917                    
+V 17  26577.236412   4970.231621   4095.968946       .196000                    
+P 18 -17491.849021 -11566.756901 -16389.320480   -119.567834                    
+V 18  -6775.720667 -19757.344363  20850.798901      -.037472                    
+P 19  -4214.167385  22039.897994 -14135.411307    -12.017348                    
+V 19 -12658.211073  13134.080856  24054.725590      -.008854                    
+P 20  12598.405325  23361.188286   1177.964455    -90.422154                    
+V 20  -1754.054202   2646.088716 -31733.002819       .026632                    
+P 21 -25880.334310  -5753.924159   3936.215484     88.185076                    
+V 21   5227.025405  -2151.929197  30705.849848       .010053                    
+P 22 -15826.003770    626.446322 -21154.622665     16.317830                    
+V 22 -10074.606713 -25327.667213   6757.336487       .003339                    
+P 23   6313.882574  15872.945488  20217.441589    211.576867                    
+V 23 -15287.184394  20936.715068 -11715.321791       .004901                    
+P 24  23769.357368  -4939.258818  11171.112240     89.941114                    
+V 24  13381.994850   3712.481617 -27389.682728       .028378                    
+P 25 -20055.538883  10608.160924  14219.506956     84.459398                    
+V 25 -17469.220115  -1969.096968 -23788.698032       .009252                    
+P 26   4072.879816 -22112.398544 -13944.378932    317.898537                    
+V 26  11491.781641 -13189.495963  25403.942148       .054369                    
+P 27  25771.614381   4670.537750   6205.809233    514.496806                    
+V 27  -7133.934364   2435.676257  29989.154054       .062456                    
+P 28  16327.681313    394.786283 -20789.181177     46.496491                    
+V 28  10915.956326  24525.483525   8622.815675       .001725                    
+P 29   7919.051713 -23478.044567  -9098.564649    175.704017                    
+V 29   8278.703002  -8877.543126  29406.747809      -.190978                    
+P 30 -17294.616039 -17677.273152   9587.283678    441.881581                    
+V 30  -3245.352260 -12462.173793 -27987.154265      -.145134                    
+P 31  19084.893647  -6343.595215 -17844.227988      -.872759                    
+V 31  -9689.643461  19756.998433 -17454.820205      -.079509                    
+*  2005  1 21 22 45   .00000000                                                 
+P  1 -15362.714734  21466.960631  -2611.427435    384.172690                    
+V  1     34.556728  -4153.255350 -32013.123912       .020826                    
+P  2  12389.054417 -13348.649793  19000.899649    -41.730848                    
+V  2  24808.335896   1589.403154 -14903.771403       .054559                    
+P  3 -10270.286743  24294.590119  -1577.159264     78.570652                    
+V  3  -4514.578267    -65.951398  31066.839523       .028761                    
+P  4  23476.032278  -6984.487726  10684.517905    438.224049                    
+V  4  13403.080648   2636.641429 -27389.144901      -.207212                    
+P  5 -12727.971930 -23184.347034  -3444.860574     73.563977                    
+V  5   5149.101363   1549.044755 -30692.512242       .024412                    
+P  6 -13161.287991  -8962.520211  21444.174776   -149.665697                    
+V  6  13114.792122 -23480.499602  -1890.963978       .873151                    
+P  7  18293.265288 -10607.950589 -15566.469168     58.216572                    
+V  7  -7026.734776  19600.547407 -21206.510533      -.303814                    
+P  8  26740.646765    991.762478    -51.326646    -19.245453                    
+V  8   -235.370853   2289.853776  31668.584517      -.011564                    
+P  9  -8787.888987 -14552.299062 -20964.569256    -25.155384                    
+V  9  25440.132935  -1533.024376  -9486.231039      -.018539                    
+P 10   2555.414546 -19647.332750  17481.569282     57.642343                    
+V 10  12202.595031  18832.419227  19599.880501       .006910                    
+P 11   9826.019758  14652.671418 -19920.117834    187.119255                    
+V 11 -25127.249666   4220.707498  -9109.334140       .036884                    
+P 13  11665.325427   8939.882540  22071.608064    -13.650232                    
+V 13 -14492.449707  24052.276755  -2008.426053       .009692                    
+P 14 -18445.764948  10387.033943 -15972.524092    -31.500114                    
+V 14   8933.873891 -18350.103729 -22187.076217      -.000978                    
+P 15 -25188.384655   3788.726405  -8247.119872    378.775077                    
+V 15  -9903.810740  -3031.042824  29300.325929       .053582                    
+P 16  -7647.103962  15294.481450  20387.445983      1.961657                    
+V 16 -13651.934935 -21833.143867  11340.358375      -.001752                    
+P 17   1395.436928 -15165.719143  22004.282988    -89.826147                    
+V 17  27113.536907   3570.105295       .880125       .196031                    
+P 18 -18099.952056 -13227.172639 -14378.036946   -119.571103                    
+V 18  -6666.271602 -17104.553965  23779.700769      -.037478                    
+P 19  -5249.320005  23146.472832 -11854.585710    -12.018265                    
+V 19 -10358.815929  11380.270457  26556.739649      -.008851                    
+P 20  12369.229150  23461.642138  -1679.944365    -90.419679                    
+V 20  -3399.152273   -379.508734 -31684.956856       .026632                    
+P 21 -25262.401540  -5948.670694   6659.045361     88.185793                    
+V 21   8489.327858  -2242.508441  29716.685436       .010050                    
+P 22 -16773.329637  -1590.893932 -20363.484122     16.318271                    
+V 22 -10922.303016 -23873.854139  10797.650267       .003331                    
+P 23   5022.392836  17735.777644  18990.336110    211.577192                    
+V 23 -13393.638658  20372.680121 -15514.318115       .004894                    
+P 24  24841.310603  -4647.910810   8618.543137     89.944353                    
+V 24  10392.632566   2820.920610 -29254.763413       .028368                    
+P 25 -21509.135983  10462.860301  11964.967637     84.459146                    
+V 25 -14782.569477  -1316.410209 -26243.255795       .009260                    
+P 26   5003.900499 -23214.767077 -11543.045054    317.903448                    
+V 26   9216.919730 -11226.438784  27883.726438       .054364                    
+P 27  24988.678201   4909.072668   8846.178861    514.502550                    
+V 27 -10232.458881   2928.226548  28606.017564       .062452                    
+P 28  17342.357392   2528.786816 -19834.226875     46.496550                    
+V 28  11572.469379  22830.616388  12565.286127       .001740                    
+P 29   8562.627394 -24164.431920  -6379.981878    175.686974                    
+V 29   6064.066178  -6312.228463  30917.222805      -.190982                    
+P 30 -17541.618654 -18664.610777   6992.929157    441.868176                    
+V 30  -2174.111792  -9480.195103 -29581.302249      -.145142                    
+P 31  18218.012327  -4473.121381 -19262.814350      -.880097                    
+V 31  -9510.624352  21762.507380 -14025.774590      -.079527                    
+*  2005  1 21 23  0   .00000000                                                 
+P  1 -15290.514004  20951.247305  -5461.722380    384.175543                    
+V  1   1499.782754  -7328.238452 -31235.008527       .020818                    
+P  2  14540.946048 -13259.551821  17495.579930    -41.726098                    
+V  2  22933.286991    428.799034 -18497.620095       .054552                    
+P  3 -10614.296770  24152.300706   1224.490470     78.574649                    
+V  3  -3188.079349  -3122.771538  31101.134057       .028747                    
+P  4  24546.155837  -6776.877007   8136.191024    438.205638                    
+V  4  10340.245458   2038.875574 -29160.154160      -.207213                    
+P  5 -12170.681845 -22932.588371  -6170.103016     73.566148                    
+V  5   7274.890357   3992.023855 -29782.807134       .024407                    
+P  6 -12039.576759 -11089.582361  21092.982562   -149.587008                    
+V  6  11781.327450 -23708.159253  -5903.065853       .873107                    
+P  7  17659.061633  -8734.551339 -17330.661478     58.189107                    
+V  7  -6999.864570  21983.629803 -17938.248673      -.303816                    
+P  8  26565.297797   1199.330042   2791.270751    -19.245699                    
+V  8  -3656.863484   2392.745515  31411.295425      -.011558                    
+P  9  -6461.527340 -14753.728688 -21644.051446    -25.158289                    
+V  9  26173.735733  -2954.160512  -5591.877295      -.018537                    
+P 10   3747.779400 -17902.879502  19087.728160     57.642814                    
+V 10  14287.596628  19843.963685  16041.476340       .006906                    
+P 11   7533.718431  15087.482858 -20567.100608    187.122552                    
+V 11 -25731.858339   5444.004029  -5246.607850       .036894                    
+P 13  10430.944853  11124.338473  21700.600842    -13.649075                    
+V 13 -12900.568224  24403.934606  -6223.818769       .009696                    
+P 14 -17637.061574   8618.640926 -17825.513031    -31.500244                    
+V 14   8962.056293 -20905.608908 -18930.850287      -.000980                    
+P 15 -25936.839112   3545.020920  -5548.161967    378.780805                    
+V 15  -6697.119173  -2449.355168  30592.671542       .053590                    
+P 16  -8953.510799  13319.714896  21230.763507      1.961507                    
+V 16 -15351.366049 -21966.166233   7373.674778      -.001749                    
+P 17   3839.974533 -14910.112611  21818.886946    -89.808714                    
+V 17  27119.948258   2106.911065  -4119.336522       .196062                    
+P 18 -18678.595832 -14640.446517 -12121.310758   -119.574755                    
+V 18  -6118.015870 -14280.884904  26297.623691      -.037483                    
+P 19  -6082.536531  24075.222534  -9369.039388    -12.019049                    
+V 19  -8185.240013   9189.559441  28597.662183      -.008847                    
+P 20  11976.476147  23300.300972  -4508.995037    -90.417428                    
+V 20  -5379.801694  -3157.993398 -31092.788182       .026631                    
+P 21 -24356.397993  -6169.304855   9270.219005     88.186723                    
+V 21  11613.677604  -2723.495387  28227.784493       .010049                    
+P 22 -17781.205810  -3658.765616 -19216.761736     16.318564                    
+V 22 -11410.049973 -22017.751395  14647.546604       .003322                    
+P 23   3905.036636  19524.370274  17432.936031    211.577680                    
+V 23 -11433.141774  19287.359882 -19044.410827       .004887                    
+P 24  25632.920368  -4420.222415   5919.999209     89.945400                    
+V 24   7166.529197   2304.499679 -30628.615871       .028359                    
+P 25 -22708.502108  10360.356413   9508.749756     84.460366                    
+V 25 -11832.911986  -1024.905734 -28263.725665       .009269                    
+P 26   5736.758438 -24119.230829  -8939.571919    317.908269                    
+V 26   7102.895477  -8799.792819  29888.305100       .054360                    
+P 27  23936.772209   5208.439500  11340.969790    514.508367                    
+V 27 -13097.918297   3780.972877  26759.002255       .062449                    
+P 28  18399.122839   4493.533143 -18534.390943     46.496579                    
+V 28  11842.728414  20777.319719  16275.885220       .001755                    
+P 29   9019.125314 -24603.946139  -3549.797091    175.669765                    
+V 29   4133.675538  -3404.051067  31883.612008      -.190986                    
+P 30 -17673.759377 -19385.389230   4278.072564    441.855061                    
+V 30   -696.887407  -6554.092254 -30661.654251      -.145150                    
+P 31  17383.780241  -2435.800810 -20361.869543      -.887040                    
+V 31  -8972.083346  23453.099705 -10363.583166      -.079545                    
+*  2005  1 21 23 15   .00000000                                                 
+P  1 -15105.835608  20145.549247  -8217.423246    384.177336                    
+V  1   2529.579351 -10580.661357 -29913.688501       .020810                    
+P  2  16503.908820 -13263.491824  15681.295554    -41.721268                    
+V  2  20620.833920   -466.417411 -21759.446043       .054546                    
+P  3 -10855.092052  23729.022052   4004.691992     78.577014                    
+V  3  -2226.051933  -6295.032631  30590.676702       .028733                    
+P  4  25331.907521  -6605.852278   5450.512418    438.187029                    
+V  4   7098.630293   1828.467973 -30437.351754      -.207215                    
+P  5 -11412.404341 -22476.282244  -8790.642287     73.568419                    
+V  5   9603.262148   6085.503716 -28369.263328       .024403                    
+P  6 -11044.974578 -13215.343064  20384.468370   -149.508356                    
+V  6  10303.819243 -23448.183249  -9820.363357       .873062                    
+P  7  17044.723214  -6660.614888 -18785.557455     58.161911                    
+V  7  -6592.419186  24043.138017 -14343.668923      -.303819                    
+P  8  26084.647236   1434.899197   5586.760382    -19.247229                    
+V  8  -7003.896508   2909.779630  30622.756406      -.011553                    
+P  9  -4091.755720 -15084.738982 -21968.154962    -25.160024                    
+V  9  26403.238907  -4398.264924  -1599.182108      -.018534                    
+P 10   5124.508049 -16091.508262  20360.828752     57.643211                    
+V 10  16283.520111  20319.872252  12209.673165       .006902                    
+P 11   5208.934673  15631.790926 -20861.639834    187.125948                    
+V 11 -25848.700775   6640.596804  -1288.362027       .036904                    
+P 13   9348.628631  13316.468156  20954.635098    -13.648061                    
+V 13 -11128.683608  24218.800175 -10328.798366       .009698                    
+P 14 -16845.577522   6632.922709 -19370.222803    -31.500296                    
+V 14   8558.063082 -23164.798395 -15346.337988      -.000982                    
+P 15 -26389.575908   3335.785300  -2755.839516    378.786056                    
+V 15  -3347.593888  -2268.991327  31371.935934       .053598                    
+P 16 -10404.020477  11355.366368  21710.989176      1.961404                    
+V 16 -16840.031878 -21606.610672   3283.116934      -.001747                    
+P 17   6260.858441 -14785.691577  21264.097543    -89.790862                    
+V 17  26587.989564    669.819185  -8196.350148       .196094                    
+P 18 -19187.731130 -15795.452542  -9658.032617   -119.578158                    
+V 18  -5121.576398 -11381.242927  28363.534598      -.037487                    
+P 19  -6728.929633  24789.002390  -6721.876011    -12.019976                    
+V 19  -6220.181270   6612.983746  30143.235081      -.008843                    
+P 20  11392.669377  22902.899165  -7260.646217    -90.414959                    
+V 20  -7633.206004  -5613.736611 -29967.578860       .026632                    
+P 21 -23178.691009  -6449.714367  11725.736517     88.187845                    
+V 21  14513.218945  -3564.438505  26262.132333       .010046                    
+P 22 -18814.725911  -5544.286700 -17734.679374     16.318810                    
+V 22 -11484.582741 -19835.233702  18239.149732       .003314                    
+P 23   2963.636372  21192.208431  15572.279352    211.578127                    
+V 23  -9498.899357  17692.865613 -22243.455349       .004881                    
+P 24  26126.882059  -4220.876520   3120.911292     89.946213                    
+V 24   3793.814378   2194.960288 -31485.437275       .028351                    
+P 25 -23633.674537  10266.527203   6891.637400     84.460987                    
+V 25  -8703.940448  -1127.843913 -29813.082901       .009277                    
+P 26   6289.774845 -24786.554458  -6178.663443    317.913448                    
+V 26   5233.591537  -5967.875925  31376.066860       .054355                    
+P 27  22640.276699   5599.082275  13649.853357    514.514070                    
+V 27 -15656.276464   4947.758876  24480.642324       .062445                    
+P 28  19461.144823   6260.441298 -16913.421887     46.496556                    
+V 28  11683.433026  18448.846045  19691.545073       .001773                    
+P 29   9317.215474 -24769.315876   -657.683008    175.652434                    
+V 29   2553.608569   -234.714175  32291.958636      -.190990                    
+P 30 -17655.836003 -19848.726844   1489.715131    441.841680                    
+V 30   1153.884535  -3773.703521 -31212.864282      -.145158                    
+P 31  16612.209669   -262.956160 -21123.012414      -.894012                    
+V 31  -8128.171839  24764.326573  -6526.587025      -.079563                    
+*  2005  1 21 23 30   .00000000                                                 
+P  1 -14848.795221  19047.463726 -10830.504057    384.176778                    
+V  1   3106.513119 -13808.522379 -28069.939643       .020803                    
+P  2  18241.741479 -13333.623509  13590.578573    -41.716335                    
+V  2  17943.629649  -1032.691552 -24631.571634       .054540                    
+P  3 -11026.608202  23018.520018   6714.694057     78.579054                    
+V  3  -1650.834802  -9489.709991  29543.286596       .028719                    
+P  4  25821.297278  -6435.496509   2672.898752    438.168540                    
+V  4   3770.023247   2026.006705 -31200.451768      -.207216                    
+P  5 -10438.338878 -21849.102591 -11262.194220     73.571263                    
+V  5  12056.595713   7782.690686 -26476.777380       .024398                    
+P  6 -10186.702350 -15295.251721  19330.136498   -149.429895                    
+V  6   8765.907330 -22688.665187 -13577.094939       .873018                    
+P  7  16482.342203  -4418.814122 -19904.696861     58.134638                    
+V  7  -5854.907597  25702.183037 -10488.438114      -.303821                    
+P  8  25309.657419   1734.848747   8287.729775    -19.247265                    
+V  8 -10182.413076   3818.165971  29313.273147      -.011547                    
+P  9  -1724.118297 -15543.516696 -21930.821977    -25.161177                    
+V  9  26127.486855  -5779.086155   2429.544594      -.018532                    
+P 10   6673.295119 -14261.022357  21279.320311     57.643998                    
+V 10  18095.693210  20272.422539   8173.001516       .006898                    
+P 11   2895.420810  16279.597020 -20798.162650    187.129217                    
+V 11 -25483.799517   7730.859215   2697.964210       .036914                    
+P 13   8430.342281  15467.170738  19846.860915    -13.647164                    
+V 13  -9271.501237  23482.589386 -14252.426416       .009699                    
+P 14 -16108.110907   4460.376692 -20579.865777    -31.500350                    
+V 14   7771.225363 -25044.410252 -11495.711723      -.000984                    
+P 15 -26537.930840   3124.095868     82.938525    378.790379                    
+V 15     51.041331  -2504.911145  31623.214745       .053606                    
+P 16 -11975.946329   9444.169253  21820.094091      1.961331                    
+V 16 -18036.679179 -20792.775444   -861.760681      -.001745                    
+P 17   8609.934777 -14786.090512  20346.922851    -89.772919                    
+V 17  25527.372662   -652.253423 -12160.736987       .196125                    
+P 18 -19587.275357 -16689.658757  -7030.441832   -119.581003                    
+V 18  -3685.595544  -8501.107036  29944.134664      -.037493                    
+P 19  -7210.603576  25255.951281  -3958.892313    -12.020699                    
+V 19  -4535.814044   3716.553830  31167.945619      -.008839                    
+P 20  10596.564116  22301.393040  -9887.763407    -90.412648                    
+V 20 -10084.110660  -7684.517289 -28329.455305       .026632                    
+P 21 -21753.161130  -6820.337141  13984.010534     88.188501                    
+V 21  17108.342862  -4719.356141  23850.309860       .010044                    
+P 22 -19834.904773  -7221.897673 -15943.359614     16.319162                    
+V 22 -11108.847806 -17412.600847  21509.457827       .003306                    
+P 23   2191.735925  22694.724351  13440.739015    211.578745                    
+V 23  -7681.051933  15620.237070 -25055.227733       .004874                    
+P 24  26314.276278  -4012.474334    268.669147     89.950216                    
+V 24    370.144734   2506.639079 -31807.588836       .028343                    
+P 25 -24272.527740  10144.991323   4157.435065     84.462762                    
+V 25  -5485.613597  -1641.962181 -30861.357600       .009286                    
+P 26   6688.341325 -25183.539616  -3308.373281    317.918149                    
+V 26   3681.675237  -2806.148415  32314.378037       .054350                    
+P 27  21129.765897   6106.698912  15735.681240    514.519834                    
+V 27 -17844.276037   6369.600232  21808.979494       .062442                    
+P 28  20488.444119   7808.797653 -15000.477646     46.496607                    
+V 28  11068.183975  15936.249081  22755.279292       .001792                    
+P 29   9490.794859 -24641.114523   2245.892855    175.635116                    
+V 29   1373.590762   3103.732755  32138.546266      -.190994                    
+P 30 -17456.282802 -20071.498428  -1324.174797    441.828451                    
+V 30   3330.099865  -1221.032646 -31228.780087      -.145166                    
+P 31  15927.919089   2008.802424 -21533.242118      -.901240                    
+V 31  -7044.226105  25643.492296  -2575.887957      -.079580                    
+*  2005  1 21 23 45   .00000000                                                 
+P  1 -14560.214952  17663.848445 -13255.239285    384.178212                    
+V  1   3232.375698 -16908.695578 -25734.054011       .020796                    
+P  2  19725.360062 -13438.026335  11260.809342    -41.711410                    
+V  2  14986.644586  -1221.206036 -27064.100682       .054535                    
+P  3 -11164.013397  22023.061232   9306.899791     78.583251                    
+V  3  -1467.389331 -12611.535631  27976.767664       .028704                    
+P  4  26010.728125  -6228.818346   -149.775193    438.149663                    
+V  4    448.593773   2634.702425 -31437.369493      -.207218                    
+P  5  -9240.992321 -21088.234316 -13543.062101     73.573690                    
+V  5  14550.629802   9052.567141 -24137.866188       .024393                    
+P  6  -9466.377731 -17284.458297  17947.318687   -149.351774                    
+V  6   7252.366411 -21434.908943 -17109.693179       .872974                    
+P  7  15998.821270  -2048.147943 -20667.787329     58.107561                    
+V  7  -4851.719966  26897.575897  -6443.703653      -.303823                    
+P  8  24259.534602   2132.728650  10848.078733    -19.248232                    
+V  8 -13103.831360   5077.999136  27501.715271      -.011541                    
+P  9    596.475322 -16120.527505 -21531.658693    -25.164105                    
+V  9  25361.711753  -7011.819542   6430.859656      -.018529                    
+P 10   8373.539761 -12457.243371  21827.971507     57.644379                    
+V 10  19635.063173  19733.186055   4003.132853       .006895                    
+P 11    635.646673  17017.856514 -20377.214018    187.132734                    
+V 11 -24659.546644   8638.369346   6644.047274       .036924                    
+P 13   7679.423727  17526.946039  18396.670495    -13.646261                    
+V 13  -7425.396801  22200.749757 -17927.128573       .009700                    
+P 14 -15456.320694   2138.453874 -21433.470501    -31.500473                    
+V 14   6666.018507 -26473.685768  -7445.855318      -.000986                    
+P 15 -26381.785078   2872.478283   2920.292476    378.795232                    
+V 15   3403.174393  -3154.327417  31339.892099       .053615                    
+P 16 -13639.703677   7624.687956  21556.353155      1.961336                    
+V 16 -18869.775376 -19578.690780  -4990.618340      -.001744                    
+P 17  10840.747368 -14897.085012  19080.627635    -89.755152                    
+V 17  23966.067504  -1774.173897 -15943.077044       .196156                    
+P 18 -19838.726031 -17329.019400  -4283.410128   -119.584794                    
+V 18  -1836.439497  -5733.000705  31014.284847      -.037500                    
+P 19  -7555.580152  25450.732192  -1127.773246    -12.021403                    
+V 19  -3191.050444    578.785206  31655.393326      -.008836                    
+P 20   9574.142949  21532.650302 -12345.415988    -90.410107                    
+V 20 -12647.675795  -9323.734821 -26207.187718       .026632                    
+P 21 -20110.420013  -7306.833842  16006.536126     88.189147                    
+V 21  19329.527306  -6128.389495  21030.173549       .010044                    
+P 22 -20800.213884  -8674.146400 -13874.331607     16.319498                    
+V 22 -10263.584134 -14843.113731  24401.510362       .003298                    
+P 23   1575.041522  23990.957440  11075.441765    211.579368                    
+V 23  -6063.042540  13118.350509 -27430.476004       .004865                    
+P 24  26194.913989  -3757.141145  -2588.136145     89.952863                    
+V 24  -3006.713109   3235.703510 -31586.086616       .028334                    
+P 25 -24621.196107   9958.642536   1352.299647     84.463193                    
+V 25  -2270.977576  -2566.525069 -31386.359685       .009294                    
+P 26   6963.763103 -25284.454164   -379.247013    317.922952                    
+V 26   2505.400714    595.439275  32680.660517       .054346                    
+P 27  19440.948384   6751.181092  17564.956667    514.525609                    
+V 27 -19611.373119   7976.843991  18787.039112       .062438                    
+P 28  21439.465082   9126.298926 -12829.538922     46.496914                    
+V 28   9988.450914  13334.756049  25417.028024       .001810                    
+P 29   9577.431651 -24208.531373   5110.583616    175.617938                    
+V 29    625.250453   6512.497497  31429.726061      -.190998                    
+P 30 -17048.499341 -20077.494582  -4115.484979    441.815385                    
+V 30   5769.882854   1032.694623 -30712.323419      -.145174                    
+P 31  15349.233147   4338.725005 -21585.153812      -.908188                    
+V 31  -5794.339724  26051.583852   1425.385486      -.079598                    
+EOF
diff --git a/trunk/apps/positioning/doc/rinexpvt-manual.pdf b/trunk/apps/positioning/doc/rinexpvt-manual.pdf
new file mode 100644
index 0000000..2220056
Binary files /dev/null and b/trunk/apps/positioning/doc/rinexpvt-manual.pdf differ
diff --git a/trunk/apps/positioning/doc/rinexpvt-manual.tm b/trunk/apps/positioning/doc/rinexpvt-manual.tm
new file mode 100644
index 0000000..050378c
--- /dev/null
+++ b/trunk/apps/positioning/doc/rinexpvt-manual.tm
@@ -0,0 +1,599 @@
+<TeXmacs|1.0.5>
+
+<style|article>
+
+<\body>
+  <doc-data|<doc-title|Using RINEXPVT>|<doc-author-data|<author-name|R.
+  Benjamin Harris>|<\author-address>
+    Applied Research Laboratories,
+
+    The University of Texas at Austin
+  </author-address>|<author-email|pben at arlut.utexas.edu>>|<doc-date|February
+  24, 2005>>
+
+  <section|Overview>
+
+  The <with|font-family|tt|rinexpvt> application is a GPSTk [1] based
+  application that generates user positions from pseudoranges recorded in the
+  RINEX [2] format. One user position, or PVT, is generated per epoch of
+  observation. No smoothing is applied to the pseudoranges, nor are the
+  solutions filtered. A number of error models are applied to the
+  pseudoranges before the generating the position calcuation, such as
+  atmospheric delay. The user can select an elevation mask for satellites.
+  Also only healthy satellites, as defined by the ephemeris, are used in the
+  solution. The user can control which pseudoranges are used, and some of the
+  corrections applied to them.\ 
+
+  <section|Synopsis>
+
+  The user executes <with|font-family|tt|rinexpvt> from the command line. The
+  processing performed by the <with|font-family|tt|rinexpvt> is specified
+  through command line arguments. The full set of arguments is defined below.
+  This list can be duplicated by running <with|font-family|tt|rinexpvt -h> on
+  the command line.\ 
+
+  <with|prog-language|shell|prog-session|default|<\session>
+    <\input|shell] >
+      ../rinexpvt -h
+    </input>
+
+    <\output>
+      Usage: rinexpvt [OPTION] ...
+
+      GPSTk PVT Generator
+
+      \;
+
+      This application generates user positions based on RINEX
+
+      observations.
+
+      \;
+
+      NOTE: Although the -n and -p arguments appear as optional below,
+
+      one of the two must be used. An ephemeris source must be specified.
+
+      \;
+
+      Required arguments:
+
+      \ \ -o, --obs-file=ARG \ \ \ \ \ \ RINEX Obs File.
+
+      \;
+
+      Optional arguments:
+
+      \ \ -d, --debug \ \ \ \ \ \ \ \ \ \ \ \ \ Increase debug level
+
+      \ \ -v, --verbose \ \ \ \ \ \ \ \ \ \ \ Increase verbosity
+
+      \ \ -h, --help \ \ \ \ \ \ \ \ \ \ \ \ \ \ Print help usage
+
+      \ \ -n, --nav-file=ARG \ \ \ \ \ \ RINEX Nav File. Required for single
+      frequency
+
+      \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ionosphere
+      correction.
+
+      \ \ -p, --pe-file=ARG \ \ \ \ \ \ \ SP3 Precise Ephemeris File. Repeat
+      this for each
+
+      \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ input file.
+
+      \ \ -m, --met-file=ARG \ \ \ \ \ \ RINEX Met File.
+
+      \ \ -t, --time-format=ARG \ \ \ Alternate time format string.
+
+      \ \ -e, --enu=ARG \ \ \ \ \ \ \ \ \ \ \ Use the following as origin to
+      solve for
+
+      \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ East/North/Up
+      coordinates, formatted as a string:
+
+      \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ "X Y Z"
+
+      \ \ -l, --elevation-mask=ARG Elevation mask (degrees)
+
+      \ \ -s, --single-frequency \ \ Use only C1 (SPS)
+
+      \ \ -d, --dual-frequency \ \ \ \ Use only P1 and P2 (PPS)
+
+      \ \ -i, --ionosphere \ \ \ \ \ \ \ \ Do NOT correct for ionosphere
+      delay.
+    </output>
+
+    \;
+  </session>>
+
+  <section|Detailed Description>
+
+  <subsection|Observation Model>
+
+  The user position is related to the pseudorange observation through the
+  following formula [3, 4].
+
+  \;
+
+  <\equation>
+    <with|mode|text|<with|mode|math|\<rho\>=<sqrt|(x<rsub|u>-x<rsub|s>)<rsup|2>+(y<rsub|u>-y<rsub|s>)<rsup|2>+(z<rsub|u>-z<rsub|s><rsup|<rsup|>>)<rsup|2>>><with|mode|math|><with|mode|math|+c\<delta\>t+t+i+\<nu\>+m+\<epsilon\><rsub|>>>
+  </equation>
+
+  where <tabular|<tformat|<table|<row|<cell|<with|mode|math|\<rho\>> is the
+  pseudorange measurement>>|<row|<cell|<with|mode|math|x,
+  ><with|mode|math|y>, and <with|mode|math|z> represent Cartesian
+  coordinates>>|<row|<cell|<with|mode|math|u> is the user position at time of
+  reception>>|<row|<cell|<with|mode|math|s> is the satellite position at the
+  time of transmission>>|<row|<cell|<with|mode|math|c\<delta\>t> is the clock
+  offset between the user and spacecraft clocks>>|<row|<cell|<with|mode|math|t>
+  is the delay due to the troposphere>>|<row|<cell|<with|mode|math|i >is
+  delay due to the ionosphere>>|<row|<cell|<with|mode|math|\<nu\>> is
+  relativistic delay>>|<row|<cell|<with|mode|math|m> is multipath
+  delay>>|<row|<cell|<with|mode|math|\<epsilon\>> is thermal measurement
+  noise>>>>>
+
+  <paragraph|>For each satellite in view at a given epoch, one independent
+  relation can be formed. When the satellite position is known as a function
+  of time, and atmospheric delays have been estimated, then unknown terms are
+  user position, at <with|mode|math|x<rsub|s>, ><with|mode|math|y<rsub|s>>,
+  and <with|mode|math|z<rsub|s>,>and the clock offset,
+  <with|mode|math|c\<delta\>t>. If more than four such observations are
+  available for a given epoch, then gradient search methods are be used in
+  combination with least squares to solve for the user position [3, 4, 5].
+
+  <subsection|Satellite Position Models>\ 
+
+  Satellite positions are computed as a function of time by one of two
+  methods. The first method applies modified Keplerian parameters found in
+  the broadcast ephemeris, as defined by the ICD-GPS-200 [3, 4, 6]. The
+  second method is by Lagrange interpolation of precise ephemerides [3].
+
+  <subsection|Delay Models>
+
+  Many of the delays found in Eq. 1 are modeled within
+  <with|font-family|tt|rinexpvt>. The delay due to special relativity can be
+  computed directly from satellite position and velocity. The troposphere
+  delay can be estimated using meteorological observations. Finally, the
+  ionosphere delay can be computed using additional range observation or
+  using a reference model.\ 
+
+  The net effect due to special relativistic delay is frequently modeled
+  within receivers using the following equation [4, 6]
+
+  <\equation>
+    \<delta\>t<rprime|'> = 2<frac|<wide|r|\<vect\>>\<bullet\><wide|v|\<vect\>>|c<rsup|2>>
+  </equation>
+
+  where <with|mode|math|<wide|r|\<vect\>>> is the Earth centered, Earth fixed
+  (ECEF) position vector, <with|mode|math|<wide|v|\<vect\>>> is the ECEF
+  velocity vector and <with|mode|math|c> is the speed of light.\ 
+
+  If observations from more than one frequency are available for an epoch,
+  then the ionosphere delay <with|mode|math|i> is estimated using the
+  following linear relationship [5].\ 
+
+  <\equation>
+    i\<approx\> <frac|f<rsub|2><rsup|2>|f<rsub|2><rsup|2>-f<rsub|1><rsup|2>>(P<rsub|1>-P<rsub|2>)
+  </equation>
+
+  where <with|mode|math|P<rsub|1> >is the pseudorange measurement on L1 and
+  <with|mode|math|P<rsub|2>> is the pseudorange measurement on L2. If dual
+  frequency measurements are not available, then ionosphere delay is
+  estimated using the Klobuchar model [2].\ 
+
+  The troposphere delay is estimated using meteorological observations. The
+  modified Hopfield model is used within <with|font-family|tt|rinexpvt> to
+  model this form of error.[7] If no actual weather measurements are
+  provided, then a default weather condition is assumed: 20 degrees ceslius,
+  1000 millibars and 50 percent humidity.
+
+  <section|Examples and Usage Notes>
+
+  This section contains a number of practical examples in the use of
+  <with|font-family|tt|rinexpvt>. In each subsection there is a brief
+  description of the desired processing, as well as a snapshot of a shell
+  session as a demonstration. All of the example files used are distributed
+  with the application.
+
+  <subsection|Generating Positions in WGS 84 Coordinates>
+
+  By default, <with|font-family|tt|rinexpvt> generates the user position in
+  the Cartesian, WGS reference frame. The user needs only supply observations
+  and a source of ephemerides. If a RINEX meteorological file is provided,
+  then troposphere delays are modeled. Otherwise the troposphere delay is
+  modeled using a standard temperature of 20 celsius, . The following example
+  demonstrates the most basic processing provided by
+  <with|font-family|tt|rinexpvt>.
+
+  <with|prog-language|shell|prog-session|default|<\session>
+    <\input|shell] >
+      rinexpvt -o usno0200.05o -n brdc0200.05n -m usno0200.05m
+    </input>
+
+    <\output>
+      2005 1 20 00 00 0.000000 1112192.67926 -4842951.98205 3985348.06329
+
+      2005 1 20 00 00 30.000000 1112188.65938 -4842953.48346 3985351.48398
+
+      2005 1 20 00 01 0.000000 1112189.48576 -4842957.45711 3985356.92698
+
+      2005 1 20 00 01 30.000000 1112191.15384 -4842957.53284 3985355.11895
+
+      2005 1 20 00 02 0.000000 1112191.1508 -4842955.89459 3985352.76549
+
+      2005 1 20 00 02 30.000000 1112190.99828 -4842954.61737 3985352.3681
+
+      2005 1 20 00 03 0.000000 1112189.92412 -4842954.29518 3985348.72842
+
+      2005 1 20 00 03 30.000000 1112189.16937 -4842954.31307 3985351.92146
+
+      2005 1 20 00 04 0.000000 1112191.62124 -4842955.6613 3985354.82972
+
+      2005 1 20 00 04 30.000000 1112188.66733 -4842953.49038 3985348.04322
+    </output>
+
+    \;
+  </session>>
+
+  <subsection|Generating Positions in East/North/Up Coordinates>
+
+  The user may wish to transform the results of the position calculation to
+  local, or topocentric, reference frame. The new coordinates, still
+  Cartesian, refer to the cardinal directions: East, North and Up. The
+  positions calculated by <with|font-family|tt|rinexpvt> can be tranformed to
+  a topocentric origin using the <with|font-family|tt|-e> option. The
+  argument to this option is a single string, with three numerical entries
+  for the origin of the topocentric system. Often, within RINEX observation
+  files, the header entry ``APPROX POS XYZ'' is a recent surveyed origin of
+  the receiver and forms a useful origin for a topocentric system. In the
+  following example the topocentric transformation is applied to the results
+  from the previous subsection.
+
+  <with|prog-language|shell|prog-session|default|<\session>
+    <\input|shell]>
+      grep "APPROX " usno0200.05o
+    </input>
+
+    <\output>
+      \ \ 1112189.9031 -4842955.0319 \ 3985352.2376
+      \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ APPROX POSITION XYZ
+    </output>
+
+    <\input|shell]>
+      rinexpvt -o usno0200.05o -n brdc0200.05n -m usno0200.05m -e
+      "1112189.9031 -4842955.0319 \ 3985352.2376"\ 
+    </input>
+
+    <\output>
+      2005 1 20 00 00 0.000000 -2.64323278089 1.39273684601 -4.44579107837
+
+      2005 1 20 00 00 30.000000 0.675237880363 -0.413842977087 -1.86595014292
+
+      2005 1 20 00 01 0.000000 0.74075583724 -1.74562915823 4.70500528956
+
+      2005 1 20 00 01 30.000000 -0.514261859844 -0.427112579929 3.92260789052
+
+      2005 1 20 00 02 0.000000 -0.798000760765 0.225433490228 1.2040383517
+
+      2005 1 20 00 02 30.000000 -0.905046895282 -0.156961158353
+      -0.0422947010004
+
+      2005 1 20 00 03 0.000000 -0.144614169541 1.78733342562 -2.7520269223
+
+      2005 1 20 00 03 30.000000 0.432346745093 -0.229710319547
+      -0.872438081029
+
+      2005 1 20 00 04 0.000000 -1.19640547889 -1.09032516564 2.40032451942
+
+      2005 1 20 00 04 30.000000 0.670398976551 1.68417470062 -4.01206558988
+    </output>
+
+    \;
+  </session>>
+
+  <subsection|Generating Positions using Precise Ephemerides>
+
+  Precise ephemerides may be substituted for broadcast ephemerides. The
+  precise ephemerides must be in the SP-3 file format. In order to process a
+  given period of RINEX observations, precise ephemerides must be utilized
+  for times before and after that period in order to eliminate interpolation
+  effects. For this reason the <with|font-family|tt|-p> option to specify a
+  precise ephemeris can be repeated. The following example demonstrates the
+  use of precise ephemerides.
+
+  <with|prog-language|shell|prog-session|default|<\session>
+    <\input|shell]>
+      rinexpvt -o usno0200.05o -m usno0200.05m -e "1112189.9031 -4842955.0319
+      \ 3985352.2376" -p nga13063.apc -p nga13064.apc -p nga13065.apc\ 
+    </input>
+
+    <\output>
+      2005 1 20 00 00 0.000000 -2.08992486501 1.51632100425 -5.38603364386
+
+      2005 1 20 00 00 30.000000 1.22849620836 -0.281974793322 -2.78857829356
+
+      2005 1 20 00 01 0.000000 1.29400421219 -1.60589389988 3.7997452854
+
+      2005 1 20 00 01 30.000000 0.03901809145 -0.279940424961 3.0344477269
+
+      2005 1 20 00 02 0.000000 -0.141549865351 0.430550617004 0.613916181074
+
+      2005 1 20 00 02 30.000000 -0.247842106971 0.0554617639326
+      -0.61408409222
+
+      2005 1 20 00 03 0.000000 0.513345520633 2.00662083505 -3.30594517769
+
+      2005 1 20 00 03 30.000000 1.18397434384 0.173306575113 -1.80221181762
+
+      2005 1 20 00 04 0.000000 -0.445369991941 -0.681710302654 1.48775750121
+
+      2005 1 20 00 04 30.000000 1.26854804266 1.86268110989 -4.31594225054
+    </output>
+
+    \;
+  </session>>
+
+  <subsection|Emulating Standard Positioning Service (SPS) Performance>
+
+  By default, <with|font-family|tt|rinexpvt> will attempt to form the best
+  possible position for each epoch of observation. If dual frequency
+  observations are applied, they are used. If for a single epoch, only C/A
+  observations are available, then it is used. In order to perform solutions
+  using only C/A, the <with|font-family|tt|-s> switch is available. The
+  following is a demonstration of this switch.
+
+  <with|prog-language|shell|prog-session|default|<\session>
+    <\input|shell] >
+      rinexpvt -o usno0200.05o -n brdc0200.05n -m usno0200.05m -s
+    </input>
+
+    <\output>
+      2005 1 20 00 00 0.000000 1112192.36858 -4842952.68698 3985350.17084
+
+      2005 1 20 00 00 30.000000 1112190.34546 -4842953.75694 3985351.57171
+
+      2005 1 20 00 01 0.000000 1112191.29632 -4842954.16477 3985353.65599
+
+      2005 1 20 00 01 30.000000 1112191.97305 -4842954.21052 3985353.96079
+
+      2005 1 20 00 02 0.000000 1112191.47444 -4842954.60185 3985351.44099
+
+      2005 1 20 00 02 30.000000 1112191.67217 -4842953.79149 3985352.74304
+
+      2005 1 20 00 03 0.000000 1112192.35285 -4842953.76184 3985351.25908
+
+      2005 1 20 00 03 30.000000 1112189.43589 -4842951.88681 3985348.73888
+
+      2005 1 20 00 04 0.000000 1112190.55705 -4842953.10278 3985349.95615
+
+      2005 1 20 00 04 30.000000 1112188.71119 -4842952.128 3985348.15393
+
+      \;
+    </output>
+  </session>>
+
+  <subsection|Emulating Precise Positioning Service (PPS) Performance>
+
+  Similar to the option described in the previous subsection, there is an
+  option to limit the solutions of <with|font-family|tt|rinexpvt> to those
+  strictly derived from dual frequency observations. The following session
+  demonstrates this switch.
+
+  <with|prog-language|shell|prog-session|default|<\session>
+    <\input|shell] >
+      rinexpvt -o usno0200.05o -n brdc0200.05n -m usno0200.05m -d \ 
+    </input>
+
+    <\output>
+      2005 1 20 00 00 0.000000 1112192.67926 -4842951.98205 3985348.06329
+
+      2005 1 20 00 00 30.000000 1112188.65938 -4842953.48346 3985351.48398
+
+      2005 1 20 00 01 0.000000 1112189.48576 -4842957.45711 3985356.92698
+
+      2005 1 20 00 01 30.000000 1112191.15384 -4842957.53284 3985355.11895
+
+      2005 1 20 00 02 0.000000 1112191.1508 -4842955.89459 3985352.76549
+
+      2005 1 20 00 02 30.000000 1112190.99828 -4842954.61737 3985352.3681
+
+      2005 1 20 00 03 0.000000 1112189.92412 -4842954.29518 3985348.72842
+
+      2005 1 20 00 03 30.000000 1112189.16937 -4842954.31307 3985351.92146
+
+      2005 1 20 00 04 0.000000 1112191.62124 -4842955.6613 3985354.82972
+
+      2005 1 20 00 04 30.000000 1112188.66733 -4842953.49038 3985348.04322
+    </output>
+
+    \;
+  </session>>
+
+  <subsection|Customizing the Epoch Format>
+
+  The GPSTk library supports conversion among a number of time formats. This
+  conversion ability is provided to the end user of
+  <with|font-family|tt|rinexpvt> in the form of the <with|font-family|tt|-t>
+  command line switch and its argument, a string describing the time format.
+  The GPSTk documentation to DayTime's printf method contains a full list of
+  specifiers that can be used within the time format string. The following
+  table summarizes some of these options.
+
+  \;
+
+  <\with|par-mode|center>
+    <tabular|<tformat|<table|<row|<cell|%Y>|<cell|Four digit
+    year>>|<row|<cell|%y>|<cell|Year modulo 100>>|<row|<cell|%m>|<cell|Month
+    number>>|<row|<cell|%b>|<cell|Month name>>|<row|<cell|%d>|<cell|Day of
+    month>>|<row|<cell|%S>|<cell|Second of minute>>|<row|<cell|%F>|<cell|Full
+    GPS week>>|<row|<cell|%Z>|<cell|Z count>>|<row|<cell|%g>|<cell|Seconds of
+    week>>|<row|<cell|%j>|<cell|D<\float|float|tbh>
+      <big-table||>
+    </float>ay of year>>|<row|<cell|%s>|<cell|Seconds of
+    day>>|<row|<cell|%Q>|<cell|Modified Julian Date>>>>>
+  </with>
+
+  <\with|par-mode|center>
+    Table. Time Format Specifiers
+  </with>
+
+  \;
+
+  In the following example we see how to apply the format specifiers in the
+  form of a string.
+
+  <with|prog-language|shell|prog-session|default|<\session>
+    <\input|shell]>
+      rinexpvt -o usno0200.05o -n brdc0200.05n -m usno0200.05m -t "%F %g"\ 
+    </input>
+
+    <\output>
+      1306 345600.000000 1112192.67926 -4842951.98205 3985348.06329
+
+      1306 345630.000000 1112188.65938 -4842953.48346 3985351.48398
+
+      1306 345660.000000 1112189.48576 -4842957.45711 3985356.92698
+
+      1306 345690.000000 1112191.15384 -4842957.53284 3985355.11895
+
+      1306 345720.000000 1112191.1508 -4842955.89459 3985352.76549
+
+      1306 345750.000000 1112190.99828 -4842954.61737 3985352.3681
+
+      1306 345780.000000 1112189.92412 -4842954.29518 3985348.72842
+
+      1306 345810.000000 1112189.16937 -4842954.31307 3985351.92146
+
+      1306 345840.000000 1112191.62124 -4842955.6613 3985354.82972
+
+      1306 345870.000000 1112188.66733 -4842953.49038 3985348.04322
+    </output>
+
+    \;
+  </session>>
+
+  <section|References>
+
+  <\enumerate-numeric>
+    <item>The GPS Toolkit, GPSTk. Website: http://www.gpstk.org/.
+
+    <item>RINEX: The Receiver Independent Exchange Format Version 2.10.
+    Available on the web at http://www.ngs.noaa.gov/CORS/Rinex2.html.
+
+    <item>Hofmann-Wellenhoff, B., Lichtenegger, H., and Collins, J.
+    <with|font-shape|italic|Global Positioning Theory:>
+    <with|font-shape|italic|Theory and Practice>, fifth ed. Springer-Verlag.
+    2004.
+
+    <item>Parkinson, Bradford W. and Spilker, James J., editors. Global
+    Positioning Theory: Theory and Applications, Volume I. AIAA Press, 1996.
+
+    <item>Borre, Kai and Strang, Gilbert. <with|font-shape|italic|Linear
+    Algebra, Geodesy and GPS>. Wellesley-Cambridge Press, 1997.
+
+    <item>The GPS Interface Control Document (ICD-GPS-200), which can be
+    found at http://www.navcen.uscg.gov/ftp/policy/icd200/ICD200Cw1234.pdf.
+
+    <item>Goad, C. C. and Goodman, L. ``A modified tropospheric refraction
+    correction model.'' <with|font-shape|italic|Proceeding of the Annual
+    American Geophysical Union Fall Meeting>, San Francisco, 1974.
+  </enumerate-numeric>
+
+  \;
+</body>
+
+<\references>
+  <\collection>
+    <associate|auto-1|<tuple|1|1>>
+    <associate|auto-10|<tuple|4.2|3>>
+    <associate|auto-11|<tuple|4.3|4>>
+    <associate|auto-12|<tuple|4.4|4>>
+    <associate|auto-13|<tuple|4.5|4>>
+    <associate|auto-14|<tuple|4.6|5>>
+    <associate|auto-15|<tuple|1|?>>
+    <associate|auto-16|<tuple|5|5>>
+    <associate|auto-2|<tuple|2|1>>
+    <associate|auto-3|<tuple|3|2>>
+    <associate|auto-4|<tuple|3.1|2>>
+    <associate|auto-5|<tuple|1|2>>
+    <associate|auto-6|<tuple|3.2|2>>
+    <associate|auto-7|<tuple|3.3|2>>
+    <associate|auto-8|<tuple|4|3>>
+    <associate|auto-9|<tuple|4.1|3>>
+    <associate|toc-1|<tuple|1|?>>
+    <associate|toc-2|<tuple|2|?>>
+    <associate|toc-3|<tuple|3|?>>
+    <associate|toc-4|<tuple|4|?>>
+    <associate|toc-5|<tuple|5|?>>
+  </collection>
+</references>
+
+<\auxiliary>
+  <\collection>
+    <\associate|table>
+      <tuple|normal||<pageref|auto-15>>
+    </associate>
+    <\associate|toc>
+      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|1<space|2spc>Overview>
+      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-1><vspace|0.5fn>
+
+      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|2<space|2spc>Synopsis>
+      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-2><vspace|0.5fn>
+
+      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|3<space|2spc>Detailed
+      Description> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-3><vspace|0.5fn>
+
+      <with|par-left|<quote|1.5fn>|3.1<space|2spc>Observation Model
+      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-4>>
+
+      <with|par-left|<quote|6fn>| <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-5><vspace|0.15fn>>
+
+      <with|par-left|<quote|1.5fn>|3.2<space|2spc>Satellite Position Models
+      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-6>>
+
+      <with|par-left|<quote|1.5fn>|3.3<space|2spc>Delay Models
+      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-7>>
+
+      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|4<space|2spc>Examples
+      and Usage Notes> <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-8><vspace|0.5fn>
+
+      <with|par-left|<quote|1.5fn>|4.1<space|2spc>Generating Positions in WGS
+      84 Coordinates <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-9>>
+
+      <with|par-left|<quote|1.5fn>|4.2<space|2spc>Generating Positions in
+      East/North/Up Coordinates <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-10>>
+
+      <with|par-left|<quote|1.5fn>|4.3<space|2spc>Generating Positions using
+      Precise Ephemerides <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-11>>
+
+      <with|par-left|<quote|1.5fn>|4.4<space|2spc>Emulating Standard
+      Positioning Service (SPS) Performance
+      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-12>>
+
+      <with|par-left|<quote|1.5fn>|4.5<space|2spc>Emulating Precise
+      Positioning Service (PPS) Performance
+      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-13>>
+
+      <with|par-left|<quote|1.5fn>|4.6<space|2spc>Customizing the Epoch
+      Format <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-14>>
+
+      <vspace*|1fn><with|font-series|<quote|bold>|math-font-series|<quote|bold>|5<space|2spc>References>
+      <datoms|<macro|x|<repeat|<arg|x>|<with|font-series|medium|<with|font-size|1|<space|0.2fn>.<space|0.2fn>>>>>|<htab|5mm>>
+      <no-break><pageref|auto-16><vspace|0.5fn>
+    </associate>
+  </collection>
+</auxiliary>
\ No newline at end of file
diff --git a/trunk/apps/positioning/doc/usno0200.05m b/trunk/apps/positioning/doc/usno0200.05m
new file mode 100644
index 0000000..ecf9a7b
--- /dev/null
+++ b/trunk/apps/positioning/doc/usno0200.05m
@@ -0,0 +1,304 @@
+     2              METEOROLOGICAL DATA                     RINEX VERSION / TYPE
+GSOSMET V 1.0       GODC/NOAA           04/28/98 14:31:23   PGM / RUN BY / DATE
+Met sensors located on the rooftop of Bldg 52A at USNO at   COMMENT
+the opposite end of the bldg from the GPS antenna. The      COMMENT
+met package is from NOAA's Forecast System Lab.             COMMENT
+PR IS PRESSURE IN mbar; TD IS DRY TEMPERATURE IN deg CelsiusCOMMENT
+SP IS SEA LEVEL PRESSURE IN mbar; HR IS IN percent          COMMENT
+PR level is located above the GPS ARP about 28.5 inches:    COMMENT
+'PR sensor' minus 'GPS ARP' = 0.724 meters                  COMMENT
+USNO                                                        MARKER NAME
+     4    PR    TD    HR    SP                              # / TYPES OF OBSERV 
+NOAA GSOS           Vaisala PTB220                0.1    PR SENSOR MOD/TYPE/ACC 
+NOAA GSOS           Vaisala PT100 RTD             0.1    TD SENSOR MOD/TYPE/ACC 
+NOAA GSOS           Vaisala HUMICA                1.0    HR SENSOR MOD/TYPE/ACC 
+  1112189.903  -4842955.032   3985352.238         0.0    PR PR SENSOR POS XYZ/H 
+                                                            END OF HEADER
+ 05 01 20 00 00 00 1007.0   -5.9   89.0 1017.2 
+ 05 01 20 00 05 00 1006.9   -5.8   89.2 1017.2 
+ 05 01 20 00 10 00 1006.9   -5.8   89.2 1017.1 
+ 05 01 20 00 15 00 1006.9   -5.8   89.1 1017.1 
+ 05 01 20 00 20 00 1006.9   -5.8   89.1 1017.1 
+ 05 01 20 00 25 00 1006.8   -5.8   88.9 1017.0 
+ 05 01 20 00 30 00 1006.8   -5.7   89.1 1017.0 
+ 05 01 20 00 35 00 1006.8   -5.7   88.9 1017.0 
+ 05 01 20 00 40 00 1006.8   -5.6   88.9 1017.1 
+ 05 01 20 00 45 00 1006.8   -5.6   88.9 1017.1 
+ 05 01 20 00 50 00 1006.8   -5.5   88.8 1017.0 
+ 05 01 20 00 55 00 1006.8   -5.5   88.8 1017.0 
+ 05 01 20 01 00 00 1006.8   -5.5   88.8 1017.0 
+ 05 01 20 01 05 00 1006.7   -5.4   88.4 1017.0 
+ 05 01 20 01 10 00 1006.7   -5.4   88.3 1017.0 
+ 05 01 20 01 15 00 1006.7   -5.4   88.2 1017.0 
+ 05 01 20 01 20 00 1006.8   -5.3   88.3 1017.0 
+ 05 01 20 01 25 00 1006.7   -5.3   88.5 1017.0 
+ 05 01 20 01 30 00 1006.8   -5.3   88.4 1017.0 
+ 05 01 20 01 35 00 1006.8   -5.3   88.3 1017.0 
+ 05 01 20 01 40 00 1006.7   -5.2   88.2 1016.9 
+ 05 01 20 01 45 00 1006.7   -5.2   88.5 1016.9 
+ 05 01 20 01 50 00 1006.7   -5.1   88.5 1016.9 
+ 05 01 20 01 55 00 1006.7   -5.1   88.2 1016.9 
+ 05 01 20 02 00 00 1006.7   -5.0   88.3 1016.9 
+ 05 01 20 02 05 00 1006.7   -5.0   88.0 1016.9 
+ 05 01 20 02 10 00 1006.6   -5.0   87.7 1016.8 
+ 05 01 20 02 15 00 1006.6   -5.0   87.2 1016.8 
+ 05 01 20 02 20 00 1006.5   -5.0   86.6 1016.7 
+ 05 01 20 02 25 00 1006.4   -5.0   85.9 1016.6 
+ 05 01 20 02 30 00 1006.4   -4.9   86.5 1016.6 
+ 05 01 20 02 35 00 1006.4   -4.9   86.2 1016.6 
+ 05 01 20 02 40 00 1006.4   -4.9   85.3 1016.6 
+ 05 01 20 02 45 00 1006.4   -4.9   84.9 1016.6 
+ 05 01 20 02 50 00 1006.5   -4.8   84.2 1016.7 
+ 05 01 20 02 55 00 1006.4   -4.8   84.5 1016.6 
+ 05 01 20 03 00 00 1006.4   -4.8   84.8 1016.6 
+ 05 01 20 03 05 00 1006.4   -4.7   85.3 1016.6 
+ 05 01 20 03 10 00 1006.3   -4.7   84.2 1016.5 
+ 05 01 20 03 15 00 1006.4   -4.7   83.6 1016.6 
+ 05 01 20 03 20 00 1006.4   -4.7   82.5 1016.6 
+ 05 01 20 03 25 00 1006.4   -4.6   83.0 1016.6 
+ 05 01 20 03 30 00 1006.3   -4.6   82.6 1016.5 
+ 05 01 20 03 35 00 1006.3   -4.6   82.3 1016.5 
+ 05 01 20 03 40 00 1006.2   -4.6   81.7 1016.4 
+ 05 01 20 03 45 00 1006.3   -4.5   82.5 1016.5 
+ 05 01 20 03 50 00 1006.2   -4.5   82.3 1016.4 
+ 05 01 20 03 55 00 1006.2   -4.5   82.6 1016.4 
+ 05 01 20 04 00 00 1006.0   -4.5   81.8 1016.2 
+ 05 01 20 04 05 00 1006.0   -4.4   82.7 1016.2 
+ 05 01 20 04 10 00 1006.1   -4.4   82.3 1016.3 
+ 05 01 20 04 15 00 1006.1   -4.4   82.4 1016.3 
+ 05 01 20 04 20 00 1006.0   -4.4   81.4 1016.2 
+ 05 01 20 04 25 00 1006.0   -4.3   81.8 1016.2 
+ 05 01 20 04 30 00 1006.0   -4.3   80.9 1016.2 
+ 05 01 20 04 35 00 1005.8   -4.3   81.4 1016.0 
+ 05 01 20 04 40 00 1005.9   -4.3   81.2 1016.1 
+ 05 01 20 04 45 00 1005.8   -4.3   81.2 1016.0 
+ 05 01 20 04 50 00 1005.7   -4.3   80.1 1015.9 
+ 05 01 20 04 55 00 1005.6   -4.2   80.3 1015.8 
+ 05 01 20 05 00 00 1005.7   -4.2   80.5 1015.9 
+ 05 01 20 05 05 00 1005.7   -4.2   80.3 1015.9 
+ 05 01 20 05 10 00 1005.7   -4.2   79.9 1015.9 
+ 05 01 20 05 15 00 1005.8   -4.2   79.1 1016.0 
+ 05 01 20 05 20 00 1005.8   -4.1   79.6 1016.0 
+ 05 01 20 05 25 00 1005.7   -4.1   79.3 1015.9 
+ 05 01 20 05 30 00 1005.7   -4.1   78.7 1015.9 
+ 05 01 20 05 35 00 1005.7   -4.1   78.7 1015.9 
+ 05 01 20 05 40 00 1005.7   -4.1   78.7 1015.9 
+ 05 01 20 05 45 00 1005.6   -4.0   78.7 1015.8 
+ 05 01 20 05 50 00 1005.6   -4.0   78.2 1015.8 
+ 05 01 20 05 55 00 1005.6   -4.0   78.2 1015.8 
+ 05 01 20 06 00 00 1005.5   -4.0   77.8 1015.7 
+ 05 01 20 06 05 00 1005.4   -4.0   77.6 1015.6 
+ 05 01 20 06 10 00 1005.3   -3.9   77.3 1015.5 
+ 05 01 20 06 15 00 1005.4   -3.9   76.8 1015.6 
+ 05 01 20 06 20 00 1005.4   -3.9   76.2 1015.6 
+ 05 01 20 06 25 00 1005.3   -3.9   75.7 1015.5 
+ 05 01 20 06 30 00 1005.2   -3.8   75.4 1015.4 
+ 05 01 20 06 35 00 1005.2   -3.8   75.3 1015.4 
+ 05 01 20 06 40 00 1005.2   -3.8   74.8 1015.4 
+ 05 01 20 06 45 00 1005.2   -3.8   74.4 1015.4 
+ 05 01 20 06 50 00 1005.2   -3.8   74.1 1015.4 
+ 05 01 20 06 55 00 1005.1   -3.8   74.1 1015.3 
+ 05 01 20 07 00 00 1005.1   -3.7   73.9 1015.3 
+ 05 01 20 07 05 00 1005.0   -3.7   73.5 1015.2 
+ 05 01 20 07 10 00 1005.0   -3.7   72.7 1015.2 
+ 05 01 20 07 15 00 1005.0   -3.6   72.8 1015.2 
+ 05 01 20 07 20 00 1005.0   -3.6   72.3 1015.2 
+ 05 01 20 07 25 00 1005.0   -3.6   71.9 1015.2 
+ 05 01 20 07 30 00 1005.1   -3.5   71.7 1015.2 
+ 05 01 20 07 35 00 1005.0   -3.5   71.4 1015.2 
+ 05 01 20 07 40 00 1005.1   -3.5   71.4 1015.3 
+ 05 01 20 07 45 00 1005.1   -3.5   71.1 1015.3 
+ 05 01 20 07 50 00 1005.1   -3.5   70.8 1015.3 
+ 05 01 20 07 55 00 1005.1   -3.4   70.9 1015.3 
+ 05 01 20 08 00 00 1005.1   -3.4   70.4 1015.3 
+ 05 01 20 08 05 00 1005.1   -3.4   70.5 1015.2 
+ 05 01 20 08 10 00 1005.0   -3.4   70.3 1015.2 
+ 05 01 20 08 15 00 1005.0   -3.3   70.5 1015.2 
+ 05 01 20 08 20 00 1005.0   -3.3   70.1 1015.2 
+ 05 01 20 08 25 00 1005.0   -3.3   70.6 1015.1 
+ 05 01 20 08 30 00 1005.0   -3.3   71.0 1015.1 
+ 05 01 20 08 35 00 1005.0   -3.3   71.3 1015.1 
+ 05 01 20 08 40 00 1005.0   -3.3   70.9 1015.2 
+ 05 01 20 08 45 00 1005.0   -3.3   70.3 1015.2 
+ 05 01 20 08 50 00 1005.0   -3.3   70.4 1015.2 
+ 05 01 20 08 55 00 1005.0   -3.3   70.2 1015.1 
+ 05 01 20 09 00 00 1005.0   -3.2   69.6 1015.2 
+ 05 01 20 09 05 00 1005.1   -3.2   69.4 1015.2 
+ 05 01 20 09 10 00 1005.1   -3.1   69.2 1015.2 
+ 05 01 20 09 15 00 1005.1   -3.1   69.3 1015.3 
+ 05 01 20 09 20 00 1005.1   -3.1   69.6 1015.2 
+ 05 01 20 09 25 00 1005.1   -3.1   70.8 1015.2 
+ 05 01 20 09 30 00 1005.1   -3.1   69.7 1015.3 
+ 05 01 20 09 35 00 1005.1   -3.1   69.7 1015.3 
+ 05 01 20 09 40 00 1005.1   -3.1   69.3 1015.3 
+ 05 01 20 09 45 00 1005.2   -3.1   69.6 1015.3 
+ 05 01 20 09 50 00 1005.2   -3.1   70.1 1015.4 
+ 05 01 20 09 55 00 1005.2   -3.1   70.4 1015.4 
+ 05 01 20 10 00 00 1005.2   -3.1   70.5 1015.4 
+ 05 01 20 10 05 00 1005.2   -3.0   70.9 1015.4 
+ 05 01 20 10 10 00 1005.3   -3.0   70.4 1015.4 
+ 05 01 20 10 15 00 1005.3   -3.0   69.9 1015.5 
+ 05 01 20 10 20 00 1005.3   -3.0   70.1 1015.5 
+ 05 01 20 10 25 00 1005.4   -3.0   71.0 1015.6 
+ 05 01 20 10 30 00 1005.5   -3.0   71.4 1015.6 
+ 05 01 20 10 35 00 1005.5   -3.0   70.9 1015.7 
+ 05 01 20 10 40 00 1005.5   -2.9   71.5 1015.7 
+ 05 01 20 10 45 00 1005.5   -2.9   71.3 1015.7 
+ 05 01 20 10 50 00 1005.5   -2.8   71.1 1015.7 
+ 05 01 20 10 55 00 1005.5   -2.8   70.6 1015.7 
+ 05 01 20 11 00 00 1005.6   -2.7   70.6 1015.8 
+ 05 01 20 11 05 00 1005.6   -2.7   70.5 1015.8 
+ 05 01 20 11 10 00 1005.7   -2.6   70.3 1015.9 
+ 05 01 20 11 15 00 1005.7   -2.6   69.9 1015.9 
+ 05 01 20 11 20 00 1005.7   -2.7   70.0 1015.9 
+ 05 01 20 11 25 00 1005.8   -2.7   70.1 1016.0 
+ 05 01 20 11 30 00 1005.9   -2.8   70.6 1016.1 
+ 05 01 20 11 35 00 1005.9   -2.8   70.9 1016.1 
+ 05 01 20 11 40 00 1006.0   -2.7   71.0 1016.1 
+ 05 01 20 11 45 00 1006.0   -2.7   70.9 1016.2 
+ 05 01 20 11 50 00 1006.0   -2.7   71.0 1016.2 
+ 05 01 20 11 55 00 1006.1   -2.7   71.2 1016.2 
+ 05 01 20 12 00 00 1006.1   -2.6   71.1 1016.2 
+ 05 01 20 12 05 00 1006.2   -2.5   70.9 1016.3 
+ 05 01 20 12 10 00 1006.2   -2.3   70.7 1016.4 
+ 05 01 20 12 15 00 1006.3   -2.3   70.5 1016.4 
+ 05 01 20 12 20 00 1006.3   -2.2   70.5 1016.5 
+ 05 01 20 12 25 00 1006.4   -2.2   70.6 1016.5 
+ 05 01 20 12 30 00 1006.5   -2.1   70.6 1016.7 
+ 05 01 20 12 35 00 1006.6   -2.1   70.4 1016.7 
+ 05 01 20 12 40 00 1006.5   -2.1   70.3 1016.7 
+ 05 01 20 12 45 00 1006.5   -2.2   70.9 1016.7 
+ 05 01 20 12 50 00 1006.5   -2.0   69.2 1016.7 
+ 05 01 20 12 55 00 1006.6   -1.9   68.7 1016.8 
+ 05 01 20 13 00 00 1006.7   -1.9   68.4 1016.9 
+ 05 01 20 13 05 00 1006.8   -1.8   69.0 1017.0 
+ 05 01 20 13 10 00 1006.9   -1.8   68.8 1017.1 
+ 05 01 20 13 15 00 1007.0   -1.8   68.8 1017.1 
+ 05 01 20 13 20 00 1007.0   -1.8   68.7 1017.1 
+ 05 01 20 13 25 00 1006.9   -1.7   66.7 1017.1 
+ 05 01 20 13 30 00 1006.9   -1.7   66.3 1017.0 
+ 05 01 20 13 35 00 1006.9   -1.7   66.6 1017.0 
+ 05 01 20 13 40 00 1006.9   -1.7   66.8 1017.1 
+ 05 01 20 13 45 00 1007.0   -1.7   67.6 1017.1 
+ 05 01 20 13 50 00 1007.1   -1.6   68.0 1017.2 
+ 05 01 20 13 55 00 1007.2   -1.5   66.7 1017.4 
+ 05 01 20 14 00 00 1007.3   -1.2   65.4 1017.5 
+ 05 01 20 14 05 00 1007.3   -0.9   62.2 1017.5 
+ 05 01 20 14 10 00 1007.3   -0.8   60.9 1017.5 
+ 05 01 20 14 15 00 1007.4   -0.7   59.7 1017.5 
+ 05 01 20 14 20 00 1007.5   -0.5   58.7 1017.6 
+ 05 01 20 14 25 00 1007.6   -0.3   57.1 1017.8 
+ 05 01 20 14 30 00 1007.7   -0.1   55.6 1017.8 
+ 05 01 20 14 35 00 1007.7    0.1   54.8 1017.9 
+ 05 01 20 14 40 00 1007.7    0.1   53.6 1017.9 
+ 05 01 20 14 45 00 1007.8    0.3   52.6 1017.9 
+ 05 01 20 14 50 00 1007.9    0.2   51.7 1018.0 
+ 05 01 20 14 55 00 1007.9    0.2   50.4 1018.1 
+ 05 01 20 15 00 00 1007.9    0.2   49.6 1018.0 
+ 05 01 20 15 05 00 1007.8    0.3   50.2 1017.9 
+ 05 01 20 15 10 00 1007.8    0.3   48.7 1017.9 
+ 05 01 20 15 15 00 1007.8    0.4   47.5 1018.0 
+ 05 01 20 15 20 00 1007.9    0.5   46.4 1018.0 
+ 05 01 20 15 25 00 1007.9    0.5   46.1 1018.1 
+ 05 01 20 15 30 00 1007.9    0.6   46.1 1018.1 
+ 05 01 20 15 35 00 1007.9    0.7   45.8 1018.0 
+ 05 01 20 15 40 00 1007.8    0.6   45.8 1018.0 
+ 05 01 20 15 45 00 1007.8    0.6   46.2 1018.0 
+ 05 01 20 15 50 00 1007.9    0.5   46.0 1018.0 
+ 05 01 20 15 55 00 1007.8    0.5   46.7 1017.9 
+ 05 01 20 16 00 00 1007.8    0.4   46.4 1017.9 
+ 05 01 20 16 05 00 1007.6    0.3   47.7 1017.8 
+ 05 01 20 16 10 00 1007.6    0.3   47.0 1017.7 
+ 05 01 20 16 15 00 1007.6    0.4   46.7 1017.7 
+ 05 01 20 16 20 00 1007.6    0.4   46.8 1017.7 
+ 05 01 20 16 25 00 1007.6    0.5   47.2 1017.7 
+ 05 01 20 16 30 00 1007.5    0.6   47.3 1017.6 
+ 05 01 20 16 35 00 1007.4    0.5   47.0 1017.5 
+ 05 01 20 16 40 00 1007.2    0.5   47.1 1017.3 
+ 05 01 20 16 45 00 1007.1    0.6   46.8 1017.3 
+ 05 01 20 16 50 00 1007.1    0.6   46.6 1017.3 
+ 05 01 20 16 55 00 1007.2    0.7   46.1 1017.3 
+ 05 01 20 17 00 00 1007.2    0.7   45.4 1017.3 
+ 05 01 20 17 05 00 1007.1    0.8   45.5 1017.2 
+ 05 01 20 17 10 00 1007.1    0.9   45.4 1017.2 
+ 05 01 20 17 15 00 1007.0    1.2   45.6 1017.1 
+ 05 01 20 17 20 00 1006.8    1.5   44.8 1016.9 
+ 05 01 20 17 25 00 1006.6    1.6   44.7 1016.7 
+ 05 01 20 17 30 00 1006.5    1.8   43.6 1016.6 
+ 05 01 20 17 35 00 1006.5    2.3   42.3 1016.6 
+ 05 01 20 17 40 00 1006.5    2.3   42.2 1016.6 
+ 05 01 20 17 45 00 1006.4    2.1   41.8 1016.5 
+ 05 01 20 17 50 00 1006.2    2.4   42.1 1016.3 
+ 05 01 20 17 55 00 1006.1    2.3   42.0 1016.2 
+ 05 01 20 18 00 00 1006.0    1.9   42.5 1016.1 
+ 05 01 20 18 05 00 1006.0    1.5   43.8 1016.1 
+ 05 01 20 18 10 00 1006.0    1.5   44.3 1016.1 
+ 05 01 20 18 15 00 1005.8    1.5   44.5 1015.9 
+ 05 01 20 18 20 00 1005.8    1.8   44.2 1015.9 
+ 05 01 20 18 25 00 1005.7    1.9   42.7 1015.8 
+ 05 01 20 18 30 00 1005.8    1.9   42.3 1015.9 
+ 05 01 20 18 35 00 1005.8    1.9   43.1 1015.9 
+ 05 01 20 18 40 00 1005.7    2.1   42.4 1015.8 
+ 05 01 20 18 45 00 1005.5    2.0   42.0 1015.6 
+ 05 01 20 18 50 00 1005.4    2.2   41.9 1015.5 
+ 05 01 20 18 55 00 1005.3    2.5   42.3 1015.4 
+ 05 01 20 19 00 00 1005.1    2.5   41.1 1015.1 
+ 05 01 20 19 05 00 1005.1    2.5   41.4 1015.1 
+ 05 01 20 19 10 00 1004.9    2.6   41.0 1015.0 
+ 05 01 20 19 15 00 1004.9    2.7   41.2 1015.0 
+ 05 01 20 19 20 00 1005.0    2.9   40.6 1015.0 
+ 05 01 20 19 25 00 1005.0    2.9   40.9 1015.1 
+ 05 01 20 19 30 00 1005.1    2.6   41.4 1015.2 
+ 05 01 20 19 35 00 1004.9    2.7   41.6 1015.0 
+ 05 01 20 19 40 00 1004.8    2.6   41.3 1014.9 
+ 05 01 20 19 45 00 1004.9    2.3   42.7 1014.9 
+ 05 01 20 19 50 00 1004.9    2.0   43.9 1015.0 
+ 05 01 20 19 55 00 1004.9    1.9   44.6 1015.0 
+ 05 01 20 20 00 00 1004.9    1.9   44.9 1015.0 
+ 05 01 20 20 05 00 1004.9    1.9   44.8 1014.9 
+ 05 01 20 20 10 00 1004.8    2.0   45.2 1014.8 
+ 05 01 20 20 15 00 1004.7    2.1   45.7 1014.8 
+ 05 01 20 20 20 00 1004.7    1.9   45.4 1014.8 
+ 05 01 20 20 25 00 1004.7    1.6   45.8 1014.8 
+ 05 01 20 20 30 00 1004.6    1.6   46.9 1014.6 
+ 05 01 20 20 35 00 1004.5    1.8   46.2 1014.6 
+ 05 01 20 20 40 00 1004.5    1.9   46.3 1014.6 
+ 05 01 20 20 45 00 1004.5    2.0   46.1 1014.6 
+ 05 01 20 20 50 00 1004.5    1.8   45.4 1014.5 
+ 05 01 20 20 55 00 1004.4    1.8   46.1 1014.5 
+ 05 01 20 21 00 00 1004.3    1.8   46.2 1014.4 
+ 05 01 20 21 05 00 1004.3    1.8   46.9 1014.4 
+ 05 01 20 21 10 00 1004.4    1.9   46.9 1014.5 
+ 05 01 20 21 15 00 1004.3    1.8   46.3 1014.4 
+ 05 01 20 21 20 00 1004.3    1.7   47.2 1014.4 
+ 05 01 20 21 25 00 1004.4    1.8   47.2 1014.4 
+ 05 01 20 21 30 00 1004.4    1.8   46.6 1014.5 
+ 05 01 20 21 35 00 1004.4    1.7   46.6 1014.5 
+ 05 01 20 21 40 00 1004.3    1.7   46.7 1014.4 
+ 05 01 20 21 45 00 1004.4    1.6   46.4 1014.4 
+ 05 01 20 21 50 00 1004.4    1.6   45.6 1014.5 
+ 05 01 20 21 55 00 1004.5    1.6   46.3 1014.6 
+ 05 01 20 22 00 00 1004.6    1.5   46.4 1014.7 
+ 05 01 20 22 05 00 1004.6    1.4   46.4 1014.7 
+ 05 01 20 22 10 00 1004.6    1.4   46.3 1014.6 
+ 05 01 20 22 15 00 1004.6    1.4   46.4 1014.7 
+ 05 01 20 22 20 00 1004.7    1.3   47.2 1014.8 
+ 05 01 20 22 25 00 1004.6    1.3   47.1 1014.7 
+ 05 01 20 22 30 00 1004.7    1.2   48.4 1014.7 
+ 05 01 20 22 35 00 1004.6    1.1   48.9 1014.7 
+ 05 01 20 22 40 00 1004.6    1.0   49.7 1014.7 
+ 05 01 20 22 45 00 1004.6    0.9   49.3 1014.7 
+ 05 01 20 22 50 00 1004.6    0.9   49.8 1014.7 
+ 05 01 20 22 55 00 1004.7    0.9   49.6 1014.8 
+ 05 01 20 23 00 00 1004.7    0.8   50.6 1014.8 
+ 05 01 20 23 05 00 1004.7    0.8   50.7 1014.8 
+ 05 01 20 23 10 00 1004.7    0.7   50.7 1014.8 
+ 05 01 20 23 15 00 1004.7    0.6   51.0 1014.8 
+ 05 01 20 23 20 00 1004.9    0.6   51.7 1015.0 
+ 05 01 20 23 25 00 1005.0    0.5   51.9 1015.1 
+ 05 01 20 23 30 00 1005.0    0.5   51.8 1015.1 
+ 05 01 20 23 35 00 1005.1    0.5   52.0 1015.2 
+ 05 01 20 23 40 00 1005.2    0.4   50.9 1015.3 
+ 05 01 20 23 45 00 1005.2    0.3   50.7 1015.3 
+ 05 01 20 23 50 00 1005.1    0.3   50.4 1015.2 
+ 05 01 20 23 55 00 1005.2    0.2   49.3 1015.3 
diff --git a/trunk/apps/positioning/doc/usno0200.05o b/trunk/apps/positioning/doc/usno0200.05o
new file mode 100644
index 0000000..0e57cd2
--- /dev/null
+++ b/trunk/apps/positioning/doc/usno0200.05o
@@ -0,0 +1,51808 @@
+     2.10           OBSERVATION DATA    G (GPS)             RINEX VERSION / TYPE
+teqc  2002Mar14                         20050121 01:02:50UTCPGM / RUN BY / DATE
+HP-UX 10.20|PA-RISC|cc A.10.32.03|=+|=|                     COMMENT
+teqc  2002Mar14     GRD/NGS/NOAA        20050121 00:54:28UTCCOMMENT
+teqc  2002Mar14     GRD/NGS/NOAA        20050120 01:02:11UTCCOMMENT
+BIT 2 OF LLI FLAGS DATA COLLECTED UNDER A/S CONDITION       COMMENT
+USNO                                                        MARKER NAME
+40451S003                                                   MARKER NUMBER
+USNO                USNO                                    OBSERVER / AGENCY
+RT919994503         ASHTECH Z-XII3T     1L01-1D04           REC # / TYPE / VERS
+309                 AOAD/M_T        NONE                    ANT # / TYPE
+  1112189.9031 -4842955.0319  3985352.2376                  APPROX POSITION XYZ
+        0.0000        0.0000        0.0000                  ANTENNA: DELTA H/E/N
+     1     1                                                WAVELENGTH FACT L1/2
+     7    C1    L1    L2    P1    P2    D1    D2            # / TYPES OF OBSERV
+    30.0000                                                 INTERVAL
+ SNR is mapped to RINEX snr flag value [1-9]                COMMENT
+  L1: 1 -> 1;  90 -> 5; 210 -> 9                            COMMENT
+  L2: 1 -> 1; 150 -> 5; 250 -> 9                            COMMENT
+Forced Modulo Decimation to 30 seconds                      COMMENT
+  2005     1    20     0     0    0.0000000     GPS         TIME OF FIRST OBS
+                                                            END OF HEADER
+ 05  1 20  0  0  0.0000000  0 10G30G 6G17G27G 2G 8G26G29G21G10
+  25128562.1364    4545549.90249   3555415.16945  25128562.4674   25128572.0884
+     -2694.6624      -2099.7404
+  21453377.6314  -18821415.41049 -14641666.63648  21453377.6524   21453383.0924
+       957.0514        745.7544
+  20636631.4414  -26210159.33049 -20402628.01248  20636630.9184   20636636.8604
+      -408.5724       -318.3724
+  25422813.4284    -876260.55548     -1490.04444
+        54.5964         43.7264
+  21945656.4674  -18794404.52949 -14605938.86647  21945656.1254   21945659.2064
+     -2359.6874      -1838.7184
+  25014611.6624    -968730.01649   -746502.64445  25014611.9784   25014620.4564
+      1484.7814       1156.9704
+  21348900.4714  -17227655.33549 -13115418.92547  21348900.4884   21348906.2674
+      3206.9014       2498.8814
+  20957557.7284  -22996005.41749 -17868683.97948  20957557.6194   20957563.4264
+      1898.3654       1479.2414
+  24252299.8924   -3196525.12049  -2237654.61945  24252299.1474   24252302.6724
+      3062.2034       2386.1264
+  20823923.9814  -20246470.93149 -15754394.42648  20823923.0264   20823928.7234
+     -1734.9424      -1351.9034
+ 05  1 20  0  0 30.0000000  0 10G30G 6G17G27G 2G 8G26G29G21G10
+  25143943.7494    4626385.90149   3618404.29145  25143943.3214   25143951.7164
+     -2694.2904      -2099.4444
+  21447964.9034  -18849859.79749 -14663831.05848  21447964.7404   21447970.4584
+       938.9424        731.6344
+  20638993.7034  -26197744.17149 -20392953.85048  20638993.6344   20638999.4084
+      -419.1724       -326.6314
+  25422542.9034    -877690.81848     -2639.37244
+        40.4914         32.6874
+  21959152.5244  -18723478.40049 -14550671.77347  21959152.7364   21959155.7834
+     -2368.7294      -1845.7704
+  25006175.7094   -1013080.15249   -781061.21245  25006175.0964   25006180.9664
+      1471.9004       1146.9364
+  21330633.0034  -17323651.59649 -13190221.15647  21330633.3854   21330638.7594
+      3192.7784       2487.8754
+  20946769.7454  -23052698.53049 -17912860.39548  20946769.6254   20946774.9974
+      1881.1984       1465.8664
+  24234812.1924   -3288402.16149  -2309246.95145  24234812.6744   24234819.3444
+      3062.8464       2386.6284
+  20833852.0714  -20194295.18649 -15713737.98848  20833851.6734   20833857.3044
+     -1743.4564      -1358.5424
+ 05  1 20  0  1  0.0000000  0 10G30G 6G17G27G 2G 8G26G29G21G10
+  25159327.3604    4707205.96849   3681381.06645  25159326.0824   25159331.8434
+     -2693.6624      -2098.9634
+  21442654.9974  -18877760.05749 -14685571.49148  21442655.3104   21442661.3054
+       920.7884        717.4974
+  20641417.4924  -26185010.00349 -20383031.10748  20641416.7324   20641422.4204
+      -429.8264       -334.9294
+  25422350.090
+
+  21972701.4744  -18652281.02849 -14495193.29747  21972701.0314   21972703.6634
+     -2377.7674      -1852.8104
+  24997810.2244   -1057043.49349   -815318.30845  24997808.6354   24997811.8904
+      1458.9824       1136.8714
+  21312446.6474  -17419222.47849 -13264691.92047  21312446.5964   21312452.0364
+      3178.5754       2476.8114
+  20936079.9524  -23108876.56449 -17956635.44948  20936079.3374   20936084.3104
+      1864.0624       1452.5154
+  24217326.5464   -3380297.61749  -2380853.67145  24217325.3814   24217331.5554
+      3063.4764       2387.1124
+  20843829.6864  -20141864.50849 -15672882.88748  20843828.8334   20843834.6284
+     -1751.9084      -1365.1224
+ 05  1 20  0  1 30.0000000  0  9G30G 6G17G 2G 8G26G29G21G10
+  25174704.7344    4788007.24449   3744343.19045  25174703.1574   25174710.6634
+     -2693.0334      -2098.4654
+  21437451.1684  -18905115.12149 -14706887.09348  21437450.3964   21437455.8114
+       902.5984        703.3224
+  20643901.3154  -26171955.85349 -20372859.03148  20643900.6494   20643906.9254
+      -440.4804       -343.2344
+  21986299.9444  -18580813.20049 -14439504.08947  21986300.2784   21986303.9624
+     -2386.7724      -1859.8234
+  24989518.1184   -1100617.63349   -849272.19245  24989518.0374   24989522.4094
+      1445.9484       1126.7194
+  21294341.2904  -17514364.80549 -13338828.74147  21294341.4714   21294347.0244
+      3164.2284       2465.6244
+  20925487.6564  -23164538.08449 -18000008.03348  20925487.8344   20925492.5754
+      1846.7734       1439.0394
+  24199835.0654   -3472210.24849  -2452473.81045  24199836.2154   24199841.0304
+      3064.0244       2387.5524
+  20853854.8404  -20089180.27949 -15631830.23048  20853854.2144   20853860.0764
+     -1760.3404      -1371.7014
+ 05  1 20  0  2  0.0000000  0  9G30G 6G17G 2G 8G26G29G21G10
+  25190072.7374    4868786.93849   3807288.42345  25190072.9564   25190080.2984
+     -2692.1854      -2097.8094
+  21432348.9774  -18931924.02549 -14727777.12548  21432348.7364   21432354.2404
+       884.3914        689.1404
+  20646446.9574  -26158581.04149 -20362437.09048  20646446.3214   20646451.8964
+      -451.2014       -351.5864
+  21999951.7424  -18509075.20349 -14383604.34847  21999951.5334   21999955.8124
+     -2395.7564      -1866.8234
+  24981301.6494   -1143800.55549   -882921.24945  24981300.9274   24981306.1804
+      1432.8924       1116.5394
+  21276318.3334  -17609075.53849 -13412629.25647  21276318.6784   21276323.8144
+      3149.7874       2454.3804
+  20914994.3994  -23219681.18949 -18042976.64948  20914994.0954   20914998.9414
+      1829.5034       1425.5864
+  24182343.6274   -3564139.35149  -2524106.80045  24182342.7274   24182347.3334
+      3064.5824       2387.9824
+  20863929.0634  -20036244.37349 -15590581.45948  20863927.7424   20863933.0844
+     -1768.6984      -1378.2074
+ 05  1 20  0  2 30.0000000  0  9G30G 6G17G 2G 8G26G29G21G10
+  25205441.3774    4949542.18649   3870214.61345  25205439.9744   25205447.6374
+     -2691.4474      -2097.2304
+  21427351.0734  -18958185.44149 -14748240.53448  21427351.1054   21427356.5594
+       866.1114        674.8854
+  20649052.6334  -26144884.58749 -20351764.51848  20649052.0884   20649057.9254
+      -461.9494       -359.9624
+  22013655.4084  -18437067.25249 -14327494.27147  22013654.7224   22013658.2594
+     -2404.7744      -1873.8524
+  24973157.6574   -1186589.31949   -916263.07245  24973156.5824   24973162.1274
+      1419.6764       1106.2394
+  21258378.6264  -17703351.62549 -13486091.09747  21258378.3414   21258383.9074
+      3135.2504       2443.0504
+  20904600.1264  -23274304.28349 -18085540.06348  20904599.4684   20904604.4544
+      1812.1394       1412.0534
+  24164846.7984   -3656084.19949  -2595751.99245  24164845.5664   24164850.3194
+      3065.0744       2388.3654
+  20874049.3424  -19983058.48849 -15549137.89848  20874048.7904   20874054.5494
+     -1777.0284      -1384.6964
+ 05  1 20  0  3  0.0000000  0  9G30G 6G17G 2G 8G26G29G21G10
+  25220802.6194    5030270.05949   3933119.47445  25220800.6164   25220810.6214
+     -2690.3364      -2096.3764
+  21422458.4034  -18983898.46749 -14768276.62648  21422458.3094   21422463.5664
+       847.8044        660.6254
+  20651720.3964  -26130865.72349 -20340840.71748  20651720.1124   20651725.3384
+      -472.7214       -368.3594
+  22027408.9624  -18364789.96749 -14271174.32447  22027408.8874   22027411.8954
+     -2413.7294      -1880.8204
+  24965089.4714   -1228982.00449   -949296.29745  24965089.5334   24965094.8654
+      1406.4584       1095.9414
+  21240520.3624  -17797190.10749 -13559211.92947  21240521.1974   21240527.4544
+      3120.6394       2431.6564
+  20894304.2164  -23328405.94949 -18127697.17048  20894304.2014   20894309.3714
+      1794.6894       1398.4534
+  24147348.2894   -3748043.81849  -2667408.73345  24147347.2594   24147352.4984
+      3065.4994       2388.6994
+  20884217.6824  -19929624.31349 -15507500.86348  20884217.0604   20884222.7554
+     -1785.2694      -1391.1234
+ 05  1 20  0  3 30.0000000  0  8G 6G17G 2G 8G26G29G21G10
+  21417669.9294  -19009062.10749 -14787884.62748  21417670.0394   21417675.1894
+       829.4754        646.3434
+  20654450.1834  -26116523.47949 -20329664.93048  20654449.3944   20654454.8554
+      -483.4974       -376.7534
+  22041214.6734  -18292243.95949 -14214644.94947  22041213.8874   22041217.3804
+     -2422.6924      -1887.8144
+  24957099.6524   -1270976.21849   -982019.02645  24957099.0394   24957103.4834
+      1393.2094       1085.6204
+  21222748.5304  -17890587.78649 -13631989.29647  21222748.4084   21222753.5354
+      3105.8644       2420.1554
+  20884109.2094  -23381984.46649 -18169446.63848  20884108.6384   20884113.6044
+      1777.2414       1384.8604
+  24129843.2834   -3840017.29549  -2739076.24545  24129843.2794   24129849.4554
+      3065.9414       2389.0404
+  20894432.6974  -19875943.56449 -15465671.68648  20894432.2314   20894437.6834
+     -1793.4614      -1397.5014
+ 05  1 20  0  4  0.0000000  0  8G 6G17G 2G 8G26G29G21G10
+  21412986.6064  -19033675.24949 -14807063.66848  21412985.9944   21412991.2974
+       811.0984        632.0224
+  20657239.9504  -26101856.97449 -20318236.46948  20657239.6674   20657246.1164
+      -494.3374       -385.1974
+  22055070.8174  -18219429.42449 -14157906.35647  22055070.6064   22055073.1064
+     -2431.6274      -1894.7734
+  24949184.7934   -1312569.15949  -1014429.07945  24949184.0874   24949190.1954
+      1379.6294       1075.0344
+  21205060.2124  -17983541.87849 -13704421.01147  21205060.2804   21205065.6294
+      3091.0234       2408.5834
+  20874012.5184  -23435038.35849 -18210787.29648  20874012.5924   20874018.1114
+      1759.7414       1371.2224
+  24112340.2534   -3932003.63749  -2810753.81345  24112340.2014   24112344.7104
+      3066.3984       2389.3964
+  20904694.3144  -19822017.56649 -15423651.40848  20904693.5664   20904699.5904
+     -1801.6184      -1403.8604
+ 05  1 20  0  4 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25402857.2904    -346075.98649   -251487.40745  25402860.7434   25402870.9874
+      2921.4434       2276.4394
+  21408406.9384  -19057736.72649 -14825812.83748  21408407.0394   21408412.3914
+       792.7094        617.6894
+  20660093.5194  -26086865.15149 -20306554.51948  20660092.8294   20660098.6274
+      -505.1674       -393.6404
+  22068978.1134  -18146346.97649 -14100958.99447  22068977.8254   22068980.5214
+     -2440.5474      -1901.7314
+  24941347.2074   -1353759.08449  -1046525.09645  24941346.0564   24941351.4384
+      1366.2844       1064.6384
+  21187456.9634  -18076049.19749 -13776504.58447  21187456.8644   21187461.8254
+      3076.1184       2396.9714
+  20864017.0914  -23487565.92149 -18251717.83148  20864017.1594   20864022.0944
+      1742.1814       1357.5424
+  24094832.1314   -4024001.95949  -2882440.69545  24094833.5014   24094837.5724
+      3066.7354       2389.6564
+  20915002.4634  -19767848.16349 -15381441.47248  20915002.0004   20915007.1994
+     -1809.6694      -1410.1384
+ 05  1 20  0  5  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25386194.3774    -433672.77349   -319744.48445  25386194.2904   25386202.8694
+      2918.3054       2273.9934
+  21403933.8324  -19081245.88749 -14844131.63048  21403933.3564   21403938.7034
+       774.3144        603.3604
+  20663008.3634  -26071547.45449 -20294618.63548  20663007.6274   20663013.8114
+      -516.0634       -402.1294
+  22082935.4174  -18072997.20549 -14043803.31147  22082935.3014   22082939.1794
+     -2449.4294      -1908.6474
+  24933584.2534   -1394543.94749  -1078305.52245  24933583.5704   24933589.5534
+      1352.7844       1054.1164
+  21169938.5564  -18168106.84749 -13848237.76547  21169938.6694   21169943.5374
+      3061.0584       2385.2354
+  20854121.5804  -23539565.62249 -18292237.04548  20854122.0134   20854126.9894
+      1724.5224       1343.7784
+  24077324.2904   -4116011.08249  -2954136.01745  24077324.2834   24077329.9494
+      3067.1604       2389.9834
+  20925356.1964  -19713437.15149 -15339043.25748  20925355.4594   20925361.5154
+     -1817.7064      -1416.3954
+ 05  1 20  0  5 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25369546.0834    -521175.75049   -387928.40545  25369541.8814   25369551.8354
+      2915.2364       2271.5994
+  21399565.4144  -19104201.44549 -14862019.05448  21399565.1394   21399570.4694
+       755.8284        588.9574
+  20665985.2524  -26055903.08449 -20282428.20548  20665984.5924   20665990.6634
+      -526.9704       -410.6284
+  22096943.2944  -17999380.51149 -13986439.67447  22096943.7364   22096946.4344
+     -2458.3304      -1915.5824
+  24925900.9084   -1434920.70849  -1109767.88845  24925901.1974   24925905.2624
+      1339.0924       1043.4494
+  21152506.8594  -18259711.73249 -13919618.14947  21152506.3124   21152511.8154
+      3045.9264       2373.4464
+  20844327.5394  -23591036.02149 -18332343.81848  20844327.1644   20844332.4094
+      1706.8634       1330.0224
+  24059816.3904   -4208030.24849  -3025839.13845  24059813.9024   24059818.3354
+      3067.4064       2390.1884
+  20935756.6374  -19658786.27949 -15296458.15348  20935755.6834   20935761.1664
+     -1825.6734      -1422.6024
+ 05  1 20  0  6  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25352911.0734    -608584.24349   -456038.67245  25352909.9854   25352919.9274
+      2912.0434       2269.1184
+  21395302.1304  -19126602.61649 -14879474.48148  21395301.9884   21395307.7164
+       737.3314        574.5424
+  20669024.8044  -26039930.87349 -20269982.31648  20669024.1004   20669029.9364
+      -537.9024       -419.1474
+  22111003.8644  -17925497.43149 -13928868.46347  22111003.7134   22111007.1674
+     -2467.2014      -1922.4904
+  24918298.2954   -1474887.61249  -1140910.94945  24918296.7764   24918301.8144
+      1325.3904       1032.7704
+  21135160.3274  -18350861.01749 -13990643.51247  21135160.9384   21135166.4074
+      3030.6954       2361.5784
+  20834633.5524  -23641975.67849 -18372037.03048  20834633.6134   20834638.8544
+      1689.1744       1316.2394
+  24042301.6234   -4300058.67549  -3097549.48345  24042300.8024   24042306.0584
+      3067.7414       2390.4404
+  20946201.3264  -19603896.98049 -15253687.25248  20946200.4894   20946206.2274
+     -1833.6024      -1428.7834
+ 05  1 20  0  6 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25336296.7684    -695897.63749   -524074.94745  25336296.4064   25336303.4714
+      2908.7984       2266.5944
+  21391145.4794  -19148448.40249 -14896497.13948  21391145.0764   21391150.7074
+       718.7804        560.0884
+  20672126.0054  -26023630.35649 -20257280.60048  20672125.6564   20672131.8794
+      -548.8494       -427.6774
+  22125114.4274  -17851348.55449 -13871090.13347  22125114.1474   22125116.4464
+     -2476.0714      -1929.4034
+  24910766.2514   -1514442.26348  -1171732.70445  24910767.0464   24910773.8614
+      1311.5314       1021.9694
+  21117903.6694  -18441551.78549 -14061311.60347  21117903.3064   21117908.3574
+      3015.3554       2349.6274
+  20825042.2464  -23692383.00149 -18411315.43148  20825041.8854   20825046.6964
+      1671.3854       1302.3754
+  24024788.2454   -4392095.04549  -3169265.99845  24024786.3934   24024791.1804
+      3067.9244       2390.5864
+  20956691.5204  -19548771.08349 -15210731.98448  20956690.5734   20956696.2294
+     -1841.4574      -1434.9024
+ 05  1 20  0  7  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25319700.1754    -783115.13449   -592036.48245  25319699.8214   25319705.9324
+      2905.6514       2264.1414
+  21387093.1714  -19169737.93749 -14913086.35848  21387093.4614   21387099.4594
+       700.2104        545.6134
+  20675291.3084  -26007000.42149 -20244322.19748  20675290.6724   20675296.7044
+      -559.8544       -436.2524
+  22139274.0464  -17776934.24349 -13813104.98147  22139274.3014   22139277.9524
+     -2484.9134      -1936.3014
+  24903323.6674   -1553582.29449  -1202231.42245  24903323.0134   24903327.1614
+      1297.7354       1011.2264
+  21100733.7284  -18531780.85749 -14131619.91647  21100733.4204   21100738.9264
+      2999.9184       2337.5924
+  20815551.3864  -23742256.67449 -18450178.00948  20815550.8424   20815556.1244
+      1653.6014       1288.5164
+  24007271.8714   -4484138.19149  -3240987.81645  24007271.7784   24007276.8404
+      3068.1884       2390.7854
+  20967226.0294  -19493410.06049 -15167593.50848  20967225.2244   20967231.0364
+     -1849.2694      -1440.9944
+ 05  1 20  0  7 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25303120.8504    -870236.66249   -659923.24145  25303119.3534   25303126.6394
+      2902.5024       2261.6844
+  21383148.9264  -19190470.35349 -14929241.44948  21383148.3654   21383154.1504
+       681.6604        531.1644
+  20678518.3594  -25990040.26949 -20231106.48148  20678518.1754   20678523.7734
+      -570.8764       -444.8404
+  22153485.6674  -17702255.02349 -13754913.37747  22153485.3714   22153488.2874
+     -2493.7154      -1943.1554
+  24895951.5304   -1592306.05149  -1232405.75945  24895951.1774   24895956.7504
+      1283.8204       1000.3834
+  21083651.0564  -18621545.42749 -14201566.29247  21083651.7754   21083657.0494
+      2984.3744       2325.4884
+  20806162.1014  -23791595.35049 -18488623.70348  20806161.9424   20806167.0024
+      1635.7244       1274.5904
+  23989754.2844   -4576187.49849  -3312714.43645  23989754.5204   23989760.5494
+      3068.3814       2390.9444
+  20977805.6064  -19437815.62149 -15124273.15048  20977804.7624   20977810.5334
+     -1857.0004      -1447.0104
+ 05  1 20  0  8  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25286559.6674    -957261.65049   -727734.83545  25286560.9914   25286565.2374
+      2899.2344       2259.1414
+  21379308.9444  -19210644.84949 -14944961.81148  21379309.0644   21379315.0694
+       663.0224        516.6404
+  20681808.8964  -25972749.05649 -20217632.79748  20681808.3224   20681814.4054
+      -581.9414       -453.4604
+  22167746.6784  -17627311.37249 -13696515.72347  22167746.4264   22167749.8574
+     -2502.5384      -1950.0324
+  24888659.4504   -1630610.99849  -1262253.77245  24888659.3864   24888667.9924
+      1269.8054        989.4554
+  21066658.8334  -18710842.43049 -14271148.32047  21066658.8074   21066664.4214
+      2968.7364       2313.2934
+  20796875.1704  -23840397.48249 -18526651.31248  20796875.0524   20796880.3914
+      1617.7914       1260.6144
+  23972238.7734   -4668241.71449  -3384444.84745  23972237.2604   23972242.7664
+      3068.5114       2391.0424
+  20988428.6214  -19381989.46549 -15080772.22748  20988427.9194   20988433.6234
+     -1864.7244      -1453.0294
+ 05  1 20  0  8 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25270014.6584   -1044189.74249   -795470.90245  25270015.0884   25270020.8494
+      2896.0054       2256.6214
+  21375577.4534  -19230260.56549 -14960246.75348  21375576.7094   21375582.2224
+       644.3984        502.1304
+  20685162.5784  -25955125.93349 -20203900.48248  20685161.9524   20685167.3864
+      -593.0244       -462.1004
+  22182059.4314  -17552103.82849 -13637912.43847  22182058.2424   22182060.9024
+     -2511.3194      -1956.8674
+  24881454.4154   -1668494.77849  -1291773.59645  24881452.8124   24881459.4504
+      1255.7394        978.5024
+  21049755.3984  -18799669.18049 -14340363.92047  21049755.7984   21049760.8674
+      2953.0104       2301.0464
+  20787691.1054  -23888661.65249 -18564259.72848  20787690.9014   20787695.4794
+      1599.8384       1246.6244
+  23954719.0804   -4760300.04649  -3456178.50945  23954719.8704   23954725.6894
+      3068.6324       2391.1404
+  20999095.9744  -19325933.08349 -15037091.91448  20999095.4374   20999100.6354
+     -1872.3634      -1458.9834
+ 05  1 20  0  9  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25253492.9954   -1131020.22349   -863130.83945  25253492.2684   25253500.5334
+      2892.7394       2254.0784
+  21371950.5524  -19249316.63349 -14975095.61548  21371950.7844   21371955.8084
+       625.7304        487.5834
+  20688579.1704  -25937170.16749 -20189908.96048  20688578.8204   20688584.7794
+      -604.1114       -470.7334
+  22196419.9394  -17476632.90849 -13579103.92547  22196419.9654   22196423.2384
+     -2520.0784      -1963.6934
+  24874326.5984   -1705955.41049  -1320963.67145  24874326.5024   24874327.1374
+      1241.6244        967.4954
+  21032942.7874  -18888022.71749 -14409210.79247  21032942.9834   21032947.8474
+      2937.1814       2288.7104
+  20778609.1344  -23936386.64049 -18601447.99948  20778608.9694   20778614.2734
+      1581.8434       1232.6004
+  23937200.5424   -4852361.29249  -3527914.42945  23937200.8244   23937205.3134
+      3068.7994       2391.2604
+  21009806.6544  -19269648.16349 -14993233.51348  21009805.7644   21009811.7904
+     -1879.9724      -1464.9124
+ 05  1 20  0  9 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25236987.3924   -1217752.81849   -930714.49845  25236988.3324   25236995.7934
+      2889.4554       2251.5194
+  21368431.1624  -19267812.20449 -14989507.72748  21368431.1174   21368436.3854
+       607.0234        473.0084
+  20692060.1174  -25918880.88449 -20175657.55948  20692059.2334   20692064.8344
+      -615.2464       -479.4094
+  22210830.9204  -17400899.33049 -13520090.74647  22210831.0334   22210834.3864
+     -2528.8214      -1970.5054
+  24867279.5034   -1742990.84949  -1349822.37045  24867277.9964   24867282.6774
+      1227.3794        956.3994
+  21016220.0454  -18975900.06549 -14477686.59847  21016220.0314   21016225.0064
+      2921.2794       2276.3264
+  20769630.6344  -23983570.97449 -18638214.98948  20769630.5604   20769635.0574
+      1563.7964       1218.5424
+  23919682.3604   -4944424.34149  -3599651.80145  23919682.1854   23919685.7744
+      3068.7704       2391.2474
+  21020560.4134  -19213136.13149 -14949198.15248  21020559.4784   21020565.1604
+     -1887.5034      -1470.7794
+ 05  1 20  0 10  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25220501.4604   -1304387.05849   -998221.54145  25220499.2334   25220506.2164
+      2886.1484       2248.9384
+  21365017.6964  -19285746.64549 -15003482.58648  21365017.9574   21365023.6024
+       588.3284        458.4344
+  20695603.7694  -25900257.27349 -20161145.64348  20695603.2644   20695608.7614
+      -626.4004       -488.1064
+  22225292.8704  -17324903.73749 -13460873.40147  22225292.6504   22225295.5284
+     -2537.5564      -1977.3174
+  24860310.8604   -1779598.66249  -1378347.97345  24860311.6204   24860317.0954
+      1213.1164        945.2844
+  20999588.5054  -19063298.45549 -14545789.19047  20999588.6454   20999594.3044
+      2905.2654       2263.8424
+  20760754.5904  -24030213.46549 -18674559.75148  20760754.5604   20760759.3024
+      1545.7574       1204.4864
+  23902161.6134   -5036488.63549  -3671390.07845  23902161.6164   23902167.0474
+      3068.8234       2391.2934
+  21031357.1884  -19156398.93949 -14904987.33248  21031356.7774   21031361.9524
+     -1894.9704      -1476.6014
+ 05  1 20  0 10 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25204035.1184   -1390922.19549  -1065651.29645  25204037.0344   25204040.1514
+      2882.8694       2246.3764
+  21361712.8724  -19303119.23249 -15017019.63648  21361711.8814   21361717.8254
+       569.5744        443.8274
+  20699211.4114  -25881298.55649 -20146372.60848  20699210.7744   20699216.6094
+      -637.5754       -496.8104
+  22239805.7214  -17248646.39249 -13401452.10347  22239804.2774   22239807.4264
+     -2546.2464      -1984.0894
+  24853429.1814   -1815776.85849  -1406538.73145  24853427.0254   24853431.5554
+      1198.7594        934.1024
+  20983049.0694  -19150214.92949 -14613516.26447  20983049.0994   20983054.0684
+      2889.1624       2251.2984
+  20751982.0624  -24076312.71849 -18710481.22448  20751982.0524   20751987.1724
+      1527.6134       1190.3494
+  23884645.3064   -5128552.73049  -3743128.26145  23884643.5624   23884646.7674
+      3068.7924       2391.2754
+  21042197.0844  -19099438.02349 -14860602.18548  21042195.9404   21042201.2674
+     -1902.3934      -1482.3854
+ 05  1 20  0 11  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25187585.6024   -1477358.09349  -1133003.76145  25187585.9774   25187592.2634
+      2879.5084       2243.7594
+  21358513.0974  -19319929.19649 -15030118.27548  21358513.3574   21358518.9414
+       550.7954        429.1904
+  20702883.1624  -25862003.87849 -20131337.77848  20702882.4014   20702888.2104
+      -648.8014       -505.5544
+  22254365.4534  -17172128.02949 -13341827.41547  22254364.9554   22254368.4594
+     -2555.0024      -1990.9024
+  24846624.3784   -1851523.42349  -1434393.17945  24846622.8614   24846630.4874
+      1184.3164        922.8414
+  20966601.5764  -19236646.83849 -14680865.74547  20966601.8624   20966606.4694
+      2872.9404       2238.6554
+  20743313.2134  -24121867.53649 -18745978.45048  20743312.9694   20743318.3744
+      1509.4544       1176.1964
+  23867125.5984   -5220615.64749  -3814865.52646  23867124.7554   23867127.8504
+      3068.7584       2391.2274
+  21053078.5224  -19042255.09049 -14816044.03948  21053077.4454   21053082.7574
+     -1909.7984      -1488.1564
+ 05  1 20  0 11 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25171159.1154   -1563694.23649  -1200278.40545  25171157.4314   25171165.6984
+      2876.1984       2241.1814
+  21355422.4864  -19336175.70849 -15042777.86448  21355421.8454   21355427.0294
+       531.9994        414.5474
+  20706618.4364  -25842372.66249 -20116040.71748  20706617.7804   20706623.7024
+      -660.0334       -514.3104
+  22268975.6404  -17095349.09449 -13281999.67647  22268975.4004   22268978.9914
+     -2563.6464      -1997.6474
+  24839902.5134   -1886836.48549  -1461909.81545  24839903.8024   24839909.4614
+      1169.9064        911.6194
+  20950246.8524  -19322591.22649 -14747835.35247  20950247.0684   20950251.9874
+      2856.6574       2225.9664
+  20734748.4154  -24166876.48049 -18781050.32948  20734748.2944   20734753.2994
+      1491.2014       1161.9764
+  23849606.5584   -5312676.37649  -3886601.07446  23849605.4144   23849610.6614
+      3068.6474       2391.1534
+  21064001.2154  -18984851.65549 -14771314.07248  21064001.0324   21064006.5134
+     -1917.1064      -1493.8484
+ 05  1 20  0 12  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25154748.8104   -1649930.13849  -1267474.98745  25154748.4254   25154756.5454
+      2872.9364       2238.6464
+  21352438.0924  -19351858.22049 -15054997.98748  21352437.6104   21352442.4954
+       513.2094        399.9054
+  20710418.3194  -25822403.80649 -20100480.55448  20710417.9604   20710424.0074
+      -671.2684       -523.0624
+  22283635.9164  -17018310.37149 -13221969.50947  22283635.6634   22283639.0434
+     -2572.3234      -2004.4084
+  24833268.1134   -1921713.62549  -1489086.85045  24833267.5664   24833272.6144
+      1155.3184        900.2544
+  20933985.2104  -19408045.29649 -14814422.89347  20933985.0614   20933990.8564
+      2840.2504       2213.1804
+  20726287.7814  -24211338.62549 -18815696.12348  20726287.6184   20726292.4884
+      1472.9564       1147.7594
+  23832089.2974   -5404733.69549  -3958333.97946  23832088.6054   23832092.6834
+      3068.4764       2391.0184
+  21074967.0644  -18927229.47749 -14726413.65548  21074965.9954   21074971.5304
+     -1924.3664      -1499.5014
+ 05  1 20  0 12 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25138358.5294   -1736065.81649  -1334593.49945  25138357.2614   25138363.1194
+      2869.5004       2235.9664
+  21349560.3804  -19366975.98249 -15066778.02648  21349560.4324   21349565.6934
+       494.3814        385.2294
+  20714283.2244  -25802096.73649 -20084656.85048  20714282.6834   20714288.5734
+      -682.5684       -531.8694
+  22298345.9114  -16941012.21449 -13161737.18947  22298345.1274   22298348.2264
+     -2580.9154      -2011.1024
+  24826713.3614   -1956153.18149  -1515922.82245  24826711.8154   24826715.2524
+      1140.7434        888.8844
+  20917817.2764  -19493006.25349 -14880626.18347  20917817.4974   20917823.2334
+      2823.7954       2200.3574
+  20717930.6604  -24255252.55849 -18849914.74048  20717930.5754   20717935.5184
+      1454.7094       1133.5344
+  23814570.5664   -5496786.45049  -4030063.32246  23814570.7784   23814576.3724
+      3068.3534       2390.9214
+  21085973.3214  -18869389.83849 -14681343.78948  21085972.4184   21085978.2084
+     -1931.5694      -1505.1194
+ 05  1 20  0 13  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25121984.4664   -1822100.32149  -1401633.11445  25121984.6104   25121990.9534
+      2866.1854       2233.3834
+  21346791.4574  -19381528.42849 -15078117.57448  21346791.3564   21346796.7114
+       475.5254        370.5374
+  20718211.6694  -25781450.58949 -20068568.93248  20718211.3324   20718217.1454
+      -693.8764       -540.6814
+  22313104.1254  -16863455.24649 -13101303.20547  22313103.5444   22313106.2774
+     -2589.5544      -2017.8314
+  24820244.3004   -1990152.61149  -1542415.85445  24820244.2204   24820249.6414
+      1125.9494        877.3614
+  20901743.9204  -19577471.29449 -14946443.04747  20901744.2614   20901749.9614
+      2807.2064       2187.4334
+  20709679.0794  -24298617.24149 -18883705.37548  20709679.0404   20709683.7394
+      1436.3944       1119.2704
+  23797055.6424   -5588833.64349  -4101788.37246  23797054.6494   23797058.3834
+      3068.1574       2390.7734
+  21097021.5084  -18811334.55949 -14636105.89548  21097020.1934   21097025.8524
+     -1938.7524      -1510.7164
+ 05  1 20  0 13 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25105631.8074   -1908033.24949  -1468593.64645  25105631.1444   25105637.6974
+      2862.7424       2230.7024
+  21344128.8444  -19395514.97449 -15089016.14748  21344129.2614   21344135.1534
+       456.6264        355.8144
+  20722204.9964  -25760464.62249 -20052216.21748  20722204.5484   20722210.4314
+      -705.2574       -549.5504
+  22327910.7664  -16785640.14649 -13040668.03747  22327911.1434   22327914.2474
+     -2598.1394      -2024.5194
+  24813858.1674   -2023710.21149  -1568564.64445  24813856.9754   24813863.4414
+      1111.1824        865.8604
+  20885766.2284  -19661437.75249 -15011871.40848  20885766.2874   20885771.1524
+      2790.5214       2174.4274
+  20701531.4084  -24341431.60949 -18917067.19048  20701531.4224   20701536.4894
+      1417.9844       1104.9214
+  23779542.7594   -5680874.24049  -4173508.25246  23779540.2634   23779544.9224
+      3067.8944       2390.5744
+  21108108.6754  -18753065.18349 -14590701.17448  21108108.2804   21108113.6614
+     -1945.8614      -1516.2514
+ 05  1 20  0 14  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25089302.0954   -1993864.23649  -1535474.67145  25089299.7214   25089305.4974
+      2859.3114       2228.0264
+  21341576.2324  -19408935.00149 -15099473.28548  21341576.1824   21341581.4944
+       437.7424        341.1044
+  20726263.7104  -25739137.94549 -20035598.02148  20726263.1294   20726268.9604
+      -716.5824       -558.3734
+  22342768.6614  -16707567.55549 -12979832.26447  22342768.3364   22342771.6794
+     -2606.7054      -2031.1964
+  24807556.0744   -2056823.59849  -1594367.25545  24807556.9014   24807563.2094
+      1096.3164        854.2764
+  20869883.9204  -19744902.74849 -15076909.02348  20869883.8434   20869888.5834
+      2773.7574       2161.3744
+  20693489.4344  -24383694.21349 -18949999.06948  20693489.0404   20693494.1224
+      1399.5754       1090.5834
+  23762026.1804   -5772906.84049  -4245221.88846  23762026.5044   23762031.5654
+      3067.6084       2390.3504
+  21119238.6674  -18694583.20949 -14545130.78848  21119237.5444   21119242.8964
+     -1952.9224      -1521.7594
+ 05  1 20  0 14 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25072985.0454   -2079592.85549  -1602275.96745  25072983.2624   25072991.8694
+      2855.8904       2225.3714
+  21339130.3404  -19421787.95249 -15109488.54148  21339130.0074   21339135.2554
+       418.8274        326.3594
+  20730386.7994  -25717470.12349 -20018713.98648  20730386.1834   20730392.0314
+      -727.9844       -567.2634
+  22357674.8744  -16629237.85549 -12918796.14647  22357674.2084   22357676.4844
+     -2615.2564      -2037.8624
+  24801340.6554   -2089491.27949  -1619822.62045  24801340.0784   24801343.9614
+      1081.4684        842.7024
+  20854096.6034  -19827863.61549 -15141553.80448  20854096.3944   20854101.4074
+      2756.8934       2148.2284
+  20685551.6994  -24425404.06349 -18982500.22248  20685551.6534   20685556.8974
+      1381.0944       1076.1774
+  23744515.9694   -5864930.65649  -4316928.73046  23744514.8764   23744518.7054
+      3067.2964       2390.0974
+  21130406.5654  -18635890.21349 -14499395.97248  21130405.9664   21130411.4374
+     -1959.9634      -1527.2444
+ 05  1 20  0 15  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25056687.8734   -2165218.52149  -1668997.15745  25056689.0214   25056696.6394
+      2852.4324       2222.6694
+  21336791.9424  -19434073.23349 -15119061.45948  21336792.1424   21336797.7104
+       399.8754        311.5884
+  20734575.1034  -25695459.95549 -20001563.19348  20734574.6674   20734580.4874
+      -739.4144       -576.1704
+  22372629.3974  -16550651.71649 -12857560.20247  22372628.8174   22372630.9304
+     -2623.8064      -2044.5294
+  24795210.0884   -2121710.63649  -1644928.58445  24795210.5444   24795214.4904
+      1066.4684        831.0124
+  20838405.5214  -19910317.66949 -15205803.66848  20838406.0904   20838411.0174
+      2739.9814       2135.0494
+  20677720.8144  -24466560.00749 -19014569.76048  20677720.2524   20677725.0624
+      1362.6674       1061.8214
+  23727004.5854   -5956944.76549  -4388627.94246  23727004.3494   23727009.9404
+      3067.0324       2389.8834
+  21141616.1594  -18576987.57649 -14453497.79348  21141614.6654   21141620.5954
+     -1966.9054      -1532.6524
+ 05  1 20  0 15 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25040414.5794   -2250741.17749  -1735637.99545  25040413.9764   25040421.1784
+      2849.0444       2220.0234
+  21334562.3384  -19445790.27149 -15128191.59148  21334562.3034   21334567.8064
+       380.9524        296.8454
+  20738828.9954  -25673106.96249 -19984145.26348  20738828.2714   20738834.1554
+      -750.8564       -585.0814
+  22387632.0754  -16471809.89849 -12796125.01847  22387631.7734   22387633.8644
+     -2632.3444      -2051.1694
+  24789164.1044   -2153480.49549  -1669684.29545  24789164.1794   24789169.4924
+      1051.4534        819.3144
+  20822812.0834  -19992262.09849 -15269656.42748  20822812.2594   20822817.3084
+      2722.9494       2121.7774
+  20669993.9244  -24507161.31349 -19046207.11248  20669994.1304   20669999.0064
+      1344.1244       1047.3704
+  23709498.3734   -6048947.52049  -4460318.33946  23709498.1504   23709501.7994
+      3066.5924       2389.5594
+  21152864.3064  -18517876.92349 -14407437.53148  21152863.2154   21152868.6974
+     -1973.8044      -1538.0254
+ 05  1 20  0 16  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25024163.3144   -2336160.12649  -1802198.02945  25024161.5714   25024166.5784
+      2845.5594       2217.3124
+  21332441.5634  -19456938.65649 -15136878.62248  21332441.1724   21332446.3584
+       361.9834        282.0654
+  20743147.8324  -25650410.44749 -19966459.65248  20743147.3744   20743153.4544
+      -762.3264       -594.0194
+  22402683.7364  -16392712.89449 -12734490.99447  22402683.2074   22402686.3194
+     -2640.7924      -2057.7674
+  24783204.8304   -2184798.71849  -1694088.12545  24783204.7924   24783208.6424
+      1036.4704        807.6354
+  20807316.3654  -20073694.34749 -15333110.07648  20807316.1994   20807321.6614
+      2705.8364       2108.4474
+  20662373.3624  -24547206.56049 -19077411.17348  20662373.4514   20662378.5544
+      1325.5784       1032.9194
+  23691993.1554   -6140938.04549  -4531999.20546  23691992.4674   23691996.1724
+      3066.1814       2389.2284
+  21164151.5294  -18458560.11849 -14361216.62648  21164150.6344   21164156.2544
+     -1980.6494      -1543.3604
+ 05  1 20  0 16 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  25007925.9604   -2421474.83249  -1868676.82545  25007926.5674   25007931.3314
+      2842.1354       2214.6454
+  21330427.6404  -19467517.94449 -15145122.20748  21330427.9374   21330433.0424
+       343.0254        267.2964
+  20747532.0774  -25627369.56049 -19948505.70448  20747531.5664   20747537.4304
+      -773.8084       -602.9654
+  22417782.7434  -16313361.29849 -12672658.59947  22417782.3844   22417785.8894
+     -2649.3144      -2064.3984
+  24777331.6294   -2215662.98749  -1718138.16645  24777330.4404   24777336.5314
+      1021.2704        795.7934
+  20791917.4964  -20154611.69449 -15396162.51348  20791917.7654   20791923.6854
+      2688.6324       2095.0394
+  20654859.4794  -24586694.84449 -19108181.24148  20654859.1464   20654864.0874
+      1306.9974       1018.4404
+  23674490.4654   -6232914.84249  -4603669.38646  23674488.6104   23674493.8324
+      3065.6294       2388.7984
+  21175478.0434  -18399038.55549 -14314836.17048  21175476.9864   21175482.8414
+     -1987.4634      -1548.6684
+ 05  1 20  0 17  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24991711.8124   -2506685.24649  -1935074.43845  24991710.0794   24991716.1944
+      2838.6434       2211.9294
+  21328522.7124  -19477527.62149 -15152921.92448  21328523.0454   21328528.3994
+       324.0294        252.4924
+  20751982.8734  -25603983.44349 -19930282.74748  20751982.1374   20751987.7784
+      -785.3334       -611.9464
+  22432932.1424  -16233755.81249 -12610628.35447  22432930.7774   22432934.6134
+     -2657.7644      -2070.9884
+  24771543.5414   -2246072.04949  -1741833.50845  24771543.1854   24771548.4174
+      1006.0194        783.9084
+  20776618.5844  -20235011.35249 -15458811.55748  20776618.6584   20776623.8474
+      2671.3044       2081.5404
+  20647451.3514  -24625625.23949 -19138516.58448  20647451.2984   20647455.9984
+      1288.4054       1003.9564
+  23656988.9134   -6324876.84049  -4675328.00846  23656989.9244   23656994.7094
+      3065.1364       2388.4124
+  21186843.2264  -18339313.63649 -14268297.26848  21186842.6444   21186848.3254
+     -1994.2134      -1553.9314
+ 05  1 20  0 17 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24975516.4814   -2591790.96349  -2001390.43745  24975516.0344   24975521.2254
+      2835.1284       2209.1854
+  21326727.0224  -19486967.31449 -15160277.50448  21326726.6524   21326732.1994
+       305.0064        237.6694
+  20756498.9174  -25580251.54749 -19911790.34948  20756498.3794   20756503.8854
+      -796.8514       -620.9214
+  22448128.3124  -16153897.03649 -12548400.75547  22448127.9424   22448131.0074
+     -2666.1814      -2077.5464
+  24765842.8964   -2276023.50449  -1765172.30145  24765844.1094   24765849.7644
+       990.7654        772.0294
+  20761418.1064  -20314890.84449 -15521055.26948  20761418.1014   20761422.8194
+      2653.9334       2068.0044
+  20640149.5914  -24663996.76449 -19168416.44648  20640149.5104   20640154.1864
+      1269.7754        989.4354
+  23639494.4044   -6416823.07849  -4746974.38346  23639493.3754   23639496.8174
+      3064.5954       2387.9974
+  21198246.5104  -18279387.01949 -14221601.18748  21198246.1574   21198251.3284
+     -2000.8954      -1559.1344
+ 05  1 20  0 18  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24959342.2254   -2676791.42249  -2067624.43245  24959342.2034   24959348.2234
+      2831.6124       2206.4494
+  21325038.7484  -19495836.67749 -15167188.67348  21325039.0384   21325044.5184
+       285.9664        222.8314
+  20761080.6144  -25556173.20549 -19893027.99948  20761080.0914   20761085.8264
+      -808.4334       -629.9494
+  22463372.4114  -16073785.65449 -12485976.25447  22463372.2884   22463375.9954
+     -2674.5804      -2084.0904
+  24760234.8264   -2305515.37849  -1788153.05345  24760233.0364   24760237.6874
+       975.3684        760.0264
+  20746316.7074  -20394247.66449 -15582891.70848  20746316.6454   20746321.8194
+      2636.4864       2054.4044
+  20632954.1394  -24701808.34749 -19197879.99048  20632953.8684   20632958.7884
+      1251.0904        974.8734
+  23622000.9574   -6508752.16549  -4818607.36646  23621999.6804   23622003.9404
+      3064.0134       2387.5444
+  21209689.1144  -18219260.34849 -14174749.21748  21209688.3534   21209693.4714
+     -2007.5274      -1564.3114
+ 05  1 20  0 18 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24943185.5034   -2761686.30049  -2133776.12445  24943185.4484   24943191.2114
+      2828.1154       2203.7214
+  21323459.2524  -19504135.13049 -15173654.97548  21323459.3004   21323465.1724
+       266.9464        208.0124
+  20765728.4574  -25531747.44249 -19873994.92848  20765728.0644   20765733.6594
+      -820.0244       -638.9744
+  22478666.5094  -15993422.24949 -12423355.43847  22478666.1284   22478669.1984
+     -2682.9814      -2090.6364
+  24754709.8364   -2334546.22449  -1810774.36845  24754709.1954   24754711.5294
+       959.9914        748.0384
+  20731315.6594  -20473079.06749 -15644318.73048  20731315.9644   20731320.7484
+      2618.9314       2040.7284
+  20625865.3474  -24739059.01649 -19226906.46248  20625865.0814   20625870.4514
+      1232.3944        960.3094
+  23604509.7214   -6600663.07049  -4890226.19146  23604509.1264   23604513.1594
+      3063.3714       2387.0414
+  21221168.5204  -18158934.82849 -14127742.30848  21221167.3804   21221173.3054
+     -2014.1374      -1569.4564
+ 05  1 20  0 19  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24927051.9554   -2846475.10049  -2199845.17145  24927051.2474   24927056.2764
+      2824.5594       2200.9534
+  21321989.2434  -19511862.52749 -15179676.30248  21321989.2204   21321994.4594
+       247.9174        193.1834
+  20770443.1514  -25506973.74449 -19854690.73948  20770442.5074   20770448.1534
+      -831.6294       -648.0204
+  22494006.0594  -15912807.60949 -12360538.86147  22494005.8024   22494008.8174
+     -2691.3284      -2097.1384
+  24749270.4704   -2363113.87749  -1833034.87745  24749269.7554   24749278.6424
+       944.5194        735.9894
+  20716415.1004  -20551382.38749 -15705334.26648  20716415.1824   20716419.9494
+      2601.2884       2026.9794
+  20618883.4154  -24775748.14849 -19255495.36948  20618883.5984   20618888.1784
+      1213.6354        945.6924
+  23587023.9474   -6692554.32749  -4961829.69146  23587022.6934   23587026.6674
+      3062.7164       2386.5324
+  21232685.2384  -18098411.94149 -14080581.61248  21232684.7084   21232690.1294
+     -2020.6934      -1574.5654
+ 05  1 20  0 19 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24910935.7194   -2931157.75849  -2265831.59245  24910935.3674   24910939.8604
+      2820.9744       2198.1604
+  21320627.5824  -19519018.32249 -15185252.22548  21320627.3744   21320632.3124
+       228.8634        178.3374
+  20775223.5234  -25481851.41249 -19835114.89148  20775222.9854   20775228.5914
+      -843.2464       -657.0724
+  22509394.6864  -15831942.34349 -12297527.00347  22509394.0954   22509396.6574
+     -2699.6904      -2103.6584
+  24743923.5504   -2391216.72249  -1854933.16445  24743922.7374   24743928.2184
+       928.9794        723.8794
+  20701615.3164  -20629155.27249 -15765936.46448  20701615.5374   20701620.5314
+      2583.5554       2013.1564
+  20612009.2194  -24811874.68949 -19283645.89648  20612008.9054   20612013.8454
+      1194.8774        931.0754
+  23569540.3604   -6784425.09149  -5033417.24046  23569540.4204   23569544.9334
+      3062.0374       2386.0024
+  21244239.4884  -18037693.25849 -14033268.33247  21244238.8434   21244244.0944
+     -2027.2064      -1579.6414
+ 05  1 20  0 20  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24894841.8254   -3015733.61149  -2331734.67445  24894841.2954   24894848.2904
+      2817.4304       2195.3934
+  21319374.7324  -19525602.44149 -15190382.67948  21319374.3264   21319379.6434
+       209.8014        163.4844
+  20780071.1034  -25456379.63849 -19815266.74348  20780070.4674   20780075.6024
+      -854.9294       -666.1774
+  22524829.9414  -15750827.16149 -12234320.35147  22524829.5134   22524832.7354
+     -2708.0044      -2110.1234
+  24738666.1864   -2418852.95449  -1876467.88345  24738664.8964   24738671.5564
+       913.4274        711.7634
+  20686917.1824  -20706394.91449 -15826123.16348  20686917.3114   20686922.0114
+      2565.7314       1999.2714
+  20605241.5234  -24847437.79849 -19311357.38048  20605241.4174   20605246.0264
+      1176.0834        916.4314
+  23552063.7984   -6876274.03949  -5104987.77646  23552061.7874   23552066.4744
+      3061.2474       2385.3934
+  21255831.3854  -17976780.37749 -13985803.72848  21255830.4174   21255835.6944
+     -2033.6524      -1584.6614
+ 05  1 20  0 20 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24878765.9984   -3100202.45449  -2397554.42445  24878766.3664   24878773.9094
+      2813.8214       2192.5804
+  21318230.0854  -19531614.40949 -15195067.30948  21318230.4634   21318235.8844
+       190.7184        148.6074
+  20784984.3134  -25430557.73749 -19795145.77148  20784983.9254   20784989.8144
+      -866.5734       -675.2514
+  22540312.8174  -15669462.62249 -12170919.43247  22540312.7224   22540316.4074
+     -2716.3104      -2116.6044
+  24733493.2214   -2446021.12949  -1897637.87945  24733492.7934   24733500.7524
+       897.7984        699.5874
+  20672320.6614  -20783099.14449 -15885892.65448  20672320.7464   20672325.6914
+      2547.8264       1985.3164
+  20598581.0664  -24882436.66749 -19338629.20348  20598581.1224   20598586.1414
+      1157.2524        901.7544
+  23534587.0204   -6968099.67349  -5176540.15946  23534587.3424   23534591.9464
+      3060.4384       2384.7434
+  21267459.3714  -17915674.57249 -13938188.80147  21267458.1654   21267463.7704
+     -2040.0474      -1589.6484
+ 05  1 20  0 21  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24862715.8794   -3184563.59549  -2463290.28545  24862715.5374   24862719.7144
+      2810.2374       2189.7864
+  21317195.8884  -19537054.15849 -15199306.04948  21317195.6164   21317200.5204
+       171.6334        133.7414
+  20789964.9884  -25404385.15849 -19774751.54948  20789964.4464   20789970.1934
+      -878.3164       -684.4014
+  22555843.6274  -15587849.39149 -12107324.68547  22555843.3084   22555846.8844
+     -2724.5804      -2123.0594
+  24728414.9434   -2472719.13749  -1918441.52845  24728413.4244   24728417.0164
+       882.0574        687.3184
+  20657826.6764  -20859264.97249 -15945242.61348  20657827.0264   20657831.9964
+      2529.8514       1971.3114
+  20592029.1144  -24916870.32749 -19365460.59748  20592028.8364   20592033.6844
+      1138.3814        887.0564
+  23517120.3394   -7059900.62849  -5248073.30846  23517118.8644   23517124.0144
+      3059.6154       2384.1174
+  21279122.7974  -17854377.37049 -13890424.73147  21279122.3424   21279128.2444
+     -2046.4094      -1594.6044
+ 05  1 20  0 21 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24846679.4774   -3268816.94449  -2528942.12945  24846679.9054   24846685.7914
+      2806.6334       2186.9774
+  21316269.3544  -19541921.27549 -15203098.58648  21316269.0594   21316274.3214
+       152.5494        118.8724
+  20795012.3684  -25377861.26949 -19754083.57548  20795011.8654   20795017.2374
+      -890.0304       -693.5314
+  22571421.0904  -15505988.37649 -12043536.91047  22571421.3014   22571423.9384
+     -2732.8294      -2129.4734
+  24723423.5134   -2498945.17349  -1938877.34745  24723424.0774   24723428.4724
+       866.3034        675.0404
+  20643435.5934  -20934890.47749 -16004171.54448  20643435.5304   20643441.1164
+      2511.8024       1957.2514
+  20585584.2044  -24950738.19249 -19391851.11248  20585583.7834   20585588.8614
+      1119.5244        872.3554
+  23499654.8624   -7151676.07249  -5319586.56046  23499654.3234   23499659.5164
+      3058.7224       2383.4234
+  21290824.3784  -17792890.59449 -13842512.94247  21290823.2524   21290828.6864
+     -2052.7114      -1599.5164
+ 05  1 20  0 22  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24830670.4834   -3352962.02949  -2594509.54845  24830669.7994   24830672.9394
+      2803.0474       2184.1864
+  21315451.7904  -19546215.59949 -15206444.79848  21315452.1174   21315457.2554
+       133.4414        103.9834
+  20800126.8984  -25350985.20949 -19733141.18948  20800125.9384   20800131.8054
+      -901.7874       -702.6904
+  22587046.9224  -15423880.12349 -11979556.45847  22587046.2584   22587048.7204
+     -2741.0794      -2135.9064
+  24718522.1714   -2524697.71249  -1958944.24945  24718521.3464   24718529.2744
+       850.4624        662.6974
+  20629148.0344  -21009972.69349 -16062677.13848  20629148.0024   20629152.9734
+      2493.6454       1943.1004
+  20579246.4814  -24984039.55349 -19417800.20848  20579246.8264   20579251.7064
+      1100.6334        857.6384
+  23482196.7734   -7243424.43849  -5391078.74546  23482195.3924   23482199.5804
+      3057.8074       2382.7034
+  21302560.8104  -17731215.66849 -13794454.54147  21302560.0404   21302564.6994
+     -2058.9464      -1604.3754
+ 05  1 20  0 22 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24814678.4994   -3436998.37149  -2659992.23945  24814677.2264   24814683.0694
+      2799.3574       2181.3134
+  21314744.1334  -19549936.98649 -15209344.54748  21314743.7794   21314748.9164
+       114.3724         89.1154
+  20805308.0604  -25323756.48149 -19711923.99348  20805307.5304   20805313.1244
+      -913.5564       -711.8644
+  22602717.3494  -15341525.34749 -11915383.90347  22602717.3754   22602720.3974
+     -2749.2844      -2142.2974
+  24713713.5354   -2549975.02049  -1978640.86045  24713713.3264   24713717.9214
+       834.6614        650.3764
+  20614964.6424  -21084509.18249 -16120757.48748  20614964.4204   20614969.0284
+      2475.4254       1928.9024
+  20573017.7744  -25016773.53049 -19443307.17448  20573017.6774   20573022.5534
+      1081.7014        842.8834
+  23464741.4034   -7335145.00649  -5462549.25846  23464741.6184   23464745.9914
+      3056.9104       2382.0084
+  21314332.5774  -17669353.65149 -13746250.36247  21314331.7174   21314336.9984
+     -2065.1764      -1609.2344
+ 05  1 20  0 23  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24798705.0974   -3520925.82349  -2725390.08845  24798705.7134   24798711.6594
+      2795.7874       2178.5354
+  21314144.9344  -19553085.26549 -15211797.73348  21314144.6494   21314150.1814
+        95.2564         74.2274
+  20810556.0174  -25296174.41849 -19690431.46848  20810555.7684   20810561.9334
+      -925.3054       -721.0134
+  22618435.8364  -15258924.64449 -11851019.71147  22618435.1594   22618439.1284
+     -2757.4254      -2148.6434
+  24708993.7894   -2574775.60949  -1997965.95245  24708992.5104   24708998.0404
+       818.6584        637.9164
+  20600884.3564  -21158497.91549 -16178411.01348  20600884.4494   20600889.5944
+      2457.1514       1914.6644
+  20566896.5624  -25048939.39049 -19468371.45548  20566896.5154   20566901.7324
+      1062.7804        828.1454
+  23447294.1864   -7426836.14849  -5533996.84846  23447292.8474   23447297.3984
+      3055.8534       2381.1834
+  21326139.4334  -17607306.20149 -13697901.68747  21326138.9034   21326144.1494
+     -2071.3104      -1614.0044
+ 05  1 20  0 23 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24782758.5434   -3604744.10949  -2790702.87445  24782758.1054   24782760.3574
+      2792.1244       2175.6764
+  21313654.3714  -19555660.26949 -15213804.20648  21313654.5404   21313659.7374
+        76.1384         59.3294
+  20815872.6664  -25268238.27749 -19668663.04648  20815872.4424   20815877.8674
+      -937.1034       -730.2074
+  22634200.5364  -15176078.45349 -11786464.14947  22634199.9114   22634203.6104
+     -2765.6064      -2155.0174
+  24704367.7874   -2599097.44449  -2016917.98845  24704366.0514   24704370.3134
+       802.6824        625.4654
+  20586910.0354  -21231936.31449 -16235635.71048  20586909.8484   20586914.6324
+      2438.7274       1900.3124
+  20560884.3584  -25080536.61649 -19492992.64848  20560884.2544   20560888.9004
+      1043.7464        813.3134
+  23429850.8524   -7518496.20649  -5605420.19546  23429850.4024   23429854.8514
+      3054.8114       2380.3604
+  21337981.9954  -17545074.80549 -13649409.67747  21337981.2054   21337986.2644
+     -2077.4264      -1618.7754
+ 05  1 20  0 24  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24766826.7974   -3688452.56749  -2855930.03145  24766826.9034   24766832.6664
+      2788.4644       2172.8274
+  21313274.3904  -19557661.80649 -15215363.82248  21313273.7414   21313279.1644
+        57.0214         44.4344
+  20821255.9004  -25239947.42549 -19646618.21448  20821255.5794   20821261.6474
+      -948.9964       -739.4784
+  22650012.2904  -15092987.82449 -11721718.10547  22650011.7864   22650016.1554
+     -2773.7494      -2161.3664
+  24699826.2394   -2622938.79149  -2035495.65845  24699827.4364   24699832.9144
+       786.6324        612.9564
+  20573040.0514  -21304821.73549 -16292429.50848  20573040.1584   20573045.2644
+      2420.2544       1885.9214
+  20554979.5974  -25111564.31949 -19517170.05448  20554979.7914   20554984.6264
+      1024.7734        798.5294
+  23412414.8894   -7610124.11449  -5676818.54046  23412414.7784   23412419.0704
+      3053.7914       2379.5744
+  21349859.3054  -17482661.07849 -13600775.58447  21349858.3144   21349863.5724
+     -2083.4744      -1623.4864
+ 05  1 20  0 24 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24750917.1134   -3772050.93249  -2921071.42745  24750918.2074   24750925.1084
+      2784.7904       2169.9634
+  21313002.3784  -19559089.79149 -15216476.51848  21313002.2094   21313007.4864
+        37.8944         29.5284
+  20826707.8414  -25211301.35949 -19624296.59848  20826707.0814   20826712.7744
+      -960.8304       -748.6934
+  22665869.7034  -15009653.66249 -11656782.30547  22665869.6044   22665873.8434
+     -2781.8834      -2167.7014
+  24695386.1554   -2646298.20749  -2053697.81245  24695384.2104   24695388.7634
+       770.6184        600.4854
+  20559276.0484  -21377152.06849 -16348790.78048  20559275.9704   20559280.8614
+      2401.7184       1871.4704
+  20549183.7594  -25142022.08349 -19540903.34948  20549183.5994   20549188.6694
+      1005.7954        783.7374
+  23394982.4374   -7701718.70349  -5748190.89746  23394984.4364   23394989.7334
+      3052.5724       2378.6304
+  21361770.0074  -17420066.23949 -13552000.37747  21361768.8344   21361775.0414
+     -2089.4954      -1628.1704
+ 05  1 20  0 25  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24735031.3164   -3855539.50749  -2986127.23945  24735029.7124   24735036.0044
+      2781.1314       2167.1084
+  21312839.8624  -19559944.25549 -15217142.32048  21312839.6214   21312844.8274
+        18.8094         14.6594
+  20832225.8884  -25182299.36449 -19601697.63248  20832225.6494   20832231.5244
+      -972.6984       -757.9434
+  22681774.3474  -14926076.53849 -11591657.23247  22681774.5444   22681777.1744
+     -2789.9764      -2174.0134
+  24691030.3134   -2669174.48549  -2071523.42945  24691029.5104   24691033.4474
+       754.4904        587.9124
+  20545618.3804  -21448924.96649 -16404717.68348  20545618.3194   20545622.8404
+      2383.1094       1856.9694
+  20543496.5864  -25171909.12649 -19564191.93548  20543496.5554   20543501.2594
+       986.7464        768.8964
+  23377561.4784   -7793278.78549  -5819536.37246  23377561.1964   23377565.9894
+      3051.4324       2377.7364
+  21373715.4714  -17357291.87349 -13503085.28347  21373714.7454   21373720.1004
+     -2095.4624      -1632.8284
+ 05  1 20  0 25 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24719162.1974   -3938917.25949  -3051096.78945  24719162.8134   24719169.5364
+      2777.4184       2164.2264
+  21312785.5134  -19560225.19849 -15217361.20748  21312785.3154   21312791.0814
+         -.3404          -.2654
+  20837813.2074  -25152940.78849 -19578820.81248  20837812.2874   20837818.0694
+      -984.5914       -767.2194
+  22697724.0624  -14842257.29549 -11526343.49447  22697724.3614   22697727.4014
+     -2798.0134      -2180.2654
+  24686767.5514   -2691565.81449  -2088971.20645  24686768.1264   24686774.1574
+       738.2384        575.2514
+  20532066.8264  -21520137.91049 -16460208.26248  20532067.1404   20532071.2404
+      2364.3864       1842.3754
+  20537917.6804  -25201224.93149 -19587035.39248  20537917.5974   20537922.7394
+       967.7054        754.0544
+  23360145.6654   -7884802.61349  -5890853.59946  23360144.9544   23360148.4824
+      3050.1804       2376.7594
+  21385695.3824  -17294339.15349 -13454031.20347  21385694.2794   21385699.8514
+     -2101.3774      -1637.4404
+ 05  1 20  0 26  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24703318.4214   -4022184.19949  -3115979.86445  24703317.9974   24703323.0784
+      2773.6664       2161.2894
+  21312841.9904  -19559932.43149 -15217133.06148  21312841.8764   21312846.3724
+       -19.4574        -15.1624
+  20843467.5234  -25123225.09549 -19555665.72148  20843467.0034   20843472.8254
+      -996.5114       -776.5024
+  22713720.8424  -14758196.60749 -11460841.63247  22713720.4304   22713724.0614
+     -2806.0344      -2186.5234
+  24682599.7754   -2713470.18249  -2106039.52945  24682600.2914   24682606.0594
+       722.0124        562.6084
+  20518621.4594  -21590788.69349 -16515260.79148  20518622.0274   20518627.1764
+      2345.6294       1827.7634
+  20532447.4664  -25229968.82149 -19609433.21248  20532447.8054   20532452.5894
+       948.6414        739.1984
+  23342737.0394   -7976289.02449  -5962141.66346  23342735.4564   23342740.0314
+      3048.9064       2375.7564
+  21397707.9154  -17231209.59549 -13404839.33347  21397707.5854   21397712.9954
+     -2107.2514      -1642.0154
+ 05  1 20  0 26 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24687493.3694   -4105339.88649  -3180776.34545  24687492.8154   24687498.3344
+      2769.9914       2158.4304
+  21313007.7724  -19559066.10249 -15216457.99248  21313007.0444   21313011.7484
+       -38.5864        -30.0694
+  20849190.0794  -25093151.52649 -19532231.77248  20849189.9044   20849195.6194
+     -1008.4374       -785.7954
+  22729764.2954  -14673895.11749 -11395152.14847  22729762.8244   22729765.5414
+     -2814.0574      -2192.7744
+  24678527.1444   -2734886.36749  -2122727.48945  24678525.7294   24678531.2844
+       705.7614        549.9454
+  20505285.4444  -21660875.08049 -16569873.54548  20505285.3864   20505290.1564
+      2326.7794       1813.0734
+  20527087.3024  -25258140.31749 -19631385.00848  20527087.0694   20527091.6194
+       929.5314        724.3064
+  23325333.5564   -8067736.62949  -6033399.49346  23325334.0174   23325337.5084
+      3047.5744       2374.7164
+  21409754.6294  -17167904.69049 -13355510.82447  21409753.8754   21409759.2544
+     -2113.0674      -1646.5504
+ 05  1 20  0 27  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24671690.1324   -4188384.01049  -3245485.85445  24671690.9774   24671696.1744
+      2766.2034       2155.4744
+  21313280.3924  -19557626.15449 -15215335.93048  21313280.2914   21313285.6814
+       -57.6974        -44.9654
+  20854980.9674  -25062719.72249 -19508518.67248  20854980.7174   20854986.4004
+     -1020.3904       -795.1154
+  22745850.2844  -14589353.59249 -11329275.58647  22745849.9864   22745853.4254
+     -2822.0504      -2199.0134
+  24674543.4234   -2755813.04849  -2139033.94945  24674543.2244   24674548.4324
+       689.3964        537.1874
+  20492056.2164  -21730394.63549 -16624044.60148  20492056.5444   20492061.2444
+      2307.8294       1798.3064
+  20521834.8694  -25285738.98249 -19652890.43448  20521835.1334   20521840.0264
+       910.4164        709.4104
+  23307939.8704   -8159144.31649  -6104626.22846  23307940.0054   23307943.4784
+      3046.2294       2373.6774
+  21421834.6874  -17104425.91049 -13306046.82447  21421833.5154   21421839.3544
+     -2118.8554      -1651.0594
+ 05  1 20  0 27 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24655911.5054   -4271316.10949  -3310108.10945  24655910.3804   24655915.4834
+      2762.5024       2152.5914
+  21313663.2154  -19555612.65149 -15213766.94748  21313663.2174   21313668.6684
+       -76.8424        -59.8774
+  20860840.9494  -25031929.11449 -19484525.98048  20860840.1744   20860846.1964
+     -1032.3994       -804.4714
+  22761984.1764  -14504572.79649 -11263212.57247  22761983.4014   22761986.8014
+     -2830.0334      -2205.2194
+  24670655.5124   -2776248.33949  -2154957.52845  24670655.4894   24670658.7024
+       672.9714        524.3904
+  20478934.4764  -21799345.33949 -16677772.39548  20478935.0294   20478940.1724
+      2288.8334       1783.5034
+  20516692.7424  -25312764.20449 -19673949.02548  20516692.7564   20516697.4914
+       891.2974        694.5174
+  23290554.6704   -8250510.49449  -6175820.60046  23290553.5974   23290557.7214
+      3044.8064       2372.5804
+  21433946.8444  -17040774.57049 -13256448.37947  21433946.1774   21433951.7564
+     -2124.5934      -1655.5314
+ 05  1 20  0 28  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24640152.7854   -4354136.02949  -3374642.97045  24640151.1224   24640155.5374
+      2758.7884       2149.6994
+  21314155.6744  -19553025.62949 -15211751.06548  21314155.4414   21314160.9064
+       -95.9274        -74.7504
+  20866767.8154  -25000778.87749 -19460253.06348  20866767.4884   20866773.5504
+     -1044.3914       -813.8154
+  22778162.0764  -14419553.58949 -11196963.80347  22778162.3294   22778165.3934
+     -2837.9624      -2211.4044
+  24666860.5524   -2796190.99949  -2170497.24345  24666859.1124   24666865.3034
+       656.5084        511.5684
+  20465923.6804  -21867724.74349 -16731055.02448  20465923.2344   20465927.7434
+      2269.7534       1768.6374
+  20511659.1564  -25339215.44549 -19694560.36148  20511659.0644   20511663.7474
+       872.1544        679.6004
+  23273174.6114   -8341833.95349  -6246981.69246  23273174.7954   23273179.3364
+      3043.3764       2371.4564
+  21446091.0824  -16976951.94149 -13206716.45747  21446090.7414   21446096.6614
+     -2130.2604      -1659.9414
+ 05  1 20  0 28 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24624411.9774   -4436843.34749  -3439090.04245  24624411.2354   24624415.7914
+      2755.0414       2146.7804
+  21314757.0524  -19549865.26849 -15209288.43348  21314757.1064   21314762.3984
+      -115.0254        -89.6314
+  20872764.5354  -24969268.68849 -19435699.65748  20872764.0754   20872769.6714
+     -1056.3764       -823.1494
+  22794386.3164  -14334296.62549 -11130529.76747  22794386.7114   22794388.1174
+     -2845.8724      -2217.5654
+  24663157.7564   -2815639.53649  -2185651.96945  24663157.7414   24663164.1334
+       640.0354        498.7364
+  20453019.8314  -21935530.72849 -16783890.83448  20453020.0354   20453025.0414
+      2250.6154       1753.7274
+  20506734.6574  -25365092.47549 -19714724.26148  20506734.7364   20506739.3104
+       853.0504        664.7144
+  23255806.3834   -8433113.07349  -6318108.21546  23255804.9434   23255808.7354
+      3041.8694       2370.2914
+  21458269.6024  -16912959.41349 -13156852.12647  21458268.4494   21458273.4154
+     -2135.9144      -1664.3424
+ 05  1 20  0 29  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24608696.1454   -4519438.01249  -3503449.41145  24608695.5544   24608698.7994
+      2751.3084       2143.8684
+  21315466.9474  -19546131.62049 -15206379.08348  21315467.4144   21315472.9314
+      -134.1544       -104.5354
+  20878829.0124  -24937397.73849 -19410865.14748  20878828.9424   20878834.6804
+     -1068.4134       -832.5314
+  22810655.8754  -14248802.93649 -11063911.27547  22810655.6674   22810657.7674
+     -2853.7154      -2223.6804
+  24659553.9714   -2834592.84249  -2200420.79945  24659552.2694   24659556.4264
+       623.5294        485.8674
+  20440225.6924  -22002761.27549 -16836278.25948  20440226.0954   20440231.1184
+      2231.3984       1738.7564
+  20501919.7584  -25390394.63949 -19734440.21048  20501919.6364   20501924.5144
+       833.8594        649.7594
+  23238443.7514   -8524346.43149  -6389199.10346  23238443.4914   23238448.1114
+      3040.3684       2369.1094
+  21470478.6644  -16848798.43549 -13106856.55447  21470477.8874   21470483.0154
+     -2141.4894      -1668.6944
+ 05  1 20  0 29 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24592995.0344   -4601919.59549  -3567720.68045  24592997.4484   24593004.2554
+      2747.4224       2140.8424
+  21316288.3244  -19541824.85749 -15203023.15548  21316287.8294   21316292.9254
+      -153.2774       -119.4394
+  20884962.5874  -24905165.79249 -19385749.34048  20884962.1294   20884968.2234
+     -1080.4594       -841.9184
+  22826969.8644  -14163073.12149 -10997108.82147  22826968.6724   22826971.8544
+     -2861.6174      -2229.8334
+  24656038.9984   -2853049.08249  -2214802.21045  24656039.6624   24656044.9194
+       606.8934        472.9034
+  20427542.7164  -22069413.87249 -16888215.32148  20427542.9214   20427547.6134
+      2212.0714       1723.6914
+  20497214.0204  -25415121.66149 -19753707.99948  20497214.1544   20497218.9694
+       814.6564        634.7944
+  23221092.3074   -8615532.81549  -6460253.38646  23221090.8994   23221095.1484
+      3038.7294       2367.8284
+  21482719.6314  -16784470.37849 -13056730.79547  21482719.1034   21482724.7994
+     -2147.0444      -1673.0224
+ 05  1 20  0 30  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24577323.2864   -4684287.69449  -3631903.53245  24577323.2564   24577330.4864
+      2743.6554       2137.9054
+  21317215.8634  -19536945.28549 -15199220.87848  21317216.1944   21317220.9144
+      -172.3504       -134.2964
+  20891164.9644  -24872572.20949 -19360351.73648  20891164.5194   20891170.2294
+     -1092.5334       -851.3264
+  22843327.5584  -14077107.90749 -10930122.93646  22843327.1844   22843330.4004
+     -2869.4414      -2235.9284
+  24652620.9374   -2871007.03449  -2228795.45045  24652621.1244   24652628.1864
+       590.1864        459.8884
+  20414970.2654  -22135486.73449 -16939700.64948  20414970.1934   20414974.1504
+      2192.7144       1708.6074
+  20492618.8744  -25439273.25249 -19772527.40448  20492618.7954   20492623.3904
+       795.5004        619.8724
+  23203747.7334   -8706670.66349  -6531269.83646  23203747.4024   23203752.8564
+      3037.1054       2366.5684
+  21494993.1454  -16719976.54849 -13006475.84647  21494991.6894   21494997.6514
+     -2152.5774      -1677.3344
+ 05  1 20  0 30 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24561672.5184   -4766542.20549  -3695997.81245  24561670.9514   24561676.7884
+      2739.9174       2134.9944
+  21318253.6314  -19531493.02749 -15194972.35048  21318253.3304   21318258.1804
+      -191.4164       -149.1584
+  20897436.9214  -24839616.21849 -19334671.73848  20897436.0444   20897441.6534
+     -1104.5964       -860.7264
+  22859729.3274  -13990908.11849 -10862954.26146  22859729.9244   22859733.7894
+     -2877.2314      -2242.0024
+  24649302.2344   -2888465.09449  -2242399.12345  24649300.4694   24649303.7364
+       573.5974        446.9604
+  20402506.5084  -22200977.50149 -16990732.38648  20402507.0154   20402511.9194
+      2173.2834       1693.4644
+  20488132.4344  -25462848.95249 -19790898.05548  20488132.4124   20488136.8674
+       776.2794        604.8914
+  23186413.8734   -8797758.64449  -6602247.43746  23186414.1334   23186418.4314
+      3035.4104       2365.2554
+  21507296.7104  -16655318.27749 -12956092.77947  21507296.0284   21507301.1764
+     -2158.0154      -1681.5654
+ 05  1 20  0 31  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24546039.8404   -4848682.79649  -3760003.42145  24546039.6054   24546045.5894
+      2736.0484       2131.9884
+  21319399.3814  -19525468.09549 -15190277.58548  21319399.7924   21319405.3344
+      -210.5084       -164.0334
+  20903777.1634  -24806297.34249 -19308708.97548  20903776.2584   20903782.3924
+     -1116.7134       -870.1674
+  22876177.8814  -13904474.71249 -10795603.55046  22876178.1514   22876181.1324
+     -2885.0034      -2248.0534
+  24646073.9824   -2905422.25249  -2255612.47346  24646073.3984   24646080.6854
+       556.8544        433.9114
+  20390155.3824  -22265884.05649 -17041308.90148  20390155.4944   20390160.8474
+      2153.7894       1678.2774
+  20483755.5774  -25485848.35149 -19808819.64948  20483755.3124   20483760.4874
+       757.0424        589.8984
+  23169090.0014   -8888795.39749  -6673185.11846  23169090.4984   23169095.1524
+      3033.6804       2363.9124
+  21519631.7674  -16590497.09849 -12905582.76447  21519631.0714   21519636.6144
+     -2163.3984      -1685.7654
+ 05  1 20  0 31 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24530433.0964   -4930709.43949  -3823920.20545  24530431.3154   24530434.9404
+      2732.3434       2129.0954
+  21320655.6884  -19518870.99849 -15185136.96748  21320655.1524   21320660.4184
+      -229.5944       -178.9064
+  20910186.8614  -24772615.34049 -19282463.25548  20910186.2274   20910192.0264
+     -1128.8274       -879.6064
+  22892670.0484  -13817808.40249 -10728071.33846  22892669.9954   22892673.0234
+     -2892.7684      -2254.1164
+  24642942.8194   -2921877.23149  -2268434.56445  24642941.4884   24642947.8024
+       540.1294        420.8844
+  20377916.0284  -22330204.48149 -17091428.69648  20377916.0754   20377920.5714
+      2134.2074       1663.0144
+  20479488.6164  -25508271.30649 -19826292.06248  20479488.4874   20479493.5014
+       737.8454        574.9374
+  23151777.8874   -8979779.37149  -6744081.66346  23151777.5394   23151781.1454
+      3031.8904       2362.5184
+  21531997.1634  -16525514.12449 -12854946.66847  21531996.6454   21532002.5724
+     -2168.7814      -1689.9694
+ 05  1 20  0 32  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24514841.9054   -5012621.27849  -3887747.51245  24514843.2684   24514848.5784
+      2728.4984       2126.1014
+  21322019.7844  -19511701.96049 -15179550.69548  21322019.4884   21322024.5334
+      -248.6534       -193.7554
+  20916665.2424  -24738569.64849 -19255934.13648  20916664.6514   20916670.4424
+     -1140.9434       -889.0444
+  22909206.9494  -13730909.94149 -10660358.24246  22909206.5704   22909209.6064
+     -2900.5124      -2260.1414
+  24639907.7484   -2937828.14949  -2280863.85045  24639907.4704   24639911.4514
+       523.2954        407.7584
+  20365787.8794  -22393936.88349 -17141090.29248  20365787.8844   20365792.7954
+      2114.5724       1647.7184
+  20475331.8904  -25530117.36849 -19843314.95248  20475331.8034   20475336.1364
+       718.6274        559.9674
+  23134474.0514   -9070708.97849  -6814935.86346  23134473.7424   23134478.0794
+      3030.0544       2361.0704
+  21544393.4554  -16460370.76549 -12804185.60247  21544392.8324   21544398.4064
+     -2174.0794      -1694.0914
+ 05  1 20  0 32 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24499278.8554   -5094418.04749  -3951485.15045  24499278.5244   24499282.4344
+      2724.5894       2123.0504
+  21323492.7274  -19503961.13549 -15173518.87448  21323492.4944   21323497.5324
+      -267.6764       -208.5784
+  20923213.1614  -24704159.54649 -19229121.06748  20923212.6564   20923218.3844
+     -1153.0774       -898.5084
+  22925786.8624  -13643780.09749 -10592464.83847  22925786.8344   22925790.8184
+     -2908.2084      -2266.1224
+  24636968.1934   -2953273.99349  -2292899.53445  24636968.2514   24636973.2274
+       506.4104        394.6054
+  20353772.1144  -22457078.75749 -17190291.72448  20353772.3574   20353777.4044
+      2094.8604       1632.3614
+  20471284.2364  -25551386.47049 -19859888.26148  20471284.1494   20471288.5184
+       699.3674        544.9614
+  23117180.9584   -9161582.62349  -6885746.45746  23117181.2744   23117185.5874
+      3028.1574       2359.5934
+  21556819.7874  -16395068.53849 -12753300.73747  21556819.6144   21556825.0804
+     -2179.4194      -1698.2544
+ 05  1 20  0 33  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24483736.8134   -5176099.76149  -4015133.17145  24483735.8444   24483739.7454
+      2720.8404       2120.1304
+  21325073.3594  -19495648.94149 -15167041.82348  21325073.8024   21325079.1924
+      -286.7174       -223.4144
+  20929830.9444  -24669384.69849 -19202023.78148  20929830.0704   20929836.1154
+     -1165.2654       -907.9974
+  22942411.1734  -13556419.77249 -10524391.88546  22942410.9494   22942413.4984
+     -2915.8404      -2272.0854
+  24634124.5944   -2968213.91949  -2304541.06645  24634123.5714   24634128.8654
+       489.5114        381.4414
+  20341869.6554  -22519628.60649 -17239031.85748  20341869.8774   20341874.4924
+      2075.0894       1616.9534
+  20467346.8034  -25572078.32449 -19876011.75948  20467346.5174   20467350.9384
+       680.1474        529.9834
+  23099899.9964   -9252399.38249  -6956512.72246  23099899.4394   23099903.1434
+      3026.2374       2358.1064
+  21569277.4784  -16329608.41649 -12702292.84447  21569276.4364   21569282.2894
+     -2184.6294      -1702.3134
+ 05  1 20  0 33 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24468213.2544   -5257666.11749  -4078691.27945  24468212.7984   24468218.1144
+      2716.9584       2117.1104
+  21326765.0834  -19486765.79049 -15160119.87548  21326764.5274   21326769.9354
+      -305.7754       -238.2704
+  20936517.4324  -24634244.58449 -19174641.86848  20936516.8484   20936522.7954
+     -1177.4404       -917.4854
+  22959080.4164  -13468829.70749 -10456139.84247  22959079.6184   22959081.5484
+     -2923.4984      -2278.0614
+  24631378.8064   -2982646.23849  -2315786.94945  24631377.2254   24631383.2544
+       472.6184        368.2644
+  20330080.4984  -22581584.15549 -17287308.89148  20330080.2784   20330084.7134
+      2055.2524       1601.4944
+  20463518.8684  -25592192.60849 -19891685.21548  20463518.8944   20463523.4434
+       660.8974        514.9844
+  23082629.8804   -9343157.41349  -7027233.21346  23082628.8284   23082632.7304
+      3024.2354       2356.5444
+  21581763.8164  -16263991.83449 -12651163.03847  21581762.5734   21581768.2784
+     -2189.8234      -1706.3614
+ 05  1 20  0 34  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24452713.1314   -5339117.18149  -4142159.52745  24452713.5334   24452718.1124
+      2713.0794       2114.0874
+  21328562.5644  -19477311.89149 -15152753.18348  21328563.0794   21328568.9264
+      -324.7944       -253.0844
+  20943273.9744  -24598738.80249 -19146975.02548  20943273.6054   20943278.9454
+     -1189.6684       -927.0104
+  22975790.2534  -13381010.86349 -10387709.57247  22975790.1354   22975793.1434
+     -2931.0984      -2283.9704
+  24628731.8834   -2996569.42049  -2326636.19445  24628730.1834   24628733.2914
+       455.6504        355.0514
+  20318403.1374  -22642943.49849 -17335121.34648  20318403.4124   20318408.6024
+      2035.3374       1585.9774
+  20459801.5654  -25611729.26749 -19906908.56548  20459801.1724   20459805.7324
+       641.6224        499.9654
+  23065369.0034   -9433855.46149  -7097906.97146  23065369.5394   23065372.9004
+      3022.2534       2354.9964
+  21594279.8394  -16198220.02549 -12599912.26747  21594278.7404   21594283.6324
+     -2194.9484      -1710.3524
+ 05  1 20  0 34 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24437236.1234   -5420451.89549  -4205537.14045  24437234.9974   24437238.8944
+      2709.2304       2111.0874
+  21330471.1564  -19467287.81149 -15144942.19248  21330470.9444   21330476.4824
+      -343.7794       -267.8804
+  20950099.9514  -24562866.80049 -19119022.81148  20950099.6464   20950105.6204
+     -1201.8564       -936.5114
+  22992545.3724  -13292964.26249 -10319101.81147  22992544.9014   22992547.8314
+     -2938.7144      -2289.9024
+  24626176.0104   -3009982.68549  -2337088.08745  24626175.8244   24626181.8824
+       438.6244        341.7914
+  20306841.0474  -22703704.56749 -17382467.62148  20306840.9524   20306846.0724
+      2015.3514       1570.4034
+  20456193.0734  -25630688.19449 -19921681.74648  20456193.1684   20456198.1524
+       622.3544        484.9524
+  23048122.3284   -9524491.89749  -7168532.74146  23048122.4894   23048124.6454
+      3020.1484       2353.3664
+  21606825.5514  -16132294.48549 -12548541.71247  21606824.3114   21606829.3714
+     -2200.0844      -1714.3484
+ 05  1 20  0 35  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24421778.5094   -5501670.48449  -4268824.28945  24421778.9764   24421784.6804
+      2705.3504       2108.0664
+  21332487.2514  -19456693.82449 -15136687.11948  21332486.9554   21332492.4474
+      -362.7704       -282.6794
+  20956996.0534  -24526628.07549 -19090784.83748  20956995.7404   20957001.8524
+     -1214.1374       -946.0824
+  23009343.6124  -13204690.54349 -10250317.09147  23009343.4494   23009346.0054
+     -2946.2544      -2295.7834
+  24623722.2904   -3022884.70949  -2347141.59646  24623721.0964   24623726.5924
+       421.5394        328.4744
+  20295392.5924  -22763865.69849 -17429346.40348  20295392.7694   20295397.5704
+      1995.3214       1554.7944
+  20452696.1484  -25649069.17249 -19936004.56748  20452695.7394   20452700.1634
+       603.0904        469.9424
+  23030886.3124   -9615065.14449  -7239109.24346  23030886.0164   23030890.0354
+      3018.0514       2351.7224
+  21619399.3314  -16066216.45049 -12497052.32447  21619398.4404   21619403.1814
+     -2205.1304      -1718.2884
+ 05  1 20  0 35 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24406349.5094   -5582772.81849  -4332020.80645  24406346.8284   24406350.8034
+      2701.4654       2105.0284
+  21334611.9124  -19445530.40949 -15127988.35248  21334611.9244   21334616.3834
+      -381.7164       -297.4414
+  20963961.8194  -24490022.29249 -19062260.84548  20963961.7644   20963967.4944
+     -1226.3294       -955.5834
+  23026184.0874  -13116190.49449 -10181356.02046  23026183.8444   23026186.8734
+     -2953.7804      -2301.6444
+  24621364.8434   -3035274.74549  -2356796.18445  24621363.8564   24621366.4674
+       404.4514        315.1554
+  20284058.9404  -22823424.92049 -17475756.16748  20284058.9214   20284063.7654
+      1975.2384       1539.1474
+  20449307.7974  -25666872.00249 -19949876.88548  20449307.9314   20449312.5224
+       583.8024        454.9084
+  23013662.7914   -9705573.72049  -7309635.38046  23013662.8894   23013667.3604
+      3015.8894       2350.0364
+  21632002.2604  -15999987.00649 -12445444.95947  21632001.8274   21632006.6314
+     -2210.1854      -1722.2234
+ 05  1 20  0 36  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24390935.6774   -5663758.81049  -4395126.69345  24390934.4044   24390941.7204
+      2697.6434       2102.0544
+  21336843.8774  -19433798.06149 -15118846.24548  21336843.4804   21336849.4274
+      -400.6914       -312.2314
+  20970997.7624  -24453049.09949 -19033450.57048  20970997.4384   20971003.3184
+     -1238.6044       -965.1444
+  23043068.8454  -13027465.01149 -10112219.26246  23043067.9024   23043070.3224
+     -2961.2794      -2307.4964
+  24619102.5974   -3047151.10449  -2366050.47645  24619102.8064   24619107.5384
+       387.3344        301.8184
+  20272840.9844  -22882380.30049 -17521695.41148  20272840.4144   20272844.9184
+      1955.0944       1523.4544
+  20446030.1374  -25684096.80449 -19963298.79748  20446030.1104   20446034.5844
+       564.5764        439.9324
+  22996452.7874   -9796016.02649  -7380109.87146  22996452.2544   22996455.8604
+      3013.6424       2348.2874
+  21644634.2764  -15933607.45249 -12393720.61947  21644633.0254   21644638.6374
+     -2215.1174      -1726.0664
+ 05  1 20  0 36 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24375546.2624   -5744627.80849  -4458141.40445  24375547.3064   24375552.3084
+      2693.6714       2098.9674
+  21339184.7594  -19421497.27649 -15109261.19348  21339184.3884   21339189.8404
+      -419.6264       -326.9784
+  20978103.2244  -24415707.93549 -19004353.54747  20978102.7674   20978108.9424
+     -1250.8654       -974.6984
+  23059994.8574  -12938515.11449 -10042907.62246  23059994.0454   23059997.6034
+     -2968.7144      -2313.2834
+  24616942.1404   -3058512.66549  -2374903.60445  24616941.7624   24616946.5694
+       370.1244        288.4104
+  20261736.3754  -22940730.18149 -17567162.82848  20261736.4194   20261741.5144
+      1934.8524       1507.6774
+  20442862.5964  -25700743.30349 -19976270.07548  20442862.2644   20442866.9874
+       545.2734        424.8884
+  22979254.5744   -9886390.69949  -7450531.67546  22979254.9574   22979258.2934
+      3011.2964       2346.4764
+  21657293.6034  -15867079.26549 -12341880.46947  21657292.9544   21657298.6284
+     -2220.0874      -1729.9414
+ 05  1 20  0 37  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24360181.8984   -5825379.49049  -4521064.74845  24360181.2274   24360185.4204
+      2689.7344       2095.9004
+  21341633.6414  -19408628.59349 -15099233.62948  21341633.4274   21341638.7254
+      -438.5354       -341.7184
+  20985279.8234  -24377998.20549 -18974969.34248  20985279.4044   20985284.9744
+     -1263.1474       -984.2734
+  23076962.8564  -12849341.49149  -9973421.69946  23076963.5164   23076966.8504
+     -2976.1784      -2319.1064
+  24614877.9554   -3069358.84749  -2383355.17345  24614876.5374   24614882.7444
+       352.9474        275.0194
+  20250748.2094  -22998472.65049 -17612156.94448  20250748.3334   20250753.4764
+      1914.5894       1491.8854
+  20439804.6924  -25716811.66149 -19988790.85948  20439804.5084   20439809.0714
+       525.9894        409.8584
+  22962071.0414   -9976696.02849  -7520899.43446  22962069.5014   22962073.9304
+      3008.9974       2344.6694
+  21669981.9604  -15800403.48649 -12289925.31547  21669980.8154   21669986.2274
+     -2224.9724      -1733.7464
+ 05  1 20  0 37 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24344836.9074   -5906013.66049  -4583896.43345  24344836.3264   24344841.2674
+      2685.7994       2092.8324
+  21344191.1384  -19395192.59749 -15088764.02148  21344190.5664   21344195.1364
+      -457.4504       -356.4544
+  20992526.4254  -24339919.79049 -18945297.84648  20992525.6724   20992530.4514
+     -1275.4674       -993.8704
+  23093976.5914  -12759945.13649  -9903762.19646  23093974.9624   23093977.4754
+     -2983.5964      -2324.8874
+  24612912.3914   -3079688.30749  -2391404.07545  24612910.4254   24612917.5674
+       335.6704        261.5534
+  20239876.7504  -23055605.84649 -17656676.30548  20239876.5874   20239881.2154
+      1894.2404       1476.0314
+  20436857.2314  -25732301.78549 -20000861.06748  20436857.0234   20436861.5354
+       506.7254        394.8514
+  22944899.9814  -10066930.42749  -7591211.93346  22944898.7124   22944903.4234
+      3006.5944       2342.8064
+  21682697.6164  -15733581.45649 -12237856.18947  21682696.6784   21682702.0134
+     -2229.8304      -1737.5264
+ 05  1 20  0 38  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24329515.5614   -5986529.84649  -4646636.25245  24329514.5994   24329517.6584
+      2681.8964       2089.7874
+  21346854.7334  -19381189.76449 -15077852.70848  21346854.6564   21346860.2944
+      -476.3844       -371.2114
+  20999841.8984  -24301472.30949 -18915338.77848  20999841.2864   20999847.2694
+     -1287.7944      -1003.4784
+  23111028.4644  -12670326.88849  -9833929.80946  23111027.9934   23111030.8944
+     -2990.9544      -2330.6104
+  24611045.0004   -3089499.80449  -2399049.42745  24611044.3294   24611050.1114
+       318.3854        248.0894
+  20229120.4354  -23112127.90749 -17700719.46148  20229120.6844   20229125.3384
+      1873.8294       1460.1234
+  20434019.4424  -25747213.64049 -20012480.68348  20434019.4074   20434024.1784
+       487.4624        379.8414
+  22927741.6544  -10157092.16549  -7661467.81246  22927741.7344   22927745.6584
+      3004.1434       2340.8704
+  21695441.1784  -15666614.49849 -12185674.14147  21695439.8934   21695445.6134
+     -2234.6704      -1741.3044
+ 05  1 20  0 38 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24314216.5474   -6066928.17849  -4709284.21745  24314214.9154   24314218.3324
+      2677.9854       2086.7434
+  21349627.2954  -19366620.47649 -15066499.99948  21349627.4154   21349632.7494
+      -495.2394       -385.9064
+  21007228.2464  -24262655.19549 -18885091.67048  21007227.7004   21007233.8464
+     -1300.1194      -1013.0794
+  23128126.9084  -12580487.71249  -9763925.27046  23128125.5144   23128127.4864
+     -2998.3324      -2336.3604
+  24609277.0654   -3098792.99249  -2406290.85445  24609277.6394   24609280.2904
+       301.0984        234.6234
+  20218481.0794  -23168037.51249 -17744285.36748  20218481.3594   20218486.1744
+      1853.3944       1444.2004
+  20431291.5604  -25761547.41549 -20023649.84348  20431291.4504   20431296.2424
+       468.1404        364.7844
+  22910599.8144  -10247179.92049  -7731666.04046  22910599.3744   22910602.9294
+      3001.6514       2338.9424
+  21708211.9344  -15599503.74949 -12133380.04847  21708210.8564   21708215.8374
+     -2239.4304      -1745.0074
+ 05  1 20  0 39  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24298936.5544   -6147208.70649  -4771840.37145  24298935.8584   24298943.3944
+      2674.0364       2083.6624
+  21352506.5874  -19351485.67349 -15054706.63048  21352506.9524   21352512.5094
+      -514.0604       -400.5674
+  21014686.0334  -24223468.21849 -18854556.36248  21014685.2334   21014690.9264
+     -1312.4324      -1022.6754
+  23145261.8204  -12490428.42149  -9693749.17546  23145261.9754   23145265.0814
+     -3005.6614      -2342.0764
+  24607607.2874   -3107566.14149  -2413127.07845  24607607.5374   24607610.9894
+       283.7614        221.1204
+  20207959.6864  -23223332.48549 -17787372.34548  20207959.3224   20207963.9644
+      1832.8994       1428.2324
+  20428673.7294  -25775302.93749 -20034368.42548  20428673.9004   20428678.8374
+       448.9224        349.8114
+  22893470.8534  -10337192.27749  -7801805.51846  22893470.0904   22893474.5894
+      2999.1214       2336.9714
+  21721009.5974  -15532250.42549 -12080974.86147  21721008.3844   21721013.9564
+     -2244.1304      -1748.6694
+ 05  1 20  0 39 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24283684.3114   -6227370.85249  -4834304.28045  24283683.3434   24283688.4994
+      2670.1314       2080.6144
+  21355495.3374  -19335785.77349 -15042472.92948  21355494.9764   21355500.5224
+      -532.8654       -415.2224
+  21022212.8554  -24183910.89049 -18823732.46347  21022212.3944   21022218.5954
+     -1324.7694      -1032.2864
+  23162442.6144  -12400149.98349  -9623402.33746  23162441.8604   23162444.8034
+     -3012.9464      -2347.7414
+  24606036.1774   -3115818.44149  -2419557.44145  24606035.7824   24606040.9844
+       266.3804        207.5724
+  20197553.8774  -23278011.46849 -17829979.32548  20197554.3634   20197558.6474
+      1812.3474       1412.2204
+  20426166.6504  -25788480.40549 -20044636.56448  20426166.6914   20426171.1264
+       429.6524        334.7954
+  22876356.5454  -10427127.41349  -7871884.81346  22876355.9284   22876359.9194
+      2996.5754       2335.0034
+  21733834.0504  -15464855.70849 -12028459.48947  21733833.4914   21733838.6474
+     -2248.8344      -1752.3354
+ 05  1 20  0 40  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24268450.2474   -6307414.37349  -4896675.76845  24268450.8714   24268456.3194
+      2666.1064       2077.4814
+  21358589.8004  -19319521.72149 -15029799.63048  21358589.7704   21358594.7834
+      -551.6794       -429.8824
+  21029811.3664  -24143982.90449 -18792619.74847  21029810.6714   21029816.5314
+     -1337.1494      -1041.9324
+  23179662.8534  -12309653.32649  -9552885.46746  23179662.3034   23179665.5194
+     -3020.1894      -2353.3964
+  24604567.0424   -3123548.84849  -2425581.14345  24604566.4314   24604569.1944
+       248.9704        193.9984
+  20187267.0774  -23332072.70649 -17872104.94348  20187266.7434   20187271.3634
+      1791.7174       1396.1424
+  20423768.8044  -25801079.97849 -20054454.39848  20423768.7644   20423773.5014
+       410.3804        319.7794
+  22859256.9574  -10516983.56149  -7941902.54846  22859256.9474   22859261.3414
+      2993.8634       2332.8874
+  21746685.7024  -15397320.77749 -11975834.86147  21746684.6974   21746690.4964
+     -2253.4824      -1755.9554
+ 05  1 20  0 40 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24253242.5404   -6387339.17649  -4958954.80045  24253242.0714   24253246.9424
+      2662.1744       2074.4284
+  21361793.0664  -19302693.95749 -15016687.07948  21361792.7634   21361797.1794
+      -570.4374       -444.4964
+  21037479.7074  -24103683.87149 -18761217.90747  21037479.0424   21037484.9094
+     -1349.5194      -1051.5724
+  23196926.1984  -12218939.22249  -9482199.17046  23196926.0674   23196927.7224
+     -3027.4024      -2359.0234
+  24603194.1524   -3130756.82749  -2431197.70845  24603194.2334   24603198.9364
+       231.5784        180.4574
+  20177096.5514  -23385514.52749 -17913747.91148  20177096.8514   20177101.6354
+      1771.0384       1380.0294
+  20421481.4874  -25813101.55249 -20063821.84948  20421481.0704   20421485.7224
+       391.1174        304.7664
+  22842174.1324  -10606759.31449  -8011857.66546  22842173.1004   22842176.9634
+      2991.1754       2330.7834
+  21759563.6844  -15329647.07649 -11923102.11347  21759562.9904   21759568.0504
+     -2258.0734      -1759.5394
+ 05  1 20  0 41  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24238056.9284   -6467145.09549  -5021141.11945  24238056.8964   24238061.0044
+      2658.2444       2071.3504
+  21365102.0134  -19285303.11749 -15003135.76548  21365101.8464   21365106.8834
+      -589.2014       -459.1154
+  21045219.0224  -24063013.43549 -18729526.66047  21045218.4784   21045224.7134
+     -1361.8954      -1061.2124
+  23214227.5474  -12128008.60549  -9411344.10846  23214228.2754   23214231.4414
+     -3034.6524      -2364.6684
+  24601922.1564   -3137441.15949  -2436406.27545  24601921.8564   24601926.6894
+       214.0554        166.8044
+  20167045.8114  -23438335.38949 -17954907.00548  20167045.6444   20167050.2914
+      1750.3114       1363.8814
+  20419303.2314  -25824545.68149 -20072739.33748  20419303.2114   20419308.1264
+       371.8854        289.7804
+  22825105.7944  -10696453.32749  -8081749.07546  22825104.7774   22825108.8894
+      2988.4114       2328.6314
+  21772468.1234  -15261835.79849 -11870262.14547  21772466.8544   21772472.1334
+     -2262.6444      -1763.0974
+ 05  1 20  0 41 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24222891.4444   -6546831.76049  -5083234.54345  24222890.9844   24222896.1664
+      2654.2864       2068.2714
+  21368517.9364  -19267350.02949 -14989146.33248  21368518.1994   21368523.0164
+      -607.9204       -473.7064
+  21053029.5454  -24021971.35349 -18697545.81847  21053028.7964   21053034.4064
+     -1374.3034      -1070.8944
+  23231573.9984  -12036862.57049  -9340321.23246  23231573.8194   23231576.6764
+     -3041.8024      -2370.2334
+  24600749.9204   -3143600.63149  -2441205.87445  24600749.7444   24600755.8314
+       196.5634        153.1624
+  20157113.0514  -23490533.58649 -17995580.90948  20157112.7954   20157117.1774
+      1729.5274       1347.6824
+  20417235.0824  -25835412.28049 -20081206.80548  20417235.2784   20417240.1074
+       352.6174        274.7674
+  22808053.6044  -10786063.56349  -8151575.24346  22808052.4944   22808056.2714
+      2985.5984       2326.4484
+  21785397.8014  -15193888.07749 -11817315.86247  21785396.5164   21785402.6484
+     -2267.1584      -1766.6254
+ 05  1 20  0 42  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24207750.6524   -6626399.08649  -5145234.98745  24207751.0284   24207753.7594
+      2650.3024       2065.1724
+  21372041.3234  -19248835.60849 -14974719.49548  21372040.7834   21372046.2214
+      -626.6554       -488.3044
+  21060910.7654  -23980557.35749 -18665275.17547  21060909.6354   21060915.3454
+     -1386.6884      -1080.5324
+  23248958.5604  -11945502.00749  -9269131.18346  23248958.7104   23248962.2174
+     -3048.9284      -2375.7954
+  24599678.2084   -3149234.71049  -2445596.05745  24599677.6884   24599683.6354
+       179.0294        139.5064
+  20147297.7314  -23542107.55449 -18035768.40048  20147297.9934   20147302.8094
+      1708.7074       1331.4564
+  20415277.5044  -25845701.59649 -20089224.44448  20415277.3624   20415281.9904
+       333.4234        259.8104
+  22791018.2454  -10875588.66649  -8221335.08446  22791015.8774   22791021.0464
+      2982.7064       2324.1924
+  21798352.3804  -15125804.91949 -11764264.05147  21798352.1264   21798357.8984
+     -2271.6874      -1770.1504
+ 05  1 20  0 42 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24192633.4074   -6705846.78349  -5207142.20245  24192632.4294   24192637.3504
+      2646.2874       2062.0404
+  21375671.6634  -19229760.55549 -14959855.80448  21375671.2284   21375675.9444
+      -645.2864       -502.8244
+  21068861.6134  -23938771.02049 -18632714.39247  21068861.1724   21068867.0654
+     -1399.1154      -1090.2204
+  23266384.3814  -11853928.00849  -9197774.80946  23266383.5684   23266387.8544
+     -3056.0564      -2381.3494
+  24598704.9714   -3154342.43649  -2449576.10845  24598705.6434   24598709.5284
+       161.5064        125.8374
+  20137602.9344  -23593056.05349 -18075468.51148  20137602.8064   20137607.4984
+      1687.8284       1315.1924
+  20413429.5804  -25855413.91749 -20096792.47148  20413429.4054   20413434.0224
+       314.1384        244.7814
+  22773996.2974  -10965026.95649  -8291027.31246  22773996.6034   22774000.6084
+      2979.7974       2321.9264
+  21811334.3774  -15057587.61449 -11711107.70347  21811333.7134   21811339.4354
+     -2276.1294      -1773.6064
+ 05  1 20  0 43  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24177535.4164   -6785174.65149  -5268956.02445  24177536.1494   24177541.1654
+      2642.2764       2058.9094
+  21379407.4904  -19210125.43249 -14944555.70648  21379407.1474   21379412.4574
+      -663.9394       -517.3584
+  21076884.4994  -23896612.00749 -18599863.21147  21076883.8374   21076889.9424
+     -1411.5574      -1099.9164
+  23283851.3544  -11762141.22449  -9126252.64546  23283850.6564   23283854.4364
+     -3063.0824      -2386.8204
+  24597833.9004   -3158923.19249  -2453145.51145  24597834.6414   24597837.4984
+       143.8634        112.0994
+  20128027.0494  -23643377.27949 -18114679.84548  20128027.5874   20128031.9074
+      1666.8664       1298.8544
+  20411690.7514  -25864549.53849 -20103911.13148  20411690.8514   20411695.5554
+       294.9434        229.8284
+  22756993.7044  -11054376.72449  -8360650.51946  22756993.3294   22756998.1584
+      2976.8304       2319.6104
+  21824340.4654  -14989237.24149 -11657847.67247  21824340.1284   21824345.5974
+     -2280.5504      -1777.0544
+ 05  1 20  0 43 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24162465.7104   -6864382.36549  -5330676.26845  24162464.6454   24162468.1454
+      2638.2184       2055.7564
+  21383249.4714  -19189931.51249 -14928820.16448  21383249.6864   21383255.4334
+      -682.5904       -531.8864
+  21084978.2944  -23854080.07349 -18566721.45047  21084977.1784   21084983.2054
+     -1423.9664      -1109.5824
+  23301357.9694  -11670142.62949  -9054565.43546  23301356.8994   23301359.7944
+     -3070.1634      -2392.3614
+  24597061.5824   -3162976.14649  -2456303.62645  24597060.0244   24597070.1274
+       126.3034         98.4194
+  20118571.3014  -23693069.85449 -18153401.30948  20118571.3254   20118575.9394
+      1645.9374       1282.5494
+  20410062.5714  -25873108.63149 -20110580.54248  20410062.2934   20410066.9414
+       275.7314        214.8544
+  22740008.2304  -11143635.98849  -8430203.18146  22740007.6434   22740012.4934
+      2973.7844       2317.2344
+  21837373.3504  -14920755.03849 -11604484.91847  21837372.6384   21837377.6294
+     -2284.9294      -1780.4614
+ 05  1 20  0 44  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24147413.3294   -6943469.86949  -5392302.83245  24147413.5484   24147418.0284
+      2634.2534       2052.6704
+  21387199.4994  -19169178.89949 -14912649.28648  21387198.9794   21387204.2064
+      -701.1834       -546.3794
+  21093142.7244  -23811174.98549 -18533288.91547  21093141.8794   21093147.6244
+     -1436.4094      -1119.2784
+  23318904.1574  -11577933.32749  -8982714.00546  23318904.5994   23318907.1934
+     -3077.1664      -2397.8044
+  24596391.9204   -3166500.78449  -2459050.09445  24596391.4224   24596395.9074
+       108.6994         84.7034
+  20109234.7064  -23742132.44049 -18191631.87748  20109234.6874   20109239.3544
+      1624.8734       1266.1344
+  20408543.0194  -25881091.52649 -20116800.96848  20408542.8844   20408547.3724
+       256.5254        199.8904
+  22723040.5574  -11232803.07449  -8499683.98846  22723040.2674   22723044.8604
+      2970.6714       2314.8034
+  21850429.4364  -14852142.19149 -11551020.35447  21850428.8554   21850433.8564
+     -2289.2494      -1783.8254
+ 05  1 20  0 44 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24132385.2164   -7022437.26749  -5453835.80045  24132386.7344   24132391.7664
+      2630.2224       2049.5264
+  21391254.2054  -19147869.24049 -14896044.34048  21391254.3514   21391259.0084
+      -719.7444       -560.8434
+  21101377.9894  -23767896.41149 -18499565.35447  21101377.5314   21101383.5174
+     -1448.8794      -1128.9954
+  23336491.3114  -11485514.12049  -8910699.06746  23336491.2404   23336493.8014
+     -3084.1434      -2403.2304
+  24595821.1554   -3169495.90149  -2461383.96845  24595820.6314   24595828.8134
+        90.9914         70.9064
+  20100018.4084  -23790563.42649 -18229370.28748  20100018.6514   20100023.2134
+      1603.8134       1249.7234
+  20407133.5244  -25888498.49049 -20122572.61848  20407133.6614   20407138.1614
+       237.3464        184.9434
+  22706090.3844  -11321876.43349  -8569091.77346  22706090.4534   22706093.3944
+      2967.5344       2312.3664
+  21863510.5634  -14783399.66849 -11497454.74247  21863509.9314   21863515.1104
+     -2293.5654      -1787.1924
+ 05  1 20  0 45  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24117383.3294   -7101283.70649  -5515274.49246  24117382.6264   24117388.3974
+      2626.2584       2046.4314
+  21395415.5644  -19126003.09049 -14879005.77948  21395415.3924   21395419.9414
+      -738.2914       -575.2914
+  21109684.6064  -23724244.23249 -18465550.66247  21109684.1114   21109690.1104
+     -1461.3164      -1138.6904
+  23354115.9874  -11392886.16849  -8838521.44446  23354116.0214   23354120.2114
+     -3091.0884      -2408.6394
+  24595353.2454   -3171960.78049  -2463304.61945  24595353.3764   24595360.1554
+        73.3144         57.1294
+  20090922.7414  -23838361.45349 -18266615.49148  20090923.0414   20090927.6924
+      1582.7034       1233.2754
+  20405834.1244  -25895329.92849 -20127895.80548  20405833.5584   20405838.0684
+       218.1684        170.0004
+  22689159.3134  -11410854.55449  -8638425.33846  22689158.9804   22689162.1614
+      2964.3044       2309.8404
+  21876616.3094  -14714528.65649 -11443789.01747  21876615.8754   21876620.7834
+     -2297.8064      -1790.4934
+ 05  1 20  0 45 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24102403.3644   -7180009.11149  -5576618.91346  24102402.7614   24102407.2304
+      2622.1854       2043.2614
+  21399682.0374  -19103581.36449 -14861534.28648  21399681.9214   21399687.0294
+      -756.7594       -589.6874
+  21118063.2874  -23680218.23249 -18431244.69347  21118062.5464   21118068.4894
+     -1473.8014      -1148.4114
+  23371782.8834  -11300050.48549  -8766181.97846  23371783.4074   23371786.7794
+     -3097.9704      -2414.0064
+  24594985.9154   -3173894.65549  -2464811.53545  24594985.8544   24594989.6464
+        55.6574         43.3654
+  20081948.2324  -23885525.49249 -18303366.67748  20081948.0154   20081952.3804
+      1561.5634       1216.8074
+  20404643.0974  -25901586.26649 -20132770.86648  20404643.1054   20404647.5644
+       198.9954        155.0604
+  22672247.0014  -11499735.58649  -8707683.24346  22672245.2674   22672248.8514
+      2961.0604       2307.3154
+  21889746.7864  -14645530.49749 -11390024.22147  21889745.4324   21889750.9854
+     -2302.0614      -1793.8164
+ 05  1 20  0 46  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24087444.2444   -7258613.53549  -5637869.03846  24087444.3964   24087448.4494
+      2618.1214       2040.0954
+  21404054.1924  -19080605.18149 -14843630.76147  21404053.9364   21404059.0764
+      -775.2424       -604.0874
+  21126511.4024  -23635817.80749 -18396646.96047  21126511.0514   21126516.6574
+     -1486.2974      -1158.1554
+  23389490.3844  -11207007.82149  -8693681.21146  23389489.8114   23389493.4594
+     -3104.9024      -2419.4044
+  24594719.1004   -3175296.97749  -2465904.22445  24594718.4734   24594721.6254
+        37.8824         29.5234
+  20073093.6024  -23932053.77449 -18339622.46848  20073093.7584   20073098.5344
+      1540.3414       1200.2674
+  20403562.0574  -25907267.87149 -20137198.08248  20403561.8534   20403566.2674
+       179.8194        140.1184
+  22655350.2654  -11588517.69249  -8776864.07347  22655350.8614   22655354.2754
+      2957.7424       2304.7384
+  21902900.8264  -14576405.96649 -11336160.94647  21902899.6724   21902904.6364
+     -2306.2434      -1797.0724
+ 05  1 20  0 46 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24072510.5534   -7337096.74849  -5699024.71146  24072509.4394   24072512.7334
+      2614.1004       2036.9564
+  21408531.3494  -19057075.42449 -14825295.87247  21408531.4834   21408536.8124
+      -793.6844       -618.4564
+  21135031.8424  -23591043.05249 -18361757.54147  21135031.8304   21135037.6034
+     -1498.7674      -1167.8724
+  23407235.8084  -11113759.26049  -8621020.00946  23407234.6284   23407236.0884
+     -3111.6974      -2424.6934
+  24594552.6464   -3176167.22449  -2466582.30745  24594552.0924   24594557.8964
+        20.1844         15.7254
+  20064360.6114  -23977945.22349 -18375382.02048  20064360.5434   20064365.4274
+      1519.1024       1183.7174
+  20402589.9004  -25912375.04849 -20141177.68548  20402590.0574   20402594.5744
+       160.7094        125.2244
+  22638476.6344  -11677199.38349  -8845966.65147  22638474.9574   22638479.1104
+      2954.3854       2302.1204
+  21916077.1824  -14507156.33449 -11282200.19647  21916077.1374   21916082.4674
+     -2310.3874      -1800.3054
+ 05  1 20  0 47  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24057597.0514   -7415458.37649  -5760085.61446  24057596.8764   24057601.4284
+      2610.0524       2033.8034
+  21413114.3474  -19032993.05249 -14806530.37748  21413114.5814   21413119.3884
+      -812.0844       -632.7904
+  21143623.5624  -23545893.63149 -18326576.17747  21143623.2014   21143629.1204
+     -1511.2614      -1177.6014
+  23425016.7104  -11020305.70949  -8548199.05046  23425016.6804   23425020.1764
+     -3118.5094      -2430.0004
+  24594488.2834   -3176504.58949  -2466845.24845  24594489.6954   24594492.7654
+         2.3734          1.8634
+  20055750.0064  -24023198.35549 -18410644.18648  20055749.5924   20055754.6014
+      1497.7714       1167.0974
+  20401727.7714  -25916908.43949 -20144710.18848  20401726.9434   20401731.8544
+       141.5784        110.3194
+  22621619.3424  -11765778.74149  -8914989.51047  22621619.2034   22621622.7834
+      2950.9204       2299.4194
+  21929279.1954  -14437782.70549 -11228142.81547  21929278.3524   21929283.7454
+     -2314.4954      -1803.4994
+ 05  1 20  0 47 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24042710.4114   -7493698.61149  -5821052.00446  24042709.4684   24042712.7574
+      2606.0104       2030.6554
+  21417802.5314  -19008359.05249 -14787335.04648  21417802.4534   21417807.4614
+      -830.4624       -647.1184
+  21152286.5764  -23500369.36849 -18291102.71547  21152286.1954   21152292.1424
+     -1523.7174      -1187.3144
+  23442841.2284  -10926648.32349  -8475219.27046  23442840.4604   23442842.1574
+     -3125.3014      -2435.3034
+  24594526.9344   -3176308.51249  -2466692.39845  24594526.4004   24594531.2314
+       -15.4114        -12.0034
+  20047259.9754  -24067812.13149 -18445408.15748  20047259.9994   20047264.4904
+      1476.4184       1150.4564
+  20400973.3184  -25920868.25449 -20147795.75048  20400973.3504   20400978.3194
+       122.4634         95.4264
+  22604782.3224  -11854254.07649  -8983931.29247  22604782.4294   22604786.6094
+      2947.4184       2296.6954
+  21942503.4924  -14368286.22249 -11173989.70847  21942503.0894   21942508.8154
+     -2318.6014      -1806.7014
+ 05  1 20  0 48  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24027842.1124   -7571817.14749  -5881923.49745  24027842.2724   24027846.9724
+      2601.9524       2027.5024
+  21422595.0394  -18983174.34949 -14767710.58848  21422594.8674   21422599.4994
+      -848.8004       -661.4054
+  21161021.8074  -23454470.09749 -18255337.06047  21161021.1544   21161026.4274
+     -1536.2384      -1197.0654
+  23460701.6334  -10832788.07949  -8402081.41346  23460701.2964   23460703.4404
+     -3132.0464      -2440.5494
+  24594663.9734   -3175578.21649  -2466123.34045  24594663.3664   24594670.1304
+       -33.2384        -25.9024
+  20038891.7324  -24111785.15549 -18479672.83148  20038891.8784   20038896.4144
+      1455.0654       1133.8184
+  20400329.1354  -25924255.12149 -20150434.86148  20400329.0774   20400333.6574
+       103.4064         80.5794
+  22587967.1224  -11942624.01749  -9052790.96647  22587966.1934   22587970.1734
+      2943.8964       2293.9434
+  21955752.9374  -14298667.96049 -11119741.70747  21955751.8744   21955757.0074
+     -2322.6224      -1809.8374
+ 05  1 20  0 48 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  24012999.6154   -7649813.88749  -5942700.12145  24013000.6314   24013004.9724
+      2597.8504       2024.2854
+  21427491.4854  -18957440.24749 -14747658.03148  21427491.6884   21427497.2874
+      -867.0994       -675.6604
+  21169826.5804  -23408195.60749 -18219279.00947  21169826.2964   21169832.1604
+     -1548.7774      -1206.8454
+  23478599.7844  -10738725.89249  -8328786.20146  23478600.5254   23478603.3904
+     -3138.7684      -2445.7934
+  24594905.7214   -3174313.14349  -2465137.65445  24594904.9924   24594911.3674
+       -51.1124        -39.8234
+  20030645.8944  -24155116.33049 -18513437.37348  20030646.1854   20030651.2144
+      1433.6694       1117.1454
+  20399794.0534  -25927069.66449 -20152627.99848  20399794.0544   20399798.0994
+        84.2924         65.6824
+  22571170.5774  -12030886.52749  -9121566.92147  22571170.0354   22571174.4474
+      2940.2424       2291.1024
+  21969023.4034  -14228929.01849 -11065399.68947  21969022.9074   21969027.5874
+     -2326.6394      -1812.9694
+ 05  1 20  0 49  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23998182.2134   -7727688.47749  -6003381.55546  23998181.2574   23998184.5404
+      2593.8064       2021.1514
+  21432494.0834  -18931157.65849 -14727178.07947  21432493.2284   21432498.0564
+      -885.3344       -689.8714
+  21178703.6014  -23361545.75249 -18182928.47047  21178703.4014   21178709.2394
+     -1561.2914      -1216.5874
+  23496538.1944  -10644462.89249  -8255334.56146  23496538.5894   23496539.4534
+     -3145.4424      -2450.9994
+  24595248.9154   -3172513.25149  -2463735.09145  24595247.8534   24595250.6764
+       -68.8564        -53.6524
+  20022523.0554  -24197804.29249 -18546700.70648  20022523.2254   20022527.8594
+      1412.2054       1100.4174
+  20399367.3134  -25929312.21549 -20154375.42648  20399366.7854   20399371.6104
+        65.2414         50.8394
+  22554393.9484  -12119039.36549  -9190257.42147  22554395.1094   22554399.8054
+      2936.5944       2288.2544
+  21982316.2474  -14159070.27049 -11010964.28547  21982315.8744   21982321.5404
+     -2330.6174      -1816.0704
+ 05  1 20  0 49 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23983387.9164   -7805441.08049  -6063967.94646  23983385.9954   23983389.7864
+      2589.7334       2017.9754
+  21437598.0544  -18904327.91349 -14706271.77547  21437598.3724   21437603.1934
+      -903.5524       -704.0664
+  21187652.6704  -23314520.21449 -18146285.19447  21187652.1374   21187657.9054
+     -1573.7664      -1226.3134
+  23514514.7334  -10550000.03349  -8181727.11146  23514514.5284   23514516.9684
+     -3152.0764      -2456.1484
+  24595694.2004   -3170177.39349  -2461914.88845  24595692.9864   24595697.9904
+       -86.8214        -67.6564
+  20014522.1904  -24239848.34249 -18579462.29048  20014522.4874   20014527.4214
+      1390.7104       1083.6734
+  20399048.8094  -25930983.39949 -20155677.64748  20399048.7874   20399053.5934
+        46.2374         36.0294
+  22537642.8994  -12207081.31649  -9258861.51147  22537641.4774   22537645.2134
+      2932.8744       2285.3624
+  21995633.0384  -14089092.70749 -10956436.32047  21995632.2494   21995638.1454
+     -2334.5364      -1819.1104
+ 05  1 20  0 50  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23968613.4274   -7883071.37149  -6124459.03746  23968613.7824   23968617.6434
+      2585.6404       2014.7774
+  21442808.7584  -18876951.93349 -14684939.84347  21442808.3224   21442812.8724
+      -921.7644       -718.2584
+  21196673.0944  -23267119.24449 -18109349.37147  21196672.3494   21196677.8874
+     -1586.3224      -1236.0954
+  23532527.8414  -10455338.38449  -8107964.79846  23532527.2254   23532529.7954
+     -3158.7004      -2461.3274
+  24596237.4194   -3167305.53849  -2459677.14345  24596238.4954   24596244.1454
+      -104.7164        -81.5914
+  20006644.4114  -24281246.79749 -18611720.81348  20006644.5074   20006649.4004
+      1369.1504       1066.8644
+  20398839.5554  -25932083.77149 -20156535.06948  20398839.2064   20398844.2694
+        27.2214         21.2084
+  22520909.7084  -12295010.48249  -9327377.71747  22520908.5304   22520912.7844
+      2929.0854       2282.4074
+  22008971.5704  -14018997.68949 -10901816.82647  22008970.8654   22008975.9734
+     -2338.4554      -1822.1824
+ 05  1 20  0 50 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23953865.0704   -7960579.13949  -6184854.64746  23953864.2814   23953868.4334
+      2581.5364       2011.5944
+  21448120.9824  -18849030.91949 -14663183.19947  21448120.8094   21448126.3574
+      -939.9084       -732.3874
+  21205764.1354  -23219342.34349 -18072120.61947  21205764.3254   21205769.8274
+     -1598.8514      -1245.8574
+  23550577.2124  -10360478.98749  -8034048.37246  23550577.8244   23550580.2694
+     -3165.2444      -2466.4174
+  24596886.3744   -3163897.03549  -2457021.17545  24596886.1174   24596890.4944
+      -122.5134        -95.4624
+  19998889.8984  -24321998.83449 -18643475.63448  19998889.7254   19998894.2094
+      1347.6054       1050.0854
+  20398738.1624  -25932614.17049 -20156948.36248  20398738.3314   20398743.1674
+         8.2014          6.3904
+  22504198.8694  -12382825.21149  -9395804.74547  22504198.7494   22504201.9824
+      2925.2214       2279.3974
+  22022332.9864  -13948786.19249 -10847106.55547  22022332.1034   22022337.5804
+     -2342.2974      -1825.1644
+ 05  1 20  0 51  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23939137.8784   -8037963.88449  -6245154.41446  23939137.1814   23939143.1414
+      2577.4674       2008.4204
+  21453537.7104  -18820565.96649 -14641002.70347  21453537.5174   21453543.0744
+      -958.0204       -746.5094
+  21214927.6044  -23171189.47449 -18034598.88247  21214926.9384   21214932.9804
+     -1611.3844      -1255.6194
+  23568666.3564  -10265422.80149  -7959978.61246  23568666.5584   23568669.8034
+     -3171.8254      -2471.5564
+  24597638.2044   -3159951.71549  -2453946.89445  24597637.5314   24597644.3274
+      -140.4934       -109.4744
+  19991258.2134  -24362103.73549 -18674726.19248  19991257.9384   19991262.9234
+      1326.0244       1033.2664
+  20398746.1404  -25932574.93749 -20156917.78348  20398745.8774   20398750.4694
+       -10.7694         -8.3924
+  22487510.5444  -12470523.18549  -9464140.79647  22487510.4924   22487513.8514
+      2921.3014       2276.3424
+  22035715.2694  -13878459.37449 -10792306.43847  22035714.6904   22035720.1544
+     -2346.1394      -1828.1534
+ 05  1 20  0 51 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23924435.4614   -8115225.97449  -6305358.61846  23924435.1694   23924439.3604
+      2573.3544       2005.2154
+  21459057.4604  -18791558.37449 -14618399.37547  21459057.5094   21459063.1294
+      -976.1094       -760.6014
+  21224162.4194  -23122660.53849 -17996784.12147  21224161.9424   21224167.6164
+     -1623.9344      -1265.4014
+  23586790.0254  -10170171.07449  -7885756.48346  23586791.2654   23586795.5454
+     -3178.3394      -2476.6324
+  24598493.2884   -3155468.87349  -2450453.80145  24598492.5414   24598494.7884
+      -158.4664       -123.4794
+  19983749.4614  -24401559.86549 -18705471.21548  19983749.4784   19983754.2154
+      1304.3494       1016.3754
+  20398861.4374  -25931966.90949 -20156443.98548  20398861.6914   20398866.2024
+       -29.7084        -23.1494
+  22470846.5394  -12558102.87049  -9532384.67747  22470844.9944   22470848.1444
+      2917.3014       2273.2234
+  22049119.9644  -13808018.20649 -10737417.21247  22049118.8474   22049124.2744
+     -2349.9474      -1831.1294
+ 05  1 20  0 52  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23909756.7874   -8192364.78549  -6365466.74046  23909756.3944   23909760.9754
+      2569.2204       2001.9924
+  21464681.6564  -18762009.47349 -14595374.24547  21464680.9944   21464685.3494
+      -994.0904       -774.6094
+  21233468.9194  -23073755.36149 -17958676.18847  21233468.5834   21233473.8614
+     -1636.4564      -1275.1564
+  23604953.7734  -10074724.46749  -7811382.52146  23604954.2994   23604959.1194
+     -3184.7474      -2481.6174
+  24599451.0314   -3150448.06549  -2446541.52245  24599446.9754   24599451.9384
+      -176.3414       -137.4114
+  19976364.6924  -24440366.61949 -18735710.22848  19976364.9104   19976369.5984
+      1282.7464        999.5424
+  20399085.4374  -25930790.61549 -20155527.38148  20399085.2894   20399089.9674
+       -48.6154        -37.8794
+  22454203.1994  -12645562.71649  -9600535.18847  22454201.9334   22454204.6904
+      2913.3234       2270.1154
+  22062546.2744  -13737463.66949 -10682439.65147  22062545.2744   22062550.3374
+     -2353.6644      -1834.0214
+ 05  1 20  0 52 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23895100.3244   -8269380.40949  -6425478.90846  23895100.7024   23895104.4854
+      2565.1314       1998.8064
+  21470406.8794  -18731920.19649 -14571928.04447  21470406.8004   21470411.5644
+     -1012.1144       -788.6634
+  21242846.4184  -23024473.95349 -17920275.08147  21242845.8364   21242851.8764
+     -1649.0064      -1284.9454
+  23623155.1134   -9979084.33549  -7736857.76746  23623155.0744   23623158.4684
+     -3191.2584      -2486.6904
+  24600504.4914   -3144888.90448  -2442209.67544  24600504.4534   24600507.9704
+      -194.1824       -151.3154
+  19969103.9594  -24478523.05549 -18765442.50448  19969103.8574   19969108.7264
+      1261.0144        982.6074
+  20399417.1914  -25929046.70449 -20154168.48248  20399417.3554   20399422.0084
+       -67.5644        -52.6474
+  22437582.7024  -12732900.54649  -9668590.61047  22437581.9674   22437585.4704
+      2909.2124       2266.9154
+  22075994.1464  -13666796.81249 -10627374.55847  22075993.4004   22075998.2584
+     -2357.4104      -1836.9424
+ 05  1 20  0 53  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23880470.4664   -8346272.66349  -6485394.88346  23880469.9044   23880472.6624
+      2561.0214       1995.6024
+  21476234.9934  -18701291.97449 -14548061.88847  21476234.5574   21476239.9314
+     -1030.0274       -802.6184
+  21252296.0484  -22974816.21949 -17881580.75447  21252295.4154   21252301.4514
+     -1661.6024      -1294.7554
+  23641394.3704   -9883251.70149  -7662182.98546  23641391.9724   23641394.2214
+     -3197.6094      -2491.6424
+  24601664.4124   -3138790.83348  -2437457.84844  24601661.6604   24601671.0514
+      -212.1944       -165.3474
+  19961967.4464  -24516027.80949 -18794666.98048  19961967.2194   19961971.5614
+      1239.2764        965.6704
+  20399857.2514  -25926735.94549 -20152367.88448  20399857.1254   20399861.6534
+       -86.4294        -67.3484
+  22420985.8064  -12820114.42149  -9736549.44547  22420986.0274   22420988.6574
+      2905.0294       2263.6554
+  22089462.4304  -13596018.56749 -10572222.67447  22089461.4154   22089466.1034
+     -2361.1364      -1839.8434
+ 05  1 20  0 53 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23865860.2484   -8423041.40149  -6545214.64546  23865859.9414   23865864.4824
+      2556.8794       1992.3694
+  21482165.3824  -18670126.10249 -14523776.78447  21482165.7744   21482170.5954
+     -1047.9464       -816.5804
+  21261818.1364  -22924782.01349 -17842593.05947  21261817.0614   21261822.8124
+     -1674.1024      -1304.4934
+  23659663.8984   -9787227.50249  -7587358.91746  23659663.9584   23659667.1204
+     -3203.9704      -2496.6174
+  24602927.7504   -3132153.70249  -2432286.08744  24602927.2284   24602933.3984
+      -230.2534       -179.4124
+  19954953.9714  -24552880.37949 -18823383.25048  19954954.3574   19954958.9554
+      1217.5314        948.7274
+  20400404.6694  -25923859.22749 -20150126.27448  20400404.7784   20400409.0374
+      -105.2954        -82.0464
+  22404414.1044  -12907202.74749  -9804410.46247  22404413.3484   22404416.8644
+      2900.8484       2260.4004
+  22102951.0674  -13525129.65449 -10516984.56147  22102950.6484   22102955.6804
+     -2364.7994      -1842.7044
+ 05  1 20  0 54  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23851272.8414   -8499686.36249  -6604937.95446  23851272.5514   23851278.7804
+      2552.7934       1989.1704
+  21488198.2234  -18638423.93949 -14499073.79147  21488197.6284   21488203.1364
+     -1065.8114       -830.5024
+  21271409.4914  -22874371.40149 -17803312.06547  21271409.3104   21271415.5364
+     -1686.6664      -1314.2874
+  23677971.8534   -9691012.92549  -7512386.52346  23677973.5094   23677975.8694
+     -3210.3434      -2501.5644
+  24604294.7334   -3124977.51649  -2426694.17745  24604294.2224   24604296.5154
+      -248.1494       -193.3694
+  19948065.7854  -24589079.68849 -18851590.49548  19948065.7254   19948070.4314
+      1195.7354        931.7414
+  20401059.9624  -25920417.13749 -20147444.11848  20401059.7764   20401064.0644
+      -124.1174        -96.7174
+  22387864.6964  -12994163.56949  -9872172.11647  22387864.1644   22387868.3824
+      2896.5534       2257.0504
+  22116462.8314  -13454131.55049 -10461661.34847  22116461.4684   22116466.5464
+     -2368.4324      -1845.5354
+ 05  1 20  0 54 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23836713.6694   -8576207.48749  -6664564.75846  23836713.0584   23836718.3314
+      2548.6004       1985.9354
+  21494333.0324  -18606186.77749 -14473953.91947  21494332.9204   21494337.8294
+     -1083.6014       -844.3654
+  21281075.2004  -22823584.13149 -17763737.56847  21281074.5624   21281080.0084
+     -1699.2124      -1324.0594
+  23696319.1814   -9594608.97549  -7437266.57146  23696319.3154   23696321.0514
+     -3216.6434      -2506.4734
+  24605759.8654   -3117261.82848  -2420681.93045  24605761.1084   24605767.3094
+      -266.1324       -207.3744
+  19941301.5984  -24624624.97849 -18879288.11848  19941301.7514   19941306.0984
+      1173.9234        914.7474
+  20401822.2924  -25916410.55149 -20144322.08948  20401821.9004   20401826.3534
+      -142.9274       -111.3714
+  22371341.6974  -13080995.29849  -9939833.18547  22371340.6054   22371345.2004
+      2892.2224       2253.6774
+  22129993.7704  -13383024.85249 -10406253.52847  22129992.4974   22129998.2264
+     -2372.0194      -1848.3264
+ 05  1 20  0 55  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23822177.5014   -8652605.06249  -6724095.31346  23822176.5044   23822179.1994
+      2544.5434       1982.7644
+  21500568.6414  -18573415.80849 -14448418.08447  21500568.7484   21500574.0864
+     -1101.3504       -858.1954
+  21290811.0654  -22772420.37949 -17723869.71847  21290810.5144   21290815.9694
+     -1711.7754      -1333.8534
+  23714700.5794   -9498016.80549  -7362000.00446  23714701.0624   23714702.4344
+     -3222.8814      -2511.3404
+  24607332.6014   -3109006.39149  -2414249.26545  24607332.0284   24607338.7014
+      -284.1404       -221.4074
+  19934662.0224  -24659515.45949 -18906475.48948  19934662.2214   19934667.0444
+      1152.0894        897.7294
+  20402691.6504  -25911840.27649 -20140760.82548  20402691.5614   20402695.9404
+      -161.6624       -125.9754
+  22354841.8714  -13167695.90049 -10007392.07447  22354841.7994   22354846.8814
+      2887.8124       2250.2464
+  22143544.2384  -13311810.87649 -10350762.11947  22143544.1884   22143549.5854
+     -2375.5784      -1851.0964
+ 05  1 20  0 55 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23807659.6694   -8728878.59849  -6783529.16746  23807660.0794   23807665.3424
+      2540.3454       1979.4864
+  21506906.9504  -18540112.65849 -14422467.56947  21506906.8764   21506911.4954
+     -1119.0634       -871.9964
+  21300618.9964  -22720879.97449 -17683708.36247  21300618.0384   21300623.7504
+     -1724.3204      -1343.6274
+  23733117.1284   -9401237.52249  -7286587.59246  23733116.9564   23733118.6884
+     -3229.1114      -2516.1884
+  24609006.4134   -3100210.90749  -2407395.56745  24609006.6824   24609008.9924
+      -302.2094       -235.4854
+  19928147.7324  -24693750.33049 -18933152.00848  19928147.7474   19928152.1714
+      1130.1994        880.6714
+  20403668.3734  -25906707.01549 -20136760.87148  20403668.2474   20403672.9944
+      -180.4634       -140.6234
+  22338369.2794  -13254263.16049 -10074847.05347  22338368.8214   22338373.0714
+      2883.2944       2246.7214
+  22157116.6484  -13240490.28449 -10295187.62347  22157116.1244   22157121.4394
+     -2379.1054      -1853.8494
+ 05  1 20  0 56  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23793170.4234   -8805027.64249  -6842866.05846  23793170.1474   23793175.0044
+      2536.2344       1976.2884
+  21513344.7174  -18506278.67449 -14396103.41547  21513344.2664   21513349.7504
+     -1136.7944       -885.8084
+  21310498.1234  -22668962.97449 -17643253.54747  21310497.4854   21310503.5894
+     -1736.8544      -1353.4004
+  23751568.4464   -9304272.15849  -7211030.16446  23751568.0564   23751571.2974
+     -3235.2904      -2520.9964
+  24610781.0264   -3090875.00948  -2400120.84245  24610779.9324   24610789.6244
+      -320.2514       -249.5404
+  19921757.6304  -24727328.68149 -18959316.93848  19921757.7424   19921762.2914
+      1108.2924        863.6044
+  20404752.3894  -25901011.65249 -20132322.91548  20404752.1034   20404757.0064
+      -199.2034       -155.2244
+  22321922.9774  -13340695.40149 -10142196.82747  22321921.5404   22321925.4694
+      2878.7974       2243.2224
+  22170709.4294  -13169064.32049 -10239531.02447  22170707.8144   22170713.1774
+     -2382.6464      -1856.6074
+ 05  1 20  0 56 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23778704.8194   -8881052.43649  -6902106.11946  23778702.9694   23778707.8174
+      2532.1024       1973.0654
+  21519883.7194  -18471915.19649 -14369326.67447  21519883.9344   21519888.4924
+     -1154.4244       -899.5484
+  21320449.2954  -22616669.46849 -17602505.37147  21320448.9544   21320454.3934
+     -1749.4144      -1363.1774
+  23770056.2014   -9207121.72349  -7135328.56046  23770055.0744   23770057.5254
+     -3241.3874      -2525.7584
+  24612666.3044   -3080998.52449  -2392424.97145  24612665.0464   24612668.1444
+      -338.1884       -263.5134
+  19915493.5054  -24760249.67149 -18984969.64848  19915493.4144   19915497.9144
+      1086.3814        846.5294
+  20405942.6144  -25894755.17549 -20127447.72948  20405942.6734   20405947.3444
+      -217.8614       -169.7634
+  22305500.9034  -13426990.92849 -10209440.06747  22305500.1344   22305504.3054
+      2874.1984       2239.6314
+  22184320.0554  -13097533.85549 -10183793.00347  22184319.4934   22184324.5924
+     -2386.0754      -1859.2794
+ 05  1 20  0 57  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23764260.0524   -8956952.64449  -6961249.09146  23764259.4474   23764264.6704
+      2527.8844       1969.7844
+  21526522.5604  -18437023.55549 -14342138.37447  21526522.7974   21526528.2224
+     -1171.9724       -913.2234
+  21330471.8534  -22563999.40949 -17561463.77347  21330471.5234   21330477.5344
+     -1761.9784      -1372.9684
+  23788576.2504   -9109787.58949  -7059483.76746  23788576.0934   23788579.0084
+     -3247.4954      -2530.5234
+  24614643.4084   -3070581.44748  -2384307.76644  24614641.3934   24614641.8804
+      -356.2534       -277.5974
+  19909353.6554  -24792512.99649 -19010109.89548  19909353.8654   19909358.2894
+      1064.4504        829.4424
+  20407240.8034  -25887938.31149 -20122135.87848  20407240.0454   20407244.6774
+      -236.5494       -184.3244
+  22289105.4854  -13513147.48549 -10276575.01847  22289105.9854   22289108.6894
+      2869.5374       2236.0004
+  22197952.3094  -13025899.88049 -10127974.31947  22197951.2314   22197956.8734
+     -2389.5054      -1861.9574
+ 05  1 20  0 57 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23749839.8744   -9032728.36649  -7020295.06846  23749840.0084   23749844.0734
+      2523.7644       1966.5724
+  21533264.0524  -18401605.41349 -14314539.81747  21533263.5524   21533268.4054
+     -1189.4994       -926.8854
+  21340566.7054  -22510952.53649 -17520128.55547  21340566.0254   21340572.0094
+     -1774.5384      -1382.7534
+  23807133.9224   -9012270.85549  -6983496.72246  23807134.0614   23807136.2954
+     -3253.6714      -2535.3304
+  24616732.5194   -3059623.68349  -2375769.17445  24616732.0564   24616736.3784
+      -374.0994       -291.5034
+  19903339.4054  -24824117.43549 -19034736.72248  19903339.6414   19903344.3994
+      1042.4954        812.3344
+  20408643.4694  -25880562.21849 -20116388.26248  20408643.6234   20408648.0214
+      -255.1534       -198.8214
+  22272738.0614  -13599163.32449 -10343600.31447  22272737.2934   22272740.2994
+      2864.8434       2232.3494
+  22211603.2474  -12954163.23449 -10072075.62347  22211601.7884   22211607.5764
+     -2392.9234      -1864.6124
+ 05  1 20  0 58  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23735442.1694   -9108379.25649  -7079243.78146  23735442.6774   23735448.7094
+      2519.6214       1963.3424
+  21540102.9684  -18365662.25149 -14286532.14547  21540103.0874   21540108.0044
+     -1206.9564       -940.4864
+  21350732.9484  -22457529.16649 -17478499.97047  21350732.6384   21350738.3624
+     -1787.0564      -1392.5154
+  23825726.1004   -8914572.21249  -6907367.96246  23825726.3574   23825728.4904
+     -3259.6134      -2539.9504
+  24618920.5334   -3048125.33549  -2366809.40945  24618919.8894   24618924.4554
+      -392.4514       -305.8044
+  19897451.0404  -24855062.94749 -19058850.09948  19897451.0564   19897455.5564
+      1020.5284        795.2144
+  20410153.8494  -25872627.57949 -20110205.41448  20410153.5394   20410157.9704
+      -273.7334       -213.3014
+  22256396.7804  -13685036.55449 -10410514.48947  22256396.0034   22256399.3414
+      2860.0424       2228.6044
+  22225272.4644  -12882324.80649 -10016097.64247  22225272.6824   22225277.9184
+     -2396.2844      -1867.2354
+ 05  1 20  0 58 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23721072.5664   -9183905.06349  -7138095.02446  23721071.6294   23721074.7104
+      2515.4624       1960.1094
+  21547042.5374  -18329195.43549 -14258116.43547  21547042.3444   21547047.6154
+     -1224.3934       -954.0744
+  21360971.0804  -22403729.28049 -17436577.97947  21360970.2844   21360975.5504
+     -1799.6264      -1402.3114
+  23844351.7644   -8816693.21449  -6831098.59846  23844351.1074   23844354.3304
+     -3265.6784      -2544.6814
+  24621205.2494   -3036085.84949  -2357428.03145  24621208.3974   24621213.8014
+      -410.2874       -319.6954
+  19891687.9874  -24885348.31849 -19082449.07648  19891687.7924   19891692.4194
+       998.5034        778.0504
+  20411769.6574  -25864135.39249 -20103588.11248  20411769.5784   20411773.7294
+      -292.3174       -227.7834
+  22240083.0644  -13770765.40249 -10477316.16747  22240082.3024   22240085.8054
+      2855.1874       2224.8194
+  22238963.4404  -12810385.75749  -9960041.22247  22238962.1504   22238966.2104
+     -2399.6454      -1869.8594
+ 05  1 20  0 59  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23706723.9584   -9259305.95049  -7196848.89646  23706723.3024   23706726.9994
+      2511.2834       1956.8544
+  21554081.4844  -18292206.52049 -14229293.90447  21554081.4324   21554086.4394
+     -1241.7744       -967.6144
+  21371279.6304  -22349553.07149 -17394362.75947  21371279.2374   21371285.2554
+     -1812.1764      -1412.0864
+  23863012.7304   -8718634.82649  -6754689.48446  23863011.3234   23863015.2104
+     -3271.5754      -2549.2844
+  24623604.1584   -3023505.07549  -2347624.73245  24623604.3044   24623607.0964
+      -428.3944       -333.8154
+  19886049.8584  -24914973.43949 -19105533.57948  19886050.1864   19886054.8284
+       976.4804        760.8924
+  20413491.4644  -25855086.74149 -20096537.20348  20413491.3724   20413495.8194
+      -310.8294       -242.2044
+  22223796.7484  -13856347.43249 -10544003.42047  22223796.1644   22223799.9004
+      2850.2524       2220.9754
+  22252671.8664  -12738346.89049  -9903907.04947  22252670.6464   22252675.2954
+     -2402.9594      -1872.4344
+ 05  1 20  0 59 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23692401.1684   -9334581.85649  -7255505.40046  23692400.1034   23692403.2564
+      2507.0824       1953.5664
+  21561218.6904  -18254697.07549 -14200065.74647  21561218.6774   21561224.0134
+     -1259.1104       -981.1284
+  21381661.0994  -22295000.33749 -17351854.13947  21381660.2044   21381666.4204
+     -1824.7384      -1421.8744
+  23881706.8654   -8620398.18549  -6678141.48046  23881706.6724   23881708.3964
+     -3277.5134      -2553.9044
+  24626100.4074   -3010383.34948  -2337399.96245  24626100.3154   24626108.2844
+      -446.4044       -347.8504
+  19880538.7964  -24943937.40449 -19128102.89748  19880538.6474   19880543.2244
+       954.4154        743.6934
+  20415319.2124  -25845482.51649 -20089053.37948  20415318.6904   20415323.5294
+      -329.3524       -256.6414
+  22207539.3484  -13941780.97449 -10610574.98347  22207538.7554   22207542.5184
+      2845.2824       2217.1054
+  22266399.0064  -12666209.08149  -9847695.75847  22266398.0984   22266402.8714
+     -2406.2414      -1874.9954
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20  1  0  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23678099.9704   -9409732.48849  -7314064.26746  23678098.5424   23678102.6194
+      2502.9374       1950.3354
+  21568455.4014  -18216668.63449 -14170433.19047  21568455.4284   21568460.6154
+     -1276.3544       -994.5604
+  21392113.3374  -22240071.22149 -17309052.24747  21392113.4474   21392118.3824
+     -1837.2904      -1431.6544
+  23900433.0564   -8521984.53549  -6601455.55846  23900433.4424   23900435.8844
+     -3283.4004      -2558.4954
+  24628696.6564   -2996720.66848  -2326753.77445  24628699.3144   24628707.3344
+      -464.4544       -361.9104
+  19875152.5064  -24972239.88549 -19150156.76748  19875152.5184   19875157.2184
+       932.3964        726.5444
+  20417252.0414  -25835323.84849 -20081137.52548  20417252.1474   20417256.6624
+      -347.8034       -271.0204
+  22191309.7544  -14027064.11949 -10677029.35047  22191309.6864   22191313.9764
+      2840.2394       2213.1634
+  22280144.5194  -12593973.26449  -9791408.10647  22280143.8524   22280149.6754
+     -2409.4954      -1877.5294
+ 05  1 20  1  0 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23663821.8894   -9484757.80349  -7372525.50546  23663821.4944   23663826.0704
+      2498.7704       1947.1004
+  21575791.4114  -18178122.94849 -14140397.57747  21575790.6184   21575795.6034
+     -1293.6024      -1008.0054
+  21402638.0294  -22184765.97449 -17265957.24747  21402637.1494   21402643.1214
+     -1849.8064      -1441.4084
+  23919195.2414   -8423394.71949  -6524632.32746  23919194.3094   23919195.9084
+     -3289.2854      -2563.0844
+  24631401.7264   -2982516.65749  -2315685.84045  24631402.5144   24631404.4084
+      -482.4394       -375.9234
+  19869892.4854  -24999880.50349 -19171694.90848  19869892.7814   19869897.7154
+       910.2954        709.3184
+  20419290.6224  -25824611.64449 -20072790.34548  20419290.5574   20419295.2754
+      -366.2694       -285.4064
+  22175110.3374  -14112194.87149 -10743364.97347  22175109.1684   22175113.7994
+      2835.1174       2209.1794
+  22293910.4684  -12521640.11749  -9735044.61047  22293909.2794   22293913.8244
+     -2412.7484      -1880.0634
+ 05  1 20  1  1  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23649567.5864   -9559657.87349  -7430889.16146  23649568.1254   23649573.7414
+      2494.5884       1943.8434
+  21583223.1414  -18139061.46249 -14109960.05847  21583223.0344   21583228.8854
+     -1310.7714      -1021.3794
+  21413233.8384  -22129084.47849 -17222569.07647  21413232.7514   21413238.8194
+     -1862.3364      -1451.1764
+  23937987.3784   -8324630.16449  -6447672.96746  23937988.3864   23937991.0504
+     -3294.9844      -2567.5194
+  24634212.0034   -2967771.58649  -2304196.15345  24634208.4074   24634212.7384
+      -500.4614       -389.9684
+  19864759.2294  -25026858.42649 -19192716.65748  19864759.1064   19864763.4854
+       888.2314        692.1264
+  20421434.0334  -25813347.02549 -20064012.71548  20421434.2194   20421438.5604
+      -384.6554       -299.7334
+  22158938.7674  -14197171.05949 -10809580.17147  22158938.7384   22158943.1564
+      2829.9724       2205.1794
+  22307693.0644  -12449210.64049  -9678606.05347  22307691.7414   22307696.5194
+     -2415.9064      -1882.5324
+ 05  1 20  1  1 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23635341.7274   -9634431.99349  -7489154.68046  23635339.8254   23635343.6374
+      2490.3804       1940.5574
+  21590754.4534  -18099485.80949 -14079121.87447  21590754.3494   21590759.7224
+     -1327.8824      -1034.7154
+  21423900.3484  -22073027.12349 -17178888.03547  21423900.1994   21423906.4854
+     -1874.8664      -1460.9324
+  23956816.2734   -8225691.96949  -6370578.33046  23956815.4514   23956817.4774
+     -3300.7704      -2572.0254
+  24637116.7294   -2952485.07048  -2292284.62945  24637118.7404   24637123.4724
+      -518.5184       -404.0434
+  19859751.4264  -25053173.72249 -19213222.08248  19859751.6124   19859756.1324
+       866.1024        674.8834
+  20423682.9414  -25801531.05049 -20054805.45048  20423682.5774   20423687.1534
+      -403.0104       -314.0324
+  22142798.7064  -14281991.01649 -10875673.61847  22142798.5474   22142802.1434
+      2824.6954       2201.0574
+  22321492.1024  -12376685.80649  -9622093.19447  22321491.6024   22321498.0534
+     -2419.0804      -1884.9954
+ 05  1 20  1  2  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23621134.4734   -9709080.27549  -7547322.12746  23621133.7064   23621139.1874
+      2486.1764       1937.2814
+  21598382.8294  -18059397.60249 -14047884.31447  21598383.2164   21598388.3614
+     -1344.9144      -1047.9784
+  21434639.7884  -22016593.79349 -17134914.00747  21434638.8054   21434645.3044
+     -1887.3784      -1470.6844
+  23975676.8144   -8126581.22149  -6293349.20346  23975675.1084   23975677.5744
+     -3306.5554      -2576.5434
+  24640133.4054   -2936657.73248  -2279951.65945  24640132.0034   24640134.1094
+      -536.5354       -418.0824
+  19854870.1014  -25078825.37349 -19233210.37748  19854869.9444   19854874.8204
+       844.0104        657.6714
+  20426036.0084  -25789164.90949 -20045169.48248  20426035.7834   20426040.3134
+      -421.3354       -328.3144
+  22126688.6644  -14366652.61549 -10941643.68947  22126688.3564   22126691.7344
+      2819.4044       2196.9474
+  22335311.3164  -12304066.48149  -9565506.71347  22335311.2814   22335316.5534
+     -2422.1804      -1887.4014
+ 05  1 20  1  2 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23606952.4924   -9783603.06749  -7605391.80846  23606952.1624   23606958.1804
+      2482.0354       1934.0554
+  21606109.3294  -18018798.68649 -14016248.77947  21606108.7854   21606113.8424
+     -1361.9254      -1061.2354
+  21445450.4054  -21959784.87949 -17090647.31647  21445449.6014   21445455.6874
+     -1899.9204      -1480.4534
+  23994568.0304   -8027299.17049  -6215986.58246  23994569.1684   23994570.8734
+     -3312.2374      -2580.9634
+  24643246.3344   -2920289.52858  -2267197.16354  24643249.9174   24643245.2904
+      -554.6554       -432.2144
+  19850115.0064  -25103813.24849 -19252681.44548  19850115.1274   19850119.4294
+       821.8614        640.4114
+  20428493.2644  -25776249.50049 -20035105.51748  20428493.5084   20428497.8634
+      -439.6384       -342.5744
+  22110609.4804  -14451153.85249 -11007488.77447  22110608.3634   22110611.6094
+      2814.0134       2192.7404
+  22349148.9964  -12231353.45549  -9508847.20047  22349148.2514   22349153.5214
+     -2425.3314      -1889.8644
+ 05  1 20  1  3  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23592798.0114   -9857999.84149  -7663363.30146  23592795.6414   23592801.6004
+      2477.8174       1930.7734
+  21613932.3914  -17977690.53349 -13984216.45247  21613931.9794   21613936.6144
+     -1378.9004      -1074.4684
+  21456332.7444  -21902600.24249 -17046087.86347  21456331.9374   21456337.5224
+     -1912.4614      -1490.2254
+  24013492.2904   -7927846.91849  -6138491.31446  24013492.8724   24013496.6784
+     -3317.9354      -2585.3934
+  24646459.3394   -2903380.68558  -2254021.37554  24646461.4474   24646465.7634
+      -572.5004       -446.1184
+  19845485.9244  -25128137.17249 -19271635.14548  19845486.2524   19845490.9614
+       799.7014        623.1464
+  20431055.3864  -25762786.18349 -20024614.61048  20431055.4244   20431060.1464
+      -457.9084       -356.8094
+  22094560.3574  -14535492.71149 -11073207.35247  22094558.9894   22094562.4244
+      2808.5694       2188.5054
+  22363004.1824  -12158547.51049  -9452115.29847  22363003.1734   22363008.9354
+     -2428.4204      -1892.2644
+ 05  1 20  1  3 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23578662.4784   -9932270.67149  -7721236.63446  23578661.8904   23578667.0524
+      2473.5864       1927.4794
+  21621850.6014  -17936074.92449 -13951788.71147  21621850.4534   21621855.6594
+     -1395.7854      -1087.6264
+  21467285.9104  -21845040.13149 -17001235.83447  21467285.0404   21467290.5884
+     -1924.9514      -1499.9684
+  24032450.1144   -7828225.72349  -6060864.44645  24032449.2444   24032453.1984
+     -3323.4944      -2589.7274
+  24649784.7564   -2885930.94948  -2240424.19145  24649782.8814   24649788.0574
+      -590.6764       -460.2674
+  19840984.1304  -25151796.48749 -19290070.97048  19840984.3024   19840988.6504
+       777.5684        605.8974
+  20433721.7944  -25748775.97649 -20013697.55748  20433721.4994   20433725.8174
+      -476.1084       -370.9924
+  22078542.0674  -14619667.20449 -11138797.85947  22078541.2324   22078544.2424
+      2803.0314       2184.1764
+  22376875.5704  -12085649.75649  -9395311.86247  22376874.9694   22376879.9574
+     -2431.4634      -1894.6464
+ 05  1 20  1  4  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23564554.5654  -10006415.31449  -7779011.63746  23564554.6184   23564556.3754
+      2469.4094       1924.2134
+  21629865.7314  -17893953.62349 -13918966.90947  21629865.9774   21629871.3494
+     -1412.6104      -1100.7384
+  21478310.4594  -21787104.97949 -16956091.56247  21478309.6064   21478315.3444
+     -1937.4624      -1509.7114
+  24051439.8304   -7728436.66649  -5983106.74945  24051439.3374   24051443.3524
+     -3329.0894      -2594.1074
+  24653207.0894   -2867940.95849  -2226406.07544  24653204.6344   24653211.1754
+      -608.6664       -474.2724
+  19836608.6674  -25174791.35049 -19307989.03948  19836608.8234   19836613.2164
+       755.3834        588.6064
+  20436491.4604  -25734220.01649 -20002355.23948  20436491.3124   20436495.8964
+      -494.2404       -385.1244
+  22062556.0404  -14703675.12849 -11204258.55847  22062555.2864   22062558.0244
+      2797.4684       2179.8424
+  22390765.2434  -12012661.09649  -9338437.56647  22390763.6944   22390768.6584
+     -2434.4494      -1896.9794
+ 05  1 20  1  4 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23550469.3364  -10080433.84449  -7836688.36346  23550468.4324   23550472.2504
+      2465.1764       1920.9094
+  21637978.4114  -17851328.35049 -13885752.40347  21637977.5704   21637982.8284
+     -1429.3514      -1113.7814
+  21489406.5434  -21728794.58449 -16910654.88947  21489406.0054   21489411.6654
+     -1949.9704      -1519.4634
+  24070460.1574   -7628481.09349  -5905219.28745  24070460.4464   24070462.6234
+     -3334.6534      -2598.4414
+  24656729.6764   -2849410.84858  -2211967.03154  24656732.3874   24656733.0454
+      -626.7114       -488.3524
+  19832359.8974  -25197121.09649 -19325388.83448  19832359.4734   19832363.7624
+       733.2444        571.3564
+  20439364.5854  -25719119.69249 -19990588.74048  20439364.7414   20439369.4724
+      -512.3614       -399.2424
+  22046602.1584  -14787514.64049 -11269588.03847  22046600.9814   22046604.3634
+      2791.8194       2175.4344
+  22404671.0864  -11939582.39149  -9281493.11447  22404670.5144   22404676.2174
+     -2437.4274      -1899.2924
+ 05  1 20  1  5  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23536404.4774  -10154325.79149  -7894266.43646  23536405.1084   23536410.5324
+      2460.9604       1917.6334
+  21646184.2374  -17808200.93249 -13852146.61947  21646184.4264   21646189.5734
+     -1446.0614      -1126.7984
+  21500572.8234  -21670109.36749 -16864926.16547  21500572.9754   21500579.2384
+     -1962.4494      -1529.1804
+  24089514.3744   -7528359.90149  -5827202.76445  24089512.6594   24089515.8284
+     -3340.1174      -2602.6894
+  24660363.9654   -2830340.63848  -2197107.05344  24660360.7274   24660362.7944
+      -644.8404       -502.4824
+  19828235.9124  -25218785.44449 -19342270.14448  19828236.3994   19828241.3144
+       711.0694        554.0784
+  20442342.0164  -25703476.19249 -19978398.99148  20442341.6734   20442346.1064
+      -530.4654       -413.3504
+  22030679.4074  -14871183.67149 -11334784.67247  22030679.1034   22030682.5644
+      2786.1124       2170.9924
+  22418594.8354  -11866414.13149  -9224478.88747  22418593.9234   22418598.8294
+     -2440.4024      -1901.6134
+ 05  1 20  1  5 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23522370.4204  -10228091.12449  -7951745.89246  23522369.8564   23522373.1824
+      2456.7294       1914.3334
+  21654486.1644  -17764573.17249 -13818150.94447  21654485.8484   21654491.6894
+     -1462.7104      -1139.7714
+  21511812.7324  -21611049.60649 -16818905.57047  21511811.7074   21511817.7054
+     -1974.9284      -1538.9114
+  24108596.2164   -7428074.47949  -5749058.32445  24108595.9874   24108598.9474
+     -3345.5774      -2606.9384
+  24664092.5094   -2810730.40758  -2181826.41154  24664091.9914   24664097.9304
+      -662.7934       -516.4574
+  19824240.4974  -25239784.77149 -19358633.24248  19824240.5614   19824245.2104
+       688.8624        536.7774
+  20445421.8324  -25687290.67449 -19965786.88948  20445421.7784   20445426.3024
+      -548.4914       -427.3964
+  22014790.4624  -14954680.20849 -11399846.90147  22014789.8984   22014794.0844
+      2780.3234       2166.4824
+  22432535.9004  -11793156.97949  -9167395.37947  22432533.9494   22432539.9084
+     -2443.3804      -1903.9354
+ 05  1 20  1  6  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23508356.7334  -10301730.04449  -8009126.83346  23508356.2604   23508360.5284
+      2452.5374       1911.0634
+  21662884.0534  -17720446.74549 -13783766.72447  21662883.3644   21662888.4024
+     -1479.3174      -1152.7164
+  21523122.1624  -21551615.34949 -16772593.16847  21523121.8504   21523127.8464
+     -1987.4324      -1548.6444
+  24127711.1234   -7327625.88449  -5670786.77345  24127710.3304   24127715.4944
+     -3350.9754      -2611.1434
+  24667927.2314   -2790580.72758  -2166125.45354  24667924.4044   24667925.7424
+      -680.6444       -530.3824
+  19820371.0674  -25260118.16149 -19374477.43748  19820371.1864   19820375.8784
+       666.6704        519.4824
+  20448604.9304  -25670564.36049 -19952753.38748  20448604.7284   20448609.1004
+      -566.5144       -441.4434
+  21998934.9824  -15038002.26649 -11464773.17947  21998934.5454   21998938.4204
+      2774.4574       2161.9104
+  22446491.7534  -11719812.10249  -9110243.52047  22446490.9014   22446495.4914
+     -2446.2804      -1906.1984
+ 05  1 20  1  6 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23494367.1184  -10375242.45849  -8066409.20446  23494367.4414   23494372.2494
+      2448.2714       1907.7544
+  21671375.4134  -17675823.57549 -13748995.42047  21671375.2134   21671379.6444
+     -1495.8514      -1165.5984
+  21534503.4274  -21491806.89049 -16725989.19047  21534503.0234   21534508.6024
+     -1999.9094      -1558.3694
+  24146857.5384   -7227015.55149  -5592389.15845  24146857.4644   24146861.4964
+     -3356.4124      -2615.3954
+  24671862.0024   -2769892.10058  -2150004.37054  24671869.8354
+      -698.6354       -544.3974
+  19816628.6284  -25279786.03549 -19389803.04348  19816628.6304   19816633.1394
+       644.4844        502.1944
+  20451890.1184  -25653298.48449 -19939299.44748  20451890.1824   20451894.7374
+      -584.4714       -455.4284
+  21983112.7424  -15121147.50549 -11529561.65947  21983112.1184   21983116.5614
+      2768.5404       2157.3044
+  22460465.4574  -11646380.19249  -9053023.84447  22460464.4614   22460469.8554
+     -2449.1774      -1908.4494
+ 05  1 20  1  7  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23480403.4954  -10448627.87849  -8123592.62346  23480402.8514   23480407.4824
+      2444.0414       1904.4364
+  21679960.5404  -17630705.57649 -13713838.53347  21679960.6464   21679965.7474
+     -1512.2934      -1178.4044
+  21545956.6024  -21431624.58849 -16679093.89047  21545955.8554   21545961.1244
+     -2012.3334      -1568.0554
+  24166033.5374   -7126244.54549  -5513866.33045  24166034.0224   24166036.6614
+     -3361.6574      -2619.4664
+  24675901.5164   -2748664.51358  -2133463.25654
+      -716.6364       -558.4344
+  19813012.5134  -25298787.92749 -19404609.70648  19813012.3684   19813017.1774
+       622.2884        484.8974
+  20455278.5894  -25635494.63349 -19925426.30748  20455278.3224   20455282.6114
+      -602.3534       -469.3684
+  21967325.0774  -15204113.98649 -11594210.84347  21967324.5364   21967328.2344
+      2762.5354       2152.6144
+  22474455.8354  -11572862.02249  -8995736.96947  22474455.0034   22474460.4224
+     -2452.0384      -1910.6794
+ 05  1 20  1  7 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23466462.2234  -10521886.48149  -8180677.22346  23466462.5504   23466466.1224
+      2439.8824       1901.2004
+  21688639.6964  -17585094.46949 -13678297.40347  21688639.9434   21688645.2094
+     -1528.7104      -1191.2024
+  21557479.2184  -21371068.45949 -16631907.31347  21557479.3034   21557484.3444
+     -2024.7784      -1577.7504
+  24185242.5584   -7025314.12449  -5435219.25545  24185241.4384   24185242.7004
+     -3367.0254      -2623.6554
+  24680046.0984   -2726898.83648  -2116503.27444
+      -734.6194       -572.4324
+  19809523.2814  -25317124.06949 -19418897.60948  19809523.4144   19809527.8894
+       600.1004        467.6094
+  20458768.4684  -25617153.81549 -19911134.75248  20458768.3754   20458772.8474
+      -620.2614       -483.3224
+  21951570.9784  -15286899.66449 -11658719.14647  21951570.5874   21951574.3224
+      2756.4934       2147.9174
+  22488461.7114  -11499258.23149  -8938383.36347  22488461.1514   22488466.8954
+     -2454.8744      -1912.8814
+ 05  1 20  1  8  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23452546.6664  -10595018.18649  -8237662.93946  23452546.1404   23452549.9804
+      2435.6184       1897.8804
+  21697413.6924  -17538992.14949 -13642373.51447  21697412.9464   21697418.5014
+     -1545.0724      -1203.9554
+  21569074.2464  -21310138.99949 -16584429.82147  21569073.4484   21569079.3464
+     -2037.2404      -1587.4534
+  24204475.0884   -6924225.42749  -5356448.91045  24204476.9364   24204478.7504
+     -3372.2654      -2627.7444
+  24684290.2174   -2704594.32758  -2099123.13754  24684287.7234   24684299.2104
+      -752.5884       -586.4304
+  19806160.6564  -25334794.02349 -19432666.39348  19806160.8574   19806165.5094
+       577.8774        450.2944
+  20462360.3964  -25598277.52349 -19896425.94648  20462360.2934   20462364.8294
+      -638.1044       -497.2204
+  21935853.0434  -15369502.46249 -11723084.95347  21935852.4904   21935855.3184
+      2750.3284       2143.1114
+  22502484.8714  -11425569.86749  -8880963.84347  22502483.7994   22502489.3304
+     -2457.7194      -1915.1094
+ 05  1 20  1  8 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23438653.7974  -10668022.74749  -8294549.58146  23438654.1354   23438657.2744
+      2431.4044       1894.5914
+  21706279.9084  -17492400.53749 -13606068.35947  21706279.4214   21706284.0844
+     -1561.3224      -1216.6164
+  21580740.0164  -21248836.41949 -16536661.59347  21580739.2014   21580744.1934
+     -2049.6684      -1597.1494
+  24223740.2204   -6822979.86049  -5277556.27745  24223741.6414   24223745.2004
+     -3377.4764      -2631.8014
+  24688629.8504   -2681751.93558  -2081323.96054  24688642.0774
+      -770.5354       -600.4184
+  19802925.3684  -25351798.23649 -19445916.41848  19802925.2464   19802929.6754
+       555.7134        433.0224
+  20466053.9604  -25578866.99949 -19881300.85448  20466053.8664   20466058.7174
+      -655.8674       -511.0644
+  21920169.1264  -15451920.28149 -11787306.61047  21920168.7644   21920171.9814
+      2744.1674       2138.3144
+  22516522.7534  -11351797.75349  -8823479.08647  22516522.2454   22516526.9044
+     -2460.4534      -1917.2444
+ 05  1 20  1  9  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23424785.8064  -10740900.11849  -8351337.13146  23424785.2174   23424789.8184
+      2427.0924       1891.2404
+  21715238.0694  -17445321.64149 -13569383.49947  21715237.9084   21715243.1694
+     -1577.5024      -1229.2224
+  21592475.7534  -21187161.07549 -16488602.90047  21592475.1944   21592480.9614
+     -2062.0904      -1606.8254
+  24243037.1784   -6721578.49549  -5198542.25845  24243039.3634   24243041.6794
+     -3382.5994      -2635.7904
+  24693089.9544   -2658371.60158  -2063105.60354
+      -788.3134       -614.2834
+  19799816.0544  -25368136.23249 -19458647.31248  19799816.1944   19799820.6464
+       533.4704        415.6894
+  20469849.1844  -25558923.63649 -19865760.56248  20469848.9864   20469853.6294
+      -673.6114       -524.8944
+  21904520.0104  -15534151.09649 -11851382.56047  21904520.5774   21904524.1844
+      2737.8884       2133.4244
+  22530577.1834  -11277942.52049  -8765929.55947  22530576.3654   22530581.9194
+     -2463.2234      -1919.3994
+ 05  1 20  1  9 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23410941.5754  -10813650.39049  -8408025.61346  23410941.8184   23410944.4764
+      2422.9014       1887.9564
+  21724289.1664  -17397757.38949 -13532320.43847  21724288.8994   21724294.2914
+     -1593.6894      -1241.8374
+  21604282.7054  -21125112.99649 -16440253.77247  21604282.2484   21604288.5704
+     -2074.5244      -1616.5084
+  24262364.6834   -6620022.53849  -5119407.79945  24262363.2184   24262367.9134
+     -3387.7504      -2639.8044
+  24697626.0524   -2634455.55757  -2044469.73254
+      -805.9164       -627.9674
+  19796833.8284  -25383808.38149 -19470859.36148  19796833.6324   19796838.3254
+       511.2684        398.3904
+  20473745.2184  -25538448.86049 -19849806.18448  20473745.2574   20473749.7664
+      -691.3304       -538.7024
+  21888909.2784  -15616192.79149 -11915311.14747  21888908.6304   21888912.1464
+      2731.5174       2128.4484
+  22544647.0924  -11204004.98349  -8708315.89847  22544646.2314   22544651.2154
+     -2465.9614      -1921.5234
+ 05  1 20  1 10  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23397122.5914  -10886273.40649  -8464614.95546  23397121.4834   23397125.2174
+      2418.6624       1884.6644
+  21733431.9104  -17349709.50349 -13494880.52547  21733432.3284   21733437.8194
+     -1609.7484      -1254.3464
+  21616160.3994  -21062692.78449 -16391614.65947  21616160.1964   21616166.8134
+     -2086.8844      -1626.1444
+  24281717.2394   -6518313.33449  -5040153.93345  24281716.8904   24281722.8294
+     -3392.8484      -2643.7784
+  24702296.6424   -2610001.84048     14180.02643
+      -824.0034       -642.0804
+  19793977.9234  -25398814.64849 -19482552.54948  19793978.1244   19793982.7484
+       489.1284        381.1404
+  20477742.8094  -25517444.04249 -19833438.78248  20477742.4904   20477746.7364
+      -708.9194       -552.4024
+  21873334.0394  -15698043.03249 -11979090.55547  21873333.2894   21873336.5174
+      2725.1474       2123.4944
+  22558731.2454  -11129985.73649  -8650638.55747  22558730.9944   22558736.3064
+     -2468.6484      -1923.6374
+ 05  1 20  1 10 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23383326.7174  -10958768.93649  -8521104.96046  23383326.1424   23383330.3354
+      2414.4034       1881.3584
+  21742667.9794  -17301180.21549 -13457065.49047  21742667.3964   21742671.8724
+     -1625.7824      -1266.8394
+  21628110.3844  -20999900.71449 -16342685.79247  21628109.6664   21628115.8284
+     -2099.2804      -1635.8024
+  24301103.8864   -6416452.03449  -4960781.48745  24301102.8344   24301106.5124
+     -3397.8544      -2647.6784
+  24707050.4614   -2585011.96758     33656.86854
+      -841.9104       -656.1704
+  19791249.2234  -25413155.09749 -19493726.91448  19791249.4414   19791253.9864
+       466.9154        363.8304
+  20481840.0234  -25495910.71149 -19816659.55248  20481840.1984   20481844.4674
+      -726.5454       -566.1404
+  21857794.9394  -15779699.86249 -12042719.25347  21857794.5984   21857797.6204
+      2718.6544       2118.4314
+  22572833.1934  -11055885.52649  -8592898.14247  22572832.4124   22572837.2944
+     -2471.3574      -1925.7364
+ 05  1 20  1 11  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23369554.4804  -11031136.73249  -8577495.42146  23369553.9584   23369558.4524
+      2410.1734       1878.0524
+  21751994.1664  -17252171.50349 -13418876.88247  21751993.4194   21751997.8984
+     -1641.7394      -1279.2704
+  21640130.3424  -20936737.11649 -16293467.42647  21640129.8244   21640135.3004
+     -2111.6744      -1645.4574
+  24320514.1154   -6314439.97849  -4881291.61345  24320514.3794   24320517.2784
+     -3402.8824      -2651.5924
+  24711905.3054   -2559487.00758     53551.20154
+      -859.7694       -670.1164
+  19788646.8674  -25426830.05049 -19504382.71548  19788646.9084   19788651.4764
+       444.7264        346.5424
+  20486038.2554  -25473850.12449 -19799469.47448  20486038.0094   20486042.6354
+      -744.0794       -579.8004
+  21842293.2864  -15861161.22549 -12106195.63647  21842292.6214   21842296.1714
+      2712.0914       2113.3154
+  22586949.0874  -10981705.28949  -8535095.33747  22586947.9664   22586954.8664
+     -2474.0114      -1927.7914
+ 05  1 20  1 11 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23355807.3344  -11103376.98849  -8633786.50846  23355806.8494   23355810.9474
+      2405.8954       1874.7314
+  21761409.2334  -17202685.20449 -13380316.13747  21761409.9614   21761415.0344
+     -1657.6354      -1291.6604
+  21652220.0214  -20873202.35749 -16243959.82747  21652219.5814   21652225.2274
+     -2124.0774      -1655.1274
+  24339955.2904   -6212278.50749  -4801685.32345  24339955.2394   24339957.5634
+     -3407.8874      -2655.4984
+  24716864.7594   -2533426.41558     13423.88653
+      -877.5294       -683.7884
+  19786171.1984  -25439839.15549 -19514519.67148  19786171.4524   19786176.0224
+       422.5174        329.2364
+  20490335.8254  -25451263.88249 -19781869.80248  20490335.9584   20490340.5814
+      -761.6014       -593.4544
+  21826829.1584  -15942424.87049 -12169517.95947  21826828.5224   21826832.0234
+      2705.4554       2108.1484
+  22601080.1394  -10907445.72749  -8477230.74447  22601080.1654   22601085.3814
+     -2476.6554      -1929.8604
+ 05  1 20  1 12  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23342085.0024  -11175489.70249  -8689978.22446  23342084.8424   23342089.0974
+      2401.6024       1871.3824
+  21770917.8534  -17152723.30849 -13341384.77347  21770917.6114   21770923.1994
+     -1673.4224      -1303.9674
+  21664381.8414  -20809296.70749 -16194163.22047  21664380.5714   21664386.2844
+     -2136.4004      -1664.7284
+  24359427.3654   -6109968.62149  -4721963.34645  24359425.5864   24359428.2044
+     -3412.8014      -2659.3314
+  24721925.9954   -2506831.64157     34144.20954
+      -895.2964       -697.4844
+  19783822.2604  -25452183.16349 -19524138.36648  19783822.3584   19783826.7404
+       400.3514        311.9654
+  20494734.0264  -25428153.28049 -19763861.52948  20494733.6084   20494738.3364
+      -779.0004       -607.0114
+  21811403.2824  -16023488.81049 -12232684.65647  21811402.6644   21811406.2524
+      2698.7794       2102.9434
+  22615226.4414  -10833107.54549  -8419304.89046  22615225.7554   22615231.2584
+     -2479.2304      -1931.8684
+ 05  1 20  1 12 30.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23328387.2974  -11247474.51349  -8746070.26346  23328387.4144   23328392.0144
+      2397.3614       1868.0644
+  21780514.7204  -17102288.15949 -13302084.65847  21780514.9574   21780520.1694
+     -1689.1554      -1316.2254
+  21676612.1684  -20745020.75049 -16144078.05447  21676611.9644   21676617.7044
+     -2148.7374      -1674.3394
+  24378922.5084   -6007511.57949  -4642126.73645  24378921.7824   24378925.5154
+     -3417.6644      -2663.1184
+  19781599.9484  -25463862.11049 -19533238.82748  19781600.0564   19781604.3234
+       378.2274        294.7224
+  20499231.3004  -25404520.03649 -19745446.00348  20499231.0364   20499235.7134
+      -796.4204       -620.5914
+  21796015.9064  -16104350.51549 -12295693.76147  21796015.2264   21796018.8664
+      2692.0054       2097.6654
+  22629386.5164  -10758691.34849  -8361318.25046  22629386.2794   22629392.2204
+     -2481.8224      -1933.8884
+ 05  1 20  1 13  0.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23314714.6444  -11319331.45949  -8802062.67246  23314714.4074   23314717.4324
+      2393.0884       1864.7434
+  21790202.7494  -17051381.57849 -13262417.18847  21790202.3684   21790206.8334
+     -1704.8674      -1328.4714
+  21688915.5394  -20680374.73749 -16093704.54647  21688914.1924   21688919.7024
+     -2161.0724      -1683.9544
+  24398441.6014   -5904908.99549  -4562176.70845  24398443.6194   24398449.3304
+     -3422.4904      -2666.8714
+  19779503.4684  -25474876.06249 -19541821.11648  19779503.7794   19779508.6384
+       356.0484        277.4414
+  20503828.0154  -25380365.45649 -19726624.25048  20503827.8374   20503832.0954
+      -813.8204       -634.1474
+  21780666.8954  -16185008.01649 -12358543.75947  21780666.6964   21780670.3974
+      2685.1534       2092.3294
+  22643562.6784  -10684197.98849  -8303271.48146  22643561.7724   22643567.6724
+     -2484.3954      -1935.8904
+ 05  1 20  1 13 30.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23301062.6744  -11391060.50349  -8857955.41046  23301063.1824   23301067.5234
+      2388.7794       1861.3744
+  21799978.3764  -17000005.67949 -13222384.02347  21799978.1934   21799983.0854
+     -1720.5134      -1340.6564
+  21701286.0374  -20615359.12349 -16043043.05447  21701285.8574   21701290.7884
+     -2173.3744      -1693.5394
+  24417997.7294   -5802161.85949  -4482114.03445  24417998.0944   24418000.9734
+     -3427.2944      -2670.6194
+  19777534.8934  -25485225.61749 -19549885.69248  19777534.8344   19777539.0684
+       333.9244        260.2004
+  20508523.1364  -25355691.17949 -19707397.53048  20508522.9144   20508527.2674
+      -831.1064       -647.6174
+  21765357.6024  -16265459.40849 -12421233.13947  21765357.3704   21765361.0454
+      2678.2494       2086.9444
+  22657754.0854  -10609628.07049  -8245165.06946  22657752.2214   22657757.5924
+     -2486.9134      -1937.8514
+ 05  1 20  1 14  0.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23287438.9554  -11462661.42149  -8913748.32846  23287438.5334   23287442.7104
+      2384.5444       1858.0774
+  21809844.9604  -16948162.74449 -13181986.93247  21809844.7624   21809849.1574
+     -1736.0184      -1352.7414
+  21713729.0234  -20549974.33149 -15992093.88747  21713728.2714   21713733.8154
+     -2185.6844      -1703.1324
+  24437578.8764   -5699271.45249  -4401939.69745  24437577.3794   24437580.8584
+     -3432.0954      -2674.3564
+  19775691.5394  -25494910.81449 -19557432.58248  19775691.3754   19775696.1714
+       311.7514        242.9254
+  20513316.8634  -25330498.73649 -19687767.04548  20513316.5884   20513321.5394
+      -848.3314       -661.0354
+  21750087.4614  -16345702.43049 -12483760.15047  21750086.9764   21750090.9994
+      2671.2704       2081.5094
+  22671957.4624  -10534982.34749  -8186999.55946  22671956.8144   22671962.6554
+     -2489.4354      -1939.8204
+ 05  1 20  1 14 30.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23273837.5844  -11534134.14049  -8969441.34946  23273836.1814   23273841.9124
+      2380.3084       1854.7914
+  21819798.3474  -16895854.65949 -13141227.38147  21819798.1834   21819803.3624
+     -1751.4844      -1364.7944
+  21726240.1344  -20484220.82549 -15940857.39647  21726239.8584   21726245.8804
+     -2197.9524      -1712.6914
+  24457184.7914   -5596239.09549  -4321654.78845  24457183.7714   24457182.9354
+     -3436.7594      -2678.0034
+  19773975.1004  -25503931.94949 -19564462.02948  19773975.0654   19773979.8094
+       289.6394        225.6934
+  20518209.0164  -25304789.65449 -19667733.98748  20518209.0404   20518213.8234
+      -865.5404       -674.4464
+  21734857.7324  -16425734.83049 -12546123.04947  21734857.1804   21734861.2944
+      2664.1984       2075.9974
+  22686177.5784  -10460261.61149  -8128775.62446  22686176.1004   22686181.2484
+     -2491.9404      -1941.7724
+ 05  1 20  1 15  0.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23260260.8304  -11605478.87049  -9025034.61646  23260260.9294   23260265.8004
+      2376.0234       1851.4494
+  21829840.1204  -16843083.54849 -13100107.02247  21829839.4584   21829844.7624
+     -1766.8704      -1376.7794
+  21738822.0814  -20418098.87349 -15889333.83647  21738822.8544   21738829.2654
+     -2210.2274      -1722.2584
+  24476817.1934   -5493065.94849  -4241260.06245  24476816.3234   24476821.2964
+     -3441.4284      -2681.6304
+  19772384.0634  -25512289.58149 -19570974.46348  19772384.4834   19772389.0194
+       267.5164        208.4564
+  20523199.0294  -25278565.67149 -19647299.71148  20523199.1854   20523204.1654
+      -882.6644       -687.7874
+  21719669.4304  -16505554.07549 -12608319.85847  21719668.8864   21719672.0434
+      2657.0564       2070.4364
+  22700409.0744  -10385466.21349  -8070493.49246  22700408.9974   22700414.8404
+     -2494.4254      -1943.7114
+ 05  1 20  1 15 30.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23246709.6964  -11676695.15749  -9080527.82746  23246708.4864   23246713.0694
+      2371.7244       1848.0934
+  21839969.3114  -16789851.70249 -13058627.67747  21839969.8844   21839974.4714
+     -1782.1984      -1388.7254
+  21751476.5224  -20351609.19949 -15837523.71947  21751475.5284   21751482.1274
+     -2222.4834      -1731.7984
+  24496475.0144   -5389753.50449  -4160756.91345  24496476.6334   24496479.7434
+     -3446.0734      -2685.2444
+  19770920.4294  -25519984.12849 -19576970.20348  19770920.3944   19770924.8454
+       245.4374        191.2514
+  20528287.4594  -25251828.09749 -19626465.22948  20528287.2134   20528292.0144
+      -899.8014       -701.1424
+  21704521.5914  -16585158.33449 -12670349.15347  21704520.4494   21704524.0004
+      2649.8644       2064.8304
+  22714655.4324  -10310596.81149  -8012153.70446  22714655.5094   22714661.5684
+     -2496.8594      -1945.5884
+ 05  1 20  1 16  0.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23233181.2614  -11747782.92749  -9135920.89546  23233181.6204   23233184.6534
+      2367.4654       1844.7664
+  21850187.4084  -16736161.19249 -13016790.90947  21850186.8334   21850191.8614
+     -1797.4334      -1400.5944
+  21764198.0934  -20284752.23049 -15785427.40347  21764197.6384   21764204.2694
+     -2234.7084      -1741.3294
+  24516163.7594   -5286302.99649  -4080146.22245  24516164.8304   24516165.4574
+     -3450.6084      -2688.7794
+  19769582.3424  -25527015.92849 -19582449.52048  19769582.2544   19769586.8234
+       223.3644        174.0514
+  20533473.2964  -25224578.68649 -19605231.91748  20533472.7164   20533477.2694
+      -916.7744       -714.3674
+  21689414.0944  -16664545.46249 -12732209.25747  21689413.9174   21689417.2264
+      2642.6024       2059.1644
+  22728917.4514  -10235654.29149  -7953756.92846  22728916.9334   22728921.9634
+     -2499.2954      -1947.5034
+ 05  1 20  1 16 30.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23219677.7454  -11818742.20249  -9191213.80446  23219677.8344   23219683.0444
+      2363.1894       1841.4404
+  21860490.6364  -16682014.37249 -12974598.57547  21860490.3884   21860495.3614
+     -1812.5804      -1412.4044
+  21776990.6444  -20217528.20149 -15733045.09047  21776990.6834   21776996.1804
+     -2246.9384      -1750.8654
+  24535877.1374   -5182715.61549  -3999428.87445  24535878.1114   24535878.7504
+     -3455.1564      -2692.3324
+  19768370.2224  -25533385.26149 -19587412.62548  19768370.3084   19768374.6194
+       201.2894        156.8494
+  20538755.5434  -25196819.08049 -19583601.04748  20538755.3924   20538759.4724
+      -933.7524       -727.6014
+  21674349.1654  -16743713.34949 -12793898.50347  21674348.3624   21674352.2564
+      2635.2544       2053.4444
+  22743193.6714  -10160639.23349  -7895303.64646  22743190.9324   22743197.0124
+     -2501.6894      -1949.3664
+ 05  1 20  1 17  0.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23206200.6244  -11889572.94049  -9246406.56446  23206199.4284   23206204.1414
+      2358.8954       1838.0994
+  21870880.9494  -16627413.06249 -12932052.10547  21870880.8504   21870885.9774
+     -1827.7264      -1424.2074
+  21789852.9754  -20149937.65649 -15680377.15047  21789852.1174   21789858.2074
+     -2259.1454      -1760.3694
+  24555612.2234   -5078992.84349  -3918605.96044  24555612.1374   24555614.1734
+     -3459.6784      -2695.8504
+  19767284.2444  -25539093.02549 -19591860.23048  19767284.1174   19767288.4494
+       179.2234        139.6554
+  20544134.6124  -25168550.91449 -19561573.89548  20544134.3294   20544139.0004
+      -950.6934       -740.8014
+  21659325.8554  -16822659.73149 -12855415.16147  21659325.3174   21659329.1834
+      2627.8394       2047.6654
+  22757480.0934  -10085552.43149  -7836794.43246  22757480.0434   22757485.3174
+     -2504.0904      -1951.2504
+ 05  1 20  1 17 30.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23192745.0844  -11960275.11649  -9301499.16546  23192745.3974   23192749.8584
+      2354.5864       1834.7454
+  21881357.6074  -16572359.81449 -12889153.46247  21881356.9784   21881362.3114
+     -1842.7414      -1435.9044
+  21802784.3234  -20081981.17049 -15627424.07747  21802784.7084   21802789.4804
+     -2271.3404      -1769.8734
+  24575376.8574   -4975136.00749  -3837678.52044  24575377.8784   24575382.5704
+     -3464.1664      -2699.3524
+  19766323.7964  -25544139.28149 -19595792.36248  19766323.7454   19766328.3954
+       157.1644        122.4654
+  20549610.0334  -25139775.69849 -19539151.64648  20549610.0644   20549614.7004
+      -967.5784       -753.9614
+  21644345.7634  -16901382.23149 -12916757.36247  21644345.5454   21644348.7574
+      2620.3234       2041.8104
+  22771782.6324  -10010394.38149  -7778229.73046  22771782.5014   22771787.8244
+     -2506.4594      -1953.0734
+ 05  1 20  1 18  0.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23179316.7014  -12030848.65649  -9356491.51246  23179316.3284   23179320.1804
+      2350.2984       1831.3944
+  21891919.6394  -16516856.72849 -12845904.30747  21891919.4274   21891923.4534
+     -1857.7364      -1447.5904
+  21815786.1394  -20013659.39749 -15574186.34647  21815785.4694   21815791.1834
+     -2283.4994      -1779.3534
+  24595163.7124   -4871146.33148  -3756647.62044  24595159.3064   24595161.2504
+     -3468.5604      -2702.7774
+  19765488.9044  -25548524.72249 -19599209.57948  19765489.1164   19765493.6044
+       135.1834        105.3344
+  20555182.1564  -25110495.19749 -19516335.66448  20555182.1644   20555186.7044
+      -984.3894       -767.0564
+  21629408.8534  -16979878.54749 -12977923.30847  21629407.5784   21629411.6064
+      2612.7494       2035.9024
+  22786098.1384   -9935165.79049  -7719610.04746  22786098.5564   22786103.0254
+     -2508.7654      -1954.8844
+ 05  1 20  1 18 30.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23165911.8754  -12101293.22149  -9411383.35746  23165910.6164   23165914.8154
+      2346.0124       1828.0604
+  21902565.2764  -16460906.08949 -12802306.41747  21902565.8264   21902570.3974
+     -1872.5974      -1459.1614
+  21828856.5794  -19944972.78749 -15520664.34947  21828856.1404   21828862.6864
+     -2295.6564      -1788.8084
+  24614974.2564   -4767024.83148  -3675514.03544  24614975.7534
+     -3472.7904      -2706.0694
+  19764779.8024  -25552250.07149 -19602112.44248  19764779.9754   19764784.7054
+       113.1804         88.1934
+  20560850.1204  -25080711.28249 -19493127.41148  20560849.8974   20560854.5444
+     -1001.1194       -780.0904
+  21614513.7194  -17058146.63949 -13038911.41547  21614513.3714   21614517.5954
+      2605.1004       2029.9514
+  22800427.6514   -9859867.20749  -7660935.82746  22800426.9894   22800432.7104
+     -2511.0994      -1956.6974
+ 05  1 20  1 19  0.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23152529.5834  -12171609.04249  -9466174.90046  23152529.3804   23152534.0504
+      2341.7404       1824.7364
+  21913298.4404  -16404510.09149 -12758361.47047  21913297.5894   21913302.6514
+     -1887.4214      -1470.7194
+  21841996.8994  -19875921.93549 -15466858.51647  21841996.1574   21842001.6524
+     -2307.7984      -1798.2854
+  24634816.3644   -4662773.24049  -3594278.98645  24634817.5134   24634817.9984
+     -3477.2264      -2709.5274
+  19764196.8944  -25555315.60449 -19604501.15448  19764196.9544   19764201.3864
+        91.2024         71.0644
+  20566613.5314  -25050425.33349 -19469527.96548  20566612.9234   20566617.4314
+     -1017.8374       -793.1194
+  21599664.3274  -17136184.33249 -13099719.99447  21599663.6884   21599667.2854
+      2597.3864       2023.9364
+  22814769.8404   -9784499.54049  -7602207.77746  22814769.4744   22814773.7964
+     -2513.3924      -1958.4834
+ 05  1 20  1 19 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23139172.4894  -12241796.07649  -9520866.08246  23139172.3634   23139177.6304
+      2337.4464       1821.3974
+  21924113.7174  -16347670.96849 -12714071.25247  21924113.9634   21924118.8164
+     -1902.1224      -1482.1724
+  21855206.0584  -19806507.20549 -15412769.15747  21855205.4424   21855210.8844
+     -2319.9104      -1807.7214
+  24654683.3104   -4558392.73249  -3512943.49745  24654679.4774   24654685.2784
+     -3481.4094      -2712.7824
+                     31231.66341
+     -1159.8174
+  19763738.8754  -25557722.21149 -19606376.42548  19763738.9034   19763743.3834
+        69.2214         53.9394
+  20572471.6954  -25019639.18249 -19445538.75548  20572471.5194   20572475.9884
+     -1034.4844       -806.0914
+  21584858.6184  -17213989.37949 -13160347.29547  21584858.0134   21584861.6754
+      2589.6014       2017.8694
+  22829124.7834   -9709063.20549  -7543426.20446  22829123.7454   22829129.5014
+     -2515.6654      -1960.2624
+ 05  1 20  1 20  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23125841.9814  -12311854.10849  -9575456.74646  23125841.9864   23125846.0694
+      2333.1344       1818.0244
+  21935014.2864  -16290391.18549 -12669437.64747  21935013.5574   21935019.1004
+     -1916.7814      -1493.5944
+  21868484.4614  -19736729.20549 -15358396.69647  21868483.6904   21868489.2894
+     -2331.9944      -1817.1344
+  24674564.8064   -4453884.68549  -3431508.73845  24674567.9174   24674570.7964
+     -3485.6924      -2716.1264
+                     66286.67041
+     -1177.2404
+  19763406.2014  -25559470.60049 -19607738.79348  19763406.3574   19763410.8154
+        47.3274         36.8794
+  20578424.5024  -24988354.81949 -19421161.32348  20578424.6594   20578429.0604
+     -1051.0354       -818.9874
+  21570097.6284  -17291559.30049 -13220791.38347  21570097.2534   21570100.3524
+      2581.7404       2011.7504
+  22843493.3904   -9633558.90249  -7484591.67446  22843492.9224   22843496.7954
+     -2517.9234      -1962.0284
+ 05  1 20  1 20 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23112535.8964  -12381782.86949  -9629946.66346  23112535.5034   23112539.6234
+      2328.7824       1814.6334
+  21945997.4564  -16232672.78649 -12624462.27147  21945997.2474   21946002.5034
+     -1931.4024      -1504.9854
+  21881831.4714  -19666588.66849 -15303741.75547  21881830.7824   21881836.9734
+     -2344.1024      -1826.5744
+  24694474.0524   -4349250.39448  -3349975.58345  24694478.3704   24694480.1284
+     -3489.9224      -2719.4164
+                    101863.92541     38823.807 4                  24817709.063
+     -1194.5894       -913.419
+  19763198.7314  -25560561.40149 -19608588.76348  19763198.8324   19763203.2794
+        25.3944         19.7874
+  20584472.3154  -24956573.63249 -19396396.76048  20584472.4604   20584476.8414
+     -1067.6474       -831.9324
+  21555380.8494  -17368892.20349 -13281050.78947  21555380.9274   21555384.4344
+      2573.7704       2005.5364
+  22857872.5154   -9557987.14849  -7425704.58846  22857872.8864   22857878.8994
+     -2520.1794      -1963.7754
+ 05  1 20  1 21  0.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23099252.8324  -12451582.30949  -9684335.81946  23099252.4914   23099257.2234
+      2324.4904       1811.2894
+  21957063.8244  -16174518.18249 -12579146.98847  21957063.6904   21957068.8124
+     -1945.8824      -1516.2804
+  21895248.0324  -19596086.06449 -15248804.66347  21895246.5854   21895252.7854
+     -2356.1384      -1835.9584
+  24714414.3714   -4244491.09049  -3268345.03745  24714412.4444   24714414.2354
+     -3494.0874      -2722.6674
+  19763116.1164  -25560995.21649 -19608926.78948  19763116.0424   19763120.5974
+         3.5124          2.7394
+  20590614.3724  -24924297.48549 -19371246.51248  20590614.4434   20590618.7264
+     -1084.1014       -844.7554
+  21540711.1894  -17445985.81149 -13341123.72447  21540710.6804   21540714.0674
+      2565.7674       1999.3034
+  22872267.3494   -9482348.35849  -7366765.28046  22872266.7084   22872271.7164
+     -2522.4274      -1965.5274
+ 05  1 20  1 21 30.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23085994.4144  -12521252.30749  -9738624.11946  23085994.6204   23085999.5894
+      2320.1544       1807.9044
+  21968212.8264  -16115929.75449 -12533493.66147  21968212.7314   21968218.0014
+     -1960.3134      -1527.5234
+  21908732.4004  -19525222.21949 -15193586.13147  21908731.9064   21908738.3664
+     -2368.1894      -1845.3464
+  24734372.6744   -4139608.28049  -3186618.17444  24734373.7564   24734375.5844
+     -3498.1914      -2725.8674
+  19763158.2534  -25560772.75549 -19608753.43748  19763158.4134   19763162.9414
+       -18.3814        -14.3224
+  20596850.2774  -24891528.19849 -19345711.99548  20596850.0164   20596854.6344
+     -1100.4844       -857.5194
+  21526086.3424  -17522837.66949 -13401008.28047  21526085.8054   21526089.3034
+      2557.6634       1992.9884
+  22886672.5404   -9406643.20649  -7307774.26546  22886672.4454   22886678.1054
+     -2524.6314      -1967.2464
+ 05  1 20  1 22  0.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23072763.2844  -12590792.69349  -9792811.43346  23072761.9844   23072766.4714
+      2315.8864       1804.5824
+  21979444.5674  -16056909.99549 -12487504.24847  21979443.8174   21979449.2814
+     -1974.6354      -1538.6744
+  21922286.2944  -19453997.49849 -15138086.36247  21922285.7194   21922291.6654
+     -2380.1914      -1854.6884
+  24754356.0324   -4034603.18749  -3104796.08044  24754353.4064   24754362.1724
+     -3502.2304      -2729.0004
+  19763325.4364  -25559894.76649 -19608069.27548  19763325.4684   19763329.8704
+       -40.1714        -31.3044
+  20603179.6884  -24858267.47449 -19319794.54148  20603179.4434   20603183.8844
+     -1116.8124       -870.2454
+  21511508.5834  -17599445.37449 -13460702.58447  21511507.9904   21511511.8464
+      2549.5094       1986.6284
+  22901091.8964   -9330872.42949  -7248732.10146  22901091.0094   22901095.9174
+     -2526.7874      -1968.9174
+ 05  1 20  1 22 30.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23059553.7334  -12660203.84849  -9846898.02946  23059553.3144   23059557.3944
+      2311.5744       1801.2324
+  21990756.5224  -15997461.04349 -12441180.39247  21990756.5464   21990761.1004
+     -1988.8944      -1549.7864
+  21935908.4944  -19382412.45149 -15082305.81947  21935907.6054   21935914.0914
+     -2392.1964      -1864.0474
+  24774360.1394   -3929477.24549  -3022879.80644  24774360.4254   24774359.8384
+     -3506.2594      -2732.1564
+  19763616.9354  -25558362.36149 -19606875.18548  19763617.1624   19763621.5694
+       -61.9974        -48.3104
+  20609602.3044  -24824517.10349 -19293495.55348  20609602.0684   20609606.4824
+     -1133.1474       -882.9704
+  21496977.4674  -17675807.07849 -13520205.19847  21496976.7434   21496980.7714
+      2541.2794       1980.2204
+  22915523.9144   -9255036.75649  -7189639.37946  22915522.7634   22915528.1704
+     -2528.9234      -1970.5744
+ 05  1 20  1 23  0.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23046369.3954  -12729485.60049  -9900883.79146  23046368.9564   23046373.5944
+      2307.2644       1797.8664
+  22002151.4094  -15937585.25349 -12394523.92247  22002150.4864   22002155.1864
+     -2003.0424      -1560.8124
+  21949599.0934  -19310468.07649 -15026245.28947  21949598.9004   21949604.6724
+     -2404.1524      -1873.3604
+  24794388.2464   -3824232.01349  -2940870.42345  24794386.2344   24794389.4434
+     -3510.1724      -2735.2094
+  19764033.0504  -25556175.92449 -19605171.45448  19764033.0584   19764037.7134
+       -83.7654        -65.2714
+  20616116.9234  -24790279.24949 -19266816.70248  20616116.9254   20616121.7414
+     -1149.3134       -895.5664
+  21482493.3594  -17751920.25449 -13579514.16547  21482492.9694   21482496.7704
+      2532.9594       1973.7344
+  22929967.8314   -9179136.74149  -7130496.51146  22929966.2944   22929971.0864
+     -2531.0754      -1972.2484
+ 05  1 20  1 23 30.0000000  0  8G18G 6G17G 2G26G29G21G10
+  23033210.1874  -12798637.86649  -9954768.66046  23033210.2984   23033214.9614
+      2302.8934       1794.4634
+  22013624.2754  -15877285.18249 -12347536.86247  22013624.6724   22013630.2504
+     -2017.2164      -1571.8574
+  21963358.3664  -19238164.81949 -14969905.13147  21963357.6484   21963363.4274
+     -2416.1434      -1882.7074
+  24814439.3274   -3718868.41049  -2858768.89545  24814438.6984   24814440.5764
+     -3514.1664      -2738.3124
+  19764573.3204  -25553336.62349 -19602959.00448  19764573.3804   19764577.9484
+      -105.5314        -82.2344
+  20622724.9464  -24755555.26049 -19239759.05148  20622724.6824   20622729.2814
+     -1165.5274       -908.2054
+  21468057.2404  -17827782.57349 -13638627.65947  21468057.1954   21468060.7444
+      2524.5284       1967.1624
+  22944421.8754   -9103172.74749  -7071303.79346  22944421.0024   22944426.5564
+     -2533.1904      -1973.9154
+ 05  1 20  1 24  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23020077.8844  -12867660.28349 -10008552.35346  23020075.9494   23020079.7124
+      2298.5824       1791.1114
+  22025180.9054  -15816563.09949 -12300220.94947  22025180.9964   22025185.2194
+     -2031.2194      -1582.7674
+  21977186.1254  -19165503.39249 -14913285.84947  21977185.2154   21977190.3154
+     -2428.0254      -1891.9694
+  24834506.7954   -3613387.97948  -2776576.48144  24834508.3184   24834508.4624
+     -3517.8974      -2741.2314
+  24873554.5834      25158.61249      8452.99243
+     -1315.3124      -1024.9194
+  19765237.7254  -25549845.14349 -19600238.36548  19765237.8614   19765242.3344
+      -127.2374        -99.1464
+  20629425.5714  -24720347.23849 -19212324.21948  20629424.6944   20629429.0514
+     -1181.6294       -920.7484
+  21453669.7784  -17903391.83449 -13697543.96247  21453669.0724   21453672.3874
+      2516.0854       1960.5894
+  22958889.1454   -9027145.35949  -7012061.65646  22958888.3634   22958894.7764
+     -2535.2994      -1975.5454
+ 05  1 20  1 24 30.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  23006965.4544  -12936552.94749 -10062234.92546  23006965.1324   23006971.0294
+      2294.2664       1787.7434
+  22036815.0064  -15755421.59449 -12252578.21447  22036815.2284   22036820.6024
+     -2045.1574      -1593.6254
+  21991080.0134  -19092484.33949 -14856387.85447  21991079.4524   21991085.9014
+     -2439.9744      -1901.2784
+  24854599.1644   -3507792.15058  -2694293.95754  24854598.6224   24854602.2654
+     -3521.6644      -2744.1574
+                     64874.56741     26457.286 3                  24877949.816
+     -1332.4074      -1033.899
+  19766026.1944  -25545702.53749 -19597010.35148  19766026.1334   19766030.4274
+      -148.9394       -116.0604
+  20636216.1994  -24684656.84749 -19184513.52648  20636216.4474   20636220.7944
+     -1197.6544       -933.2364
+  21439330.1454  -17978745.90549 -13756261.41147  21439329.3804   21439332.7744
+      2507.5134       1953.9044
+  22973370.6574   -8951055.09449  -6952770.56546  22973369.3304   22973372.8934
+     -2537.3774      -1977.1704
+ 05  1 20  1 25  0.0000000  0  9G18G 6G17G 2G 8G26G29G21G10
+  22993880.6404  -13005315.65049 -10115816.24446  22993880.5604   22993885.0934
+      2289.9204       1784.3544
+  22048528.8384  -15693862.86349 -12204610.37547  22048529.0234   22048534.6034
+     -2059.0204      -1604.4374
+  22005043.3904  -19019108.42849 -14799211.83347  22005042.8994   22005048.1594
+     -2451.8234      -1910.5134
+  24874718.4834   -3402082.20748  -2611922.58244  24874718.2254   24874725.6874
+     -3525.5904      -2747.2204
+                    105103.18841     26457.286 3                  24877949.816
+     -1349.4194      -1033.899
+  19766937.9814  -25540909.74149 -19593275.70048  19766938.0704   19766942.7344
+      -170.5994       -132.9334
+  20643100.1764  -24648486.14949 -19156328.55648  20643099.6974   20643104.0924
+     -1213.6104       -945.6684
+  21425039.6574  -18053842.40949 -13814778.16047  21425039.1864   21425042.6614
+      2498.8974       1947.1934
+  22987859.2754   -8874902.76949  -6893431.07946  22987858.6554   22987864.5074
+     -2539.4464      -1978.7894
+ 05  1 20  1 25 30.0000000  0  8G18G 6G17G 2G26G29G21G10
+  22980822.1774  -13073948.22449 -10169296.17646  22980820.8374   22980824.9104
+      2285.6014       1780.9834
+  22060323.0344  -15631889.46549 -12156319.41747  22060322.2444   22060327.8834
+     -2072.7954      -1615.1684
+  22019073.7344  -18945376.69649 -14741758.56747  22019073.3244   22019078.6204
+     -2463.6574      -1919.7284
+  24894854.8694   -3296259.52149  -2529463.43744  24894855.4254   24894859.5904
+     -3529.3554      -2750.1514
+  19767973.9274  -25535467.64049 -19589035.09648  19767973.8604   19767978.4084
+      -192.1994       -149.7654
+  20650073.9204  -24611836.98949 -19127770.77448  20650073.6144   20650078.2434
+     -1229.5554       -958.0974
+  21410798.3434  -18128679.17149 -13873092.51747  21410798.2964   21410801.7494
+      2490.2154       1940.4254
+  23002364.7494   -8798688.65849  -6834043.45046  23002363.5304   23002367.6424
+     -2541.4434      -1980.3454
+ 05  1 20  1 26  0.0000000  0  8G18G 6G17G 2G26G29G21G10
+  22967786.0464  -13142450.64049 -10222674.65646  22967784.7994   22967788.6984
+      2281.2354       1777.5824
+  22072194.6894  -15569503.91649 -12107707.30547  22072194.2954   22072198.8054
+     -2086.5214      -1625.8574
+  22033171.8814  -18871289.19449 -14684028.04347  22033171.7614   22033178.1424
+     -2475.5544      -1929.0004
+  24915012.5964   -3190325.48149  -2446917.48545  24915012.8484   24915017.5854
+     -3533.0974      -2753.0684
+  19769132.4484  -25529377.08349 -19584289.20048  19769132.7414   19769137.4774
+      -213.8204       -166.6134
+  20657138.7324  -24574711.15349 -19098841.54748  20657138.4364   20657142.9134
+     -1245.3974       -970.4384
+  21396606.8594  -18203253.56249 -13931202.41347  21396607.0394   21396610.6574
+      2481.4004       1933.5584
+  23016877.9074   -8722413.12249  -6774607.98446  23016877.2454   23016882.8984
+     -2543.5104      -1981.9554
+ 05  1 20  1 26 30.0000000  0  8G18G 6G17G 2G26G29G21G10
+  22954775.0444  -13210823.54049 -10275952.22147  22954775.0394   22954778.3074
+      2276.8984       1774.2094
+  22084143.9554  -15506708.64749 -12058775.92547  22084143.5304   22084148.9764
+     -2100.1134      -1636.4604
+  22047338.6044  -18796847.20949 -14626021.33647  22047337.8624   22047342.8204
+     -2487.3484      -1938.1904
+  24935196.9924   -3084281.58649  -2364285.94344  24935195.4864   24935196.9014
+     -3536.5714      -2755.7684
+  19770415.1544  -25522639.29649 -19579038.97148  19770414.7994   19770419.4504
+      -235.3874       -183.4184
+  20664293.4714  -24537110.58649 -19069542.40648  20664293.3894   20664298.0214
+     -1261.2274       -982.7734
+  21382466.3044  -18277563.25549 -13989106.06747  21382466.4024   21382469.8414
+      2472.5444       1926.6644
+  23031403.6524   -8646076.68949  -6715125.03946  23031403.2984   23031408.7674
+     -2545.5704      -1983.5494
+ 05  1 20  1 27  0.0000000  0  7G18G 6G17G26G29G21G10
+  22941789.6734  -13279066.08649 -10329128.22647  22941788.9584   22941791.9034
+      2272.5964       1770.8534
+  22096171.4034  -15443506.08649 -12009527.19047  22096170.9394   22096175.8364
+     -2113.6494      -1647.0014
+  22061572.2074  -18722051.07549 -14567738.63847  22061570.5954   22061576.5694
+     -2499.0814      -1947.3364
+  19771820.0284  -25515255.14549 -19573285.08548  19771820.2024   19771824.4814
+      -256.9224       -200.2004
+  20671539.1124  -24499037.33649 -19039874.93348  20671538.8994   20671543.2364
+     -1276.9504       -995.0314
+  21368377.0834  -18351606.31049 -14046801.94547  21368376.5214   21368379.9344
+      2463.6294       1919.7074
+  23045942.4084   -8569680.08549  -6655595.22246  23045942.0284   23045947.2014
+     -2547.5804      -1985.1374
+ 05  1 20  1 27 30.0000000  0  7G18G 6G17G26G29G21G10
+  22928826.1144  -13347178.38549 -10382202.72946  22928825.9744   22928830.7394
+      2268.2314       1767.4544
+  22108274.9804  -15379898.71049 -11959962.99047  22108274.4464   22108279.8784
+     -2127.0894      -1657.4704
+  22075870.6994  -18646901.82249 -14509180.78347  22075870.5864   22075877.7434
+     -2510.8544      -1956.5164
+  19773348.2374  -25507225.90349 -19567028.52548  19773348.1314   19773352.3634
+      -278.3864       -216.9274
+  20678873.6384  -24460493.13349 -19009840.48848  20678873.7114   20678877.7154
+     -1292.6174      -1007.2384
+  21354338.5714  -18425380.41049 -14104288.25147  21354337.7844   21354341.5344
+      2454.6374       1912.7024
+  23060492.7044   -8493223.90749  -6596018.98646  23060491.9414   23060496.0374
+     -2549.5424      -1986.6584
+ 05  1 20  1 28  0.0000000  0  7G18G 6G17G26G29G21G10
+  22915890.2754  -13415160.23049 -10435175.59346  22915889.8104   22915894.0814
+      2263.8904       1764.0664
+  22120455.0644  -15315889.11449 -11910085.39747  22120455.3964   22120460.4834
+     -2140.4704      -1667.8964
+  22090238.5934  -18571400.21249 -14450348.35646  22090237.8594   22090244.3784
+     -2522.6014      -1965.6654
+  19774998.3224  -25498552.47349 -19560269.99948  19774998.4914   19775002.7984
+      -299.8534       -233.6554
+  20686297.2054  -24421480.13049 -18979440.74648  20686297.3404   20686301.4454
+     -1308.2004      -1019.3774
+  21340351.2324  -18498883.24349 -14161563.17747  21340350.7684   21340354.3984
+      2445.5384       1905.6164
+  23075051.6674   -8416708.57449  -6536396.66546  23075050.8394   23075055.5294
+     -2551.4884      -1988.1774
+ 05  1 20  1 28 30.0000000  0  7G18G 6G17G26G29G21G10
+  22902977.9404  -13483011.43249 -10488046.64346  22902977.8764   22902982.2114
+      2259.5224       1760.6624
+  22132712.0314  -15251479.68949 -11859896.22147  22132711.7814   22132716.7874
+     -2153.7424      -1678.2484
+  22104673.8754  -18495546.80049 -14391241.78847  22104672.9034   22104678.9984
+     -2534.3634      -1974.8284
+  19776771.2534  -25489236.23649 -19553010.58348  19776771.3054   19776775.8144
+      -321.2624       -250.3374
+  20693810.3294  -24382000.06949 -18948677.05748  20693810.0484   20693814.4224
+     -1323.7304      -1031.4794
+  21326416.6034  -18572112.23349 -14218624.72648  21326415.8624   21326419.4544
+      2436.3564       1898.4574
+  23089622.1654   -8340134.63649  -6476728.65546  23089622.5684   23089628.0574
+     -2553.3954      -1989.6664
+ 05  1 20  1 29  0.0000000  0  7G18G 6G17G26G29G21G10
+  22890090.5814  -13550731.97349 -10540815.89646  22890090.8724   22890094.6844
+      2255.1964       1757.3074
+  22145044.0544  -15186673.12849 -11809397.61347  22145044.6434   22145049.5154
+     -2166.9494      -1688.5274
+  22119174.6114  -18419342.57249 -14331861.86746  22119174.3164   22119179.5104
+     -2545.9924      -1983.8854
+  19778666.1124  -25479278.09849 -19545250.99148  19778666.2494   19778670.8534
+      -342.6144       -266.9714
+  20701410.9564  -24342054.88549 -18917550.94148  20701411.2154   20701415.9544
+     -1339.2354      -1043.5574
+  21312533.0474  -18645065.08649 -14275471.10248  21312533.1134   21312536.9874
+      2427.1544       1891.2944
+  23104204.9044   -8263502.50649  -6417015.31646  23104204.4014   23104209.9694
+     -2555.3804      -1991.2094
+ 05  1 20  1 29 30.0000000  0  7G18G 6G17G26G29G21G10
+  22877228.6484  -13618322.00649 -10593483.44146  22877229.2654   22877233.3274
+      2250.8354       1753.8924
+  22157452.3164  -15121471.90449 -11758591.46147  22157451.8414   22157456.9754
+     -2180.0464      -1698.7394
+  22133741.6714  -18342788.51949 -14272209.36146  22133741.6594   22133748.3094
+     -2557.6544      -1992.9834
+  19780682.8544  -25468679.35449 -19536992.22248  19780683.0264   19780687.6014
+      -363.9544       -283.6004
+  20709100.4604  -24301646.54849 -18886063.92648  20709100.5704   20709105.1244
+     -1354.6214      -1055.5474
+  21298704.4234  -18717739.24549 -14332100.30948  21298703.3824   21298707.4074
+      2417.8234       1884.0224
+  23118800.3274   -8186812.69249  -6357257.03146  23118798.5784   23118804.3884
+     -2557.3014      -1992.7074
+ 05  1 20  1 30  0.0000000  0  8G 9G18G 6G17G26G29G21G10
+                   -101488.07941    -46688.677 3                  24638780.998
+      3681.7034       2869.662
+  22864393.5334  -13685781.20049 -10646049.03947  22864392.4414   22864395.7784
+      2246.4564       1750.4854
+  22169933.4974  -15055878.59549 -11707479.80447  22169933.7284   22169938.7614
+     -2193.0944      -1708.9134
+  22148376.7194  -18265885.15849 -14212284.68046  22148375.8084   22148382.3104
+     -2569.2824      -2002.0354
+  19782821.6804  -25457440.90249 -19528234.98548  19782821.6134   19782826.3384
+      -385.2554       -300.1994
+  20716878.1754  -24260777.28249 -18854217.74248  20716877.8674   20716882.3994
+     -1369.9384      -1067.4834
+  21284927.8134  -18790132.89949 -14388510.94547  21284927.4334   21284930.9694
+      2408.4084       1876.6834
+  23133403.1894   -8110065.59649  -6297454.06746  23133403.3134   23133408.8744
+     -2559.1784      -1994.1594
+ 05  1 20  1 30 30.0000000  0  8G 9G18G 6G17G26G29G21G10
+  24614951.5424    -211975.29949   -144257.49145
+      3683.9984       2870.6724
+  22851581.2804  -13753109.63849 -10698512.74647  22851580.6044   22851584.1114
+      2242.1024       1747.0984
+  22182489.5664  -14989895.62649 -11656064.49747  22182489.6304   22182495.5794
+     -2206.0454      -1718.9984
+  22163077.6264  -18188633.26349 -14152088.41146  22163076.9724   22163082.0154
+     -2580.9024      -2011.0994
+  19785081.9774  -25445564.50949 -19518980.64848  19785081.6324   19785086.3574
+      -406.5184       -316.7644
+  20724742.9154  -24219448.84449 -18822013.76748  20724742.6674   20724747.0034
+     -1385.2404      -1079.4054
+  21271205.6354  -18862243.66649 -14444701.15648  21271205.3044   21271208.7274
+      2398.9394       1869.3074
+  23148020.0694   -8033261.77449  -6237606.94546  23148018.5644   23148023.2994
+     -2561.0724      -1995.6414
+ 05  1 20  1 31  0.0000000  0  8G 9G18G 6G17G26G29G21G10
+  24593916.3034    -322528.50149   -230402.76545                  24593916.5974
+      3686.2244       2872.3824
+  22838793.7704  -13820307.05449 -10750874.36247  22838793.3434   22838797.1134
+      2237.7484       1743.6934
+  22195119.4154  -14923525.63149 -11604347.62647  22195120.1624   22195124.9824
+     -2218.8934      -1729.0124
+  22177844.0924  -18111033.68549 -14091621.23646  22177843.8494   22177849.5154
+     -2592.4704      -2020.1084
+  19787463.0934  -25433051.08449 -19509229.91948  19787462.9534   19787467.3054
+      -427.7294       -333.2954
+  20732694.2814  -24177663.52149 -18789453.76948  20732694.1744   20732698.4544
+     -1400.4124      -1091.2314
+  21257537.5104  -18934069.00049 -14500668.94048  21257537.2924   21257540.8204
+      2389.3964       1861.8674
+  23162644.9924   -7956401.67549  -6177715.95946  23162644.8384   23162649.5354
+     -2562.9254      -1997.0764
+ 05  1 20  1 31 30.0000000  0  8G 9G18G 6G17G26G29G21G10
+  24572862.5514    -433144.72549   -316597.11645  24572863.8614   24572867.2454
+      3688.1844       2873.9094
+  22826032.0574  -13887373.74249 -10803134.10547  22826031.9224   22826034.1924
+      2233.3664       1740.2864
+  22207823.2284  -14856771.34649 -11552331.29647  22207822.1784   22207827.7414
+     -2231.6544      -1738.9514
+  22192675.3994  -18033087.27149 -14030883.80846  22192675.6384   22192682.3404
+     -2603.9814      -2029.0754
+  19789964.8864  -25419901.98849 -19498983.86148  19789965.0714   19789969.5764
+      -448.9004       -349.7904
+  20740732.3644  -24135423.15349 -18756539.19348  20740732.1834   20740736.4114
+     -1415.5724      -1103.0424
+  21243924.2774  -19005606.69449 -14556412.58748  21243924.1534   21243927.6594
+      2379.7734       1854.3704
+  23177281.3534   -7879485.97849  -6117781.62446  23177280.8524   23177286.1874
+     -2564.7684      -1998.5434
+ 05  1 20  1 32  0.0000000  0  8G 9G18G 6G17G26G29G21G10
+  24551799.4004    -543821.39349   -402838.55845  24551797.5884   24551806.1694
+      3690.1844       2875.4644
+  22813293.7164  -13954309.34649 -10855291.71347  22813293.1844   22813297.6044
+      2228.9954       1736.8814
+  22220597.9514  -14789635.11249 -11500017.34947  22220598.4844   22220603.1854
+     -2244.3644      -1748.8584
+  22207576.2704  -17954795.44049 -13969877.23946  22207574.8864   22207580.6844
+     -2615.5134      -2038.0654
+  19792587.8354  -25406118.28849 -19488243.31248  19792587.9594   19792592.4744
+      -470.0214       -366.2514
+  20748856.6224  -24092729.55549 -18723271.45748  20748856.5694   20748860.9044
+     -1430.6374      -1114.7844
+  21230366.7964  -19076854.63149 -14611930.46248  21230366.5204   21230369.8934
+      2370.0534       1846.7934
+  23191929.5694   -7802514.98949  -6057804.21146  23191928.9614   23191933.4794
+     -2566.5994      -1999.9584
+ 05  1 20  1 32 30.0000000  0  8G 9G18G 6G17G26G29G21G10
+  24530728.7094    -654555.26249   -489124.66245  24530728.8464   24530734.6414
+      3692.0824       2876.9444
+  22800580.4874  -14021113.79249 -10907347.11247  22800580.6134   22800584.2464
+      2224.6414       1733.4824
+  22233445.8074  -14722119.82149 -11447408.03947  22233446.0194   22233451.1174
+     -2256.9314      -1758.6444
+  22222538.8574  -17876158.37049 -13908601.65546  22222538.5214   22222545.3744
+     -2627.0404      -2047.0264
+  19795331.4534  -25391701.62049 -19477009.54348  19795331.1794   19795335.9364
+      -491.1134       -382.6854
+  20757066.7104  -24049585.08049 -18689652.38348  20757066.4954   20757070.7644
+     -1445.6184      -1126.4574
+  21216864.7124  -19147809.81249 -14667220.20748  21216864.1004   21216867.5394
+      2360.2774       1839.1794
+  23206586.2544   -7725489.21449  -5997784.13646  23206585.8474   23206591.3954
+     -2568.4474      -2001.3824
+ 05  1 20  1 33  0.0000000  0  8G 9G18G 6G17G26G29G21G10
+  24509648.5594    -765343.45849   -575453.06745  24509647.5334   24509653.1744
+      3693.8004       2878.2824
+  22787893.7774  -14087786.84149 -10959300.12547  22787893.2814   22787897.1464
+      2220.2304       1730.0454
+  22246366.1184  -14654228.02549 -11394505.34647  22246365.6584   22246370.4784
+     -2269.4404      -1768.3984
+  22237569.6244  -17797177.36049 -13847057.99246  22237568.2974   22237574.4394
+     -2638.4854      -2055.9694
+  19798194.6864  -25376653.31149 -19465283.58848  19798194.9974   19798199.7104
+      -512.1454       -399.0754
+  20765362.2194  -24005991.87449 -18655683.65348  20765362.0334   20765366.6954
+     -1460.5334      -1138.0784
+  21203418.5044  -19218470.56549 -14722280.53648  21203417.9164   21203421.0824
+      2350.4074       1831.4844
+  23221254.4074   -7648408.94249  -5937721.59446  23221253.9224   23221258.5864
+     -2570.2274      -2002.7854
+ 05  1 20  1 33 30.0000000  0  8G 9G18G 6G17G26G29G21G10
+  24488557.0004    -876183.10949   -661821.50445  24488556.1824   24488561.8094
+      3695.4684       2879.5814
+  22775231.3274  -14154328.65649 -11011150.89246  22775230.4444   22775233.9424
+      2215.8634       1726.6454
+  22259355.9204  -14585962.28149 -11341311.26547  22259355.8454   22259360.9564
+     -2281.8734      -1778.0894
+  22252663.1454  -17717852.79549 -13785246.69046  22252663.3684   22252669.3764
+     -2649.9174      -2064.8734
+  19801178.0704  -25360974.78549 -19453066.55348  19801178.3404   19801182.9914
+      -533.1184       -415.4204
+  20773743.1144  -23961951.73349 -18621366.65348  20773742.6694   20773746.9504
+     -1475.4164      -1149.6774
+  21190028.6434  -19288834.10449 -14777109.26648  21190028.1514   21190031.7044
+      2340.4634       1823.7384
+  23235932.3054   -7571274.68249  -5877616.96846  23235931.2824   23235937.7324
+     -2572.0604      -2004.1994
+ 05  1 20  1 34  0.0000000  0  8G 9G18G 6G17G26G29G21G10
+  24467456.8044    -987071.29749   -748227.82745  24467454.7294   24467460.3694
+      3697.0424       2880.8134
+  22762592.7324  -14220738.92749 -11062899.14347  22762592.6794   22762597.4494
+      2211.5124       1723.2554
+  22272417.9784  -14517325.20649 -11287827.82247  22272417.2404   22272422.0634
+     -2294.1704      -1787.6604
+  22267824.8234  -17638186.01349 -13723168.71046  22267823.5804   22267829.2254
+     -2661.2574      -2073.6974
+  19804282.0754  -25344667.05249 -19440359.23148  19804282.0064   19804286.2384
+      -554.0744       -431.7434
+  20782208.5074  -23917466.64749 -18586702.95248  20782208.2484   20782212.2494
+     -1490.1864      -1161.1844
+  21176695.3804  -19358898.17949 -14831704.63848  21176695.2104   21176699.1004
+      2330.4664       1815.9514
+  23250621.4204   -7494086.83249  -5817470.58546  23250620.3344   23250625.8374
+     -2573.7874      -2005.5444
+ 05  1 20  1 34 30.0000000  0  8G 9G18G 6G17G26G29G21G10
+  24446345.1514   -1098005.04249   -834669.64645  24446343.2754   24446347.9584
+      3698.4544       2881.9144
+  22749981.2354  -14287017.62249 -11114544.89147  22749980.6974   22749984.5144
+      2207.1014       1719.8294
+  22285548.3484  -14448319.53749 -11234057.18747  22285548.9244   22285553.6314
+     -2306.4364      -1797.2224
+  22283050.2604  -17558177.82349 -13660824.69546  22283049.0254   22283053.8544
+     -2672.6164      -2082.5584
+  19807504.2004  -25327731.87449 -19427162.98448  19807504.3694   19807508.9824
+      -574.9584       -448.0184
+  20790757.2614  -23872538.81649 -18551694.24948  20790757.1854   20790761.5754
+     -1504.9174      -1172.6624
+  21163420.0194  -19428660.66449 -14886065.01248  21163419.7654   21163423.6984
+      2320.3774       1808.0904
+  23265319.5364   -7416846.04649  -5757282.96346  23265319.1194   23265323.8254
+     -2575.5644      -2006.9254
+ 05  1 20  1 35  0.0000000  0  8G 9G18G 6G17G26G29G21G10
+  24425226.8724   -1208981.31949   -921144.60945  24425227.1154   24425230.1664
+      3699.8694       2883.0144
+  22737394.0634  -14353164.71349 -11166088.06047  22737393.6114   22737397.5084
+      2202.7054       1716.4034
+  22298749.4644  -14378947.98949 -11180001.42947  22298749.5344   22298754.2304
+     -2318.6074      -1806.7164
+  22298339.0114  -17477829.44849 -13598215.57646  22298339.0614   22298343.9954
+     -2683.9504      -2091.3924
+  19810846.6034  -25310170.53849 -19413478.82248  19810846.4244   19810850.8664
+      -595.8114       -464.2674
+  20799391.3504  -23827170.36949 -18516342.20548  20799390.8254   20799395.2674
+     -1519.5704      -1184.0774
+  21150202.8184  -19498119.01949 -14940188.39948  21150202.1804   21150205.8474
+      2310.1754       1800.1394
+  23280028.4764   -7339552.72849  -5697054.41946  23280026.8414   23280032.1284
+     -2577.3404      -2008.3124
+ 05  1 20  1 35 30.0000000  0  8G 9G18G 6G17G26G29G21G10
+  24404100.9524   -1319997.17949  -1007650.41345  24404099.5754   24404105.5814
+      3701.1304       2883.9934
+  22724830.4794  -14419179.88549 -11217528.46047  22724830.6764   22724835.1924
+      2198.3064       1712.9664
+  22312019.6344  -14309213.13749 -11125662.58547  22312019.8204   22312025.0054
+     -2330.6354      -1816.0864
+  22313693.8144  -17397141.80749 -13535342.12646  22313693.5934   22313699.7284
+     -2695.1484      -2100.1174
+  19814307.0804  -25291984.76249 -19399308.08748  19814307.0544   19814311.3854
+      -616.5914       -480.4634
+  20808107.0294  -23781363.48549 -18480648.52648  20808107.4974   20808111.9644
+     -1534.1364      -1195.4334
+  21137043.5514  -19567270.91149 -14994072.98548  21137043.0054   21137046.3704
+      2299.9054       1792.1294
+  23294746.4074   -7262207.15849  -5636785.14946  23294745.1374   23294751.3694
+     -2579.0284      -2009.6244
+ 05  1 20  1 36  0.0000000  0  8G 9G18G 6G17G26G29G21G10
+  24382967.4604   -1431049.76649  -1094184.83845  24382966.4844   24382974.9334
+      3702.3334       2884.9314
+  22712294.1384  -14485063.20449 -11268866.12447  22712293.8174   22712298.0464
+      2193.9324       1709.5594
+  22325358.3334  -14239117.53549 -11071042.64247  22325358.3404   22325362.7144
+     -2342.6374      -1825.4244
+  22329112.5084  -17316115.53549 -13472204.77046  22329111.7374   22329117.9414
+     -2706.4834      -2108.9364
+  19817886.4034  -25273175.76949 -19384651.72648  19817886.3104   19817890.6674
+      -637.3284       -496.6174
+  20816907.2454  -23735120.01749 -18444614.66048  20816907.1354   20816911.4144
+     -1548.6574      -1206.7434
+  21123943.3894  -19636114.06749 -15047716.99448  21123943.0764   21123946.1584
+      2289.6024       1784.1054
+  23309473.5154   -7184809.59649  -5576475.37046  23309472.8514   23309477.9304
+     -2580.7984      -2010.9974
+ 05  1 20  1 36 30.0000000  0  9G 9G18G 6G17G22G26G29G21G10
+  24361830.6884   -1542136.04649  -1180745.54845  24361829.2734   24361833.9394
+      3703.3614       2885.7344
+  22699782.6824  -14550814.88449 -11320101.19347  22699781.7334   22699785.7034
+      2189.5174       1706.1224
+  22338764.6704  -14168664.15549 -11016143.90247  22338764.8544   22338770.2424
+     -2354.5504      -1834.7154
+  22344594.0434  -17234751.46349 -13408804.19546  22344593.9094   22344601.5634
+     -2717.7834      -2117.7434
+                   -184511.94741   -125942.721 5                  25230471.580
+      2657.9454       2072.680
+  19821583.0004  -25253745.35349 -19369511.14548  19821583.4454   19821588.0504
+      -658.0654       -512.7764
+  20825789.7534  -23688442.33249 -18408242.43748  20825789.6264   20825793.9904
+     -1563.1194      -1218.0144
+  21110902.6274  -19704646.05049 -15101118.54448  21110901.7984   21110904.7414
+      2279.1614       1775.9694
+  23324213.5964   -7107360.46349  -5516125.39046  23324211.9354   23324216.6964
+     -2582.5104      -2012.3554
+ 05  1 20  1 37  0.0000000  0  9G 9G18G 6G17G22G26G29G21G10
+  24340683.3654   -1653253.26649  -1267330.39345  24340683.5774   24340687.2384
+      3704.3884       2886.5374
+  22687295.9514  -14616434.29449 -11371233.20547  22687295.0284   22687298.4164
+      2185.1204       1702.6984
+  22352239.5284  -14097855.39749 -10960968.24947  22352238.9634   22352245.0634
+     -2366.3304      -1843.8904
+  22360142.0344  -17153050.56849 -13345141.13446  22360141.3354   22360148.0174
+     -2729.0834      -2126.5654
+  25214541.5724    -264224.01049   -191162.66445                  25214539.3754
+      2656.1884       2069.7544
+  19825399.3564  -25233694.69849 -19353887.25748  19825399.3844   19825403.6424
+      -678.6794       -528.8394
+  20834754.7824  -23641332.42149 -18371533.41148  20834754.3734   20834758.6094
+     -1577.4774      -1229.2014
+  21097920.8144  -19772864.17149 -15154275.52048  21097920.1284   21097923.6154
+      2268.6784       1767.8034
+  23338959.2554   -7029860.23749  -5455735.58946  23338958.7814   23338964.2614
+     -2584.2094      -2013.6704
+ 05  1 20  1 37 30.0000000  0  9G 9G18G 6G17G22G26G29G21G10
+  24319534.3034   -1764398.01849  -1353936.65245  24319533.3684   24319537.2514
+      3705.2534       2887.2084
+  22674832.5384  -14681921.51549 -11422262.18847  22674832.9774   22674837.3884
+      2180.6974       1699.2424
+  22365780.9424  -14026694.20749 -10905517.97247  22365780.5904   22365786.3554
+     -2378.0494      -1853.0344
+  22375752.6304  -17071014.05449 -13281216.55746  22375752.0434   22375758.2784
+     -2740.1824      -2135.2144
+  25199381.8614    -343884.73649   -253235.86045  25199380.1904   25199380.8764
+      2654.4764       2068.4224
+  19829332.5324  -25213025.68749 -19337781.53448  19829332.5794   19829336.8214
+      -699.2554       -544.8764
+  20843800.9274  -23593792.32049 -18334489.17548  20843800.9154   20843805.5084
+     -1591.7714      -1240.3404
+  21084999.4284  -19840766.57749 -15207186.48548  21084998.5894   21085002.0684
+      2258.1194       1759.5744
+  23353719.5924   -6952309.26249  -5395306.28746  23353718.5714   23353721.6524
+     -2585.8444      -2014.9444
+ 05  1 20  1 38  0.0000000  0  9G 9G18G 6G17G22G26G29G21G10
+  24298376.7754   -1875567.32149  -1440561.98345  24298378.0054   24298383.4404
+      3706.0434       2887.8214
+  22662397.4744  -14747276.45349 -11473188.12347  22662396.7404   22662399.4674
+      2176.3004       1695.8194
+  22379389.6714  -13955183.27549 -10849795.17847  22379389.5754   22379394.2004
+     -2389.6414      -1862.0504
+  22391427.2774  -16988643.04849 -13217031.22246  22391425.9974   22391433.4694
+     -2751.2614      -2143.8394
+  25184230.3524    -423494.28249   -315269.24645  25184229.8394   25184235.3334
+      2652.8564       2067.1594
+  19833382.6754  -25191739.82749 -19321195.15048  19833382.7904   19833387.3884
+      -719.7874       -560.8744
+  20852929.1924  -23545824.31249 -18297111.50648  20852929.1084   20852933.3104
+     -1606.0064      -1251.4344
+  21072138.4354  -19908350.90649 -15259849.60648  21072137.9804   21072141.3474
+      2247.4584       1751.2664
+  23368484.1414   -6874708.30149  -5334838.01246  23368484.5654   23368489.2404
+     -2587.5104      -2016.2374
+ 05  1 20  1 38 30.0000000  0  9G 9G18G 6G17G22G26G29G21G10
+  24277220.1124   -1986758.18349  -1527204.13445  24277218.9894   24277225.7804
+      3706.7094       2888.3454
+  22649985.4584  -14812498.78249 -11524010.71547  22649984.9124   22649988.8634
+      2171.8854       1692.3814
+  22393064.0804  -13883325.28649 -10793801.93647  22393063.4274   22393068.6504
+     -2401.1394      -1871.0144
+  22407166.3414  -16905938.29749 -13152585.81246  22407165.3254   22407170.8164
+     -2762.3634      -2152.4844
+  25169092.5584    -503052.45049   -377262.61745  25169092.7564   25169093.4744
+      2651.0394       2065.7434
+  19837550.6424  -25169838.73449 -19304129.35848  19837550.4924   19837555.0214
+      -740.2724       -576.8364
+  20862138.0084  -23497430.62849 -18259402.14248  20862137.8174   20862142.5854
+     -1620.1884      -1262.4814
+  21059338.2074  -19975614.68049 -15312262.93948  21059337.9274   21059341.6434
+      2236.7594       1742.9284
+  23383260.3484   -6797057.52949  -5274330.91746  23383260.2284   23383264.8424
+     -2589.1844      -2017.5494
+ 05  1 20  1 39  0.0000000  0  9G 9G18G 6G17G22G26G29G21G10
+  24256055.2124   -2097967.70549  -1613860.88645  24256055.4374   24256061.3074
+      3707.2554       2888.7644
+  22637599.8524  -14877588.71849 -11574730.13547  22637598.7294   22637602.4284
+      2167.4604       1688.9254
+  22406802.8914  -13811123.00249 -10737540.42247  22406802.7434   22406808.2804
+     -2412.5804      -1879.9384
+  22422967.1594  -16822900.90249 -13087881.18046  22422966.8404   22422972.7364
+     -2773.5064      -2161.1804
+  25153962.6734    -582559.06449   -439215.76645  25153960.5934   25153963.9794
+      2649.4444       2064.5044
+  19841834.8614  -25147323.99049 -19286585.39948  19841835.0944   19841839.4124
+      -760.7244       -592.7754
+  20871428.0634  -23448613.19749 -18221362.58648  20871427.6644   20871432.1394
+     -1634.2774      -1273.4624
+  21046599.8504  -20042555.47449 -15364424.59448  21046599.3954   21046603.2224
+      2225.9454       1734.5024
+  23398047.7994   -6719357.23749  -5213785.24546  23398046.0734   23398051.7924
+     -2590.8274      -2018.8294
+ 05  1 20  1 39 30.0000000  0  9G 9G18G 6G17G22G26G29G21G10
+  24234892.5724   -2209192.75049  -1700529.73245  24234891.6694   24234895.8004
+      3707.7304       2889.1404
+  22625238.7644  -14942545.98449 -11625346.17847  22625238.1954   22625241.4474
+      2163.0084       1685.4634
+  22420606.7864  -13738579.13749 -10681012.74647  22420606.8654   22420612.2754
+     -2423.9174      -1888.7554
+  22438832.7904  -16739532.17849 -13022918.55046  22438830.8554   22438837.0614
+     -2784.4404      -2169.6894
+  25138839.5064    -662014.19149   -501128.76845  25138840.8344   25138845.6334
+      2647.6474       2063.1004
+  19846235.9054  -25124197.35549 -19268564.64048  19846235.8384   19846240.1624
+      -781.0744       -608.6284
+  20880797.3614  -23399374.24749 -18182994.57248  20880797.6834   20880802.2194
+     -1648.2834      -1284.3734
+  21033923.5234  -20109170.89949 -15416332.71748  21033923.0354   21033926.6264
+      2215.0574       1726.0234
+  23412841.5144   -6641607.76849  -5153201.24446  23412841.5984   23412847.9564
+     -2592.4464      -2020.0994
+ 05  1 20  1 40  0.0000000  0  9G 9G18G 6G17G22G26G29G21G10
+  24213723.6654   -2320430.48249  -1787208.45045  24213723.5194   24213729.1074
+      3708.0944       2889.4214
+  22612903.0414  -15007370.65249 -11675858.91447  22612902.4294   22612905.9644
+      2158.5954       1682.0224
+  22434476.5274  -13665696.54449 -10624221.12047  22434476.6694   22434481.6504
+     -2435.1974      -1897.5594
+  22454759.9154  -16655833.24349 -12957698.60846  22454760.2154   22454764.7204
+     -2795.5134      -2178.3274
+  25123734.6974    -741417.97649   -563001.82245  25123733.8564   25123734.8804
+      2645.9494       2061.7754
+  19850752.5304  -25100460.34949 -19250068.27348  19850752.7494   19850757.3224
+      -801.3754       -624.4504
+  20890247.5484  -23349716.03649 -18144299.86148  20890247.3514   20890251.5984
+     -1662.1794      -1295.2024
+  21021309.7204  -20175458.50049 -15467985.38848  21021309.0784   21021312.6624
+      2204.1284       1717.5014
+  23427646.0514   -6563809.69749  -5092579.37246  23427646.6024   23427650.5614
+     -2594.0834      -2021.3794
+ 05  1 20  1 40 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  24192553.4714   -2431677.58249  -1873894.47745  24192554.2144   24192557.3494
+      3708.3184       2889.5954
+  22600591.9934  -15072062.63849 -11726268.23747  22600591.1124   22600595.6584
+      2154.1474       1678.5534
+  24462627.8774    -290840.64049   -206305.11545                  24462629.6174
+      3565.1504       2778.0414
+  22448409.0904  -13592477.93949 -10567167.65647  22448409.3124   22448415.1764
+     -2446.3234      -1906.2204
+  22470749.2424  -16571804.84949 -12892221.98446  22470748.9394   22470755.7764
+     -2806.4134      -2186.8084
+  25108629.9984    -820770.29149   -624834.74945  25108630.5034   25108632.9474
+      2644.1894       2060.4054
+  19855385.2284  -25076114.88949 -19231097.78748  19855385.4414   19855390.1964
+      -821.6514       -640.2484
+  20899776.2714  -23299640.69149 -18105280.10648  20899776.1934   20899780.4044
+     -1676.1004      -1306.0514
+  21008758.7224  -20241415.91149 -15519380.76448  21008757.7314   21008761.0844
+      2193.0534       1708.8694
+  23442461.1444   -6485963.26749  -5031919.84146  23442459.7264   23442465.7924
+     -2595.6954      -2022.6204
+ 05  1 20  1 41  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  24171385.3224   -2542931.11549  -1960585.49745  24171384.5294   24171387.3884
+      3708.5394       2889.7684
+  22588307.3534  -15136621.61149 -11776573.93047  22588306.8874   22588310.3644
+      2149.7324       1675.1244
+  24442276.0784    -397792.64649   -289644.32945  24442273.1204   24442277.6114
+      3564.9234       2777.8644
+  22462405.4324  -13518925.94749 -10509854.42547  22462405.9034   22462411.4664
+     -2457.3774      -1914.8344
+  22486803.8094  -16487447.97549 -12826489.33646  22486801.9764   22486806.7334
+     -2817.3824      -2195.3694
+  25093538.5484    -900070.84649   -686627.35145  25093540.7044   25093542.3684
+      2642.5014       2059.0924
+  19860133.8184  -25051162.57449 -19211654.42748  19860133.9134   19860138.4954
+      -841.8384       -655.9794
+  20909384.4894  -23249150.42449 -18065937.04248  20909384.0954   20909388.4794
+     -1689.8814      -1316.7894
+  20996270.4384  -20307041.13549 -15570517.30048  20996269.7644   20996273.0004
+      2181.9384       1700.2134
+  23457283.5584   -6408068.77049  -4971222.86246  23457283.3474   23457287.3514
+     -2597.2764      -2023.8554
+ 05  1 20  1 41 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  24150214.4864   -2654187.92849  -2047279.05145  24150212.5894   24150216.0864
+      3708.6284       2889.8354
+  22576048.5374  -15201047.56549 -11826775.98047  22576047.5334   22576050.0774
+      2145.3284       1671.6854
+  24421925.2894    -504736.40249   -372977.11545  24421922.9194   24421926.0614
+      3564.6314       2777.6354
+  22476466.4094  -13445043.47949 -10452283.68947  22476465.7224   22476469.9384
+     -2468.3474      -1923.3944
+  22502916.8674  -16402763.80549 -12760501.65846  22502915.4654   22502921.5864
+     -2828.3864      -2203.9304
+  25078460.7374    -979319.86749   -748379.77045  25078461.3354   25078463.6714
+      2640.7714       2057.7414
+  19864997.6794  -25025604.97749 -19191739.41348  19864997.3634   19865001.7264
+      -861.9984       -671.6894
+  20919070.4764  -23198247.36449 -18026272.31948  20919070.5914   20919075.1774
+     -1703.5714      -1327.4594
+  20983846.3594  -20372331.59449 -15621392.98148  20983845.4804   20983848.7464
+      2170.7674       1691.5054
+  23472115.8634   -6330126.45649  -4910488.60746  23472114.5634   23472120.6004
+     -2598.8484      -2025.0754
+ 05  1 20  1 42  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  24129042.2524   -2765444.85449  -2133972.68545  24129041.2174   24129044.6244
+      3708.5754       2889.7954
+  22563811.3694  -15265340.33949 -11876874.23347  22563811.3434   22563815.9244
+      2140.9014       1668.2344
+  24401576.2144    -611670.18249   -456302.10446  24401573.7494   24401577.4284
+      3564.2614       2777.3454
+  22490587.8394  -13370833.36649 -10394457.61547  22490587.2634   22490592.4204
+     -2479.2324      -1931.8694
+  22519091.7674  -16317753.60149 -12694259.88646  22519092.6974   22519098.2354
+     -2839.0994      -2212.3004
+  25063391.2764   -1058517.21149   -810091.90145  25063390.5404   25063391.8894
+      2639.0284       2056.3854
+  19869975.5184  -24999444.33249 -19171354.49448  19869975.5574   19869980.0144
+      -882.0684       -687.3264
+  20928835.3734  -23146933.69349 -17986287.63848  20928835.2664   20928839.8394
+     -1717.2404      -1338.1114
+  20971486.1074  -20437284.87449 -15672005.92348  20971485.4424   20971488.4844
+      2159.4754       1682.7074
+  23486956.9954   -6252136.77849  -4849717.45746  23486955.6094   23486961.6554
+     -2600.4334      -2026.3184
+ 05  1 20  1 42 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  24107870.2864   -2876699.03749  -2220664.24845  24107869.0764   24107873.9004
+      3708.3654       2889.6334
+  22551603.1084  -15329499.81449 -11926868.63447  22551602.8154   22551607.0214
+      2136.4404       1664.7544
+  24381228.0504    -718592.16949   -539617.91446  24381227.2804   24381231.1104
+      3563.8344       2777.0114
+  22504770.2514  -13296298.31149 -10336378.36747  22504770.5854   22504775.4024
+     -2490.0374      -1940.2914
+  22535330.4054  -16232418.20749 -12627764.76846  22535330.7334   22535337.5214
+     -2849.9334      -2220.7264
+  25048328.8174   -1137662.71449   -871763.71045  25048328.4644   25048330.7034
+      2637.3184       2055.0544
+  19875067.7964  -24972681.94649 -19150500.68948  19875068.1884   19875072.6094
+      -902.0844       -702.9254
+  20938677.6874  -23095211.66949 -17945984.76348  20938677.6314   20938682.3074
+     -1730.8494      -1348.7144
+  20959188.9784  -20501898.63449 -15722354.30848  20959189.1194   20959193.0764
+      2148.0914       1673.8384
+  23501808.2324   -6174100.26949  -4788909.83246  23501807.6424   23501809.9314
+     -2602.0024      -2027.5234
+ 05  1 20  1 43  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  24086699.3334   -2987947.26249  -2307351.15945  24086698.2844   24086703.9754
+      3708.1564       2889.4764
+  22539420.7764  -15393525.82149 -11976759.02347  22539419.7874   22539423.3274
+      2131.9784       1661.2614
+  24360883.0474    -825500.51649   -622923.07546  24360882.7074   24360885.9614
+      3563.3674       2776.6504
+  22519015.9264  -13221441.14549 -10278048.11747  22519015.9804   22519020.7274
+     -2500.7044      -1948.6014
+  22551632.9714  -16146758.87749 -12561017.24146  22551631.6554   22551637.7924
+     -2860.7144      -2229.1244
+  25033277.4424   -1216756.52749   -933395.19445  25033276.8854   25033279.0534
+      2635.6104       2053.7204
+  19880275.0134  -24945320.04549 -19129179.72348  19880274.9334   19880279.3934
+      -922.0624       -718.4904
+  20948597.0094  -23043083.48249 -17905365.39148  20948597.2644   20948601.5934
+     -1744.3344      -1359.2224
+  20946958.9194  -20566170.40649 -15772436.20048  20946958.4524   20946962.5864
+      2136.6624       1664.9314
+  23516663.4264   -6096017.19149  -4728065.88746  23516664.1144   23516669.7854
+     -2603.5404      -2028.7304
+ 05  1 20  1 43 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  24065533.4864   -3099186.36849  -2394030.98045  24065531.6934   24065535.8734
+      3707.7334       2889.1424
+  22527261.2244  -15457418.28849 -12026545.36047  22527260.9614   22527264.7374
+      2127.4974       1657.7734
+  24340542.6914    -932393.33549   -706216.17046  24340541.0514   24340545.1664
+      3562.7984       2776.2054
+  22533321.7814  -13146264.59449 -10219468.99547  22533321.4924   22533326.6184
+     -2511.3074      -1956.8624
+  22567994.9224  -16060777.21949 -12494018.52946  22567993.3724   22567999.6054
+     -2871.3994      -2237.4514
+  25018236.8184   -1295798.66549   -994986.45745  25018236.5264   25018238.9474
+      2633.8844       2052.3824
+  19885595.5044  -24917360.25049 -19107392.86948  19885595.5244   19885600.2854
+      -941.9604       -733.9964
+  20958594.6554  -22990551.42149 -17864431.31648  20958594.0244   20958598.2494
+     -1757.7554      -1369.6794
+  20934794.3174  -20630098.07449 -15822249.96648  20934793.6984   20934797.2824
+      2125.1524       1655.9664
+  23531531.5604   -6017887.69849  -4667185.77946  23531531.1244   23531537.8744
+     -2605.0584      -2029.9064
+ 05  1 20  1 44  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  24044364.7984   -3210413.34649  -2480701.31245  24044365.2814   24044371.3124
+      3707.2924       2888.8034
+  22515128.0104  -15521176.82949 -12076227.34547  22515127.9104   22515132.2644
+      2123.0644       1654.3364
+  24320203.7174   -1039268.75549   -789495.68346  24320203.3894   24320207.6524
+      3562.1834       2775.7214
+  22547687.1724  -13070771.73749 -10160643.40247  22547686.9324   22547692.5214
+     -2521.8064      -1965.0454
+  22584415.8394  -15974473.67849 -12426768.99746  22584416.5984   22584422.8724
+     -2882.1444      -2245.8224
+  25003205.5974   -1374788.91349  -1056537.24245  25003204.5904   25003206.3174
+      2632.1314       2051.0044
+  19891029.5704  -24888804.16249 -19085141.37248  19891029.8034   19891034.1174
+      -961.8044       -749.4544
+  20968666.4244  -22937617.54249 -17823184.13548  20968666.5964   20968671.2314
+     -1771.0564      -1380.0424
+  20922695.4384  -20693679.03249 -15871793.56948  20922694.9904   20922698.0774
+      2113.5664       1646.9364
+  23546408.8334   -5939712.11849  -4606269.77446  23546408.0934   23546412.3684
+     -2606.6184      -2031.1264
+ 05  1 20  1 44 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  24023202.3964   -3321625.05749  -2567359.77445  24023201.6344   24023208.3674
+      3706.7774       2888.3924
+  22503022.0374  -15584801.34949 -12125804.89347  22503021.3094   22503024.9204
+      2118.5894       1650.8424
+  24299869.9054   -1146124.93449   -872760.21946  24299869.0674   24299873.5314
+      3561.5214       2775.2094
+  22562112.3544  -12994965.19149 -10101573.37247  22562112.2474   22562118.2274
+     -2532.2184      -1973.1534
+  22600901.6474  -15887849.58449 -12359269.70646  22600900.6604   22600907.0794
+     -2892.7374      -2254.0834
+  24988184.2244   -1453727.32649  -1118047.63845  24988183.5084   24988187.1684
+      2630.4114       2049.6684
+  19896576.6084  -24859654.01249 -19062426.96948  19896576.8244   19896581.3344
+      -981.5604       -764.8534
+  20978816.3254  -22884284.12349 -17781625.62148  20978815.9174   20978820.6514
+     -1784.3784      -1390.4254
+  20910662.9894  -20756910.90949 -15921065.15548  20910662.4164   20910665.6424
+      2101.8784       1637.8254
+  23561291.8714   -5861490.98649  -4545318.23646  23561291.2624   23561298.3064
+     -2608.1654      -2032.3314
+ 05  1 20  1 45  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  24002043.0264   -3432818.44349  -2654003.95445  24002041.5494   24002046.6364
+      3706.1154       2887.8784
+  22490938.8634  -15648291.83949 -12175278.01247  22490938.8614   22490942.7114
+      2114.1304       1647.3694
+  24279538.9564   -1252960.27849   -956008.51446  24279538.5884   24279544.0534
+      3560.8124       2774.6534
+  22576597.5754  -12918847.73149 -10042261.07347  22576597.0614   22576602.8724
+     -2542.5474      -1981.2204
+  22617445.3514  -15800905.98049 -12291521.43746  22617445.5824   22617451.8804
+     -2903.4804      -2262.4534
+  24973173.3244   -1532613.76949  -1179517.60345  24973172.9614   24973175.5644
+      2628.6954       2048.3344
+  19902236.5264  -24829911.63349 -19039251.08648  19902236.6224   19902241.0664
+     -1001.2724       -780.2114
+  20989040.5094  -22830553.51549 -17739757.61948  20989040.0564   20989044.7814
+     -1797.5784      -1400.7104
+  20898697.0944  -20819791.51349 -15970063.03448  20898696.6534   20898700.0524
+      2090.1404       1628.6764
+  23576188.0654   -5783224.39949  -4484331.29646  23576187.2034   23576192.9464
+     -2609.6424      -2033.4944
+ 05  1 20  1 45 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23980886.1154   -3543990.30449  -2740631.35945  23980886.4404   23980893.2424
+      3705.3364       2887.2764
+  22478883.5654  -15711648.22049 -12224646.60647  22478882.8284   22478886.5144
+      2109.6344       1643.8734
+  24259212.3954   -1359772.97349  -1039239.14845  24259212.5734   24259217.1784
+      3560.0104       2774.0324
+  22591141.2354  -12842422.27449  -9982708.78047  22591140.9124   22591145.7604
+     -2552.7604      -1989.1594
+  22634050.3424  -15713644.57649 -12223525.52146  22634050.0444   22634057.4174
+     -2914.0644      -2270.6984
+  24958170.1684   -1611448.27749  -1240947.05245  24958169.7784   24958171.8664
+      2626.9364       2046.9634
+  19908008.9294  -24799578.86349 -19015615.15948  19908008.6204   19908013.3394
+     -1020.9654       -795.5564
+  20999340.2974  -22776427.83949 -17697581.76448  20999340.3154   20999344.9034
+     -1810.7684      -1410.9884
+  20886798.2834  -20882318.55249 -16018785.39848  20886797.8124   20886801.4824
+      2078.2994       1619.4524
+  23591089.8184   -5704912.82349  -4423309.27746  23591089.6974   23591094.0844
+     -2611.1384      -2034.6594
+ 05  1 20  1 46  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23959734.6104   -3655137.43349  -2827239.48145  23959734.8264   23959742.4634
+      3704.4894       2886.6194
+  22466853.2814  -15774870.52149 -12273910.73747  22466852.3274   22466855.5024
+      2105.1954       1640.4124
+  24238890.3244   -1466560.94249  -1122450.52646  24238891.1624   24238896.9454
+      3559.1304       2773.3424
+  22605742.0514  -12765691.82749  -9922918.83746  22605742.2284   22605746.5394
+     -2562.8724      -1997.0394
+  22650716.7264  -15626066.04549 -12155282.51746  22650716.3994   22650722.0104
+     -2924.5794      -2278.9034
+  24943180.8554   -1690230.86949  -1302336.05945  24943179.5054   24943180.7564
+      2625.2314       2045.6334
+  19913892.4014  -24768657.67549 -18991520.73348  19913892.6294   19913897.3454
+     -1040.5184       -810.7934
+  21009714.8554  -22721909.32849 -17655099.81448  21009714.6094   21009719.2244
+     -1823.7574      -1421.1104
+  20874967.5524  -20944489.37549 -16067230.18948  20874966.9094   20874970.7844
+      2066.4134       1610.1914
+  23606001.2364   -5626556.54549  -4362252.47246  23606001.0054   23606003.7974
+     -2612.6164      -2035.8124
+ 05  1 20  1 46 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23938590.5584   -3766256.68149  -2913825.89145  23938590.1174   23938596.8554
+      3703.5154       2885.8554
+  22454846.5324  -15837958.62649 -12323070.29947  22454846.2514   22454850.5284
+      2100.6954       1636.9054
+  24218575.0284   -1573322.35349  -1205641.21346  24218574.8464   24218580.6074
+      3558.2554       2772.6584
+  22620399.0284  -12688659.05249  -9862893.30046  22620400.1904   22620405.9884
+     -2572.8874      -2004.8434
+  22667443.1194  -15538171.45649 -12086793.18446  22667442.7284   22667448.7494
+     -2935.1154      -2287.0994
+  24928196.0294   -1768961.36649  -1363684.48345  24928195.6734   24928197.3554
+      2623.4474       2044.2434
+  19919888.2054  -24737149.94049 -18966969.25048  19919888.4914   19919892.8124
+     -1060.0234       -825.9924
+  21020163.0834  -22667000.35849 -17612313.59848  21020163.2034   21020168.2794
+     -1836.7654      -1431.2474
+  20863204.8864  -21006301.75049 -16115395.67248  20863204.4814   20863208.0054
+      2054.4204       1600.8454
+  23620918.6954   -5548156.01249  -4301161.15446  23620918.4994   23620923.5254
+     -2614.1034      -2036.9584
+ 05  1 20  1 47  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23917451.4154   -3877344.88249  -3000388.17445  23917451.1444   23917457.9464
+      3702.3554       2884.9544
+  22442866.7864  -15900912.12849 -12372124.96947  22442866.9244   22442871.0054
+      2096.1994       1633.3974
+  24198265.1654   -1680055.11449  -1288809.59146  24198264.8344   24198269.9374
+      3557.2224       2771.8634
+  22635117.1734  -12611326.94649  -9802634.52047  22635116.6044   22635121.6384
+     -2582.8444      -2012.6164
+  22684230.1234  -15449962.71049 -12018059.08446  22684228.5604   22684233.7214
+     -2945.5584      -2295.2394
+  24913223.8684   -1847639.85149  -1424992.38145  24913223.8104   24913226.8044
+      2621.7224       2042.8984
+  19925995.4654  -24705057.80649 -18941962.39148  19925995.3034   19925999.7834
+     -1079.4644       -841.1364
+  21030686.0074  -22611703.10949 -17569224.83648  21030686.1474   21030690.5754
+     -1849.6804      -1441.3044
+  20851510.8724  -21067753.62749 -16163280.24848  20851510.5164   20851514.3454
+      2042.3554       1591.4494
+  23635848.7274   -5469711.19249  -4240035.34046  23635848.3294   23635851.1904
+     -2615.5554      -2038.0904
+ 05  1 20  1 47 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23896317.5214   -3988398.91549  -3086923.74545  23896318.6084   23896323.9294
+      3701.1984       2884.0524
+  22430913.4004  -15963731.13449 -12421074.84147  22430912.6754   22430917.0014
+      2091.7404       1629.9264
+  24177959.6544   -1786757.41649  -1371954.22445  24177959.2864   24177965.0134
+      3556.2294       2771.0784
+  22649889.4854  -12533698.26749  -9742144.66746  22649889.9224   22649893.4764
+     -2592.6334      -2020.2454
+  22701073.8214  -15361440.41849 -11949080.67346  22701073.8154   22701079.4424
+     -2955.9654      -2303.3524
+  24898261.8184   -1926266.12949  -1486259.60745  24898261.2784   24898264.7624
+      2620.0094       2041.5694
+  19932213.1514  -24672383.11749 -18916501.59648  19932213.1364   19932217.6314
+     -1098.8604       -856.2564
+  21041281.8874  -22556019.86749 -17525835.30048  21041282.0814   21041287.1844
+     -1862.4804      -1451.2874
+  20839886.7574  -21128842.19049 -16210881.72748  20839886.0124   20839889.5764
+      2030.2054       1581.9764
+  23650783.0184   -5391222.50449  -4178875.33946  23650782.1124   23650787.9174
+     -2617.0314      -2039.2574
+ 05  1 20  1 48  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23875194.7274   -4099415.61149  -3173430.26245  23875192.7294   23875198.1724
+      3699.9034       2883.0384
+  22418984.8434  -16026415.25049 -12469919.61847  22418984.7224   22418988.6384
+      2087.2144       1626.4034
+  24157662.7314   -1893427.32649  -1455073.61546  24157661.3374   24157666.6504
+      3555.0664       2770.1824
+  22664716.8114  -12455775.85949  -9681425.91246  22664717.4434   22664722.2404
+     -2602.3994      -2027.8304
+  22717977.9494  -15272605.92549 -11879858.96146  22717978.5594   22717983.6684
+     -2966.3774      -2311.4654
+  24883310.6054   -2004840.18549  -1547486.15145  24883310.0254   24883312.3544
+      2618.2484       2040.1924
+  19938541.9004  -24639127.94949 -18890588.47548  19938541.7534   19938545.9204
+     -1118.1604       -871.2894
+  21051952.2444  -22499952.84449 -17482146.70348  21051951.7624   21051955.9884
+     -1875.2154      -1461.2034
+  20828331.1664  -21189565.30649 -16258198.44548  20828330.8914   20828334.1764
+      2017.9964       1572.4694
+  23665726.8314   -5312690.22949  -4117681.37846  23665725.7214   23665732.0054
+     -2618.4744      -2040.3614
+ 05  1 20  1 48 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23854076.4644   -4210391.79749  -3259905.18245  23854075.2854   23854080.4094
+      3698.5164       2881.9624
+  22407082.8734  -16088964.30449 -12518659.14747  22407081.7794   22407086.0544
+      2082.7144       1622.8924
+  24137369.7244   -2000062.97849  -1538166.30145  24137368.5814   24137375.6294
+      3553.9004       2769.2674
+  22679601.3774  -12377562.52749  -9620480.50746  22679600.7714   22679606.2914
+     -2612.0794      -2035.3944
+  22734942.6224  -15183460.77249 -11810395.21946  22734942.0344   22734948.4404
+     -2976.6904      -2319.5014
+  24868367.9984   -2083362.06249  -1608672.00145  24868367.4344   24868369.7104
+      2616.4994       2038.8334
+  19944979.5414  -24605294.34449 -18864224.62348  19944980.0594   19944984.2504
+     -1137.4324       -886.3144
+  21062693.6304  -22443504.43249 -17438160.91948  21062693.5444   21062698.0434
+     -1887.9074      -1471.0984
+  20816846.5144  -21249920.45849 -16305228.43148  20816845.7404   20816849.0544
+      2005.6694       1562.8584
+  23680679.6214   -5234114.68149  -4056453.68646  23680678.8154   23680685.1024
+     -2619.9084      -2041.4834
+ 05  1 20  1 49  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23832966.9594   -4321324.10949  -3346345.90645  23832966.4724   23832971.5444
+      3697.0164       2880.7884
+  22395204.3744  -16151378.37949 -12567293.48347  22395204.6414   22395208.7854
+      2078.2204       1619.3934
+  24117083.4104   -2106662.33749  -1621230.71346  24117083.4904   24117090.5254
+      3552.6754       2768.3124
+  22694538.6644  -12299061.40749  -9559310.82046  22694538.8174   22694543.8554
+     -2621.5904      -2042.7914
+  22751965.6864  -15094006.01849 -11740690.23846  22751965.4234   22751970.4834
+     -2987.0104      -2327.5374
+  24853435.6044   -2161831.91949  -1669817.27345  24853434.7464   24853436.9964
+      2614.8254       2037.5204
+  19951527.8654  -24570884.38349 -18837411.66548  19951528.0894   19951532.4394
+     -1156.5844       -901.2314
+  21073507.0534  -22386676.68149 -17393879.56548  21073507.2794   21073511.8534
+     -1900.5364      -1480.9354
+  20805431.0634  -21309905.49149 -16351970.01348  20805430.7844   20805434.4494
+      1993.3084       1553.2294
+  23695641.0664   -5155496.21049  -3995192.55246  23695640.0534   23695645.4634
+     -2621.3134      -2042.5854
+ 05  1 20  1 49 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23811866.6504   -4432209.56649  -3432750.17545  23811866.1844   23811869.5904
+      3695.3914       2879.5244
+  22383354.6024  -16213657.28549 -12615822.48647  22383353.6024   22383357.7024
+      2073.7364       1615.8994
+  24096805.0674   -2213223.74349  -1704265.53746  24096805.6134   24096812.2694
+      3551.4064       2767.3254
+  22709531.3334  -12220275.22849  -9497919.02046  22709531.1314   22709535.9794
+     -2631.0344      -2050.1564
+  22769045.6744  -15004242.74749 -11670744.82646  22769045.8514   22769052.3024
+     -2997.3144      -2335.5664
+  24838513.4224   -2240249.30949  -1730921.75845  24838513.5714   24838515.3724
+      2613.0524       2036.1504
+  19958184.4784  -24535900.19149 -18810151.25348  19958184.6314   19958189.7104
+     -1175.6884       -916.1194
+  21084393.2284  -22329472.14349 -17349304.59148  21084393.0944   21084397.9104
+     -1913.0414      -1490.6774
+  20794087.4204  -21369517.73549 -16398421.11048  20794086.8244   20794090.5424
+      1980.8434       1543.5174
+  23710607.9574   -5076835.13449  -3933898.21946  23710606.9904   23710613.6274
+     -2622.7324      -2043.6884
+ 05  1 20  1 50  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23790773.0534   -4543044.96949  -3519115.39145  23790773.2084   23790780.1524
+      3693.6534       2878.1714
+  22371527.3764  -16275801.00849 -12664246.15547  22371527.5074   22371532.1024
+      2069.1424       1612.3154
+  24076536.2224   -2319744.99049  -1787269.11446  24076535.8604   24076541.6384
+      3549.9914       2766.2284
+  22724576.9464  -12141206.87849  -9436307.35246  22724577.2414   22724582.6574
+     -2640.4004      -2057.4504
+  22786185.7404  -14914172.32649 -11600560.04046  22786184.3144   22786191.6124
+     -3007.5224      -2343.5204
+  24823601.1644   -2318614.37149  -1791985.48145  24823599.8324   24823603.7634
+      2611.3014       2034.7764
+  19964951.0654  -24500343.44549 -18782444.69848  19964950.9694   19964955.6094
+     -1194.7694       -930.9894
+  21095350.1354  -22271892.79349 -17304437.57248  21095350.0254   21095354.5444
+     -1925.4724      -1500.3654
+  20782814.7974  -21428755.31349 -16444580.26048  20782814.0714   20782817.7424
+      1968.3114       1533.7444
+  23725585.8334   -4998131.83149  -3872570.95646  23725585.4704   23725590.8054
+     -2624.1824      -2044.8164
+ 05  1 20  1 50 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23769691.6174   -4653827.12549  -3605439.14545  23769692.8374   23769697.5834
+      3691.8204       2876.7434
+  22359728.3384  -16337809.07249 -12712564.11947  22359727.6374   22359732.1604
+      2064.6304       1608.7954
+  24056276.8404   -2426224.20849  -1870239.89545  24056273.5854   24056279.9484
+      3548.5824       2765.1254
+  22739677.6074  -12061859.30349  -9374478.11946  22739677.4464   22739681.3374
+     -2649.6764      -2064.6904
+  22803382.9394  -14823796.25349 -11530137.15046  22803383.1894   22803390.3764
+     -3017.6774      -2351.4344
+  24808698.7804   -2396927.16949  -1853008.39545  24808698.3494   24808699.9224
+      2609.5604       2033.4294
+  19971826.0914  -24464216.68649 -18754293.98148  19971826.0694   19971830.3614
+     -1213.7154       -945.7534
+  21106377.8844  -22213941.14049 -17259280.43148  21106377.8624   21106382.3504
+     -1937.8924      -1510.0484
+  20771613.6804  -21487615.61049 -16490445.42648  20771613.5954   20771617.0754
+      1955.6954       1523.9164
+  23740570.0384   -4919386.30249  -3811210.81946  23740570.8154   23740575.5644
+     -2625.5664      -2045.8904
+ 05  1 20  1 51  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23748621.9004   -4764552.84049  -3691718.90145  23748621.4524   23748627.4614
+      3689.8694       2875.2194
+  22347954.9954  -16399681.32849 -12760776.25147  22347954.3424   22347958.5524
+      2060.1384       1605.2994
+  24036018.0554   -2532659.33949  -1953176.35545  24036019.5624   24036026.0594
+      3547.0354       2763.9244
+  22754829.0564  -11982235.49849  -9312433.63946  22754828.9324   22754833.7804
+     -2658.8774      -2071.8584
+  22820640.8154  -14733115.25849 -11459476.63346  22820639.6694   22820647.1454
+     -3027.7874      -2359.3064
+  24793808.1654   -2475187.65249  -1913990.53345  24793806.6334   24793808.4634
+      2607.8164       2032.0624
+  19978808.5494  -24427521.90049 -18725700.63748  19978808.7464   19978813.2114
+     -1232.6064       -960.4724
+  21117476.1824  -22155619.47149 -17213834.98248  21117476.5974   21117480.6004
+     -1950.1544      -1519.6034
+  20760485.6904  -21546096.44749 -16536014.91848  20760485.2944   20760488.5194
+      1942.9994       1514.0234
+  23755564.8454   -4840598.64949  -3749817.87046  23755562.4684   23755568.3674
+     -2626.9344      -2046.9624
+ 05  1 20  1 51 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23727563.5154   -4875218.62349  -3777951.94345  23727563.8644   23727568.2384
+      3687.7954       2873.6034
+  22336206.8934  -16461417.59849 -12808882.41647  22336206.4704   22336210.2854
+      2055.5894       1601.7514
+  24015774.6304   -2639048.43849  -2036076.90746  24015774.9724   24015781.7334
+      3545.5284       2762.7484
+  22770032.3364  -11902338.15549  -9250176.01346  22770032.8994   22770037.1734
+     -2667.9244      -2078.9094
+  22837954.2804  -14642131.46249 -11388580.17446  22837953.9174   22837958.6884
+     -3037.9244      -2367.2224
+  24778920.1484   -2553395.44249  -1974931.76445  24778921.6404   24778925.1774
+      2606.0554       2030.6954
+  19985898.9504  -24390261.08149 -18696666.23148  19985899.2904   19985903.5324
+     -1251.4564       -975.1634
+  21128644.8744  -22096929.90349 -17168102.84948  21128644.4154   21128648.8264
+     -1962.4144      -1529.1564
+  20749429.2524  -21604195.32949 -16581286.76648  20749429.2454   20749432.5764
+      1930.2254       1504.0674
+  23770563.1824   -4761769.60849  -3688392.65646  23770563.0364   23770568.8354
+     -2628.3484      -2048.0704
+ 05  1 20  1 52  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23706516.8914   -4985821.61649  -3864136.05045  23706516.2814   23706521.9424
+      3685.7014       2871.9734
+  22324484.8744  -16523017.67049 -12856882.45647  22324484.0534   22324488.1894
+      2051.1084       1598.2654
+  23995539.5904   -2745389.52249  -2118940.06846  23995539.1824   23995544.7934
+      3543.8644       2761.4534
+  22785289.4214  -11822170.23449  -9187707.55346  22785288.7894   22785293.5524
+     -2676.8544      -2085.8604
+  22855326.0764  -14550845.34549 -11317448.13546  22855325.0954   22855330.4114
+     -3047.9564      -2375.0334
+  24764049.0984   -2631550.89149  -2035832.03845  24764048.3624   24764053.4254
+      2604.3394       2029.3474
+  19993096.7874  -24352436.68349 -18667192.67348  19993096.8944   19993101.5554
+     -1270.1874       -989.7564
+  21139881.9224  -22037874.94749 -17122085.99448  21139882.1414   21139886.5004
+     -1974.5364      -1538.5994
+  20738447.3834  -21661909.95149 -16626259.20448  20738446.5324   20738449.7714
+      1917.4034       1494.0804
+  23785572.9814   -4682899.18649  -3626935.17946  23785570.6894   23785575.8424
+     -2629.7064      -2049.1404
+ 05  1 20  1 52 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23685480.2814   -5096358.20849  -3950268.45145  23685480.7624   23685486.6924
+      3683.3974       2870.1784
+  22312787.3734  -16584481.44049 -12904776.30747  22312787.8214   22312792.1554
+      2046.5364       1594.7024
+  23975312.0804   -2851680.69049  -2201764.31946  23975312.2804   23975317.9214
+      3542.2234       2760.1704
+  22800594.7534  -11741734.71949  -9125030.56746  22800594.3074   22800599.3454
+     -2685.7774      -2092.8154
+  22872752.5374  -14459258.87249 -11246082.02446  22872752.0854   22872758.7914
+     -3057.9224      -2382.7924
+  24749187.8274   -2709653.90049  -2096691.48845  24749188.6484   24749191.6034
+      2602.5454       2027.9564
+  20000401.6434  -24314050.44449 -18637281.31548  20000401.7034   20000406.1364
+     -1288.8704      -1004.3154
+  21151189.4814  -21978456.69049 -17075786.05448  21151189.5024   21151193.4074
+     -1986.6074      -1548.0024
+  20727537.4064  -21719238.02549 -16670930.42748  20727537.1264   20727540.8604
+      1904.4664       1483.9984
+  23800589.9024   -4603987.33949  -3565445.46546  23800589.0504   23800593.8914
+     -2631.0694      -2050.1764
+ 05  1 20  1 53  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23664462.3354   -5206825.40049  -4036346.75546  23664461.3034   23664466.0394
+      3681.0274       2868.3324
+  22301118.0964  -16645808.69149 -12952563.75947  22301117.4254   22301122.2804
+      2041.9694       1591.1434
+  23955096.6044   -2957919.60849  -2284547.86145  23955095.6624   23955101.4634
+      3540.4084       2758.7604
+  22815949.7664  -11661034.50449  -9062147.32646  22815950.6294   22815956.4024
+     -2694.4894      -2099.6144
+  22890238.0034  -14367373.17049 -11174482.80246  22890238.4894   22890244.3354
+     -3067.8364      -2390.5304
+  24734336.6014   -2787704.39149  -2157510.08745  24734336.1874   24734336.9154
+      2600.8464       2026.6344
+  20007812.8434  -24275104.93749 -18606934.16748  20007812.7704   20007817.2264
+     -1307.4844      -1018.8194
+  21162565.1034  -21918677.73349 -17029205.04348  21162564.6944   21162569.0734
+     -1998.6124      -1557.3634
+  20716702.4244  -21776177.14749 -16715298.57748  20716702.0124   20716705.6744
+      1891.4754       1473.8754
+  23815612.3054   -4525034.77549  -3503924.01146  23815612.0324   23815618.1814
+     -2632.4344      -2051.2464
+ 05  1 20  1 53 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23643454.1914   -5317219.93649  -4122368.45045  23643453.9554   23643457.1894
+      3678.6174       2866.4544
+  22289474.2234  -16706999.47649 -13000244.87447  22289473.5884   22289477.6434
+      2037.4164       1587.5914
+  23934890.1474   -3064104.42349  -2367289.24946  23934889.3264   23934895.7324
+      3538.5604       2757.3234
+  22831358.3184  -11580072.45349  -8999060.05546  22831358.8904   22831363.0354
+     -2703.2224      -2106.4094
+  22907780.4624  -14275189.64149 -11102651.46146  22907779.8444   22907785.6474
+     -3077.7554      -2398.2474
+  24719491.6614   -2865702.28549  -2218287.67745  24719491.7854   24719497.8714
+      2599.0684       2025.2464
+  20015329.7294  -24235602.22649 -18576152.83048  20015329.8074   20015334.6044
+     -1326.0284      -1033.2714
+  21174008.5654  -21858540.21149 -16982344.63248  21174008.6624   21174012.7344
+     -2010.5144      -1566.6374
+  20705941.4794  -21832725.02449 -16759361.85748  20705941.1804   20705944.8174
+      1878.3744       1463.6654
+  23830645.8114   -4446041.71649  -3442370.98846  23830644.7624   23830650.3774
+     -2633.7684      -2052.2904
+ 05  1 20  1 54  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23622460.6844   -5427538.48549  -4208330.94446  23622459.7434   23622465.7664
+      3675.9914       2864.4034
+  22277855.7754  -16768053.95849 -13047819.76847  22277855.4314   22277859.5344
+      2032.8624       1584.0554
+  23914693.8794   -3170233.13649  -2449986.93046  23914693.7204   23914699.5044
+      3536.6574       2755.8344
+  22846815.3944  -11498851.56749  -8935771.09146  22846814.5994   22846819.5834
+     -2711.7914      -2113.0724
+  22925378.5154  -14182709.15649 -11030588.74846  22925378.3234   22925384.0354
+     -3087.6364      -2405.9484
+  24704659.8594   -2943647.56549  -2279024.19045  24704659.9784   24704662.6534
+      2597.3264       2023.8854
+  20022952.2864  -24195544.46349 -18544938.99048  20022952.6594   20022957.0544
+     -1344.4904      -1047.6524
+  21185519.9414  -21798046.28849 -16935206.50748  21185520.0064   21185524.5454
+     -2022.3304      -1575.8384
+  20695255.9064  -21888879.35849 -16803118.48548  20695255.2824   20695259.2364
+      1865.2384       1453.4354
+  23845685.3554   -4367008.37049  -3380786.57246  23845684.8594   23845687.8474
+     -2635.0894      -2053.3044
+ 05  1 20  1 54 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23601482.9424   -5537777.70649  -4294231.60746  23601482.6384   23601488.0384
+      3673.2624       2862.2844
+  22266264.5884  -16828971.01249 -13095287.58347  22266263.5764   22266266.6874
+      2028.2714       1580.4704
+  23894510.8394   -3276303.59249  -2532639.19846  23894509.3744   23894515.1004
+      3534.6624       2754.2804
+  22862320.2094  -11417374.70449  -8872282.68146  22862318.6724   22862323.8774
+     -2720.2774      -2119.6884
+  22943034.8184  -14089933.45949 -10958295.98146  22943033.2184   22943038.7824
+     -3097.4804      -2413.6184
+  24689841.1124   -3021540.02049  -2339719.60745  24689839.9914   24689840.6084
+      2595.5254       2022.4844
+  20030679.9364  -24154934.16149 -18513294.59348  20030680.2914   20030685.1224
+     -1362.8684      -1061.9734
+  21197099.3854  -21737198.41649 -16887792.58448  21197099.2204   21197103.3984
+     -2034.0874      -1585.0014
+  20684645.6904  -21944637.87149 -16846566.67648  20684645.2664   20684648.9264
+      1852.0034       1443.1174
+  23860731.4054   -4287934.62149  -3319170.65646  23860730.6174   23860737.3394
+     -2636.4744      -2054.3894
+ 05  1 20  1 55  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23580520.4014   -5647934.34149  -4380067.97546  23580519.7324   23580522.8874
+      3670.4794       2860.1104
+  22254696.9754  -16889751.11449 -13142648.69047  22254696.9284   22254701.1344
+      2023.7324       1576.9384
+  23874338.6044   -3382313.80549  -2615244.53446  23874336.8284   23874341.2774
+      3532.6284       2752.7024
+  22877870.6834  -11335645.01949  -8808597.24146  22877870.6904   22877876.3804
+     -2728.6394      -2126.2094
+  22960743.4964  -13996864.23549 -10885774.49346  22960744.0024   22960749.1994
+     -3107.1794      -2421.1764
+  24675024.7184   -3099379.96549  -2400374.07845  24675026.6694   24675028.5424
+      2593.7374       2021.0924
+  20038513.1044  -24113773.31249 -18481221.20548  20038513.2314   20038517.6964
+     -1381.1914      -1076.2544
+  21208744.7174  -21675998.96449 -16840104.69848  21208745.0214   21208749.4434
+     -2045.8024      -1594.1334
+  20674111.0944  -21999998.16249 -16889704.56548  20674110.6104   20674114.0394
+      1838.6684       1432.7264
+  23875786.2514   -4208820.93149  -3257523.61746  23875786.1384   23875792.1194
+     -2637.7744      -2055.4154
+ 05  1 20  1 55 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23559574.5674   -5758005.24949  -4465837.50446  23559574.3114   23559579.7034
+      3667.5904       2857.8694
+  22243157.1944  -16950393.87549 -13189902.77947  22243157.0514   22243161.0004
+      2019.1644       1573.3774
+  23854176.6834   -3488261.79849  -2697801.42146  23854175.1594   23854180.5014
+      3530.5544       2751.0814
+  22893470.8474  -11253665.32949  -8744716.97946  22893471.2334   22893476.2664
+     -2736.9244      -2132.6784
+  22978510.0274  -13903502.36649 -10813024.98846  22978510.1534   22978515.6794
+     -3116.9534      -2428.7994
+  24660222.0364   -3177167.23549  -2460987.50645  24660222.9984   24660226.2804
+      2592.0354       2019.7694
+  20046449.9064  -24072064.09749 -18448720.51448  20046450.1984   20046454.8604
+     -1399.3944      -1090.4374
+  21220457.3574  -21614450.25749 -16792144.66848  21220457.3044   21220461.5414
+     -2057.3874      -1603.1604
+  20663652.7224  -22054958.16649 -16932530.54148  20663652.1104   20663655.5024
+      1825.2934       1422.3064
+  23890848.3824   -4129667.73349  -3195845.80845  23890847.1824   23890854.6194
+     -2639.0944      -2056.4244
+ 05  1 20  1 56  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23538646.9374   -5867987.08749  -4551537.61346  23538645.7104   23538650.4484
+      3664.5384       2855.4854
+  22231642.8654  -17010899.41749 -13237049.93547  22231642.5884   22231647.4044
+      2014.5384       1569.7664
+  23834026.6394   -3594145.42849  -2780308.14846  23834026.5844   23834030.7544
+      3528.3464       2749.3604
+  22909119.6454  -11171438.48149  -8680644.14846  22909118.6704   22909124.0504
+     -2745.1214      -2139.0594
+  22996331.0084  -13809849.63349 -10740048.85146  22996330.7664   22996337.8844
+     -3126.6974      -2436.3884
+  24645429.3184   -3254901.49249  -2521559.70945  24645430.2814   24645434.9074
+      2590.3184       2018.4274
+  20054491.1204  -24029809.11949 -18415794.55448  20054490.9104   20054495.3574
+     -1417.6034      -1104.6264
+  21232235.5544  -21552554.39249 -16743914.11748  21232235.8534   21232240.0194
+     -2068.9424      -1612.1664
+  20653270.4894  -22109515.14649 -16975042.47048  20653270.1214   20653273.6104
+      1811.8024       1411.7934
+  23905919.7484   -4050475.09449  -3134137.29045  23905918.0564   23905922.2384
+     -2640.4334      -2057.4814
+ 05  1 20  1 56 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23517733.9544   -5977876.68149  -4637165.86446  23517733.8684   23517739.9364
+      3661.4334       2853.0714
+  22220156.7214  -17071267.23949 -13284089.79347  22220156.0314   22220159.6134
+      2009.9614       1566.2074
+  23813889.8664   -3699962.48749  -2862762.98046  23813889.3724   23813893.6754
+      3526.0634       2747.5874
+  22924811.8554  -11088967.43749  -8616381.02746  22924811.7364   22924817.6694
+     -2753.1934      -2145.3424
+  23014207.9024  -13715907.13449 -10666846.89946  23014208.1374   23014213.7544
+     -3136.2754      -2443.8424
+  24630647.7444   -3332582.94449  -2582090.70045  24630647.9984   24630650.3374
+      2588.5054       2017.0124
+  20062635.7374  -23987010.32349 -18382444.84448  20062635.4014   20062639.6864
+     -1435.6674      -1118.7004
+  21244080.0684  -21490313.89349 -16695415.02448  21244079.3634   21244084.2494
+     -2080.3674      -1621.0654
+  20642965.2294  -22163667.05749 -17017238.76248  20642965.0774   20642968.8534
+      1798.3054       1401.2814
+  23920996.5784   -3971243.23249  -3072398.18345  23920996.0184   23920999.4484
+     -2641.7304      -2058.4764
+ 05  1 20  1 57  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23496840.3154   -6087670.70749  -4722719.64946  23496841.5224   23496846.1834
+      3658.1534       2850.5164
+  22208693.5794  -17131496.86549 -13331021.96447  22208694.0654   22208698.2214
+      2005.3744       1562.6294
+  23793766.6674   -3805710.93949  -2945164.35146  23793764.9824   23793770.7874
+      3523.8494       2745.8514
+  22940552.3644  -11006255.22149  -8551929.97046  22940553.0614   22940558.2854
+     -2761.2304      -2151.6064
+  23032140.0894  -13621676.42349 -10593420.34946  23032139.5644   23032145.2134
+     -3145.8464      -2451.3104
+  24615876.0544   -3410211.57849  -2642580.47445  24615876.1454   24615878.6764
+      2586.7364       2015.6424
+  20070882.3964  -23943670.33149 -18348673.42148  20070882.4364   20070887.1864
+     -1453.6734      -1132.7304
+  21255988.6734  -21427730.93449 -16646649.09448  21255988.5754   21255993.3544
+     -2091.7624      -1629.9404
+  20632738.4864  -22217411.77349 -17059117.77048  20632737.8434   20632741.5884
+      1784.6794       1390.6624
+  23936082.7934   -3891972.18249  -3010628.55845  23936080.5224   23936086.3994
+     -2643.0604      -2059.5234
+ 05  1 20  1 57 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23475966.3844   -6197365.61949  -4808196.17646  23475966.5394   23475971.5204
+      3654.8114       2847.8994
+  22197259.2644  -17191588.43549 -13377846.54947  22197258.8324   22197263.3284
+      2000.7404       1559.0234
+  23773656.1624   -3911388.68849  -3027510.64446  23773656.8944   23773660.7544
+      3521.3674       2743.9194
+  22956336.4914  -10923304.76749  -8487293.27246  22956336.2444   22956342.9644
+     -2769.0804      -2157.7314
+  23050124.9894  -13527158.97049 -10519770.35846  23050125.6034   23050131.0994
+     -3155.3714      -2458.7294
+  24601113.8974   -3487787.27049  -2703029.10245  24601113.6444   24601116.3924
+      2584.9624       2014.2474
+  20079232.4864  -23899791.33249 -18314481.99148  20079232.5324   20079236.6214
+     -1471.5844      -1146.6894
+  21267962.0254  -21364808.00149 -16597618.23948  21267962.4264   21267966.9284
+     -2103.0504      -1638.7394
+  20622588.2314  -22270746.74349 -17100677.48348  20622588.3974   20622592.3184
+      1770.9794       1379.9834
+  23951170.7384   -3812662.38249  -2948828.70645  23951170.8594   23951177.2074
+     -2644.2974      -2060.4834
+ 05  1 20  1 58  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23455111.6084   -6306958.32449  -4893593.08746  23455111.6394   23455116.0014
+      3651.3754       2845.2284
+  22185851.1014  -17251541.64249 -13424563.34447  22185850.5844   22185854.4014
+      1996.1504       1555.4424
+  23753560.4604   -4016993.51349  -3109800.10846  23753558.9694   23753565.1034
+      3518.9544       2742.0444
+  22972167.4714  -10840118.98649  -8422473.20846  22972167.3024   22972171.7284
+     -2776.8694      -2163.8004
+  23068167.0924  -13432356.23749 -10445898.13146  23068165.4524   23068171.3144
+     -3164.8624      -2466.1324
+  24586362.3394   -3565309.79949  -2763436.23445  24586362.3494   24586364.6334
+      2583.1954       2012.8824
+  20087684.2204  -23855375.53849 -18279872.27648  20087684.5014   20087688.7574
+     -1489.4524      -1160.6144
+  21280000.7184  -21301547.18949 -16548324.09948  21280000.9914   21280005.2764
+     -2114.2644      -1647.4834
+  20612518.3854  -22323669.64249 -17141916.10948  20612517.8084   20612521.5654
+      1757.2114       1369.2524
+  23966274.4984   -3733313.69649  -2886998.60345  23966271.1304   23966276.7164
+     -2645.6064      -2061.5114
+ 05  1 20  1 58 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23434276.7374   -6416445.30649  -4978907.62946  23434276.8594   23434281.5644
+      3647.7874       2842.4314
+  22174467.0994  -17311356.50349 -13471172.31747  22174467.6954   22174471.8064
+      1991.5194       1551.8324
+  23733477.3674   -4122523.30149  -3192031.12346  23733478.7964   23733484.0714
+      3516.3874       2740.0424
+  22988041.3524  -10756700.99749  -8357472.19546  22988040.4534   22988046.2574
+     -2784.5824      -2169.8024
+  23086262.5524  -13337269.35349 -10371804.47646  23086261.2954   23086266.2784
+     -3174.3334      -2473.5114
+  24571616.9034   -3642779.45549  -2823802.20845  24571618.7044   24571623.4404
+      2581.4354       2011.5014
+  20096237.9994  -23810425.61249 -18244846.35848  20096238.2294   20096242.6384
+     -1507.2164      -1174.4564
+  21292102.8044  -21237951.13549 -16498768.73448  21292102.5924   21292107.1974
+     -2125.3864      -1656.1454
+  20602526.3554  -22376178.33949 -17182831.97448  20602525.8854   20602529.2524
+      1743.3594       1358.4614
+  23981378.6794   -3653926.60249  -2825138.49545  23981377.4234   23981385.0834
+     -2646.8954      -2062.5164
+ 05  1 20  1 59  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23413463.3724   -6525823.37349  -5064137.28046  23413462.4944   23413467.6164
+      3644.0924       2839.5444
+  22163112.7704  -17371032.58749 -13517673.16647  22163112.0704   22163115.8774
+      1986.8984       1548.2334
+  23713412.9754   -4227975.88249  -3274201.94346  23713410.4894   23713416.6794
+      3513.7124       2737.9594
+  23003957.3884  -10673053.66349  -8292292.47446  23003957.9464   23003963.6784
+     -2792.1534      -2175.7044
+  23104408.3484  -13241899.94249 -10297490.61346  23104408.3494   23104414.1784
+     -3183.6384      -2480.7444
+  24556890.8914   -3720196.00049  -2884126.80545  24556889.9064   24556888.9594
+      2579.7254       2010.1734
+  20104893.1244  -23764943.42349 -18209405.69548  20104893.2224   20104897.7084
+     -1524.8974      -1188.2324
+  21304267.9564  -21174022.01649 -16448953.83448  21304267.8684   21304272.6644
+     -2136.4794      -1664.7914
+  20592614.2774  -22428270.34849 -17223423.15448  20592613.4424   20592616.5974
+      1729.4404       1347.6144
+  23996494.7444   -3574501.32349  -2763248.71045  23996493.2574   23996498.2794
+     -2648.1384      -2063.4774
+ 05  1 20  1 59 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23392671.2354   -6635089.17249  -5149279.43046  23392671.2414   23392674.4334
+      3640.2764       2836.5864
+  22151783.6234  -17430569.79949 -13564065.81147  22151782.7064   22151786.3824
+      1982.2654       1544.6204
+  23693359.3864   -4333349.11049  -3356310.93546  23693358.9894   23693363.7534
+      3511.0614       2735.8954
+  23019920.4584  -10589179.86049  -8226936.29546  23019919.5624   23019923.9034
+     -2799.6924      -2181.5854
+  23122608.0684  -13146249.58149 -10222957.87045  23122608.6594   23122614.7604
+     -3193.0444      -2488.0894
+  24542165.9444   -3797559.52549  -2944410.07045  24542166.0354   24542167.7714
+      2577.8934       2008.7544
+  20113649.2694  -23718931.97849 -18173552.61348  20113648.8984   20113653.4254
+     -1542.5114      -1201.9574
+  21316496.2304  -21109762.17349 -16398881.22848  21316496.1114   21316500.8024
+     -2147.4384      -1673.3274
+  20582780.5614  -22479943.61149 -17263688.03548  20582780.1174   20582783.4474
+      1715.4474       1336.7134
+  24011614.2694   -3495038.00549  -2701329.24445  24011613.7104   24011620.0974
+     -2649.3754      -2064.4524
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20  2  0  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23371900.8654   -6744239.23749  -5234331.41946  23371900.4824   23371905.9704
+      3636.3864       2833.5564
+  22140479.7314  -17489967.98849 -13610350.09247  22140479.1564   22140483.5104
+      1977.6154       1541.0064
+  23673322.9174   -4438640.94249  -3438356.51946  23673322.8624   23673328.4454
+      3508.3614       2733.7914
+  23035922.8434  -10505082.63649  -8161405.98546  23035922.3594   23035927.2594
+     -2807.0474      -2187.3144
+  23140865.9484  -13050320.06349 -10148207.63046  23140865.7254   23140871.0724
+     -3202.3304      -2495.3194
+  24527454.5134   -3874869.89149  -3004651.86845  24527454.0754   24527457.5124
+      2576.1684       2007.4124
+  20122504.7224  -23672393.19249 -18137288.62948  20122504.8984   20122509.7284
+     -1560.0364      -1215.6114
+  21328786.4414  -21045173.71349 -16348552.55748  21328786.7504   21328791.4064
+     -2158.3444      -1681.8234
+  20573027.5884  -22531195.95449 -17303624.92548  20573026.8954   20573030.3464
+      1701.3704       1325.7404
+  24026742.5644   -3415536.84949  -2639380.30346  24026743.2844   24026748.0844
+     -2650.6604      -2065.4384
+ 05  1 20  2  0 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23351150.6604   -6853270.39949  -5319290.74946  23351151.4944   23351157.5184
+      3632.3544       2830.4044
+  22129202.0434  -17549226.64949 -13656525.67047  22129202.0584   22129206.1104
+      1972.9664       1537.3704
+  23653302.4944   -4543849.19449  -3520336.97846  23653302.0134   23653307.1534
+      3505.5004       2731.5564
+  23051968.3414  -10420765.06549  -8095703.97846  23051967.0174   23051971.9344
+     -2814.3804      -2193.0374
+  23159172.9934  -12954112.06149 -10073240.35046  23159172.1554   23159178.0474
+     -3211.5924      -2502.5314
+  24512754.3134   -3952126.97849  -3064852.22045  24512753.7864   24512756.4374
+      2574.3434       2005.9774
+  20131460.3544  -23625329.87249 -18100615.90648  20131460.5414   20131465.1714
+     -1577.5094      -1229.2294
+  21341139.2994  -20980259.27649 -16297969.88448  21341139.3114   21341144.5144
+     -2169.1804      -1690.2704
+  20563354.6564  -22582025.07649 -17343232.03448  20563354.4364   20563357.7164
+      1687.2194       1314.7134
+  24041879.9604   -3335998.06149  -2577402.05946  24041878.7074   24041884.4244
+     -2651.9104      -2066.4214
+ 05  1 20  2  1  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23330427.6404   -6962179.38949  -5404154.89646  23330427.1924   23330432.4324
+      3628.2324       2827.1884
+  22117953.0064  -17608345.69349 -13702592.44747  22117952.6654   22117956.7034
+      1968.2994       1533.7404
+  23633298.5534   -4648971.69849  -3602250.58346  23633299.1334   23633302.8524
+      3502.6034       2729.2924
+  23068054.0604  -10336229.98949  -8029832.50346  23068054.4054   23068058.2274
+     -2821.5554      -2198.6204
+  23177533.1494  -12857627.58249  -9998057.63446  23177533.4554   23177538.8274
+     -3220.7774      -2509.6924
+  24498061.6094   -4029330.84449  -3125011.08245  24498061.4934   24498062.7914
+      2572.5864       2004.6184
+  20140515.3074  -23577743.97649 -18063535.99148  20140515.6194   20140520.3644
+     -1594.8634      -1242.7524
+  21353553.6844  -20915021.02049 -16247134.88248  21353553.8184   21353558.8984
+     -2179.9414      -1698.6544
+  20553763.5884  -22632428.57849 -17382507.49448  20553763.0924   20553766.3464
+      1673.0054       1303.6394
+  24057023.8534   -3256421.79249  -2515394.58346  24057022.7744   24057025.2754
+     -2653.1874      -2067.4194
+ 05  1 20  2  1 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23309727.2674   -7070962.83149  -5488921.18246  23309726.8694   23309731.9694
+      3624.0034       2823.9014
+  22106729.0804  -17667325.19249 -13748550.48447  22106728.8564   22106733.0934
+      1963.6434       1530.1174
+  23613310.2134   -4754006.35749  -3684095.76945  23613310.1104   23613315.0394
+      3499.6974       2727.0434
+  23084180.8214  -10251480.39949  -7963793.86246  23084181.4154   23084186.7164
+     -2828.6454      -2204.1404
+  23195946.2484  -12760868.06949  -9922660.60746  23195946.2044   23195951.7654
+     -3229.8494      -2516.7624
+  24483380.5964   -4106481.27949  -3185128.29846  24483379.7384   24483383.7694
+      2570.7814       2003.2054
+  20149669.9574  -23529638.37049 -18026051.10348  20149670.1974   20149674.8734
+     -1612.1654      -1256.2314
+  21366029.7704  -20849461.43849 -16196049.49148  21366029.5014   21366034.4194
+     -2190.6064      -1706.9644
+  20544253.5834  -22682404.13549 -17421449.48248  20544253.1784   20544256.2554
+      1658.7014       1292.4934
+  24072168.7694   -3176808.32649  -2453358.13546  24072169.6624   24072177.4854
+     -2654.3924      -2068.3594
+ 05  1 20  2  2  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23289050.9034   -7179617.38549  -5573587.03946  23289050.5914   23289055.0724
+      3619.6174       2820.4854
+  22095533.2574  -17726164.69349 -13794399.41847  22095532.7784   22095536.7054
+      1959.0034       1526.4894
+  23593341.7134   -4858950.93149  -3765870.76945  23593340.4014   23593345.9174
+      3496.5984       2724.6264
+  23100350.4104  -10166519.30449  -7897590.44146  23100349.4084   23100353.7854
+     -2835.6374      -2209.5824
+  23214409.5454  -12663835.02049  -9847050.45545  23214410.1894   23214415.2404
+     -3239.0214      -2523.9074
+  24468709.7954   -4183578.38549  -3245203.94845  24468708.7014   24468712.8864
+      2569.0234       2001.8374
+  20158923.0524  -23481015.09249 -17988162.82848  20158922.9164   20158927.3184
+     -1629.3764      -1269.6464
+  21378566.7474  -20783582.72649 -16144715.42948  21378566.1644   21378570.4384
+     -2201.2064      -1715.2254
+  20534825.5754  -22731949.69949 -17460056.41348  20534825.0824   20534828.1174
+      1644.3304       1281.2954
+  24087330.5834   -3097157.60649  -2391292.64146  24087328.8594   24087335.1304
+     -2655.6444      -2069.3294
+ 05  1 20  2  2 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23268398.7414   -7288139.71049  -5658149.88046  23268399.4484   23268404.3624
+      3615.1304       2816.9874
+  22084363.4674  -17784863.89549 -13840139.04847  22084363.1074   22084366.5394
+      1954.3034       1522.8334
+  23573390.4954   -4963803.12049  -3847573.76145  23573387.9854   23573392.8914
+      3493.4834       2722.1954
+  23116555.9834  -10081349.60949  -7831224.45346  23116555.8834   23116560.3724
+     -2842.5894      -2215.0054
+  23232927.0974  -12566529.97349  -9771228.36645  23232926.7514   23232932.4914
+     -3248.0454      -2530.9484
+  24454047.6964   -4260622.32749  -3305238.16845  24454048.4614   24454051.4134
+      2567.2484       2000.4584
+  20168273.6774  -23431876.87349 -17949873.31148  20168273.9654   20168278.0784
+     -1646.4834      -1282.9764
+  21391162.7394  -20717387.27349 -16093134.55648  21391162.7074   21391167.0014
+     -2211.7734      -1723.4584
+  20525479.5804  -22781063.02349 -17498326.53748  20525478.9204   20525482.3844
+      1629.8814       1270.0374
+  24102492.6594   -3017469.96049  -2329198.35646  24102491.5464   24102498.1234
+     -2656.9434      -2070.3444
+ 05  1 20  2  3  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23247774.7004   -7396526.43849  -5742607.06146  23247774.6864   23247779.8514
+      3610.6034       2813.4634
+  22073219.5494  -17843422.73549 -13885769.30247  22073218.7724   22073223.1284
+      1949.6094       1519.1764
+  23553455.5174   -5068560.74549  -3929203.05445  23553453.1164   23553458.0214
+      3490.3604       2719.7634
+  23132803.1574   -9995974.45249  -7764698.35746  23132803.0334   23132807.3054
+     -2849.3594      -2220.2894
+  23251496.2434  -12468954.40749  -9695195.45345  23251495.5724   23251501.7884
+     -3257.0384      -2537.9534
+  24439396.1604   -4337612.50149  -3365230.53545  24439396.0174   24439399.6294
+      2565.4834       1999.0634
+  20177722.2864  -23382226.15349 -17911184.43348  20177721.9914   20177726.5144
+     -1663.5454      -1296.2754
+  21403818.9884  -20650877.38449 -16041308.66948  21403819.4594   21403823.1264
+     -2222.1814      -1731.5744
+  20516216.8184  -22829741.59749 -17536257.89448  20516215.8744   20516219.1544
+      1615.3634       1258.7214
+  24117665.3314   -2937745.73549  -2267075.61646  24117663.6894   24117669.1034
+     -2658.0634      -2071.2224
+ 05  1 20  2  3 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23227176.0644   -7504774.27649  -5826956.01046  23227175.2874   23227179.9994
+      3605.9624       2809.8454
+  22062102.2154  -17901840.86849 -13931289.91347  22062102.0314   22062106.7674
+      1944.9364       1515.5354
+  23533536.4124   -5173221.53349  -4010756.90045  23533536.2334   23533542.8044
+      3487.0274       2717.1684
+  23149087.3314   -9910396.60349  -7698014.32546  23149087.4674   23149092.7444
+     -2856.0714      -2225.5264
+  23270114.8114  -12371109.93149  -9618953.00845  23270115.2824   23270120.6654
+     -3266.0134      -2544.9484
+  24424755.7404   -4414549.12349  -3425181.14145  24424756.5394   24424759.1304
+      2563.6254       1997.6284
+  20187266.7944  -23332065.28949 -17872098.04048  20187266.9834   20187271.7254
+     -1680.5254      -1309.4964
+  21416535.2644  -20584055.37849 -15989239.57548  21416535.3584   21416539.3744
+     -2232.5274      -1739.6314
+  20507035.5484  -22877983.89249 -17573849.28948  20507035.2224   20507038.9354
+      1600.7704       1247.3574
+  24132841.0664   -2857984.84249  -2204924.27146  24132841.7254   24132846.4144
+     -2659.3214      -2072.2104
+ 05  1 20  2  4  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23206602.9884   -7612879.68649  -5911193.98446  23206602.7954   23206608.4424
+      3601.0784       2806.0274
+  22051012.8584  -17960118.22049 -13976700.83447  22051012.4804   22051016.7954
+      1940.2254       1511.8684
+  23513640.0284   -5277783.04349  -4092233.37445  23513638.8064   23513645.1044
+      3483.6814       2714.5604
+  23165410.1124   -9824619.22049  -7631174.82746  23165410.7514   23165416.3054
+     -2862.6704      -2230.6424
+  23288785.1514  -12272997.85949  -9542502.01045  23288785.5214   23288789.1374
+     -3274.8174      -2551.8004
+  24410127.6794   -4491432.21549  -3485090.02246  24410127.0754   24410129.6194
+      2561.8684       1996.2644
+  20196909.2494  -23281396.89349 -17832616.17848  20196909.0134   20196913.5144
+     -1697.3814      -1322.6364
+  21429309.6604  -20516923.50749 -15936929.02548  21429309.6454   21429314.4534
+     -2242.8484      -1747.6714
+  20497938.8414  -22925787.38049 -17611098.76648  20497938.5394   20497942.2664
+      1586.1134       1235.9344
+  24148028.1584   -2778187.32549  -2142744.39846  24148027.3664   24148032.3604
+     -2660.5464      -2073.1524
+ 05  1 20  2  4 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23186058.0194   -7720839.25149  -5995318.31446  23186058.4444   23186064.5274
+      3596.1954       2802.2334
+  22039950.2534  -18018254.31549 -14022001.68447  22039950.0374   22039954.0084
+      1935.5374       1508.2084
+  23493761.9874   -5382243.21649  -4173630.88246  23493760.9694   23493767.5884
+      3480.2884       2711.9074
+  23181769.9424   -9738645.19349  -7564182.10146  23181769.7904   23181776.2254
+     -2869.1814      -2235.7304
+  23307506.8774  -12174619.97349  -9465843.91945  23307506.5364   23307511.1744
+     -3283.7184      -2558.7414
+  24395506.4844   -4568261.75549  -3544957.20045  24395506.4044   24395508.1924
+      2560.0924       1994.8734
+  20206646.7314  -23230223.47449 -17792740.78648  20206646.8524   20206651.5054
+     -1714.1754      -1335.7224
+  21442142.6074  -20449484.49449 -15884379.14248  21442142.5904   21442147.3244
+     -2253.0534      -1755.6294
+  20488926.2464  -22973149.60349 -17648004.39748  20488925.8034   20488929.5574
+      1571.3684       1224.4424
+  24163217.1164   -2698353.67149  -2080536.40846  24163217.1014   24163224.5444
+     -2661.6564      -2074.0174
+ 05  1 20  2  5  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23165543.3084   -7828649.71849  -6079326.45546  23165543.2384   23165548.4014
+      3591.1684       2798.3064
+  22028914.8114  -18076248.64749 -14067192.08247  22028913.7814   22028917.8124
+      1930.7964       1504.5184
+  23473903.0764   -5486599.92749  -4254947.79446  23473902.6194   23473908.7014
+      3476.7654       2709.1724
+  23198168.0354   -9652477.58149  -7497038.52046  23198167.4234   23198173.2914
+     -2875.6094      -2240.7374
+  23326277.7894  -12075978.05549  -9388980.08745  23326276.2574   23326282.1514
+     -3292.4964      -2565.5844
+  24380896.3284   -4645037.49949  -3604782.46245  24380895.3844   24380898.2494
+      2558.1824       1993.3904
+  20216480.1194  -23178547.42849 -17752473.73748  20216480.2554   20216485.0944
+     -1730.8774      -1348.7364
+  21455033.7754  -20381740.18149 -15831591.36948  21455033.6534   21455038.5994
+     -2263.1714      -1763.5084
+  20479997.6874  -23020068.67449 -17684564.70648  20479997.2254   20480000.9244
+      1556.5524       1212.8964
+  24178417.6014   -2618484.06749  -2018300.35346  24178416.7354   24178421.0104
+     -2662.9224      -2074.9974
+ 05  1 20  2  5 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23145058.2954   -7936307.66549  -6163215.75546  23145056.8694   23145062.2274
+      3586.0124       2794.2924
+  22017905.1284  -18134101.07349 -14112271.88947  22017904.9464   22017909.0644
+      1926.0714       1500.8354
+  23454065.7444   -5590850.75749  -4336182.20946  23454065.1844   23454070.4984
+      3473.1894       2706.3854
+  23214601.1834   -9566119.37549  -7429746.43346  23214600.8264   23214605.7144
+     -2881.8944      -2245.6234
+  23345097.6394  -11977073.04549  -9311911.28245  23345097.2044   23345102.2834
+     -3301.2284      -2572.3814
+  24366296.6894   -4721759.45149  -3664565.74146  24366298.0494   24366299.8484
+      2556.5184       1992.0944
+  20226409.0584  -23126371.50249 -17711817.17448  20226409.5544   20226413.6794
+     -1747.4854      -1361.6764
+  21467983.1824  -20313693.09749 -15778567.67048  21467983.1784   21467987.5144
+     -2273.2294      -1771.3444
+  20471154.3644  -23066542.19049 -17720777.83748  20471153.8404   20471157.3264
+      1541.6634       1201.2954
+  24193625.2624   -2538578.49149  -1956036.27846  24193623.6204   24193628.4324
+     -2664.1244      -2075.9314
+ 05  1 20  2  6  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23124600.4394   -8043809.77349  -6246983.63246  23124599.7314   23124604.7624
+      3580.7904       2790.2264
+  22006923.2564  -18191811.69349 -14157241.19447  22006923.1034   22006927.1524
+      1921.3264       1497.1364
+  23434250.0184   -5694993.48749  -4417332.38646  23434246.9884   23434252.7784
+      3469.5874       2703.5674
+  23231070.9064   -9479573.33249  -7362307.96046  23231070.9334   23231075.6904
+     -2888.1054      -2250.4724
+  23363969.3684  -11877906.97149  -9234639.01845  23363968.5944   23363973.1654
+     -3309.9154      -2579.1584
+  24351708.9904   -4798427.61849  -3724307.17846  24351708.0734   24351710.3064
+      2554.7204       1990.6884
+  20236432.8914  -23073697.83749 -17670772.75548  20236432.9884   20236437.2374
+     -1764.0514      -1374.5904
+  21480989.6634  -20245345.42249 -15725309.74248  21480989.2074   21480993.4304
+     -2283.2024      -1779.1254
+  20462396.1134  -23112568.12849 -17756642.20248  20462395.5664   20462398.9534
+      1526.7014       1189.6334
+  24208834.9254   -2458636.97749  -1893744.21546  24208834.1624   24208840.8434
+     -2665.3424      -2076.8834
+ 05  1 20  2  6 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23104172.5854   -8151152.59749  -6330627.39646  23104173.4884   23104178.0714
+      3575.3674       2785.9994
+  21995968.6124  -18249380.20849 -14202099.77947  21995968.3084   21995972.0034
+      1916.6034       1493.4654
+  23414450.8494   -5799026.06549  -4498396.71846  23414450.9804   23414456.0324
+      3465.8794       2700.6824
+  23247574.3084   -9392842.66249  -7294725.61046  23247574.6144   23247579.8934
+     -2894.1804      -2255.2024
+  23382888.1534  -11778481.34149  -9157164.51745  23382887.7994   23382893.9154
+     -3318.5234      -2585.8644
+  24337126.8634   -4875041.96749  -3784006.66245  24337128.5484   24337129.3354
+      2552.9184       1989.2964
+  20246550.5024  -23020529.49649 -17629342.87548  20246550.5624   20246554.8594
+     -1780.5144      -1387.4144
+  21494052.3164  -20176699.85049 -15671819.68048  21494052.1054   21494056.2974
+     -2293.1204      -1786.8454
+  20453723.2734  -23158144.19549 -17792156.01848  20453722.6784   20453726.0324
+      1511.6824       1177.9334
+  24224055.0074   -2378659.85349  -1831424.38746  24224054.2674   24224059.7954
+     -2666.5134      -2077.8034
+ 05  1 20  2  7  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23083778.1294   -8258332.81649  -6414144.45846  23083777.3794   23083783.0844
+      3569.9094       2781.7524
+  21985041.1194  -18306806.39149 -14246847.44847  21985040.6794   21985043.9174
+      1911.8444       1489.7514
+  23394676.0914   -5902945.88549  -4579373.21446  23394675.4894   23394680.8904
+      3462.0724       2697.7174
+  23264112.3264   -9305930.35749  -7227001.75646  23264112.6494   23264118.3114
+     -2900.1804      -2259.8744
+  23401859.2244  -11678797.98849  -9079489.19545  23401856.9924   23401862.9154
+     -3327.0624      -2592.5044
+  24322559.1674   -4951602.45949  -3843664.15246  24322559.8214   24322561.7484
+      2551.1384       1987.8944
+  20256761.4444  -22966868.50049 -17587529.10948  20256761.8624   20256766.1074
+     -1796.8914      -1400.1744
+  21507171.4734  -20107758.42549 -15618099.09348  21507171.6214   21507175.5274
+     -2302.9304      -1794.4944
+  20445136.4364  -23203268.37649 -17827317.72448  20445135.8214   20445139.3634
+      1496.5764       1166.1644
+  24239279.7834   -2298647.18649  -1769076.87346  24239278.9994   24239285.5254
+     -2667.7064      -2078.7304
+ 05  1 20  2  7 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23063411.9454   -8365346.99249  -6497532.09046  23063412.9824   23063419.3664
+      3564.3474       2777.4164
+  21974140.1344  -18364089.61749 -14291483.72547  21974140.0054   21974143.1464
+      1907.0584       1486.0194
+  23374923.6764   -6006750.59449  -4660259.99146  23374921.7204   23374927.5874
+      3458.2254       2694.7214
+  23280687.6414   -9218839.40049  -7159138.68346  23280685.9634   23280691.9594
+     -2906.1254      -2264.5114
+  23420876.2394  -11578857.85549  -9001613.77045  23420876.0214   23420880.5564
+     -3335.6044      -2599.1704
+  24308001.2314   -5028108.90649  -3903279.56646  24308000.7944   24308002.9194
+      2549.3094       1986.4734
+  20267066.4894  -22912717.91149 -17545333.84148  20267066.3364   20267070.7714
+     -1813.1484      -1412.8424
+  21520345.9794  -20038523.54649 -15564149.83348  21520346.2124   21520350.7534
+     -2312.6654      -1802.0764
+  20436635.3974  -23247938.41849 -17862125.54648  20436634.9674   20436638.9934
+      1481.4044       1154.3454
+  24254512.9444   -2218599.19049  -1706701.85545  24254511.4964   24254517.9154
+     -2668.8504      -2079.6214
+ 05  1 20  2  8  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23043081.9194   -8472191.67749  -6580787.70246  23043081.7404   23043085.2224
+      3558.6234       2772.9454
+  21963266.5064  -18421229.54549 -14336008.34547  21963266.2774   21963269.9804
+      1902.2964       1482.3144
+  23355191.1734   -6110437.88749  -4741055.29146  23355190.8924   23355196.1944
+      3454.2754       2691.6384
+  23297293.0014   -9131572.67349  -7091138.66646  23297292.4454   23297297.7274
+     -2911.9104      -2269.0334
+  23439942.3334  -11478663.20149  -8923540.00945  23439941.2674   23439946.7204
+     -3344.0644      -2605.7644
+  24293453.2324   -5104561.10149  -3962852.72445  24293452.4634   24293453.8074
+      2547.4084       1985.0004
+  20277463.6234  -22858079.83349 -17502758.72048  20277463.6544   20277468.1834
+     -1829.3864      -1425.4944
+  21533576.6424  -19968997.51949 -15509973.70447  21533576.5564   21533580.8864
+     -2322.2934      -1809.5804
+  20428222.2444  -23292152.16349 -17896577.81948  20428221.7534   20428225.1744
+      1466.1524       1142.4574
+  24269753.3324   -2138515.90849  -1644299.29445  24269753.0354   24269758.8934
+     -2669.9954      -2080.5164
+ 05  1 20  2  8 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23022781.7954   -8578863.46349  -6663908.56046  23022782.4664   23022788.0434
+      3552.8054       2768.4194
+  21952419.6224  -18478226.10549 -14380421.24347  21952419.5324   21952423.7984
+      1897.4854       1478.5604
+  23335482.7544   -6214005.48749  -4821757.30846  23335482.6954   23335487.8464
+      3450.2184       2688.4764
+  23313931.5654   -9044133.19349  -7023004.01546  23313931.3084   23313936.3204
+     -2917.6244      -2273.4744
+  23459056.2404  -11378215.62249  -8845269.21045  23459056.0134   23459062.2864
+     -3352.4884      -2612.3344
+  24278914.5694   -5180959.22549  -4022383.72246  24278913.9884   24278916.1584
+      2545.6994       1983.6574
+  20287952.7414  -22802957.26749 -17459806.07048  20287953.2074   20287957.5824
+     -1845.4674      -1438.0254
+  21546862.6504  -19899182.61649 -15455572.47347  21546862.1094   21546866.4454
+     -2331.9294      -1817.0874
+  20419895.2724  -23335907.43549 -17930672.83348  20419895.0954   20419899.1004
+      1450.8384       1130.5254
+  24285000.6034   -2058397.46549  -1581869.39245  24284998.8084   24285002.3484
+     -2671.2264      -2081.4694
+ 05  1 20  2  9  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  23002517.6154   -8685359.13349  -6746892.19946  23002516.7074   23002522.5334
+      3546.8904       2763.8134
+  21941601.2834  -18535079.15649 -14424722.30247  21941601.0944   21941605.5274
+      1892.7044       1474.8394
+  23315798.1014   -6317451.11449  -4902364.28846  23315797.3654   23315802.4104
+      3446.0954       2685.2734
+  23330603.8794   -8956524.00649  -6954737.10746  23330602.7334   23330608.3134
+     -2923.2674      -2277.8704
+  23478220.1534  -11277516.13849  -8766802.05745  23478218.9354   23478224.0724
+     -3360.8674      -2618.8624
+  24264388.3334   -5257303.14749  -4081872.43946  24264386.6344   24264387.0594
+      2543.9034       1982.2584
+  20298534.2544  -22747352.53049 -17416477.70448  20298534.2044   20298538.9624
+     -1861.5194      -1450.5334
+  21560201.1584  -19829081.19849 -15400947.99747  21560201.5014   21560206.0154
+     -2341.4414      -1824.4994
+  20411657.4934  -23379202.15149 -17964408.97748  20411656.8664   20411660.1574
+      1435.4554       1118.5374
+  24300250.3444   -1978244.14649  -1519412.28445  24300250.7684   24300257.7844
+     -2672.2954      -2082.3154
+ 05  1 20  2  9 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22982285.8014   -8791675.04349  -6829735.75346  22982286.0664   22982291.4644
+      3540.8044       2759.0594
+  21930811.0264  -18591788.37749 -14468911.30047  21930810.0174   21930813.4754
+      1887.9094       1471.0984
+  23296138.1594   -6420772.44549  -4982874.41846  23296136.4874   23296141.5924
+      3441.9524       2682.0304
+  23347306.3914   -8868747.97749  -6886340.22146  23347305.9224   23347310.7224
+     -2928.7674      -2282.1534
+  23497429.3934  -11176567.34349  -8688140.67545  23497428.0774   23497433.6434
+     -3369.1714      -2625.3264
+  24249869.7734   -5333592.75549  -4141318.84845  24249870.0954   24249870.3024
+      2542.0764       1980.8434
+  20309206.6974  -22691268.36849 -17372775.75048  20309206.9084   20309211.1904
+     -1877.4394      -1462.9384
+  21573595.4874  -19758695.50649 -15346102.00647  21573595.6094   21573599.8664
+     -2350.8644      -1831.8414
+  20403506.7704  -23422034.16449 -17997784.57048  20403506.1944   20403509.4154
+      1419.9904       1106.4844
+  24315513.3924   -1898056.01349  -1456928.00845  24315510.9094   24315515.5764
+     -2673.5324      -2083.2704
+ 05  1 20  2 10  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22962088.3974   -8897807.71549  -6912436.53146  22962089.8184   22962095.2084
+      3534.6674       2754.2974
+  21920046.5064  -18648353.71549 -14512988.20547  21920046.5404   21920049.4354
+      1883.0994       1467.3524
+  23276498.3784   -6523967.11849  -5063285.86046  23276498.8714   23276504.3314
+      3437.6644       2678.7214
+  23364040.0374   -8780808.21749  -6817815.73746  23364040.2504   23364046.6074
+     -2934.1374      -2286.3424
+  23516685.6564  -11075370.08249  -8609285.65845  23516685.0304   23516690.9694
+     -3377.4284      -2631.7714
+  24235362.3204   -5409827.93249  -4200722.89146  24235363.3164   24235363.3634
+      2540.2554       1979.4314
+  20319969.6094  -22634707.20049 -17328702.11848  20319969.8634   20319974.4454
+     -1893.3244      -1475.3204
+  21587043.2774  -19688027.99349 -15291036.41447  21587043.3264   21587047.2584
+     -2360.2464      -1839.1544
+  20395445.0264  -23464401.53149 -18030798.10848  20395443.8474   20395447.3524
+      1404.4824       1094.4014
+  24330774.8734   -1817833.32949  -1394416.89645  24330775.9724   24330782.3744
+     -2674.6604      -2084.1424
+ 05  1 20  2 10 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22941930.0034   -9003753.82049  -6994991.92546  22941928.5904   22941933.7854
+      3528.3914       2749.3894
+  21909310.0844  -18704774.24849 -14556952.25347  21909309.6174   21909313.1714
+      1878.2804       1463.5934
+  23256886.3704   -6627032.84149  -5143596.78246  23256886.3394   23256891.6304
+      3433.3654       2675.3484
+  23380803.6014   -8692707.80649  -6749166.08646  23380804.5304   23380810.9884
+     -2939.4794      -2290.5064
+  23535989.4304  -10973926.23249  -8530238.53545  23535989.7004   23535996.0474
+     -3385.5684      -2638.1084
+  24220866.3544   -5486008.75949  -4260084.58346  24220865.3134   24220867.8254
+      2538.4754       1978.0394
+  20330823.5224  -22577671.79249 -17284258.93648  20330823.3124   20330828.0114
+     -1909.0454      -1487.5664
+  21600544.2274  -19617080.86949 -15235752.93247  21600543.9704   21600548.1454
+     -2369.4894      -1846.3564
+  20387470.6054  -23506302.26149 -18063448.02548  20387470.1614   20387474.1174
+      1388.8934       1082.2574
+  24346048.8684   -1737576.18049  -1331878.82245  24346048.0284   24346055.0244
+     -2675.8114      -2085.0464
+ 05  1 20  2 11  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22921805.1494   -9109510.15149  -7077399.45146  22921804.8304   22921808.4304
+      3522.0104       2744.4264
+  21898600.9164  -18761049.90449 -14600803.41847  21898600.7274   21898604.1644
+      1873.4264       1459.8154
+  23237298.4354   -6729967.28149  -5223805.43446  23237297.9684   23237304.4184
+      3428.8894       2671.8494
+  23397601.1004   -8604449.60449  -6680393.46746  23397600.2364   23397606.3504
+     -2944.7524      -2294.6044
+  23555339.7414  -10872237.31949  -8451000.39945  23555339.5684   23555346.7994
+     -3393.7834      -2644.5124
+  24206377.8674   -5562135.08749  -4319403.75546  24206377.4994   24206381.9204
+      2536.6464       1976.6054
+  20341766.7494  -22520164.77449 -17239448.27648  20341766.5904   20341771.4694
+     -1924.7494      -1499.8044
+  21614097.3614  -19545856.51249 -15180253.43647  21614097.4484   21614102.0714
+     -2378.7104      -1853.5294
+  20379586.4084  -23547733.99749 -18095732.49348  20379585.8984   20379589.6664
+      1373.2074       1070.0334
+  24361328.3374   -1657284.35049  -1269313.80345  24361326.9454   24361333.6714
+     -2677.0144      -2085.9914
+ 05  1 20  2 11 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22901715.9354   -9215073.10249  -7159656.27546  22901715.5374   22901720.4124
+      3515.4864       2739.3264
+  21887919.8074  -18817180.30849 -14644541.37447  21887919.2054   21887923.1174
+      1868.5714       1456.0334
+  23217735.8154   -6832768.06449  -5303909.90546  23217735.6444   23217741.4654
+      3424.3744       2668.3434
+  23414425.3774   -8516036.56549  -6611500.21346  23414424.6424   23414431.1324
+     -2949.8194      -2298.5634
+  23574738.8764  -10770305.45149  -8371573.00745  23574737.7224   23574743.0144
+     -3401.7814      -2650.7394
+  24191903.0924   -5638206.62849  -4378680.27146  24191903.6274   24191904.0114
+      2534.8144       1975.1774
+  20352798.6984  -22462188.74149 -17194272.14748  20352799.0164   20352803.6414
+     -1940.3454      -1511.9564
+  21627702.9654  -19474357.29449 -15124539.75647  21627703.2904   21627707.9174
+     -2387.8634      -1860.6684
+  20371792.2274  -23588694.61149 -18127649.85348  20371791.3544   20371795.2044
+      1357.4594       1057.7624
+  24376614.2384   -1576958.23749  -1206722.06245  24376612.7004   24376618.9384
+     -2678.1104      -2086.8364
+ 05  1 20  2 12  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22881664.0474   -9320439.20549  -7241759.74446  22881664.6684   22881671.3234
+      3508.9094       2734.2064
+  21877266.4174  -18873165.49749 -14688166.18747  21877265.9354   21877269.7784
+      1863.7724       1452.2894
+  23198199.8154   -6935432.61149  -5383908.23946  23198198.7714   23198205.3554
+      3419.8744       2664.8304
+  23431281.2394   -8427471.69149  -6542488.63146  23431279.5194   23431284.0204
+     -2954.7524      -2302.4114
+  23594179.6644  -10668132.21649  -8291957.53145  23594179.9354   23594185.5014
+     -3409.7844      -2656.9724
+  24177436.8924   -5714223.60849  -4437914.32545  24177436.6974   24177439.0564
+      2532.9994       1973.7524
+  20363920.2834  -22403746.48049 -17148732.72448  20363920.2204   20363924.9684
+     -1955.8384      -1524.0284
+  21641361.2524  -19402585.43749 -15068613.63147  21641361.3684   21641365.7524
+     -2396.8914      -1867.7064
+  20364087.2484  -23629182.55149 -18159198.90248  20364086.8934   20364090.5624
+      1341.6934       1045.4754
+  24391906.6294   -1496598.03749  -1144103.75245  24391905.7014   24391909.6924
+     -2679.2214      -2087.7064
+ 05  1 20  2 12 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22861653.5654   -9425605.19549  -7323707.26546  22861653.2804   22861658.3704
+      3502.1204       2728.9164
+  21866640.6064  -18929005.34249 -14731677.75147  21866640.3334   21866643.6144
+      1858.8934       1448.4874
+  23178690.7294   -7037958.56649  -5463798.58646  23178689.0004   23178694.5604
+      3415.1794       2661.1744
+  23448160.4754   -8338758.10249  -6473361.17046  23448161.0774   23448165.1974
+     -2959.7944      -2306.3464
+  23613669.6524  -10565719.12549  -8212155.09845  23613667.8914   23613675.1914
+     -3417.8664      -2663.2854
+  24162980.2184   -5790185.93749  -4497105.68346  24162980.7524   24162985.8094
+      2531.1564       1972.3354
+  20375129.9264  -22344840.32749 -17102831.82348  20375129.8254   20375134.2844
+     -1971.2554      -1536.0484
+  21655070.3334  -19330543.23249 -15012476.85847  21655070.4404   21655075.2634
+     -2405.8814      -1874.7124
+  20356473.1724  -23669194.98749 -18190377.42448  20356472.8454   20356476.3954
+      1325.8034       1033.0944
+  24407204.3154   -1416204.01449  -1081459.05146  24407203.1484   24407209.7994
+     -2680.3414      -2088.5764
+ 05  1 20  2 13  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22841679.2054   -9530567.57449  -7405496.12346  22841679.2934   22841683.0404
+      3495.3274       2723.6304
+  21856042.0074  -18984698.97849 -14775075.38347  21856041.6524   21856045.6174
+      1854.0024       1444.6774
+  23159206.1404   -7140343.53549  -5543579.07746  23159205.9174   23159211.3864
+      3410.4224       2657.4714
+  23465069.2054   -8249898.68649  -6404120.08946  23465069.5104   23465074.7524
+     -2964.5134      -2310.0024
+  23633200.3114  -10463067.52449  -8132166.86845  23633201.3594   23633208.8974
+     -3425.7164      -2669.3894
+  24148535.7524   -5866093.27349  -4556254.22946  24148537.6334   24148539.7164
+      2529.3304       1970.9054
+  20386426.5224  -22285473.17149 -17056571.70248  20386426.8874   20386431.4124
+     -1986.5944      -1547.9964
+  21668830.6604  -19258233.02849 -14956131.24047  21668830.0804   21668835.1584
+     -2414.7484      -1881.6214
+  20348949.9334  -23708730.58349 -18221184.38448  20348949.4034   20348952.9414
+      1309.8724       1020.6794
+  24422511.2494   -1335775.69849  -1018787.67546  24422510.5584   24422514.6594
+     -2681.5394      -2089.5104
+ 05  1 20  2 13 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22821744.8564   -9635323.00749  -7487123.72746  22821745.0864   22821749.7434
+      3488.3634       2718.2054
+  21845471.6964  -19040246.36249 -14818359.04747  21845471.2614   21845474.9934
+      1849.1754       1440.9154
+  23139750.0754   -7242585.08549  -5623247.82746  23139749.9574   23139755.7924
+      3405.6504       2653.7594
+  23482006.2014   -8160896.30149  -6334767.59346  23482006.7524   23482011.2614
+     -2969.1964      -2313.6614
+  23652781.9774  -10360179.68849  -8051994.54645  23652781.4914   23652787.2104
+     -3433.5774      -2675.5184
+  24134103.9494   -5941945.65149  -4615359.99846  24134102.9274   24134103.4954
+      2527.5344       1969.5034
+  20397811.1524  -22225647.74049 -17009954.48448  20397811.5324   20397815.8794
+     -2001.7754      -1559.8224
+  21682641.2214  -19185657.12049 -14899578.59047  21682640.9714   21682645.9824
+     -2423.5674      -1888.4934
+  20341518.0844  -23747786.56049 -18251617.61448  20341517.4134   20341520.7804
+      1293.8754       1008.2164
+  24437821.5254   -1255313.59949   -956089.97645  24437819.8894   24437825.7614
+     -2682.5564      -2090.3004
+ 05  1 20  2 14  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22801851.1564   -9739867.79249  -7568587.20046  22801850.4754   22801855.7294
+      3481.2534       2712.6654
+  21834929.7504  -19095646.89649 -14861528.29447  21834929.2884   21834932.6144
+      1844.2454       1437.0704
+  23120322.2684   -7344680.81049  -5702802.94446  23120321.9194   23120327.3674
+      3400.6924       2649.8904
+  23498971.2714   -8071754.05549  -6265306.11546  23498969.3204   23498974.6104
+     -2973.7794      -2317.2224
+  23672405.4864  -10257057.22749  -7971639.39945  23672404.8874   23672411.4234
+     -3441.3984      -2681.6144
+  24119681.1394   -6017743.01049  -4674422.84746  24119679.8494   24119681.7134
+      2525.6804       1968.0584
+  20409282.0674  -22165366.72049 -16962982.25948  20409282.4464   20409286.9314
+     -2016.9534      -1571.6524
+  21696501.9404  -19112817.72649 -14842820.62147  21696502.0094   21696506.1264
+     -2432.2984      -1895.2954
+  20334177.4184  -23786361.67849 -18281676.14548  20334177.0864   20334180.2834
+      1277.7864        995.6814
+  24453139.4084   -1174817.79249   -893366.00045  24453139.4094   24453143.9134
+     -2683.6734      -2091.1754
+ 05  1 20  2 14 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22781996.7954   -9844198.78149  -7649884.06846  22781996.6484   22782002.2174
+      3474.0674       2707.0594
+  21824414.5544  -19150900.30749 -14904582.89747  21824414.3194   21824418.3384
+      1839.3334       1433.2434
+  23100922.5544   -7446628.28849  -5782242.54346  23100922.3184   23100927.4534
+      3395.7424       2646.0284
+  23515959.1124   -7982474.92149  -6195737.98046  23515958.5514   23515964.2164
+     -2978.3024      -2320.7784
+  23692074.1354  -10153701.74249  -7891102.73445  23692072.0814   23692077.2154
+     -3449.0424      -2687.5654
+  24105266.8964   -6093485.13449  -4733442.66946  24105266.2524   24105269.8014
+      2523.8234       1966.6164
+  20420839.8984  -22104632.20349 -16915656.66748  20420839.9244   20420844.0504
+     -2032.0174      -1583.3884
+  21710413.2314  -19039717.27649 -14785859.23347  21710412.7084   21710417.4724
+     -2440.9854      -1902.0614
+  20326928.9784  -23824453.29149 -18311357.92548  20326928.4004   20326931.7884
+      1261.6454        983.1024
+  24468462.4994   -1094288.48149   -830615.91145  24468462.1804   24468468.1134
+     -2684.8714      -2092.1024
+ 05  1 20  2 15  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22762185.4904   -9948312.39949  -7731011.58546  22762184.7594   22762189.7204
+      3466.7854       2701.4034
+  21813928.9214  -19206006.55649 -14947522.82647  21813928.2884   21813931.9274
+      1834.4284       1429.4224
+  23081551.7264   -7548425.09049  -5861564.70346  23081551.2624   23081555.9714
+      3390.6554       2642.0674
+  23532973.3034   -7893061.90849  -6126065.52046  23532973.0454   23532978.8794
+     -2982.7774      -2324.2534
+  23711784.0794  -10050114.88049  -7810385.62445  23711783.9514   23711792.3254
+     -3456.7464      -2693.5724
+  24090864.2854   -6169171.97249  -4792419.45546  24090863.9264   24090865.9924
+      2521.9704       1965.1874
+  20432482.5864  -22043447.48449 -16867980.25748  20432482.5974   20432487.3204
+     -2046.9614      -1595.0374
+  21724372.8704  -18966357.90849 -14728696.08647  21724372.5234   21724377.0684
+     -2449.5834      -1908.7654
+  20319772.5174  -23862059.97649 -18340661.83748  20319772.0894   20319775.3484
+      1245.4604        970.4864
+  24483791.7504   -1013725.56549   -767839.65645  24483791.0614   24483796.1464
+     -2686.0014      -2092.9884
+ 05  1 20  2 15 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22742414.7064  -10052205.13449  -7811966.95646  22742414.8614   22742420.3184
+      3459.3854       2695.6334
+  21803470.3614  -19260964.85349 -14990347.46947  21803470.0194   21803473.4704
+      1829.4684       1425.5594
+  23062210.1764   -7650069.02249  -5940767.78846  23062208.6354   23062214.5204
+      3385.5434       2638.0734
+  23550013.5584   -7803518.01549  -6056291.06746  23550012.9954   23550018.3634
+     -2987.1004      -2327.6064
+  23731540.4064   -9946298.46649  -7729489.75045  23731539.8754   23731546.3414
+     -3464.4304      -2699.5644
+  24076471.1544   -6244803.46649  -4851353.06546  24076469.4744   24076473.4794
+      2520.0844       1963.6974
+  20444211.0154  -21981815.22449 -16819955.11848  20444211.0774   20444215.4114
+     -2061.8884      -1606.6664
+  21738380.7324  -18892742.09549 -14671333.11747  21738380.9544   21738385.5824
+     -2458.1014      -1915.4034
+  20312708.9164  -23899179.38149 -18369586.04948  20312708.3094   20312711.6834
+      1229.1554        957.7794
+  24499130.2874    -933129.13949   -705037.27945  24499128.2414   24499136.6864
+     -2687.1594      -2093.8854
+ 05  1 20  2 16  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22722687.4784  -10155873.63249  -7892747.63346  22722687.3964   22722691.6314
+      3451.8464       2689.7494
+  21793040.0394  -19315775.02049 -15033056.68647  21793039.7534   21793043.7204
+      1824.5224       1421.7064
+  23042896.4574   -7751557.50649  -6019849.69946  23042896.3664   23042901.2124
+      3380.3274       2634.0234
+  23567077.5944   -7713846.10549  -5986416.85846  23567077.4164   23567083.1684
+     -2991.2864      -2330.8714
+  23751339.6754   -9842254.54349  -7648416.61845  23751340.1934   23751344.2044
+     -3471.9754      -2705.4324
+  24062087.5204   -6320379.38449  -4910243.39646  24062088.3734   24062092.6594
+      2518.2754       1962.2924
+  20456023.2984  -21919737.83549 -16771583.13048  20456023.7314   20456028.5844
+     -2076.6284      -1618.1524
+  21752438.6294  -18818871.99949 -14613772.00347  21752438.3514   21752442.5204
+     -2466.5324      -1921.9754
+  20305738.3244  -23935809.53249 -18398129.02748  20305737.9564   20305741.4554
+      1212.8314        945.0624
+  24514473.5324    -852499.49649   -642208.99145  24514473.0574   24514479.6534
+     -2688.2084      -2094.7064
+ 05  1 20  2 16 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22703002.5334  -10259314.48349  -7973350.89646  22703002.3184   22703008.1844
+      3444.2144       2683.8054
+  21782638.7334  -19370436.88249 -15075650.34447  21782637.9644   21782642.1754
+      1819.6104       1417.8804
+  23023614.3444   -7852887.93649  -6098808.49746  23023613.6554   23023619.2964
+      3375.0264       2629.8934
+  23584163.1484   -7624049.32449  -5916445.38046  23584164.3594   23584170.1404
+     -2995.4044      -2334.0814
+  23771180.8834   -9737984.42349  -7567167.19845  23771181.6044   23771189.1004
+     -3479.4204      -2711.2364
+  24047719.2664   -6395899.88049  -4969090.53046  24047718.8164   24047719.9734
+      2516.4584       1960.8794
+  20467921.1554  -21857218.13749 -16722866.48448  20467921.0314   20467925.5874
+     -2091.3284      -1629.6044
+  21766542.9674  -18744749.95249 -14556014.56447  21766542.8124   21766547.7834
+     -2474.8904      -1928.4864
+  20298861.7714  -23971948.54849 -18426289.30148  20298861.0574   20298864.3944
+      1196.4184        932.2774
+  24529824.0944    -771836.73849   -579354.91745  24529822.4184   24529828.8464
+     -2689.3094      -2095.5644
+ 05  1 20  2 17  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22683363.6064  -10362524.29749  -8053774.12646  22683363.0974   22683367.8574
+      3436.4254       2677.7414
+  21772265.1504  -19424950.33049 -15118128.35547  21772264.3854   21772268.3674
+      1814.6344       1413.9974
+  23004361.9284   -7954058.08849  -6177642.35646  23004360.7334   23004367.1524
+      3369.5964       2625.6584
+  23601275.2674   -7534130.43949  -5846378.73246  23601276.0394   23601280.3264
+     -2999.4204      -2337.2134
+  23791063.2414   -9633490.06849  -7485743.02745  23791064.6214   23791070.5034
+     -3486.8024      -2716.9914
+  24033358.3734   -6471364.67649  -5027894.21246  24033356.1424   24033359.8824
+      2514.5324       1959.3614
+  20479901.4804  -21794259.00549 -16673807.42148  20479901.9724   20479906.5604
+     -2105.9454      -1640.9964
+  21780695.4824  -18670378.16549 -14498062.52447  21780695.4714   21780699.8024
+     -2483.1564      -1934.9314
+  20292078.1294  -24007594.45049 -18454065.33348  20292077.8604   20292081.3504
+      1179.9704        919.4594
+  24545177.7394    -691140.67449   -516474.86845  24545177.4834   24545185.3404
+     -2690.4314      -2096.4404
+ 05  1 20  2 17 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22663768.8274  -10465499.45549  -8134014.53246  22663767.4494   22663772.5584
+      3428.5474       2671.5894
+  21761919.8724  -19479314.72349 -15160490.22547  21761919.5914   21761923.2884
+      1809.6574       1410.1194
+  22985139.8814   -8055065.36649  -6256349.31346  22985140.3494   22985145.6924
+      3364.1824       2621.4434
+  23618411.2774   -7444092.45749  -5776219.28246  23618410.0154   23618414.7014
+     -3003.3234      -2340.2644
+  23810990.1154   -9528773.10049  -7404145.41345  23810992.5444   23810998.3994
+     -3494.3014      -2722.8364
+  24019008.2294   -6546773.83949  -5086654.61746  24019009.8524   24019010.2074
+      2512.7084       1957.9594
+  20491965.8174  -21730862.88849 -16624407.84748  20491965.9154   20491970.7084
+     -2120.4634      -1652.3104
+  21794895.0094  -18595758.88649 -14439917.63347  21794895.2814   21794899.4844
+     -2491.3914      -1941.3434
+  20285389.1854  -24042745.54449 -18481455.79348  20285388.6134   20285392.0404
+      1163.4284        906.5664
+  24560540.9724    -610411.62349   -453569.11345  24560540.1824   24560547.6464
+     -2691.5014      -2097.2794
+ 05  1 20  2 18  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22644217.1814  -10568236.60749  -8214069.44946  22644217.6574   22644222.4804
+      3420.5484       2665.3614
+  21751603.6554  -19533529.69049 -15202735.64047  21751602.5824   21751606.4374
+      1804.6624       1406.2324
+  22965952.3694   -8155907.23549  -6334927.40646  22965951.5824   22965956.6744
+      3358.5924       2617.0794
+  23635565.7434   -7353938.45149  -5705969.43746  23635565.6624   23635570.9654
+     -3007.1744      -2343.2614
+  23830963.1624   -9423835.33249  -7322375.76145  23830962.9764   23830966.8054
+     -3501.5904      -2728.5064
+  24004666.8724   -6622127.14549  -5145371.48846  24004667.9154   24004670.1694
+      2510.8214       1956.4784
+  20504112.3204  -21667032.65749 -16574669.99848  20504112.1224   20504117.0214
+     -2134.9234      -1663.5784
+  21809141.9974  -18520894.47249 -14381581.71847  21809141.6304   21809145.4984
+     -2499.5114      -1947.6684
+  20278794.5174  -24077399.82649 -18508459.12848  20278794.0064   20278797.6474
+      1146.8304        893.6354
+  24575910.7304    -529649.67449   -390637.73645  24575909.6774   24575914.3584
+     -2692.6724      -2098.1924
+ 05  1 20  2 18 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22624712.1304  -10670732.21949  -8293936.16346  22624713.0954   22624717.6784
+      3412.4654       2659.0664
+  21741314.0364  -19587594.93849 -15244864.39847  21741313.8604   21741317.9724
+      1799.6844       1402.3504
+  22946795.3104   -8256581.19349  -6413374.63046  22946793.3564   22946798.9134
+      3352.9884       2612.7134
+  23652743.7794   -7263671.38449  -5635631.46646  23652742.5574   23652748.2244
+     -3010.9014      -2346.1674
+  23850972.6244   -9318678.45649  -7240435.32845  23850972.9104   23850979.8234
+     -3508.8964      -2734.2064
+  23990340.4234   -6697424.48449  -5204044.69146  23990340.0534   23990342.9774
+      2508.9434       1955.0154
+  20516340.6054  -21602770.89149 -16524595.89948  20516340.9074   20516345.5614
+     -2149.2304      -1674.7264
+  21823433.7464  -18445787.22149 -14323056.59347  21823434.2664   21823437.9714
+     -2507.5664      -1953.9474
+  20272294.7434  -24111555.13049 -18535073.65448  20272294.4454   20272298.0254
+      1130.1674        880.6504
+  24591285.1624    -448855.01849   -327680.83745  24591284.5464   24591289.3044
+     -2693.6774      -2098.9664
+ 05  1 20  2 19  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22605256.8624  -10772982.95949  -8373612.08346  22605255.7214   22605260.8844
+      3404.2334       2652.6544
+  21731055.6714  -19641510.04049 -15286876.17647  21731054.5534   21731058.2674
+      1794.6554       1398.4344
+  22927669.9324   -8357084.69649  -6491689.04846  22927668.0144   22927673.3704
+      3347.2144       2608.2174
+  23669941.5094   -7173294.16249  -5565207.67446  23669940.8414   23669945.9804
+     -3014.4974      -2348.9674
+  23871023.6964   -9213304.60749  -7158325.83745  23871023.7694   23871031.8014
+     -3515.8974      -2739.6554
+  23976022.9724   -6772665.79149  -5262674.30646  23976023.2144   23976024.0534
+      2507.1194       1953.5934
+  20528650.9614  -21538080.37449 -16474187.70248  20528650.8434   20528655.3104
+     -2163.4804      -1685.8294
+  21837772.2714  -18370439.28149 -14264343.89947  21837772.3034   21837776.3274
+     -2515.5584      -1960.1744
+  20265890.7774  -24145209.70149 -18561297.99548  20265890.1624   20265893.8004
+      1113.4624        867.6344
+  24606665.0754    -368027.58749   -264698.43345  24606664.5674   24606672.0534
+     -2694.8174      -2099.8634
+ 05  1 20  2 19 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22585844.4864  -10874985.35949  -8453094.47646  22585844.3634   22585850.0824
+      3395.9114       2646.1534
+  21720824.7354  -19695274.52049 -15328770.56647  21720823.8034   21720827.1514
+      1789.6534       1394.5324
+  22908575.3834   -8457415.33449  -6569868.75446  22908575.9544   22908581.4274
+      3341.4524       2603.7364
+  23687158.3074   -7082809.86849  -5494700.43146  23687158.2004   23687163.6594
+     -3018.0434      -2351.6954
+  23891117.4294   -9107715.31649  -7076048.50145  23891115.9174   23891125.7654
+     -3523.2684      -2745.4044
+  23961714.6934   -6847850.95049  -5321260.14446  23961714.4164   23961717.9514
+      2505.1814       1952.0864
+  20541042.0994  -21472963.82849 -16423447.54048  20541042.1464   20541046.8284
+     -2177.6234      -1696.8524
+  21852156.0394  -18294853.05949 -14205445.54847  21852155.6364   21852159.6214
+     -2523.4414      -1966.3224
+  20259582.4194  -24178361.66549 -18587130.69048  20259581.6734   20259585.2034
+      1096.6814        854.5574
+  24622054.3984    -287167.42149   -201690.54345  24622054.0784   24622057.6844
+     -2695.8914      -2100.6974
+ 05  1 20  2 20  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22566482.2374  -10976735.95249  -8532380.68446  22566482.3674   22566487.6704
+      3387.4574       2639.5804
+  21710621.6584  -19748888.16949 -15370547.43547  21710621.1284   21710624.7294
+      1784.5854       1390.5864
+  22889517.2424   -8557570.55349  -6647911.78446  22889516.6074   22889521.5954
+      3335.5404       2599.1344
+  23704397.8454   -6992221.23749  -5424111.92346  23704397.9604   23704402.7434
+     -3021.5484      -2354.4504
+  23911251.2074   -9001912.42149  -6993604.71245  23911250.4844   23911258.5294
+     -3530.3074      -2750.8894
+  23947417.8954   -6922979.91249  -5379802.14646  23947418.7694   23947420.9074
+      2503.3864       1950.7014
+  20553513.7054  -21407424.28949 -16372377.77348  20553514.1804   20553518.6194
+     -2191.6794      -1707.8004
+  21866584.5464  -18219030.68749 -14146363.16747  21866584.4904   21866588.7294
+     -2531.3224      -1972.4634
+  20253369.6664  -24211009.13949 -18612570.28848  20253369.1884   20253372.7004
+      1079.8124        841.4144
+  24637445.1354    -206274.75649   -138657.29145  24637444.7894   24637450.3274
+     -2696.9404      -2101.5074
+ 05  1 20  2 20 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22547168.5594  -11078231.15849  -8611467.87446  22547168.9354   22547173.3874
+      3378.8954       2632.8994
+  21700448.4284  -19802350.79349 -15412206.62347  21700447.6744   21700451.6094
+      1779.5784       1386.6824
+  22870493.1414   -8657547.73449  -6725816.06946  22870491.6554   22870496.9124
+      3329.5674       2594.4564
+  23721656.1934   -6901531.36849  -5353444.50946  23721654.5314   23721661.0644
+     -3024.8424      -2357.0104
+  23931422.6384   -8895897.45049  -6910995.71345  23931424.2014   23931432.8274
+     -3537.4854      -2756.4844
+  23933132.7104   -6998052.25049  -5438300.06346  23933133.0674   23933134.5844
+      2501.4614       1949.1894
+  20566065.9174  -21341464.08049 -16320980.20248  20566066.1464   20566070.4864
+     -2205.6604      -1718.6984
+  21881057.2924  -18142974.52649 -14087098.63447  21881056.9984   21881061.6744
+     -2539.0404      -1978.4724
+  20247253.3984  -24243150.34649 -18637615.38048  20247252.8494   20247256.2804
+      1062.9154        828.2454
+  24652843.3924    -125349.58449    -75598.69145  24652843.2924   24652849.7434
+     -2698.0064      -2102.3464
+ 05  1 20  2 21  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22527905.3884  -11179467.72449  -8690353.52947  22527904.5754   22527909.1764
+      3370.2164       2626.1354
+  21690302.4654  -19855661.75849 -15453747.62647  21690302.6054   21690306.8314
+      1774.5064       1382.7304
+  22851502.2394   -8757344.29149  -6803579.62846  22851501.2084   22851505.4484
+      3323.5074       2589.7354
+  23738930.4414   -6810743.26249  -5282700.54946  23738931.6984   23738937.6714
+     -3028.0054      -2359.4764
+  23951639.3234   -8789672.50349  -6828223.04045  23951639.5564   23951645.4764
+     -3544.3564      -2761.8364
+  23918857.8284   -7073067.98149  -5496753.88946  23918857.3494   23918860.5394
+      2499.5954       1947.7354
+  20578697.7494  -21275086.03249 -16269257.04148  20578697.3424   20578701.8624
+     -2219.5554      -1729.5204
+  21895574.3034  -18066686.73849 -14027653.59047  21895574.1584   21895578.7914
+     -2546.7184      -1984.4574
+  20241233.5604  -24274783.40549 -18662264.51848  20241233.1794   20241236.7024
+      1045.9404        815.0184
+  24668252.2264     -44391.94249    -12514.85445  24668249.7614   24668254.2904
+     -2699.0894      -2103.1904
+ 05  1 20  2 21 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22508689.2494  -11280442.20149  -8769034.94647  22508689.2304   22508694.1654
+      3361.4014       2619.2754
+  21680187.5004  -19908820.56349 -15495170.07147  21680187.1474   21680191.0894
+      1769.4094       1378.7574
+  22832546.4284   -8856957.75449  -6881200.50846  22832545.4804   22832550.3804
+      3317.3614       2584.9584
+  23756226.1774   -6719859.77149  -5211882.25846  23756226.6834   23756232.2064
+     -3031.1444      -2361.9334
+  23971890.6514   -8683239.70549  -6745288.36945  23971891.4324   23971897.9874
+     -3551.2834      -2767.2354
+  23904593.7734   -7148027.16149  -5555163.63646  23904594.5924   23904595.7534
+      2497.6964       1946.2494
+  20591407.4304  -21208293.00349 -16217210.53048  20591407.5074   20591412.1144
+     -2233.3294      -1740.2544
+  21910134.1384  -17990169.60549 -13968029.85747  21910134.2674   21910139.9134
+     -2554.3464      -1990.3944
+  20235310.7874  -24305906.55449 -18686516.32448  20235310.7264   20235314.1634
+      1028.9024        801.7444
+  24683665.9014      36598.12949     50594.22645  24683663.7664   24683670.0224
+     -2700.1924      -2104.0454
+ 05  1 20  2 22  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22489526.1644  -11381151.18349  -8847509.47047  22489525.4874   22489530.0914
+      3352.4884       2612.3274
+  21670100.6074  -19961827.25249 -15536473.99447  21670100.3224   21670104.3444
+      1764.3334       1374.8104
+  22813625.4754   -8956385.55449  -6958676.71446  22813624.9464   22813630.0424
+      3311.1074       2580.0824
+  23773538.0914   -6628883.86249  -5140991.96046  23773537.9074   23773544.7104
+     -3034.2054      -2364.3104
+  23992185.9084   -8576600.35549  -6662192.82645  23992184.8474   23992191.2544
+     -3558.0554      -2772.5074
+  23890339.6414   -7222929.58149  -5613529.15046  23890340.3904   23890342.1754
+      2495.7944       1944.7854
+  20604195.6534  -21141087.49649 -16164842.60748  20604195.9274   20604200.9314
+     -2247.0404      -1750.9394
+  21924738.8474  -17913425.36449 -13908229.15847  21924738.9694   21924743.5304
+     -2561.8844      -1996.2674
+  20229486.3434  -24336517.65249 -18710369.12948  20229485.6934   20229489.1254
+      1011.8114        788.4264
+  24699080.1184     117620.25949    113728.37045  24699079.8754   24699086.3054
+     -2701.2814      -2104.8934
+ 05  1 20  2 22 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22470411.7324  -11481591.03649  -8925774.30347  22470412.3654   22470416.6354
+      3343.4674       2605.2974
+  21660042.5834  -20014681.08349 -15577658.80047  21660042.1484   21660046.4474
+      1759.2504       1370.8444
+  22794739.6294   -9055625.19449  -7036006.29446  22794740.1884   22794745.1504
+      3304.8294       2575.1804
+  23790865.8624   -6537818.55949  -5070032.00346  23790866.5824   23790873.3144
+     -3037.0674      -2366.5534
+  24012515.2534   -8469756.62249  -6578937.97045  24012515.0984   24012523.7024
+     -3564.7644      -2777.7354
+  23876096.9304   -7297775.08149  -5671850.29646  23876097.5774   23876099.1764
+      2493.9004       1943.3004
+  20617062.9164  -21073472.54249 -16112155.62748  20617063.0544   20617067.6544
+     -2260.6374      -1761.5374
+  21939385.8164  -17836456.29049 -13848253.24947  21939385.1634   21939390.0724
+     -2569.3324      -2002.0754
+  20223758.3494  -24366615.17549 -18733821.74548  20223758.1404   20223761.7524
+       994.6744        775.0684
+  24714506.5004     198674.52449    176887.50245  24714505.2294   24714511.0674
+     -2702.3434      -2105.7204
+ 05  1 20  2 23  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22451350.6674  -11581758.32249  -9003826.76347  22451349.9834   22451355.5304
+      3334.3374       2598.1864
+  21650013.9284  -20067381.82749 -15618724.31647  21650013.7294   21650017.8704
+      1754.1114       1366.8414
+  22775891.9414   -9154674.16849  -7113187.31046  22775891.5334   22775896.7724
+      3298.4204       2570.1934
+  23808213.0854   -6446666.76449  -4999004.65746  23808213.5364   23808219.1364
+     -3039.9544      -2368.8034
+  24032888.9014   -8362710.09649  -6495525.17845  24032887.4884   24032893.9034
+     -3571.6214      -2783.0774
+  23861868.0924   -7372563.41149  -5730126.92246  23861866.1094   23861868.0554
+      2492.0054       1941.8214
+  20630006.9884  -21005450.86049 -16059151.72148  20630006.9954   20630012.0084
+     -2274.1424      -1772.0584
+  21954074.1114  -17759264.51249 -13788103.80447  21954074.3264   21954079.2504
+     -2576.7284      -2007.8344
+  20218129.3424  -24396197.52349 -18756872.92648  20218128.9494   20218132.5444
+       977.4754        761.6704
+  24729937.0064     279760.87949    240071.62145  24729935.7964   24729940.7294
+     -2703.4064      -2106.5464
+ 05  1 20  2 23 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22432341.8944  -11681649.76849  -9081664.24947  22432341.5824   22432346.7854
+      3325.0704       2590.9694
+  21640014.9914  -20119928.80949 -15659670.01647  21640014.4084   21640018.3064
+      1748.9834       1362.8484
+  22757080.6084   -9253529.81949  -7190217.69046  22757079.8764   22757085.4094
+      3291.9434       2565.1484
+  23825575.2144   -6355431.43249  -4927912.21746  23825574.8134   23825579.8104
+     -3042.5204      -2370.8004
+  24053297.4704   -8255462.72949  -6411955.86745  24053297.4024   24053302.3244
+     -3578.2084      -2788.2124
+  23847645.0454   -7447294.46049  -5788358.89646  23847644.7094   23847647.8554
+      2490.0754       1940.3294
+  20643028.0934  -20937025.02049 -16005832.88548  20643027.9374   20643032.6154
+     -2287.5724      -1782.5224
+  21968806.2114  -17681852.23249 -13727782.55347  21968805.7434   21968810.4214
+     -2584.0264      -2013.5304
+  20212598.7244  -24425262.56649 -18779521.01048  20212598.1744   20212601.5904
+       960.1764        748.1894
+  24745372.2844     360879.28849    303280.76345  24745371.6944   24745377.2374
+     -2704.4924      -2107.4014
+ 05  1 20  2 24  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22413385.7674  -11781261.82649  -9159284.04747  22413386.1894   22413391.8904
+      3315.7294       2583.6874
+  21630044.2284  -20172321.78349 -15700495.70547  21630044.3264   21630048.3214
+      1743.8614       1358.8544
+  22738306.4344   -9352189.73949  -7267095.55346  22738305.5814   22738310.7964
+      3285.3674       2560.0394
+  23842952.6654   -6264115.56449  -4856757.00046  23842952.6284   23842957.0834
+     -3045.2454      -2372.9234
+  24073742.9184   -8148016.33749  -6328231.42945  24073741.5284   24073747.6694
+     -3584.8234      -2793.3664
+  23833434.8304   -7521968.11349  -5846546.13646  23833435.0264   23833436.9954
+      2488.1574       1938.8284
+  20656125.2254  -20868197.84549 -15952201.31948  20656125.6844   20656130.1394
+     -2300.8894      -1792.9014
+  21983577.6844  -17604221.69749 -13667291.23247  21983578.1494   21983583.1234
+     -2591.2784      -2019.1764
+  20207166.8194  -24453808.71049 -18801764.76248  20207166.0894   20207169.3704
+       942.8824        734.7124
+  24760816.9204     442029.75649    366514.82945  24760816.5294   24760817.6044
+     -2705.5294      -2108.2084
+ 05  1 20  2 24 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22394485.5774  -11880591.01349  -9236683.42447  22394484.4444   22394490.3924
+      3306.2214       2576.2804
+  21620104.9834  -20224560.24149 -15741200.99947  21620104.1524   21620107.6784
+      1738.6834       1354.8224
+  22719569.9324   -9450651.50949  -7343819.01546  22719568.9274   22719574.1734
+      3278.7364       2554.8544
+  23860345.6194   -6172721.79349  -4785541.08546  23860343.6844   23860348.2844
+     -3047.8464      -2374.9494
+  24094227.5244   -8040373.02849  -6244353.56245  24094226.4544   24094233.5574
+     -3591.4234      -2798.5034
+  23819236.2324   -7596584.21549  -5904688.56346  23819236.5274   23819237.1994
+      2486.2574       1937.3534
+  20669298.7454  -20798972.17849 -15898259.24348  20669298.7504   20669303.0134
+     -2314.1444      -1803.2344
+  21998392.0334  -17526375.25349 -13606631.66047  21998391.9714   21998396.6414
+     -2598.4494      -2024.7644
+  20201833.5094  -24481834.11149 -18823602.74048  20201832.7534   20201836.3394
+       925.4784        721.1494
+  24776266.6504     523212.10149    429773.75945  24776264.8644   24776268.4754
+     -2706.6674      -2109.0984
+ 05  1 20  2 25  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22375638.2324  -11979633.93349  -9313859.73847  22375637.5004   22375642.8104
+      3296.6084       2568.7884
+  21610193.2394  -20276643.49049 -15781785.34647  21610192.9124   21610196.3184
+      1733.5194       1350.7904
+  22700870.4264   -9548912.18449  -7420385.76246  22700870.8544   22700875.6004
+      3271.9504       2549.5714
+  23877749.8864   -6081253.34749  -4714267.00946  23877749.0874   23877755.2844
+     -3050.3334      -2376.8734
+  24114746.0004   -7932534.29249  -6160323.40145  24114745.8944   24114752.1944
+     -3597.8314      -2803.5044
+  23805047.0124   -7671142.77249  -5962786.11146  23805047.3564   23805049.7764
+      2484.2994       1935.8114
+  20682546.7214  -20729350.84649 -15844008.85348  20682547.0664   20682551.7674
+     -2327.3114      -1813.4884
+  22013246.9574  -17448315.12749 -13545805.59147  22013246.2214   22013251.2664
+     -2605.5304      -2030.2844
+  20196599.5724  -24509337.14249 -18845033.67148  20196599.1464   20196602.6954
+       908.0284        707.5494
+  24791716.2774     604426.03349    493057.31845  24791714.7644   24791723.5664
+     -2707.6964      -2109.8944
+ 05  1 20  2 25 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22356844.9694  -12078387.20149  -9390810.34847  22356845.1684   22356850.9254
+      3286.9104       2561.2284
+  21600311.6434  -20328571.27149 -15822248.55847  21600311.3924   21600314.5754
+      1728.3234       1346.7434
+  22682211.7484   -9646969.07749  -7496793.74246  22682211.4034   22682216.2814
+      3265.1404       2544.2614
+  23895169.8674   -5989713.01349  -4642936.90646  23895168.9964   23895174.7054
+     -3052.6614      -2378.7034
+  24135304.7664   -7824501.96349  -6076142.39345  24135305.3324   24135311.9174
+     -3604.3644      -2808.5944
+  23790872.5194   -7745643.50849  -6020838.62246  23790871.5954   23790873.4664
+      2482.3894       1934.3174
+  20695870.9284  -20659336.46649 -15789452.19348  20695870.2144   20695874.8454
+     -2340.3514      -1823.6544
+  22028140.5064  -17370043.32649 -13484814.57747  22028140.5354   22028145.5834
+     -2612.5354      -2035.7394
+  20191465.8594  -24536316.00749 -18866056.16748  20191465.3924   20191468.8294
+       890.5394        693.9224
+  24807177.0944     685671.71349    556365.65445  24807177.7294   24807183.7434
+     -2708.7974      -2110.7574
+ 05  1 20  2 26  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22338108.6774  -12176847.36649  -9467532.56547  22338109.5874   22338114.2204
+      3277.0824       2553.5654
+  21590459.9724  -20380343.18749 -15862590.30947  21590459.5804   21590462.9354
+      1723.1554       1342.7184
+  22663591.4134   -9744819.81649  -7573041.06146  22663590.5134   22663595.8754
+      3258.2264       2538.8714
+  23912602.3584   -5898103.77149  -4571553.06945  23912600.9504   23912606.5034
+     -3054.8604      -2380.4184
+  24155896.8034   -7716278.14449  -5991812.21245  24155899.0854   24155905.8254
+     -3610.6284      -2813.4734
+  23776704.8104   -7820086.21549  -6078845.94046  23776704.3844   23776706.8774
+      2480.4354       1932.8294
+  20709267.3984  -20588931.71649 -15734591.35748  20709268.1664   20709272.8494
+     -2353.2764      -1833.7244
+  22043075.0404  -17291561.99549 -13423660.28947  22043074.9064   22043079.5974
+     -2619.5084      -2041.1764
+  20186431.8324  -24562769.09749 -18886668.96348  20186431.2074   20186434.8574
+       872.9814        680.2434
+  24822648.3584     766949.19049    619698.72245  24822646.9584   24822649.5404
+     -2709.8094      -2111.5394
+ 05  1 20  2 26 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22319428.4474  -12275010.86049  -9544023.59947  22319429.0734   22319434.6074
+      3267.1424       2545.8274
+  21580637.6074  -20431959.03149 -15902810.44947  21580637.1934   21580640.6064
+      1717.9284       1338.6434
+  22645009.9574   -9842461.67349  -7649125.61646  22645010.2264   22645015.8014
+      3251.2024       2533.4084
+  23930047.7024   -5806428.47949  -4500117.79346  23930047.3214   23930052.2004
+     -3057.0094      -2382.0834
+  24176527.4584   -7607864.74948  -5907334.29345  24176529.0324   24176537.7824
+     -3616.8824      -2818.3434
+  23762548.9954   -7894470.85949  -6136807.98946  23762549.3024   23762552.4764
+      2478.5244       1931.3294
+  20722738.7054  -20518139.49749 -15679428.58748  20722739.1434   20722743.7724
+     -2366.1694      -1843.7674
+  22058048.4994  -17212873.48049 -13362344.56947  22058048.3494   22058053.8044
+     -2626.3584      -2046.5164
+  20181498.6284  -24588694.64949 -18906870.69348  20181498.0874   20181501.3994
+       855.3794        666.5264
+  24838116.9824     848258.13449    683056.31745  24838115.0204   24838120.9154
+     -2710.8394      -2112.3454
+ 05  1 20  2 27  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22300807.3604  -12372874.03749  -9620280.60647  22300806.4124   22300811.1244
+      3257.0774       2537.9824
+  21570845.0184  -20483418.12449 -15942908.44247  21570844.6804   21570848.6164
+      1712.6654       1334.5374
+  22626472.0364   -9939892.09649  -7725045.41746  22626469.8514   22626475.3844
+      3244.0874       2527.8534
+  23947503.9634   -5714690.17949  -4428633.43046  23947504.0164   23947509.2844
+     -3059.1384      -2383.7534
+  24197200.7414   -7499263.59848  -5822710.01744  24197195.6854   24197203.4174
+     -3623.2144      -2823.2824
+  23748404.3944   -7968797.26449  -6194724.64746  23748406.8654   23748409.1964
+      2476.5744       1929.8024
+  20736284.3834  -20446962.75749 -15623966.18748  20736284.1234   20736288.4074
+     -2378.9644      -1853.7414
+  22073063.1144  -17133979.95849 -13300869.09147  22073062.4624   22073066.7214
+     -2633.1564      -2051.8144
+  20176665.9404  -24614091.20649 -18926660.21948  20176665.4264   20176668.4904
+       837.7004        652.7514
+  24853594.0884     929598.60449    746438.52745  24853592.9744   24853602.4734
+     -2711.7944      -2113.0894
+ 05  1 20  2 27 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22282242.0204  -12470433.83949  -9696301.21547  22282241.4804   22282247.1034
+      3246.8984       2530.0464
+  21561082.2964  -20534720.23849 -15982884.12147  21561081.8994   21561086.0874
+      1707.4204       1330.4544
+  22607971.8904  -10037108.61449  -7800798.54047  22607971.0514   22607975.5674
+      3236.9334       2522.2904
+  23964970.8534   -5622891.70849  -4357102.18446  23964972.7714   23964977.7744
+     -3061.0714      -2385.2554
+  24217898.9254   -7390476.84648  -5737941.23044  24217894.7744   24217902.5924
+     -3629.4874      -2828.1674
+  23734275.4834   -8043065.17849  -6252595.74546  23734273.4694   23734275.6614
+      2474.5924       1928.2484
+  20749900.5014  -20375403.88149 -15568206.02748  20749900.6994   20749905.3564
+     -2391.6464      -1863.6184
+  22088114.1284  -17054883.73849 -13239235.68947  22088113.7944   22088118.0694
+     -2639.8874      -2057.0524
+  20171933.9734  -24638956.84749 -18946036.04348  20171933.5244   20171936.8954
+       819.9764        638.9424
+  24869082.0444    1010970.52549    809845.15145  24869080.9214   24869085.6104
+     -2712.9204      -2113.9664
+ 05  1 20  2 28  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22263734.3204  -12567687.02849  -9772082.89047  22263734.1284   22263739.9774
+      3236.6374       2522.0574
+  21551349.9504  -20585864.61449 -16022736.87847  21551349.6444   21551354.0534
+      1702.1774       1326.3704
+  22589512.8424  -10134108.77549  -7876383.07047  22589511.5534   22589517.4534
+      3229.6884       2516.6264
+  23982452.0364   -5531035.94949  -4285526.27745  23982452.8904   23982456.6074
+     -3062.8994      -2386.6784
+  24238638.4014   -7281505.31148  -5653028.44244  24238635.9364   24238636.4624
+     -3635.6404      -2832.9594
+  23720151.8094   -8117274.50049  -6310421.18146  23720152.0734   23720154.2494
+      2472.6594       1926.7434
+  20763589.9234  -20303465.80749 -15512150.37748  20763590.1474   20763594.7274
+     -2404.2144      -1873.4154
+  22103203.5824  -16975586.83349 -13177445.89047  22103203.5204   22103207.9414
+     -2646.5524      -2062.2474
+  20167303.6494  -24663289.98149 -18964996.92348  20167303.0574   20167306.3574
+       802.2204        625.1034
+  24884572.6424    1092373.79849    873276.26445  24884572.6194   24884577.1544
+     -2713.9474      -2114.7624
+ 05  1 20  2 28 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22245287.6714  -12664630.04449  -9847622.91647  22245287.0924   22245291.8194
+      3226.2294       2513.9424
+  21541647.3674  -20636851.30449 -16062466.77647  21541647.2684   21541651.4484
+      1696.9094       1322.2674
+  22571095.5634  -10230889.71149  -7951796.78747  22571095.4214   22571100.0594
+      3222.3394       2510.9064
+  23999942.8824   -5439125.89149  -4213908.06445  23999943.2634   23999947.1654
+     -3064.6734      -2388.0484
+  24259408.5574   -7172352.07648  -5567973.92645  24259409.1014   24259409.8144
+     -3641.4264      -2837.4764
+  23706041.9514   -8191425.04849  -6368200.83146  23706041.0614   23706043.5064
+      2470.7254       1925.2084
+  20777350.6864  -20231151.54749 -15455801.60048  20777351.0394   20777356.1124
+     -2416.7454      -1883.1794
+  22118331.4244  -16896091.34249 -13115501.34247  22118331.0174   22118335.4894
+     -2653.0874      -2067.3414
+  20162774.1474  -24687088.99949 -18983541.61248  20162774.1844   20162777.5874
+       784.3894        611.2104
+  24900068.8874    1173808.28149    936731.68245  24900067.3714   24900071.6844
+     -2715.0354      -2115.6094
+ 05  1 20  2 29  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22226898.9304  -12761259.18649  -9922918.36247  22226899.2504   22226903.9214
+      3215.7184       2505.7554
+  21531975.1504  -20687679.65049 -16102073.27947  21531974.9794   21531979.1684
+      1691.6474       1318.1694
+  22552720.4454  -10327448.69749  -8027037.55546  22552720.6184   22552725.3034
+      3214.9254       2505.1454
+  24017441.8924   -5347164.36049  -4142249.71445  24017441.0084   24017447.1364
+     -3066.3534      -2389.3744
+  24280205.9174   -7063018.88058  -5482779.20654  24280210.0714   24280218.8534
+     -3647.3324      -2842.0734
+  23691943.0834   -8265516.56849  -6425934.44846  23691942.7684   23691944.5104
+      2468.7274       1923.6924
+  20791183.2704  -20158463.26849 -15399161.38548  20791183.4434   20791187.9324
+     -2429.1544      -1892.8444
+  22133495.9124  -16816399.63349 -13053403.91647  22133496.1564   22133500.9704
+     -2659.6134      -2072.4194
+  20158348.2604  -24710352.49349 -19001669.00848  20158347.2984   20158350.6284
+       766.5084        597.2824
+  24915570.3504    1255273.92649   1000211.41145  24915570.4204   24915575.6094
+     -2716.0464      -2116.3924
+ 05  1 20  2 29 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22208571.3714  -12857571.31649  -9997966.73247  22208570.9814   22208577.1974
+      3205.0974       2497.4634
+  21522334.2934  -20738348.65349 -16141555.62548  21522333.2284   21522337.2464
+      1686.3094       1314.0084
+  22534388.7604  -10423783.22249  -8102103.41247  22534388.2574   22534393.4954
+      3207.3564       2499.2364
+  24034950.4164   -5255154.33249  -4070553.62445  24034950.3764   24034956.2934
+     -3067.9364      -2390.5974
+  24301050.0934   -6953507.42248  -5397445.63044  24301048.3514   24301057.7894
+     -3653.3234      -2846.7314
+  23677854.2074   -8339548.89249  -6483621.96146  23677854.9134   23677856.2574
+      2466.7484       1922.1484
+  20805085.7374  -20085404.31749 -15342232.33448  20805085.7334   20805090.7294
+     -2441.4774      -1902.4494
+  22148698.5694  -16736513.72449 -12991155.15647  22148698.3234   22148701.8634
+     -2666.0584      -2077.4424
+  20154023.3664  -24733078.94449 -19019377.93648  20154022.7174   20154025.9394
+       748.5484        583.2844
+  24931077.8034    1336770.90849   1063715.49245  24931077.9584   24931081.4154
+     -2717.1434      -2117.2554
+ 05  1 20  2 30  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22190305.6384  -12953562.99049 -10072765.45247  22190305.4094   22190309.9664
+      3194.3634       2489.1084
+  21512721.6754  -20788858.25349 -16180913.75548  21512721.5534   21512725.3274
+      1680.9954       1309.8654
+  22516100.0674  -10519890.49449  -8176992.19347  22516099.3364   22516105.4494
+      3199.7284       2493.2934
+  24052471.1284   -5163098.58449  -3998821.91146  24052469.9574   24052474.9524
+     -3069.3914      -2391.7234
+  24321925.8894   -6843819.33148  -5311974.46144  24321923.3454   24321932.1124
+     -3659.2744      -2851.3814
+  23663777.7174   -8413521.95949  -6541263.32046  23663777.9354   23663780.8134
+      2464.7884       1920.6214
+  20819059.0184  -20011977.12249 -15285016.34148  20819058.7194   20819063.6484
+     -2453.6884      -1911.9594
+  22163935.6314  -16656435.74449 -12928756.73147  22163935.8674   22163940.4254
+     -2672.4194      -2082.4024
+  20149800.9064  -24755266.54649 -19036666.98148  20149800.4204   20149804.0324
+       730.5784        569.2834
+  24946589.5534    1418299.03549   1127243.96045  24946589.8474   24946597.0604
+     -2718.1594      -2118.0404
+ 05  1 20  2 30 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22172100.9764  -13049230.70549 -10147311.73747  22172100.1164   22172105.3844
+      3183.4984       2480.6464
+  21503141.2794  -20839208.04249 -16220147.36047  21503140.1744   21503143.8564
+      1675.6434       1305.6944
+  22497855.0684  -10615767.89449  -8251701.84747  22497855.0194   22497860.5994
+      3192.0254       2487.2904
+  24069996.7434   -5071000.15349  -3927056.91145  24069995.0114   24070000.6414
+     -3070.7214      -2392.7734
+  24342833.0854   -6733957.04349  -5226367.61444  24342829.1374   24342834.0804
+     -3665.0374      -2855.8744
+  23649711.2724   -8487435.65549  -6598858.38646  23649711.4814   23649714.8814
+      2462.7984       1919.0674
+  20833100.6254  -19938184.67149 -15227515.72648  20833101.1204   20833105.6654
+     -2465.8204      -1921.4234
+  22179210.9504  -16576167.98449 -12866210.41747  22179210.5554   22179214.5334
+     -2678.7164      -2087.3144
+  20145681.6044  -24776913.78949 -19053534.96248  20145681.0844   20145684.5574
+       712.5554        555.2374
+  24962115.3824    1499858.37749   1190796.59945  24962113.0544   24962120.8604
+     -2719.1384      -2118.8124
+ 05  1 20  2 31  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22153957.9674  -13144570.79149 -10221602.66947  22153957.8434   22153962.6414
+      3172.5104       2472.0724
+  21493590.4044  -20889397.16049 -16259255.76048  21493590.0954   21493593.3434
+      1670.2804       1301.5154
+  22479654.7494  -10711412.81149  -8326230.34647  22479654.4564   22479659.5184
+      3184.2384       2481.2254
+  24087530.9224   -4978861.77449  -3855260.80845  24087528.7344   24087533.6774
+     -3072.0574      -2393.8114
+  24363767.1674   -6623922.20848  -5140626.21144  24363763.5584   24363774.7964
+     -3670.7014      -2860.2834
+  23635659.5974   -8561289.61349  -6656406.93446  23635659.0164   23635661.1464
+      2460.8154       1917.5194
+  20847212.2034  -19864029.60749 -15169732.55448  20847212.1264   20847217.0994
+     -2477.8584      -1930.7994
+  22194520.3644  -16495712.43149 -12803517.78347  22194520.7304   22194525.8804
+     -2684.9524      -2092.1784
+  20141665.4584  -24798019.11349 -19069980.67148  20141664.8854   20141668.3864
+       694.4574        541.1344
+  24977643.5004    1581448.51149   1254373.31645  24977642.1194   24977642.7934
+     -2720.2944      -2119.7034
+ 05  1 20  2 31 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22135878.2454  -13239580.13649 -10295635.92047  22135878.0794   22135883.0864
+      3161.4644       2463.4854
+  21484070.1104  -20939425.48349 -16298238.86647  21484069.5154   21484073.1384
+      1664.9104       1297.3354
+  22461499.1254  -10806822.57649  -8400575.61747  22461498.6054   22461503.5504
+      3176.3454       2475.0814
+  24105069.4174   -4886686.49049  -3783435.91746  24105068.5824   24105074.1664
+     -3073.2004      -2394.6924
+  24384737.9944   -6513716.60258  -5054751.69554  24384736.9524   24384746.1644
+     -3676.4374      -2864.7584
+  23621614.7454   -8635083.54349  -6713908.67346  23621615.4354   23621618.1704
+      2458.8134       1915.9624
+  20861391.6054  -19789514.78049 -15111669.05448  20861391.9274   20861396.0654
+     -2489.8154      -1940.1134
+  22209867.1334  -16415071.34949 -12740680.57047  22209866.4324   22209870.6394
+     -2691.0474      -2096.9154
+  20137752.4154  -24818581.13749 -19086003.02848  20137751.9634   20137755.4844
+       676.3394        527.0234
+  24993169.2924    1663069.41048   1317974.10645  24993169.1664   24993176.4134
+     -2721.2054      -2120.4194
+ 05  1 20  2 32  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22117861.7814  -13334255.39249 -10369408.83747  22117861.3784   22117866.8824
+      3150.2444       2454.7374
+  21474580.2664  -20989292.30749 -16337096.12548  21474580.0484   21474584.0254
+      1659.5374       1293.1444
+  22443386.4084  -10901994.45249  -8474735.51347  22443387.4204   22443393.1964
+      3168.3974       2468.8854
+  24122613.5294   -4794476.93449  -3711584.31745  24122614.4724   24122621.4444
+     -3074.3364      -2395.5854
+  24405745.1694   -6403342.51448  -4968746.02744  24405739.3724   24405752.7404
+     -3681.9204      -2869.0204
+  23607583.3624   -8708817.48049  -6771363.68946  23607584.0914   23607586.6544
+      2456.7894       1914.3784
+  20875639.9274  -19714642.92549 -15053327.35048  20875639.7514   20875644.3154
+     -2501.6694      -1949.3524
+  22225246.0444  -16334246.89649 -12677700.48847  22225246.6464   22225250.9434
+     -2697.1564      -2101.6794
+  20133943.4314  -24838598.41449 -19101600.91048  20133942.8304   20133946.1624
+       658.1424        512.8434
+  25008709.1624    1744721.17049   1381598.82745  25008707.6534   25008714.1104
+     -2722.2034      -2121.2034
+ 05  1 20  2 32 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22099909.8454  -13428593.17449 -10442918.82847  22099909.4594   22099914.8384
+      3138.9504       2445.9374
+  21465121.5184  -21038997.36249 -16375827.33547  21465121.0954   21465125.2584
+      1654.1234       1288.9304
+  22425323.3264  -10996925.88049  -8548708.06247  22425323.0984   22425328.5354
+      3160.3404       2462.5984
+  24140168.9154   -4702236.02349  -3639708.28845  24140168.6404   24140174.9024
+     -3075.3124      -2396.3394
+  24426781.9664   -6292801.59258  -4882610.35554  24426773.6494
+     -3687.4724      -2873.3614
+  23593565.5644   -8782491.16649  -6828771.75646  23593564.6754   23593567.6514
+      2454.7804       1912.8134
+  20889954.4014  -19639416.73249 -14994709.53748  20889954.7934   20889958.9744
+     -2513.4064      -1958.4984
+  22240662.2684  -16253241.10549 -12614579.08247  22240661.6084   22240665.5934
+     -2703.1794      -2106.3704
+  20130238.1894  -24858069.34249 -19116773.06048  20130237.5574   20130241.1964
+       639.9064        498.6304
+  25024251.9454    1826403.77148   1445247.51144  25024250.3824   25024254.9604
+     -2723.3094      -2122.0624
+ 05  1 20  2 33  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22082022.1264  -13522589.97249 -10516163.12447  22082022.8544   22082027.3954
+      3127.5054       2437.0184
+  21455693.9614  -21088539.57849 -16414431.66747  21455693.7894   21455697.8794
+      1648.6984       1284.7034
+  22407306.0464  -11091614.12249  -8622491.11447  22407304.7864   22407309.8764
+      3152.1794       2456.2464
+  24157726.0204   -4609966.83649  -3567810.23945  24157725.6384   24157730.8404
+     -3076.2194      -2397.0614
+  24447847.7914   -6182095.94449  -4796346.21344
+     -3692.9014      -2877.6094
+  23579557.5374   -8856104.22249  -6886132.56146  23579557.7524   23579558.8024
+      2452.7734       1911.2504
+  20904336.7734  -19563839.14849 -14935817.90948  20904336.8724   20904340.9374
+     -2525.1044      -1967.6114
+  22256110.7384  -16172055.96549 -12551317.93947  22256110.6354   22256114.5364
+     -2709.1014      -2110.9844
+  20126637.3964  -24876992.52549 -19131518.39748  20126636.6984   20126640.2984
+       621.6314        484.3894
+  25039809.9244    1908117.34149   1508920.36845  25039807.9084   25039811.2384
+     -2724.3624      -2122.8754
+ 05  1 20  2 33 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22064202.1764  -13616242.35849 -10589138.98647  22064201.2224   22064206.7584
+      3115.9704       2428.0284
+  21446297.5934  -21137919.13949 -16452909.25047  21446297.0444   21446301.0644
+      1643.2824       1280.4834
+  22389333.1634  -11186056.43149  -8696082.51947  22389332.6494   22389338.4894
+      3143.9514       2449.8244
+  24175288.1544   -4517672.00649  -3495892.18645  24175288.4764   24175295.3444
+     -3077.0204      -2397.6844
+  24468943.2084   -6071227.67449  -4709955.32244  24468945.8664   24468951.8174
+     -3698.2504      -2881.7404
+  23565559.5754   -8929656.70149  -6943446.17246  23565560.7894   23565563.0424
+      2450.7454       1909.6654
+  20918784.8014  -19487912.63949 -14876654.39448  20918784.8604   20918789.6314
+     -2536.6704      -1976.6274
+  22271593.6974  -16090693.63349 -12487918.71247  22271593.1154   22271597.7244
+     -2714.9874      -2115.5704
+  20123140.4664  -24895366.46349 -19145835.75148  20123140.0364   20123143.7894
+       603.3074        470.1094
+  25055366.6724    1989861.58949   1572617.07245  25055364.4164   25055363.5254
+     -2725.3064      -2123.6054
+ 05  1 20  2 34  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22046445.9114  -13709546.96649 -10661843.87447  22046445.9014   22046451.0734
+      3104.3244       2418.9574
+  21436932.1574  -21187135.57949 -16491259.72547  21436931.7814   21436935.2264
+      1637.8224       1276.2294
+  22371409.2754  -11280250.08149  -8769480.16847  22371408.3054   22371413.6714
+      3135.6024       2443.3284
+  24192856.1114   -4425354.43449  -3423956.45545  24192857.0584   24192862.2214
+     -3077.7384      -2398.2434
+  24490069.9154   -5960198.29348  -4623439.02944  24490070.7504   24490077.5414
+     -3703.7914      -2886.0574
+  23551575.4654   -9003148.29149  -7000712.34746  23551575.1644   23551577.5264
+      2448.7704       1908.1314
+  20933298.9834  -19411640.28349 -14817221.39448  20933299.4214   20933303.4734
+     -2548.1624      -1985.5794
+  22287108.7194  -16009156.40749 -12424383.22647  22287108.7414   22287112.9894
+     -2720.7784      -2120.0874
+  20119748.7584  -24913189.96549 -19159724.19448  20119748.4254   20119752.0104
+       584.9074        455.7734
+  25070912.9914    2071636.33748   1636337.63045  25070915.5184   25070924.9334
+     -2726.3104      -2124.4024
+ 05  1 20  2 34 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22028757.4724  -13802500.50949 -10734275.20847  22028757.1194   22028762.8134
+      3092.5514       2409.7834
+  21427597.6924  -21236187.90549 -16529482.31448  21427597.3874   21427601.4444
+      1632.3434       1271.9524
+  22353532.4124  -11374192.47549  -8842682.02847  22353531.6434   22353536.8454
+      3127.1724       2436.7544
+  24210428.3284   -4333017.08949  -3352005.29845  24210428.7664   24210432.9184
+     -3078.3604      -2398.7184
+  24511231.1654   -5849009.99949  -4536798.89644  24511230.6554   24511234.0514
+     -3708.8314      -2890.0084
+  23537602.1034   -9076578.78549  -7057930.90746  23537602.0754   23537604.2424
+      2446.6484       1906.4824
+  20947878.6624  -19335024.85849 -14757521.05248  20947878.5844   20947883.4944
+     -2559.5544      -1994.4554
+  22302658.4354  -15927446.21049 -12360712.92947  22302658.5454   22302662.8464
+     -2726.5204      -2124.5644
+  20116462.1384  -24930461.67749 -19173182.67448  20116461.6334   20116465.5314
+       566.5084        441.4354
+  25086485.7884    2153441.41349   1700081.89345  25086482.2814   25086489.4934
+     -2727.1794      -2125.0654
+ 05  1 20  2 35  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  22011136.6524  -13895099.57749 -10806430.37047  22011136.4204   22011141.3484
+      3080.7014       2400.5534
+  21418294.9464  -21285075.75049 -16567576.74048  21418294.4374   21418298.2004
+      1626.8534       1267.6744
+  22335703.2044  -11467880.67949  -8915685.82547  22335703.2254   22335708.4214
+      3118.6734       2430.1444
+  24228002.8094   -4240662.74749  -3280040.87646  24228003.7724   24228008.8634
+     -3078.8544      -2399.1064
+  24532419.1324   -5737664.63949  -4450036.26544  24532414.4964   24532425.0544
+     -3714.1524      -2894.1484
+  23523640.7014   -9149947.97349  -7115101.68346  23523639.9964   23523641.8834
+      2444.6614       1904.9384
+  20962523.1714  -19258068.75749 -14697555.26048  20962523.0264   20962527.4344
+     -2570.8254      -2003.2404
+  22318239.9144  -15845565.19549 -12296909.54447  22318239.6024   22318244.0754
+     -2732.1184      -2128.9194
+  20113280.9194  -24947179.76149 -19186209.74948  20113280.2754   20113284.0794
+       548.0294        427.0344
+  25102064.0284    2235277.15949   1763849.93745  25102063.7884   25102064.1524
+     -2728.4004      -2126.0154
+ 05  1 20  2 35 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  21993583.1364  -13987340.78849 -10878306.74147  21993583.4334   21993588.5584
+      3068.6944       2391.1924
+  21409023.2214  -21333798.48749 -16605542.50348  21409023.1224   21409026.5344
+      1621.3524       1263.3904
+  22317924.5564  -11561312.08749  -8988489.51347  22317924.3234   22317929.1484
+      3110.0704       2423.4274
+  24245580.0194   -4148294.21349  -3208065.40245  24245579.9424   24245584.9784
+     -3079.2974      -2399.4544
+  24553636.0244   -5626164.45348  -4363152.98344  24553634.8084   24553648.2314
+     -3719.2214      -2898.0944
+  23509689.9474   -9223255.59049  -7172224.49346  23509690.3254   23509692.9024
+      2442.5204       1903.2444
+  20977231.3074  -19180774.89449 -14637326.27648  20977231.5374   20977236.2064
+     -2582.0414      -2011.9824
+  22333853.5154  -15763515.47349 -12232974.69447  22333852.6694   22333857.7454
+     -2737.7484      -2133.3174
+  20110205.2844  -24963342.91849 -19198804.41948  20110204.7274   20110208.3614
+       529.5014        412.5974
+  25117640.9824    2317143.39349   1827641.61445  25117639.3754   25117642.5264
+     -2729.3684      -2126.7844
+ 05  1 20  2 36  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  21976100.0784  -14079220.68349 -10949901.46147  21976099.9254   21976104.1154
+      3056.6264       2381.7834
+  21399782.8934  -21382355.93349 -16643379.47248  21399782.6444   21399786.4314
+      1615.8364       1259.0914
+  22300195.3174  -11654484.19849  -9061091.15547  22300193.9544   22300199.0254
+      3101.3604       2416.6414
+  24263158.7484   -4055914.36749  -3136081.14045  24263159.5144   24263165.2744
+     -3079.6184      -2399.7044
+  24574883.9174   -5514511.37048  -4276150.61744  24574881.8114
+     -3724.2504      -2902.0174
+  23495751.9994   -9296501.23449  -7229299.01846  23495752.0604   23495754.6934
+      2440.5124       1901.6944
+  20992003.1664  -19103146.13149 -14576836.32548  20992003.6734   20992008.3544
+     -2593.1874      -2020.6654
+  22349498.0144  -15681299.11249 -12168909.99947  22349498.3054   22349502.8884
+     -2743.2814      -2137.6234
+  20107235.0664  -24978950.20149 -19210965.94348  20107234.8094   20107238.4334
+       510.9574        398.1464
+  25133217.3614    2399039.93748   1891457.09745  25133218.9274   25133225.8664
+     -2730.4194      -2127.6054
+ 05  1 20  2 36 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  21958684.9834  -14170736.03449 -11021212.07447  21958684.5304   21958689.8264
+      3044.4024       2372.2504
+  21390574.2944  -21430747.41749 -16681087.12348  21390573.7274   21390577.8844
+      1610.2834       1254.7624
+  22282514.1904  -11747394.37649  -9133488.70247  22282513.2474   22282519.3474
+      3092.6034       2409.8174
+  24280738.8514   -3963525.97349  -3064090.22345  24280738.7554   24280745.7394
+     -3079.8624      -2399.8924
+  24596159.8834   -5402707.08148  -4189030.53044  24596161.4854
+     -3729.2614      -2905.9224
+  23481824.7684   -9369684.99149  -7286325.31246  23481824.9274   23481827.7654
+      2438.4254       1900.0634
+  21006838.9974  -19025185.07049 -14516087.45047  21006839.3014   21006843.7164
+     -2604.2244      -2029.2734
+  22365175.4054  -15598918.20449 -12104717.08347  22365174.7214   22365179.7404
+     -2748.7094      -2141.8534
+  20104371.5644  -24993999.87549 -19222692.96848  20104371.0564   20104374.3844
+       492.3464        383.6444
+  25148810.2034    2480966.91749   1955296.29145  25148807.3054   25148819.0274
+     -2731.4054      -2128.3664
+ 05  1 20  2 37  0.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  21941340.9444  -14261883.35149 -11092235.93047  21941340.6094   21941344.5614
+      3032.0624       2362.6414
+  21381397.3504  -21478972.00649 -16718664.71948  21381396.9804   21381400.6824
+      1604.7034       1250.4144
+  22264883.8104  -11840039.64349  -9205679.81247  22264883.8354   22264888.9224
+      3083.7434       2402.9164
+  24298321.0634   -3871131.85049  -2992094.82245  24298321.5024   24298327.4304
+     -3080.0244      -2400.0104
+  24617465.0994   -5290753.79448  -4101794.31144
+     -3734.2574      -2909.8184
+  23467912.5484   -9442806.41949  -7343303.05346  23467911.3644   23467913.1324
+      2436.3524       1898.4564
+  21021737.3004  -18946894.61349 -14455081.89447  21021737.5914   21021741.8494
+     -2615.1724      -2037.8004
+  22380881.7864  -15516374.78849 -12040397.54347  22380881.9364   22380886.2154
+     -2754.1304      -2146.0814
+  20101614.2994  -25008490.66349 -19233984.48648  20101613.4904   20101616.9754
+       473.6854        369.1044
+  25164411.0154    2562924.23849   2019159.04145  25164408.3594   25164416.2104
+     -2732.4094      -2129.1464
+ 05  1 20  2 37 30.0000000  0 10G 9G18G15G 6G17G22G26G29G21G10
+  21924065.6454  -14352659.22349 -11162970.35547  21924065.9464   21924070.8614
+      3019.6264       2352.9564
+  21372251.8544  -21527029.45249 -16756112.08148  21372251.6924   21372255.6854
+      1599.1304       1246.0734
+  22247305.7694  -11932417.29149  -9277662.39347  22247304.9064   22247310.1164
+      3074.7454       2395.9024
+  24315904.3914   -3778734.87149  -2920097.18745  24315903.1784   24315910.1974
+     -3080.0874      -2400.0694
+  24638800.9884   -5178653.60658     38602.44553
+     -3738.9974      -2913.5054
+  23454008.9454   -9515865.36649  -7400232.09146  23454008.5364   23454010.8624
+      2434.2754       1896.8374
+  21036696.8394  -18868277.60149 -14393821.88847  21036697.6394   21036702.1454
+     -2625.9874      -2046.2264
+  22396620.1984  -15433670.77249 -11975952.85247  22396620.6254   22396624.6034
+     -2759.4134      -2150.1924
+  20098962.7584  -25022421.82649 -19244839.94148  20098962.3654   20098966.1504
+       455.0114        354.5514
+  25180009.9554    2644911.82249   2083045.41345  25180009.0604   25180013.8904
+     -2733.4434      -2129.9524
+ 05  1 20  2 38  0.0000000  0  9G 9G18G15G 6G22G26G29G21G10
+  21906863.2594  -14443060.39549 -11233412.78847  21906863.1814   21906868.3454
+      3007.1114       2343.2014
+  21363140.2394  -21574919.05949 -16793428.65348  21363139.3814   21363142.6504
+      1593.5254       1241.7134
+  22229778.0294  -12024524.56249  -9349434.29047  22229777.3124   22229782.4134
+      3065.6974       2388.8554
+  24333487.7854   -3686337.79749  -2848099.52545  24333486.8024   24333492.5084
+     -3079.9914      -2399.9974
+  23440117.9944   -9588861.82349  -7457112.43446  23440118.2614   23440120.4144
+      2432.1844       1895.2094
+  21051719.5404  -18789336.43949 -14332309.29447  21051719.8374   21051723.8454
+     -2636.7354      -2054.5964
+  22412389.3844  -15350808.27749 -11911384.67247  22412389.1044   22412393.7654
+     -2764.6434      -2154.2634
+  20096418.8174  -25035791.42049 -19255257.81048  20096418.1214   20096421.8184
+       436.2934        339.9724
+  25195613.8784    2726929.68749   2146955.39445  25195615.1524   25195619.4934
+     -2734.3874      -2130.6964
+ 05  1 20  2 38 30.0000000  0  9G 9G18G15G 6G22G26G29G21G10
+  21889732.9554  -14533083.77949 -11303560.86747  21889732.5774   21889737.1304
+      2994.4584       2333.3434
+  21354058.4604  -21622640.28749 -16830614.02448  21354058.2274   21354061.6614
+      1587.9164       1237.3424
+  22212302.9834  -12116358.73749  -9420993.39947  22212301.7494   22212307.1644
+      3056.5504       2381.7254
+  24351072.3304   -3593943.48749  -2776103.97745  24351069.8674   24351075.5044
+     -3079.8444      -2399.8774
+  23426239.8474   -9661795.27349  -7513943.69346  23426239.4404   23426240.6834
+      2430.1024       1893.5824
+  21066803.0884  -18710074.22049 -14270546.51647  21066802.7914   21066807.3934
+     -2647.3994      -2062.9104
+  22428187.0994  -15267789.46249 -11846694.68847  22428187.0514   22428191.7634
+     -2769.8564      -2158.3254
+  20093981.2094  -25048598.57649 -19265237.40648  20093981.1814   20093984.8174
+       417.5304        325.3474
+  25211232.4164    2808977.60449   2210888.80745  25211230.7724   25211238.6754
+     -2735.4174      -2131.4894
+ 05  1 20  2 39  0.0000000  0  9G 9G18G15G 6G22G26G29G21G10
+  21872674.4824  -14622725.83249 -11373411.81247  21872673.8404   21872678.7964
+      2981.6844       2323.3834
+  21345009.9514  -21670192.53749 -16867667.72548  21345009.7244   21345012.9324
+      1582.2614       1232.9254
+  22194879.1884  -12207917.21349  -9492337.67347  22194878.9104   22194884.4934
+      3047.3434       2374.5474
+  24368648.5194   -3501554.68549  -2704112.67345  24368648.6714   24368654.3114
+     -3079.6034      -2399.6924
+  23412372.8934   -9734665.37749  -7570725.57846  23412371.5754   23412373.9554
+      2427.9834       1891.9374
+  21081945.8964  -18630493.52849 -14208535.58647  21081946.1334   21081950.8924
+     -2657.9954      -2071.1694
+  22444013.9814  -15184616.20249 -11781884.36247  22444014.0574   22444018.3364
+     -2774.9424      -2162.2984
+  20091652.1724  -25060841.99749 -19274777.73448  20091651.2054   20091654.8104
+       398.6954        310.6704
+  25226847.8334    2891055.77048   2274845.72245  25226848.7814   25226859.2904
+     -2736.3954      -2132.2584
+ 05  1 20  2 39 30.0000000  0  9G 9G18G15G 6G22G26G29G21G10
+  21855689.2984  -14711983.21949 -11442963.01947  21855689.0704   21855693.7524
+      2968.8044       2313.3554
+  21335993.4454  -21717575.47949 -16904589.49448  21335992.9324   21335996.2184
+      1576.6004       1228.5224
+  22177508.4274  -12299197.32149  -9563465.01847  22177508.5484   22177514.1864
+      3037.9814       2367.2514
+  24386227.7684   -3409174.21349  -2632127.89345  24386227.6684   24386235.9004
+     -3079.3074      -2399.4604
+  23398517.0524   -9807472.08549  -7627458.07946  23398517.4924   23398520.5444
+      2425.7734       1890.2084
+  21097150.7144  -18550597.09649 -14146278.63047  21097150.3664   21097155.0384
+     -2668.4544      -2079.3174
+  22459870.8574  -15101290.70249 -11716955.39347  22459870.0604   22459874.4064
+     -2780.0464      -2166.2664
+  20089428.9004  -25072520.44049 -19283877.82648  20089428.8174   20089432.4074
+       379.8574        295.9924
+  25242476.9804    2973164.11049   2338826.23244  25242474.5024   25242481.4874
+     -2737.4564      -2133.0844
+ 05  1 20  2 40  0.0000000  0  9G 9G18G15G 6G22G26G29G21G10
+  21838777.4254  -14800852.62949 -11512211.88047  21838777.6014   21838781.9744
+      2955.8194       2303.2394
+  21327008.5544  -21764788.32849 -16941378.72348  21327008.1414   21327012.1234
+      1570.9374       1224.1074
+  22160193.3904  -12390196.20749  -9634373.23447  22160192.3844   22160197.4734
+      3028.5994       2359.9504
+  24403807.0504   -3316804.87749  -2560151.82545  24403807.8164   24403811.9724
+     -3078.8834      -2399.1304
+  23384675.5714   -9880214.94849  -7684140.82346  23384674.8394   23384677.6314
+      2423.6814       1888.5994
+  21112412.9794  -18470387.60949 -14083777.73747  21112413.5154   21112418.1614
+     -2678.8644      -2087.4294
+  22475755.2114  -15017814.78649 -11651909.22947  22475755.2254   22475759.6304
+     -2784.9394      -2170.0804
+  20087314.9214  -25083632.75149 -19292536.76748  20087314.2814   20087318.0404
+       360.9614        281.2734
+  25258108.8594    3055302.21448   2402829.84544  25258107.1714   25258111.0904
+     -2738.5204      -2133.9114
+ 05  1 20  2 40 30.0000000  0  9G 9G18G15G 6G22G26G29G21G10
+  21821941.6894  -14889330.78649 -11581155.87947  21821941.0694   21821945.7994
+      2942.7204       2293.0304
+  21318056.8194  -21811830.80749 -16978035.20248  21318056.3414   21318060.1924
+      1565.2444       1219.6724
+  22142931.1744  -12480911.02549  -9705060.10447  22142929.6764   22142935.3604
+      3019.0574       2352.5134
+  24421382.3904   -3224449.44349  -2488186.56045  24421380.8994   24421387.0454
+     -3078.3704      -2398.7234
+  23370845.0894   -9952893.79949  -7740773.70246  23370844.6564   23370847.7594
+      2421.5484       1886.9254
+  21127735.8214  -18389867.99549 -14021035.17647  21127736.0874   21127740.3024
+     -2689.1334      -2095.4304
+  22491668.6354  -14934190.62149 -11586747.55347  22491668.5844   22491672.3424
+     -2789.8864      -2173.9344
+  20085307.9234  -25094177.60949 -19300753.53948  20085307.6724   20085311.2814
+       342.0274        266.5164
+  25273738.8434    3137470.08448   2466856.77644  25273739.9014   25273744.2634
+     -2739.3884      -2134.5894
+ 05  1 20  2 41  0.0000000  0  9G 9G18G15G 6G22G26G29G21G10
+  21805179.2314  -14977414.29449 -11649792.34547  21805178.9114   21805184.0424
+      2929.5084       2282.7314
+  21309136.7294  -21858702.10049 -17014558.28448  21309136.4414   21309140.7034
+      1559.5164       1215.2064
+  22125722.6124  -12571339.16349  -9775523.58247  22125721.8584   22125727.6384
+      3009.4474       2345.0214
+  24438953.8664   -3132110.62549  -2416234.29145  24438953.4944   24438958.0374
+     -3077.7644      -2398.2624
+  23357027.0694  -10025508.39549  -7797356.49646  23357026.8714   23357029.5474
+      2419.4204       1885.2684
+  21143116.7744  -18309040.80449 -13958052.94647  21143117.1254   21143120.9294
+     -2699.3424      -2103.3834
+  22507609.9124  -14850420.25549 -11521471.93647  22507609.9874   22507613.0154
+     -2794.7394      -2177.7204
+  20083409.6694  -25104154.22349 -19308527.52448  20083409.2534   20083412.7934
+       323.0554        251.7314
+  25289387.1194    3219668.14649   2530907.06844  25289381.2064
+     -2740.5264      -2135.4654
+ 05  1 20  2 41 30.0000000  0  9G 9G18G15G 6G22G26G29G21G10
+  21788493.3984  -15065099.94149 -11718118.78347  21788492.9964   21788497.5904
+      2916.1784       2272.3474
+  21300249.9954  -21905401.63849 -17050947.53648  21300249.9554   21300254.1554
+      1553.7954       1210.7514
+  22108570.2584  -12661477.82149  -9845761.49647  22108569.2404   22108574.7444
+      2999.7614       2337.4804
+  24456521.5774   -3039791.32849  -2344297.19045  24456521.1634   24456525.7034
+     -3077.1144      -2397.7484
+  23343221.6574  -10098058.35949  -7853888.92646  23343220.7514   23343223.3034
+      2417.2484       1883.5604
+  21158555.5654  -18227908.75349 -13894833.16547  21158555.7424   21158560.1664
+     -2709.4624      -2111.2674
+  22523578.0974  -14766505.56949 -11456083.86847  22523578.7384   22523582.3684
+     -2799.5254      -2181.4454
+  20081619.7954  -25113561.13649 -19315857.58648  20081619.2614   20081622.6774
+       304.0594        236.9324
+  25305027.0944    3301896.05148   2594980.77244  25305027.0234   25305037.9794
+     -2741.4974      -2136.2324
+ 05  1 20  2 42  0.0000000  0  9G 9G18G15G 6G22G26G29G21G10
+  21771882.6924  -15152384.59349 -11786132.77547  21771882.9194   21771888.5474
+      2902.7654       2261.8974
+  21291396.7294  -21951928.50849 -17087202.23348  21291396.2454   21291400.4924
+      1548.0294       1206.2614
+  22091473.1474  -12751324.05749  -9915771.55047  22091472.4704   22091477.5784
+      2989.9404       2329.8234
+  24474083.0834   -2947494.18349  -2272377.37245  24474084.5634   24474090.7484
+     -3076.3284      -2397.1384
+  23329427.4154  -10170543.55149  -7910370.88846  23329426.8084   23329429.6314
+      2415.1194       1881.9134
+  21174051.6854  -18146474.51449 -13831377.91847  21174051.9524   21174056.2334
+     -2719.5094      -2119.0924
+  22539573.4554  -14682448.53449 -11390584.87147  22539573.1734   22539576.8664
+     -2804.1724      -2185.0714
+  20079938.3734  -25122397.46549 -19322743.03948  20079937.6244   20079941.2704
+       285.0334        222.1074
+  25320682.8844    3384153.76648   2659077.77044  25320678.5914   25320696.3164
+     -2742.3874      -2136.9284
+ 05  1 20  2 42 30.0000000  0  9G 9G18G15G 6G22G26G29G21G10
+  21755350.8354  -15239264.85049 -11853831.66047  21755350.3094   21755355.6334
+      2889.2364       2251.3514
+  21282575.8594  -21998282.22849 -17123322.01548  21282575.5594   21282579.6614
+      1542.2444       1201.7464
+  22074432.5334  -12840875.28449  -9985551.73847  22074431.5354   22074436.4514
+      2980.0704       2322.1314
+  24491642.4914   -2855222.05949  -2200477.01445  24491642.5494   24491649.9204
+     -3075.4184      -2396.4294
+  23315645.6864  -10242963.57949  -7966802.06146  23315645.7164   23315647.4154
+      2412.9124       1880.1874
+  21189605.0544  -18064740.87749 -13767689.37347  21189605.3054   21189609.6134
+     -2729.4014      -2126.8104
+  22555595.7614  -14598251.12749 -11324976.51047  22555596.3604   22555600.0414
+     -2808.8974      -2188.7484
+  20078365.1594  -25130661.94349 -19329182.89648  20078364.8744   20078368.5584
+       265.9564        207.2384
+  25336349.6714    3466441.13248   2723197.79144  25336347.0234
+     -2743.1704      -2137.5494
+ 05  1 20  2 43  0.0000000  0  9G 9G18G15G 6G22G26G29G21G10
+  21738895.2934  -15325737.41249 -11921212.84347  21738894.4564   21738899.8194
+      2875.5884       2240.7244
+  21273788.6514  -22044462.44949 -17159306.60148  21273788.0804   21273791.5264
+      1536.4524       1197.2344
+  22057447.9004  -12930128.76149 -10055099.90447  22057447.1904   22057452.2374
+      2970.1144       2314.3724
+  24509196.6864   -2762977.57349  -2128598.26345  24509196.8004   24509202.6584
+     -3074.4634      -2395.6924
+  23301878.6744  -10315318.24449  -8023182.33046  23301877.1474   23301879.7494
+      2410.7074       1878.4724
+  21205215.4044  -17982710.72349 -13703769.77047  21205215.4344   21205219.9074
+     -2739.2584      -2134.4864
+  22571644.2614  -14513915.35149 -11259260.31047  22571643.8974   22571648.0594
+     -2813.4544      -2192.3064
+  20076901.3974  -25138353.62949 -19335176.42048  20076901.1264   20076904.9024
+       246.8364        192.3364
+  25352012.1044    3548754.21448   2787337.85344
+     -2744.1724      -2138.3324
+ 05  1 20  2 43 30.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21722518.1054  -15411799.27449 -11988274.03147  21722518.1324   21722522.8764
+      2861.8164       2229.9884
+  21265033.6934  -22090468.52449 -17195155.48548  21265033.4164   21265036.7164
+      1530.6154       1192.6874
+  22040521.6134  -13019081.87849 -10124414.00847  22040519.8994   22040524.8154
+      2960.0274       2306.5154
+  24526741.2024   -2670763.56549  -2056743.20245  24526743.4064   24526751.9194
+     -3073.4004      -2394.8634
+  23288120.2854  -10387607.32849  -8079511.47346  23288120.7834   23288123.8464
+      2408.5194       1876.7684
+  21220880.8404  -17900386.55949 -13639621.07247  21220880.9804   21220885.6004
+     -2749.0284      -2142.1084
+  22587719.1934  -14429443.15549 -11193437.83247  22587718.6504   22587723.2714
+     -2817.9884      -2195.8424
+  20075547.4564  -25145471.59649 -19340722.88848  20075546.7844   20075550.4184
+       227.6674        177.4004
+ 05  1 20  2 44  0.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21706221.0184  -15497447.04949 -12055012.58047  21706219.4234   21706225.5794
+      2847.9944       2219.2164
+  21256312.2154  -22136299.86049 -17230868.21148  21256311.6164   21256315.3414
+      1524.8064       1188.1584
+  22023650.2374  -13107731.81949 -10193491.88647  22023649.6554   22023655.8534
+      2949.9124       2298.6394
+  24544286.8654   -2578582.84449  -1984914.09045  24544286.7184   24544292.2454
+     -3072.2274      -2393.9434
+  23274378.8104  -10459830.29249  -8135789.09246  23274377.8334   23274381.1774
+      2406.3554       1875.0804
+  21236602.3294  -17817770.99549 -13575245.31147  21236602.5464   21236606.5124
+     -2758.6764      -2149.6184
+  22603819.2034  -14344836.64249 -11127510.66747  22603818.7654   22603823.2674
+     -2822.3824      -2199.2474
+  20074301.9374  -25152014.53449 -19345821.28248  20074301.5714   20074305.3454
+       208.5124        162.4754
+ 05  1 20  2 44 30.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21690000.7804  -15582677.26749 -12121425.74647  21690001.0584   21690006.5294
+      2834.0264       2208.3354
+  21247624.5794  -22181955.82349 -17266444.29048  21247623.6654   21247627.6634
+      1518.9364       1183.5874
+  22006838.9944  -13196075.72949 -10262331.28547  22006838.2644   22006844.2024
+      2939.6604       2290.6464
+  24561820.7144   -2486438.06049  -1913112.97745  24561820.5974   24561826.5614
+     -3071.0454      -2393.0204
+  23260648.1564  -10531986.93549  -8192015.04446  23260647.6884   23260649.1444
+      2404.1054       1873.3364
+  21252378.6094  -17734866.90749 -13510644.72447  21252378.6004   21252383.3274
+     -2768.2624      -2157.0824
+  22619944.7194  -14260097.58749 -11061480.24347  22619944.5184   22619948.7084
+     -2826.7864      -2202.6874
+  20073167.0114  -25157981.72249 -19350471.04148  20073166.3464   20073170.0244
+       189.3044        147.5134
+ 05  1 20  2 45  0.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21673862.3284  -15667486.98349 -12187511.28947  21673862.3314   21673867.0954
+      2819.9514       2197.3694
+  21238969.0904  -22227435.62149 -17301883.09248  21238969.0194   21238973.1284
+      1513.0434       1178.9974
+  21990087.1274  -13284110.67749 -10330929.95147  21990085.3714   21990091.6554
+      2929.3144       2282.5794
+  24579347.4484   -2394331.72049  -1841341.81845  24579348.5564   24579353.3764
+     -3069.6734      -2391.9514
+  23246928.1754  -10604076.98449  -8248189.10246  23246928.3704   23246931.2234
+      2401.8704       1871.5724
+  21268209.2344  -17651677.02549 -13445821.43747  21268208.7594   21268213.6454
+     -2777.7514      -2164.4804
+  22636093.8014  -14175227.84849 -10995347.99547  22636093.7244   22636098.9134
+     -2831.1004      -2206.0544
+  20072140.6024  -25163372.01849 -19354671.27748  20072140.2904   20072143.9114
+       170.0384        132.5004
+ 05  1 20  2 45 30.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21657804.2584  -15751872.72949 -12253266.40747  21657804.5854   21657809.5214
+      2805.7684       2186.3144
+  21230348.9974  -22272738.66049 -17337184.15948  21230348.1534   21230352.3484
+      1507.1654       1174.4154
+  21973393.4544  -13371833.90349 -10399285.71547  21973392.5874   21973398.4604
+      2918.8984       2274.4724
+  24596868.3514   -2302266.90649  -1769603.01245  24596867.3914   24596872.6754
+     -3068.1484      -2390.7614
+  23233224.2964  -10676100.23449  -8304311.12346  23233223.4194   23233225.2924
+      2399.6604       1869.8754
+  21284093.9204  -17568203.78949 -13380777.36147  21284093.4774   21284097.8754
+     -2787.1314      -2171.7834
+  22652268.8644  -14090229.63349 -10929115.61847  22652269.1044   22652273.0524
+     -2835.3464      -2209.3614
+  20071224.9694  -25168184.71149 -19358421.42848  20071224.5494   20071228.4564
+       150.7914        117.5034
+ 05  1 20  2 46  0.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21641828.3784  -15835831.40549 -12318688.73747  21641827.7874   21641832.7244
+      2791.4594       2175.1694
+  21221761.3644  -22317863.99149 -17372346.76348  21221761.3904   21221765.5624
+      1501.2144       1169.7814
+  21956759.9494  -13459242.90649 -10467396.62747  21956759.3394   21956765.1794
+      2908.3464       2266.2454
+  24614379.7014   -2210246.12049  -1697898.51045  24614378.9334   24614384.8374
+     -3066.6804      -2389.6194
+  23219530.1644  -10748056.17849  -8360380.66946  23219529.4154   23219532.4074
+      2397.3964       1868.1024
+  21300031.4694  -17484450.17749 -13315514.79547  21300031.2324   21300035.7884
+     -2796.4484      -2179.0464
+  22668468.8894  -14005104.68649 -10862784.48447  22668467.8154   22668472.3694
+     -2839.5514      -2212.6404
+  20070419.0234  -25172418.67249 -19361720.61648  20070418.6914   20070422.6654
+       131.4514        102.4294
+ 05  1 20  2 46 30.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21625932.9514  -15919359.76749 -12383775.76347  21625932.5534   21625937.7244
+      2777.0964       2163.9774
+  21213208.5144  -22362811.33149 -17407370.66448  21213208.2374   21213212.0974
+      1495.2874       1165.1614
+  21940187.5814  -13546334.81949 -10535260.45747  21940186.6614   21940191.5474
+      2897.7544       2257.9914
+  24631880.6554   -2118272.16949  -1626230.55145  24631881.6584   24631885.2684
+     -3065.0754      -2388.3684
+  23205849.1004  -10819944.53049  -8416397.56446  23205849.9654   23205852.6584
+      2395.1414       1866.3474
+  21316021.3574  -17400418.67649 -13250035.71147  21316022.0034   21316026.8634
+     -2805.6504      -2186.2144
+  22684689.7664  -13919855.11949 -10796356.24247  22684690.1514   22684694.3594
+     -2843.6614      -2215.8374
+  20069724.0154  -25176073.02849 -19364568.17248  20069723.4164   20069727.3274
+       112.1574         87.4004
+ 05  1 20  2 47  0.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21610120.3724  -16002454.63249 -12448524.97947  21610120.3404   21610125.6054
+      2762.5824       2152.6604
+  21204689.0754  -22407580.25649 -17442255.53248  21204688.8754   21204692.7314
+      1489.3244       1160.5154
+  21923673.9584  -13633106.82649 -10602875.01147  21923674.2274   21923680.1294
+      2887.0514       2249.6444
+  24649371.7064   -2026347.72649  -1554601.11745  24649372.9824   24649377.5164
+     -3063.4204      -2387.0804
+  23192183.3794  -10891765.09949  -8472361.65146  23192182.9984   23192185.5544
+      2392.8754       1864.5714
+  21332064.9424  -17316112.03649 -13184342.22047  21332065.3454   21332069.4234
+     -2814.7804      -2193.3354
+  22700936.0724  -13834482.63449 -10729832.22947  22700936.0024   22700941.1774
+     -2847.6924      -2218.9784
+  20069139.0274  -25179146.56549 -19366963.13348  20069138.5474   20069142.2234
+        92.7694         72.2874
+ 05  1 20  2 47 30.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21594391.0304  -16085112.94749 -12512934.05347  21594390.4364   21594395.8324
+      2747.9714       2141.2774
+  21196204.6524  -22452169.81949 -17477000.64148  21196203.8094   21196207.6544
+      1483.3434       1155.8544
+  21907223.7914  -13719556.14549 -10670238.10847  21907223.4784   21907228.6414
+      2876.2344       2241.2174
+  24666855.3354   -1934475.37349  -1483012.28545  24666855.1784   24666861.2504
+     -3061.6434      -2385.6874
+  23178529.3774  -10963517.44949  -8528272.57946  23178529.4444   23178531.4624
+      2390.6284       1862.8254
+  21348159.1394  -17231532.91949 -13118436.41547  21348159.6714   21348164.5244
+     -2823.8184      -2200.3724
+  22717204.9344  -13748988.98449 -10663213.80947  22717204.9014   22717210.5274
+     -2851.7304      -2222.1264
+  20068664.9814  -25181638.86749 -19368905.19148  20068664.5754   20068668.0184
+        73.3874         57.1834
+ 05  1 20  2 48  0.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21578744.5664  -16167331.42749 -12577000.41347  21578744.5944   21578750.1274
+      2733.2374       2129.7924
+  21187753.7574  -22496579.24349 -17511605.38548  21187753.1074   21187756.7644
+      1477.3214       1151.1614
+  21890835.9664  -13805680.01949 -10737347.62747  21890835.0074   21890839.7954
+      2865.3444       2232.7374
+  24684324.9034   -1842658.06649  -1411466.33645  24684327.1224   24684332.8904
+     -3059.8004      -2384.2654
+  23164888.9214  -11035201.35249  -8584130.15246  23164888.6564   23164890.6854
+      2388.3204       1861.0294
+  21364305.8274  -17146683.99749 -13052320.37047  21364305.9874   21364311.0444
+     -2832.7904      -2207.3654
+  22733496.3324  -13663376.52149 -10596502.81347  22733495.9514   22733500.6514
+     -2855.6774      -2225.1984
+  20068300.9294  -25183548.96349 -19370393.57848  20068300.6294   20068304.6044
+        53.9574         42.0444
+ 05  1 20  2 48 30.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21563183.9534  -16249106.87049 -12640721.53347  21563183.7744   21563188.7334
+      2718.4394       2118.2604
+  21179336.8474  -22540807.76549 -17546069.16948  21179336.4164   21179340.3614
+      1471.2604       1146.4364
+  21874509.7064  -13891475.68749 -10804201.38547  21874508.7554   21874513.7234
+      2854.3564       2224.1694
+  24701791.1324   -1750898.14849  -1339965.13245  24701789.8444   24701795.6334
+     -3057.7934      -2382.6884
+  23151260.1724  -11106816.35249  -8639934.03946  23151260.0004   23151263.3824
+      2386.0144       1859.2324
+  21380503.9064  -17061567.62749 -12985995.93147  21380503.1834   21380507.5074
+     -2841.6684      -2214.2854
+  22749809.8334  -13577646.75149 -10529700.41146  22749811.1174   22749813.9074
+     -2859.5664      -2228.2334
+  20068049.1224  -25184875.95549 -19371427.60348  20068048.3424   20068052.1814
+        34.5124         26.8924
+ 05  1 20  2 49  0.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21547707.7294  -16330436.17949 -12704095.01247  21547707.0234   21547712.7814
+      2703.5064       2106.6274
+  21170955.5314  -22584854.90649 -17580391.61748  21170954.8324   21170958.5434
+      1465.2124       1141.7244
+  21858245.9394  -13976940.35649 -10870797.23447  21858245.0794   21858249.7934
+      2843.2574       2215.5194
+  24719238.9844   -1659198.43149  -1268510.85945  24719239.0504   24719244.0394
+     -3055.8104      -2381.1534
+  23137644.9534  -11178362.06949  -8695683.92646  23137645.1554   23137648.2014
+      2383.7014       1857.4284
+  21396750.0104  -16976187.06249 -12919465.63147  21396750.4394   21396755.0084
+     -2850.4164      -2221.1024
+  22766147.3544  -13491801.79049 -10462808.20746  22766146.6544   22766149.8434
+     -2863.3834      -2231.1994
+  20067907.5524  -25185619.27549 -19372006.81848  20067906.9254   20067910.5884
+        15.0294         11.7104
+ 05  1 20  2 49 30.0000000  0  9G 9G18G15G 6G22G 3G26G29G21
+  21532317.0074  -16411316.21149 -12767118.39247  21532316.6444   21532321.1134
+      2688.4884       2094.9214
+  21162607.5164  -22628720.13249 -17614572.30548  21162607.4204   21162610.9894
+      1459.1414       1136.9894
+  21842046.0474  -14062071.29449 -10937133.02547  21842045.5424   21842049.9674
+      2832.1064       2206.8284
+  24736676.1534   -1567561.66149  -1197105.57345  24736677.5414   24736681.8544
+     -3053.6474      -2379.4644
+  23124044.8554  -11249838.13049  -8751379.55546  23124044.7134   23124046.3604
+      2381.3464       1855.5934
+                    -56124.75541     -1218.446 3                  24847488.386
+       643.5414        535.016
+  21413047.6814  -16890544.36449 -12852731.05047  21413047.7314   21413052.1714
+     -2859.0694      -2227.8474
+  22782501.9564  -13405843.23949 -10395827.51446  22782503.1484   22782508.1854
+     -2867.1164      -2234.1174
+  20067877.1224  -25185777.91349 -19372130.42648  20067876.5154   20067880.5424
+        -4.4794         -3.4954
+ 05  1 20  2 50  0.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21517012.0104  -16491743.80049 -12829789.21647  21517011.6444   21517016.4844
+      2673.3434       2083.1194
+  21154295.3024  -22672402.81849 -17648610.76148  21154294.8364   21154298.5544
+      1453.0394       1132.2384
+  21825910.9134  -14146865.63549 -11003206.53847  21825909.9024   21825914.1584
+      2820.8284       2198.0504
+  24754102.3264   -1475990.23149  -1125751.21745  24754102.2824   24754108.5804
+     -3051.4044      -2377.7164
+  23110455.4914  -11321244.38549  -8807020.77546  23110455.3174   23110458.6364
+      2379.0434       1853.8014
+  21429394.7344  -16804642.57749 -12785794.58847  21429394.3434   21429399.6484
+     -2867.6874      -2234.5644
+  22798882.0724  -13319773.14449 -10328759.92246  22798881.5334   22798886.4834
+     -2870.7864      -2236.9644
+  20067958.7174  -25185351.07049 -19371797.82648  20067958.2864   20067961.6964
+       -24.0144        -18.7144
+ 05  1 20  2 50 30.0000000  0  9G 9G18G15G 6G22G 3G26G29G21
+  21501793.0454  -16571715.95149 -12892105.17447  21501793.2834   21501798.3294
+      2658.1134       2071.2534
+  21146018.5304  -22715901.62549 -17682505.93048  21146017.5944   21146021.2444
+      1446.8764       1127.4354
+  21809839.0604  -14231320.62749 -11069015.62547  21809838.4694   21809843.0484
+      2809.4524       2189.1834
+  24771515.1784   -1384487.03849  -1054450.05745  24771514.6174   24771520.6834
+     -3049.1394      -2375.9504
+  23096880.0784  -11392580.30849  -8862607.22546  23096880.1814   23096883.1344
+      2376.6724       1851.9454
+                    -11024.13441      -843.372 3                  24831244.116
+       610.0574        477.456
+  21445789.9864  -16718484.08949 -12718658.10647  21445789.6574   21445794.6284
+     -2876.2094      -2241.2064
+  22815281.1124  -13233593.31149 -10261606.81046  22815281.7854   22815285.8884
+     -2874.4494      -2239.8464
+  20068151.4484  -25184338.23549 -19371008.61048  20068150.9344   20068154.2444
+       -43.5564        -33.9434
+ 05  1 20  2 51  0.0000000  0  9G 9G18G15G 6G22G 3G26G29G21
+  21486662.5594  -16651229.49449 -12954063.75647  21486662.4444   21486667.2444
+      2642.7934       2059.3174
+  21137775.4964  -22759216.21649 -17716257.55548  21137775.1174   21137778.8254
+      1440.7424       1122.6544
+  21793832.8154  -14315433.59549 -11134558.19447  21793831.7244   21793836.9604
+      2798.0144       2180.2694
+  24788912.4954   -1293054.64249   -983204.06145  24788913.7314   24788918.1934
+     -3046.7094      -2374.0524
+  23083320.1984  -11463845.51349  -8918138.54946  23083319.4954   23083322.8344
+      2374.3434       1850.1304
+                    -29073.85641      -843.372 3                  24831244.116
+       593.2524        477.456
+  21462232.9484  -16632071.68549 -12651323.77347  21462233.4424   21462238.0964
+     -2884.6234      -2247.7524
+  22831701.2254  -13147305.70049 -10194369.71146  22831701.6404   22831706.4414
+     -2878.0024      -2242.6154
+  20068455.8764  -25182738.65149 -19369762.17848  20068455.2134   20068458.8324
+       -63.1184        -49.1844
+ 05  1 20  2 51 30.0000000  0  9G 9G18G15G 6G22G 3G26G29G21
+  21471619.1294  -16730281.22549 -13015662.49547  21471619.1684   21471623.9964
+      2627.3104       2047.2594
+  21129567.9104  -22802346.05149 -17749865.21448  21129567.6024   21129571.2714
+      1434.5774       1117.8514
+  21777891.1124  -14399201.72149 -11199832.05347  21777891.2514   21777896.5694
+      2786.4814       2171.2834
+  24806298.3414   -1201695.64249   -912015.23045  24806298.4034   24806304.3224
+     -3044.2404      -2372.1234
+  23069772.0424  -11535039.77549  -8973614.59546  23069771.7954   23069774.9824
+      2371.9394       1848.2694
+                    -46620.31441    -21000.250 4                  24826344.136
+       576.4724        460.636
+  21478724.8724  -16545407.79849 -12583793.46447  21478725.1874   21478730.0624
+     -2892.9684      -2254.2624
+  22848141.4284  -13060911.90949 -10127049.88346  22848141.6794   22848144.8534
+     -2881.5154      -2245.3354
+  20068872.0454  -25180551.53549 -19368057.92948  20068871.4224   20068874.8424
+       -82.7144        -64.4514
+ 05  1 20  2 52  0.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21456664.9674  -16808868.18049 -13076899.07947  21456664.4094   21456670.1894
+      2611.7814       2035.1584
+  21121396.2944  -22845290.52149 -17783328.43848  21121395.7404   21121399.0964
+      1428.4024       1113.0464
+  21762018.2284  -14482622.09349 -11264834.94947  21762017.2334   21762021.8304
+      2774.8474       2162.2154
+  24823668.6894   -1110412.65149   -840885.68145  24823668.9554   24823675.2524
+     -3041.6584      -2370.1304
+  23056237.0964  -11606162.62549  -9029034.99446  23056237.8714   23056240.4944
+      2369.5754       1846.4224
+  21495263.6204  -16458495.15049 -12516069.33247  21495263.8874   21495268.4944
+     -2901.2274      -2260.6944
+  22864601.6894  -12974413.97849 -10059648.88246  22864601.0394   22864605.1234
+     -2884.9524      -2248.0154
+  20069399.8694  -25177776.29249 -19365895.41048  20069399.5674   20069403.0894
+      -102.3064        -79.7144
+ 05  1 20  2 52 30.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21441799.3504  -16886987.28249 -13137771.08747  21441798.8674   21441804.2074
+      2596.1364       2022.9614
+  21113259.1544  -22888048.82249 -17816646.59148  21113258.7184   21113262.4734
+      1422.1744       1108.1904
+  21746209.0094  -14565691.97549 -11329564.71847  21746208.7814   21746214.8484
+      2763.1054       2153.0644
+  24841027.5654   -1019208.31649   -769817.41045  24841026.2694   24841029.4734
+     -3038.9394      -2368.0044
+  23042717.3764  -11677213.75149  -9084399.51946  23042717.0274   23042719.4734
+      2367.1934       1844.5604
+  21511850.1794  -16371336.33549 -12448153.37147  21511849.8834   21511854.2674
+     -2909.3804      -2267.0544
+  22881080.8274  -12887813.66849  -9992168.11946  22881080.7614   22881084.8924
+     -2888.3324      -2250.6544
+  20070040.3004  -25174412.35949 -19363274.16348  20070039.4804   20070043.1364
+      -121.9444        -95.0254
+ 05  1 20  2 53  0.0000000  0  9G 9G18G15G 6G22G 3G26G29G21
+  21427022.8764  -16964635.40549 -13198276.09847  21427023.3084   21427027.5864
+      2580.4184       2010.7154
+  21105157.8024  -22930620.08149 -17849818.99848  21105157.4434   21105161.3804
+      1415.9464       1103.3334
+  21730469.9984  -14648408.47749 -11394019.14447  21730468.5574   21730474.3354
+      2751.3144       2143.8794
+  24858365.6234    -928085.43349   -698812.61045  24858364.9014   24858370.9554
+     -3036.2094      -2365.8814
+  23029209.6884  -11748192.76649  -9139707.83046  23029210.2394   23029212.9204
+      2364.7464       1842.6534
+                    -17512.22441     -8244.185 3                  24814907.018
+       526.1614        413.196
+  21528482.0804  -16283933.90049 -12380047.57447  21528481.7704   21528486.3044
+     -2917.4444      -2273.3384
+  22897579.8874  -12801112.81449  -9924609.01446  22897579.4274   22897584.1964
+     -2891.6374      -2253.2214
+  20070791.8884  -25170458.96749 -19360193.59948  20070791.6764   20070795.3824
+      -141.5984       -110.3364
+ 05  1 20  2 53 30.0000000  0  9G 9G18G15G 6G22G 3G26G29G21
+  21412336.6814  -17041809.66049 -13258411.86447  21412337.0884   21412341.9484
+      2564.5284       1998.3364
+  21097092.9354  -22973003.73749 -17882845.21548  21097092.1644   21097096.0064
+      1409.6674       1098.4414
+  21714795.6354  -14730768.99549 -11458196.15747  21714795.4574   21714801.4644
+      2739.3744       2134.5784
+  24875689.7734    -837046.31449   -627873.02545  24875688.9744   24875693.8924
+     -3033.3684      -2363.6684
+  23015717.9644  -11819099.30449  -9194959.67347  23015717.8564   23015720.1234
+      2362.3284       1840.7794
+                    -33044.56241    -22822.615 5                  24811350.362
+       509.4544        396.496
+  21545160.6704  -16196290.48949 -12311754.01547  21545160.2204   21545164.3244
+     -2925.4274      -2279.5524
+  22914097.1444  -12714313.32249  -9856973.05946  22914096.4814   22914101.4054
+     -2894.8984      -2255.7614
+  20071657.0494  -25165915.53349 -19356653.26148  20071656.6104   20071659.9354
+      -161.2614       -125.6614
+ 05  1 20  2 54  0.0000000  0  9G 9G18G15G 6G22G 3G26G29G21
+  21397743.0374  -17118506.69949 -13318175.75747  21397742.4514   21397747.2844
+      2548.5814       1985.9084
+  21089062.6504  -23015198.93549 -17915724.59148  21089062.7264   21089066.4724
+      1403.3614       1093.5294
+  21699192.2024  -14812770.78249 -11522093.66047  21699191.2444   21699196.7964
+      2727.3674       2125.2194
+  24892995.1104    -746093.68649   -557000.87145  24892996.3774   24893003.2014
+     -3030.3924      -2361.3454
+  23002238.9644  -11889932.87849  -9250154.65347  23002238.8624   23002241.0244
+      2359.8914       1838.8734
+                    -48073.44441    -25000.192 5                  24810817.345
+       492.5834        395.806
+  21561883.3774  -16108408.69649 -12243274.69147  21561882.9394   21561887.2964
+     -2933.3464      -2285.7264
+  22930633.2514  -12627416.66549  -9789261.37546  22930632.9464   22930637.0234
+     -2898.0884      -2258.2524
+  20072634.1444  -25160781.56049 -19352652.76448  20072633.5934   20072636.9984
+      -180.9844       -141.0264
+ 05  1 20  2 54 30.0000000  0  8G 9G18G15G 6G22G26G29G21
+  21383238.3064  -17194723.80749 -13377565.69947  21383238.2494   21383244.0294
+      2532.5384       1973.4084
+  21081070.4154  -23057204.81349 -17948456.44148  21081069.7364   21081073.1824
+      1397.0404       1088.6054
+  21683656.5174  -14894411.03449 -11585709.44647  21683656.0314   21683661.7154
+      2715.2714       2115.7954
+  24910292.3224    -655230.14049   -486198.18645  24910289.1854   24910293.9984
+     -3027.3894      -2359.0104
+  22988774.0294  -11960692.80449  -9305292.25447  22988773.7494   22988775.4404
+      2357.4284       1836.9634
+  21578651.6504  -16020290.96749 -12174611.53447  21578651.7574   21578656.0284
+     -2941.1684      -2291.8194
+  22947187.3514  -12540424.82349  -9721475.51546  22947187.3764   22947191.1944
+     -2901.2644      -2260.7204
+  20073723.8404  -25155056.54949 -19348191.71948  20073722.9904   20073726.3044
+      -200.6974       -156.3854
+ 05  1 20  2 55  0.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21368827.5174  -17270457.89549 -13436579.27347  21368827.0614   21368832.5004
+      2516.3764       1960.8084
+  21073112.8624  -23099021.04849 -17981040.51948  21073112.4304   21073115.8654
+      1390.7074       1083.6674
+  21668190.2214  -14975686.87449 -11649041.26347  21668189.6354   21668195.6034
+      2703.0814       2106.2944
+  24927562.9484    -564458.31249   -415466.88245  24927560.9454   24927569.0424
+     -3024.3654      -2356.6544
+  22975322.8564  -12031379.09449  -9360372.47547  22975321.9704   22975323.7624
+      2354.9784       1835.0494
+  24816945.6474    -291148.38349   -216922.55944
+      3220.7744       2509.6494
+  21595463.5084  -15931940.15049 -12105766.73947  21595463.7064   21595468.4844
+     -2948.9044      -2297.8524
+  22963758.9924  -12453339.57449  -9653616.87746  22963759.0454   22963763.4284
+     -2904.3344      -2263.1254
+  20074925.0464  -25148739.92949 -19343269.68448  20074924.8184   20074928.3434
+      -220.4324       -171.7664
+ 05  1 20  2 55 30.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21354507.9354  -17345706.07449 -13495214.21347  21354508.1534   21354512.5464
+      2500.1244       1948.1484
+  21065191.6664  -23140646.93449 -18013476.27648  21065191.2034   21065194.6584
+      1384.3344       1078.7014
+  21652794.0074  -15056595.62649 -11712087.04147  21652793.3694   21652798.8464
+      2690.7984       2096.7254
+  24944816.1224    -473780.54949   -344808.95645  24944817.0964   24944823.5334
+     -3021.1594      -2354.1514
+  22961884.5034  -12101991.21949  -9415394.90047  22961884.7654   22961887.1574
+      2352.4884       1833.1024
+  24798569.8254    -387700.26149    -59560.46143
+      3215.9964       2505.9704
+  21612321.1164  -15843358.68749 -12036742.22247  21612320.3314   21612325.4084
+     -2956.5414      -2303.7974
+  22980347.7014  -12366162.74849  -9585686.88246  22980347.0604   22980351.6604
+     -2907.3624      -2265.4814
+  20076240.3094  -25141831.32949 -19337886.36548  20076239.6954   20076243.0704
+      -240.1644       -187.1424
+ 05  1 20  2 56  0.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21340281.4014  -17420465.29249 -13553468.13247  21340281.2124   21340286.2734
+      2483.7894       1935.4164
+  21057306.5214  -23182081.15649 -18045762.67848  21057306.0684   21057309.8954
+      1377.9714       1073.7444
+  21637468.2534  -15137134.50249 -11774844.60347  21637467.4174   21637472.4144
+      2678.4354       2087.0934
+  24962056.6384    -383199.69549   -274226.47945  24962053.9314   24962061.8414
+     -3017.8324      -2351.5524
+  22948463.6594  -12172528.70549  -9470359.17347  22948462.6374   22948464.0904
+      2350.0164       1831.1874
+  24780224.5704    -484108.48249   -134684.00345
+      3211.2114       2502.2454
+  21629220.6804  -15754549.07049 -11967539.93947  21629220.4704   21629225.2174
+     -2964.0654      -2309.6574
+  22996953.5394  -12278895.89049  -9517686.74846  22996953.8684   22996957.3104
+     -2910.3394      -2267.7904
+  20077667.7164  -25134330.40449 -19332041.49648  20077667.0874   20077670.3824
+      -259.9054       -202.5214
+ 05  1 20  2 56 30.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21326148.8054  -17494732.67749 -13611338.79247  21326148.6274   21326153.7964
+      2467.3574       1922.6164
+  21049457.7304  -23223323.35149 -18077899.45448  21049458.0084   21049461.7194
+      1371.5244       1068.7234
+  21622213.1244  -15217300.75649 -11837311.81547  21622212.5934   21622217.5514
+      2665.9584       2077.3694
+  24979272.8604    -292718.06749   -203721.38545  24979272.5034   24979276.0864
+     -3014.5354      -2348.9834
+  22935053.3134  -12242991.17349  -9525264.98147  22935053.8604   22935055.8024
+      2347.4944       1829.2154
+  24761904.1104    -580371.70149   -209694.20145                  24761907.1014
+      3206.3204       2498.4284
+  21646163.5174  -15665513.86249 -11898161.84647  21646163.4904   21646167.4154
+     -2971.5904      -2315.5234
+  23013578.1554  -12191541.06049  -9449618.03046  23013577.3604   23013581.1914
+     -2913.2474      -2270.0654
+  20079207.5434  -25126236.37149 -19325734.45848  20079207.1074   20079210.8684
+      -279.6884       -217.9384
+ 05  1 20  2 57  0.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21312110.5064  -17568505.36449 -13668823.98647  21312110.4894   21312115.3644
+      2450.8114       1909.7224
+  21041646.9754  -23264372.54249 -18109885.83048  21041646.2214   21041650.3604
+      1365.0804       1063.6994
+  21607029.5544  -15297091.69449 -11899486.57647  21607028.5784   21607033.6084
+      2653.4064       2067.5864
+  24996469.9294    -202338.20849   -133295.61445  24996471.6724   24996474.9224
+     -3011.0124      -2346.2434
+  22921659.4644  -12313378.27549  -9580112.08447  22921659.3604   22921661.3344
+      2344.9684       1827.2454
+  24743614.7954    -676488.97449   -284590.74045  24743612.7494   24743617.9074
+      3201.4594       2494.6384
+  21663148.6844  -15576255.61349 -11828609.97447  21663148.5744   21663153.1984
+     -2978.9574      -2321.2674
+  23030217.5194  -12104099.68649  -9381481.91246  23030216.3924   23030221.0294
+     -2916.1384      -2272.3224
+  20080861.0824  -25117549.00549 -19318965.08848  20080860.5444   20080863.6894
+      -299.4854       -233.3674
+ 05  1 20  2 57 30.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21298167.4244  -17641780.06149 -13725921.13448  21298166.9454   21298171.6534
+      2434.1604       1896.7504
+  21033872.2134  -23305228.01149 -18141721.25648  21033872.2164   21033875.9544
+      1358.6224       1058.6694
+  21591917.9564  -15376504.58449 -11961366.75547  21591917.1694   21591921.6784
+      2640.7464       2057.7254
+  25013650.2984    -112062.97149    -62951.26645  25013650.1024   25013652.8054
+     -3007.5034      -2343.5054
+  22908279.2884  -12383689.57349  -9634900.09047  22908279.4934   22908281.6134
+      2342.4324       1825.2804
+  24725350.9174    -772459.30449   -359372.82545  24725351.4354   24725353.9124
+      3196.4994       2490.7724
+  21680175.9144  -15486776.78149 -11758886.19947  21680175.7504   21680180.2714
+     -2986.2774      -2326.9694
+  23046872.8364  -12016573.61549  -9313279.76846  23046872.1994   23046876.6594
+     -2918.8874      -2274.4614
+  20082627.1314  -25108267.80149 -19311732.98148  20082626.4004   20082630.1574
+      -319.2684       -248.7784
+ 05  1 20  2 58  0.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21284318.1564  -17714554.04049 -13782628.09447  21284317.9414   21284323.0434
+      2417.4144       1883.6974
+  21026135.2894  -23345888.97149 -18173405.11548  21026134.7394   21026138.5464
+      1352.1274       1053.6034
+  21576878.5174  -15455536.42049 -12022950.00647  21576877.4354   21576882.7364
+      2627.9874       2047.7824
+  25030810.4134     -21894.68749      7309.73145  25030808.1474   25030816.2484
+     -3003.8544      -2340.6704
+  22894914.3594  -12453924.47349  -9689628.58947  22894913.8964   22894916.8624
+      2339.8684       1823.2784
+  24707117.3024    -868281.46049   -434039.42645  24707116.9704   24707122.1534
+      3191.5964       2486.9564
+  21697244.4434  -15397080.01349 -11688992.62547  21697244.7864   21697249.4374
+     -2993.4964      -2332.5914
+  23063544.2434  -11928964.61749  -9245013.01146  23063544.9254   23063547.7224
+     -2921.6124      -2276.5724
+  20084506.4524  -25098392.49549 -19304037.94648  20084505.8094   20084509.4154
+      -339.0974       -264.2334
+ 05  1 20  2 58 30.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21270565.9424  -17786824.59349 -13838942.79347  21270565.4454   21270570.1964
+      2400.6074       1870.6014
+  21018434.8994  -23386354.97149 -18204937.06248  21018434.4474   21018437.8774
+      1345.6074       1048.5264
+  21561911.7494  -15534184.51049 -12084234.22647  21561911.3114   21561916.7814
+      2615.1714       2037.7964
+  25047951.9944      68164.26149     77485.49445  25047949.2494   25047951.7884
+     -3000.2234      -2337.8494
+  22881564.0014  -12524082.71949  -9744297.34947  22881563.6404   22881566.7184
+      2337.3394       1821.3104
+  24688912.2494    -963954.61949   -508589.87245  24688910.2184   24688916.0434
+      3186.6304       2483.0844
+  21714354.2964  -15307167.76049 -11618931.12747  21714354.2054   21714359.2914
+     -3000.6444      -2338.1674
+  23080231.0474  -11841274.38249  -9176682.96146  23080230.7604   23080234.9094
+     -2924.3144      -2278.6944
+  20086498.1334  -25087922.63449 -19295879.61448  20086497.9044   20086501.7064
+      -358.9124       -279.6734
+ 05  1 20  2 59  0.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21256909.9624  -17858588.62149 -13894862.80747  21256909.4924   21256914.1064
+      2383.6474       1857.3864
+  21010771.2524  -23426624.72249 -18236316.08948  21010770.8234   21010775.0284
+      1339.0374       1043.4054
+  21547019.0284  -15612446.12749 -12145217.31047  21547018.6244   21547023.7344
+      2602.2534       2027.7324
+  25065063.7574     158111.10348    147573.90145  25065062.0854   25065070.3474
+     -2996.4734      -2334.9224
+  22868228.2904  -12594163.60449  -9798905.84347  22868227.8384   22868229.9104
+      2334.7834       1819.3114
+  24670733.3544   -1059477.74949   -583023.43345  24670732.5124   24670737.0334
+      3181.5624       2479.1414
+  21731504.2884  -15217042.54949 -11548703.69147  21731504.3814   21731509.2974
+     -3007.6994      -2343.6624
+  23096932.4824  -11753504.61949  -9108290.95046  23096932.4194   23096937.1464
+     -2926.9334      -2280.7164
+  20088603.7914  -25076857.91249 -19287257.75848  20088603.4274   20088607.3304
+      -378.7514       -295.1314
+ 05  1 20  2 59 30.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21243349.5844  -17929843.37749 -13950385.95347  21243349.6054   21243354.8844
+      2366.6554       1844.1454
+  21003145.3224  -23466697.86849 -18267541.91748  21003144.8804   21003149.2484
+      1332.4884       1038.3014
+  21532200.6034  -15690318.59649 -12205897.15147  21532200.2574   21532205.4644
+      2589.2544       2017.6034
+  25082154.3634     247943.44948    217573.07744  25082153.2684   25082160.5104
+     -2992.6284      -2331.9204
+  22854905.7604  -12664166.80049  -9853453.78147  22854906.0494   22854909.3024
+      2332.1714       1817.2724
+  24652585.4624   -1154849.53249   -657339.08245  24652585.4934   24652590.3724
+      3176.5874       2475.2674
+  21748694.4894  -15126706.93849 -11478312.31747  21748695.1534   21748699.2844
+     -3014.6844      -2349.1114
+  23113648.4144  -11665656.83749  -9039838.12946  23113648.7684   23113654.0104
+     -2929.4624      -2282.6904
+  20090823.1784  -25065197.99549 -19278172.11648  20090822.5794   20090825.9814
+      -398.5884       -310.5904
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20  3  0  0.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21229888.2194  -18000585.99049 -14005510.06147  21229888.0844   21229892.7854
+      2349.5324       1830.7994
+  20995557.6574  -23506573.33649 -18298613.71248  20995557.2924   20995561.2824
+      1325.8774       1033.1564
+  21517456.1144  -15767799.28949 -12266271.71447  21517455.9144   21517461.4534
+      2576.1294       2007.3734
+  25099231.5314     337659.11149    287481.32744  25099228.0424   25099233.1684
+     -2988.7244      -2328.8764
+  22841599.5114  -12734091.92049  -9907940.87947  22841599.2474   22841602.7544
+      2329.5464       1815.2354
+  24634463.9224   -1250068.86749   -731535.91545  24634464.8554   24634468.7764
+      3171.4664       2471.2714
+  21765923.6684  -15036163.32449 -11407758.85747  21765924.7654   21765928.0074
+     -3021.5404      -2354.4384
+  23130378.9624  -11577733.07349  -8971326.10846  23130380.0554   23130385.4774
+     -2931.9944      -2284.6704
+  20093154.5914  -25052942.75149 -19268622.57748  20093154.2574   20093158.0414
+      -418.4594       -326.0684
+ 05  1 20  3  0 30.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21216524.8494  -18070813.52649 -14060232.79848  21216524.6264   21216529.1254
+      2332.3074       1817.3794
+  20988007.3474  -23546250.34049 -18329530.85948  20988007.2504   20988011.0054
+      1319.2724       1028.0064
+  21502787.6614  -15844885.25649 -12326338.69047  21502786.9994   21502792.4404
+      2562.9094       1997.0754
+  25116281.0994     427255.01449    357296.29745  25116280.5254   25116285.5824
+     -2984.7194      -2325.7464
+  22828309.7884  -12803938.35849  -9962366.67847  22828309.0824   22828310.9014
+      2326.9204       1813.1954
+  24616374.7114   -1345135.00149   -805613.39845  24616375.6974   24616377.3644
+      3166.2924       2467.2454
+  21783194.0914  -14945414.30749 -11337045.32547  21783194.3104   21783198.3784
+     -3028.3524      -2359.7554
+  23147126.2454  -11489734.66649  -8902755.93146  23147126.4284   23147131.2704
+     -2934.4934      -2286.6374
+  20095600.5914  -25040091.72549 -19258608.79548  20095600.0584   20095603.4674
+      -438.3184       -341.5484
+ 05  1 20  3  1  0.0000000  0  9G 9G18G15G 6G22G14G26G29G21
+  21203259.3934  -18140523.22449 -14114552.01548  21203258.8704   21203263.7544
+      2315.0084       1803.9004
+  20980495.6594  -23585728.04349 -18360292.69748  20980494.7264   20980498.2484
+      1312.5954       1022.8024
+  21488195.1624  -15921573.59149 -12386095.84647  21488194.0974   21488198.6514
+      2549.6254       1986.7204
+  25133305.8524     516729.02449    427016.22145  25133307.1644   25133309.2264
+     -2980.4954      -2322.4584
+  22815032.1914  -12873705.65349 -10016730.81347  22815032.9024   22815035.2684
+      2324.2534       1811.1054
+  24598313.8324   -1440046.74249   -879570.60645  24598313.6774   24598316.3404
+      3161.1294       2463.2144
+  21800501.2484  -14854462.19649 -11266173.54847  21800501.3594   21800505.4164
+     -3035.1124      -2365.0184
+  23163886.3254  -11401663.60649  -8834129.12346  23163885.4384   23163890.2384
+     -2936.8704      -2288.4704
+  20098159.4924  -25026644.79449 -19248130.67248  20098158.6454   20098162.3794
+      -458.1534       -357.0044
+ 05  1 20  3  1 30.0000000  0  8G 9G18G15G22G14G26G29G21
+  21190091.5954  -18209712.18849 -14168465.46547  21190092.1314   21190097.3164
+      2297.5744       1790.3174
+  20973020.9754  -23625005.60449 -18390898.59548  20973020.6384   20973024.1124
+      1305.9074       1017.5884
+  21473677.8954  -15997861.92749 -12445541.30547  21473676.6174   21473681.7974
+      2536.2344       1976.2924
+  22801771.4634  -12943393.62849 -10071033.11947  22801771.5094   22801774.2224
+      2321.6054       1809.0414
+  24580280.7624   -1534803.12049   -953406.72845  24580280.9564   24580286.5594
+      3155.9444       2459.1754
+  21817847.0324  -14763309.48149 -11195145.46647  21817847.2694   21817851.7414
+     -3041.7334      -2370.1814
+  23180659.0304  -11313521.36549  -8765446.85946  23180658.4184   23180663.3354
+     -2939.2304      -2290.3084
+  20100832.0374  -25012601.76449 -19237188.04948  20100831.3034   20100834.9184
+      -478.0324       -372.4954
+ 05  1 20  3  2  0.0000000  0  8G 9G18G15G22G14G26G29G21
+  21177026.4004  -18278377.69349 -14221971.01748  21177025.9744   21177030.9864
+      2280.1094       1776.7064
+  20965584.4834  -23664082.52349 -18421348.13948  20965584.3004   20965588.1614
+      1299.2174       1012.3734
+  21459235.9454  -16073747.44549 -12504672.87647  21459235.9334   21459241.3414
+      2522.7814       1965.8014
+  22788525.6334  -13013001.52349 -10125273.02847  22788526.0844   22788528.3144
+      2318.9274       1806.9544
+  24562280.9924   -1629403.15449  -1027120.97345  24562279.8914   24562283.8844
+      3150.6644       2455.0644
+  21835230.1884  -14671958.92149 -11123963.20347  21835230.5824   21835234.5014
+     -3048.2984      -2375.3094
+  23197444.3934  -11225309.68749  -8696710.50346  23197444.6754   23197449.4414
+     -2941.5224      -2292.1124
+  20103617.4284  -24997962.52949 -19225780.85448  20103616.9484   20103620.6854
+      -497.9094       -387.9864
+ 05  1 20  3  2 30.0000000  0  8G 9G18G15G22G14G26G29G21
+  21164059.9054  -18346517.05649 -14275066.60248  21164059.6844   21164064.3114
+      2262.5184       1763.0034
+  20958186.8874  -23702957.97949 -18451640.70248  20958186.3974   20958190.6214
+      1292.4664       1007.1214
+  21444873.6364  -16149227.26749 -12563488.30747  21444872.6824   21444877.6834
+      2509.2114       1955.2344
+  22775293.5294  -13082528.84849 -10179450.15247  22775294.6734   22775297.0764
+      2316.2614       1804.8804
+  24544310.8074   -1723845.80849  -1100712.61445  24544308.6074   24544311.9234
+      3145.4454       2450.9984
+  21852650.9864  -14580412.55749 -11052628.37547  21852651.0204   21852655.5204
+     -3054.7674      -2380.3374
+  23214245.4734  -11137029.99149  -8627921.13046  23214245.2534   23214248.3084
+     -2943.7194      -2293.8164
+  20106516.8884  -24982726.76149 -19213908.82948  20106516.2474   20106519.7894
+      -517.8104       -403.4874
+ 05  1 20  3  3  0.0000000  0  8G 9G18G15G22G14G26G29G21
+  21151193.5874  -18414127.62049 -14327750.14248  21151193.7344   21151198.6154
+      2244.8454       1749.2274
+  20950827.3534  -23741631.03549 -18481775.56148  20950826.9324   20950831.4964
+      1285.7364       1001.8724
+  21430587.1054  -16224298.77049 -12621985.59347  21430586.6074   21430592.3354
+      2495.5474       1944.5824
+  22762081.0324  -13151975.06049 -10233564.09547  22762080.0394   22762082.2584
+      2313.5354       1802.7524
+  24526367.0424   -1818130.03949  -1174180.84745  24526365.1884   24526370.4914
+      3140.1274       2446.8554
+  21870109.5534  -14488673.02949 -10981143.03147  21870108.8324   21870113.3334
+     -3061.1964      -2385.3504
+  23231056.3474  -11048684.23549  -8559080.28546  23231056.5394   23231059.0374
+     -2945.8934      -2295.5034
+  20109529.2454  -24966894.63249 -19201572.10948  20109529.1114   20109532.4354
+      -537.6834       -418.9764
+ 05  1 20  3  3 30.0000000  0  8G 9G18G15G22G14G26G29G21
+  21138429.4924  -18481206.44449 -14380019.33048  21138428.7244   21138433.8724
+      2227.0524       1735.3694
+  20943506.9994  -23780100.82049 -18511752.01848  20943506.8754   20943510.8064
+      1278.9054        996.5534
+  21416379.4754  -16298959.16449 -12680162.50947  21416379.2174   21416384.9124
+      2481.7634       1933.8374
+  22748879.2384  -13221339.63449 -10287614.41247  22748879.9494   22748882.3404
+      2310.7684       1800.6024
+  24508454.0254   -1912254.89549  -1247524.87145  24508453.3114   24508459.2534
+      3134.7784       2442.6774
+  21887601.3874  -14396742.76149 -10909509.07047  21887602.1514   21887607.3084
+     -3067.4984      -2390.2594
+  23247880.0414  -10960273.91749  -8490189.11246  23247880.0504   23247883.8944
+     -2948.0434      -2297.1834
+  20112655.9984  -24950465.78749 -19188770.41448  20112655.3344   20112658.9944
+      -557.5664       -434.4664
+ 05  1 20  3  4  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  21125765.1564  -18547750.80749 -14431872.05748  21125765.3894   21125770.5904
+      2209.2364       1721.4824
+  20936225.0764  -23818366.51849 -18541569.44548  20936225.0074   20936229.0444
+      1272.1114        991.2524
+  21402251.1914  -16373205.59249 -12738016.87147  21402250.8604   21402256.3934
+      2467.9334       1923.0624
+  22735695.3544  -13290622.18649 -10341600.81047  22735695.3404   22735698.0824
+      2308.0444       1798.4674
+  24771330.3944      -2869.28549     -1031.19243
+       157.9254        123.6464
+  24490575.2584   -2006219.37049  -1320743.90545  24490574.6624   24490578.3324
+      3129.4574       2438.5414
+  21905132.0714  -14304624.04949 -10837728.24847  21905131.8234   21905136.5964
+     -3073.7404      -2395.1184
+  23264714.8884  -10871800.44349  -8421248.75546  23264714.8534   23264720.4114
+     -2950.1464      -2298.8184
+  20115895.4944  -24933440.19449 -19175503.72548  20115895.2784   20115898.5744
+      -577.4354       -449.9514
+ 05  1 20  3  4 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  21113205.1454  -18613758.12249 -14483306.31148  21113205.0174   21113209.8664
+      2191.2734       1707.4904
+  20928982.9564  -23856427.27349 -18571227.18048  20928982.4374   20928986.2724
+      1265.2774        985.9364
+  21388202.4964  -16447035.64549 -12795546.78447  21388201.5234   21388206.9894
+      2454.0304       1912.2364
+  22722528.2704  -13359822.10349 -10395522.81847  22722527.7174   22722529.8184
+      2305.2884       1796.3314
+  24770477.4154      -7356.87749     -4527.85345
+       141.3124        110.1124
+  24472725.4164   -2100022.48149  -1393837.22545  24472724.7924   24472728.4664
+      3124.0804       2434.3484
+  21922696.8624  -14212319.56949 -10765802.67147  21922696.9714   21922701.3124
+     -3079.8844      -2399.9084
+  23281562.9944  -10783265.65849  -8352260.61646  23281562.3144   23281567.8884
+     -2952.1194      -2300.3464
+  20119248.9904  -24915817.86449 -19161772.04048  20119248.5414   20119252.0264
+      -597.3534       -465.4654
+ 05  1 20  3  5  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  21100747.6554  -18679225.74649 -14534320.02248  21100747.3464   21100751.8754
+      2173.2394       1693.4284
+  20921779.2854  -23894282.15249 -18600724.48948  20921779.0114   20921782.7744
+      1258.3844        980.5564
+  21374231.7614  -16520446.42849 -12852749.98247  21374231.7904   21374237.2694
+      2440.0124       1901.3004
+  22709375.2634  -13428939.04249 -10449380.17747  22709375.6194   22709377.4184
+      2302.5104       1794.1624
+  24769720.4844     -11345.96249     -7636.18845
+       124.7124         97.1774
+  24454905.7794   -2193663.33449  -1466804.06845  24454904.8364   24454909.5394
+      3118.6064       2430.0764
+  21940297.4794  -14119831.56049 -10693734.09247  21940296.8954   21940301.4394
+     -3085.9754      -2404.6564
+  23298421.0204  -10694671.07149  -8283225.90646  23298421.9854   23298427.3764
+     -2954.0994      -2301.8994
+  20122716.2904  -24897598.60349 -19147575.21648  20122715.5474   20122719.0724
+      -617.2574       -480.9844
+ 05  1 20  3  5 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  21088391.8064  -18744150.99649 -14584911.10348  21088392.1194   21088396.3524
+      2155.0934       1679.2914
+  20914615.1884  -23931930.42549 -18630060.80248  20914614.6434   20914618.2904
+      1251.5024        975.1974
+  21360343.7014  -16593435.30249 -12909624.43747  21360342.7734   21360347.8164
+      2425.9024       1890.3114
+  22696238.7934  -13497972.36549 -10503172.36847  22696238.8364   22696240.4534
+      2299.7054       1791.9784
+  24769060.8464     -14836.91849    -10356.46545                  24769058.0444
+       108.0244         84.1764
+  24437117.1564   -2287140.76049  -1539643.59445  24437115.8784   24437119.2814
+      3113.1764       2425.8524
+  21957930.2924  -14027162.40349 -10621524.35447  21957931.1314   21957935.9974
+     -3091.9514      -2409.3194
+  23315292.1324  -10606018.34749  -8214145.86246  23315291.8934   23315297.6054
+     -2956.0644      -2303.4324
+  20126296.8014  -24878782.57349 -19132913.37248  20126296.1984   20126299.5644
+      -637.1504       -496.4814
+ 05  1 20  3  6  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  21076141.2914  -18808531.20549 -14635077.48048  21076140.5474   21076145.5294
+      2136.9034       1665.1194
+  20907490.3284  -23969371.48449 -18659235.65048  20907489.8544   20907493.4734
+      1244.5894        969.8114
+  21346535.0974  -16665999.67049 -12966168.09547  21346533.8784   21346539.1154
+      2411.7014       1879.2464
+  22683118.1394  -13566921.63949 -10556899.07647  22683117.8404   22683119.9894
+      2296.8784       1789.7724
+  24768484.2124     -17830.08049    -12688.77145  24768483.8174   24768487.1054
+        91.5204         71.3194
+  24419359.1384   -2380453.82549  -1612355.10545  24419359.2944   24419362.3644
+      3107.6404       2421.5424
+  21975598.9014  -13934314.68549 -10549175.50047  21975599.7284   21975604.1214
+     -3097.8824      -2413.9304
+  23332173.7534  -10517309.02049  -8145021.71746  23332173.1924   23332177.6024
+     -2957.8674      -2304.8254
+  20129990.9134  -24859369.72549 -19117786.48448  20129990.4264   20129993.8514
+      -657.0414       -511.9804
+ 05  1 20  3  6 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  21063993.5624  -18872363.67149 -14684817.06448  21063993.8194   21063998.7584
+      2118.6124       1650.8654
+  20900405.1364  -24006604.23149 -18688248.18248  20900404.4894   20900408.2124
+      1237.6244        964.3844
+  21332807.0964  -16738136.66049 -13022378.73547  21332806.7654   21332812.2474
+      2397.4004       1868.1044
+  22670012.9494  -13635786.12449 -10610559.70647  22670013.4504   22670016.2224
+      2294.0664       1787.5854
+  24768010.0894     -20325.96959    -14633.63755  24768010.1884   24768012.8734
+        74.9124         58.3734
+  24401633.5074   -2473601.69049  -1684937.82045  24401634.0774   24401637.4644
+      3102.1384       2417.2544
+  21993302.2504  -13841290.59949 -10476689.19247  21993301.8604   21993306.4534
+     -3103.7194      -2418.4804
+  23349063.6154  -10428544.62649  -8075854.65646  23349063.2924   23349068.8944
+     -2959.6924      -2306.2474
+  20133798.5074  -24839359.98849 -19102194.48348  20133798.0254   20133801.3534
+      -676.9304       -527.4784
+ 05  1 20  3  7  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  21051951.9234  -18935645.79649 -14734127.79448  21051952.0664   21051956.8684
+      2100.1964       1636.5134
+  20893359.4364  -24043627.61049 -18717097.56648  20893359.3434   20893363.1674
+      1230.6174        958.9194
+  21319162.5444  -16809843.63149 -13078254.29947  21319161.7934   21319167.0294
+      2383.0354       1856.9084
+  22656926.4474  -13704565.14649 -10664153.75947  22656925.4804   22656927.8664
+      2291.2034       1785.3514
+  24767628.1974     -22325.36849    -16191.63945  24767628.1664   24767632.0324
+        58.3504         45.4724
+  24383941.3294   -2566583.33349  -1757391.01545  24383940.4204   24383944.2284
+      3096.7134       2413.0204
+  22011035.5854  -13748092.54849 -10404067.34147  22011035.9124   22011041.3434
+     -3109.4754      -2422.9594
+  23365965.5624  -10339726.62449  -8006645.82546  23365965.6294   23365969.8314
+     -2961.4444      -2307.6164
+  20137719.7254  -24818753.83849 -19086137.75548  20137719.2114   20137722.8334
+      -696.8004       -542.9624
+ 05  1 20  3  7 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  21040015.0684  -18998375.02849 -14783007.70048  21040015.0274   21040019.9004
+      2081.7294       1622.1264
+  20886354.8374  -24080440.67949 -18745783.07248  20886354.1214   20886358.1674
+      1223.5944        953.4534
+  21305599.4474  -16881118.05649 -13133792.80848  21305598.3754   21305603.7754
+      2368.5744       1845.6434
+  22643853.3944  -13773258.53049 -10717681.06647  22643853.2204   22643855.3654
+      2288.3224       1783.1074
+  24767343.5444     -23828.94249    -17363.26945  24767342.0824   24767347.1334
+        41.8174         32.5864
+  24366280.5904   -2659397.82649  -1829713.96345  24366279.6104   24366282.7874
+      3090.9774       2408.5594
+  22028805.1084  -13654722.67749 -10331311.61247  22028804.3984   22028808.9074
+     -3115.1874      -2427.4144
+  23382876.1994  -10250856.73349  -7937396.57846  23382876.5164   23382881.1534
+     -2963.1414      -2308.9424
+  20141754.2904  -24797551.10049 -19069616.14748  20141753.8624   20141757.5344
+      -716.7144       -558.4784
+ 05  1 20  3  8  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  21028184.1734  -19060548.87249 -14831454.83648  21028183.7114   21028188.2974
+      2063.1794       1607.6674
+  20879389.1674  -24117042.89449 -18774304.28148  20879388.8304   20879392.8524
+      1216.5564        947.9604
+  21292119.3774  -16951957.14849 -13188992.10248  21292118.5314   21292123.1444
+      2354.0044       1834.2834
+  22630796.8784  -13841865.52749 -10771141.07547  22630797.2364   22630800.2364
+      2285.4334       1780.8554
+  24767150.7174     -24837.19749    -18148.95745  24767151.2954   24767153.6254
+        25.2474         19.6764
+  24348649.2814   -2752044.32249  -1901906.00445  24348648.4014   24348653.4784
+      3085.4014       2404.2054
+  22046604.3384  -13561183.84149 -10258424.20247  22046604.2914   22046608.9034
+     -3120.7694      -2431.7744
+  23399799.1134  -10161936.50149  -7868108.09346  23399798.3294   23399802.1074
+     -2964.7934      -2310.2234
+  20145902.7174  -24775751.83149 -19052629.71148  20145902.4094   20145905.8644
+      -736.5734       -573.9564
+ 05  1 20  3  8 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  21016458.1684  -19122164.77649 -14879467.21048  21016458.2664   21016463.2734
+      2044.5524       1593.1574
+  20872464.2414  -24153433.37349 -18802660.49448  20872463.8744   20872468.0044
+      1209.4844        942.4544
+  21278721.1594  -17022358.20049 -13243850.05948  21278721.2224   21278726.5684
+      2339.3864       1822.9004
+  22617758.2854  -13910385.60849 -10824533.33847  22617758.6344   22617760.4304
+      2282.5464       1778.6144
+  24767052.6344     -25350.68749    -18549.07245  24767052.3184   24767055.9634
+         8.8474          6.8924
+  24331051.4094   -2844521.89149  -1973966.44545  24331051.3194   24331055.4144
+      3079.7754       2399.8264
+  22064435.7564  -13467477.74249 -10185406.44847  22064434.8104   22064440.5534
+     -3126.2794      -2436.0604
+  23416729.3304  -10072967.44949  -7798781.53546  23416729.2244   23416731.3924
+     -2966.3994      -2311.4844
+  20150164.3044  -24753356.23149 -19035178.59548  20150163.9704   20150167.7464
+      -756.4474       -589.4394
+ 05  1 20  3  9  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  21004840.1054  -19183220.12049 -14927042.78748  21004839.7924   21004844.9584
+      2025.8064       1578.5484
+  20865579.9324  -24189611.18149 -18830851.00048  20865579.4684   20865583.5184
+      1202.3814        936.9184
+  21265409.2794  -17092318.60949 -13298364.66948  21265408.2924   21265413.6614
+      2324.6234       1811.3924
+  22604736.0434  -13978818.23549 -10877857.46647  22604736.5604   22604739.0204
+      2279.6344       1776.3384
+  24767048.4484     -25369.85649    -18564.00145  24767049.0714   24767054.0084
+        -7.6604         -5.9694
+  24313482.3974   -2936829.46349  -2045894.42445  24313484.1144   24313488.1304
+      3074.0754       2395.3814
+  22082298.8674  -13373607.22649 -10112260.60947  22082298.7134   22082303.8694
+     -3131.7514      -2440.3324
+  23433668.3354   -9983951.05149  -7729418.11046  23433667.5284   23433671.9784
+     -2967.9724      -2312.7084
+  20154540.2364  -24730364.66349 -19017263.09648  20154539.2694   20154542.8684
+      -776.3194       -604.9244
+ 05  1 20  3  9 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20993328.4274  -19243712.55149 -14974179.73348  20993328.5514   20993333.6624
+      2007.0124       1563.9064
+  20858736.2464  -24225575.71949 -18858875.31348  20858735.9874   20858739.7204
+      1195.2664        931.3744
+  21252180.0164  -17161835.79049 -13352533.89648  21252179.4874   21252184.5674
+      2309.8024       1799.8474
+  22591731.3194  -14047162.64349 -10931112.84847  22591731.0614   22591733.3284
+      2276.6654       1774.0214
+  24767138.6324     -24895.53549    -18194.42945  24767137.9624   24767142.4574
+       -23.9914        -18.6924
+  24295952.1824   -3028966.02149  -2117689.14645  24295952.0254   24295957.4814
+      3068.3664       2390.9304
+  22100192.1414  -13279574.48149 -10038988.33447  22100192.3034   22100197.4744
+     -3137.1124      -2444.5034
+  23450617.0404   -9894888.72149  -7660018.87646  23450616.9094   23450618.9494
+     -2969.4644      -2313.8624
+  20159028.1824  -24706777.45349 -18998883.45348  20159027.7004   20159031.2664
+      -796.2074       -620.4254
+ 05  1 20  3 10  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20981925.2964  -19303639.52749 -15020876.08148  20981924.9084   20981929.7374
+      1988.1174       1549.1794
+  20851932.8894  -24261325.85749 -18886732.55948  20851932.6854   20851936.5594
+      1188.0794        925.7784
+  21239037.1794  -17230907.04149 -13406355.66448  21239036.0014   21239040.7994
+      2294.9024       1788.2324
+  22578743.0554  -14115418.41749 -10984299.16647  22578742.5194   22578744.4254
+      2273.7234       1771.7344
+  24767322.7854     -23928.37149    -17440.78945  24767323.8954   24767328.2954
+       -40.3754        -31.4594
+  24278453.8534   -3120930.73849  -2189349.92645  24278452.8574   24278456.2594
+      3062.6404       2386.4714
+  22118116.0104  -13185381.87949  -9965591.50747  22118116.3114   22118121.3214
+     -3142.3944      -2448.6144
+  23467572.9054   -9805782.16749  -7590585.18346  23467573.0444   23467577.3374
+     -2970.9344      -2315.0014
+  20163629.7254  -24682594.12849 -18980039.30748  20163629.2614   20163633.0834
+      -816.0454       -635.8804
+ 05  1 20  3 10 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20970629.2284  -19362998.69949 -15067129.95348  20970628.9934   20970634.2614
+      1969.1494       1534.3994
+  20845170.8074  -24296860.55649 -18914421.93648  20845170.7754   20845174.6804
+      1180.8854        920.1684
+  21225977.7394  -17299529.68349 -13459827.85047  21225977.0424   21225982.3564
+      2279.9114       1776.5524
+  22565771.1754  -14183585.06549 -11037416.02647  22565770.5994   22565772.8214
+      2270.7334       1769.3974
+  24767602.7074     -22469.12849    -16303.74845  24767600.4814   24767603.6564
+       -56.9314        -44.3624
+  24260987.2134   -3212722.79149  -2260876.17545  24260984.8224   24260986.6804
+      3056.8344       2381.9524
+  22136070.8684  -13091031.50049  -9892071.72947  22136070.8394   22136075.9124
+     -3147.5914      -2452.6644
+  23484537.2194   -9716632.86549  -7521118.19646  23484536.8394   23484540.8944
+     -2972.3104      -2316.0834
+  20168345.4074  -24657815.20349 -18960731.05648  20168344.9584   20168348.2894
+      -835.8754       -651.3324
+ 05  1 20  3 11  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20959442.4084  -19421787.64649 -15112939.52148  20959442.3094   20959446.6374
+      1950.1064       1519.5654
+  20838450.8524  -24332178.88049 -18941942.69448  20838449.9144   20838453.6174
+      1173.6704        914.5484
+  21213005.6464  -17367701.05149 -13512948.39648  21213004.8234   21213010.0704
+      2264.8174       1764.7904
+  22552816.5404  -14251661.68149 -11090462.73947  22552816.0594   22552818.4924
+      2267.7374       1767.0854
+  24767974.4114     -20518.41149    -14783.70545  24767970.6234   24767974.7704
+       -73.2834        -57.1044
+  24243550.2124   -3304341.27449  -2332267.18245  24243549.6834   24243553.1764
+      3051.0354       2377.4334
+  22154055.5534  -12996525.93949  -9818431.01547  22154055.2174   22154059.7554
+     -3152.7564      -2456.6904
+  23501507.9044   -9627442.17349  -7451618.96646  23501509.5744   23501513.0744
+     -2973.6334      -2317.1204
+  20173174.1174  -24632441.18849 -18940959.10048  20173173.5084   20173176.9104
+      -855.7284       -666.7994
+ 05  1 20  3 11 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20948363.7634  -19480003.79049 -15158302.73148  20948364.0424   20948368.9694
+      1930.9664       1504.6454
+  20831770.5884  -24367279.94649 -18969294.18048  20831770.3854   20831774.2594
+      1166.4194        908.9004
+  21200119.5704  -17435418.42249 -13565715.18148  21200118.6184   21200123.4204
+      2249.6444       1752.9674
+  22539879.0274  -14319647.95949 -11143439.05747  22539878.6414   22539881.2984
+      2264.7004       1764.7094
+  24768437.2654     -18077.00748    -12881.31845  24768435.8014   24768440.8954
+       -89.4214        -69.6794
+  24226146.6584   -3395785.33549  -2403522.28445  24226147.1844   24226154.1424
+      3045.2374       2372.9104
+  22172067.0114  -12901867.25149  -9744671.00247  22172067.7464   22172072.4464
+     -3157.8294      -2460.6504
+  23518489.6654   -9538211.49549  -7382088.58146  23518489.4294   23518494.2774
+     -2974.9544      -2318.1384
+  20178115.7984  -24606472.48949 -18920723.75848  20178115.2994   20178118.5014
+      -875.5604       -682.2564
+ 05  1 20  3 12  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20937395.7964  -19537644.73649 -15203217.73248  20937395.5194   20937399.8854
+      1911.7474       1489.6734
+  20825132.5654  -24402162.87649 -18996475.68448  20825132.3874   20825136.3234
+      1159.1284        903.2184
+  21187319.6184  -17502679.45649 -13618126.37748  21187319.1104   21187324.2374
+      2234.3824       1741.0824
+  22526958.7164  -14387543.23049 -11196344.46847  22526958.6374   22526960.9374
+      2261.6264       1762.3004
+  24768989.6224     -15145.73848    -10597.20245  24768992.2324   24768999.6904
+      -105.7824        -82.4314
+  24208780.2564   -3487053.94349  -2474640.67745  24208780.4784   24208784.9594
+      3039.3764       2368.3474
+  22190108.7034  -12807057.76349  -9670793.49847  22190109.2324   22190114.8094
+     -3162.8454      -2464.5464
+  23535474.7334   -9448942.52149  -7312528.31746  23535475.4494   23535480.6354
+     -2976.2254      -2319.1324
+  20183170.3094  -24579909.20449 -18900025.09748  20183169.7754   20183173.5624
+      -895.3444       -697.6674
+ 05  1 20  3 12 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20926536.8254  -19594708.09949 -15247682.68148  20926536.4314   20926541.0124
+      1892.4674       1474.6504
+  20818536.3334  -24436826.87949 -19023486.59348  20818536.1744   20818539.9924
+      1151.8314        897.5294
+  21174607.3494  -17569481.58049 -13670179.98148  21174606.9904   21174612.3764
+      2219.0724       1729.1464
+  22514056.7204  -14455346.75549 -11249178.38547  22514056.9564   22514058.7224
+      2258.5744       1759.9264
+  24769645.6254     -11725.32449     -7931.93045  24769643.8254   24769649.8864
+      -122.2874        -95.2854
+  24191447.4544   -3578146.19449  -2545621.64045  24191446.4444   24191449.2874
+      3033.4944       2363.7564
+  22208179.6794  -12712099.58449  -9596800.10347  22208180.2884   22208184.1034
+     -3167.7254      -2468.3644
+  23552469.2644   -9359636.51049  -7242939.23546  23552470.1134   23552475.0864
+     -2977.4284      -2320.0654
+  20188338.2764  -24552751.61649 -18878863.34148  20188337.7884   20188341.5014
+      -915.1574       -713.1124
+ 05  1 20  3 13  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20915787.0504  -19651191.46249 -15291695.66848  20915787.5384   20915793.0564
+      1873.1004       1459.5524
+  20811981.9404  -24471271.07049 -19050326.23548  20811981.3084   20811985.2084
+      1144.4754        891.7974
+  21161983.5834  -17635822.02949 -13721873.83348  21161983.1124   21161988.2354
+      2203.6024       1717.0844
+  22501171.4784  -14523058.00449 -11301940.38047  22501171.1504   22501173.3384
+      2255.4984       1757.5284
+  24770387.7934      -7816.35049     -4885.99945  24770387.8844   24770394.0384
+      -138.3474       -107.8044
+  24174148.7234   -3669061.36249  -2616464.59745  24174146.7184   24174149.4624
+      3027.5504       2359.1284
+  22226277.7714  -12616995.36849  -9522692.91747  22226277.0184   22226281.9454
+     -3172.5544      -2472.1184
+  23569472.2524   -9270295.05249  -7173322.49946  23569471.6844   23569475.3814
+     -2978.5734      -2320.9714
+  20193619.2564  -24525000.10249 -18857238.79148  20193618.8204   20193622.2044
+      -934.9574       -728.5394
+ 05  1 20  3 13 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20905150.7514  -19707092.62449 -15335255.00448  20905150.5014   20905154.8174
+      1853.6394       1444.3994
+  20805469.5164  -24505494.69749 -19076993.99948  20805469.1514   20805472.6994
+      1137.0884        886.0444
+  21149447.7394  -17701698.16249 -13773205.88448  21149447.1734   21149452.7224
+      2188.0814       1705.0044
+  22488304.5034  -14590676.32149 -11354629.99147  22488304.2654   22488306.1544
+      2252.3884       1755.1144
+  24771221.1394      -3419.86249     -1460.15745  24771223.2134   24771228.6134
+      -154.7404       -120.5774
+  24156879.4114   -3759798.42349  -2687168.76245  24156878.5354   24156883.1844
+      3021.5184       2354.4284
+  22244401.7874  -12521746.97349  -9448473.40647  22244402.8864   22244407.1344
+     -3177.3504      -2475.8604
+  23586479.9534   -9180919.55249  -7103679.25646  23586479.8554   23586483.6454
+     -2979.7384      -2321.8734
+  20199013.1644  -24496655.15949 -18835151.83048  20199012.6434   20199016.3354
+      -954.7314       -743.9434
+ 05  1 20  3 14  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20894624.4604  -19762409.29149 -15378358.88448  20894624.1894   20894628.4974
+      1834.1354       1429.1964
+  20798999.4274  -24539496.63349 -19103489.00648  20798998.6454   20799002.3184
+      1129.6994        880.2844
+  21137000.8114  -17767107.40149 -13824174.11648  21137000.2424   21137005.7054
+      2172.4754       1692.8334
+  22475454.7204  -14658201.22649 -11407246.79647  22475454.4824   22475456.4184
+      2249.2804       1752.6824
+  24772154.1234       1463.53549      2345.06345  24772153.8384   24772159.3774
+      -170.9154       -133.1784
+  24139643.1174   -3850356.70549  -2757733.66045  24139644.2004   24139650.9404
+      3015.6084       2349.8224
+  22262555.1554  -12426356.93849  -9374143.49647  22262554.4214   22262559.7314
+     -3182.0194      -2479.4834
+  23603492.9634   -9091511.43249  -7034010.59946  23603493.2734   23603496.4614
+     -2980.7574      -2322.6624
+  20204519.6994  -24467717.27849 -18812602.83048  20204519.2964   20204522.7074
+      -974.4734       -759.3344
+ 05  1 20  3 14 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20884209.1964  -19817139.14249 -15421005.50048  20884209.2014   20884214.1074
+      1814.5344       1413.9234
+  20792571.2874  -24573276.05549 -19129810.63348  20792570.6214   20792574.3014
+      1122.2714        874.5024
+  21124643.4334  -17832047.11349 -13874776.50148  21124642.8794   21124648.1024
+      2156.7994       1680.6244
+  22462622.5674  -14725631.92849 -11459790.19347  22462622.8874   22462624.8694
+      2246.1224       1750.2244
+  24773171.3854       6832.70858      6528.82655  24773174.0994   24773177.7264
+      -187.0184       -145.7434
+  24122447.5014   -3940735.14049  -2828158.42745  24122449.5764   24122452.4874
+      3009.5424       2345.0954
+  22280732.5024  -12330827.39949  -9299704.91746  22280732.7604   22280738.0124
+     -3186.6364      -2483.0894
+  23620512.4704   -9002072.04849  -6964317.56746  23620512.8894   23620517.7164
+     -2981.7874      -2323.4644
+  20210139.3434  -24438186.62049 -18789591.93848  20210138.9414   20210142.3334
+      -994.2264       -774.7194
+ 05  1 20  3 15  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20873906.7384  -19871279.94049 -15463193.11248  20873906.4694   20873911.1314
+      1794.8584       1398.5884
+  20786185.6024  -24606831.81249 -19155957.97248  20786185.0294   20786189.0904
+      1114.7954        868.6734
+  21112375.8264  -17896514.82449 -13925011.08248  21112375.0364   21112380.5344
+      2141.0304       1668.3374
+  22449809.2234  -14792967.70949 -11512259.62847  22449809.2724   22449810.8684
+      2242.9534       1747.7564
+  24774286.0234      12686.86848     11090.54845  24774288.1104   24774295.0204
+      -203.0634       -158.2354
+  24105285.8544   -4030933.22749  -2898442.60745  24105284.3134   24105286.4814
+      3003.6184       2340.4814
+  22298937.6844  -12235160.34449  -9225159.16246  22298937.6754   22298942.5534
+     -3191.1334      -2486.5914
+  23637537.7534   -8912602.84849  -6894601.30446  23637538.1274   23637543.3504
+     -2982.7394      -2324.2084
+  20215872.0194  -24408063.71749 -18766119.55148  20215871.0654   20215874.6354
+     -1013.9574       -790.0944
+ 05  1 20  3 15 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20863716.3154  -19924829.44449 -15504919.99948  20863716.3644   20863721.1954
+      1775.1024       1383.1944
+  20779842.6784  -24640162.89349 -19181930.24548  20779842.1884   20779846.3764
+      1107.2824        862.8194
+  21100197.8184  -17960507.92549 -13974875.83948  21100197.2954   21100202.7404
+      2125.1424       1655.9534
+  22437014.0614  -14860207.86049 -11564654.54747  22437013.4454   22437015.9004
+      2239.7204       1745.2314
+  24775490.5864      19025.06348     16029.41345  24775493.1674   24775501.8724
+      -219.2864       -170.8684
+  24088158.0194   -4120949.70549  -2968585.29145  24088156.7444   24088157.6004
+      2997.5234       2335.7354
+  22317167.2044  -12139358.30549  -9150508.21246  22317168.1934   22317172.8604
+     -3195.6604      -2490.1234
+  23654568.5894   -8823105.38449  -6824863.02546  23654569.0184   23654575.1854
+     -2983.6444      -2324.9234
+  20221716.2104  -24377349.44149 -18742186.35748  20221715.7194   20221719.4034
+     -1033.6744       -805.4604
+ 05  1 20  3 16  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20853639.0704  -19977785.34049 -15546184.31148  20853639.0674   20853643.9944
+      1755.2714       1367.7464
+  20773542.7804  -24673268.20849 -19207726.59348  20773542.4184   20773546.8214
+      1099.7204        856.9224
+  21088111.5464  -18024023.97749 -14024368.86348  21088110.5964   21088115.9174
+      2109.2154       1643.5434
+  22424236.3944  -14927351.89849 -11616974.56847  22424236.6424   22424238.7574
+      2236.5064       1742.7364
+  24776792.0434      25846.41649     21344.74045  24776794.1184   24776799.2494
+      -235.5064       -183.5084
+  24071060.0044   -4210784.09049  -3038586.06245  24071058.5504   24071063.3084
+      2991.4784       2331.0184
+  22335424.7114  -12043423.15249  -9075753.55846  22335424.8114   22335429.1504
+     -3200.0434      -2493.5414
+  23671603.9334   -8733580.77649  -6755103.59846  23671605.1674   23671610.3594
+     -2984.5514      -2325.6274
+  20227673.4454  -24346044.24449 -18717792.69848  20227672.8634   20227676.5964
+     -1053.3674       -820.8014
+ 05  1 20  3 16 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20843675.3484  -20030145.50749 -15586984.42948  20843675.1644   20843679.8384
+      1735.4034       1352.2604
+  20767285.5304  -24706147.33349 -19233346.69748  20767285.9104   20767289.7994
+      1092.1364        851.0114
+  21076115.5774  -18087060.42149 -14073488.16648  21076115.1904   21076120.6024
+      2093.2544       1631.1124
+  22411480.0054  -14994399.05749 -11669219.11647  22411478.8514   22411479.6914
+      2233.3074       1740.2444
+  24778183.9404      33150.05649     27035.86745  24778184.2614   24778187.4764
+      -251.4524       -195.9344
+  24053997.8554   -4300435.20149  -3108444.07645  24053998.3864   24054003.7644
+      2985.3424       2326.2424
+  22353705.1074  -11947357.27549  -9000897.02946  22353704.6244   22353709.7764
+     -3204.3484      -2496.8954
+  23688645.3304   -8644030.66149  -6685324.30146  23688645.9544   23688650.5634
+     -2985.3964      -2326.2834
+  20233743.2054  -24314148.37249 -18692938.77848  20233742.5754   20233745.9084
+     -1073.0244       -836.1234
+ 05  1 20  3 17  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20833825.7724  -20081907.81949 -15627318.69648  20833825.5354   20833830.1894
+      1715.4124       1336.6814
+  20761073.1944  -24738798.99349 -19258789.55148  20761072.6964   20761076.2254
+      1084.5914        845.1314
+  21064212.6444  -18149614.64549 -14122231.72048  21064211.8834   21064216.8414
+      2077.0374       1618.4654
+  22398738.2014  -15061348.86649 -11721387.79647  22398737.9904   22398739.6914
+      2230.0164       1737.6714
+  24779664.0814      40934.94249     33101.99245  24779664.0754   24779670.8344
+      -267.4734       -208.4254
+  24036974.7344   -4389902.31549  -3178158.73345  24036973.9384   24036978.7964
+      2979.1444       2321.4124
+  22372010.1364  -11851162.88049  -8925940.36946  22372009.7784   22372015.1324
+     -3208.6424      -2500.2554
+  23705692.3294   -8554456.31549  -6615526.11046  23705691.8714   23705696.3994
+     -2986.1804      -2326.8934
+  20239925.2394  -24281662.55349 -18667625.16648  20239924.6634   20239927.9714
+     -1092.6914       -851.4524
+ 05  1 20  3 17 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20824088.8694  -20133070.05749 -15667185.35748  20824089.0664   20824093.8874
+      1695.3884       1321.0834
+  20754903.0944  -24771222.34049 -19284054.49748  20754902.6884   20754906.3344
+      1076.9734        839.2014
+  21052400.5704  -18211684.40249 -14170597.74848  21052400.1514   21052404.9814
+      2060.8784       1605.8774
+  22386016.0984  -15128200.45149 -11773479.92347  22386016.3634   22386018.4724
+      2226.7464       1735.1254
+  24781237.6044      49200.24549     39542.51545  24781237.5834   24781243.8094
+      -283.5374       -220.9344
+  24019985.6224   -4479184.76549  -3247729.43445  24019984.5554   24019988.5214
+      2973.0014       2316.6234
+  22390339.5774  -11754841.97849  -8850885.12046  22390339.3354   22390344.4614
+     -3212.7874      -2503.4724
+  23722741.7534   -8464859.02249  -6545710.04246  23722741.7524   23722746.1004
+     -2986.9344      -2327.4734
+  20246218.4384  -24248587.35649 -18641852.28448  20246218.3064   20246221.9674
+     -1112.3244       -866.7444
+ 05  1 20  3 18  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20814468.5614  -20183630.11549 -15706582.80148  20814468.2764   20814472.9464
+      1675.2784       1305.4064
+  20748776.7154  -24803416.35449 -19309140.74348  20748776.4684   20748780.0514
+      1069.3164        833.2304
+  21040681.7534  -18273266.99249 -14218584.18548  21040681.1164   21040686.2844
+      2044.5834       1593.1784
+  22373314.1924  -15194953.06449 -11825494.94647  22373313.6974   22373316.1794
+      2223.4344       1732.5474
+  24782900.5154      57945.00549     46356.63645  24782901.9794   24782907.1124
+      -299.4874       -233.3684
+  24003032.2554   -4568281.91049  -3317155.78745  24003031.7214   24003034.2204
+      2966.7664       2311.7674
+  22408691.0584  -11658396.90049  -8775733.11346  22408692.4624   22408696.5014
+     -3216.9164      -2506.7014
+  23739795.1664   -8375240.19849  -6475877.18546  23739794.7954   23739799.9394
+     -2987.6224      -2328.0174
+  20252625.2534  -24214923.46849 -18615620.68548  20252624.5784   20252627.9014
+     -1131.9464       -882.0384
+ 05  1 20  3 18 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20804962.7414  -20233585.90849 -15745509.37548  20804962.3784   20804966.5164
+      1655.0934       1289.6814
+  20742694.4544  -24835380.21549 -19334047.64648  20742693.7364   20742697.7074
+      1061.6254        827.2424
+  21029056.0274  -18334359.97949 -14266189.10648  21029055.5614   21029060.7764
+      2028.2214       1580.4304
+  22360629.4744  -15261606.25449 -11877432.48647  22360629.8214   22360632.6034
+      2220.1024       1729.9444
+  24784656.7694      67168.02649     53543.36945  24784657.3564   24784662.1554
+      -315.4004       -245.7634
+  23986111.4444   -4657192.72249  -3386436.90545  23986109.4624   23986112.5904
+      2960.5414       2306.9124
+  22427067.8494  -11561829.68549  -8700485.94046  22427068.7394   22427072.6934
+     -3220.9324      -2509.8204
+  23756852.5744   -8285601.26149  -6406028.66346  23756852.9184   23756857.2814
+     -2988.3644      -2328.6044
+  20259142.9334  -24180671.57949 -18588930.90948  20259142.4014   20259145.9234
+     -1151.5194       -897.2934
+ 05  1 20  3 19  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20795571.2694  -20282935.31949 -15783963.45448  20795571.2734   20795575.8194
+      1634.8574       1273.9164
+  20736655.1794  -24867112.85749 -19358774.38148  20736655.1544   20736659.1614
+      1053.8954        821.2214
+  21017524.0354  -18394960.96849 -14313410.65648  21017523.5974   21017529.0534
+      2011.8024       1567.6464
+  22347965.6744  -15328159.15749 -11929291.89547  22347965.4894   22347967.9384
+      2216.7664       1727.3554
+  24786501.3444      76868.28449     61101.99245  24786502.2084   24786507.6844
+      -331.3114       -258.1604
+  23969224.6084   -4745916.47249  -3455572.29845  23969225.0644   23969230.4024
+      2954.3244       2302.0694
+  22445466.3774  -11465142.59649  -8625145.35246  22445467.1924   22445472.0274
+     -3224.8614      -2512.8714
+  23773914.7614   -8195943.37749  -6336165.37046  23773913.8834   23773919.2764
+     -2988.8484      -2328.9624
+  20265772.5224  -24145832.17749 -18561783.32448  20265771.8564   20265775.8994
+     -1171.1054       -912.5474
+ 05  1 20  3 19 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20786295.9664  -20331676.21749 -15821943.36648  20786295.8394   20786300.6884
+      1614.5334       1258.0754
+  20730661.4804  -24898613.16549 -19383320.07748  20730661.0554   20730664.6604
+      1046.1244        815.1594
+  21006086.5044  -18455067.46949 -14360246.88448  21006085.7144   21006090.7244
+      1995.2724       1554.7574
+  22335320.7504  -15394611.13649 -11981072.66047  22335320.3984   22335322.5544
+      2213.3974       1724.7184
+  24788440.1054      87044.78049     69031.72845  24788439.0164   24788443.1784
+      -347.1234       -270.4864
+  23952379.7064   -4834452.21149  -3524561.18945  23952379.9574   23952384.6574
+      2947.9824       2297.1274
+  22463888.5984  -11368337.39149  -8549712.72346  22463888.5064   22463892.4074
+     -3228.7874      -2515.9434
+  23790980.0984   -8106268.16049  -6266288.59946  23790978.7004   23790983.5754
+     -2989.4354      -2329.4314
+  20272514.0814  -24110405.91749 -18534178.45748  20272513.5684   20272516.8754
+     -1190.6424       -927.7744
+ 05  1 20  3 20  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20777136.2754  -20379806.73749 -15859447.65248  20777136.7034   20777141.6864
+      1594.1374       1242.1834
+  20724711.6134  -24929880.48449 -19407684.22348  20724710.9014   20724714.7784
+      1038.3494        809.1014
+  20994742.3544  -18514676.99649 -14406695.86548  20994742.2644   20994747.2214
+      1978.6554       1541.8074
+  22322694.1644  -15460961.39649 -12032774.15847  22322694.3454   22322696.3804
+      2209.9744       1722.0554
+  24790467.6454      97696.42949     77331.70845  24790467.2024   24790472.4694
+      -362.8724       -282.7584
+  23935567.9254   -4922799.13049  -3593402.91945  23935567.6124   23935571.9274
+      2941.7064       2292.2424
+  22482332.9094  -11271416.66049  -8474190.09546  22482332.8064   22482337.4974
+     -3232.6044      -2518.9154
+  23808046.5364   -8016576.60549  -6196399.07846  23808046.4434   23808050.3544
+     -2989.9374      -2329.8254
+  20279366.4584  -24074393.68249 -18506116.97948  20279365.9764   20279370.0874
+     -1210.1614       -942.9864
+ 05  1 20  3 20 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20768094.9084  -20427324.81649 -15896474.72048  20768094.5424   20768099.1124
+      1573.7214       1226.2744
+  20718805.7644  -24960913.58749 -19431865.86648  20718805.4824   20718809.5204
+      1030.5254        803.0104
+  20983494.7594  -18573786.93549 -14452755.55548  20983494.1264   20983499.5734
+      1961.9804       1528.8194
+  22310087.8824  -15527209.13149 -12084395.77247  22310087.2494   22310089.5684
+      2206.5444       1719.3854
+  24792583.2354     108822.14849     86001.05845  24792582.8834   24792586.5184
+      -378.7334       -295.1154
+  23918791.9504   -5010956.57449  -3662097.02045  23918792.3184   23918796.3794
+      2935.4414       2287.3524
+  22500797.4644  -11174382.18549  -8398578.80746  22500797.3264   22500801.6564
+     -3236.3604      -2521.8434
+  23825116.6654   -7926870.17749  -6126497.96946  23825116.6164   23825121.4564
+     -2990.4064      -2330.1944
+  20286331.8054  -24037796.21549 -18477599.48048  20286330.7584   20286334.3724
+     -1229.6804       -958.1934
+ 05  1 20  3 21  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20759169.1044  -20474228.59149 -15933023.10848  20759169.0214   20759173.8894
+      1553.2064       1210.2864
+  20712945.2174  -24991711.65049 -19455864.35248  20712944.9054   20712948.8504
+      1022.7004        796.9094
+  20972341.8484  -18632394.86049 -14498424.06548  20972341.7294   20972346.5864
+      1945.1954       1515.7364
+  22297500.6454  -15593353.92549 -12135937.16947  22297500.6344   22297502.5144
+      2203.1124       1716.7064
+  24794789.3284     120420.67749     95038.86245  24794790.3654   24794795.3694
+      -394.5284       -307.4274
+  23902053.2384   -5098923.66149  -3730642.78045  23902052.6604   23902056.0594
+      2929.0374       2282.3704
+  22519283.0604  -11077235.98049  -8322880.46646  22519283.9104   22519287.1924
+     -3240.0414      -2524.7074
+  23842191.4034   -7837150.25349  -6056586.34746  23842190.9354   23842194.4774
+     -2990.8854      -2330.5564
+  20293407.0194  -24000614.16649 -18448626.46748  20293406.3164   20293409.7384
+     -1249.1164       -973.3384
+ 05  1 20  3 21 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20750360.5444  -20520516.05649 -15969091.25748  20750360.9134   20750365.7984
+      1532.6054       1194.2374
+  20707130.0714  -25022274.06849 -19479679.23348  20707129.1924   20707132.8234
+      1014.8034        790.7564
+  20961285.9364  -18690498.51349 -14543699.63148  20961284.8104   20961290.2724
+      1928.3444       1502.6034
+  22284934.0854  -15659395.10249 -12187397.82747  22284933.6364   22284935.4474
+      2199.6134       1713.9884
+  24797087.8434     132491.05749    104444.30545  24797087.6324   24797092.3584
+      -410.2094       -319.6464
+  23885348.0344   -5186699.94449  -3799039.87645  23885348.2934   23885351.5284
+      2922.6174       2277.3734
+  22537791.0534  -10979980.43949  -8247096.90946  22537791.0724   22537796.2554
+     -3243.6894      -2527.5394
+  23859266.6564   -7747418.04849  -5986665.15046  23859266.1994   23859270.4164
+     -2991.2704      -2330.8474
+  20300593.0124  -23962848.84049 -18419198.94548  20300592.5574   20300596.4194
+     -1268.5744       -988.4964
+ 05  1 20  3 22  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20741670.5024  -20566185.24449 -16004677.63848  20741670.1324   20741674.9224
+      1511.9644       1178.1534
+  20701359.0424  -25052599.18049 -19503309.18448  20701358.4034   20701361.9784
+      1006.8634        784.5714
+  20950325.7494  -18748095.49949 -14588580.40248  20950324.6714   20950329.8024
+      1911.4154       1489.4154
+  22272386.1134  -15725331.39749 -12238776.75547  22272386.2524   22272388.4064
+      2196.1114       1711.2574
+  24799474.3284     145032.17649    114216.60945  24799473.5494   24799477.3884
+      -425.9574       -331.9164
+  23868682.8744   -5274284.55649  -3867287.58845  23868681.6724   23868686.7894
+      2916.2684       2272.4164
+  22556319.0404  -10882617.54049  -8171229.73546  22556318.9294   22556323.1824
+     -3247.2264      -2530.3064
+  23876343.3474   -7657674.67149  -5916735.28046  23876343.1984   23876348.0744
+     -2991.5364      -2331.0714
+  20307890.8034  -23924500.57249 -18389317.18548  20307890.0424   20307893.7424
+     -1288.0034      -1003.6384
+ 05  1 20  3 22 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20733097.9624  -20611234.17849 -16039780.69748  20733098.0644   20733102.5554
+      1491.2774       1162.0304
+  20695633.4504  -25082685.82249 -19526753.31548  20695633.0314   20695636.8834
+       998.8874        778.3504
+  20939461.5824  -18805183.39549 -14633064.47448  20939461.0584   20939466.3474
+      1894.4084       1476.1634
+  22259859.6624  -15791162.18449 -12290073.47547  22259859.0564   22259861.3004
+      2192.5914       1708.5104
+  24801949.2284     158042.72349    124354.72545  24801949.4654   24801954.9894
+      -441.5574       -344.0724
+  23852051.7844   -5361676.45049  -3935385.12345  23852052.1474   23852056.5844
+      2909.8504       2267.4194
+  22574866.8444  -10785149.36149  -8095280.49946  22574866.6904   22574871.0274
+     -3250.6734      -2533.0074
+  23893423.0794   -7567921.68949  -5846797.89046  23893422.5884   23893428.1774
+     -2991.9014      -2331.3544
+  20315299.0674  -23885569.97649 -18358981.66148  20315298.4264   20315301.9434
+     -1307.4134      -1018.7684
+ 05  1 20  3 23  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20724643.9864  -20655661.22249 -16074399.17248  20724643.5964   20724648.1824
+      1470.5104       1145.8514
+  20689953.5084  -25112533.15749 -19550010.98648  20689953.3854   20689957.1044
+       990.9094        772.1364
+  20928696.0194  -18861759.82349 -14677150.00748  20928694.8644   20928699.9354
+      1877.3084       1462.8374
+  22247351.9764  -15856886.84049 -12341287.47847  22247351.9504   22247354.1004
+      2189.0394       1705.7444
+  24804512.9094     171521.51349    134857.69045  24804513.7124   24804522.5494
+      -457.1784       -356.2384
+  23835459.7964   -5448874.94749  -4003332.01745  23835458.5254   23835461.5144
+      2903.3534       2262.3534
+  22593434.3624  -10687577.79549  -8019250.71546  22593433.4244   22593437.3814
+     -3254.1174      -2535.6754
+  23910502.9924   -7478160.17849  -5776853.85745  23910504.3464   23910508.5054
+     -2992.1804      -2331.5604
+  20322818.0944  -23846057.98949 -18328193.10848  20322817.3954   20322820.6424
+     -1326.7564      -1033.8384
+ 05  1 20  3 23 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20716307.8294  -20699464.32749 -16108531.45548  20716307.9614   20716313.2234
+      1449.6964       1129.6364
+  20684319.2014  -25142140.61049 -19573081.73548  20684319.1004   20684323.1384
+       982.9214        765.9194
+  20918026.9244  -18917822.22749 -14720835.00048  20918026.4814   20918031.6864
+      1860.1504       1449.4714
+  22234866.1754  -15922504.60449 -12392418.21047  22234865.6454   22234867.9384
+      2185.4664       1702.9654
+  24807169.8934     185467.27549    145724.50845  24807168.4644   24807174.1864
+      -472.5834       -368.2474
+  23818901.8764   -5535879.53149  -4071127.76945  23818900.9374   23818906.2914
+      2896.9564       2257.3724
+  22612019.1934  -10589904.81049  -7943141.90546  22612019.7864   22612024.5574
+     -3257.4434      -2538.2584
+  23927587.9214   -7388391.37549  -5706904.15545  23927586.9494   23927591.2754
+     -2992.4124      -2331.7544
+  20330447.5704  -23805965.77449 -18296952.43348  20330446.7064   20330450.0634
+     -1346.0694      -1048.8824
+ 05  1 20  3 24  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20708092.1464  -20742641.70049 -16142176.17048  20708091.7554   20708096.1924
+      1428.8074       1113.3584
+  20678731.3224  -25171506.97349 -19595964.61448  20678730.8424   20678735.1364
+       974.8614        759.6334
+  20907456.6204  -18973368.46849 -14764117.78248  20907456.0524   20907461.3654
+      1842.9034       1436.0324
+  22222400.4524  -15988014.73049 -12443465.05947  22222399.7904   22222401.4924
+      2181.8804       1700.1694
+  24809908.5494     199878.77748    156954.31045  24809910.0304   24809916.3934
+      -488.1464       -380.3764
+  23802381.8394   -5622689.39149  -4138771.82445  23802382.3334   23802387.6884
+      2890.3754       2252.2424
+  22630625.2204  -10492132.65849  -7866955.78746  22630625.1184   22630629.3954
+     -3260.7344      -2540.8354
+  23944666.8384   -7298616.68149  -5636949.81545  23944668.8434   23944675.7954
+     -2992.5504      -2331.8494
+  20338186.6064  -23765294.32149 -18265260.39548  20338185.8594   20338189.6814
+     -1365.3564      -1063.9164
+ 05  1 20  3 24 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20699994.8944  -20785191.69549 -16175332.00148  20699994.8404   20699999.3464
+      1407.8514       1097.0234
+  20673189.3014  -25200631.30449 -19618658.90048  20673188.7694   20673192.8234
+       966.7584        753.3194
+  20896985.7194  -19028396.20649 -14806996.54148  20896984.9154   20896990.0474
+      1825.5624       1422.5114
+  22209953.5424  -16053416.53649 -12494427.50547  22209953.4594   22209955.7874
+      2178.2374       1697.3244
+  24812740.3114     214754.70549    168545.97345  24812740.8904   24812748.2964
+      -503.6454       -392.4494
+  23785899.4454   -5709303.93549  -4206263.66545  23785899.1284   23785903.1744
+      2883.9164       2247.2084
+  22649248.3324  -10394263.31449  -7790693.97046  22649248.9494   22649253.8424
+     -3263.9034      -2543.3064
+  23961754.5074   -7208837.23949  -5566991.79245  23961754.3814   23961758.2044
+     -2992.6354      -2331.9284
+  20346035.8074  -23724044.48749 -18233117.67748  20346035.3964   20346039.1964
+     -1384.6394      -1078.9414
+ 05  1 20  3 25  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20692017.7744  -20827112.47049 -16207997.54348  20692017.6374   20692021.8434
+      1386.8494       1080.6654
+  20667693.4664  -25229512.52849 -19641163.75048  20667692.9224   20667696.8644
+       958.6604        747.0134
+  20886613.2384  -19082902.97049 -14849469.33348  20886612.3464   20886617.7664
+      1808.1744       1408.9674
+  22197528.6674  -16118709.25549 -12545304.94147  22197528.7864   22197531.1784
+      2174.5814       1694.4854
+  24815662.8294     230093.79249    180498.52145  24815660.9864   24815665.3894
+      -519.0214       -404.4374
+  23769455.1304   -5795722.36449  -4273602.67045  23769455.4954   23769458.3674
+      2877.3484       2242.0934
+  22667890.3664  -10296298.69649  -7714357.89846  22667890.5034   22667895.9044
+     -3267.0614      -2545.7714
+  23978840.0774   -7119054.23149  -5497031.03845  23978840.0364   23978844.7644
+     -2992.7414      -2332.0084
+  20353995.4704  -23682217.20949 -18200524.99448  20353994.9934   20353998.6414
+     -1403.8624      -1093.9134
+ 05  1 20  3 25 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20684160.8564  -20868402.17249 -16240171.33048  20684160.1954   20684165.0234
+      1365.7814       1064.2434
+  20662244.2254  -25258149.68949 -19663478.42548  20662243.5934   20662247.2874
+       950.4984        740.6494
+  20876340.6864  -19136886.40249 -14891534.34448  20876339.7364   20876345.2934
+      1790.6804       1395.3354
+  22185125.4454  -16183892.15549 -12596096.81547  22185125.0524   22185127.5224
+      2170.9094       1691.6214
+  24818667.9114     245894.85349    192811.04745  24818668.4284   24818672.3784
+      -534.4494       -416.4564
+  23753049.3024   -5881943.90249  -4340788.28446  23753048.3864   23753052.3954
+      2870.7684       2236.9654
+  22686549.3864  -10198240.81949  -7637949.19146  22686550.5914   22686556.2534
+     -3270.1074      -2548.1404
+  23995922.7714   -7029268.82949  -5427068.40145  23995924.5504   23995930.5144
+     -2992.8864      -2332.1184
+  20362065.0064  -23639813.38449 -18167483.06248  20362064.4754   20362068.2114
+     -1423.0764      -1108.8884
+ 05  1 20  3 26  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20676423.5294  -20909059.19449 -16271852.12248  20676423.7324   20676428.0704
+      1344.6774       1047.8004
+  20656840.9544  -25286541.49249 -19685601.90348  20656840.6474   20656844.3494
+       942.2994        734.2594
+  20866168.1674  -19190344.33249 -14933189.86848  20866167.3934   20866172.5784
+      1773.1564       1381.6804
+  22172742.9664  -16248964.38849 -12646802.45247  22172742.2814   22172744.7724
+      2167.2334       1688.7564
+  24821761.7414     262156.81049    205482.69145  24821761.2254   24821767.6914
+      -549.6824       -428.3204
+  23736680.1814   -5967967.99649  -4407820.02345  23736678.6224   23736681.7074
+      2864.1834       2231.8314
+  22705228.1724  -10100091.54449  -7561469.21946  22705227.9564   22705232.3904
+     -3273.1784      -2550.5174
+  24013010.9374   -6939482.38849  -5357104.94245  24013011.0704   24013015.1964
+     -2992.8464      -2332.0854
+  20370243.2604  -23596834.14549 -18133992.75248  20370242.9854   20370246.6174
+     -1442.2174      -1123.8054
+ 05  1 20  3 26 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20668807.7864  -20949081.73949 -16303038.52448  20668807.5014   20668812.5304
+      1323.4804       1031.2834
+  20651484.8814  -25314686.93949 -19707533.42348  20651484.8684   20651488.5264
+       934.0654        727.8444
+  20856095.0764  -19243274.48049 -14974434.14548  20856095.0454   20856100.0564
+      1755.4924       1367.9174
+  22160380.9124  -16313925.01049 -12697421.12647  22160380.7464   22160382.6744
+      2163.4804       1685.8344
+  24824943.4724     278877.85049    218512.06945  24824943.2754   24824949.4644
+      -565.0374       -440.2904
+  23720345.3714   -6053793.74049  -4474697.22246  23720345.3484   23720351.0494
+      2857.4944       2226.6144
+  22723922.2744  -10001853.07049  -7484919.74546  22723922.0034   22723927.2234
+     -3276.0834      -2552.7974
+  24030097.3204   -6849695.97249  -5287141.49445  24030095.9354   24030100.4704
+     -2992.8144      -2332.0684
+  20378531.5294  -23553280.56549 -18100054.90748  20378530.9844   20378534.5754
+     -1461.3544      -1138.7134
+ 05  1 20  3 27  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20661312.9884  -20988468.10449 -16333729.19248  20661312.7374   20661317.2294
+      1302.2414       1014.7334
+  20646176.0324  -25342585.38849 -19729272.46948  20646175.9474   20646179.4704
+       925.8094        721.4114
+  20846124.7504  -19295674.47849 -15015265.31648  20846123.8524   20846128.9284
+      1737.7894       1354.1224
+  22148040.0494  -16378773.31149 -12747952.25947  22148039.9584   22148042.6184
+      2159.7274       1682.9074
+  24828211.8104     296056.69349    231898.21245  24828212.4344   24828217.9774
+      -580.2034       -452.1124
+  23704051.6164   -6139420.52649  -4541419.36946  23704051.3434   23704056.1404
+      2850.9324       2221.5134
+  22742632.2264   -9903527.39649  -7408302.34346  22742632.7914   22742637.6134
+     -3278.9974      -2555.0674
+  24047183.2784   -6759910.85749  -5217179.07745  24047183.8384   24047186.2984
+     -2992.8024      -2332.0594
+  20386928.3434  -23509153.61649 -18065670.27848  20386927.9794   20386931.7804
+     -1480.4584      -1153.6014
+ 05  1 20  3 27 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20653939.0364  -21027216.73849 -16363922.93648  20653939.1374   20653943.7714
+      1280.9814        998.1674
+  20640915.0794  -25370235.84549 -19750818.28648  20640914.4104   20640917.9934
+       917.5474        714.9724
+  20836254.5784  -19347542.24149 -15055681.75748  20836253.6054   20836258.6994
+      1720.0064       1340.2674
+  22135721.6214  -16443508.35149 -12798395.15747  22135721.7604   22135723.6854
+      2155.9174       1679.9404
+  24831568.7494     313692.21949    245640.15645  24831568.4574   24831571.9564
+      -595.4914       -464.0214
+  23687795.1894   -6224847.77249  -4607986.04345  23687795.3624   23687798.1954
+      2844.2464       2216.2934
+  22761358.5924   -9805116.20849  -7331618.31746  22761359.3504   22761365.2594
+     -3281.7294      -2557.1904
+  24064268.9774   -6670128.11849  -5147218.50845  24064268.3194   24064272.2884
+     -2992.6544      -2331.9334
+  20395435.1484  -23464454.22449 -18030839.59748  20395434.2204   20395437.7374
+     -1499.5074      -1168.4504
+ 05  1 20  3 28  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20646688.0504  -21065326.15349 -16393618.57748  20646687.3074   20646691.4824
+      1259.6364        981.5414
+  20635700.4314  -25397636.90249 -19772169.75948  20635700.0264   20635703.8664
+       909.2054        708.4764
+  20826485.1214  -19398875.56949 -15095681.74748  20826484.7914   20826490.8804
+      1702.1764       1326.3744
+  22123424.8634  -16508129.31449 -12848749.14847  22123424.7894   22123426.9664
+      2152.1264       1676.9874
+  24835011.3254     331782.96149    259736.83345  24835011.1294   24835016.9174
+      -610.5384       -475.7494
+  23671579.0534   -6310074.67649  -4674396.63046  23671577.2144   23671580.4754
+      2837.5324       2211.0644
+  22780102.3784   -9706621.67249  -7254869.33346  22780102.5974   22780108.3204
+     -3284.5804      -2559.4084
+  24081350.5464   -6580349.15449  -5077260.84745  24081350.4054   24081355.6264
+     -2992.5224      -2331.8354
+  20404048.8714  -23419183.73249 -17995563.89748  20404048.6734   20404052.4914
+     -1518.5244      -1183.2604
+ 05  1 20  3 28 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20639557.0734  -21102794.53949 -16422814.70948  20639556.9264   20639561.7414
+      1238.2454        964.8664
+  20630533.7134  -25424787.66749 -19793326.19848  20630533.4494   20630536.9804
+       900.8594        701.9714
+  20816819.3194  -19449672.11649 -15135263.46848  20816818.7114   20816824.0124
+      1684.2424       1312.3974
+  22111150.1114  -16572635.44149 -12899013.65547  22111149.3344   22111151.8144
+      2148.3024       1674.0034
+  24838542.7814     350327.62249    274187.23845  24838542.4574   24838545.2424
+      -625.7414       -487.5914
+  23655397.8884   -6395100.41249  -4740650.40246  23655396.6994   23655401.3764
+      2830.8394       2205.8444
+  22798861.6514   -9608045.65549  -7178056.86346  22798861.3574   22798866.0754
+     -3287.1824      -2561.4414
+  24098434.1244   -6490574.84549  -5007306.83645  24098434.6464   24098440.9114
+     -2992.3114      -2331.6664
+  20412772.2344  -23373343.17149 -17959843.98948  20412772.1184   20412775.5454
+     -1537.4954      -1198.0434
+ 05  1 20  3 29  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20632548.9674  -21139620.36749 -16451510.17048  20632549.2794   20632554.1644
+      1216.8214        948.1744
+  20625415.6114  -25451687.20649 -19814286.88248  20625414.7724   20625418.3564
+       892.4784        695.4414
+  20807255.6534  -19499929.64849 -15174425.18448  20807255.1044   20807260.3114
+      1666.2354       1298.3694
+  22098896.0264  -16637026.10349 -12949188.19047  22098896.3884   22098898.6574
+      2144.4224       1670.9804
+  24842159.2924     369324.51449    288989.99845  24842156.1674   24842160.1514
+      -640.7654       -499.2964
+  23639254.9674   -6479924.59149  -4806747.15945  23639254.1784   23639259.0484
+      2824.1414       2200.6314
+  22817635.0644   -9509389.88649  -7101182.24146  22817635.0094   22817640.1824
+     -3289.8224      -2563.4944
+  24115517.1874   -6400806.64449  -4937357.56746  24115517.9994   24115522.2094
+     -2992.0964      -2331.4994
+  20421603.7474  -23326933.83449 -17923680.88848  20421603.3294   20421606.7784
+     -1556.4364      -1212.8054
+ 05  1 20  3 29 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20625663.5514  -21175802.17549 -16479703.78648  20625663.8874   20625669.0494
+      1195.3244        931.4244
+  20620344.1524  -25478334.41849 -19835050.95048  20620343.8214   20620347.6454
+       884.0164        688.8474
+  20797795.6154  -19549645.86549 -15213165.10648  20797794.6264   20797799.6604
+      1648.1674       1284.2904
+  22086665.9544  -16701300.27349 -12999271.95947  22086665.3834   22086667.5864
+      2140.5294       1667.9464
+  24845857.7934     388772.36449    304144.15045  24845857.7224   24845862.9884
+      -655.7334       -510.9634
+  23623152.0094   -6564546.52849  -4872686.32445  23623152.3694   23623155.5784
+      2817.3484       2195.3394
+  22836423.2194   -9410656.50749  -7024247.14346  22836422.6654   22836427.7664
+     -3292.3854      -2565.4974
+  24132600.3404   -6311045.39449  -4867413.73746  24132599.5584   24132602.9834
+     -2991.8584      -2331.3164
+  20430543.5124  -23279956.75149 -17887075.37348  20430542.9684   20430546.5014
+     -1575.3554      -1227.5464
+ 05  1 20  3 30  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20618901.6804  -21211338.60349 -16507394.51348  20618901.5374   20618906.2864
+      1173.7804        914.6344
+  20615321.5984  -25504728.30749 -19855617.60348  20615320.9764   20615325.1584
+       875.5584        682.2554
+  20788437.6044  -19598818.75949 -15251481.64148  20788437.0564   20788442.4034
+      1630.0244       1270.1504
+  22074456.7654  -16765456.94849 -13049264.16147  22074457.2504   22074458.8014
+      2136.5874       1664.8784
+  24849644.1314     408669.70649    319648.56545  24849644.4914   24849649.0014
+      -670.6944       -522.6224
+  23607087.5344   -6648965.44349  -4938467.26746  23607089.0544   23607091.2614
+      2810.6124       2190.0834
+  22855224.9564   -9311847.35249  -6947252.99846  22855225.3724   22855230.2854
+     -3294.9174      -2567.4704
+  24149677.5264   -6221292.32849  -4797476.28246  24149677.6224   24149682.7814
+     -2991.5814      -2331.1054
+  20439590.2994  -23232413.17749 -17850028.44448  20439589.8364   20439593.5814
+     -1594.2034      -1242.2374
+ 05  1 20  3 30 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20612263.2624  -21246228.19849 -16534581.21148  20612262.6084   20612267.4834
+      1152.1874        897.8084
+  20610347.2974  -25530867.69549 -19875985.95448  20610346.9374   20610350.5844
+       867.0574        675.6264
+  20779184.4644  -19647446.23049 -15289373.17348  20779183.4984   20779188.7374
+      1611.7914       1255.9404
+  22062271.2164  -16829495.49949 -13099164.32447  22062270.5784   22062272.7934
+      2132.6254       1661.7864
+  24853517.0794     429015.08149    335502.09245  24853515.8244   24853518.3564
+      -685.6734       -534.2944
+  23591063.1234   -6733180.93249  -5004089.70046  23591062.3634   23591065.4584
+      2803.7614       2184.7444
+  22874042.6174   -9212964.32649  -6870201.29546  22874042.2714   22874047.4274
+     -3297.3064      -2569.3194
+  24166756.2954   -6131548.55449  -4727546.06846  24166756.4454   24166759.3644
+     -2991.2514      -2330.8434
+  20448745.5354  -23184304.36749 -17812541.06448  20448744.9964   20448748.4454
+     -1613.0474      -1256.9204
+ 05  1 20  3 31  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20605746.6134  -21280469.47849 -16561262.73048  20605746.5874   20605750.9864
+      1130.5534        880.9584
+  20605421.8244  -25556751.48449 -19896155.15248  20605421.2014   20605425.3314
+       858.4994        668.9624
+  20770035.1334  -19695526.14549 -15326838.04648  20770034.7124   20770039.6624
+      1593.5034       1241.6964
+  22050106.8614  -16893414.99849 -13148971.71147  22050106.7334   22050109.6864
+      2128.6564       1658.6924
+  24857463.7024     449807.10648    351703.67644  24857468.6824   24857475.7604
+      -700.4944       -545.8504
+  23575077.6784   -6817192.44749  -5069553.21246  23575076.0894   23575080.2054
+      2796.9494       2179.4504
+  22892873.5824   -9114009.32049  -6793093.49346  22892873.2564   22892878.1324
+     -3299.6994      -2571.1964
+  24183831.1594   -6041815.21849  -4657623.98646  24183831.3724   24183835.8134
+     -2990.8794      -2330.5554
+  20458007.2534  -23135631.41349 -17774614.09748  20458006.7804   20458010.5074
+     -1631.8334      -1271.5534
+ 05  1 20  3 31 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20599354.8104  -21314060.82849 -16587437.80848  20599354.2734   20599359.0174
+      1108.8934        864.0734
+  20600545.3654  -25582378.59449 -19916124.33348  20600544.5904   20600548.7354
+       849.9654        662.3144
+  20760990.7574  -19743056.28149 -15363874.51748  20760989.9624   20760994.6364
+      1575.1714       1227.4084
+  22037965.6194  -16957214.54549 -13198685.64047  22037966.0914   22037968.8354
+      2124.6574       1655.5794
+  24861514.0404     471044.01748    368251.95144  24861509.2614   24861519.4004
+      -715.2614       -557.3264
+  23559128.6774   -6900999.00849  -5134857.02846  23559127.9664   23559132.5824
+      2790.1544       2174.1424
+  22911716.5494   -9014983.89849  -6715930.82946  22911717.9114   22911721.5624
+     -3301.9664      -2572.9684
+  24200904.2424   -5952093.46349  -4587710.95546  24200904.9984   24200909.6184
+     -2990.4724      -2330.2304
+  20467376.9444  -23086395.66349 -17736248.58448  20467376.3284   20467379.9824
+     -1650.5274      -1286.1264
+ 05  1 20  3 32  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20593086.3564  -21347001.14349 -16613105.58648  20593085.8964   20593090.7234
+      1087.1484        847.1284
+  20595717.8034  -25607748.04249 -19935892.72548  20595717.2554   20595721.0274
+       841.3584        655.6054
+  20752051.1114  -19790034.33549 -15400480.79648  20752050.1904   20752055.1914
+      1556.6904       1213.0004
+  22025847.7834  -17020893.28649 -13248305.43747  22025848.5444   22025851.2094
+      2120.5654       1652.3884
+  24865635.0794     492724.41048    385145.75245  24865637.5234   24865642.5794
+      -729.9544       -568.8014
+  23543219.9374   -6984600.14149  -5200000.75346  23543219.6804   23543225.1554
+      2783.2754       2168.7854
+  22930574.8684   -8915890.32649  -6638715.05546  22930574.3084   22930578.7754
+     -3304.2604      -2574.7474
+  24217976.0694   -5862384.31449  -4517807.72246  24217975.9514   24217981.0084
+     -2990.0984      -2329.9424
+  20476852.5834  -23036598.25549 -17697445.42348  20476852.3774   20476855.9744
+     -1669.2624      -1300.7254
+ 05  1 20  3 32 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20586941.5604  -21379289.19149 -16638265.10648  20586941.9594   20586946.6304
+      1065.3624        830.1554
+  20590938.9394  -25632859.06749 -19955459.74348  20590938.4664   20590942.3534
+       832.7064        648.8604
+  20743216.3754  -19836458.38449 -15436655.37648  20743215.9214   20743221.0354
+      1538.2014       1198.5994
+  22013753.4314  -17084450.40749 -13297830.44947  22013753.6354   22013756.7494
+      2116.5144       1649.2334
+  24869849.0664     514846.75949    402383.97345  24869847.3024   24869850.6414
+      -744.6594       -580.2574
+  23527350.6634   -7067995.20349  -5264983.93246  23527349.8234   23527353.6504
+      2776.4384       2163.4594
+  22949443.7994   -8816730.25249  -6561447.46746  22949443.1754   22949449.0424
+     -3306.4654      -2576.4544
+  24235045.6664   -5772688.92349  -4447915.19446  24235044.9114   24235048.6674
+     -2989.5884      -2329.5484
+  20486435.1544  -22986240.76749 -17658205.83648  20486434.9654   20486438.7954
+     -1687.9094      -1315.2554
+ 05  1 20  3 33  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20580922.4634  -21410923.44949 -16662915.17748  20580922.0944   20580926.5984
+      1043.5654        813.1684
+  20586209.7104  -25657710.22549 -19974824.28448  20586209.3434   20586213.3104
+       824.0324        642.0984
+  20734487.7874  -19882326.26549 -15472396.57448  20734487.3034   20734492.6904
+      1519.6284       1184.1274
+  22001683.0174  -17147884.95949 -13347259.96747  22001683.0024   22001685.2964
+      2112.4314       1646.0484
+  24874141.1364     537409.40949    419965.29845  24874142.2254   24874144.4944
+      -759.3874       -591.7284
+  23511518.8994   -7151183.63949  -5329806.07846  23511518.7134   23511523.1854
+      2769.5294       2158.0654
+  22968324.8794   -8717505.52349  -6484129.50346  22968324.9364   22968330.1184
+     -3308.5334      -2578.0964
+  24252110.2834   -5683008.36949  -4378034.23746  24252109.7324   24252114.9334
+     -2989.0524      -2329.1304
+  20496124.6484  -22935324.50149 -17618530.83148  20496123.9944   20496127.6584
+     -1706.5054      -1329.7464
+ 05  1 20  3 33 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20575026.7524  -21441902.60249 -16687054.77648  20575026.9614   20575031.5254
+      1021.7174        796.1424
+  20581530.5174  -25682300.76249 -19993985.75748  20581530.3044   20581534.0994
+       815.3314        635.3204
+  20725866.0204  -19927635.93449 -15507702.81248  20725865.2124   20725870.4984
+      1500.9904       1169.6024
+  21989636.2494  -17211196.17549 -13396593.38147  21989635.5224   21989637.9404
+      2108.3094       1642.8394
+  24878519.0504     560410.70949    437888.39145  24878517.7764   24878524.2394
+      -773.9774       -603.0934
+  23495727.1544   -7234164.71649  -5394466.65446  23495727.9704   23495731.6884
+      2762.5964       2152.6694
+  22987218.1724   -8618217.86449  -6406762.49746  22987218.6334   22987223.6844
+     -3310.6204      -2579.6994
+  24269173.6524   -5593343.63649  -4308165.62846  24269172.6764   24269177.3674
+     -2988.5454      -2328.7494
+  20505920.4874  -22883850.67249 -17578421.36348  20505919.5194   20505922.9594
+     -1725.0604      -1344.2024
+ 05  1 20  3 34  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20569257.0314  -21472225.35849 -16710682.90048  20569256.6894   20569261.4434
+       999.8114        779.0754
+  20576900.6814  -25706629.22349 -20012942.99648  20576900.7694   20576904.3984
+       806.5694        628.4924
+  20717350.0834  -19972385.40849 -15542572.53548  20717349.4024   20717354.9944
+      1482.2794       1155.0204
+  21977611.8484  -17274382.97349 -13445829.84947  21977611.6904   21977613.8454
+      2104.1404       1639.5934
+  24882977.1044     583849.18649    456152.12945  24882978.2854   24882983.7114
+      -788.5874       -614.4834
+  23479978.2024   -7316938.04249  -5458965.34946  23479978.1794   23479981.3984
+      2755.6224       2147.2334
+  23006124.2944   -8518869.08449  -6329347.87146  23006125.1684   23006129.5144
+     -3312.6394      -2581.2744
+  24286231.9344   -5503695.74849  -4238310.13646  24286231.7354   24286237.3424
+     -2987.9534      -2328.2664
+  20515820.8234  -22831820.74349 -17537878.57248  20515820.0844   20515824.3984
+     -1743.5754      -1358.6284
+ 05  1 20  3 34 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20563610.9364  -21501890.66149 -16733798.71848  20563611.2934   20563616.4564
+       977.8754        761.9844
+  20572321.0124  -25730695.06349 -20031695.59548  20572321.0204   20572324.7274
+       797.8254        621.6844
+  20708941.4114  -20016572.70349 -15577004.19348  20708940.8874   20708946.5814
+      1463.5144       1140.4034
+  21965611.6884  -17337444.37549 -13494968.60847  21965611.6904   21965613.3714
+      2099.9554       1636.3314
+  24887523.1764     607723.25049    474755.27945  24887523.4204   24887527.5274
+      -803.0624       -625.7654
+  23464267.6054   -7399502.97149  -5523301.65046  23464266.5054   23464268.7124
+      2748.7014       2141.8474
+  23025042.4634   -8419461.32349  -6251887.27346  23025042.0144   23025046.1234
+     -3314.5754      -2582.7884
+  24303286.5944   -5414065.82149  -4168468.65146  24303288.5014   24303291.8404
+     -2987.3474      -2327.8044
+  20525827.0514  -22779236.24449 -17496903.65048  20525826.8724   20525830.2604
+     -1762.0464      -1373.0244
+ 05  1 20  3 35  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20558091.8004  -21530897.31849 -16756401.31548  20558091.4824   20558096.6614
+       955.8904        744.8454
+  20567792.3404  -25754497.02149 -20050242.57448  20567791.8854   20567795.3774
+       788.9774        614.7854
+  20700640.5744  -20060195.74749 -15610996.17348  20700640.1254   20700645.4684
+      1444.6724       1125.7164
+  21953634.9684  -17400379.58649 -13544009.00947  21953635.1814   21953637.1074
+      2095.7344       1633.0394
+  24892147.5044     632030.98649    493696.33345  24892146.2674   24892151.5004
+      -817.5124       -637.0244
+  23448593.9764   -7481858.94649  -5587475.10946  23448594.6984   23448597.9974
+      2741.7194       2136.4054
+  23043971.0254   -8319996.04749  -6174381.88146  23043969.3294   23043973.6454
+     -3316.4594      -2584.2624
+  24320340.9564   -5324455.12349  -4098642.10845  24320340.5614   24320345.5584
+     -2986.6044      -2327.2194
+  20535939.4434  -22726098.41049 -17455497.54948  20535938.9634   20535942.3124
+     -1780.4724      -1387.3854
+ 05  1 20  3 35 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20552697.5624  -21559243.90449 -16778489.56648  20552697.4244   20552702.1484
+       933.8724        727.6944
+  20563313.9044  -25778033.63049 -20068582.78748  20563313.0204   20563316.8044
+       780.1194        607.8884
+  20692447.7294  -20103252.63149 -15644547.00248  20692446.6844   20692451.7674
+      1425.7634       1110.9874
+  21941683.6124  -17463187.67349 -13592950.37347  21941683.5074   21941685.1584
+      2091.4604       1629.7104
+  24896855.0924     656771.01349    512974.29345  24896855.0144   24896859.5434
+      -831.8634       -648.2044
+  23432963.0954   -7564005.41449  -5651485.35746  23432961.7904   23432966.0934
+      2734.7004       2130.9324
+  23062907.5254   -8220475.15749  -6096833.11846  23062908.1724   23062911.2954
+     -3318.2974      -2585.6864
+  24337390.2344   -5234864.30149  -4028831.13045  24337390.8754   24337393.0364
+     -2986.0014      -2326.7494
+  20546156.0904  -22672408.80349 -17413661.49948  20546155.5324   20546159.1664
+     -1798.8434      -1401.6984
+ 05  1 20  3 36  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20547429.4154  -21586929.46249 -16800062.73648  20547429.1714   20547433.9004
+       911.8444        710.5244
+  20558885.0004  -25801304.09949 -20086715.61648  20558884.3454   20558888.4424
+       771.2544        600.9734
+  20684361.9014  -20145741.12149 -15677654.91648  20684361.3234   20684366.4114
+      1406.7864       1096.1954
+  21929756.0734  -17525867.73549 -13641791.97547  21929755.8484   21929758.0374
+      2087.1964       1626.3794
+  24901644.4654     681941.75349    532587.83845  24901644.0784   24901648.3364
+      -846.1834       -659.3624
+  23417369.0884   -7645941.81349  -5715331.91046  23417369.6914   23417373.4314
+      2727.6584       2125.4404
+  23081854.5354   -8120900.26149  -6019242.28046  23081856.0174   23081859.4944
+     -3320.0414      -2587.0434
+  24354432.9014   -5145294.52349  -3959036.48945  24354431.3574   24354438.6784
+     -2985.2634      -2326.1674
+  20556477.6744  -22618168.82949 -17371396.59648  20556477.0104   20556480.4954
+     -1817.1464      -1415.9614
+ 05  1 20  3 36 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20542286.7804  -21613952.69149 -16821119.79248  20542286.9424   20542291.5224
+       889.7144        693.2834
+  20554507.6074  -25824307.54149 -20104640.37648  20554507.1494   20554510.9784
+       762.3244        594.0194
+  20676385.0644  -20187659.28349 -15710318.41748  20676384.5734   20676389.9304
+      1387.7384       1081.3554
+  21917852.9354  -17588418.80549 -13690533.06547  21917852.4704   21917854.6814
+      2082.8714       1623.0214
+  24906515.6834     707541.21249    552535.43145  24906514.2884   24906520.4614
+      -860.3634       -670.4184
+  23401819.0524   -7727667.48249  -5779014.23046  23401817.2604   23401822.5634
+      2720.6354       2119.9744
+  23100812.1894   -8021273.16449  -5941610.75946  23100813.2254   23100818.6124
+     -3321.7134      -2588.3514
+  24371472.3604   -5055746.93349  -3889259.14445  24371473.1924   24371478.4404
+     -2984.5034      -2325.5934
+  20566903.6114  -22563380.18749 -17328704.16048  20566903.2184   20566906.7114
+     -1835.4404      -1430.2124
+ 05  1 20  3 37  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20537270.5694  -21640312.42649 -16841659.85048  20537270.6864   20537275.2434
+       867.6014        676.0554
+  20550181.0274  -25847042.56649 -20122355.96848  20550180.9724   20550184.7234
+       753.3634        587.0394
+  20668517.7564  -20229005.50949 -15742536.26048  20668517.0374   20668521.6134
+      1368.6584       1066.4884
+  21905974.6614  -17650840.05449 -13739172.98947  21905973.9554   21905976.2374
+      2078.5474       1619.6514
+  24911467.8974     733567.85649    572815.96245  24911467.0824   24911472.9334
+      -874.7424       -681.6194
+  23386307.4154   -7809181.84249  -5842531.91146  23386306.9174   23386310.3074
+      2713.6494       2114.5374
+  23119779.6534   -7921595.59449  -5863939.93446  23119781.4714   23119786.8654
+     -3323.4344      -2589.6844
+  24388507.3584   -4966222.37049  -3819499.70345  24388509.7274   24388514.2654
+     -2983.6714      -2324.9334
+  20577433.5054  -22508043.94749 -17285585.02448  20577432.8304   20577437.0714
+     -1853.6424      -1444.3964
+ 05  1 20  3 37 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20532381.2894  -21666007.75149 -16861682.18148  20532381.1804   20532385.9344
+       845.4314        658.7784
+  20545906.2664  -25869508.31149 -20139861.73948  20545905.7394   20545909.8494
+       744.3604        580.0214
+  20660758.8414  -20269777.85549 -15774306.92348  20660758.1044   20660763.2534
+      1349.4784       1051.5394
+  21894120.3444  -17713130.36249 -13787710.89847  21894120.5404   21894122.6984
+      2074.1654       1616.2324
+  24916503.1924     760019.91849    593427.93845  24916502.0034   24916508.7024
+      -888.8304       -692.5934
+  23370836.1804   -7890484.31949  -5905884.49146  23370835.9454   23370839.6844
+      2706.5444       2108.9984
+  23138759.5974   -7821869.39649  -5786231.20946  23138760.4784   23138764.4454
+     -3325.0064      -2590.9134
+  24405542.4334   -4876721.94649  -3749759.14845  24405541.4074   24405545.8584
+     -2982.9264      -2324.3604
+  20588066.2824  -22452161.93549 -17242040.61148  20588066.7124   20588070.5674
+     -1871.8144      -1458.5594
+ 05  1 20  3 38  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20527618.2524  -21691037.78749 -16881186.11248  20527617.8644   20527622.7664
+       823.2374        641.4834
+  20541682.7594  -25891703.44349 -20157156.63748  20541681.9544   20541686.3124
+       735.3334        572.9844
+  20653109.3774  -20309974.42449 -15805628.91848  20653108.8384   20653114.4034
+      1330.2664       1036.5704
+  21882292.1094  -17775288.99849 -13836146.18747  21882292.4194   21882294.5094
+      2069.7504       1612.7954
+  24921613.0704     786895.48949    614369.98845  24921617.7874   24921624.7914
+      -902.9994       -703.6344
+  23355404.4584   -7971574.44549  -5969071.61946  23355404.3304   23355409.3134
+      2699.4734       2103.4894
+  23157746.0704   -7722096.37149  -5708486.01646  23157745.8934   23157750.5834
+     -3326.4924      -2592.0724
+  24422567.3844   -4787246.45849  -3680038.05345  24422568.5284   24422569.9084
+     -2982.0604      -2323.6834
+  20598805.5674  -22395735.65349 -17198072.10548  20598804.6544   20598808.2214
+     -1889.9274      -1472.6734
+ 05  1 20  3 38 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20522982.2544  -21715401.39749 -16900170.74748  20522981.9034   20522986.4044
+       801.0144        624.1684
+  20537510.6724  -25913627.41249 -20174240.25048  20537510.2354   20537514.2734
+       726.2684        565.9254
+  20645570.0144  -20349593.34849 -15836500.79848  20645569.2974   20645574.6394
+      1310.9694       1021.5324
+  21870488.8744  -17837315.00849 -13884478.13647  21870488.7614   21870491.2634
+      2065.3184       1609.3414
+  24926813.6954     814193.08949    635640.86944  24926812.2434   24926817.7224
+      -916.8874       -714.4554
+  23340014.6814   -8052451.79549  -6032092.92346  23340013.8734   23340018.0634
+      2692.3244       2097.9144
+  23176740.2054   -7622277.98649  -5630705.43946  23176739.6434   23176745.5744
+     -3328.0534      -2593.2834
+  24439589.4394   -4697797.02149  -3610337.20945  24439590.3054   24439594.5224
+     -2981.1334      -2322.9634
+  20609646.1374  -22338767.03049 -17153680.98148  20609645.3864   20609649.2964
+     -1907.9764      -1486.7334
+ 05  1 20  3 39  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20518472.2194  -21739097.64249 -16918635.35248  20518472.3804   20518477.2634
+       778.7524        606.8204
+  20533390.8714  -25935278.49049 -20191111.21348  20533390.2854   20533393.9544
+       717.1604        558.8214
+  20638141.8104  -20388632.69349 -15866921.07848  20638140.7934   20638145.4674
+      1291.6364       1006.4654
+  21858712.0454  -17899207.01849 -13932705.67247  21858711.4674   21858713.6034
+      2060.8474       1605.8564
+  24932087.3724     841910.91149    657239.22245  24932088.1434   24932091.4324
+      -930.8954       -725.3744
+  23324664.5894   -8133115.56449  -6094947.81846  23324664.1504   23324666.1074
+      2685.2534       2092.4134
+  23195743.1394   -7522415.89649  -5552890.83946  23195743.4784   23195747.7504
+     -3329.4594      -2594.3914
+  24456607.4914   -4608374.77549  -3540657.55245  24456605.9754   24456608.8534
+     -2980.3214      -2322.3254
+  20620589.2084  -22281256.90149 -17108867.90148  20620589.1464   20620592.8384
+     -1926.0174      -1500.7954
+ 05  1 20  3 39 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20514090.0614  -21762125.55149 -16936579.18048  20514090.1734   20514094.8274
+       756.4574        589.4504
+  20529322.6764  -25956655.70549 -20207768.79048  20529322.3264   20529325.8644
+       707.9864        551.6814
+  20630822.9014  -20427090.68149 -15896888.35048  20630822.4714   20630827.3444
+      1272.1954        991.3224
+  21846959.6234  -17960964.00949 -13980827.99147  21846959.3654   21846961.4834
+      2056.2834       1602.3004
+  24937441.3284     870047.18049    679163.54145  24937443.1674   24937444.4174
+      -944.6884       -736.1234
+  23309355.3404   -8213565.58649  -6157636.11746  23309355.3224   23309358.2924
+      2678.0464       2086.7924
+  23214753.8724   -7422511.94649  -5475043.61946  23214754.5154   23214759.7014
+     -3330.8344      -2595.4554
+  24473616.2434   -4518980.39249  -3470999.62345  24473618.3534   24473621.1234
+     -2979.4584      -2321.6534
+  20631635.7694  -22223206.98449 -17063634.20048  20631635.7454   20631639.4904
+     -1943.9464      -1514.7564
+ 05  1 20  3 40  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20509836.2584  -21784484.31949 -16954001.60348  20509835.8994   20509840.5374
+       734.1194        572.0444
+  20525306.9714  -25977758.15649 -20224212.25248  20525306.5464   20525310.3394
+       698.8134        544.5314
+  20623615.1084  -20464965.37849 -15926401.10148  20623614.6844   20623620.3154
+      1252.7344        976.1614
+  21835234.1004  -18022585.37049 -14028844.63947  21835233.4224   21835235.1644
+      2051.7824       1598.7954
+  24942873.3264     898600.21549    701412.59045  24942873.2594   24942878.3074
+      -958.8764       -747.1744
+  23294087.4584   -8293801.18349  -6220157.36146  23294086.5864   23294090.3814
+      2670.9374       2081.2464
+  23233773.6724   -7322567.80649  -5397165.08246  23233773.9184   23233778.1074
+     -3332.1934      -2596.5144
+  24490621.3054   -4429615.00849  -3401364.23345  24490620.6664   24490628.8754
+     -2978.3564      -2320.7974
+  20642784.8844  -22164619.76549 -17017981.83248  20642784.4984   20642788.2744
+     -1961.8674      -1528.7264
+ 05  1 20  3 40 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20505709.0824  -21806173.03349 -16970901.89248  20505708.7984   20505713.1434
+       711.7704        554.6274
+  20521343.7824  -25998584.70549 -20240440.72948  20521343.4994   20521347.2834
+       689.6154        537.3604
+  20616519.2844  -20502255.14249 -15955458.05248  20616518.6064   20616524.2904
+      1233.2134        960.9454
+  21823532.9674  -18084070.22349 -14076754.91747  21823533.2114   21823534.7714
+      2047.2084       1595.2254
+  24948389.0094     927567.90849    723984.84445  24948387.2584   24948390.6084
+      -972.4724       -757.7764
+  23278860.4514   -8373821.81549  -6282511.11246  23278859.6454   23278863.0334
+      2663.7844       2075.6784
+  23252798.8944   -7222585.06849  -5319256.43946  23252798.4584   23252803.0734
+     -3333.3844      -2597.4464
+  24507623.2594   -4340279.38449  -3331752.05945  24507623.5234   24507628.2244
+     -2977.3594      -2320.0224
+  20654036.2764  -22105496.32549 -16971911.63148  20654035.3714   20654038.9794
+     -1979.7124      -1542.6334
+ 05  1 20  3 41  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20501708.7454  -21827190.94349 -16987279.48848  20501708.5784   20501713.8574
+       689.4074        537.2024
+  20517433.0394  -26019134.22849 -20256453.34348  20517432.7104   20517436.6094
+       680.3574        530.1494
+  20609534.9214  -20538958.09849 -15984057.76048  20609534.3704   20609539.7454
+      1213.6184        945.6774
+  21811859.2074  -18145417.52249 -14124558.00047  21811858.9744   21811861.0104
+      2042.6104       1591.6494
+  24953979.1654     956948.47549    746878.80345  24953976.5304   24953983.0174
+      -986.3414       -768.5784
+  23263672.3844   -8453627.04249  -6344696.98046  23263672.8914   23263675.9264
+      2656.5864       2070.0784
+  23271832.7544   -7122565.42349  -5241319.06846  23271833.2554   23271836.7374
+     -3334.6274      -2598.4274
+  24524617.8354   -4250974.63949  -3262163.96445  24524617.6014   24524621.9634
+     -2976.2574      -2319.1574
+  20665388.2974  -22045838.36249 -16925424.92748  20665387.9054   20665391.7924
+     -1997.4974      -1556.4934
+ 05  1 20  3 41 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20497837.1054  -21847537.27049 -17003133.77048  20497837.2784   20497842.0684
+       667.0224        519.7624
+  20513576.4004  -26039405.52149 -20272249.16048  20513575.4274   20513579.2274
+       671.0784        522.9084
+  20602662.9884  -20575072.41249 -16012198.78348  20602662.3054   20602667.5924
+      1193.9834        930.3734
+  21800211.9284  -18206625.98549 -14172252.90947  21800211.5264   21800213.5224
+      2037.9664       1588.0274
+  24959646.6424     986740.02149    770092.99045  24959646.5174   24959651.4724
+      -999.9384       -779.1754
+  23248528.4954   -8533216.31649  -6406714.59546  23248527.8964   23248530.0144
+      2649.3444       2064.4244
+  23290872.1504   -7022510.54449  -5163354.22946  23290872.8174   23290877.2764
+     -3335.6944      -2599.2394
+  24541606.1974   -4161701.60949  -3192600.55645  24541605.7634   24541608.0854
+     -2975.1724      -2318.3164
+  20676843.4044  -21985647.62649 -16878523.06248  20676842.0744   20676845.7294
+     -2015.2094      -1570.2964
+ 05  1 20  3 42  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20494093.7234  -21867211.03849 -17018463.97648  20494093.5384   20494097.9214
+       644.5684        502.2614
+  20509770.9814  -26059397.77149 -20287827.54048  20509771.0004   20509775.0584
+       661.7374        515.6404
+  20595903.0454  -20610596.43749 -16039879.84448  20595902.1974   20595907.4684
+      1174.2714        915.0204
+  21788590.8594  -18267694.81949 -14219839.01547  21788590.5074   21788592.6334
+      2033.2974       1584.3864
+  24965391.3894    1016940.91448    793626.15445  24965391.0304   24965396.3044
+     -1013.5204       -789.7544
+  23233422.6284   -8612589.26149  -6468563.61446  23233422.8584   23233427.4804
+      2642.2654       2058.9054
+  23309918.4924   -6922421.98049  -5085363.16346  23309918.8624   23309922.9164
+     -3336.8124      -2600.1124
+  24558587.3784   -4072461.21349  -3123062.57845  24558586.6924   24558591.0624
+     -2974.0984      -2317.4774
+  20688396.8084  -21924925.79649 -16831207.36148  20688396.6744   20688400.8034
+     -2032.8934      -1584.0724
+ 05  1 20  3 42 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20490477.6714  -21886211.49149 -17033269.52148  20490477.5724   20490482.0884
+       622.1174        484.7634
+  20506020.2434  -26079109.69649 -20303187.47948  20506019.9974   20506023.7734
+       652.3614        508.3324
+  20589255.7104  -20645528.52849 -16067099.65048  20589255.1714   20589260.2834
+      1154.5044        899.6134
+  21776996.6864  -18328622.87749 -14267315.42647  21776996.4974   21776998.5964
+      2028.5644       1580.7034
+  24971217.3264    1047549.09649    817476.70045  24971217.1474   24971222.4644
+     -1027.0874       -800.3244
+  23218362.3684   -8691745.51349  -6530243.81346  23218361.0844   23218363.7914
+      2635.0044       2053.2464
+  23328971.2274   -6822301.37349  -5007347.08546  23328970.1184   23328976.3434
+     -3337.8404      -2600.9094
+  24575560.8044   -3983254.15749  -3053550.59345  24575561.5464   24575566.2144
+     -2972.8654      -2316.5154
+  20700052.9934  -21863674.65649 -16783479.21048  20700052.6184   20700056.3874
+     -2050.5134      -1597.8014
+ 05  1 20  3 43  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20486990.6794  -21904538.07849 -17047549.97748  20486990.3824   20486994.7724
+       599.6294        467.2424
+  20502322.9704  -26098540.24149 -20318328.16848  20502322.4274   20502326.2004
+       643.0004        501.0404
+  20582721.3444  -20679866.77249 -16093856.73048  20582720.7034   20582725.8674
+      1134.6704        884.1584
+  21765429.7254  -18389409.30449 -14314681.47347  21765429.0214   21765431.3074
+      2023.8284       1577.0084
+  24977119.0874    1078562.76948    841643.23944  24977115.8484   24977122.3074
+     -1040.6354       -810.8834
+  23203339.3944   -8770684.27849  -6591754.53146  23203339.2364   23203342.6244
+      2627.6204       2047.5014
+  23348028.3294   -6722150.43749  -4929307.39146  23348028.6184   23348033.5124
+     -3338.8844      -2601.7234
+  24592530.2864   -3894081.84049  -2984065.65945  24592529.6934   24592535.2014
+     -2971.7464      -2315.6464
+  20711809.6734  -21801896.00249 -16735340.01148  20711809.0514   20711812.2284
+     -2068.0624      -1611.4734
+ 05  1 20  3 43 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20483631.7054  -21922190.01649 -17061304.73448  20483631.2824   20483635.8904
+       577.1424        449.7204
+  20498679.2324  -26117688.86649 -20333249.17448  20498678.7254   20498682.2654
+       633.5704        493.6914
+  20576300.3864  -20713609.79049 -16120149.98348  20576299.2634   20576304.9534
+      1114.8024        868.6764
+  21753888.6994  -18450052.87049 -14361936.20848  21753888.8794   21753891.4534
+      2019.0584       1573.2904
+  24983099.1764    1109979.77549    866124.05144  24983098.8144   24983102.0404
+     -1054.0304       -821.3284
+  23188357.9744   -8849405.27249  -6653095.54446  23188357.2734   23188362.8504
+      2620.4284       2041.8954
+  23367092.0514   -6621970.65649  -4851245.24646  23367092.9354   23367097.3874
+     -3339.8154      -2602.4504
+  24609494.3644   -3804944.77249  -2914608.18045  24609495.2794   24609498.0894
+     -2970.6034      -2314.7594
+  20723665.3224  -21739591.87649 -16686791.34648  20723664.4414   20723668.5804
+     -2085.5664      -1625.1194
+ 05  1 20  3 44  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20480400.9484  -21939166.60749 -17074533.25148  20480400.8914   20480405.6534
+       554.6264        432.1764
+  20495089.3994  -26136553.88749 -20347949.19248  20495088.5974   20495092.5454
+       624.1054        486.3164
+  20569991.9104  -20746755.98649 -16145978.18848  20569991.6934   20569997.3194
+      1094.8934        853.1624
+  21742376.6014  -18510552.69349 -14409078.93348  21742376.2754   21742378.6554
+      2014.2684       1569.5624
+  24989151.4044    1141798.33349    890917.71545  24989152.2674   24989158.1284
+     -1067.1864       -831.5674
+  23173419.8714   -8927908.17149  -6714266.63646  23173419.4384   23173423.5074
+      2613.1164       2036.1984
+  23386161.4304   -6521763.50549  -4773161.75146  23386161.1974   23386167.0594
+     -3340.7274      -2603.1674
+  24626448.9484   -3715843.87949  -2845178.88345  24626448.3024   24626454.5554
+     -2969.3994      -2313.8224
+  20735620.4694  -21676763.38649 -16637834.08748  20735620.1604   20735624.2704
+     -2103.0164      -1638.7154
+ 05  1 20  3 44 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20477298.6234  -21955467.19849 -17087235.00648  20477298.3274   20477303.5504
+       532.0794        414.6074
+  20491553.7544  -26155134.06749 -20362427.25448  20491553.0574   20491556.8354
+       614.5964        478.9094
+  20563799.2394  -20779303.53749 -16171339.91048  20563798.2974   20563803.8414
+      1074.9134        837.5964
+  21730891.3694  -18570907.88949 -14456108.95348  21730890.8524   21730893.7614
+      2009.4204       1565.7854
+  24995284.6194    1174016.55949    916022.80345  24995284.5474   24995289.1984
+     -1080.5514       -841.9854
+  23158523.7044   -9006192.38349  -6775267.29446  23158522.7064   23158527.6724
+      2605.8154       2030.5174
+  23405234.5514   -6421530.87249  -4695058.41746  23405235.0534   23405239.9834
+     -3341.4954      -2603.7524
+  24643396.7414   -3626780.23449  -2775778.58545  24643396.9664   24643400.6614
+     -2968.1024      -2312.8094
+  20747676.6294  -21613412.76049 -16588469.97248  20747675.9634   20747679.5174
+     -2120.3604      -1652.2224
+ 05  1 20  3 45  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20474325.4134  -21971091.28149 -17099409.62548  20474325.4074   20474330.4194
+       509.5294        397.0344
+  20488072.0244  -26173428.82649 -20376682.91248  20488071.8954   20488075.4854
+       605.0654        471.4764
+  20557720.6234  -20811250.80649 -16196233.89248  20557719.3014   20557724.0984
+      1054.8884        821.9904
+  21719433.4424  -18631116.93749 -14503025.09948  21719433.4074   21719436.0654
+      2004.5184       1561.9594
+  25001493.1944    1206632.56649    941437.87045  25001491.7834   25001494.3894
+     -1093.7714       -852.2934
+  23143668.5694   -9084257.39749  -6836097.17346  23143667.8304   23143671.0654
+      2598.5204       2024.8184
+  23424313.0854   -6321274.05149  -4616936.22346  23424313.6494   23424317.8104
+     -3342.3194      -2604.4034
+  24660338.7524   -3537754.42449  -2706407.78245  24660338.0764   24660343.5784
+     -2966.8504      -2311.8324
+  20759830.5554  -21549542.02849 -16538700.57548  20759830.3084   20759833.8064
+     -2137.6824      -1665.7304
+ 05  1 20  3 45 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20471481.5644  -21986038.28849 -17111056.64548  20471481.2694   20471486.1394
+       486.9304        379.4264
+  20484645.4124  -26191436.97749 -20390715.24148  20484644.7704   20484648.5094
+       595.4764        464.0054
+  20551754.7044  -20842596.08749 -16220658.79048  20551754.1524   20551759.3584
+      1034.7814        806.3234
+  21708004.8864  -18691179.07749 -14549826.77448  21708004.1954   21708006.5264
+      1999.6164       1558.1474
+  25007772.0074    1239644.37349    967161.33245  25007772.7794   25007777.4124
+     -1106.9524       -862.5594
+  23128855.0064   -9162102.54949  -6896755.75146  23128854.3434   23128857.9674
+      2591.2084       2019.1264
+  23443395.3424   -6220994.52049  -4538796.32046  23443395.5774   23443401.8484
+     -3343.0074      -2604.9354
+  24677272.2974   -3448767.30149  -2637067.20045  24677272.6124   24677277.6494
+     -2965.5074      -2310.7784
+  20772082.6044  -21485152.90849 -16488527.25048  20772082.6994   20772086.8204
+     -2154.9244      -1679.1594
+ 05  1 20  3 46  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20468765.9774  -22000307.59049 -17122175.57748  20468765.9384   20468770.7374
+       464.3414        361.8254
+  20481272.8914  -26209157.22349 -20404523.22548  20481272.8334   20481276.7754
+       585.8504        456.5084
+  20545904.7454  -20873337.99749 -16244613.52148  20545903.9894   20545909.2914
+      1014.6584        790.6414
+  21696603.6364  -18751093.23549 -14596513.14748  21696602.9284   21696604.7654
+      1994.6364       1554.2614
+  25014128.6954    1273050.02549    993191.66445  25014129.1784   25014133.2824
+     -1120.1064       -872.8114
+  23114083.1534   -9239727.78749  -6957242.92346  23114082.1154   23114085.6764
+      2583.9334       2013.4634
+  23462480.0704   -6120694.03249  -4460640.09846  23462481.1774   23462487.8634
+     -3343.6694      -2605.4564
+  24694198.9964   -3359819.89849  -2567757.56845  24694198.4874   24694201.9104
+     -2964.2304      -2309.8034
+  20784435.0694  -21420247.16649 -16437951.35848  20784434.5264   20784437.8114
+     -2172.1344      -1692.5704
+ 05  1 20  3 46 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20466179.5594  -22013898.82049 -17132766.14848  20466179.5124   20466184.3704
+       441.7344        344.2074
+  20477956.0734  -26226588.29049 -20418105.87048  20477955.7514   20477959.7684
+       576.2024        448.9874
+  20540170.1384  -20903475.09549 -16268096.98048  20540169.3344   20540174.5414
+       994.4774        774.9144
+  21685229.7594  -18810858.25949 -14643083.29848  21685229.7944   21685231.8014
+      1989.6674       1550.3884
+  25020563.5874    1306847.34849   1019527.19145  25020561.8334   25020565.6934
+     -1133.0444       -882.8984
+  23099352.6144   -9317132.56149  -7017558.31946  23099352.4504   23099357.5914
+      2576.5324       2007.6854
+  23481573.5354   -6020374.09549  -4382468.71546  23481573.8474   23481577.3974
+     -3344.3314      -2605.9734
+  24711116.6354   -3270912.98049  -2498479.41245  24711116.2824   24711121.0104
+     -2962.8484      -2308.7094
+  20796883.5154  -21354826.67349 -16386974.36748  20796883.1834   20796886.9754
+     -2189.2334      -1705.8994
+ 05  1 20  3 47  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20463722.1904  -22026811.38749 -17142827.88948  20463722.1304   20463727.2394
+       419.1314        326.5924
+  20474694.1804  -26243729.07049 -20431462.32648  20474693.7694   20474697.6024
+       566.5194        441.4414
+  20534550.5184  -20933005.83349 -16291107.94448  20534549.6914   20534555.0974
+       974.2264        759.1374
+  21673885.3174  -18870473.13449 -14689536.45548  21673885.6794   21673887.5784
+      1984.6634       1546.4934
+  25027062.6324    1341034.24248   1046166.37544  25027065.1384   25027070.3394
+     -1146.0054       -893.0024
+  23084665.9024   -9394316.49749  -7077701.65546  23084665.2004   23084669.6714
+      2569.0664       2001.8644
+  23500666.2614   -5920036.31049  -4304283.45446  23500666.5404   23500669.9624
+     -3344.8614      -2606.3864
+  24728027.3684   -3182047.33049  -2429233.47645  24728027.0874   24728031.1754
+     -2961.4754      -2307.6494
+  20809430.0964  -21288893.56349 -16335597.92548  20809429.8004   20809433.8034
+     -2206.2904      -1719.1854
+ 05  1 20  3 47 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20461394.2304  -22039044.91949 -17152360.51648  20461394.2154   20461399.1694
+       396.4554        308.9254
+  20471487.7824  -26260578.63549 -20444591.86148  20471487.5274   20471491.1484
+       556.7744        433.8494
+  20529046.3854  -20961928.65249 -16313645.21048  20529045.8754   20529051.3234
+       953.9154        743.3084
+  21662570.7274  -18929936.71949 -14735871.72748  21662570.2414   21662572.2844
+      1979.5974       1542.5454
+  25033646.0954    1375609.08448   1073107.81144  25033644.2404   25033651.8974
+     -1158.9184       -903.0464
+  23070019.9634   -9471279.13249  -7137672.51646  23070019.0894   23070023.0924
+      2561.7114       1996.1314
+  23519761.5634   -5819682.02749  -4226085.31846  23519762.6614   23519768.1724
+     -3345.4104      -2606.8134
+  24744930.1184   -3093223.91449  -2360020.44345  24744929.8404   24744933.8594
+     -2960.0114      -2306.4974
+  20822074.4664  -21222449.54349 -16283823.38248  20822073.8644   20822077.6104
+     -2223.2974      -1732.4434
+ 05  1 20  3 48  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20459195.5604  -22050599.03249 -17161363.72648  20459195.5084   20459200.6364
+       373.8204        291.2904
+  20468337.5424  -26277135.81549 -20457493.56148  20468336.9024   20468340.6504
+       547.0304        426.2574
+  20523658.7364  -20990242.20049 -16335707.71248  20523658.1724   20523663.1714
+       933.6004        727.4804
+  21651283.1664  -18989247.99549 -14782088.30748  21651283.5884   21651285.9614
+      1974.4854       1538.5664
+  25040298.2584    1410569.40248   1100349.72845  25040299.4784   25040302.3874
+     -1171.8014       -913.0914
+  23055416.0154   -9548020.25549  -7197470.79546  23055414.7794   23055420.0144
+      2554.2764       1990.3524
+  23538863.2014   -5719312.64749  -4147875.37846  23538862.3924   23538867.6064
+     -3345.9134      -2607.2044
+  24761824.1264   -3004443.41449  -2290840.82945  24761823.2594   24761828.7204
+     -2958.5844      -2305.3944
+  20834814.9854  -21155496.76649 -16231652.39848  20834814.3664   20834818.3564
+     -2240.2204      -1745.6264
+ 05  1 20  3 48 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20457126.2994  -22061473.29649 -17169837.18448  20457126.3684   20457130.9744
+       351.1424        273.6134
+  20465242.2694  -26293399.81049 -20470166.80348  20465242.0874   20465245.7654
+       537.2214        418.6104
+  20518387.1474  -21017944.98049 -16357294.29848  20518386.7064   20518391.6934
+       913.2004        711.5834
+  21640026.4594  -19048405.90249 -14828185.39248  21640026.3094   21640028.5724
+      1969.3484       1534.5534
+  25047025.7794    1445913.55049   1127890.62645  25047023.6354   25047029.8844
+     -1184.5524       -923.0304
+  23040854.3804   -9624539.11049  -7257095.88646  23040854.2854   23040858.4474
+      2546.9344       1984.6204
+  23557964.7404   -5618929.80149  -4069654.98746  23557965.1504   23557968.8654
+     -3346.2944      -2607.5104
+  24778711.7834   -2915706.70049  -2221695.35945  24778710.8864   24778713.8774
+     -2957.1334      -2304.2534
+  20847651.8794  -21088037.09149 -16179086.43048  20847651.5314   20847655.3254
+     -2257.0924      -1758.7734
+ 05  1 20  3 49  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20455187.6724  -22071667.45449 -17177780.68548  20455186.8594   20455191.3294
+       328.4804        255.9624
+  20462203.4504  -26309369.40749 -20482610.64648  20462203.0114   20462206.7264
+       527.3924        410.9564
+  20513232.3984  -21045035.59149 -16378403.87748  20513231.6264   20513236.4944
+       892.8024        695.6884
+  21628798.2794  -19107409.27949 -14874162.03848  21628797.9194   21628800.5884
+      1964.1874       1530.5364
+  25053823.0024    1481639.05849   1155728.68445  25053823.4524   25053826.7904
+     -1197.1784       -932.8694
+  23026337.1554   -9700835.62449  -7316547.70046  23026336.1594   23026340.2244
+      2539.4844       1978.8204
+  23577069.0554   -5518534.91149  -3991425.21445  23577068.1734   23577074.3604
+     -3346.7234      -2607.8444
+  24795585.4884   -2827014.45349  -2152584.55245  24795587.0754   24795591.7664
+     -2955.6124      -2303.0654
+  20860584.3104  -21020072.63949 -16126127.13148  20860584.4354   20860588.4764
+     -2273.8774      -1771.8524
+ 05  1 20  3 49 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20453375.8964  -22081181.09149 -17185193.90148  20453376.0304   20453380.6594
+       305.7724        238.2604
+  20459220.8304  -26325042.94949 -20494823.79848  20459220.5274   20459224.3224
+       517.4944        403.2404
+  20508193.2644  -21071512.65349 -16399035.35048  20508192.8614   20508198.2024
+       872.3074        679.7154
+  21617600.1384  -19166256.97049 -14920017.38948  21617599.6794   21617602.0534
+      1958.9644       1526.4564
+  25060695.2104    1517744.13549   1183862.46945  25060694.1484   25060699.2614
+     -1209.7774       -942.6804
+  23011860.9084   -9776909.31949  -7375825.89046  23011861.0984   23011863.9484
+      2532.1064       1973.0654
+  23596173.8964   -5418129.46249  -3913187.17145  23596174.6574   23596180.0594
+     -3347.0054      -2608.0534
+  24812457.4534   -2738367.64749  -2083509.12445  24812456.9894   24812461.6064
+     -2954.0984      -2301.8904
+  20873614.6614  -20951605.21649 -16072775.91448  20873613.6724   20873617.3934
+     -2290.6194      -1784.8994
+ 05  1 20  3 50  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20451695.7594  -22090013.84349 -17192076.57748  20451695.4424   20451699.8914
+       283.0814        220.5834
+  20456294.8554  -26340419.72949 -20506805.70448  20456294.3634   20456298.1854
+       507.6134        395.5394
+  20503273.1614  -21097374.55749 -16419187.47748  20503271.9014   20503276.6844
+       851.7974        663.7404
+  21606431.2974  -19224947.94249 -14965750.61648  21606431.3824   21606433.6904
+      1953.7514       1522.4024
+  25067635.5124    1554226.50049   1212290.27245  25067635.5614   25067640.2094
+     -1222.3534       -952.4754
+  22997428.9174   -9852759.54949  -7434929.96146  22997426.7864   22997430.2784
+      2524.5954       1967.2104
+  23615283.2494   -5317715.02149  -3834942.18645  23615284.3984   23615287.9954
+     -3347.2944      -2608.2804
+  24829317.2284   -2649766.87349  -2014469.59245  24829317.8604   24829321.4954
+     -2952.5344      -2300.6764
+  20886738.8654  -20882637.00649 -16019034.47048  20886738.3174   20886741.6644
+     -2307.2674      -1797.8654
+ 05  1 20  3 50 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20450144.6084  -22098165.61349 -17198428.60148  20450144.0664   20450148.9584
+       260.3874        202.8994
+  20453425.5434  -26355498.47049 -20518555.36948  20453425.0504   20453428.6954
+       497.6494        387.7774
+  20498468.6584  -21122620.07149 -16438859.31148  20498468.0174   20498472.8164
+       831.2134        647.6954
+  21595293.1214  -19283481.05349 -15011360.83348  21595292.7394   21595294.9714
+      1948.4754       1518.2864
+  25074650.2854    1591084.04549   1241010.43745  25074648.7174   25074654.6194
+     -1234.8904       -962.2564
+  22983034.8454   -9928386.24349  -7493859.82346  22983035.2514   22983039.5974
+      2517.1384       1961.3944
+  23634392.9054   -5217292.90649  -3756691.16545  23634393.5844   23634398.9584
+     -3347.4564      -2608.4114
+  24846168.6674   -2561212.90149  -1945466.54145  24846168.6574   24846172.3864
+     -2951.0174      -2299.4974
+  20899957.5694  -20813170.04349 -15964904.38048  20899956.9274   20899960.9584
+     -2323.8684      -1810.8064
+ 05  1 20  3 51  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20448723.1404  -22105636.24049 -17204249.86748  20448722.5984   20448727.3734
+       237.6644        185.1954
+  20450613.2584  -26370278.23849 -20530072.07148  20450612.7814   20450616.1384
+       487.6764        380.0094
+  20493781.4504  -21147248.02849 -16458049.92948  20493780.8044   20493786.3034
+       810.6204        631.6544
+  21584184.4674  -19341855.25349 -15056847.21748  21584184.5604   21584186.9084
+      1943.1474       1514.1404
+  25081734.5884    1628314.94049   1270021.43345  25081734.7624   25081738.3834
+     -1247.2404       -971.8724
+  22968687.8174  -10003788.92049  -7552615.14546  22968687.0664   22968690.8864
+      2509.6944       1955.6024
+  23653506.0784   -5116864.34249  -3678435.17145  23653504.8934   23653508.3614
+     -3347.6794      -2608.5724
+  24863008.5734   -2472706.52049  -1876500.53045  24863009.6294   24863015.4124
+     -2949.3404      -2298.1824
+  20913270.5344  -20743206.26049 -15910387.15548  20913270.7204   20913274.5434
+     -2340.3754      -1823.6684
+ 05  1 20  3 51 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20447430.9854  -22112425.35649 -17209540.09448  20447430.6694   20447435.3024
+       214.9374        167.4864
+  20447857.2074  -26384758.09149 -20541355.08348  20447857.2464   20447860.8664
+       477.6524        372.1954
+  20489212.7554  -21171257.20249 -16476758.37348  20489211.8764   20489217.6514
+       789.9684        615.5614
+  21573106.9144  -19400069.28649 -15102208.79448  21573106.7334   21573109.0964
+      1937.7794       1509.9564
+  25088890.9264    1665916.69749   1299321.48645  25088889.9304   25088894.0634
+     -1259.6724       -981.5654
+  22954380.4244  -10078967.44149  -7611195.80846  22954380.0834   22954384.0344
+      2502.1964       1949.7584
+  23672615.6794   -5016431.14549  -3600175.54745  23672615.8084   23672620.7624
+     -3347.8374      -2608.7114
+  24879842.9974   -2384248.67449  -1807572.38545  24879844.0484   24879847.8514
+     -2947.8034      -2296.9894
+  20926679.5124  -20672747.97649 -15855484.60947  20926678.8984   20926682.2774
+     -2356.8354      -1836.4954
+ 05  1 20  3 52  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20446268.2754  -22118532.91249 -17214299.22448  20446268.2064   20446273.1434
+       192.2334        149.7914
+  20445159.6754  -26398937.06249 -20552403.62948  20445158.8724   20445162.5514
+       467.6024        364.3704
+  20484761.7234  -21194646.06249 -16494983.45748  20484761.4664   20484766.6334
+       769.2814        599.4404
+  21562059.5404  -19458122.02249 -15147444.68848  21562059.6454   21562061.9674
+      1932.3844       1505.7584
+  25096106.0374    1703887.25158   1328909.00154  25096111.5964   25096117.7174
+     -1272.0514       -991.2214
+  22940116.1594  -10153921.10149  -7669601.25946  22940116.7494   22940120.8634
+      2494.6994       1943.9184
+  23691726.2074   -4915994.49049  -3521913.22445  23691726.8104   23691733.2504
+     -3347.8884      -2608.7454
+  24896667.9184   -2295839.81849  -1738682.40845  24896667.9774   24896670.4154
+     -2946.1154      -2295.6764
+  20940180.0604  -20601797.22049 -15800198.31347  20940179.6144   20940183.4864
+     -2373.2114      -1849.2534
+ 05  1 20  3 52 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20445236.3854  -22123958.78549 -17218527.18448  20445235.9434   20445240.7134
+       169.5134        132.0904
+  20442518.4494  -26412813.69249 -20563216.58848  20442518.4214   20442522.0244
+       457.5084        356.5024
+  20480429.2824  -21217413.52649 -16512724.34248  20480428.4434   20480433.9604
+       748.5424        583.2824
+  21551043.5554  -19516012.21849 -15192553.93648  21551043.4314   21551045.8544
+      1926.9654       1501.5334
+  25103408.1324    1742224.50048   1358782.24044  25103406.5294   25103416.8884
+     -1284.0454      -1000.5634
+  22925897.7884  -10228649.85449  -7727831.45546  22925897.0904   22925900.6854
+      2487.2214       1938.0934
+  23710843.2584   -4815555.83649  -3443649.32445  23710844.0884   23710847.0064
+     -3348.0024      -2608.8324
+  24913480.9794   -2207480.72749  -1669831.22645  24913481.3644   24913484.0934
+     -2944.4154      -2294.3514
+  20953774.8434  -20530355.90249 -15744529.76847  20953774.6234   20953778.5764
+     -2389.5184      -1861.9584
+ 05  1 20  3 53  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20444332.6864  -22128703.03249 -17222223.99948  20444332.9274   20444337.7534
+       146.7814        114.3774
+  20439936.3004  -26426386.81149 -20573793.04448  20439935.4664   20439939.0744
+       447.3724        348.6034
+  20476215.4034  -21239558.44049 -16529980.11548  20476214.5314   20476220.1214
+       727.7744        567.0964
+  21540058.6864  -19573738.87649 -15237535.74148  21540058.8854   21540060.6484
+      1921.4744       1497.2564
+  25110775.3754    1780926.15049   1388939.39044  25110775.4164   25110781.5304
+     -1296.1594      -1009.9994
+  22911720.6934  -10303153.30049  -7785886.07446  22911719.1754   22911724.5444
+      2479.6804       1932.2164
+  23729954.8954   -4715116.51949  -3365384.92345  23729954.7624   23729958.9844
+     -3347.9954      -2608.8264
+  24930285.2794   -2119172.39548  -1601019.53745  24930284.5624   24930290.4634
+     -2942.7824      -2293.0824
+  20967463.5634  -20458426.36949 -15688480.78947  20967462.6914   20967466.2234
+     -2405.7724      -1874.6274
+ 05  1 20  3 53 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20443560.8604  -22132765.32549 -17225389.42448  20443560.1114   20443564.8824
+       124.0504         96.6624
+  20437411.0334  -26439655.44549 -20584132.24048  20437410.5564   20437414.1354
+       437.2104        340.6824
+  20472119.8304  -21261079.65349 -16546749.89348  20472119.2914   20472124.8774
+       706.9544        550.8734
+  21529104.9494  -19631300.83049 -15282389.20748  21529105.0084   21529107.2084
+      1915.9824       1492.9754
+  25118210.1934    1819990.06949   1419378.79045  25118207.3494   25118214.6974
+     -1308.0924      -1019.2854
+  22897585.1544  -10377431.12949  -7843764.89746  22897585.3564   22897589.1944
+      2472.1754       1926.3534
+  23749067.2514   -4614677.92349  -3287121.05445  23749067.4524   23749072.2194
+     -3347.9294      -2608.7714
+  24947080.5884   -2030915.28249  -1532247.74545  24947079.0464   24947085.3944
+     -2940.9734      -2291.6674
+  20981243.3074  -20386010.62649 -15632052.95147  20981242.5094   20981246.6064
+     -2421.9284      -1887.2114
+ 05  1 20  3 54  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20442917.2504  -22136145.57849 -17228023.39148  20442916.8394   20442921.4324
+       101.3094         78.9444
+  20434943.7594  -26452618.52749 -20594233.34848  20434943.6614   20434947.5134
+       426.9954        332.7264
+  20468143.6394  -21281975.73549 -16563032.55448  20468143.0384   20468148.5864
+       686.0884        534.6154
+  21518182.3524  -19688696.80149 -15327113.33648  21518182.7194   21518185.0124
+      1910.4244       1488.6454
+  25125711.2704    1859414.18449   1450098.83745  25125712.9314   25125714.1214
+     -1320.1354      -1028.6844
+  22883494.6934  -10451482.84149  -7901467.53846  22883493.2514   22883497.5564
+      2464.6314       1920.4934
+  23768180.8174   -4514241.40449  -3208858.82145  23768179.8734   23768183.4004
+     -3347.8534      -2608.7114
+  24963866.8574   -1942710.13449  -1463516.49845  24963865.4324   24963867.1154
+     -2939.2934      -2290.3564
+  20995115.3654  -20313110.64649 -15575247.78447  20995115.4094   20995119.3414
+     -2438.0484      -1899.7774
+ 05  1 20  3 54 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20442403.7094  -22138843.93949 -17230126.01248  20442403.4104   20442408.1934
+        78.5774         61.2334
+  20432535.4584  -26465274.79349 -20604095.37548  20432535.1454   20432539.1684
+       416.7584        324.7494
+  20464286.1874  -21302245.58449 -16578827.24448  20464285.5764   20464291.1454
+       665.2054        518.3444
+  21507292.2324  -19745925.79149 -15371707.35348  21507292.4594   21507294.8444
+      1904.8324       1484.2874
+  25133280.3694    1899196.25349   1481097.79845  25133280.7934   25133286.0534
+     -1332.0054      -1037.9344
+  22869445.6694  -10525308.10449  -7958993.70946  22869444.7644   22869448.4504
+      2457.0594       1914.5824
+  23787291.2764   -4413808.43849  -3130599.35245  23787290.8854   23787296.7774
+     -3347.6874      -2608.5824
+  24980640.5804   -1854557.70149  -1394826.31345  24980640.4664   24980644.6874
+     -2937.4104      -2288.8904
+  21009079.7364  -20239729.13449 -15518067.40547  21009079.2244   21009083.0474
+     -2454.0524      -1912.2484
+ 05  1 20  3 55  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20442019.9834  -22140860.52849 -17231697.38248  20442019.7754   20442024.2584
+        55.8424         43.5114
+  20430185.4324  -26477623.28349 -20613717.56848  20430185.1564   20430189.0924
+       406.4724        316.7274
+  20460548.8114  -21321888.21549 -16594133.19348  20460547.9834   20460553.1474
+       644.2654        502.0194
+  21496433.8544  -19802986.56249 -15416170.28348  21496433.8594   21496436.4414
+      1899.1844       1479.8764
+  25140920.2424    1939334.07349   1512374.02845  25140919.5624   25140923.1654
+     -1343.8704      -1047.1734
+  22855439.2074  -10598906.76149  -8016343.30246  22855438.7254   22855442.7854
+      2449.5044       1908.6994
+  23806402.1184   -4313380.38649  -3052343.72045  23806403.3914   23806406.3344
+     -3347.4694      -2608.4314
+  24997405.1674   -1766458.71149  -1326177.83445  24997405.3944   24997410.2894
+     -2935.6944      -2287.5474
+  21023135.0224  -20165868.07449 -15460513.33747  21023134.4644   21023138.4704
+     -2470.0164      -1924.6884
+ 05  1 20  3 55 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20441765.5954  -22142195.47649 -17232737.60548  20441765.4184   20441770.0604
+        33.1464         25.8294
+  20427894.5554  -26489662.64749 -20623098.89548  20427894.2784   20427898.1154
+       396.1644        308.6994
+  20456930.4634  -21340902.58549 -16608949.59048  20456929.9384   20456934.9034
+       623.3214        485.7064
+  21485608.5004  -19859877.89049 -15460501.18248  21485607.7934   21485610.1964
+      1893.5464       1475.4884
+  25148624.8174    1979825.40249   1543925.74845  25148624.4794   25148629.8534
+     -1355.6074      -1056.3254
+  22841477.6884  -10672278.32449  -8073515.93246  22841477.1854   22841479.8974
+      2441.9154       1902.7884
+  23825512.2414   -4212958.33049  -2974092.79446  23825513.2254   23825517.6104
+     -3347.3034      -2608.2934
+  25014159.5014   -1678413.84149  -1257571.47745  25014159.1124   25014163.1484
+     -2933.9174      -2286.1664
+  21037281.2244  -20091529.67449 -15402587.32447  21037280.6524   21037284.7264
+     -2485.8674      -1937.0374
+ 05  1 20  3 56  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20441641.1314  -22142848.72349 -17233246.62748  20441641.1554   20441646.2214
+        10.4084          8.1114
+  20425663.2534  -26501392.24749 -20632238.85248  20425662.5484   20425665.9794
+       385.8124        300.6354
+  20453432.4844  -21359287.56449 -16623275.55048  20453431.4114   20453436.6444
+       602.3144        469.3364
+  21474814.5944  -19916598.61549 -15504699.15248  21474814.3734   21474816.5674
+      1887.8194       1471.0284
+  25156394.8474    2020668.16848   1575751.31345  25156393.5244   25156400.7864
+     -1367.2024      -1065.3584
+  22827557.4194  -10745422.63849  -8130511.48846  22827557.2794   22827562.2364
+      2434.3004       1896.8484
+  23844621.7364   -4112543.78849  -2895847.66346  23844620.1954   23844625.8074
+     -3347.0944      -2608.1334
+  25030902.2704   -1590423.82549  -1189007.85345  25030902.3584   25030908.7434
+     -2932.0254      -2284.6934
+  21051517.7614  -20016716.10249 -15344291.04947  21051517.1354   21051521.1564
+     -2501.6794      -1949.3564
+ 05  1 20  3 56 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20441647.2164  -22142820.32949 -17233224.50648  20441646.7254   20441651.2594
+       -12.2974         -9.5834
+  20423489.7664  -26512810.64949 -20641136.30148  20423489.3194   20423493.1244
+       375.4134        292.5284
+  20450053.0184  -21377041.99849 -16637110.17148  20450052.5134   20450057.8824
+       581.2904        452.9514
+  21464053.5274  -19973147.45449 -15548763.18148  21464053.6244   21464055.5574
+      1882.0864       1466.5584
+  25164237.2994    2061859.89949   1607848.81745  25164235.6024   25164238.9444
+     -1378.9184      -1074.4834
+  22813681.9284  -10818339.22449  -8187329.59346  22813681.5674   22813686.8054
+      2426.7174       1890.9664
+  23863726.8814   -4012137.96749  -2817609.39146  23863728.0044   23863731.3864
+     -3346.7074      -2607.8214
+  25047637.0814   -1502489.11949  -1120487.34545  25047636.8684   25047640.0944
+     -2930.2034      -2283.2804
+  21065844.5944  -19941429.80649 -15285626.41647  21065843.6924   21065847.0494
+     -2517.3954      -1961.6074
+ 05  1 20  3 57  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20441782.0144  -22142110.42549 -17232671.32948  20441781.9204   20441786.2864
+       -35.0134        -27.2834
+  20421376.3744  -26523916.95049 -20649790.56848  20421376.1874   20421379.8144
+       365.0184        284.4324
+  20446794.9744  -21394164.91449 -16650452.70248  20446794.1674   20446799.3444
+       560.2124        436.5324
+  21453324.7354  -20029523.35849 -15592692.45648  21453325.1994   21453327.4124
+      1876.3024       1462.0514
+  25172139.8304    2103398.47949   1640216.49845  25172139.4934   25172145.6804
+     -1390.3704      -1083.3874
+  22799850.8604  -10891027.82049  -8243970.07146  22799850.2134   22799854.0214
+      2419.1504       1885.0514
+  23882831.7794   -3911742.29449  -2739379.00646  23882832.0524   23882835.6224
+     -3346.3634      -2607.5554
+  25064360.0124   -1414610.56749  -1052010.59945  25064360.6444   25064363.3214
+     -2928.3134      -2281.7984
+  21080260.2654  -19865672.90249 -15226595.06947  21080259.6824   21080264.1364
+     -2533.0474      -1973.8034
+ 05  1 20  3 57 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20442046.5774  -22140719.28649 -17231587.32748  20442046.2624   20442050.8104
+       -57.7094        -44.9704
+  20419322.5584  -26534710.27049 -20658200.95048  20419322.2234   20419325.9204
+       354.5574        276.2774
+  20443656.3334  -21410655.23449 -16663302.30148  20443656.0064   20443661.3254
+       539.1294        420.0994
+  21442630.3924  -20085725.18949 -15636486.07848  21442630.3574   21442632.7934
+      1870.4794       1457.5094
+  25180111.9584    2145281.69849   1672852.75745  25180110.9034   25180113.0054
+     -1401.8054      -1092.3124
+  22786062.2484  -10963488.42949  -8300432.86946  22786061.2704   22786065.7214
+      2411.5424       1879.1234
+  23901935.3434   -3811357.90449  -2661157.38746  23901934.8834   23901937.5514
+     -3345.9644      -2607.2444
+  25081071.2734   -1326788.77949   -983578.01145  25081071.9164   25081074.7184
+     -2926.3964      -2280.3094
+  21094765.3384  -19789447.62949 -15167198.76547  21094764.6874   21094768.7914
+     -2548.6114      -1985.9304
+ 05  1 20  3 58  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20442441.2344  -22138647.12949 -17229972.66148  20442440.8404   20442445.4464
+       -80.4194        -62.6634
+  20417328.2704  -26545189.17249 -20666366.32748  20417327.9814   20417332.0804
+       344.0564        268.0954
+  20440640.1364  -21426512.07049 -16675658.28248  20440638.9504   20440643.9074
+       517.9954        403.6334
+  21431969.4874  -20141751.47149 -15680142.93048  21431969.4314   21431971.4944
+      1864.6124       1452.9444
+  25188147.3264    2187506.94349   1705755.53645  25188146.3144   25188149.1174
+     -1413.2084      -1101.1964
+  22772317.0574  -11035720.55149  -8356717.62946  22772316.6734   22772321.5024
+      2403.9124       1873.1894
+  23921034.7854   -3710986.20749  -2582945.69046  23921035.2394   23921038.4374
+     -3345.4994      -2606.8764
+  25097771.7084   -1239024.31449   -915190.14345  25097770.6004   25097776.2464
+     -2924.4164      -2278.7694
+  21109359.5884  -19712756.26049 -15107439.27647  21109359.0804   21109362.5654
+     -2564.1234      -1998.0204
+ 05  1 20  3 58 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20442965.1724  -22135894.26349 -17227827.57048  20442964.8954   20442969.5114
+      -103.0874        -80.3244
+  20415394.7174  -26555352.65649 -20674285.92848  20415394.1914   20415397.7734
+       333.5284        259.8934
+  20437742.3154  -21441734.56649 -16687519.96248  20437741.9064   20437747.5214
+       496.8324        387.1414
+  21421341.8654  -20197601.05849 -15723662.08348  21421341.3994   21421343.7224
+      1858.7074       1448.3424
+  25196244.0694    2230071.84649   1738922.98045  25196244.1044   25196249.3934
+     -1424.3984      -1109.9174
+  22758615.1104  -11107723.92749  -8412824.16346  22758614.4284   22758618.7284
+      2396.3094       1867.2474
+  23940131.2014   -3610628.44449  -2504744.82146  23940131.3624   23940135.6914
+     -3344.9894      -2606.4894
+  25114461.3284   -1151317.94349   -846847.47745  25114461.5624   25114465.3034
+     -2922.5254      -2277.2994
+  21124041.5214  -19635601.02049 -15047318.32347  21124040.8964   21124044.3604
+     -2579.5424      -2010.0304
+ 05  1 20  3 59  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20443618.5114  -22132460.90049 -17225152.21448  20443618.0574   20443622.7214
+      -125.7664        -97.9974
+  20413520.6004  -26565199.44449 -20681958.74648  20413520.0584   20413524.0944
+       322.9474        251.6494
+  20434966.6044  -21456321.60649 -16698886.48248  20434965.9504   20434971.4784
+       475.6214        370.6134
+  21410747.2004  -20253272.77349 -15767042.63748  21410747.2884   21410750.0544
+      1852.7534       1443.6994
+  25204408.9314    2272974.09149   1772353.31245  25204408.7974   25204412.9194
+     -1435.6014      -1118.6484
+  22744956.3244  -11179498.39149  -8468752.30746  22744956.1814   22744959.4764
+      2388.6614       1861.3124
+  23959226.6344   -3510285.74349  -2426555.75046  23959226.9144   23959230.9434
+     -3344.5204      -2606.1294
+  25131142.5504   -1063670.11149   -778550.44045  25131141.9724   25131144.9594
+     -2920.5764      -2275.7794
+  21138811.3664  -19557984.38649 -14986837.82947  21138811.0094   21138814.7324
+     -2594.8854      -2021.9914
+ 05  1 20  3 59 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20444400.6724  -22128347.28949 -17221946.80848  20444400.5504   20444405.5304
+      -148.4534       -115.6734
+  20411706.8104  -26574728.70349 -20689384.13848  20411706.6654   20411710.8424
+       312.3424        243.3854
+  20432312.1854  -21470272.38649 -16709757.22048  20432311.5394   20432316.8654
+       454.4104        354.0904
+  21400188.3594  -20308765.43449 -15810283.67948  21400187.6524   21400190.2944
+      1846.7534       1439.0314
+  25212636.0624    2316211.50249   1806044.77845  25212634.2694   25212639.7024
+     -1446.8224      -1127.3864
+  22731341.5204  -11251043.55549  -8524501.78146  22731341.4444   22731345.0284
+      2381.0664       1855.3764
+  23978319.3784   -3409959.55649  -2348379.49346  23978318.3514   23978321.1824
+     -3343.9424      -2605.6684
+  25147809.1674    -976081.59149   -710299.70445  25147810.6224   25147813.6304
+     -2918.5564      -2274.1994
+  21153668.3794  -19479908.71849 -14925999.65247  21153668.0404   21153672.1624
+     -2610.1544      -2033.8834
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20  4  0  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20445313.0784  -22123553.79949 -17218211.62248  20445312.8974   20445317.7084
+      -171.0844       -133.3144
+  20409954.5794  -26583939.32649 -20696561.24748  20409954.2114   20409957.9454
+       301.6994        235.0914
+  20429778.6854  -21483586.17649 -16720131.60448  20429778.0414   20429783.4224
+       433.1564        337.5274
+  21389661.8564  -20364077.68049 -15853384.13748  21389662.0644   21389664.6044
+      1840.7154       1434.3254
+  25220923.4104    2359781.70048   1839995.56444  25220926.0404   25220933.1794
+     -1457.7744      -1135.9354
+  22717771.4074  -11322359.11349  -8580072.34046  22717770.8404   22717774.4024
+      2373.3054       1849.3254
+  23997406.3684   -3309650.89549  -2270216.91146  23997406.6464   23997410.1384
+     -3343.3044      -2605.1844
+  25164466.4284    -888552.89949   -642095.57645  25164464.5554   25164469.0914
+     -2916.6134      -2272.6824
+  21168613.7724  -19401376.45649 -14864805.69247  21168612.8834   21168616.6334
+     -2625.3154      -2045.7004
+ 05  1 20  4  0 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20446354.2564  -22118080.92749 -17213947.04448  20446354.2904   20446359.0964
+      -193.7484       -150.9794
+  20408262.8004  -26592829.92049 -20703488.98548  20408262.1704   20408265.8874
+       291.0174        226.7654
+  20427366.3374  -21496262.03849 -16730008.89848  20427365.7144   20427371.0704
+       411.8784        320.9424
+  21379171.1674  -20419208.39649 -15896343.13548  21379170.9394   21379173.4484
+      1834.6484       1429.5954
+  25229283.2004    2403682.38849   1874203.91945  25229281.1654   25229287.0794
+     -1468.8554      -1144.5584
+  22704244.3874  -11393445.17849  -8635464.06346  22704243.6174   22704247.8754
+      2365.7094       1843.4114
+  24016488.7354   -3209361.23649  -2192069.11345  24016489.0644   24016495.4554
+     -3342.6414      -2604.6424
+  25181108.9744    -801084.68549   -573938.43445  25181109.4954   25181112.9494
+     -2914.5034      -2271.0374
+  21183644.5324  -19322389.95749 -14803257.76747  21183643.3294   21183647.1494
+     -2640.4174      -2057.4714
+ 05  1 20  4  1  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20447526.0044  -22111929.07849 -17209153.39948  20447525.2204   20447529.7744
+      -216.3744       -168.6014
+  20406631.8254  -26601399.66649 -20710166.71548  20406631.4554   20406635.2454
+       280.3044        218.4204
+  20425076.0774  -21508299.34349 -16739388.62048  20425075.2854   20425080.5884
+       390.5924        304.3554
+  21368714.8054  -20474156.19649 -15939159.60648  21368714.9764   21368717.1454
+      1828.5314       1424.8334
+  25237697.1954    2447911.20249   1908667.91545  25237696.8414   25237702.4464
+     -1479.8014      -1153.0984
+  22690759.7154  -11464301.19949  -8690676.55746  22690759.6154   22690763.5074
+      2357.9694       1837.3904
+  24035571.0814   -3109091.52049  -2113936.88445  24035571.2824   24035576.5654
+     -3341.9814      -2604.1444
+  25197744.4714    -713677.57849   -505828.96545  25197744.0554   25197748.4724
+     -2912.5524      -2269.5114
+  21198760.1944  -19242951.33049 -14741357.56147  21198760.1294   21198763.9884
+     -2655.4694      -2069.1874
+ 05  1 20  4  1 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20448824.9814  -22105098.68749 -17203831.01348  20448824.8724   20448829.8344
+      -238.9754       -186.2134
+  20405062.8834  -26609647.25949 -20716593.41848  20405062.2474   20405065.8434
+       269.5324        210.0284
+  20422906.7304  -21519697.27249 -16748270.13148  20422906.3054   20422911.3474
+       369.2574        287.7364
+  21358294.1524  -20528919.86349 -15981832.59148  21358293.8264   21358295.9034
+      1822.3694       1420.0284
+  25246176.5084    2492465.77949   1943385.82844  25246176.0164   25246180.6374
+     -1490.5794      -1161.4904
+  22677320.1394  -11534926.89849  -8745709.57446  22677319.7394   22677324.0564
+      2350.3464       1831.4464
+  24054645.5364   -3008843.18749  -2035821.28645  24054647.0344   24054652.8374
+     -3341.2904      -2603.5914
+  25214364.3334    -626332.22049   -437767.66745  25214364.1844   25214367.6424
+     -2910.4064      -2267.8534
+  21213962.5774  -19163062.93949 -14679106.86447  21213962.2554   21213966.1214
+     -2670.4214      -2080.8494
+ 05  1 20  4  2  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20450253.6324  -22097590.14149 -17197980.20348  20450253.4934   20450258.1604
+      -261.5874       -203.8384
+  20403554.5134  -26617571.97649 -20722768.51248  20403554.0654   20403557.6974
+       258.7564        201.6254
+  20420859.8264  -21530455.10049 -16756652.84948  20420859.1994   20420864.0924
+       347.9034        271.0864
+  21347908.3664  -20583498.12349 -16024361.09548  21347907.8594   21347909.9944
+      1816.1704       1415.1914
+  25254717.5844    2537343.96549   1978355.80245  25254718.9554   25254720.4314
+     -1501.3024      -1169.8404
+  22663925.0624  -11605322.14449  -8800563.00046  22663924.1374   22663928.9654
+      2342.6694       1825.4624
+  24073720.2774   -2908617.23049  -1957723.12745  24073720.2604   24073724.9934
+     -3340.5074      -2602.9974
+  25230971.8114    -539049.12249   -369754.89945  25230971.1474   25230977.0834
+     -2908.3464      -2266.2494
+  21229250.2854  -19082727.50849 -14616507.83047  21229249.2994   21229253.7064
+     -2685.2884      -2092.4364
+ 05  1 20  4  2 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20451811.4964  -22089403.91249 -17191601.32248  20451811.5924   20451816.1784
+      -284.1714       -221.4324
+  20402108.1144  -26625172.46049 -20728690.96848  20402107.7374   20402111.6764
+       247.9384        193.2014
+  20418934.8254  -21540572.03249 -16764536.17448  20418934.0364   20418938.9414
+       326.5384        254.4434
+  21337557.3874  -20637889.83049 -16066744.23948  21337557.3544   21337559.3634
+      1809.9134       1410.3234
+  25263316.1324    2582543.16349   2013575.97245  25263318.0404   25263321.9354
+     -1511.9574      -1178.1494
+  22650573.9234  -11675486.77649  -8855236.73446  22650573.6504   22650576.4924
+      2334.9894       1819.4654
+  24092786.8014   -2808414.93449  -1879643.45445  24092785.9104   24092792.9394
+     -3339.7664      -2602.4134
+  25247571.1514    -451828.72649   -301790.96045  25247571.6084   25247575.2574
+     -2906.3034      -2264.6524
+  21244622.1354  -19001947.46849 -14553562.34547  21244621.9744   21244625.2684
+     -2700.0644      -2103.9484
+ 05  1 20  4  3  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20453498.6234  -22080540.51349 -17184694.77648  20453498.5194   20453502.9634
+      -306.7204       -238.9984
+  20400723.6684  -26632447.67649 -20734359.97348  20400723.3954   20400727.2574
+       237.0904        184.7474
+  20417131.2194  -21550047.36649 -16771919.55948  20417130.8934   20417136.1544
+       305.1414        237.7764
+  21327243.0444  -20692093.72649 -16108981.04348  21327242.8164   21327245.0514
+      1803.6594       1405.4554
+  25271980.9604    2628060.98949   2049044.39945  25271979.0194   25271982.4534
+     -1522.5084      -1186.3684
+  22637265.2234  -11745420.43149  -8909730.51046  22637265.3084   22637269.5464
+      2327.3074       1813.4944
+  24111849.3444   -2708237.57549  -1801583.19345  24111849.9884   24111855.7904
+     -3338.8724      -2601.7144
+  25264152.4624    -364671.64648   -233876.38045  25264154.7644   25264161.7424
+     -2904.1074      -2262.9474
+  21260078.0364  -18920725.24449 -14490272.29747  21260077.2204   21260081.3124
+     -2714.7334      -2115.3684
+ 05  1 20  4  3 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20455314.1884  -22071000.53549 -17177261.02948  20455313.6614   20455318.2204
+      -329.2694       -256.5764
+  20399401.4514  -26639396.61449 -20739774.73448  20399400.9974   20399404.8064
+       226.1724        176.2384
+  20415450.8624  -21558880.53149 -16778802.54348  20415450.0674   20415455.0664
+       283.7194        221.0764
+  21316964.8604  -20746108.42249 -16151070.42248  21316964.3074   21316966.2714
+      1797.3044       1400.4954
+  25280702.3354    2673895.07249   2084759.24245  25280700.6364   25280707.8774
+     -1533.0634      -1194.5974
+  22624001.1404  -11815122.76149  -8964043.99946  22624000.8394   22624005.1494
+      2319.5654       1807.4374
+  24130909.3264   -2608086.06449  -1723543.10245  24130909.6814   24130913.1704
+     -3337.9704      -2601.0124
+  25280731.2324    -277578.68449   -166011.71044  25280731.1484   25280732.9544
+     -2902.0104      -2261.3014
+  21275617.2914  -18839063.38949 -14426639.68147  21275616.9214   21275620.8864
+     -2729.3694      -2126.7904
+ 05  1 20  4  4  0.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20457257.3814  -22060784.72249 -17169300.65448  20457257.4214   20457262.2174
+      -351.7854       -274.1204
+  20398140.9444  -26646018.05549 -20744934.29648  20398140.7994   20398144.7624
+       215.2464        167.7264
+  20413891.9554  -21567070.76149 -16785184.54648  20413891.4364   20413896.4284
+       262.2554        204.3524
+  21306722.3044  -20799932.55449 -16193011.30348  21306721.9564   21306723.9794
+      1790.9294       1395.5294
+  25289483.6254    2720042.99949   2120718.65845  25289483.4994   25289483.4194
+     -1543.4204      -1202.6694
+  22610781.7224  -11884593.87149  -9018177.31346  22610781.5744   22610785.9454
+      2311.8514       1801.4514
+  24149961.8004   -2507961.90849  -1645524.29445  24149962.5354   24149967.2714
+     -3337.0254      -2600.2774
+  25297286.4254    -190550.04848    -98197.24744  25297286.0254   25297291.4934
+     -2899.9734      -2259.7234
+  21291240.5514  -18756964.20649 -14362666.30747  21291239.7394   21291244.3024
+     -2743.8844      -2138.0834
+ 05  1 20  4  4 30.0000000  0  9G 9G18G15G22G 3G14G26G29G21
+  20459330.6364  -22049893.38949 -17160813.89548  20459330.3944   20459334.7684
+      -374.2964       -291.6624
+  20396943.5094  -26652311.42149 -20749838.21848  20396943.2814   20396947.0664
+       204.3154        159.2064
+  20412455.7674  -21574617.33149 -16791064.99348  20412455.3104   20412460.4604
+       240.8164        187.6514
+  21296516.6204  -20853565.10549 -16234802.89848  21296516.1324   21296517.9644
+      1784.5334       1390.5424
+  25298322.5294    2766502.43948   2156920.80545  25298322.9234   25298329.4284
+     -1553.7444      -1210.7034
+  22597605.2354  -11953833.44249  -9072130.24346  22597604.8924   22597609.8674
+      2304.1234       1795.4254
+  24169012.3574   -2407865.97049  -1567527.49045  24169011.0074   24169015.0014
+     -3336.1074      -2599.5634
+  25313836.9354    -103586.55649    -30433.42845  25313838.5334   25313843.9934
+     -2897.6144      -2257.8814
+  21306945.8254  -18674429.92949 -14298353.89747  21306945.9634   21306949.7884
+     -2758.3704      -2149.3834
+ 05  1 20  4  5  0.0000000  0  8G 9G18G15G22G14G26G29G21
+  20461531.3194  -22038327.40749 -17151801.44648  20461530.9394   20461535.6474
+      -396.7624       -309.1644
+  20395808.8064  -26658275.22349 -20754485.34248  20395808.3854   20395812.1394
+       193.2994        150.6264
+  20411142.5504  -21581519.89249 -16796443.61448  20411141.8584   20411147.0334
+       219.3334        170.9124
+  21286346.9784  -20907004.51549 -16276443.99248  21286346.5934   21286348.8924
+      1778.0784       1385.5174
+  22584473.0714  -12022841.27349  -9125902.57246  22584473.1554   22584477.5814
+      2296.3744       1789.3814
+  24188052.6074   -2307799.41949  -1489553.59045  24188052.6354   24188056.6964
+     -3335.0494      -2598.7424
+  25330375.1714     -16688.44449     37279.32945  25330376.5214   25330379.6744
+     -2895.5154      -2256.2404
+  21322734.9784  -18591463.35049 -14233704.63847  21322734.1604   21322737.8834
+     -2772.7294      -2160.5644
+ 05  1 20  4  5 30.0000000  0  8G 9G18G15G22G14G26G29G21
+  20463860.3944  -22026087.32349 -17142263.72148  20463860.2334   20463865.1864
+      -419.2104       -326.6544
+  20394736.5814  -26663908.58749 -20758874.97348  20394736.2684   20394740.2454
+       182.2824        142.0394
+  20409951.7744  -21587777.69149 -16801319.82848  20409951.1164   20409956.3304
+       197.8244        154.1504
+  21276214.5544  -20960249.58649 -16317933.65848  21276214.2774   21276216.5094
+      1771.5824       1380.4524
+  22571386.3944  -12091617.17249  -9179494.20346  22571385.7774   22571389.9444
+      2288.6694       1783.3814
+  24207087.8774   -2207763.46449  -1411603.51245  24207087.9054   24207092.9834
+     -3333.9934      -2597.9124
+  25346899.1554      70143.36049    104940.43145  25346899.0854   25346901.8804
+     -2893.3074      -2254.5274
+  21338603.7844  -18508066.83349 -14168720.37447  21338603.3204   21338607.8784
+     -2787.0034      -2171.6904
+ 05  1 20  4  6  0.0000000  0  8G 9G18G15G22G14G26G29G21
+  20466317.6754  -22013174.00849 -17132201.39648  20466317.4444   20466322.2194
+      -441.6624       -344.1574
+  20393727.9594  -26669210.20649 -20763006.10948  20393727.7284   20393731.2634
+       171.1934        133.3974
+  20408883.7194  -21593390.20349 -16805693.21048  20408883.0044   20408888.0914
+       176.3184        137.3864
+  21266119.8004  -21013299.03849 -16359270.88748  21266119.4194   21266121.6714
+      1765.0344       1375.3484
+  22558343.3784  -12160160.96249  -9232904.94046  22558342.1914   22558347.0114
+      2280.9074       1777.3284
+  24226119.8214   -2107759.36249  -1333678.24345  24226119.0284   24226123.8654
+     -3332.9494      -2597.0994
+  25363409.0384     156908.52849    172549.72845  25363409.4964   25363413.0374
+     -2891.0034      -2252.7234
+  21354555.0794  -18424243.11149 -14103403.23147  21354554.7894   21354558.9834
+     -2801.2304      -2182.7734
+ 05  1 20  4  6 30.0000000  0  8G 9G18G15G22G14G26G29G21
+  20468903.0024  -21999588.27249 -17121615.10948  20468903.0664   20468907.5254
+      -464.0734       -361.6214
+  20392781.8444  -26674179.09949 -20766877.97148  20392781.6934   20392785.5984
+       160.0674        124.7304
+  20407938.2964  -21598357.04249 -16809563.48148  20407937.7814   20407943.0544
+       154.7794        120.5974
+  21256062.3204  -21066151.55849 -16400454.66248  21256061.9914   21256064.1114
+      1758.4484       1370.2164
+  22545342.5614  -12228472.48649  -9286134.69446  22545343.2594   22545347.2854
+      2273.1694       1771.2924
+  24245142.0304   -2007787.66649  -1255778.25045  24245141.2224   24245147.8634
+     -3331.8624      -2596.2504
+  25379908.8804     243606.78749    240106.87545  25379909.1294   25379913.2094
+     -2888.7454      -2250.9664
+  21370586.8454  -18339994.50849 -14037754.96147  21370586.9394   21370590.5674
+     -2815.3404      -2193.7744
+ 05  1 20  4  7  0.0000000  0  7G 9G18G15G22G14G26G21
+  20471616.3214  -21985330.75449 -17110505.35048  20471616.0944   20471620.8784
+      -486.4404       -379.0434
+  20391900.2594  -26678814.34049 -20770489.85148  20391899.9004   20391903.7214
+       148.9434        116.0604
+  20407116.2254  -21602677.78949 -16812930.30448  20407115.5524   20407120.8794
+       133.2474        103.8274
+  21246041.7714  -21118805.79049 -16441483.93348  21246041.9504   21246044.2404
+      1751.8284       1365.0614
+  22532389.7644  -12296551.40749  -9339183.20946  22532388.8944   22532391.6994
+      2265.4234       1765.2744
+  24264159.5534   -1907849.87349  -1177904.66745  24264159.7084   24264164.8744
+     -3330.7514      -2595.3884
+  21386699.4324  -18255323.91949 -13971777.90347  21386698.9694   21386702.9684
+     -2829.3704      -2204.7034
+ 05  1 20  4  7 30.0000000  0  7G 9G18G15G22G14G26G21
+  20474456.8144  -21970402.22049 -17098872.72948  20474456.7214   20474461.7114
+      -508.8004       -396.4694
+  20391082.3264  -26683115.22049 -20773841.18748  20391081.4234   20391085.4384
+       137.7594        107.3464
+  20406416.9084  -21606351.85849 -16815793.22348  20406416.3004   20406421.7474
+       111.6874         87.0314
+  21236061.1594  -21171260.42649 -16482357.67248  21236060.4824   21236062.5164
+      1745.1464       1359.8554
+  22519477.8944  -12364397.73949  -9392050.47146  22519477.5594   22519481.3764
+      2257.6614       1759.2084
+  24283172.4014   -1807947.09149  -1100058.34845  24283172.2764   24283175.7654
+     -3329.5494      -2594.4534
+  21402893.0684  -18170233.45349 -13905473.64847  21402891.5574   21402895.6154
+     -2843.3244      -2215.5764
+ 05  1 20  4  8  0.0000000  0  7G 9G18G15G22G14G26G21
+  20477425.2304  -21954803.53249 -17086717.91148  20477425.1384   20477429.7754
+      -531.1214       -413.8624
+  20390327.1714  -26687080.05049 -20776930.66448  20390326.8554   20390331.0004
+       126.5474         98.6054
+  20405840.9364  -21609378.88449 -16818151.94348  20405840.1584   20405845.7244
+        90.0844         70.1954
+  21226117.0004  -21223514.19349 -16523074.89348  21226116.8484   21226118.8534
+      1738.4234       1354.6134
+  22506609.6414  -12432011.32849  -9444736.37046  22506610.7014   22506614.7744
+      2249.9074       1753.1704
+  24302176.1774   -1708080.23449  -1022240.02645  24302175.6254   24302179.9854
+     -3328.2734      -2593.4614
+  21419163.3284  -18084725.53149 -13838844.11947  21419163.1684   21419167.4604
+     -2857.2014      -2226.3934
+ 05  1 20  4  8 30.0000000  0  7G 9G18G15G22G14G26G21
+  20480520.9634  -21938535.53049 -17074041.54648  20480521.0194   20480525.3864
+      -553.3994       -431.2244
+  20389637.0084  -26690708.22449 -20779757.81648  20389636.6644   20389640.4864
+       115.3264         89.8604
+  20405387.6414  -21611758.54549 -16820006.22248  20405387.2974   20405392.7814
+        68.5254         53.3914
+  21216211.4374  -21275565.65349 -16563634.47048  21216211.7054   21216213.7454
+      1731.6644       1349.3484
+  22493789.3544  -12499391.79349  -9497240.63946  22493789.1284   22493792.8134
+      2242.1844       1747.1364
+  24321171.8644   -1608250.60349   -944450.72845  24321172.7354   24321174.6514
+     -3327.0314      -2592.4964
+  21435514.6554  -17998803.48949 -13771891.90847  21435513.6744   21435517.4914
+     -2870.9404      -2237.0994
+ 05  1 20  4  9  0.0000000  0  7G 9G18G15G22G14G26G21
+  20483744.2074  -21921599.00349 -17060844.25048  20483743.9344   20483747.9614
+      -575.6634       -448.5724
+  20389010.6694  -26693998.22349 -20782321.45248  20389010.4584   20389014.5114
+       104.0434         81.0684
+  20405058.6084  -21613490.52949 -16821355.82648  20405057.9384   20405063.2204
+        46.9304         36.5674
+  21206345.6914  -21327413.45549 -16604035.35248  21206345.1994   21206347.5774
+      1724.8694       1344.0504
+  22481011.6674  -12566539.06449  -9549563.19947  22481010.5464   22481015.6944
+      2234.3734       1741.0564
+  24340161.8724   -1508459.06949   -866691.08545  24340162.2164   24340166.5954
+     -3325.7814      -2591.5174
+  21451942.4854  -17912469.52249 -13704618.72147  21451941.9964   21451945.8944
+     -2884.6604      -2247.7874
+ 05  1 20  4  9 30.0000000  0  7G 9G18G15G22G14G26G21
+  20487093.7204  -21903995.12249 -17047126.94148  20487093.3954   20487098.3204
+      -597.9124       -465.9034
+  20388449.7274  -26696949.36949 -20784621.04948  20388449.0694   20388452.8604
+        92.7144         72.2454
+  20404853.3964  -21614574.42649 -16822200.42648  20404851.9984   20404856.9094
+        25.3234         19.7344
+  21196518.1674  -21379056.29049 -16644276.51948  21196517.7774   21196520.4814
+      1717.9914       1338.6984
+  22468276.7114  -12633453.03249  -9601703.94646  22468277.1124   22468283.0314
+      2226.5804       1735.0074
+  24359144.7374   -1408706.63649   -788961.90945  24359144.4724   24359150.7394
+     -3324.4284      -2590.4624
+  21468449.9164  -17825725.79049 -13637026.23047  21468449.1484   21468452.7264
+     -2898.2364      -2258.3694
+ 05  1 20  4 10  0.0000000  0  7G 9G18G15G22G14G26G21
+  20490570.2754  -21885724.62949 -17032890.19848  20490570.4974   20490575.1904
+      -620.0984       -483.1934
+  20387952.2004  -26699560.38749 -20786655.61548  20387952.2654   20387956.0424
+        81.3904         63.4254
+  20404769.0414  -21615009.85349 -16822539.72548  20404768.6044   20404774.1954
+         3.7064          2.8904
+  21186730.4114  -21430492.82049 -16684356.92748  21186729.8444   21186732.3004
+      1711.1024       1333.3284
+  22455589.5274  -12700133.70749  -9653662.90947  22455589.2304   22455593.2334
+      2218.8104       1728.9414
+  24378119.4994   -1308994.41349   -711264.07345  24378118.5794   24378123.0564
+     -3323.0714      -2589.4064
+  21485033.5714  -17738575.55449 -13569116.96547  21485032.9924   21485037.6034
+     -2911.7814      -2268.9154
+ 05  1 20  4 10 30.0000000  0  7G 9G18G15G22G14G26G21
+  20494174.1544  -21866788.49549 -17018134.76248  20494173.8924   20494178.4484
+      -642.2804       -500.4814
+  20387520.5434  -26701829.96449 -20788424.11348  20387520.1674   20387524.0424
+        69.9714         54.5184
+  20404810.1864  -21614796.62349 -16822373.57948  20404809.4874   20404814.5654
+       -17.9414        -13.9804
+  21176981.5594  -21481721.82149 -16724275.63448  21176981.6514   21176983.6204
+      1704.1524       1327.9094
+  22442944.1844  -12766580.77949  -9705439.84946  22442944.1764   22442948.6424
+      2211.0124       1722.8624
+  24397086.6224   -1209323.55149   -633598.46345  24397087.0184   24397090.6514
+     -3321.6914      -2588.3394
+  21501694.5904  -17651021.24549 -13500892.86947  21501694.1894   21501697.9104
+     -2925.2334      -2279.4034
+ 05  1 20  4 11  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20497904.0054  -21847187.62249 -17002861.35848  20497903.9274   20497908.0864
+      -664.4204       -517.7264
+  20387153.9714  -26703757.71849 -20789926.26148  20387153.4464   20387157.1564
+        58.5474         45.6224
+  20404972.9674  -21613934.44249 -16821701.74948  20404972.8244   20404978.6694
+       -39.5714        -30.8354
+  24436613.6704     -63275.70749    -31057.65543
+      2794.9414       2177.8754
+  21167273.3194  -21532741.93349 -16764031.56448  21167272.6944   21167275.0254
+      1697.1664       1322.4664
+  22430343.7194  -12832794.08449  -9757034.64246  22430343.8964   22430348.5164
+      2203.2104       1716.7894
+  24416043.6594   -1109694.66249   -555965.56345  24416043.9834   24416047.6134
+     -3320.2404      -2587.1964
+  21518432.2624  -17563065.39149 -13432355.82447  21518431.6584   21518436.3584
+     -2938.5014      -2289.7374
+ 05  1 20  4 11 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20501760.3434  -21826923.17349 -16987070.87348  20501760.0524   20501764.6564
+      -686.5264       -534.9584
+  20386852.6984  -26705342.43049 -20791161.10548  20386852.1684   20386855.5444
+        47.0864         36.6904
+  20405262.1444  -21612423.19449 -16820524.16048  20405261.1744   20405266.0824
+       -61.2054        -47.6914
+                   -147092.07041    -76780.411 4                  24425450.754
+      2792.8134       2176.681
+  21157603.9334  -21583551.58049 -16803623.49348  21157603.6254   21157606.3064
+      1690.1324       1316.9794
+  22417790.0914  -12898773.53549  -9808447.20547  22417789.4454   22417793.0804
+      2195.4034       1710.7134
+  24434994.0294   -1010109.10449   -478366.45845  24434994.4174   24434997.1454
+     -3318.7644      -2586.0384
+  21535245.3154  -17474710.76349 -13363508.10047  21535244.8884   21535249.5244
+     -2951.7784      -2300.0834
+ 05  1 20  4 12  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20505742.4864  -21805996.18849 -16970764.13148  20505742.1864   20505746.7154
+      -708.5964       -552.1504
+  20386615.8624  -26706583.03249 -20792127.81048  20386615.7734   20386619.6644
+        35.6104         27.7474
+  20405673.0134  -21610262.88049 -16818840.80748  20405672.2514   20405677.4834
+       -82.8444        -64.5544
+                   -230842.36941   -106160.753 5                  24418284.545
+      2790.6824       2176.497
+  21147975.4934  -21634149.58349 -16843050.50948  21147975.2774   21147977.5014
+      1683.0594       1311.4774
+  22405278.4594  -12964519.07049  -9859677.47947  22405278.1624   22405282.2584
+      2187.6264       1704.6374
+  24453937.5294    -910567.58449   -400801.66045  24453937.6604   24453938.1024
+     -3317.3474      -2584.9294
+  21552135.0174  -17385959.92349 -13294351.62247  21552134.1994   21552137.9154
+     -2964.9414      -2310.3404
+ 05  1 20  4 12 30.0000000  0  7G 9G18G15G22G14G26G21
+  20509850.7224  -21784407.83849 -16953942.03948  20509850.2534   20509855.0474
+      -730.6274       -569.3204
+  20386445.7184  -26707478.38849 -20792825.48748  20386445.6784   20386449.4184
+        24.0924         18.7734
+  20406206.7424  -21607453.21749 -16816651.46048  20406206.2964   20406212.0704
+      -104.4874        -81.4184
+  21138387.6714  -21684534.38149 -16882311.39048  21138387.4854   21138389.6874
+      1675.9374       1305.9254
+  22392811.3894  -13030030.58449  -9910725.41247  22392810.9714   22392815.2614
+      2179.8074       1698.5504
+  24472871.6824    -811071.48049   -323272.24145  24472871.5904   24472876.2054
+     -3315.8204      -2583.7514
+  21569098.5644  -17296815.72249 -13224888.64847  21569097.4454   21569100.9284
+     -2977.9754      -2320.5004
+ 05  1 20  4 13  0.0000000  0  7G 9G18G15G22G14G26G21
+  20514083.7614  -21762159.30549 -16936605.51848  20514083.9774   20514088.6304
+      -752.6194       -586.4544
+  20386341.5804  -26708028.15749 -20793253.87948  20386340.8944   20386344.4864
+        12.5394          9.7684
+  20406866.0914  -21603993.86549 -16813955.86748  20406865.3484   20406870.3964
+      -126.1564        -98.3024
+  21128840.4844  -21734704.81449 -16921405.22948  21128840.5164   21128842.7384
+      1668.7544       1300.3284
+  22380391.6454  -13095307.67849  -9961590.67647  22380390.6014   22380393.5764
+      2171.9984       1692.4694
+  24491795.2344    -711621.36249   -245778.64145  24491796.2384   24491800.2204
+     -3314.2394      -2582.5184
+  21586135.9394  -17207280.64249 -13155121.07647  21586135.5874   21586139.2444
+     -2990.9884      -2330.6414
+ 05  1 20  4 13 30.0000000  0  7G 9G18G15G22G14G26G21
+  20518443.0874  -21739251.78249 -16918755.49648  20518443.1084   20518448.0724
+      -774.5574       -603.5574
+  20386302.3704  -26708230.64549 -20793411.65848  20386302.1464   20386306.1254
+          .9304           .7254
+  20407648.2544  -21599884.93949 -16810754.11648  20407647.2074   20407652.2284
+      -147.7944       -115.1674
+  21119333.8844  -21784659.24649 -16960330.76148  21119334.1524   21119336.6034
+      1661.5234       1294.6914
+  22368012.4034  -13160350.45149 -10012273.36147  22368012.4464   22368016.6794
+      2164.1934       1686.3794
+  24510711.1044    -612218.42349   -168321.85345  24510711.1424   24510715.5504
+     -3312.6654      -2581.2914
+  21603248.9084  -17117357.33049 -13085051.01047  21603247.8164   21603251.0244
+     -3003.8544      -2340.6744
+ 05  1 20  4 14  0.0000000  0  7G 9G18G15G22G14G26G21
+  20522927.4844  -21715686.18449 -16900392.69848  20522927.5844   20522932.2054
+      -796.4664       -620.6234
+  20386330.5614  -26708084.97449 -20793298.15048  20386329.9604   20386334.0654
+       -10.6464         -8.2994
+  20408552.7024  -21595126.29249 -16807046.08048  20408552.1854   20408557.9494
+      -169.4634       -132.0524
+  21109869.4374  -21834396.64249 -16999087.17748  21109869.4664   21109872.0644
+      1654.2844       1289.0514
+  22355681.0364  -13225159.05949 -10062773.55547  22355679.7384   22355683.9794
+      2156.3704       1680.2824
+  24529617.0284    -512863.55249    -90902.50845  24529618.5344   24529622.3484
+     -3311.0674      -2580.0374
+  21620432.1694  -17027048.80049 -13014680.74547  21620432.2834   21620436.0084
+     -3016.6954      -2350.6694
+ 05  1 20  4 14 30.0000000  0  7G 9G18G15G22G14G26G21
+  20527537.1624  -21691463.78649 -16881518.09348  20527537.2394   20527541.7654
+      -818.3584       -637.6864
+  20386424.2594  -26707590.12449 -20792912.55748  20386424.0324   20386427.8784
+       -22.3284        -17.4024
+  20409583.3654  -21589717.85949 -16802831.71848  20409582.4304   20409587.1574
+      -191.1264       -148.9354
+  21100445.9704  -21883915.50549 -17037673.30448  21100446.3304   21100448.5664
+      1646.9524       1283.3364
+  22343393.4244  -13289733.12649 -10113091.00347  22343392.5674   22343396.0444
+      2148.5594       1674.2074
+  24548515.5824    -413557.49249    -13521.21045  24548515.4624   24548519.1294
+     -3309.4184      -2578.7744
+  21637691.4024  -16936357.46149 -12944012.17747  21637690.5304   21637694.1964
+     -3029.4064      -2360.5844
+ 05  1 20  4 15  0.0000000  0  7G 9G18G15G22G14G26G21
+  20532271.8604  -21666585.71949 -16862132.58248  20532271.1664   20532275.5444
+      -840.1814       -654.6844
+  20386585.6174  -26706745.11449 -20792254.10848  20386584.9904   20386588.8534
+       -34.0084        -26.4984
+  20410735.5994  -21583659.48749 -16798110.92348  20410735.0364   20410740.0934
+      -212.7934       -165.8114
+  21091065.1164  -21933214.48649 -17076088.09048  21091065.0344   21091067.3254
+      1639.6154       1277.6214
+  22331148.9074  -13354072.57749 -10163225.64947  22331148.7874   22331152.5064
+      2140.7214       1668.0984
+  24567402.6044    -314301.49949     63821.08245  24567402.9004   24567407.6134
+     -3307.6874      -2577.4194
+  21655020.8734  -16845285.99149 -12873047.41247  21655020.4364   21655025.0534
+     -3042.0194      -2370.4034
+ 05  1 20  4 15 30.0000000  0  7G 9G18G15G22G14G26G21
+  20537129.9584  -21641053.33649 -16842237.21848  20537129.7924   20537134.4844
+      -861.9594       -671.6544
+  20386812.8404  -26705548.88549 -20791321.98948  20386812.8274   20386816.3644
+       -45.7144        -35.6224
+  20412011.1294  -21576951.32849 -16792883.77948  20412010.4854   20412016.4494
+      -234.4234       -182.6684
+  21081725.6804  -21982291.98249 -17114330.29948  21081725.8574   21081728.4434
+      1632.2104       1271.8524
+  22318950.4474  -13418177.37049 -10213177.44247  22318949.4694   22318954.2134
+      2132.8954       1661.9964
+  24586279.8534    -215096.32549    141123.85245  24586277.5584   24586286.5414
+     -3306.0564      -2576.1534
+  21672423.6624  -16753837.30849 -12801788.69147  21672423.1064   21672427.4104
+     -3054.5624      -2380.1804
+ 05  1 20  4 16  0.0000000  0  7G 9G18G15G22G14G26G21
+  20542112.3024  -21614867.94949 -16821833.01948  20542112.5844   20542117.3574
+      -883.7064       -688.5984
+  20387107.6644  -26704000.55749 -20790115.50548  20387107.2744   20387111.0984
+       -57.4994        -44.8024
+  20413412.2494  -21569593.58749 -16787150.47748  20413411.2914   20413416.8124
+      -256.1044       -199.5584
+  21072429.4874  -22031146.57149 -17152398.80548  21072429.5864   21072431.6054
+      1624.7524       1266.0444
+  22306795.4764  -13482047.36849 -10262946.26947  22306795.5494   22306799.9984
+      2125.0274       1655.8734
+  24605148.4884    -115942.86749    218386.29645  24605149.7664   24605154.9034
+     -3304.3034      -2574.7794
+  21689896.3364  -16662013.96549 -12730238.07847  21689896.4974   21689900.6294
+     -3066.9884      -2389.8584
+ 05  1 20  4 16 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20547220.4134  -21588030.80649 -16800920.95748  20547219.5594   20547224.2504
+      -905.3994       -705.5054
+  20387469.2734  -26702099.24749 -20788633.96748  20387469.1244   20387472.8114
+       -69.2764        -53.9804
+  20414936.5664  -21561586.22749 -16780910.98948  20414935.5934   20414940.4324
+      -277.7324       -216.4134
+  24261955.3434     -19272.74149     -4877.39043
+      2765.6204       2155.0864
+  21063176.0074  -22079777.05749 -17190292.68848  21063175.6244   21063177.4504
+      1617.2804       1260.2204
+  22294687.1264  -13545682.39649 -10312532.00547  22294686.6494   22294689.9154
+      2117.2394       1649.7894
+  24624008.6144     -16842.17849    295607.61945  24624007.1104   24624011.9044
+     -3302.4524      -2573.3434
+  21707441.4984  -16569819.14549 -12658397.98547  21707440.3644   21707444.4564
+     -3079.3134      -2399.4614
+ 05  1 20  4 17  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20552450.8674  -21560543.45549 -16779502.24048  20552450.3834   20552454.7534
+      -927.0714       -722.3934
+  20387898.7104  -26699843.86549 -20786876.53548  20387898.3564   20387902.0374
+       -81.0994        -63.1974
+  20416582.8824  -21552929.43449 -16774165.44248  20416582.3804   20416587.8524
+      -299.4054       -233.3004
+  24246176.2264    -102191.83749    -69491.61644
+      2762.2644       2152.4534
+  21053963.9674  -22128181.81349 -17228010.68248  21053964.0664   21053966.2094
+      1609.6964       1254.3104
+  22282623.1994  -13609082.64349 -10361934.78447  22282622.4204   22282625.7464
+      2109.3984       1643.6884
+  24642856.6334      82204.80149    372787.04945  24642854.2264   24642859.0044
+     -3300.6754      -2571.9584
+  21725055.7104  -16477255.30749 -12586270.34047  21725055.0874   21725058.6014
+     -3091.5974      -2409.0374
+ 05  1 20  4 17 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20557804.1664  -21532407.00449 -16757577.73248  20557804.0554   20557808.9664
+      -948.6784       -739.2304
+  20388394.8554  -26697233.38449 -20784842.39048  20388394.9304   20388398.6624
+       -92.9534        -72.4334
+  20418353.1894  -21543623.22649 -16766913.84948  20418352.8524   20418358.6934
+      -321.0434       -250.1634
+                   -185010.81141   -108223.172 4                  24236722.761
+      2758.8814       2151.227
+  21044796.5754  -22176359.54849 -17265551.77448  21044795.9734   21044798.3734
+      1602.1244       1248.4064
+  22270603.6184  -13672247.73449 -10411154.32547  22270603.3944   22270605.5364
+      2101.5584       1637.5714
+  24661689.8104     181197.57549    449924.26045  24661691.7554   24661698.1774
+     -3298.8054      -2570.4854
+  21742739.7244  -16384324.98349 -12513857.13447  21742738.8274   21742742.6674
+     -3103.7544      -2418.5094
+ 05  1 20  4 18  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20563282.1194  -21503622.69149 -16735148.40048  20563281.9104   20563286.5684
+      -970.2484       -756.0384
+  20388960.1134  -26694266.91249 -20782530.85548  20388959.5324   20388963.4194
+      -104.8164        -81.6794
+  20420248.5624  -21533667.72949 -16759156.32248  20420247.9474   20420253.0714
+      -342.6754       -267.0214
+  24214677.256
+
+  21035671.8034  -22224308.78149 -17302914.80848  21035671.6354   21035674.0734
+      1594.4904       1242.4594
+  22258627.2454  -13735177.87049 -10460190.78147  22258626.2814   22258630.4494
+      2093.7584       1631.4994
+  24680518.6904     280135.03049    527018.33745  24680519.8514   24680525.6934
+     -3297.0194      -2569.1014
+  21760492.0684  -16291031.39249 -12441160.87147  21760492.2644   21760496.0684
+     -3115.8004      -2427.8974
+ 05  1 20  4 18 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20568883.0184  -21474192.14049 -16712215.49948  20568882.7904   20568886.8084
+      -991.7724       -772.8104
+  20389592.6454  -26690943.49249 -20779941.17848  20389591.9944   20389595.5694
+      -116.7574        -90.9784
+  20422266.7114  -21523063.28649 -16750893.13048  20422265.9064   20422270.9954
+      -364.3084       -283.8744
+  24198953.9974    -350336.08249    -63873.32845
+      2751.7944       2144.2564
+  21026591.2504  -22272028.24849 -17340098.81248  21026590.9954   21026593.2214
+      1586.8004       1236.4714
+  22246695.4984  -13797873.01749 -10509044.13947  22246696.0144   22246700.1724
+      2085.9014       1625.3874
+  24699335.8554     379016.26849    604068.62745  24699336.4414   24699342.0654
+     -3295.0844      -2567.6064
+  21778314.1464  -16197376.99349 -12368183.48547  21778314.2444   21778318.1074
+     -3127.8014      -2437.2494
+ 05  1 20  4 19  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20574605.5354  -21444116.74249 -16688780.12148  20574605.4074   20574610.3754
+     -1013.2324       -789.5304
+  20390292.7874  -26687262.15349 -20777072.59948  20390292.3974   20390296.2804
+      -128.7054       -100.2904
+  20424407.8134  -21511809.94749 -16742124.29748  20424406.8994   20424412.7074
+      -385.9294       -300.7224
+  24183255.9694    -432836.07449   -128159.03245
+      2748.1314       2141.4004
+  21017555.0044  -22319516.31649 -17377102.50448  21017554.5594   21017556.5014
+      1579.0674       1230.4414
+  22234810.5514  -13860332.95249 -10557714.22847  22234810.3254   22234814.1674
+      2078.0854       1619.2904
+  24718142.5494     477840.52549    681074.49545  24718142.5394   24718147.0324
+     -3293.1484      -2566.0814
+  21796204.4804  -16103364.86349 -12294927.29747  21796203.5464   21796208.1594
+     -3139.6624      -2446.4914
+ 05  1 20  4 19 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20580450.6374  -21413398.15849 -16664843.56148  20580450.7314   20580455.7404
+     -1034.6404       -806.2154
+  20391061.7754  -26683221.83249 -20773924.29448  20391061.2514   20391065.3844
+      -140.6624       -109.6084
+  20426671.9664  -21499908.00049 -16732850.05748  20426671.5614   20426677.3114
+      -407.5414       -317.5694
+  24167579.3674    -515223.65549   -192357.09145                  24167584.7254
+      2744.2744       2138.3904
+  21008562.1434  -22366771.70649 -17413924.88548  21008562.0064   21008564.2484
+      1571.2854       1224.3774
+  22222969.4434  -13922557.70049 -10606201.05247  22222969.3094   22222972.9004
+      2070.2524       1613.1874
+  24736936.2024     576606.56349    758035.00945  24736935.4224   24736940.9004
+     -3291.2074      -2564.5814
+  21814161.8394  -16008997.52149 -12221394.32047  21814161.6294   21814165.2264
+     -3151.4624      -2455.6844
+ 05  1 20  4 20  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20586419.0964  -21382037.73349 -16640406.87048  20586418.9834   20586423.4104
+     -1056.0234       -822.8744
+  20391899.1254  -26678821.75449 -20770495.66248  20391898.6784   20391902.6144
+      -152.6684       -118.9644
+  20429060.8224  -21487357.91349 -16723070.77448  20429060.2404   20429065.4634
+      -429.1544       -334.4044
+  24151923.5124    -597495.79149   -256465.17445  24151922.5144   24151927.2274
+      2740.4034       2135.3874
+  20999614.5614  -22413792.81549 -17450564.70848  20999614.0734   20999616.5134
+      1563.4464       1218.2714
+  22211173.0574  -13984547.31249 -10654504.64647  22211172.5994   22211177.0184
+      2062.4004       1607.0734
+  24755720.3264     675313.96549    834949.88445  24755720.1254   24755726.0164
+     -3289.2834      -2563.0754
+  21832186.5374  -15914278.03249 -12147586.94047  21832185.8254   21832189.4554
+     -3163.1734      -2464.8074
+ 05  1 20  4 20 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20592508.6984  -21350036.97049 -16615471.20448  20592508.4454   20592513.0214
+     -1077.3444       -839.4924
+  20392805.5154  -26674060.76249 -20766785.80348  20392804.7364   20392808.5634
+      -164.7434       -128.3754
+  20431572.4034  -21474159.86049 -16712786.58448  20431571.7034   20431577.1334
+      -450.7234       -351.2174
+  24136288.5314    -679648.99449   -320480.70245  24136288.8814   24136295.2304
+      2736.4324       2132.2814
+  20990711.2314  -22460578.52349 -17487021.10648  20990711.1194   20990713.3714
+      1555.5704       1212.1314
+  22199421.9714  -14046301.52049 -10702624.80247  22199422.0454   22199425.5354
+      2054.5514       1600.9434
+  24774492.9104     773961.88749    911818.35945  24774493.0994   24774496.1834
+     -3287.2164      -2561.4644
+  21850278.2044  -15819208.80849 -12073506.95247  21850277.3544   21850281.1054
+     -3174.7824      -2473.8694
+ 05  1 20  4 21  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20598719.8824  -21317397.41449 -16590037.77648  20598719.3804   20598724.3714
+     -1098.6094       -856.0574
+  20393779.7514  -26668938.29449 -20762794.26148  20393779.4374   20393783.3354
+      -176.7724       -137.7434
+  20434207.0084  -21460314.14449 -16701997.72348  20434206.7724   20434211.9404
+      -472.3154       -368.0364
+  24120674.4574    -761680.37549   -384401.22045  24120673.6924   24120684.6564
+      2732.3184       2129.0814
+  20981853.3814  -22507127.32249 -17523292.89548  20981853.2134   20981855.4404
+      1547.6494       1205.9624
+  22187716.4524  -14107820.34649 -10750561.54347  22187715.5824   22187718.5314
+      2046.6794       1594.8204
+  24793254.6654     872549.31549    988639.70545  24793255.1244   24793256.8614
+     -3285.2514      -2559.9354
+  21868434.2864  -15723793.03649 -11999156.94647  21868434.1894   21868438.2784
+     -3186.2984      -2482.8294
+ 05  1 20  4 21 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20605051.8154  -21284120.73149 -16564107.89448  20605051.7754   20605056.8164
+     -1119.8314       -872.5984
+  20394823.4584  -26663453.07149 -20758520.06048  20394823.0424   20394827.0844
+      -188.8844       -147.1814
+  20436965.0904  -21445821.22249 -16690704.54048  20436964.4514   20436969.7654
+      -493.8934       -384.8514
+  24105092.9144    -843586.79449   -448224.40645  24105093.5904   24105097.5034
+      2728.0364       2125.7464
+  20973040.4594  -22553437.51249 -17559378.75648  20973040.5704   20973042.9794
+      1539.6784       1199.7474
+  22176053.9744  -14169103.83549 -10798314.90247  22176053.6274   22176057.8654
+      2038.8524       1588.7164
+  24812001.9714     971075.76249   1065413.56545  24812001.7544   24812007.6864
+     -3283.1894      -2558.3334
+  21886656.9414  -15628033.39349 -11924539.02047  21886656.2424   21886660.5764
+     -3197.7314      -2491.7444
+ 05  1 20  4 22  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20611505.7864  -21250208.57049 -16537682.83848  20611505.3114   20611509.8994
+     -1140.9874       -889.0824
+  20395936.6744  -26657604.16249 -20753962.47548  20395936.2734   20395940.0064
+      -201.0484       -156.6634
+  20439845.7384  -21430681.48649 -16678907.34648  20439845.2744   20439850.6284
+      -515.4474       -401.6474
+  24089530.7244    -925365.19449   -511947.81245  24089529.9974   24089535.3534
+      2723.7274       2122.3894
+  20964273.9564  -22599507.66649 -17595277.58248  20964273.8114   20964275.8784
+      1531.6514       1193.4954
+  22164435.2564  -14230151.89149 -10845884.80947  22164435.7274   22164439.4954
+      2031.0014       1582.5924
+  24830741.0164    1069540.10249   1142139.04945  24830739.6484   24830743.2004
+     -3281.0784      -2556.6864
+  21904944.4364  -15531932.83249 -11849655.47947  21904943.6704   21904947.7954
+     -3209.0194      -2500.5384
+ 05  1 20  4 22 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20618079.0664  -21215662.42849 -16510763.75948  20618078.7004   20618083.4964
+     -1162.0774       -905.5154
+  20397119.2024  -26651390.80149 -20749120.88948  20397118.4054   20397122.7134
+      -213.1974       -166.1294
+  20442850.3544  -21414895.38849 -16666606.49648  20442849.5054   20442854.7924
+      -536.9654       -418.4164
+  24073995.3854   -1007012.55749   -575569.17345  24073994.4394   24073998.8944
+      2719.3214       2118.9554
+  20955553.1454  -22645336.34949 -17630988.24048  20955553.0584   20955555.2424
+      1523.5954       1187.2164
+  22152863.4974  -14290964.59549 -10893271.34447  22152863.5554   22152867.5174
+      2023.1444       1576.4834
+  24849463.5344    1167941.70149   1218815.67745  24849463.8224   24849470.4094
+     -3279.0124      -2555.0784
+  21923296.8984  -15435494.14549 -11774508.42547  21923295.8944   21923299.3844
+     -3220.2174      -2509.2564
+ 05  1 20  4 23  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20624772.5984  -21180484.04949 -16483352.03848  20624772.8334   20624777.7254
+     -1183.1174       -921.9144
+  20398370.7174  -26644811.64649 -20743994.28548  20398370.4544   20398374.4674
+      -225.3974       -175.6374
+  20445977.1694  -21398463.28849 -16653802.27148  20445976.4734   20445981.6104
+      -558.5084       -435.2014
+  24058482.3934   -1088525.52649   -639085.80445  24058481.3414   24058486.8924
+      2714.8124       2115.4354
+  20946877.9374  -22690922.29249 -17666509.75048  20946878.0604   20946880.3484
+      1515.4764       1180.8924
+  22141336.5514  -14351542.03649 -10940474.55447  22141336.1754   22141340.5434
+      2015.3384       1570.3934
+  24868178.2544    1266279.65949   1295442.61845  24868178.1454   24868180.9914
+     -3276.8774      -2553.4094
+  21941711.3094  -15338720.19349 -11699100.16747  21941710.4544   21941715.2234
+     -3231.3564      -2517.9464
+ 05  1 20  4 23 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20631588.3204  -21144674.93949 -16455448.83348  20631587.4084   20631591.9994
+     -1204.1364       -938.2914
+  20399692.4124  -26637866.31449 -20738582.33848  20399692.1934   20399696.0154
+      -237.6294       -185.1674
+  20449226.9784  -21381385.68849 -16640495.05648  20449226.3404   20449231.5954
+      -580.0254       -451.9724
+  24042995.6364   -1169901.00549   -702495.26145  24042995.5044   24043001.6174
+      2710.1454       2111.8014
+  20938249.7574  -22736263.98349 -17701840.94548  20938249.9154   20938251.8664
+      1507.2954       1174.5164
+  22129853.6994  -14411883.98949 -10987494.25347  22129853.0984   22129857.3064
+      2007.4424       1564.2334
+  24886878.3804    1364553.45049   1372019.54445  24886877.8024   24886882.9454
+     -3274.6934      -2551.7194
+  21960190.0664  -15241613.70049 -11623432.79547  21960189.7844   21960193.7084
+     -3242.3964      -2526.5434
+ 05  1 20  4 24  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20638521.7024  -21108236.93449 -16427055.58448  20638521.5254   20638525.7664
+     -1225.0614       -954.5954
+  20401083.7194  -26630554.28849 -20732884.66148  20401083.4734   20401087.3144
+      -249.8694       -194.7064
+  20452598.9244  -21363663.08749 -16626685.24248  20452598.2394   20452604.0884
+      -601.5114       -468.7094
+  24027537.5874   -1251135.90749   -765795.19045  24027537.7984   24027543.5924
+      2705.3784       2108.0894
+  20929668.2094  -22781359.78949 -17736980.53048  20929668.3384   20929670.5664
+      1499.0704       1168.1054
+  22118415.8844  -14471990.30549 -11034330.34947  22118416.0434   22118419.8974
+      1999.6054       1558.1344
+  24905566.7394    1462762.13649   1448545.82645  24905567.3304   24905570.3794
+     -3272.4934      -2550.0024
+  21978731.6854  -15144177.73349 -11547508.63147  21978731.0064   21978735.0534
+     -3253.3154      -2535.0504
+ 05  1 20  4 24 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20645574.6584  -21071171.82849 -16398173.67948  20645574.3944   20645578.9894
+     -1245.9464       -970.8724
+  20402545.3744  -26622874.30249 -20726900.25548  20402545.1224   20402549.2104
+      -262.1104       -204.2404
+  20456093.8524  -21345296.11549 -16612373.31348  20456093.4884   20456099.3084
+      -622.9954       -485.4514
+  24012105.5534   -1332227.02449   -828983.05945  24012106.1194   24012111.6074
+      2700.6374       2104.3874
+  20921134.1874  -22826208.41449 -17771927.51248  20921133.8854   20921136.2314
+      1490.8064       1161.6624
+  22107023.1384  -14531861.32249 -11080983.08147  22107022.8674   22107026.8534
+      1991.7524       1552.0124
+  24924241.0884    1560904.82949   1525020.73945  24924241.1104   24924248.1004
+     -3270.2924      -2548.2764
+  21997335.1184  -15046414.78649 -11471329.70047  21997335.2974   21997338.9704
+     -3264.2624      -2543.5874
+ 05  1 20  4 25  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20652746.9584  -21033481.11949 -16368804.30048  20652746.4324   20652751.4364
+     -1266.7684       -987.0934
+  20404077.3224  -26614825.38649 -20720628.36248  20404076.9974   20404080.5174
+      -274.4704       -213.8724
+  20459712.1004  -21326285.23449 -16597559.65048  20459711.2464   20459716.6084
+      -644.4544       -502.1744
+  23996703.3384   -1413171.39149   -892056.48545  23996704.1634   23996709.8524
+      2695.7414       2100.5714
+  20912646.3564  -22870808.35949 -17806680.71948  20912646.8854   20912649.3384
+      1482.4854       1155.1854
+  22095675.1754  -14591496.76449 -11127452.25347  22095674.1094   22095678.5134
+      1983.9054       1545.8954
+  24942906.9154    1658981.07849   1601443.77645  24942906.1944   24942911.1154
+     -3268.1254      -2546.5934
+  22016001.5864  -14948328.14449 -11394898.55647  22016000.3164   22016003.9874
+     -3274.9534      -2551.9104
+ 05  1 20  4 25 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20660038.1214  -20995166.70549 -16338948.91048  20660038.0404   20660042.2164
+     -1287.5384      -1003.2774
+  20405679.1484  -26606406.62549 -20714068.29148  20405678.6544   20405682.4714
+      -286.7694       -223.4584
+  20463452.3394  -21306631.11449 -16582244.75848  20463451.3794   20463456.6534
+      -665.8504       -518.8444
+  23981328.1934   -1493965.83849   -955013.17545  23981328.4454   23981335.3974
+      2690.6484       2096.6064
+  20904207.7094  -22915158.28249 -17841239.09348  20904207.2484   20904209.8594
+      1474.1474       1148.6874
+  22084371.2814  -14650896.57849 -11173737.82247  22084370.8504   22084375.0034
+      1976.0944       1539.8214
+  24961555.2884    1756989.87249   1677814.27045  24961555.4824   24961560.2824
+     -3265.9054      -2544.8634
+  22034726.1554  -14849920.72949 -11318217.47047  22034726.1344   22034730.0674
+     -3285.5474      -2560.1684
+ 05  1 20  4 26  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20667447.7854  -20956230.39049 -16308608.92348  20667447.6534   20667452.0124
+     -1308.2224      -1019.3964
+  20407351.3304  -26597617.23249 -20707219.41048  20407351.2824   20407355.1964
+      -299.1474       -233.1004
+  20467314.5794  -21286334.56349 -16566429.26648  20467313.5584   20467319.2244
+      -687.2594       -535.5274
+  23965985.0124   -1574607.06049  -1017850.50145  23965984.2874   23965989.1904
+      2685.5474       2092.6364
+  20895815.6954  -22959256.49949 -17875601.34148  20895815.6164   20895818.2524
+      1465.7424       1142.1384
+  22073113.3254  -14710060.93349 -11219839.91647  22073112.2824   22073116.2124
+      1968.2354       1533.6934
+  24980191.9304    1854930.65849   1754131.82145  24980192.1104   24980199.2934
+     -3263.6834      -2543.1304
+  22053513.9594  -14751195.33049 -11241288.58947  22053512.6304   22053517.9564
+     -3296.1294      -2568.4144
+ 05  1 20  4 26 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20674974.7864  -20916674.02749 -16277785.77948  20674974.5694   20674979.1304
+     -1328.8404      -1035.4584
+  20409095.2294  -26588456.37149 -20700081.07848  20409094.6104   20409098.5164
+      -311.5714       -242.7824
+  20471298.9614  -21265396.15749 -16550113.63148  20471298.1934   20471303.5854
+      -708.6524       -552.1964
+  23950668.0874   -1655091.82149  -1080565.86345  23950666.8824   23950674.0664
+      2680.1914       2088.4564
+  20887472.3634  -23003101.51449 -17909766.28848  20887472.3624   20887474.7724
+      1457.2744       1135.5374
+  22061898.8684  -14768989.72349 -11265758.45347  22061898.3354   22061902.2074
+      1960.3694       1527.5504
+  24998819.5124    1952802.54049   1830395.65045  24998819.2544   24998823.8814
+     -3261.1454      -2541.1434
+  22072360.8274  -14652154.67049 -11164114.05547  22072360.2394   22072363.7074
+     -3306.5834      -2576.5644
+ 05  1 20  4 27  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20682619.3044  -20876499.38149 -16246480.86048  20682619.3554   20682624.1174
+     -1349.4404      -1051.5144
+  20410909.1084  -26578922.74249 -20692652.27248  20410908.6964   20410912.4734
+      -323.9854       -252.4564
+  20475405.7724  -21243816.33249 -16533298.18248  20475404.9074   20475410.0904
+      -730.0184       -568.8474
+  23935382.7154   -1735416.94749  -1143156.80245  23935382.2484   23935387.7224
+      2674.7654       2084.2294
+  20879177.6374  -23046691.80849 -17943732.75548  20879177.6304   20879179.8504
+      1448.7464       1128.8974
+  22050729.2484  -14827683.19349 -11311493.61947  22050729.3114   22050733.6604
+      1952.5284       1521.4514
+  25017425.6874    2050605.32248   1906605.57044  25017425.3454   25017432.6314
+     -3258.9934      -2539.4744
+  22091266.1504  -14552802.02049 -11086696.39747  22091266.0214   22091270.1084
+     -3316.9454      -2584.6294
+ 05  1 20  4 27 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20690382.3874  -20835708.21049 -16214695.53048  20690382.0354   20690386.0044
+     -1369.9554      -1067.4994
+  20412794.2184  -26569016.03449 -20684932.76948  20412793.9374   20412797.8974
+      -336.4534       -262.1704
+  20479633.5184  -21221596.12849 -16515983.73348  20479633.0044   20479638.4294
+      -751.3524       -585.4704
+  23920126.8784   -1815579.73349  -1205621.33945  23920126.8954   23920134.0814
+      2669.2494       2079.9394
+  20870931.1774  -23090026.07349 -17977499.71648  20870931.1494   20870933.3764
+      1440.1904       1122.2284
+  22039606.2794  -14886141.19949 -11357045.30947  22039605.9044   22039609.8924
+      1944.6844       1515.3414
+  25036027.7264    2148337.62849   1982760.61745  25036028.7794   25036030.5234
+     -3256.5384      -2537.5634
+  22110231.8354  -14453139.82649 -11009037.54747  22110231.0794   22110235.5974
+     -3327.1694      -2592.6004
+ 05  1 20  4 28  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20698260.9684  -20794302.42549 -16182431.28148  20698261.0494   20698265.5484
+     -1390.4134      -1083.4384
+  20414750.8374  -26558734.93449 -20676921.52348  20414750.0574   20414754.1734
+      -348.9634       -271.9204
+  20483984.5854  -21198735.99449 -16498170.64948  20483983.4824   20483988.5784
+      -772.6624       -602.0724
+  23904903.9494   -1895576.56649  -1267956.51945  23904905.0994   23904909.7534
+      2663.7854       2075.6724
+  20862734.5844  -23133102.88349 -18011066.05348  20862734.1084   20862736.1294
+      1431.5834       1115.5194
+  22028526.3974  -14944363.86149 -11402413.60647  22028526.0304   22028529.7724
+      1936.8214       1509.2104
+  25054612.2664    2245998.95448   2058860.37744  25054611.1994   25054614.9904
+     -3254.1724      -2535.7404
+  22129256.7624  -14353170.84849 -10931139.65847  22129255.2474   22129258.5494
+     -3337.3674      -2600.5334
+ 05  1 20  4 28 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20706256.9254  -20752283.87049 -16149689.54348  20706257.1634   20706261.4714
+     -1410.8314      -1099.3494
+  20416778.6754  -26548078.78449 -20668618.03848  20416778.4204   20416781.9354
+      -361.4824       -281.6754
+  20488455.4134  -21175236.84549 -16479859.63148  20488455.0524   20488460.4904
+      -793.9654       -618.6744
+  23889713.5354   -1975404.73249  -1330160.21945  23889712.3314   23889719.7164
+      2658.0904       2071.2344
+  20854586.7124  -23175920.59449 -18044430.50748  20854586.2964   20854588.1964
+      1422.9004       1108.7544
+  22017491.9024  -15002351.04449 -11447598.41747  22017491.6244   22017495.8024
+      1928.9664       1503.0914
+  25073180.4224    2343588.89148   2134904.43444  25073184.6324   25073184.0224
+     -3251.8184      -2533.8754
+  22148336.7754  -14252898.91349 -10853005.66247  22148336.0624   22148340.1014
+     -3347.4174      -2608.3724
+ 05  1 20  4 29  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20714368.6404  -20709654.62149 -16116471.94148  20714369.0304   20714373.4754
+     -1431.1324      -1115.1724
+  20418878.0864  -26537046.93449 -20660021.79248  20418877.6694   20418881.3974
+      -374.0004       -291.4334
+  20493048.5504  -21151099.47149 -16461051.29348  20493047.9984   20493053.3814
+      -815.2154       -635.2384
+  23874557.6124   -2055060.94849  -1392230.01346  23874557.1614   23874562.0644
+      2652.3334       2066.7564
+  20846487.6514  -23218477.74849 -18077591.92748  20846487.8514   20846489.9664
+      1414.1974       1101.9694
+  22006502.2654  -15060103.12549 -11492600.03147  22006501.8044   22006505.9164
+      1921.1374       1496.9834
+  25091742.9204    2441106.28048   2210891.96744  25091742.8954   25091738.2894
+     -3249.4404      -2532.0494
+  22167474.5504  -14152326.63249 -10774637.68347  22167474.2104   22167478.2364
+     -3357.4144      -2616.1694
+ 05  1 20  4 29 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20722597.7034  -20666416.71549 -16082780.07048  20722597.2824   20722601.7824
+     -1451.3934      -1130.9584
+  20421048.5944  -26525638.56749 -20651132.16048  20421048.2854   20421052.4234
+      -386.5644       -301.2224
+  20497763.5354  -21126324.72649 -16441746.30148  20497762.5484   20497767.9804
+      -836.4494       -651.7784
+  23859433.6714   -2134541.93649  -1454163.23345  23859431.8264   23859437.0174
+      2646.4054       2062.1334
+  20838439.5664  -23260772.87949 -18110549.16448  20838439.3094   20838441.6814
+      1405.4454       1095.1524
+  21995556.8314  -15117619.63649 -11537418.09447  21995556.1464   21995560.4384
+      1913.2774       1490.8554
+  25110281.0494    2538551.06948   2286823.02944  25110278.2754   25110290.1784
+     -3246.9664      -2530.0934
+  22186669.6694  -14051456.33749 -10696037.47147  22186669.0664   22186672.9774
+     -3367.2734      -2623.8584
+ 05  1 20  4 30  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20730940.2884  -20622571.95049 -16048615.31548  20730940.1594   20730945.0844
+     -1471.5694      -1146.6774
+  20423291.7024  -26513852.90549 -20641948.52248  20423290.9594   20423295.2124
+      -399.1604       -311.0324
+  20502598.2744  -21100913.34749 -16421945.22948  20502598.1414   20502603.4874
+      -857.6374       -668.2894
+  23844340.8554   -2213844.87849  -1515957.67046  23844340.2984   23844346.2314
+      2640.4174       2057.4694
+  20830441.2684  -23302804.48449 -18143301.07048  20830440.9524   20830443.1844
+      1396.6434       1088.2924
+  21984656.3484  -15174900.72849 -11582052.71247  21984656.3724   21984660.4834
+      1905.4704       1484.7814
+  25128810.4634    2635922.27148   2362696.67044  25128812.9034   25128815.7614
+     -3244.5794      -2528.2434
+  22205919.9804  -13950291.21449 -10617207.51147  22205920.1354   22205924.2984
+     -3377.0234      -2631.4464
+ 05  1 20  4 30 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20739398.5264  -20578122.29449 -16013979.22248  20739398.7934   20739403.3354
+     -1491.7174      -1162.3794
+  20425606.4764  -26501688.43249 -20632469.71748  20425605.9044   20425609.8874
+      -411.8014       -320.8854
+  20507555.7834  -21074866.31649 -16401648.84848  20507554.9334   20507560.0364
+      -878.8354       -684.8064
+  23829284.9034   -2292966.54949  -1577610.89846  23829284.5654   23829289.1544
+      2634.3344       2052.7284
+  20822493.0924  -23344570.95549 -18175846.37148  20822492.9304   20822495.3744
+      1387.7804       1081.3894
+  21973801.6284  -15231946.59849 -11626504.03247  21973800.7074   21973804.9304
+      1897.6074       1478.6594
+  25147327.2184    2733219.07249   2438512.32244  25147326.3044   25147332.2654
+     -3241.9934      -2526.2294
+  22225228.2704  -13848834.67149 -10538150.44246  22225226.2774   22225230.8434
+     -3386.7104      -2638.9974
+ 05  1 20  4 31  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20747972.5804  -20533069.77949 -15978873.36548  20747971.9724   20747976.3854
+     -1511.7734      -1178.0054
+  20427993.0284  -26489144.99349 -20622695.61848  20427992.8544   20427996.6754
+      -424.4154       -330.7104
+  20512632.6404  -21048184.48549 -16380857.81448  20512632.0504   20512637.6464
+      -899.9614       -701.2654
+  23814263.6464   -2371903.71349  -1639120.33745  23814263.3974   23814268.1614
+      2628.1424       2047.9064
+  20814595.6784  -23386070.93149 -18208184.01848  20814595.8304   20814598.1654
+      1378.8944       1074.4654
+  21962990.1744  -15288757.43049 -11670772.20747  21962990.0604   21962994.3534
+      1889.7644       1472.5474
+  25165828.2694    2830441.26049   2514269.81745  25165829.9874   25165834.2264
+     -3239.4504      -2524.2414
+  22244587.9264  -13747089.21349 -10458868.28647  22244588.6744   22244592.4984
+     -3396.2814      -2646.4574
+ 05  1 20  4 31 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20756659.6394  -20487416.60949 -15943299.46348  20756659.4904   20756664.3754
+     -1531.7544      -1193.5764
+  20430452.2954  -26476222.05649 -20612625.80248  20430452.1034   20430455.8654
+      -437.0944       -340.5984
+  20517831.3944  -21020868.98849 -16359573.01848  20517830.5704   20517835.3874
+      -921.0764       -717.7254
+  23799277.4344   -2450653.08349  -1700483.50545  23799277.3074   23799283.0114
+      2621.8414       2042.9954
+  20806750.5394  -23427302.94949 -18240312.86048  20806749.7254   20806752.0074
+      1369.9224       1067.4684
+  21952224.6924  -15345333.00249 -11714857.07247  21952224.3304   21952228.3924
+      1881.9514       1466.4534
+  25184309.4174    2927587.66658   2589968.27554  25184311.2524   25184315.1444
+     -3237.0654      -2522.3854
+  22264004.9034  -13645057.65149 -10379363.17947  22264004.1784   22264008.3034
+     -3405.7784      -2653.8654
+ 05  1 20  4 32  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20765460.8884  -20441164.81149 -15907259.10148  20765460.6414   20765465.8394
+     -1551.6744      -1209.0974
+  20432983.7014  -26462918.37049 -20602259.28848  20432983.3614   20432987.4574
+      -449.7964       -350.4904
+  20523149.3314  -20992920.74449 -16337795.16548  20523148.5964   20523154.1084
+      -942.1494       -734.1394
+  23784329.6784   -2529211.56649  -1761697.88246  23784329.2294   23784333.7894
+      2615.3784       2037.9614
+  20798954.8994  -23468265.48649 -18272231.72448  20798954.8994   20798957.0174
+      1360.9054       1060.4454
+  21941503.4764  -15401673.60949 -11758758.83847  21941502.4594   21941507.1654
+      1874.0974       1460.3344
+  25202788.2824    3024658.01749   2665607.62845  25202789.2534   25202792.9034
+     -3234.3994      -2520.3124
+  22283475.5794  -13542743.39749 -10299637.78946  22283474.3644   22283477.9164
+     -3415.1374      -2661.1434
+ 05  1 20  4 32 30.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20774375.6484  -20394316.29649 -15870753.76048  20774375.5234   20774380.5824
+     -1571.5434      -1224.5774
+  20435588.4204  -26449233.21849 -20591595.53448  20435588.0274   20435591.7914
+      -462.5604       -360.4344
+  20528587.9714  -20964340.60749 -16315524.93148  20528587.2784   20528592.4474
+      -963.1964       -750.5404
+  23769417.5074   -2607576.10849  -1822761.11146  23769417.0964   23769422.4394
+      2608.8954       2032.9064
+  20791211.8444  -23508956.85149 -18303939.27848  20791211.5264   20791213.4664
+      1351.8544       1053.3964
+  21930827.0334  -15457778.98149 -11802477.31747  21930826.4834   21930830.3354
+      1866.2614       1454.2324
+  25221243.1154    3121651.76049   2741187.14645  25221243.7724   25221252.3834
+     -3231.7594      -2518.2524
+  22302998.0244  -13440149.30149 -10219694.30146  22302996.6774   22303001.3684
+     -3424.4454      -2668.4004
+ 05  1 20  4 33  0.0000000  0  8G 9G18G15G 5G22G14G26G21
+  20783404.6594  -20346873.19649 -15833785.11748  20783404.0704   20783408.8634
+     -1591.3134      -1239.9814
+  20438265.1664  -26435165.69349 -20580633.82648  20438264.9314   20438268.7824
+      -475.2884       -370.3544
+  20534146.6874  -20935129.69249 -16292763.18548  20534146.0254   20534151.3614
+      -984.1944       -766.9044
+  23754541.8664   -2685743.42449  -1883670.70245  23754541.8024   23754546.9734
+      2602.2604       2027.7324
+  20783520.2204  -23549375.75549 -18335434.53248  20783519.7984   20783522.0704
+      1342.7464       1046.2974
+  21920195.7444  -15513649.33849 -11846012.65247  21920195.2454   21920198.2964
+      1858.4374       1448.1304
+  25239681.3994    3218568.06048   2816706.28044  25239685.8054   25239689.0394
+     -3229.0904      -2516.1754
+  22322572.8154  -13337277.99649 -10139534.86046  22322572.2174   22322576.8324
+     -3433.5934      -2675.5344
+ 05  1 20  4 33 30.0000000  0  7G 9G18G15G 5G22G14G21
+  20792544.7674  -20298837.68149 -15796354.84448  20792544.7854   20792549.4904
+     -1611.0244      -1255.3464
+  20441015.3104  -26420715.49749 -20569373.93348  20441014.6124   20441018.6174
+      -488.0624       -380.3134
+  20539825.0894  -20905289.10249 -16269510.78048  20539824.3644   20539829.5744
+     -1005.1704       -783.2534
+  23739705.4074   -2763710.55149  -1944424.30845  23739704.5074   23739709.3384
+      2595.5374       2022.4884
+  20775880.5304  -23589520.39149 -18366716.07148  20775880.6834   20775882.9184
+      1333.5884       1039.1574
+  21909607.8314  -15569284.65549 -11889364.83347  21909607.4894   21909611.2124
+      1850.5954       1442.0184
+  22342200.4724  -13234132.56049 -10059161.81546  22342201.0374   22342204.8904
+     -3442.6994      -2682.6194
+ 05  1 20  4 34  0.0000000  0  7G 9G18G15G 5G22G14G21
+  20801798.8264  -20250211.86149 -15758464.59948  20801797.9724   20801802.8944
+     -1630.6734      -1270.6544
+  20443837.5524  -26405881.48049 -20557814.95948  20443837.1804   20443841.3304
+      -500.8934       -390.3064
+  20545622.9654  -20874819.95549 -16245768.59348  20545622.5004   20545627.8204
+     -1026.1134       -799.5724
+  23724906.7514   -2841474.14449  -2005019.27145  23724905.5814   23724912.3174
+      2588.6764       2017.1644
+  20768293.8014  -23629389.70049 -18397783.06248  20768293.6064   20768296.0344
+      1324.3674       1031.9744
+  21899064.9324  -15624685.17549 -11932534.07447  21899065.0654   21899068.9804
+      1842.7574       1435.9134
+  22361880.4324  -13130716.22549  -9978577.66346  22361879.9374   22361884.1614
+     -3451.7094      -2689.6474
+ 05  1 20  4 34 30.0000000  0  7G 9G18G15G 5G22G14G21
+  20811164.0504  -20200997.67649 -15720115.88048  20811163.5014   20811167.8374
+     -1650.2514      -1285.9114
+  20446734.0764  -26390662.94949 -20545956.37448  20446733.7044   20446737.1374
+      -513.7084       -400.2914
+  20551540.6344  -20843723.46549 -16221537.55948  20551539.8794   20551545.2694
+     -1047.0034       -815.8454
+  23710150.0224   -2919031.18849  -2065453.30045  23710148.5394   23710153.6434
+      2581.7304       2011.7404
+  20760759.5774  -23668981.81049 -18428634.05948  20760759.5254   20760761.8154
+      1315.0934       1024.7494
+  21888568.0664  -15679850.92149 -11975520.37647  21888567.3274   21888571.5144
+      1834.9504       1429.8374
+  22381610.9774  -13027031.81649  -9897784.63746  22381611.0504   22381614.7294
+     -3460.5704      -2696.5454
+ 05  1 20  4 35  0.0000000  0  7G 9G18G15G 5G22G14G21
+  20820640.1594  -20151197.43749 -15681310.49448  20820639.8824   20820644.3414
+     -1669.7544      -1301.1064
+  20449703.1584  -26375059.31449 -20533797.69448  20449702.7234   20449706.6354
+      -526.5464       -410.2944
+  20557577.7624  -20812000.58249 -16196818.43248  20557576.9104   20557582.0374
+     -1067.8634       -832.0994
+  23695428.3234   -2996378.57149  -2125723.97846  23695429.3994   23695435.5644
+      2574.6614       2006.2364
+  20753278.3654  -23708295.42249 -18459268.04248  20753278.3294   20753280.8054
+      1305.8034       1017.5124
+  21878115.1564  -15734781.93649 -12018323.76347  21878114.1494   21878119.0064
+      1827.1124       1423.7264
+  22401391.3294  -12923082.19149  -9816784.93446  22401391.4254   22401395.7354
+     -3469.3884      -2703.4234
+ 05  1 20  4 35 30.0000000  0  7G 9G18G15G 5G22G14G21
+  20830228.2424  -20100813.38049 -15642050.18848  20830227.7554   20830232.4284
+     -1689.1654      -1316.2344
+  20452746.2384  -26359069.73949 -20521338.28648  20452745.5384   20452749.3204
+      -539.4124       -420.3234
+  20563732.0544  -20779652.41049 -16171612.06648  20563731.8724   20563737.6584
+     -1088.6874       -848.3294
+  23680752.0444   -3073513.05549  -2185828.70846  23680751.0044   23680757.0444
+      2567.5754       2000.7074
+  20745851.1324  -23747328.96749 -18489683.79248  20745850.6704   20745853.0014
+      1296.4234       1010.2004
+  21867705.7874  -15789478.28249 -12060944.29247  21867706.0444   21867710.7394
+      1819.2924       1417.6294
+  22421223.6304  -12818870.37749  -9735580.94546  22421222.5224   22421226.4054
+     -3478.0734      -2710.2014
+ 05  1 20  4 36  0.0000000  0  7G 9G18G15G 5G22G14G21
+  20839926.1104  -20049847.97949 -15602336.89548  20839925.7354   20839931.1284
+     -1708.5344      -1331.3264
+  20455862.2474  -26342693.53449 -20508577.61348  20455861.7594   20455865.3894
+      -552.2984       -430.3654
+  20570007.2724  -20746680.25749 -16145919.48348  20570006.5984   20570012.2454
+     -1109.4574       -864.5154
+  23666115.4604   -3150431.38149  -2245765.09346  23666114.8004   23666118.6704
+      2560.3064       1995.0464
+  20738476.0624  -23786080.93849 -18519880.13648  20738476.2984   20738478.3724
+      1287.0404       1002.8874
+  21857342.8284  -15843939.98949 -12103381.98647  21857342.0404   21857346.8054
+      1811.4934       1411.5544
+  22441103.7844  -12714399.40049  -9654175.02946  22441102.4374   22441106.6924
+     -3486.6674      -2716.8844
+ 05  1 20  4 36 30.0000000  0  7G 9G18G15G 5G22G14G21
+  20849734.6174  -19998303.07649 -15562172.03248  20849734.4624   20849739.2204
+     -1727.7674      -1346.3094
+  20459051.7104  -26325930.04049 -20495515.15748  20459051.6954   20459055.6384
+      -565.2514       -440.4534
+  20576400.2384  -20713085.19449 -16119741.51548  20576399.3474   20576404.7484
+     -1130.2014       -880.6754
+  23651519.2504   -3227130.54849  -2305530.63545  23651519.7224   23651524.4404
+      2552.9524       1989.3184
+  20731155.6964  -23824549.69349 -18549855.78748  20731155.9864   20731158.0774
+      1277.5564        995.4954
+  21847023.7674  -15898167.14949 -12145636.92847  21847023.6424   21847027.7614
+      1803.6674       1405.4564
+  22461033.0184  -12609672.19649  -9572569.39146  22461031.6294   22461035.6334
+     -3495.1314      -2723.4744
+ 05  1 20  4 37  0.0000000  0  7G 9G18G15G 5G22G14G21
+  20859653.8954  -19946181.17049 -15521557.56448  20859653.7374   20859658.2154
+     -1747.0064      -1361.3094
+  20462316.1444  -26308778.21449 -20482150.10348  20462315.5384   20462319.3174
+      -578.1904       -450.5404
+  20582911.5124  -20678868.50749 -16093079.16348  20582910.7714   20582916.3454
+     -1150.9264       -896.8294
+  23636965.4984   -3303607.54849  -2365123.06845  23636964.9504   23636969.3584
+      2545.4774       1983.4934
+  20723890.3094  -23862733.87349 -18579609.69448  20723889.7814   20723892.0324
+      1268.0404        988.0804
+  21836748.0474  -15952159.79849 -12187709.11847  21836748.5124   21836752.9964
+      1795.8364       1399.3504
+  22481009.1704  -12504691.79449  -9490766.45446  22481008.9574   22481012.9664
+     -3503.5354      -2730.0294
+ 05  1 20  4 37 30.0000000  0  7G 9G18G15G 5G22G14G21
+  20869681.3344  -19893484.55549 -15480495.26348  20869680.9134   20869685.7454
+     -1766.1464      -1376.2154
+  20465653.6934  -26291237.60149 -20468482.09148  20465653.2984   20465657.2144
+      -591.1694       -460.6464
+  20589540.6254  -20644031.58749 -16065933.51448  20589539.9164   20589545.4284
+     -1171.5514       -912.8964
+  23622454.3314   -3379859.08049  -2424539.81546  23622455.6404   23622460.9234
+      2537.9484       1977.6284
+  20716677.8974  -23900631.83249 -18609140.57248  20716677.8074   20716680.4414
+      1258.5104        980.6554
+  21826519.6924  -16005918.09449 -12229598.71147  21826518.8274   21826523.2744
+      1788.0444       1393.2844
+  22501033.9684  -12399461.46949  -9408768.81846  22501033.6794   22501037.9374
+     -3511.8404      -2736.4904
+ 05  1 20  4 38  0.0000000  0  7G 9G18G15G 5G22G14G21
+  20879817.7084  -19840215.41049 -15438986.83548  20879817.3594   20879822.5304
+     -1785.1484      -1391.0244
+  20469066.0754  -26273307.59749 -20454510.67348  20469065.8164   20469069.2694
+      -604.1534       -470.7674
+  20596287.7234  -20608575.79649 -16038305.62948  20596287.1724   20596292.4954
+     -1192.1694       -928.9644
+  23607989.5764   -3455882.18049  -2483778.58146  23607988.5684   23607993.4784
+      2530.2524       1971.6284
+  20709521.7484  -23938242.15649 -18638447.31748  20709521.0534   20709523.5614
+      1248.8714        973.1464
+  21816334.4194  -16059442.19749 -12271305.81147  21816334.0544   21816338.0504
+      1780.2434       1387.2094
+  22521105.6924  -12293983.79249  -9326578.43946  22521104.7134   22521108.7484
+     -3519.9994      -2742.8654
+ 05  1 20  4 38 30.0000000  0  7G 9G18G15G 5G22G14G21
+  20890063.5344  -19786376.06849 -15397034.10148  20890063.2434   20890067.3884
+     -1804.1244      -1405.8184
+  20472552.7024  -26254987.48049 -20440235.26048  20472551.8244   20472555.2224
+      -617.1724       -480.9164
+  20603152.6704  -20572502.28549 -16010196.39948  20603151.7874   20603157.2274
+     -1212.7404       -944.9954
+  23593564.3174   -3531673.62149  -2542836.83246  23593565.2374   23593570.1244
+      2522.4554       1965.5414
+  20702419.0534  -23975563.21949 -18667528.66548  20702419.1604   20702421.3434
+      1239.1954        965.6034
+  21806194.0704  -16112732.06449 -12312830.38647  21806193.0684   21806196.8904
+      1772.4444       1381.1254
+  22541224.1854  -12188261.92149  -9244197.78446  22541223.4704   22541226.9754
+     -3528.1034      -2749.1894
+ 05  1 20  4 39  0.0000000  0  7G 9G18G15G 5G22G14G21
+  20900416.3834  -19731968.82349 -15354638.84848  20900416.1874   20900421.5554
+     -1823.0004      -1420.5154
+  20476112.6514  -26236276.62249 -20425655.37448  20476112.0854   20476116.1334
+      -630.1984       -491.0594
+  20610134.2314  -20535812.59449 -15981607.03748  20610133.4804   20610138.6924
+     -1233.2484       -960.9734
+  23579189.7364   -3607230.28749  -2601712.15046  23579187.3064   23579193.9804
+      2514.6434       1959.4654
+  20695372.5464  -24012593.46049 -18696383.40148  20695372.5384   20695374.8734
+      1229.4804        958.0434
+  21796096.5324  -16165787.74049 -12354172.47747  21796096.6434   21796100.8524
+      1764.6454       1375.0494
+  22561387.7524  -12082298.38149  -9161628.77746  22561387.6444   22561391.0884
+     -3536.0834      -2755.3944
+ 05  1 20  4 39 30.0000000  0  7G 9G18G15G 5G22G14G21
+  20910877.5184  -19676995.86349 -15311802.77748  20910877.2894   20910881.8794
+     -1841.8234      -1435.1854
+  20479747.5994  -26217174.24949 -20410770.40948  20479747.3014   20479751.1684
+      -643.2904       -501.2624
+  20617232.8094  -20498508.13849 -15952538.63548  20617232.4544   20617237.5664
+     -1253.7184       -976.9244
+  23564856.4144   -3682548.89949  -2660401.96146  23564855.5824   23564860.4684
+      2506.5874       1953.1794
+  20688381.8994  -24049331.38549 -18725010.35648  20688381.6334   20688383.7314
+      1219.7214        950.4334
+  21786045.2364  -16218609.45049 -12395332.27647  21786044.5984   21786048.8064
+      1756.8194       1368.9444
+  22581596.5744  -11976096.94949  -9078874.39646  22581597.0364   22581601.4624
+     -3543.9394      -2761.5164
+ 05  1 20  4 40  0.0000000  0  8G 9G18G15G 5G22G14G 1G21
+  20921445.5314  -19621459.65349 -15268527.81248  20921445.6514   20921450.0344
+     -1860.5814      -1449.8034
+  20483457.5544  -26197679.62649 -20395579.79148  20483456.9124   20483460.7464
+      -656.3814       -511.4684
+  20624449.0704  -20460590.30649 -15922992.27748  20624447.8244   20624453.3364
+     -1274.1554       -992.8494
+  23550568.6754   -3757626.33849  -2718903.86246  23550568.3264   23550573.4884
+      2498.5334       1946.9124
+  20681446.4064  -24085775.68349 -18753408.51548  20681446.4854   20681448.6494
+      1209.8834        942.7674
+  21776039.4314  -16271197.26749 -12436309.78947  21776038.6044   21776041.9114
+      1749.0094       1362.8624
+  25131660.4314    -950728.54849   -720336.85645  25131662.1504   25131667.1054
+      2715.2704       2115.7984
+  22601852.2894  -11869660.20949  -8995936.67646  22601852.1024   22601854.4794
+     -3551.7764      -2767.6274
+ 05  1 20  4 40 30.0000000  0  8G 9G18G15G 5G22G14G 1G21
+  20932120.8754  -19565362.59649 -15224815.81748  20932120.6854   20932125.4054
+     -1879.2114      -1464.3244
+  20487242.0504  -26177792.06849 -20380082.98148  20487241.6624   20487245.3124
+      -669.4604       -521.6614
+  20631780.5424  -20422060.48449 -15892969.04648  20631780.1484   20631785.1544
+     -1294.5144      -1008.7134
+  23536328.7044   -3832459.59849  -2777215.44846  23536327.1664   23536333.5064
+      2490.3704       1940.5424
+  20674567.6224  -24121924.54449 -18781576.45448  20674567.4634   20674569.8424
+      1200.0394        935.0944
+  21766077.0574  -16323551.37049 -12477105.19747  21766075.8974   21766079.2864
+      1741.2614       1356.8244
+  25116167.9344   -1032139.37449   -783773.85245  25116168.9214   25116173.4664
+      2712.1524       2113.3594
+  22622151.1424  -11762991.09549  -8912817.85546  22622150.4744   22622153.3724
+     -3559.4494      -2773.6014
+ 05  1 20  4 41  0.0000000  0  8G 9G18G15G 5G22G14G 1G21
+  20942902.3474  -19508707.08649 -15180668.66447  20942901.8564   20942906.0664
+     -1897.7794      -1478.7924
+  20491101.0664  -26157511.25649 -20364279.74748  20491100.7194   20491104.6464
+      -682.5874       -531.8874
+  20639228.0694  -20382919.98449 -15862469.95948  20639227.7044   20639233.3294
+     -1314.8504      -1024.5614
+  23522133.1814   -3907045.67649  -2835334.44946  23522134.4374   23522140.4034
+      2482.0464       1934.0704
+  20667744.6534  -24157776.69149 -18809513.19248  20667745.1394   20667747.4584
+      1190.1004        927.3524
+  21756157.6674  -16375671.63749 -12517718.38247  21756157.0714   21756161.2444
+      1733.4534       1350.7434
+  25100698.5844   -1113455.71949   -847137.16945  25100696.9334   25100700.6094
+      2709.0324       2110.9344
+  22642491.1654  -11656092.94349  -8829520.59546  22642490.9634   22642495.5284
+     -3567.0334      -2779.5114
+ 05  1 20  4 41 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  20953789.0354  -19451495.59749 -15136088.28747  20953788.6494   20953792.7694
+     -1916.2944      -1493.2144
+  20495035.4204  -26136836.56349 -20348169.59948  20495035.1544   20495039.0594
+      -695.7174       -542.1164
+  20646793.0444  -20343170.33649 -15831496.20948  20646791.9874   20646797.3994
+     -1335.1354      -1040.3644
+  23507989.1844   -3981381.30149  -2893258.31846  23507988.9864   23507993.0304
+      2473.6114       1927.4944
+  20660979.8274  -24193330.49349 -18837217.45248  20660979.5184   20660982.0324
+      1180.1354        919.5874
+  21746283.9944  -16427558.20849 -12558149.47247  21746283.7324   21746287.0244
+      1725.6484       1344.6634
+  25085238.4844   -1194677.46049   -910426.80445  25085238.8254   25085244.3434
+      2705.8514       2108.4464
+  22662876.5764  -11548968.78849  -8746047.24046  22662876.7684   22662881.0854
+     -3574.5354      -2785.3404
+  24638357.1134    -110701.74049    -64406.95543
+      3148.0994       2453.1284
+ 05  1 20  4 42  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  20964781.4534  -19393730.42649 -15091076.45648  20964780.9134   20964785.8244
+     -1934.6994      -1507.5674
+  20499044.8324  -26115767.23149 -20331751.93448  20499044.4384   20499048.3154
+      -708.8804       -552.3754
+  20654472.4094  -20302813.05449 -15800048.98948  20654471.9104   20654477.4504
+     -1355.3544      -1056.1234
+  23493891.1014   -4055463.46849  -2950984.68346  23493890.9584   23493895.4224
+      2465.1584       1920.8934
+  20654270.9224  -24228584.32549 -18864687.96948  20654270.9364   20654273.2454
+      1170.1294        911.7854
+  21736454.8194  -16479211.34449 -12598398.66047  21736454.3704   21736458.2524
+      1717.8874       1338.6094
+  25069801.1144   -1275804.15349   -973642.27745  25069801.2714   25069807.2144
+      2702.6814       2105.9774
+  22683305.2654  -11441621.44549  -8662399.97346  22683303.4644   22683308.1854
+     -3581.9614      -2791.1404
+  24620382.2544    -205170.18249   -138018.87745
+      3149.9094       2454.4824
+ 05  1 20  4 42 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  20975878.3004  -19335414.00349 -15045635.09147  20975878.3674   20975882.5474
+     -1953.0214      -1521.8294
+  20503129.4944  -26094302.57449 -20315026.22548  20503129.1324   20503132.9924
+      -722.0724       -562.6514
+  20662267.3494  -20261849.73649 -15768129.51948  20662266.6454   20662272.1884
+     -1375.5274      -1071.8374
+  23479843.2364   -4129288.94849  -3008510.96946  23479842.3884   23479849.3124
+      2456.5454       1914.2024
+  20647619.5714  -24263536.90649 -18891923.75148  20647619.5894   20647622.0684
+      1160.0614        903.9434
+  21726669.4724  -16530631.03149 -12638465.95447  21726669.2044   21726673.1044
+      1710.1114       1332.5654
+  25054381.6274   -1356835.86349  -1036783.82745  25054381.2844   25054385.9874
+      2699.4894       2103.4964
+  22703774.4664  -11334053.73749  -8578581.00546  22703773.3984   22703777.3814
+     -3589.2184      -2796.7884
+  24602392.2844    -299692.06949   -211672.29645                  24602396.6074
+      3151.6794       2455.8514
+ 05  1 20  4 43  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  20987080.2434  -19276548.85449 -14999766.13847  20987079.6594   20987084.7414
+     -1971.2784      -1536.0594
+  20507289.1364  -26072442.14449 -20297992.12448  20507288.7504   20507292.4954
+      -735.2634       -572.9334
+  20670177.9764  -20220281.99649 -15735739.07848  20670177.0024   20670182.3724
+     -1395.6454      -1087.5124
+  23465843.9284   -4202854.70549  -3065834.93746  23465843.6744   23465850.1944
+      2447.8204       1907.3934
+  20641025.6864  -24298186.52349 -18918923.45148  20641025.7114   20641028.3114
+      1149.9274        896.0474
+  21716929.0624  -16581817.43649 -12678351.45347  21716929.0904   21716932.7494
+      1702.3354       1326.5034
+  25038977.9704   -1437772.45149  -1099851.26845  25038979.4654   25038984.6384
+      2696.2864       2101.0024
+  22724284.2484  -11226268.77449  -8494592.73046  22724284.4144   22724288.0604
+     -3596.4214      -2802.4044
+  24584393.2144    -394263.99849   -285364.67445  24584395.8634   24584401.5854
+      3152.9744       2456.8714
+ 05  1 20  4 43 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  20998385.8224  -19217137.42149 -14953471.51047  20998385.4284   20998390.5314
+     -1989.4644      -1550.2324
+  20511524.9064  -26050185.15449 -20280649.01348  20511524.5134   20511527.8944
+      -748.5254       -583.2694
+  20678202.0794  -20178111.29049 -15702878.78648  20678201.5434   20678206.9834
+     -1415.7254      -1103.1654
+  23451895.9284   -4276157.60549  -3122954.07646  23451895.2884   23451899.4054
+      2439.0074       1900.5334
+  20634490.1954  -24332531.60349 -18945685.85848  20634490.3744   20634492.5094
+      1139.7464        888.1134
+  21707233.6714  -16632770.71949 -12718055.29647  21707232.6074   21707236.5134
+      1694.5764       1320.4434
+  25023597.6414   -1518613.76949  -1162844.48345  25023596.2894   25023602.6284
+      2693.1654       2098.5694
+  22744838.4044  -11118269.64149  -8410437.52546  22744836.1584   22744839.6764
+     -3603.5054      -2807.9364
+  24566388.4914    -488883.49349   -359094.18345  24566391.0134   24566396.7444
+      3154.7094       2458.2184
+ 05  1 20  4 44  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21009795.0424  -19157182.21549 -14906753.17647  21009794.7764   21009799.4234
+     -2007.5374      -1564.3084
+  20515835.7744  -26027531.18049 -20262996.56748  20515835.1774   20515838.7784
+      -761.7534       -593.5754
+  20686341.4954  -20135339.22849 -15669549.91048  20686340.7574   20686346.8014
+     -1435.7384      -1118.7554
+  23437998.4034   -4349194.77949  -3179866.13046  23437997.0654   23438002.1854
+      2430.0964       1893.5754
+  20628012.9564  -24366570.79849 -18972209.90948  20628012.9244   20628015.1464
+      1129.5384        880.1624
+  21697581.9194  -16683491.04649 -12757577.62847  21697581.3664   21697584.9984
+      1686.7934       1314.3874
+  25008229.6054   -1599359.57949  -1225763.29445  25008230.6074   25008235.4484
+      2689.9834       2096.0874
+  22765427.5554  -11010059.42449  -8326117.85546  22765427.7964   22765432.1244
+     -3610.4824      -2813.3594
+  24548377.1994    -583547.64649   -432858.54345  24548377.3314   24548381.0804
+      3156.2594       2459.4224
+ 05  1 20  4 44 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21021307.4394  -19096685.63949 -14859612.98047  21021306.8744   21021311.7724
+     -2025.5604      -1578.3604
+  20520221.8064  -26004479.41849 -20245034.14448  20520221.8264   20520225.7744
+      -775.0364       -603.9234
+  20694594.3794  -20091967.62349 -15635753.86448  20694594.3034   20694599.6444
+     -1455.7194      -1134.3244
+  23424149.4324   -4421962.92349  -3236568.59246  23424149.2364   23424153.7154
+      2421.0744       1886.5434
+  20621594.1544  -24400302.48849 -18998494.33548  20621593.9484   20621596.1674
+      1119.2254        872.1234
+  21687973.6714  -16733978.63849 -12796918.60247  21687973.1904   21687977.0634
+      1679.0184       1308.3214
+  24992887.1064   -1680009.64149  -1288607.44445  24992885.2614   24992889.6844
+      2686.6914       2093.5254
+  22786058.9284  -10901640.80649  -8241635.82146  22786059.2344   22786063.8284
+     -3617.4124      -2818.7564
+  24530355.0064    -678253.54649   -506655.37045  24530354.5984   24530357.6974
+      3157.5354       2460.4184
+ 05  1 20  4 45  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21032922.2154  -19035650.25749 -14812052.94447  21032921.4804   21032926.0144
+     -2043.4544      -1592.3064
+  20524684.5444  -25981029.21449 -20226761.25148  20524684.1624   20524687.7254
+      -788.3034       -614.2644
+  20702962.4334  -20047998.20049 -15601491.98748  20702961.5414   20702966.8854
+     -1475.6084      -1149.8254
+  23410354.1854   -4494458.82849  -3293058.91446  23410354.4954   23410358.5834
+      2411.9724       1879.4574
+  20615234.1814  -24433725.25149 -19024538.05248  20615233.9184   20615235.9984
+      1108.9304        864.1034
+  21678410.9554  -16784233.27749 -12836078.06347  21678410.7424   21678413.9324
+      1671.2724       1302.2874
+  24977554.5534   -1760563.98549  -1351377.04245  24977555.0604   24977559.8944
+      2683.5324       2091.0684
+  22806728.4414  -10793017.34449  -8156994.18646  22806729.3954   22806734.5814
+     -3624.1224      -2823.9924
+  24512327.2184    -772998.32849   -580482.48545  24512325.3864   24512330.2204
+      3158.8204       2461.4194
+ 05  1 20  4 45 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21044638.4424  -18974078.58349 -14764075.01847  21044638.2234   21044642.4104
+     -2061.2784      -1606.1904
+  20529223.4294  -25957180.21549 -20208177.60248  20529222.6284   20529226.1724
+      -801.6034       -624.6244
+  20711442.3974  -20003432.54549 -15566765.50448  20711442.0174   20711447.3354
+     -1495.4404      -1165.2764
+  23396611.3504   -4566679.48449  -3349334.71046  23396610.0554   23396615.8234
+      2402.7684       1872.2694
+  20608932.7734  -24466837.36449 -19050339.69548  20608932.7354   20608935.0444
+      1098.5594        856.0184
+  21668891.6194  -16834255.34849 -12875056.27947  21668891.4734   21668895.1204
+      1663.5344       1296.2554
+  24962243.2634   -1841022.26049  -1414071.78345  24962242.3764   24962249.6124
+      2680.3164       2088.5534
+  22827439.7144  -10684191.75749  -8072195.05946  22827438.4204   22827442.0724
+     -3630.8224      -2829.2104
+  24494287.1634    -867779.25049   -654337.69945  24494287.1294   24494294.1494
+      3160.0314       2462.3564
+ 05  1 20  4 46  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21056456.4394  -18911973.19549 -14715681.20047  21056456.1994   21056461.1064
+     -2079.0434      -1620.0314
+  20533837.1514  -25932932.09249 -20189282.96548  20533836.7774   20533840.2744
+      -814.9254       -635.0074
+  20720036.5274  -19958272.32649 -15531575.72848  20720035.8654   20720041.0024
+     -1515.2444      -1180.7094
+  23382921.9414   -4638621.73949  -3405393.56646  23382920.8364   23382924.6364
+      2393.4044       1864.9824
+  20602691.0584  -24499637.54949 -19075898.28048  20602690.8264   20602693.5704
+      1088.1364        847.9014
+  21659417.3834  -16884044.72749 -12913853.19747  21659417.0474   21659421.1264
+      1655.7644       1290.2104
+  24946952.4294   -1921384.25449  -1476691.45845  24946950.5394   24946958.0334
+      2677.0864       2086.0394
+  22848186.3214  -10575166.91749  -7987240.60746  22848184.9554   22848189.3554
+     -3637.4584      -2834.3734
+  24476249.9024    -962593.29549   -728218.81345  24476247.8974   24476251.5894
+      3161.0504       2463.1584
+ 05  1 20  4 46 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21068375.2534  -18849336.69149 -14666873.53547  21068375.5394   21068380.1694
+     -2096.6924      -1633.7834
+  20538527.3384  -25908284.52349 -20170077.05948  20538527.1174   20538530.6444
+      -828.2294       -645.3684
+  20728742.7374  -19912519.45849 -15495924.14748  20728742.3264   20728747.5554
+     -1534.9504      -1196.0584
+  23369283.3024   -4710282.82949  -3461233.35346  23369282.0044   23369288.2724
+      2383.9774       1857.6574
+  20596508.7934  -24532124.06749 -19101212.45348  20596509.0234   20596511.3414
+      1077.6464        839.7284
+  21649987.6414  -16933601.69649 -12952469.01147  21649986.8174   21649990.4754
+      1648.0294       1284.1804
+  24931677.6214   -2001650.00249  -1539236.18945  24931676.9174   24931680.9334
+      2673.8794       2083.5454
+  22868969.8664  -10465945.93049  -7902133.37846  22868970.0804   22868973.1904
+     -3643.9364      -2839.4104
+  24458198.7204   -1057437.66049   -802123.56645  24458198.4064   24458202.1974
+      3161.9294       2463.8454
+ 05  1 20  4 47  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21080396.5814  -18786171.56149 -14617653.94947  21080395.6124   21080400.1054
+     -2114.2694      -1647.4864
+  20543293.7514  -25883236.87149 -20150559.40648  20543293.3454   20543297.1634
+      -841.5774       -655.7784
+  20737561.8104  -19866175.62249 -15459812.07548  20737561.1454   20737566.7354
+     -1554.6374      -1211.4094
+  23355700.8594   -4781659.38349  -3516851.44946  23355701.9734   23355706.2484
+      2374.4284       1850.2084
+  20590387.4654  -24564295.54649 -19126281.14248  20590387.1204   20590389.1914
+      1067.1064        831.5084
+  21640600.5304  -16982926.29849 -12990903.75747  21640600.5964   21640604.6684
+      1640.2924       1278.1484
+  24916420.3164   -2081819.32149  -1601705.77145  24916420.5414   24916426.0924
+      2670.7124       2081.0744
+  22889791.0424  -10356531.94249  -7816875.76646  22889790.2034   22889794.3654
+     -3650.3094      -2844.4074
+  24440144.8884   -1152309.22149   -876049.55245  24440145.6714   24440149.6264
+      3162.7684       2464.4944
+ 05  1 20  4 47 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21092515.3594  -18722480.43549 -14568024.49547  21092515.2244   21092520.3114
+     -2131.7374      -1661.0994
+  20548136.2664  -25857788.51149 -20130729.50248  20548136.0314   20548140.0564
+      -854.9394       -666.1904
+  20746492.7744  -19819242.55249 -15423240.85248  20746492.3024   20746497.5804
+     -1574.2184      -1226.6664
+  23342173.3734   -4852748.45049  -3572245.51146  23342172.9114   23342178.6944
+      2364.7914       1842.6814
+  20584325.8374  -24596150.56949 -19151103.23748  20584325.3924   20584327.3134
+      1056.5514        823.2824
+  21631259.9314  -17032018.74349 -13029157.61847  21631259.1814   21631262.4874
+      1632.5754       1272.1294
+  24901184.3114   -2161892.02349  -1664100.02545  24901184.2454   24901189.1954
+      2667.5014       2078.5684
+  22910646.8894  -10246927.73149  -7731469.90646  22910646.8814   22910650.4874
+     -3656.6114      -2849.3214
+  24422085.6944   -1247205.38149   -949994.65845  24422087.0204   24422090.7554
+      3163.5994       2465.1464
+ 05  1 20  4 48  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21104735.8144  -18658265.90449 -14517987.19447  21104735.4634   21104740.0664
+     -2149.1614      -1674.6664
+  20553055.2794  -25831938.63449 -20110586.74648  20553055.1414   20553059.1054
+      -868.3224       -676.6144
+  20755536.1304  -19771722.09549 -15386211.92948  20755535.0754   20755540.7894
+     -1593.7744      -1241.9004
+  23328702.0254   -4923546.80749  -3627413.02146  23328701.4434   23328706.4124
+      2355.0404       1835.0984
+  20578324.2214  -24627687.41649 -19175677.40548  20578324.2324   20578326.1034
+      1045.9194        815.0044
+  21621960.9714  -17080879.04449 -13067230.56947  21621960.7034   21621964.6214
+      1624.8324       1266.0984
+  24885965.0194   -2241867.84349  -1726418.80645  24885966.0204   24885971.1284
+      2664.2394       2076.0304
+  22931539.4524  -10137136.76149  -7645918.47046  22931539.3374   22931543.3664
+     -3662.7664      -2854.0994
+  24404023.2854   -1342123.07849  -1023956.51045  24404023.9624   24404030.4054
+      3164.2504       2465.6514
+ 05  1 20  4 48 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21117054.6874  -18593530.58249 -14467544.08847  21117053.9564   21117058.7524
+     -2166.4794      -1688.1674
+  20558050.4564  -25805687.12649 -20090131.02448  20558050.4064   20558054.3654
+      -881.7474       -687.0734
+  20764690.1244  -19723616.15649 -15348726.78248  20764689.5114   20764694.8024
+     -1613.2834      -1257.1034
+  23315285.9724   -4994051.56649  -3682351.78546  23315284.7514   23315289.5774
+      2345.2274       1827.4434
+  20572384.3124  -24658904.61449 -19200002.49448  20572383.8584   20572385.7444
+      1035.2284        806.6724
+  21612707.4434  -17129507.46249 -13105122.84547  21612707.0354   21612711.0674
+      1617.0714       1260.0564
+  24870764.1624   -2321746.70249  -1788662.04045  24870765.5634   24870768.4224
+      2661.0334       2073.5304
+  22952467.0554  -10027161.64749  -7560223.61346  22952466.6884   22952469.7774
+     -3668.8874      -2858.8834
+  24385958.6934   -1437059.40049  -1097932.91345  24385959.2334   24385962.7184
+      3164.8814       2466.1514
+ 05  1 20  4 49  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21129471.2214  -18528277.22749 -14416697.31247  21129471.3264   21129475.7294
+     -2183.7004      -1701.5834
+  20563123.2444  -25779033.26749 -20069361.78148  20563122.8424   20563126.4524
+      -895.1714       -697.5364
+  20773955.4194  -19674926.39349 -15310786.71048  20773954.3534   20773960.1794
+     -1632.7074      -1272.2384
+  23301923.5724   -5064259.49149  -3737059.23646  23301923.9854   23301928.4624
+      2335.3004       1819.7074
+  20566503.9054  -24689800.61049 -19224077.30048  20566504.1674   20566506.4964
+      1024.5084        798.3204
+  21603497.0684  -17177904.17349 -13142834.56047  21603497.2264   21603501.4304
+      1609.3624       1254.0544
+  24855584.3164   -2401528.37449  -1850829.51145  24855583.5874   24855588.8494
+      2657.7424       2070.9664
+  22973430.4384   -9917005.50649  -7474387.69746  22973429.1014   22973433.4824
+     -3674.8464      -2863.5124
+  24367890.0714   -1532011.33749  -1171921.45545  24367889.2054   24367893.6444
+      3165.3174       2466.4834
+ 05  1 20  4 49 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21141987.4914  -18462508.28249 -14365448.78547  21141987.0234   21141991.1994
+     -2200.8484      -1714.9424
+  20568271.8094  -25751976.54949 -20048278.61948  20568271.4184   20568275.3954
+      -908.5874       -707.9884
+  20783331.9134  -19625654.74249 -15272393.21848  20783330.7704   20783336.4074
+     -1652.0734      -1287.3284
+  23288621.2384   -5134167.63749  -3791533.12646  23288621.2044   23288626.6084
+      2325.2514       1811.8944
+  20560685.7274  -24720373.90349 -19247900.64748  20560686.2604   20560688.7134
+      1013.7154        789.9094
+  21594332.8184  -17226069.24249 -13180365.78547  21594331.9844   21594336.2444
+      1601.6654       1248.0494
+  24840419.5684   -2481212.90949  -1912921.29845  24840419.3034   24840425.1304
+      2654.5054       2068.4364
+  22994426.1414   -9806671.31449  -7388413.02346  22994424.8474   22994428.9034
+     -3680.7134      -2868.0994
+  24349815.3114   -1626975.97949  -1245919.90945  24349818.3244   24349823.2224
+      3165.6954       2466.7774
+ 05  1 20  4 50  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21154599.5724  -18396226.50249 -14313800.63447  21154599.9014   21154604.5364
+     -2217.9224      -1728.2554
+  20573497.3984  -25724516.87149 -20026881.46648  20573496.7354   20573500.5144
+      -922.0444       -718.4764
+  20792817.8984  -19575803.17749 -15233547.84348  20792817.0534   20792822.4574
+     -1671.3754      -1302.3734
+  23275376.0224   -5203773.05449  -3845771.06746  23275375.2294   23275380.9324
+      2315.0564       1803.9364
+  20554930.2424  -24750622.95649 -19271471.34348  20554930.2544   20554932.4544
+      1002.8694        781.4584
+  21585211.4044  -17274002.95749 -13217716.72547  21585210.6064   21585214.4624
+      1593.9294       1242.0204
+  24825276.4254   -2560800.07449  -1974937.26345  24825274.9014   24825280.4554
+      2651.2994       2065.9504
+  23015454.2514   -9696162.11649  -7302301.96446  23015453.8704   23015458.5944
+     -3686.5454      -2872.6354
+  24331747.3034   -1721950.52649  -1319926.05645  24331746.2164   24331749.9824
+      3165.9304       2466.9574
+ 05  1 20  4 50 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21167309.6074  -18329434.53249 -14261754.94447  21167309.5834   21167314.4164
+     -2234.8654      -1741.4544
+  20578799.2894  -25696653.80949 -20005169.98648  20578798.8164   20578802.9294
+      -935.5094       -728.9684
+  20802413.8334  -19525373.70149 -15194252.15148  20802413.3324   20802418.9164
+     -1690.5794      -1317.3364
+  23262189.3764   -5273072.69049  -3899770.77446  23262188.6654   23262192.9634
+      2304.7764       1795.9374
+  20549236.1534  -24780546.23449 -19294788.18448  20549236.0114   20549238.1594
+       992.0114        772.9954
+  21576132.7974  -17321705.29149 -13254887.36847  21576132.9284   21576137.2324
+      1586.2164       1236.0184
+  24810147.0534   -2640289.89849  -2036877.36945  24810147.1894   24810153.2214
+      2648.0374       2063.4054
+  23036516.1434   -9585480.92049  -7216056.88646  23036516.3134   23036520.0514
+     -3692.2034      -2877.0304
+  24313670.0754   -1816931.90849  -1393937.55945  24313669.9404   24313675.8424
+      3166.1094       2467.0984
+ 05  1 20  4 51  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21180117.2464  -18262134.91449 -14209313.68947  21180116.8064   21180121.2964
+     -2251.7434      -1754.6094
+  20584178.3824  -25668386.47749 -19983143.49148  20584177.8894   20584181.9164
+      -948.9784       -739.4634
+  20812120.5444  -19474368.12949 -15154507.55348  20812119.3654   20812125.0774
+     -1709.7674      -1332.2864
+  23249059.9894   -5342063.37749  -3953529.76546  23249060.4174   23249064.8554
+      2294.5034       1787.9274
+  20543604.1764  -24810142.41249 -19317850.14248  20543604.2264   20543606.1824
+       981.0914        764.4864
+  21567100.8774  -17369176.43449 -13291877.86747  21567099.7394   21567103.0784
+      1578.5094       1230.0044
+  24795039.3564   -2719682.25949  -2098741.49645  24795038.6964   24795043.6854
+      2644.7924       2060.8744
+  23057611.4324   -9474630.89249  -7129680.26346  23057611.1144   23057614.2114
+     -3697.7304      -2881.3374
+  24295597.1824   -1911917.17049  -1467952.07445  24295595.5954   24295601.3924
+      3166.2854       2467.2294
+ 05  1 20  4 51 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21193019.5024  -18194330.33849 -14156478.95047  21193019.0244   21193023.7844
+     -2268.5504      -1767.7014
+  20589634.3024  -25639714.52049 -19960801.70448  20589634.0144   20589637.9934
+      -962.4784       -749.9814
+  20821936.2094  -19422788.38349 -15114315.55148  20821935.2674   20821940.2494
+     -1728.8854      -1347.1834
+  23235991.1274   -5410742.21649  -4007045.71546  23235990.4494   23235995.7944
+      2284.0204       1779.7534
+  20538034.6594  -24839410.07549 -19340656.11548  20538034.6844   20538036.6234
+       970.0834        755.9094
+  21558110.5834  -17416416.30849 -13328688.15747  21558110.3254   21558113.5144
+      1570.8144       1224.0124
+  24779948.2294   -2798977.07749  -2160529.61245  24779948.5104   24779954.4614
+      2641.5804       2058.3774
+  23078737.1874   -9363615.06649  -7043174.45246  23078735.4264   23078739.7034
+     -3703.2294      -2885.6334
+  24277519.6884   -2006903.30749  -1541967.29545  24277521.6114   24277527.4744
+      3166.2534       2467.2154
+ 05  1 20  4 52  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21206017.3184  -18126023.71149 -14103253.00047  21206017.5804   21206022.1034
+     -2285.2494      -1780.7174
+  20595168.2084  -25610637.58549 -19938144.35248  20595167.4364   20595170.9824
+      -976.0144       -760.5304
+  20831859.6564  -19370636.56849 -15073677.77648  20831859.0244   20831864.3544
+     -1747.9254      -1362.0214
+  23222981.2724   -5479106.13549  -4060316.26446  23222981.0514   23222985.8594
+      2273.4934       1771.5474
+  20532528.1254  -24868347.45849 -19363204.72448  20532527.8634   20532529.9774
+       959.0534        747.3134
+  21549164.9594  -17463425.50649 -13365318.69147  21549164.7074   21549168.3184
+      1563.1034       1218.0044
+  24764882.9394   -2878173.96949  -2222241.44745  24764880.3024   24764885.2824
+      2638.2194       2055.7564
+  23099893.4854   -9252436.18149  -6956541.54846  23099893.1364   23099896.4844
+     -3708.6604      -2889.8544
+  24259445.3574   -2101887.47049  -1615980.93745  24259446.7524   24259450.1184
+      3166.0924       2467.0834
+ 05  1 20  4 52 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21219111.2124  -18057217.59449 -14049637.85447  21219110.9564   21219115.3634
+     -2301.8264      -1793.6364
+  20600778.3364  -25581155.21849 -19915171.07948  20600777.7604   20600781.6054
+      -989.5064       -771.0444
+  20841892.2344  -19317914.56449 -15032595.70548  20841891.8884   20841897.3914
+     -1766.8854      -1376.7944
+  23210032.2644   -5547152.22349  -4113339.20946  23210032.0484   23210038.0254
+      2262.9154       1763.3094
+  20527084.1174  -24896953.11649 -19385494.84848  20527084.2734   20527086.5894
+       947.9724        738.6804
+  21540263.7344  -17510203.87849 -13401769.36047  21540263.2994   21540267.0624
+      1555.4274       1212.0224
+  24749828.8244   -2957272.99649  -2283877.00845  24749829.3734   24749834.0054
+      2635.0204       2053.2604
+  23121079.7624   -9141097.46249  -6869784.12546  23121079.5874   23121084.1954
+     -3713.9204      -2893.9714
+  24241370.8604   -2196866.53849  -1689990.60045  24241372.1974   24241378.0924
+      3165.8654       2466.9074
+ 05  1 20  4 53  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21232299.0884  -17987914.69249 -13995635.59647  21232299.4494   21232303.1834
+     -2318.3544      -1806.5044
+  20606465.8384  -25551267.20849 -19891881.71948  20606465.4434   20606468.8514
+     -1003.0194       -781.5744
+  20852033.6634  -19264624.67649 -14991071.12448  20852032.8594   20852037.9054
+     -1785.7754      -1391.5104
+  23197145.1334   -5614877.59149  -4166112.22046  23197144.4454   23197150.0594
+      2252.1344       1754.9204
+  20521704.0234  -24925225.61349 -19407525.37048  20521704.2734   20521706.5524
+       936.8464        730.0114
+  21531405.8334  -17556751.43149 -13438040.17547  21531405.0784   21531409.0394
+      1547.7464       1206.0374
+  24734795.8614   -3036273.98449  -2345436.15145  24734795.1634   24734799.4624
+      2631.7414       2050.7104
+  23142296.9124   -9029601.59249  -6782904.20746  23142296.5624   23142300.6604
+     -3719.1014      -2897.9994
+  24223300.7674   -2291837.62349  -1763994.06145  24223301.2654   24223304.1744
+      3165.4764       2466.6044
+ 05  1 20  4 53 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21245580.7484  -17918117.62149 -13941248.25547  21245581.0094   21245585.6854
+     -2334.7674      -1819.3044
+  20612230.3054  -25520973.31049 -19868276.08548  20612229.9164   20612233.7084
+     -1016.5694       -792.1344
+  20862282.2274  -19210768.91549 -14949105.59848  20862281.1054   20862286.5574
+     -1804.6184      -1406.1974
+  23184318.9014   -5682279.03249  -4218632.78446  23184318.8694   23184324.4094
+      2241.2714       1746.4364
+  20516387.8394  -24953163.48149 -19429295.13448  20516387.7934   20516390.2054
+       925.6524        721.2874
+  21522591.7174  -17603068.46749 -13474131.37447  21522591.6834   21522595.5104
+      1540.0654       1200.0494
+  24719781.2854   -3115176.79449  -2406918.83845  24719780.9004   24719784.3704
+      2628.4494       2048.1464
+  23163543.3304   -8917951.88749  -6695904.42946  23163542.9904   23163547.6824
+     -3724.1874      -2901.9614
+  24205230.2194   -2386797.71649  -1837988.98845  24205230.3854   24205234.7134
+      3165.1424       2466.3464
+ 05  1 20  4 54  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21258955.8104  -17847829.13749 -13886478.01947  21258956.0024   21258961.4994
+     -2351.1194      -1832.0414
+  20618072.7514  -25490273.11849 -19844353.86248  20618071.9304   20618075.5984
+     -1030.1194       -802.6904
+  20872637.3644  -19156349.25949 -14906700.68348  20872636.6124   20872641.9564
+     -1823.3884      -1420.8214
+  23171555.1724   -5749353.50049  -4270898.58646  23171554.5214   23171559.1794
+      2230.2914       1737.8984
+  20511135.7584  -24980765.10949 -19450802.90148  20511135.6184   20511137.7424
+       914.4064        712.5264
+  21513822.4714  -17649155.21249 -13510043.11547  21513821.5334   21513825.3074
+      1532.3784       1194.0604
+  24704784.1774   -3193981.45149  -2468324.98745  24704782.9664   24704788.7964
+      2625.1744       2045.5914
+  23184818.1204   -8806151.04549  -6608786.87046  23184816.4714   23184822.9404
+     -3729.2144      -2905.8874
+  24187158.3474   -2481743.75949  -1911972.89145  24187160.3774   24187167.9564
+      3164.6954       2465.9994
+ 05  1 20  4 54 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21272424.5134  -17777052.05449 -13831327.04047  21272424.5944   21272429.8724
+     -2367.3304      -1844.6764
+  20623991.3654  -25459166.10449 -19820114.63248  20623991.3424   20623995.1894
+     -1043.6934       -813.2674
+  20883099.3164  -19101367.94649 -14863858.11448  20883099.0684   20883104.5644
+     -1842.0364      -1435.3534
+  23158853.0994   -5816098.11049  -4322907.35046  23158853.6814   23158858.5394
+      2219.2774       1729.3034
+  20505947.7844  -25008028.99049 -19472047.48648  20505947.4574   20505949.7234
+       903.1544        703.7564
+  21505095.6304  -17695011.92449 -13545775.61747  21505095.2034   21505099.0314
+      1524.7234       1188.0954
+  24689805.9534   -3272687.66349  -2529654.53645  24689804.0594   24689813.4524
+      2621.8764       2043.0214
+  23206120.8904   -8694202.41849  -6521554.16046  23206120.9414   23206125.1294
+     -3734.0564      -2909.6524
+  24169097.7744   -2576672.68249  -1985943.48745  24169098.4794   24169103.1964
+      3163.9524       2465.4194
+ 05  1 20  4 55  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21285985.5664  -17705789.12549 -13775797.48347  21285985.5264   21285990.3814
+     -2383.4864      -1857.2614
+  20629989.1824  -25427652.12249 -19795558.28348  20629988.6244   20629992.3754
+     -1057.2324       -823.8134
+  20893668.9294  -19045827.19449 -14820579.61848  20893668.0774   20893673.5734
+     -1860.6644      -1449.8684
+  23146216.6654   -5882509.89149  -4374656.77946  23146216.0674   23146220.8224
+      2208.0984       1720.6084
+  20500824.0014  -25034953.73749 -19493027.80848  20500823.8414   20500826.0714
+       891.8164        694.9224
+  21496413.9374  -17740638.51549 -13581328.80347  21496413.0484   21496416.5904
+      1517.0554       1182.1234
+  24674845.3084   -3351295.41449  -2590907.33945  24674844.6004   24674851.5544
+      2618.5694       2040.4354
+  23227451.0364   -8582108.94549  -6434208.63846  23227450.7994   23227456.1254
+     -3738.8364      -2913.3874
+  24151034.7464   -2671581.64849  -2059898.55845  24151036.3184   24151041.2844
+      3163.3154       2464.9224
+ 05  1 20  4 55 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21299638.1104  -17634043.10949 -13719891.50347  21299638.4104   21299642.9504
+     -2399.5614      -1869.7884
+  20636063.0804  -25395730.76549 -19770684.50648  20636062.8144   20636066.4944
+     -1070.8394       -834.4204
+  20904344.5064  -18989729.27549 -14776866.96148  20904343.5194   20904349.1004
+     -1879.2104      -1464.3194
+  23133642.8114   -5948585.81349  -4426144.49246  23133642.3574   23133647.3744
+      2196.8874       1711.8604
+  20495765.0204  -25061537.70649 -19513742.59448  20495764.7324   20495767.0904
+       880.4254        686.0444
+  21487774.4754  -17786035.21649 -13616702.84747  21487773.9884   21487777.7974
+      1509.3934       1176.1524
+  24659907.4744   -3429804.64449  -2652083.34045  24659906.8704   24659911.7904
+      2615.3244       2037.9164
+  23248809.4064   -8469873.60249  -6346752.51046  23248808.6084   23248812.9114
+     -3743.5274      -2917.0194
+  24132980.4244   -2766467.76849  -2133835.76445  24132980.3874   24132986.0844
+      3162.5044       2464.2904
+ 05  1 20  4 56  0.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21313383.2194  -17561816.68649 -13663611.17047  21313382.7014   21313387.1234
+     -2415.5214      -1882.2224
+  20642215.0674  -25363401.48049 -19745492.85148  20642214.7804   20642218.4614
+     -1084.4494       -845.0244
+  20915124.7864  -18933076.23449 -14732721.74848  20915124.2724   20915129.6424
+     -1897.6764      -1478.7104
+  23121134.1744   -6014323.03749  -4477368.29446  23121133.5714   23121137.9584
+      2185.5414       1703.0074
+  20490771.5394  -25087779.58749 -19534190.80948  20490771.3094   20490773.5474
+       869.0084        677.1474
+  21479179.2074  -17831202.21549 -13651897.91147  21479178.7654   21479182.9934
+      1501.7384       1170.1844
+  24644987.3614   -3508215.28649  -2713182.53045  24644988.0704   24644991.2894
+      2612.0674       2035.3754
+  23270194.6554   -8357499.15749  -6259187.99446  23270193.3274   23270197.5414
+     -3748.1134      -2920.6114
+  24114928.5514   -2861327.62749  -2207752.55045  24114928.4354   24114934.3354
+      3161.4954       2463.5004
+ 05  1 20  4 56 30.0000000  0  9G 9G18G15G 5G22G14G 1G21G30
+  21327217.7734  -17489112.79249 -13606958.78847  21327217.8694   21327222.4654
+     -2431.3854      -1894.5894
+  20648445.1474  -25330664.30449 -19719983.37448  20648444.4214   20648448.2624
+     -1098.0354       -855.6124
+  20926010.4874  -18875870.10449 -14688145.55348  20926009.9474   20926015.6824
+     -1916.0804      -1493.0484
+  23108688.5994   -6079718.55049  -4528325.80246  23108688.5634   23108693.5594
+      2174.1504       1694.1394
+  20485843.0754  -25113678.08949 -19554371.46048  20485843.0994   20485845.2774
+       857.5484        668.2184
+  21470627.6084  -17876139.65249 -13686914.09447  21470627.5614   21470631.3674
+      1494.1244       1164.2554
+  24630085.7634   -3586527.23849  -2774204.80645  24630085.1794   24630089.6634
+      2608.7594       2032.7954
+  23291604.3494   -8244988.96749  -6171517.74646  23291603.4494   23291606.9784
+     -3752.5604      -2924.0624
+  24096884.8494   -2956158.37549  -2281646.58145  24096884.1474   24096888.5484
+      3160.5454       2462.7624
+ 05  1 20  4 57  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21341143.1164  -17415934.31849 -13549936.59947  21341143.6734   21341147.9914
+     -2447.1644      -1906.8884
+  20654752.6294  -25297518.86149 -19694155.75648  20654751.8054   20654755.5424
+     -1111.6434       -866.2184
+  20937002.2954  -18818113.01149 -14643140.04348  20937001.2444   20937006.4494
+     -1934.4094      -1507.3354
+  23096310.9004   -6144769.25149  -4579014.66146  23096310.0354   23096315.2184
+      2162.5454       1685.1014
+  20480980.4584  -25139231.63149 -19574283.30948  20480980.4744   20480982.5494
+       846.0034        659.2194
+  24998284.4814    -325749.42949   -238716.11345  24998284.0384   24998290.1754
+      3547.8574       2764.5624
+  21462120.7114  -17920848.01449 -13721751.78047  21462120.1224   21462124.2814
+      1486.4724       1158.2844
+  24615201.6234   -3664740.29449  -2835150.00445  24615200.6694   24615206.3654
+      2605.4854       2030.2494
+  23313038.1924   -8132345.85749  -6083743.89546  23313038.5664   23313042.3754
+     -3756.9554      -2927.5084
+  24078844.8964   -3050957.06949  -2355515.67745  24078844.5824   24078850.2274
+      3159.3534       2461.8314
+ 05  1 20  4 57 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21355159.3044  -17342283.83049 -13492546.61247  21355158.5764   21355162.9434
+     -2462.8374      -1919.0954
+  20661137.0564  -25263964.33549 -19668009.37948  20661136.7114   20661140.9874
+     -1125.3044       -876.8604
+  20948096.6524  -18759807.45049 -14597707.14548  20948095.7214   20948101.4964
+     -1952.6344      -1521.5334
+  23083997.9354   -6209472.01849  -4629432.37946  23083996.5944   23084003.2504
+      2150.9454       1676.0554
+  20476183.9504  -25164438.50349 -19593925.02748  20476183.7084   20476186.0584
+       834.4504        650.2204
+  24978039.7414    -432139.81049   -321617.68745  24978038.0754   24978045.0794
+      3544.9434       2762.2864
+  21453655.8364  -17965326.94549 -13756410.68547  21453655.9124   21453660.0744
+      1478.8184       1152.3264
+  24600337.2674   -3742854.53749  -2896018.28145  24600337.0874   24600340.7414
+      2602.1764       2027.6744
+  23334498.6794   -8019572.84649  -5995868.82846  23334499.1734   23334502.2644
+     -3761.2504      -2930.8394
+  24060809.1264   -3145720.42349  -2429357.32945  24060810.1534   24060816.5364
+      3158.1764       2460.9244
+ 05  1 20  4 58  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21369262.0554  -17268164.19549 -13434791.05647  21369262.5464   21369267.3864
+     -2478.4494      -1931.2574
+  20667600.5434  -25230000.81149 -19641544.30448  20667600.1074   20667603.9394
+     -1138.9324       -887.4824
+  20959295.9134  -18700955.61549 -14551848.58348  20959295.3034   20959300.7034
+     -1970.8194      -1535.7034
+  23071750.3924   -6273824.32249  -4679577.02946  23071751.2604   23071756.6974
+      2139.2034       1666.9074
+  20471453.3994  -25189297.25149 -19613295.48448  20471453.2884   20471455.5894
+       822.8004        641.1454
+  24957809.9594    -538443.24949   -404451.53945  24957811.5814   24957814.5594
+      3542.0574       2760.0434
+  21445235.4684  -18009576.70749 -13790891.02447  21445235.2554   21445239.6844
+      1471.1834       1146.3794
+  24585489.7234   -3820869.74749  -2956809.31445  24585488.6584   24585494.8804
+      2598.8684       2025.0944
+  23355981.9754   -7906672.90549  -5907894.88046  23355982.1424   23355986.0804
+     -3765.4434      -2934.1104
+  24042786.4074   -3240445.66449  -2503169.19945  24042785.8784   24042790.6294
+      3156.8574       2459.8874
+ 05  1 20  4 58 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21383455.8884  -17193578.31749 -13376672.18747  21383456.0164   21383461.1084
+     -2493.9374      -1943.3244
+  20674141.3854  -25195627.93549 -19614760.24748  20674141.1004   20674144.6554
+     -1152.6074       -898.1354
+  20970598.3234  -18641559.44749 -14505565.87348  20970598.1554   20970603.4374
+     -1988.9274      -1549.8134
+  23059573.6684   -6337823.22549  -4729446.30346  23059572.8894   23059578.8324
+      2127.3814       1657.6984
+  20466789.1454  -25213806.00149 -19632393.20748  20466789.2054   20466791.6644
+       811.1194        632.0424
+  24937598.3814    -644657.70549   -487215.99145  24937598.8344   24937602.1004
+      3538.9434       2757.6174
+  21436858.6774  -18053597.20549 -13825192.71147  21436858.3504   21436862.2854
+      1463.5174       1140.4024
+  24570659.6164   -3898785.92149  -3017523.21245  24570660.6134   24570668.8574
+      2595.5434       2022.5004
+  23377491.4314   -7793648.50249  -5819823.93846  23377490.9074   23377494.6664
+     -3769.5044      -2937.2744
+  24024768.2594   -3335129.70449  -2576948.97445  24024768.1304   24024772.3704
+      3155.4234       2458.7704
+ 05  1 20  4 59  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21397738.6724  -17118529.06349 -13318192.25247  21397737.6764   21397742.3924
+     -2509.3394      -1955.3284
+  20680760.1234  -25160845.75949 -19587657.26048  20680759.5824   20680763.5154
+     -1166.2494       -908.7644
+  20982004.4744  -18581621.54049 -14458861.01248  20982003.8624   20982009.6594
+     -2006.9404      -1563.8514
+  23047462.4834   -6401466.02549  -4779038.05446  23047461.5774   23047467.0704
+      2115.4124       1648.3604
+  20462192.3024  -25237964.08349 -19651217.69048  20462192.3104   20462194.5344
+       799.4004        622.9114
+  24917400.9744    -750781.08149   -569909.48445  24917401.2864   24917407.4374
+      3535.7304       2755.1104
+  21428525.2614  -18097388.98349 -13859316.17047  21428524.8704   21428529.1614
+      1455.9084       1134.4734
+  24555856.6204   -3976602.92349  -3078159.88445  24555856.3214   24555860.6474
+      2592.2364       2019.9264
+  23399023.3864   -7680503.80549  -5731659.25045  23399021.9914   23399024.4724
+     -3773.4944      -2940.3944
+  24006757.2504   -3429769.26549  -2650694.06445  24006758.0844   24006763.7514
+      3153.8904       2457.5804
+ 05  1 20  4 59 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21412106.6164  -17043019.23149 -13259353.42647  21412106.2734   21412110.8114
+     -2524.6424      -1967.2494
+  20687457.1744  -25125653.65649 -19560234.85148  20687456.5244   20687460.7424
+     -1179.8974       -919.4004
+  20993512.5294  -18521144.29149 -14411735.89248  20993511.9854   20993517.8764
+     -2024.8754      -1577.8264
+  23035419.2274   -6464749.60549  -4828349.93546  23035419.6134   23035424.5144
+      2103.4104       1639.0264
+  20457662.8954  -25261769.63049 -19669767.46848  20457662.2224   20457664.3904
+       787.6194        613.7314
+  24897225.6434    -856811.54449   -652530.59245  24897226.1474   24897230.8064
+      3532.8424       2752.8684
+  21420235.6464  -18140952.24849 -13893261.57247  21420235.0614   21420239.3394
+      1448.3094       1128.5584
+  24541066.4514   -4054320.74449  -3138719.23245  24541066.9764   24541073.2364
+      2588.8604       2017.2924
+  23420575.9724   -7567240.81149  -5643402.38745  23420575.3544   23420576.7484
+     -3777.3694      -2943.4104
+  23988760.0454   -3524361.38449  -2724402.22945  23988759.6214   23988763.9484
+      3152.2584       2456.3064
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20  5  0  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21426562.3424  -16967051.51849 -13200157.80847  21426562.1454   21426567.4354
+     -2539.8454      -1979.0914
+  20694231.7334  -25090051.41049 -19532492.85148  20694231.6184   20694235.5144
+     -1193.5814       -930.0624
+  21005121.9574  -18460129.94549 -14364192.25948  21005122.3624   21005128.0094
+     -2042.7474      -1591.7494
+  23023446.0154   -6527670.64149  -4877379.31046  23023445.4884   23023451.2254
+      2091.2934       1629.5814
+  20453199.3544  -25285221.26349 -19688041.46548  20453199.4744   20453201.7114
+       775.8184        604.5344
+  24877069.3474    -962747.58649   -735078.10345  24877068.7824   24877072.4654
+      3529.6464       2750.3704
+  21411989.7094  -18184287.16049 -13927029.03247  21411989.1224   21411993.0114
+      1440.6914       1122.6164
+  24526295.2794   -4131939.32749  -3199201.25045  24526295.2944   24526301.0014
+      2585.5834       2014.7384
+  23442149.8154   -7453862.67449  -5555055.76546  23442148.9864   23442154.6104
+     -3781.1654      -2946.3654
+  23970767.2094   -3618903.06549  -2798071.10045  23970768.4564   23970773.3464
+      3150.5524       2454.9774
+ 05  1 20  5  0 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21441105.6214  -16890629.00049 -13140607.79347  21441105.8684   21441110.0144
+     -2554.9854      -1990.8984
+  20701084.5094  -25054039.10149 -19504431.32148  20701084.2344   20701088.2254
+     -1207.2164       -940.6884
+  21016837.1054  -18398581.01549 -14316232.07348  21016835.6164   21016840.7554
+     -2060.5134      -1605.5984
+  23011543.5084   -6590226.57249  -4926124.17646  23011543.0774   23011546.7544
+      2079.1154       1620.0834
+  20448804.4314  -25308317.70249 -19706038.68748  20448804.2894   20448806.5704
+       763.9484        595.2824
+  24856925.3094   -1068586.98748   -817550.30845  24856927.0684   24856931.2024
+      3526.4334       2747.8574
+  21403786.8424  -18227393.65849 -13960618.50647  21403786.6454   21403790.2154
+      1433.1144       1116.7104
+  24511547.7404   -4209458.64049  -3259605.91245  24511546.3344   24511549.6604
+      2582.3594       2012.2274
+  23463746.0184   -7340372.60149  -5466621.97546  23463746.2514   23463749.6304
+     -3784.8324      -2949.2144
+  23952786.9304   -3713391.04649  -2871698.07045  23952787.2104   23952791.5754
+      3148.7154       2453.5484
+ 05  1 20  5  1  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21455734.4034  -16813754.51049 -13080705.58847  21455734.1674   21455739.0474
+     -2570.0114      -2002.6054
+  20708016.2414  -25017616.53849 -19476050.11248  20708015.8074   20708019.2894
+     -1220.9234       -951.3684
+  21028649.3284  -18336499.83149 -14267857.13247  21028648.7424   21028654.2444
+     -2078.2414      -1619.4104
+  22999707.3014   -6652414.45049  -4974582.24046  22999707.6294   22999712.8534
+      2066.7504       1610.4654
+  20444477.1704  -25331057.41049 -19723757.94348  20444477.1814   20444479.4664
+       752.0124        585.9834
+  24836808.4994   -1174327.97449   -899945.84445  24836803.5884   24836809.6634
+      3523.0284       2745.2134
+  21395627.4934  -18270272.04049 -13994030.23247  21395627.2414   21395630.7114
+      1425.4754       1110.7584
+  24496813.2694   -4286878.54049  -3319933.08945  24496812.6674   24496816.7484
+      2578.9614       2009.5824
+  23485363.3304   -7226773.38449  -5378103.10245  23485363.6904   23485367.6254
+     -3788.4174      -2952.0094
+  23934817.5394   -3807822.40349  -2945280.95245  23934817.9924   23934824.1564
+      3146.7174       2451.9854
+ 05  1 20  5  1 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21470448.2534  -16736430.67549 -13020453.26547  21470448.3114   21470452.9374
+     -2584.9254      -2014.2234
+  20715024.8804  -24980783.43349 -19447349.00048  20715024.5284   20715028.3634
+     -1234.6254       -962.0434
+  21040564.8014  -18273888.63449 -14219069.20648  21040563.8164   21040569.1934
+     -2095.8584      -1633.1314
+  22987945.1434   -6714231.51549  -5022751.36846  22987944.4314   22987949.5984
+      2054.3534       1600.7964
+  20440218.2984  -25353438.78549 -19741197.98048  20440218.1934   20440220.4114
+       740.0664        576.6774
+  24816705.0444   -1279969.02949   -982263.54245  24816702.8274   24816706.0744
+      3519.6254       2742.5644
+  21387511.1144  -18312922.41149 -14027264.28247  21387510.6794   21387514.7874
+      1417.8804       1104.8414
+  24482099.8674   -4364199.12249  -3380182.82745  24482099.8584   24482105.4854
+      2575.6504       2007.0004
+  23507002.4334   -7113068.36649  -5289501.83645  23507002.1404   23507004.5914
+     -3791.9494      -2954.7644
+  23916859.0514   -3902194.05149  -3018817.26145  23916859.5994   23916864.1734
+      3144.7204       2450.4274
+ 05  1 20  5  2  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21485247.7524  -16658660.49649 -12959853.11247  21485247.2954   21485252.1684
+     -2599.7444      -2025.7754
+  20722112.3024  -24943539.68449 -19418327.92548  20722112.0924   20722115.6344
+     -1248.3044       -972.7024
+  21052578.9354  -18210749.99249 -14169870.27248  21052578.6604   21052583.8104
+     -2113.3954      -1646.7994
+  22976253.3244   -6775674.87649  -5070629.29446  22976252.4084   22976257.6504
+      2041.8584       1591.0604
+  20436028.1944  -25375460.64149 -19758357.86848  20436027.6984   20436029.6734
+       728.0634        567.3224
+  24796619.8024   -1385507.67349  -1064501.42945  24796619.6524   24796624.0284
+      3516.2024       2739.8984
+  21379438.3314  -18355344.93149 -14060320.79447  21379437.5554   21379441.9834
+      1410.2834       1098.9234
+  24467405.1794   -4441420.19749  -3440355.10845  24467404.7854   24467407.5454
+      2572.3544       2004.4354
+  23528658.3384   -6999260.48149  -5200820.39245  23528658.9214   23528661.0234
+     -3795.2524      -2957.3324
+  23898912.5314   -3996502.87349  -3092304.71145  23898912.1954   23898917.6264
+      3142.5694       2448.7544
+ 05  1 20  5  2 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21500130.6584  -16580446.71049 -12898907.30947  21500130.5174   21500135.6064
+     -2614.5024      -2037.2724
+  20729277.7434  -24905885.03449 -19388986.64448  20729277.4184   20729281.1304
+     -1262.0124       -983.3884
+  21064694.2124  -18147086.47349 -14120262.33748  21064693.3364   21064698.8224
+     -2130.8624      -1660.4154
+  22964630.8774   -6836741.71849  -5118213.82646  22964631.1274   22964636.3364
+      2029.2564       1581.2364
+  20431906.0734  -25397121.44249 -19775236.41848  20431905.7864   20431907.8024
+       715.9734        557.8994
+  24776554.3284   -1490942.28449  -1146658.28345  24776555.5374   24776561.7694
+      3512.7054       2737.1684
+  21371408.2884  -18397539.90249 -14093199.98747  21371408.5374   21371412.4464
+      1402.6924       1093.0074
+  24452729.2074   -4518541.67749  -3500449.78745  24452726.7344   24452731.1384
+      2569.0064       2001.8284
+  23550334.9254   -6885352.20949  -5112060.71246  23550334.5074   23550337.7794
+     -3798.6024      -2959.9584
+  23880980.6934   -4090745.68049  -3165740.63845  23880979.7614   23880985.0434
+      3140.2974       2446.9844
+ 05  1 20  5  3  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21515098.9784  -16501792.36949 -12837618.22247  21515098.1704   21515102.9714
+     -2629.0954      -2048.6494
+  20736521.7024  -24867819.53649 -19359325.23548  20736521.1114   20736524.6184
+     -1275.6554       -994.0174
+  21076907.6634  -18082900.26949 -14070247.14447  21076907.0814   21076913.0634
+     -2148.2134      -1673.9304
+  22953084.4304   -6897429.38349  -5165502.92446  22953083.8934   22953088.2604
+      2016.5994       1571.3674
+  20427852.4584  -25418419.61849 -19791832.39948  20427852.7274   20427854.8694
+       703.8874        548.4824
+  24756512.3424   -1596270.86549  -1228732.44245  24756511.8774   24756517.5194
+      3509.1684       2734.4134
+  21363422.3334  -18439507.28549 -14125901.84147  21363422.0594   21363425.8614
+      1395.1304       1087.1124
+  24438073.9214   -4595563.58949  -3560466.82745  24438071.3354   24438076.6124
+      2565.7324       1999.2674
+  23572029.9064   -6771346.83449  -5023225.30445  23572029.0094   23572030.5784
+     -3801.7544      -2962.4044
+  23863057.8034   -4184919.42549  -3239122.73445  23863058.0184   23863064.3284
+      3137.9764       2445.1754
+ 05  1 20  5  3 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21530148.6054  -16422700.25949 -12775987.99647  21530148.4844   21530153.6124
+     -2643.6564      -2059.9884
+  20743843.2064  -24829342.93749 -19329343.47948  20743842.4934   20743846.4944
+     -1289.4084      -1004.7314
+  21089220.9114  -18018194.06149 -14019826.73647  21089220.5204   21089225.9934
+     -2165.5144      -1687.4144
+  22941607.4384   -6957734.92449  -5212494.21846  22941607.3154   22941613.6264
+      2003.7814       1561.3814
+  20423869.4174  -25439353.85949 -19808144.79548  20423869.0614   20423871.0594
+       691.7234        539.0094
+  24736486.4784   -1701491.67949  -1310722.67045  24736488.0224   24736493.6384
+      3505.5544       2731.6054
+  21355479.7374  -18481247.38449 -14158426.59947  21355479.4974   21355483.4494
+      1387.5594       1081.2194
+  24423432.8784   -4672485.85449  -3620406.21745  24423433.1564   24423438.8924
+      2562.4394       1996.7144
+  23593740.0134   -6657247.02549  -4934316.35745  23593740.3244   23593744.8514
+     -3804.8484      -2964.8264
+  23845149.7254   -4279020.99749  -3312448.62545  23845150.7954   23845156.1284
+      3135.5174       2443.2584
+ 05  1 20  5  4  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21545283.3694  -16343173.37149 -12714019.00147  21545282.9494   21545287.4114
+     -2658.1324      -2071.2774
+  20751243.2634  -24790454.60649 -19299040.90248  20751242.8844   20751246.6074
+     -1303.1334      -1015.4314
+  21101633.2674  -17952970.26949 -13969003.02547  21101632.5274   21101637.4164
+     -2182.7304      -1700.8334
+  22930205.1554   -7017655.46649  -5259185.54946  22930204.3144   22930209.3944
+      1990.8894       1551.3384
+  20419955.6054  -25459922.74149 -19824172.49748  20419954.9974   20419956.9374
+       679.5104        529.4874
+  24716484.6954   -1806602.79149  -1392627.41145  24716485.9644   24716490.7264
+      3501.8764       2728.7354
+  21347580.5864  -18522760.34349 -14190774.36347  21347580.1144   21347583.5754
+      1379.9584       1075.2894
+  24408814.6994   -4749308.29549  -3680267.92045  24408814.3704   24408818.5544
+      2559.1374       1994.1374
+  23615471.1334   -6543056.07949  -4845336.45645  23615470.7914   23615475.6554
+     -3807.8504      -2967.1624
+  23827259.2554   -4373047.22449  -3385715.80145  23827259.4054   23827264.2254
+      3132.9154       2441.2344
+ 05  1 20  5  4 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21560498.8044  -16263214.45349 -12651713.34247  21560498.5164   21560502.9284
+     -2672.4554      -2082.4334
+  20758721.8304  -24751154.98249 -19268417.83848  20758721.3844   20758725.2454
+     -1316.8584      -1026.1204
+  21114142.5424  -17887231.28849 -13917777.84947  21114141.7784   21114146.6174
+     -2199.8734      -1714.1904
+  22918876.9684   -7077188.22949  -5305574.66546  22918875.2664   22918881.2174
+      1977.9684       1541.2774
+  20416110.6144  -25480124.92349 -19839914.45648  20416110.5334   20416112.7334
+       667.2784        519.9564
+  24696504.9824   -1911602.62149  -1474445.44145  24696506.2224   24696508.7644
+      3498.0904       2725.7824
+  21339723.0724  -18564046.30549 -14222945.24847  21339722.9374   21339727.2524
+      1372.4024       1069.4054
+  24394214.9774   -4826031.15849  -3740051.94045  24394215.0624   24394220.6714
+      2555.7254       1991.4734
+  23637218.2674   -6428776.76449  -4756287.63945  23637216.8554   23637222.2624
+     -3810.7454      -2969.3924
+  23809380.8744   -4466995.03649  -3458921.89345  23809381.7204   23809385.0624
+      3130.2504       2439.1524
+ 05  1 20  5  5  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21575795.3714  -16182826.40349 -12589073.32147  21575795.7164   21575800.2914
+     -2686.7184      -2093.5474
+  20766278.0164  -24711443.57749 -19237473.90648  20766277.8164   20766282.1584
+     -1330.5984      -1036.8304
+  21126749.5434  -17820979.70549 -13866153.25147  21126749.3404   21126754.8484
+     -2216.9344      -1727.4804
+  22907621.2014   -7136330.48649  -5351659.54946  22907621.7414   22907627.1454
+      1964.8794       1531.0664
+  20412336.1724  -25499958.75049 -19855369.38948  20412336.2344   20412338.5664
+       654.9824        510.3764
+  24676547.8924   -2016489.24549  -1556175.27545  24676547.3144   24676550.9484
+      3494.3544       2722.8734
+  21331910.5994  -18605105.56349 -14254939.47547  21331909.7394   21331914.1594
+      1364.8404       1063.5094
+  24379633.5374   -4902654.35149  -3799758.30945  24379633.3424   24379638.1044
+      2552.4384       1988.9144
+  23658981.5624   -6314411.87749  -4667172.12445  23658980.4344   23658985.8124
+     -3813.5644      -2971.6154
+  23791517.4134   -4560861.38549  -3532064.50745  23791517.6564   23791523.9554
+      3127.5854       2437.0814
+ 05  1 20  5  5 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21591174.2204  -16102012.28849 -12526101.26547  21591173.6964   21591179.0984
+     -2700.8664      -2104.5654
+  20773913.3884  -24671320.53249 -19206209.22148  20773913.6014   20773917.1614
+     -1344.2724      -1047.4854
+  21139454.2454  -17754218.09649 -13814131.22747  21139453.5894   21139459.1684
+     -2233.8524      -1740.6634
+  22896442.0214   -7195079.31849  -5397437.80646  22896441.8544   22896447.9934
+      1951.6994       1520.8024
+  20408632.4444  -25519423.02449 -19870536.35448  20408632.3694   20408634.4954
+       642.6354        500.7544
+  24656609.5634   -2121260.78749  -1637815.43645  24656609.6114   24656614.4604
+      3490.4454       2719.8284
+  21324139.6984  -18645938.04749 -14286756.99147  21324139.6464   21324143.9314
+      1357.3294       1057.6554
+  24365074.2344   -4979177.74149  -3859386.93545  24365073.8574   24365076.7954
+      2549.1444       1986.3474
+  23680759.1074   -6199964.87149  -4577992.64445  23680757.8904   23680761.2394
+     -3816.2634      -2973.7014
+  23773670.9284   -4654643.05949  -3605141.12245  23773671.9464   23773678.9764
+      3124.6604       2434.7984
+ 05  1 20  5  6  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21606633.1634  -16020774.90049 -12462799.40947  21606632.7754   21606637.7434
+     -2714.9064      -2115.5084
+  20781627.4974  -24630785.52449 -19174623.51448  20781626.7714   20781631.1674
+     -1358.0094      -1058.1864
+  21152255.0084  -17686948.92449 -13761713.70747  21152254.1334   21152259.9074
+     -2250.7524      -1753.8384
+  22885339.6574   -7253432.03949  -5442907.45746  22885337.8474   22885342.9974
+      1938.4654       1510.4844
+  20404999.4244  -25538516.32249 -19885414.24948  20404999.2624   20405001.4844
+       630.2384        491.0904
+  24636695.6134   -2225915.30549  -1719364.36945  24636694.5344   24636699.1384
+      3486.5664       2716.8024
+  21316413.5594  -18686544.00249 -14318397.99647  21316412.9234   21316416.7544
+      1349.7674       1051.7654
+  24350529.9304   -5055601.27249  -3918937.71745  24350530.1734   24350535.1424
+      2545.7624       1983.7074
+  23702551.1024   -6085438.30649  -4488751.10445  23702551.7394   23702557.0324
+     -3818.8394      -2975.7194
+  23755844.3234   -4748336.90449  -3678149.30045  23755844.8054   23755848.5304
+      3121.6404       2432.4504
+ 05  1 20  5  6 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21622172.4814  -15939117.35449 -12399170.16447  21622172.1074   21622176.7314
+     -2728.8874      -2126.4074
+  20789419.8824  -24589838.77649 -19142716.97548  20789419.3924   20789422.7024
+     -1371.7584      -1068.9024
+  21165152.3534  -17619175.01449 -13708902.87547  21165151.7254   21165157.2464
+     -2267.5184      -1766.8944
+  22874309.7974   -7311385.95749  -5488066.35446  22874309.3014   22874315.7454
+      1925.1134       1500.0844
+  20401436.8144  -25557237.38849 -19900002.09548  20401436.5774   20401438.8594
+       617.8004        481.4044
+  24616799.9154   -2330451.10349  -1800820.79245  24616799.3004   24616807.3504
+      3482.4894       2713.6244
+  21308729.6974  -18726923.62349 -14349862.63447  21308729.0104   21308732.6674
+      1342.1924       1045.8604
+  24336007.0544   -5131924.91049  -3978410.70345  24336006.0474   24336011.0734
+      2542.4384       1981.1204
+  23724358.8314   -5970835.29549  -4399450.08945  23724359.6874   23724365.2654
+     -3821.3594      -2977.6794
+  23738032.2524   -4841939.81549  -3751086.61246  23738032.6994   23738036.5834
+      3118.6034       2430.0864
+ 05  1 20  5  7  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21637790.6264  -15857042.56749 -12335215.77447  21637790.5844   21637795.2434
+     -2742.7444      -2137.2024
+  20797289.8234  -24548480.32149 -19110489.61748  20797289.2544   20797293.5244
+     -1385.5134      -1079.6234
+  21178144.9074  -17550898.82349 -13655700.66147  21178144.5554   21178149.5604
+     -2284.2374      -1779.9254
+  22863359.2554   -7368938.22349  -5532912.26746  22863358.6544   22863362.8664
+      1911.7034       1489.6264
+  20397945.3364  -25575584.50249 -19914298.54548  20397945.1504   20397947.4354
+       605.3364        471.6884
+  24596932.4874   -2434866.31349  -1882183.25545  24596932.2794   24596938.3304
+      3478.4694       2710.4964
+  21301088.7274  -18767077.06749 -14381151.03747  21301088.2484   21301091.7064
+      1334.6694       1039.9984
+  24321498.9324   -5208148.87249  -4037805.99245  24321499.3784   24321505.1204
+      2539.1154       1978.5464
+  23746181.0544   -5856158.93049  -4310091.94445  23746181.5534   23746187.0204
+     -3823.7374      -2979.5414
+  23720236.1054   -4935448.56449  -3823950.56145  23720237.0824   23720242.1794
+      3115.3854       2427.5704
+ 05  1 20  5  7 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21653487.3784  -15774553.21049 -12270938.36547  21653487.7994   21653491.8604
+     -2756.5184      -2147.9314
+  20805238.5854  -24506709.63349 -19077941.04248  20805238.1884   20805242.0064
+     -1399.1974      -1090.2804
+  21191233.6374  -17482122.88449 -13602109.04347  21191232.2094   21191236.4594
+     -2300.8384      -1792.8554
+  22852483.9914   -7426086.16249  -5577443.05546  22852483.0704   22852487.8714
+      1898.1504       1479.0854
+  20394524.7984  -25593556.28749 -19928302.53848  20394525.1174   20394527.3494
+       592.7914        461.9164
+  24577085.7804   -2539158.98549  -1963450.26545  24577085.6674   24577089.7004
+      3474.3624       2707.2944
+  21293490.5294  -18807004.44649 -14412263.27547  21293489.9544   21293493.8374
+      1327.1574       1034.1514
+  24307015.9394   -5284272.92949  -4097123.42345  24307015.0094   24307017.8664
+      2535.7524       1975.9084
+  23768018.2544   -5741411.65449  -4220678.50145  23768018.2384   23768021.7264
+     -3826.0164      -2981.3094
+  23702460.4474   -5028860.13749  -3896738.77245  23702461.3494   23702467.2584
+      3112.0464       2424.9714
+ 05  1 20  5  8  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21669262.4074  -15691652.35049 -12206340.28647  21669262.8634   21669268.0004
+     -2770.1894      -2158.5964
+  20813265.4564  -24464527.27449 -19045071.67548  20813264.9644   20813269.0804
+     -1412.9404      -1100.9924
+  21204413.7404  -17412849.92149 -13548130.14147  21204413.8554   21204419.2104
+     -2317.3594      -1805.7334
+  22841685.3044   -7482827.00549  -5621656.70446  22841685.0044   22841691.5224
+      1884.5434       1468.4734
+  20391176.7614  -25611151.65049 -19942013.20948  20391176.9804   20391179.1244
+       580.2224        452.1234
+  24557265.8774   -2643327.15149  -2044620.25245  24557263.8914   24557268.0644
+      3470.1834       2704.0394
+  21285935.1184  -18846705.78349 -14443199.38347  21285934.9164   21285938.6664
+      1319.6244       1028.2774
+  24292546.1014   -5360297.05249  -4156362.99145  24292545.8934   24292552.9004
+      2532.4174       1973.3164
+  23789867.7064   -5626596.69249  -4131212.25245  23789866.4314   23789871.0014
+     -3828.2594      -2983.0674
+  23684704.5024   -5122171.34949  -3969448.77245  23684705.4424   23684710.6354
+      3108.6964       2422.3664
+ 05  1 20  5  8 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21685116.3034  -15608342.77549 -12141423.72947  21685116.4634   21685120.8344
+     -2783.7644      -2169.1674
+  20821370.7614  -24421932.83349 -19011881.20948  20821370.4964   20821374.3504
+     -1426.6744      -1111.6934
+  21217691.3824  -17343082.65849 -13493766.05047  21217690.2194   21217695.5344
+     -2333.7774      -1818.5234
+  22830965.4804   -7539158.19249  -5665551.13646  22830965.5614   22830971.7084
+      1870.8274       1457.7854
+  20387900.8414  -25628369.17349 -19955429.46148  20387900.6574   20387902.8084
+       567.5944        442.2784
+  24537464.4634   -2747369.05549  -2125691.83145  24537465.3524   24537469.3004
+      3465.9214       2700.7144
+  21278423.5304  -18886181.55949 -14473959.72147  21278422.8734   21278426.7354
+      1312.0984       1022.4154
+  24278101.0634   -5436221.26349  -4215524.72345  24278099.4654   24278104.9304
+      2529.0814       1970.7114
+  23811729.3274   -5511716.76049  -4041695.42945  23811728.0574   23811730.3734
+     -3830.4124      -2984.7444
+  23666969.1044   -5215378.98449  -4042078.12646  23666969.3334   23666973.7864
+      3105.2024       2419.6384
+ 05  1 20  5  9  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21701047.1104  -15524627.39049 -12076190.97247  21701047.0024   21701051.0794
+     -2797.2444      -2179.6694
+  20829555.5954  -24378926.26749 -18978369.60248  20829554.5454   20829558.1124
+     -1440.4044      -1122.3934
+  21231060.2164  -17272823.68049 -13439018.80547  21231059.7714   21231065.6024
+     -2350.1184      -1831.2604
+  22820326.3084   -7595076.83049  -5709124.06546  22820325.8184   22820330.5004
+      1857.0954       1447.0834
+  20384696.9854  -25645207.24949 -19968550.04048  20384696.6644   20384698.9044
+       554.9374        432.4194
+  24517691.7774   -2851283.04349  -2206663.71545  24517690.6314   24517695.4284
+      3461.6684       2697.3994
+  21270954.8184  -18925431.81149 -14504544.32647  21270953.9064   21270957.9974
+      1304.5864       1016.5644
+  24263671.5644   -5512045.54849  -4274608.54145  24263671.4404   24263675.5584
+      2525.8364       1968.1854
+  23833600.1624   -5396775.00549  -3952130.42845  23833600.1554   23833604.2434
+     -3832.3494      -2986.2474
+  23649251.1604   -5308479.90449  -4114624.28246  23649251.4674   23649257.0714
+      3101.5704       2416.8034
+ 05  1 20  5  9 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21717054.2434  -15440509.33249 -12010644.42947  21717054.1294   21717058.7554
+     -2810.6264      -2190.1044
+  20837817.2604  -24335507.64649 -18944536.91848  20837816.8944   20837820.4344
+     -1454.1374      -1133.1004
+  21244523.0244  -17202075.61649 -13383890.46647  21244522.7564   21244529.0264
+     -2366.4084      -1843.9614
+  22809762.6864   -7650580.12949  -5752373.38746  22809763.3144   22809769.2084
+      1843.1754       1436.2484
+  20381564.6674  -25661664.71049 -19981374.04248  20381564.8284   20381566.9644
+       542.2114        422.5014
+  24497940.0434   -2955067.27449  -2287534.59845  24497940.6184   24497944.9744
+      3457.2174       2693.9354
+  21263528.5604  -18964456.60349 -14534953.25047  21263527.8604   21263531.6194
+      1297.0594       1010.6964
+  24249261.3784   -5587769.80349  -4333614.50245  24249260.1914   24249265.6714
+      2522.4594       1965.5594
+  23855485.8414   -5281773.97449  -3862519.25645  23855485.1244   23855487.6714
+     -3834.3444      -2987.7994
+  23631557.0064   -5401470.77949  -4187084.69846  23631557.0984   23631561.3994
+      3097.8564       2413.9104
+ 05  1 20  5 10  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21733136.6944  -15355991.56349 -11944786.44647  21733136.8874   21733141.6534
+     -2823.8674      -2200.4164
+  20846157.7934  -24291676.82049 -18910383.03148  20846157.2414   20846161.4094
+     -1467.8524      -1143.7804
+  21258078.9424  -17130841.13849 -13328383.10347  21258078.6884   21258084.3054
+     -2382.5554      -1856.5354
+  22799280.8164   -7705665.82749  -5795297.30946  22799279.6944   22799285.0604
+      1829.1934       1425.3604
+  20378505.9514  -25677740.28749 -19993900.46848  20378505.7784   20378507.9694
+       529.4584        412.5664
+  24478217.2054   -3058720.09949  -2368303.01645  24478215.9974   24478220.3644
+      3452.9044       2690.5754
+  21256144.8604  -19003256.15949 -14565186.66347  21256144.1264   21256148.6224
+      1289.5694       1004.8594
+  24234869.7984   -5663394.08849  -4392542.52345  24234869.8904   24234875.1914
+      2519.1174       1962.9514
+  23877379.0534   -5166717.04649  -3772864.47345  23877376.6344   23877382.4634
+     -3836.1334      -2989.1914
+  23613881.4434   -5494348.79449  -4259457.12246  23613882.0914   23613887.7534
+      3094.0554       2410.9504
+ 05  1 20  5 10 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21749296.5794  -15271077.10149 -11878619.31447  21749295.8884   21749299.9094
+     -2837.0714      -2210.7154
+  20854577.0064  -24247434.10549 -18875908.20348  20854576.7854   20854580.2274
+     -1481.6124      -1154.5064
+  21271726.9144  -17059123.10249 -13272498.94647  21271725.7514   21271731.2764
+     -2398.6434      -1869.0684
+  22788877.4394   -7760331.02049  -5837893.52246  22788877.7304   22788883.8564
+      1815.1404       1414.3944
+  20375519.2764  -25693432.37149 -20006128.07248  20375519.3374   20375521.7364
+       516.6624        402.5974
+  24458518.1694   -3162239.58949  -2448967.54045  24458517.4394   24458521.0474
+      3448.3814       2687.0494
+  21248804.4704  -19041830.51849 -14595244.61447  21248804.1244   21248808.2224
+      1282.0614        999.0114
+  24220501.0984   -5738918.32349  -4451392.49446  24220499.4484   24220503.9554
+      2515.7624       1960.3314
+  23899284.0284   -5051607.23449  -3683168.51645  23899284.2204   23899287.1514
+     -3837.7994      -2990.4934
+  23596229.1854   -5587110.57749  -4331739.01846  23596230.1564   23596234.7124
+      3090.0934       2407.8754
+ 05  1 20  5 11  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21765529.9354  -15185768.77949 -11812145.29647  21765529.5694   21765534.5554
+     -2850.1394      -2220.8834
+  20863075.2414  -24202779.45849 -18841112.38648  20863074.2204   20863077.9504
+     -1495.3634      -1165.2194
+  21285465.6714  -16986924.21649 -13216240.10247  21285464.9384   21285470.0124
+     -2414.6164      -1881.5184
+  22778556.4424   -7814573.05649  -5880160.05246  22778556.7434   22778561.9164
+      1800.9914       1403.3754
+  20372606.9334  -25708739.91749 -20018056.02748  20372606.6954   20372608.7484
+       503.8454        392.6074
+  24438843.7174   -3265623.75549  -2529526.63245  24438843.7774   24438848.1954
+      3443.8404       2683.5174
+  21241506.5784  -19080180.01249 -14625127.33247  21241506.1144   21241510.4404
+      1274.5684        993.1694
+  24206147.2844   -5814342.53849  -4510164.63745  24206146.1464   24206148.8814
+      2512.4684       1957.7624
+  23921197.8384   -4936447.05049  -3593433.28445  23921198.5134   23921202.2464
+     -3839.4614      -2991.7894
+  23578601.1844   -5679752.91149  -4403927.84646  23578600.2274   23578605.6474
+      3086.1064       2404.7634
+ 05  1 20  5 11 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21781838.1494  -15100069.54149 -11745366.68747  21781837.4294   21781842.2104
+     -2863.1374      -2231.0144
+  20871649.9564  -24157712.89149 -18805995.59148  20871649.8524   20871654.0214
+     -1509.0594      -1175.8904
+  21299296.2284  -16914247.21949 -13159608.68947  21299295.0744   21299300.1784
+     -2430.5294      -1893.9204
+  22768316.6364   -7868389.33849  -5922094.78946  22768315.4844   22768320.8254
+      1786.7344       1392.2584
+  20369767.2524  -25723661.43949 -20029683.18648  20369767.1054   20369769.2504
+       490.9264        382.5374
+  24419196.6134   -3368870.80349  -2609978.87945  24419197.0574   24419201.9924
+      3439.2414       2679.9264
+  21234251.9054  -19118304.72349 -14654834.89947  21234251.1504   21234255.2294
+      1267.0794        987.3334
+  24191808.9234   -5889666.68649  -4568858.74445  24191810.2114   24191816.9484
+      2509.1214       1955.1544
+  23943120.6444   -4821239.53049  -3503661.19545  23943120.7204   23943124.7564
+     -3841.0284      -2993.0124
+  23560994.2054   -5772272.60349  -4476021.11445  23560994.6734   23561000.0114
+      3081.9634       2401.5294
+ 05  1 20  5 12  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21798219.9414  -15013982.21149 -11678285.64647  21798219.2334   21798223.8554
+     -2876.0064      -2241.0414
+  20880304.3694  -24112234.94749 -18770558.24648  20880304.0134   20880307.9574
+     -1522.7654      -1186.5664
+  21313215.3234  -16841094.96649 -13102606.95147  21313214.8744   21313220.6524
+     -2446.2834      -1906.1924
+  22758155.7204   -7921777.16249  -5963695.68046  22758155.3914   22758161.2664
+      1772.4374       1381.1124
+  20367001.5944  -25738195.46249 -20041008.39648  20367001.3944   20367003.5984
+       477.9904        372.4574
+  24399576.1394   -3471979.02349  -2690322.97645  24399575.8664   24399580.5654
+      3434.6384       2676.3424
+  21227039.1574  -19156204.99449 -14684367.57547  21227039.1574   21227043.1294
+      1259.5924        981.5014
+  24177498.3184   -5964890.69349  -4627474.86045  24177497.3814   24177501.4674
+      2505.7314       1952.5154
+  23965053.0974   -4705987.17649  -3413854.15945  23965052.0844   23965057.5104
+     -3842.4944      -2994.1524
+  23543414.0064   -5864666.62249  -4548016.44045  23543413.9644   23543418.1284
+      3077.7384       2398.2424
+ 05  1 20  5 12 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21814674.8454  -14927509.82749 -11610904.57047  21814674.9804   21814679.0334
+     -2888.7874      -2251.0024
+  20889036.2874  -24066345.15149 -18734799.96848  20889036.4384   20889040.4374
+     -1536.5094      -1197.2844
+  21327226.4944  -16767470.08349 -13045236.92347  21327225.6974   21327231.3134
+     -2462.0114      -1918.4474
+  22748079.1734   -7974733.92549  -6004960.69446  22748078.2344   22748084.0134
+      1757.9954       1369.8694
+  20364309.7144  -25752340.88549 -20052030.80048  20364309.6904   20364311.9644
+       465.0154        362.3544
+  24379982.9554   -3574946.72549  -2770557.54245  24379981.9454   24379986.2714
+      3429.8734       2672.6244
+  21219870.1354  -19193880.73049 -14713725.28547  21219869.6464   21219873.6104
+      1252.1164        975.6794
+  24163202.8984   -6040014.56049  -4686012.94245  24163201.7114   24163206.3294
+      2502.3994       1949.9194
+  23986992.4044   -4590693.28249  -3324014.71945  23986992.4564   23986998.8764
+     -3843.7954      -2995.1634
+  23525855.2964   -5956931.64149  -4619911.23845  23525855.9644   23525860.2644
+      3073.3454       2394.8044
+ 05  1 20  5 13  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21831202.5284  -14840655.36949 -11543225.77347  21831202.7504   21831207.2044
+     -2901.4784      -2260.8854
+  20897847.4834  -24020043.59549 -18698720.85348  20897847.6084   20897851.4224
+     -1550.2724      -1208.0084
+  21341325.7774  -16693375.28649 -12987500.73547  21341325.0774   21341331.2964
+     -2477.6314      -1930.6174
+  22738082.6284   -8027257.11349  -6045887.81846  22738083.5164   22738089.3694
+      1743.5364       1358.6084
+  20361692.2594  -25766096.34249 -20062749.33848  20361692.0144   20361694.3374
+       451.9964        352.2054
+  24360416.0044   -3677772.08249  -2850681.19045  24360416.2074   24360419.0364
+      3425.1274       2668.9374
+  21212743.5164  -19231332.23649 -14742908.26947  21212743.1804   21212746.9344
+      1244.6404        969.8464
+  24148923.5924   -6115038.41049  -4744473.06245  24148923.4424   24148929.5244
+      2499.1194       1947.3614
+  24008939.2024   -4475360.74749  -3234145.22245  24008940.1134   24008944.3574
+     -3845.0494      -2996.1484
+  23508323.9994   -6049064.45549  -4691702.97146  23508323.6324   23508327.9964
+      3068.9064       2391.3504
+ 05  1 20  5 13 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21847802.2184  -14753421.80449 -11475251.56147  21847801.8894   21847806.6974
+     -2914.0684      -2270.7014
+  20906737.0744  -23973330.47349 -18662321.02348  20906736.2224   20906740.5634
+     -1563.9674      -1218.6734
+  21355515.0494  -16618813.59249 -12929400.75547  21355513.7504   21355519.4824
+     -2493.1574      -1942.7144
+  22728171.7204   -8079344.09749  -6086475.08046  22728171.2734   22728176.3704
+      1728.9134       1347.2014
+  20359148.6524  -25779460.50549 -20073162.97648  20359148.8334   20359151.0544
+       438.9254        342.0204
+  24340874.9984   -3780453.26549  -2930692.50245  24340875.8144   24340879.2224
+      3420.2384       2665.1204
+  21205659.5304  -19268559.53549 -14771916.54847  21205658.9594   21205662.9254
+      1237.1544        964.0144
+  24134666.8934   -6189962.08249  -4802855.17245  24134666.2924   24134672.9084
+      2495.7544       1944.7484
+  24030896.8674   -4359992.38849  -3144247.74945  24030894.2874   24030898.4034
+     -3846.2254      -2997.0564
+  23490817.3224   -6141061.97149  -4763389.29046  23490817.5024   23490822.2044
+      3064.2934       2387.7654
+ 05  1 20  5 14  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21864474.2554  -14665812.14249 -11406984.30547  21864474.3704   21864478.6484
+     -2926.5714      -2280.4414
+  20915704.9604  -23926206.09749 -18625600.73848  20915704.2864   20915708.1094
+     -1577.6904      -1229.3694
+  21369791.9284  -16543787.73549 -12870939.04947  21369791.5204   21369796.7874
+     -2508.6034      -1954.7584
+  22718343.4644   -8130992.47249  -6126720.56846  22718342.5864   22718349.8034
+      1714.2614       1335.7824
+  20356680.5154  -25792432.04549 -20083270.67048  20356680.5614   20356682.7194
+       425.8224        331.8084
+  24321363.7414   -3882988.55149  -3010590.11245  24321362.6264   24321367.5364
+      3415.3234       2661.2884
+  21198618.0464  -19305562.85549 -14800750.30147  21198617.1804   21198621.2274
+      1229.7014        958.2064
+  24120431.0124   -6264785.58349  -4861159.21846  24120429.5464   24120433.8184
+      2492.4484       1942.1704
+  24052853.7574   -4244591.11049  -3054324.66945  24052853.7564   24052858.3084
+     -3847.2634      -2997.8614
+  23473336.9174   -6232920.96649  -4834967.73246  23473336.8144   23473340.4774
+      3059.5984       2384.0974
+ 05  1 20  5 14 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21881216.8814  -14577829.13049 -11338426.11347  21881217.0414   21881221.0034
+     -2938.9524      -2290.0904
+  20924750.6594  -23878670.64649 -18588560.14648  20924750.2324   20924754.2994
+     -1591.3714      -1240.0274
+  21384156.5254  -16468300.32749 -12812117.71747  21384155.6384   21384161.8194
+     -2523.9034      -1966.6754
+  22708600.0064   -8182199.77449  -6166622.34346  22708599.2534   22708604.0064
+      1699.5134       1324.2904
+  20354287.1904  -25805009.69949 -20093071.44048  20354287.0224   20354289.2314
+       412.6954        321.5814
+  24301881.3324   -3985375.97349  -3090372.54245  24301879.7094   24301884.1504
+      3410.3394       2657.4104
+  21191617.7934  -19342342.48149 -14829409.74747  21191618.0904   21191622.3144
+      1222.2734        952.4204
+  24106210.4044   -6339509.05849  -4919385.29545  24106210.5944   24106213.8334
+      2489.1014       1939.5634
+  24074821.6034   -4129159.86249  -2964378.21145  24074820.4354   24074823.0194
+     -3848.1714      -2998.5824
+  23455882.2444   -6324638.31049  -4906435.80546  23455883.5214   23455889.0944
+      3054.8804       2380.4304
+ 05  1 20  5 15  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21898029.4644  -14489476.00649 -11269579.52947  21898029.2624   21898033.9894
+     -2951.2294      -2299.6554
+  20933873.6154  -23830724.04249 -18551199.15848  20933873.7084   20933877.7144
+     -1605.0654      -1250.7014
+  21398608.3254  -16392354.47949 -12752939.16347  21398607.8734   21398613.5354
+     -2539.1534      -1978.5564
+  22698940.8234   -8232963.31849  -6206178.35247  22698939.6604   22698944.0314
+      1684.6994       1312.7494
+  20351968.6714  -25817192.29349 -20102564.37248  20351968.7084   20351971.0804
+       399.4854        311.2904
+  24282424.9094   -4087614.09449  -3170038.63345  24282424.2254   24282428.6844
+      3405.4434       2653.5984
+  21184662.2324  -19378898.40449 -14857894.88147  21184661.8414   21184665.9774
+      1214.8254        946.6194
+  24092007.4084   -6414132.48649  -4977533.39645  24092006.8204   24092013.2264
+      2485.7924       1936.9734
+  24096791.8564   -4013701.28249  -2874410.50445  24096790.4594   24096794.7164
+     -3849.0504      -2999.2694
+  23438458.4744   -6416210.70949  -4977790.88846  23438457.8394   23438463.2554
+      3050.0144       2376.6304
+ 05  1 20  5 15 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21914914.2294  -14400755.66549 -11200446.79447  21914913.3434   21914917.8684
+     -2963.4354      -2309.1704
+  20943077.4994  -23782366.31749 -18513517.81448  20943076.3614   20943079.9574
+     -1618.7554      -1261.3724
+  21413147.0944  -16315952.76249 -12693405.38747  21413146.4204   21413152.2334
+     -2554.3044      -1990.3694
+  22689364.1084   -8283280.57549  -6245386.60247  22689363.9194   22689369.3924
+      1669.7794       1301.1274
+  20349725.4874  -25828978.44849 -20111748.38348  20349725.7884   20349728.0054
+       386.2254        300.9534
+  24262998.6794   -4189700.88849  -3249586.80645  24262998.3704   24263001.7144
+      3400.3614       2649.6374
+  21177748.7964  -19415230.76749 -14886205.80647  21177747.9484   21177752.0934
+      1207.3594        940.7964
+  24077829.2854   -6488655.89349  -5035603.58245  24077828.0124   24077831.8584
+      2482.4464       1934.3864
+  24118768.2634   -3898218.21649  -2784423.67345  24118766.9374   24118769.3154
+     -3849.8494      -2999.8924
+  23421059.8464   -6507634.82649  -5049030.41146  23421059.9324   23421065.8604
+      3044.9764       2372.7144
+ 05  1 20  5 16  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21931865.6814  -14311670.99549 -11131030.17447  21931865.1044   21931869.4864
+     -2975.5174      -2318.5824
+  20952356.3094  -23733597.90649 -18475516.47548  20952356.5324   20952359.9054
+     -1632.4324      -1272.0164
+  21427772.1594  -16239098.11549 -12633518.67947  21427771.0564   21427777.3374
+     -2569.3454      -2002.0774
+  22679874.3584   -8333149.13449  -6284245.22646  22679874.3304   22679879.6274
+      1654.8104       1289.4694
+  20347558.9204  -25840366.81249 -20120622.42748  20347558.7114   20347560.9614
+       372.9704        290.6294
+  24243598.7574   -4291634.78949  -3329015.81545  24243599.4974   24243604.9334
+      3395.1924       2645.6054
+  21170877.4744  -19451339.81849 -14914342.73047  21170877.0204   21170880.7524
+      1199.9314        935.0124
+  24063665.4444   -6563079.25249  -5093595.81745  24063665.5034   24063669.9854
+      2479.0894       1931.7614
+  24140747.6074   -3782713.54949  -2694419.97845  24140744.9544   24140749.4694
+     -3850.4834      -3000.3664
+  23403691.8024   -6598907.64749  -5120152.09546  23403691.6234   23403696.8224
+      3039.8894       2368.7414
+ 05  1 20  5 16 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21948886.2144  -14222224.92449 -11061331.93247  21948884.9274   21948890.4264
+     -2987.5174      -2327.9384
+  20961715.2434  -23684418.97649 -18437195.23448  20961714.8184   20961718.8194
+     -1646.1744      -1282.7294
+  21442481.4264  -16161793.50849 -12573281.33147  21442481.4614   21442487.8394
+     -2584.2704      -2013.7154
+  22670471.8544   -8382566.48349  -6322752.23447  22670471.2554   22670476.7884
+      1639.6884       1277.6854
+  20345467.7854  -25851356.20949 -20129185.59548  20345467.6054   20345469.9384
+       359.6844        280.2724
+  24224233.6414   -4393413.86049  -3408324.12345  24224232.5244   24224237.5764
+      3390.0104       2641.5724
+  21164049.0084  -19487225.71949 -14942305.77147  21164048.3964   21164051.9584
+      1192.4774        929.2024
+  24049522.5534   -6637402.40049  -5151509.95445  24049522.0004   24049528.3734
+      2475.7844       1929.1854
+  24162729.1754   -3667190.49049  -2604402.01345  24162730.0264   24162733.1144
+     -3851.0614      -3000.8194
+  23386352.6584   -6690025.91249  -5191153.32446  23386352.1684   23386357.6144
+      3034.6874       2364.6954
+ 05  1 20  5 17  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21965975.2404  -14132420.39949 -10991354.38747  21965975.2924   21965979.2734
+     -2999.4144      -2337.2034
+  20971151.8644  -23634829.60049 -18398554.17848  20971151.2234   20971155.3894
+     -1659.8344      -1293.3794
+  21457278.5834  -16084041.76649 -12512695.52247  21457278.1774   21457283.4874
+     -2599.1444      -2025.3124
+  22661153.4934   -8431530.06549  -6360905.66747  22661152.6014   22661159.1194
+      1624.5394       1265.8744
+  20343452.5664  -25861945.35749 -20137436.88248  20343452.6934   20343454.7644
+       346.2964        269.8424
+  24204894.8624   -4495036.51749  -3487510.58645  24204893.8304   24204898.9934
+      3384.7454       2637.4574
+  21157262.0774  -19522888.42949 -14970094.88547  21157261.7004   21157265.5974
+      1185.0374        923.4054
+  24035398.1754   -6711625.41549  -5209346.05245  24035397.8424   24035401.3394
+      2472.4214       1926.5624
+  24184717.8604   -3551651.50449  -2514371.62845  24184716.1124   24184718.8374
+     -3851.5324      -3001.1984
+  23369042.6814   -6780986.47249  -5262031.67946  23369042.3694   23369048.3204
+      3029.4394       2360.6034
+ 05  1 20  5 17 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  21983131.9284  -14042260.27049 -10921099.74847  21983131.8714   21983137.0054
+     -3011.2414      -2346.4194
+  20980666.5554  -23584829.91649 -18359593.39148  20980666.1054   20980670.3174
+     -1673.4594      -1303.9904
+  21472158.9064  -16005845.96149 -12451763.70847  21472157.8234   21472163.7484
+     -2613.8914      -2036.7944
+  22651923.5904   -8480037.41449  -6398703.58147  22651922.6074   22651928.0474
+      1609.2654       1253.9784
+  20341514.0834  -25872133.03249 -20145375.33048  20341513.9864   20341516.2614
+       332.8744        259.3844
+  24185586.9704   -4596501.11749  -3566573.92745  24185586.7594   24185591.3054
+      3379.4254       2633.3184
+  21150518.0614  -19558328.26149 -14997710.34147  21150517.5584   21150521.7924
+      1177.6264        917.6334
+  24021292.3384   -6785748.42649  -5267104.24445  24021291.3464   24021297.3024
+      2469.1204       1923.9974
+  24206705.2334   -3436099.37049  -2424330.96645  24206704.4474   24206707.6514
+     -3851.9304      -3001.5064
+  23351762.9464   -6871785.89649  -5332784.47246  23351764.3804   23351769.5454
+      3024.0114       2356.3684
+ 05  1 20  5 18  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22000355.5184  -13951747.94749 -10850570.66747  22000355.6624   22000360.4954
+     -3022.9094      -2355.5144
+  20990258.9814  -23534420.01349 -18320312.95848  20990258.8324   20990262.4684
+     -1687.1314      -1314.6484
+  21487122.8404  -15927209.00849 -12390488.15947  21487122.3104   21487127.7874
+     -2628.5514      -2048.2284
+  22642777.7934   -8528086.00149  -6436144.04746  22642778.1194   22642784.2784
+      1593.9474       1242.0374
+  20339651.9674  -25881918.19149 -20153000.12748  20339651.7884   20339654.1474
+       319.4494        248.9184
+  24166310.5174   -4697805.37749  -3645512.26945  24166310.1224   24166314.1864
+      3374.1524       2629.2094
+  21143816.0614  -19593545.33949 -15025152.21747  21143815.8654   21143819.9954
+      1170.1944        911.8364
+  24007206.8484   -6859771.34249  -5324784.43046  24007207.1784   24007211.9504
+      2465.8014       1921.4004
+  24228696.2994   -3320537.05549  -2334282.40645  24228695.7544   24228698.5144
+     -3852.2404      -3001.7564
+  23334517.4394   -6962421.26949  -5403409.43446  23334517.1274   23334522.2534
+      3018.4494       2352.0334
+ 05  1 20  5 18 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22017646.5864  -13860886.06449 -10779769.20747  22017646.2474   22017651.2884
+     -3034.5344      -2364.5684
+  20999929.3814  -23483600.62549 -18280713.44348  20999929.1734   20999933.2094
+     -1700.8144      -1325.3104
+  21502170.2064  -15848133.74349 -12328871.06147  21502169.5314   21502175.0594
+     -2643.1164      -2059.5714
+  22633724.7244   -8575673.53449  -6473225.24147  22633723.9874   22633728.5744
+      1578.5464       1230.0354
+  20337866.9894  -25891299.40849 -20160310.16948  20337866.7704   20337868.9514
+       305.9634        238.4104
+  24147063.3824   -4798947.98449  -3724324.69645  24147062.6034   24147066.7594
+      3368.7494       2625.0034
+  21137157.6284  -19628539.72249 -15052420.56747  21137156.9454   21137161.0374
+      1162.7724        906.0564
+  23993138.6224   -6933694.12749  -5382386.58845  23993138.3394   23993146.4614
+      2462.4254       1918.7804
+  24250689.1194   -3204967.40649  -2244228.11645  24250688.9684   24250691.9214
+     -3852.4974      -3001.9434
+  23317299.9924   -7052889.30449  -5473903.97746  23317300.0964   23317306.3524
+      3012.8064       2347.6344
+ 05  1 20  5 19  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22035003.1034  -13769677.57949 -10708697.65547  22035003.0094   22035007.0794
+     -3045.9964      -2373.4954
+  21009678.5934  -23432371.59249 -18240794.72948  21009678.0084   21009681.6574
+     -1714.4754      -1335.9544
+  21517301.3014  -15768623.21749 -12266914.79447  21517299.7604   21517305.7294
+     -2657.5744      -2070.8364
+  22624755.8614   -8622797.26149  -6509944.98346  22624755.8634   22624761.1054
+      1563.0464       1217.9474
+  20336158.8734  -25900275.36949 -20167304.41848  20336158.5564   20336160.7404
+       292.4284        227.8674
+  24127846.6844   -4899927.55149  -3803010.04145  24127845.9024   24127851.3014
+      3363.2334       2620.6924
+  21130540.2314  -19663311.57049 -15079515.51747  21130540.0194   21130544.1184
+      1155.3534        900.2784
+  23979092.5344   -7007516.78349  -5439910.76146  23979090.8544   23979096.9994
+      2459.0724       1916.1674
+  24272681.1964   -3089392.78549  -2154169.94845  24272681.7974   24272684.9874
+     -3852.5814      -3002.0174
+  23300117.9494   -7143186.67149  -5544265.55846  23300118.1424   23300123.4044
+      3007.0154       2343.1264
+ 05  1 20  5 19 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22052424.4814  -13678125.46949 -10637358.34947  22052424.7394   22052428.0614
+     -3057.4294      -2382.4104
+  21019504.4174  -23380733.41649 -18200557.20448  21019504.2914   21019508.2314
+     -1728.0874      -1346.5644
+  21532512.8614  -15688680.42449 -12204621.68547  21532512.8294   21532517.8424
+     -2671.9504      -2082.0434
+  22615878.8134   -8669455.21049  -6546301.82847  22615878.0364   22615882.2774
+      1547.4664       1205.8134
+  20334528.0474  -25908844.95849 -20173982.01248  20334527.8374   20334530.1164
+       278.8594        217.2924
+  24108661.8874   -5000741.83649  -3881566.67045  24108662.5774   24108666.4974
+      3357.7694       2616.4494
+  21123966.4364  -19697861.05149 -15106437.18547  21123965.5604   21123969.5094
+      1147.9454        894.5034
+  23965062.6264   -7081239.43749  -5497357.00545  23965062.7314   23965067.7574
+      2455.7214       1913.5504
+  24294674.8964   -2973816.77649  -2064110.75145  24294674.4394   24294678.4624
+     -3852.5914      -3002.0174
+  23282968.3944   -7233310.20349  -5614491.69346  23282968.8224   23282973.5294
+      3001.2104       2338.6064
+ 05  1 20  5 20  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22069910.7004  -13586233.06449 -10565753.87047  22069911.1334   22069915.7304
+     -3068.7194      -2391.2054
+  21029409.3104  -23328686.27349 -18160001.00548  21029408.6244   21029412.5054
+     -1741.6944      -1357.1654
+  21547806.8664  -15608308.14849 -12141993.94547  21547806.2904   21547812.3784
+     -2686.2204      -2093.1534
+  22607088.5134   -8715644.94449  -6582293.82647  22607088.3064   22607093.3964
+      1531.8294       1193.6274
+  20332975.0014  -25917006.83949 -20180341.92448  20332974.6574   20332976.8564
+       265.2484        206.6894
+  24089509.6004   -5101389.03449  -3959993.04745  24089510.1674   24089513.7174
+      3352.0984       2612.0204
+  21117433.2144  -19732188.29549 -15133185.68648  21117433.0994   21117437.4344
+      1140.5384        888.7314
+  23951055.2524   -7154862.13549  -5554725.30946  23951053.5944   23951058.5314
+      2452.4014       1910.9604
+  24316668.2524   -2858241.90449  -1974052.43645  24316667.3994   24316671.6514
+     -3852.4144      -3001.8834
+  23265853.0804   -7323256.52449  -5684579.75046  23265853.5044   23265856.9634
+      2995.2194       2333.9484
+ 05  1 20  5 20 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22087461.7134  -13494002.96449 -10493886.25347  22087462.0714   22087466.2124
+     -3079.9204      -2399.9444
+  21039390.5884  -23276230.67849 -18119126.53148  21039390.7734   21039394.6994
+     -1755.2654      -1367.7414
+  21563184.3394  -15527509.41949 -12079033.89847  21563182.9274   21563187.5224
+     -2700.3674      -2104.1904
+  22598387.4144   -8761364.16149  -6617919.17547  22598388.0144   22598393.2954
+      1516.1034       1181.3714
+  20331499.2604  -25924760.06649 -20186383.38948  20331499.4624   20331501.4524
+       251.6054        196.0504
+  24070391.0054   -5201867.62049  -4038288.04146  24070389.6854   24070394.0544
+      3346.4334       2607.6124
+  21110943.9664  -19766293.52649 -15159761.18948  21110943.2434   21110947.1934
+      1133.1514        882.9704
+  23937063.4924   -7228384.70949  -5612015.63846  23937062.8944   23937067.9794
+      2449.0844       1908.3814
+  24338659.5614   -2742670.91149  -1883997.09045  24338659.4374   24338663.0024
+     -3852.3614      -3001.8474
+  23248770.2444   -7413022.56849  -5754527.31246  23248770.9264   23248775.2364
+      2989.1634       2329.2184
+ 05  1 20  5 21  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22105077.0354  -13401438.16249 -10421757.84447  22105077.1494   22105081.8864
+     -3091.0404      -2408.5984
+  21049450.7154  -23223366.54249 -18077933.71148  21049450.4024   21049454.0854
+     -1768.9274      -1378.3884
+  21578639.1964  -15446287.32549 -12015743.95047  21578637.9284   21578643.8194
+     -2714.4394      -2115.1484
+  22589778.8504   -8806610.55449  -6653176.08347  22589778.0754   22589782.2274
+      1500.3044       1169.0834
+  20330102.1174  -25932103.36549 -20192105.43548  20330102.0264   20330104.2174
+       237.9334        185.4044
+  24051303.3174   -5302175.83849  -4116450.30446  24051302.3004   24051306.4914
+      3340.7514       2603.1834
+  21104494.8264  -19800176.90149 -15186163.82447  21104495.0524   21104499.1924
+      1125.7404        877.2004
+  23923090.6554   -7301807.36049  -5669228.10646  23923089.6044   23923095.5924
+      2445.7504       1905.7794
+  24360650.7694   -2627106.47749  -1793946.87145  24360651.1474   24360654.7164
+     -3851.9964      -3001.5584
+  23231724.2164   -7502605.10449  -5824331.87646  23231725.2314   23231729.5914
+      2983.0374       2324.4424
+ 05  1 20  5 21 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22122755.3464  -13308541.58249 -10349370.89847  22122754.0234   22122758.9164
+     -3102.0374      -2417.1694
+  21059588.4394  -23170094.47849 -18036422.99948  21059587.7144   21059591.6814
+     -1782.5554      -1389.0044
+  21594174.5914  -15364644.89549 -11952126.48347  21594174.3884   21594179.7834
+     -2728.4054      -2126.0344
+  22581258.7454   -8851381.78349  -6688062.75347  22581258.3724   22581263.5304
+      1484.4304       1156.6934
+  20328783.0944  -25939035.50649 -20197507.10848  20328782.9054   20328785.1834
+       224.2094        174.7094
+  24032247.7234   -5402312.33849  -4194478.72345  24032246.7524   24032251.3244
+      3334.9674       2598.6714
+  21098090.4134  -19833838.42349 -15212393.57747  21098089.7474   21098093.8264
+      1118.3534        871.4454
+  23909136.5604   -7375130.06249  -5726362.71446  23909137.6254   23909143.0284
+      2442.4644       1903.2154
+  24382641.6564   -2511551.61149  -1703904.08645  24382641.3384   24382644.6334
+     -3851.7014      -3001.3254
+  23214711.4494   -7592000.92549  -5893990.96146  23214711.5464   23214716.5144
+      2976.7084       2319.5174
+ 05  1 20  5 22  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22140494.2764  -13215316.27949 -10276727.80447  22140494.1924   22140499.2434
+     -3112.9704      -2425.6844
+  21069802.4884  -23116414.66249 -17994594.57148  21069802.3104   21069806.5024
+     -1796.1334      -1399.5784
+  21609791.7984  -15282585.20049 -11888183.87847  21609789.9694   21609795.8404
+     -2742.2784      -2136.8414
+  22572830.5734   -8895675.40349  -6722577.23547  22572829.9674   22572834.2224
+      1468.4614       1144.2484
+  20327542.1174  -25945555.16149 -20202587.36448  20327541.9904   20327544.2124
+       210.4434        163.9804
+  24013223.9804   -5502275.26349  -4272371.91145  24013223.5414   24013228.7184
+      3329.1494       2594.1404
+  21091726.9644  -19867278.36549 -15238450.67548  21091726.3414   21091730.2894
+      1110.9554        865.6794
+  23895203.7754   -7448352.85349  -5783419.39046  23895202.3564   23895208.3754
+      2439.0804       1900.5734
+  24404625.7974   -2396009.10249  -1613870.94645  24404627.4854   24404630.3194
+     -3851.2464      -3000.9704
+  23197737.6714   -7681206.76349  -5963502.00846  23197736.7084   23197741.3274
+      2970.3444       2314.5464
+ 05  1 20  5 22 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22158296.7594  -13121765.20349 -10203830.87647  22158296.4444   22158300.8074
+     -3123.7694      -2434.1064
+  21080094.8794  -23062327.64049 -17952448.85048  21080094.6584   21080098.7674
+     -1809.6954      -1410.1514
+  21625484.8334  -15200111.12449 -11823918.37147  21625484.1034   21625489.6294
+     -2756.0024      -2147.5314
+  22564492.7124   -8939489.20549  -6756717.85547  22564492.1654   22564496.6304
+      1452.4444       1131.7744
+  20326380.2584  -25951661.48549 -20207345.54848  20326380.0194   20326382.3644
+       196.6304        153.2224
+  23994234.4734   -5602062.74949  -4350128.41846  23994235.4674   23994240.1524
+      3323.3224       2589.6034
+  21085405.5934  -19900496.85449 -15264335.20848  21085405.2984   21085409.1504
+      1103.5714        859.9314
+  23881290.4744   -7521475.62049  -5840398.17346  23881289.3124   23881292.8324
+      2435.7434       1897.9774
+  24426611.5614   -2280481.53449  -1523849.46245  24426610.0614   24426614.7064
+     -3850.6104      -3000.4684
+  23180796.4654   -7770219.29549  -6032862.40046  23180797.3564   23180804.2614
+      2963.8604       2309.5024
+ 05  1 20  5 23  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22176160.6724  -13027891.17949 -10130682.28447  22176159.1874   22176164.9414
+     -3134.4764      -2442.4504
+  21090465.3184  -23007833.49149 -17909985.88648  21090464.5014   21090468.6074
+     -1823.2524      -1420.7154
+  21641256.5264  -15117225.78149 -11759332.38947  21641256.9634   21641261.9634
+     -2769.6914      -2158.2034
+  22556246.7854   -8982820.84549  -6790482.75247  22556245.9514   22556250.8174
+      1436.3134       1119.2104
+  20325296.8344  -25957353.07649 -20211780.56048  20325297.0094   20325299.1894
+       182.7874        142.4324
+  23975279.2564   -5701673.32449  -4427747.02246  23975279.3134   23975283.8584
+      3317.3644       2584.9604
+  21079127.1954  -19933493.79549 -15290047.10648  21079126.4374   21079130.2084
+      1096.1984        854.1734
+  23867394.4784   -7594498.52249  -5897299.13146  23867393.4104   23867396.6624
+      2432.4044       1895.3864
+  24448591.6964   -2164971.52049  -1433841.67845  24448590.9444   24448595.3554
+     -3849.9284      -2999.9434
+  23163895.9584   -7859035.44449  -6102069.76246  23163896.1404   23163902.3664
+      2957.2504       2304.3434
+ 05  1 20  5 23 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22194083.9794  -12933697.33749 -10057284.50846  22194083.9394   22194088.7354
+     -3145.1124      -2450.7354
+  21100912.4004  -22952932.54549 -17867205.94148  21100912.2954   21100916.3064
+     -1836.7764      -1431.2514
+  21657109.2674  -15033931.97549 -11694428.13147  21657107.6354   21657112.6744
+     -2783.2474      -2168.7644
+  22548092.1904   -9025668.10049  -6823870.22747  22548092.6144   22548097.1574
+      1420.1274       1106.6004
+  20324293.1484  -25962629.10649 -20215891.75148  20324293.2134   20324295.4244
+       168.9154        131.6244
+  23956357.9814   -5801104.88249  -4505226.15345  23956358.6954   23956361.8154
+      3311.4034       2580.3094
+  21072889.6904  -19966269.52949 -15315586.63648  21072889.3104   21072893.2414
+      1088.8524        848.4604
+  23853513.8234   -7667421.53049  -5954122.22246  23853515.9004   23853520.6764
+      2429.0864       1892.8014
+  24470571.3004   -2049482.11549  -1343849.89945  24470570.0634   24470573.1814
+     -3849.3134      -2999.4644
+  23147034.0664   -7947651.97349  -6171121.60446  23147034.0354   23147038.5204
+      2950.4754       2299.0744
+ 05  1 20  5 24  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22212069.6414  -12839186.56749  -9983639.73847  22212069.2784   22212074.1614
+     -3155.6204      -2458.9244
+  21111437.2624  -22897625.47049 -17824109.53348  21111436.8434   21111440.4484
+     -1850.3454      -1441.8304
+  21673035.1914  -14950232.88849 -11629208.07347  21673034.3454   21673040.4464
+     -2796.6954      -2179.2414
+  22540032.1734   -9068028.85149  -6856878.59047  22540031.4494   22540037.0964
+      1403.8964       1093.9404
+  20323368.5994  -25967488.26549 -20219678.10348  20323368.2864   20323370.5814
+       155.0334        120.8044
+  23937473.1694   -5900356.10349  -4582564.77945  23937470.6564   23937475.9574
+      3305.3384       2575.5854
+  21066694.8854  -19998824.15149 -15340953.87648  21066694.4184   21066698.0344
+      1081.4674        842.6994
+  23839658.3404   -7740244.71949  -6010867.57946  23839657.4104   23839663.6994
+      2425.7384       1890.2004
+  24492543.6404   -1934016.09049  -1253876.34045  24492541.1034   24492545.8274
+     -3848.5704      -2998.8834
+  23130207.8954   -8036065.49049  -6240015.27046  23130208.5804   23130214.6974
+      2943.7224       2293.8124
+ 05  1 20  5 24 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22230113.3624  -12744361.75549  -9909750.29346  22230113.5374   22230118.3014
+     -3166.0194      -2467.0374
+  21122039.4734  -22841912.42849 -17780696.78248  21122038.8764   21122042.4014
+     -1863.8064      -1452.3234
+  21689039.2124  -14866131.72849 -11563674.71247  21689038.6774   21689043.6224
+     -2810.0554      -2189.6514
+  22532063.8104   -9109900.95749  -6889506.18447  22532063.6804   22532067.4854
+      1387.5644       1081.2084
+  20322523.4724  -25971929.30949 -20223138.65548  20322523.3604   20322525.4934
+       141.0294        109.8894
+  23918620.1494   -5999425.11149  -4659761.40746  23918619.3684   23918623.7804
+      3299.2574       2570.8504
+  21060541.2244  -20031157.85249 -15366148.96848  21060540.8584   21060545.2294
+      1074.1104        836.9684
+  23825820.4114   -7812968.14649  -6067535.16746  23825819.0304   23825824.0254
+      2422.4364       1887.6184
+  24514509.5364   -1818576.14849  -1163923.17545  24514508.2384   24514512.7374
+     -3847.5484      -2998.0904
+  23113425.3374   -8124272.94249  -6308748.33846  23113424.0934   23113428.3634
+      2936.7774       2288.3894
+ 05  1 20  5 25  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22248218.0194  -12649225.76649  -9835618.36647  22248217.4234   22248222.3424
+     -3176.3354      -2475.0614
+  21132717.9364  -22785793.92749 -17736968.09448  21132717.5264   21132721.5234
+     -1877.3154      -1462.8424
+  21705118.4634  -14781631.45849 -11497830.35247  21705118.4674   21705123.6964
+     -2823.2894      -2199.9654
+  22524188.2234   -9151281.85449  -6921751.03147  22524188.5494   22524194.4184
+      1371.1534       1068.4384
+  20321758.6134  -25975951.14349 -20226272.55148  20321758.2794   20321760.1974
+       127.0654         99.0124
+  23899799.7654   -6098310.44149  -4736814.92246  23899800.9664   23899806.2364
+      3293.1174       2566.0674
+  21054430.2374  -20063270.50149 -15391171.81048  21054430.0954   21054434.4504
+      1066.7604        831.2464
+  23811999.3474   -7885591.75049  -6124125.00546  23811999.4104   23812005.3444
+      2419.1184       1885.0274
+  24536471.3594   -1703164.81749  -1073992.26045  24536470.4484   24536475.2544
+     -3846.6024      -2997.3494
+  23096678.8034   -8212271.01349  -6377318.26946  23096678.2294   23096683.1674
+      2929.7954       2282.9634
+ 05  1 20  5 25 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22266381.3494  -12553781.72749  -9761246.37746  22266381.0154   22266383.4564
+     -3186.5744      -2483.0414
+  21143473.9734  -22729270.27249 -17692923.71048  21143473.6684   21143477.8044
+     -1890.8584      -1473.3954
+  21721274.3414  -14696735.10449 -11431677.35447  21721273.7214   21721279.4144
+     -2836.4574      -2210.2234
+  22516409.2794   -9192169.64849  -6953611.64847  22516408.8444   22516412.2024
+      1354.6734       1055.5884
+  20321072.7244  -25979552.88349 -20229079.10448  20321072.7564   20321074.8734
+       113.0504         88.0884
+  23881017.5674   -6197010.33449  -4813723.94545  23881018.6504   23881024.0714
+      3286.8724       2561.2004
+  21048362.0524  -20095162.26149 -15416022.53648  21048361.3394   21048365.5564
+      1059.3764        825.4874
+  23798199.3144   -7958115.67649  -6180637.13046  23798199.3114   23798203.2504
+      2415.7774       1882.4114
+  24558424.8784   -1587785.09248   -984085.97045  24558425.5504   24558427.6444
+     -3845.3964      -2996.4074
+  23079972.3124   -8300056.57449  -6445722.59046  23079973.0344   23079978.9674
+      2922.6224       2277.3604
+ 05  1 20  5 26  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22284600.6714  -12458032.38149  -9686636.47846  22284600.8264   22284605.8644
+     -3196.6904      -2490.9124
+  21154307.6204  -22672342.25849 -17648564.22948  21154306.9274   21154311.0604
+     -1904.3504      -1483.9044
+  21737503.7334  -14611445.68049 -11365218.05747  21737503.9314   21737509.1304
+     -2849.5274      -2220.4134
+  22508722.1594   -9232561.98749  -6985086.16447  22508722.0724   22508727.0934
+      1338.1314       1042.6994
+  20320467.5194  -25982733.37249 -20231557.40148  20320467.3214   20320469.6084
+        98.9874         77.1334
+  23862272.6754   -6295523.33149  -4890487.29046  23862273.8264   23862278.2264
+      3280.6554       2556.3574
+  21042335.3424  -20126833.44649 -15440701.37948  21042334.6584   21042338.7094
+      1052.0174        819.7564
+  23784415.3544   -8030539.90449  -6237071.57346  23784415.6254   23784422.8814
+      2412.4754       1879.8464
+  24580372.7474   -1472439.06948   -894205.89645  24580375.7974   24580380.6914
+     -3844.3294      -2995.5884
+  23063308.8764   -8387626.23549  -6513958.71046  23063309.7664   23063313.2424
+      2915.3984       2271.7324
+ 05  1 20  5 26 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22302878.3534  -12361980.80949  -9611791.10446  22302878.0794   22302883.3794
+     -3206.7094      -2498.7414
+  21165216.4304  -22615009.81149 -17603889.61247  21165216.4404   21165220.2734
+     -1917.8344      -1494.4184
+  21753809.3544  -14525766.31349 -11298454.91047  21753808.0314   21753813.1814
+     -2862.4464      -2230.4774
+  22501131.0114   -9272456.74049  -7016172.96847  22501130.2624   22501135.4524
+      1321.5314       1029.7544
+  20319942.6374  -25985491.51049 -20233706.59348  20319942.6224   20319944.7934
+        84.9064         66.1594
+  23843562.4964   -6393847.75749  -4967103.70946  23843563.0904   23843567.8384
+      3274.2574       2551.3684
+  21036349.8844  -20158284.11049 -15465208.38448  21036349.6624   21036353.9214
+      1044.6844        814.0374
+  23770654.1564   -8102864.33249  -6293428.27446  23770654.2174   23770657.9134
+      2409.1644       1877.2714
+  24602316.8924   -1357130.40449   -804354.97345  24602319.4284   24602322.4584
+     -3842.9674      -2994.5204
+  23046686.1504   -8474976.88149  -6582024.13746  23046686.2894   23046692.4594
+      2908.0314       2265.9904
+ 05  1 20  5 27  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22321212.6794  -12265630.06849  -9536712.59646  22321212.3514   22321217.6284
+     -3216.6304      -2506.4674
+  21176203.1394  -22557273.69549 -17558900.44447  21176203.1474   21176207.2814
+     -1931.2674      -1504.8804
+  21770186.8604  -14439700.19149 -11231390.41147  21770186.0634   21770191.1694
+     -2875.2984      -2240.4934
+  22493635.5044   -9311851.88249  -7046870.48447  22493633.9164   22493638.7094
+      1304.8194       1016.7364
+  20319498.3584  -25987826.29049 -20235525.90248  20319498.2454   20319500.1964
+        70.7554         55.1324
+  23824888.4974   -6491981.96549  -5043571.88446  23824887.2644   23824894.2484
+      3267.9464       2546.4514
+  21030407.1254  -20189514.39249 -15489543.66748  21030406.8284   21030410.9764
+      1037.3304        808.3044
+  23756909.4114   -8175088.99749  -6349707.23646  23756910.1254   23756915.7434
+      2405.8274       1874.6854
+  24624254.2804   -1241861.64149   -714535.16745  24624254.4764   24624256.3394
+     -3841.5884      -2993.4374
+  23030107.4624   -8562105.24549  -6649916.36946  23030107.3174   23030112.5604
+      2900.5714       2260.1904
+ 05  1 20  5 27 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22339605.6884  -12168982.90749  -9461403.12747  22339604.8284   22339609.3804
+     -3226.4824      -2514.1434
+  21187267.2774  -22499134.24049 -17513596.98747  21187266.9854   21187270.9264
+     -1944.7074      -1515.3564
+  21786637.4534  -14353250.35149 -11164026.89147  21786636.7744   21786641.6844
+     -2888.0204      -2250.4044
+  22486231.4754   -9350745.15749  -7077176.90747  22486231.8134   22486237.7124
+      1288.0404       1003.6654
+  20319135.1654  -25989736.33849 -20237014.25148  20319134.8444   20319136.7124
+        56.5914         44.0944
+  23806252.5214   -6589924.05149  -5119890.41846  23806251.4184   23806256.0214
+      3261.5024       2541.4304
+  21024506.6134  -20220524.42549 -15513707.33048  21024505.6254   21024510.0704
+      1030.0224        802.6124
+  23743185.5224   -8247213.88349  -6405908.44046  23743183.8074   23743190.1254
+      2402.5064       1872.0794
+  24646180.6884   -1126635.19149   -624748.26645  24646180.0514   24646185.7874
+     -3840.0874      -2992.2754
+  23013568.0564   -8649008.10149  -6717632.84446  23013569.2694   23013576.0584
+      2893.0074       2254.2894
+ 05  1 20  5 28  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22358051.5304  -12072042.19449  -9385864.92546  22358051.7824   22358055.9624
+     -3236.2154      -2521.7354
+  21198407.2494  -22440592.33449 -17467979.93147  21198407.4484   21198411.2634
+     -1958.1324      -1525.8254
+  21803158.9364  -14266420.17649 -11096367.02847  21803159.2354   21803165.4354
+     -2900.6374      -2260.2424
+  22478927.7614   -9389134.56749  -7107090.71047  22478926.8654   22478931.5624
+      1271.2334        990.5694
+  20318852.4204  -25991220.91149 -20238171.06148  20318852.2854   20318854.3444
+        42.4014         33.0414
+  23787650.2544   -6687672.50249  -5196058.07446  23787649.9694   23787655.8204
+      3255.0864       2536.4314
+  21018646.8774  -20251314.34249 -15537699.47548  21018646.7884   21018650.6764
+      1022.6614        796.8794
+  23729479.4384   -8319239.02749  -6462031.90846  23729479.3474   23729482.6824
+      2399.1584       1869.4594
+  24668102.3144   -1011453.72749   -534996.49445  24668099.6684   24668103.1844
+     -3838.5634      -2991.0914
+  22997075.9594   -8735682.23349  -6785171.10146  22997076.1274   22997081.5244
+      2885.2734       2248.2714
+ 05  1 20  5 28 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22376555.8614  -11974810.93649  -9310100.31146  22376554.5524   22376558.6924
+     -3245.8344      -2529.2274
+  21209624.8274  -22381648.34649 -17422049.55747  21209623.7914   21209627.9324
+     -1971.4814      -1536.2204
+  21819756.5654  -14179212.76049 -11028413.18847  21819754.7884   21819759.9454
+     -2913.1764      -2270.0074
+  22471718.9124   -9427018.01249  -7136610.27147  22471718.1024   22471723.1434
+      1254.3214        977.3964
+  20318651.0204  -25992278.77849 -20238995.36748  20318650.8984   20318653.1764
+        28.1424         21.9304
+  23769087.0044   -6785226.05849  -5272073.85846  23769086.2284   23769092.2594
+      3248.5284       2531.3194
+  21012829.9674  -20281884.12549 -15561520.08048  21012829.3704   21012833.4934
+      1015.3594        791.1884
+  23715792.7244   -8391164.52249  -6518077.76846  23715791.0044   23715797.3654
+      2395.8464       1866.8914
+  24690010.4734    -896320.11249   -445281.98345  24690009.0124   24690013.2444
+     -3836.9974      -2989.8644
+  22980626.4004   -8822124.36749  -6852528.63346  22980626.8584   22980631.7974
+      2877.5354       2242.2364
+ 05  1 20  5 29  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22395112.4444  -11877292.14749  -9234111.62447  22395113.1314   22395116.6864
+     -3255.3834      -2536.6744
+  21220918.0284  -22322302.60649 -17375806.14747  21220917.2914   21220921.7384
+     -1984.8784      -1546.6584
+  21836421.3724  -14091631.19049 -10960167.81447  21836420.8824   21836426.0974
+     -2925.5964      -2279.6954
+  22464604.7824   -9464393.53349  -7165734.04647  22464604.7234   22464610.5794
+      1237.3564        964.1684
+  20318531.0894  -25992909.02749 -20239486.47448  20318530.9744   20318533.1984
+        13.8564         10.7954
+  23750560.6584   -6882582.90049  -5347936.36346  23750560.9664   23750564.9634
+      3241.9134       2526.1574
+  21007054.4214  -20312233.87049 -15585169.23248  21007054.0654   21007058.2694
+      1008.0014        785.4544
+  23702124.4294   -8462990.45849  -6574046.02246  23702123.6224   23702129.0634
+      2392.5434       1864.3084
+  24711908.7144    -781237.08949   -355606.89345  24711910.3414   24711909.2444
+     -3835.2964      -2988.5414
+  22964220.6104   -8908331.27249  -6919702.82646  22964222.3294   22964227.1304
+      2869.6474       2236.0954
+ 05  1 20  5 29 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22413722.6604  -11779488.57049  -9157901.06847  22413723.2244   22413727.8214
+     -3264.8314      -2544.0234
+  21232287.7294  -22262555.79149 -17329250.20747  21232286.8504   21232290.4774
+     -1998.2474      -1557.0714
+  21853158.8724  -14003678.67049 -10891633.39347  21853158.0834   21853163.4154
+     -2937.9214      -2289.2924
+  22457591.9404   -9501259.18749  -7194460.50847  22457590.3364   22457596.0644
+      1220.3364        950.9074
+  20318492.9014  -25993110.66649 -20239643.59648  20318492.5094   20318494.9314
+         -.4324          -.3364
+  23732072.6054   -6979741.23949  -5423644.15846  23732071.9034   23732076.3254
+      3235.2554       2520.9864
+  21001321.1414  -20342363.80849 -15608647.10348  21001320.6074   21001324.5194
+      1000.6684        779.7344
+  23688475.6324   -8534716.87049  -6629936.71046  23688475.6944   23688481.1314
+      2389.2084       1861.7204
+  24733796.9204    -666207.30249   -265973.28245  24733797.7574   24733800.5964
+     -3833.4984      -2987.1534
+  22947862.8744   -8994299.68849  -6986691.17646  22947863.7144   22947867.6434
+      2861.6134       2229.8264
+ 05  1 20  5 30  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22432387.1534  -11681403.03749  -9081470.79046  22432387.4154   22432392.8604
+     -3274.1934      -2551.3214
+  21243731.7384  -22202408.38149 -17282382.10047  21243731.7514   21243736.4554
+     -2011.6014      -1567.4834
+  21869965.3614  -13915358.18849 -10822812.26847  21869964.2384   21869970.3484
+     -2950.1354      -2298.8034
+  22450672.5784   -9537612.89049  -7222788.07947  22450672.0144   22450677.7634
+      1203.2354        937.5904
+  20318536.0574  -25992882.64249 -20239465.91348  20318536.2014   20318538.1934
+       -14.7724        -11.5124
+  23713620.6314   -7076699.49749  -5499196.00846  23713620.9104   23713625.5124
+      3228.6104       2515.7954
+  20995628.9654  -20372273.98849 -15631953.73648  20995628.8684   20995632.9764
+       993.4144        774.0874
+  23674845.9974   -8606343.75049  -6685749.86746  23674844.5654   23674849.1244
+      2385.9304       1859.1694
+  24755676.5494    -551233.17249   -176383.11245  24755678.7424   24755678.0054
+     -3831.4594      -2985.5584
+  22931551.3284   -9080026.61549  -7053491.35846  22931551.0374   22931555.9014
+      2853.5184       2223.5234
+ 05  1 20  5 30 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22451107.2664  -11583038.76849  -9004823.30347  22451107.1144   22451110.8344
+     -3283.4124      -2558.5034
+  21255254.5674  -22141860.59249 -17235202.03947  21255254.3114   21255258.0564
+     -2024.8844      -1577.8284
+  21886841.6114  -13826672.87449 -10753706.85847  21886840.4164   21886846.5744
+     -2962.2004      -2308.2024
+  22443851.3884   -9573452.66249  -7250715.16747  22443851.8034   22443857.4104
+      1186.0694        924.2124
+  20318661.0564  -25992224.07449 -20238952.74248  20318661.2954   20318663.4874
+       -29.1654        -22.7264
+  23695207.4154   -7173456.38449  -5574590.96946  23695207.9544   23695213.6664
+      3221.8534       2510.5334
+  20989979.4634  -20401964.38449 -15655089.11448  20989979.0364   20989983.0524
+       986.0254        768.3354
+  23661233.1634   -8677871.01549  -6741485.40646  23661231.7224   23661238.6034
+      2382.5794       1856.5614
+  24777544.6694    -436317.62749    -86838.49245  24777544.8474   24777547.4494
+     -3829.4974      -2984.0334
+  22915284.7164   -9165508.65349  -7120100.74646  22915284.0804   22915288.7334
+      2845.2934       2217.1054
+ 05  1 20  5 31  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22469877.5584  -11484398.61249  -8927960.83046  22469876.9194   22469882.0824
+     -3292.5844      -2565.6494
+  21266852.1044  -22080913.34949 -17187710.69547  21266851.7894   21266856.1434
+     -2038.2644      -1588.2534
+  21903786.8114  -13737625.96249 -10684319.66247  21903786.2464   21903791.3354
+     -2974.2454      -2317.5954
+  22437132.2504   -9608776.49449  -7278240.23947  22437130.9754   22437135.4124
+      1168.8264        910.7694
+  20318869.2684  -25991133.92349 -20238103.27048  20318868.8494   20318870.9624
+       -43.5544        -33.9404
+  23676835.0364   -7270010.20449  -5649827.71146  23676833.9524   23676838.6934
+      3215.0604       2505.2444
+  20984371.0504  -20431435.15549 -15678053.34948  20984370.7994   20984374.9354
+       978.7014        762.6244
+  23647641.9214   -8749298.67349  -6797143.31446  23647642.6614   23647647.3244
+      2379.2474       1853.9514
+  24799398.7764    -321463.25049      2658.39044  24799400.7394   24799403.0574
+     -3827.4124      -2982.4004
+  22899065.3984   -9250742.66049  -7186516.85446  22899065.2534   22899068.1174
+      2837.0144       2210.6584
+ 05  1 20  5 31 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22488700.5074  -11385485.26149  -8850885.50746  22488699.8114   22488704.1124
+     -3301.6284      -2572.7004
+  21278526.8044  -22019567.42049 -17139908.69947  21278526.1574   21278529.8404
+     -2051.4864      -1598.5534
+  21920800.0964  -13648220.87849 -10614653.36547  21920798.9324   21920805.0554
+     -2986.1224      -2326.8434
+  22430506.5244   -9643582.40549  -7305361.70347  22430506.3784   22430512.2854
+      1151.5434        897.3114
+  20319158.3124  -25989611.18049 -20236916.72448  20319158.4974   20319160.7104
+       -57.9914        -45.1854
+  23658500.4914   -7366359.04249  -5724904.67246  23658499.3294   23658504.7254
+      3208.1774       2499.8774
+  20978804.8384  -20460686.51849 -15700846.62248  20978804.5064   20978808.7414
+       971.3794        756.9204
+  23634069.3504   -8820626.86649  -6852723.72646  23634069.0424   23634073.1744
+      2375.9474       1851.3874
+  24821240.3374    -206672.60148     92105.62244  24821238.8154   24821251.3664
+     -3825.1754      -2980.6604
+  22882893.7034   -9335725.33849  -7252737.12046  22882892.9454   22882896.7444
+      2828.5764       2204.0904
+ 05  1 20  5 32  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22507574.1884  -11286301.93549  -8773599.80746  22507573.2874   22507578.5234
+     -3310.5634      -2579.6564
+  21290275.6074  -21957823.10749 -17091796.27147  21290275.2644   21290279.9394
+     -2064.7514      -1608.8914
+  21937880.2104  -13558460.73349 -10544710.39947  21937879.9154   21937885.1874
+     -2997.8854      -2336.0214
+  22423983.1584   -9677868.49049  -7332078.13047  22423982.6254   22423987.6364
+      1134.2094        883.7904
+  20319531.0254  -25987654.90649 -20235392.35648  20319531.0154   20319533.0764
+       -72.4524        -56.4564
+  23640204.6874   -7462501.78449  -5799821.05646  23640205.0074   23640209.7734
+      3201.3234       2494.5304
+  20973280.4154  -20489718.45949 -15723468.90848  20973279.7294   20973283.9344
+       964.0694        751.2244
+  23620512.7614   -8891855.59249  -6908226.63146  23620512.0314   23620518.9444
+      2372.6374       1848.8174
+  24843076.0194     -91948.34749    181501.18244  24843077.3844   24843079.8914
+     -3823.0374      -2978.9954
+  22866769.6184   -9420453.46949  -7318759.02746  22866769.4624   22866773.3844
+      2820.0414       2197.4364
+ 05  1 20  5 32 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22526498.4434  -11186851.26949  -8696105.78346  22526498.4904   22526502.2494
+     -3319.4464      -2586.5954
+  21302101.7734  -21895681.08149 -17043373.93447  21302100.9214   21302104.7074
+     -2078.0254      -1619.2404
+  21955027.9514  -13468348.57949 -10474493.13747  21955027.5904   21955033.3184
+     -3009.5754      -2345.1284
+  22417557.6384   -9711632.99549  -7358388.13347  22417557.4994   22417562.5564
+      1116.7764        870.2164
+  20319985.6764  -25985264.11849 -20233529.40648  20319985.7594   20319987.9424
+       -86.9384        -67.7464
+  23621949.2624   -7558436.93849  -5874575.70446  23621948.8254   23621953.8664
+      3194.3564       2489.1104
+  20967797.6264  -20518531.25349 -15745920.44148  20967797.1664   20967800.9574
+       956.7804        745.5434
+  23606979.4174   -8962984.89349  -6963652.07346  23606978.9754   23606982.3734
+      2369.3274       1846.2324
+  24864894.2344      22706.67149    270842.74644  24864894.4474   24864899.6734
+     -3820.6334      -2977.1104
+  22850694.9504   -9504923.89049  -7384580.12246  22850695.1374   22850698.9234
+      2811.4014       2190.7034
+ 05  1 20  5 33  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22545472.7284  -11087136.25249  -8618405.76246  22545473.1434   22545478.2014
+     -3328.1964      -2593.3874
+  21314001.8624  -21833141.67749 -16994641.95047  21314001.4834   21314005.7284
+     -2091.2884      -1629.5724
+  21972242.9554  -13377887.57149 -10404004.04647  21972242.3694   21972247.7094
+     -3021.1634      -2354.1544
+  22411232.0704   -9744873.78749  -7384290.03947  22411231.8474   22411237.0314
+      1099.2734        856.5774
+  20320523.7574  -25982437.79749 -20231327.07448  20320523.5724   20320525.7804
+      -101.4744        -79.0744
+  23603733.7074   -7654162.36749  -5949166.90946  23603733.1284   23603737.3724
+      3187.3494       2483.6404
+  20962355.6984  -20547124.86049 -15768201.16948  20962355.7014   20962359.8534
+       949.4644        739.8394
+  23593463.4394   -9034014.82249  -7019000.05046  23593462.2864   23593467.3884
+      2366.0114       1843.6574
+  24886699.2534     137290.10249    360128.54145  24886698.0224   24886703.5994
+     -3818.1754      -2975.2074
+  22834669.5464   -9589133.37249  -7450197.90546  22834670.7544   22834676.2214
+      2802.6324       2183.8774
+ 05  1 20  5 33 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22564498.4904  -10987159.79549  -8540502.04946  22564498.3314   22564502.4314
+     -3336.8514      -2600.1354
+  21325978.0074  -21770205.77949 -16945601.02147  21325978.0144   21325982.1274
+     -2104.4104      -1639.8004
+  21989523.5254  -13287081.03449 -10333245.71147  21989522.3394   21989527.1954
+     -3032.6084      -2363.0734
+  22405007.4594   -9777589.20949  -7409782.57247  22405006.2284   22405011.3064
+      1081.7314        842.9064
+  20321144.7534  -25979175.06949 -20228784.69448  20321144.5794   20321146.5924
+      -116.0534        -90.4304
+  23585556.4964   -7749677.11449  -6023593.92046  23585557.3104   23585561.9294
+      3180.2754       2478.1334
+  20956956.9864  -20575499.30049 -15790311.12548  20956956.5354   20956960.3704
+       942.1634        734.1534
+  23579964.6464   -9104945.38149  -7074270.59446  23579963.2444   23579969.4514
+      2362.6934       1841.0594
+  24908491.6604     251799.33449    449356.46845  24908487.5964   24908491.2324
+     -3815.6864      -2973.2624
+  22818697.2014   -9673078.70249  -7515609.83946  22818696.6804   22818699.9694
+      2793.7624       2176.9414
+ 05  1 20  5 34  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22583572.6984  -10886924.66249  -8462396.73246  22583572.8984   22583577.5334
+     -3345.4174      -2606.8234
+  21338030.0124  -21706874.56349 -16896252.02847  21338029.5734   21338032.9684
+     -2117.6084      -1650.0804
+  22006866.0324  -13195932.18149 -10262220.62947  22006866.4364   22006872.8564
+     -3043.9514      -2371.9144
+  22398882.2114   -9809777.37349  -7434864.24847  22398880.7134   22398886.2964
+      1064.1424        829.1974
+  20321848.6114  -25975475.17949 -20225901.66348  20321848.6714   20321850.8164
+      -130.6214       -101.7814
+  23567422.4364   -7844979.32349  -6097855.32646  23567422.0174   23567426.7304
+      3173.2034       2472.6304
+  20951599.3104  -20603654.65949 -15812250.36848  20951599.1014   20951602.5934
+       934.8804        728.4804
+  23566486.0874   -9175776.55249  -7129463.72446  23566485.6964   23566490.7284
+      2359.4154       1838.4974
+  24930266.8384     366231.43548    538524.30244  24930264.1334   24930268.0374
+     -3813.0774      -2971.2254
+  22802773.3414   -9756756.58549  -7580813.39446  22802773.9714   22802776.7804
+      2784.8704       2170.0124
+ 05  1 20  5 34 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22602695.5834  -10786433.75649  -8384092.14646  22602695.2864   22602700.2214
+     -3353.9274      -2613.4374
+  21350156.3874  -21643147.95349 -16846594.93547  21350156.0004   21350160.3304
+     -2130.8034      -1660.3674
+  22024277.4214  -13104444.18549 -10190931.28747  22024276.6224   22024282.1724
+     -3055.2044      -2380.6754
+  22392856.8474   -9841436.36249  -7459533.59447  22392856.0404   22392861.6794
+      1046.4454        815.4204
+  20322635.3564  -25971337.06349 -20222677.16448  20322635.7594   20322638.0654
+      -145.2604       -113.1894
+  23549326.1144   -7940067.45849  -6171949.95046  23549327.0424   23549332.0284
+      3166.0174       2467.0294
+  20946283.0624  -20631591.22149 -15834019.11248  20946282.6624   20946286.5614
+       927.5594        722.7754
+  23553026.5854   -9246508.50749  -7184579.51546  23553026.9494   23553030.4054
+      2356.0674       1835.8954
+  24952028.8964     480583.98048    627630.14144  24952028.7564   24952028.7254
+     -3810.3334      -2969.0784
+  22786899.9354   -9840164.01249  -7645806.17546  22786900.8064   22786905.7314
+      2775.7414       2162.9094
+ 05  1 20  5 35  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22621865.1924  -10685690.07349  -8305590.59746  22621865.5414   22621870.6574
+     -3362.3394      -2620.0034
+  21362358.6034  -21579026.80449 -16796630.42247  21362358.1054   21362362.5884
+     -2143.9414      -1670.6034
+  22041750.8204  -13012620.25349 -10119380.16447  22041750.0554   22041755.0974
+     -3066.3544      -2389.3694
+  22386934.4884   -9872564.32849  -7483789.13447  22386933.9344   22386938.1294
+      1028.7044        801.5934
+  20323507.1494  -25966759.91449 -20219110.55548  20323507.1304   20323509.2944
+      -159.9144       -124.6084
+  23531271.1484   -8034940.03049  -6245876.57146  23531271.8844   23531277.8934
+      3158.7974       2461.3924
+  20941008.4734  -20659308.84049 -15855617.25648  20941007.9374   20941011.9264
+       920.2594        717.0834
+  23539585.9044   -9317141.20649  -7239617.98246  23539585.1304   23539589.4894
+      2352.7584       1833.3124
+  24973774.3924     594854.39658    716671.95054  24973773.7544   24973773.6834
+     -3807.6424      -2966.9904
+  22771081.0484   -9923297.60849  -7710585.61546  22771081.2634   22771084.5784
+      2766.5604       2155.7644
+ 05  1 20  5 35 30.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22641084.4414  -10584696.27449  -8226894.13046  22641084.7044   22641089.1904
+     -3370.5844      -2626.4274
+  21374635.2294  -21514512.00649 -16746359.16347  21374634.8674   21374638.4964
+     -2157.0434      -1680.8224
+  22059287.8134  -12920463.63449 -10047569.81847  22059287.2944   22059292.2194
+     -3077.3984      -2397.9764
+  22381111.3644   -9903159.66749  -7507629.66747  22381110.5174   22381115.4494
+      1010.9604        787.7514
+  20324461.9604  -25961742.74849 -20215201.07448  20324461.8944   20324463.8554
+      -174.5684       -136.0304
+  23513262.2374   -8129595.61249  -6319634.18246  23513260.8614   23513265.0924
+      3151.5514       2455.7504
+  20935775.0904  -20686807.54149 -15877044.81148  20935774.8484   20935779.1644
+       912.9804        711.4064
+  23526162.2454   -9387674.78949  -7294579.19946  23526162.9364   23526167.8854
+      2349.4984       1830.7734
+  24995498.3944     709039.85458    805647.64154  24995499.4044
+     -3804.8914      -2964.8604
+  22755312.7014  -10006154.22049  -7775149.19346  22755313.8064   22755319.0854
+      2757.2434       2148.5064
+ 05  1 20  5 36  0.0000000  0 10G 9G18G15G 5G22G25G14G 1G21G30
+  22660350.7234  -10483455.12749  -8148004.92946  22660349.5764   22660355.3064
+     -3378.8094      -2632.8344
+  21386986.7834  -21449603.91449 -16695781.44647  21386986.6284   21386990.4434
+     -2170.1454      -1691.0194
+  22076886.6564  -12827977.52349  -9975502.71947  22076885.9104   22076891.3734
+     -3088.3604      -2406.5104
+  22375391.4964   -9933220.57549  -7531053.72647  22375391.1314   22375396.0824
+       993.0874        773.8394
+  20325500.7134  -25956284.75649 -20210948.08948  20325500.4714   20325502.6284
+      -189.3024       -147.5094
+  23495290.1844   -8224032.66649  -6393221.47246  23495289.9204   23495294.9094
+      3144.2204       2450.0314
+  20930583.9654  -20714087.47049 -15898301.89948  20930583.7214   20930588.0054
+       905.7074        705.7464
+  23512760.7894   -9458109.18749  -7349463.16446  23512760.0384   23512763.9344
+      2346.1404       1828.1734
+  25017208.5444     823138.03248    894555.35344
+     -3801.6664      -2962.3504
+  22739600.6214  -10088730.66149  -7839494.46346  22739600.3674   22739604.6124
+      2747.8624       2141.1994
+ 05  1 20  5 36 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22679662.8784  -10381969.69649  -8068925.36246  22679662.7104   22679666.5024
+     -3386.9034      -2639.1474
+  21399413.2274  -21384303.28549 -16644897.84747  21399412.7874   21399416.7694
+     -2183.2204      -1701.2074
+  22094548.0254  -12735165.18749  -9903181.42447  22094548.2674   22094553.4964
+     -3099.1634      -2414.9224
+  22369772.9214   -9962745.31149  -7554060.01047  22369772.0524   22369777.3644
+       975.1864        759.8854
+  20326623.1444  -25950384.94149 -20206350.82848  20326623.1754   20326625.4414
+      -204.0364       -158.9894
+  23477361.6194   -8318249.96549  -6466637.48846  23477360.8274   23477366.4654
+      3136.8784       2444.3244
+  20925434.7384  -20741148.87949 -15919388.71248  20925434.3484   20925438.1454
+       898.4064        700.0564
+  23499373.5874   -9528444.34149  -7404269.77446  23499373.3844   23499379.2604
+      2342.8514       1825.5994
+  22723940.3434  -10171023.74649  -7903618.93746  22723941.0314   22723944.0684
+      2738.3724       2133.7894
+ 05  1 20  5 37  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22699021.5094  -10280242.91149  -7989657.74646  22699020.3104   22699024.6014
+     -3394.8814      -2645.3644
+  21411914.2634  -21318610.97049 -16593709.04447  21411913.4914   21411917.3724
+     -2196.2854      -1711.3934
+  22112272.2504  -12642029.88849  -9830608.46947  22112271.1234   22112276.8474
+     -3109.8554      -2423.2644
+  22364255.8684   -9991732.20449  -7576647.21247  22364255.3964   22364261.2834
+       957.2494        745.8954
+  20327829.7844  -25944042.58949 -20201408.74148  20327829.8844   20327832.1144
+      -218.7984       -170.4944
+  23459473.0434   -8412245.80149  -6539880.97746  23459474.3404   23459478.4064
+      3129.4864       2438.5644
+  20920327.1534  -20767991.87649 -15940305.33048  20920326.2864   20920330.1164
+       891.1104        694.3644
+  23486010.9994   -9598680.35749  -7458999.12746  23486010.0494   23486015.0244
+      2339.5324       1823.0164
+  22708334.9244  -10253030.29449  -7967520.12346  22708335.2114   22708339.5024
+      2728.7804       2126.3264
+ 05  1 20  5 37 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22718423.8014  -10178277.38949  -7910204.10346  22718423.7734   22718427.8474
+     -3402.7884      -2651.5024
+  21424488.9394  -21252527.75049 -16542215.64547  21424488.5304   21424492.9254
+     -2209.3044      -1721.5324
+  22130055.1514  -12548574.82149  -9757786.33947  22130054.5394   22130060.3544
+     -3120.4634      -2431.5344
+  22358842.5494  -10020179.59849  -7598814.00447  22358842.6164   22358847.9264
+       939.2014        731.8424
+  20329121.4524  -25937256.86949 -20196121.17248  20329121.0244   20329123.4474
+      -233.5854       -182.0114
+  23441630.1134   -8506018.42849  -6612950.50046  23441630.0534   23441634.4154
+      3122.0164       2432.7354
+  20915260.3214  -20794616.22349 -15961051.57048  20915259.8834   20915263.6574
+       883.8664        688.7254
+  23472664.0624   -9668817.12649  -7513651.15046  23472662.9804   23472668.1064
+      2336.2594       1820.4624
+  22692785.9914  -10334747.15349  -8031195.59846  22692785.0974   22692789.2024
+      2719.0344       2118.7314
+ 05  1 20  5 38  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22737871.5504  -10076075.96449  -7830566.64246  22737871.8574   22737875.7724
+     -3410.6204      -2657.6144
+  21437139.1934  -21186054.23149 -16490418.11047  21437138.5654   21437142.5134
+     -2222.2474      -1731.6194
+  22147899.2134  -12454803.27049  -9684717.60947  22147898.7474   22147904.5264
+     -3130.9734      -2439.7184
+  22353531.7504  -10048085.66349  -7620558.98547  22353532.0594   22353537.1084
+       921.1614        717.7894
+  20330497.3854  -25930026.92849 -20190487.45448  20330497.1594   20330499.2844
+      -248.4094       -193.5634
+  23423827.6374   -8599566.59849  -6685845.13046  23423827.5104   23423832.9134
+      3114.4904       2426.8754
+  20910235.6594  -20821022.16749 -15981627.62748  20910234.9674   20910238.8064
+       876.5684        683.0434
+  23459334.9514   -9738854.70649  -7568225.90546  23459334.4994   23459340.3234
+      2332.9804       1817.8964
+  22677289.4274  -10416171.10749  -8094642.82846  22677290.1074   22677294.4324
+      2709.2264       2111.0904
+ 05  1 20  5 38 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22757365.5464   -9973641.42249  -7750747.52046  22757364.9164   22757369.5894
+     -3418.3264      -2663.6224
+  21449861.8694  -21119191.46649 -16438317.27047  21449861.7124   21449866.1924
+     -2235.2354      -1741.7414
+  22165803.7534  -12360718.51049  -9611404.83747  22165802.9544   22165808.6934
+     -3141.3584      -2447.8104
+  22348327.0514  -10075448.94449  -7641881.00847  22348325.5924   22348330.9804
+       903.0644        703.6924
+  20331958.0144  -25922351.99649 -20184506.98848  20331957.7104   20331959.5734
+      -263.2574       -205.1394
+  23406069.9734   -8692888.63049  -6758563.53546  23406069.1714   23406073.6434
+      3106.9544       2420.9984
+  20905252.5004  -20847209.64849 -16002033.45548  20905251.8644   20905255.4884
+       869.2804        677.3614
+  23446028.3834   -9808793.14749  -7622723.36846  23446027.8234   23446032.1384
+      2329.6264       1815.2874
+  22661852.8554  -10497298.94249  -8157859.33446  22661851.9274   22661856.5924
+      2699.3274       2103.3754
+ 05  1 20  5 39  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22776900.7774   -9870976.64849  -7670748.99246  22776900.1394   22776904.6244
+     -3425.9594      -2669.5794
+  21462659.7214  -21051940.03449 -16385913.56647  21462659.8494   21462663.7344
+     -2248.1874      -1751.8314
+  22183766.2724  -12266323.69049  -9537850.46247  22183765.6674   22183770.9474
+     -3151.6314      -2455.8204
+  22343222.1414  -10102267.79149  -7662778.79647  22343221.6214   22343226.9004
+       884.8724        689.5174
+  20333502.8904  -25914231.31649 -20178179.18248  20333502.8894   20333505.0814
+      -278.1214       -216.7194
+  23388355.2144   -8785983.25249  -6831104.76846  23388354.2364   23388359.2794
+      3099.3354       2415.0654
+  20900309.9064  -20873178.74049 -16022269.10848  20900310.0254   20900313.7674
+       861.9994        671.6904
+  23432736.3904   -9878632.37549  -7677143.55046  23432735.7224   23432741.7144
+      2326.3184       1812.7144
+  22646469.8374  -10578127.61249  -8220842.68746  22646471.0784   22646475.8204
+      2689.3384       2095.5734
+ 05  1 20  5 39 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22796480.6384   -9768084.57249  -7590573.36946  22796480.7084   22796484.9774
+     -3433.5014      -2675.4554
+  21475531.4184  -20984300.78249 -16333207.67547  21475530.8754   21475534.9734
+     -2261.0734      -1761.8674
+  22201788.3044  -12171622.23849  -9464057.11347  22201787.2924   22201792.8684
+     -3161.7824      -2463.7224
+  22338222.4914  -10128540.52949  -7683251.04347  22338221.6884   22338227.7164
+       866.6344        675.3044
+  20335133.4884  -25905664.08949 -20171503.41748  20335133.0324   20335135.4634
+      -293.0264       -228.3304
+  23370682.7254   -8878848.91549  -6903467.55946  23370682.7874   23370686.5464
+      3091.7224       2409.1494
+  20895410.0324  -20898929.64549 -16042334.74248  20895409.7534   20895413.8264
+       854.7204        666.0164
+  23419465.9904   -9948372.42349  -7731486.43246  23419465.2804   23419470.4684
+      2323.0174       1810.1434
+  22631147.1784  -10658653.71449  -8283590.29146  22631147.4204   22631151.9624
+      2679.1434       2087.6384
+ 05  1 20  5 40  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22816102.5664   -9664968.10149  -7510222.89446  22816103.0664   22816107.2994
+     -3440.9344      -2681.2454
+  21488476.2234  -20916274.50149 -16280200.19847  21488475.8514   21488479.2624
+     -2273.9904      -1771.9404
+  22219866.1124  -12076617.37349  -9390027.38647  22219865.5254   22219871.0534
+     -3171.8714      -2471.5944
+  22333328.7414  -10154265.49249  -7703296.47147  22333328.1744   22333332.8734
+       848.3514        661.0554
+  20336848.6424  -25896649.56449 -20164479.11748  20336848.7044   20336850.7644
+      -307.9584       -239.9684
+  23353055.0774   -8971484.33949  -6975650.97046  23353054.2524   23353058.4334
+      3083.9664       2403.0914
+  20890551.6794  -20924462.27349 -16062230.30648  20890550.9804   20890555.1694
+       847.4434        660.3464
+  23406214.1914  -10018013.48949  -7785752.21146  23406213.6924   23406217.6074
+      2319.7304       1807.5734
+  22615881.0844  -10738874.25549  -8346099.78546  22615881.6714   22615887.0464
+      2668.9534       2079.7014
+ 05  1 20  5 40 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22835768.5214   -9561630.07649  -7429699.74146  22835768.0784   22835771.7544
+     -3448.2584      -2686.9574
+  21501494.3034  -20847862.17149 -16226891.91547  21501494.0584   21501497.9324
+     -2286.8314      -1781.9424
+  22238002.5514  -11981312.20049  -9315763.60047  22238001.4314   22238006.5054
+     -3181.8554      -2479.3594
+  22328536.7444  -10179441.16249  -7722913.87447  22328536.3124   22328541.2094
+       830.0084        646.7664
+  20338649.0294  -25887186.87249 -20157105.60048  20338649.0624   20338651.4644
+      -322.9044       -251.6134
+  23335470.2574   -9063887.81549  -7047653.63246  23335470.4614   23335475.4444
+      3076.2194       2397.0524
+  20885734.2094  -20949776.83149 -16081955.93948  20885733.7234   20885738.0024
+       840.1804        654.6884
+  23392979.7264  -10087555.46849  -7839940.78846  23392980.2514   23392985.0654
+      2316.4024       1804.9954
+  22600674.5554  -10818786.07149  -8408368.72846  22600675.8134   22600679.0854
+      2658.5894       2071.6144
+ 05  1 20  5 41  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22855474.5504   -9458073.00049  -7349005.92946  22855473.6844   22855477.9844
+     -3455.5144      -2692.6124
+  21514586.7864  -20779064.55749 -16173283.38747  21514586.0004   21514590.2124
+     -2299.6664      -1791.9444
+  22256193.2114  -11885710.20749  -9241268.55247  22256192.6534   22256200.0434
+     -3191.6504      -2487.0004
+  22323850.5684  -10204065.99449  -7742102.06747  22323850.4604   22323855.9964
+       811.6414        632.4474
+  20340535.5084  -25877275.29049 -20149382.29048  20340535.3294   20340537.6484
+      -337.8504       -263.2634
+  23317929.6324   -9156057.92649  -7119474.47346  23317930.7574   23317935.7164
+      3068.4534       2390.9984
+  20880958.8654  -20974873.08849 -16101511.46448  20880958.1364   20880962.1504
+       832.9124        649.0184
+  23379765.7464  -10156998.47149  -7894052.19846  23379765.5994   23379770.0714
+      2313.1504       1802.4664
+  22585528.6574  -10898385.86749  -8470394.54746  22585528.1944   22585532.2284
+      2648.1684       2063.5064
+ 05  1 20  5 41 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22875221.7464   -9354299.81749  -7268143.70346  22875220.8504   22875225.4354
+     -3462.6624      -2698.1824
+  21527750.7754  -20709882.28949 -16119375.14347  21527750.5324   21527755.2184
+     -2312.4704      -1801.9184
+  22274442.7454  -11789814.72849  -9166544.80947  22274441.8254   22274447.2394
+     -3201.3894      -2494.5894
+  22319271.1944  -10228138.50049  -7760859.85047  22319269.9444   22319274.2084
+       793.2014        618.0674
+  20342507.2584  -25866914.33249 -20141308.82348  20342507.1124   20342509.4334
+      -352.8594       -274.9544
+  23300436.7114   -9247993.57549  -7191112.57946  23300436.7114   23300441.6364
+      3060.6054       2384.8844
+  20876224.2934  -20999751.26049 -16120897.05348  20876224.0994   20876228.0354
+       825.6504        643.3674
+  23366569.9594  -10226342.60149  -7948086.58146  23366569.9444   23366575.0954
+      2309.8204       1799.8614
+  22570439.4254  -10977670.80449  -8532174.99446  22570439.9104   22570444.8854
+      2637.6234       2055.3114
+ 05  1 20  5 42  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22895008.6054   -9250313.11949  -7187115.10146  22895009.0304   22895013.5434
+     -3469.7794      -2703.7174
+  21540989.2944  -20640316.38049 -16065167.95847  21540988.8594   21540993.0284
+     -2325.2524      -1811.8834
+  22292745.6304  -11693629.01549  -9091594.89047  22292745.0944   22292751.1644
+     -3211.0084      -2502.0914
+  22314794.6934  -10251657.20249  -7779186.12847  22314794.0684   22314799.8754
+       774.6984        603.6594
+  20344564.0344  -25856103.06749 -20132884.45848  20344564.2014   20344566.6214
+      -367.8934       -286.6704
+  23282988.4394   -9339693.20649  -7262566.82546  23282986.4834   23282992.1184
+      3052.6784       2378.7094
+  20871531.9824  -21024411.42249 -16140112.76248  20871531.6674   20871535.0644
+       818.3704        637.6864
+  23353393.7144  -10295587.79449  -8002043.89946  23353392.7374   23353396.9284
+      2306.5014       1797.2934
+  22555413.8624  -11056637.39849  -8593707.38646  22555413.7084   22555418.1084
+      2626.8864       2046.9154
+ 05  1 20  5 42 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22914838.9164   -9146115.72349  -7105922.34246  22914838.1364   22914842.4334
+     -3476.7404      -2709.1424
+  21554300.1344  -20570367.65149 -16010662.48147  21554299.6904   21554303.9594
+     -2337.9894      -1821.8054
+  22311104.8664  -11597156.20949  -9016421.29847  22311103.8794   22311109.2354
+     -3220.5014      -2509.4884
+  22310424.6434  -10274620.67149  -7797079.73347  22310424.2374   22310428.6014
+       756.1684        589.2254
+  20346707.7164  -25844840.86149 -20124108.70848  20346707.4264   20346709.7614
+      -382.9154       -298.3764
+  23265582.1154   -9431155.16449  -7333835.85046  23265582.4964   23265586.2854
+      3044.7444       2372.5134
+  20866881.0944  -21048853.57149 -16159158.59048  20866880.3224   20866883.8584
+       811.1164        632.0394
+  23340234.2634  -10364733.96049  -8055924.01346  23340233.3024   23340239.1404
+      2303.2244       1794.7314
+  22540447.6994  -11135282.68249  -8654989.41946  22540447.3604   22540452.6984
+      2616.1284       2038.5444
+ 05  1 20  5 43  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22934704.2794   -9041710.44349  -7024567.58046  22934704.8274   22934709.4094
+     -3483.6334      -2714.5204
+  21567683.8614  -20500036.86049 -15955859.28947  21567683.6304   21567687.6514
+     -2350.7244      -1831.7354
+  22329516.3414  -11500399.77249  -8941026.68846  22329515.7034   22329521.0854
+     -3229.9284      -2516.8224
+  22306161.4624  -10297027.65149  -7814539.71947  22306160.4584   22306165.2514
+       737.5714        574.7264
+  20348937.3264  -25833126.90949 -20114980.95948  20348936.8654   20348938.6104
+      -398.0084       -310.1374
+  23248223.8204   -9522378.16549  -7404918.69946  23248223.2114   23248227.5354
+      3036.7754       2366.3154
+  20862271.3834  -21073077.65049 -16178034.49648  20862270.6104   20862274.1594
+       803.8364        626.3624
+  23327095.7424  -10433781.17749  -8109727.02646  23327095.0494   23327100.2344
+      2299.9314       1792.1434
+  22525544.3054  -11213603.41049  -8716018.56146  22525544.4044   22525548.3984
+      2605.2594       2030.0694
+ 05  1 20  5 43 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22954609.6044   -8937100.00549  -6943052.93446  22954610.6754   22954615.9464
+     -3490.3994      -2719.8044
+  21581140.2544  -20429324.94049 -15900759.10447  21581139.3844   21581143.1134
+     -2363.4204      -1841.6304
+  22347981.7504  -11403362.85449  -8865413.51247  22347981.1264   22347987.6834
+     -3239.2384      -2524.0874
+  22302002.4294  -10318876.49349  -7831564.78747  22302001.8884   22302008.4804
+       718.9714        560.2324
+  20351251.8604  -25820960.57349 -20105500.69548  20351251.7634   20351253.8624
+      -413.1074       -321.9014
+  23230909.5414   -9613361.16249  -7475814.48946  23230909.1114   23230913.7134
+      3028.7314       2360.0394
+  20857702.3004  -21097083.79949 -16196740.58248  20857702.1204   20857705.9994
+       796.5444        620.6844
+  23313974.6134  -10502729.32949  -8163452.86146  23313974.4384   23313979.2974
+      2296.6084       1789.5664
+  22510701.5314  -11291596.65949  -8776792.50246  22510701.2134   22510706.2104
+      2594.2944       2021.5254
+ 05  1 20  5 44  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22974555.3524   -8832287.28249  -6861380.72846  22974557.0274   22974562.0344
+     -3497.0864      -2725.0044
+  21594667.6844  -20358232.74149 -15845362.60247  21594667.3324   21594671.9034
+     -2376.0334      -1851.4514
+  22366500.9044  -11306048.79249  -8789584.40647  22366500.6544   22366505.6314
+     -3248.3704      -2531.2014
+  22297953.2024  -10340165.81849  -7848153.86447  22297951.5844   22297957.0874
+       700.3154        545.7014
+  20353653.5924  -25808341.33249 -20095667.51848  20353653.0764   20353655.0954
+      -428.1874       -333.6504
+  23213642.3214   -9704102.42449  -7546521.94246  23213642.1914   23213647.3334
+      3020.6704       2353.7704
+  20853175.6464  -21120871.94549 -16215276.80048  20853175.5464   20853179.3204
+       789.3114        615.0444
+  23300872.8554  -10571578.51749  -8217101.59146  23300871.2544   23300878.1924
+      2293.3344       1787.0154
+  22495922.8454  -11369259.15749  -8837308.71946  22495923.6444   22495928.0824
+      2583.2014       2012.8804
+ 05  1 20  5 44 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  22994540.7984   -8727275.02749  -6779552.99746  22994540.5644   22994544.5154
+     -3503.7104      -2730.1674
+  21608267.5864  -20286761.26049 -15789670.55147  21608267.8824   21608272.7954
+     -2388.6964      -1861.3224
+  22385071.2484  -11208460.82049  -8713541.82247  22385070.7994   22385075.9014
+     -3257.4964      -2538.3094
+  22294007.7034  -10360894.33249  -7864305.96347  22294007.1484   22294012.0314
+       681.5914        531.1114
+  20356140.8634  -25795268.42349 -20085480.84148  20356140.8124   20356142.9344
+      -443.3334       -345.4524
+  23196418.9544   -9794600.67949  -7617040.05046  23196419.9314   23196423.8954
+      3012.5644       2347.4544
+  20848690.5374  -21144442.08549 -16233643.14148  20848690.1824   20848693.9964
+       782.0394        609.3834
+  23287792.1714  -10640328.80149  -8270673.23046  23287791.2114   23287795.8744
+      2290.0044       1784.4234
+  22481208.3474  -11446587.83349  -8897564.84346  22481208.1454   22481212.4354
+      2572.0444       2004.1974
+ 05  1 20  5 45  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23014561.3064   -8622065.85149  -6697571.80746  23014561.0834   23014565.1564
+     -3510.2324      -2735.2524
+  21621940.9374  -20214911.31149 -15733683.59447  21621940.7774   21621944.3644
+     -2401.2804      -1871.1254
+  22403693.1804  -11110602.30849  -8637288.43547  22403692.1934   22403697.7564
+     -3266.4144      -2545.2564
+  22290170.0934  -10381060.88949  -7880020.15347  22290169.0434   22290174.2344
+       662.8284        516.4814
+  20358714.4544  -25781741.22649 -20074940.15748  20358714.6114   20358717.1654
+      -458.4864       -357.2614
+  23179245.9884   -9884854.62449  -7687367.78046  23179245.2134   23179250.6314
+      3004.3734       2341.0754
+  20844247.2684  -21167794.50149 -16251839.82648  20844246.2834   20844250.3764
+       774.7794        603.7234
+  23274729.5084  -10708980.09449  -8324167.74846  23274726.7944   23274731.8904
+      2286.7284       1781.8564
+  22466558.1554  -11523579.51149  -8957558.36346  22466557.8974   22466561.9604
+      2560.7854       1995.4244
+ 05  1 20  5 45 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23034618.3344   -8516662.41649  -6615439.28246  23034618.6834   23034623.1504
+     -3516.6504      -2740.2424
+  21635685.0864  -20142684.40549 -15677402.92247  21635684.8834   21635688.9654
+     -2413.8124      -1880.8914
+  22422365.9154  -11012476.57649  -8560826.86647  22422365.0284   22422370.8274
+     -3275.2704      -2552.1504
+  22286440.4644  -10400663.84849  -7895295.18247  22286439.1694   22286442.9704
+       644.0234        501.8314
+  20361375.7804  -25767759.37249 -20064045.22748  20361375.7524   20361377.6784
+      -473.6524       -369.0744
+  23162116.5984   -9974862.58749  -7757503.82946  23162117.8064   23162122.0484
+      2996.1634       2334.6734
+  20839845.4204  -21190928.94449 -16269866.66248  20839844.4864   20839847.9034
+       767.5234        598.0724
+  23261681.6044  -10777532.67149  -8377585.35046  23261680.8454   23261686.3544
+      2283.4344       1779.3194
+  22451970.1544  -11600231.18349  -9017286.91246  22451970.8784   22451975.5554
+      2549.4194       1986.5684
+ 05  1 20  5 46  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23054712.8194   -8411067.67549  -6533157.66246  23054712.9504   23054716.7774
+     -3522.9564      -2745.1554
+  21649502.0774  -20070080.92649 -15620828.79047  21649501.2754   21649505.4184
+     -2426.3804      -1890.6854
+  22441087.8514  -10914087.10949  -8484159.74746  22441087.3474   22441092.9544
+     -3284.0164      -2558.9724
+  22282816.0984  -10419702.13049  -7910130.21947  22282815.9854   22282821.2674
+       625.1604        487.1344
+  20364122.8944  -25753321.89149 -20052795.24348  20364122.9494   20364124.9644
+      -488.8564       -380.9274
+  23145036.1464  -10064623.48749  -7827447.37346  23145036.1284   23145042.0934
+      2987.9244       2328.2564
+  20835483.2494  -21213845.52849 -16287723.73548  20835483.2474   20835487.2034
+       760.2544        592.4024
+  23248655.4544  -10845986.38149  -8430925.89146  23248655.6614   23248659.7024
+      2280.1374       1776.7424
+  22437450.0824  -11676539.67049  -9076748.04646  22437450.1214   22437454.0474
+      2537.8864       1977.5694
+ 05  1 20  5 46 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23074842.7254   -8305284.29349  -6450729.03546  23074842.6404   23074847.2124
+     -3529.2104      -2750.0344
+  21663388.7024  -19997102.30549 -15563962.35247  21663388.3744   21663392.3994
+     -2438.8504      -1900.4004
+  22459859.4204  -10815437.13849  -8407289.64246  22459859.4914   22459865.8244
+     -3292.6234      -2565.6624
+  22279301.9794  -10438174.43949  -7924524.22647  22279301.3794   22279305.8244
+       606.3044        472.4474
+  20366958.0034  -25738428.35149 -20041189.87748  20366957.5074   20366959.2164
+      -504.0614       -392.7744
+  23128003.8224  -10154136.04149  -7897197.41646  23128003.2424   23128008.0584
+      2979.6024       2321.7664
+  20831164.2724  -21236544.29149 -16305411.07148  20831163.7174   20831167.8224
+       753.0074        586.7614
+  23235648.4134  -10914341.09549  -8484189.28546  23235646.9184   23235653.1904
+      2276.8464       1774.1634
+  22422994.9514  -11752501.96449  -9135939.44246  22422994.8074   22422998.8894
+      2526.3164       1968.5634
+ 05  1 20  5 47  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23095007.4074   -8199314.94249  -6368155.54346  23095007.0284   23095013.0174
+     -3535.3744      -2754.8404
+  21677347.9964  -19923749.28249 -15506804.16547  21677347.4524   21677351.3194
+     -2451.3144      -1910.1114
+  22478682.4914  -10716529.86649  -8330219.03347  22478682.4374   22478687.3614
+     -3301.1804      -2572.3424
+  22275893.9774  -10456079.49749  -7938476.20847  22275893.2754   22275898.8784
+       587.3394        457.6654
+  20369878.4094  -25723078.18549 -20029228.70848  20369878.1454   20369880.4954
+      -519.3124       -404.6564
+  23111016.6004  -10243398.63649  -7966752.65746  23111016.4954   23111021.5494
+      2971.2254       2315.2414
+  20826886.2534  -21259025.07949 -16322928.57148  20826885.8484   20826889.6784
+       745.7194        581.0794
+  23222658.9874  -10982596.95449  -8537375.66846  23222658.3424   23222664.2234
+      2273.5434       1771.5934
+  22408606.3204  -11828114.91049  -9194858.62546  22408606.8154   22408610.5314
+      2514.6134       1959.4384
+ 05  1 20  5 47 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23115207.0724   -8093162.30949  -6285439.25046  23115206.6094   23115212.8504
+     -3541.3924      -2759.5304
+  21691377.1904  -19850022.69349 -15449354.90447  21691377.1984   21691380.9974
+     -2463.7974      -1919.8404
+  22497551.7424  -10617368.34549  -8252950.31346  22497551.1064   22497556.5914
+     -3309.6134      -2578.9184
+  22272596.2634  -10473415.83349  -7951985.04347  22272595.0524   22272600.0524
+       568.3894        442.9004
+  20372886.5684  -25707270.77049 -20016911.23648  20372886.2814   20372888.4064
+      -534.5584       -416.5444
+  23094079.9774  -10332410.00649  -8036112.14646  23094079.5904   23094083.5774
+      2962.8074       2308.6834
+  20822649.6684  -21281288.08649 -16340276.36448  20822649.0594   20822653.1614
+       738.4514        575.4134
+  23209689.3374  -11050754.01449  -8590485.05846  23209689.8884   23209694.4094
+      2270.2584       1769.0274
+  22394283.8984  -11903375.54549  -9253503.26646  22394284.3404   22394289.5574
+      2502.8034       1950.2294
+ 05  1 20  5 48  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23135443.1064   -7986828.89949  -6202582.04346  23135442.1714   23135446.8064
+     -3547.4364      -2764.2374
+  21705478.2994  -19775923.62949 -15391615.38847  21705477.6174   21705481.4824
+     -2476.1444      -1929.4584
+  22516469.5204  -10517956.27449  -8175486.41346  22516469.1154   22516475.2494
+     -3317.8944      -2585.3694
+  22269404.1304  -10490182.51349  -7965049.98047  22269403.6864   22269409.0424
+       549.4004        428.1054
+  20375981.4884  -25691005.65049 -20004237.11248  20375981.5574   20375983.6164
+      -549.8104       -428.4194
+  23077187.4624  -10421168.78649  -8105274.83546  23077188.0314   23077193.2094
+      2954.3924       2302.1344
+  20818454.2694  -21303333.21749 -16357454.38548  20818454.0434   20818458.1144
+       731.2054        569.7714
+  23196738.2894  -11118812.30049  -8643517.48446  23196737.4774   23196743.0064
+      2266.9674       1766.4684
+  22380028.5524  -11978280.70049  -9311870.91146  22380030.0224   22380035.1894
+      2490.8964       1940.9574
+ 05  1 20  5 48 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23155709.5464   -7880317.43849  -6119586.08646  23155712.1204   23155714.3344
+     -3553.3134      -2768.8294
+  21719649.3624  -19701452.93749 -15333586.30647  21719649.0214   21719653.0164
+     -2488.5204      -1939.1114
+  22535434.5764  -10418296.83949  -8097829.72846  22535433.3374   22535439.5264
+     -3326.0674      -2591.7374
+  22266323.2154  -10506378.43749  -7977670.18047  22266322.3934   22266326.7554
+       530.3634        413.2674
+  20379163.9854  -25674282.12249 -19991205.79348  20379163.8264   20379165.8794
+      -565.0954       -440.3334
+  23060345.0684  -10509673.95149  -8174239.87646  23060345.9784   23060351.5734
+      2945.9334       2295.5314
+  20814300.3524  -21325160.50849 -16374462.65648  20814300.2134   20814304.3314
+       723.9654        564.1304
+  23183805.3704  -11186771.71649  -8696472.86846  23183804.9764   23183811.9354
+      2263.6744       1763.9054
+  22365845.1394  -12052827.33849  -9369959.16447  22365845.2354   22365849.6874
+      2478.9294       1931.6294
+ 05  1 20  5 49  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23176014.3854   -7773630.82349  -6036453.62946  23176012.9064   23176017.4134
+     -3559.0974      -2773.3324
+  21733890.9274  -19626611.84049 -15275268.57847  21733890.3914   21733894.7654
+     -2500.8644      -1948.7274
+  22554446.1904  -10318393.19449  -8019982.73046  22554444.8764   22554449.7514
+     -3334.1524      -2598.0534
+  22263349.4564  -10522002.17649  -7989844.51847  22263349.1604   22263354.5814
+       511.2494        398.3694
+  20382433.3704  -25657099.79749 -19977816.97948  20382433.2854   20382435.6614
+      -580.3944       -452.2564
+  23043553.4334  -10597924.04549  -8243006.17846  23043553.5584   23043557.3634
+      2937.4004       2288.8924
+  20810189.0854  -21346769.97149 -16391301.19848  20810188.4364   20810192.4204
+       716.6754        558.4464
+  23170892.6144  -11254632.24149  -8749351.19846  23170892.2924   23170897.4674
+      2260.3604       1761.3194
+  22351727.1334  -12127012.43949  -9427765.71247  22351727.5524   22351732.8124
+      2466.7984       1922.1874
+ 05  1 20  5 49 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23196346.3794   -7666771.61949  -5953186.75046  23196346.1854   23196351.8754
+     -3564.8504      -2777.8024
+  21748202.9404  -19551401.52449 -15216663.15647  21748202.1024   21748206.9214
+     -2513.1674      -1958.3124
+  22573500.3154  -10218248.92349  -7941948.24446  22573501.4344   22573506.8504
+     -3342.1324      -2604.2604
+  22260486.0184  -10537052.63649  -8001572.14747  22260486.0634   22260490.0914
+       492.1174        383.4724
+  20385790.1294  -25639458.16449 -19964070.25548  20385790.2944   20385792.8494
+      -595.7144       -464.1914
+  23026807.6064  -10685917.77449  -8311572.70546  23026807.5574   23026813.8874
+      2928.8514       2282.2154
+  20806118.4284  -21368161.58949 -16407969.99548  20806117.8454   20806121.8764
+       709.4384        552.8104
+  23157998.0884  -11322393.91649  -8802152.51346  23157997.1524   23158003.0484
+      2257.0744       1758.7624
+  22337678.9134  -12200832.88049  -9485288.12647  22337680.1264   22337684.4194
+      2454.6004       1912.6804
+ 05  1 20  5 50  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23216714.7724   -7559742.37849  -5869787.36946  23216714.1214   23216719.6574
+     -3570.4484      -2782.1564
+  21762585.3764  -19475822.91249 -15157770.75747  21762585.2464   21762588.1574
+     -2525.4114      -1967.8524
+  22592605.5324  -10117867.15449  -7863728.68846  22592603.9484   22592608.8384
+     -3349.9894      -2610.3814
+  22257731.5444  -10551528.63349  -8012852.12947  22257730.1824   22257736.4144
+       472.9714        368.5514
+  20389234.8914  -25621356.83149 -19949965.32348  20389235.0534   20389237.2144
+      -611.0414       -476.1364
+  23010111.0994  -10773653.94049  -8379938.53146  23010111.6674   23010117.5374
+      2920.2414       2275.4994
+  20802089.0584  -21389335.29849 -16424468.99248  20802088.9564   20802092.5654
+       702.1594        547.1364
+  23145122.2574  -11390056.65249  -8854876.70846  23145122.0524   23145126.4384
+      2253.7864       1756.1904
+  22323702.7824  -12274285.64749  -9542524.04747  22323702.3304   22323707.0444
+      2442.2644       1903.0584
+ 05  1 20  5 50 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23237112.8624   -7452545.72949  -5786257.53646  23237113.1104   23237118.4594
+     -3575.9874      -2786.4844
+  21777037.8044  -19399876.99849 -15098592.13347  21777037.0574   21777041.0984
+     -2537.6174      -1977.3584
+  22611752.8194  -10017251.18149  -7785326.63746  22611750.5304   22611755.2144
+     -3357.7434      -2616.4204
+  22255084.7824  -10565429.24549  -8023683.78447  22255084.9444   22255090.4674
+       453.7054        353.5364
+  20392767.3544  -25602795.23849 -19935501.75048  20392767.2044   20392769.3784
+      -626.4024       -488.1024
+  22993467.1924  -10861131.14149  -8448102.58346  22993466.9044   22993470.1704
+      2911.5764       2268.7614
+  20798101.7534  -21410291.10649 -16440798.19048  20798100.8304   20798104.9164
+       694.9024        541.4844
+  23132264.5474  -11457620.59949  -8907523.92346  23132264.5034   23132269.3124
+      2250.4734       1753.6154
+  22309795.5354  -12347367.82049  -9599471.17347  22309795.4784   22309800.5584
+      2429.8964       1893.4384
+ 05  1 20  5 51  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23257544.4094   -7345184.49249  -5702599.42946  23257543.7804   23257548.6014
+     -3581.4124      -2790.6984
+  21791558.8134  -19323565.10649 -15039128.33847  21791558.5534   21791562.5704
+     -2549.8454      -1986.8954
+  22630941.2284   -9916404.59249  -7706744.89846  22630940.3334   22630946.3674
+     -3365.3704      -2622.3624
+  22252550.3704  -10578753.61549  -8034066.39947  22252549.8194   22252554.5054
+       434.5284        338.5964
+  20396387.1894  -25583772.97149 -19920679.21148  20396387.0874   20396389.4104
+      -641.7644       -500.0744
+  22976869.3314  -10948347.97649  -8516063.75846  22976869.8244   22976874.5094
+      2902.8684       2261.9804
+  20794154.9384  -21431028.99549 -16456957.59048  20794154.7414   20794158.8104
+       687.6364        535.8254
+  23119426.6284  -11525085.68949  -8960094.12446  23119426.8444   23119432.2324
+      2247.1764       1751.0534
+  22295958.8264  -12420076.20349  -9656127.04847  22295959.4214   22295963.7834
+      2417.3664       1883.6654
+ 05  1 20  5 51 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23278003.0114   -7237661.23149  -5618815.09246  23278003.9804   23278008.5404
+     -3586.7384      -2794.8664
+  21806150.2474  -19246888.15449 -14979380.09647  21806149.8364   21806154.5844
+     -2561.9734      -1996.3414
+  22650174.6124   -9815330.50049  -7627985.86346  22650173.9114   22650180.4224
+     -3372.9154      -2628.2514
+  22250124.8424  -10591500.69449  -8043999.18047  22250123.5734   22250129.2634
+       415.2704        323.5834
+  20400094.5174  -25564289.39249 -19905497.20048  20400094.5224   20400096.9614
+      -657.1494       -512.0664
+  22960321.4874  -11035303.42749  -8583821.23546  22960322.4744   22960326.8924
+      2894.1624       2255.2014
+  20790250.1024  -21451548.96749 -16472947.17648  20790249.4884   20790253.7534
+       680.3554        530.1484
+  23106608.1554  -11592451.94149  -9012587.30846  23106607.0894   23106612.5724
+      2243.8944       1748.4984
+  22282195.2424  -12492407.95649  -9712489.43847  22282195.6624   22282200.5844
+      2404.7674       1873.8474
+ 05  1 20  5 52  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23298495.0554   -7129978.54249  -5534906.51246  23298496.1694   23298500.5184
+     -3592.0324      -2798.9874
+  21820810.5234  -19169847.13349 -14919348.15347  21820810.3524   21820814.0434
+     -2574.0614      -2005.7634
+  22669450.7984   -9714032.33349  -7549052.25346  22669450.7384   22669456.0694
+     -3380.2894      -2633.9674
+  22247808.3254  -10603669.30149  -8053481.22747  22247807.6914   22247813.0664
+       395.9884        308.5604
+  20403890.0404  -25544344.17249 -19889955.49048  20403889.9584   20403892.1964
+      -672.5224       -524.0434
+  22943827.0754  -11121996.47749  -8651374.25246  22943826.0374   22943830.1324
+      2885.3834       2248.3574
+  20786386.6924  -21471850.94549 -16488766.90248  20786386.3994   20786390.2634
+       673.1114        524.5064
+  23093807.1264  -11659719.34649  -9065003.45946  23093807.0984   23093811.6234
+      2240.6074       1745.9384
+  22268504.0034  -12564360.00249  -9768555.94547  22268503.5074   22268508.6474
+      2392.0594       1863.9434
+ 05  1 20  5 52 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23319018.0334   -7022139.15349  -5450875.79546  23319017.3624   23319021.7954
+     -3597.2554      -2803.0524
+  21835538.8364  -19092443.58449 -14859033.71747  21835539.3864   21835544.3254
+     -2586.1434      -2015.1694
+  22688770.2504   -9612513.16449  -7469946.40446  22688768.7504   22688775.3294
+     -3387.6014      -2639.6914
+  22245604.0674  -10615258.70249  -8062511.91047  22245603.1504   22245608.2734
+       376.6684        293.5014
+  20407773.5194  -25523936.97749 -19874053.79048  20407773.5074   20407775.6334
+      -687.9464       -536.0624
+  22927379.0174  -11208425.40149  -8718721.45446  22927378.5814   22927382.6954
+      2876.5704       2241.4994
+  20782565.0874  -21491934.88949 -16504416.72548  20782564.5624   20782568.2984
+       665.8164        518.8184
+  23081024.9114  -11726887.76849  -9117342.47246  23081025.1994   23081029.8614
+      2237.3084       1743.3454
+  22254882.8514  -12635929.32749  -9824324.24247  22254883.8944   22254888.7924
+      2379.2484       1853.9644
+ 05  1 20  5 53  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23339567.5604   -6914145.55349  -5366724.96246  23339568.3984   23339572.5204
+     -3602.2994      -2806.9804
+  21850338.5244  -19014678.40849 -14798437.49047  21850338.0344   21850342.1194
+     -2598.1954      -2024.5664
+  22708129.6054   -9510776.22749  -7390670.89746  22708128.6504   22708134.8134
+     -3394.8384      -2645.3424
+  22243509.3904  -10626267.80849  -8071090.44447  22243508.1464   22243513.3694
+       357.2824        278.4004
+  20411745.0884  -25503067.31049 -19857791.72448  20411745.0364   20411747.0854
+      -703.3634       -548.0744
+  22910980.8684  -11294589.31549  -8785862.16346  22910981.4514   22910985.5724
+      2867.6884       2234.5724
+  20778785.0694  -21511800.52749 -16519896.44848  20778784.3334   20778788.0584
+       658.5554        513.1614
+  23068262.9134  -11793957.26149  -9169604.41646  23068261.6694   23068267.1904
+      2233.9984       1740.7734
+  22241338.0904  -12707113.00749  -9879792.01647  22241338.2784   22241342.2804
+      2366.3754       1843.9274
+ 05  1 20  5 53 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23360148.2084   -6806000.36849  -5282455.99046  23360147.4784   23360151.5914
+     -3607.3324      -2810.9034
+  21865204.5524  -18936552.48649 -14737560.17147  21865204.1734   21865208.7854
+     -2610.1974      -2033.9214
+  22727530.6734   -9408825.04749  -7311228.44846  22727530.7384   22727535.7124
+     -3401.9134      -2650.8294
+  22241524.5014  -10636695.74949  -8079216.11147  22241523.9894   22241528.2604
+       337.8794        263.2774
+  20415804.0604  -25481734.87249 -19841169.04748  20415804.3354   20415806.5434
+      -718.8074       -560.1084
+  22894636.3034  -11380486.86949  -8852795.32146  22894635.3684   22894641.1394
+      2858.7994       2227.6474
+  20775046.0304  -21531448.18449 -16535206.30948  20775045.6314   20775049.2604
+       651.2804        507.4914
+  23055517.4164  -11860927.73649  -9221789.19046  23055517.1904   23055523.2394
+      2230.6784       1738.1864
+  22227867.2094  -12777908.02949  -9934956.95747  22227866.7594   22227871.4114
+      2353.3184       1833.7544
+ 05  1 20  5 54  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23380755.2234   -6697706.22949  -5198070.97446  23380755.7114   23380758.8084
+     -3612.2204      -2814.7124
+  21880139.9424  -18858067.25449 -14676402.86647  21880139.3424   21880143.8664
+     -2622.1414      -2043.2244
+  22746972.0004   -9306663.06249  -7231621.73346  22746970.5704   22746976.6484
+     -3408.8524      -2656.2414
+  22239650.9234  -10646541.75249  -8086888.31747  22239650.1884   22239655.3064
+       318.4874        248.1744
+  20419951.8304  -25459939.13749 -19824185.36848  20419951.6864   20419954.0294
+      -734.2354       -572.1314
+  22878341.1874  -11466116.65649  -8919519.78646  22878341.1844   22878345.7354
+      2849.8754       2220.6824
+  20771348.4474  -21550877.62449 -16550346.13248  20771348.0024   20771352.1004
+       644.0314        501.8434
+  23042794.6004  -11927799.28649  -9273896.87446  23042792.8994   23042798.2824
+      2227.3954       1735.6354
+  22214468.4204  -12848311.44249  -9989816.74047  22214468.7624   22214473.9234
+      2340.2734       1823.5984
+ 05  1 20  5 54 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23401390.8104   -6589265.53949  -5113571.74346  23401389.9334   23401394.6684
+     -3617.1454      -2818.5434
+  21895143.6384  -18779223.83349 -14614966.44447  21895143.3494   21895147.1264
+     -2634.0564      -2052.5084
+  22766451.2364   -9204293.39149  -7151853.17446  22766450.8974   22766456.5904
+     -3415.7344      -2661.6034
+  22237887.5094  -10655804.79349  -8094106.26347  22237887.6484   22237892.8324
+       299.0474        233.0214
+  20424188.1214  -25437679.82549 -19806840.45948  20424187.8294   20424189.9264
+      -749.6934       -584.1764
+  22862098.1274  -11551477.56949  -8986034.79246  22862098.3194   22862101.7714
+      2840.8824       2213.6784
+  20767692.9744  -21570089.01949 -16565316.04748  20767692.4264   20767696.3434
+       636.7444        496.1624
+  23030087.5774  -11994571.78949  -9325927.41146  23030087.1584   23030092.1024
+      2224.0764       1733.0594
+  22201146.7314  -12918320.26549 -10044369.02947  22201147.9104   22201151.3874
+      2327.0094       1813.2494
+ 05  1 20  5 55  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23422053.6164   -6480680.84549  -5028960.29245  23422052.8784   23422056.8944
+     -3621.8884      -2822.2484
+  21910214.9154  -18700023.24549 -14553251.71847  21910214.4834   21910219.2844
+     -2645.9524      -2061.7864
+  22785970.2284   -9101719.37249  -7071925.35246  22785969.7034   22785975.4064
+     -3422.4924      -2666.8874
+  22236236.0644  -10664484.04849  -8100869.32947  22236235.3954   22236241.2654
+       279.5714        217.8504
+  20428512.2304  -25414956.74949 -19789134.18948  20428512.0684   20428513.9504
+      -765.1614       -596.2314
+  22845903.5384  -11636568.84949  -9052339.66646  22845904.6994   22845910.1244
+      2831.8554       2206.6434
+  20764078.5684  -21589082.18349 -16580115.92148  20764078.0984   20764082.0304
+       629.4584        490.4854
+  23017399.1624  -12061245.32649  -9377880.80146  23017397.9854   23017403.3004
+      2220.7804       1730.4664
+  22187899.4354  -12987931.63449 -10098611.64947  22187900.1774   22187904.6954
+      2313.7354       1802.9114
+ 05  1 20  5 55 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23442743.9204   -6371954.70849  -4944238.64845  23442743.3884   23442747.0914
+     -3626.5314      -2825.8644
+  21925353.9664  -18620466.75049 -14491259.65747  21925353.1294   21925357.6354
+     -2657.8074      -2071.0214
+  22805526.8524   -8998944.46849  -6991840.99646  22805526.2814   22805533.4004
+     -3429.1454      -2672.0774
+  22234696.5174  -10672578.73049  -8107176.87647  22234695.9324   22234700.8974
+       260.0574        202.6354
+  20432924.0794  -25391769.53149 -19771066.23348  20432924.0054   20432926.1984
+      -780.6544       -608.3014
+  22829764.9384  -11721388.92049  -9118433.22246  22829764.2214   22829768.9034
+      2822.7924       2199.5714
+  20760505.9564  -21607857.01149 -16594745.65648  20760505.2664   20760509.0454
+       622.1734        484.8074
+  23004730.7724  -12127819.76849  -9429756.98446  23004730.0614   23004736.1264
+      2217.5034       1727.9194
+  22174728.9984  -13057142.54849 -10152542.20147  22174729.5414   22174734.0814
+      2300.3404       1792.4794
+ 05  1 20  5 56  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23463461.6014   -6263089.92449  -4859408.95445  23463459.9124   23463463.3284
+     -3631.1364      -2829.4624
+  21940560.6614  -18540555.13849 -14428990.89247  21940560.3324   21940564.6034
+     -2669.6134      -2080.2164
+  22825123.3714   -8895971.87749  -6911602.65346  22825122.5724   22825128.4044
+     -3435.6674      -2677.1434
+  22233267.8834  -10680087.87049  -8113028.13947  22233267.2804   22233271.2844
+       240.5284        187.4284
+  20437425.2574  -25368117.73449 -19752636.27648  20437424.9044   20437427.0964
+      -796.1394       -620.3644
+  22813675.9474  -11805936.69649  -9184314.60146  22813675.9074   22813679.8834
+      2813.6774       2192.4884
+  20756974.5324  -21626413.50949 -16609205.26448  20756974.0434   20756977.8304
+       614.9004        479.1434
+  22992081.6244  -12194295.03249  -9481555.89346  22992081.0244   22992085.2904
+      2214.1744       1725.3264
+  22161635.3924  -13125950.01849 -10206158.38547  22161636.2344   22161640.9434
+      2286.8184       1781.9334
+ 05  1 20  5 56 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23484203.2924   -6154088.94749  -4774473.11246  23484202.1034   23484206.6844
+     -3635.6014      -2832.9424
+  21955835.3284  -18460290.30949 -14366446.87247  21955834.4214   21955838.9034
+     -2681.3694      -2089.3834
+  22844756.5244   -8792804.93049  -6831212.83346  22844754.3684   22844760.2714
+     -3442.1224      -2682.1754
+  22231949.3034  -10687010.71849  -8118422.57247  22231948.4204   22231954.2724
+       220.9934        172.2024
+  20442014.7914  -25344000.92149 -19733843.97048  20442014.3644   20442016.4984
+      -811.6414       -632.4444
+  22797638.7664  -11890210.74149  -9249982.69646  22797638.8534   22797643.6574
+      2804.5714       2185.3884
+  20753485.1224  -21644751.67449 -16623494.74448  20753484.6214   20753488.2224
+       607.6144        473.4664
+  22979449.4684  -12260671.22449  -9533277.59646  22979448.8144   22979455.0104
+      2210.8634       1722.7474
+  22148620.1354  -13194351.26949 -10259458.03947  22148619.9744   22148624.2244
+      2273.2594       1771.3704
+ 05  1 20  5 57  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23504969.8794   -6044954.18249  -4689433.03046  23504969.8404   23504973.9934
+     -3639.9974      -2836.3714
+  21971175.3524  -18379673.11549 -14303628.31447  21971175.1634   21971179.3124
+     -2693.0884      -2098.5114
+  22864424.3694   -8689446.91749  -6750674.13246  22864422.8194   22864428.6214
+     -3448.4054      -2687.0744
+  22230743.9854  -10693346.63649  -8123359.65147  22230743.9584   22230748.6214
+       201.4114        156.9414
+  20446692.3074  -25319419.08149 -19714689.29448  20446692.2004   20446694.1784
+      -827.1364       -644.5194
+  22781654.3194  -11974210.35349  -9315436.93846  22781654.0944   22781659.5664
+      2795.4154       2178.2384
+  20750036.7394  -21662871.34249 -16637613.96548  20750036.5364   20750040.1284
+       600.3434        467.8024
+  22966839.1404  -12326948.27049  -9584922.03846  22966837.8174   22966842.7524
+      2207.6094       1720.2164
+  22135680.9684  -13262343.37849 -10312438.89747  22135681.0344   22135685.4574
+      2259.6114       1760.7284
+ 05  1 20  5 57 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23525763.1484   -5935688.34649  -4604290.80246  23525762.1994   23525766.5814
+     -3644.3894      -2839.7794
+  21986583.4494  -18298705.06849 -14240536.33947  21986583.1324   21986587.0834
+     -2704.7704      -2107.6034
+  22884127.5364   -8585901.03549  -6669989.05746  22884126.3094   22884132.9224
+     -3454.6774      -2691.9514
+  22229648.9364  -10699094.86449  -8127838.76947  22229649.0214   22229654.6974
+       181.8154        141.6704
+  20451458.4174  -25294371.94049 -19695172.06648  20451458.2114   20451460.5274
+      -842.6904       -656.6384
+  22765721.5364  -12057933.97349  -9380676.11146  22765722.0314   22765727.4254
+      2786.1824       2171.0474
+  20746630.6254  -21680772.40449 -16651562.84048  20746629.9694   20746633.7994
+       593.0554        462.1204
+  22954246.6304  -12393126.07049  -9636489.16246  22954244.7564   22954249.2374
+      2204.2614       1717.6114
+  22122820.7194  -13329923.42949 -10365098.64247  22122820.8424   22122825.7524
+      2245.7804       1749.9544
+ 05  1 20  5 58  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23546577.4554   -5826293.79349  -4519048.33845  23546579.0074   23546582.5204
+     -3648.6034      -2843.0714
+  22002056.5234  -18217387.30649 -14177171.86847  22002056.8174   22002061.8984
+     -2716.4344      -2116.7074
+  22903866.5174   -8482170.78149  -6589160.31446  22903866.6654   22903872.3294
+     -3460.6974      -2696.6424
+  22228668.5254  -10704254.61749  -8131859.35447  22228667.8794   22228672.5424
+       162.1834        126.3754
+  20456313.1984  -25268859.13549 -19675291.96248  20456313.1254   20456315.4884
+      -858.2034       -668.7314
+  22749843.4564  -12141380.63149  -9445699.48946  22749843.1314   22749847.3744
+      2776.9264       2163.8384
+  20743265.7484  -21698454.78949 -16665341.32248  20743265.2114   20743269.0604
+       585.7664        456.4384
+  22941670.3404  -12459204.57249  -9687978.90246  22941669.6664   22941675.1034
+      2200.9414       1715.0224
+  22110040.6614  -13397088.57649 -10417435.08047  22110040.1944   22110044.8694
+      2231.9214       1739.1514
+ 05  1 20  5 58 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23567420.3124   -5716773.07249  -4433707.52346  23567420.5504   23567424.8874
+     -3652.7424      -2846.2914
+  22017598.6664  -18135720.95649 -14113535.76247  22017598.2024   22017601.9084
+     -2728.0114      -2125.7174
+  22923640.3554   -8378259.46249  -6508190.45746  22923639.0414   22923645.5684
+     -3466.6664      -2701.2994
+  22227799.6054  -10708825.39949  -8135421.00547  22227798.9584   22227802.9864
+       142.5264        111.0684
+  20461257.0054  -25242880.53649 -19655048.91448  20461256.7794   20461259.1704
+      -873.7154       -680.8164
+  22734015.9604  -12224549.48849  -9510506.35746  22734015.7274   22734021.9754
+      2767.6184       2156.5774
+  20739942.1864  -21715918.50849 -16678949.41848  20739941.7954   20739946.0074
+       578.4864        450.7704
+  22929114.7884  -12525183.74449  -9739391.23746  22929114.0824   22929119.4044
+      2197.6604       1712.4584
+  22097337.8344  -13463835.93549 -10469445.98547  22097338.6104   22097343.0344
+      2217.9264       1728.2574
+ 05  1 20  5 59  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23588286.5464   -5607128.68449  -4348270.33946  23588285.3924   23588289.8064
+     -3656.8454      -2849.4894
+  22033205.1544  -18053707.01249 -14049628.80647  22033204.7084   22033208.7734
+     -2739.5894      -2134.7444
+  22943448.4474   -8274170.40049  -6427082.11446  22943447.8584   22943453.7444
+     -3472.5924      -2705.9134
+  22227040.6864  -10712806.58049  -8138523.21947  22227040.0284   22227045.4044
+       122.8784         95.7574
+  20466289.4844  -25216436.09149 -19634442.88648  20466289.1724   20466291.2644
+      -889.2594       -692.9294
+  22718242.5474  -12307438.84449  -9575095.47247  22718243.2804   22718247.2284
+      2758.2874       2149.3114
+  20736660.6334  -21733163.50449 -16692387.07748  20736660.2194   20736664.1114
+       571.1914        445.0844
+  22916578.2754  -12591063.53449  -9790726.13746  22916578.0714   22916582.8034
+      2194.3964       1709.9114
+  22084716.6344  -13530162.65149 -10521129.14947  22084717.3674   22084721.5974
+      2203.8274       1717.2704
+ 05  1 20  5 59 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23609173.9384   -5497363.07349  -4262738.68546  23609172.1914   23609176.6004
+     -3660.8634      -2852.6254
+  22048877.3154  -17971347.14649 -13985452.29747  22048877.0144   22048881.0514
+     -2751.0854      -2143.6984
+  22963289.9234   -8169906.66349  -6345837.66146  22963288.3444   22963294.7994
+     -3478.3314      -2710.3884
+  22226395.8034  -10716197.54249  -8141165.53047  22226395.3654   22226400.1574
+       103.1794         80.3944
+  20471409.9174  -25189525.15349 -19613473.32448  20471409.9834   20471412.4114
+      -904.8154       -705.0524
+  22702523.4964  -12390048.08449  -9639466.32246  22702523.2524   22702526.6824
+      2748.9254       2142.0274
+  20733420.3334  -21750189.60649 -16705654.16948  20733420.0634   20733424.0904
+       563.8774        439.3834
+  22904059.6374  -12656844.06649  -9841983.69746  22904059.6964   22904065.3484
+      2190.9984       1707.2554
+  22072176.4494  -13596065.87549 -10572482.26947  22072176.0754   22072180.9454
+      2189.7064       1706.2764
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20  6  0  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23630082.5324   -5387478.63649  -4177114.43446  23630082.5934   23630087.1084
+     -3664.7874      -2855.6744
+  22064616.4364  -17888642.94249 -13921007.49547  22064616.2384   22064619.9604
+     -2762.5294      -2152.6144
+  22983163.3054   -8065471.80649  -6264459.88246  22983162.2814   22983167.1284
+     -3483.9854      -2714.7814
+  22225862.6054  -10718997.82049  -8143347.56547  22225861.6084   22225867.3164
+        83.4654         65.0424
+  20476619.9584  -25162147.84049 -19592140.33648  20476619.7264   20476622.2124
+      -920.3444       -717.1494
+  22686857.2134  -12472376.02049  -9703617.94147  22686857.2564   22686861.3124
+      2739.5704       2134.7354
+  20730223.1434  -21766996.71149 -16718750.61748  20730222.2724   20730225.9714
+       556.5744        433.6954
+  22891563.1294  -12722525.21949  -9893163.81246  22891561.3844   22891566.4704
+      2187.6514       1704.6594
+  22059716.5594  -13661542.66249 -10623503.13447  22059716.0964   22059719.9954
+      2175.4864       1695.1804
+ 05  1 20  6  0 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23651014.2234   -5277477.89649  -4091399.58546  23651015.0164   23651019.8524
+     -3668.6124      -2858.6534
+  22080419.6294  -17805595.51149 -13856295.21247  22080419.1374   22080422.9334
+     -2773.9764      -2161.5404
+  23003067.2804   -7960868.82349  -6182951.09946  23003067.4604   23003071.9254
+     -3489.4964      -2719.0984
+  22225442.3634  -10721206.82449  -8145068.86047  22225441.9544   22225446.5284
+        63.7774         49.7074
+  20481918.2754  -25134303.79849 -19570443.66848  20481918.1694   20481920.3744
+      -935.8994       -729.2764
+  22671244.4454  -12554421.35049  -9767549.35347  22671244.3604   22671248.1464
+      2730.1414       2127.3814
+  20727065.8824  -21783584.73349 -16731676.33848  20727065.3434   20727069.2824
+       549.2904        428.0164
+  22879082.6154  -12788106.81949  -9944266.35146  22879082.3724   22879086.3114
+      2184.3894       1702.1284
+  22047337.9824  -13726590.45049 -10674189.70647  22047338.4674   22047342.8424
+      2161.1034       1683.9814
+ 05  1 20  6  1  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23671968.1524   -5167363.28749  -4005595.97646  23671969.4304   23671973.3434
+     -3672.3494      -2861.5744
+  22096286.7914  -17722205.62349 -13791316.08847  22096286.7204   22096291.7304
+     -2785.3644      -2170.4084
+  23023004.1324   -7856101.08749  -6101313.88746  23023004.1474   23023008.2234
+     -3494.9794      -2723.3594
+  22225134.5514  -10722824.04249  -8146329.01547  22225133.8054   22225139.5384
+        44.0454         34.3164
+  20487305.4994  -25105993.06549 -19548383.36748  20487305.7194   20487307.9714
+      -951.4874       -741.4184
+  22655684.4314  -12636182.89549  -9831259.65446  22655683.9764   22655689.4564
+      2720.6294       2119.9594
+  20723951.0804  -21799953.72649 -16744431.39748  20723950.6844   20723954.4834
+       541.9854        422.3274
+  22866620.2924  -12853588.92949  -9995291.36546  22866620.6434   22866625.4274
+      2181.0784       1699.5394
+  22035041.3274  -13791206.18649 -10724539.61047  22035041.5544   22035046.2314
+      2146.6394       1672.7114
+ 05  1 20  6  1 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23692943.7514   -5057137.35549  -3919705.64646  23692943.8264   23692948.8384
+     -3676.0514      -2864.4534
+  22112221.4344  -17638475.22549 -13726071.64047  22112220.7154   22112225.2104
+     -2796.6824      -2179.2294
+  23042969.9974   -7751172.12249  -6019551.05646  23042970.0774   23042975.4654
+     -3500.2764      -2727.4844
+  22224939.2674  -10723848.96749  -8147127.65947  22224939.3454   22224944.7864
+        24.2714         18.9144
+  20492781.9444  -25077215.58149 -19525959.38348  20492781.8744   20492784.1974
+      -967.0304       -753.5294
+  22640180.3534  -12717659.98249  -9894748.29747  22640180.0274   22640185.1094
+      2711.1244       2112.5594
+  20720877.8594  -21816103.47649 -16757015.61848  20720877.0854   20720881.2764
+       534.6604        416.6224
+  22854180.3774  -12918971.39749 -10046238.74446  22854179.3034   22854183.9094
+      2177.7464       1696.9444
+  22022827.6544  -13855387.13149 -10774550.73947  22022828.6764   22022833.1194
+      2132.1144       1661.3834
+ 05  1 20  6  2  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23713940.8384   -4946802.43049  -3833730.40246  23713940.5954   23713945.6984
+     -3679.6184      -2867.2324
+  22128219.9914  -17554405.50049 -13660562.76447  22128218.7234   22128222.4944
+     -2807.9504      -2188.0114
+  23062970.2784   -7646085.01749  -5937665.00646  23062969.1404   23062973.5174
+     -3505.5044      -2731.5664
+  22224855.8824  -10724280.99949  -8147464.29647  22224855.4274   22224862.4734
+         4.5054          3.5154
+  20498347.3344  -25047970.93349 -19503171.35348  20498347.2114   20498349.3024
+      -982.6084       -765.6694
+  22624731.0054  -12798851.15449  -9958014.14447  22624730.1074   22624734.5094
+      2701.5914       2105.1174
+  20717845.7094  -21832033.76749 -16769428.83248  20717845.7064   20717849.6744
+       527.3524        410.9244
+  22841758.0194  -12984254.19149 -10097108.45046  22841757.1614   22841761.3014
+      2174.4334       1694.3594
+  22010698.4124  -13919130.58749 -10824220.94247  22010698.5334   22010703.5424
+      2117.4764       1649.9774
+ 05  1 20  6  2 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23734955.2964   -4836360.95349  -3747672.11846  23734956.4704   23734961.1724
+     -3683.1564      -2869.9974
+  22144280.4054  -17469997.64849 -13594790.41247  22144280.9944   22144284.9404
+     -2819.2524      -2196.8294
+  23082996.6074   -7540843.16349  -5855658.37546  23082995.2054   23083001.1134
+     -3510.6284      -2735.5604
+  22224888.1584  -10724119.59849  -8147338.54147  22224887.7254   22224892.5144
+       -15.3024        -11.9234
+  20504000.7204  -25018259.28549 -19480019.43448  20504000.7954   20504003.2844
+      -998.2004       -777.8184
+  22609334.1914  -12879755.67449 -10021056.63947  22609334.0344   22609339.1424
+      2692.0154       2097.6714
+  20714856.4104  -21847744.69649 -16781671.11648  20714856.1954   20714860.2284
+       520.0194        405.2064
+  22829353.5244  -13049437.18349 -10147900.39046  22829353.0354   22829356.9544
+      2171.0874       1691.7474
+  21998652.2594  -13982433.81249 -10873548.12547  21998652.4034   21998656.8954
+      2102.7354       1638.4904
+ 05  1 20  6  3  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23755993.3254   -4725815.42949  -3661532.77246  23755992.0174   23755997.1654
+     -3686.5394      -2872.6224
+  22160408.2844  -17385253.07849 -13528755.68947  22160407.6574   22160411.4594
+     -2830.3834      -2205.4844
+  23103052.6284   -7435449.76249  -5773533.66946  23103051.1744   23103057.3074
+     -3515.6004      -2739.4244
+  22225031.6464  -10723364.48749  -8146750.14247  22225031.1844   22225035.8834
+       -35.0724        -27.3164
+  20509743.5474  -24988080.46249 -19456503.47648  20509743.4484   20509746.0444
+     -1013.7564       -789.9384
+  22593992.3404  -12960372.51549 -10083874.93647  22593993.7184   22593998.5014
+      2682.4294       2090.2034
+  20711909.0044  -21863236.05949 -16793742.30648  20711908.3384   20711912.4724
+       512.7034        399.5144
+  22816967.3784  -13114520.54949 -10198614.69546  22816966.9694   22816971.8174
+      2167.7624       1689.1664
+  21986689.7564  -14045293.92049 -10922530.01647  21986690.5224   21986695.3074
+      2087.9274       1626.9604
+ 05  1 20  6  3 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23777048.1984   -4615168.10749  -3575314.05746  23777048.4994   23777052.4034
+     -3689.9284      -2875.2654
+  22176598.2004  -17300173.10449 -13462459.59947  22176597.3064   22176601.5894
+     -2841.5914      -2214.2234
+  23123136.3994   -7329908.02949  -5691293.38446  23123135.4264   23123140.9054
+     -3520.5094      -2743.2634
+  22225288.6734  -10722015.18149  -8145698.71947  22225288.0434   22225293.0964
+       -54.8744        -42.7684
+  20515575.6454  -24957434.33049 -19432623.38848  20515575.5084   20515577.7294
+     -1029.3294       -802.0724
+  22578708.1804  -13040700.45649 -10146468.12747  22578708.5074   22578712.1884
+      2672.7644       2082.6714
+  20709002.9854  -21878507.63649 -16805642.23748  20709002.2474   20709006.1294
+       505.3704        393.7964
+  22804601.9064  -13179504.05649 -10249251.19646  22804601.3554   22804606.2054
+      2164.4454       1686.5824
+  21974814.0274  -14107708.29449 -10971164.57347  21974813.5324   21974817.9174
+      2073.0244       1615.3384
+ 05  1 20  6  4  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23798123.2684   -4504421.40649  -3489017.90746  23798122.7064   23798126.7934
+     -3693.1824      -2877.8064
+  22192851.2854  -17214759.26549 -13395903.35747  22192851.3304   22192856.1974
+     -2852.6594      -2222.8544
+  23143247.7184   -7224221.40849  -5608940.21046  23143245.9944   23143252.5414
+     -3525.2634      -2746.9514
+  22225658.3894  -10720071.35949  -8144184.05047  22225658.0494   22225663.4394
+       -74.7284        -58.2224
+  20521496.7784  -24926320.90249 -19408379.18248  20521496.4874   20521498.4254
+     -1044.9074       -814.2114
+  22563476.4844  -13120738.50549 -10208835.44247  22563477.5134   22563482.2124
+      2663.1004       2075.1444
+  20706138.3274  -21893559.54849 -16817370.99548  20706137.8774   20706141.9694
+       498.0644        388.0994
+  22792254.1744  -13244387.70249 -10299809.87646  22792254.1864   22792258.9584
+      2161.1164       1683.9884
+  21963021.5104  -14169674.15649 -11019449.65847  21963021.9554   21963026.1004
+      2058.0574       1603.6774
+ 05  1 20  6  4 30.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23819216.0234   -4393577.79949  -3402646.28046  23819215.7114   23819220.7834
+     -3696.3824      -2880.2944
+  22209168.2634  -17129012.84149 -13329087.98347  22209168.1244   22209172.6204
+     -2863.7404      -2231.4824
+  23163385.9354   -7118392.98349  -5526476.52446  23163384.8404   23163391.3924
+     -3529.9634      -2750.6314
+  22226141.8694  -10717532.63749  -8142205.82747  22226140.2334   22226146.6764
+       -94.5384        -73.6534
+  20527505.9714  -24894739.93249 -19383770.64748  20527505.8234   20527508.2094
+     -1060.5044       -826.3624
+  22548302.6004  -13200485.93449 -10270976.28247  22548301.7594   22548306.1904
+      2653.3864       2067.5814
+  20703315.7594  -21908391.56049 -16828928.40548  20703315.0864   20703319.4084
+       490.7234        382.3834
+  22779925.3104  -13309171.31149 -10350290.60946  22779925.6294   22779931.4534
+      2157.7554       1681.3754
+  21951315.9014  -14231188.79549 -11067383.12847  21951315.7394   21951320.5204
+      2042.9694       1591.9274
+ 05  1 20  6  5  0.0000000  0  9G 9G18G15G 5G22G25G14G 1G30
+  23840326.0864   -4282639.76249  -3316201.02946  23840326.3704   23840330.9394
+     -3699.4394      -2882.6824
+  22225547.7964  -17042935.03749 -13262014.36447  22225547.7844   22225552.1074
+     -2874.7564      -2240.0804
+  23183549.4564   -7012426.35149  -5443905.14646  23183549.8724   23183555.0904
+     -3534.4634      -2754.1304
+  22226738.5634  -10714398.62949  -8139763.73347  22226737.2734   22226741.5194
+      -114.3734        -89.1314
+  20533604.5114  -24862691.50449 -19358797.85348  20533604.5394   20533606.8874
+     -1076.0714       -838.4984
+  22533182.3364  -13279941.21649 -10332889.46047  22533182.6844   22533186.0924
+      2643.6304       2059.9594
+  20700535.0864  -21923003.30749 -16840314.18048  20700534.7844   20700538.6374
+       483.3654        376.6444
+  22767618.8394  -13373854.80149 -10400693.32046  22767617.8164   22767622.2744
+      2154.4444       1678.7724
+  21939697.3184  -14292249.53349 -11114962.92147  21939697.1844   21939701.0434
+      2027.7634       1580.0704
+ 05  1 20  6  5 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  23861455.9624   -4171609.37649  -3229683.85346  23861454.9244   23861459.3164
+     -3702.4914      -2885.0594
+  22241991.7554  -16956527.26449 -13194683.64147  22241991.1244   22241996.0294
+     -2885.7464      -2248.6324
+  23203739.1974   -6906324.56849  -5361228.43746  23203740.2604   23203745.2514
+     -3538.9054      -2757.5964
+  22227446.4724  -10710669.28949  -8136857.74647  22227446.2834   22227451.7834
+      -134.2604       -104.6164
+  24720307.8844    -101899.44449    -72510.89145
+      1233.9804        961.5434
+  20539791.6614  -24830175.79149 -19333460.94848  20539791.9114   20539794.1584
+     -1091.6404       -850.6294
+  22518117.8844  -13359103.64349 -10394574.47747  22518117.9744   22518122.0964
+      2633.8864       2052.3774
+  20697796.3614  -21937394.93649 -16851528.43748  20697796.0854   20697800.0574
+       476.0474        370.9434
+  22755328.0224  -13438438.30749 -10451018.12047  22755327.6944   22755332.2294
+      2151.1144       1676.1914
+  21928163.6924  -14352853.72249 -11162186.94947  21928163.5454   21928167.8954
+      2012.5154       1568.1824
+ 05  1 20  6  6  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  23882599.6644   -4060489.23849  -3143096.75346  23882599.7474   23882605.1164
+     -3705.4994      -2887.4054
+  22258496.5794  -16869791.08449 -13127097.02347  22258496.6374   22258500.5074
+     -2896.6494      -2257.1244
+  23223955.5834   -6800090.92149  -5278449.00846  23223955.5954   23223960.7204
+     -3543.2714      -2760.9704
+  22228270.5564  -10706344.26649  -8133487.59747  22228269.6884   22228275.0104
+      -154.0974       -120.0784
+  24713305.8484    -138685.04349   -101175.08745  24713305.4934   24713307.5534
+      1218.4134        949.4074
+  20546069.1694  -24797192.67649 -19307759.84648  20546068.8504   20546070.7734
+     -1107.2244       -862.7734
+  22503109.0104  -13437972.44449 -10456030.67147  22503109.6254   22503113.9904
+      2624.0494       2044.7114
+  20695099.5824  -21951566.31149 -16862571.06448  20695099.3634   20695103.6614
+       468.7094        365.2254
+  22743057.2594  -13502921.53449 -10501264.79746  22743056.6194   22743061.7854
+      2147.7844       1673.5954
+  21916718.4364  -14412998.53249 -11209053.02347  21916718.8424   21916723.6064
+      1997.1504       1556.2164
+ 05  1 20  6  6 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  23903763.6404   -3949281.77449  -3056441.58145  23903762.4844   23903767.2594
+     -3708.3584      -2889.6314
+  22275064.1424  -16782727.99149 -13059255.64747  22275064.0624   22275068.1724
+     -2907.5234      -2265.6084
+  23244194.7974   -6693728.74649  -5195569.42746  23244195.4414   23244202.9064
+     -3547.4934      -2764.2664
+  22229207.6314  -10701423.22549  -8129653.02747  22229207.1064   22229211.4234
+      -173.9664       -135.5554
+  24706393.4814    -175002.39049   -129474.31945  24706394.1874   24706397.5954
+      1202.7944        937.2414
+  20552433.8474  -24763742.06849 -19281694.43848  20552434.0684   20552436.3474
+     -1122.7934       -874.9064
+  22488157.4664  -13516546.41449 -10517257.14547  22488157.5264   22488162.0574
+      2614.2314       2037.0584
+  20692444.9134  -21965517.26149 -16873441.93548  20692444.6284   20692448.7644
+       461.3554        359.4964
+  22730806.6854  -13567304.53149 -10551433.35947  22730805.8594   22730810.0294
+      2144.4294       1670.9904
+  21905361.5254  -14472681.32849 -11255559.10547  21905361.2124   21905365.1374
+      1981.7514       1544.2234
+ 05  1 20  6  7  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  23924943.2594   -3837989.06149  -2969719.98345  23924939.8294   23924945.0144
+     -3711.1224      -2891.7914
+  22291694.1544  -16695339.44749 -12991160.68747  22291693.6334   22291697.5994
+     -2918.3504      -2274.0344
+  23264460.1724   -6587241.00449  -5112591.96746  23264459.3014   23264466.0674
+     -3551.6484      -2767.5134
+  22230256.7584  -10695906.03349  -8125353.90647  22230256.0344   22230261.0634
+      -193.8434       -151.0464
+  24699572.4114    -210850.72449   -157408.07245  24699572.0474   24699576.1894
+      1187.1394        925.0404
+  20558888.3444  -24729824.04649 -19255264.81648  20558888.5444   20558890.7464
+     -1138.3844       -887.0524
+  22473262.2894  -13594824.60649 -10578253.13947  22473261.5704   22473265.9664
+      2604.3134       2029.3324
+  20689832.6294  -21979247.75449 -16884141.01348  20689831.9264   20689836.0354
+       454.0004        353.7654
+  22718572.4514  -13631587.13149 -10601523.70547  22718572.5664   22718577.4464
+      2141.0974       1668.3814
+  21894092.7454  -14531899.58249 -11301703.17847  21894092.3834   21894097.2514
+      1966.2074       1532.1134
+ 05  1 20  6  7 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  23946133.4334   -3726613.36549  -2882933.76145  23946134.4604   23946139.8354
+     -3713.8674      -2893.9234
+  22308385.7624  -16607627.07049 -12922813.38347  22308384.7824   22308389.2574
+     -2929.1234      -2282.4324
+  23284748.7714   -6480631.04949  -5029519.29146  23284746.8124   23284752.3794
+     -3555.6344      -2770.6174
+  22231419.6064  -10689792.59949  -8120590.17847  22231419.5904   22231425.0874
+      -213.7234       -166.5384
+  24692840.3974    -246229.26249   -184975.76245  24692839.6554   24692843.8764
+      1171.4464        912.8194
+  20565431.5824  -24695438.82649 -19228471.15548  20565431.4164   20565434.2214
+     -1153.9474       -899.1814
+  22458422.4994  -13672806.11449 -10639017.95047  22458422.4104   22458426.6024
+      2594.4524       2021.6424
+  20687261.1304  -21992757.46049 -16894668.05748  20687261.2074   20687265.0094
+       446.6354        348.0244
+  22706359.2974  -13695769.31649 -10651535.78447  22706358.8534   22706363.7124
+      2137.7294       1665.7554
+  21882912.5324  -14590650.61649 -11347483.21047  21882913.2944   21882917.0174
+      1950.6014       1519.9514
+ 05  1 20  6  8  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  23967343.0944   -3615157.06449  -2796084.73345  23967343.8344   23967349.1484
+     -3716.4914      -2895.9624
+  22325137.1054  -16519592.17249 -12854214.78047  22325136.9114   22325141.2184
+     -2939.8484      -2290.7904
+  23305058.5314   -6373902.12649  -4946353.87246  23305056.6844   23305062.7594
+     -3559.5684      -2773.6874
+  22232697.5204  -10683082.55849  -8115361.56747  22232696.1614   22232701.7494
+      -233.6254       -182.0424
+  24686198.3304    -281137.09349   -212176.63445  24686196.9804   24686200.5274
+      1155.7424        900.5774
+  20572063.7214  -24660586.23649 -19201313.30148  20572064.2114   20572066.3804
+     -1169.5294       -911.3234
+  22443640.7914  -13750489.89149 -10699550.76347  22443640.3864   22443643.6714
+      2584.4864       2013.8794
+  20684733.2584  -22006046.22549 -16905022.94948  20684732.6944   20684736.2634
+       439.2754        342.2924
+  22694166.1044  -13759850.81449 -10701469.42247  22694165.6744   22694169.5864
+      2134.3594       1663.1344
+  21871821.2684  -14648931.90849 -11392897.19547  21871822.4864   21871826.6484
+      1934.8754       1507.7004
+ 05  1 20  6  8 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  23988568.2994   -3503622.73449  -2709174.86345  23988567.9224   23988573.6154
+     -3719.0834      -2897.9914
+  22341951.1944  -16431236.11449 -12785365.91747  22341950.8244   22341953.9214
+     -2950.5384      -2299.1224
+  23325389.5634   -6267057.53849  -4863098.38046  23325388.1784   23325394.0514
+     -3563.2964      -2776.5994
+  22234087.3934  -10675775.84049  -8109668.02047  22234087.0604   22234091.7384
+      -253.5154       -197.5524
+  24679644.3624    -315573.56349   -239010.25645  24679645.3984   24679647.2034
+      1139.9664        888.2854
+  20578785.3744  -24625266.61749 -19173791.52648  20578785.1234   20578787.4554
+     -1185.1114       -923.4654
+  22428913.6014  -13827875.00549 -10759850.84147  22428912.6344   22428918.0804
+      2574.4944       2006.0954
+  20682245.9744  -22019113.89849 -16915205.54248  20682245.5934   20682249.5024
+       431.8784        336.5294
+  22681989.5814  -13823831.49949 -10751324.50547  22681989.3724   22681995.4384
+      2130.9874       1660.5114
+  21860821.6334  -14706740.70049 -11437942.99747  21860821.8184   21860826.1814
+      1919.0884       1495.3914
+ 05  1 20  6  9  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24009805.5004   -3392012.51449  -2622205.83645  24009805.3364   24009811.9024
+     -3721.6194      -2899.9604
+  22358825.9864  -16342560.50149 -12716268.00547  22358825.3144   22358828.8034
+     -2961.1674      -2307.4054
+  23345743.4854   -6160100.40849  -4779755.19246  23345741.7234   23345748.6104
+     -3567.0804      -2779.5394
+  22235591.4104  -10667872.36849  -8103509.47247  22235591.0274   22235595.7114
+      -273.4024       -213.0394
+  24673180.6364    -349537.91049   -265475.98545  24673181.1394   24673184.2664
+      1124.2064        876.0094
+  20585595.1114  -24589479.96149 -19145905.84448  20585595.2464   20585597.0144
+     -1200.6614       -935.5814
+  22414243.9834  -13904960.46149 -10819917.42147  22414244.3854   22414249.0774
+      2564.4934       1998.3114
+  20679801.1794  -22031960.46549 -16925215.85548  20679801.0354   20679805.0694
+       424.5494        330.8204
+  22669833.5494  -13887711.39149 -10801101.02647  22669833.9254   22669839.5464
+      2127.6574       1657.9264
+  21849911.1264  -14764074.58249 -11482618.75147  21849911.6474   21849915.8044
+      1903.2144       1483.0244
+ 05  1 20  6  9 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24031062.2724   -3280328.53749  -2535179.38345  24031059.6544   24031063.3784
+     -3723.9594      -2901.7844
+  22375760.2814  -16253566.50149 -12646922.05347  22375760.1574   22375764.2154
+     -2971.7454      -2315.6514
+  23366118.7854   -6053034.19249  -4696326.99346  23366117.0104   23366121.5614
+     -3570.6984      -2782.3674
+  22237208.6914  -10659372.07849  -8096885.86847  22237208.5774   22237213.4374
+      -293.2964       -228.5434
+  24666808.6644    -383029.36949   -291573.23645  24666808.1964   24666811.2524
+      1108.4994        863.7654
+  20592494.0754  -24553226.45449 -19117656.36948  20592493.5114   20592496.2874
+     -1216.2384       -947.7184
+  22399633.7344  -13981745.45449 -10879749.90047  22399633.1884   22399637.3864
+      2554.4794       1990.4994
+  20677398.8904  -22044585.76749 -16935053.75448  20677398.6104   20677402.5064
+       417.1544        325.0494
+  22657697.6964  -13951490.29349 -10850798.88747  22657697.5124   22657701.7914
+      2124.2794       1655.2774
+  21839091.7054  -14820930.82949 -11526922.31647  21839091.8994   21839096.1584
+      1887.2344       1470.5744
+ 05  1 20  6 10  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24052325.1254   -3168573.08949  -2448097.17045  24052325.4884   24052330.4754
+     -3726.3404      -2903.6434
+  22392756.9184  -16164255.67349 -12577329.21847  22392755.8234   22392759.6524
+     -2982.2844      -2323.8684
+  23386512.4564   -5945862.13749  -4612816.34246  23386509.7614   23386517.3324
+     -3574.1354      -2785.0284
+  22238939.8154  -10650274.83749  -8089797.10947  22238939.7324   22238944.9614
+      -313.1814       -244.0434
+  24660527.5454    -416047.48849   -317301.65745  24660526.4224   24660528.8504
+      1092.7014        851.4554
+  20599481.4484  -24516506.60649 -19089043.51548  20599481.3214   20599483.4484
+     -1231.7674       -959.8204
+  22385079.0504  -14058229.26949 -10939347.67947  22385079.0734   22385082.8124
+      2544.4314       1982.6754
+  20675039.0164  -22056989.68749 -16944719.14448  20675038.4064   20675042.2624
+       409.7664        319.2984
+  22645580.2054  -14015168.16449 -10900417.98747  22645579.7994   22645585.1054
+      2120.9184       1652.6564
+  21828363.6304  -14877307.00149 -11570851.79947  21828363.8834   21828368.2004
+      1871.2064       1458.0814
+ 05  1 20  6 10 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24073607.7664   -3056748.53049  -2360961.14145  24073607.7704   24073608.7774
+     -3728.5804      -2905.3874
+  22409811.2744  -16074629.88549 -12507490.94346  22409810.8254   22409815.3804
+     -2992.7354      -2331.9974
+  23406923.3984   -5838587.25649  -4529225.54346  23406923.5104   23406929.7904
+     -3577.5104      -2787.6624
+  22240785.9044  -10640580.90449  -8082243.38547  22240785.0344   22240788.4404
+      -333.0724       -259.5404
+  24654333.7184    -448591.21349   -342660.40645  24654332.6194   24654335.1284
+      1076.8744        839.1224
+  20606558.1634  -24479320.07549 -19060067.01248  20606557.6574   20606559.9644
+     -1247.3234       -971.9354
+  22370582.2934  -14134411.04049 -10998710.08847  22370581.7244   22370586.1084
+      2534.3554       1974.8244
+  20672720.2454  -22069171.87849 -16954211.76148  20672719.9104   20672724.0934
+       402.3824        313.5494
+  22633482.3894  -14078744.82549 -10949958.24247  22633481.6824   22633486.7514
+      2117.5544       1650.0404
+  21817727.7024  -14933200.53949 -11614405.17747  21817727.8014   21817731.5584
+      1855.0854       1445.5294
+ 05  1 20  6 11  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24094898.4204   -2944857.16949  -2273773.07345  24094898.9654   24094901.9184
+     -3730.7714      -2907.0914
+  22426925.8044  -15984690.46049 -12437408.25746  22426925.5824   22426929.9994
+     -3003.2094      -2340.1694
+  23427356.5454   -5731212.77949  -4445557.14446  23427356.6344   23427363.6164
+     -3580.7894      -2790.2184
+  22242742.8534  -10630290.04449  -8074224.53647  22242742.7814   22242747.8124
+      -352.9874       -275.0584
+  24648230.1834    -480659.54849   -367648.72245  24648230.6564   24648232.0394
+      1060.9944        826.7474
+  20613723.4044  -24441666.76849 -19030726.77948  20613723.2684   20613725.2944
+     -1262.9094       -984.0904
+  22356143.1044  -14210289.44149 -11057836.11047  22356142.6934   22356147.7324
+      2524.1954       1966.9074
+  20670444.9314  -22081131.93149 -16963531.27648  20670443.8224   20670447.7054
+       394.9464        307.7474
+  22621402.8774  -14142220.21049 -10999419.57147  22621402.6124   22621406.9594
+      2114.1214       1647.3664
+  21807183.3174  -14988608.87449 -11657580.49647  21807183.8864   21807188.1954
+      1838.8494       1432.8664
+ 05  1 20  6 11 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24116204.6494   -2832901.20149  -2186534.62645  24116203.5324   24116205.6664
+     -3732.8824      -2908.7514
+  22444100.6874  -15894439.06149 -12367082.49846  22444099.6854   22444103.9684
+     -3013.5614      -2348.2374
+  23447808.5114   -5623741.93649  -4361813.66446  23447808.2954   23447813.0514
+     -3583.9474      -2792.6904
+  22244814.6304  -10619402.34949  -8065740.61147  22244814.5944   22244819.3884
+      -372.8694       -290.5484
+  24642219.5364    -512252.10249   -392266.30045  24642219.8664   24642221.8594
+      1045.1694        814.4184
+  20620976.8374  -24403547.23649 -19001023.25448  20620976.4514   20620978.9074
+     -1278.4094       -996.1654
+  22341760.3534  -14285863.88349 -11116725.26847  22341760.8474   22341766.0934
+      2514.0724       1959.0204
+  20668211.0944  -22092869.82849 -16972677.69448  20668210.5764   20668214.3184
+       387.5714        302.0034
+  22609343.1974  -14205594.12949 -11048801.83647  22609343.1534   22609348.1234
+      2110.7934       1644.7704
+  21796732.4804  -15043529.58649 -11700375.84347  21796732.6144   21796737.3414
+      1822.5864       1420.1874
+ 05  1 20  6 12  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24137518.7134   -2720882.67549  -2099247.47845  24137519.1474   24137524.0144
+     -3734.9364      -2910.3364
+  22461333.1764  -15803877.20149 -12296514.81446  22461333.7234   22461337.4554
+     -3023.8894      -2356.2804
+  23468275.1724   -5516178.12049  -4277997.71546  23468275.7684   23468281.7124
+     -3586.9684      -2795.0484
+  22247000.5664  -10607917.96749  -8056791.72747  22246999.9884   22247004.8884
+      -392.7544       -306.0434
+  24636297.5694    -543368.68549   -416513.01545  24636298.2664   24636299.7784
+      1029.2534        802.0214
+  20628319.3874  -24364961.55849 -18970956.49948  20628319.4904   20628321.8944
+     -1293.9494      -1008.2664
+  22327439.4464  -14361133.60949 -11175377.00747  22327438.2004   22327442.0024
+      2503.9034       1951.1014
+  20666019.2434  -22104385.59849 -16981651.02348  20666018.9574   20666022.9994
+       380.1544        296.2284
+  22597302.8424  -14268866.41149 -11098104.90747  22597302.3734   22597307.7974
+      2107.3794       1642.1154
+  21786373.8204  -15097960.10749 -11742789.23547  21786374.3964   21786379.7854
+      1806.1784       1407.4144
+ 05  1 20  6 12 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24158846.3474   -2608803.91649  -2011913.36745  24158845.8584   24158850.7334
+     -3736.9264      -2911.8924
+  22478625.6434  -15713006.61049 -12225706.57546  22478624.9474   22478629.3384
+     -3034.1304      -2364.2714
+  23488762.0804   -5408524.41249  -4194111.73646  23488761.5024   23488768.3274
+     -3589.9254      -2797.3454
+  22249297.9964  -10595836.94049  -8047377.93947  22249298.2814   22249303.8904
+      -412.6354       -321.5364
+  24630469.3414    -574008.35249   -440388.09745  24630469.5484   24630470.0904
+      1013.3774        789.6414
+  20635750.3254  -24325910.14449 -18940526.84248  20635750.6174   20635752.8224
+     -1309.4704      -1020.3704
+  22313173.0274  -14436097.65349 -11233790.54847  22313172.3784   22313177.1594
+      2493.7104       1943.1504
+  20663870.5444  -22115678.93249 -16990451.02148  20663870.1604   20663873.8654
+       372.7374        290.4424
+  22585281.8424  -14332037.00749 -11147328.73447  22585282.3204   22585286.4934
+      2103.9964       1639.4714
+  21776110.0084  -15151898.00449 -11784818.74847  21776110.2454   21776115.4284
+      1789.7494       1394.6044
+ 05  1 20  6 13  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24180186.1204   -2496667.02649  -1924533.94645  24180185.5794   24180192.1374
+     -3738.8324      -2913.3674
+  22495977.0864  -15621828.77049 -12154658.90646  22495975.5934   22495979.4704
+     -3044.3894      -2372.2554
+  23509266.4384   -5300783.88549  -4110158.12546  23509264.9884   23509271.4024
+     -3592.7814      -2799.5664
+  22251712.2744  -10583159.44049  -8037499.37047  22251711.3614   22251715.6884
+      -432.5574       -337.0644
+  24624728.3954    -604170.31149   -463890.89145  24624726.6504   24624729.7324
+       997.3984        777.1904
+  20643270.5164  -24286393.28149 -18909734.48448  20643270.6674   20643272.9604
+     -1324.9824      -1032.4504
+  22298964.6354  -14510755.25149 -11291965.29047  22298965.0774   22298970.2594
+      2483.4664       1935.1724
+  20661763.4174  -22126749.67849 -16999077.57948  20661763.0944   20661767.3034
+       365.3174        284.6654
+  22573279.9074  -14395105.84049 -11196473.28147  22573279.9804   22573284.8144
+      2100.5994       1636.8414
+  21765939.6054  -15205340.93449 -11826462.57147  21765940.3094   21765944.9054
+      1773.1834       1381.7024
+ 05  1 20  6 13 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24201535.6884   -2384474.14349  -1837110.89045  24201535.5684   24201539.8754
+     -3740.6884      -2914.8134
+  22513385.5984  -15530344.89249 -12083372.77646  22513385.1234   22513389.0904
+     -3054.5274      -2380.1444
+  23529784.3174   -5192959.93049  -4026139.48646  23529782.9494   23529788.4444
+     -3595.4334      -2801.6354
+  22254237.7884  -10569885.15449  -8027155.76247  22254237.4494   22254242.2304
+      -452.4264       -352.5444
+  24619080.1084    -633854.06049   -487021.05445  24619079.6124   24619081.3444
+       981.4484        764.7774
+  20650878.9134  -24246411.09449 -18878579.53348  20650878.8574   20650881.3954
+     -1340.5094      -1044.5514
+  22284817.4014  -14585105.68449 -11349900.69947  22284817.0464   22284821.7244
+      2473.1854       1927.1584
+  20659698.9754  -22137597.44749 -17007530.38848  20659698.9784   20659702.9724
+       357.8644        278.8544
+  22561298.7224  -14458072.65349 -11245538.32247  22561297.3414   22561302.5564
+      2097.1834       1634.1724
+  21755866.1764  -15258286.41349 -11867718.78847  21755866.3304   21755870.4054
+      1756.5674       1368.7614
+ 05  1 20  6 14  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24222895.3114   -2272227.44149  -1749645.88045  24222894.7744   24222900.7094
+     -3742.4684      -2916.2104
+  22530851.3504  -15438556.60749 -12011849.45646  22530851.3014   22530854.9634
+     -3064.6484      -2388.0344
+  23550317.7724   -5085055.71549  -3942058.28546  23550316.8634   23550322.2624
+     -3598.1044      -2803.7104
+  22256877.8364  -10556014.43649  -8016347.41247  22256876.6454   22256881.0014
+      -472.3024       -368.0224
+  24613522.4804    -663059.18249   -509778.27945  24613521.8864   24613524.2034
+       965.5734        752.3954
+  20658575.9094  -24205963.73949 -18847062.12848  20658575.6494   20658578.5864
+     -1355.9914      -1056.6164
+  22270726.8784  -14659147.96349 -11407595.98947  22270727.3954   22270731.9964
+      2462.9124       1919.1564
+  20657677.9304  -22148222.44549 -17015809.60848  20657677.2694   20657680.9924
+       350.4364        273.0664
+  22549335.3084  -14520937.42549 -11294523.85147  22549335.1884   22549340.2774
+      2093.7944       1631.5214
+  21745885.4514  -15310731.93149 -11908585.40747  21745885.7244   21745889.9384
+      1739.8324       1355.7174
+ 05  1 20  6 14 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24244265.8794   -2159929.37549  -1662140.94545  24244264.4164   24244269.8914
+     -3744.1044      -2917.4904
+  22548374.7684  -15346465.84249 -11940090.42646  22548375.7884   22548379.7704
+     -3074.7094      -2395.8894
+  23570863.6304   -4977074.49549  -3857917.10246  23570864.4504   23570870.5804
+     -3600.6514      -2805.7004
+  22259629.7764  -10541547.52349  -8005074.48947  22259629.3264   22259634.8794
+      -492.1544       -383.4914
+  24608054.4734    -691785.00249   -532162.00545  24608054.3944   24608058.4744
+       949.4764        739.8434
+  20666361.3014  -24165051.57449 -18815182.52148  20666361.0214   20666363.5924
+     -1371.4964      -1068.6974
+  22256697.3244  -14732881.12449 -11465050.38847  22256697.0184   22256700.8904
+      2452.6154       1911.1174
+  20655698.2094  -22158624.27849 -17023914.93548  20655698.0204   20655701.6984
+       343.0014        267.2734
+  22537391.9634  -14583699.95449 -11343429.71047  22537391.5744   22537396.7304
+      2090.3834       1628.8754
+  21736001.1954  -15362675.12149 -11949060.60647  21736001.0034   21736005.4814
+      1723.0454       1342.6304
+ 05  1 20  6 15  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24265643.0454   -2047581.96649  -1574597.42945  24265644.1074   24265647.7034
+     -3745.7164      -2918.7394
+  22565958.4274  -15254074.03549 -11868096.80146  22565957.4384   22565961.7554
+     -3084.6984      -2403.6594
+  23591428.8494   -4869019.37249  -3773718.32046  23591426.7854   23591432.2274
+     -3603.0364      -2807.5574
+  22262496.4124  -10526484.34949  -7993336.95147  22262496.6244   22262500.9254
+      -512.0414       -399.0054
+  24602679.0994    -720031.08949   -554171.93345  24602680.0224   24602682.8604
+       933.5394        727.4264
+  20674235.0174  -24123674.91749 -18782940.98448  20674235.0094   20674237.1464
+     -1386.9474      -1080.7424
+  22242724.2494  -14806304.52549 -11522263.42247  22242724.0474   22242729.0774
+      2442.2744       1903.0694
+  20653761.6634  -22168802.62549 -17031846.11748  20653761.0574   20653764.6864
+       335.5614        261.4744
+  22525467.6684  -14646359.98849 -11392255.71447  22525467.9524   22525472.5874
+      2086.9714       1626.2114
+  21726212.6004  -15414113.68049 -11989142.59847  21726212.6254   21726217.4434
+      1706.2324       1329.5254
+ 05  1 20  6 15 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24287030.6334   -1935187.39049  -1487017.26545  24287031.8904   24287033.4224
+     -3747.2314      -2919.9174
+  22583597.1864  -15161382.77349 -11795869.86346  22583596.3204   22583600.8964
+     -3094.6744      -2411.4344
+  23612003.4364   -4760893.46649  -3689464.34346  23612002.1774   23612008.3474
+     -3605.3514      -2809.3534
+  22265476.4954  -10510825.50649  -7981135.25847  22265475.6654   22265480.6734
+      -531.8744       -414.4384
+  24597396.9174    -747796.85749   -575807.59245  24597395.7934   24597398.4454
+       917.4814        714.9264
+  20682197.5994  -24081834.27249 -18750337.89748  20682197.2034   20682198.9774
+     -1402.4124      -1092.7864
+  22228811.9374  -14879417.42449 -11579234.50847  22228811.9264   22228815.8804
+      2431.9224       1895.0054
+  20651867.0014  -22178757.33449 -17039603.03148  20651866.5854   20651870.5124
+       328.1114        255.6764
+  22513564.3394  -14708917.44949 -11441001.77347  22513563.7764   22513568.6774
+      2083.5634       1623.5514
+  21716520.7134  -15465045.22249 -12028829.51647  21716520.9854   21716525.0204
+      1689.3134       1316.3524
+ 05  1 20  6 16  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24308430.1564   -1822747.80749  -1399401.95245  24308427.7344   24308433.0244
+     -3748.6974      -2921.0634
+  22601291.5414  -15068393.46449 -11723410.66746  22601291.6834   22601295.3684
+     -3104.5634      -2419.1364
+  23632590.1364   -4652699.99149  -3605157.79146  23632590.3744   23632596.8914
+     -3607.5434      -2811.0644
+  22268569.1454  -10494571.30149  -7968469.64047  22268568.9694   22268573.7954
+      -551.7384       -429.9374
+  24592203.7444    -775081.95149   -597068.71145  24592203.1834   24592206.7784
+       901.4344        702.4184
+  20690247.2034  -24039529.83049 -18717373.39948  20690247.1984   20690249.4824
+     -1417.8754      -1104.8374
+  22214958.0294  -14952218.90449 -11635962.92347  22214957.2014   22214962.5804
+      2421.5244       1886.8994
+  20650015.3474  -22188488.28549 -17047185.58548  20650014.8594   20650018.7074
+       320.6384        249.8494
+  22501679.5884  -14771372.21049 -11489667.82347  22501678.9184   22501683.8974
+      2080.1094       1620.8644
+  21706925.0244  -15515467.42949 -12068119.53447  21706925.6624   21706930.3744
+      1672.2624       1303.0614
+ 05  1 20  6 16 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24329829.0854   -1710265.43148  -1311753.39245  24329830.2234   24329837.8284
+     -3750.1604      -2922.1954
+  22619043.6714  -14975107.82449 -11650720.56946  22619043.3484   22619047.2104
+     -3114.4474      -2426.8364
+  23653191.0214   -4544442.03049  -3520800.99246  23653191.2274   23653196.9784
+     -3609.6934      -2812.7454
+  22271775.4944  -10477721.99649  -7955340.30747  22271775.5784   22271779.6654
+      -571.5714       -445.3694
+  24587104.1964    -801885.72949   -617954.79345  24587103.1084   24587107.5544
+       885.4054        689.9344
+  20698385.4864  -23996761.93949 -18684047.78648  20698385.3944   20698388.0584
+     -1433.3064      -1116.8604
+  22201162.8284  -15024708.44949 -11692448.27547  22201163.0074   22201167.9204
+      2411.1224       1878.7944
+  20648205.9744  -22197995.24149 -17054593.60248  20648205.7024   20648209.7584
+       313.1544        244.0144
+  22489813.6574  -14833724.02649 -11538253.64147  22489813.9224   22489819.2674
+      2076.6714       1618.1914
+  21697427.8794  -15565377.93949 -12107010.82847  21697427.9644   21697432.1434
+      1655.1234       1289.6994
+ 05  1 20  6 17  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24351245.5564   -1597742.24249  -1224073.01445  24351244.7664   24351249.8554
+     -3751.5544      -2923.2894
+  22636851.6034  -14881527.68949 -11577800.99546  22636851.0464   22636854.3194
+     -3124.2204      -2434.4544
+  23673804.1114   -4436122.76949  -3436396.38146  23673804.5214   23673809.5684
+     -3611.5964      -2814.2304
+  22275095.6984  -10460277.97049  -7941747.55247  22275094.7214   22275099.6344
+      -591.4014       -460.8344
+  24582094.5914    -828207.82849   -638465.52745  24582093.7084   24582096.5644
+       869.3514        677.4174
+  20706612.7454  -23953530.99849 -18650361.35048  20706612.0374   20706614.5004
+     -1448.7464      -1128.8934
+  22187429.6994  -15096885.23349 -11748689.91247  22187428.7894   22187433.2744
+      2400.6734       1870.6544
+  20646440.0244  -22207277.91449 -17061826.86348  20646439.3054   20646443.1414
+       305.6734        238.1864
+  22477969.0414  -14895972.76549 -11586759.14447  22477968.3424   22477973.4534
+      2073.2484       1615.5174
+  21688028.4994  -15614774.48749 -12145501.63647  21688028.4284   21688033.0524
+      1637.9824       1276.3434
+ 05  1 20  6 17 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24372661.0464   -1485180.43448  -1136362.50345  24372662.8774   24372668.8534
+     -3752.6754      -2924.1674
+  22654714.3944  -14787654.80949 -11504653.30746  22654714.6494   22654717.2314
+     -3133.9464      -2442.0444
+  23694429.8834   -4327745.30849  -3351946.40846  23694428.7384   23694434.2314
+     -3613.4604      -2815.6814
+  22278527.4874  -10442239.32949  -7927691.48247  22278527.9734   22278532.7804
+      -611.2124       -476.2624
+  24577176.8754    -854047.89249   -658600.64945  24577176.3184   24577180.5084
+       853.3294        664.9384
+  20714927.3654  -23909837.30249 -18616314.32548  20714926.9664   20714929.4124
+     -1464.1494      -1140.8924
+  22173754.5424  -15168748.14849 -11804686.99247  22173754.7764   22173758.2774
+      2390.2184       1862.5064
+  20644715.5374  -22216336.00749 -17068885.11748  20644715.6544   20644719.5884
+       298.1984        232.3674
+  22466142.1804  -14958118.23549 -11635184.19547  22466142.5234   22466147.3424
+      2069.8074       1612.8344
+  21678725.8294  -15663654.75349 -12183590.14947  21678726.5194   21678731.0294
+      1620.7354       1262.9124
+ 05  1 20  6 18  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24394095.8874   -1372581.94449  -1048623.40345  24394097.2674   24394095.9304
+     -3753.7204      -2924.9844
+  22672633.4054  -14693490.42449 -11431278.45346  22672633.5694   22672636.6924
+     -3143.6584      -2449.6094
+  23715063.0794   -4219312.93949  -3267453.68046  23715061.8944   23715067.2074
+     -3615.2544      -2817.0844
+  22282073.9034  -10423606.67049  -7913172.51047  22282073.2894   22282077.9034
+      -630.9704       -491.6634
+  24572348.7834    -879405.31249   -678359.63845  24572349.9864   24572356.3854
+       837.1654        652.3294
+  20723329.8114  -23865681.40449 -18581907.15548  20723329.6114   20723331.7844
+     -1479.5534      -1152.9004
+  22160138.1014  -15240296.81749 -11860439.18947  22160138.6304   22160142.7494
+      2379.7224       1854.3204
+  20643035.0454  -22225169.45149 -17075768.31748  20643034.7024   20643038.5004
+       290.7004        226.5194
+  22454335.6464  -15020160.40249 -11683528.71647  22454335.1374   22454341.1094
+      2066.3564       1610.1454
+  21669522.9504  -15712016.41149 -12221274.53647  21669523.3574   21669527.7044
+      1603.4494       1249.4414
+ 05  1 20  6 18 30.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24415521.5394   -1259948.84448   -960857.37945  24415523.2354   24415530.1144
+     -3754.8634      -2925.8644
+  22690607.5104  -14599036.00049 -11357677.60746  22690607.3444   22690610.4584
+     -3153.2734      -2457.0894
+  23735706.2834   -4110828.89349  -3182920.70446  23735705.3554   23735710.2304
+     -3616.9794      -2818.4194
+  22285732.4154  -10404380.20249  -7898190.85647  22285731.8904   22285736.3704
+      -650.7834       -507.0954
+  24567617.8984    -904279.63449   -697742.25245  24567617.3414   24567621.4824
+       821.0564        639.7874
+  20731820.1414  -23821063.49349 -18547139.96248  20731819.9694   20731821.9764
+     -1494.9644      -1164.9054
+  22146584.2164  -15311530.36349 -11915945.84847  22146583.5904   22146587.8904
+      2369.1754       1846.1164
+  20641397.0784  -22233777.76349 -17082476.08648  20641396.5964   20641400.5754
+       283.1844        220.6644
+  22442548.7924  -15082098.97649 -11731792.53747  22442549.4974   22442555.0984
+      2062.8784       1607.4434
+  21660419.6134  -15759857.24649 -12258553.08547  21660419.2104   21660424.3164
+      1585.9874       1235.8334
+ 05  1 20  6 19  0.0000000  0 10G 9G18G15G 5G11G22G25G14G 1G30
+  24436963.5984   -1147283.41558   -873066.15354  24436965.2824   24436967.3484
+     -3756.0534      -2926.7924
+  22708634.9774  -14504293.80249 -11283852.52746  22708634.9764   22708640.3624
+     -3162.8584      -2464.5554
+  23756358.7234   -4002296.13649  -3098349.73346  23756358.5674   23756363.6754
+     -3618.5184      -2819.6264
+  22289502.9574  -10384560.33249  -7882746.77947  22289502.9194   22289508.8824
+      -670.5564       -522.5014
+  24562975.2484    -928670.80549   -716748.37945  24562975.3694   24562979.6704
+       804.9834        627.2604
+  20740398.2534  -23775984.06449 -18512013.15148  20740398.1274   20740400.8024
+     -1510.3384      -1176.8844
+  22133087.2554  -15382448.43649 -11971206.70247  22133087.1054   22133092.8244
+      2358.6544       1837.9124
+  20639801.6934  -22242160.97949 -17089008.45948  20639801.3424   20639805.1174
+       275.6914        214.8274
+  22430783.7744  -15143933.73649 -11779975.47247  22430782.5974   22430787.6824
+      2059.4234       1604.7454
+  21651414.5434  -15807175.16349 -12295424.19747  21651415.2784   21651419.7114
+      1568.5494       1222.2494
+ 05  1 20  6 19 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22726719.5624  -14409265.44349 -11209804.47246  22726719.3224   22726722.6314
+     -3172.3534      -2471.9574
+  23777022.1724   -3893718.07849  -3013743.53146  23777021.9694   23777024.6364
+     -3619.9974      -2820.7694
+  22293388.3984  -10364147.48349  -7866840.66847  22293388.3234   22293392.6484
+      -690.3144       -537.9074
+  24558424.3364    -952578.36549   -735377.66645  24558425.7834   24558430.1824
+       788.8754        614.7044
+  20749064.2124  -23730443.68749 -18476527.15348  20749064.1704   20749066.7624
+     -1525.6984      -1188.8534
+  22119652.6484  -15453050.12949 -12026220.98147  22119652.4024   22119657.3774
+      2348.1154       1829.7014
+  20638249.4594  -22250318.79549 -17095365.19248  20638248.8714   20638252.4764
+       268.1604        208.9534
+  22419036.2334  -15205664.52749 -11828077.38147  22419036.0994   22419040.7404
+      2055.9454       1602.0364
+  21642511.0844  -15853967.77449 -12331885.95247  21642511.4114   21642515.5154
+      1550.9664       1208.5424
+ 05  1 20  6 20  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22744857.1064  -14313952.90649 -11135534.95246  22744855.8784   22744859.9814
+     -3181.7754      -2479.2984
+  23797689.9064   -3785097.40849  -2929104.04746  23797690.1204   23797696.5784
+     -3621.3504      -2821.8214
+  22297384.8764  -10343142.19249  -7850472.90747  22297384.5834   22297390.0704
+      -710.0434       -553.2754
+  24553968.9604    -976001.88749   -753629.76645  24553969.7464   24553973.2354
+       772.7064        602.1124
+  20757818.6804  -23684442.77549 -18440682.29548  20757818.1454   20757820.4594
+     -1541.0394      -1200.8044
+  22106279.3894  -15523334.74149 -12080988.22747  22106278.6124   22106282.0904
+      2337.5064       1821.4424
+  20636739.7534  -22258251.00149 -17101546.13648  20636739.2064   20636743.1214
+       260.6534        203.1094
+  22407308.3424  -15267291.20249 -11876098.16547  22407308.1874   22407313.3364
+      2052.4914       1599.3534
+  21633706.8644  -15900233.01649 -12367936.76447  21633707.1664   21633711.8764
+      1533.3554       1194.8274
+ 05  1 20  6 20 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22763047.3654  -14218357.34849 -11061044.93446  22763047.1494   22763052.2964
+     -3191.2084      -2486.6384
+  23818365.7404   -3676437.34149  -2844433.92345  23818367.6354   23818373.1724
+     -3622.6124      -2822.8234
+  22301495.5734  -10321545.05749  -7833643.96147  22301494.9354   22301499.9104
+      -729.7614       -568.6474
+  24549603.6574    -998941.04849   -771504.43345  24549603.0284   24549608.5914
+       756.5314        589.4984
+  20766659.1274  -23637982.01449 -18404479.11148  20766659.1374   20766661.8204
+     -1556.3654      -1212.7504
+  22092962.8724  -15593301.26949 -12135507.59247  22092963.5624   22092968.2744
+      2326.9084       1813.1734
+  20635273.4954  -22265957.18449 -17107550.95748  20635273.0364   20635276.9394
+       253.0914        197.2124
+  22395600.8714  -15328813.61349 -11924037.70047  22395600.5764   22395606.0474
+      2049.0054       1596.6364
+  21625003.9234  -15945968.66049 -12403574.91647  21625003.8414   21625008.3134
+      1515.6934       1181.0604
+ 05  1 20  6 21  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22781293.2204  -14122480.52549 -10986335.73646  22781292.6224   22781297.1454
+     -3200.5514      -2493.9354
+  23839051.0114   -3567741.00949  -2759735.49745  23839051.7114   23839058.5264
+     -3623.7994      -2823.7374
+  22305717.4414  -10299356.50449  -7816354.17447  22305716.9204   22305721.9614
+      -749.4554       -583.9954
+  24545331.1184   -1021395.65249   -789001.52545  24545330.2644   24545336.6514
+       740.4184        576.9464
+  20775587.9634  -23591061.55549 -18367917.73548  20775587.8644   20775590.0514
+     -1571.6684      -1224.6754
+  22079709.8884  -15662949.28849 -12189778.75347  22079710.9854   22079715.2144
+      2316.2804       1804.8974
+  20633849.8964  -22273437.08749 -17113379.46348  20633849.5494   20633853.4414
+       245.5484        191.3374
+  22383914.3294  -15390231.46049 -11971895.75147  22383913.9994   22383918.2704
+      2045.5164       1593.9154
+  21616402.3144  -15991172.57649 -12438798.73647  21616402.5414   21616406.3794
+      1497.9204       1167.2104
+ 05  1 20  6 21 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22799590.7344  -14026324.18249 -10911408.70946  22799591.1704   22799593.8614
+     -3209.8294      -2501.1694
+  23859743.9324   -3459011.67149  -2675011.43045  23859742.2724   23859748.4034
+     -3624.8714      -2824.5624
+  22310052.4394  -10276577.02449  -7798603.94047  22310052.5104   22310057.2574
+      -769.1444       -599.3354
+  24541148.5474   -1043365.49749   -806120.88645  24541148.7794   24541153.9694
+       724.2534        564.3514
+  20784604.0104  -23543682.25749 -18330998.81548  20784603.7294   20784606.5124
+     -1586.9534      -1236.5844
+  22066518.3834  -15732277.84449 -12243800.99747  22066517.7214   22066522.5294
+      2305.6244       1796.5884
+  20632469.1054  -22280690.83649 -17119031.76048  20632469.0584   20632473.1444
+       238.0244        185.4764
+  22372247.7244  -15451544.56649 -12019672.20347  22372246.9764   22372250.5704
+      2042.0054       1591.1764
+  21607900.3304  -16035842.62549 -12473606.54947  21607901.3824   21607905.9944
+      1480.1304       1153.3524
+ 05  1 20  6 22  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22817942.0834  -13929889.87149 -10836265.09046  22817941.5094   22817946.2244
+     -3219.1124      -2508.3934
+  23880442.8014   -3350252.19649  -2590263.76145  23880438.7354   23880443.4754
+     -3625.8214      -2825.3154
+  22314499.5614  -10253207.31849  -7780393.77347  22314498.7664   22314503.6334
+      -788.8204       -614.6644
+  24537060.7024   -1064850.24049   -822862.23545  24537061.0894   24537066.1194
+       708.0794        551.7494
+  20793707.4454  -23495844.35349 -18293722.54348  20793707.2364   20793709.6434
+     -1602.2334      -1248.4944
+  22053386.2194  -15801286.84349 -12297574.22347  22053385.9914   22053390.6344
+      2294.9654       1788.2824
+  20631132.1884  -22287717.73949 -17124507.27648  20631132.1444   20631136.0054
+       230.4284        179.5534
+  22360599.8404  -15512752.51849 -12067366.72247  22360599.1314   22360603.7334
+      2038.5034       1588.4484
+  21599503.5694  -16079976.71949 -12507996.75347  21599503.2284   21599507.3624
+      1462.1924       1139.3684
+ 05  1 20  6 22 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22836345.7944  -13833179.29649 -10760906.21046  22836345.1854   22836349.1254
+     -3228.2514      -2515.5184
+  23901140.8494   -3241465.79449  -2505495.12246  23901140.3474   23901146.3124
+     -3626.6294      -2825.9544
+  22319058.1854  -10229247.94949  -7761724.12547  22319058.2884   22319063.6594
+      -808.4584       -629.9764
+  24533066.7204   -1085849.62149   -839225.36845  24533064.9874   24533070.1644
+       691.9054        539.1484
+  20802897.4704  -23447548.56149 -18256089.48148  20802897.6474   20802900.0164
+     -1617.4854      -1260.3764
+  22040314.0334  -15869975.44549 -12351097.80847  22040314.1614   22040318.6754
+      2284.2784       1779.9534
+  20629839.3544  -22294517.78749 -17129806.00248  20629838.3534   20629841.5684
+       222.8874        173.6754
+  22348970.2774  -15573855.30549 -12114979.26847  22348970.7244   22348976.3484
+      2035.0024       1585.7184
+  21591207.7104  -16123572.77949 -12541967.69747  21591207.4404   21591211.1964
+      1444.2194       1125.3674
+ 05  1 20  6 23  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22854799.3404  -13736194.47949 -10685333.63646  22854800.0214   22854804.7364
+     -3237.3624      -2522.6204
+  23921847.8604   -3132655.44549  -2420707.83345  23921846.4554   23921851.3174
+     -3627.4294      -2826.5634
+  22323730.6734  -10204699.53949  -7742595.50947  22323730.2214   22323735.2134
+      -828.1174       -645.2784
+  24529161.5434   -1106363.47149   -855210.16945  24529161.6734   24529166.1304
+       675.7094        526.5184
+  20812174.6974  -23398795.30149 -18218099.94548  20812174.9414   20812177.4954
+     -1632.7034      -1272.2354
+  22027304.0084  -15938343.09049 -12404371.29747  22027304.2664   22027308.7224
+      2273.5704       1771.6124
+  20628587.7734  -22301090.59949 -17134927.66348  20628587.5624   20628591.0814
+       215.3094        167.7704
+  22337364.7024  -15634852.58249 -12162509.60447  22337364.0884   22337368.8964
+      2031.4834       1582.9734
+  21583013.4134  -16166628.72649 -12575517.76547  21583013.6844   21583018.1134
+      1426.2074       1111.3374
+ 05  1 20  6 23 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22873307.3474  -13638937.12149 -10609548.68146  22873306.8344   22873312.1534
+     -3246.4654      -2529.7114
+  23942555.5434   -3023824.15249  -2335904.26145  23942555.1814   23942562.5034
+     -3628.0054      -2827.0134
+  22328513.0794  -10179562.89349  -7723008.49647  22328513.0344   22328518.4464
+      -847.6964       -660.5394
+  24525352.3284   -1126391.68249   -870816.55345  24525351.6594   24525354.5804
+       659.4974        513.8944
+  20821539.8244  -23349585.41949 -18179754.60948  20821539.4064   20821541.6034
+     -1647.9374      -1284.1074
+  22014355.7644  -16006389.13249 -12457394.17347  22014355.6464   22014360.6314
+      2262.8324       1763.2414
+  20627380.3094  -22307435.96449 -17139872.10048  20627379.8774   20627383.7434
+       207.7184        161.8574
+  22325776.4264  -15695744.07249 -12209957.50947  22325776.3454   22325782.0524
+      2027.9374       1580.2114
+  21574923.1714  -16209142.45649 -12608645.34047  21574923.1204   21574928.0124
+      1408.0994       1097.2214
+ 05  1 20  6 24  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22891866.9024  -13541409.19549 -10533552.90246  22891866.3254   22891871.5344
+     -3255.4564      -2536.7084
+  23963268.4894   -2914975.07949  -2251086.80545  23963267.5774   23963273.6374
+     -3628.6204      -2827.4884
+  22333409.1924  -10153838.33149  -7702963.38647  22333408.1884   22333413.4444
+      -867.2834       -675.8154
+  24521634.6464   -1145933.98649   -886044.29245  24521632.8214   24521635.8564
+       643.3234        501.2884
+  20830991.1214  -23299919.24349 -18141053.70948  20830991.0114   20830992.7254
+     -1663.1674      -1295.9784
+  22001468.2484  -16074112.88949 -12510165.93447  22001468.4034   22001473.3084
+      2252.0544       1754.8484
+  20626216.0184  -22313553.64249 -17144639.12648  20626215.6044   20626219.7384
+       200.0974        155.9204
+  22314210.5364  -15756529.63249 -12257322.87647  22314209.7014   22314214.5234
+      2024.4074       1577.4594
+  21566937.6804  -16251112.02749 -12641348.89647  21566937.2874   21566941.9414
+      1389.9134       1083.0474
+ 05  1 20  6 24 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22910476.4034  -13443612.16349 -10457347.44246  22910476.0174   22910481.1444
+     -3264.3394      -2543.6264
+  23983986.5994   -2806111.52849  -2166258.06445  23983985.1634   23983991.5894
+     -3628.9554      -2827.7614
+  22338416.3524  -10127526.84549  -7682460.93147  22338415.8814   22338419.4934
+      -886.8464       -691.0464
+  24518007.2694   -1164990.04549   -900893.19945  24518007.3924   24518009.1804
+       627.1104        488.6574
+  20840529.0914  -23249797.38849 -18101997.73948  20840528.6494   20840530.8424
+     -1678.3094      -1307.7724
+  21988641.7484  -16141513.66449 -12562686.00147  21988641.8634   21988647.8224
+      2241.3174       1746.4884
+  20625095.1834  -22319443.26349 -17149228.44748  20625094.9294   20625098.7234
+       192.5044        150.0014
+  22302661.9914  -15817208.97549 -12304605.47447  22302661.9824   22302667.6744
+      2020.8654       1574.6964
+  21559054.0054  -16292535.43849 -12673626.86547  21559054.2724   21559059.1374
+      1371.6494       1068.8164
+ 05  1 20  6 25  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22929136.9074  -13345547.98449 -10380933.80146  22929136.8354   22929142.5024
+     -3273.2364      -2550.5684
+  24004704.5064   -2697236.22949  -2081420.14945  24004703.5324   24004708.4324
+     -3629.2894      -2828.0154
+  22343534.0764  -10100629.08949  -7661501.63747  22343533.5814   22343539.4784
+      -906.3654       -706.2594
+  24514475.7184   -1183559.99049   -915363.28945  24514473.8334   24514476.1944
+       610.8744        476.0044
+  20850152.8394  -23199220.80849 -18062587.44148  20850152.8644   20850155.2494
+     -1693.4674      -1319.5864
+  21975877.7664  -16208591.12449 -12614954.15847  21975878.0594   21975882.5774
+      2230.4944       1738.0444
+  20624018.0804  -22325104.39649 -17153639.71548  20624017.8484   20624021.5444
+       184.8944        144.0724
+  22291136.0994  -15877781.84049 -12351805.11147  22291135.7854   22291140.5834
+      2017.2804       1571.9114
+  21551275.9994  -16333410.68449 -12705477.69647  21551275.9224   21551280.2354
+      1353.3804       1054.5744
+ 05  1 20  6 25 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22947849.4244  -13247218.37249 -10304313.35446  22947848.4724   22947853.2214
+     -3282.0594      -2557.4434
+  24025426.0444   -2588352.63349  -1996575.80545  24025424.4334   24025429.8204
+     -3629.6404      -2828.2964
+  22348763.7534  -10073145.69849  -7640086.01547  22348763.2144   22348768.8224
+      -925.8774       -721.4644
+  24511032.0444   -1201643.53049   -929454.36645  24511032.5974   24511034.0624
+       594.6924        463.3914
+  20859863.6714  -23148190.06149 -18022823.24148  20859863.6324   20859866.3084
+     -1708.5794      -1331.3584
+  21963176.1564  -16275344.27449 -12666969.60047  21963175.5164   21963179.9304
+      2219.7044       1729.6364
+  20622984.5774  -22330536.81949 -17157872.76748  20622984.2584   20622987.5594
+       177.2594        138.1234
+  22279629.9964  -15938248.11549 -12398921.67747  22279629.4594   22279635.2374
+      2013.7554       1569.1584
+  21543602.1754  -16373735.84149 -12736899.88447  21543602.7604   21543607.1254
+      1335.0024       1040.2614
+ 05  1 20  6 26  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22966612.7314  -13148625.05349 -10227487.39546  22966610.7524   22966614.6794
+     -3290.8134      -2564.2774
+  24046144.7934   -2479463.32649  -1911726.98145  24046145.3434   24046149.6914
+     -3629.7404      -2828.3724
+  22354105.8684  -10045077.37749  -7618214.58547  22354104.9564   22354110.0614
+      -945.3484       -736.6354
+  24507682.7614   -1219240.75549   -943166.47745  24507684.1124   24507685.5084
+       578.4844        450.7634
+  20869661.1514  -23096705.61149 -17982705.50248  20869661.0754   20869663.6004
+     -1723.6944      -1343.1394
+  21950533.9224  -16341772.84349 -12718732.10847  21950533.6904   21950538.8994
+      2208.8654       1721.1874
+  20621994.4664  -22335740.40649 -17161927.51048  20621993.8114   20621997.5524
+       169.6354        132.1784
+  22268144.2384  -15998607.59749 -12445955.04647  22268144.2064   22268148.8104
+      2010.2144       1566.4014
+  21536033.4814  -16413508.91849 -12767891.87247  21536033.8644   21536038.4374
+      1316.5814       1025.9034
+ 05  1 20  6 26 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  22985422.1854  -13049769.59149 -10150457.18246  22985422.5334   22985426.2294
+     -3299.5224      -2571.0494
+  24066867.4544   -2370571.66149  -1826876.30445  24066866.5534   24066873.1264
+     -3629.7394      -2828.3694
+  22359556.9744  -10016425.14249  -7595888.16747  22359556.4314   22359562.4484
+      -964.8054       -751.7954
+  24504427.6064   -1236351.54549   -956499.55645  24504426.5144   24504430.8724
+       562.2454        438.1174
+  20879543.8974  -23044768.24049 -17942234.83948  20879544.0034   20879546.7304
+     -1738.7744      -1354.8914
+  21937955.0044  -16407876.39949 -12770241.37947  21937955.1824   21937960.1314
+      2198.0224       1712.7434
+  20621047.5464  -22340714.94449 -17165803.77548  20621047.1614   20621050.8424
+       161.9994        126.2284
+  22256678.8734  -16058859.98349 -12492904.94347  22256677.9174   22256683.0034
+      2006.6304       1563.6064
+  21528570.1884  -16452727.98449 -12798452.16547  21528570.7604   21528574.9184
+      1298.0874       1011.4934
+ 05  1 20  6 27  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23004284.1724  -12950654.03349 -10073224.29546  23004283.7264   23004287.4894
+     -3308.1394      -2577.7834
+  24087587.2844   -2261680.48949  -1742026.13145  24087587.8474   24087592.9944
+     -3629.6954      -2828.3244
+  22365121.6624   -9987189.72049  -7573107.32147  22365120.8924   22365124.5024
+      -984.1924       -766.9034
+  24501265.4554   -1252975.99149   -969453.69845  24501264.1074   24501266.9254
+       546.0084        425.4544
+  20889513.4214  -22992378.67849 -17901411.81548  20889513.4504   20889516.0084
+     -1753.8404      -1366.6264
+  21925438.5584  -16473654.17149 -12821496.78447  21925438.2344   21925443.2864
+      2187.1754       1704.2964
+  20620144.0854  -22345459.96749 -17169501.19448  20620144.2834   20620148.0544
+       154.3224        120.2514
+  22245233.3534  -16119004.98849 -12539771.17647  22245232.2644   22245238.1484
+      2003.0074       1560.7874
+  21521213.2024  -16491391.20449 -12828579.35847  21521213.3294   21521218.4384
+      1279.5014        997.0124
+ 05  1 20  6 27 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23023195.3254  -12851280.05549  -9995790.03446  23023194.1894   23023198.8394
+     -3316.7454      -2584.4784
+  24108306.2654   -2152792.53649  -1657178.30945  24108307.7104   24108314.2574
+     -3629.5114      -2828.1854
+  22370793.9364   -9957372.05449  -7549872.77047  22370793.9494   22370799.7904
+     -1003.6104       -782.0284
+  24498193.0204   -1269113.87049   -982028.68245  24498192.3744   24498195.1484
+       529.7994        412.8364
+  20899569.0274  -22939537.52349 -17860236.90548  20899569.1294   20899571.4484
+     -1768.8744      -1378.3394
+  21912983.2534  -16539105.89449 -12872498.12947  21912983.0014   21912988.1134
+      2176.2684       1695.7984
+  20619285.6764  -22349975.25449 -17173019.59348  20619284.8954   20619288.4344
+       146.6924        114.3054
+  22233808.3284  -16179042.26849 -12586553.46547  22233807.7314   22233812.6614
+      1999.4424       1558.0074
+  21513961.9434  -16529496.67749 -12858271.91747  21513962.4564   21513966.3864
+      1260.8774        982.4984
+ 05  1 20  6 28  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23042154.5024  -12751649.50749  -9918155.85346  23042153.6874   23042157.3294
+     -3325.2684      -2591.1204
+  24129026.8724   -2043911.50149  -1572335.99145  24129027.0494   24129033.9434
+     -3629.2234      -2827.9624
+  22376579.0454   -9926972.79249  -7526185.03347  22376579.4664   22376584.8214
+     -1022.9904       -797.1344
+  24495216.1284   -1284765.08449   -994224.45045  24495215.0064   24495217.2564
+       513.6084        400.2064
+  20909710.5484  -22886245.68149 -17818710.79748  20909710.5564   20909712.4234
+     -1783.9014      -1390.0474
+  21900591.1894  -16604230.59149 -12923244.64447  21900590.9624   21900595.2084
+      2165.3944       1687.3174
+  20618469.8844  -22354260.39649 -17176358.68048  20618469.6904   20618473.3024
+       138.9934        108.3094
+  22222404.2974  -16238971.60449 -12633251.65347  22222403.9894   22222409.3014
+      1995.8274       1555.1944
+  21506816.5794  -16567042.60249 -12887528.46547  21506817.1924   21506821.5394
+      1242.1954        967.9464
+ 05  1 20  6 28 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23061161.7744  -12651764.25949  -9840323.21546  23061160.6714   23061164.2554
+     -3333.7534      -2597.7324
+  24149743.4794   -1935040.11949  -1487501.15245  24149743.9504   24149752.5164
+     -3628.8334      -2827.6624
+  22382475.3584   -9895992.98249  -7502044.91047  22382473.7454   22382479.5984
+     -1042.3224       -812.1944
+  24492330.4294   -1299929.76649  -1006041.08145  24492329.7734   24492330.1874
+       497.3764        387.5624
+  20919937.8964  -22832503.61649 -17776833.88348  20919937.1414   20919939.5134
+     -1798.8894      -1401.7334
+  21888259.7204  -16669028.11349 -12973736.22447  21888260.0754   21888263.6014
+      2154.4784       1678.8114
+  20617698.0764  -22358315.16549 -17179518.25148  20617697.9104   20617701.7664
+       131.3114        102.3214
+  22211020.5074  -16298792.73449 -12679865.52147  22211020.3244   22211025.0674
+      1992.2374       1552.3994
+  21499778.9224  -16604027.06149 -12916347.52247  21499779.6434   21499783.8334
+      1223.4644        953.3524
+ 05  1 20  6 29  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23080215.7504  -12551626.10949  -9762293.52746  23080215.8854   23080220.3694
+     -3342.1554      -2604.2784
+  24170459.0684   -1826181.27049  -1402676.05045  24170459.3374   24170467.3674
+     -3628.4064      -2827.3274
+  22388481.2344   -9864433.67049  -7477453.22947  22388480.3214   22388485.5304
+     -1061.6334       -827.2524
+  24489534.6604   -1314607.85449  -1017478.58645  24489535.6054   24489538.5854
+       481.1424        374.9194
+  20930249.3924  -22778312.26749 -17734606.87348  20930249.3514   20930251.6454
+     -1813.8574      -1413.3944
+  21875991.4334  -16733498.04549 -13023972.53347  21875991.6564   21875996.1594
+      2143.5194       1670.2804
+  20616970.7274  -22362139.31449 -17182498.11248  20616970.0314   20616974.0064
+       123.6134         96.3214
+  22199657.8204  -16358505.31249 -12726394.79847  22199657.1664   22199662.6744
+      1988.5894       1549.5474
+  21492848.2434  -16640448.37349 -12944727.76047  21492848.8004   21492853.1184
+      1204.6364        938.6744
+ 05  1 20  6 29 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23099319.7734  -12451236.95749  -9684068.19146  23099319.3524   23099324.5954
+     -3350.4594      -2610.7484
+  24191172.5894   -1717338.21749  -1317863.21845  24191171.9144   24191178.3914
+     -3627.8064      -2826.8514
+  22394595.7754   -9832295.58049  -7452410.56047  22394595.3404   22394600.3014
+     -1080.9134       -842.2764
+  24486836.1754   -1328799.54249  -1028537.06345  24486834.7824   24486835.2284
+       464.9244        362.2704
+  20940646.9024  -22723672.54549 -17692030.47648  20940646.8614   20940649.1414
+     -1828.7894      -1425.0314
+  21863786.8974  -16797639.41349 -13073952.81047  21863786.1354   21863790.5274
+      2132.5594       1661.7334
+  20616286.9704  -22365732.32849 -17185297.87048  20616286.3154   20616290.2064
+       115.9134         90.3194
+  22188315.5004  -16418109.03449 -12772839.24447  22188315.1934   22188320.4964
+      1984.9544       1546.7194
+  21486025.3484  -16676304.71349 -12972667.75047  21486025.5604   21486029.9964
+      1185.7814        923.9834
+ 05  1 20  6 30  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23118470.7464  -12350598.81049  -9605648.88146  23118470.6924   23118474.8684
+     -3358.7254      -2617.1714
+  24211882.2054   -1608513.88749  -1233064.98745  24211881.2844   24211886.2484
+     -3627.1284      -2826.3454
+  22400821.9234   -9799579.57549  -7426917.58647  22400820.9464   22400826.1404
+     -1100.1434       -857.2574
+  24484224.8074   -1342504.97149  -1039216.58345  24484226.2934   24484228.9844
+       448.7454        349.6754
+  20951129.6704  -22668585.00649 -17649105.12648  20951129.4494   20951131.9444
+     -1843.7054      -1436.6524
+  21851642.4954  -16861452.11849 -13123677.01147  21851642.7964   21851647.8564
+      2121.5954       1653.1904
+  20615646.8534  -22369094.01349 -17187917.35148  20615646.5434   20615650.7074
+       108.2094         84.3214
+  22176994.0004  -16477603.69149 -12819198.70847  22176993.5174   22176998.9774
+      1981.3184       1543.8784
+  21479309.8294  -16711594.24649 -13000166.07947  21479310.0074   21479314.5044
+      1166.8824        909.2564
+ 05  1 20  6 30 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23137668.8674  -12249713.53349  -9527037.02246  23137668.4234   23137672.8024
+     -3366.9084      -2623.5714
+  24232585.7614   -1499711.10649  -1148283.66445  24232584.8274   24232590.9174
+     -3626.3624      -2825.7274
+  22407158.2524   -9766286.90549  -7400975.23347  22407157.2934   22407161.9404
+     -1119.3564       -872.2264
+  24481710.1834   -1355724.26049  -1049517.33645  24481712.0244   24481714.8854
+       432.5594        337.0554
+  20961697.7424  -22613050.70149 -17605831.65448  20961697.5824   20961699.8514
+     -1858.5864      -1448.2474
+  21839562.3124  -16924935.62849 -13173144.71647  21839562.3894   21839567.2054
+      2110.6504       1644.6574
+  20615051.3614  -22372224.00249 -17190356.30948  20615051.1424   20615054.8304
+       100.4834         78.2984
+  22165693.1014  -16536989.02249 -12865472.98747  22165692.9884   22165697.8544
+      1977.6934       1541.0614
+  21472703.4164  -16746315.32349 -13027221.45247  21472703.3144   21472707.4364
+      1147.9274        894.4884
+ 05  1 20  6 31  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23156914.0304  -12148582.89349  -9448233.96246  23156913.6484   23156917.0094
+     -3375.0864      -2629.9284
+  24253285.3744   -1390932.67049  -1063521.18045  24253283.4174   24253289.8034
+     -3625.5604      -2825.1094
+  22413601.2904   -9732418.56849  -7374584.33747  22413601.2814   22413607.1134
+     -1138.5294       -887.1594
+  24479290.8774   -1368457.32049  -1059439.19245  24479288.0464   24479292.4794
+       416.2944        324.3894
+  20972349.9774  -22557070.28349 -17562210.56048  20972350.0464   20972352.6324
+     -1873.4714      -1459.8484
+  21827544.5114  -16988089.36649 -13222355.42047  21827544.3844   21827549.0464
+      2099.6464       1636.0874
+  20614500.2454  -22375122.06049 -17192614.52148  20614499.4554   20614503.4794
+        92.7004         72.2294
+  22154413.5034  -16596264.67849 -12911661.81047  22154413.1724   22154418.1194
+      1974.0084       1538.1884
+  21466204.1484  -16780466.21649 -13053832.54147  21466203.9824   21466208.2504
+      1128.8814        879.6514
+ 05  1 20  6 31 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23176203.9004  -12047208.55149  -9369240.97246  23176203.3434   23176208.0974
+     -3383.1754      -2636.2394
+  24273976.6724   -1282181.94049   -978780.42945  24273975.8924   24273983.9604
+     -3624.5724      -2824.3294
+  22420156.5224   -9697975.50649  -7347745.57047  22420156.2284   22420161.2034
+     -1157.6644       -902.0824
+  24476958.6384   -1380704.49349  -1068982.45045  24476957.0174   24476959.7924
+       400.1464        311.7914
+  20983088.3064  -22500644.62949 -17518242.52348  20983087.5974   20983089.8534
+     -1888.2684      -1471.3804
+  21815589.9774  -17050913.20949 -13271309.05747  21815589.2264   21815593.9304
+      2088.6374       1627.5084
+  20613992.1844  -22377787.81449 -17194691.73748  20613992.0284   20613996.1894
+        84.9794         66.2164
+  22143154.6424  -16655430.41449 -12957764.97747  22143154.5724   22143159.4294
+      1970.3254       1535.3164
+  21459814.4274  -16814045.28149 -13079998.02947  21459814.4774   21459818.7514
+      1109.7584        864.7444
+ 05  1 20  6 32  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23195539.2454  -11945592.41049  -9290059.58746  23195540.6534   23195544.7244
+     -3391.2254      -2642.5174
+  24294666.7984   -1173461.46849   -894063.18845  24294667.9924   24294673.0094
+     -3623.5064      -2823.5154
+  22426821.2364   -9662958.88149  -7320459.90047  22426819.2234   22426823.9674
+     -1176.7664       -916.9654
+  24474720.7594   -1392465.81549  -1078147.14245  24474720.2504   24474722.6934
+       383.9464        299.1834
+  20993909.3124  -22443774.64249 -17473928.26548  20993909.1784   20993912.0504
+     -1903.0334      -1482.8854
+  21803697.8354  -17113406.61049 -13320005.25047  21803697.4874   21803702.7034
+      2077.5984       1618.9064
+  20613529.6184  -22380220.94049 -17196587.68848  20613529.2464   20613533.2354
+        77.2044         60.1574
+  22131916.8994  -16714485.87449 -13003782.20747  22131916.0704   22131921.4014
+      1966.6594       1532.4604
+  21453533.0844  -16847050.78649 -13105716.61547  21453533.2894   21453537.7284
+      1090.5794        849.8014
+ 05  1 20  6 32 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23214924.6514  -11843736.42549  -9210691.31746  23214923.5794   23214927.4324
+     -3399.1574      -2648.6924
+  24315352.8364   -1064774.24849   -809371.77345  24315353.1134   24315355.1084
+     -3622.3274      -2822.5974
+  22433592.3534   -9627369.63249  -7292728.02047  22433591.9774   22433596.8594
+     -1195.8494       -931.8294
+  24472574.2234   -1403741.36249  -1086933.26545  24472574.4954   24472576.7414
+       367.7684        286.5724
+  21004816.2404  -22386461.17249 -17429268.41248  21004815.5344   21004818.2084
+     -1917.8084      -1494.3974
+  21791868.7654  -17175568.97749 -13368443.44247  21791868.1614   21791873.2654
+      2066.4734       1610.2324
+  20613111.3454  -22382421.05149 -17198302.06548  20613110.6114   20613114.8004
+        69.4704         54.1304
+  22120700.7424  -16773430.62249 -13049713.17447  22120700.0124   22120704.7574
+      1962.9704       1529.5854
+  21447362.0174  -16879481.12749 -13130987.01547  21447362.4144   21447367.2214
+      1071.4564        834.8944
+ 05  1 20  6 33  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23234353.1534  -11741641.94249  -9131137.21646  23234351.1144   23234356.2084
+     -3407.0914      -2654.8794
+  24336026.5144    -956123.16149   -724708.57245  24336025.8194   24336032.6984
+     -3621.1684      -2821.6834
+  22440472.6244   -9591208.98549  -7264550.89047  22440472.4264   22440478.2344
+     -1214.8584       -946.6324
+  24470521.1114   -1414531.39349  -1095341.10145  24470521.8234   24470521.6344
+       351.6174        273.9884
+  21015806.8474  -22328705.20649 -17384263.78848  21015806.7424   21015809.1124
+     -1932.5784      -1505.9034
+  21780102.4334  -17237400.10149 -13416623.52247  21780102.1924   21780106.7984
+      2055.4784       1601.6704
+  20612737.1784  -22384387.96449 -17199834.73148  20612736.1284   20612740.4474
+        61.6794         48.0664
+  22109503.9814  -16832264.29749 -13095557.59447  22109504.3634   22109508.9514
+      1959.2504       1526.6884
+  21441300.2964  -16911334.62849 -13155807.91947  21441300.9144   21441304.6714
+      1052.2054        819.8974
+ 05  1 20  6 33 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23253824.1674  -11639311.66749  -9051399.37446  23253824.0574   23253828.2244
+     -3414.9144      -2660.9784
+  24356694.8034    -847511.27849   -640075.92245  24356694.7894   24356699.4624
+     -3619.6984      -2820.5494
+  22447463.0654   -9554477.93649  -7235929.29147  22447462.1024   22447468.0504
+     -1233.8784       -961.4674
+  24468560.0544   -1424836.00349  -1103370.69745  24468560.1344   24468562.0684
+       335.3934        261.3514
+  21026881.3374  -22270507.64349 -17338915.04648  21026881.2274   21026883.7824
+     -1947.2884      -1517.3744
+  21768399.5294  -17298899.61049 -13464545.20847  21768399.3944   21768403.9354
+      2044.4314       1593.0624
+  20612407.3804  -22386121.10849 -17201185.22448  20612406.7834   20612410.6994
+        53.8784         41.9844
+  22098330.1864  -16890986.72749 -13141315.33347  22098329.3414   22098334.7464
+      1955.5414       1523.7974
+  21435349.3184  -16942609.80149 -13180178.19947  21435349.6674   21435353.5394
+      1032.8814        804.8494
+ 05  1 20  6 34  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23273341.8484  -11536747.21649  -8971479.05246  23273341.0864   23273345.2164
+     -3422.6644      -2667.0334
+  24377353.3554    -738941.44849   -555476.01945  24377354.3914   24377360.9404
+     -3618.2354      -2819.4094
+  22454560.7714   -9517177.72049  -7206864.18147  22454560.6494   22454565.7954
+     -1252.8014       -976.2074
+  24466691.4804   -1434655.80749  -1111022.49045  24466691.1704   24466695.0474
+       319.2504        248.7624
+  21038039.5444  -22211869.23249 -17293222.78748  21038039.7234   21038042.6494
+     -1961.9554      -1528.7984
+  21756759.7104  -17360066.78149 -13512207.90847  21756759.4214   21756764.3974
+      2033.3884       1584.4564
+  20612121.9504  -22387620.27749 -17202353.40548  20612121.5274   20612125.4814
+        46.0774         35.9014
+  22087175.7734  -16949597.48349 -13186986.04447  22087175.7624   22087181.3214
+      1951.8154       1520.8954
+  21429507.8554  -16973305.02949 -13204096.54747  21429508.2774   21429511.8964
+      1013.5124        789.7494
+ 05  1 20  6 34 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23292903.4494  -11433950.58449  -8891377.79646  23292903.6784   23292906.2124
+     -3430.4124      -2673.0604
+  24398005.3174    -630416.74149   -470911.23345  24398006.0164   24398011.7894
+     -3616.7124      -2818.2224
+  22461767.0394   -9479309.57749  -7177356.52746  22461766.3024   22461771.4174
+     -1271.7564       -990.9824
+  24464916.3264   -1443990.83449  -1118296.53745  24464913.3504   24464919.2144
+       303.0624        236.1634
+  21049281.7454  -22152790.96749 -17247187.78348  21049281.8704   21049284.5484
+     -1976.5994      -1540.2104
+  21745182.8834  -17420901.30249 -13559611.40747  21745182.7174   21745187.7104
+      2022.2574       1575.7804
+  20611880.5874  -22388885.01449 -17203338.91248  20611880.4134   20611884.4714
+        38.2364         29.7934
+  22076044.0214  -17008096.24749 -13232569.49547  22076044.0964   22076049.5484
+      1948.0894       1517.9904
+  21423777.8654  -17003418.66949 -13227561.73047  21423778.2664   21423781.9514
+       994.1194        774.6394
+ 05  1 20  6 35  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23312509.8934  -11330923.66849  -8811097.12846  23312508.4384   23312513.4944
+     -3438.0334      -2678.9674
+  24418649.7764    -521940.10849   -386384.03245  24418648.9604   24418654.8134
+     -3615.1284      -2816.9844
+  22469080.5974   -9440874.68149  -7147407.26847  22469080.1904   22469086.0904
+     -1290.5964      -1005.6634
+  24463228.4724   -1452841.22149  -1125192.95145  24463229.8304   24463232.2304
+       286.9214        223.5634
+  21060608.1694  -22093273.78849 -17200810.76848  21060607.6714   21060610.0624
+     -1991.2284      -1551.6074
+  21733669.5884  -17481403.00149 -13606755.56547  21733670.0294   21733675.1924
+      2011.1844       1567.1564
+  20611684.5504  -22389915.13249 -17204141.60348  20611684.5144   20611688.5474
+        30.4174         23.6994
+  22064933.5254  -17066482.75749 -13278065.46247  22064933.1644   22064938.8354
+      1944.3424       1515.0704
+  21418158.4184  -17032949.39649 -13250572.67547  21418158.6074   21418162.0664
+       974.6424        759.4614
+ 05  1 20  6 35 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23332157.9924  -11227668.22749  -8730638.36446  23332156.7534   23332162.3144
+     -3445.6114      -2684.8864
+  24439282.3234    -413514.06549   -301896.17245  24439280.5264   24439285.1554
+     -3613.2634      -2815.5314
+  22476502.4534   -9401874.10749  -7117017.19746  22476501.5134   22476506.7904
+     -1309.4134      -1020.3294
+  24461640.1934   -1461207.51449  -1131712.13245  24461636.5984   24461641.0404
+       270.8254        211.0324
+  21072016.3154  -22033318.80349 -17154092.60448  21072016.5434   21072019.0134
+     -2005.7474      -1562.9204
+  21722221.3864  -17541571.44049 -13653640.03647  21722220.2634   21722225.1364
+      2000.0484       1558.4744
+  20611533.7944  -22390710.19849 -17204761.13248  20611533.1504   20611537.2794
+        22.5944         17.6054
+  22053845.4024  -17124756.70849 -13323473.74147  22053844.6224   22053849.2434
+      1940.5944       1512.1524
+  21412650.3314  -17061895.62049 -13273128.16847  21412650.1114   21412654.1914
+       955.1744        744.2874
+ 05  1 20  6 36  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23351849.5724  -11124185.86349  -8650002.77946  23351848.8454   23351853.6434
+     -3453.1784      -2690.7834
+  24459903.5174    -305141.76049   -217450.22145  24459904.3474   24459910.6874
+     -3611.4384      -2814.1064
+  22484032.2374   -9362308.94949  -7086187.21547  22484031.6434   22484036.0644
+     -1328.2174      -1034.9774
+  24460139.2604   -1469090.01149  -1137854.34545  24460138.3274   24460141.0224
+       254.6744        198.4504
+  21083509.8834  -21972926.95849 -17107034.03548  21083509.1444   21083511.6374
+     -2020.3274      -1574.2774
+  21710833.7894  -17601406.11949 -13700264.44447  21710833.9674   21710838.7834
+      1988.9354       1549.8214
+  20611427.9384  -22391269.87549 -17205197.25348  20611427.1364   20611430.7614
+        14.7314         11.4824
+  22042777.1594  -17182917.68149 -13368793.97247  22042776.4124   22042781.8244
+      1936.8224       1509.2094
+  21407251.9394  -17090255.84149 -13295227.04547  21407253.2554   21407257.6234
+       935.5774        729.0304
+ 05  1 20  6 36 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23371583.0734  -11020479.15649  -8569192.37946  23371582.9844   23371588.3124
+     -3460.5894      -2696.5654
+  24480514.3784    -196826.06749   -133048.37045  24480515.9294   24480523.0584
+     -3609.5554      -2812.6454
+  22491667.8794   -9322180.82549  -7054918.52547  22491667.4174   22491672.6574
+     -1346.9634      -1049.5814
+  24458731.0214   -1476488.97149  -1143619.77645  24458730.2444   24458733.2084
+       238.5704        185.8944
+  21095084.6714  -21912099.12249 -17059635.73748  21095084.2654   21095086.8474
+     -2034.8724      -1585.6114
+  21699511.5274  -17660906.85249 -13746628.63047  21699511.4844   21699516.4724
+      1977.7864       1541.1344
+  20611365.2864  -22391593.73849 -17205449.61648  20611365.1454   20611369.1764
+         6.8624          5.3464
+  22031730.4714  -17240965.34349 -13414025.91647  22031730.4194   22031735.8854
+      1933.0324       1506.2644
+  21401968.0604  -17118028.57149 -13316868.13347  21401968.1144   21401972.3514
+       915.9814        713.7534
+ 05  1 20  6 37  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23391359.4694  -10916549.72649  -8488208.44546  23391359.9034   23391365.5554
+     -3467.9874      -2702.3154
+  24501116.0054     -88569.67749    -48692.76145  24501116.4034   24501122.4354
+     -3607.5134      -2811.0464
+  22499411.8754   -9281490.83349  -7023212.05247  22499411.1184   22499415.4034
+     -1365.6814      -1064.1724
+  24457414.7784   -1483404.91249  -1149008.82745  24457414.3904   24457416.8464
+       222.4894        173.3844
+  21106741.7984  -21850836.38649 -17011898.55448  21106741.9514   21106744.8024
+     -2049.3364      -1596.8864
+  21688253.4854  -17720073.51049 -13792732.50447  21688253.0134   21688256.8864
+      1966.6434       1532.4514
+  20611348.7574  -22391681.46249 -17205517.98448  20611348.4354   20611352.1764
+        -1.0104          -.7844
+  22020706.1714  -17298899.24249 -13459169.20847  22020706.4364   22020711.1874
+      1929.2154       1503.2904
+  21396795.1784  -17145212.52049 -13338050.43547  21396795.8334   21396799.8894
+       896.2944        698.4134
+ 05  1 20  6 37 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23411183.1044  -10812399.62849  -8407052.55146  23411181.2464   23411185.1264
+     -3475.3254      -2708.0514
+  24521705.7744      19624.47749     35614.39945  24521705.0414   24521709.3644
+     -3605.4304      -2809.4364
+  22507259.9144   -9240240.28849  -6991068.76447  22507259.4374   22507265.0134
+     -1384.3484      -1078.7154
+  24456188.8444   -1489837.89349  -1154021.54145  24456189.0234   24456193.9894
+       206.3754        160.8134
+  21118483.0834  -21789139.76849 -16963823.27448  21118482.6014   21118485.5834
+     -2063.7594      -1608.1244
+  21677057.0874  -17778905.46749 -13838575.55647  21677057.1874   21677061.5814
+      1955.4834       1523.7524
+  20611377.1244  -22391532.70349 -17205402.08648  20611376.5374   20611380.7454
+        -8.8984         -6.9344
+  22009703.8864  -17356719.05749 -13504223.61347  22009703.7374   22009708.2444
+      1925.3914       1500.3054
+  21391734.6004  -17171806.27649 -13358772.83447  21391734.7464   21391739.0924
+       876.6184        683.0744
+ 05  1 20  6 38  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23431042.5754  -10708030.58149  -8325726.06046  23431042.1594   23431044.8464
+     -3482.5834      -2713.7044
+  24542284.3724     127753.36149    119870.73445  24542281.7564   24542285.2794
+     -3603.1694      -2807.6634
+  22515215.8724   -9198430.67549  -6958489.85247  22515216.2234   22515221.8144
+     -1402.9674      -1093.2204
+  24455058.5714   -1495788.54049  -1158658.40745  24455059.1364   24455061.8074
+       190.3384        148.3134
+  21130305.7944  -21727010.25249 -16915410.68448  21130305.6264   21130308.0184
+     -2078.1904      -1619.3684
+  21665925.9524  -17837402.46949 -13884157.61447  21665925.6744   21665929.8074
+      1944.3134       1515.0474
+  20611450.5474  -22391146.95749 -17205101.51348  20611450.2204   20611454.2314
+       -16.8244        -13.1054
+  21998723.9584  -17414424.36649 -13549188.78447  21998722.9124   21998727.6654
+      1921.6014       1497.3574
+  21386786.9694  -17197808.44549 -13379034.26247  21386786.7554   21386791.0054
+       856.8584        667.6834
+ 05  1 20  6 38 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23450944.7364  -10603444.56049  -8244230.47346  23450943.4864   23450947.9064
+     -3489.7934      -2719.3094
+  24562845.0504     235814.39349    204074.15545  24562843.6984   24562849.9344
+     -3600.8144      -2805.8284
+  22523279.7324   -9156063.25249  -6925476.27347  22523278.6074   22523284.0924
+     -1421.5314      -1107.6844
+  24454017.4614   -1501257.23649  -1162919.72745  24454016.8034   24454020.8614
+       174.2844        135.8014
+  21142210.5894  -21664449.10249 -16866661.75148  21142210.6144   21142212.7114
+     -2092.5634      -1630.5654
+  21654857.5424  -17895564.13849 -13929478.38847  21654857.7724   21654862.4964
+      1933.1104       1506.3184
+  20611568.8674  -22390524.04949 -17204616.13248  20611568.6844   20611572.7904
+       -24.7184        -19.2594
+  21987763.7444  -17472014.73049 -13594064.38647  21987763.8844   21987768.3354
+      1917.7654       1494.3634
+  21381951.4214  -17223217.64449 -13398833.63847  21381951.8324   21381955.6174
+       837.1014        652.2904
+ 05  1 20  6 39  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23470886.7624  -10498643.65349  -8162567.45646  23470886.0804   23470890.9814
+     -3496.9254      -2724.8764
+  24583398.3664     343804.50549    288222.31745  24583394.3254   24583401.8934
+     -3598.4954      -2804.0164
+  22531447.1084   -9113139.29749  -6892029.03947  22531447.2904   22531451.4394
+     -1440.0704      -1122.1404
+  24453067.7354   -1506244.44149  -1166805.84845  24453068.2044   24453071.5164
+       158.1944        123.2704
+  21154197.4284  -21601457.22649 -16817577.18348  21154197.4954   21154199.7114
+     -2106.8964      -1641.7384
+  21643853.7424  -17953390.22849 -13974537.66147  21643853.7964   21643858.4384
+      1921.9454       1497.6204
+  20611733.0834  -22389663.59049 -17203945.63648  20611732.6394   20611736.4094
+       -32.6484        -25.4374
+  21976825.9154  -17529489.83249 -13638850.18347  21976826.2514   21976830.9634
+      1913.8944       1491.3454
+  21377228.2794  -17248032.55249 -13418169.92247  21377228.9914   21377234.0274
+       817.2894        636.8494
+ 05  1 20  6 39 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23490871.4364  -10393629.91749  -8080738.59646  23490869.8754   23490873.9894
+     -3503.9794      -2730.3674
+  24603925.1084     451720.68848    372312.87145  24603927.3554   24603933.8914
+     -3596.0334      -2802.1104
+  22539721.5814   -9069660.32149  -6858149.30547  22539720.7664   22539724.5774
+     -1458.5384      -1136.5244
+  24452209.6554   -1510750.34049  -1170316.92845  24452210.3844   24452215.1514
+       142.1324        110.7574
+  21166266.0464  -21538035.66849 -16768157.80348  21166266.0974   21166268.5614
+     -2121.2134      -1652.8974
+  21632913.9614  -18010880.47449 -14019335.24048  21632914.1144   21632918.4704
+      1910.7144       1488.8604
+  20611941.9024  -22388565.12449 -17203089.68548  20611941.5674   20611945.1924
+       -40.6064        -31.6424
+  21965911.4764  -17586849.28049 -13683545.85047  21965910.8894   21965915.9114
+      1910.0264       1488.3404
+  21372620.0014  -17272251.95749 -13437042.18847  21372620.4154   21372625.0984
+       797.4184        621.3604
+ 05  1 20  6 40  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23510894.3814  -10288405.04449  -7998745.22146  23510894.2704   23510897.4564
+     -3510.9954      -2735.8444
+  24624455.6254     559560.35549    456343.85545  24624452.3094   24624459.4294
+     -3593.3814      -2800.0434
+  22548098.9254   -9025627.71449  -6823838.18147  22548099.2474   22548104.2814
+     -1476.9884      -1150.8984
+  24451447.0654   -1514775.85449  -1173453.69945  24451444.1584   24451448.2974
+       126.1574         98.2994
+  21178416.9774  -21474185.75749 -16718404.64048  21178416.9114   21178418.7804
+     -2135.4634      -1663.9984
+  21622037.3214  -18068034.72949 -14063871.01747  21622037.4994   21622042.1684
+      1899.5424       1480.1624
+  20612196.2294  -22387228.31949 -17202048.02648  20612195.9914   20612199.6774
+       -48.5464        -37.8254
+  21955019.0634  -17644092.56749 -13728150.99647  21955018.0994   21955023.1224
+      1906.1824       1485.3454
+  21368124.8694  -17295874.54349 -13455449.39847  21368125.4294   21368129.3244
+       777.4674        605.8214
+ 05  1 20  6 40 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23530957.4954  -10182971.41949  -7916589.15746  23530956.9984   23530960.3094
+     -3517.8964      -2741.2074
+  24644961.3494     667320.63949    540312.94645  24644957.3664   24644961.6614
+     -3590.7004      -2797.9454
+  22556584.4534   -8981042.92449  -6789096.77147  22556583.8674   22556589.3654
+     -1495.3644      -1165.2234
+  24450768.4204   -1518321.49249  -1176216.52245  24450770.7494   24450774.4684
+       110.1944         85.8644
+  21190647.5024  -21409908.43649 -16668318.42148  21190647.6684   21190650.7124
+     -2149.6884      -1675.0844
+  21611225.0984  -18124852.94849 -14108144.93647  21611224.9424   21611230.0334
+      1888.3304       1471.4274
+  20612495.8764  -22385652.66949 -17200820.25448  20612495.8354   20612499.4014
+       -56.5094        -44.0364
+  21944147.8774  -17701219.38649 -13772665.40047  21944147.1244   21944151.9674
+      1902.2824       1482.2904
+  21363744.0224  -17318899.07749 -13473390.59047  21363744.1164   21363748.0974
+       757.5194        590.2744
+ 05  1 20  6 41  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23551058.6694  -10077330.87949  -7834271.89446  23551059.5814   23551063.4294
+     -3524.7854      -2746.5964
+  24665447.1834     774998.96849    624218.17945  24665446.9714   24665452.7744
+     -3587.8454      -2795.7274
+  22565173.9334   -8935907.34749  -6753926.19747  22565172.6784   22565177.8164
+     -1513.7024      -1179.5014
+  24450182.8504   -1521387.70449  -1178605.77245  24450184.7244   24450189.5414
+        94.1934         73.4064
+  21202960.1524  -21345204.92649 -16617900.11248  21202960.2314   21202963.3464
+     -2163.8814      -1686.1454
+  21600478.2504  -18181334.58249 -14152156.58548  21600477.5604   21600482.0284
+      1877.1014       1462.6734
+  20612841.7574  -22383837.88949 -17199406.13948  20612841.3104   20612844.7124
+       -64.4854        -50.2494
+  21933299.2844  -17758229.36449 -13817088.76147  21933298.7854   21933303.6464
+      1898.3604       1479.2444
+  21359475.8144  -17341324.39149 -13490864.85547  21359476.4664   21359480.6724
+       737.5194        574.6914
+ 05  1 20  6 41 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23571201.9354   -9971485.27849  -7751794.85746  23571201.1714   23571205.9854
+     -3531.6064      -2751.9004
+  24685919.3504     882592.39849    708057.27745  24685920.4524   24685925.5174
+     -3584.9504      -2793.4644
+  22573867.3114   -8890222.64749  -6718327.72047  22573866.3974   22573871.0174
+     -1531.9704      -1193.7444
+  24449696.8014   -1523974.93249  -1180621.77945  24449693.7794   24449697.8554
+        78.2664         60.9824
+  21215354.6444  -21280076.23749 -16567150.49948  21215354.4254   21215356.9674
+     -2178.0274      -1697.1624
+  21589793.3664  -18237479.28249 -14195905.69447  21589793.5904   21589797.4374
+      1865.8654       1453.9244
+  20613232.2254  -22381783.61449 -17197805.41148  20613231.8034   20613235.8404
+       -72.4614        -56.4654
+  21922473.0014  -17815122.05049 -13861420.73147  21922472.3994   21922477.1714
+      1894.4734       1476.2134
+  21355322.8264  -17363149.28649 -13507871.27247  21355323.1644   21355327.7934
+       717.5394        559.1204
+ 05  1 20  6 42  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23591381.3774   -9865436.60849  -7669159.55546  23591381.5344   23591386.4554
+     -3538.2964      -2757.1154
+  24706380.1954     990098.04349    791827.84245  24706378.9344   24706384.1494
+     -3581.9764      -2791.1544
+  22582664.9784   -8843990.18249  -6682302.42447  22582663.9634   22582669.6734
+     -1550.1774      -1207.9274
+  24449293.7134   -1526083.56749  -1182264.92745  24449292.8394   24449295.7264
+        62.2694         48.5374
+  21227828.7254  -21214523.58949 -16516070.51948  21227828.6944   21227831.0034
+     -2192.1404      -1708.1614
+  21579173.8094  -18293286.97649 -14239392.20648  21579173.5134   21579178.1094
+      1854.6544       1445.1834
+  20613669.0874  -22379489.26749 -17196017.61448  20613668.6394   20613672.5854
+       -80.4544        -62.6924
+  21911668.5914  -17871896.99049 -13905660.93847  21911668.0824   21911673.3164
+      1890.5374       1473.1454
+  21351284.3354  -17384372.55249 -13524408.87547  21351284.6964   21351289.0324
+       697.4544        543.4734
+ 05  1 20  6 42 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23611600.8074   -9759187.28149  -7586367.88445  23611599.7074   23611604.8074
+     -3545.0294      -2762.3504
+  24726822.8084    1097513.35849    875528.09045  24726821.6284   24726824.6224
+     -3578.9884      -2788.8244
+  22591566.2754   -8797211.58349  -6645851.55147  22591566.0464   22591570.2134
+     -1568.3844      -1222.1184
+  24448979.1644   -1527714.27449  -1183535.59745  24448981.1804   24448987.6474
+        46.4344         36.1854
+  21240383.5324  -21148548.35349 -16464661.25348  21240383.1494   21240385.7524
+     -2206.1864      -1719.1064
+  21568618.4614  -18348757.63149 -14282616.08848  21568617.8584   21568622.1404
+      1843.3844       1436.4024
+  20614151.4164  -22376954.56249 -17194042.50848  20614150.8104   20614155.0564
+       -88.5004        -68.9634
+  21900887.0374  -17928553.77749 -13949809.08647  21900887.0934   21900892.2614
+      1886.5844       1470.0674
+  21347360.1594  -17404993.09249 -13540476.83547  21347360.5794   21347364.6544
+       677.3054        527.7684
+ 05  1 20  6 43  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23631856.1474   -9652738.82149  -7503421.09245  23631856.9884   23631862.4134
+     -3551.5634      -2767.4414
+  24747242.7994    1204835.49949    959155.76545  24747243.6054   24747249.5464
+     -3575.7654      -2786.3084
+  22600571.8654   -8749888.15649  -6608976.16446  22600571.4184   22600576.1264
+     -1586.5214      -1236.2454
+  24448758.6714   -1528867.87049  -1184434.47945  24448760.6694   24448766.8794
+        30.5334         23.7974
+  21253018.1744  -21082151.70649 -16412923.61848  21253018.0694   21253020.4504
+     -2220.2414      -1730.0564
+  21558126.4924  -18403890.93249 -14325577.10548  21558126.4264   21558131.0124
+      1832.1524       1427.6614
+  20614679.3424  -22374179.21449 -17191879.89348  20614678.7754   20614683.1084
+       -96.5434        -75.2254
+  21890129.0714  -17985092.00549 -13993864.85147  21890128.0564   21890133.3594
+      1882.6214       1466.9804
+  21343551.1424  -17425009.79249 -13556074.24447  21343551.6634   21343556.1124
+       657.1714        512.0854
+ 05  1 20  6 43 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23652150.3554   -9546093.15949  -7420320.62645  23652149.5794   23652155.5684
+     -3558.1414      -2772.5674
+  24767639.8534    1312061.62048   1042708.63645  24767641.4394   24767653.3734
+     -3572.6144      -2783.8604
+  22609679.5664   -8702021.75649  -6571677.65446  22609679.2974   22609684.6664
+     -1604.5854      -1250.3194
+  24448634.1614   -1529545.05349  -1184962.19045  24448631.8094   24448635.9344
+        14.6064         11.3774
+  21265733.1864  -21015334.49349 -16360858.26848  21265733.1184   21265735.1274
+     -2234.2314      -1740.9594
+  21547699.0444  -18458686.81149 -14368275.18948  21547698.9474   21547703.2844
+      1820.9054       1418.8864
+  20615253.3464  -22371162.57549 -17189529.27748  20615253.0874   20615256.9474
+      -104.5914        -81.4994
+  21879392.1034  -18041511.13349 -14037827.80847  21879391.7304   21879396.8624
+      1878.6514       1463.8824
+  21339856.6754  -17444421.44749 -13571200.21147  21339857.4684   21339861.8064
+       636.9944        496.3644
+ 05  1 20  6 44  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23672480.9814   -9439252.44749  -7337068.16745  23672481.4844   23672486.1744
+     -3564.5904      -2777.6104
+  24788032.5484    1419188.97549   1126184.48345  24788032.4944   24788040.3834
+     -3569.1274      -2781.1344
+  22618891.9094   -8653613.68249  -6533957.06747  22618891.4264   22618896.7164
+     -1622.6324      -1264.3904
+  24448595.9674   -1529746.21149  -1185118.95445  24448596.5874   24448601.1994
+        -1.2304          -.9604
+  21278527.6924  -20948098.28049 -16308466.42548  21278527.1814   21278530.0304
+     -2248.1714      -1751.8194
+  21537336.0324  -18513144.78149 -14410709.96948  21537336.0414   21537340.0774
+      1809.6324       1410.1064
+  20615874.2734  -22367904.45549 -17186990.49848  20615873.3294   20615877.0384
+      -112.6494        -87.7804
+  21868678.4364  -18097810.74149 -14081697.63947  21868678.1994   21868683.2404
+      1874.6434       1460.7594
+  21336279.0084  -17463227.16849 -13585854.01147  21336279.3414   21336283.4934
+       616.7654        480.5984
+ 05  1 20  6 44 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23692850.6774   -9332218.97849  -7253665.47345  23692849.5104   23692853.9924
+     -3570.9534      -2782.5614
+  24808400.9124    1526214.98249   1209581.35045  24808398.9654   24808406.8484
+     -3565.8114      -2778.5564
+  22628205.9384   -8604665.55449  -6495815.67846  22628205.6944   22628210.7594
+     -1640.5754      -1278.3594
+  24448644.9584   -1529471.87249  -1184905.18245  24448646.3634   24448652.1024
+       -17.0624        -13.2974
+  21291401.2884  -20880444.28949 -16255749.04748  21291401.3564   21291404.3164
+     -2262.0754      -1762.6564
+  21527036.9964  -18567264.78249 -14452881.39848  21527037.0634   21527041.4824
+      1798.3684       1401.3304
+  20616539.6004  -22364404.34349 -17184263.12648  20616538.8974   20616543.0604
+      -120.6934        -94.0424
+  21857988.2004  -18153990.27349 -14125473.88447  21857987.8284   21857992.6714
+      1870.6454       1457.6464
+  21332815.8424  -17481425.90149 -13600034.84247  21332816.0204   21332820.1524
+       596.5364        464.8384
+ 05  1 20  6 45  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23713254.2794   -9224994.42649  -7170113.94845  23713253.5764   23713258.5404
+     -3577.2704      -2787.4854
+  24828744.3884    1633136.91648   1292897.12244  24828743.3064   24828752.8224
+     -3562.3414      -2775.8394
+  22637622.8324   -8555178.97349  -6457254.70747  22637623.0004   22637628.8794
+     -1658.5124      -1292.3504
+  24448792.6224   -1528723.03349  -1184321.65445  24448790.2434   24448794.2044
+       -32.8724        -25.6134
+  21304354.3964  -20812373.58149 -16202706.95448  21304354.8594   21304357.3574
+     -2275.9444      -1773.4654
+  21516802.0624  -18621046.51249 -14494789.23148  21516802.5274   21516807.2934
+      1787.0894       1392.5364
+  20617251.4154  -22360661.97049 -17181346.99748  20617251.1934   20617255.4264
+      -128.7524       -100.3274
+  21847319.9804  -18210049.31149 -14169156.25547  21847319.9314   21847324.8644
+      1866.6114       1454.4994
+  21329468.7524  -17499016.51949 -13613741.81447  21329468.9944   21329472.8874
+       576.2244        449.0064
+ 05  1 20  6 45 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23733693.3084   -9117581.14549  -7086415.33745  23733692.8584   23733698.0784
+     -3583.5524      -2792.3754
+  24849077.1654    1739951.99949   1376129.63444  24849074.2464   24849075.4484
+     -3558.7054      -2773.0204
+  22647143.6684   -8505155.88449  -6418275.67546  22647142.7464   22647146.8714
+     -1676.3694      -1306.2514
+  24449025.6234   -1527500.43649  -1183368.99445  24449023.3564   24449025.9804
+       -48.6564        -37.9124
+  21317387.5024  -20743887.53649 -16149341.21648  21317387.4254   21317390.5054
+     -2289.7824      -1784.2404
+  21506633.3514  -18674490.28949 -14536433.73148  21506632.9704   21506637.5474
+      1775.8304       1383.7644
+  20618010.0634  -22356676.78749 -17178241.67648  20618009.5764   20618013.5234
+      -136.8714       -106.6484
+  21836676.3454  -18265987.51949 -14212744.46447  21836675.8204   21836680.4714
+      1862.5804       1451.3634
+  21326237.6144  -17515998.10449 -13626974.21047  21326237.5214   21326241.5724
+       555.9244        433.1904
+ 05  1 20  6 46  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23754171.0604   -9009980.52149  -7002570.71846  23754170.5154   23754174.3724
+     -3589.8184      -2797.2594
+  24869380.9284    1846657.33249   1459276.69145  24869378.9724   24869383.4614
+     -3554.9684      -2770.1104
+  22656762.1244   -8454597.70649  -6378879.68446  22656762.4234   22656768.1044
+     -1694.1724      -1320.1424
+  24449345.7724   -1525804.79049  -1182047.76545  24449346.9514   24449349.7484
+       -64.3944        -50.1714
+  21330498.7374  -20674987.68349 -16095653.04848  21330498.6614   21330501.6244
+     -2303.5434      -1794.9704
+  21496527.6344  -18727595.59749 -14577814.49248  21496527.6514   21496531.5774
+      1764.5264       1374.9504
+  20618814.4874  -22352448.56049 -17174946.96548  20618814.3654   20618818.0644
+      -144.9794       -112.9754
+  21826054.4904  -18321804.38049 -14256238.12347  21826053.9014   21826058.7434
+      1858.5134       1448.1884
+  21323120.7364  -17532369.83549 -13639731.40647  21323121.5474   21323125.3864
+       535.5814        417.3364
+ 05  1 20  6 46 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23774680.3144   -8902195.20049  -6918582.19945  23774680.1814   23774685.7074
+     -3595.8914      -2801.9884
+  24889664.1274    1953250.48949   1542336.31745  24889661.6094   24889667.4844
+     -3551.3284      -2767.2774
+  22666485.9234   -8403506.18249  -6339068.11346  22666485.8364   22666490.4224
+     -1711.9514      -1333.9744
+  24449758.9374   -1523636.37749  -1180358.11145  24449758.5384   24449761.4304
+       -80.1424        -62.4494
+  21343688.1194  -20605675.12149 -16041643.28048  21343688.4064   21343690.9464
+     -2317.2924      -1805.6774
+  21486486.3424  -18780362.28449 -14618931.38648  21486485.9044   21486490.5274
+      1753.2234       1366.1564
+  20619665.8614  -22347976.50449 -17171462.24748  20619665.3934   20619669.2454
+      -153.1624       -119.3444
+  21815455.8434  -18377499.37049 -14299636.81447  21815455.6314   21815460.2954
+      1854.4604       1445.0354
+  21320122.1134  -17548130.67049 -13652012.57847  21320122.2534   21320127.6494
+       515.1634        401.4264
+ 05  1 20  6 47  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23795227.5124   -8794226.83949  -6834451.00445  23795226.8944   23795231.7384
+     -3601.9574      -2806.7254
+  24909927.9234    2059728.56949   1625306.24245  24909925.0124   24909931.4984
+     -3547.3174      -2764.1454
+  22676308.5314   -8351883.05049  -6298842.28146  22676308.7894   22676313.5424
+     -1729.6254      -1347.7574
+  24450257.9094   -1520996.51949  -1178301.09445  24450258.8054   24450264.7904
+       -95.8684        -74.6944
+  21356956.9844  -20535950.98649 -15987312.80248  21356956.9934   21356959.2754
+     -2330.9714      -1816.3444
+  21476509.5584  -18832790.15049 -14659784.26148  21476509.3404   21476513.3304
+      1741.9454       1357.3594
+  20620563.0814  -22343260.48749 -17167787.43248  20620562.7814   20620566.5814
+      -161.2604       -125.6584
+  21804880.4934  -18433071.97049 -14342940.13547  21804880.2094   21804885.1974
+      1850.3834       1441.8574
+  21317239.7324  -17563279.76049 -13663817.06447  21317240.2354   21317244.0424
+       494.7964        385.5544
+ 05  1 20  6 47 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23815805.0914   -8686077.36349  -6750178.71245  23815804.9694   23815812.7724
+     -3608.0294      -2811.4474
+  24930167.5144    2166089.07249   1708184.49045  24930162.6784   24930168.7434
+     -3543.3554      -2761.0614
+  22686234.5074   -8299729.87549  -6258203.43346  22686233.7454   22686238.6964
+     -1747.2614      -1361.4904
+  24450853.1084   -1517885.73849  -1175877.10245  24450852.4354   24450857.4954
+      -111.5274        -86.9024
+  21370303.1224  -20465816.77749 -15932662.79348  21370302.8454   21370305.4544
+     -2344.6404      -1826.9884
+  21466597.6434  -18884879.29249 -14700373.19348  21466597.4924   21466601.4944
+      1730.6394       1348.5504
+  20621507.1054  -22338300.14049 -17163922.23148  20621506.8504   20621510.4674
+      -169.4344       -132.0264
+  21794328.7114  -18488521.73049 -14386147.73747  21794328.8254   21794333.2514
+      1846.2684       1438.6514
+  21314474.4474  -17577816.24749 -13675144.18047  21314474.3734   21314477.6624
+       474.3194        369.5934
+ 05  1 20  6 48  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23836416.7044   -8577749.17449  -6665767.18145  23836420.0464   23836425.4564
+     -3613.9074      -2816.0254
+  24950386.8824    2272329.31348   1790969.08944  24950382.7124   24950387.6194
+     -3539.4234      -2757.9944
+  22696259.5504   -8247048.43349  -6217152.95846  22696258.2004   22696263.5684
+     -1764.8234      -1375.1844
+  24451535.6634   -1514304.70949  -1173086.66745  24451534.5114   24451538.6054
+      -127.1854        -99.1134
+  21383727.1254  -20395273.81949 -15877694.27648  21383726.8254   21383729.4864
+     -2358.2244      -1837.5754
+  21456749.6374  -18936629.59849 -14740698.09948  21456749.5314   21456754.0114
+      1719.3644       1339.7624
+  20622497.8494  -22333094.91349 -17159866.21348  20622497.2194   20622501.2874
+      -177.5994       -138.3934
+  21783800.5554  -18543848.13149 -14429259.22347  21783800.3734   21783805.2064
+      1842.1574       1435.4464
+  21311823.6074  -17591739.14449 -13685993.19647  21311823.7814   21311828.4904
+       453.9184        353.6974
+ 05  1 20  6 48 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23857071.8144   -8469244.31749  -6581217.94045  23857069.8224   23857073.1584
+     -3619.7654      -2820.5954
+  24970568.0094    2378446.54058   1873657.82554  24970570.4344   24970580.1174
+     -3535.2734      -2754.7554
+  22706384.5264   -8193840.51249  -6175692.22646  22706383.0194   22706388.2244
+     -1782.3434      -1388.8444
+  24452306.4374   -1510254.64449  -1169930.77145  24452306.2794   24452307.4574
+      -142.8674       -111.3314
+  21397227.3464  -20324323.33149 -15822408.18848  21397228.0194   21397230.5604
+     -2371.7944      -1848.1534
+  21446966.0064  -18988040.92649 -14780758.87048  21446966.0824   21446970.4874
+      1708.0444       1330.9454
+  20623534.9764  -22327644.42549 -17155619.06748  20623534.3424   20623538.1324
+      -185.7784       -144.7644
+  21773296.4714  -18599050.67649 -14472274.19047  21773295.9554   21773300.5044
+      1838.0084       1432.2194
+  21309291.3694  -17605047.76049 -13696363.54447  21309291.7824   21309295.9604
+       433.3944        337.7094
+ 05  1 20  6 49  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23877752.7904   -8360564.87349  -6496532.68145  23877748.6874   23877754.0084
+     -3625.5654      -2825.1124
+  24990742.8354    2484437.99958   1956248.51254  24990737.0134   24990751.2694
+     -3530.8494      -2751.3094
+  22716607.6024   -8140108.07949  -6133822.79446  22716607.6034   22716613.7634
+     -1799.7934      -1402.4324
+  24453165.2774   -1505736.15349  -1166409.84545  24453165.6924   24453169.8434
+      -158.4144       -123.4404
+  21410807.4754  -20252966.85949 -15766805.76448  21410807.1114   21410809.3694
+     -2385.2964      -1858.6704
+  21437247.5564  -19039113.30449 -14820555.51748  21437247.6974   21437252.1704
+      1696.7574       1322.1534
+  20624618.9514  -22321948.20149 -17151180.46748  20624618.5724   20624622.1694
+      -193.9804       -151.1474
+  21762815.0544  -18654128.81549 -14515192.22347  21762814.8344   21762819.5784
+      1833.8594       1428.9874
+  21306876.3804  -17617741.30249 -13706254.61447  21306876.5394   21306880.5484
+       412.8794        321.7274
+ 05  1 20  6 49 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23898463.7304   -8251712.65949  -6411712.80645  23898463.7524   23898467.6264
+     -3631.2944      -2829.5854
+  25010874.6984    2590301.91057   2038739.77154  25010881.4064
+     -3526.9434      -2748.2774
+  22726932.6334   -8085852.58649  -6091545.79946  22726932.1924   22726938.1584
+     -1817.2244      -1416.0164
+  24454109.6474   -1500750.03349  -1162524.56845  24454112.9784   24454118.4434
+      -173.9944       -135.5814
+  21424462.4284  -20181205.75049 -15710888.03648  21424462.6824   21424465.0224
+     -2398.7704      -1869.1764
+  21427593.7224  -19089846.77749 -14860088.08448  21427593.5634   21427597.3934
+      1685.4624       1313.3464
+  20625749.3324  -22316005.74549 -17146549.97548  20625749.1134   20625752.9094
+      -202.1964       -157.5554
+  21752357.2734  -18709082.07849 -14558012.94547  21752357.5604   21752362.0364
+      1829.6804       1425.7194
+  21304577.0984  -17629818.96349 -13715665.77047  21304577.1714   21304582.4024
+       392.3654        305.7404
+ 05  1 20  6 50  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23919211.6794   -8142689.97349  -6326760.04745  23919210.3664   23919214.5774
+     -3636.9224      -2833.9664
+  25031016.9674    2696033.77948   2121128.10944
+     -3522.1364      -2744.5214
+  22737356.0024   -8031075.93949  -6048862.70246  22737355.6954   22737361.5994
+     -1834.5724      -1429.5274
+  24455149.9984   -1495297.38449  -1158275.73545  24455150.5624   24455155.2084
+      -189.5384       -147.6894
+  21438194.7774  -20109041.29649 -15654656.00347  21438194.8524   21438197.4224
+     -2412.2014      -1879.6304
+  21418003.7224  -19140240.97549 -14899356.28148  21418003.9104   21418007.9504
+      1674.1464       1304.5284
+  20626927.4484  -22309816.80149 -17141727.42948  20626926.8404   20626930.6244
+      -210.4174       -163.9564
+  21741923.9004  -18763909.99449 -14600735.99347  21741923.8564   21741928.8594
+      1825.4814       1422.4584
+  21302396.8294  -17641280.09949 -13724596.53047  21302397.0864   21302400.7344
+       371.7844        289.7064
+ 05  1 20  6 50 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23939989.6004   -8033499.02649  -6241676.20445  23939988.7594   23939992.9054
+     -3642.5044      -2838.3154
+  25051106.9944    2801632.60948   2203412.84144
+     -3517.6624      -2741.0264
+  22747880.0584   -7975780.00649  -6005774.96346  22747879.7004   22747883.9294
+     -1851.8294      -1442.9794
+  24456277.6424   -1489378.91549  -1153663.93545  24456276.6374   24456282.1604
+      -205.1254       -159.8304
+  21452004.3994  -20036474.92749 -15598110.80748  21452004.1324   21452006.6254
+     -2425.5554      -1890.0424
+  21408479.0304  -19190295.78649 -14938360.02148  21408478.3654   21408482.5114
+      1662.8614       1295.7364
+  20628151.9774  -22303380.81949 -17136712.37048  20628151.4924   20628155.6954
+      -218.6384       -170.3644
+  21731514.5094  -18818611.96149 -14643360.90147  21731514.6024   21731519.6774
+      1821.2994       1419.1974
+  21300333.5024  -17652124.00349 -13733046.32647  21300333.6124   21300337.8144
+       351.2174        273.6824
+ 05  1 20  6 51  0.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23960798.9674   -7924141.59549  -6156462.61145  23960797.8214   23960803.9444
+     -3647.9744      -2842.5794
+  25071170.2084    2907095.46648     43165.69943
+     -3513.0994      -2737.4804
+  22758499.4394   -7919966.52549  -5962283.92746  22758500.2854   22758505.1884
+     -1869.0634      -1456.4114
+  24457494.3354   -1482995.54549  -1148689.90045  24457492.6574   24457494.2964
+      -220.4954       -171.8064
+  21465888.0334  -19963508.26849 -15541253.68447  21465888.5334   21465891.9054
+     -2438.8754      -1900.4174
+  21399017.7224  -19240011.18249 -14977099.28548  21399017.9364   21399022.2474
+      1651.5114       1286.8914
+  20629424.1244  -22296697.40049 -17131504.51148  20629423.4224   20629427.2124
+      -226.9134       -176.8174
+  21721128.3294  -18873187.52549 -14685887.31147  21721128.8824   21721133.7884
+      1817.0894       1415.9154
+  21298386.9604  -17662350.00949 -13741014.62747  21298387.3464   21298391.4004
+       330.5894        257.5974
+ 05  1 20  6 51 30.0000000  0  9G18G15G 5G11G22G25G14G 1G30
+  23981639.2384   -7814619.69649  -6071120.89445  23981639.2864   23981643.6094
+     -3653.4434      -2846.8364
+  25091214.5254    3012419.75548    125193.66244
+     -3508.4944      -2731.8054
+  22769220.2134   -7863637.49949  -5918391.16646  22769219.2654   22769223.7944
+     -1886.2064      -1469.7694
+  24458797.7284   -1476148.28149  -1143354.37445  24458794.2614   24458797.0494
+      -235.9594       -183.8334
+  21479850.1334  -19890142.55249 -15484085.60248  21479850.1124   21479852.5964
+     -2452.1564      -1910.7684
+  21389622.2844  -19289387.43449 -15015574.28648  21389621.6044   21389626.3064
+      1640.2214       1278.0964
+  20630742.8514  -22289766.01649 -17126103.44548  20630742.1674   20630746.1784
+      -235.1804       -183.2554
+  21710768.1634  -18927636.23249 -14728314.87447  21710767.9034   21710772.7224
+      1812.8434       1412.6054
+  21296558.1894  -17671957.32849 -13748500.85347  21296558.9244   21296563.6664
+       309.9414        241.5154
+ 05  1 20  6 52  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24002511.8924   -7704935.54249  -5985652.72445  24002511.8634   24002516.8944
+     -3658.7784      -2850.9924
+  22780035.4804   -7806794.91949  -5874098.27446  22780035.6544   22780041.4214
+     -1903.2964      -1483.0914
+  24460186.5234   -1468837.95049  -1137658.06145  24460186.4934   24460191.1394
+      -251.3624       -195.8674
+  21493887.2414  -19816379.23949 -15426607.71747  21493886.5994   21493889.6744
+     -2465.3964      -1921.0834
+  21380290.0654  -19338424.55849 -15053785.01548  21380290.0234   21380295.1704
+      1628.9214       1269.2844
+  20632109.1444  -22282586.15449 -17120508.75548  20632108.5534   20632112.8144
+      -243.4874       -189.7314
+  21700430.2204  -18981957.41849 -14770643.06747  21700430.5154   21700435.6734
+      1808.5634       1409.2714
+  21294848.6024  -17680945.36849 -13755504.52447  21294848.9274   21294853.1364
+       289.2764        225.4084
+ 05  1 20  6 52 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24023414.8344   -7595091.21449  -5900059.71945  24023413.4714   24023419.0764
+     -3664.1394      -2855.1774
+  22790950.4314   -7749440.57049  -5829406.55546  22790949.6014   22790954.0514
+     -1920.3534      -1496.3924
+  24461665.7004   -1461065.87549  -1131601.87245  24461664.0564   24461670.5004
+      -266.8484       -207.9284
+  21507999.1094  -19742219.99249 -15368821.30847  21507999.0454   21508001.6494
+     -2478.5744      -1931.3514
+  21371024.1494  -19387122.30449 -15091731.31248  21371023.7414   21371028.0324
+      1617.5834       1260.4534
+  20633522.4214  -22275157.47749 -17114720.19048  20633522.2824   20633526.5354
+      -251.7734       -196.1854
+  21690118.6634  -19036150.54249 -14812871.48347  21690118.2074   21690122.7844
+      1804.2924       1405.9374
+  21293256.2234  -17689313.69249 -13762025.29447  21293256.5304   21293260.6014
+       268.6164        209.3104
+ 05  1 20  6 53  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24044344.5944   -7485089.04149  -5814343.74345  24044345.2994   24044351.9204
+     -3669.3324      -2859.2174
+  22801963.2504   -7691576.08149  -5784317.33846  22801960.8834   22801966.3494
+     -1937.3134      -1509.5984
+  24463231.8064   -1452832.86249  -1125186.54345  24463231.5114   24463235.8564
+      -282.1204       -219.8334
+  21522185.5724  -19667665.98249 -15310727.30547  21522185.8734   21522188.7374
+     -2491.6984      -1941.5844
+  21361820.9474  -19435480.73249 -15129413.19648  21361820.8734   21361825.4184
+      1606.2904       1251.6504
+  20634983.6284  -22267479.57049 -17108737.40548  20634982.9974   20634987.2854
+      -260.0914       -202.6674
+  21679830.3004  -19090214.94549 -14854999.58947  21679830.2504   21679834.9504
+      1799.9904       1402.5904
+  21291781.2204  -17697061.54349 -13768062.57747  21291781.4474   21291786.0854
+       247.9444        193.2014
+ 05  1 20  6 53 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24065309.5834   -7374930.97649  -5728506.22645  24065308.9104   24065313.0644
+     -3674.5064      -2863.2574
+  22813069.3424   -7633203.62249  -5738832.31346  22813069.4394   22813074.2674
+     -1954.2014      -1522.7594
+  24464885.9994   -1444139.91749  -1118412.83845  24464885.0684   24464891.6164
+      -297.4254       -231.7534
+  21536447.8714  -19592718.96049 -15252327.04247  21536447.9154   21536450.4554
+     -2504.7824      -1951.7824
+  21352683.3394  -19483499.92249 -15166830.73748  21352683.1654   21352687.5474
+      1594.9994       1242.8564
+  20636491.9004  -22259551.94349 -17102560.04348  20636491.8034   20636495.9594
+      -268.4254       -209.1634
+  21669567.0844  -19144150.12849 -14897026.99547  21669566.7354   21669571.4474
+      1795.6784       1399.2304
+  21290425.0574  -17704188.49749 -13773616.04947  21290425.6574   21290429.9844
+       227.2204        177.0504
+ 05  1 20  6 54  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24086301.9744   -7264618.96449  -5642548.74945  24086301.0634   24086304.5904
+     -3679.5864      -2867.2104
+  22824272.6744   -7574325.14149  -5692952.97746  22824272.6604   22824278.0704
+     -1971.0354      -1535.8644
+  24466628.5124   -1434988.01749  -1111281.49645  24466627.1814   24466630.4964
+      -312.7074       -243.6654
+  21550784.1554  -19517380.34149 -15193621.64447  21550784.1874   21550787.3614
+     -2517.7994      -1961.9174
+  21343610.1014  -19531179.82549 -15203983.89848  21343610.1094   21343614.5734
+      1583.6944       1234.0514
+  20638048.8344  -22251374.41649 -17096187.95448  20638048.4074   20638051.8254
+      -276.7644       -215.6574
+  21659327.9474  -19197955.54849 -14938953.29247  21659327.9594   21659332.6424
+      1791.3454       1395.8534
+  21289187.5364  -17710693.91649 -13778685.20547  21289187.6614   21289192.2334
+       206.5244        160.9324
+ 05  1 20  6 54 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24107323.2894   -7154155.49149  -5556473.26645  24107321.1274   24107327.0274
+     -3684.5694      -2871.0974
+  22835574.4494   -7514942.68749  -5646680.92547  22835574.6274   22835578.6524
+     -1987.8094      -1548.9364
+  24468457.6174   -1425378.49449  -1103793.57945  24468456.1624   24468457.3744
+      -327.9844       -255.5814
+  21565195.4704  -19441651.53749 -15134612.19647  21565194.8894   21565197.8074
+     -2530.7764      -1972.0324
+  21334602.8514  -19578520.49949 -15240872.73848  21334602.2204   21334606.3364
+      1572.3794       1225.2314
+  20639652.0644  -22242946.35749 -17089620.63748  20639651.7584   20639655.8004
+      -285.1034       -222.1554
+  21649114.6004  -19251630.56749 -14980777.98047  21649113.7024   21649118.6754
+      1786.9884       1392.4644
+  21288067.6014  -17716577.60549 -13783269.89247  21288067.9204   21288072.3674
+       185.7784        144.7624
+ 05  1 20  6 55  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24128372.8834   -7043542.00049  -5470280.96145  24128370.4294   24128374.5374
+     -3689.6154      -2875.0274
+  22846968.9594   -7455058.04849  -5600017.60046  22846969.1184   22846974.2754
+     -2004.4894      -1561.9444
+  24470372.6674   -1415311.96449  -1095949.54345  24470371.2744   24470374.7114
+      -343.1414       -267.3804
+  21579679.6354  -19365534.14449 -15075299.96747  21579679.8324   21579682.5994
+     -2543.7214      -1982.1184
+  21325657.5014  -19625521.95649 -15277497.23148  21325657.4754   21325661.7714
+      1561.0574       1216.4104
+  20641303.4774  -22234267.21349 -17082857.66848  20641303.4284   20641307.2874
+      -293.5014       -228.7024
+  21638925.2874  -19305174.64749 -15022500.64347  21638924.6844   21638929.8384
+      1782.6014       1389.0394
+  21287067.2794  -17721838.83949 -13787369.55747  21287067.4264   21287071.4764
+       164.9974        128.5674
+ 05  1 20  6 55 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24149446.5984   -6932780.61649  -5383973.34645  24149446.1724   24149451.6044
+     -3694.4964      -2878.8354
+  22858460.7494   -7394673.60849  -5552964.77546  22858460.3754   22858464.3744
+     -2021.1164      -1574.8894
+  24472374.0514   -1404789.76249  -1087750.43645  24472373.9384   24472378.4204
+      -358.3454       -279.2344
+  21594238.9804  -19289029.81149 -15015686.22347  21594238.5364   21594240.7434
+     -2556.5734      -1992.1344
+  21316777.5304  -19672184.05849 -15313857.30348  21316777.7874   21316782.4274
+      1549.7584       1207.6044
+  20643004.1854  -22225336.54349 -17075898.71248  20643003.3004   20643006.8884
+      -301.8774       -235.2274
+  21628760.5234  -19358587.16749 -15064120.78447  21628760.6194   21628765.6674
+      1778.2214       1385.6254
+  21286184.2544  -17726477.17949 -13790983.84047  21286184.2824   21286188.8694
+       144.2734        112.4204
+ 05  1 20  6 56  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24170551.5194   -6821873.51949  -5297552.17745  24170551.0904   24170556.3144
+     -3699.3344      -2882.6044
+  22870045.7414   -7333791.06349  -5505523.83046  22870044.9964   22870050.7774
+     -2037.7204      -1587.8334
+  24474463.6804   -1393813.04949  -1079197.18845  24474463.8094   24474464.9104
+      -373.5044       -291.0444
+  21608869.2604  -19212139.97349 -14955772.07247  21608869.7884   21608872.4634
+     -2569.4164      -2002.1424
+  21307962.9784  -19718507.24349 -15349953.28648  21307963.0444   21307967.3824
+      1538.4444       1198.7894
+  20644750.6004  -22216153.86149 -17068743.37848  20644750.3314   20644754.3574
+      -310.2954       -241.7904
+  21618622.2374  -19411867.51049 -15105637.94747  21618621.7444   21618626.5404
+      1773.7784       1382.1604
+  21285419.2094  -17730492.45949 -13794112.62847  21285419.8324   21285424.3654
+       123.4904         96.2274
+ 05  1 20  6 56 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24191685.2274   -6710823.24249  -5211019.43045  24191683.2524   24191689.0344
+     -3704.0094      -2886.2394
+  22881725.5174   -7272412.61249  -5457696.47046  22881725.1264   22881730.1634
+     -2054.2084      -1600.6734
+  24476640.2294   -1382382.98949  -1070290.66445  24476639.6364   24476640.6104
+      -388.5534       -302.7754
+  21623575.5484  -19134866.24749 -14895558.81947  21623574.5764   21623577.6264
+     -2582.1654      -2012.0804
+  21299212.9464  -19764491.45549 -15385785.13748  21299212.7634   21299216.8004
+      1527.1494       1189.9844
+  20646545.9534  -22206718.64949 -17061391.27048  20646545.8574   20646550.1964
+      -318.7114       -248.3454
+  21608509.0754  -19465015.02049 -15147051.58947  21608508.1924   21608512.8564
+      1769.3734       1378.7304
+  21284774.0024  -17733884.06149 -13796755.43847  21284774.3144   21284778.7214
+       102.7254         80.0414
+ 05  1 20  6 57  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24212845.7054   -6599631.82449  -5124376.74445  24212845.3164   24212849.0474
+     -3708.7284      -2889.9174
+  22893499.9044   -7210539.91849  -5409483.98346  22893499.9164   22893505.0324
+     -2070.6144      -1613.4554
+  24478899.3504   -1370500.54349  -1061031.59145  24478901.4134   24478905.1994
+      -403.5744       -314.4754
+  21638351.6604  -19057210.05349 -14835047.51547  21638351.8384   21638354.4114
+     -2594.8904      -2021.9884
+  21290526.7204  -19810136.67549 -15421352.83348  21290526.3874   21290530.8184
+      1515.8644       1181.1944
+  20648390.0154  -22197030.54149 -17053842.09548  20648389.5184   20648393.2774
+      -327.1424       -254.9124
+  21598420.3104  -19518029.24949 -15188361.37147  21598419.8424   21598424.8794
+      1764.9284       1375.2744
+  21284248.2254  -17736651.75149 -13798912.07047  21284248.4804   21284252.5904
+        81.9004         63.8194
+ 05  1 20  6 57 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24234027.4554   -6488300.81249  -5037625.26645  24234028.8524   24234032.8724
+     -3713.3394      -2893.5194
+  22905366.6364   -7148175.16549  -5360888.06546  22905367.2934   22905372.0704
+     -2087.0014      -1626.2454
+  24481246.5144   -1358167.00949  -1051421.04345  24481246.2934   24481251.4844
+      -418.6014       -326.1854
+  21653202.1254  -18979173.18849 -14774239.58547  21653201.8114   21653205.0554
+     -2607.5604      -2031.8614
+  21281904.7024  -19855443.13649 -15456656.55948  21281904.8124   21281909.1584
+      1504.5614       1172.3814
+  20650281.8274  -22187089.11949 -17046095.53448  20650281.1384   20650285.0564
+      -335.6244       -261.5294
+  21588357.0224  -19570909.45549 -15229566.73047  21588356.7964   21588361.6674
+      1760.4234       1371.7534
+  21283839.5654  -17738795.29449 -13800582.36947  21283839.8434   21283844.4754
+        61.0694         47.5804
+ 05  1 20  6 58  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24255241.2384   -6376832.70849  -4950766.93245  24255242.3594   24255243.3774
+     -3717.7944      -2896.9864
+  22917327.4954   -7085320.34649  -5311910.29746  22917327.9794   22917332.7764
+     -2103.3104      -1638.9454
+  24483677.2234   -1345383.52949  -1041459.85445  24483678.9704   24483682.7954
+      -433.6084       -337.8714
+  21668124.2754  -18900757.18249 -14713136.23447  21668123.8564   21668126.5194
+     -2620.1714      -2041.6954
+  21273348.2884  -19900410.70349 -15491696.21848  21273348.4564   21273352.2534
+      1493.2714       1163.5894
+  20652221.2714  -22176893.87549 -17038151.19348  20652221.3464   20652225.3394
+      -344.0754       -268.1064
+  21578320.4294  -19623655.09249 -15270667.22247  21578319.7424   21578324.9084
+      1755.9454       1368.2754
+  21283550.7824  -17740314.25149 -13801765.97247  21283551.0634   21283555.6804
+        40.2264         31.3454
+ 05  1 20  6 58 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24276479.8234   -6265229.83649  -4863803.62745  24276479.1784   24276482.8554
+     -3722.3284      -2900.5174
+  22929381.9054   -7021977.59849  -5262552.30246  22929381.6614   22929386.9564
+     -2119.5404      -1651.5814
+  24486192.9034   -1332151.50149  -1031149.16645  24486194.5754   24486199.8094
+      -448.6084       -349.5564
+  21683117.5524  -18821963.53449 -14651738.61647  21683117.3404   21683120.6484
+     -2632.7344      -2051.4794
+  21264855.8664  -19945039.77149 -15526472.11248  21264855.4704   21264859.6484
+      1481.9634       1154.7794
+  20654210.4334  -22166444.37249 -17030008.73748  20654210.0614   20654213.5474
+      -352.5744       -274.7304
+  21568308.6094  -19676265.52149 -15311662.37047  21568308.4474   21568313.1794
+      1751.4044       1364.7364
+  21283380.4454  -17741208.39449 -13802462.70747  21283380.6664   21283385.5624
+        19.4014         15.1184
+ 05  1 20  6 59  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24297741.8904   -6153494.25649  -4776736.86945  24297741.6244   24297743.4434
+     -3726.7314      -2903.9454
+  22941528.2984   -6958149.38349  -5212816.00746  22941527.7564   22941532.4064
+     -2135.6664      -1664.1604
+  24488795.9084   -1318471.83649  -1020489.65445  24488798.3844   24488804.6654
+      -463.4984       -361.1734
+  21698183.5384  -18742794.22949 -14590048.27247  21698183.1574   21698186.1084
+     -2645.2134      -2061.1984
+  21256426.8044  -19989330.31949 -15560984.22548  21256427.0184   21256431.3304
+      1470.7144       1146.0144
+  20656247.1174  -22155740.21349 -17021667.83648  20656246.4854   20656250.5634
+      -361.0354       -281.3234
+  21558323.0334  -19728740.16749 -15352551.70047  21558322.8244   21558327.5424
+      1746.8924       1361.2134
+  21283330.0174  -17741477.54949 -13802672.44547  21283329.2894   21283334.1614
+        -1.4274         -1.1044
+ 05  1 20  6 59 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24319029.6634   -6041627.98749  -4689568.29345  24319028.3184   24319032.7344
+     -3731.0754      -2907.3344
+  22953764.9204   -6893837.65349  -5162702.97146  22953764.6434   22953769.9334
+     -2151.7554      -1676.7064
+  24491487.8334   -1304345.99449  -1009482.54445  24491486.5194   24491492.3204
+      -478.3164       -372.7154
+  21713319.6094  -18663250.67549 -14528066.30147  21713319.9824   21713322.6904
+     -2657.6804      -2070.9124
+  21248063.0444  -20033282.61849 -15595232.76548  21248062.7584   21248067.2534
+      1459.4514       1137.2344
+  20658332.5184  -22144781.08449 -17013128.26948  20658332.1814   20658335.9794
+      -369.5694       -287.9734
+  21548363.0354  -19781078.23349 -15393334.60947  21548362.8834   21548368.0054
+      1742.3124       1357.6474
+  21283396.7094  -17741121.50849 -13802395.00647  21283397.1554   21283401.6344
+       -22.3064        -17.3844
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20  7  0  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24340342.3714   -5929633.31349  -4602299.69045  24340342.2194   24340343.1654
+     -3735.3184      -2910.6364
+  22966096.0604   -6829044.51349  -5112214.83546  22966095.4284   22966100.7254
+     -2167.7794      -1689.1834
+  24494260.4724   -1289775.41649   -998128.87145  24494259.8754   24494264.4644
+      -493.0294       -384.1804
+  21728528.4794  -18583334.40649 -14465793.92747  21728528.2304   21728530.3974
+     -2670.0794      -2080.5794
+  21239764.4094  -20076896.58949 -15629217.67648  21239764.0044   21239767.9404
+      1448.1624       1128.4394
+  20660466.8274  -22133566.26049 -17004389.44748  20660466.4254   20660470.3064
+      -378.0984       -294.6194
+  21538429.6594  -19833279.12849 -15434010.62847  21538429.5694   21538434.9054
+      1737.7234       1354.0704
+  21283584.7074  -17740140.00249 -13801630.19447  21283584.7734   21283588.6944
+       -43.1364        -33.6074
+ 05  1 20  7  0 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24361675.6764   -5817512.40149  -4514932.67145  24361674.7034   24361679.7014
+     -3739.4544      -2913.8594
+  22978517.2354   -6763771.91749  -5061353.07046  22978516.7224   22978520.2174
+     -2183.7174      -1701.5974
+  24497117.8674   -1274760.92049   -986429.30245  24497117.4924   24497121.8614
+      -507.9134       -395.7724
+  21743806.6574  -18503047.02449 -14403232.35247  21743806.0944   21743808.4154
+     -2682.4124      -2090.1934
+  21231528.9904  -20120172.26149 -15662938.96448  21231528.7014   21231532.9554
+      1436.8874       1119.6524
+  20662649.2764  -22122095.27549 -16995451.02548  20662649.1544   20662653.0634
+      -386.6424       -301.2794
+  21528522.3824  -19885342.25249 -15474579.29447  21528521.8654   21528527.4144
+      1733.1444       1350.4994
+  21283888.9994  -17738532.96549 -13800377.95647  21283889.9454   21283894.6634
+       -63.9894        -49.8674
+ 05  1 20  7  1  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24383034.8744   -5705267.18749  -4427468.80345  24383034.9334   24383041.4244
+     -3743.5054      -2917.0204
+  22991028.2434   -6698022.15449  -5010119.46846  22991028.2864   22991032.4744
+     -2199.5884      -1713.9734
+  24500059.2844   -1259303.80849   -974384.79045  24500057.3704   24500061.9594
+      -522.6004       -407.2234
+  21759154.0744  -18422390.49749 -14340383.14547  21759154.1884   21759156.8084
+     -2694.6884      -2099.7584
+  21223358.4354  -20163109.91149 -15696396.87948  21223358.0464   21223362.2144
+      1425.6074       1110.8594
+  20664881.4544  -22110367.69649 -16986312.65348  20664880.8764   20664884.4494
+      -395.2154       -307.9634
+  21518641.3974  -19937266.95049 -15515040.09847  21518641.2674   21518646.6314
+      1728.4874       1346.8724
+  21284314.4364  -17736300.13149 -13798638.08347  21284315.3374   21284319.5274
+       -84.8124        -66.0884
+ 05  1 20  7  1 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24404416.7904   -5592899.75149  -4339909.73945  24404417.5044   24404422.7784
+     -3747.4514      -2920.0914
+  23003630.9744   -6631797.27349  -4958515.69046  23003630.0444   23003635.4974
+     -2215.3934      -1726.2774
+  24503084.2964   -1243405.61549   -961996.63945  24503084.3694   24503088.2744
+      -537.3204       -418.6934
+  21774571.6324  -18341366.54749 -14277247.62747  21774572.1334   21774575.8744
+     -2706.9224      -2109.2934
+  21215250.8014  -20205709.72349 -15729591.52748  21215250.9914   21215255.6484
+      1414.3784       1102.1114
+  20667161.9794  -22098383.05149 -16976973.98748  20667161.6594   20667165.2514
+      -403.7764       -314.6334
+  21508787.2324  -19989052.43149 -15555392.42347  21508786.9874   21508792.3284
+      1723.8504       1343.2624
+  21284858.4884  -17733441.69449 -13796410.73147  21284858.8764   21284863.3914
+      -105.6944        -82.3654
+ 05  1 20  7  2  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24425823.3594   -5480412.39749  -4252257.22745  24425823.9994   24425828.6454
+     -3751.5254      -2923.2694
+  23016323.2854   -6565099.62449  -4906543.49546  23016322.8584   23016327.8124
+     -2231.1094      -1738.5214
+  24506195.1194   -1227067.68749   -949265.72245  24506193.3264   24506197.1894
+      -552.0374       -430.1584
+  21790060.6584  -18259976.76549 -14213827.06747  21790060.5634   21790063.4914
+     -2719.0724      -2118.7534
+  21207209.4224  -20247971.85749 -15762523.05448  21207209.2954   21207213.3474
+      1403.1154       1093.3384
+  20669491.5724  -22086140.88649 -16967434.64648  20669491.3144   20669495.1084
+      -412.3734       -321.3284
+  21498959.5124  -20040698.06649 -15595635.77847  21498959.0974   21498964.3524
+      1719.1734       1339.6194
+  21285521.8044  -17729957.35049 -13793695.65847  21285521.8544   21285526.6084
+      -126.5604        -98.6164
+ 05  1 20  7  2 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24447251.4084   -5367807.36449  -4164512.99045  24447251.2274   24447255.0264
+     -3755.4164      -2926.2944
+  23029105.1494   -6497931.28249  -4854204.53546  23029104.5004   23029109.4914
+     -2246.7824      -1750.7374
+  24509386.4394   -1210291.08949   -936193.05445  24509385.1174   24509390.8304
+      -566.5684       -441.4774
+  21805618.6944  -18178222.87549 -14150122.77147  21805618.2284   21805620.5394
+     -2731.1934      -2128.1954
+  21199231.5944  -20289896.81349 -15795191.83748  21199231.2664   21199235.5584
+      1391.8694       1084.5734
+  20671870.2734  -22073640.67749 -16957694.23048  20671869.9114   20671873.8644
+      -420.9944       -328.0464
+  21489158.9774  -20092203.06249 -15635769.53247  21489158.0544   21489163.2904
+      1714.4614       1335.9454
+  21286303.3474  -17725847.15249 -13790492.90447  21286304.0394   21286308.7514
+      -147.4224       -114.8664
+ 05  1 20  7  3  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24468700.1184   -5255086.51249  -4076678.51945  24468700.9894   24468706.7124
+     -3759.2134      -2929.2524
+  23041976.3324   -6430294.59349  -4801500.59946  23041975.4884   23041980.3444
+     -2262.3304      -1762.8564
+  24512659.2584   -1193077.47649   -922779.88045  24512660.4804   24512666.7944
+      -581.0294       -452.7514
+  21821244.8084  -18096106.38749 -14086135.93547  21821244.6574   21821246.7514
+     -2743.2384      -2137.5904
+  21191317.5344  -20331484.35549 -15827597.71148  21191317.7254   21191321.8724
+      1380.6454       1075.8294
+  20674298.1924  -22060881.91449 -16947752.34148  20674297.7824   20674301.4944
+      -429.5864       -334.7424
+  21479383.7554  -20143566.76849 -15675793.19747  21479383.9294   21479388.9204
+      1709.7764       1332.2954
+  21287204.7594  -17721111.14149 -13786802.50447  21287205.1224   21287209.9144
+      -168.2424       -131.0984
+ 05  1 20  7  3 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24490172.3884   -5142251.80649  -3988755.36045  24490173.3004   24490178.4834
+     -3763.0144      -2932.2144
+  23054935.0444   -6362191.74749  -4748433.45846  23054935.0444   23054940.6684
+     -2277.8714      -1774.9634
+  24516019.1574   -1175428.48649   -909027.41845  24516019.0894   24516023.3844
+      -595.5514       -464.0624
+  21836939.6814  -18013629.07549 -14021867.92447  21836939.4024   21836941.9974
+     -2755.2324      -2146.9334
+  21183467.6204  -20372734.83849 -15859740.93348  21183467.6104   21183472.1484
+      1369.3984       1067.0634
+  20676776.0314  -22047864.32049 -16937608.76148  20676774.9364   20676778.8964
+      -438.2554       -341.4964
+  21469636.9474  -20194788.64849 -15715706.35147  21469636.9004   21469641.2264
+      1705.0134       1328.5804
+  21288226.0384  -17715749.25049 -13782624.40547  21288226.5694   21288230.1254
+      -189.1454       -147.3824
+ 05  1 20  7  4  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24511667.7284   -5029305.57349  -3900745.29745  24511667.2614   24511669.9804
+     -3766.6514      -2935.0524
+  23067982.2804   -6293624.84849  -4695004.71746  23067982.0934   23067986.2164
+     -2293.3044      -1786.9974
+  24519463.0994   -1157345.19949   -894936.55145  24519459.7334   24519464.3304
+      -610.0214       -475.3394
+  21852702.2944  -17930792.86249 -13957320.26947  21852702.3864   21852705.2804
+     -2767.1674      -2156.2304
+  21175682.2174  -20413648.26249 -15891621.52648  21175682.1244   21175686.4464
+      1358.1614       1058.3074
+  20679301.9574  -22034587.15249 -16927262.93048  20679301.6104   20679305.5194
+      -446.8954       -348.2304
+  21459917.1224  -20245867.92049 -15755508.38147  21459916.5574   21459921.4534
+      1700.2524       1324.8774
+  21289364.9534  -17709761.48449 -13777958.61647  21289364.9344   21289369.4294
+      -210.0064       -163.6384
+ 05  1 20  7  4 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24533179.1034   -4916250.17249  -3812650.15745  24533178.0664   24533183.9254
+     -3770.3494      -2937.9324
+  23081119.6914   -6224595.93849  -4641215.96446  23081118.9094   23081123.0084
+     -2308.6254      -1798.9334
+  24522982.5844   -1138829.11049   -880508.39645  24522984.4014   24522988.8654
+      -624.3634       -486.5204
+  21868533.7214  -17847599.56849 -13892494.34247  21868533.3184   21868536.8174
+     -2779.0564      -2165.5024
+  21167960.8094  -20454225.16949 -15923239.89448  21167960.6184   21167964.5664
+      1346.9464       1049.5684
+  20681877.8434  -22021050.05549 -16916714.55248  20681877.6294   20681881.5424
+      -455.6004       -355.0134
+  21450223.8484  -20296803.92049 -15795198.76647  21450223.6874   21450228.6874
+      1695.4764       1321.1464
+  21290623.3934  -17703148.07149 -13772805.31047  21290623.7044   21290628.3554
+      -230.8624       -179.8914
+ 05  1 20  7  5  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24554715.3124   -4803087.68249  -3724471.58245  24554712.6634   24554719.8094
+     -3773.8474      -2940.6604
+  23094341.3134   -6155107.78649  -4587069.30046  23094341.6134   23094344.6244
+     -2323.9054      -1810.8414
+  24526591.9914   -1119881.31349   -865743.90445  24526590.2314   24526594.2604
+      -638.7954       -497.7584
+  21884432.0874  -17764050.84549 -13827391.46347  21884432.3134   21884435.4654
+     -2790.8764      -2174.7084
+  21160302.6864  -20494465.90749 -15954596.31348  21160302.8844   21160307.0644
+      1335.7614       1040.8564
+  20684503.4784  -22007252.64749 -16905963.33248  20684503.0454   20684506.7104
+      -464.2634       -361.7654
+  21440558.6064  -20347595.95649 -15834776.96748  21440558.3464   21440563.5144
+      1690.6524       1317.3834
+  21292000.0324  -17695908.97549 -13767164.46847  21292000.9954   21292005.3394
+      -251.7034       -196.1324
+ 05  1 20  7  5 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24576271.7464   -4689820.24649  -3636211.26645  24576269.5384   24576274.4034
+     -3777.3034      -2943.3514
+  23107652.3044   -6085162.57249  -4532566.53246  23107651.7114   23107655.6654
+     -2339.0914      -1822.6694
+  24530278.8674   -1100503.60549   -850644.40645  24530278.5264   24530280.4864
+      -653.0974       -508.9034
+  21900398.7904  -17680148.51849 -13762013.04547  21900399.0304   21900400.9614
+     -2802.6164      -2183.8554
+  21152709.1974  -20534370.38349 -15985690.71648  21152709.2664   21152713.6444
+      1324.5544       1032.1244
+  20687178.1994  -21993194.38749 -16895008.85548  20687178.1574   20687182.0194
+      -472.9554       -368.5364
+  21430921.4444  -20398243.33549 -15874242.45448  21430920.7194   21430925.6884
+      1685.8264       1313.6324
+  21293497.7764  -17688044.49449 -13761036.29347  21293497.9524   21293502.4034
+      -272.5494       -212.3714
+ 05  1 20  7  6  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24597843.1844   -4576450.12449  -3547870.90445  24597842.2074   24597845.3004
+     -3780.5654      -2945.8934
+  23121049.6024   -6014762.42049  -4477709.28146  23121049.2634   23121054.0654
+     -2354.2294      -1834.4694
+  24534048.9594   -1080697.48949   -835211.11445  24534046.8534   24534050.3194
+      -667.3474       -520.0154
+  21916431.3724  -17595894.36949 -13696360.48447  21916431.2104   21916434.2344
+     -2814.3014      -2192.9594
+  21145179.5974  -20573938.87649 -16016523.30948  21145179.4064   21145184.2424
+      1313.3554       1023.3914
+  20689903.8614  -21978874.72049 -16883850.68348  20689903.3284   20689907.1544
+      -481.6804       -375.3404
+  21421310.9764  -20448745.33349 -15913594.66848  21421310.4594   21421315.3244
+      1680.9634       1309.8374
+  21295113.6814  -17679554.47949 -13754420.70047  21295113.6604   21295117.3574
+      -293.3874       -228.6144
+ 05  1 20  7  6 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24619436.2594   -4462979.16349  -3459451.94845  24619433.0914   24619437.6564
+     -3784.0524      -2948.6174
+  23134532.3324   -5943909.86249  -4422499.52946  23134531.0384   23134535.7574
+     -2369.2594      -1846.1764
+  24537898.8084   -1060464.44249   -819445.14445  24537896.3744   24537898.4984
+      -681.6764       -531.1724
+  21932530.8914  -17511290.20049 -13630435.19347  21932531.2054   21932534.1144
+     -2825.9494      -2202.0364
+  21137714.0764  -20613171.59049 -16047094.25448  21137713.9634   21137718.5874
+      1302.1744       1014.6814
+  20692677.9104  -21964293.22249 -16872488.48948  20692677.7984   20692681.8504
+      -490.4164       -382.1444
+  21411728.5724  -20499101.11849 -15952832.94548  21411728.1034   21411733.3424
+      1676.0744       1306.0314
+  21296847.2094  -17670439.30649 -13747317.97147  21296848.0234   21296852.7244
+      -314.2034       -244.8314
+ 05  1 20  7  7  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24641046.9174   -4349409.75149  -3370956.26845  24641046.6544   24641051.7954
+     -3787.2594      -2951.1094
+  23148098.4284   -5872607.11249  -4366938.94246  23148098.3654   23148104.1044
+     -2384.2594      -1857.8524
+  24541827.4184   -1039805.87949   -803347.57645  24541827.7504   24541831.8064
+      -695.7574       -542.1514
+  21948695.8954  -17426337.66749 -13564238.43747  21948696.5524   21948699.6284
+     -2837.5424      -2211.0684
+  21130311.9664  -20652068.58049 -16077403.60048  21130312.1724   21130316.5224
+      1290.9574       1005.9464
+  20695503.3304  -21949449.45849 -16860921.93348  20695502.8804   20695506.4834
+      -499.1864       -388.9724
+  21402173.6434  -20549309.93849 -15991956.69848  21402173.5404   21402178.7264
+      1671.1534       1302.2024
+  21298701.6664  -17660699.15449 -13739728.23747  21298701.6214   21298705.5294
+      -335.0694       -261.0924
+ 05  1 20  7  7 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24662675.5594   -4235744.11849  -3282385.61445  24662676.1874   24662680.6864
+     -3790.4204      -2953.5734
+  23161753.9704   -5800856.41749  -4311029.29446  23161753.7684   23161758.4604
+     -2399.1564      -1869.4734
+  24545842.5404   -1018723.14149   -786919.44745  24545840.1844   24545843.0864
+      -709.8224       -553.1124
+  21964928.7804  -17341038.78349 -13497771.79547  21964928.8554   21964932.0514
+     -2849.0324      -2220.0224
+  21122974.2654  -20690630.47849 -16107451.82648  21122974.3044   21122978.1454
+      1279.8004        997.2444
+  20698378.0944  -21934342.77649 -16849150.50448  20698377.5484   20698381.5264
+      -507.9424       -395.8014
+  21392647.4934  -20599371.02049 -16030965.33848  21392647.2444   21392652.3364
+      1666.2334       1298.3594
+  21300673.9174  -17650334.19449 -13731651.64347  21300673.9504   21300678.5974
+      -355.8644       -277.2984
+ 05  1 20  7  8  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24684322.8314   -4121984.45548  -3193741.72645  24684321.0644   24684327.9884
+     -3793.4844      -2955.9624
+  23175491.9024   -5728659.88849  -4254772.26446  23175491.5284   23175496.8794
+     -2413.9674      -1881.0104
+  24549934.1404    -997218.12749   -770162.27745  24549933.5304   24549936.7194
+      -723.8414       -564.0314
+  21981227.4464  -17255395.30149 -13431036.64947  21981226.3694   21981229.7604
+     -2860.5224      -2228.9794
+  21115700.2574  -20728857.49249 -16137239.11148  21115699.9944   21115703.9404
+      1268.6624        988.5694
+  20701302.5944  -21918973.00049 -16837174.06348  20701302.1924   20701306.2084
+      -516.7224       -402.6364
+  21383149.5984  -20649283.54549 -16069858.21948  21383149.0154   21383154.3304
+      1661.2654       1294.4924
+  21302763.8874  -17639344.79149 -13723088.46847  21302764.3724   21302769.5044
+      -376.6864       -293.5134
+ 05  1 20  7  8 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24705989.4734   -4008132.75548  -3105026.09345  24705989.3224   24705994.9984
+     -3796.5454      -2958.3514
+  23189315.3214   -5656020.00049  -4198169.77646  23189315.0504   23189319.7434
+     -2428.6764      -1892.4834
+  24554104.5594    -975292.11049   -753077.08545  24554104.8014   24554108.7014
+      -737.8654       -574.9644
+  21997589.6424  -17169409.09849 -13364034.44447  21997589.5384   21997592.1474
+     -2871.8864      -2237.8294
+  21108488.5254  -20766750.07549 -16166765.79148  21108489.0044   21108493.2174
+      1257.5094        979.8774
+  20704277.6064  -21903339.50149 -16824992.11748  20704277.1874   20704281.0774
+      -525.5094       -409.4904
+  21373679.5644  -20699046.85649 -16108634.82448  21373679.3474   21373684.5674
+      1656.2954       1290.6204
+  21304974.4124  -17627731.31549 -13714039.01647  21304975.0994   21304979.8894
+      -397.4774       -309.7194
+ 05  1 20  7  9  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24727670.4754   -3894190.86848  -3016240.22944  24727670.4234   24727678.0484
+     -3799.5824      -2960.7054
+  23203220.8464   -5582939.21449  -4141223.72846  23203220.6364   23203227.0134
+     -2443.3774      -1903.9334
+  24558355.4974    -952946.62049   -735664.99445  24558356.2754   24558360.7594
+      -751.8824       -585.8774
+  22014016.7204  -17083082.03149 -13296766.63147  22014016.5664   22014019.7234
+     -2883.2174      -2246.6594
+  21101341.8454  -20804308.14849 -16196031.82648  21101341.6274   21101346.4414
+      1246.3664        971.1934
+  20707302.9954  -21887441.67549 -16812604.21948  20707302.2954   20707306.7244
+      -534.3494       -416.3734
+  21364238.5054  -20748660.19449 -16147294.57548  21364238.1734   21364243.2544
+      1651.2794       1286.7164
+  21307302.7404  -17615494.06349 -13704503.49247  21307303.1774   21307308.2494
+      -418.2674       -325.9204
+ 05  1 20  7  9 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24749370.9554   -3780161.11849  -2927385.88044  24749370.5814   24749378.1804
+     -3802.4864      -2962.9634
+  23217213.5004   -5509419.87349  -4083935.90746  23217212.0494   23217216.0394
+     -2457.9214      -1915.2424
+  24562690.3424    -930183.53949   -717927.57545  24562689.2114   24562690.9814
+      -765.8324       -596.7474
+  22030508.7724  -16996415.87749 -13229234.59147  22030508.6904   22030511.5184
+     -2894.5094      -2255.4624
+  21094258.6704  -20841532.09649 -16225037.50148  21094258.7834   21094262.4404
+      1235.2404        962.5244
+  20710378.4764  -21871279.20249 -16800010.09048  20710378.0654   20710381.9674
+      -543.1584       -423.2404
+  21354825.9944  -20798122.82649 -16185836.88348  21354825.8784   21354830.7244
+      1646.2304       1282.7774
+  21309751.0024  -17602633.34649 -13694482.16947  21309751.5524   21309755.3604
+      -439.0724       -342.1344
+ 05  1 20  7 10  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24771086.0334   -3666045.85948  -2838465.00544  24771085.6054   24771093.3444
+     -3805.0084      -2964.9444
+  23231283.7904   -5435464.36349  -4026308.25046  23231284.4874   23231291.1694
+     -2472.4564      -1926.5904
+  24567099.8494    -907004.33349   -699865.81445  24567099.4924   24567102.1504
+      -779.4924       -607.4034
+  22047065.8174  -16909412.55349 -13161439.80247  22047065.2394   22047067.6864
+     -2905.7034      -2264.1744
+  21087238.4754  -20878422.34249 -16253783.14448  21087238.5744   21087242.6724
+      1224.1064        953.8504
+  20713504.5644  -21854851.42049 -16787209.22648  20713504.2454   20713508.0564
+      -552.0294       -430.1494
+  21345443.5324  -20847433.88949 -16224261.08548  21345442.7094   21345447.3294
+      1641.1594       1278.8264
+  21312316.6674  -17589149.47249 -13683975.24647  21312317.0874   21312321.0754
+      -459.8034       -358.2914
+ 05  1 20  7 10 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24792822.4624   -3551847.12748  -2749479.07744  24792821.4234   24792819.4974
+     -3807.9554      -2967.2404
+  23245441.3324   -5361075.03549  -3968342.54346  23245440.1794   23245445.5734
+     -2486.8754      -1937.8274
+  24571589.5504    -883410.57449   -681481.06645  24571589.7564   24571594.3364
+      -793.4014       -618.2364
+  22063685.1214  -16822073.95949 -13093383.78547  22063685.3984   22063688.4284
+     -2916.8744      -2272.8884
+  21080282.6984  -20914979.09249 -16282268.91448  21080282.2574   21080286.1194
+      1212.9844        945.1784
+  20716681.4324  -21838158.02849 -16774201.39548  20716680.9174   20716684.6444
+      -560.9034       -437.0724
+  21336088.6484  -20896592.64049 -16262566.60648  21336088.0974   21336092.8704
+      1636.0584       1274.8514
+  21315001.4344  -17575042.80949 -13672983.04047  21315001.3784   21315005.5514
+      -480.5874       -374.4854
+ 05  1 20  7 11  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24814570.8094   -3437567.18148  -2660429.78044  24814561.3554
+     -3810.6544      -2969.3484
+  23259680.0844   -5286254.23549  -3910040.64046  23259678.9684   23259684.2994
+     -2501.1994      -1948.9854
+  24576158.8994    -859403.92249   -662774.63245  24576158.4074   24576159.8174
+      -807.0864       -628.8954
+  22080368.5084  -16734402.03349 -13025068.01647  22080368.2764   22080371.0624
+     -2927.9174      -2281.4914
+  21073388.7414  -20951202.71049 -16310495.11048  21073388.7024   21073393.1614
+      1201.9114        936.5574
+  20719908.6394  -21821198.59449 -16760986.25648  20719908.1674   20719911.9084
+      -569.7554       -443.9624
+  21326763.0004  -20945598.25449 -16300752.79948  21326762.5424   21326767.7134
+      1630.9654       1270.8834
+  21317804.1534  -17560313.90249 -13661505.98347  21317804.3384   21317808.6384
+      -501.2914       -390.6144
+ 05  1 20  7 11 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24836324.8914   -3323208.66658  -2571319.13354  24836321.4374
+     -3813.2134      -2971.3444
+  23273997.2484   -5211004.54749  -3851404.51546  23273998.4134   23274003.9134
+     -2515.4164      -1960.0654
+  24580805.4674    -834986.11349   -643747.75045  24580804.3924   24580807.5234
+      -820.7804       -639.5644
+  22097114.7954  -16646398.65549 -12956493.98347  22097114.9444   22097117.3814
+     -2938.9234      -2290.0694
+  21066559.5084  -20987093.69549 -16338462.11448  21066559.0534   21066563.5314
+      1190.8294        927.9174
+  20723186.6364  -21803972.47249 -16747563.30248  20723186.4494   20723189.7504
+      -578.6414       -450.8914
+  21317466.3334  -20994449.98049 -16338819.07948  21317466.3424   21317471.4304
+      1625.8194       1266.8674
+  21320724.3584  -17544963.20349 -13649544.40447  21320724.8454   21320729.9094
+      -521.9764       -406.7364
+ 05  1 20  7 12  0.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24858104.8364   -3208772.37258  -2482147.97254  24858102.1554
+     -3815.7834      -2973.3394
+  23288399.4164   -5135328.36149  -3792436.08946  23288399.0574   23288402.7394
+     -2529.6454      -1971.1504
+  24585529.6384    -810158.60249   -624401.65545  24585528.0324   24585529.8894
+      -834.3934       -650.1754
+  22113923.6954  -16558065.67049 -12887663.10747  22113923.5894   22113927.1534
+     -2949.8904      -2298.6114
+  21059791.7954  -21022652.21049 -16366170.04348  21059792.0304   21059796.8284
+      1179.7414        919.2814
+  20726515.6804  -21786479.08549 -16733932.09448  20726515.1334   20726519.0674
+      -587.5654       -457.8414
+  21308199.7664  -21043146.90249 -16376764.73248  21308199.4074   21308204.8764
+      1620.6484       1262.8454
+  21323764.5254  -17528991.19449 -13637098.68147  21323764.3144   21323768.9394
+      -542.7224       -422.9024
+ 05  1 20  7 12 30.0000000  0  8G18G 5G11G22G25G14G 1G30
+  24879897.2514   -3094262.45558  -2392919.55054  24879888.7864
+     -3818.3734      -2975.3674
+  23302879.4804   -5059228.07549  -3733137.15946  23302880.5064   23302884.6654
+     -2543.7364      -1982.1194
+  24590331.8734    -784923.08449   -604737.57845  24590331.0574   24590333.7984
+      -847.9474       -660.7414
+  22130795.6724  -16469405.10049 -12818576.98847  22130795.5224   22130798.7044
+     -2960.7954      -2307.1104
+  21053089.5994  -21057878.79949 -16393619.34248  21053089.3354   21053093.4884
+      1168.6874        910.6704
+  20729895.0404  -21768718.18149 -16720092.44148  20729894.7694   20729898.7354
+      -596.5114       -464.8114
+  21298962.8684  -21091688.35649 -16414589.23948  21298962.3994   21298967.9164
+      1615.4534       1258.7954
+  21326922.6844  -17512398.36749 -13624169.21247  21326922.3284   21326926.7084
+      -563.4254       -439.0304
+ 05  1 20  7 13  0.0000000  0  7G 5G11G22G25G14G 1G30
+  23317444.3584   -4982706.09949  -3673509.65546  23317443.3954   23317447.2914
+     -2557.7434      -1993.0514
+  24595209.1244    -759281.42249   -584757.08845  24595209.9364   24595214.6044
+      -861.4924       -671.2924
+  22147729.1504  -16380418.88049 -12749237.09847  22147729.0514   22147731.9494
+     -2971.6234      -2315.5534
+  21046449.4414  -21092773.58549 -16420810.07348  21046449.1214   21046453.2324
+      1157.6334        902.0524
+  20733325.6134  -21750689.26049 -16706043.93948  20733325.6724   20733329.4314
+      -605.4424       -471.7764
+  21289755.2314  -21140073.50849 -16452291.96048  21289755.1064   21289760.3084
+      1610.2054       1254.7054
+  21330197.7724  -17495185.15149 -13610756.31847  21330197.8414   21330202.3974
+      -584.0984       -455.1424
+ 05  1 20  7 13 30.0000000  0  7G 5G11G22G25G14G 1G30
+  23332083.3414   -4905764.79749  -3613555.37246  23332083.5544   23332089.2474
+     -2571.6854      -2003.9114
+  24600167.4974    -733235.46849   -564461.60145  24600165.7464   24600171.1754
+      -874.8894       -681.7304
+  22164724.8314  -16291109.03349 -12679645.03047  22164723.8364   22164727.6004
+     -2982.3884      -2323.9404
+  21039871.8024  -21127337.21349 -16447742.77048  21039871.7904   21039875.9134
+      1146.5994        893.4584
+  20736808.0424  -21732391.79249 -16691786.17548  20736807.2584   20736811.5954
+      -614.4174       -478.7634
+  21280578.4564  -21188301.47749 -16489872.20048  21280577.9194   21280582.5924
+      1604.9494       1250.6144
+  21333591.4994  -17477352.34849 -13596860.62347  21333591.1324   21333595.5244
+      -604.7294       -471.2134
+ 05  1 20  7 14  0.0000000  0  7G 5G11G22G25G14G 1G30
+  23346804.9074   -4828406.62849  -3553276.30146  23346805.1764   23346808.4984
+     -2585.5244      -2014.6934
+  24605199.4494    -706786.68749   -543852.17945  24605198.8394   24605203.7604
+      -888.3754       -692.2504
+  22181781.4574  -16201477.12449 -12609802.00247  22181780.7984   22181783.6254
+     -2993.0844      -2332.2784
+  21033356.3744  -21161569.80049 -16474417.52548  21033356.5194   21033361.6844
+      1135.5834        884.8734
+  20740341.0594  -21713825.20549 -16677318.71548  20740340.7984   20740344.6414
+      -623.3924       -485.7624
+  21271430.0914  -21236371.46649 -16527329.33748  21271430.1974   21271435.2724
+      1599.6734       1246.4964
+  21337102.7014  -17458900.29549 -13582482.40447  21337102.8084   21337107.3304
+      -625.3654       -487.2884
+ 05  1 20  7 14 30.0000000  0  7G 5G11G22G25G14G 1G30
+  23361604.4724   -4750634.18949  -3492674.38346  23361603.7114   23361609.0244
+     -2599.3264      -2025.4624
+  24610311.6934    -679936.76149   -522930.14445  24610309.6434   24610313.0884
+      -901.7004       -702.6374
+  22198898.0734  -16111525.53049 -12539709.85647  22198898.2034   22198900.3064
+     -3003.6884      -2340.5424
+  21026905.5484  -21195471.74249 -16500834.62948  21026905.7204   21026910.1814
+      1124.5654        876.2834
+  20743925.6774  -21694989.18149 -16662641.30048  20743925.0214   20743928.7184
+      -632.3624       -492.7584
+  21262313.8304  -21284282.60849 -16564662.69548  21262313.0284   21262317.9234
+      1594.3874       1242.3784
+  21340732.1914  -17439829.78449 -13567622.27647  21340731.4324   21340735.9064
+      -645.9604       -503.3504
+ 05  1 20  7 15  0.0000000  0  7G 5G11G22G25G14G 1G30
+  23376481.8824   -4672449.72749  -3431751.41446  23376481.7864   23376486.3294
+     -2613.0154      -2036.1154
+  24615495.0884    -652687.64449   -501697.05045  24615495.4784   24615499.6114
+      -914.8504       -712.8694
+  22216076.6444  -16021256.06249 -12469370.02947  22216075.8344   22216079.0074
+     -3014.2544      -2348.7654
+  21020517.3184  -21229043.55149 -16526994.47148  21020517.5374   21020522.1114
+      1113.5704        867.7194
+  20747561.1704  -21675883.03449 -16647753.38548  20747560.7874   20747564.8994
+      -641.3684       -499.7654
+  21253226.6344  -21332034.17049 -16601871.71048  21253226.2654   21253231.1374
+      1589.0434       1238.2194
+  21344477.6764  -17420141.36149 -13552280.65747  21344478.2234   21344482.1854
+      -666.5574       -519.3894
+ 05  1 20  7 15 30.0000000  0  7G 5G11G22G25G14G 1G30
+  23391437.6984   -4593855.70449  -3370509.33946  23391436.4284   23391442.3664
+     -2626.5884      -2046.6904
+  24620754.2614    -625041.12149   -480154.28445  24620754.8524   24620758.2414
+      -928.1444       -723.2334
+  22233313.6094  -15930670.72449 -12398784.06747  22233313.5364   22233315.7054
+     -3024.7574      -2356.9534
+  21014192.6094  -21262285.52249 -16552897.31248  21014192.4214   21014196.2984
+      1102.5704        859.1434
+  20751248.6304  -21656506.29749 -16632654.62948  20751248.2934   20751251.8324
+      -650.4134       -506.8144
+  21244170.0064  -21379625.17849 -16638955.61248  21244169.9464   21244174.8294
+      1583.6894       1234.0464
+  21348342.8254  -17399835.70549 -13536458.07347  21348342.7394   21348346.7434
+      -687.1114       -535.4114
+ 05  1 20  7 16  0.0000000  0  7G 5G11G22G25G14G 1G30
+  23406472.1804   -4514854.84149  -3308950.25746  23406472.1584   23406476.7424
+     -2640.1334      -2057.2394
+  24626093.7784    -596998.86349   -458303.17345  24626092.7084   24626095.3364
+      -941.4064       -733.5604
+  22250610.8104  -15839771.60349 -12327953.60547  22250611.0154   22250614.0894
+     -3035.1844      -2365.0784
+  21007928.3754  -21295198.18349 -16578543.54048  21007928.4454   21007932.8634
+      1091.5944        850.5904
+  20754987.2044  -21636858.58549 -16617344.72148  20754986.6834   20754990.6314
+      -659.4604       -513.8654
+  21235144.6864  -21427054.82749 -16675913.78548  21235144.2814   21235149.4314
+      1578.2704       1229.8224
+  21352323.8714  -17378913.69349 -13520155.19147  21352323.5344   21352327.6774
+      -707.6604       -551.4234
+ 05  1 20  7 16 30.0000000  0  7G 5G11G22G25G14G 1G30
+  23421582.0274   -4435449.37549  -3247075.89246  23421581.0684   23421586.6494
+     -2653.5724      -2067.7144
+  24631504.1214    -568562.83549   -436145.28045  24631502.6264   24631506.6654
+      -954.4314       -743.7104
+  22267968.1344  -15748560.52449 -12256880.04947  22267967.8604   22267970.9654
+     -3045.5644      -2373.1644
+  21001727.6584  -21327781.77349 -16603933.35448  21001727.6414   21001732.3144
+      1080.6324        842.0494
+  20758777.4854  -21616939.55249 -16601823.40348  20758777.3054   20758781.3014
+      -668.5074       -520.9144
+  21226150.5144  -21474322.18549 -16712745.49248  21226150.0084   21226154.7184
+      1572.8514       1225.5954
+  21356421.1134  -17357376.07249 -13503372.63347  21356421.4914   21356425.9924
+      -728.1904       -567.4264
+ 05  1 20  7 17  0.0000000  0  7G 5G11G22G25G14G 1G30
+  23436769.2104   -4355642.02749  -3184888.32246  23436767.7464   23436773.6334
+     -2666.9234      -2078.1294
+  24636987.5174    -539734.63249   -413681.75745  24636989.1344   24636993.4054
+      -967.5264       -753.9124
+  22285383.7604  -15657039.62349 -12185565.08447  22285383.7724   22285385.9574
+     -3055.8374      -2381.1674
+  20995590.2764  -21360036.91349 -16629067.22748  20995590.4424   20995594.5824
+      1069.6964        833.5294
+  20762620.5414  -21596748.46649 -16586090.08748  20762619.7184   20762623.2894
+      -677.5654       -527.9734
+  21217186.9634  -21521426.36649 -16749450.05348  21217186.1694   21217191.1174
+      1567.4134       1221.3664
+  21360637.3974  -17335223.32749 -13486110.76447  21360637.8574   21360641.3774
+      -748.6484       -583.3634
+ 05  1 20  7 17 30.0000000  0  7G 5G11G22G25G14G 1G30
+  23452031.6754   -4275435.43749  -3122389.67846  23452031.6094   23452036.2884
+     -2680.1564      -2088.4284
+  24642548.9154    -510516.21649   -390914.13945  24642549.5344   24642553.4254
+      -980.4884       -764.0234
+  22302858.7034  -15565210.74749 -12114010.12447  22302858.0144   22302860.9314
+     -3066.0744      -2389.1504
+  20989515.4154  -21391963.90049 -16653945.40048  20989515.2184   20989519.1564
+      1058.7734        825.0204
+  20766514.0864  -21576285.06349 -16570144.57848  20766513.8924   20766517.3564
+      -686.6654       -535.0644
+  21208253.6894  -21568366.61049 -16786026.87648  21208253.5464   21208258.6464
+      1561.9374       1217.0944
+  21364970.4564  -17312456.19349 -13468370.13147  21364970.3734   21364974.0294
+      -769.0974       -599.2984
+ 05  1 20  7 18  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23467370.3664   -4194831.97949  -3059581.78246  23467370.2314   23467374.9234
+     -2693.3724      -2098.7284
+  24648181.3634    -480909.34649   -367843.87445  24648181.2014   24648187.8974
+      -993.3814       -774.0604
+  22320390.5594  -15473076.17749 -12042216.98047  22320391.0124   22320394.0384
+     -3076.2314      -2397.0614
+  20983501.0674  -21423563.16349 -16678568.20548  20983501.1894   20983505.9754
+      1047.8424        816.5004
+  20770460.2724  -21555548.73249 -16553986.39648  20770459.6834   20770463.6034
+      -695.7774       -542.1654
+  24614675.5914    -240751.29349   -167335.66044
+      3442.5874       2682.3694
+  21199352.8544  -21615142.01749 -16822475.26048  21199352.5094   21199357.8014
+      1556.4234       1212.7964
+  21369417.7274  -17289075.71849 -13450151.58747  21369418.8914   21369423.5864
+      -789.5634       -615.2454
+ 05  1 20  7 18 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23482783.2324   -4113834.31049  -2996466.72246  23482782.8554   23482787.9584
+     -2706.4094      -2108.8914
+  24653889.9554    -450915.86949   -344472.32045  24653891.3604   24653894.8444
+     -1006.2444       -784.0904
+  22337981.8664  -15380637.70249 -11970187.00847  22337981.2974   22337984.6264
+     -3086.3194      -2404.9234
+  20977550.5714  -21454835.20949 -16702936.04448  20977550.7484   20977555.3684
+      1036.9344        808.0024
+  20774458.8014  -21534538.95049 -16537615.14248  20774458.0854   20774461.7894
+      -704.8934       -549.2694
+  24595036.3574    -343946.20949      -731.07143
+      3436.4064       2677.7174
+  21190483.9834  -21661751.71249 -16858794.51648  21190483.5334   21190488.1484
+      1550.8824       1208.4794
+  21373985.0994  -17265082.61249 -13431455.67247  21373985.3644   21373989.2764
+      -809.9434       -631.1224
+ 05  1 20  7 19  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23498272.0864   -4032444.80549  -2933046.33046  23498271.6624   23498276.5254
+     -2719.5144      -2119.1054
+  24659671.2734    -420537.83349   -320801.11645  24659671.0424   24659675.0774
+     -1019.0334       -794.0504
+  22355628.4924  -15287897.52449 -11897921.96147  22355628.7094   22355632.3784
+     -3096.3334      -2412.7184
+  20971662.6654  -21485780.27949 -16727049.08148  20971662.2054   20971666.4584
+      1026.0524        799.5204
+  20778508.5014  -21513255.37149 -16521030.52948  20778507.7944   20778511.6324
+      -714.0334       -556.3914
+  24575429.2714    -446971.80849    -81009.99644
+      3431.3394       2673.7384
+  21181645.8614  -21708194.73549 -16894983.87548  21181645.4164   21181650.2454
+      1545.3004       1204.1324
+  21378666.6964  -17240477.82449 -13412283.10547  21378666.9874   21378670.7854
+      -830.3524       -647.0274
+ 05  1 20  7 19 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23513831.9484   -3950666.07849  -2869322.63946  23513832.9094   23513838.0294
+     -2732.3954      -2129.1304
+  24665524.8724    -389777.06549   -296831.66545  24665523.3504   24665526.4674
+     -1031.7154       -803.9344
+  22373333.9224  -15194857.61349 -11825423.35347  22373333.8674   22373337.3124
+     -3106.2964      -2420.4944
+  20965835.3954  -21516399.32149 -16750908.07848  20965835.3324   20965839.7804
+      1015.1784        791.0444
+  20782610.3544  -21491697.52349 -16504232.20148  20782610.0914   20782614.0194
+      -723.2004       -563.5364
+  24555856.0344    -549825.56649   -161155.24444
+      3425.5634       2669.2374
+  21172839.3714  -21754470.26549 -16931042.73948  21172839.1484   21172844.1024
+      1539.7064       1199.7654
+  21383464.4314  -17215262.10849 -13392634.49647  21383465.3724   21383469.9464
+      -850.6874       -662.8774
+ 05  1 20  7 20  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23529469.0714   -3868500.65149  -2805297.66946  23529468.3374   23529472.8374
+     -2745.2574      -2139.1714
+  24671451.4704    -358635.13849   -272565.23745  24671451.0394   24671454.7734
+     -1044.3754       -813.7974
+  22391095.9534  -15101520.06849 -11752692.82747  22391095.5504   22391098.4654
+     -3116.1814      -2428.1934
+  20960070.9124  -21546692.44349 -16774513.12248  20960070.7184   20960075.2994
+      1004.3594        782.6194
+  20786765.4374  -21469865.01549 -16487219.86148  20786764.7514   20786768.5954
+      -732.3194       -570.6364
+  24536318.8354    -652504.90849   -241164.43244
+      3419.6974       2664.6744
+  21164065.9114  -21800577.37449 -16966970.35848  21164065.3724   21164070.4834
+      1534.1014       1195.4094
+  21388379.4134  -17189436.29349 -13372510.49147  21388380.2234   21388384.5654
+      -870.9894       -678.6924
+ 05  1 20  7 20 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23545176.4004   -3785950.98349  -2740973.20646  23545176.8744   23545182.0144
+     -2758.0234      -2149.1014
+  24677449.4854    -327114.19749   -248003.50745  24677449.2064   24677453.4394
+     -1057.0014       -823.6364
+  22408914.2454  -15007887.01649 -11679732.02647  22408913.0104   22408916.1694
+     -3126.0094      -2435.8494
+  20954368.9484  -21576659.78649 -16797864.29748  20954368.4844   20954372.7504
+       993.4724        774.1354
+  20790971.9244  -21447757.18149 -16469992.97448  20790971.3994   20790975.5284
+      -741.5244       -577.8114
+  24516812.0634    -755007.17749    -73871.60244
+      3413.8014       2660.0614
+  21155324.1004  -21846515.14849 -17002766.02748  21155324.0394   21155328.7024
+      1528.4114       1190.9724
+  21393410.0544  -17163001.42149 -13351911.89247  21393410.1224   21393414.2934
+      -891.2834       -694.5024
+ 05  1 20  7 21  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23560957.6264   -3703019.73849  -2676351.46646  23560957.7804   23560963.9614
+     -2770.6654      -2158.9664
+  24683520.0794    -295216.47649   -223148.17945  24683519.1424   24683521.4384
+     -1069.5714       -833.4354
+  22426786.9274  -14913960.35249 -11606542.43747  22426787.4064   22426789.7424
+     -3135.7564      -2443.4554
+  20948727.7724  -21606302.19449 -16820962.27048  20948727.5734   20948731.8354
+       982.6764        765.7154
+  20795231.7614  -21425373.67149 -16452551.28548  20795231.1804   20795234.7824
+      -750.7334       -584.9904
+  24497340.8204    -857329.94749   -153603.59045
+      3407.6784       2655.3294
+  21146614.7984  -21892282.73649 -17038429.07448  21146614.5044   21146619.7154
+      1522.7524       1186.5584
+  21398555.6774  -17135958.65849 -13330839.61447  21398556.1584   21398560.0274
+      -911.4984       -710.2604
+ 05  1 20  7 21 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23576810.7734   -3619709.53449  -2611434.47746  23576810.1694   23576816.7044
+     -2783.3194      -2168.8014
+  24689661.0194    -262943.71649   -198000.53945  24689659.6154   24689664.2434
+     -1082.0544       -843.1704
+  22444716.2674  -14819741.93349 -11533125.43247  22444716.0824   22444718.4634
+     -3145.4224      -2450.9774
+  20943148.8074  -21635620.15949 -16843807.43648  20943148.7844   20943152.9694
+       971.8704        757.3044
+  20799543.3864  -21402714.02849 -16434894.42948  20799543.0224   20799547.0024
+      -759.9224       -592.1494
+  24477904.5194    -959470.49049   -233193.64345                  24477909.7704
+      3401.5974       2650.5954
+  21137938.1134  -21937879.13249 -17073958.72948  21137937.6694   21137942.8264
+      1517.0124       1182.0864
+  21403817.4514  -17108308.69949 -13309294.19247  21403817.8094   21403822.5724
+      -931.7424       -726.0344
+ 05  1 20  7 22  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23592737.1864   -3536022.80949  -2546224.05746  23592735.9484   23592741.1664
+     -2795.7784      -2178.5374
+  24695869.9674    -230297.85449   -172562.14045  24695869.3854   24695876.2454
+     -1094.4214       -852.7964
+  22462701.2794  -14725234.43149 -11459483.18647  22462700.3134   22462703.4184
+     -3155.0404      -2458.4714
+  20937631.0354  -21664614.32849 -16866400.30148  20937630.9854   20937635.5854
+       961.0774        748.8934
+  20803908.0074  -21379777.66949 -16417021.94748  20803907.5494   20803911.8164
+      -769.1574       -599.3414
+  24458502.4614   -1061426.41249   -312639.79245  24458502.4474   24458508.6874
+      3395.4094       2645.7774
+  21129293.9804  -21983303.40249 -17109354.26248  21129293.6314   21129298.8564
+      1511.2604       1177.6054
+  21409194.6044  -17080052.64549 -13287276.48747  21409194.3834   21409199.3474
+      -951.9244       -741.7654
+ 05  1 20  7 22 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23608733.6604   -3451962.45349  -2480722.46945  23608732.7504   23608737.8444
+     -2808.2264      -2188.2174
+  24702156.9854    -197280.67149   -146834.51645  24702156.7884   24702159.8764
+     -1106.7604       -862.4064
+  22480738.2624  -14630439.71649 -11385617.18247  22480738.8054   22480742.0694
+     -3164.6054      -2465.9284
+  20932175.7424  -21693285.07349 -16888741.14348  20932175.0564   20932179.6934
+       950.2904        740.4914
+  20808325.3754  -21356564.14749 -16398933.49348  20808325.0934   20808329.1754
+      -778.4134       -606.5534
+  24439134.3674   -1163195.10649   -391940.05845  24439135.5534   24439142.2324
+      3389.1774       2640.9164
+  21120683.1424  -22028554.61849 -17144614.95148  21120682.5854   21120687.8354
+      1505.4564       1173.0874
+  21414686.9244  -17051191.64249 -13264787.40447  21414686.9144   21414691.1954
+      -972.0284       -757.4174
+ 05  1 20  7 23  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23624799.9054   -3367530.99449  -2414931.68545  23624800.3944   23624803.5194
+     -2820.5414      -2197.8234
+  24708511.1494    -163894.37149   -120819.26745  24708510.3504   24708514.9414
+     -1118.9634       -871.9164
+  22498832.0454  -14535359.89249 -11311528.99447  22498831.8364   22498834.9244
+     -3174.0744      -2473.2984
+  20926780.4474  -21721632.83949 -16910830.31548  20926780.5774   20926785.3224
+       939.5514        732.1224
+  20812796.1924  -21333073.09749 -16380628.78848  20812795.3464   20812799.3534
+      -787.6694       -613.7654
+  24419806.1234   -1264773.69049   -471092.20745  24419807.2974   24419813.4594
+      3382.7594       2635.9184
+  21112104.6344  -22073631.90049 -17179740.10248  21112104.6064   21112109.7264
+      1499.6734       1168.5774
+  21420293.8124  -17021726.60449 -13241827.63647  21420293.5714   21420297.8544
+      -992.1924       -773.1374
+ 05  1 20  7 23 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23640935.7764   -3282730.76949  -2348853.53945  23640936.2814   23640942.5674
+     -2832.7774      -2207.3524
+  24714931.5264    -130140.94449    -94517.89645  24714933.2014   24714937.0624
+     -1131.1704       -881.4274
+  22516979.4124  -14439997.03649 -11237220.27747  22516979.5304   22516982.4594
+     -3183.4564      -2480.6134
+  20921447.7754  -21749658.23349 -16932668.28148  20921447.8184   20921452.0614
+       928.8134        723.7524
+  20817318.6874  -21309304.09949 -16362107.48648  20817318.0394   20817322.4084
+      -796.9324       -620.9884
+  24400516.1544   -1366159.67549   -550094.26145  24400512.7964   24400519.2334
+      3376.3484       2630.9254
+  21103560.1444  -22118534.21449 -17214728.90648  21103559.9804   21103565.1094
+      1493.8324       1164.0214
+  21426016.5954  -16991658.70149 -13218398.09647  21426016.1354   21426019.9084
+     -1012.2614       -788.7784
+ 05  1 20  7 24  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23657145.4954   -3197564.40349  -2282490.14845  23657143.2654   23657148.1234
+     -2844.9364      -2216.8264
+  24721425.4724     -96022.44049    -67932.04345  24721424.4554   24721428.3934
+     -1143.3734       -890.9424
+  22535179.7154  -14344353.25749 -11162692.65347  22535179.1754   22535182.6314
+     -3192.7934      -2487.8834
+  20916175.5964  -21777361.50549 -16954255.24648  20916175.7384   20916180.3794
+       918.0794        715.3864
+  20821894.7674  -21285256.53249 -16343369.12948  20821894.2874   20821898.7114
+      -806.2244       -628.2224
+  24381257.2484   -1467350.42149   -628944.17045  24381256.3194   24381263.8164
+      3369.7184       2625.7514
+  21095049.7694  -22163260.68349 -17249580.69648  21095048.9674   21095054.0354
+      1487.9354       1159.4334
+  21431851.6164  -16960988.85549 -13194499.52647  21431851.9954   21431856.7364
+     -1032.2954       -804.3834
+ 05  1 20  7 24 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23673419.5054   -3112034.45049  -2215843.44146  23673419.7294   23673425.2154
+     -2857.0344      -2226.2624
+  24727988.6644     -61540.68049    -41063.14445  24727986.6234   24727988.8934
+     -1155.4184       -900.3214
+  22553432.7244  -14248430.48849 -11087947.63947  22553432.9654   22553436.1914
+     -3202.0404      -2495.0984
+  20910965.6984  -21804743.44749 -16975591.82248  20910965.4274   20910969.6534
+       907.3924        707.0594
+  20826524.5464  -21260929.87949 -16324413.29948  20826523.8524   20826527.8964
+      -815.5374       -635.4844
+  24362037.0614   -1568343.46049   -707640.03545  24362038.3154   24362045.8064
+      3363.1664       2620.6504
+  21086571.4034  -22207810.26449 -17284294.66048  21086571.3174   21086576.5794
+      1482.0334       1154.8304
+  21437802.5374  -16929718.33949 -13170132.89647  21437802.5934   21437806.5814
+     -1052.3154       -819.9934
+ 05  1 20  7 25  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23689763.3264   -3026143.64249  -2148915.56246  23689763.0324   23689769.8254
+     -2869.0094      -2235.5884
+  24734614.4634     -26697.76749    -13912.80745  24734617.2164   24734619.9974
+     -1167.4614       -909.7064
+  22571738.5324  -14152231.25349 -11012987.16147  22571738.7664   22571741.5524
+     -3211.2234      -2502.2564
+  20905816.3544  -21831804.39049 -16996678.27948  20905816.2164   20905820.2284
+       896.6814        698.7164
+  20831206.7484  -21236323.76549 -16305239.71448  20831206.1364   20831210.0074
+      -824.8714       -642.7544
+  24342862.0744   -1669136.00649   -786179.70445  24342859.0904   24342864.3104
+      3356.3384       2615.3284
+  21078128.1984  -22252181.93549 -17318869.98848  21078127.6814   21078132.9494
+      1476.0784       1150.1944
+  21443867.3364  -16897848.32249 -13145299.12647  21443867.4104   21443872.1064
+     -1072.2664       -835.5264
+ 05  1 20  7 25 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23706176.9034   -2939894.71949  -2081708.58546  23706176.2134   23706181.3524
+     -2880.8944      -2244.8524
+  24741318.1704       8504.27049     13517.30445  24741316.6174   24741317.5534
+     -1179.4044       -919.0194
+  22590097.7184  -14055757.66449 -10937812.93347  22590097.6314   22590100.7404
+     -3220.3534      -2509.3704
+  20900727.8674  -21858544.80449 -17017514.95848  20900727.6044   20900731.6894
+       885.9904        690.3794
+  20835942.2274  -21211437.66049 -16285847.94048  20835941.8644   20835945.7884
+      -834.2114       -650.0384
+  24323722.8004   -1769725.54549   -864561.12745  24323719.5314   24323722.1964
+      3349.5294       2610.0234
+  21069718.4094  -22296374.78849 -17353305.97748  21069718.1854   21069722.9324
+      1470.0924       1145.5254
+  21450045.9474  -16865379.95149 -13119999.09347  21450046.1334   21450049.7104
+     -1092.2424       -851.1004
+ 05  1 20  7 26  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23722655.7674   -2853290.13149  -2014224.51945  23722656.0134   23722661.6374
+     -2892.7634      -2254.1074
+  24748082.5574      44063.48549     41225.81345  24748082.2154   24748085.3464
+     -1191.2194       -928.2214
+  22608507.3114  -13959011.54949 -10862426.35247  22608507.0024   22608510.3854
+     -3229.3584      -2516.3904
+  20895699.8464  -21884965.43049 -17038102.45548  20895699.8784   20895703.9824
+       875.3724        682.1054
+  20840731.5814  -21186271.43449 -16266237.89948  20840730.8544   20840734.8514
+      -843.5424       -657.3094
+  24304615.5444   -1870109.41049   -942782.28445  24304615.1694   24304620.3314
+      3342.6954       2604.7034
+  21061343.8264  -22340387.95249 -17387601.95448  21061342.8864   21061347.5214
+      1464.0924       1140.8474
+  21456337.7174  -16832314.24949 -13094233.60947  21456338.7064   21456342.0684
+     -1112.0984       -866.5694
+ 05  1 20  7 26 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23739205.2414   -2766332.51749  -1946465.31245  23739204.9014   23739207.4514
+     -2904.4664      -2263.2204
+  24754916.2854      79977.44849     69210.72245  24754916.1594   24754920.0944
+     -1203.0324       -937.4304
+  22626968.1354  -13861995.31249 -10786829.28147  22626968.9124   22626972.9474
+     -3238.3674      -2523.4034
+  20890733.0184  -21911066.74749 -17058441.14148  20890732.8174   20890736.9184
+       864.7274        673.8094
+  20845573.4024  -21160824.41049 -16246409.05648  20845573.2994   20845576.9134
+      -852.9274       -664.6174
+  24285551.0114   -1970284.85148  -1020841.07945  24285554.4174   24285558.4274
+      3335.7824       2599.3094
+  21053001.8304  -22384220.39149 -17421757.11848  21053001.5964   21053006.4854
+      1458.0484       1136.1414
+  21462743.8954  -16798652.62549 -13068003.77647  21462744.0384   21462747.6054
+     -1131.9784       -882.0634
+ 05  1 20  7 27  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23755817.9564   -2679024.60449  -1878433.12145  23755818.0224   23755822.0994
+     -2916.0704      -2272.2694
+  24761817.3794     116244.05649     97470.45945  24761817.1894   24761820.9054
+     -1214.6794       -946.4974
+  22645481.0714  -13764711.06549 -10711023.38547  22645481.4534   22645485.0994
+     -3247.2294      -2530.3034
+  20885826.7414  -21936849.12649 -17078531.30048  20885826.4874   20885830.9664
+       854.1194        665.5484
+  20850469.7774  -21135096.06849 -16226360.99848  20850468.9784   20850473.2044
+      -862.2924       -671.9164
+  24266526.6704   -2070249.23048  -1098735.37845  24266529.2234   24266533.1014
+      3328.5564       2593.6714
+  21044696.0234  -22427871.08749 -17455770.64948  21044695.2374   21044700.4104
+      1451.9954       1131.4274
+  21469261.4964  -16764396.38249 -13041310.61747  21469262.4544   21469266.7514
+     -1151.7454       -897.4674
+ 05  1 20  7 27 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23772500.7114   -2591368.88549  -1810129.97546  23772499.2934   23772502.6134
+     -2927.6084      -2281.2544
+  24768786.0734     152861.50949    126003.48745  24768784.7684   24768788.2404
+     -1226.3764       -955.6194
+  22664043.7304  -13667160.91849 -10635010.28247  22664044.3674   22664048.0364
+     -3256.0614      -2537.1924
+  20880980.5714  -21962313.18249 -17098373.42448  20880980.6894   20880985.0994
+       843.5194        657.2854
+  20855418.9274  -21109086.05649 -16206093.45448  20855418.7744   20855422.9374
+      -871.6894       -679.2364
+  24247548.4144   -2169999.91749  -1176463.18545  24247547.9904   24247553.0994
+      3321.4464       2588.1394
+  21036424.0034  -22471339.09249 -17489641.81848  21036423.5314   21036428.2584
+      1445.8994       1126.6704
+  21475893.5444  -16729546.81949 -13014155.10447  21475893.8924   21475898.2894
+     -1171.5164       -912.8724
+ 05  1 20  7 28  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23789243.2694   -2503368.12249  -1741557.93246  23789243.5024   23789248.8544
+     -2939.0914      -2290.1984
+  24775819.9854     189827.75049    154808.32545  24775819.8904   24775823.6064
+     -1238.0694       -964.7324
+  22682658.3864  -13569347.10149 -10558791.71547  22682658.0294   22682661.2294
+     -3264.8484      -2544.0344
+  20876195.7924  -21987459.66149 -17117968.07348  20876195.7614   20876200.3574
+       832.9264        649.0344
+  20860422.3534  -21082793.83149 -16185606.01848  20860421.8764   20860425.9824
+      -881.1244       -686.5904
+  24228611.3594   -2269534.56049  -1254022.65245  24228607.4014   24228610.1374
+      3314.2124       2582.5064
+  21028187.5654  -22514623.50749 -17523369.95748  21028186.7784   21028191.6354
+      1439.7354       1121.8704
+  21482638.3724  -16694105.09149 -12986538.17647  21482638.4634   21482641.8624
+     -1191.2174       -928.2224
+ 05  1 20  7 28 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23806056.8994   -2415024.84449  -1672719.00846  23806055.8344   23806061.7634
+     -2950.4584      -2299.0494
+  24782920.0884     227140.38049    183883.11045  24782919.3394   24782922.3264
+     -1249.5394       -973.6734
+  22701321.6434  -13471271.76349 -10482369.38447  22701321.7724   22701324.5784
+     -3273.5254      -2550.7994
+  20871470.8184  -22012288.92649 -17137315.54148  20871470.7704   20871475.2524
+       822.3714        640.8104
+  20865478.9964  -21056219.06449 -16164898.40148  20865478.5734   20865482.9504
+      -890.5394       -693.9274
+  24209707.4204   -2368850.35449  -1331411.56745  24209706.7574   24209712.3714
+      3306.7894       2576.7134
+  21019985.6784  -22557723.14949 -17556954.10448  21019984.9684   21019990.1714
+      1433.5734       1117.0734
+  21489494.7124  -16658072.60149 -12958460.91147  21489495.4984   21489499.5114
+     -1210.8944       -943.5604
+ 05  1 20  7 29  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23822932.3264   -2326342.03649  -1603615.53046  23822931.3104   23822936.2454
+     -2961.7304      -2307.8434
+  24790086.5094     264797.46449    213226.28545  24790086.1814   24790091.4854
+     -1260.9634       -982.5714
+  22720033.3944  -13372937.15049 -10405745.02447  22720033.8474   22720037.4094
+     -3282.0904      -2557.4694
+  20866806.8414  -22036801.73849 -17156416.43448  20866806.4694   20866810.6234
+       811.8444        632.6054
+  20870590.6264  -21029361.32849 -16143970.29948  20870590.0054   20870593.6894
+      -899.9794       -701.2854
+  24190847.2624   -2467944.54348  -1408627.81945  24190848.4374   24190855.4534
+      3299.4594       2570.9994
+  21011819.1014  -22600636.91149 -17590393.40948  21011818.8244   21011824.0004
+      1427.3664       1112.2344
+  21496463.9674  -16621450.62249 -12929924.30547  21496464.3794   21496468.3854
+     -1230.4964       -958.8354
+ 05  1 20  7 29 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23839871.9144   -2237322.11949  -1534249.34546  23839871.3274   23839877.0124
+     -2972.9394      -2316.5664
+  24797319.0754     302796.62949    242836.05345  24797317.8124   24797320.9324
+     -1272.3134       -991.4174
+  22738795.0264  -13274345.41849 -10328920.28347  22738795.2714   22738798.3194
+     -3290.6744      -2564.1674
+  20862201.9604  -22060998.88949 -17175271.34848  20862201.8184   20862206.0404
+       801.3034        624.3934
+  20875755.5924  -21002219.99349 -16122821.21048  20875754.6704   20875758.6264
+      -909.4474       -708.6594
+  24172034.8334   -2566814.46349  -1485669.29845  24172034.8254   24172041.2384
+      3291.8864       2565.1064
+  21003688.2554  -22643363.82849 -17623687.10648  21003688.0574   21003693.3724
+      1421.1014       1107.3524
+  21503544.1044  -16584240.54249 -12900929.45847  21503545.0314   21503548.7184
+     -1250.1274       -974.1274
+ 05  1 20  7 30  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23856874.6844   -2147967.82449  -1464622.61746  23856874.3754   23856881.2024
+     -2983.9834      -2325.1884
+  24804614.9594     341136.02249    272710.86745  24804613.7004   24804615.7444
+     -1283.6454      -1000.2444
+  22757605.0364  -13175498.79549 -10251896.93846  22757604.5524   22757607.6014
+     -3299.0984      -2570.7214
+  20857658.0004  -22084880.56249 -17193880.44448  20857657.3644   20857661.1404
+       790.8044        616.2094
+  20880972.9364  -20974794.75549 -16101450.89348  20880973.0004   20880977.5374
+      -918.9054       -716.0304
+  24153265.2074   -2665457.51549  -1562534.04245  24153262.9644   24153269.4364
+      3284.3344       2559.2154
+  20995593.7644  -22685902.92549 -17656834.44048  20995593.4744   20995598.3704
+      1414.8194       1102.4574
+  21510737.0264  -16546443.70149 -12871477.37047  21510737.1584   21510741.5244
+     -1269.6314       -989.3224
+ 05  1 20  7 30 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23873941.4844   -2058281.75549  -1394737.40646  23873941.0554   23873946.3814
+     -2995.0434      -2333.8074
+  24811974.4274     379813.39149    302849.06245  24811974.1314   24811975.0524
+     -1294.8734      -1009.0014
+  22776462.5874  -13076399.45649 -10174676.67647  22776462.7794   22776466.3774
+     -3307.4864      -2577.2554
+  20853172.5574  -22108447.47449 -17212244.26248  20853172.5394   20853176.7324
+       780.3254        608.0464
+  20886246.8094  -20947085.30049 -16079859.11048  20886246.2964   20886250.6244
+      -928.3954       -723.4264
+  24134537.8054   -2763871.09149  -1639219.96845  24134537.7724   24134544.2584
+      3276.5914       2553.1924
+  20987534.4054  -22728253.31249 -17689834.74648  20987534.2124   20987539.3094
+      1408.5194       1097.5484
+  21518040.5834  -16508061.62349 -12841569.26047  21518041.6034   21518045.4394
+     -1289.1234      -1004.5114
+ 05  1 20  7 31  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23891071.9174   -1968266.47049  -1324595.64046  23891071.1884   23891075.9124
+     -3005.9584      -2342.3094
+  24819398.4224     418826.42949    333248.81845  24819399.8984   24819398.3844
+     -1306.0614      -1017.7254
+  22795369.1514  -12977049.73549 -10097261.30947  22795368.8494   22795372.3454
+     -3315.8154      -2583.7494
+  20848748.2914  -22131700.35549 -17230363.39348  20848747.8114   20848751.9984
+       769.8774        599.9094
+  20891574.2054  -20919090.86549 -16058045.25948  20891573.4714   20891577.9544
+      -937.8804       -730.8134
+  24115852.3814   -2862052.42449  -1715724.90145  24115853.4954   24115858.6104
+      3268.8224       2547.1394
+  20979511.9254  -22770413.79349 -17722687.07548  20979511.8244   20979516.5664
+      1402.1674       1092.6024
+  21525456.2264  -16469095.75049 -12811206.23447  21525456.2844   21525460.3344
+     -1308.5554      -1019.6444
+ 05  1 20  7 31 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23908264.0334   -1877924.68349  -1254199.42646  23908262.2214   23908267.8544
+     -3016.8214      -2350.7734
+  24826886.0264     458173.01749    363908.54045  24826887.7874   24826887.2614
+     -1317.0654      -1026.2864
+  22814320.3814  -12877451.62249 -10019652.41046  22814321.3274   22814324.2304
+     -3324.0804      -2590.1944
+  20844382.2524  -22154639.78149 -17248238.26348  20844382.1904   20844386.6394
+       759.4404        591.7674
+  20896955.1854  -20890811.19649 -16036009.15448  20896954.7504   20896958.7304
+      -947.4214       -738.2514
+  24097212.7164   -2959998.85349  -1792046.79645  24097214.8874   24097221.2424
+      3260.9184       2540.9754
+  20971525.4044  -22812383.41549 -17755390.67148  20971524.9664   20971529.8554
+      1395.7984       1087.6354
+  21532981.6084  -16429547.42249 -12780389.36647  21532982.2074   21532986.3964
+     -1327.9244      -1034.7454
+ 05  1 20  7 32  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23925515.1214   -1787259.12049  -1183550.94546  23925515.1144   23925521.0764
+     -3027.5674      -2359.1394
+  24834433.4624     497850.91549    394826.35545  24834433.4714   24834438.1574
+     -1328.1144      -1034.8974
+  22833321.4674  -12777607.60649  -9941851.90146  22833321.4474   22833323.8454
+     -3332.2064      -2596.5224
+  20840076.2574  -22177266.36749 -17265869.37348  20840076.5484   20840080.9074
+       749.0274        583.6574
+  20902391.6724  -20862246.02949 -16013750.59148  20902390.8634   20902394.8024
+      -956.9374       -745.6604
+  24078623.5524   -3057707.70349  -1868183.57945  24078622.7434   24078628.5714
+      3253.0114       2534.8114
+  20963575.3194  -22854161.26049 -17787944.83948  20963575.0364   20963579.8164
+      1389.3894       1082.6424
+  21540618.4894  -16389418.21549 -12749119.85547  21540618.3594   21540623.2444
+     -1347.2674      -1049.8224
+ 05  1 20  7 32 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23942830.7864   -1696272.34049  -1112652.13746  23942830.5974   23942833.9144
+     -3038.2254      -2367.4514
+  24842048.9264     537858.15049    426000.72845  24842048.0944   24842052.1514
+     -1338.9954      -1043.3664
+  22852367.4944  -12677519.73049  -9863861.34546  22852367.2704   22852370.6464
+     -3340.3184      -2602.8454
+  20835830.6524  -22199580.58149 -17283257.06248  20835830.5994   20835834.5464
+       738.6024        575.5334
+  20907881.1274  -20833394.60749 -15991268.96048  20907880.5274   20907885.0424
+      -966.4804       -753.1014
+  24060075.0004   -3155176.47749  -1944133.25945  24060073.7084   24060080.2024
+      3244.8864       2528.4884
+  20955662.0944  -22895746.22649 -17820348.71948  20955661.6284   20955666.6994
+      1382.9414       1077.6134
+  21548364.2764  -16348709.62049 -12717398.87347  21548364.7394   21548369.1084
+     -1366.5764      -1064.8684
+ 05  1 20  7 33  0.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23960205.9114   -1604966.97749  -1041505.09446  23960204.4404   23960209.9704
+     -3048.7944      -2375.6844
+  24849726.2594     578192.12849    457429.88045  24849725.1324   24849728.6214
+     -1349.8384      -1051.8224
+  22871458.7064  -12577190.31549  -9785682.58847  22871459.9084   22871461.6894
+     -3348.3364      -2609.0944
+  20831643.3544  -22221583.06849 -17300401.84348  20831643.4674   20831647.7484
+       728.2324        567.4514
+  20913425.5114  -20804256.49749 -15968563.94548  20913425.2554   20913429.7844
+      -976.0544       -760.5634
+  24041574.2224   -3252402.31849  -2019893.66545  24041573.0094   24041579.7754
+      3236.7614       2522.1594
+  20947785.9724  -22937137.10049 -17852601.36148  20947785.4174   20947790.3444
+      1376.4484       1072.5584
+  21556220.9604  -16307423.14749 -12685227.60647  21556221.1084   21556225.5534
+     -1385.8174      -1079.8554
+ 05  1 20  7 33 30.0000000  0  8G 5G11G22G25G14G20G 1G30
+  23977639.5614   -1513345.83149   -970112.00946  23977640.1164   23977644.8064
+     -3059.2644      -2383.8544
+  24857458.9414     618850.77449    489111.91045  24857460.1324   24857461.7154
+     -1360.6644      -1060.2504
+  22890597.5764  -12476621.60049  -9707317.36946  22890597.2834   22890600.3514
+     -3356.2564      -2615.2614
+  20827515.7784  -22243274.43649 -17317304.20048  20827515.7304   20827520.1004
+       717.8684        559.3794
+  20919025.5554  -20774831.51149 -15945635.39248  20919024.9704   20919028.9824
+      -985.6234       -768.0164
+  24023118.7344   -3349382.58949  -2095462.72945  24023117.9464   24023123.6804
+      3228.4674       2515.6884
+  20939946.1474  -22978332.90849 -17884701.97548  20939945.8404   20939950.9414
+      1369.9284       1067.4794
+  21564187.6954  -16265560.24349 -12652607.15147  21564187.9024   21564192.0544
+     -1405.0154      -1094.8184
+ 05  1 20  7 34  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24357051.4474    -338207.12949   -236430.30545                  24357058.2924
+      3778.2014       2944.0534
+  23995133.2114   -1421411.52349   -898474.87446  23995133.2054   23995138.1764
+     -3069.6464      -2391.9284
+  24865259.4594     659831.98849    521045.30145  24865259.4984   24865264.3034
+     -1371.4864      -1068.6884
+  22909779.4364  -12375815.71449  -9628767.34646  22909779.6064   22909782.2764
+     -3364.1264      -2621.4094
+  20823447.4554  -22264655.57049 -17333964.80648  20823447.1414   20823451.6164
+       707.5374        551.3274
+  20924679.0944  -20745119.28149 -15922482.99948  20924678.6554   20924683.4324
+      -995.2104       -775.4874
+  24004710.6814   -3446114.60149  -2170838.29045  24004709.4704   24004716.9294
+      3220.2264       2509.2714
+  20932145.0864  -23019332.54449 -17916649.72448  20932144.0254   20932149.0044
+      1363.3774       1062.3744
+  21572263.0254  -16223122.60649 -12619538.86147  21572263.2734   21572267.7384
+     -1424.1494      -1109.7224
+ 05  1 20  7 34 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24335486.0694    -451535.99249   -324738.48645  24335486.8204   24335491.9884
+      3777.0234       2943.1314
+  24012689.2364   -1329166.90349   -826595.95446  24012687.6644   24012692.8454
+     -3080.0134      -2400.0094
+  24873118.7764     701133.38649    553228.23145  24873117.3134   24873121.7154
+     -1382.0894      -1076.9554
+  22929007.6334  -12274775.02949  -9550034.36146  22929007.2404   22929009.7864
+     -3371.8944      -2627.4564
+  20819438.0284  -22285726.96349 -17350384.07748  20819437.5614   20819441.8694
+       697.2284        543.2914
+  20930387.8764  -20715119.28549 -15899106.38248  20930387.7754   20930392.0954
+     -1004.8004       -782.9624
+  23986351.0994   -3542595.61149  -2246018.28545  23986350.8004   23986357.9514
+      3211.8494       2502.7404
+  20924380.0704  -23060134.96549 -17948443.81948  20924379.6904   20924384.5484
+      1356.7684       1057.2224
+  21580447.1574  -16180111.76549 -12586023.93347  21580447.7994   21580452.1404
+     -1443.2104      -1124.5854
+ 05  1 20  7 35  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24313929.7484    -564824.67849   -413015.43545  24313929.0414   24313933.7924
+      3775.6464       2942.0674
+  24030298.0704   -1236614.61949   -754477.33545  24030299.1454   24030304.7164
+     -3090.1904      -2407.9464
+  24881036.3194     742753.05049    585659.15745  24881036.3324   24881041.8504
+     -1392.6164      -1085.1524
+  22948279.3204  -12173501.85349  -9471120.20746  22948279.4184   22948280.5404
+     -3379.6114      -2633.4594
+  20815486.2744  -22306489.19949 -17366562.42948  20815486.2784   20815490.6044
+       686.9314        535.2724
+  20936152.0784  -20684831.12349 -15875505.22748  20936151.7624   20936156.0284
+     -1014.4294       -790.4674
+  23968040.7394   -3638823.24549  -2321000.84945  23968039.3204   23968045.1324
+      3203.3444       2496.1134
+  20916652.9384  -23100739.05649 -17980083.37548  20916652.6294   20916657.5504
+      1350.1554       1052.0664
+  21588741.2314  -16136529.33549 -12552063.60347  21588741.7574   21588745.5634
+     -1462.2574      -1139.4194
+ 05  1 20  7 35 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24292381.3514    -678070.63849   -501259.07545  24292377.0544   24292380.1384
+      3774.1394       2940.8934
+  24047970.2514   -1143757.11349   -682120.84745  24047969.2994   24047974.3964
+     -3100.3074      -2415.8274
+  24889019.3424     784688.22449    618335.91445  24889018.6234   24889021.7614
+     -1403.0834      -1093.3134
+  22967594.2704  -12071998.34749  -9392026.57246  22967593.7764   22967597.2884
+     -3387.2834      -2639.4464
+  20811594.7334  -22326942.54849 -17382500.10548  20811594.3034   20811598.3134
+       676.6484        527.2584
+  20941970.3374  -20654254.60749 -15851679.36548  20941970.1504   20941974.4374
+     -1024.0364       -797.9474
+  23949777.7354   -3734794.70449  -2395783.81245  23949777.6254   23949783.0924
+      3194.7724       2489.4294
+  20908964.3134  -23141143.67849 -18011567.50048  20908963.9174   20908968.8684
+      1343.4764       1046.8644
+  21597143.1014  -16092376.92349 -12517659.12247  21597143.6574   21597147.4544
+     -1481.2064      -1154.1894
+ 05  1 20  7 36  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24270837.8024    -791271.37049   -589467.45445  24270836.7964   24270842.2824
+      3772.5574       2939.6564
+  24065700.3394   -1050597.06949   -609528.67945  24065698.0694   24065703.3914
+     -3110.3754      -2423.6684
+  24897057.1624     826936.62649    651256.74545  24897057.7614   24897061.9434
+     -1413.5244      -1101.4424
+  22986953.3444  -11970266.80049  -9312755.26046  22986952.9504   22986955.8094
+     -3394.8354      -2645.3194
+  20807760.1784  -22347088.21449 -17398198.01748  20807760.3754   20807765.0724
+       666.3954        519.2734
+  20947844.1674  -20623389.16549 -15827628.36848  20947843.9334   20947848.1754
+     -1033.6634       -805.4494
+  23931562.5054   -3830507.09049  -2470364.87745  23931563.0964   23931568.6514
+      3186.0874       2482.6684
+  20901313.4104  -23181347.73349 -18042895.33848  20901313.2084   20901318.6134
+      1336.7854       1041.6514
+  21605653.8184  -16047656.21649 -12482811.82447  21605653.3764   21605657.6164
+     -1500.1334      -1168.9354
+ 05  1 20  7 36 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24249305.9474    -904424.33449   -677638.63145  24249304.5664   24249309.2754
+      3770.9294       2938.3884
+  24083482.3604    -957137.40149   -536702.95146  24083481.5994   24083487.3424
+     -3120.3244      -2431.4244
+  24905159.6724     869496.15649    684419.96845  24905158.8794   24905159.9424
+     -1423.8154      -1109.4604
+  23006356.0194  -11868309.38149  -9233307.92946  23006355.3174   23006357.5724
+     -3402.3404      -2651.1774
+  20803985.7014  -22366926.78749 -17413656.64448  20803985.4824   20803989.6904
+       656.1544        511.2844
+  20953772.9774  -20592234.36449 -15803351.91048  20953772.3474   20953776.1124
+     -1043.3404       -812.9914
+  23913401.3914   -3925957.96149  -2544742.19845  23913400.1214   23913405.1354
+      3177.2734       2475.7984
+  20893701.6234  -23221350.11649 -18074066.03748  20893701.3144   20893706.4934
+      1330.0284       1036.3854
+  21614271.1074  -16002368.82849 -12447522.95647  21614271.4074   21614275.8984
+     -1519.0024      -1183.6394
+ 05  1 20  7 37  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24227780.9414   -1017526.80449   -765770.47245  24227781.1084   24227787.6454
+      3769.1724       2937.0214
+  24101322.6504    -863380.61949   -463645.72645  24101322.2524   24101329.2254
+     -3130.1894      -2439.1044
+  24913312.8804     912364.58949    717823.92745  24913313.2224   24913319.5454
+     -1434.0664      -1117.4544
+  23025798.7204  -11766128.60549  -9153686.56446  23025799.2554   23025802.4714
+     -3409.7164      -2656.9274
+  20800269.3434  -22386458.78049 -17428876.37848  20800268.6944   20800272.8544
+       645.9514        503.3354
+  20959756.3284  -20560789.66749 -15778849.54448  20959755.7674   20959760.1204
+     -1052.9974       -820.5214
+  23895287.7034   -4021144.37349  -2618913.41245  23895286.3274   23895292.0384
+      3168.4324       2468.9064
+  20886128.5564  -23261149.88649 -18105078.84948  20886127.7044   20886132.9734
+      1323.2484       1031.1014
+  21622996.5294  -15956516.51449 -12411793.87347  21622996.8164   21623000.5624
+     -1537.7954      -1198.2874
+ 05  1 20  7 37 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24206267.6344   -1130576.33449   -853861.05345  24206268.5874   24206274.9534
+      3767.3834       2935.6214
+  24119222.3774    -769329.59649   -390359.25145  24119221.0584   24119226.7244
+     -3139.9214      -2446.6924
+  24921530.5144     955539.62049    751466.79745  24921530.0584   24921534.3664
+     -1444.3094      -1125.4344
+  23045284.6364  -11663726.78549  -9073892.94746  23045285.0334   23045289.0704
+     -3417.0804      -2662.6514
+  20796610.0294  -22405684.59949 -17443857.52948  20796610.0274   20796614.5654
+       635.7514        495.3904
+  20965796.3244  -20529054.69349 -15754120.99648  20965795.1744   20965798.9064
+     -1062.6954       -828.0744
+  23877224.3774   -4116063.76849  -2692876.57645  23877224.0204   23877229.5564
+      3159.4664       2461.9214
+  20878593.0214  -23300745.89349 -18135932.88448  20878592.9364   20878597.8254
+      1316.4394       1025.7944
+  21631829.1514  -15910100.98249 -12375625.93147  21631829.3164   21631833.6684
+     -1556.5574      -1212.9064
+ 05  1 20  7 38  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24184768.0784   -1243570.36349   -941908.37045  24184767.5034   24184772.4534
+      3765.4954       2934.1514
+  24137175.1894    -674987.08049   -316845.63345  24137174.2014   24137178.7864
+     -3149.6134      -2454.2464
+  24929805.6344     999018.80549    785346.71245  24929805.3274   24929809.1324
+     -1454.4074      -1133.3074
+  23064813.7344  -11561106.06649  -8993928.79346  23064814.0154   23064817.5104
+     -3424.3224      -2668.2964
+  20793009.4274  -22424605.15249 -17458600.81748  20793009.4094   20793013.9324
+       625.5954        487.4794
+  20971889.4234  -20497029.19049 -15729166.05948  20971889.1704   20971893.4784
+     -1072.3684       -835.6134
+  23859212.6674   -4210713.39049  -2766629.52145  23859213.0624   23859218.0254
+      3150.4454       2454.8894
+  20871097.3474  -23340136.97349 -18166627.23348  20871096.9154   20871101.9954
+      1309.5984       1020.4724
+  21640768.2974  -15863123.88249 -12339020.40247  21640768.4714   21640773.3204
+     -1575.2554      -1227.4614
+ 05  1 20  7 38 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24163275.4454   -1356506.30249  -1029910.42745  24163276.3494   24163282.0784
+      3763.5544       2932.6374
+  24155182.4474    -580355.69449   -243106.88445  24155181.5144   24155186.0304
+     -3159.1584      -2461.6834
+  24938135.4824    1042799.71649    819461.64145  24938135.7214   24938137.4134
+     -1464.4214      -1141.1024
+  23084381.4514  -11458268.65049  -8913795.76846  23084382.8664   23084386.8704
+     -3431.5504      -2673.9534
+  20789467.4064  -22443221.08549 -17473106.74448  20789467.1924   20789471.4074
+       615.4644        479.5814
+  20978039.0874  -20464712.71349 -15703984.39348  20978038.5844   20978042.6884
+     -1082.0744       -843.1754
+  23841255.4294   -4305090.77849  -2840170.32445  23841253.6144   23841257.8944
+      3141.3304       2447.7874
+  20863640.2524  -23379322.13949 -18197161.13848  20863640.1834   20863644.9574
+      1302.7144       1015.1054
+  21649814.0004  -15815587.01049 -12301978.68647  21649814.2424   21649818.7674
+     -1593.8624      -1241.9704
+ 05  1 20  7 39  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24141795.3444   -1469381.54449  -1117865.15545  24141796.6154   24141802.0684
+      3761.4804       2931.0254
+  24173243.5784    -485437.75149   -169144.84845  24173243.4224   24173249.1394
+     -3168.6694      -2469.0914
+  24946526.5234    1086880.00849    853810.01945  24946524.1924   24946526.7234
+     -1474.3514      -1148.8474
+  23103992.7844  -11355216.82349  -8833495.66946  23103993.0964   23103996.0584
+     -3438.6014      -2679.4224
+  20785982.5204  -22461533.33249 -17487376.02148  20785982.4904   20785986.7074
+       605.3574        471.7074
+  20984244.3074  -20432104.82149 -15678575.65248  20984243.7054   20984248.4004
+     -1091.8024       -850.7534
+  23823347.4894   -4399193.19949  -2913496.88245  23823347.4344   23823350.8694
+      3132.1034       2440.6014
+  20856223.7214  -23418300.15749 -18227533.62248  20856223.0984   20856227.7834
+      1295.7944       1009.7074
+  21658967.3174  -15767492.23249 -12264502.25547  21658967.0764   21658971.6694
+     -1612.4154      -1256.4264
+ 05  1 20  7 39 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24120329.4634   -1582193.31049  -1205770.45545  24120328.7554   24120334.2524
+      3759.3024       2929.3294
+  24191361.2934    -390236.19849    -94961.82545  24191360.9724   24191365.8134
+     -3178.1044      -2476.4454
+  24954969.9804    1131257.30949    888389.72545  24954969.1654   24954972.8804
+     -1484.1724      -1156.4934
+  23123644.7454  -11251953.09649  -8753030.45346  23123643.6884   23123646.9044
+     -3445.6584      -2684.9214
+  20782556.0934  -22479542.60449 -17501409.22348  20782555.7524   20782559.5284
+       595.2714        463.8494
+  20990504.8724  -20399205.13449 -15652939.53848  20990504.3514   20990508.3194
+     -1101.5254       -858.3324
+  23805493.8684   -4493017.73149  -2986606.94945  23805493.5914   23805496.9894
+      3122.8364       2433.3814
+  20848845.3064  -23457069.85449 -18257743.77548  20848845.3634   20848850.3554
+      1288.8594       1004.3054
+  21668225.1294  -15718841.20149 -12226592.35047  21668225.1534   21668229.0114
+     -1630.9164      -1270.8464
+ 05  1 20  7 40  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24098875.0154   -1694939.09349  -1293624.31245  24098875.5344   24098879.5394
+      3757.0594       2927.5824
+  24209529.7444    -294753.87349    -20559.99845  24209529.5764   24209534.2374
+     -3187.4344      -2483.7214
+  24963473.1114    1175929.91949    923199.49245  24963471.4184   24963473.7544
+     -1493.9864      -1164.1424
+  23143335.7334  -11148479.67049  -8672401.84146  23143334.7944   23143336.2074
+     -3452.5744      -2690.3154
+  20779186.2834  -22497249.44049 -17515206.76048  20779186.0194   20779190.3154
+       585.1904        455.9934
+  20996821.0914  -20366013.43549 -15627075.88448  20996820.5974   20996824.7954
+     -1111.2814       -865.9354
+  23787692.7614   -4586562.00749  -3059498.57345  23787691.1924   23787696.3444
+      3113.4714       2426.0814
+  20841507.9784  -23495630.18849 -18287790.78948  20841507.8394   20841512.5304
+      1281.8254        998.8254
+  21677588.0654  -15669635.77149 -12188250.45647  21677588.5094   21677592.2004
+     -1649.3854      -1285.2364
+ 05  1 20  7 40 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24077433.4974   -1807616.31949  -1381424.76545  24077432.9004   24077436.8464
+      3754.7324       2925.7634
+  24227751.0984    -198993.30149     54058.66745  24227752.0034   24227757.0734
+     -3196.6734      -2490.9144
+  24972026.8234    1220894.93449    958237.13345  24972026.1404   24972029.6564
+     -1503.6564      -1171.6814
+  23163064.0234  -11044798.83949  -8591611.58246  23163063.3964   23163066.3144
+     -3459.4984      -2695.7154
+  20775874.0274  -22514654.46949 -17528769.11948  20775873.7264   20775878.0844
+       575.1444        448.1624
+  21003192.5204  -20332529.15249 -15600984.24948  21003192.3084   21003196.4084
+     -1121.0304       -873.5304
+  23769945.2404   -4679823.09649  -3132169.53845  23769944.0894   23769949.1614
+      3103.9544       2418.6664
+  20834210.2384  -23533980.08949 -18317673.83648  20834209.9184   20834214.6904
+      1274.7914        993.3414
+  21687057.0164  -15619877.88549 -12149478.07547  21687057.0154   21687061.8274
+     -1667.7774      -1299.5744
+ 05  1 20  7 41  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24056002.8284   -1920222.58249  -1469169.92045  24056003.5174   24056009.2554
+      3752.3244       2923.8854
+  24246029.3334    -102957.43749    128891.78945  24246028.5584   24246031.2034
+     -3205.7464      -2497.9874
+  24980637.7804    1266150.05449    993500.82845  24980638.3384   24980640.5934
+     -1513.3444      -1179.2314
+  23182831.8964  -10940912.84149  -8510661.48046  23182832.8474   23182835.8564
+     -3466.2494      -2700.9724
+  20772618.6784  -22531758.12649 -17542096.64548  20772618.8584   20772623.2984
+       565.1014        440.3384
+  21009621.5564  -20298752.09149 -15574664.46748  21009620.2184   21009624.2934
+     -1130.7904       -881.1364
+  23752252.2964   -4772798.43549  -3204617.84046  23752251.5154   23752257.5004
+      3094.3884       2411.2114
+  20826952.9914  -23572118.35049 -18347391.96148  20826952.2954   20826957.5074
+      1267.7234        987.8344
+  21696629.0484  -15569569.18549 -12110276.49647  21696629.8274   21696634.7104
+     -1686.1094      -1313.8574
+ 05  1 20  7 41 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24034588.9514   -2032754.98949  -1556857.49245  24034589.1104   24034595.3654
+      3749.8504       2921.9614
+  24264355.2774      -6648.63549    203937.68545  24264353.8874   24264358.4804
+     -3214.8394      -2505.0734
+  24989305.7244    1311692.82749   1028988.73345  24989305.8584   24989308.4224
+     -1522.8684      -1186.6554
+  23202640.5144  -10836824.29449  -8429553.53246  23202639.6194   23202643.7004
+     -3472.9824      -2706.1954
+  20769421.8684  -22548561.31049 -17555190.03748  20769421.3964   20769425.7804
+       555.1214        432.5644
+  21016103.7834  -20264681.77449 -15548116.17948  21016103.6064   21016107.5874
+     -1140.5704       -888.7534
+  23734616.4124   -4865485.14249  -3276841.25446  23734615.5924   23734619.9584
+      3084.7194       2403.6774
+  20819735.5374  -23610043.84649 -18376944.29948  20819735.5244   20819740.7104
+      1260.6214        982.3074
+  21706309.0794  -15518711.74549 -12070647.32947  21706308.5884   21706312.8944
+     -1704.3584      -1328.0654
+ 05  1 20  7 42  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  24013189.7574   -2145211.02049  -1644485.57045  24013190.0894   24013195.9334
+      3747.2344       2919.9214
+  24282733.2494      89930.00349    279193.75445  24282732.6724   24282738.3274
+     -3223.7934      -2512.0444
+  24998025.0664    1357520.80349   1064698.80545  24998024.5524   24998027.2004
+     -1532.3474      -1194.0404
+  23222485.6824  -10732535.22049  -8348289.32646  23222485.2944   23222488.6614
+     -3479.6594      -2711.4224
+  20766281.3194  -22565064.84849 -17568049.93748  20766281.3224   20766285.3304
+       545.1294        424.7754
+  21022643.2674  -20230317.63949 -15521338.93748  21022642.9054   21022646.5994
+     -1150.3644       -896.3844
+  23717033.3824   -4957880.64649  -3348837.74046  23717032.1544   23717037.0444
+      3075.0084       2396.1144
+  20812559.1554  -23647755.50449 -18406330.01148  20812558.9844   20812564.5094
+      1253.4694        976.7314
+  21716089.9434  -15467307.24149 -12030591.86947  21716089.9874   21716095.2564
+     -1722.5674      -1342.2554
+ 05  1 20  7 42 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23991804.6164   -2257588.09349  -1732052.11045  23991805.6134   23991812.4494
+      3744.5484       2917.8324
+  24301162.7574     186776.04149    354658.20945  24301162.5914   24301166.2794
+     -3232.6394      -2518.9434
+  25006800.0754    1403631.66149   1100629.39445  25006799.0664   25006801.0384
+     -1541.7654      -1201.3824
+  23242370.3534  -10628047.96649  -8266870.70646  23242368.8664   23242372.4004
+     -3486.1964      -2716.5304
+  20763197.6984  -22581269.18849 -17580676.68648  20763197.4684   20763201.4544
+       535.1674        417.0114
+  21029238.2924  -20195659.66949 -15494332.73448  21029237.7974   21029242.1864
+     -1160.1604       -904.0184
+  23699506.7974   -5049982.16649  -3420605.14246  23699505.6054   23699510.3724
+      3065.1434       2388.4184
+  20805424.0344  -23685252.18749 -18435548.20748  20805423.5824   20805428.8334
+      1246.2824        971.1304
+  21725975.7994  -15415357.72949 -11990111.74047  21725976.0354   21725979.5374
+     -1740.6754      -1356.3714
+ 05  1 20  7 43  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23970435.3054   -2369883.65249  -1819555.12545  23970435.7224   23970442.4274
+      3741.8114       2915.6944
+  24319641.9314     283886.91749    430329.01745  24319643.0124   24319645.0564
+     -3241.4204      -2525.7924
+  25015629.0754    1450022.77649   1136778.39445  25015628.7404   25015632.1184
+     -1551.0124      -1208.5844
+  23262289.6414  -10523365.06549  -8185299.64346  23262290.1544   23262292.6804
+     -3492.6384      -2721.5234
+  20760170.6334  -22597175.24149 -17593071.00548  20760170.5794   20760174.8134
+       525.2384        409.2754
+  21035889.6844  -20160707.34049 -15467097.14948  21035889.1864   21035893.1954
+     -1169.9834       -911.6754
+  23682038.2624   -5141787.13949  -3492141.49146  23682036.6304   23682040.5904
+      3055.2244       2380.6964
+  20798329.8844  -23722532.61949 -18464597.90248  20798329.7664   20798334.3824
+      1239.0654        965.5084
+  21735964.9954  -15362865.14249 -11949208.43447  21735964.8554   21735969.0354
+     -1758.7704      -1370.4704
+ 05  1 20  7 43 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23949083.1214   -2482094.98849  -1906992.53746  23949084.1094   23949089.7804
+      3738.9274       2913.4474
+  24338171.1534     381259.95849    506204.17945  24338171.7694   24338175.5724
+     -3250.1054      -2532.5534
+  25024508.7284    1496692.22649   1173144.18045  25024507.3004   25024513.5664
+     -1560.2934      -1215.8074
+  23282247.6564  -10418488.76249  -8103577.86146  23282247.3534   23282250.5294
+     -3499.1184      -2726.5854
+  20757200.9454  -22612783.44049 -17605233.23248  20757200.4764   20757204.7064
+       515.3054        401.5374
+  21042596.9234  -20125460.50749 -15439632.07648  21042596.4144   21042600.6404
+     -1179.8154       -919.3374
+  23664623.9234   -5233292.82149  -3563444.61946  23664623.4664   23664627.4484
+      3045.1424       2372.8374
+  20791277.4124  -23759595.65149 -18493478.18948  20791276.9124   20791281.6244
+      1231.8154        959.8584
+  21746056.3584  -15309831.36449 -11907883.40347  21746056.6064   21746061.5554
+     -1776.8324      -1384.5404
+ 05  1 20  7 44  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23927747.8334   -2594219.51849  -1994362.27446  23927747.3714   23927753.5834
+      3736.0244       2911.1914
+  24356752.2484     478892.39449    582281.37345  24356749.9964   24356753.3704
+     -3258.6564      -2539.2054
+  25033442.6124    1543637.39049   1209724.75345  25033440.8744   25033443.6344
+     -1569.3784      -1222.8934
+  23302240.9424  -10313421.26449  -8021707.07346  23302240.8184   23302243.8894
+     -3505.3894      -2731.4784
+  20754286.3594  -22628094.74649 -17617164.11948  20754286.6484   20754291.0814
+       505.4464        393.8504
+  21049360.3294  -20089918.73449 -15411937.19648  21049359.9574   21049363.7824
+     -1189.6304       -926.9904
+  23647268.6074   -5324496.67249  -3634512.54146  23647267.5514   23647272.1474
+      3035.0634       2364.9814
+  20784265.6514  -23796439.96749 -18522188.04548  20784265.4934   20784270.2594
+      1224.4964        954.1494
+  21756250.5634  -15256258.29149 -11866138.16147  21756251.5334   21756255.0984
+     -1794.7274      -1398.4914
+ 05  1 20  7 44 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23906430.0194   -2706254.72949  -2081662.43646  23906428.0454   23906434.2604
+      3732.9734       2908.8094
+  24375378.6594     576781.43149    658558.55545  24375378.5064   24375383.6504
+     -3267.2344      -2545.9024
+  25042427.5614    1590855.70149   1246518.13345  25042426.0354   25042431.8184
+     -1578.4584      -1229.9664
+  23322270.5944  -10208164.98649  -7939689.18946  23322269.8794   23322273.6874
+     -3511.6764      -2736.3594
+  20751429.4674  -22643109.87449 -17628864.22348  20751429.4734   20751433.8324
+       495.5884        386.1694
+  21056180.1614  -20054081.58949 -15384012.15548  21056179.5494   21056183.7624
+     -1199.5054       -934.6794
+  23629969.7584   -5415396.00449  -3705343.18746  23629969.6754   23629973.9214
+      3024.8664       2357.0334
+  20777296.2954  -23833064.49449 -18550726.64748  20777296.0074   20777301.0464
+      1217.1344        948.4134
+  21766547.7554  -15202147.93649 -11823974.24847  21766548.6274   21766552.3744
+     -1812.5814      -1412.4044
+ 05  1 20  7 45  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23885126.8964   -2818197.97649  -2168890.90646  23885125.6394   23885130.8154
+      3729.8904       2906.4044
+  24394052.9774     674924.33749    735033.54645  24394052.5134   24394057.3154
+     -3275.6754      -2552.4744
+  25051463.6834    1638344.91949   1283522.75245  25051463.1144   25051467.2004
+     -1587.4654      -1236.9894
+  23342334.5384  -10102722.20549  -7857526.00646  23342334.6684   23342338.6044
+     -3517.8264      -2741.1604
+  20748628.4664  -22657829.45649 -17640334.02348  20748628.3234   20748632.5904
+       485.7334        378.4914
+  21063055.8824  -20017948.56549 -15355856.56148  21063055.2814   21063059.2104
+     -1209.3734       -942.3704
+  23612731.9584   -5505987.87549  -3775934.25946  23612730.6934   23612734.3844
+      3014.5694       2349.0194
+  20770368.7374  -23869468.07049 -18579093.08048  20770368.8814   20770373.7444
+      1209.7484        942.6624
+  21776946.5674  -15147502.29249 -11781393.22447  21776947.4994   21776951.5754
+     -1830.3884      -1426.2764
+ 05  1 20  7 45 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23863841.0934   -2930046.77649  -2256045.81245  23863841.5234   23863846.0324
+      3726.7184       2903.9364
+  24412777.3044     773318.23549    811704.10745  24412775.8074   24412781.4724
+     -3284.0044      -2558.9494
+  25060551.9314    1686102.53949   1320736.51545  25060551.9214   25060554.4644
+     -1596.3664      -1243.9234
+  23362436.1054   -9997095.52449  -7775219.49946  23362434.4614   23362440.0654
+     -3523.9544      -2745.9254
+  20745883.6524  -22672254.19349 -17651574.08448  20745883.5304   20745887.9624
+       475.9254        370.8534
+  21069987.5794  -19981519.46549 -15327470.26448  21069987.2954   21069991.4124
+     -1219.2454       -950.0604
+  23595553.1384   -5596269.74549  -3846283.77746  23595550.5224   23595554.9584
+      3004.1824       2340.9284
+  20763483.8364  -23905649.51749 -18607286.42548  20763483.4634   20763488.7244
+      1202.3244        936.8774
+  21787448.1124  -15092323.44649 -11738396.71747  21787447.1134   21787451.6814
+     -1848.1494      -1440.1094
+ 05  1 20  7 46  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23842577.4674   -3041798.33949  -2343124.93846  23842576.0734   23842581.6534
+      3723.4074       2901.3564
+  24431549.0394     871960.79249    888568.46145  24431549.1184   24431554.5174
+     -3292.1934      -2565.3434
+  25069691.4384    1734126.03349   1358157.45645  25069690.6834   25069693.7124
+     -1605.1974      -1250.8064
+  23382568.7234   -9891287.07249  -7692771.37746  23382568.7694   23382573.2794
+     -3529.9534      -2750.6164
+  20743194.5834  -22686385.03149 -17662585.12048  20743194.5644   20743198.6394
+       466.1284        363.2164
+  21076975.8644  -19944794.09649 -15298853.09748  21076975.7564   21076980.6334
+     -1229.1104       -957.7494
+  23578430.0304   -5686239.04349  -3916389.71946  23578430.1094   23578434.5794
+      2993.7224       2332.7674
+  20756641.1764  -23941607.67549 -18635305.77648  20756640.9854   20756646.0444
+      1194.8604        931.0604
+  21798047.0984  -15036613.40649 -11694986.30847  21798048.3274   21798053.2414
+     -1865.8164      -1453.8824
+ 05  1 20  7 46 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23821327.1244   -3153450.19749  -2430126.36546  23821328.2264   23821333.8064
+      3720.0304       2898.7204
+  24450368.6614     970849.28649    965624.42845  24450367.1474   24450371.2054
+     -3300.3504      -2571.7094
+  25078881.0194    1782413.16249   1395783.71445  25078880.9224   25078882.3004
+     -1613.9654      -1257.6364
+  23402737.7084   -9785299.27649  -7610183.48546  23402738.4204   23402742.6644
+     -3535.8574      -2755.2314
+  20740561.3084  -22700222.61549 -17673367.65948  20740561.2774   20740565.7144
+       456.3754        355.6144
+  21084021.7644  -19907772.08549 -15270004.78748  21084021.1724   21084025.2994
+     -1239.0174       -965.4684
+  23561369.7004   -5775893.02349  -3986249.96346  23561369.1154   23561373.9004
+      2983.1384       2324.5194
+  20749841.6344  -23977341.35449 -18663150.20848  20749841.2014   20749846.3414
+      1187.3634        925.2184
+  21808751.0514  -14980374.06249 -11651163.44747  21808750.5074   21808754.8184
+     -1883.4184      -1467.5984
+ 05  1 20  7 47  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23800100.1794   -3264999.53649  -2517047.89445  23800100.9724   23800106.7984
+      3716.5874       2896.0414
+  24469229.7854    1069980.95549   1042869.89445  24469230.1234   24469236.4274
+     -3308.4254      -2577.9984
+  25088116.4354    1830961.08549   1433613.30745  25088116.0254   25088120.9834
+     -1622.5964      -1264.3644
+  23422940.5444   -9679134.52349  -7527457.72046  23422940.6774   23422945.3784
+     -3541.7434      -2759.7894
+  20737983.8004  -22713767.59249 -17683922.19148  20737983.6354   20737988.3504
+       446.6344        348.0304
+  21091122.8454  -19870452.81549 -15240924.86048  21091122.7974   21091126.8254
+     -1248.9354       -973.1964
+  23544371.0734   -5865228.85249  -4055862.30446  23544370.0464   23544374.0424
+      2972.5454       2316.2684
+  20743085.2654  -24012849.40749 -18690818.82848  20743084.3614   20743089.0314
+      1179.8344        919.3524
+  21819552.2894  -14923607.74449 -11606929.96147  21819552.7194   21819556.8424
+     -1900.9254      -1481.2334
+ 05  1 20  7 47 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23778893.5174   -3376443.71949  -2603887.48845  23778894.4654   23778898.9874
+      3713.0264       2893.2704
+  24488141.2514    1169352.94149   1120302.62545  24488140.6994   24488145.2004
+     -3316.3164      -2584.1444
+  25097403.6324    1879767.51249   1471644.26145  25097404.4244   25097410.3044
+     -1631.1844      -1271.0444
+  23443176.9614   -9572795.09149  -7444595.83346  23443176.3374   23443180.9034
+     -3547.5314      -2764.3134
+  20735461.9714  -22727020.80849 -17694249.37848  20735461.9114   20735466.0284
+       436.9314        340.4654
+  21098281.3904  -19832836.17749 -15211613.20248  21098280.9054   21098285.1404
+     -1258.8494       -980.9214
+  23527433.5614   -5954244.15149  -4125224.87646  23527431.5534   23527435.0584
+      2961.8034       2307.9064
+  20736369.9574  -24048130.71749 -18718310.75948  20736370.1454   20736374.8994
+      1172.2514        913.4404
+  21830455.1764  -14866316.31249 -11562287.29247  21830455.1064   21830459.6274
+     -1918.4114      -1494.8654
+ 05  1 20  7 48  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23757709.5164   -3487780.32549  -2690643.28146  23757709.1784   23757713.1504
+      3709.4194       2890.4564
+  24507100.0724    1268962.93549   1197920.79145  24507096.5824   24507098.5994
+     -3324.2884      -2590.3514
+  25106743.0444    1928829.93149   1509874.72145  25106741.7444   25106743.3414
+     -1639.5814      -1277.6044
+  23463445.9794   -9466283.35649  -7361599.70446  23463446.0784   23463449.4514
+     -3553.2414      -2768.7544
+  20732995.4104  -22739983.01849 -17704349.80748  20732995.4264   20732999.5914
+       427.2324        332.9074
+  21105496.3214  -19794922.00849 -15182069.71148  21105495.7714   21105499.9674
+     -1268.7834       -988.6634
+  23510553.9764   -6042935.99849  -4194335.42346  23510554.4554   23510557.8794
+      2950.9804       2299.4684
+  20729700.3504  -24083183.96549 -18745624.97848  20729699.6984   20729704.9394
+      1164.6144        907.4924
+  21841456.2634  -14808501.94349 -11517237.14147  21841456.7484   21841460.9424
+     -1935.7894      -1508.4074
+ 05  1 20  7 48 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23736542.5554   -3599006.78349  -2777313.25146  23736542.1944   23736547.0734
+      3705.6984       2887.5594
+  24526097.2434    1368807.93449   1275722.11045  24526094.4324   24526100.7254
+     -3332.0564      -2596.4094
+  25116126.8994    1978146.00749   1548302.80645  25116126.1524   25116129.8904
+     -1648.1194      -1284.2514
+  23483747.0774   -9359601.75849  -7278471.19946  23483746.6534   23483750.3524
+     -3558.8584      -2773.1474
+  20730584.1164  -22752654.71349 -17714223.85148  20730583.9494   20730588.4044
+       417.5614        325.3704
+  21112767.1844  -19756709.92549 -15152294.07147  21112767.0424   21112771.4484
+     -1278.7064       -996.3974
+  23493738.6414   -6131301.59349  -4263191.72446  23493737.6564   23493742.4314
+      2940.0234       2290.9244
+  20723073.5354  -24118007.87149 -18772760.50548  20723073.0614   20723078.2764
+      1156.9644        901.5294
+  21852556.0614  -14750166.70849 -11471781.10647  21852557.0804   21852561.4934
+     -1953.1244      -1521.9104
+ 05  1 20  7 49  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23715399.5904   -3710120.22049  -2863895.15646  23715398.2404   23715403.0024
+      3701.9054       2884.6004
+  24545132.8594    1468885.33258   1353704.50055  24545139.6044   24545145.1974
+     -3339.5294      -2602.2234
+  25125557.3394    2027713.40649   1586926.70545  25125556.1974   25125563.6634
+     -1656.3974      -1290.6984
+  23504080.4064   -9252752.50549  -7195212.06646  23504080.4674   23504083.3124
+     -3564.3914      -2777.4604
+  20728227.7404  -22765037.00949 -17723872.39548  20728227.7184   20728231.8944
+       407.9514        317.8844
+  21120096.7974  -19718199.39849 -15122285.88148  21120095.9514   21120099.7934
+     -1288.6614      -1004.1474
+  23476985.7044   -6219338.37749  -4331791.81846  23476984.8424   23476989.5064
+      2929.0564       2282.3784
+  20716490.6334  -24152601.34949 -18799716.46248  20716489.9604   20716495.4554
+      1149.2634        895.5324
+  21863756.8064  -14691312.80249 -11425920.92247  21863756.1744   21863761.5164
+     -1970.3494      -1535.3334
+ 05  1 20  7 49 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23694275.9644   -3821117.98649  -2950386.86546  23694276.0634   23694282.1034
+      3697.9534       2881.5204
+  24564225.5024    1569192.38558   1431865.80354  24564226.2784   24564230.6374
+     -3347.3304      -2608.3064
+  25135039.2524    2077529.29449   1625744.26045  25135038.3974   25135040.4694
+     -1664.5704      -1297.0684
+  23524445.2444   -9145738.29349  -7111824.37746  23524443.6434   23524446.7114
+     -3569.8624      -2781.6944
+  20725926.5774  -22777130.66749 -17733296.03048  20725926.3794   20725930.4214
+       398.3164        310.3764
+  21127481.8194  -19679390.27249 -15092045.02447  21127481.0114   21127484.8354
+     -1298.6004      -1011.8954
+  23460294.2404   -6307043.92749  -4400133.78246  23460294.2934   23460299.1644
+      2917.9404       2273.7124
+  20709951.4064  -24186963.24849 -18826491.97748  20709951.2294   20709956.4444
+      1141.5104        889.4894
+  21875054.7134  -14631942.35749 -11379658.24747  21875054.8834   21875059.0714
+     -1987.5494      -1548.7454
+ 05  1 20  7 50  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23673175.7504   -3931997.62449  -3036786.56446  23673176.5014   23673181.1844
+      3693.9734       2878.4144
+  24583359.4464    1669726.82248   1510204.26545  24583358.2954   24583363.6934
+     -3354.9324      -2614.2294
+  25144568.0514    2127591.23049   1664753.57945  25144565.5574   25144568.8714
+     -1672.7884      -1303.4754
+  23544838.6514   -9038561.28149  -7028309.82346  23544839.6564   23544841.7464
+     -3575.2274      -2785.8834
+  20723679.5924  -22788935.91249 -17742494.92648  20723679.8204   20723683.8874
+       388.7154        302.8964
+  21134922.8134  -19640282.32449 -15061571.30447  21134922.4524   21134927.1604
+     -1308.5654      -1019.6604
+  23443670.0474   -6394415.48249  -4468215.51746  23443668.7024   23443672.5854
+      2906.7754       2265.0214
+  20703456.9764  -24221092.16649 -18853085.94848  20703456.7834   20703461.9454
+      1133.7284        883.4254
+  21886450.3024  -14572057.44549 -11332994.67647  21886450.5404   21886455.4504
+     -2004.6754      -1562.0794
+ 05  1 20  7 50 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23652098.5294   -4042756.72149  -3123092.31646  23652098.1624   23652104.6384
+      3689.9164       2875.2624
+  24602536.7374    1770485.43648   1588717.47945  24602533.4734   24602535.6954
+     -3362.3644      -2620.0304
+  25154137.1944    2177896.69449   1703952.55445  25154137.8904   25154141.1744
+     -1680.9174      -1309.8034
+  23565262.4774   -8931223.86149  -6944670.30246  23565264.1404   23565266.6934
+     -3580.5684      -2790.0524
+  20721488.4414  -22800453.77849 -17751469.88648  20721487.9744   20721492.0584
+       379.1484        295.4414
+  21142421.8614  -19600875.28949 -15030864.53347  21142421.6074   21142425.9254
+     -1318.5504      -1027.4394
+  23427106.5684   -6481450.26349  -4536034.83446  23427105.6844   23427111.2974
+      2895.5184       2256.2454
+  20697007.3164  -24254986.87249 -18879497.40348  20697006.8324   20697011.8444
+      1125.9084        877.3294
+  21897943.0154  -14511660.29449 -11285931.96647  21897943.3154   21897947.4804
+     -2021.7244      -1575.3724
+ 05  1 20  7 51  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23631046.9474   -4153392.33449  -3209301.86646  23631046.4554   23631051.8624
+      3685.7514       2872.0154
+  24621745.0404    1871465.74058   1667403.43655  24621749.4674   24621753.1364
+     -3369.7234      -2625.7524
+  25163756.9994    2228443.09549   1743339.37145  25163754.5324   25163760.2214
+     -1688.8914      -1316.0244
+  23585720.1254   -8823728.34649  -6860907.57446  23585719.5994   23585722.5054
+     -3585.8014      -2794.1204
+  20719351.0004  -22811684.81649 -17760221.34848  20719350.9714   20719354.8064
+       369.5984        287.9934
+  21149978.3604  -19561168.75649 -14999924.38947  21149977.8164   21149981.7854
+     -1328.5604      -1035.2464
+  23410608.1014   -6568145.57349  -4603589.59746  23410609.1874   23410613.9654
+      2884.1664       2247.3984
+  20690602.4834  -24288646.25149 -18905725.49548  20690601.7874   20690606.8034
+      1118.0404        871.1984
+  21909533.9184  -14450753.06349 -11238471.78447  21909534.0144   21909538.7614
+     -2038.6874      -1588.5924
+ 05  1 20  7 51 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23610018.3704   -4263901.95449  -3295413.24346  23610016.4904   23610021.1164
+      3681.5494       2868.7324
+  24641007.4494    1972665.22548   1746260.20345  24641004.3424   24641012.3274
+     -3376.9934      -2631.4274
+  25173421.0884    2279228.36249   1782912.27445  25173420.4734   25173423.8004
+     -1696.8214      -1322.2064
+  23606204.9794   -8716077.18049  -6777023.55046  23606204.6234   23606207.9504
+     -3590.9704      -2798.1624
+  20717268.1464  -22822630.06649 -17768750.12148  20717267.9954   20717272.1304
+       360.0714        280.5744
+  21157590.6604  -19521162.45249 -14968750.64447  21157590.3044   21157595.2574
+     -1338.5394      -1043.0204
+  23394178.6214   -6654498.81549  -4670877.83746  23394176.5154   23394181.2094
+      2872.6984       2238.4614
+  20684241.7634  -24322069.13449 -18931769.29948  20684241.3634   20684246.5674
+      1110.1474        865.0494
+  21921220.0874  -14389338.05649 -11190615.94147  21921220.6154   21921224.9704
+     -2055.5874      -1601.7524
+ 05  1 20  7 52  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23589011.3164   -4374283.01149  -3381424.45946  23589012.3194   23589016.9584
+      3677.1994       2865.3484
+  24660305.3464    2074081.08348   1825285.49044  24660304.6514   24660312.5904
+     -3384.1554      -2637.0064
+  25183128.5764    2330249.61849   1822669.00845  25183128.1494   25183131.4404
+     -1704.6434      -1328.2874
+  23626720.5394   -8608272.60749  -6693019.97746  23626720.2944   23626722.6484
+     -3596.0394      -2802.1024
+  20715239.4664  -22833290.15249 -17777056.68748  20715239.3604   20715243.5394
+       350.5844        273.1814
+  21165260.5944  -19480856.24749 -14937343.21947  21165260.4994   21165264.5334
+     -1348.5454      -1050.8194
+  23377809.1074   -6740507.45149  -4737897.56146  23377809.0364   23377814.3564
+      2861.1454       2229.4654
+  20677927.0104  -24355254.24749 -18957627.83848  20677926.4544   20677931.6514
+      1102.1854        858.8434
+  21933003.9894  -14327417.32149 -11142366.01447  21933004.0284   21933008.0664
+     -2072.3984      -1614.8604
+ 05  1 20  7 52 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23568033.3064   -4484532.85949  -3467333.42046  23568032.3464   23568036.8214
+      3672.7624       2861.8964
+  24679648.3404    2175710.51849   1904477.15045  24679645.8534   24679648.8154
+     -3391.1644      -2642.4584
+  25192883.0324    2381504.25749   1862607.73145  25192883.3734   25192887.0674
+     -1712.3754      -1334.3134
+  23647262.4464   -8500317.24949  -6608898.91546  23647261.4924   23647265.2754
+     -3601.0524      -2806.0294
+  20713265.3734  -22843665.83549 -17785141.63348  20713264.9774   20713269.2594
+       341.1124        265.8014
+  21172988.2624  -19440249.76949 -14905701.81547  21172987.6104   21172991.8304
+     -1358.5644      -1058.6224
+  23361511.7604   -6826168.79849  -4804646.67446  23361509.0564   23361513.1984
+      2849.5504       2220.4294
+  20671657.3594  -24388200.42549 -18983300.18648  20671657.0024   20671662.3564
+      1094.2094        852.6314
+  21944883.6144  -14264993.20949 -11093723.83347  21944883.5484   21944887.5394
+     -2089.1644      -1627.9194
+ 05  1 20  7 53  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23547078.4304   -4594648.89049  -3553138.12446  23547078.3404   23547083.1694
+      3668.2644       2858.3824
+  24699025.7764    2277550.85049   1983833.24045  24699024.2864   24699027.9154
+     -3398.2094      -2647.9524
+  25202682.0904    2432989.83149   1902726.36245  25202680.2774   25202683.8104
+     -1719.9824      -1340.2434
+  23667833.4724   -8392213.38149  -6524662.13146  23667834.3024   23667837.8054
+     -3605.9244      -2809.8064
+  20711344.8144  -22853757.96149 -17793005.63548  20711344.6224   20711348.8704
+       331.6814        258.4524
+  21180772.5684  -19399342.81849 -14873826.28947  21180772.1874   21180776.5444
+     -1368.5644      -1066.4164
+  23345274.7074   -6911480.31249  -4871123.20046  23345275.1894   23345279.7664
+      2837.8614       2211.3264
+  20665433.7614  -24420906.37149 -19008785.34348  20665433.6544   20665438.7644
+      1086.1804        846.3734
+  21956856.6184  -14202067.92749 -11044691.16547  21956857.6084   21956861.5364
+     -2105.8124      -1640.8874
+ 05  1 20  7 53 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23526149.3084   -4704628.43649  -3638836.45446  23526149.3994   23526154.6084
+      3663.6604       2854.7944
+  24718442.2494    2379599.76248   2063351.88045  24718442.0254   24718447.1444
+     -3405.1204      -2653.3364
+  25212522.8264    2484703.73849   1943022.92145  25212522.7374   25212525.7144
+     -1727.6304      -1346.2094
+  23688433.9934   -8283963.40349  -6440311.48346  23688432.9054   23688436.2704
+     -3610.7264      -2813.5524
+  20709477.7534  -22863567.18549 -17800649.18748  20709477.7724   20709482.1774
+       322.2604        251.1104
+  21188613.8844  -19358135.05249 -14841716.36247  21188613.6964   21188617.8354
+     -1378.6244      -1074.2584
+  23329110.1374   -6996439.04249  -4937324.79346  23329107.1554   23329112.2994
+      2826.0694       2202.1294
+  20659255.7644  -24453370.77249 -19034082.28548  20659255.3984   20659260.8544
+      1078.1174        840.0894
+  21968925.8484  -14138643.65849 -10995269.66247  21968926.3604   21968930.2204
+     -2122.3974      -1653.8234
+ 05  1 20  7 54  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23505246.1394   -4814468.89649  -3724426.40446  23505246.5564   23505252.9394
+      3659.0064       2851.1674
+  24737898.6804    2481854.56248   2143030.95145  24737899.7574   24737903.7234
+     -3411.8844      -2658.6124
+  25222403.1874    2536643.45349   1983495.42845  25222401.9374   25222407.9324
+     -1735.0664      -1351.9974
+  23709059.1964   -8175569.69649  -6355848.81846  23709060.5994   23709062.4054
+     -3615.4774      -2817.2544
+  20707664.8564  -22873094.16449 -17808072.80748  20707664.7404   20707669.2624
+       312.8894        243.8034
+  21196512.9604  -19316626.13649 -14809371.77147  21196512.4624   21196516.9074
+     -1388.6324      -1082.0544
+  23313008.7084   -7081042.56049  -5003249.61846  23313007.9694   23313012.7984
+      2814.1744       2192.8594
+  20653124.0834  -24485592.31349 -19059189.98448  20653123.9654   20653129.4924
+      1069.9894        833.7554
+  21981089.4794  -14074722.87549 -10945461.25947  21981089.7714   21981094.5504
+     -2138.9354      -1666.6984
+ 05  1 20  7 54 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23484372.3034   -4924167.67449  -3809905.94946  23484373.1274   23484378.6444
+      3654.1934       2847.4244
+  24757395.8014    2584312.57348   2222868.37345  24757397.7604   24757403.5134
+     -3418.6134      -2663.8454
+  25232329.7054    2588806.69349   2024142.07945  25232329.6384   25232336.7834
+     -1742.5354      -1357.8164
+  23729712.9124   -8067034.64449  -6271276.03246  23729713.8344   23729717.0494
+     -3620.1854      -2820.9144
+  20705905.5654  -22882340.13849 -17815277.47248  20705905.4434   20705909.8004
+       303.5364        236.5164
+  21204469.0824  -19274816.04949 -14776792.47947  21204468.6204   21204473.4694
+     -1398.6974      -1089.8944
+  23296975.9264   -7165288.05849  -5068895.46846  23296976.0194   23296980.8344
+      2802.1764       2183.5204
+  20647039.1524  -24517569.92649 -19084107.61348  20647038.9904   20647044.1484
+      1061.8384        827.4004
+  21993347.6264  -14010307.79649 -10895267.70247  21993348.4674   21993352.6864
+     -2155.3414      -1679.4914
+ 05  1 20  7 55  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23463526.3924   -5033722.03549  -3895273.01246  23463524.8094   23463529.1004
+      3649.3664       2843.6584
+  24776938.0404    2686970.90449   2302861.89245  24776934.0054   24776938.1574
+     -3425.2104      -2668.9884
+  25242302.0434    2641190.81049   2064960.84845  25242300.6544   25242302.3714
+     -1749.6734      -1363.3904
+  23750394.4634   -7958360.76249  -6186595.03946  23750393.5534   23750397.0684
+     -3624.7584      -2824.4764
+  20704199.2144  -22891305.69349 -17822263.62048  20704199.3074   20704203.6184
+       294.1844        229.2344
+  21212483.1444  -19232704.36149 -14743978.17547  21212482.6014   21212486.8034
+     -1408.7334      -1097.7124
+  23281011.9534   -7249172.86249  -5134260.25146  23281013.4204   23281018.5714
+      2790.1174       2174.1244
+  20641001.1184  -24549302.24949 -19108834.10448  20641000.6824   20641005.7514
+      1053.6504        821.0244
+  22005700.3804  -13945400.62349 -10844690.69047  22005699.7434   22005702.8944
+     -2171.7234      -1692.2534
+ 05  1 20  7 55 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23442707.5044   -5143129.52149  -3980525.59846  23442706.0734   23442710.9874
+      3644.4614       2839.8404
+  24796507.8314    2789826.80948   2383009.35244  24796505.5064   24796510.1204
+     -3431.9084      -2674.2084
+  25252307.3994    2693792.94349   2105949.47545  25252307.8184   25252312.6134
+     -1757.0124      -1369.0994
+  23771101.0044   -7849550.39849  -6101807.67646  23771099.5284   23771102.0864
+     -3629.2454      -2827.9794
+  20702546.7874  -22899991.57249 -17829031.83948  20702546.5704   20702550.7784
+       284.8674        221.9784
+  21220553.5194  -19190291.00049 -14710928.79447  21220553.0784   21220557.5624
+     -1418.8164      -1105.5704
+  23265121.2804   -7332694.62049  -5199342.11546  23265119.5784   23265124.2514
+      2777.9714       2164.6474
+  20635009.7044  -24580788.12749 -19133368.55148  20635009.0634   20635014.2084
+      1045.4094        814.6104
+  22018143.5634  -13880003.70849 -10793732.05347  22018144.2994   22018148.6944
+     -2188.0004      -1704.9304
+ 05  1 20  7 56  0.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23421915.1504   -5252387.51949  -4065661.70046  23421914.4894   23421919.8804
+      3639.4144       2835.9134
+  24816116.4514    2892877.76348   2463308.82844  24816115.9474   24816120.0914
+     -3438.2584      -2679.1694
+  25262359.5044    2746610.55249   2147106.06445  25262359.7264   25262365.8424
+     -1764.1554      -1374.6674
+  23791832.0544   -7740605.87249  -6016915.77845  23791832.1864   23791835.1554
+     -3633.7414      -2831.4834
+  20700947.1834  -22908398.27149 -17835582.51948  20700946.8814   20700951.2794
+       275.5644        214.7254
+  21228682.4534  -19147575.57849 -14677644.05447  21228682.0764   21228686.0334
+     -1428.8774      -1113.4114
+  23249297.2264   -7415850.43149  -5264138.86446  23249296.1244   23249300.8564
+      2765.7094       2155.0994
+  20629065.0404  -24612026.30549 -19157709.98948  20629064.5464   20629069.5964
+      1037.1134        808.1404
+  22030681.5734  -13814119.34349 -10742393.60647  22030681.3514   22030686.1404
+     -2204.2324      -1717.5764
+ 05  1 20  7 56 30.0000000  0  9G16G 5G11G22G25G14G20G 1G30
+  23401152.7294   -5361493.32649  -4150679.18346  23401151.8714   23401159.2714
+      3634.3144       2831.9434
+  24835764.2964    2996121.44258   2543758.55754  24835760.6954   24835769.3404
+     -3444.6854      -2684.1774
+  25272452.2424    2799641.14449   2188428.57345  25272454.0284   25272454.8004
+     -1771.1864      -1380.1434
+  23812586.8284   -7631529.56949  -5931921.21446  23812588.6764   23812590.1554
+     -3638.0644      -2834.8684
+  20699400.3834  -22916526.80649 -17841916.44848  20699400.2524   20699404.4864
+       266.3414        207.5364
+  21236869.6014  -19104557.79049 -14644123.69947  21236868.5864   21236872.2014
+     -1438.9584      -1121.2654
+  23233542.2434   -7498638.04049  -5328648.68446  23233542.5244   23233545.9814
+      2753.4414       2145.5374
+  20623167.9264  -24643015.68949 -19181857.57248  20623167.7004   20623172.6294
+      1028.8204        801.6774
+  22043311.1474  -13747749.96649 -10690677.20247  22043311.6344   22043315.7144
+     -2220.3344      -1730.1254
+ 05  1 20  7 57  0.0000000  0  8G16G 5G22G25G14G20G 1G30
+  23380418.9684   -5470444.16049  -4235575.92246  23380419.0524   23380424.8234
+      3629.0784       2827.8474
+  24855442.6174    3099555.34258   2624356.39854  24855442.1784   24855458.9764
+     -3450.7954      -2688.9224
+  23833369.3634   -7522324.06049  -5846825.95746  23833369.0444   23833372.2764
+     -3642.3444      -2838.1904
+  20697906.4464  -22924378.19349 -17848034.40848  20697906.1374   20697910.5194
+       257.1034        200.3404
+  21245111.7944  -19061237.68649 -14610367.77447  21245111.5974   21245115.3084
+     -1449.0544      -1129.1324
+  23217860.2774   -7581054.79549  -5392869.51446  23217858.4354   23217862.6594
+      2740.9884       2135.8364
+  20617318.1714  -24673754.89049 -19205810.19548  20617318.0884   20617323.1714
+      1020.4684        795.1734
+  22056032.3774  -13680897.90649 -10638584.68147  22056032.4104   22056036.8844
+     -2236.3894      -1742.6534
+ 05  1 20  7 57 30.0000000  0  8G16G 5G22G25G14G20G 1G30
+  23359718.1534   -5579237.65249  -4320350.07246  23359717.8104   23359720.5644
+      3623.8244       2823.7614
+  24875167.7364    3203176.63948   2705100.22744  24875167.6274   24875168.0594
+     -3457.2014      -2693.9244
+  23854173.9404   -7412991.54949  -5761631.73045  23854173.4704   23854176.8284
+     -3646.4984      -2841.4244
+  20696464.9464  -22931952.89149 -17853936.77748  20696464.7544   20696468.9374
+       247.8894        193.1594
+  21253413.3004  -19017614.82249 -14576375.94747  21253412.2964   21253416.2394
+     -1459.1414      -1136.9964
+  23202245.5814   -7663097.87649  -5456799.19046  23202245.6854   23202251.3304
+      2728.5254       2126.1334
+  20611517.1454  -24704242.55749 -19229566.82448  20611516.7754   20611521.7054
+      1012.0654        788.6254
+  22068845.9064  -13613565.48249 -10586117.85847  22068846.0314   22068849.9454
+     -2252.3354      -1755.0654
+ 05  1 20  7 58  0.0000000  0  8G16G 5G22G25G14G20G 1G30
+  23339047.2664   -5687871.09449  -4404999.48846  23339045.5884   23339049.1434
+      3618.4254       2819.5404
+  24894920.9864    3306982.35848   2785987.85344  24894923.2724   24894922.6524
+     -3463.3454      -2698.7184
+  23875004.2084   -7303534.58249  -5676340.52545  23875002.7194   23875005.8494
+     -3650.5964      -2844.6204
+  20695075.6814  -22939251.68349 -17859624.14848  20695075.7484   20695079.9794
+       238.7024        186.0004
+  21261771.6214  -18973689.08549 -14542148.11347  21261771.4864   21261775.3944
+     -1469.2604      -1144.8824
+  23186706.5024   -7744764.73849  -5520435.70246  23186705.8464   23186710.5904
+      2715.9034       2116.3014
+  20605763.8134  -24734477.49649 -19253126.52348  20605763.2084   20605768.1604
+      1003.5954        782.0204
+  22081749.0824  -13545755.08949 -10533278.60247  22081749.2224   22081753.3894
+     -2268.2734      -1767.4854
+ 05  1 20  7 58 30.0000000  0  8G16G 5G22G25G14G20G 1G30
+  23318404.8924   -5796342.10249  -4489522.36446  23318403.2974   23318407.1884
+      3612.9544       2815.2974
+  24914711.6614    3410983.91757   2867028.15654  24914711.0174
+     -3461.6544      -2697.3934
+  23895856.5714   -7193955.37749  -5590954.05845  23895856.3594   23895859.5604
+     -3654.6744      -2847.7954
+  20693739.1684  -22946275.47049 -17865097.23248  20693739.2304   20693743.4194
+       229.5554        178.8714
+  21270187.8754  -18929459.99649 -14507683.88547  21270187.9404   21270192.8554
+     -1479.3534      -1152.7434
+  23171238.4744   -7826052.81849  -5583777.05746  23171236.9914   23171241.1914
+      2703.2534       2106.4294
+  20600057.9254  -24764458.30449 -19276488.19448  20600057.8754   20600062.6804
+       995.1134        775.4104
+  22094743.6354  -13477468.98249 -10480068.63447  22094743.2994   22094748.3304
+     -2284.1004      -1779.8324
+ 05  1 20  7 59  0.0000000  0  7G16G22G25G14G20G 1G30
+  23297793.2134   -5904647.90749  -4573916.49346  23297793.0544   23297798.7294
+      3607.4484       2811.0004
+  23916727.4254   -7084256.69749  -5505474.49845  23916729.0844   23916733.5044
+     -3658.6344      -2850.8834
+  20692455.4534  -22953024.82949 -17870356.47448  20692454.9414   20692458.9794
+       220.4194        171.7544
+  21278662.8824  -18884927.70549 -14472983.40047  21278662.4964   21278666.5084
+     -1489.4744      -1160.6334
+  23155842.6304   -7906959.46749  -5646821.20646  23155841.2504   23155845.9614
+      2690.4724       2096.4754
+  20594401.6134  -24794183.72349 -19299650.85748  20594401.3394   20594406.2604
+       986.5774        768.7634
+  22107829.2384  -13408709.80549 -10426490.06347  22107828.1744   22107832.0494
+     -2299.7964      -1792.0584
+ 05  1 20  7 59 30.0000000  0  7G16G22G25G14G20G 1G30
+  23277215.6694   -6012785.91149  -4658179.88146  23277216.2574   23277220.2714
+      3601.7734       2806.5704
+  23937627.4904   -6974440.45849  -5419903.33445  23937627.6174   23937629.3564
+     -3662.4934      -2853.8944
+  20691222.4414  -22959500.72249 -17875402.62848  20691222.6304   20691226.5794
+       211.3134        164.6594
+  21287194.8384  -18840091.92049 -14438046.43747  21287194.4584   21287197.7984
+     -1499.6054      -1168.5274
+  23140519.3814   -7987482.19149  -5709566.17646  23140517.7464   23140522.4614
+      2677.6204       2086.4604
+  20588793.8874  -24823652.53449 -19322613.56148  20588793.4164   20588798.6074
+       977.9964        762.0734
+  22121001.4424  -13339479.78249 -10372544.59147  22121002.1884   22121006.7694
+     -2315.4614      -1804.2584
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20  8  0  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23256669.3664   -6120753.23749  -4742310.28446  23256670.2564   23256674.9664
+      3596.0644       2802.1414
+  24718360.3294     -57553.93549    -31137.97243
+      1968.6394       1534.0044
+  23958545.5864   -6864509.04449  -5334242.40645  23958546.2804   23958549.7834
+     -3666.2774      -2856.8424
+  20690041.8904  -22965703.85749 -17880236.25048  20690042.0334   20690046.2234
+       202.2424        157.5924
+  21295784.9824  -18794952.28949 -14402872.70747  21295784.1344   21295787.9564
+     -1509.7204      -1176.4034
+  23125268.6684   -8067618.19449  -5772009.83546  23125269.2864   23125272.3124
+      2664.7414       2076.4264
+  20583235.2974  -24852863.50349 -19345375.35748  20583234.9094   20583239.8484
+       969.3914        755.3694
+  22134264.7134  -13269781.45749 -10318234.20647  22134264.9594   22134269.6764
+     -2331.0254      -1816.3824
+ 05  1 20  8  0 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23236158.4884   -6228547.54149  -4826305.85346  23236158.3174   23236162.5774
+      3590.2444       2797.5934
+  24707138.9484    -116510.58549    -77080.40244
+      1961.5554       1529.4824
+  23979487.7964   -6754465.27249  -5248493.91746  23979488.6264   23979489.3064
+     -3669.9814      -2859.7314
+  20688913.6084  -22971635.01649 -17884857.93348  20688913.3554   20688917.6554
+       193.1604        150.5154
+  21304432.2854  -18749508.78949 -14367462.18547  21304431.3444   21304435.4924
+     -1519.8464      -1184.2934
+  23110095.1314   -8147365.22749  -5834150.38246  23110093.4644   23110097.5844
+      2651.7224       2066.2844
+  20577725.7224  -24881815.30849 -19367935.21148  20577725.5564   20577730.4204
+       960.7204        748.6154
+  22147617.6454  -13199617.25849 -10263560.79847  22147618.0814   22147621.0634
+     -2346.5494      -1828.4824
+ 05  1 20  8  1  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23215678.7324   -6336166.25849  -4910164.61846  23215678.3684   23215683.5044
+      3584.3134       2792.9804
+  24695965.5814    -175254.15849   -122857.08444
+      1954.4764       1523.0494
+  24000449.8224   -6644311.49649  -5162659.74946  24000448.8894   24000450.9924
+     -3673.5904      -2862.5424
+  20687836.3764  -22977294.96049 -17889268.28348  20687836.2834   20687840.5494
+       184.1454        143.4964
+  21313136.8614  -18703761.41149 -14331814.89247  21313136.6104   21313141.5174
+     -1529.9764      -1192.1894
+  23094994.5914   -8226720.46649  -5895985.62146  23094992.9454   23094997.5184
+      2638.6424       2056.0734
+  20572265.3824  -24910506.71649 -19390292.15748  20572265.4774   20572270.8044
+       952.0224        741.8414
+  22161057.0474  -13128989.55149 -10208526.22047  22161056.9514   22161062.2224
+     -2361.9384      -1840.4634
+ 05  1 20  8  1 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23195234.8124   -6443606.65449  -4993884.41846  23195233.7264   23195237.8304
+      3578.3134       2788.2864
+  24684823.2374    -233782.09249    -27744.33843
+      1947.2344       1517.3244
+  24021430.8664   -6534050.25949  -5076741.82945  24021430.5294   24021433.5324
+     -3677.1344      -2865.2994
+  20686810.7824  -22982684.54449 -17893467.95748  20686810.7754   20686814.8514
+       175.1514        136.4834
+  21321901.8894  -18657709.80049 -14295930.53247  21321900.2194   21321903.9934
+     -1540.1274      -1200.1004
+  23079968.7464   -8305681.42249  -5957513.63246  23079967.2374   23079971.9264
+      2625.4134       2045.7754
+  20566856.2434  -24938936.31149 -19412445.08348  20566855.8134   20566860.8314
+       943.2724        735.0194
+  22174585.0804  -13057900.80149 -10153132.39247  22174585.8124   22174589.3454
+     -2377.2614      -1852.4164
+ 05  1 20  8  2  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23174823.3954   -6550866.25549  -5077463.34546  23174823.6594   23174826.9404
+      3572.2984       2783.6204
+                   -292091.42241    -42908.659 4                  24681130.584
+      1939.7464       1515.254
+  24042431.9414   -6423683.72249  -4990741.86245  24042430.7594   24042435.1034
+     -3680.6074      -2868.0174
+  20685836.3954  -22987804.51549 -17897457.54948  20685836.3444   20685840.6324
+       166.1854        129.4934
+  21330722.0754  -18611353.81649 -14259808.99347  21330721.7124   21330726.1244
+     -1550.2604      -1207.9984
+  23065016.8844   -8384245.49549  -6018732.39746  23065016.7764   23065021.0164
+      2612.1584       2035.4354
+  20561496.3104  -24967102.96649 -19434393.12548  20561495.8864   20561500.8634
+       934.5054        728.1834
+  22188199.2744  -12986353.56149 -10097381.31847  22188200.1814   22188204.1064
+     -2392.4954      -1864.2804
+ 05  1 20  8  2 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23154447.0464   -6657942.34149  -5160899.28046  23154446.8554   23154451.1684
+      3566.1404       2778.8244
+                   -350178.41641    -42908.659 4                  24681130.584
+      1932.3964       1515.254
+  24063453.8544   -6313214.25849  -4904661.73045  24063452.7344   24063455.5694
+     -3683.9854      -2870.6314
+  20684913.1594  -22992655.51749 -17901237.55548  20684913.2994   20684917.5894
+       157.2404        122.5254
+  21339600.7494  -18564693.32049 -14223450.16947  21339600.5824   21339605.1854
+     -1560.4124      -1215.9004
+  23050143.7844   -8462410.23849  -6079639.97346  23050142.4524   23050147.0644
+      2598.7914       2025.0274
+  20556186.7104  -24995005.44949 -19456135.32348  20556186.2064   20556191.1694
+       925.6864        721.3164
+  22201901.2214  -12914350.26649 -10041274.85447  22201901.7284   22201906.9264
+     -2407.6294      -1876.0654
+ 05  1 20  8  3  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23134105.2184   -6764832.46849  -5244190.34446  23134105.5344   23134110.4594
+      3559.8124       2773.8914
+  24651668.4894    -408042.52949    -23669.10643
+      1924.9054       1499.9264
+  24084493.8534   -6202644.29349  -4818503.29245  24084493.8294   24084496.7584
+     -3687.3214      -2873.2394
+  20684041.0224  -22997238.35349 -17904808.60348  20684041.2394   20684045.4014
+       148.2834        115.5454
+  21348538.9334  -18517728.15949 -14186853.95847  21348537.8994   21348541.6034
+     -1570.5994      -1223.8434
+  23035344.0194   -8540173.02549  -6140234.35646  23035344.4494   23035348.5444
+      2585.3274       2014.5504
+  20550927.1324  -25022642.34449 -19477670.56348  20550927.0484   20550931.9794
+       916.7694        714.3654
+  22215689.8924  -12841893.34149  -9984814.92447  22215689.3474   22215693.7594
+     -2422.7044      -1887.8214
+ 05  1 20  8  3 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23113802.4394   -6871533.73049  -5327334.22146  23113801.1354   23113805.9374
+      3553.5144       2768.9704
+  24640696.7494    -465680.06749    -68582.32044
+      1917.2984       1494.0334
+  24105553.3264   -6091976.41049  -4732268.53345  24105553.2334   24105556.4204
+     -3690.5314      -2875.7454
+  20683220.3614  -23001554.32049 -17908171.69348  20683219.9654   20683224.1624
+       139.4224        108.6354
+  21357533.6014  -18470458.13649 -14150020.18247  21357532.8484   21357537.1924
+     -1580.7584      -1231.7634
+  23020623.5494   -8617531.59049  -6200513.76846  23020623.2434   23020627.1664
+      2571.8194       2004.0134
+  20545718.7524  -25050012.45449 -19498997.92148  20545718.7414   20545723.6184
+       907.8654        707.4224
+  22229563.9324  -12768985.35549  -9928003.49847  22229564.1224   22229568.0984
+     -2437.7114      -1899.5144
+ 05  1 20  8  4  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23093535.5194   -6978043.51749  -5410328.80646  23093533.6464   23093538.1504
+      3547.1424       2764.0034
+                   -523088.19041   -108851.435 5                  24630866.553
+      1909.6184       1487.212
+  24126631.0284   -5981213.09349  -4645959.41045  24126630.6494   24126633.7194
+     -3693.6794      -2878.1984
+  20682449.1464  -23005604.07649 -17911327.35048  20682449.1484   20682453.5164
+       130.5414        101.7224
+  21366587.1074  -18422883.23949 -14112948.84147  21366586.3434   21366590.9464
+     -1590.9254      -1239.6834
+  23005982.5834   -8694483.21449  -6260476.03946  23005980.1204   23005985.0094
+      2558.2114       1993.4064
+  20540561.5114  -25077114.33849 -19520116.27048  20540561.1284   20540566.4264
+       898.9104        700.4494
+  22243523.0594  -12695628.88249  -9870842.60847  22243522.9284   22243528.1604
+     -2452.6584      -1911.1634
+ 05  1 20  8  4 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23073303.0284   -7084359.60649  -5493172.50046  23073302.7344   23073306.9174
+      3540.5744       2758.8884
+  24618895.3404    -580264.31149   -157869.43145                  24618893.7714
+      1901.7644       1481.8924
+  24147729.2344   -5870356.73749  -4559577.76645  24147727.2544   24147729.2424
+     -3696.7054      -2880.5424
+  20681729.5214  -23009388.41049 -17914276.18548  20681729.1874   20681733.4574
+       121.7054         94.8354
+  21375698.0074  -18375003.34149 -14075639.84647  21375697.4634   21375702.0804
+     -1601.0994      -1247.6074
+  22991416.0944   -8771025.36049  -6320119.29546  22991415.8414   22991418.7284
+      2544.5344       1982.7684
+  20535455.7344  -25103946.70449 -19541024.60248  20535455.4244   20535460.4104
+       889.8914        693.4234
+  22257566.7894  -12621826.31249  -9813334.11346  22257566.7744   22257571.7344
+     -2467.4914      -1922.7164
+ 05  1 20  8  5  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23053109.0444   -7190479.22049  -5575863.07246  23053108.3664   23053114.1044
+      3534.0364       2753.8064
+  24608059.0804    -637205.91749   -202239.41945  24608053.5754   24608062.7844
+      1894.1244       1475.9414
+  24168839.0504   -5759409.39749  -4473125.26445  24168839.5484   24168842.4114
+     -3699.7484      -2882.9284
+  20681059.7894  -23012907.61849 -17917018.42948  20681059.6314   20681063.8874
+       112.9064         87.9774
+  21384867.6384  -18326818.23549 -14038093.02847  21384866.9714   21384871.1004
+     -1611.2534      -1255.5224
+  22976928.6254   -8847155.56549  -6379441.52646  22976927.9874   22976931.8264
+      2530.7944       1972.0404
+  20530401.1144  -25130508.43449 -19561722.05648  20530400.9664   20530405.9034
+       880.8624        686.3864
+  22271695.2334  -12547580.20649  -9755480.01447  22271695.3104   22271700.1994
+     -2482.1854      -1934.1654
+ 05  1 20  8  5 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23032952.9954   -7296399.72149  -5658398.47946  23032952.0624   23032957.4524
+      3527.3664       2748.5814
+  24597258.2994    -693909.98258   -246424.41455  24597264.2054   24597272.6784
+      1886.1334       1469.7114
+  24189966.9924   -5648373.81149  -4386604.01045  24189967.6824   24189972.1754
+     -3702.5834      -2885.1254
+  20680440.1904  -23016162.66549 -17919554.83348  20680440.1044   20680444.4734
+       104.1274         81.1384
+  21394094.3634  -18278327.55849 -14000308.10347  21394094.0484   21394098.3814
+     -1621.4454      -1263.4644
+  22962519.6174   -8922871.38349  -6438440.87846  22962519.5084   22962524.2454
+      2516.9124       1961.2424
+  20525398.3864  -25156798.02149 -19582207.44848  20525398.1054   20525403.4084
+       871.7784        679.3094
+  22285907.3844  -12472893.06249  -9697282.24847  22285908.2904   22285912.7264
+     -2496.8594      -1945.6094
+ 05  1 20  8  6  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  23012834.5994   -7402118.70549  -5740776.85046  23012833.5584   23012839.5434
+      3520.5754       2743.3034
+  24586522.5374    -750374.14949   -290422.50745  24586519.8304   24586523.4154
+      1877.9504       1463.3404
+  24211112.7344   -5537252.32849  -4300015.82445  24211114.7104   24211117.5464
+     -3705.4374      -2887.3564
+  20679870.9754  -23019154.51549 -17921886.14348  20679870.7334   20679875.0904
+        95.3514         74.2984
+  21403380.2984  -18229531.52949 -13962285.23747  21403379.8614   21403384.2434
+     -1631.6324      -1271.4034
+  22948189.8444   -8998170.23849  -6497115.30446  22948189.6194   22948194.8004
+      2502.9574       1950.3674
+  20520447.7684  -25182814.31149 -19602479.87748  20520447.3944   20520452.4544
+       862.6334        672.1804
+  22300203.7334  -12397767.54649  -9638742.89047  22300203.3914   22300209.1014
+     -2511.4464      -1956.9724
+ 05  1 20  8  6 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22992756.1334   -7507633.51849  -5822996.15646  22992755.6484   22992760.5204
+      3513.6984       2737.9394
+  24575826.4124    -806595.52249   -334231.30245  24575824.8234   24575824.9614
+      1869.8094       1456.9884
+  24232278.2484   -5426047.21649  -4213362.51345  24232276.2834   24232279.1024
+     -3708.2704      -2889.5684
+  20679351.6464  -23021883.81649 -17924012.87048  20679351.4874   20679355.7124
+        86.6094         67.4834
+  21412724.3264  -18180430.01649 -13924024.33947  21412723.7334   21412728.5764
+     -1641.7894      -1279.3194
+  22933942.2414   -9073049.69449  -6555462.92146  22933941.3824   22933945.8914
+      2488.9774       1939.4604
+  20515549.1684  -25208556.04549 -19622538.37048  20515548.9644   20515553.9344
+       853.4724        665.0394
+  22314582.6674  -12322206.07349  -9579863.83946  22314582.7134   22314587.2334
+     -2525.9264      -1968.2634
+ 05  1 20  8  7  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22972715.9204   -7612941.38849  -5905054.22746  22972716.1244   22972720.8544
+      3506.8164       2732.5764
+  24565165.6214    -862571.68849   -377849.02045  24565167.0704   24565175.2754
+      1861.5864       1450.5824
+  24253454.2184   -5314760.96549  -4126645.94545  24253453.1354   24253456.3874
+     -3710.8564      -2891.5744
+  20678882.1864  -23024351.46349 -17925935.71748  20678881.7664   20678886.3694
+        77.9064         60.7044
+  21422125.2774  -18131023.00049 -13885525.37947  21422125.4074   21422129.7574
+     -1651.9914      -1287.2684
+  22919772.2624   -9147507.33249  -6613481.85746  22919772.6104   22919776.8524
+      2474.8564       1928.4634
+  20510703.5264  -25234021.78749 -19642381.80748  20510702.9164   20510707.9864
+       844.2494        657.8564
+  22329044.5184  -12246211.26449  -9520647.09646  22329044.5034   22329048.3554
+     -2540.3614      -1979.5084
+ 05  1 20  8  7 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22952716.1194   -7718040.12349  -5986949.31046  22952716.8224   22952721.0484
+      3499.7874       2727.1204
+  24554568.0924    -918299.69649   -421273.39245  24554568.1544   24554569.5604
+      1853.2614       1444.1024
+  24274644.2304   -5203396.01749  -4039868.06745  24274643.5154   24274648.5474
+     -3713.4304      -2893.5724
+  20678461.6134  -23026558.21249 -17927655.26248  20678461.7354   20678466.3044
+        69.2154         53.9374
+  21431586.6704  -18081310.16549 -13846788.12847  21431586.0244   21431589.9524
+     -1662.1944      -1295.2114
+  22905684.9954   -9221540.58549  -6671170.11046  22905684.9214   22905689.3614
+      2460.6884       1917.4214
+  20505910.5394  -25259210.27649 -19662009.20848  20505909.9184   20505914.7964
+       834.9854        650.6404
+  22343588.2254  -12169785.76249  -9461094.76147  22343588.2484   22343592.0484
+     -2554.6494      -1990.6314
+ 05  1 20  8  8  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22932757.7764   -7822926.81249  -6068679.17146  22932757.3904   22932762.3164
+      3492.6634       2721.5634
+  24544013.4034    -973777.04749   -464502.47545  24544010.5314   24544012.0374
+      1844.8804       1437.5644
+  24295852.8984   -5091954.67749  -3953030.68145  24295850.5254   24295852.8094
+     -3715.9824      -2895.5784
+  20678091.5634  -23028505.05549 -17929172.28948  20678091.4704   20678095.8794
+        60.5644         47.1954
+  21441104.0604  -18031291.24749 -13807812.36147  21441103.8894   21441108.1314
+     -1672.4004      -1303.1694
+  22891677.7104   -9295146.83849  -6728525.62146  22891677.7054   22891682.2564
+      2446.4064       1906.2774
+  20501169.9114  -25284120.43049 -19681419.72048  20501169.6514   20501174.4304
+       825.6694        643.3784
+  22358212.0014  -12092932.08049  -9401208.75646  22358212.2554   22358217.0324
+     -2568.8494      -2001.6974
+ 05  1 20  8  8 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22912840.8764   -7927599.11949  -6150241.98446  22912839.3054   22912843.5974
+      3485.4754       2715.9604
+  24533497.2924   -1029000.96049   -507534.03145  24533496.9944   24533504.3404
+      1836.4054       1430.9704
+  24317066.8674   -4980439.42949  -3866135.68245  24317070.1264   24317073.0214
+     -3718.2944      -2897.3784
+  20677770.5384  -23030192.51049 -17930487.19348  20677770.2814   20677774.5594
+        51.9314         40.4664
+  21450681.4644  -17980966.62049 -13768598.38447  21450680.4844   21450684.7144
+     -1682.5954      -1311.1134
+  22877753.9734   -9368323.81949  -6785546.65046  22877752.3484   22877757.0344
+      2432.0734       1895.1094
+  20496482.7094  -25308750.69149 -19700612.13348  20496482.4434   20496487.5974
+       816.3314        636.1034
+  22372918.9294  -12015652.73049  -9340991.09646  22372918.4674   22372923.1274
+     -2583.0044      -2012.7334
+ 05  1 20  8  9  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22892962.6394   -8032054.28649  -6231635.57046  22892962.3784   22892966.6204
+      3478.1674       2710.2574
+  24523039.4514   -1083969.13149   -550366.38745  24523039.8504   24523043.8664
+      1827.8364       1424.2874
+  24338306.0114   -4868852.53649  -3779184.83845  24338305.4844   24338308.3414
+     -3720.8004      -2899.3284
+  20677498.1664  -23031621.24349 -17931600.48848  20677498.2614   20677502.7214
+        43.3294         33.7614
+  21460315.6444  -17930335.93349 -13729145.93847  21460315.1274   21460319.0274
+     -1692.7984      -1319.0594
+  22863910.3644   -9441069.01949  -6842231.22446  22863909.9724   22863913.7014
+      2417.6164       1883.8604
+  20491849.6514  -25333099.91049 -19719585.55748  20491848.9434   20491853.7464
+       806.9354        628.7804
+  22387704.1284  -11937950.38449  -9280443.81846  22387704.8484   22387709.2104
+     -2597.0454      -2023.6714
+ 05  1 20  8  9 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22873125.9394   -8136289.69949  -6312857.95246  22873125.7044   22873130.6884
+      3470.8414       2704.5534
+  24512628.9324   -1138678.65349   -592997.13845  24512628.3734   24512634.6914
+      1819.1094       1417.4824
+  24359554.2404   -4757196.64749  -3692180.26345  24359553.0284   24359554.9654
+     -3723.0244      -2901.0564
+  20677275.2824  -23032792.31949 -17932513.01348  20677275.3794   20677279.8104
+        34.7564         27.0804
+  21470007.7404  -17879399.29549 -13689455.08347  21470007.6184   21470012.1904
+     -1702.9774      -1326.9914
+  22850148.7954   -9513380.11849  -6898577.53546  22850148.4414   22850153.1084
+      2403.1144       1872.5534
+  20487269.3074  -25357166.74149 -19738338.93648  20487269.0954   20487274.2504
+       797.5214        621.4464
+  22402570.1974  -11859827.75549  -9219569.05446  22402570.5854   22402575.4154
+     -2611.0534      -2034.5854
+ 05  1 20  8 10  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22853334.1974   -8240302.87349  -6393907.16446  22853332.9814   22853337.0214
+      3463.3714       2698.7334
+  24502268.8894   -1193127.07949   -635424.43345  24502267.5854   24502272.8904
+      1810.4314       1410.7264
+  24380816.0574   -4645474.25349  -3605123.85445  24380814.3794   24380815.3874
+     -3725.1534      -2902.7214
+  20677101.7304  -23033706.34549 -17933225.24448  20677101.6024   20677105.9254
+        26.1944         20.4104
+  21479759.9094  -17828156.46949 -13649525.62547  21479759.4284   21479763.3204
+     -1713.2244      -1334.9824
+  22836470.7544   -9585254.69049  -6954583.68446  22836471.3334   22836476.3364
+      2388.5104       1861.1704
+  20482744.2654  -25380949.80449 -19756871.18348  20482743.4974   20482748.6804
+       788.0134        614.0364
+  22417516.2344  -11781287.17849  -9158368.60447  22417517.0154   22417521.3414
+     -2624.9184      -2045.3934
+ 05  1 20  8 10 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22833583.3214   -8344091.50249  -6474781.40746  22833582.1654   22833586.8434
+      3455.8424       2692.8564
+  24491952.9264   -1247311.66149   -677646.14245  24491954.4994   24491961.1034
+      1801.5924       1403.8354
+  24402087.4794   -4533687.74049  -3518017.50645  24402087.3294   24402088.6064
+     -3727.2944      -2904.3844
+  20676976.9504  -23034364.17949 -17933737.84648  20676976.6044   20676980.7234
+        17.6554         13.7544
+  21489569.6714  -17776607.61649 -13609357.71947  21489569.1064   21489573.0344
+     -1723.3974      -1342.9104
+  22822878.5424   -9656690.27149  -7010247.77946  22822877.8674   22822882.1774
+      2373.8474       1849.7454
+  20478272.0174  -25404447.92349 -19775181.41048  20478271.7144   20478276.7854
+       778.5074        606.6274
+  22432541.4674  -11702331.44749  -9096844.66346  22432541.2164   22432545.3724
+     -2638.7144      -2056.1484
+ 05  1 20  8 11  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22813875.2914   -8447652.81849  -6555478.51446  22813875.8544   22813879.7684
+      3448.2324       2686.9364
+  24481696.4744   -1301229.72649   -719660.21245  24481695.9644   24481701.9354
+      1792.7014       1396.9124
+  24423370.1074   -4421839.30649  -3430862.90945  24423371.5084   24423370.3094
+     -3729.3044      -2905.9564
+  20676900.0804  -23034766.84549 -17934051.60148  20676900.0344   20676904.1034
+         9.1754          7.1514
+  21499436.7984  -17724752.53249 -13568951.18247  21499436.4954   21499440.5104
+     -1733.6024      -1350.8594
+  22809367.8114   -9727684.59249  -7065568.01146  22809367.5094   22809372.9444
+      2359.0734       1838.2334
+  20473855.6694  -25427659.66949 -19793268.48848  20473854.9584   20473859.8034
+       768.9384        599.1754
+  22447643.9994  -11622963.28249  -9034999.34746  22447644.3364   22447649.3724
+     -2652.4464      -2066.8434
+ 05  1 20  8 11 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22794213.3074   -8550984.28249  -6635996.53246  22794213.1364   22794217.7014
+      3440.5654       2680.9664
+  24471488.8314   -1354878.88349   -761464.72045  24471487.1614   24471491.3964
+      1783.6784       1389.8744
+  24444667.3644   -4309931.51449  -3343661.97745  24444665.9024   24444667.5224
+     -3731.2004      -2907.4294
+  20676872.0094  -23034914.94949 -17934166.99948  20676871.7624   20676875.9324
+          .7034           .5454
+  21509362.8694  -17672591.15149 -13528305.95447  21509362.7104   21509366.2604
+     -1743.8144      -1358.8184
+  22795942.5274   -9798235.05949  -7120542.41446  22795942.6404   22795946.6324
+      2344.2694       1826.7004
+  20469493.0884  -25450583.58449 -19811131.28148  20469492.6454   20469497.6014
+       759.3274        591.6824
+  22462827.7244  -11543185.17749  -8972834.59147  22462826.0784   22462829.8564
+     -2666.0694      -2077.4704
+ 05  1 20  8 12  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22774594.0264   -8654083.31349  -6716333.41346  22774593.2524   22774597.5484
+      3432.7244       2674.8544
+  24461327.0304   -1408256.33849   -803057.51745  24461327.3174   24461335.2794
+      1774.5284       1382.7494
+  24465974.2754   -4197966.60549  -3256416.57245  24465971.8884   24465973.9854
+     -3733.1384      -2908.9404
+  20676892.0304  -23034809.17749 -17934084.58748  20676891.8074   20676896.1934
+        -7.7604         -6.0454
+  21519346.9584  -17620123.55349 -13487422.12447  21519346.3234   21519350.4464
+     -1754.0384      -1366.7784
+  22782602.8004   -9868339.40649  -7175169.18046  22782602.2724   22782607.5234
+      2329.3454       1815.0844
+  20465185.3424  -25473218.45849 -19828768.85348  20465185.1354   20465190.4254
+       749.6584        584.1544
+  22478084.7874  -11462999.77349  -8910352.46946  22478084.6644   22478088.5784
+     -2679.6064      -2088.0144
+ 05  1 20  8 12 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22755020.1944   -8756947.40249  -6796487.24046  22755018.3584   22755022.9864
+      3424.8764       2668.7444
+  24451222.8614   -1461359.62249   -844436.65945  24451222.3274   24451227.3814
+      1765.4024       1375.6354
+  24487289.1104   -4085947.26949  -3169128.79445  24487288.1564   24487292.0204
+     -3734.8414      -2910.2714
+  20676959.5914  -23034450.58349 -17933805.17348  20676959.8544   20676964.2794
+       -16.1704        -12.6014
+  21529390.0504  -17567349.68449 -13446299.64147  21529389.4614   21529392.9264
+     -1764.2474      -1374.7354
+  22769347.6634   -9937995.30649  -7229446.50746  22769347.7634   22769352.1564
+      2314.3524       1803.3864
+  20460933.1804  -25495562.98149 -19846180.16848  20460933.0634   20460938.2324
+       739.9594        576.5884
+  22493420.6874  -11382409.68049  -8847555.02146  22493420.8214   22493424.5324
+     -2692.9824      -2098.4324
+ 05  1 20  8 13  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22735489.7954   -8859574.01349  -6876455.97846  22735488.3044   22735493.5604
+      3416.8914       2662.5014
+  24441170.2174   -1514186.01049   -885600.09045  24441171.0324   24441176.4474
+      1756.1224       1368.4084
+  24508613.0874   -3973875.47849  -3081800.13445  24508614.2274   24508619.1824
+     -3736.5354      -2911.5784
+  20677076.4814  -23033839.79549 -17933329.22648  20677076.0694   20677080.7194
+       -24.5584        -19.1354
+  21539490.1564  -17514269.26449 -13404938.28947  21539490.1854   21539494.5974
+     -1774.4614      -1382.6954
+  22756179.3694  -10007200.33149  -7283372.49746  22756178.4684   22756182.0504
+      2299.2694       1791.6424
+  20456736.7594  -25517616.10849 -19863364.41648  20456736.6464   20456741.9314
+       730.2294        569.0124
+  22508832.7994  -11301417.65349  -8784444.30946  22508832.6604   22508836.6084
+     -2706.3604      -2108.8444
+ 05  1 20  8 13 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22716006.0704   -8961960.43649  -6956237.61546  22716006.6574   22716011.0824
+      3408.8514       2656.2534
+  24431173.7424   -1566733.01749   -926545.77445  24431172.7584   24431177.4294
+      1746.7044       1361.0674
+  24529949.8334   -3861753.80149  -2994432.58645  24529951.0654   24529954.3034
+     -3738.1334      -2912.8344
+  20677240.0934  -23032977.73549 -17932657.49748  20677240.1654   20677244.7524
+       -32.9154        -25.6494
+  21549650.5664  -17460882.57549 -13363338.28947  21549649.7484   21549653.4174
+     -1784.6624      -1390.6464
+  22743095.0284  -10075952.09349  -7336945.31046  22743095.1744   22743099.9484
+      2284.1474       1779.8574
+  20452596.5534  -25539376.39049 -19880320.48348  20452596.0274   20452600.9444
+       720.4364        561.3804
+  22524319.6834  -11220026.26049  -8721022.48446  22524321.2374   22524325.6614
+     -2719.6674      -2119.2244
+ 05  1 20  8 14  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22696567.7904   -9064104.51849  -7035830.36846  22696567.7074   22696573.6964
+      3400.7344       2649.9184
+  24421225.8014   -1618998.16849   -967271.82945  24421226.9554   24421231.8174
+      1737.3344       1353.7644
+  24551295.2014   -3749584.80249  -2907028.14945  24551295.3684   24551298.5684
+     -3739.8154      -2914.1454
+  20677451.9134  -23031865.11049 -17931790.52048  20677451.8964   20677456.4104
+       -41.2564        -32.1464
+  21559867.7454  -17407189.76849 -13321499.75347  21559866.9694   21559870.9904
+     -1794.8614      -1398.5934
+  22730099.3104  -10144248.26549  -7390163.10047  22730098.9364   22730103.0964
+      2268.9214       1767.9834
+  20448511.9114  -25560842.36849 -19897047.22048  20448511.0274   20448515.8604
+       710.6194        553.7294
+  22539884.1954  -11138238.20349  -8657291.55546  22539884.9564   22539889.3004
+     -2732.7784      -2129.4454
+ 05  1 20  8 14 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22677179.7004   -9166003.69649  -7115232.29546  22677178.1754   22677182.1574
+      3392.5164       2643.5114
+  24411334.2254   -1670978.75749  -1007776.14145  24411334.8874   24411340.2524
+      1727.7434       1346.2904
+  24572647.7724   -3637370.64849  -2819588.56345  24572647.5574   24572653.9924
+     -3741.2054      -2915.2184
+  20677711.3234  -23030502.63349 -17930728.85748  20677711.1774   20677715.5624
+       -49.5754        -38.6284
+  21570143.0854  -17353190.58449 -13279422.47047  21570142.2734   21570146.8984
+     -1805.0644      -1406.5404
+  22717190.7684  -10212086.82549  -7443024.31246  22717189.0084   22717193.7524
+      2253.6034       1756.0484
+  20444482.9224  -25582012.70349 -19913543.59448  20444482.3454   20444487.3234
+       700.7364        546.0274
+  22555522.2984  -11056056.15149  -8593253.57246  22555523.1284   22555528.2504
+     -2745.8924      -2139.6574
+ 05  1 20  8 15  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22657834.9544   -9267655.12249  -7194441.17746  22657833.7954   22657838.8094
+      3384.2264       2637.0614
+  24401498.5974   -1722672.13449  -1048056.71645  24401497.5134   24401503.2314
+      1718.2194       1338.8704
+  24594009.2314   -3525114.03049  -2732115.89045  24594011.2544   24594014.3594
+     -3742.4874      -2916.2284
+  20678017.7174  -23028891.15349 -17929473.15648  20678017.8534   20678022.2764
+       -57.8454        -45.0734
+  21580476.1664  -17298885.21649 -13237106.61647  21580476.3274   21580480.8604
+     -1815.2604      -1414.4904
+  22704369.4394  -10279465.00949  -7495526.80247  22704367.9844   22704372.5734
+      2238.2444       1744.0814
+  20440510.8094  -25602886.11149 -19929808.58348  20440510.2454   20440515.3354
+       690.8294        538.3084
+  22571236.9814  -10973482.75449  -8528910.67146  22571236.6984   22571240.2334
+     -2758.9074      -2149.8084
+ 05  1 20  8 15 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22638538.1464   -9369056.44649  -7273455.16646  22638538.5654   22638543.2694
+      3375.8524       2630.5404
+  24391715.4664   -1774076.04849  -1088111.67045  24391715.7934   24391721.6054
+      1708.5394       1331.3274
+  24615381.5554   -3412816.98249  -2644611.70645  24615381.9574   24615385.2224
+     -3743.8664      -2917.2954
+  20678372.2094  -23027031.15249 -17928023.80948  20678371.8504   20678376.0634
+       -66.1194        -51.5204
+  21590869.6484  -17244273.65349 -13194552.15547  21590868.6434   21590873.0134
+     -1825.4894      -1422.4604
+  22691635.3244  -10346380.78049  -7547668.96047  22691634.0954   22691638.9674
+      2222.8134       1732.0644
+  20436594.9074  -25623461.40049 -19945841.26648  20436594.7894   20436599.8744
+       680.8454        530.5294
+  22587023.6074  -10890520.72149  -8464264.94046  22587023.8714   22587028.2694
+     -2771.8584      -2159.8824
+ 05  1 20  8 16  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22619290.0884   -9470205.06449  -7352272.23546  22619290.3164   22619294.6504
+      3367.3724       2623.9254
+  24381989.3884   -1825187.72649  -1127938.93645  24381989.6834   24381994.5224
+      1698.6814       1323.6464
+  24636756.5704   -3300482.15049  -2557078.11745  24636758.7524   24636760.6284
+     -3745.1034      -2918.2644
+  20678772.8514  -23024923.84749 -17926381.74348  20678772.7964   20678777.0324
+       -74.3594        -57.9444
+  21601319.0774  -17189355.77049 -13151759.01547  21601319.0634   21601323.3034
+     -1835.6884      -1430.4084
+  22678989.7684  -10412831.62349  -7599448.84446  22678989.0014   22678993.2534
+      2207.2604       1719.9414
+  20432736.9274  -25643737.21249 -19961640.60548  20432736.5104   20432741.8194
+       670.8674        522.7534
+  22602883.5934  -10807172.69949  -8399318.42646  22602885.4074   22602888.7494
+     -2784.6424      -2169.8484
+ 05  1 20  8 16 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22600090.8914   -9571098.61249  -7430890.53146  22600090.3824   22600096.0634
+      3358.8394       2617.2794
+  24372320.0144   -1876004.75549  -1167536.62145  24372319.0404   24372324.9654
+      1688.8484       1315.9854
+  24658141.6694   -3188112.09849  -2469517.08545  24658141.9754   24658143.6194
+     -3746.2514      -2919.1644
+  20679221.1934  -23022569.68249 -17924547.32948  20679220.8394   20679225.2144
+       -82.5754        -64.3474
+  21611828.5084  -17134131.63149 -13108727.22647  21611827.7264   21611832.2684
+     -1845.9084      -1438.3664
+  22666433.3054  -10478815.34549  -7650864.73347  22666433.1154   22666437.3754
+      2191.6394       1707.7574
+  20428935.5134  -25663712.38549 -19977205.68248  20428935.4544   20428940.5374
+       660.8004        514.9094
+  22618818.3324  -10723441.32149  -8334073.20546  22618817.7774   22618821.2174
+     -2797.3934      -2179.7914
+ 05  1 20  8 17  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22580940.8084   -9671734.69249  -7509308.24746  22580939.9774   22580945.1394
+      3350.2184       2610.5604
+  24362706.7934   -1926524.63549  -1206902.69245  24362706.8314   24362711.6734
+      1678.8834       1308.2224
+  24679530.7324   -3075709.07949  -2381930.34045  24679531.5134   24679533.9284
+     -3747.3004      -2919.9774
+  20679715.8104  -23019969.71949 -17922521.38748  20679715.5514   20679719.9924
+       -90.7584        -70.7124
+  21622395.9134  -17078601.35049 -13065456.89447  21622395.4514   21622399.1834
+     -1856.1094      -1446.3054
+  22653966.5524  -10544329.74449  -7701914.91247  22653965.9384   22653970.4534
+      2175.9434       1695.5574
+  20425192.2464  -25683385.49549 -19992535.38348  20425191.7244   20425196.9894
+       650.7214        507.0614
+  22634823.5914  -10639329.53549  -8268531.52746  22634823.5394   22634828.6244
+     -2810.0084      -2189.6154
+ 05  1 20  8 17 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22561839.4984   -9772110.59649  -7587523.21346  22561839.4684   22561844.2854
+      3341.5084       2603.7674
+  24353150.0084   -1976744.74149  -1246035.25446  24353148.9834   24353155.5894
+      1668.8864       1300.4284
+  24700926.3954   -2963275.31449  -2294319.63945  24700926.5714   24700929.5324
+     -3748.3004      -2920.7564
+  20680256.8644  -23017124.83149 -17920304.58948  20680256.7164   20680261.4654
+       -98.9114        -77.0714
+  21633020.5494  -17022764.78749 -13021947.89647  21633020.3334   21633024.7754
+     -1866.2944      -1454.2564
+  22641589.9314  -10609372.55249  -7752597.61747  22641589.1604   22641592.9504
+      2160.1954       1683.2764
+  20421506.1774  -25702755.24949 -20007628.70048  20421505.6624   20421510.9584
+       640.5744        499.1474
+  22650901.8594  -10554839.74949  -8202695.36446  22650901.0114   22650906.4744
+     -2822.5994      -2199.4234
+ 05  1 20  8 18  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22542789.6654   -9872223.81749  -7665533.48947  22542788.4274   22542793.3304
+      3332.7014       2596.9014
+  24343648.3334   -2026662.65549  -1284932.26645  24343649.0634   24343654.6734
+      1658.7454       1292.5244
+  24722330.1704   -2850813.19249  -2206686.83245  24722327.2234   24722331.2324
+     -3749.1344      -2921.4064
+  20680844.9604  -23014035.47849 -17917897.30548  20680844.8534   20680849.3304
+      -107.0584        -83.4174
+  21643704.1144  -16966622.23649 -12978200.47447  21643703.7904   21643708.3044
+     -1876.5184      -1462.2184
+  22629303.2954  -10673941.70649  -7802911.24447  22629302.2754   22629306.2174
+      2144.3764       1670.9454
+  20417878.0634  -25721820.37649 -20022484.64748  20417877.6014   20417882.9434
+       630.4034        491.2244
+  22667049.9664  -10469974.79549  -8136566.83646  22667050.9804   22667055.3714
+     -2835.0144      -2209.1004
+ 05  1 20  8 18 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22523787.3054   -9972071.93949  -7743337.19647  22523787.6194   22523792.2174
+      3323.8274       2589.9854
+  24334208.3674   -2076275.75849  -1323591.85945  24334208.6804   24334213.8074
+      1648.5354       1284.5704
+  24743733.7534   -2738324.97049  -2119033.74245  24743732.5394   24743736.6294
+     -3749.9844      -2922.0644
+  20681479.5854  -23010702.43249 -17915300.13148  20681479.3004   20681483.5014
+      -115.1564        -89.7364
+  21654446.2614  -16910173.80749 -12934214.70447  21654445.5974   21654449.8514
+     -1886.7224      -1470.1754
+  22617106.6724  -10738034.83549  -7852853.93447  22617105.4454   22617109.3654
+      2128.4924       1658.5534
+  20414308.3154  -25740579.54249 -20037102.18248  20414308.1244   20414313.0824
+       620.1844        483.2584
+  22683270.9704  -10384737.41249  -8070148.10646  22683271.7164   22683275.5674
+     -2847.4224      -2218.7694
+ 05  1 20  8 19  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22504839.2264  -10071652.57349  -7820932.49747  22504838.6284   22504842.7974
+      3314.8594       2583.0124
+  24324828.3304   -2125581.75749  -1362012.05345  24324826.1534   24324831.4714
+      1638.2764       1276.5784
+  24765146.9914   -2625813.42649  -2031362.49145  24765145.9894   24765144.3364
+     -3750.7354      -2922.6494
+  20682159.6274  -23007126.48449 -17912513.69148  20682159.7874   20682164.0334
+      -123.2354        -96.0224
+  21665245.5704  -16853419.41549 -12889990.52347  21665245.2524   21665250.5354
+     -1896.9154      -1478.1074
+  22604999.0434  -10801649.69549  -7902423.97047  22605000.1964   22605004.0744
+      2112.4674       1646.0744
+  20410797.6014  -25759031.45649 -20051480.31148  20410797.0984   20410802.0424
+       609.9234        475.2684
+  22699562.1024  -10299130.17849  -8003441.14646  22699561.1924   22699566.7384
+     -2859.6664      -2228.3064
+ 05  1 20  8 19 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22485941.0724  -10170963.07349  -7898317.27347  22485940.1994   22485945.1624
+      3305.8074       2575.9554
+  24315503.5574   -2174577.98449  -1400190.89745  24315503.3844   24315507.7794
+      1627.8604       1268.4624
+  24786558.8814   -2513280.86849  -1943674.79345  24786559.0234   24786558.0354
+     -3751.3934      -2923.1704
+  20682886.5984  -23003308.52949 -17909538.65448  20682886.3374   20682890.6234
+      -131.2914       -102.3054
+  21676104.5424  -16796359.24649 -12845528.06047  21676104.1324   21676108.5154
+     -1907.1014      -1486.0464
+  22592985.2784  -10864784.21149  -7951619.69847  22592986.1134   22592989.9304
+      2096.4154       1633.5674
+  20407344.6184  -25777174.78549 -20065617.96848  20407344.1834   20407349.5714
+       599.6214        467.2374
+  22715921.4114  -10213155.86749  -7936448.18446  22715922.1874   22715926.7744
+     -2871.8874      -2237.8334
+ 05  1 20  8 20  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22467094.5234  -10270000.99649  -7975489.63947  22467094.4694   22467099.1364
+      3296.7044       2568.8594
+  24306236.7204   -2223262.05749  -1438126.53445  24306237.3914   24306243.5314
+      1617.4154       1260.3244
+  24807976.7924   -2400729.53049  -1855972.40245  24807976.6004   24807977.7394
+     -3752.0164      -2923.6574
+  20683658.7184  -22999249.40049 -17906375.69248  20683658.6804   20683662.9714
+      -139.3074       -108.5524
+  21687020.8614  -16738993.39949 -12800827.42547  21687020.8364   21687024.5334
+     -1917.2924      -1493.9914
+  22581064.8764  -10927436.10049  -8000439.35347  22581063.9994   22581067.7994
+      2080.3204       1621.0264
+  20403951.6514  -25795008.22149 -20079514.16348  20403951.0494   20403955.6524
+       589.2624        459.1644
+  22732350.6644  -10126817.30349  -7869171.37246  22732350.9744   22732356.7844
+     -2883.9384      -2247.2114
+ 05  1 20  8 20 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22448299.7374  -10368764.09149  -8052447.85647  22448300.0554   22448304.7284
+      3287.4934       2561.6764
+  24297034.5754   -2271631.67049  -1475817.13945  24297034.3634   24297039.3664
+      1606.8924       1252.1214
+  24829395.2474   -2288161.75849  -1768257.24845  24829395.8944   24829398.2934
+     -3752.5184      -2924.0404
+  20684477.1624  -22994949.68849 -17903025.26648  20684476.9474   20684480.9794
+      -147.3294       -114.8054
+  21697995.3034  -16681321.87449 -12755888.57447  21697995.0214   21697999.2944
+     -1927.4734      -1501.9244
+  22569234.0434  -10989603.16149  -8048881.20947  22569233.5244   22569237.9974
+      2064.0984       1608.3824
+  20400616.0004  -25812530.54049 -20093167.91648  20400616.1834   20400621.5444
+       578.8674        451.0654
+  22748852.1494  -10040117.06749  -7801612.75946  22748851.5524   22748855.1934
+     -2895.9954      -2256.6294
+ 05  1 20  8 21  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22429559.7144  -10467249.57049  -8129189.73147  22429559.2604   22429563.7804
+      3278.2024       2554.4424
+  24287890.0034   -2319684.07649  -1513260.52945  24287889.7994   24287896.3304
+      1596.2944       1243.8564
+  24850820.5404   -2175580.16549  -1680531.32445  24850819.8784   24850823.6984
+     -3752.9294      -2924.3584
+  20685340.5474  -22990410.38149 -17899488.14148  20685340.5564   20685344.9614
+      -155.2804       -120.9994
+  21709027.8724  -16623344.88249 -12710711.70647  21709027.3584   21709032.0274
+     -1937.6564      -1509.8604
+  22557497.9334  -11051283.32849  -8096943.68947  22557496.6414   22557501.1664
+      2047.8824       1595.7504
+  20397341.4024  -25829740.53549 -20106578.30348  20397341.1104   20397346.7114
+       568.4604        442.9564
+  22765416.8614   -9953057.96949  -7733774.53846  22765417.5064   22765422.4564
+     -2907.8734      -2265.8684
+ 05  1 20  8 21 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22410871.1654  -10565455.13349  -8205713.48247  22410870.5944   22410875.6834
+      3268.8584       2547.1644
+  24278806.6024   -2367417.01049  -1550455.05145  24278806.4864   24278809.4974
+      1585.6604       1235.5794
+  24872247.0114   -2062986.99349  -1592796.39645  24872245.5474   24872249.0074
+     -3753.2744      -2924.6344
+  20686249.9814  -22985632.21049 -17895764.90948  20686249.8924   20686254.0704
+      -163.2334       -127.1954
+  21720118.4274  -16565062.42249 -12665296.80947  21720118.2374   21720122.0954
+     -1947.8294      -1517.7904
+  22545853.6764  -11112474.35149  -8144624.99747  22545852.2364   22545856.2514
+      2031.5184       1583.0074
+  20394126.1234  -25846636.97349 -20119744.36148  20394125.8794   20394131.2324
+       557.9734        434.7864
+  22782052.0834   -9865642.75449  -7665658.76246  22782052.0154   22782055.7244
+     -2919.7324      -2275.1174
+ 05  1 20  8 22  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22392238.1364  -10663378.43049  -8282017.31147  22392236.9814   22392241.1394
+      3259.3884       2539.7734
+  24269786.2074   -2414828.00049  -1587398.63946  24269785.7704   24269790.4314
+      1574.8704       1227.1684
+  24893671.6114   -1950384.56549  -1505054.25845  24893672.7994   24893676.2994
+     -3753.5374      -2924.8294
+  20687204.1144  -22980616.03849 -17891856.20548  20687204.4234   20687208.5634
+      -171.1544       -133.3644
+  21731267.5004  -16506474.67249 -12619644.02647  21731266.9664   21731271.5444
+     -1958.0174      -1525.7294
+  22534301.8204  -11173174.26149  -8191923.63847  22534301.4734   22534305.6164
+      2015.1374       1570.2414
+  20390970.9764  -25863218.45949 -20132664.99948  20390970.7324   20390975.6944
+       547.4644        426.5954
+  22798751.8324   -9777874.01049  -7597267.53346  22798753.5124   22798758.4924
+     -2931.4394      -2284.2294
+ 05  1 20  8 22 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22373656.0594  -10761017.01849  -8358099.31247  22373656.4594   22373661.4914
+      3249.8394       2532.3454
+  24260825.1434   -2461914.64349  -1624089.49145  24260823.9284   24260829.7204
+      1563.9714       1218.6874
+  24915104.5614   -1837775.14849  -1417306.70245  24915100.4294   24915104.1164
+     -3753.7084      -2924.9634
+  20688204.5734  -22975362.39449 -17887762.44648  20688204.2824   20688208.4514
+      -179.0774       -139.5394
+  21742474.5794  -16447581.85149 -12573753.53147  21742474.1124   21742478.3694
+     -1968.1994      -1533.6554
+  22522846.1114  -11233380.52949  -8238837.60647  22522844.4924   22522849.0244
+      1998.6324       1557.3814
+  20387876.0974  -25879483.60349 -20145339.14248  20387875.6614   20387880.7124
+       536.8844        418.3524
+  22815522.0294   -9689754.63949  -7528603.06946  22815521.4484   22815526.3664
+     -2943.0924      -2293.3184
+ 05  1 20  8 23  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22355130.7974  -10858368.47549  -8433957.58347  22355131.6674   22355135.3364
+      3240.2424       2524.8674
+  24251926.0444   -2508674.55549  -1660525.78745  24251926.9194   24251931.2594
+      1553.0754       1210.1904
+  24936535.2944   -1725161.23749  -1329555.61945  24936532.5684   24936533.7804
+     -3753.8564      -2925.0834
+  20689249.5884  -22969871.78349 -17883484.05248  20689249.0584   20689253.2874
+      -186.9424       -145.6684
+  21753739.7194  -16388383.94749 -12527625.29847  21753739.0154   21753743.7034
+     -1978.3104      -1541.5394
+  22511484.0234  -11293091.32849  -8285365.51847  22511482.8014   22511486.5054
+      1982.0824       1544.4854
+  20384841.2164  -25895431.03749 -20157765.72148  20384840.9904   20384846.0654
+       526.2874        410.0984
+  22832354.3194   -9601287.23549  -7459667.44046  22832356.9074   22832361.5694
+     -2954.6624      -2302.3434
+ 05  1 20  8 23 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22336661.9234  -10955430.31649  -8509590.17047  22336661.0134   22336665.0744
+      3230.5674       2517.3294
+  24243091.2494   -2555105.10149  -1696705.43746  24243091.7984   24243097.4714
+      1542.0524       1201.5994
+  24957963.7924   -1612545.37249  -1241802.98445  24957961.5924   24957967.1804
+     -3753.8264      -2925.0554
+  20690338.9044  -22964145.14449 -17879021.74448  20690338.7484   20690342.9034
+      -194.8044       -151.7974
+  21765062.0994  -16328881.31649 -12481259.62347  21765062.1894   21765066.7434
+     -1988.5014      -1549.4814
+  22500214.8974  -11352304.87549  -8331505.93947  22500213.6704   22500218.0504
+      1965.4704       1531.5334
+  20381867.5854  -25911059.46049 -20169943.71348  20381866.9964   20381871.7474
+       515.6214        401.7824
+  22849256.5454   -9512474.76449  -7390462.90346  22849256.5774   22849261.1064
+     -2966.1064      -2311.2594
+ 05  1 20  8 24  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22318246.9324  -11052199.96349  -8584995.06747  22318246.9584   22318250.7414
+      3220.7684       2509.6834
+  24234317.6854   -2601204.41649  -1732626.94345  24234317.4504   24234322.7744
+      1530.9264       1192.9334
+  24979393.7184   -1499929.46049  -1154050.36645  24979393.1374   24979396.0144
+     -3753.8194      -2925.0574
+  20691473.4744  -22958183.31149 -17874376.16348  20691473.1504   20691477.6844
+      -202.6454       -157.9024
+  21776443.7574  -16269073.72249 -12434656.30947  21776442.9164   21776447.2784
+     -1998.6504      -1557.3884
+  22489042.0764  -11411018.76549  -8377257.02247  22489040.8154   22489045.8124
+      1948.7804       1518.5344
+  20378954.0044  -25926367.64949 -20181872.18248  20378953.6664   20378958.8344
+       504.9034        393.4344
+  22866222.2734   -9423319.79149  -7320991.46846  22866223.2384   22866226.5254
+     -2977.5304      -2320.1684
+ 05  1 20  8 24 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22299887.5774  -11148675.30149  -8660170.61547  22299887.9394   22299892.2244
+      3210.9054       2502.0094
+  24225610.4364   -2646969.63549  -1768288.15945  24225610.3864   24225614.7154
+      1519.7914       1184.2564
+  25000823.3534   -1387316.16049  -1066299.74345  25000822.0184   25000824.8404
+     -3753.7054      -2924.9674
+  20692652.6464  -22951987.18349 -17869548.01348  20692652.4404   20692656.8114
+      -210.4304       -163.9664
+  21787882.2374  -16208961.46749 -12387815.59247  21787881.7044   21787886.2094
+     -2008.8214      -1565.3044
+  22477964.8124  -11469230.98049  -8422617.19347  22477963.7174   22477968.1154
+      1932.0174       1505.4654
+  20376102.3504  -25941354.27249 -20193550.07048  20376102.0444   20376107.0954
+       494.1724        385.0734
+  22883252.1624   -9333825.01649  -7251255.28146  22883253.2884   22883256.7284
+     -2988.7674      -2328.9144
+ 05  1 20  8 25  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22281585.5074  -11244853.63449  -8735114.71347  22281585.6074   22281590.0324
+      3200.9744       2494.2554
+  24216966.2564   -2692398.47949  -1803687.24746  24216965.6944   24216969.2604
+      1508.5274       1175.4734
+  25022251.5594   -1274707.80149   -978552.98045  25022252.0224   25022256.2044
+     -3753.5044      -2924.8054
+  20693875.8624  -22945557.43749 -17864537.81948  20693875.8494   20693880.2274
+      -218.1984       -170.0244
+  21799379.9374  -16148544.81349 -12340737.69747  21799379.2704   21799382.9794
+     -2018.9684      -1573.2204
+  22466982.2144  -11526939.22049  -8467584.65747  22466981.9904   22466986.7994
+      1915.1844       1492.3614
+  20373311.9494  -25956018.14149 -20204976.46548  20373311.6864   20373316.6414
+       483.4124        376.6844
+  22900348.0894   -9243993.39149  -7181256.59746  22900347.7124   22900351.1674
+     -2999.9484      -2337.6084
+ 05  1 20  8 25 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22263341.7964  -11340732.49449  -8809825.47347  22263340.6184   22263344.6374
+      3190.9424       2486.4404
+  24208383.2234   -2737488.69749  -1838822.46646  24208382.7564   24208389.9104
+      1497.1704       1166.6314
+  25043678.0554   -1162106.71549   -890811.92745  25043677.2114   25043682.8824
+     -3753.2404      -2924.6014
+  20695143.6054  -22938895.17849 -17859346.44448  20695143.7244   20695148.0034
+      -225.9484       -176.0654
+  21810934.1594  -16087823.98449 -12293422.77547  21810933.6404   21810938.2794
+     -2029.1074      -1581.1244
+  22456097.4944  -11584141.90849  -8512158.16647  22456095.9564   22456101.3144
+      1898.2944       1479.1914
+  20370583.2664  -25970357.96349 -20216150.35448  20370582.9854   20370587.9524
+       472.5784        368.2414
+  22917505.2504   -9153827.42549  -7110997.38846  22917505.5414   22917509.3984
+     -3011.0664      -2346.2924
+ 05  1 20  8 26  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22245153.4584  -11436309.90049  -8884301.33747  22245152.7814   22245157.6944
+      3180.8584       2478.5984
+  24199870.3624   -2782237.89249  -1873691.96046  24199868.8784   24199874.3214
+      1485.7384       1157.7134
+  25065104.6074   -1049515.18049   -803078.31245  25065103.2634   25065107.5054
+     -3752.9444      -2924.3704
+  20696455.5844  -22932000.76849 -17853974.18948  20696455.5524   20696459.8144
+      -233.6694       -182.0814
+  21822546.6514  -16026799.02749 -12245870.89447  21822546.5764   21822550.9014
+     -2039.2324      -1589.0154
+  22445308.8224  -11640836.84449  -8556336.04947  22445307.6784   22445312.0854
+      1881.3354       1465.9794
+  20367916.5734  -25984372.44149 -20227070.73548  20367916.1814   20367920.9674
+       461.7034        359.7684
+  22934727.3604   -9063330.04949  -7040479.95046  22934727.2394   22934730.6774
+     -3022.0884      -2354.8784
+ 05  1 20  8 26 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22227023.1874  -11531583.38649  -8958540.37147  22227022.5514   22227027.2964
+      3170.6824       2470.6584
+  24191417.5684   -2826643.65649  -1908293.87345  24191416.8104   24191421.5184
+      1474.2914       1148.8114
+  25086529.2404    -936935.47849   -715353.88345  25086525.5534   25086529.6514
+     -3752.4544      -2923.9924
+  20697812.2474  -22924874.65049 -17848421.37248  20697811.7654   20697815.9094
+      -241.4044       -188.1054
+  21834217.7704  -15965470.25749 -12198082.28647  21834217.1544   21834221.4544
+     -2049.3584      -1596.9004
+  22434617.4604  -11697022.03149  -8600116.72247  22434616.1284   22434620.8014
+      1864.3214       1452.7274
+  20365311.4214  -25998060.19749 -20237736.52448  20365311.1934   20365316.4304
+       450.7894        351.2644
+  22952010.5904   -8972503.91949  -6969706.32046  22952010.4244   22952014.4894
+     -3032.9434      -2363.3274
+ 05  1 20  8 27  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22208951.9694  -11626550.46349  -9032540.65947  22208951.0974   22208955.5914
+      3160.4344       2462.6774
+  24183033.6514   -2870703.77549  -1942626.42146  24183033.9984   24183038.8804
+      1462.7644       1139.8194
+  25107950.3024    -824370.18449   -627640.72245  25107946.8464   25107949.5684
+     -3751.9174      -2923.5684
+  20699211.6994  -22917517.82349 -17842688.78248  20699211.6454   20699215.8244
+      -249.0504       -194.0624
+  21845944.9124  -15903837.97949 -12150057.13947  21845944.6934   21845949.9714
+     -2059.4744      -1604.7754
+  22424022.7234  -11752695.66549  -8643498.76847  22424021.7634   22424025.8754
+      1847.2514       1439.4224
+  20362768.9034  -26011420.02049 -20248146.77248  20362768.8354   20362774.2234
+       439.8524        342.7414
+  22969354.8184   -8881351.79449  -6898678.70046  22969355.7334   22969359.8084
+     -3043.7504      -2371.7624
+ 05  1 20  8 27 30.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22190938.1814  -11721208.62649  -9106300.22147  22190938.2704   22190942.6854
+      3150.0874       2454.6124
+  24174716.1604   -2914415.88849  -1976687.76946  24174715.9484   24174722.1084
+      1451.1214       1130.7394
+  25129364.7614    -711821.51549   -539940.48645  25129363.9384   25129365.4634
+     -3751.3264      -2923.1164
+  20700655.1294  -22909931.22849 -17836777.15548  20700655.2284   20700659.4344
+      -256.7184       -200.0404
+  21857732.2664  -15841902.18449 -12101795.50147  21857731.4764   21857736.1414
+     -2069.5634      -1612.6494
+  22413525.8974  -11807855.50149  -8686480.47247  22413525.6904   22413529.5744
+      1830.0764       1426.0334
+  20360289.7734  -26024450.68649 -20258300.54448  20360289.2684   20360294.2194
+       428.8524        334.1724
+  22986761.2364   -8789876.42049  -6827399.18246  22986762.9064   22986766.9634
+     -3054.4924      -2380.1144
+ 05  1 20  8 28  0.0000000  0  8G16G 6G22G25G14G20G 1G30
+  22172984.5734  -11815555.64249  -9179817.32447  22172984.0594   22172989.4484
+      3139.6914       2446.5084
+  24166462.4374   -2957777.60149  -2010476.13945  24166463.2964   24166469.1714
+      1439.3824       1121.5964
+  25150779.5474    -599291.79349   -452254.98245  25150778.9274   25150782.8224
+     -3750.6754      -2922.6074
+  20702142.3974  -22902115.61949 -17830687.07348  20702142.3344   20702146.7594
+      -264.3204       -205.9634
+  21869575.2264  -15779663.06649 -12053297.49847  21869574.9814   21869579.2974
+     -2079.6814      -1620.5304
+  22403127.2004  -11862499.70949  -8729060.37547  22403126.5114   22403131.6674
+      1812.8774       1412.6344
+  20357872.7054  -26037150.94349 -20268196.85648  20357872.5104   20357877.5294
+       417.8254        325.5794
+  23004231.6544   -8698080.53849  -6755869.90946  23004231.1494   23004235.3404
+     -3065.1684      -2388.4414
+ 05  1 20  8 28 30.0000000  0  7G16G 6G25G14G20G 1G30
+  22155090.1004  -11909589.07449  -9253090.10547  22155090.1424   22155094.7604
+      3129.2134       2438.3494
+  24158281.3244   -3000786.69749  -2043989.70646  24158280.8724   24158285.4384
+      1427.6184       1112.4264
+  20703673.4424  -22894071.59949 -17824419.01248  20703673.2574   20703677.6384
+      -271.9304       -211.8904
+  21881477.6084  -15717121.15449 -12004563.54547  21881476.4764   21881480.5204
+     -2089.7494      -1628.3714
+  22392827.7944  -11916626.33049  -8771236.96747  22392826.9594   22392831.6324
+      1795.5914       1399.1724
+  20355519.1004  -26049519.51849 -20277834.70648  20355518.7154   20355524.0714
+       406.7544        316.9524
+  23021758.5534   -8605966.97449  -6684093.08846  23021759.5154   23021765.2334
+     -3075.6474      -2396.6154
+ 05  1 20  8 29  0.0000000  0  7G16G 6G25G14G20G 1G30
+  22137256.2574  -12003306.52749  -9326116.65547  22137256.2974   22137260.5974
+      3118.6234       2430.0954
+  24150162.6784   -3043441.03949  -2077226.84446  24150162.5864   24150166.8414
+      1415.7024       1103.1444
+  20705247.8344  -22885799.61549 -17817973.31148  20705247.4314   20705251.8214
+      -279.5194       -217.8064
+  21893435.3884  -15654276.54449 -11955593.74047  21893435.6674   21893439.3794
+     -2099.8664      -1636.2604
+  22382626.0544  -11970233.51549  -8813008.79747  22382625.4244   22382630.0484
+      1778.2334       1385.6384
+  20353229.1204  -26061555.05349 -20287213.04248  20353228.6754   20353233.7134
+       395.6214        308.2754
+  23039347.4884   -8513538.42549  -6612070.83946  23039347.8894   23039352.2344
+     -3086.1934      -2404.8034
+ 05  1 20  8 29 30.0000000  0  7G16G 6G25G14G20G 1G30
+  22119482.8414  -12096705.99849  -9398895.44647  22119483.2244   22119487.0144
+      3107.9914       2421.8064
+  24142113.5624   -3085738.02249  -2110185.52846  24142114.7654   24142120.6674
+      1403.8094       1093.8734
+  20706865.1324  -22877300.84749 -17811350.89448  20706864.7714   20706868.9454
+      -287.0744       -223.6964
+  21905453.0624  -15591129.34149 -11906388.11747  21905452.1614   21905456.2934
+     -2109.9624      -1644.1334
+  22372524.4254  -12023319.28549  -8854374.33747  22372523.5874   22372527.9774
+      1760.8154       1372.0644
+  20351002.1624  -26073256.36749 -20296330.94548  20351001.7084   20351006.9454
+       384.4534        299.5744
+  23056994.9934   -8420797.57249  -6539805.22046  23056996.2564   23056999.4684
+     -3096.4984      -2412.8654
+ 05  1 20  8 30  0.0000000  0  7G16G 6G25G14G20G 1G30
+  22101770.5924  -12189784.90249  -9471424.41147  22101770.3424   22101774.9274
+      3097.2644       2413.4474
+  24134134.9714   -3127675.67049  -2142864.17746  24134133.7914   24134139.2494
+      1391.7534       1084.4844
+  20708525.1634  -22868575.53049 -17804551.95248  20708525.0534   20708529.2944
+      -294.6234       -229.5804
+  21917526.3324  -15527679.65749 -11856946.79147  21917526.0164   21917530.2174
+     -2120.0434      -1651.9854
+  22362522.3624  -12075881.81449  -8895332.15347  22362521.5144   22362525.8994
+      1743.3444       1358.4484
+  20348839.5824  -26084622.23549 -20305187.46848  20348839.2574   20348844.1684
+       373.2464        290.8404
+  23074703.1864   -8327747.34149  -6467298.51646  23074704.3064   23074707.4124
+     -3106.7904      -2420.8764
+ 05  1 20  8 30 30.0000000  0  7G16G 6G25G14G20G 1G30
+  22084119.5274  -12282540.96449  -9543701.84547  22084119.5794   22084124.5944
+      3086.4554       2405.0334
+  24126224.1614   -3169251.63549  -2175261.04946  24126222.0674   24126228.4794
+      1379.6794       1075.0744
+  20710228.7084  -22859624.79149 -17797577.34448  20710228.4514   20710232.7724
+      -302.1134       -235.4114
+  21929657.7234  -15463928.27049 -11807270.39847  21929657.8294   21929661.5894
+     -2130.0744      -1659.7894
+  22352619.5144  -12127919.21349  -8935880.77847  22352619.4824   22352623.4114
+      1725.8114       1344.7894
+  20346740.8564  -26095651.37749 -20313781.60848  20346740.4434   20346745.4084
+       362.0094        282.0874
+  23092467.3794   -8234390.44949  -6394552.87846  23092468.4624   23092472.4334
+     -3116.9344      -2428.7854
+ 05  1 20  8 31  0.0000000  0  7G16G 6G25G14G20G 1G30
+  22066531.7624  -12374971.75049  -9615725.80847  22066530.7054   22066534.8954
+      3075.5814       2396.5514
+  24118380.4994   -3210463.77549  -2207374.37845  24118380.4824   24118385.1254
+      1367.5304       1065.6204
+  20711974.6624  -22850449.36949 -17790427.66548  20711974.3944   20711978.7354
+      -309.5834       -241.2344
+  21941846.8384  -15399875.16449 -11757358.89347  21941846.4564   21941850.5054
+     -2140.1384      -1667.6444
+  22342818.1894  -12179429.71249  -8976018.83247  22342816.8574   22342821.3304
+      1708.2374       1331.0904
+  20344706.3344  -26106342.69449 -20322112.50248  20344705.8164   20344710.9744
+       350.7324        273.2944
+  23110291.6054   -8140729.64949  -6321570.43146  23110291.4924   23110295.8934
+     -3127.0984      -2436.6954
+ 05  1 20  8 31 30.0000000  0  7G16G 6G25G14G20G 1G30
+  22049005.3414  -12467075.01849  -9687494.58347  22049004.5084   22049008.3944
+      3064.6284       2388.0194
+  24110606.6824   -3251309.74049  -2239202.43145  24110606.8624   24110611.1074
+      1355.3014       1056.0824
+  20713762.8924  -22841049.74149 -17783103.27448  20713762.9324   20713767.1514
+      -317.0474       -247.0514
+  21954093.5534  -15335520.46349 -11707212.40247  21954093.2214   21954096.8864
+     -2150.1564      -1675.4484
+  22333115.5934  -12230411.51349  -9015744.91447  22333115.6904   22333119.8114
+      1690.5604       1317.3184
+  20342736.1084  -26116694.90549 -20330179.16548  20342735.8844   20342740.8874
+       339.4084        264.4744
+  23128171.5684   -8046767.55949  -6248353.23446  23128171.6804   23128175.9914
+     -3137.0354      -2444.4444
+ 05  1 20  8 32  0.0000000  0  7G16G 6G25G14G20G 1G30
+  22031539.7294  -12558848.77649  -9759006.58247  22031540.2084   22031544.2844
+      3053.6194       2379.4484
+  24102906.5604   -3291787.35049  -2270743.37246  24102906.6584   24102909.8544
+      1342.9384       1046.4374
+  20715594.8524  -22831426.75949 -17775604.83648  20715594.3924   20715598.4984
+      -324.4534       -252.8204
+  21966395.7174  -15270864.50749 -11656831.14247  21966395.9444   21966400.0884
+     -2160.2074      -1683.2744
+  22323516.4674  -12280862.78749  -9055057.59047  22323515.2944   22323519.6844
+      1672.7914       1303.4764
+  20340830.8434  -26126706.65649 -20337980.52848  20340830.6214   20340835.6854
+       328.0514        255.6284
+  23146109.0394   -7952507.08049  -6174903.47946  23146109.8834   23146113.6904
+     -3146.9044      -2452.1414
+ 05  1 20  8 32 30.0000000  0  7G16G 6G25G14G20G 1G30
+  22014140.3954  -12650290.38649  -9830259.79947  22014139.4984   22014143.8614
+      3042.4974       2370.7794
+  24095271.9464   -3331894.50249  -2301995.67045  24095272.5804   24095276.8674
+      1330.6174       1036.8444
+  20717468.4504  -22821581.26549 -17767933.03748  20717467.8654   20717471.9074
+      -331.8744       -258.6024
+  21978757.1534  -15205907.63449 -11606215.39347  21978756.6024   21978761.3774
+     -2170.2404      -1691.1014
+  22314016.2464  -12330781.67449  -9093955.43447  22314015.4604   22314020.2544
+      1655.0554       1289.6584
+  20338990.5524  -26136376.74349 -20345515.66448  20338990.6154   20338995.7264
+       316.6254        246.7234
+  23164101.4624   -7857950.88149  -6101223.31746  23164102.1624   23164108.3304
+     -3156.7694      -2459.8204
+ 05  1 20  8 33  0.0000000  0  7G16G 6G25G14G20G 1G30
+  21996802.6644  -12741397.45449  -9901252.28547  21996802.1614   21996806.8764
+      3031.3164       2362.0664
+  24087712.4374   -3371628.83649  -2332957.50245  24087712.6584   24087714.3674
+      1318.1034       1027.0874
+  20719383.5174  -22811513.72949 -17760088.20648  20719383.5354   20719387.8364
+      -339.2974       -264.3904
+  21991175.5184  -15140650.24149 -11555365.49047  21991175.0844   21991179.8074
+     -2180.2434      -1698.8964
+  22304618.5384  -12380166.41349  -9132437.04047  22304617.9624   22304622.7664
+      1637.2454       1275.7804
+  20337215.8174  -26145703.99749 -20352783.64948  20337215.8504   20337220.6334
+       305.1774        237.7994
+  23182152.5284   -7763101.81749  -6027314.95346  23182152.0354   23182157.0934
+     -3166.4634      -2467.3814
+ 05  1 20  8 33 30.0000000  0  7G16G 6G25G14G20G 1G30
+  21979529.8834  -12832167.91949  -9971982.51147  21979529.6224   21979533.6834
+      3020.0244       2353.2574
+  24080222.1574   -3410988.52549  -2363627.32745  24080221.4474   24080227.0384
+      1305.5624       1017.3244
+  20721341.3884  -22801224.92549 -17752070.95448  20721341.2444   20721345.8434
+      -346.6334       -270.1034
+  22003650.7184  -15075092.87149 -11504281.81447  22003650.1284   22003654.4074
+     -2190.2394      -1706.6824
+  22295323.4844  -12429015.30149  -9170501.11147  22295322.7984   22295326.7724
+      1619.3544       1261.8344
+  20335507.1404  -26154687.13849 -20359783.50348  20335506.1344   20335511.2694
+       293.6804        228.8434
+  23200256.1384   -7667962.59249  -5953180.45946  23200255.9394   23200260.8184
+     -3176.1114      -2474.8924
+ 05  1 20  8 34  0.0000000  0  7G16G 6G25G14G20G 1G30
+  21962322.1094  -12922599.49149 -10042448.64747  21962321.0694   21962325.0854
+      3008.6894       2344.4334
+  24072802.8424   -3449970.81949  -2394003.16545  24072802.9354   24072809.7864
+      1292.9404       1007.4844
+  20723341.2734  -22790715.67249 -17743881.93048  20723341.2384   20723345.6854
+      -353.9984       -275.8444
+  22016182.1884  -15009235.46249 -11452964.36647  22016182.7964   22016186.7594
+     -2200.2594      -1714.4854
+  22286129.7064  -12477326.48449  -9208146.20047  22286129.5414   22286133.6514
+      1601.3624       1247.8174
+  20333862.7604  -26163324.90949 -20366514.24548  20333862.5764   20333867.5024
+       282.1384        219.8494
+  23218415.4644   -7572536.00949  -5878822.06846  23218415.0254   23218420.0254
+     -3185.6364      -2482.3024
+ 05  1 20  8 34 30.0000000  0  7G16G 6G25G14G20G 1G30
+  21945178.6154  -13012689.82549 -10112648.89247  21945177.3744   21945181.7174
+      2997.3434       2335.5974
+  24065457.0734   -3488574.06449  -2424083.62045  24065457.2314   24065462.9914
+      1280.3264        997.6544
+  20725383.1794  -22779986.68149 -17735521.67648  20725382.9924   20725387.3624
+      -361.2694       -281.5074
+  22028771.9454  -14943078.20849 -11401413.24247  22028771.2484   22028776.0554
+     -2210.2224      -1722.2474
+  22277039.5204  -12525098.22049  -9245370.93547  22277038.5744   22277042.5834
+      1583.3974       1233.8194
+  20332284.7094  -26171616.12249 -20372974.93348  20332284.5494   20332289.6974
+       270.5934        210.8534
+  23236626.8524   -7476824.72249  -5804241.86146  23236628.1794   23236632.3344
+     -3195.0094      -2489.6194
+ 05  1 20  8 35  0.0000000  0  7G16G 6G25G14G20G 1G30
+  21928099.0524  -13102436.94849 -10182581.71047  21928098.9274   21928102.9284
+      2985.8254       2326.6154
+  24058183.6144   -3526796.01849  -2453866.93045  24058183.0364   24058189.1394
+      1267.4944        987.6584
+  20727466.0184  -22769038.70849 -17726990.78948  20727466.2694   20727470.5264
+      -368.5774       -287.2044
+  22041418.3824  -14876621.53849 -11349628.81947  22041418.4274   22041422.6934
+     -2220.2064      -1730.0374
+  22268051.0854  -12572328.99749  -9282174.14047  22268050.5194   22268054.9604
+      1565.3064       1219.7204
+  20330773.5104  -26179559.62749 -20379164.68148  20330773.1294   20330777.9914
+       258.9734        201.7954
+  23254896.4654   -7380831.60649  -5729442.00546  23254896.2794   23254899.5814
+     -3204.4244      -2496.9584
+ 05  1 20  8 35 30.0000000  0  7G16G 6G25G14G20G 1G30
+  21911086.6414  -13191838.41549 -10252245.16747  21911086.2504   21911090.6964
+      2974.2474       2317.5914
+  24050984.3464   -3564634.54149  -2483351.49745  24050982.6794   24050988.3174
+      1254.6714        977.6654
+  20729591.3344  -22757872.31549 -17718289.70348  20729591.2124   20729595.4364
+      -375.8444       -292.8704
+  22054122.2234  -14809866.11949 -11297611.62247  22054121.2204   22054125.4784
+     -2230.1734      -1737.7984
+  22259166.8394  -12619017.13149  -9318554.50347  22259166.1544   22259170.5864
+      1547.2014       1205.6054
+  20329328.2764  -26187153.99449 -20385082.37048  20329328.0744   20329333.0454
+       247.3224        192.7154
+  23273215.0724   -7284559.31449  -5654424.62146  23273215.2844   23273220.2354
+     -3213.6784      -2504.1674
+ 05  1 20  8 36  0.0000000  0  7G16G 6G25G14G20G 1G30
+  21894141.1714  -13280891.85149 -10321637.42747  21894140.2564   21894144.3884
+      2962.6334       2308.5454
+  24043853.0874   -3602087.44349  -2512535.58145  24043854.2764   24043862.8484
+      1241.8164        967.6484
+  20731757.9974  -22746488.05649 -17709418.85648  20731757.5784   20731761.8064
+      -383.0914       -298.5104
+  22066881.1324  -14742811.94949 -11245361.62947  22066880.7714   22066885.2694
+     -2240.1204      -1745.5404
+  22250386.0544  -12665160.80949  -9354510.61847  22250385.2984   22250390.2034
+      1529.0134       1191.4414
+  20327950.3844  -26194398.07549 -20390727.12148  20327949.7224   20327954.4964
+       235.6134        183.5954
+  23291586.4434   -7188010.66249  -5579191.91646  23291586.6654   23291592.6254
+     -3222.8044      -2511.2654
+ 05  1 20  8 36 30.0000000  0  7G16G 6G25G14G20G 1G30
+  21877259.7234  -13369595.28749 -10390756.97947  21877259.6594   21877264.8704
+      2950.9084       2299.4084
+  24036806.7544   -3639152.75449  -2541417.61145  24036803.7684   24036808.8164
+      1228.8774        957.5624
+  20733965.3224  -22734886.80949 -17700378.93448  20733965.2034   20733969.6014
+      -390.3364       -304.1564
+  22079698.7174  -14675459.58549 -11192879.27747  22079698.2974   22079702.8154
+     -2250.0534      -1753.2874
+  22241709.7234  -12710758.44749  -9390041.24847  22241708.7344   22241713.0174
+      1510.8024       1177.2514
+  20326638.1104  -26201290.76949 -20396098.05048  20326637.6754   20326642.7964
+       223.8764        174.4504
+  23310012.0944   -7091188.35449  -5503745.97346  23310012.1494   23310016.5204
+     -3231.9094      -2518.3764
+ 05  1 20  8 37  0.0000000  0  7G16G 6G25G14G20G 1G30
+  21860447.3634  -13457946.46649 -10459602.03947  21860447.0244   21860451.4194
+      2939.1374       2290.2354
+  24029823.7034   -3675828.33749  -2569995.96945  24029822.9864   24029828.1604
+      1215.8524        947.4244
+  20736214.4184  -22723069.26649 -17691170.46548  20736214.0584   20736218.3584
+      -397.5224       -309.7554
+  22092571.8624  -14607809.50249 -11140164.95347  22092571.5404   22092576.1694
+     -2259.9804      -1761.0194
+  22233135.1884  -12755808.43249  -9425145.12747  22233135.6704   22233140.3934
+      1492.5134       1162.9964
+  20325393.6114  -26207830.82949 -20401194.20648  20325393.2754   20325398.2844
+       212.1004        165.2774
+  23328487.9504   -6994095.18449  -5428088.94246  23328488.9864   23328492.4304
+     -3240.8754      -2525.3564
+ 05  1 20  8 37 30.0000000  0  7G16G 6G25G14G20G 1G30
+  21843702.7084  -13545943.23649 -10528170.91847  21843701.8904   21843706.4534
+      2927.3114       2281.0184
+  24022918.0784   -3712112.20049  -2598269.11545  24022918.9344   24022923.6184
+      1202.6664        937.1404
+  20738503.6534  -22711035.93649 -17681793.84448  20738503.8424   20738508.0154
+      -404.6844       -315.3374
+  22105501.9654  -14539861.96049 -11087218.83047  22105501.8244   22105505.6214
+     -2269.8754      -1768.7344
+  22224668.1584  -12800309.32049  -9459821.15447  22224667.6834   22224671.9574
+      1474.1984       1148.7334
+  20324216.7324  -26214017.08749 -20406014.66848  20324216.0764   20324221.1104
+       200.3134        156.0904
+  23347016.5734   -6896733.79149  -5352222.90346  23347015.7564   23347019.6804
+     -3249.8264      -2532.3354
+ 05  1 20  8 38  0.0000000  0  7G16G 6G25G14G20G 1G30
+  21827026.3284  -13633583.26949 -10596461.83447  21827025.0184   21827029.3844
+      2915.3654       2271.7104
+  24016089.3894   -3748002.14949  -2626235.27645  24016089.3594   24016095.2414
+      1189.6164        926.9764
+  20740834.9534  -22698787.77549 -17672249.81848  20740834.6584   20740838.8454
+      -411.8674       -320.9364
+  22118487.8194  -14471617.27249 -11034041.11847  22118487.3314   22118492.3944
+     -2279.7974      -1776.4724
+  22216304.9864  -12844259.37749  -9494067.95447  22216304.2814   22216308.1524
+      1455.7784       1134.3664
+  20323106.5084  -26219848.27549 -20410558.45848  20323106.2624   20323111.5954
+       188.4304        146.8274
+  23365594.7214   -6799106.99949  -5276150.07846  23365594.0544   23365598.8554
+     -3258.6364      -2539.1984
+ 05  1 20  8 38 30.0000000  0  7G16G 6G25G14G20G 1G30
+  21810416.1314  -13720864.41549 -10664473.11047  21810415.5874   21810420.3564
+      2903.3844       2262.3734
+  24009336.2864   -3783496.45349  -2653893.12945  24009334.9504   24009340.7924
+      1176.3624        916.6454
+  20743206.4944  -22686325.17949 -17662538.70448  20743206.1234   20743210.5474
+      -418.9904       -326.4844
+  22131532.1354  -14403075.81549 -10980632.16647  22131531.0644   22131535.4234
+     -2289.6574      -1784.1504
+  22208046.7124  -12887657.11349  -9527884.37847  22208045.4854   22208050.1324
+      1437.3584       1120.0174
+  20322064.9344  -26225323.39149 -20414824.78548  20322064.6594   20322069.8054
+       176.5584        137.5784
+  23384221.0454   -6701217.54249  -5199872.57446  23384220.7534   23384224.9014
+     -3267.3294      -2545.9834
+ 05  1 20  8 39  0.0000000  0  7G16G 6G25G14G20G 1G30
+  21793875.5244  -13807784.54249 -10732203.06947  21793875.8244   21793879.8914
+      2891.3084       2252.9704
+  24002656.6254   -3818592.67649  -2681240.86045  24002656.0064   24002660.5644
+      1163.1014        906.3194
+  20745618.4614  -22673649.05349 -17652661.19648  20745618.3454   20745622.9264
+      -426.0794       -332.0104
+  22144629.7754  -14334238.12849 -10926992.40747  22144630.0674   22144634.1674
+     -2299.5094      -1791.8264
+  22199893.5744  -12930500.78149  -9561269.05747  22199893.2734   22199897.2614
+      1418.8744       1105.6194
+  20321091.3044  -26230441.17849 -20418812.67348  20321090.7424   20321095.9194
+       164.6314        128.2834
+  23402897.6834   -6603068.15849  -5123392.53746  23402899.0814   23402903.7324
+     -3275.9194      -2552.6634
+ 05  1 20  8 39 30.0000000  0  7G16G 6G25G14G20G 1G30
+  21777404.9154  -13894341.51049 -10799650.05947  21777404.0154   21777408.9764
+      2879.1644       2243.5054
+  23996052.8054   -3853289.05949  -2708276.99846  23996052.6584   23996060.9354
+      1149.6724        895.8484
+  20748070.9904  -22660759.72549 -17642617.57548  20748071.0054   20748075.4104
+      -433.1934       -337.5524
+  22157787.5334  -14265104.63949 -10873122.17147  22157786.1984   22157789.9274
+     -2309.3934      -1799.5294
+  22191846.7004  -12972789.00349  -9594220.92547  22191846.0594   22191850.7694
+      1400.3184       1091.1574
+  20320185.7004  -26235200.48849 -20422521.23148  20320185.1914   20320190.2634
+       152.6504        118.9504
+  23421624.5824   -6504661.59649  -5046712.11046  23421625.3294   23421629.9434
+     -3284.4574      -2559.3094
+ 05  1 20  8 40  0.0000000  0  7G16G 6G25G14G20G 1G30
+  21761002.4624  -13980533.11749 -10866812.32647  21761002.3404   21761006.9944
+      2866.9464       2233.9864
+  23989527.9094   -3887583.53849  -2734999.95146  23989528.1674   23989533.4994
+      1136.2624        885.4024
+  20750564.3254  -22647657.99449 -17632408.43148  20750564.2114   20750568.6554
+      -440.2514       -343.0524
+  22170998.8074  -14195675.69349 -10819021.68347  22170997.8514   22171002.0654
+     -2319.2114      -1807.1714
+  22183905.4814  -13014520.34949  -9626738.85147  22183904.8624   22183909.0604
+      1381.7304       1076.6724
+  20319348.5684  -26239600.10249 -20425949.50848  20319348.0064   20319352.6824
+       140.6414        109.5934
+  23440400.2954   -6406000.55249  -4969833.34645  23440399.3484   23440403.9974
+     -3292.9104      -2565.9044
+ 05  1 20  8 40 30.0000000  0  7G16G 6G25G14G20G 1G30
+  21744670.8884  -14066357.31249 -10933688.34447  21744670.5104   21744675.5154
+      2854.6704       2224.4234
+  23983080.6744   -3921474.17149  -2761408.22646  23983080.6284   23983082.4314
+      1122.7724        874.8834
+  20753097.4544  -22634344.85949 -17622034.56048  20753097.4484   20753102.1754
+      -447.2844       -348.5334
+  22184266.3874  -14125951.64049 -10764691.24247  22184265.9254   22184269.2464
+     -2329.0394      -1814.8394
+  22176070.3214  -13055693.31349  -9658821.68047  22176069.3994   22176074.4224
+      1363.1264       1062.1814
+  20318579.4654  -26243638.87249 -20429096.61048  20318579.2394   20318584.2354
+       128.6004        100.2064
+  23459218.8184   -6307087.83049  -4892758.45945  23459220.4594   23459227.2394
+     -3301.2004      -2572.3544
+ 05  1 20  8 41  0.0000000  0  7G16G 6G25G14G20G 1G30
+  21728409.1694  -14151812.02849 -11000276.42847  21728408.9264   21728413.6434
+      2842.3054       2214.7804
+  23976705.9704   -3954959.03849  -2787500.31746  23976706.0214   23976712.6654
+      1109.2574        864.3564
+  20755671.2694  -22620820.48849 -17611496.09248  20755671.1894   20755675.6244
+      -454.3094       -354.0074
+  22197589.5514  -14055933.15949 -10710131.35247  22197589.8024   22197594.2714
+     -2338.8594      -1822.4984
+  22168341.8294  -13096306.46749  -9690468.30247  22168340.7724   22168345.6554
+      1344.4424       1047.6144
+  20317880.1044  -26247315.65949 -20431961.65848  20317879.5744   20317884.6844
+       116.5104         90.7864
+  23478090.3354   -6207926.07149  -4815489.57645  23478092.0744   23478095.6064
+     -3309.4764      -2578.8064
+ 05  1 20  8 41 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21712219.8864  -14236894.85249 -11066574.73247  21712218.7764   21712222.7984
+      2829.8574       2205.0904
+  24703249.5074    -303524.97249   -207837.49445                  24703251.5114
+      3323.6294       2589.8424
+  23970412.6114   -3988036.04349  -2813274.58146  23970412.8764   23970417.1264
+      1095.5484        853.6784
+  20758285.8034  -22607085.63649 -17600793.60348  20758285.0274   20758289.2784
+      -461.3444       -359.4874
+  22210970.8494  -13985620.46549 -10655342.19747  22210969.8164   22210974.2724
+     -2348.6604      -1830.1204
+  22160720.3774  -13136358.24249  -9721677.48347  22160719.9024   22160724.0114
+      1325.6654       1032.9894
+  20317249.1704  -26250629.19549 -20434543.64948  20317249.1134   20317254.1264
+       104.3714         81.3324
+  23497010.0144   -6108518.14849  -4738028.81745  23497008.3074   23497013.6604
+     -3317.6484      -2585.1834
+ 05  1 20  8 42  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21696098.5564  -14321603.89349 -11132581.77347  21696098.5634   21696102.8234
+      2817.3694       2195.3474
+  24684279.1184    -403245.27549   -285541.59545  24684275.5564   24684275.7154
+      3324.3144       2590.3734
+  23964196.5034   -4020703.49949  -2838729.71846  23964195.4214   23964202.5954
+      1081.9124        843.0524
+  20760938.3364  -22593141.10149 -17589927.73448  20760938.5664   20760942.7594
+      -468.3214       -364.9284
+  22224406.0074  -13915014.09049 -10600324.22647  22224406.0024   22224410.2344
+     -2358.4314      -1837.7394
+  22153205.2894  -13175847.53649  -9752448.34947  22153204.8494   22153209.6874
+      1306.9194       1018.3754
+  20316687.9624  -26253578.38549 -20436841.73548  20316687.8274   20316693.0144
+        92.2144         71.8554
+  23515972.0464   -6008866.59349  -4660378.27845  23515972.6354   23515976.0564
+     -3325.7144      -2591.4594
+ 05  1 20  8 42 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21680050.3434  -14405937.16549 -11198296.00947  21680050.5784   21680055.0404
+      2804.8234       2185.5744
+  24665296.5374    -502988.00749   -363263.21045  24665295.5914   24665295.4284
+      3325.1334       2591.0124
+  23958059.2914   -4052959.27749  -2863864.09146  23958058.7454   23958063.5854
+      1068.1514        832.3254
+  20763632.2554  -22578987.58949 -17578899.02848  20763631.8134   20763636.0694
+      -475.2544       -370.3294
+  22237897.5714  -13844114.60649 -10545077.88447  22237897.1964   22237901.3584
+     -2368.1864      -1845.3334
+  22145798.3674  -13214772.70649  -9782779.65947  22145797.9674   22145801.9424
+      1288.0944       1003.7114
+  20316196.7114  -26256162.13049 -20438855.05148  20316196.5724   20316201.3364
+        80.0274         62.3614
+  23534979.4984   -5908974.26349  -4582540.11646  23534980.2914   23534985.1784
+     -3333.7124      -2597.7004
+ 05  1 20  8 43  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21664075.4284  -14489892.29649 -11263715.57047  21664074.5854   21664078.5404
+      2792.1754       2175.7214
+  24646309.2584    -602751.75249   -441001.19345  24646310.9684   24646310.9234
+      3325.7704       2591.5124
+  23951998.7234   -4084801.55349  -2888676.25446  23951999.0854   23952002.7684
+      1054.3434        821.5694
+  20766364.4124  -22564625.90649 -17567708.10648  20766364.5264   20766369.2594
+      -482.1994       -375.7394
+  22251445.5084  -13772922.17949 -10489603.22247  22251444.7114   22251449.4554
+     -2377.9754      -1852.9594
+  22138498.4714  -13253132.41049  -9812670.33847  22138498.2524   22138502.7094
+      1269.1794        988.9734
+  20315774.6474  -26258379.39849 -20440582.81148  20315774.3304   20315779.5354
+        67.7774         52.8154
+  23554035.1344   -5808843.72449  -4504516.34145  23554035.0604   23554037.7844
+     -3341.5954      -2603.8324
+ 05  1 20  8 43 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21648171.0354  -14573467.38849 -11328839.00847  21648170.9074   21648175.4734
+      2779.4844       2165.8294
+  24627322.7354    -702535.27749   -518754.59745  24627322.6304   24627323.4434
+      3326.4094       2592.0034
+  23946017.7924   -4116228.47149  -2913164.76046  23946019.0544   23946022.8764
+      1040.4424        810.7354
+  20769137.2734  -22550056.35349 -17556355.20248  20769137.1244   20769141.7244
+      -489.0964       -381.1164
+  22265048.5994  -13701437.50849 -10433900.86747  22265048.3834   22265052.4404
+     -2387.6744      -1860.5234
+  22131307.7194  -13290925.22349  -9842119.28047  22131306.5564   22131310.7944
+      1250.2964        974.2584
+  20315422.7704  -26260228.89049 -20442023.98048  20315422.4284   20315427.3294
+        55.5034         43.2484
+  23573133.5624   -5708477.81249  -4426309.06745  23573134.0934   23573134.9674
+     -3349.3314      -2609.8814
+ 05  1 20  8 44  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21632339.8994  -14656660.53649 -11393664.82047  21632339.6714   21632344.2214
+      2766.7254       2155.8884
+  24608333.9984    -802337.28549   -596522.37745  24608331.6124   24608330.5764
+      3327.0074       2592.4704
+  23940117.1124   -4147237.98649  -2937328.01646  23940117.5054   23940121.8384
+      1026.4934        799.8714
+  20771949.0754  -22535279.64649 -17544840.89448  20771948.9334   20771953.5104
+      -496.0164       -386.5064
+  22278706.9464  -13629661.15449 -10377971.22347  22278706.3724   22278710.5774
+     -2397.4084      -1868.1174
+  22124223.8754  -13328149.80549  -9871125.45147  22124223.3684   22124226.9404
+      1231.3304        959.4764
+  20315141.0654  -26261709.46349 -20443177.67348  20315140.4934   20315145.7624
+        43.1814         33.6454
+  23592274.7444   -5607879.22549  -4347920.52945  23592276.0154   23592280.7254
+     -3357.1434      -2615.9454
+ 05  1 20  8 44 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21616582.5954  -14739469.52049 -11458191.28147  21616581.7024   21616586.2254
+      2753.8704       2145.8724
+  24589339.9664    -902156.35749   -674303.42345  24589335.9254   24589336.4724
+      3327.5764       2592.9124
+  23934296.4944   -4177828.44749  -2961164.71746  23934295.8514   23934301.8174
+      1012.5404        788.9914
+  20774800.4464  -22520296.12249 -17533165.42948  20774800.3484   20774804.5284
+      -502.8874       -391.8604
+  22292420.4794  -13557593.55449 -10321814.64347  22292419.7694   22292424.9964
+     -2407.0924      -1875.6554
+  22117248.0864  -13364804.90449  -9899687.87747  22117247.8424   22117251.9824
+      1212.3334        944.6704
+  20314930.0334  -26262820.15449 -20444043.14748  20314929.3234   20314934.3414
+        30.8264         24.0184
+  23611464.9564   -5507050.56949  -4269352.74146  23611464.5634   23611467.7584
+     -3364.7154      -2621.8544
+ 05  1 20  8 45  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21600897.9924  -14821892.18949 -11522416.73247  21600897.2234   21600901.4254
+      2740.9674       2135.8164
+  24570340.2124   -1001991.23149   -752096.84045  24570338.2654   24570339.3164
+      3328.0764       2593.3044
+  23928555.2504   -4207998.02549  -2984673.47346  23928555.5004   23928560.3434
+       998.4194        777.9884
+  20777691.0804  -22505106.77849 -17521329.58048  20777690.7424   20777695.0764
+      -509.7334       -397.1944
+  22306190.7994  -13485235.28549 -10265431.56347  22306190.0644   22306194.3704
+     -2416.7864      -1883.2134
+  22110382.0934  -13400889.24449  -9927805.54547  22110381.2654   22110385.0564
+      1193.2764        929.8264
+  20314788.5124  -26263559.83749 -20444619.52448  20314788.3164   20314793.4164
+        18.4544         14.3784
+  23630694.4534   -5405994.74849  -4190607.94246  23630694.6514   23630697.7304
+     -3372.3064      -2627.7594
+ 05  1 20  8 45 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21585285.6364  -14903926.81449 -11586339.81747  21585286.1444   21585290.2814
+      2727.9814       2125.6984
+  24551340.9354   -1101840.46849   -829901.44245  24551338.5644   24551338.4424
+      3328.5624       2593.6864
+  23922895.0134   -4237744.80549  -3007852.77046  23922894.2934   23922899.5184
+       984.3944        767.0654
+  20780620.5774  -22489712.50649 -17509334.04648  20780620.4344   20780624.6064
+      -516.5614       -402.5154
+  22320013.4034  -13412586.77549 -10208822.31447  22320014.1414   22320018.8414
+     -2426.4804      -1890.7694
+  22103624.2004  -13436401.64849  -9955477.54547  22103623.6504   22103627.5854
+      1174.1994        914.9574
+  20314718.9104  -26263927.34949 -20444905.89348  20314718.7294   20314723.6204
+         6.0264          4.6944
+  23649965.7834   -5304714.34349  -4111688.14746  23649967.2444   23649971.9404
+     -3379.7304      -2633.5544
+ 05  1 20  8 46  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21569749.5564  -14985571.22949 -11649958.83447  21569749.6314   21569754.1174
+      2714.9654       2115.5584
+  24532333.1164   -1201702.85149   -907716.27245  24532333.0234   24532334.8824
+      3328.9814       2594.0064
+  23917314.6544   -4267067.03949  -3030701.23346  23917314.8264   23917320.1764
+       970.1764        755.9834
+  20783588.8714  -22474113.59049 -17497179.05148  20783588.7064   20783593.1464
+      -523.3744       -407.8234
+  22333895.3534  -13339648.55749 -10151987.32847  22333894.6254   22333898.8194
+     -2436.1074      -1898.2604
+  22096975.2824  -13471340.84849  -9982702.89747  22096974.6524   22096978.7964
+      1155.0654        900.0494
+  20314719.9494  -26263921.61849 -20444901.43148  20314719.5564   20314724.8434
+        -6.4254         -5.0044
+  23669283.2264   -5203212.01949  -4032595.45046  23669282.5394   23669287.3854
+     -3387.0644      -2639.2684
+ 05  1 20  8 46 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21554288.8994  -15066823.39449 -11713272.19847  21554288.0184   21554292.5304
+      2701.8484       2105.3374
+  24513327.3414   -1301576.83049   -985540.19445  24513327.3414   24513329.0784
+      3329.3604       2594.3114
+  23911817.4234   -4295962.73049  -3053217.34146  23911816.0764   23911821.3314
+       955.8414        744.8084
+  20786595.8284  -22458310.67949 -17484865.09748  20786595.6674   20786600.1374
+      -530.1654       -413.1144
+  22347830.7514  -13266421.19149 -10094927.05347  22347829.8024   22347833.2414
+     -2445.7174      -1905.7584
+  22090436.3754  -13505705.41549 -10009480.47647  22090434.9344   22090439.4734
+      1135.9024        885.1194
+  20314792.5624  -26263541.53349 -20444605.27248  20314791.9864   20314797.1764
+       -18.9114        -14.7354
+  23688640.7304   -5101490.49549  -3953331.92646  23688639.6344   23688643.3404
+     -3394.3064      -2644.9204
+ 05  1 20  8 47  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21538901.4154  -15147681.27149 -11776278.32647  21538901.0824   21538906.0494
+      2688.6884       2095.0844
+  24494319.4694   -1401461.38649  -1063372.31445  24494320.0054   24494321.6264
+      3329.6714       2594.5494
+  23906399.0824   -4324430.36849  -3075399.89746  23906398.6694   23906403.8584
+       941.6634        733.7614
+  20789641.9154  -22442304.26249 -17472392.57148  20789641.6484   20789645.9974
+      -536.9144       -418.3744
+  22361818.9024  -13192905.24349 -10037641.87047  22361819.1764   22361822.6724
+     -2455.3314      -1913.2524
+  22084005.2964  -13539494.54349 -10035809.67947  22084005.4434   22084009.6824
+      1116.6914        870.1504
+  20314936.6054  -26262786.03149 -20444016.59148  20314935.8624   20314940.8434
+       -31.4404        -24.4984
+  23708037.3994   -4999552.50449  -3873899.73446  23708037.3184   23708042.5154
+     -3401.4554      -2650.4764
+ 05  1 20  8 47 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21523590.7114  -15228142.97849 -11838975.77347  21523590.1324   21523594.8574
+      2675.4524       2084.7624
+  24475311.6974   -1501355.07849  -1141211.53145  24475310.4474   24475313.0214
+      3329.8914       2594.7194
+  23901063.5004   -4352468.05449  -3097247.44246  23901062.2594   23901069.1834
+       927.2504        722.5404
+  20792726.3414  -22426094.70049 -17459761.75048  20792726.2224   20792730.4994
+      -543.6844       -423.6494
+  22375864.0834  -13119101.04449  -9980132.09747  22375863.2704   22375867.2334
+     -2464.9294      -1920.7314
+  22077684.9444  -13572706.85749 -10061689.40747  22077685.1574   22077689.6724
+      1097.4554        855.1634
+  20315151.6114  -26261654.12849 -20443134.59648  20315151.2634   20315156.3854
+       -44.0034        -34.2884
+  23727475.4134   -4897400.73749  -3794300.93746  23727476.1994   23727480.7114
+     -3408.5254      -2655.9914
+ 05  1 20  8 48  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21508354.7544  -15308206.42849 -11901362.87347  21508354.5564   21508359.1994
+      2662.1304       2074.3914
+  24456299.0454   -1601256.49449  -1219056.77446  24456299.4024   24456302.8594
+      3330.1304       2594.9064
+  23895810.7024   -4380074.00249  -3118758.56646  23895809.3894   23895814.4474
+       912.8634        711.3084
+  20795849.2064  -22409682.86949 -17446973.31648  20795849.2954   20795853.8484
+      -550.4274       -428.9024
+  22389962.9704  -13045009.41249  -9922398.34347  22389962.4604   22389966.8274
+     -2474.5314      -1928.2114
+  22071476.0134  -13605341.05949 -10087118.66547  22071475.6924   22071479.4924
+      1078.1484        840.1154
+  20315438.8384  -26260144.65349 -20441958.37948  20315438.5324   20315443.6614
+       -56.6214        -44.1224
+  23746955.7884   -4795037.78149  -3714537.60546  23746955.2564   23746960.0684
+     -3415.5774      -2661.4854
+ 05  1 20  8 48 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21493196.5764  -15387869.84449 -11963438.27447  21493195.4544   21493199.2774
+      2648.7594       2063.9704
+  24437287.4964   -1701164.06149  -1296906.84446  24437287.0924   24437290.7904
+      3330.2844       2595.0294
+  23890640.1314   -4407246.59749  -3139932.04746  23890638.9504   23890644.0924
+       898.3844        700.0354
+  20799010.9494  -22393069.60949 -17434027.92648  20799010.7924   20799015.2854
+      -557.1334       -434.1284
+  22404115.7994  -12970630.88149  -9864441.02847  22404115.9924   22404119.3994
+     -2484.0884      -1935.6544
+  22065376.1804  -13637396.24549 -10112096.72847  22065375.7064   22065379.7704
+      1058.8264        825.0674
+  20315797.8434  -26258256.52249 -20440487.11048  20315797.7064   20315802.8144
+       -69.2634        -53.9724
+  23766474.9184   -4692466.35249  -3634611.83846  23766473.9814   23766478.6614
+     -3422.4634      -2666.8574
+ 05  1 20  8 49  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21478112.6424  -15467131.18749 -12025200.34847  21478111.9334   21478116.6074
+      2635.3414       2053.5154
+  24418278.4044   -1801076.69249  -1374760.85646  24418275.7884   24418277.8984
+      3330.4644       2595.1654
+  23885551.5304   -4433984.04849  -3160766.41246  23885551.8804   23885557.2354
+       883.8334        688.7024
+  20802210.3664  -22376255.55649 -17420926.06948  20802210.4514   20802214.6904
+      -563.8014       -439.3254
+  22418324.0434  -12895966.05449  -9806260.64047  22418323.8384   22418328.6954
+     -2493.5904      -1943.0524
+  22059386.0794  -13668871.14049 -10136622.61647  22059385.5434   22059390.5044
+      1039.4924        809.9884
+  20316229.5874  -26255988.81549 -20438720.07148  20316229.3424   20316234.2914
+       -81.9124        -63.8284
+  23786030.6794   -4589689.07649  -3554525.64546  23786031.9084   23786036.3314
+     -3429.2714      -2672.1544
+ 05  1 20  8 49 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21463106.1324  -15545988.63949 -12086647.72347  21463106.1184   21463111.0464
+      2621.8354       2042.9914
+  24399261.8074   -1900992.76349  -1452617.55846  24399261.0624   24399263.8344
+      3330.5674       2595.2434
+  23880546.6054   -4460284.83149  -3181260.51946  23880546.0394   23880551.4114
+       869.2884        677.3644
+  20805447.7304  -22359241.25049 -17407668.17948  20805448.0364   20805452.5254
+      -570.4664       -444.5164
+  22432587.0684  -12821015.50649  -9747857.60047  22432587.0464   22432591.4384
+     -2503.1044      -1950.4694
+  22053507.4024  -13699764.79849 -10160695.58847  22053506.6794   22053511.3454
+      1020.1054        794.8864
+  20316733.3044  -26253340.45849 -20436656.44448  20316733.1214   20316738.4054
+       -94.6274        -73.7334
+  23805627.8794   -4486708.75849  -3474281.23046  23805628.2014   23805633.2274
+     -3435.9984      -2677.3994
+ 05  1 20  8 50  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21448178.1484  -15624440.18149 -12147778.78047  21448177.4844   21448181.8664
+      2608.2764       2032.4254
+  24380247.8794   -2000910.87349  -1530475.83746  24380247.0824   24380250.5644
+      3330.6244       2595.2924
+  23875624.8864   -4486147.12449  -3201412.95446  23875624.8974   23875630.1044
+       854.6264        665.9494
+  20808723.6624  -22342026.92249 -17394254.43248  20808723.7574   20808728.3574
+      -577.1484       -449.7264
+  22446904.4924  -12745779.89649  -9689232.44047  22446903.6544   22446907.9694
+     -2512.6014      -1957.8614
+  22047739.7344  -13730076.18849 -10184314.85947  22047739.0164   22047743.0334
+      1000.6594        779.7334
+  20317310.3544  -26250310.30049 -20434295.31248  20317309.8024   20317315.0554
+      -107.3904        -83.6834
+  23825264.0484   -4383527.89749  -3393880.55746  23825263.7834   23825267.7364
+     -3442.6524      -2682.5894
+ 05  1 20  8 50 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21433326.0684  -15702483.81249 -12208592.00247  21433325.7014   21433330.8284
+      2594.6454       2021.8014
+  24361234.6534   -2100829.81349  -1608334.74646  24361233.3174   24361236.4624
+      3330.5864       2595.2634
+  23870787.3454   -4511569.27049  -3221222.36646  23870787.2364   23870793.7274
+       839.9244        654.4854
+  20812037.7334  -22324613.11849 -17380685.23648  20812037.4994   20812042.0844
+      -583.7784       -454.8904
+  22461275.9774  -12670259.59449  -9630385.44947  22461275.1674   22461279.4674
+     -2522.0574      -1965.2294
+  22042082.7274  -13759804.16749 -10207479.51847  22042082.1154   22042086.5054
+       981.1834        764.5554
+  20317959.6974  -26246897.37349 -20431635.90448  20317959.4584   20317964.4394
+      -120.1554        -93.6264
+  23844936.2874   -4280149.22949  -3313325.75546  23844936.1984   23844940.6674
+     -3449.2384      -2687.7304
+ 05  1 20  8 51  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21418553.6344  -15780117.84249 -12269086.05547  21418552.9474   21418557.1914
+      2580.9384       2011.1174
+  24342218.6854   -2200748.02849  -1686193.10946  24342219.8034   24342222.4424
+      3330.5884       2595.2654
+  23866033.9724   -4536549.73049  -3240687.68046  23866034.0474   23866037.8104
+       825.1934        643.0214
+  20815389.1154  -22307000.62249 -17366961.21948  20815389.0414   20815393.5794
+      -590.3974       -460.0504
+  22475700.4894  -12594455.39249  -9571317.23747  22475700.3454   22475704.0674
+     -2531.5484      -1972.6254
+  22036537.2174  -13788947.76949 -10230188.82447  22036536.2934   22036540.5184
+       961.6734        749.3594
+  20318682.3384  -26243100.63549 -20428677.42748  20318682.1034   20318686.9704
+      -132.9734       -103.6164
+  23864643.0884   -4176575.40949  -3232618.90845  23864644.3364   23864648.9734
+     -3455.7074      -2692.7614
+ 05  1 20  8 51 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21403857.8934  -15857340.48049 -12329259.54447  21403857.9154   21403862.1634
+      2567.2054       2000.4204
+  24323207.2714   -2300663.94849  -1764049.65046  24323207.0614   24323210.2084
+      3330.4884       2595.1874
+  23861364.5834   -4561086.85349  -3259807.51346  23861365.0134   23861370.3334
+       810.3614        631.4524
+  20818778.6634  -22289190.26349 -17353083.01848  20818778.3344   20818783.0444
+      -596.9864       -465.1844
+  22490178.1334  -12518367.89949  -9512028.27847  22490177.9324   22490181.9314
+     -2540.9754      -1979.9824
+  22031102.2594  -13817505.98949 -10252441.99747  22031101.6854   22031105.8574
+       942.1544        734.1514
+  20319478.0164  -26238919.08949 -20425419.11648  20319477.6824   20319482.7894
+      -145.8004       -113.6094
+  23884390.7794   -4072809.03449  -3151761.97045  23884391.0334   23884395.2454
+     -3462.0394      -2697.6884
+ 05  1 20  8 52  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21389242.1814  -15934149.67849 -12389110.86247  21389241.6104   21389245.7204
+      2553.3844       1989.6494
+  24304194.0654   -2400576.18649  -1841903.32945  24304193.6094   24304197.7314
+      3330.3434       2595.0734
+  23856779.0704   -4585179.10449  -3278580.65846  23856778.6304   23856784.0984
+       795.5294        619.8994
+  20822205.3734  -22271182.37249 -17339050.90948  20822205.1664   20822209.5524
+      -603.5554       -470.3024
+  22504712.1594  -12441997.76049  -9452519.07947  22504711.4204   22504716.3314
+     -2550.4014      -1987.3224
+  22025780.1394  -13845477.96749 -10274238.34047  22025778.8374   22025783.4214
+       922.6104        718.9194
+  20320347.1994  -26234351.78349 -20421860.20048  20320346.8034   20320351.9624
+      -158.7064       -123.6674
+  23904173.5654   -3968852.77249  -3070757.12545  23904172.0084   23904178.3524
+     -3468.3094      -2702.5684
+ 05  1 20  8 52 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21374705.1904  -16010543.43449 -12448638.47347  21374704.7304   21374708.4654
+      2539.5194       1978.8444
+  24285183.0174   -2500483.26849  -1919753.01845  24285182.2294   24285184.6584
+      3330.1014       2594.8864
+  23852280.5704   -4608824.58949  -3297005.72946  23852280.4574   23852286.3944
+       780.5774        608.2314
+  20825669.6174  -22252977.66649 -17324865.43048  20825669.2374   20825673.7424
+      -610.1164       -475.4164
+  22519297.1454  -12365345.62949  -9392790.16046  22519297.4784   22519301.4704
+     -2559.7884      -1994.6454
+  22020567.7134  -13872862.63349 -10295577.03847  22020567.1554   22020571.9224
+       903.0074        703.6404
+  20321290.1834  -26229397.70649 -20417999.90748  20321289.5794   20321294.5684
+      -171.6054       -133.7184
+  23923989.9894   -3864709.21549  -2989606.37145  23923991.4054   23923995.7884
+     -3474.5204      -2707.4144
+ 05  1 20  8 53  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21360246.8484  -16086520.32949 -12507841.26147  21360246.3054   21360250.6674
+      2525.5764       1967.9794
+  24266174.4404   -2600383.66049  -1997597.49545  24266172.8924   24266175.0234
+      3329.8804       2594.7084
+  23847864.9504   -4632022.00449  -3315081.61046  23847865.6894   23847871.7384
+       765.6154        596.5864
+  20829170.9664  -22234576.44449 -17310526.81448  20829171.0304   20829175.2514
+      -616.6484       -480.5084
+  22533938.7344  -12288412.12549  -9332841.96946  22533937.5874   22533941.1524
+     -2569.1574      -2001.9414
+  22015468.8194  -13899659.02449 -10316457.35347  22015468.3754   22015472.4024
+       883.4034        688.3684
+  20322306.3874  -26224055.78749 -20413837.39348  20322306.3274   20322311.0894
+      -184.5504       -143.8064
+  23943843.9464   -3760381.05049  -2908311.71645  23943843.9274   23943848.7034
+     -3480.6494      -2712.1944
+ 05  1 20  8 53 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21345868.1754  -16162078.27249 -12566717.58747  21345867.7234   21345872.9474
+      2511.5984       1957.0934
+  24247164.1594   -2700276.05349  -2075435.73045  24247163.7384   24247165.7774
+      3329.6084       2594.4974
+  23843537.6284   -4654769.76149  -3332807.12446  23843536.6354   23843541.8354
+       750.5894        584.8704
+  20832710.5154  -22215979.37649 -17296035.58348  20832709.9774   20832714.1884
+      -623.1524       -485.5744
+  22548631.6004  -12211197.71149  -9272674.90146  22548632.0444   22548635.9414
+     -2578.4874      -2009.2104
+  22010481.7424  -13925866.44649 -10336878.72247  22010481.1444   22010485.7104
+       863.7524        673.0604
+  20323396.9614  -26218325.08949 -20409371.92148  20323396.6774   20323401.8244
+      -197.5114       -153.9044
+  23963729.3604   -3655871.01549  -2826875.32445  23963730.6394   23963736.8754
+     -3486.6144      -2716.8384
+ 05  1 20  8 54  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21331569.5554  -16237215.49149 -12625266.08047  21331569.4934   21331574.7414
+      2497.5634       1946.1554
+  24228156.5784   -2800158.86549  -2153266.49246  24228157.5524   24228159.2004
+      3329.2604       2594.2244
+  23839293.9864   -4677066.30249  -3350181.04546  23839294.4404   23839299.8364
+       735.5764        573.1804
+  20836286.0904  -22197186.75849 -17281391.98648  20836286.0824   20836290.6864
+      -629.6514       -490.6354
+  22563379.1414  -12133703.29449  -9212289.65746  22563378.5054   22563381.8274
+     -2587.8134      -2016.4744
+  22005606.2054  -13951483.91649 -10356840.39447  22005605.9544   22005610.5744
+       844.0854        657.7254
+  20324561.8814  -26212204.73749 -20404602.83548  20324561.1974   20324566.3104
+      -210.5064       -164.0284
+  23983652.9314   -3551181.59849  -2745299.21345  23983654.2914   23983657.4414
+     -3492.6084      -2721.5154
+ 05  1 20  8 54 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21317352.2844  -16311930.16749 -12683485.30747  21317351.6104   21317356.7514
+      2483.4394       1935.1454
+  24209153.7864   -2900030.42249  -2231088.46945  24209152.4564   24209153.9334
+      3328.7604       2593.8374
+  23835138.2704   -4698910.09949  -3367202.14446  23835138.2624   23835142.7944
+       720.4024        561.3514
+  20839899.0784  -22178199.13549 -17266596.43048  20839899.0224   20839903.7654
+      -636.1704       -495.7194
+  22578177.7244  -12055929.46649  -9151686.66646  22578178.1294   22578181.9474
+     -2597.1234      -2023.7304
+  22000844.8624  -13976510.70449 -10376341.78647  22000844.0514   22000848.8294
+       824.3614        642.3564
+  20325800.6474  -26205693.69449 -20399529.31848  20325800.3114   20325805.6494
+      -223.5704       -174.2114
+  24003607.7974   -3446315.34549  -2663585.23545  24003609.0714   24003612.8274
+     -3498.5134      -2726.1174
+ 05  1 20  8 55  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21303216.0424  -16386220.51749 -12741373.89447  21303215.6334   21303219.4654
+      2469.2714       1924.1064
+  24190151.4774   -2999889.50549  -2308900.71545  24190149.8354   24190151.5374
+      3328.3894       2593.5514
+  23831066.6604   -4720299.59849  -3383869.30746  23831067.1054   23831071.6714
+       705.2594        549.5424
+  20843549.6084  -22159017.51149 -17251649.71948  20843549.4364   20843553.7674
+      -642.5924       -500.7214
+  22593031.1644  -11977877.03149  -9090866.60846  22593030.9334   22593035.5324
+     -2606.3444      -2030.9154
+  21996195.0834  -14000945.85349 -10395382.15647  21996193.9534   21996198.8654
+       804.6554        627.0054
+  20327114.1284  -26198790.93249 -20394150.57248  20327113.8484   20327119.1774
+      -236.6214       -184.3814
+  24023596.5384   -3341274.99349  -2581735.60845  24023597.4734   24023600.2894
+     -3504.1114      -2730.4754
+ 05  1 20  8 55 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21289160.6704  -16460084.73849 -12798930.42847  21289159.4944   21289163.4144
+      2455.0404       1913.0194
+  24171151.9994   -3099734.56449  -2386702.05946  24171150.6284   24171151.4854
+      3327.9264       2593.1944
+  23827083.2664   -4741233.57349  -3400181.49346  23827083.7384   23827089.6404
+       690.0384        537.6994
+  20847236.5734  -22139642.39449 -17236552.23948  20847236.3214   20847240.8344
+      -649.0664       -505.7644
+  22607938.0384  -11899546.59249  -9029829.90146  22607936.5934   22607939.7994
+     -2615.6394      -2038.1654
+  21991658.1324  -14024788.69049 -10413960.98847  21991657.1924   21991661.6324
+       784.8944        611.6124
+  20328502.6534  -26191495.59449 -20388465.91548  20328502.1774   20328507.5514
+      -249.7224       -194.5874
+  24043618.7204   -3236063.07449  -2499752.25145  24043618.6324   24043623.8784
+     -3509.8324      -2734.9374
+ 05  1 20  8 56  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21275184.9224  -16533521.18749 -12856153.63348  21275184.8354   21275189.5774
+      2440.7324       1901.8704
+  24152153.9064   -3199563.82649  -2464491.09446  24152153.6964   24152155.0724
+      3327.3004       2592.7014
+  23823186.5974   -4761710.23349  -3416137.31246  23823185.9234   23823191.4404
+       674.7924        525.8184
+  20850960.3274  -22120074.24149 -17221304.33248  20850960.2234   20850964.4864
+      -655.4774       -510.7624
+  22622894.6364  -11820938.91449  -8968577.17146  22622894.7524   22622898.8644
+     -2624.8764      -2045.3694
+  21987233.2134  -14048038.25549 -10432077.53847  21987232.8954   21987237.2854
+       765.0734        596.1624
+  20329965.4424  -26183806.66949 -20382474.55848  20329965.0904   20329970.3944
+      -262.8644       -204.8294
+  24063671.7164   -3130682.18549  -2417637.29945  24063671.9494   24063677.9384
+     -3515.4274      -2739.2924
+ 05  1 20  8 56 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21261292.4424  -16606528.21349 -12913042.20648  21261292.1624   21261296.6014
+      2426.4114       1890.7064
+  24133160.8754   -3299375.89149  -2542266.67745  24133160.2384   24133161.4334
+      3326.7624       2592.2814
+  23819379.1444   -4781728.33549  -3431735.80046  23819377.0154   23819383.2794
+       659.5004        513.8924
+  20854720.8964  -22100313.36549 -17205906.25048  20854720.5594   20854724.8094
+      -661.8994       -515.7664
+  22637907.0734  -11742054.59249  -8907108.88346  22637906.5444   22637910.1744
+     -2634.0454      -2052.5074
+  21982922.3424  -14070693.90149 -10449731.28647  21982921.7464   21982925.6614
+       745.2694        580.7334
+  20331504.3824  -26175723.25549 -20376175.81148  20331503.7764   20331508.8374
+      -276.0284       -215.0864
+  24083757.2574   -3025134.87749  -2335392.66045  24083756.7654   24083760.7464
+     -3520.9514      -2743.5984
+ 05  1 20  8 57  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21247481.5474  -16679103.87349 -12969594.66947  21247480.8704   21247485.6944
+      2411.9644       1879.4544
+  24114171.3244   -3399169.17849  -2620027.69845  24114170.4944   24114170.0144
+      3326.1764       2591.8224
+  23815656.3574   -4801286.39949  -3446975.84646  23815655.8354   23815661.2974
+       644.1474        501.9354
+  20858517.3644  -22080360.47349 -17190358.54148  20858517.2114   20858521.8184
+      -668.3044       -520.7574
+  22652970.0654  -11662894.33349  -8845425.57346  22652969.9304   22652973.1264
+     -2643.2814      -2059.7104
+  21978724.2754  -14092754.98649 -10466921.74347  21978723.7944   21978727.4674
+       725.4444        565.2774
+  20333117.8934  -26167244.40749 -20369568.92948  20333117.3544   20333122.3364
+      -289.2524       -225.3924
+  24103871.1024   -2919423.85749  -2253020.37545  24103873.1924   24103879.8154
+     -3526.4344      -2747.8724
+ 05  1 20  8 57 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21233752.7264  -16751246.48049 -13025809.67648  21233752.7464   21233757.9134
+      2397.5094       1868.1894
+  24095183.9804   -3498942.03349  -2697772.74545  24095184.2414   24095184.3894
+      3325.3914       2591.2084
+  23812022.8034   -4820383.00449  -3461856.27546  23812021.8224   23812027.7094
+       628.7104        489.8994
+  20862351.0154  -22060216.12849 -17174661.64448  20862350.8324   20862355.3154
+      -674.6754       -525.7214
+  22668086.5874  -11583459.11549  -8783528.01046  22668085.2154   22668089.3954
+     -2652.4024      -2066.7964
+  21974639.2654  -14114220.85049 -10483648.39047  21974638.6474   21974642.3964
+       705.5774        549.7974
+  20334806.4784  -26158369.28349 -20362653.25348  20334805.9694   20334811.1214
+      -302.4574       -235.6854
+  24124019.2994   -2813551.57949  -2170522.48545  24124019.9554   24124023.9304
+     -3531.7384      -2752.0074
+ 05  1 20  8 58  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21220108.1284  -16822954.49849 -13081686.06048  21220107.1474   21220112.0234
+      2383.0114       1856.8924
+  24076203.7834   -3598693.12149  -2775500.83746  24076202.3154   24076203.2244
+      3324.7054       2590.6744
+  23808475.9214   -4839016.81749  -3476376.15846  23808475.4194   23808481.8794
+       613.2704        477.8684
+  20866220.7544  -22039880.42749 -17158815.64948  20866220.3614   20866225.1084
+      -681.0394       -530.6794
+  22683254.4464  -11503749.66649  -8721416.75546  22683254.6384   22683258.1334
+     -2661.5164      -2073.8954
+  21970667.8864  -14135090.87649 -10499910.76247  21970667.4834   21970671.5104
+       685.7344        534.3404
+  20336570.6034  -26149096.90149 -20355428.03348  20336570.2884   20336575.4384
+      -315.7224       -246.0164
+  24144196.6114   -2707520.69449  -2087900.96345  24144197.0374   24144201.5294
+     -3536.9284      -2756.0524
+ 05  1 20  8 58 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21206545.5174  -16894226.19249 -13137222.44648  21206545.1424   21206549.6634
+      2368.4384       1845.5354
+  24057224.3654   -3698420.79349  -2853210.73346  24057225.2904   24057224.9684
+      3323.7974       2589.9644
+  23805019.8994   -4857186.54549  -3490534.33946  23805019.8594   23805024.5764
+       597.7384        465.7664
+  20870126.3904  -22019354.23649 -17142821.23048  20870126.2964   20870130.8824
+      -687.3614       -535.6064
+  22698475.2154  -11423766.50349  -8659092.23046  22698474.8874   22698478.1784
+     -2670.6754      -2081.0484
+  21966809.7504  -14155364.31049 -10515708.23847  21966809.0584   21966813.3144
+       665.8594        518.8504
+  20338411.3694  -26139426.38249 -20347892.57748  20338410.6964   20338415.8144
+      -329.0084       -256.3724
+  24164403.3814   -2601333.72549  -2005157.85845  24164403.6264   24164405.1694
+     -3542.1224      -2760.0994
+ 05  1 20  8 59  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21193065.8374  -16965059.80249 -13192417.45548  21193065.7504   21193069.9644
+      2353.8114       1834.1374
+  24038253.1954   -3798123.50049  -2930901.11646  24038251.4154   24038251.8104
+      3322.8864       2589.2644
+  23801649.1704   -4874890.65649  -3504329.76446  23801649.6894   23801653.7634
+       582.2414        453.6894
+  20874068.5544  -21998638.10149 -17126678.78448  20874068.5444   20874073.0224
+      -693.6924       -540.5394
+  22713746.6804  -11343510.42449  -8596555.04546  22713746.4724   22713750.8764
+     -2679.7684      -2088.1244
+  21963064.4984  -14175040.65449 -10531040.44547  21963064.6134   21963069.3124
+       645.9194        503.3114
+  20340326.8284  -26129356.95249 -20340046.27248  20340326.7574   20340332.0774
+      -342.3044       -266.7304
+  24184640.4604   -2494993.24149  -1922295.09445  24184639.0664   24184646.3194
+     -3547.1514      -2764.0134
+ 05  1 20  8 59 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21179670.7354  -17035453.95249 -13247270.03448  21179670.1954   21179674.4144
+      2339.1374       1822.7074
+  24019285.1464   -3897799.37149  -3008570.62746  24019284.4754   24019284.1004
+      3322.0094       2588.5834
+  23798369.9504   -4892127.73549  -3517761.24346  23798369.1694   23798373.9534
+       566.6334        441.5324
+  20878047.5274  -21977732.19849 -17110388.48348  20878046.9524   20878051.6274
+      -700.0234       -545.4724
+  22729070.9184  -11262982.14349  -8533805.74346  22729070.2994   22729074.4854
+     -2688.7364      -2095.1184
+  21959435.4224  -14194119.09049 -10545906.77847  21959434.5134   21959438.3714
+       625.9664        487.7684
+  20342319.1514  -26118887.57749 -20331888.32048  20342318.8414   20342324.1794
+      -355.6684       -277.1444
+  24204903.8524   -2388501.80249  -1839314.76545  24204904.4564   24204908.7814
+     -3552.1564      -2767.9274
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20  9  0  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21166358.5854  -17105406.85749 -13301778.78748  21166358.3364   21166363.0374
+      2324.3524       1811.1784
+  24000321.3854   -3997447.15549  -3086218.23646  24000320.7674   24000320.8354
+      3321.0634       2587.8444
+  23795178.5504   -4908896.73049  -3530827.97346  23795178.2384   23795183.8714
+       550.9914        429.3424
+  20882061.2514  -21956637.18149 -17093950.81948  20882061.3534   20882065.7624
+      -706.3174       -550.3754
+  22744446.9814  -11182182.71449  -8470845.16246  22744445.4614   22744451.1104
+     -2697.8464      -2102.2234
+  21955917.6224  -14212599.12149 -10560306.79647  21955917.5304   21955922.2124
+       605.9684        472.1804
+  20344387.7634  -26108017.62949 -20323418.22948  20344387.7204   20344392.7684
+      -369.0184       -287.5454
+  24225196.5284   -2281861.87349  -1756218.68045  24225195.4834   24225201.9494
+     -3557.0804      -2771.7474
+ 05  1 20  9  0 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21153132.0934  -17174916.77949 -13355942.35048  21153131.2564   21153136.2134
+      2309.5754       1799.6684
+  23981365.6414   -4097064.95949  -3163842.49846  23981365.0394   23981364.5074
+      3320.0214       2587.0254
+  23792078.3784   -4925196.30549  -3543528.96246  23792078.2364   23792082.3974
+       535.3234        417.1354
+  20886111.5564  -21935353.61049 -17077366.22048  20886111.0074   20886116.0354
+      -712.6064       -555.2764
+  22759873.6114  -11101112.63749  -8407673.70546  22759873.9514   22759877.4804
+     -2706.8604      -2109.2464
+  21952515.5094  -14230480.37349 -10574240.24747  21952515.2184   21952519.7424
+       586.0344        456.6514
+  20346532.9584  -26096746.15449 -20314635.27448  20346532.5114   20346537.6434
+      -382.4434       -298.0074
+  24245517.4934   -2175076.14949  -1673009.00945  24245517.7034   24245522.5924
+     -3561.9354      -2775.5404
+ 05  1 20  9  1  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21139988.9714  -17243982.28449 -13409759.62148  21139988.4184   21139993.2984
+      2294.7654       1788.1264
+  23962413.7824   -4196651.11949  -3241442.09246  23962413.5394   23962414.3224
+      3319.0694       2586.2864
+  23789064.2874   -4941025.16149  -3555863.09946  23789064.8514   23789069.1624
+       519.6224        404.9004
+  20890197.4984  -21913882.09849 -17060635.18748  20890197.3414   20890201.7104
+      -718.8534       -560.1454
+  22775352.9384  -11019772.82649  -8344292.05046  22775351.5354   22775355.5344
+     -2715.8034      -2116.2074
+  21949227.6034  -14247762.19649 -10587706.59447  21949226.2554   21949230.6864
+       566.0664        441.0804
+  20348754.1314  -26085072.33749 -20305538.81448  20348753.9224   20348759.1634
+      -395.8504       -308.4554
+  24265867.4544   -2068146.98249  -1589687.61645  24265865.2734   24265871.6704
+     -3566.5604      -2779.1274
+ 05  1 20  9  1 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21126931.5884  -17312601.73749 -13463229.32348  21126931.2504   21126935.1494
+      2279.8794       1776.5294
+  23943468.1274   -4296204.15649  -3319015.87546  23943468.0194   23943469.4034
+      3317.8574       2585.3554
+  23786140.3144   -4956381.92049  -3567829.39646  23786142.2644   23786147.9544
+       503.8954        392.6444
+  20894319.0694  -21892222.97849 -17043757.95048  20894318.8604   20894323.1114
+      -725.0804       -565.0004
+  22790882.5904  -10938164.11049  -8280700.84946  22790882.1434   22790884.8424
+     -2724.7834      -2123.2124
+  21946052.8124  -14264444.03949 -10600705.43847  21946052.0964   21946056.8734
+       546.0504        425.4924
+  20351052.2644  -26072995.43649 -20296128.25648  20351052.0334   20351057.4194
+      -409.2844       -318.9214
+  24286242.2314   -1961077.00049  -1506256.47745  24286237.2914   24286244.2364
+     -3571.2364      -2782.7794
+ 05  1 20  9  2  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21113958.4434  -17380773.44949 -13516350.12048  21113957.9844   21113962.6474
+      2264.8934       1764.8514
+  23924531.7474   -4395722.58449  -3396562.68646  23924530.9794   23924532.3094
+      3316.6614       2584.4144
+  23783311.7434   -4971265.46649  -3579426.96946  23783311.5434   23783315.6474
+       488.0554        380.2924
+  20898475.8794  -21870376.72849 -17026734.90148  20898475.8894   20898480.6254
+      -731.3394       -569.8754
+  22806461.5604  -10856287.11449  -8216900.60746  22806462.3984   22806465.7754
+     -2733.6474      -2130.1034
+  21942991.3154  -14280525.61449 -10613236.53247  21942991.4534   21942996.2894
+       526.0434        409.9024
+  20353427.5474  -26060514.49949 -20286402.86248  20353427.1334   20353432.4294
+      -422.7884       -329.4474
+  24306643.5214   -1853868.65049  -1422717.58645  24306642.8194   24306645.8684
+     -3575.8854      -2786.4044
+ 05  1 20  9  2 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21101070.6074  -17448495.84549 -13569120.80948  21101070.8764   21101075.2024
+      2249.9114       1753.1784
+  23905600.1074   -4495204.43449  -3474081.03946  23905599.4654   23905602.0164
+      3315.4624       2583.4784
+  23780567.5864   -4985674.66049  -3590654.89446  23780567.6964   23780572.9864
+       472.2484        367.9784
+  20902668.7604  -21848343.79249 -17009566.39848  20902668.6494   20902673.1024
+      -737.5664       -574.7274
+  22822095.3334  -10774142.88249  -8152892.13946  22822094.8634   22822098.0574
+     -2742.5624      -2137.0514
+  21940047.0514  -14296006.38149 -10625299.46547  21940045.7024   21940050.4474
+       506.0004        394.2774
+  20355879.8074  -26047628.74549 -20276362.01948  20355879.3724   20355884.2464
+      -436.2954       -339.9714
+  24327068.7554   -1746524.56249  -1339072.86445  24327066.4424   24327075.3394
+     -3580.4054      -2789.9234
+ 05  1 20  9  3  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21088270.1034  -17515767.45049 -13621540.22848  21088269.6904   21088273.8194
+      2234.8394       1741.4334
+  23886674.6464   -4594648.16749  -3551569.63646  23886675.4774   23886678.0494
+      3314.0874       2582.4024
+  23777916.7644   -4999608.20449  -3601512.18846  23777916.4734   23777921.6244
+       456.4004        355.6304
+  20906896.9124  -21826124.48649 -16992252.65048  20906896.6914   20906901.1144
+      -743.7544       -579.5494
+  22837777.2074  -10691732.17449  -8088676.01046  22837777.4994   22837780.5444
+     -2751.4484      -2143.9854
+  21937214.8214  -14310885.79449 -10636893.82547  21937214.7424   21937218.4384
+       485.9464        378.6564
+  20358409.0854  -26034337.27649 -20266005.03748  20358408.5294   20358413.8894
+      -449.8214       -350.5114
+  24347520.3224   -1639047.29349  -1255324.29645  24347521.3334   24347523.0504
+     -3584.7374      -2793.3034
+ 05  1 20  9  3 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21075554.3224  -17582586.96649 -13673607.36948  21075553.6544   21075558.6374
+      2219.7824       1729.7014
+  23867758.9524   -4694051.80849  -3629027.04046  23867759.5634   23867762.2404
+      3312.7774       2581.3904
+  23775355.8904   -5013064.91849  -3611997.94646  23775356.6814   23775360.1364
+       440.4634        343.2124
+  20911160.1924  -21803719.63649 -16974794.33848  20911160.2794   20911164.8564
+      -749.9014       -584.3414
+  22853511.3464  -10609055.74849  -8024252.82546  22853509.8064   22853513.1624
+     -2760.3404      -2150.9324
+  21934498.4334  -14325163.64349 -10648019.43347  21934497.4904   21934501.7394
+       465.9064        363.0424
+  20361015.2374  -26020639.35149 -20255331.33548  20361014.9754   20361020.3514
+      -463.3714       -361.0704
+  24367997.2824   -1531439.06549  -1171473.66944  24367998.1284   24368002.3954
+     -3589.0484      -2796.6654
+ 05  1 20  9  4  0.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21062924.8234  -17648952.55349 -13725320.80048  21062925.0614   21062929.7644
+      2204.6254       1717.8884
+  23848854.6304   -4793414.07749  -3706452.19346  23848851.9714   23848854.4554
+      3311.3724       2580.2924
+  23772887.1274   -5026043.61049  -3622111.19746  23772886.7104   23772890.7214
+       424.4974        330.7814
+  20915459.0454  -21781129.56149 -16957191.71148  20915458.9834   20915463.4804
+      -756.0914       -589.1624
+  22869293.0064  -10526114.50449  -7959623.30346  22869292.0584   22869295.4824
+     -2769.0704      -2157.7424
+  21931895.3034  -14338839.64549 -10658676.05147  21931894.9164   21931899.7594
+       445.8354        347.4044
+  20363699.6994  -26006534.14449 -20244340.27648  20363699.2094   20363704.6814
+      -476.9764       -371.6714
+  24388497.2384   -1423702.58058  -1087523.20554  24388498.4854   24388497.2824
+     -3593.4054      -2800.0554
+ 05  1 20  9  4 30.0000000  0  8G16G23G 6G25G14G20G 1G30
+  21050383.5034  -17714862.82849 -13776679.44148  21050382.8754   21050387.4594
+      2189.4084       1706.0344
+  23829952.4684   -4892733.11749  -3783843.64546  23829952.1844   23829955.2214
+      3309.8884       2579.1224
+  23770508.3474   -5038543.21349  -3631851.15646  23770507.5314   23770511.5454
+       408.5294        318.3354
+  20919793.4114  -21758354.78349 -16939445.15048  20919793.0154   20919797.5934
+      -762.2304       -593.9464
+  22885124.2414  -10442909.15449  -7894787.97546  22885124.9024   22885129.8814
+     -2777.8524      -2164.5594
+  21929408.7344  -14351913.35649 -10668863.36647  21929407.2524   21929411.7454
+       425.7414        331.7474
+  20366461.3764  -25992020.86349 -20233031.23448  20366461.1584   20366466.5894
+      -490.5914       -382.2784
+  24409025.1734   -1315840.28258  -1003474.64054  24409025.4054   24409025.9854
+     -3597.4234      -2803.1854
+ 05  1 20  9  5  0.0000000  0  7G16G23G 6G25G14G20G 1
+  21037927.6644  -17780316.26949 -13827682.11348  21037927.5164   21037932.1854
+      2174.1434       1694.1354
+  23811060.2964   -4992007.31849  -3861200.15546  23811060.3754   23811064.5714
+      3308.3374       2577.9204
+  23768220.6724   -5050562.53149  -3641216.83646  23768220.4734   23768226.2524
+       392.4794        305.8274
+  20924162.7314  -21735395.67449 -16921554.94548  20924162.2424   20924166.4284
+      -768.3654       -598.7274
+  22901008.7664  -10359440.80649  -7829747.70546  22901007.7114   22901012.9434
+     -2786.6774      -2171.4374
+  21927034.0844  -14364384.49049 -10678581.13847  21927034.4674   21927038.6744
+       405.6494        316.0914
+  20369300.4344  -25977098.82949 -20221403.69648  20369300.4844   20369305.9204
+      -504.2304       -392.9094
+ 05  1 20  9  5 30.0000000  0  7G16G23G 6G25G14G20G 1
+  21025559.2664  -17845311.73249 -13878327.91148  21025559.0654   21025563.7644
+      2158.8704       1682.2364
+  23792180.8204   -5091234.75349  -3938520.25046  23792179.5284   23792181.2484
+      3306.7744       2576.7024
+  23766023.7414   -5062100.52549  -3650207.49746  23766023.4754   23766030.0364
+       376.4244        293.3254
+  20928566.4644  -21712252.60849 -16903521.40148  20928566.4284   20928570.4774
+      -774.5134       -603.5194
+  22916943.6174  -10275710.27149  -7764503.16046  22916941.9034   22916946.4784
+     -2795.3854      -2178.2204
+  21924776.9724  -14376252.66749 -10687829.07847  21924775.8724   21924779.8164
+       385.5444        300.4244
+  20372218.5454  -25961767.32349 -20209457.08348  20372218.1854   20372223.5134
+      -517.8914       -403.5534
+ 05  1 20  9  6  0.0000000  0  7G16G23G 6G25G14G20G 1
+  21013279.0614  -17909847.46249 -13928615.48148  21013278.5004   21013283.0844
+      2143.5184       1670.2754
+  23773305.8484   -5190414.08849  -4015802.88546  23773306.2934   23773307.7904
+      3305.0564       2575.3794
+  23763921.5824   -5073156.20949  -3658822.32546  23763920.9554   23763925.3794
+       360.3204        280.7754
+  20933005.0124  -21688925.97349 -16885344.80048  20933004.8664   20933009.4254
+      -780.6094       -608.2694
+  22932924.1134  -10191718.38149  -7699054.94746  22932924.2444   22932929.2694
+     -2804.0444      -2184.9694
+  21922632.7514  -14387517.64049 -10696606.98047  21922631.8634   21922636.1214
+       365.4384        284.7534
+  20375214.4474  -25946025.41349 -20197190.66048  20375213.7224   20375218.9064
+      -531.5794       -414.2204
+ 05  1 20  9  6 30.0000000  0  7G16G23G 6G25G14G20G 1
+  21001086.1064  -17973922.08749 -13978543.75448  21001085.7174   21001089.6064
+      2128.1184       1658.2734
+  23754442.5104   -5289543.22349  -4093046.36346  23754441.4604   23754444.9384
+      3303.4414       2574.1044
+  23761909.2004   -5083728.44949  -3667060.40246  23761907.7764   23761913.8764
+       344.1994        268.2184
+  20937478.6044  -21665416.19649 -16867025.50648  20937478.9314   20937483.2434
+      -786.7204       -613.0284
+  22948959.1974  -10107466.17349  -7633403.87246  22948957.4414   22948961.9154
+     -2812.7614      -2191.7584
+  21920603.9874  -14398179.36849 -10704914.83147  21920603.3564   21920607.8684
+       345.3394        269.0974
+  20378287.6274  -25929872.57749 -20184604.03548  20378287.5844   20378292.8234
+      -545.2994       -424.9104
+ 05  1 20  9  7  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20988980.7644  -18037534.22449 -14028111.64348  20988980.5844   20988985.0494
+      2112.7044       1646.2584
+  23735590.1484   -5388620.52949  -4170249.45246  23735587.7784   23735590.7094
+      3301.6974       2572.7534
+  23759989.7124   -5093816.24049  -3674921.01346  23759989.4304   23759993.3984
+       328.0164        255.5894
+  20941987.5464  -21641723.80849 -16848563.90348  20941987.3004   20941991.9334
+      -792.7654       -617.7404
+  22965038.5934  -10022954.17649  -7567550.40546  22965038.2874   22965044.9014
+     -2821.3124      -2198.4154
+  21918689.8894  -14408237.63349 -10712752.43647  21918689.0144   21918693.6024
+       325.2234        253.4164
+  20381440.2894  -25913308.08949 -20171696.64548  20381439.8454   20381444.9264
+      -559.0084       -435.5934
+ 05  1 20  9  7 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20976963.6284  -18100682.46349 -14077318.05248  20976963.6794   20976968.0204
+      2097.1834       1634.1684
+  23716744.5784   -5487644.27349  -4247410.81746  23716745.0394   23716747.3454
+      3299.8694       2571.3374
+  23758162.5494   -5103418.43349  -3682403.22446  23758163.3034   23758167.7054
+       311.7974        242.9754
+  20946530.6404  -21617849.23449 -16829960.35048  20946530.6684   20946535.0564
+      -798.8564       -622.4834
+  22981172.2014   -9938183.47149  -7501495.32246  22981171.1264   22981175.5184
+     -2829.9924      -2205.1914
+  21916890.8464  -14417692.31249 -10720119.73247  21916890.6414   21916894.4294
+       305.0904        237.7384
+  20384670.6814  -25896331.17949 -20158467.88648  20384670.3594   20384675.5154
+      -572.7904       -446.3304
+ 05  1 20  9  8  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20965036.4504  -18163365.44649 -14126161.92448  20965035.9144   20965039.8734
+      2081.6614       1622.0754
+  23697914.3604   -5586612.68949  -4324529.05546  23697911.8084   23697913.5924
+      3297.9944       2569.8624
+  23756427.9424   -5112534.05949  -3689506.33046  23756428.2784   23756432.2234
+       295.5924        230.3314
+  20951108.4884  -21593792.94349 -16811215.19648  20951108.4154   20951112.8804
+      -804.8894       -627.1854
+  22997353.5564   -9853154.97849  -7435239.34846  22997352.8994   22997356.8864
+     -2838.6014      -2211.9064
+  21915205.8364  -14426543.12349 -10727016.46747  21915205.5944   21915209.9584
+       284.9294        222.0244
+  20387979.5424  -25878941.15249 -20144917.22448  20387979.3284   20387984.8474
+      -586.5614       -457.0594
+ 05  1 20  9  8 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20953196.5554  -18225581.84949 -14174642.23648  20953196.4804   20953200.3884
+      2066.0854       1609.9364
+  23679090.4584   -5685523.96449  -4401602.79146  23679089.8084   23679091.9854
+      3296.0664       2568.3664
+  23754784.7744   -5121162.37949  -3696229.68946  23754786.0634   23754789.8604
+       279.3214        217.6474
+  20955720.6884  -21569555.49049 -16792328.88248  20955720.6434   20955724.8744
+      -810.9344       -631.8964
+  23013581.9864   -9767869.73049  -7368783.35046  23013581.3274   23013584.9854
+     -2847.1534      -2218.5684
+  21913637.4274  -14434789.66449 -10733442.35847  21913637.0654   21913640.6494
+       264.8224        206.3504
+  20391367.6074  -25861137.30549 -20131044.10248  20391367.3264   20391372.9494
+      -600.3704       -467.8174
+ 05  1 20  9  9  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20941445.9814  -18287330.12749 -14222757.76848  20941445.6194   20941450.2394
+      2050.4664       1597.7664
+  23660278.1734   -5784376.31049  -4478630.58946  23660278.8634   23660280.6654
+      3294.0834       2566.8244
+  23753237.4754   -5129302.17949  -3702572.39046  23753236.2604   23753240.3634
+       263.0224        204.9554
+  20960367.2724  -21545137.02049 -16773301.53048  20960367.1944   20960371.7774
+      -816.9704       -636.6004
+  23029861.0314   -9682328.54849  -7302127.88746  23029859.2714   23029863.6544
+     -2855.5924      -2225.1454
+  21912182.7874  -14442432.16049 -10739397.55547  21912182.0604   21912186.8204
+       244.6934        190.6634
+  20394834.6654  -25842918.97849 -20116848.00248  20394834.2954   20394839.6164
+      -614.1964       -478.5944
+ 05  1 20  9  9 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20929784.5844  -18348609.13449 -14270507.62348  20929784.4844   20929789.3864
+      2034.8024       1585.5564
+  23641477.8354   -5883168.08049  -4555611.17846  23641479.1734   23641481.1594
+      3292.0514       2565.2334
+  23751780.2834   -5136952.74549  -3708533.86446  23751780.5634   23751785.1244
+       246.7164        192.2514
+  20965048.9404  -21520537.77549 -16754133.30848  20965048.5394   20965052.7674
+      -822.9794       -641.2844
+  23046185.7474   -9596532.36849  -7235273.73346  23046184.8614   23046190.2544
+     -2864.1144      -2231.7864
+  21910843.7964  -14449470.48449 -10744881.97347  21910842.9764   21910847.1434
+       224.5324        174.9604
+  20398380.4794  -25824285.41649 -20102328.35548  20398380.0124   20398385.4594
+      -628.0474       -489.3874
+ 05  1 20  9 10  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20918214.0354  -18409417.44649 -14317890.71548  20918213.5464   20918217.8394
+      2019.0874       1573.3134
+  23622692.7554   -5981897.35549  -4632543.08246  23622691.9754   23622693.8774
+      3289.9094       2563.5644
+  23750418.2354   -5144112.98549  -3714113.26346  23750417.7834   23750422.7304
+       230.4014        179.5324
+  20969763.6314  -21495758.13449 -16734824.50748  20969763.5434   20969768.5264
+      -828.9804       -645.9614
+  23062561.6124   -9510482.10149  -7168221.58746  23062560.5524   23062565.6384
+     -2872.5554      -2238.3504
+  21909618.7494  -14455904.70549 -10749895.65847  21909618.3344   21909622.5054
+       204.4024        159.2724
+  20402005.6224  -25805236.00949 -20087484.67748  20402005.0774   20402010.5554
+      -641.9264       -500.2014
+ 05  1 20  9 10 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20906732.5944  -18469753.76549 -14364906.01348  20906731.8764   20906735.9534
+      2003.3384       1561.0444
+  23603916.6494   -6080562.39549  -4709424.94546  23603916.2634   23603918.4004
+      3287.7944       2561.9194
+  23749149.3434   -5150782.09149  -3719309.97146  23749148.4834   23749153.9434
+       213.9174        166.6824
+  20974513.2314  -21470798.90549 -16715375.77648  20974513.3704   20974517.9424
+      -834.9744       -650.6294
+  23078983.8484   -9424178.84649  -7100972.32946  23078983.3084   23078987.0864
+     -2881.0004      -2244.9374
+  21908510.1124  -14461734.71449 -10754438.53247  21908509.5544   21908513.7684
+       184.2694        143.5874
+  20405709.5824  -25785770.27949 -20072316.59448  20405709.2474   20405714.4644
+      -655.8094       -511.0164
+ 05  1 20  9 11  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20895340.1134  -18529616.91349 -14411552.61648  20895340.2384   20895344.6864
+      1987.5354       1548.7294
+  23585156.2944   -6179161.18549  -4786255.15646  23585154.6044   23585155.5074
+      3285.4564       2560.0874
+  23747972.6044   -5156959.13949  -3724123.24446  23747972.7564   23747978.3844
+       197.5244        153.9304
+  20979297.4294  -21445660.39049 -16695787.32648  20979297.1294   20979301.5844
+      -840.9354       -655.2694
+  23095455.0414   -9337623.50549  -7033526.60946  23095454.6634   23095458.6184
+     -2889.3674      -2251.4454
+  21907515.1104  -14466960.51449 -10758510.58247  21907514.7334   21907519.0774
+       164.0894        127.8604
+  20409492.7824  -25765887.49149 -20056823.51948  20409492.6274   20409498.2744
+      -669.7314       -521.8674
+ 05  1 20  9 11 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20884040.0144  -18589005.74349 -14457829.62748  20884039.1704   20884043.5174
+      1971.7084       1536.3994
+  23566405.1104   -6277691.91449  -4863032.35246  23566404.9534   23566405.2504
+      3283.1634       2558.3034
+  23746890.9024   -5162643.33549  -3728552.49846  23746891.7394   23746895.9874
+       181.1074        141.1144
+  20984114.7514  -21420343.00549 -16676059.51548  20984114.7074   20984119.4874
+      -846.8774       -659.9014
+  23111973.5604   -9250816.96449  -6965885.18546  23111972.8654   23111977.6294
+     -2897.7264      -2257.9644
+  21906635.7054  -14471582.13049 -10762111.86247  21906635.7304   21906639.3994
+       143.9524        112.1744
+  20413356.3494  -25745586.99449 -20041004.96748  20413356.0284   20413361.2354
+      -683.6604       -532.7214
+ 05  1 20  9 12  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20872828.6054  -18647918.86549 -14503735.95448  20872828.4074   20872832.3644
+      1955.8254       1524.0174
+  23547669.9664   -6376152.85949  -4939755.15346  23547668.2584   23547669.2044
+      3280.8574       2556.5134
+  23745904.9924   -5167833.83249  -3732597.04346  23745905.0704   23745909.3984
+       164.5814        128.2384
+  20988967.1654  -21394847.11049 -16656192.60048  20988966.6954   20988970.9334
+      -852.8144       -664.5324
+  23128540.1794   -9163760.31449  -6898048.86146  23128540.3024   23128543.5184
+     -2906.0554      -2264.4514
+  21905870.8004  -14475599.76649 -10765242.48647  21905870.5904   21905875.2914
+       123.8544         96.5024
+  20417299.1304  -25724868.20849 -20024860.47148  20417298.7254   20417303.9694
+      -697.6014       -543.5894
+ 05  1 20  9 12 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20861708.5754  -18706355.05349 -14549270.63048  20861707.7074   20861712.4284
+      1939.9334       1511.6354
+  23528943.9604   -6474542.10849  -5016422.10446  23528945.6654   23528946.6644
+      3278.4264       2554.6184
+  23745010.3534   -5172529.74649  -3736256.19346  23745010.4834   23745015.7054
+       148.1414        115.4294
+  20993852.2734  -21369173.12049 -16636186.90448  20993852.2574   20993856.6564
+      -858.7794       -669.1794
+  23145154.3314   -9076454.39749  -6830018.29446  23145153.2704   23145157.7714
+     -2914.3814      -2270.9474
+  21905221.9834  -14479013.29749 -10767902.39347  21905221.6814   21905225.4234
+       103.7454         80.8464
+  20421321.2164  -25703730.51449 -20008389.53948  20421320.9314   20421326.5844
+      -711.5784       -554.4754
+ 05  1 20  9 13  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20850678.7234  -18764313.14849 -14594432.77048  20850678.7584   20850683.2024
+      1923.9594       1499.1854
+  23510238.1414   -6572857.68849  -5093031.63746  23510235.8794   23510237.4864
+      3276.0324       2552.7524
+  23744212.0634   -5176730.29949  -3739529.34546  23744212.0194   23744215.3734
+       131.6064        102.5544
+  20998771.9484  -21343321.12749 -16616042.50348  20998771.8454   20998776.1224
+      -864.6684       -673.7734
+  23161815.7684   -8988900.33149  -6761794.36946  23161815.9954   23161818.3614
+     -2922.6354      -2277.3754
+  21904687.0284  -14481822.94049 -10770091.72547  21904686.0224   21904690.5564
+        83.5894         65.1314
+  20425423.7624  -25682173.41649 -19991591.82048  20425423.2964   20425428.5334
+      -725.5764       -565.3914
+ 05  1 20  9 13 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20839741.8924  -18821791.99949 -14639221.47548  20839741.1874   20839745.6894
+      1907.9554       1486.7194
+  23491542.5524   -6671098.12949  -5169582.63346  23491542.0644   23491542.1394
+      3273.4304       2550.7284
+  23743505.9734   -5180434.90249  -3742416.02446  23743505.5294   23743511.6234
+       115.0624         89.6754
+  21003724.9734  -21317291.69349 -16595759.82548  21003724.5434   21003729.2114
+      -870.6034       -678.3924
+  23178521.7114   -8901099.17549  -6693377.85846  23178520.9624   23178525.9234
+     -2930.8274      -2283.7674
+  21904267.1874  -14484028.95749 -10771810.70547  21904266.8594   21904270.8424
+        63.4704         49.4564
+  20429605.9604  -25660196.13949 -19974466.67848  20429605.4014   20429610.6684
+      -739.5754       -576.2934
+ 05  1 20  9 14  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20828895.3834  -18878790.38749 -14683635.79748  20828894.7964   20828899.1754
+      1891.9314       1474.2374
+  23472862.6784   -6769261.22949  -5246073.36546  23472861.7244   23472863.1354
+      3270.7734       2548.6584
+  23742896.6594   -5183642.57649  -3744915.52146  23742896.1114   23742900.7764
+        98.4944         76.7494
+  21008711.7554  -21291084.97149 -16575339.00648  21008711.8314   21008716.3934
+      -876.5164       -682.9934
+  23195277.2784   -8813051.66849  -6624769.45946  23195277.3044   23195282.3194
+     -2939.0574      -2290.1794
+  21903962.5244  -14485631.37649 -10773059.36347  21903961.4854   21903965.9974
+        43.3604         33.7934
+  20433867.3834  -25637798.37549 -19957013.89148  20433867.2614   20433872.7774
+      -753.6094       -587.2264
+ 05  1 20  9 14 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20818140.2774  -18935307.02249 -14727674.72348  20818139.8974   20818144.3524
+      1875.8314       1461.6884
+  23454198.2554   -6867345.10949  -5322502.35646  23454197.1214   23454198.8194
+      3268.1204       2546.5794
+  23742380.6964   -5186352.80849  -3747027.39046  23742379.9004   23742386.6524
+        81.9034         63.8204
+  21013732.9974  -21264701.47949 -16554780.42748  21013732.5904   21013737.0004
+      -882.4144       -687.5944
+  23212080.1034   -8724759.21949  -6555970.16746  23212078.4744   23212083.4014
+     -2947.1444      -2296.4834
+  21903772.6764  -14486630.42049 -10773837.84747  21903772.0624   21903776.2004
+        23.2344         18.1114
+  20438209.8434  -25614979.46449 -19939232.91048  20438209.6954   20438215.1314
+      -767.6654       -598.1774
+ 05  1 20  9 15  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20807477.6434  -18991340.82549 -14771337.42148  20807477.0824   20807481.5284
+      1859.7414       1449.1484
+  23435551.5014   -6965348.11849  -5398868.33146  23435548.6364   23435548.9324
+      3265.4004       2544.4544
+  23741958.7724   -5188564.80249  -3748751.02746  23741958.5644   23741963.6544
+        65.3164         50.9024
+  21018786.6504  -21238141.54849 -16534084.37148  21018786.6484   21018791.2094
+      -888.2464       -692.1374
+  23228928.3694   -8636222.76849  -6486980.73946  23228927.2684   23228930.7804
+     -2955.2974      -2302.8194
+  21903696.1724  -14487026.28949 -10774146.32047  21903696.0304   21903701.2544
+         3.1454          2.4494
+  20442632.4774  -25591738.90749 -19921123.39748  20442632.3274   20442637.4554
+      -781.7014       -609.1174
+ 05  1 20  9 15 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20796906.5484  -19046890.70049 -14814623.03348  20796906.4234   20796910.9774
+      1843.5954       1436.5704
+  23416915.7174   -7063268.11949  -5475169.62846  23416914.3714   23416915.8834
+      3262.5944       2542.2894
+  23741634.6874   -5190277.73949  -3750085.79046  23741634.1334   23741638.8354
+        48.5864         37.8624
+  21023874.4914  -21211405.26449 -16513250.89948  21023874.2534   21023879.0324
+      -894.1224       -696.7144
+  23245820.1464   -8547443.16749  -6417801.86446  23245820.7064   23245825.2064
+     -2963.3344      -2309.0904
+  21903736.8294  -14486819.27749 -10773985.01747  21903735.6934   21903740.7094
+       -16.9274        -13.1874
+  20447135.7494  -25568076.19349 -19902684.92248  20447135.3534   20447140.5104
+      -795.7954       -620.0974
+ 05  1 20  9 16  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20786428.2394  -19101955.53049 -14857530.67148  20786427.7484   20786432.3084
+      1827.4154       1423.9594
+  23398297.9454   -7161103.33749  -5551404.83346  23398296.6584   23398297.6784
+      3259.7274       2540.0384
+  23741401.5544   -5191491.14449  -3751031.27246  23741401.8944   23741408.0534
+        31.9564         24.8994
+  21028995.6614  -21184493.43749 -16492280.63748  21028995.7094   21028999.8194
+      -899.9904       -701.2904
+  23262762.6344   -8458421.56849  -6348434.39246  23262760.8094   23262766.1234
+     -2971.3744      -2315.3564
+  21903890.5624  -14486009.62849 -10773354.13247  21903889.7324   21903894.4474
+       -37.0254        -28.8474
+  20451719.0144  -25543990.77549 -19883917.06748  20451718.4954   20451723.9294
+      -809.8844       -631.0764
+ 05  1 20  9 16 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20776041.7754  -19156534.27549 -14900059.55848  20776041.8614   20776045.9914
+      1811.1804       1411.3094
+  23379695.0334   -7258851.83649  -5627572.50646  23379695.4394   23379697.2154
+      3256.7934       2537.7644
+  23741266.2784   -5192204.29849  -3751586.97246  23741266.8044   23741272.1764
+        15.2874         11.9094
+  21034150.0004  -21157406.10849 -16471173.62448  21034150.0764   21034154.3894
+      -905.8154       -705.8264
+  23279747.5634   -8369158.91749  -6278879.09546  23279747.1264   23279751.1584
+     -2979.4224      -2321.6294
+  21904158.8034  -14484597.72949 -10772253.95847  21904158.4044   21904162.8224
+       -57.0914        -44.4884
+  20456383.0844  -25519482.27449 -19864819.55848  20456382.6444   20456387.7104
+      -824.0194       -642.0934
+ 05  1 20  9 17  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20765749.4084  -19210625.90249 -14942208.86448  20765748.6714   20765753.0074
+      1794.9304       1398.6444
+  23361112.9214   -7356511.67249  -5703671.07146  23361111.7014   23361112.9784
+      3253.8464       2535.4634
+  23741226.5944   -5192416.54849  -3751752.37046  23741226.5604   23741230.9404
+        -1.3874         -1.0824
+  21039338.2584  -21130143.63449 -16449930.14248  21039338.1354   21039342.2004
+      -911.6524       -710.3784
+  23296780.4744   -8279656.39649  -6209136.86946  23296779.1804   23296782.9004
+     -2987.4084      -2327.8534
+  21904542.9954  -14482583.80849 -10770684.67947  21904541.6974   21904546.2004
+       -77.1654        -60.1314
+  20461126.9884  -25494550.08649 -19845391.89148  20461126.9014   20461131.9784
+      -838.1394       -653.0984
+ 05  1 20  9 17 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20755547.9074  -19264229.48949 -14983977.88848  20755548.0604   20755552.6044
+      1778.6364       1385.9524
+  23342545.6224   -7454080.79849  -5779698.94146  23342544.9984   23342546.2104
+      3250.7614       2533.0614
+  23741281.3904   -5192127.35149  -3751527.00346  23741282.0824   23741286.4074
+       -18.1444        -14.1394
+  21044558.8094  -21102706.51049 -16428550.56648  21044559.0184   21044563.4144
+      -917.4874       -714.9234
+  23313856.0024   -8189914.90249  -6139208.47046  23313855.8444   23313860.0094
+     -2995.3234      -2334.0244
+  21905040.3714  -14479968.26649 -10768646.60947  21905039.6694   21905043.9104
+       -97.2114        -75.7514
+  20465951.9244  -25469193.76649 -19825633.72248  20465951.8034   20465957.3764
+      -852.2754       -664.1094
+ 05  1 20  9 18  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20745440.5484  -19317343.74049 -15025365.60948  20745440.3694   20745444.9754
+      1762.3214       1373.2364
+  23323997.2054   -7551557.21449  -5855654.61146  23323995.6574   23323997.1774
+      3247.6654       2530.6514
+  23741431.6924   -5191336.10249  -3750910.45846  23741431.0674   23741436.5054
+       -34.8764        -27.1724
+  21049813.7654  -21075094.77149 -16407034.92948  21049813.5804   21049817.9804
+      -923.2834       -719.4414
+  23330980.9784   -8099935.74749  -6069094.84346  23330979.9274   23330983.0324
+     -3003.2194      -2340.1694
+  21905651.9034  -14476751.63249 -10766140.15247  21905651.2674   21905656.2564
+      -117.2434        -91.3594
+  20470858.5464  -25443412.81349 -19805544.68348  20470857.6944   20470862.9444
+      -866.4344       -675.1484
+ 05  1 20  9 18 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20735426.3474  -19369967.78949 -15066371.34948  20735426.5704   20735431.0484
+      1745.9694       1360.4954
+  23305463.5334   -7648939.17949  -5931536.64846  23305464.3284   23305466.2714
+      3244.4594       2528.1494
+  23741679.1684   -5190042.30949  -3749902.27546  23741678.9334   23741683.0954
+       -51.6224        -40.2204
+  21055101.1154  -21047308.73549 -16385383.46848  21055100.9984   21055105.4064
+      -929.1184       -723.9854
+  23348147.1134   -8009719.96849  -5998796.87546  23348147.2764   23348150.9934
+     -3011.1344      -2346.3394
+  21906378.6204  -14472934.26749 -10763165.59247  21906378.5934   21906382.6974
+      -137.2674       -106.9594
+  20475844.8414  -25417206.85949 -19785124.45748  20475844.5514   20475850.1084
+      -880.6114       -686.1894
+ 05  1 20  9 19  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20725507.1414  -19422100.64449 -15106994.33548  20725506.4124   20725510.6094
+      1729.5624       1347.7124
+  23286951.8544   -7746224.54349  -6007343.43446  23286951.0424   23286953.6134
+      3241.2434       2525.6434
+  23742019.5644   -5188245.38049  -3748502.06346  23742019.2264   23742025.2334
+       -68.4434        -53.3364
+  21060421.8124  -21019348.97849 -16363596.65648  21060421.5084   21060426.0454
+      -934.8964       -728.4914
+  23365359.4954   -7919268.54549  -5928315.25746  23365358.7164   23365362.5874
+     -3018.9574      -2352.4334
+  21907219.7834  -14468516.20749 -10759722.96347  21907218.8234   21907222.9244
+      -157.2854       -122.5554
+  20480912.8334  -25390575.46049 -19764372.73048  20480912.5644   20480917.6414
+      -894.8184       -697.2624
+ 05  1 20  9 19 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20715679.6494  -19473741.13649 -15147233.67048  20715679.4054   20715683.7264
+      1713.1254       1334.9044
+  23268458.7634   -7843411.39149  -6083073.47046  23268457.5384   23268459.8334
+      3237.9304       2523.0624
+  23742458.3094   -5185944.87949  -3746709.46746  23742457.8654   23742463.3074
+       -85.2024        -66.4004
+  21065775.3304  -20991215.72849 -16341674.65148  21065775.0694   21065779.6184
+      -940.6794       -732.9964
+  23382617.3184   -7828582.65249  -5857650.94146  23382616.2624   23382620.4454
+     -3026.7774      -2358.5254
+  21908175.0644  -14463498.22749 -10755812.87447  21908174.1754   21908177.9624
+      -177.2684       -138.1284
+  20486061.3794  -25363518.19649 -19743289.15448  20486061.3724   20486066.8864
+      -909.0114       -708.3204
+ 05  1 20  9 20  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20705946.6664  -19524888.42049 -15187088.68448  20705946.3374   20705950.6404
+      1696.6684       1322.0774
+  23249982.7004   -7940497.70249  -6158725.15046  23249982.1014   23249984.7074
+      3234.5044       2520.3934
+  23742991.8554   -5183140.18049  -3744523.98346  23742991.8644   23742997.3504
+      -102.0464        -79.5114
+  21071161.5624  -20962909.13749 -16319617.57848  21071161.8664   21071165.8954
+      -946.4464       -737.4904
+  23399916.6404   -7737663.54849  -5786804.90346  23399916.9664   23399922.0444
+     -3034.5084      -2364.5434
+  21909242.6704  -14457880.94249 -10751435.76847  21909242.1414   21909247.4524
+      -197.2404       -153.6934
+  20491291.6804  -25336034.70549 -19721873.45548  20491291.0554   20491296.6034
+      -923.2364       -719.4014
+ 05  1 20  9 20 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20696308.0534  -19575541.62949 -15226558.70748  20696307.3784   20696311.4664
+      1680.1914       1309.2384
+  23231527.2524   -8037481.42549  -6234296.88746  23231527.4054   23231528.4664
+      3231.0824       2517.7174
+  23743621.2594   -5179830.81749  -3741945.25246  23743622.6684   23743625.7164
+      -118.8984        -92.6574
+  21076581.1044  -20934429.79449 -16297425.89448  21076580.8914   21076585.4104
+      -952.1894       -741.9674
+  23417262.6564   -7646512.07849  -5715777.83145  23417262.2404   23417267.2804
+     -3042.2584      -2370.5794
+  21910426.8374  -14451664.67849 -10746591.93647  21910425.7554   21910429.7614
+      -217.1854       -169.2324
+  20496602.2984  -25308124.63349 -19700125.35848  20496602.1684   20496607.8364
+      -937.4694       -730.4944
+ 05  1 20  9 21  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20686762.6354  -19625699.97749 -15265643.12748  20686762.5014   20686766.6784
+      1663.6664       1296.3634
+  23213091.9974   -8134360.80749  -6309787.32446  23213091.7454   23213093.2354
+      3227.5374       2514.9654
+  23744349.0164   -5176016.52549  -3738973.06646  23744347.8104   23744351.8314
+      -135.7114       -105.7384
+  21082033.3284  -20905777.87049 -16275099.73248  21082033.2464   21082037.6334
+      -957.9424       -746.4494
+  23434652.4104   -7555129.25649  -5644570.45845  23434651.0954   23434655.7554
+     -3049.9194      -2376.5684
+  21911722.1394  -14444850.06849 -10741281.85947  21911722.0194   21911726.6534
+      -237.1464       -184.7954
+  20501995.4334  -25279787.64349 -19678044.59948  20501994.6964   20501999.9854
+      -951.7044       -741.5924
+ 05  1 20  9 21 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20677312.4464  -19675362.42249 -15304341.13048  20677311.7804   20677316.2754
+      1647.1364       1283.4854
+  23194680.1634   -8231133.58049  -6385194.68046  23194676.7184   23194678.4184
+      3223.9684       2512.1934
+  23745168.7594   -5171696.54949  -3735606.84446  23745169.2904   23745174.6514
+      -152.5574       -118.8714
+  21087518.1494  -20876953.70549 -16252639.35948  21087518.5374   21087522.7454
+      -963.6894       -750.9324
+  23452085.7944   -7463516.52749  -5573183.92246  23452085.5914   23452090.6204
+     -3057.5774      -2382.5344
+  21913133.2434  -14437437.54349 -10735505.87747  21913132.7234   21913137.5414
+      -257.0654       -200.3094
+  20507468.6074  -25251023.26849 -19655630.83248  20507468.4284   20507473.5234
+      -965.9454       -752.6754
+ 05  1 20  9 22  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20667956.0304  -19724527.94049 -15342651.91548  20667955.9324   20667960.2464
+      1630.5774       1270.5814
+  23176280.2924   -8327797.77649  -6460517.44146  23176281.0384   23176284.0414
+      3220.2974       2509.3224
+  23746086.4434   -5166870.82849  -3731846.52746  23746086.4984   23746091.3584
+      -169.4264       -132.0284
+  21093036.2634  -20847957.32349 -16230044.79348  21093036.1444   21093040.6094
+      -969.3974       -755.3724
+  23469560.0074   -7371674.82449  -5501618.98245  23469562.0644   23469566.8654
+     -3065.1994      -2388.4694
+  21914656.0814  -14429427.90949 -10729264.61447  21914656.2394   21914661.5544
+      -276.9464       -215.7984
+  20513023.7474  -25221831.04849 -19632883.66248  20513023.3744   20513028.7744
+      -980.2124       -763.7974
+ 05  1 20  9 22 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20658695.6864  -19773195.74449 -15380574.87848  20658694.9944   20658699.3344
+      1613.9464       1257.6214
+  23157909.7694   -8424351.41249  -6535754.03346  23157907.8734   23157910.4094
+      3216.5964       2506.4474
+  23747101.1574   -5161538.81049  -3727691.70246  23747101.6914   23747108.9154
+      -186.3274       -145.1824
+  21098586.3434  -20818789.05349 -16207316.29848  21098586.5784   21098591.2424
+      -975.1584       -759.8634
+  23487084.1244   -7279605.59449  -5429876.76446  23487083.6904   23487086.8024
+     -3072.7644      -2394.3644
+  21916296.0344  -14420821.64749 -10722558.45347  21916294.9084   21916299.4474
+      -296.8214       -231.2934
+  20518660.2844  -25192210.70449 -19609802.88648  20518660.2344   20518665.3384
+      -994.4764       -774.9184
+ 05  1 20  9 23  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20649529.0444  -19821365.05449 -15418109.39048  20649528.7624   20649533.2024
+      1597.3094       1244.6554
+  23139553.8164   -8520792.73749  -6610903.11246  23139554.9064   23139557.4924
+      3212.8014       2503.4884
+  23748213.2184   -5155700.12549  -3723142.07146  23748214.3044   23748218.3114
+      -203.2074       -158.3454
+  21104170.2704  -20789449.30349 -16184454.16948  21104170.2124   21104174.5614
+      -980.8774       -764.3214
+  23504645.8164   -7187309.66049  -5357957.86246  23504645.9294   23504651.4734
+     -3080.3024      -2400.2344
+  21918045.6084  -14411619.66949 -10715388.10647  21918045.6924   21918050.3254
+      -316.6754       -246.7574
+  20524378.4254  -25162161.88949 -19586388.22548  20524378.1554   20524383.7724
+     -1008.7934       -786.0724
+ 05  1 20  9 23 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20640458.1324  -19869035.02349 -15455254.81548  20640457.3544   20640461.5724
+      1580.6774       1231.6974
+  23121227.2364   -8617119.29449  -6685962.78146  23121226.1454   23121227.7894
+      3208.9364       2500.4724
+  23749419.7984   -5149354.53249  -3718197.47746  23749421.0864   23749425.7374
+      -220.1054       -171.5154
+  21109785.7404  -20759938.09949 -16161458.44348  21109785.7694   21109790.5404
+      -986.5644       -768.7504
+  23522252.2224   -7094788.47649  -5285863.48545  23522253.2174   23522255.4954
+     -3087.7554      -2406.0424
+  21919910.5854  -14401822.39849 -10707753.87347  21919909.9704   21919914.7734
+      -336.4954       -262.2094
+  20530178.5034  -25131684.22949 -19562639.41148  20530178.3014   20530183.3104
+     -1023.0744       -797.1994
+ 05  1 20  9 24  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20631481.2884  -19916204.97049 -15492010.61248  20631481.1644   20631485.2004
+      1564.0054       1218.7054
+  23102917.6344   -8713329.10649  -6760931.44946  23102916.4894   23102920.0534
+      3205.0444       2497.4384
+  23750725.8884   -5142501.69449  -3712857.58746  23750724.8894   23750730.9664
+      -237.0234       -184.6804
+  21115434.1424  -20730256.17949 -16138329.70048  21115433.8214   21115438.7214
+      -992.2394       -773.1704
+  23539900.3644   -7002043.12749  -5213594.37846  23539901.2564   23539906.4784
+     -3095.2164      -2411.8554
+  21921887.8724  -14391430.52949 -10699656.31447  21921887.1694   21921892.6264
+      -356.2994       -277.6364
+  20536059.7854  -25100777.45749 -19538556.21648  20536059.3894   20536064.8904
+     -1037.3544       -808.3254
+ 05  1 20  9 24 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20622600.5884  -19962873.98449 -15528376.06948  20622600.2864   20622604.6364
+      1547.2664       1205.6644
+  23084631.8824   -8809420.04949  -6835807.51646  23084631.9154   23084633.9354
+      3201.0114       2494.2984
+  23752125.9504   -5135141.24949  -3707122.16946  23752125.0004   23752129.7134
+      -253.9494       -197.8774
+  21121115.0364  -20700403.44049 -16115067.83648  21121114.9184   21121119.6714
+      -997.9314       -777.6034
+  23557593.4204   -6909074.64649  -5141151.44946  23557592.2264   23557596.8384
+     -3102.6384      -2417.6464
+  21923979.1714  -14380444.79949 -10691096.02347  21923978.7184   21923983.2564
+      -376.0874       -293.0514
+  20542022.9184  -25069441.34749 -19514138.46348  20542022.1424   20542027.5304
+     -1051.7084       -819.5114
+ 05  1 20  9 25  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20613816.0554  -20009041.35349 -15564350.63848  20613815.5234   20613819.2994
+      1530.5494       1192.6354
+  23066368.6034   -8905390.20149  -6910589.44346  23066369.4944   23066371.1254
+      3196.9944       2491.1634
+  23753623.4694   -5127272.97449  -3700991.03946  23753624.2954   23753627.7434
+      -270.9144       -211.1084
+  21126828.0114  -20670380.18849 -16091673.10348  21126828.2004   21126832.5964
+     -1003.6234       -782.0464
+  23575325.8044   -6815884.38849  -5068535.68245  23575326.8694   23575330.6344
+     -3110.0234      -2423.4074
+  21926181.2884  -14368865.99449 -10682073.58047  21926181.2014   21926186.2784
+      -395.8394       -308.4464
+  20548067.6524  -25037675.63749 -19489385.95948  20548067.2874   20548072.5044
+     -1066.0264       -830.6724
+ 05  1 20  9 25 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20605125.5754  -20054706.15749 -15599933.58648  20605125.0854   20605129.6914
+      1513.7824       1179.5724
+  23048131.3134   -9001237.46049  -6985275.62946  23048130.3704   23048131.7684
+      3192.8624       2487.9354
+  23755216.0754   -5118896.51049  -3694463.90146  23755215.5964   23755222.7194
+      -287.8264       -224.2854
+  21132574.3744  -20640186.71749 -16068145.73648  21132573.8174   21132578.5074
+     -1009.2984       -786.4634
+  23593101.7924   -6722473.49149  -4995747.98745  23593101.7424   23593106.1844
+     -3117.3234      -2429.0834
+  21928498.5054  -14356694.91349 -10672589.64747  21928498.0264   21928502.0674
+      -415.5794       -323.8244
+  20554193.8284  -25005480.08649 -19464298.51948  20554193.7974   20554199.1274
+     -1080.3514       -841.8314
+ 05  1 20  9 26  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20596531.4994  -20099867.73149 -15635124.42548  20596531.1674   20596535.1424
+      1496.9954       1166.4864
+  23029913.5384   -9096959.71449  -7059864.41046  23029915.0644   23029916.7124
+      3188.6514       2484.6624
+  23756907.7094   -5110011.59949  -3687540.61146  23756907.5464   23756911.5464
+      -304.7954       -237.4954
+  21138351.4164  -20609823.32549 -16044485.94348  21138351.3634   21138355.8974
+     -1014.9534       -790.8764
+  23610919.3644   -6628843.12349  -4922789.31646  23610919.7294   23610922.7854
+     -3124.6554      -2434.8004
+  21930926.9534  -14343932.31349 -10662644.76747  21930925.7424   21930931.0124
+      -435.2634       -339.1714
+  20560402.9304  -24972854.41149 -19438875.92448  20560402.3164   20560407.5574
+     -1094.6924       -853.0084
+ 05  1 20  9 26 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20588034.0614  -20144525.41149 -15669922.61148  20588033.3784   20588037.5334
+      1480.1794       1153.3864
+  23011723.4674   -9192554.90449  -7134354.15546  23011723.7404   23011725.4184
+      3184.3824       2481.3344
+  23758694.5234   -5100618.25749  -3680221.09146  23758693.6124   23758700.1564
+      -321.7424       -250.7114
+  21144161.5144  -20579289.99149 -16020693.72648  21144161.9574   21144166.2364
+     -1020.6104       -795.2794
+  23628775.8694   -6534994.61849  -4849660.60245  23628775.9304   23628781.8504
+     -3131.9524      -2440.4844
+  21933468.6014  -14330579.03649 -10652239.63547  21933468.0084   21933472.0304
+      -454.9454       -354.4994
+  20566692.4874  -24939798.33049 -19413117.93848  20566692.4354   20566697.9134
+     -1109.0654       -864.2054
+ 05  1 20  9 27  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20579631.0414  -20188678.63249 -15704327.72248  20579630.8364   20579635.5154
+      1463.3654       1140.2814
+  22993558.6494   -9288020.82149  -7208743.16346  22993557.6954   22993558.9564
+      3180.0434       2477.9494
+  23760580.0434   -5090716.04949  -3672505.09746  23760580.5054   23760584.0364
+      -338.6774       -263.9204
+  21150004.7674  -20548587.13749 -15996769.40948  21150004.7394   21150008.8664
+     -1026.2464       -799.6744
+  23646677.1744   -6440929.15849  -4776362.87945  23646677.2284   23646681.9914
+     -3138.9984      -2445.9734
+  21936121.5284  -14316636.09649 -10641375.01547  21936120.7904   21936125.5814
+      -474.5874       -369.8124
+  20573064.7334  -24906311.66049 -19387024.41048  20573064.5864   20573070.5224
+     -1123.4034       -875.3784
+ 05  1 20  9 27 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20571325.7594  -20232326.49549 -15738339.03748  20571325.3474   20571329.5024
+      1446.5084       1127.1504
+  22975416.6084   -9383355.44049  -7283029.89646  22975417.2654   22975418.5014
+      3175.6364       2474.5324
+  23762560.7274   -5080304.90549  -3664392.52146  23762560.4324   23762564.8424
+      -355.6464       -277.1254
+  21155879.7874  -20517714.79349 -15972713.03848  21155879.4464   21155883.8974
+     -1031.8774       -804.0594
+  23664618.4104   -6346648.06249  -4702897.12645  23664618.3894   23664624.2554
+     -3146.2444      -2451.6134
+  21938887.3014  -14302104.44549 -10630051.66147  21938886.3294   21938890.2424
+      -494.1804       -385.0714
+  20579519.7704  -24872394.27749 -19360595.27148  20579519.4454   20579524.2824
+     -1137.7394       -886.5484
+ 05  1 20  9 28  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20563115.6544  -20275468.40249 -15771956.11448  20563115.5184   20563119.8394
+      1429.6244       1113.9894
+  22957301.5414   -9478556.71849  -7357212.71046  22957300.3944   22957301.4104
+      3171.1424       2471.0214
+  23764639.0544   -5069384.72649  -3655883.28446  23764638.1444   23764644.3534
+      -372.6214       -290.3514
+                    -88802.82441
+      3412.3414
+  21161786.4154  -20486673.32649 -15948524.89148  21161786.2574   21161790.9734
+     -1037.5374       -808.4754
+  23682601.2644   -6252152.08849  -4629263.92245  23682600.7904   23682604.5734
+     -3153.4834      -2457.2524
+  21941764.4624  -14286984.53049 -10618269.92747  21941763.6094   21941767.3124
+      -513.7954       -400.3604
+  20586055.8004  -24838045.94949 -19333830.32448  20586055.4854   20586061.0844
+     -1152.1314       -897.7664
+ 05  1 20  9 28 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20555002.5184  -20318103.73749 -15805178.44848  20555002.4544   20555006.6654
+      1412.7244       1100.8234
+  22939213.2994   -9573622.29549  -7431289.77446  22939210.7274   22939211.0634
+      3166.5654       2467.4604
+  23766812.8814   -5057955.40949  -3646977.30646  23766813.0744   23766817.7034
+      -389.6194       -303.6034
+                   -191259.13241    -16682.739 3                  25504334.157
+      3417.7844       2659.496
+  21167724.8814  -20455463.15649 -15924205.27648  21167725.1254   21167730.0464
+     -1043.1494       -812.8464
+  23700624.4854   -6157442.55349  -4555464.32045  23700624.3954   23700627.8284
+     -3160.5104      -2462.7334
+  21944753.0564  -14271277.73849 -10606030.89047  21944752.9344   21944756.2794
+      -533.3294       -415.5854
+  20592674.1144  -24803266.40749 -19306729.36648  20592673.7044   20592679.4084
+     -1166.5084       -908.9684
+ 05  1 20  9 29  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20546986.0044  -20360232.04149 -15838005.70248  20546985.5384   20546989.6764
+      1395.8264       1087.6554
+  22921146.2614   -9668550.07749  -7505259.47246  22921146.6834   22921146.6284
+      3161.9434       2463.8474
+  23769086.5174   -5046016.73449  -3637674.44446  23769085.6674   23769090.0174
+      -406.5584       -316.7824
+                   -293884.90741
+      3423.6474
+  21173696.3904  -20424084.33249 -15899754.24148  21173696.3144   21173701.2904
+     -1048.7704       -817.2234
+  23718686.2764   -6062520.87349  -4481499.39045  23718686.3674   23718690.5934
+     -3167.5964      -2468.2654
+  21947852.8774  -14254984.82949 -10593335.12047  21947852.3934   21947856.9034
+      -552.8474       -430.7944
+  20599374.7124  -24768055.56649 -19279292.35248  20599374.3744   20599379.3844
+     -1180.8924       -920.1794
+ 05  1 20  9 29 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20539066.0794  -20401852.64249 -15870437.34948  20539065.7094   20539069.7794
+      1378.8634       1074.4424
+  22903108.4104   -9763337.84949  -7579120.08146  22903108.4904   22903109.2034
+      3157.2234       2460.1544
+  23771453.9684   -5033568.68349  -3627974.65046  23771454.4564   23771459.1064
+      -423.5784       -330.0614
+  21179699.8574  -20392537.11949 -15875172.00948  21179699.6604   21179704.5604
+     -1054.4144       -821.6194
+  23736790.6184   -5967388.44749  -4407370.25145  23736790.6834   23736795.1684
+     -3174.5864      -2473.6924
+  21951065.3504  -14238106.75449 -10580183.39547  21951064.2614   21951069.0624
+      -572.3404       -445.9734
+  20606156.7404  -24732413.24849 -19251519.11948  20606156.4524   20606161.9744
+     -1195.2824       -931.3844
+ 05  1 20  9 30  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20531242.2824  -20442964.79049 -15902472.77748  20531242.0594   20531246.3834
+      1361.9184       1061.2394
+  22885099.1904   -9857983.61149  -7652870.03146  22885097.6834   22885098.9244
+      3152.4744       2456.4824
+  23773920.9904   -5020611.15549  -3617877.87346  23773919.8434   23773925.7644
+      -440.5464       -343.2824
+  21185735.1244  -20360821.60449 -15850458.61648  21185734.7994   21185739.7274
+     -1059.9924       -825.9674
+  23754933.7644   -5872046.44749  -4333077.83045  23754933.4704   23754936.9664
+     -3181.5224      -2479.1124
+  21954387.6814  -14220644.69049 -10566576.57947  21954386.8634   21954392.0194
+      -591.7734       -461.1214
+  20613021.2354  -24696339.37749 -19223409.59148  20613020.9844   20613026.7214
+     -1209.6544       -942.5904
+ 05  1 20  9 30 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20523516.1374  -20483568.01849 -15934111.67448  20523515.7324   20523519.8874
+      1344.9504       1048.0124
+  22867114.9824   -9952485.18249  -7726507.61646  22867114.0704   22867115.8054
+      3147.6374       2452.7094
+  23776482.0314   -5007144.12249  -3607384.09546  23776481.8814   23776486.6424
+      -457.5094       -356.4954
+  21191802.4684  -20328937.96449 -15825614.23148  21191802.4604   21191806.9474
+     -1065.5904       -830.3324
+  23773114.9404   -5776496.22949  -4258623.10245  23773115.6524   23773119.5934
+     -3188.4344      -2484.4914
+  21957822.6884  -14202599.55749 -10552515.45447  21957821.4914   21957825.8314
+      -611.2264       -476.2774
+  20619968.2384  -24659833.86649 -19194963.74548  20619968.0894   20619973.3584
+     -1224.0484       -953.8054
+ 05  1 20  9 31  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20515886.3084  -20523661.78249 -15965353.56348  20515885.9944   20515890.3094
+      1327.9764       1034.7874
+  22849158.4654  -10046840.56049  -7800031.28946  22849158.8104   22849160.3564
+      3142.7124       2448.8664
+  23779141.5684   -4993167.55249  -3596493.23046  23779141.3154   23779146.8274
+      -474.5124       -369.7454
+  21197901.7374  -20296886.32649 -15800638.93448  21197901.6004   21197906.5444
+     -1071.1704       -834.6774
+  23791338.0514   -5680738.99149  -4184007.09945  23791337.3344   23791340.8464
+     -3195.3574      -2489.8944
+  21961365.0324  -14183972.32849 -10538000.73447  21961365.0604   21961370.4454
+      -630.5744       -491.3544
+  20626997.2494  -24622896.57149 -19166181.44248  20626997.0474   20627002.4684
+     -1238.4464       -965.0244
+ 05  1 20  9 31 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20508353.9624  -20563245.67249 -15996198.15648  20508353.5774   20508357.6494
+      1310.9674       1021.5334
+  22831231.5744  -10141047.30849  -7873439.15046  22831231.4604   22831233.5254
+      3137.7394       2444.9964
+  23781897.4004   -4978681.50349  -3585205.42746  23781898.7224   23781903.5414
+      -491.5034       -382.9944
+  21204032.6644  -20264666.91549 -15775532.92348  21204032.6704   21204037.5554
+     -1076.7634       -839.0354
+  23809599.2074   -5584776.21449  -4109230.95845  23809598.2334   23809602.0584
+     -3202.1484      -2495.1854
+  21965022.1414  -14164764.30849 -10523033.46447  21965020.9534   21965025.9994
+      -649.9424       -506.4514
+  20634107.9644  -24585527.30249 -19137062.52548  20634107.8534   20634113.7304
+     -1252.8464       -976.2434
+ 05  1 20  9 32  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20500918.0964  -20602319.22149 -16026645.08748  20500917.7554   20500922.1464
+      1293.9364       1008.2624
+  22813332.9724  -10235103.37349  -7946729.57546  22813333.3484   22813335.1374
+      3132.6454       2441.0184
+  23784752.9164   -4963686.05449  -3573520.63546  23784752.7394   23784756.5574
+      -508.4864       -396.2214
+  21210196.1004  -20232280.15149 -15750296.49248  21210195.7614   21210200.5374
+     -1082.3504       -843.3934
+  23827900.1524   -5488608.90149  -4034295.41545  23827899.0884   23827903.5114
+     -3209.0114      -2500.5384
+  21968786.3944  -14144976.49849 -10507614.40847  21968786.4644   21968791.4334
+      -669.2514       -521.5004
+  20641301.6534  -24547726.05549 -19107607.01148  20641301.2834   20641306.8864
+     -1267.2434       -987.4644
+ 05  1 20  9 32 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20493579.8754  -20640881.77049 -16056693.83148  20493579.6934   20493584.1214
+      1276.9094        994.9944
+  22795465.5584  -10329006.41449  -8019900.78746  22795463.7134   22795465.8704
+      3127.5264       2437.0364
+  23787702.8374   -4948181.08449  -3561438.85646  23787702.3304   23787708.2934
+      -525.4594       -409.4524
+  21216390.8694  -20199726.24449 -15724929.82448  21216390.7114   21216395.2664
+     -1087.9194       -847.7324
+  23846238.4744   -5392238.12349  -3959201.31645  23846238.2434   23846241.3524
+     -3215.7304      -2505.7584
+  21972662.7934  -14124610.05449 -10491744.47147  21972661.8954   21972666.3204
+      -688.5284       -536.5154
+  20648576.7814  -24509492.82649 -19077814.87148  20648576.6134   20648582.1534
+     -1281.6384       -998.6804
+ 05  1 20  9 33  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20486339.2534  -20678932.82349 -16086344.00348  20486338.8204   20486343.0014
+      1259.8364        981.6904
+  22777624.0254  -10422754.44449  -8092951.20146  22777624.2604   22777626.3324
+      3122.3324       2432.9894
+  23790748.9524   -4932166.63449  -3548960.06146  23790750.5624   23790754.7204
+      -542.4474       -422.6834
+  21222617.4544  -20167005.02749 -15699432.77348  21222617.3524   21222621.3364
+     -1093.5124       -852.0864
+  23864614.6314   -5295665.45149  -3883949.91045  23864614.2484   23864618.5424
+     -3222.4814      -2511.0154
+  21976647.7184  -14103665.97849 -10475424.42447  21976647.3344   21976651.7614
+      -707.7624       -551.4914
+  20655934.9234  -24470827.56749 -19047686.10148  20655934.8094   20655940.1714
+     -1296.0634      -1009.9194
+ 05  1 20  9 33 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20479195.9574  -20716471.99749 -16115595.31548  20479195.2484   20479199.9174
+      1242.7744        968.3994
+  22759815.7634  -10516345.05449  -8165878.93547  22759814.8294   22759817.0744
+      3117.0364       2428.8664
+  23793893.6134   -4915643.00549  -3536084.49846  23793894.5944   23793899.8944
+      -559.4174       -435.9104
+                   -187176.15141   -118272.63944                  25283338.4694
+      3470.7784       2704.3864
+  21228876.0154  -20134116.73549 -15673805.52648  21228875.6554   21228880.2364
+     -1099.0534       -856.4024
+  23883030.4184   -5198892.22949  -3808542.22945  23883029.3974   23883034.1274
+     -3229.1104      -2516.1844
+  21980742.3674  -14082145.55349 -10458655.27047  21980742.0914   21980747.1364
+      -726.9724       -566.4694
+  20663375.0284  -24431730.20949 -19017220.62248  20663374.5724   20663380.0274
+     -1310.4464      -1021.1254
+ 05  1 20  9 34  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20472149.5974  -20753498.83549 -16144447.39348  20472149.2864   20472153.6674
+      1225.6824        955.0814
+  22742034.7814  -10609776.09749  -8238682.34647  22742035.8764   22742037.0254
+      3111.6764       2424.6894
+  23797135.6944   -4898610.20349  -3522812.16246  23797135.2724   23797140.9824
+      -576.4044       -449.1454
+                   -291372.83741   -135854.201 4                  25279044.390
+      3475.7284       2704.986
+  21235166.1304  -20101061.67849 -15648048.35148  21235166.0514   21235170.4554
+     -1104.6084       -860.7304
+  23901484.4214   -5101919.89049  -3732979.36845  23901483.2564   23901486.7404
+     -3235.7174      -2521.3424
+  21984947.7914  -14060050.27149 -10441438.16747  21984947.2754   21984951.8504
+      -746.0614       -581.3434
+  20670896.8994  -24392200.66049 -18986418.38548  20670897.0124   20670902.5084
+     -1324.8534      -1032.3524
+ 05  1 20  9 34 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20465201.8244  -20790012.94249 -16172899.94848  20465201.0884   20465205.5084
+      1208.5774        941.7514
+  22724288.8874  -10703045.25449  -8311359.61147  22724287.4784   22724289.0104
+      3106.2394       2420.4424
+  23800473.4994   -4881068.32949  -3509143.16746  23800473.7574   23800479.6774
+      -593.3544       -462.3514
+  21241487.9474  -20067840.21149 -15622161.48148  21241487.9394   21241492.4734
+     -1110.1634       -865.0574
+  23919972.7644   -5004749.67549  -3657262.34545  23919973.1154   23919980.0054
+     -3242.2884      -2526.4564
+  21989263.3024  -14037381.14949 -10423773.93747  21989262.0134   21989266.0564
+      -765.1984       -596.2564
+  20678501.5974  -24352239.04549 -18955279.46048  20678501.3234   20678506.7824
+     -1339.2494      -1043.5684
+ 05  1 20  9 35  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20458350.2454  -20826014.11549 -16200952.81648  20458350.1034   20458354.5734
+      1191.4784        928.4224
+  22706570.7454  -10796150.35549  -8383909.04447  22706570.4454   22706571.7464
+      3100.7194       2416.1434
+  23803908.8054   -4863017.56449  -3495077.66246  23803909.1784   23803913.7414
+      -610.3234       -475.5824
+  21247841.4794  -20034452.35749 -15596144.96148  21247841.3124   21247845.6254
+     -1115.7134       -869.3934
+  23938501.5294   -4907383.01249  -3581392.21545  23938501.1424   23938508.9034
+     -3248.8384      -2531.5654
+  21993684.3434  -14014139.46249 -10405663.53047  21993683.8434   21993688.8954
+      -784.2714       -611.1184
+  20686188.1144  -24311845.28949 -18923803.80348  20686187.8984   20686193.5764
+     -1353.6814      -1054.8224
+ 05  1 20  9 35 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20451597.8164  -20861501.98949 -16228605.71848  20451597.3044   20451601.5154
+      1174.3714        915.0944
+  22688885.1724  -10889089.27749  -8456328.97747  22688885.2084   22688886.2794
+      3095.1694       2411.8174
+  23807441.0614   -4844458.05649  -3480615.69046  23807441.0174   23807444.9164
+      -627.2454       -488.7804
+  21254226.5314  -20000898.01249 -15569998.71148  21254226.5164   21254230.7064
+     -1121.2494       -873.7034
+  23957065.7414   -4809821.12149  -3505370.03545  23957066.2394   23957071.3174
+     -3255.3064      -2536.6094
+  21998216.2594  -13990326.56249 -10387108.02347  21998215.2774   21998220.1294
+      -803.2534       -625.9184
+  20693957.4594  -24271019.29349 -18891991.33248  20693957.0054   20693962.0764
+     -1368.0674      -1066.0254
+ 05  1 20  9 36  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20444941.9414  -20896476.06949 -16255858.23948  20444941.6024   20444945.9504
+      1157.2384        901.7444
+  22671231.9464  -10981859.67449  -8528617.57847  22671230.7444   22671232.5814
+      3089.5104       2407.4064
+  23811067.9494   -4825390.01249  -3465757.47146  23811067.8454   23811074.2164
+      -644.2324       -502.0034
+  21260643.3294  -19967177.23549 -15543722.76448  21260643.3234   21260647.9874
+     -1126.7924       -878.0254
+  23975669.0434   -4712065.24449  -3429196.58845  23975669.7484   23975673.3704
+     -3261.7564      -2541.6254
+  22002855.1334  -13965943.57049 -10368108.29347  22002855.1444   22002859.9484
+      -822.2584       -640.7244
+  20701808.2024  -24229761.23649 -18859842.20848  20701808.2104   20701813.7004
+     -1382.4734      -1077.2544
+ 05  1 20  9 36 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20438384.3734  -20930936.10049 -16282710.21648  20438384.0814   20438388.6364
+      1140.0864        888.3784
+  22653609.8994  -11074459.37149  -8600773.19547  22653609.5194   22653611.7204
+      3083.7774       2402.9484
+  23814795.5784   -4805813.79449  -3450503.26146  23814794.4444   23814798.6694
+      -661.1414       -515.1774
+  21267091.7804  -19933290.54649 -15517317.55548  21267091.7124   21267096.4384
+     -1132.3234       -882.3304
+  23994307.9174   -4614116.87549  -3352873.21645  23994307.6154   23994313.5814
+     -3268.1244      -2546.5924
+  22007604.2354  -13940992.09549 -10348665.60447  22007603.6304   22007608.0774
+      -841.1524       -655.4404
+  20709741.7724  -24188071.08449 -18827356.39348  20709741.3274   20709746.6964
+     -1396.8714      -1088.4724
+ 05  1 20  9 37  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20431924.8344  -20964881.63249 -16309161.28548  20431924.5594   20431928.8124
+      1122.9344        875.0114
+  22636021.1124  -11166886.06349  -8672793.97547  22636021.4214   22636023.3064
+      3077.9964       2398.4304
+  23818614.4054   -4785729.38749  -3434853.04546  23818614.9904   23818622.1944
+      -678.0884       -528.3874
+  21273572.4174  -19899238.04649 -15490783.13048  21273571.6294   21273576.3484
+     -1137.8554       -886.6424
+  24012983.0964   -4515977.24749  -3276400.77345  24012983.4214   24012988.7574
+     -3274.5274      -2551.5764
+  22012461.4084  -13915473.29749 -10328780.83747  22012460.0934   22012464.0344
+      -860.0754       -670.1924
+  20717757.4284  -24145949.00149 -18794533.98048  20717756.8364   20717762.3354
+     -1411.2754      -1099.6954
+ 05  1 20  9 37 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20425563.0994  -20998312.45249 -16335211.27948  20425563.0154   20425567.2494
+      1105.7754        861.6444
+  22618467.3534  -11259137.40649  -8744678.14547  22618467.3684   22618468.2924
+      3072.1364       2393.8684
+  23822536.4474   -4765137.17949  -3418807.20146  23822534.7634   23822540.1334
+      -695.0054       -541.5624
+  21280082.7334  -19865019.72649 -15464119.50248  21280083.0074   21280087.4554
+     -1143.3734       -890.9454
+  24031697.0794   -4417647.75249  -3199780.45745  24031695.7644   24031699.2854
+     -3280.8384      -2556.5034
+  22017423.2664  -13889388.61149 -10308455.12447  22017423.3734   22017428.2764
+      -878.8984       -684.8564
+  20725855.8464  -24103394.99749 -18761375.01948  20725855.1154   20725860.1254
+     -1425.6644      -1110.9124
+ 05  1 20  9 38  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20419299.6644  -21031228.35849 -16360860.03248  20419299.3314   20419303.4814
+      1088.5924        848.2514
+  22600945.6574  -11351211.02649  -8816423.83447  22600946.0154   22600947.4314
+      3066.1484       2389.2034
+  23826549.7974   -4744037.46449  -3402365.86746  23826549.6534   23826554.3814
+      -711.9114       -554.7354
+  21286626.5134  -19830635.82749 -15437326.84048  21286626.2244   21286630.5444
+     -1148.8964       -895.2454
+  24050440.2044   -4319129.90449  -3123013.33945  24050441.5964   24050447.6064
+     -3287.0804      -2561.3634
+  22022495.5144  -13862739.56449 -10287689.64247  22022493.9584   22022499.6334
+      -897.7154       -699.5204
+  20734034.3344  -24060409.21849 -18727879.59448  20734034.4484   20734040.2874
+     -1440.0724      -1122.1384
+ 05  1 20  9 38 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20413134.5884  -21063629.09249 -16386107.35648  20413133.7464   20413137.9304
+      1071.4434        834.8944
+  22583458.3704  -11443104.87849  -8888029.44347  22583459.0964   22583460.4664
+      3060.1144       2384.5054
+  23830660.2584   -4722430.58349  -3385529.32846  23830660.9364   23830665.6874
+      -728.8214       -567.9194
+  21293200.4884  -19796086.36149 -15410405.18748  21293200.4614   21293205.4694
+     -1154.4094       -899.5334
+  24069224.3414   -4220425.00449  -3046100.42045  24069224.6694   24069230.8154
+     -3293.2924      -2566.2024
+  22027672.3624  -13835527.36149 -10266485.33947  22027672.1734   22027677.1904
+      -916.4584       -714.1244
+  20742297.9714  -24016991.83849 -18694047.85948  20742297.0024   20742302.2074
+     -1454.4304      -1133.3214
+ 05  1 20  9 39  0.0000000  0  7G16G23G 6G25G14G20G 1
+  20407066.1684  -21095514.38349 -16410953.02548  20407066.1014   20407070.3154
+      1054.2734        821.5084
+  22566007.4934  -11534816.54249  -8959493.08747  22566006.8404   22566008.3784
+      3053.9984       2379.7514
+  23834870.3434   -4700316.68149  -3368297.71146  23834869.6474   23834875.1384
+      -745.7024       -581.0734
+  21299805.8674  -19761371.39849 -15383354.56548  21299806.3604   21299811.4884
+     -1159.9224       -903.8324
+  24088044.8154   -4121534.29949  -2969042.76245  24088043.2494   24088048.7734
+     -3299.4444      -2570.9964
+  22032958.9264  -13807753.65349 -10244843.47847  22032958.0804   22032962.6914
+      -935.1184       -728.6634
+  20750641.1814  -23973142.93249 -18659879.85248  20750641.0264   20750646.3464
+     -1468.8124      -1144.5284
+ 05  1 20  9 39 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20401097.4994  -21126883.91649 -16435396.81148  20401096.7594   20401100.9594
+      1037.0524        808.0924
+  22548590.0604  -11626343.84049  -9030813.07547  22548588.8144   22548590.9234
+      3047.8404       2374.9354
+  23839175.8824   -4677696.24049  -3350671.38546  23839173.4004   23839179.7294
+      -762.6114       -594.2404
+  21306444.0574  -19726491.27449 -15356175.25148  21306444.0604   21306448.6274
+     -1165.4204       -908.1204
+  24106897.1524   -4022459.17749  -2891841.35045  24106897.2294   24106903.3324
+     -3305.5484      -2575.7464
+  22038351.6014  -13779419.90649 -10222765.25847  22038350.5454   22038354.1124
+      -953.7944       -743.2194
+  20759067.1364  -23928862.53649 -18625375.61248  20759067.1294   20759072.5244
+     -1483.2114      -1155.7504
+ 05  1 20  9 40  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20395226.0584  -21157737.74749 -16459438.75848  20395225.5074   20395229.6904
+      1019.8364        794.6774
+  22531207.1314  -11717684.38549  -9101987.52547  22531207.7004   22531209.2264
+      3041.5574       2370.0384
+  23843575.1504   -4654569.53149  -3332650.56646  23843574.7144   23843580.9594
+      -779.4874       -607.3964
+  25023236.905
+
+  21313113.3304  -19691445.87149 -15328867.14348  21313113.0244   21313117.7274
+     -1170.9434       -912.4244
+  24125783.8124   -3923201.17549  -2814497.48645  24125784.0904   24125792.5114
+     -3311.6364      -2580.4924
+  22043849.7304  -13750527.53149 -10200251.74547  22043848.4064   22043851.9604
+      -972.3954       -757.7054
+  20767575.1244  -23884150.90549 -18590535.32348  20767574.9844   20767580.5004
+     -1497.5844      -1166.9524
+ 05  1 20  9 40 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20389452.5024  -21188075.48549 -16483078.55748  20389452.0274   20389456.3084
+      1002.6534        781.2824
+  22513861.7944  -11808835.83149  -9173014.62647  22513862.5744   22513863.9824
+      3035.2304       2365.1084
+  23848072.0874   -4630937.03749  -3314235.62846  23848072.2014   23848076.7354
+      -796.3124       -620.5004
+                   -130587.48341    -59868.214 3                  25006111.941
+      3531.4354       2750.826
+  21319814.0564  -19656235.36549 -15301430.39448  21319813.8424   21319818.0384
+     -1176.4324       -916.7014
+  24144706.7164   -3823761.80449  -2737012.28945  24144707.3754   24144712.5614
+     -3317.6864      -2585.2084
+  22049452.4264  -13721078.19249 -10177304.22847  22049451.8374   22049456.6084
+      -990.9404       -772.1564
+  20776166.0904  -23839008.15549 -18555359.09148  20776165.7174   20776170.9954
+     -1511.9524      -1178.1484
+ 05  1 20  9 41  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20383777.4704  -21217897.08649 -16506316.17448  20383777.2904   20383781.5574
+       985.4384        767.8734
+  22496553.6654  -11899795.92349  -9243892.61647  22496553.5594   22496554.7354
+      3028.8044       2360.1044
+  23852666.6644   -4606799.09249  -3295426.83646  23852665.7854   23852670.0714
+      -813.1654       -633.6324
+  24982916.0094    -236587.23849   -154848.13944
+      3535.1384       2754.6724
+  21326545.4384  -19620859.73749 -15273864.96948  21326545.1384   21326549.8594
+     -1181.9464       -920.9994
+  24163666.6474   -3724142.35849  -2659386.76545  24163666.5364   24163670.9934
+     -3323.6074      -2589.8204
+  22055161.3724  -13691073.29049 -10153923.79547  22055161.0914   22055166.0444
+     -1009.4094       -786.5524
+  20784838.6024  -23793434.37249 -18519846.97948  20784838.0704   20784843.0254
+     -1526.3194      -1189.3464
+ 05  1 20  9 41 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20378200.9544  -21247202.56549 -16529151.61948  20378200.6174   20378204.8604
+       968.2414        754.4774
+  22479281.2084  -11990562.28449  -9314619.65447  22479281.4704   22479282.9284
+      3022.2974       2355.0434
+  23857354.7714   -4582156.24949  -3276224.63846  23857355.2294   23857359.7174
+      -829.9924       -646.7484
+  24962723.2174    -342697.36649   -237532.00744
+      3538.7854       2757.5204
+  21333308.2994  -19585319.46049 -15246171.25748  21333308.3784   21333313.2514
+     -1187.4374       -925.2724
+  24182655.3994   -3624344.23149  -2581621.99745  24182656.1494   24182661.9364
+     -3329.5794      -2594.4734
+  22060977.0214  -13660514.40749 -10130111.68747  22060976.4424   22060980.7204
+     -1027.8674       -800.9324
+  20793592.8694  -23747429.67549 -18483999.07948  20793592.5624   20793597.8334
+     -1540.6744      -1200.5244
+ 05  1 20  9 42  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20372722.9164  -21275991.58149 -16551584.61948  20372722.4914   20372726.9084
+       951.0164        741.0514
+  22462047.6194  -12081132.53249  -9385193.86347  22462046.5344   22462048.0434
+      3015.7294       2349.9254
+  23862140.8884   -4557008.81949  -3256629.22846  23862140.5464   23862145.6654
+      -846.8044       -659.8434
+                   -448915.45241    -17275.001 3                  24954597.481
+      3542.3874       2757.536
+  21340103.1544  -19549614.37949 -15218349.11848  21340102.6154   21340107.1684
+     -1192.9264       -929.5514
+  24201679.2124   -3524368.88249  -2503719.20445  24201679.3084   24201685.4594
+     -3335.4074      -2599.0184
+  22066898.1434  -13629403.13749 -10105869.14747  22066896.9214   22066901.2784
+     -1046.2514       -815.2544
+  20802429.4834  -23700994.65749 -18447815.86348  20802429.1334   20802434.0824
+     -1555.0294      -1211.7144
+ 05  1 20  9 42 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20367342.9124  -21304264.02249 -16573615.08548  20367342.5274   20367346.4714
+       933.7954        727.6314
+  22444850.2684  -12171504.43149  -9455613.52647  22444849.5154   22444850.4124
+      3009.0654       2344.7184
+  23867021.4724   -4531357.27849  -3236640.99246  23867021.8724   23867027.2584
+      -863.5854       -672.9124
+                   -555239.29741   -147031.333 4                  24923016.539
+      3545.8874       2762.426
+  21346928.6464  -19513744.69649 -15190398.72048  21346928.5604   21346932.9414
+     -1198.3864       -933.8094
+  24220740.6614   -3424217.68549  -2425679.30045  24220738.7404   24220743.4454
+     -3341.2474      -2603.5704
+  22072922.7564  -13597741.24349 -10081197.55547  22072922.2854   22072926.5294
+     -1064.5454       -829.5124
+  20811347.3704  -23654129.43649 -18411297.44848  20811346.7874   20811352.1124
+     -1569.3584      -1222.8804
+ 05  1 20  9 43  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20362061.1814  -21332019.89449 -16595243.03748  20362060.7554   20362064.7654
+       916.6034        714.2374
+  22427691.0484  -12261675.69149  -9525876.85547  22427690.6364   22427691.5824
+      3002.3454       2339.4844
+  23871998.1634   -4505202.10649  -3216260.36746  23871997.6634   23872003.3064
+      -880.3464       -685.9944
+                   -661666.25841   -188484.567 4                  24912922.474
+      3549.2814       2763.986
+  21353785.3274  -19477710.39649 -15162320.04648  21353785.4334   21353790.2854
+     -1203.8804       -938.0894
+  24239829.9684   -3323892.06149  -2347503.56545  24239831.2984   24239834.1204
+     -3347.1274      -2608.1504
+  22079051.8044  -13565530.16649 -10056098.04147  22079051.6414   22079055.9144
+     -1082.8394       -843.7674
+  20820347.1054  -23606834.10949 -18374443.89048  20820346.8134   20820352.1714
+     -1583.6704      -1234.0314
+ 05  1 20  9 43 30.0000000  0  7G16G23G 6G25G14G20G 1
+  20356877.2664  -21359259.31549 -16616468.56048  20356876.9354   20356881.3464
+       899.3644        700.8044
+  22410570.4064  -12351644.00449  -9595982.02947  22410569.6914   22410570.4194
+      2995.5144       2334.1654
+  23877071.1944   -4478543.92549  -3195487.74846  23877071.9414   23877076.0714
+      -897.1074       -699.0424
+  21360674.3554  -19441511.35949 -15134113.00748  21360674.2284   21360678.6034
+     -1209.3914       -942.3814
+  24258955.5124   -3223393.37149  -2269192.91645  24258955.1274   24258960.0444
+     -3352.8124      -2612.5754
+  22085286.1304  -13532771.59849 -10030571.87847  22085285.0174   22085290.5024
+     -1101.0584       -857.9604
+  20829428.8074  -23559109.02149 -18337255.46748  20829428.4854   20829433.5834
+     -1598.0184      -1245.2134
+ 05  1 20  9 44  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20351792.1814  -21385982.10649 -16637291.51748  20351791.9204   20351795.8924
+       882.1464        687.3794
+  22393488.4104  -12441406.75849  -9665927.03047  22393487.8874   22393489.3854
+      2988.6084       2328.7844
+  23882240.6054   -4451383.23149  -3174323.55546  23882240.4954   23882245.0934
+      -913.9024       -712.1334
+                    -75494.10141    -25699.740 3                  24864939.276
+      3555.7964       2770.186
+  21367594.2824  -19405148.01449 -15105777.93248  21367593.9834   21367598.3684
+     -1214.8634       -946.6484
+  24278113.7264   -3122723.17549  -2190748.61245  24278112.2954   24278115.5944
+     -3358.5074      -2617.0164
+  22091622.9994  -13499467.43749 -10004620.61547  22091622.4484   22091627.7224
+     -1119.2364       -872.1284
+  20838592.1524  -23510954.58249 -18299732.49748  20838592.0384   20838597.1154
+     -1612.3194      -1256.3524
+ 05  1 20  9 44 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20346805.3754  -21412188.15449 -16657711.80848  20346805.0514   20346809.5134
+       864.9244        673.9654
+  22376446.7684  -12530961.69549  -9735710.09547  22376446.0194   22376447.8984
+      2981.6874       2323.3904
+  23887504.1234   -4423720.45149  -3152768.15446  23887503.8634   23887509.4594
+      -930.5834       -725.1294
+                   -182214.92041    -82508.672 4                  24850977.584
+      3558.9944       2772.012
+  21374543.9014  -19368620.47949 -15077314.91848  21374544.2164   21374549.2994
+     -1220.3084       -950.8864
+  24297303.5324   -3021882.98449  -2112171.83845  24297301.6214   24297303.1254
+     -3364.1684      -2621.4294
+  22098064.1504  -13465619.44349  -9978245.55247  22098063.8834   22098068.9264
+     -1137.3184       -886.2194
+  20847837.7034  -23462371.06249 -18261875.19148  20847837.2214   20847842.3624
+     -1626.5894      -1267.4724
+ 05  1 20  9 45  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20341917.1664  -21437877.58149 -16677729.54748  20341916.6454   20341920.9124
+       847.7044        660.5514
+  22359444.7714  -12620306.54249  -9805329.44847  22359444.0724   22359446.7584
+      2974.6414       2317.9074
+  23892862.3934   -4395556.22549  -3130821.98446  23892862.9134   23892868.6514
+      -947.3094       -738.1704
+                   -289028.63541   -203167.197 5                  24821512.170
+      3562.0054       2775.498
+  21381527.4154  -19331928.53249 -15048723.79548  21381527.3814   21381531.7784
+     -1225.8084       -955.1724
+  24316522.0954   -2920874.35449  -2033463.81745  24316522.2764   24316528.7464
+     -3369.7594      -2625.7864
+  22104607.7774  -13431229.06049  -9951447.87247  22104608.0034   22104613.6104
+     -1155.3354       -900.2504
+  20857164.4034  -23413358.78749 -18223683.79848  20857164.1964   20857169.0224
+     -1640.8844      -1278.6104
+ 05  1 20  9 45 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20337126.6644  -21463050.39349 -16697344.72148  20337126.3644   20337130.7864
+       830.4754        647.1224
+  22342482.2554  -12709438.88049  -9874783.22147  22342482.6314   22342484.8364
+      2967.4914       2312.3284
+  23898320.3244   -4366891.09749  -3108485.53346  23898318.6284   23898322.6374
+      -963.9854       -751.1624
+  24800486.8184    -395932.57749   -289244.51945  24800484.1724   24800492.3644
+      3564.9414       2777.8824
+  21388540.4554  -19295072.25449 -15020004.61248  21388540.6874   21388545.3674
+     -1231.2914       -959.4494
+  24335777.1764   -2819698.46049  -1954625.50345  24335775.8754   24335778.9194
+     -3375.2844      -2630.0884
+  22111256.0904  -13396298.13449  -9924228.96747  22111255.3924   22111259.5694
+     -1173.4044       -914.3364
+  20866572.4574  -23363917.91849 -18185158.43248  20866572.1194   20866577.3544
+     -1655.1844      -1289.7564
+ 05  1 20  9 46  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20332434.9004  -21487706.67349 -16716557.41448  20332434.4524   20332438.6164
+       813.2594        633.7114
+  22325563.4404  -12798356.11749  -9944069.37947  22325562.7454   22325564.4824
+      2960.3094       2306.7374
+  23903867.4404   -4337725.74749  -3085759.27246  23903868.2664   23903873.2674
+      -980.6314       -764.1234
+  24780120.9854    -502924.24548   -372614.66645  24780125.4794   24780130.0394
+      3567.8674       2780.1564
+  21395585.3364  -19258051.84449 -14991157.53348  21395585.5224   21395590.0914
+     -1236.7684       -963.7134
+  24355059.3074   -2718356.90149  -1875658.11745  24355060.7344   24355065.2674
+     -3380.7354      -2634.3384
+  22118006.6984  -13360828.49349  -9896590.29547  22118005.8544   22118009.6144
+     -1191.2824       -928.2784
+  20876062.4054  -23314048.78149 -18146299.35848  20876061.9244   20876067.2584
+     -1669.4314      -1300.8524
+ 05  1 20  9 46 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20327841.2944  -21511846.47649 -16735367.65048  20327840.8194   20327844.9564
+       796.0654        620.3104
+  22308683.8914  -12887056.18949 -10013186.31047  22308683.4884   22308685.4924
+      2953.0054       2301.0404
+  23909513.2084   -4308060.95149  -3062643.85046  23909512.5294   23909518.3464
+      -997.2654       -777.0944
+  24759748.6484    -610001.39549   -456051.34445  24759748.3734   24759754.2904
+      3570.6444       2782.3184
+  21402661.3514  -19220867.10549 -14962182.40948  21402661.5324   21402665.9994
+     -1242.2274       -967.9694
+  24374376.2384   -2616851.24449  -1796562.84045  24374375.0914   24374380.9094
+     -3386.2694      -2638.6524
+  22124858.0274  -13324821.86249  -9868533.19947  22124857.2484   22124861.7644
+     -1209.1594       -942.2024
+  20885633.7064  -23263751.70449 -18107106.82448  20885633.5114   20885638.1124
+     -1683.7114      -1311.9824
+ 05  1 20  9 47  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20323345.3864  -21535469.69149 -16753775.35248  20323345.0744   20323349.8024
+       778.8574        606.9014
+  22291846.4064  -12975536.67849 -10082132.15147  22291846.8024   22291848.0574
+      2945.6634       2295.3264
+  23915254.2234   -4277897.16849  -3039139.60646  23915254.1654   23915258.2824
+     -1013.9164       -790.0664
+  24739359.6744    -717161.48849   -539552.70745  24739357.3804   24739362.2924
+      3573.3904       2784.4654
+  21409768.5724  -19183518.56149 -14933079.64948  21409768.5944   21409773.3524
+     -1247.6744       -972.2124
+  24393725.0484   -2515182.84549  -1717340.74345  24393722.5024   24393725.3994
+     -3391.5994      -2642.7994
+  22131810.9334  -13288280.02249  -9840059.06747  22131810.8634   22131814.6274
+     -1226.9744       -956.0864
+  20895286.1684  -23213027.07449 -18067581.13948  20895285.7704   20895290.7654
+     -1697.9384      -1323.0684
+ 05  1 20  9 47 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20318948.9164  -21558576.52249 -16771780.67748  20318948.3744   20318952.2794
+       761.6094        593.4614
+  22275052.5104  -13063795.10949 -10150904.94447  22275051.8254   22275053.1854
+      2938.2234       2289.5294
+  23921084.9264   -4247235.07149  -3015247.06546  23921086.5874   23921093.1914
+     -1030.4924       -802.9764
+  24718950.0514    -824401.61949   -623116.44445  24718950.5744   24718956.2464
+      3575.9664       2786.4694
+  21416907.4284  -19146006.03449 -14903849.09948  21416906.9144   21416911.5504
+     -1253.1374       -976.4744
+  24413100.7914   -2413353.21849  -1637993.03945  24413100.7174   24413103.5374
+     -3396.8964      -2646.9324
+  22138865.5014  -13251205.03149  -9811169.46747  22138865.4764   22138870.3334
+     -1244.6834       -969.8804
+  20905019.6404  -23161875.25949 -18027722.58048  20905019.3814   20905024.5574
+     -1712.1824      -1334.1704
+ 05  1 20  9 48  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20314649.5614  -21581167.14749 -16789383.76548  20314649.3604   20314653.5464
+       744.4224        580.0694
+  22258300.0524  -13151829.18649 -10219502.93147  22258299.8434   22258301.1224
+      2930.6924       2283.6574
+  23927019.2294   -4216075.37549  -2990966.78846  23927017.2544   23927022.3024
+     -1047.0754       -815.8984
+  24698526.1704    -931719.30949   -706740.61745  24698527.5944   24698533.7144
+      3578.5124       2788.4474
+  21424076.4744  -19108329.50649 -14874490.76248  21424075.9254   21424081.2174
+     -1258.6164       -980.7414
+  24432508.3594   -2311363.91349  -1558520.87245  24432508.9554   24432511.7434
+     -3402.2694      -2651.1184
+  22146022.1844  -13213598.69249  -9781865.83747  22146021.9544   22146027.0684
+     -1262.3654       -983.6454
+  20914834.6904  -23110296.60849 -17987531.42648  20914834.7624   20914840.0014
+     -1726.3944      -1345.2454
+ 05  1 20  9 48 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20310449.0954  -21603241.67649 -16806584.69248  20310448.7614   20310453.0294
+       727.2234        566.6694
+  22241591.8134  -13239636.30849 -10287924.06947  22241590.8304   22241591.8454
+      2923.1094       2277.7554
+  23933040.6574   -4184418.72649  -2966299.25646  23933041.4654   23933046.7714
+     -1063.6524       -828.8134
+  24678093.1644   -1039111.90549   -790423.11945  24678093.0294   24678099.7124
+      3580.9234       2790.3324
+  21431277.0874  -19070489.20749 -14845004.82348  21431277.3834   21431281.6894
+     -1264.0674       -984.9864
+  24451946.8464   -2209216.44349  -1478925.45545  24451944.6574   24451951.6084
+     -3407.4834      -2655.1824
+  22153279.3114  -13175462.69349  -9752149.48047  22153279.0464   22153283.9464
+     -1280.0014       -997.3964
+  20924731.3624  -23058291.65249 -17947008.08548  20924730.8794   20924736.1384
+     -1740.6014      -1356.3094
+ 05  1 20  9 49  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20306346.5714  -21624800.18649 -16823383.53548  20306346.2804   20306350.6654
+       709.9974        553.2474
+  22224925.9544  -13327214.16349 -10356166.55247  22224924.9914   22224926.3094
+      2915.4054       2271.7494
+  23939161.8464   -4152265.96249  -2941245.16746  23939159.3074   23939164.4234
+     -1080.1344       -841.6634
+  24657642.0244   -1146576.88849   -874162.08745  24657641.3574   24657647.7384
+      3583.3094       2792.1864
+  21438509.8234  -19032484.90849 -14815391.09448  21438509.4664   21438513.5224
+     -1269.5394       -989.2504
+  24471414.4054   -2106912.01549  -1399207.74545  24471414.4984   24471420.0244
+     -3412.7414      -2659.2784
+  22160637.9014  -13136799.19649  -9722022.08147  22160636.8704   22160640.6944
+     -1297.5504      -1011.0744
+  20934707.9064  -23005860.70649 -17906152.80148  20934707.8014   20934713.5814
+     -1754.7984      -1367.3754
+ 05  1 20  9 49 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20302342.7244  -21645843.15549 -16839780.65148  20302342.0684   20302346.2764
+       692.8434        539.8774
+  22208304.5354  -13414560.37149 -10424228.54247  22208303.6534   22208304.9164
+      2907.6764       2265.7254
+  23945372.4974   -4119617.81949  -2915805.04546  23945373.3044   23945378.7694
+     -1096.7564       -854.6124
+  24637178.9164   -1254111.68749   -957955.42745  24637179.6314   24637186.5294
+      3585.6734       2794.0304
+  21445771.6764  -18994316.81149 -14785649.72448  21445772.0594   21445776.9004
+     -1275.0054       -993.5114
+  24490911.7044   -2004452.30449  -1319369.06345  24490911.9654   24490916.4284
+     -3417.9174      -2663.3114
+  22168094.5294  -13097610.00249  -9691485.05547  22168094.1774   22168098.4104
+     -1315.0664      -1024.7224
+  20944767.3304  -22953004.31149 -17864965.99348  20944766.3454   20944771.2544
+     -1768.9704      -1378.4234
+ 05  1 20  9 50  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20298436.0274  -21666370.55049 -16855776.02948  20298435.7884   20298440.0144
+       675.6544        526.4794
+  22191727.6514  -13501672.49149 -10492108.11347  22191726.6204   22191728.1784
+      2899.8164       2259.5924
+  23951679.0484   -4086475.06349  -2889979.49145  23951678.5834   23951684.0974
+     -1113.1194       -867.3684
+  24616705.5034   -1361713.64149  -1041801.08645  24616704.8634   24616710.1094
+      3587.8334       2795.7124
+  21453066.9204  -18955984.98949 -14755780.77748  21453066.7954   21453071.5194
+     -1280.4514       -997.7554
+  24510439.5954   -1901838.97949  -1239410.68545  24510440.9834   24510445.9724
+     -3422.9894      -2667.2644
+  22175651.9464  -13057896.99749  -9660539.88447  22175651.3974   22175654.9924
+     -1332.4824      -1038.3024
+  20954905.6134  -22899722.76449 -17823447.90848  20954905.7264   20954910.5004
+     -1783.1294      -1389.4554
+ 05  1 20  9 50 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20294627.9984  -21686382.49949 -16871369.74948  20294627.6674   20294631.7554
+       658.4624        513.0894
+  22175194.1534  -13588548.04649 -10559803.34547  22175193.7074   22175196.3004
+      2891.8834       2253.4114
+  23958079.1124   -4052838.34649  -2863769.10045  23958079.4254   23958085.0024
+     -1129.5584       -880.1744
+  24596213.5764   -1469380.06349  -1125697.00545  24596214.6394   24596219.8874
+      3589.9404       2797.3604
+  21460392.8674  -18917489.08849 -14725783.97048  21460392.2484   21460397.1454
+     -1285.9344      -1002.0274
+  24529992.9644   -1799073.43949  -1159333.65745  24529993.6144   24529999.4614
+     -3428.0454      -2671.2044
+  22183309.2134  -13017662.24449  -9629188.14547  22183308.0904   22183312.0884
+     -1349.8234      -1051.8074
+  20965126.5544  -22846016.60349 -17781598.94948  20965125.5654   20965130.6604
+     -1797.2864      -1400.4834
+ 05  1 20  9 51  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20290917.7364  -21705879.40049 -16886562.13548  20290917.3604   20290921.6464
+       641.3254        499.7334
+  22158707.1574  -13675184.62049 -10627312.36547  22158707.4844   22158709.7164
+      2883.8574       2247.1584
+  23964576.3764   -4018708.66649  -2837174.52546  23964575.5244   23964579.7304
+     -1145.9884       -892.9794
+  24575714.3864   -1577108.71249  -1209641.39945  24575714.6034   24575718.8014
+      3591.9214       2798.8974
+  21467748.5634  -18878829.34049 -14695659.50148  21467748.7504   21467753.6344
+     -1291.3664      -1006.2664
+  24549578.3884   -1696157.32249  -1079139.28745  24549577.8504   24549584.3794
+     -3433.0994      -2675.1454
+  22191064.0444  -12976907.67249  -9597431.34047  22191063.3024   22191067.6094
+     -1367.1284      -1065.2954
+  20975426.5994  -22791886.33249 -17739419.50948  20975426.0684   20975431.6124
+     -1811.3984      -1411.4794
+ 05  1 20  9 51 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20287305.8014  -21724861.36749 -16901353.27948  20287305.3054   20287309.5564
+       624.1634        486.3614
+  22142267.1234  -13761579.73549 -10694633.23147  22142266.8784   22142270.0274
+      2875.8004       2240.8894
+  23971163.5934   -3984086.81549  -2810196.45646  23971163.4924   23971168.2164
+     -1162.3494       -905.7304
+  24555206.6094   -1684896.50449  -1293631.88245  24555203.5794   24555207.4534
+      3593.9214       2800.4604
+  21475137.0884  -18840005.92049 -14665407.49848  21475136.8854   21475141.6644
+     -1296.8244      -1010.5084
+  24569189.8154   -1593092.10749   -998828.77545  24569191.1084   24569197.9294
+     -3437.9364      -2678.9124
+  22198917.8974  -12935635.35349  -9565271.09847  22198916.5154   22198921.8814
+     -1384.3424      -1078.7054
+  20985807.8114  -22737332.48649 -17696910.03148  20985807.4384   20985812.3944
+     -1825.5094      -1422.4754
+ 05  1 20  9 52  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20283791.3644  -21743328.67849 -16915743.39148  20283791.0764   20283795.3164
+       606.9834        472.9724
+  22125872.4674  -13847730.95749 -10761764.05947  22125873.0414   22125875.1404
+      2867.6064       2234.4944
+  23977845.6774   -3948973.62049  -2782835.51245  23977845.3824   23977850.1794
+     -1178.7444       -918.4974
+  24534683.8364   -1792740.91949  -1377666.45445  24534682.6954   24534687.5244
+      3595.7074       2801.8484
+  21482556.2274  -18801018.81849 -14635027.95048  21482555.8594   21482560.4664
+     -1302.3044      -1014.7844
+  24588831.5434   -1489879.21549   -918403.16245  24588831.7214   24588835.5034
+     -3442.9154      -2682.7904
+  22206869.6084  -12893847.16749  -9532708.89447  22206868.9714   22206873.4734
+     -1401.5124      -1092.0974
+  20996269.4574  -22682355.63149 -17654070.92248  20996268.8184   20996274.4744
+     -1839.6014      -1433.4554
+ 05  1 20  9 52 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20280374.9744  -21761281.75049 -16929732.79848  20280374.5034   20280379.1444
+       589.8554        459.6284
+  22109526.5994  -13933636.02749 -10828703.07447  22109526.0414   22109527.7964
+      2859.3484       2228.0694
+  23984620.3504   -3913369.77149  -2755092.30245  23984619.6704   23984624.4244
+     -1195.1374       -931.2744
+  24514152.6134   -1900639.45649  -1461743.21445  24514150.1244   24514155.5874
+      3597.4064       2803.1704
+  21490005.4494  -18761868.02649 -14604520.84148  21490005.7934   21490010.4354
+     -1307.7574      -1019.0334
+  24608501.7704   -1386520.35349   -837863.77845  24608501.4014   24608505.0064
+     -3447.7814      -2686.5844
+  22214919.1184  -12851545.31949  -9499746.42247  22214918.3994   22214922.8754
+     -1418.5834      -1105.3904
+  21006811.2394  -22626956.27949 -17610902.59648  21006811.1494   21006816.4704
+     -1853.7014      -1444.4424
+ 05  1 20  9 53  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20277056.3144  -21778720.78449 -16943321.66348  20277056.1044   20277060.7234
+       572.7264        446.2794
+  22093226.5854  -14019292.19549 -10895448.15547  22093226.4174   22093228.3464
+      2851.0294       2221.5824
+  23991490.3674   -3877276.46849  -2726967.66545  23991489.7784   23991491.7844
+     -1211.4274       -943.9744
+  24493608.3274   -2008589.20549  -1545859.91945  24493606.3484   24493613.4654
+      3599.0654       2804.4714
+  21497487.7064  -18722553.62749 -14573886.25748  21497487.2514   21497492.2014
+     -1313.2184      -1023.2894
+  24628198.0364   -1283016.83049   -757211.71345  24628196.9174   24628201.0784
+     -3452.5094      -2690.2604
+  22223066.7864  -12808731.87749  -9466385.30647  22223065.9854   22223070.5194
+     -1435.6544      -1118.6964
+  21017433.9224  -22571134.86949 -17567405.40448  21017433.5674   21017438.7074
+     -1867.7644      -1455.4024
+ 05  1 20  9 53 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20273835.8754  -21795646.22849 -16956510.32148  20273835.4484   20273839.7834
+       555.6454        432.9684
+  22076974.5914  -14104697.25449 -10961997.54647  22076974.3704   22076975.9654
+      2842.6234       2215.0314
+  23998449.2344   -3840694.41149  -2698462.11745  23998450.2684   23998454.8604
+     -1227.6534       -956.6144
+  24473054.7934   -2116587.28449  -1630014.26745  24473054.6464   24473061.0634
+      3600.7464       2805.7744
+  21504998.7854  -18683075.48949 -14543124.07948  21504999.4114   21505004.1304
+     -1318.6744      -1027.5414
+  24647919.8724   -1179370.44449   -676448.38045  24647920.7444   24647924.4094
+     -3457.2464      -2693.9554
+  22231310.6734  -12765408.95449  -9432627.18947  22231309.9324   22231314.8384
+     -1452.6194      -1131.9084
+  21028137.1994  -22514892.05749 -17523579.83748  21028136.7574   21028141.5874
+     -1881.7814      -1466.3204
+ 05  1 20  9 54  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20270712.4404  -21812058.38949 -16969299.01548  20270712.4894   20270716.5504
+       538.5304        419.6344
+  22060771.7054  -14189848.73249 -11028349.35047  22060771.0434   22060771.8214
+      2834.1304       2208.4134
+  24005505.7744   -3803624.57349  -2669576.53145  24005504.6354   24005507.9714
+     -1243.9114       -969.2704
+  24452497.5594   -2224631.57649  -1714204.62745  24452496.3854   24452501.5454
+      3602.2144       2806.9184
+  21512543.7484  -18643433.51449 -14512234.24148  21512543.2954   21512547.5484
+     -1324.1254      -1031.7864
+  24667672.0154   -1075582.84149   -595574.92145  24667671.7064   24667671.9354
+     -3462.0244      -2697.6884
+  22239651.7774  -12721578.64449  -9398473.70347  22239651.0814   22239655.2894
+     -1469.4244      -1145.0094
+  21038919.7954  -22458228.43349 -17479426.37348  21038919.0794   21038924.3014
+     -1895.7834      -1477.2344
+ 05  1 20  9 54 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20267687.7404  -21827957.49449 -16981687.93248  20267686.9774   20267690.9844
+       521.4154        406.2974
+  22044617.2134  -14274743.97949 -11094501.49647  22044616.2984   22044617.2304
+      2825.5264       2201.7134
+  24012650.4504   -3766067.69449  -2640311.41645  24012650.2054   24012656.4304
+     -1260.1444       -981.9284
+  24431927.0084   -2332719.30249  -1798428.81645  24431926.7504   24431932.6724
+      3603.5784       2807.9784
+  21520117.9244  -18603627.94649 -14481216.93248  21520118.1294   21520122.7424
+     -1329.5894      -1036.0434
+  24687449.3284    -971655.40049   -514592.51044  24687448.6514   24687450.5364
+     -3466.6674      -2701.2994
+  22248087.7004  -12677242.96649  -9363926.44247  22248087.3284   22248091.7184
+     -1486.2434      -1158.1104
+  21049781.7154  -22401144.51249 -17434945.39848  21049781.4474   21049786.8794
+     -1909.8134      -1488.1654
+ 05  1 20  9 55  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20264759.4064  -21843344.00349 -16993677.42048  20264759.1784   20264762.9794
+       504.3544        393.0064
+  22028511.2054  -14359380.64849 -11160452.13847  22028509.9964   22028510.9274
+      2816.9004       2194.9884
+  24019891.9554   -3728025.03649  -2610667.77945  24019890.8914   24019895.8554
+     -1276.2734       -994.4964
+  24411348.7894   -2440847.53149  -1882684.56145  24411348.9544   24411356.0444
+      3604.9254       2809.0314
+  21527724.0564  -18563658.61849 -14450072.01648  21527724.1564   21527729.0194
+     -1335.0394      -1040.2894
+  24707248.0534    -867589.64148   -433502.36844  24707248.2394   24707257.3414
+     -3471.2404      -2704.8594
+  22256619.2634  -12632403.97449  -9328986.95747  22256618.8924   22256624.5804
+     -1502.9784      -1171.1524
+  21060724.6834  -22343640.86049 -17390137.35348  21060724.3124   21060729.9294
+     -1923.7704      -1499.0404
+ 05  1 20  9 55 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20261929.0694  -21858218.33849 -17005267.80948  20261928.5444   20261932.5764
+       487.2964        379.7134
+  22012454.2024  -14443756.42849 -11226199.49647  22012454.3934   22012455.0234
+      2808.1474       2188.1694
+  24027221.9284   -3689497.48849  -2580646.33345  24027221.5134   24027225.4254
+     -1292.4884      -1007.1374
+  24390766.6654   -2549013.69649  -1966969.90245  24390767.3854   24390774.4304
+      3606.1754       2810.0064
+  21535360.8674  -18523525.43549 -14418799.40848  21535361.1404   21535365.7494
+     -1340.5034      -1044.5464
+  24727079.0764    -763387.26549   -352305.73844  24727076.4624   24727083.7824
+     -3475.7114      -2708.3364
+  22265247.8874  -12587064.19149  -9293657.25247  22265247.1514   22265252.3074
+     -1519.6814      -1184.1634
+  21071746.7504  -22285717.98949 -17345002.66048  21071746.8374   21071751.5584
+     -1937.7414      -1509.9284
+ 05  1 20  9 56  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20259195.2944  -21872580.99449 -17016459.48848  20259195.1344   20259199.3554
+       470.2054        366.3944
+  21996448.8724  -14527868.68349 -11291741.51147  21996447.6754   21996449.0374
+      2799.3064       2181.2784
+  24034644.0604   -3650486.02649  -2550247.82745  24034645.6664   24034648.5234
+     -1308.6354      -1019.7164
+  24370176.6494   -2657214.86849  -2051282.46745  24370175.5504   24370184.1404
+      3607.2544       2810.8474
+  21543029.5614  -18483228.55249 -14387399.23148  21543029.6644   21543033.7844
+     -1345.9854      -1048.8174
+  24746934.0844    -659049.74948   -271003.75444  24746931.9344   24746937.0724
+     -3480.1934      -2711.8344
+  22273971.8644  -12541225.50849  -9257938.81247  22273970.9134   22273975.2244
+     -1536.2274      -1197.0564
+  21082848.9804  -22227376.56649 -17299541.81348  21082848.6634   21082853.7924
+     -1951.6924      -1520.7954
+ 05  1 20  9 56 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20256559.4024  -21886432.29849 -17027252.71448  20256558.9474   20256563.3394
+       453.2174        353.1524
+  21980492.4934  -14611714.82349 -11357076.17947  21980492.4024   21980493.7754
+      2790.4074       2174.3474
+  24042162.6434   -3610991.61249  -2519472.92145  24042162.3614   24042163.7714
+     -1324.6714      -1032.2094
+  24349579.0644   -2765448.40949  -2135620.27945  24349579.5704   24349586.9374
+      3608.3054       2811.6674
+  21550728.8124  -18442767.83749 -14355871.39648  21550728.8714   21550733.5414
+     -1351.4194      -1053.0574
+  24766812.8164    -554578.73048   -189597.76344  24766811.8584   24766816.2734
+     -3484.6034      -2715.2634
+  22282788.6234  -12494890.23849  -9221833.42847  22282788.3264   22282792.0384
+     -1552.7584      -1209.9464
+  21094030.3684  -22168617.20949 -17253755.31048  21094030.4044   21094035.5034
+     -1965.6124      -1531.6494
+ 05  1 20  9 57  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20254020.8324  -21899772.73249 -17037647.86048  20254020.7094   20254024.8114
+       436.1854        339.8864
+  21964588.1964  -14695292.52449 -11422201.65947  21964587.7724   21964589.4974
+      2781.4344       2167.3544
+  24049767.6664   -3571015.37649  -2488322.58645  24049767.4454   24049774.6874
+     -1340.6864      -1044.6924
+  24328982.5334   -2873711.59549  -2219981.23845  24328978.9924   24328984.6094
+      3609.2164       2812.3804
+  21558459.4714  -18402143.20849 -14324215.84548  21558459.3444   21558463.7784
+     -1356.8744      -1057.3014
+  24786721.0994    -449975.82548   -108089.05044  24786721.8594   24786723.5294
+     -3488.8614      -2718.5984
+  22291700.0324  -12448060.69649  -9185342.90147  22291699.4534   22291702.8774
+     -1569.2044      -1222.7644
+  21105291.3124  -22109440.65049 -17207643.71248  21105290.8614   21105296.3984
+     -1979.4874      -1542.4514
+ 05  1 20  9 57 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20251579.8644  -21912602.70149 -17047645.23548  20251579.2684   20251583.5364
+       419.1614        326.6204
+  21948734.5194  -14778599.36649 -11487116.08247  21948734.5614   21948737.1434
+      2772.3614       2160.2824
+  24057466.7484   -3530558.37249  -2456797.64845  24057467.5134   24057472.5254
+     -1356.7184      -1057.1794
+  24308373.7494   -2982001.92149  -2304363.25645  24308373.6304   24308378.6724
+      3610.1274       2813.0854
+  21566221.1634  -18361354.74049 -14292432.62848  21566221.2514   21566225.4004
+     -1362.3494      -1061.5704
+  24806653.0064    -345242.57648    -26478.72744  24806650.8564   24806656.0814
+     -3493.2744      -2722.0304
+  22300704.3584  -12400738.88949  -9148468.78047  22300704.0344   22300709.6274
+     -1585.5674      -1235.5054
+  21116631.8674  -22049847.70649 -17161207.66048  21116631.2884   21116636.3744
+     -1993.3824      -1553.2874
+ 05  1 20  9 58  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20249234.9694  -21924922.80249 -17057245.30948  20249234.7224   20249239.1864
+       402.1724        313.3794
+  21932934.8924  -14861632.83549 -11551817.49347  21932934.0304   21932936.5934
+      2763.2024       2153.1484
+  24065257.7394   -3489621.66849  -2424898.91545  24065256.8064   24065260.6684
+     -1372.6874      -1069.6104
+  24287760.4204   -3090316.56749  -2388764.24245  24287760.3664   24287769.3524
+      3610.8884       2813.6784
+  21574014.1354  -18320402.41249 -14260521.71448  21574013.8454   21574018.8284
+     -1367.8054      -1065.8234
+  24826599.7464    -240380.42058     55231.97654  24826600.7894   24826608.7304
+     -3497.5624      -2725.3774
+  22309802.3854  -12352927.17549  -9111212.89147  22309802.0764   22309807.7114
+     -1601.8774      -1248.2174
+  21128051.0384  -21989839.01349 -17114447.63748  21128050.7354   21128055.8304
+     -2007.2164      -1564.0654
+ 05  1 20  9 58 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20246987.2684  -21936733.48349 -17066448.43248  20246987.1964   20246991.5964
+       385.1904        300.1484
+  21917185.8164  -14944390.51349 -11616303.99747  21917185.9054   21917188.0934
+      2753.9574       2145.9454
+  24073138.7774   -3448206.13649  -2392627.06645  24073138.7364   24073143.5794
+     -1388.6284      -1082.0564
+  24267143.7154   -3198653.08349  -2473182.31645  24267143.1224   24267151.6104
+      3611.5884       2814.2254
+  21581838.3684  -18279286.27849 -14228483.17248  21581838.3214   21581843.2874
+     -1373.2804      -1070.0854
+  24846584.3474    -135391.08648    137041.64944  24846582.4204   24846580.2224
+     -3501.8474      -2728.7104
+  22318994.2914  -12304627.98849  -9073577.15047  22318993.8614   22318998.3354
+     -1618.0824      -1260.8394
+  21139549.4874  -21929415.29749 -17067364.23148  21139549.2544   21139553.8814
+     -2021.0534      -1574.8474
+ 05  1 20  9 59  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20244836.7394  -21948035.26149 -17075255.01348  20244836.6844   20244840.9194
+       368.2354        286.9314
+  21901490.8094  -15026869.69649 -11680573.49347  21901490.7274   21901492.7294
+      2744.6224       2138.6664
+  24081109.4354   -3406313.26149  -2359983.22745  24081110.6564   24081113.3594
+     -1404.5084      -1094.4274
+  24246525.2514   -3307008.47249  -2557615.07845  24246524.2184   24246533.1074
+      3612.1014       2814.6274
+  21589693.4224  -18238006.20749 -14196316.87848  21589693.3164   21589698.0534
+     -1378.7504      -1074.3494
+  24866589.5654     -30276.25148    218949.29444  24866585.2244   24866588.8604
+     -3505.9564      -2731.9224
+  22328277.4894  -12255843.44549  -9035563.22347  22328276.6544   22328281.1534
+     -1634.2504      -1273.4484
+  21151126.5754  -21868577.17149 -17019957.90348  21151126.0864   21151131.5914
+     -2034.8504      -1585.5994
+ 05  1 20  9 59 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20242782.6444  -21958828.69949 -17083665.47848  20242782.6734   20242786.9994
+       351.3304        273.7634
+  21885849.2874  -15109067.93549 -11744624.07347  21885849.2224   21885850.9494
+      2735.2394       2131.3564
+  24089172.1854   -3363943.95949  -2326968.20945  24089172.4734   24089176.8914
+     -1420.3904      -1106.7914
+  24225902.7394   -3415379.84649  -2642060.27245  24225903.6664   24225910.5354
+      3612.6084       2815.0154
+  21597580.1104  -18196561.95749 -14164022.62948  21597580.0464   21597584.7404
+     -1384.1784      -1078.5824
+  24886613.1924      74962.45349    300953.53545  24886611.6194   24886616.4344
+     -3510.0394      -2735.0964
+  22337651.7244  -12206575.86149  -8997172.91447  22337651.5714   22337656.8584
+     -1650.2864      -1285.9324
+  21162781.9024  -21807325.43949 -16972229.28548  21162781.8104   21162786.9134
+     -2048.5984      -1596.3104
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 10  0  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20240826.0204  -21969114.39449 -17091680.30348  20240825.4644   20240829.7644
+       334.3954        260.5664
+  21870261.8374  -15190982.81149 -11808453.84947  21870261.5794   21870263.2454
+      2725.7514       2123.9594
+  24097325.9634   -3321099.22549  -2293582.69646  24097325.7374   24097330.5414
+     -1436.2194      -1119.1314
+  24205278.5704   -3523764.50949  -2726515.83245  24205278.0594   24205282.8334
+      3613.0114       2815.3314
+  21605498.3534  -18154953.90449 -14131600.73348  21605497.7544   21605502.5194
+     -1389.6644      -1082.8574
+  24906659.0284     180323.54648    383053.04845  24906662.8484   24906669.4314
+     -3513.8514      -2738.0674
+  22347119.4124  -12156827.47649  -8958407.95747  22347119.2684   22347123.8204
+     -1666.2604      -1298.3844
+  21174516.3794  -21745660.80349 -16924178.92448  21174516.1574   21174521.4914
+     -2062.3614      -1607.0364
+ 05  1 20 10  0 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20238964.9444  -21978892.90549 -17099299.91848  20238964.7324   20238969.1364
+       317.5034        247.4064
+  21854728.4964  -15272611.87249 -11872060.91047  21854727.9044   21854729.6604
+      2716.1784       2116.4944
+  24105569.4344   -3277780.49949  -2259827.81945  24105568.8814   24105574.2064
+     -1451.9814      -1131.4194
+  24184651.2634   -3632159.64049  -2810979.59945  24184651.5844   24184656.4204
+      3613.3554       2815.6034
+  21613446.9044  -18113181.85349 -14099051.05148  21613446.7924   21613451.3204
+     -1395.1234      -1087.1074
+  24926733.6184     285805.43848    465246.57944  24926735.0774   24926738.0354
+     -3518.1634      -2741.4274
+  22356678.9604  -12106600.95149  -8919270.42347  22356677.2684   22356682.4584
+     -1682.1714      -1310.7824
+  21186329.1534  -21683583.99949 -16875807.39648  21186328.8134   21186334.2394
+     -2076.0904      -1617.7314
+ 05  1 20 10  1  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20237200.9794  -21988164.82149 -17106524.78848  20237200.6314   20237204.7654
+       300.6344        234.2604
+  21839249.6384  -15353952.43549 -11935443.16247  21839249.6674   21839251.0574
+      2706.5054       2108.9684
+  24113902.5444   -3233988.91249  -2225704.50946  24113901.8574   24113907.4164
+     -1467.7244      -1143.6794
+  24164021.8974   -3740562.68949  -2895449.50945  24164021.6154   24164028.1764
+      3613.5824       2815.7844
+  21621426.4064  -18071245.56849 -14066373.37347  21621426.2804   21621431.3204
+     -1400.6154      -1091.3914
+  24946830.1224     391406.31248    547532.92844  24946828.5894   24946837.7764
+     -3522.0124      -2744.4204
+  22366325.5164  -12055898.39949  -8879761.94847  22366324.8274   22366330.3474
+     -1698.0174      -1323.1264
+  21198220.6764  -21621095.85849 -16827115.34148  21198220.1554   21198225.1854
+     -2089.7954      -1628.4104
+ 05  1 20 10  1 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20235532.9034  -21996930.66249 -17113355.30448  20235532.4614   20235536.6304
+       283.7674        221.1174
+  21823827.0834  -15435001.96649 -11998598.64847  21823826.2234   21823827.8664
+      2696.7984       2101.4024
+  24122325.9504   -3189725.48649  -2191213.53146  24122325.7594   24122330.6144
+     -1483.3834      -1155.8834
+  24143392.2874   -3848970.67649  -2979923.25745  24143392.6954   24143398.8794
+      3613.6034       2815.7974
+  21629438.4124  -18029145.20749 -14033567.81847  21629438.1584   21629442.4024
+     -1406.0674      -1095.6464
+  24966947.9604     497124.67448    629910.78444  24966947.0804   24966954.4984
+     -3525.8254      -2747.3894
+  22376063.6804  -12004722.26449  -8839884.45447  22376063.2914   22376068.5204
+     -1713.6814      -1335.3414
+  21210189.6594  -21558197.07549 -16778103.30948  21210189.4474   21210194.5514
+     -2103.4494      -1639.0514
+ 05  1 20 10  2  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20233960.7704  -22005191.32749 -17119792.18148  20233960.3724   20233964.6034
+       266.9294        207.9934
+  21808458.0134  -15515758.11349 -12061525.51947  21808458.8944   21808460.1054
+      2686.9624       2093.7374
+  24130836.5724   -3144991.49849  -2156355.86146  24130837.4534   24130843.1854
+     -1499.1124      -1168.1434
+  24122763.6434   -3957381.20349  -3064398.98645  24122763.5244   24122768.7394
+      3613.6934       2815.8634
+  21637481.4864  -17986880.67849 -14000634.29547  21637480.9404   21637485.3124
+     -1411.5694      -1099.9304
+  24987088.4864     602958.95848    712378.92044  24987090.4724
+     -3529.6704      -2750.4004
+  22385892.4604  -11953074.79949  -8799639.69847  22385892.0864   22385895.4644
+     -1729.3844      -1347.5664
+  21222237.0144  -21494888.53049 -16728771.97348  21222236.4484   21222242.0614
+     -2117.0974      -1649.6904
+ 05  1 20 10  2 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20232485.3494  -22012947.04349 -17125835.59548  20232484.7224   20232488.8184
+       250.1204        194.8994
+  21793148.0184  -15596218.40749 -12124221.85447  21793147.2624   21793149.2044
+      2677.0534       2086.0174
+  24139440.7124   -3099788.21949  -2121132.55246  24139439.6144   24139443.9124
+     -1514.7134      -1180.2934
+  24102134.5914   -4065791.06449  -3148874.16645  24102133.8444   24102140.8404
+      3613.5934       2815.7854
+  21645554.7474  -17944451.85049 -13967572.74947  21645554.5154   21645559.5134
+     -1417.0134      -1104.1674
+  25007251.7144     708907.36648    794936.08644
+     -3533.5114      -2753.4064
+  22395810.3224  -11900958.58849  -8759029.69147  22395809.7244   22395814.1684
+     -1744.9904      -1359.7304
+  21234361.9874  -21431170.93049 -16679121.90848  21234361.7624   21234367.0554
+     -2130.7234      -1660.3034
+ 05  1 20 10  3  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20231104.8184  -22020198.82349 -17131486.32248  20231104.5224   20231108.6994
+       233.3484        181.8284
+  21777893.1864  -15676380.34249 -12186685.69947  21777893.0894   21777894.6584
+      2667.0654       2078.2304
+  24148130.6964   -3054116.89049  -2085544.47546  24148130.7684   24148137.0984
+     -1530.3074      -1192.4424
+  24081505.8954   -4174197.49049  -3233346.68645  24081505.2444   24081511.3524
+      3613.4484       2815.6714
+  21653659.5774  -17901859.00649 -13934383.44648  21653659.7514   21653664.6424
+     -1422.4924      -1108.4354
+  25027428.5204     814968.26448    877580.87644
+     -3537.3064      -2756.3624
+  22405817.1784  -11848376.16849  -8718056.37347  22405815.2184   22405820.7024
+     -1760.4774      -1371.7954
+  21246564.4374  -21367045.18049 -16629153.79048  21246564.2344   21246569.3954
+     -2144.3194      -1670.9004
+ 05  1 20 10  3 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20229820.6724  -22026947.32749 -17136744.89948  20229820.4804   20229824.4044
+       216.5724        168.7554
+  21762696.1124  -15756241.26749 -12248914.98647  21762695.9924   21762697.8864
+      2656.9854       2070.3734
+  24156910.0184   -3007978.72349  -2049592.66246  24156910.5024   24156914.6424
+     -1545.8084      -1204.5274
+  24060879.0714   -4282597.97549  -3317814.59246  24060878.2224   24060882.6244
+      3613.2024       2815.4804
+  21661797.3324  -17859101.99349 -13901066.26248  21661796.5064   21661800.7574
+     -1427.9744      -1112.7114
+  25047631.6314     921140.13058     73796.95953
+     -3541.1244      -2761.0904
+  22415909.1574  -11795329.84749  -8676721.57847  22415908.8934   22415914.6744
+     -1775.9054      -1383.8274
+  21258844.9644  -21302512.17049 -16578868.33048  21258844.4764   21258849.9894
+     -2157.8904      -1681.4754
+ 05  1 20 10  4  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20228631.9584  -22033193.15549 -17141611.77348  20228631.6904   20228635.7514
+       199.8214        155.7014
+  21747558.0224  -15835798.80249 -12310907.87547  21747557.1834   21747558.5144
+      2646.8264       2062.4604
+  24165779.7954   -2961375.16349  -2013278.19246  24165780.1004   24165784.1744
+     -1561.3594      -1216.6554
+  24040251.7744   -4390989.52349  -3402275.54246  24040251.5204   24040256.0194
+      3612.8724       2815.2254
+  21669964.1394  -17816180.33849 -13867620.80247  21669963.5984   21669968.2714
+     -1433.4724      -1116.9934
+  25067859.1304    1027421.53058    156667.00254
+     -3544.5444      -2763.7554
+  22426092.6144  -11741821.98449  -8635027.15947  22426091.8894   22426096.6094
+     -1791.2524      -1395.7764
+  21271202.0874  -21237572.77149 -16528266.21348  21271201.9794   21271207.4594
+     -2171.4114      -1692.0124
+ 05  1 20 10  4 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20227538.9744  -22038936.97349 -17146087.47448  20227538.8014   20227542.6834
+       183.0854        142.6614
+  21732476.5524  -15915050.25849 -12372662.26847  21732475.8484   21732477.4314
+      2636.5704       2054.4704
+  24174736.3854   -2914307.36049  -1976601.95346  24174736.5144   24174741.4234
+     -1576.8414      -1228.7064
+  24019626.4264   -4499369.38549  -3486727.35445  24019625.9154   24019632.8804
+      3612.4114       2814.8604
+  21678162.9754  -17773094.29349 -13834047.24647  21678162.8364   21678167.0644
+     -1438.9454      -1121.2614
+  25088105.1894    1133810.25848    239620.64144
+     -3548.2394      -2766.6294
+  22436363.8874  -11687855.05349  -8592975.02647  22436363.5934   22436365.5494
+     -1806.5174      -1407.6794
+  21283636.7334  -21172227.78449 -16477348.03747  21283636.4694   21283642.6164
+     -2184.9334      -1702.5464
+ 05  1 20 10  5  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20226541.3884  -22044179.61149 -17150172.63848  20226541.1334   20226545.4014
+       166.4084        129.6674
+  21717453.8694  -15993993.54649 -12434176.51447  21717453.5264   21717455.0694
+      2626.2704       2046.4494
+  24183780.9694   -2866776.57049  -1939565.02646  24183781.2064   24183785.8144
+     -1592.1884      -1240.6634
+  23999004.5154   -4607734.57249  -3571167.76845  23999005.2434   23999011.1194
+      3611.8624       2814.4364
+  21686393.4004  -17729843.82449 -13800345.58747  21686393.5284   21686397.4204
+     -1444.4114      -1125.5134
+  25108371.7174    1240304.99358     67119.78653
+     -3551.4504      -2767.3644
+  22446719.6904  -11633431.85449  -8550567.37147  22446719.0724   22446722.1014
+     -1821.6854      -1419.4934
+  21296148.4314  -21106478.07249 -16426114.50347  21296148.2914   21296153.7964
+     -2198.3954      -1713.0324
+ 05  1 20 10  5 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20225639.5714  -22048921.72949 -17153867.79448  20225638.9654   20225643.0524
+       149.7684        116.7054
+  21702490.5654  -16072625.80449 -12495448.40747  21702490.2324   21702491.6834
+      2615.8804       2038.3534
+  24192912.7954   -2818784.33849  -1902168.43846  24192913.1864   24192917.2654
+     -1607.5604      -1252.6484
+  23978386.7544   -4716082.45249  -3655594.65945  23978386.8084   23978392.7484
+      3611.3264       2814.0114
+  21694655.3184  -17686428.95549 -13766515.83147  21694654.7254   21694659.1184
+     -1449.8814      -1129.7744
+  25128656.4324    1346904.14758    150154.88954
+     -3554.9814      -2769.1204
+  22457160.5334  -11578554.66649  -8507805.94347  22457160.1134   22457166.0814
+     -1836.7794      -1431.2584
+  21308737.8324  -21040324.56949 -16374566.32447  21308737.2754   21308742.6284
+     -2211.8264      -1723.5014
+ 05  1 20 10  6  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20224831.3854  -22053164.31449 -17157173.69748  20224831.2514   20224835.7624
+       133.1034        103.7124
+  21687586.8384  -16150944.57149 -12556476.02247  21687586.5324   21687588.1204
+      2605.3894       2030.1694
+  24202133.6684   -2770331.85349  -1864413.25746  24202133.6854   24202138.5354
+     -1622.8744      -1264.5714
+  23957774.0034   -4824410.14649  -3740005.84645  23957772.5614   23957778.1274
+      3610.4814       2813.3664
+  21702947.9624  -17642849.39749 -13732557.74247  21702947.9134   21702952.0484
+     -1455.3954      -1134.0744
+  25148955.9674    1453606.04458    233269.09254
+     -3558.5104      -2771.8574
+  22467688.6874  -11523225.92949  -8464692.64847  22467688.9114   22467694.6864
+     -1851.7894      -1442.9514
+  21321403.1214  -20973768.14649 -16322704.18347  21321402.5444   21321407.6574
+     -2225.2644      -1733.9744
+ 05  1 20 10  6 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20224119.4184  -22056907.88049 -17160090.76148  20224119.0214   20224123.1224
+       116.4704         90.7574
+  21672743.0914  -16228947.34249 -12617257.40747  21672743.5554   21672744.7284
+      2594.8114       2021.9284
+  24211439.7414   -2721420.50049  -1826300.50646  24211440.9214   24211445.5364
+     -1638.1254      -1276.4674
+  23937163.3214   -4932714.87049  -3824399.12545  23937163.3464   23937169.3224
+      3609.7104       2812.7534
+  21711271.5404  -17599105.14149 -13698471.30847  21711271.7994   21711276.8184
+     -1460.8914      -1138.3554
+  25169283.4814    1560408.80548     60379.82743
+     -3561.8154      -2775.4414
+  22478305.1014  -11467448.33549  -8421229.59747  22478303.6424   22478307.6294
+     -1866.6964      -1454.5594
+  21334144.0134  -20906809.78149 -16270528.84647  21334144.2254   21334149.5974
+     -2238.6264      -1744.3834
+ 05  1 20 10  7  0.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20223501.8734  -22060153.35649 -17162619.70148  20223501.5304   20223505.6724
+        99.9084         77.8524
+  21657962.0584  -16306631.48949 -12677790.51747  21657960.1884   21657962.3254
+      2584.1424       2013.6184
+  24220836.8814   -2672051.62749  -1787831.24246  24220835.3894   24220841.8404
+     -1653.3634      -1288.3224
+  23916560.6314   -5040993.63249  -3908772.19145  23916559.5064   23916563.2384
+      3608.8344       2812.0854
+  21719627.3504  -17555196.10349 -13664256.46747  21719627.4014   21719632.4844
+     -1466.3864      -1142.6394
+  25189629.3904    1667311.16948    143718.68144
+     -3565.1064      -2779.4594
+  22489003.9604  -11411224.48949  -8377418.82647  22489003.3864   22489007.7874
+     -1881.4984      -1466.1034
+  21346962.6994  -20839450.49149 -16218041.08547  21346962.2484   21346967.5604
+     -2251.9694      -1754.7794
+ 05  1 20 10  7 30.0000000  0  8G16G23G 6G 3G25G14G20G 1
+  20222978.6724  -22062901.52449 -17164761.12248  20222978.4594   20222982.5924
+        83.3464         64.9444
+  21643238.2564  -16383994.41949 -12738073.32347  21643238.4584   21643240.6784
+      2573.3784       2005.2304
+  24230316.9464   -2622226.73149  -1749006.67446  24230317.3624   24230320.1304
+     -1668.5144      -1300.1344
+  23895959.6454   -5149243.60649  -3993122.79145  23895959.9034   23895964.5824
+      3607.8114       2811.2814
+  21728014.4864  -17511122.11849 -13629913.09547  21728014.0844   21728019.0674
+     -1471.8934      -1146.9314
+  25209983.0914    1774311.03458    227138.39954
+     -3568.3824      -2782.0014
+  22499786.0264  -11354556.89949  -8333262.27947  22499786.3584   22499790.8094
+     -1896.2964      -1477.6374
+  21359857.0324  -20771691.25149 -16165241.68247  21359856.6854   21359861.9764
+     -2265.2964      -1765.1694
+ 05  1 20 10  8  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20222550.6744  -22065153.23949 -17166515.70148  20222550.1584   20222554.0204
+        66.7934         52.0494
+  21628578.7464  -16461033.75749 -12798103.97147  21628578.3924   21628580.9274
+      2562.5634       1996.8074
+  24239884.8414   -2571947.22049  -1709827.81946  24239884.9884   24239890.0094
+     -1683.6664      -1311.9554
+  23875366.1464   -5257462.06949  -4077448.83846  23875366.1944   23875372.2844
+      3606.7924       2810.4824
+  21736432.9684  -17466882.99549 -13595441.04847  21736433.0384   21736437.3174
+     -1477.3974      -1151.2144
+  22510654.8474  -11297447.93749  -8288761.82247  22510654.1344   22510658.1584
+     -1910.9384      -1489.0354
+  21372826.9154  -20703533.01949 -16112131.37847  21372826.7124   21372831.7914
+     -2278.5724      -1775.5124
+ 05  1 20 10  8 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20222216.4264  -22066909.26649 -17167884.03048  20222215.8424   20222219.9254
+        50.2924         39.1924
+  21613980.6384  -16537747.09849 -12857880.59947  21613980.1624   21613982.4564
+      2551.6404       1988.2944
+  24249540.7424   -2521214.52949  -1670295.83246  24249539.7584   24249543.2884
+     -1698.7864      -1323.7364
+  23854781.4354   -5365646.12049  -4161748.06546  23854780.1634   23854784.7344
+      3605.5554       2809.5244
+  21744883.3464  -17422478.82249 -13560840.40047  21744882.7504   21744887.1434
+     -1482.8804      -1155.4924
+  22521605.1764  -11239900.51949  -8243919.69147  22521605.3244   22521609.8574
+     -1925.5284      -1500.4134
+  21385872.3554  -20634976.74749 -16058710.91447  21385871.8784   21385877.6964
+     -2291.8324      -1785.8374
+ 05  1 20 10  9  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20221976.4954  -22068170.72349 -17168866.97848  20221975.8164   20221979.5254
+        33.8344         26.3604
+  21599445.7714  -16614131.80249 -12917401.15247  21599445.3374   21599446.3694
+      2540.6394       1979.7184
+  24259278.6534   -2470029.94649  -1630411.73846  24259279.1624   24259284.9294
+     -1713.8234      -1335.4474
+  23834200.4214   -5473793.01949  -4246018.37346  23834200.1754   23834205.2804
+      3604.2324       2808.4904
+  21753364.4704  -17377909.54349 -13526111.07847  21753364.2104   21753368.4914
+     -1488.4004      -1159.7944
+  22532639.4404  -11181917.03249  -8198737.75147  22532638.3524   22532643.3764
+     -1940.0244      -1511.7084
+  21398994.1084  -20566023.54249 -16004981.13847  21398993.7764   21398999.1414
+     -2305.0514      -1796.1414
+ 05  1 20 10  9 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20221829.9064  -22068938.22749 -17169465.02748  20221829.6164   20221833.7224
+        17.3674         13.5344
+  21584973.0934  -16690185.20949 -12976663.55347  21584972.5644   21584974.1184
+      2529.5874       1971.1104
+  24269103.6724   -2418395.06749  -1590176.78246  24269103.8904   24269109.6154
+     -1728.8284      -1347.1464
+  23813627.6934   -5581899.74449  -4330257.35546  23813627.7224   23813632.2884
+      3602.8584       2807.4204
+  21761876.6954  -17333175.18649 -13491253.13547  21761876.4714   21761881.2994
+     -1493.8914      -1164.0724
+  22543754.7264  -11123500.26549  -8153218.21547  22543754.2534   22543759.4384
+     -1954.3904      -1522.9014
+  21412191.5394  -20496674.26349 -15950942.74647  21412190.2664   21412196.1104
+     -2318.2394      -1806.4204
+ 05  1 20 10 10  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20221777.6644  -22069212.67249 -17169678.87648  20221777.3894   20221781.6734
+          .9344           .7284
+  21570563.1074  -16765905.13449 -13035666.09847  21570563.7424   21570565.4354
+      2518.3954       1962.3874
+  24279016.4274   -2366311.35449  -1549592.10546  24279016.2074   24279020.4674
+     -1743.7484      -1358.7704
+  23793064.9764   -5689963.39149  -4414462.79646  23793065.1334   23793069.0484
+      3601.3544       2806.2574
+  21770420.1794  -17288275.59249 -13456266.43047  21770420.2314   21770425.4984
+     -1499.4074      -1168.3694
+  22554953.9364  -11064652.68349  -8107362.97247  22554953.4614   22554957.5174
+     -1968.7484      -1534.0904
+  21425462.5844  -20426929.87749 -15896596.48647  21425462.6774   21425467.8244
+     -2331.3994      -1816.6744
+ 05  1 20 10 10 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20221819.3274  -22068995.08249 -17169509.32248  20221818.9324   20221822.8004
+       -15.4324        -12.0234
+  21556219.2974  -16841288.92549 -13094406.71147  21556218.2654   21556220.2304
+      2507.1424       1953.6184
+  24289011.8314   -2313780.26349  -1508658.76246  24289011.3504   24289016.6064
+     -1758.6364      -1370.3644
+  23772509.4254   -5797981.17549  -4498632.47946  23772508.8194   23772514.9354
+      3599.8164       2805.0544
+  21778997.3574  -17243210.39349 -13421150.68347  21778996.8224   21779000.6024
+     -1504.8984      -1172.6484
+  22566233.5064  -11005377.12549  -8061174.24047  22566232.8914   22566237.7884
+     -1982.9504      -1545.1554
+  21438809.2304  -20356791.46449 -15841943.18347  21438809.0634   21438814.5804
+     -2344.5134      -1826.8934
+ 05  1 20 10 11  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20221954.0664  -22068286.36249 -17168957.07048  20221953.7484   20221957.7564
+       -31.8164        -24.7924
+  21541938.4894  -16916333.99749 -13152883.39548  21541938.0114   21541939.6814
+      2495.8394       1944.8054
+  24299093.2024   -2260803.10049  -1467377.88846  24299092.6374   24299098.9784
+     -1773.4724      -1381.9214
+  23751963.9304   -5905950.22149  -4582764.20546  23751963.4374   23751967.6714
+      3598.1004       2803.7214
+  21787603.4174  -17197979.64149 -13385905.93447  21787603.6494   21787607.7634
+     -1510.4714      -1176.9924
+  22577595.2954  -10945676.06049  -8014653.94447  22577594.1584   22577598.5634
+     -1997.0834      -1556.1724
+  21452231.0444  -20286260.19249 -15786983.75547  21452230.6234   21452236.4664
+     -2357.5694      -1837.0664
+ 05  1 20 10 11 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20222181.9244  -22067087.46249 -17168022.86448  20222181.7474   20222185.8024
+       -48.1244        -37.4984
+  21527722.6154  -16991037.84249 -13211094.18848  21527722.6104   21527724.2434
+      2484.4044       1935.8994
+  24309260.2484   -2207381.73649  -1425750.82246  24309259.2224   24309264.9634
+     -1788.2664      -1393.4594
+  23731429.0344   -6013867.58549  -4666855.64646  23731427.8304   23731432.0784
+      3596.3344       2802.3364
+  21796242.8774  -17152583.29149 -13350532.15347  21796242.5704   21796246.8284
+     -1515.9664      -1181.2714
+  22589036.0664  -10885552.41849  -7967804.37647  22589035.1094   22589040.8734
+     -2011.1454      -1567.1184
+  21465727.7234  -20215337.25549 -15731719.13847  21465727.1364   21465732.3584
+     -2370.6114      -1847.2284
+ 05  1 20 10 12  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20222503.5354  -22065399.22749 -17166707.34648  20222503.2284   20222507.1694
+       -64.4284        -50.1994
+  21513572.5094  -17065397.83249 -13269037.03648  21513571.8464   21513573.9254
+      2472.9524       1926.9754
+  24319508.9844   -2153517.62349  -1383778.81846  24319509.8064   24319513.8554
+     -1802.9924      -1404.9334
+  23710903.9054   -6121730.29149  -4750904.48146  23710902.4414   23710906.1144
+      3594.4814       2800.8964
+  21804912.5634  -17107021.21649 -13315029.23147  21804912.1274   21804916.7174
+     -1521.5354      -1185.6144
+  22600557.8864  -10825008.82449  -7920627.56747  22600556.2504   22600561.2644
+     -2025.0684      -1577.9704
+  21479298.3034  -20144023.60249 -15676150.06647  21479297.9434   21479303.2234
+     -2383.6244      -1857.3664
+ 05  1 20 10 12 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20222917.8154  -22063222.68549 -17165011.32748  20222917.3254   20222921.4044
+       -80.6844        -62.8684
+  21499487.9464  -17139411.58549 -13326710.09148  21499487.8184   21499489.4874
+      2461.3194       1917.9104
+  24329844.4264   -2099212.21049  -1341462.88246  24329841.9534   24329847.9494
+     -1817.6824      -1416.3684
+  23690387.8324   -6229535.58449  -4834908.59246  23690387.5764   23690391.5004
+      3592.4914       2799.3454
+  21813614.1944  -17061293.30749 -13279397.09547  21813614.4854   21813618.7604
+     -1527.0654      -1189.9164
+  22612156.3054  -10764047.76749  -7873125.44847  22612156.0954   22612161.1984
+     -2038.9594      -1588.7924
+  21492943.1674  -20072320.28949 -15620277.36647  21492942.4564   21492947.5734
+     -2396.6094      -1867.4904
+ 05  1 20 10 13  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20223425.0034  -22060559.06049 -17162935.76848  20223424.3504   20223428.2624
+       -96.9184        -75.5194
+  21485469.6094  -17213076.65849 -13384111.45048  21485469.4214   21485471.5184
+      2449.6754       1908.8424
+  24340260.7204   -2044467.14649  -1298804.39846  24340260.7634   24340265.3244
+     -1832.3004      -1427.7704
+  23669885.4744   -6337280.69649  -4918865.81246  23669883.6684   23669888.2144
+      3590.4324       2797.7324
+  21822347.7304  -17015399.60049 -13243635.76347  21822347.2614   21822352.0004
+     -1532.5844      -1194.2204
+  22623836.4164  -10702672.13349  -7825300.31146  22623835.9944   22623840.2654
+     -2052.7714      -1599.5614
+  21506660.8624  -20000228.38849 -15564101.86447  21506661.0804   21506666.2534
+     -2409.5394      -1877.5594
+ 05  1 20 10 13 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20224023.8564  -22057409.22249 -17160481.34348  20224023.5224   20224027.6044
+      -113.0724        -88.1094
+  21471519.0224  -17286390.32349 -13441238.98147  21471518.1914   21471520.3034
+      2437.9194       1899.6774
+  24350761.8584   -1989283.89349  -1255804.46346  24350762.4064   24350767.0944
+     -1846.8584      -1439.1134
+  23649393.1754   -6444962.42149  -5002773.63946  23649392.6214   23649397.5914
+      3588.3194       2796.1034
+  21831112.3904  -16969339.79149 -13207745.00847  21831112.5274   21831117.1464
+     -1538.1024      -1198.5204
+  22635595.5374  -10640884.67049  -7777154.26147  22635593.8344   22635598.5674
+     -2066.4144      -1610.1934
+  21520454.5584  -19927749.15749 -15507624.55347  21520453.6384   21520458.4984
+     -2422.4084      -1887.5874
+ 05  1 20 10 14  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20224715.7514  -22053774.04849 -17157648.73948  20224715.3164   20224719.4364
+      -129.2394       -100.7034
+  21457634.8224  -17359350.26349 -13498090.88748  21457635.0654   21457636.4354
+      2426.0894       1890.4634
+  24361346.0934   -1933664.22849  -1212464.42346  24361345.5164   24361350.9584
+     -1861.4074      -1450.4464
+  23628915.3894   -6552578.03649  -5086629.95646  23628914.8844   23628919.6854
+      3586.0484       2794.3184
+  21839908.9404  -16923113.70749 -13171724.67447  21839908.4574   21839913.6544
+     -1543.6344      -1202.8284
+  22647428.5634  -10578688.07049  -7728689.38447  22647428.7994   22647434.9144
+     -2079.9974      -1620.7814
+  21534319.2964  -19854883.71649 -15450846.28447  21534319.2894   21534325.1894
+     -2435.2754      -1897.6124
+ 05  1 20 10 14 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20225499.8904  -22049654.72349 -17154438.86948  20225499.3444   20225503.1584
+      -145.3684       -113.2744
+  21443820.0164  -17431953.98549 -13554665.22648  21443818.9024   21443820.2794
+      2414.1554       1881.1604
+  24372011.3884   -1877609.67649  -1168785.54946  24372011.3904   24372018.1684
+     -1875.8494      -1461.6994
+  23608450.0784   -6660124.68949  -5170432.51246  23608448.6784   23608455.7214
+      3583.6924       2792.4784
+  21848737.0164  -16876721.32049 -13135574.77147  21848736.5674   21848741.4924
+     -1549.1754      -1207.1454
+  22659342.7104  -10516085.08049  -7679907.84047  22659342.1344   22659346.8314
+     -2093.4884      -1631.2934
+  21548259.0894  -19781633.33649 -15393768.07547  21548258.4684   21548263.8134
+     -2448.0724      -1907.5914
+ 05  1 20 10 15  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20226375.0704  -22045052.08549 -17150852.38748  20226375.1024   20226379.1584
+      -161.4704       -125.8214
+  21430071.1264  -17504198.72749 -13610959.83748  21430071.2634   21430072.3424
+      2402.1424       1871.7994
+  24382762.4884   -1821121.83549  -1124769.06446  24382763.0404   24382767.7814
+     -1890.2494      -1472.9204
+  23587995.5424   -6767599.29149  -5254178.93846  23587996.3794   23588002.5484
+      3581.2724       2790.6064
+  21857596.5564  -16830162.60149 -13099295.24847  21857596.5714   21857601.5674
+     -1554.7284      -1211.4754
+  22671332.3864  -10453078.40249  -7630811.75846  22671331.7444   22671336.4124
+     -2106.9454      -1641.7754
+  21562270.8584  -19707999.10749 -15336390.75947  21562270.5424   21562275.6444
+     -2460.8634      -1917.5574
+ 05  1 20 10 15 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20227342.8614  -22039967.35349 -17146890.25448  20227342.4304   20227346.8954
+      -177.5244       -138.3344
+  21416393.2674  -17576082.13049 -13666972.87348  21416392.0384   21416393.5014
+      2390.0714       1862.3924
+  24393594.0334   -1764202.07149  -1080416.02446  24393593.7014   24393598.1994
+     -1904.6394      -1484.1384
+  23567559.5724   -6874998.88949  -5337866.93846  23567559.3304   23567565.5554
+      3578.6984       2788.5874
+  21866489.0864  -16783437.32049 -13062885.94247  21866488.5014   21866492.6674
+     -1560.3044      -1215.8274
+  22683399.4304  -10389670.89649  -7581403.34146  22683398.6554   22683402.6304
+     -2120.2284      -1652.1234
+  21576355.2224  -19633982.16049 -15278715.23047  21576355.4184   21576360.5204
+     -2473.5844      -1927.4674
+ 05  1 20 10 16  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20228401.7714  -22034401.66949 -17142553.35248  20228401.6434   20228405.9634
+      -193.5414       -150.8134
+  21402782.7454  -17647601.68949 -13722702.40948  21402782.4134   21402783.8364
+      2377.8814       1852.8904
+  24404507.8734   -1706852.50749  -1035728.00846  24404508.1074   24404512.1124
+     -1918.9614      -1495.2914
+  23547136.9094   -6982320.47649  -5421494.15046  23547136.4464   23547142.5184
+      3576.0264       2786.5204
+  21875411.5084  -16736545.46049 -13026346.83247  21875411.6294   21875416.1334
+     -1565.8524      -1220.1464
+  22695540.9114  -10325865.48549  -7531684.89346  22695539.8914   22695544.6184
+     -2133.4514      -1662.4264
+  21590513.6374  -19559583.56649 -15220742.30847  21590513.0654   21590517.4634
+     -2486.2924      -1937.3724
+ 05  1 20 10 16 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20229552.5094  -22028356.13549 -17137842.54248  20229552.0834   20229556.2974
+      -209.4954       -163.2464
+  21389242.4204  -17718754.85049 -13778146.43448  21389242.5164   21389243.9944
+      2365.6494       1843.3594
+  24415500.4754   -1649074.52449   -990706.21345  24415501.4274   24415507.6834
+     -1933.2044      -1506.3894
+  23526729.1114   -7089561.22949  -5505058.36046  23526728.6244   23526734.8854
+      3573.3184       2784.4044
+  21884366.5574  -16689487.05449 -12989677.94247  21884366.5794   21884371.3304
+     -1571.3744      -1224.4534
+  22707757.1424  -10261664.96549  -7481658.53847  22707756.2674   22707762.4644
+     -2146.5564      -1672.6404
+  21604743.0504  -19484804.66749 -15162473.03847  21604742.6624   21604748.0494
+     -2498.9534      -1947.2354
+ 05  1 20 10 17  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20230793.9284  -22021831.53149 -17132758.42648  20230793.6684   20230797.8164
+      -225.4714       -175.6914
+  21375773.2374  -17789539.07749 -13833302.97748  21375772.6554   21375774.3334
+      2353.2894       1833.7314
+  24426575.9544   -1590869.92449   -945352.05245  24426577.0494   24426581.7134
+     -1947.4224      -1517.4764
+  23506337.0524   -7196718.34249  -5588557.38546  23506337.3284   23506343.8364
+      3570.4394       2782.1584
+  21893354.3454  -16642261.55949 -12952878.86047  21893353.3854   21893357.6934
+     -1576.9794      -1228.8184
+  22720049.6584  -10197071.85849  -7431326.28346  22720049.1784   22720053.3344
+     -2159.6284      -1682.8294
+  21619045.4234  -19409646.62449 -15103908.34647  21619045.0034   21619050.5644
+     -2511.5854      -1957.0824
+ 05  1 20 10 17 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20232126.4844  -22014829.25149 -17127302.10048  20232126.2824   20232130.1724
+      -241.3504       -188.0684
+  21362373.9684  -17859952.11649 -13888170.28548  21362373.3804   21362375.4714
+      2340.8904       1824.0684
+  24437731.9064   -1532240.27849   -899666.65245  24437733.3474   24437739.8464
+     -1961.5124      -1528.4474
+  23485964.0334   -7303788.96849  -5671989.03546  23485962.9104   23485969.7124
+      3567.5554       2779.9144
+  21902371.9414  -16594868.95949 -12915949.56547  21902372.2164   21902376.1724
+     -1582.5274      -1233.1374
+  22732416.8064  -10132089.29849  -7380690.54546  22732415.0444   22732418.7374
+     -2172.5474      -1692.8984
+  21633420.2064  -19334110.76449 -15045049.23847  21633419.1424   21633423.9704
+     -2524.1464      -1966.8684
+ 05  1 20 10 18  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20233549.8914  -22007350.48449 -17121474.48348  20233549.4904   20233553.3604
+      -257.2134       -200.4264
+  21349044.9954  -17929991.16249 -13942746.17048  21349045.3504   21349047.1904
+      2328.3704       1814.3134
+  24448972.8154   -1473187.51049   -853651.51245  24448971.4714   24448975.2924
+     -1975.5994      -1539.4324
+  23465606.1574   -7410769.95649  -5755350.82746  23465605.5704   23465612.1694
+      3564.4914       2777.5244
+  21911422.3924  -16547309.82949 -12878890.50947  21911422.0544   21911426.7304
+     -1588.0844      -1237.4664
+  22744855.1194  -10066719.95949  -7329753.43646  22744854.0314   22744857.7804
+     -2185.3814      -1702.8904
+  21647864.2404  -19258198.18149 -14985896.58247  21647864.4884   21647870.8184
+     -2536.6944      -1976.6454
+ 05  1 20 10 18 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20235063.3664  -21999396.30649 -17115276.41948  20235063.0404   20235067.0884
+      -273.0564       -212.7734
+  21335789.2494  -17999653.95049 -13997028.87048  21335788.6904   21335790.7794
+      2315.7914       1804.5114
+  24460287.5534   -1413713.03049   -807307.73145  24460287.9044   24460295.1774
+     -1989.6214      -1550.3584
+  23445264.8274   -7517658.35149  -5838640.46446  23445264.5074   23445271.0124
+      3561.3454       2775.0724
+  21920504.3954  -16499583.46749 -12841701.14647  21920503.9164   21920508.1364
+     -1593.6774      -1241.8274
+  22757365.9014  -10000966.70949  -7278517.15746  22757365.6174   22757370.9184
+     -2198.1394      -1712.8354
+  21662381.8214  -19181910.18749 -14926451.40147  21662381.7534   21662386.8924
+     -2549.1914      -1986.3834
+ 05  1 20 10 19  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20236667.2634  -21990967.80349 -17108708.74748  20236666.7854   20236670.9164
+      -288.8404       -225.0704
+  21322605.9954  -18068937.88349 -14051016.35348  21322604.8864   21322606.3534
+      2303.1184       1794.6414
+  24471687.1804   -1353818.79849   -760636.89745  24471687.5694   24471691.4834
+     -2003.5774      -1561.2304
+  23424943.5824   -7624450.87449  -5921855.40646  23424943.6064   23424948.6274
+      3558.1194       2772.5544
+  21929617.2664  -16451689.65649 -12804381.28547  21929617.6754   21929622.5264
+     -1599.2464      -1246.1614
+  22769950.9834   -9934832.46349  -7226983.97846  22769950.7864   22769956.0874
+     -2210.8014      -1722.7014
+  21676970.2884  -19105248.10449 -14866714.72347  21676970.1604   21676975.3074
+     -2561.6364      -1996.0814
+ 05  1 20 10 19 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20238361.3194  -21982066.19449 -17101772.42648  20238360.8504   20238364.7634
+      -304.6014       -237.3494
+  21309493.5494  -18137840.56549 -14104706.75048  21309492.5994   21309494.5604
+      2290.3614       1784.6974
+  24483163.0934   -1293506.54349   -713640.33645  24483162.7644   24483169.2644
+     -2017.4294      -1572.0184
+  23404641.0844   -7731144.92649  -6004993.63046  23404639.8204   23404646.1354
+      3554.7924       2769.9704
+  21938764.1724  -16403628.32349 -12766930.89947  21938764.1354   21938768.2564
+     -1604.8564      -1250.5404
+  22782610.4934   -9868320.01949  -7175156.11547  22782608.9734   22782613.1714
+     -2223.3564      -1732.4864
+  21691629.8834  -19028213.19249 -14806687.53347  21691629.6874   21691635.2134
+     -2574.0264      -2005.7344
+ 05  1 20 10 20  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20240144.9734  -21972692.82549 -17094468.49948  20240144.6524   20240148.7474
+      -320.2894       -249.5764
+  21296453.6484  -18206359.33349 -14158098.00448  21296454.1404   21296455.6694
+      2277.5454       1774.7114
+  24494719.8494   -1232777.95549   -666319.38445  24494719.6744   24494723.9014
+     -2031.3584      -1582.8794
+  23384354.8474   -7837737.82949  -6088053.01046  23384355.3314   23384361.7224
+      3551.3734       2767.2964
+  21947941.4084  -16355399.27549 -12729349.82347  21947941.3194   21947945.9534
+     -1610.4164      -1254.8734
+  22795336.4184   -9801432.24349  -7123035.79946  22795336.1914   22795340.5594
+     -2235.8004      -1742.1794
+  21706359.4034  -18950806.85849 -14746370.91147  21706359.5774   21706364.6794
+     -2586.4034      -2015.3794
+ 05  1 20 10 20 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20242018.6534  -21962848.71049 -17086797.76148  20242018.0954   20242021.7204
+      -335.9654       -261.7924
+  21283489.1214  -18274491.77849 -14211188.21748  21283489.1094   21283490.4804
+      2264.6084       1764.6334
+  24506354.2244   -1171634.79149   -618675.32045  24506354.8844   24506359.9294
+     -2045.1164      -1593.5964
+  23364091.7714   -7944226.41149  -6171031.12346  23364091.4454   23364097.2624
+      3547.8524       2764.5644
+  21957150.9354  -16307002.53549 -12691638.07947  21957150.8804   21957154.8394
+     -1616.0164      -1259.2304
+  22808135.2364   -9734172.04649  -7070625.27946  22808135.3184   22808141.0194
+     -2248.1854      -1751.8334
+  21721160.3504  -18873030.27449 -14685765.78047  21721159.8624   21721164.9934
+     -2598.6894      -2024.9524
+ 05  1 20 10 21  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20243980.7044  -21952534.95849 -17078761.06448  20243980.3414   20243984.3634
+      -351.6044       -273.9794
+  21270598.1834  -18342235.47149 -14263975.52348  21270597.8714   21270599.3394
+      2251.6234       1754.5094
+  24518068.8274   -1110078.82249   -570709.64745  24518068.7044   24518074.2784
+     -2058.8684      -1604.3144
+  23343848.8154   -8050607.50949  -6253925.47246  23343847.8534   23343853.6704
+      3544.2084       2761.7124
+  21966392.3754  -16258437.97749 -12653795.56947  21966392.5054   21966396.7254
+     -1621.6174      -1263.5974
+  22821006.9224   -9666542.19749  -7017926.70646  22821005.6754   22821009.6554
+     -2260.4524      -1761.4004
+  21736031.3494  -18794884.60949 -14624873.07547  21736030.8664   21736035.9224
+     -2610.9864      -2034.5334
+ 05  1 20 10 21 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20246032.6194  -21941752.93849 -17070359.49048  20246031.9164   20246036.3544
+      -367.1974       -286.1264
+  21257781.5434  -18409588.09049 -14316458.08848  21257781.0164   21257782.5664
+      2238.5284       1744.3114
+  24529861.3464   -1048111.91249   -522423.74345  24529861.1334   24529865.7984
+     -2072.5674      -1614.9874
+  23323624.8394   -8156878.11149  -6336733.70846  23323624.5744   23323630.1304
+      3540.4684       2758.8014
+  21975665.9264  -16209705.46949 -12615822.19147  21975665.5144   21975670.4884
+     -1627.2394      -1267.9854
+  22833944.5974   -9598545.63249  -6964942.37446  22833944.5524   22833950.2374
+     -2272.6404      -1770.8924
+  21750971.4844  -18716371.26249 -14563693.85847  21750971.2054   21750976.7684
+     -2623.2204      -2044.0654
+ 05  1 20 10 22  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20248173.0184  -21930503.86949 -17061593.97848  20248172.6934   20248176.8274
+      -382.7554       -298.2524
+  21245039.6244  -18476546.88949 -14368633.77348  21245039.3184   21245041.1444
+      2225.3664       1734.0504
+  24541731.4554    -985735.74049   -473818.98145  24541731.6364   24541736.2644
+     -2086.1794      -1625.5944
+  23303425.2444   -8263035.21849  -6419453.50846  23303424.2974   23303430.2104
+      3536.6374       2755.8214
+  21984970.9664  -16160805.12849 -12577718.02347  21984971.1634   21984976.1124
+     -1632.8414      -1272.3514
+  22846953.5714   -9530185.55649  -6911674.80146  22846952.6824   22846957.5174
+     -2284.7074      -1780.3014
+  21765980.7394  -18637491.77849 -14502229.32347  21765980.9374   21765986.3274
+     -2635.3964      -2053.5594
+ 05  1 20 10 22 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20250402.1404  -21918789.11249 -17052465.59748  20250402.0104   20250406.1354
+      -398.2554       -310.3304
+  21232373.3214  -18543109.60649 -14420500.82548  21232372.6274   21232374.5304
+      2212.1304       1723.7384
+  24553676.7564    -922952.24349   -424896.81045  24553677.3594   24553681.8764
+     -2099.6634      -1636.1034
+  23283246.1644   -8369076.06149  -6502082.74146  23283245.7644   23283251.1104
+      3532.7264       2752.7804
+  21994308.7694  -16111736.21749 -12539482.52947  21994309.0374   21994313.1504
+     -1638.4404      -1276.7024
+  22860031.1344   -9461464.72049  -6858126.12146  22860030.1334   22860034.2424
+     -2296.6904      -1789.6324
+  21781061.3164  -18558247.34949 -14440480.41847  21781060.9324   21781067.1524
+     -2647.5614      -2063.0304
+ 05  1 20 10 23  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20252720.1944  -21906609.88249 -17042975.28648  20252719.8094   20252723.7834
+      -413.7084       -322.3714
+  21219783.0184  -18609273.73049 -14472057.28448  21219782.3934   21219783.9724
+      2198.7914       1713.3454
+  24565702.1014    -859763.25249   -375658.56945  24565701.4424   24565708.4254
+     -2113.2194      -1646.6634
+  23263088.6264   -8474997.87849  -6584619.21146  23263088.6554   23263093.6064
+      3528.6894       2749.6274
+  22003679.2134  -16062499.11349 -12501115.96047  22003678.3304   22003683.0014
+     -1644.0484      -1281.0774
+  22873175.5734   -9392386.08849  -6804298.62146  22873174.8224   22873180.1804
+     -2308.5634      -1798.8724
+  21796210.2584  -18478639.42549 -14378448.29047  21796209.7814   21796215.0764
+     -2659.6454      -2072.4544
+ 05  1 20 10 23 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20255125.8564  -21893967.42149 -17033124.01148  20255125.4174   20255129.5914
+      -429.1234       -334.3814
+  21207268.4884  -18675036.64349 -14523301.12948  21207268.0414   21207269.4834
+      2185.3964       1702.9054
+  24577803.8104    -796170.66449   -326105.91145  24577804.3584   24577808.8724
+     -2126.5874      -1657.0804
+  23242956.3744   -8580797.17949  -6667060.21146  23242956.4974   23242962.3014
+      3524.6074       2746.4464
+  22013080.5064  -16013093.49349 -12462618.07147  22013080.0074   22013084.3564
+     -1649.6674      -1285.4564
+  22886389.0834   -9322952.33549  -6750194.43846  22886388.5574   22886392.8884
+     -2320.3594      -1808.0824
+  21811428.4564  -18398669.51949 -14316134.08947  21811428.1154   21811433.1744
+     -2671.6744      -2081.8284
+ 05  1 20 10 24  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20257619.9834  -21880862.97049 -17022912.74148  20257619.2714   20257623.0494
+      -444.4994       -346.3634
+  21194831.2894  -18740395.98749 -14574230.49248  21194830.6884   21194832.2994
+      2171.9044       1692.3934
+  24589981.4504    -732176.17249   -276239.97545  24589981.4054   24589986.4974
+     -2139.9914      -1667.5294
+  23222847.3314   -8686471.30049  -6749403.65946  23222847.2284   23222851.0714
+      3520.3224       2743.1164
+  22022514.0304  -15963519.23249 -12423988.78747  22022513.7534   22022518.5204
+     -1655.2984      -1289.8414
+  22899670.1454   -9253166.73149  -6695816.07246  22899668.2734   22899673.3294
+     -2332.0274      -1817.1494
+  21826713.7244  -18318338.91549 -14253538.81947  21826713.6964   21826719.2364
+     -2683.7004      -2091.1884
+ 05  1 20 10 24 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20260200.7804  -21867297.84449 -17012342.50248  20260200.3314   20260204.5724
+      -459.8374       -358.3164
+  21182470.6554  -18805349.41549 -14624843.55248  21182470.3444   21182471.7094
+      2158.3084       1681.7984
+  24602232.8584    -667781.68249   -226062.53145  24602234.0234   24602239.9624
+     -2153.2814      -1677.8774
+  23202762.5654   -8792017.20049  -6831647.21546  23202762.3494   23202767.9294
+      3516.0144       2739.7464
+  22031979.4474  -15913776.29149 -12385228.05347  22031979.2154   22031983.8034
+     -1660.9364      -1294.2374
+  22913015.1574   -9183032.19249  -6641165.78046  22913014.6294   22913019.3544
+     -2343.6154      -1826.1974
+  21842069.5384  -18237648.88449 -14190663.48647  21842069.0524   21842074.0344
+     -2695.6394      -2100.5044
+ 05  1 20 10 25  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20262869.3484  -21853273.52649 -17001414.45448  20262869.0554   20262873.1694
+      -475.1224       -370.2244
+  21170188.5314  -18869894.37949 -14675138.34348  21170187.9274   21170189.4774
+      2144.6564       1671.1614
+  24614564.6814    -602989.22249   -175574.88545  24614564.5634   24614568.7374
+     -2166.4834      -1688.1644
+  23182702.5414   -8897431.76649  -6913788.40346  23182702.8514   23182708.4214
+      3511.5744       2736.2894
+  22041477.7824  -15863864.40049 -12346335.67547  22041477.5054   22041481.7554
+     -1666.5454      -1298.6044
+  22926426.1564   -9112551.64749  -6586245.88546  22926425.8114   22926430.8884
+     -2355.0974      -1835.1354
+  21857492.4234  -18156601.01449 -14127509.31047  21857491.9454   21857496.9044
+     -2707.5704      -2109.7974
+ 05  1 20 10 25 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20265625.3704  -21838791.05949 -16990129.41048  20265624.9544   20265629.1494
+      -490.3694       -382.1034
+  21157983.1244  -18934028.52449 -14725113.00948  21157983.1554   21157985.4004
+      2130.9254       1660.4664
+  24626970.9524    -537800.44049   -124778.36845  24626970.8904   24626976.5964
+     -2179.6784      -1698.4484
+  23162668.8764   -9002712.19549  -6995825.11746  23162668.4154   23162673.7074
+      3507.1074       2732.8234
+  22051007.9974  -15813783.42449 -12307311.54547  22051007.5054   22051012.5084
+     -1672.2004      -1303.0114
+  22939904.2594   -9041727.85049  -6531058.51446  22939903.6794   22939908.5724
+     -2366.4824      -1844.0164
+  21872983.0794  -18075196.68849 -14064077.38547  21872981.9064   21872987.6494
+     -2719.4124      -2119.0154
+ 05  1 20 10 26  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20268468.1694  -21823852.07349 -16978488.63448  20268467.8254   20268471.7604
+      -505.5594       -393.9454
+  21145857.9674  -18997749.44849 -14774765.67248  21145857.6264   21145859.4874
+      2117.1114       1649.6964
+  24639448.7374    -472217.44749    -73674.72745  24639449.6954   24639453.8514
+     -2192.7854      -1708.6634
+  23142658.9134   -9107855.62049  -7077755.04846  23142660.4394   23142666.4094
+      3502.4724       2729.1934
+  22060569.5194  -15763533.28849 -12268155.59547  22060569.3944   22060574.2274
+     -1677.8304      -1307.3994
+  22953445.9644   -8970564.23349  -6475606.33246  22953445.2094   22953450.5404
+     -2377.7434      -1852.7994
+  21888541.2184  -17993437.35849 -14000368.81847  21888540.6804   21888546.6584
+     -2731.2184      -2128.2294
+ 05  1 20 10 26 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20271397.8234  -21808457.64849 -16966492.97048  20271397.3224   20271401.4474
+      -520.7084       -405.7484
+  21133811.4324  -19061054.58649 -14824094.36848  21133811.0184   21133812.9374
+      2103.2274       1638.8784
+  24652005.6844    -406242.03349    -22265.31045  24652004.8284   24652009.3904
+     -2205.8634      -1718.8564
+  23122679.3404   -9212858.85249  -7159575.74146  23122678.8504   23122684.8114
+      3497.7534       2725.5164
+  22070164.7144  -15713113.72349 -12228867.64047  22070163.9204   22070168.5494
+     -1683.4514      -1311.7794
+  22967052.1594   -8899063.60149  -6419891.55046  22967051.4454   22967056.3624
+     -2388.9234      -1861.5024
+  21904167.3394  -17911324.52849 -13936384.81047  21904166.6234   21904171.4754
+     -2742.9634      -2137.3744
+ 05  1 20 10 27  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20274413.2964  -21792609.46849 -16954143.73548  20274413.2164   20274417.3634
+      -535.8074       -417.5124
+  21121843.8494  -19123941.57149 -14873097.21448  21121843.7984   21121846.0224
+      2089.2574       1627.9934
+  24664634.4184    -339876.22049     29448.28645  24664634.3364   24664637.0334
+     -2218.8154      -1728.9434
+  23102725.7554   -9317718.73149  -7241284.71946  23102724.8734   23102730.2984
+      3492.8934       2721.7324
+  22079790.7464  -15662524.49649 -12189447.44847  22079790.5414   22079795.6104
+     -1689.1244      -1316.1984
+  22980722.2814   -8827228.87149  -6363916.46846  22980721.7534   22980725.4974
+     -2400.0284      -1870.1464
+  21919859.1724  -17828859.57749 -13872126.41047  21919858.9814   21919864.4594
+     -2754.6744      -2146.5004
+ 05  1 20 10 27 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20277515.3304  -21776308.66649 -16941441.80748  20277515.0964   20277519.3424
+      -550.8794       -429.2614
+  21109957.7564  -19186407.89549 -14921772.27848  21109957.3344   21109958.9334
+      2075.1764       1617.0214
+  24677335.0734    -273121.94049     81464.69945  24677335.6414   24677342.0174
+     -2231.7934      -1739.0604
+  23082799.6524   -9422432.27949  -7322879.67546  23082798.7854   23082804.8664
+      3487.9734       2717.9024
+  22089449.3164  -15611765.50649 -12149894.98447  22089449.5964   22089455.1154
+     -1694.8084      -1320.6304
+  22994454.6864   -8755062.85649  -6307683.22646  22994453.8044   22994457.7794
+     -2411.0084      -1878.7024
+  21935618.9484  -17746044.01149 -13807594.81847  21935618.6974   21935623.3324
+     -2766.3324      -2155.5884
+ 05  1 20 10 28  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20280703.0994  -21759556.63449 -16928388.26848  20280702.7774   20280707.0914
+      -565.9164       -440.9774
+  21098151.8334  -19248451.12249 -14970117.65648  21098150.9154   21098152.5214
+      2061.0354       1605.9974
+  24690114.0384    -205981.01249    133782.25845  24690113.3674   24690118.4594
+     -2244.5484      -1748.9854
+  23062900.6914   -9526996.52249  -7404358.29846  23062900.3094   23062906.5354
+      3482.9794       2714.0164
+  22099142.3744  -15560837.03649 -12110210.46647  22099141.5884   22099145.9624
+     -1700.4344      -1325.0104
+  23008247.9634   -8682568.82249  -6251194.38246  23008248.1044   23008253.3614
+     -2421.9084      -1887.2164
+  21951444.8174  -17662879.30849 -13742791.16747  21951444.1354   21951449.5344
+     -2777.9644      -2164.6464
+ 05  1 20 10 28 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20283976.2454  -21742354.90849 -16914984.31748  20283976.0744   20283980.5304
+      -580.8624       -452.6214
+  21086425.4654  -19310069.07849 -15018131.64948  21086425.3904   21086427.0064
+      2046.8434       1594.9384
+  24702963.5364    -138455.34549    186399.70245  24702962.9574   24702967.5304
+     -2257.3704      -1758.9964
+  23043031.6864   -9631408.73949  -7485718.46046  23043031.9484   23043036.5674
+      3477.8514       2710.0034
+  22108865.0584  -15509738.74149 -12070393.62247  22108865.1814   22108869.5944
+     -1706.1304      -1329.4554
+  23022107.0934   -8609749.91149  -6194452.39646  23022106.8724   23022111.3474
+     -2432.6724      -1895.5944
+  21967336.3674  -17579366.94549 -13677716.61647  21967336.4734   21967341.3914
+     -2789.5234      -2173.6564
+ 05  1 20 10 29  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20287335.0934  -21724704.96949 -16901231.11148  20287334.8834   20287339.0584
+      -595.7864       -464.2494
+  21074781.5444  -19371259.48649 -15065812.48748  21074781.2244   21074782.7994
+      2032.5294       1583.7864
+  24715885.8504     -70547.06149    239315.22745  24715886.2354   24715888.7684
+     -2270.0934      -1768.9004
+  23023192.0374   -9735665.49349  -7566957.47846  23023191.9584   23023198.0684
+      3472.5914       2705.9124
+  22118620.6444  -15458470.20249 -12030444.11347  22118620.9834   22118625.8194
+     -1711.7914      -1333.8634
+  23036025.6954   -8536608.88449  -6137459.40346  23036024.5484   23036029.3664
+     -2443.3644      -1903.9214
+  21983294.1194  -17495508.48749 -13612372.36647  21983293.9634   21983298.5524
+     -2801.0194      -2182.6154
+ 05  1 20 10 29 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20290779.1834  -21706607.83449 -16887129.44248  20290778.6194   20290782.7424
+      -610.6574       -475.8354
+  21063219.5184  -19432019.74249 -15113158.14948  21063219.1464   21063220.6534
+      2018.1754       1572.6034
+  24728881.2954      -2258.16849    292527.40745  24728880.7284   24728886.3454
+     -2282.7364      -1778.7444
+  23003384.0524   -9839764.05149  -7648073.22246  23003383.4184   23003388.5494
+      3467.2474       2701.7454
+  22128409.2264  -15407031.32549 -11990361.87347  22128409.3624   22128414.4384
+     -1717.4574      -1338.2784
+  23050004.6654   -8463149.00249  -6080217.96146  23050003.9924   23050007.6944
+     -2453.9374      -1912.1634
+  21999316.7144  -17411305.44749 -13546759.61047  21999316.6254   21999322.7334
+     -2812.4864      -2191.5484
+ 05  1 20 10 30  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20294307.5534  -21688065.19649 -16872680.63048  20294307.1934   20294311.4084
+      -625.5054       -487.4054
+  21051739.7354  -19492347.51049 -15160166.80348  21051739.0914   21051740.8774
+      2003.6774       1561.3064
+  24741947.8514      66409.46449    346034.70945  24741947.4904   24741954.5024
+     -2295.3564      -1788.5934
+  22983604.6914   -9943701.32249  -7729063.28546  22983604.4974   22983610.2654
+      3461.8714       2697.5554
+  22138230.6574  -15355422.27849 -11950147.03947  22138230.2304   22138235.0294
+     -1723.1424      -1342.7104
+  23064042.6994   -8389372.99549  -6022730.19746  23064042.9954   23064047.4744
+     -2464.4344      -1920.3404
+  22015405.9474  -17326759.38649 -13480879.59347  22015405.5884   22015410.8904
+     -2823.9284      -2200.4634
+ 05  1 20 10 30 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20297920.4514  -21669078.38249 -16857885.69548  20297920.3814   20297924.5674
+      -640.2854       -498.9224
+  21040342.3874  -19552240.33349 -15206836.54748  21040341.9384   21040343.5064
+      1989.1374       1549.9804
+  24755089.1574     135453.79549    399835.48045  24755086.6724   24755091.1204
+     -2307.8814      -1798.3364
+  22963857.7064  -10047474.38649  -7809925.40346  22963857.4124   22963862.8444
+      3456.3044       2693.2314
+  22148084.2214  -15303642.81049 -11909799.40547  22148084.0674   22148088.5184
+     -1728.8324      -1347.1464
+  23078142.3694   -8315284.12349  -5964998.63246  23078141.7594   23078147.0134
+     -2474.8134      -1928.4244
+  22031559.9614  -17241871.87649 -13414733.48147  22031559.3704   22031564.7424
+     -2835.2634      -2209.2994
+ 05  1 20 10 31  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20301617.7464  -21649648.98449 -16842745.90148  20301617.3654   20301621.7454
+      -654.9884       -510.3764
+  21029027.8044  -19611695.78449 -15253165.47948  21029027.4104   21029029.8284
+      1974.5564       1538.6174
+  24768294.2444     204872.93149    453928.28645  24768295.3734   24768300.5294
+     -2320.3654      -1808.0794
+  22944141.6074  -10151080.27449  -7890657.26046  22944140.7464   22944146.8744
+      3450.7064       2688.8484
+  22157969.7194  -15251692.74849 -11869318.83947  22157969.2614   22157974.8604
+     -1734.5174      -1351.5704
+  23092299.3304   -8240885.57549  -5907025.75546  23092298.1814   23092303.3904
+     -2485.0844      -1936.4224
+  22047778.3264  -17156644.49949 -13348322.54847  22047777.4434   22047783.3514
+     -2846.5624      -2218.1004
+ 05  1 20 10 31 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20305399.6614  -21629778.56049 -16827262.44548  20305398.7944   20305402.9314
+      -669.6884       -521.8364
+  21017797.3314  -19670711.58049 -15299151.81648  21017797.0984   21017799.3034
+      1959.8424       1527.1544
+  24781579.7734     274664.68949    508311.47945  24781577.0034   24781581.1484
+     -2332.7034      -1817.6694
+  22924457.8084  -10254515.81049  -7971256.36846  22924457.7664   22924463.4264
+      3444.9754       2684.4014
+  22167888.3844  -15199571.81049 -11828705.12647  22167888.2264   22167892.2954
+     -1740.2034      -1356.0064
+  23106513.9154   -8166180.34149  -5848813.89146  23106513.2164   23106519.4194
+     -2495.2464      -1944.3544
+  22064060.2134  -17071078.79149 -13281647.99347  22064059.6214   22064065.3214
+     -2857.8124      -2226.8754
+ 05  1 20 10 32  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20309263.9094  -21609468.39149 -16811436.32748  20309263.6234   20309267.7274
+      -684.3174       -533.2354
+  21006651.3324  -19729285.53049 -15344793.86248  21006650.8404   21006653.2424
+      1945.0814       1515.6464
+  24794929.2074     344827.14549    562983.48445  24794928.8674   24794931.7124
+     -2344.9964      -1827.2654
+  22904807.4794  -10357778.15749  -8051720.50246  22904806.9074   22904812.5084
+      3439.1544       2679.8634
+  22177838.7704  -15147280.02649 -11787958.28447  22177838.2294   22177843.6594
+     -1745.8914      -1360.4404
+  23120788.7264   -8091171.28149  -5790365.25946  23120788.1944   23120792.8984
+     -2505.3274      -1952.2204
+  22080406.2764  -16985176.33849 -13214711.02947  22080406.2134   22080411.9164
+     -2869.0164      -2235.6004
+ 05  1 20 10 32 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20313212.0194  -21588719.97649 -16795268.72348  20313211.8434   20313216.2444
+      -698.9064       -544.6034
+  20995589.8344  -19787415.14349 -15390089.66648  20995589.3094   20995591.0134
+      1930.2284       1504.0724
+  24808351.9174     415358.14949    617942.74245  24808349.6354   24808355.9904
+     -2357.2804      -1836.8394
+  22885190.8744  -10460864.20149  -8132047.29046  22885191.7794   22885195.7164
+      3433.2124       2675.2314
+  22187822.4924  -15094817.33649 -11747078.26347  22187821.8334   22187826.6124
+     -1751.6094      -1364.8964
+  23135120.4974   -8015861.56149  -5731682.37346  23135120.2104   23135124.3724
+     -2515.3124      -1959.9884
+  22096818.1864  -16898938.65749 -13147512.84547  22096817.8154   22096821.9514
+     -2880.1644      -2244.2924
+ 05  1 20 10 33  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20317243.5604  -21567534.84349 -16778760.82448  20317243.4664   20317247.1414
+      -713.4234       -555.9164
+  20984612.4804  -19845098.39949 -15435037.66548  20984612.7074   20984614.1984
+      1915.3044       1492.4424
+  24821840.3764     486255.83349    673187.69245  24821840.1674   24821846.4954
+     -2369.4844      -1846.3564
+  22865608.4074  -10563770.79449  -8212234.23446  22865608.5424   22865614.1294
+      3427.1684       2670.5294
+  22197838.4354  -15042183.32949 -11706064.75047  22197838.2224   22197843.0944
+     -1757.3154      -1369.3404
+  23149508.6584   -7940254.41849  -5672767.71846  23149507.3314   23149511.8764
+     -2525.1744      -1967.6794
+  22113290.6684  -16812367.39749 -13080054.73747  22113291.1494   22113296.5384
+     -2891.2434      -2252.9234
+ 05  1 20 10 33 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20321357.7814  -21545914.64749 -16761913.91148  20321357.4004   20321361.3634
+      -727.9194       -567.2104
+  20973722.8694  -19902332.55449 -15479635.70948  20973721.5914   20973723.1564
+      1900.2904       1480.7454
+  24835406.4464     557518.05149    728716.67345  24835404.6274   24835408.0284
+     -2381.5644      -1855.7624
+  22846061.7534  -10666494.86749  -8292278.95646  22846061.3074   22846066.1974
+      3421.0484       2665.7404
+  22207886.1634  -14989377.93649 -11664917.70147  22207886.5654   22207890.6014
+     -1763.0404      -1373.8024
+  23163952.6214   -7864352.82349  -5613623.62146  23163951.5584   23163955.0064
+     -2534.9234      -1975.2684
+  22129828.3834  -16725464.15049 -13012337.93747  22129828.4654   22129833.2054
+     -2902.2824      -2261.5204
+ 05  1 20 10 34  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20325554.6194  -21523860.66449 -16744728.98348  20325554.3194   20325558.2674
+      -742.3464       -578.4494
+  20962916.1104  -19959115.48849 -15523882.15748  20962916.3134   20962917.8324
+      1885.1994       1468.9894
+  24849028.1254     629142.77348    784528.20945  24849031.5164   24849036.3194
+     -2393.7184      -1865.2354
+  22826550.6234  -10769033.61649  -8372179.26446  22826549.1744   22826554.4764
+      3414.8114       2660.8834
+  22217967.7124  -14936401.04549 -11623636.99847  22217967.2004   22217972.6174
+     -1768.7464      -1378.2454
+  23178450.5884   -7788159.86149  -5554252.47846  23178449.6584   23178453.5864
+     -2544.5814      -1982.7954
+  22146429.1724  -16638230.50949 -12944363.67147  22146428.1894   22146433.6114
+     -2913.2874      -2270.0924
+ 05  1 20 10 34 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20329833.5894  -21501374.38249 -16727207.19748  20329833.1784   20329837.1584
+      -756.7094       -589.6484
+  20952197.1744  -20015444.84949 -15567775.16748  20952196.7144   20952198.2904
+      1870.0754       1457.2004
+  24862728.5204     701127.96848    840620.57945  24862728.4804   24862737.3534
+     -2405.6804      -1874.5534
+  22807072.8344  -10871383.86549  -8451932.70546  22807071.8344   22807077.3504
+      3408.5114       2655.9754
+  22228082.0874  -14883252.49849 -11582222.55547  22228082.0014   22228085.7764
+     -1774.4674      -1382.7094
+  23193005.0914   -7711678.50749  -5494656.61146  23193003.8104   23193008.0124
+     -2554.1344      -1990.2464
+  22163092.2524  -16550668.13749 -12876133.27647  22163091.5754   22163096.8724
+     -2924.2034      -2278.6054
+ 05  1 20 10 35  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20334194.5784  -21478457.45349 -16709349.83948  20334194.2304   20334198.2654
+      -771.0374       -600.8064
+  20941565.2744  -20071318.26149 -15611312.90748  20941564.5654   20941566.2554
+      1854.8244       1445.3184
+  24876496.6084     773471.40448    896991.99444  24876493.5254   24876500.0814
+     -2417.6204      -1883.8574
+  22787631.6704  -10973542.59849  -8531536.89346  22787631.6284   22787637.8814
+      3402.0524       2650.9384
+  22238228.2764  -14829931.92049 -11540674.05947  22238228.0214   22238232.7704
+     -1780.2354      -1387.1944
+  23207612.8924   -7634912.14949  -5434838.65646  23207611.4424   23207616.9514
+     -2563.5794      -1997.5884
+  22179816.5124  -16462778.58749 -12807647.91647  22179815.3864   22179821.2894
+     -2935.0964      -2287.0894
+ 05  1 20 10 35 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20338637.2134  -21455111.33349 -16691158.04648  20338636.8414   20338640.7774
+      -785.3364       -611.9484
+  20931019.3544  -20126733.37549 -15654493.51848  20931018.9954   20931021.2234
+      1839.5174       1433.3914
+  24890327.1084     846171.18248    953641.07645  24890331.3834   24890333.5604
+     -2429.4104      -1893.0484
+  22768229.4024  -11075506.89849  -8610989.59846  22768228.7144   22768233.9684
+      3395.5444       2645.8844
+  22248406.9074  -14776439.69149 -11498991.80947  22248407.6484   22248411.6264
+     -1785.9214      -1391.6234
+  23222274.4874   -7557863.67249  -5374800.90746  23222273.6494   23222279.1114
+     -2572.9424      -2004.8794
+  22196602.4164  -16374563.60549 -12738908.97947  22196602.1324   22196608.1324
+     -2945.8814      -2295.4924
+ 05  1 20 10 36  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20343161.2004  -21431337.63449 -16672633.07448  20343160.7594   20343164.7864
+      -799.5564       -623.0354
+  20920561.1724  -20181688.19549 -15697315.46048  20920561.3124   20920563.5844
+      1824.1324       1421.3994
+  24904235.2074     919225.09648   1010566.20845  24904234.2854   24904238.4824
+     -2441.0894      -1902.1474
+  22748863.5784  -11177273.76949  -8690288.45346  22748863.3604   22748868.5004
+      3388.9024       2640.7064
+  22258619.9534  -14722775.35749 -11457175.43347  22258618.9964   22258623.9434
+     -1791.6874      -1396.1244
+  23236990.0124   -7480536.05749  -5314545.64346  23236989.0284   23236993.6784
+     -2582.2234      -2012.1344
+  22213452.1724  -16286024.88949 -12669917.78147  22213451.3574   22213456.3854
+     -2956.6634      -2303.8984
+ 05  1 20 10 36 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20347766.2434  -21407137.82449 -16653776.06748  20347765.7404   20347770.0024
+      -813.7334       -634.0804
+  20910192.5594  -20236180.35249 -15739776.88848  20910192.0714   20910194.3524
+      1808.6774       1409.3554
+  24918201.7704     992631.06948   1067765.65445  24918201.5844   24918206.9024
+     -2452.8834      -1911.3414
+  22729535.8294  -11278839.98249  -8769430.95346  22729535.8024   22729540.8864
+      3382.1664       2635.4604
+  22268864.7494  -14668938.76449 -11415224.85747  22268864.6074   22268868.9834
+     -1797.4324      -1400.6054
+  23251756.2714   -7402932.53049  -5254075.39346  23251755.1464   23251760.9794
+     -2591.3434      -2019.2234
+  22230359.3614  -16197164.06749 -12600675.60347  22230360.2794   22230366.1044
+     -2967.3994      -2312.2714
+ 05  1 20 10 37  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20352452.3124  -21382513.75049 -16634588.46348  20352451.6544   20352455.6274
+      -827.8524       -645.0834
+  20899911.4504  -20290207.54749 -15781876.01048  20899911.0914   20899913.4764
+      1793.1174       1397.2344
+  24932234.5744    1066386.91648   1125237.71145  24932234.4774   24932239.2584
+     -2464.3914      -1920.2974
+  22710246.5894  -11380202.80449  -8848414.94446  22710246.4214   22710252.5104
+      3375.3464       2630.1404
+  22279141.3334  -14614929.68649 -11373139.85647  22279141.5034   22279145.8484
+     -1803.1904      -1405.0864
+  23266576.3074   -7325056.29649  -5193392.64746  23266574.9874   23266579.9954
+     -2600.4044      -2026.3044
+  22247332.1644  -16107982.84449 -12531183.75547  22247331.5514   22247336.6514
+     -2978.0234      -2320.5454
+ 05  1 20 10 37 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20357218.3834  -21357466.67249 -16615071.25148  20357217.9894   20357222.0224
+      -841.9454       -656.0624
+  20889719.7704  -20343767.47049 -15823611.02948  20889719.5624   20889720.7744
+      1777.5014       1385.0654
+  24946344.4324    1140490.71548   1182980.95845  24946343.7464   24946342.8974
+     -2476.0014      -1929.3504
+  22690997.4904  -11481359.09849  -8927238.02646  22690997.2234   22691003.0734
+      3368.3724       2624.7064
+  22289452.8024  -14560748.17149 -11330920.49947  22289452.3374   22289456.5514
+     -1808.9274      -1409.5614
+  23281446.3764   -7246910.57549  -5132499.88446  23281445.7924   23281450.7264
+     -2609.3364      -2033.2454
+  22264363.2644  -16018482.92449 -12461443.58247  22264362.7504   22264368.0244
+     -2988.6264      -2328.7954
+ 05  1 20 10 38  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20362064.4884  -21331998.38349 -16595225.82748  20362064.1264   20362068.2534
+      -855.9424       -666.9694
+  20879616.9814  -20396858.00649 -15864980.28548  20879616.3764   20879618.3094
+      1761.8434       1372.8654
+  24960497.6934    1214940.00858   1240993.36354  24960498.1534   24960513.8464
+     -2487.3444      -1938.2034
+  22671787.0644  -11582305.66149  -9005897.67846  22671787.7404   22671793.5914
+      3361.3524       2619.2364
+  22299795.5954  -14506394.06149 -11288566.65147  22299795.4044   22299799.9374
+     -1814.6684      -1414.0344
+  23296367.6674   -7168498.23649  -5071399.38946  23296366.8124   23296373.1554
+     -2618.1804      -2040.1364
+  22281454.7204  -15928666.10949 -12391456.46147  22281454.1374   22281459.0834
+     -2999.1544      -2337.0024
+ 05  1 20 10 38 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20366990.8524  -21306110.41849 -16575053.38848  20366990.7744   20366994.9444
+      -869.9014       -677.8504
+  20869604.0664  -20449476.78249 -15905981.94148  20869603.9104   20869605.1904
+      1746.0624       1360.5664
+  24974750.1564    1289733.05558   1299273.63354  24974747.4954   24974744.0184
+     -2498.8194      -1947.1234
+  22652618.3424  -11683039.56649  -9084391.61046  22652618.2014   22652624.6384
+      3354.2084       2613.6514
+  22310171.3834  -14451867.40749 -11246078.34947  22310171.2904   22310176.1424
+     -1820.4254      -1418.5104
+  23311339.7354   -7089822.57549  -5010093.69446  23311339.2514   23311344.3744
+     -2626.8484      -2046.8904
+  22298605.8954  -15838533.96749 -12321223.63847  22298605.5244   22298611.1204
+     -3009.6374      -2345.1654
+ 05  1 20 10 39  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20371997.1624  -21279804.43449 -16554555.20748  20371996.5294   20372000.7014
+      -883.8084       -688.6824
+  20859681.0624  -20501621.65549 -15946614.31048  20859680.6924   20859682.3834
+      1730.2464       1348.2384
+  24989033.3984    1364866.14248   1357818.80144  24989037.4604
+     -2510.3804      -1956.1404
+  22633492.3944  -11783557.76049  -9162717.47847  22633491.4284   22633495.8224
+      3346.9794       2608.0304
+  22320580.2754  -14397167.84549 -11203455.31347  22320580.2444   22320584.5064
+     -1826.1964      -1423.0104
+  23326361.4374   -7010886.63049  -4948585.14746  23326359.8304   23326365.0834
+     -2635.4954      -2053.6384
+  22315817.9484  -15748088.40949 -12250746.60647  22315816.9594   22315822.7134
+     -3020.0624      -2353.2974
+ 05  1 20 10 39 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20377082.0084  -21253081.82049 -16533732.38248  20377081.7014   20377085.5784
+      -897.6804       -699.4934
+  20849849.2604  -20553290.35749 -15986875.65048  20849848.3344   20849850.0284
+      1714.3154       1335.8254
+  25003404.8414    1440339.80448   1416629.38944  25003401.8714
+     -2521.5874      -1964.8674
+  22614405.2464  -11883857.28049  -9240872.93047  22614404.5414   22614410.9394
+      3339.6424       2602.3084
+  22331022.8824  -14342295.01149 -11160697.26847  22331022.6064   22331027.0504
+     -1831.9934      -1427.5324
+  23341430.3154   -6931693.54849  -4886876.27446  23341429.5314   23341435.0524
+     -2644.0214      -2060.2774
+  22333087.4154  -15657331.19049 -12180026.67247  22333087.1524   22333093.1354
+     -3030.4184      -2361.3704
+ 05  1 20 10 40  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20382246.0514  -21225944.29649 -16512586.25548  20382245.6424   20382249.8804
+      -911.4844       -710.2454
+  20840107.3754  -20604480.77749 -16026764.29548  20840107.0644   20840108.7904
+      1698.3614       1323.4024
+  25017815.8284    1516150.36758   1475702.46954  25017820.5954   25017830.4934
+     -2532.7574      -1973.5754
+  22595360.7954  -11983935.23949  -9318855.75646  22595360.7574   22595365.2314
+      3332.2004       2596.5304
+  22341497.5664  -14287248.82849 -11117804.15647  22341497.6424   22341502.0754
+     -1837.7544      -1432.0074
+  23356549.2014   -6852246.53349  -4824969.50946  23356548.0364   23356552.7424
+     -2652.4464      -2066.8324
+  22350416.9674  -15566263.73849 -12109065.06847  22350417.1324   22350422.9994
+     -3040.7194      -2369.3904
+ 05  1 20 10 40 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20387488.5244  -21198393.47049 -16491118.07948  20387488.5354   20387492.3224
+      -925.2344       -720.9634
+  20830457.3304  -20655190.71449 -16066278.53548  20830457.2454   20830459.1964
+      1682.3084       1310.8914
+  25032313.5814    1592296.08148   1535036.79344  25032312.1554   25032316.1164
+     -2543.9474      -1982.2894
+  22576359.5904  -12083788.51649  -9396663.49747  22576359.5644   22576364.4214
+      3324.6594       2590.6414
+  22352005.2654  -14232029.31849 -11074775.97047  22352005.2064   22352009.7054
+     -1843.5584      -1436.5394
+  23371713.5234   -6772548.60149  -4762867.20346  23371713.7424   23371718.5694
+     -2660.7634      -2073.3254
+  22367805.4754  -15474888.02749 -12037863.22747  22367804.7484   22367810.6604
+     -3050.9864      -2377.3974
+ 05  1 20 10 41  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20392809.7624  -21170431.09549 -16469329.20448  20392809.4544   20392813.8144
+      -938.9184       -731.6264
+  20820899.4394  -20705418.05449 -16105416.71748  20820898.7874   20820900.9104
+      1666.1764       1298.3174
+  25046866.8474    1668774.51049   1594630.39344  25046867.8434   25046871.2204
+     -2554.9204      -1990.8594
+  22557401.6314  -12183414.04949  -9474293.75847  22557400.9494   22557406.2254
+      3317.0364       2584.6974
+  22362546.0784  -14176636.37149 -11031612.63347  22362546.1884   22362551.1824
+     -1849.3494      -1441.0494
+  23386927.3534   -6692603.03749  -4700571.96046  23386926.4484   23386932.3954
+     -2668.9614      -2079.7074
+  22385251.9284  -15383205.77549 -11966422.54147  22385252.1364   22385256.9394
+     -3061.1634      -2385.3254
+ 05  1 20 10 41 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20398209.0864  -21142058.63349 -16447220.79248  20398208.6144   20398212.6324
+      -952.5674       -742.2634
+  20811434.4854  -20755160.48649 -16144177.06248  20811433.6344   20811435.7914
+      1649.9634       1285.6854
+  25061483.7214    1745583.56249   1654481.66745  25061484.6714   25061490.0324
+     -2565.9694      -1999.4514
+  22538487.1384  -12282808.76849  -9551744.19147  22538486.5334   22538491.7594
+      3309.2744       2578.6594
+  22373120.0254  -14121069.79249 -10988314.00447  22373119.7094   22373124.1444
+     -1855.1194      -1445.5464
+  23402187.5134   -6612412.88649  -4638086.15146  23402186.0244   23402192.6244
+     -2677.0864      -2086.0484
+  22402756.9144  -15291218.79049 -11894744.39047  22402756.7664   22402761.8414
+     -3071.3094      -2393.2214
+ 05  1 20 10 42  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20403685.7664  -21113277.90349 -16424794.24548  20403685.5914   20403689.4964
+      -966.1324       -752.8334
+  20802061.6924  -20804416.00449 -16182557.98548  20802061.0254   20802062.7914
+      1633.6994       1273.0104
+  25076162.3204    1822721.08848   1714588.90544  25076161.5744   25076167.0104
+     -2576.7954      -2007.8994
+  22519617.0744  -12381969.88049  -9629012.58347  22519616.6974   22519622.7934
+      3301.4514       2572.5694
+  22383728.1154  -14065329.31649 -10944879.87647  22383727.2184   22383732.2034
+     -1860.9224      -1450.0704
+  23417492.8594   -6531981.32049  -4575412.21246  23417492.8054   23417497.5214
+     -2685.0404      -2092.2474
+  22420319.7214  -15198928.76449 -11822830.08647  22420318.4224   22420323.7724
+     -3081.3834      -2401.0794
+ 05  1 20 10 42 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20409239.8734  -21084090.56149 -16402050.85148  20409239.6344   20409243.6534
+      -979.6864       -763.3954
+  20792780.7704  -20853182.35549 -16220557.74548  20792780.4254   20792783.0274
+      1617.3664       1260.2864
+  25090902.8854    1900184.84348   1774950.28544  25090901.9124   25090907.6264
+     -2587.6254      -2016.3234
+  22500791.4984  -12480894.24749  -9706096.50147  22500791.5934   22500797.4534
+      3293.4914       2566.3464
+  22394367.8934  -14009414.90749 -10901310.21947  22394367.8564   22394372.4204
+     -1866.7154      -1454.5864
+  23432845.1224   -6451311.52249  -4512552.62946  23432844.0774   23432848.4484
+     -2692.9114      -2098.3754
+  22437938.2844  -15106337.57849 -11750681.14347  22437937.8434   22437943.7714
+     -3091.3674      -2408.8654
+ 05  1 20 10 43  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20414871.3744  -21054498.18249 -16378991.83948  20414870.8144   20414874.7234
+      -993.1424       -773.8784
+  20783595.4824  -20901457.48749 -16258174.73148  20783594.0954   20783596.2504
+      1600.9564       1247.5014
+  25105707.1014    1977972.58448   1835564.11744  25105701.1064   25105708.0624
+     -2598.5724      -2024.8564
+  22482012.9044  -12579578.82549  -9782993.54747  22482012.8414   22482018.7634
+      3285.4414       2560.0774
+  22405040.2814  -13953326.46649 -10857604.94047  22405040.3394   22405045.0244
+     -1872.5044      -1459.0914
+  23448238.3234   -6370406.56349  -4449509.82146  23448238.4654   23448244.5944
+     -2700.7254      -2104.4674
+  22455615.2324  -15013447.01549 -11678298.90747  22455614.7264   22455620.0884
+     -3101.3104      -2416.6044
+ 05  1 20 10 43 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20420578.9274  -21024502.26649 -16355618.39848  20420578.8114   20420582.9244
+     -1006.5694       -784.3414
+  20774501.9764  -20949239.18849 -16295407.22448  20774501.7754   20774503.6504
+      1584.4984       1234.6764
+  25120566.6324    2056082.15558   1896428.72754  25120573.0954
+     -2609.1114      -2033.0784
+  22463281.0484  -12678020.64749  -9859701.46747  22463280.2214   22463285.4204
+      3277.3164       2553.7554
+  22415746.6564  -13897063.98549 -10813764.05247  22415747.2194   22415751.5364
+     -1878.3154      -1463.6244
+  23463680.5024   -6289269.58249  -4386286.20646  23463679.2854   23463684.1514
+     -2708.3874      -2110.4274
+  22473348.1404  -14920258.97949 -11605684.84747  22473347.4994   22473353.2474
+     -3111.1864      -2424.3014
+ 05  1 20 10 44  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20426363.7404  -20994104.47149 -16331931.80348  20426363.2534   20426367.4664
+     -1019.9204       -794.7434
+  20765503.7564  -20996525.51449 -16332253.72348  20765503.5604   20765505.2464
+      1567.9554       1221.7834
+  25135495.4804    2134511.14648   1957542.23244  25135496.7834   25135501.4414
+     -2619.6994      -2041.3264
+  22444594.3184  -12776216.74049  -9936217.88947  22444594.1834   22444599.6524
+      3269.0714       2547.3264
+  22426486.7204  -13840627.27049 -10769787.39147  22426486.1874   22426491.2524
+     -1884.1204      -1468.1454
+  23479163.7374   -6207903.96949  -4322884.44046  23479162.4564   23479168.1034
+     -2715.9614      -2116.3324
+  22491136.7794  -14826775.22049 -11532840.40247  22491136.7954   22491142.3794
+     -3121.0514      -2431.9894
+ 05  1 20 10 44 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20432224.5324  -20963306.82549 -16307933.62848  20432223.9744   20432227.9794
+     -1033.2424       -805.1244
+  20756599.9084  -21043314.15349 -16368712.40648  20756599.5664   20756601.7204
+      1551.3084       1208.8104
+  25150478.9424    2213257.71548   2018903.26544  25150478.7834   25150485.4604
+     -2630.2974      -2049.5724
+  22425955.8554  -12874164.10649 -10012540.49247  22425955.2634   22425960.5854
+      3260.7334       2540.8314
+  22437259.8504  -13784015.88949 -10725674.65047  22437259.9354   22437263.5324
+     -1889.9894      -1472.7194
+  23494688.8504   -6126312.58549  -4259306.74846  23494688.8534   23494692.8694
+     -2723.4594      -2122.1634
+  22508981.2044  -14732997.59549 -11459766.93047  22508982.1064   22508988.0084
+     -3130.8264      -2439.6104
+ 05  1 20 10 45  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20438160.7044  -20932110.86449 -16283625.06848  20438160.3834   20438164.3724
+     -1046.4814       -815.4434
+  20747791.6134  -21089603.16249 -16404781.76948  20747791.3304   20747793.3074
+      1534.6274       1195.8114
+  25165524.7514    2292319.72948   2080509.95944  25165524.4374   25165533.4704
+     -2640.7554      -2057.7334
+  22407364.8074  -12971859.67049 -10088666.88847  22407365.0044   22407369.3454
+      3252.2764       2534.2414
+  22448065.3104  -13727230.05449 -10681425.94447  22448065.3904   22448069.8864
+     -1895.7674      -1477.2234
+  23510257.9674   -6044498.76349  -4195555.68746  23510257.6784   23510262.3934
+     -2730.8224      -2127.9154
+  22526884.0584  -14638927.87949 -11386465.86146  22526882.7654   22526888.0554
+     -3140.4844      -2447.1344
+ 05  1 20 10 45 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20444172.4174  -20900518.23649 -16259007.42948  20444172.3204   20444176.3064
+     -1059.6814       -825.7244
+  20739078.5764  -21135390.45449 -16440460.18048  20739078.2234   20739080.2294
+      1517.8504       1182.7424
+  25180629.6294    2371694.71748   2142360.46844  25180629.6244   25180633.5384
+     -2651.1794      -2065.8484
+  22388822.6724  -13069300.44449 -10164594.76447  22388822.6894   22388827.6164
+      3243.7424       2527.5874
+  22458904.7404  -13670269.55349 -10637041.15547  22458904.5334   22458909.5284
+     -1901.6024      -1481.7694
+  23525869.2304   -5962465.65849  -4131633.81046  23525868.1054   23525873.0434
+     -2738.0904      -2133.5754
+  22544840.0234  -14544567.99149 -11312938.68946  22544839.7774   22544845.5204
+     -3150.1454      -2454.6494
+ 05  1 20 10 46  0.0000000  0  8G16G23G 6G 3G19G25G20G 1
+  20450259.6134  -20868530.82449 -16234082.16748  20450259.2244   20450263.1324
+     -1072.7904       -835.9454
+  20730462.0544  -21180673.99349 -16475746.07048  20730461.7044   20730462.8574
+      1501.0464       1169.6454
+  25195795.2264    2451380.22448   2204453.09044  25195792.7874   25195795.1984
+     -2661.4994      -2073.9014
+  22370329.6124  -13166483.21249 -10240321.58047  22370329.5154   22370334.8244
+      3235.1024       2520.8574
+                   -332183.57641   -175213.224 5                  24791601.759
+      3614.6554       2815.881
+  22469777.1314  -13613134.09449 -10592520.01647  22469777.4974   22469781.1324
+     -1907.4174      -1486.3064
+  23541519.8294   -5880216.51049  -4067543.59146  23541519.2944   23541524.1374
+     -2745.2374      -2139.1464
+  22562850.4884  -14449919.93449 -11239186.97247  22562850.5074   22562856.0194
+     -3159.7374      -2462.1414
+ 05  1 20 10 46 30.0000000  0  7G16G23G 6G 3G25G20G 1
+  20456421.0414  -20836150.02249 -16208850.37148  20456420.8694   20456425.2024
+     -1085.8874       -846.1424
+  20721941.2634  -21225451.80649 -16510637.88248  20721940.8264   20721942.0834
+      1484.1554       1156.4884
+  25211018.4944    2531374.38448   2266786.14844  25211018.8934
+     -2671.7334      -2081.8724
+  22351885.7854  -13263405.18049 -10315845.18347  22351886.2184   22351890.3374
+      3226.3694       2514.0604
+  22480682.5944  -13555823.60249 -10547862.49347  22480682.7374   22480687.5724
+     -1913.2674      -1490.8634
+  23557212.4194   -5797754.32449  -4003287.36346  23557211.6194   23557216.1544
+     -2752.2504      -2144.6144
+  22580915.9244  -14354985.40849 -11165212.03346  22580915.0664   22580920.8864
+     -3169.2434      -2469.5404
+ 05  1 20 10 47  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20462657.6834  -20803377.73349 -16183313.52148  20462657.2384   20462661.3624
+     -1098.9254       -856.3084
+  20713516.4114  -21269721.70549 -16545133.91548  20713515.9484   20713517.8214
+      1467.1594       1143.2374
+  25226293.5554    2611674.42749   2329357.55744  25226293.3704   25226297.8904
+     -2681.7934      -2089.7224
+  22333491.4704  -13360063.23349 -10391163.14247  22333491.9304   22333497.0554
+      3217.4884       2507.1274
+  22491622.0604  -13498338.17349 -10503068.66147  22491622.1084   22491626.2754
+     -1919.0864      -1495.3854
+  23572944.1574   -5715082.29749  -3938867.59346  23572944.0064   23572947.8454
+     -2759.1874      -2150.0234
+  22599036.3644  -14259766.21849 -11091015.30546  22599035.1224   22599040.7834
+     -3178.6904      -2476.9094
+ 05  1 20 10 47 30.0000000  0  8G16G23G 6G 3G19G25G20G 1
+  20468968.1474  -20770215.62449 -16157472.91148  20468968.0004   20468972.1314
+     -1111.8834       -866.3944
+  20705188.7914  -21313481.84649 -16579232.73348  20705188.4854   20705190.6644
+      1450.1734       1130.0104
+  25241636.1374    2692278.51949   2392166.00244  25241635.5554   25241637.6584
+     -2691.9934      -2097.6654
+  22315150.0384  -13456454.72149 -10466273.37047  22315149.5954   22315154.9584
+      3208.5764       2500.1884
+                   -112297.06341    -72647.132 2                  24713490.802
+      3619.4104       2819.671
+  22502595.1514  -13440677.41949 -10458138.21447  22502594.7604   22502599.0854
+     -1924.9484      -1499.9584
+  23588714.3584   -5632203.61249  -3874286.84146  23588713.6504   23588720.1294
+     -2766.0244      -2155.3384
+  22617209.2074  -14164264.28349 -11016598.23846  22617208.3624   22617214.7964
+     -3188.0874      -2484.2194
+ 05  1 20 10 48  0.0000000  0  8G16G23G 6G 3G19G25G20G 1
+  20475352.4744  -20736665.53249 -16131329.96948  20475352.0334   20475356.0474
+     -1124.7924       -876.4644
+  20696959.6144  -21356730.12449 -16612932.71148  20696959.1134   20696960.5914
+      1433.0364       1116.6554
+  25257028.8334    2773184.31148   2455209.61644  25257029.4564
+     -2702.1724      -2105.5824
+  22296859.6304  -13552576.39749 -10541173.37947  22296858.4974   22296863.5064
+      3199.5154       2493.1244
+                   -220899.65041   -131881.798 5                  24699009.055
+      3620.7384       2821.271
+  22513599.3404  -13382841.40049 -10413071.18447  22513600.4884   22513605.2494
+     -1930.8044      -1504.5184
+  23604525.3424   -5549121.48649  -3809547.53546  23604523.6584   23604528.5494
+     -2772.7874      -2160.6074
+  22635434.7214  -14068481.55949 -10941962.37646  22635434.9364   22635441.4574
+     -3197.4384      -2491.5084
+ 05  1 20 10 48 30.0000000  0  8G16G23G 6G 3G19G25G20G 1
+  20481810.1804  -20702729.13449 -16104886.01148  20481810.0114   20481814.0074
+     -1137.6314       -886.4684
+  20688827.7924  -21399464.59849 -16646232.32048  20688827.2224   20688828.4164
+      1415.9004       1103.2974
+  25272480.8914    2854389.52858   2518486.50054
+     -2711.7514      -2113.0684
+  22278619.3774  -13648425.27649 -10615860.79747  22278618.7114   22278623.7154
+      3190.3804       2486.0174
+                   -329542.75441   -131881.798 5                  24699009.055
+      3622.1094       2821.271
+  22524639.5734  -13324829.93349 -10367867.44347  22524639.3024   22524643.7604
+     -1936.6404      -1509.0644
+  23620373.8164   -5465838.89849  -3744652.00246  23620372.1684   23620377.6044
+     -2779.4264      -2165.7834
+  22653715.0304  -13972419.88649 -10867109.15546  22653715.4114   22653721.0564
+     -3206.7024      -2498.7294
+ 05  1 20 10 49  0.0000000  0  7G16G23G 6G 3G25G20G 1
+  20488341.4524  -20668407.99249 -16078142.25248  20488341.3274   20488345.3204
+     -1150.4344       -896.4424
+  20680793.4464  -21441683.50049 -16679130.17748  20680792.5694   20680794.7134
+      1398.6784       1089.8774
+  25288003.9994    2935892.27858   2581995.24454
+     -2721.9324      -2120.9884
+  22260432.1884  -13743998.18549 -10690333.18747  22260431.8484   22260436.3174
+      3181.1394       2478.8104
+  22535712.1594  -13266642.70949 -10322526.75947  22535712.0364   22535716.9564
+     -1942.4954      -1513.6344
+  23636259.2784   -5382359.22249  -3679602.90946  23636258.0734   23636263.1894
+     -2785.9164      -2170.8324
+  22672049.1374  -13876081.16749 -10792040.05346  22672047.5764   22672053.9634
+     -3215.8884      -2505.8784
+ 05  1 20 10 49 30.0000000  0  7G16G23G 3G19G25G20G 1
+  20494945.8954  -20633703.92449 -16051100.11248  20494945.1204   20494949.2404
+     -1163.1574       -906.3584
+  20672857.1214  -21483384.63149 -16711624.57348  20672857.0844   20672859.4114
+      1381.4014       1076.4184
+  22242297.4394  -13839292.32549 -10764588.36147  22242297.8194   22242301.8674
+      3171.7964       2471.5314
+  24630434.0314    -101770.48949    -57250.73143
+      3624.4574       2824.2524
+  22546818.8704  -13208280.05949 -10277049.37847  22546818.4114   22546822.8614
+     -1948.3524      -1518.2024
+  23652180.5614   -5298685.64149  -3614402.75346  23652180.7114   23652186.2314
+     -2792.3514      -2175.8534
+  22690433.0134  -13779467.27149 -10716756.51946  22690433.5234   22690439.1684
+     -3225.0294      -2513.0074
+ 05  1 20 10 50  0.0000000  0  7G16G23G 3G19G25G20G 1
+  20501621.6604  -20598618.80549 -16023761.05248  20501621.4884   20501625.9214
+     -1175.8354       -916.2374
+  20665021.1904  -21524565.90849 -16743713.88448  20665020.7224   20665022.8384
+      1364.0124       1062.8644
+  22224217.3654  -13934304.88149 -10838624.09947  22224217.1984   22224222.7154
+      3162.3374       2464.1544
+  24609738.9874    -210519.96049   -141990.72845
+      3625.4804       2825.0494
+  22557958.0064  -13149741.34449 -10231434.79847  22557957.4064   22557961.7694
+     -1954.2334      -1522.7844
+  23668141.8714   -5214821.25349  -3549053.91146  23668140.6594   23668144.6204
+     -2798.6114      -2180.7304
+  22708872.6914  -13682580.18249 -10641260.11346  22708870.6164   22708875.9054
+     -3234.1174      -2520.0894
+ 05  1 20 10 50 30.0000000  0  7G16G23G 3G19G25G20G 1
+  20508370.5254  -20563154.36649 -15996126.42148  20508370.2964   20508374.4824
+     -1188.4574       -926.0714
+  20657284.0054  -21565225.66649 -16775396.82548  20657283.6994   20657285.4644
+      1346.6004       1049.3004
+  22206192.2384  -14029032.78649 -10912438.04547  22206191.1204   22206196.3104
+      3152.8264       2456.7434
+  24589039.0524    -319299.50749   -226753.96545                  24589044.0684
+      3626.4704       2825.8164
+  22569130.3844  -13091026.72049 -10185683.15147  22569130.9424   22569135.6234
+     -1960.1034      -1527.3554
+  23684135.1454   -5130769.28249  -3483558.91346  23684134.5724   23684139.6354
+     -2804.8334      -2185.5804
+  22727358.9854  -13585421.86349 -10565552.36046  22727358.8624   22727364.0734
+     -3243.1464      -2527.1164
+ 05  1 20 10 51  0.0000000  0  7G16G23G 3G19G25G20G 1
+  20515191.1754  -20527312.27549 -15968197.50848  20515190.5934   20515194.9024
+     -1200.9874       -935.8334
+  20649645.6944  -21605362.00349 -16806671.89648  20649645.5484   20649647.7794
+      1329.1554       1035.7074
+  22188220.2494  -14123473.12949 -10986027.91047  22188219.7894   22188225.3174
+      3143.1964       2449.2444
+  24568327.3534    -428106.78049   -311538.82445  24568330.4614   24568337.0524
+      3627.3714       2826.5214
+  22580338.3764  -13032136.08649 -10139794.33347  22580337.5784   22580342.2264
+     -1965.9394      -1531.8974
+  23700164.5444   -5046532.79749  -3417920.10446  23700163.0834   23700168.6924
+     -2810.9174      -2190.3254
+  22745899.0894  -13487994.30449 -10489634.81146  22745898.4314   22745903.9314
+     -3252.0534      -2534.0714
+ 05  1 20 10 51 30.0000000  0  7G16G23G 3G19G25G20G 1
+  20522083.3884  -20491094.24149 -15939975.66148  20522082.9114   20522087.0724
+     -1213.4934       -945.5814
+  20642108.5264  -21644972.88249 -16837537.51948  20642107.9954   20642109.8864
+      1311.5964       1022.0274
+  22170303.2524  -14217622.82849 -11059391.31447  22170303.3454   22170308.4444
+      3133.4614       2441.6524
+  24547621.5974    -536939.06249   -396343.25445  24547622.7934   24547628.6364
+      3628.2064       2827.1764
+  22591577.5704  -12973069.29149 -10093768.28347  22591577.9284   22591582.2874
+     -1971.8164      -1536.4774
+  23716228.9354   -4962114.99749  -3352140.01446  23716228.1494   23716233.4674
+     -2816.9284      -2195.0114
+  22764490.6114  -13390299.53349 -10413509.03346  22764490.2224   22764494.7384
+     -3260.9324      -2540.9934
+ 05  1 20 10 52  0.0000000  0  7G16G23G 3G19G25G20G 1
+  20529046.2124  -20454501.98849 -15911462.20948  20529045.9964   20529050.2584
+     -1225.9494       -955.2854
+  20634671.3264  -21684056.57149 -16867992.34948  20634670.8914   20634672.6014
+      1293.9844       1008.3044
+  22152443.0594  -14311478.89549 -11132525.89847  22152443.1344   22152448.2324
+      3123.6164       2433.9774
+  24526910.8714    -645793.72449   -481165.03445  24526909.2004   24526912.6894
+      3628.7964       2827.6314
+  22602850.6674  -12913826.16249 -10047604.80447  22602850.9254   22602855.6534
+     -1977.6864      -1541.0514
+  23732325.2764   -4877519.03949  -3286221.07846  23732325.2804   23732331.9684
+     -2822.7984      -2199.5854
+  22783131.6224  -13292339.44849 -10337176.51646  22783130.3004   22783136.6884
+     -3269.7244      -2547.8354
+ 05  1 20 10 52 30.0000000  0  7G16G23G 3G19G25G20G 1
+  20536080.9184  -20417537.45149 -15882658.66848  20536080.1474   20536084.4094
+     -1238.3404       -964.9354
+  20627334.8974  -21722611.20149 -16898034.92248  20627334.3064   20627335.9294
+      1276.3124        994.5314
+  22134640.3064  -14405038.31149 -11205429.32547  22134640.1744   22134644.2504
+      3113.6554       2426.2274
+  24506193.1114    -754668.08849   -566002.17845  24506192.0144   24506193.9624
+      3629.4414       2828.1374
+  22614158.3464  -12854406.78149 -10001303.99447  22614158.1134   22614162.9944
+     -1983.5914      -1545.6634
+  23748459.7094   -4792748.11549  -3220165.82446  23748458.7384   23748462.7824
+     -2828.5734      -2204.0814
+  22801822.0764  -13194116.08649 -10260638.83646  22801822.0034   22801827.2624
+     -3278.4714      -2554.6514
+ 05  1 20 10 53  0.0000000  0  7G16G23G 3G19G25G20G 1
+  20543185.1004  -20380202.35049 -15853566.37548  20543184.8164   20543188.7614
+     -1250.6704       -974.5514
+  20620098.2674  -21760634.80049 -16927663.70048  20620098.2754   20620100.2364
+      1258.5854        980.7144
+  22116893.1504  -14498298.16049 -11278099.32847  22116892.9654   22116898.0984
+      3103.6414       2418.4134
+  24485468.7064    -863559.51949   -650852.62745  24485468.0094   24485473.6784
+      3629.9814       2828.5514
+  22625499.7284  -12794810.71549  -9954865.49947  22625499.6564   22625503.9124
+     -1989.4674      -1550.2314
+  23764622.6354   -4707805.49449  -3153976.78846  23764621.9734   23764626.9734
+     -2834.2874      -2208.5344
+  22820563.0884  -13095631.20749 -10183897.39646  22820562.6904   22820568.3104
+     -3287.1804      -2561.4284
+ 05  1 20 10 53 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20550359.9264  -20342498.41949 -15824186.68248  20550359.7204   20550363.8774
+     -1262.9134       -984.0844
+  20612964.5704  -21798125.63049 -16956877.33848  20612964.1594   20612966.1954
+      1240.7974        966.8614
+  22099203.7134  -14591255.88349 -11350533.89647  22099203.5954   22099208.7784
+      3093.5054       2410.5264
+  22441188.9744   -9756162.28049  -7580010.33147  22441188.8124   22441192.5894
+      2816.5104       2194.6904
+  24464745.8214    -972465.37449   -735714.29345  24464745.9054   24464750.7634
+      3630.3684       2828.8594
+  22636873.2354  -12735038.14749  -9908289.48747  22636874.0044   22636877.1594
+     -1995.3514      -1554.8154
+  23780819.1164   -4622694.29049  -3087656.41746  23780819.0254   23780822.2664
+     -2839.8284      -2212.8514
+  22839354.9094  -12996886.73549 -10106953.66946  22839354.1204   22839359.4844
+     -3295.7984      -2568.1584
+ 05  1 20 10 54  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20557605.0484  -20304427.52749 -15794521.05248  20557604.5754   20557608.3084
+     -1275.1084       -993.5884
+  20605932.2084  -21835081.95849 -16985674.49048  20605931.7774   20605933.4814
+      1222.9494        952.9524
+  22081572.8754  -14683908.17449 -11422730.48747  22081572.3004   22081577.7674
+      3083.2864       2402.5554
+  22425139.8544   -9840496.79449  -7645725.54047  22425139.6614   22425144.3314
+      2805.7804       2186.3334
+  24444019.4624   -1081383.00749   -820585.17245  24444018.9224   24444023.4274
+      3630.7674       2829.1714
+  22648282.2944  -12675088.65849  -9861575.59247  22648281.3614   22648286.0454
+     -2001.2734      -1559.4244
+  23797047.4614   -4537417.64549  -3021207.09946  23797046.9384   23797050.7164
+     -2845.3114      -2217.1174
+  22858192.8274  -12897884.63149 -10029809.20346  22858192.5884   22858199.1504
+     -3304.3354      -2574.8094
+ 05  1 20 10 54 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20564919.2454  -20265991.55949 -15764570.93948  20564918.8054   20564922.8084
+     -1287.2504      -1003.0474
+  20599001.8774  -21871501.67649 -17014053.50348  20599001.4054   20599003.2214
+      1205.0474        939.0024
+  22063999.6224  -14776252.12849 -11494686.81247  22063999.7174   22064004.3794
+      3072.9474       2394.5084
+  22409153.5464   -9924508.48949  -7711189.19647  22409153.2004   22409156.6574
+      2795.0054       2177.9274
+  24423295.2744   -1190309.71649   -905463.10246  24423292.7324   24423294.9734
+      3630.9944       2829.3474
+  22659723.2584  -12614962.59149  -9814724.11547  22659723.0174   22659727.7154
+     -2007.1224      -1563.9804
+  23813303.8554   -4451978.67049  -2954631.27046  23813303.9824   23813310.1594
+     -2850.6234      -2221.2624
+  22877082.2034  -12798626.90849  -9952465.56946  22877081.4414   22877086.3274
+     -3312.7804      -2581.3684
+ 05  1 20 10 55  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20572302.3804  -20227191.92249 -15734337.45748  20572301.9854   20572305.5854
+     -1299.3494      -1012.4784
+  20592173.0984  -21907383.43949 -17042013.32648  20592173.3014   20592174.7634
+      1187.0844        925.0034
+  22046487.2774  -14868284.73649 -11566400.52647  22046486.4784   22046492.2554
+      3062.5444       2386.3994
+  22393227.6644  -10008194.48449  -7776399.07147  22393227.6824   22393231.9024
+      2784.0844       2169.4064
+  24402565.0774   -1299242.96449   -990346.17346  24402562.8874   24402564.8194
+      3631.1954       2829.5034
+  22671199.8064  -12554659.72249  -9767734.88547  22671198.5154   22671202.6224
+     -2013.0174      -1568.5774
+  23829592.7544   -4366380.52049  -2887931.46846  23829592.7924   23829597.6154
+     -2855.8764      -2225.3604
+  22896017.5654  -12699115.77549  -9874924.43346  22896017.7204   22896023.6264
+     -3321.2204      -2587.9484
+ 05  1 20 10 55 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20579754.4574  -20188030.46549 -15703822.02948  20579754.0954   20579758.1144
+     -1311.4124      -1021.8774
+  20585448.2234  -21942725.15949 -17069552.33948  20585447.7734   20585449.5064
+      1169.0264        910.9294
+  22029033.9444  -14960003.04449 -11637869.31347  22029033.1994   22029038.5144
+      3052.0024       2378.1794
+  22377365.6524  -10091552.21149  -7841353.15447  22377365.8004   22377369.7814
+      2773.0724       2160.8384
+  24381834.0174   -1408179.92049  -1075232.07646  24381832.5964   24381835.5194
+      3631.3034       2829.5844
+  22682707.2814  -12494179.64549  -9720607.57547  22682706.7834   22682711.4394
+     -2018.9594      -1573.2034
+  23845912.1324   -4280626.45849  -2821110.13546  23845911.4034   23845915.7924
+     -2861.0284      -2229.3734
+  22915001.8264  -12599353.23649  -9797187.41646  22915001.6024   22915007.6264
+     -3329.6154      -2594.4974
+ 05  1 20 10 56  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20587274.9654  -20148509.25249 -15673026.27448  20587274.5304   20587278.5844
+     -1323.3654      -1031.1914
+  20578825.8614  -21977525.49449 -17096669.48948  20578825.6684   20578827.2494
+      1150.9414        896.8364
+  22011640.5724  -15051404.12749 -11709090.93547  22011640.8744   22011645.3824
+      3041.3684       2369.8954
+  22361565.6224  -10174579.20149  -7906049.51247  22361566.3784   22361570.7314
+      2762.0174       2152.2314
+  24361105.6854   -1517118.03649  -1160118.89946  24361103.6874   24361105.2104
+      3631.2174       2829.5194
+  22694249.7444  -12433522.33049  -9673342.15647  22694249.7464   22694254.2194
+     -2024.8744      -1577.8304
+  23862260.4034   -4194719.59449  -2754169.77846  23862259.4474   23862264.3724
+     -2866.0764      -2233.2934
+  22934033.9624  -12499341.29449  -9719256.05446  22934034.1894   22934038.6584
+     -3337.8644      -2600.9374
+ 05  1 20 10 56 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20594863.7224  -20108629.87049 -15641951.41748  20594863.3984   20594867.6944
+     -1335.2634      -1040.4624
+  20572307.4444  -22011782.18749 -17123363.01948  20572306.9654   20572308.6514
+      1132.7994        882.7004
+  21994309.3004  -15142485.11749 -11780063.11847  21994308.3284   21994313.3004
+      3030.6804       2361.5694
+  22345829.8114  -10257272.62549  -7970485.95047  22345830.2404   22345834.2624
+      2750.8614       2143.5354
+  24340373.1114   -1626054.51849  -1245004.46646  24340371.1764   24340374.2634
+      3631.1384       2829.4574
+  22705826.0824  -12372687.71649  -9625938.55947  22705826.2914   22705831.0074
+     -2030.7844      -1582.4304
+  23878636.6844   -4108663.05849  -2687112.77146  23878636.4514   23878640.2154
+     -2870.9744      -2237.1194
+  22953112.2784  -12399081.85349  -9641131.85546  22953111.2924   22953117.0004
+     -3346.1224      -2607.3564
+ 05  1 20 10 57  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20602520.0854  -20068394.24549 -15610598.98648  20602519.8034   20602524.0624
+     -1347.1104      -1049.6984
+  20565892.1054  -22045493.85649 -17149631.86348  20565891.8104   20565893.4934
+      1114.6134        868.5274
+  21977037.8844  -15233243.27749 -11850783.76247  21977037.9564   21977042.4324
+      3019.8324       2353.1204
+  22330157.2404  -10339629.91449  -8034660.46847  22330158.5844   22330162.0144
+      2739.5944       2134.7484
+  24319643.0594   -1734986.97149  -1329886.88446  24319642.9814   24319644.9694
+      3631.0274       2829.3754
+  22717436.1164  -12311675.92849  -9578396.92847  22717436.0464   22717440.3894
+     -2036.7034      -1587.0374
+  23895040.4194   -4022460.01849  -2619941.57946  23895039.8344   23895043.5414
+     -2875.8384      -2240.9184
+  22972236.3174  -12298577.02549  -9562816.43546  22972236.9244   22972241.5204
+     -3354.2064      -2613.6584
+ 05  1 20 10 57 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20610244.3704  -20027804.22649 -15578970.38548  20610244.0294   20610248.0444
+     -1358.8914      -1058.8804
+  20559580.7514  -22078658.72149 -17175474.61548  20559580.4914   20559582.4974
+      1096.3524        854.2974
+  21959828.7734  -15323675.56749 -11921250.46247  21959828.5304   21959833.9794
+      3008.9264       2344.6164
+  22314550.1394  -10421648.26549  -8098570.86747  22314550.1854   22314554.3994
+      2728.2464       2125.8934
+  24298915.8344   -1843912.46849  -1414763.89346  24298914.4554   24298917.6504
+      3630.7194       2829.1284
+  22729080.2034  -12250486.82249  -9530717.10347  22729079.6614   22729085.0554
+     -2042.5824      -1591.6184
+  23911471.3174   -3936113.71749  -2552658.74046  23911470.2674   23911475.4154
+     -2880.5204      -2244.5494
+  22991409.2194  -12197828.76549  -9484311.28846  22991409.2574   22991414.8044
+     -3362.3744      -2620.0514
+ 05  1 20 10 58  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20618035.4324  -19986861.57449 -15547067.02048  20618035.1774   20618039.1784
+     -1370.6174      -1068.0144
+  20553374.3284  -22111274.99749 -17200889.89348  20553373.9674   20553375.9424
+      1078.0454        840.0364
+  21942683.4894  -15413779.13949 -11991461.02447  21942682.8234   21942688.2454
+      2997.9374       2336.0644
+  22299007.6004  -10503325.27449  -8162215.30547  22299007.6014   22299012.0584
+      2716.8434       2117.0174
+  24278190.0464   -1952828.34249  -1499633.39345  24278188.6904   24278191.3524
+      3630.3694       2828.8644
+  22740758.8574  -12189120.51149  -9482899.20447  22740759.0904   22740763.1504
+     -2048.5034      -1596.2374
+  23927927.7414   -3849627.23049  -2485266.64546  23927927.5434   23927934.0594
+     -2885.1944      -2248.2084
+  23010627.5944  -12096839.15349  -9405618.11746  23010627.8024   23010633.3954
+     -3370.3304      -2626.2114
+ 05  1 20 10 58 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20625893.6854  -19945568.05249 -15514890.24048  20625893.0984   20625897.0554
+     -1382.2894      -1077.1064
+  20547272.1094  -22143341.28749 -17225876.62448  20547272.1684   20547273.8674
+      1059.6664        825.7164
+  21925599.7504  -15503551.32149 -12061413.36447  21925599.5544   21925604.7434
+      2986.8244       2327.3964
+  22283530.5204  -10584658.04949  -8225591.50047  22283530.5054   22283535.0434
+      2705.3174       2108.0424
+  24257467.1124   -2061732.14349  -1584493.44746  24257465.5624   24257468.2054
+      3629.9154       2828.5064
+  22752469.2284  -12127576.76849  -9434943.04547  22752468.7324   22752474.3194
+     -2054.4254      -1600.8534
+  23944413.7324   -3763003.71649  -2417767.84846  23944412.5664   23944417.0314
+     -2889.7224      -2251.7314
+  23029890.6834  -11995610.16549  -9326738.39446  23029890.0764   23029896.5964
+     -3378.2764      -2632.4154
+ 05  1 20 10 59  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20633817.5114  -19903925.44949 -15482441.46148  20633817.0954   20633821.6344
+     -1393.8834      -1086.1414
+  20541275.9504  -22174855.84049 -17250433.42048  20541275.1234   20541276.7194
+      1041.2734        811.3824
+  21908581.8984  -15592988.95149 -12131105.02747  21908580.6144   21908586.0334
+      2975.6364       2318.6824
+  22268118.7884  -10665644.14049  -8288697.55547  22268119.6964   22268123.3804
+      2693.7304       2099.0054
+  24236748.1394   -2170620.95049  -1669341.84946  24236744.9544   24236747.6624
+      3629.3764       2828.0884
+  22764215.0694  -12065855.28749  -9386848.40147  22764214.7084   22764219.3484
+     -2060.3694      -1605.4854
+  23960922.6334   -3676246.39749  -2350164.72245  23960922.1744   23960925.2054
+     -2894.1294      -2255.1754
+  23049198.4794  -11894143.93349  -9247673.84146  23049198.3554   23049203.9624
+     -3386.2004      -2638.6034
+ 05  1 20 10 59 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20641807.9954  -19861935.58449 -15449722.07848  20641807.7954   20641812.1094
+     -1405.4414      -1095.1534
+  20535383.9364  -22205817.06549 -17274559.05548  20535383.3904   20535385.0924
+      1022.7984        796.9854
+  21891625.2784  -15682089.08749 -12200533.68447  21891624.7554   21891630.6974
+      2964.3234       2309.8644
+  22252775.0894  -10746280.64849  -8351531.19647  22252774.8034   22252778.7454
+      2682.0044       2089.8694
+  24216028.0864   -2279492.10349  -1754176.51246  24216026.2474   24216029.6624
+      3628.7804       2827.6114
+  22775993.3054  -12003956.03349  -9338615.20847  22775993.4754   22775998.5474
+     -2066.2674      -1610.0814
+  23977455.8744   -3589358.41949  -2282459.83946  23977454.8314   23977461.0044
+     -2898.4294      -2258.5224
+  23068552.0154  -11792442.63549  -9168426.09946  23068551.8264   23068557.2594
+     -3393.9644      -2644.6474
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 11  0  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20649864.0244  -19819600.27149 -15416733.51548  20649863.5614   20649868.2104
+     -1416.9264      -1104.0994
+  20529596.8024  -22236223.26049 -17298252.19648  20529596.8744   20529598.9294
+      1004.2724        782.5464
+  21874734.2534  -15770848.94349 -12269697.20147  21874734.3194   21874739.4454
+      2952.9664       2301.0094
+  22237496.3774  -10826565.01549  -8414090.44247  22237496.8324   22237501.0634
+      2670.2474       2080.7144
+  24195313.3194   -2388342.72849  -1838995.17146  24195312.6874   24195316.4314
+      3627.9854       2827.0054
+  22787805.2944  -11941879.08949  -9290243.58747  22787805.4364   22787811.6884
+     -2072.2094      -1614.7114
+  23994013.5674   -3502342.91449  -2214655.64746  23994013.4014   23994019.4574
+     -2902.5914      -2261.7594
+  23087949.6694  -11690508.32749  -9088996.80446  23087949.2934   23087953.7154
+     -3401.5984      -2650.6034
+ 05  1 20 11  0 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20657985.1114  -19776921.49249 -15383477.32248  20657985.0754   20657989.7604
+     -1428.3374      -1112.9904
+  20523917.7614  -22266072.65749 -17321511.46648  20523917.0604   20523918.7254
+       985.6854        768.0674
+  21857909.3114  -15859265.81649 -12338593.46447  21857909.2314   21857914.7494
+      2941.4614       2292.0434
+  22222287.5714  -10906494.56449  -8476373.21547  22222287.1104   22222290.5034
+      2658.3864       2071.4714
+  24174606.2404   -2497170.31949  -1923795.89346  24174603.8884   24174606.3864
+      3627.2114       2826.3964
+  22799653.4134  -11879624.19649  -9241733.31647  22799653.7124   22799657.1924
+     -2078.1064      -1619.2994
+  24010600.4104   -3415202.89249  -2146754.34246  24010597.7984   24010601.0874
+     -2906.6914      -2264.9534
+  23107391.4944  -11588343.03949  -9009387.53046  23107390.8704   23107395.4004
+     -3409.3124      -2656.6204
+ 05  1 20 11  1  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20666172.6444  -19733900.89249 -15349954.77148  20666171.9994   20666176.0864
+     -1439.6714      -1121.8194
+  20518343.1624  -22295364.10449 -17344335.97848  20518343.0434   20518344.6864
+       967.0764        753.5694
+  21841151.1064  -15947336.74049 -12407220.13647  21841150.4864   21841155.2134
+      2929.8984       2283.0404
+  22207144.9194  -10986066.74949  -8538377.52447  22207145.4204   22207148.8844
+      2646.4194       2062.1534
+  24153899.9224   -2605972.13349  -2008576.48446  24153899.7894   24153904.1004
+      3626.2674       2825.6664
+  22811533.1004  -11817191.40249  -9193084.37547  22811533.6294   22811538.4884
+     -2084.0854      -1623.9524
+  24027201.6284   -3327941.66049  -2078758.55445  24027201.1804   24027206.2224
+     -2910.7494      -2268.1184
+  23126875.4604  -11485948.83949  -8929599.86746  23126874.9414   23126881.0844
+     -3416.9384      -2662.5594
+ 05  1 20 11  1 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20674423.1764  -19690540.45049 -15316167.40648  20674423.0384   20674427.1284
+     -1451.0084      -1130.6624
+  20512875.9834  -22324096.00649 -17366724.47548  20512875.4884   20512877.1974
+       948.3704        738.9894
+  21824457.8194  -16035058.77449 -12475574.96947  21824457.7214   21824461.7014
+      2918.1734       2273.8944
+  22192071.8804  -11065278.93249  -8600101.31347  22192071.9914   22192075.4414
+      2634.3694       2052.7524
+  24133201.2034   -2714745.36349  -2093334.83546  24133200.7784   24133205.9354
+      3625.2894       2824.9034
+  22823447.7854  -11754580.66949  -9144296.80447  22823448.3824   22823452.7724
+     -2089.9704      -1628.5474
+  24043827.5584   -3240562.42049  -2010670.91746  24043829.3434   24043835.2544
+     -2914.5994      -2271.1074
+  23146404.6374  -11383327.74249  -8849635.41846  23146403.3934   23146409.8304
+     -3424.4684      -2668.4254
+ 05  1 20 11  2  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20682738.9274  -19646841.82849 -15282116.53948  20682738.5934   20682742.5404
+     -1462.2354      -1139.4024
+  20507514.8004  -22352266.55049 -17388675.55048  20507514.5314   20507516.5464
+       929.6544        724.4054
+  21807831.7084  -16122428.88949 -12543655.56947  21807831.0034   21807836.0084
+      2906.4454       2264.7544
+  22177067.8594  -11144128.22449  -8661542.32447  22177067.2984   22177070.8344
+      2622.2234       2043.2864
+  24112509.9204   -2823487.63049  -2178069.05546  24112507.4614   24112512.1244
+      3624.1974       2824.0484
+  22835396.6644  -11691792.07449  -9095370.64847  22835396.8634   22835401.4734
+     -2095.9544      -1633.2154
+  24060480.6994   -3153068.17349  -1942493.60946  24060479.4064   24060484.5574
+     -2918.3264      -2274.0164
+  23165975.1434  -11280481.86749  -8769495.83146  23165975.6064   23165979.9534
+     -3431.9274      -2674.2224
+ 05  1 20 11  2 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20691118.3204  -19602806.73749 -15247803.47548  20691117.9134   20691122.4214
+     -1473.4344      -1148.1284
+  20502261.4414  -22379874.38249 -17410188.13848  20502260.9704   20502263.2064
+       910.8514        709.7534
+  21791273.1174  -16209444.50049 -12611459.92447  21791272.9894   21791277.9984
+      2894.5704       2255.5104
+  22162132.5584  -11222612.16949  -8722698.64447  22162132.1384   22162135.8004
+      2609.9864       2033.7554
+  24091820.9424   -2932195.76749  -2262776.70046  24091821.0194   24091825.6864
+      3623.0554       2823.1574
+  22847378.7504  -11628825.60049  -9046305.85647  22847378.4664   22847382.7974
+     -2101.8964      -1637.8414
+  24077149.8014   -3065462.08949  -1874229.20845  24077149.4214   24077155.7374
+     -2922.0264      -2276.8964
+  23185589.7674  -11177413.43649  -8689182.78646  23185587.9074   23185593.2814
+     -3439.3214      -2679.9874
+ 05  1 20 11  3  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20699561.3604  -19558437.13249 -15213229.75948  20699561.4344   20699565.6484
+     -1484.5264      -1156.7774
+  20497115.2144  -22406917.96349 -17431261.05948  20497115.0164   20497116.7954
+       892.0404        695.0924
+  21774782.8864  -16296102.75149 -12678985.82547  21774781.8894   21774786.9724
+      2882.6154       2246.1924
+  22147268.3924  -11300727.97349  -8783568.09947  22147268.1354   22147270.8084
+      2597.7114       2024.1904
+  24071143.5774   -3040867.21949  -2347455.73446  24071140.7324   24071145.2954
+      3621.7474       2822.1424
+  22859392.4224  -11565680.98849  -8997102.25747  22859393.5404   22859399.8494
+     -2107.7614      -1642.4074
+  24093841.1254   -2977747.22449  -1805879.99845  24093841.6304   24093844.4694
+     -2925.5784      -2279.6704
+  23205243.4784  -11074124.39049  -8608697.83946  23205242.8184   23205249.4334
+     -3446.5994      -2685.6544
+ 05  1 20 11  3 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20708068.3684  -19513734.99449 -15178396.91848  20708068.0934   20708072.4684
+     -1495.5904      -1165.3954
+  20492076.7924  -22433395.89149 -17451893.21048  20492076.2314   20492078.1034
+       873.1554        680.3774
+  21758359.4084  -16382400.92649 -12746231.15247  21758359.7274   21758365.2004
+      2870.5844       2236.8214
+  22132472.7924  -11378473.20049  -8844148.80447  22132473.3384   22132476.3334
+      2585.2794       2014.5094
+  24050468.5614   -3149499.25849  -2432104.08246  24050468.5634   24050472.6724
+      3620.4204       2821.1014
+  22871445.6834  -11502358.07249  -8947759.77247  22871444.4204   22871448.0624
+     -2113.7644      -1647.0904
+  24110554.6244   -2889926.75049  -1737448.44545  24110552.9814   24110558.3574
+     -2929.0904      -2282.4044
+  23224942.1874  -10970616.90149  -8528042.69046  23224940.4894   23224945.9284
+     -3453.8514      -2691.3124
+ 05  1 20 11  4  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20716638.2144  -19468702.00349 -15143306.27648  20716637.5524   20716641.7984
+     -1506.5924      -1173.9694
+  20487146.0764  -22459306.72549 -17472083.48348  20487145.8704   20487147.4144
+       854.2204        665.6284
+  21742006.3024  -16468336.17949 -12813193.67947  21742006.1884   21742012.2634
+      2858.4384       2227.3534
+  22117750.1284  -11455845.25649  -8904438.72947  22117750.3384   22117752.7584
+      2572.8074       2004.7844
+  24029807.4654   -3258089.07149  -2516719.49146  24029806.3314   24029809.8964
+      3618.9244       2819.9374
+  22883529.5984  -11438856.72849  -8898278.19047  22883528.6394   22883533.5534
+     -2119.7034      -1651.7154
+  24127284.8394   -2802003.97649  -1668937.24345  24127284.6574   24127289.2204
+     -2932.4684      -2285.0384
+  23244678.6744  -10866893.00849  -8447218.89846  23244678.4234   23244683.7334
+     -3461.0384      -2696.9174
+ 05  1 20 11  4 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20725270.0954  -19423339.89849 -15107959.17448  20725269.7844   20725273.9704
+     -1517.5174      -1182.4774
+  20482323.4444  -22484649.24149 -17491830.89448  20482323.1704   20482324.9884
+       835.2914        650.8804
+  21725723.7494  -16553905.65349 -12879871.17947  21725723.1274   21725728.7634
+      2846.1844       2217.8094
+  22103097.8364  -11532841.45849  -8964435.76647  22103097.5174   22103101.2904
+      2560.2664       1995.0174
+  24009152.8564   -3366633.94149  -2601299.87846  24009150.1844   24009154.5584
+      3617.4034       2818.7584
+  22895646.5954  -11375176.93449  -8848657.58147  22895646.5594   22895651.7344
+     -2125.6224      -1656.3304
+  24144035.4104   -2713981.58449  -1600348.39745  24144035.1754   24144039.5654
+     -2935.6834      -2287.5414
+  23264454.5344  -10762954.93049  -8366228.20946  23264456.3594   23264463.6304
+     -3468.1744      -2702.4704
+ 05  1 20 11  5  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20733964.1564  -19377650.66349 -15072357.17148  20733963.8904   20733968.2374
+     -1528.3984      -1190.9604
+  20477609.9274  -22509421.83949 -17511134.21948  20477609.0784   20477611.0174
+       816.2434        636.0354
+  21709510.7364  -16639106.49049 -12946261.43947  21709510.3124   21709515.2864
+      2833.8364       2208.1874
+  22088517.5234  -11609459.24449  -9024137.95347  22088517.9984   22088520.9904
+      2547.5834       1985.1324
+  23988503.9054   -3475131.22249  -2685843.21646  23988502.9474   23988507.5084
+      3615.7344       2817.4564
+  22907797.4074  -11311318.85849  -8798898.07147  22907797.5504   22907802.6354
+     -2131.5814      -1660.9804
+  24160804.0124   -2625863.07949  -1531684.66945  24160803.3524   24160807.6734
+     -2938.8494      -2290.0154
+  23284276.2234  -10658804.81549  -8285072.31146  23284275.9054   23284281.6224
+     -3475.1884      -2707.9314
+ 05  1 20 11  5 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20742720.5014  -19331636.27149 -15036501.79748  20742720.0014   20742724.6204
+     -1539.2034      -1199.3794
+  20473003.9164  -22533623.11249 -17529992.34748  20473003.4504   20473005.8964
+       797.1854        621.1854
+  21693367.9034  -16723935.89649 -13012362.26147  21693367.6464   21693372.8264
+      2821.4134       2198.5034
+  22074010.5644  -11685695.73149  -9083543.00847  22074010.2184   22074014.1674
+      2534.8474       1975.2114
+  23967866.6474   -3583578.24749  -2770347.38146  23967866.3114   23967870.6184
+      3614.0424       2816.1394
+  22919984.4784  -11247282.59149  -8748999.69847  22919984.4904   22919987.8714
+     -2137.5114      -1665.5894
+  24177590.7454   -2537651.58049  -1462948.47746  24177590.7264   24177595.1614
+     -2941.9294      -2292.4054
+  23304135.7884  -10554444.63849  -8203752.74146  23304135.2754   23304141.0794
+     -3482.1374      -2713.3574
+ 05  1 20 11  6  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20751538.7994  -19285298.28449 -15000394.27448  20751538.1084   20751542.3094
+     -1549.9494      -1207.7524
+  20468508.0044  -22557251.59549 -17548404.15848  20468507.6064   20468509.1054
+       778.0694        606.2874
+  21677297.7094  -16808391.07749 -13078171.47847  21677296.8344   21677302.2394
+      2808.9014       2188.7564
+  22059575.6664  -11761548.41149  -9142648.99447  22059576.0674   22059579.8514
+      2521.9944       1965.1874
+  23947241.7854   -3691972.12449  -2854810.14846  23947240.8154   23947245.1204
+      3612.2154       2814.7054
+  22932204.0254  -11183068.01949  -8698962.36946  22932203.2614   22932208.3014
+     -2143.4704      -1670.2294
+  24194392.7754   -2449350.07149  -1394142.13646  24194392.9954   24194398.2444
+     -2944.8524      -2294.6794
+  23324035.7624  -10449876.69149  -8122271.26046  23324034.8784   23324040.5314
+     -3489.0894      -2718.7734
+ 05  1 20 11  6 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20760417.7054  -19238638.64149 -14964036.10748  20760417.4304   20760421.1754
+     -1560.6664      -1216.1054
+  20464120.8284  -22580306.18149 -17566368.76848  20464120.2614   20464122.3444
+       758.9084        591.3574
+  21661297.5584  -16892469.36549 -13143687.02647  21661297.4574   21661302.3194
+      2796.2884       2178.9244
+  22045215.4514  -11837014.65449  -9201453.87047  22045215.3034   22045218.6634
+      2509.0724       1955.1224
+  23926625.8004   -3800310.10849  -2939229.32946  23926624.0484   23926628.1724
+      3610.3004       2813.2234
+  22944456.1344  -11118674.84449  -8648785.88646  22944457.4344   22944461.9984
+     -2149.4174      -1674.8704
+  24211212.0634   -2360961.48649  -1325267.93145  24211212.1044   24211217.3994
+     -2947.7074      -2296.9164
+  23343970.0244  -10345103.11649  -8040629.55746  23343970.4014   23343977.7864
+     -3495.9084      -2724.0784
+ 05  1 20 11  7  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20769357.5274  -19191659.14649 -14927428.70948  20769357.1394   20769361.0874
+     -1571.2944      -1224.3854
+  20459842.9834  -22602785.30049 -17583884.96848  20459842.4914   20459844.7644
+       739.7114        576.4024
+  21645370.2924  -16976167.85349 -13208906.62147  21645370.0304   21645375.1714
+      2783.5904       2169.0314
+  22030928.0874  -11912091.79749  -9259955.55547  22030928.4844   22030932.9794
+      2496.0394       1944.9704
+  23906019.2514   -3908589.49449  -3023602.86646  23906018.5104   23906024.0134
+      3608.3024       2811.6584
+  22956745.1164  -11054103.26149  -8598470.39246  22956744.6124   22956749.4424
+     -2155.3524      -1679.4874
+  24228047.2484   -2272489.09549  -1256328.35745  24228048.2924   24228051.4844
+     -2950.4374      -2299.0474
+  23363949.8664  -10240126.05349  -7958829.28146  23363948.0614   23363954.0054
+     -3502.6354      -2729.3184
+ 05  1 20 11  7 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20778357.4094  -19144361.73449 -14890573.57548  20778357.2304   20778361.3534
+     -1581.8614      -1232.6204
+  20455674.9724  -22624687.98549 -17600951.98148  20455674.4714   20455676.6804
+       720.4734        561.4074
+  21629516.0854  -17059483.98849 -13273828.27547  21629515.5854   21629520.6824
+      2770.8024       2159.0644
+  22016716.9214  -11986777.41549  -9318152.14947  22016716.7114   22016720.2984
+      2482.9674       1934.7814
+  23885427.7594   -4016807.56749  -3107928.59746  23885426.4204   23885429.5954
+      3606.2144       2810.0424
+  22969064.9564  -10989353.24249  -8548015.83346  22969065.6884   22969069.7504
+     -2161.2874      -1684.1244
+  24244897.7104   -2183936.31249  -1187326.19345  24244898.1664   24244903.7464
+     -2953.1114      -2301.1284
+  23383962.7564  -10134947.64349  -7876872.12946  23383963.0894   23383968.5024
+     -3509.3234      -2734.5404
+ 05  1 20 11  8  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20787418.6084  -19096748.10249 -14853472.04448  20787417.7994   20787422.3914
+     -1592.3794      -1240.8124
+  20451616.9244  -22646012.70249 -17617568.64948  20451616.6604   20451618.6434
+       701.1684        546.3664
+  21613733.8494  -17142414.80249 -13338449.67847  21613733.5904   21613739.1654
+      2757.8924       2149.0084
+  22002578.5794  -12061068.79949  -9376041.53147  22002579.3904   22002583.1654
+      2469.7624       1924.4934
+  23864846.9644   -4124961.40249  -3192204.31046  23864844.8164   23864848.8264
+      3603.9934       2808.3104
+  22981422.7124  -10924424.52649  -8497422.03746  22981422.0314   22981427.0554
+     -2167.2534      -1688.7734
+  24261767.4604   -2095305.79549  -1118263.40945  24261765.7974   24261769.9294
+     -2955.6644      -2303.1224
+  23404016.9414  -10029569.93649  -7794759.65046  23404016.5864   23404021.6344
+     -3515.9064      -2739.6664
+ 05  1 20 11  8 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20796538.6944  -19048820.14549 -14816125.57948  20796538.3714   20796542.2574
+     -1602.8234      -1248.9514
+  20447669.3584  -22666758.26949 -17633734.02148  20447668.8784   20447670.7054
+       681.8454        531.3114
+  21598026.0784  -17224957.87549 -13402768.94647  21598026.4284   21598031.8294
+      2744.9464       2138.9204
+  21988517.7574  -12134963.43449  -9433621.75947  21988517.2454   21988521.6374
+      2456.5084       1914.1644
+  23844277.0134   -4233048.39049  -3276427.89146  23844276.6264   23844281.0574
+      3601.7484       2806.5484
+  22993811.1124  -10859317.25149  -8446689.12046  22993810.7844   22993815.4394
+     -2173.2164      -1693.4154
+  24278645.3874   -2006600.69149  -1049142.47345  24278644.8834   24278649.6464
+     -2958.0414      -2304.9694
+  23424107.4784   -9923995.14749  -7712493.61046  23424106.4394   23424112.2434
+     -3522.3914      -2744.7184
+ 05  1 20 11  9  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20805719.1174  -19000579.70949 -14778535.61948  20805718.2824   20805722.3984
+     -1613.2064      -1257.0424
+  20443831.8914  -22686923.33149 -17649447.05348  20443831.7124   20443833.5364
+       662.4854        516.2234
+  21582393.4964  -17307110.32149 -13466783.83447  21582393.1584   21582398.7204
+      2731.8734       2128.7354
+  21974531.5824  -12208458.73549  -9490890.82547  21974531.5464   21974535.5214
+      2443.1494       1903.7524
+  23823725.5254   -4341065.73749  -3360597.29246  23823722.9584   23823724.7184
+      3599.3764       2804.7094
+  23006234.5164  -10794031.41949  -8395817.05747  23006235.1664   23006239.2424
+     -2179.1694      -1698.0584
+  24295538.4324   -1917824.33849   -979966.18745  24295538.6024   24295544.0194
+     -2960.3984      -2306.8024
+  23444231.8154   -9818225.47349  -7630075.72746  23444232.5504   23444238.9074
+     -3528.8514      -2749.7494
+ 05  1 20 11  9 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20814957.5354  -18952028.67949 -14740703.64648  20814957.4964   20814961.3704
+     -1623.5124      -1265.0764
+  20440105.8224  -22706506.73349 -17664706.84548  20440105.0944   20440106.7554
+       643.0844        501.1014
+  21566834.9534  -17388869.39149 -13530492.18747  21566835.0854   21566840.4764
+      2718.7154       2118.4794
+  21960622.2164  -12281552.12549  -9547846.72347  21960622.7844   21960626.4044
+      2429.7334       1893.3004
+  23803180.5054   -4449010.54749  -3444710.12146  23803181.2074   23803183.1304
+      3596.9454       2802.8224
+  23018693.4584  -10728567.07449  -8344805.90147  23018692.6754   23018696.5364
+     -2185.1204      -1702.6864
+  24312446.7374   -1828979.54549   -910736.49945  24312445.7364   24312449.0274
+     -2962.5914      -2308.5224
+  23464396.5654   -9712263.07749  -7547507.65446  23464396.7254   23464403.3124
+     -3535.2614      -2754.7474
+ 05  1 20 11 10  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20824255.4034  -18903168.79649 -14702631.00548  20824255.0284   20824259.0894
+     -1633.8044      -1273.0954
+  20436489.7774  -22725507.33049 -17679512.50548  20436489.2784   20436491.2054
+       623.6254        485.9394
+  21551353.7654  -17470232.09149 -13593891.69547  21551352.8764   21551357.7944
+      2705.4544       2108.1434
+  21946790.7114  -12354240.91949  -9604487.34347  21946790.5634   21946794.4274
+      2416.1794       1882.7254
+  23782655.0624   -4556880.12949  -3528764.30346  23782654.9744   23782657.5314
+      3594.3754       2800.8074
+  23031184.4094  -10662924.24649  -8293655.67047  23031184.3354   23031188.8564
+     -2191.0674      -1707.3164
+  24329365.3724   -1740069.43449   -841455.81845  24329363.2334   24329368.9414
+     -2964.7394      -2310.1934
+  23484596.7504   -9606110.15949  -7464791.13046  23484597.3754   23484602.9424
+     -3541.5834      -2759.6844
+ 05  1 20 11 10 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20833611.8284  -18854001.81049 -14664319.06248  20833611.3464   20833615.3394
+     -1644.0174      -1281.0544
+  20432985.1314  -22743923.81449 -17693863.01748  20432984.8634   20432986.5914
+       604.1274        470.7424
+  21535946.2294  -17551195.99649 -13656980.43947  21535946.0214   21535950.8484
+      2692.1024       2097.7414
+  21933035.5424  -12426522.57249  -9660810.70547  21933035.8124   21933039.7214
+      2402.5564       1872.1204
+  23762143.4174   -4664671.75449  -3612757.76646  23762142.6534   23762144.6104
+      3591.7134       2798.7464
+  23043709.2494  -10597102.77249  -8242366.21047  23043709.3494   23043713.5894
+     -2197.0504      -1711.9884
+  24346295.6194   -1651097.18349   -772126.76845  24346294.1234   24346299.9784
+     -2966.7694      -2311.7654
+  23504832.6204   -9499768.84149  -7381927.79446  23504833.6314   23504839.5104
+     -3547.8264      -2764.5314
+ 05  1 20 11 11  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20843025.9294  -18804529.85049 -14625769.47948  20843025.4434   20843029.3954
+     -1654.1134      -1288.9194
+  20429592.0224  -22761755.31849 -17707757.68848  20429591.4624   20429593.6044
+       584.6344        455.5604
+  21520615.6024  -17631758.42749 -13719756.36547  21520615.4424   21520620.4364
+      2678.6774       2087.2814
+  21919359.0504  -12498394.74949  -9716815.00247  21919359.0004   21919362.4854
+      2388.8464       1861.4344
+  23741646.1274   -4772382.66249  -3696688.32146  23741645.5564   23741648.5734
+      3588.9274       2796.5744
+  23056267.9234  -10531102.73449  -8190937.63947  23056268.2174   23056273.8014
+     -2202.9874      -1716.6104
+  24363235.6344   -1562065.98449   -702751.85045  24363236.7074   24363240.6944
+     -2968.6044      -2313.1954
+  23525106.4674   -9393241.40249  -7298919.41446  23525105.8274   23525111.1504
+     -3553.9954      -2769.3504
+ 05  1 20 11 11 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20852497.7124  -18754754.50649 -14586983.49448  20852497.1604   20852501.3514
+     -1664.1884      -1296.7644
+  20426310.7194  -22779000.48349 -17721195.47548  20426310.1104   20426311.9764
+       565.0764        440.3224
+  21505362.3194  -17711916.67649 -13782217.31247  21505361.6504   21505366.6214
+      2665.1774       2076.7634
+  21905760.7844  -12569854.49449  -9772497.93047  21905760.6644   21905764.2304
+      2375.0914       1850.7214
+  23721165.1234   -4880010.11249  -3780553.83446  23721163.7464   23721167.0804
+      3586.1434       2794.3994
+  23068862.2044  -10464923.84549  -8139369.69946  23068861.8064   23068867.5284
+     -2208.9384      -1721.2564
+  24380191.6214   -1472978.78549   -633333.28945  24380189.5784   24380194.1364
+     -2970.4824      -2314.6594
+  23545413.3014   -9286530.11649  -7215767.78246  23545412.6194   23545418.0164
+     -3560.0714      -2774.0864
+ 05  1 20 11 12  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20862026.8334  -18704677.66349 -14547962.57348  20862026.6824   20862030.5314
+     -1674.2384      -1304.6014
+  20423140.7934  -22795658.15649 -17734175.48148  20423140.2984   20423141.9684
+       545.4544        425.0314
+  21490185.5964  -17791667.91549 -13844361.13347  21490185.3754   21490190.4864
+      2651.5664       2066.1544
+  21892241.3634  -12640899.37349  -9827857.59247  21892241.3914   21892244.9414
+      2361.2134       1839.9114
+  23700700.8234   -4987550.93949  -3864351.88246  23700700.2784   23700703.8084
+      3583.2314       2792.1374
+  23081490.5814  -10398566.47249  -8087662.68046  23081489.3994   23081493.9524
+     -2214.8804      -1725.8754
+  24397153.8864   -1383838.69549   -563873.53045  24397152.9574   24397156.3574
+     -2972.1564      -2315.9664
+  23565753.0314   -9179636.99649  -7132474.49846  23565753.3454   23565758.9634
+     -3566.1284      -2778.8044
+ 05  1 20 11 12 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20871613.0964  -18654301.31749 -14508708.27448  20871612.8814   20871616.8544
+     -1684.1884      -1312.3514
+  20420082.6404  -22811727.47549 -17746697.02148  20420082.3594   20420084.2274
+       525.8174        409.7324
+  21475086.5504  -17871009.86249 -13906186.02347  21475086.7464   21475092.3584
+      2637.8704       2055.4854
+  21878801.5484  -12711526.95949  -9882892.07947  21878801.2454   21878805.0244
+      2347.2724       1829.0434
+  23680253.2824   -5095002.75149  -3948080.55746  23680252.0514   23680256.0914
+      3580.2344       2789.7964
+  23094151.5484  -10332030.48849  -8035816.49446  23094150.8194   23094154.9974
+     -2220.8694      -1730.5524
+  24414124.3314   -1294648.79049   -494374.89045  24414124.4724   24414129.1264
+     -2973.8324      -2317.2764
+  23586128.2844   -9072564.27549  -7049041.21445  23586126.6304   23586133.5244
+     -3572.0594      -2783.4374
+ 05  1 20 11 13  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20881256.1734  -18603627.16049 -14469221.91148  20881255.9234   20881259.7854
+     -1694.0714      -1320.0574
+  20417136.7264  -22827207.45249 -17758759.33248  20417136.3254   20417138.2024
+       506.1614        394.4134
+  21460067.8324  -17949939.70549 -13967689.79147  21460067.2194   21460072.1834
+      2624.0894       2044.7434
+  21865441.2634  -12781734.71149  -9937599.43047  21865441.0644   21865445.0684
+      2333.2334       1818.1044
+  23659822.9724   -5202362.53049  -4031737.51246  23659822.7334   23659825.8214
+      3577.1154       2787.3694
+  23106846.0694  -10265315.74449  -7983831.00946  23106846.2724   23106850.6214
+     -2226.7994      -1735.1624
+  24431104.8164   -1205411.80749   -424839.58345  24431106.0554   24431111.6314
+     -2975.2864      -2318.4024
+  23606537.2284   -8965314.09049  -6965469.68345  23606536.0594   23606542.3484
+     -3577.9274      -2787.9724
+ 05  1 20 11 13 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20890955.1324  -18552657.00449 -14429504.90148  20890954.8104   20890959.0394
+     -1703.9204      -1327.7334
+  20414304.0504  -22842096.78049 -17770361.39848  20414303.3024   20414304.7144
+       486.4504        379.0504
+  21445126.1974  -18028454.80949 -14028870.38747  21445125.7414   21445131.0954
+      2610.1964       2033.9154
+  21852161.0834  -12851520.12949  -9991977.68247  21852161.3154   21852165.0634
+      2319.0854       1807.0724
+  23639410.8274   -5309627.74749  -4115320.79746  23639410.5424   23639413.8544
+      3573.8864       2784.8524
+  23119575.6674  -10198422.44249  -7931706.37046  23119575.0444   23119580.3464
+     -2232.7484      -1739.8024
+  24448097.8914   -1116131.02349   -355270.13845  24448096.5704   24448101.0854
+     -2976.7324      -2319.5254
+  23626980.2944   -8857888.77549  -6881761.68545  23626979.0244   23626984.2084
+     -3583.7334      -2792.5134
+ 05  1 20 11 14  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20900710.9524  -18501392.76349 -14389558.74348  20900710.1964   20900714.4934
+     -1713.6784      -1335.3314
+  20411582.3444  -22856394.49149 -17781502.46448  20411582.2584   20411584.2494
+       466.7314        363.6884
+  21430265.3224  -18106552.49349 -14089725.71947  21430264.7214   21430269.7734
+      2596.2724       2023.0714
+  21838962.4584  -12920880.59149 -10046024.79647  21838962.4474   21838966.2694
+      2304.8984       1796.0214
+  23619017.5174   -5416795.40849  -4198828.04246  23619016.9734   23619020.4504
+      3570.5794       2782.2694
+  23132338.5794  -10131350.56049  -7879442.55246  23132338.7634   23132343.8374
+     -2238.7394      -1744.4844
+  24465094.5614   -1026809.45149   -285668.95945  24465094.2094   24465098.1974
+     -2978.0574      -2320.5674
+  23647457.1614   -8750290.52649  -6797918.92645  23647455.9894   23647460.4674
+     -3589.5064      -2797.0184
+ 05  1 20 11 14 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20910521.9284  -18449836.25049 -14349384.82748  20910521.3614   20910525.3374
+     -1723.3884      -1342.9034
+  20408975.2834  -22870099.74049 -17792181.86648  20408974.3134   20408976.0554
+       446.9554        348.2754
+  21415483.8784  -18184230.11849 -14150253.72147  21415483.3544   21415488.2714
+      2582.2124       2012.1144
+  21825845.0144  -12989813.42749 -10099738.71047  21825844.9814   21825849.0744
+      2290.5944       1784.8764
+  23598643.7774   -5523862.78149  -4282257.12946  23598643.0854   23598645.8884
+      3567.2324       2779.6614
+  23145136.4554  -10064100.26949  -7827039.74746  23145136.5074   23145140.9004
+     -2244.6824      -1749.1054
+  24482098.2644    -937450.28949   -216038.43045  24482097.7384   24482101.3174
+     -2979.1904      -2321.4464
+  23667963.1964   -8642521.49049  -6713943.08645  23667963.8774   23667968.5604
+     -3595.1414      -2801.4064
+ 05  1 20 11 15  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20920388.0474  -18397989.14949 -14308984.49648  20920387.6444   20920391.4734
+     -1733.0534      -1350.4314
+  20406479.3024  -22883211.43349 -17802398.75648  20406479.1294   20406481.0524
+       427.1524        332.8434
+  21400782.7424  -18261484.99049 -14210452.32547  21400782.2834   21400787.2214
+      2568.1124       2001.1284
+  21812809.5524  -13058316.42349 -10153117.66347  21812809.4874   21812813.2914
+      2276.2614       1773.7084
+  23578290.3664   -5630827.07949  -4365605.92546  23578289.0314   23578290.6734
+      3563.7514       2776.9434
+  23157968.2024   -9996671.59049  -7774497.95146  23157967.8144   23157973.3084
+     -2250.5764      -1753.6914
+  24499108.4654    -848056.34849   -146380.80045  24499108.7384   24499113.8514
+     -2980.4074      -2322.3944
+  23688506.2164   -8534583.81349  -6629835.86045  23688504.1974   23688508.6664
+     -3600.6254      -2805.6744
+ 05  1 20 11 15 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20930309.1454  -18345853.53349 -14268359.33548  20930308.5824   20930312.3994
+     -1742.6454      -1357.9044
+  20404098.0854  -22895728.57949 -17812152.36848  20404097.7674   20404099.0924
+       407.3374        317.4054
+  21386161.3454  -18338314.81249 -14270319.70847  21386161.5264   21386167.0014
+      2553.8844       1990.0374
+  21799855.4654  -13126386.87849 -10206159.58647  21799855.8134   21799859.6404
+      2261.7764       1762.4224
+  23557955.7904   -5737685.40149  -4448872.13746  23557954.7534   23557956.5964
+      3560.1554       2774.1444
+  23170833.5334   -9929064.48149  -7721817.08446  23170832.8864   23170836.3154
+     -2256.5504      -1758.3564
+  24516124.6134    -758630.79449    -76698.53745  24516124.6704   24516130.3584
+     -2981.3384      -2323.1164
+  23709074.3974   -8426479.90249  -6545599.06045  23709073.8444   23709080.8344
+     -3606.2404      -2810.0534
+ 05  1 20 11 16  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20940284.6604  -18293431.07049 -14227510.65348  20940284.1654   20940288.0364
+     -1752.1914      -1365.3474
+  20401829.5594  -22907650.33549 -17821442.03848  20401828.8204   20401830.4694
+       387.4384        301.8974
+  21371623.9594  -18414716.92149 -14329853.80847  21371623.5134   21371627.9524
+      2539.5664       1978.8804
+  21786985.6984  -13194022.31149 -10258862.52447  21786985.4504   21786989.2494
+      2247.2354       1751.0874
+  23537640.8184   -5844435.21349  -4532053.82146  23537639.7074   23537643.2074
+      3556.4984       2771.2864
+  23183731.8974   -9861278.75949  -7668997.05846  23183731.9054   23183737.6224
+     -2262.4864      -1762.9834
+  24533149.6494    -669176.53349     -6993.92045  24533149.1254   24533154.4214
+     -2982.2174      -2323.8044
+  23729676.3994   -8318211.93049  -6461234.42145  23729675.9624   23729682.4774
+     -3611.5454      -2814.2024
+ 05  1 20 11 16 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20950314.0314  -18240723.54949 -14186439.85948  20950313.8964   20950317.7644
+     -1761.6204      -1372.6844
+  20399674.3134  -22918975.76249 -17830267.03348  20399673.6104   20399675.2834
+       367.5624        286.4164
+  21357166.3174  -18490688.84749 -14389052.70347  21357165.9184   21357171.1544
+      2525.1994       1967.6954
+  21774198.4674  -13261220.39049 -10311224.66747  21774198.1364   21774201.9274
+      2232.6054       1739.7014
+  23517349.8344   -5951073.61849  -4615148.67846  23517347.2994   23517351.6274
+      3552.7274       2768.3664
+  23196665.6204   -9793314.83349  -7616038.17246  23196664.9094   23196670.0594
+     -2268.4524      -1767.6174
+  24550175.7804    -579696.87749     62730.45045  24550175.4814   24550181.6844
+     -2983.0474      -2324.4474
+  23750305.6964   -8209782.13249  -6376743.71045  23750309.9484   23750317.4384
+     -3616.9544      -2818.4024
+ 05  1 20 11 17  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20960398.3374  -18187732.93049 -14145148.46648  20960397.7744   20960401.7134
+     -1771.0354      -1380.0294
+  20397632.0884  -22929704.07949 -17838626.75448  20397632.0524   20397633.6644
+       347.6454        270.8874
+  21342791.6914  -18566228.14549 -14447914.49247  21342791.0774   21342796.5894
+      2510.7214       1956.4004
+  21761494.3154  -13327978.49449 -10363243.97947  21761494.7234   21761498.0904
+      2217.8754       1728.2084
+  23497077.5084   -6057597.54949  -4698154.32146  23497075.9204   23497080.4474
+      3548.8744       2765.3474
+  23209632.9114   -9725172.33749  -7562940.14346  23209632.5004   23209635.8224
+     -2274.3944      -1772.2604
+  24567206.8614    -490194.60649    132472.44845  24567207.1264   24567212.7754
+     -2983.7594      -2325.0074
+  23770974.6954   -8101192.70349  -6292128.61945  23770973.5434   23770980.7234
+     -3622.3204      -2822.5904
+ 05  1 20 11 17 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20970535.1594  -18134460.87649 -14103637.76848  20970534.9064   20970538.8934
+     -1780.3784      -1387.3064
+  20395704.4014  -22939834.52849 -17846520.59448  20395704.3274   20395706.1124
+       327.7094        255.3604
+  21328499.2954  -18641332.06249 -14506437.01447  21328499.5764   21328504.6394
+      2496.1654       1945.0634
+  21748875.4984  -13394294.35749 -10414918.68247  21748875.1584   21748878.9114
+      2203.1194       1716.7184
+  23476830.4574   -6164004.36249  -4781068.70246  23476828.9614   23476832.2774
+      3544.9334       2762.2784
+  23222632.9324   -9656851.50149  -7509703.14646  23222633.3334   23222638.7204
+     -2280.3174      -1776.8714
+  24584242.8004    -400672.43149    202230.02745  24584243.6614   24584248.7304
+     -2984.3794      -2325.4914
+  23791667.8514   -7992445.75049  -6207390.80345  23791668.3354   23791674.1794
+     -3627.4914      -2826.6104
+ 05  1 20 11 18  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20980725.8324  -18080909.19549 -14061909.18848  20980725.8414   20980729.7114
+     -1789.6914      -1394.5634
+  20393891.0864  -22949366.01649 -17853947.72448  20393890.5974   20393892.1754
+       307.7244        239.7824
+  21314291.0204  -18715997.82349 -14564618.12448  21314291.1674   21314296.6714
+      2481.5304       1933.6624
+  21736339.6024  -13460165.13049 -10466246.55947  21736340.2734   21736344.1274
+      2188.2584       1705.1344
+  23456603.1804   -6270291.26349  -4863889.66346  23456602.2564   23456605.8434
+      3540.8514       2759.1074
+  23235669.7424   -9588352.43249  -7456327.27946  23235668.8024   23235673.6404
+     -2286.2594      -1781.5004
+  24601281.4144    -311133.69649    272000.50045  24601280.5524   24601287.2854
+     -2984.8934      -2325.8944
+  23812390.8124   -7883543.71049  -6122532.09745  23812391.8424   23812398.1924
+     -3632.6144      -2830.6044
+ 05  1 20 11 18 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  20990969.6254  -18027079.79549 -14019964.19248  20990969.0974   20990973.0114
+     -1798.9124      -1401.7524
+  20392191.1014  -22958297.77349 -17860907.52248  20392190.8094   20392192.6074
+       287.7294        224.2014
+  21300167.0424  -18790223.22849 -14622456.09647  21300166.4054   21300171.2524
+      2466.8134       1922.1894
+  21723890.4414  -13525588.37849 -10517225.72247  21723890.8644   21723894.2394
+      2173.2974       1693.4794
+  23436399.6294   -6376455.37549  -4946614.93346  23436399.1674   23436403.3994
+      3536.7594       2755.9184
+  23248737.3394   -9519675.05849  -7402812.47446  23248738.0254   23248741.8844
+     -2292.2164      -1786.1444
+  24618323.2744    -221581.23849    341781.70045  24618322.8034   24618327.2154
+     -2985.2744      -2326.1964
+  23833144.9844   -7774488.86049  -6037554.36145  23833145.1694   23833149.0164
+     -3637.7154      -2834.5904
+ 05  1 20 11 19  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21001265.0634  -17972974.55849 -13977804.26548  21001264.9724   21001269.1544
+     -1808.0794      -1408.8924
+  20390606.1714  -22966629.21049 -17867399.53748  20390605.4184   20390607.3144
+       267.7194        208.6114
+  21286125.9414  -18864005.86249 -14679949.05047  21286125.4094   21286131.2064
+      2451.9994       1910.6524
+  21711526.6094  -13590562.36649 -10567854.80647  21711526.3154   21711530.5594
+      2158.2964       1681.7904
+  23416222.3044   -6482494.09249  -5029242.49746  23416221.5654   23416225.2174
+      3532.5074       2752.5984
+  23261840.3854   -9450819.54349  -7349158.84146  23261839.5264   23261844.8484
+     -2298.1344      -1790.7614
+  24635367.5544    -132017.98949    411571.35845  24635367.3484   24635370.7214
+     -2985.5194      -2326.3894
+  23853925.2054   -7665283.38349  -5952459.22445  23853926.0564   23853930.7664
+     -3642.6294      -2838.4164
+ 05  1 20 11 19 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21011613.5864  -17918595.23649 -13935430.76148  21011612.9174   21011617.0124
+     -1817.1734      -1415.9804
+  20389134.8534  -22974359.52749 -17873423.14948  20389134.3784   20389136.3174
+       247.6614        192.9804
+  21272170.7624  -18937343.11649 -14737094.95148  21272170.6354   21272175.4114
+      2437.1224       1899.0534
+  21699247.5724  -13655083.84049 -10618131.27847  21699248.3814   21699252.1144
+      2143.1474       1669.9804
+  23396067.7764   -6588404.43749  -5111770.02946  23396067.3544   23396071.0114
+      3528.1654       2749.2174
+  23274974.2344   -9381785.92249  -7295366.45846  23274976.1944   23274981.9604
+     -2304.0504      -1795.3644
+  24652411.3374     -42447.08849    481366.96445  24652410.3874   24652415.5864
+     -2985.8354      -2326.6244
+  23874736.0104   -7555929.45749  -5867248.41445  23874734.3284   23874740.0304
+     -3647.5824      -2842.2764
+ 05  1 20 11 20  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21022012.9894  -17863943.53849 -13892845.03148  21022012.8414   21022016.8714
+     -1826.2504      -1423.0534
+  20387778.4294  -22981487.94149 -17878977.74848  20387778.0424   20387779.5214
+       227.5754        177.3304
+  21258299.9574  -19010232.46349 -14793891.85347  21258300.0024   21258304.7644
+      2422.1484       1887.3874
+  21687057.6254  -13719150.62449 -10668053.45647  21687057.3354   21687060.5154
+      2127.9614       1658.1504
+  23375940.0484   -6694183.78649  -5194195.48246  23375939.0224   23375942.0104
+      3523.7594       2745.7874
+  23288148.4994   -9312574.05949  -7241435.16046  23288147.3614   23288151.1724
+     -2310.0304      -1800.0254
+  24669456.1664      47128.47849    551166.23645  24669455.8454   24669463.2754
+     -2985.8814      -2326.6634
+  23895570.6824   -7446429.44149  -5781923.75345  23895571.7364   23895578.2734
+     -3652.4074      -2846.0264
+ 05  1 20 11 20 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21032464.5594  -17809021.46749 -13850048.60648  21032464.3274   21032468.2934
+     -1835.2334      -1430.0524
+  20386536.2364  -22988013.63449 -17884062.69148  20386535.9894   20386537.8794
+       207.4874        161.6804
+  21244515.5364  -19082671.34549 -14850337.71848  21244515.2714   21244520.5724
+      2407.0914       1875.6614
+  21674952.1154  -13782760.27849 -10717619.42047  21674952.1204   21674955.8974
+      2112.6674       1646.2344
+  23355836.5114   -6799829.04849  -5276516.46146  23355835.0774   23355837.8944
+      3519.2494       2742.2764
+  23301351.4144   -9243184.24549  -7187365.17946  23301351.6534   23301357.0594
+     -2315.9504      -1804.6514
+  24686499.8244     136705.75549    620966.82045  24686500.9104   24686506.2224
+     -2985.8584      -2326.6464
+  23916439.0654   -7336785.40449  -5696486.93045  23916437.5164   23916441.2164
+     -3657.2174      -2849.7834
+ 05  1 20 11 21  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21042967.2764  -17753830.66449 -13807042.78148  21042966.5154   21042970.4504
+     -1844.1534      -1437.0014
+  20385409.4204  -22993936.17549 -17888677.64448  20385408.8204   20385410.7124
+       187.3544        145.9894
+  21230817.3294  -19154657.71649 -14906430.98948  21230817.2534   21230821.8514
+      2391.9754       1863.8764
+  21662934.9034  -13845910.18549 -10766827.14947  21662935.3834   21662939.0104
+      2097.3134       1634.2654
+  23335758.4434   -6905337.47549  -5358730.81046  23335757.3004   23335760.7214
+      3514.6414       2738.6844
+  23314589.8794   -9173616.55149  -7133156.61146  23314590.5324   23314594.5944
+     -2321.8744      -1809.2554
+  24703549.4724     226281.69149    690766.36945  24703547.3484   24703552.4334
+     -2985.8054      -2326.6044
+  23937330.7284   -7226999.64849  -5610939.62145  23937329.3884   23937333.9054
+     -3661.8994      -2853.4224
+ 05  1 20 11 21 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21053520.0034  -17698373.16149 -13763829.14648  21053520.1154   21053523.7624
+     -1853.0134      -1443.9084
+  20384396.9944  -22999254.67849 -17892821.91648  20384396.9314   20384398.9144
+       167.2194        130.2944
+  21217204.9494  -19226189.02049 -14962169.65948  21217204.7834   21217210.1084
+      2376.7584       1852.0184
+  21651006.3874  -13908598.61049 -10815675.28347  21651006.1784   21651009.8044
+      2081.9014       1622.2584
+  23315707.0604   -7010706.30849  -5440836.38146  23315705.9554   23315710.1014
+      3509.9474       2735.0294
+  23327862.4594   -9103871.22549  -7078809.62846  23327862.1104   23327866.5204
+     -2327.8164      -1813.8964
+  24720595.0174     315853.36349    760562.53345  24720593.8404   24720597.9904
+     -2985.6294      -2326.4684
+  23958247.3674   -7117074.48649  -5525283.74245  23958247.4184   23958251.4074
+     -3666.4374      -2856.9624
+ 05  1 20 11 22  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21064124.0484  -17642650.48349 -13720408.87048  21064123.5974   21064127.4414
+     -1861.8144      -1450.7594
+  20383500.6344  -23003968.61849 -17896495.10048  20383500.0044   20383501.8854
+       147.0404        114.5804
+  21203681.4094  -19297262.72849 -15017551.76248  21203680.4464   21203685.3424
+      2361.4484       1840.0904
+  21639164.2414  -13970822.92649 -10864161.76447  21639165.1304   21639169.1304
+      2066.3764       1610.1664
+  23295682.4774   -7115932.81149  -5522831.04546  23295682.2664   23295685.7854
+      3505.1604       2731.2954
+  23341168.2764   -9033948.14749  -7024324.14946  23341168.5784   23341171.7544
+     -2333.7644      -1818.5124
+  24737637.5464     405417.67649    830352.93945  24737635.0794   24737640.7454
+     -2985.3324      -2326.2314
+  23979187.5334   -7007012.38149  -5439521.08145  23979188.7914   23979195.5494
+     -3671.1334      -2860.6174
+ 05  1 20 11 22 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21074777.9074  -17586664.50349 -13676783.42748  21074777.3214   21074781.1064
+     -1870.5884      -1457.6044
+  20382718.5154  -23008077.24149 -17899696.61548  20382718.0774   20382720.0004
+       126.8644         98.8524
+  21190242.1494  -19367876.10449 -15072575.17448  21190242.2264   21190247.8754
+      2346.0834       1828.1114
+  21627413.1544  -14032580.48149 -10912284.54047  21627413.3934   21627416.8064
+      2050.7754       1598.0044
+  23275687.5504   -7221014.15549  -5604712.60346  23275685.8524   23275689.2634
+      3500.2364       2727.4434
+  23354507.2584   -8963847.37449  -6969700.19246  23354506.7704   23354512.0634
+     -2339.6694      -1823.1224
+  24754678.5894     494971.87849    900135.38245  24754678.1784   24754681.9424
+     -2985.0384      -2325.9954
+  24000157.5074   -6896815.53849  -5353653.49045  24000157.1524   24000165.6134
+     -3675.4374      -2863.9724
+ 05  1 20 11 23  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21085480.9794  -17530417.07149 -13632954.26048  21085480.8534   21085484.9094
+     -1879.2544      -1464.3534
+  20382051.7994  -23011580.19549 -17902426.17848  20382051.4024   20382053.2684
+       106.6554         83.1094
+  21176893.1554  -19438027.05449 -15127238.24248  21176893.1104   21176898.0074
+      2330.6174       1816.0704
+  21615750.1824  -14093869.03549 -10960041.85447  21615750.4344   21615753.9004
+      2035.1014       1585.7924
+  23255717.8834   -7325947.50749  -5686478.84046  23255717.3114   23255721.6854
+      3495.2934       2723.6024
+  23367881.4554   -8893568.98049  -6914937.83946  23367881.2504   23367885.4814
+     -2345.5584      -1827.6974
+  24771716.8684     584512.92249    969907.62445  24771714.1424   24771723.0884
+     -2984.4674      -2325.5524
+  24021151.2384   -6786486.19149  -5267682.65945  24021153.5994   24021161.3304
+     -3679.8764      -2867.4304
+ 05  1 20 11 23 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21096234.2374  -17473910.05249 -13588922.81748  21096233.6794   21096237.5174
+     -1887.8724      -1471.0714
+  20381500.4344  -23014476.77649 -17904683.24548  20381500.1864   20381502.0094
+        86.4464         67.3584
+  21163632.0354  -19507713.31549 -15181539.22048  21163632.3264   21163637.4204
+      2315.1004       1803.9734
+  21604176.8154  -14154686.10649 -11007431.78947  21604177.5334   21604180.8284
+      2019.3624       1573.5284
+  23235778.4624   -7430730.07449  -5768127.56746  23235778.5744   23235780.8904
+      3490.2084       2719.6414
+  23381290.0404   -8823113.33649  -6860037.36346  23381288.6404   23381293.6024
+     -2351.4724      -1832.3154
+  24788755.6404     674038.12249   1039667.48845  24788754.0034   24788757.7574
+     -2983.8344      -2325.0684
+  24042175.1044   -6676026.63149  -5181610.31645  24042174.5144   24042181.9014
+     -3684.1104      -2870.7314
+ 05  1 20 11 24  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21107036.6784  -17417145.20249 -13544690.46548  21107036.0604   21107039.6004
+     -1896.4424      -1477.7504
+  20381064.7544  -23016766.51549 -17906467.44848  20381064.5204   20381066.3324
+        66.2064         51.5864
+  21150460.5834  -19576932.63349 -15235476.34148  21150460.1754   21150465.8314
+      2299.4854       1791.8044
+  21592694.7314  -14215029.62549 -11054452.71047  21592694.5914   21592698.1504
+      2003.5194       1561.1794
+  23215870.8134   -7535358.85749  -5849656.48846  23215868.2524   23215871.2664
+      3485.0334       2715.5984
+  23394731.0574   -8752480.29049  -6804998.64846  23394729.0104   23394735.2254
+     -2357.4104      -1836.9404
+  24805786.3744     763544.62349   1109412.87445  24805785.5514   24805789.8124
+     -2983.2344      -2324.5994
+  24063221.8754   -6565438.89849  -5095438.09345  24063218.1854   24063224.5434
+     -3688.4084      -2874.0804
+ 05  1 20 11 24 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21117886.9104  -17360124.17649 -13500258.50048  21117886.5984   21117890.1424
+     -1904.9554      -1484.3844
+  20380744.8144  -23018448.82649 -17907778.32548  20380744.0994   20380746.0474
+        45.9594         35.8084
+  21137378.0074  -19645682.42549 -15289047.61048  21137378.2004   21137383.2744
+      2283.8074       1779.5894
+  21581302.1934  -14274896.97249 -11101102.59947  21581302.3144   21581305.6494
+      1987.6164       1548.7894
+  23195988.4764   -7639831.11249  -5931063.41946  23195988.1934   23195991.1034
+      3479.7814       2711.5174
+  23408204.9094   -8681669.90349  -6749821.77846  23408204.5444   23408208.7414
+     -2363.3234      -1841.5554
+  24822815.9544     853029.36549   1179141.28145  24822815.0994   24822817.6984
+     -2982.4874      -2324.0164
+  24084286.0314   -6454725.46549  -5009167.93545  24084286.6194   24084290.6444
+     -3692.4894      -2877.2694
+ 05  1 20 11 25  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21128786.3714  -17302848.68649 -13455628.24748  21128785.6254   21128789.8514
+     -1913.3984      -1490.9594
+  20380540.3864  -23019523.35949 -17908615.61448  20380539.7524   20380541.7294
+        25.6924         20.0194
+  21124384.7634  -19713960.39349 -15342251.20548  21124384.9964   21124389.8464
+      2268.0434       1767.3064
+  21570000.5554  -14334285.98449 -11147379.75247  21570000.6424   21570004.3154
+      1971.6424       1536.3404
+  23176138.8764   -7744143.96449  -6012346.14647  23176138.1684   23176141.6324
+      3474.4244       2707.3454
+  23421710.0964   -8610682.38149  -6694506.79846  23421712.0934   23421717.3834
+     -2369.2104      -1846.1484
+  24839839.0844     942489.35449   1248850.37545  24839837.7644   24839841.1074
+     -2981.5734      -2323.2974
+  24105380.1694   -6343888.50549  -4922801.57045  24105379.0404   24105382.9214
+     -3696.5874      -2880.4524
+ 05  1 20 11 25 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21139733.4514  -17245320.73949 -13410801.27648  21139732.9024   21139736.9804
+     -1921.7824      -1497.4924
+  20380451.4334  -23019989.63649 -17908978.94648  20380451.1794   20380452.7664
+         5.3984          4.2064
+  21111483.1564  -19781764.22049 -15395085.36148  21111482.5784   21111487.1634
+      2252.1874       1754.9524
+  21558791.0514  -14393194.25249 -11193282.31447  21558791.0574   21558794.6774
+      1955.5694       1523.8214
+  23156319.3344   -7848294.88049  -6093502.70746  23156318.5684   23156321.4594
+      3468.9524       2703.0754
+  23435254.4884   -8539517.98349  -6639054.04046  23435254.0284   23435260.4184
+     -2375.1054      -1850.7274
+  24856855.0034    1031921.74349   1318537.89745  24856854.8494   24856861.3864
+     -2980.6054      -2322.5464
+  24126494.2224   -6232930.32149  -4836340.73645  24126492.7384   24126502.1014
+     -3700.6014      -2883.5684
+ 05  1 20 11 26  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21150728.6524  -17187542.01949 -13365778.89148  21150727.8404   21150731.8894
+     -1930.1264      -1503.9924
+  20380478.3054  -23019847.22649 -17908867.96748  20380477.9604   20380480.1904
+       -14.9174        -11.6224
+  21098670.0514  -19849091.90349 -15447548.47248  21098670.1724   21098675.0204
+      2236.2814       1742.5574
+  21547672.2224  -14451619.60949 -11238808.57247  21547672.5364   21547676.4484
+      1939.4324       1511.2464
+  23136531.7674   -7952280.87949  -6174530.75846  23136530.3974   23136533.6404
+      3463.4054       2698.7604
+  23448831.4414   -8468176.59849  -6583463.39746  23448830.0844   23448835.6514
+     -2381.0194      -1855.3354
+  24873872.7884    1121323.64749   1388201.77145  24873869.7154   24873872.2994
+     -2979.5074      -2321.6984
+  24147632.1344   -6121853.23049  -4749787.25045  24147628.9864   24147636.5794
+     -3704.5924      -2886.6974
+ 05  1 20 11 26 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21161770.4184  -17129514.23549 -13320562.43848  21161770.1564   21161774.3544
+     -1938.3864      -1510.4294
+  20380621.8354  -23019095.59849 -17908282.27648  20380621.1294   20380623.0034
+       -35.2014        -27.4274
+  21085949.2914  -19915941.10049 -15499638.74648  21085949.0864   21085954.3724
+      2220.3264       1730.1254
+  21536647.2134  -14509559.55549 -11283956.58947  21536647.1594   21536651.1534
+      1923.2394       1498.6354
+  23116775.0704   -8056099.01949  -6255428.01147  23116774.6984   23116777.4844
+      3457.7964       2694.3834
+  23462440.1324   -8396658.38749  -6527734.96646  23462440.5814   23462445.0984
+     -2386.8514      -1859.8724
+  24890875.2714    1210692.06149   1457839.51045  24890874.7034   24890879.8384
+     -2978.3204      -2320.7654
+  24168790.8014   -6010659.38849  -4663142.77645  24168789.3154   24168796.7604
+     -3708.4074      -2889.6684
+ 05  1 20 11 27  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21172859.0584  -17071239.42349 -13275153.49248  21172859.1274   21172863.7254
+     -1946.6104      -1516.8384
+  20380880.2514  -23017734.44349 -17907221.63248  20380879.9924   20380882.2464
+       -55.5374        -43.2734
+  21073320.1104  -19982309.41649 -15551354.30848  21073319.5504   21073324.8874
+      2204.2214       1717.5724
+  21525714.0934  -14567012.05149 -11328724.77047  21525714.2624   21525718.1834
+      1906.9434       1485.9344
+  23097051.0744   -8159746.63649  -6336192.38346  23097050.7094   23097054.3804
+      3452.0494       2689.8944
+  23476084.0874   -8324963.72549  -6471869.01146  23476083.6284   23476088.7964
+     -2392.7694      -1864.4894
+  24907875.6564    1300024.13449   1527448.89745  24907873.5054   24907878.8214
+     -2977.0924      -2319.8124
+  24189973.8074   -5899351.18249  -4576409.17645  24189972.4134   24189977.9214
+     -3712.1214      -2892.5584
+ 05  1 20 11 27 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21183995.7974  -17012718.96349 -13229553.14048  21183995.3184   21183999.5034
+     -1954.7654      -1523.1944
+  20381256.1544  -23015763.43449 -17905685.77348  20381255.2734   20381257.1194
+       -75.8544        -59.1064
+  21060783.0924  -20048194.39149 -15602693.25148  21060782.6844   21060787.4904
+      2188.1024       1705.0144
+  21514874.6094  -14623974.84749 -11373111.37047  21514874.6114   21514878.4074
+      1890.5694       1473.1684
+  23077361.1544   -8263221.11049  -6416821.80347  23077360.2474   23077364.5464
+      3446.2164       2685.3574
+  23489760.5064   -8253092.37849  -6415865.41846  23489760.5324   23489764.6284
+     -2398.6034      -1869.0284
+  24924867.8354    1389317.08849   1597027.80345  24924866.4334   24924870.6574
+     -2975.7694      -2318.7804
+  24211177.7504   -5787930.81849  -4489588.18745  24211177.9524   24211180.2594
+     -3715.8414      -2895.4534
+ 05  1 20 11 28  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21195178.8384  -16953954.78249 -13183762.87448  21195178.2174   21195181.9114
+     -1962.8594      -1529.4994
+  20381746.8434  -23013182.19049 -17903674.41748  20381746.3614   20381748.2664
+       -96.2344        -74.9894
+  21048337.1724  -20113593.91649 -15653653.90948  21048337.3544   21048342.4644
+      2171.8514       1692.3514
+  21504128.7974  -14680445.52349 -11417114.49547  21504128.4374   21504132.5554
+      1874.1134       1460.3464
+  23057703.3084   -8366519.30649  -6497313.88847  23057703.0924   23057706.9514
+      3440.3024       2680.7654
+  23503470.4324   -8181044.67549  -6359724.35246  23503470.7354   23503474.7224
+     -2404.5464      -1873.6664
+  24941851.0914    1478568.03149   1666574.03245  24941849.3074   24941853.3294
+     -2974.3124      -2317.6454
+  24232400.7894   -5676400.68549  -4402681.62645  24232399.9634   24232402.2374
+     -3719.5384      -2898.3364
+ 05  1 20 11 28 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21206406.5664  -16894948.64749 -13137784.06648  21206406.5134   21206410.4414
+     -1970.8854      -1535.7544
+  20382354.6324  -23009990.34949 -17901187.25348  20382353.7514   20382355.5424
+      -116.5724        -90.8344
+  21035985.2614  -20178505.86449 -15704234.64248  21035984.7944   21035989.8934
+      2155.5504       1679.6514
+  21493476.1534  -14736421.87449 -11460732.43447  21493476.8814   21493480.7164
+      1857.6164       1447.4964
+  23038082.2814   -8469638.29649  -6577666.35047  23038080.6534   23038083.5504
+      3434.2954       2676.0774
+  23517213.4534   -8108820.92049  -6303446.15546  23517212.6844   23517218.7274
+     -2410.3944      -1878.2304
+  24958825.6694    1567774.11349   1736085.24845  24958825.5024   24958831.1534
+     -2972.7684      -2316.4394
+  24253638.1594   -5564763.24749  -4315691.48945  24253642.1394   24253643.1574
+     -3723.0134      -2901.0464
+ 05  1 20 11 29  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21217681.2704  -16835702.58149 -13091618.30248  21217680.8744   21217684.7524
+     -1978.8514      -1541.9594
+  20383077.6824  -23006187.58549 -17898224.05948  20383077.5894   20383079.3304
+      -136.9484       -106.7164
+  21023726.7574  -20242927.94349 -15754433.66548  21023726.2184   21023730.7034
+      2139.2074       1666.9214
+  21482919.4564  -14791901.83749 -11503963.57547  21482919.4394   21482922.7694
+      1841.0414       1434.5804
+  23018494.2994   -8572575.63349  -6657877.26846  23018492.5434   23018495.6134
+      3428.1684       2671.2984
+  23530990.1784   -8036421.20349  -6247030.82946  23530990.6814   23530996.4104
+     -2416.2834      -1882.8214
+  24975792.2784    1656932.48249   1805559.31745  24975791.9814   24975795.1554
+     -2971.0724      -2315.1264
+  24274904.0814   -5453020.58649  -4228619.38745  24274904.1664   24274911.0134
+     -3726.4954      -2903.7644
+ 05  1 20 11 29 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21229000.8024  -16776217.90149 -13045266.60048  21229000.0694   21229004.0224
+     -1986.7694      -1548.1274
+  20383918.0364  -23001773.95049 -17894784.85548  20383917.3874   20383919.3674
+      -157.3134       -122.5774
+  21011560.8394  -20306858.14049 -15804249.39448  21011560.6144   21011565.4604
+      2122.7774       1654.1134
+  21472457.0394  -14846883.04749 -11546806.07947  21472456.9044   21472460.4764
+      1824.3784       1421.5924
+  22998939.6314   -8675328.35249  -6737944.30747  22998938.8254   22998942.6724
+      3421.9944       2666.4894
+  23544801.5544   -7963845.44349  -6190478.34646  23544801.9544   23544806.9404
+     -2422.0954      -1887.3534
+  24992744.7724    1746040.30949   1874993.95645  24992744.8744   24992753.2344
+     -2969.3924      -2313.8204
+  24296192.6604   -5341175.00249  -4141467.09045  24296192.3654   24296194.4444
+     -3729.8914      -2906.3994
+ 05  1 20 11 30  0.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21240365.4714  -16716496.45249 -12998730.40148  21240364.8644   21240368.7584
+     -1994.6514      -1554.2724
+  20384873.5864  -22996749.14349 -17890869.41148  20384873.5904   20384875.5034
+      -177.6754       -138.4494
+  20999488.9394  -20370294.16849 -15853680.05548  20999488.8534   20999493.8874
+      2106.2684       1641.2484
+  21462089.4814  -14901363.38849 -11589258.30447  21462089.7714   21462093.0124
+      1807.6324       1408.5474
+  22979421.8274   -8777893.83749  -6817865.44347  22979421.1164   22979424.9764
+      3415.6954       2661.5794
+  23558646.2924   -7891093.93549  -6133788.87746  23558646.2714   23558651.9434
+     -2428.0094      -1891.9474
+  25009694.8934    1835094.68149   1944386.98945  25009695.6914   25009698.8944
+     -2967.5394      -2312.3704
+  24317492.8354   -5229228.87149  -4054236.40745  24317492.0314   24317499.0514
+     -3733.1804      -2908.9674
+ 05  1 20 11 30 30.0000000  0  8G16G23G 3G13G19G25G20G 1
+  21251774.2004  -16656540.14549 -12952011.20848  21251774.2254   21251778.0504
+     -2002.4404      -1560.3464
+  20385946.8024  -22991112.98949 -17886477.60548  20385946.0914   20385947.8964
+      -198.0744       -154.3474
+  20987511.7794  -20433233.88749 -15902723.99948  20987511.4684   20987516.8114
+      2089.6914       1628.3274
+  21451817.6784  -14955340.62949 -11631318.49147  21451817.7124   21451821.8994
+      1790.8064       1395.4314
+  22959940.5774   -8880268.98749  -6897638.28447  22959940.3344   22959943.0094
+      3409.3014       2656.5964
+  23572523.6474   -7818166.98649  -6076962.68346  23572524.2294   23572529.3734
+     -2433.8274      -1896.4944
+  25026632.4484    1924092.81849   2013736.19745  25026632.1774   25026636.8484
+     -2965.6764      -2310.9214
+  24338809.0794   -5117184.43248  -3966929.15545  24338814.6274   24338819.4594
+     -3736.4574      -2911.5234
+ 05  1 20 11 31  0.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21263228.2614  -16596350.59049 -12905110.24948  21263227.8484   21263231.9114
+     -2010.1744      -1566.3694
+  20387135.0414  -22984865.20349 -17881609.19148  20387134.7784   20387136.8544
+      -218.4544       -170.2254
+  20975630.3374  -20495675.18749 -15951379.55048  20975630.1544   20975634.9554
+      2073.0524       1615.3654
+  21441642.5024  -15008812.33949 -11672984.76047  21441642.4444   21441646.2864
+      1773.9374       1382.2874
+  22940495.7984   -8982451.13649  -6977260.72447  22940494.9384   22940498.4724
+      3402.8324       2651.5504
+  23586433.5324   -7745064.56449  -6019999.83246  23586434.8474   23586440.0274
+     -2439.6624      -1901.0424
+  25195386.9904    -234527.92349   -171382.12045  25195386.2134   25195392.7454
+      2743.4014       2137.7164
+  25043554.4004    2013031.89649   2083039.37245  25043554.7394   25043559.2654
+     -2963.6444      -2309.3354
+  24360151.4974   -5005044.02449  -3879547.10844  24360153.1824   24360159.4644
+     -3739.6374      -2914.0074
+ 05  1 20 11 31 30.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21274725.7074  -16535929.55049 -12858028.92548  21274725.2354   21274729.9514
+     -2017.8744      -1572.3694
+  20388440.8294  -22978005.47549 -17876263.95148  20388440.3244   20388441.8784
+      -238.8484       -186.1184
+  20963843.6034  -20557615.96349 -15999645.08048  20963842.9004   20963847.8654
+      2056.3164       1602.3244
+  21431562.7074  -15061776.76949 -11714255.74147  21431563.5864   21431567.4254
+      1756.9764       1369.0764
+  22921088.0544   -9084437.32849  -7056730.47047  22921087.9594   22921091.7014
+      3396.2564       2646.4344
+  23600380.4304   -7671787.07449  -5962900.52046  23600380.1384   23600384.5874
+     -2445.4984      -1905.5874
+  25179721.4104    -316864.25149   -235540.32345  25179719.2664   25179722.3614
+      2745.9354       2139.6934
+  25060465.4754    2101909.24049   2152294.41845  25060466.8824   25060474.3134
+     -2961.4394      -2307.6074
+  24381513.0624   -4892809.85148  -3792092.01244  24381508.5994   24381514.6414
+     -3742.5294      -2916.2554
+ 05  1 20 11 32  0.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21286267.5314  -16475278.83949 -12810768.63348  21286267.1104   21286271.0614
+     -2025.5154      -1578.3244
+  20389862.5904  -22970533.84549 -17870441.89548  20389862.1414   20389863.9454
+      -259.2724       -202.0324
+  20952151.2434  -20619054.11249 -16047518.95848  20952151.1924   20952156.4854
+      2039.5154       1589.2304
+  21421581.8144  -15114231.73449 -11755129.73547  21421581.8544   21421585.5304
+      1739.9674       1355.8174
+  22901719.5834   -9186224.83949  -7136045.40847  22901718.9784   22901721.9034
+      3389.5734       2641.2194
+  23614356.4194   -7598334.67549  -5905664.91946  23614356.2824   23614361.1284
+     -2451.3434      -1910.1364
+  25164036.9584    -399270.23649   -299752.76645  25164035.5604   25164040.5874
+      2748.0454       2141.3324
+  25077368.7014    2190721.98349   2221499.17045  25077367.5544   25077373.6124
+     -2959.1244      -2305.8164
+  24402879.8914   -4780484.16948  -3704565.60244  24402885.3584   24402891.0264
+     -3745.7214      -2918.7314
+ 05  1 20 11 32 30.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21297852.2724  -16414400.07649 -12763330.64448  21297851.8354   21297856.2314
+     -2033.0764      -1584.2214
+  20391400.5994  -22962450.11749 -17864142.88048  20391400.2044   20391402.4174
+      -279.6514       -217.9124
+  20940555.3834  -20679987.66849 -16094999.65448  20940555.7274   20940560.7294
+      2022.6734       1576.1084
+  21411696.6014  -15166174.97849 -11795604.99647  21411697.4284   21411701.2164
+      1722.8914       1342.5094
+  22882388.3284   -9287810.91949  -7215203.40047  22882387.8414   22882390.6864
+      3382.7964       2635.9414
+  23628367.2584   -7524707.42249  -5848293.05446  23628367.6604   23628372.2064
+     -2457.1624      -1914.6764
+  25148341.2364    -481745.44049   -364019.15945  25148342.3304   25148345.2824
+      2750.1844       2143.0004
+  25094258.5284    2279467.05149   2290651.15145  25094257.7284   25094259.6884
+     -2957.0524      -2304.2004
+  24424279.2004   -4668069.44949  -3616969.88845  24424275.9574   24424284.1934
+     -3748.6554      -2921.0174
+ 05  1 20 11 33  0.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21309480.5904  -16353294.88349 -12715716.20848  21309479.9004   21309483.8174
+     -2040.5944      -1590.0744
+  20393056.2674  -22953754.30049 -17857366.92048  20393055.4454   20393057.0964
+      -300.0524       -233.8054
+  20929057.9164  -20740414.41449 -16142085.42348  20929057.3534   20929062.7644
+      2005.7654       1562.9304
+  21401910.3414  -15217604.37649 -11835679.86747  21401910.4674   21401914.4744
+      1705.7174       1329.1214
+  22863095.3414   -9389192.80249  -7294202.24947  22863095.1634   22863098.8504
+      3375.9474       2630.5974
+  23642411.4074   -7450905.57349  -5790785.17246  23642411.7074   23642416.4054
+     -2462.9884      -1919.2024
+  25132635.8254    -564289.48249   -428339.19445  25132635.5524   25132637.5924
+      2752.5964       2144.8784
+  25111130.6054    2368142.02549   2359748.57445  25111128.1324   25111136.5354
+     -2954.6584      -2302.3324
+  24445687.3364   -4555568.05649  -3529306.53745  24445686.6044   24445691.0374
+     -3751.5384      -2923.2794
+ 05  1 20 11 33 30.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21321150.7444  -16291964.97149 -12667926.66648  21321150.6054   21321154.5814
+     -2048.0404      -1595.8754
+  20394826.6534  -22944446.43549 -17850114.02948  20394826.3044   20394828.2054
+      -320.5034       -249.7434
+  20917655.7524  -20800332.34149 -16188774.71248  20917655.0774   20917660.5544
+      1988.7444       1549.6684
+  21392222.3444  -15268517.88849 -11875352.73447  21392221.9064   21392226.1694
+      1688.5194       1315.7334
+  22843843.8124   -9490367.49449  -7373039.65847  22843842.5474   22843844.9954
+      3369.0094       2625.2094
+  23656488.0224   -7376929.31049  -5733141.36246  23656488.1594   23656493.7754
+     -2468.7864      -1923.7344
+  25116913.8264    -646901.89849   -492712.47045  25116914.3104   25116920.1024
+      2754.7764       2146.5794
+  25127990.4344    2456744.01649   2428788.99545  25127990.5394   25127995.2054
+     -2952.1204      -2300.3524
+  24467113.5894   -4442982.09549  -3441577.33045  24467111.7714   24467116.7494
+     -3754.2644      -2925.3954
+ 05  1 20 11 34  0.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21332863.7434  -16230412.33649 -12619963.57948  21332863.7274   21332868.0354
+     -2055.4404      -1601.6394
+  20396714.5644  -22934526.30649 -17842384.05648  20396714.3094   20396715.8654
+      -340.8594       -265.6014
+  20906350.0534  -20859739.51649 -16235066.01648  20906349.9554   20906355.6514
+      1971.6914       1536.3854
+  21382632.0924  -15318913.37249 -11914621.94647  21382632.1964   21382636.5104
+      1671.1874       1302.2294
+  22824629.8674   -9591332.45149  -7451713.64447  22824628.9474   22824632.8644
+      3361.9524       2619.7074
+  23670599.0034   -7302779.04449  -5675361.96446  23670598.2634   23670603.3514
+     -2474.5754      -1928.2274
+  25101182.8934    -729582.19249   -557138.67645  25101181.0614   25101185.2284
+      2757.1374       2148.4194
+  25144838.5634    2545270.16849   2497770.40245  25144837.0474   25144838.8374
+     -2949.5804      -2298.3754
+  24488554.9574   -4330313.85049  -3353784.01945  24488551.7874   24488556.6984
+     -3756.9604      -2927.4984
+ 05  1 20 11 34 30.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21344618.8184  -16168638.43749 -12571828.07348  21344618.7154   21344622.7524
+     -2062.7704      -1607.3524
+  20398719.4204  -22923994.09649 -17834177.13648  20398718.6394   20398720.0214
+      -361.2684       -281.5064
+  20895142.9444  -20918633.93149 -16280957.76348  20895142.8624   20895148.5854
+      1954.5574       1523.0334
+  21373141.4394  -15368788.85449 -11953485.95347  21373141.0964   21373145.1664
+      1653.8304       1288.7034
+  22805457.2464   -9692084.72449  -7530221.89447  22805456.2394   22805458.9804
+      3354.8404       2614.1634
+  23684742.1814   -7228454.87649  -5617447.07446  23684742.8524   23684747.1444
+     -2480.3694      -1932.7594
+  25085433.6744    -812329.95849   -621617.50445  25085433.1624   25085438.9024
+      2759.3614       2150.1554
+  25161668.6444    2633717.81249   2566690.61945  25161668.1874   25161672.9424
+     -2946.8924      -2296.2824
+  24510008.5984   -4217565.67648  -3265928.44944  24510003.9464   24510008.5484
+     -3759.6254      -2929.5724
+ 05  1 20 11 35  0.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21356416.5384  -16106645.12249 -12523521.58348  21356415.8104   21356419.9164
+     -2070.0734      -1613.0444
+  20400838.9234  -22912849.94149 -17825493.37548  20400838.7784   20400840.8354
+      -381.6884       -297.4214
+  20884034.2964  -20977013.73249 -16326448.51848  20884033.9384   20884039.1694
+      1937.3734       1509.6394
+  21363750.0254  -15418142.00549 -11991942.96347  21363749.8884   21363753.8584
+      1636.3884       1275.1074
+  22786325.3634   -9792621.53949  -7608562.27747  22786324.9064   22786328.0594
+      3347.5924       2608.5034
+  23698918.9434   -7153956.54749  -5559396.47146  23698919.3344   23698923.9394
+     -2486.1564      -1937.2474
+  25069673.6504    -895144.69749   -686148.48445  25069674.9044   25069678.6444
+      2761.5814       2151.8834
+  25178484.6594    2722084.05749   2635547.39545  25178481.9784   25178488.3284
+     -2944.1824      -2294.1644
+  24531482.1194   -4104740.00548  -3178012.51144  24531479.9254   24531480.8544
+     -3762.0774      -2931.4854
+ 05  1 20 11 35 30.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21368253.9624  -16044434.00649 -12475045.39648  21368253.9874   21368258.1834
+     -2077.3214      -1618.6934
+  20403076.8654  -22901093.61649 -17816332.59848  20403076.0834   20403077.8264
+      -402.0924       -313.3194
+  20873023.0184  -21034876.82849 -16371536.64048  20873022.7694   20873028.1124
+      1920.0924       1496.1774
+  21354457.3714  -15466970.89249 -12029991.43847  21354457.7524   21354461.9784
+      1618.8664       1261.4554
+  22767235.2694   -9892940.10349  -7686732.56447  22767234.4114   22767238.4154
+      3340.2584       2602.7974
+  23713130.3084   -7079284.23549  -5501210.31946  23713129.3874   23713134.7124
+     -2491.9434      -1941.7814
+  25053903.2524    -978025.93349   -750731.22445  25053902.5374   25053906.3354
+      2763.8044       2153.6164
+  25195285.2484    2810366.01749   2704338.54045  25195283.0024   25195287.5904
+     -2941.2934      -2291.9154
+  24552956.6984   -3991839.14358  -3090037.89454  24552961.9344   24552970.4524
+     -3764.6924      -2933.5214
+ 05  1 20 11 36  0.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21380133.8024  -15982006.97049 -12426400.95748  21380133.4074   21380137.5244
+     -2084.4714      -1624.2604
+  20405430.4574  -22888725.26349 -17806694.92448  20405429.9884   20405431.4694
+      -422.4814       -329.2014
+  20862111.2364  -21092221.10749 -16416220.49348  20862110.6504   20862115.5574
+      1902.8114       1482.7084
+  21345266.2264  -15515273.86549 -12067630.12147  21345266.0184   21345270.2254
+      1601.2974       1247.7644
+  22748187.5974   -9993037.48749  -7764730.52447  22748187.0234   22748190.1194
+      3332.8944       2597.0644
+  23727370.4394   -7004438.79849  -5442889.21946  23727371.8194   23727376.6414
+     -2497.7254      -1946.2844
+  25038118.9604   -1060973.18549   -815365.45045  25038118.9714   25038121.8714
+      2766.0154       2155.3394
+  25212065.4804    2898561.23149   2773062.02945  25212064.5054   25212070.7684
+     -2938.3424      -2289.6224
+  24574457.8544   -3878865.34858  -3002006.36154  24574452.5504
+     -3767.0304      -2935.3514
+ 05  1 20 11 36 30.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21392054.2294  -15919365.37149 -12377589.32048  21392053.8354   21392057.7494
+     -2091.6184      -1629.8324
+  20407899.8134  -22875745.05049 -17796580.47148  20407899.5714   20407901.5924
+      -442.8654       -345.0934
+  20851297.3784  -21149044.78749 -16460498.68248  20851296.8924   20851302.8164
+      1885.4204       1469.1564
+  21336174.7374  -15563048.65249 -12104857.23448  21336175.3194   21336178.6174
+      1583.6644       1234.0234
+  22729181.6364  -10092911.27749  -7842554.23347  22729181.3514   22729185.6274
+      3325.3644       2591.1964
+  23741647.5714   -6929420.45449  -5384433.40346  23741647.5584   23741653.2544
+     -2503.4954      -1950.7684
+  25022321.6144   -1143986.10949   -880050.85145  25022320.0964   25022325.0924
+      2768.1554       2157.0024
+  25228829.8114    2986666.99949   2841715.90445  25228830.2564   25228833.4864
+     -2935.3724      -2287.3044
+  24595970.2934   -3765820.78449  -2913919.80044  24595972.3874   24595978.2664
+     -3769.3004      -2937.1104
+ 05  1 20 11 37  0.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21404015.5774  -15856511.01549 -12328611.90248  21404014.4804   21404018.2324
+     -2098.6704      -1635.3274
+  20410487.1774  -22862153.10249 -17785989.33948  20410486.5844   20410488.2204
+      -463.2574       -360.9824
+  20840584.3124  -21205346.01749 -16504369.77348  20840583.9854   20840588.6324
+      1867.9704       1455.5624
+  21327184.6864  -15610293.31349 -12141671.26347  21327184.6144   21327188.2084
+      1565.9444       1220.2154
+  22710220.0144  -10192558.42149  -7920201.35547  22710219.3064   22710223.0294
+      3317.7774       2585.2814
+  23755954.8454   -6854229.40149  -5325843.04046  23755955.4244   23755960.7404
+     -2509.2784      -1955.2724
+  25006512.6344   -1227064.03149   -944786.87445  25006513.0664   25006517.8684
+      2770.3314       2158.7044
+  25245581.7744    3074680.42449   2910297.80645  25245581.6554   25245587.7984
+     -2932.2574      -2284.8734
+  24617496.8514   -3652707.76749  -2825779.93744  24617495.9964   24617499.7504
+     -3771.5864      -2938.8984
+ 05  1 20 11 37 30.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21416015.9404  -15793445.55349 -12279469.97848  21416015.7584   21416019.4254
+     -2105.6934      -1640.8004
+  20413189.4404  -22847949.62449 -17774921.69648  20413189.0044   20413190.8274
+      -483.6534       -376.8724
+  20829970.6444  -21261122.66349 -16547832.09648  20829969.9134   20829974.8754
+      1850.4494       1441.9074
+  21318295.2264  -15657005.82649 -12178070.62247  21318295.2264   21318299.3644
+      1548.1844       1206.3744
+  22691302.1884  -10291976.39949  -7997669.89147  22691300.8374   22691304.6184
+      3310.0744       2579.2864
+  23770297.3064   -6778865.72149  -5267118.15446  23770297.0194   23770300.7514
+     -2515.0354      -1959.7704
+  24990692.8514   -1310206.61149  -1009573.28045  24990690.9514   24990695.9844
+      2772.4504       2160.3524
+  25262311.3304    3162598.83349   2978805.63645  25262310.4864   25262316.7564
+     -2929.0474      -2282.3734
+  24639031.5334   -3539528.58549  -2737588.54444  24639032.6164   24639038.2064
+     -3773.6874      -2940.5254
+ 05  1 20 11 38  0.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21428056.9834  -15730170.74049 -12230164.92748  21428056.1864   21428060.4044
+     -2112.6214      -1646.2004
+  20416008.9134  -22833134.83749 -17763377.70748  20416008.5864   20416010.1484
+      -504.0064       -392.7334
+  20819456.0174  -21316372.69349 -16590884.05748  20819456.1984   20819461.1174
+      1832.8814       1428.2164
+  21309507.7774  -15703184.44749 -12214053.96747  21309507.7704   21309511.5834
+      1530.3734       1192.4934
+  22672427.3014  -10391161.99749  -8074957.36447  22672426.0544   22672430.8324
+      3302.2954       2573.2164
+  23784670.5384   -6703329.51349  -5208258.82146  23784670.1294   23784676.3914
+     -2520.7524      -1964.2044
+  24974855.6414   -1393413.13449  -1074409.52445  24974856.2354   24974862.1724
+      2774.6084       2162.0304
+  25279024.2824    3250419.63349   3047237.42345  25279022.9274   25279024.5194
+     -2925.7624      -2279.8194
+  24660581.5174   -3426285.58149  -2649347.38845  24660583.7434   24660588.0264
+     -3775.7514      -2942.1374
+ 05  1 20 11 38 30.0000000  0  9G16G23G 3G13G19G25G27G20G 1
+  21440136.6934  -15666688.37849 -12180698.15748  21440136.7964   21440140.6014
+     -2119.5214      -1651.5734
+  20418944.1044  -22817708.98149 -17751357.56548  20418943.8504   20418945.3964
+      -524.3824       -408.6094
+  20809043.2854  -21371094.67149 -16633524.55848  20809042.6324   20809047.9484
+      1815.2364       1414.4694
+  21300821.8784  -15748826.91949 -12249619.53747  21300822.1204   21300826.0794
+      1512.4584       1178.5404
+  22653597.5584  -10490112.56649  -8152061.69647  22653596.4664   22653600.4354
+      3294.4154       2567.0784
+  23799078.6564   -6627621.06149  -5149265.31246  23799078.8504   23799082.3754
+     -2526.4634      -1968.6714
+  24959009.4284   -1476683.18549  -1139295.28645  24959010.1864   24959018.0934
+      2776.7424       2163.6974
+  25295714.3314    3338140.08748   3115591.02845  25295711.9794   25295719.1354
+     -2922.3884      -2277.1864
+  24682141.6134   -3312981.11048  -2561058.34944  24682139.6314   24682147.7214
+     -3777.7094      -2943.6664
+ 05  1 20 11 39  0.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21452256.6054  -15603000.00349 -12131070.85248  21452255.9774   21452260.3474
+     -2126.3714      -1656.9124
+  20421995.1194  -22801672.17849 -17738861.35348  20421995.1594   20421997.3834
+      -544.7304       -424.4624
+  20798730.3884  -21425286.79349 -16675752.18948  20798729.9904   20798735.5694
+      1797.5524       1400.6914
+  21292238.8014  -15793931.60749 -12284766.05247  21292239.0834   21292243.3414
+      1494.5084       1164.5534
+  22634813.5344  -10588825.45349  -8228980.83547  22634812.4334   22634815.6094
+      3286.4504       2560.8734
+  23813517.4094   -6551740.77149  -5090137.84846  23813517.3054   23813522.5094
+     -2532.1864      -1973.1264
+  24943157.5504   -1560016.21949  -1204230.13445  24943153.4724   24943160.2174
+      2778.8234       2165.3214
+  24703714.0074   -3199617.39748  -2472723.20344  24703713.9384   24703726.7614
+     -3779.6334      -2945.1594
+ 05  1 20 11 39 30.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21464414.8934  -15539107.13349 -12081284.20448  21464414.5224   21464418.7604
+     -2133.1574      -1662.2014
+  20425163.8994  -22785024.68949 -17725889.28548  20425163.2024   20425165.0924
+      -565.0914       -440.3344
+  20788519.0264  -21478946.95349 -16717565.30248  20788518.9594   20788524.3594
+      1779.7654       1386.8254
+  21283758.0034  -15838496.00249 -12319491.55147  21283758.5094   21283763.1604
+      1476.4424       1150.4694
+  22616074.6714  -10687297.99149  -8305712.66047  22616074.3784   22616077.8994
+      3278.3714       2554.5744
+  23827990.8584   -6475688.55849  -5030876.45646  23827990.0514   23827994.9864
+     -2537.9394      -1977.6094
+  24927286.2904   -1643411.84349  -1269213.76845  24927284.4864   24927289.5284
+      2780.8704       2166.9124
+  24725300.2064   -3086196.82148  -2384343.74144  24725299.6094   24725305.7064
+     -3781.7004      -2946.7784
+ 05  1 20 11 40  0.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21476612.6454  -15475011.39449 -12031339.47147  21476611.5564   21476615.0864
+     -2139.8884      -1667.4474
+  20428447.8664  -22767766.81649 -17712441.59848  20428447.5334   20428449.4244
+      -585.4264       -456.1744
+  20778409.9834  -21532073.46349 -16758962.58248  20778409.5134   20778414.6244
+      1761.9724       1372.9654
+  21275381.0744  -15882518.83249 -12353795.05447  21275381.3204   21275385.4924
+      1458.3674       1136.3884
+  22597382.6544  -10785527.25849  -8382254.95447  22597381.9184   22597384.6674
+      3270.1984       2548.2104
+  23842493.0724   -6399464.88949  -4971481.44246  23842493.8894   23842500.5254
+     -2543.5794      -1982.0154
+  24911402.8094   -1726869.28849  -1334245.55745  24911401.8804   24911407.7654
+      2782.9854       2168.5604
+  24746893.2084   -2972721.79749  -2295921.78744  24746892.6074   24746896.8264
+     -3783.3824      -2948.0804
+ 05  1 20 11 40 30.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21488846.6334  -15410714.47349 -11981237.98447  21488846.7084   21488851.0454
+     -2146.5584      -1672.6424
+  20431847.7774  -22749898.96049 -17698518.59548  20431847.5244   20431849.2964
+      -605.7624       -472.0224
+  20768402.5264  -21584664.72749 -16799942.79648  20768401.8984   20768407.1634
+      1744.1114       1359.0494
+  21267108.1314  -15925998.02949 -12387674.96048  21267107.9104   21267111.7794
+      1440.2314       1122.2604
+  22578737.4364  -10883510.57849  -8458605.58747  22578735.8464   22578738.9734
+      3261.9834       2541.8074
+  23857031.1274   -6323070.34049  -4911953.33446  23857032.8214   23857037.4914
+     -2549.3684      -1986.5224
+  24895510.3044   -1810388.19849  -1399325.23645  24895510.4684   24895515.9564
+      2785.0034       2170.1354
+  24768493.5994   -2859194.46648  -2207459.07344  24768491.9464   24768503.3314
+     -3785.0514      -2949.3764
+ 05  1 20 11 41  0.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21501120.5174  -15346218.12149 -11930981.08647  21501120.1654   21501123.9754
+     -2153.1874      -1677.8064
+  20435364.1984  -22731421.62149 -17684120.67648  20435363.6534   20435365.4214
+      -626.0664       -487.8414
+  20758495.9984  -21636718.98849 -16840504.55348  20758495.9134   20758500.9834
+      1726.1764       1345.0764
+  21258936.5474  -15968931.77849 -12421129.83747  21258937.6394   21258941.6814
+      1422.0234       1108.0714
+  22560138.5704  -10981245.11949  -8534762.37047  22560137.0964   22560140.9934
+      3253.6124       2535.2834
+  23871602.4054   -6246505.07349  -4852292.16246  23871602.6484   23871607.0684
+     -2555.0064      -1990.9094
+  24879604.0354   -1893967.97349  -1464452.36445  24879603.5994   24879609.8174
+      2786.9784       2171.6734
+  24790114.2044   -2745617.19949  -2118957.45044  24790109.3734   24790116.1744
+     -3786.6754      -2950.6574
+ 05  1 20 11 41 30.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21513431.3634  -15281523.98849 -11880570.06747  21513430.7234   21513434.6194
+     -2159.7544      -1682.9254
+  20438995.7864  -22712335.03949 -17669248.01848  20438995.6774   20438997.4084
+      -646.3784       -503.6724
+  20748693.8144  -21688234.37549 -16880646.41248  20748693.0734   20748697.7904
+      1708.1794       1331.0454
+  21250872.4074  -16011318.35649 -12454158.34148  21250872.0934   21250876.1254
+      1403.7534       1093.8354
+  22541587.4434  -11078728.03549  -8610723.07747  22541586.5924   22541591.0274
+      3245.2084       2528.7364
+  23886203.1014   -6169769.10249  -4792497.99245  23886204.0884   23886208.8434
+     -2560.7064      -1995.3494
+  24863687.9924   -1977607.99449  -1529626.41745  24863688.3944   24863694.6644
+      2789.0334       2173.2694
+  24811732.4634   -2631992.27348  -2030418.73344  24811733.9624   24811735.6294
+     -3788.3454      -2951.9584
+ 05  1 20 11 42  0.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21525779.3414  -15216633.66249 -11830006.18747  21525779.2064   21525783.6984
+     -2166.2664      -1687.9954
+  20442744.4324  -22692639.41849 -17653900.78348  20442743.7494   20442745.6644
+      -666.6704       -519.4804
+  20738992.8974  -21739209.30949 -16920367.13948  20738992.8134   20738998.0884
+      1690.1454       1316.9984
+  21242910.3024  -16053155.74949 -12486758.91348  21242910.7334   21242914.6884
+      1385.3984       1079.5334
+  22523086.2094  -11175956.68049  -8686485.63047  22523084.8974   22523089.1974
+      3236.7014       2522.1054
+  23900838.8414   -6092863.21049  -4732571.38545  23900839.0284   23900843.3984
+     -2566.3774      -1999.7634
+  24847764.5044   -2061307.70949  -1594846.97345  24847762.1164   24847766.3654
+      2790.9724       2174.7844
+  24833364.2974   -2518321.93248  -1941844.53544  24833362.7824   24833367.9294
+     -3789.6994      -2953.0094
+ 05  1 20 11 42 30.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21538164.8064  -15151548.75249 -11779290.67347  21538164.1484   21538168.6544
+     -2172.7414      -1693.0444
+  20446608.3314  -22672335.33349 -17638079.42648  20446607.6554   20446609.2684
+      -686.9474       -535.2854
+  20729396.2234  -21789641.92349 -16959665.27548  20729395.9114   20729400.9134
+      1672.0234       1302.8704
+  21235054.4624  -16094442.27049 -12518930.23148  21235054.6464   21235058.2094
+      1367.0094       1065.2014
+  22504633.1634  -11272928.29249  -8762047.94247  22504631.5094   22504635.9754
+      3228.0704       2515.3834
+  23915503.2124   -6015787.19949  -4672512.21845  23915505.3874   23915510.0154
+     -2572.0414      -2004.1814
+  24831819.4034   -2145066.68849  -1660113.70145  24831820.3324   24831827.2924
+      2792.9624       2176.3384
+  24855003.1244   -2404608.42049  -1853236.77645  24855002.9704   24855008.2604
+     -3791.1034      -2954.1014
+ 05  1 20 11 43  0.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21550586.5304  -15086270.84349 -11728424.78447  21550586.1954   21550590.1864
+     -2179.1294      -1698.0234
+  20450586.8834  -22651423.35049 -17621784.38148  20450586.7384   20450588.6054
+      -707.1904       -551.0544
+  20719903.2164  -21839530.77649 -16998539.71148  20719902.8254   20719907.2054
+      1653.8844       1288.7454
+  21227302.4414  -16135175.99149 -12550670.78848  21227302.2064   21227306.5224
+      1348.5514       1050.8184
+  22486227.7124  -11369640.36149  -8837407.98547  22486227.4794   22486231.2904
+      3219.3664       2508.5984
+  23930205.8664   -5938541.43149  -4612320.76846  23930204.6534   23930212.5874
+     -2577.6414      -2008.5424
+  24815874.0244   -2228884.12049  -1725426.01945  24815871.8204   24815877.4104
+      2794.8254       2177.7874
+  24876648.7284   -2290854.13048  -1764597.21344  24876647.0364   24876656.4734
+     -3792.4614      -2955.1604
+ 05  1 20 11 43 30.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21563045.4634  -15020801.45349 -11677409.67547  21563044.9184   21563048.8504
+     -2185.4864      -1702.9744
+  20454682.3044  -22629903.80149 -17605015.90548  20454681.7424   20454683.8454
+      -727.4364       -566.8324
+  20710512.5074  -21888874.14649 -17036989.08448  20710512.5074   20710517.5914
+      1635.6634       1274.5464
+  21219656.7214  -16175355.18049 -12581979.25948  21219657.1584   21219660.7364
+      1330.0534       1036.4074
+  22467875.1094  -11466089.80949  -8912563.41247  22467874.9934   22467877.2814
+      3210.5994       2501.7654
+  23944937.1904   -5861126.39649  -4551997.49846  23944936.8434   23944943.3084
+     -2583.3294      -2012.9814
+  24799912.6094   -2312759.48049  -1790783.42645  24799912.6874   24799917.4454
+      2796.7914       2179.3164
+  24898304.0134   -2177061.46248  -1675927.81444  24898301.1164   24898312.7704
+     -3793.6604      -2956.0924
+ 05  1 20 11 44  0.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21575540.1554  -14955142.33349 -11626246.72947  21575539.5194   21575543.7034
+     -2191.7914      -1707.8874
+  20458892.4204  -22607777.26249 -17587774.45248  20458892.1234   20458894.1934
+      -747.6684       -582.6054
+  20701227.6924  -21937670.37649 -17075012.12248  20701227.1234   20701232.0774
+      1617.3954       1260.3044
+  21212116.2234  -16214978.28149 -12612854.39448  21212116.5194   21212120.8054
+      1311.4694       1021.9184
+  22449572.0254  -11562274.02949  -8987512.14247  22449570.9244   22449574.3994
+      3201.6594       2494.7984
+  23959699.7334   -5783542.11449  -4491542.22746  23959701.0794   23959706.4374
+     -2588.9494      -2017.3574
+  24783938.0514   -2396692.38449  -1856185.68945  24783937.9734   24783944.7444
+      2798.7164       2180.8164
+  24919966.6174   -2063232.70149  -1587230.29844  24919963.3164   24919971.8224
+     -3794.9684      -2957.1174
+ 05  1 20 11 44 30.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21588069.1774  -14889295.03949 -11574937.14947  21588069.4074   21588073.6264
+     -2198.0334      -1712.7524
+  20463218.8614  -22585044.19849 -17570060.38048  20463218.2754   20463220.3134
+      -767.8804       -598.3494
+  20692046.1484  -21985917.92349 -17112607.60948  20692045.7424   20692050.7384
+      1599.0784       1246.0354
+  21204683.3614  -16254043.33649 -12643294.69948  21204683.3534   21204686.9324
+      1292.8434       1007.4144
+  22431320.4054  -11658190.27249  -9062252.06247  22431319.6124   22431322.3524
+      3192.6984       2487.8154
+  23974495.8354   -5705789.28049  -4430955.66545  23974496.4244   23974502.1494
+     -2594.5644      -2021.7324
+  24767956.7534   -2480681.85249  -1921632.05345  24767957.6714   24767962.8174
+      2800.5394       2182.2364
+  24941633.7764   -1949370.18348  -1498506.40844  24941634.4244   24941639.1704
+     -3795.8724      -2957.8194
+ 05  1 20 11 45  0.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21600634.7244  -14823261.22749 -11523482.24047  21600635.1684   21600639.6974
+     -2204.2094      -1717.5594
+  20467659.6664  -22561705.19649 -17551874.15248  20467659.8384   20467661.5624
+      -788.0584       -614.0674
+  20682969.9374  -22033615.03649 -17149774.19248  20682969.4334   20682974.4834
+      1580.7034       1231.7224
+  21197355.6324  -16292549.11949 -12673299.20748  21197355.7084   21197359.3534
+      1274.1614        992.8564
+  22413117.5574  -11753835.93849  -9136781.14947  22413117.4654   22413121.5254
+      3183.6454       2480.7694
+  23989327.3534   -5627868.18549  -4370238.04346  23989325.7834   23989330.8834
+     -2600.1854      -2026.1094
+  24751966.0624   -2564727.53649  -1987122.20145  24751963.7194   24751969.6964
+      2802.3454       2183.6474
+  24963304.4684   -1835476.02158  -1409757.85454  24963305.5204   24963308.3554
+     -3796.8594      -2958.5754
+ 05  1 20 11 45 30.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21613237.5384  -14757042.34949 -11471883.12147  21613236.6234   21613240.4634
+     -2210.3754      -1722.3734
+  20472216.4564  -22537760.78549 -17533216.17248  20472215.9164   20472217.9984
+      -808.2404       -629.7974
+  20673998.4814  -22080760.28349 -17186510.75448  20673998.0394   20674002.7084
+      1562.2654       1217.3484
+  21190134.7044  -16330493.35849 -12702866.14248  21190135.3644   21190139.1054
+      1255.3994        978.2324
+  22394970.2944  -11849208.12549  -9211097.14547  22394968.9854   22394973.1514
+      3174.4724       2473.6154
+  24004185.0594   -5549778.90049  -4309389.33045  24004184.7854   24004190.5614
+     -2605.7844      -2030.4814
+  24735959.0934   -2648828.85949  -2052655.64545  24735958.2354   24735965.1984
+      2804.2394       2185.1174
+  24984986.2364   -1721552.47448  -1320986.52844  24984985.5624
+     -3797.8634      -2959.3514
+ 05  1 20 11 46  0.0000000  0  8G16G23G 3G13G19G25G27G 1
+  21625873.0114  -14690640.07849 -11420141.09747  21625872.5624   21625876.6884
+     -2216.4304      -1727.0934
+  20476888.4694  -22513211.63349 -17514086.97048  20476887.8324   20476889.3594
+      -828.3674       -645.4804
+  20665132.3524  -22127352.19349 -17222816.13348  20665131.9594   20665136.8934
+      1543.8224       1202.9794
+  21183021.7644  -16367874.65349 -12731994.42048  21183021.6674   21183025.5364
+      1236.6384        963.6154
+  22376873.5194  -11944304.20249  -9285197.97447  22376873.1184   22376876.5464
+      3165.2294       2466.4204
+  24019076.6364   -5471522.12849  -4248410.07645  24019077.0394   24019081.5384
+     -2611.3624      -2034.8184
+  24719947.8214   -2732985.01749  -2118231.89545  24719945.1644   24719949.7974
+      2806.0764       2186.5564
+  25006668.0684   -1607601.84249  -1232194.09844  25006668.1504
+     -3798.8574      -2960.1424
+ 05  1 20 11 46 30.0000000  0  7G16G23G 3G13G19G25G27
+  21638544.1464  -14624055.95149 -11368257.36647  21638543.1524   21638547.5884
+     -2222.4934      -1731.8074
+  20481674.8344  -22488058.32149 -17494486.99048  20481674.0714   20481675.9754
+      -848.5214       -661.1854
+  20656370.9994  -22173389.08149 -17258689.03748  20656371.1834   20656376.2194
+      1525.2854       1188.5354
+  21176016.3664  -16404691.37949 -12760682.77948  21176016.0974   21176019.5974
+      1217.7844        948.9294
+  22358831.0864  -12039121.44549  -9359081.53447  22358829.9134   22358833.3754
+      3155.8914       2459.1374
+  24033999.6834   -5393097.75449  -4187300.21845  24034000.0204   24034006.0794
+     -2616.9304      -2039.1674
+  24703923.0584   -2817195.43449  -2183850.42445  24703920.7304   24703923.8314
+      2807.8204       2187.9124
+ 05  1 20 11 47  0.0000000  0  7G16G23G 3G13G19G25G27
+  21651248.6354  -14557291.43849 -11316233.08147  21651248.4334   21651252.3524
+     -2228.4674      -1736.4734
+  20486576.5184  -22462301.78549 -17474416.97248  20486575.6144   20486577.2894
+      -868.6074       -676.8404
+  20647717.0484  -22218869.48149 -17294128.31348  20647716.5704   20647721.6144
+      1506.7164       1174.0584
+  21169117.3664  -16440941.74249 -12788929.81048  21169117.4484   21169120.9944
+      1198.9054        934.2104
+  22340840.3074  -12133657.12649  -9432745.70047  22340840.1224   22340843.6364
+      3146.4404       2451.7724
+  24048955.9864   -5314506.21949  -4126060.19346  24048956.5744   24048960.2134
+     -2622.4924      -2043.5024
+  24687885.7804   -2901459.42849  -2249510.68845  24687886.4274   24687890.4564
+      2809.6834       2189.3574
+ 05  1 20 11 47 30.0000000  0  7G16G23G 3G13G19G25G27
+  21663987.2764  -14490348.19249 -11264069.51847  21663987.2694   21663990.8064
+     -2234.4114      -1741.0984
+  20491591.3364  -22435942.42649 -17453877.21848  20491591.1544   20491593.4254
+      -888.6794       -692.4754
+  20639168.0094  -22263791.82449 -17329132.73548  20639167.8964   20639173.1524
+      1488.0844       1159.5474
+  21162327.2054  -16476624.39849 -12816734.47748  21162327.1684   21162331.0254
+      1179.9074        919.4104
+  22322906.2544  -12227908.58749  -9506188.38347  22322904.8304   22322908.7334
+      3136.9334       2444.3624
+  24063945.1334   -5235748.10349  -4064690.28846  24063944.1434   24063949.8784
+     -2628.0544      -2047.8364
+  24671840.7754   -2985776.35249  -2315212.18445  24671840.1944   24671845.7654
+      2811.4294       2190.7244
+ 05  1 20 11 48  0.0000000  0  7G16G23G 3G13G19G25G27
+  21676760.0514  -14423227.90349 -11211767.99947  21676759.5504   21676763.5484
+     -2240.2874      -1745.6814
+  20496722.2224  -22408980.99649 -17432868.32348  20496721.8624   20496723.7204
+      -908.7464       -708.1164
+  20630726.5564  -22308154.60049 -17363701.13548  20630726.0924   20630731.2714
+      1469.4104       1144.9894
+  21155644.8274  -16511737.70249 -12844095.48448  21155645.0004   21155649.1294
+      1160.9194        904.6064
+  22305025.2554  -12321873.21049  -9579407.57247  22305024.2634   22305027.7554
+      3127.3394       2436.8854
+  24078963.5664   -5156823.68449  -4003190.79646  24078963.7934   24078967.9644
+     -2633.5884      -2052.1474
+  24655788.6884   -3070145.50249  -2380954.41345  24655786.1004   24655791.2394
+      2813.0984       2192.0234
+ 05  1 20 11 48 30.0000000  0  7G16G23G 3G13G19G25G27
+  21689565.7284  -14355932.00749 -11159329.65047  21689565.1154   21689568.9494
+     -2246.1134      -1750.2254
+  20501967.3704  -22381418.47649 -17411391.04248  20501967.0354   20501968.5054
+      -928.7634       -723.7134
+  20622391.1534  -22351956.55449 -17397832.52948  20622390.6634   20622396.1854
+      1450.6914       1130.4064
+  21149071.8734  -16546280.10349 -12871011.63548  21149071.9084   21149075.9574
+      1141.8654        889.7594
+  22287200.1114  -12415548.07149  -9652400.97147  22287198.6104   22287202.2424
+      3117.6274       2429.3184
+  24094013.9984   -5077733.42049  -3941562.11145  24094012.6234   24094017.7974
+     -2639.0844      -2056.4394
+  24639721.4704   -3154566.30049  -2446736.82945  24639721.0694   24639726.3384
+      2814.8414       2193.3814
+ 05  1 20 11 49  0.0000000  0  7G16G23G 3G13G19G25G27
+  21702404.5834  -14288462.01249 -11106755.63247  21702404.5374   21702408.0884
+     -2251.8744      -1754.7054
+  20507326.7534  -22353255.37349 -17389445.77748  20507326.3474   20507328.1254
+      -948.7704       -739.2974
+  20614163.3194  -22395196.15949 -17431525.73248  20614162.7744   20614168.0824
+      1431.9364       1115.7974
+  21142607.9054  -16580249.93349 -12897481.62948  21142607.8374   21142611.5584
+      1122.7814        874.8994
+  22269428.9684  -12508930.73449  -9725166.67947  22269428.7044   22269431.7234
+      3107.8464       2421.6994
+  24109094.7364   -4998477.76249  -3879804.49445  24109095.6544   24109100.0074
+     -2644.6134      -2060.7374
+  24623648.2474   -3239038.12449  -2512559.02545  24623647.2824   24623651.2404
+      2816.5494       2194.7134
+ 05  1 20 11 49 30.0000000  0  7G16G23G 3G13G19G25G27
+  21715276.7314  -14220819.51249 -11054047.19647  21715276.4454   21715280.0454
+     -2257.6364      -1759.1954
+  20512800.7754  -22324492.36849 -17367033.04648  20512799.9064   20512801.7324
+      -968.7734       -754.8894
+  20606041.8554  -22437872.21949 -17464779.80848  20606041.7364   20606047.1594
+      1413.1084       1101.1224
+  21136253.5144  -16613645.57149 -12923504.20548  21136253.2104   21136256.8224
+      1103.5874        859.9364
+  22251715.4264  -12602018.53849  -9797702.64147  22251714.4684   22251717.9184
+      3097.9734       2414.0034
+  24124208.7934   -4919056.83049  -3817918.11845  24124208.0894   24124213.7334
+     -2650.1114      -2065.0384
+  24607563.0314   -3323560.26249  -2578420.44245  24607562.1954   24607567.1664
+      2818.1774       2195.9834
+ 05  1 20 11 50  0.0000000  0  7G16G23G 3G13G19G25G27
+  21728181.3124  -14153005.90049 -11001205.42847  21728181.1264   21728185.1164
+     -2263.2884      -1763.5994
+  20518387.4334  -22295130.50649 -17344153.68348  20518387.2634   20518389.3654
+      -988.7074       -770.4174
+  20598028.2404  -22479983.44349 -17497593.75248  20598028.4054   20598033.2964
+      1394.2674       1086.4464
+  21130007.5674  -16646465.62649 -12949078.27448  21130007.5754   21130011.3194
+      1084.3934        844.9904
+  22234058.7264  -12694808.56249  -9870006.54747  22234057.3674   22234060.7044
+      3087.9914       2406.2294
+  24139352.4564   -4839471.00149  -3755903.29245  24139352.1514   24139358.2434
+     -2655.6154      -2069.3074
+  24591469.8284   -3408131.84049  -2644320.38945  24591469.3354   24591475.0054
+      2819.8694       2197.3014
+ 05  1 20 11 50 30.0000000  0  7G16G23G 3G13G19G25G27
+  21741117.9564  -14085022.68849 -10948231.51047  21741117.6934   21741121.6354
+     -2268.9124      -1767.9854
+  20524089.0344  -22265170.38349 -17320808.13648  20524088.2894   20524090.2164
+     -1008.6374       -785.9514
+  20590122.6154  -22521528.40749 -17529966.45048  20590122.7204   20590127.9594
+      1375.3654       1071.7144
+  21123871.3054  -16678708.71349 -12974202.75748  21123871.8884   21123875.7074
+      1065.1274        829.9684
+  22216456.4034  -12787298.09849  -9942076.32347  22216456.2724   22216459.6814
+      3077.9744       2398.4304
+  24154529.7594   -4759720.81349  -3693760.41645  24154529.5704   24154534.4854
+     -2661.0954      -2073.5774
+  24575365.2594   -3492752.32049  -2710258.41745  24575366.7274   24575371.8644
+      2821.4564       2198.5394
+ 05  1 20 11 51  0.0000000  0  7G16G23G 3G13G19G25G27
+  21754086.5514  -14016871.54649 -10895126.73847  21754086.4634   21754089.9234
+     -2274.4904      -1772.3274
+  20529903.3934  -22234613.02049 -17296997.21148  20529903.1664   20529905.2114
+     -1028.5344       -801.4574
+  20582325.3834  -22562505.81849 -17561896.90448  20582324.8184   20582329.8994
+      1356.4364       1056.9624
+  21117845.6724  -16710373.34949 -12998876.48048  21117846.0004   21117850.2204
+      1045.8314        814.9264
+  22198914.9924  -12879484.66549 -10013910.00947  22198914.3174   22198917.7864
+      3067.7904       2390.4834
+  24169737.4714   -4679806.73749  -3631489.79145  24169735.7534   24169740.8804
+     -2666.5044      -2077.7914
+  24559252.7264   -3577421.03149  -2776234.06345  24559253.7114   24559258.8384
+      2823.0614       2199.7864
+ 05  1 20 11 51 30.0000000  0  7G16G23G 3G13G19G25G27
+  21767088.4754  -13948553.89549 -10841892.21447  21767087.3594   21767091.2424
+     -2280.0094      -1776.6264
+  20535831.3654  -22203459.44249 -17272721.71148  20535831.3814   20535833.4174
+     -1048.3724       -816.9134
+  20574635.7164  -22602914.20049 -17593383.96248  20574635.3804   20574640.6774
+      1337.4484       1042.1714
+  21111931.2914  -16741458.12949 -13023098.38948  21111931.2044   21111934.5934
+      1026.4704        799.8484
+  22181430.7774  -12971365.62749 -10085505.56247  22181430.2524   22181433.6744
+      3057.5684       2382.5214
+  24184974.2584   -4599728.91049  -3569091.53145  24184975.2544   24184979.2884
+     -2671.9874      -2082.0524
+  24543136.7674   -3662137.15349  -2842246.61445  24543134.5194   24543138.5134
+      2824.6764       2201.0484
+ 05  1 20 11 52  0.0000000  0  7G16G23G 3G13G19G25G27
+  21780119.3024  -13880071.38549 -10788529.23947  21780118.8864   21780122.5744
+     -2285.4774      -1780.8914
+  20541873.4394  -22171710.48649 -17247982.27348  20541873.0904   20541875.1384
+     -1068.2134       -832.3734
+  20567054.0734  -22642752.50549 -17624426.79748  20567053.9764   20567059.5654
+      1318.4234       1027.3444
+  21106126.0224  -16771961.37349 -13046867.15048  21106126.4574   21106130.1354
+      1007.0744        784.7334
+  22164005.4684  -13062938.43249 -10156860.99847  22164004.6444   22164007.5834
+      3047.2624       2374.4914
+  24200244.3724   -4519488.13549  -3506566.33545  24200243.2494   24200249.5394
+     -2677.4064      -2086.2904
+  24527002.7424   -3746899.96649  -2908295.56545  24527003.6454   24527009.3024
+      2826.1794       2202.2194
+ 05  1 20 11 52 30.0000000  0  7G16G23G 3G13G19G25G27
+  21793182.6664  -13811425.23949 -10735038.73747  21793181.9394   21793185.3494
+     -2290.8914      -1785.1094
+  20548028.7244  -22139367.18549 -17222779.71148  20548028.2114   20548029.8574
+     -1087.9954       -847.7884
+  20559582.3754  -22682019.42049 -17655024.39648  20559581.9774   20559587.4414
+      1299.3604       1012.4884
+  21100432.7194  -16801882.24049 -13070182.10348  21100432.5364   21100436.6004
+       987.6464        769.5944
+  22146638.5484  -13154200.34749 -10227974.16747  22146638.0974   22146640.8934
+      3036.8764       2366.3964
+  24215544.7534   -4439084.51849  -3443914.24845  24215544.1064   24215550.1964
+     -2682.7984      -2090.4854
+  24510866.3434   -3831708.69749  -2974380.28345  24510865.0884   24510869.2464
+      2827.6294       2203.3464
+ 05  1 20 11 53  0.0000000  0  7G16G23G 3G13G19G25G27
+  21806275.3904  -13742617.09049 -10681422.00447  21806275.1434   21806279.5854
+     -2296.2714      -1789.3004
+  20554296.7354  -22106430.28349 -17197114.59848  20554295.9974   20554297.5114
+     -1107.7614       -863.1914
+  20552218.5634  -22720713.67049 -17685175.76248  20552218.6664   20552224.1744
+      1280.2714        997.6154
+  21094849.9634  -16831218.92049 -13093041.84548  21094850.0474   21094854.0134
+       968.1464        754.3984
+  22129331.7814  -13245148.79149 -10298843.07747  22129330.3244   22129334.0254
+      3026.3684       2358.2074
+  24230874.8884   -4358518.56749  -3381135.64745  24230875.1974   24230880.3764
+     -2688.2654      -2094.7474
+  24494719.1154   -3916562.83849  -3040500.39845  24494717.6904   24494722.7834
+      2829.2714       2204.6274
+ 05  1 20 11 53 30.0000000  0  7G16G23G 3G13G19G25G27
+  21819399.5614  -13673648.51649 -10627680.28847  21819399.4974   21819404.1284
+     -2301.6144      -1793.4654
+  20560677.0454  -22072900.81049 -17170987.74848  20560676.3044   20560677.8924
+     -1127.5144       -878.5824
+  20544964.9854  -22758834.08949 -17714879.99348  20544964.7054   20544970.0904
+      1261.0994        982.6754
+  21089378.6794  -16859969.91349 -13115445.21748  21089379.1274   21089382.8164
+       948.5784        739.1514
+  22112085.7384  -13335781.01549 -10369465.60147  22112084.3514   22112087.4774
+      3015.7624       2349.9484
+  24246235.5734   -4277790.61049  -3318230.78645  24246236.8684   24246241.4174
+     -2693.6304      -2098.9294
+  24478563.2224   -4001461.35049  -3106655.09445  24478562.2884   24478567.5594
+      2830.6344       2205.6854
+ 05  1 20 11 54  0.0000000  0  7G16G23G 3G13G19G25G27
+  21832553.8854  -13604520.95649 -10573814.66947  21832553.7684   21832558.5554
+     -2306.8914      -1797.5804
+  20567168.9784  -22038779.85749 -17144400.00548  20567168.9774   20567171.0354
+     -1147.2184       -893.9384
+  20537820.8284  -22796379.40849 -17744136.09248  20537820.1584   20537825.2784
+      1241.9074        967.7174
+  21084019.6574  -16888134.00649 -13137391.26148  21084019.6814   21084022.8264
+       928.9894        723.8854
+  22094897.5934  -13426094.26049 -10439839.55147  22094897.5654   22094901.4044
+      3005.0854       2341.6244
+  24261630.3274   -4196901.07949  -3255200.09845  24261630.1584   24261634.1594
+     -2699.0154      -2103.1254
+  24462397.9634   -4086403.63949  -3172843.87145  24462398.4534   24462402.7424
+      2832.1014       2206.8334
+ 05  1 20 11 54 30.0000000  0  7G16G23G 3G13G19G25G27
+  21845738.7344  -13535235.73249 -10519826.19347  21845738.3314   21845742.5224
+     -2312.1104      -1801.6484
+  20573774.7484  -22004068.48449 -17117352.18748  20573774.3984   20573776.1794
+     -1166.8644       -909.2474
+  20530785.1934  -22833348.56449 -17772943.22648  20530785.0884   20530790.3554
+      1222.6964        952.7484
+  21078771.4444  -16915710.12649 -13158879.14548  21078771.9014   21078775.3634
+       909.3944        708.6164
+  22077775.1284  -13516086.11549 -10509963.08547  22077773.3894   22077777.0864
+      2994.3494       2333.2554
+  24277053.6744   -4115850.44649  -3192043.81245  24277053.6734   24277058.2204
+     -2704.3794      -2107.3094
+  24446226.5054   -4171388.74549  -3239066.05645  24446225.1604   24446231.2934
+      2833.5784       2207.9824
+ 05  1 20 11 55  0.0000000  0  7G16G23G 3G13G19G25G27
+  21858953.8054  -13465794.38849 -10465716.06947  21858953.2954   21858957.0054
+     -2317.3064      -1805.6954
+  20580492.7944  -21968767.64449 -17089845.05248  20580492.1234   20580493.9364
+     -1186.4924       -924.5454
+  20523860.0214  -22869740.56849 -17801300.64048  20523860.3614   20523864.9984
+      1203.4284        937.7324
+  21073636.9884  -16942696.89849 -13179907.80148  21073637.0324   21073640.2484
+       889.7384        693.2964
+  22060710.3574  -13605754.09849 -10579834.24147  22060709.6764   22060713.2364
+      2983.5184       2324.8144
+  24292507.1224   -4034639.39149  -3128762.53845  24292507.5274   24292513.4754
+     -2709.6944      -2111.4394
+  24430045.9844   -4256416.05649  -3305321.10445  24430045.6134   24430050.7124
+      2835.0404       2209.1204
+ 05  1 20 11 55 30.0000000  0  7G16G23G 3G13G19G25G27
+  21872197.3754  -13396198.28749 -10411485.34547  21872196.5644   21872200.4034
+     -2322.4194      -1809.6744
+  20587322.2914  -21932878.61149 -17061879.59148  20587322.1074   20587323.3194
+     -1206.0854       -939.8074
+  20517045.1434  -22905554.00249 -17829207.21048  20517045.0404   20517050.0214
+      1184.1484        922.7124
+  21068613.5934  -16969093.13949 -13200476.29248  21068613.5524   21068617.4014
+       870.0204        677.9324
+  22043710.7454  -13695095.45949 -10649450.89747  22043708.8944   22043712.4884
+      2972.5964       2316.3084
+  24307991.2494   -3953268.35849  -3065356.68045  24307992.9234   24307998.7564
+     -2715.0094      -2115.5964
+  24413857.3184   -4341484.89449  -3371608.51745  24413857.9554   24413863.2054
+      2836.2684       2210.0834
+ 05  1 20 11 56  0.0000000  0  7G16G23G 3G13G19G25G27
+  21885469.5084  -13326449.03349 -10357135.29547  21885469.3994   21885473.9194
+     -2327.5184      -1813.6514
+  20594262.9264  -21896402.37349 -17033456.55748  20594262.6134   20594264.4014
+     -1225.6574       -955.0574
+  20510340.5624  -22940787.91249 -17856662.20948  20510340.1224   20510345.4024
+      1164.7894        907.6254
+  21063703.2504  -16994897.49349 -13220583.58548  21063703.4584   21063706.8094
+       850.2734        662.5454
+  22026770.8164  -13784107.54049 -10718810.95747  22026770.4084   22026773.6474
+      2961.5594       2307.7074
+  24323506.7204   -3871737.60649  -3001826.28845  24323506.7554   24323511.7014
+     -2720.3434      -2119.7494
+  24397660.3304   -4426594.34849  -3437927.55645  24397660.7704   24397666.6094
+      2837.6204       2211.1344
+ 05  1 20 11 56 30.0000000  0  7G16G23G 3G13G19G25G27
+  21898771.6534  -13256547.98349 -10302666.95947  21898771.1454   21898775.4574
+     -2332.5424      -1817.5714
+  20601315.4724  -21859340.05349 -17004576.84548  20601315.2994   20601317.1284
+     -1245.1644       -970.2604
+  20503745.7944  -22975441.17849 -17883664.76448  20503745.7414   20503751.0874
+      1145.4264        892.5404
+  21058905.2534  -17020108.88849 -13240228.81548  21058905.3714   21058909.1394
+       830.4794        647.1224
+  22009895.9314  -13872787.84249 -10787912.48647  22009894.9464   22009898.5824
+      2950.4564       2299.0564
+  24339053.9774   -3790047.26349  -2938171.55845  24339052.9654   24339057.3164
+     -2725.6554      -2123.8884
+  24381459.6524   -4511743.39149  -3504277.49845  24381458.5914   24381463.7644
+      2838.9184       2212.1444
+ 05  1 20 11 57  0.0000000  0  7G16G23G 3G13G19G25G27
+  21912102.3934  -13186496.55249 -10248081.44247  21912101.5294   21912105.6984
+     -2337.5554      -1821.4714
+  20608479.5504  -21821692.83449 -16975241.36348  20608479.1554   20608481.3604
+     -1264.6524       -985.4424
+  20497262.3424  -23009512.85049 -17910214.12248  20497262.0504   20497267.0894
+      1126.0054        877.4054
+  21054221.1814  -17044725.84749 -13259410.86448  21054221.3374   21054224.7534
+       810.6354        631.6664
+  21993084.6064  -13961133.89849 -10856753.57447  21993083.3764   21993085.8734
+      2939.2684       2290.3364
+  24354629.2024   -3708198.20749  -2874393.13545  24354628.3774   24354632.9444
+     -2730.9854      -2128.0434
+  24365248.6574   -4596931.46849  -3570657.80645  24365247.1894   24365253.1284
+      2840.1724       2213.1194
+ 05  1 20 11 57 30.0000000  0  7G16G23G 3G13G19G25G27
+  21925460.5084  -13116296.20449 -10193379.88647  21925460.2084   21925464.1134
+     -2342.4814      -1825.3074
+  20615755.4144  -21783462.05249 -16945451.15548  20615754.8824   20615756.6874
+     -1284.0744      -1000.5764
+  20490889.5474  -23043001.75149 -17936309.37448  20490889.5054   20490894.7964
+      1106.5724        862.2634
+  21049650.3924  -17068747.65949 -13278129.15748  21049650.0244   21049653.7604
+       790.8024        616.2074
+  21976336.9114  -14049143.18149 -10925332.23747  21976336.2174   21976338.9524
+      2927.9884       2281.5494
+  24370231.0554   -3626191.01349  -2810491.49345  24370232.3294   24370238.7334
+     -2736.2104      -2132.1144
+  24349030.8394   -4682157.76349  -3637067.93045  24349028.8904   24349035.0674
+      2841.4404       2214.1094
+ 05  1 20 11 58  0.0000000  0  7G16G23G 3G13G19G25G27
+  21938848.2164  -13045948.28849 -10138563.33947  21938847.6604   21938851.0674
+     -2347.3574      -1829.1114
+  20623141.5724  -21744648.64949 -16915206.95648  20623140.8074   20623142.5894
+     -1303.4774      -1015.6984
+  20484628.6044  -23075907.27149 -17961950.04848  20484628.0304   20484632.6614
+      1087.1154        847.1034
+  21045191.8654  -17092173.16049 -13296382.78848  21045191.9584   21045196.0584
+       770.9034        600.7044
+  21959654.1764  -14136812.85949 -10993646.27547  21959652.7634   21959656.0664
+      2916.6464       2272.7084
+  24385866.6314   -3544026.11149  -2746467.00045  24385867.9094   24385875.6174
+     -2741.4734      -2136.2194
+  24332805.1994   -4767421.51249  -3703507.21845  24332805.1934   24332810.7544
+      2842.7124       2215.1024
+ 05  1 20 11 58 30.0000000  0  7G16G23G 3G13G19G25G27
+  21952262.1414  -12975454.45649 -10083633.09647  21952261.5374   21952266.2434
+     -2352.2094      -1832.8844
+  20630636.8374  -21705254.09849 -16884509.91548  20630636.8314   20630639.0254
+     -1322.8334      -1030.7784
+  20478477.4164  -23108228.23649 -17987135.22248  20478477.4644   20478482.6654
+      1067.6104        831.9034
+  21040848.4474  -17115000.72749 -13314170.49748  21040848.0704   21040852.2214
+       750.9304        585.1354
+  21943035.9024  -14224140.50349 -11061693.78747  21943035.0174   21943038.9024
+      2905.1934       2263.7894
+  24401535.5944   -3461703.81949  -2682319.86345  24401533.8464   24401538.7764
+     -2746.7294      -2140.3114
+  24316572.7814   -4852721.58049  -3769974.80945  24316572.6574   24316578.2074
+      2843.9254       2216.0474
+ 05  1 20 11 59  0.0000000  0  7G16G23G 3G13G19G25G27
+  21965705.1054  -12904815.72949 -10028589.94847  21965704.1034   21965707.6574
+     -2357.0034      -1836.6224
+  20638244.2574  -21665279.65949 -16853361.01148  20638243.6284   20638245.8904
+     -1342.1384      -1045.8214
+  20472438.8714  -23139963.77249 -18011864.21548  20472438.3864   20472443.4904
+      1048.0824        816.6894
+  21036618.0654  -17137228.97849 -13331491.21148  21036618.1804   21036622.0484
+       730.9624        569.5844
+  21926482.3894  -14311123.45049 -11129472.70947  21926482.2394   21926486.5314
+      2893.6804       2254.8154
+  24417227.4644   -3379224.67449  -2618050.50745  24417227.8854   24417235.1414
+     -2751.8484      -2144.2954
+  24300334.7404   -4938057.45649  -3836470.29945  24300334.6974   24300339.6244
+      2845.0854       2216.9504
+ 05  1 20 11 59 30.0000000  0  7G16G23G 3G13G19G25G27
+  21979173.6074  -12834033.85649  -9973435.26847  21979173.2234   21979177.0194
+     -2361.7404      -1840.3084
+  20645961.0724  -21624726.58849 -16821761.23548  20645961.0184   20645962.6504
+     -1361.4214      -1060.8514
+  20466511.4654  -23171112.89749 -18036136.26648  20466511.1074   20466515.9454
+      1028.5064        801.4354
+  21032502.4794  -17158857.72949 -13348344.78648  21032502.4244   21032506.4764
+       710.9384        553.9804
+  21909996.9394  -14397759.30749 -11196981.16847  21909995.8994   21910000.2234
+      2882.0234       2245.7324
+  24432954.3384   -3296589.09149  -2553659.22645  24432954.2434   24432958.6444
+     -2757.1684      -2148.4424
+  24284090.7964   -5023428.14049  -3902992.93145  24284089.2784   24284094.7354
+      2846.2954       2217.8954
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 12  0  0.0000000  0  7G16G23G 3G13G19G25G27
+  21992669.3704  -12763110.07349  -9918169.99347  21992669.4294   21992673.4454
+     -2366.5324      -1844.0514
+  20653788.7874  -21583596.09149 -16789711.50948  20653788.1014   20653789.5714
+     -1380.6174      -1075.8054
+  20460695.6384  -23201674.63249 -18059950.61248  20460695.3894   20460700.4324
+      1008.9094        786.1644
+  21028500.2574  -17179885.25349 -13364729.85748  21028500.6624   21028505.2324
+       690.8694        538.3384
+  21893576.5614  -14484045.53349 -11264217.19847  21893576.3074   21893580.0714
+      2870.3504       2236.6334
+  24448708.2044   -3213797.77349  -2489146.53545  24448708.4394   24448716.3154
+     -2762.3484      -2152.4714
+  24267836.4794   -5108832.67549  -3969541.91845  24267837.0354   24267842.3684
+      2847.3534       2218.7164
+ 05  1 20 12  0 30.0000000  0  7G16G23G 3G13G19G25G27
+  22006194.0604  -12692045.69749  -9862795.16647  22006193.0014   22006196.5654
+     -2371.1474      -1847.6404
+  20661724.4514  -21541889.64549 -16757212.99348  20661724.2434   20661726.2794
+     -1399.7954      -1090.7484
+  20454991.7294  -23231648.19949 -18083306.64148  20454991.4274   20454996.5614
+       989.3124        770.8974
+  21024613.8324  -17200310.80449 -13380645.87248  21024614.1374   21024618.0524
+       670.8034        522.7084
+  21877224.2904  -14569979.55449 -11331178.76347  21877223.5234   21877227.1364
+      2858.5594       2227.4524
+  24464494.4284   -3130850.93549  -2424512.75845  24464495.1074   24464499.4054
+     -2767.4874      -2156.4824
+  24251578.9774   -5194270.47849  -4036116.83746  24251578.2784   24251584.4064
+      2848.4474       2219.5674
+ 05  1 20 12  1  0.0000000  0  7G16G23G 3G13G19G25G27
+  22019743.4924  -12620842.19449  -9807311.92847  22019742.4664   22019745.9914
+     -2375.7544      -1851.2384
+  20669770.1394  -21499608.56849 -16724266.71448  20669769.7604   20669772.0214
+     -1418.9264      -1105.6574
+  20449399.8704  -23261033.00149 -18106203.89348  20449399.5394   20449404.7054
+       969.6604        755.5804
+  21020841.8534  -17220133.44649 -13396092.08948  21020842.1374   21020845.8354
+       650.7014        507.0384
+  21860939.7834  -14655558.88849 -11397863.96747  21860938.8184   21860941.5774
+      2846.7204       2218.2234
+  24480307.0334   -3047749.28249  -2359758.36045  24480307.0184   24480311.9874
+     -2772.6044      -2160.4654
+  24235315.7264   -5279740.38749  -4102716.76646  24235315.8684   24235320.1814
+      2849.5394       2220.4164
+ 05  1 20 12  1 30.0000000  0  7G16G23G 3G13G19G25G27
+  22033317.3984  -12549500.79549  -9751721.25047  22033317.4714   22033322.3454
+     -2380.3094      -1854.7824
+  20677925.1084  -21456754.19149 -16690873.70848  20677924.7774   20677926.9704
+     -1438.0134      -1120.5284
+  20443920.3174  -23289827.91949 -18128641.50048  20443920.0804   20443925.2264
+       949.9864        740.2524
+  21017184.5234  -17239352.29149 -13411067.81648  21017184.9284   21017188.7954
+       630.5594        491.3434
+  21844722.6814  -14740781.15249 -11464270.93047  21844721.4514   21844724.6824
+      2834.7514       2208.8954
+  24496150.6714   -2964493.43849  -2294883.69445  24496149.9724   24496153.7304
+     -2777.7464      -2164.4784
+  24219041.8194   -5365241.57149  -4169341.09046  24219044.3414   24219049.7484
+      2850.5244       2221.1894
+ 05  1 20 12  2  0.0000000  0  7G16G23G 3G13G19G25G27
+  22046919.7364  -12478022.91549  -9696024.21647  22046919.4884   22046923.9734
+     -2384.8734      -1858.3394
+  20686189.5714  -21413327.89049 -16657035.04848  20686189.2144   20686190.8354
+     -1457.0644      -1135.3764
+  20438552.8884  -23318032.28149 -18150618.93248  20438553.0374   20438558.2364
+       930.2964        724.9054
+  21013642.1634  -17257966.23449 -13425572.18048  21013642.5964   21013646.9514
+       610.3744        475.6194
+  21828573.6024  -14825643.41149 -11530397.36747  21828572.6934   21828575.6704
+      2822.7224       2199.5204
+  24512022.5314   -2881084.10449  -2229889.49045  24512024.1914   24512027.6484
+     -2782.8394      -2168.4334
+  24202769.7604   -5450773.28149  -4235989.18546  24202768.7514   24202773.0944
+      2851.5554       2221.9904
+ 05  1 20 12  2 30.0000000  0  7G16G23G 3G13G19G25G27
+  22060547.1674  -12406410.16549  -9640222.09547  22060546.8654   22060551.8284
+     -2389.3564      -1861.8374
+  20694561.3704  -21369331.17549 -16622751.89748  20694561.1824   20694563.0274
+     -1476.0634      -1150.1814
+  20433299.2214  -23345645.27649 -18172135.55248  20433298.6864   20433303.5594
+       910.5544        709.5214
+  21010216.1024  -17275974.66849 -13439604.72348  21010216.1174   21010219.3584
+       590.1784        459.8804
+  21812493.5584  -14910143.69449 -11596241.74447  21812493.0624   21812496.1454
+      2810.6004       2190.0784
+  24527925.8204   -2797521.66049  -2164775.96045  24527927.6604   24527931.7074
+     -2787.9304      -2172.4064
+  24186488.3684   -5536334.47449  -4302660.26346  24186485.7314   24186491.6204
+      2852.5484       2222.7644
+ 05  1 20 12  3  0.0000000  0  7G16G23G 3G13G19G25G27
+  22074200.9884  -12334663.66749  -9584315.75447  22074200.4974   22074204.3804
+     -2393.7474      -1865.2564
+  20703041.9394  -21324765.31149 -16588025.26848  20703041.4304   20703043.6704
+     -1494.9864      -1164.9214
+  20428156.9214  -23372666.31749 -18193190.92348  20428156.4834   20428161.4944
+       890.8364        694.1594
+  21006904.2834  -17293376.41449 -13453164.53348  21006904.3204   21006907.9444
+       569.9384        444.1104
+  21796483.8344  -14994279.45649 -11661802.09747  21796482.6354   21796486.0454
+      2798.4264       2180.5934
+  24543856.1594   -2713806.14049  -2099543.19845  24543854.6794   24543862.2424
+     -2793.0754      -2176.4214
+  24170201.2644   -5621924.27149  -4369353.60346  24170199.7944   24170203.6844
+      2853.4694       2223.4884
+ 05  1 20 12  3 30.0000000  0  7G16G23G 3G13G19G25G27
+  22087878.7544  -12262784.74549  -9528306.22347  22087878.1234   22087882.6084
+     -2398.1654      -1868.6984
+  20711630.0114  -21279632.06749 -16552856.53048  20711629.9974   20711632.0344
+     -1513.8884      -1179.6514
+  20423127.2924  -23399094.72649 -18213784.49348  20423126.9764   20423132.5624
+       871.0514        678.7404
+  21003708.5644  -17310170.70449 -13466250.99948  21003708.7194   21003711.9824
+       549.6654        428.3154
+  21780542.2404  -15078048.29149 -11727076.49847  21780541.1894   21780545.4214
+      2786.1414       2171.0184
+  24559813.7054   -2629938.61549  -2034191.94045  24559813.7234   24559820.7364
+     -2798.0714      -2180.3234
+  24153904.9304   -5707541.80149  -4436068.56446  24153905.7294   24153911.1384
+      2854.3154       2224.1414
+ 05  1 20 12  4  0.0000000  0  7G16G23G 3G13G19G25G27
+  22101581.3264  -12190774.65949  -9472194.48247  22101581.6214   22101585.8644
+     -2402.5114      -1872.0824
+  20720327.3574  -21233932.68749 -16517246.63848  20720326.6734   20720328.6054
+     -1532.7374      -1194.3364
+  20418211.0374  -23424929.52949 -18233915.51748  20418210.7914   20418216.4784
+       851.2584        663.3204
+  21000628.7604  -17326356.39449 -13478863.22348  21000628.8214   21000632.6864
+       529.3684        412.4984
+  21764672.5654  -15161447.69149 -11792063.05647  21764671.4814   21764674.8224
+      2773.8034       2161.4104
+  24575803.2224   -2545919.89449  -1968722.89045  24575802.3184   24575808.5224
+     -2803.1424      -2184.2714
+  24137609.8524   -5793185.88049  -4502804.23446  24137609.2794   24137613.2384
+      2855.1884       2224.8244
+ 05  1 20 12  4 30.0000000  0  7G16G23G 3G13G19G25G27
+  22115309.9894  -12118634.78349  -9415981.60747  22115309.3534   22115313.2094
+     -2406.8074      -1875.4374
+  20729131.3944  -21187668.81749 -16481196.88748  20729130.7304   20729132.4954
+     -1551.5314      -1208.9854
+  20413407.9734  -23450170.16149 -18253583.55248  20413407.8994   20413413.3154
+       831.4234        647.8624
+  20997665.2354  -17341932.65649 -13491000.57748  20997664.8964   20997668.3024
+       509.0354        396.6494
+  21748871.6484  -15244475.27149 -11856759.87447  21748870.9164   21748875.1394
+      2761.3664       2151.7114
+  24591820.0924   -2461750.34849  -1903136.28445  24591819.6634   24591825.4204
+     -2808.2154      -2188.2194
+  24121304.1424   -5878855.98849  -4569560.12846  24121305.9874   24121311.1224
+      2856.0414       2225.4824
+ 05  1 20 12  5  0.0000000  0  7G16G23G 3G13G19G25G27
+  22129062.2894  -12046366.65249  -9359668.79947  22129061.7544   22129065.2374
+     -2411.0824      -1878.7614
+  20738041.6294  -21140841.92549 -16444708.42048  20738041.1844   20738043.1934
+     -1570.2584      -1223.5774
+  20408718.8014  -23474815.90749 -18272788.03548  20408718.4134   20408723.2224
+       811.5994        632.4154
+  20994816.2154  -17356898.89349 -13502662.59048  20994816.5464   20994820.1954
+       488.6964        380.8034
+  21733144.1174  -15327128.44049 -11921164.95947  21733143.1784   21733146.9324
+      2748.8314       2141.9474
+  24607863.8994   -2377430.10249  -1837432.28545  24607864.3874   24607869.9224
+     -2813.1824      -2192.0874
+  24104999.5194   -5964551.00549  -4636335.51646  24104998.4764   24105004.3064
+      2856.8954       2226.1564
+ 05  1 20 12  5 30.0000000  0  7G16G23G 3G13G19G25G27
+  22142838.0224  -11973971.26049  -9303256.83547  22142837.9764   22142841.3304
+     -2415.2784      -1882.0314
+  20747059.2794  -21093453.79849 -16407782.62248  20747059.0174   20747060.8384
+     -1588.9654      -1238.1564
+  20404142.1334  -23498866.32749 -18291528.62648  20404141.5464   20404146.6304
+       791.7284        616.9304
+  20992084.9534  -17371254.37749 -13513848.68248  20992084.6284   20992088.5184
+       468.3284        364.9324
+  21717486.8034  -15409404.95949 -11985276.53147  21717486.3804   21717490.6424
+      2736.2454       2132.1384
+  24623938.2184   -2292960.10449  -1771611.61345  24623939.3434   24623947.6974
+     -2818.1184      -2195.9304
+  24088688.2464   -6050269.84849  -4703129.40246  24088686.9354   24088692.2434
+      2857.6134       2226.7134
+ 05  1 20 12  6  0.0000000  0  7G16G23G 3G13G19G25G27
+  22156638.9244  -11901450.12749  -9246746.86647  22156638.0084   22156641.6354
+     -2419.4544      -1885.2864
+  20756183.5214  -21045505.91949 -16370420.65448  20756183.3754   20756185.0384
+     -1607.5774      -1252.6544
+  20399678.4224  -23522320.94349 -18309804.95448  20399678.4874   20399683.2384
+       771.8794        601.4644
+  20989469.1794  -17384998.69749 -13524558.55448  20989469.5394   20989473.2304
+       447.9274        349.0364
+  21701903.5754  -15491302.20849 -12049092.56347  21701902.1864   21701905.3034
+      2723.5514       2122.2484
+  24640041.8344   -2208340.89449  -1705674.65344  24640041.6944   24640046.9344
+     -2823.1424      -2199.8514
+  24072372.5344   -6136011.68149  -4769941.21546  24072371.8244   24072375.9804
+      2858.4134       2227.3344
+ 05  1 20 12  6 30.0000000  0  7G16G23G 3G13G19G25G27
+  22170462.3664  -11828804.48749  -9190139.89147  22170462.0304   22170466.4324
+     -2423.5824      -1888.5064
+  20765414.9324  -20996999.68149 -16332623.60548  20765413.8614   20765415.5154
+     -1626.1674      -1267.1434
+  20395328.2614  -23545179.04449 -18327616.47148  20395328.1544   20395333.7684
+       751.9934        585.9684
+  20986970.4094  -17398130.47949 -13534791.11348  20986970.3914   20986974.5184
+       427.5214        333.1324
+  21686391.3114  -15572817.88749 -12112611.28148  21686390.7804   21686393.5194
+      2710.7864       2112.2964
+  24656173.1014   -2123573.03349  -1639621.84844  24656173.7744   24656185.5184
+     -2828.0954      -2203.7044
+  24056050.3784   -6221775.43649  -4836770.11546  24056051.4134   24056055.5364
+      2859.1684       2227.9184
+ 05  1 20 12  7  0.0000000  0  7G16G23G 3G13G19G25G27
+  22184310.9474  -11756035.59849  -9133436.88747  22184310.1544   22184313.5734
+     -2427.6644      -1891.6904
+  20774750.3124  -20947936.82749 -16294392.82248  20774749.8264   20774752.0454
+     -1644.6824      -1281.5694
+  20391092.1764  -23567440.06749 -18344962.73248  20391091.9614   20391097.4344
+       732.0684        570.4414
+  20984587.5694  -17410649.24449 -13544545.99648  20984587.8334   20984591.9774
+       407.0704        317.1994
+  21670951.6504  -15653949.64749 -12175830.83647  21670951.1194   21670954.5274
+      2697.9704       2102.3124
+  24672336.2164   -2038657.13548  -1573453.68444  24672332.6704   24672332.4874
+     -2833.0324      -2207.5624
+  24039726.8104   -6307560.18949  -4903615.41546  24039726.4394   24039731.2964
+      2859.8034       2228.4154
+ 05  1 20 12  7 30.0000000  0  7G16G23G 3G13G19G25G27
+  22198181.1184  -11683144.61349  -9076638.73247  22198180.5004   22198185.1694
+     -2431.7424      -1894.8594
+  20784191.6744  -20898319.21149 -16255729.76548  20784191.4024   20784193.7224
+     -1663.1584      -1295.9684
+  20386970.1724  -23589103.36549 -18361843.23648  20386969.8654   20386975.1604
+       712.1294        554.9084
+  20982322.3204  -17422554.34049 -13553822.70748  20982322.6294   20982326.2254
+       386.5844        301.2324
+  21655586.8504  -15734694.96649 -12238749.26847  21655585.9284   21655589.2994
+      2685.0534       2092.2464
+  24688520.2004   -1953593.84648  -1507170.58744  24688523.4934
+     -2837.9234      -2211.3704
+  24023398.2194   -6393365.04249  -4970476.33445  24023398.4424   24023403.1084
+      2860.4614       2228.9264
+ 05  1 20 12  8  0.0000000  0  7G16G23G 3G13G19G25G27
+  22212075.3034  -11610132.97349  -9019746.56847  22212074.5544   22212078.6214
+     -2435.7204      -1897.9634
+  20793738.9834  -20848148.39349 -16216635.64048  20793738.9234   20793741.1314
+     -1681.5794      -1310.3234
+  20382962.1664  -23610168.43049 -18378257.57448  20382961.5694   20382966.4474
+       692.2004        539.3764
+  20980174.2174  -17433845.14949 -13562620.74548  20980174.2674   20980177.5954
+       366.1144        285.2864
+  21640294.1204  -15815051.68349 -12301364.89647  21640293.6374   21640298.1054
+      2672.0504       2082.1144
+  24704732.5614   -1868383.85848  -1440773.18644  24704731.4214
+     -2842.8184      -2215.1804
+  24007067.6714   -6479188.92849  -5037352.09246  24007067.4294   24007071.8954
+      2861.0814       2229.4094
+ 05  1 20 12  8 30.0000000  0  7G16G23G 3G13G19G25G27
+  22225990.4864  -11537001.92849  -8962761.36647  22225990.4824   22225994.0024
+     -2439.6884      -1901.0564
+  20803391.9514  -20797426.10349 -16177111.78648  20803391.0714   20803393.0654
+     -1699.9164      -1324.6104
+  20379067.0414  -23630635.05049 -18394205.59848  20379066.9634   20379071.8204
+       672.2264        523.8114
+  20978142.9024  -17444521.21849 -13570939.77048  20978142.8634   20978146.5484
+       345.6094        269.3004
+  21625078.3034  -15895017.44149 -12363675.88348  21625077.3614   21625081.2574
+      2658.9694       2071.9224
+  24720985.8394   -1783027.52348  -1374261.89444  24720971.6094
+     -2847.6114      -2218.9014
+  23990729.9204   -6565030.85449  -5104241.88746  23990732.1564   23990736.6234
+      2861.5854       2229.8004
+ 05  1 20 12  9  0.0000000  0  7G16G23G 3G13G19G25G27
+  22239930.0374  -11463752.82549  -8905684.15747  22239929.1734   22239933.0064
+     -2443.5944      -1904.1044
+  20813148.6124  -20746153.85349 -16137159.40448  20813148.3264   20813149.8044
+     -1718.2154      -1338.8724
+  20375286.1924  -23650502.79249 -18409686.96348  20375286.0034   20375291.2264
+       652.2644        508.2554
+  20976228.0384  -17454581.52549 -13578778.96648  20976227.9134   20976231.8634
+       325.0544        253.2884
+  21609935.9124  -15974589.74649 -12425680.27548  21609935.4814   21609938.9254
+      2645.8254       2061.6804
+  24737251.5414   -1697525.78148  -1307637.32044  24737251.6984   24737249.8924
+     -2852.4624      -2222.6934
+  23974395.1564   -6650889.62149  -5171144.83646  23974393.6364   23974397.4704
+      2862.1974       2230.2794
+ 05  1 20 12  9 30.0000000  0  7G16G23G 3G13G19G25G27
+  22253890.9364  -11390386.56049  -8848515.65847  22253890.2624   22253894.8364
+     -2447.4754      -1907.1284
+  20823009.0184  -20694333.52149 -16096779.94048  20823008.9364   20823011.0044
+     -1736.4464      -1353.0744
+  20371619.1414  -23669771.27249 -18424701.37348  20371619.2034   20371624.3254
+       632.2904        492.6904
+  20974430.9264  -17464025.61449 -13586138.00848  20974430.7954   20974434.4884
+       304.5284        237.2914
+  21594870.0504  -16053766.15249 -12487376.17948  21594869.1044   21594872.2314
+      2632.5754       2051.3624
+  24753539.8584   -1611878.83058  -1240899.48554  24753538.5814
+     -2857.2784      -2226.4524
+  23958053.4174   -6736764.53049  -5238060.34846  23958051.3504   23958056.6714
+      2862.7504       2230.7204
+ 05  1 20 12 10  0.0000000  0  7G16G23G 3G13G19G25G27
+  22267873.3894  -11316904.69249  -8791257.08847  22267873.4864   22267877.6984
+     -2451.3114      -1910.1164
+  20832975.0664  -20641966.79449 -16055974.71848  20832974.0314   20832976.0494
+     -1754.6294      -1367.2434
+  20368067.4244  -23688439.96649 -18439248.41148  20368067.0054   20368072.0364
+       612.2574        477.0834
+  20972750.3494  -17472853.20549 -13593016.65948  20972750.8914   20972754.9994
+       283.9574        221.2674
+  21579878.8484  -16132544.60249 -12548761.98648  21579877.5144   21579881.4694
+      2619.3324       2041.0384
+  24769875.0374   -1526087.58248  -1174049.20544
+     -2861.9954      -2230.1284
+  23941708.8854   -6822654.29949  -5304987.45846  23941707.9024   23941712.5424
+      2863.2064       2231.0664
+ 05  1 20 12 10 30.0000000  0  7G16G23G 3G13G19G25G27
+  22281878.3074  -11243308.38649  -8733909.33347  22281877.8974   22281882.1584
+     -2455.0944      -1913.0574
+  20843042.9484  -20589055.66249 -16014745.28748  20843042.7784   20843044.8194
+     -1772.7694      -1381.3784
+  20364628.6684  -23706508.54549 -18453327.82748  20364628.4944   20364633.6044
+       592.2714        461.5104
+  20971188.9064  -17481063.61649 -13599414.39048  20971188.8324   20971192.5814
+       263.3974        205.2474
+  21564963.4254  -16210922.59049 -12609835.74248  21564962.7664   21564966.4504
+      2605.9054       2030.5764
+  24786226.4814   -1440152.70148  -1107087.14244
+     -2866.8424      -2233.8924
+  23925360.0134   -6908558.00449  -5371925.39946  23925360.5354   23925365.9334
+      2863.6934       2231.4474
+ 05  1 20 12 11  0.0000000  0  7G16G23G 3G13G19G25G27
+  22295904.3204  -11169598.76249  -8676473.28047  22295904.4544   22295908.9884
+     -2458.8574      -1915.9894
+  20853215.5144  -20535601.87449 -15973093.00048  20853214.7664   20853216.5154
+     -1790.8184      -1395.4454
+  20361304.8664  -23723976.68949 -18466939.37348  20361304.5794   20361309.6114
+       572.2644        445.9144
+  20969743.7454  -17488656.45049 -13605330.89348  20969744.0604   20969748.1924
+       242.7934        189.1884
+  21550125.8594  -16288898.10349 -12670595.88048  21550124.8454   21550127.9274
+      2592.4624       2020.1004
+  24802603.7764   -1354074.59848     23014.59643
+     -2871.6974      -2237.6864
+  23909011.9314   -6994474.57049  -5438873.39446  23909011.5374   23909016.9144
+      2864.1154       2231.7794
+ 05  1 20 12 11 30.0000000  0  7G16G23G 3G13G19G25G27
+  22309952.7944  -11095777.21949  -8618950.03347  22309952.9714   22309955.7384
+     -2462.5564      -1918.8864
+  20863489.5014  -20481607.25049 -15931019.29548  20863489.3824   20863491.6764
+     -1808.8084      -1409.4594
+  20358095.5254  -23740844.07249 -18480082.80048  20358094.8874   20358100.0404
+       552.2294        430.3124
+  20968416.6064  -17495631.06849 -13610765.67048  20968416.7334   20968420.4964
+       222.1874        173.1354
+  21535364.2014  -16366468.66149 -12731040.47348  21535363.3014   21535366.7844
+      2578.9354       2009.5604
+  24819009.8164   -1267854.20358     90154.75554
+     -2876.2694      -2238.3014
+  23892660.1924   -7080402.79049  -5505830.44046  23892659.7334   23892664.8934
+      2864.4804       2232.0604
+ 05  1 20 12 12  0.0000000  0  7G16G23G 3G13G19G25G27
+  22324021.7854  -11021844.85449  -8561340.41847  22324021.1814   22324025.3144
+     -2466.2384      -1921.7354
+  20873868.1794  -20427073.46449 -15888525.45148  20873867.3774   20873868.8694
+     -1826.7704      -1423.4594
+  20354999.3864  -23757110.36749 -18492757.83548  20354999.0054   20355004.6234
+       532.1854        414.6884
+  20967206.7514  -17501987.21849 -13615718.52248  20967206.9254   20967210.6404
+       201.5694        157.0674
+  21520679.4014  -16443631.99049 -12791167.73848  21520679.3484   21520683.0634
+      2565.2974       1998.9374
+  24835442.7584   -1181491.91848    157361.22244
+     -2881.0434      -2241.9934
+  23876307.0514   -7166341.70649  -5572795.84746  23876306.3324   23876310.7084
+      2864.8214       2232.3284
+ 05  1 20 12 12 30.0000000  0  7G16G23G 3G13G19G25G27
+  22338111.0874  -10947802.82249  -8503645.36147  22338111.2454   22338115.1094
+     -2469.8774      -1924.5774
+  20884346.6374  -20372002.51049 -15845613.04348  20884346.5214   20884348.6284
+     -1844.6194      -1437.3634
+  20352018.7274  -23772775.35149 -18504964.32848  20352018.2734   20352023.8054
+       512.1394        399.0704
+  20966114.4474  -17507724.35249 -13620189.02748  20966115.0774   20966119.3224
+       180.9034        140.9634
+  21506074.4804  -16520385.80749 -12850975.91248  21506073.7394   21506077.7614
+      2551.6094       1988.2654
+  24851908.0554   -1094988.65848     18621.26243
+     -2885.8284      -2248.6974
+  23859949.4834   -7252290.31249  -5639768.80746  23859950.1424   23859955.0604
+      2865.0304       2232.4904
+ 05  1 20 12 13  0.0000000  0  8G16G23G 3G13G19G25G27G15
+  22352221.7474  -10873652.44049  -8445865.85947  22352221.2354   22352225.2844
+     -2473.4984      -1927.4054
+  20894928.7664  -20316396.23049 -15802283.48948  20894928.1164   20894930.3454
+     -1862.4254      -1451.2404
+  20349152.0514  -23787838.70349 -18516702.01048  20349151.7704   20349156.9944
+       492.0894        383.4484
+  20965141.3784  -17512842.36649 -13624177.09348  20965141.4384   20965145.7664
+       160.2694        124.8914
+  21491547.5264  -16596727.86349 -12910463.21948  21491546.0984   21491550.1684
+      2537.8774       1977.5704
+  24868393.6804   -1008344.91758     86170.41054
+     -2890.1744      -2254.7604
+  23843593.8464   -7338247.35949  -5706748.30646  23843593.8874   23843599.1234
+      2865.3474       2232.7394
+                    -72485.86441    -21012.131 3                  24711681.317
+      2024.6654       1580.845
+ 05  1 20 12 13 30.0000000  0  8G16G23G 3G13G19G25G27G15
+  22366353.2194  -10799394.71449  -8388002.72947  22366352.6214   22366356.3014
+     -2477.0234      -1930.1444
+  20905612.7184  -20260256.71349 -15758538.43048  20905611.4074   20905613.2074
+     -1880.1774      -1465.0704
+  20346400.3754  -23802300.17149 -18527970.69648  20346399.9734   20346405.3404
+       472.0134        367.8034
+  20964285.8334  -17517340.19549 -13627681.90048  20964285.7584   20964289.9204
+       139.6044        108.7864
+  21477098.5284  -16672655.97349 -12969627.98748  21477097.7014   21477101.4934
+      2524.0114       1966.7694
+  24884910.5264    -921561.51748    153873.32344
+     -2895.1204      -2258.5804
+  23827234.2124   -7424211.89749  -5773733.68546  23827235.0614   23827240.1284
+      2865.5814       2232.9184
+  24694984.6024    -133082.33349    -88760.13945
+      2015.1424       1570.2414
+ 05  1 20 12 14  0.0000000  0  8G16G23G 3G13G19G25G27G15
+  22380505.1434  -10725030.95849  -8330056.94747  22380503.6284   22380507.5584
+     -2480.5484      -1932.8974
+  20916394.9604  -20203585.83549 -15714379.31748  20916394.8374   20916397.3024
+     -1897.8804      -1478.8684
+  20343762.7904  -23816159.61149 -18538770.26848  20343762.4994   20343767.8404
+       451.9374        352.1584
+  20963547.5334  -17521218.36049 -13630703.85748  20963547.5324   20963551.3824
+       118.9224         92.6664
+  21462728.8454  -16748168.20949 -13028468.68548  21462728.1544   21462731.8834
+      2510.1084       1955.9254
+  24901457.0484    -834638.94848     14172.03943
+     -2899.9194      -2259.6794
+  23810874.5804   -7510182.77649  -5840723.99646  23810874.5344   23810880.6064
+      2865.8234       2233.1034
+  24683507.4314    -193391.68349   -135754.40345                  24683511.7604
+      2005.4724       1562.7024
+ 05  1 20 12 14 30.0000000  0  8G16G23G 3G13G19G25G27G15
+  22394673.8804  -10650562.30649  -8272029.45347  22394674.0854   22394678.9444
+     -2484.0364      -1935.6144
+  20927280.5254  -20146385.28149 -15669807.47948  20927280.4074   20927282.5224
+     -1915.5044      -1492.6044
+  20341239.8734  -23829416.78249 -18549100.53548  20341239.7494   20341245.0594
+       431.8524        336.5074
+  20962927.6704  -17524476.13649 -13633242.39148  20962927.9354   20962931.6714
+        98.2324         76.5434
+  21448438.8524  -16823262.09149 -13086983.40348  21448438.2564   21448441.8974
+      2496.1174       1945.0234
+  24918019.8614    -747578.01848     81963.15744
+     -2904.0924      -2258.5204
+  23794514.1354   -7596158.78049  -5907718.30946  23794514.5824   23794518.9604
+      2865.9174       2233.1784
+  24672084.1854    -253410.87149   -182522.53845  24672083.5014   24672093.3824
+      1995.8374       1555.2024
+ 05  1 20 12 15  0.0000000  0  8G16G23G 3G13G19G25G27G15
+  22408864.6234  -10575989.89549  -8213921.10947  22408864.8534   22408870.0454
+     -2487.4554      -1938.2804
+  20938266.1714  -20088657.24149 -15624824.61048  20938265.7174   20938267.6884
+     -1933.0144      -1506.2434
+  20338832.5544  -23842071.94249 -18558961.70848  20338831.9014   20338837.0184
+       411.8154        320.8954
+  20962425.9724  -17527113.31049 -13635297.34948  20962426.1204   20962429.7724
+        77.5874         60.4554
+  21434229.2664  -16897935.40849 -13145170.39848  21434228.3694   21434232.2694
+      2482.0854       1934.0924
+  24934605.6924    -660379.66658    149778.04554
+     -2909.2224      -2262.5194
+  23778152.2954   -7682139.01849  -5974715.88246  23778152.5394   23778157.9124
+      2866.0954       2233.3244
+  24660723.0574    -313137.22659   -229062.51355  24660722.3274   24660729.4534
+      1985.9994       1547.5284
+ 05  1 20 12 15 30.0000000  0  8G16G23G 3G13G19G25G27G15
+  22423075.5594  -10501314.95549  -8155732.86647  22423075.0864   22423079.8224
+     -2490.8684      -1940.9334
+  20949352.0714  -20030403.79249 -15579432.33048  20949351.0444   20949353.1194
+     -1950.5204      -1519.8864
+  20336539.0814  -23854124.72849 -18568353.48848  20336538.1234   20336543.5404
+       391.7214        305.2354
+  20962042.7044  -17529129.55549 -13636868.46048  20962042.2524   20962046.2464
+        56.8424         44.2894
+  21420100.4424  -16972185.96849 -13203027.97248  21420099.1284   21420102.7534
+      2467.9474       1923.0744
+  24951231.1844    -573045.49858      5159.67653
+     -2913.5164      -2270.2324
+  23761791.6654   -7768122.20549  -6041715.78546  23761791.1544   23761796.3214
+      2866.1124       2233.3414
+  24649414.1424    -372567.88949   -275372.11845  24649411.2414   24649419.2074
+      1976.0614       1539.7924
+ 05  1 20 12 16  0.0000000  0  8G16G23G 3G13G19G25G27G15
+  22437304.7644  -10426538.61349  -8097465.61647  22437304.8294   22437308.7534
+     -2494.2084      -1943.5334
+  20960536.4464  -19971626.63949 -15533631.98048  20960536.1114   20960537.8594
+     -1967.9794      -1533.4894
+  20334359.5324  -23865575.03749 -18577275.82648  20334359.2694   20334364.3764
+       371.6244        289.5764
+  20961775.7644  -17530524.73849 -13637955.62748  20961776.7014   20961780.4734
+        36.1824         28.1944
+  21406050.8924  -17046011.73949 -13260554.55148  21406050.3034   21406054.1254
+      2453.7504       1912.0124
+  24967876.4044    -485573.41148     73351.07044
+     -2917.9884      -2278.1864
+  23745428.9894   -7854107.11349  -6108717.03846  23745428.3844   23745433.1264
+      2866.1524       2233.3584
+  24638156.9874    -431699.84049   -321449.01845  24638158.5944   24638165.1564
+      1966.0464       1531.9824
+ 05  1 20 12 16 30.0000000  0  8G16G23G 3G13G19G25G27G15
+  22451552.9524  -10351662.12749  -8039120.32547  22451552.6974   22451557.3334
+     -2497.5264      -1946.1174
+  20971820.7794  -19912328.12849 -15487425.36948  20971820.1454   20971822.0024
+     -1985.2694      -1546.9614
+  20332294.8294  -23876422.73849 -18585728.58048  20332294.7004   20332300.1064
+       351.5324        273.9214
+  20961629.9514  -17531298.45949 -13638558.53948  20961630.0394   20961633.3524
+        15.4404         12.0314
+  21392084.3184  -17119410.08649 -13317748.06348  21392083.4624   21392086.9754
+      2439.4794       1900.8914
+  24984543.6774    -397965.57758    141750.52154
+     -2922.5314      -2281.7504
+  23729066.9454   -7940092.73249  -6175718.82946  23729066.0504   23729071.0384
+      2866.1934       2233.3964
+  24626963.9774    -490530.39149   -367290.93645  24626963.4934   24626968.6424
+      1955.8624       1524.0474
+ 05  1 20 12 17  0.0000000  0  8G16G23G 3G13G19G25G27G15
+  22465820.5884  -10276686.35749  -7980697.67847  22465821.2364   22465825.6974
+     -2500.8214      -1948.6914
+  20983203.6494  -19852510.00449 -15440813.87648  20983203.2934   20983205.1314
+     -2002.5714      -1560.4444
+  20330345.5444  -23886668.04149 -18593711.94648  20330345.3944   20330350.5524
+       331.4544        258.2764
+  20961599.8134  -17531450.68149 -13638677.16948  20961600.4504   20961604.4944
+        -5.2994         -4.1344
+  21378198.9234  -17192379.29449 -13374607.19148  21378197.3834   21378201.1324
+      2425.1224       1889.7044
+  25001241.618
+
+  23712703.4224   -8026077.82749  -6242720.21646  23712702.8154   23712708.8704
+      2866.0914       2233.3114
+  24615830.0514    -549056.69049   -412895.85545  24615828.2844   24615833.4714
+      1945.8174       1516.2234
+ 05  1 20 12 17 30.0000000  0  8G16G23G 3G13G19G25G27G15
+  22480107.8624  -10201612.43849  -7922198.54147  22480106.9324   22480110.6614
+     -2504.0814      -1951.2354
+  20994684.9154  -19792174.55249 -15393799.25548  20994684.0174   20994686.3564
+     -2019.8064      -1573.8764
+  20328510.7094  -23896310.80449 -18601225.79448  20328510.4604   20328515.5674
+       311.3814        242.6354
+  20961689.6694  -17530981.39349 -13638311.49848  20961689.6734   20961694.0894
+       -25.9794        -20.2394
+  21364394.9334  -17264917.30249 -13431130.30848  21364394.2924   21364397.7934
+      2410.7214       1878.4864
+  25017967.2004    -222346.78748     67957.00644
+     -2931.4774      -2284.0434
+  23696341.7314   -8112061.36849  -6309720.37846  23696341.1984   23696346.5814
+      2866.1174       2233.3304
+  24604747.6464    -607275.92649   -458261.47345  24604746.8324   24604755.7514
+      1935.5234       1508.1964
+ 05  1 20 12 18  0.0000000  0  8G16G23G 3G13G19G25G27G15
+  22494412.4224  -10126441.60549  -7863623.88647  22494411.2764   22494415.7164
+     -2507.2954      -1953.7464
+  21006264.3024  -19731323.69149 -15346383.01748  21006263.6764   21006266.0424
+     -2036.9264      -1587.2154
+  20326790.8804  -23905351.00349 -18608270.11448  20326790.2294   20326795.4174
+       291.2994        226.9884
+  20961897.1834  -17529890.22949 -13637461.25548  20961897.7894   20961901.5074
+       -46.7324        -36.4144
+  21350674.5604  -17337021.84349 -13487315.67248  21350673.3084   21350676.8984
+      2396.2294       1867.1894
+  25034715.4264    -134336.84948    136530.23744
+     -2935.8664      -2287.4934
+  23679982.1534   -8198041.99249  -6376718.29246  23679980.5134   23679985.1524
+      2865.9694       2233.2284
+  24593723.7674    -665185.31849   -503385.66145  24593725.8874   24593735.6314
+      1925.2094       1500.1594
+ 05  1 20 12 18 30.0000000  0  8G16G23G 3G13G19G25G27G15
+  22508734.9214  -10051175.14549  -7804974.71747  22508733.9444   22508738.7004
+     -2510.4554      -1956.1984
+  21017941.7354  -19669959.76249 -15298566.99748  21017941.1984   21017943.1494
+     -2054.0154      -1600.5314
+  20325184.8454  -23913788.89449 -18614845.10148  20325184.6574   20325189.6394
+       271.2224        211.3444
+  20962223.6074  -17528177.49749 -13636126.67748  20962223.3344   20962227.3824
+       -67.4394        -52.5494
+  21337035.4564  -17408690.86249 -13543161.65648  21337034.7904   21337038.5874
+      2381.6744       1855.8524
+  25051488.3244     -46194.58548    205206.60344
+     -2940.2324      -2290.9064
+  23663619.2034   -8284018.61349  -6443713.06546  23663618.9464   23663624.3534
+      2865.7824       2233.0764
+  24582772.3944    -722782.11949   -548266.25645  24582770.1384   24582774.7794
+      1914.6874       1491.9604
+ 05  1 20 12 19  0.0000000  0  8G16G23G 3G13G19G25G27G15
+  22523075.0474   -9975814.08549  -7746251.86047  22523074.2654   22523079.1184
+     -2513.5884      -1958.6384
+  21029715.7174  -19608084.71749 -15250352.69048  21029715.3234   21029717.5144
+     -2071.0214      -1613.7804
+  20323693.2954  -23921624.48049 -18620950.76148  20323693.2564   20323698.6074
+       251.1434        195.6964
+  20962667.1514  -17525842.84349 -13634307.47948  20962667.7834   20962671.5094
+       -88.1734        -68.7054
+  21323481.4844  -17479922.32049 -13598666.68548  21323480.2664   21323483.5814
+      2367.0744       1844.4714
+  25068284.5794      42079.77148     63614.54043
+     -2944.5814      -2294.5594
+  23647260.2684   -8369990.04449  -6510703.79546  23647259.9664   23647264.5564
+      2865.5834       2232.9274
+  24571869.5604    -780063.28749   -592900.89345  24571868.4274   24571873.3384
+      1904.0534       1483.6794
+ 05  1 20 12 19 30.0000000  0  8G16G23G 3G13G19G25G27G15
+  22537434.4834   -9900359.38849  -7687456.00747  22537433.9304   22537437.6864
+     -2516.7084      -1961.0724
+  21041587.2504  -19545700.70449 -15201741.79748  21041586.8674   21041588.9154
+     -2087.9184      -1626.9524
+  20322317.1124  -23928857.93449 -18626587.23248  20322316.8714   20322322.2274
+       231.0664        180.0514
+  20963230.2404  -17522886.29349 -13632003.68548  20963230.1744   20963234.3044
+      -108.9344        -84.8834
+  21310009.1674  -17550714.09049 -13653829.10648  21310008.7614   21310012.3024
+      2352.3634       1833.0144
+  25085109.5764     130485.26949    132505.17244
+     -2948.9854      -2298.0244
+  23630900.8394   -8455954.96049  -6577689.47346  23630900.7794   23630905.7004
+      2865.4054       2232.7864
+  24561028.2134    -837025.89249   -637287.33745  24561027.6844   24561034.3184
+      1893.4304       1475.4064
+ 05  1 20 12 20  0.0000000  0  8G16G23G 3G13G19G25G27G15
+  22551810.4374   -9824812.10849  -7628588.01247  22551809.6334   22551813.9524
+     -2519.7844      -1963.4644
+  21053555.2434  -19482810.07649 -15152736.13748  21053554.8264   21053556.6354
+     -2104.7844      -1640.0914
+  20321055.4014  -23935489.08649 -18631754.37548  20321055.1214   20321060.4054
+       210.9964        164.4154
+  20963911.3484  -17519307.86249 -13629215.30748  20963911.4964   20963915.5034
+      -129.6424       -101.0194
+  21296622.7754  -17621064.03149 -13708647.24248  21296621.8844   21296625.2904
+      2337.6014       1821.5114
+  25101954.9294     219021.33448    201497.51044
+     -2953.3244      -2301.3904
+  23614542.3034   -8541912.19249  -6644669.14446  23614543.2294   23614549.2304
+      2865.0784       2232.5354
+  24550249.6834    -893667.36249   -681423.56145  24550249.3324   24550256.8484
+      1882.6434       1466.9944
+ 05  1 20 12 20 30.0000000  0  8G16G23G 3G13G19G25G27G15
+  22566204.0014   -9749173.34249  -7569648.74347  22566203.3594   22566207.9554
+     -2522.7914      -1965.8104
+  21065619.1414  -19419414.85149 -15103337.27748  21065618.6694   21065620.6114
+     -2121.5644      -1653.1694
+  20319908.5764  -23941518.16149 -18636452.36248  20319907.8674   20319912.9504
+       190.9274        148.7734
+  20964710.6324  -17515107.47449 -13625942.29848  20964710.7824   20964714.5954
+      -150.4004       -117.1954
+  21283319.7744  -17690970.19349 -13763119.56848  21283318.8844   21283322.5744
+      2322.7894       1809.9644
+  25118830.2004     307686.89148     58210.89043
+     -2957.6994      -2304.6584
+  23598188.3924   -8627860.61449  -6711641.95246  23598188.0534   23598193.3244
+      2864.6994       2232.2394
+  24539533.2024    -949984.94849   -725307.39245  24539533.5954   24539540.7234
+      1871.7624       1458.5124
+ 05  1 20 12 21  0.0000000  0  8G16G23G 3G13G19G25G27G15
+  22580614.0074   -9673444.14649  -7510639.01647  22580614.0324   22580618.8624
+     -2525.7964      -1968.1514
+  21077777.6024  -19355517.14749 -15053546.88548  21077777.6324   21077779.9914
+     -2138.2724      -1666.1874
+  20318874.9774  -23946945.38049 -18640681.37148  20318874.9654   20318880.0374
+       170.8934        133.1634
+  20965627.9824  -17510285.22749 -13622184.71848  20965628.0614   20965632.4664
+      -171.0984       -133.3214
+  21270102.3954  -17760430.59249 -13817244.55648  21270101.2284   21270104.9364
+      2307.9084       1798.3734
+  25135728.1024     396481.34649    127391.93044
+     -2961.9624      -2307.7164
+  23581834.8944   -8713799.05249  -6778607.00246  23581835.0834   23581839.9224
+      2864.3844       2231.9864
+  24528880.5064   -1005975.93149   -768936.71245  24528879.6364   24528884.1204
+      1860.9104       1450.0584
+ 05  1 20 12 21 30.0000000  0  8G16G23G 3G13G19G25G27G15
+  22595041.5114   -9597625.63549  -7451559.69147  22595041.3734   22595046.6474
+     -2528.7764      -1970.4684
+  21090032.4334  -19291119.18249 -15003366.67848  21090032.2914   21090034.6144
+     -2154.9084      -1679.1464
+  20317956.4794  -23951770.92849 -18644441.54348  20317956.4584   20317961.8834
+       150.8294        117.5294
+  20966663.0114  -17504841.17849 -13617942.60448  20966663.7814   20966668.0894
+      -191.8404       -149.4854
+  21256969.0834  -17829443.18149 -13871020.59848  21256968.5954   21256972.3974
+      2292.9274       1786.6954
+  25152648.2544     485403.95348    196672.84844
+     -2966.1284      -2310.9414
+  23565485.2264   -8799726.03449  -6845563.10446  23565483.8334   23565488.6754
+      2864.0124       2231.6974
+  24518284.7574   -1061637.45849   -812309.31945  24518285.3194   24518291.2584
+      1849.8394       1441.4284
+ 05  1 20 12 22  0.0000000  0  7G16G23G 3G13G19G27G15
+  22609486.7554   -9521718.81349  -7392411.54347  22609486.3084   22609491.5234
+     -2531.6764      -1972.7344
+  21102382.1604  -19226223.30849 -14952798.48048  21102381.2444   21102383.3494
+     -2171.4724      -1692.0514
+  20317153.1314  -23955994.91549 -18647732.97448  20317152.9004   20317158.1174
+       130.7714        101.9024
+  20967819.0254  -17498775.44649 -13613216.07748  20967818.8534   20967822.5704
+      -212.5594       -165.6264
+  21243922.7514  -17898005.92149 -13924446.11048  21243921.6254   21243925.0454
+      2277.9014       1774.9894
+  23549134.6324   -8885640.48449  -6912509.44846  23549134.5404   23549138.8894
+      2863.5524       2231.3414
+  24507755.7304   -1116966.77349   -855423.03145  24507755.8194   24507764.4914
+      1838.6324       1432.7024
+ 05  1 20 12 22 30.0000000  0  7G16G23G 3G13G19G27G15
+  22623947.7154   -9445724.85249  -7333195.49147  22623947.1674   22623952.4044
+     -2534.5794      -1974.9974
+  21114824.3834  -19160831.62149 -14901843.94048  21114824.5774   21114827.3134
+     -2187.9774      -1704.9174
+  20316464.0114  -23959617.71849 -18650555.94348  20316463.6894   20316469.0724
+       110.7374         86.2874
+  20969091.0814  -17492088.18249 -13608005.23848  20969091.2474   20969094.7984
+      -233.2844       -181.7834
+  21230961.2444  -17966116.73549 -13977519.46348  21230960.7654   21230963.7254
+      2262.8034       1763.2244
+  23532790.4744   -8971541.00549  -6979444.94346  23532788.4654   23532793.3704
+      2863.1244       2231.0054
+  24497292.1834   -1171961.20749   -898275.83045  24497291.3814   24497300.3204
+      1827.5324       1424.0484
+ 05  1 20 12 23  0.0000000  0  7G16G23G 3G13G19G27G15
+  22638425.0764   -9369644.69949  -7273912.28847  22638424.7194   22638429.8974
+     -2537.4024      -1977.1974
+  21127363.7014  -19094946.42549 -14850504.85048  21127362.8554   21127364.8024
+     -2204.3674      -1717.6894
+  20315888.7464  -23962639.80349 -18652910.82048  20315888.6614   20315893.7434
+        90.7074         70.6804
+  20970480.9354  -17484779.54249 -13602310.20248  20970481.5974   20970485.7024
+      -253.9624       -197.8964
+  21218086.9874  -18033773.86449 -14030239.30648  21218086.0494   21218089.2674
+      2247.6484       1751.4124
+  23516443.8674   -9057426.41049  -7046368.66146  23516444.6594   23516449.5734
+      2862.5794       2230.5954
+  24486893.8114   -1226618.15649   -940865.65245  24486891.1864   24486897.3874
+      1816.2294       1415.2464
+ 05  1 20 12 23 30.0000000  0  7G16G23G 3G13G19G27G15
+  22652919.4954   -9293479.49149  -7214562.81047  22652919.0754   22652923.2294
+     -2540.2574      -1979.4204
+  21139994.3014  -19028570.18849 -14798783.12148  21139993.8034   21139996.1904
+     -2220.6864      -1730.4024
+  20315428.1104  -23965061.18149 -18654797.61548  20315427.7754   20315433.0164
+        70.7014         55.0934
+  20971991.1394  -17476849.60749 -13596131.03948  20971990.8394   20971994.8794
+      -274.6844       -214.0374
+  21205297.8694  -18100975.22449 -14082604.00248  21205297.4634   21205301.3224
+      2232.4294       1739.5544
+  23500105.6944   -9143295.44249  -7113279.62446  23500104.9424   23500109.2754
+      2862.0114       2230.1394
+  24476551.5624   -1280934.57149   -983190.10145  24476552.2974   24476559.9924
+      1804.7414       1406.2944
+ 05  1 20 12 24  0.0000000  0  7G16G23G 3G13G19G27G15
+  22667429.5904   -9217230.35449  -7155147.93646  22667428.1204   22667433.2784
+     -2543.0274      -1981.5754
+  21152717.1154  -18961705.08149 -14746680.47748  21152717.4284   21152720.3334
+     -2236.9494      -1743.0784
+  20315081.2544  -23966882.16749 -18656216.57348  20315080.7364   20315086.3904
+        50.6914         39.4984
+  20973618.3724  -17468298.72149 -13589468.02848  20973618.5184   20973622.1674
+      -295.3724       -230.1614
+  21192597.4044  -18167718.96249 -14134612.11148  21192596.4184   21192600.6424
+      2217.1494       1727.6504
+  23483769.6744   -9229146.74349  -7180176.74746  23483767.2814   23483772.4104
+      2861.4254       2229.6794
+  24466284.6854   -1334908.11249  -1025247.40945  24466282.8134   24466290.4494
+      1793.3924       1397.4494
+ 05  1 20 12 24 30.0000000  0  7G16G23G 3G13G19G27G15
+  22681953.8734   -9140897.93649  -7095668.15346  22681953.7464   22681957.9504
+     -2545.7804      -1983.7204
+  21165535.1834  -18894353.34249 -14694198.61848  21165534.4044   21165536.6934
+     -2253.1224      -1755.6784
+  20314848.9474  -23968103.28649 -18657168.10148  20314848.8784   20314854.0084
+        30.7264         23.9454
+  20975363.2364  -17459126.94949 -13582321.20848  20975363.3434   20975367.2484
+      -316.0594       -246.2774
+  21179983.8934  -18234003.05649 -14186262.05748  21179983.5064   21179987.1634
+      2201.7944       1715.6834
+  23467433.6684   -9314979.16749  -7247059.18046  23467434.5024   23467439.7034
+      2860.7444       2229.1474
+  24456081.3764   -1388535.87249  -1067035.27245  24456080.3614   24456087.2364
+      1781.7924       1388.4114
+ 05  1 20 12 25  0.0000000  0  7G16G23G 3G13G19G27G15
+  22696496.5844   -9064483.38349  -7036124.35947  22696495.5754   22696500.0174
+     -2548.4984      -1985.8394
+  21178444.0104  -18826517.27849 -14641339.37548  21178443.2094   21178445.2904
+     -2269.2444      -1768.2464
+  20314730.7524  -23968724.83149 -18657652.42748  20314730.5934   20314735.6974
+        10.7234          8.3554
+  20977226.5124  -17449334.79449 -13574690.97248  20977226.7084   20977230.4044
+      -336.7544       -262.4084
+  21167458.4484  -18299825.74249 -14237552.46448  21167457.5004   21167461.3114
+      2186.3934       1703.6784
+  23451102.8084   -9400791.23549  -7313925.74546  23451104.6094   23451109.9334
+      2860.0114       2228.5764
+  24445939.8974   -1441814.97449  -1108551.46445  24445939.5544   24445945.8704
+      1770.0604       1379.2704
+ 05  1 20 12 25 30.0000000  0  7G16G23G 3G13G19G27G15
+  22711052.8594   -8987987.68949  -6976517.36847  22711052.5004   22711056.9214
+     -2551.2044      -1987.9454
+  21191442.4574  -18758199.44749 -14588104.73348  21191443.1044   21191445.6234
+     -2285.2694      -1780.7294
+  20314726.7664  -23968747.26149 -18657669.91248  20314726.2574   20314731.4754
+        -9.2254         -7.1884
+  20979208.1144  -17438922.43349 -13566577.46348  20979208.4084   20979212.1074
+      -357.4074       -278.4994
+  21155021.6704  -18365185.03749 -14288481.78448  21155020.4444   21155023.6294
+      2170.8954       1691.6064
+  23434781.4994   -9486581.73449  -7380775.49246  23434779.8714   23434784.0114
+      2859.2904       2228.0134
+  24435868.4744   -1494742.75749  -1149793.92745  24435867.9834   24435874.3624
+      1758.3614       1370.1494
+ 05  1 20 12 26  0.0000000  0  7G16G23G 3G13G19G27G15
+  22725623.7854   -8911411.82449  -6916847.90447  22725623.9274   22725628.7874
+     -2553.8524      -1990.0084
+  21204535.9894  -18689402.09249 -14534496.43748  21204535.5054   21204537.6814
+     -2301.1964      -1793.1384
+  20314836.0474  -23968171.02949 -18657220.90548  20314835.9194   20314841.4654
+       -29.1734        -22.7334
+  20981308.2634  -17427890.45549 -13557981.12648  20981308.0854   20981311.4654
+      -378.0504       -294.5864
+  21142671.8854  -18430079.04749 -14339048.54848  21142671.2024   21142674.7344
+      2155.3664       1679.5054
+  23418458.8394   -9572349.30549  -7447607.37946  23418458.2994   23418463.2414
+      2858.5114       2227.4144
+  24425864.5574   -1547316.81249  -1190760.73445  24425864.8784   24425871.5934
+      1746.5334       1360.9324
+ 05  1 20 12 26 30.0000000  0  7G16G23G 3G13G19G27G15
+  22740211.2954   -8834756.89249  -6857116.80046  22740211.0654   22740214.8194
+     -2556.4644      -1992.0484
+  21217718.8784  -18620127.49749 -14480516.25248  21217717.7684   21217720.4484
+     -2317.0864      -1805.5204
+  20315059.7574  -23966996.34049 -18656305.57448  20315059.4234   20315064.7004
+       -49.1404        -38.2914
+  20983524.6174  -17416238.79149 -13548901.92748  20983524.8694   20983529.1284
+      -398.7124       -310.6844
+  21130412.2964  -18494506.24549 -14389251.56048  21130411.3824   21130414.5304
+      2139.7734       1667.3534
+  23402141.8824   -9658092.72049  -7514420.46046  23402142.7824   23402147.0154
+      2857.7034       2226.7794
+  24415928.2684   -1599534.40349  -1231449.77045  24415926.5864   24415933.5344
+      1734.5914       1351.6354
+ 05  1 20 12 27  0.0000000  0  7G16G23G 3G13G19G27G15
+  22754813.6924   -8758023.83249  -6797324.83447  22754813.0094   22754817.4434
+     -2559.0554      -1994.0694
+  21230990.7614  -18550378.29149 -14426166.25848  21230990.2934   21230992.9224
+     -2332.8504      -1817.8024
+  20315397.0754  -23965223.85649 -18654924.43048  20315396.7904   20315402.2204
+       -69.0184        -53.7804
+  20985859.8024  -17403967.91649 -13539340.21948  20985859.7884   20985863.6764
+      -419.3344       -326.7554
+  21118241.4204  -18558464.31949 -14439089.02648  21118240.5424   21118243.7084
+      2124.1084       1655.1514
+  23385829.1904   -9743810.54549  -7581213.57446  23385829.2514   23385834.9714
+      2856.8184       2226.0884
+  24406059.7924   -1651392.97349  -1271859.07945  24406059.7194   24406067.0484
+      1722.6084       1342.2934
+ 05  1 20 12 27 30.0000000  0  7G16G23G 3G13G19G27G15
+  22769430.7574   -8681213.53149  -6737472.69746  22769429.8274   22769433.5564
+     -2561.6284      -1996.0734
+  21244353.7404  -18480156.61749 -14371448.10048  21244353.5084   21244355.5594
+     -2348.5734      -1830.0544
+  20315848.2294  -23962853.97949 -18653077.77648  20315847.7774   20315852.9494
+       -88.9464        -69.3094
+  20988312.5564  -17391078.19949 -13529296.29548  20988312.7034   20988316.8164
+      -439.9784       -342.8414
+  21106160.1034  -18621951.75049 -14488559.74948  21106159.2364   21106162.7984
+      2108.3734       1642.8884
+  23369522.5784   -9829501.35049  -7647985.65246  23369523.0674   23369528.5654
+      2855.8844       2225.3624
+  24396259.0204   -1702889.95149  -1311986.56345  24396259.7024   24396266.1174
+      1710.4564       1332.8234
+ 05  1 20 12 28  0.0000000  0  7G16G23G 3G13G19G27G15
+  22784062.0354   -8604327.11849  -6677561.23947  22784061.6814   22784064.8754
+     -2564.1484      -1998.0414
+  21257806.1294  -18409465.12949 -14316363.85147  21257805.5954   21257807.8984
+     -2364.1884      -1842.2214
+  20316412.7414  -23959887.22949 -18650766.03348  20316412.5474   20316417.4224
+      -108.8514        -84.8204
+  20990882.8684  -17377570.11449 -13518770.53948  20990883.2794   20990886.9874
+      -460.5784       -358.8914
+  21094168.7054  -18684966.56149 -14537662.20048  21094167.7944   21094171.8514
+      2092.5934       1630.5914
+  23353223.8474   -9915163.79949  -7714735.63246  23353222.6604   23353227.6174
+      2854.9544       2224.6384
+  24386529.4194   -1754022.33749  -1351829.96146  24386530.4474   24386536.1454
+      1698.2764       1323.3244
+ 05  1 20 12 28 30.0000000  0  7G16G23G 3G13G19G27G15
+  22798706.7024   -8527365.31249  -6617591.02246  22798705.9644   22798709.9824
+     -2566.6324      -1999.9644
+  21271347.2194  -18338306.06849 -14260915.25748  21271346.8244   21271349.2764
+     -2379.7424      -1854.3434
+  20317090.6464  -23956324.13249 -18647989.59248  20317090.3324   20317095.6784
+      -128.7174       -100.3004
+  20993571.5564  -17363444.24749 -13507763.38348  20993571.4214   20993575.4924
+      -481.1684       -374.9364
+  21082267.1764  -18747507.13049 -14586395.11448  21082266.4704   21082270.3884
+      2076.7474       1618.2424
+  23336926.2574  -10000796.61149  -7781462.51846  23336926.7794   23336932.6194
+      2853.8964       2223.8194
+  24376868.9874   -1804787.68249  -1391387.32845  24376868.9454   24376875.3924
+      1685.9904       1313.7664
+ 05  1 20 12 29  0.0000000  0  7G16G23G 3G13G19G27G15
+  22813365.1694   -8450329.38049  -6557563.03846  22813365.1314   22813369.9434
+     -2569.1054      -2001.8974
+  21284977.4864  -18266682.09349 -14205104.40748  21284976.9644   21284978.5944
+     -2395.1914      -1866.3764
+  20317882.2664  -23952165.17849 -18644748.86248  20317881.9014   20317887.1494
+      -148.5684       -115.7694
+  20996376.4364  -17348700.94349 -13496275.11048  20996376.7954   20996380.7174
+      -501.7324       -390.9624
+  21070456.3784  -18809571.48249 -14634756.95148  21070456.0074   21070460.1214
+      2060.8604       1605.8644
+  23320637.0944  -10086398.46549  -7848165.27146  23320637.1664   23320643.2494
+      2852.8374       2222.9904
+  24367280.6944   -1855183.47249  -1430656.75346  24367280.1594   24367287.1934
+      1673.6124       1304.1134
+ 05  1 20 12 29 30.0000000  0  7G16G23G 3G13G19G27G15
+  22828040.3154   -8373220.10949  -6497477.92146  22828039.4504   22828043.2504
+     -2571.5164      -2003.7804
+  21298694.4914  -18194595.73549 -14148933.23948  21298694.1284   21298696.4164
+     -2410.5754      -1878.3664
+  20318787.0424  -23947410.96449 -18641044.28748  20318786.6644   20318791.7594
+      -168.3894       -131.2074
+  20999299.8674  -17333340.73849 -13484306.13048  20999299.8774   20999304.1884
+      -522.3004       -406.9854
+  21058738.1304  -18871157.96149 -14682746.42248  21058736.9204   21058740.2064
+      2044.9054       1593.4354
+  23304354.8064  -10171967.71149  -7914842.62146  23304354.5004   23304360.0914
+      2851.7024       2222.1024
+  24357761.1844   -1905207.03049  -1469636.10446  24357760.9154   24357766.4984
+      1661.1684       1294.4164
+ 05  1 20 12 30  0.0000000  0  7G16G23G 3G13G19G27G15
+  22842727.5304   -8296038.23849  -6437336.24146  22842726.7224   22842730.6684
+     -2573.9134      -2005.6474
+  21312499.9394  -18122049.24649 -14092403.53547  21312499.3434   21312501.4494
+     -2425.8594      -1890.2824
+  20319804.2044  -23942062.27049 -18636876.48748  20319804.2274   20319809.6144
+      -188.1974       -146.6454
+  21002340.3374  -17317364.41149 -13471857.05948  21002340.2954   21002344.0344
+      -542.8214       -422.9744
+  21047108.9244  -18932264.88449 -14730362.20548  21047108.4964   21047112.2944
+      2028.8794       1580.9474
+  23288078.8074  -10257503.08649  -7981493.57746  23288077.4454   23288083.0734
+      2850.5684       2221.2194
+  24348311.6024   -1954855.64849  -1508323.34946  24348311.3724   24348318.9674
+      1648.6944       1284.6934
+ 05  1 20 12 30 30.0000000  0  7G16G23G 3G13G19G27G15
+  22857427.8704   -8218784.84049  -6377138.81146  22857427.1144   22857431.3894
+     -2576.2734      -2007.4864
+  21326391.5854  -18049045.07849 -14035517.19347  21326391.4044   21326393.6624
+     -2441.0814      -1902.1394
+  20320935.5064  -23936119.68549 -18632245.91348  20320935.1874   20320940.4784
+      -207.9924       -162.0714
+  21005497.8334  -17300772.32049 -13458928.17748  21005497.9664   21005501.0824
+      -563.3414       -438.9694
+  21035573.7554  -18992890.59449 -14777603.01548  21035572.1734   21035575.4194
+      2012.7984       1568.4144
+  23271807.4754  -10343003.37049  -8048117.21046  23271808.5834   23271813.1114
+      2849.3774       2220.2974
+  24338935.9404   -2004126.98749  -1546716.60945  24338936.1504   24338941.2624
+      1636.0654       1274.8524
+ 05  1 20 12 31  0.0000000  0  7G16G23G 3G13G19G27G15
+  22872141.6274   -8141460.79849  -6316886.33346  22872141.0814   22872146.0154
+     -2578.5734      -2009.2794
+  21340371.0914  -17975585.85449 -13978276.26647  21340370.4074   21340372.5374
+     -2456.1864      -1913.9124
+  20322179.5254  -23929583.85549 -18627153.06048  20322179.0004   20322184.0434
+      -227.7444       -177.4624
+  21008771.3294  -17283565.04249 -13445519.92148  21008772.1044   21008776.0284
+      -583.8504       -454.9504
+  21024127.9624  -19053033.04549 -14824467.26148  21024127.0344   21024130.9184
+      1996.6824       1555.8574
+  23255546.9164  -10428466.94849  -8114712.21246  23255545.0964   23255550.3704
+      2848.1614       2219.3514
+  24329632.8634   -2053018.48749  -1584813.82946  24329632.0574   24329639.0684
+      1623.3834       1264.9674
+ 05  1 20 12 31 30.0000000  0  7G16G23G 3G13G19G27G15
+  22886869.9414   -8064067.09049  -6256579.57646  22886869.2284   22886874.3344
+     -2580.9744      -2011.1404
+  21354435.9174  -17901674.11549 -13920682.73347  21354435.2444   21354437.0304
+     -2471.2194      -1925.6214
+  20323535.3604  -23922455.31549 -18621598.36648  20323535.1814   20323540.7024
+      -247.4804       -192.8394
+  21012163.4014  -17265743.02749 -13431632.64848  21012163.2504   21012167.2284
+      -604.2864       -470.8684
+  21012775.2324  -19112690.88549 -14870953.88948  21012774.4514   21012778.3494
+      1980.4934       1543.2414
+  23239288.9594  -10513892.46049  -8181277.56246  23239289.0454   23239294.5224
+      2846.8604       2218.3354
+  24320402.1884   -2101527.68849  -1622613.17045  24320402.1544   24320406.8774
+      1610.5744       1254.9984
+ 05  1 20 12 32  0.0000000  0  7G16G23G 3G13G19G27G15
+  22901609.2494   -7986604.71949  -6196219.33146  22901609.6384   22901613.3854
+     -2583.2054      -2012.8944
+  21368586.2884  -17827312.38949 -13862738.55847  21368586.0324   21368587.6234
+     -2486.2074      -1937.3024
+  20325005.1574  -23914734.94049 -18615582.49848  20325004.8124   20325009.5564
+      -267.2094       -208.2174
+  21015671.1734  -17247307.14849 -13417267.04848  21015671.5944   21015675.2794
+      -624.7574       -486.8244
+  21001515.6854  -19171862.27349 -14917061.47248  21001514.7654   21001518.2034
+      1964.2424       1530.5764
+  23223040.4214  -10599278.37349  -8247812.06846  23223041.0294   23223045.9744
+      2845.4944       2217.2704
+  24311244.2044   -2149651.71949  -1660112.40245  24311244.3434   24311249.0754
+      1597.6764       1244.9374
+ 05  1 20 12 32 30.0000000  0  7G16G23G 3G13G19G27G15
+  22916364.1254   -7909074.35849  -6135806.09346  22916363.4564   22916367.2654
+     -2585.4574      -2014.6344
+  21382821.5464  -17752503.19949 -13804445.71347  21382821.5034   21382823.5514
+     -2501.0574      -1948.8774
+  20326586.2564  -23906423.40949 -18609105.98548  20326585.9044   20326591.4404
+      -286.8904       -223.5544
+  21019296.1634  -17228258.06749 -13402423.62248  21019296.3094   21019300.2494
+      -645.1884       -502.7444
+  20990348.4174  -19230545.73849 -14962788.84248  20990347.4724   20990351.4504
+      1947.9644       1517.8954
+  23206800.5044  -10684623.41449  -8314314.71446  23206800.5044   23206805.2634
+      2844.1084       2216.1914
+  24302159.8564   -2197388.02349  -1697309.44045  24302159.0754   24302167.2814
+      1584.7064       1234.8374
+ 05  1 20 12 33  0.0000000  0  8G16G23G21G 3G13G19G27G15
+  22931130.9544   -7831477.01949  -6075340.64446  22931129.3644   22931133.8034
+     -2587.6784      -2016.3684
+  21397143.1514  -17677249.03849 -13745806.12747  21397142.5144   21397144.5094
+     -2515.8604      -1960.4084
+                     12114.82241
+      -481.8014
+  20328280.6484  -23897521.53949 -18602169.47648  20328280.1144   20328285.5794
+      -306.5704       -238.8834
+  21023038.2844  -17208596.46649 -13387102.91448  21023038.1014   21023041.9944
+      -665.5884       -518.6424
+  20979274.2934  -19288739.45449 -15008134.59048  20979273.3894   20979277.3704
+      1931.5934       1505.1424
+  23190568.0204  -10769926.09549  -8380784.35146  23190567.7434   23190572.9744
+      2842.6634       2215.0644
+  24293150.8984   -2244733.93949  -1734202.37245  24293149.1974   24293156.8734
+      1571.6394       1224.6594
+ 05  1 20 12 33 30.0000000  0  8G16G23G21G 3G13G19G27G15
+  22945908.6644   -7753813.48449  -6014823.64146  22945907.7084   22945912.5864
+     -2589.8744      -2018.0834
+  21411546.7774  -17601552.98549 -13686822.22147  21411546.1024   21411548.7004
+     -2530.5404      -1971.8514
+                     26809.88551
+      -498.0564
+  20330086.8124  -23888030.07249 -18594773.53548  20330086.6504   20330091.6854
+      -326.2034       -254.1834
+  21026895.6874  -17188323.06049 -13371305.46648  21026895.8934   21026900.0734
+      -685.9704       -534.5224
+  20968294.0734  -19346441.95449 -15053097.58348  20968293.3044   20968296.7964
+      1915.2294       1492.3874
+  23174343.5974  -10855184.86949  -8447219.76946  23174343.3114   23174348.5624
+      2841.1914       2213.9084
+  24284215.6394   -2291687.37549  -1770789.41845  24284215.8364   24284220.5194
+      1558.5354       1214.4364
+ 05  1 20 12 34  0.0000000  0  8G16G23G21G 3G13G19G27G15
+  22960698.5224   -7676084.70949  -5954255.79746  22960698.8844   22960704.6534
+     -2592.0404      -2019.7644
+  21426034.9944  -17525417.12749 -13627495.61047  21426034.7754   21426036.4004
+     -2545.1574      -1983.2394
+                     41994.02141
+      -514.1844
+  20332004.8194  -23877949.98949 -18586918.93748  20332004.6234   20332009.7884
+      -345.8124       -269.4644
+  21030869.7914  -17167438.54249 -13355031.83548  21030870.0204   21030874.3084
+      -706.3384       -550.3914
+  20957407.8254  -19403651.57249 -15097676.50648  20957406.6324   20957410.5134
+      1898.7624       1479.5574
+  23158128.7124  -10940398.28949  -8513619.85746  23158128.1474   23158132.8684
+      2839.6414       2212.7064
+  24275356.9244   -2338245.71849  -1807068.65745  24275355.0854   24275360.9484
+      1545.2974       1204.1334
+ 05  1 20 12 34 30.0000000  0  7G16G23G 3G13G19G27G15
+  22975504.4234   -7598291.44849  -5893637.70846  22975503.7074   22975506.9564
+     -2594.1894      -2021.4504
+  21440606.7344  -17448844.46349 -13567828.62747  21440606.3794   21440607.8584
+     -2559.6924      -1994.5594
+  20334034.4534  -23867282.11349 -18578606.31148  20334034.4224   20334039.7214
+      -365.4004       -284.7254
+  21034960.1394  -17145943.95049 -13338282.81448  21034960.4074   21034964.2384
+      -726.6604       -566.2274
+  20946614.6624  -19460366.69449 -15141870.10248  20946613.8584   20946617.6684
+      1882.2404       1466.6824
+  23141921.4324  -11025564.90249  -8579983.48146  23141920.8484   23141925.8224
+      2838.0974       2211.5114
+  24266571.2704   -2384406.56949  -1843038.10846  24266571.2214   24266577.2864
+      1532.0464       1193.7984
+ 05  1 20 12 35  0.0000000  0  7G16G23G 3G13G19G27G15
+  22990319.4794   -7520434.74849  -5832970.17446  22990319.2634   22990322.9404
+     -2596.2744      -2023.0734
+  21455260.5514  -17371837.30249 -13507823.07447  21455259.8864   21455262.3564
+     -2574.1054      -2005.7934
+  20336177.0564  -23856027.12749 -18569836.20348  20336176.3254   20336181.3624
+      -384.9554       -299.9634
+  21039166.5454  -17123839.78149 -13321058.80748  21039167.0104   21039170.6184
+      -746.9644       -582.0474
+  20935916.5214  -19516585.75349 -15185677.16348  20935915.7994   20935919.7824
+      1865.6814       1453.7784
+  23125722.5234  -11110683.29849  -8646309.51346  23125723.2174   23125728.5914
+      2836.4614       2210.2254
+  24257863.2074   -2430167.36149  -1878695.88046  24257862.9264   24257869.4604
+      1518.6264       1183.3464
+ 05  1 20 12 35 30.0000000  0  7G16G23G 3G13G19G27G15
+  23005146.4324   -7442515.30649  -5772253.74946  23005146.1174   23005150.4094
+     -2598.3644      -2024.6984
+  21469996.0754  -17294398.10849 -13447480.88347  21469996.0754   21469998.0164
+     -2588.4874      -2017.0014
+  20338429.9924  -23844185.91449 -18560609.28948  20338429.8314   20338435.0594
+      -404.4844       -315.1814
+  21043488.9604  -17101126.85349 -13303360.43248  21043489.1914   21043493.0284
+      -767.2434       -597.8484
+  20925313.0224  -19572307.30449 -15229096.56248  20925312.4164   20925316.4254
+      1849.0584       1440.8264
+  23109534.8154  -11195751.85249  -8712596.70946  23109535.5944   23109540.3474
+      2834.8134       2208.9504
+  24249231.5514   -2475525.75349  -1914040.02945  24249230.5704   24249239.4624
+      1505.2184       1172.8964
+ 05  1 20 12 36  0.0000000  0  7G16G23G 3G13G19G27G15
+  23019984.7294   -7364534.05149  -5711489.17146  23019985.4724   23019990.5344
+     -2600.3674      -2026.2434
+  21484814.7064  -17216529.90549 -13386804.38147  21484814.0864   21484815.7834
+     -2602.7224      -2028.0974
+  20340794.8024  -23831759.25949 -18550926.19548  20340794.4064   20340799.7374
+      -423.9734       -330.3674
+  21047926.9814  -17077806.39649 -13285188.66648  21047927.0514   21047930.5264
+      -787.4654       -613.6114
+  20914804.9174  -19627529.93349 -15272127.18348  20914803.9774   20914807.7714
+      1832.4224       1427.8614
+  23093356.6114  -11280769.21949  -8778844.02446  23093356.7074   23093362.3304
+      2833.0494       2207.5834
+  24240677.6484   -2520479.29349  -1949068.71445  24240677.0744   24240683.5664
+      1491.6564       1162.3344
+ 05  1 20 12 36 30.0000000  0  7G16G23G 3G13G19G27G15
+  23034837.2404   -7286491.64849  -5650676.92746  23034836.3234   23034840.7594
+     -2602.4244      -2027.8744
+  21499713.5434  -17138235.23049 -13325795.57947  21499713.0344   21499715.8684
+     -2616.9184      -2039.1564
+  20343271.3224  -23818748.04649 -18540787.59248  20343270.4704   20343275.8654
+      -443.4494       -345.5444
+  21052480.3554  -17053879.15349 -13266544.08648  21052480.0484   21052483.9144
+      -807.6964       -629.3734
+  20904391.2644  -19682251.75749 -15314767.57348  20904390.8544   20904394.3624
+      1815.6744       1414.8124
+  23077188.7184  -11365733.66549  -8845050.11046  23077189.0404   23077193.9264
+      2831.2604       2206.1824
+  24232201.3504   -2565025.48149  -1983780.02245  24232200.5794   24232206.1994
+      1478.0434       1151.7144
+ 05  1 20 12 37  0.0000000  0  7G16G23G 3G13G19G27G15
+  23049698.9714   -7208389.03249  -5589817.80546  23049699.5204   23049704.1724
+     -2604.4174      -2029.4074
+  21514693.5554  -17059516.64849 -13264456.46247  21514693.1234   21514695.1174
+     -2630.9924      -2050.1234
+  20345857.7624  -23805153.34449 -18530194.32848  20345857.2974   20345862.5444
+      -462.8844       -360.6894
+  21057148.5054  -17029345.76449 -13247427.17848  21057148.5644   21057152.3104
+      -827.8864       -645.1084
+  20894074.2544  -19736471.63749 -15357016.83748  20894073.4154   20894076.6724
+      1798.9574       1401.7814
+  23061031.4494  -11450643.85449  -8911213.90246  23061030.6724   23061036.4364
+      2829.3604       2204.6984
+  24223799.8504   -2609161.86949  -2018171.97745  24223798.8674   24223807.6504
+      1464.3834       1141.0714
+ 05  1 20 12 37 30.0000000  0  7G16G23G 3G13G19G27G15
+  23064572.9924   -7130227.02449  -5528912.36946  23064573.0004   23064577.3684
+     -2606.3654      -2030.9354
+  21529753.2084  -16980376.92949 -13202789.17147  21529752.3364   21529755.1704
+     -2644.9954      -2061.0294
+  20348555.4854  -23790976.08749 -18519147.13048  20348555.1594   20348560.3934
+      -482.2834       -375.8024
+  21061931.6244  -17004207.14849 -13227838.66348  21061931.9794   21061936.5184
+      -848.0314       -660.7954
+  20883851.9714  -19790188.04749 -15398873.78248  20883851.0584   20883854.8274
+      1782.1364       1388.6794
+  23044883.3474  -11535498.09449  -8977334.11046  23044883.5904   23044888.7614
+      2827.4544       2203.2104
+  24215485.1784   -2652886.19149  -2052242.87545  24215483.5154   24215486.1874
+      1450.5134       1130.2734
+ 05  1 20 12 38  0.0000000  0  7G16G23G 3G13G19G27G15
+  23079458.0844   -7052006.47949  -5467961.33746  23079458.3304   23079462.3244
+     -2608.3194      -2032.4624
+  21544892.8684  -16900818.88749 -13140795.92647  21544892.2264   21544894.3324
+     -2658.8814      -2071.8534
+  20351363.8464  -23776217.20249 -18507646.70048  20351363.6384   20351368.9824
+      -501.6504       -390.8954
+  21066830.6684  -16978464.57249 -13207779.52848  21066831.0374   21066834.7564
+      -868.1344       -676.4684
+  20873726.2764  -19843399.34149 -15440337.12848  20873725.4664   20873728.9004
+      1765.2864       1375.5474
+  23028746.6694  -11620295.04349  -9043409.66746  23028747.8644   23028752.9634
+      2825.5654       2201.7274
+  24207237.0764   -2696196.08149  -2085990.81445  24207238.5954   24207246.0794
+      1436.7184       1119.5264
+ 05  1 20 12 38 30.0000000  0  7G16G23G 3G13G19G27G15
+  23094354.7564   -6973728.28649  -5406965.37146  23094354.2934   23094359.1734
+     -2610.2354      -2033.9524
+  21560109.6734  -16820845.11849 -13078478.72647  21560109.7084   21560112.7964
+     -2672.7054      -2082.6254
+  20354283.0064  -23760877.63249 -18495693.80048  20354282.5374   20354287.8754
+      -520.9934       -405.9684
+  21071843.9444  -16952119.03649 -13187250.56248  21071844.2284   21071848.2994
+      -888.2214       -692.1204
+  20863696.8694  -19896104.29549 -15481405.93248  20863696.2644   20863699.6124
+      1748.3864       1362.3774
+  23012622.9764  -11705032.98449  -9109439.26846  23012622.8994   23012628.0084
+      2823.5734       2200.1854
+  24199078.2794   -2739089.10749  -2119413.95345  24199077.5144   24199083.1444
+      1422.7884       1108.6694
+ 05  1 20 12 39  0.0000000  0  7G16G23G 3G13G19G27G15
+  23109261.7574   -6895393.08849  -5345925.00346  23109260.1754   23109265.0164
+     -2612.1004      -2035.4034
+  21575408.2784  -16740458.26749 -13015839.66147  21575407.6054   21575409.4844
+     -2686.3834      -2093.2884
+  20357312.3404  -23744958.74449 -18483289.47848  20357311.9804   20357317.5054
+      -540.2694       -420.9904
+  21076972.4534  -16925171.35949 -13166252.39448  21076972.6114   21076975.9454
+      -908.2724       -707.7404
+  20853764.3964  -19948301.54249 -15522079.11148  20853763.3504   20853767.0794
+      1731.4484       1349.1834
+  22996508.9154  -11789710.51649  -9175421.77646  22996509.5204   22996514.0544
+      2821.5634       2198.6314
+  24190995.7624   -2781562.76749  -2152510.28845  24190993.8294   24191001.1214
+      1408.7334       1097.7164
+ 05  1 20 12 39 30.0000000  0  7G16G23G 3G13G19G27G15
+  23124179.2734   -6817001.62049  -5284840.78046  23124178.2504   23124182.6714
+     -2613.9574      -2036.8454
+  21590782.8124  -16659661.26849 -12952880.98847  21590782.8104   21590784.6714
+     -2700.0514      -2103.9344
+  20360451.4844  -23728461.49149 -18470434.48348  20360451.1494   20360456.5494
+      -559.5454       -436.0104
+  21082214.0224  -16897622.53349 -13144785.78548  21082214.1814   21082218.5794
+      -928.2924       -723.3444
+  20843928.1934  -19999989.53849 -15562355.48048  20843927.5764   20843930.8924
+      1714.4354       1335.9204
+  22980408.3504  -11874325.92849  -9241355.87147  22980407.8684   22980413.4444
+      2819.4524       2196.9864
+  24182993.8144   -2823614.79349  -2185278.07945  24182993.6174   24182998.1994
+      1394.6584       1086.7424
+ 05  1 20 12 40  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23139105.6534   -6738554.79649  -5223713.42246  23139105.5904   23139110.5874
+     -2615.8114      -2038.2944
+  21606236.5544  -16578456.73649 -12889604.75647  21606235.5774   21606238.2044
+     -2713.5514      -2114.4584
+  20363701.2174  -23711386.68949 -18457129.45548  20363700.8664   20363705.8424
+      -578.7564       -450.9814
+  21087571.2104  -16869473.91949 -13122851.82148  21087571.1994   21087575.0964
+      -948.2724       -738.9144
+  20834189.9274  -20051166.85049 -15602233.90548  20834188.5624   20834192.1704
+      1697.3914       1322.6414
+  22964319.0344  -11958877.60749  -9307240.30646  22964317.4944   22964322.8924
+      2817.3314       2195.3084
+  24594024.5324    -285321.35349   -211130.11545  24594024.5824   24594029.1544
+      3376.2564       2630.8474
+  24175070.2334   -2865243.03549  -2217715.66245  24175070.7004   24175077.3924
+      1380.5424       1075.7484
+ 05  1 20 12 40 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23154043.9264   -6660053.39249  -5162543.52146  23154044.1824   23154048.7964
+     -2617.6374      -2039.7104
+  21621765.1824  -16496847.48549 -12826013.17247  21621765.0234   21621767.8834
+     -2727.0504      -2124.9744
+  20367059.8844  -23693735.62249 -18443375.38148  20367059.3964   20367064.8864
+      -597.9814       -465.9594
+  21093041.1664  -16840726.53449 -13100451.27648  21093041.2984   21093045.5324
+      -968.2434       -754.4744
+  20824548.5914  -20101832.36549 -15641713.53648  20824547.4344   20824550.6314
+      1680.2804       1309.3084
+  22948239.6584  -12043364.08549  -9373073.94946  22948240.4884   22948245.4494
+      2815.0914       2193.5854
+  24574746.9814    -386620.91949   -290064.88845  24574747.3924   24574751.1244
+      3377.1084       2631.5144
+  24167230.7574   -2906445.07449  -2249821.14045  24167230.4204   24167236.4824
+      1366.2544       1064.6124
+ 05  1 20 12 41  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23168993.6314   -6581498.00749  -5101331.55246  23168993.1324   23168998.7494
+     -2619.4144      -2041.0884
+  21637373.0484  -16414836.20449 -12762108.30647  21637372.1304   21637374.2874
+     -2740.3664      -2135.3464
+  20370527.6844  -23675509.37749 -18429173.12248  20370527.8624   20370533.2104
+      -617.1004       -480.8584
+  21098625.6104  -16811381.40149 -13077584.95748  21098625.7054   21098629.8654
+      -988.1044       -769.9494
+  20815004.3934  -20151984.57349 -15680793.17748  20815003.8134   20815007.2754
+      1663.1784       1295.9824
+  22932175.8824  -12127783.80649  -9438855.57147  22932175.7324   22932181.2494
+      2812.8494       2191.8374
+  24555466.7634    -487946.26049   -369019.76545  24555466.3294   24555469.3904
+      3377.8964       2632.1284
+  24159471.9934   -2947218.54849  -2281592.67945  24159471.0744   24159479.0484
+      1351.9444       1053.4644
+ 05  1 20 12 41 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23183952.2144   -6502889.64049  -5040078.32146  23183951.9414   23183956.7774
+     -2621.1614      -2042.4674
+  21653053.7154  -16332425.67249 -12697892.33447  21653053.5934   21653056.3324
+     -2753.6494      -2145.6994
+  20374105.6744  -23656709.20049 -18414523.64248  20374105.3434   20374110.5174
+      -636.2254       -495.7574
+  21104323.4754  -16781439.79249 -13054253.85448  21104323.5364   21104327.9294
+     -1007.9834       -785.4404
+  20805558.3634  -20201622.13749 -15719471.79948  20805557.6424   20805561.4664
+      1645.9794       1282.5834
+  22916124.1974  -12212135.13249  -9504583.88946  22916123.7304   22916129.1844
+      2810.5254       2190.0164
+  24536178.3844    -589295.70249   -447993.39045  24536179.1034   24536183.0134
+      3378.7504       2632.7924
+  24151792.8414   -2987561.18149  -2313028.52045  24151794.1144   24151801.8114
+      1337.5754       1042.2664
+ 05  1 20 12 42  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23198920.9344   -6424228.89149  -4978784.26746  23198920.9014   23198924.2464
+     -2622.8734      -2043.8014
+  21668812.6254  -16249618.68749 -12633367.43947  21668811.9374   21668813.7554
+     -2766.8214      -2155.9664
+  20377792.4524  -23637336.15649 -18399427.77548  20377792.0494   20377797.1144
+      -655.3214       -510.6404
+  21110134.5334  -16750902.79049 -13030458.79848  21110134.4404   21110138.7594
+     -1027.8394       -800.9144
+  20796210.9964  -20250743.91349 -15757748.51248  20796210.2414   20796214.0174
+      1628.7754       1269.1764
+  22900086.4154  -12296416.41349  -9570257.62347  22900085.7264   22900090.9614
+      2808.1864       2188.1994
+  24516890.1574    -690668.73449   -526985.39545  24516888.8304   24516891.8734
+      3379.4424       2633.3274
+  24144200.6994   -3027470.92049  -2344127.02845  24144199.4134   24144205.2264
+      1323.1034       1030.9914
+ 05  1 20 12 42 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23213898.9594   -6345516.47249  -4917449.96346  23213899.0834   23213903.8204
+     -2624.6174      -2045.1594
+  21684643.9194  -16166417.98949 -12568535.76247  21684643.7354   21684646.3694
+     -2779.9064      -2166.1574
+  20381587.7854  -23617391.28749 -18383886.32448  20381587.5184   20381592.4634
+      -674.3514       -525.4684
+  21116058.3074  -16719771.43249 -13006200.61848  21116058.5034   21116062.6194
+     -1047.6024       -816.3124
+  20786962.7744  -20299348.53849 -15795622.24848  20786961.6434   20786964.7414
+      1611.5244       1255.7324
+  22884062.6034  -12380625.89249  -9635875.43047  22884061.1504   22884067.1114
+      2805.7534       2186.2944
+  24497594.8544    -792063.81149   -605994.57945  24497594.6814   24497597.1724
+      3380.1744       2633.9004
+  24136686.3914   -3066945.52449  -2374886.47145  24136685.7634   24136693.2564
+      1308.5254       1019.6304
+ 05  1 20 12 43  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23228887.7704   -6266753.19849  -4856076.01146  23228886.5004   23228891.9374
+     -2626.2484      -2046.4174
+  21700552.1784  -16082826.50849 -12503399.57947  21700551.4424   21700552.8024
+     -2792.8574      -2176.2484
+  20385491.6044  -23596875.89549 -18367900.31348  20385491.2854   20385496.6534
+      -693.3504       -540.2704
+  21122095.6064  -16688047.16949 -12981480.43348  21122095.8294   21122099.8054
+     -1067.3294       -831.6844
+  20777811.8194  -20347434.66049 -15833091.95348  20777810.5514   20777814.4594
+      1594.2174       1242.2474
+  22868051.1744  -12464762.17549  -9701436.18647  22868050.6624   22868056.4594
+      2803.2714       2184.3714
+  24478295.8354    -893479.56249   -685019.88345  24478295.0754   24478299.7334
+      3380.8574       2634.4384
+  24129263.4124   -3105982.71149  -2405305.07345  24129261.9424   24129266.3244
+      1293.8874       1008.2244
+ 05  1 20 12 43 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23243885.6014   -6187939.77049  -4794662.98346  23243885.0354   23243889.9584
+     -2627.9694      -2047.7624
+  21716532.3834  -15998846.83849 -12437960.89347  21716531.9414   21716534.2784
+     -2805.7584      -2186.3024
+  20389503.8284  -23575791.09849 -18351470.60848  20389503.4954   20389509.0554
+      -712.3134       -555.0474
+  21128244.1414  -16655731.33649 -12956299.28548  21128245.0884   21128248.8944
+     -1087.0524       -847.0514
+  20768759.5974  -20395001.18649 -15870156.78548  20768759.0044   20768762.7174
+      1576.8784       1228.7394
+  22852054.1284  -12548823.52149  -9766938.55747  22852054.1504   22852060.0004
+      2800.7784       2182.4284
+  24458991.6314    -994914.23149   -764059.93245  24458992.4554   24458996.4204
+      3381.4584       2634.9074
+  24121914.3844   -3144580.14449  -2435381.00645  24121914.8094   24121921.3444
+      1279.2494        996.8194
+ 05  1 20 12 44  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23258892.1784   -6109076.92249  -4733211.42946  23258891.8114   23258897.0524
+     -2629.5644      -2048.9984
+  21732586.9124  -15914481.96549 -12372222.06747  21732585.8254   21732588.6794
+     -2818.5304      -2196.2584
+  20393624.3804  -23554138.22549 -18334598.24648  20393623.8904   20393628.9154
+      -731.2154       -569.7824
+  21134507.5324  -16622824.89349 -12930657.91148  21134507.1054   21134510.9924
+     -1106.7134       -862.3754
+  20759807.2964  -20442046.91649 -15906815.78848  20759806.6564   20759810.1754
+      1559.4954       1215.1914
+  22836072.9834  -12632808.42149  -9832381.34647  22836072.2264   22836078.7204
+      2798.2014       2180.4224
+  24439685.1854   -1096366.94849   -843114.01845  24439685.9834   24439691.0774
+      3381.9924       2635.3214
+  24114652.7054   -3182735.61349  -2465112.57446  24114653.2114   24114660.9314
+      1264.3854        985.2354
+ 05  1 20 12 44 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23273909.7634   -6030165.47249  -4671722.03546  23273908.4544   23273912.5484
+     -2631.2244      -2050.3104
+  21748713.1094  -15829734.76249 -12306185.31547  21748712.8624   21748714.9844
+     -2831.2644      -2206.1764
+  20397852.8524  -23531918.50549 -18317284.19348  20397852.5734   20397857.6334
+      -750.1004       -584.4954
+  21140880.1784  -16589329.33349 -12904557.49848  21140880.7664   21140884.7724
+     -1126.3204       -877.6524
+  20750954.7184  -20488570.70049 -15943068.09648  20750953.7964   20750956.9584
+      1542.0644       1201.6084
+  22820107.1464  -12716715.06449  -9897763.16547  22820106.6564   22820111.6844
+      2795.5574       2178.3554
+  24420377.0114   -1197836.25549   -922181.07645  24420377.2434   24420382.5674
+      3382.5984       2635.7954
+  24107478.5874   -3220446.97749  -2494498.07446  24107477.9384   24107484.2144
+      1249.5354        973.6644
+ 05  1 20 12 45  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23288934.0904   -5951205.90949  -4610195.13746  23288933.3854   23288938.9764
+     -2632.7854      -2051.5174
+  21764911.0794  -15744608.03149 -12239852.82847  21764911.1404   21764913.8404
+     -2843.8874      -2216.0214
+  20402188.4404  -23509133.13549 -18299529.36548  20402188.2024   20402193.3414
+      -768.9344       -599.1724
+  21147366.4954  -16555246.14249 -12877999.18448  21147366.7184   21147370.8784
+     -1145.9044       -892.9164
+  20742200.4134  -20534571.33449 -15978912.74848  20742199.8284   20742203.5354
+      1524.5984       1187.9974
+  22804156.5294  -12800541.82649  -9963082.72847  22804154.5534   22804159.7484
+      2792.8484       2176.2524
+  24401064.4374   -1299321.07149  -1001260.17345  24401064.6124   24401071.2374
+      3383.0664       2636.1554
+  24100387.6834   -3257711.96449  -2523535.70046  24100385.3394   24100393.1984
+      1234.6434        962.0634
+ 05  1 20 12 45 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23303968.2374   -5872199.18749  -4548631.49246  23303967.7454   23303972.6524
+     -2634.3494      -2052.7424
+  21781183.5904  -15659104.66349 -12173226.84747  21781182.8614   21781185.4854
+     -2856.3484      -2225.7194
+  20406632.2324  -23485783.70449 -18281335.01448  20406631.5994   20406637.0134
+      -787.6934       -613.7884
+  21153963.8914  -16520576.19649 -12850983.66248  21153964.0114   21153968.6084
+     -1165.4304       -908.1264
+  20733547.0514  -20580047.50849 -16014348.72148  20733546.3494   20733549.4794
+      1507.1234       1174.3844
+  22788218.6814  -12884287.05949 -10028338.76347  22788218.7064   22788223.5474
+      2790.1264       2174.1224
+  24381752.2214   -1400819.47749  -1080349.92145  24381750.3634   24381755.9784
+      3383.5184       2636.5094
+  24093379.6064   -3294528.30349  -2552223.80746  24093379.4654   24093386.4204
+      1219.6824        950.4054
+ 05  1 20 12 46  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23319010.9114   -5793145.86349  -4487031.51746  23319010.5014   23319015.5854
+     -2635.8784      -2053.9264
+  21797524.3134  -15573227.62149 -12106309.71047  21797524.1444   21797527.1094
+     -2868.7674      -2235.4054
+  20411181.0634  -23461871.69849 -18262702.28948  20411181.4384   20411186.9634
+      -806.4384       -628.3954
+  21160673.5814  -16485321.18149 -12823512.24048  21160673.2834   21160677.1144
+     -1184.9064       -923.3034
+  20724992.4004  -20624998.19549 -16049375.23748  20724991.8914   20724995.9484
+      1489.5874       1160.7164
+  22772297.8364  -12967948.99249 -10093529.88547  22772298.0264   22772302.7714
+      2787.3414       2171.9544
+  24362432.1744   -1502330.56449  -1159449.51045  24362433.3664   24362439.2724
+      3383.8934       2636.7974
+  24086461.3764   -3330894.08649  -2580560.75546  24086460.5554   24086467.4774
+      1204.6634        938.6964
+ 05  1 20 12 46 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23334063.9314   -5714046.48549  -4425395.68246  23334062.8644   23334068.0864
+     -2637.4134      -2055.1054
+  21813938.7404  -15486979.63549 -12039103.51747  21813937.5294   21813939.4324
+     -2881.0854      -2245.0044
+  20415839.7054  -23437397.97049 -18243631.86548  20415839.2004   20415844.2004
+      -825.1464       -642.9694
+  21167492.0984  -16449482.63849 -12795586.12448  21167492.9504   21167497.0584
+     -1204.3454       -938.4484
+  20716539.5274  -20669422.33149 -16083991.45248  20716538.4754   20716542.2634
+      1472.0154       1147.0254
+  22756393.9984  -13051526.00049 -10158654.84247  22756394.0124   22756399.0514
+      2784.4884       2169.7294
+  24343113.8884   -1603852.49349  -1238557.58245  24343114.2594   24343120.6234
+      3384.2194       2637.0654
+  24079626.0114   -3366807.21949  -2608545.03746  24079626.1154   24079631.9314
+      1189.5854        926.9464
+ 05  1 20 12 47  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23349125.8504   -5634901.95549  -4363724.64946  23349125.0744   23349128.0154
+     -2638.8804      -2056.2784
+  21830419.9844  -15400363.52049 -11971610.47147  21830419.5014   21830422.0754
+     -2893.3044      -2254.5234
+  20420603.5994  -23412363.95949 -18224124.84948  20420602.8144   20420607.9384
+      -843.8004       -657.5064
+  21174423.5854  -16413061.67149 -12767206.17148  21174423.5504   21174427.5744
+     -1223.7224       -953.5514
+  20708186.3604  -20713318.81349 -16118196.51148  20708185.4284   20708188.9994
+      1454.4244       1133.3164
+  22740506.3614  -13135016.43949 -10223712.33747  22740505.1654   22740511.5724
+      2781.5934       2167.4784
+  24323793.1244   -1705384.09849  -1317673.21645  24323793.0314   24323798.7614
+      3384.6104       2637.3604
+  24072877.4954   -3402265.59549  -2636174.93846  24072877.6614   24072886.2384
+      1174.3694        915.0904
+ 05  1 20 12 47 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23364193.1874   -5555713.05349  -4302019.06846  23364193.9054   23364198.8324
+     -2640.3514      -2057.4114
+  21846971.6894  -15313382.08749 -11903832.76447  21846971.6704   21846974.4494
+     -2905.4314      -2263.9704
+  20425472.7504  -23386770.97849 -18204182.27548  20425472.8144   20425478.2364
+      -862.3924       -671.9954
+  21181464.6634  -16376059.98449 -12738373.71348  21181464.8604   21181468.6814
+     -1243.0564       -968.6154
+  20699933.5334  -20756686.51949 -16151989.52448  20699932.7174   20699936.1484
+      1436.7634       1119.5544
+  22724633.4504  -13218418.55549 -10288701.01747  22724633.8994   22724640.3864
+      2778.5594       2165.1104
+  24304471.7814   -1806924.35149  -1396795.49945  24304470.8234   24304477.7664
+      3384.7874       2637.4954
+  24066218.2234   -3437267.04249  -2663448.77746  24066216.2014   24066225.0374
+      1159.0194        903.1334
+ 05  1 20 12 48  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23379272.7314   -5476480.26249  -4240279.25746  23379271.5604   23379275.6454
+     -2641.8114      -2058.5504
+  21863593.8344  -15226038.60849 -11835772.94747  21863592.7114   21863594.7534
+     -2917.4454      -2273.3304
+  20430449.7564  -23360620.51449 -18183805.30248  20430449.3354   20430454.8504
+      -880.9634       -686.4624
+  21188615.6454  -16338478.93549 -12709089.80848  21188615.9734   21188620.5354
+     -1262.3344       -983.6384
+  20691782.1484  -20799524.36449 -16185369.67348  20691781.1104   20691784.4024
+      1419.0664       1105.7644
+  22708781.5514  -13301730.58849 -10353619.49147  22708780.9174   22708786.7464
+      2775.5514       2162.7624
+  24285148.5964   -1908471.37949  -1475923.06345  24285147.5474   24285153.2944
+      3384.9494       2637.6244
+  24059646.9014   -3471809.80949  -2690365.20146  24059644.6154   24059651.7164
+      1143.7204        891.2074
+ 05  1 20 12 48 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23394357.2164   -5397204.04049  -4178505.64346  23394358.1554   23394360.9274
+     -2643.2334      -2059.6584
+  21880282.1434  -15138335.85149 -11767433.16147  21880281.7684   21880284.1944
+     -2929.3854      -2282.6344
+  20435531.6084  -23333914.10149 -18162995.12348  20435531.3734   20435536.4574
+      -899.4674       -700.8844
+  21195877.6244  -16300320.09049 -12679355.66748  21195877.8374   21195881.8754
+     -1281.5764       -998.6304
+  20683731.0364  -20841831.42649 -16218336.22148  20683730.1504   20683733.8874
+      1401.3694       1091.9764
+  22692944.8974  -13384950.90649 -10418466.50347  22692944.3754   22692950.5564
+      2772.4324       2160.3354
+  24265823.4164   -2010023.95249  -1555055.01645  24265822.7754   24265829.0004
+      3385.1424       2637.7774
+  24053160.0624   -3505891.56949  -2716922.41646  24053159.6354   24053166.0384
+      1128.3404        879.2274
+ 05  1 20 12 49  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23409452.1074   -5317885.23449  -4116698.80246  23409451.1864   23409456.2204
+     -2644.6584      -2060.7764
+  21897039.5074  -15050276.28549 -11698815.36347  21897038.9734   21897041.7524
+     -2941.2364      -2291.8664
+  20440719.0754  -23306653.25349 -18141752.91248  20440718.7054   20440724.2584
+      -917.9184       -715.2594
+  21203248.9704  -16261585.02249 -12649172.52748  21203248.7854   21203252.7854
+     -1300.7534      -1013.5744
+  20675780.9624  -20883606.71749 -16250888.39848  20675780.3324   20675784.4274
+      1383.6474       1078.1674
+  22677126.4544  -13468077.71949 -10483240.65447  22677126.1734   22677131.9024
+      2769.3104       2157.9004
+  24246498.3764   -2111580.07649  -1634189.73245  24246498.1764   24246503.7544
+      3385.2514       2637.8584
+  24046761.6384   -3539510.21949  -2743118.73746  24046761.9484   24046769.1084
+      1112.8294        867.1354
+ 05  1 20 12 49 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23424552.5644   -5238524.52549  -4054859.37246  23424552.3634   23424555.7854
+     -2646.0224      -2061.8284
+  21913863.9154  -14961863.23049 -11629922.10647  21913864.0654   21913866.3464
+     -2952.9924      -2301.0304
+  20446012.0174  -23278839.21849 -18120079.65248  20446011.9594   20446017.1104
+      -936.3544       -729.6214
+  21210729.2314  -16222275.29749 -12618541.59248  21210729.3794   21210733.3114
+     -1319.8934      -1028.4884
+  20667933.0484  -20924849.13549 -16283025.35148  20667932.4324   20667936.2154
+      1365.8414       1064.2914
+  22661326.7314  -13551109.18749 -10547940.50547  22661326.3484   22661331.2904
+      2766.0964       2155.3984
+  24227173.0594   -2213138.74949  -1713326.39845  24227171.3214   24227178.4104
+      3385.3634       2637.9454
+  24040454.6164   -3572663.83249  -2768952.69046  24040454.0954   24040459.8814
+      1097.3494        855.0674
+ 05  1 20 12 50  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23439661.9504   -5159122.45749  -3992987.64546  23439662.0704   23439668.0474
+     -2647.3964      -2062.9064
+  21930754.8644  -14873099.66349 -11560755.72647  21930754.3634   21930757.4644
+     -2964.6004      -2310.0804
+  20451410.3854  -23250473.54749 -18097976.54448  20451409.4014   20451415.0844
+      -954.6964       -743.9154
+  21218317.9774  -16182392.34049 -12587463.98548  21218318.3074   21218322.6904
+     -1338.9814      -1043.3554
+  20660186.7064  -20965557.72849 -16314746.33748  20660185.9504   20660189.8194
+      1348.0384       1050.4234
+  22645545.3814  -13634043.78249 -10612564.88447  22645544.5714   22645548.9294
+      2762.8464       2152.8684
+  24207848.3404   -2314698.76349  -1792464.10345  24207847.0434   24207851.7004
+      3385.3784       2637.9594
+  24034232.8614   -3605350.52949  -2794422.82746  24034233.6934   24034238.9774
+      1081.7454        842.9154
+ 05  1 20 12 50 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23454781.0284   -5079679.72249  -3931084.26246  23454779.9334   23454783.9494
+     -2648.7654      -2063.9754
+  21947711.4924  -14783988.35549 -11491318.38347  21947711.9624   21947714.5734
+     -2976.1654      -2319.0894
+  20456911.9924  -23221557.84549 -18075444.83148  20456912.2534   20456917.1794
+      -973.0174       -758.1954
+  21226017.1004  -16141937.46849 -12555940.73348  21226017.1134   21226021.3994
+     -1358.0144      -1058.1914
+  20652541.9564  -21005731.66549 -16346050.71048  20652540.9884   20652544.5164
+      1330.2094       1036.5274
+  22629782.0474  -13716879.68349 -10677112.33647  22629781.4034   22629785.8974
+      2759.5074       2150.2684
+  24188521.5634   -2416258.28549  -1871601.42045  24188521.0954   24188526.3804
+      3385.2964       2637.8994
+  24028101.7354   -3637568.41349  -2819527.66546  24028101.1814   24028108.5944
+      1066.0924        830.7144
+ 05  1 20 12 51  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23469904.0644   -5000197.12649  -3869149.76846  23469904.1664   23469909.9094
+     -2650.1064      -2065.0164
+  21964734.8954  -14694532.30349 -11421612.41047  21964734.9534   21964737.1114
+     -2987.5794      -2327.9884
+  20462519.1674  -23192093.49549 -18052485.60448  20462518.8624   20462524.1884
+      -991.2814       -772.4254
+  21233823.4824  -16100912.68649 -12523973.39448  21233823.8024   21233827.8494
+     -1376.9784      -1072.9704
+  20644998.9334  -21045369.94349 -16376937.68448  20644998.1424   20645001.7974
+      1312.3324       1022.5974
+  22614037.2234  -13799615.02749 -10741581.44247  22614037.4754   22614041.9614
+      2756.1594       2147.6574
+  24169195.8934   -2517815.80949  -1950737.19645  24169195.1474   24169200.4814
+      3385.1924       2637.8134
+  24022061.1104   -3669315.31649  -2844265.49546  24022060.9074   24022066.8434
+      1050.3284        818.4344
+ 05  1 20 12 51 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23485037.8014   -4920675.16949  -3807184.65646  23485037.9544   23485042.2584
+     -2651.3394      -2065.9834
+  21981823.9434  -14604734.42549 -11351640.06747  21981823.0554   21981825.6084
+     -2998.9294      -2336.8224
+  20468230.4984  -23162082.05949 -18029100.07748  20468230.1254   20468235.1394
+     -1009.4774       -786.6054
+  21241738.5984  -16059319.49149 -12491563.14248  21241738.8054   21241742.9234
+     -1395.9064      -1087.7184
+  20637557.9874  -21084471.62249 -16407406.52648  20637557.2004   20637560.9004
+      1294.4334       1008.6474
+  22598313.2314  -13882248.15049 -10805970.89547  22598312.6964   22598317.6534
+      2752.6874       2144.9534
+  24149870.4044   -2619369.44049  -2029869.94245  24149870.0864   24149874.5904
+      3385.0814       2637.7274
+  24016111.1374   -3700589.23549  -2868634.76746  24016110.2644   24016115.4274
+      1034.5814        806.1664
+ 05  1 20 12 52  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23500178.0074   -4841114.39949  -3745189.29046  23500177.1974   23500182.2354
+     -2652.6734      -2067.0044
+  21998975.4684  -14514597.75249 -11281403.73047  21998975.3934   21998978.1764
+     -3010.1834      -2345.5924
+  20474045.6614  -23131524.99149 -18005289.38048  20474044.6914   20474049.9384
+     -1027.6414       -800.7594
+  21249762.3144  -16017159.63749 -12458711.33548  21249761.6224   21249765.4544
+     -1414.7554      -1102.4074
+  20630219.9354  -21123035.96849 -16437456.66748  20630218.9804   20630222.0284
+      1276.5204        994.6904
+  22582608.7684  -13964777.24149 -10870279.28247  22582607.8714   22582612.8854
+      2749.1964       2142.2304
+  24130546.8154   -2720918.73649  -2108999.30845  24130545.9134   24130550.6604
+      3384.8354       2637.5324
+  24010249.4734   -3731388.30249  -2892634.04646  24010248.1384   24010256.4434
+      1018.6604        793.7574
+ 05  1 20 12 52 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23515325.8224   -4761515.35949  -3683164.10246  23515326.2884   23515328.6974
+     -2653.9334      -2067.9944
+  22016192.5414  -14424125.01349 -11210905.53647  22016191.5914   22016194.7104
+     -3021.3254      -2354.2814
+  20479962.7544  -23100423.91649 -17981054.78948  20479962.6734   20479968.8424
+     -1045.7684       -814.8844
+  21257891.6554  -15974434.88749 -12425419.34348  21257891.8304   21257895.9784
+     -1433.5594      -1117.0584
+  20622983.4774  -21161061.90249 -16467087.26448  20622982.6264   20622986.1614
+      1258.5524        980.6894
+  22566923.9144  -14047200.42149 -10934505.15547  22566922.8984   22566928.6444
+      2745.6624       2139.4784
+  24111225.4934   -2822461.73649  -2188123.76745  24111223.7584   24111227.8104
+      3384.6414       2637.3854
+  24004480.3544   -3761710.60549  -2916261.80446  24004478.7144   24004485.4654
+      1002.8074        781.4104
+ 05  1 20 12 53  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23530479.0754   -4681878.88549  -3621109.75746  23530477.7114   23530483.2094
+     -2655.1844      -2068.9854
+  22033471.1944  -14333319.33849 -11140147.90447  22033471.4184   22033474.3444
+     -3032.3974      -2362.9104
+  20485984.5274  -23068780.49249 -17956397.58548  20485984.3974   20485990.0874
+     -1063.7984       -828.9334
+  21266129.0454  -15931146.77949 -12391688.37247  21266129.1764   21266133.3474
+     -1452.3094      -1131.6724
+  20615850.8074  -21198548.90449 -16496297.92748  20615849.5184   20615852.7714
+      1240.5834        966.6874
+  22551259.4204  -14129515.92549 -10998647.10047  22551258.6924   22551264.3664
+      2742.0164       2136.6314
+  24091903.0784   -2923996.24949  -2267241.61746  24091902.8154   24091906.6884
+      3384.3374       2637.1484
+  23998800.0494   -3791554.44849  -2939516.73746  23998799.6334   23998804.3814
+       986.7714        768.9074
+ 05  1 20 12 53 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23545643.2514   -4602205.39949  -3559026.55946  23545640.9974   23545646.8334
+     -2656.3984      -2069.9224
+  22050814.4624  -14242183.80649 -11069133.23947  22050814.1234   22050816.6394
+     -3043.3474      -2371.4354
+  20492109.4334  -23036596.22749 -17931318.95648  20492109.3174   20492114.5434
+     -1081.8064       -842.9654
+  21274473.0764  -15887297.23949 -12357519.92647  21274473.2404   21274477.8174
+     -1470.9974      -1146.2324
+  20608818.5114  -21235496.01849 -16525087.88648  20608818.1054   20608822.1244
+      1222.5674        952.6484
+  22535615.1344  -14211722.04349 -11062703.83547  22535614.9884   22535621.4294
+      2738.3594       2133.7824
+  24072582.0284   -3025521.61649  -2346352.30646  24072582.1564   24072586.7654
+      3384.0564       2636.9244
+  23993211.5944   -3820917.71249  -2962397.16646  23993212.1854   23993218.3194
+       970.7904        756.4624
+ 05  1 20 12 54  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23560808.1714   -4522495.35949  -3496914.89646  23560807.5664   23560813.1304
+     -2657.6314      -2070.8764
+  22068219.8874  -14150721.45249 -10997863.90847  22068218.5654   22068221.6094
+     -3054.1884      -2379.8904
+  20498336.4184  -23003872.76149 -17905820.15848  20498336.1914   20498341.5724
+     -1099.7654       -856.9614
+  21282924.0524  -15842887.82549 -12322915.20147  21282924.1564   21282928.4404
+     -1489.6594      -1160.7764
+  20601890.8184  -21271902.50349 -16553456.58648  20601890.0624   20601894.0594
+      1204.5064        938.5744
+  22519993.6804  -14293816.93449 -11126673.89747  22519993.1514   22519999.0244
+      2734.5954       2130.8544
+  24053263.9624   -3127036.73549  -2425455.02446  24053264.7314   24053269.6104
+      3383.6034       2636.5784
+  23987717.4204   -3849798.65749  -2984901.82046  23987716.2124   23987722.3954
+       954.6664        743.8934
+ 05  1 20 12 54 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23575983.4914   -4442749.56049  -3434775.35146  23575983.6914   23575988.4474
+     -2658.7964      -2071.7864
+  22085684.2784  -14058935.00449 -10926342.05147  22085684.5924   22085688.1134
+     -3064.8894      -2388.2284
+  20504666.3684  -22970611.82049 -17879902.54848  20504665.5464   20504670.9004
+     -1117.6404       -870.8864
+  21291482.1094  -15797920.21449 -12287875.52847  21291481.6594   21291485.7564
+     -1508.1984      -1175.2174
+  20595066.3384  -21307767.43749 -16581403.28948  20595065.4474   20595069.1294
+      1186.4724        924.5264
+  22504393.6644  -14375798.79549 -11190555.87647  22504392.6754   22504397.9504
+      2730.8354       2127.9344
+  24033950.5654   -3228538.77849  -2504547.56446  24033949.5894   24033953.7064
+      3383.1814       2636.2464
+  23982312.9764   -3878195.51049  -3007029.20946  23982313.0464   23982319.0184
+       938.4834        731.2874
+ 05  1 20 12 55  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23591165.9904   -4362968.52149  -3372608.36846  23591165.8604   23591171.6404
+     -2659.9104      -2072.6534
+  22103213.5804  -13966827.75749 -10854570.20647  22103213.1014   22103215.3104
+     -3075.5744      -2396.5514
+  20511097.0884  -22936814.96849 -17853567.34748  20511096.8024   20511101.8094
+     -1135.4724       -884.7814
+  21300144.3584  -15752396.41949 -12252402.46247  21300144.5704   21300148.5514
+     -1526.7094      -1189.6444
+  20588344.7304  -21343090.24449 -16608927.56148  20588343.7244   20588347.2854
+      1168.3894        910.4374
+  22488814.5014  -14457665.61249 -11254348.21547  22488814.1774   22488819.5844
+      2726.9554       2124.9034
+  24014638.5754   -3330026.33649  -2583628.83646  24014637.1904   24014641.1104
+      3382.6884       2635.8654
+  23977001.9224   -3906106.22049  -3028777.82446  23977001.2344   23977007.7994
+       922.1984        718.6044
+ 05  1 20 12 55 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23606355.8914   -4283152.75049  -3310414.29246  23606354.0844   23606359.2124
+     -2661.1164      -2073.5954
+  22120801.3744  -13874402.46149 -10782550.53247  22120800.6084   22120803.6124
+     -3086.1124      -2404.7644
+  20517630.0374  -22902483.96949 -17826815.93348  20517629.8924   20517634.9924
+     -1153.2584       -898.6414
+  21308912.7534  -15706318.21749 -12216497.40047  21308912.8484   21308917.1044
+     -1545.1684      -1204.0234
+  20581725.3984  -21377870.08349 -16636028.73648  20581725.1054   20581729.0734
+      1150.2744        896.3164
+  22473258.7964  -14539415.79449 -11318049.66547  22473258.0674   22473263.2534
+      2723.0214       2121.8304
+  23995325.6794   -3431497.40549  -2662697.23946  23995327.7484   23995332.7444
+      3382.0794       2635.3894
+  23971782.3384   -3933529.10349  -3050146.28546  23971781.8254   23971789.6124
+       905.9404        705.9294
+ 05  1 20 12 56  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23621549.9654   -4203302.86849  -3248193.68346  23621549.7374   23621553.9334
+     -2662.2144      -2074.4454
+  22138449.0684  -13781662.07949 -10710285.35847  22138449.3934   22138451.1074
+     -3096.5534      -2412.9014
+  20524264.8434  -22867620.31349 -17799649.45248  20524264.2064   20524269.5854
+     -1170.9854       -912.4554
+  21317786.5254  -15659687.62849 -12180161.89847  21317786.4914   21317790.1034
+     -1563.5554      -1218.3524
+  20575211.7884  -21412106.05649 -16662706.12648  20575210.8164   20575214.0104
+      1132.1414        882.1884
+  22457725.1224  -14621047.29649 -11381658.63347  22457724.3624   22457728.7144
+      2719.0414       2118.7314
+  23976023.6224   -3532951.47649  -2741752.37846  23976021.2224   23976025.9184
+      3381.5064       2634.9394
+  23966656.4744   -3960462.65049  -3071133.48146  23966657.0614   23966663.9754
+       889.5894        693.1794
+ 05  1 20 12 56 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23636751.3064   -4123419.40649  -3185946.85646  23636751.0754   23636756.3034
+     -2663.3514      -2075.3424
+  22156156.7414  -13688609.89649 -10637777.19247  22156155.7984   22156158.7054
+     -3106.9264      -2420.9794
+  20530999.7294  -22832225.74649 -17772069.28148  20530999.6864   20531004.8704
+     -1188.6694       -926.2334
+  21326764.4724  -15612506.15249 -12143397.13247  21326764.4714   21326768.6784
+     -1581.8804      -1232.6364
+  20568800.6374  -21445797.68749 -16688959.34148  20568799.5314   20568802.9514
+      1113.9584        868.0214
+  22442214.2904  -14702558.36049 -11445173.76247  22442213.4164   22442217.8444
+      2715.0064       2115.5904
+  23956718.9484   -3634386.57349  -2820792.75146  23956719.4894   23956723.2394
+      3380.8284       2634.4134
+  23961627.4134   -3986904.92549  -3091737.84346  23961625.6524   23961632.6404
+       873.1354        680.3654
+ 05  1 20 12 57  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23651958.6374   -4043503.04749  -3123674.40846  23651958.3874   23651962.7924
+     -2664.3924      -2076.1414
+  22173921.4504  -13595248.67049 -10565028.23147  22173921.4514   22173925.0604
+     -3117.1504      -2428.9444
+  20537835.6734  -22796302.06249 -17744076.80448  20537835.6044   20537840.8324
+     -1206.2674       -939.9524
+  21335846.9754  -15564776.12249 -12106204.91347  21335847.1774   21335851.5064
+     -1600.1344      -1246.8584
+  20562492.8254  -21478944.15749 -16714787.76348  20562491.8944   20562495.5884
+      1095.7854        853.8564
+  22426726.1904  -14783947.09549 -11508593.55847  22426725.9394   22426730.1074
+      2710.8974       2112.3884
+  23937419.3024   -3735800.92449  -2899816.97246  23937420.3904   23937425.1384
+      3380.1454       2633.8944
+  23956688.0924   -4012854.29949  -3111958.12746  23956687.9084   23956693.4994
+       856.7294        667.5694
+ 05  1 20 12 57 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23667173.1684   -3963553.96449  -3061376.44946  23667172.2074   23667176.9924
+     -2665.4724      -2076.9804
+  22191747.0354  -13501581.55549 -10492040.91447  22191746.4114   22191750.0754
+     -3127.3044      -2436.8534
+  20544772.5894  -22759851.06349 -17715673.44248  20544771.8774   20544777.3834
+     -1223.8124       -953.6174
+  21345034.1374  -15516498.87249 -12068586.30847  21345034.3674   21345038.4914
+     -1618.3334      -1261.0384
+  20556289.3024  -21511544.98449 -16740191.01048  20556288.1774   20556291.5344
+      1077.5804        839.6744
+  22411261.6834  -14865211.75049 -11571916.65947  22411260.9754   22411265.5644
+      2706.7204       2109.1334
+  23918127.6444   -3837193.30249  -2978824.05146  23918126.1524   23918129.8904
+      3379.3784       2633.2934
+  23951844.1344   -4038308.93249  -3131792.91646  23951843.7454   23951849.9374
+       840.2344        654.7344
+ 05  1 20 12 58  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23682392.7544   -3883572.92649  -2999053.60846  23682392.1884   23682397.4984
+     -2666.5764      -2077.8584
+  22209627.8604  -13407611.48449 -10418817.51647  22209627.7254   22209631.1424
+     -3137.3434      -2444.6904
+  20551808.5504  -22722874.34249 -17686860.42448  20551808.4094   20551813.8334
+     -1241.3184       -967.2624
+  21354325.0194  -15467676.67149 -12030543.04347  21354324.8244   21354329.0954
+     -1636.4924      -1275.1924
+  20550189.2524  -21543599.46149 -16765168.52848  20550188.5004   20550191.7254
+      1059.3754        825.4854
+  22395820.5394  -14946350.36849 -11635141.56247  22395820.7054   22395825.4064
+      2702.4834       2105.8274
+  23898834.2984   -3938561.67449  -3057812.42246  23898834.5194   23898841.3634
+      3378.5354       2632.6244
+  23947094.6444   -4063267.31749  -3151241.01546  23947094.3664   23947101.3454
+       823.6754        641.8314
+ 05  1 20 12 58 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23697617.5014   -3803560.60349  -2936706.36546  23697617.4204   23697622.9804
+     -2667.6024      -2078.6434
+  22227568.3684  -13313341.46049 -10345360.40947  22227567.4874   22227570.1314
+     -3147.2634      -2452.4064
+  20558944.6934  -22685373.78949 -17657639.22448  20558944.7694   20558949.8074
+     -1258.7214       -980.8234
+  21363719.0124  -15418311.48049 -11992076.69747  21363719.3264   21363723.0804
+     -1654.5264      -1289.2424
+  20544193.3234  -21575107.15049 -16789719.97348  20544192.6984   20544196.0074
+      1041.1534        811.2894
+  22380405.6354  -15027361.09249 -11698266.80547  22380404.8154   22380409.8974
+      2698.1994       2102.4984
+  23879549.2624   -4039905.39549  -3136781.58745  23879550.0474   23879555.6264
+      3377.7364       2631.9984
+  23942439.0274   -4087727.52949  -3170300.91746  23942438.7084   23942445.1994
+       807.0324        628.8644
+ 05  1 20 12 59  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23712850.2194   -3723517.30549  -2874335.02946  23712850.7254   23712853.6214
+     -2668.6424      -2079.4574
+  22245564.0374  -13218774.92949 -10271672.23847  22245563.0324   22245565.8794
+     -3157.1454      -2460.1164
+  20566180.3044  -22647351.33649 -17628011.34348  20566180.1554   20566185.2354
+     -1276.1004       -994.3664
+  21373215.3694  -15368405.28549 -11953188.77847  21373215.6554   21373219.4954
+     -1672.5464      -1303.2874
+  20538301.8464  -21606067.44849 -16813844.88348  20538301.0334   20538304.4924
+      1022.8664        797.0354
+  22365013.0404  -15108241.86749 -11761290.80347  22365013.8424   22365018.7944
+      2693.8034       2099.0674
+  23860270.4074   -4141221.23849  -3215729.03745  23860270.6594   23860276.5214
+      3376.7004       2631.1934
+  23937881.6404   -4111687.98749  -3188971.41846  23937880.8204   23937886.8094
+       790.3254        615.8454
+ 05  1 20 12 59 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23728087.2104   -3643443.76349  -2811940.08646  23728086.8464   23728091.6874
+     -2669.6084      -2080.1984
+  22263613.3374  -13123914.41049 -10197755.01347  22263613.4374   22263616.8084
+     -3166.8884      -2467.7084
+  20573514.9374  -22608808.62749 -17597978.07348  20573514.5954   20573519.9814
+     -1293.4144      -1007.8554
+  21382814.6694  -15317960.05349 -11913880.82247  21382815.0064   21382819.2194
+     -1690.4634      -1317.2414
+  20532514.7504  -21636479.70949 -16837542.75448  20532513.8014   20532517.4284
+      1004.5994        782.8034
+  22349647.5334  -15188990.92549 -11824212.15247  22349647.8704   22349652.7854
+      2689.4194       2095.6534
+  23840998.2744   -4242508.48249  -3294654.19745  23840995.9214   23841003.0834
+      3375.7804       2630.4814
+  23933416.1644   -4135147.13449  -3207251.27446  23933415.5364   23933422.2574
+       773.6024        602.8074
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 13  0  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23743331.1944   -3563340.15249  -2749521.71946  23743330.0224   23743335.7434
+     -2670.6224      -2081.0014
+  22281721.6454  -13028763.03049 -10123611.11247  22281720.4994   22281723.5714
+     -3176.5154      -2475.2054
+  20580947.7954  -22569747.33949 -17567540.71548  20580947.2604   20580952.9294
+     -1310.6564      -1021.2904
+  21392517.0134  -15266977.90249 -11874154.50347  21392516.9224   21392520.8284
+     -1708.3314      -1331.1664
+  20526832.1674  -21666343.49149 -16860813.23548  20526831.0904   20526834.5454
+       986.3194        768.5604
+  22334307.5524  -15269606.26049 -11887029.30047  22334306.6304   22334312.9774
+      2684.9204       2092.1434
+  23821727.8964   -4343765.25049  -3373555.61045  23821727.8644   23821733.9374
+      3374.7284       2629.6564
+  23929049.0964   -4158103.49749  -3225139.35446  23929047.4574   23929052.8114
+       756.8164        589.7444
+ 05  1 20 13  0 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23758579.5044   -3483207.06449  -2687080.40846  23758579.4714   23758584.3154
+     -2671.5524      -2081.7184
+  22299882.8994  -12933324.17249 -10049243.21347  22299881.8464   22299884.7434
+     -3186.0354      -2482.6314
+  20588478.8914  -22530169.41849 -17536700.79448  20588478.8884   20588484.3144
+     -1327.8444      -1034.6824
+  21402319.9784  -15215460.74349 -11834011.29047  21402320.1444   21402324.2464
+     -1726.1354      -1345.0394
+  20521253.3714  -21695658.01049 -16883655.71848  20521252.7034   20521255.8454
+       968.0114        754.2924
+  22318989.9524  -15350086.13749 -11949740.89647  22318991.9374   22318998.0514
+      2680.3864       2088.6084
+  23802464.2624   -4444989.75549  -3452431.87546  23802465.9574   23802471.8624
+      3373.6844       2628.8484
+  23924775.8044   -4180555.36649  -3242634.29746  23924774.9194   23924782.4564
+       740.0094        576.6464
+ 05  1 20 13  1  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23773835.2904   -3403045.15449  -2624616.65046  23773834.9334   23773838.2574
+     -2672.5644      -2082.5244
+  22318097.3894  -12837600.58649  -9974653.46747  22318097.0534   22318100.3734
+     -3195.4954      -2489.9954
+  20596108.5444  -22490076.78349 -17505459.79148  20596108.4434   20596113.6704
+     -1344.9934      -1048.0494
+  21412224.7554  -15163410.46149 -11793452.65547  21412224.7764   21412228.9924
+     -1743.8614      -1358.8534
+  20515779.8644  -21724423.07949 -16906070.06748  20515778.8784   20515782.1684
+       949.6704        740.0044
+  22303703.5294  -15430428.59949 -12012345.42747  22303703.4984   22303709.1174
+      2675.7564       2085.0064
+  23783208.7354   -4546180.39049  -3531281.77145  23783209.3124   23783215.9404
+      3372.3904       2627.8404
+  23920598.8164   -4202501.24349  -3259735.01046  23920598.4634   23920605.6044
+       723.0454        563.4154
+ 05  1 20 13  1 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23789093.1644   -3322854.93549  -2562130.81546  23789093.7914   23789098.8504
+     -2673.4934      -2083.2584
+  22336366.9824  -12741595.21449  -9899844.12747  22336366.7554   22336369.9474
+     -3204.8424      -2497.2814
+  20603835.8814  -22449471.15649 -17473819.05048  20603835.5754   20603840.6074
+     -1362.0504      -1061.3384
+  21422230.6224  -15110829.43149 -11752480.45147  21422230.9894   21422234.8704
+     -1761.5264      -1372.6224
+  20510410.3134  -21752638.16149 -16928055.83948  20510409.5594   20510413.0124
+       931.3254        725.7044
+  22288442.0374  -15510631.57949 -12074841.26347  22288441.5304   22288446.7824
+      2671.0944       2081.3734
+  23763958.4094   -4647335.26449  -3610103.74546  23763960.7014   23763967.0914
+      3371.2214       2626.9294
+  23916520.3034   -4223939.48149  -3276440.12846  23916519.1724   23916525.9444
+       706.1244        550.2314
+ 05  1 20 13  2  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23804359.3014   -3242636.90149  -2499623.26046  23804359.1714   23804363.1394
+     -2674.3754      -2083.9244
+  22354689.1524  -12645311.28749  -9824817.74747  22354689.8124   22354691.3724
+     -3214.0734      -2504.4784
+  20611660.3744  -22408354.44549 -17441780.05948  20611659.9744   20611664.6674
+     -1379.0594      -1074.5894
+  21432336.5604  -15057719.73149 -11711096.30347  21432337.1684   21432341.5234
+     -1779.1094      -1386.3184
+  20505146.2084  -21780302.87649 -16949612.76548  20505145.2274   20505148.7844
+       912.9764        711.4094
+  22273206.2394  -15590693.21349 -12137226.96047  22273206.3634   22273211.6454
+      2666.3474       2077.6764
+  23744721.4894   -4748452.44149  -3688896.38346  23744719.4544   23744725.7034
+      3369.9584       2625.9404
+  23912537.7464   -4244868.21049  -3292748.24646  23912537.1364   23912543.2694
+       689.1304        537.0034
+ 05  1 20 13  2 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23819629.6054   -3162391.33449  -2437094.31146  23819627.8854   23819633.5864
+     -2675.2774      -2084.6334
+  22373064.4144  -12548751.94049  -9749576.74247  22373064.2224   22373066.1654
+     -3223.2094      -2511.5924
+  20619581.5674  -22366728.50749 -17409344.28048  20619580.8214   20619586.0824
+     -1396.0074      -1087.7974
+  21442543.9134  -15004083.32849 -11669301.73147  21442543.8294   21442547.9054
+     -1796.6554      -1399.9934
+  20499986.1604  -21807416.69749 -16970740.41548  20499985.4564   20499989.2244
+       894.6114        697.0994
+  22257999.4194  -15670611.48149 -12199500.93647  22257998.3204   22258004.0944
+      2661.5314       2073.9114
+  23725483.3794   -4849530.71849  -3767658.69446  23725483.8224   23725490.5594
+      3368.6444       2624.9134
+  23908652.7334   -4265286.04349  -3308658.22646  23908652.0304   23908658.4784
+       672.0194        523.6414
+ 05  1 20 13  3  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23834903.6454   -3082118.80849  -2374544.34646  23834904.7644   23834909.2344
+     -2676.1894      -2085.3574
+  22391490.7594  -12451920.32749  -9674123.59347  22391490.4364   22391493.0774
+     -3232.2404      -2518.6274
+  20627598.6614  -22324595.34849 -17376513.25048  20627598.3744   20627603.9124
+     -1412.8744      -1100.9404
+  21452850.6314  -14949922.34349 -11627098.40447  21452850.6654   21452854.7694
+     -1814.0914      -1413.5744
+  20494931.5454  -21833979.20349 -16991438.47648  20494930.7804   20494934.2844
+       876.2084        682.7614
+  22242818.2454  -15750384.60549 -12261661.81247  22242817.9634   22242823.2204
+      2656.6504       2070.1204
+  23706257.6764   -4950568.91549  -3846389.77846  23706257.5944   23706263.7734
+      3367.2634       2623.8374
+  23904862.4394   -4285191.63549  -3324169.10746  23904863.2394   23904870.0914
+       654.9654        510.3614
+ 05  1 20 13  3 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23850184.3014   -3001819.62949  -2311973.60746  23850184.8654   23850189.5674
+     -2677.1024      -2086.0574
+  22409969.3514  -12354819.29749  -9598460.49747  22409968.5524   22409971.0314
+     -3241.1854      -2525.5954
+  20635712.2224  -22281956.91549 -17343288.50848  20635711.8344   20635718.0364
+     -1429.6924      -1114.0414
+  21463256.0744  -14895239.07049 -11584488.08947  21463256.1634   21463260.8684
+     -1831.4654      -1427.1084
+  20489982.0404  -21859990.00449 -17011706.63548  20489980.9004   20489984.6234
+       857.8154        668.4304
+  22227666.2884  -15830010.51649 -12323707.98147  22227665.6094   22227670.6774
+      2651.7234       2066.2724
+  23687038.2644   -5051564.37649  -3925087.55446  23687038.4344   23687044.9214
+      3365.7624       2622.6754
+  23901173.9644   -4304583.76149  -3339279.85046  23901172.4074   23901178.6034
+       637.7834        496.9564
+ 05  1 20 13  4  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  23865469.5244   -2921494.41249  -2249382.60745  23865468.7634   23865474.5824
+     -2677.9344      -2086.6984
+  22428497.3534  -12257451.90349  -9522589.86047  22428496.4724   22428499.4184
+     -3249.9904      -2532.4624
+  20643922.0874  -22238815.13449 -17309671.55948  20643921.6604   20643927.4094
+     -1446.4414      -1127.0964
+  21473760.9284  -14840035.68449 -11541472.47647  21473760.9494   21473765.4544
+     -1848.7574      -1440.5894
+  20485137.5904  -21885449.00449 -17031544.81748  20485136.6974   20485140.0734
+       839.4204        654.0924
+                    -40576.80341    -10724.167 3                  25014515.016
+      3225.6024       2513.496
+  22212541.7254  -15909487.19649 -12385637.86347  22212541.9294   22212546.6384
+      2646.7074       2062.3734
+  23667828.3234   -5152515.28749  -4003750.62346  23667829.0064   23667833.6354
+      3364.2644       2621.5054
+  23897582.0324   -4323460.83349  -3353989.27746  23897580.9894   23897587.6414
+       620.5854        483.5694
+ 05  1 20 13  4 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  23880761.1054   -2841143.69849  -2186771.70545  23880758.5754   23880763.5864
+     -2678.7884      -2087.3784
+  22447075.8024  -12159821.29249  -9446514.11247  22447075.5884   22447078.4584
+     -3258.7024      -2539.2494
+  20652226.9024  -22195171.81449 -17275663.78848  20652226.9554   20652232.3044
+     -1463.1124      -1140.0874
+  21484363.4264  -14784314.43949 -11498053.35547  21484364.2564   21484368.8224
+     -1865.9974      -1454.0224
+  20480398.0634  -21910355.60549 -17050952.56248  20480397.1534   20480400.3074
+       821.0084        639.7464
+                   -137409.46841    -94973.460 4                  24993968.165
+      3229.8014       2516.747
+  22197446.4754  -15988812.74349 -12447449.99147  22197446.5724   22197452.0274
+      2641.6274       2058.4074
+  23648627.8844   -5253420.09449  -4082377.76246  23648627.1524   23648632.9344
+      3362.6924       2620.2774
+  23894089.0724   -4341821.39149  -3368296.18346  23894087.7744   23894094.1264
+       603.3854        470.1734
+ 05  1 20 13  5  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  23896053.4704   -2760767.90149  -2124141.25845  23896054.2244   23896059.8124
+     -2679.5704      -2087.9724
+  22465702.5974  -12061930.67949  -9370235.76047  22465703.1824   22465706.1004
+     -3267.3174      -2545.9584
+  20660628.0884  -22151029.17049 -17241266.92748  20660627.3944   20660632.5734
+     -1479.7374      -1153.0414
+  21495065.4434  -14728077.25149 -11454232.20147  21495065.8074   21495069.9764
+     -1883.1554      -1467.3914
+  20475763.6344  -21934709.47349 -17069929.59848  20475762.6634   20475766.1714
+       802.5874        625.3934
+                   -234368.88541   -169265.567 4                  24975816.743
+      3234.0794       2519.806
+  22182381.4644  -16067985.28549 -12509142.87947  22182381.0604   22182386.1654
+      2636.4734       2054.3964
+  23629432.9614   -5354277.34849  -4160967.84446  23629433.6684   23629440.5334
+      3361.0854       2619.0304
+  23890690.9984   -4359663.98549  -3382199.52246  23890690.1814   23890698.3254
+       586.1134        456.6974
+ 05  1 20 13  5 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23911352.6044   -2680367.36149  -2061491.54345  23911353.6044   23911358.6164
+     -2680.4244      -2088.6484
+  22484380.3194  -11963782.99749  -9293757.09947  22484380.1444   22484383.4534
+     -3275.8324      -2552.5934
+  20669122.1674  -22106388.95049 -17206482.34148  20669121.7944   20669126.9694
+     -1496.2704      -1165.9264
+  21505866.0214  -14671326.52249 -11410010.88347  21505865.7064   21505869.6594
+     -1900.2134      -1480.6864
+  20471234.6424  -21958510.54549 -17088475.88748  20471233.4554   20471236.8064
+       784.1624        611.0324
+  22167344.8264  -16147002.68749 -12570714.89347  22167344.4264   22167349.4724
+      2631.3094       2050.3734
+  23610249.9794   -5455085.21949  -4239519.45346  23610251.2174   23610257.4354
+      3359.4184       2617.7274
+  23887396.8884   -4376987.39549  -3395698.26746  23887395.3904   23887401.7814
+       568.8264        443.2454
+ 05  1 20 13  6  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  23926659.2974   -2599942.60249  -1998822.92045  23926658.8674   23926663.5184
+     -2681.2564      -2089.2924
+  22503107.5954  -11865381.36749  -9217080.55647  22503106.4914   22503109.0114
+     -3284.2674      -2559.1614
+  20677710.7834  -22061253.19949 -17171311.63948  20677710.6404   20677716.3734
+     -1512.7514      -1178.7684
+  21516760.7674  -14614064.56249 -11365391.20547  21516761.9724   21516766.7314
+     -1917.2104      -1493.9354
+  20466810.7844  -21981758.17749 -17106590.92448  20466809.6254   20466812.9164
+       765.7294        596.6724
+  24938242.1364     -97166.43049    -66301.94043
+      3242.1954       2526.2844
+  22152337.7144  -16225862.98849 -12632164.48947  22152337.8144   22152342.5454
+      2626.0194       2046.2474
+  23591079.5364   -5555841.35049  -4318030.73246  23591078.7094   23591084.4804
+      3357.6634       2616.3644
+  23884198.8714   -4393790.18749  -3408791.35646  23884198.3604   23884204.4954
+       551.4074        429.6654
+ 05  1 20 13  6 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  23941968.6314   -2519493.94849  -1936135.69545  23941968.0434   23941973.4944
+     -2682.0144      -2089.8904
+  22521878.0424  -11766728.85449  -9140208.51847  22521878.4944   22521881.3294
+     -3292.5504      -2565.6264
+  20686393.8104  -22015624.09349 -17135756.50748  20686393.6354   20686399.1714
+     -1529.1904      -1191.5744
+  21527755.5594  -14556293.51549 -11320374.83347  21527755.8724   21527760.0334
+     -1934.1734      -1507.1464
+  20462491.8604  -22004452.42549 -17124274.75748  20462491.0754   20462494.5224
+       747.2444        582.2674
+                   -194491.89141    -87779.728 4                  24932994.427
+      3246.1474       2527.263
+  22137362.2874  -16304564.19349 -12693490.11047  22137361.2404   22137366.3234
+      2620.6914       2042.0974
+  23571915.4754   -5656543.92349  -4396500.28346  23571914.5804   23571920.5104
+      3355.8574       2614.9464
+  23881101.9944   -4410071.05749  -3421477.74546  23881101.0074   23881104.7364
+       533.9744        416.0974
+ 05  1 20 13  7  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  23957282.7944   -2439021.88649  -1873430.19145  23957282.4474   23957284.9934
+     -2682.7864      -2090.4984
+  22540698.9334  -11667828.73049  -9063143.54747  22540698.5194   22540701.4884
+     -3300.7774      -2572.0304
+  20695170.1314  -21969503.43849 -17099818.34148  20695170.1394   20695175.9034
+     -1545.5504      -1204.3254
+  21538845.3774  -14498015.58649 -11274963.50047  21538845.5514   21538850.1264
+     -1951.0294      -1520.2854
+  20458278.2924  -22026593.21549 -17141527.32248  20458277.6504   20458281.2074
+       728.7924        567.8894
+                   -291934.34941    -87779.728 4                  24932994.427
+      3250.0174       2527.263
+  22122416.4764  -16383104.27849 -12754690.17447  22122415.7394   22122421.2964
+      2615.2734       2037.8734
+  23552760.7394   -5757191.62349  -4474927.08146  23552761.7404   23552768.0834
+      3353.9944       2613.4974
+  23878101.3904   -4425828.56349  -3433756.30246  23878100.4104   23878107.0334
+       516.4834        402.4644
+ 05  1 20 13  7 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23972597.7664   -2358526.88349  -1810706.87445  23972597.6134   23972605.0854
+     -2683.5244      -2091.0604
+  22559565.9614  -11568683.78049  -8985887.79647  22559564.9214   22559568.4874
+     -3308.8844      -2578.3434
+  20704040.9704  -21922893.36649 -17063498.81348  20704040.0864   20704045.2564
+     -1561.8314      -1217.0144
+  21550031.1214  -14439233.26549 -11229159.12347  21550031.4844   21550035.8484
+     -1967.8104      -1533.3584
+  20454170.3774  -22048179.99349 -17158348.18548  20454169.7544   20454173.2714
+       710.3064        553.4874
+  22107501.8544  -16461481.27749 -12815763.17147  22107501.4344   22107506.3764
+      2609.7844       2033.5994
+  23533622.1724   -5857782.96649  -4553309.94946  23533620.4724   23533626.6054
+      3352.0614       2612.0034
+  23875202.1644   -4441061.64049  -3445626.21246  23875202.0844   23875207.8664
+       498.9924        388.8304
+ 05  1 20 13  8  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  23987920.9224   -2278009.36749  -1747966.01745  23987921.0994   23987925.1634
+     -2684.2984      -2091.6604
+  22578478.2414  -11469297.18049  -8908443.74347  22578477.8394   22578481.0424
+     -3316.9304      -2584.6164
+  20713002.3394  -21875795.79149 -17026799.41348  20713002.2284   20713007.4314
+     -1578.0334      -1229.6334
+  21561312.6114  -14379949.16949 -11182963.75947  21561312.9024   21561317.4704
+     -1984.4814      -1546.3454
+  20450168.0784  -22069212.72849 -17174737.33448  20450167.3174   20450170.9294
+       691.8544        539.1104
+  22092618.0784  -16539693.06449 -12876707.43347  22092617.5424   22092623.2584
+      2604.2894       2029.3254
+  23514489.6184   -5958315.38149  -4631646.90146  23514489.8384   23514495.4364
+      3350.0554       2610.4304
+  23872404.8584   -4455768.90749  -3457086.42046  23872403.6254   23872409.9954
+       481.4524        375.1544
+ 05  1 20 13  8 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  24003249.0284   -2197469.70349  -1685207.86945  24003248.4084   24003252.2864
+     -2685.0514      -2092.2494
+  22597435.8364  -11369672.07449  -8830813.85347  22597436.5474   22597438.8984
+     -3324.6994      -2590.6714
+  20722056.9774  -21828212.67449 -16989721.67448  20722056.8924   20722062.4664
+     -1594.1824      -1242.2204
+  21572688.9724  -14320165.28249 -11136378.94947  21572689.4314   21572693.5564
+     -2001.0994      -1559.3004
+  20446271.4004  -22089691.27249 -17190694.64148  20446270.6084   20446273.9474
+       673.3424        524.6814
+  22077765.3374  -16617737.66449 -12937521.41447  22077765.9964   22077771.7824
+      2598.6504       2024.9214
+  23495373.4054   -6058787.25349  -4709936.68146  23495370.7434   23495375.9714
+      3348.0384       2608.8604
+  23869706.0374   -4469949.12649  -3468135.93446  23869705.4414   23869711.8384
+       463.8734        361.4614
+ 05  1 20 13  9  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  24018579.1884   -2116908.12149  -1622432.67246  24018578.7434   24018582.3954
+     -2685.7374      -2092.7894
+  22616439.7184  -11269811.58049  -8753000.53447  22616438.9244   22616442.4454
+     -3332.5894      -2596.8204
+  20731204.1734  -21780146.28349 -16952267.35648  20731203.6724   20731209.3384
+     -1610.2474      -1254.7334
+  21584160.7314  -14259883.98449 -11089406.54447  21584160.5464   21584164.5534
+     -2017.6524      -1572.1954
+  20442480.2714  -22109615.45449 -17206219.97648  20442479.1324   20442482.5734
+       654.9154        510.3244
+  22062947.3384  -16695613.05749 -12998203.53447  22062946.7134   22062952.8354
+      2593.0084       2020.5254
+  23476264.6854   -6159196.72949  -4788177.83146  23476263.7684   23476269.1164
+      3345.9344       2607.2274
+  23867108.0124   -4483600.99049  -3478773.72946  23867108.2134   23867113.0874
+       446.2224        347.7124
+ 05  1 20 13  9 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24033912.0614   -2036325.34449  -1559640.94746  24033912.4584   24033917.9854
+     -2686.4124      -2093.2954
+  22635486.4614  -11169718.72649  -8675006.16247  22635486.3084   22635488.1754
+     -3340.2484      -2602.7964
+  20740442.5544  -21731598.64849 -16914438.04248  20740442.1994   20740447.3664
+     -1626.2534      -1267.2074
+  21595725.5124  -14199107.53849 -11042048.30647  21595725.8184   21595730.4534
+     -2034.1154      -1585.0264
+  20438794.0704  -22128985.25449 -17221313.32748  20438793.1154   20438796.3264
+       636.4214        495.9134
+                    -56890.36741      -669.499 3                  24813120.748
+      3268.1544       2545.296
+  22048160.1904  -16773317.29049 -13058752.29247  22048160.3414   22048166.1814
+      2587.2904       2016.0794
+  23457169.9284   -6259541.81249  -4866368.80546  23457168.7544   23457174.7234
+      3343.7244       2605.4964
+  23864611.5404   -4496723.31849  -3488998.92146  23864611.0454   23864617.0284
+       428.5554        333.9384
+ 05  1 20 13 10  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24049250.1154   -1955721.56449  -1496832.85746  24049250.3754   24049255.4684
+     -2687.1354      -2093.8614
+  22654576.6194  -11069396.70949  -8596833.21547  22654576.4374   22654579.1994
+     -3347.8714      -2608.7314
+  20749771.4294  -21682571.64949 -16876235.19648  20749771.4474   20749777.2134
+     -1642.1974      -1279.6334
+  21607384.4424  -14137838.48949 -10994306.21647  21607384.6184   21607390.0074
+     -2050.4854      -1597.7804
+  20435214.0424  -22147800.40649 -17235974.48148  20435212.8344   20435216.1534
+       617.9524        481.5194
+                   -154985.61341    -88556.417 4                  24791664.583
+      3271.5244       2548.596
+  22033406.9324  -16850848.16449 -13119165.96447  22033406.7164   22033412.1344
+      2581.4444       2011.5144
+  23438086.2974   -6359820.69949  -4944508.20146  23438086.6314   23438092.4324
+      3341.4804       2603.7474
+  23862214.3994   -4509315.20149  -3498810.76646  23862213.3854   23862220.4034
+       410.8294        320.1234
+ 05  1 20 13 10 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24064592.9104   -1875097.15949  -1434008.69246  24064593.1424   24064598.2924
+     -2687.8554      -2094.4294
+  22673710.3104  -10968848.44549  -8518483.96647  22673709.9934   22673713.3954
+     -3355.3394      -2614.5504
+  20759192.5684  -21633067.54449 -16837660.57648  20759191.8834   20759197.7284
+     -1658.0654      -1292.0024
+  21619137.3774  -14076079.27749 -10946182.19347  21619137.1494   21619141.9574
+     -2066.7844      -1610.4824
+  20431738.3594  -22166060.96549 -17250203.48948  20431737.6534   20431741.3894
+       599.4414        467.0944
+  24770790.8374    -253181.13949   -173998.47044
+      3274.8054       2551.9094
+  22018687.1024  -16928203.71249 -13179443.02247  22018686.6744   22018691.8074
+      2575.5944       2006.9564
+  23419016.7344   -6460031.70049  -5022594.72646  23419017.2734   23419022.6234
+      3339.2954       2602.0464
+  23859920.5024   -4521375.22349  -3508208.15646  23859918.5784   23859925.5964
+       393.1094        306.3184
+ 05  1 20 13 11  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24079940.6714   -1794452.37449  -1371168.64046  24079940.2414   24079944.9174
+     -2688.5074      -2094.9264
+  22692886.4384  -10868076.98249  -8439960.81747  22692887.0414   22692889.4684
+     -3362.7404      -2620.3184
+  20768703.0924  -21583088.44649 -16798715.83648  20768702.7874   20768708.0864
+     -1673.8504      -1304.2944
+  21630983.0954  -14013832.38249 -10897678.15247  21630982.9494   21630986.4574
+     -2083.0084      -1623.1224
+  20428369.7224  -22183766.98149 -17264000.38848  20428368.7424   20428372.0064
+       580.9764        452.7114
+  24752084.6504    -351474.25849    -15995.62743
+      3278.0624       2554.3314
+  22004000.6944  -17005381.88349 -13239581.86647  22004000.3414   22004005.4584
+      2569.6224       2002.3084
+  23399963.1634   -6560173.08949  -5100626.95146  23399960.6214   23399966.2944
+      3336.8234       2600.1184
+  23857727.1214   -4532902.20349  -3517190.24046  23857726.4534   23857731.8274
+       375.3034        292.4624
+ 05  1 20 13 11 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24095289.4084   -1713787.91149  -1308313.26046  24095289.5864   24095294.1554
+     -2689.1204      -2095.4204
+  22712106.3694  -10767085.93249  -8361266.53847  22712104.9594   22712107.6954
+     -3369.9774      -2625.9534
+  20778303.6584  -21532636.47549 -16759402.62948  20778303.4674   20778308.5694
+     -1689.5864      -1316.5614
+  21642919.4114  -13951099.99349 -10848795.81047  21642919.7144   21642925.0094
+     -2099.1484      -1635.6984
+  20425105.3394  -22200918.32249 -17277365.07448  20425104.7604   20425108.4664
+       562.4704        438.2874
+  24733362.3174    -449862.87849    -92662.38644
+      3281.1744       2556.7984
+  21989347.3244  -17082380.53249 -13299580.81347  21989347.8134   21989353.6624
+      2563.6084       1997.6244
+  23380917.1524   -6660242.04649  -5178602.78446  23380917.9074   23380923.1464
+      3334.4054       2598.2334
+  23855633.2384   -4543895.05649  -3525756.08046  23855632.5744   23855639.2004
+       357.4924        278.5614
+ 05  1 20 13 12  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24110644.9544   -1633104.09049  -1245442.82146  24110644.4614   24110648.3854
+     -2689.7854      -2095.9354
+  22731364.5734  -10665877.95049  -8282403.24347  22731364.1504   22731367.4694
+     -3377.2104      -2631.5954
+  20787993.7394  -21481713.77049 -16719722.60748  20787993.8724   20787999.0044
+     -1705.2464      -1328.7624
+  21654948.7064  -13887884.77349 -10799537.22647  21654949.3144   21654954.4964
+     -2115.1944      -1648.2054
+  20421947.6034  -22217514.98149 -17290297.53748  20421946.8144   20421950.1704
+       543.9784        423.8784
+                   -548344.77841   -168123.509 4                  24714942.856
+      3284.3354       2559.096
+  21974730.4384  -17159197.66449 -13359438.32447  21974729.9534   21974735.2074
+      2557.4664       1992.8334
+  23361890.2364   -6760237.66949  -5256521.45946  23361889.5774   23361895.1344
+      3331.8944       2596.2854
+  23853644.9454   -4554352.97049  -3533905.10046  23853642.8094   23853649.3914
+       339.6384        264.6604
+ 05  1 20 13 12 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24126000.7944   -1552401.10049  -1182557.42346  24125999.7374   24126005.4224
+     -2690.4174      -2096.4214
+  22750664.6414  -10564456.21749  -8203373.38947  22750663.8434   22750666.8614
+     -3384.2474      -2637.0754
+  20797773.1634  -21430322.34749 -16679677.35248  20797772.9774   20797778.4314
+     -1720.8414      -1340.9164
+  21667070.9534  -13824189.29549 -10749904.41147  21667071.1144   21667075.8014
+     -2131.1674      -1660.6524
+  20418894.5484  -22233556.98649 -17302797.79948  20418893.6194   20418897.1894
+       525.5024        409.4834
+  24695866.3674    -646916.77249     -9638.15643
+      3287.3064       2561.5324
+  21960146.8004  -17235831.25049 -13419152.80447  21960146.6374   21960152.6064
+      2551.3684       1988.0794
+  23342874.3894   -6860157.32549  -5334380.94946  23342875.1994   23342882.0334
+      3329.4024       2594.3414
+  23851755.7474   -4564274.66849  -3541636.31746  23851755.0634   23851762.3604
+       321.7494        250.7194
+ 05  1 20 13 13  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24141361.2714   -1471679.33249  -1119657.38946  24141361.9884   24141367.1524
+     -2691.0014      -2096.8844
+  22770004.2154  -10462824.04749  -8124179.53847  22770004.3664   22770006.8864
+     -3391.2114      -2642.4884
+  20807641.7454  -21378464.56849 -16639268.70548  20807641.4064   20807646.8204
+     -1736.3454      -1352.9954
+  21679281.8974  -13760015.51749 -10699898.88747  21679282.1444   21679287.1254
+     -2147.0664      -1673.0364
+  20415947.5694  -22249044.38449 -17314865.90548  20415946.7064   20415950.0504
+       507.0114        395.0764
+                   -745576.76641    -76261.380 4                  24679600.508
+      3290.1524       2563.756
+  21945599.3464  -17312279.07449 -13478722.54747  21945599.5804   21945605.0014
+      2545.1064       1983.1984
+  23323877.0914   -6959999.45449  -5412180.00646  23323875.6924   23323882.1134
+      3326.7174       2592.2474
+  23849971.3014   -4573659.22449  -3548948.96446  23849969.8174   23849975.3174
+       303.8654        236.7854
+ 05  1 20 13 13 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24156726.0624   -1390939.29849  -1056743.12846  24156725.1294   24156731.2424
+     -2691.6274      -2097.3704
+  22789383.9404  -10360984.16849  -8044823.84047  22789383.0064   22789386.3724
+     -3398.0834      -2647.8514
+  20817598.7074  -21326142.40349 -16598498.20048  20817597.9864   20817603.7194
+     -1751.7974      -1365.0384
+  21691584.7434  -13695366.69549 -10649523.22747  21691584.5574   21691588.7054
+     -2162.8604      -1685.3424
+  20413105.9434  -22263977.27649 -17326501.92648  20413104.9484   20413108.5424
+       488.5254        380.6704
+  24658302.2974    -844322.38849   -163458.44544
+      3292.9084       2566.2064
+  21931088.5684  -17388539.00649 -13538145.87147  21931087.9294   21931093.4154
+      2538.8364       1978.3164
+  23304892.6214   -7059761.96349  -5489917.03546  23304892.0904   23304898.2234
+      3324.0894       2590.2014
+  23848287.8614   -4582505.63549  -3555842.27946  23848286.5844   23848291.4644
+       285.8704        222.7614
+ 05  1 20 13 14  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  24172093.8474   -1310181.13949   -993814.76546  24172092.9834   24172097.7544
+     -2692.2714      -2097.8624
+  22808801.7754  -10258939.89949  -7965308.88346  22808801.3124   22808804.1304
+     -3404.8564      -2653.1354
+  20827642.4674  -21273357.89649 -16557367.42148  20827642.4054   20827648.1374
+     -1767.1604      -1377.0104
+  21703977.1624  -13630245.10649 -10598779.15747  21703977.2334   21703981.5974
+     -2178.5744      -1697.5844
+  20410369.9504  -22278355.81249 -17337705.98248  20410369.0074   20410372.0984
+       470.0444        366.2704
+  21916612.3314  -17464609.11949 -13597421.28347  21916611.9704   21916617.6804
+      2532.4764       1973.3624
+  23285923.9464   -7159442.90849  -5567590.51246  23285923.4434   23285929.2814
+      3321.3014       2588.0184
+  23846705.2434   -4590812.97249  -3562315.54146  23846706.4014   23846712.1814
+       267.8724        208.7324
+ 05  1 20 13 14 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  24187464.7684   -1229405.16649   -930872.50846  24187464.1104   24187469.6854
+     -2692.8644      -2098.3204
+  22828258.1714  -10156694.24149  -7885636.98146  22828258.3094   22828261.9224
+     -3411.5244      -2658.3294
+  20837775.6874  -21220113.35449 -16515878.18148  20837774.6804   20837780.0784
+     -1782.4604      -1388.9294
+  21716458.9144  -13564653.23649 -10547668.63547  21716458.7584   21716463.4924
+     -2194.2154      -1709.7734
+  20407738.7864  -22292179.99349 -17348478.06448  20407737.9474   20407741.6614
+       451.5674        351.8704
+  21902173.5584  -17540487.14249 -13656547.01847  21902172.9704   21902178.0504
+      2526.0164       1968.3244
+  23266969.4934   -7259040.32449  -5645198.87946  23266969.8404   23266976.7294
+      3318.5004       2585.8474
+  23845227.7894   -4598580.12849  -3568367.90446  23845227.3934   23845233.7474
+       249.8854        194.7144
+ 05  1 20 13 15  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  24202840.2084   -1148611.85449   -867916.75346  24202840.2964   24202844.5564
+     -2693.3844      -2098.7354
+  22847754.8614  -10054250.45349  -7805810.71447  22847753.6474   22847756.5994
+     -3418.0544      -2663.4154
+  20847993.9404  -21166411.06949 -16474032.26648  20847993.7114   20847999.3674
+     -1797.6864      -1400.7994
+  21729029.0034  -13498593.53249 -10496193.58647  21729029.2264   21729034.2274
+     -2209.7534      -1721.8884
+  20405213.8134  -22305449.88249 -17358818.24548  20405213.1594   20405216.3304
+       433.1054        337.4854
+  21887771.0294  -17616171.08049 -13715521.51147  21887770.9764   21887776.1554
+      2519.5234       1963.2634
+  23248034.0144   -7358552.10149  -5722740.55146  23248033.8334   23248039.2494
+      3315.6544       2583.6184
+  23843854.0454   -4605806.21149  -3573998.64446  23843853.1944   23843858.7594
+       231.8374        180.6604
+ 05  1 20 13 15 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  24218217.1714   -1067801.66649   -804947.80146  24218215.8504   24218223.1754
+     -2693.9564      -2099.1824
+  22867287.0564   -9951611.67149  -7725832.49046  22867284.9274   22867287.1794
+     -3424.5084      -2668.4494
+  20858300.5684  -21112253.18649 -16431831.32448  20858300.1434   20858305.3284
+     -1812.8424      -1412.6014
+  21741688.9844  -13432068.64949 -10444356.03347  21741689.1404   21741693.8454
+     -2225.2114      -1733.9334
+  20402794.2704  -22318165.72649 -17368726.69048  20402793.4304   20402796.6454
+       414.6294        323.0874
+  21873406.3504  -17691658.77149 -13774343.10647  21873406.4084   21873411.2394
+      2512.9444       1958.1424
+  23229113.9254   -7457976.60849  -5800214.17846  23229113.5554   23229119.9714
+      3312.6374       2581.2674
+  23842580.6834   -4612490.24649  -3579206.98746  23842580.0974   23842588.1254
+       213.7274        166.5394
+ 05  1 20 13 16  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  24233597.3314    -986974.60149   -741965.77845  24233596.8594   24233601.0744
+     -2694.4904      -2099.6094
+  22886853.7884   -9848780.58449  -7645704.43046  22886852.3724   22886855.9404
+     -3430.8674      -2673.4064
+  20868692.2054  -21057642.04649 -16389277.21048  20868691.9384   20868697.1354
+     -1827.9084      -1424.3464
+  21754435.9164  -13365081.27549 -10392158.10947  21754436.4394   21754441.1364
+     -2240.6014      -1745.9244
+  20400479.8044  -22330327.78049 -17378203.61148  20400479.0224   20400482.4174
+       396.1704        308.7054
+  21859079.1774  -17766948.22649 -13833010.21847  21859078.8714   21859084.4094
+      2506.3364       1952.9904
+  23210212.0574   -7557311.81949  -5877618.25146  23210210.8284   23210217.2054
+      3309.6394       2578.9434
+  23841412.8954   -4618631.16949  -3583992.16046  23841412.5024   23841418.9934
+       195.5694        152.3824
+ 05  1 20 13 16 30.0000000  0  8G16G23G 3G13G19G27G 8G15
+  24248983.1844    -906131.34649   -678971.05945  24248981.8234   24248987.0544
+     -2695.0654      -2100.0464
+  22906456.5474   -9745760.69149  -7565429.24646  22906456.3384   22906459.8534
+     -3437.0854      -2678.2474
+  20879170.2024  -21002579.76249 -16346371.54248  20879170.0354   20879175.2604
+     -1842.9094      -1436.0314
+  21767270.5114  -13297633.96249 -10339601.78947  21767270.6594   21767275.6764
+     -2255.8844      -1757.8304
+  20398270.3284  -22341936.20149 -17387249.13648  20398269.7474   20398273.3754
+       377.7174        294.3264
+  21844790.0494  -17842037.16849 -13891521.07647  21844789.9724   21844795.3094
+      2499.5824       1947.7274
+  23191327.7034   -7656554.95749  -5954950.57646  23191326.2414   23191331.7204
+      3306.5834       2576.5584
+  23840347.0594   -4624228.19849  -3588353.46546  23840346.0924   23840352.8104
+       177.4784        138.2934
+ 05  1 20 13 17  0.0000000  0  8G16G23G 3G13G19G27G 8G15
+  24264368.4724    -825272.04749   -615963.88045  24264367.1854   24264373.7194
+     -2695.5434      -2100.4184
+  22926097.5284   -9642555.38549  -7485009.58146  22926096.5754   22926099.7944
+     -3443.2454      -2683.0394
+  20889734.3494  -20947068.27149 -16303115.85148  20889733.8074   20889739.0544
+     -1857.8274      -1447.6524
+  21780193.1004  -13229729.18949 -10286689.00547  21780192.9754   21780197.2224
+     -2271.0794      -1769.6734
+  20396167.3114  -22352991.15949 -17395863.39148  20396166.2334   20396169.7994
+       359.2994        279.9774
+  21830540.3804  -17916923.62349 -13949874.17047  21830539.5404   21830544.6644
+      2492.8334       1942.4704
+  23172455.9024   -7755704.79649  -6032210.19946  23172457.3864   23172463.8714
+      3303.4004       2574.0874
+  23839385.4144   -4629280.64149  -3592290.50846  23839385.8314   23839391.2564
+       159.3264        124.1554
+ 05  1 20 13 17 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24279760.1234    -744396.90249   -552944.34245  24279758.6164   24279764.2744
+     -2696.1334      -2100.8864
+  22945770.3894   -9539167.27249  -7404447.47146  22945770.7064   22945773.0674
+     -3449.2894      -2687.7614
+  20900381.9054  -20891110.07749 -16259512.07248  20900381.8504   20900387.3084
+     -1872.6794      -1459.2304
+  21793201.2394  -13161369.59149 -10233421.81647  21793201.3114   21793205.6654
+     -2286.1984      -1781.4504
+  20394168.6364  -22363492.96049 -17404046.60748  20394167.8514   20394171.2574
+       340.8434        265.5944
+  24507446.4454     -76308.48049    -36808.82543
+      3312.3584       2581.0574
+  21816328.2444  -17991605.35449 -14008067.72347  21816328.0474   21816333.6244
+      2485.9634       1937.1164
+  23153606.2834   -7854758.96649  -6109395.26046  23153607.4624   23153614.4874
+      3300.1804       2571.5594
+  23838527.9174   -4633787.56049  -3595802.41046  23838528.0594   23838534.9204
+       141.0674        109.9224
+ 05  1 20 13 18  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24295151.7644    -663506.30249   -489912.74845  24295150.9594   24295155.8604
+     -2696.6824      -2101.3084
+  22965477.6034   -9435599.41749  -7323745.27346  22965478.1934   22965481.0524
+     -3455.2434      -2692.3904
+  20911115.4504  -20834707.55149 -16215562.06748  20911114.8294   20911120.2464
+     -1887.4784      -1470.7604
+  21806295.1654  -13092557.96949 -10179802.40347  21806295.5444   21806300.3734
+     -2301.2324      -1793.1644
+  20392275.6844  -22373441.65449 -17411798.83648  20392274.7594   20392278.0684
+       322.4024        251.2224
+  24488530.6394    -175710.29049   -114264.26245
+      3314.3514       2582.6024
+  21802156.3184  -18066080.13849 -14066100.02847  21802155.9914   21802161.5884
+      2479.0034       1931.6964
+  23134779.2784   -7953715.35449  -6186504.13246  23134777.3514   23134782.5804
+      3296.8684       2568.9844
+  23837774.4174   -4637748.19449  -3598888.66546  23837774.0064   23837780.1604
+       122.8984         95.7674
+ 05  1 20 13 18 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24310548.6604    -582600.66549   -426869.49645  24310546.9324   24310552.8544
+     -2697.1414      -2101.6684
+  22985219.2074   -9331855.09749  -7242905.62946  22985220.1584   22985223.8664
+     -3461.0324      -2696.9034
+  20921932.6264  -20777862.71549 -16171267.41048  20921932.3834   20921938.0744
+     -1902.1894      -1482.2274
+  21819475.8124  -13023297.19649 -10125833.00047  21819475.7364   21819480.6034
+     -2316.1584      -1804.7994
+  20390487.7804  -22382837.56649 -17419120.32948  20390486.5774   20390490.1964
+       303.9894        236.8764
+  24469601.4004    -275172.27349   -191767.04945                  24469613.8614
+      3316.3734       2584.1824
+  21788023.6564  -18140345.96649 -14123969.51047  21788023.8374   21788029.3454
+      2472.0014       1926.2394
+  23115967.0424   -8052572.32249  -6263535.53646  23115965.4694   23115971.8444
+      3293.5624       2566.4144
+  23837125.7924   -4641161.77249  -3601548.61146  23837124.5744   23837132.0534
+       104.6784         81.5634
+ 05  1 20 13 19  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24325948.3004    -501680.11549   -363814.62245  24325948.0834   24325951.1384
+     -2697.5904      -2102.0214
+  23004994.4814   -9227937.39249  -7161930.85746  23004995.4154   23004998.2934
+     -3466.7634      -2701.3704
+  20932833.2124  -20720577.91549 -16126629.91048  20932832.9744   20932838.6484
+     -1916.8004      -1493.6134
+  21832740.4074  -12953589.78849 -10071515.56647  21832740.3944   21832745.2484
+     -2330.9954      -1816.3604
+  20388804.8164  -22391681.13649 -17426011.42448  20388803.8094   20388807.3214
+       285.5824        222.5324
+  24450664.3404    -374692.04449   -269314.97045  24450663.9004   24450670.7844
+      3318.3574       2585.7344
+  21773931.9184  -18214400.57249 -14181674.40547  21773931.4124   21773936.7214
+      2464.9054       1920.7074
+  23097172.4214   -8151326.86549  -6340487.14046  23097172.5824   23097179.0104
+      3290.1374       2563.7424
+  23836581.1594   -4644027.43649  -3603781.61246  23836581.8664   23836585.3674
+        86.4214         67.3464
+ 05  1 20 13 19 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24341346.4384    -420744.99349   -300748.32145  24341347.4644   24341353.8544
+     -2698.1484      -2102.4454
+  23024803.3674   -9123849.41149  -7080823.38846  23024802.8004   23024806.6274
+     -3472.4124      -2705.7664
+  20943817.7294  -20662855.47449 -16081651.40248  20943817.5594   20943822.8634
+     -1931.3664      -1504.9624
+  21846090.3224  -12883438.18649 -10016852.01847  21846089.9544   21846094.8374
+     -2345.7584      -1827.8564
+  20387226.5794  -22399972.62149 -17432472.32848  20387225.9184   20387229.4704
+       267.1974        208.2054
+  24431717.6034    -474266.88249   -346905.70645  24431716.3604   24431722.7894
+      3320.0074       2587.0194
+  21759880.5904  -18288241.84249 -14239213.06447  21759879.8754   21759885.3764
+      2457.7814       1915.1544
+  23078400.5834   -8249978.10349  -6417358.23446  23078401.0074   23078406.8384
+      3286.5914       2560.9834
+  23836137.5414   -4646344.56349  -3605587.18046  23836138.0744   23836145.0084
+        68.0884         53.0534
+ 05  1 20 13 20  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24356751.1054    -339795.72649   -237671.05745  24356749.9554   24356755.6094
+     -2698.4804      -2102.7174
+  23044642.7314   -9019594.30049  -6999585.69946  23044641.7404   23044645.3534
+     -3477.9514      -2710.0904
+  20954884.7084  -20604697.66749 -16036333.64148  20954884.4474   20954890.0794
+     -1945.8444      -1516.2404
+  21859523.3334  -12812845.14949  -9961844.48147  21859524.0284   21859528.2214
+     -2360.4304      -1839.2994
+  20385754.0064  -22407712.49349 -17438503.40448  20385753.1774   20385756.6144
+       248.7994        193.8704
+  24412753.7774    -573894.35449   -424537.39045  24412756.3614   24412763.3564
+      3321.7704       2588.3924
+  21745869.7184  -18361867.70449 -14296583.87547  21745869.3854   21745874.8434
+      2450.5624       1909.5244
+  23059648.5324   -8348523.74049  -6494147.05546  23059647.5884   23059654.2334
+      3283.0514       2558.2154
+  23835803.6274   -4648112.50049  -3606964.81846  23835802.3574   23835808.5874
+        49.7534         38.7584
+ 05  1 20 13 20 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24372159.6534    -258832.40149   -174582.83545  24372158.4634   24372164.7914
+     -2699.0304      -2103.1324
+  23064510.7524   -8915175.06949  -6918220.12546  23064511.3874   23064516.0544
+     -3483.2984      -2714.2624
+  20966034.7344  -20546106.70049 -15990678.35848  20966034.0194   20966039.8874
+     -1960.2314      -1527.4554
+  21873039.5104  -12741813.47749  -9906495.16347  21873039.7874   21873044.6344
+     -2374.9964      -1850.6414
+  20384386.5404  -22414901.00849 -17444104.84748  20384385.2544   20384388.8244
+       230.4404        179.5644
+  24393786.5784    -673571.49149   -502207.80945  24393786.3624   24393796.9444
+      3323.3494       2589.6264
+  21731900.4534  -18435275.78449 -14353784.97747  21731900.5604   21731905.7134
+      2443.2914       1903.8664
+  23040917.8844   -8446960.95649  -6570851.37246  23040916.3504   23040922.5184
+      3279.3564       2555.3324
+  23835570.9564   -4649330.43849  -3607913.86746  23835570.7234   23835576.5034
+        31.4104         24.4744
+ 05  1 20 13 21  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24387569.2184    -177855.44749   -111483.98645  24387568.7944   24387574.0444
+     -2699.4954      -2103.4894
+  23084413.2414   -8810594.75049  -6836729.05446  23084412.9494   23084416.8404
+     -3488.6334      -2718.3994
+  20977264.7874  -20487084.83549 -15944687.31148  20977265.0894   20977271.2914
+     -1974.5624      -1538.6184
+  21886640.4314  -12670345.95349  -9850806.22347  21886640.6024   21886644.2474
+     -2389.4874      -1861.9314
+  20383123.4204  -22421538.62449 -17449277.01648  20383122.2634   20383125.6674
+       212.0864        165.2634
+  24374816.1674    -773295.83449   -579915.08145  24374813.3964   24374819.2534
+      3324.8784       2590.8194
+  21717973.4194  -18508464.14449 -14410814.87147  21717972.9494   21717978.2904
+      2435.9244       1898.1234
+  23022203.8844   -8545287.90449  -6647469.78146  23022205.5284   23022211.1064
+      3275.7074       2552.5024
+  23835443.3094   -4649997.63649  -3608433.77646  23835443.3824   23835449.0884
+        13.1394         10.2384
+ 05  1 20 13 21 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24402979.9814     -96865.14849    -48374.69745  24402980.2294   24402987.2754
+     -2699.8914      -2103.8074
+  23104344.5904   -8705856.58649  -6755114.94946  23104345.0844   23104347.6974
+     -3493.8594      -2722.4784
+  20988578.6654  -20427634.39449 -15898362.30048  20988578.2764   20988583.9214
+     -1988.8174      -1549.7284
+  21900322.5414  -12598445.35549  -9794779.79847  21900322.7154   21900326.5164
+     -2403.9014      -1873.1684
+  20381964.0904  -22427625.73749 -17454020.23348  20381963.4694   20381967.2164
+       193.7184        150.9484
+  24355827.7364    -873064.97449   -657657.17245  24355828.0674   24355833.0494
+      3326.3124       2591.9304
+  21704087.7124  -18581430.69749 -14467671.91947  21704087.9044   21704093.3374
+      2428.4324       1892.2854
+  23003515.7824   -8643503.06549  -6724001.07646  23003515.7034   23003522.0134
+      3271.9474       2549.5734
+  23835422.5374   -4650113.60049  -3608524.12646  23835421.3564   23835427.0224
+        -5.3574         -4.1954
+ 05  1 20 13 22  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24418395.8894     -15861.57949     14744.87645  24418394.9484   24418399.1674
+     -2700.3224      -2104.1484
+  23124304.4064   -8600963.63049  -6673380.23546  23124303.9624   23124307.5714
+     -3498.9934      -2726.4964
+  20999972.5004  -20367757.45749 -15851704.96748  20999972.3104   20999978.0484
+     -2002.9704      -1560.7604
+  21914085.8914  -12526114.31849  -9738417.99947  21914086.0164   21914091.2034
+     -2418.1824      -1884.2904
+  20380910.8594  -22433162.70249 -17458334.76048  20380910.0844   20380913.6344
+       175.3854        136.6674
+  24336833.0264    -972876.04249   -735431.87445  24336833.3744   24336839.4834
+      3327.6934       2593.0014
+  21690246.0154  -18654172.87449 -14524354.12947  21690245.6844   21690250.8594
+      2420.9684       1886.4684
+  22984848.8234   -8741603.88249  -6800443.28746  22984848.2114   22984854.0464
+      3268.1104       2546.5894
+  23835504.7874   -4649677.84249  -3608184.58346  23835504.2164   23835510.9204
+       -23.7564        -18.4984
+ 05  1 20 13 22 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24433810.9934      65154.92849     77874.59645  24433811.2374   24433817.7734
+     -2700.7774      -2104.4934
+  23144294.1104   -8495918.79449  -6591527.17246  23144293.3704   23144297.7194
+     -3503.9944      -2730.3744
+  21011447.9394  -20307456.51649 -15804717.22948  21011447.7594   21011453.0134
+     -2017.0724      -1571.7434
+  21927931.4564  -12453355.72749  -9681723.03047  21927931.9794   21927936.7224
+     -2432.4024      -1895.3754
+  20379962.1894  -22438150.06049 -17462221.02148  20379960.9354   20379964.6404
+       157.0844        122.4044
+  24317833.2904   -1072726.49149   -813237.40045  24317832.0424   24317837.9004
+      3328.9444       2593.9844
+  21676445.9954  -18726688.79649 -14580860.04847  21676446.0024   21676451.7944
+      2413.3894       1880.5664
+  22966202.0814   -8839588.55649  -6876794.95946  22966202.0924   22966207.7224
+      3264.1524       2543.4944
+  23835693.4364   -4648689.65549  -3607414.56446  23835692.5444   23835698.3524
+       -42.1564        -32.8604
+ 05  1 20 13 23  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24449232.6024     146184.11349    141014.11145  24449232.1214   24449236.9364
+     -2701.1574      -2104.7984
+  23164310.8144   -8390725.32349  -6509558.33346  23164311.5304   23164315.1264
+     -3508.8924      -2734.2064
+  21023002.8364  -20246733.86249 -15757400.89048  21023002.3154   21023008.0854
+     -2031.0774      -1582.6564
+  21941859.3194  -12380172.25349  -9624696.96947  21941858.7634   21941863.0674
+     -2446.4944      -1906.3554
+  20379117.4764  -22442588.24949 -17465679.35348  20379116.5864   20379120.1334
+       138.7954        108.1544
+  24298827.6574   -1172613.77949   -891071.58345  24298826.2174   24298828.7184
+      3330.1604       2594.9274
+  21662690.8014  -18798976.05349 -14637187.77747  21662690.6204   21662695.6514
+      2405.7424       1874.6014
+  22947579.7414   -8937454.30449  -6953053.98846  22947579.3904   22947584.5944
+      3260.2034       2540.4144
+  23835986.9894   -4647148.60149  -3606213.72846  23835985.7444   23835991.9344
+       -60.5954        -47.2084
+ 05  1 20 13 23 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24464655.8064     227225.65649    204163.27245  24464654.6704   24464658.3124
+     -2701.5934      -2105.1314
+  23184359.1634   -8285386.34049  -6427476.06746  23184358.0244   23184360.5454
+     -3513.7174      -2737.9694
+  21034637.7374  -20185591.94549 -15709757.84948  21034637.8014   21034642.8924
+     -2045.0404      -1593.5374
+  21955864.6784  -12306566.57049  -9567341.92947  21955865.0564   21955869.8124
+     -2460.5284      -1917.2944
+  20378377.9004  -22446477.74149 -17468710.13348  20378376.6694   20378379.9514
+       120.5004         93.8964
+  24279811.8304   -1272535.03649   -968932.19745  24279810.5644   24279817.0514
+      3331.2354       2595.7674
+  21648978.8134  -18871032.72249 -14693335.83147  21648978.5664   21648983.9354
+      2397.9964       1868.5654
+  22928979.1064   -9035199.40549  -7029219.00646  22928978.7264   22928984.9174
+      3256.1094       2537.2264
+  23836384.2084   -4645054.14049  -3604581.67946  23836383.7504   23836390.4814
+       -79.0864        -61.6314
+ 05  1 20 13 24  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24480077.3994     308279.30949    267321.95145  24480076.8444   24480081.4894
+     -2701.9904      -2105.4514
+  23204431.3284   -8179905.05349  -6345282.91146  23204430.4874   23204432.7664
+     -3518.3924      -2741.6034
+  21046352.8624  -20124033.10349 -15661789.93448  21046352.0934   21046357.3914
+     -2058.9024      -1604.3394
+  21969951.1114  -12232541.82449  -9509660.33747  21969951.7394   21969956.4714
+     -2474.4814      -1928.1654
+  20377741.5574  -22449819.09749 -17471313.79448  20377740.5494   20377743.9974
+       102.2314         79.6584
+  24260790.9944   -1372488.16149  -1046817.61845  24260790.0024   24260798.7434
+      3332.2774       2596.5774
+  21635311.3414  -18942856.44649 -14749302.37547  21635310.7784   21635316.3924
+      2390.1904       1862.4844
+  22910403.8334   -9132821.63049  -7105288.27946  22910402.2554   22910407.8204
+      3251.9854       2534.0034
+  23836888.3084   -4642405.64249  -3602517.93046  23836887.4484   23836893.7004
+       -97.5534        -76.0134
+ 05  1 20 13 24 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24495504.6214     389344.71749    330489.69245  24495504.4544   24495508.8634
+     -2702.3754      -2105.7544
+  23224530.0504   -8074284.31949  -6262981.09746  23224528.8484   23224531.9844
+     -3522.9714      -2745.1914
+  21058145.7034  -20062059.71049 -15613498.97948  21058145.1234   21058150.7154
+     -2072.6704      -1615.0694
+  21984117.7394  -12158100.63749  -9451654.25147  21984117.6724   21984121.9594
+     -2488.2854      -1938.9264
+  20377209.9184  -22452612.87449 -17473490.77148  20377209.1574   20377212.2114
+        84.0044         65.4574
+  24241763.6374   -1472470.07449  -1124725.53745  24241762.9574   24241770.0634
+      3333.1864       2597.2834
+  21621688.0784  -19014445.05049 -14805085.70747  21621688.0894   21621693.7084
+      2382.3584       1856.3804
+  22891848.9294   -9230319.28749  -7181260.48046  22891848.3974   22891853.9264
+      3247.8334       2530.7754
+  23837499.7014   -4639202.51349  -3600022.02346  23837498.7334   23837503.3714
+      -116.0344        -90.4084
+ 05  1 20 13 25  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24510933.0784     470421.78449    393666.56545  24510932.3814   24510937.2054
+     -2702.7824      -2106.0564
+  23244653.7464   -7968527.25549  -6180573.05846  23244654.1104   23244657.0164
+     -3527.4554      -2748.6794
+  21070017.2974  -19999674.03249 -15564886.78448  21070016.9964   21070022.5594
+     -2086.3854      -1625.7524
+  21998360.9094  -12083245.80649  -9393325.83947  21998361.5424   21998366.4254
+     -2502.0474      -1949.6454
+  20376781.8714  -22454859.45749 -17475241.36348  20376781.1814   20376784.8834
+        65.7674         51.2474
+  24222734.6694   -1572478.35249  -1202653.99745  24222734.6244   24222738.9204
+      3334.0164       2597.9284
+  21608110.3484  -19085796.36349 -14860684.12747  21608110.2104   21608116.0774
+      2374.4044       1850.1834
+  22873320.0384   -9327689.20649  -7257133.14646  22873319.2244   22873325.3184
+      3243.5664       2527.4624
+  23838212.0724   -4635444.34449  -3597093.58746  23838212.4924   23838219.8924
+      -134.5324       -104.8254
+ 05  1 20 13 25 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24526362.8104     551510.31149    456852.39345  24526362.2224   24526367.0084
+     -2703.1624      -2106.3674
+  23264804.7244   -7862637.04849  -6098061.28346  23264804.5234   23264808.0954
+     -3531.8624      -2752.0984
+  21081966.9994  -19936878.22249 -15515954.99548  21081966.3894   21081971.9754
+     -2099.9914      -1636.3534
+  22012684.8174  -12007980.05449  -9334677.24247  22012684.4994   22012689.4064
+     -2515.6774      -1960.2654
+  20376458.8314  -22456559.76149 -17476566.27948  20376457.7894   20376461.2364
+        47.5734         37.0704
+  24203698.4424   -1672510.17949  -1280600.78945  24203697.1924   24203702.7914
+      3334.8084       2598.5504
+  21594578.9754  -19156908.19649 -14916095.95147  21594577.9954   21594583.6944
+      2366.3734       1843.9264
+  22854814.5434   -9424929.78149  -7332905.00746  22854814.8144   22854820.9864
+      3239.1394       2524.0034
+  23839034.9434   -4631130.85149  -3593732.40346  23839032.9474   23839039.6844
+      -153.0924       -119.2814
+ 05  1 20 13 26  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24541794.7834     632610.12249    520046.97745  24541793.3064   24541801.6514
+     -2703.5004      -2106.6164
+  23284979.3894   -7756616.55049  -6015447.98746  23284978.8024   23284982.8144
+     -3536.1854      -2755.4644
+  21093993.9514  -19873674.78449 -15466705.57548  21093993.7204   21093999.4074
+     -2113.5714      -1646.9414
+  22027085.0844  -11932306.55449  -9275710.90447  22027084.5244   22027089.2304
+     -2529.2274      -1970.8264
+  20376239.5054  -22457714.07649 -17477465.75648  20376238.3164   20376241.5674
+        29.3744         22.8894
+  24184657.9984   -1772562.69749  -1358563.73245  24184658.5294   24184663.3084
+      3335.3654       2598.9834
+  21581092.4604  -19227778.21049 -14971319.34647  21581092.3324   21581097.3994
+      2358.2724       1837.6154
+  22836335.9254   -9522038.90149  -7408574.46146  22836335.4444   22836341.4724
+      3234.7474       2520.5894
+  23839960.7084   -4626261.44049  -3589938.05046  23839961.3854   23839967.3894
+      -171.5884       -133.7194
+ 05  1 20 13 26 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24557233.6234     713720.72149    583249.95045  24557231.2544   24557234.6114
+     -2703.8984      -2106.9314
+  23305178.2164   -7650468.99349  -5932735.68546  23305178.0564   23305182.3334
+     -3540.3894      -2758.7374
+  21106098.0384  -19810066.05749 -15417140.34147  21106097.6044   21106103.3104
+     -2127.0174      -1657.4164
+  22041561.0324  -11856227.95449  -9216428.92547  22041562.0004   22041566.5494
+     -2542.6654      -1981.2994
+  20376123.3984  -22458323.15949 -17477940.37148  20376122.5404   20376125.5934
+        11.2244          8.7474
+  24165614.4564   -1872633.60249  -1436541.02445  24165615.2754   24165620.2314
+      3335.9234       2599.4214
+  21567652.0474  -19298404.41649 -15026352.74547  21567652.1464   21567657.8834
+      2350.1114       1831.2534
+  22817882.1944   -9619014.49149  -7484139.86146  22817882.2344   22817887.3244
+      3230.2104       2517.0344
+  23840994.5064   -4620835.95549  -3585710.41546  23840992.8924   23840999.1834
+      -190.1334       -148.1594
+ 05  1 20 13 27  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24572667.7454     794841.84049    646461.20045  24572668.2184   24572674.3464
+     -2704.2544      -2107.2104
+  23325401.4374   -7544197.48349  -5849926.79646  23325400.9614   23325404.0114
+     -3544.4154      -2761.8674
+  21118279.4904  -19746054.56149 -15367261.26847  21118279.0054   21118284.2914
+     -2140.4244      -1667.8654
+  22056116.3764  -11779747.43049  -9156833.73847  22056116.1094   22056120.2104
+     -2556.0264      -1991.7054
+  20376110.9314  -22458387.67949 -17477990.64648  20376109.7564   20376113.3894
+        -6.9424         -5.4114
+  24146569.2574   -1972720.21349  -1514530.57145  24146569.5074   24146575.8584
+      3336.4234       2599.8104
+  21554259.6914  -19368784.41949 -15081194.31947  21554259.5494   21554264.9964
+      2341.8744       1824.8364
+  22799453.8444   -9715853.25049  -7559598.61646  22799453.5304   22799459.7154
+      3225.6694       2513.5044
+  23842130.9254   -4614853.99649  -3581049.15246  23842130.6164   23842138.1164
+      -208.7054       -162.6274
+ 05  1 20 13 27 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24588105.5894     875973.62649    709680.72445  24588105.1114   24588109.4624
+     -2704.5774      -2107.4674
+  23345647.1544   -7437805.04149  -5767023.62846  23345647.2024   23345650.6244
+     -3548.3954      -2764.9854
+  21130535.8504  -19681642.60149 -15317070.14447  21130535.9424   21130541.7784
+     -2153.7274      -1678.2264
+  22070745.4044  -11702867.53049  -9096927.35147  22070745.3354   22070750.6654
+     -2569.2904      -2002.0434
+  20376202.9524  -22457908.14249 -17477616.99148  20376201.4674   20376204.5414
+       -25.0524        -19.5224
+  24127521.3644   -2072819.60249  -1592530.01645  24127521.4004   24127527.8034
+      3336.7924       2600.0954
+  21540913.9564  -19438915.92249 -15135842.23947  21540913.7814   21540919.3714
+      2333.5634       1818.3584
+  22781052.6714   -9812554.63949  -7634950.33846  22781052.1694   22781057.7394
+      3221.0624       2509.9244
+  23843375.4324   -4608315.29649  -3575954.04046  23843374.7364   23843382.4384
+      -227.2474       -177.0694
+ 05  1 20 13 28  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24603547.0484     957115.59649    772908.17545  24603547.5344   24603555.1584
+     -2704.9334      -2107.7414
+  23365916.2034   -7331294.62849  -5684028.56046  23365916.0144   23365919.2564
+     -3552.2954      -2768.0164
+  21142869.9574  -19616832.43349 -15266568.73547  21142869.2464   21142874.4974
+     -2166.9714      -1688.5514
+  22085449.8004  -11625591.08949  -9036711.98347  22085449.9774   22085455.5734
+     -2582.4574      -2012.3064
+  20376396.5934  -22456885.43749 -17476820.08548  20376395.7724   20376399.2924
+       -43.1424        -33.6164
+  24108472.8174   -2172929.16749  -1670537.44145  24108471.8154   24108476.5914
+      3337.1374       2600.3664
+  21527616.4624  -19508796.82149 -15190294.88347  21527616.0214   21527621.4384
+      2325.1594       1811.8134
+  22762676.6224   -9909115.48349  -7710192.56046  22762677.3044   22762683.0764
+      3216.3214       2506.2244
+  23844725.7244   -4601219.25649  -3570424.69546  23844725.3004   23844732.5364
+      -245.8484       -191.5654
+ 05  1 20 13 28 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24618989.7814    1038267.63149    836143.45845  24618989.8744   24618995.7324
+     -2705.2604      -2107.9914
+  23386203.7404   -7224669.36249  -5600944.03446  23386203.6324   23386209.4244
+     -3556.0524      -2770.9414
+  21155277.1154  -19551626.62249 -15215759.02747  21155276.9224   21155282.8274
+     -2180.0984      -1698.7804
+  22100230.0684  -11547921.42449  -8976190.19447  22100230.4364   22100235.2344
+     -2595.5164      -2022.4804
+  20376694.0874  -22455320.05949 -17475600.31148  20376693.5014   20376697.2964
+       -61.2044        -47.6914
+  24089419.6024   -2273046.21149  -1748550.70145  24089418.2334   24089425.1554
+      3337.3114       2600.5044
+  21514366.8364  -19578424.93449 -15244550.56448  21514366.5044   21514371.5634
+      2316.6864       1805.2104
+  22744330.3184  -10005533.26649  -7785323.30346  22744329.8644   22744335.6544
+      3211.5274       2502.4864
+  23846183.1944   -4593565.56649  -3564460.81546  23846182.2524   23846188.1154
+      -264.4004       -206.0174
+ 05  1 20 13 29  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24634436.3824    1119429.39449    899386.27145  24634436.2854   24634438.5034
+     -2705.5474      -2108.2174
+  23406517.0994   -7117932.33549  -5517772.40746  23406516.7104   23406520.7544
+     -3559.7634      -2773.8424
+  21167760.9764  -19486027.36649 -15164642.73847  21167760.0714   21167765.9664
+     -2193.1984      -1708.9904
+  22115085.7174  -11469860.85649  -8915363.81947  22115085.7074   22115090.3864
+     -2608.5034      -2032.6084
+  20377095.8454  -22453212.84049 -17473958.32948  20377094.6844   20377098.2854
+       -79.2844        -61.7814
+  24070367.5484   -2373168.03049  -1826567.66245  24070367.7084   24070373.3934
+      3337.4794       2600.6314
+  21501165.8914  -19647797.95749 -15298607.46548  21501165.4724   21501170.5444
+      2308.1714       1798.5774
+  22726010.9054  -10101806.35549  -7860341.28546  22726009.9224   22726015.3324
+      3206.6414       2498.6794
+  23847745.9014   -4585354.04549  -3558062.22846  23847744.8304   23847751.1104
+      -283.0374       -220.5564
+ 05  1 20 13 29 30.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24649879.9854    1200600.74949    962636.66545  24649879.4764   24649886.2714
+     -2705.8434      -2108.4424
+  23426850.1384   -7011086.77349  -5434516.20446  23426849.3844   23426852.9034
+     -3563.2784      -2776.5784
+  21180317.9414  -19420036.73349 -15113221.48747  21180317.7604   21180323.8234
+     -2206.1904      -1719.1044
+  22130012.1304  -11391412.89249  -8854235.57347  22130013.2954   22130017.8044
+     -2621.3584      -2042.6154
+  20377599.8844  -22450564.40449 -17471894.62548  20377598.9194   20377602.3024
+       -97.2834        -75.8014
+  24051315.1664   -2473292.00449  -1904586.27945  24051313.7934   24051320.2334
+      3337.4684       2600.6244
+  21488012.8134  -19716913.77249 -15352463.94048  21488012.9704   21488018.3594
+      2299.5294       1791.8434
+  22707716.6404  -10197932.30949  -7935244.62246  22707717.6764   22707723.3614
+      3201.7014       2494.8394
+  23849414.8974   -4576584.36149  -3551228.74546  23849413.6164   23849419.8404
+      -301.6354       -235.0314
+ 05  1 20 13 30  0.0000000  0  9G16G23G 3G13G19G11G27G 8G15
+  24665328.4704    1281781.71449   1025894.45345  24665327.4444   24665334.6634
+     -2706.1994      -2108.7244
+  23447202.0254   -6904135.55849  -5351177.66746  23447201.9984   23447204.3674
+     -3566.7584      -2779.2864
+  21192950.4274  -19353657.45949 -15061497.40047  21192949.9364   21192955.3914
+     -2219.1074      -1729.1784
+  22145013.7704  -11312580.30749  -8792807.62247  22145014.3174   22145019.3544
+     -2634.1554      -2052.5914
+  20378206.5344  -22447375.69249 -17469409.91548  20378205.6754   20378208.8184
+      -115.2764        -89.8264
+  24032262.6244   -2573415.40949  -1982604.40845  24032261.4274   24032267.3714
+      3337.3844       2600.5574
+  21474910.9154  -19785769.90949 -15406118.07947  21474910.0904   21474915.1564
+      2290.8514       1785.0774
+  22689454.3784  -10293908.64549  -8010031.36146  22689454.0634   22689459.4224
+      3196.6954       2490.9244
+  23851188.6864   -4567256.38449  -3543960.18646  23851188.5814   23851193.9854
+      -320.2304       -249.5374
+ 05  1 20 13 30 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24680780.1724    1362971.87349   1089159.38345  24680780.6534   24680785.9284
+     -2706.4724      -2108.9384
+  23467573.4884   -6797081.82149  -5267759.25646  23467573.8824   23467576.4674
+     -3570.1274      -2781.9174
+  25431344.5444    -880807.74449   -670760.27645  25431344.9974   25431348.0094
+      2586.1784       2015.2044
+  21205654.8604  -19286891.96949 -15009472.35547  21205654.8184   21205660.4124
+     -2231.9394      -1739.1724
+  22160088.3494  -11233365.92249  -8731082.16447  22160088.6464   22160093.7624
+     -2646.7964      -2062.4364
+  20378915.9424  -22443647.40949 -17466504.76148  20378914.9514   20378918.4124
+      -133.2604       -103.8394
+  24013209.1494   -2673535.58949  -2060620.05445  24013209.1834   24013213.9064
+      3337.2374       2600.4384
+  21461857.4484  -19854364.36249 -15459568.30648  21461857.0114   21461862.2824
+      2282.0904       1778.2534
+  22671220.2994  -10389733.40249  -8084700.00046  22671220.0014   22671224.8924
+      3191.6094       2486.9704
+  23853071.1324   -4557370.13749  -3536256.65546  23853069.8894   23853076.0764
+      -338.8544       -264.0374
+ 05  1 20 13 31  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24696232.1344    1444170.99149   1152431.37145  24696231.4944   24696235.2644
+     -2706.8214      -2109.2054
+  23487964.2314   -6689928.48149  -5184263.24346  23487963.7314   23487967.2364
+     -3573.4054      -2784.4754
+  25416579.7904    -958380.39349   -731206.51245  25416582.1074   25416587.3004
+      2585.3884       2014.5884
+  21218433.5054  -19219742.73049 -14957148.28747  21218433.2354   21218438.5634
+     -2244.6814      -1749.1054
+  22175234.1694  -11153772.60549  -8669061.43547  22175234.3374   22175239.8564
+     -2659.4244      -2072.2744
+  20379727.7894  -22439380.45749 -17463179.86548  20379726.9604   20379730.4744
+      -151.1994       -117.8184
+  23994157.3434   -2773649.42949  -2138630.75545  23994157.5494   23994163.1224
+      3337.0064       2600.2624
+  21448853.8694  -19922694.71449 -15512812.74348  21448853.7444   21448859.5694
+      2273.2394       1771.3544
+  22653014.3384  -10485404.35449  -8159248.78647  22653014.6904   22653019.3254
+      3186.4244       2482.9324
+  23855059.0234   -4546925.33049  -3528117.84546  23855058.1284   23855064.7654
+      -357.4664       -278.5394
+ 05  1 20 13 31 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24711683.9864    1525378.90149   1215710.20145  24711684.2034   24711690.6124
+     -2707.0704      -2109.4064
+  23508373.6324   -6582678.58349  -5100691.97346  23508373.1264   23508376.3164
+     -3576.5984      -2786.9614
+  25401827.1724   -1035928.03349   -791633.24445  25401827.0724   25401829.5964
+      2584.5344       2013.9264
+  21231284.0204  -19152212.07049 -14904527.01547  21231283.6894   21231288.9744
+     -2257.3614      -1758.9834
+  22190452.2174  -11073803.54649  -8606747.90847  22190452.2094   22190457.3994
+     -2671.8764      -2081.9884
+  20380642.2694  -22434575.46449 -17459435.72748  20380641.5384   20380644.9684
+      -169.1314       -131.7914
+  23975108.0064   -2873754.46449  -2216634.57545  23975106.9644   23975115.4454
+      3336.6594       2599.9874
+  21435902.5174  -19990758.78249 -15565849.68948  21435901.6654   21435907.1304
+      2264.3304       1764.4124
+  22634839.3714  -10580918.85249  -8233675.66847  22634838.2984   22634843.7194
+      3181.1624       2478.8224
+  23857151.7024   -4535921.70949  -3519543.63946  23857151.3104   23857157.5274
+      -376.1134       -293.0704
+ 05  1 20 13 32  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24727137.8384    1606595.64349   1278995.86245  24727139.5004   24727144.4144
+     -2707.2894      -2109.5754
+  23528800.7504   -6475335.19049  -5017047.84146  23528799.9304   23528802.6234
+     -3579.6554      -2789.3304
+  25387070.5204   -1113450.33049   -852040.24345  25387071.6434   25387077.1794
+      2583.6654       2013.2444
+  21244206.7744  -19084302.45249 -14851610.44447  21244206.5154   21244211.5494
+     -2269.9594      -1768.7954
+  22205741.4184  -10993461.65249  -8544143.88947  22205741.1194   22205746.1374
+     -2684.2484      -2091.6244
+  20381659.3624  -22429233.19149 -17455272.92148  20381658.2964   20381661.6594
+      -187.0184       -145.7284
+  23956060.6584   -2973848.10649  -2294629.53445  23956061.2104   23956066.7744
+      3336.2004       2599.6324
+  21423000.5524  -20058554.37449 -15618677.42548  21423000.5434   21423005.9724
+      2255.3464       1757.4134
+  22616693.5654  -10676274.49349  -8307978.77047  22616692.5264   22616697.4954
+      3175.8794       2474.7174
+  23859353.3064   -4524359.11549  -3510533.87746  23859352.3004   23859358.7394
+      -394.7144       -307.5644
+ 05  1 20 13 32 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24742597.1874    1687820.74849   1342288.09445  24742595.8574   24742602.2134
+     -2707.5474      -2109.7804
+  23549245.2794   -6367901.23749  -4933333.17946  23549243.3244   23549246.9734
+     -3582.6244      -2791.6504
+  25372327.1534   -1190947.53949   -912427.73545  25372326.7764   25372333.1534
+      2582.8074       2012.5744
+  21257200.7394  -19016016.14749 -14798400.34747  21257200.8354   21257205.8714
+     -2282.4674      -1778.5444
+  22221099.1604  -10912749.77449  -8481251.56047  22221100.3474   22221105.0194
+     -2696.5284      -2101.1904
+  20382777.6824  -22423354.67249 -17450692.25948  20382776.7014   20382780.1624
+      -204.8664       -159.6334
+  23937015.5304   -3073927.50549  -2372613.36645  23937016.0884   23937022.2594
+      3335.6874       2599.2324
+  21410151.7444  -20126079.19749 -15671294.17348  21410151.4254   21410156.5424
+      2246.2804       1750.3484
+  22598577.9144  -10771469.28549  -8382156.54247  22598577.2274   22598583.0344
+      3170.4664       2470.4944
+  23861660.5464   -4512237.50549  -3501088.47846  23861658.7544   23861664.3214
+      -413.3594       -322.0944
+ 05  1 20 13 33  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24758054.5684    1769054.09849   1405586.73545  24758055.3184   24758059.4294
+     -2707.9054      -2110.0564
+  23569705.2144   -6260379.95249  -4849550.46146  23569704.0244   23569708.5014
+     -3585.4784      -2793.8764
+  25357581.3114   -1268419.75949   -972795.73145  25357582.6474   25357589.9414
+      2582.0234       2011.9714
+  21270266.0724  -18947355.45349 -14744898.52347  21270266.2484   21270271.8534
+     -2294.9204      -1788.2524
+  22236530.0304  -10831671.02449  -8418073.34347  22236529.4594   22236533.7874
+     -2708.7374      -2110.6964
+  20383997.8894  -22416940.70749 -17445694.36848  20383997.2734   20384000.6524
+      -222.7154       -173.5454
+  23917974.5004   -3173989.64049  -2450583.76145  23917974.4724   23917980.8004
+      3335.0654       2598.7514
+  21397354.9084  -20193331.09549 -15723698.25548  21397354.0054   21397359.0344
+      2237.1674       1743.2514
+  22580493.8004  -10866501.02849  -8456207.26547  22580493.4254   22580499.5024
+      3164.9844       2466.2214
+  23864072.0484   -4499556.98849  -3491207.57846  23864070.9734   23864076.8494
+      -432.0234       -336.6494
+ 05  1 20 13 33 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24773513.3794    1850295.74849   1468891.84045  24773513.0464   24773520.4134
+     -2708.2154      -2110.2964
+  23590182.2494   -6152774.15749  -4765701.89646  23590181.1084   23590185.0894
+     -3588.2184      -2796.0084
+  25342847.7384   -1345866.73749  -1033144.02145  25342845.1554   25342850.3844
+      2581.1224       2011.2814
+  21283402.8224  -18878322.74149 -14691106.81447  21283402.7204   21283408.4634
+     -2307.2464      -1797.8494
+  22252026.3614  -10750228.61849  -8354611.76447  22252026.1514   22252031.7944
+     -2720.7564      -2120.0634
+  20385320.6924  -22409992.44149 -17440280.13548  20385319.4884   20385322.8574
+      -240.4884       -187.3934
+  23898937.4074   -3274031.88749  -2528538.67245  23898937.2014   23898942.0324
+      3334.4004       2598.2394
+  21384609.2674  -20260307.62849 -15775887.76048  21384608.6964   21384613.8154
+      2227.9424       1736.0604
+  22562441.6204  -10961367.41849  -8530129.13647  22562440.3604   22562446.7974
+      3159.4354       2461.9034
+  23866591.6114   -4486317.47649  -3480891.12146  23866590.8524   23866597.9764
+      -450.6314       -351.1394
+ 05  1 20 13 34  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24788977.4764    1931545.37149   1532203.15145  24788976.5084   24788981.4974
+     -2708.5124      -2110.5314
+  23610675.2004   -6045087.13149  -4681790.01246  23610673.3454   23610677.8014
+     -3590.8644      -2798.0714
+  25328113.1654   -1423288.88449  -1093472.97345  25328112.7434   25328117.8874
+      2580.3734       2010.6844
+  21296609.9254  -18808920.76249 -14637027.36847  21296609.9254   21296615.3624
+     -2319.5324      -1807.4224
+  22267592.7354  -10668425.09449  -8290868.79347  22267593.4914   22267598.1484
+     -2732.7564      -2129.4234
+  20386744.1184  -22402510.41949 -17434449.99348  20386743.1404   20386746.6594
+      -258.2754       -201.2524
+  23879903.6034   -3374051.65249  -2606476.05145  23879902.7714   23879909.1384
+      3333.6104       2597.6104
+  21371916.6404  -20327006.77949 -15827861.12548  21371916.1704   21371921.1244
+      2218.6704       1728.8314
+  22544419.8834  -11056065.89749  -8603920.17047  22544420.2634   22544426.1534
+      3153.7934       2457.5024
+  23869218.1824   -4472518.96649  -3470139.05746  23869218.0694   23869223.4094
+      -469.2714       -365.6634
+ 05  1 20 13 34 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24804438.3204    2012802.70749   1595520.44745  24804437.0964   24804441.5934
+     -2708.7424      -2110.7114
+  23631182.6604   -5937321.79649  -4597817.12846  23631181.9514   23631184.5424
+     -3593.4684      -2800.1034
+  25313387.9354   -1500685.97049  -1153782.39545  25313385.3724   25313390.8364
+      2579.4854       2009.9864
+  21309886.4534  -18739151.76149 -14582661.93547  21309886.3754   21309891.7974
+     -2331.7374      -1816.9374
+  22283228.1304  -10586263.54549  -8226846.85247  22283228.3084   22283233.3494
+     -2744.6664      -2138.6974
+  20388269.1294  -22394495.75149 -17428204.80048  20388268.4104   20388271.8904
+      -276.0244       -215.0834
+  23860874.8134   -3474046.07049  -2684393.65445  23860875.6304   23860880.0684
+      3332.6584       2596.8684
+  21359277.2474  -20393426.14349 -15879616.48048  21359276.7844   21359282.0234
+      2209.3204       1721.5424
+  22526432.7554  -11150594.15449  -8677578.54947  22526432.6944   22526437.7764
+      3148.0724       2453.0464
+  23871950.2434   -4458161.52449  -3458951.45846  23871948.5534   23871955.6914
+      -487.9014       -380.1844
+ 05  1 20 13 35  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24819903.3164    2094067.71549   1658843.76245  24819903.3944   24819909.0604
+     -2708.9384      -2110.8604
+  23651703.1674   -5829481.19949  -4513785.58546  23651702.1504   23651704.6234
+     -3595.9184      -2802.0214
+  25298663.3384   -1578058.17149  -1214072.41545  25298661.0714   25298665.0384
+      2578.6394       2009.3234
+  21323232.8854  -18669018.30349 -14528012.49547  21323232.3864   21323237.6234
+     -2343.8474      -1826.3794
+  22298930.7064  -10503747.16649  -8162548.41347  22298930.5344   22298936.1494
+     -2756.4274      -2147.8704
+  20389895.5364  -22385949.43849 -17421545.34448  20389894.7464   20389898.2394
+      -293.7314       -228.8804
+  23841853.8924   -3574012.36549  -2762289.39445  23841852.8444   23841858.2854
+      3331.6784       2596.1114
+  21346691.3754  -20459563.41449 -15931152.01448  21346691.1974   21346696.9084
+      2199.8364       1714.1594
+  22508478.3694  -11244949.80049  -8751102.42747  22508477.1574   22508482.5294
+      3142.2954       2448.5384
+  23874788.9384   -4443245.13949  -3447328.32246  23874787.5854   23874793.5924
+      -506.5214       -394.7004
+ 05  1 20 13 35 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24835369.8374    2175340.32249   1722173.00245  24835370.0634   24835374.4884
+     -2709.1994      -2111.0624
+  23672238.0974   -5721568.20849  -4429697.60446  23672238.1374   23672240.9164
+     -3598.2994      -2803.8604
+  25283942.5284   -1655405.54749  -1274343.14845  25283941.6834   25283948.6004
+      2577.9024       2008.7534
+  21336647.0034  -18598522.65549 -14473080.84047  21336646.7874   21336652.8034
+     -2355.8884      -1835.7544
+  22314699.9914  -10420879.02049  -8097975.87047  22314700.4384   22314704.9884
+     -2768.1014      -2156.9674
+  20391623.3524  -22376872.33549 -17414472.28048  20391622.1624   20391625.5504
+      -311.4104       -242.6584
+  23822835.3504   -3673947.90349  -2840161.16745  23822835.3324   23822842.1664
+      3330.6414       2595.3024
+  21334160.2204  -20525416.48049 -15982466.09648  21334159.7344   21334165.4744
+      2190.3304       1706.7514
+  22490555.8464  -11339130.47549  -8824489.95547  22490555.5824   22490560.8074
+      3136.3964       2443.9494
+  23877733.0114   -4427769.94149  -3435269.72146  23877732.1094   23877737.8124
+      -525.1594       -409.2094
+ 05  1 20 13 36  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24850832.3554    2256619.89548   1785507.59545  24850832.5894   24850840.0154
+     -2709.3394      -2111.1704
+  23692786.8544   -5613585.71649  -4345555.54046  23692785.7534   23692789.8454
+     -3600.5564      -2805.6194
+  25269229.1444   -1732727.94649  -1334594.39645  25269229.1184   25269235.9164
+      2576.9344       2008.0144
+  21350130.3854  -18527667.32049 -14417868.91347  21350130.6024   21350135.9514
+     -2367.8064      -1845.0394
+  22330535.2784  -10337662.20949  -8033131.64847  22330535.4594   22330541.0334
+     -2779.6604      -2165.9664
+  20393451.4114  -22367265.56349 -17406986.49248  20393450.1564   20393453.3944
+      -329.0174       -256.3774
+  23803827.0744   -3773849.85049  -2918006.79845  23803826.3944   23803830.8454
+      3329.5284       2594.4314
+  21321683.0154  -20590983.02249 -16033556.91348  21321682.6534   21321688.4894
+      2180.7364       1699.2774
+  22472667.1764  -11433133.65349  -8897739.18847  22472666.8574   22472672.2954
+      3130.4524       2439.3084
+  23880784.1774   -4411735.73349  -3422775.59146  23880783.6054   23880789.7604
+      -543.7884       -423.7234
+ 05  1 20 13 36 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24866305.2314    2337906.84049   1848847.95545  24866304.5594   24866310.4124
+     -2709.7264      -2111.4684
+  23713348.4064   -5505537.20049  -4261361.99946  23713347.2094   23713350.9074
+     -3602.6954      -2807.2944
+  25254518.6654   -1810025.56749  -1394826.32645  25254519.2624   25254524.2364
+      2576.0954       2007.3504
+  21363681.8544  -18456454.81149 -14362378.65947  21363681.7204   21363687.0914
+     -2379.6724      -1854.2924
+  22346436.9934  -10254099.60349  -7968017.97547  22346436.9114   22346442.7974
+     -2791.1884      -2174.9484
+  20395379.6164  -22357130.11649 -17399088.73848  20395378.8244   20395382.5574
+      -346.6404       -270.1074
+  23784821.2124   -3873715.48749  -2995824.09545  23784819.4854   23784826.7914
+      3328.2034       2593.3984
+  21309260.6684  -20656260.70349 -16084422.64048  21309261.0654   21309266.8754
+      2171.0914       1691.7624
+  22454814.8154  -11526957.11149  -8970848.37947  22454813.4284   22454818.1934
+      3124.4214       2434.6114
+  23883942.1454   -4395142.72949  -3409845.98646  23883940.0754   23883946.8644
+      -562.4104       -438.2424
+ 05  1 20 13 37  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24881774.9374    2419200.81949   1912193.82645  24881773.7674   24881779.4384
+     -2709.8434      -2111.5554
+  23733920.7454   -5397425.15549  -4177118.95646  23733921.0644   23733924.4554
+     -3604.7934      -2808.9224
+  25239816.9104   -1887298.35049  -1455038.95145  25239815.4154   25239819.8404
+      2575.3364       2006.7614
+  21377300.4444  -18384887.36249 -14306611.83147  21377300.1614   21377306.4954
+     -2391.4914      -1863.4984
+  22362402.6614  -10170194.23549  -7902637.21047  22362404.3414   22362408.5694
+     -2802.5164      -2183.7784
+  20397408.6994  -22346467.01049 -17390779.83548  20397407.8154   20397411.4364
+      -364.2024       -283.7934
+  23765825.3774   -3973541.78849  -3073610.74046  23765824.6424   23765831.1274
+      3326.8484       2592.3484
+  21296894.9564  -20721247.36749 -16135061.60648  21296894.6154   21296900.0134
+      2161.3334       1684.1544
+  22436993.4734  -11620598.81249  -9043815.94147  22436993.0914   22436998.9114
+      3118.3344       2429.8754
+  23887205.8734   -4377991.06949  -3396481.06546  23887203.8854   23887211.8444
+      -581.0434       -452.7604
+ 05  1 20 13 37 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24897247.0814    2500501.54049   1975544.90145  24897246.6584   24897252.1584
+     -2710.1354      -2111.7894
+  23754505.4944   -5289252.68249  -4092828.80846  23754505.4084   23754508.7814
+     -3606.7764      -2810.4764
+  25225116.0494   -1964546.23749  -1515232.08145  25225114.1134   25225119.4944
+      2574.4844       2006.0884
+  21390987.4874  -18312967.55649 -14250570.44147  21390986.5574   21390991.7054
+     -2403.2104      -1872.6244
+  22378436.5074  -10085949.41549  -7836991.93047  22378434.9974   22378440.1564
+     -2813.8044      -2192.5704
+  20399537.9274  -22335277.22149 -17382060.52848  20399537.1764   20399540.7474
+      -381.7714       -297.4844
+  23746834.6794   -4073326.13949  -3151364.70046  23746835.9144   23746841.6294
+      3325.3804       2591.1984
+  21284584.1474  -20785940.64049 -16185471.94648  21284583.7714   21284588.7824
+      2151.4864       1676.4854
+  22419208.9904  -11714056.00749  -9116639.73947  22419209.0634   22419214.2144
+      3112.1374       2425.0344
+  23890575.8784   -4360280.91749  -3382680.93946  23890574.7954   23890581.5344
+      -599.6744       -467.2824
+ 05  1 20 13 38  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24912718.2174    2581808.91749   2038901.25045  24912716.2514   24912722.0174
+     -2710.3074      -2111.9244
+  23775101.1094   -5181022.82649  -4008493.95346  23775100.3524   23775103.7954
+     -3608.5984      -2811.8904
+  25210420.2684   -2041769.55449  -1575406.16845  25210419.8574   25210424.9624
+      2573.7114       2005.4924
+  21404738.7404  -18240697.73949 -14194256.30247  21404738.7424   21404744.6084
+     -2414.8204      -1881.6774
+  22394530.9164  -10001368.03749  -7771084.42347  22394530.8334   22394536.0504
+     -2824.9714      -2201.2744
+  20401767.4844  -22323561.93749 -17372931.73348  20401766.6424   20401770.0564
+      -399.2574       -311.1094
+  23727857.8154   -4173065.85649  -3229083.87846  23727857.0034   23727862.5004
+      3323.8854       2590.0424
+  21272329.5494  -20850338.23949 -16235651.89448  21272329.4624   21272334.8094
+      2141.6204       1668.7964
+  22401460.5114  -11807326.27949  -9189317.86547  22401460.0384   22401465.6324
+      3105.8624       2420.1594
+  23894052.3604   -4342012.34949  -3368445.71346  23894051.3184   23894058.5234
+      -618.2524       -481.7514
+ 05  1 20 13 38 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24928188.4784    2663122.91649   2102262.70045  24928188.9304   24928195.3114
+     -2710.4994      -2112.0754
+  23795707.0894   -5072738.61549  -3924116.74946  23795705.4244   23795710.5844
+     -3610.3524      -2813.2474
+  25195731.9184   -2118968.27749  -1635561.08145  25195730.8184   25195735.5104
+      2572.9354       2004.8834
+  21418557.2834  -18168080.33049 -14137671.33047  21418557.3094   21418563.3024
+     -2426.3314      -1890.6454
+  22410689.8764   -9916453.05049  -7704916.94047  22410689.7414   22410694.0074
+     -2836.0024      -2209.8724
+  20404096.5434  -22311322.13249 -17363394.23048  20404095.5234   20404099.2524
+      -416.7394       -324.7324
+  23708882.3524   -4272757.87349  -3306765.93645  23708883.6404   23708890.5414
+      3322.2544       2588.7704
+  21260131.6214  -20914438.07249 -16285599.81448  21260131.8054   21260136.8944
+      2131.6454       1661.0194
+  22383747.5874  -11900407.29749  -9261848.51947  22383746.9884   22383752.9084
+      3099.5344       2415.2124
+  23897634.2554   -4323185.77049  -3353775.64146  23897634.0154   23897640.2524
+      -636.8594       -496.2614
+ 05  1 20 13 39  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24943668.6904    2744443.59649   2165629.34945  24943667.9354   24943673.1334
+     -2710.7994      -2112.3064
+  23816320.0754   -4964403.04149  -3839699.54546  23816320.9414   23816325.9174
+     -3612.0054      -2814.5564
+  25181046.0634   -2196142.27149  -1695696.68145  25181044.5844   25181048.1224
+      2572.0194       2004.1714
+  21432442.9184  -18095117.80049 -14080817.42447  21432441.7774   21432447.2354
+     -2437.8324      -1899.6164
+  22426911.2654   -9831207.56149  -7638491.93447  22426911.3374   22426916.5504
+     -2846.9954      -2218.4314
+  20406525.4284  -22298558.89449 -17353448.85948  20406524.5834   20406528.1754
+      -434.1564       -338.3044
+  23689925.0074   -4372399.54049  -3384408.73645  23689923.7814   23689928.9314
+      3320.5014       2587.4114
+  21247991.9864  -20978237.80249 -16335313.89448  21247991.1004   21247996.0794
+      2121.5834       1653.1764
+  22366071.4724  -11993296.75349  -9334229.90847  22366070.7104   22366077.1124
+      3093.0914       2410.1944
+  23901324.0654   -4303801.18649  -3338670.81046  23901323.0584   23901329.7584
+      -655.4684       -510.7514
+ 05  1 20 13 39 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24959140.1254    2825770.25749   2229000.67045  24959140.1614   24959147.9704
+     -2711.0624      -2112.5144
+  23836947.8394   -4856019.06349  -3755244.60646  23836946.7334   23836950.2944
+     -3613.6194      -2815.8004
+  25166365.3564   -2273291.62449  -1755813.03145  25166363.0774   25166366.2454
+      2571.2104       2003.5424
+  21446390.8784  -18021812.69549 -14023696.58747  21446390.9284   21446396.8664
+     -2449.1674      -1908.4474
+  22443195.2704   -9745634.83049  -7571811.93047  22443195.1994   22443200.0224
+     -2857.8734      -2226.9144
+  20409054.0794  -22285273.32749 -17343096.47748  20409053.0234   20409056.1604
+      -451.5664       -351.8704
+  23670972.7894   -4471988.07149  -3462010.15545  23670972.1864   23670977.1414
+      3318.6874       2585.9854
+  21235908.2334  -21041735.06349 -16384792.28348  21235907.7144   21235913.0624
+      2111.5074       1645.3314
+  22348431.0754  -12085992.42149  -9406460.29847  22348432.0184   22348437.6524
+      3086.6154       2405.1594
+  23905118.1714   -4283859.04649  -3323131.45446  23905117.9244   23905124.9504
+      -674.0544       -525.2314
+ 05  1 20 13 40  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24974620.0604    2907103.00449   2292376.70945  24974618.6814   24974623.8754
+     -2711.1974      -2112.6164
+  23857578.7374   -4747589.55049  -3670754.18946  23857579.3594   23857583.7454
+     -3615.0464      -2816.9174
+  25151686.0524   -2350416.39649  -1815910.29645  25151685.7534   25151692.9684
+      2570.3564       2002.8764
+  21460406.1234  -17948167.37449 -13966310.63547  21460405.4464   21460411.1954
+     -2460.5144      -1917.2834
+  22459541.2664   -9659738.10749  -7504879.45947  22459541.1264   22459546.3844
+     -2868.5934      -2235.2654
+  20411681.2324  -22271466.56849 -17332337.96748  20411680.2634   20411683.7134
+      -468.8864       -365.3644
+  23652033.3374   -4571520.57949  -3539567.87246  23652032.8314   23652037.3264
+      3316.7634       2584.4764
+  21223882.6234  -21104927.65949 -16434033.26748  21223882.2754   21223887.8594
+      2101.3194       1637.3904
+  22330830.5254  -12178491.18949  -9478537.27347  22330829.9464   22330835.5574
+      3079.9764       2399.9824
+  23909019.9294   -4263359.50049  -3307157.80946  23909019.0934   23909025.1404
+      -692.5954       -539.6894
+ 05  1 20 13 40 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  24990098.8554    2988441.94049   2355757.53445  24990097.5464   24990101.4394
+     -2711.4294      -2112.8014
+  23878222.5014   -4639117.62149  -3586230.74046  23878222.7734   23878224.9924
+     -3616.4004      -2817.9774
+  25137015.4084   -2427516.47949  -1875988.31245  25137014.1584   25137020.5884
+      2569.5694       2002.2614
+  21474484.9804  -17874184.11849 -13908661.35747  21474484.4904   21474489.6254
+     -2471.7234      -1926.0204
+  22475946.8814   -9573520.30649  -7437696.80747  22475947.3724   22475953.1564
+     -2879.2784      -2243.5874
+  20414407.3864  -22257139.75349 -17321174.22348  20414406.4074   20414410.0884
+      -486.2154       -378.8684
+  23633102.6484   -4670994.06849  -3617079.57946  23633102.6544   23633109.6894
+      3314.7464       2582.9234
+  21211915.8534  -21167813.46749 -16483035.20048  21211915.5534   21211921.2674
+      2091.0314       1629.3764
+  22313267.3094  -12270790.80349  -9550459.05547  22313265.8574   22313271.6144
+      3073.3264       2394.8054
+  23913026.1194   -4242303.08949  -3290750.22346  23913026.0984   23913032.5464
+      -711.2074       -554.1884
+ 05  1 20 13 41  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25005577.2544    3069786.82649   2419143.08945  25005576.5624   25005582.8284
+     -2711.6084      -2112.9354
+  23898873.1464   -4530606.38449  -3501676.64746  23898870.6324   23898874.8694
+     -3617.6524      -2818.9404
+  25122348.0524   -2504592.04249  -1936047.25545  25122348.2484   25122352.5134
+      2568.7314       2001.6124
+  21488627.0524  -17799865.62349 -13850750.86847  21488626.9274   21488632.4514
+     -2482.8634      -1934.6934
+  22492414.8624   -9486984.28749  -7370266.20047  22492415.3754   22492420.0394
+     -2889.8284      -2251.8114
+  20417232.7674  -22242294.23949 -17309606.29948  20417231.5614   20417234.7014
+      -503.4904       -392.3294
+  23614186.2354   -4770405.87849  -3694543.30145  23614184.9344   23614190.9294
+      3312.6634       2581.2994
+  21200008.1754  -21230389.89849 -16531796.06648  21200007.8564   21200013.2964
+      2080.7074       1621.3304
+  22295740.0064  -12362889.42149  -9622224.21147  22295740.2644   22295746.0844
+      3066.5784       2389.5404
+  23917138.9454   -4220689.99349  -3273908.85046  23917138.6234   23917145.2144
+      -729.7514       -568.6354
+ 05  1 20 13 41 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25021058.0724    3151137.44749   2482533.10145  25021057.1074   25021063.8894
+     -2711.7854      -2113.0784
+  23919527.5104   -4422058.39249  -3417093.92946  23919527.4354   23919531.6664
+     -3618.9244      -2819.9374
+  25107684.5104   -2581642.94849  -1996086.97045  25107684.0554   25107691.0294
+      2567.9284       2000.9864
+  21502832.0884  -17725214.07049 -13792580.84447  21502832.3084   21502837.6654
+     -2493.9214      -1943.3134
+  22508942.2644   -9400133.41149  -7302590.22047  22508941.6934   22508947.4734
+     -2900.2524      -2259.9304
+  20420155.6384  -22226930.98649 -17297634.93248  20420154.8134   20420158.4644
+      -520.7394       -405.7684
+  23595280.7964   -4869753.24849  -3771956.77946  23595280.9234   23595287.0014
+      3310.4384       2579.5604
+  21188159.9874  -21292654.96149 -16580314.30648  21188159.7334   21188164.7394
+      2070.2534       1613.1864
+  22278254.5794  -12454784.30449  -9693830.61247  22278253.1514   22278258.9684
+      3059.7284       2384.1994
+  23921358.3044   -4198520.27649  -3256633.82246  23921357.3174   23921364.6714
+      -748.3034       -583.0914
+ 05  1 20 13 42  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25036538.8114    3232493.75649   2545927.51545  25036539.4464   25036546.5974
+     -2711.9644      -2113.2174
+  23940190.6424   -4313476.58849  -3332484.85746  23940189.6474   23940194.6444
+     -3619.9044      -2820.7004
+  25093030.2744   -2658669.34049  -2056107.49245  25093028.7464   25093033.3554
+      2567.1334       2000.3634
+  21517100.9194  -17650232.15849 -13734153.39847  21517100.9054   21517106.2484
+     -2504.8954      -1951.8664
+  22525528.9654   -9312970.57949  -7234671.17647  22525529.0054   22525534.1514
+     -2910.5874      -2267.9764
+  20423177.2134  -22211051.14349 -17285261.03848  20423176.6154   20423180.1954
+      -537.9054       -419.1464
+  23576388.5664   -4969033.14449  -3849317.69446  23576388.1214   23576393.7794
+      3308.1484       2577.7784
+  21176371.0414  -21354606.29749 -16628588.07648  21176370.5944   21176375.8034
+      2059.8104       1605.0474
+  22260806.5104  -12546472.85349  -9765276.23647  22260805.5554   22260811.4294
+      3052.8164       2378.8184
+  23925682.8264   -4175794.70049  -3238925.60146  23925682.3464   23925686.9534
+      -766.7684       -597.4814
+ 05  1 20 13 42 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25052021.8144    3313855.70949   2609326.29145  25052022.1474   25052027.4514
+     -2712.1064      -2113.3214
+  23960856.7964   -4204864.18949  -3247851.92246  23960856.8084   23960860.8574
+     -3620.8894      -2821.4784
+  25078374.7414   -2735671.29549  -2116109.01445  25078374.9164   25078381.2884
+      2566.3234       1999.7334
+  21531432.5804  -17574922.26749 -13675470.36847  21531432.0874   21531437.7044
+     -2515.7834      -1960.3564
+  22542173.4544   -9225499.17349  -7166511.69847  22542173.7434   22542179.0394
+     -2920.8234      -2275.9594
+  20426297.5044  -22194656.03649 -17272485.63148  20426296.5164   20426300.0574
+      -555.0814       -432.5304
+  23557510.6394   -5068242.66849  -3926623.76946  23557509.0624   23557515.2674
+      3305.7844       2575.9284
+  21164641.4504  -21416241.63149 -16676615.60948  21164641.3444   21164647.0194
+      2049.1874       1596.7724
+  22243398.4584  -12637952.61449  -9836559.17547  22243397.7154   22243403.1934
+      3045.8294       2373.3754
+  23930112.4274   -4152513.52449  -3220784.44646  23930111.5404   23930119.4714
+      -785.3174       -611.9394
+ 05  1 20 13 43  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25067507.3784    3395223.01649   2672729.25045  25067507.0344   25067511.2854
+     -2712.3774      -2113.5374
+  23981529.5044   -4096224.13749  -3163197.49146  23981530.6434   23981535.5254
+     -3621.7724      -2822.1624
+  25063725.3554   -2812648.80849  -2176091.50845  25063727.2084   25063733.0034
+      2565.5074       1999.0964
+  21545825.2744  -17499286.64049 -13616533.54347  21545825.0024   21545830.7854
+     -2526.6124      -1968.7914
+  22558877.4164   -9137722.14449  -7098114.06747  22558877.6984   22558881.7924
+     -2930.9744      -2283.8744
+  20429515.4764  -22177746.93649 -17259309.71448  20429514.2614   20429518.0104
+      -572.2014       -445.8704
+  23538644.4714   -5167379.24549  -4003872.96446  23538644.6384   23538651.0724
+      3303.2754       2573.9724
+  21152974.0754  -21477558.58949 -16724395.06048  21152973.5294   21152978.8784
+      2038.5414       1588.4784
+  22226030.5024  -12729221.38749  -9907677.70347  22226029.5584   22226035.1454
+      3038.7524       2367.8584
+  23934647.6364   -4128677.09649  -3202210.60246  23934647.8804   23934654.3404
+      -803.7764       -626.3154
+ 05  1 20 13 43 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25082988.9564    3476595.68449   2736136.45345  25082989.1584   25082996.1714
+     -2712.5174      -2113.6474
+  24002210.1874   -3987559.18249  -3078523.63946  24002209.6124   24002213.4384
+     -3622.6124      -2822.8174
+  25049084.7544   -2889602.01449  -2236055.05745  25049082.7034   25049088.5694
+      2564.7104       1998.4764
+  21560279.1344  -17423327.84649 -13557344.88147  21560279.4224   21560285.0364
+     -2537.3514      -1977.1594
+  22575638.8744   -9049642.91749  -7029480.92447  22575638.1094   22575643.7254
+     -2940.9974      -2291.6864
+  20432830.1204  -22160325.29649 -17245734.40948  20432829.5824   20432833.1514
+      -589.2524       -459.1614
+  23519793.8264   -5266440.05449  -4081063.15546  23519794.0554   23519799.2364
+      3300.7164       2571.9894
+  21141366.3334  -21538555.19349 -16771924.88248  21141365.9144   21141371.6514
+      2027.8514       1580.1404
+  22208702.7914  -12820276.85549  -9978630.02247  22208702.4664   22208707.8894
+      3031.5534       2362.2434
+  23939289.8694   -4104286.05749  -3183204.58146  23939289.6284   23939295.4924
+      -822.2704       -640.7224
+ 05  1 20 13 44  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25098475.3644    3557973.48449   2799547.61745  25098475.8524   25098482.0324
+     -2712.6884      -2113.7784
+  24022892.3994   -3878872.44849  -2993832.79946  24022892.6534   24022897.1254
+     -3623.2114      -2823.2744
+  25034445.7974   -2966530.79549  -2295999.56145  25034444.3104   25034449.9344
+      2563.8454       1997.8074
+  21574795.3884  -17347048.36849 -13497906.35847  21574794.8604   21574800.7534
+     -2547.9734      -1985.4374
+  22592455.1534   -8961264.45249  -6960614.65446  22592456.1024   22592461.5624
+     -2950.9054      -2299.4014
+  20436243.3144  -22142392.05249 -17231760.45548  20436242.3124   20436245.6654
+      -606.2894       -472.4334
+  23500957.2474   -5365422.26349  -4158192.08746  23500957.4604   23500962.1574
+      3298.0234       2569.8864
+  21129820.6174  -21599228.86149 -16819203.07348  21129820.1724   21129825.8364
+      2017.0334       1571.7174
+  22191416.4614  -12911116.05149 -10049413.80747  22191415.8164   22191421.9934
+      3024.3524       2356.6374
+  23944037.5614   -4079340.60549  -3163766.57646  23944036.7514   23944044.3374
+      -840.7194       -655.0994
+ 05  1 20 13 44 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25113965.2124    3639356.45549   2862962.81345  25113963.5294   25113969.6664
+     -2712.8274      -2113.8884
+  24043580.0734   -3770166.66549  -2909127.08146  24043578.2634   24043583.1274
+     -3623.8084      -2823.7414
+  25019805.3664   -3043435.17749  -2355925.07445  25019807.3784   25019813.7564
+      2563.0124       1997.1544
+  21589372.3674  -17270450.70049 -13438219.86647  21589371.2784   21589376.8904
+     -2558.5424      -1993.6724
+  22609330.7204   -8872589.74149  -6891517.50547  22609330.6194   22609335.3634
+     -2960.7344      -2307.0724
+  20439752.8594  -22123948.72049 -17217389.02948  20439751.5424   20439755.2414
+      -623.2634       -485.6594
+  23482138.8684   -5464322.83749  -4235257.40346  23482138.2874   23482142.9574
+      3295.2984       2567.7644
+  21118336.6394  -21659577.55549 -16866228.03348  21118336.1224   21118341.5644
+      2006.1634       1563.2444
+  22174171.2874  -13001736.44449 -10120027.09647  22174171.3304   22174177.2464
+      3017.0374       2350.9404
+  23948890.8614   -4053841.30749  -3143897.04046  23948889.2644   23948894.8844
+      -859.1634       -669.4684
+ 05  1 20 13 45  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25129449.2334    3720744.47349   2926381.95745  25129450.0644   25129454.8484
+     -2712.9884      -2114.0124
+  24064267.9554   -3661444.63649  -2824408.74846  24064267.0304   24064271.5894
+     -3624.2724      -2824.1004
+  25005179.6454   -3120315.13949  -2415831.54745  25005179.6854   25005183.9894
+      2562.2994       1996.5934
+  21604007.0724  -17193537.06949 -13378287.18347  21604007.2884   21604012.8464
+     -2569.0234      -2001.8354
+  22626260.7694   -8783622.05349  -6822192.09147  22626260.9734   22626266.4674
+     -2970.4314      -2314.6274
+  20443358.8584  -22104996.50349 -17202621.07048  20443358.2414   20443361.9344
+      -640.2004       -498.8554
+  23463334.4214   -5563139.00949  -4312256.97046  23463333.6764   23463338.3254
+      3292.4104       2565.5164
+  21106914.8024  -21719598.93749 -16912997.94748  21106914.4584   21106920.0334
+      1995.1934       1554.7004
+  22156969.2094  -13092135.68549 -10190468.05447  22156968.9394   22156974.8824
+      3009.6164       2345.1564
+  23953846.7124   -4027788.75649  -3123596.38046  23953847.5054   23953853.5744
+      -877.6174       -683.8574
+ 05  1 20 13 45 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25144939.5264    3802137.41149   2989804.90745  25144938.9844   25144945.3804
+     -2713.1554      -2114.1484
+  24084958.4194   -3552709.49149  -2739680.20246  24084958.7464   24084964.4354
+     -3624.7314      -2824.4634
+  24990555.1324   -3197170.87549  -2475719.07545  24990554.2554   24990557.7404
+      2561.4734       1995.9564
+  21618703.3134  -17116309.92949 -13318110.20847  21618703.3324   21618708.3114
+     -2579.4304      -2009.9434
+  22643245.3554   -8694364.34049  -6752640.67746  22643245.5944   22643251.2264
+     -2980.0934      -2322.1664
+  20447061.7854  -22085536.59949 -17187457.51548  20447061.1864   20447065.1154
+      -657.0994       -512.0274
+  23444546.2164   -5661867.65049  -4389188.32346  23444544.9744   23444550.5284
+      3289.4824       2563.2194
+  21095556.1814  -21779290.74849 -16959511.04248  21095555.6874   21095560.8064
+      1984.2274       1546.1504
+  22139809.9854  -13182311.03549 -10260734.56247  22139809.0514   22139814.8364
+      3002.1214       2339.3144
+  23958908.3594   -4001183.68049  -3102865.14646  23958908.8374   23958916.4814
+      -896.0464       -698.2184
+ 05  1 20 13 46  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25160431.6404    3883535.28249   3053231.71145  25160430.6504   25160435.3634
+     -2713.2624      -2114.2294
+  24105655.0694   -3443964.13249  -2654943.70046  24105652.6114   24105657.7074
+     -3624.9634      -2824.6434
+  24975934.3464   -3274002.26549  -2535587.67045  24975934.6534   24975941.0584
+      2560.6214       1995.2904
+  21633458.5194  -17038771.86949 -13257690.95047  21633458.0674   21633464.0384
+     -2589.7484      -2017.9874
+  22660283.8184   -8604819.92749  -6682865.84346  22660284.5004   22660290.4994
+     -2989.5704      -2329.5384
+  20450861.5254  -22065570.36649 -17171899.41248  20450860.7014   20450864.3694
+      -673.9654       -525.1704
+  23425775.6244   -5760506.05649  -4466049.35946  23425776.0254   23425781.3674
+      3286.4124       2560.8204
+  21084259.9504  -21838650.57149 -17005765.44848  21084259.7844   21084264.9154
+      1973.0784       1537.4594
+  22122693.6864  -13272260.47549 -10330825.03247  22122692.2614   22122698.0054
+      2994.5094       2333.3754
+  23964075.9964   -3974026.56349  -3081703.77645  23964076.0084   23964083.9314
+      -914.3734       -712.5024
+ 05  1 20 13 46 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25175918.1184    3964937.92349   3116662.32345  25175917.8694   25175926.3294
+     -2713.4044      -2114.3434
+  24126346.0244   -3335211.48349  -2570201.51646  24126347.7294   24126351.8344
+     -3625.1404      -2824.7724
+  24961319.0774   -3350809.47449  -2595437.45045  24961317.0184   24961325.4414
+      2559.8784       1994.7084
+  21648271.4664  -16960925.22449 -13197031.24947  21648271.6404   21648277.2094
+     -2600.0244      -2025.9924
+  22677378.8074   -8514992.26449  -6612870.31146  22677378.7874   22677384.4804
+     -2998.9524      -2336.8444
+  20454757.3794  -22045099.42949 -17155948.03848  20454756.1014   20454759.8574
+      -690.7744       -538.2644
+  23407025.2924   -5859051.52549  -4542837.97446  23407022.4554   23407028.9794
+      3283.2784       2558.4094
+  21073028.2174  -21897676.48349 -17051759.67148  21073027.8474   21073032.8554
+      1961.9174       1528.7674
+  22105620.0994  -13361981.27549 -10400737.34447  22105619.3764   22105624.6544
+      2986.8444       2327.4044
+  23969352.3814   -3946317.75549  -3060112.53646  23969351.6484   23969357.0474
+      -932.8304       -726.8794
+ 05  1 20 13 47  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25191412.7434    4046345.10949   3180096.41145  25191412.5784   25191416.9984
+     -2713.6484      -2114.5274
+  24147042.5764   -3226454.17449  -2485455.69146  24147043.4394   24147048.7434
+     -3625.3504      -2824.9424
+  24946707.2834   -3427592.43949  -2655268.29645  24946706.6054   24946711.7934
+      2559.0384       1994.0544
+  21663143.9904  -16882772.46949 -13136133.01647  21663143.8664   21663149.1094
+     -2610.1554      -2033.8874
+  22694526.9044   -8424884.28049  -6542656.34846  22694526.6184   22694530.6094
+     -3008.2674      -2344.0994
+  20458748.8654  -22024124.91649 -17139604.26648  20458747.5904   20458751.0034
+      -707.5264       -551.3194
+  23388287.6294   -5957501.01249  -4619551.77246  23388287.9424   23388293.7894
+      3279.9364       2555.7764
+  21061859.6264  -21956365.96049 -17097491.73248  21061859.4764   21061864.6824
+      1950.6604       1519.9934
+  22088590.8484  -13451470.47949 -10470469.19947  22088590.2064   22088595.2464
+      2979.1334       2321.4004
+  23974728.0484   -3918057.92849  -3038091.94646  23974728.4054   23974734.4784
+      -951.2234       -741.2104
+ 05  1 20 13 47 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25206903.0464    4127756.78749   3243533.93845  25206902.0784   25206909.4244
+     -2713.8014      -2114.6504
+  24167738.9554   -3117695.29149  -2400708.68045  24167739.5444   24167745.9834
+     -3625.2854      -2824.8934
+  24932101.9344   -3504351.16149  -2715080.30145  24932100.5614   24932104.0364
+      2558.1864       1993.3904
+  21678073.1374  -16804316.23349 -13074998.30747  21678073.5204   21678079.0094
+     -2620.2364      -2041.7434
+  22711725.7644   -8334498.95049  -6472226.25346  22711725.6904   22711731.4424
+     -3017.4584      -2351.2674
+  20462835.0874  -22002648.26949 -17122869.21648  20462834.5924   20462838.0234
+      -724.2464       -564.3484
+  23369574.2104   -6055851.77649  -4696188.64346  23369574.1144   23369579.6804
+      3276.7724       2553.3234
+  21050755.5934  -22014716.83349 -17142959.93948  21050755.3514   21050761.0654
+      1939.3584       1511.1904
+  22071606.1564  -13540726.75149 -10540019.52547  22071605.2644   22071610.2364
+      2971.2784       2315.2774
+  23980209.9504   -3889247.78649  -3015642.49946  23980209.7684   23980216.2764
+      -969.5244       -755.4774
+ 05  1 20 13 48  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25222397.7924    4209172.87949   3306974.97645  25222396.8974   25222401.3744
+     -2713.9824      -2114.7914
+  24188435.9564   -3008937.79849  -2315962.73645  24188435.5434   24188441.6054
+     -3625.2094      -2824.8284
+  24917499.6854   -3581085.62149  -2774873.33645  24917498.5424   24917504.3324
+      2557.4294       1992.8024
+  21693061.4494  -16725558.50849 -13013628.65947  21693060.8444   21693066.6694
+     -2630.2594      -2049.5534
+  22728977.3544   -8243839.68949  -6401582.71846  22728977.3164   22728983.1284
+     -3026.5324      -2358.3354
+  20467017.4484  -21980670.90149 -17105743.99648  20467016.3874   20467020.1974
+      -740.9074       -577.3314
+  23350877.9334   -6154100.56549  -4772746.07846  23350877.1124   23350882.7474
+      3273.1834       2550.5304
+  21039716.4784  -22072726.80949 -17188162.51848  21039716.3184   21039722.2134
+      1927.9604       1502.3094
+  22054666.1874  -13629746.50149 -10609385.55547  22054665.9794   22054670.8424
+      2963.3544       2309.1144
+  23985799.1344   -3859888.06349  -2992764.74546  23985797.0704   23985804.9104
+      -987.8564       -769.7584
+ 05  1 20 13 48 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25237889.7184    4290593.35049   3370419.44045  25237888.5504   25237895.0624
+     -2714.0364      -2114.8294
+  24209128.6834   -2900184.45849  -2231220.01645  24209130.0444   24209137.2974
+     -3625.0134      -2824.6794
+  24902901.8664   -3657795.87449  -2834647.48445  24902901.0184   24902906.4464
+      2556.5934       1992.1484
+  21708104.2504  -16646501.94249 -12952026.15647  21708104.6054   21708110.5924
+     -2640.1764      -2057.2804
+  22746280.5394   -8152909.48949  -6330728.06346  22746281.2074   22746286.0294
+     -3035.4804      -2365.3014
+  20471294.8964  -21958194.30549 -17088229.76148  20471293.8154   20471297.1384
+      -757.5134       -590.2704
+  23332200.9774   -6252244.90449  -4849222.09246  23332201.1654   23332206.0354
+      3269.6964       2547.8024
+  21028743.1214  -22130393.60549 -17233097.68248  21028742.9064   21028748.6024
+      1916.4584       1493.3454
+  22037771.1744  -13718527.35749 -10678565.43447  22037770.9844   22037776.1124
+      2955.3734       2302.8904
+  23991488.5104   -3829979.16549  -2969459.15045  23991487.8704   23991494.8834
+     -1006.1284       -783.9894
+ 05  1 20 13 49  0.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25253385.2704    4372018.25249   3433867.30845  25253385.6344   25253390.8314
+     -2714.3014      -2115.0344
+  24229821.7664   -2791438.27349  -2146482.87645  24229824.3494   24229831.2974
+     -3624.6884      -2824.4184
+  24888308.6864   -3734482.12849  -2894403.01545  24888308.2574   24888314.1404
+      2555.8304       1991.5564
+  21723205.4944  -16567148.90549 -12890192.64547  21723205.0894   21723210.7564
+     -2650.0184      -2064.9504
+  22763634.4384   -8061711.65649  -6259664.86346  22763635.5404   22763640.2194
+     -3044.3844      -2372.2624
+  20475666.4974  -21935219.95349 -17070327.67348  20475665.7024   20475669.2494
+      -774.1094       -603.2034
+  23313545.8804   -6350282.09349  -4925614.61046  23313544.6194   23313550.8894
+      3266.1034       2545.0104
+  21017836.4134  -22187715.08249 -17277763.76748  21017835.2944   21017840.3694
+      1904.9274       1484.3584
+  22020922.7694  -13807067.07549 -10747557.42147  22020922.5344   22020927.3284
+      2947.2824       2296.5814
+  23997284.7144   -3799522.04049  -2945726.42745  23997285.0134   23997291.1244
+     -1024.3804       -798.2144
+ 05  1 20 13 49 30.0000000  0 10G16G23G28G 3G13G19G11G27G 8G15
+  25268880.0274    4453447.43249   3497318.52845  25268878.5234   25268885.6334
+     -2714.3224      -2115.0474
+  24250515.9624   -2682701.89049  -2061753.37845  24250515.0874   24250521.3094
+     -3624.3654      -2824.1764
+  24873718.0984   -3811144.42149  -2954139.86745  24873718.4484   24873723.6484
+      2554.9954       1990.9074
+  21738361.0414  -16487501.86049 -12828130.01647  21738361.1144   21738366.9054
+     -2659.7434      -2072.5234
+  22781040.2964   -7970249.18949  -6188395.43446  22781040.6114   22781046.0374
+     -3053.1394      -2379.0844
+  20480132.9254  -21911749.13749 -17052038.72548  20480132.2164   20480135.6084
+      -790.6154       -616.0604
+  23294909.7534   -6448209.13449  -5001921.32146  23294909.6364   23294915.6714
+      3262.3324       2542.0754
+  21006993.8064  -22244688.93049 -17322158.97148  21006993.2284   21006998.6254
+      1893.3374       1475.3294
+  22004121.1054  -13895363.07349 -10816359.49047  22004120.0614   22004125.4174
+      2939.1044       2290.2044
+  24003185.2254   -3768517.29649  -2921566.90046  24003184.9044   24003192.6624
+     -1042.5414       -812.3654
+ 05  1 20 13 50  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24271204.9524   -2573978.11849  -1977033.72845  24271205.6574   24271210.8014
+     -3623.8784      -2823.8024
+  24859134.7944   -3887782.49349  -3013857.85145  24859135.2964   24859140.4484
+      2554.2084       1990.2964
+  21753572.4564  -16407563.33049 -12765840.27347  21753572.8954   21753578.5714
+     -2669.4514      -2080.0914
+  22798494.9964   -7878525.46749  -6116922.43246  22798495.3954   22798500.5484
+     -3061.7994      -2385.8184
+  20484693.5724  -21887783.24049 -17033363.99648  20484692.5134   20484696.5194
+      -807.1024       -628.9104
+  23276295.9724   -6546022.75349  -5078139.60546  23276296.0314   23276302.1274
+      3258.4994       2539.0884
+  20996219.0784  -22301312.95449 -17366281.58348  20996218.1264   20996223.6174
+      1881.5864       1466.1704
+  21987364.9884  -13983412.60249 -10884969.51047  21987364.6074   21987370.7834
+      2930.8934       2283.8164
+  24009189.3754   -3736965.82749  -2896981.34445  24009187.1904   24009195.5704
+     -1060.8314       -826.6274
+ 05  1 20 13 50 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24291894.1254   -2465269.84749  -1892326.15945  24291892.3684   24291897.2674
+     -3623.4144      -2823.4304
+  24844559.2714   -3964395.87349  -3073556.49445  24844557.4654   24844562.6474
+      2553.3984       1989.6574
+  21768841.3374  -16327335.78049 -12703325.31947  21768840.3954   21768845.8574
+     -2679.0434      -2087.5594
+  22815998.5454   -7786543.68049  -6045248.37346  22815998.9234   22816003.1064
+     -3070.3224      -2392.4544
+  20489348.0034  -21863323.39549 -17014304.37948  20489347.1264   20489350.9264
+      -823.5364       -641.7174
+  23257705.8884   -6643720.03349  -5154267.27746  23257704.9124   23257710.5914
+      3254.5854       2536.0264
+  20985509.8774  -22357584.79849 -17410129.76448  20985509.8304   20985515.3344
+      1869.8064       1456.9924
+  21970657.1134  -14071212.98349 -10953385.38547  21970656.8454   21970663.0764
+      2922.4964       2277.2754
+  24015298.0464   -3704868.40649  -2871970.38645  24015297.0744   24015302.5174
+     -1079.0654       -840.8314
+ 05  1 20 13 51  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24312575.8544   -2356579.92749  -1807632.89045  24312576.7104   24312581.2124
+     -3622.6704      -2822.8564
+  24829981.3914   -4040985.15849  -3133236.43445  24829981.8234   24829987.1404
+      2552.6004       1989.0414
+  21784161.4084  -16246821.73249 -12640587.11547  21784161.4094   21784166.7144
+     -2688.5454      -2094.9694
+  22833551.9204   -7694306.98749  -5973375.64846  22833551.2204   22833555.1104
+     -3078.7544      -2399.0284
+  20494096.2404  -21838371.49649 -16994861.35048  20494095.3464   20494098.8444
+      -839.9124       -654.4764
+  23239136.5714   -6741298.10849  -5230302.06946  23239136.7864   23239142.7854
+      3250.5674       2532.8884
+  20974869.0824  -22413502.37449 -17453701.89648  20974868.9084   20974874.6164
+      1857.9864       1447.7824
+  21953997.1744  -14158761.29149 -11021604.84447  21953997.0124   21954003.0394
+      2913.9954       2270.6474
+  24021508.5964   -3672225.95049  -2846534.72745  24021508.2424   24021514.0524
+     -1097.1774       -854.9514
+ 05  1 20 13 51 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24333254.4424   -2247911.40849  -1722956.26145  24333255.5114   24333260.7324
+     -3621.8894      -2822.2434
+  24815411.7334   -4117550.53049  -3192897.75845  24815411.0064   24815416.3704
+      2551.7014       1988.3424
+  21799537.5174  -16166023.39449 -12577627.39447  21799536.8814   21799542.6954
+     -2698.0114      -2102.3424
+  22851150.0984   -7601818.42749  -5901306.68146  22851150.6754   22851156.4654
+     -3087.0734      -2405.5114
+  20498937.5384  -21812929.11349 -16975036.11548  20498936.8414   20498940.4954
+      -856.2634       -667.2184
+  23220592.4824   -6838754.19749  -5306241.77746  23220591.7034   23220596.7844
+      3246.4434       2529.6874
+  20964296.0294  -22469063.30749 -17496996.12548  20964295.9624   20964301.6474
+      1846.0374       1438.4724
+  21937386.4324  -14246055.46149 -11089626.26847  21937385.4234   21937391.6574
+      2905.5364       2264.0534
+  24027824.6744   -3639038.99549  -2820674.79445  24027823.9764   24027830.3154
+     -1115.3314       -869.0914
+ 05  1 20 13 52  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24353931.3194   -2139266.94249  -1638298.44745  24353929.7234   24353934.6414
+     -3621.0384      -2821.5834
+  24800846.3124   -4194091.80749  -3252540.32545  24800846.4094   24800854.1224
+      2551.0264       1987.8154
+  21814965.7874  -16084943.22849 -12514448.04947  21814965.8724   21814971.7514
+     -2707.3344      -2109.6094
+  22868797.3474   -7509081.26049  -5829044.00246  22868798.0974   22868801.9754
+     -3095.3194      -2411.9334
+  20503873.0984  -21786997.69549 -16954829.81748  20503871.8554   20503874.8204
+      -872.5044       -679.8674
+  23202070.5444   -6936085.63549  -5382084.39746  23202069.7264   23202074.8684
+      3242.2834       2526.4674
+  20953791.9334  -22524265.47949 -17540010.81048  20953791.4344   20953796.8424
+      1834.0824       1429.1604
+  21920822.4374  -14333093.68249 -11157448.25847  21920822.5734   21920828.9804
+      2896.9824       2257.3964
+  24034240.6784   -3605308.62149  -2794391.38245  24034240.8704   24034248.9874
+     -1133.3734       -883.1454
+ 05  1 20 13 52 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24374599.9174   -2030649.26549  -1553661.49145  24374598.5574   24374605.6614
+     -3620.0954      -2820.8484
+  24786287.2124   -4270608.92949  -3312164.01945  24786287.1944   24786292.6654
+      2550.2024       1987.1754
+  21830447.6964  -16003583.71349 -12451051.03447  21830447.5414   21830453.4774
+     -2716.6144      -2116.8474
+  22886491.0554   -7416098.67649  -5756590.08146  22886490.6754   22886496.6924
+     -3103.4534      -2418.2704
+  20508899.8174  -21760578.90549 -16934243.74648  20508899.1174   20508902.1994
+      -888.7404       -692.5254
+  23183572.8894   -7033289.53649  -5457827.62646  23183571.5314   23183578.5114
+      3237.9814       2523.1054
+  20943355.7104  -22579106.47049 -17582744.04548  20943355.5364   20943361.0334
+      1821.9614       1419.7134
+  21904310.1054  -14419872.68549 -11225068.26247  21904309.0554   21904315.2064
+      2888.2674       2250.6014
+  24040763.2864   -3571035.64549  -2767685.19645  24040761.8644   24040770.1864
+     -1151.4464       -897.2274
+ 05  1 20 13 53  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24395263.2854   -1922061.31949  -1469047.67445  24395262.4644   24395267.8434
+     -3619.1244      -2820.0944
+  24771729.4314   -4347101.88849  -3371768.89545  24771730.2064   24771735.0284
+      2549.3244       1986.4864
+  21845983.0754  -15921947.10749 -12387438.12247  21845983.3584   21845988.4194
+     -2725.8174      -2124.0134
+  22904232.8974   -7322874.01949  -5683947.52946  22904233.1144   22904237.3424
+     -3111.5084      -2424.5564
+  20514019.5314  -21733674.17149 -16913279.01348  20514018.7594   20514022.0404
+      -904.9074       -705.1274
+  23165100.0924   -7130362.90149  -5533469.15046  23165100.3924   23165104.6874
+      3233.5474       2519.6374
+  20932989.5974  -22633584.29249 -17625194.29748  20932989.0224   20932994.3244
+      1809.8534       1410.2714
+  21887844.2584  -14506389.66649 -11292484.08247  21887845.2904   21887851.2584
+      2879.4834       2243.7514
+  24047391.4824   -3536220.77949  -2740556.76545  24047390.1914   24047395.5384
+     -1169.4984       -911.2964
+ 05  1 20 13 53 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24415921.2904   -1813505.88149  -1384459.18145  24415920.6084   24415926.8754
+     -3617.9404      -2819.1664
+  24757179.0464   -4423570.78949  -3431355.03245  24757177.7514   24757181.4774
+      2548.5594       1985.8874
+  21861570.0314  -15840035.86549 -12323611.18147  21861569.6244   21861575.3924
+     -2734.9144      -2131.1004
+  22922016.2904   -7229410.39149  -5611118.77646  22922017.4464   22922024.0674
+     -3119.4134      -2430.7164
+  20519231.4934  -21706285.08749 -16891936.87048  20519230.5694   20519233.8984
+      -921.0154       -717.6724
+  23146651.5554   -7227302.54749  -5609006.47746  23146653.1794   23146658.8134
+      3229.0494       2516.1414
+  20922692.4104  -22687696.57549 -17667359.71348  20922691.7514   20922697.2274
+      1797.6454       1400.7684
+  21871432.0064  -14592642.10549 -11359693.75747  21871431.9044   21871438.1424
+      2870.6694       2236.8794
+  24054117.1384   -3500865.16849  -2713006.87245  24054115.3614   24054122.3684
+     -1187.4974       -925.3234
+ 05  1 20 13 54  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24436573.0474   -1704985.55849  -1299898.06645  24436572.0224   24436577.1384
+     -3616.6984      -2818.1954
+  24742631.4854   -4500015.68549  -3490922.46845  24742630.5534   24742637.2964
+      2547.7734       1985.2734
+  21877209.5164  -15757852.39349 -12259572.13347  21877209.3084   21877214.9774
+     -2743.9624      -2138.1504
+  22939847.2994   -7135711.01449  -5538106.29946  22939848.4294   22939853.5084
+     -3127.2234      -2436.8044
+  20524534.9274  -21678413.14649 -16870218.47348  20524534.2054   20524538.2114
+      -937.0964       -730.2054
+  23128232.1714   -7324106.04449  -5684437.74746  23128232.4124   23128236.4574
+      3224.4784       2512.5814
+  20912464.6094  -22741441.22749 -17709238.65948  20912464.6904   20912469.7614
+      1785.3274       1391.1604
+  21855069.5534  -14678627.28149 -11426695.17747  21855069.4444   21855075.0084
+      2861.6884       2229.8794
+  24060948.6844   -3464969.62349  -2685036.31445  24060948.5534   24060954.2224
+     -1205.5404       -939.3874
+ 05  1 20 13 54 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24457215.6824   -1596503.45449  -1215366.76045  24457215.3704   24457219.1754
+     -3615.5174      -2817.2824
+  24728090.6494   -4576436.54849  -3550471.14945  24728089.7594   24728095.6514
+      2546.9414       1984.6334
+  21892899.8364  -15675398.96249 -12195322.71947  21892899.9554   21892904.9944
+     -2752.9194      -2145.1294
+  22957724.0374   -7041779.12649  -5464912.67546  22957723.1894   22957728.8164
+     -3134.9214      -2442.7984
+  20529930.4704  -21650059.94849 -16848125.07648  20529929.5584   20529933.4254
+      -953.1034       -742.6764
+  23109837.7474   -7420770.04349  -5759760.29846  23109837.1644   23109842.4854
+      3219.7814       2508.9164
+  20902308.5404  -22794815.98249 -17750829.37548  20902307.8284   20902312.9884
+      1772.9764       1381.5404
+  21838759.4154  -14764342.80349 -11493486.49247  21838758.6364   21838764.1784
+      2852.6944       2222.8774
+  24067879.9804   -3428535.07049  -2656645.79045  24067880.2624   24067887.6414
+     -1223.5094       -953.3864
+ 05  1 20 13 55  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24477849.6124   -1488062.22549  -1130867.25745  24477849.7274   24477855.4934
+     -3613.9744      -2816.0744
+  24713552.0814   -4652833.24249  -3610001.00845  24713551.3194   24713556.4764
+      2546.1284       1983.9984
+  21908641.0544  -15592678.17549 -12130864.96947  21908640.4634   21908646.4174
+     -2761.8174      -2152.0714
+  22975641.6204   -6947618.10949  -5391540.51046  22975641.0914   22975646.2084
+     -3142.4744      -2448.6944
+  20535417.2964  -21621227.02749 -16825657.86548  20535416.3304   20535420.1794
+      -969.0704       -755.1214
+  23091468.7834   -7517291.96949  -5834972.12146  23091469.3624   23091475.1604
+      3214.9924       2505.1964
+  20892222.0414  -22847818.46449 -17792130.01248  20892221.7304   20892226.8394
+      1760.5194       1371.8324
+  21822499.1254  -14849786.63649 -11560066.08647  21822498.7654   21822504.7284
+      2843.5684       2215.7694
+  24074916.5634   -3391562.58249  -2627836.05045  24074915.9214   24074922.4614
+     -1241.2574       -967.2144
+ 05  1 20 13 55 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24498475.9834   -1379664.79149  -1046401.83745  24498476.1564   24498484.8324
+     -3612.4924      -2814.9234
+  24699019.6354   -4729205.94549  -3669512.14845  24699017.5344   24699023.4024
+      2545.3514       1983.3944
+  21924432.3044  -15509692.36349 -12066200.72347  21924432.5954   21924439.0194
+     -2770.6024      -2158.9044
+  22993601.8234   -6853230.74449  -5317991.96746  22993602.9784   22993606.0394
+     -3149.9844      -2454.5414
+  20540995.3514  -21591916.00549 -16802818.11448  20540994.5854   20540997.8834
+      -984.9844       -767.5234
+  23073129.0094   -7613668.64749  -5910070.80346  23073129.1494   23073134.9194
+      3210.0534       2501.3414
+  20882206.9494  -22900446.62349 -17833138.96648  20882206.8544   20882212.0624
+      1747.9794       1362.0634
+  21806292.9584  -14934955.49749 -11626431.43047  21806291.9254   21806297.7544
+      2834.3304       2208.5714
+  24082054.2244   -3354052.95449  -2598607.81345  24082054.2094   24082061.8634
+     -1259.3474       -981.3104
+ 05  1 20 13 56  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24519094.6014   -1271313.41349   -961972.36645  24519096.8084   24519099.5294
+     -3610.9074      -2813.6924
+  24684488.6784   -4805554.43649  -3729004.42845  24684488.8964   24684494.7894
+      2544.5464       1982.7654
+  21940275.0324  -15426444.00649 -12001331.90447  21940274.5574   21940279.3904
+     -2779.3064      -2165.6884
+  23011605.0894   -6758620.38149  -5244269.63446  23011606.4564   23011612.0724
+     -3157.3424      -2460.2864
+  20546663.5664  -21562128.68849 -16779607.22248  20546662.5454   20546666.3964
+     -1000.8234       -779.8634
+  23054818.0054   -7709897.15049  -5985054.03046  23054817.2404   23054823.2704
+      3205.1084       2497.4874
+  20872263.7064  -22952698.27349 -17873854.54148  20872263.3814   20872269.1334
+      1735.4204       1352.2734
+  21790137.6644  -15019847.17849 -11692580.78547  21790137.8754   21790143.3454
+      2825.0684       2201.3514
+  24089293.8234   -3316007.42849  -2568961.94245  24089291.7984   24089300.1144
+     -1277.0874       -995.1314
+ 05  1 20 13 56 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24539702.3104   -1163011.25248   -877581.25045  24539703.2644   24539710.6034
+     -3609.3104      -2812.4344
+  24669963.7514   -4881878.82249  -3788477.97245  24669964.1924   24669971.0934
+      2543.7254       1982.1244
+  21956165.8504  -15342935.26449 -11936260.16047  21956165.4084   21956170.4884
+     -2787.9334      -2172.4154
+  23029651.1714   -6663790.26249  -5170376.11046  23029651.8064   23029656.8854
+     -3164.6304      -2465.9294
+  20552422.4704  -21531866.41349 -16756026.23448  20552421.5194   20552425.1144
+     -1016.6294       -792.1784
+  23036535.4854   -7805974.70749  -6059919.63446  23036534.6734   23036541.0224
+      3200.0164       2493.5054
+  20862392.6284  -23004571.20849 -17914275.00948  20862392.2624   20862397.9394
+      1722.7564       1342.4054
+  21774037.7814  -15104458.35649 -11758511.57347  21774036.9594   21774042.5244
+      2815.7004       2194.0524
+  24096635.3994   -3277427.17349  -2538899.45745  24096635.0084   24096642.2964
+     -1294.9504      -1009.0514
+ 05  1 20 13 57  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24560307.4374   -1054761.26349   -793230.86345  24560306.5794   24560309.5744
+     -3607.4234      -2810.9724
+  24655445.3414   -4958179.20249  -3847932.77145  24655445.5404   24655449.9674
+      2542.9004       1981.4764
+  21972106.0274  -15259168.65149 -11870987.49947  21972105.2744   21972110.3064
+     -2796.5054      -2179.0884
+  23047739.1844   -6568743.40349  -5096313.67646  23047739.1614   23047744.0894
+     -3171.7914      -2471.5214
+  20558271.1314  -21501131.02149 -16732076.58848  20558270.3094   20558273.7994
+     -1032.3854       -804.4554
+  23018281.2414   -7901898.33949  -6134665.28546  23018281.4864   23018287.0864
+      3194.8894       2489.5404
+  20852593.9164  -23056063.16449 -17954398.61448  20852593.8834   20852599.4454
+      1710.0304       1332.4904
+  21757988.9524  -15188786.96549 -11824222.16347  21757989.3164   21757995.4004
+      2806.1994       2186.6464
+  24104077.8784   -3238313.09749  -2508421.04345  24104077.8934   24104085.9524
+     -1312.7144      -1022.8864
+ 05  1 20 13 57 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24580896.4104    -946565.90449   -708922.94645  24580895.3824   24580899.5724
+     -3605.5634      -2809.5234
+  24640932.8044   -5034455.35149  -3907368.65345  24640932.0294   24640936.9074
+      2542.1274       1980.8784
+  21988095.0764  -15175146.55949 -11805515.75947  21988094.3674   21988099.1644
+     -2804.9474      -2185.6654
+  23065864.7124   -6473483.29749  -5022085.06846  23065865.2814   23065870.9534
+     -3178.8654      -2477.0314
+  20564209.5154  -21469924.12349 -16707759.53348  20564208.7004   20564212.0754
+     -1048.0834       -816.6864
+  23000056.8804   -7997665.32049  -6209288.87846  23000056.4384   23000063.5644
+      3189.5194       2485.3424
+  20842868.4414  -23107172.03349 -17994223.71348  20842868.3724   20842873.4454
+      1697.2164       1322.5094
+  21741997.0194  -15272830.21549 -11889710.40647  21741996.9424   21742002.5974
+      2796.6814       2179.2374
+  24111624.3794   -3198666.31149  -2477527.44245  24111623.0974   24111630.8754
+     -1330.4404      -1036.7084
+ 05  1 20 13 58  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24601472.9054    -838427.89949   -624659.74045  24601472.5334   24601479.9084
+     -3603.6444      -2808.0264
+  24626421.4524   -5110707.31749  -3966785.76645  24626420.9084   24626425.0034
+      2541.3044       1980.2364
+  22004132.1424  -15090871.40349 -11739846.82447  22004131.6024   22004137.0004
+     -2813.3614      -2192.2304
+  23084032.0874   -6378013.03249  -4947692.69746  23084033.0414   23084039.4174
+     -3185.8354      -2482.4764
+  20570237.6094  -21438247.39749 -16683076.37548  20570236.3254   20570240.0054
+     -1063.7184       -828.8704
+  22981863.1864   -8093272.48449  -6283787.94346  22981863.9414   22981869.0394
+      3184.1904       2481.1894
+  20833215.8304  -23157895.58449 -18033748.56648  20833215.6794   20833220.9534
+      1684.3234       1312.4634
+  21726058.7124  -15356585.85249 -11954974.53847  21726058.4834   21726064.3304
+      2787.0234       2171.7074
+  24119269.6894   -3158487.95649  -2446219.65545  24119269.0114   24119274.6154
+     -1348.1034      -1050.4724
+ 05  1 20 13 58 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24622033.8194    -730350.04748   -540443.49645  24622037.3924   24622045.7764
+     -3601.5584      -2806.4104
+  24611912.2974   -5186935.08649  -4026183.96845  24611914.6744   24611921.2494
+      2540.4874       1979.6044
+  22020215.8354  -15006345.41749 -11673982.45847  22020216.4454   22020221.9514
+     -2821.6984      -2198.7224
+  23102241.0224   -6282335.92749  -4873139.15846  23102240.6964   23102245.1404
+     -3192.6724      -2487.7874
+  20576354.2984  -21406102.58349 -16658028.47248  20576353.4584   20576356.8024
+     -1079.3054       -841.0174
+  22963701.3464   -8188716.94049  -6358160.22546  22963701.4204   22963707.6244
+      3178.7054       2476.9404
+  20823637.0974  -23208231.65649 -18072971.48748  20823636.9004   20823642.4744
+      1671.3554       1302.3524
+  21710175.1974  -15440050.96049 -12020012.29147  21710175.4684   21710181.4444
+      2777.2824       2164.1174
+  24127015.9054   -3117779.03249  -2414498.41545  24127015.5164   24127022.4084
+     -1365.8044      -1064.2674
+ 05  1 20 13 59  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24642594.3334    -622334.99648   -456276.09345  24642595.2614   24642599.1644
+     -3599.4584      -2804.7674
+  24597413.5514   -5263138.73749  -4085563.43845  24597413.9074   24597417.9034
+      2539.7284       1979.0014
+  22036347.7454  -14921571.22249 -11607924.67847  22036347.7604   22036354.0134
+     -2829.9424      -2205.1514
+  23120486.5964   -6186455.09249  -4798426.87246  23120486.7364   23120491.8564
+     -3199.3794      -2493.0184
+  20582560.0724  -21373491.15749 -16632616.98348  20582559.3194   20582562.8504
+     -1094.7934       -853.0874
+  22945570.0194   -8283995.87049  -6432403.51246  22945569.5834   22945575.9954
+      3173.2064       2472.6424
+  20814132.8674  -23258178.05149 -18111890.75248  20814132.2454   20814138.0814
+      1658.3564       1292.2234
+  21694348.3704  -15523222.86449 -12084821.57147  21694348.1224   21694354.0994
+      2767.4844       2156.4744
+  24134864.6944   -3076540.71949  -2382364.69145  24134864.0364   24134869.9044
+     -1383.4184      -1077.9844
+ 05  1 20 13 59 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24663138.3434    -514385.53249   -372159.86645  24663136.9694   24663143.1034
+     -3597.1804      -2802.9924
+  24582919.6124   -5339318.13649  -4144924.01245  24582918.1194   24582922.2654
+      2538.9434       1978.3964
+  22052527.1924  -14836551.11949 -11541675.26947  22052527.1104   22052532.8264
+     -2838.0904      -2211.4954
+  23138771.0324   -6090373.69449  -4723558.33146  23138770.4934   23138775.4714
+     -3206.0204      -2498.2084
+  20588854.2374  -21340415.04649 -16606843.39848  20588853.3234   20588856.7974
+     -1110.2454       -865.1244
+  22927471.7504   -8379106.15249  -6506515.39846  22927471.2924   22927476.6694
+      3167.5264       2468.2124
+  20804702.4294  -23307732.54649 -18150504.65048  20804702.6844   20804708.1844
+      1645.2714       1282.0324
+  21678577.3984  -15606098.75249 -12149400.17647  21678577.6764   21678583.6944
+      2757.6024       2148.7854
+  24142811.3544   -3034774.12449  -2349819.32945  24142810.5744   24142817.9424
+     -1400.9984      -1091.6834
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 14  0  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24683666.2244    -406504.54549   -288096.97745  24683666.4934   24683670.3264
+     -3594.8654      -2801.1904
+  24568424.4514   -5415473.52049  -4204265.79045  24568425.0264   24568430.6594
+      2538.0824       1977.7294
+  22068752.9994  -14751287.28549 -11475235.95247  22068752.3694   22068758.5944
+     -2846.1444      -2217.7754
+  23157090.8194   -5994095.08949  -4648536.11746  23157090.8124   23157096.3094
+     -3212.5324      -2503.2724
+  20595236.3034  -21306876.00049 -16580709.08748  20595235.4474   20595239.1504
+     -1125.6484       -877.1304
+  22909406.4104   -8474044.96849  -6580493.65346  22909405.3314   22909411.0524
+      3161.6954       2463.6624
+  20795348.7294  -23356893.13649 -18188811.61048  20795347.8244   20795353.1544
+      1632.0844       1271.7534
+  21662863.3974  -15688676.25649 -12213746.28547  21662863.5154   21662869.7924
+      2747.5794       2140.9664
+  24150861.6914   -2992480.35749  -2316863.17145  24150860.1134   24150866.7524
+     -1418.5364      -1105.3454
+ 05  1 20 14  0 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24704177.7244    -298694.42549   -204089.29945  24704182.2504   24704185.8764
+     -3592.4114      -2799.2754
+  24553938.8374   -5491604.48449  -4263588.58645  24553938.7984   24553942.1734
+      2537.3024       1977.1234
+  22085024.1434  -14665782.29249 -11408608.72147  22085023.3174   22085029.4624
+     -2854.1844      -2224.0314
+  23175447.9364   -5897622.48249  -4573362.69946  23175448.7464   23175454.6994
+     -3218.9234      -2508.2634
+  20601706.9394  -21272875.89249 -16554215.50948  20601705.7094   20601709.3544
+     -1141.0094       -889.0964
+  22891372.1914   -8568809.28649  -6654335.95246  22891372.4304   22891376.7234
+      3155.8504       2459.1184
+  20786068.2654  -23405657.50649 -18226809.83048  20786068.2324   20786073.8334
+      1618.8624       1261.4534
+  21647207.1894  -15770952.61549 -12277857.75147  21647206.9784   21647212.9744
+      2737.5174       2133.1284
+  24159008.1864   -2949660.87449  -2283497.39145  24159008.3604   24159014.9234
+     -1436.0794      -1119.0174
+ 05  1 20 14  1  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24724688.2834    -190958.12349   -120139.12045  24724686.4384   24724688.5734
+     -3589.9494      -2797.3574
+  24539457.5124   -5567711.27349  -4322892.58345  24539456.5304   24539460.2704
+      2536.4744       1976.4704
+  22101340.7794  -14580038.10349 -11341795.11847  22101340.1514   22101345.8894
+     -2862.0914      -2230.2034
+  23193843.4614   -5800958.94549  -4498040.54646  23193843.4114   23193849.3574
+     -3225.2754      -2513.1974
+  20608263.4024  -21238416.01049 -16527363.66748  20608263.0274   20608266.8744
+     -1156.3054       -901.0194
+  22873371.8294   -8663396.28949  -6728040.07046  22873371.6514   22873377.3244
+      3149.8834       2454.4504
+  20776864.9684  -23454023.62949 -18264497.73848  20776864.6604   20776870.0334
+      1605.5094       1251.0434
+  21631608.2664  -15852925.23849 -12341732.53447  21631608.1584   21631613.8414
+      2727.3444       2125.2004
+  24167255.4004   -2906316.74349  -2249722.80545  24167255.5454   24167260.8324
+     -1453.5034      -1132.6014
+ 05  1 20 14  1 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24745177.7374     -83298.10448    -36248.41845  24745171.7644   24745178.9814
+     -3587.4124      -2795.3794
+  24524978.1284   -5643793.75049  -4382177.63045  24524976.0274   24524981.8864
+      2535.7044       1975.8624
+  22117701.9684  -14494057.52849 -11274797.30447  22117701.7094   22117707.5694
+     -2869.9334      -2236.2954
+  23212274.1504   -5704107.60249  -4422572.03046  23212273.3924   23212278.8034
+     -3231.4684      -2518.0374
+  20614909.1044  -21203498.25349 -16500155.04748  20614907.8404   20614911.5614
+     -1171.5314       -912.8784
+  22855408.7414   -8757803.22949  -6801603.86746  22855408.0204   22855412.0164
+      3143.8284       2449.7354
+  20767738.2964  -23501989.29149 -18301873.58548  20767737.4524   20767742.4754
+      1592.1494       1240.6394
+  21616068.4464  -15934591.90649 -12405368.91747  21616068.0474   21616073.0534
+      2717.1024       2117.2264
+  24175604.5024   -2862449.37049  -2215540.44245  24175603.5374   24175609.8064
+     -1470.9544      -1146.1974
+ 05  1 20 14  2  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24765648.2114      24282.70948     47580.48945  24765649.0854   24765650.0804
+     -3584.6874      -2793.2604
+  24510505.1714   -5719851.91449  -4441443.75545  24510504.0004   24510510.4024
+      2534.8154       1975.1834
+  22134108.0674  -14407842.88149 -11207617.09047  22134107.6144   22134113.3974
+     -2877.6954      -2242.3564
+  23230738.5554   -5607071.93349  -4346959.89946  23230738.6204   23230745.5704
+     -3237.5804      -2522.7854
+  20621640.4324  -21168124.38749 -16472591.00648  20621639.2174   20621642.8774
+     -1186.7034       -924.7024
+  22837477.2394   -8852026.84949  -6875024.82646  22837477.1164   22837481.7484
+      3137.6824       2444.9414
+  20758686.0004  -23549552.44749 -18338935.79748  20758686.2174   20758691.3414
+      1578.7144       1230.1704
+  21600585.2614  -16015949.23049 -12468764.23647  21600585.3564   21600591.5714
+      2706.7424       2109.1504
+  24184051.2594   -2818060.11049  -2180951.50345  24184050.4344   24184056.7854
+     -1488.3034      -1159.7164
+ 05  1 20 14  2 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24786101.7134     131781.85348    131345.85444  24786099.4084   24786105.4584
+     -3581.9004      -2791.0774
+  24496034.3544   -5795885.69049  -4500690.85645  24496034.4314   24496038.9754
+      2534.1114       1974.6274
+  22150557.3104  -14321396.33149 -11140256.19247  22150557.8424   22150564.0314
+     -2885.3924      -2248.3574
+  23249239.6784   -5509854.81349  -4271206.37246  23249240.3904   23249244.8124
+     -3243.5714      -2527.4504
+  20628457.3524  -21132296.33149 -16444673.05948  20628456.9474   20628460.7374
+     -1201.8164       -936.4784
+  22819581.6054   -8946064.52449  -6948300.89646  22819582.3864   22819587.9364
+      3131.4394       2440.0864
+  20749712.3314  -23596711.01549 -18375682.74248  20749712.1554   20749717.2834
+      1565.1824       1219.6234
+  21585163.4544  -16096994.75849 -12531916.60747  21585163.5364   21585169.5614
+      2696.3024       2101.0164
+  24192597.7454   -2773150.27549  -2145956.82845  24192596.1204   24192605.3474
+     -1505.6244      -1173.2014
+ 05  1 20 14  3  0.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24806537.1484     239196.39048    215045.31844  24806535.8034   24806545.3134
+     -3579.0754      -2788.8904
+  24481568.6924   -5871895.07249  -4559918.93445  24481569.1294   24481575.4294
+      2533.1534       1973.8764
+  22167052.0444  -14234720.06549 -11072716.28447  22167052.0284   22167057.9904
+     -2893.0184      -2254.2894
+  23267772.6774   -5412459.76949  -4195314.15646  23267772.2474   23267778.1164
+     -3249.4224      -2532.0384
+  20635361.9294  -21096015.82549 -16416402.55248  20635361.0584   20635364.6464
+     -1216.8774       -948.2174
+  22801723.7444   -9039913.05749  -7021429.58146  22801723.8784   22801729.2274
+      3125.0794       2435.1324
+  20740815.8324  -23643462.63849 -18412112.59648  20740815.7454   20740820.9334
+      1551.5784       1209.0224
+  21569801.4904  -16177725.70649 -12594823.83947  21569800.6764   21569807.0344
+      2685.7774       2092.8124
+  24201242.7954   -2727720.96649  -2110557.46845  24201245.1344   24201247.1324
+     -1522.9914      -1186.7384
+ 05  1 20 14  3 30.0000000  0  9G23G28G 3G13G19G11G27G 8G15
+  24826962.7994     346524.07458    298677.00054  24826961.3084
+     -3575.9734      -2786.4674
+  24467112.8474   -5947880.00049  -4619127.99245  24467111.9104   24467116.5544
+      2532.4324       1973.3324
+  22183589.4704  -14147816.71749 -11004999.43647  22183588.9994   22183594.5664
+     -2900.5544      -2260.1744
+  23286338.4864   -5314890.29249  -4119286.09046  23286339.5394   23286344.9884
+     -3255.2154      -2536.5204
+  20642352.6404  -21059284.75049 -16387780.94948  20642351.1874   20642354.2224
+     -1231.8654       -959.8954
+  22783901.7464   -9133569.87349  -7094408.87046  22783902.0904   22783907.0954
+      3118.6534       2430.1274
+  20731997.0064  -23689805.25849 -18448223.73448  20731996.9634   20732002.2884
+      1537.8904       1198.3544
+  21554499.0184  -16258139.79249 -12657484.17347  21554498.8284   21554504.4364
+      2675.1234       2084.5114
+  24209985.6094   -2681773.71949  -2074754.34345  24209988.3234   24209993.3644
+     -1540.1984      -1200.1504
+ 05  1 20 14  4  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24452658.6824   -6023840.42149  -4678317.91445  24452657.7104   24452662.8694
+      2531.7204       1972.7704
+  22200169.2164  -14060688.48849 -10937107.35947  22200169.5314   22200175.3174
+     -2907.9794      -2265.9584
+  23304939.6884   -5217148.87949  -4043124.05246  23304938.7364   23304944.6864
+     -3260.8624      -2540.9114
+  20649426.3844  -21022104.73149 -16358809.51948  20649425.7434   20649429.5394
+     -1246.7834       -971.5194
+  22766116.8764   -9227031.81249  -7167236.31946  22766117.3584   22766121.5504
+      3112.0994       2425.0064
+  20723256.1884  -23735736.82949 -18484014.57948  20723256.1454   20723261.9084
+      1524.1764       1187.6704
+  21539258.1574  -16338234.25749 -12719895.45447  21539257.0794   21539262.7184
+      2664.4584       2076.1924
+  24218827.2714   -2635309.78549  -2038548.75045  24218827.2834   24218835.6304
+     -1557.4134      -1213.5684
+ 05  1 20 14  4 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24438208.4704   -6099776.28249  -4737488.68045  24438207.8524   24438212.6744
+      2530.7994       1972.0534
+  22216792.2804  -13973337.71749 -10869041.84847  22216791.4124   22216796.7964
+     -2915.3784      -2271.7154
+  23323570.7344   -5119238.94549  -3966830.68246  23323569.9104   23323576.4314
+     -3266.4034      -2545.2394
+  20656587.2484  -20984477.65449 -16329489.73748  20656585.8754   20656589.6584
+     -1261.6724       -983.1154
+  22748369.2434   -9320295.72649  -7239909.49046  22748369.2324   22748374.6424
+      3105.4614       2419.8464
+  20714594.8144  -23781255.29149 -18519483.52548  20714594.4674   20714600.2544
+      1510.3654       1176.9084
+  21524077.7374  -16418006.36849 -12782055.55647  21524077.1244   21524083.0864
+      2653.6724       2067.7974
+  24227767.6004   -2588330.63449  -2001941.67645  24227766.9654   24227775.2214
+     -1574.5144      -1226.8894
+ 05  1 20 14  5  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24423761.7004   -6175687.70249  -4796640.48545  24423762.0094   24423765.2984
+      2529.9474       1971.3954
+  22233456.0164  -13885766.60349 -10800804.65947  22233455.7804   22233461.1774
+     -2922.6694      -2277.4034
+  23342234.8044   -5021163.78649  -3890408.53246  23342234.6034   23342240.1244
+     -3271.8774      -2549.5114
+  20663832.1324  -20946405.47149 -16299823.11748  20663830.9054   20663834.7364
+     -1276.4814       -994.6594
+  22730659.6304   -9413359.03649  -7312426.32946  22730659.5064   22730664.4264
+      3098.7174       2414.5734
+  20706011.9404  -23826358.47649 -18554628.87048  20706011.6334   20706017.0914
+      1496.4794       1166.0894
+  21508958.7754  -16497453.68249 -12843962.56847  21508958.1734   21508964.4344
+      2642.8044       2059.3274
+  24236805.2204   -2540837.83049  -1964934.28645  24236805.2594   24236812.1254
+     -1591.6584      -1240.2634
+ 05  1 20 14  5 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24409320.6944   -6251574.52949  -4855773.09445  24409319.1014   24409326.8984
+      2529.1564       1970.7614
+  22250162.3914  -13797977.50049 -10732397.61346  22250161.7584   22250167.1714
+     -2929.9114      -2283.0394
+  23360928.5674   -4922926.59749  -3813860.14146  23360928.8854   23360933.0534
+     -3277.2314      -2553.6854
+  20671160.7434  -20907889.71249 -16269810.85248  20671160.0874   20671163.8294
+     -1291.2204      -1006.1444
+  22712988.6634   -9506218.56549  -7384784.35346  22712988.7124   22712993.7234
+      3091.8784       2409.2444
+  20697508.6994  -23871044.23649 -18589448.95148  20697508.4834   20697513.9114
+      1482.5524       1155.2334
+  21493902.6044  -16576573.44449 -12905614.33047  21493902.1504   21493908.6384
+      2631.8314       2050.7764
+  24245941.1024   -2492832.50649  -1927527.69845  24245939.8634   24245946.5404
+     -1608.7014      -1253.5214
+ 05  1 20 14  6  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24394883.2964   -6327436.55649  -4914886.33345  24394884.7774   24394890.6854
+      2528.3854       1970.1794
+  22266909.1674  -13709972.77249 -10663822.54746  22266908.7344   22266913.6494
+     -2937.0724      -2288.6244
+  23379652.0124   -4824530.61449  -3737188.07146  23379652.6114   23379656.6834
+     -3282.4624      -2557.7564
+  20678574.6914  -20868932.41149 -16239454.53448  20678573.4784   20678577.4984
+     -1305.9324      -1017.6084
+  22695357.4964   -9598871.47849  -7456981.42046  22695357.2484   22695362.7334
+      3084.9324       2403.8504
+  20689084.2404  -23915310.65349 -18623942.26948  20689084.4094   20689090.0874
+      1468.5074       1144.2964
+  21478910.3914  -16655362.86049 -12967008.69647  21478909.6754   21478915.5214
+      2620.7394       2042.1364
+  24255171.4694   -2444316.27049  -1889722.88145  24255172.1654   24255175.8274
+     -1625.7124      -1266.7864
+ 05  1 20 14  6 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24380455.3864   -6403273.86649  -4973980.39645  24380454.0034   24380456.5444
+      2527.5234       1969.5024
+  22283696.1134  -13621754.66449 -10595081.19746  22283695.2694   22283700.5414
+     -2944.1304      -2294.1184
+  23398405.9634   -4725979.01649  -3660394.68346  23398405.7454   23398411.4214
+     -3287.6414      -2561.8024
+  20686071.6744  -20829535.38749 -16208755.57848  20686070.7444   20686074.2234
+     -1320.5434      -1028.9954
+  22677764.8534   -9691315.06249  -7529015.37146  22677764.3734   22677770.5724
+      3077.9204       2398.3694
+  20680741.4554  -23959155.54349 -18658107.12548  20680741.0534   20680746.7474
+      1454.4584       1133.3464
+  21463980.0754  -16733819.40249 -13028143.67047  21463979.4694   21463985.3484
+      2609.6634       2033.5064
+  24264503.3504   -2395290.40149  -1851520.96045  24264502.9554   24264509.9614
+     -1642.6734      -1279.9864
+ 05  1 20 14  7  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24366026.4864   -6479086.43249  -5033055.14045  24366027.9534   24366032.3514
+      2526.6134       1968.7904
+  22300522.4634  -13533325.33549 -10526175.27446  22300523.4374   22300529.0494
+     -2951.1524      -2299.5994
+  23417189.2794   -4627274.92249  -3583482.46546  23417189.2624   23417195.0324
+     -3292.6814      -2565.7434
+  20693651.7514  -20789700.49349 -16177715.42248  20693651.0614   20693654.7584
+     -1335.0914      -1040.3294
+  22660214.2454   -9783546.19549  -7600883.75046  22660214.0874   22660220.2414
+      3070.7624       2392.8024
+  20672478.5504  -24002576.96149 -18691942.00848  20672478.2744   20672483.9534
+      1440.2684       1122.2864
+  21449115.5444  -16811940.65649 -13089017.38747  21449114.2524   21449119.6164
+      2598.4114       2024.7444
+  24273925.9224   -2345756.32949  -1812923.14545  24273928.1654   24273935.0624
+     -1659.5494      -1293.1374
+ 05  1 20 14  7 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24351604.0144   -6554874.23549  -5092110.56445  24351603.4814   24351610.2044
+      2525.8874       1968.2264
+  22317389.7444  -13444687.15349 -10457106.60146  22317389.9534   22317396.5374
+     -2958.0594      -2304.9874
+  23435999.3514   -4528421.70949  -3506454.09646  23436000.9274   23436005.8014
+     -3297.5274      -2569.4994
+  20701314.7824  -20749429.79549 -16146335.68048  20701314.1074   20701317.8294
+     -1349.6044      -1051.6404
+  22642704.3434   -9875561.98649  -7672584.35446  22642704.6614   22642710.4274
+      3063.5614       2387.1744
+  20664297.0484  -24045572.75749 -18725445.24748  20664296.6034   20664302.0524
+      1426.0324       1111.1914
+  21434313.7684  -16889723.70349 -13149627.57247  21434312.5304   21434317.7644
+      2587.1014       2015.9254
+  24283451.2904   -2295715.65049  -1773930.44745  24283450.5234   24283457.3484
+     -1676.4724      -1306.3454
+ 05  1 20 14  8  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24337188.8674   -6630636.97849  -5151146.43145  24337187.6364   24337193.2474
+      2525.0234       1967.5474
+  22334297.5684  -13355842.56849 -10387877.10546  22334297.7574   22334302.8524
+     -2964.9344      -2310.3304
+  23454838.7674   -4429422.30949  -3429311.79946  23454838.9914   23454845.9224
+     -3302.3664      -2573.2674
+  20709061.1944  -20708725.09849 -16114617.75848  20709060.0334   20709063.7944
+     -1364.0284      -1062.8774
+  22625236.7504   -9967359.80449  -7744115.11846  22625236.4614   22625242.1314
+      3056.2474       2381.4944
+  20656195.5934  -24088140.93549 -18758615.27348  20656196.0684   20656201.5974
+      1411.7764       1100.0874
+  21419576.5504  -16967165.46349 -13209971.81047  21419575.6404   21419581.0534
+      2575.6724       2007.0164
+  24293069.8994   -2245170.10349  -1734544.38945  24293068.6064   24293076.0324
+     -1693.2684      -1319.4324
+ 05  1 20 14  8 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24322773.0704   -6706374.75249  -5210162.93145  24322774.0724   24322779.3314
+      2524.1514       1966.8664
+  22351243.0454  -13266793.79349 -10318488.47146  22351241.9554   22351249.0154
+     -2971.6324      -2315.5614
+  23473705.8534   -4330280.00249  -3352058.15546  23473706.7024   23473710.0614
+     -3307.1204      -2576.9704
+  20716889.4774  -20667588.14349 -16082563.01248  20716888.2564   20716891.9424
+     -1378.4154      -1074.0894
+  22607809.5564  -10058936.29749  -7815473.41046  22607810.5934   22607815.4134
+      3048.8024       2375.6864
+  20648177.7024  -24130279.40949 -18791450.46248  20648177.1814   20648182.8654
+      1397.4084       1088.8924
+  21404904.4104  -17044263.47449 -13270048.19047  21404904.1644   21404909.8154
+      2564.1744       1998.0644
+  24302783.8564   -2194121.25249  -1694766.03945  24302783.4124   24302790.1454
+     -1710.0564      -1332.5104
+ 05  1 20 14  9  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24308367.9444   -6782087.48649  -5269159.86345  24308367.7914   24308372.1484
+      2523.3354       1966.2464
+  22368226.9094  -13177542.96249 -10248942.44546  22368227.1364   22368232.4604
+     -2978.3834      -2320.8084
+  23492599.4774   -4230998.05849  -3274695.67446  23492599.4784   23492603.7174
+     -3311.7014      -2580.5384
+  20724799.1204  -20626020.91449 -16050172.99348  20724798.1894   20724802.1564
+     -1392.7404      -1085.2524
+  22590427.2334  -10150288.55949  -7886656.97046  22590426.4124   22590431.8744
+      3041.2704       2369.8114
+  20640241.6814  -24171986.09849 -18823949.20048  20640240.7344   20640246.4834
+      1382.9974       1077.6604
+  21390299.6924  -17121014.94349 -13329854.54447  21390299.2204   21390304.7394
+      2552.5634       1989.0164
+  24312592.2684   -2142570.40149  -1654596.71745  24312591.8274   24312599.5284
+     -1726.7324      -1345.5014
+ 05  1 20 14  9 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24293963.4664   -6857774.99349  -5328137.11645  24293964.8304   24293969.6794
+      2522.4794       1965.5724
+  22385249.8454  -13088092.43049 -10179240.75847  22385248.7994   22385254.0194
+     -2985.0294      -2326.0024
+  23511517.5644   -4131579.70349  -3197226.90946  23511517.4724   23511522.2664
+     -3316.2104      -2584.0754
+  20732790.4184  -20584025.36449 -16017449.21248  20732789.6444   20732793.7344
+     -1406.9804      -1096.3474
+  22573085.3564  -10241413.90549  -7957663.70746  22573085.5214   22573091.0604
+      3033.6954       2363.9194
+  20632386.9194  -24213259.06849 -18856109.96748  20632386.8504   20632392.2834
+      1368.4934       1066.3584
+  21375760.4104  -17197417.58549 -13389389.08547  21375759.7604   21375765.8264
+      2540.9154       1979.9364
+  24322500.9434   -2090519.03449  -1614037.30745  24322499.1064   24322503.9384
+     -1743.4234      -1358.5064
+ 05  1 20 14 10  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24279567.2064   -6933437.39549  -5387094.82745  24279565.4364   24279571.0654
+      2521.6814       1964.9384
+  22402308.8224  -12998444.32949 -10109385.12347  22402308.4844   22402314.2934
+     -2991.5524      -2331.0784
+  23530460.4444   -4032028.10149  -3119654.34146  23530460.5374   23530466.2564
+     -3320.5524      -2587.4334
+  20740863.4614  -20541603.21449 -15984393.01748  20740862.4274   20740866.3334
+     -1421.1824      -1107.4154
+  22555788.8484  -10332309.25849  -8028491.22846  22555788.5394   22555794.2864
+      3025.9634       2357.8984
+  20624616.3904  -24254096.33349 -18887931.22148  20624615.7204   20624621.5124
+      1353.9574       1055.0334
+  21361288.6924  -17273468.82949 -13448649.80647  21361287.9484   21361294.0314
+      2529.1494       1970.7684
+  24332498.8104   -2037968.95449  -1573089.30145  24332497.4154   24332502.9634
+     -1759.9474      -1371.3754
+ 05  1 20 14 10 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24265171.1304   -7009074.53049  -5446032.84145  24265171.7204   24265177.9414
+      2520.8914       1964.3474
+  22419404.9504  -12908601.27849 -10039377.59947  22419404.3114   22419410.5064
+     -2997.9784      -2336.0814
+  23549428.2724   -3932346.38949  -3041980.35446  23549429.3094   23549434.9674
+     -3324.8474      -2590.7784
+  20749016.7874  -20498756.63549 -15951006.09848  20749015.8174   20749019.8794
+     -1435.2734      -1118.3944
+  22538536.4084  -10422971.83049  -8099137.38246  22538536.0664   22538541.3524
+      3018.2044       2351.8494
+  20616928.7304  -24294495.80749 -18919411.35048  20616928.1754   20616933.6784
+      1339.3294       1043.6354
+  21346883.8404  -17349165.90049 -13507634.55947  21346883.2794   21346888.9494
+      2517.3094       1961.5424
+  24342592.8574   -1984921.80549  -1531753.95245  24342592.9874   24342600.2274
+     -1776.4314      -1384.2364
+ 05  1 20 14 11  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24250787.2004   -7084686.36649  -5504951.15946  24250785.8654   24250789.9084
+      2520.0104       1963.6464
+  22436537.8394  -12818565.26649  -9969219.71847  22436537.5384   22436544.1724
+     -3004.3934      -2341.0784
+  23568423.6214   -3832537.61449  -2964207.37646  23568423.9654   23568428.5294
+     -3329.0474      -2594.0664
+  20757250.8114  -20455487.34949 -15917289.80048  20757249.9814   20757253.7504
+     -1449.3284      -1129.3414
+  22521329.1344  -10513398.80749  -8169599.91046  22521328.6294   22521333.9774
+      3010.2644       2345.6654
+  20609324.6104  -24334455.61649 -18950548.87648  20609323.9534   20609329.5734
+      1324.6334       1032.1854
+  21332546.9384  -17424505.88349 -13566341.04947  21332546.4214   21332552.4134
+      2505.3664       1952.2314
+  24352784.7734   -1931379.23449  -1490032.49245  24352782.6794   24352789.2054
+     -1792.9714      -1397.1174
+ 05  1 20 14 11 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24236400.9044   -7160272.80249  -5563849.73145  24236400.0554   24236405.6234
+      2519.0364       1962.8834
+  22453709.2814  -12728338.46549  -9898913.14747  22453708.4304   22453713.1704
+     -3010.6984      -2346.0024
+  23587440.4214   -3732605.11149  -2886337.98946  23587439.1164   23587443.9844
+     -3333.1084      -2597.2364
+  20765564.7974  -20411797.45749 -15883245.75148  20765563.8444   20765567.5544
+     -1463.3004      -1140.2324
+  22504167.1024  -10603587.28649  -8239876.62346  22504166.4234   22504172.1534
+      3002.2734       2339.4164
+  20601804.2314  -24373973.66449 -18981342.17448  20601804.0064   20601809.5694
+      1309.8664       1020.6754
+  21318278.5644  -17499486.12049 -13624767.22547  21318278.3904   21318284.1994
+      2493.3194       1942.8434
+  24363060.9784   -1877342.71848  -1447926.09645  24363063.3554   24363073.8054
+     -1809.4554      -1409.9644
+ 05  1 20 14 12  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24222024.0154   -7235833.82149  -5622728.39545  24222023.2734   24222028.5914
+      2518.2894       1962.3054
+  22470912.7754  -12637923.18149  -9828459.71346  22470912.9834   22470918.4374
+     -3016.9474      -2350.8604
+  23606479.4014   -3632552.05549  -2808374.66746  23606479.7564   23606485.3054
+     -3337.0854      -2600.3304
+  20773958.4094  -20367688.78749 -15848875.37848  20773957.3444   20773961.0084
+     -1477.2574      -1151.1084
+  22487049.4004  -10693533.92949  -8309964.89647  22487049.8874   22487054.6594
+      2994.1904       2333.1444
+  20594368.6034  -24413048.02649 -19011789.74248  20594368.2964   20594373.9854
+      1295.0794       1009.1524
+  21304078.6214  -17574104.59749 -13682911.49447  21304078.6784   21304084.4864
+      2481.1904       1933.3944
+  24373440.2614   -1822813.73348  -1405436.17645  24373439.4004   24373450.1854
+     -1825.7234      -1422.6374
+ 05  1 20 14 12 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24207648.2714   -7311369.08949  -5681587.06746  24207649.2954   24207653.4314
+      2517.4054       1961.6164
+  22488152.8204  -12547321.93049  -9757861.38346  22488153.7594   22488159.4254
+     -3023.1014      -2355.6544
+  23625541.8544   -3532381.52949  -2730319.80646  23625540.9414   23625546.8824
+     -3340.9444      -2603.3344
+  20782431.0564  -20323163.48049 -15814180.35948  20782430.3724   20782433.9014
+     -1491.1214      -1161.9114
+  22469981.7654  -10783236.10349  -8379862.65047  22469981.0164   22469985.8654
+      2985.9694       2326.7234
+  20587017.8624  -24451676.68749 -19041890.00848  20587017.5914   20587023.2104
+      1280.1634        997.5314
+  21289949.4534  -17648357.96649 -13740771.27747  21289948.9354   21289954.9094
+      2468.9894       1923.8874
+  24383912.5944   -1767794.05648  -1362563.91644  24383910.0344   24383915.9624
+     -1842.1274      -1435.4224
+ 05  1 20 14 13  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24193279.8754   -7386878.62249  -5740425.69846  24193279.7154   24193284.4974
+      2516.5844       1960.9774
+  22505430.3334  -12456536.66849  -9687119.64946  22505429.9684   22505435.7854
+     -3029.2384      -2360.4344
+  23644624.7924   -3432096.55749  -2652175.75746  23644625.3464   23644630.0044
+     -3344.6944      -2606.2464
+  20790982.9234  -20278223.23149 -15779162.00448  20790982.0714   20790985.5164
+     -1504.8984      -1172.6484
+  22452958.0064  -10872690.76749  -8449567.52247  22452957.4454   22452962.0434
+      2977.6754       2320.2724
+  20579753.0164  -24489857.71549 -19071641.47248  20579752.1824   20579757.6064
+      1265.2054        985.8724
+  21275889.4214  -17722243.71949 -13798344.59247  21275888.7064   21275894.9204
+      2456.7204       1914.3244
+  24394475.3034   -1712285.58648  -1319310.62145  24394473.4094   24394479.3724
+     -1858.3984      -1448.1084
+ 05  1 20 14 13 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24178915.8584   -7462362.32949  -5799244.14546  24178915.2344   24178921.2854
+      2515.6814       1960.2654
+  22522741.7344  -12365569.38549  -9616236.09747  22522740.2644   22522746.6384
+     -3035.2394      -2365.1214
+  23663728.0224   -3331700.60449  -2573945.24846  23663728.7754   23663734.6474
+     -3348.3274      -2609.0884
+  20799613.7424  -20232870.18649 -15743821.98748  20799612.6134   20799616.2514
+     -1518.6184      -1183.3374
+  22435982.5244  -10961895.30049  -8519077.51346  22435982.2764   22435987.3304
+      2969.2724       2313.7094
+  20572572.5474  -24527589.19249 -19101042.63648  20572572.2804   20572577.6194
+      1250.1924        974.1774
+  21261899.4464  -17795759.57949 -13855629.67747  21261899.3784   21261905.2554
+      2444.3284       1904.6734
+  24405131.4184   -1656290.02649  -1275677.76545  24405126.6174   24405137.0854
+     -1874.6434      -1460.7554
+ 05  1 20 14 14  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24164558.2864   -7537820.02749  -5858042.33146  24164556.5644   24164561.8584
+      2514.8134       1959.5844
+  22540085.9864  -12274422.38049  -9545212.51046  22540085.1194   22540091.3384
+     -3041.2344      -2369.7964
+  23682854.4844   -3231196.64449  -2495630.57646  23682854.8054   23682860.9044
+     -3351.8934      -2611.8554
+  20808322.3114  -20187106.24649 -15708161.79748  20808321.2014   20808324.7644
+     -1532.2814      -1193.9894
+  22419055.0544  -11050846.86449  -8588390.36246  22419054.8754   22419059.9334
+      2960.8084       2307.1134
+  20565478.3744  -24564869.21649 -19130092.01448  20565477.8334   20565483.2554
+      1235.0904        962.4054
+  21247981.0714  -17868902.13249 -13912623.88647  21247980.7944   21247986.6174
+      2431.8364       1894.9354
+  24415877.1574   -1599809.18149  -1231666.77945  24415876.9684   24415884.7414
+     -1890.7434      -1473.3054
+ 05  1 20 14 14 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24150203.9234   -7613251.72949  -5916820.30746  24150202.3094   24150206.8134
+      2513.9204       1958.9094
+  22557463.5174  -12183097.80249  -9474050.54546  22557463.8084   22557469.2644
+     -3047.0544      -2374.3214
+  23701999.8034   -3130587.98249  -2417234.28646  23702000.2284   23702005.3914
+     -3355.3644      -2614.5604
+  20817108.1894  -20140933.57749 -15672183.10648  20817107.3094   20817111.2874
+     -1545.8814      -1204.5804
+  22402177.1824  -11139542.36149  -8657503.69747  22402176.6214   22402182.2064
+      2952.2074       2300.4044
+  20558470.1364  -24601695.88449 -19158788.13548  20558469.7644   20558475.2584
+      1219.9914        950.6454
+  21234134.6104  -17941669.21549 -13969325.51447  21234133.7284   21234139.4594
+      2419.2914       1885.1634
+  24426718.8974   -1542844.71549  -1187279.00845  24426716.9924   24426725.1514
+     -1906.7824      -1485.8014
+ 05  1 20 14 15  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24135853.1734   -7688657.45549  -5975577.98446  24135851.3324   24135858.8784
+      2513.0944       1958.2474
+  22574875.2764  -12091597.96949  -9402752.00946  22574874.4184   22574880.6594
+     -3052.8704      -2378.8464
+  23721164.7234   -3029877.75649  -2338758.87546  23721165.1804   23721170.7164
+     -3358.6404      -2617.1194
+  20825972.6974  -20094353.88249 -15635887.26248  20825971.3164   20825974.9634
+     -1559.4174      -1215.1284
+  22385347.3094  -11227978.86249  -8726415.21947  22385347.2324   22385353.8574
+      2943.5274       2293.6534
+  20551548.9624  -24638067.24849 -19187129.46748  20551548.6264   20551554.2244
+      1204.8054        938.8134
+  21220359.0364  -18014058.28149 -14025732.58947  21220358.3784   21220364.2134
+      2406.6574       1875.3164
+  24437651.6904   -1485398.62548  -1142515.89445  24437649.9704   24437657.1494
+     -1922.8504      -1498.3194
+ 05  1 20 14 15 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24121509.2834   -7764036.93149  -6034315.23846  24121508.7554   24121514.1914
+      2512.1974       1957.5624
+  22592320.6084  -11999925.01149  -9331318.56346  22592320.3874   22592326.4334
+     -3058.6394      -2383.3544
+  23740347.6834   -2929069.06149  -2260206.73446  23740347.5174   23740354.2954
+     -3361.9044      -2619.6674
+  20834912.8134  -20047369.37049 -15599275.97248  20834912.0564   20834915.9844
+     -1572.8774      -1225.6204
+  22368568.0154  -11316153.42949  -8795122.60547  22368568.0484   22368574.3254
+      2934.7304       2286.8044
+  20544714.7504  -24673981.34749 -19215114.49748  20544714.4494   20544719.9194
+      1189.4844        926.8714
+  21206656.1894  -18086066.48749 -14081842.88048  21206655.7694   21206661.4954
+      2393.8924       1865.3724
+  24448670.5254   -1427472.39758  -1097378.65954  24448670.1744
+     -1938.9844      -1510.8874
+ 05  1 20 14 16  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24107170.8064   -7839390.07349  -6093032.00046  24107169.2594   24107175.4694
+      2511.3834       1956.9124
+  22609797.5564  -11908081.19449  -9259751.98746  22609797.6944   22609803.8924
+     -3064.2694      -2387.7374
+  23759548.7224   -2828165.04249  -2181580.32646  23759550.1444   23759556.3524
+     -3365.0124      -2622.0634
+  20843931.0194  -19999981.97549 -15562350.75148  20843929.6544   20843933.4544
+     -1586.2674      -1236.0524
+  22351841.0394  -11404063.45049  -8863623.87347  22351840.4744   22351845.1524
+      2925.8654       2279.8854
+  20537967.7524  -24709436.38249 -19242741.81248  20537967.7034   20537973.1764
+      1174.1644        914.9324
+  21193026.8374  -18157691.06749 -14137654.24648  21193026.1424   21193032.0794
+      2381.0794       1855.3874
+  24459788.5404   -1369067.81148  -1051868.70444  24459786.7984   24459792.5254
+     -1954.8084      -1523.2184
+ 05  1 20 14 16 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24092836.0364   -7914716.66549  -6151728.02446  24092835.8574   24092840.9314
+      2510.4454       1956.1904
+  22627307.5174  -11816068.88549  -9188054.14346  22627307.5074   22627313.0584
+     -3069.8534      -2392.0924
+  23778768.6024   -2727168.65849  -2102881.94546  23778768.9144   23778774.7474
+     -3368.0384      -2624.4484
+  20853024.2774  -19952193.78649 -15525113.21548  20853023.5334   20853027.5574
+     -1599.5844      -1246.4334
+  22335162.2984  -11491705.84449  -8931916.60747  22335162.1004   22335167.2224
+      2916.9014       2272.9044
+  20531308.4534  -24744430.47949 -19270009.94248  20531308.1354   20531314.2124
+      1158.7604        902.9274
+  21179470.5814  -18228929.03549 -14193164.35948  21179469.9874   21179476.2094
+      2368.1604       1845.3204
+  24470993.4084   -1310187.00148  -1005987.60745  24470991.4914   24471002.9384
+     -1970.5014      -1535.4504
+ 05  1 20 14 17  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24078507.6224   -7990016.74749  -6210403.38746  24078505.7384   24078511.0354
+      2509.5514       1955.4814
+  22644849.8264  -11723890.13849  -9116226.58146  22644848.4664   22644854.5934
+     -3075.3684      -2396.4004
+  23798004.8074   -2626083.23349  -2024114.16146  23798004.8624   23798010.6814
+     -3370.9734      -2626.7254
+  20862194.0044  -19904006.79649 -15487564.92848  20862192.9914   20862196.9704
+     -1612.8524      -1256.7664
+  22318536.0704  -11579077.78349  -8999998.59347  22318535.5514   22318541.1924
+      2907.8454       2265.8524
+  20524737.6874  -24778961.64049 -19296917.35848  20524737.5004   20524743.2324
+      1143.2864        890.8734
+  21165988.6174  -18299778.12249 -14248371.44448  21165987.9634   21165993.9844
+      2355.1234       1835.1564
+  24482287.7764   -1250831.69948   -959736.86045  24482288.5514   24482294.0024
+     -1986.3944      -1547.8374
+ 05  1 20 14 17 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24064182.7224   -8065289.94649  -6269057.83746  24064181.3884   24064187.1614
+      2508.6764       1954.8164
+  22662421.6424  -11631547.09949  -9044271.01146  22662421.0284   22662426.4184
+     -3080.8344      -2400.6464
+  23817256.0904   -2524911.84549  -1945279.41346  23817257.5314   23817262.3824
+     -3373.7524      -2628.9044
+  20871439.7864  -19855422.93749 -15449707.38448  20871438.4964   20871442.3594
+     -1626.0614      -1267.0604
+  22301962.4104  -11666176.28849  -9067867.51647  22301962.4024   22301966.9574
+      2898.6894       2258.7234
+  20518254.8884  -24813028.14949 -19323462.69548  20518254.7224   20518260.5014
+      1127.7854        878.7954
+  21152581.2854  -18370236.03149 -14303273.71448  21152580.2764   21152586.1824
+      2342.0404       1824.9634
+  24493671.7324   -1191003.82148   -913117.81244  24493671.0144   24493678.3594
+     -2002.0974      -1560.0794
+ 05  1 20 14 18  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24049863.3254   -8140536.30749  -6327691.35046  24049862.7764   24049868.1164
+      2507.7524       1954.0894
+  22680022.9594  -11539041.83849  -8972189.02446  22680023.6264   22680029.6044
+     -3086.2064      -2404.8404
+  23836525.7564   -2423657.73049  -1866380.16846  23836526.3704   23836530.3644
+     -3376.4824      -2631.0154
+  20880759.2714  -19806444.19649 -15411542.15348  20880758.7104   20880762.6374
+     -1639.1694      -1277.2734
+  22285440.4384  -11752998.67949  -9135521.28847  22285439.6474   22285445.0604
+      2889.4344       2251.5034
+  20511861.2564  -24846628.22949 -19349644.58748  20511860.7724   20511866.7444
+      1112.1994        866.6504
+  21139247.8174  -18440299.94749 -14357868.98048  21139247.4804   21139253.5734
+      2328.8774       1814.7104
+  24505144.1964   -1130705.25658   -866131.95354  24505143.6984   24505150.6644
+     -2017.7104      -1572.2404
+ 05  1 20 14 18 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24035549.7134   -8215755.68849  -6386303.86746  24035548.8444   24035554.8944
+      2506.9034       1953.4354
+  22697656.5384  -11446376.35849  -8899982.18846  22697656.6234   22697663.3344
+     -3091.5154      -2408.9834
+  23855809.4484   -2322324.01649  -1787418.93146  23855808.7214   23855813.9514
+     -3379.0934      -2633.0584
+  20890154.7914  -19757072.82949 -15373070.97448  20890153.7024   20890157.8974
+     -1652.2474      -1287.4654
+  22268971.0094  -11839542.10549  -9202957.69047  22268971.0534   22268975.9664
+      2880.0744       2244.2054
+  20505556.2394  -24879759.87149 -19375461.46048  20505556.1844   20505562.0314
+      1096.5404        854.4434
+  21125991.0354  -18509967.13049 -14412155.10748  21125990.0714   21125996.5634
+      2315.5934       1804.3584
+  24516709.1114   -1069937.52248   -818780.44944  24516706.6854   24516718.0014
+     -2033.5214      -1584.5654
+ 05  1 20 14 19  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24021240.9884   -8290948.08049  -6444895.33546  24021239.5324   24021246.1514
+      2505.9804       1952.7044
+  22715320.8644  -11353552.75949  -8827652.16846  22715321.4534   22715328.1724
+     -3096.7344      -2413.0384
+  23875107.1544   -2220913.71049  -1708398.01746  23875107.0224   23875112.4154
+     -3381.5834      -2635.0094
+  20899624.2184  -19707310.71749 -15334295.31348  20899623.3734   20899627.3724
+     -1665.2304      -1297.5824
+  22252556.3594  -11925803.73949  -9270174.50847  22252556.3094   22252561.5324
+      2870.6604       2236.8714
+  20499341.4334  -24912421.25149 -19400911.89548  20499341.1754   20499346.8564
+      1080.8344        842.2124
+  21112809.0864  -18579234.91949 -14466129.99748  21112808.4184   21112815.0304
+      2302.2364       1793.9474
+  24528362.1504   -1008702.63248   -771065.15944  24528362.4764   24528372.4494
+     -2049.1754      -1596.7534
+ 05  1 20 14 19 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  24006937.0204   -8366113.25749  -6503465.60346  24006937.6014   24006941.5734
+      2505.0524       1951.9894
+  22733016.3534  -11260573.43549  -8755200.79246  22733015.1724   22733021.0014
+     -3101.8694      -2417.0384
+  23894417.5904   -2119430.18049  -1629320.01646  23894417.5974   23894422.9454
+     -3383.9554      -2636.8544
+  20909167.3074  -19657159.85849 -15295216.73848  20909166.6014   20909170.5854
+     -1678.1384      -1307.6404
+  22236194.9994  -12011780.46949  -9337169.33347  22236194.9264   22236200.2704
+      2861.1084       2229.4284
+  20493216.2884  -24944610.80849 -19425994.68048  20493215.7204   20493221.1194
+      1065.1044        829.9514
+  21099703.9294  -18648100.49449 -14519791.49348  21099703.9634   21099710.0594
+      2288.8054       1783.4804
+  24540105.9084    -947002.66249   -722987.46144  24540101.9414   24540110.5204
+     -2064.3874      -1608.6204
+ 05  1 20 14 20  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23992638.7174   -8441250.89149  -6562014.39546  23992638.0304   23992644.4054
+      2504.1614       1951.2924
+  22750737.1014  -11167440.39749  -8682629.63446  22750737.4814   22750743.2444
+     -3106.9904      -2421.0344
+  23913743.1754   -2017876.10649  -1550187.07246  23913743.5134   23913748.9284
+     -3386.3084      -2638.6654
+  20918784.8244  -19606622.48549 -15255836.97948  20918783.5764   20918787.6404
+     -1690.9984      -1317.6614
+  22219889.4534  -12097469.66649  -9403940.10247  22219888.2774   22219894.7884
+      2851.4814       2221.9364
+  20487180.1514  -24976326.55049 -19450708.25348  20487180.1324   20487185.6784
+      1049.2704        817.6124
+  21086677.4614  -18716561.95149 -14573138.09448  21086676.7394   21086682.2664
+      2275.2844       1772.9444
+  24551933.6804    -884839.60048   -674548.75344  24551933.4134   24551942.3114
+     -2079.7734      -1620.6054
+ 05  1 20 14 20 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23978346.9384   -8516360.93649  -6620541.70846  23978345.7404   23978350.8864
+      2503.2454       1950.5724
+  22768488.9634  -11074155.69649  -8609940.28246  22768488.3854   22768494.9844
+     -3111.9824      -2424.9064
+  23933078.0154   -1916254.81849  -1471001.73346  23933080.6814   23933086.8804
+     -3388.4964      -2640.3794
+  20928474.9414  -19555700.50049 -15216157.52548  20928473.7804   20928477.7714
+     -1703.7724      -1327.6144
+  22203638.1954  -12182868.37549  -9470484.51847  22203638.4704   22203642.9574
+      2841.7324       2214.3414
+  20481235.8494  -25007566.67049 -19475051.21248  20481235.6404   20481241.0574
+      1033.3834        805.2344
+  21073726.9154  -18784616.30949 -14626167.46848  21073726.4344   21073731.8784
+      2261.6654       1762.3384
+  24563850.8254    -822215.38049   -625750.68445  24563851.2004   24563857.6754
+     -2095.1814      -1632.5984
+ 05  1 20 14 21  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23964058.1904   -8591443.20249  -6679047.37446  23964057.6734   23964063.6644
+      2502.2534       1949.8074
+  22786268.6004  -10980721.48849  -8537134.44746  22786268.4884   22786275.2944
+     -3116.9334      -2428.7804
+  23952430.7374   -1814569.32849  -1391766.39746  23952431.1204   23952437.6634
+     -3390.5604      -2641.9844
+  20938237.6434  -19504396.07449 -15176180.06748  20938236.7404   20938240.5484
+     -1716.4954      -1337.5334
+  22187443.2934  -12267973.75549  -9536800.37947  22187443.3874   22187448.7064
+      2831.9164       2206.6934
+  20475381.7204  -25038329.57949 -19499022.32248  20475381.6344   20475386.9884
+      1017.4264        792.8014
+  21060854.4924  -18852260.33249 -14678877.09248  21060854.0514   21060860.1834
+      2247.9434       1751.6414
+  24575854.5654    -759131.79048   -576594.82744  24575855.0754   24575862.0184
+     -2110.4664      -1644.5224
+ 05  1 20 14 21 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23949775.8194   -8666497.65149  -6737531.33246  23949775.1124   23949780.4424
+      2501.3394       1949.0864
+  22804076.8154  -10887139.90949  -8464213.76246  22804076.2374   22804083.9814
+     -3121.7954      -2432.5804
+  23971791.6284   -1712822.97149  -1312483.59546  23971792.6504   23971800.2264
+     -3392.5344      -2643.5284
+  20948072.8724  -19452711.12149 -15135906.08948  20948072.0284   20948075.8994
+     -1729.1674      -1347.4034
+  22171306.0304  -12352782.99849  -9602885.49847  22171305.4964   22171309.5704
+      2821.9964       2198.9594
+  20469619.1624  -25068613.27549 -19522620.00948  20469618.7664   20469624.4734
+      1001.4334        780.3394
+  21048060.5134  -18919491.92449 -14731265.35148  21048060.3324   21048066.4064
+      2234.1424       1740.8874
+  24587943.8784    -695591.05948   -527082.67545  24587946.0884   24587950.8944
+     -2125.5434      -1656.2654
+ 05  1 20 14 22  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23935500.6684   -8741523.94249  -6795993.42046  23935499.0574   23935504.5114
+      2500.4144       1948.3784
+  22821911.9064  -10793412.99349  -8391179.88346  22821912.2714   22821919.8254
+     -3126.6374      -2436.3304
+  23991165.2844   -1611018.79949  -1233155.77345  23991165.7214   23991171.3074
+     -3394.3904      -2644.9654
+  20957980.3394  -19400647.87249 -15095337.34148  20957979.4274   20957983.5864
+     -1741.7284      -1357.1894
+  22155222.7984  -12437293.39549  -9668737.72647  22155222.5884   22155227.8274
+      2811.9914       2191.1604
+  20463947.7834  -25098416.27449 -19545843.13648  20463947.4194   20463953.0694
+       985.4224        767.8664
+  21035345.8494  -18986308.33349 -14783330.08948  21035345.6094   21035351.8094
+      2220.2664       1730.0844
+  24600124.3734    -631594.86748   -477215.55444  24600120.4964   24600133.6804
+     -2140.8154      -1668.1654
+ 05  1 20 14 22 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23921229.6144   -8816522.03449  -6854433.45446  23921227.3994   23921232.7964
+      2499.4604       1947.6224
+  22839776.5714  -10699542.68049  -8318034.21946  22839775.5634   22839781.8544
+     -3131.3774      -2440.0454
+  24010548.5584   -1509159.96049  -1153785.33745  24010548.6014   24010555.6444
+     -3396.1794      -2646.3594
+  20967958.6104  -19348208.27149 -15054475.32148  20967957.8574   20967962.1054
+     -1754.2264      -1366.9274
+  22139200.1694  -12521501.85349  -9734354.69147  22139199.3154   22139204.1154
+      2801.9044       2183.3044
+  20458367.9644  -25127736.72649 -19568690.24448  20458367.9804   20458373.5484
+       969.2844        755.2874
+  21022711.1194  -19052707.05249 -14835069.35448  21022710.1414   21022716.5584
+      2206.3164       1719.2104
+  24612388.6694    -567145.49149   -426995.36144  24612389.8904   24612393.6624
+     -2155.6974      -1679.7664
+ 05  1 20 14 23  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23906961.6474   -8891491.78249  -6912851.44146  23906961.3274   23906964.9384
+      2498.4994       1946.8874
+  22857665.1794  -10605531.14449  -8244778.53246  22857664.1154   22857672.0564
+     -3136.0484      -2443.6674
+  24029942.6884   -1407248.99349  -1074374.31145  24029942.3084   24029948.8874
+     -3397.8974      -2647.7164
+  20978009.0524  -19295394.38949 -15013321.66848  20978007.7484   20978012.3274
+     -1766.6804      -1376.6294
+  22123231.0054  -12605405.69449  -9799734.30047  22123231.8374   22123237.0494
+      2791.6744       2175.3354
+  20452881.0634  -25156573.02149 -19591160.09148  20452880.4104   20452886.1994
+       953.0944        742.6724
+  21010155.1154  -19118685.37649 -14886481.04048  21010154.7194   21010161.1014
+      2192.2304       1708.2324
+  24624738.0534    -502245.02849   -376423.56445  24624738.4514   24624747.9984
+     -2170.9564      -1691.6424
+ 05  1 20 14 23 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23892701.0554   -8966432.98149  -6971247.15046  23892700.8844   23892705.7034
+      2497.5744       1946.1654
+  22875582.2054  -10511380.66949  -8171414.60646  22875580.9714   22875587.2584
+     -3140.6284      -2447.2324
+  24049345.2064   -1305289.33049   -994925.28445  24049343.8684   24049350.8744
+     -3399.4564      -2648.9244
+  20988130.3944  -19242208.55849 -14971878.17448  20988129.2664   20988132.8664
+     -1779.0464      -1386.2684
+  22107323.1184  -12689002.12349  -9864874.35847  22107323.2514   22107329.5674
+      2781.3864       2167.3194
+  20447485.8434  -25184923.32849 -19613251.25348  20447485.7634   20447491.1854
+       936.8874        730.0444
+  20997680.3544  -19184240.71149 -14937563.12348  20997680.1144   20997686.3064
+      2178.0944       1697.2164
+  24637174.4764    -436895.46548   -325501.91144  24637172.4354   24637178.4604
+     -2185.7164      -1703.1554
+ 05  1 20 14 24  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23878445.2104   -9041345.49749  -7029620.54746  23878444.4984   23878449.7264
+      2496.6234       1945.4234
+  22893524.2354  -10417093.06949  -8097943.79546  22893523.2494   22893530.4694
+     -3145.1764      -2450.7964
+  24068756.3144   -1203284.10749   -915440.81846  24068755.6454   24068761.6624
+     -3400.9014      -2650.0504
+  20998321.7564  -19188652.63049 -14930146.29248  20998320.7764   20998324.7004
+     -1791.3444      -1395.8544
+  22091475.4184  -12772288.31749  -9929772.68747  22091475.3604   22091480.5064
+      2770.9944       2159.2184
+  20442183.6244  -25212786.03349 -19634962.46048  20442183.4314   20442189.2034
+       920.6174        717.3654
+  20985286.4764  -19249370.65149 -14988313.72548  20985286.2494   20985292.4764
+      2163.8764       1686.1364
+  24649692.5574    -371098.62248   -274231.79544  24649694.1354   24649699.5194
+     -2200.7394      -1714.8534
+ 05  1 20 14 24 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23864194.3924   -9116229.03249  -7087971.35146  23864194.4844   23864200.3444
+      2495.6354       1944.6454
+  22911491.1954  -10322670.58449  -8024367.87546  22911491.9444   22911497.7884
+     -3149.6344      -2454.2654
+  24088175.4724   -1101236.74649   -835923.49645  24088173.8734   24088180.1544
+     -3402.1974      -2651.0664
+  21008583.0854  -19134728.71049 -14888127.66748  21008582.2624   21008585.7834
+     -1803.5594      -1405.3704
+  22075686.6794  -12855261.62649  -9994427.18747  22075686.3964   22075691.1684
+      2760.5314       2151.0634
+  20436974.6504  -25240159.47849 -19656292.42548  20436974.4744   20436980.0834
+       904.2514        704.6134
+  20972974.7984  -19314072.40549 -15038730.67348  20972974.0584   20972980.1254
+      2149.5704       1674.9884
+  24662300.4274    -304856.73048   -222614.83644  24662299.8074   24662306.9914
+     -2215.4794      -1726.3454
+ 05  1 20 14 25  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23849950.9924   -9191083.40349  -7146299.41946  23849949.9504   23849956.0684
+      2494.6494       1943.8814
+  22929486.4024  -10228115.16149  -7950688.38846  22929485.7094   22929491.6264
+     -3153.9904      -2457.6514
+  24107599.8254    -999149.70849   -756375.26845  24107600.5324   24107606.7084
+     -3403.5564      -2652.1024
+  21018914.3194  -19080438.72849 -14845823.79848  21018913.1814   21018917.5624
+     -1815.7284      -1414.8484
+  22059957.2634  -12937919.05749 -10058835.55847  22059956.6794   22059961.8844
+      2749.9644       2142.8274
+  20431859.5164  -25267041.88049 -19677239.76448  20431859.2814   20431864.5264
+       887.8754        691.8554
+  20960744.3964  -19378343.64049 -15088812.15948  20960743.9014   20960749.3354
+      2135.1754       1663.7744
+  24674991.4004    -238171.71448   -170652.62844  24674989.8744   24674997.8124
+     -2230.1244      -1737.7594
+ 05  1 20 14 25 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23835712.7744   -9265908.50549  -7204604.69546  23835711.1614   23835718.0254
+      2493.6794       1943.1214
+  22947504.8164  -10133428.95249  -7876906.98546  22947503.4084   22947510.0854
+     -3158.3554      -2461.0404
+  24127036.0374    -897026.31049   -676798.66145  24127034.1634   24127039.7864
+     -3404.7224      -2653.0284
+  21029314.0544  -19025785.01349 -14803236.50448  21029313.3684   21029317.0754
+     -1827.8254      -1424.2784
+  22044288.3494  -13020257.71349 -10122995.52747  22044288.2384   22044293.5864
+      2739.2754       2134.4964
+  20426837.4304  -25293431.82949 -19697803.36848  20426837.0824   20426842.7964
+       871.4164        679.0294
+  20948596.3064  -19442181.73749 -15138556.12748  20948595.6994   20948601.3264
+      2120.6664       1652.4674
+  24687763.9104    -171045.94249   -118347.00044  24687765.3194   24687770.0914
+     -2244.8814      -1749.2624
+ 05  1 20 14 26  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23821480.1434   -9340704.03349  -7262886.91346  23821479.0974   23821484.7354
+      2492.6754       1942.3444
+  22965546.7094  -10038613.78049  -7803025.09646  22965547.3604   22965552.5644
+     -3162.6364      -2464.3894
+  24146473.3254    -794869.63549   -597196.17345  24146473.8444   24146479.5854
+     -3405.7384      -2653.8074
+  21039783.2144  -18970769.74449 -14760367.47848  21039782.3104   21039786.6224
+     -1839.8454      -1433.6434
+  22028681.4934  -13102275.03349 -10186905.10747  22028681.3704   22028686.0644
+      2728.5374       2126.1264
+  20421909.6754  -25319327.45749 -19717981.79148  20421909.4784   20421915.1124
+       854.9254        666.1754
+  20936531.1904  -19505583.94949 -15187960.45148  20936530.7864   20936536.1144
+      2106.1264       1641.1384
+  24700618.3114    -103481.46748    -65699.52644  24700618.2464   24700629.2014
+     -2259.5414      -1760.6764
+ 05  1 20 14 26 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23807250.6464   -9415469.84349  -7321145.98146  23807251.1924   23807256.8864
+      2491.6904       1941.5814
+  22983612.9424   -9943671.63349  -7729044.26046  22983613.3024   22983618.8054
+     -3166.8644      -2467.6774
+  24165919.1984    -692682.68749   -517570.07345  24165919.6154   24165926.8864
+     -3406.6994      -2654.5654
+  21050320.9084  -18915394.84149 -14717218.21848  21050320.0344   21050323.8394
+     -1851.8004      -1442.9614
+  22013136.6744  -13183968.06449 -10250562.00447  22013135.3434   22013140.2314
+      2717.6684       2117.6644
+  20417076.2744  -25344727.28449 -19737773.87048  20417075.9064   20417081.6014
+       838.3594        653.2674
+  20924549.7004  -19568547.99349 -15237023.34148  20924549.0084   20924554.6734
+      2091.4874       1629.7304
+  24713557.9964     -35480.54058    -12711.83854  24713561.5984   24713564.0144
+     -2273.9234      -1771.8894
+ 05  1 20 14 27  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23793028.9084   -9490205.70049  -7379381.70446  23793028.4794   23793036.4554
+      2490.6904       1940.7904
+  23001704.6544   -9848604.53249  -7654966.04746  23001703.8354   23001709.4594
+     -3170.9944      -2470.9074
+  24185366.8414    -590468.57749   -437922.82445  24185369.7874   24185377.2184
+     -3407.5664      -2655.2404
+  21060926.1764  -18859662.50149 -14673790.43548  21060925.2334   21060929.6164
+     -1863.6734      -1452.2134
+  21997651.1494  -13265334.26649 -10313964.20247  21997651.1634   21997657.0344
+      2706.7184       2109.1274
+  20412337.8084  -25369629.82849 -19757178.46648  20412337.0554   20412342.7084
+       821.7984        640.3624
+  20912651.8384  -19631071.19849 -15285742.72348  20912651.0304   20912656.9654
+      2076.7434       1618.2424
+  24726586.5654      32954.78648     40614.37044
+     -2288.4134      -1783.1664
+ 05  1 20 14 27 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23778812.6144   -9564911.56149  -7437594.07046  23778812.5314   23778818.6094
+      2489.6624       1940.0024
+  23019818.4414   -9753414.69049  -7580792.20646  23019817.8944   23019824.4654
+     -3175.0184      -2474.0424
+  24204825.0794    -488230.02449   -358256.53945  24204825.6334   24204833.0504
+     -3408.3044      -2655.8194
+  21071599.9364  -18803574.81549 -14630085.76548  21071599.0494   21071602.3724
+     -1875.4934      -1461.4254
+  21982230.2514  -13346370.62649 -10377109.38947  21982230.5534   21982235.9404
+      2695.6614       2100.5124
+  20407693.5794  -25394033.40749 -19776194.25248  20407693.2834   20407698.9514
+       805.0884        627.3404
+  20900837.3624  -19693151.02749 -15334116.61148  20900837.1044   20900843.9854
+      2061.9064       1606.6774
+  24739689.1114     101822.51448     94277.58344
+     -2302.7854      -1794.3934
+ 05  1 20 14 28  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23764603.4764   -9639587.17049  -7495782.83646  23764603.4124   23764608.6514
+      2488.6764       1939.2334
+  23037956.2924   -9658103.95949  -7506524.16646  23037954.6854   23037961.4134
+     -3179.0544      -2477.1974
+  24224284.1624    -385970.23349   -278573.72145  24224285.8894   24224292.4504
+     -3408.9274      -2656.2934
+  21082339.4684  -18747133.77049 -14586105.74148  21082338.8754   21082342.7614
+     -1887.2074      -1470.5514
+  21966873.8664  -13427074.66649 -10439995.63647  21966873.3014   21966878.0554
+      2684.5474       2091.8624
+  20403144.8934  -25417936.39549 -19794819.96948  20403144.7974   20403150.4704
+       788.3884        614.3304
+  20889109.0084  -19754784.87349 -15382142.98548  20889109.0564   20889115.5244
+      2047.0084       1595.0714
+  24752877.9494     171120.59049    148276.17144
+     -2317.0924      -1805.5264
+ 05  1 20 14 28 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23750399.6194   -9714232.11249  -7553947.73546  23750399.0634   23750403.4834
+      2487.6494       1938.4254
+  23056114.3894   -9562674.39649  -7432163.53846  23056114.5084   23056121.5864
+     -3182.9424      -2480.2134
+  24243749.1684    -283692.28049   -198876.72745  24243748.7874   24243754.8094
+     -3409.5314      -2656.7664
+  21093147.0424  -18690341.67149 -14541852.16748  21093146.0804   21093150.1304
+     -1898.8994      -1479.6604
+  21951579.5754  -13507443.29949 -10502620.53247  21951579.6404   21951585.1634
+      2673.3554       2083.1354
+  20398692.3524  -25441337.29049 -19813054.44348  20398691.7994   20398697.4064
+       771.6284        601.2704
+  20877466.6554  -19815970.13449 -15429819.82348  20877466.2044   20877472.2804
+      2032.0054       1583.3814
+  24766142.9204     240846.77548     49391.26343
+     -2331.4044      -1818.0504
+ 05  1 20 14 29  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23736199.5274   -9788846.07849  -7612088.47146  23736200.1944   23736205.1364
+      2486.6104       1937.6104
+  23074296.8574   -9467127.95549  -7357711.83546  23074296.5414   23074303.2284
+     -3186.7874      -2483.2084
+  24263213.9494    -181399.26249   -119167.97545  24263214.4554   24263219.4354
+     -3409.9684      -2657.1244
+  21104020.8344  -18633200.64549 -14497326.70048  21104019.8434   21104023.4594
+     -1910.5064      -1488.7084
+  21936351.3974  -13587474.15549 -10564982.20847  21936351.0034   21936355.4024
+      2662.0364       2074.3084
+  20394335.2524  -25464234.49749 -19830896.43248  20394334.5934   20394340.0584
+       754.8174        588.1694
+  20865909.6974  -19876704.45949 -15477145.27048  20865909.0504   20865914.8594
+      2016.9324       1571.6304
+  24779494.1664     310998.72448    104095.53244
+     -2345.5694      -1829.0554
+ 05  1 20 14 29 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23722008.0214   -9863429.13449  -7670205.12546  23722007.3614   23722012.1254
+      2485.5624       1936.7944
+  23092500.0974   -9371466.51649  -7283170.52846  23092501.8574   23092506.5634
+     -3190.5974      -2486.1854
+  24282683.5354     -79094.01249    -39449.71245  24282683.1264   24282690.6284
+     -3410.3644      -2657.4204
+  21114960.7054  -18575712.64749 -14452530.87548  21114959.5124   21114963.2714
+     -1922.0174      -1497.6784
+  21921185.7044  -13667164.26949 -10627078.38247  21921185.8314   21921189.9944
+      2650.6394       2065.4344
+  20390073.6494  -25486626.64849 -19848344.87148  20390073.4544   20390079.2434
+       737.9344        575.0124
+  20854438.3384  -19936985.00149 -15524117.13048  20854437.8684   20854443.2674
+      2001.7484       1559.8024
+  24792925.6594     381574.21848    159129.92944
+     -2359.5474      -1839.9594
+ 05  1 20 14 30  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23707820.5324   -9937980.91449  -7728297.41346  23707820.3734   23707825.9464
+      2484.5084       1935.9794
+  23110725.4654   -9275692.06549  -7208541.13146  23110725.4174   23110731.6384
+     -3194.3144      -2489.0784
+  24302154.4034      23220.43649     40275.70145  24302153.2344   24302159.7684
+     -3410.5604      -2657.5874
+  21125965.5434  -18517880.00949 -14407466.49648  21125964.6754   21125968.1024
+     -1933.4764      -1506.6014
+  21906086.5914  -13746510.87549 -10688906.88747  21906086.5334   21906091.2074
+      2639.1164       2056.4504
+  20385908.9514  -25508512.06149 -19865398.44448  20385908.8184   20385914.5254
+       721.0394        561.8554
+  20843053.9004  -19996809.24749 -15570733.42148  20843053.6224   20843059.5634
+      1986.5234       1547.9424
+  24806433.3374     452571.26758     45688.25653
+     -2373.7554      -1849.6794
+ 05  1 20 14 30 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23693639.0074  -10012501.15849  -7786365.12546  23693639.7594   23693645.2374
+      2483.4964       1935.1944
+  23128974.0864   -9179806.57349  -7133825.22646  23128971.8314   23128977.7034
+     -3197.9854      -2491.9254
+  24321625.3664     125540.86049    120005.80845  24321624.6624   24321628.4904
+     -3410.7854      -2657.7544
+  21137035.7644  -18459704.70149 -14362135.10348  21137034.9094   21137039.0014
+     -1944.8714      -1515.4794
+  21891053.6954  -13825511.14849 -10750465.50747  21891053.8324   21891058.1584
+      2627.5504       2047.4454
+  20381841.2004  -25529889.37049 -19882056.09548  20381840.9474   20381846.4054
+       704.0704        548.6264
+  20831757.5584  -20056175.01149 -15616992.46848  20831757.2014   20831762.5734
+      1971.2084       1536.0104
+  24820026.3704     523985.67258    101327.02654
+     -2387.3884      -1860.0014
+ 05  1 20 14 31  0.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23679465.4744  -10086989.59449  -7844408.04646  23679464.4804   23679470.1854
+      2482.4534       1934.3894
+  23147240.3794   -9083812.25949  -7059024.49446  23147239.1924   23147244.9274
+     -3201.6064      -2494.7544
+  24341095.1264     227864.60949    199738.46945  24341095.2744   24341100.4704
+     -3410.8194      -2657.7714
+  21148171.3504  -18401188.76049 -14316538.28448  21148170.3684   21148174.0254
+     -1956.1644      -1524.2834
+  21876087.3764  -13904162.77249 -10811752.47547  21876087.0014   21876091.2144
+      2615.9004       2038.3684
+  20377870.4674  -25550757.07449 -19898316.65048  20377869.8854   20377875.5814
+       687.1004        535.4074
+  20820548.0674  -20115080.15549 -15662892.58348  20820547.3644   20820553.2794
+      1955.7994       1524.0014
+  24833695.4724     595818.78148    157291.91444
+     -2401.1314      -1870.6984
+ 05  1 20 14 31 30.0000000  0  8G28G 3G13G19G11G27G 8G15
+  23665296.5614  -10161446.08649  -7902426.07146  23665295.3904   23665301.4224
+      2481.3324       1933.5044
+  23165527.7524   -8987710.59549  -6984140.14546  23165527.3434   23165533.1934
+     -3205.1414      -2497.5274
+  24360566.8494     330188.35949    279471.16945  24360566.1174   24360572.9184
+     -3410.7694      -2657.7404
+  21159371.2994  -18342334.29349 -14270677.67948  21159370.0784   21159373.8554
+     -1967.4444      -1533.0714
+  21861186.2574  -13982462.70349 -10872765.39247  21861186.8054   21861190.6974
+      2604.1004       2029.1694
+  20373996.5044  -25571113.67049 -19914178.94248  20373996.1324   20374001.6974
+       670.0034        522.0804
+  20809427.0434  -20173521.47949 -15708431.27848  20809426.3664   20809432.2474
+      1940.3034       1511.9254
+  24847442.7134     668066.56158     42717.67353
+     -2415.1904      -1881.9664
+ 05  1 20 14 32  0.0000000  0  7G28G 3G13G19G11G27G 8
+  23651135.1034  -10235870.26749  -7960418.94346  23651133.9314   23651139.0404
+      2480.2504       1932.6554
+  23183834.4714   -8891503.88249  -6909173.93246  23183833.8734   23183841.0374
+     -3208.6404      -2500.2474
+  24380037.3804     432509.31049    359201.63845  24380038.0274   24380044.3494
+     -3410.5574      -2657.5684
+  21170634.0704  -18283143.48949 -14224554.99648  21170633.5154   21170637.2434
+     -1978.6174      -1541.7824
+  21846353.8174  -14060408.37549 -10933502.25547  21846353.9774   21846358.7264
+      2592.2684       2019.9514
+  20370220.5824  -25590957.86649 -19929641.96148  20370220.1854   20370225.4834
+       652.8904        508.7444
+  20798393.8094  -20231496.88149 -15753606.92048  20798393.6804   20798399.9994
+      1924.7234       1499.7814
+ 05  1 20 14 32 30.0000000  0  7G28G 3G13G19G11G27G 8
+  23636976.8624  -10310261.95249  -8018386.48246  23636977.4824   23636981.9094
+      2479.1604       1931.8104
+  23202162.3174   -8795193.76249  -6834127.14746  23202160.6624   23202166.2754
+     -3212.0574      -2502.8984
+  24399506.8334     534824.53449    438927.68245  24399505.7404   24399515.5764
+     -3410.3244      -2657.3884
+  21181962.1304  -18223618.73249 -14178172.08448  21181960.7154   21181964.9944
+     -1989.7104      -1550.4264
+  21831590.4664  -14137997.16049 -10993961.02447  21831589.4954   21831594.0404
+      2580.3114       2010.6354
+  20366542.0474  -25610288.17449 -19944704.55248  20366541.5874   20366547.0574
+       635.7284        495.3734
+  20787451.5024  -20289003.72649 -15798417.46448  20787450.8654   20787456.7864
+      1909.0604       1487.5784
+ 05  1 20 14 33  0.0000000  0  7G28G 3G13G19G11G27G 8
+  23622828.8714  -10384620.95549  -8076328.52746  23622827.5614   23622833.0474
+      2478.0694       1930.9634
+  23220508.1204   -8698782.17749  -6759001.27146  23220508.4224   23220513.6534
+     -3215.3824      -2505.4814
+  24418975.1834     637131.09549    518646.97145  24418974.4534   24418983.1594
+     -3410.0954      -2657.2134
+  21193351.4564  -18163761.96049 -14131530.47148  21193351.1854   21193355.3374
+     -2000.7264      -1559.0094
+  21816893.3514  -14215226.39149 -11054139.62547  21816893.4044   21816898.0744
+      2568.2794       2001.2544
+  20362961.7814  -25629103.09149 -19959365.52648  20362961.1954   20362966.9054
+       618.5474        481.9844
+  20776598.4614  -20346039.39149 -15842860.83648  20776597.4824   20776603.3594
+      1893.3224       1475.3174
+ 05  1 20 14 33 30.0000000  0  7G28G 3G13G19G11G27G 8
+  23608683.8244  -10458946.75349  -8134244.72846  23608683.7634   23608689.4894
+      2476.9784       1930.1144
+  23238873.5994   -8602271.16649  -6683797.93346  23238873.0124   23238881.2594
+     -3218.6544      -2508.0294
+  24438442.3284     739425.58249    598356.83245  24438443.2344   24438449.1734
+     -3409.6184      -2656.8494
+  21204805.3274  -18103575.18549 -14084631.70648  21204804.3804   21204808.0784
+     -2011.7104      -1567.5724
+  21802266.2264  -14292093.15549 -11114035.78447  21802265.9794   21802270.4034
+      2556.1564       1991.8094
+  20359479.4594  -25647401.24649 -19973623.84148  20359479.1224   20359484.6814
+       601.3114        468.5524
+  20765834.9234  -20402601.52849 -15886935.23448  20765834.2804   20765840.0904
+      1877.4874       1462.9744
+ 05  1 20 14 34  0.0000000  0  7G28G 3G13G19G11G27G 8
+  23594547.0684  -10533239.19149  -8192134.92046  23594546.6524   23594552.3704
+      2475.8384       1929.2114
+  23257256.3994   -8505662.53449  -6608518.53246  23257256.5564   23257264.4084
+     -3221.9304      -2510.5904
+  24457905.2834     841705.43449    678055.25445  24457905.7034   24457913.1324
+     -3409.0784      -2656.4314
+  21216320.5534  -18043060.81549 -14037477.67348  21216320.0574   21216323.9464
+     -2022.6044      -1576.0544
+  21787708.3484  -14368594.98149 -11173647.57247  21787708.4904   21787713.2654
+      2543.9424       1982.2964
+  20356096.1564  -25665181.37049 -19987478.48548  20356095.7004   20356101.6154
+       583.9904        455.0574
+  20755161.6144  -20458687.91049 -15930638.91448  20755161.1594   20755167.2714
+      1861.5894       1450.5894
+ 05  1 20 14 34 30.0000000  0  7G28G 3G13G19G11G27G 8
+  23580415.9214  -10607498.13949  -8249999.01746  23580414.7594   23580421.2294
+      2474.7514       1928.3874
+  23275660.7714   -8408958.07749  -6533164.47046  23275660.1344   23275667.1344
+     -3225.0804      -2513.0414
+  24477365.7954     943967.74249    757740.03345  24477364.9174   24477373.5674
+     -3408.3924      -2655.8874
+  21227898.2764  -17982220.72549 -13990069.83648  21227897.0274   21227901.3264
+     -2033.3904      -1584.4594
+  21773220.1334  -14444729.12749 -11232972.86347  21773219.8664   21773224.4374
+      2531.6514       1972.7144
+  20352811.2614  -25682442.13349 -20000928.44348  20352810.9344   20352816.9234
+       566.6914        441.5784
+  20744579.8524  -20514295.90149 -15973969.82248  20744579.0804   20744585.2194
+      1845.6184       1438.1464
+ 05  1 20 14 35  0.0000000  0  7G28G 3G13G19G11G27G 8
+  23566291.2684  -10681723.13649  -8307836.67346  23566290.7654   23566296.2544
+      2473.6164       1927.4904
+  23294079.5394   -8312159.64849  -6457737.18346  23294079.4974   23294086.6284
+     -3228.1644      -2515.4544
+  24496821.4604    1046209.38849    837408.66745  24496823.2424   24496827.9004
+     -3407.6424      -2655.3004
+  21239537.0444  -17921057.21949 -13942409.98148  21239536.3864   21239540.2194
+     -2044.1314      -1592.8324
+  21758803.2204  -14520492.99849 -11292009.63347  21758803.0164   21758807.5694
+      2519.2584       1963.0644
+  20349625.9274  -25699182.20349 -20013972.65848  20349625.7014   20349631.2224
+       549.3474        428.0634
+  20734089.0134  -20569423.31849 -16016926.25048  20734088.7164   20734094.9884
+      1829.5564       1425.6284
+ 05  1 20 14 35 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+                   -352311.43641    -27065.078 3                  25340974.092
+      3080.3524       2400.537
+  23552172.9204  -10755913.98049  -8365647.70546  23552171.9354   23552177.7824
+      2472.4564       1926.5814
+  23312518.2094   -8215269.43349  -6382238.39446  23312516.7834   23312523.8234
+     -3231.2114      -2517.8314
+  24516274.3694    1148427.54849    917059.08245  24516272.8324   24516279.2154
+     -3406.8444      -2654.6844
+  21251236.7614  -17859572.30549 -13894499.68748  21251236.3824   21251240.3674
+     -2054.8294      -1601.1704
+  21744457.0264  -14595883.97549 -11350755.83247  21744456.4064   21744461.0694
+      2506.7924       1953.3424
+  20346539.5954  -25715400.21649 -20026610.08348  20346539.2634   20346545.1164
+       531.8594        414.4374
+  20723690.3434  -20624067.74749 -16059506.33248  20723690.0214   20723696.2524
+      1813.4244       1413.0594
+ 05  1 20 14 36  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+                   -444664.00041    -95433.143 4                  25324178.714
+      3076.6284       2398.037
+  23538061.2484  -10830070.32249  -8423431.84846  23538061.2204   23538066.7654
+      2471.2884       1925.6854
+  23330971.3504   -8118289.17649  -6306669.42746  23330971.3594   23330979.8434
+     -3234.1504      -2520.1224
+  24535717.9594    1250619.43249    996688.97345  24535719.0024   24535725.9604
+     -3405.9384      -2653.9704
+  21262998.9544  -17797768.17249 -13846340.63948  21262997.4904   21263001.8104
+     -2065.4604      -1609.4464
+  21730181.5544  -14670899.50549 -11409209.45947  21730180.9844   21730186.2404
+      2494.2054       1943.5294
+  20343553.1334  -25731094.76149 -20038839.60748  20343553.0324   20343558.4604
+       514.3824        400.8164
+  20713385.1054  -20678226.43949 -16101707.91248  20713383.9684   20713390.2224
+      1797.1594       1400.3834
+ 05  1 20 14 36 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+                   -536904.06741    -95433.143 4                  25324178.714
+      3072.8104       2398.037
+  23523955.0314  -10904191.86949  -8481188.89746  23523956.6334   23523961.4774
+      2470.1244       1924.7694
+  23349444.1614   -8021220.70149  -6231031.70946  23349443.8594   23349450.5034
+     -3237.0944      -2522.4094
+  24555160.8194    1352781.88849   1076295.88745  24555161.8484   24555167.4724
+     -3404.9044      -2653.1714
+  21274819.5184  -17735646.96049 -13797934.52848  21274818.6884   21274823.1204
+     -2075.9734      -1617.6434
+  21715978.4264  -14745536.74549 -11467368.32947  21715978.1634   21715983.3294
+      2481.5814       1933.7034
+  20340666.5034  -25746264.80149 -20050660.42848  20340666.1854   20340671.9084
+       496.9104        387.2034
+  20703171.7154  -20731897.34449 -16143529.40048  20703171.0704   20703177.0814
+      1780.8944       1387.7114
+ 05  1 20 14 37  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+                    -35970.67751
+      3069.0504
+  23509859.1184  -10978278.21149  -8538918.52946  23509858.7624   23509863.7464
+      2468.9264       1923.8524
+  23367931.5554   -7924065.70349  -6155326.56046  23367931.9984   23367939.0274
+     -3239.9454      -2524.6234
+  24574596.6344    1454911.96949   1155877.58645  24574595.8704   24574602.2584
+     -3403.7394      -2652.2574
+  21286700.7504  -17673210.83949 -13749283.03348  21286699.8164   21286704.5164
+     -2086.4294      -1625.7874
+  21701847.6014  -14819793.32149 -11525230.58247  21701847.2474   21701852.5104
+      2468.8214       1923.7574
+  20337879.4914  -25760908.75649 -20062071.31648  20337879.4174   20337885.0744
+       479.3674        373.5344
+  20693051.3574  -20785078.37549 -16184969.16648  20693050.8834   20693056.9154
+      1764.5074       1374.9444
+ 05  1 20 14 37 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+                   -127982.72141
+      3065.2494
+  23495765.6464  -11052329.17749  -8596620.53346  23495766.0784   23495773.3064
+      2467.7654       1922.9294
+  23386436.5364   -7826825.98849  -6079555.43546  23386435.4454   23386442.6764
+     -3242.7384      -2526.8174
+  24594027.5974    1557006.97849   1235431.96745  24594025.2134   24594030.2894
+     -3402.5194      -2651.3134
+  21298642.1674  -17610461.80649 -13700387.70848  21298640.8774   21298645.1784
+     -2096.8384      -1633.9014
+  21687789.7274  -14893666.54449 -11582794.12547  21687789.7784   21687794.9894
+      2456.0114       1913.7704
+  20335193.5794  -25775025.62749 -20073071.49148  20335193.0724   20335198.7894
+       461.7314        359.7934
+  20683025.4514  -20837766.37249 -16226024.74448  20683024.8314   20683030.8194
+      1748.0114       1362.0894
+ 05  1 20 14 38  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+                   -219879.34341
+      3061.3664
+  23481683.6584  -11126344.42049  -8654294.75546  23481682.4104   23481687.0224
+      2466.5784       1922.0164
+  23404957.1184   -7729503.48249  -6003719.78346  23404956.1554   23404962.2264
+     -3245.4184      -2528.8924
+  24613443.5104    1659063.73549   1314956.54945  24613445.7054   24613450.7114
+     -3401.2254      -2650.2864
+  21310641.6434  -17547401.98549 -13651250.21948  21310640.7064   21310644.3884
+     -2107.1604      -1641.9394
+  21673806.4424  -14967153.75549 -11640056.85747  21673806.1254   21673810.5154
+      2443.0764       1903.6954
+  20332607.5604  -25788614.12949 -20083659.94048  20332607.1224   20332612.9304
+       444.1114        346.0614
+  20673093.9654  -20889958.96449 -16266694.30148  20673092.9794   20673098.8624
+      1731.4934       1349.2174
+ 05  1 20 14 38 30.0000000  0  7G28G 3G13G19G11G27G 8
+  23467605.5874  -11200323.53649  -8711940.80746  23467604.0034   23467609.9084
+      2465.3884       1921.0904
+  23423491.7424   -7632099.98249  -5927821.01046  23423490.8804   23423497.5634
+     -3248.1304      -2531.0164
+  24632855.9084    1761079.62149   1394449.27945  24632856.5144   24632862.9484
+     -3399.8204      -2649.2154
+  21322700.0064  -17484033.74149 -13601872.38548  21322699.6694   21322703.1474
+     -2117.3844      -1649.9074
+  21659895.9254  -15040252.41749 -11697016.83747  21659895.9134   21659900.4464
+      2430.0944       1893.5774
+  20330122.3784  -25801673.05549 -20093835.74348  20330122.2804   20330128.1284
+       426.4664        332.3114
+  20663256.3774  -20941654.42049 -16306976.47648  20663255.9264   20663261.6284
+      1714.8624       1336.2574
+ 05  1 20 14 39  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+                    -96870.43441
+      3053.5704
+  23453535.1584  -11274266.30649  -8769558.54746  23453533.8884   23453538.2924
+      2464.1604       1920.1354
+  23442042.8044   -7534617.31749  -5851860.54646  23442041.5934   23442047.9114
+     -3250.7244      -2533.0264
+  24652264.4654    1863051.83349   1473908.01945  24652261.6954   24652268.2954
+     -3398.3124      -2648.0254
+  21334816.5484  -17420359.04549 -13552255.76148  21334815.9644   21334820.3074
+     -2127.5564      -1657.8364
+  21646060.3234  -15112959.98649 -11753672.06147  21646059.8194   21646064.8314
+      2417.0534       1883.4154
+  20327738.7004  -25814201.20549 -20103597.94948  20327738.3564   20327743.7214
+       408.7244        318.4844
+  20653513.4994  -20992850.10949 -16346869.21548  20653513.2354   20653519.1544
+      1698.1914       1323.2644
+ 05  1 20 14 39 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+                   -188414.78741
+      3049.5424
+  23439470.1724  -11348172.23649  -8827147.56146  23439469.4214   23439474.4104
+      2462.9304       1919.1664
+  23460607.2454   -7437057.23249  -5775839.76146  23460606.1044   23460614.2404
+     -3253.2284      -2534.9954
+  24671657.1184    1964977.30949   1553330.34545  24671657.1694   24671667.7654
+     -3396.7024      -2646.7674
+  21346992.2964  -17356380.23749 -13502402.16648  21346990.7324   21346994.9364
+     -2137.6734      -1665.7204
+  21632300.0364  -15185274.00049 -11810020.63347  21632299.2674   21632303.7114
+      2403.8804       1873.1554
+  20325455.6564  -25826197.47849 -20112945.70448  20325455.3254   20325460.9494
+       390.9764        304.6564
+  20643867.2144  -21043543.98749 -16386370.94648  20643866.5574   20643872.4944
+      1681.4084       1310.1894
+ 05  1 20 14 40  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+                   -279839.84541   -111301.881 5                  25205806.947
+      3045.5984       2376.757
+  23425414.2694  -11422041.03449  -8884707.65146  23425412.6814   23425418.9874
+      2461.6804       1918.1924
+  23479186.9164   -7339421.62949  -5699760.11546  23479186.2134   23479193.4424
+     -3255.7714      -2536.9604
+  24691043.8644    2066853.21849   1632714.03245  24691043.4584   24691052.6734
+     -3394.9484      -2645.4064
+  21359224.2734  -17292099.27649 -13452313.13548  21359222.9804   21359227.0224
+     -2147.7164      -1673.5464
+  21618613.3504  -15257192.00349 -11866060.61247  21618613.6744   21618618.1594
+      2390.6264       1862.8274
+  20323274.4814  -25837660.67849 -20121878.07748  20323274.0754   20323279.6914
+       373.1854        290.7934
+  20634316.6874  -21093733.60549 -16425479.74648  20634315.8524   20634321.8784
+      1664.5554       1297.0524
+ 05  1 20 14 40 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  25165511.4164     -64260.60249     -5387.35543
+      3041.5674       2369.9954
+  23411364.1114  -11495872.54349  -8942238.68646  23411363.0154   23411368.2174
+      2460.4404       1917.2114
+  23497777.3764   -7241712.24849  -5623622.97946  23497777.9564   23497786.7154
+     -3258.2174      -2538.8644
+  24710419.1024    2168676.81749   1712056.97645  24710421.6664   24710430.3864
+     -3393.2014      -2644.0414
+  21371513.2754  -17227518.45349 -13401990.43448  21371512.2164   21371516.6614
+     -2157.6664      -1681.2964
+  21605004.0194  -15328711.25449 -11921789.87547  21605003.7664   21605008.4434
+      2377.3124       1852.4554
+  20321194.4294  -25848589.60249 -20130394.13348  20321194.3884   20321199.8884
+       355.3714        276.9164
+  20624862.2884  -21143416.47949 -16464193.67848  20624861.6474   20624867.3914
+      1647.6324       1283.8704
+ 05  1 20 14 41  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  25148160.0934    -155443.96949    -76439.35845
+      3037.4994       2366.8914
+  23397320.3824  -11569666.24849  -8999740.25846  23397321.1494   23397325.9334
+      2459.1694       1916.2374
+  23516386.8474   -7143930.63149  -5547429.56746  23516386.5394   23516394.3684
+     -3260.5514      -2540.6904
+  24729788.6634    2270445.06149   1791356.79345  24729786.3824   24729794.5844
+     -3391.2954      -2642.5674
+  21383859.4024  -17162639.61649 -13351435.51648  21383858.5324   21383862.5084
+     -2167.5334      -1688.9914
+  21591469.9294  -15399829.28049 -11977206.49047  21591469.9514   21591475.1834
+      2363.8864       1841.9884
+  20319217.4554  -25858983.29349 -20138493.12248  20319216.6674   20319222.3434
+       337.5134        262.9974
+  20615503.8814  -21192590.25549 -16502510.90648  20615503.9914   20615510.0524
+      1630.6324       1270.6244
+ 05  1 20 14 41 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  25130834.4064    -246505.09949   -147395.97945
+      3033.4204       2363.6964
+  23383285.4504  -11643421.86949  -9057212.17846  23383285.0324   23383289.9464
+      2457.8304       1915.1864
+  23535007.8574   -7046078.64949  -5471181.33546  23535008.4164   23535015.0074
+     -3262.8864      -2542.5074
+  24749139.1514    2372155.09449   1870611.24245  24749141.2974   24749148.8434
+     -3389.3194      -2641.0234
+  21396262.4324  -17097465.10749 -13300650.20948  21396261.1134   21396265.1534
+     -2177.3874      -1696.6654
+  21578015.2634  -15470543.53149 -12032308.49147  21578014.3274   21578018.9344
+      2350.3804       1831.4694
+  20317340.8444  -25868840.53349 -20146174.11048  20317340.9104   20317346.5784
+       319.6354        249.0694
+  20606244.6304  -21241252.75649 -16540429.74348  20606243.7234   20606249.7834
+      1613.5544       1257.3184
+ 05  1 20 14 42  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  25113529.2124    -337443.01749   -218256.54445                  25113535.0814
+      3029.3164       2360.4994
+  23369258.6184  -11717139.08849  -9114654.16046  23369257.5614   23369263.1774
+      2456.6324       1914.2584
+  23553641.7514   -6948158.24449  -5394879.78746  23553641.7364   23553648.9034
+     -3265.1644      -2544.2794
+  24768483.2914    2473804.13849   1949818.17045  24768485.5664   24768492.4224
+     -3387.2034      -2639.3704
+  21408719.5124  -17031996.98049 -13249636.10548  21408718.7594   21408723.3384
+     -2187.1284      -1704.2554
+  21564635.0824  -15540851.56349 -12087093.95347  21564634.9274   21564639.2304
+      2336.8024       1820.8834
+  20315567.5164  -25878160.26549 -20153436.24748  20315567.1284   20315572.9774
+       301.6914        235.0834
+  20597082.4174  -21289401.94849 -16577948.59548  20597081.6154   20597087.4214
+      1596.4174       1243.9624
+ 05  1 20 14 42 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  25096243.4144    -428256.73149   -289020.38645  25096242.0304   25096251.4904
+      3025.0524       2357.1804
+  23355238.3874  -11790817.34549  -9172065.78046  23355236.8854   23355242.9834
+      2455.2984       1913.2214
+  23572288.2554   -6850171.04049  -5318526.18946  23572288.0694   23572294.3094
+     -3267.3154      -2545.9624
+  24787817.6304    2575389.35149   2028975.36645  24787817.1154   24787824.0504
+     -3385.1254      -2637.7584
+  21421233.5624  -16966237.47649 -13198394.95148  21421232.6564   21421236.9404
+     -2196.8114      -1711.7964
+  21551333.5234  -15610750.79049 -12141560.87347  21551333.5934   21551338.3124
+      2323.1204       1810.2234
+  20313896.7364  -25886941.58849 -20160278.85348  20313896.3844   20313901.9164
+       283.7384        221.0984
+  20588017.3944  -21337035.53049 -16615065.67948  20588017.4894   20588022.8934
+      1579.1784       1230.5344
+ 05  1 20 14 43  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  25078986.0634    -518945.37849   -359686.75745  25078983.9314   25078994.0284
+      3020.8324       2353.8924
+  23341224.9704  -11864456.60149  -9229447.02946  23341224.6754   23341229.6244
+      2453.9844       1912.1884
+  23590946.0374   -6752118.81449  -5242121.91546  23590947.1644   23590954.4634
+     -3269.4884      -2547.6464
+  24807134.4394    2676907.77849   2108080.45645  24807133.9104   24807141.4904
+     -3382.8024      -2635.9554
+  21433802.4074  -16900188.49149 -13146928.23848  21433801.6174   21433805.9924
+     -2206.4404      -1719.3044
+  21538109.9924  -15680238.84549 -12195707.39947  21538109.8184   21538114.9984
+      2309.3904       1799.5294
+  20312328.5764  -25895183.32849 -20166701.00148  20312327.9794   20312333.7434
+       265.7234        207.0574
+  20579051.8204  -21384151.22449 -16651779.21548  20579051.2034   20579057.1634
+      1561.8714       1217.0424
+ 05  1 20 14 43 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  25061750.3184    -609508.01049   -430254.90645  25061751.7434   25061761.2294
+      3016.6354       2350.6204
+  23327219.6244  -11938055.98249  -9286797.18546  23327219.6314   23327225.1524
+      2452.6544       1911.1624
+  23609617.6734   -6654003.21549  -5165668.30246  23609616.2904   23609625.1974
+     -3271.5534      -2549.2504
+  24826441.2844    2778356.97849   2187131.67945  24826440.3384   24826447.2984
+     -3380.4684      -2634.1204
+  21446425.8704  -16833852.28949 -13095237.71748  21446424.9864   21446429.1404
+     -2215.9754      -1726.7304
+  21524965.7944  -15749313.35149 -12249531.67647  21524965.3924   21524969.9994
+      2295.5534       1788.7414
+  20310862.6374  -25902884.47649 -20172701.91148  20310862.4324   20310867.9774
+       247.6694        192.9874
+  20570184.7254  -21430746.78249 -16688087.45248  20570184.1794   20570190.2214
+      1544.4884       1203.4964
+ 05  1 20 14 44  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  25044538.9434    -699943.65149   -500724.08645  25044541.2684   25044550.1514
+      3012.4964       2347.4004
+  23313220.2204  -12011615.38349  -9344116.17946  23313220.2844   23313226.2214
+      2451.2884       1910.0944
+  23628301.6424   -6555826.05749  -5089166.68346  23628300.2634   23628307.6184
+     -3273.5954      -2550.8444
+  24845730.9154    2879733.93849   2266126.59545  24845732.1644   24845739.1374
+     -3377.9834      -2632.1874
+  21459103.6564  -16767230.97749 -13043325.03148  21459102.5754   21459107.1104
+     -2225.4454      -1734.1104
+  21511900.4194  -15817971.70649 -12303031.68947  21511900.5544   21511905.1674
+      2281.6504       1777.9094
+  20309500.0804  -25910043.99949 -20178280.77448  20309499.8474   20309505.7084
+       229.6154        178.9234
+  20561417.4574  -21476819.62849 -16723988.37348  20561417.0674   20561423.0314
+      1527.0384       1189.9024
+ 05  1 20 14 44 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  25027357.1514    -790251.37049   -571093.63545  25027358.0494   25027366.1894
+      3008.1834       2344.0364
+  23299230.3244  -12085134.54449  -9401403.83846  23299230.4084   23299236.3484
+      2449.9604       1909.0544
+  23646993.8004   -6457588.79949  -5012618.23045  23646994.0004   23647000.1534
+     -3275.5494      -2552.3674
+  24865009.0714    2981035.43149   2345062.67945  24865008.4964   24865015.8384
+     -3375.4944      -2630.2514
+  21471834.9114  -16700326.67849 -12991191.83948  21471833.9134   21471838.0304
+     -2234.8344      -1741.4294
+  21498915.8624  -15886211.64849 -12356205.67147  21498914.9764   21498919.4934
+      2267.6604       1767.0064
+  20308241.5614  -25916661.03849 -20183436.92248  20308241.0354   20308246.5544
+       211.5254        164.8254
+  20552749.5014  -21522368.07449 -16759480.67848  20552749.7504   20552755.4124
+      1509.5304       1176.2534
+ 05  1 20 14 45  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  25010196.0184    -880430.33649   -641362.83645  25010197.7204   25010205.1564
+      3003.9134       2340.7104
+  23285248.8764  -12158612.94149  -9458659.74146  23285248.6454   23285253.6564
+      2448.5944       1908.0014
+  23665698.2244   -6359293.05849  -4936024.21845  23665698.7234   23665705.6594
+     -3277.4344      -2553.8274
+  24884270.9794    3082259.33649   2423938.27145  24884271.0244   24884277.0574
+     -3372.7304      -2628.0864
+  21484619.9744  -16633141.54349 -12938839.80848  21484618.9254   21484622.9864
+     -2244.1504      -1748.6874
+  21486009.5964  -15954030.55049 -12409051.54747  21486009.1104   21486014.1414
+      2253.5834       1756.0334
+  20307085.2574  -25922734.57849 -20188169.57148  20307085.2434   20307090.9914
+       193.3784        150.6844
+  20544182.8714  -21567390.02949 -16794562.72448  20544182.1484   20544188.1474
+      1491.9204       1162.5334
+ 05  1 20 14 45 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24993059.4054    -970479.58549   -711530.95145  24993059.5714   24993068.9594
+      2999.5944       2337.3404
+  23271274.1644  -12232049.80049  -9515883.26446  23271273.4444   23271278.8764
+      2447.2134       1906.9114
+  23684416.4564   -6260940.94449  -4859386.29246  23684415.3294   23684421.4984
+     -3279.3134      -2555.3004
+  24903516.2544    3183402.66049   2502751.09345  24903517.7524   24903525.2664
+     -3370.0354      -2625.9894
+  21497457.1834  -16565677.78549 -12886270.68548  21497457.2264   21497460.7484
+     -2253.4084      -1755.8984
+  21473184.9944  -16021425.96149 -12461567.44347  21473184.4824   21473189.4704
+      2239.4224       1745.0054
+  20306032.8214  -25928263.72049 -20192478.00548  20306032.6284   20306038.8564
+       175.2204        136.5384
+  20535715.4444  -21611883.07749 -16829232.63848  20535715.3594   20535721.5664
+      1474.2544       1148.7734
+ 05  1 20 14 46  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24975952.8734   -1060398.12649   -781597.21745  24975951.4994   24975958.0704
+      2995.1154       2333.8524
+  23257307.6254  -12305445.01949  -9573074.35646  23257307.1444   23257312.2534
+      2445.8034       1905.8334
+  23703143.0414   -6162534.06549  -4782705.69645  23703141.9224   23703147.4304
+     -3281.1574      -2556.7564
+  24922750.7394    3284462.73849   2581498.99445  24922750.1284   24922757.0424
+     -3367.2304      -2623.8134
+  21510348.6814  -16497937.38849 -12833485.97748  21510347.6314   21510351.6024
+     -2262.5854      -1763.0554
+  21460440.5754  -16088395.56749 -12513751.54747  21460440.5034   21460445.8024
+      2225.1934       1733.9124
+  20305084.6854  -25933247.53649 -20196361.50748  20305084.4414   20305090.5294
+       156.9854        122.3284
+  20527350.8114  -21655844.89849 -16863488.61248  20527349.9494   20527355.6324
+      1456.5294       1134.9624
+ 05  1 20 14 46 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24958864.7294   -1150185.02149   -851560.86745  24958864.2544   24958873.1504
+      2990.6984       2330.4064
+  23243346.8034  -12378798.28249  -9630232.72146  23243347.3924   23243353.0794
+      2444.3874       1904.7114
+  23721879.0334   -6064074.03849  -4705983.66345  23721878.9254   23721884.7944
+     -3282.9054      -2558.1054
+  24941961.6614    3385436.25249   2660179.49745  24941964.1744   24941971.6664
+     -3364.3154      -2621.5414
+  21523291.4884  -16429922.59549 -12780487.45748  21523290.1704   21523294.5394
+     -2271.7084      -1770.1614
+  21447777.6644  -16154936.90549 -12565601.94347  21447777.5814   21447783.3754
+      2210.8704       1722.7534
+  20304240.2554  -25937685.10249 -20199819.36948  20304239.8704   20304245.8494
+       138.8114        108.1654
+  20519085.9954  -21699273.60049 -16897329.16548  20519085.6484   20519091.3834
+      1438.7054       1121.0714
+ 05  1 20 14 47  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24941803.7654   -1239839.61449   -921421.45945  24941802.2654   24941811.4524
+      2986.2514       2326.9484
+  23229397.1994  -12452109.19449  -9687358.10346  23229397.6824   23229402.6804
+      2442.9754       1903.6164
+  23740623.0404   -5965562.35649  -4629221.39145  23740623.0724   23740629.2614
+     -3284.5494      -2559.3964
+  24961165.0074    3486320.80449   2738790.67145  24961163.6474   24961170.6094
+     -3361.3264      -2619.2044
+  21536286.3104  -16361635.49849 -12727276.76148  21536285.0324   21536289.1694
+     -2280.7564      -1777.2114
+  21435198.3214  -16221047.77549 -12617116.90047  21435197.8544   21435202.0274
+      2196.4704       1711.5344
+  20303500.1724  -25941575.59049 -20202850.93048  20303499.7634   20303505.6324
+       120.5304         93.9234
+  20510923.7984  -21742167.09549 -16930752.68048  20510923.1594   20510929.1094
+      1420.8274       1107.1384
+ 05  1 20 14 47 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24924769.5184   -1329360.89449   -991178.19945  24924768.7964   24924775.7034
+      2981.8864       2323.5464
+  23215456.4774  -12525377.14049  -9744450.03646  23215455.7254   23215460.0144
+      2441.5624       1902.5184
+  23759379.1034   -5867000.59949  -4552420.10745  23759378.3914   23759386.6584
+     -3286.2814      -2560.7234
+  24980342.5004    3587113.86649   2817330.57245  24980341.5694   24980349.6884
+     -3358.2214      -2616.7934
+  21549331.4184  -16293077.97949 -12673855.34948  21549330.9894   21549335.0194
+     -2289.7104      -1784.1904
+  21422700.2964  -16286725.89249 -12668294.64747  21422699.7884   21422704.3904
+      2182.0324       1700.2804
+  20302864.3164  -25944918.07949 -20205455.48548  20302863.6624   20302869.5664
+       102.2844         79.7034
+  20502863.1944  -21784523.22349 -16963757.46648  20502862.9044   20502868.8694
+      1402.9114       1093.1744
+ 05  1 20 14 48  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24907755.8344   -1418748.00449  -1060830.39845  24907756.7914   24907766.5234
+      2977.4324       2320.0684
+  23201521.7084  -12598601.63349  -9801508.08046  23201520.9644   23201525.8404
+      2440.0934       1901.3694
+  23778142.5854   -5768390.56449  -4475581.18245  23778143.8174   23778149.9184
+     -3287.7984      -2561.9284
+  24999504.1324    3687812.43349   2895796.83645  24999505.8104   24999511.6104
+     -3355.0244      -2614.3024
+  21562428.9894  -16224252.36549 -12620225.02748  21562428.0824   21562432.6414
+     -2298.6204      -1791.1324
+  21410284.6724  -16351968.80149 -12719133.27047  21410284.2064   21410288.6534
+      2167.4664       1688.9374
+  20302332.8554  -25947711.94049 -20207632.53448  20302332.0814   20302337.7244
+        83.9704         65.4334
+  20494906.0074  -21826339.91649 -16996341.90848  20494905.6484   20494911.6004
+      1384.8874       1079.1314
+ 05  1 20 14 48 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24890772.0634   -1507999.92949  -1130377.25845  24890774.5134   24890783.1734
+      2972.8874       2316.5324
+  23187595.0764  -12671782.46149  -9858532.09446  23187594.8794   23187601.0684
+      2438.6224       1900.2384
+  23796918.1184   -5669733.96749  -4398706.00445  23796918.5674   23796924.2184
+     -3289.3064      -2563.0914
+  25018646.7154    3788413.78049   2974187.36445  25018646.8534   25018657.3054
+     -3351.7554      -2611.7544
+  21575576.1324  -16155160.68449 -12566387.39648  21575575.6054   21575579.5024
+     -2307.4594      -1798.0164
+  21397952.3914  -16416774.00949 -12769630.81847  21397952.0924   21397956.9754
+      2152.8394       1677.5304
+  20301905.1884  -25949956.12049 -20209381.26148  20301905.1854   20301910.9324
+        65.6354         51.1434
+  20487051.7024  -21867615.00749 -17028504.32248  20487051.2224   20487057.2144
+      1366.7944       1065.0374
+ 05  1 20 14 49  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24873813.5634   -1597115.98349  -1199818.26845  24873814.7224   24873823.9694
+      2968.1974       2312.8754
+  23173676.2054  -12744919.01649  -9915521.60246  23173676.6724   23173683.0484
+      2437.1344       1899.0584
+  23815702.5234   -5571032.36049  -4321795.73045  23815702.0714   23815707.2774
+     -3290.8264      -2564.2794
+  25037774.7614    3888915.37849   3052500.11545  25037772.2804   25037781.4054
+     -3348.4314      -2609.1664
+  21588775.1024  -16085805.16749 -12512344.16348  21588773.7494   21588777.8174
+     -2316.2454      -1804.8654
+  21385704.5424  -16481139.35649 -12819785.63247  21385703.7734   21385708.7754
+      2138.1284       1666.0744
+  20301582.9734  -25951650.08349 -20210701.24648  20301582.7284   20301588.5044
+        47.2524         36.8214
+  20479300.8454  -21908346.45649 -17060243.12648  20479300.3094   20479306.2404
+      1348.6044       1050.8614
+ 05  1 20 14 49 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24856883.0884   -1686095.24049  -1269152.69345  24856883.6784   24856891.5964
+      2963.7454       2309.4134
+  23159768.4944  -12818010.91849  -9972476.35246  23159768.7154   23159773.6284
+      2435.6554       1897.9144
+  23834491.8254   -5472287.35449  -4244851.62345  23834490.8434   23834498.7164
+     -3292.1814      -2565.3274
+  25056875.0504    3989314.38449   3130732.93245  25056877.3294   25056885.7804
+     -3344.8144      -2606.3374
+  21602021.6094  -16016187.71049 -12458096.82248  21602021.2554   21602026.0394
+     -2324.9154      -1811.6204
+  21373539.4834  -16545062.46349 -12869595.83247  21373539.3714   21373545.0844
+      2123.3924       1654.5934
+  20301365.6544  -25952792.75449 -20211591.66048  20301365.4044   20301371.2854
+        28.8904         22.5174
+  20471654.2184  -21948532.03949 -17091556.57048  20471653.4764   20471659.2804
+      1330.4204       1036.6954
+ 05  1 20 14 50  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24839977.1594   -1774936.68949  -1338379.73145  24839976.7054   24839987.3524
+      2959.1234       2305.8094
+  23145869.2164  -12891057.56149 -10029395.81446  23145868.5494   23145872.9564
+      2434.1514       1896.7484
+  23853290.3104   -5373500.31049  -4167874.78545  23853289.4424   23853297.4114
+     -3293.6144      -2566.4584
+  25075966.1454    4089608.00549   3208883.59645  25075964.6654   25075973.8104
+     -3341.3574      -2603.6514
+  21615319.2294  -15946310.45449 -12403647.04848  21615318.7354   21615322.7994
+     -2333.5484      -1818.3514
+  21361459.0794  -16608541.17249 -12919059.75247  21361459.2744   21361464.7264
+      2108.4954       1642.9894
+  20301253.1084  -25953383.69949 -20212052.15048  20301252.5734   20301258.6404
+        10.4794          8.1654
+  20464111.2944  -21988170.08249 -17122443.36648  20464110.5364   20464116.3034
+      1312.1214       1022.4274
+ 05  1 20 14 50 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24823096.1724   -1863639.66149  -1407498.83445  24823095.8974   24823105.8324
+      2954.4684       2302.1804
+  23131977.2904  -12964058.56249 -10086279.70646  23131977.0084   23131981.9514
+      2432.6044       1895.5264
+  23872096.1024   -5274672.96949  -4090866.55045  23872095.5404   23872103.5194
+     -3294.9214      -2567.4624
+  25095029.3324    4189793.64849   3286950.12744  25095029.9434   25095035.2394
+     -3337.7024      -2600.7964
+  21628665.7564  -15876175.65749 -12348996.58848  21628665.0674   21628669.1514
+     -2342.0874      -1824.9994
+  21349465.9804  -16671573.00849 -12968175.45347  21349465.5644   21349470.4964
+      2093.5754       1631.3594
+  20301246.0424  -25953422.05349 -20212082.06148  20301245.6914   20301251.5124
+        -7.9474         -6.1914
+  20456672.6254  -22027258.76849 -17152902.09348  20456672.0864   20456678.1204
+      1293.7764       1008.1394
+ 05  1 20 14 51  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24806248.6804   -1952203.19449  -1476509.32745  24806244.7304   24806251.2404
+      2949.8224       2298.5614
+  23118093.3744  -13037013.47549 -10143127.68546  23118093.3774   23118099.0634
+      2431.0724       1894.3434
+  23890911.1294   -5175806.97849  -4013828.19545  23890910.3804   23890917.6194
+     -3296.1494      -2568.4274
+  25114076.1584    4289868.45549   3364930.28745  25114074.8224   25114080.7934
+     -3333.9684      -2597.8954
+  21642060.1534  -15805785.27649 -12294146.96747  21642059.3654   21642064.1024
+     -2350.5864      -1831.6254
+  21337556.6494  -16734155.72949 -13016941.21147  21337556.5044   21337560.9484
+      2078.5694       1619.6674
+  20301343.7534  -25952907.07849 -20211680.79448  20301343.6434   20301349.5864
+       -26.4324        -20.5964
+  20449339.6264  -22065795.71449 -17182930.89448  20449338.9824   20449344.6494
+      1275.3504        993.7784
+ 05  1 20 14 51 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24789419.4064   -2040626.46649  -1545410.51545  24789416.8854   24789424.9634
+      2945.1054       2294.8864
+  23104221.0094  -13109921.87549 -10199939.42146  23104220.1254   23104225.6244
+      2429.5324       1893.1544
+  23909731.8554   -5076903.92449  -3936760.93446  23909730.8034   23909737.7064
+     -3297.3664      -2569.3664
+  25133093.8164    4389829.75449   3442822.04844  25133091.3844   25133101.7544
+     -3330.1324      -2594.8954
+  21655503.6384  -15735141.40949 -12239099.84347  21655503.1354   21655507.0774
+     -2358.9884      -1838.1684
+  21325733.4674  -16796287.22049 -13065355.35547  21325733.3404   21325738.1444
+      2063.5174       1607.9374
+  20301547.5614  -25951838.09449 -20210847.83648  20301547.2264   20301553.0034
+       -44.8904        -34.9744
+  20442111.6114  -22103778.92449 -17212528.21048  20442110.9244   20442116.7444
+      1256.8624        979.3754
+ 05  1 20 14 52  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24772617.9024   -2128908.72149  -1614201.79945  24772617.4274   24772625.5784
+      2940.5134       2291.3084
+  23090356.7924  -13182783.18049 -10256714.47046  23090355.2864   23090359.7324
+      2427.9034       1891.8804
+  23928558.9054   -4977965.35449  -3859666.03446  23928558.8674   23928565.0784
+     -3298.5284      -2570.2864
+  25152094.6814    4489675.42649   3520623.71844  25152095.5574   25152105.1454
+     -3326.2734      -2591.9064
+  21668995.3784  -15664246.27549 -12183856.90647  21668993.8764   21668997.9234
+     -2367.3314      -1844.6694
+  21313996.9924  -16857965.26649 -13113416.14547  21313996.5094   21314001.0014
+      2048.3404       1596.1094
+  20301856.5014  -25950214.58349 -20209582.77848  20301856.0004   20301861.9074
+       -63.3604        -49.3704
+  20434989.0234  -22141206.42249 -17241692.50648  20434988.7034   20434994.3014
+      1238.3014        964.9124
+ 05  1 20 14 52 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24755843.9634   -2217049.04449  -1682882.50745  24755845.6664   24755854.6204
+      2935.7494       2287.6004
+  23076499.1014  -13255596.93949 -10313452.45546  23076498.4364   23076504.1134
+      2426.3464       1890.6544
+  23947391.7604   -4878992.99649  -3782544.78646  23947391.0054   23947398.5134
+     -3299.6484      -2571.1554
+  25171074.5514    4589402.44149   3598332.86345  25171074.6634   25171078.2674
+     -3322.2564      -2588.7634
+  21682533.5204  -15593101.92449 -12128419.78647  21682532.3924   21682536.4534
+     -2375.6154      -1851.1264
+  21302347.0924  -16919187.44649 -13161121.74047  21302346.4714   21302350.7224
+      2033.1164       1584.2434
+  20302271.6704  -25948035.75349 -20207885.00548  20302271.1254   20302276.2764
+       -81.9164        -63.8284
+  20427972.8934  -22178076.46249 -17270422.41748  20427972.4394   20427978.4184
+      1219.6894        950.4074
+ 05  1 20 14 53  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24739096.3354   -2305046.53449  -1751451.89845  24739098.7014   24739109.9224
+      2930.8384       2283.7684
+  23062652.4044  -13328362.73949 -10370153.08846  23062651.6774   23062656.8084
+      2424.7604       1889.4344
+  23966232.7074   -4779988.39349  -3705398.44846  23966232.6454   23966237.8844
+     -3300.6594      -2571.9414
+  25190028.8364    4689007.80249   3675947.21344  25190028.8784   25190032.3254
+     -3318.1024      -2585.5254
+  21696118.5564  -15521710.22749 -12072789.91647  21696117.4234   21696122.2904
+     -2383.8204      -1857.5234
+  21290783.6434  -16979951.61849 -13208470.43947  21290783.4774   21290787.8804
+      2017.8194       1572.3324
+  20302791.2314  -25945301.11549 -20205754.13548  20302791.2924   20302796.8404
+      -100.4314        -78.2544
+  20421063.5514  -22214386.93649 -17298716.29848  20421062.8584   20421068.7914
+      1201.0214        935.8594
+ 05  1 20 14 53 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24722383.4074   -2392900.44249  -1819909.43745  24722382.7474   24722391.6654
+      2926.0454       2280.0334
+  23048814.7154  -13401079.92449 -10426815.81646  23048813.9274   23048819.6744
+      2423.0914       1888.1344
+  23985077.2244   -4680953.13949  -3628228.20946  23985077.6484   23985085.8554
+     -3301.6734      -2572.7324
+  25208958.3724    4788489.10449   3753464.95345  25208959.3924   25208965.7874
+     -3313.9174      -2582.2654
+  21709750.7554  -15450073.46849 -12016969.11447  21709749.6014   21709753.6624
+     -2391.9524      -1863.8614
+  21279306.9734  -17040255.65649 -13255460.59147  21279307.2164   21279311.7064
+      2002.4094       1560.3174
+  20303417.5264  -25942009.93749 -20203189.59948  20303417.1664   20303423.0654
+      -118.9924        -92.7184
+  20414260.3594  -22250136.10949 -17326572.81148  20414260.3104   20414266.1864
+      1182.2684        921.2514
+ 05  1 20 14 54  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24705693.3074   -2480610.05649  -1888254.54345  24705692.0144   24705700.0414
+      2921.2644       2276.3084
+  23034986.6824  -13473748.09049 -10483440.35746  23034985.9004   23034991.1814
+      2421.4424       1886.8354
+  24003929.0754   -4581888.27849  -3551034.87446  24003929.5254   24003936.9744
+     -3302.6394      -2573.4934
+  25227863.6504    4887843.67549   3830883.89844  25227865.5754   25227873.2324
+     -3309.6714      -2578.9494
+  21723428.2154  -15378193.66549 -11960958.90747  21723427.9174   21723432.4554
+     -2400.0124      -1870.1364
+  21267920.9824  -17100097.21249 -13302090.37447  21267920.2624   21267924.5464
+      1986.9794       1548.2974
+  20304150.1954  -25938161.84649 -20200191.10048  20304149.5674   20304155.4694
+      -137.5734       -107.1944
+  20407564.3334  -22285322.31349 -17353990.63448  20407563.9134   20407570.2174
+      1163.4404        906.5744
+ 05  1 20 14 54 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24689031.5084   -2568174.44549  -1956486.48145  24689030.2884   24689036.9884
+      2916.3794       2272.5054
+  23021167.7974  -13546366.45449 -10540026.09046  23021167.7094   23021172.1214
+      2419.7834       1885.5414
+  24022786.0524   -4482795.67749  -3473819.93746  24022785.3184   24022793.2714
+     -3303.5134      -2574.1634
+  25246748.6534    4987069.25949   3908202.36144  25246747.3844   25246751.0374
+     -3305.3634      -2575.6044
+  21737152.9644  -15306072.79449 -11904760.86647  21737151.9524   21737156.4474
+     -2408.0224      -1876.3834
+  21256621.4164  -17159474.45249 -13348358.34247  21256621.0544   21256626.0304
+      1971.4604       1536.2054
+  20304988.1214  -25933756.15849 -20196758.10948  20304987.9474   20304993.6694
+      -156.1794       -121.6964
+  20400976.3204  -22319943.08949 -17380967.87348  20400976.1774   20400982.2514
+      1144.5834        891.8864
+ 05  1 20 14 55  0.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24672396.2784   -2655592.94949  -2024604.70945  24672394.8684   24672402.6334
+      2911.5614       2268.7524
+  23007358.6984  -13618934.79949 -10596572.85246  23007357.5824   23007363.6214
+      2418.0994       1884.2214
+  24041647.7554   -4383676.78049  -3396584.54446  24041648.3664   24041654.3054
+     -3304.3454      -2574.7984
+  25265600.6964    5086162.76649   3985417.91244  25265598.0004   25265616.0984
+     -3300.7654      -2572.0284
+  21750922.5374  -15233713.17749 -11848376.78347  21750921.6004   21750925.3834
+     -2415.9304      -1882.5434
+  21245411.0754  -17218385.15149 -13394262.78347  21245410.6804   21245415.2904
+      1955.8934       1524.0714
+  20305932.8884  -25928792.37449 -20192890.24448  20305932.6244   20305938.4424
+      -174.7794       -136.1894
+  20394496.3764  -22353997.04049 -17407503.42848  20394495.8954   20394501.8434
+      1125.6794        877.1524
+ 05  1 20 14 55 30.0000000  0  8G 7G28G 3G13G19G11G27G 8
+  24655788.0804   -2742864.66449  -2092608.57345  24655787.1084   24655795.9834
+      2906.6164       2264.8954
+  22993558.0404  -13691452.26649 -10653079.97746  22993558.3234   22993563.8204
+      2416.4044       1882.9094
+  24060516.1544   -4284533.01949  -3319329.75646  24060514.7874   24060521.3724
+     -3305.1664      -2575.4664
+  25284436.7774    5185121.91349   4062528.65344  25284431.6814   25284439.4794
+     -3296.4034      -2568.6224
+  21764737.4144  -15161116.66749 -11791808.11247  21764736.5154   21764740.6114
+     -2423.8104      -1888.6804
+  21234289.8654  -17276827.11049 -13439801.97848  21234289.7914   21234294.7334
+      1940.2204       1511.8614
+  20306983.7924  -25923270.17449 -20188587.25348  20306983.4514   20306989.3584
+      -193.3824       -150.6874
+  20388124.7694  -22387482.10849 -17433595.70548  20388123.8334   20388129.9804
+      1106.6574        862.3314
+ 05  1 20 14 56  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24639208.3864   -2829988.67249  -2160497.40945  24639208.2694   24639214.4614
+      2901.7164       2261.0784
+  22979768.2064  -13763918.57649 -10709547.21247  22979769.5284   22979773.9014
+      2414.6704       1881.5624
+  24079384.9224   -4185366.02349  -3242056.89745  24079385.6734   24079391.4484
+     -3305.9134      -2576.0254
+  21778596.7764  -15088285.38249 -11735056.49848  21778595.7324   21778600.5164
+     -2431.6044      -1894.7544
+  21223258.4804  -17334798.16749 -13484974.22648  21223257.8964   21223262.4894
+      1924.5004       1499.6154
+  20308141.1844  -25917188.62549 -20183848.40348  20308141.0294   20308146.5414
+      -212.0324       -165.2174
+  20381860.6474  -22420396.24449 -17459243.08948  20381860.4384   20381866.4294
+      1087.6144        847.4914
+ 05  1 20 14 56 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24622654.2554   -2916964.40749  -2228270.63345  24622655.4224   24622663.6434
+      2896.8084       2257.2514
+  22965990.9154  -13836333.11149 -10765974.13647  22965988.4784   22965994.0944
+      2412.9334       1880.2144
+  24098260.6974   -4086177.27349  -3164767.04745  24098260.7054   24098268.3234
+     -3306.6784      -2576.6364
+  21792501.1934  -15015221.35149 -11678123.52847  21792499.6984   21792503.1834
+     -2439.3404      -1900.7824
+  21212316.9904  -17392296.25349 -13529777.92247  21212316.4784   21212320.9734
+      1908.6774       1487.2834
+  20309405.0304  -25910547.70349 -20178673.67048  20309404.5484   20309410.3474
+      -230.7054       -179.7664
+  20375706.7954  -22452738.38249 -17484444.76548  20375706.0104   20375712.1244
+      1068.5244        832.6214
+ 05  1 20 14 57  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24606131.6164   -3003790.95349  -2295927.61945  24606131.7864   24606140.6784
+      2891.7144       2253.2884
+  22952218.9524  -13908695.47449 -10822360.39347  22952218.6514   22952224.1244
+      2411.1914       1878.8624
+  24117138.7004   -3986968.00249  -3087461.26545  24117137.9564   24117146.2684
+     -3307.3054      -2577.1154
+  21806447.5884  -14941926.47249 -11621010.66247  21806447.0994   21806451.4244
+     -2446.9694      -1906.7284
+  21201465.5874  -17449319.28249 -13574211.45947  21201465.2534   21201469.9024
+      1892.8164       1474.9244
+  20310775.7464  -25903346.83049 -20173062.61948  20310775.2364   20310780.6234
+      -249.3794       -194.3224
+  20369661.4534  -22484506.15049 -17509198.88148  20369661.1724   20369666.6984
+      1049.3484        817.6794
+ 05  1 20 14 57 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24589638.4494   -3090467.59849  -2363467.83545  24589638.8514   24589646.0194
+      2886.9134       2249.5424
+  22938458.4254  -13981005.03049 -10878705.49647  22938457.7074   22938463.9334
+      2409.4454       1877.4844
+  24136021.6754   -3887739.69949  -3010140.59545  24136021.6224   24136029.0184
+     -3307.9374      -2577.6154
+  21820438.9034  -14868402.90449 -11563719.61847  21820438.3354   21820442.5604
+     -2454.5324      -1912.6194
+  21190704.6184  -17505865.06049 -13618273.10648  21190704.8424   21190709.7904
+      1876.9004       1462.5184
+  20312251.8724  -25895585.57649 -20167014.90548  20312251.6184   20312257.6184
+      -268.0464       -208.8664
+  20363725.6294  -22515698.34549 -17533504.50048  20363725.2234   20363731.1084
+      1030.1324        802.7024
+ 05  1 20 14 58  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24573174.4774   -3176993.68349  -2430890.69245  24573174.0044   24573182.9824
+      2881.7624       2245.5304
+  22924708.9554  -14053261.11049 -10935008.94147  22924708.2594   22924713.9054
+      2407.6334       1876.0754
+  24154910.9574   -3788494.06349  -2932806.45545  24154909.4734   24154914.6074
+     -3308.4224      -2577.9884
+  21834473.0354  -14794652.75949 -11506252.01047  21834472.2754   21834476.7834
+     -2462.0934      -1918.5194
+  21180036.2084  -17561931.80349 -13661961.48047  21180035.5314   21180040.4564
+      1860.8774       1450.0344
+  20313835.3124  -25887263.61849 -20160530.28748  20313835.2014   20313841.3784
+      -286.7584       -223.4464
+  20357899.9464  -22546312.34749 -17557359.57848  20357899.7184   20357905.5404
+      1010.8404        787.6684
+ 05  1 20 14 58 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24556737.3994   -3263368.28249  -2498195.51045  24556738.0324   24556746.1854
+      2876.7354       2241.6114
+  22910969.8154  -14125463.08149 -10991270.23047  22910969.5394   22910974.4684
+      2405.8254       1874.6764
+  24173795.7804   -3689232.45349  -2855459.83545  24173796.1214   24173802.9304
+     -3309.0054      -2578.4424
+  21848550.5814  -14720678.00449 -11448609.38147  21848549.5434   21848553.4344
+     -2469.5434      -1924.3164
+  21169458.2974  -17617517.62949 -13705275.11948  21169458.3044   21169462.9544
+      1844.8214       1437.5244
+  20315525.9274  -25878380.51749 -20153608.40848  20315525.8274   20315531.6484
+      -305.4844       -238.0354
+  20352184.2704  -22576346.89349 -17580763.13348  20352184.1004   20352190.2794
+       991.4804        772.5854
+ 05  1 20 14 59  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24540331.8834   -3349590.74249  -2565381.78245  24540329.1794   24540339.4384
+      2871.6204       2237.6224
+  22897240.7554  -14197610.53749 -11047489.04147  22897239.8644   22897245.2684
+      2403.9694       1873.2264
+  24192688.6634   -3589956.26349  -2778101.90245  24192688.6864   24192695.2724
+     -3309.4594      -2578.7894
+  21862669.6984  -14646480.67349 -11390793.32647  21862668.8914   21862673.1444
+     -2476.9334      -1930.0764
+  21158972.9034  -17672620.22249 -13748212.20848  21158972.8784   21158977.5434
+      1828.6524       1424.9244
+  20317323.8254  -25868935.90049 -20146248.99248  20317323.1514   20317328.9194
+      -324.1944       -252.6164
+  20346579.7384  -22605800.54349 -17603714.04048  20346579.1914   20346585.5404
+       972.0804        757.4684
+ 05  1 20 14 59 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24523949.9124   -3435660.22949  -2632448.88945  24523948.9864   24523959.1124
+      2866.5454       2233.6764
+  22883521.9154  -14269702.82049 -11103664.83247  22883521.0254   22883526.6944
+      2402.1614       1871.8214
+  24211582.0774   -3490666.84649  -2700733.68345  24211582.3434   24211589.5444
+     -3309.8404      -2579.0934
+  21876831.2414  -14572062.85649 -11332805.44347  21876829.9284   21876834.1554
+     -2484.2424      -1935.7664
+  21148579.8874  -17727237.69049 -13790771.27048  21148579.4944   21148584.1234
+      1812.4834       1412.3344
+  20319227.7354  -25858929.56049 -20138451.86248  20319227.6024   20319233.1474
+      -342.9004       -267.1894
+  20341086.4874  -22634671.75549 -17626211.10348  20341085.4884   20341091.4274
+       952.6574        742.3374
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 15  0  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24507602.5374   -3521576.14949  -2699396.33145  24507601.4874   24507608.8454
+      2861.3534       2229.6264
+  22869812.4924  -14341739.26849 -11159797.13647  22869812.7254   22869818.0884
+      2400.2684       1870.3354
+  24230479.7934   -3391365.72949  -2623356.30645  24230479.4164   24230485.3204
+     -3310.2344      -2579.4034
+  21891033.8304  -14497426.61249 -11274647.36747  21891033.0144   21891036.6834
+     -2491.5014      -1941.4254
+  21138278.1324  -17781367.91249 -13832950.67248  21138278.4504   21138283.2014
+      1796.1964       1399.6274
+  20321238.9784  -25848361.06849 -20130216.69548  20321238.7074   20321244.3224
+      -361.6744       -281.8234
+  20335702.8064  -22662958.61949 -17648252.82648  20335702.2714   20335708.7034
+       933.1354        727.1214
+ 05  1 20 15  0 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24491283.9244   -3607337.77449  -2766223.52545  24491281.7964   24491287.5164
+      2856.1764       2225.5924
+  22856116.0954  -14413719.30249 -11215885.48447  22856115.9434   22856120.9424
+      2398.3824       1868.8724
+  24249379.7824   -3292054.17549  -2545970.82245  24249378.5004   24249384.5924
+     -3310.5314      -2579.6284
+  21905276.9244  -14422573.70749 -11216320.48647  21905276.9344   21905280.6894
+     -2498.6854      -1947.0294
+  21128070.8754  -17835009.09249 -13874749.00348  21128070.7134   21128075.7894
+      1779.8644       1386.9034
+  20323357.2134  -25837230.27049 -20121543.37048  20323356.7514   20323362.4534
+      -380.4284       -296.4404
+  20330431.7514  -22690658.97549 -17669837.53848  20330431.3384   20330437.3464
+       913.5524        711.8574
+ 05  1 20 15  1  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24474991.5294   -3692944.25349  -2832929.77745  24474992.0944   24474999.0804
+      2851.0154       2221.5724
+  22842429.8344  -14485642.44449 -11271929.50947  22842428.7824   22842434.1984
+      2396.4914       1867.3924
+  24268277.6484   -3192733.74649  -2468578.37445  24268277.0934   24268285.8814
+     -3310.8174      -2579.8514
+  21919563.3194  -14347506.43749 -11157826.54547  21919561.6164   21919565.8284
+     -2505.7974      -1952.5634
+  21117957.5754  -17888159.11549 -13916164.61148  21117956.9774   21117961.0664
+      1763.4444       1374.1134
+  20325582.3324  -25825536.88549 -20112431.66048  20325581.8014   20325587.7454
+      -399.1464       -311.0214
+  20325272.2294  -22717771.70749 -17690964.35148  20325271.9294   20325277.9434
+       893.9614        696.5914
+ 05  1 20 15  1 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24458730.8834   -3778394.88749  -2899514.65445  24458730.9684   24458739.2224
+      2845.8374       2217.5334
+  22828753.2744  -14557507.86549 -11327928.53347  22828753.2094   22828758.2474
+      2394.5674       1865.8844
+  24287178.7604   -3093405.83849  -2391180.13645  24287178.0634   24287187.2044
+     -3311.0534      -2580.0324
+  21933888.0504  -14272226.77049 -11099167.09947  21933886.7434   21933891.1814
+     -2512.8214      -1958.0424
+  21107937.1604  -17940816.15149 -13957196.07148  21107936.8404   21107941.3154
+      1746.9904       1361.2944
+  20327914.2834  -25813280.72149 -20102881.42848  20327914.0224   20327919.7614
+      -417.9504       -325.6764
+  20320225.2684  -22744295.66149 -17711632.38348  20320224.7654   20320230.5744
+       874.2934        681.2694
+ 05  1 20 15  2  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24442499.3584   -3863689.06349  -2965977.56545  24442498.6024   24442507.5234
+      2840.4894       2213.3644
+  22815089.4404  -14629315.04149 -11383882.18047  22815088.6574   22815094.7094
+      2392.5734       1864.3484
+  24306082.4154   -2994071.87949  -2313777.13245  24306081.3944   24306089.4064
+     -3311.1614      -2580.1254
+  21948252.5654  -14196736.54149 -11040343.58847  21948252.1244   21948255.9864
+     -2519.8314      -1963.5014
+  21098009.9734  -17992978.39949 -13997841.97648  21098010.1364   21098015.2014
+      1730.4614       1348.4134
+  20330353.5464  -25800461.54449 -20092892.48648  20330353.5144   20330359.4294
+      -436.6904       -340.2794
+  20315290.0204  -22770228.93049 -17731840.13848  20315289.6864   20315295.8124
+       854.5924        665.9134
+ 05  1 20 15  2 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24426298.5284   -3948825.96849  -3032318.01445  24426298.1084   24426306.1944
+      2835.3584       2209.3674
+  22801435.5504  -14701063.33449 -11439789.95147  22801435.7994   22801441.1774
+      2390.6274       1862.8384
+  24324986.8474   -2894733.25949  -2236370.52345  24324986.5274   24324993.7554
+     -3311.3794      -2580.2904
+  21962659.0244  -14121037.80149 -10981357.60447  21962657.0434   21962661.8174
+     -2526.7584      -1968.8994
+  21088179.1234  -18044643.90249 -14038100.82248  21088179.1034   21088183.7674
+      1713.8694       1335.4824
+  20332900.4134  -25787079.09149 -20082464.62348  20332899.9324   20332905.9124
+      -455.4704       -354.9094
+  20310467.8444  -22795569.90849 -17751586.37148  20310467.4124   20310473.4534
+       834.7764        650.4774
+ 05  1 20 15  3  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24410129.2824   -4033804.89649  -3098535.29045  24410127.3004   24410135.4534
+      2830.0764       2205.2534
+  22787794.5064  -14772752.08949 -11495651.32347  22787794.4814   22787798.7674
+      2388.6144       1861.2544
+  24343889.4064   -2795391.18149  -2158961.19445  24343889.9204   24343897.1944
+     -3311.4154      -2580.3194
+  21977102.3914  -14045132.65349 -10922210.78447  21977101.8534   21977106.1234
+     -2533.5914      -1974.2244
+  21078442.1314  -18095810.76649 -14077971.10548  21078441.8884   21078446.7654
+      1697.2264       1322.5134
+  20335554.2074  -25773133.33149 -20071597.82248  20335554.1044   20335559.7074
+      -474.2514       -369.5494
+  20305758.8204  -22820316.95649 -17770869.79248  20305758.1864   20305764.3534
+       814.9894        635.0534
+ 05  1 20 15  3 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24393989.7934   -4118625.26749  -3164629.01845  24393987.8324   24393994.9174
+      2824.7454       2201.0994
+  22774164.1664  -14844380.77149 -11551465.88547  22774163.7244   22774168.3434
+      2386.6114       1859.7034
+  24362796.1144   -2696046.87049  -2081550.17445  24362795.4744   24362801.6204
+     -3311.4924      -2580.3834
+  21991585.6284  -13969023.02649 -10862904.63747  21991584.5664   21991589.1344
+     -2540.3614      -1979.4994
+  21068801.2954  -18146477.03549 -14117451.31148  21068801.0994   21068805.6294
+      1680.5064       1309.4864
+  20338315.6684  -25758624.01349 -20060291.88148  20338315.0074   20338320.6874
+      -493.0264       -384.1764
+  20301162.7364  -22844468.64349 -17789689.31048  20301162.4384   20301168.4324
+       795.1424        619.5934
+ 05  1 20 15  4  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24377877.5254   -4203286.27949  -3230598.57545  24377875.9924   24377884.4944
+      2819.4124       2196.9524
+  22760546.6504  -14915948.57449 -11607233.01447  22760545.1664   22760549.5134
+      2384.5684       1858.1144
+  24381700.1334   -2596701.70949  -2004138.45145  24381699.0424   24381706.0714
+     -3311.5104      -2580.3994
+  22006107.7074  -13892710.92049 -10803440.70747  22006106.5414   22006111.0134
+     -2547.0984      -1984.7444
+  21059254.6814  -18196641.01749 -14156540.13648  21059254.7284   21059259.3454
+      1663.7234       1296.4144
+  20341183.8894  -25743551.17349 -20048546.83648  20341183.2074   20341189.1904
+      -511.8244       -398.8234
+  20296680.5004  -22868023.49749 -17808043.75548  20296679.8854   20296686.1604
+       775.1904        604.0424
+ 05  1 20 15  4 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24361796.3484   -4287787.29549  -3296443.44445  24361796.1974   24361804.3124
+      2814.1734       2192.8604
+  22746938.1914  -14987455.01349 -11662952.32347  22746937.9304   22746942.4784
+      2382.5184       1856.5034
+  24400604.5394   -2497357.12149  -1926727.17245  24400604.8224   24400612.5884
+     -3311.4994      -2580.3834
+  22020666.8234  -13816198.37749 -10743820.58547  22020666.2894   22020670.8744
+     -2553.7344      -1989.9204
+  21049804.5474  -18246300.78149 -14195236.05048  21049804.6914   21049809.8274
+      1646.8854       1283.2904
+  20344158.9504  -25727914.64749 -20036362.55148  20344158.7634   20344164.6434
+      -530.6174       -413.4644
+  20292312.2964  -22890979.70449 -17825931.72348  20292311.7304   20292317.7904
+       755.2194        588.4834
+ 05  1 20 15  5  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24345745.9224   -4372127.61549  -3362163.15745  24345745.2744   24345755.1644
+      2808.6704       2188.5724
+  22733342.4734  -15058899.13549 -11718623.07247  22733341.8094   22733347.4684
+      2380.4074       1854.8624
+  24419508.4014   -2398014.48149  -1849317.41145  24419507.6184   24419517.3504
+     -3311.3554      -2580.2734
+  22035265.0834  -13739487.23249 -10684045.71847  22035264.3934   22035268.8754
+     -2560.3614      -1995.0814
+  21040450.7044  -18295454.58049 -14233537.72048  21040450.8674   21040455.7074
+      1629.9904       1270.1224
+  20347241.8414  -25711714.30649 -20023738.93048  20347241.3374   20347247.3574
+      -549.4334       -428.1314
+  20288058.1574  -22913336.50849 -17843352.63248  20288057.6364   20288063.4724
+       735.2144        572.8944
+ 05  1 20 15  5 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24329727.3684   -4456306.65549  -3427757.20645  24329727.6904   24329737.8534
+      2803.2544       2184.3634
+  22719758.4674  -15130280.49049 -11774244.92847  22719758.3374   22719764.0964
+      2378.3434       1853.2504
+  24438410.9104   -2298675.08949  -1771910.19845  24438411.5224   24438417.8394
+     -3311.2864      -2580.2194
+  22049900.9954  -13662579.57149 -10624117.72747  22049899.6454   22049903.8064
+     -2566.8544      -2000.1474
+  21031194.2404  -18344100.64249 -14271443.74948  21031194.0854   21031198.5224
+      1613.0594       1256.9324
+  20350431.9264  -25694950.13449 -20010675.96748  20350431.7074   20350437.5134
+      -568.1994       -442.7504
+  20283917.5334  -22935091.97849 -17860304.96148  20283917.3494   20283923.7154
+       715.1264        557.2414
+ 05  1 20 15  6  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24313741.3024   -4540323.78149  -3493225.04345  24313740.2174   24313748.0894
+      2797.9004       2180.1794
+  22706187.2074  -15201598.43149 -11829817.34647  22706187.0874   22706192.9574
+      2376.1964       1851.5874
+  24457315.2124   -2199340.21749  -1694506.48545  24457314.6524   24457322.8484
+     -3311.0694      -2580.0544
+  22064571.1704  -13585477.21249 -10564038.01947  22064570.9464   22064575.5974
+     -2573.2954      -2005.1724
+  21022033.9564  -18392237.42049 -14308952.93648  21022033.6884   21022038.8924
+      1596.0284       1243.6664
+  20353729.7434  -25677622.29349 -19997173.78348  20353729.2654   20353735.1524
+      -586.9934       -457.3934
+  20279892.6394  -22956244.86349 -17876787.74548  20279892.2724   20279898.3744
+       695.0584        541.6044
+ 05  1 20 15  6 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24297784.5524   -4624178.21949  -3558566.10845  24297783.8334   24297790.0814
+      2792.5034       2175.9794
+  22692627.7004  -15272852.15249 -11885339.73647  22692627.7024   22692633.3574
+      2374.0314       1849.8964
+  24476217.1914   -2100011.36349  -1617107.45845  24476216.8024   24476225.3404
+     -3310.8034      -2579.8374
+  22079281.0704  -13508182.13449 -10503808.14247  22079280.2424   22079284.3604
+     -2579.6704      -2010.1244
+  21012971.4404  -18439862.93749 -14346063.72348  21012971.7174   21012976.1984
+      1578.9754       1230.3754
+  20357134.0114  -25659730.62949 -19983232.24848  20357133.9934   20357139.9174
+      -605.7554       -472.0164
+  20275982.0234  -22976793.76649 -17892799.89948  20275981.8514   20275988.0494
+       674.8704        525.8764
+ 05  1 20 15  7  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24281858.5794   -4707869.44749  -3623779.99745  24281858.9784   24281863.8004
+      2787.0254       2171.7114
+  22679081.6614  -15344041.05649 -11940811.61847  22679081.2594   22679087.1654
+      2371.8894       1848.2274
+  24495118.3864   -2000689.44549  -1539713.83945  24495117.7134   24495124.9444
+     -3310.6394      -2579.7104
+  22094026.2394  -13430696.35349 -10443429.65947  22094025.1894   22094030.1124
+     -2585.9974      -2015.0694
+  21004006.0834  -18486975.31949 -14382774.67548  21004005.7394   21004010.7364
+      1561.8464       1217.0224
+  20360646.4394  -25641275.19449 -19968851.41048  20360645.8384   20360651.9184
+      -624.5844       -486.6894
+  20272187.4174  -22996737.75349 -17908340.68448  20272186.7284   20272192.6694
+       654.7234        510.1724
+ 05  1 20 15  7 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24265962.2784   -4791396.69649  -3688866.14145  24265961.1294   24265969.0444
+      2781.5714       2167.4554
+  22665547.1244  -15415164.32349 -11996232.34647  22665546.3704   22665552.4154
+      2369.6994       1846.5214
+  24514016.6574   -1901375.91049  -1462326.79845  24514015.6664   24514024.2544
+     -3310.3154      -2579.4544
+  22108808.1744  -13353021.70549 -10382904.01247  22108806.4154   22108810.9604
+     -2592.2864      -2019.9654
+  20995138.1204  -18533573.31549 -14419084.81048  20995138.0274   20995143.3004
+      1544.6564       1203.6284
+  20364265.2234  -25622256.02449 -19954031.30548  20364264.8104   20364270.9704
+      -643.3974       -501.3444
+  20268507.0054  -23016074.87749 -17923408.59148  20268506.8274   20268512.9864
+       634.4354        494.3664
+ 05  1 20 15  8  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24250098.2164   -4874759.38149  -3753824.04545  24250097.1904   24250106.8824
+      2776.0824       2163.1794
+  22652024.8314  -15486221.22249 -12051601.35447  22652024.4954   22652030.7814
+      2367.4364       1844.7504
+  24532914.5124   -1802072.13249  -1384947.31245  24532914.8624   24532920.0374
+     -3309.9284      -2579.1614
+  22123624.1164  -13275160.15249 -10322232.72747  22123623.0894   22123627.5974
+     -2598.4454      -2024.7614
+  20986369.3364  -18579654.87749 -14454992.52648  20986369.6354   20986374.7074
+      1527.4204       1190.2044
+  20367991.9694  -25602673.22749 -19938772.00548  20367991.5414   20367997.4694
+      -662.1484       -515.9564
+  20264943.5304  -23034804.29649 -17938002.96148  20264942.8774   20264949.0254
+       614.1804        478.5834
+ 05  1 20 15  8 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24234266.7384   -4957956.96049  -3818653.29245  24234266.5184   24234275.8384
+      2770.5364       2158.8574
+  22638516.0044  -15557211.17049 -12106918.21747  22638516.0794   22638521.2454
+      2365.1774       1842.9914
+  24551808.5024   -1702779.49749  -1307576.53445  24551808.9214   24551816.3884
+     -3309.5504      -2578.8514
+  22138476.4734  -13197113.67249 -10261417.33947  22138474.9374   22138479.2444
+     -2604.6144      -2029.5684
+  20977699.0234  -18625218.46849 -14490496.62148  20977698.8354   20977703.6914
+      1510.1234       1176.7174
+  20371825.4064  -25582526.94449 -19923073.63048  20371825.2894   20371831.0874
+      -680.9504       -530.6124
+  20261495.3004  -23052924.71249 -17952122.78348  20261494.6434   20261500.8184
+       593.8344        462.7264
+ 05  1 20 15  9  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24218469.3614   -5040988.67749  -3883353.32546  24218468.0704   24218475.7764
+      2764.9964       2154.5454
+  22625020.9784  -15628133.38649 -12162182.28447  22625020.0744   22625025.4854
+      2362.9294       1841.2444
+  24570701.3104   -1603499.00749  -1230215.18645  24570700.0544   24570709.9904
+     -3309.1554      -2578.5524
+  22153361.4484  -13118884.22049 -10200459.37447  22153360.8624   22153365.8384
+     -2610.6654      -2034.2824
+  20969128.5954  -18670262.59049 -14525595.94948  20969128.1474   20969132.1474
+      1492.7834       1163.2094
+  20375766.1684  -25561817.15849 -19906936.15748  20375766.0724   20375772.2084
+      -699.7364       -545.2494
+  20258163.0704  -23070434.62849 -17965766.89548  20258162.6984   20258168.9674
+       573.4844        446.8724
+ 05  1 20 15  9 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24202698.0564   -5123854.13749  -3947923.79045  24202697.6754   24202706.0514
+      2759.4394       2150.2024
+  22611536.2544  -15698987.12049 -12217392.99447  22611536.6814   22611542.3124
+      2360.6494       1839.4714
+  24589591.1534   -1504231.80749  -1152864.23645  24589591.2084   24589597.4014
+     -3308.6614      -2578.1904
+  22168282.9764  -13040473.68049 -10139360.30347  22168281.6714   22168287.2404
+     -2616.6754      -2038.9604
+  20960655.0444  -18714785.29649 -14560288.96548  20960655.1014   20960659.9094
+      1475.3804       1149.6474
+  20379814.7884  -25540544.29649 -19890359.92048  20379814.0184   20379820.3894
+      -718.4814       -559.8534
+  20254947.2434  -23087332.69049 -17978934.23248  20254947.0134   20254953.5074
+       553.0744        430.9694
+ 05  1 20 15 10  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24186962.9534   -5206552.47849  -4012364.05146  24186961.0134   24186968.6934
+      2753.8824       2145.8864
+  22598067.7154  -15769771.63849 -12272549.76347  22598067.3764   22598073.0364
+      2358.3444       1837.6684
+  24608478.0974   -1404979.01749  -1075524.47445  24608478.2444   24608484.1734
+     -3308.1924      -2577.8054
+  22183238.3234  -12961883.86749 -10078121.54647  22183237.9074   22183242.0434
+     -2622.6304      -2043.6094
+  20952282.8454  -18758785.21449 -14594574.62548  20952282.3434   20952287.0624
+      1457.9314       1136.0524
+  20383970.0194  -25518708.24249 -19873344.84148  20383969.6434   20383975.5924
+      -737.2744       -574.4984
+  20251848.9734  -23103617.75849 -17991623.91348  20251848.2864   20251854.2654
+       532.5954        415.0114
+ 05  1 20 15 10 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24171255.9224   -5289083.16549  -4076673.65545  24171254.2344   24171262.8574
+      2748.2684       2141.4994
+  22584611.6454  -15840486.26049 -12327652.07447  22584610.8284   22584615.6124
+      2355.9644       1835.8084
+  24627362.7654   -1305742.04449   -998197.09545  24627362.3694   24627369.8864
+     -3307.6214      -2577.3694
+  22198227.7254  -12883116.80949 -10016744.66747  22198226.7664   22198231.2834
+     -2628.5074      -2048.1904
+  20944009.6764  -18802260.60249 -14628451.55048  20944009.1864   20944014.1504
+      1440.4004       1122.3834
+  20388231.9974  -25496309.23649 -19855891.09548  20388232.0234   20388238.1954
+      -756.0474       -589.1284
+  20248866.7704  -23119288.61149 -18003834.98648  20248866.1854   20248872.4834
+       512.1304        399.0604
+ 05  1 20 15 11  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24155581.1674   -5371445.69049  -4140852.22145  24155582.7644   24155590.5134
+      2742.6044       2137.0874
+  22571168.1474  -15911130.19049 -12382699.29247  22571167.8374   22571173.0764
+      2353.5984       1833.9624
+  24646244.1884   -1206522.11549   -920882.96345  24646243.3414   24646251.4814
+     -3306.9944      -2576.8754
+  22213249.8124  -12804174.34849  -9955231.11647  22213249.0824   22213253.1234
+     -2634.3414      -2052.7334
+  20935836.0074  -18845209.94749 -14661918.58648  20935836.0644   20935840.6594
+      1422.8334       1108.7064
+  20392601.7264  -25473347.65549 -19837998.98348  20392601.2244   20392607.1494
+      -774.7714       -603.7234
+  20246001.3654  -23134344.44649 -18015566.82248  20246001.0724   20246007.3814
+       491.5804        383.0464
+ 05  1 20 15 11 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24139941.6914   -5453639.35749  -4204899.24045  24139941.1494   24139948.8814
+      2737.0084       2132.7404
+  22557739.5414  -15981702.51849 -12437690.73147  22557738.2054   22557743.6104
+      2351.2134       1832.1204
+  24665120.4984   -1107320.58149   -843583.18745  24665120.0194   24665126.0564
+     -3306.4084      -2576.4114
+  22228305.0504  -12725058.43649  -9893582.40747  22228304.8104   22228308.9314
+     -2640.0724      -2057.1994
+  20927764.0674  -18887631.82149 -14694974.59948  20927763.7714   20927768.3434
+      1405.2484       1095.0034
+  20397077.8384  -25449823.59949 -19819668.57448  20397077.8884   20397083.9154
+      -793.5214       -618.3324
+  20243253.8544  -23148783.74549 -18026818.24348  20243253.6644   20243259.6534
+       471.0324        367.0374
+ 05  1 20 15 12  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24124335.6224   -5535663.74849  -4268814.30846  24124333.5204   24124341.9144
+      2731.3824       2128.3504
+  22544322.4514  -16052202.62849 -12492625.88447  22544322.6804   22544327.2114
+      2348.8404       1830.2624
+  24683994.7534   -1008138.55749   -766298.65145  24683994.5944   24684001.9134
+     -3305.7184      -2575.8904
+  22243393.5754  -12645771.01949  -9831800.04247  22243392.1984   22243396.6464
+     -2645.7894      -2061.6544
+  20919792.0644  -18929524.62549 -14727618.35248  20919791.7884   20919796.4544
+      1387.5824       1081.2324
+  20401661.4594  -25425737.35449 -19800900.09648  20401661.2714   20401667.4084
+      -812.2684       -632.9344
+  20240624.0274  -23162605.62349 -18037588.55148  20240623.4384   20240629.5364
+       450.4364        350.9924
+ 05  1 20 15 12 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24108757.6974   -5617518.08549  -4332596.89845  24108756.4454   24108764.7274
+      2725.6624       2123.8954
+  22530922.0544  -16122629.72949 -12547504.15647  22530921.1164   22530926.2654
+      2346.3104       1828.3034
+  24702864.4634    -908977.20649   -689030.10945  24702864.2574   24702872.7264
+     -3305.0264      -2575.3444
+  22258513.1944  -12566313.80949  -9769885.38947  22258512.4234   22258517.2924
+     -2651.3494      -2065.9924
+  20911920.9794  -18970886.82849 -14759848.64348  20911920.7734   20911925.6524
+      1369.8704       1067.4294
+  20406351.8474  -25401089.26149 -19781693.81548  20406351.5314   20406357.7034
+      -830.9834       -647.5164
+  20238111.2564  -23175809.09249 -18047876.98848  20238110.9064   20238116.7304
+       429.7984        334.9084
+ 05  1 20 15 13  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24093212.8214   -5699202.05749  -4396246.72745  24093211.5344   24093220.0844
+      2719.9554       2119.4434
+  22517532.4944  -16192983.09449 -12602324.96647  22517532.4514   22517538.3204
+      2343.8634       1826.3934
+  24721732.2484    -809837.75749   -611778.70745  24721730.8224   24721737.5014
+     -3304.3654      -2574.8264
+  22273665.5884  -12486688.77149  -9707839.95647  22273664.9044   22273669.2664
+     -2656.9514      -2070.3594
+  20904150.9774  -19011716.83949 -14791664.25048  20904151.1514   20904155.6404
+      1352.0784       1053.5694
+  20411149.5834  -25375879.74349 -19762050.05748  20411149.1114   20411155.1404
+      -849.6674       -662.0794
+  20235717.1634  -23188392.79949 -18057682.48848  20235716.4124   20235722.2314
+       409.1214        318.7974
+ 05  1 20 15 13 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24077700.5244   -5780714.80649  -4459763.15446  24077700.1034   24077709.2074
+      2714.2774       2115.0194
+  22504159.4694  -16263261.74549 -12657087.54747  22504158.8054   22504165.2434
+      2341.3754       1824.4564
+  24740590.8394    -710721.52149   -534545.34145  24740588.6414   24740596.8194
+     -3303.6174      -2574.2504
+  22288848.5184  -12406897.73849  -9645665.18047  22288847.9674   22288852.6554
+     -2662.3954      -2074.5964
+  20896482.3864  -19052013.56649 -14823064.30548  20896482.6554   20896487.4294
+      1334.2954       1039.7034
+  20416053.3124  -25350108.90649 -19741968.90748  20416053.0624   20416059.3054
+      -868.3684       -676.6474
+  20233440.0154  -23200355.99149 -18067004.47348  20233439.6024   20233445.9514
+       388.4264        302.6704
+ 05  1 20 15 14  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24062224.0674   -5862055.97649  -4523145.85345  24062222.3434   24062228.5584
+      2708.5624       2110.5724
+  22490800.9054  -16333464.88149 -12711791.29747  22490800.2134   22490805.4624
+      2338.7994       1822.4494
+  24759447.2034    -611629.28549   -457330.67445  24759446.8324   24759454.7964
+     -3302.7404      -2573.5574
+  22304063.9214  -12326942.59349  -9583362.52847  22304063.2154   22304067.5124
+     -2667.8544      -2078.8434
+  20888917.6564  -19091775.34449 -14854047.51848  20888916.5294   20888921.1534
+      1316.4544       1025.8134
+  20421063.9704  -25323777.25849 -19721450.76548  20421063.7414   20421070.1264
+      -887.0764       -691.2234
+  20231281.6174  -23211697.79449 -18075842.26348  20231281.2684   20231287.6294
+       367.6914        286.5194
+ 05  1 20 15 14 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24046777.6524   -5943224.93749  -4586394.39846  24046777.5344   24046783.1344
+      2702.8394       2106.0984
+  22477456.0684  -16403591.95749 -12766435.76947  22477455.5984   22477460.7114
+      2336.3004       1820.5024
+  24778300.6044    -512562.37849   -380135.79845  24778298.9134   24778307.7454
+     -3301.7824      -2572.8234
+  22319310.4014  -12246825.20649  -9520933.44347  22319309.3134   22319313.8904
+     -2673.2504      -2083.0524
+  20881452.8084  -19131000.60249 -14884612.66348  20881452.1354   20881457.0694
+      1298.5454       1011.8544
+  20426181.7804  -25296885.17249 -19700495.91248  20426181.0904   20426187.6404
+      -905.7574       -705.7824
+  20229242.0104  -23222417.13249 -18084195.00948  20229241.4364   20229247.6704
+       346.9054        270.3174
+ 05  1 20 15 15  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24031363.3774   -6024221.16349  -4649508.31346  24031363.9314   24031370.8804
+      2697.0594       2101.6034
+  22464126.6214  -16473641.90149 -12821020.14247  22464125.8164   22464130.7704
+      2333.7204       1818.4884
+  24797145.7014    -413522.13649   -302961.63345  24797146.1494   24797154.3064
+     -3300.9344      -2572.1544
+  22334586.5214  -12166547.36949  -9458379.33947  22334586.2214   22334590.3724
+     -2678.6094      -2087.2294
+  20874090.3394  -19169688.27649 -14914758.91748  20874090.5214   20874095.2444
+      1280.6044        997.8724
+  20431404.9744  -25269433.00849 -19679104.63848  20431404.9394   20431411.2464
+      -924.3924       -720.3064
+  20227320.8534  -23232512.80949 -18092061.78348  20227320.4794   20227326.5964
+       326.1284        254.1244
+ 05  1 20 15 15 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  24015983.4414   -6105044.10649  -4712487.18846  24015982.4904   24015991.6664
+      2691.2804       2097.1024
+  22450809.7344  -16543614.14949 -12875543.97047  22450809.7784   22450815.5274
+      2331.1154       1816.4544
+  24815987.0634    -314509.24949   -225808.86045  24815987.3674   24815994.5634
+     -3300.0234      -2571.4414
+  22349892.1024  -12086110.97049  -9395701.67747  22349891.8064   22349896.5214
+     -2683.8274      -2091.2874
+  20866831.1864  -19207836.85249 -14944485.08848  20866830.8294   20866835.5074
+      1262.6154        983.8564
+  20436736.0934  -25241421.25549 -19657277.32948  20436735.9084   20436742.0604
+      -943.0494       -734.8414
+  20225518.3134  -23241983.94349 -18099441.91048  20225518.0414   20225524.2864
+       305.2824        237.8844
+ 05  1 20 15 16  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  24000637.5294   -6185693.09749  -4775330.51346  24000635.4204   24000645.0724
+      2685.4304       2092.5324
+  22437509.7974  -16613507.66849 -12930006.45647  22437509.6624   22437515.0354
+      2328.4934       1814.4024
+  24834823.3324    -215525.09849   -148678.43745  24834825.0854   24834829.8444
+     -3298.9774      -2570.6324
+  22365229.3114  -12005517.78649  -9332901.84547  22365228.6914   22365233.3684
+     -2689.0194      -2095.3394
+  20859674.2374  -19245444.88649 -14973790.06048  20859674.4204   20859678.8234
+      1244.5764        969.8024
+  20442172.8054  -25212850.37949 -19635014.33548  20442172.6064   20442178.9624
+      -961.7074       -749.3774
+  20223835.6354  -23250829.32049 -18106334.43048  20223835.2154   20223840.9944
+       284.4044        221.6154
+ 05  1 20 15 16 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  23985322.8444   -6266167.81449  -4838038.10646  23985322.1944   23985331.0634
+      2679.6174       2088.0134
+  22424224.3984  -16683321.65349 -12984406.96347  22424224.3244   22424229.8014
+      2325.7924       1812.3044
+  24853655.4824    -116571.01149    -71571.38845  24853654.7654   24853661.2734
+     -3297.9854      -2569.8594
+  22380594.5024  -11924769.86049  -9269981.43947  22380593.3574   22380599.0584
+     -2694.1734      -2099.3584
+  20852620.6334  -19282511.16949 -15002672.88448  20852620.1184   20852625.3574
+      1226.4954        955.7104
+  20447716.6304  -25183720.87649 -19612316.04048  20447715.9434   20447722.1864
+      -980.3314       -763.8944
+  20222271.4844  -23259048.62149 -18112739.09948  20222270.9594   20222276.8284
+       263.5374        205.3504
+ 05  1 20 15 17  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  23970042.8464   -6346467.77749  -4900609.48046  23970041.9274   23970049.6934
+      2673.7894       2083.4724
+  22410954.5484  -16753055.25349 -13038744.84647  22410954.1934   22410960.0344
+      2323.1164       1810.2234
+  24872479.4114     -17647.92649      5511.48045  24872479.0104   24872487.0064
+     -3296.9324      -2569.0314
+  22395988.9294  -11843868.81349  -9206941.73247  22395989.5644   22395993.5284
+     -2699.2094      -2103.2764
+  20845670.8054  -19319034.17049 -15031132.38348  20845670.4594   20845675.3034
+      1208.3554        941.5794
+  20453365.5784  -25154033.22249 -19589182.83048  20453365.3664   20453371.4394
+      -998.8884       -778.3594
+  20220826.6274  -23266640.81649 -18118655.11348  20220826.2664   20220832.2944
+       242.6074        189.0454
+ 05  1 20 15 17 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  23954796.3534   -6426592.48649  -4963044.27646  23954795.4294   23954803.2814
+      2667.9334       2078.9054
+  22397700.6904  -16822707.63749 -13093019.43747  22397700.3774   22397705.7194
+      2320.3864       1808.0934
+  24891297.0684      81243.16449     82569.43445  24891297.6834   24891304.3824
+     -3295.8294      -2568.1814
+  22411413.9834  -11762816.48149  -9143784.11847  22411413.0704   22411418.3714
+     -2704.2374      -2107.1934
+  20838824.2504  -19355012.88649 -15059167.75848  20838824.2174   20838828.7724
+      1190.2194        927.4464
+  20459120.8014  -25123787.97249 -19565615.13348  20459120.6054   20459126.6784
+     -1017.4704       -792.8334
+  20219501.6804  -23273604.85649 -18124081.65348  20219501.0144   20219507.2574
+       221.6764        172.7374
+ 05  1 20 15 18  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  23939582.3864   -6506541.14149  -5025341.94646  23939580.5624   23939588.0534
+      2662.0934       2074.3504
+  22384462.4954  -16892277.89249 -13147230.03547  22384462.2284   22384466.8294
+      2317.6254       1805.9364
+  24910108.7634     180101.12449    159601.54945  24910109.5994   24910116.7494
+     -3294.7044      -2567.2974
+  22426865.9264  -11681614.48449  -9080509.87847  22426864.7834   22426870.1574
+     -2709.1844      -2111.0474
+  20832080.9864  -19390445.86249 -15086777.87448  20832081.0184   20832086.2024
+      1171.9904        913.2394
+  20464982.8604  -25092985.57549 -19541613.29348  20464982.2184   20464988.3474
+     -1035.9964       -807.2664
+  20218295.8634  -23279940.22849 -18129018.32648  20218295.5194   20218301.5014
+       200.7084        156.3964
+ 05  1 20 15 18 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  23924400.7684   -6586313.56549  -5087502.21846  23924400.9124   23924408.1284
+      2656.1524       2069.7374
+  22371239.1614  -16961765.27549 -13201376.04847  22371238.3934   22371243.8334
+      2314.8424       1803.7804
+  24928915.7924     278924.81949    236606.94545  24928914.2604   24928923.2134
+     -3293.5694      -2566.4204
+  22442346.0924  -11600264.75349  -9017120.54747  22442345.2454   22442350.3674
+     -2714.0624      -2114.8404
+  20825443.6934  -19425331.72749 -15113961.67448  20825442.9074   20825447.5334
+      1153.7234        899.0084
+  20470949.7344  -25061626.69449 -19517177.82748  20470949.6394   20470955.5534
+     -1054.5634       -821.7364
+  20217210.1744  -23285646.19649 -18133464.55248  20217209.5524   20217215.5464
+       179.6784        140.0044
+ 05  1 20 15 19  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  23909253.9614   -6665909.11149  -5149524.70146  23909254.5634   23909261.9914
+      2650.2984       2065.1624
+  22358032.8774  -17031168.80449 -13255456.72047  22358031.8744   22358036.8974
+      2312.0224       1801.5744
+  24947713.2104     377713.37649    313584.97545  24947713.4714   24947721.7294
+     -3292.3564      -2565.4754
+  22457855.1224  -11518769.11649  -8953617.49347  22457854.0954   22457859.0274
+     -2718.9374      -2118.6514
+  20818908.3484  -19459669.53149 -15140718.40748  20818908.4764   20818913.3724
+      1135.4484        884.7624
+  20477023.7544  -25029711.94349 -19492309.21148  20477023.0234   20477029.2314
+     -1073.1054       -836.1864
+  20216244.6854  -23290721.72749 -18137419.53248  20216243.7984   20216249.9694
+       158.6514        123.6254
+ 05  1 20 15 19 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  23894143.3474   -6745327.39549  -5211409.04946  23894141.9434   23894148.2814
+      2644.3864       2060.5604
+  22344841.6134  -17100487.72649 -13309471.47647  22344841.1984   22344845.4354
+      2309.2464       1799.4074
+  24966505.4384     476465.53249    390534.62545  24966504.5224   24966514.4754
+     -3291.1084      -2564.5024
+  22473391.0484  -11437129.45749  -8890002.25847  22473390.2744   22473394.6644
+     -2723.6814      -2122.3494
+  20812479.1004  -19493457.98549 -15167047.09148  20812478.7384   20812483.6674
+      1117.1154        870.4744
+  20483202.0214  -24997241.91849 -19467007.92648  20483201.8084   20483207.8504
+     -1091.5864       -850.5864
+  20215398.4824  -23295165.98749 -18140882.61248  20215398.1474   20215404.2094
+       137.6424        107.2564
+ 05  1 20 15 20  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  23879063.6944   -6824567.82349  -5273154.82346  23879062.7404   23879069.5414
+      2638.4264       2055.9154
+  22331666.8724  -17169720.89549 -13363419.42447  22331666.3374   22331671.2504
+      2306.3044       1797.1284
+  24985290.2184     575180.14149    467454.99245  24985289.2514   24985298.9854
+     -3289.8204      -2563.4874
+  22488952.4354  -11355347.47649  -8826276.12147  22488951.6964   22488956.9374
+     -2728.3934      -2126.0194
+  20806153.4804  -19526696.11149 -15192946.94048  20806153.6324   20806158.6814
+      1098.7424        856.1644
+  20489486.1604  -24964217.21749 -19441274.42148  20489485.7754   20489492.2694
+     -1110.0494       -864.9734
+  20214672.6604  -23298978.53549 -18143853.45348  20214672.4154   20214678.6094
+       116.5404         90.8114
+ 05  1 20 15 20 30.0000000  0  7G 7G28G 3G19G11G27G 8
+  23864018.0104   -6903629.98149  -5334761.65346  23864017.6664   23864026.2134
+      2632.4424       2051.2604
+  22318508.6594  -17238867.64049 -13417299.99947  22318507.8954   22318513.0244
+      2303.4294       1794.8814
+  25004067.7654     673856.11849    544345.28645  25004068.6514   25004076.6634
+     -3288.5684      -2562.5164
+  22504542.2154  -11273424.95749  -8762440.45647  22504541.4794   22504545.4604
+     -2733.0754      -2129.6704
+  20799934.3654  -19559382.42849 -15218416.81048  20799933.6584   20799938.3584
+      1080.3834        841.8504
+  20495875.9344  -24930638.62049 -19415109.32148  20495876.1204   20495881.6214
+     -1128.5104       -879.3624
+  20214067.9144  -23302159.08549 -18146331.82148  20214067.3854   20214073.5034
+        95.4334         74.3634
+ 05  1 20 15 21  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  23849007.2034   -6982513.39449  -5396229.19046  23849006.2994   23849014.5814
+      2626.5394       2046.6424
+  22305366.6754  -17307926.91249 -13471112.43247  22305366.5194   22305371.3874
+      2300.5034       1792.5964
+  25022836.7094     772492.71349    621204.87345  25022836.5524   25022844.0224
+     -3287.3064      -2561.5394
+  22520157.4444  -11191363.68049  -8698496.63647  22520156.8024   22520162.1864
+     -2737.6784      -2133.2604
+  20793819.2064  -19591515.86449 -15243455.85948  20793819.1784   20793823.8964
+      1061.8804        827.4414
+  20502371.2434  -24896506.69149 -19388513.04248  20502371.1864   20502376.9554
+     -1146.9604       -893.7334
+  20213583.2004  -23304705.92749 -18148316.39448  20213582.8894   20213588.8444
+        74.3624         57.9464
+ 05  1 20 15 21 30.0000000  0  8G29G 7G28G 3G19G11G27G 8
+                    -32170.37641    -18636.196 4                  24987720.273
+       429.1924        338.273
+  23834029.7414   -7061217.52749  -5457557.07846  23834028.9304   23834038.3204
+      2620.5024       2041.9504
+  22292242.4674  -17376897.90849 -13524856.07547  22292241.7454   22292247.3734
+      2297.5724       1790.3264
+  25041600.8824     871088.79349    698032.92845  25041600.0034   25041607.6464
+     -3285.8894      -2560.4274
+  22535800.1484  -11109165.22149  -8634445.95047  22535799.3944   22535803.8614
+     -2742.2504      -2136.8144
+  20787810.3234  -19623095.28849 -15268063.21748  20787810.2964   20787814.4064
+      1043.3874        813.0284
+  20508971.7964  -24861822.26849 -19361486.24648  20508971.2294   20508977.2904
+     -1165.3784       -908.0834
+  20213219.5254  -23306619.53349 -18149807.53448  20213218.7324   20213224.7014
+        53.2114         41.4654
+ 05  1 20 15 22  0.0000000  0  7G 7G28G 3G19G11G27G 8
+  23819086.4564   -7139741.96149  -5518744.90446  23819086.2464   23819095.7274
+      2614.4924       2037.2584
+  22279134.7354  -17445779.64149 -13578530.15847  22279133.7514   22279139.1894
+      2294.5674       1787.9684
+  25060353.4734     969643.41849    774828.65845  25060354.7354   25060360.7684
+     -3284.5274      -2559.3714
+  22551467.0494  -11026831.24149  -8570289.65447  22551466.9124   22551472.5884
+     -2746.7024      -2140.2824
+  20781906.4144  -19654119.84449 -15292238.19748  20781905.9574   20781910.7934
+      1024.8814        798.6094
+  20515676.8984  -24826586.07249 -19334029.50148  20515676.4614   20515682.8364
+     -1183.7464       -922.3984
+  20212975.1964  -23307898.96449 -18150804.50448  20212975.0414   20212981.3164
+        32.0754         24.9944
+ 05  1 20 15 22 30.0000000  0  8G29G 7G28G 3G19G11G27G 8
+                     -3849.59441      -394.965 3                  24982321.073
+       395.8404        308.808
+  23804177.9974   -7218086.36849  -5579792.49646  23804178.1084   23804186.8474
+      2608.4524       2032.5564
+  22266043.7384  -17514571.15449 -13632133.95047  22266043.0844   22266048.5794
+      2291.5154       1785.5934
+  25079102.0904    1068155.25749    851591.11245  25079101.8854   25079109.3604
+     -3283.0014      -2558.1804
+  22567160.9984  -10944364.10749  -8506029.62547  22567160.1474   22567165.7584
+     -2751.1084      -2143.7144
+  20776108.0864  -19684588.62249 -15315980.11348  20776108.0684   20776112.9844
+      1006.3234        784.1464
+  20522486.2164  -24790798.78549 -19306143.34148  20522486.4904   20522492.5554
+     -1202.1174       -936.7174
+  20212852.7034  -23308543.19549 -18151306.52448  20212852.5784   20212858.7954
+        10.9034          8.4944
+ 05  1 20 15 23  0.0000000  0  8G29G 7G28G 3G19G11G27G 8
+  24980016.9354     -15476.86349     -9763.70944
+       379.3524        295.5924
+  23789305.7094   -7296250.22949  -5640699.35846  23789304.8064   23789311.6854
+      2602.4934       2027.9164
+  22252970.8734  -17583271.53149 -13685666.71247  22252969.8824   22252975.3974
+      2288.4974       1783.2404
+  25097837.8164    1166623.61549    928319.61645  25097836.4234   25097849.4414
+     -3281.4944      -2557.0074
+  22582879.4804  -10861765.28149  -8441666.95847  22582878.1244   22582882.4694
+     -2755.4784      -2147.1254
+  20770416.4694  -19714500.04549 -15339287.72548  20770415.9774   20770420.8684
+       987.7524        769.6754
+  20529402.2354  -24754461.22749 -19277828.38348  20529401.6424   20529407.7974
+     -1220.4334       -950.9814
+  20212851.2634  -23308552.11849 -18151313.49948  20212850.9294   20212856.8704
+       -10.2594         -7.9934
+ 05  1 20 15 23 30.0000000  0  8G29G 7G28G 3G19G11G27G 8
+  24977899.0404     -26605.72549    -18435.54545
+       362.6584        282.5914
+  23774463.0044   -7374233.17349  -5701465.25646  23774462.7984   23774470.9894
+      2596.4824       2023.2364
+  22239914.5134  -17651879.96349 -13739127.83447  22239914.1574   22239919.4444
+      2285.3954       1780.8194
+  25116567.2224    1265047.62449   1005013.49445  25116567.2204   25116576.4194
+     -3280.0414      -2555.8744
+  22598620.4664  -10779035.92449  -8377202.59647  22598620.6104   22598625.5034
+     -2759.8004      -2150.4984
+  20764830.1614  -19743853.17249 -15362160.31048  20764830.0384   20764835.0674
+       969.1364        755.1754
+  20536421.2774  -24717574.24849 -19249085.31348  20536421.0344   20536427.0054
+     -1238.7294       -965.2394
+  20212970.6534  -23307925.58049 -18150825.30448  20212969.8464   20212976.1294
+       -31.5024        -24.5524
+ 05  1 20 15 24  0.0000000  0  8G29G 7G28G 3G19G11G27G 8
+  24975875.8854     -37236.32149    -26719.18645                  24975882.4024
+       346.0904        269.6714
+  23759660.7774   -7452034.63349  -5762089.73246  23759659.0444   23759664.7564
+      2590.3714       2018.4814
+  22226876.4734  -17720395.32349 -13792516.42847  22226876.3434   22226881.5624
+      2282.2684       1778.3864
+  25135289.3244    1363426.17449   1081672.00145  25135289.7074   25135296.0124
+     -3278.5874      -2554.7394
+  22614389.2394  -10696177.83049  -8312637.89147  22614388.1404   22614392.6424
+     -2764.0644      -2153.8164
+  20759351.2204  -19772646.89349 -15384596.98248  20759351.0594   20759355.8974
+       950.4354        740.5984
+  20543544.7414  -24680138.65249 -19219914.74748  20543544.3704   20543550.7314
+     -1256.9844       -979.4694
+  20213211.1234  -23306662.51749 -18149841.11948  20213210.5384   20213216.6054
+       -52.7104        -41.0744
+ 05  1 20 15 24 30.0000000  0  8G29G 7G28G 3G19G11G27G 8
+  24973949.3604     -47368.86749    -34614.67145  24973948.2864   24973955.8774
+       329.4814        256.7374
+  23744888.4194   -7529654.26249  -5822572.50546  23744888.1394   23744894.6654
+      2584.3384       2013.7754
+  22213856.5214  -17788816.58549 -13845831.69347  22213855.8554   22213861.6624
+      2279.1394       1775.9494
+  25154000.9054    1461758.25249   1158294.31545  25154002.2724   25154007.8924
+     -3276.9564      -2553.4694
+  22630179.8704  -10613193.18649  -8247974.60047  22630179.2704   22630184.9004
+     -2768.2414      -2157.0644
+  20753979.0684  -19800880.55049 -15406597.24848  20753978.4114   20753983.5354
+       931.8024        726.0804
+  20550772.4904  -24642155.40749 -19190317.45048  20550772.5734   20550778.7004
+     -1275.2374       -993.6944
+  20213572.0944  -23304762.52749 -18148360.62048  20213571.7754   20213578.3874
+       -73.9424        -57.6164
+ 05  1 20 15 25  0.0000000  0  8G29G 7G28G 3G19G11G27G 8
+  24972114.3464     -57003.26249    -42122.03845  24972114.4294   24972122.0944
+       312.9214        243.8374
+  23730154.9454   -7607091.74649  -5882913.32846  23730153.5614   23730159.7194
+      2578.2234       2009.0154
+  22200854.9684  -17857143.02449 -13899073.07347  22200853.8914   22200859.2204
+      2275.9434       1773.4654
+  25172705.5844    1560043.05849   1234879.80345  25172705.3554   25172711.2484
+     -3275.4304      -2552.2844
+  22645996.8814  -10530083.62849  -8183213.97747  22645995.7884   22646000.1604
+     -2772.3864      -2160.2974
+  20748712.6704  -19828553.19049 -15428160.35448  20748712.2644   20748717.0804
+       913.0564        711.4734
+  20558104.6334  -24603625.31049 -19160294.03148  20558104.5754   20558110.9234
+     -1293.4524      -1007.8844
+  20214055.5184  -23302225.38149 -18146383.65048  20214054.8354   20214061.0634
+       -95.2014        -74.1834
+ 05  1 20 15 25 30.0000000  0  8G29G 7G28G 3G19G11G27G 8
+  24970377.7014     -66139.93749    -49241.56845  24970378.1264   24970382.7494
+       296.2714        230.8584
+  23715451.7164   -7684346.47249  -5943111.78246  23715451.5254   23715459.3174
+      2572.1354       2004.2684
+  22187870.8454  -17925373.53649 -13952239.72247  22187870.2724   22187875.8784
+      2272.7454       1770.9664
+  25191397.8234    1658279.53849   1311427.61845  25191397.2484   25191404.6824
+     -3273.8104      -2551.0234
+  22661834.8744  -10446850.79549  -8118357.26447  22661833.8194   22661839.4814
+     -2776.4804      -2163.4894
+  20743553.2124  -19855663.81049 -15449285.53048  20743553.0434   20743558.5594
+       894.3284        696.8814
+  20565541.8814  -24564549.21549 -19129845.15348  20565540.9724   20565546.8334
+     -1311.6334      -1022.0524
+  20214659.4804  -23299050.29049 -18143909.57048  20214658.9374   20214665.5434
+      -116.4634        -90.7504
+ 05  1 20 15 26  0.0000000  0  8G29G 7G28G 3G19G11G27G 8
+  24968733.1994     -74778.96349    -55973.32545  24968733.3794   24968736.9954
+       279.7144        217.9574
+  23700786.2354   -7761418.19349  -6003167.64046  23700784.7764   23700793.6104
+      2566.0484       1999.5094
+  22174905.5794  -17993507.07249 -14005330.78647  22174904.8564   22174910.1524
+      2269.4854       1768.4294
+  25210081.0434    1756466.68149   1387936.96945  25210080.5144   25210092.3334
+     -3272.1194      -2549.6974
+  22677696.7794  -10363496.17049  -8053405.67347  22677695.8654   22677700.9644
+     -2780.5084      -2166.6374
+  20738502.1504  -19882211.52749 -15469972.07848  20738501.7534   20738506.3654
+       875.4974        682.2084
+  20573080.8894  -24524928.03849 -19098971.54248  20573080.4364   20573086.4794
+     -1329.7834      -1036.1944
+  20215384.7854  -23295237.46049 -18140938.55248  20215384.5094   20215390.8594
+      -137.7314       -107.3234
+ 05  1 20 15 26 30.0000000  0  8G29G 7G28G 3G19G11G27G 8
+  24967184.8974     -82920.52149    -62317.46445  24967182.8994   24967187.6594
+       263.2004        205.0934
+  23686153.4644   -7838306.50549  -6063080.59546  23686154.0974   23686162.4714
+      2559.9814       1994.7964
+  22161957.6764  -18061542.77549 -14058345.62847  22161957.4574   22161963.6594
+      2266.2164       1765.8924
+  25228757.9994    1854603.50749   1464407.15044  25228757.6574   25228767.4734
+     -3270.3834      -2548.3514
+  22693581.2694  -10280021.75149  -7988360.72547  22693580.5174   22693585.5764
+     -2784.4564      -2169.7064
+  20733556.9294  -19908195.54249 -15490219.37948  20733556.8994   20733561.5064
+       856.7414        667.5934
+  20580723.4094  -24484762.81549 -19067673.99448  20580723.4514   20580729.6534
+     -1347.8844      -1050.2974
+  20216232.2564  -23290786.23149 -18137470.08248  20216231.6934   20216237.8114
+      -159.0094       -123.9014
+ 05  1 20 15 27  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24965729.9074     -90564.90549    -68274.14245  24965728.6284   24965734.5734
+       246.5514        192.1234
+  23671558.6894   -7915010.88549  -6122850.19546  23671556.9014   23671565.5804
+      2553.7764       1989.9634
+  22149030.8444  -18129479.60349 -14111283.42247  22149029.9784   22149035.4274
+      2262.8864       1763.2814
+  22709488.6064  -10196429.24249  -7923223.78747  22709488.2874   22709493.7744
+     -2788.3744      -2172.7494
+  20728720.6024  -19933614.74649 -15510026.56648  20728720.1074   20728724.5764
+       837.8654        652.8824
+  20588470.5264  -24444054.50349 -19035953.26448  20588469.9594   20588476.3714
+     -1366.0034      -1064.4184
+  20217200.9824  -23285696.33449 -18133503.94848  20217200.2454   20217206.4374
+      -180.3064       -140.4974
+ 05  1 20 15 27 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24964370.4804     -97712.42349    -73843.67245  24964371.1034   24964375.4374
+       229.9784        179.2044
+  23656997.6644   -7991531.13549  -6182476.34246  23656996.3884   23657004.6384
+      2547.5984       1985.1454
+  22136121.7134  -18197316.42849 -14164143.28647  22136121.0584   22136126.4094
+      2259.5404       1760.6774
+  22725419.6894  -10112720.03349  -7857995.88747  22725416.7724   22725422.6474
+     -2792.2474      -2175.7684
+  20723990.7504  -19958468.47749 -15529393.11848  20723990.5444   20723995.3284
+       819.0154        638.1924
+  20596320.0614  -24402803.98149 -19003810.02948  20596320.1184   20596326.2294
+     -1384.0714      -1078.4994
+  20218290.8944  -23279967.61149 -18129040.03548  20218290.4214   20218296.7594
+      -201.6334       -157.1124
+ 05  1 20 15 28  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24963104.4834    -104363.43049    -79026.32145  24963104.3684   24963109.7324
+       213.4964        166.3614
+  23642470.7244   -8067866.79949  -6241958.64746  23642469.9034   23642477.8904
+      2541.5024       1980.3894
+  22123231.7564  -18265052.34249 -14216924.52947  22123231.2044   22123236.8484
+      2256.1764       1758.0594
+  22741367.5764  -10028895.82949  -7792678.39847  22741368.3444   22741373.0294
+     -2796.0054      -2178.7024
+  20719369.5964  -19982755.96249 -15548318.45148  20719368.7064   20719373.2364
+       800.1384        623.4844
+  20604272.5244  -24361012.32749 -18971245.14248  20604272.3774   20604278.5404
+     -1402.0844      -1092.5304
+  20219502.8374  -23273599.58049 -18124077.95248  20219502.0714   20219508.4794
+      -222.9174       -173.6994
+ 05  1 20 15 28 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24961932.3244    -110518.05049    -83822.18945  24961932.7634   24961938.7694
+       196.9424        153.4694
+  23627978.9524   -8144017.46949  -6301296.80946  23627979.5714   23627987.2124
+      2535.3514       1975.5984
+  22110361.4174  -18332686.38349 -14269626.37447  22110361.0034   22110366.7284
+      2252.7594       1755.3914
+  22757342.5324   -9944958.29949  -7727272.59047  22757341.0354   22757345.6794
+     -2799.8094      -2181.6664
+  20714854.7164  -20006476.56949 -15566802.05148  20714854.6244   20714859.7294
+       781.2134        608.7354
+  20612328.0714  -24318680.64349 -18938259.44048  20612327.9254   20612334.1684
+     -1420.0734      -1106.5524
+  20220836.4144  -23266591.74149 -18118617.32048  20220835.8214   20220842.1804
+      -244.2544       -190.3314
+ 05  1 20 15 29  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24960858.6634    -116176.72149    -88231.56445  24960857.1074   24960862.7154
+       180.3694        140.5424
+  23613524.6004   -8219982.88349  -6360490.61346  23613523.7434   23613530.9654
+      2529.0894       1970.7194
+  22097510.4664  -18400217.33049 -14322247.91347  22097510.1544   22097515.9464
+      2249.3024       1752.7054
+  22773336.5664   -9860909.23549  -7661779.87047  22773335.5854   22773340.0514
+     -2803.4734      -2184.5184
+  20710449.0904  -20029629.14649 -15584843.04048  20710448.8604   20710453.4494
+       762.2714        593.9744
+  20620485.9364  -24275810.01649 -18904853.79048  20620486.0134   20620492.3774
+     -1437.9834      -1120.5054
+  20222291.5994  -23258944.32249 -18112658.31448  20222291.0984   20222297.3274
+      -265.5844       -206.9484
+ 05  1 20 15 29 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24959867.1484    -121339.60348    -92254.63345  24959870.9694   24959879.2974
+       163.8824        127.6994
+  23599103.4604   -8295762.52049  -6419539.66446  23599103.2364   23599110.2174
+      2522.9814       1965.9664
+  22084680.7204  -18467644.31649 -14374788.42847  22084679.8384   22084684.9394
+      2245.8244       1749.9884
+  22789350.7164   -9776750.16749  -7596201.42147  22789349.9504   22789355.6464
+     -2807.1014      -2187.3474
+  20706151.4094  -20052213.32049 -15602441.11448  20706151.2874   20706155.8654
+       743.3074        579.2004
+  20628746.8734  -24232401.47749 -18871028.98548  20628746.6224   20628752.7184
+     -1455.9274      -1134.4904
+  20223868.3174  -23250657.08149 -18106200.74548  20223868.1624   20223874.4274
+      -286.8964       -223.5564
+ 05  1 20 15 30  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24958986.1364    -126007.25449    -95891.81345  24958984.1464   24958991.4804
+       147.3654        114.8314
+  23584719.2504   -8371356.24949  -6478443.83246  23584718.4964   23584724.5904
+      2516.6754       1961.0574
+  22071869.3324  -18534966.26649 -14427247.09947  22071868.5594   22071874.0164
+      2242.2944       1747.2444
+  22805384.4544   -9692482.42049  -7530538.31347  22805385.0234   22805391.1764
+     -2810.7104      -2190.1614
+  20701962.8424  -20074227.87749 -15619595.32648  20701961.9274   20701967.0944
+       724.3004        564.3944
+  20637109.0914  -24188456.13549 -18836785.89448  20637108.6754   20637115.3564
+     -1473.7684      -1148.3874
+  20225567.5884  -23241730.23249 -18099244.78448  20225567.1434   20225573.3194
+      -308.2314       -240.1764
+ 05  1 20 15 30 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24958189.9484    -130180.05549    -99143.34945  24958190.1734   24958198.4144
+       130.8804        101.9874
+  23570370.1334   -8446763.51749  -6537202.68346  23570368.0624   23570374.8624
+      2510.5234       1956.2484
+  22059078.5384  -18602182.14249 -14479623.11247  22059078.0394   22059083.6034
+      2238.7534       1744.4874
+  22821442.0704   -9608107.97449  -7464792.07247  22821441.8444   22821446.8444
+     -2814.2174      -2192.8974
+  20697881.9874  -20095672.35949 -15636305.33148  20697881.5974   20697886.2634
+       705.3264        549.6054
+  20645573.6124  -24143975.12749 -18802125.40448  20645573.3134   20645579.7124
+     -1491.6334      -1162.3074
+  20227388.2594  -23232163.09849 -18091789.89848  20227387.4454   20227393.7814
+      -329.5694       -256.8064
+ 05  1 20 15 31  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24957486.8344    -133858.41848   -102009.61545  24957488.8734   24957497.9264
+       114.3304         89.0884
+  23556055.1814   -8521984.01349  -6595816.03146  23556055.2364   23556061.6484
+      2504.3124       1951.4024
+  22046308.0044  -18669290.71449 -14531915.51547  22046307.4464   22046312.5404
+      2235.1694       1741.6924
+  22837518.6854   -9523628.35749  -7398963.86047  22837517.2254   22837522.4774
+     -2817.7164      -2195.6344
+  20693909.1954  -20116546.17449 -15652570.66248  20693909.3994   20693914.4544
+       686.2714        534.7594
+  20654140.2494  -24098959.50049 -18767048.32948  20654139.6274   20654145.7994
+     -1509.4114      -1176.1664
+  20229330.0194  -23221955.54149 -18083835.97848  20229329.7844   20229336.1814
+      -350.9224       -273.4444
+ 05  1 20 15 31 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24956883.7834    -137042.74849   -104490.93645  24956882.5544   24956892.4664
+        97.9414         76.3184
+  23541775.5794   -8597017.53449  -6654283.68446  23541774.7174   23541782.9064
+      2498.0504       1946.5384
+  22033557.9274  -18736291.09349 -14584123.61447  22033557.4824   22033562.5664
+      2231.5204       1738.8424
+  22853614.6984   -9439045.12949  -7333054.90247  22853613.2214   22853618.1194
+     -2821.1734      -2198.3204
+  20690046.4604  -20136848.73049 -15668390.85148  20690045.7884   20690050.8454
+       667.2034        519.8994
+  20662807.8584  -24053410.56649 -18731555.68448  20662807.4854   20662813.7154
+     -1527.2104      -1190.0324
+  20231394.5374  -23211107.55349 -18075383.02648  20231394.3164   20231400.5374
+      -372.2804       -290.0844
+ 05  1 20 15 32  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24956370.0854    -139733.56549   -106587.73345  24956371.4024   24956378.1494
+        81.4814         63.4874
+  23527533.5084   -8671863.60049  -6712605.27546  23527532.5654   23527540.4674
+      2491.7934       1941.6564
+  22020829.1194  -18803182.11949 -14636246.49447  22020828.7464   22020833.8554
+      2227.8344       1735.9734
+  22869728.9554   -9354359.79949  -7267066.40347  22869728.0534   22869734.0164
+     -2824.5394      -2200.9474
+  20686291.0414  -20156579.24349 -15683765.28948  20686291.1594   20686296.3664
+       648.1364        505.0414
+  20671576.7574  -24007329.60249 -18695648.47248  20671576.3124   20671582.8144
+     -1544.9044      -1203.8184
+  20233581.3024  -23199619.55149 -18066431.36148  20233580.5084   20233586.5474
+      -393.6224       -306.7194
+ 05  1 20 15 32 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24955954.1064    -141931.13449   -108300.14345  24955953.0584   24955961.7004
+        65.0824         50.7124
+  23513327.4124   -8746522.04749  -6770780.67846  23513325.4344   23513334.4434
+      2485.5104       1936.7674
+  22008120.3014  -18869962.72349 -14688283.34447  22008120.5544   22008125.7784
+      2224.1614       1733.1064
+  22885864.0894   -9269574.18649  -7200999.75547  22885862.3344   22885867.9834
+     -2827.8224      -2203.4904
+  20682646.2084  -20175737.24749 -15698693.62148  20682645.7884   20682650.8454
+       629.0664        490.1864
+  20680446.6634  -23960717.49249 -18659327.39248  20680446.1934   20680452.4894
+     -1562.5634      -1217.5814
+  20235888.5824  -23187491.07549 -18056980.62348  20235888.0504   20235894.7804
+      -414.9354       -323.3244
+ 05  1 20 15 33  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24955627.1724    -143636.16149   -109628.76345  24955627.1164   24955638.1644
+        48.7154         37.9594
+  23499154.9134   -8820992.37649  -6828809.47146  23499153.4344   23499162.7094
+      2479.2714       1931.8874
+  21995434.9324  -18936631.76249 -14740233.25047  21995434.2044   21995439.6384
+      2220.4324       1730.2104
+  22902016.7794   -9184689.68249  -7134856.03447  22902015.4424   22902020.8794
+     -2831.0984      -2206.0444
+  20679109.4724  -20194321.92449 -15713175.19948  20679109.2844   20679113.9614
+       609.9094        475.2534
+  20689417.1174  -23913575.75849 -18622593.60048  20689416.8954   20689423.4174
+     -1580.2294      -1231.3474
+  20238317.9274  -23174722.42849 -18047031.05548  20238317.8294   20238324.3514
+      -436.3014       -339.9744
+ 05  1 20 15 33 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24955395.4594    -144849.01549   -110573.92445  24955397.4264   24955408.5644
+        32.2784         25.1554
+  23485020.5954   -8895274.35749  -6886691.53646  23485018.8574   23485027.6464
+      2472.9584       1926.9634
+  21982769.8264  -19003188.20449 -14792095.43147  21982769.1344   21982773.8214
+      2216.6514       1727.2594
+  22918188.1714   -9099707.78449  -7068636.44747  22918187.3744   22918192.7504
+     -2834.3014      -2208.5394
+  20675682.1664  -20212332.88149 -15727209.72648  20675681.9194   20675686.7424
+       590.8014        460.3644
+  20698488.5924  -23865905.57249 -18585448.03948  20698488.1854   20698494.6534
+     -1597.7934      -1245.0354
+  20240869.7114  -23161313.55949 -18036582.61248  20240869.3894   20240875.9684
+      -457.6104       -356.5784
+ 05  1 20 15 34  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24955258.8014    -145570.38049   -111136.11545  24955258.8214   24955270.0574
+        15.9404         12.4274
+  23470920.4264   -8969367.83549  -6944426.71546  23470920.7594   23470927.2384
+      2466.6844       1922.1084
+  21970126.2584  -19069631.02349 -14843869.05747  21970125.4994   21970130.9084
+      2212.8504       1724.2964
+  22934376.5884   -9014630.25049  -7002342.32247  22934376.4034   22934382.5234
+     -2837.5014      -2211.0314
+  20672364.5554  -20229769.75849 -15740796.91648  20672363.8524   20672368.4944
+       571.6524        445.4404
+  20707660.7344  -23817708.24049 -18547891.71548  20707660.4634   20707666.4994
+     -1615.3574      -1258.7164
+  20243543.3284  -23147264.58849 -18025635.38548  20243542.8534   20243549.2884
+      -478.9614       -373.2184
+ 05  1 20 15 34 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24955215.3044    -145800.83049   -111315.72145  24955216.1464   24955225.1224
+         -.4234          -.3244
+  23456856.7594   -9043272.24349  -7002014.55046  23456856.2064   23456864.6374
+      2460.4334       1917.2184
+  21957503.9614  -19135958.88149 -14895553.11047  21957503.6154   21957509.0454
+      2209.0144       1721.3084
+  22950586.1294   -8929458.41249  -6935974.72147  22950584.4514   22950589.4784
+     -2840.6034      -2213.4664
+  20669154.8614  -20246631.85149 -15753936.22748  20669155.0184   20669159.9764
+       552.4994        430.5234
+  20716932.6034  -23768985.20749 -18509925.74448  20716931.8594   20716938.1774
+     -1632.8324      -1272.3374
+  20246339.1554  -23132575.26849 -18014189.18948  20246338.6494   20246344.7004
+      -500.2844       -389.8304
+ 05  1 20 15 35  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24955264.7284    -145540.77449   -111113.13345  24955265.8424   24955274.6084
+       -16.9454        -13.2014
+  23442829.2054   -9116987.47549  -7059454.98346  23442828.5604   23442836.3104
+      2454.0724       1912.2674
+  21944904.3364  -19202170.78449 -14947146.81647  21944903.8354   21944909.4984
+      2205.1314       1718.2894
+  22966809.5714   -8844194.08249  -6869535.04646  22966809.4984   22966815.7964
+     -2843.6394      -2215.8164
+  20666055.7394  -20262918.74949 -15766627.33348  20666055.8164   20666060.4634
+       533.3024        415.5614
+  20726303.9054  -23719737.56449 -18471551.00548  20726303.6644   20726309.5784
+     -1650.3204      -1285.9604
+  20249256.3344  -23117245.86849 -18002244.23348  20249255.9134   20249261.9434
+      -521.6584       -406.4854
+ 05  1 20 15 35 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24955409.5114    -144791.07649   -110528.98745  24955408.6534   24955416.3904
+       -33.0884        -25.7844
+  23428838.1254   -9190513.12349  -7116747.66146  23428836.7704   23428844.4184
+      2447.7184       1907.3124
+  21932327.0854  -19268265.76949 -14998649.40447  21932326.6144   21932331.6394
+      2201.2154       1715.2334
+  22983054.1884   -8758838.62949  -6803024.37847  22983053.4024   22983058.3324
+     -2846.6784      -2218.1844
+  20663066.3524  -20278629.87749 -15778869.78848  20663065.7894   20663070.7794
+       514.1014        400.6034
+  20735775.0584  -23669966.79249 -18432768.61948  20735774.5944   20735780.8334
+     -1667.7504      -1299.5404
+  20252295.1184  -23101276.79749 -17989800.82648  20252294.5714   20252300.7934
+      -542.9474       -423.0694
+ 05  1 20 15 36  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24955644.4024    -143552.15749   -109563.63545  24955645.5604   24955654.6704
+       -49.3964        -38.4844
+  23414881.6974   -9263848.98649  -7173892.48546  23414882.1774   23414888.7714
+      2441.4354       1902.4274
+  21919771.9354  -19334242.33949 -15050059.72847  21919771.5454   21919776.5924
+      2197.2504       1712.1404
+  22999313.5414   -8673393.50449  -6736443.84247  22999312.4904   22999318.2394
+     -2849.6254      -2220.4864
+  20660185.2694  -20293764.94849 -15790663.36148  20660185.3664   20660190.5914
+       494.9174        385.6514
+  20745345.5964  -23619674.20349 -18393579.62348  20745344.9074   20745351.2564
+     -1685.0924      -1313.0594
+  20255455.4874  -23084667.81449 -17976858.78548  20255454.9494   20255461.3524
+      -564.2684       -439.6874
+ 05  1 20 15 36 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24955976.0854    -141824.80449   -108217.67245  24955973.3454   24955982.1394
+       -65.6794        -51.1824
+  23400964.1514   -9336994.77649  -7230889.17946  23400962.9874   23400969.7094
+      2435.0884       1897.4764
+  21907240.1024  -19400099.61049 -15101377.09347  21907239.0464   21907244.3174
+      2193.2374       1709.0154
+  23015590.4884   -8587860.22849  -6669794.59847  23015589.9604   23015594.4464
+     -2852.5604      -2222.7784
+  20657415.6344  -20308323.55249 -15802007.74548  20657415.4284   20657420.4304
+       475.6714        370.6514
+  20755014.8844  -23568861.19149 -18353985.10548  20755014.5484   20755020.7304
+     -1702.4524      -1326.5854
+  20258738.4304  -23067419.29549 -17963418.40648  20258737.5794   20258743.8144
+      -585.6004       -456.3134
+ 05  1 20 15 37  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24956395.1494    -139609.47449   -106491.47845  24956395.7204   24956404.0154
+       -82.0294        -63.9164
+  23387079.7844   -9409950.27349  -7287737.59446  23387080.0594   23387087.9804
+      2428.7314       1892.5304
+  21894730.1414  -19465836.38549 -15152600.55947  21894729.6864   21894734.8884
+      2189.2134       1705.8844
+  23031882.7604   -8502240.53349  -6603078.01846  23031881.9524   23031887.6024
+     -2855.4224      -2225.0034
+  20654754.9794  -20322305.11449 -15812902.48848  20654754.6944   20654759.5594
+       456.4284        355.6614
+  20764782.6184  -23517529.19049 -18313986.17848  20764782.6244   20764788.7004
+     -1719.7544      -1340.0674
+  20262141.9724  -23049531.91849 -17949480.22048  20262141.4434   20262147.6074
+      -606.9364       -472.9384
+ 05  1 20 15 37 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24956912.2884    -136907.01049   -104385.72945  24956910.0544   24956917.7734
+       -98.1304        -76.4674
+  23373233.0124   -9482715.03149  -7344437.39646  23373232.9904   23373241.1954
+      2422.4014       1887.5774
+  21882243.8574  -19531451.44849 -15203729.19347  21882243.5934   21882248.7284
+      2185.1424       1702.7094
+  23048190.5254   -8416535.59349  -6536295.04246  23048190.5104   23048196.9684
+     -2858.2404      -2227.1984
+  20652204.1164  -20335709.46249 -15823347.45348  20652204.0374   20652209.0804
+       437.1874        340.6684
+  20774649.5694  -23465679.56049 -18273583.90948  20774649.3964   20774655.5304
+     -1736.9304      -1353.4544
+  20265667.1364  -23031005.16849 -17935043.81848  20265666.6514   20265673.1384
+      -628.1624       -489.4794
+ 05  1 20 15 38  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24957517.5154    -133718.01249   -101900.82745  24957517.6424   24957523.5794
+      -114.3284        -89.0864
+  23359423.8034   -9555288.97249  -7400988.52546  23359422.5684   23359430.6484
+      2416.0044       1882.5994
+  21869781.6664  -19596943.74549 -15254762.14847  21869781.0894   21869786.4584
+      2181.0104       1699.4854
+  23064518.0564   -8330747.16249  -6469446.97347  23064516.1784   23064521.3244
+     -2860.9774      -2229.3244
+  20649763.4014  -20348536.27349 -15833342.39048  20649763.2174   20649767.9604
+       417.9124        325.6464
+  20784614.4744  -23413313.89149 -18232779.52148  20784613.7764   20784620.5894
+     -1754.1474      -1366.8644
+  20269314.2454  -23011840.17949 -17920110.08448  20269313.8384   20269319.9544
+      -649.4774       -506.0834
+ 05  1 20 15 38 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24958215.5674    -130043.29949    -99037.43045  24958218.5604   24958224.7234
+      -130.5334       -101.7064
+  23345648.8014   -9627671.90049  -7457390.77146  23345647.7624   23345656.0164
+      2409.6714       1877.6574
+  21857342.1064  -19662311.78549 -15305698.29647  21857341.9724   21857347.4874
+      2176.8504       1696.2484
+  23080857.0524   -8244876.53349  -6402534.87346  23080856.6384   23080862.4174
+     -2863.6894      -2231.4364
+  20647432.8874  -20360785.14349 -15842886.98148  20647432.3524   20647437.1924
+       398.6364        310.6274
+  20794677.1354  -23360433.49449 -18191574.06848  20794677.0104   20794683.7474
+     -1771.2484      -1380.1914
+  20273083.0044  -22992037.17849 -17904679.19948  20273082.3124   20273088.6314
+      -670.7394       -522.6524
+ 05  1 20 15 39  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24959011.7064    -125883.69549    -95796.22245  24959009.1524   24959015.0864
+      -146.6694       -114.2914
+  23331912.3674   -9699863.32749  -7513643.82946  23331910.7284   23331918.5514
+      2403.2804       1872.6924
+  21844927.3254  -19727554.53249 -15356536.81547  21844926.8264   21844932.1934
+      2172.6674       1692.9894
+  23097212.5514   -8158925.22449  -6335559.91046  23097212.5674   23097218.1054
+     -2866.3754      -2233.5334
+  20645211.6374  -20372455.74049 -15851980.97048  20645211.2074   20645216.6264
+       379.3824        295.6294
+  20804838.1084  -23307040.17749 -18149968.91848  20804837.5474   20804843.6974
+     -1788.3364      -1393.5094
+  20276972.3884  -22971596.10549 -17888751.13248  20276972.2404   20276978.3964
+      -692.0094       -539.2234
+ 05  1 20 15 39 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24959893.0834    -121239.91949    -92177.74745  24959893.7734   24959899.8054
+      -162.7244       -126.7974
+  23318211.5374   -9771863.22249  -7569747.63246  23318211.0714   23318217.6624
+      2396.8754       1867.6994
+  21832536.0454  -19792670.88549 -15407276.83647  21832535.4624   21832541.1614
+      2168.4264       1689.6784
+  23113586.0074   -8072894.92349  -6268523.38946  23113583.9044   23113589.2424
+     -2868.9844      -2235.5684
+  20643100.4224  -20383547.83149 -15860624.17448  20643100.5994   20643105.3804
+       360.1024        280.5984
+  20815095.2024  -23253135.04049 -18107964.95648  20815095.0454   20815101.5284
+     -1805.3414      -1406.7554
+  20280983.3904  -22950517.47149 -17872326.24748  20280983.1014   20280989.7264
+      -713.2284       -555.7624
+ 05  1 20 15 40  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24960869.9244    -116112.79649    -88182.63545  24960869.6094   24960873.5684
+      -178.8984       -139.3994
+  23304545.1464   -9843671.26249  -7625701.92246  23304545.5844   23304553.5644
+      2390.4324       1862.6844
+  21820169.0314  -19857659.67949 -15457917.47647  21820168.6074   21820174.0534
+      2164.1414       1686.3454
+  23129971.1684   -7986786.86749  -6201426.28146  23129969.6794   23129975.1704
+     -2871.5164      -2237.5414
+  20641100.2794  -20394061.27149 -15868816.48248  20641100.2774   20641105.3354
+       340.8034        265.5634
+  20825450.6534  -23198719.88249 -18065563.58048  20825450.1504   20825456.6914
+     -1822.3224      -1419.9934
+  20285115.3004  -22928801.74149 -17855404.92048  20285115.2424   20285122.0734
+      -734.4674       -572.3144
+ 05  1 20 15 40 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24961936.3024    -110503.07149    -83811.46245  24961937.2874   24961943.3434
+      -194.9914       -151.9334
+  23290917.5324   -9915287.27949  -7681506.58746  23290917.3644   23290925.1304
+      2384.1024       1857.7434
+  21807826.4944  -19922519.59249 -15508457.68747  21807826.1814   21807831.6514
+      2159.8144       1682.9734
+  23146370.2774   -7900602.57649  -6134269.77646  23146369.4344   23146375.3284
+     -2874.0764      -2239.5384
+  20639210.2194  -20403995.80249 -15876557.70048  20639209.7174   20639214.7514
+       321.4914        250.5134
+  20835902.2904  -23143796.15049 -18022765.90648  20835901.8824   20835908.2804
+     -1839.2484      -1433.1814
+  20289369.5984  -22906449.37649 -17837987.52048  20289368.9414   20289375.4344
+      -755.6754       -588.8384
+ 05  1 20 15 41  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24963096.9664    -104411.65649    -79064.95545  24963096.8864   24963101.0694
+      -211.0584       -164.4644
+  23277327.1434   -9986710.93649  -7737161.38146  23277326.1504   23277333.0194
+      2377.6014       1852.6964
+  21795509.1684  -19987249.49049 -15558896.57347  21795508.5754   21795513.7524
+      2155.4864       1679.6024
+  23162785.2504   -7814343.42449  -6067054.93646  23162785.1464   23162790.1164
+     -2876.5294      -2241.4434
+  20637429.5484  -20413351.15349 -15883847.60048  20637429.3534   20637434.2824
+       302.1794        235.4654
+  20846450.2674  -23088365.51849 -17979573.25148  20846449.6684   20846456.2704
+     -1856.1524      -1446.3534
+  20293744.2494  -22883461.00949 -17820074.53748  20293743.5704   20293750.1534
+      -776.8624       -605.3484
+ 05  1 20 15 41 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24964347.5604     -97839.34749    -73943.74645  24964346.7604   24964352.3854
+      -227.0504       -176.9194
+  23263771.4534  -10057942.16149  -7792666.20546  23263770.9754   23263779.1304
+      2371.1954       1847.6814
+  21783216.4314  -20051848.08449 -15609233.15947  21783215.9304   21783220.9394
+      2151.1034       1676.1784
+  23179214.3644   -7728010.99149  -5999782.97246  23179213.0004   23179218.7664
+     -2878.9064      -2243.2994
+  20635759.4914  -20422127.19849 -15890686.10048  20635759.5964   20635764.3474
+       282.8694        220.4194
+  20857094.2354  -23032429.46149 -17935986.75848  20857093.9704   20857100.5714
+     -1872.9804      -1459.4634
+  20298239.9994  -22859836.74249 -17801666.04648  20298239.3014   20298245.6514
+      -798.0694       -621.8764
+ 05  1 20 15 42  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24965690.3094     -90786.96449    -68448.45145  24965689.5454   24965693.2044
+      -243.0574       -189.3914
+  23250253.0974  -10128980.60949  -7848020.82846  23250252.9004   23250261.0064
+      2364.6784       1842.6014
+  21770948.3534  -20116314.22149 -15659466.51847  21770948.2504   21770953.5344
+      2146.6254       1672.6954
+  23195656.6884   -7641606.49749  -5932454.87046  23195655.7264   23195660.4554
+     -2881.3464      -2245.1874
+  20634199.7864  -20430323.81949 -15897073.09648  20634199.7874   20634204.5914
+       263.5394        205.3574
+  20867834.8674  -22975989.53249 -17892007.62648  20867834.8674   20867840.7644
+     -1889.7014      -1472.4954
+  20302856.2064  -22835577.19749 -17782762.52948  20302855.6914   20302862.2384
+      -819.2514       -638.3774
+ 05  1 20 15 42 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24967119.8144     -83255.59849    -62579.88145  24967122.1014   24967125.7644
+      -259.0084       -201.8184
+  23236771.5014  -10199826.05149  -7903225.04646  23236770.5604   23236778.6254
+      2358.3854       1837.7054
+  21758706.9904  -20180646.63649 -15709595.68247  21758706.4704   21758711.3754
+      2142.1574       1669.2084
+  23212111.7704   -7555131.49649  -5865071.85046  23212110.4394   23212115.8764
+     -2883.6574      -2247.0064
+  20632751.1614  -20437941.02249 -15903008.59948  20632750.4014   20632755.2044
+       244.2334        190.3114
+  20878670.4104  -22919047.59549 -17847637.32348  20878669.8624   20878676.7674
+     -1906.4244      -1485.5244
+  20307593.8114  -22810683.09849 -17763364.55348  20307592.9994   20307599.5474
+      -840.3554       -654.8204
+ 05  1 20 15 43  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24968646.4294     -75245.94249    -56338.61445  24968643.7854   24968650.7384
+      -274.9264       -214.2294
+  23223327.1864  -10270478.43749  -7958278.84146  23223326.2744   23223333.5394
+      2351.8904       1832.6404
+  21746490.3474  -20244843.98549 -15759619.60347  21746490.2564   21746495.3484
+      2137.6354       1665.6894
+  23228581.3614   -7468587.50949  -5797635.06046  23228580.1164   23228585.7414
+     -2885.9274      -2248.7784
+  20631410.9074  -20444978.53849 -15908492.39348  20631410.9174   20631416.1994
+       224.9074        175.2534
+  20889601.8384  -22861605.20349 -17802877.07048  20889600.9334   20889607.3284
+     -1923.0694      -1498.4914
+  20312450.7004  -22785154.98449 -17743472.54748  20312450.6814   20312457.0804
+      -861.4974       -671.2934
+ 05  1 20 15 43 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24970261.5204     -66758.95849    -49725.42645  24970261.5344   24970266.9694
+      -290.8204       -226.6104
+  23209918.4334  -10340937.47449  -8013181.95946  23209919.0974   23209925.0214
+      2345.4924       1827.6574
+  21734300.1074  -20308904.95849 -15809537.25147  21734299.6174   21734305.0264
+      2133.1084       1662.1624
+  23245062.4914   -7381975.76849  -5730145.47446  23245062.2164   23245067.5814
+     -2888.1584      -2250.5174
+  20630182.0834  -20451436.20949 -15913524.36548  20630182.1004   20630186.9014
+       205.6004        160.2084
+  20900627.6784  -22803664.10049 -17757728.19948  20900626.8604   20900633.3454
+     -1939.6304      -1511.3994
+  20317429.8954  -22758993.18449 -17723086.75848  20317429.1954   20317435.5524
+      -882.6154       -687.7504
+ 05  1 20 15 44  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24971965.1134     -57795.70449    -42741.12745  24971963.5334   24971971.8574
+      -306.5674       -238.8864
+  23196547.2884  -10411203.03949  -8067934.34446  23196547.2694   23196554.5684
+      2338.9704       1822.5724
+  21722135.2254  -20372828.52449 -15859347.83147  21722135.2504   21722140.3794
+      2128.4934       1658.5634
+  23261557.7904   -7295297.74749  -5662604.26046  23261556.7774   23261561.1924
+     -2890.2844      -2252.1724
+  20629063.3634  -20457314.11149 -15918104.57148  20629063.3744   20629068.6194
+       186.2384        145.1164
+  20911747.3434  -22745225.78249 -17712191.89848  20911747.4924   20911754.2054
+     -1956.2634      -1524.3554
+  20322528.8474  -22732198.54949 -17702207.85148  20322528.2804   20322534.6924
+      -903.6844       -704.1714
+ 05  1 20 15 44 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24973762.1384     -48357.14149    -35386.43445  24973759.5004   24973767.1014
+      -322.4434       -251.2454
+  23183213.5824  -10481275.01849  -8122535.85946  23183212.9984   23183220.3324
+      2332.5214       1817.5554
+  21709997.6744  -20436613.28849 -15909050.25747  21709997.1414   21710003.0454
+      2123.8354       1654.9384
+  23278063.7104   -7208554.62549  -5595012.28646  23278063.6374   23278068.7934
+     -2892.4724      -2253.8724
+  20628056.1704  -20462612.42049 -15922233.15348  20628055.7004   20628060.3954
+       166.9474        130.0924
+  20922962.0044  -22686292.21549 -17666269.67848  20922961.9704   20922968.5744
+     -1972.7024      -1537.1674
+  20327747.5704  -22704771.85549 -17680836.43348  20327747.2384   20327753.6064
+      -924.7444       -720.5774
+ 05  1 20 15 45  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24975646.8844     -38444.40249    -27662.28045  24975648.0454   24975655.3804
+      -338.2794       -263.5974
+  23169916.9334  -10551152.98249  -8176986.20946  23169916.3074   23169923.4534
+      2326.0474       1812.5304
+  21697887.1914  -20500257.93149 -15958643.48947  21697886.3424   21697891.6924
+      2119.1474       1651.2834
+  23294583.1774   -7121747.76449  -5527370.65946  23294581.7974   23294587.8814
+     -2894.6834      -2255.6044
+  20627157.7724  -20467330.92949 -15925909.92748  20627157.3834   20627162.4494
+       147.6054        115.0174
+  20934271.3074  -22626865.00549 -17619962.80448  20934270.7054   20934277.2424
+     -1989.1144      -1549.9554
+  20333086.6864  -22676713.89349 -17658973.10848  20333086.4344   20333093.1644
+      -945.7744       -736.9654
+ 05  1 20 15 45 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24977624.1474     -28058.22648    -19569.13545  24977624.7754   24977630.9394
+      -354.0314       -275.8614
+  23156655.7914  -10620836.99749  -8231285.42746  23156654.8744   23156662.1224
+      2319.6254       1807.5034
+  21685802.0754  -20563761.32349 -16008126.66047  21685801.9964   21685807.8224
+      2114.4234       1647.6054
+  23311112.6784   -7034878.79649  -5459680.61346  23311112.7774   23311118.5074
+     -2896.6984      -2257.1734
+  20626369.6594  -20471469.65349 -15929134.93348  20626369.5724   20626374.8344
+       128.2874         99.9604
+  20945672.9854  -22566945.95549 -17573272.67348  20945673.1794   20945679.3624
+     -2005.5074      -1562.7394
+  20338546.1294  -22648025.20149 -17636618.31148  20338545.6304   20338551.9944
+      -966.8024       -753.3554
+ 05  1 20 15 46  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24979689.0644     -17200.02948    -11108.22945  24979689.7564   24979697.0854
+      -369.7744       -288.1324
+  23143431.2614  -10690326.72249  -8285433.26146  23143431.0574   23143439.6824
+      2313.1494       1802.4694
+  21673745.4894  -20627122.06849 -16057498.68347  21673744.9684   21673750.3714
+      2109.6514       1643.8824
+  23327655.3544   -6947949.07049  -5391943.24546  23327654.9754   23327660.0704
+     -2898.6224      -2258.6564
+  20625692.6804  -20475028.54649 -15931908.12048  20625692.3364   20625697.8524
+       108.9084         84.8604
+  20957168.8734  -22506536.73249 -17526200.59848  20957168.4464   20957174.7584
+     -2021.7904      -1575.4234
+  20344125.1434  -22618705.94449 -17613772.15948  20344124.9494   20344131.5134
+      -987.7984       -769.7094
+ 05  1 20 15 46 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24981846.1414      -5870.60449     -2280.12745  24981844.9404   24981854.2514
+      -385.3984       -300.3114
+  23130246.2424  -10759622.09049  -8339429.65746  23130245.6984   23130253.0134
+      2306.6964       1797.4374
+  21661716.0814  -20690338.92249 -16106758.57247  21661714.9374   21661720.4284
+      2104.8044       1640.1104
+  23344209.2704   -6860959.77849  -5324159.47246  23344208.2694   23344214.1374
+     -2900.6574      -2260.2424
+  20625126.8014  -20478007.76849 -15934229.62048  20625126.2274   20625130.9584
+        89.6354         69.8444
+  20968757.5294  -22445639.13149 -17478747.97248  20968757.1734   20968763.6104
+     -2038.0414      -1588.0844
+  20349824.5844  -22588757.87249 -17590436.02648  20349824.0254   20349830.5344
+     -1008.7564       -786.0434
+ 05  1 20 15 47  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24984093.2954       5929.11049      6914.41445  24984092.2074   24984100.3914
+      -401.0884       -312.5274
+  23117096.3754  -10828722.97149  -8393274.48446  23117094.6784   23117103.4234
+      2300.1534       1792.3324
+  21649713.4874  -20753410.54149 -16155905.28447  21649712.8024   21649718.4244
+      2099.9684       1636.3434
+  23360772.5324   -6773912.15249  -5256330.22146  23360772.6114   23360778.2144
+     -2902.6194      -2261.7764
+  20624668.8924  -20480407.36749 -15936099.45548  20624669.0194   20624674.3544
+        70.3314         54.8084
+  20980437.6684  -22384255.05949 -17430916.26748  20980437.9714   20980444.9434
+     -2054.2294      -1600.6944
+  20355642.9994  -22558181.70949 -17566610.47448  20355642.4164   20355648.9554
+     -1029.6634       -802.3334
+ 05  1 20 15 47 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24986425.6674      18197.66849     16474.28645  24986426.7264   24986433.7074
+      -416.7124       -324.7104
+  23103984.0664  -10897629.10449  -8446967.57146  23103982.8134   23103991.0584
+      2293.6904       1787.2824
+  21637738.9524  -20816335.75449 -16204937.92047  21637738.6084   21637744.1944
+      2095.0644       1632.5184
+  23377349.5514   -6686807.75149  -5188456.74046  23377348.7524   23377353.3294
+     -2904.4274      -2263.1914
+  20624323.3204  -20482227.65949 -15937517.88848  20624322.9034   20624327.9594
+        51.0364         39.7704
+  20992212.5714  -22322386.23249 -17382706.83748  20992211.5244   20992218.0944
+     -2070.3634      -1613.2634
+  20361580.8844  -22526977.85449 -17542295.80148  20361580.2794   20361587.1354
+     -1050.5754       -818.6274
+ 05  1 20 15 48  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24988850.7744      30934.13148     26398.79345  24988849.7694   24988856.7914
+      -432.3504       -336.8994
+  23090908.6164  -10966340.47849  -8500508.90346  23090909.1224   23090915.4334
+      2287.1484       1782.1854
+  21625792.6424  -20879113.02849 -16253855.28547  21625792.4634   21625797.6534
+      2090.0894       1628.6384
+  23393935.2164   -6599647.80049  -5120539.94446  23393934.3054   23393940.4244
+     -2906.2664      -2264.6334
+  20624087.3174  -20483468.60949 -15938484.87948  20624086.7414   20624091.6364
+        31.6804         24.6854
+  21004076.8274  -22260034.71549 -17334121.28748  21004076.8094   21004083.4624
+     -2086.3994      -1625.7634
+  20367637.8614  -22495147.02649 -17517492.59548  20367637.7334   20367644.3424
+     -1071.4654       -834.9084
+ 05  1 20 15 48 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24991363.5934      44137.38348     36687.00045  24991361.4794   24991369.3644
+      -447.8994       -349.0114
+  23077870.2674  -11034856.80249  -8553898.24646  23077869.4894   23077877.0014
+      2280.6774       1777.1564
+  21613874.8434  -20941741.15049 -16302656.42647  21613874.4324   21613879.9814
+      2085.1154       1624.7614
+  23410531.4844   -6512433.58749  -5052580.91546  23410530.1734   23410537.2854
+     -2907.9944      -2265.9584
+  20623961.3294  -20484130.29749 -15939000.51148  20623961.1224   20623965.8214
+        12.3874          9.6494
+  21016033.1654  -22197202.24449 -17285160.96548  21016032.8094   21016039.8054
+     -2102.4314      -1638.2614
+  20373814.5584  -22462690.53849 -17492201.84948  20373813.9254   20373820.4844
+     -1092.2954       -851.1434
+ 05  1 20 15 49  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24993954.4964      57806.04858     47337.93554  24993959.2484   24993971.7574
+      -463.2704       -360.9974
+  23064869.6804  -11103178.12549  -8607135.64346  23064868.9304   23064876.6374
+      2274.2144       1772.1184
+  21601985.9854  -21004218.69749 -16351340.23347  21601985.7474   21601991.1994
+      2080.0614       1620.8224
+  23427138.2284   -6425166.55849  -4984580.71046  23427136.8894   23427143.1434
+     -2909.7914      -2267.3744
+  20623945.5184  -20484213.23849 -15939065.15948  20623945.2224   20623950.0114
+        -6.8974         -5.3734
+  21028081.7364  -22133890.62149 -17235827.27948  21028081.3274   21028087.5644
+     -2118.2964      -1650.6224
+  20380109.9844  -22429609.08549 -17466424.11748  20380109.6334   20380115.7754
+     -1113.1634       -867.3994
+ 05  1 20 15 49 30.0000000  0  7G29G 7G28G19G11G27G 8
+  24996650.7534      71939.35158     58350.86554  24996650.0444   24996660.4234
+      -478.8224       -373.0954
+  23051907.1424  -11171304.14849  -8660220.89746  23051905.3524   23051913.1974
+      2267.6494       1767.0024
+  21590126.6974  -21066544.41049 -16399905.72347  21590125.3084   21590131.0844
+      2074.9804       1616.8634
+  23443755.3944   -6337847.85549  -4916540.25346  23443753.9724   23443759.6874
+     -2911.4524      -2268.6514
+  20624039.2404  -20483717.64749 -15938679.00348  20624039.4254   20624044.3444
+       -26.1844        -20.4064
+  21040220.1364  -22070101.85849 -17186121.79548  21040219.4694   21040226.4294
+     -2134.2484      -1663.0534
+  20386523.5564  -22395903.67149 -17440160.18848  20386523.2424   20386529.3664
+     -1133.9014       -883.5604
+ 05  1 20 15 50  0.0000000  0  7G29G 7G28G19G11G27G 8
+  24999431.3884      86535.53548     69724.45644  24999427.7294   24999437.6874
+      -494.1774       -385.0674
+  23038978.8654  -11239234.86849  -8713153.92046  23038978.1284   23038985.9324
+      2261.1554       1761.9304
+  21578295.1224  -21128716.88549 -16448351.82747  21578294.7864   21578300.1284
+      2069.8514       1612.8754
+  23460380.5274   -6250478.89149  -4848460.65546  23460378.9754   23460385.4134
+     -2913.0734      -2269.9174
+  20624244.2604  -20482643.49849 -15937842.03448  20624243.7824   20624248.7284
+       -45.4474        -35.4134
+  21052449.0284  -22005837.86449 -17136046.01247  21052448.9364   21052455.1414
+     -2150.0504      -1675.3654
+  20393056.9554  -22361575.30349 -17413410.83948  20393055.7504   20393062.1134
+     -1154.6494       -899.7244
+ 05  1 20 15 50 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25002297.4984     101594.10749     81458.35745  25002297.1674   25002304.7194
+      -509.5274       -397.0334
+  23026089.3604  -11306970.09449  -8765934.62946  23026089.6374   23026095.8834
+      2254.6194       1756.8444
+  21566493.8104  -21190734.77549 -16496677.46347  21566492.9784   21566498.2164
+      2064.6764       1608.8364
+  23477014.0464   -6163060.84849  -4780342.77446  23477013.7994   23477020.0904
+     -2914.7284      -2271.2034
+  20624558.5384  -20480991.06749 -15936554.44748  20624558.1894   20624563.3864
+       -64.7254        -50.4324
+  21064767.6774  -21941100.51349 -17085601.36547  21064767.6874   21064774.6054
+     -2165.7964      -1687.6364
+  20399707.0734  -22326624.67949 -17386176.62048  20399706.5924   20399713.1154
+     -1175.3604       -915.8644
+ 05  1 20 15 51  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25005250.0584     117113.10149     93551.04345  25005247.5114   25005255.3984
+      -524.9334       -409.0384
+  23013236.7954  -11374509.57349  -8818562.82046  23013236.4624   23013244.0714
+      2248.1144       1751.7854
+  21554721.4934  -21252596.65949 -16544881.53447  21554720.9424   21554726.0434
+      2059.4484       1604.7664
+  23493659.5114   -6075595.09849  -4712187.73246  23493658.7264   23493664.4384
+     -2916.3274      -2272.4654
+  20624982.8044  -20478760.53749 -15934816.40148  20624982.8834   20624987.8704
+       -83.9994        -65.4524
+  21077176.8354  -21875891.80649 -17034789.43747  21077176.4434   21077183.8224
+     -2181.4874      -1699.8644
+  20406475.7244  -22291053.39449 -17358458.76248  20406475.3324   20406482.0424
+     -1196.0564       -931.9914
+ 05  1 20 15 51 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25008291.8324     133091.80849    106001.96645  25008289.3564   25008297.3704
+      -540.2794       -420.9914
+  23000419.8294  -11441853.43149  -8871038.54046  23000420.3544   23000428.7184
+      2241.5804       1746.6814
+  21542978.6004  -21314301.30749 -16592963.08747  21542978.7274   21542983.9744
+      2054.1874       1600.6614
+  23510313.8314   -5988082.69149  -4643996.32646  23510312.5304   23510318.2364
+     -2917.8174      -2273.6234
+  20625517.4174  -20475952.54849 -15932628.37448  20625517.0674   20625522.3284
+      -103.2204        -80.4314
+  21089674.8744  -21810213.71449 -16983611.75247  21089674.6784   21089681.5294
+     -2197.0864      -1712.0174
+  20413362.7894  -22254862.08249 -17330257.76848  20413362.2574   20413369.0954
+     -1216.6744       -948.0594
+ 05  1 20 15 52  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25011415.5004     149528.63149    118809.87245  25011416.0324   25011426.2434
+      -555.5094       -432.8644
+  22987645.0354  -11509001.42349  -8923361.65846  22987644.5834   22987649.7934
+      2235.0384       1741.5894
+  21531267.2084  -21375847.22849 -16640920.95247  21531266.9284   21531272.3654
+      2048.8434       1596.4984
+  23526975.3994   -5900525.07349  -4575769.66846  23526974.4214   23526981.1694
+     -2919.3384      -2274.8084
+  20626161.6194  -20472567.31949 -15929990.55048  20626161.2524   20626166.5654
+      -122.4764        -95.4364
+  21102262.4674  -21744068.20949 -16932069.83947  21102262.0154   21102268.5274
+     -2212.6094      -1724.1074
+  20420367.9434  -22218052.26649 -17301574.82048  20420367.4204   20420373.7054
+     -1237.3114       -964.1374
+ 05  1 20 15 52 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25014631.9514     166422.42049    131973.83145  25014632.4054   25014640.5874
+      -570.6954       -444.7024
+  22974903.3304  -11575953.41949  -8975532.06246  22974902.9884   22974910.0474
+      2228.5214       1736.5094
+  21519585.9874  -21437233.07049 -16688754.08547  21519586.0204   21519590.9254
+      2043.5294       1592.3534
+  23543644.6404   -5812923.40449  -4507508.72246  23543643.8954   23543650.3574
+     -2920.7414      -2275.9044
+  20626915.4674  -20468604.86249 -15926902.95248  20626915.5674   20626920.2474
+      -141.7064       -110.4204
+  21114937.9434  -21677457.36849 -16880165.33947  21114937.6574   21114944.3544
+     -2228.0664      -1736.1514
+  20427490.1814  -22180624.62749 -17272410.45048  20427489.5454   20427495.8034
+     -1257.8594       -980.1484
+ 05  1 20 15 53  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25017933.8734     183771.91649    145492.83145  25017933.2864   25017941.1674
+      -585.9044       -456.5474
+  22962198.0844  -11642709.42249  -9027549.71446  22962197.5004   22962207.1114
+      2222.0154       1731.4404
+  21507934.8134  -21498457.50049 -16736461.44047  21507934.7894   21507940.3554
+      2038.1124       1588.1414
+  23560324.5494   -5725278.81049  -4439214.31546  23560322.7234   23560328.2964
+     -2922.1794      -2277.0144
+  20627779.7414  -20464066.02049 -15923366.21248  20627779.4924   20627784.3064
+      -160.9074       -125.3834
+  21127702.1754  -21610383.00449 -16827899.65547  21127701.7074   21127708.2914
+     -2243.5624      -1748.2274
+  20434729.2394  -22142580.50449 -17242765.70948  20434728.9984   20434735.6724
+     -1278.4124       -996.1664
+ 05  1 20 15 53 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25021324.3294     201575.52149    159365.76745  25021322.2664   25021328.7614
+      -600.9244       -468.2564
+  22949534.4034  -11709269.33249  -9079414.59546  22949533.5024   22949541.2854
+      2215.4404       1726.3234
+  21496316.0694  -21559519.09349 -16784041.89847  21496315.5054   21496320.6674
+      2032.6534       1583.8814
+  23577008.0634   -5637592.79649  -4370887.62246  23577008.5244   23577014.9064
+     -2923.5764      -2278.1024
+  20628752.8834  -20458950.95249 -15919380.46848  20628752.5774   20628757.8404
+      -180.1014       -140.3384
+  21140553.3464  -21542847.37649 -16775274.53747  21140553.0614   21140559.6954
+     -2258.8514      -1760.1454
+  20442085.8484  -22103920.48249 -17212641.04948  20442085.7144   20442092.5664
+     -1298.9164      -1012.1434
+ 05  1 20 15 54  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25024795.6374     219832.15449    173591.66745  25024795.6194   25024806.3534
+      -616.0344       -480.0234
+  22936906.3024  -11775633.02049  -9131126.58846  22936905.0444   22936912.2054
+      2208.9204       1721.2414
+  21484728.2354  -21620416.39149 -16831494.35048  21484727.3564   21484732.7934
+      2027.1344       1579.5864
+  23593704.6694   -5549866.35649  -4302529.44546  23593702.4164   23593708.7124
+     -2924.8644      -2279.1154
+  20629835.4744  -20453260.28049 -15914946.20248  20629835.5164   20629840.5534
+      -199.2974       -155.3014
+  21153493.2124  -21474852.40249 -16722291.49547  21153492.5584   21153499.0794
+     -2274.1644      -1772.0764
+  20449560.2864  -22064646.09549 -17182037.65848  20449559.4804   20449566.3284
+     -1319.3744      -1028.0854
+ 05  1 20 15 54 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25028352.0264     238540.41849    188169.46245  25028354.4964   25028362.6544
+      -631.0174       -491.6964
+  22924314.6074  -11841800.42349  -9182685.57647  22924314.2334   22924321.7084
+      2202.3454       1716.1044
+  21473171.1584  -21681147.99649 -16878817.68248  21473170.4824   21473176.2904
+      2021.6074       1575.2794
+  23610404.7544   -5462100.93549  -4234140.90846  23610403.8404   23610410.1794
+     -2926.1404      -2280.1124
+  20631028.2594  -20446994.39349 -15910063.71548  20631027.7674   20631032.9534
+      -218.4484       -170.2214
+  21166518.1934  -21406400.28249 -16668952.22847  21166517.6044   21166525.2764
+     -2289.3474      -1783.9014
+  20457150.3244  -22024758.93149 -17150956.78148  20457149.9874   20457156.2834
+     -1339.7884      -1043.9904
+ 05  1 20 15 55  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25032002.0094     257698.62849    203097.88545  25032001.8264   25032010.4204
+      -646.0574       -503.4234
+  22911761.7404  -11907771.52449  -9234091.64647  22911760.5574   22911767.4944
+      2195.8214       1711.0364
+  21461645.4414  -21741712.60349 -16926010.89748  21461645.3934   21461651.3244
+      2016.0254       1570.9274
+  23627112.2334   -5374297.52549  -4165722.75646  23627111.6114   23627118.8164
+     -2927.3864      -2281.0714
+  20632329.7744  -20440153.59849 -15904733.24948  20632329.5574   20632334.4334
+      -237.6214       -185.1584
+  21179630.8674  -21337493.04149 -16615258.33147  21179630.5864   21179637.5164
+     -2304.4544      -1795.6794
+  20464857.0514  -21984259.71149 -17119398.97648  20464856.3684   20464862.8204
+     -1360.1454      -1059.8534
+ 05  1 20 15 55 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25035732.8554     277305.67049    218376.01045  25035733.9324   25035740.0124
+      -661.0154       -515.0754
+  22899242.9964  -11973546.14149  -9285344.59146  22899242.7024   22899250.7734
+      2189.2594       1705.9144
+  21450152.8444  -21802108.68249 -16973072.78548  21450152.4184   21450158.2074
+      2010.3774       1566.5244
+  23643828.5284   -5286457.31649  -4097275.94046  23643827.7384   23643833.0804
+     -2928.6044      -2282.0354
+  20633740.5694  -20432738.36749 -15898955.16648  20633740.5114   20633745.3334
+      -256.7514       -200.0694
+  21192829.2334  -21268132.86449 -16561211.49147  21192829.4074   21192836.6064
+     -2319.5424      -1807.4394
+  20472679.4054  -21943149.92849 -17087365.41048  20472679.2424   20472686.3314
+     -1380.4854      -1075.7044
+ 05  1 20 15 56  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25039550.5794     297360.04949    234002.74845  25039548.8614   25039556.3504
+      -675.8854       -526.6634
+  22886764.4224  -12039124.32249  -9336444.47547  22886763.4624   22886771.8244
+      2182.7194       1700.8204
+  21438692.0374  -21862334.63049 -17020002.10648  21438691.5274   21438697.4224
+      2004.6934       1562.0984
+  23660552.1564   -5198581.71249  -4028801.51246  23660550.6594   23660555.7134
+     -2929.7574      -2282.9254
+  20635261.7384  -20424749.31649 -15892729.96048  20635261.1694   20635265.9724
+      -275.8804       -214.9684
+  21206115.5984  -21198321.78049 -16506813.29547  21206114.3664   21206120.9754
+     -2334.5484      -1819.1244
+  20480618.3344  -21901430.80449 -17054857.03848  20480618.0424   20480624.9404
+     -1400.7784      -1091.5094
+ 05  1 20 15 56 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25043450.1554     317860.43649    249977.03545  25043450.9404   25043457.8044
+      -690.6994       -538.2074
+  22874322.6444  -12104505.94249  -9387391.20547  22874322.8004   22874331.2104
+      2176.1844       1695.7224
+  21427264.6904  -21922389.12349 -17066797.82248  21427263.7524   21427269.4474
+      1998.9444       1557.6184
+  23677279.9994   -5110671.66149  -3960300.27746  23677279.4364   23677285.2944
+     -2930.8794      -2283.8034
+  20636891.2654  -20416187.05749 -15886058.08848  20636890.3714   20636895.7404
+      -294.9584       -229.8364
+  21219484.6054  -21128061.85749 -16452065.35447  21219484.5514   21219490.6834
+     -2349.4464      -1830.7424
+  20488673.4894  -21859103.93549 -17021875.09048  20488672.8764   20488679.7894
+     -1420.9994      -1107.2724
+ 05  1 20 15 57  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25047436.3724     338804.90349    266297.38345  25047435.7194   25047441.6614
+      -705.5214       -549.7584
+  22861917.5354  -12169690.87649  -9438184.65247  22861917.2004   22861926.0474
+      2169.6114       1690.6134
+  21415868.7604  -21982270.83049 -17113458.90148  21415868.8254   21415874.3604
+      1993.1384       1553.1014
+  23694014.9064   -5022728.26449  -3891773.05046  23694013.5034   23694019.7714
+     -2931.9864      -2284.6704
+  20638628.0474  -20407052.21249 -15878940.05248  20638628.3454   20638633.9384
+      -314.0664       -244.7224
+  21232939.6634  -21057355.29549 -16396969.38847  21232939.6074   21232946.2794
+     -2364.3204      -1842.3174
+  20496843.1264  -21816170.52749 -16988420.51548  20496842.8954   20496849.5694
+     -1441.2284      -1123.0334
+ 05  1 20 15 57 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25051506.5394     360192.46449    282962.97745  25051505.9944   25051514.1434
+      -720.3244       -561.2864
+  22849553.0894  -12234679.16849  -9488824.88247  22849551.6504   22849559.8164
+      2163.0384       1685.4854
+  21404507.6594  -22041978.21349 -17159984.14148  21404506.8384   21404512.2824
+      1987.3234       1548.5614
+  23710756.0544   -4934752.97449  -3823220.94846  23710755.4844   23710761.6624
+     -2933.0284      -2285.4674
+  20640475.7764  -20397345.19449 -15871376.17548  20640475.7494   20640481.0344
+      -333.1204       -259.5734
+  21246480.0954  -20986204.43349 -16341527.20947  21246479.2574   21246485.5844
+     -2379.0984      -1853.8414
+  20505129.0444  -21772631.86549 -16954494.32248  20505128.4154   20505134.5774
+     -1461.3484      -1138.7104
+ 05  1 20 15 58  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25055657.6464     382021.35348    299972.43945  25055659.5514   25055669.2464
+      -734.8874       -572.6374
+  22837222.9064  -12299470.70749  -9539311.80147  22837222.0214   22837229.4654
+      2156.4404       1680.3424
+  21393178.2094  -22101509.89949 -17206372.47148  21393178.0174   21393183.7854
+      1981.4444       1543.9834
+  23727503.4574   -4846746.76349  -3754644.76746  23727502.6324   23727508.3694
+     -2934.0664      -2286.2794
+  20642432.7454  -20387066.63449 -15863366.93048  20642432.2834   20642436.9284
+      -352.1554       -274.4084
+  21260103.6524  -20914611.46349 -16285740.53747  21260102.7954   21260109.9384
+     -2393.7984      -1865.2974
+  20513528.3204  -21728489.52449 -16920097.73048  20513528.0814   20513534.8024
+     -1481.4364      -1154.3624
+ 05  1 20 15 58 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25059897.3654     404290.25348    317324.85545  25059895.5164   25059904.0114
+      -749.5604       -584.0644
+  22824929.6664  -12364065.48349  -9589645.39247  22824929.0244   22824937.8894
+      2149.9434       1675.2884
+  21381883.7774  -22160864.58149 -17252622.88448  21381883.3764   21381888.9864
+      1975.5274       1539.3784
+  23744256.2634   -4758710.87549  -3686045.48346  23744254.3894   23744259.6194
+     -2934.9944      -2287.0044
+  20644497.5364  -20376217.19349 -15854912.84148  20644496.7734   20644501.2584
+      -371.1634       -289.2164
+  21273811.0854  -20842578.43549 -16229610.96447  21273810.5164   21273817.2104
+     -2408.4054      -1876.6754
+  20522042.9264  -21683745.09549 -16885231.97348  20522042.6674   20522049.3724
+     -1501.5294      -1170.0214
+ 05  1 20 15 59  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25064218.7624     426997.37648    335018.68745  25064218.5074   25064225.0904
+      -764.0994       -595.4034
+  22812675.8264  -12428463.51449  -9639825.66247  22812675.5604   22812682.8924
+      2143.3714       1670.1664
+  21370623.2304  -22220040.59149 -17298734.06748  21370622.3554   21370628.0204
+      1969.5274       1534.6954
+  23761013.4364   -4670646.36749  -3617423.88546  23761012.6634   23761017.9744
+     -2935.9124      -2287.7294
+  20646669.4894  -20364797.40949 -15846014.33348  20646669.5104   20646674.4544
+      -390.1614       -304.0154
+  21287600.8614  -20770107.57449 -16173140.21347  21287600.9834   21287607.8644
+     -2422.9704      -1888.0284
+  20530672.8384  -21638398.11149 -16849896.69448  20530672.1544   20530679.0014
+     -1521.5444      -1185.6154
+ 05  1 20 15 59 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25068623.9834     450141.44548    353053.00645  25068621.1694   25068629.0954
+      -778.7754       -606.8454
+  22800459.5954  -12492664.61049  -9689852.49847  22800459.1674   22800465.9644
+      2136.7924       1665.0214
+  21359396.7664  -22279036.24849 -17344704.72148  21359396.1474   21359401.5274
+      1963.4974       1529.9984
+  23777776.7324   -4582554.31649  -3548780.81746  23777776.2594   23777782.8114
+     -2936.8374      -2288.4484
+  20648951.0494  -20352808.27649 -15836672.17748  20648950.8964   20648956.0814
+      -409.1414       -318.8114
+  21301474.8484  -20697201.14049 -16116330.05547  21301474.3264   21301481.1594
+     -2437.4964      -1899.3494
+  20539415.6594  -21592452.32149 -16814094.81348  20539415.3424   20539421.9714
+     -1541.5164      -1201.1804
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 16  0  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25073112.0854     473720.78948    371426.48145  25073108.8594   25073119.7504
+      -793.2294       -618.0994
+  22788279.1764  -12556668.87849  -9739725.93547  22788278.5534   22788285.8414
+      2130.2294       1659.9114
+  21348205.2434  -22337850.44049 -17390533.96648  21348204.2104   21348209.7504
+      1957.4164       1525.2574
+  23794545.4774   -4494435.73549  -3480117.09746  23794544.0904   23794550.3144
+     -2937.6924      -2289.1134
+  20651341.1454  -20340250.35849 -15826886.81148  20651340.6734   20651345.9074
+      -428.0664       -333.5594
+  21315431.2414  -20623861.35149 -16059182.22747  21315431.0774   21315437.4894
+     -2451.8684      -1910.5434
+  20548272.9424  -21545908.71549 -16777827.10948  20548272.4444   20548278.8964
+     -1561.4194      -1216.6924
+ 05  1 20 16  0 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25077679.9454     497733.64449    390137.72645  25077679.7954   25077685.7514
+      -807.5474       -629.2644
+  22776137.1184  -12620476.23749  -9789445.94047  22776136.4514   22776143.5914
+      2123.6674       1654.7924
+  21337047.2424  -22396481.42849 -17436220.45848  21337047.1114   21337052.5884
+      1951.2994       1520.4904
+  23811317.4614   -4406291.97049  -3411433.75546  23811318.3794   23811324.0494
+     -2938.4774      -2289.7254
+  20653838.3694  -20327124.38349 -15816658.80448  20653838.5574   20653843.4184
+      -446.9914       -348.3064
+  21329470.1464  -20550090.54149 -16001698.54547  21329469.4214   21329476.1054
+     -2466.2394      -1921.7484
+  20557242.7994  -21498768.34649 -16741094.39048  20557242.4854   20557249.6094
+     -1581.2764      -1232.1644
+ 05  1 20 16  1  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25082333.2994     522178.62849    409185.77145  25082331.4814   25082339.8984
+      -821.8804       -640.4264
+  22764033.9084  -12684086.69749  -9839012.52047  22764031.5424   22764038.8734
+      2117.1374       1649.7154
+  21325925.1854  -22454927.75249 -17481763.05148  21325924.9774   21325930.5124
+      1945.1324       1515.6874
+  23828095.5504   -4318124.20649  -3342731.69346  23828095.7744   23828101.5344
+     -2939.3824      -2290.4284
+  20656444.8564  -20313430.89049 -15805988.57648  20656444.6024   20656449.6184
+      -465.8964       -363.0374
+  21343588.8504  -20475890.89649 -15943880.70647  21343589.3024   21343595.5344
+     -2480.4224      -1932.7984
+  20566326.9574  -21451032.80549 -16703897.90348  20566326.4174   20566333.1954
+     -1601.0654      -1247.5824
+ 05  1 20 16  1 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25087064.8864     547053.99849    428569.15545  25087064.6944   25087072.9534
+      -836.2984       -651.6544
+  22751964.2344  -12747500.30549  -9888425.71447  22751964.0784   22751971.9804
+      2110.5434       1644.5834
+  21314838.9744  -22513188.03449 -17527160.68348  21314838.5644   21314844.1034
+      1938.8674       1510.8124
+  23844881.3704   -4229933.32549  -3274011.64346  23844879.0114   23844885.2044
+     -2940.0944      -2290.9734
+  20659158.9744  -20299170.77049 -15794876.81248  20659158.2104   20659162.8254
+      -484.7864       -377.7534
+  21357789.6044  -20401264.78549 -15885730.54447  21357789.6524   21357797.1644
+     -2494.6454      -1943.8764
+  20575523.5564  -21402704.09449 -16666239.20948  20575523.2734   20575529.7964
+     -1620.8254      -1262.9804
+ 05  1 20 16  2  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25091879.2404     572358.11649    448286.55445  25091881.0334   25091888.3404
+      -850.5664       -662.7814
+  22739934.4794  -12810716.85049  -9937685.35647  22739934.0434   22739942.5344
+      2104.0204       1639.4974
+  21303787.8904  -22571260.61749 -17572412.04248  21303787.6874   21303793.1434
+      1932.6044       1505.9244
+  23861665.7504   -4141720.37449  -3205274.35346  23861665.6004   23861671.1034
+     -2940.7824      -2291.5144
+  20661979.5844  -20284344.87749 -15783324.18548  20661979.3904   20661984.0054
+      -503.6204       -392.4314
+  21372070.8724  -20326214.55549 -15827249.91147  21372071.1734   21372078.3304
+     -2508.7744      -1954.8864
+  20584833.2314  -21353783.46849 -16628119.27848  20584832.4524   20584839.2814
+     -1640.5244      -1278.3244
+ 05  1 20 16  2 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25096778.6014     598089.32149    468336.85945  25096778.8634   25096784.3934
+      -864.7874       -673.8624
+  22727943.3384  -12873736.43549  -9986791.51947  22727942.2174   22727951.3264
+      2097.4464       1634.3684
+  21292773.2334  -22629144.07049 -17617516.03648  21292772.7284   21292778.1534
+      1926.2884       1501.0044
+  23878454.9814   -4053486.50149  -3136520.79646  23878454.9274   23878460.2394
+     -2941.5004      -2292.0694
+  20664908.6124  -20268953.82549 -15771331.18248  20664907.8374   20664913.3474
+      -522.4594       -407.1054
+  21386434.2274  -20250742.36549 -15768440.47647  21386433.7864   21386440.0614
+     -2522.7244      -1965.7634
+  20594254.8314  -21304272.72249 -16589539.51748  20594254.1094   20594260.9264
+     -1660.1604      -1293.6264
+ 05  1 20 16  3  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25101754.5744     624246.02649    488718.68945  25101755.1584   25101763.3594
+      -878.8784       -684.8424
+  22715988.6924  -12936559.00649 -10035744.16347  22715988.3114   22715995.5304
+      2090.7874       1629.1904
+  21281794.6704  -22686836.82949 -17662471.43048  21281794.1564   21281799.6314
+      1919.8764       1496.0094
+  23895249.5824   -3965232.74949  -3067751.72246  23895248.4714   23895254.8044
+     -2942.1294      -2292.5664
+  20667944.0694  -20252998.72549 -15758898.66048  20667944.1454   20667949.4194
+      -541.2344       -421.7404
+  21400875.0504  -20174850.82749 -15709304.27847  21400874.4084   21400881.7484
+     -2536.7064      -1976.6504
+  20603787.7204  -21254173.31549 -16550501.05648  20603787.7084   20603794.6984
+     -1679.7854      -1308.9214
+ 05  1 20 16  3 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25106811.9734     650826.53049    509430.66245  25106811.2324   25106820.0824
+      -893.1024       -695.9254
+  22704070.5684  -12999184.66149 -10084543.36147  22704070.6984   22704078.7304
+      2084.2774       1624.1164
+  21270852.4394  -22744337.41349 -17707277.09048  21270852.2244   21270857.7984
+      1913.4764       1491.0154
+  23912047.6124   -3876960.21449  -2998968.01545  23912046.9384   23912053.6614
+     -2942.6744      -2292.9864
+  20671087.5954  -20236480.19749 -15746027.10348  20671087.7804   20671092.7434
+      -559.9864       -436.3574
+  21415396.4924  -20098541.98249 -15649842.92247  21415396.2294   21415403.3934
+     -2550.5554      -1987.4494
+  20613433.5144  -21203486.94149 -16511005.23248  20613433.3674   20613439.6734
+     -1699.2734      -1324.1124
+ 05  1 20 16  4  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25111952.0654     677828.90049    530471.47745  25111952.2424   25111957.2234
+      -907.0724       -706.8124
+  22692191.6044  -13061613.37449 -10133189.11147  22692191.0014   22692198.7324
+      2077.7074       1619.0004
+  21259947.7584  -22801644.26649 -17751931.78048  21259947.2554   21259952.5524
+      1906.9894       1485.9634
+  23928848.6464   -3788669.98349  -2930170.55545  23928847.9474   23928854.0844
+     -2943.2234      -2293.4144
+  20674338.4954  -20219399.30549 -15732717.34248  20674338.0014   20674343.2634
+      -578.7234       -450.9504
+  21429996.8364  -20021818.32049 -15590058.32047  21429996.5334   21430002.9584
+     -2564.3324      -1998.1724
+  20623190.6804  -21152215.51249 -16471053.50448  20623189.8134   20623196.4204
+     -1718.7644      -1339.2924
+ 05  1 20 16  4 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25117172.7914     705251.61949    551839.73345  25117168.7954   25117177.0424
+      -921.1114       -717.7444
+  22680348.9194  -13123845.12849 -10181681.38747  22680348.7294   22680356.4194
+      2071.1414       1613.8714
+  21249079.5814  -22858755.91149 -17796434.36748  21249079.0844   21249084.5684
+      1900.4434       1480.8624
+  23945655.4354   -3700363.11349  -2861360.05446  23945652.2584   23945659.8914
+     -2943.8314      -2293.8914
+  20677695.2964  -20201756.73449 -15718969.90048  20677695.4804   20677700.7274
+      -597.4494       -465.5434
+  21444674.7504  -19944682.22549 -15529952.33047  21444674.7024   21444681.8774
+     -2578.0294      -2008.8484
+  20633057.3224  -21100360.44749 -16430647.01548  20633057.0774   20633064.2314
+     -1738.2114      -1354.4504
+ 05  1 20 16  5  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25122468.1834     733092.93249    573534.21245  25122467.6964   25122476.4694
+      -934.9814       -728.5524
+  22668543.8694  -13185879.90349 -10230020.15347  22668543.4474   22668550.8054
+      2064.6194       1608.7954
+  21238248.9064  -22915670.75849 -17840783.59548  21238248.2584   21238254.1294
+      1893.8504       1475.7304
+  23962460.5164   -3612040.43449  -2792537.29146  23962459.3664   23962466.1314
+     -2944.3694      -2294.3154
+  20681159.5674  -20183553.70249 -15704785.73948  20681158.9114   20681164.1914
+      -616.0984       -480.0754
+  21459431.4684  -19867136.03749 -15469526.79847  21459430.9574   21459438.5684
+     -2591.6734      -2019.4854
+  20643036.1934  -21047923.35149 -16389786.97148  20643035.7254   20643042.8924
+     -1757.5704      -1369.5364
+ 05  1 20 16  5 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25127845.5874     761351.04449    595553.46344  25127845.3494   25127852.6384
+      -948.8134       -739.3324
+  22656777.8344  -13247717.69849 -10278205.44547  22656776.7594   22656784.0124
+      2058.0114       1603.6424
+  21227455.7914  -22972387.17849 -17884978.21348  21227455.8234   21227461.5324
+      1887.2174       1470.5594
+  23979270.5304   -3523703.14849  -2723703.11546  23979269.3314   23979275.7584
+     -2944.7784      -2294.6194
+  20684729.9284  -20164791.05049 -15690165.51248  20684729.6554   20684734.7004
+      -634.7614       -494.6144
+  21474265.2554  -19789182.20049 -15408783.62147  21474265.6954   21474273.1754
+     -2605.2444      -2030.0554
+  20653125.3224  -20994906.29349 -16348475.02548  20653124.8274   20653131.5714
+     -1776.8924      -1384.5924
+ 05  1 20 16  6  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25133302.3794     790024.17249    617896.12244  25133301.4824   25133309.5534
+      -962.6644       -750.1264
+  22645047.8394  -13309358.58049 -10326237.30547  22645046.6984   22645054.0374
+      2051.4994       1598.5754
+  21216701.8334  -23028903.49649 -17929016.91048  21216701.2684   21216706.5254
+      1880.5084       1465.3294
+  23996082.9424   -3435352.18749  -2654858.32246  23996082.6034   23996089.5264
+     -2945.3134      -2295.0484
+  20688406.9484  -20145469.37649 -15675109.68748  20688406.6844   20688412.3384
+      -653.3664       -509.1164
+  21489176.2204  -19710823.14349 -15347724.67847  21489176.7024   21489183.8654
+     -2618.7324      -2040.5614
+  20663324.8914  -20941310.71649 -16306712.28448  20663323.8084   20663330.5504
+     -1796.1334      -1399.5844
+ 05  1 20 16  6 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25138835.4584     819110.46948    640560.69844  25138831.9294   25138842.7994
+      -976.3874       -760.8154
+  22633353.9244  -13370802.52149 -10374115.67947  22633353.6604   22633361.8924
+      2044.8894       1593.4264
+  21205985.4564  -23085218.40749 -17972898.66648  21205984.7984   21205990.3454
+      1873.7964       1460.0984
+  24012897.9414   -3346988.70249  -2586003.74246  24012898.0494   24012904.5254
+     -2945.6264      -2295.2804
+  20692190.1454  -20125590.10149 -15659619.36648  20692189.4954   20692194.5504
+      -671.9324       -523.5864
+  21504165.2734  -19632061.30849 -15286351.90047  21504164.8894   21504171.9064
+     -2632.1034      -2050.9934
+  20673632.8304  -20887138.76049 -16264500.41648  20673632.1554   20673639.5214
+     -1815.3174      -1414.5284
+ 05  1 20 16  7  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25144449.3564     848608.18648    663545.94944  25144448.8154   25144456.7184
+      -990.1344       -771.5284
+  22621699.9154  -13432049.67449 -10421840.75847  22621699.4424   22621706.5764
+      2038.3414       1588.3224
+  21195307.4914  -23141330.34049 -18016622.25848  21195307.0454   21195312.5334
+      1866.9934       1454.7924
+  24029715.2974   -3258613.58149  -2517140.12546  24029714.6664   24029722.2554
+     -2946.0524      -2295.6104
+  20696078.1974  -20105153.66849 -15643694.89548  20696078.1734   20696083.5714
+      -690.4984       -538.0464
+  21519229.4344  -19552899.15849 -15224667.16747  21519229.0154   21519236.0864
+     -2645.3834      -2061.3374
+  20684050.5694  -20832392.63449 -16221841.13648  20684049.9304   20684057.2274
+     -1834.4264      -1429.4224
+ 05  1 20 16  7 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25150140.2154     878515.66149    686850.47444  25150139.9744   25150147.3794
+     -1003.6694       -782.0754
+  22610082.5104  -13493099.98149 -10469412.40847  22610082.2904   22610089.4154
+      2031.7584       1583.1864
+  21184668.7584  -23197237.60349 -18060186.36048  21184668.0524   21184673.7294
+      1860.1424       1449.4594
+  24046535.1864   -3170227.95149  -2448268.32346  24046534.2434   24046540.5424
+     -2946.3214      -2295.8324
+  20700073.5134  -20084161.11949 -15627337.08848  20700073.1944   20700078.3464
+      -709.0024       -552.4724
+  21534369.1354  -19473339.02849 -15162672.33047  21534369.0584   21534375.3254
+     -2658.6194      -2071.6544
+  20694577.1064  -20777073.53249 -16178735.37748  20694576.7784   20694584.3334
+     -1853.5024      -1444.2864
+ 05  1 20 16  8  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25155911.9434     908830.77249    710472.61645  25155910.3044   25155919.3824
+     -1017.3194       -792.7194
+  22598502.7724  -13553953.35449 -10516830.61647  22598502.0094   22598509.7414
+      2025.1684       1578.0574
+  21174069.2704  -23252938.58349 -18103589.73348  21174068.7724   21174074.1694
+      1853.2384       1444.0884
+  24063356.6884   -3081832.49749  -2379388.84546  24063355.9534   24063363.0344
+     -2946.6674      -2296.0994
+  20704173.6404  -20062614.27849 -15610547.36948  20704173.7934   20704178.5264
+      -727.4704       -566.8594
+  21549584.1994  -19393383.48849 -15100369.38647  21549583.7104   21549590.7484
+     -2671.7884      -2081.9084
+  20705213.3634  -20721183.54449 -16135184.78448  20705212.8024   20705219.7174
+     -1872.5034      -1459.0914
+ 05  1 20 16  8 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25161754.4434     939551.77649    734410.99745  25161754.5894   25161760.3804
+     -1030.7134       -803.1514
+  22586960.1484  -13614609.97449 -10564095.51847  22586959.0964   22586966.9564
+      2018.6574       1572.9824
+  21163508.8024  -23308431.78049 -18146831.19548  21163508.7244   21163514.1994
+      1846.3034       1438.6794
+  24080178.3464   -2993428.42849  -2310502.68646  24080177.8284   24080183.5854
+     -2946.9554      -2296.3274
+  20708379.0294  -20040513.78449 -15593326.22448  20708379.0894   20708383.9034
+      -745.9174       -581.2354
+  21564873.0734  -19313034.96349 -15037760.22047  21564873.7494   21564880.9004
+     -2684.7674      -2092.0244
+  20715956.9594  -20664724.43549 -16091190.71548  20715956.2734   20715963.5104
+     -1891.4314      -1473.8474
+ 05  1 20 16  9  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25167678.8224     970676.74049    758664.18945  25167677.9874   25167685.1074
+     -1044.0954       -813.5774
+  22575453.5924  -13675069.92849 -10611207.16847  22575452.9774   22575461.9714
+      2012.1284       1567.8894
+  21152989.3294  -23363715.63249 -18189909.52548  21152988.4884   21152994.1234
+      1839.3044       1433.2254
+  24097004.3434   -2905016.46749  -2241610.34046  24097002.3304   24097008.2164
+     -2947.1634      -2296.4814
+  20712690.3044  -20017860.89949 -15575674.65248  20712689.6304   20712694.8064
+      -764.2854       -595.5464
+  21580238.0514  -19232295.95149 -14974846.77047  21580237.2164   21580245.0394
+     -2697.7864      -2102.1674
+  20726808.6494  -20607698.08649 -16046754.64048  20726808.1174   20726815.3114
+     -1910.2994      -1488.5444
+ 05  1 20 16  9 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25173677.6064    1002203.97849    783230.81545  25173677.8304   25173685.5394
+     -1057.4984       -824.0194
+  22563986.9064  -13735333.11649 -10658165.50747  22563986.3904   22563994.7204
+      2005.5484       1562.7674
+  21142508.7574  -23418788.51949 -18232823.47148  21142508.4054   21142514.0944
+      1832.2344       1427.7194
+  24113829.4044   -2816597.90349  -2172712.84246  24113828.6654   24113834.8264
+     -2947.3914      -2296.6584
+  20717105.8584  -19994656.55749 -15557593.36948  20717105.5904   20717110.6404
+      -782.6554       -609.8604
+  21595675.4694  -19151168.95849 -14911631.01847  21595675.9534   21595683.2024
+     -2710.6794      -2112.2154
+  20737768.2124  -20550106.60249 -16001878.20348  20737767.6054   20737774.4054
+     -1929.1194      -1503.2084
+ 05  1 20 16 10  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25179755.0294    1034131.44049    808109.25045  25179752.2234   25179760.3534
+     -1070.8764       -834.4474
+  22552556.7424  -13795399.74749 -10704970.68747  22552556.7184   22552563.6654
+      1998.9934       1557.6584
+  21132069.2984  -23473648.80449 -18275571.75148  21132068.8974   21132074.6094
+      1825.1064       1422.1634
+  24130655.1644   -2728173.54549  -2103810.84446  24130653.4714   24130660.5704
+     -2947.6254      -2296.8484
+  20721625.7334  -19970901.81849 -15539083.21148  20721625.5694   20721631.3474
+      -801.0074       -624.1594
+  21611187.2284  -19069656.67049 -14848115.01847  21611187.1254   21611194.5774
+     -2723.4794      -2122.1944
+  20748835.1814  -20491951.99349 -15956562.95548  20748834.1074   20748840.6964
+     -1947.8594      -1517.8124
+ 05  1 20 16 10 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25185907.8194    1066456.99349    833297.95045  25185905.3914   25185912.2374
+     -1084.1344       -844.7864
+  22541164.8614  -13855269.84249 -10751622.68847  22541163.6794   22541170.5904
+      1992.4194       1552.5334
+  21121671.2644  -23528294.89249 -18318153.12548  21121670.0774   21121675.6944
+      1817.9364       1416.5724
+  24147482.9934   -2639744.28649  -2034905.04846  24147482.4714   24147489.8894
+     -2947.7084      -2296.8974
+  20726250.6214  -19946597.67349 -15520144.93648  20726250.3714   20726255.9844
+      -819.2934       -638.4104
+  21626770.8454  -18987761.27749 -14784300.50347  21626771.1894   21626778.6424
+     -2736.2344      -2132.1354
+  20760007.3284  -20433236.16949 -15910810.41648  20760006.9544   20760014.4084
+     -1966.5314      -1532.3594
+ 05  1 20 16 11  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25192131.8464    1099179.05349    858795.63245  25192132.5024   25192139.6944
+     -1097.3414       -855.0634
+  22529809.3994  -13914943.34049 -10798121.50647  22529808.3014   22529815.3404
+      1985.8874       1547.4494
+  21111312.4594  -23582725.21949 -18360566.38048  21111312.3004   21111317.6284
+      1810.7244       1410.9554
+  24164312.7264   -2551311.21049  -1965996.27846  24164311.0664   24164317.1604
+     -2947.7854      -2296.9634
+  20730979.8144  -19921745.41849 -15500779.58248  20730980.0114   20730984.5764
+      -837.5524       -652.6384
+  21642428.6834  -18905485.57649 -14720189.65347  21642428.3234   21642435.3794
+     -2748.8544      -2141.9614
+  20771286.6234  -20373961.26049 -15864622.22548  20771286.7254   20771294.0424
+     -1985.1324      -1546.8544
+ 05  1 20 16 11 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25198434.5054    1132295.47149    884600.55145  25198433.8394   25198440.5894
+     -1110.3914       -865.2384
+  22518490.8904  -13974420.23049 -10844467.14047  22518490.1074   22518496.9634
+      1979.3374       1542.3364
+  21100996.5104  -23636938.16349 -18402810.23348  21100995.9984   21101001.4334
+      1803.4514       1405.2864
+  24181141.0154   -2462875.17849  -1897085.16946  24181139.6004   24181146.7234
+     -2947.9154      -2297.0804
+  20735813.5484  -19896346.31149 -15480988.08948  20735813.2284   20735818.4164
+      -855.7394       -666.8084
+  21658157.1304  -18822831.99949 -14655784.35047  21658156.1924   21658164.3144
+     -2761.3904      -2151.7294
+  20782673.3204  -20314128.85449 -15817999.61748  20782672.8664   20782680.0374
+     -2003.6594      -1561.2894
+ 05  1 20 16 12  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25204808.2314    1165804.42658    910711.35754  25204806.1874   25204816.3794
+     -1123.3814       -875.3474
+  22507210.1244  -14033700.76949 -10890659.75347  22507208.6884   22507216.5584
+      1972.7544       1537.2044
+  21090721.8274  -23690931.98549 -18444883.34648  21090721.4534   21090726.9844
+      1796.1064       1399.5664
+  24197967.4074   -2374436.95949  -1828172.40246  24197967.7784   24197975.4584
+     -2947.9314      -2297.0814
+  20740750.7174  -19870401.60049 -15460771.45748  20740750.3694   20740755.7224
+      -873.9114       -680.9684
+  21673957.2754  -18739803.12949 -14591086.61447  21673956.3674   21673964.4424
+     -2773.8764      -2161.4574
+  20794165.1054  -20253741.30049 -15770944.42748  20794164.3954   20794171.4204
+     -2022.1524      -1575.7014
+ 05  1 20 16 12 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25211260.1924    1199703.89248    937126.55344  25211260.0094   25211267.3884
+     -1136.4314       -885.5334
+  22495964.8244  -14092784.97849 -10936699.39647  22495964.5304   22495973.4864
+      1966.2234       1532.1244
+  21080489.3154  -23744705.16549 -18486784.53448  21080488.7224   21080494.0474
+      1788.7514       1393.8284
+  24214798.4154   -2285997.48949  -1759258.64846  24214797.5014   24214805.0104
+     -2948.0054      -2297.1464
+  20745791.3364  -19843912.29749 -15440130.46848  20745791.1404   20745796.6134
+      -892.0514       -695.1054
+  21689827.5224  -18656401.55649 -14526098.46247  21689827.5334   21689835.0904
+     -2786.2574      -2171.1064
+  20805761.0924  -20192800.72549 -15723458.31148  20805760.7794   20805767.7304
+     -2040.5424      -1590.0384
+ 05  1 20 16 13  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25217783.3914    1233991.69358    963844.27254  25217782.1814
+     -1149.2794       -895.5364
+  22484759.9174  -14151672.83949 -10982586.04847  22484758.9934   22484767.3994
+      1959.6914       1527.0374
+  21070299.2744  -23798255.96249 -18528512.43248  21070298.4514   21070303.7814
+      1781.2954       1388.0224
+  24231628.9454   -2197557.87249  -1690344.81546  24231628.2914   24231635.2604
+     -2947.9524      -2297.1024
+  20750935.8614  -19816879.66049 -15419066.10448  20750935.4414   20750940.6314
+      -910.1384       -709.1964
+  21705767.9394  -18572629.77349 -14460821.82147  21705768.2774   21705776.5654
+     -2798.5604      -2180.6864
+  20817462.6304  -20131309.21549 -15675542.89948  20817462.5694   20817469.5324
+     -2058.9084      -1604.3414
+ 05  1 20 16 13 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25224379.3704    1268665.88848    990863.07854  25224384.5354   25224392.0294
+     -1162.1914       -905.5994
+  22473591.0594  -14210364.51549 -11028319.82347  22473589.9164   22473598.3454
+      1953.1614       1521.9474
+  21060150.6464  -23851582.97049 -18570065.94148  21060150.3234   21060156.0694
+      1773.8274       1382.2044
+  24248457.9724   -2109118.82349  -1621431.39346  24248457.6314   24248463.1514
+     -2947.9764      -2297.1184
+  20756182.1544  -19789305.14449 -15397579.49348  20756182.2974   20756188.0004
+      -928.1824       -723.2594
+  21721779.9924  -18488490.58149 -14395258.90747  21721779.7184   21721787.5194
+     -2810.7474      -2190.1854
+  20829268.8854  -20069268.96749 -15627199.89148  20829268.2664   20829274.8894
+     -2077.1374      -1618.5464
+ 05  1 20 16 14  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25231056.4604    1303724.72349   1018181.55645  25231058.4794   25231064.7834
+     -1175.0974       -915.6564
+  22462459.5514  -14268860.08049 -11073900.77647  22462459.1474   22462467.0544
+      1946.6014       1516.8324
+  21050045.6664  -23904684.38549 -18611443.67648  21050045.6224   21050051.0714
+      1766.2904       1376.3334
+  24265286.2574   -2020681.19249  -1552519.09746  24265286.8864   24265294.3094
+     -2947.8984      -2297.0514
+  20761533.1164  -19761189.89849 -15375671.54048  20761532.8914   20761538.1234
+      -946.1694       -737.2724
+  21737861.3654  -18403986.36849 -14329411.55447  21737860.7854   21737868.1754
+     -2822.8744      -2199.6394
+  20841178.3044  -20006682.31049 -15578431.11048  20841177.8294   20841185.5164
+     -2095.3164      -1632.7124
+ 05  1 20 16 14 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25237800.8124    1339165.88849   1045797.96244  25237800.4104   25237805.3404
+     -1187.7304       -925.4984
+  22451366.5214  -14327159.67049 -11119329.01447  22451365.7354   22451373.1884
+      1940.0864       1511.7554
+  21039984.8914  -23957558.65749 -18652644.41248  21039984.2344   21039989.6074
+      1758.6744       1370.3964
+  24282116.3814   -1932246.12949  -1483608.77346  24282115.2234   24282121.9124
+     -2947.8504      -2297.0174
+  20766985.6764  -19732535.39149 -15353343.37648  20766985.5964   20766990.5954
+      -964.1304       -751.2714
+  21754011.4344  -18319119.85149 -14263281.88847  21754010.6344   21754017.8274
+     -2834.9114      -2209.0114
+  20853191.6464  -19943551.16449 -15529238.06148  20853191.6434   20853198.8934
+     -2113.4094      -1646.8104
+ 05  1 20 16 15  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25244615.9104    1374987.55949   1073710.96145  25244614.8364   25244625.0044
+     -1200.4164       -935.3894
+  22440310.3424  -14385263.13549 -11164604.43047  22440309.2194   22440316.3594
+      1933.5824       1506.6864
+  21029966.4274  -24010204.13449 -18693666.86848  21029966.1134   21029971.4424
+      1751.0374       1364.4454
+  24298942.6194   -1843814.29449  -1414700.98645  24298941.8954   24298949.5194
+     -2947.7294      -2296.9284
+  20772540.8614  -19703342.62849 -15330595.79348  20772540.6684   20772546.1454
+      -982.0634       -765.2404
+  21770227.0044  -18233893.74249 -14196872.01647  21770227.7854   21770235.8734
+     -2846.8414      -2218.3104
+  20865308.3774  -19879877.16149 -15479621.99248  20865308.2914   20865315.8884
+     -2131.4954      -1660.9004
+ 05  1 20 16 15 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25251507.2234    1411187.44649   1101918.62745  25251507.5114   25251513.1194
+     -1212.8094       -945.0434
+  22429290.1454  -14443170.79649 -11209727.26047  22429289.1004   22429296.7924
+      1927.0054       1501.5644
+  21019992.2214  -24062619.17849 -18734509.75348  21019991.7564   21019996.9664
+      1743.3014       1358.4154
+  24315772.1204   -1755386.61549  -1345796.43246  24315771.0194   24315778.1114
+     -2947.4774      -2296.7354
+  20778198.5644  -19673613.16649 -15307430.00248  20778198.2104   20778203.5104
+      -999.9394       -779.1734
+  21786514.8654  -18148310.51549 -14130183.86847  21786514.7604   21786521.2864
+     -2858.7244      -2227.5704
+  20877528.5734  -19815663.23449 -15429585.22148  20877528.0854   20877534.9074
+     -2149.4624      -1674.9004
+ 05  1 20 16 16  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25258465.1864    1447763.57049   1130419.47945  25258465.8134   25258472.7694
+     -1225.4584       -954.9034
+  22418307.8514  -14500882.61249 -11254697.50147  22418307.5664   22418314.7734
+      1920.5214       1496.5004
+  21010061.8594  -24114801.84949 -18775171.58548  21010061.6434   21010066.7864
+      1735.5194       1352.3484
+  24332599.3094   -1666963.83649  -1276895.72146  24332597.6154   24332605.0764
+     -2947.3204      -2296.6124
+  20783957.8564  -19643348.25849 -15283846.98748  20783957.4984   20783962.7964
+     -1017.7444       -793.0494
+  21802867.7624  -18062372.84349 -14063219.53447  21802867.7594   21802875.1204
+     -2870.4684      -2236.7254
+  20889850.5984  -19750911.27049 -15379129.19548  20889849.8594   20889856.7914
+     -2167.3404      -1688.8394
+ 05  1 20 16 16 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25265496.9084    1484713.87649   1159211.85845  25265496.5254   25265504.2684
+     -1237.7974       -964.5114
+  22407363.5624  -14558398.66549 -11299515.18747  22407362.1614   22407369.5084
+      1913.9684       1491.4014
+  21000175.4384  -24166750.76449 -18815651.26248  21000175.7604   21000181.5114
+      1727.7014       1346.2594
+  24349422.5244   -1578546.84049  -1207999.48845  24349421.9244   24349430.7104
+     -2947.1434      -2296.4674
+  20789818.2014  -19612549.40649 -15259847.90148  20789818.0664   20789823.5804
+     -1035.5294       -806.9054
+  21819288.6334  -17976083.39649 -13995981.08847  21819288.0184   21819295.8044
+     -2882.1774      -2245.8564
+  20902274.4414  -19685623.36949 -15328255.55048  20902273.7754   20902280.9084
+     -2185.1714      -1702.7254
+ 05  1 20 16 17  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25272600.1864    1522036.24349   1188294.16144  25272599.1274   25272606.6614
+     -1250.2404       -974.2084
+  22396454.5294  -14615719.14549 -11344180.48447  22396453.4724   22396462.0974
+      1907.4614       1486.3304
+  20990335.9614  -24218464.18349 -18855947.43748  20990335.1264   20990341.0314
+      1719.8334       1340.1354
+  24366247.6374   -1490136.39749  -1139108.35845  24366246.9454   24366255.0294
+     -2946.8664      -2296.2564
+  20795780.4134  -19581218.04949 -15235433.88548  20795780.6544   20795785.9034
+     -1053.2434       -820.7094
+  21835776.2944  -17889444.87949 -13928470.64447  21835775.5024   21835783.1294
+     -2893.7164      -2254.8414
+  20914799.4684  -19619801.96649 -15276966.19148  20914799.2874   20914806.5194
+     -2202.9094      -1716.5474
+ 05  1 20 16 17 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25279768.6834    1559728.30648   1217664.52144  25279770.8484   25279776.6844
+     -1262.3704       -983.6684
+  22385584.4044  -14672844.01949 -11388693.36447  22385583.9234   22385591.9634
+      1900.9294       1481.2384
+  20980540.2324  -24269940.32249 -18896058.71148  20980539.7544   20980545.3414
+      1711.8914       1333.9394
+  24383068.3644   -1401733.49849  -1070223.10045  24383068.4974   24383077.5924
+     -2946.6404      -2296.0744
+  20801843.7134  -19549355.29949 -15210605.78148  20801843.5124   20801848.9854
+     -1070.9354       -834.4984
+  21852328.1824  -17802460.01149 -13860690.31147  21852327.9754   21852335.6414
+     -2905.2714      -2263.8444
+  20927426.2824  -19553449.49949 -15225263.01048  20927425.4714   20927432.7764
+     -2220.5554      -1730.3014
+ 05  1 20 16 18  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25287015.1384    1597788.27748   1247321.60944  25287015.7654   25287025.1374
+     -1274.6984       -993.2684
+  22374750.6884  -14729773.51949 -11433054.01247  22374750.0224   22374758.4024
+      1894.4784       1476.2194
+  20970790.0394  -24321177.61249 -18935983.87848  20970789.4974   20970795.1814
+      1703.9004       1327.7114
+  24399889.2784   -1313338.97749  -1001344.39045  24399890.3244   24399896.7034
+     -2946.3264      -2295.8314
+  20808008.0954  -19516962.52949 -15185364.69048  20808007.6464   20808012.8594
+     -1088.5914       -848.2464
+  21868945.2434  -17715131.27949 -13792642.03747  21868945.5864   21868953.4234
+     -2916.7034      -2272.7394
+  20940153.1764  -19486568.12549 -15173147.70448  20940152.9254   20940160.0074
+     -2238.1614      -1744.0194
+ 05  1 20 16 18 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25294327.9904    1636214.00658   1277263.68454  25294322.5784   25294332.6154
+     -1286.7864      -1002.6994
+  22363955.1824  -14786507.68449 -11477262.44547  22363954.5724   22363961.9044
+      1887.9044       1471.0904
+  20961085.8114  -24372174.43449 -18975721.66648  20961085.2904   20961090.5874
+      1695.8624       1321.4484
+  24416710.3164   -1224953.54949   -932472.74845  24416709.9494   24416716.7004
+     -2946.0464      -2295.6144
+  20814272.9394  -19484041.52949 -15159711.98448  20814272.5144   20814277.7884
+     -1106.1534       -861.9414
+  21885629.5174  -17627461.51449 -13724328.02547  21885629.0394   21885636.5674
+     -2927.9894      -2281.5474
+  20952980.7084  -19419160.06449 -15120621.98748  20952980.2414   20952987.1374
+     -2255.6864      -1757.6754
+ 05  1 20 16 19  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25301706.9944    1675003.06149   1307488.95244  25301706.9824   25301714.1044
+     -1299.0924      -1012.2804
+  22353196.5794  -14843046.65449 -11521318.75947  22353195.3334   22353202.8464
+      1881.4534       1466.0724
+  20951426.7284  -24422929.03149 -19015270.70348  20951426.6294   20951432.1834
+      1687.7584       1315.1324
+  24433528.1314   -1136578.23549   -863608.96345  24433527.0924   24433533.7444
+     -2945.7624      -2295.4014
+  20820637.7624  -19450593.62449 -15133648.69748  20820637.2634   20820642.9624
+     -1123.7304       -875.6334
+  21902377.0204  -17539453.43349 -13655750.39147  21902376.9634   21902384.3604
+     -2939.1874      -2290.2744
+  20965907.7584  -19351227.46649 -15067687.54848  20965907.6924   20965914.2664
+     -2273.1344      -1771.2754
+ 05  1 20 16 19 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25309157.8064    1714153.36549   1337995.64445  25309158.3024   25309164.7614
+     -1310.8674      -1021.4554
+  22342474.4314  -14899390.48349 -11565223.02847  22342473.8724   22342480.8044
+      1874.9034       1460.9664
+  20941815.6024  -24473439.87749 -19054629.81348  20941815.0284   20941820.4954
+      1679.6104       1308.7814
+  24450342.9814   -1048213.47049   -794753.35545  24450342.0404   24450348.7524
+     -2945.3674      -2295.0894
+  20827102.5204  -19416620.30349 -15107176.00548  20827102.2364   20827107.3504
+     -1141.2134       -889.2554
+  21919188.1724  -17451109.66949 -13586911.16147  21919187.3534   21919195.4284
+     -2950.3684      -2298.9844
+  20978934.8734  -19282773.04549 -15014346.47648  20978933.9794   20978940.8454
+     -2290.5104      -1784.8134
+ 05  1 20 16 20  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25316675.6884    1753662.77849   1368782.19345  25316675.6794   25316684.6074
+     -1323.0534      -1030.9524
+  22331789.1744  -14955539.28249 -11608975.32947  22331788.3984   22331796.0984
+      1868.4504       1455.9314
+  20932250.4114  -24523705.09049 -19093797.51048  20932250.0234   20932255.5734
+      1671.4114       1302.3994
+  24467156.3504    -959860.02349   -725906.59145  24467157.1114   24467162.1744
+     -2945.0044      -2294.8034
+  20833666.9234  -19382122.94349 -15080294.96848  20833666.8944   20833672.4154
+     -1158.6314       -902.8304
+  21936062.3404  -17362432.98649 -13517812.54247  21936062.0174   21936069.9004
+     -2961.3744      -2307.5644
+  20992059.2774  -19213798.86649 -14960600.41848  20992059.0904   20992066.3974
+     -2307.7524      -1798.2504
+ 05  1 20 16 20 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25324263.3184    1793529.26449   1399846.94345  25324262.4014   25324272.2744
+     -1334.8064      -1040.1104
+  22321141.1974  -15011493.22349 -11652575.78047  22321140.6614   22321148.7364
+      1861.9254       1450.8524
+  20922732.4684  -24573722.94849 -19132772.46748  20922731.5904   20922737.5014
+      1663.1444       1295.9584
+  24483968.0004    -871518.93149   -657069.38845  24483965.5284   24483971.9984
+     -2944.4104      -2294.3404
+  20840331.4504  -19347103.11049 -15053006.80748  20840331.1514   20840336.7524
+     -1176.0234       -916.3774
+  21952999.8734  -17273426.09549 -13448456.62447  21952999.7814   21953007.5824
+     -2972.3994      -2316.1524
+  21005283.1714  -19144307.67249 -14906451.48448  21005282.8194   21005289.9864
+     -2324.9704      -1811.6604
+ 05  1 20 16 21  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25331917.8544    1833750.28549   1431187.98445  25331919.1064   25331924.8364
+     -1346.4724      -1049.1974
+  22310530.5094  -15067252.32649 -11696024.42947  22310529.9134   22310538.0044
+      1855.4084       1445.7684
+  20913261.2284  -24623491.73649 -19171553.34448  20913261.1904   20913266.6014
+      1654.8004       1289.4544
+  24500774.9464    -783190.86749   -588242.37545  24500774.3524   24500781.0024
+     -2944.0164      -2294.0364
+  20847095.3354  -19311562.40549 -15025312.77248  20847094.9594   20847099.7884
+     -1193.3674       -929.8974
+  21969999.5014  -17184091.82649 -13378845.59647  21969998.9604   21970007.3684
+     -2983.2084      -2324.5774
+  21018605.2974  -19074301.65649 -14851901.38148  21018604.6904   21018611.9904
+     -2342.1234      -1825.0294
+ 05  1 20 16 21 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25339638.4404    1874323.97149   1462803.82045  25339636.6344   25339644.2654
+     -1358.4104      -1058.4884
+  22299957.3214  -15122816.75949 -11739321.37847  22299956.5164   22299964.5674
+      1848.9554       1440.7414
+  20903838.3074  -24673010.02949 -19210139.03348  20903838.1714   20903843.7994
+      1646.3724       1282.8834
+  24517581.8134    -694876.75449   -519426.30645  24517581.0654   24517586.5324
+     -2943.5644      -2293.6854
+  20853956.4164  -19275502.24749 -14997213.97048  20853956.4374   20853961.8744
+     -1210.6574       -943.3714
+  21987063.0534  -17094432.81749 -13308981.52447  21987061.7704   21987069.7384
+     -2994.0424      -2333.0124
+  21032023.3754  -19003783.42849 -14796952.16448  21032023.6254   21032030.7344
+     -2359.0704      -1838.2364
+ 05  1 20 16 22  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25347424.4874    1915247.55949   1494692.26644  25347424.8494   25347429.4684
+     -1369.8304      -1067.4064
+  22289421.2824  -15178186.72149 -11782466.79247  22289420.0094   22289427.6064
+      1842.4984       1435.7154
+  20894463.4564  -24722275.79049 -19248527.94848  20894463.3364   20894468.8944
+      1637.9414       1276.3184
+  24534384.1824    -606577.31149   -450621.62546  24534382.5444   24534390.6054
+     -2943.0564      -2293.2954
+  20860916.7984  -19238924.19549 -14968711.61048  20860916.8944   20860922.7134
+     -1227.8904       -956.7964
+  22004185.0134  -17004451.84149 -13238866.56047  22004184.6534   22004192.6454
+     -3004.6904      -2341.3214
+  21045540.3364  -18932755.35149 -14741605.67448  21045540.3944   21045547.4834
+     -2376.0664      -1851.4814
+ 05  1 20 16 22 30.0000000  0  7G29G 7G28G19G11G27G 8
+  25355276.5464    1956519.14948   1526851.93845  25355279.4864   25355285.9414
+     -1381.3234      -1076.3594
+  22278921.0754  -15233362.22549 -11825460.67847  22278919.9714   22278928.3864
+      1835.9764       1430.6404
+  20885136.9234  -24771287.43749 -19286718.84548  20885136.7524   20885142.3114
+      1629.4484       1269.7034
+  24551184.1994    -518293.04149   -381828.79146  24551183.1414   24551190.2614
+     -2942.5474      -2292.8954
+  20867976.1834  -19201829.91749 -14939807.01348  20867975.7274   20867981.0414
+     -1245.0734       -970.1844
+  22021367.1664  -16914151.62749 -13168502.85147  22021367.2134   22021376.0684
+     -3015.3214      -2349.5974
+  21059154.5484  -18861219.40749 -14685863.42848  21059153.1144   21059160.4754
+     -2392.9764      -1864.6534
+ 05  1 20 16 23  0.0000000  0  7G29G 7G28G19G11G27G 8
+  25363200.8754    1998136.54548   1559281.09744  25363198.3924   25363206.4254
+     -1393.0554      -1085.4964
+  22268458.0274  -15288343.40049 -11868303.13147  22268458.4504   22268466.0454
+      1829.5294       1425.6064
+  20875859.8254  -24820043.23949 -19324710.38048  20875858.5984   20875864.1974
+      1620.9144       1263.0494
+  24567980.8684    -430024.74149   -313048.39446  24567980.1754   24567987.6284
+     -2941.9834      -2292.4494
+  20875132.6764  -19164221.04149 -14910501.41248  20875132.6364   20875137.7484
+     -1262.2064       -983.5374
+  22038612.3644  -16823534.92449 -13097892.52847  22038612.0194   22038619.6344
+     -3025.8084      -2357.7694
+  21072861.9404  -18789178.44249 -14629727.65948  21072861.9574   21072869.1604
+     -2409.7774      -1877.7434
+ 05  1 20 16 23 30.0000000  0  6G 7G28G19G11G27G 8
+  22258033.5654  -15343130.41549 -11910994.31047  22258032.9904   22258040.4444
+      1823.0144       1420.5414
+  20866629.6584  -24868541.64749 -19362501.36048  20866629.7024   20866635.1434
+      1612.2824       1256.3314
+  24584775.4394    -341773.44749   -244281.21846  24584775.2014   24584782.1414
+     -2941.4154      -2292.0074
+  20882387.8594  -19126099.09849 -14880796.02448  20882387.1484   20882392.2794
+     -1279.2764       -996.8364
+  22055915.0204  -16732604.56749 -13027037.80347  22055914.9514   22055923.4204
+     -3036.1944      -2365.8524
+  21086667.6074  -18716634.95849 -14573200.32748  21086666.4654   21086674.1804
+     -2426.4364      -1890.7254
+ 05  1 20 16 24  0.0000000  0  6G 7G28G19G11G27G 8
+  22247644.9964  -15397723.40249 -11953534.28347  22247643.9044   22247651.3054
+      1816.5484       1415.4904
+  20857451.2544  -24916780.72549 -19400090.25048  20857450.1274   20857455.6544
+      1603.6334       1249.5804
+  24601564.2794    -253539.68449   -175527.72845  24601562.8854   24601571.4464
+     -2940.8264      -2291.5594
+  20889738.7784  -19087465.87349 -14850692.23948  20889738.8064   20889743.9634
+     -1296.3104      -1010.1154
+  22073277.8824  -16641363.37849 -12955940.87247  22073277.7944   22073285.9924
+     -3046.5454      -2373.9324
+  21100566.2354  -18643591.59149 -14516283.46748  21100566.1624   21100573.7804
+     -2443.0984      -1903.7134
+ 05  1 20 16 24 30.0000000  0  6G 7G28G19G11G27G 8
+  22237292.4544  -15452122.43849 -11995923.13347  22237291.6304   22237299.7054
+      1810.1224       1410.4854
+  20848320.5674  -24964758.83249 -19437475.79048  20848320.2044   20848325.7704
+      1594.9074       1242.7864
+  24618352.3244    -165324.21449   -106788.51146  24618352.0654   24618359.9824
+     -2940.2284      -2291.0894
+  20897187.7614  -19048322.49049 -14820190.92748  20897187.4554   20897192.9884
+     -1313.2864      -1023.3384
+  22090699.7764  -16549814.17249 -12884603.90947  22090699.5364   22090706.3724
+     -3056.7624      -2381.8944
+  21114560.9174  -18570050.82549 -14458979.02748  21114560.5764   21114568.2164
+     -2459.6134      -1916.5784
+ 05  1 20 16 25  0.0000000  0  6G 7G28G19G11G27G 8
+  22226977.1604  -15506327.66849 -12038160.97447  22226976.7214   22226984.8154
+      1803.6784       1405.4674
+  20839240.8684  -25012474.44049 -19474656.79048  20839240.5144   20839245.7624
+      1586.1204       1235.9394
+  24635135.1754     -77127.67349    -38064.03945  24635133.8254   24635141.1864
+     -2939.5434      -2290.5404
+  20904732.8024  -19008671.18949 -14789293.83448  20904732.6494   20904738.5134
+     -1330.1614      -1036.4804
+  22108178.4744  -16457959.50949 -12813028.94247  22108178.7684   22108186.1544
+     -3066.8944      -2389.7884
+  21128650.4154  -18496015.11449 -14401288.92048  21128649.6904   21128656.4824
+     -2476.0874      -1929.4164
+ 05  1 20 16 25 30.0000000  0  7G 7G28G19G11G27G 8G20
+  22216698.3204  -15560339.31649 -12080247.95547  22216698.2474   22216707.1364
+      1797.2264       1400.4394
+  20830211.0634  -25059925.62749 -19511631.74548  20830210.7004   20830215.9714
+      1577.2854       1229.0544
+  24651913.8844      11049.18849     30645.08445  24651913.4974   24651921.6124
+     -2938.8374      -2290.0044
+  20912374.6844  -18968513.64949 -14758002.27248  20912374.6934   20912380.1684
+     -1346.9984      -1049.6044
+  22125717.0824  -16365802.38549 -12741218.29647  22125715.8724   22125723.9894
+     -3076.9084      -2397.5894
+  21142831.6374  -18421486.96749 -14343215.09048  21142831.6144   21142838.8614
+     -2492.4154      -1942.1414
+  24448030.2574     -94729.14949    -56678.64042
+      2768.2644       2155.5044
+ 05  1 20 16 26  0.0000000  0  7G 7G28G19G11G27G 8G20
+  22206457.8634  -15614157.43949 -12122184.14847  22206457.4874   22206465.2314
+      1790.7394       1395.3814
+  20821231.8444  -25107110.58649 -19548399.24848  20821231.6364   20821237.3194
+      1568.3684       1222.1084
+  24668692.8514      99205.63049     99338.28446  24668690.2294   24668696.7224
+     -2938.1854      -2289.4874
+  20920112.3814  -18927851.15449 -14726317.23248  20920112.2174   20920117.5614
+     -1363.8454      -1062.7364
+  22143309.8134  -16273345.61849 -12669174.16647  22143309.8354   22143317.7574
+     -3086.8674      -2405.3514
+  21157106.7784  -18346469.19549 -14284759.73747  21157106.3714   21157114.3814
+     -2508.7304      -1954.8484
+  24432235.3544    -177726.17149   -121350.27344
+      2764.9174       2154.4114
+ 05  1 20 16 26 30.0000000  0  7G 7G28G19G11G27G 8G20
+  22196254.0384  -15667782.08049 -12163969.58647  22196253.3004   22196261.1744
+      1784.3064       1390.3714
+  20812304.0444  -25154027.88349 -19584958.18348  20812303.4614   20812309.3284
+      1559.4434       1215.1524
+  24685463.0374     187340.74549    168014.92745  24685462.3904   24685470.1484
+     -2937.5004      -2288.9574
+  20927945.9184  -18886685.86149 -14694240.40848  20927945.6424   20927951.0684
+     -1380.5444      -1075.7524
+  22160960.5274  -16180591.94249 -12596898.67547  22160960.0804   22160968.8284
+     -3096.6934      -2413.0034
+  21171475.6084  -18270963.70849 -14225924.33747  21171475.0904   21171482.5524
+     -2524.9214      -1967.4724
+  24416458.4734    -260622.95249   -185943.54244
+      2761.4764       2151.7574
+ 05  1 20 16 27  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22186087.3674  -15721213.61949 -12205604.54447  22186085.4044   22186093.2594
+      1777.8564       1385.3444
+  20803427.3574  -25200675.67449 -19621307.11448  20803426.7314   20803432.3734
+      1550.3924       1208.1044
+  24702229.6524     275453.90349    236674.44045  24702228.7034   24702236.0514
+     -2936.7534      -2288.3764
+  20935875.0394  -18845019.22249 -14661772.92048  20935874.8694   20935880.0494
+     -1397.2314      -1088.7514
+  22178667.1874  -16087544.19649 -12524394.03747  22178666.7334   22178673.8584
+     -3106.4714      -2420.6174
+  21185936.2734  -18194973.85449 -14166711.52147  21185935.6024   21185942.7874
+     -2541.0424      -1980.0304
+  24400703.8724    -343416.50449    -52159.57443
+      2758.0444       2149.1254
+                   -324291.42941   -118899.815 4                  24930469.211
+      3787.7774       2952.416
+ 05  1 20 16 27 30.0000000  0  7G 7G28G19G11G27G 8G20
+  22175953.7954  -15774452.03549 -12247089.00247  22175953.9644   22175962.2184
+      1771.4514       1380.3454
+  20794602.5414  -25247051.80249 -19657444.35748  20794601.8944   20794607.2324
+      1541.3294       1201.0344
+  24718993.0604     363544.72849    305316.54345  24718992.1224   24718999.9894
+     -2936.0134      -2287.7914
+  20943899.0834  -18802852.85049 -14628916.02748  20943898.8014   20943904.0294
+     -1413.8644      -1101.7124
+  22196428.8204  -15994205.30049 -12451662.52446  22196428.8374   22196436.0434
+     -3116.1554      -2428.1624
+  21200488.3674  -18118501.93349 -14107123.06747  21200487.7874   21200495.0694
+     -2557.0934      -1992.5374
+  24384972.3194    -426103.58949   -116591.41445                  24384976.8754
+      2754.4084       2146.2984
+ 05  1 20 16 28  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22165861.5784  -15827497.46549 -12288423.11247  22165860.9174   22165867.8374
+      1765.0104       1375.3394
+  20785829.4304  -25293154.89049 -19693368.83348  20785828.6914   20785833.9034
+      1532.1934       1193.9134
+  24735753.2094     451612.58149    373940.70145  24735752.3874   24735756.5394
+     -2935.1634      -2287.1444
+  20952018.4914  -18760188.40049 -14595671.02448  20952017.8774   20952022.9884
+     -1430.4384      -1114.6314
+  22214246.4104  -15900577.87249 -12378706.19247  22214245.3874   22214253.2584
+     -3125.6964      -2435.6154
+  21215132.2784  -18041550.52649 -14047160.99747  21215131.8384   21215138.8064
+     -2572.9654      -2004.9054
+  24369258.0924    -508681.16749   -180937.46445  24369256.0364   24369265.1494
+      2750.7384       2143.4314
+                    -43923.28441
+      3785.2194
+ 05  1 20 16 28 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22155803.5084  -15880350.21249 -12329607.04947  22155803.0164   22155810.6004
+      1758.6114       1370.3484
+  20777108.4244  -25338983.13949 -19729079.16448  20777107.8624   20777113.1894
+      1522.9964       1186.7534
+  24752505.3564     539656.73049    442546.43745  24752505.5064   24752511.8004
+     -2934.3924      -2286.5324
+  20960231.1744  -18717027.59749 -14562039.24648  20960230.5924   20960236.1674
+     -1446.9584      -1127.4974
+  22232116.7924  -15806664.87849 -12305527.34747  22232116.8644   22232124.2394
+     -3135.1634      -2442.9854
+  21229865.4064  -17964122.29049 -13986827.36447  21229865.1074   21229872.7814
+     -2588.8404      -2017.2724
+  24353564.9754    -591145.99649   -245195.79345  24353564.1544   24353573.3164
+      2746.9254       2140.4654
+                   -157461.38441    -83351.607 4                  24839670.154
+      3783.9254       2947.427
+ 05  1 20 16 29  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22145782.7754  -15933010.20749 -12370640.80047  22145781.8994   22145789.4564
+      1752.1444       1365.3044
+  20768439.3504  -25384534.84949 -19764574.00348  20768439.3894   20768444.9074
+      1513.7594       1179.5514
+  24769256.3944     627676.54049    511133.20045  24769255.2374   24769263.0454
+     -2933.6014      -2285.9174
+  20968537.6954  -18673372.49849 -14528022.31448  20968537.8504   20968543.1884
+     -1463.3944      -1140.3084
+  22250041.0284  -15712469.28949 -12232128.28846  22250040.7504   22250049.0804
+     -3144.5484      -2450.2894
+  21244689.8824  -17886220.02449 -13926124.34547  21244689.6674   21244697.3944
+     -2604.6124      -2029.5734
+  24337893.4334    -673494.91149   -309363.81045  24337892.8184   24337903.0474
+      2743.0264       2137.4204
+  24815177.9604    -270958.17749   -183584.54944
+      3782.5094       2947.3934
+ 05  1 20 16 29 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22135798.7184  -15985477.68249 -12411524.54647  22135798.2424   22135805.2424
+      1745.7404       1360.3234
+  20759824.8154  -25429808.31849 -19799852.03048  20759824.2324   20759829.7104
+      1504.4634       1172.3074
+  24786000.9124     715671.20249    579700.35745  24786000.6264   24786007.8514
+     -2932.7434      -2285.2504
+  20976939.3614  -18629224.98649 -14493621.67748  20976938.8864   20976944.9354
+     -1479.7954      -1153.0864
+  22268020.2664  -15617993.84849 -12158511.17346  22268020.1204   22268027.1274
+     -3153.8334      -2457.5324
+  21259604.6034  -17807846.31449 -13865053.98247  21259603.7904   21259611.2424
+     -2620.2904      -2041.7804
+  24322245.2444    -755724.97849   -373439.18945  24322245.3454   24322254.7464
+      2739.0934       2134.3564
+  24793591.8274    -384411.42549   -271989.23544
+      3780.9714       2946.1744
+ 05  1 20 16 30  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22125851.0364  -16037752.77849 -12452258.38747  22125850.1454   22125857.9234
+      1739.3484       1355.3374
+  20751262.9644  -25474801.67349 -19834911.78848  20751262.2374   20751267.9294
+      1495.0794       1164.9994
+  24802739.8364     803640.19649    648247.54245  24802739.2514   24802747.7714
+     -2931.8414      -2284.5604
+  20985434.3554  -18584586.74749 -14458838.66048  20985433.8934   20985439.3264
+     -1496.1314      -1165.8154
+  22286050.5944  -15523241.38949 -12084678.20246  22286051.1604   22286057.6014
+     -3163.0084      -2464.6814
+  21274607.4184  -17729004.28749 -13803618.70847  21274607.3614   21274614.2704
+     -2635.8314      -2053.8854
+  24306619.9344    -837833.01849   -437419.43145  24306620.1444   24306629.2874
+      2734.8554       2131.0554
+  24772008.9214    -497818.87749   -360358.35144
+      3779.4864       2945.0164
+ 05  1 20 16 30 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22115939.0264  -16089835.75149 -12492842.51247  22115938.7594   22115947.2864
+      1732.9334       1350.3404
+  20742754.4324  -25519512.81549 -19869751.63748  20742754.0914   20742759.7254
+      1485.6354       1157.6454
+  24819473.9354     891583.23249    716774.50145  24819473.2894   24819484.9334
+     -2930.8974      -2283.8124
+  20994020.7514  -18539459.16349 -14423674.33148  20994021.0754   20994026.5534
+     -1512.3824      -1178.4744
+  22304135.0384  -15428214.84349 -12010631.62847  22304133.6174   22304141.6634
+     -3172.0974      -2471.7614
+  21289699.0504  -17649696.09049 -13741820.16047  21289698.7174   21289706.2504
+     -2651.3694      -2065.9974
+  24291018.4914    -919815.64749   -501301.98445  24291019.7444   24291030.4064
+      2730.6064       2127.7454
+  24750434.8534    -611178.09749    -22764.99743
+      3777.8134       2943.7494
+ 05  1 20 16 31  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22106064.2824  -16141726.70249 -12533277.02147  22106064.1604   22106072.6644
+      1726.5444       1345.3554
+  20734300.4624  -25563940.52849 -19904370.63448  20734299.9614   20734305.1884
+      1476.1334       1150.2334
+  24836207.2334     979499.25249    785280.30245  24836206.0804   24836209.8274
+     -2930.0864      -2283.1734
+  21002701.5044  -18493844.43749 -14388130.41648  21002701.1504   21002706.5024
+     -1528.5504      -1191.0834
+  22322268.3404  -15332916.96749 -11936373.69546  22322267.6734   22322275.1854
+     -3181.0964      -2478.7654
+  21304879.8634  -17569924.56349 -13679660.60347  21304878.9664   21304886.1744
+     -2666.7424      -2077.9804
+  24275442.4284   -1001670.02449   -565084.63145  24275443.3824   24275451.6924
+      2726.2814       2124.3804
+  24728873.5594    -724486.64349   -111057.41845
+      3776.1294       2942.4404
+ 05  1 20 16 31 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22096228.3984  -16193425.81349 -12573562.04547  22096227.3024   22096234.6384
+      1720.1164       1340.3594
+  20725900.6034  -25608082.91749 -19938767.29248  20725899.8774   20725905.2494
+      1466.6324       1142.8324
+  24852931.3504    1067387.49549    853764.60545  24852930.4954   24852936.9644
+     -2929.1024      -2282.4104
+  21011473.5764  -18447744.77149 -14352208.62748  21011473.6584   21011478.9914
+     -1544.7094      -1203.6644
+  22340453.6024  -15237350.80049 -11861906.65646  22340453.9764   22340461.7944
+     -3189.9744      -2485.7014
+  21320147.4494  -17489692.51449 -13617142.18547  21320147.0004   21320153.9544
+     -2682.0194      -2089.8834
+  24259893.6304   -1083392.98149   -628764.86445  24259892.4934   24259901.1394
+      2721.8784       2120.9384
+  24707321.0544    -837742.46049   -199308.65445                  24707329.8194
+      3774.2264       2940.9414
+ 05  1 20 16 32  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22086426.0514  -16244933.22749 -12613697.67847  22086425.2774   22086432.4474
+      1713.7634       1335.3974
+  20717555.0124  -25651938.38549 -19972940.38048  20717554.4084   20717559.6594
+      1457.0374       1135.3524
+  24869650.1524    1155247.54649    922226.85345  24869648.9904   24869656.2544
+     -2928.1674      -2281.6974
+  21020338.1674  -18401161.57349 -14315910.06048  21020338.1774   21020343.1784
+     -1560.8284      -1216.2304
+  22358691.5024  -15141519.10949 -11787232.73446  22358690.0544   22358698.1884
+     -3198.8054      -2492.5664
+  21335501.6974  -17409002.75949 -13554267.11747  21335501.0194   21335508.6024
+     -2697.2274      -2101.7354
+  24244368.1904   -1164981.38049   -692340.25645  24244366.8834   24244376.2774
+      2717.3474       2117.4074
+  24685776.4754    -950943.17449   -287516.88945  24685778.6644   24685791.3124
+      3772.4254       2939.5474
+ 05  1 20 16 32 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22076660.7014  -16296249.01949 -12653684.00147  22076659.7304   22076667.3374
+      1707.4124       1330.4474
+  20709263.8784  -25695505.23049 -20006888.56948  20709264.0444   20709269.2934
+      1447.3944       1127.8414
+  24886364.3284    1243078.77049    990666.68045  24886363.0354   24886371.0044
+     -2927.2534      -2280.9764
+  21029295.3254  -18354096.90149 -14279236.31048  21029294.8024   21029299.6324
+     -1576.8264      -1228.6944
+  22376975.5414  -15045424.84749 -11712354.19846  22376975.8254   22376984.5234
+     -3207.5084      -2499.3524
+  21350943.7004  -17327857.88449 -13491037.41947  21350943.4104   21350950.7364
+     -2712.3794      -2113.5384
+  24228869.1104   -1246431.82649   -755808.10345  24228867.5694   24228875.3074
+      2712.5714       2113.6884
+  24664250.0724   -1064086.12349   -375680.13245  24664248.4164   24664259.6824
+      3770.4394       2938.0024
+ 05  1 20 16 33  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22066931.9164  -16347373.45649 -12693521.22247  22066931.2374   22066939.0684
+      1701.0174       1325.4714
+  20701028.7444  -25738781.38049 -20040610.24148  20701028.4274   20701034.3454
+      1437.6944       1120.2874
+  24903069.7134    1330880.52449   1059083.55845  24903068.8324   24903078.1224
+     -2926.2614      -2280.2044
+  21038341.8604  -18306552.49549 -14242188.74748  21038341.9274   21038347.4034
+     -1592.7934      -1241.1344
+  22395311.6004  -14949070.78149 -11637273.26146  22395312.0004   22395320.3014
+     -3216.1064      -2506.0494
+  21366471.5374  -17246260.83249 -13427455.35647  21366470.7084   21366478.0524
+     -2727.4104      -2125.2534
+  24213392.9924   -1327741.35649   -819166.09045  24213391.8524   24213403.1134
+      2707.9524       2110.0864
+  24642730.5934   -1177169.20549   -463796.73445  24642730.9404   24642740.5264
+      3768.4014       2936.4164
+ 05  1 20 16 33 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22057239.5404  -16398306.64949 -12733209.42447  22057239.1194   22057246.7924
+      1694.6604       1320.5144
+  20692849.5894  -25781765.32149 -20074104.21548  20692848.9564   20692854.5784
+      1427.9184       1112.6614
+  24919772.9114    1418652.43449   1127477.09645  24919773.0774   24919779.9174
+     -2925.1374      -2279.3194
+  21047479.7464  -18258530.31149 -14204768.88048  21047479.7134   21047485.7414
+     -1608.6774      -1253.5144
+  22413697.1594  -14852459.85249 -11561992.12746  22413697.0264   22413705.0354
+     -3224.6084      -2512.6744
+  21382083.5464  -17164214.39149 -13363523.13347  21382083.1914   21382091.0824
+     -2742.3404      -2136.8864
+  24197948.3964   -1408906.62149   -882411.71445  24197948.9824   24197958.2094
+      2703.0364       2106.2594
+  24621223.7004   -1290190.29949   -551865.05745  24621223.3224   24621232.9774
+      3766.2724       2934.7544
+ 05  1 20 16 34  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22047584.0854  -16449048.70949 -12772748.68447  22047583.1664   22047591.0754
+      1688.2514       1315.5234
+  20684725.9944  -25824455.08549 -20107368.96748  20684725.4794   20684731.0334
+      1418.0574       1104.9854
+  24936470.2784    1506393.50949   1195846.69545  24936469.1154   24936479.2774
+     -2924.1264      -2278.5384
+  21056709.0844  -18210032.41249 -14166978.33548  21056709.1074   21056714.4824
+     -1624.5264      -1265.8604
+  22432129.1454  -14755595.08749 -11486513.20946  22432129.2344   22432138.0134
+     -3233.0494      -2519.2454
+  21397782.2424  -17081720.95649 -13299242.60547  21397781.8244   21397788.6774
+     -2757.2264      -2148.4824
+  24182530.9034   -1489924.66349   -945542.59145  24182531.1444   24182542.1814
+      2698.1254       2102.4354
+  24599728.0224   -1403146.64249   -639882.90545  24599728.9944   24599737.8254
+      3764.0684       2933.0444
+ 05  1 20 16 34 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22037964.4724  -16499599.90049 -12812139.21047  22037963.4504   22037971.4364
+      1681.9434       1310.6054
+  20676658.7434  -25866849.01649 -20140403.19748  20676658.5034   20676663.8114
+      1408.1874       1097.2894
+  24953163.6744    1594103.53649   1264192.08545  24953160.6114   24953168.7314
+     -2923.1974      -2277.8094
+  21066028.0284  -18161060.42049 -14128818.36348  21066028.1054   21066033.6944
+     -1640.2844      -1278.1414
+  22450610.3954  -14658479.22949 -11410838.61846  22450609.7864   22450617.9824
+     -3241.3474      -2525.7134
+  21413564.6024  -16998783.91849 -13234616.41047  21413564.0154   21413571.5964
+     -2771.9214      -2159.9324
+  24167142.8914   -1570792.47349  -1008556.42745  24167142.9604   24167152.0384
+      2693.0364       2098.4694
+  24578248.9604   -1516036.05549   -727848.56745  24578246.9684   24578256.3224
+      3761.7804       2931.2554
+ 05  1 20 16 35  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22028381.3684  -16549960.28849 -12851381.06347  22028380.8754   22028387.8014
+      1675.5444       1305.6194
+  20668647.7944  -25908945.24749 -20173205.45148  20668647.4724   20668653.1854
+      1398.2194       1089.5204
+  24969844.5764    1681781.79349   1332512.68245  24969844.4524   24969854.7444
+     -2922.0394      -2276.9084
+  21075437.9084  -18111616.41949 -14090290.59448  21075437.2554   21075442.5494
+     -1655.9884      -1290.3824
+  22469138.1934  -14561115.17849 -11334970.65246  22469137.8194   22469146.1024
+     -3249.5664      -2532.1224
+  21429430.7714  -16915405.68249 -13169646.41847  21429430.3344   21429437.4604
+     -2786.5814      -2171.3624
+  24151784.4264   -1651506.69749  -1071450.56445  24151782.1974   24151792.6554
+      2687.8624       2094.4344
+  24556778.2664   -1628856.10749   -815760.22945  24556778.8514   24556788.1184
+      3759.4354       2929.4284
+ 05  1 20 16 35 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22018834.5994  -16600130.09549 -12890474.40447  22018833.3154   22018840.9364
+      1669.2124       1300.6814
+  20660694.2984  -25950742.10149 -20205774.43048  20660693.8894   20660699.2754
+      1388.2114       1081.7204
+  24986524.5134    1769427.84349   1400808.19745  24986524.2334   24986533.4644
+     -2920.9694      -2276.0764
+  21084936.0914  -18061702.36649 -14051396.55248  21084935.5504   21084940.6394
+     -1671.6394      -1302.5764
+  22487712.6224  -14463506.03349 -11258911.70246  22487712.3934   22487720.9184
+     -3257.7214      -2538.4864
+  21445380.4204  -16831589.62049 -13104335.26947  21445379.7214   21445387.9144
+     -2801.1224      -2182.6834
+  24136453.6784   -1732064.26949  -1134222.58645  24136452.9404   24136460.3814
+      2682.6264       2090.3524
+  24535322.3824   -1741604.38149   -903615.96945  24535322.9444   24535332.8394
+      3757.0594       2927.5714
+ 05  1 20 16 36  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  22009322.9784  -16650109.51449 -12929419.39447  22009322.2434   22009329.8404
+      1662.8584       1295.7314
+  20652797.9994  -25992237.78049 -20238108.72548  20652797.4234   20652803.1054
+      1378.1484       1073.8834
+  25003199.1734    1857041.03849   1469078.11145  25003196.9884   25003203.4294
+     -2919.9154      -2275.2514
+  21094522.8934  -18011319.92849 -14012137.52748  21094522.7704   21094528.5054
+     -1687.2104      -1314.7054
+  22506333.2274  -14365654.53149 -11182663.89946  22506332.4994   22506341.6494
+     -3265.7154      -2544.7164
+  21461412.7864  -16747338.14249 -13038684.83847  21461412.8544   21461420.1154
+     -2815.6274      -2193.9954
+  24121155.3674   -1812461.76549  -1196869.89245  24121155.5834   24121164.0584
+      2677.2244       2086.1444
+  24513878.9044   -1854278.50649   -991413.87945  24513879.9524   24513890.7024
+      3754.5034       2925.5834
+ 05  1 20 16 36 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  21999848.3564  -16699898.69749 -12968216.13447  21999848.0854   21999855.4804
+      1656.5254       1290.7954
+  20644958.9324  -26033430.78449 -20270207.17148  20644958.5964   20644964.1754
+      1368.0234       1065.9894
+  25019862.2434    1944620.88549   1537321.99745  25019862.0374   25019873.1534
+     -2918.6954      -2274.3094
+  21104199.1004  -17960471.39149 -13972515.30848  21104198.5774   21104204.7234
+     -1702.6934      -1326.7724
+  22524998.9944  -14267563.57049 -11106229.51946  22524999.0974   22525008.1164
+     -3273.6684      -2550.9014
+  21477528.0264  -16662654.26149 -12972697.47147  21477527.6444   21477535.0714
+     -2829.9794      -2205.1794
+  24105885.5974   -1892696.30849  -1259390.23645  24105884.8084   24105893.9244
+      2671.6854       2081.8284
+  24492455.1644   -1966876.27149  -1079152.32145  24492454.7854   24492464.9144
+      3751.9814       2923.6204
+ 05  1 20 16 37  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  21990410.8794  -16749497.77749 -13006864.75147  21990409.9154   21990416.8094
+      1650.1764       1285.8494
+  20637178.7334  -26074319.09349 -20302068.19148  20637178.1284   20637183.4524
+      1357.8384       1058.0584
+  25036521.5384    2032166.63349   1605539.33845  25036524.2744   25036526.4784
+     -2917.6474      -2273.4874
+  21113964.1204  -17909158.82349 -13932531.51848  21113963.2574   21113969.1414
+     -1718.1284      -1338.8004
+  22543708.6664  -14169236.17349 -11029610.90246  22543709.9504   22543718.5494
+     -3281.5114      -2557.0114
+  21493724.4474  -16577540.80649 -12906375.36647  21493724.0714   21493731.5964
+     -2844.2674      -2216.3094
+  24090652.2804   -1972764.73249  -1321781.08745  24090650.7834   24090659.4594
+      2666.1344       2077.4974
+  24471043.7354   -2079395.60249  -1166829.68045  24471042.9524   24471052.3454
+      3749.2514       2921.4864
+ 05  1 20 16 37 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  21981008.5244  -16798906.84149 -13045365.31647  21981007.9244   21981014.3174
+      1643.8524       1280.9224
+  20629456.0354  -26114900.92549 -20333690.39648  20629455.5214   20629460.8664
+      1347.6104       1050.0844
+  25053177.6884    2119678.08249   1673729.99045  25053176.2614   25053182.1454
+     -2916.4914      -2272.5864
+  21123816.6004  -17857383.90649 -13892187.44748  21123815.7694   21123821.4094
+     -1733.5224      -1350.7944
+  22562466.4764  -14070675.25849 -10952810.30446  22562465.9024   22562474.4264
+     -3289.2204      -2563.0184
+  21510002.2854  -16492000.09649 -12839720.34147  21510001.8104   21510008.9224
+     -2858.4224      -2227.3444
+  24075447.0944   -2052663.59249  -1384039.89345  24075445.7954   24075454.4364
+      2660.4184       2073.0524
+  24449645.8084   -2191833.78449  -1254443.78945  24449646.2064   24449656.9244
+      3746.5604       2919.3944
+ 05  1 20 16 38  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  21971641.6794  -16848126.29149 -13083718.10347  21971640.8984   21971648.4324
+      1637.5314       1275.9994
+  20621792.3904  -26155174.53849 -20365072.42948  20621791.7494   20621797.2044
+      1337.2934       1042.0464
+  25069821.0894    2207154.58049   1741893.42145  25069821.6484   25069829.4644
+     -2915.2514      -2271.6214
+  21133755.3544  -17805148.74649 -13851484.74348  21133755.7584   21133761.6964
+     -1748.8434      -1362.7324
+  22581265.1844  -13971883.69449 -10875830.00146  22581264.9224   22581274.1804
+     -3296.9034      -2569.0164
+  21526361.4534  -16406035.60849 -12772735.09447  21526360.5234   21526368.5194
+     -2872.5244      -2238.3274
+  24060275.6314   -2132390.19849  -1446164.42945  24060273.9314   24060282.9004
+      2654.6144       2068.5304
+  24428264.4144   -2304188.64049  -1341992.93145  24428265.2214   24428277.4674
+      3743.7224       2917.1834
+ 05  1 20 16 38 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  21962311.9384  -16897156.13549 -13121923.16547  21962310.8624   21962318.7184
+      1631.1964       1271.0584
+  20614187.1904  -26195138.37949 -20396213.08448  20614186.8574   20614192.2734
+      1326.9354       1033.9774
+  25086461.6784    2294595.53849   1810029.10445  25086461.8884   25086466.1554
+     -2914.0834      -2270.7004
+  21143783.9774  -17752455.49049 -13810425.08548  21143783.0104   21143788.5894
+     -1764.0704      -1374.5984
+  22600107.5954  -13872864.47749 -10798672.31146  22600108.2284   22600116.4014
+     -3304.4134      -2574.8594
+  21542798.5614  -16319650.62449 -12705422.18447  21542798.7164   21542806.7294
+     -2886.4664      -2249.1904
+  24045135.5294   -2211941.21449  -1508152.17245  24045135.6924   24045144.7284
+      2648.7714       2063.9604
+  24406899.7644   -2416457.74949  -1429475.24745  24406901.4444   24406912.7194
+      3740.8164       2914.9204
+ 05  1 20 16 39  0.0000000  0  9G 7G28G19G11G27G 8G20G26G24
+  21953017.2024  -16945996.59649 -13159980.65647  21953016.8714   21953024.6864
+      1624.9244       1266.1784
+  20606641.8244  -26234790.42249 -20427110.78548  20606641.0694   20606646.7134
+      1316.5234       1025.8614
+  25103095.5564    2382000.65749   1878136.90445  25103094.1294   25103103.4004
+     -2912.8294      -2269.7334
+  21153896.6434  -17699305.97849 -13769009.89348  21153897.3874   21153902.5704
+     -1779.2374      -1386.4154
+  22618995.2034  -13773620.55049 -10721339.51246  22618994.2684   22619002.3964
+     -3311.8524      -2580.6684
+  21559318.3584  -16232847.55749 -12637783.50647  21559317.7754   21559324.9694
+     -2900.3784      -2260.0304
+  24030031.4494   -2291313.51949  -1570000.67345  24030031.6354   24030039.7674
+      2642.7634       2059.2934
+                    167041.10041
+     -1777.1344
+  24385552.4804   -2528638.87149  -1516889.05745  24385552.9844   24385564.1854
+      3737.8414       2912.6024
+ 05  1 20 16 39 30.0000000  0  9G 7G28G19G11G27G 8G20G26G24
+  21943759.2774  -16994647.83549 -13197890.69647  21943758.4944   21943766.4694
+      1618.6024       1261.2504
+  20599155.6774  -26274128.96049 -20457764.18848  20599155.1924   20599160.9274
+      1306.0374       1017.6954
+  25119717.0284    2469369.32248   1946216.26345  25119717.5164   25119729.3084
+     -2911.4644      -2268.6764
+  21164098.1344  -17645702.25749 -13727240.77548  21164097.5404   21164103.1154
+     -1794.3394      -1398.1804
+  22637922.1644  -13674154.80349 -10643833.86146  22637922.0684   22637930.6274
+     -3319.2424      -2586.4284
+  21575915.4124  -16145629.30549 -12569821.29947  21575914.3794   21575921.9714
+     -2914.1634      -2270.7764
+  24014963.6204   -2370503.78749  -1631707.29145  24014961.9554   24014971.9134
+      2636.5444       2054.4564
+                     24877.34741      7340.321 3                  25453716.665
+     -1788.8344      -1392.417
+  24364221.9914   -2640729.45449  -1604232.26045  24364223.0704   24364234.5914
+      3734.8544       2910.2694
+ 05  1 20 16 40  0.0000000  0  9G 7G28G19G11G27G 8G20G26G24
+  21934537.3924  -17043110.10149 -13235653.49247  21934536.5634   21934544.0214
+      1612.3294       1256.3594
+  20591729.4794  -26313152.25249 -20488171.94348  20591729.2564   20591734.9494
+      1295.5154       1009.4904
+  25136339.9074    2556701.07249   2014266.81445  25136339.3284   25136345.6384
+     -2910.4534      -2267.8804
+  21174384.1554  -17591646.55249 -13685119.45048  21174383.9564   21174389.6334
+     -1809.3954      -1409.9164
+  22656889.8994  -13574470.23149 -10566157.72146  22656890.3164   22656900.3594
+     -3326.4374      -2592.0154
+  21592590.1844  -16057999.14449 -12501538.13247  21592589.5944   21592597.3704
+     -2927.8354      -2281.4314
+  23999928.4524   -2449508.97449  -1693269.70345  23999928.6674   23999938.6084
+      2630.4184       2049.6754
+                     78717.80441     29667.197 3                  25459123.453
+     -1800.5244      -1397.537
+  24342910.6344   -2752727.18749  -1691503.11345  24342911.2144   24342922.8454
+      3731.6714       2907.7934
+ 05  1 20 16 40 30.0000000  0  9G 7G28G19G11G27G 8G20G26G24
+  21925351.7034  -17091383.42649 -13273269.05147  21925351.1804   21925357.9204
+      1606.0024       1251.4244
+  20584364.4934  -26351858.55949 -20518332.69648  20584364.0864   20584369.4524
+      1284.9024       1001.2184
+  25152952.2614    2643995.11149   2082288.10445  25152950.8054   25152956.5304
+     -2909.0834      -2266.8214
+  21184755.3224  -17537140.77649 -13642647.43047  21184755.6124   21184761.6054
+     -1824.3394      -1421.5624
+  22675901.8064  -13474569.57549 -10488313.19846  22675901.5284   22675910.2764
+     -3333.5894      -2597.6044
+  21609343.6674  -15969959.84749 -12432936.14847  21609343.0654   21609351.3474
+     -2941.4264      -2292.0174
+  23984931.1004   -2528325.78249  -1754685.34145  23984929.6894   23984938.9794
+      2624.0484       2044.7224
+                    132905.99941     29667.197 3                  25459123.453
+     -1811.9944      -1397.537
+  24321616.9694   -2864629.99949  -1778699.98545  24321616.3884   24321627.9894
+      3728.4884       2905.3124
+ 05  1 20 16 41  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  21916201.8734  -17139468.06149 -13310737.58247  21916200.8934   21916207.6674
+      1599.7024       1246.5284
+  20577059.6674  -26390245.86649 -20548244.87948  20577059.2374   20577064.3094
+      1274.2414        992.9144
+  25169555.3594    2731251.26149   2150279.85945  25169553.5444   25169563.8494
+     -2907.8984      -2265.8894
+  21195213.5174  -17482186.97749 -13599826.29647  21195213.3144   21195219.1944
+     -1839.2584      -1433.1874
+  22694954.4804  -13374456.03249 -10410302.77146  22694953.3124   22694961.8284
+     -3340.6864      -2603.1344
+  21626174.2894  -15881514.40549 -12364017.69447  21626173.6994   21626181.8324
+     -2954.9004      -2302.5144
+  23969967.8074   -2606951.41949  -1815952.04445  23969967.4394   23969974.6324
+      2617.6364       2039.7124
+  24300340.2364   -2976435.13849  -1865820.76445  24300340.2074   24300351.7564
+      3725.1874       2902.7374
+ 05  1 20 16 41 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  21907086.2624  -17187364.19849 -13348059.23247  21907085.9694   21907093.2974
+      1593.4524       1241.6524
+  20569815.7534  -26428312.89449 -20577907.49848  20569815.3314   20569820.7414
+      1263.5414        984.5784
+  25186153.6984    2818469.08449   2218241.67045  25186152.8264   25186160.7384
+     -2906.6564      -2264.9134
+  21205756.4194  -17426787.24249 -13556657.68047  21205756.2154   21205761.6344
+     -1854.0694      -1444.7334
+  22714045.8294  -13274132.43049 -10332128.68446  22714044.4644   22714051.5294
+     -3347.5994      -2608.5144
+  21643081.5324  -15792666.01949 -12294785.26147  21643081.0954   21643089.0604
+     -2968.2944      -2312.9574
+  23955042.9774   -2685382.38649  -1877067.04945  23955042.3804   23955049.8014
+      2611.1194       2034.6374
+  24279082.9204   -3088140.38749  -1952863.68045  24279083.0564   24279095.9474
+      3721.8144       2900.1104
+ 05  1 20 16 42  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  21898007.8334  -17235071.98349 -13385234.11947  21898007.4124   21898014.9174
+      1587.1824       1236.7634
+  20562632.8654  -26466057.55849 -20607318.92548  20562632.7014   20562637.9824
+      1252.7684        976.1844
+  25202741.0914    2905647.94849   2286173.18744  25202740.5494   25202747.1904
+     -2905.2714      -2263.8464
+  21216382.3564  -17370943.79849 -13513143.31547  21216382.2644   21216388.4044
+     -1868.8154      -1456.2214
+  22733175.8294  -13173601.74549 -10253793.21146  22733173.8774   22733183.4574
+     -3354.4304      -2613.8324
+  21660065.4044  -15703416.92049 -12225240.58547  21660064.6114   21660072.9364
+     -2981.5954      -2323.3164
+  23940154.7474   -2763615.70749  -1938028.01645  23940154.2214   23940164.6964
+      2604.4184       2029.4134
+  24257845.5304   -3199743.71449  -2039827.21445  24257845.4254   24257857.6484
+      3718.3894       2897.4434
+ 05  1 20 16 42 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  21888965.6514  -17282591.61449 -13422262.38547  21888964.8634   21888971.6814
+      1580.9354       1231.8964
+  20555511.9004  -26503478.12349 -20636477.81148  20555511.5784   20555517.3524
+      1241.9384        967.7454
+  25219323.9374    2992787.36058   2354073.97554  25219318.7504   25219332.7604
+     -2903.8194      -2262.7274
+  21227092.9704  -17314658.49849 -13469284.65047  21227092.9084   21227098.5314
+     -1883.5164      -1467.6714
+  22752342.2794  -13072866.91649 -10175298.70146  22752343.2384   22752351.6014
+     -3361.1484      -2619.0724
+  21677123.9004  -15613770.98649 -12155386.69847  21677124.0584   21677131.2854
+     -2994.7674      -2333.5824
+  23925306.7614   -2841648.07349  -1998832.41545  23925307.6084   23925314.5974
+      2597.6764       2024.1624
+  24236628.2284   -3311242.56949  -2126709.32345  24236629.0584   24236641.4604
+      3714.8774       2894.7074
+ 05  1 20 16 43  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  21879959.2324  -17329923.23649 -13459144.15547  21879958.5074   21879965.2574
+      1574.6454       1226.9884
+  20548453.2064  -26540572.91549 -20665382.84248  20548452.7804   20548458.3254
+      1231.0504        959.2534
+  25235899.8334    3079886.98648   2421943.78244  25235899.0934   25235903.3654
+     -2902.6774      -2261.8354
+  21237887.4144  -17257933.55349 -13425083.40847  21237887.4424   21237892.8834
+     -1898.1454      -1479.0764
+  22771551.8774  -12971930.93049 -10096647.42746  22771551.0434   22771559.5564
+     -3367.8654      -2624.3154
+  21694258.6064  -15523730.80849 -12085225.58847  21694257.6744   21694265.8324
+     -3007.8774      -2343.8084
+  23910497.4184   -2919476.48249  -2059477.89445  23910495.0894   23910504.5344
+      2590.8644       2018.8514
+  24215431.1244   -3422634.43049  -2213508.04545  24215430.2714   24215443.6314
+      3711.2674       2891.8914
+ 05  1 20 16 43 30.0000000  0  8G 7G28G19G11G27G 8G20G24
+  21870987.8014  -17377067.09349 -13495879.61547  21870987.2224   21870994.0374
+      1568.3944       1222.1124
+  20541456.2944  -26577340.05449 -20694032.55748  20541455.9644   20541461.5374
+      1220.0874        950.7114
+  25252462.2824    3166946.41958   2489782.26654  25252460.3164   25252474.3124
+     -2901.3354      -2260.7814
+  21248766.1354  -17200771.01349 -13380541.18147  21248765.3884   21248770.7984
+     -1912.6934      -1490.4154
+  22790796.6484  -12870796.66149 -10017841.66746  22790796.4174   22790805.3464
+     -3374.4134      -2629.4214
+  21711467.4774  -15433299.49949 -12014759.71647  21711466.1424   21711474.6774
+     -3020.8624      -2353.9204
+  23895727.9364   -2997097.66349  -2119961.90145  23895726.2424   23895735.3934
+      2583.8844       2013.4154
+  24194255.6464   -3533916.90949  -2300221.55945  24194254.8404   24194266.0864
+      3707.6014       2889.0314
+ 05  1 20 16 44  0.0000000  0  8G 7G28G19G11G27G 8G20G24
+  21862052.6064  -17424023.30249 -13532468.85147  21862051.4554   21862058.7714
+      1562.1624       1217.2704
+  20534523.1034  -26613777.93449 -20722425.71548  20534522.4034   20534527.5984
+      1209.0944        942.1524
+  25269026.2714    3253964.91148   2557588.81645  25269025.7814   25269031.5944
+     -2899.8674      -2259.6324
+  21259725.5364  -17143173.02649 -13335659.64047  21259725.4364   21259731.2044
+     -1927.1674      -1501.6914
+  22810079.1894  -12769467.07449  -9938883.68846  22810078.4144   22810087.1494
+     -3380.8714      -2634.4544
+  21728749.0964  -15342479.79949 -11943991.21047  21728749.2034   21728756.3874
+     -3033.7754      -2363.9734
+  23880993.9424   -3074508.56849  -2180282.02845  23880994.7824   23881001.1934
+      2576.8214       2007.9314
+  24173099.1484   -3645087.84949  -2386848.13645  24173099.4964   24173110.7824
+      3703.8584       2886.1204
+ 05  1 20 16 44 30.0000000  0  7G 7G28G11G27G 8G20G24
+  21853152.5224  -17470792.03149 -13568912.00847  21853151.8574   21853158.8334
+      1555.8924       1212.3874
+  20527652.0494  -26649884.78949 -20750560.91548  20527651.4814   20527656.7534
+      1198.0224        933.5304
+  21270769.6564  -17085141.80149 -13290440.51847  21270768.6954   21270774.5344
+     -1941.5954      -1512.9294
+  22829397.4484  -12667945.16449  -9859775.87246  22829397.4464   22829406.6024
+     -3387.2284      -2639.3874
+  21746104.8304  -15251274.76449 -11872922.41347  21746105.0574   21746112.9834
+     -3046.5164      -2373.8954
+  23866303.3954   -3151705.88849  -2240435.74745  23866303.9424   23866313.0264
+      2569.6364       2002.3024
+  24151963.6034   -3756145.02549  -2473386.10345  24151964.4594   24151976.9064
+      3699.9634       2883.0854
+ 05  1 20 16 45  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21844287.8044  -17517373.60149 -13605209.31347  21844287.0524   21844295.0574
+      1549.6584       1207.5264
+  20520844.3214  -26685658.72749 -20778436.71248  20520844.0254   20520849.1634
+      1186.9044        924.8604
+  24931760.7044    -289939.38349   -208048.30445                  24931772.7704
+      3909.5304       3046.3904
+  21281894.2954  -17026679.41649 -13244885.42647  21281893.5864   21281899.2494
+     -1955.9214      -1524.0934
+  22848754.0824  -12566233.94949  -9780520.53746  22848753.2404   22848761.7774
+     -3393.4514      -2644.2434
+  21763533.7004  -15159687.38849 -11801555.70747  21763532.8054   21763541.7844
+     -3059.2394      -2383.8204
+  23851655.2434   -3228686.50549  -2300420.61746  23851655.6124   23851665.0964
+      2562.4024       1996.6824
+  24130852.6714   -3867085.97049  -2559833.49645  24130853.7954   24130866.2664
+      3696.1004       2880.0714
+ 05  1 20 16 45 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21835458.8014  -17563767.99649 -13641360.77247  21835458.3804   21835466.4124
+      1543.3994       1202.6494
+  20514100.7104  -26721098.00849 -20806051.73348  20514100.1494   20514105.1854
+      1175.7024        916.1364
+  24909446.5554    -407205.48249   -299424.39745  24909445.2524   24909454.4424
+      3908.2394       3045.3824
+  21293100.1824  -16967787.97449 -13198996.00747  21293100.3584   21293106.3274
+     -1970.1824      -1535.2054
+  22868145.9384  -12464336.39249  -9701120.00446  22868144.6694   22868152.4104
+     -3399.6464      -2649.0714
+  21781033.7484  -15067721.06449 -11729893.73047  21781033.3394   21781042.1484
+     -3071.8364      -2393.6354
+  23837049.3494   -3305447.51549  -2360234.38245  23837046.7294   23837055.9484
+      2555.0214       1990.9194
+  24109766.0574   -3977908.30949  -2646188.47745  24109765.9124   24109776.7774
+      3692.0864       2876.9464
+ 05  1 20 16 46  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21826666.2714  -17609975.44349 -13677366.56447  21826665.6634   21826673.3004
+      1537.1714       1197.7924
+  20507420.6844  -26756201.00949 -20833404.71948  20507420.2794   20507425.5054
+      1164.4724        907.3804
+  24887136.8964    -524435.13949   -390772.06845  24887136.9254   24887146.8294
+      3907.1204       3044.5024
+  21304387.7384  -16908469.80649 -13152774.07447  21304388.1494   21304394.2074
+     -1984.3734      -1546.2664
+  22887569.6184  -12362255.44449  -9621576.56446  22887569.5324   22887579.0934
+     -3405.7774      -2653.8414
+  21798607.3614  -14975378.80949 -11657938.79647  21798606.1714   21798614.7944
+     -3084.3284      -2403.3734
+  23822483.5504   -3381985.63849  -2419874.43845  23822482.6314   23822490.3104
+      2547.4674       1985.0314
+  24088700.1684   -4088609.60349  -2732449.12845  24088699.2424   24088710.1674
+      3687.9624       2873.7294
+ 05  1 20 16 46 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21817909.0724  -17655996.16449 -13713226.85447  21817908.4184   21817915.7904
+      1530.9654       1192.9594
+  20500805.4884  -26790966.05849 -20860494.36748  20500804.7984   20500810.1634
+      1153.1844        898.5844
+  24864833.5264    -641625.77149   -482089.32845  24864834.7314   24864845.2194
+      3905.7774       3043.4544
+  21315757.7474  -16848726.87149 -13106221.15347  21315757.4604   21315762.6664
+     -1998.4974      -1557.2634
+  22907028.9454  -12259993.85449  -9541892.33346  22907029.3484   22907037.8014
+     -3411.7594      -2658.5164
+  21816249.5434  -14882663.87149 -11585693.47247  21816249.5734   21816257.2924
+     -3096.7014      -2413.0194
+  23807961.2154   -3458297.57049  -2479338.25446  23807961.1254   23807970.2324
+      2539.9094       1979.1524
+  24067658.3864   -4199187.91349  -2818613.96445  24067657.9504   24067666.9804
+      3683.8244       2870.5104
+ 05  1 20 16 47  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21809186.9244  -17701830.30749 -13748941.74947  21809186.5274   21809193.7434
+      1524.7444       1188.1074
+  20494253.5244  -26825391.20649 -20887319.14448  20494253.5984   20494259.2034
+      1141.8064        889.7154
+  24842543.8344    -758775.31949   -573374.57845  24842543.5894   24842553.3374
+      3904.2904       3042.2974
+  21327205.5194  -16788561.42949 -13059339.00547  21327205.8174   21327211.7604
+     -2012.5814      -1568.2454
+  22926522.5014  -12157554.75949  -9462069.82046  22926522.5164   22926531.2144
+     -3417.6214      -2663.0794
+  21833963.5764  -14789578.77949 -11513159.71247  21833963.1364   21833970.9434
+     -3108.9704      -2422.5774
+  23793484.6614   -3534380.28749  -2538623.44445  23793484.3224   23793492.8394
+      2532.2164       1973.1644
+  24046638.5154   -4309640.85849  -2904681.12145  24046638.8344   24046648.0544
+      3679.6354       2867.2444
+ 05  1 20 16 47 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21800500.8014  -17747478.07449 -13784511.42147  21800499.8784   21800507.6244
+      1518.5264       1183.2684
+  20487767.9314  -26859474.71749 -20913877.72448  20487767.8394   20487773.2314
+      1130.4124        880.8404
+  24820257.9444    -875881.42749   -664626.01745  24820257.7634   24820267.5984
+      3902.8074       3041.1404
+  21338735.9644  -16727975.52749 -13012129.22447  21338734.9944   21338741.0744
+     -2026.5174      -1579.1064
+  22946050.8614  -12054941.13649  -9382111.34146  22946050.8044   22946058.6874
+     -3423.3254      -2667.5184
+  21851747.0134  -14696126.40849 -11440339.77747  21851746.5874   21851754.3154
+     -3121.1514      -2432.0664
+  23779050.4374   -3610230.75549  -2597727.67445  23779049.8884   23779058.3184
+      2524.4474       1967.1014
+  24025646.1614   -4419965.86549  -2990648.59245  24025644.9054   24025652.9224
+      3675.3494       2863.9054
+ 05  1 20 16 48  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21791848.7854  -17792939.58749 -13819935.96647  21791848.6254   21791856.6244
+      1512.3254       1178.4364
+  20481347.8994  -26893214.87749 -20940168.75248  20481347.1914   20481352.5724
+      1118.9104        871.8824
+  24797983.8994    -992941.78449   -755841.78745  24797982.0264   24797991.5314
+      3901.2924       3039.9624
+  21350344.0904  -16666971.55049 -12964593.68347  21350344.0374   21350349.4734
+     -2040.4234      -1589.9454
+  22965610.1724  -11952155.96249  -9302019.11546  22965609.7014   22965618.2064
+     -3429.0264      -2671.9704
+  21869599.5784  -14602310.53849 -11367236.57347  21869599.1654   21869607.1334
+     -3133.2264      -2441.4664
+  23764659.9554   -3685845.84849  -2656648.46145  23764659.3774   23764668.8494
+      2516.5704       1960.9734
+  24004676.0034   -4530160.68249  -3076514.61645  24004675.6724   24004684.1754
+      3670.9444       2860.4754
+ 05  1 20 16 48 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21783234.2294  -17838215.12049 -13855215.58447  21783233.1784   21783241.1514
+      1506.1074       1173.5854
+  20474992.9594  -26926610.05349 -20966190.96448  20474992.4994   20474997.6084
+      1107.3914        862.9024
+  24775715.3804   -1109954.31749   -847020.22445  24775715.0274   24775727.0074
+      3899.4514       3038.5324
+  21362031.9454  -16605551.48849 -12916733.92347  21362031.7204   21362037.6194
+     -2054.2364      -1600.7074
+  22985200.5804  -11849202.10449  -9221795.47546  22985200.3504   22985209.3894
+     -3434.6024      -2676.2984
+  21887520.7694  -14508134.15549 -11293852.46347  21887520.3724   21887529.0394
+     -3145.1934      -2450.7984
+  23750317.9634   -3761222.18449  -2715383.22745  23750316.2084   23750325.6154
+      2508.4904       1954.6664
+  23983730.7704   -4640223.07249  -3162277.44945  23983731.5204   23983741.1954
+      3666.5504       2857.0494
+ 05  1 20 16 49  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21774653.4714  -17883304.71649 -13890350.32247  21774652.8564   21774660.1714
+      1499.9514       1168.7874
+  20468703.8564  -26959658.38249 -20991942.90248  20468703.5034   20468708.6894
+      1095.8034        853.8704
+  24753459.6804   -1226916.62849   -938159.58745  24753458.3264   24753467.6364
+      3898.0114       3037.4104
+  21373798.7944  -16543717.72249 -12868551.79047  21373798.3624   21373803.9174
+     -2068.0094      -1611.4354
+  23004823.4534  -11746082.74049  -9141442.87046  23004824.3374   23004832.7584
+     -3440.0184      -2680.5254
+  21905509.2424  -14413600.43349 -11220189.91747  21905509.3744   21905517.5104
+     -3157.0384      -2460.0374
+  23736018.3584   -3836356.75849  -2773929.62146  23736018.5184   23736027.6784
+      2500.4364       1948.3954
+  23962813.3834   -4750150.57249  -3247935.18845  23962812.9314   23962823.6334
+      3661.9544       2853.4594
+ 05  1 20 16 49 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21766108.5474  -17928208.68249 -13925340.40247  21766107.8804   21766115.3104
+      1493.7534       1163.9684
+  20462481.0994  -26992358.03949 -21017423.15648  20462480.9894   20462486.3444
+      1084.1524        844.7974
+  24731210.2954   -1343826.51049  -1029258.08745  24731210.6684   24731221.4304
+      3896.1604       3035.9684
+  21385643.8944  -16481472.34649 -12820048.91947  21385643.2964   21385648.9114
+     -2081.6884      -1622.0954
+  23024477.4154  -11642800.64749  -9060963.49546  23024477.4064   23024487.1804
+     -3445.4534      -2684.7694
+  21923567.4084  -14318711.91749 -11146250.89747  21923566.3194   21923574.1304
+     -3168.8314      -2469.2164
+  23721767.9574   -3911246.44749  -2832285.22446  23721768.3164   23721776.4794
+      2492.1734       1941.9494
+  23941919.4994   -4859940.92249  -3333486.06545  23941920.9514   23941931.0474
+      3657.4064       2849.9264
+ 05  1 20 16 50  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21757598.7664  -17972927.18349 -13960185.96247  21757598.0514   21757605.3644
+      1487.5844       1159.1564
+  20456325.9274  -27024707.40349 -21042630.44748  20456325.1124   20456330.4624
+      1072.4534        835.6744
+  24708972.1874   -1460681.64549  -1120313.91245  24708971.2164   24708984.0834
+      3894.2634       3034.4904
+  21397566.4374  -16418817.63849 -12771227.09547  21397565.9114   21397571.8854
+     -2095.2974      -1632.7004
+  23044164.9074  -11539358.80849  -8980359.61946  23044162.9784   23044172.1004
+     -3450.7294      -2688.8714
+  21941691.4404  -14223471.99549 -11072038.05347  21941690.2534   21941698.3124
+     -3180.5014      -2478.3084
+  23707563.5414   -3985888.25149  -2890447.62846  23707563.3884   23707572.5594
+      2483.8924       1935.5064
+  23921051.6174   -4969591.80649  -3418928.26345  23921053.2494   23921064.8604
+      3652.6664       2846.2294
+ 05  1 20 16 50 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21749124.7124  -18017460.33849 -13994887.10447  21749124.1444   21749131.1964
+      1481.4214       1154.3494
+  20450236.5404  -27056704.87249 -21067563.53448  20450235.9154   20450241.6764
+      1060.6894        826.5144
+  24686746.2014   -1577479.80449  -1211325.37445  24686746.9564   24686758.2184
+      3892.3614       3033.0064
+  21409565.9644  -16355755.88049 -12722088.08447  21409566.1964   21409572.4234
+     -2108.8204      -1643.2344
+  23063878.9214  -11435760.13549  -8899633.54346  23063877.6244   23063885.0834
+     -3455.8564      -2692.8754
+  21959879.7254  -14127883.64949 -10997553.71747  21959879.7774   21959888.0384
+     -3192.0444      -2487.2984
+  23693408.7594   -4060278.78149  -2948414.23646  23693407.9804   23693417.0964
+      2475.4694       1928.9384
+  23900214.5084   -5079100.98749  -3504260.03345  23900215.7244   23900226.3194
+      3647.9314       2842.5414
+ 05  1 20 16 51  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21740684.7784  -18061808.33149 -14029443.95347  21740684.6174   21740692.1454
+      1475.2424       1149.5394
+  20444214.4884  -27088348.70649 -21092221.06948  20444214.4554   20444219.9444
+      1048.8754        817.3054
+  24664531.4514   -1694219.00349  -1302290.88445  24664530.6834   24664543.8364
+      3890.3584       3031.4374
+  21421643.6504  -16292289.17549 -12672633.54547  21421643.8364   21421649.7114
+     -2122.2984      -1653.7354
+  23083619.9454  -11332007.74749  -8818787.66546  23083619.5524   23083629.6414
+     -3460.9184      -2696.8024
+  21978135.2264  -14031950.39949 -10922800.61947  21978134.7244   21978143.8164
+     -3203.4984      -2496.2324
+  23679300.0104   -4134415.14749  -3006182.77746  23679299.5144   23679308.6744
+      2466.9564       1922.3034
+  23879405.0684   -5188465.91349  -3589479.40645  23879403.7804   23879414.6264
+      3643.0704       2838.7564
+ 05  1 20 16 51 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21732280.9964  -18105971.36749 -14063856.67947  21732280.6884   21732288.1114
+      1469.0654       1144.7264
+  20438261.0664  -27119637.17349 -21116601.68548  20438260.4044   20438265.9684
+      1037.0054        808.0534
+  24642329.4894   -1810896.56949  -1393208.30745  24642329.0944   24642338.5434
+      3888.3104       3029.8474
+  21433797.7684  -16228419.72649 -12622865.16147  21433797.8994   21433803.2214
+     -2135.6934      -1664.1784
+  23103393.4474  -11228104.59049  -8737824.30946  23103391.7914   23103401.0944
+     -3465.9574      -2700.7354
+  21996456.2674  -13935675.10949 -10847780.99447  21996455.8524   21996464.0334
+     -3214.8464      -2505.0774
+  23665242.0774   -4208294.17449  -3063750.80946  23665242.1064   23665250.4854
+      2458.3114       1915.5764
+  23858620.3874   -5297684.38349  -3674584.67345  23858620.2874   23858629.8444
+      3638.1334       2834.9024
+ 05  1 20 16 52  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21723913.0104  -18149949.53149 -14098125.35047  21723911.7514   21723919.3114
+      1462.8954       1139.9144
+  20432374.9544  -27150568.52649 -21140704.03648  20432374.3324   20432379.8534
+      1025.0704        798.7534
+  24620138.9044   -1927510.34749  -1484076.07845  24620139.0014   24620148.8054
+      3885.9614       3028.0174
+  21446028.0524  -16164149.90049 -12572784.80447  21446027.9104   21446033.8444
+     -2148.9894      -1674.5374
+  23123193.6884  -11124053.55849  -8656745.76146  23123193.3794   23123203.0894
+     -3470.8364      -2704.5454
+  22014842.4804  -13839060.88949 -10772497.27647  22014840.9024   22014849.5764
+     -3226.1184      -2513.8604
+  23651233.3384   -4281912.52449  -3121115.72646  23651232.3644   23651240.9274
+      2449.5814       1908.7644
+  23837866.5124   -5406754.32049  -3759574.17646  23837865.1454   23837876.0994
+      3633.1634       2831.0384
+ 05  1 20 16 52 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21715578.2444  -18193743.14849 -14132250.22047  21715577.8694   21715585.5444
+      1456.7404       1135.1234
+  20426557.3264  -27181140.90349 -21164526.66548  20426556.7384   20426562.1514
+      1013.0514        789.3984
+  24597960.9464   -2044058.10149  -1574892.45645  24597960.2144   24597970.4674
+      3883.8404       3026.3744
+  21458333.9114  -16099481.81449 -12522394.11947  21458333.9174   21458339.3614
+     -2162.2404      -1684.8544
+  23143021.7554  -11019857.69949  -8575554.33146  23143021.0204   23143031.0644
+     -3475.6484      -2708.2914
+  22033290.4474  -13742111.28249 -10696952.20647  22033290.5184   22033298.0274
+     -3237.1974      -2522.4884
+  23637274.5934   -4355267.47849  -3178275.42346  23637274.6524   23637281.9464
+      2440.7244       1901.8664
+  23817137.5734   -5515673.19349  -3844445.97945  23817136.8974   23817149.2124
+      3628.0514       2827.0624
+ 05  1 20 16 53  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21707281.1814  -18237352.34949 -14166231.38447  21707279.6514   21707287.1674
+      1450.6264       1130.3554
+  20420808.5574  -27211352.63849 -21188068.26848  20420807.7814   20420812.9284
+      1001.0214        780.0144
+  24575792.3244   -2160537.65149  -1665655.69245  24575794.0024   24575802.7644
+      3881.5044       3024.5534
+  21470715.3504  -16034417.74449 -12471694.85747  21470714.8534   21470721.0444
+     -2175.3774      -1695.1044
+  23162875.0484  -10915519.90449  -8494252.35746  23162875.2684   23162885.2514
+     -3480.2644      -2711.8884
+  22051802.7984  -13644829.15149 -10621148.03047  22051802.2014   22051810.7014
+     -3248.2444      -2531.0994
+  23623365.2714   -4428355.89049  -3235227.39846  23623364.8264   23623374.3024
+      2431.7434       1894.8574
+  23796440.2424   -5624438.35849  -3929197.98846  23796440.5024   23796451.9884
+      3622.9244       2823.0604
+ 05  1 20 16 53 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21699016.7674  -18280777.30349 -14200068.98347  21699016.3014   21699023.7054
+      1444.4614       1125.5504
+  20415128.1054  -27241202.07049 -21211327.56048  20415127.5384   20415132.8534
+       988.9174        770.5844
+  24553643.9514   -2276946.73349  -1756363.99645  24553643.1804   24553652.1894
+      3879.0874       3022.6584
+  21483172.1534  -15968960.00849 -12420688.86147  21483171.3444   21483177.2814
+     -2188.4834      -1705.3074
+  23182757.1484  -10811043.12349  -8412842.03046  23182756.8904   23182766.0944
+     -3484.8194      -2715.4474
+  22070377.1564  -13547217.40849 -10545087.02247  22070377.2224   22070386.0934
+     -3259.1904      -2539.6234
+  23609509.0214   -4501174.31549  -3291968.96046  23609508.6744   23609517.7184
+      2422.7074       1887.8194
+  23775773.2324   -5733048.07749  -4013828.89146  23775772.8534   23775783.2714
+      3617.6724       2818.9584
+ 05  1 20 16 54  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21690789.2154  -18324018.04549 -14233763.04247  21690788.2124   21690795.1104
+      1438.3204       1120.7624
+  20409516.6514  -27270687.53449 -21234303.24048  20409516.5164   20409521.9594
+       976.7674        761.1154
+  24531506.6434   -2393283.15449  -1847015.70245  24531506.2604   24531516.2044
+      3876.6394       3020.7624
+  21495702.3374  -15903110.77849 -12369377.79347  21495701.8674   21495707.7494
+     -2201.4904      -1715.4544
+  23202665.0224  -10706430.39949  -8331325.79246  23202664.3804   23202672.7094
+     -3489.3484      -2718.9654
+  22089014.5074  -13449279.23249 -10468771.65347  22089014.9574   22089022.7244
+     -3270.0044      -2548.0514
+  23595703.6754   -4573719.73449  -3348497.85546  23595702.7784   23595712.4054
+      2413.6104       1880.7284
+  23755132.9764   -5841499.96849  -4098336.80045  23755133.8684   23755145.1354
+      3612.3674       2814.8244
+ 05  1 20 16 54 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21682594.7144  -18367074.93249 -14267313.82947  21682594.3134   21682601.6724
+      1432.2114       1116.0044
+  20403975.6724  -27299807.28649 -21256993.95148  20403975.2094   20403980.7034
+       964.5374        751.5834
+  24509383.8704   -2509544.59649  -1937608.94545  24509381.7614   24509391.6764
+      3874.0874       3018.7664
+  21508306.1734  -15836872.41949 -12317763.50347  21508306.8774   21508312.4364
+     -2214.4334      -1725.5364
+  23222596.0244  -10601684.67349  -8249705.90446  23222596.7244   23222607.1004
+     -3493.7434      -2722.3974
+  22107714.0094  -13351017.97049 -10392204.50147  22107713.0214   22107721.9484
+     -3280.6924      -2556.3844
+  23581952.2234   -4645989.33749  -3404811.82446  23581951.9244   23581959.2504
+      2404.3174       1873.4894
+  23734528.4784   -5949791.84649  -4182720.03946  23734528.1304   23734538.7454
+      3607.0084       2810.6444
+ 05  1 20 16 55  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21674435.6274  -18409948.00149 -14300721.39047  21674435.8464   21674443.1584
+      1426.0884       1111.2294
+  20398504.1674  -27328559.64049 -21279398.37848  20398503.8744   20398509.1004
+       952.2634        742.0224
+  24487272.4194   -2625728.72749  -2028142.02245  24487271.4954   24487283.2684
+      3871.5224       3016.7664
+  21520986.1174  -15770247.00849 -12265847.62947  21520985.6324   21520990.3874
+     -2227.2714      -1735.5434
+  23242555.2954  -10496808.77549  -8167984.60646  23242554.5564   23242564.1894
+     -3497.9544      -2725.6714
+  22126472.2714  -13252436.85749 -10315388.13147  22126472.3504   22126480.9614
+     -3291.3434      -2564.6854
+  23568251.7974   -4717979.83249  -3460908.28546  23568252.2144   23568260.5294
+      2394.9704       1866.2004
+  23713951.9304   -6057921.09149  -4266976.53546  23713951.7804   23713961.8134
+      3601.6244       2806.4614
+ 05  1 20 16 55 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21666313.5754  -18452637.50549 -14333985.91447  21666312.3994   21666319.6464
+      1419.9704       1106.4664
+  20393103.1784  -27356942.69349 -21301515.03548  20393102.9024   20393108.2344
+       939.9234        732.4034
+  24465178.2764   -2741833.23349  -2118613.02645  24465177.9574   24465187.6874
+      3868.7734       3014.6294
+  21533737.0914  -15703237.10849 -12213632.14047  21533736.5564   21533742.3794
+     -2240.0734      -1745.5124
+  23262536.3424  -10391805.89149  -8086164.35246  23262536.4884   23262546.3694
+     -3502.3014      -2729.0564
+  22145291.9214  -13153538.89249 -10238324.87147  22145291.8944   22145300.3724
+     -3301.8444      -2572.8714
+  23554606.9774   -4789688.17049  -3516784.89546  23554606.5594   23554613.6874
+      2385.5644       1858.8654
+  23693407.1054   -6165885.47849  -4351104.56946  23693407.1304   23693416.5804
+      3596.0494       2802.1114
+ 05  1 20 16 56  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21658224.3014  -18495143.55549 -14367107.48047  21658223.6814   21658230.7124
+      1413.8544       1101.7044
+  20387772.9034  -27384955.00949 -21323342.80548  20387772.0474   20387777.5164
+       927.5244        722.7474
+  24443100.5934   -2857855.77149  -2209020.13845  24443099.3244   24443110.7344
+      3866.0864       3012.5334
+  21546561.5954  -15635844.90849 -12161118.75847  21546560.8104   21546566.4834
+     -2252.7704      -1755.4024
+  23282540.5924  -10286678.93449  -8004247.42046  23282540.8674   23282550.1324
+     -3506.2974      -2732.1674
+  22164170.0504  -13054327.60649 -10161017.45547  22164170.8194   22164179.6104
+     -3312.2554      -2580.9794
+  23541016.4794   -4861111.33649  -3572439.28246  23541014.4224   23541022.5564
+      2375.9904       1851.4164
+  23672894.2504   -6273682.75249  -4435102.40646  23672894.0964   23672902.7874
+      3590.3854       2797.7004
+ 05  1 20 16 56 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21650170.6734  -18537466.37949 -14400086.28347  21650170.0394   21650177.2194
+      1407.7424       1096.9414
+  20382512.7274  -27412594.84649 -21344880.33548  20382512.7004   20382517.8404
+       915.0884        713.0574
+  24421036.0884   -2973794.45649  -2299362.01045  24421036.7174   24421047.5014
+      3863.1844       3010.2704
+  21559458.6594  -15568072.57149 -12108309.16747  21559457.8664   21559463.7664
+     -2265.3934      -1765.2374
+  23302568.4094  -10181430.76849  -7922236.04946  23302568.3314   23302578.5394
+     -3510.3234      -2735.3104
+  22183109.5334  -12954805.57749 -10083467.91247  22183109.7474   22183118.6114
+     -3322.5584      -2588.9994
+  23527478.8914   -4932246.30449  -3627869.11346  23527477.2924   23527486.6574
+      2366.3284       1843.8784
+  23652411.3264   -6381310.93349  -4518968.47346  23652411.9774   23652422.8114
+      3584.7334       2793.3034
+ 05  1 20 16 57  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21642151.9384  -18579606.08649 -14432922.40347  21642151.0194   21642158.1624
+      1401.6544       1092.1944
+  20377324.4574  -27439860.58649 -21366126.35848  20377324.0354   20377329.4204
+       902.6024        703.3284
+  24398990.7364   -3089646.62349  -2389636.35445  24398991.4764   24399002.4334
+      3860.3124       3008.0304
+  21572426.9564  -15499922.61649 -12055205.33147  21572426.7434   21572432.4524
+     -2277.9374      -1775.0114
+  23322621.9464  -10076064.30549  -7840132.46446  23322619.3284   23322629.7134
+     -3514.1454      -2738.2884
+  22202108.7294  -12854976.62849 -10005679.20447  22202107.1384   22202114.5174
+     -3332.7384      -2596.9374
+  23513997.7024   -5003090.08649  -3683072.05146  23513995.9814   23514005.3064
+      2356.5574       1836.2844
+  23631964.5184   -6488767.52549  -4602700.81846  23631964.0324   23631974.0754
+      3579.0144       2788.8384
+ 05  1 20 16 57 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21634167.6084  -18621562.91549 -14465616.00847  21634166.7884   21634173.8304
+      1395.5654       1087.4514
+  20372207.2444  -27466750.58449 -21387079.59448  20372206.8894   20372212.1564
+       890.0544        693.5494
+  24376962.2704   -3205410.27849  -2479841.76945  24376963.1174   24376973.5354
+      3857.3334       3005.7124
+  21585467.2354  -15431397.07349 -12001808.81747  21585466.3124   21585471.2324
+     -2290.4244      -1784.7454
+  23342691.6134   -9970582.47449  -7757939.01946  23342691.5254   23342702.7694
+     -3517.9644      -2741.2674
+  22221163.2064  -12754843.41749  -9927653.41247  22221162.1334   22221169.9844
+     -3342.8064      -2604.7844
+  23500571.9924   -5073639.32549  -3738045.42146  23500571.2864   23500579.9014
+      2346.6614       1828.5684
+  23611548.3554   -6596050.00649  -4686297.50146  23611548.7644   23611558.7884
+      3573.1744       2784.2944
+ 05  1 20 16 58  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21626217.6454  -18663336.87649 -14498167.12947  21626217.4734   21626224.7044
+      1389.4954       1082.7214
+  20367162.5344  -27493263.11749 -21407738.70248  20367161.7664   20367167.2474
+       877.4404        683.7214
+  24354947.7964   -3321082.87449  -2569976.26245  24354950.1084   24354962.3124
+      3854.2934       3003.3444
+  21598578.0474  -15362498.31149 -11948121.47747  21598577.9014   21598583.7764
+     -2302.8304      -1794.4124
+  23362787.6414   -9864988.45549  -7675658.14846  23362787.0814   23362797.0784
+     -3521.6844      -2744.1624
+  22240275.0494  -12654409.65849  -9849393.43447  22240274.5244   22240281.7484
+     -3352.7684      -2612.5424
+  23487203.0334   -5143891.01249  -3792786.97146  23487202.4194   23487210.4624
+      2336.7344       1820.8354
+  23591166.6154   -6703156.16849  -4769756.77846  23591166.8984   23591176.7244
+      3567.2444       2779.6724
+ 05  1 20 16 58 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21618303.7654  -18704928.28849 -14530575.99447  21618302.8354   21618310.4814
+      1383.3834       1077.9604
+  20362189.4584  -27519396.36349 -21428102.26648  20362188.8194   20362194.2864
+       864.7764        673.8484
+  24332956.8704   -3436662.36249  -2660038.19345  24332956.7434   24332967.5134
+      3850.9924       3000.7724
+  21611759.5404  -15293228.69649 -11894145.17547  21611758.9974   21611764.9514
+     -2315.1604      -1804.0234
+  23382900.7894   -9759285.13749  -7593292.06745  23382900.6664   23382910.8294
+     -3525.2784      -2746.9644
+  22259442.6994  -12553678.15249  -9770901.43547  22259442.4494   22259450.4254
+     -3362.6304      -2620.2364
+  23473892.5304   -5213842.31749  -3847294.45546  23473892.6654   23473900.6434
+      2326.6874       1813.0004
+  23570819.6404   -6810083.98849  -4853077.10646  23570818.8874   23570828.6954
+      3561.2774       2775.0124
+ 05  1 20 16 59  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21610423.2404  -18746337.23449 -14562842.68247  21610422.9384   21610430.0504
+      1377.3144       1073.2344
+  20357288.5814  -27545148.94449 -21448169.20248  20357288.4314   20357293.5034
+       852.0484        663.9354
+  24310976.0254   -3552146.44749  -2750025.74945  24310978.7664   24310989.4314
+      3847.8974       2998.3584
+  21625011.7014  -15223590.54249 -11839881.69247  21625010.7214   21625016.7394
+     -2327.3824      -1813.5444
+  23403035.8224   -9653475.26549  -7510843.00845  23403034.5284   23403045.8304
+     -3528.7204      -2749.6484
+  22278666.5454  -12452652.54949  -9692180.28147  22278666.7104   22278675.4914
+     -3372.3954      -2627.8414
+  23460638.4814   -5283490.08849  -3901565.41446  23460637.9854   23460646.4554
+      2316.5664       1805.1094
+  23550506.7674   -6916831.06949  -4936256.58546  23550506.5324   23550516.3414
+      3555.2214       2770.3174
+ 05  1 20 16 59 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21602578.4964  -18787563.92549 -14594967.35847  21602577.7084   21602585.0684
+      1371.2444       1068.5014
+  20352461.5164  -27570518.83849 -21467937.94048  20352460.5964   20352465.7524
+       839.2574        653.9664
+  24289021.2554   -3667532.79149  -2839937.17045  24289022.1684   24289033.2334
+      3844.5964       2995.7844
+  21638332.8774  -15153586.10349 -11785332.78947  21638332.2714   21638338.2084
+     -2339.5704      -1823.0424
+  23423190.8204   -9547561.97249  -7428313.35346  23423189.7434   23423201.9284
+     -3532.1534      -2752.3184
+  22297948.1284  -12351335.41949  -9613231.95547  22297947.2564   22297954.8564
+     -3382.0544      -2635.3674
+  23447444.0764   -5352831.21249  -3955597.36246  23447443.7524   23447451.7584
+      2306.2014       1797.0424
+  23530226.4504   -7023395.27049  -5019293.55746  23530226.5104   23530237.7864
+      3549.0644       2765.4934
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 17  0  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21594768.0784  -18828608.49549 -14626950.11748  21594767.3144   21594774.6854
+      1365.1754       1063.7754
+  20347705.5924  -27595504.60649 -21487407.36048  20347705.8834   20347711.0904
+       826.4544        643.9934
+  24267085.2264   -3782819.21649  -2929770.69145  24267084.3934   24267094.6614
+      3841.2024       2993.1424
+  21651723.1044  -15083217.90349 -11730500.45047  21651722.9914   21651728.2964
+     -2351.6374      -1832.4404
+  23443365.5174   -9441548.26849  -7345705.45646  23443364.6734   23443375.7714
+     -3535.3844      -2754.8374
+  22317281.6664  -12249730.66549  -9534059.52247  22317282.0514   22317289.8904
+     -3391.5774      -2642.7794
+  23434307.9294   -5421862.86549  -4009388.26446  23434307.5514   23434314.3474
+      2295.8904       1789.0234
+  23509982.8904   -7129774.23449  -5102186.20446  23509984.0584   23509994.1534
+      3542.8594       2760.6684
+ 05  1 20 17  0 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21586991.5954  -18869471.12049 -14658791.09948  21586991.0684   21586998.7004
+      1359.0624       1059.0084
+  20343024.8394  -27620104.74149 -21506576.28648  20343024.7194   20343029.8834
+       813.5494        633.9354
+  24245166.3204   -3898003.34149  -3019524.53245  24245166.5954   24245176.3034
+      3837.7964       2990.4834
+  21665181.9364  -15012488.13449 -11675386.34647  21665182.2644   21665188.0834
+     -2363.6764      -1841.8224
+  23463558.5574   -9335436.91749  -7263021.48146  23463557.4194   23463568.3284
+     -3538.6534      -2757.3854
+  22336671.6014  -12147840.92549  -9454665.00547  22336670.6604   22336678.9754
+     -3401.0324      -2650.1524
+  23421230.8584   -5490581.91749  -4062935.48146  23421229.6704   23421238.8864
+      2285.3664       1780.8144
+  23489776.0994   -7235965.84449  -5184932.84446  23489776.5104   23489787.0294
+      3536.5514       2755.7554
+ 05  1 20 17  1  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21579250.7454  -18910151.90949 -14690490.39848  21579249.8644   21579257.2804
+      1353.0204       1054.2984
+  20338417.5624  -27644317.54249 -21525443.39448  20338416.9814   20338422.6424
+       800.6254        623.8634
+  24223267.9994   -4013083.02049  -3109196.95045  24223266.4674   24223278.0204
+      3834.2974       2987.7614
+  21678709.9044  -14941399.18749 -11619992.38447  21678709.9814   21678715.7124
+     -2375.5834      -1851.1114
+  23483769.3264   -9229230.98849  -7180263.79046  23483768.0864   23483778.0564
+     -3541.7234      -2759.7844
+  22356113.6004  -12045669.39749  -9375050.93347  22356113.0994   22356121.4504
+     -3410.4044      -2657.4504
+  23408212.4974   -5558985.25049  -4116236.72146  23408212.1454   23408221.2784
+      2274.8084       1772.5744
+  23469605.5934   -7341967.53149  -5267531.47746  23469605.4484   23469615.6954
+      3530.1754       2750.7804
+ 05  1 20 17  1 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21571543.8744  -18950651.03649 -14722048.13348  21571543.1754   21571550.5164
+      1346.9924       1049.6034
+  20333884.0924  -27668141.24549 -21544007.30648  20333883.7034   20333889.0724
+       787.6224        613.7374
+  24201387.4754   -4128056.03149  -3198786.26845  24201386.8834   24201399.0534
+      3830.6654       2984.9294
+  21692305.5014  -14869953.23949 -11564320.23647  21692305.6044   21692311.6224
+     -2387.4854      -1860.3764
+  23503995.8504   -9122933.27749  -7097434.56645  23503995.3314   23504004.6234
+     -3544.7364      -2762.1324
+  22375610.0394  -11943219.82449  -9295220.20347  22375609.4204   22375617.4154
+     -3419.5734      -2664.6114
+  23395258.4164   -5627069.74949  -4169289.48046  23395256.8394   23395264.9764
+      2264.1324       1764.2654
+  23449469.8574   -7447777.30249  -5349980.56046  23449469.1304   23449480.3984
+      3523.7444       2745.7724
+ 05  1 20 17  2  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21563871.1644  -18990968.62849 -14753464.41748  21563871.1264   21563878.4814
+      1340.9254       1044.8744
+  20329424.7264  -27691574.29949 -21562266.82348  20329424.4404   20329429.7104
+       774.5754        603.5614
+  24179529.6814   -4242919.99449  -3288290.61245  24179529.4624   24179540.7674
+      3827.0094       2982.0844
+  21705969.9894  -14798152.42349 -11508371.57447  21705968.7384   21705974.9624
+     -2399.2514      -1869.5454
+  23524239.7324   -9016546.81149  -7014536.21345  23524239.4344   23524249.7784
+     -3547.6564      -2764.4004
+  22395157.4204  -11840494.86749  -9215174.86947  22395156.7404   22395165.0274
+     -3428.7114      -2671.7244
+  23382363.2544   -5694832.47649  -4222091.55246  23382361.6664   23382370.2144
+      2253.3504       1755.8584
+  23429373.7834   -7553393.03849  -5432278.45546  23429372.6014   23429382.2644
+      3517.2694       2740.7214
+ 05  1 20 17  2 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21556234.4964  -19031104.92449 -14784739.42748  21556233.4014   21556240.5604
+      1334.8754       1040.1614
+  20325040.3934  -27714615.04549 -21580220.64148  20325039.8274   20325044.9394
+       761.4664        593.3464
+  24157692.8164   -4357672.73649  -3377708.29345  24157693.2674   24157702.7964
+      3823.3164       2979.2134
+  21719699.9684  -14725999.56549 -11452148.57147  21719699.2814   21719705.2024
+     -2410.9564      -1878.6694
+  23544501.2314   -8910074.57749  -6931571.02345  23544501.1054   23544511.6544
+     -3550.4814      -2766.5924
+  22414757.4204  -11737497.75049  -9134917.48447  22414756.9664   22414765.1554
+     -3437.7504      -2678.7574
+  23369529.0234   -5762270.52949  -4274640.58846  23369528.8604   23369537.0894
+      2242.4794       1747.3784
+  23409312.1404   -7658812.20949  -5514423.20846  23409312.0864   23409321.2194
+      3510.6254       2735.5474
+ 05  1 20 17  3  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21548631.5084  -19071060.04049 -14815873.26948  21548630.3894   21548637.6424
+      1328.8774       1035.4904
+  20320730.4634  -27737261.89649 -21597867.53648  20320730.2724   20320735.5244
+       748.3204        583.1054
+  24135877.7234   -4472311.89149  -3467037.51545  24135878.3054   24135889.3784
+      3819.4244       2976.1764
+  21733496.4064  -14653496.59849 -11395652.76447  21733496.0144   21733501.4424
+     -2422.5394      -1887.6934
+  23564779.0444   -8803519.42349  -6848541.21145  23564779.5944   23564788.1304
+     -3553.2044      -2768.7274
+  22434408.4284  -11634232.12849  -9054450.86247  22434407.1664   22434416.2534
+     -3446.6114      -2685.6534
+  23356756.5964   -5829380.95249  -4326934.34346  23356756.8334   23356766.0994
+      2231.5274       1738.8414
+  23389288.8464   -7764032.55949  -5596413.00846  23389288.4884   23389298.5614
+      3503.9894       2730.3534
+ 05  1 20 17  3 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21541061.7954  -19110834.09249 -14846866.01348  21541061.4724   21541068.5854
+      1322.8234       1030.7714
+  20316496.3314  -27759513.25749 -21615206.25348  20316496.0434   20316501.3574
+       735.1044        572.8124
+  24114084.1734   -4586835.39649  -3556276.58445  24114083.8654   24114096.9324
+      3815.4754       2973.0984
+  21747358.3974  -14580645.95349 -11338886.04147  21747358.4934   21747364.7264
+     -2434.1504      -1896.7314
+  23585071.0704   -8696884.33049  -6765449.08845  23585071.0144   23585080.8894
+     -3555.8234      -2770.7634
+  22454109.3854  -11530701.07449  -8973777.43747  22454109.4984   22454118.1224
+     -3455.4034      -2692.5204
+  23344050.8894   -5896160.78449  -4378970.49546  23344051.0534   23344059.3704
+      2220.4334       1730.2024
+  23369304.2904   -7869052.55949  -5678246.68446  23369303.5394   23369314.0184
+      3497.2954       2725.1594
+ 05  1 20 17  4  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21533527.5994  -19150427.26249 -14877717.80948  21533526.8094   21533534.2044
+      1316.8074       1026.0824
+  20312337.6764  -27781367.56449 -21632235.57748  20312337.4014   20312342.5904
+       721.8254        562.4614
+  24092312.9104   -4701240.90149  -3645423.70345  24092314.1024   24092325.0774
+      3811.5924       2970.0714
+  21761288.6954  -14507450.17349 -11281850.37347  21761287.9424   21761293.4154
+     -2445.5684      -1905.6404
+  23605375.5384   -8590172.16349  -6682296.95945  23605376.1854   23605387.7664
+     -3558.2964      -2772.6894
+  22473860.8564  -11426908.23549  -8892899.99347  22473860.4334   22473868.8384
+     -3464.1134      -2699.3024
+  23331407.3924   -5962606.97749  -4430746.64446  23331406.9354   23331414.5424
+      2209.2724       1721.5044
+  23349358.0044   -7973869.62449  -5759922.24146  23349357.9224   23349368.3124
+      3490.4804       2719.8654
+ 05  1 20 17  4 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21526027.6514  -19189839.65249 -14908428.73248  21526026.8584   21526034.2144
+      1310.7814       1021.3854
+  20308254.8604  -27802823.20049 -21648954.24148  20308254.3004   20308259.6224
+       708.5194        552.0894
+  24070564.9354   -4815526.11349  -3734477.06145  24070564.8074   24070576.8834
+      3807.5004       2966.8874
+  21775282.3174  -14433911.47149 -11224547.50847  21775282.0784   21775287.5424
+     -2457.0034      -1914.5544
+  23625698.1214   -8483385.85249  -6599087.04345  23625698.9614   23625708.5874
+     -3560.7514      -2774.6014
+  22493661.3984  -11322856.31849  -8811820.67246  22493660.5474   22493668.9104
+     -3472.6484      -2705.9594
+  23318827.1724   -6028716.75049  -4482260.65446  23318825.4294   23318834.0394
+      2197.9984       1712.7144
+  23329451.1204   -8078481.32849  -5841437.74446  23329451.7074   23329461.2634
+      3483.5904       2714.4844
+ 05  1 20 17  5  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21518562.0564  -19229071.40849 -14938998.90448  21518561.8394   21518568.7564
+      1304.7654       1016.7024
+  20304248.1474  -27823878.47149 -21665360.94048  20304247.8544   20304252.9104
+       695.1314        541.6634
+  24048842.3014   -4929688.86349  -3823434.99745  24048842.5864   24048852.7704
+      3803.3824       2963.6714
+  21789340.5334  -14360032.37349 -11166979.38847  21789340.1294   21789346.0834
+     -2468.3034      -1923.3544
+  23646033.0344   -8376528.43449  -6515821.69645  23646033.1054   23646041.5044
+     -3563.0434      -2776.3874
+  22513510.1974  -11218548.39249  -8730541.87346  22513509.5374   22513518.1914
+     -3481.1474      -2712.5734
+  23306309.1534   -6094486.83449  -4533509.98246  23306309.6474   23306317.4594
+      2186.6524       1703.8914
+  23309583.4824   -8182885.63249  -5922791.66846  23309582.9994   23309593.3954
+      3476.6294       2709.0634
+ 05  1 20 17  5 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21511130.7644  -19268122.77649 -14969428.51248  21511130.3784   21511137.4524
+      1298.7494       1012.0064
+  20300317.9934  -27844531.87449 -21681454.48448  20300317.5234   20300322.7624
+       681.7244        531.2134
+  24027141.5114   -5043726.75949  -3912295.71645  24027140.8624   24027152.0244
+      3799.1554       2960.3784
+  21803462.9534  -14285814.83449 -11109147.55647  21803463.2454   21803468.9424
+     -2479.5124      -1932.0924
+  23666381.0734   -8269602.72349  -6432503.11445  23666381.2784   23666391.0674
+     -3565.2884      -2778.1404
+  22533407.8084  -11113987.95649  -8649066.28847  22533407.6214   22533416.4044
+     -3489.5104      -2719.1014
+  23293859.4934   -6159914.55249  -4584492.51646  23293859.4944   23293867.0034
+      2175.1524       1694.9154
+  23289757.3604   -8287080.17749  -6003982.11746  23289756.3984   23289765.3964
+      3469.6184       2703.5964
+ 05  1 20 17  6  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21503734.0094  -19306993.71549 -14999717.52248  21503733.3324   21503740.4264
+      1292.7454       1007.3324
+  20296464.4294  -27864781.95449 -21697233.75448  20296464.0074   20296469.3444
+       668.2744        520.7314
+  24005464.4894   -5157637.73349  -4001057.49545  24005464.8864   24005474.8624
+      3794.8784       2957.0514
+  21817651.0634  -14211261.26549 -11051053.87947  21817650.9594   21817656.7734
+     -2490.6634      -1940.7754
+  23686740.6714   -8162611.53949  -6349133.55745  23686739.6604   23686749.7224
+     -3567.4564      -2779.8264
+  22553352.5744  -11009178.34549  -8567396.58346  22553351.5844   22553360.6734
+     -3497.7574      -2725.5164
+  23281476.6284   -6224996.90649  -4635205.94046  23281475.2384   23281482.9294
+      2163.6244       1685.9414
+  23269968.1244   -8391062.42449  -6085007.16246  23269967.8634   23269978.3194
+      3462.5584       2698.0984
+ 05  1 20 17  6 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21496371.6424  -19345684.52249 -15029866.17248  21496370.7884   21496377.7304
+      1286.7664       1002.6764
+  20292687.7214  -27884627.00749 -21712697.41948  20292687.3474   20292692.8764
+       654.7374        510.1844
+  23983811.7934   -5271419.52149  -4089718.60545  23983813.5284   23983822.9944
+      3790.6054       2953.7184
+  21831902.1854  -14136374.14149 -10992700.30347  21831901.4484   21831906.9524
+     -2501.7664      -1949.4204
+  23707113.1864   -8055557.99249  -6265715.37845  23707112.1224   23707120.6934
+     -3569.4454      -2781.3824
+  22573343.2834  -10904122.75249  -8485535.19846  22573343.0434   22573351.7904
+     -3505.9194      -2731.8954
+  23269155.4924   -6289730.94149  -4685647.93146  23269155.0054   23269164.0864
+      2151.9224       1676.8224
+  23250222.0174   -8494830.72949  -6165865.46546  23250221.5434   23250232.3034
+      3455.3494       2692.4914
+ 05  1 20 17  7  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21489042.8364  -19384195.23349 -15059874.48548  21489042.2064   21489049.4414
+      1280.7374        997.9784
+  20288989.1864  -27904065.42549 -21727844.22748  20288988.5394   20288993.7964
+       641.1514        499.5984
+  23962184.9154   -5385069.81349  -4178277.24245  23962185.6964   23962195.9294
+      3786.1294       2950.2294
+  21846214.9404  -14061155.83549 -10934088.63047  21846214.6124   21846220.2394
+     -2512.7884      -1958.0144
+  23727497.2924   -7948444.84349  -6182250.76945  23727496.4394   23727505.2204
+     -3571.4054      -2782.9074
+  22593382.3364  -10798824.37549  -8403484.60546  22593381.5394   22593389.2014
+     -3513.9324      -2738.1204
+  23256904.8914   -6354113.76749  -4735816.26946  23256903.5514   23256912.9354
+      2140.2234       1667.7224
+  23230516.4274   -8598382.83649  -6246555.32946  23230515.6544   23230527.0694
+      3448.1164       2686.8354
+ 05  1 20 17  7 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21481749.0344  -19422526.05449 -15089742.62048  21481747.9364   21481755.1384
+      1274.7364        993.3024
+  20285367.2844  -27923095.71849 -21742673.01548  20285367.2844   20285372.4934
+       627.5144        488.9734
+  23940583.5044   -5498586.32049  -4266731.61945  23940584.3794   23940593.9854
+      3781.6774       2946.7594
+  21860591.0164  -13985608.64649 -10875220.71447  21860590.6354   21860596.7554
+     -2523.7324      -1966.5424
+  23747889.7074   -7841275.11149  -6098742.06345  23747887.9384   23747900.1074
+     -3573.2364      -2784.3314
+  22613465.5214  -10693286.17449  -8321247.12046  22613464.1964   22613474.1074
+     -3521.8914      -2744.3304
+  23244719.5404   -6418142.31149  -4785708.57846  23244720.0664   23244728.0504
+      2128.3054       1658.4114
+  23210851.9614   -8701716.52449  -6327074.99646  23210852.6374   23210863.0674
+      3440.7524       2681.0944
+ 05  1 20 17  8  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21474488.5334  -19460677.07749 -15119470.65948  21474488.0884   21474495.3564
+      1268.7314        988.6164
+  20281824.4244  -27941716.35049 -21757182.58648  20281824.0124   20281829.1344
+       613.8374        478.3124
+  23919010.0974   -5611966.87949  -4355080.06245  23919010.0344   23919018.9464
+      3777.0774       2943.1734
+  21875029.1174  -13909734.94049 -10816098.36147  21875028.9084   21875034.9374
+     -2534.5504      -1974.9694
+  23768293.6354   -7734051.57949  -6015191.45545  23768292.3914   23768303.0694
+     -3574.9654      -2785.6854
+  22633592.7924  -10587511.87149  -8238825.70346  22633592.6744   22633601.3084
+     -3529.7094      -2750.4294
+  23232604.1824   -6481813.69549  -4835322.54646  23232602.6554   23232611.7754
+      2116.3744       1649.1144
+  23191230.7864   -8804829.60549  -6407422.77346  23191229.9064   23191240.9554
+      3433.4164       2675.3914
+ 05  1 20 17  8 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21467262.9824  -19498648.39349 -15149058.66348  21467262.3284   21467269.8054
+      1262.7754        983.9764
+  20278359.4634  -27959925.83649 -21771371.77648  20278358.7304   20278364.0344
+       600.1274        467.6314
+  23897458.1254   -5725209.05649  -4443320.70345  23897459.5124   23897469.0754
+      3772.3934       2939.5274
+  21889529.9064  -13833537.17949 -10756723.48347  21889529.2894   21889535.1744
+     -2545.3134      -1983.3554
+  23788707.2814   -7626777.28249  -5931601.29345  23788704.8744   23788717.7074
+     -3576.5854      -2786.9384
+  22653765.8654  -10481504.37749  -8156222.56046  22653764.9324   22653773.1824
+     -3537.4264      -2756.4364
+  23220557.7244   -6545124.95649  -4884655.90246  23220556.0784   23220563.6964
+      2104.3764       1639.7644
+  23171651.7644   -8907719.89249  -6487596.93346  23171651.3634   23171661.1404
+      3425.9134       2669.5444
+ 05  1 20 17  9  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21460072.1154  -19536440.26249 -15178506.84048  21460071.0194   21460078.0434
+      1256.7944        979.3204
+  20274972.9574  -27977722.65249 -21785239.41148  20274972.1294   20274977.2884
+       586.3414        456.8894
+  23875936.3314   -5838310.90649  -4531451.97345  23875936.7544   23875948.4404
+      3767.7404       2935.8974
+  21904091.0824  -13757017.76449 -10697097.98747  21904090.6874   21904096.3164
+     -2555.9934      -1991.6704
+  23809130.6854   -7519454.93949  -5847973.71045  23809130.2114   23809140.1374
+     -3578.1614      -2788.1704
+  22673981.7004  -10375266.75749  -8073440.12446  22673981.6544   22673991.1794
+     -3545.0814      -2762.3924
+  23208577.9814   -6608073.55849  -4933706.63946  23208578.0984   23208585.5094
+      2092.2084       1630.2754
+  23152115.1694   -9010385.25649  -6567595.81046  23152114.1974   23152124.8374
+      3418.4504       2663.7314
+ 05  1 20 17  9 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21452914.0704  -19574052.62149 -15207815.14148  21452913.6664   21452920.7454
+      1250.7894        974.6424
+  20271664.8854  -27995105.25849 -21798784.28548  20271664.3274   20271669.7104
+       572.4834        446.0954
+  23854442.0924   -5951270.01949  -4619472.00145  23854441.7684   23854452.3244
+      3762.9304       2932.1504
+  21918712.7894  -13680178.89549 -10637223.53747  21918712.2894   21918718.0274
+     -2566.5984      -1999.9434
+  23829563.5334   -7412087.69549  -5764311.11445  23829561.6804   23829573.0764
+     -3579.6264      -2789.3154
+  22694240.6474  -10268802.68549  -7990481.22246  22694241.0514   22694249.8294
+     -3552.5314      -2768.2144
+  23196668.9314   -6670656.27749  -4982472.33246  23196668.1514   23196674.7154
+      2079.9404       1620.7264
+  23132620.7904   -9112823.57949  -6647417.80246  23132621.2394   23132631.5924
+      3410.8114       2657.7834
+ 05  1 20 17 10  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21445790.7974  -19611485.73449 -15236983.75948  21445790.2924   21445797.1264
+      1244.8424        970.0064
+  20268435.8654  -28012072.17649 -21812005.25148  20268435.6694   20268440.8164
+       558.6304        435.2954
+  23832973.4994   -6064084.28249  -4707379.14146  23832974.1234   23832985.1454
+      3758.0664       2928.3584
+  21933395.7254  -13603022.70349 -10577101.82547  21933395.2514   21933400.6514
+     -2577.1414      -2008.1594
+  23849999.8954   -7304678.15649  -5680615.53245  23850001.2564   23850011.3024
+     -3580.9874      -2790.3774
+  22714544.0314  -10162115.39649  -7907348.37446  22714543.2364   22714551.9864
+     -3559.9214      -2773.9534
+  23184829.1364   -6732870.39549  -5030950.76946  23184828.2914   23184837.7514
+      2067.6234       1611.1324
+  23113170.9814   -9215032.65249  -6727061.14746  23113171.2434   23113182.0324
+      3403.1344       2651.7764
+ 05  1 20 17 10 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21438701.3224  -19648739.67349 -15266012.77048  21438701.1484   21438707.9544
+      1238.8744        965.3544
+  20265286.8914  -28028621.89549 -21824901.12648  20265286.3284   20265291.3284
+       544.6814        424.4234
+  23811534.4134   -6176751.36049  -4795171.56245  23811533.4034   23811544.6504
+      3753.1484       2924.5194
+  21948137.2514  -13525551.90149 -10516734.96747  21948136.9364   21948142.4604
+     -2587.5954      -2016.3154
+  23870447.2174   -7197229.31149  -5596889.34145  23870446.7344   23870459.6394
+     -3582.2254      -2791.3394
+  22734887.6594  -10055208.03049  -7824044.04446  22734887.0804   22734895.6454
+     -3567.2564      -2779.6864
+  23173060.5264   -6794713.10449  -5079139.80046  23173059.9224   23173068.4084
+      2055.2114       1601.4484
+  23093765.6354   -9317010.37449  -6806524.23446  23093765.8604   23093775.8334
+      3395.3574       2645.7314
+ 05  1 20 17 11  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21431646.7254  -19685814.60649 -15294902.29048  21431645.7314   21431653.0204
+      1232.9124        960.7114
+  20262217.1614  -28044753.03249 -21837470.83248  20262216.8284   20262221.6884
+       530.6974        413.5304
+  23790120.9554   -6289269.15849  -4882847.63345  23790120.8764   23790132.2724
+      3748.1374       2920.6184
+  21962939.0794  -13447768.68849 -10456124.67947  21962938.4614   21962943.8784
+     -2597.9624      -2024.3844
+  23890899.6684   -7089743.93049  -5513134.73645  23890901.2224   23890911.3594
+     -3583.4554      -2792.2944
+  22755273.4974   -9948083.48049  -7740570.48846  22755272.5604   22755281.5374
+     -3574.4124      -2785.2454
+  23161363.9184   -6856181.42249  -5127037.08246  23161363.5394   23161370.6894
+      2042.6884       1591.6944
+  23074405.5334   -9418754.38449  -6885805.19446  23074404.0984   23074414.6694
+      3387.5394       2639.6494
+ 05  1 20 17 11 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21424625.1424  -19722710.61049 -15323652.39048  21424624.6564   21424631.7424
+      1226.9564        956.0674
+  20259227.6034  -28060463.77349 -21849712.95148  20259226.8464   20259232.0204
+       516.6764        402.6004
+  23768736.4794   -6401635.08449  -4970405.37945  23768737.8414   23768750.2244
+      3743.0194       2916.6284
+  21977799.3244  -13369675.58849 -10395272.90947  21977798.7274   21977804.9814
+     -2608.2734      -2032.4314
+  23911362.7994   -6982225.08849  -5429353.93345  23911362.1434   23911373.9524
+     -3584.5024      -2793.1174
+  22775699.2274   -9840745.46549  -7656930.59346  22775698.5164   22775706.4524
+     -3581.4254      -2790.7174
+  23149738.5324   -6917272.67549  -5174640.54746  23149736.7934   23149744.9154
+      2030.0744       1581.8634
+  23055088.7174   -9520262.76249  -6964902.53346  23055087.5274   23055097.7674
+      3379.6444       2633.4884
+ 05  1 20 17 12  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21417637.8584  -19759427.79349 -15352263.14748  21417637.3784   21417644.7564
+      1220.9914        951.4184
+  20256317.8734  -28075752.81249 -21861626.47348  20256317.4554   20256322.5984
+       502.6194        391.6524
+  23747386.6044   -6513847.24849  -5057843.27046  23747385.7844   23747397.0964
+      3737.8274       2912.5874
+  21992717.7084  -13291274.59849 -10334181.23047  21992717.5684   21992725.0184
+     -2618.4504      -2040.3444
+  23931827.6444   -6874675.55149  -5345549.32145  23931827.9874   23931837.9344
+     -3585.4344      -2793.8534
+  22796165.3034   -9733197.04749  -7573126.73146  22796164.5404   22796172.8094
+     -3588.3964      -2796.1464
+  23138186.6914   -6977983.96149  -5221947.94346  23138185.3384   23138193.8014
+      2017.3544       1571.9644
+  23035817.1604   -9621533.52549  -7043814.74546  23035815.8634   23035825.9244
+      3371.6734       2627.2824
+ 05  1 20 17 12 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21410685.3264  -19795966.29749 -15380734.68348  21410684.2874   21410691.8854
+      1215.0244        946.7744
+  20253489.3034  -28090618.68349 -21873210.25948  20253488.5204   20253493.5434
+       488.4704        380.6284
+  23726061.5704   -6625903.40349  -5145159.58746  23726062.1104   23726072.8494
+      3732.6174       2908.5324
+  22007696.1204  -13212568.54349 -10272851.86547  22007695.7894   22007701.3534
+     -2628.5944      -2048.2534
+  23952299.4454   -6767098.04849  -5261722.85945  23952299.5524   23952309.4964
+     -3586.3974      -2794.5964
+  22816669.3074   -9625441.70249  -7489161.65246  22816670.0694   22816679.2244
+     -3595.2554      -2801.4984
+  23126704.1234   -7038312.50849  -5268957.08446  23126704.5974   23126712.3104
+      2004.5564       1561.9874
+  23016591.9674   -9722564.14149  -7122539.80646  23016591.7714   23016601.6804
+      3363.6354       2621.0134
+ 05  1 20 17 13  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21403766.0364  -19832326.13949 -15409067.00848  21403765.4094   21403772.7464
+      1209.0634        942.1224
+  20250741.0984  -28105060.04949 -21884463.26148  20250740.6574   20250745.6604
+       474.2744        369.5584
+  23704766.8454   -6737801.32749  -5232352.60346  23704769.6064   23704778.8024
+      3727.3224       2904.4034
+  22022730.2064  -13133559.45049 -10211286.32947  22022730.1264   22022736.4604
+     -2638.6494      -2056.0934
+  23972776.3534   -6659495.59749  -5177876.94945  23972776.0614   23972785.8794
+     -3587.1894      -2795.2064
+  22837213.8314   -9517482.20449  -7405037.47946  22837213.6234   22837222.9974
+     -3602.0414      -2806.7764
+  23115299.7024   -7098255.42249  -5315665.74146  23115297.9834   23115306.1974
+      1991.6344       1551.9134
+  22997411.4954   -9823352.70349  -7201076.25446  22997411.4234   22997421.0914
+      3355.5254       2614.7014
+ 05  1 20 17 13 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21396881.0474  -19868507.50949 -15437260.25248  21396880.1474   21396887.5974
+      1203.1764        937.5354
+  20248073.4444  -28119075.35249 -21895384.26148  20248073.3734   20248078.7794
+       460.0684        358.4944
+  23683507.4134   -6849538.85749  -5319420.65446  23683506.8744   23683515.0064
+      3721.9254       2900.1964
+  22037822.6224  -13054249.92549 -10149486.70547  22037822.3944   22037828.4844
+     -2648.6384      -2063.8734
+  23993256.5524   -6551871.09549  -5094013.91445  23993256.1574   23993266.2904
+     -3587.8544      -2795.7244
+  22857796.4244   -9409321.78649  -7320756.75846  22857795.9134   22857804.7474
+     -3608.6454      -2811.9244
+  23103965.5284   -7157809.85649  -5362071.69346  23103964.4944   23103973.2974
+      1978.6524       1541.7984
+  22978278.1694   -9923897.13449  -7279422.43746  22978278.3754   22978288.2614
+      3347.4104       2608.3634
+ 05  1 20 17 14  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21390029.4814  -19904510.58649 -15465314.57048  21390028.9074   21390036.5184
+      1197.2024        932.8834
+  20245488.4954  -28132663.03549 -21905972.05248  20245487.9544   20245492.9344
+       445.7694        347.3464
+  23662275.2574   -6961113.55449  -5406361.80246  23662273.8924   23662283.1564
+      3716.3904       2895.8784
+  22052971.8984  -12974642.28949 -10087454.77847  22052971.7254   22052977.1084
+     -2658.5164      -2071.5764
+  24013740.1734   -6444227.45049  -5010135.91045  24013741.5914   24013749.9124
+     -3588.4464      -2796.1814
+  22878417.2604   -9300964.24049  -7236322.40246  22878416.0454   22878425.2654
+     -3615.1694      -2817.0124
+  23092706.7084   -7216973.12049  -5408172.82846  23092706.8264   23092714.3274
+      1965.5564       1531.5974
+  22959192.1754  -10024195.29049  -7357576.73746  22959192.5614   22959201.9514
+      3339.1354       2601.9204
+ 05  1 20 17 14 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21383212.0934  -19940335.34049 -15493229.93848  21383211.7754   21383219.0594
+      1191.2204        928.2194
+  20242983.8634  -28145821.99049 -21916225.76248  20242983.6254   20242988.7754
+       431.4904        336.2264
+  23641072.6034   -7072523.39349  -5493174.46146  23641072.6374   23641083.6414
+      3710.9544       2891.6374
+  22068176.3804  -12894738.77849 -10025192.31447  22068176.4524   22068182.0024
+     -2668.3564      -2079.2364
+  24034226.8264   -6336567.17149  -4926244.96245  24034225.5814   24034238.5754
+     -3588.9784      -2796.6064
+  22899074.1644   -9192412.57449  -7151736.81546  22899072.2964   22899082.3234
+     -3621.6284      -2822.0464
+  23081523.2314   -7275742.40949  -5453967.00046  23081522.7814   23081530.6324
+      1952.3574       1521.2944
+  22940153.3424  -10124245.05649  -7435537.49346  22940153.1284   22940162.2394
+      3330.8064       2595.4284
+ 05  1 20 17 15  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21376429.2314  -19975981.90649 -15521006.45148  21376428.6304   21376435.7184
+      1185.3114        923.6184
+  20240562.0234  -28158550.72349 -21926144.23748  20240561.5784   20240566.8124
+       417.1584        325.0604
+  23619903.6144   -7183766.16649  -5579856.92446  23619904.1044   23619913.5734
+      3705.3114       2887.2454
+  22083437.7454  -12814541.76049  -9962701.13147  22083437.5474   22083443.1104
+     -2678.1294      -2086.8574
+  24054719.7174   -6228893.38249  -4842343.46945  24054717.8584   24054728.1734
+     -3589.4814      -2796.9874
+  22919766.2664   -9083670.29249  -7067002.68346  22919766.0464   22919774.8384
+     -3627.9044      -2826.9454
+  23070414.6914   -7334114.99249  -5499452.02946  23070415.4004   23070422.8314
+      1939.1134       1510.9744
+  22921163.4454  -10224044.30449  -7513303.01946  22921162.7824   22921172.6054
+      3322.3994       2588.8794
+ 05  1 20 17 15 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21369680.3204  -20011450.41449 -15548644.22048  21369679.2964   21369686.4344
+      1179.3764        918.9924
+  20238222.0844  -28170847.44949 -21935726.08348  20238221.4524   20238226.7314
+       402.6764        313.7764
+  23598766.2214   -7294839.64049  -5666407.51846  23598766.6354   23598777.1584
+      3699.6504       2882.8304
+  22098754.6734  -12734053.60549  -9899983.08447  22098753.8144   22098759.7014
+     -2687.7784      -2094.3634
+  24075209.5574   -6121208.77249  -4758433.56545  24075209.2324   24075221.4764
+     -3589.5754      -2797.0664
+  22940494.3144   -8974740.11349  -6982122.13746  22940494.6574   22940503.7974
+     -3634.1234      -2831.7844
+  23059385.4114   -7392088.21849  -5544625.86346  23059383.0394   23059391.6224
+      1925.7464       1500.5734
+  22902218.9944  -10323590.99149  -7590871.72946  22902218.5204   22902228.1024
+      3314.0304       2582.3514
+ 05  1 20 17 16  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21362964.4244  -20046740.85649 -15576143.24748  21362963.7474   21362970.7284
+      1173.4224        914.3584
+  20235964.3334  -28182711.00849 -21944970.39948  20235964.0764   20235969.3104
+       388.2274        302.5164
+  23577664.0334   -7405741.84049  -5752824.62046  23577663.8914   23577672.4114
+      3693.8954       2878.3564
+  22114125.2374  -12653276.79549  -9837040.13047  22114124.7544   22114131.1214
+     -2697.3514      -2101.8334
+  24095700.5274   -6013516.24549  -4674517.52545  24095702.2904   24095713.3994
+     -3589.8184      -2797.2564
+  22961258.8514   -8865625.24249  -6897097.66246  22961258.1064   22961266.7544
+     -3640.1864      -2836.5134
+  23048428.6404   -7449659.27149  -5589486.34046  23048427.2054   23048435.3074
+      1912.3024       1490.0944
+  22883325.2284  -10422883.01749  -7668242.02246  22883324.2134   22883334.2544
+      3305.5174       2575.7314
+ 05  1 20 17 16 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21356282.1804  -20081853.38449 -15603503.62548  21356281.7024   21356288.8754
+      1167.5144        909.7464
+  20233789.5414  -28194140.12849 -21953876.18948  20233789.1804   20233794.3344
+       373.7164        291.2034
+  23556590.5024   -7516470.29149  -5839106.35246  23556592.2404   23556602.4754
+      3688.0744       2873.8254
+  22129550.9044  -12572213.29349  -9773873.76847  22129550.8694   22129556.9594
+     -2706.8524      -2109.2394
+  24116197.1334   -5905818.72849  -4590597.54445  24116197.4974   24116208.6314
+     -3590.0104      -2797.4094
+  22982055.3324   -8756328.88349  -6811931.78346  22982055.9724   22982066.1214
+     -3646.1654      -2841.1564
+  23037549.6464   -7506825.36849  -5634031.27846  23037548.3634   23037555.8164
+      1898.7384       1479.5294
+  22864477.0874  -10521918.10949  -7745412.07346  22864477.7984   22864488.0584
+      3296.8294       2568.9484
+ 05  1 20 17 17  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21349634.2454  -20116788.13949 -15630725.48848  21349633.9244   21349641.0154
+      1161.6204        905.1624
+  20231697.6744  -28205133.36849 -21962442.33848  20231697.2624   20231702.4434
+       359.1504        279.8624
+  23535554.6734   -7627022.84449  -5925250.99646  23535553.6774   23535565.0584
+      3682.2154       2869.2534
+  22145031.1604  -12490865.82749  -9710486.13347  22145031.1214   22145037.2224
+     -2716.2844      -2116.5804
+  24136690.9174   -5798118.79449  -4506675.66245  24136691.9414   24136702.7144
+     -3590.0794      -2797.4604
+  23002890.0364   -8646854.35849  -6726627.08546  23002888.7344   23002898.2504
+     -3652.0614      -2845.7584
+  23026749.6524   -7563583.72849  -5678258.51046  23026749.1174   23026757.1044
+      1885.1234       1468.9244
+  22845682.6384  -10620694.47449  -7822380.54646  22845682.1774   22845692.2164
+      3288.1994       2562.2274
+ 05  1 20 17 17 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21343020.8394  -20151545.18749 -15657808.87548  21343020.0484   21343026.9484
+      1155.6714        900.5214
+  20229689.0444  -28215689.35549 -21970667.76548  20229688.5244   20229693.3064
+       344.5714        268.4904
+  23514551.1384   -7737397.35049  -6011256.95246  23514550.7384   23514560.6264
+      3676.2074       2864.5704
+  22160565.4364  -12409236.56949  -9646878.92747  22160565.0324   22160570.7814
+     -2725.6324      -2123.8674
+  24157186.6634   -5690419.41049  -4422754.21545  24157184.7314   24157197.9004
+     -3590.0104      -2797.4004
+  23023754.4254   -8537205.15749  -6641186.24746  23023754.1164   23023764.5894
+     -3657.8734      -2850.2664
+  23016025.4264   -7619931.87949  -5722166.08946  23016025.6784   23016033.9124
+      1871.4064       1458.2374
+  22826935.4764  -10719210.04449  -7899145.75646  22826934.8344   22826943.6044
+      3279.4624       2555.4074
+ 05  1 20 17 18  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21336440.6084  -20186124.44849 -15684753.72348  21336439.6814   21336446.9254
+      1149.7394        895.9004
+  20227763.3594  -28225806.55749 -21978551.28448  20227763.2514   20227768.2504
+       329.9144        257.0804
+  23493581.3444   -7847591.62149  -6097122.47046  23493582.1944   23493591.5574
+      3670.1604       2859.8594
+  22176151.6184  -12327328.02249  -9583054.09847  22176151.5244   22176156.9974
+     -2734.8874      -2131.0724
+  24177677.5354   -5582723.42648  -4338835.46245  24177677.4194   24177691.9514
+     -3589.7384      -2797.1934
+  23044653.6284   -8427384.65249  -6555611.96646  23044652.5304   23044661.4744
+     -3663.5074      -2854.6804
+  23005382.4614   -7675866.85749  -5765751.69746  23005381.9854   23005389.9044
+      1857.5854       1447.4544
+  22808238.7064  -10817462.60449  -7975706.04646  22808237.0144   22808246.8514
+      3270.6774       2548.5674
+ 05  1 20 17 18 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21329893.8634  -20220526.25349 -15711560.29348  21329893.4184   21329900.3424
+      1143.8074        891.2774
+  20225921.9244  -28235483.80049 -21986091.97248  20225921.4114   20225926.9284
+       315.2414        245.6414
+  23472646.6444   -7957603.58349  -6182845.93946  23472647.0734   23472656.8264
+      3664.0884       2855.1254
+  22191790.3054  -12245142.50949  -9519013.44147  22191790.7874   22191796.8794
+     -2744.1294      -2138.2904
+  24198170.1834   -5475033.46948  -4254921.45044  24198172.9474   24198183.3554
+     -3589.5254      -2797.0264
+  23065583.1584   -8317395.71249  -6469906.40746  23065583.2484   23065592.4634
+     -3669.0754      -2859.0104
+  22994816.5584   -7731386.16249  -5809013.45146  22994816.1194   22994823.6444
+      1843.7104       1436.6534
+  22789589.8574  -10915450.48049  -8052060.08346  22789590.4584   22789600.7874
+      3261.8274       2541.6704
+ 05  1 20 17 19  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21323381.2904  -20254750.47249 -15738228.49048  21323380.8714   21323387.6224
+      1137.9124        886.6884
+  20224165.0244  -28244719.81149 -21993288.85648  20224164.2334   20224169.0104
+       300.4974        234.1584
+  23451746.4604   -8067430.76149  -6268425.42446  23451747.6924   23451757.6634
+      3657.8524       2850.2694
+  22207481.5054  -12162682.23849  -9454758.70247  22207481.7754   22207488.9204
+     -2753.2574      -2145.3964
+  24218659.7104   -5367352.44358  -4171014.32954  24218659.7254   24218671.1694
+     -3589.3314      -2796.8794
+  23086545.7854   -8207241.55149  -6384072.11846  23086545.5694   23086553.9484
+     -3674.4704      -2863.2234
+  22984332.7124   -7786487.19849  -5851949.23746  22984330.7344   22984339.3614
+      1829.6694       1425.7094
+  22770995.7134  -11013171.56549  -8128206.24946  22770995.7534   22771004.4354
+      3252.9214       2534.7384
+ 05  1 20 17 19 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21316902.3174  -20288797.34849 -15764758.48948  21316901.8814   21316908.7104
+      1132.0234        882.0924
+  20222491.0774  -28253513.05249 -22000140.71148  20222490.7354   20222495.6754
+       285.7304        222.6424
+  23430884.0024   -8177071.27949  -6353859.44546  23430883.6174   23430893.2444
+      3651.5564       2845.3704
+  22223225.3984  -12079949.56649  -9390291.70347  22223225.4184   22223231.5804
+     -2762.2874      -2152.4414
+  24239153.3324   -5259683.08948  -4087116.30144  24239149.7974   24239160.6464
+     -3588.7624      -2796.4324
+  23107537.5544   -8096925.50549  -6298111.68646  23107537.3954   23107546.1604
+     -3679.8894      -2867.4434
+  22973926.5464   -7841167.28749  -5894557.02846  22973925.9394   22973933.0874
+      1815.6144       1414.7534
+  22752451.0654  -11110623.70249  -8204142.84146  22752450.5964   22752459.5714
+      3243.8874       2527.7044
+ 05  1 20 17 20  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21310457.6384  -20322666.88649 -15791150.30348  21310456.3264   21310463.4414
+      1126.0764        877.4584
+  20220902.5644  -28261862.36649 -22006646.65748  20220902.0954   20220906.8844
+       270.8704        211.0634
+  23410054.3924   -8286522.86849  -6439146.24846  23410054.3094   23410064.0064
+      3645.2434       2840.4484
+  22239019.8594  -11996946.70149  -9325614.14547  22239020.0264   22239026.9914
+     -2771.2384      -2159.4164
+  24259637.6204   -5152028.30949  -4003229.61045  24259638.0024   24259649.5794
+     -3588.2134      -2796.0094
+  23128560.3444   -7986450.82249  -6212027.62146  23128559.7094   23128570.3104
+     -3685.0584      -2871.4694
+  22963600.9194   -7895423.84849  -5936834.79746  22963600.7734   22963608.8964
+      1801.4904       1403.7614
+  22733959.1524  -11207804.87149  -8279868.24946  22733957.6564   22733967.2754
+      3234.8414       2520.6504
+ 05  1 20 17 20 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21304044.5964  -20356359.18649 -15817404.02448  21304044.8034   21304051.9594
+      1120.1754        872.8624
+  20219398.3274  -28269766.47849 -22012805.69448  20219397.9804   20219402.8594
+       256.0144        199.4894
+  23389265.1894   -8395783.41049  -6524284.21646  23389264.2014   23389273.4534
+      3638.7764       2835.4204
+  22254867.4404  -11913676.44149  -9260728.24647  22254866.8334   22254872.3764
+     -2780.0834      -2166.2984
+  24280122.8744   -5044390.66449  -3919356.26245  24280121.5794   24280131.0954
+     -3587.6264      -2795.5494
+  23149613.1074   -7875820.47049  -6125822.28046  23149613.0844   23149622.0054
+     -3690.2304      -2875.4974
+  22953358.0304   -7949254.15349  -5978780.41346  22953358.2334   22953365.0104
+      1787.1804       1392.6064
+  22715516.7004  -11304713.04949  -8355380.96146  22715516.3304   22715525.9814
+      3225.6624       2513.5054
+ 05  1 20 17 21  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21297668.3164  -20389874.18549 -15843519.57548  21297666.9524   21297674.1074
+      1114.2604        868.2524
+  20217979.2794  -28277223.95149 -22018616.69948  20217978.8074   20217983.9004
+       241.1214        187.8834
+  23368507.4324   -8504850.62749  -6609271.50546  23368508.7074   23368518.2664
+      3632.3944       2830.4384
+  22270762.9564  -11830140.95349  -9195635.67347  22270763.4004   22270768.6774
+     -2788.8834      -2173.1544
+  24300603.1334   -4936773.17049  -3835498.64745  24300601.7914   24300611.0284
+     -3586.9184      -2794.9934
+  23170695.5614   -7765037.95449  -6039498.37846  23170694.3064   23170703.7544
+     -3695.2154      -2879.3764
+  22943197.5734   -8002655.36349  -6020391.65646  22943194.7304   22943203.9994
+      1772.8814       1381.4614
+  22697128.1934  -11401346.13349  -8430679.34146  22697128.0404   22697137.2344
+      3216.4114       2506.2774
+ 05  1 20 17 21 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21291322.9474  -20423212.06549 -15869497.11248  21291322.7444   21291330.0284
+      1108.3544        863.6514
+  20216645.3074  -28284233.76749 -22024078.88648  20216644.7034   20216649.7124
+       226.1654        176.2334
+  23347790.5034   -8613722.57849  -6694106.64746  23347790.6174   23347800.8894
+      3625.7854       2825.2874
+  22286710.0524  -11746342.45349  -9130338.14647  22286709.5254   22286714.3874
+     -2797.6644      -2179.9974
+  24321076.6234   -4829178.43349  -3751658.77545  24321076.3214   24321086.4554
+     -3586.1464      -2794.3974
+  23191804.9174   -7654106.47949  -5953058.39246  23191803.8644   23191813.8454
+     -3700.1824      -2883.2564
+  22933114.4174   -8055625.24149  -6061666.80746  22933115.6304   22933123.6624
+      1758.4434       1370.2374
+  22678791.5544  -11497702.24449  -8505761.87446  22678791.6614   22678801.0064
+      3207.2464       2499.1444
+ 05  1 20 17 22  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21285013.5204  -20456372.88249 -15895336.68248  21285012.8234   21285019.9784
+      1102.4704        859.0684
+  20215396.2174  -28290794.44149 -22029191.08648  20215395.9834   20215401.3104
+       211.1994        164.5704
+  23327109.1494   -8722396.78049  -6778787.68446  23327110.0754   23327120.2954
+      3619.2264       2820.1644
+  22302704.4484  -11662283.21449  -9064837.44647  22302705.0164   22302711.3574
+     -2806.2254      -2186.6724
+  24341546.4994   -4721609.33449  -3667838.84945  24341545.3204   24341558.7384
+     -3585.1944      -2793.6574
+  23212941.6654   -7543029.01649  -5866504.66046  23212940.1604   23212950.3134
+     -3704.9424      -2886.9534
+  22923118.8114   -8108161.27649  -6102603.90246  22923118.5674   22923125.8934
+      1743.9274       1358.9024
+  22660510.0564  -11593779.26349  -8580626.95446  22660508.9844   22660517.7744
+      3197.7694       2491.7564
+ 05  1 20 17 22 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21278737.1924  -20489356.54949 -15921038.19948  21278736.3634   21278743.3184
+      1096.5344        854.4434
+  20214234.4504  -28296904.70049 -22033952.31648  20214233.7424   20214238.6364
+       196.1504        152.8454
+  23306466.3124   -8830871.43649  -6863313.22546  23306467.7514   23306477.4444
+      3612.5044       2814.9304
+  22318750.7434  -11577965.77949  -8999135.57847  22318750.2884   22318756.3854
+     -2814.8504      -2193.3824
+  24362012.4124   -4614068.62049  -3584041.01745  24362009.6654   24362022.7784
+     -3584.2184      -2792.8944
+  23234106.8344   -7431808.67649  -5779839.58946  23234105.4004   23234116.3684
+     -3709.6914      -2890.6714
+  22913203.9184   -8160260.74049  -6143200.79246  22913203.5684   22913212.2884
+      1729.3114       1347.5054
+  22642279.5864  -11689575.68049  -8655273.34946  22642278.8634   22642288.2944
+      3188.4924       2484.5254
+ 05  1 20 17 23  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21272494.2224  -20522163.24849 -15946601.82948  21272493.6694   21272500.4854
+      1090.6434        849.8534
+  20213157.1434  -28302563.37649 -22038361.66048  20213156.6324   20213161.6294
+       181.1024        141.1204
+  23285866.4464   -8939144.21149  -6947681.45046  23285865.5804   23285874.1394
+      3605.7394       2809.6534
+  22334843.6144  -11493392.44949  -8933234.29047  22334843.2194   22334850.4844
+     -2823.3544      -2200.0184
+  24382467.0414   -4506558.89048  -3500267.30744  24382467.3374   24382483.7574
+     -3583.0984      -2792.0224
+  23255297.1904   -7320449.14449  -5693066.04646  23255296.4554   23255306.7324
+     -3714.2784      -2894.2454
+  22903372.8564   -8211921.05349  -6183455.49146  22903373.4454   22903381.0164
+      1714.6534       1336.0724
+  22624103.5344  -11785089.15649  -8729699.30146  22624103.5514   22624112.8204
+      3179.0074       2477.1424
+ 05  1 20 17 23 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21266285.1174  -20554793.07549 -15972027.63248  21266284.5304   21266291.0774
+      1084.7644        845.2664
+  20212166.1924  -28307769.12849 -22042418.08148  20212165.8634   20212171.1404
+       165.9584        129.3174
+  23265300.1634   -9047212.92649  -7031890.67146  23265300.8744   23265310.1054
+      3598.8884       2804.3344
+  22350985.1504  -11408565.18049  -8867135.13247  22350986.1164   22350992.1844
+     -2831.8094      -2206.6034
+  24402919.2344   -4399082.91448  -3416520.01144  24402917.8934   24402931.9424
+     -3581.9684      -2791.1334
+  23276515.5934   -7208953.34849  -5606186.33946  23276514.0584   23276523.1364
+     -3718.7764      -2897.7354
+  22893627.7894   -8263139.58349  -6223365.93646  22893626.4624   22893633.7164
+      1699.8854       1324.5844
+  22605983.4214  -11880317.70149  -8803903.23246  22605982.3624   22605990.3884
+      3169.4734       2469.7104
+ 05  1 20 17 24  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21260109.1854  -20587245.92349 -15997315.52948  21260108.7434   21260115.5534
+      1078.8584        840.6634
+  20211261.9964  -28312520.75549 -22046120.63548  20211261.7354   20211266.9674
+       150.7894        117.4954
+  23244773.7644   -9155075.64249  -7115939.34346  23244773.6794   23244784.0834
+      3591.9684       2798.9264
+  22367176.4304  -11323486.74649  -8800840.26647  22367176.3634   22367182.2394
+     -2840.0724      -2213.0424
+  24423365.9044   -4291643.58748  -3332801.22144  24423365.2294   24423380.5774
+     -3580.6314      -2790.1064
+  23297758.8614   -7097325.00149  -5519203.32946  23297756.6314   23297766.7254
+     -3723.1504      -2901.1504
+  22883963.8174   -8313913.92849  -6262930.26546  22883964.6044   22883972.1784
+      1685.0524       1313.0154
+  22587914.0314  -11975259.36449  -8877883.60346  22587915.1074   22587924.2944
+      3159.9134       2462.2474
+ 05  1 20 17 24 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21253967.1734  -20619521.98249 -16022465.66448  21253966.5554   21253973.6664
+      1072.9964        836.1014
+  20210444.9374  -28316817.12649 -22049468.44348  20210444.3164   20210449.3784
+       135.6124        105.6724
+  23224288.1414   -9262729.99249  -7199825.66446  23224288.2664   23224297.7024
+      3585.0534       2793.5454
+  22383413.8164  -11238159.39449  -8734351.43447  22383413.1654   22383419.5504
+     -2848.3814      -2219.5114
+  24443801.5184   -4184243.46248  -3249112.90344  24443802.9714   24443813.6454
+     -3579.2394      -2789.0214
+  23319024.2164   -6985566.43249  -5432118.86246  23319022.3524   23319033.4864
+     -3727.4084      -2904.4704
+  22874388.2484   -8364241.63949  -6302146.56446  22874386.2094   22874395.1334
+      1670.1294       1301.4074
+  22569903.6324  -12069912.13349  -8951638.87546  22569903.5064   22569911.5174
+      3150.2794       2454.7674
+ 05  1 20 17 25  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21247859.5354  -20651621.28549 -16047478.07748  21247858.2234   21247865.5474
+      1067.0924        831.5024
+  20209713.5774  -28320657.00149 -22052460.54348  20209713.4424   20209718.4944
+       120.3794         93.8054
+  23203842.2324   -9370173.90749  -7283548.01246  23203842.5344   23203851.1454
+      3577.9784       2788.0264
+  22399698.3594  -11152585.29649  -8667670.33647  22399697.9284   22399702.9854
+     -2856.5164      -2225.8564
+  24464231.9534   -4076885.36948  -3165457.34444  24464232.5784   24464243.8964
+     -3577.9344      -2788.0054
+  23340317.3764   -6873681.07349  -5344935.61446  23340315.1844   23340324.3254
+     -3731.6194      -2907.7524
+  22864896.0594   -8414120.26249  -6341012.94946  22864895.1204   22864903.1034
+      1655.1144       1289.7034
+  22551946.3484  -12164274.35849  -9025167.74246  22551946.3794   22551955.9944
+      3140.4994       2447.1444
+ 05  1 20 17 25 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21241783.9204  -20683543.86049 -16072352.78448  21241783.2694   21241790.6144
+      1061.1714        826.8834
+  20209070.2494  -28324039.31649 -22055096.11048  20209069.8694   20209075.0894
+       105.0894         81.8854
+  23183434.7574   -9477405.44749  -7367104.86846  23183435.8624   23183445.6034
+      3570.8504       2782.4924
+  22416028.1994  -11066766.97049  -8600798.93247  22416028.1464   22416034.4974
+     -2864.6584      -2232.2084
+  24484653.4804   -3969572.03949  -3081836.64744  24484653.7484   24484663.1654
+     -3576.3334      -2786.7614
+  23361627.3634   -6761672.44749  -5257656.30646  23361628.4704   23361638.9084
+     -3735.6534      -2910.8884
+  22855490.0664   -8463547.35749  -6379527.45946  22855489.9484   22855498.0534
+      1639.9764       1277.8964
+  22534046.4714  -12258343.74449  -9098468.42047  22534046.5334   22534054.5214
+      3130.7454       2439.5414
+ 05  1 20 17 26  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21235742.6744  -20715289.52749 -16097089.63848  21235742.2884   21235749.4784
+      1055.2964        822.3074
+  20208514.3594  -28326962.83749 -22057374.16448  20208513.6104   20208518.6304
+        89.7724         69.9514
+  23163070.7314   -9584422.26749  -7450494.36646  23163070.7974   23163080.7694
+      3563.6604       2776.8624
+  22432405.5674  -10980706.86449  -8533739.11247  22432404.1514   22432410.6614
+     -2872.6884      -2238.4554
+  24505066.6204   -3862306.10549  -2998252.92245  24505064.0924   24505080.0104
+     -3574.6814      -2785.4634
+  23382966.6004   -6649543.51749  -5170283.25046  23382966.3194   23382976.6434
+     -3739.6054      -2913.9864
+  22846172.6594   -8512520.33949  -6417688.12246  22846170.3794   22846178.7344
+      1624.8064       1266.0724
+  22516199.2754  -12352118.60849  -9171539.61846  22516199.6644   22516208.8544
+      3120.8774       2431.8424
+ 05  1 20 17 26 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21229735.6234  -20746858.60649 -16121688.89448  21229734.7774   21229742.0374
+      1049.4414        817.7464
+  20208045.2604  -28329426.28449 -22059293.72148  20208044.8294   20208049.9954
+        74.4444         58.0114
+  23142746.4174   -9691222.35549  -7533715.01346  23142747.7334   23142757.4154
+      3556.3844       2771.1964
+  22448827.2784  -10894406.49949  -8466492.12547  22448827.5294   22448832.9264
+     -2880.6694      -2244.6784
+  24525473.6954   -3755090.16148  -2914708.17144  24525469.2054   24525474.8584
+     -3572.9004      -2784.0764
+  23404324.9894   -6537297.34149  -5082818.82646  23404325.7714   23404335.9854
+     -3743.4714      -2916.9924
+  22836938.1364   -8561036.83549  -6455493.09146  22836937.1434   22836945.7004
+      1609.5754       1254.2054
+  22498412.5344  -12445596.99849  -9244379.78146  22498412.6884   22498420.8274
+      3110.9814       2424.1424
+ 05  1 20 17 27  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21223762.2294  -20778251.01049 -16146150.48048  21223761.4444   21223768.2024
+      1043.5264        813.1354
+  20207664.1484  -28331428.53749 -22060853.90848  20207663.9534   20207668.7394
+        59.0364         45.9994
+  23122465.3744   -9797803.63349  -7616765.18546  23122466.5424   23122474.9374
+      3549.0554       2765.4924
+  22465295.8074  -10807868.85349  -8399060.18547  22465295.4884   22465300.7424
+     -2888.5044      -2250.7824
+  24545859.4384   -3647926.93348  -2831204.50344  24545859.0414   24545871.6274
+     -3571.1324      -2782.6904
+  23425707.5554   -6424937.10449  -4995265.51846  23425707.4754   23425716.7634
+     -3747.1974      -2919.8934
+  22827794.2534   -8609094.35849  -6492940.42746  22827793.6534   22827800.4444
+      1594.2284       1242.2704
+  22480681.4924  -12538777.04749  -9316987.46847  22480680.6774   22480689.6454
+      3101.0054       2416.3674
+ 05  1 20 17 27 30.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21217822.4214  -20809466.62949 -16170474.30648  21217821.3084   21217827.7014
+      1037.6184        808.5284
+  20207371.0904  -28332968.56449 -22062053.91748  20207370.5484   20207375.6454
+        43.5874         33.9644
+  23102225.1984   -9904163.85549  -7699643.09346  23102226.1214   23102235.1674
+      3541.6574       2759.7154
+  22481807.3054  -10721095.89049  -8331444.91347  22481806.7784   22481813.4564
+     -2896.3274      -2256.8714
+  24566239.6984   -3540819.21148  -2747744.11144  24566243.7714   24566255.3264
+     -3569.1524      -2781.1594
+  23447108.8244   -6312466.34049  -4907626.09546  23447109.4074   23447120.3094
+     -3750.8384      -2922.7264
+  22818737.4524   -8656690.50749  -6530028.25146  22818735.2354   22818742.8424
+      1578.8424       1230.2674
+  22463006.1214  -12631656.85149  -9389361.21147  22463006.0024   22463014.3784
+      3090.9524       2408.5254
+ 05  1 20 17 28  0.0000000  0  8G 7G28G 4G11G27G 8G20G24
+  21211915.7064  -20840505.56549 -16194660.46348  21211915.0494   21211921.3114
+      1031.7604        803.9684
+  20207166.2734  -28334045.22949 -22062892.86548  20207165.8434   20207170.9254
+        28.1534         21.9374
+  23082029.1094  -10010301.26749  -7782347.35946  23082028.0814   23082037.6924
+      3534.2144       2753.9224
+  22498365.1114  -10634090.20049  -8263648.31447  22498364.4754   22498369.7604
+     -2904.0544      -2262.8814
+  24586611.8444   -3433769.57048  -2664328.95744  24586613.1764   24586623.4914
+     -3567.4224      -2779.8014
+  23468536.0404   -6199888.00349  -4819902.83646  23468533.0224   23468542.4044
+     -3754.3854      -2925.4804
+  22809766.3844   -8703822.81249  -6566754.62746  22809766.1994   22809774.5164
+      1563.3094       1218.1484
+  22445389.0474  -12724234.63749  -9461499.61547  22445389.1004   22445398.2404
+      3080.8694       2400.6754
+ 05  1 20 17 28 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21206042.6044  -20871367.90249 -16218709.00748  21206042.0094   21206048.6384
+      1025.8444        799.3604
+  20207049.5754  -28334657.46349 -22063369.91548  20207049.1594   20207054.2264
+        12.6324          9.8444
+  23061872.6604  -10116213.48549  -7864876.16446  23061874.1174   23061883.7074
+      3526.6574       2748.0364
+  22514965.4964  -10546854.03949  -8195672.11147  22514964.6964   22514970.0884
+     -2911.6904      -2268.8394
+  23489974.7964   -6087205.54149  -4732098.49046  23489975.1964   23489986.8254
+     -3757.7494      -2928.1174
+  22800887.1114   -8750488.83649  -6603117.67946  22800885.8564   22800894.0414
+      1547.7454       1206.0264
+  22427828.7034  -12816508.31249  -9533401.05447  22427829.4974   22427838.8004
+      3070.6984       2392.7474
+ 05  1 20 17 29  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21200202.6564  -20902053.67549 -16242619.96948  21200202.3024   21200209.4824
+      1019.9544        794.7734
+  20207022.2244  -28334804.01649 -22063484.10148  20207021.3144   20207026.5934
+        -2.8954         -2.2554
+  23041763.7804  -10221898.50049  -7947227.96846  23041762.6114   23041772.0114
+      3519.0994       2742.1474
+  22531608.8864  -10459389.65449  -8127518.05746  22531608.7404   22531614.1534
+     -2919.2774      -2274.7694
+  23511437.1984   -5974421.59449  -4644215.03946  23511438.0634   23511448.8704
+     -3761.0974      -2930.7214
+  22792096.2074   -8796686.56049  -6639115.80246  22792095.4074   22792102.3894
+      1532.0914       1193.8384
+  22410328.9894  -12908476.10249  -9605064.14247  22410328.6284   22410337.5764
+      3060.4414       2384.7674
+ 05  1 20 17 29 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21194397.1794  -20932562.76849 -16266393.26148  21194396.6764   21194403.7434
+      1014.0524        790.1684
+  20207082.4114  -28334483.98549 -22063234.71848  20207082.3404   20207087.3374
+       -18.4534        -14.3814
+  23021694.6194  -10327354.29449  -8029401.11246  23021695.1804   23021705.2434
+      3511.3524       2736.1074
+  22548295.3474  -10371699.19549  -8059187.85046  22548295.2024   22548300.7904
+     -2926.7534      -2280.5954
+  23532920.4764   -5861539.62749  -4556255.19446  23532918.7834   23532930.0484
+     -3764.3284      -2933.2294
+  22783393.4804   -8842413.51549  -6674747.10346  22783393.1134   22783399.9504
+      1516.3594       1181.5654
+  22392886.2594  -13000136.21049  -9676487.47747  22392886.0394   22392894.8374
+      3050.1954       2376.7674
+ 05  1 20 17 30  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21188625.1254  -20962895.27949 -16290028.95648  21188624.5204   21188631.4404
+      1008.1784        785.5874
+  20207232.1914  -28333696.15749 -22062620.80948  20207231.8304   20207237.2304
+       -34.0594        -26.5414
+  23001670.6364  -10432578.65749  -8111393.96646  23001671.3354   23001680.3064
+      3503.6404       2730.0984
+  22565025.2434  -10283785.07149  -7990683.36146  22565024.7964   22565031.1894
+     -2934.1994      -2286.3824
+  23554418.7794   -5748562.49349  -4468221.21046  23554418.5434   23554428.4794
+     -3767.4664      -2935.6854
+  22774781.5724   -8887667.18149  -6710009.60946  22774782.2074   22774789.4204
+      1500.5594       1169.2504
+  22375502.4114  -13091486.66849  -9747669.54447  22375503.3934   22375511.2284
+      3039.8454       2368.7024
+ 05  1 20 17 30 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21182886.3134  -20993051.19449 -16313527.05248  21182886.0684   21182892.8474
+      1002.3014        781.0154
+  20207472.2354  -28332439.55349 -22061641.62448  20207471.2674   20207476.4564
+       -49.7184        -38.7404
+  22981692.7734  -10537569.60849  -8193204.92646  22981692.9764   22981701.0124
+      3495.8484       2724.0434
+  22581795.4154  -10195649.53949  -7922006.37046  22581796.1594   22581802.6214
+     -2941.5204      -2292.0944
+  23575935.3654   -5635493.74149  -4380115.81546  23575934.1414   23575945.1274
+     -3770.4414      -2938.0034
+  22766261.7154   -8932445.28449  -6744901.55347  22766260.6934   22766268.0384
+      1484.6364       1156.8614
+  22358179.2974  -13182525.87549  -9818609.06047  22358178.2564   22358187.0954
+      3029.4534       2360.6044
+ 05  1 20 17 31  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21177182.0384  -21023030.46649 -16336887.50148  21177180.9484   21177187.8784
+       996.4064        776.4164
+  20207800.6424  -28330713.39649 -22060296.55848  20207799.9114   20207804.7534
+       -65.3934        -50.9584
+  22961756.4594  -10642325.09349  -8274832.39446  22961756.7374   22961766.8924
+      3487.9434       2717.8704
+  22598609.4474  -10107295.23049  -7853158.90546  22598609.9374   22598616.5634
+     -2948.7644      -2297.7384
+  23597467.2974   -5522336.42649  -4291941.40546  23597467.8184   23597477.8144
+     -3773.3504      -2940.2744
+  22757831.4144   -8976745.77249  -6779421.32047  22757831.2894   22757837.9684
+      1468.6744       1144.4244
+  22340913.7674  -13273251.91749  -9889304.57747  22340913.9224   22340922.1704
+      3018.9444       2352.4174
+ 05  1 20 17 31 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21171510.1814  -21052833.16349 -16360110.36048  21171509.9854   21171516.7724
+       990.5174        771.8344
+  20208218.6524  -28328516.37749 -22058584.58148  20208217.9454   20208223.0694
+       -81.1154        -63.2084
+  22941867.9144  -10746842.96449  -8356274.71446  22941867.9374   22941878.3074
+      3479.9474       2711.6324
+  22615463.4444  -10018723.68849  -7784142.15046  22615463.7264   22615469.7644
+     -2955.9784      -2303.3614
+  23619019.0254   -5409093.46649  -4203700.27746  23619017.9384   23619027.4804
+     -3776.1454      -2942.4414
+  22749492.6594   -9020566.45749  -6813567.21047  22749491.7044   22749499.5984
+      1452.6584       1131.9434
+  22323711.0404  -13363663.04749  -9959754.71047  22323709.7184   22323718.0124
+      3008.4334       2344.2314
+ 05  1 20 17 32  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21165872.4904  -21082459.14349 -16383195.51548  21165871.8024   21165879.1434
+       984.6554        767.2604
+  20208726.3144  -28325847.16649 -22056504.66748  20208725.9014   20208730.7854
+       -96.8434        -75.4624
+  22922025.3004  -10851121.29749  -8437530.39646  22922025.7154   22922034.4574
+      3471.9104       2705.3684
+  22632360.1624   -9929937.32349  -7714957.98946  22632360.0334   22632366.3514
+     -2963.1224      -2308.9284
+  23640582.5164   -5295768.03949  -4115394.89346  23640582.1734   23640592.6204
+     -3778.8524      -2944.5644
+  22741245.6144   -9063904.76849  -6847337.23047  22741245.1134   22741252.0244
+      1436.5404       1119.3774
+  22306564.4244  -13453757.21649 -10029957.84047  22306564.3124   22306573.0444
+      2997.8264       2335.9694
+ 05  1 20 17 32 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21160268.5554  -21111908.53949 -16406143.07748  21160268.0634   21160274.9804
+       978.7384        762.6554
+  20209324.4284  -28322704.96049 -22054056.18648  20209323.8814   20209328.8344
+      -112.6294        -87.7624
+  22902226.7724  -10955157.86049  -8518597.68146  22902226.8844   22902237.3794
+      3463.8864       2699.1304
+  22649296.5934   -9840938.61249  -7645608.39446  22649296.2284   22649301.3084
+     -2970.1504      -2314.4014
+  23662164.2464   -5182362.89649  -4027027.38846  23662162.6694   23662172.0384
+     -3781.4484      -2946.5774
+  22733090.4104   -9106758.44049  -6880729.61447  22733090.0664   22733096.8464
+      1420.3504       1106.7654
+  22289480.6344  -13543532.63449 -10099912.62247  22289480.8264   22289489.4234
+      2987.1844       2327.6704
+ 05  1 20 17 33  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21154698.2614  -21141181.12949 -16428952.86748  21154697.4854   21154704.7994
+       972.8544        758.0654
+  20210012.5634  -28319089.13249 -22051238.64548  20210012.0434   20210016.7714
+      -128.4514       -100.0934
+  22882476.1184  -11058950.82049  -8599475.13546  22882475.8304   22882484.9454
+      3455.7084       2692.7464
+  22666271.7054   -9751730.03249  -7576095.26046  22666271.1574   22666278.3964
+     -2977.0794      -2319.7944
+  23683758.6964   -5068881.88349  -3938600.76846  23683757.3334   23683769.0054
+     -3783.8964      -2948.4894
+  22725029.3064   -9149125.35149  -6913742.69846  22725028.2224   22725034.3734
+      1404.0864       1094.1024
+  22272459.3214  -13632987.66849 -10169617.73547  22272458.4244   22272467.1654
+      2976.4494       2319.3134
+ 05  1 20 17 33 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21149161.9484  -21170277.06349 -16451625.00648  21149161.1704   21149167.9414
+       966.9584        753.4704
+  20210790.6304  -28314998.46049 -22048051.10548  20210790.1444   20210795.4084
+      -144.2854       -112.4314
+  22862771.8664  -11162498.03749  -8680161.11346  22862771.4294   22862780.8314
+      3447.4954       2686.3424
+  22683287.8544   -9662313.73649  -7506420.26546  22683287.4524   22683293.0494
+     -2984.0194      -2325.2024
+  23705366.2124   -4955328.01049  -3850117.38746  23705364.6684   23705376.6524
+     -3786.3274      -2950.3854
+  22717058.9594   -9191003.31749  -6946374.81546  22717058.8484   22717065.8484
+      1387.7594       1081.3694
+  22255497.3934  -13722120.24249 -10239071.58947  22255496.6564   22255505.1964
+      2965.7194       2310.9414
+ 05  1 20 17 34  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21143658.4684  -21199196.36649 -16474159.50048  21143657.4794   21143664.6394
+       961.0764        748.8904
+  20211659.6914  -28310432.03549 -22044492.84048  20211658.9504   20211664.3024
+      -160.1654       -124.8054
+  22843114.3374  -11265797.53149  -8760654.06446  22843114.6854   22843121.9404
+      3439.1814       2679.8754
+  22700341.2134   -9572691.86749  -7436585.09546  22700342.3114   22700347.6284
+     -2990.8274      -2330.5144
+  23726989.6084   -4841703.91149  -3761579.26746  23726988.2804   23726999.3014
+     -3788.6064      -2952.1634
+  22709183.9904   -9232390.17649  -6978624.20346  22709183.0674   22709190.4384
+      1371.3514       1068.5764
+  22238596.2844  -13810928.92049 -10308273.04347  22238597.3514   22238605.5244
+      2954.8494       2302.4884
+ 05  1 20 17 34 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21138188.9594  -21227938.91849 -16496556.27848  21138188.5914   21138195.3484
+       955.1774        744.2934
+  20212618.8534  -28305388.98749 -22040563.19048  20212618.5694   20212623.8764
+      -176.0604       -137.1914
+  22823504.2524  -11368847.35049  -8840952.46946  22823504.0444   22823513.6524
+      3430.8314       2673.3624
+  22717435.2494   -9482866.60649  -7366591.43646  22717435.0624   22717441.3354
+     -2997.5544      -2335.7474
+  23748623.9704   -4728013.51049  -3672989.51846  23748623.6674   23748633.9254
+     -3790.7674      -2953.8394
+  22701401.5344   -9273283.82549  -7010489.31746  22701400.7454   22701408.3284
+      1354.8404       1055.7324
+  22221759.2614  -13899411.70949 -10377220.58147  22221759.2054   22221767.4394
+      2943.9724       2294.0074
+ 05  1 20 17 35  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21132753.1454  -21256504.63949 -16518815.25448  21132752.0694   21132759.3404
+       949.3114        739.7254
+  20213670.0194  -28299868.19649 -22036261.27548  20213669.3934   20213674.2794
+      -191.9924       -149.6044
+  22803943.1294  -11471645.40849  -8921054.68146  22803942.6824   22803951.4894
+      3422.4274       2666.8094
+  22734566.5534   -9392840.34449  -7296441.16046  22734567.1154   22734572.8264
+     -3004.1834      -2340.9144
+  23770269.8414   -4614259.04049  -3584349.83946  23770270.3264   23770280.1944
+     -3792.8354      -2955.4454
+  22693714.2064   -9313682.24449  -7041968.54146  22693712.9744   22693720.4774
+      1338.3394       1042.8574
+  22204984.6874  -13987566.92949 -10445912.85747  22204983.6924   22204991.9674
+      2933.0524       2285.5004
+ 05  1 20 17 35 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21127351.0894  -21284893.50749 -16540936.43648  21127350.0924   21127356.8024
+       943.3884        735.1094
+  20214811.0814  -28293868.98349 -22031586.55448  20214810.8774   20214815.9184
+      -207.9714       -162.0564
+  22784429.2414  -11574189.53049  -9000959.03946  22784430.2264   22784437.4814
+      3413.9334       2660.2104
+  22751736.1294   -9302615.12149  -7226135.85346  22751735.9924   22751741.5494
+     -3010.8634      -2346.1044
+  23791928.6834   -4500443.84149  -3495662.81346  23791928.2434   23791938.7504
+     -3794.8474      -2957.0234
+  22686120.6444   -9353582.91849  -7073059.86546  22686120.5784   22686127.7184
+      1321.7034       1029.8944
+  22188271.7464  -14075393.10649 -10514348.73547  22188272.0374   22188279.4534
+      2922.0284       2276.9064
+ 05  1 20 17 36  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21121982.3314  -21313105.58949 -16562919.86248  21121981.5154   21121988.5914
+       937.5434        730.5554
+  20216044.3084  -28287390.34149 -22026538.26048  20216043.7254   20216048.8144
+      -223.9684       -174.5184
+  22764963.1794  -11676477.98049  -9080664.18646  22764963.6454   22764972.6674
+      3405.3454       2653.5294
+  22768942.7274   -9212193.53549  -7155677.49846  22768942.8434   22768948.2254
+     -3017.3164      -2351.1514
+  23813598.8024   -4386571.07449  -3406930.94145  23813596.9604   23813607.8404
+     -3796.6784      -2958.4474
+  22678624.1234   -9392983.92449  -7103761.86146  22678622.3544   22678630.2274
+      1305.0064       1016.8884
+  22171622.2024  -14162888.38149 -10582526.77247  22171620.5224   22171629.3154
+      2910.9734       2268.2964
+ 05  1 20 17 36 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21116646.8004  -21341140.72049 -16584765.40248  21116646.4084   21116653.4784
+       931.5694        725.8974
+  20217367.9364  -28280431.57449 -22021115.83748  20217367.8794   20217373.1144
+      -239.9824       -187.0004
+  22745549.5034  -11778508.66649  -9160168.45946  22745548.7634   22745556.9264
+      3396.7354       2646.7974
+  22786187.0254   -9121577.50649  -7085067.66146  22786186.9844   22786192.1514
+     -3023.7654      -2356.1884
+  23835277.6194   -4272644.00649  -3318156.77146  23835277.7004   23835286.5404
+     -3798.4334      -2959.8114
+  22671221.0304   -9431883.21749  -7134072.93946  22671220.1864   22671227.5524
+      1288.2704       1003.8424
+  22155034.7544  -14250050.98049 -10650445.56347  22155034.6684   22155042.7334
+      2899.8524       2259.6254
+ 05  1 20 17 37  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21111345.5114  -21368998.82749 -16606473.00648  21111345.3704   21111352.3834
+       925.6874        721.3134
+  20218784.3964  -28272991.82449 -22015318.62448  20218783.8794   20218789.0484
+      -256.0294       -199.5044
+  22726179.7844  -11880279.66249  -9239470.38746  22726181.2074   22726189.7054
+      3388.0524       2640.0234
+  22803467.0784   -9030769.28149  -7014308.06446  22803466.1604   22803472.2114
+     -3030.1664      -2361.1724
+  23856967.9724   -4158665.53549  -3229342.51946  23856967.4334   23856978.1744
+     -3800.0854      -2961.1014
+  22663914.5554   -9470278.75649  -7163991.44146  22663913.4474   22663920.7214
+      1271.4004        990.6994
+  22138511.8574  -14336879.09549 -10718103.74347  22138511.2394   22138519.6084
+      2888.6594       2250.9034
+ 05  1 20 17 37 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21106078.6004  -21396679.94849 -16628042.69948  21106077.8214   21106084.9234
+       919.7954        716.7224
+  20220291.9184  -28265069.79249 -22009145.61248  20220291.6274   20220296.3394
+      -272.1094       -212.0374
+  22706863.7594  -11981788.72649  -9318568.23046  22706865.6164   22706873.7134
+      3379.2314       2633.1634
+  22820782.8754   -8939770.97149  -6943400.35346  22820783.3714   22820789.1534
+     -3036.4374      -2366.0524
+  23878665.9284   -4044639.00549  -3140490.84946  23878665.5694   23878677.1124
+     -3801.6344      -2962.3074
+  22656703.4394   -9508168.42249  -7193515.79046  22656703.1804   22656710.2444
+      1254.5504        977.5594
+  22122052.0464  -14423371.22349 -10785500.09447  22122052.0644   22122060.8634
+      2877.4584       2242.1794
+ 05  1 20 17 38  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21100844.8974  -21424184.02749 -16649474.43648  21100844.0934   21100850.8714
+       913.8824        712.1144
+  20221891.1884  -28256664.97349 -22002596.40048  20221890.5614   20221895.7544
+      -288.2244       -224.5914
+  22687600.2144  -12083034.12249  -9397460.60046  22687598.4384   22687606.8434
+      3370.4824       2626.3524
+  22838135.4554   -8848584.82549  -6872346.25846  22838135.2574   22838140.7114
+     -3042.6664      -2370.9174
+  23900370.3664   -3930566.85549  -3051603.61345  23900370.6214   23900384.7604
+     -3803.1264      -2963.4584
+  22649590.9674   -9545550.31349  -7222644.46346  22649590.6194   22649596.4464
+      1237.5554        964.3264
+  22105658.8474  -14509525.52649 -10852633.22547  22105657.9844   22105666.3844
+      2866.1694       2233.3764
+ 05  1 20 17 38 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21095644.6274  -21451510.93249 -16670768.10748  21095643.8284   21095650.6424
+       907.9684        707.5074
+  20223582.7124  -28247776.45149 -21995670.27048  20223581.9964   20223587.1484
+      -304.3594       -237.1624
+  22668383.1984  -12184013.80849  -9476145.91846  22668383.3644   22668390.0204
+      3361.5844       2619.4124
+  22855522.6434   -8757213.06549  -6801147.53546  22855522.5444   22855528.9334
+     -3048.7634      -2375.6474
+  23922089.6184   -3816452.60849  -2962683.61545  23922088.4514   23922098.4824
+     -3804.4584      -2964.5074
+  22642573.4404   -9582422.30749  -7251375.81046  22642572.8694   22642581.0564
+      1220.5274        951.0534
+  22089327.9974  -14595340.41949 -10919501.85547  22089327.3564   22089335.8764
+      2854.8144       2224.5274
+ 05  1 20 17 39  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21090478.2604  -21478660.62649 -16691923.70248  21090477.1814   21090484.1354
+       902.0804        702.9194
+  20225366.0464  -28238403.54949 -21988366.70548  20225365.8824   20225370.8584
+      -320.5224       -249.7614
+  22649217.0674  -12284725.86749  -9554622.70946  22649217.2164   22649225.8794
+      3352.6254       2612.4444
+  22872944.4354   -8665657.95449  -6729805.97046  22872944.7764   22872951.8124
+     -3054.8634      -2380.4074
+  23943811.6004   -3702299.26249  -2873733.10946  23943811.1544   23943822.3674
+     -3805.7484      -2965.5164
+  22635654.7794   -9618782.39349  -7279708.27846  22635654.1534   22635660.5634
+      1203.4414        937.7464
+  22073063.2814  -14680814.13249 -10986104.65547  22073062.5784   22073071.0634
+      2843.3864       2215.6164
+ 05  1 20 17 39 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21085345.3824  -21505633.09449 -16712941.19848  21085344.6064   21085351.4994
+       896.1854        698.3274
+  20227241.8254  -28228545.32549 -21980684.97048  20227241.4904   20227246.5764
+      -336.7084       -262.3684
+  22630102.5724  -12385168.34349  -9632889.41646  22630103.9244   22630112.1584
+      3343.5814       2605.3914
+  22890402.4744   -8573921.64849  -6658323.20346  22890402.8724   22890408.7784
+     -3060.9114      -2385.1174
+  23965541.2484   -3588109.72049  -2784754.41846  23965542.4404   23965551.7984
+     -3806.8624      -2966.3774
+  22628833.0404   -9654628.60149  -7307640.32146  22628832.7154   22628840.3654
+      1186.2834        924.3734
+  22056862.9094  -14765945.22649 -11052440.46347  22056862.3724   22056870.9864
+      2831.9484       2206.7124
+ 05  1 20 17 40  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21080246.5204  -21532428.15749 -16733820.45648  21080245.6414   21080252.5124
+       890.2314        693.6874
+  20229210.3204  -28218201.10049 -21972624.53648  20229210.0294   20229215.1574
+      -352.9024       -274.9874
+  22611041.7754  -12485339.21849  -9710944.50346  22611042.5004   22611049.7134
+      3334.5324       2598.3284
+  22907894.1054   -8482006.54449  -6586701.11646  22907893.2464   22907898.9654
+     -3066.7954      -2389.7074
+  23987276.9084   -3473887.18549  -2695750.01346  23987277.8744   23987288.5114
+     -3807.9414      -2967.2174
+  22622110.3764   -9689959.03349  -7335170.46846  22622109.4974   22622117.3404
+      1169.0484        910.9514
+  22040728.0054  -14850731.87949 -11118507.88947  22040727.9804   22040736.3094
+      2820.4704       2197.7614
+ 05  1 20 17 40 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21075180.7764  -21559045.83049 -16754561.48548  21075180.3904   21075187.3454
+       884.3124        689.0694
+  20231271.3474  -28207369.94349 -21964184.66148  20231270.8294   20231276.0934
+      -369.1834       -287.6804
+  22592031.9654  -12585236.63549  -9788786.51046  22592031.6834   22592040.2144
+      3325.3594       2591.1984
+  22925417.7074   -8389914.69649  -6514941.27646  22925417.8364   22925423.4644
+     -3072.6994      -2394.2954
+  24009018.6774   -3359634.70349  -2606722.25345  24009019.1814   24009029.5154
+     -3808.8734      -2967.9444
+  22615485.5734   -9724771.77249  -7362297.24646  22615484.0924   22615491.7924
+      1151.7564        897.4724
+  22024660.4124  -14935172.49149 -11184305.65247  22024659.2554   22024667.2874
+      2808.8794       2188.7384
+ 05  1 20 17 41  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21070149.8634  -21585485.91649 -16775164.13248  21070149.1034   21070155.9154
+       878.3934        684.4624
+  20233425.7904  -28196051.36549 -21955364.98548  20233425.0244   20233430.1774
+      -385.4184       -300.3244
+  22573073.9494  -12684858.74349  -9866413.96746  22573074.3984   22573082.8644
+      3316.1614       2584.0074
+  22942976.1734   -8297648.22349  -6443045.36146  22942975.7274   22942981.4764
+     -3078.4324      -2398.7844
+  24030767.0484   -3245355.48249  -2517673.67145  24030765.5874   24030776.3684
+     -3809.6954      -2968.5944
+  22608959.5324   -9759064.90849  -7389019.11347  22608958.7794   22608966.5874
+      1134.4204        883.9614
+  22008656.8954  -15019265.56649 -11249832.62947  22008656.8954   22008665.1104
+      2797.2954       2179.7084
+ 05  1 20 17 41 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21065152.6334  -21611748.35249 -16795628.34848  21065151.6724   21065158.4474
+       872.5004        679.8704
+  20235671.6414  -28184244.50049 -21946164.82548  20235671.6464   20235676.9054
+      -401.7044       -313.0154
+  22554169.0854  -12784203.44949  -9943825.29946  22554169.5954   22554178.1974
+      3306.8884       2576.7934
+  22960566.8664   -8205209.09249  -6371014.91746  22960566.0524   22960572.3514
+     -3084.1404      -2403.2374
+  24052518.5234   -3131052.18649  -2428606.34345  24052517.4184   24052527.1774
+     -3810.4644      -2969.1884
+  22602535.0784   -9792836.41549  -7415334.54847  22602532.6944   22602539.5894
+      1116.9874        870.3784
+  21992720.4114  -15103009.57449 -11315087.59747  21992720.8724   21992729.9194
+      2785.6244       2170.6134
+ 05  1 20 17 42  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21060188.7994  -21637833.20949 -16815954.19448  21060187.7764   21060194.6864
+       866.6124        675.2824
+  20238011.4184  -28171948.76149 -21936583.72248  20238011.5294   20238016.6674
+      -418.0124       -325.7204
+  22535317.4504  -12883268.86449 -10021018.96746  22535317.4354   22535326.0734
+      3297.5394       2569.5074
+  22978187.2644   -8112599.61649  -6298851.77246  22978189.3214   22978195.0614
+     -3089.7974      -2407.6224
+  24074271.1824   -3016728.16649  -2339522.81745  24074270.9674   24074283.2244
+     -3811.0874      -2969.6684
+  22596206.1424   -9826084.71149  -7441242.27247  22596205.7654   22596212.4594
+      1099.5324        856.7884
+  21976851.6854  -15186402.66449 -11380069.13447  21976851.7754   21976859.6244
+      2773.9114       2161.4884
+ 05  1 20 17 42 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21055258.8664  -21663740.15849 -16836141.41048  21055257.9484   21055264.6044
+       860.6394        670.6244
+  20240444.7454  -28159163.39949 -21926621.10348  20240444.4224   20240449.5494
+      -434.3694       -338.4724
+  22516520.9064  -12982053.23249 -10097993.65346  22516519.8064   22516527.8224
+      3288.1244       2562.1504
+  22995844.4774   -8019821.95849  -6226557.56346  22995843.6684   22995850.4884
+     -3095.3394      -2411.9514
+  24096031.3134   -2902386.22449  -2250425.35445  24096029.1474   24096042.5994
+     -3811.7054      -2970.1554
+  22589979.4764   -9858807.62649  -7466740.59847  22589978.1544   22589986.1224
+      1081.9584        843.0794
+  21961050.7894  -15269443.31849 -11444776.04447  21961050.1034   21961057.5524
+      2762.0844       2152.2714
+ 05  1 20 17 43  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21050362.4624  -21689469.32249 -16856190.09748  21050361.9004   21050368.4684
+       854.6974        665.9994
+  20242971.5954  -28145887.68949 -21916276.38948  20242970.8314   20242975.8524
+      -450.6984       -351.1934
+  22497775.4314  -13080554.38949 -10174747.65646  22497775.5804   22497783.1034
+      3278.6354       2554.7654
+  23013530.8864   -7926878.49449  -6154134.15646  23013530.1564   23013537.0194
+     -3100.8584      -2416.2534
+  24117791.1864   -2788029.20949  -2161316.19245  24117791.8664   24117804.3694
+     -3812.1394      -2970.4874
+  22583851.8814   -9891003.44649  -7491828.22046  22583851.0484   22583858.5854
+      1064.3644        829.3694
+  21945314.7154  -15352129.97249 -11509207.10547  21945314.8454   21945322.9584
+      2750.2934       2143.0904
+ 05  1 20 17 43 30.0000000  0  7G 7G28G 4G11G 8G20G24
+  21045499.9864  -21715020.51849 -16876100.10348  21045499.5084   21045506.3224
+       848.7944        661.3964
+  20245590.7184  -28132120.95949 -21905549.06448  20245590.5264   20245595.3544
+      -467.0684       -363.9524
+  22479083.5484  -13178770.64849 -10251279.66446  22479085.2944   22479094.0764
+      3269.1434       2547.3724
+  23031247.2914   -7833771.20349  -6081583.08946  23031247.9404   23031254.1814
+     -3106.3034      -2420.4884
+  24139555.5244   -2673660.20249  -2072197.69345  24139555.7804   24139566.7904
+     -3812.4724      -2970.7494
+  22577826.8434   -9922670.69749  -7516503.98246  22577826.4094   22577832.4024
+      1046.7234        815.6374
+  21929648.1624  -15434461.29149 -11573361.28747  21929647.5504   21929655.4424
+      2738.4554       2133.8584
+ 05  1 20 17 44  0.0000000  0  7G 7G28G 4G11G 8G20G24
+  21040671.7734  -21740393.56549 -16895871.29548  21040671.1094   21040677.7214
+       842.8624        656.7744
+  20248304.2464  -28117862.76049 -21894438.77948  20248303.7274   20248308.8304
+      -483.4734       -376.7324
+  22460449.6434  -13276700.19049 -10327588.26246  22460449.7934   22460457.8844
+      3259.5474       2539.9024
+  23048997.6404   -7740502.19549  -6008906.01346  23048997.3334   23049002.8244
+     -3111.6284      -2424.6504
+  24161322.7314   -2559282.59549  -1983072.46345  24161321.3674   24161332.5044
+     -3812.6654      -2970.8964
+  22571900.6794   -9953807.12849  -7540766.10746  22571900.9714   22571906.9154
+      1029.0124        801.8204
+  21914049.5514  -15516435.50549 -11637237.21347  21914048.4374   21914056.4524
+      2726.4834       2124.5294
+ 05  1 20 17 44 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24252660.6064    -152859.94549   -104589.93145
+      1946.6474       1516.8684
+  21035877.2394  -21765588.36449 -16915503.59148  21035876.6774   21035883.5524
+       836.8954        652.1244
+  20251110.7204  -28103112.32949 -21882944.93048  20251110.4594   20251115.7844
+      -499.8934       -389.5254
+  22441869.4774  -13374340.83149 -10403671.73046  22441869.1414   22441877.5894
+      3249.9214       2532.4184
+  23066776.1344   -7647073.58649  -5936104.58946  23066776.3764   23066782.0504
+     -3116.9194      -2428.7674
+  24183085.9694   -2444899.04149  -1893942.58045  24183087.2054   24183100.0404
+     -3812.8694      -2971.0574
+  22566078.5654   -9984411.10649  -7564613.32747  22566077.4684   22566083.0924
+      1011.2284        787.9824
+  21898516.4574  -15598050.98549 -11700833.60947  21898517.1984   21898525.5034
+      2714.5284       2115.2214
+ 05  1 20 17 45  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24241597.3274    -211004.59149   -149897.43645                  24241606.2824
+      1929.5764       1503.5654
+  21031116.9704  -21790604.86849 -16934996.95448  21031116.2344   21031123.1814
+       830.9714        647.5104
+  20254012.1204  -28087869.01649 -21871067.02248  20254011.6194   20254016.4284
+      -516.3204       -402.3274
+  22423344.0184  -13471690.90749 -10479528.80446  22423344.4644   22423351.5864
+      3240.1874       2524.8184
+  23084585.0874   -7553487.49749  -5863180.43146  23084584.5674   23084590.4014
+     -3122.1364      -2432.8354
+  24204855.5444   -2330512.67449  -1804810.54445  24204854.9634   24204865.7894
+     -3812.8774      -2971.0734
+  22560354.8814  -10014480.94949  -7588044.34147  22560355.1254   22560362.7184
+       993.3864        774.0644
+  21883055.0044  -15679306.51849 -11764149.52047  21883055.2224   21883063.2994
+      2702.4974       2105.8284
+ 05  1 20 17 45 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24230628.5144    -268636.95849   -194805.70845  24230626.5954   24230640.4074
+      1912.5344       1490.2804
+  21026390.5344  -21815442.94149 -16954351.28948  21026389.8314   21026396.6314
+       825.0214        642.8754
+  20257006.3404  -28072132.25549 -21858804.61848  20257006.2084   20257010.8924
+      -532.7984       -415.1644
+  22404874.7704  -13568748.42649 -10555157.91646  22404874.9374   22404882.5754
+      3230.4124       2517.2034
+  23102423.3414   -7459746.02749  -5790135.20746  23102423.4094   23102428.3914
+     -3127.2964      -2436.8704
+  24226622.6614   -2216126.22349  -1715678.43845  24226622.3854   24226633.8764
+     -3812.8344      -2971.0254
+  22554736.4624  -10044014.98149  -7611057.84047  22554735.4084   22554741.5264
+       975.5274        760.1494
+  21867661.9584  -15760200.37149 -11827183.60947  21867661.3044   21867669.1724
+      2690.4014       2096.4194
+ 05  1 20 17 46  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24219756.1414    -325755.15958   -239313.38255  24219755.6814   24219769.9834
+      1895.1934       1476.7714
+  21021697.9944  -21840102.43149 -16973566.46348  21021697.3104   21021703.8464
+       819.0494        638.2184
+  20260095.1734  -28055901.55149 -21846157.30548  20260094.5154   20260099.5794
+      -549.2764       -428.0094
+  22386461.0154  -13665511.79949 -10630557.82146  22386460.8184   22386468.5914
+      3220.5614       2509.5244
+  23120289.7864   -7365851.27149  -5716970.52446  23120291.0554   23120296.2664
+     -3132.3714      -2440.7954
+  24248388.2964   -2101742.62549  -1626548.49645  24248388.0364   24248398.2384
+     -3812.6774      -2970.9114
+  22549216.6324  -10073011.55849  -7633652.53247  22549216.6784   22549223.6914
+       957.5594        746.1424
+  21852337.2184  -15840731.11849 -11889934.75547  21852336.7524   21852344.7844
+      2678.2644       2086.9574
+ 05  1 20 17 46 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24208985.2854    -382357.16549   -283418.78445  24208986.2384   24208999.9394
+      1878.1624       1463.5024
+  21017039.3914  -21864583.18749 -16992642.36948  21017038.7324   21017045.5064
+       813.0974        633.5844
+  20263277.6234  -28039176.37549 -21833124.69848  20263277.0644   20263282.6334
+      -565.7674       -440.8554
+  22368103.4064  -13761979.03849 -10705726.96346  22368104.2374   22368111.8044
+      3210.6364       2501.7844
+  23138187.6074   -7271805.35749  -5643688.06146  23138186.9784   23138192.3464
+     -3137.3814      -2444.7024
+  24270152.2654   -1987364.86849  -1537423.11045  24270153.1294   24270165.7744
+     -3812.4354      -2970.7144
+  22543802.4614  -10101468.85049  -7655827.00647  22543801.5054   22543807.9434
+       939.5624        732.1254
+  21837081.7494  -15920897.27349 -11952401.81447  21837081.6904   21837089.3554
+      2666.0964       2077.4714
+ 05  1 20 17 47  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24198317.1144    -438441.22549   -327120.58845  24198316.5294   24198326.2394
+      1860.7504       1449.9334
+  21012414.8274  -21888885.18849 -17011578.98748  21012414.1534   21012421.1464
+       807.1204        628.9294
+  20266554.3764  -28021956.08449 -21819706.28848  20266554.1334   20266559.1614
+      -582.2894       -453.7314
+  22349803.4034  -13858148.19049 -10780663.85146  22349803.9714   22349811.0484
+      3200.6844       2494.0474
+  23156111.8754   -7177610.35649  -5570289.45846  23156111.5544   23156117.9684
+     -3142.2914      -2448.5394
+  24291917.4314   -1872996.37349  -1448305.01045  24291917.7984   24291929.3934
+     -3812.1344      -2970.4924
+  22538488.8164  -10129385.27749  -7677580.03847  22538488.5054   22538495.3924
+       921.4714        718.0334
+  21821896.2554  -16000697.32049 -12014583.59047  21821895.7034   21821903.5374
+      2653.8864       2067.9624
+ 05  1 20 17 47 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24187745.1884    -494005.68249   -370417.51645  24187745.2464   24187753.0084
+      1843.4004       1436.4164
+  21007824.2074  -21913008.07249 -17030376.03348  21007823.5704   21007830.3264
+       801.1504        624.2724
+  20269925.2684  -28004240.21949 -21805901.71648  20269925.0654   20269930.8064
+      -598.8184       -466.6124
+  22331559.0474  -13954017.59949 -10855367.17146  22331559.7814   22331566.8474
+      3190.6304       2486.1834
+  23174065.0674   -7083268.55949  -5496776.44946  23174064.6484   23174070.3454
+     -3147.2004      -2452.3564
+  24313676.4034   -1758639.24549  -1359195.74745  24313679.4524   24313689.5484
+     -3811.6354      -2970.0944
+  22533281.0884  -10156759.25049  -7698910.35547  22533280.0384   22533286.6474
+       903.3774        703.9254
+  21806780.4194  -16080129.86049 -12076478.99247  21806780.2574   21806788.1044
+      2641.6104       2058.3914
+ 05  1 20 17 48  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24177270.4014    -549048.85149   -413308.25945  24177272.0124   24177277.3334
+      1826.1544       1422.9764
+  21003267.7534  -21936951.81349 -17049033.48648  21003267.1444   21003273.9924
+       795.1664        619.6124
+  20273391.7434  -27986028.22349 -21791710.54448  20273390.9814   20273396.1704
+      -615.3564       -479.5004
+  22313374.2064  -14049585.41449 -10929835.47246  22313374.1284   22313381.1774
+      3180.5694       2478.3564
+  23192044.9164   -6988781.91249  -5423150.56146  23192044.2804   23192051.2684
+     -3151.9364      -2456.0474
+  24335437.1644   -1644297.27349  -1270098.32445  24335436.8404   24335448.7364
+     -3811.1064      -2969.6864
+  22528174.4054  -10183589.12649  -7719816.72447  22528174.5244   22528181.5804
+       885.2184        689.7764
+  21791734.8904  -16159193.42549 -12138086.88347  21791734.7854   21791742.7434
+      2629.2944       2048.7964
+ 05  1 20 17 48 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24166899.5644    -603568.88549   -455791.38745  24166898.1414   24166902.3584
+      1808.6724       1409.3574
+  20998745.6534  -21960716.29049 -17067551.25548  20998744.9364   20998751.6144
+       789.2304        614.9824
+  20276951.5194  -27967319.51949 -21777132.33348  20276951.0534   20276956.1934
+      -631.9134       -492.4014
+  22295246.4534  -14144849.70149 -11004067.29247  22295246.1434   22295253.4444
+      3170.4554       2470.4814
+  23210051.3364   -6894152.54449  -5349413.45346  23210052.2454   23210057.1994
+     -3156.7084      -2459.7694
+  24357194.2004   -1529973.25749  -1181014.87245  24357194.7354   24357204.6824
+     -3810.4634      -2969.1824
+  22523173.7924  -10209873.37849  -7740297.95047  22523172.1974   22523179.8004
+       867.0144        675.5884
+  21776761.4504  -16237886.66849 -12199406.22947  21776760.2384   21776767.5654
+      2616.9094       2039.1424
+ 05  1 20 17 49  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24156623.3984    -657564.14349   -497865.59345  24156622.9044   24156626.0044
+      1791.0264       1395.6064
+  20994257.6894  -21984301.36349 -17085929.22548  20994256.8854   20994263.7724
+       783.2224        610.3034
+  20280606.2844  -27948113.81049 -21762166.84848  20280606.0844   20280611.1604
+      -648.4784       -505.3064
+  22277175.2604  -14239808.78549 -11078061.26546  22277175.3094   22277182.5824
+      3160.2034       2462.4964
+  23228085.6434   -6799382.53149  -5275566.75046  23228086.6584   23228093.0954
+     -3161.2834      -2463.3294
+  24378946.7634   -1415669.64149  -1091947.30045  24378945.8364   24378958.4114
+     -3809.8174      -2968.6914
+  22518275.5474  -10235610.46049  -7760352.79047  22518274.9264   22518281.3674
+       848.7884        661.3924
+  21761854.8614  -16316208.13749 -12260435.87747  21761855.1904   21761863.6104
+      2604.4824       2029.4704
+ 05  1 20 17 49 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24146450.9784    -711032.96349   -539529.56945  24146451.0054   24146450.8284
+      1773.4924       1381.9444
+  20989803.0864  -22007706.86049 -17104167.25948  20989802.9364   20989809.8124
+       777.2384        605.6354
+  20284355.4934  -27928410.70249 -21746813.77548  20284355.2884   20284360.2664
+      -665.0704       -518.2374
+  22259163.4574  -14334460.79549 -11151815.97047  22259163.5874   22259171.6434
+      3149.9764       2454.5124
+  23246148.4974   -6704474.01949  -5201612.11946  23246147.0744   23246152.7924
+     -3165.9314      -2466.9524
+  24400691.3064   -1301389.38549  -1002897.97545  24400692.9664   24400702.0074
+     -3808.9064      -2967.9754
+  22513483.0984  -10260798.85449  -7779980.08047  22513482.7154   22513488.9114
+       830.4724        647.1114
+  21747024.2604  -16394156.29249 -12321174.62747  21747023.5004   21747030.6544
+      2592.0424       2019.7764
+ 05  1 20 17 50  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24136370.3214    -763973.67748   -580782.04245  24136369.5554   24136375.6214
+      1756.0374       1368.3404
+  20985384.5864  -22030932.48749 -17122265.13948  20985383.6794   20985390.2474
+       771.2274        600.9554
+  20288199.6654  -27908209.64649 -21731072.68348  20288199.1354   20288204.4354
+      -681.6644       -531.1674
+  22241210.2264  -14428803.99149 -11225330.04147  22241210.2194   22241217.9264
+      3139.6394       2446.4684
+  23264235.0264   -6609428.83349  -5127551.02246  23264234.6534   23264239.8604
+     -3170.4334      -2470.4574
+  24422436.1254   -1187135.80949   -913869.35045  24422434.7014   24422445.9854
+     -3807.9874      -2967.2544
+  22508794.9224  -10285436.92849  -7799178.56447  22508793.7044   22508799.7434
+       812.0644        632.7804
+  21732261.2104  -16471729.63349 -12381621.30947  21732260.6344   21732269.4014
+      2579.5184       2010.0134
+ 05  1 20 17 50 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24126396.1414    -816384.35048   -621621.47445  24126396.5674   24126405.4324
+      1738.0634       1354.3364
+  20980999.0884  -22053978.20549 -17140222.82848  20980998.3324   20981004.6794
+       765.2304        596.2834
+  20292138.3824  -27887510.15849 -21714943.21448  20292138.1374   20292143.3144
+      -698.3014       -544.1294
+  22223317.1284  -14522836.66049 -11298602.14147  22223317.0164   22223325.0524
+      3129.2764       2438.4004
+  23282344.9524   -6514249.14449  -5053385.11046  23282345.4834   23282352.3894
+     -3174.8964      -2473.9344
+  24444169.7264   -1072911.15949   -824863.34145  24444169.6784   24444179.5074
+     -3806.9864      -2966.4734
+  22504210.7474  -10309523.29149  -7817947.12447  22504209.7184   22504216.4024
+       793.6734        618.4454
+  21717570.9294  -16548927.03549 -12441775.06947  21717570.9134   21717578.8994
+      2566.9534       2000.2224
+ 05  1 20 17 51  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24116519.2664    -868263.59949   -662046.85245  24116520.6634   24116531.9084
+      1720.4374       1340.5994
+  20976646.7624  -22076843.85149 -17158040.19948  20976646.4334   20976653.7564
+       759.2294        591.6094
+  20296172.4374  -27866311.89549 -21698425.08548  20296172.2294   20296177.6424
+      -714.9204       -557.0774
+  22205483.1994  -14616556.89849 -11371630.79047  22205482.8574   22205491.2464
+      3118.8124       2430.2454
+  23300482.6834   -6418936.72449  -4979115.75046  23300483.0704   23300489.4264
+     -3179.3034      -2477.3714
+  24465899.8234    -958718.93349   -735882.58345  24465899.8334   24465912.1824
+     -3805.7864      -2965.5394
+  22499732.1494  -10333056.41249  -7836284.60847  22499732.4314   22499739.0584
+       775.2174        604.0574
+  21702952.6504  -16625747.08749 -12501634.78847  21702952.3034   21702960.7824
+      2554.3764       1990.4174
+ 05  1 20 17 51 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24106752.5984    -919609.59949   -702056.71245  24106752.3674   24106760.0864
+      1702.6144       1326.7164
+  20972330.4564  -22099529.30249 -17175717.16448  20972329.4994   20972336.6624
+       753.2284        586.9334
+  20300301.8054  -27844614.48849 -21681518.01248  20300300.9234   20300306.2904
+      -731.5794       -570.0594
+  22187707.6224  -14709963.10249 -11444414.74747  22187708.0804   22187715.0694
+      3108.3294       2422.0734
+  23318645.0924   -6323494.00149  -4904744.88346  23318644.9924   23318651.0794
+     -3183.6074      -2480.7454
+  24487623.5894    -844562.24749   -646929.52845  24487623.9264   24487634.8754
+     -3804.5574      -2964.5854
+  22495359.5364  -10356034.93949  -7854189.92147  22495358.8104   22495365.6164
+       756.6834        589.5934
+  21688405.1424  -16702188.18049 -12561199.20047  21688405.4914   21688414.2574
+      2541.7264       1980.5594
+ 05  1 20 17 52  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24097083.5354    -970420.70849   -741649.75145  24097083.7134   24097093.6374
+      1684.7784       1312.8074
+  20968047.1394  -22122034.18149 -17193253.42648  20968046.9234   20968054.2334
+       747.1774        582.2154
+  20304525.4714  -27822417.47049 -21664221.63948  20304525.1844   20304530.6404
+      -748.2334       -583.0374
+  22169994.2114  -14803053.45049 -11516952.56747  22169992.7014   22170000.1794
+      3097.7734       2413.8434
+  23336831.6714   -6227922.94949  -4830274.00546  23336832.2524   23336837.9254
+     -3187.8174      -2484.0144
+  24509341.9224    -730443.26649   -558005.81045  24509340.5364   24509352.9854
+     -3803.3094      -2963.6124
+  22491093.8574  -10378457.42149  -7871661.98147  22491092.9574   22491098.8164
+       738.1164        575.1684
+  21673933.1414  -16778249.22949 -12620467.50347  21673932.2354   21673939.8204
+      2529.0094       1970.6544
+ 05  1 20 17 52 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24087518.6464   -1020695.50749   -780824.88645  24087518.0194   24087528.6654
+      1666.8224       1298.8194
+  20963799.5924  -22144358.49249 -17210648.98448  20963799.0914   20963805.5924
+       741.1754        577.5404
+  20308843.8134  -27799720.76249 -21646535.88948  20308843.9634   20308848.9564
+      -764.8984       -596.0284
+  22152337.9334  -14895826.13149 -11589242.88347  22152338.2714   22152346.4484
+      3087.1474       2405.5664
+  23355043.3644   -6132225.40449  -4755704.53946  23355042.9114   23355049.1294
+     -3192.0244      -2487.2914
+  24531048.4614    -616364.95849   -469113.85445  24531049.1984   24531063.0794
+     -3801.9214      -2962.5244
+  22486931.0934  -10400322.32749  -7888699.53847  22486931.6134   22486939.1414
+       719.5014        560.6484
+  21659531.0394  -16853928.76749 -12679438.49847  21659530.5754   21659538.6914
+      2516.2714       1960.7204
+ 05  1 20 17 53  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24078050.8644   -1070432.51949   -819580.95645  24078051.6214   24078062.3424
+      1648.9894       1284.9274
+  20959586.7534  -22166501.93749 -17227903.59548  20959585.2984   20959592.2764
+       735.1374        572.8334
+  20313259.2744  -27776523.78649 -21628460.32648  20313258.5764   20313263.4564
+      -781.5874       -609.0274
+  22134744.6214  -14988279.43349 -11661284.29847  22134745.8214   22134752.3064
+      3076.4624       2397.2344
+  23373278.6994   -6036403.44249  -4681038.15946  23373277.6784   23373283.9744
+     -3196.1074      -2490.4694
+  24552748.8354    -502330.57449   -380256.09845  24552749.5454   24552759.1364
+     -3800.3814      -2961.3294
+  22482877.2584  -10421628.42749  -7905301.68947  22482877.1264   22482883.5194
+       700.8694        546.1354
+  21645202.2574  -16929225.63849 -12738111.32747  21645202.6694   21645210.0304
+      2503.5064       1950.7834
+ 05  1 20 17 53 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24068692.7634   -1119629.93949   -857916.56645  24068691.6894   24068700.7934
+      1630.8794       1270.8134
+  20955406.9414  -22188464.44849 -17245017.22948  20955406.0114   20955412.8014
+       729.1244        568.1494
+  20317768.2204  -27752826.30049 -21609994.75548  20317767.7684   20317772.8854
+      -798.2774       -622.0334
+  22117214.2004  -15080411.66349 -11733075.55747  22117214.1144   22117221.1204
+      3065.7494       2388.8944
+  23391534.4494   -5940459.37149  -4606276.62046  23391533.6714   23391540.9494
+     -3200.2004      -2493.6604
+  24574438.7874    -388342.97849   -291434.75645  24574441.6074   24574451.5924
+     -3798.8194      -2960.1134
+  22478930.9864  -10442374.43849  -7921467.41347  22478929.7814   22478936.3024
+       682.1684        531.5574
+  21630946.6264  -17004138.67849 -12796485.06647  21630946.7204   21630954.4084
+      2490.6644       1940.7764
+ 05  1 20 17 54  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24059432.8744   -1168286.25649   -895830.57245  24059431.7434   24059441.2404
+      1612.7764       1256.7124
+  20951261.3934  -22210245.72549 -17261989.63448  20951261.1164   20951268.1454
+       723.0774        563.4374
+  20322373.2764  -27728627.97449 -21591138.91748  20322372.5394   20322377.8134
+      -814.9584       -635.0314
+  22099742.2484  -15172221.20049 -11804615.36147  22099742.1004   22099750.1434
+      3054.9824       2380.5174
+  23409815.8284   -5844394.96249  -4531421.30546  23409814.5964   23409820.7484
+     -3204.1074      -2496.7084
+  24596122.5874    -274404.66349   -202651.84045  24596123.1644   24596134.5544
+     -3797.0874      -2958.7674
+  22475088.8584  -10462558.75849  -7937195.43047  22475088.0974   22475094.8914
+       663.4394        516.9714
+  21616764.9544  -17078666.27649 -12854558.45347  21616764.8654   21616771.8274
+      2477.8024       1930.7554
+ 05  1 20 17 54 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24050278.1954   -1216399.97949   -933321.75145  24050277.0144   24050285.0764
+      1594.7264       1242.6434
+  20947151.0344  -22231845.59749 -17278820.69348  20947150.5684   20947157.8094
+       717.0264        558.7204
+  20327073.2414  -27703928.46249 -21571892.54748  20327072.7224   20327077.9354
+      -831.6844       -648.0604
+  22082334.2644  -15263706.44449 -11875902.47147  22082333.7764   22082340.9704
+      3044.1204       2372.0454
+  23428118.1264   -5748211.82949  -4456473.49346  23428117.6754   23428123.9344
+     -3208.0634      -2499.7864
+  24617792.8284    -160518.82549   -113909.78645  24617792.4614   24617805.8134
+     -3795.3444      -2957.4054
+  22471355.1794  -10482180.31149  -7952484.95147  22471354.7104   22471360.6714
+       644.6344        502.3134
+  21602657.0564  -17152807.07649 -12912330.44147  21602656.4494   21602663.4364
+      2464.8794       1920.6884
+ 05  1 20 17 55  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24041226.6184   -1263969.71149   -970389.03945  24041226.7684   24041232.8364
+      1576.5344       1228.4664
+  20943075.6174  -22253263.86849 -17295510.24348  20943074.9304   20943081.8464
+       710.9234        553.9644
+  20331868.5644  -27678727.80449 -21552255.67348  20331868.3324   20331873.5234
+      -848.3704       -661.0694
+  22064986.6704  -15354865.47049 -11946935.38947  22064986.7244   22064994.1114
+      3033.2254       2363.5474
+  23446444.5434   -5651912.54149  -4381435.18246  23446443.6044   23446448.5134
+     -3211.8904      -2502.7574
+  24639455.7474     -46687.95049    -25210.62445  24639455.2844   24639470.2954
+     -3793.4014      -2955.8894
+  22467728.5844  -10501237.92649  -7967335.01647  22467727.3784   22467734.9034
+       625.8224        487.6584
+  21588620.6364  -17226559.87949 -12969800.09747  21588620.3094   21588628.8944
+      2451.9544       1910.6114
+ 05  1 20 17 55 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24032276.5484   -1310994.11149  -1007031.40345  24032276.0904   24032283.6014
+      1558.3004       1214.2624
+  20939034.5274  -22274500.28549 -17312058.08948  20939033.5864   20939040.4654
+       704.8814        549.2574
+  20336759.6654  -27653025.64049 -21532228.01548  20336759.0084   20336764.4494
+      -865.1244       -674.1244
+  22047701.7304  -15445696.71649 -12017712.88547  22047701.2864   22047708.7174
+      3022.2684       2355.0124
+  23464789.7914   -5555498.78049  -4306307.64446  23464789.8224   23464796.4734
+     -3215.6644      -2505.7114
+  24661101.2274      67084.93248     63443.37445  24661105.5734   24661117.9914
+     -3791.3984      -2954.3234
+  22464209.0614  -10519730.18949  -7981744.55647  22464208.7454   22464214.9044
+       606.9784        472.9694
+  21574661.0344  -17299923.63949 -13026966.59947  21574660.7854   21574667.9134
+      2438.9584       1900.4804
+ 05  1 20 17 56  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24023431.1084   -1357471.68549  -1043247.68245  24023431.8294   24023440.0004
+      1540.1504       1200.1184
+  20935027.9044  -22295554.65149 -17328464.07848  20935027.2334   20935034.0834
+       698.8294        544.5414
+  20341746.0064  -27626821.69849 -21511809.36548  20341745.6384   20341750.8824
+      -881.8484       -687.1534
+  22030479.4754  -15536198.52749 -12088233.69347  22030479.7474   22030486.8064
+      3011.2364       2346.4144
+  23483159.4104   -5458972.63549  -4231092.54146  23483157.6144   23483164.9454
+     -3219.3754      -2508.5994
+  24682740.9014     180797.45948    152050.34545  24682741.4674   24682764.0294
+     -3789.3694      -2952.7414
+  22460797.9744  -10537655.89149  -7995712.61347  22460798.0384   22460804.6934
+       588.0634        458.2314
+  21560774.6354  -17372897.18749 -13083829.04947  21560774.3344   21560782.2724
+      2425.9214       1890.3264
+ 05  1 20 17 56 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24014693.6044   -1403400.86449  -1079036.64445  24014693.3994   24014700.2354
+      1521.8044       1185.8214
+  20931056.1104  -22316426.69949 -17344728.00248  20931055.4154   20931062.3684
+       692.7614        539.8144
+  20346828.1584  -27600115.65449 -21490999.46048  20346827.7304   20346832.8214
+      -898.5694       -700.1814
+  22013322.2204  -15626369.06949 -12158496.37647  22013321.5104   22013328.5924
+      3000.1614       2337.7794
+  23501548.2664   -5362336.19549  -4155791.48246  23501547.5394   23501554.7134
+     -3223.0414      -2511.4704
+  24704369.6734     294446.37648    240607.67145  24704370.4754   24704383.4344
+     -3787.2544      -2951.1004
+  22457497.0664  -10555013.75349  -8009238.20547  22457495.3184   22457501.1994
+       569.1204        443.4714
+  21546961.2534  -17445478.91149 -13140386.16247  21546961.8694   21546969.7874
+      2412.8484       1880.1384
+ 05  1 20 17 57  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  24006055.9824   -1448780.40349  -1114397.32745  24006056.5874   24006063.2724
+      1503.4774       1171.5424
+  20927118.9694  -22337116.23949 -17360849.71148  20927118.5554   20927125.0164
+       686.6294        535.0324
+  20352005.4724  -27572907.38849 -21469798.21448  20352005.0864   20352010.3974
+      -915.3154       -713.2344
+  21996223.8654  -15716206.98449 -12228499.85547  21996224.6814   21996232.2964
+      2989.0604       2329.1424
+  23519959.0134   -5265591.15249  -4080405.82246  23519958.3264   23519965.3354
+     -3226.6324      -2514.2704
+  24725981.2994     408028.56948    329113.00644  24725983.6594   24725994.9754
+     -3784.9114      -2949.2734
+  22454299.4134  -10571802.78849  -8022320.54947  22454299.5744   22454306.6984
+       550.1694        428.7114
+  21533224.9524  -17517667.86449 -13196637.24247  21533225.1714   21533232.5184
+      2399.7194       1869.9074
+ 05  1 20 17 57 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23997526.3434   -1493608.90049  -1149328.57345  23997526.4374   23997532.9744
+      1485.0754       1157.2014
+  20923216.8954  -22357623.09549 -17376829.07048  20923216.1114   20923222.8394
+       680.5484        530.3024
+  20357278.9644  -27545196.76449 -21448205.52848  20357278.5064   20357283.4244
+      -932.0664       -726.2864
+  21979192.7594  -15805710.33049 -12298242.65047  21979193.1994   21979200.4864
+      2977.8874       2320.4354
+  23538388.4904   -5168739.52149  -4004937.09546  23538388.1414   23538395.2154
+     -3230.1554      -2516.9864
+  24747591.0384     521541.60849    417564.49645  24747589.1124   24747599.5624
+     -3782.5204      -2947.4124
+  22451214.3824  -10588021.67049  -8034958.62947  22451213.4494   22451220.8654
+       531.1564        413.8944
+  21519564.1084  -17589463.01549 -13252581.45147  21519562.7144   21519570.3294
+      2386.5934       1859.6814
+ 05  1 20 17 58  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23989097.1384   -1537885.02449  -1183829.44145  23989099.5264   23989106.9704
+      1466.6554       1142.8504
+  20919349.3064  -22377947.04949 -17392665.90948  20919348.6794   20919355.2114
+       674.4484        525.5414
+  20362647.9494  -27516983.73549 -21426221.35248  20362647.0564   20362652.0864
+      -948.8054       -739.3304
+  21962225.6844  -15894877.65549 -12367723.60447  21962225.7574   21962232.5544
+      2966.6404       2311.6644
+  23556839.9624   -5071783.30249  -3929386.88946  23556838.8304   23556846.4284
+     -3233.6104      -2519.6974
+  24769179.6644     634983.04249    505960.20545  24769177.6234   24769186.8524
+     -3780.1234      -2945.5444
+  22448235.1124  -10603669.46249  -8047151.69547  22448235.5554   22448242.7354
+       512.0914        399.0274
+  21505974.9424  -17660863.00249 -13308217.74547  21505975.7134   21505983.3004
+      2373.4044       1849.4004
+ 05  1 20 17 58 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23980778.9034   -1581607.52449  -1217898.91745  23980778.6964   23980787.2494
+      1448.1564       1128.4284
+  20915516.9764  -22398087.76349 -17408359.96248  20915515.8964   20915522.5164
+       668.3814        520.8124
+  20368112.2544  -27488268.33549 -21403845.71748  20368111.8484   20368116.9424
+      -965.5544       -752.3834
+  21945321.5044  -15983707.21049 -12436941.35647  21945321.9344   21945328.0184
+      2955.3794       2302.8914
+  23575308.1434   -4974724.35849  -3853756.66546  23575308.5604   23575315.9124
+     -3237.0014      -2522.3414
+  24790748.0274     748349.60749    594297.52844  24790747.2874   24790759.9094
+     -3777.5784      -2943.5584
+  22445367.7794  -10618744.97349  -8058898.82947  22445367.2794   22445373.1764
+       492.9724        384.1314
+  21492463.3604  -17731866.63749 -13363545.18847  21492463.5774   21492472.3754
+      2360.1694       1839.0844
+ 05  1 20 17 59  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23972563.9144   -1624774.97949  -1251535.86745  23972563.2944   23972572.5394
+      1429.6704       1114.0304
+  20911718.2034  -22418045.06449 -17423911.10548  20911717.9354   20911724.9774
+       662.2094        516.0074
+  20373671.9314  -27459050.10349 -21381078.27348  20373671.6114   20373676.8644
+      -982.3204       -765.4414
+  21928481.3504  -16072197.44249 -12505894.70947  21928481.7734   21928489.5634
+      2943.9894       2294.0214
+  23593797.2654   -4877564.68149  -3778047.89846  23593797.2984   23593804.4624
+     -3240.3134      -2524.9084
+  24812305.6504     861638.53749    682574.42145  24812306.6844   24812318.7964
+     -3774.9644      -2941.5214
+  22442607.8584  -10633247.19349  -8070199.24847  22442607.5204   22442613.5704
+       473.8434        369.2294
+  21479027.8814  -17802472.80649 -13418562.92247  21479027.6044   21479035.9674
+      2346.8944       1828.7484
+ 05  1 20 17 59 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23964455.4944   -1667386.23949  -1284739.41345  23964455.3734   23964463.5734
+      1411.0844       1099.5484
+  20907955.9524  -22437818.68749 -17439319.12248  20907955.2754   20907962.0464
+       656.1324        511.2744
+  20379327.6924  -27429329.02849 -21357918.99248  20379327.3464   20379332.6114
+      -999.0584       -778.4874
+  21911707.5964  -16160346.74149 -12574582.39247  21911707.9604   21911714.8564
+      2932.6364       2285.1674
+  23612303.9644   -4780306.26149  -3702262.18446  23612305.1594   23612312.0724
+     -3243.5454      -2527.4414
+  24833851.5024     974847.26449    770788.87344  24833847.9784   24833857.7554
+     -3772.2134      -2939.3734
+  22439956.3624  -10647175.05149  -8081052.11447  22439955.6534   22439964.0424
+       454.6804        354.2954
+  21465667.9664  -17872680.20949 -13473269.94947  21465667.9334   21465676.5094
+      2333.5934       1818.3864
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 18  0  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23956450.9714   -1709439.92449  -1317508.49045  23956452.3924   23956461.9154
+      1392.4834       1085.0484
+  20904228.2224  -22457408.26149 -17454583.72248  20904227.3994   20904234.3454
+       649.9424        506.4504
+  20385079.2564  -27399105.13749 -21334367.91548  20385078.8714   20385083.9704
+     -1015.8494       -791.5714
+  21894998.3634  -16248153.55649 -12643003.21647  21894998.8754   21895005.7794
+      2921.2144       2276.2744
+  23630833.5144   -4682950.73649  -3626400.82446  23630831.3894   23630838.7744
+     -3246.7834      -2529.9524
+  24855377.0424    1087973.38049    858938.91945  24855376.1914   24855390.2014
+     -3769.5014      -2937.2684
+  22437416.3254  -10660527.31049  -8091456.47047  22437416.0934   22437422.4524
+       435.4614        339.3234
+  21452384.9734  -17942487.88349 -13527665.49847  21452384.4814   21452391.7984
+      2320.2394       1807.9794
+ 05  1 20 18  0 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23948554.3994   -1750934.83449  -1349842.17745  23948556.4204   23948565.3054
+      1373.8604       1070.5434
+  20900535.6634  -22476813.67849 -17469704.82648  20900534.9414   20900541.6964
+       643.8254        501.6824
+  20390925.9124  -27368378.29149 -21310424.92248  20390925.8384   20390931.0314
+     -1032.6114       -804.6314
+  21878354.6764  -16335616.34649 -12711155.96747  21878354.8194   21878362.4354
+      2909.6924       2267.2914
+  23649374.6724   -4585500.50349  -3550465.67346  23649375.5544   23649383.2054
+     -3249.9304      -2532.4194
+  24876890.2934    1201013.55949    947021.92945  24876891.2384   24876902.9604
+     -3766.5694      -2934.9714
+  22434986.4734  -10673303.22549  -8101411.70547  22434985.1694   22434991.2674
+       416.2424        324.3404
+  21439176.7514  -18011894.52849 -13581748.54147  21439176.8074   21439183.8364
+      2306.8484       1797.5434
+ 05  1 20 18  1  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23940766.5564   -1791869.73049  -1381739.47545  23940766.4904   23940776.1314
+      1355.1984       1055.9964
+  20896877.3074  -22496034.64349 -17484682.20148  20896877.2094   20896883.9604
+       637.6764        496.8904
+  20396868.8204  -27337148.45049 -21286089.98248  20396868.6904   20396873.8054
+     -1049.3574       -817.6824
+  21861778.4564  -16422733.50349 -12779039.39847  21861777.8874   21861784.8764
+      2898.1744       2258.3184
+  23667938.1864   -4487957.03949  -3474457.89846  23667937.2304   23667946.0604
+     -3252.9794      -2534.7854
+  24898384.9484    1313965.31249   1035036.07745  24898381.4374   24898392.7594
+     -3763.4904      -2932.5844
+  22432664.4744  -10685501.70949  -8110917.01147  22432664.0274   22432669.7764
+       397.0024        309.3534
+  21426046.6904  -18080899.46249 -13635518.57847  21426045.2864   21426052.4564
+      2293.4624       1787.1074
+ 05  1 20 18  1 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23933084.9444   -1832243.46549  -1413199.52646  23933085.2254   23933093.7964
+      1336.4984       1041.4274
+  20893255.5144  -22515070.81749 -17499515.58048  20893254.7304   20893261.5534
+       631.5414        492.1104
+  20402907.4834  -27305415.59049 -21261363.08148  20402907.1944   20402912.4154
+     -1066.1214       -830.7454
+  21845265.4184  -16509503.61149 -12846652.38747  21845265.3524   21845272.5054
+      2886.5514       2249.2604
+  23686516.5634   -4390322.40249  -3398379.04946  23686516.9194   23686524.8074
+     -3256.0104      -2537.1434
+  24919858.8624    1426825.96549   1122979.24144  24919858.0724   24919873.6604
+     -3760.3904      -2930.1714
+  22430452.4254  -10697121.75349  -8119971.57747  22430452.4514   22430459.0094
+       377.6894        294.3154
+  21412990.4624  -18149501.08949 -13688974.34347  21412990.8124   21412998.2794
+      2279.9894       1776.6134
+ 05  1 20 18  2  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23925509.4524   -1872054.91649  -1444221.39146  23925509.3084   23925517.5544
+      1317.6924       1026.7714
+  20889668.1704  -22533922.01649 -17514204.83348  20889667.5264   20889674.1294
+       625.3364        487.2744
+  20409042.1134  -27273179.61349 -21236244.15348  20409041.5054   20409046.9674
+     -1082.9094       -843.8244
+  21828819.0444  -16595924.89149 -12913993.57447  21828820.0354   21828827.3174
+      2874.9164       2240.2004
+  23705114.7964   -4292598.43249  -3322230.62246  23705113.0524   23705119.4624
+     -3258.9574      -2539.4324
+  24941314.8234    1539592.69849   1210849.19244  24941316.9884   24941330.2774
+     -3757.2534      -2927.7164
+  22428350.8374  -10708162.64249  -8128574.86347  22428351.3064   22428357.5244
+       358.3644        279.2474
+  21400014.2854  -18217698.59849 -13742115.22147  21400013.3604   21400020.7824
+      2266.5104       1766.1124
+ 05  1 20 18  2 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23918040.8524   -1911302.90049  -1474804.21446  23918040.6704   23918049.2514
+      1298.8194       1012.0624
+  20886116.2754  -22552587.96649 -17528749.72648  20886115.4794   20886122.0354
+       619.1494        482.4544
+  20415271.7664  -27240440.77549 -21210733.36748  20415271.3824   20415276.6664
+     -1099.6784       -856.8904
+  21812440.3744  -16681995.84249 -12981061.77747  21812441.1474   21812448.0134
+      2863.2014       2231.0634
+  23723727.0744   -4194786.82449  -3246013.88146  23723727.3334   23723733.2224
+     -3261.8294      -2541.6824
+  24962759.9224    1652262.93949   1298643.89244  24962760.1884   24962768.9524
+     -3754.1374      -2925.2904
+  22426361.4694  -10718623.22349  -8136725.95147  22426361.1724   22426368.1584
+       338.9994        264.1584
+  21387113.0394  -18285490.75849 -13794940.23647  21387112.7854   21387120.7044
+      2252.9634       1755.5594
+ 05  1 20 18  3  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23910680.6804   -1949986.24149  -1504947.08346  23910680.4794   23910687.3644
+      1280.0534        997.4414
+  20882599.2764  -22571068.27449 -17543149.96648  20882598.5794   20882605.4024
+       612.9754        477.6404
+  20421597.3854  -27207199.03249 -21184830.73148  20421597.0334   20421602.6074
+     -1116.4514       -869.9594
+  21796128.4934  -16767715.10649 -13047855.94347  21796128.6274   21796135.8544
+      2851.4554       2221.9094
+  23742356.8044   -4096889.66449  -3169730.47445  23742356.6724   23742363.4884
+     -3264.6604      -2543.8834
+  24984178.2274    1764834.01948   1386361.37844  24984177.6064   24984190.9744
+     -3750.7734      -2922.6694
+  22424480.5844  -10728502.74749  -8144424.27147  22424480.1344   22424486.7104
+       319.6284        249.0574
+  21374290.1364  -18352876.47849 -13847448.55547  21374289.9424   21374297.6424
+      2239.4064       1744.9914
+ 05  1 20 18  3 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23903424.7734   -1988103.88749  -1534649.13045  23903425.7154   23903434.0294
+      1261.1234        982.6944
+  20879117.8524  -22589362.77149 -17557405.41548  20879117.4064   20879124.1834
+       606.7434        472.7874
+  20428019.1104  -27173454.47749 -21158536.27248  20428018.4444   20428023.5534
+     -1133.1994       -883.0134
+  21779885.2844  -16853080.94649 -13114374.71447  21779885.1364   21779891.4624
+      2839.6544       2212.7124
+  23761002.4724   -3998908.82249  -3093381.84845  23761001.4964   23761007.7124
+     -3267.4174      -2546.0424
+  25005586.8604    1877303.19648   1473999.43444  25005584.7054   25005594.7564
+     -3747.0704      -2919.7844
+  22422712.8474  -10737800.38549  -8151669.19147  22422711.7314   22422717.9034
+       300.2064        233.9164
+  21361544.2474  -18419855.06049 -13899639.62447  21361543.9544   21361551.2334
+      2225.7964       1734.3864
+ 05  1 20 18  4  0.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23896281.6134   -2025654.83849  -1563909.58245  23896280.8024   23896288.9214
+      1242.2224        967.9604
+  20875672.4834  -22607471.20649 -17571515.88048  20875671.4074   20875678.2414
+       600.5344        467.9444
+  20434536.0884  -27139207.10849 -21131850.01948  20434535.6454   20434541.0364
+     -1149.9654       -896.0794
+  21763706.4134  -16938092.09349 -13180617.09247  21763707.3114   21763714.3064
+      2827.7944       2203.4694
+  23779662.9124   -3900846.06849  -3016969.43645  23779661.6344   23779667.1094
+     -3270.1014      -2548.1164
+  25026963.8824    1989669.30958   1561557.13154  25026965.7044
+     -3743.9784      -2917.3894
+  22421054.3884  -10746515.29249  -8158460.01847  22421053.2284   22421060.1714
+       280.7774        218.7864
+  21348875.6254  -18486425.51449 -13951512.66447  21348875.8344   21348883.4564
+      2212.2074       1723.7974
+ 05  1 20 18  4 30.0000000  0  8G 9G 7G28G 4G11G 8G20G24
+  23889242.4934   -2062638.05449  -1592727.65645  23889241.2754   23889250.3134
+      1223.3344        953.2474
+  20872261.8764  -22625393.06949 -17585480.97348  20872260.8644   20872267.8104
+       594.3334        463.1154
+  20441148.5564  -27104457.02049 -21104772.03548  20441148.4144   20441153.7334
+     -1166.7044       -909.1214
+  21747598.0684  -17022746.89449 -13246581.81547  21747598.4804   21747604.7394
+      2815.9104       2194.2134
+  23798340.3044   -3802703.08749  -2940494.46545  23798338.6434   23798344.1444
+     -3272.7304      -2550.1744
+  25048339.9304    2101925.24258   1649029.13454
+     -3740.0624      -2914.3364
+  22419505.8164  -10754646.68049  -8164796.16247  22419506.1924   22419512.5044
+       261.3104        203.6224
+  21336287.1004  -18552586.73749 -14003066.83147  21336286.7244   21336293.3764
+      2198.5424       1713.1494
+ 05  1 20 18  5  0.0000000  0  7G 9G 7G28G 4G11G20G24
+  23882314.7904   -2099052.41349  -1621102.48046  23882313.9034   23882321.9034
+      1204.3424        938.4494
+  20868887.2234  -22643128.29649 -17599300.63348  20868886.1234   20868892.9424
+       588.1134        458.2664
+  20447856.6704  -27069204.19549 -21077302.31648  20447856.7634   20447862.2324
+     -1183.4724       -922.1854
+  21731556.1324  -17107043.82649 -13312267.68147  21731556.7014   21731563.4774
+      2803.9684       2184.9074
+  23817028.8524   -3704482.12249  -2863958.76045  23817028.8364   23817035.2594
+     -3275.2814      -2552.1574
+  22418068.3564  -10762193.76849  -8170676.99447  22418068.3584   22418075.3674
+       241.8024        188.4064
+  21323774.2974  -18618337.62749 -14054301.25047  21323774.2884   21323781.0134
+      2184.8514       1702.4774
+ 05  1 20 18  5 30.0000000  0  7G 9G 7G28G 4G11G20G24
+  23875492.1824   -2134896.92549  -1649033.24646  23875492.4314   23875501.0464
+      1185.3914        923.6794
+  20865547.4544  -22660676.41249 -17612974.49248  20865546.9924   20865553.6734
+       581.8254        453.3664
+  20454661.5414  -27033449.14449 -21049441.24148  20454660.7674   20454665.9774
+     -1200.2354       -935.2484
+  21715582.8084  -17190981.59649 -13377673.66047  21715583.5674   21715590.7504
+      2791.9184       2175.5184
+  23835732.3754   -3606184.76049  -2787363.54545  23835733.6664   23835739.2094
+     -3277.8634      -2554.1674
+  22416745.9554  -10769155.74849  -8176101.92047  22416745.4534   22416751.1914
+       222.2584        173.1894
+  21311340.6584  -18683677.36449 -14105215.29147  21311340.4984   21311347.6224
+      2171.1204       1691.7794
+ 05  1 20 18  6  0.0000000  0  7G 9G 7G28G 4G11G20G24
+  23868780.8184   -2170170.80849  -1676519.39546  23868780.5334   23868788.6414
+      1166.3284        908.8234
+  20862244.0504  -22678037.27149 -17626502.43448  20862243.3374   20862250.2164
+       575.6164        448.5354
+  20461560.4184  -26997191.68949 -21021188.69448  20461560.4884   20461565.4234
+     -1216.9514       -948.2734
+  21699680.6074  -17274558.63649 -13442798.58847  21699680.6984   21699686.7584
+      2779.9054       2166.1634
+  23854453.3864   -3507812.47849  -2710709.91845  23854452.1694   23854458.8704
+     -3280.2994      -2556.0754
+  22415531.4954  -10775531.88349  -8181070.31447  22415530.7544   22415538.5264
+       202.7554        157.9914
+  21298984.8614  -18748604.81849 -14155808.07247  21298985.1984   21298992.3444
+      2157.3494       1681.0464
+ 05  1 20 18  6 30.0000000  0  7G 9G 7G28G 4G11G20G24
+  23862178.6134   -2204872.91249  -1703559.96846  23862178.3034   23862183.8904
+      1147.1904        893.9164
+  20858975.8284  -22695210.52449 -17639884.18848  20858975.1314   20858981.9524
+       569.3774        443.6724
+  20468555.8444  -26960432.13349 -20992544.89148  20468555.4894   20468560.8124
+     -1233.6844       -961.3124
+  21683844.0854  -17357773.67749 -13507641.41847  21683844.4964   21683851.3944
+      2767.8244       2156.7474
+  23873186.9394   -3409367.48549  -2633999.65445  23873186.6904   23873193.8354
+     -3282.7204      -2557.9664
+  22414429.6944  -10781321.64749  -8185581.83547  22414429.6974   22414436.6334
+       183.2124        142.7664
+  21286708.9554  -18813119.09849 -14206078.90047  21286708.1144   21286716.0604
+      2143.6094       1670.3444
+ 05  1 20 18  7  0.0000000  0  7G 9G 7G28G 4G11G20G24
+  23855683.4094   -2239002.26949  -1730154.27546  23855682.0844   23855690.0034
+      1128.1354        879.0644
+  20855743.7254  -22712195.76549 -17653119.44448  20855743.0664   20855749.7254
+       563.1074        438.7884
+  20475646.5974  -26923170.71649 -20963510.03648  20475646.2934   20475651.3434
+     -1250.3914       -974.3294
+  21668079.0774  -17440625.16149 -13572200.96447  21668078.8234   21668085.0954
+      2755.6904       2147.2974
+  23891935.3034   -3310851.54349  -2557234.08045  23891934.4954   23891940.3244
+     -3285.0544      -2559.7744
+  22413440.2044  -10786524.36749  -8189635.89647  22413439.4264   22413445.6704
+       163.6174        127.4944
+  21274510.1004  -18877219.21349 -14256027.01147  21274510.3924   21274518.2034
+      2129.7514       1659.5464
+ 05  1 20 18  7 30.0000000  0  7G 9G 7G28G 4G11G20G24
+  23849297.8054   -2272557.96249  -1756301.54646  23849297.2634   23849305.6834
+      1108.9554        864.1144
+  20852547.5074  -22728992.65949 -17666207.93048  20852546.8304   20852553.5944
+       556.8034        433.8724
+  20482832.6674  -26885407.66149 -20934084.29748  20482832.2294   20482837.6814
+     -1267.1184       -987.3654
+  21652381.9204  -17523111.63849 -13636476.09647  21652382.3604   21652387.8844
+      2743.4994       2137.7934
+  23910696.0894   -3212266.40749  -2480414.56245  23910695.0214   23910701.9704
+     -3287.3224      -2561.5484
+  22412562.5224  -10791139.23449  -8193231.88847  22412560.9414   22412567.7844
+       144.0224        112.2214
+  21262391.8384  -18940904.18449 -14305651.62147  21262391.2704   21262398.9934
+      2115.8964       1648.7454
+ 05  1 20 18  8  0.0000000  0  7G 9G 7G28G 4G11G20G24
+  23843019.5644   -2305539.20649  -1782001.22346  23843020.7404   23843028.9714
+      1089.7264        849.1414
+  20849386.8004  -22745600.93349 -17679149.44048  20849386.2974   20849393.0364
+       550.5054        428.9674
+  20490114.4874  -26847143.17649 -20904267.82848  20490113.8584   20490118.7004
+     -1283.8414      -1000.3974
+  21636754.3434  -17605231.63749 -13700465.64947  21636755.1214   21636760.8244
+      2731.2604       2128.2514
+  23929468.4364   -3113613.77149  -2403542.50145  23929468.7444   23929474.6654
+     -3289.5384      -2563.2704
+  22411795.2994  -10795165.69649  -8196369.39147  22411794.8144   22411802.4324
+       124.4114         96.9484
+  21250351.8494  -19004172.97449 -14354951.94447  21250352.0654   21250359.0754
+      2102.0094       1637.9304
+ 05  1 20 18  8 30.0000000  0  7G 9G 7G28G 4G11G20G24
+  23836850.9074   -2337945.34549  -1807252.74045  23836853.4844   23836862.5614
+      1070.6374        834.2614
+  20846262.6454  -22762020.28249 -17691943.74148  20846261.7054   20846268.8374
+       544.2214        424.0744
+  20497490.3494  -26808377.32049 -20874060.68648  20497490.2754   20497496.1144
+     -1300.5514      -1013.4144
+  21621198.6044  -17686983.80649 -13764168.59547  21621198.2824   21621205.2294
+      2718.9674       2118.6734
+  23948253.7804   -3014895.85149  -2326619.52646  23948253.3354   23948260.2834
+     -3291.6784      -2564.9324
+  22411141.7004  -10798603.18549  -8199047.97547  22411140.7084   22411147.1864
+       104.7444         81.6184
+  21238392.0004  -19067025.21349 -14403927.67348  21238391.9104   21238398.9414
+      2088.1234       1627.1094
+ 05  1 20 18  9  0.0000000  0  7G 9G 7G28G 4G11G20G24
+  23830794.8354   -2369775.31449  -1832055.30245  23830794.4074   23830804.1384
+      1051.3884        819.2654
+  20843173.8484  -22778250.28749 -17704590.49848  20843173.1254   20843180.1304
+       537.8754        419.1224
+  20504963.2464  -26769110.43149 -20843463.12048  20504962.8724   20504967.8884
+     -1317.2314      -1026.4154
+  21605709.9124  -17768366.92149 -13827583.95747  21605710.5864   21605717.8344
+      2706.6224       2109.0544
+  23967050.5484   -2916113.79849  -2249646.58546  23967049.8354   23967057.6524
+     -3293.7874      -2566.5794
+  22410599.9724  -10801451.16449  -8201267.17847  22410598.5434   22410605.6834
+        85.1344         66.3444
+  21226510.9354  -19129460.08249 -14452578.17847  21226510.4954   21226517.8604
+      2074.1874       1616.2474
+ 05  1 20 18  9 30.0000000  0  7G 9G 7G28G 4G11G20G24
+  23824847.5394   -2401028.30749  -1856408.29445  23824849.6634   23824858.1644
+      1032.1324        804.2644
+  20840121.5444  -22794290.68749 -17717089.51448  20840121.0104   20840127.7074
+       531.5624        414.2054
+  20512530.7774  -26729342.99249 -20812475.52748  20512530.3814   20512535.6284
+     -1333.9234      -1039.4194
+  21590294.4294  -17849379.33549 -13890710.46847  21590294.8674   21590301.9384
+      2694.2554       2099.4224
+  23985859.8944   -2817269.48749  -2172625.13046  23985859.6184   23985866.5344
+     -3295.7454      -2568.1144
+  22410170.5974  -10803709.24549  -8203026.72247  22410169.5154   22410175.4064
+        65.3824         50.9514
+  21214709.4444  -19191476.34049 -14500902.51248  21214709.3134   21214716.8764
+      2060.2314       1605.3774
+ 05  1 20 18 10  0.0000000  0  7G 9G 7G28G 4G11G20G24
+  23819009.7124   -2431703.68249  -1880311.14845  23819009.8324   23819019.6514
+      1012.9184        789.2824
+  20837105.6244  -22810141.12149 -17729440.49948  20837104.7444   20837111.5544
+       525.2134        409.2564
+  20520194.1674  -26689075.07649 -20781097.94048  20520193.0394   20520198.4844
+     -1350.5994      -1052.4154
+  21574949.6774  -17930019.88549 -13953547.22047  21574948.7564   21574955.9314
+      2681.8384       2089.7364
+  24004681.2234   -2718364.80549  -2095556.65946  24004680.9614   24004688.2544
+     -3297.8234      -2569.7364
+  22409852.4724  -10805376.74149  -8204326.08247  22409851.3734   22409859.3764
+        45.7484         35.6574
+  21202987.8344  -19253073.22749 -14548900.04748  21202987.2574   21202995.0754
+      2046.2174       1594.4534
+ 05  1 20 18 10 30.0000000  0  7G 9G 7G28G 4G11G20G24
+  23813282.5524   -2461800.44449  -1903763.19045  23813282.9244   23813292.3744
+       993.5874        774.2164
+  20834125.4124  -22825801.24149 -17741643.19748  20834124.6624   20834131.2784
+       518.8634        404.3114
+  20527951.0564  -26648307.06249 -20749330.67448  20527951.0024   20527956.4964
+     -1367.2574      -1065.3944
+  21559674.2424  -18010287.28949 -14016093.20147  21559674.8984   21559681.3114
+      2669.3744       2080.0374
+  24023514.0594   -2619401.40749  -2018442.44446  24023513.5484   24023520.7194
+     -3299.7824      -2571.2534
+  22409647.8464  -10806453.12449  -8205164.82147  22409647.3354   22409653.0084
+        26.0414         20.2844
+  21191346.1454  -19314250.20849 -14596570.39448  21191346.2234   21191353.2174
+      2032.2074       1583.5344
+ 05  1 20 18 11  0.0000000  0  7G 9G 7G28G 4G11G20G24
+  23807667.6104   -2491317.90049  -1926763.78345  23807666.6044   23807676.3704
+       974.2784        759.1814
+  20831181.6224  -22841270.62549 -17753697.26448  20831180.9054   20831187.6044
+       512.5304        399.3734
+  20535804.0524  -26607039.40549 -20717174.07548  20535803.8384   20535809.2784
+     -1383.9074      -1078.3644
+  21544472.1374  -18090179.98449 -14078347.20547  21544472.5064   21544478.2394
+      2656.8704       2070.2894
+  24042358.1784   -2520381.14549  -1941283.91446  24042357.1754   24042364.0014
+     -3301.5784      -2572.6634
+  22409555.4544  -10806938.09349  -8205542.73147  22409554.3674   22409561.6114
+         6.2984          4.9094
+  21179784.7504  -19375006.23149 -14643912.72648  21179784.7584   21179791.5114
+      2018.1814       1572.6104
+ 05  1 20 18 11 30.0000000  0  7G 9G 7G28G 4G11G20G24
+  23802157.8714   -2520255.47749  -1949312.53645  23802158.9434   23802168.0984
+       954.9324        744.0964
+  20828273.9764  -22856549.00449 -17765602.49648  20828273.4574   20828280.3804
+       506.1564        394.4094
+  20543751.7964  -26565272.25549 -20684628.25648  20543751.7334   20543756.9944
+     -1400.5664      -1091.3484
+  21529340.1694  -18169696.77049 -14140308.27847  21529340.2074   21529346.5054
+      2644.3044       2060.4974
+  24061210.9234   -2421305.83349  -1864082.46746  24061210.7854   24061217.5574
+     -3303.4324      -2574.1024
+  22409575.2234  -10806830.88149  -8205459.20147  22409574.3474   22409582.2534
+       -13.4354        -10.4694
+  21168302.6824  -19435340.76649 -14690926.62048  21168303.1414   21168310.1824
+      2004.1194       1561.6544
+ 05  1 20 18 12  0.0000000  0  7G 9G 7G28G 4G11G20G24
+  23796762.2654   -2548612.45749  -1971408.87745  23796763.1194   23796771.9594
+       935.5664        729.0164
+  20825403.1654  -22871636.08749 -17777358.66848  20825402.6814   20825409.3014
+       499.7574        389.4244
+  20551795.4744  -26523006.23949 -20651693.71748  20551795.0134   20551800.1634
+     -1417.1784      -1104.2954
+  21514280.8534  -18248836.24649 -14201975.36647  21514280.6644   21514287.2904
+      2631.7274       2050.6984
+  24080074.1544   -2322176.73949  -1786839.11946  24080073.5264   24080082.2214
+     -3305.1584      -2575.4324
+  22409709.2134  -10806131.35349  -8204914.14347  22409708.2334   22409714.7184
+       -33.2044        -25.8724
+  21156903.0614  -19495252.93749 -14737611.40448  21156902.5584   21156909.6644
+      1990.0114       1550.6584
+ 05  1 20 18 12 30.0000000  0  7G 9G 7G28G 4G11G20G24
+  23791476.8614   -2576388.16649  -1993052.29345  23791477.9464   23791485.7674
+       916.1654        713.8934
+  20822568.5664  -22886531.31849 -17788965.34848  20822568.1574   20822574.8864
+       493.3924        384.4644
+  20559933.1264  -26480241.84649 -20618370.83148  20559932.7644   20559938.1684
+     -1433.7934      -1117.2394
+  21499292.4154  -18327597.25049 -14263347.53147  21499292.7534   21499299.8494
+      2619.0534       2040.8224
+  24098948.2754   -2222996.20849  -1709555.72246  24098947.4374   24098954.2714
+     -3306.8754      -2576.7804
+  22409955.8414  -10804839.18449  -8203907.25347  22409954.4064   22409961.9324
+       -52.9754        -41.2824
+  21145581.7764  -19554741.63849 -14783966.21748  21145582.0584   21145589.2104
+      1975.8854       1539.6534
+ 05  1 20 18 13  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23786303.6694   -2603582.05949  -2014242.35945  23786303.8464   23786311.8854
+       896.7474        698.7684
+  20819770.7774  -22901234.45449 -17800422.34448  20819770.2344   20819777.3044
+       486.9434        379.4384
+  20568165.3614  -26436979.36149 -20584659.82248  20568165.3964   20568170.8794
+     -1450.3894      -1130.1724
+  21484376.8964  -18405978.33749 -14324423.66947  21484377.0454   21484383.5694
+      2606.3774       2030.9384
+  25375228.7974   -1062293.33349   -814325.84145  25375227.0634   25375235.4344
+      3589.5184       2797.0284
+  24117830.1964   -2123765.56149  -1632233.26846  24117829.9524   24117838.1514
+     -3308.5474      -2578.0844
+  22410312.9514  -10802953.99549  -8202438.29247  22410312.9974   22410319.0054
+       -72.7634        -56.6984
+  21134342.1564  -19613806.16349 -14829990.49948  21134342.2144   21134349.3624
+      1961.7364       1528.6224
+ 05  1 20 18 13 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23781239.6294   -2630193.52449  -2034978.58046  23781239.9854   23781248.6394
+       877.3744        683.6724
+  20817009.0944  -22915745.04249 -17811729.30448  20817008.6924   20817015.7114
+       480.5474        374.4524
+  20576493.2524  -26393219.09149 -20550560.92948  20576492.6814   20576498.2844
+     -1466.9494      -1143.0774
+  21469534.6494  -18483978.35849 -14385202.88447  21469534.7524   21469540.2834
+      2593.7054       2021.0674
+  25354743.2564   -1169943.64249   -898209.03245  25354742.4324   25354749.3174
+      3587.1284       2795.1644
+  24136723.0144   -2024486.46849  -1554873.04346  24136722.4664   24136729.2034
+     -3310.0824      -2579.2844
+  22410784.8114  -10800475.40649  -8200506.94147  22410784.6254   22410791.9364
+       -92.5134        -72.0854
+  21123183.7904  -19672445.89849 -14875683.77748  21123183.7654   21123190.8074
+      1947.5954       1517.6064
+ 05  1 20 18 14  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23776288.7974   -2656221.99849  -2055260.52746  23776287.0894   23776295.8374
+       857.8814        668.4844
+  20814285.4624  -22930062.74549 -17822885.96648  20814284.3434   20814291.1414
+       474.0644        369.3994
+  20584914.6174  -26348961.48949 -20516074.51148  20584914.8814   20584919.8924
+     -1483.5464      -1156.0124
+  21454763.7584  -18561596.07949 -14445684.17947  21454763.7064   21454770.6904
+      2580.8924       2011.0844
+  25334267.5204   -1277520.95849   -982035.32345  25334269.5404   25334277.3824
+      3584.6714       2793.2454
+  24155625.7104   -1925160.83049  -1477476.58246  24155623.7904   24155631.4204
+     -3311.6174      -2580.4804
+  22411370.3024  -10797403.12049  -8198112.96247  22411369.5564   22411375.9264
+      -112.3184        -87.5124
+  21112106.4454  -19730660.17049 -14921045.53348  21112105.9444   21112112.9714
+      1933.3554       1506.5104
+ 05  1 20 18 14 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23771445.2344   -2681666.86449  -2075087.71146  23771445.3974   23771453.3474
+       838.4714        653.3524
+  20811597.5254  -22944187.13449 -17833891.99248  20811596.9734   20811603.4064
+       467.6434        364.3984
+  20593431.6024  -26304207.13649 -20481201.00548  20593431.0784   20593436.6644
+     -1500.0844      -1168.8984
+  21440066.8584  -18638830.14749 -14505866.53947  21440067.1754   21440073.8314
+      2568.0924       2001.1014
+  25313815.4044   -1385023.87849  -1065803.48845  25313813.6604   25313822.2854
+      3582.1344       2791.2614
+  24174533.6924   -1825790.22349  -1400045.08545  24174534.6264   24174540.7914
+     -3313.0854      -2581.6224
+  22412067.3504  -10793736.93749  -8195256.21447  22412066.9874   22412073.7644
+      -132.1134       -102.9424
+  21101108.8044  -19788448.21749 -14966075.14948  21101108.5804   21101116.3704
+      1919.1554       1495.4424
+ 05  1 20 18 15  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23766715.6254   -2706527.60549  -2094459.71846  23766715.1694   23766722.9264
+       818.9534        638.1474
+  20808947.0394  -22958117.87449 -17844747.11648  20808946.0014   20808952.5614
+       461.1844        359.3634
+  20602042.0714  -26258956.49649 -20445940.79148  20602042.0224   20602047.3334
+     -1516.6084      -1181.7734
+  21425444.1014  -18715679.40349 -14565749.05647  21425443.3324   21425449.5214
+      2555.2354       1991.0914
+  25293371.6414   -1492450.85549  -1149512.53245  25293370.8424   25293380.5344
+      3579.6144       2789.3004
+  24193451.3434   -1726376.06549  -1322579.66245  24193451.1114   24193459.5514
+     -3314.4864      -2582.7174
+  22412878.6814  -10789476.46549  -8191936.36847  22412877.6574   22412884.0734
+      -151.9144       -118.3784
+  21090194.6174  -19845809.33849 -15010772.11148  21090193.9284   21090200.7054
+      1904.9244       1484.3534
+ 05  1 20 18 15 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23762094.2334   -2730803.84049  -2113376.29246  23762094.6204   23762102.6054
+       799.4754        622.9624
+  20806332.2014  -22971854.54949 -17855451.02548  20806331.8904   20806338.2474
+       454.7174        354.3254
+  20610748.1584  -26213209.95149 -20410294.15248  20610747.2254   20610752.7174
+     -1533.1584      -1194.6664
+  21410891.6684  -18792142.54949 -14625330.70347  21410892.3014   21410899.6444
+      2542.3514       1981.0514
+  25272944.6904   -1599800.33349  -1233161.27045  25272940.9014   25272949.3624
+      3577.0064       2787.2724
+  24212377.5934   -1626920.10649  -1245081.65145  24212377.7674   24212383.9624
+     -3315.9374      -2583.8404
+  22413802.9364  -10784621.48749  -8188153.27547  22413801.6234   22413808.9824
+      -171.7614       -133.8384
+  21079359.7224  -19902742.90649 -15055135.91948  21079359.8124   21079366.3424
+      1890.6454       1473.2344
+ 05  1 20 18 16  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23757587.6394   -2754495.08349  -2131837.01246  23757587.2824   23757594.6634
+       779.9964        607.7874
+  20803755.0094  -22985396.74649 -17866003.39448  20803754.7924   20803761.5024
+       448.2034        349.2494
+  20619547.0724  -26166968.22549 -20374261.66448  20619546.9794   20619552.3624
+     -1549.6414      -1207.5104
+  21396415.3444  -18868218.27849 -14684610.46947  21396415.8054   21396422.5094
+      2529.4544       1971.0054
+  25252530.7254   -1707071.20549  -1316748.70145  25252530.8504   25252537.5994
+      3574.3944       2785.2334
+  24231310.9254   -1527424.29349  -1167552.53445  24231310.4494   24231316.8324
+     -3317.1464      -2584.7844
+  22414840.0964  -10779171.98449  -8183906.92947  22414839.3844   22414845.3714
+      -191.5654       -149.2734
+  21068606.9384  -19959248.38349 -15099166.13648  21068606.5334   21068613.9214
+      1876.3884       1462.1254
+ 05  1 20 18 16 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23753190.5304   -2777600.79549  -2149841.48746  23753190.0554   23753197.6204
+       760.3974        592.5274
+  20801215.2164  -22998744.05449 -17876403.90048  20801214.9424   20801221.8064
+       441.6894        344.1764
+  20628440.8554  -26120231.75949 -20337843.66348  20628440.5074   20628445.9004
+     -1566.0984      -1220.3344
+  21382013.4214  -18943905.54449 -14743587.54247  21382012.5094   21382019.4894
+      2516.4674       1960.8914
+  25232131.7334   -1814261.79249  -1400273.59245  25232130.7134   25232138.1964
+      3571.7664       2783.1804
+  24250250.3584   -1427889.80549  -1089993.31945  24250251.3564   24250259.3554
+     -3318.4414      -2585.7924
+  22415989.6124  -10773127.54849  -8179196.99647  22415988.2234   22415996.0834
+      -211.4074       -164.7294
+  21057935.7934  -20015325.16049 -15142862.30048  21057935.7524   21057943.0654
+      1862.0764       1450.9714
+ 05  1 20 18 17  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23748904.4974   -2800120.37049  -2167389.19946  23748904.4214   23748912.4234
+       740.9054        577.3294
+  20798713.0264  -23011896.17349 -17886652.30748  20798712.1334   20798719.0464
+       435.1884        339.1084
+  20637429.0994  -26073001.18549 -20301040.63948  20637428.2614   20637433.6784
+     -1582.5654      -1233.1634
+  21367685.2664  -19019203.09249 -14802260.92547  21367685.0834   21367690.4864
+      2503.4704       1950.7604
+  25211747.6824   -1921370.77149  -1483734.89745  25211746.8414   25211755.9004
+      3568.9544       2780.9904
+  24269199.2974   -1328318.45249  -1012405.37045  24269199.4794   24269207.3294
+     -3319.6324      -2586.7184
+  22417253.0064  -10766488.28549  -8174023.55747  22417252.7094   22417259.3554
+      -231.2344       -180.1894
+  21047347.2274  -20070972.45049 -15186223.80648  21047346.8324   21047353.6494
+      1847.7494       1439.8074
+ 05  1 20 18 17 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23744731.5034   -2822053.60349  -2184480.05646  23744731.3094   23744738.2264
+       721.3154        562.0644
+  20796247.7074  -23024852.58949 -17896748.22948  20796246.6584   20796253.4174
+       428.6734        334.0314
+  20646510.2704  -26025277.18949 -20263853.12648  20646509.7574   20646515.3544
+     -1599.0274      -1245.9944
+  21353430.0074  -19094109.85149 -14860629.81247  21353430.5574   21353436.5744
+      2490.3694       1940.5494
+  25191382.1214   -2028396.72249  -1567131.54345  25191381.6614   25191390.3894
+      3566.1074       2778.7734
+  24288153.6914   -1228712.12049   -934790.15945  24288153.9274   24288162.7094
+     -3320.7754      -2587.6164
+  22418629.8024  -10759254.01749  -8168386.47647  22418628.8434   22418635.5684
+      -251.0534       -195.6194
+  21036838.5884  -20126189.79749 -15229250.28448  21036838.2234   21036845.9114
+      1833.4144       1428.6364
+ 05  1 20 18 18  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23740668.5994   -2843400.48749  -2201113.95646  23740667.5914   23740676.5884
+       701.7434        546.8064
+  20793819.2404  -23037612.82649 -17906691.27348  20793818.4824   20793824.9724
+       422.1124        328.9154
+  20655685.6914  -25977060.06649 -20226281.36648  20655685.3554   20655690.9004
+     -1615.4284      -1258.7754
+  21339250.4204  -19168624.56649 -14918693.19847  21339250.6514   21339256.4854
+      2477.3194       1930.3764
+  25171031.0824   -2135338.00449  -1650462.21745  25171030.0614   25171042.2884
+      3563.3524       2776.6304
+  24307115.7334   -1129072.37549   -857148.90745  24307116.3534   24307123.2124
+     -3321.8524      -2588.4514
+  22420120.1394  -10751424.54649  -8162285.59347  22420119.1564   22420125.7594
+      -270.9054       -211.0964
+  21026413.1934  -20180976.68149 -15271941.34348  21026413.1724   21026420.0744
+      1819.0354       1417.4254
+ 05  1 20 18 18 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23736718.8374   -2864160.27949  -2217290.43746  23736717.9644   23736726.3184
+       682.2504        531.6214
+  20791428.3474  -23050176.55749 -17916481.19648  20791427.6644   20791434.4424
+       415.5884        323.8384
+  20664954.9554  -25928350.51049 -20188325.88548  20664954.4104   20664959.7694
+     -1631.8574      -1271.5754
+  21325144.9104  -19242746.14349 -14976450.24547  21325145.4824   21325151.9194
+      2464.2164       1920.1644
+  25150695.5674   -2242193.29749  -1733725.93545  25150696.9294   25150706.3924
+      3560.3994       2774.3304
+  24326083.7424   -1029400.63849   -779482.69845  24326081.1454   24326090.2984
+     -3322.9204      -2589.2854
+  22421722.3634  -10742999.89249  -8155720.94347  22421722.0844   22421728.2184
+      -290.7444       -226.5544
+  21016070.4234  -20235332.14349 -15314296.22348  21016069.8014   21016076.8024
+      1804.6574       1406.2264
+ 05  1 20 18 19  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23732880.4624   -2884332.77149  -2233009.28946  23732880.4274   23732887.2154
+       662.6504        516.3554
+  20789074.8374  -23062543.27849 -17926117.60948  20789074.3334   20789081.0224
+       409.0104        318.7114
+  20674317.2724  -25879149.37349 -20149987.35148  20674316.8124   20674322.8564
+     -1648.2274      -1284.3314
+  21311115.9674  -19316473.33649 -15033899.98247  21311115.8684   21311122.1974
+      2451.0374       1909.8954
+  25130379.1404   -2348961.22249  -1816921.56545  25130379.2174   25130390.1924
+      3557.4694       2772.0484
+  24345054.3384    -929698.35649   -701792.78045  24345054.3474   24345062.8824
+     -3323.8924      -2590.0394
+  22423438.0584  -10733980.01949  -8148692.48447  22423437.7974   22423444.5054
+      -310.5774       -242.0104
+  21005808.7274  -20289255.86649 -15356314.69648  21005808.1154   21005815.5654
+      1790.2624       1395.0134
+ 05  1 20 18 19 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23729152.8044   -2903917.68449  -2248270.27245  23729153.2664   23729160.9234
+       643.0364        501.0744
+  20786759.3874  -23074712.63149 -17935600.22448  20786758.6734   20786765.2394
+       402.3834        313.5434
+  20683773.9834  -25829457.27649 -20111266.25648  20683773.4474   20683778.7124
+     -1664.5854      -1297.0774
+  21297160.2814  -19389805.16949 -15091041.65147  21297160.4894   21297167.4264
+      2437.8444       1899.6204
+  25110080.1664   -2455640.24649  -1900047.99445  25110079.4674   25110089.5644
+      3554.4994       2769.7424
+  24364033.1524    -829967.09349   -624080.20245  24364032.2654   24364039.6524
+     -3324.9234      -2590.8354
+  22425269.2844  -10724364.89649  -8141200.18947  22425268.5444   22425274.4484
+      -330.4244       -257.4824
+  20995629.4404  -20342747.39749 -15397996.38548  20995628.9304   20995636.6254
+      1775.8294       1383.7624
+ 05  1 20 18 20  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23725537.9754   -2922914.67549  -2263073.13945  23725537.7694   23725545.9014
+       623.3464        485.7214
+  20784481.5444  -23086684.21749 -17944928.73248  20784480.5124   20784487.2754
+       395.7874        308.4064
+  20693322.8894  -25779274.96449 -20072163.18348  20693322.3134   20693328.0804
+     -1680.9254      -1309.8144
+  21283282.5994  -19462740.45249 -15147874.32047  21283282.0594   21283288.1054
+      2424.6084       1889.3004
+  25089796.6114   -2562228.88849  -1983103.98645  25089796.3634   25089804.2964
+      3551.3824       2767.3104
+  24383016.9094    -730208.88449   -546346.65445  24383016.4284   24383023.5174
+     -3325.7634      -2591.4964
+  22427211.7114  -10714154.61449  -8133244.13847  22427211.1514   22427217.8714
+      -350.2674       -272.9314
+  20985533.2424  -20395805.83449 -15439340.61248  20985532.7134   20985540.0254
+      1761.3914       1372.5124
+ 05  1 20 18 20 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23722034.0844   -2941323.44349  -2277417.66445  23722035.1554   23722042.9884
+       603.8164        470.5054
+  20782240.7014  -23098457.59949 -17954102.80748  20782240.1414   20782246.8684
+       389.1934        303.2704
+  20702965.1934  -25728603.02949 -20032678.57448  20702965.1744   20702970.4364
+     -1697.2224      -1322.5034
+  21269478.5834  -19535278.07549 -15204397.11547  21269478.7924   21269484.9534
+      2411.3084       1878.9484
+  25069529.5154   -2668725.61449  -2066088.34345  25069530.8114   25069536.9554
+      3548.2894       2764.8974
+  24402006.2534    -630425.09549   -468593.14545  24402004.7894   24402013.6104
+     -3326.5334      -2592.1054
+  22429267.7284  -10703349.09949  -8124824.26447  22429266.9954   22429274.2274
+      -370.0944       -288.3874
+  20975518.6054  -20448431.01249 -15480347.22948  20975518.4004   20975525.3164
+      1746.9384       1361.2544
+ 05  1 20 18 21  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23718642.6944   -2959143.69249  -2291303.57746  23718643.0364   23718651.2744
+       584.1974        455.2224
+  20780038.3074  -23110032.31049 -17963122.07048  20780037.3544   20780044.3414
+       382.5474        298.0904
+  20712701.1004  -25677442.19049 -19992813.01348  20712700.7014   20712706.0414
+     -1713.5274      -1335.2134
+  21255750.8954  -19607416.92549 -15260609.18047  21255750.7844   21255757.0184
+      2397.9954       1868.5684
+  25049282.4344   -2775128.98449  -2148999.90645  25049283.0094   25049291.1414
+      3545.2024       2762.4874
+  24420998.4564    -530617.30349   -390820.96245  24420997.8934   24421005.0794
+     -3327.3314      -2592.7214
+  22431437.0654  -10691948.52649  -8115940.72647  22431437.4084   22431442.8604
+      -389.9544       -303.8604
+  20965586.8484  -20500622.59149 -15521015.98548  20965586.5514   20965593.4064
+      1732.4734       1349.9864
+ 05  1 20 18 21 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23715365.0624   -2976375.56949  -2304731.02846  23715364.9344   23715372.3364
+       564.6064        439.9544
+  20777873.5194  -23121407.81849 -17971986.11648  20777872.8164   20777879.4084
+       375.9774        292.9714
+  20722529.3094  -25625793.17849 -19952567.04848  20722529.0144   20722534.6924
+     -1729.7494      -1347.8554
+  21242099.4594  -19679156.04649 -15316509.77747  21242099.6744   21242105.7544
+      2384.6304       1858.1544
+  25029053.5734   -2881437.60349  -2231837.62245  25029052.7254   25029061.0954
+      3541.9554       2759.9584
+  24439995.9104    -430786.87549   -313031.12745  24439995.9624   24440002.0544
+     -3328.0304      -2593.2614
+  22433720.0544  -10679952.90049  -8106593.49947  22433718.8304   22433726.3034
+      -409.7684       -319.2924
+  20955736.9874  -20552379.78549 -15561346.24848  20955737.4124   20955744.3524
+      1717.9964       1338.6964
+ 05  1 20 18 22  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23712198.3334   -2993018.75549  -2317699.75146  23712197.0294   23712206.4024
+       544.9474        424.6224
+  20775746.6594  -23132583.76549 -17980694.64948  20775746.0774   20775752.7794
+       369.2354        287.7164
+  20732451.3294  -25573656.89849 -19911941.39248  20732450.4384   20732456.2204
+     -1745.9834      -1360.5034
+  21228522.7424  -19750494.39049 -15372098.07047  21228523.3274   21228530.6264
+      2371.2894       1847.7554
+  25008840.8364   -2987650.10049  -2314600.38545  25008841.3844   25008849.2854
+      3538.8054       2757.5014
+  24458996.7944    -330935.61049   -235224.95345  24458995.8864   24459003.2954
+     -3328.7304      -2593.8344
+  22436116.0824  -10667362.39649  -8096782.73747  22436115.2944   22436122.3544
+      -429.5864       -334.7554
+  20945971.5734  -20603702.11549 -15601337.66648  20945971.4054   20945978.3074
+      1703.4674       1327.3744
+ 05  1 20 18 22 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23709144.2684   -3009073.12549  -2330209.68045  23709143.4384   23709150.2814
+       525.3434        409.3594
+  20773658.2194  -23143559.70649 -17989247.34448  20773657.4884   20773664.3704
+       362.5804        282.5324
+  20742464.0364  -25521033.88149 -19870936.46848  20742463.8924   20742469.7734
+     -1762.1904      -1373.1344
+  21215024.8144  -19821430.79649 -15427373.17547  21215025.0174   21215032.2064
+      2357.8534       1837.2914
+  24988646.1754   -3093764.85549  -2397286.99045  24988646.8244   24988654.9614
+      3535.5014       2754.9334
+  24478000.1444    -231064.70249   -157403.55645  24478001.5884   24478009.4944
+     -3329.3284      -2594.2934
+  22438626.0544  -10654177.28849  -8086508.64847  22438624.9944   22438631.3654
+      -449.4044       -350.1834
+  20936288.1544  -20654589.18349 -15640989.91648  20936287.8044   20936294.7294
+      1688.9684       1316.0784
+ 05  1 20 18 23  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23706201.0334   -3024538.63449  -2342260.71845  23706200.4754   23706206.6994
+       505.7674        394.1054
+  20771607.6444  -23154335.10949 -17997643.77648  20771606.9344   20771613.7494
+       355.8774        277.3074
+  20752570.7384  -25467925.02549 -19829552.96248  20752570.6614   20752575.7764
+     -1778.3804      -1385.7494
+  21201603.0824  -19891964.16749 -15482334.21947  21201603.1954   21201609.6934
+      2344.4304       1826.8324
+  24968470.1474   -3199780.48249  -2479896.29545  24968471.4984   24968479.6824
+      3532.1374       2752.3094
+  24497009.5574    -131175.92849    -79568.27045  24497009.1694   24497016.2294
+     -3329.8994      -2594.7224
+  22441246.8894  -10640397.59849  -8075771.24547  22441246.3194   22441252.8844
+      -469.2414       -365.6594
+  20926686.9544  -20705040.35349 -15680302.50548  20926686.9374   20926694.3204
+      1674.4594       1304.7724
+ 05  1 20 18 23 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23703368.1694   -3039415.03849  -2353852.72945  23703367.8934   23703376.7004
+       486.0904        378.7774
+  20769594.9314  -23164909.55649 -18005883.60948  20769594.4704   20769601.3854
+       349.1514        272.0664
+  20762769.2474  -25414331.32149 -19787791.65048  20762769.0454   20762774.8994
+     -1794.5424      -1398.3444
+  21188257.5554  -19962093.81049 -15536980.67547  21188257.6004   21188264.4464
+      2330.9264       1816.3064
+  24948316.6434   -3305695.72749  -2562427.42945  24948319.0544   24948327.4534
+      3528.7384       2749.6554
+  24516020.0214     -31270.85649     -1720.26145  24516020.2314   24516029.1134
+     -3330.4314      -2595.1404
+  22443982.7454  -10626023.45449  -8064570.63247  22443982.1264   22443988.8304
+      -489.0484       -381.0714
+  20917170.2814  -20755055.34849 -15719275.22148  20917169.6664   20917176.5264
+      1659.8834       1293.4174
+ 05  1 20 18 24  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23700651.4834   -3053702.35449  -2364985.69945  23700650.4944   23700658.0704
+       466.4494        363.4654
+  20767621.5264  -23175282.53149 -18013966.46248  20767620.5294   20767627.7504
+       342.4604        266.8544
+  20773060.3684  -25360253.26749 -19745652.93848  20773059.7784   20773065.6094
+     -1810.6404      -1410.8884
+  21174990.0034  -20031818.44749 -15591311.55047  21174990.3134   21174996.5424
+      2317.4444       1805.8014
+  24928181.7604   -3411509.34049  -2644879.28245  24928182.5764   24928190.3954
+      3525.4234       2747.0764
+  24535035.6544      68649.26249     76139.44745  24535034.5544   24535042.6764
+     -3330.8994      -2595.4984
+  22446831.3144  -10611055.20849  -8052907.09747  22446830.5084   22446836.9924
+      -508.8444       -396.4974
+  20907734.8364  -20804633.70649 -15757907.70348  20907734.8844   20907742.1114
+      1645.3464       1282.0904
+ 05  1 20 18 24 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23698041.0254   -3067400.58349  -2375659.61545  23698043.1314   23698050.0284
+       446.8264        348.1714
+  20765686.1994  -23185453.68649 -18021892.05348  20765685.1984   20765692.2304
+       335.7224        261.6034
+  20783442.9594  -25305691.85749 -19703137.57848  20783442.5444   20783447.7784
+     -1826.7604      -1423.4504
+  21161799.3294  -20101137.13749 -15645326.09947  21161799.1104   21161805.4344
+      2303.8974       1795.2444
+  24908065.8244   -3517219.67449  -2727250.67645  24908065.5474   24908074.5964
+      3521.9414       2744.3604
+  24554050.9914     168582.64349    154009.54545  24554051.5284   24554059.8844
+     -3331.3534      -2595.8644
+  22449792.1754  -10595492.98049  -8040780.70347  22449791.2144   22449799.5034
+      -528.6534       -411.9294
+  20898383.7604  -20853775.19949 -15796199.76448  20898383.5444   20898390.7434
+      1630.7574       1270.7194
+ 05  1 20 18 25  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23695549.3084   -3080509.54949  -2385874.40945  23695548.6024   23695556.7484
+       427.1214        332.8294
+  20763789.0534  -23195422.44549 -18029659.92948  20763788.2744   20763795.1554
+       328.9774        256.3464
+  20793917.8284  -25250647.95349 -19660246.24748  20793917.3524   20793922.9014
+     -1842.8294      -1435.9714
+  21148684.9154  -20170048.94349 -15699023.58447  21148685.4784   21148691.8624
+      2290.2844       1784.6344
+  24887969.5754   -3622825.46049  -2809540.60445  24887969.4834   24887978.0994
+      3518.4014       2741.6004
+  24573070.0544     268527.89049    231888.85945  24573070.8154   24573078.3394
+     -3331.6934      -2596.1254
+  22452866.5274  -10579337.24349  -8028191.86347  22452865.6054   22452873.2414
+      -548.4324       -427.3514
+  20889115.9094  -20902479.37949 -15834151.05748  20889115.6684   20889122.7844
+      1616.1674       1259.3474
+ 05  1 20 18 25 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23693166.6544   -3093029.57549  -2395630.24945  23693165.6864   23693173.6254
+       407.5354        317.5644
+  20761930.4274  -23205188.39549 -18037269.77248  20761929.8124   20761936.6584
+       322.2334        251.0934
+  20804484.0034  -25195122.49949 -19616979.68548  20804483.2394   20804489.2334
+     -1858.8434      -1448.4434
+  21135649.5704  -20238552.78349 -15752403.18347  21135649.5984   21135656.3224
+      2276.7124       1774.0634
+  24867896.5644   -3728325.34949  -2891748.00845  24867895.5634   24867903.9274
+      3514.8704       2738.8574
+  24592093.3574     368483.82149    309776.51145  24592093.3774   24592101.2854
+     -3332.0054      -2596.3704
+  22456053.2384  -10562588.11149  -8015140.62347  22456053.3354   22456060.2874
+      -568.1694       -442.7264
+  20879931.7114  -20950745.79049 -15871761.23848  20879931.0184   20879937.8814
+      1601.5934       1247.9944
+ 05  1 20 18 26  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23690896.2954   -3104960.55749  -2404927.13246  23690896.2904   23690902.4664
+       387.9084        302.2684
+  20760110.7414  -23214751.00349 -18044721.16548  20760110.2034   20760117.0294
+       315.4034        245.7714
+  20815140.5804  -25139116.44749 -19573338.62648  20815140.5784   20815146.6944
+     -1874.8784      -1460.9414
+  21122691.6324  -20306647.80349 -15805464.21647  21122691.2164   21122697.7514
+      2263.0474       1763.4124
+  24847840.0454   -3833717.68949  -2973871.74445  24847838.2824   24847846.8244
+      3511.2724       2736.0434
+  24611114.5024     468448.48149    387670.91245  24611114.3394   24611124.3564
+     -3332.3084      -2596.5924
+  22459354.0994  -10545246.07949  -8001627.37047  22459352.9774   22459360.6764
+      -587.9654       -458.1514
+  20870829.1034  -20998574.10649 -15909030.03848  20870829.0644   20870836.7294
+      1586.9794       1236.6094
+ 05  1 20 18 26 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23688737.1624   -3116302.70449  -2413765.18545  23688737.3534   23688744.6824
+       368.2574        286.9534
+  20758330.1814  -23224109.72449 -18052013.68548  20758329.2404   20758336.1574
+       308.5884        240.4564
+  20825889.9794  -25082630.48549 -19529323.61748  20825889.5684   20825895.3314
+     -1890.8464      -1473.3864
+  21109810.1404  -20374333.11549 -15858205.99447  21109811.3704   21109817.8194
+      2249.3344       1752.7294
+  24827802.0464   -3939001.31049  -3055910.68045  24827801.7764   24827813.1064
+      3507.6174       2733.1994
+  24630138.0424     568420.60149    465571.15745  24630138.8414   24630147.7254
+     -3332.4794      -2596.7274
+  22462767.7764  -10527311.42749  -7987652.36447  22462766.9044   22462772.4834
+      -607.7194       -473.5464
+  20861811.0294  -21045964.14949 -15945957.33448  20861811.0034   20861818.5344
+      1572.3534       1225.2084
+ 05  1 20 18 27  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23686689.8974   -3127055.92449  -2422144.35645  23686690.7494   23686699.0564
+       348.6254        271.6544
+  20756587.9944  -23233264.22549 -18059147.07048  20756587.2314   20756594.0814
+       301.7924        235.1604
+  20836730.5114  -25025665.77949 -19484935.56348  20836730.0854   20836735.2684
+     -1906.7894      -1485.8114
+  21097009.4154  -20441607.92249 -15910627.91147  21097009.5274   21097015.3844
+      2235.6704       1742.0774
+  24807790.7074   -4044174.61849  -3137863.67745  24807788.2344   24807796.8344
+      3503.8414       2730.2614
+  24649164.5004     668398.72649    543476.07245  24649163.8784   24649172.3934
+     -3332.6924      -2596.8994
+  22466292.5714  -10508784.65149  -7973215.92847  22466291.6304   22466298.8264
+      -627.4464       -488.9234
+  20852877.4284  -21092915.60049 -15982542.87348  20852877.1284   20852884.1254
+      1557.7394       1213.8214
+ 05  1 20 18 27 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23684757.0624   -3137220.49849  -2430064.80246  23684756.2644   23684765.5974
+       329.0304        256.3874
+  20754884.8084  -23242213.82449 -18066120.78848  20754884.1394   20754891.0424
+       294.9444        229.8284
+  20847661.0264  -24968223.25449 -19440175.17448  20847660.7344   20847666.2034
+     -1922.7194      -1498.2244
+  21084285.7474  -20508471.11149 -15962729.07547  21084285.5874   21084292.1804
+      2221.9444       1731.3854
+  24787797.0564   -4149236.24349  -3219729.65545  24787796.7254   24787805.4954
+      3500.2184       2727.4354
+  24668190.4614     768381.48149    621384.64245  24668189.9434   24668198.3424
+     -3332.9064      -2597.0704
+  22469930.9144  -10489665.97249  -7958318.30547  22469930.2574   22469937.0514
+      -647.1554       -504.2614
+  20844026.1474  -21139428.20649 -16018786.44548  20844025.6264   20844032.6504
+      1543.0834       1202.3984
+ 05  1 20 18 28  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23682934.7394   -3146796.60649  -2437526.70446  23682934.6154   23682942.7514
+       309.3164        241.0264
+  20753220.6854  -23250958.19649 -18072934.58448  20753220.2164   20753227.1674
+       288.0954        224.4914
+  20858683.3414  -24910303.77349 -19395043.14148  20858682.7684   20858688.4044
+     -1938.5934      -1510.5894
+  21071640.9174  -20574921.79349 -16014508.80747  21071640.9564   21071646.7914
+      2208.1874       1720.6634
+  24767827.3524   -4254184.96449  -3301507.67945  24767826.1534   24767833.8974
+      3496.4214       2724.4754
+  24687216.1634     868367.44849    699295.69045  24687216.2564   24687225.7794
+     -3332.8894      -2597.0574
+  22473682.1844  -10469956.00649  -7942959.91447  22473680.8954   22473688.3254
+      -666.8524       -519.6314
+  20835258.1144  -21185501.31749 -16054687.55748  20835257.9524   20835265.0794
+      1528.4544       1191.0004
+ 05  1 20 18 28 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23681224.2374   -3155784.24549  -2444530.06745  23681223.7684   23681231.7814
+       289.9324        225.9254
+  20751596.1394  -23259496.70949 -18079587.97848  20751595.4774   20751602.0454
+       281.2334        219.1414
+  20869795.6094  -24851908.31749 -19349540.21648  20869794.7644   20869800.4334
+     -1954.4304      -1522.9384
+  21059074.1284  -20640959.28149 -16065966.57447  21059074.1314   21059080.4314
+      2194.3814       1709.9044
+  24747875.3564   -4359019.18749  -3383196.44545  24747874.7904   24747883.9344
+      3492.5214       2721.4284
+  24706244.0274     968355.05548    777208.00545  24706243.1404   24706253.1814
+     -3332.8894      -2597.0554
+  22477543.8674  -10449655.16549  -7927141.11147  22477543.9394   22477550.4954
+      -686.5434       -534.9654
+  20826574.0924  -21231135.05849 -16090246.30348  20826574.3454   20826581.6384
+      1513.7914       1179.5744
+ 05  1 20 18 29  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23679625.4164   -3164183.69849  -2451075.08645  23679625.6194   23679633.7504
+       270.1864        210.5334
+  20750010.0894  -23267828.91649 -18086080.60648  20750009.7444   20750016.5144
+       274.3314        213.7644
+  20880997.0734  -24793037.95149 -19303667.22948  20880997.3454   20881003.2054
+     -1970.2644      -1535.2774
+  21046586.0744  -20706582.49549 -16117101.52247  21046586.4144   21046592.5924
+      2180.5674       1699.1414
+  24727948.0034   -4463737.75949  -3464795.03045  24727946.6594   24727955.2814
+      3488.5984       2718.3804
+  24725274.3154    1068342.91449    855120.47745  24725273.4324   24725276.8044
+     -3332.9904      -2597.1324
+  22481519.8264  -10428763.95349  -7910862.27347  22481519.0714   22481526.2994
+      -706.2074       -550.3064
+  20817974.5924  -21276328.78349 -16125462.17748  20817974.4754   20817981.6124
+      1499.1264       1168.1504
+ 05  1 20 18 29 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23678137.6854   -3171995.37949  -2457162.13746  23678138.3554   23678147.4464
+       250.5644        195.2444
+  20748464.3104  -23275954.36149 -18092412.12448  20748463.6914   20748470.5384
+       267.4284        208.3844
+  20892290.5234  -24733693.94349 -19257425.17548  20892290.0764   20892295.8664
+     -1986.0274      -1547.5554
+  21034177.3124  -20771790.70649 -16167913.09847  21034177.5904   21034183.9934
+      2166.6974       1688.3294
+  24708043.4554   -4568339.14349  -3546302.31945  24708044.2664   24708050.1034
+      3484.7424       2715.3754
+  24744298.0204    1168329.63649    933032.12745  24744297.8164   24744304.9154
+     -3332.8624      -2597.0344
+  22485607.6784  -10407282.69349  -7894123.66647  22485607.1774   22485614.4014
+      -725.8734       -565.6024
+  20809458.5174  -21321082.45649 -16160335.15948  20809458.1504   20809465.0794
+      1484.4414       1156.7064
+ 05  1 20 18 30  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23676767.0544   -3179219.30849  -2462791.15946  23676765.0624   23676772.8624
+       230.9444        179.9554
+  20746957.9434  -23283872.38449 -18098582.01948  20746957.0024   20746963.7744
+       260.5044        202.9884
+  20903674.2734  -24673877.09649 -19210814.67648  20903673.4734   20903678.8484
+     -2001.7794      -1559.8284
+  21021848.1974  -20836583.00749 -16218400.59047  21021847.8594   21021854.5124
+      2152.8144       1677.5144
+  24688161.7574   -4672821.88849  -3627717.15745  24688161.8254   24688168.0154
+      3480.6604       2712.1894
+  24763325.1284    1268313.95949   1010941.85245  24763324.4524   24763334.3574
+     -3332.7354      -2596.9304
+  22489807.9814  -10385212.22049  -7876925.91247  22489806.7214   22489814.4984
+      -745.5294       -580.9344
+  20801025.8874  -21365395.91849 -16194865.11548  20801025.4244   20801032.3044
+      1469.7654       1145.2684
+ 05  1 20 18 30 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23675501.0284   -3185855.84249  -2467962.48646  23675501.0354   23675510.6604
+       211.4544        164.7714
+  20745490.5464  -23291582.62949 -18104590.00648  20745489.7854   20745496.4704
+       253.6124        197.6184
+  20915146.0274  -24613588.38849 -19163836.49048  20915145.4064   20915151.2914
+     -2017.4834      -1572.0644
+  21009597.3144  -20900958.54749 -16268563.33347  21009597.2894   21009604.2704
+      2138.9234       1666.6954
+  24668302.5924   -4777184.60349  -3709038.45445  24668300.8614   24668307.6544
+      3476.7014       2709.1214
+  24782350.2134    1368294.37649   1088848.53145  24782351.3484   24782357.6914
+     -3332.5914      -2596.8194
+  22494120.5324  -10362552.79749  -7859269.24647  22494119.9554   22494125.9804
+      -765.1504       -596.2204
+  20792676.8224  -21409269.03149 -16229051.94448  20792676.4344   20792683.7174
+      1455.0894       1133.8324
+ 05  1 20 18 31  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23674349.9914   -3191905.36549  -2472676.43746  23674351.3204   23674358.4884
+       191.8884        149.5234
+  20744063.0664  -23299084.50549 -18110435.62848  20744062.0144   20744068.8414
+       246.6354        192.1804
+  20926708.4134  -24552828.96349 -19116491.52048  20926707.9634   20926713.3494
+     -2033.1274      -1584.2554
+  20997426.2944  -20964916.53849 -16318400.71147  20997426.6084   20997433.2374
+      2125.0014       1655.8474
+  24648462.5274   -4881426.16949  -3790265.38845  24648463.2394   24648471.0504
+      3472.7214       2706.0064
+  24801375.0764    1468269.37449   1166751.04345  24801374.3604   24801382.7114
+     -3332.4244      -2596.6954
+  22498544.1854  -10339305.19949  -7841154.26747  22498543.7844   22498550.6514
+      -784.7214       -611.4764
+  20784412.0694  -21452701.49849 -16262895.41148  20784411.8594   20784418.9294
+      1440.4084       1122.3904
+ 05  1 20 18 31 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23673312.0164   -3197368.23049  -2476933.19046  23673309.7664   23673318.6844
+       172.3394        134.3004
+  20742674.8944  -23306377.49849 -18116118.48648  20742674.4114   20742681.0224
+       239.6554        186.7444
+  20938359.7234  -24491599.99649 -19068780.66848  20938359.2814   20938365.1624
+     -2048.7684      -1596.4414
+  20985335.5624  -21028456.28249 -16367912.18347  20985335.7234   20985342.0684
+      2111.0474       1644.9724
+  24628651.0404   -4985545.11949  -3871396.70845  24628650.1604   24628659.0164
+      3468.5144       2702.7204
+  24820399.2954    1568237.65649   1244648.36045  24820396.9444   24820407.0504
+     -3332.1614      -2596.4864
+  22503079.5734  -10315469.99349  -7822581.39247  22503079.4074   22503085.9804
+      -804.2884       -626.7184
+  20776231.5064  -21495693.12549 -16296395.38048  20776230.9434   20776238.0364
+      1425.7284       1110.9574
+ 05  1 20 18 32  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23672381.8554   -3202244.74649  -2480733.08845  23672381.4244   23672390.4474
+       152.7734        119.0324
+  20741327.2624  -23313461.03149 -18121638.13148  20741326.4864   20741333.0654
+       232.6814        181.3104
+  20950099.7374  -24429902.56449 -19020704.77448  20950099.6394   20950105.4584
+     -2064.3774      -1608.6054
+  20973324.3584  -21091576.81849 -16417096.99647  20973324.1894   20973331.0034
+      2097.0574       1634.0714
+  24608861.1344   -5089540.30549  -3952431.64246  24608859.5134   24608868.9704
+      3464.4014       2699.5274
+  24839420.6264    1668197.95049   1322539.37245  24839421.3754   24839428.5874
+     -3331.8784      -2596.2684
+  22507726.0784  -10291047.76549  -7803551.11947  22507725.6154   22507733.2114
+      -823.8304       -641.9534
+  20768133.3514  -21538244.06649 -16329551.93948  20768133.2124   20768140.7444
+      1411.0194       1099.4944
+ 05  1 20 18 32 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23671563.4314   -3206535.36949  -2484076.44745  23671566.1764   23671574.1554
+       133.1994        103.7854
+  20740019.2704  -23320334.67449 -18126994.22448  20740018.3994   20740024.9524
+       225.6724        175.8494
+  20961929.8784  -24367737.84349 -18972264.76848  20961929.6144   20961935.1414
+     -2079.9304      -1620.7254
+  20961392.7984  -21154277.57049 -16465954.69948  20961392.9114   20961399.2564
+      2083.0224       1623.1294
+  24589095.2864   -5193410.20649  -4033368.95846  24589095.3214   24589102.8204
+      3460.1844       2696.2394
+  24858440.0624    1768148.79149   1400423.04345  24858438.8144   24858447.5884
+     -3331.5614      -2596.0124
+  22512486.3514  -10266039.25049  -7784063.97847  22512484.9494   22512492.4944
+      -843.3904       -657.1744
+  20760119.5444  -21580353.89949 -16362364.78548  20760120.0014   20760127.1394
+      1396.2984       1088.0254
+ 05  1 20 18 33  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23670862.6294   -3210240.62049  -2486963.66145  23670860.4984   23670869.4884
+       113.8224         88.7004
+  20738750.8564  -23326997.80749 -18132186.28348  20738750.4084   20738757.0604
+       218.6524        170.3794
+  20973848.1304  -24305107.04749 -18923461.57448  20973847.6814   20973853.3034
+     -2095.4624      -1632.8274
+  20949540.8994  -21216557.68349 -16514484.63847  20949541.3544   20949547.4684
+      2069.0124       1612.2204
+  24569353.1574   -5297153.43049  -4114207.56645  24569351.9354   24569359.7884
+      3455.9254       2692.9204
+  24877457.5084    1868088.84749   1478298.39345  24877457.6684   24877466.8734
+     -3331.1404      -2595.6934
+  22517356.3534  -10240445.01649  -7764120.44347  22517355.3324   22517362.3224
+      -862.8834       -672.3784
+  20752191.8394  -21622022.39749 -16394833.74248  20752191.1884   20752197.9074
+      1381.5904       1076.5644
+ 05  1 20 18 33 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23670265.2504   -3213360.84449  -2489395.03746  23670267.0934   23670276.2914
+        94.2864         73.4784
+  20737523.1844  -23333449.89749 -18137213.89648  20737522.5694   20737529.5374
+       211.5914        164.8784
+  20985854.7704  -24242011.17249 -18874295.99647  20985854.5174   20985860.3704
+     -2110.9204      -1644.8694
+  20937769.3824  -21278416.57049 -16562686.35148  20937769.6784   20937776.2194
+      2054.9734       1601.2744
+  24549636.5014   -5400768.59049  -4194946.44345  24549636.2244   24549643.2374
+      3451.6524       2689.6024
+  24896473.3864    1968016.93949   1556164.37045  24896473.8634   24896482.6354
+     -3330.6984      -2595.3534
+  22522338.2364  -10214265.98449  -7743721.21547  22522337.1004   22522344.3984
+      -882.3764       -687.5614
+  20744346.4594  -21663249.52249 -16426958.76148  20744345.9084   20744352.9164
+      1366.8824       1065.1014
+ 05  1 20 18 34  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23669785.0924   -3215896.48049  -2491370.86946  23669785.1154   23669794.6214
+        74.7994         58.2924
+  20736335.3254  -23339690.41849 -18142076.64748  20736335.0094   20736342.0054
+       204.5504        159.3914
+  20997950.0854  -24178451.59549 -18824769.07848  20997949.5074   20997955.2574
+     -2126.3624      -1656.9024
+  20926078.5894  -21339853.23649 -16610559.05948  20926078.9844   20926085.2714
+      2040.8824       1590.2994
+  24529941.7624   -5504254.34549  -4275584.49645  24529942.1344   24529949.9404
+      3447.3864       2686.2724
+  24915486.9954    2067931.80249   1634019.98344  24915484.2304   24915495.5324
+     -3330.2914      -2595.0244
+  22527429.8674  -10187502.63649  -7722866.69047  22527429.4314   22527437.2454
+      -901.8614       -702.7384
+  20736584.3854  -21704035.44349 -16458739.99148  20736584.2144   20736591.5824
+      1352.1754       1053.6444
+ 05  1 20 18 34 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23669414.0014   -3217848.06449  -2492891.57646  23669413.3394   23669422.9154
+        55.3434         43.1264
+  20735189.0394  -23345718.86549 -18146774.14448  20735187.9384   20735194.7074
+       197.4814        153.8774
+  21010132.6554  -24114429.28549 -18774881.59548  21010132.6134   21010138.2744
+     -2141.7654      -1668.9114
+  20914468.0634  -21400867.21949 -16658102.40648  20914468.2264   20914474.7294
+      2026.7664       1579.2964
+  24510273.2174   -5607609.46349  -4356120.75546  24510273.9964   24510283.0184
+      3443.0074       2682.8604
+  24934499.3474    2167831.66149   1711863.98544  24934496.6184   24934504.7494
+     -3329.6694      -2594.5374
+  22532635.8424  -10160155.79349  -7701557.50247  22532634.3954   22532640.9124
+      -921.2674       -717.8694
+  20728906.7724  -21744379.91949 -16490177.23248  20728907.3204   20728914.1774
+      1337.4624       1042.1774
+ 05  1 20 18 35  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23669151.0424   -3219216.13649  -2493957.61746  23669153.4234   23669161.1544
+        35.9254         27.9934
+  20734082.0984  -23351534.66249 -18151305.94048  20734081.2464   20734087.9844
+       190.3824        148.3514
+  21022403.8354  -24049945.57449 -18724634.58648  21022403.8474   21022409.2034
+     -2157.1124      -1680.8614
+  20902937.9974  -21461457.77549 -16705315.80348  20902938.4854   20902944.8684
+      2012.6484       1568.3004
+  24490630.1994   -5710832.61549  -4436554.12245  24490630.8174   24490639.9234
+      3438.4914       2679.3374
+  24953505.2124    2267715.63348   1789695.64244  24953505.0154   24953511.6984
+     -3329.1754      -2594.1574
+  22537947.9124  -10132226.31349  -7679794.28647  22537948.4114   22537955.6224
+      -940.6784       -732.9954
+  20721314.4164  -21784282.89449 -16521270.44848  20721313.7964   20721320.7654
+      1322.7304       1030.6984
+ 05  1 20 18 35 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23669002.4944   -3220001.11649  -2494569.28846  23669003.4964   23669012.0224
+        16.4934         12.8484
+  20733015.7174  -23357137.20449 -18155671.57748  20733015.2314   20733021.7824
+       183.2484        142.7924
+  21034762.7504  -23985001.97849 -18674029.21948  21034762.1364   21034768.1134
+     -2172.4324      -1692.7954
+  20891488.3624  -21521624.13749 -16752198.66448  20891488.6994   20891495.6734
+      1998.5174       1557.2894
+  24471012.8894   -5813922.40049  -4516883.65745  24471013.7294   24471021.3074
+      3434.0894       2675.9064
+  24972505.8134    2367581.92048   1867513.45544  24972508.1294   24972518.5594
+     -3328.5564      -2593.6834
+  22543376.1534  -10103714.97049  -7657577.68847  22543375.1824   22543381.6924
+      -960.0854       -748.1194
+  20713805.2104  -21823743.94449 -16552019.31748  20713804.8304   20713811.6854
+      1308.0134       1019.2334
+ 05  1 20 18 36  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23668964.7434   -3220203.53849  -2494727.02946  23668964.4074   23668973.7884
+        -2.9814         -2.3244
+  20731990.7074  -23362525.97849 -18159870.62748  20731989.7894   20731996.3434
+       176.0924        137.2164
+  21047207.9524  -23919599.39749 -18623066.21547  21047207.6454   21047213.0334
+     -2187.7274      -1704.7204
+  20880120.2414  -21581365.70249 -16798750.51748  20880120.0264   20880127.0454
+      1984.3394       1546.2334
+  24451421.2674   -5916877.57749  -4597108.29645  24451420.9204   24451428.3434
+      3429.5604       2672.3744
+  24991511.3204    2467429.61549   1945316.80544  24991509.8684   24991514.9464
+     -3327.9604      -2593.2144
+  22548910.8724  -10074622.68749  -7634908.41347  22548910.1854   22548917.4694
+      -979.4094       -763.1754
+  20706379.4164  -21862763.33449 -16582424.02748  20706379.3094   20706386.5874
+      1293.2764       1007.7484
+ 05  1 20 18 36 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23669039.1594   -3219824.14749  -2494431.44146  23669038.2204   23669046.6634
+       -22.3424        -17.4084
+  20731005.4834  -23367700.38249 -18163902.63748  20731004.9814   20731011.7824
+       168.9504        131.6474
+  21059740.6524  -23853739.24149 -18571746.64247  21059740.2354   21059745.9204
+     -2202.9484      -1716.5794
+  20868832.4894  -21640681.90449 -16844970.92448  20868832.7604   20868839.3564
+      1970.1644       1535.1924
+  24431858.8674   -6019696.70549  -4677226.91945  24431856.2034   24431862.2854
+      3424.9724       2668.7984
+  25010505.5154    2567257.44248   2023104.71744  25010503.4654   25010516.7294
+     -3327.1844      -2592.6124
+  22554557.8174  -10044950.39949  -7611787.18347  22554557.4724   22554564.3074
+      -998.7304       -778.2284
+  20699038.7064  -21901340.84849 -16612484.42548  20699038.3874   20699045.2024
+      1278.5524        996.2714
+ 05  1 20 18 37  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23669220.9514   -3218863.82449  -2493683.15046  23669220.6624   23669229.2304
+       -41.6774        -32.4794
+  20730062.1154  -23372659.89449 -18167767.20748  20730061.4704   20730068.0534
+       161.7844        126.0654
+  21072360.2374  -23787422.68149 -18520071.44747  21072360.1314   21072366.2254
+     -2218.1564      -1728.4294
+  20857626.5954  -21699571.96849 -16890859.26648  20857626.2994   20857632.8334
+      1955.9224       1524.0994
+  24412317.3604   -6122378.43849  -4757238.46345  24412315.5214   24412321.9934
+      3420.4314       2665.2594
+  25029496.5734    2667063.97458   2100876.04754  25029500.5484   25029504.1294
+     -3326.5384      -2592.1014
+  22560314.2334  -10014698.73349  -7588214.47247  22560313.6704   22560320.6104
+     -1018.0194       -793.2634
+  20691781.9684  -21939476.77549 -16642200.72448  20691781.6074   20691788.7134
+      1263.8404        984.8104
+ 05  1 20 18 37 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23669512.8094   -3217323.08849  -2492482.60146  23669513.1184   23669522.8824
+       -60.9564        -47.4994
+  20729159.6344  -23377403.93249 -18171463.87348  20729158.4164   20729165.6494
+       154.6314        120.4934
+  21085066.6434  -23720651.29849 -18468041.84247  21085066.3204   21085071.9044
+     -2233.2514      -1740.1984
+  20846501.7904  -21758035.11249 -16936414.96048  20846502.0014   20846507.7094
+      1941.7034       1513.0154
+  24392802.4604   -6224921.69249  -4837142.10045  24392802.6494   24392808.8924
+      3415.7784       2661.6394
+  25048490.2004    2766847.70748   2178629.58244  25048489.7774   25048494.6224
+     -3325.7134      -2591.4614
+  22566182.3434   -9983868.77749  -7564191.16847  22566181.3454   22566188.3694
+     -1037.2744       -808.2544
+  20684608.4054  -21977171.16449 -16671572.96948  20684608.3864   20684615.3824
+      1249.1394        973.3524
+ 05  1 20 18 38  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23669917.4064   -3215202.61849  -2490830.29746  23669916.5174   23669925.3974
+       -80.3414        -62.5944
+  20728297.3504  -23381931.95949 -18174992.22148  20728296.7084   20728303.7864
+       147.3914        114.8504
+  21097859.6224  -23653426.10549 -18415658.61947  21097859.1204   21097864.3704
+     -2248.3674      -1751.9744
+  20835457.2604  -21816071.14649 -16981637.81948  20835457.0334   20835463.7434
+      1927.3984       1501.8664
+  24373314.5654   -6327325.16049  -4916936.77746  24373316.1204   24373323.3394
+      3411.1054       2658.0004
+  25067471.1004    2866607.79448   2256364.72444  25067471.4724
+     -3324.9024      -2590.8304
+  22572155.8574   -9952461.48749  -7539718.00446  22572156.3294   22572164.2114
+     -1056.5424       -823.2874
+  20677519.3604  -22014423.87049 -16700601.04548  20677519.3784   20677526.3474
+      1234.3834        961.8604
+ 05  1 20 18 38 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23670430.8864   -3212502.88549  -2488726.64745  23670430.7734   23670439.3274
+       -99.6524        -77.6494
+  20727477.0554  -23386243.45949 -18178351.84448  20727476.4674   20727482.9084
+       140.1514        109.2104
+  21110738.1464  -23585748.53049 -18362922.87447  21110737.6624   21110743.4344
+     -2263.4544      -1763.7294
+  20824494.0654  -21873679.19149 -17026527.19048  20824494.2594   20824501.3024
+      1913.1714       1490.7844
+  24353856.2794   -6429587.37849  -4996621.47846  24353855.7094   24353862.9204
+      3406.3404       2654.2794
+  25086450.2904    2966343.22748   2334080.56044  25086448.6794
+     -3324.2394      -2590.3054
+  22578244.0044   -9920477.90949  -7514795.75447  22578243.6734   22578250.6204
+     -1075.7454       -838.2464
+  20670514.7764  -22051234.95449 -16729285.00648  20670514.2594   20670521.4674
+      1219.6734        950.3954
+ 05  1 20 18 39  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23671052.3464   -3209224.80149  -2486172.30246  23671054.4994   23671062.8234
+      -118.9474        -92.6754
+  20726697.4034  -23390337.68249 -18181542.16148  20726697.2314   20726704.0424
+       132.9114        103.5744
+  21123703.1164  -23517619.87549 -18309835.65847  21123702.2494   21123708.0504
+     -2278.4214      -1775.3884
+  20813614.6214  -21930858.80049 -17071082.72748  20813614.5064   20813620.5364
+      1898.8814       1479.6514
+  24334422.5004   -6531707.07049  -5076195.06945  24334422.0374   24334429.9824
+      3401.6334       2650.6104
+  25105424.4944    3066052.29748   2411775.91144  25105426.0604   25105431.4564
+     -3323.2294      -2589.5174
+  22584440.2034   -9887918.76049  -7489425.05246  22584438.5864   22584446.8284
+     -1094.8864       -853.1484
+  20663593.4444  -22087604.49649 -16757624.90448  20663593.2304   20663600.7294
+      1204.9544        938.9304
+ 05  1 20 18 39 30.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23671787.7334   -3205368.97449  -2483167.78345  23671786.6124   23671797.3294
+      -138.1774       -107.6704
+  20725960.4614  -23394214.20249 -18184562.83148  20725959.5414   20725966.5734
+       125.6184         97.8904
+  21136752.3644  -23449041.57349 -18256398.04747  21136751.5684   21136757.9844
+     -2293.4234      -1787.0784
+  20802814.9634  -21987609.33049 -17115303.91048  20802814.9054   20802821.2164
+      1884.5814       1468.5104
+  24315019.4894   -6633683.04049  -5155656.66346  24315018.5734   24315024.5774
+      3396.7514       2646.8084
+  25124389.0274    3165733.86758   2489449.91554  25124392.2714   25124401.1524
+     -3322.1794      -2588.7104
+  22590744.2864   -9854785.22949  -7463606.74646  22590744.4084   22590751.6174
+     -1114.0574       -868.1014
+  20656756.9134  -22123532.57049 -16785620.80248  20656756.7004   20656763.7064
+      1190.2304        927.4524
+ 05  1 20 18 40  0.0000000  0  8G 9G 7G28G 4G 2G11G20G24
+  23672631.7324   -3200936.28149  -2479713.76245  23672631.7314   23672640.6164
+      -157.3724       -122.6274
+  20725264.6184  -23397872.42549 -18187413.41248  20725263.6604   20725270.3664
+       118.3584         92.2284
+  21149887.7644  -23380014.91549 -18202611.09047  21149887.4894   21149893.1204
+     -2308.3594      -1798.7284
+  20792097.2474  -22043930.18649 -17159190.27748  20792097.2974   20792103.8884
+      1870.2504       1457.3374
+  24295640.0994   -6735513.70249  -5235005.03846  24295639.9054   24295647.2214
+      3391.9014       2643.0314
+  25143357.2584    3265386.69258   2567101.36554  25143365.9694
+     -3321.3634      -2588.0624
+  22597159.4514   -9821078.16049  -7437341.54447  22597159.3314   22597165.8834
+     -1133.2164       -883.0284
+  20650004.7874  -22159018.99249 -16813272.56348  20650004.1734   20650010.9264
+      1175.5184        915.9904
+ 05  1 20 18 40 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23673581.1874   -3195927.64649  -2475810.91345  23673583.4064   23673594.8404
+      -176.5854       -137.6024
+  20724609.7264  -23401311.64349 -18190093.33448  20724608.9134   20724615.8264
+       111.0254         86.5114
+  21163108.2184  -23310541.46049 -18148475.97147  21163107.7694   21163113.7104
+     -2323.2044      -1810.2884
+  20781461.0534  -22099820.95549 -17202741.51548  20781461.7244   20781467.9704
+      1855.8944       1446.1514
+  24276288.4394   -6837197.95549  -5314239.31646  24276288.5834   24276297.6914
+      3387.0134       2639.2224
+  22603682.8464   -9786798.63149  -7410630.27647  22603682.9904   22603689.0984
+     -1152.1984       -897.8064
+  20643335.0344  -22194064.37749 -16840580.65848  20643334.9414   20643341.9964
+      1160.8244        904.5394
+ 05  1 20 18 41  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23674645.4154   -3190343.68849  -2471459.77146  23674646.5274   23674656.5484
+      -195.7014       -152.4974
+  20723997.2524  -23404531.37749 -18192602.22848  20723996.4224   20724002.9884
+       103.6914         80.7954
+  21176414.2274  -23240622.75949 -18093993.90247  21176413.3794   21176418.6594
+     -2338.0294      -1821.8414
+  20770908.2354  -22155281.10949 -17245957.20648  20770908.0064   20770914.0814
+      1841.5144       1434.9424
+  24256968.2684   -6938734.70049  -5393358.69646  24256967.2784   24256972.7664
+      3382.0704       2635.3714
+  22610315.0994   -9751947.69649  -7383473.72447  22610314.4044   22610321.3194
+     -1171.2034       -912.6304
+  20636749.8384  -22228668.70049 -16867545.05748  20636749.8124   20636756.8304
+      1146.1094        893.0674
+ 05  1 20 18 41 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23675818.0344   -3184185.36949  -2466661.12045  23675819.0724   23675826.9534
+      -214.8304       -167.4024
+  20723426.6554  -23407530.97749 -18194939.58248  20723425.6984   20723432.1394
+        96.3524         75.0824
+  21189802.3384  -23170259.99049 -18039165.82347  21189802.5664   21189808.6514
+     -2352.8144      -1833.3624
+  20760435.7074  -22210309.95749 -17288836.81948  20760436.0854   20760442.5894
+      1827.1434       1423.7474
+  24237674.9474   -7040122.47049  -5472362.00046  24237674.3184   24237680.3994
+      3377.0854       2631.4894
+  22617053.6464   -9716526.61649  -7355872.90547  22617053.6554   22617061.8924
+     -1190.1804       -927.4234
+  20630249.8854  -22262831.72749 -16894165.59748  20630249.1064   20630255.7714
+      1131.4094        881.6184
+ 05  1 20 18 42  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23677099.8024   -3177453.83849  -2461415.79145  23677099.9944   23677108.4064
+      -233.8524       -182.2194
+  20722897.1704  -23410310.00749 -18197105.07048  20722896.7744   20722903.3904
+        89.0204         69.3664
+  21203276.8424  -23099454.73649 -17983992.92647  21203276.2004   21203282.3274
+     -2367.5244      -1844.8254
+  20750046.9654  -22264907.20449 -17331380.11648  20750046.7514   20750053.1384
+      1812.7374       1412.5224
+  24218406.5264   -7141360.17849  -5551248.37046  24218408.5724   24218414.5994
+      3372.1404       2627.6264
+  22623905.2414   -9680536.45449  -7327828.68047  22623903.5344   22623910.2304
+     -1209.1444       -942.1834
+  20623831.9154  -22296553.57449 -16920442.35948  20623831.8224   20623838.9044
+      1116.7324        870.1784
+ 05  1 20 18 42 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23678490.7224   -3170149.69249  -2455724.28046  23678489.2014   23678499.7124
+      -253.0114       -197.1504
+  20722411.0424  -23412867.74049 -18199098.12048  20722410.1334   20722416.5904
+        81.6114         63.5944
+  21216834.4724  -23028208.39149 -17928476.34647  21216833.9574   21216839.8824
+     -2382.2144      -1856.2644
+  20739740.2334  -22319072.40649 -17373586.75648  20739739.6014   20739745.7814
+      1798.3224       1401.2924
+  24199172.0264   -7242446.31149  -5630016.63646  24199172.4154   24199178.5814
+      3366.9624       2623.5984
+  22630858.8364   -9643978.23849  -7299341.79746  22630859.2644   22630867.0794
+     -1228.0564       -956.9274
+  20617499.4704  -22329834.65149 -16946375.67148  20617499.2034   20617505.8194
+      1102.0144        858.7124
+ 05  1 20 18 43  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23679988.4164   -3162273.89349  -2449587.31046  23679988.5024   23679997.9954
+      -272.0474       -211.9774
+  20721966.2024  -23415203.51349 -18200918.20448  20721965.5514   20721972.5514
+        74.1874         57.8084
+  21230476.1464  -22956522.54549 -17872617.27347  21230475.7964   21230481.4584
+     -2396.8574      -1867.6834
+  20729514.1954  -22372804.91049 -17415456.22848  20729514.4784   20729521.0284
+      1783.9104       1390.0594
+  24179965.0614   -7343379.80849  -5708665.96546  24179964.7784   24179972.1804
+      3361.8834       2619.6414
+  22637925.3464   -9606853.15649  -7270413.20347  22637924.8764   22637932.2694
+     -1246.9394       -971.6374
+  20611249.6014  -22362675.11549 -16971965.63448  20611249.3674   20611256.6274
+      1087.3194        847.2604
+ 05  1 20 18 43 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23681596.3504   -3153827.73049  -2443005.89246  23681596.4304   23681604.8354
+      -290.9814       -226.7374
+  20721564.0504  -23417316.90749 -18202565.01348  20721563.4024   20721570.3084
+        66.7904         52.0444
+  21244200.8184  -22884398.42149 -17816416.69947  21244200.1214   21244205.7924
+     -2411.4264      -1879.0374
+  20719371.3574  -22426104.43349 -17456988.31748  20719371.8684   20719378.1644
+      1769.4274       1378.7754
+  24160788.0834   -7444159.22949  -5787195.26446  24160787.9844   24160795.7104
+      3356.7074       2615.6094
+  22645098.7634   -9569162.46449  -7241043.85547  22645097.0104   22645104.4724
+     -1265.7594       -986.3144
+  20605084.1224  -22395075.29649 -16997212.53148  20605084.0354   20605090.8354
+      1072.6534        835.8314
+ 05  1 20 18 44  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23683312.8924   -3144811.96949  -2435980.66246  23683312.2074   23683320.8404
+      -310.0164       -241.5764
+  20721204.9174  -23419207.25449 -18204038.02048  20721203.9404   20721210.4184
+        59.3164         46.2214
+  21258007.5564  -22811837.69849 -17759875.93147  21258008.1834   21258014.1054
+     -2425.9434      -1890.3464
+  20709312.0164  -22478970.42749 -17498182.58248  20709311.9774   20709318.2214
+      1755.0074       1367.5354
+  24141640.2494   -7544783.44849  -5865603.66746  24141639.8604   24141647.7144
+      3351.5724       2611.6064
+  22652376.9084   -9530907.45349  -7211234.78946  22652376.0814   22652383.4624
+     -1284.5514      -1000.9604
+  20599002.4714  -22427035.18449 -17022116.33748  20599002.1954   20599008.9344
+      1058.0104        824.4274
+ 05  1 20 18 44 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23685137.3884   -3135227.59749  -2428512.36646  23685135.7464   23685144.3104
+      -328.9014       -256.2844
+  20720887.7914  -23420873.86249 -18205336.68648  20720886.7624   20720893.1604
+        51.8814         40.4244
+  21271899.9054  -22738841.99349 -17702996.19647  21271898.8644   21271904.7754
+     -2440.4414      -1901.6444
+  20699334.0214  -22531402.49049 -17539038.73248  20699334.4574   20699340.5814
+      1740.5324       1356.2584
+  24122520.2274   -7645251.37549  -5943890.26946  24122520.6324   24122528.8414
+      3346.2744       2607.4854
+  22659762.8474   -9492089.20249  -7180986.82446  22659763.1144   22659770.7084
+     -1303.3254      -1015.5794
+  20593004.7784  -22458555.23349 -17046677.41948  20593004.3324   20593011.0974
+      1043.3344        812.9904
+ 05  1 20 18 45  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23687067.2934   -3125075.66849  -2420601.74746  23687067.6234   23687076.8144
+      -347.8614       -271.0714
+  20720613.2494  -23422316.14249 -18206460.54848  20720612.4254   20720618.9624
+        44.3994         34.5974
+  21285872.4224  -22665412.65549 -17645778.57247  21285872.0934   21285877.7434
+     -2454.8784      -1912.8864
+  20689439.2844  -22583400.28549 -17579556.48348  20689439.5834   20689445.7474
+      1726.0414       1344.9624
+  24103434.4724   -7745561.59449  -6022053.99846  24103433.5254   24103439.8484
+      3341.0434       2603.4074
+  22667258.4454   -9452709.16749  -7150301.13046  22667257.8634   22667264.5944
+     -1322.0504      -1030.1724
+  20587090.0174  -22489635.44549 -17070895.76648  20587089.6364   20587096.7834
+      1028.6794        801.5714
+ 05  1 20 18 45 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23689107.2984   -3114357.31949  -2412249.79346  23689108.3424   23689115.9884
+      -366.7144       -285.7544
+  20720381.0544  -23423533.44249 -18207409.10048  20720380.6474   20720387.1394
+        36.8654         28.7254
+  21299927.7724  -22591551.48649 -17588224.44647  21299927.2894   21299933.6764
+     -2469.2384      -1924.0804
+  20679626.6744  -22634963.42949 -17619735.55348  20679627.2734   20679633.8454
+      1711.5434       1333.6744
+  24084373.0794   -7845712.76749  -6100093.79346  24084374.5244   24084380.8104
+      3335.7214       2599.2614
+  22674857.5464   -9412768.37949  -7119178.45346  22674857.5534   22674864.9374
+     -1340.7564      -1044.7454
+  20581259.2524  -22520276.15349 -17094771.64548  20581258.7554   20581266.1204
+      1014.0284        790.1494
+ 05  1 20 18 46  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23691255.1184   -3103073.62649  -2403457.33146  23691254.6264   23691263.8994
+      -385.5044       -300.3914
+  20720192.1854  -23424525.28349 -18208181.97748  20720191.7494   20720198.3994
+        29.3524         22.8724
+  21314064.7684  -22517259.91449 -17530334.96047  21314064.6434   21314070.6354
+     -2483.5334      -1935.2234
+  20669898.3814  -22686091.40549 -17659575.52948  20669898.1374   20669904.2504
+      1697.0614       1322.3864
+  24065344.4604   -7945703.83349  -6178008.86546  24065346.8494   24065353.7284
+      3330.3374       2595.0704
+  22682566.2774   -9372268.35149  -7087620.03546  22682565.1754   22682571.6734
+     -1359.2634      -1059.1704
+  20575511.9024  -22550477.57649 -17118305.22148  20575511.7564   20575518.8644
+       999.4044        778.7554
+ 05  1 20 18 46 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23693510.0634   -3091225.50049  -2394225.03145  23693509.5124   23693516.1524
+      -404.3114       -315.0394
+  20720046.7584  -23425290.98849 -18208778.63548  20720045.9994   20720052.8614
+        21.8134         17.0004
+  21328283.2894  -22442539.71249 -17472111.46447  21328282.7304   21328289.1034
+     -2497.8004      -1946.3424
+  20660251.8414  -22736783.98249 -17699076.22748  20660251.4074   20660257.8834
+      1682.5234       1311.0574
+  24046349.5124   -8045533.54049  -6255798.17546  24046350.0614   24046356.5674
+      3324.9364       2590.8664
+  22690378.9104   -9331210.09049  -7055626.60646  22690378.4194   22690384.5984
+     -1377.9154      -1073.7094
+  20569848.4794  -22580239.95749 -17141496.68248  20569848.2564   20569855.3494
+       984.7564        767.3434
+ 05  1 20 18 47  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23695871.4304   -3078814.33549  -2384554.00346  23695871.3944   23695880.4094
+      -423.1494       -329.7324
+  20719944.4024  -23425829.84249 -18209198.53248  20719943.4854   20719950.2034
+        14.2504         11.1044
+  21342584.2054  -22367392.32349 -17413555.10247  21342583.5674   21342589.8024
+     -2512.0284      -1957.4174
+  20650687.4854  -22787040.83949 -17738237.41448  20650687.9674   20650694.2314
+      1667.9734       1299.7184
+  24027384.0724   -8145200.45649  -6333460.65046  24027383.5604   24027390.7624
+      3319.5244       2586.6434
+  22698297.6454   -9289595.10549  -7023199.36046  22698297.0864   22698303.9084
+     -1396.4194      -1088.1184
+  20564268.7984  -22609563.65849 -17164346.32648  20564268.1934   20564275.1414
+       970.1404        755.9574
+ 05  1 20 18 47 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23698341.0394   -3065841.20849  -2374445.11646  23698340.2054   23698348.2534
+      -441.7734       -344.2334
+  20719884.5654  -23426141.32649 -18209441.25948  20719884.2164   20719891.0574
+         6.6264          5.1584
+  21356965.6464  -22291819.32049 -17354667.08647  21356964.7684   21356970.6544
+     -2526.1704      -1968.4434
+  20641207.2554  -22836861.43549 -17777058.65948  20641207.4514   20641213.5774
+      1653.4544       1288.4044
+  24008449.1284   -8244703.51749  -6410995.45346  24008449.2194   24008455.1344
+      3314.0174       2582.3464
+  22706321.7724   -9247424.82849  -6990339.44846  22706322.0714   22706328.2224
+     -1414.9114      -1102.5194
+  20558771.9264  -22638448.75849 -17186854.19848  20558771.4834   20558778.5584
+       955.5284        744.5634
+ 05  1 20 18 48  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23700913.5564   -3052307.21949  -2363899.14946  23700914.6594   23700923.5394
+      -460.5064       -358.8374
+  20719868.9124  -23426224.79349 -18209506.31548  20719868.3134   20719875.2444
+         -.9894          -.7704
+  21371428.1004  -22215822.36549 -17295448.73547  21371426.9494   21371432.5694
+     -2540.2764      -1979.4314
+  20631810.0944  -22886245.73549 -17815539.92848  20631809.9934   20631816.2804
+      1638.8874       1277.0574
+  23989544.5374   -8344041.67949  -6488401.74746  23989544.3634   23989552.2494
+      3308.4954       2578.0454
+  22714453.2494   -9204700.60749  -6957047.85246  22714451.0134   22714459.7664
+     -1433.3864      -1116.9134
+  20553357.7984  -22666895.75749 -17209020.69148  20553357.8824   20553365.3184
+       940.9314        733.1944
+ 05  1 20 18 48 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23703598.2474   -3038213.74349  -2352917.25246  23703596.7054   23703604.9714
+      -479.1004       -373.3294
+  20719896.5124  -23426079.65149 -18209393.22848  20719895.8814   20719902.7374
+        -8.5944         -6.6964
+  21385969.1064  -22139403.19149 -17235901.37647  21385968.6684   21385974.6124
+     -2554.3474      -1990.3964
+  20622495.5484  -22935193.19849 -17853680.80348  20622495.5614   20622501.5604
+      1624.3024       1265.6904
+  23970673.9754   -8443213.64049  -6565678.51346  23970673.2374   23970679.6684
+      3302.9284       2573.7154
+  22722688.2324   -9161423.82949  -6923325.72246  22722687.3484   22722694.1904
+     -1451.7764      -1131.2694
+  20548027.9914  -22694904.95249 -17230846.04748  20548028.0774   20548035.3374
+       926.3464        721.8284
+ 05  1 20 18 49  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23706385.3494   -3023561.98549  -2341500.32146  23706384.7114   23706392.6624
+      -497.6674       -387.7934
+  20719968.0724  -23425705.28549 -18209101.52648  20719967.3244   20719974.0274
+       -16.2524        -12.6654
+  21400590.6894  -22062563.33449 -17176026.20347  21400590.1704   21400596.6084
+     -2568.3344      -2001.2934
+  20613263.4854  -22983703.79849 -17891481.26248  20613263.9604   20613270.3464
+      1609.7944       1254.3824
+  23951835.0024   -8542218.00049  -6642824.72846  23951835.0974   23951839.5614
+      3297.3284       2569.3434
+  22731027.7004   -9117595.85749  -6889174.08946  22731027.3694   22731034.2484
+     -1470.1404      -1145.5674
+  20542782.2284  -22722476.73249 -17252330.55148  20542781.7414   20542788.5874
+       911.7654        710.4704
+ 05  1 20 18 49 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23709279.9584   -3008353.16449  -2329649.28946  23709279.8164   23709287.9974
+      -516.2144       -402.2464
+  20720083.1264  -23425101.02449 -18208630.68148  20720082.4064   20720089.3184
+       -23.9244        -18.6424
+  21415292.8134  -21985304.49349 -17115824.54247  21415292.2614   21415298.5804
+     -2582.2594      -2012.1514
+  20604116.2614  -23031776.99149 -17928940.89248  20604116.3614   20604122.5504
+      1595.1664       1242.9844
+  23933027.4984   -8641053.61949  -6719839.41646  23933027.5384   23933033.2784
+      3291.6974       2564.9614
+  22739473.5284   -9073218.35649  -6854594.24346  22739472.4534   22739479.4584
+     -1488.3854      -1159.7844
+  20537618.8634  -22749611.59549 -17273474.60248  20537618.3554   20537625.0214
+       897.2144        699.1314
+ 05  1 20 18 50  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23712279.0564   -2992588.58649  -2317365.22045  23712279.2414   23712288.3584
+      -534.7434       -416.6734
+  20720241.8054  -23424266.21649 -18207980.19048  20720241.1874   20720247.9484
+       -31.6464        -24.6624
+  21430074.6364  -21907628.42649 -17055297.78547  21430074.0484   21430080.1034
+     -2596.1484      -2022.9644
+  20595051.6064  -23079412.65449 -17966059.58148  20595051.5234   20595057.6364
+      1580.5794       1231.6224
+  23914251.3664   -8739719.34349  -6796721.69746  23914250.5794   23914258.0274
+      3285.9564       2560.4714
+  22748022.1904   -9028292.59849  -6819587.18046  22748021.4584   22748029.5194
+     -1506.6364      -1173.9994
+  20532537.4954  -22776309.71949 -17294278.33648  20532537.2664   20532544.3544
+       882.6424        687.7754
+ 05  1 20 18 50 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23715382.6824   -2976269.70449  -2304649.22045  23715383.6924   23715393.6474
+      -553.2164       -431.0754
+  20720444.6944  -23423200.26549 -18207149.59548  20720444.1784   20720450.8194
+       -39.3314        -30.6494
+  21444934.7964  -21829536.88649 -16994447.27247  21444934.3344   21444940.0784
+     -2609.9444      -2033.7174
+  20586069.9084  -23126610.56449 -18002837.16848  20586070.0104   20586076.0314
+      1566.0274       1220.2784
+  23895508.0904   -8838214.06349  -6873470.76846  23895506.8794   23895513.7974
+      3280.2884       2556.0594
+  22756675.2344   -8982820.06349  -6784154.08346  22756673.5174   22756681.2424
+     -1524.8214      -1188.1614
+  20527540.2634  -22802571.28549 -17314741.89848  20527540.0154   20527546.8934
+       868.1094        676.4474
+ 05  1 20 18 51  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23718595.4134   -2959397.68549  -2291502.20346  23718595.0824   23718603.9734
+      -571.5754       -445.3834
+  20720691.4854  -23421902.51249 -18206138.37348  20720691.0524   20720697.8854
+       -47.0954        -36.6994
+  21459874.0114  -21751031.44849 -16933274.24647  21459874.0084   21459878.7684
+     -2623.7274      -2044.4644
+  20577171.7874  -23173370.45449 -18039273.43348  20577171.8544   20577177.9374
+      1551.3914       1208.8704
+  23876795.5844   -8936536.39149  -6950085.49946  23876797.1854   23876803.2984
+      3274.5124       2551.5464
+  22765431.9334   -8936802.38549  -6748296.18346  22765431.7314   22765438.4444
+     -1543.0454      -1202.3584
+  20522625.8964  -22828397.01449 -17334865.83848  20522625.6044   20522632.5364
+       853.5934        665.1354
+ 05  1 20 18 51 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23721911.3474   -2941973.77549  -2277925.15746  23721910.4584   23721920.1184
+      -589.9194       -459.6784
+  20720982.4844  -23420372.27149 -18204945.98648  20720982.0854   20720989.0334
+       -54.8244        -42.7224
+  21474891.2664  -21672114.05449 -16871780.21747  21474890.9934   21474896.8354
+     -2637.4194      -2055.1294
+  20568357.2174  -23219692.13249 -18075368.24548  20568357.3584   20568363.3724
+      1536.7734       1197.4854
+  23858120.6194   -9034685.44049  -7026565.17246  23858120.4254   23858126.7334
+      3268.7064       2547.0414
+  22774292.1274   -8890241.07149  -6712014.65546  22774291.6514   22774299.0274
+     -1561.1074      -1216.4474
+  20517793.8774  -22853787.36649 -17354650.52848  20517793.8134   20517800.9424
+       839.0814        653.8294
+ 05  1 20 18 52  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23725333.7094   -2923999.49549  -2263919.23346  23725331.8114   23725339.2644
+      -608.2954       -473.9964
+  20721318.4314  -23418608.99849 -18203572.01848  20721317.8694   20721324.6174
+       -62.6204        -48.7954
+  21489986.8154  -21592786.29849 -16809966.43747  21489986.4754   21489992.6434
+     -2651.0494      -2065.7534
+  20559625.8144  -23265575.27649 -18111121.34148  20559625.7924   20559632.1064
+      1522.1664       1186.1034
+  23839476.8104   -9132659.87449  -7102908.80346  23839476.7624   23839481.5684
+      3262.8984       2542.5194
+  22783256.7564   -8843137.58749  -6675310.67446  22783256.0644   22783262.3144
+     -1579.1364      -1230.4874
+  20513045.8484  -22878742.55549 -17374096.13048  20513045.3054   20513052.3254
+       824.5984        642.5454
+ 05  1 20 18 52 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23728856.2134   -2905476.18549  -2249485.49546  23728856.8684   23728863.6194
+      -626.5644       -488.2364
+  20721698.2734  -23416612.02149 -18202015.94448  20721697.5824   20721704.7454
+       -70.4234        -54.8744
+  21505159.8694  -21513050.03749 -16747834.32847  21505159.7814   21505165.3534
+     -2664.6764      -2076.3674
+  20550977.6314  -23311019.86749 -18146532.70948  20550978.0144   20550984.3514
+      1507.5394       1174.7044
+  23820865.6424   -9230458.53449  -7179115.47546  23820865.0624   23820870.8224
+      3257.0074       2537.9104
+  22792321.5824   -8795493.46049  -6638185.40346  22792321.6544   22792329.0494
+     -1597.1544      -1244.5344
+  20508379.2754  -22903263.05049 -17393203.01148  20508379.0054   20508386.0714
+       810.1134        631.2554
+ 05  1 20 18 53  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23732484.4884   -2886405.45049  -2234625.19546  23732485.1374   23732493.5984
+      -644.7534       -502.4144
+  20722122.8494  -23414380.65249 -18200277.21848  20722122.2244   20722129.3384
+       -78.2454        -60.9694
+  21520411.5644  -21432906.91849 -16685385.17047  21520410.5624   21520416.9164
+     -2678.1934      -2086.9094
+  20542413.5004  -23356025.61949 -18181602.11148  20542413.6534   20542419.7404
+      1492.9304       1163.3214
+  23802289.2114   -9328080.43949  -7255184.37146  23802287.9134   23802295.1604
+      3251.1294       2533.3394
+  22801490.8464   -8747310.37949  -6600640.17946  22801490.7314   22801497.9674
+     -1615.0574      -1258.4844
+  20503795.8604  -22927349.53649 -17411971.70348  20503795.6594   20503802.6324
+       795.6494        619.9844
+ 05  1 20 18 53 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23736219.7414   -2866788.65049  -2219339.38046  23736219.0314   23736226.2224
+      -662.9604       -516.5994
+  20722592.6404  -23411914.28149 -18198355.38148  20722591.7664   20722598.5054
+       -86.0754        -67.0714
+  21535738.8454  -21352358.90649 -16622620.55147  21535738.3604   21535744.6814
+     -2691.6764      -2097.4054
+  20533933.1404  -23400592.45649 -18216329.51248  20533933.0914   20533939.3694
+      1478.2874       1151.9094
+  23783746.6534   -9425524.36649  -7331114.60646  23783745.7424   23783752.4334
+      3245.1694       2528.7124
+  22810763.2744   -8698589.86249  -6562676.16946  22810762.0394   22810768.8364
+     -1632.9484      -1272.4224
+  20499294.8934  -22951002.23649 -17430402.37748  20499294.5554   20499301.7124
+       781.1894        608.7174
+ 05  1 20 18 54  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23740054.5874   -2846627.16249  -2203629.13546  23740055.4344   23740063.0174
+      -681.0894       -530.7214
+  20723106.0724  -23409212.22749 -18196249.89648  20723105.8564   20723112.7044
+       -93.9334        -73.1984
+  21551143.8784  -21271407.67149 -16559541.70947  21551143.1604   21551149.0154
+     -2705.0594      -2107.8374
+  20525535.8784  -23444720.09449 -18250714.68548  20525535.7654   20525542.1954
+      1463.6404       1140.4984
+  23765237.0494   -9522788.89749  -7406905.06346  23765236.7334   23765243.8054
+      3239.1374       2523.9884
+  22820134.5484   -8649333.68249  -6524294.75746  22820134.2984   22820142.7994
+     -1650.7634      -1286.3024
+  20494876.4764  -22974221.67149 -17448495.44148  20494875.9704   20494883.0864
+       766.7774        597.4864
+ 05  1 20 18 54 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23743995.2064   -2825922.50649  -2187495.65246  23743994.3014   23744003.6614
+      -699.1814       -544.8194
+  20723665.7794  -23406273.91249 -18193960.30148  20723665.0324   20723671.9674
+      -101.8574        -79.3684
+  21566624.0054  -21190055.01849 -16496150.07947  21566623.6164   21566629.8244
+     -2718.4274      -2118.2544
+  20517221.5924  -23488408.59049 -18284757.65948  20517221.8154   20517228.2074
+      1448.9964       1129.0884
+  23746760.9744   -9619873.09849  -7482554.97146  23746760.9764   23746768.3504
+      3233.1224       2519.3114
+  22829611.0254   -8599543.42749  -6485497.17746  22829610.1274   22829617.1634
+     -1668.5594      -1300.1814
+  20490539.8834  -22997008.34249 -17466251.29348  20490539.7964   20490546.9204
+       752.3434        586.2404
+ 05  1 20 18 55  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23748038.6414   -2804676.22349  -2170940.08646  23748037.8494   23748046.4564
+      -717.1884       -558.8564
+  20724269.7334  -23403098.49949 -18191485.95548  20724269.3494   20724276.3374
+      -109.7544        -85.5194
+  21582181.4094  -21108302.90149 -16432447.17747  21582181.1824   21582186.9014
+     -2731.7124      -2128.6054
+  20508991.6714  -23531657.82949 -18318458.35848  20508991.7804   20508998.0384
+      1434.3534       1117.6774
+  23728322.2614   -9716775.85849  -7558063.54546  23728322.7504   23728329.0774
+      3227.0474       2514.5724
+  22839186.1894   -8549220.89349  -6446284.84646  22839185.2354   22839192.7854
+     -1686.2584      -1313.9664
+  20486286.2234  -23019362.86349 -17483670.39648  20486285.7324   20486292.8384
+       737.9574        575.0324
+ 05  1 20 18 55 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23752182.5014   -2782889.79449  -2153963.65446  23752183.6214   23752191.9214
+      -735.2224       -572.8964
+  20724918.9744  -23399685.50349 -18188826.48148  20724918.6054   20724925.7324
+      -117.6824        -91.7034
+  21597814.0864  -21026153.09249 -16368434.38547  21597813.4124   21597819.9394
+     -2744.9294      -2138.9094
+  20500845.9264  -23574467.56149 -18351816.58548  20500845.5184   20500851.9094
+      1419.7124       1106.2674
+  23709916.6694   -9813495.88749  -7633429.67746  23709916.6314   23709922.6324
+      3220.9174       2509.8014
+  22848863.7764   -8498367.51949  -6406658.86546  22848863.4624   22848869.9214
+     -1703.9424      -1327.7464
+  20482113.8204  -23041285.76749 -17500753.18448  20482114.0264   20482120.9634
+       723.5664        563.8194
+ 05  1 20 18 56  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23756432.3674   -2760564.86549  -2136567.60546  23756432.4764   23756440.4084
+      -753.1414       -586.8614
+  20725614.2934  -23396034.23349 -18185981.33448  20725613.4584   20725620.3204
+      -125.6764        -97.9294
+  21613521.5354  -20943607.43149 -16304113.15047  21613521.5194   21613527.6534
+     -2758.1214      -2149.1804
+  20492782.6224  -23616837.88549 -18384832.41948  20492782.9354   20492789.1674
+      1405.0324       1094.8304
+  23691546.5204   -9910032.19249  -7708652.70246  23691545.5584   23691552.5294
+      3214.7804       2505.0284
+  22858641.9034   -8446985.19149  -6366620.70446  22858640.7244   22858648.7154
+     -1721.5314      -1341.4454
+  20478024.3984  -23062777.44249 -17517499.94348  20478024.1774   20478031.4534
+       709.1824        552.6094
+ 05  1 20 18 56 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23760782.3504   -2737703.06649  -2118753.20846  23760782.8534   23760790.7654
+      -770.9944       -600.7754
+  20726354.4474  -23392144.04749 -18182950.02648  20726353.8904   20726360.8604
+      -133.6254       -104.1224
+  21629304.8774  -20860667.83849 -16239484.94347  21629304.3724   21629310.4484
+     -2771.1994      -2159.3714
+  20484803.4354  -23658768.54049 -18417505.65548  20484803.7634   20484809.9154
+      1390.3664       1083.4024
+  23673211.4724  -10006383.57649  -7783731.60746  23673211.7164   23673218.1864
+      3208.6004       2500.2064
+  22868519.1324   -8395075.69049  -6326171.80246  22868518.8144   22868524.8744
+     -1739.1104      -1355.1364
+  20474016.8054  -23083838.44149 -17533911.11148  20474016.5414   20474023.7514
+       694.8714        541.4614
+ 05  1 20 18 57  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23765234.9114   -2714306.16249  -2100521.86846  23765234.9434   23765243.6034
+      -788.8314       -614.6744
+  20727140.5734  -23388014.28749 -18179732.03348  20727139.4804   20727146.5984
+      -141.6154       -110.3504
+  21645162.0544  -20777336.13449 -16174551.20647  21645162.3144   21645168.0974
+     -2784.2204      -2169.5154
+  20476908.2224  -23700259.56649 -18449836.31648  20476908.0964   20476914.5774
+      1375.7324       1071.9994
+  23654911.5234  -10102549.08849  -7858665.67946  23654911.6284   23654917.0824
+      3202.4034       2495.3804
+  22878498.6024   -8342640.63049  -6285313.32946  22878497.0324   22878505.0414
+     -1756.5574      -1368.7424
+  20470090.8254  -23104469.54849 -17549987.30248  20470090.7204   20470097.6684
+       680.5424        530.2904
+ 05  1 20 18 57 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23769788.1114   -2690375.63349  -2081874.73146  23769788.6074   23769797.0084
+      -806.5914       -628.5144
+  20727971.5514  -23383644.38049 -18176326.91648  20727971.2184   20727978.1284
+      -149.6504       -116.6104
+  21661094.5634  -20693614.28649 -16109313.45247  21661093.7124   21661099.9834
+     -2797.2204      -2179.6494
+  20469096.0884  -23741310.98949 -18481824.43448  20469096.2614   20469102.5714
+      1361.0994       1060.5954
+  23636648.3344  -10198527.49249  -7933453.95846  23636647.7054   23636653.6084
+      3196.1234       2490.4894
+  22888574.6774   -8289681.71149  -6244046.68046  22888574.1604   22888581.2494
+     -1773.9894      -1382.3284
+  20466247.2854  -23124671.07349 -17565728.74948  20466246.6164   20466253.3884
+       666.2144        519.1264
+ 05  1 20 18 58  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23774443.7474   -2665913.15149  -2062813.04846  23774443.8464   23774452.2524
+      -824.3254       -642.3284
+  20728849.7874  -23379033.46949 -18172734.00048  20728848.7414   20728855.4044
+      -157.6684       -122.8584
+  21677100.2464  -20609504.04649 -16043773.06947  21677100.0784   21677105.6734
+     -2810.1324      -2189.7054
+  20461368.2154  -23781922.49449 -18513469.75948  20461368.4584   20461374.2184
+      1346.4004       1049.1434
+  23618418.7434  -10294317.49649  -8008095.39646  23618419.7054   23618424.7414
+      3189.8884       2485.6204
+  22898752.8434   -8236200.76349  -6202373.25446  22898752.0354   22898760.0654
+     -1791.3874      -1395.8934
+  20462484.1934  -23144443.57049 -17581135.89348  20462483.8994   20462491.1504
+       651.9154        507.9874
+ 05  1 20 18 58 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23779198.9214   -2640920.48349  -2043338.26546  23779200.5604   23779207.7684
+      -841.9274       -656.0474
+  20729772.9464  -23374181.01149 -18168952.87348  20729772.1184   20729779.0284
+      -165.7284       -129.1414
+  21693179.3704  -20525007.59449 -15977931.71447  21693178.9974   21693184.7434
+     -2822.9694      -2199.7234
+  20453723.8604  -23822094.35849 -18544772.50648  20453723.7314   20453729.9804
+      1331.7814       1037.7484
+  23600227.3204  -10389918.12849  -8082589.31046  23600226.2724   23600232.5304
+      3183.4924       2480.6394
+  22909029.1854   -8182199.69349  -6160294.53346  22909028.2724   22909035.5054
+     -1808.6814      -1409.3564
+  20458803.0804  -23163787.63749 -17596209.18548  20458802.5794   20458809.8924
+       637.6774        496.8924
+ 05  1 20 18 59  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23784056.5094   -2615399.15549  -2023451.51546  23784056.2864   23784065.2314
+      -859.4844       -669.7344
+  20730741.8644  -23369086.32549 -18164982.99748  20730741.5884   20730748.3144
+      -173.8324       -135.4504
+  21709331.5854  -20440126.67549 -15911790.80447  21709331.2094   21709337.4624
+     -2835.7394      -2209.6634
+  20446163.0714  -23861826.33449 -18575732.48748  20446163.0894   20446169.2804
+      1317.1104       1026.3224
+  23582069.9414  -10485328.45449  -8156934.95746  23582069.8654   23582076.7444
+      3177.1714       2475.7244
+  22919402.5674   -8127680.07949  -6117811.77646  22919402.6214   22919409.8384
+     -1825.9634      -1422.8344
+  20455202.7174  -23182704.12849 -17610949.30648  20455202.8204   20455210.2694
+       623.4064        485.7754
+ 05  1 20 18 59 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23789013.3174   -2589350.71049  -2003154.04346  23789013.2704   23789021.0054
+      -877.0634       -683.4314
+  20731757.9404  -23363748.80949 -18160823.89848  20731757.2254   20731764.1984
+      -181.9274       -141.7634
+  21725555.9924  -20354863.30249 -15845351.87047  21725555.7854   21725562.4734
+     -2848.4834      -2219.5914
+  20438685.5734  -23901118.71549 -18606349.91948  20438685.8334   20438692.2394
+      1302.4474       1014.8944
+  23563951.6294  -10580547.35649  -8231131.41546  23563950.8514   23563957.7974
+      3170.7474       2470.7044
+  22929875.7054   -8072643.97249  -6074926.54046  22929875.3574   22929883.1034
+     -1843.1384      -1436.2114
+  20451685.2404  -23201193.44849 -17625356.56448  20451684.6444   20451691.7914
+       609.1834        474.6884
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 19  0  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23794071.1834   -2562777.02149  -1982447.29746  23794070.8024   23794076.7554
+      -894.5354       -697.0384
+  20732820.0984  -23358167.64849 -18156474.95348  20732819.2574   20732826.3124
+      -190.0664       -148.1044
+  21741854.0044  -20269219.30449 -15778616.34447  21741853.7754   21741859.2944
+     -2861.1394      -2229.4514
+  20431292.7754  -23939971.27449 -18636624.63348  20431292.6474   20431299.0634
+      1287.7734       1003.4594
+  23545869.2054  -10675573.62049  -8305177.76046  23545868.4964   23545873.4584
+      3164.3024       2465.6954
+  22940448.3024   -8017093.08849  -6031640.15946  22940446.6584   22940453.9564
+     -1860.2414      -1449.5344
+  20448247.4894  -23219256.45149 -17639431.62948  20448247.3864   20448254.4514
+       594.9914        463.6294
+ 05  1 20 19  0 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23799225.9344   -2535679.87849  -1961332.64046  23799226.4814   23799235.0444
+      -911.9484       -710.6054
+  20733928.1304  -23352342.35749 -18151935.77948  20733927.8644   20733934.8084
+      -198.1984       -154.4374
+  21758223.5534  -20183196.77449 -15711585.84947  21758223.4634   21758229.4414
+     -2873.6904      -2239.2384
+  20423982.3294  -23978384.17349 -18666556.75548  20423982.7874   20423989.1624
+      1273.1424        992.0594
+  23527823.0074  -10770406.27349  -8379073.26446  23527822.8384   23527826.7584
+      3157.8644       2460.6724
+  22951115.7024   -7961029.22149  -5987954.08846  22951114.6104   22951122.8794
+     -1877.3164      -1462.8494
+  20444891.6084  -23236893.80049 -17653175.01548  20444891.4204   20444898.2584
+       580.8304        452.5954
+ 05  1 20 19  1  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23804484.4254   -2508061.15949  -1939811.55046  23804483.1214   23804490.2094
+      -929.3564       -724.1714
+  20735083.6514  -23346272.20249 -18147205.79748  20735082.9624   20735089.9474
+      -206.3834       -160.8154
+  21774664.1264  -20096797.69349 -15644261.94847  21774664.1074   21774670.5454
+     -2886.2354      -2249.0124
+  20416757.0804  -24016357.56749 -18696146.40748  20416756.9174   20416762.9294
+      1258.4844        980.6364
+  23509812.8804  -10865044.04249  -8452816.90346  23509812.1404   23509818.8864
+      3151.2994       2455.5414
+  22961881.9044   -7904454.24849  -5943869.73946  22961881.1164   22961889.4194
+     -1894.3554      -1476.1244
+  20441616.0374  -23254105.95349 -17666587.07348  20441615.7024   20441622.8044
+       566.6494        441.5434
+ 05  1 20 19  1 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23809837.3274   -2479922.62849  -1917885.41646  23809836.4084   23809844.8064
+      -946.6094       -737.6104
+  20736285.5334  -23339956.43849 -18142284.43448  20736284.9364   20736291.9534
+      -214.5694       -167.1954
+  21791176.7514  -20010023.98649 -15576646.13947  21791177.0624   21791183.3594
+     -2898.6714      -2258.6954
+  20409613.6234  -24053891.38449 -18725393.52848  20409614.3094   20409620.2564
+      1243.8264        969.2144
+  23491841.2774  -10959486.01349  -8526407.99046  23491841.4494   23491848.2894
+      3144.7864       2450.4874
+  22972745.3834   -7847370.20549  -5899388.70846  22972744.4344   22972751.8504
+     -1911.2714      -1489.2914
+  20438421.6514  -23270893.64749 -17679668.38748  20438421.0824   20438428.0854
+       552.5174        430.5334
+ 05  1 20 19  2  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23815290.2244   -2451266.11849  -1895555.67246  23815289.9714   23815298.4384
+      -963.8174       -751.0244
+  20737534.3654  -23333394.41349 -18137171.17348  20737533.4504   20737540.5524
+      -222.8024       -173.6114
+  21807761.5124  -19922877.69149 -15508739.99447  21807760.9034   21807766.3694
+     -2911.0854      -2268.3794
+  20402555.2654  -24090985.68649 -18754298.16348  20402555.2624   20402561.7344
+      1229.1744        957.7964
+  23473904.0214  -11053731.20049  -8599845.72846  23473906.4024   23473912.9804
+      3138.1914       2445.3384
+  22983704.1764   -7789779.24349  -5854512.69846  22983702.6494   22983710.9124
+     -1928.1124      -1502.4224
+  20435306.9504  -23287257.62449 -17692419.53348  20435306.9724   20435314.3854
+       538.4044        419.5344
+ 05  1 20 19  2 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23820843.0604   -2422093.39549  -1872823.70545  23820841.6274   23820849.8284
+      -981.0014       -764.4154
+  20738830.1464  -23326585.55849 -18131865.58948  20738829.3314   20738835.8614
+      -231.0644       -180.0514
+  21824415.3244  -19835361.09149 -15440545.29347  21824414.5164   21824419.8564
+     -2923.3624      -2277.9424
+  20395579.9574  -24127640.65949 -18782860.47848  20395579.9374   20395586.2114
+      1214.5514        946.4024
+  23456013.4354  -11147778.36649  -8673129.20546  23456011.3534   23456016.6544
+      3131.6004       2440.2044
+  22994757.4054   -7731683.18949  -5809243.08046  22994758.6674   22994766.6714
+     -1944.9394      -1515.5394
+  20432274.2484  -23303198.57149 -17704841.04648  20432273.6164   20432280.7564
+       524.3114        408.5544
+ 05  1 20 19  3  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23826489.4474   -2392406.54749  -1849691.08745  23826489.2084   23826497.8174
+      -998.1184       -777.7524
+  20740172.3764  -23319529.16449 -18126367.10148  20740172.0584   20740178.9134
+      -239.3034       -186.4734
+  21841138.9544  -19747475.93949 -15372063.42647  21841138.4274   21841144.3604
+     -2935.6254      -2287.5024
+  20388688.4974  -24163856.40449 -18811080.52648  20388688.5724   20388694.6454
+      1199.8914        934.9774
+  23438152.3634  -11241626.54449  -8746257.60546  23438151.9624   23438157.9104
+      3124.9444       2435.0344
+  23005911.9364   -7673083.84449  -5763581.29646  23005910.4104   23005917.5394
+     -1961.6844      -1528.5814
+  20429320.9294  -23318717.15149 -17716933.43848  20429320.6724   20429327.5774
+       510.2564        397.5964
+ 05  1 20 19  3 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23832238.8984   -2362207.53749  -1826159.38246  23832236.7784   23832246.3044
+     -1015.1544       -791.0374
+  20741562.8444  -23312224.56349 -18120675.20748  20741562.0374   20741568.9104
+      -247.5864       -192.9284
+  21857933.1274  -19659224.03349 -15303295.75947  21857932.1824   21857938.4184
+     -2947.8254      -2297.0074
+  20381880.4374  -24199633.02149 -18838958.39748  20381880.4454   20381886.8384
+      1185.2624        923.5804
+  23420328.9524  -11335274.75549  -8819230.20646  23420330.5114   23420335.7894
+      3118.2694       2429.8204
+  23017154.9704   -7613983.05249  -5717528.78446  23017155.3044   23017163.7934
+     -1978.3634      -1541.5924
+  20426448.0254  -23333814.04049 -17728697.24648  20426447.9854   20426454.9204
+       496.1994        386.6454
+ 05  1 20 19  4  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23838082.1674   -2331497.98549  -1802229.89646  23838081.9764   23838089.9084
+     -1032.1514       -804.2674
+  20743000.3264  -23304671.08049 -18114789.38148  20742999.6694   20743006.2224
+      -255.8714       -199.3794
+  21874795.4414  -19570607.71449 -15234244.14147  21874795.3254   21874802.1944
+     -2959.9304      -2306.4294
+  20375156.1174  -24234970.62649 -18866494.18448  20375155.9584   20375161.9974
+      1170.6044        912.1594
+  23402549.4584  -11428721.97449  -8892046.18246  23402549.1034   23402554.2514
+      3111.5314       2424.5724
+  23028499.3874   -7554383.00349  -5671087.20246  23028497.8654   23028505.6234
+     -1994.9784      -1554.5244
+  20423655.3094  -23348490.08149 -17740133.11648  20423655.1644   20423662.1364
+       482.1964        375.7364
+ 05  1 20 19  4 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23844021.6624   -2300280.00949  -1777904.22345  23844021.1054   23844030.1714
+     -1049.0624       -817.4624
+  20744485.2274  -23296867.98349 -18108709.04848  20744484.5274   20744491.0864
+      -264.2304       -205.8954
+  21891726.7084  -19481628.96149 -15164910.11547  21891726.9444   21891733.6234
+     -2971.9854      -2315.8264
+  20368514.5614  -24269869.29149 -18893687.93348  20368514.8464   20368521.1064
+      1156.0074        900.7854
+  23384806.3544  -11521966.93349  -8964704.53446  23384805.3894   23384811.5314
+      3104.7844       2419.3004
+  23039934.8224   -7494285.62449  -5624258.10846  23039934.0934   23039940.9854
+     -2011.4814      -1567.3794
+  20420942.3214  -23362745.85549 -17751241.50248  20420941.9754   20420949.2814
+       468.1884        364.8174
+ 05  1 20 19  5  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23850057.2334   -2268555.35349  -1753183.69846  23850057.7474   23850067.6364
+     -1065.8934       -830.5674
+  20746017.4014  -23288814.66349 -18102433.73148  20746016.7174   20746023.8484
+      -272.5804       -212.3974
+  21908728.7284  -19392290.08549 -15095295.45347  21908727.8134   21908734.3104
+     -2983.9414      -2325.1444
+  20361956.9434  -24304329.34449 -18920539.90748  20361957.3084   20361963.6344
+      1141.4144        889.4154
+  23367099.9134  -11615008.82149  -9037204.65946  23367100.1094   23367106.4554
+      3098.0074       2414.0364
+  23051463.5024   -7433692.95249  -5577043.07446  23051462.9694   23051471.9574
+     -2027.9924      -1580.2554
+  20418309.2454  -23376582.19149 -17762023.05948  20418309.2004   20418316.3064
+       454.2284        353.9444
+ 05  1 20 19  5 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23856191.1614   -2236325.93449  -1728069.88045  23856190.3124   23856200.4894
+     -1082.6744       -843.6384
+  20747598.0724  -23280510.38149 -18095962.86648  20747597.1774   20747604.0894
+      -280.9514       -218.9214
+  21925798.3014  -19302592.85849 -15025401.57047  21925797.6034   21925803.1214
+     -2995.8554      -2334.4394
+  20355483.6104  -24338350.89549 -18947050.19348  20355483.6044   20355489.4314
+      1126.7814        878.0114
+  23349432.9204  -11707846.60449  -9109545.76546  23349432.7794   23349439.0594
+      3091.1334       2408.6844
+  23063089.6834   -7372606.96549  -5529443.64646  23063088.9504   23063096.2834
+     -2044.4294      -1593.0624
+  20415756.0904  -23389999.86349 -17772478.39048  20415755.8984   20415762.9894
+       440.2634        343.0654
+ 05  1 20 19  6  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23862419.4004   -2203593.81749  -1702564.37546  23862420.1784   23862428.6604
+     -1099.4244       -856.6894
+  20749226.1814  -23271954.56449 -18089295.99448  20749225.1344   20749232.0724
+      -289.3394       -225.4594
+  21942934.1914  -19212539.54949 -14955230.22247  21942933.5554   21942939.4474
+     -3007.6844      -2343.6414
+  20349092.2344  -24371934.39749 -18973219.13748  20349092.3194   20349098.6864
+      1112.2064        866.6554
+  23331805.3434  -11800479.19949  -9181726.96246  23331805.3424   23331810.0684
+      3084.2944       2403.3394
+  23074807.1504   -7311029.74849  -5481461.43146  23074806.1254   23074814.5844
+     -2060.7564      -1605.7804
+  20413282.4044  -23402999.57549 -17782608.03348  20413282.3084   20413289.1734
+       426.3674        332.2344
+ 05  1 20 19  6 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23868743.2984   -2170361.12549  -1676668.79146  23868744.3544   23868752.5304
+     -1116.0414       -869.6404
+  20750902.0304  -23263146.46249 -18082432.53548  20750901.1524   20750908.1804
+      -297.7604       -232.0244
+  21960137.9304  -19122132.27149 -14884783.05447  21960137.4114   21960144.1644
+     -3019.4604      -2352.8314
+  20342784.8264  -24405079.61149 -18999046.57348  20342785.3164   20342791.2994
+      1097.5714        855.2504
+  23314216.0834  -11892905.65049  -9253747.50846  23314216.9034   23314222.4184
+      3077.4064       2397.9834
+  23086616.0444   -7248963.44849  -5433098.12646  23086616.5204   23086624.9394
+     -2077.0424      -1618.4544
+  20410887.8544  -23415582.43949 -17792412.86048  20410887.7964   20410894.8264
+       412.4734        321.4104
+ 05  1 20 19  7  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23875162.3344   -2136630.07249  -1650384.87345  23875163.5894   23875170.1824
+     -1132.6324       -882.5644
+  20752626.3714  -23254085.46149 -18075372.01848  20752625.6554   20752632.5624
+      -306.1794       -238.5834
+  21977409.6704  -19031373.14049 -14814061.71547  21977409.1664   21977414.4844
+     -3031.1414      -2361.9274
+  20336561.2764  -24437787.00349 -19024532.83348  20336561.4524   20336567.2744
+      1082.9684        843.8674
+  23296668.4644  -11985124.73549  -9325606.50046  23296667.6854   23296672.6304
+      3070.5294       2392.6224
+  23098522.2744   -7186410.02449  -5384355.22946  23098521.5964   23098528.5784
+     -2093.2104      -1631.0714
+  20408572.1424  -23427748.81049 -17801893.14148  20408572.3474   20408579.5384
+       398.6094        310.6034
+ 05  1 20 19  7 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23881676.6594   -2102402.60349  -1623714.12546  23881676.8494   23881684.1454
+     -1149.1314       -895.4284
+  20754399.2104  -23244770.94249 -18068113.94948  20754398.2354   20754404.8804
+      -314.6624       -245.1914
+  21994746.8164  -18940264.20549 -14743067.79447  21994746.2644   21994752.1214
+     -3042.7774      -2370.9894
+  20330420.1874  -24470056.77849 -19049678.10148  20330420.3254   20330426.4064
+      1068.4224        832.5384
+  23279157.3934  -12077135.65649  -9397303.26246  23279158.4984   23279164.2834
+      3063.6304       2387.2414
+  23110517.0294   -7123371.70749  -5335234.47946  23110516.3744   23110523.9784
+     -2109.3304      -1643.6324
+  20406336.7074  -23439499.61749 -17811049.61048  20406336.4984   20406343.4844
+       384.7784        299.8264
+ 05  1 20 19  8  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23888285.0884   -2067680.66149  -1596658.06146  23888283.6604   23888292.2974
+     -1165.6144       -908.2684
+  20756219.6134  -23235202.06949 -18060657.69048  20756219.0134   20756225.7644
+      -323.1494       -251.8064
+  22012149.9304  -18848807.63449 -14671803.00347  22012149.5134   22012156.0394
+     -3054.3254      -2380.0014
+  20324363.3244  -24501889.15649 -19074482.54048  20324362.8614   20324369.1244
+      1053.8024        821.1454
+  23261691.5424  -12168937.18849  -9468836.86446  23261690.6834   23261696.5134
+      3056.5454       2381.7084
+  23122605.1404   -7059850.47849  -5285737.45446  23122604.0854   23122611.7424
+     -2125.4094      -1656.1554
+  20404179.6004  -23450835.95949 -17819883.11748  20404179.1824   20404186.3094
+       370.9844        289.0764
+ 05  1 20 19  8 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23894983.9844   -2032466.38849  -1569218.41646  23894985.9584   23894993.6064
+     -1181.9924       -921.0314
+  20758089.5964  -23225378.15149 -18053002.69548  20758088.7984   20758095.4714
+      -331.6704       -258.4444
+  22029618.9344  -18757005.52049 -14600268.95747  22029619.1594   22029625.7804
+     -3065.7994      -2388.9294
+  20318388.6214  -24533284.30749 -19098946.28548  20318388.6394   20318394.9584
+      1039.2394        809.7954
+  23244261.7214  -12260528.51949  -9540206.68746  23244260.8264   23244266.8544
+      3049.5454       2376.2694
+  23134784.0924   -6995848.45849  -5235865.77346  23134783.3904   23134790.9394
+     -2141.4364      -1668.6604
+  20402101.2924  -23461758.71149 -17828394.34748  20402100.6884   20402107.6034
+       357.1914        278.3314
+ 05  1 20 19  9  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23901779.3234   -1996761.89749  -1541396.72646  23901778.3504   23901787.8134
+     -1198.2904       -933.7304
+  20760006.9244  -23215298.75149 -18045148.61948  20760006.4454   20760013.4614
+      -340.1954       -265.0904
+  22047154.0204  -18664860.02549 -14528467.33147  22047153.4884   22047160.0894
+     -3077.2344      -2397.8464
+  20312496.4854  -24564242.65449 -19123069.66948  20312497.3974   20312503.5254
+      1024.7064        798.4724
+  23226870.3404  -12351908.79349  -9611412.04246  23226870.6874   23226877.8474
+      3042.4904       2370.7624
+  23147053.5984   -6931367.79449  -5185621.13746  23147053.2064   23147061.7244
+     -2157.3114      -1681.0164
+  20400100.6684  -23472268.56449 -17836583.83848  20400100.6474   20400107.7724
+       343.4364        267.6114
+ 05  1 20 19  9 30.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23908667.0254   -1960569.28949  -1513194.73145  23908666.3464   23908674.6654
+     -1214.5264       -946.3824
+  20761973.7134  -23204962.94949 -18037094.75348  20761973.4394   20761980.1654
+      -348.7554       -271.7574
+  22064754.6934  -18572373.26249 -14456399.77647  22064753.1724   22064760.3744
+     -3088.5584      -2406.6654
+  20306689.1094  -24594764.42849 -19146852.85548  20306689.3414   20306695.6594
+      1010.1624        787.1394
+  23209522.0934  -12443076.96649  -9682452.13146  23209522.5014   23209529.1754
+      3035.4104       2365.2544
+  23159415.5984   -6866410.64949  -5135005.24846  23159414.9224   23159422.2244
+     -2173.1434      -1693.3544
+  20398179.6134  -23482366.04049 -17844451.99348  20398179.2464   20398186.0974
+       329.7164        256.9204
+ 05  1 20 19 10  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23915647.5504   -1923890.63249  -1484613.98445  23915645.5174   23915655.0384
+     -1230.7174       -959.0024
+  20763990.0974  -23194370.16649 -18028840.65148  20763989.2874   20763996.0184
+      -357.3224       -278.4314
+  22082417.6604  -18479547.53849 -14384068.13047  22082417.4634   22082424.3384
+     -3099.8244      -2415.4404
+  20300964.1044  -24624850.00349 -19170296.16148  20300964.1504   20300970.1914
+       995.6174        775.8064
+  23192214.3244  -12534032.10749  -9753326.22446  23192215.2704   23192220.5844
+      3028.2864       2359.7044
+  23171865.5524   -6800979.26149  -5084019.77946  23171866.3194   23171874.2334
+     -2188.9694      -1705.6864
+  20396336.3714  -23492052.29649 -17851999.72348  20396335.8244   20396342.7734
+       316.0234        246.2534
+ 05  1 20 19 10 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  23922718.2794   -1886728.05349  -1455656.15346  23922718.7644   23922727.0724
+     -1246.7414       -971.4924
+  20766054.3394  -23183519.83249 -18020385.84348  20766053.5984   20766060.5164
+      -365.9324       -285.1414
+  22100146.3244  -18386384.99249 -14311474.00147  22100145.4184   22100152.5794
+     -3111.0264      -2424.1834
+  20295321.7664  -24654499.49049 -19193399.64948  20295322.0524   20295328.3814
+       981.1164        764.5064
+  23174947.5754  -12624773.07349  -9824033.41146  23174947.0064   23174952.3604
+      3021.1184       2354.1094
+                   -269487.42241   -154056.575 4                  25624566.012
+      2978.4454       2321.846
+  23184408.4544   -6735075.77549  -5032666.45046  23184407.7644   23184414.0174
+     -2204.6204      -1717.8884
+  20394570.8834  -23501328.04849 -17859227.57348  20394570.7364   20394577.5744
+       302.3744        235.6134
+ 05  1 20 19 11  0.0000000  0  7G 9G 7G28G 4G 2G20G24
+  23929884.4584   -1849084.03749  -1426323.15346  23929882.0474   23929890.3834
+     -1262.8204       -984.0134
+  20768168.7154  -23172411.11349 -18011729.71348  20768168.1544   20768174.5994
+      -374.5474       -291.8514
+  22117938.3554  -18292887.96849 -14238619.23847  22117937.6714   22117944.3274
+     -3122.1274      -2432.8214
+  20289762.7844  -24683713.38249 -19216163.71148  20289762.9644   20289769.2284
+       966.5904        753.1894
+  23157720.3384  -12715299.02349  -9894573.05046  23157720.9924   23157726.1464
+      3013.9314       2348.5174
+  23197038.1164   -6668702.39749  -4980946.97246  23197037.0094   23197045.5194
+     -2220.2634      -1730.0834
+  20392884.1844  -23510194.38649 -17866136.41048  20392883.9824   20392890.7134
+       288.7324        224.9864
+ 05  1 20 19 11 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  23937136.3824   -1810960.60949  -1396616.60346  23937136.5724   23937145.6324
+     -1278.7094       -996.3954
+  20770331.2514  -23161043.37949 -18002871.74548  20770330.8634   20770337.6964
+      -383.1944       -298.5954
+  22135793.7354  -18199058.47149 -14165505.41747  22135793.2514   22135799.2604
+     -3133.1634      -2441.4254
+  20284286.3394  -24712492.05049 -19238588.63648  20284286.4044   20284292.5444
+       952.0784        741.8744
+  23140536.4414  -12805608.92349  -9964944.35746  23140535.4944   23140540.6934
+      3006.7114       2342.8894
+  25579122.7164     -76689.17049    -33057.37843
+      2972.6404       2316.3434
+  23209756.3094   -6601861.23549  -4928862.98846  23209756.1534   23209763.7834
+     -2235.7874      -1742.1764
+  20391274.5054  -23518652.24249 -17872726.93448  20391274.3594   20391281.0914
+       275.1304        214.3844
+ 05  1 20 19 12  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  23944481.8864   -1772359.98649  -1366538.21745  23944482.3074   23944489.5014
+     -1294.5974      -1008.7684
+  20772544.9814  -23149416.04849 -17993811.49648  20772543.8664   20772550.5784
+      -391.8734       -305.3564
+  22153712.6504  -18104898.87549 -14092134.36247  22153711.6054   22153718.0984
+     -3144.1484      -2449.9804
+  20278892.4614  -24740835.66449 -19260674.55848  20278892.6564   20278898.9124
+       937.5694        730.5684
+  23123391.7914  -12895701.87049 -10035146.62246  23123391.3884   23123395.9734
+      2999.4304       2337.2104
+  25562160.7684    -165819.94949   -102509.37945
+      2969.3984       2313.8104
+  23222566.4144   -6534554.42149  -4876416.13846  23222564.5614   23222572.6314
+     -2251.3074      -1754.2754
+  20389742.8564  -23526702.35349 -17878999.75348  20389742.5134   20389749.2674
+       261.5414        203.7984
+ 05  1 20 19 12 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  23951919.3694   -1733284.44849  -1336089.74745  23951918.5734   23951925.5254
+     -1310.4164      -1021.0954
+  20774806.1854  -23137528.46849 -17984548.45548  20774805.8604   20774812.5474
+      -400.5524       -312.1204
+  22171691.4784  -18010411.13849 -14018507.62347  22171691.0824   22171698.3524
+     -3155.0164      -2458.4524
+  20273581.3924  -24768744.75549 -19282421.88848  20273581.8324   20273588.0994
+       923.1034        719.3014
+  23106287.5114  -12985576.85149 -10105179.02646  23106288.1504   23106293.9714
+      2992.1824       2331.5724
+  25545218.8964    -254859.65349   -171890.89045
+      2966.4604       2311.5284
+  23235460.7394   -6466784.39049  -4823608.34346  23235460.5504   23235467.8984
+     -2266.6944      -1766.2554
+  20388288.0894  -23534345.84649 -17884955.71148  20388287.7724   20388294.8474
+       248.0134        193.2564
+ 05  1 20 19 13  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  23959440.4514   -1693736.23549  -1305272.98445  23959442.8064   23959450.2334
+     -1326.1024      -1033.3294
+  20777118.2164  -23125379.88949 -17975082.04348  20777117.4534   20777124.4814
+      -409.2394       -318.8894
+  22189734.2524  -17915597.69749 -13944627.08447  22189733.7774   22189740.6524
+     -3165.8374      -2466.8834
+  20268353.4714  -24796219.60349 -19303830.85248  20268353.7094   20268359.7094
+       908.6224        708.0154
+  23089227.7054  -13075233.15849 -10175041.05747  23089227.8844   23089233.3154
+      2984.8674       2325.8624
+  25528293.2174    -343806.89349   -241200.33945  25528288.2004   25528298.8204
+      2963.3414       2309.0904
+  23248446.8374   -6398553.33749  -4770441.29846  23248446.0734   23248453.3694
+     -2282.0154      -1778.1894
+  20386910.5674  -23541583.73449 -17890595.62848  20386910.4204   20386917.6644
+       234.5064        182.7284
+ 05  1 20 19 13 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  23967059.5274   -1653717.37549  -1274089.46945  23967057.5494   23967066.6514
+     -1341.7734      -1045.5394
+  20779479.5814  -23112969.57049 -17965411.68048  20779479.1174   20779485.9534
+      -418.0064       -325.7144
+  22207838.9984  -17820460.87249 -13870494.55347  22207838.4324   22207845.1424
+     -3176.5784      -2475.2504
+  20263207.8454  -24823260.64949 -19324901.78048  20263207.9964   20263214.0174
+       894.1914        696.7724
+  23072208.0404  -13164669.64349 -10244731.79246  23072208.1404   23072213.4824
+      2977.5474       2320.1634
+  25511382.2164    -432661.24049   -310437.38945  25511379.6674   25511391.2284
+      2960.2734       2306.7074
+  23261516.1554   -6329863.55049  -4716916.82546  23261516.0814   23261523.4694
+     -2297.2614      -1790.0734
+  20385610.4404  -23548416.69849 -17895920.01148  20385610.0674   20385617.3544
+       221.0244        172.2294
+ 05  1 20 19 14  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  23974763.4724   -1613230.23849  -1242541.08346  23974763.0424   23974771.7704
+     -1357.3414      -1057.6704
+  20781891.5004  -23100296.99549 -17955536.95448  20781890.6904   20781897.7264
+      -426.7604       -332.5414
+  22226002.2054  -17725002.87249 -13796111.77147  22226002.4834   22226009.3034
+     -3187.2644      -2483.5754
+  20258143.8924  -24849868.28849 -19345634.99148  20258144.2994   20258150.8114
+       879.7234        685.4954
+  23055232.2254  -13253885.57149 -10314250.65547  23055231.1624   23055236.6064
+      2970.1584       2314.3954
+  25494490.8864    -521421.48849   -379601.19345  25494488.9834   25494500.4254
+      2957.1364       2304.2554
+  23274675.7634   -6260717.28549  -4663036.64446  23274675.8734   23274682.6014
+     -2312.4734      -1801.9204
+  20384387.1724  -23554845.65649 -17900929.58448  20384386.7834   20384393.8784
+       207.5724        161.7404
+ 05  1 20 19 14 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  23982556.3214   -1572277.30249  -1210629.69346  23982556.0124   23982564.7194
+     -1372.8224      -1069.7304
+  20784353.2154  -23087361.34249 -17945457.24048  20784352.3674   20784359.2264
+      -435.5164       -339.3624
+  22244229.0164  -17629225.76849 -13721480.33747  22244229.0274   22244235.8154
+     -3197.8524      -2491.8374
+  20253164.2004  -24876042.77049 -19366030.68348  20253164.1824   20253170.0324
+       865.3124        674.2734
+  23038296.8214  -13342879.78249 -10383596.77947  23038297.1744   23038301.1324
+      2962.7354       2308.6314
+  25477616.7364    -610086.74049   -448690.94545  25477615.1754   25477626.6714
+      2954.0344       2301.8504
+  23287919.9964   -6191116.73149  -4608802.49646  23287919.5084   23287925.9514
+     -2327.5834      -1813.6924
+  20383240.1074  -23560871.45049 -17905625.00148  20383240.1584   20383247.2684
+       194.1484        151.2864
+ 05  1 20 19 15  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  23990437.9754   -1530860.86849  -1178357.16646  23990438.5224   23990445.7934
+     -1388.2444      -1081.7404
+  20786864.1844  -23074161.99549 -17935172.04348  20786863.9564   20786870.7914
+      -444.3124       -346.2224
+  22262515.6454  -17533132.03449 -13646602.17146  22262515.1024   22262521.0964
+     -3208.3754      -2500.0404
+  20248265.1334  -24901784.80649 -19386089.40048  20248265.4164   20248271.3484
+       850.9194        663.0524
+  23021402.4654  -13431651.56649 -10452769.54747  23021403.2814   23021408.6854
+      2955.3604       2302.8704
+  25460759.0994    -698656.30449   -517706.18045  25460762.8654   25460773.7204
+      2950.3624       2298.9904
+  23301249.5004   -6121064.13849  -4554216.08946  23301249.1864   23301256.9464
+     -2342.5754      -1825.3734
+  20382170.5334  -23566495.24049 -17910007.17048  20382170.0244   20382177.0034
+       180.7654        140.8554
+ 05  1 20 19 15 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  23998406.9004   -1488983.23349  -1145725.25146  23998407.0204   23998415.0824
+     -1403.6074      -1093.7174
+  20789426.6474  -23060698.37149 -17924680.91848  20789426.1124   20789432.9124
+      -453.1644       -353.1174
+  22280861.4534  -17436723.92449 -13571479.03847  22280861.3554   22280866.9034
+     -3218.8334      -2508.1814
+  20243448.7154  -24927094.60349 -19405811.30648  20243449.0834   20243455.0664
+       836.5014        651.8154
+  23004554.1514  -13520199.91649 -10521768.23647  23004553.3884   23004557.9514
+      2947.8674       2297.0384
+  25443925.3734    -787129.27249   -586646.14745  25443928.1064   25443938.4674
+      2947.4474       2296.7134
+  23314665.1574   -6050561.95149  -4499279.34646  23314665.5884   23314672.9584
+     -2357.5444      -1837.0394
+  20381176.2984  -23571717.99749 -17914076.84448  20381175.9434   20381183.1844
+       167.4184        130.4534
+ 05  1 20 19 16  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24006461.6094   -1446646.87649  -1112735.90245  24006461.8384   24006471.3464
+     -1418.8334      -1105.5814
+  20792039.2014  -23046969.73649 -17913983.28748  20792038.7094   20792045.4854
+      -462.0114       -360.0104
+  22299267.1634  -17340003.70049 -13496112.68647  22299266.3864   22299272.7684
+     -3229.1794      -2516.2534
+  20238714.1834  -24951972.77549 -19425196.88848  20238714.7494   20238720.8324
+       822.1344        640.6244
+  22987744.0554  -13608523.69749 -10590591.91947  22987745.0304   22987750.1914
+      2940.3734       2291.2064
+  25427110.1374    -875504.85849   -655510.18645  25427110.2174   25427120.7374
+      2944.1014       2294.0984
+  23328168.7114   -5979612.35849  -4443994.01246  23328167.6154   23328174.9154
+     -2372.3864      -1848.6204
+  20380258.4854  -23576540.76249 -17917834.83748  20380258.1544   20380265.4094
+       154.1034        120.0834
+ 05  1 20 19 16 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24014606.8344   -1403854.04449  -1079390.88945  24014607.1854   24014613.8444
+     -1433.9734      -1117.3884
+  20794701.8884  -23032975.51249 -17903078.70348  20794701.4514   20794708.5014
+      -470.8724       -366.9134
+  22317730.8294  -17242973.53449 -13420504.84247  22317729.9354   22317737.6214
+     -3239.4624      -2524.2494
+  20234062.7054  -24976419.72649 -19444246.44548  20234062.6734   20234068.6514
+       807.7414        629.4094
+  22970979.7524  -13696622.48049 -10659240.26847  22970980.1884   22970986.4214
+      2932.8504       2285.3294
+  25410310.1674    -963782.36349   -724297.80545  25410310.2894   25410322.5334
+      2940.8254       2291.5504
+  23341754.2544   -5908217.82949  -4388361.94246  23341753.7324   23341760.1284
+     -2387.2374      -1860.1714
+  20379416.4254  -23580964.51749 -17921281.91048  20379416.3114   20379423.7034
+       140.8204        109.7314
+ 05  1 20 19 17  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24022833.7834   -1360607.03449  -1045691.89345  24022833.5514   24022843.0944
+     -1449.1234      -1129.1894
+  20797416.1204  -23018714.95549 -17891966.59648  20797415.4494   20797422.2024
+      -479.7514       -373.8294
+  22336254.0244  -17145635.74349 -13344657.30047  22336254.2764   22336259.6584
+     -3249.7054      -2532.2284
+  20229492.3854  -25000435.90449 -19462960.34048  20229492.3854   20229498.5984
+       793.3944        618.2284
+  22954259.0864  -13784495.27049 -10727712.52547  22954258.8084   22954264.5204
+      2925.3344       2279.4864
+  25393527.9924   -1051960.81749   -793008.19445  25393530.1184   25393540.3664
+      2937.6044       2289.0374
+  23355423.0124   -5836380.60349  -4332384.91346  23355422.7524   23355431.7654
+     -2401.9184      -1871.6294
+  20378650.7264  -23584990.43249 -17924418.98948  20378650.1784   20378657.5224
+       127.5764         99.4124
+ 05  1 20 19 17 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24031150.4864   -1316908.36049  -1011641.02445  24031150.0454   24031160.3174
+     -1464.1724      -1140.9134
+  20800180.0504  -23004187.28149 -17880646.33448  20800179.3394   20800186.7694
+      -488.6144       -380.7344
+  22354834.4044  -17047992.79449 -13268571.93746  22354833.4054   22354840.3344
+     -3259.8244      -2540.1184
+  20225004.2474  -25024021.82049 -19481338.96748  20225004.4074   20225010.3624
+       779.0804        607.0804
+  22937580.7864  -13872140.96349 -10796007.82247  22937580.5114   22937586.7644
+      2917.6994       2273.5294
+  25376771.4144   -1140039.26649   -861640.63945  25376769.5544   25376781.8304
+      2934.2934       2286.4574
+  23369177.7054   -5764103.12249  -4276064.83546  23369177.0764   23369184.7554
+     -2416.5404      -1883.0134
+  20377960.0994  -23588619.34049 -17927246.70748  20377959.8744   20377967.0574
+       114.3594         89.1164
+ 05  1 20 19 18  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24039554.3354   -1272760.43749   -977240.08845  24039552.3014   24039559.8424
+     -1479.0494      -1152.5074
+  20802995.7364  -22989391.92849 -17869117.49548  20802995.0794   20803002.4074
+      -497.6174       -387.7524
+  22373472.7514  -16950046.93349 -13192250.56246  22373472.4904   22373479.3974
+     -3269.9124      -2547.9754
+  20220598.2564  -25047177.89949 -19499382.65848  20220598.0134   20220603.7894
+       764.7574        595.9144
+  22920944.9484  -13959558.82949 -10864125.59447  22920945.2054   22920950.5704
+      2910.1344       2267.6494
+  25360030.7044   -1228017.03849   -930194.60345  25360029.1584   25360039.6484
+      2930.8164       2283.7484
+  23383015.2634   -5691387.68849  -4219403.51646  23383014.7084   23383022.3944
+     -2431.1064      -1894.3684
+  20377345.2324  -23591852.22249 -17929765.83048  20377344.7944   20377351.7414
+       101.1804         78.8414
+ 05  1 20 19 18 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24048038.8944   -1228165.67849   -942490.93446  24048039.5604   24048046.1294
+     -1493.9064      -1164.0854
+  20805862.2084  -22974328.26749 -17857379.58548  20805861.7344   20805868.8054
+      -506.5584       -394.7174
+  22392169.1974  -16851800.38849 -13115694.87546  22392168.2774   22392175.1314
+     -3279.8804      -2555.7424
+  20216272.4044  -25069904.84849 -19517091.95848  20216272.8354   20216278.9694
+       750.4554        584.7714
+  22904354.0004  -14046747.98349 -10932065.13147  22904353.5164   22904358.7754
+      2902.4784       2261.6574
+  25343307.4374   -1315893.22949   -998669.45145  25343305.2704   25343318.1954
+      2927.5084       2281.1704
+  23396934.1884   -5618236.83649  -4162402.90946  23396934.2444   23396942.6954
+     -2445.6504      -1905.6904
+  20376805.1454  -23594690.01249 -17931977.09448  20376804.9194   20376811.7314
+        88.0144         68.5844
+ 05  1 20 19 19  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24056612.0114   -1183126.55449   -907395.49246  24056611.0294   24056618.8684
+     -1508.7194      -1175.6204
+  20808780.0124  -22958995.70349 -17845432.14148  20808779.3814   20808786.1864
+      -515.5244       -401.7054
+  22410921.8704  -16753255.63249 -13038906.82046  22410921.2744   22410927.3414
+     -3289.7664      -2563.4464
+  20212030.2174  -25092202.94949 -19534467.09748  20212029.8814   20212035.9624
+       736.1804        573.6484
+  22887805.8894  -14133707.33849 -10999825.62447  22887806.5474   22887811.2014
+      2894.8034       2255.6884
+  25326606.8844   -1403667.43349  -1067064.77645  25326603.1444   25326614.1974
+      2924.0694       2278.4904
+  23410936.1674   -5544652.70349  -4105064.71346  23410936.2724   23410945.2594
+     -2459.9834      -1916.8754
+  20376339.6424  -23597133.71149 -17933881.27748  20376339.7264   20376346.6674
+        74.9034         58.3664
+ 05  1 20 19 19 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24065262.3954   -1137645.63549   -871955.82345  24065263.9914   24065271.6864
+     -1523.3594      -1187.0384
+  20811748.9834  -22943393.46549 -17833274.55948  20811748.4174   20811755.5674
+      -524.5074       -408.7074
+  22429730.4774  -16654414.83349 -12961888.07346  22429729.6434   22429736.9144
+     -3299.6314      -2571.1404
+  20207867.9014  -25114072.99849 -19551508.68648  20207867.9794   20207874.3704
+       721.9244        562.5394
+  22871303.4964  -14220436.19649 -11067406.47947  22871302.9354   22871308.4364
+      2887.0784       2249.6624
+  25309920.4354   -1491338.13649  -1135379.46945  25309919.4654   25309930.7294
+      2920.5494       2275.7474
+  23425023.7704   -5470637.63949  -4047390.69846  23425022.2254   23425029.7264
+     -2474.2914      -1928.0314
+  20375949.2804  -23599184.62849 -17935479.39348  20375949.4314   20375956.2184
+        61.8414         48.1894
+ 05  1 20 19 20  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24074003.4664   -1091725.08749   -836173.63846  24074002.2014   24074011.7734
+     -1537.9934      -1198.4414
+  20814769.4784  -22927521.00149 -17820906.41448  20814768.9244   20814775.8404
+      -533.5254       -415.7354
+  22448595.6494  -16555280.47649 -12884640.60846  22448595.1204   22448601.6314
+     -3309.3434      -2578.7154
+  20203787.6164  -25135515.33849 -19568216.99448  20203787.6604   20203793.8204
+       707.6704        551.4324
+  22854841.6664  -14306933.88649 -11134807.20247  22854841.3774   22854847.8254
+      2879.3844       2243.6594
+  25293257.6874   -1578905.29849  -1203613.49745  25293256.2024   25293268.5104
+      2917.1494       2273.1024
+  23439190.3304   -5396194.28249  -3989382.92546  23439188.7224   23439195.8774
+     -2488.5494      -1939.1204
+  20375633.9064  -23600843.99649 -17936772.40348  20375633.6274   20375640.4904
+        48.8004         38.0264
+ 05  1 20 19 20 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24082822.8274   -1045367.66449   -800051.00845  24082824.3194   24082831.8524
+     -1552.5024      -1209.7404
+  20817841.2714  -22911377.64449 -17808327.18048  20817840.7404   20817847.5144
+      -542.5924       -422.7974
+  22467515.6124  -16455854.89749 -12807166.20446  22467515.0964   22467521.0244
+     -3319.0204      -2586.2494
+  20199788.5924  -25156530.66949 -19584592.56748  20199788.6974   20199794.6804
+       693.4314        540.3354
+  22838425.9454  -14393199.40149 -11202027.03647  22838425.5714   22838432.0204
+      2871.6144       2237.6214
+  25276612.9154   -1666367.94449  -1271766.06345  25276611.4264   25276624.4574
+      2913.6604       2270.3854
+  23453434.8774   -5321324.87549  -3931043.17046  23453434.3134   23453444.0834
+     -2502.8024      -1950.2304
+  20375393.0404  -23602112.66149 -17937760.97248  20375392.3284   20375399.0444
+        35.7754         27.8784
+ 05  1 20 19 21  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24091727.9434    -998575.83349   -763589.89845  24091728.4944   24091736.1884
+     -1566.9814      -1221.0334
+  20820964.8974  -22894962.65249 -17795536.28348  20820964.4184   20820971.4644
+      -551.6404       -429.8474
+  22486490.9934  -16356140.39149 -12729466.65246  22486489.9964   22486496.1474
+     -3328.6464      -2593.7694
+  20195870.4164  -25177119.36949 -19600635.70048  20195870.6924   20195876.7764
+       679.2434        529.2834
+  22822055.0514  -14479231.90349 -11269065.29247  22822055.0924   22822059.7524
+      2863.8374       2231.5574
+  25259988.4544   -1753725.02149  -1339836.39045  25259987.7344   25259999.2114
+      2910.0674       2267.5814
+  23467764.3064   -5246032.03349  -3872373.45946  23467763.7464   23467770.9924
+     -2516.8104      -1961.1574
+  20375224.8484  -23602991.65649 -17938445.89848  20375224.9584   20375231.9694
+        22.8234         17.7874
+ 05  1 20 19 21 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24100715.1334    -951352.01449   -726792.12945  24100715.4824   24100721.5054
+     -1581.3224      -1232.2044
+  20824140.1644  -22878275.38449 -17782533.22448  20824139.8534   20824146.9544
+      -560.7414       -436.9444
+  22505519.3194  -16256139.52149 -12651543.96746  22505519.2294   22505526.1024
+     -3338.1484      -2601.1474
+  20192033.3144  -25197282.11049 -19616346.92148  20192033.8774   20192040.0184
+       665.0034        518.1814
+  22805728.7554  -14565030.60449 -11335921.34947  22805727.8014   22805731.4314
+      2856.0144       2225.4584
+  25243383.8324   -1840975.92949  -1407824.04145  25243385.9324   25243395.3234
+      2906.5064       2264.8124
+  23482171.1344   -5170318.01149  -3813375.57946  23482171.3774   23482179.2224
+     -2530.7994      -1972.0594
+  20375131.7604  -23603482.16149 -17938828.10948  20375131.6434   20375138.5254
+         9.8754          7.6974
+ 05  1 20 19 22  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24109784.3634    -903698.71149   -689659.67946  24109783.1674   24109791.5204
+     -1595.5984      -1243.3314
+  20827368.1824  -22861315.23349 -17769317.53148  20827367.3284   20827374.4754
+      -569.8574       -444.0404
+  22524603.8014  -16155854.51749 -12573399.87746  22524602.7074   22524610.4194
+     -3347.5404      -2608.4644
+  20188277.9034  -25217019.66849 -19631726.82448  20188277.9594   20188283.9754
+       650.8724        507.1754
+  22789446.4584  -14650594.62749 -11402594.54347  22789445.6394   22789450.2174
+      2848.2214       2219.3864
+  25226797.5164   -1928119.93349  -1475728.37545  25226800.7804   25226813.0594
+      2902.9874       2262.0634
+  23496658.9234   -5094185.41649  -3754051.49146  23496658.1144   23496666.6234
+     -2544.7104      -1982.8854
+  20375112.1614  -23603585.39049 -17938908.54548  20375112.0434   20375118.8084
+        -3.0004         -2.3354
+ 05  1 20 19 22 30.0000000  0  9G 9G 7G28G 4G 2G 5G17G20G24
+  24118933.4714    -855618.47949   -652194.53645  24118933.5504   24118940.5274
+     -1609.7554      -1254.3484
+  20830647.0574  -22844081.63849 -17755888.76348  20830646.7864   20830653.7954
+      -578.9804       -451.1504
+  22543740.1954  -16055287.93149 -12495036.37446  22543740.3114   22543747.0854
+     -3356.8674      -2615.7424
+  20184602.4244  -25236332.40149 -19646775.69448  20184602.6844   20184608.9764
+       636.7184        496.1484
+  22773207.9924  -14735923.18449 -11469084.25847  22773207.9904   22773212.8454
+      2840.3604       2213.2814
+                   -275197.95941    -63144.798 3                  24051114.351
+      3125.7714       2447.297
+  25210240.9044   -2015156.25949  -1543548.74145  25210241.0534   25210250.5734
+      2899.3564       2259.2344
+  23511226.4794   -5017636.53949  -3694403.06046  23511226.1974   23511233.1494
+     -2558.5384      -1993.6524
+  20375166.0454  -23603302.11949 -17938687.80848  20375165.8974   20375172.6754
+       -15.8614        -12.3574
+ 05  1 20 19 23  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24128160.0754    -807113.96249   -614398.83645  24128161.0004   24128170.3974
+     -1623.8724      -1265.3604
+  20833979.6034  -22826573.85949 -17742246.34448  20833978.6684   20833985.3554
+      -588.1244       -458.2844
+  22562929.8924  -15954441.95549 -12416455.15946  22562929.6304   22562937.4814
+     -3366.1444      -2622.9724
+  20181008.6054  -25255220.92749 -19661494.01748  20181008.4464   20181014.3784
+       622.6004        485.1414
+  22757013.0674  -14821015.69949 -11535390.05147  22757013.5224   22757021.6134
+      2832.4514       2207.0934
+  25193700.7144   -2102084.18249  -1611284.63745  25193699.4834   25193708.7224
+      2895.7304       2256.4094
+  23525871.9854   -4940673.89349  -3634432.21446  23525871.8634   23525879.2484
+     -2572.2644      -2004.3524
+  20375293.5124  -23602633.49049 -17938166.79348  20375293.2234   20375299.8834
+       -28.7034        -22.3724
+ 05  1 20 19 23 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24137472.7914    -758187.65449   -576274.53245  24137472.3094   24137481.3094
+     -1637.8254      -1276.2284
+  20837362.9304  -22808791.13649 -17728389.68548  20837362.3184   20837369.4874
+      -597.3024       -465.4304
+  22582174.5264  -15853318.95549 -12337658.09846  22582174.4784   22582181.3424
+     -3375.3334      -2630.1264
+  20177494.2344  -25273686.13049 -19675882.47748  20177494.6114   20177500.4454
+       608.5074        474.1644
+  22740867.2374  -14905871.08049 -11601511.09547  22740866.9994   22740873.1394
+      2824.5554       2200.9524
+  25177179.3174   -2188902.92249  -1678935.48945  25177177.2284   25177187.0504
+      2892.1064       2253.5854
+  23540595.1524   -4863299.86049  -3574140.76946  23540595.4034   23540603.0434
+     -2585.9474      -2015.0184
+  20375493.2534  -23601580.58549 -17937346.34848  20375493.4374   20375500.3994
+       -41.4854        -32.3274
+ 05  1 20 19 24  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24146863.4604    -708842.30849   -537823.61346  24146863.7104   24146871.4314
+     -1651.7644      -1287.0864
+  20840799.7164  -22790733.02349 -17714318.43248  20840799.1984   20840805.9444
+      -606.4734       -472.5764
+  22601469.4414  -15751921.45149 -12258647.12846  22601469.0934   22601475.9834
+     -3384.4634      -2637.2444
+  20174061.0844  -25291728.39949 -19689941.37848  20174061.1824   20174067.1704
+       594.4034        463.1694
+  22724766.2574  -14990488.40949 -11667446.63647  22724765.1624   22724770.1934
+      2816.5974       2194.7504
+  25160680.3564   -2275611.67549  -1746500.65445  25160677.7864   25160686.4414
+      2888.4384       2250.7314
+  23555397.8394   -4785516.97549  -3513530.77846  23555397.3184   23555404.6674
+     -2599.5384      -2025.6204
+  20375766.9124  -23600144.55049 -17936227.35748  20375766.7444   20375773.7724
+       -54.2434        -42.2664
+ 05  1 20 19 24 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24156332.9594    -659080.55849   -499048.23745  24156332.9414   24156340.1264
+     -1665.6634      -1297.9154
+  20844288.9174  -22772398.74249 -17700031.98548  20844287.9264   20844294.6294
+      -615.7064       -479.7654
+  22620818.2504  -15650251.72149 -12179424.02446  22620816.5264   22620824.1894
+     -3393.5094      -2644.2804
+  20170708.2844  -25309348.48349 -19703671.31148  20170708.4694   20170714.3384
+       580.3454        452.2224
+  22708709.8994  -15074867.07749 -11733196.18847  22708708.6304   22708713.6984
+      2808.6234       2188.5414
+  25144197.3574   -2362209.56449  -1813979.39845  25144197.2594   25144207.2524
+      2884.6724       2247.7954
+  23570276.0754   -4707327.70849  -3452604.09746  23570275.3934   23570283.0474
+     -2613.0234      -2036.1084
+  20376112.2224  -23598326.56849 -17934810.74948  20376112.4064   20376119.6844
+       -66.9624        -52.1764
+ 05  1 20 19 25  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24165882.1124    -608904.89549   -459950.32045  24165880.7754   24165887.8184
+     -1679.4324      -1308.6534
+  20847830.0614  -22753787.80949 -17685529.96648  20847829.3194   20847836.2504
+      -624.9374       -486.9604
+  22640214.6834  -15548312.50249 -12099990.94346  22640214.7174   22640222.0274
+     -3402.4384      -2651.2584
+  20167435.0714  -25326547.17149 -19717072.87348  20167435.3954   20167441.8364
+       566.3204        441.2874
+  22692697.4774  -15159006.16949 -11798759.05147  22692697.0534   22692703.0034
+      2800.6224       2182.2944
+  25127743.1884   -2448696.41849  -1881371.68245  25127739.9604   25127750.2074
+      2881.0314       2244.9594
+  23585233.1324   -4628734.66349  -3391362.80846  23585231.0174   23585239.4874
+     -2626.4334      -2046.5694
+  20376531.4574  -23596127.87949 -17933097.48648  20376530.9644   20376538.0324
+       -79.6344        -62.0514
+ 05  1 20 19 25 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24175505.5814    -558317.88549   -420531.86445  24175506.3764   24175513.5344
+     -1693.0414      -1319.2454
+  20851424.9334  -22734899.44849 -17670811.77048  20851423.6994   20851430.7134
+      -634.1784       -494.1594
+  22659664.4564  -15446105.86549 -12020349.47546  22659663.7074   22659670.7834
+     -3411.3214      -2658.1694
+  20164242.6994  -25343324.94449 -19730146.45848  20164242.7554   20164249.1604
+       552.2784        430.3514
+  22676732.9154  -15242905.05049 -11864134.76347  22676732.5474   22676737.3104
+      2792.6084       2176.0614
+  25111300.7004   -2535070.86749  -1948676.36545  25111301.9824   25111312.0564
+      2877.2124       2241.9794
+  23600262.7474   -4549740.36749  -3329808.85946  23600263.7014   23600271.4334
+     -2639.8844      -2057.0564
+  20377022.0134  -23593549.44049 -17931088.31248  20377021.7414   20377028.6544
+       -92.2724        -71.8994
+ 05  1 20 19 26  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24185210.0584    -507322.12349   -380794.94645  24185211.2934   24185218.5334
+     -1706.6434      -1329.8434
+  20855071.7104  -22715733.10749 -17655876.97448  20855070.9334   20855077.8724
+      -643.4494       -501.3864
+  22679164.1104  -15343634.31049 -11940501.59046  22679163.8584   22679171.3454
+     -3420.1144      -2665.0154
+  20161130.1384  -25359682.50549 -19742892.60748  20161129.9154   20161136.2434
+       538.2984        419.4564
+  22660811.7634  -15326562.92049 -11929322.65647  22660812.5704   22660819.3464
+      2784.5524       2169.7834
+  25094887.1984   -2621332.58649  -2015893.18145  25094887.9414   25094899.2144
+      2873.4984       2239.0854
+  23615372.0224   -4470347.15649  -3267944.05946  23615371.0924   23615379.5414
+     -2653.0704      -2067.3154
+  20377584.8324  -23590592.35549 -17928784.09848  20377584.3834   20377591.3714
+      -104.8454        -81.6944
+ 05  1 20 19 26 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24194990.6624    -455920.30949   -340741.60345  24194991.9424   24194999.7224
+     -1720.1274      -1340.3654
+  20858771.9784  -22696288.19349 -17640725.10048  20858771.0924   20858777.8214
+      -652.7394       -508.6274
+  22698713.7454  -15240900.39549 -11860449.25346  22698713.5604   22698720.2034
+     -3428.7814      -2671.7614
+  20158096.5314  -25375620.48349 -19755311.81248  20158097.0724   20158103.4204
+       524.3044        408.5494
+  22644939.5264  -15409978.97349 -11994322.13547  22644939.5424   22644944.3734
+      2776.5044       2163.5124
+  25078495.4924   -2707480.56149  -2083021.31845  25078494.1064   25078505.3514
+      2869.6004       2236.0574
+  23630556.7394   -4390557.66549  -3205770.42646  23630555.3454   23630564.3224
+     -2666.2074      -2077.5584
+  20378219.1864  -23587258.03349 -17926185.92748  20378219.0024   20378226.0244
+      -117.4114        -91.4904
+ 05  1 20 19 27  0.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24204851.5714    -404115.23049   -300374.04146  24204850.8214   24204860.1364
+     -1733.4994      -1350.7824
+  20862525.0074  -22676563.98749 -17625355.60148  20862524.2564   20862531.3914
+      -662.0584       -515.8934
+  22718313.4894  -15137906.49049 -11780194.35246  22718312.9544   22718319.3224
+     -3437.4274      -2678.5064
+  20155143.9944  -25391139.79349 -19767404.77948  20155143.8994   20155150.0714
+       510.3744        397.6894
+  22629111.9164  -15493152.39849 -12059132.53047  22629111.0044   22629116.2764
+      2768.3764       2157.1764
+  25062123.8054   -2793514.18349  -2150060.32645  25062123.4594   25062133.3794
+      2865.8424       2233.1214
+  23645813.5724   -4310374.39449  -3143290.01346  23645813.1084   23645821.1204
+     -2679.3604      -2087.8234
+  20378925.1514  -23583547.65449 -17923294.72448  20378925.0814   20378931.9954
+      -129.9314       -101.2514
+ 05  1 20 19 27 30.0000000  0  8G 9G 7G28G 4G 2G17G20G24
+  24214783.5564    -351909.72749   -259694.43945  24214784.5714   24214793.0944
+     -1746.8264      -1361.1674
+  20866331.6604  -22656559.88549 -17609768.00148  20866331.2134   20866338.1164
+      -671.3964       -523.1664
+  22737961.9314  -15034655.00449 -11699738.70046  22737960.2704   22737967.5634
+     -3445.9894      -2685.1834
+  20152270.3144  -25406240.95449 -19779171.91648  20152270.1804   20152276.6004
+       496.4534        386.8504
+  22613329.8494  -15576082.40849 -12123753.25147  22613329.6894   22613335.0614
+      2760.2464       2150.8594
+  25045772.0604   -2879432.90549  -2217009.86045  25045771.7484   25045783.0314
+      2862.0564       2230.1674
+  23661146.0434   -4229799.94949  -3080504.74746  23661145.4184   23661153.9704
+     -2692.2464      -2097.8544
+  20379702.5064  -23579462.15349 -17920111.21848  20379702.4534   20379709.5094
+      -142.4254       -110.9764
+ 05  1 20 19 28  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24224794.3444    -299306.10549   -218704.61645  24224794.5614   24224803.0704
+     -1760.0384      -1371.4624
+  20870192.0124  -22636275.28149 -17593961.82848  20870191.2914   20870198.2774
+      -680.7994       -530.4864
+  22757657.6084  -14931148.50349 -11619084.37946  22757657.7964   22757664.2894
+     -3454.4054      -2691.7464
+  20149475.8414  -25420924.69549 -19790613.79348  20149476.0624   20149482.2174
+       482.5124        375.9864
+  22597595.7764  -15658768.36649 -12188183.82047  22597596.2544   22597600.6334
+      2752.0854       2144.4764
+  23825486.5664     -71021.02849    -33601.42443
+      3023.0744       2355.6424
+  25029445.7064   -2965235.96449  -2283869.24145  25029444.9914   25029456.3854
+      2858.0594       2227.0614
+                    -94739.00141    -31483.283 3                  25257680.386
+      1987.3104       1552.759
+  23676555.1344   -4148836.77049  -3017416.64246  23676554.1974   23676561.3044
+     -2705.2304      -2107.9824
+  20380551.0124  -23575002.91749 -17916636.48748  20380550.9114   20380558.1524
+      -154.8574       -120.6674
+ 05  1 20 19 28 30.0000000  0  9G 9G 7G28G 4G 2G 5G17G20G24
+  24234880.3504    -246307.33349   -177406.88445  24234879.0604   24234889.4514
+     -1773.1844      -1381.7054
+  20874105.5634  -22615709.63849 -17577936.66648  20874104.7454   20874111.4924
+      -690.1554       -537.7834
+  22777402.3854  -14827389.40049 -11538233.19846  22777403.1954   22777409.4084
+     -3462.8364      -2698.3024
+  20146760.8144  -25435191.83049 -19801731.03848  20146761.0604   20146767.2574
+       468.6614        365.1884
+  22581908.5484  -15741209.63549 -12252423.69347  22581907.2224   22581913.2284
+      2743.9514       2138.1444
+  23808254.8184    -161566.97449   -104157.15045
+      3013.2524       2347.9884
+  25013138.1714   -3050922.39749  -2350637.73245  25013139.3674   25013147.5874
+      2854.1784       2224.0294
+  23692033.5204   -4067487.45749  -2954027.56245  23692033.8394   23692040.8094
+     -2718.0724      -2117.9844
+  20381470.4874  -23570171.16049 -17912871.48948  20381470.3384   20381477.4924
+      -167.2644       -130.3354
+ 05  1 20 19 29  0.0000000  0  9G 9G 7G28G 4G 2G 5G17G20G24
+  24245040.5864    -192916.20249   -135803.45945  24245040.1204   24245047.1754
+     -1786.2094      -1391.8524
+  20878072.4504  -22594862.10449 -17561691.84448  20878071.6954   20878078.8344
+      -699.5874       -545.1324
+  22797193.6714  -14723380.05349 -11457187.04346  22797194.7164   22797201.2594
+     -3471.1304      -2704.7704
+  20144124.9654  -25449043.04549 -19812524.19548  20144125.1844   20144131.4214
+       454.7814        354.3774
+  22566266.6834  -15823405.23349 -12316472.15247  22566266.9574   22566271.7194
+      2735.7234       2131.7264
+  23791081.2054    -251816.28149   -174481.07945                  23791091.1314
+      3003.3784       2340.2894
+  24996854.9684   -3136492.06149  -2417315.21745  24996854.5244   24996863.4844
+      2850.4324       2221.1104
+  23707589.0124   -3985754.46949  -2890339.54945  23707586.1594   23707593.7924
+     -2730.8094      -2127.8904
+  20382460.8334  -23564968.15749 -17908817.20548  20382460.4484   20382467.6094
+      -179.5824       -139.9334
+ 05  1 20 19 29 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24255274.3794    -139135.31049    -93896.27045  24255273.4974   24255283.3124
+     -1799.1614      -1401.9494
+  20882093.2854  -22573732.31549 -17545227.08348  20882092.7144   20882099.6374
+      -708.9824       -552.4554
+  22817034.8944  -14619123.01549 -11375947.87046  22817033.8234   22817041.3564
+     -3479.3454      -2711.1754
+  20141568.2304  -25462479.20549 -19822993.93048  20141568.4404   20141574.3444
+       441.0224        343.6514
+  22550672.0134  -15905354.50049 -12380328.65247  22550671.8024   22550676.6704
+      2727.5164       2125.3314
+  23773967.1114    -341766.28549   -244571.91346  23773964.5794   23773975.1254
+      2993.3444       2332.4744
+  24980594.2454   -3221943.88249  -2483900.90145  24980594.1704   24980604.2254
+      2846.4164       2217.9824
+                   -272450.22141    -47903.610 4                  25218946.955
+      1961.8244       1528.519
+  23723212.9824   -3903640.46849  -2826354.65045  23723213.2594   23723219.7374
+     -2743.4804      -2137.7784
+  20383520.9634  -23559394.97349 -17904474.46648  20383520.9614   20383528.1434
+      -191.9274       -149.5554
+ 05  1 20 19 30  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24265582.7534     -84967.23949    -51687.37845  24265582.0694   24265590.9664
+     -1812.0034      -1411.9504
+  20886168.2244  -22552319.52849 -17528541.80748  20886167.3314   20886174.6834
+      -718.4344       -559.8174
+  22836920.8264  -14514620.77649 -11294517.62046  22836919.9414   22836928.3664
+     -3487.4574      -2717.4894
+  20139090.2864  -25475500.88849 -19833140.68748  20139090.2794   20139096.4194
+       427.2124        332.8954
+  22535123.8404  -15987056.72149 -12443992.65047  22535123.9494   22535128.7144
+      2719.2704       2118.9124
+  23756906.9774    -431414.52549   -314427.64945  23756905.9024   23756914.2924
+      2983.2224       2324.5854
+  24964356.8714   -3307277.40949  -2550394.38045  24964355.9094   24964365.8784
+      2842.4244       2214.8664
+                   -331174.16741    -97501.837 4                  25206920.856
+      1953.1134       1522.359
+  23738908.7104   -3821148.16349  -2762074.96045  23738909.1694   23738917.4364
+     -2756.0514      -2147.5634
+  20384651.5874  -23553452.65649 -17899844.08848  20384651.6354   20384659.0284
+      -204.2164       -159.1274
+ 05  1 20 19 30 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24275962.8664     -30415.01549     -9179.22745  24275962.8734   24275972.1314
+     -1824.7184      -1421.8584
+  20890296.2354  -22530623.14049 -17511635.53848  20890295.7914   20890302.9114
+      -727.8934       -567.1944
+  22856852.7484  -14409875.86949 -11212898.30346  22856852.3124   22856859.6984
+     -3495.4974      -2723.7644
+  20136690.9894  -25488109.19149 -19842965.33548  20136691.0744   20136697.1324
+       413.4384        322.1574
+  22519623.7694  -16068511.24849 -12507463.62947  22519624.0224   22519629.0654
+      2710.9884       2112.4624
+  23739905.2814    -520758.54049   -384046.28046  23739903.4564   23739912.9794
+      2973.0254       2316.6394
+  24948142.1074   -3392491.79149  -2616795.07345  24948141.4574   24948149.7374
+      2838.4164       2211.7434
+  25194775.8264    -389637.21449     -5672.84443
+      1944.4274       1515.1464
+  23754679.9704   -3738280.12549  -2697502.53145  23754678.7604   23754686.3904
+     -2768.5324      -2157.3084
+  20385852.9544  -23547142.60749 -17894927.16448  20385852.5354   20385859.6714
+      -216.4484       -168.6654
+ 05  1 20 19 31  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24286417.0294      24518.63349     33626.16645  24286416.0324   24286425.2354
+     -1837.4474      -1431.7614
+  20894479.9134  -22508642.66449 -17494507.91148  20894478.9484   20894485.7634
+      -737.4264       -574.6194
+  22876829.0654  -14304890.82849 -11131091.86446  22876830.0324   22876838.2474
+     -3503.4874      -2729.9894
+  20134370.3164  -25500304.63149 -19852468.27048  20134370.4664   20134376.4974
+       399.6654        311.4244
+  22504171.5334  -16149717.14549 -12570740.86747  22504170.6824   22504176.3774
+      2702.7114       2106.0054
+  23722962.4484    -609795.41849   -453425.61345  23722960.4034   23722969.0604
+      2962.7464       2308.6314
+  24931947.0244   -3477586.44849  -2683102.47245  24931946.5684   24931956.9414
+      2834.4244       2208.6374
+  25183697.8694    -447836.16149    -51022.78945
+      1935.5414       1508.2194
+  23770521.0514   -3655038.54349  -2632638.93945  23770519.5824   23770526.7684
+     -2780.9554      -2166.9754
+  20387123.4264  -23540466.03549 -17889724.64448  20387123.2484   20387130.2204
+      -228.6734       -178.1874
+ 05  1 20 19 31 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24296941.8514      79830.79249     76726.53145  24296940.7364   24296950.2324
+     -1850.0534      -1441.5974
+  20898716.8624  -22486377.31649 -17477158.30448  20898716.2784   20898722.9944
+      -746.9144       -582.0094
+  22896855.0814  -14199667.98349 -11049100.13746  22896853.4604   22896861.3834
+     -3511.3834      -2736.1514
+  20132127.9854  -25512087.99849 -19861650.10948  20132128.4204   20132134.5764
+       385.9544        300.7444
+  22488764.6854  -16230673.92449 -12633824.00747  22488764.5544   22488769.8734
+      2694.3784       2099.5114
+  23706075.6884    -698522.72349   -522563.69845  23706074.8074   23706085.1824
+      2952.4144       2300.5814
+  24915777.9764   -3562560.75749  -2749316.09245  24915776.9844   24915787.8224
+      2830.4614       2205.5494
+                   -505768.32641    -75124.523 5                  25177812.325
+      1926.6274       1504.419
+  23786431.6254   -3571426.29549  -2567486.55845  23786431.3544   23786439.2154
+     -2793.2134      -2176.5264
+  20388462.9374  -23533424.21149 -17884237.51048  20388463.0344   20388470.3414
+      -240.8234       -187.6524
+ 05  1 20 19 32  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24307538.3144     135518.79749    120119.72645  24307539.5484   24307548.5204
+     -1862.4794      -1451.2834
+  20903008.1094  -22463826.60549 -17459586.33448  20903007.3634   20903013.9234
+      -756.4024       -589.4004
+  22916923.3314  -14094209.76949 -10966924.98646  22916921.9734   22916929.2384
+     -3519.1404      -2742.1884
+  20129964.2324  -25523460.15449 -19870511.51648  20129964.4304   20129970.4624
+       372.2594        290.0744
+  22473407.5814  -16311380.68249 -12696712.33447  22473407.3024   22473412.1064
+      2686.0294       2093.0124
+  23689250.1604    -786937.99949   -591458.66245  23689251.7684   23689261.0734
+      2941.9574       2292.4334
+  24899630.1234   -3647413.73449  -2815435.21245  24899630.1404   24899639.6624
+      2826.3924       2202.3814
+  25161700.1954    -563430.84749   -141096.59545                  25161702.0764
+      1917.5884       1494.2284
+  23802412.6324   -3487445.78749  -2502047.24945  23802411.3594   23802420.7314
+     -2805.5654      -2186.1554
+  20389872.6924  -23526018.04149 -17878466.47148  20389872.3894   20389879.5424
+      -252.9414       -197.0934
+ 05  1 20 19 32 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24318208.2304     191580.00949    163803.79845  24318206.6464   24318216.0864
+     -1874.8514      -1460.9234
+  20907353.0574  -22440989.98449 -17441791.57548  20907352.9864   20907359.6474
+      -765.9324       -596.8304
+  22937035.8904  -13988518.78149 -10884568.45346  22937034.3464   22937042.1984
+     -3526.9094      -2748.2304
+  20127878.2014  -25534421.98049 -19879053.19048  20127878.1414   20127884.2154
+       358.6014        279.4264
+  22458097.6254  -16391836.92449 -12759405.43847  22458096.4034   22458102.5614
+      2677.6744       2086.5034
+  23672488.6894    -875038.80249   -660108.57745  23672487.1794   23672495.1734
+      2931.3724       2284.1864
+  24883507.7414   -3732145.07549  -2881459.59845  24883506.8114   24883515.4294
+      2822.3714       2199.2454
+  25150778.2484    -620821.07949   -185816.26145  25150777.5914   25150784.1774
+      1908.4454       1487.0984
+  23818462.8264   -3403099.84949  -2436323.15845  23818462.2974   23818469.2504
+     -2817.6554      -2195.5684
+  20391351.1094  -23518248.85649 -17872412.56248  20391350.6614   20391357.9864
+      -265.0014       -206.4964
+ 05  1 20 19 33  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24328947.1674     248011.45549    207776.28345  24328946.0524   24328954.0524
+     -1887.1574      -1470.5094
+  20911753.6924  -22417866.75749 -17423773.48548  20911753.2114   20911759.9974
+      -775.5154       -604.2984
+  22957191.7434  -13882597.41849 -10802032.43046  22957191.6174   22957198.2614
+     -3534.5064      -2754.1654
+  20125870.4404  -25544974.27649 -19887275.75448  20125870.2434   20125876.4964
+       344.9444        268.7824
+  22442833.8884  -16472041.88549 -12821902.74347  22442834.1124   22442839.2124
+      2669.2924       2079.9674
+  23655780.8404    -962822.24949   -728511.19645  23655782.4714   23655790.1224
+      2920.8974       2276.0204
+  24867405.3664   -3816754.09649  -2947388.58445  24867405.9624   24867414.9834
+      2818.2484       2196.0334
+  25139906.0354    -677936.05559   -230321.51755  25139907.4454   25139919.3014
+      1899.2224       1479.9144
+  23834581.2754   -3318391.06149  -2370316.34645  23834581.1054   23834587.9674
+     -2829.6834      -2204.9344
+  20392897.9734  -23510118.30449 -17866077.07648  20392898.0104   20392905.1474
+      -277.0384       -215.8794
+ 05  1 20 19 33 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24339753.4904     304810.39249    252035.15945  24339754.1584   24339762.1644
+     -1899.4054      -1480.0514
+  20916208.3764  -22394456.38949 -17405531.65448  20916207.6674   20916214.5754
+      -785.0924       -611.7594
+  22977391.0254  -13776448.39949 -10719318.99446  22977390.8264   22977397.0254
+     -3542.0514      -2760.0394
+  20123940.0524  -25555117.79149 -19895179.78048  20123939.9714   20123946.0114
+       331.3494        258.1944
+  22427619.1494  -16551994.80749 -12884203.67347  22427619.3874   22427624.8414
+      2660.8864       2073.4144
+  23639137.8574   -1050285.92249   -796664.62245  23639137.4964   23639146.0374
+      2910.0764       2267.5904
+  24851329.8394   -3901240.35449  -3013221.97645  24851328.5504   24851338.3674
+      2814.1314       2192.8264
+  25129096.9064    -734773.15749   -274610.22845  25129095.2664   25129098.3734
+      1889.9294       1472.6724
+  23850768.6974   -3233322.17349  -2304028.91345  23850769.3564   23850779.0184
+     -2841.6094      -2214.2494
+  20394513.9674  -23501627.43049 -17859460.81448  20394513.7894   20394520.7374
+      -289.0284       -225.2184
+ 05  1 20 19 34  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24350633.3864     361974.07249    296578.26945  24350633.8634   24350641.6754
+     -1911.5234      -1489.4984
+  20920717.9354  -22370758.28749 -17387065.60948  20920717.7644   20920724.6864
+      -794.6864       -619.2364
+  22997632.9614  -13670074.05149 -10636429.99446  22997632.1074   22997639.2744
+     -3549.5584      -2765.8784
+  20122086.9454  -25564853.39449 -19902765.95948  20122087.2034   20122093.4274
+       317.7484        247.5934
+  22412454.5814  -16631695.11149 -12946307.75447  22412453.3474   22412458.8774
+      2652.4714       2066.8594
+  23622558.0874   -1137427.31249   -864566.93445  23622556.8884   23622564.3194
+      2899.3394       2259.2224
+  24835278.0064   -3985602.85849  -3078958.96245  24835275.2184   24835285.5244
+      2809.9884       2189.6004
+  25118329.9014    -791329.33749   -318680.06345  25118329.8504   25118338.2354
+      1880.4904       1465.3204
+  23867027.0784   -3147895.39049  -2237462.68245  23867025.7584   23867034.1734
+     -2853.4944      -2223.5004
+  20396198.2244  -23492777.48749 -17852564.75948  20396197.9924   20396205.0004
+      -300.9794       -234.5294
+ 05  1 20 19 34 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24361580.5544     419499.65649    341403.38145  24361579.9164   24361587.9904
+     -1923.5174      -1498.8384
+  20925282.5354  -22346771.79949 -17368374.85048  20925282.0024   20925289.3374
+      -804.3044       -626.7334
+  23017919.1764  -13563476.99749 -10553367.45546  23017918.3974   23017925.3154
+     -3556.9324      -2771.6384
+  20120312.0264  -25574181.97949 -19910034.98048  20120312.3074   20120318.2524
+       304.2034        237.0394
+  22397336.2724  -16711142.06849 -13008214.41947  22397335.7884   22397339.3414
+      2644.0094       2060.2634
+  23606034.1314   -1224243.69049   -932215.98745  23606035.1564   23606043.6154
+      2888.4184       2250.7124
+  24819244.0604   -4069841.21649  -3144599.17845  24819245.9434   24819254.8584
+      2805.7874       2186.3274
+  25107622.3194    -847601.93949   -362528.92145  25107622.6284   25107629.3884
+      1871.0004       1457.9244
+  23883350.5434   -3062113.67549  -2170619.81345  23883349.7744   23883357.6744
+     -2865.2754      -2232.6834
+  20397949.9674  -23483569.49549 -17845389.70348  20397950.0494   20397957.0604
+      -312.8784       -243.8024
+ 05  1 20 19 35  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24372594.5694     477384.36049    386508.25445  24372594.9884   24372601.8644
+     -1935.4144      -1508.1114
+  20929901.3064  -22322496.53649 -17349459.06748  20929901.1874   20929908.2834
+      -813.9224       -634.2254
+  23038244.1534  -13456659.70249 -10470133.28246  23038244.0394   23038251.6574
+     -3564.2384      -2777.3114
+  20118614.3344  -25583104.41449 -19916987.52048  20118614.2654   20118620.5164
+       290.6874        226.5094
+  22382266.5864  -16790335.04549 -13069923.16347  22382265.5694   22382269.5574
+      2635.5204       2053.6524
+  23589574.7144   -1310732.58849   -999609.82945  23589575.2244   23589585.3894
+      2877.4494       2242.1664
+  24803239.4074   -4153954.71349  -3210142.06945  24803238.0054   24803248.4604
+      2801.6374       2183.0924
+  25096972.7084    -903588.15849   -406154.52845  25096970.4654   25096975.6224
+      1861.3974       1450.4414
+  23899741.2254   -2975979.45449  -2103502.21245  23899740.7244   23899749.6554
+     -2876.9484      -2241.7764
+  20399770.8714  -23474004.84549 -17837936.73148  20399770.3224   20399777.1374
+      -324.7684       -253.0674
+ 05  1 20 19 35 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24383676.6174     535625.06149    431890.60145  24383675.1674   24383685.5824
+     -1947.2534      -1517.3444
+  20934576.8984  -22297931.71549 -17330317.66248  20934575.8414   20934582.9954
+      -823.6094       -641.7714
+  23058614.1774  -13349624.78749 -10386729.54746  23058612.8184   23058620.3264
+     -3571.4434      -2782.9244
+  20116993.4274  -25591621.56949 -19923624.26648  20116993.5104   20116999.6404
+       277.1854        215.9904
+  22367241.9144  -16869273.24349 -13131433.39147  22367242.9704   22367248.2114
+      2627.0214       2047.0324
+  23573182.5044   -1396891.37249  -1066746.43645  23573180.0574   23573190.1114
+      2866.4464       2233.5924
+  24787255.0304   -4237942.51149  -3275587.08545  24787254.3714   24787265.6194
+      2797.4484       2179.8274
+  25086366.6834    -959285.20849   -449554.83245  25086367.7374   25086376.9414
+      1851.7644       1442.9324
+  23916199.3604   -2889495.38249  -2036112.04345  23916197.8344   23916205.7594
+     -2888.5974      -2250.8584
+  20401658.4964  -23464084.90849 -17830206.91348  20401658.2244   20401665.1014
+      -336.5894       -262.2724
+ 05  1 20 19 36  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24394826.9764     594219.00349    477548.18445  24394827.3194   24394834.8654
+     -1958.9704      -1526.4734
+  20939306.3304  -22273076.93049 -17310950.31148  20939305.7734   20939312.8644
+      -833.3104       -649.3364
+  23079020.9124  -13242374.66249 -10303158.09346  23079020.9694   23079028.4764
+     -3578.5744      -2788.4934
+  20115449.6734  -25599734.33949 -19929945.90348  20115449.6014   20115455.7654
+       263.7024        205.4824
+  22352271.4574  -16947956.17549 -13192744.72647  22352270.7404   22352276.3164
+      2618.4924       2040.3894
+  23556848.4974   -1482717.51749  -1133623.90045  23556848.9234   23556857.5514
+      2855.3094       2224.9134
+  24771295.8404   -4321804.35749  -3340933.94545  24771296.0144   24771307.9264
+      2793.1934       2176.5154
+  25075828.5134   -1014690.29149   -492727.62645  25075826.9914   25075833.9384
+      1841.8784       1435.2284
+  23932722.5744   -2802664.25549  -1968451.45146  23932721.8904   23932729.1034
+     -2900.1844      -2259.8854
+  20403613.0894  -23453810.89749 -17822201.19548  20403613.0764   20403620.1084
+      -348.3864       -271.4714
+ 05  1 20 19 36 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24406045.2694     653163.32349    523478.80045  24406044.7514   24406052.6744
+     -1970.6154      -1535.5444
+  20944091.4044  -22247931.60149 -17291356.55848  20944090.5174   20944097.4994
+      -842.9674       -656.8544
+  23099470.2374  -13134912.00049 -10219421.04246  23099470.4444   23099479.4764
+     -3585.5894      -2793.9574
+  20113982.6684  -25607443.53349 -19935953.06748  20113982.6294   20113988.5894
+       250.2834        195.0274
+  22337347.3954  -17026383.23949 -13253856.69047  22337346.3334   22337352.2424
+      2609.9454       2033.7204
+  23540580.4084   -1568208.67949  -1200240.32145  23540579.9794   23540588.6754
+      2844.1004       2216.1764
+  24755363.8984   -4405539.28649  -3406181.88645  24755362.9484   24755373.2894
+      2789.0314       2173.2664
+  25065342.8234   -1069800.78049   -535670.72545  25065340.6654   25065346.9174
+      1832.0804       1427.5854
+  23949311.1824   -2715488.58649  -1900522.38946  23949310.9274   23949318.1064
+     -2911.5784      -2268.7534
+  20405635.4114  -23443184.06849 -17813920.55048  20405635.1854   20405642.5204
+      -360.0914       -280.5874
+ 05  1 20 19 37  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24417325.3674     712455.33849    569680.32145  24417326.5024   24417335.2334
+     -1982.1734      -1544.5514
+  20948932.0364  -22222495.03049 -17271535.87348  20948931.3264   20948937.8584
+      -852.6784       -664.4234
+  23119960.7784  -13027239.05649 -10135520.14746  23119960.5894   23119968.8424
+     -3592.5734      -2799.4024
+  20112591.7524  -25614750.02249 -19941646.43448  20112592.1124   20112598.3644
+       236.8944        184.5944
+  22322470.4624  -17104553.54249 -13314768.57947  22322471.4154   22322475.5974
+      2601.3904       2027.0574
+  23524376.0904   -1653362.02849  -1266593.51046  23524376.2154   23524384.7754
+      2832.7754       2207.3534
+  24739454.2334   -4489147.35649  -3471330.96845  24739452.8304   24739462.4834
+      2784.7924       2169.9664
+  25054906.8364   -1124613.86049   -578382.16245  25054907.9314   25054916.2004
+      1822.1554       1419.8604
+  23965965.4244   -2627971.04249  -1832326.92746  23965964.0994   23965972.3364
+     -2922.9174      -2277.6084
+  20407724.9434  -23432205.68349 -17805365.96348  20407724.5834   20407731.5824
+      -371.7964       -289.7124
+ 05  1 20 19 37 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24428676.0844     772092.00649    616150.41745  24428673.9054   24428684.4974
+     -1993.6174      -1553.4524
+  20953827.8374  -22196766.75249 -17251487.87948  20953826.9494   20953834.0144
+      -862.4064       -672.0014
+  23140489.3034  -12919358.63149 -10051457.59746  23140489.4594   23140496.7174
+     -3599.4544      -2804.7664
+  20111277.9684  -25621654.69449 -19947026.70148  20111278.2724   20111284.3204
+       223.5104        174.1664
+  22307646.2524  -17182466.69449 -13375480.07647  22307644.8424   22307648.9824
+      2592.7784       2020.3444
+  23508237.1694   -1738175.43049  -1332681.81846  23508237.0784   23508245.4284
+      2821.3804       2198.4754
+  24723569.3294   -4572627.03849  -3536379.99145  24723568.9494   24723576.3634
+      2780.5564       2166.6654
+  25044538.9214   -1179126.84449   -620859.74645  25044536.8484   25044542.0864
+      1812.0694       1411.9984
+  23982683.7364   -2540114.12149  -1763867.03146  23982683.3214   23982691.4454
+     -2934.1964      -2286.3804
+  20409880.3324  -23420877.10349 -17796538.50248  20409880.2724   20409887.2344
+      -383.4214       -298.7664
+ 05  1 20 19 38  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24440089.7954     832070.38249    662886.77945  24440088.7794   24440097.9974
+     -2004.8994      -1562.2524
+  20958779.2694  -22170746.15349 -17231212.09748  20958778.3974   20958785.5244
+      -872.1684       -679.6134
+  23161059.2424  -12811273.18149  -9967235.24646  23161057.7644   23161065.6024
+     -3606.2184      -2810.0434
+  20110040.7244  -25628158.58349 -19952094.66248  20110040.8524   20110046.5764
+       210.1584        163.7584
+  22292867.2124  -17260122.01249 -13435990.67547  22292867.4214   22292871.8944
+      2584.1764       2013.6384
+  23492162.6344   -1822645.95249  -1398502.94246  23492161.9914   23492171.1504
+      2809.9144       2189.5434
+  24707706.6244   -4655978.77049  -3601329.33145  24707705.5394   24707715.2414
+      2776.1954       2163.2724
+  25034219.3624   -1233336.93249   -663101.26745  25034219.2004   25034226.2314
+      1801.9094       1404.0794
+  23999467.3724   -2451920.69649  -1695144.90446  23999465.9684   23999475.0894
+     -2945.3964      -2295.1074
+  20412102.4374  -23409199.67849 -17787439.20748  20412102.3314   20412109.2964
+      -395.0694       -307.8494
+ 05  1 20 19 38 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24451568.4954     892387.43349    709887.04345  24451567.6794   24451577.1194
+     -2016.1594      -1571.0334
+  20963787.0164  -22144432.72949 -17210708.15048  20963786.0314   20963792.6734
+      -881.9794       -687.2594
+  23181665.3454  -12702985.26149  -9882855.17246  23181665.0054   23181670.6294
+     -3612.9504      -2815.2874
+  20108879.5164  -25634262.54449 -19956851.00048  20108879.5114   20108885.1624
+       196.8424        153.3844
+  22278139.0974  -17337518.81649 -13496299.82147  22278138.9354   22278144.3394
+      2575.5644       2006.9344
+  23476154.4364   -1906771.42349  -1464055.19846  23476154.3494   23476162.3154
+      2798.4154       2180.5814
+  24691866.7874   -4739201.33549  -3666178.00345  24691867.2674   24691879.9774
+      2771.8614       2159.8844
+  25023964.7804   -1287241.27649   -705104.60745  25023963.2984   25023969.5104
+      1791.6594       1396.0934
+  24016312.3964   -2363393.54049  -1626162.73946  24016312.4954   24016320.8454
+     -2956.4494      -2303.7194
+  20414390.4314  -23397174.51449 -17778068.95448  20414390.5484   20414397.6514
+      -406.6374       -316.8604
+ 05  1 20 19 39  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24463107.1784     953040.29949    757149.01445  24463108.1214   24463117.8114
+     -2027.3124      -1579.7204
+  20968849.5654  -22117825.96049 -17189975.61648  20968849.1014   20968856.1224
+      -891.7374       -694.8594
+  23202310.1844  -12594497.40349  -9798319.27546  23202308.2924   23202315.8234
+     -3619.5494      -2820.4224
+  20107793.0684  -25639967.69649 -19961296.57148  20107793.6084   20107799.5244
+       183.5814        143.0514
+  22263461.6984  -17414656.42549 -13556407.03347  22263460.8934   22263465.8804
+      2566.9444       2000.2224
+  23460212.0274   -1990548.99749  -1529336.38246  23460212.5164   23460219.6424
+      2786.7194       2171.4684
+  24676052.1914   -4822294.24449  -3730925.65245  24676054.3514   24676067.0414
+      2767.4924       2156.4854
+  25013764.7614   -1340837.50149   -746867.78745  25013763.8984   25013768.9484
+      1781.3974       1388.0994
+  24033222.5634   -2274535.07549  -1556922.40146  24033221.4634   24033229.5654
+     -2967.4504      -2312.2964
+  20416744.9044  -23384802.99849 -17768428.81448  20416744.6494   20416752.0534
+      -418.1354       -325.8204
+ 05  1 20 19 39 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24474714.9414    1014026.24749    804670.53045  24474713.7524   24474723.4604
+     -2038.4164      -1588.3814
+  20973968.7544  -22090925.32049 -17169014.10248  20973968.1474   20973975.0614
+      -901.5654       -702.5134
+  23222991.2894  -12485812.13049  -9713629.56146  23222990.8694   23222998.5334
+     -3626.1354      -2825.5584
+  20106783.6534  -25645274.53449 -19965431.76148  20106783.6574   20106789.6044
+       170.2704        132.6784
+  22248831.1544  -17491534.35549 -13616311.87047  22248830.6404   22248836.6254
+      2558.2454       1993.4374
+  23444337.4914   -2073976.22149  -1594344.55546  23444336.2934   23444344.3894
+      2775.0444       2162.3684
+  24660269.7484   -4905257.05949  -3795571.96545  24660270.2374   24660278.6334
+      2763.2174       2153.1534
+  25003624.2324   -1394122.62649   -788388.58645  25003623.1814   25003630.5274
+      1770.9554       1379.9644
+  24050193.7664   -2185348.15049  -1487426.13346  24050193.2944   24050200.4744
+     -2978.3474      -2320.7914
+  20419165.2984  -23372086.43849 -17758519.81048  20419164.5614   20419171.8164
+      -429.6414       -334.7844
+ 05  1 20 19 40  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24486384.1664    1075342.20149    852449.12245  24486381.6414   24486390.1814
+     -2049.3204      -1596.8674
+  20979143.7084  -22063730.10049 -17147823.03148  20979143.1214   20979150.1794
+      -911.3694       -710.1584
+  23243710.9684  -12376932.08349  -9628788.09046  23243710.0904   23243717.6234
+     -3632.5234      -2830.5264
+  20105849.0514  -25650184.50349 -19969257.71248  20105849.4104   20105855.2084
+       157.1034        122.4164
+  22234252.1204  -17568152.01449 -13676013.88747  22234251.5614   22234255.5284
+      2549.5774       1986.6844
+  23428527.5004   -2157050.65549  -1659077.81646  23428527.4104   23428535.4564
+      2763.2694       2153.1914
+  24644510.2254   -4988088.96449  -3860116.22745  24644508.1544   24644516.4624
+      2758.8374       2149.7404
+  24993542.1024   -1447094.14849   -829665.04445  24993541.9514   24993551.0514
+      1760.4914       1371.8094
+  24067227.0714   -2095835.24049  -1417675.84446  24067226.6884   24067234.1864
+     -2989.1594      -2329.2154
+  20421649.6634  -23359026.17449 -17748342.98148  20421649.8164   20421657.2824
+      -441.0524       -343.6754
+ 05  1 20 19 40 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24498111.5604    1136985.28449    900482.64545  24498110.8864   24498121.3214
+     -2060.2094      -1605.3564
+  20984374.4004  -22036239.94049 -17126402.14148  20984373.9304   20984381.1604
+      -921.2154       -717.8294
+  23264467.2064  -12267859.89849  -9543796.85846  23264466.4884   23264473.3094
+     -3638.9414      -2835.5384
+  20104990.1294  -25654698.20349 -19972774.88048  20104990.4844   20104996.2984
+       143.9154        112.1404
+  22219720.9794  -17644508.72449 -13735512.59247  22219721.0354   22219724.7784
+      2540.8634       1979.8934
+  23412786.3984   -2239769.78849  -1723534.22546  23412786.1604   23412795.1524
+      2751.3554       2143.9114
+  24628771.1654   -5070789.81049  -3924558.32445  24628770.6184   24628778.5884
+      2754.4264       2146.3024
+  24983522.3814   -1499749.44249   -870695.14045  24983521.7754   24983529.5404
+      1749.9484       1363.6004
+  24084323.3914   -2005999.00149  -1347673.59346  24084322.5254   24084329.8014
+     -2999.9304      -2337.6154
+  20424200.6084  -23345623.75349 -17737899.54448  20424200.3824   20424207.4814
+      -452.4334       -352.5434
+ 05  1 20 19 41  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24509904.1244    1198952.49249    948768.79945  24509901.7524   24509913.0594
+     -2070.9224      -1613.7064
+  20989663.2354  -22008454.21749 -17104750.94148  20989662.0814   20989668.7864
+      -931.0824       -725.5214
+  23285258.7834  -12158597.86449  -9458657.72846  23285258.0054   23285267.1344
+     -3645.2074      -2840.4174
+  20104206.4744  -25658816.74049 -19975984.12848  20104206.7144   20104212.5444
+       130.7074        101.8484
+  22205239.0324  -17720603.81949 -13794807.41747  22205240.1994   22205245.0864
+      2532.1344       1973.0814
+  23397112.9654   -2322131.26249  -1787711.93546  23397113.3064   23397121.7444
+      2739.3824       2134.5814
+  24613060.5624   -5153358.98149  -3988897.83445  24613058.3074   24613065.1594
+      2750.0434       2142.8904
+  24973563.6804   -1552085.44249   -911476.45445  24973563.8974   24973568.2334
+      1739.1654       1355.2024
+  24101478.7324   -1915842.20949  -1277421.57546  24101478.5144   24101486.4214
+     -3010.5714      -2345.9004
+  20426815.8384  -23331880.19449 -17727190.28448  20426815.5464   20426822.8614
+      -463.7994       -361.4014
+ 05  1 20 19 41 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24521758.5204    1261240.97649    997305.22845  24521757.4564   24521765.5264
+     -2081.6074      -1622.0284
+  20995006.3034  -21980372.51849 -17082869.11148  20995005.6764   20995012.8994
+      -940.9604       -733.2124
+  23306087.0834  -12049148.67149  -9373372.74546  23306086.5544   23306093.3934
+     -3651.3754      -2845.2264
+  20103497.4744  -25662541.13049 -19978886.25048  20103497.8934   20103504.0124
+       117.6344         91.6654
+  22190809.8944  -17796436.77949 -13853897.98047  22190809.6494   22190815.1504
+      2523.3564       1966.2484
+  23381510.1974   -2404132.38449  -1851608.85246  23381509.3114   23381518.1914
+      2727.3114       2125.1824
+  24597368.7164   -5235795.56349  -4053134.06045  24597369.7444   24597378.6814
+      2745.6334       2139.4564
+  24963666.2274   -1604099.82449   -952007.09645  24963665.0224   24963672.8464
+      1728.4264       1346.8264
+  24118695.7964   -1825367.57449  -1206921.85445  24118695.1674   24118701.9814
+     -3021.1284      -2354.1194
+  20429495.9404  -23317796.98149 -17716216.35748  20429495.5554   20429502.9864
+      -475.0774       -370.1834
+ 05  1 20 19 42  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24533671.8644    1323847.54049   1046089.54845  24533672.8224   24533679.2364
+     -2092.1534      -1630.2464
+  21000406.9994  -21951994.30149 -17060756.22648  21000405.7304   21000412.9744
+      -950.8154       -740.8914
+  23326948.3694  -11939514.92249  -9287943.95745  23326948.2634   23326956.5644
+     -3657.5334      -2850.0304
+  20102863.9974  -25665872.31149 -19981481.97448  20102864.1214   20102870.0394
+       104.5384         81.4624
+  22176429.4174  -17872007.03349 -13912783.87747  22176429.3714   22176434.5294
+      2514.5994       1959.4334
+  23365974.9214   -2485770.74949  -1915223.10346  23365974.0904   23365982.3134
+      2715.2384       2115.7784
+  24581706.4264   -5318099.09849  -4117266.54445  24581707.0424   24581719.9214
+      2741.2034       2135.9904
+  24953830.8204   -1655789.86549   -992285.06445  24953828.9424   24953836.2374
+      1717.5764       1338.3754
+  24135973.3874   -1734577.83849  -1136176.63045  24135972.2864   24135979.3094
+     -3031.5964      -2362.2744
+  20432240.2664  -23303375.31449 -17704978.69848  20432239.8564   20432247.1504
+      -486.3434       -378.9664
+ 05  1 20 19 42 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24545642.7104    1386769.32749   1095119.52045  24545644.2344   24545655.1414
+     -2102.5864      -1638.3824
+  21005863.0734  -21923318.94849 -17038411.80948  21005862.7234   21005869.5194
+      -960.7374       -748.6264
+  23347846.2484  -11829699.18449  -9202373.35546  23347845.8634   23347853.6894
+     -3663.5344      -2854.6974
+  20102305.1704  -25668811.15549 -19983771.98948  20102304.9244   20102310.8944
+        91.4624         71.2704
+  22162098.9214  -17947314.08649 -13971464.65347  22162098.3254   22162104.2784
+      2505.7984       1952.5694
+  23350509.5634   -2567043.82349  -1978552.71346  23350508.5474   23350516.7454
+      2702.9844       2106.2094
+  24566073.1264   -5400269.36149  -4181295.21445  24566072.1624   24566082.4124
+      2736.6484       2132.4514
+  24944053.0224   -1707152.83449  -1032308.16145  24944053.9014   24944061.3464
+      1706.6014       1329.8154
+  24153307.1154   -1643475.36449  -1065187.72345  24153305.9494   24153316.7844
+     -3041.9334      -2370.3404
+  20435048.7474  -23288616.47749 -17693478.31348  20435048.4224   20435055.8384
+      -497.5694       -387.7174
+ 05  1 20 19 43  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24557679.3214    1450003.27349   1144392.69545  24557679.1474   24557687.9884
+     -2112.9784      -1646.4744
+  21011376.7664  -21894345.97949 -17015835.48648  21011375.7444   21011382.9474
+      -970.6894       -756.3844
+  23368779.1784  -11719703.95749  -9116662.91546  23368777.8404   23368784.6824
+     -3669.4854      -2859.3294
+  20101819.6034  -25671358.76149 -19985757.13748  20101820.0024   20101826.2154
+        78.4454         61.1264
+  22147818.2194  -18022357.26949 -14029939.82247  22147818.5314   22147823.7744
+      2497.0194       1945.7254
+  23335111.1724   -2647949.02449  -2041595.68046  23335112.9544   23335120.7674
+      2690.6484       2096.6064
+  24550463.3424   -5482305.52149  -4245219.37545  24550461.8564   24550469.4914
+      2732.2404       2129.0144
+  24934346.7594   -1758186.15549  -1072074.37245  24934345.5774   24934350.3734
+      1695.6294       1321.2684
+  24170704.4614   -1552063.12849   -993957.47845  24170702.2764   24170711.6424
+     -3052.2324      -2378.3584
+  20437921.0794  -23273521.59149 -17681716.07048  20437920.9374   20437928.0454
+      -508.7494       -396.4274
+ 05  1 20 19 43 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24569769.6464    1513546.46049   1193906.82045  24569769.8584   24569778.3824
+     -2123.1984      -1654.4364
+  21016946.3494  -21865074.83849 -16993026.80848  21016945.6304   21016953.3484
+      -980.6374       -764.1324
+  23389742.1224  -11609531.84749  -9030814.63746  23389742.0404   23389749.0824
+     -3675.2784      -2863.8474
+  20101409.0714  -25673516.08749 -19987438.17548  20101409.3904   20101415.6694
+        65.4664         51.0154
+  22133589.9574  -18097135.91449 -14088208.86247  22133588.7104   22133593.0384
+      2488.2204       1938.8764
+  23319789.3374   -2728484.04949  -2104350.17446  23319787.6474   23319795.6444
+      2678.2974       2086.9834
+  24534877.0024   -5564207.25249  -4309038.76345  24534876.8424   24534884.0644
+      2727.7954       2125.5504
+  24924694.2164   -1808887.09749  -1111581.53745  24924695.4924   24924702.1774
+      1684.4344       1312.5414
+  24188158.1494   -1460343.85549   -922487.94345  24188157.6904   24188164.7234
+     -3062.3924      -2386.2764
+  20440857.4954  -23258092.35949 -17669693.29748  20440857.2744   20440864.0184
+      -519.8844       -405.1034
+ 05  1 20 19 44  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24581917.8204    1577395.88349   1243659.58145  24581919.3004   24581928.8764
+     -2133.3584      -1662.3524
+  21022573.7394  -21835505.15749 -16969985.51748  21022573.3624   21022580.0674
+      -990.6174       -771.9124
+  23410739.7684  -11499185.51149  -8944830.57346  23410740.5364   23410748.8684
+     -3681.0764      -2868.3694
+  20101073.0464  -25675284.34849 -19988816.04548  20101072.9094   20101079.1664
+        52.5034         40.9124
+  22119408.9184  -18171649.68449 -14146271.49247  22119409.3434   22119413.5674
+      2479.3674       1931.9754
+  23304533.2274   -2808646.32449  -2166814.22346  23304532.2024   23304541.3354
+      2665.8504       2077.2844
+  24519315.4144   -5645973.95049  -4372752.92145  24519314.5084   24519323.3314
+      2723.2784       2122.0314
+  24915110.1224   -1859252.87849  -1150827.53245  24915109.7304   24915119.5014
+      1673.2134       1303.8014
+  24205666.0794   -1368320.04949   -850781.15645  24205667.5104   24205677.7204
+     -3072.5914      -2394.2274
+  20443856.6974  -23242329.95849 -17657410.90148  20443856.4694   20443863.6044
+      -530.9604       -413.7334
+ 05  1 20 19 44 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24594128.4614    1641548.58149   1293648.65245  24594127.9144   24594135.3484
+     -2143.4284      -1670.2014
+  21028257.7854  -21805636.42849 -16946711.19848  21028257.1094   21028263.8314
+     -1000.5544       -779.6524
+  23431770.6724  -11388667.38049  -8858712.64045  23431770.9024   23431779.7604
+     -3686.7454      -2872.7924
+  20100810.2404  -25676664.16349 -19989891.22848  20100810.3204   20100816.4704
+        39.5974         30.8564
+  22105280.4674  -18245897.94549 -14204127.23747  22105280.4374   22105284.5654
+      2470.5104       1925.0764
+  23289349.6914   -2888433.38249  -2228985.88446  23289349.6524   23289357.6244
+      2653.2804       2067.4914
+  24503778.6484   -5727605.20249  -4436361.55945  24503779.4204   24503790.0454
+      2718.7804       2118.5274
+  24905592.4654   -1909281.20949  -1189810.59545  24905591.1214   24905597.9524
+      1661.9314       1295.0064
+  24223239.8414   -1275994.58349   -778839.33345  24223237.7194   24223245.7204
+     -3082.4884      -2401.9414
+  20446919.1054  -23226235.87949 -17644870.06748  20446918.9904   20446926.0514
+      -541.9664       -422.3114
+ 05  1 20 19 45  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24606394.5184    1706001.73349   1343871.87845  24606393.5414   24606403.3214
+     -2153.4064      -1677.9774
+  21033997.8464  -21775468.01549 -16923203.36348  21033997.5044   21034004.4984
+     -1010.5674       -787.4544
+  23452834.9784  -11277980.05549  -8772462.90845  23452832.7704   23452842.9204
+     -3692.4134      -2877.1904
+  20100621.6704  -25677656.80149 -19990664.71548  20100621.5614   20100627.4554
+        26.6784         20.7904
+  22091203.0114  -18319880.15449 -14261775.66547  22091201.7954   22091206.4004
+      2461.6224       1918.1464
+  23274239.6084   -2967842.66749  -2290863.20446  23274238.4244   23274246.6404
+      2640.6584       2057.6554
+  24488273.3554   -5809100.28449  -4499864.08145  24488273.4844   24488281.1524
+      2714.2224       2114.9744
+  24896135.8654   -1958969.35649  -1228528.55645  24896135.6624   24896141.0284
+      1650.6104       1286.1874
+  24240863.6434   -1183369.99749   -706664.35145  24240863.5794   24240872.1154
+     -3092.4574      -2409.7054
+  20450044.9944  -23209811.35049 -17632071.73648  20450044.6914   20450051.6924
+      -552.9864       -430.8954
+ 05  1 20 19 45 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24618717.3384    1770752.36449   1394326.86845  24618716.8294   24618724.3114
+     -2163.2394      -1685.6464
+  21039796.9354  -21744999.61849 -16899461.76348  21039795.8614   21039803.2324
+     -1020.5754       -795.2494
+  23473929.6104  -11167126.11949  -8686083.32245  23473929.9124   23473937.8274
+     -3697.8524      -2881.4424
+  20100505.7454  -25678263.22349 -19991137.24848  20100505.9704   20100512.2944
+        13.8194         10.7744
+  22077173.6774  -18393595.77049 -14319216.36847  22077173.5674   22077179.5864
+      2452.7304       1911.2194
+  23259198.5084   -3046871.97049  -2352444.43846  23259199.1524   23259207.9544
+      2627.9424       2047.7484
+  24472792.4024   -5890458.74849  -4563260.10946  24472791.2494   24472801.2364
+      2709.6684       2111.4314
+  24886746.0594   -2008314.73249  -1266979.38545  24886745.6844   24886754.0494
+      1639.2094       1277.3054
+  24258546.0014   -1090448.91149   -634258.33745  24258545.0964   24258553.8074
+     -3102.2794      -2417.3604
+  20453233.1634  -23193057.64649 -17619016.90348  20453232.8784   20453239.7454
+      -563.9124       -439.4104
+ 05  1 20 19 46  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24631089.7984    1835797.27249   1445011.18745  24631091.6784   24631101.7064
+     -2173.0374      -1693.2754
+  21045651.2114  -21714230.67949 -16875485.98348  21045650.6154   21045657.9314
+     -1030.5854       -803.0524
+  23495055.1584  -11056108.19949  -8599575.95445  23495054.9524   23495062.7634
+     -3703.3394      -2885.7094
+  20100463.8884  -25678484.46749 -19991309.64848  20100464.0864   20100469.9854
+         1.0084           .7824
+  22063197.6514  -18467044.12049 -14376448.80647  22063196.8794   22063202.2924
+      2443.8004       1904.2604
+  23244235.5954   -3125518.83549  -2413727.65946  23244233.5684   23244242.0284
+      2615.1754       2037.7994
+  24457338.3584   -5971680.40349  -4626549.57646  24457335.4634   24457344.5754
+      2705.1064       2107.8704
+  24877421.8804   -2057314.70349  -1305161.10245  24877421.3964   24877427.5264
+      1627.5614       1268.2224
+  24276284.5914    -997234.22049   -561623.54245  24276283.9454   24276292.6114
+     -3112.0164      -2424.9424
+  20456483.9664  -23175976.42549 -17605706.85948  20456483.3504   20456490.3474
+      -574.8174       -447.9094
+ 05  1 20 19 46 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24643524.5284    1901133.33849   1495922.38145  24643525.8334   24643533.8904
+     -2182.6924      -1700.8034
+  21051563.9364  -21683160.58349 -16851275.52748  21051563.0554   21051570.4724
+     -1040.6584       -810.9034
+  23516210.5014  -10944928.94649  -8512942.86845  23516212.1924   23516219.7684
+     -3708.6824      -2889.8864
+  20100495.2084  -25678321.57649 -19991182.71348  20100495.0494   20100501.2814
+       -11.7924         -9.1914
+  22049271.3854  -18540224.75849 -14433472.65547  22049271.1014   22049276.2434
+      2434.8714       1897.2954
+  23229342.8854   -3203780.69049  -2474710.87646  23229341.5014   23229349.2524
+      2602.2794       2027.7494
+  24441902.5324   -6052764.62749  -4689731.92745  24441903.6284   24441913.4064
+      2700.4414       2104.2374
+  24868163.2314   -2105966.56049  -1343071.52445  24868163.1594   24868171.0484
+      1615.8814       1259.1274
+  24294077.9874    -903728.43949   -488761.90845  24294076.7584   24294086.3404
+     -3121.6824      -2432.4744
+  20459796.0694  -23158568.83649 -17592142.51148  20459795.8554   20459802.8194
+      -585.6804       -456.3764
+ 05  1 20 19 47  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24656013.6584    1966757.59649   1547058.06745  24656014.4414   24656020.7034
+     -2192.2334      -1708.2374
+  21057533.8504  -21651789.13549 -16826830.25848  21057532.8614   21057539.9264
+     -1050.6694       -818.6984
+  23537399.6624  -10833590.85849  -8426186.04045  23537399.3514   23537407.9824
+     -3713.8864      -2893.9344
+  20100598.6104  -25677775.73049 -19990757.37748  20100598.9144   20100604.9494
+       -24.5584        -19.1364
+  22035397.1614  -18613137.40949 -14490287.65447  22035396.6664   22035401.5284
+      2425.9184       1890.3184
+  23214522.4134   -3281655.05049  -2535392.12546  23214521.3354   23214529.8614
+      2589.3074       2017.6404
+  24426502.3584   -6133710.80749  -4752806.73646  24426500.4654   24426511.5594
+      2695.8704       2100.6684
+  24858972.4164   -2154268.04149  -1380709.02145  24858969.6754   24858979.3504
+      1604.1434       1249.9844
+  24311927.2734    -809934.41749   -415675.68645  24311927.2254   24311934.2174
+     -3131.2254      -2439.9154
+  20463170.8014  -23140836.19249 -17578324.86948  20463170.3444   20463177.3194
+      -596.4854       -464.7924
+ 05  1 20 19 47 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24668555.7244    2032666.93949   1598415.97145  24668554.0454   24668563.7874
+     -2201.7504      -1715.6564
+  21063560.8684  -21620115.73849 -16802149.70248  21063560.4854   21063567.4154
+     -1060.7894       -826.5834
+  23558617.5424  -10722096.43549  -8339307.38145  23558616.4464   23558623.8514
+     -3719.0584      -2897.9634
+  20100774.9944  -25676847.87249 -19990034.36748  20100775.3114   20100781.5424
+       -37.2514        -29.0234
+  22021572.9934  -18685781.18449 -14546893.16547  22021572.9654   22021577.8224
+      2416.9834       1883.3604
+  23199778.6454   -3359139.67249  -2595769.69046  23199776.6034   23199784.9904
+      2576.3054       2007.5194
+  24411121.9524   -6214518.40549  -4815773.57245  24411122.6784   24411134.5434
+      2691.2574       2097.0824
+  24849848.3344   -2202216.57749  -1418071.39445  24849848.0924   24849853.0654
+      1592.3984       1240.8284
+  24329828.6374    -715854.73849   -342366.87645  24329827.4614   24329837.1154
+     -3140.7174      -2447.3134
+  20466606.7174  -23122780.05049 -17564255.14848  20466606.2174   20466613.3364
+      -607.2634       -473.1914
+ 05  1 20 19 48  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24681151.2134    2098858.46849   1649993.75745  24681150.9814   24681158.6374
+     -2211.0754      -1722.9164
+  21069645.6534  -21588139.84749 -16777233.42748  21069645.1374   21069652.3214
+     -1070.8884       -834.4574
+  23579863.6464  -10610448.40749  -8252308.99846  23579863.0684   23579870.8014
+     -3724.1424      -2901.9234
+  20101024.3244  -25675539.06949 -19989014.51748  20101024.3364   20101030.6194
+       -49.9204        -38.9004
+  22007800.8704  -18758155.84549 -14603288.96847  22007800.2894   22007805.5334
+      2407.9834       1876.3444
+  23185106.5564   -3436231.96649  -2655841.56446  23185106.7574   23185114.2264
+      2563.1624       1997.2614
+  24395774.6384   -6295187.21149  -4878632.23846  24395773.2074   24395781.7174
+      2686.5954       2093.4434
+  24840788.2174   -2249809.60649  -1455156.72545  24840788.4524   24840795.9434
+      1580.5014       1231.5524
+  24347787.4404    -621492.27749   -268837.65845  24347785.1844   24347792.6434
+     -3150.1064      -2454.6294
+  20470103.6164  -23104401.66849 -17549934.33448  20470103.4624   20470110.4464
+      -617.9834       -481.5454
+ 05  1 20 19 48 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24693802.9424    2165329.21249   1701789.09345  24693801.2404   24693809.7274
+     -2220.3094      -1730.1104
+  21075788.0224  -21555861.11249 -16752081.18048  21075787.3834   21075794.3214
+     -1080.9744       -842.3134
+  23601138.1704  -10498649.41049  -8165193.01945  23601136.9834   23601145.1924
+     -3729.1434      -2905.8124
+  20101345.4934  -25673850.19149 -19987698.50848  20101345.7674   20101352.0514
+       -62.5824        -48.7644
+  21994078.9854  -18830260.93249 -14659474.72647  21994078.7524   21994084.5044
+      2398.9724       1869.3274
+  23170510.6814   -3512929.60449  -2715605.88846  23170511.3064   23170519.7334
+      2549.9424       1986.9684
+  24380450.2754   -6375716.49249  -4941382.17746  24380449.7034   24380457.7844
+      2681.9594       2089.8334
+  24831801.7204   -2297044.34349  -1491962.87645  24831801.5834   24831808.3164
+      1568.4744       1222.1854
+  24365795.3394    -526849.39749   -195089.96545  24365795.1834   24365802.4924
+     -3159.4244      -2461.8854
+  20473662.1134  -23085702.13049 -17535363.26948  20473661.8194   20473669.0254
+      -628.6674       -489.8674
+ 05  1 20 19 49  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24706504.2514    2232076.09049   1753799.58045  24706502.1744   24706509.3654
+     -2229.4364      -1737.2254
+  21081987.8594  -21523279.02749 -16726692.55148  21081987.3954   21081994.5074
+     -1091.0774       -850.1914
+  23622442.0164  -10386702.00449  -8077961.36245  23622440.4004   23622448.4054
+     -3734.0514      -2909.6504
+  20101739.2044  -25671782.73449 -19986087.50148  20101739.2914   20101745.4014
+       -75.1754        -58.5804
+  21980409.1424  -18902095.59349 -14715449.75447  21980409.3524   21980414.5134
+      2389.9814       1862.3194
+  23155990.5544   -3589230.03749  -2775060.71746  23155990.9684   23156000.5584
+      2536.7024       1976.6544
+  24365150.8644   -6456106.11049  -5004023.29446  24365150.8974   24365160.6224
+      2677.2434       2086.1594
+  24822881.3804   -2343918.45849  -1528488.02045  24822881.9084   24822889.9854
+      1556.4544       1212.8164
+  24383857.7204    -431929.03749   -121126.01445  24383858.1844   24383867.0794
+     -3168.6114      -2469.0464
+  20477281.2224  -23066683.02849 -17520543.19048  20477281.1904   20477288.2624
+      -639.2764       -498.1394
+ 05  1 20 19 49 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24719254.9384    2299096.17449   1806022.95745  24719254.1374   24719265.3534
+     -2238.5564      -1744.3284
+  21088246.5254  -21490393.15749 -16701067.20648  21088245.7744   21088252.7424
+     -1101.2104       -858.0864
+  23643773.3464  -10274608.62849  -7990615.99345  23643770.9854   23643779.9364
+     -3738.8894      -2913.4034
+  20102205.0224  -25669337.42249 -19984182.06048  20102204.6604   20102210.7234
+       -87.7594        -68.3844
+  21966792.5464  -18973659.35949 -14771213.69347  21966792.0284   21966796.2054
+      2380.9364       1855.2734
+  23141545.9864   -3665130.99549  -2834204.24446  23141547.3264   23141556.5384
+      2523.3354       1966.2324
+  24349879.9634   -6536355.28849  -5066554.99245  24349878.5294   24349888.0984
+      2672.6104       2082.5484
+  24814033.9844   -2390429.32149  -1564730.08845  24814030.3204   24814036.2794
+      1544.2724       1203.3264
+  24401974.2104    -336734.08349    -46948.10545  24401973.2894   24401979.9884
+     -3177.7364      -2476.1614
+  20480960.9564  -23047345.84949 -17505475.25348  20480960.7704   20480967.8874
+      -649.8804       -506.3994
+ 05  1 20 19 50  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24732058.7054    2366386.37149   1858456.84545  24732059.8004   24732070.3954
+     -2247.4384      -1751.2434
+  21094562.1834  -21457202.97949 -16675204.73548  21094561.5884   21094568.9054
+     -1111.3364       -865.9744
+  23665129.7314  -10162372.01349  -7903158.99245  23665129.5694   23665137.0864
+     -3743.5704      -2917.0694
+  20102741.1754  -25666515.61549 -19981983.24848  20102741.5904   20102747.5814
+      -100.2874        -78.1474
+  21953224.9694  -19044952.09349 -14826766.45447  21953224.3914   21953229.4354
+      2371.8694       1848.2104
+  23127184.0524   -3740630.09949  -2893034.67046  23127181.2074   23127189.1154
+      2509.9124       1955.7694
+  24334636.1824   -6616463.77749  -5128977.03945  24334634.3204   24334643.6364
+      2667.9204       2078.8904
+  24805248.3164   -2436574.61649  -1600687.24445  24805249.2444   24805254.6294
+      1532.0504       1193.8004
+  24420140.6874    -241266.94049     27441.91745  24420139.8024   24420146.4864
+     -3186.6944      -2483.1384
+  20484700.8484  -23027692.00549 -17490160.57348  20484700.9004   20484708.0004
+      -660.3764       -514.5774
+ 05  1 20 19 50 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24744917.8324    2433943.32349   1911098.62645  24744917.1584   24744926.7224
+     -2256.3244      -1758.1764
+  21100935.9784  -21423708.14949 -16649104.88648  21100935.0934   21100942.5894
+     -1121.5414       -873.9244
+  23686514.9844  -10049994.72349  -7815592.37545  23686514.1614   23686522.7424
+     -3748.1864      -2920.6584
+  20103349.9134  -25663318.17049 -19979491.73448  20103350.0264   20103356.0664
+      -112.7794        -87.8794
+  21939709.5094  -19115973.24449 -14882107.57547  21939709.3544   21939714.9434
+      2362.8424       1841.1724
+  23112890.5664   -3815724.88949  -2951550.04246  23112891.3764   23112899.5554
+      2496.3914       1945.2394
+  24319417.5914   -6696430.92549  -5191288.98346  24319417.1614   24319428.1904
+      2663.2454       2075.2544
+  24796539.4264   -2482351.69649  -1636357.49945  24796538.7624   24796545.6854
+      1519.7834       1184.2414
+  24438356.1074    -145530.39549    102041.80945  24438357.8914   24438365.5904
+     -3195.6594      -2490.1244
+  20488501.1664  -23007722.70849 -17474600.07848  20488500.8544   20488507.8544
+      -670.8804       -522.7634
+ 05  1 20 19 51  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24757821.6914    2501763.92149   1963945.77945  24757820.8284   24757830.7394
+     -2265.0394      -1764.9654
+  21107368.1414  -21389908.32449 -16622767.36348  21107367.4924   21107374.7024
+     -1131.7104       -881.8554
+  23707923.9724   -9937479.31349  -7727918.17445  23707924.8474   23707931.6424
+     -3752.7724      -2924.2324
+  20104029.5604  -25659746.29849 -19976708.45748  20104029.6514   20104035.6194
+      -125.2454        -97.5914
+  21926247.2464  -19186722.26749 -14937236.68047  21926246.9194   21926251.5604
+      2353.7454       1834.0834
+  23098677.5454   -3890412.95449  -3009748.48546  23098678.1094   23098686.5294
+      2482.7654       1934.6184
+  24304229.4844   -6776256.69849  -5253490.75146  24304228.6434   24304238.4124
+      2658.5214       2071.5664
+  24787895.7484   -2527758.14649  -1671738.91245  24787895.8804   24787905.1224
+      1507.3104       1174.5224
+  24456626.9084     -49527.19749    176849.53045  24456625.2464   24456634.4904
+     -3204.5274      -2497.0344
+  20492361.1384  -22987439.34149 -17458794.86048  20492360.7594   20492367.7464
+      -681.3444       -530.9184
+ 05  1 20 19 51 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24770776.2824    2569845.24649   2016996.09345  24770776.9834   24770784.0324
+     -2273.6744      -1771.6884
+  21113858.1204  -21355803.00349 -16596191.80748  21113857.7064   21113864.0894
+     -1141.8674       -889.7674
+  23729362.5104   -9824828.43849  -7640138.38045  23729362.1714   23729370.7194
+     -3757.2464      -2927.7054
+  20104780.2104  -25655801.07549 -19973634.25648  20104780.3554   20104786.3674
+      -137.7014       -107.2984
+  21912835.2154  -19257198.51049 -14992153.21747  21912835.5394   21912841.0074
+      2344.6284       1826.9904
+  23084543.3924   -3964691.98149  -3067628.17546  23084543.4694   23084551.8384
+      2469.1444       1924.0124
+  24289064.3324   -6855940.49149  -5315581.87846  24289063.7354   24289074.6894
+      2653.7084       2067.8254
+  24779329.6024   -2572791.88249  -1706829.89145  24779327.9924   24779332.8314
+      1494.8534       1164.8124
+  24474946.5094      46739.89849    251862.85945  24474945.1074   24474954.6554
+     -3213.2734      -2503.8514
+  20496280.1784  -22966843.18349 -17442745.90348  20496280.1264   20496286.9054
+      -691.7504       -539.0284
+ 05  1 20 19 52  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24783782.0104    2638184.56149   2070247.43645  24783780.9014   24783791.9304
+     -2282.2864      -1778.4054
+  21120405.9104  -21321391.80449 -16569377.89348  21120405.4984   21120412.8874
+     -1152.1014       -897.7374
+  23750823.3124   -9712044.82049  -7552255.13945  23750823.9214   23750832.0674
+     -3761.6304      -2931.1274
+  20105601.7924  -25651483.49149 -19970269.90648  20105602.0904   20105608.0724
+      -150.0924       -116.9554
+  21899476.3494  -19327401.78049 -15046857.04547  21899476.2834   21899481.0424
+      2335.5374       1819.9024
+  23070488.0324   -4038559.93549  -3125187.57846  23070486.4944   23070495.4574
+      2455.3724       1913.2774
+  24273928.6644   -6935481.42249  -5377561.74046  24273928.6024   24273937.2704
+      2649.0494       2064.1904
+  24770829.4394   -2617449.99249  -1741628.18745  24770828.9154   24770836.0294
+      1482.3174       1155.0474
+  24493315.9434     143268.42749    327079.95545  24493315.7184   24493322.3344
+     -3221.9334      -2510.5974
+  20500258.5684  -22945935.67649 -17426454.33848  20500258.5974   20500265.8964
+      -702.1054       -547.0924
+ 05  1 20 19 52 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24796834.6084    2706778.67849   2123697.31145  24796834.7104   24796843.4934
+     -2290.6204      -1784.8844
+  21127012.8944  -21286674.28049 -16542325.28648  21127011.9674   21127019.0764
+     -1162.3094       -905.6954
+  23772311.3164   -9599130.89049  -7464270.41845  23772310.6174   23772318.7784
+     -3765.9704      -2934.5094
+  20106493.7974  -25646794.76149 -19966616.34448  20106494.1394   20106500.2084
+      -162.4234       -126.5654
+  21886169.9644  -19397331.51449 -15101347.74247  21886169.4764   21886174.2224
+      2326.4274       1812.7964
+  23056509.4884   -4112014.09749  -3182424.54646  23056508.4804   23056517.0314
+      2441.5204       1902.4814
+  24258821.9254   -7014879.73549  -5439430.42146  24258819.4184   24258828.0234
+      2644.1914       2060.4104
+  24762403.6294   -2661730.15949  -1776132.00645  24762403.5364   24762409.1604
+      1469.7234       1145.2374
+  24511733.8484     240055.47349    402498.43745  24511732.5534   24511741.4354
+     -3230.4974      -2517.2714
+  20504296.3274  -22924718.21349 -17409921.24748  20504295.8714   20504302.9444
+      -712.4224       -555.1394
+ 05  1 20 19 53  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24809935.3484    2775624.23749   2177343.16545  24809936.0284   24809944.5324
+     -2299.0614      -1791.4744
+  21133677.9644  -21251650.08849 -16515033.71448  21133677.0594   21133684.1694
+     -1172.5304       -913.6624
+  23793822.7174   -9486089.18149  -7376186.07645  23793821.8524   23793830.3994
+     -3770.1754      -2937.7984
+  20107457.0994  -25641736.21049 -19962674.61248  20107456.9354   20107462.8264
+      -174.7724       -136.1854
+  21872913.3564  -19466987.37649 -15155625.02647  21872913.8744   21872918.7794
+      2317.2754       1805.6664
+  23042608.7614   -4185052.33649  -3239337.43646  23042609.4324   23042617.8094
+      2427.6034       1891.6474
+  24243738.8474   -7094134.70549  -5501187.42746  24243738.0174   24243746.6914
+      2639.4114       2056.6824
+  24754050.3174   -2705630.09249  -1810339.53245  24754049.2304   24754053.0634
+      1457.0074       1135.3214
+  24530198.2014     337098.45149    478116.35845  24530199.6874   24530207.2124
+     -3238.9704      -2523.8724
+  20508392.3144  -22903192.05349 -17393147.61848  20508392.2924   20508399.4694
+      -722.6834       -563.1294
+ 05  1 20 19 53 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24823083.0624    2844718.08649   2231182.48045  24823083.2234   24823095.0374
+     -2307.2124      -1797.8234
+  21140400.2764  -21216318.70849 -16487502.77348  21140399.7774   21140407.5704
+     -1182.7954       -921.6614
+  23815358.3194   -9372922.45949  -7288004.33645  23815357.6644   23815363.5104
+     -3774.2774      -2940.9844
+  20108489.5524  -25636308.71149 -19958445.39148  20108489.9664   20108495.7844
+      -187.0304       -145.7384
+  21859711.8434  -19536368.73449 -15209688.41647  21859711.2954   21859715.6944
+      2308.0984       1798.5174
+  23028791.8374   -4257672.12749  -3295924.23746  23028791.6184   23028799.4334
+      2413.6744       1880.7784
+  24228681.5804   -7173246.02849  -5562832.48946  24228682.2964   24228691.3934
+      2634.5724       2052.9074
+  24745768.9394   -2749147.16249  -1844248.80245  24745768.5974   24745775.3574
+      1444.1904       1125.3424
+  24548716.4734     434394.70949    553931.65945  24548712.0244   24548721.7174
+     -3247.4124      -2530.4584
+  20512546.4884  -22881358.70249 -17376134.61848  20512547.0434   20512554.2184
+      -732.8824       -571.0794
+ 05  1 20 19 54  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24836278.5534    2914057.29149   2285213.04145  24836276.9364   24836288.9164
+     -2315.3904      -1804.2074
+  21147183.3514  -21180679.88349 -16459732.27848  21147182.2434   21147189.0874
+     -1193.0504       -929.6494
+  23836916.3164   -9259633.24449  -7199727.13045  23836915.9094   23836922.6354
+     -3778.3414      -2944.1594
+  20109592.3414  -25630513.38749 -19953929.55048  20109592.6014   20109598.7284
+      -199.2604       -155.2674
+  21846561.3674  -19605475.24349 -15263537.62247  21846561.1834   21846564.9964
+      2298.9594       1791.3944
+  23015053.1304   -4329871.15349  -3352183.19046  23015051.2514   23015059.9134
+      2399.5974       1869.8124
+  24213657.5064   -7252213.22649  -5624365.24746  24213655.7364   24213663.4184
+      2629.7784       2049.1744
+  24737559.1864   -2792279.16449  -1877857.97345  24737559.0864   24737567.3894
+      1431.2664       1115.2684
+  24567279.3014     531941.22449    629941.95145  24567277.5494   24567283.0214
+     -3255.7344      -2536.9394
+  20516760.6964  -22859219.75049 -17358883.49248  20516760.1164   20516767.2954
+      -743.0514       -579.0014
+ 05  1 20 19 54 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24849518.4334    2983638.95149   2339432.47445  24849519.2154   24849530.7974
+     -2323.3684      -1810.4184
+  21154023.5774  -21144733.13349 -16431721.84048  21154022.9774   21154029.6184
+     -1203.3174       -937.6474
+  23858497.5744   -9146223.98849  -7111356.40245  23858496.1304   23858505.1434
+     -3782.3144      -2947.2514
+  20110764.9214  -25624351.57049 -19949128.13448  20110765.2204   20110771.2294
+      -211.4794       -164.7884
+  21833462.9824  -19674306.36649 -15317172.24947  21833462.6764   21833466.7044
+      2289.7474       1784.2164
+  23001391.9944   -4401647.22449  -3408112.54246  23001391.8464   23001401.5144
+      2385.4684       1858.8044
+  24198657.6324   -7331036.03949  -5685785.53046  24198656.9574   24198666.1154
+      2624.9814       2045.4374
+  24729427.3734   -2835023.69249  -1911165.33345  24729426.5834   24729431.7094
+      1418.3774       1105.2254
+  24585886.2794     629735.69849    706145.48345  24585886.5134   24585894.6154
+     -3263.9014      -2543.2904
+  20521031.5744  -22836776.29349 -17341395.08548  20521030.7574   20521037.9914
+      -753.1854       -586.8924
+ 05  1 20 19 55  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24862805.9744    3053459.73549   2393838.22645  24862807.0064   24862815.8994
+     -2331.3214      -1816.6084
+  21160922.2614  -21108478.11249 -16403471.17248  21160921.7814   21160929.1354
+     -1213.6144       -945.6714
+  23880098.4604   -9032697.50349  -7022894.32045  23880098.3234   23880107.5564
+     -3786.1194      -2950.2234
+  20112006.8164  -25617824.37449 -19944042.00148  20112007.1304   20112013.3894
+      -223.6074       -174.2334
+  21820417.2824  -19742861.75049 -15370592.01347  21820416.6974   21820421.5894
+      2280.5744       1777.0734
+  22987815.7654   -4472997.97149  -3463710.47546  22987815.0144   22987824.3684
+      2371.2394       1847.7244
+  24183684.2444   -7409713.96549  -5747092.87346  24183683.3334   24183693.4314
+      2620.1424       2041.6714
+  24721366.2124   -2877378.40849  -1944168.87345  24721367.0324   24721371.7214
+      1405.3044       1095.0374
+  24604545.5324     727775.16949    782539.94445  24604542.8544   24604548.8534
+     -3272.0694      -2549.6604
+  20525359.4654  -22814029.71749 -17323670.48648  20525359.3574   20525366.6614
+      -763.2524       -594.7374
+ 05  1 20 19 55 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24876141.6414    3123516.63849   2448427.90145  24876140.4974   24876146.9744
+     -2339.1204      -1822.6904
+  21167880.1744  -21071914.46549 -16374980.03148  21167879.5784   21167886.4404
+     -1223.9034       -953.6844
+  23901724.2794   -8919056.26549  -6934342.86845  23901724.4924   23901731.7104
+     -3789.8694      -2953.1514
+  20113318.1914  -25610932.71049 -19938671.87248  20113318.4904   20113324.9354
+      -235.7334       -183.6874
+  21807424.5624  -19811140.80649 -15423796.46047  21807424.0374   21807428.7164
+      2271.3674       1769.8994
+  22974317.8634   -4543921.20149  -3518975.29046  22974319.0374   22974327.3344
+      2356.9574       1836.5924
+  24168740.0054   -7488246.51449  -5808286.97046  24168739.5794   24168749.1864
+      2615.2664       2037.8764
+  24713381.5544   -2919340.79449  -1976866.72345  24713380.6064   24713386.5634
+      1392.1754       1084.8104
+  24623244.2474     826056.98748    859123.14645  24623242.3794   24623251.9374
+     -3280.0664      -2555.9004
+  20529745.3044  -22790981.45449 -17305710.80448  20529745.1024   20529752.4354
+      -773.2914       -602.5604
+ 05  1 20 19 56  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24889513.4924    3193806.56849   2503199.17345  24889513.9774   24889521.2904
+     -2346.8684      -1828.7244
+  21174897.2964  -21035041.85149 -16346248.13148  21174896.3374   21174903.3464
+     -1234.1894       -961.7044
+  23923370.7034   -8805302.90249  -6845703.99645  23923371.8444   23923380.2904
+     -3793.5904      -2956.0444
+  20114698.7744  -25603677.92449 -19933018.79248  20114699.0704   20114705.5204
+      -247.8094       -193.0954
+  21794484.0504  -19879143.21749 -15476785.34547  21794483.4634   21794488.2864
+      2262.1064       1762.6774
+  22960906.2804   -4614414.68149  -3573905.22946  22960905.0144   22960913.1664
+      2342.5874       1825.3964
+  24153823.1154   -7566633.02749  -5869367.27646  24153823.2834   24153831.7274
+      2610.3864       2034.0754
+  24705470.5754   -2960908.72149  -2009257.24645  24705470.7414   24705478.4974
+      1378.9934       1074.5404
+  24641995.7194     924578.49048    935893.09544  24641990.9854   24642000.0444
+     -3287.9584      -2562.0484
+  20534188.3324  -22767633.01549 -17287517.22048  20534188.3394   20534195.5574
+      -783.2604       -610.3274
+ 05  1 20 19 56 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24902932.9164    3264326.33949   2558149.64945  24902932.4084   24902943.6454
+     -2354.3534      -1834.5664
+  21181972.4014  -20997859.91649 -16317275.20348  21181971.9994   21181979.0044
+     -1244.4834       -969.7284
+  23945037.5844   -8691440.10449  -6756979.84745  23945039.3944   23945047.6234
+     -3797.1624      -2958.8144
+  20116148.7054  -25596061.04949 -19927083.56648  20116148.6254   20116154.8264
+      -259.8694       -202.4944
+  21781595.1114  -19946868.83849 -15529558.54447  21781595.4584   21781600.3064
+      2252.8924       1755.5034
+  22947573.4834   -4684476.03449  -3628498.44546  22947573.3134   22947581.6274
+      2328.1534       1814.1404
+  24138934.6094   -7644873.81149  -5930334.02946  24138935.1374   24138943.1474
+      2605.6134       2030.3434
+  24697633.7674   -3002079.91049  -2041338.58245  24697634.2854   24697641.9614
+      1365.7824       1064.2444
+  24660785.2364    1023337.02358   1012847.75454  24660787.9584   24660794.3324
+     -3295.7304      -2568.1064
+  20538688.4834  -22743985.55749 -17269090.63548  20538688.3644   20538695.3404
+      -793.2094       -618.0864
+ 05  1 20 19 57  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24916394.2054    3335072.98449   2613276.79945  24916395.1244   24916405.2394
+     -2361.9794      -1840.4994
+  21189106.2794  -20960368.19249 -16288060.87848  21189105.9314   21189113.3294
+     -1254.8344       -977.7904
+  23966728.9844   -8577470.61349  -6668172.56945  23966727.3744   23966733.9734
+     -3800.7484      -2961.6244
+  20117666.9944  -25588083.33049 -19920867.16248  20117666.7374   20117672.7844
+      -271.9064       -211.8744
+  21768761.5394  -20014316.93149 -15582115.47547  21768761.0254   21768765.3834
+      2243.6284       1748.2794
+  22934324.4334   -4754102.88949  -3682753.09246  22934324.2164   22934331.6274
+      2313.6404       1802.8344
+  24124074.2844   -7722968.22349  -5991186.73546  24124073.7314   24124081.3964
+      2600.6444       2026.4794
+  24689881.0724   -3042851.82049  -2073108.84645  24689878.1994   24689881.7404
+      1352.3684       1053.7924
+  24679626.6084    1122329.79858   1089984.94054  24679620.6994   24679629.6954
+     -3303.7134      -2574.3114
+  20543245.2684  -22720040.65149 -17250432.27148  20543245.1444   20543252.1234
+      -803.1084       -625.7914
+ 05  1 20 19 57 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24929900.7684    3406043.28049   2668578.30045  24929900.9964   24929910.5554
+     -2369.3124      -1846.2174
+  21196300.1384  -20922566.38149 -16258604.93848  21196299.7474   21196306.6124
+     -1265.1834       -985.8564
+  23988434.5574   -8463396.51349  -6579283.76045  23988433.9214   23988441.5524
+     -3804.2194      -2964.3174
+  20119253.0614  -25579745.91349 -19914370.47848  20119253.4954   20119259.3494
+      -283.8534       -221.1824
+  21755979.8724  -20081487.25249 -15634455.97047  21755979.0314   21755983.7054
+      2234.3664       1741.0694
+  22921156.7854   -4823292.97449  -3736667.39046  22921156.9844   22921165.2054
+      2299.0324       1791.4424
+  24109240.8854   -7800915.73649  -6051924.97146  24109241.2964   24109250.0474
+      2595.7504       2022.6654
+  24682194.4514   -3083222.12249  -2104566.14545  24682194.4744   24682202.4144
+      1338.9214       1043.3164
+  24698508.0894    1221554.17448   1167302.69844  24698508.2104   24698510.7664
+     -3311.4084      -2580.3214
+  20547858.4264  -22695799.78249 -17231543.28048  20547858.0364   20547865.0064
+      -812.9374       -633.4554
+ 05  1 20 19 58  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G20G24
+  24943451.0424    3477234.11449   2724051.60245  24943450.0004   24943458.4394
+     -2376.6944      -1851.9674
+  21203552.7754  -20884454.19149 -16228907.13748  21203552.2264   21203559.2004
+     -1275.5294       -993.9224
+  24010163.6454   -8349220.79349  -6490315.77145  24010162.8874   24010169.2464
+     -3807.5294      -2966.9034
+  20120907.8094  -25571050.01249 -19907594.44948  20120908.0274   20120913.9264
+      -295.7904       -230.4854
+  21743249.2794  -20148379.29749 -15686579.61847  21743249.2124   21743254.3574
+      2225.0614       1733.8074
+  22908074.1204   -4892044.17949  -3790239.72846  22908074.4844   22908082.2834
+      2284.3824       1780.0424
+  24094437.9564   -7878716.18149  -6112548.61446  24094437.3704   24094446.1104
+      2590.8144       2018.8084
+  24674589.8914   -3123188.46649  -2135708.74945  24674590.4034   24674595.6814
+      1325.4544       1032.8244
+  24717434.8004    1321002.47258   1244794.89854  24717432.3064   24717442.7784
+     -3318.9034      -2586.1474
+  20552526.8014  -22671264.43349 -17212424.83148  20552526.8114   20552533.9184
+      -822.7534       -641.1094
+ 05  1 20 19 58 30.0000000  0  9G 9G 7G28G 4G 2G 5G17G23G24
+  24957039.2504    3548642.27349   2779694.20445  24957038.3654   24957046.0274
+     -2383.8744      -1857.5574
+  21210864.1364  -20846031.25149 -16198967.19848  21210863.9154   21210871.2464
+     -1285.8774      -1001.9824
+  24031909.4004   -8234945.91049  -6401270.50145  24031907.6844   24031914.1644
+     -3810.8544      -2969.4874
+  20122630.9844  -25561996.75449 -19900539.96048  20122630.8914   20122637.0224
+      -307.6814       -239.7494
+  21730573.9184  -20214992.74649 -15738486.18547  21730573.6274   21730577.9164
+      2215.7864       1726.5924
+  22895077.1434   -4960354.35049  -3843468.38046  22895074.7304   22895082.9634
+      2269.5814       1768.5014
+  24079659.3914   -7956368.97149  -6173057.19846  24079658.4914   24079667.6404
+      2585.9354       2015.0164
+  24667062.2414   -3162748.83849  -2166534.89345  24667061.6664   24667067.6814
+      1311.8934       1022.2494
+  20557252.2574  -22646435.60349 -17193077.69048  20557251.9074   20557258.5964
+      -832.4964       -648.6954
+ 05  1 20 19 59  0.0000000  0  9G 9G 7G28G 4G 2G 5G17G23G24
+  24970667.9024    3620264.85549   2835503.95245  24970666.7924   24970676.2284
+     -2390.9604      -1863.0874
+  21218235.5314  -20807297.33549 -16168784.93148  21218234.8884   21218241.8094
+     -1296.2874      -1010.0924
+  24053673.2254   -8120574.57749  -6312150.07845  24053673.9034   24053679.7214
+     -3814.0034      -2971.9514
+  20124421.3814  -25552587.36349 -19893207.96348  20124421.4914   20124427.5444
+      -319.5354       -248.9854
+  21717951.0224  -20281327.25949 -15790175.39247  21717950.5234   21717954.9884
+      2206.4804       1719.3374
+  22882160.6444   -5028221.23949  -3896351.65046  22882160.0964   22882168.8324
+      2254.8024       1756.9894
+  24064908.6224   -8033874.00149  -6233450.68846  24064909.0694   24064919.0444
+      2581.0794       2011.2294
+  24659612.5334   -3201900.77649  -2197042.86545  24659612.1564   24659617.6454
+      1298.2054       1011.5864
+  20562032.2834  -22621314.71549 -17173502.96848  20562032.0874   20562039.1244
+      -842.2174       -656.2724
+ 05  1 20 19 59 30.0000000  0  9G 9G 7G28G 4G 2G 5G17G23G24
+  24984335.9414    3692098.64349   2891478.24545  24984335.0384   24984345.3584
+     -2397.9174      -1868.5054
+  21225665.4844  -20768252.02449 -16138360.03148  21225664.8304   21225672.0504
+     -1306.6794      -1018.1924
+  24075455.5464   -8006109.22349  -6222956.39845  24075456.7754   24075461.0744
+     -3817.0334      -2974.3034
+  20126279.2984  -25542822.86849 -19885599.26248  20126279.3424   20126285.7274
+      -331.3624       -258.2024
+  21705380.8624  -20347382.42849 -15841646.92547  21705380.4444   21705384.3514
+      2197.1664       1712.0774
+  22869330.8414   -5095642.44349  -3948887.59946  22869330.2004   22869338.2194
+      2239.8634       1745.3414
+  24050187.7104   -8111230.78849  -6293728.63546  24050188.8664   24050198.8524
+      2576.0124       2007.2784
+  24652238.2364   -3240642.18249  -2227230.87145  24652238.8664   24652243.8614
+      1284.4714       1000.8834
+  20566867.8764  -22595903.25149 -17153701.82248  20566867.9074   20566874.7134
+      -851.8934       -663.8134
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 20  0  0.0000000  0  9G 9G 7G28G 4G 2G 5G17G23G24
+  24998040.6424    3764140.35949   2947614.59345  24998041.3464   24998052.9694
+     -2404.7604      -1873.8364
+  21233155.0744  -20728895.06249 -16107692.27848  21233154.2144   21233160.9104
+     -1317.0504      -1026.2764
+  24097253.3894   -7891552.46649  -6133691.52045  24097254.5174   24097260.9634
+     -3819.9934      -2976.6164
+  20128205.0714  -25532704.67949 -19877714.95548  20128204.8914   20128210.8524
+      -343.1494       -267.3924
+  21692863.1904  -20413157.89649 -15892900.50747  21692863.4574   21692867.5534
+      2187.8444       1704.8114
+  22856585.1264   -5162616.05649  -4001074.79946  22856585.8274   22856594.1654
+      2224.9804       1733.7524
+  24035499.2544   -8188439.31749  -6353891.03746  24035497.4944   24035504.8274
+      2571.1224       2003.4764
+  24644945.5334   -3278970.58749  -2257097.05245  24644945.0654   24644950.1634
+      1270.7244        990.1694
+  20571758.9904  -22570202.42049 -17133675.19748  20571758.5014   20571765.2754
+      -861.4954       -671.2974
+ 05  1 20 20  0 30.0000000  0  9G 9G 7G28G 4G 2G 5G17G23G24
+  25011791.5984    3836387.26549   3003910.79245  25011792.8874   25011800.9874
+     -2411.5984      -1879.1644
+  21240704.0964  -20689226.08549 -16076781.40348  21240703.6364   21240709.9494
+     -1327.4514      -1034.3804
+  24119073.2014   -7776907.04049  -6044357.54545  24119072.1374   24119077.6814
+     -3822.9374      -2978.9064
+  20130197.0114  -25522233.68649 -19869555.73348  20130197.5824   20130203.5064
+      -354.8614       -276.5164
+  21680400.9844  -20478653.33049 -15943935.87947  21680400.2474   21680404.5834
+      2178.4914       1697.5274
+  22843927.4354   -5229139.94149  -4052911.52046  22843926.0924   22843934.0714
+      2209.9664       1722.0464
+  24020835.3834   -8265498.98349  -6413937.44846  24020834.6704   24020840.5424
+      2566.1264       1999.5784
+  24637730.7404   -3316884.13549  -2286639.97945  24637730.5804   24637736.0054
+      1256.7894        979.3134
+  20576703.6234  -22544213.80949 -17113424.32748  20576703.5844   20576710.6374
+      -871.0614       -678.7514
+ 05  1 20 20  1  0.0000000  0  9G 9G 7G28G 4G 2G 5G17G23G24
+  25025580.7694    3908836.28449   3060364.47945  25025580.9084   25025589.9204
+     -2418.3074      -1884.3894
+  21248312.6764  -20649244.81649 -16045627.18648  21248311.5114   21248318.0884
+     -1337.8724      -1042.4994
+  24140904.4294   -7662175.57049  -5954956.49745  24140903.4724   24140910.4114
+     -3825.8454      -2981.1704
+  20132256.8354  -25511411.35849 -19861122.74848  20132256.9444   20132262.9614
+      -366.5734       -285.6404
+  21667991.5424  -20543868.18949 -15994752.62647  21667990.7174   21667995.1904
+      2169.1334       1690.2314
+  22831354.9484   -5295211.73149  -4104396.00546  22831354.3424   22831362.0214
+      2194.8154       1710.2384
+  24006198.3174   -8342409.09249  -6473867.30646  24006197.7214   24006205.4704
+      2561.1274       1995.6814
+  24630594.9084   -3354380.37349  -2315857.72345  24630593.9264   24630602.7244
+      1242.8954        968.4874
+  20581704.4604  -22517938.93349 -17092950.40448  20581703.7364   20581710.7064
+      -880.5884       -686.1784
+ 05  1 20 20  1 30.0000000  0  9G 9G 7G28G 4G 2G 5G17G23G24
+  25039405.6254    3981484.12249   3116973.05145  25039405.9394   25039413.1894
+     -2424.8474      -1889.4884
+  21255979.0494  -20608951.00149 -16014229.42248  21255978.4834   21255986.1194
+     -1348.2734      -1050.6024
+  24162753.3214   -7547360.54449  -5865490.36445  24162751.0824   24162758.9284
+     -3828.5434      -2983.2814
+  20134382.9574  -25500238.80649 -19852416.86348  20134383.0504   20134389.1344
+      -378.1854       -294.6894
+  21655634.1274  -20608802.27549 -16045350.59447  21655633.7744   21655638.8534
+      2159.7854       1682.9504
+  22818866.6984   -5360829.12349  -4155526.39646  22818866.5714   22818874.7524
+      2179.6744       1698.4384
+  23991589.7844   -8419169.61249  -6533680.62346  23991589.7234   23991598.2604
+      2556.1954       1991.8384
+  24623538.1234   -3391457.27149  -2344748.74045  24623538.7224   24623543.8864
+      1228.8644        957.5554
+  20586758.3974  -22491378.93349 -17072254.30348  20586757.8654   20586764.5644
+      -890.0754       -693.5634
+ 05  1 20 20  2  0.0000000  0  9G 9G 7G28G 4G 2G 5G17G23G24
+  25053266.9434    4054327.64849   3173734.14245  25053266.5724   25053275.4534
+     -2431.3234      -1894.5284
+  21263706.0904  -20568344.21149 -15982587.80048  21263706.0074   21263713.1504
+     -1358.7394      -1058.7564
+  24184616.4694   -7432464.62849  -5775961.17545  24184614.2844   24184622.7594
+     -3831.2244      -2985.3634
+  20136575.3024  -25488717.22549 -19843439.00548  20136575.3504   20136581.4444
+      -389.8124       -303.7524
+  21643330.6344  -20673455.21849 -16095729.48747  21643331.0454   21643335.5514
+      2150.4114       1675.6434
+  22806470.3084   -5425990.22749  -4206301.25246  22806468.2064   22806475.0334
+      2164.4114       1686.5454
+  23977011.0054   -8495780.41449  -6593377.27346  23977010.9984   23977020.3024
+      2551.1924       1987.9254
+  24616565.4594   -3428112.56949  -2373311.20245  24616563.3764   24616568.9304
+      1214.8044        946.5984
+  20591866.3734  -22464535.42049 -17051337.27348  20591865.8974   20591873.0194
+      -899.4894       -700.9044
+ 05  1 20 20  2 30.0000000  0  9G 9G 7G28G 4G 2G 5G17G23G24
+  25067164.1154    4127363.94149   3230645.47045  25067164.1854   25067175.6484
+     -2437.7614      -1899.5524
+  21271493.9914  -20527424.38749 -15950702.23248  21271492.9414   21271500.1064
+     -1369.1884      -1066.8964
+  24206494.8594   -7317490.21849  -5686370.87045  24206494.4724   24206503.1004
+     -3833.7794      -2987.3544
+  20138833.4634  -25476847.80349 -19834190.10448  20138833.9064   20138840.2014
+      -401.3854       -312.7634
+  21631081.4724  -20737826.72449 -16145889.07547  21631081.0394   21631085.5124
+      2141.0074       1668.3134
+  22794155.6534   -5490692.84149  -4256718.82646  22794154.5614   22794163.6334
+      2149.0764       1674.5994
+  23962460.0764   -8572240.94249  -6652956.82546  23962460.0724   23962470.8174
+      2546.1964       1984.0484
+  24609669.4534   -3464344.09449  -2401543.45945  24609669.3414   24609676.6384
+      1200.6054        935.5344
+  20597028.3164  -22437409.54249 -17030200.22848  20597027.9284   20597034.7604
+      -908.8874       -708.2204
+ 05  1 20 20  3  0.0000000  0  9G 9G 7G28G 4G 2G 5G17G23G24
+  25081099.0894    4200589.64249   3287704.38245  25081097.4784   25081108.8414
+     -2443.9634      -1904.3814
+  21279339.6454  -20486191.12349 -15918572.43048  21279339.3754   21279346.5434
+     -1379.5964      -1075.0074
+  24228389.3904   -7202440.04549  -5596721.47945  24228387.9184   24228394.4094
+     -3836.1994      -2989.2484
+  20141158.5394  -25464631.79549 -19824671.14348  20141158.6944   20141165.0054
+      -412.9234       -321.7584
+  21618885.5004  -20801916.26549 -16195828.96147  21618885.3134   21618889.8704
+      2131.6264       1661.0084
+  22781931.9674   -5554934.72449  -4306777.37546  22781930.7444   22781938.0354
+      2133.6774       1662.6034
+  23947941.7884   -8648551.10749  -6712419.23846  23947941.0874   23947948.8604
+      2541.0924       1980.0604
+  24602854.2644   -3500149.64249  -2429443.73845  24602854.0334   24602861.8244
+      1186.2824        924.3754
+  20602243.1894  -22410002.76949 -17008844.30448  20602243.1534   20602250.4564
+      -918.2144       -715.4904
+ 05  1 20 20  3 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25095067.4614    4274001.56149   3344908.41545  25095068.1734   25095077.5274
+     -2450.1264      -1909.1874
+  21287246.2654  -20444644.15449 -15886198.18848  21287245.5204   21287252.8184
+     -1390.1004      -1083.1974
+  24250297.5064   -7087316.53349  -5507014.95245  24250295.4654   24250303.2094
+     -3838.6784      -2991.1714
+  20143548.9734  -25452070.27849 -19814882.94848  20143549.1334   20143555.2444
+      -424.4174       -330.7164
+  21606744.1264  -20865723.57849 -16245548.92347  21606743.2564   21606747.9474
+      2122.2144       1653.6724
+  22769795.0444   -5618713.56749  -4356475.14946  22769793.7774   22769801.1354
+      2118.2384       1650.5804
+  23933448.5444   -8724711.16249  -6771764.64646  23933447.8774   23933456.8534
+      2536.0764       1976.1624
+  24596123.4774   -3535527.21249  -2457010.61145  24596122.6114   24596127.0024
+      1172.0964        913.3194
+                    -53768.09541    -10245.838 3                  24558066.537
+      2286.2344       1783.999
+  20607512.5564  -22382316.45149 -16987270.54748  20607511.5334   20607518.8644
+      -927.5414       -722.7624
+ 05  1 20 20  4  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25109075.4694    4347597.12249   3402255.56245  25109074.0454   25109083.4784
+     -2456.1854      -1913.9054
+  21295212.1784  -20402783.28849 -15853579.34647  21295211.3194   21295218.0534
+     -1400.5434      -1091.3274
+  24272218.0194   -6972122.56849  -5417253.55645  24272216.5814   24272225.1354
+     -3840.8414      -2992.8594
+  20146004.9194  -25439164.60949 -19804826.59048  20146004.8554   20146011.1404
+      -435.8804       -339.6434
+  21594654.8054  -20929248.63049 -16295048.95547  21594654.5714   21594659.5314
+      2112.7854       1646.3274
+  22757746.6064   -5682027.62849  -4405810.73046  22757745.1034   22757752.8224
+      2102.7044       1638.4604
+  23918982.4894   -8800719.61949  -6830991.95846  23918982.6144   23918992.9184
+      2531.0924       1972.2714
+  24589472.6854   -3570474.79449  -2484242.34845  24589473.0644   24589478.5974
+      1157.6614        902.0704
+                   -122234.42541    -10245.838 3                  24558066.537
+      2277.9744       1783.999
+  20612833.4154  -22354352.03149 -16965480.09648  20612833.1404   20612840.5484
+      -936.7564       -729.9364
+ 05  1 20 20  4 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25123113.3714    4421372.72049   3459742.93745  25123114.2654   25123122.4414
+     -2462.0844      -1918.5024
+  21303237.3594  -20360608.31749 -15820715.75647  21303236.9984   21303244.1104
+     -1410.9914      -1099.4784
+  24294152.1474   -6856860.63549  -5327439.14945  24294150.1194   24294158.5154
+     -3843.1604      -2994.6664
+  20148525.7644  -25425915.99549 -19794502.99348  20148525.8824   20148532.3254
+      -447.3014       -348.5444
+  21582619.9094  -20992490.73549 -16344328.49847  21582619.6604   21582624.5644
+      2103.3344       1638.9524
+  22745785.9064   -5744874.88449  -4454782.59946  22745786.2814   22745792.9754
+      2087.1024       1626.3084
+  23904548.0074   -8876576.64049  -6890101.27046  23904547.3834   23904556.3024
+      2526.0404       1968.3324
+  24582904.7734   -3604990.09949  -2511137.23345  24582903.6724   24582909.2924
+      1143.2894        890.8704
+  24528310.5784    -190448.14349   -131907.16544
+      2269.5234       1768.5824
+  20618207.3994  -22326110.81449 -16943473.95248  20618207.1734   20618214.3934
+      -945.9844       -737.1334
+ 05  1 20 20  5  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25137184.3554    4495325.22049   3517368.16645  25137185.7314   25137194.0714
+     -2467.9784      -1923.0974
+  21311323.3694  -20318118.77549 -15787607.03447  21311322.2614   21311329.4814
+     -1421.5134      -1107.6724
+  24316096.4524   -6741533.19649  -5237573.74745  24316096.2474   24316108.3194
+     -3845.2334      -2996.2714
+  20151112.0514  -25412325.47949 -19783912.98148  20151111.9414   20151118.3874
+      -458.6644       -357.3994
+  21570639.1944  -21055449.62849 -16393387.34947  21570639.4534   21570643.7664
+      2093.8964       1631.6064
+  22733916.0144   -5807253.17149  -4503389.01146  22733915.7984   22733922.6444
+      2071.4044       1614.0764
+  23890142.0534   -8952282.23749  -6949092.58346  23890142.0144   23890150.1664
+      2520.9354       1964.3514
+  24576416.3874   -3639071.17649  -2537693.79845  24576417.5894   24576423.4044
+      1128.7134        879.5094
+  24515371.5374    -258405.91249    -20704.56443
+      2260.9484       1761.7774
+  20623633.8334  -22297594.22349 -16921253.23848  20623633.6754   20623641.1904
+      -955.1364       -744.2614
+ 05  1 20 20  5 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25151290.1604    4569451.51949   3575128.83745  25151292.9634   25151300.8484
+     -2473.7834      -1927.6204
+  21319468.7944  -20275314.62549 -15754253.16847  21319468.2694   21319474.6864
+     -1431.9944      -1115.8364
+  24338051.3824   -6626142.97949  -5147659.37145  24338053.4784   24338061.9884
+     -3847.3524      -2997.9354
+  20153763.1444  -25398394.47249 -19773057.65148  20153763.2564   20153769.5354
+      -469.9974       -366.2304
+  21558714.4284  -21118125.04349 -16442225.31647  21558713.6524   21558716.8384
+      2084.4464       1624.2474
+  22722136.4644   -5869160.30849  -4551628.30546  22722135.7034   22722142.4624
+      2055.6694       1601.8264
+  23875766.7984   -9027835.75449  -7007965.41146  23875765.7334   23875773.4424
+      2515.8914       1960.4344
+  24570019.2924   -3672715.80549  -2563910.24945  24570018.0464   24570024.7734
+      1114.1954        868.2004
+  24502491.6564    -326104.53949    -73455.89944
+      2252.3604       1755.0334
+  20629112.3634  -22268803.79149 -16898819.14048  20629112.6114   20629119.5964
+      -964.2324       -751.3474
+ 05  1 20 20  6  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25165427.0784    4643748.56849   3633022.60945  25165427.9024   25165438.8434
+     -2479.4494      -1932.0324
+  21327673.4184  -20232195.66049 -15720653.98747  21327673.0074   21327680.4094
+     -1442.5144      -1124.0384
+  24360023.4774   -6510692.36049  -5057697.94045  24360025.4624   24360031.2144
+     -3849.3494      -2999.5014
+  20156478.3504  -25384124.02349 -19761937.81748  20156478.8724   20156484.9664
+      -481.2924       -375.0324
+  21546840.7514  -21180516.70049 -16490842.15347  21546840.2054   21546843.9634
+      2074.9724       1616.8594
+  22710445.2804   -5930594.47349  -4599499.02246  22710444.7164   22710452.0934
+      2039.8604       1589.5104
+  23861416.6534   -9103237.20549  -7066719.70446  23861416.7304   23861424.8864
+      2510.8774       1956.5164
+  24563697.4764   -3705922.21249  -2589785.20645  24563696.4824   24563701.9444
+      1099.6114        856.8304
+  24489662.9274    -393540.94949   -126002.30844
+      2243.4874       1748.1344
+  20634643.7024  -22239740.68349 -16876172.56348  20634643.1634   20634650.4244
+      -973.3014       -758.4184
+ 05  1 20 20  6 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25179600.9124    4718213.26849   3691046.98045  25179600.4024   25179608.7584
+     -2484.9584      -1936.3304
+  21335939.0404  -20188761.54349 -15686809.23548  21335938.5774   21335945.4304
+     -1453.0034      -1132.2054
+  24382005.9654   -6395184.07049  -4967691.59045  24382005.1204   24382012.9804
+     -3851.2054      -3000.9304
+  20159258.8294  -25369515.46949 -19750554.51848  20159258.8504   20159264.9774
+      -492.5474       -383.8004
+  21535021.4754  -21242624.24249 -16539237.61047  21535020.9704   21535025.7354
+      2065.5104       1609.4894
+  22698844.4194   -5991553.33849  -4646999.38946  22698843.8384   22698851.6754
+      2024.0264       1577.1714
+  23847097.9984   -9178486.04449  -7125355.12046  23847096.8014   23847105.6514
+      2505.7034       1952.4894
+  24557462.5174   -3738688.09949  -2615316.97545  24557462.9034   24557467.9824
+      1084.7994        845.2884
+                   -460711.95941     -6524.215 3                  24479252.062
+      2234.6234       1742.500
+  20640225.5704  -22210406.24349 -16853314.55948  20640225.4074   20640232.2584
+      -982.3244       -765.4474
+ 05  1 20 20  7  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25193802.0194    4792842.50649   3749199.52945  25193801.5554   25193810.0044
+     -2490.4514      -1940.6124
+  21344264.1934  -20145012.09949 -15652718.76848  21344263.5364   21344271.1734
+     -1463.5284      -1140.4114
+  24403996.2234   -6279620.72549  -4877642.33945  24403996.0654   24404005.2114
+     -3853.0314      -3002.3564
+  20162102.8784  -25354570.03549 -19738908.71248  20162102.8074   20162108.8584
+      -503.7584       -392.5374
+  21523256.2604  -21304447.47649 -16587411.53147  21523256.0904   21523261.1734
+      2056.0204       1602.0934
+  22687336.6704   -6052034.87149  -4694127.81546  22687336.3324   22687342.8094
+      2008.0724       1564.7244
+  23832806.0714   -9253582.43149  -7183871.71746  23832806.6634   23832815.4084
+      2500.6434       1948.5584
+  24551312.2324   -3771011.78749  -2640504.12045  24551311.0464   24551317.2034
+      1070.0544        833.8094
+                   -527614.57741     -6524.215 3                  24479252.062
+      2225.6184       1742.500
+  20645858.8704  -22180802.12449 -16830246.40948  20645858.4284   20645866.0024
+      -991.2874       -772.4304
+ 05  1 20 20  7 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25208033.0114    4867633.07649   3807477.87245  25208033.3014   25208043.9064
+     -2495.8254      -1944.7954
+  21352650.2104  -20100947.24549 -15618382.53048  21352648.9774   21352656.3024
+     -1474.0684      -1148.6264
+  24425995.1924   -6164004.89049  -4787552.19145  24425996.0424   24426004.4034
+     -3854.7684      -3003.7134
+  20165010.0814  -25339288.83649 -19727001.27848  20165010.5264   20165016.8124
+      -514.9154       -401.2324
+  21511545.9074  -21365986.05849 -16635363.66347  21511545.8504   21511551.3584
+      2046.5194       1594.6954
+  22675917.4284   -6112037.06849  -4740882.73046  22675917.7594   22675923.8694
+      1992.0724       1552.2654
+  23818546.9824   -9328525.84949  -7242269.16246  23818545.5694   23818553.1334
+      2495.5034       1944.5474
+  24545246.6144   -3802891.14649  -2665345.08445  24545246.5114   24545249.2584
+      1055.2084        822.2324
+  24451472.2414    -594245.75549   -120156.92744
+      2216.4004       1727.0464
+  20651543.5444  -22150929.46349 -16806969.01148  20651543.2794   20651550.3724
+     -1000.2244       -779.3984
+ 05  1 20 20  8  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25222297.0444    4942581.99449   3865879.51545  25222297.3034   25222306.4884
+     -2500.9174      -1948.7654
+  21361094.4274  -20056566.62949 -15583800.24147  21361094.1214   21361101.5974
+     -1484.5874      -1156.8164
+  24448006.2994   -6048339.00249  -4697423.02645  24448007.1894   24448015.0484
+     -3856.3404      -3004.9284
+  20167981.8344  -25323673.32549 -19714833.34048  20167982.0564   20167988.1324
+      -526.0444       -409.9054
+  21499890.1244  -21427239.56849 -16683093.65748  21499889.8634   21499895.0594
+      2037.0374       1587.3014
+  22664591.3974   -6171558.03249  -4787262.66146  22664590.7544   22664598.1974
+      1975.9684       1539.7144
+  23804312.6854   -9403315.80649  -7300546.97746  23804313.0304   23804321.1404
+      2490.4064       1940.5744
+  24539263.5034   -3834324.31949  -2689838.33245  24539261.9994   24539268.4404
+      1040.3494        810.6484
+  24438843.2234    -660602.33149   -171863.04045                  24438847.3934
+      2207.1714       1719.8734
+  20657278.8664  -22120789.87049 -16783483.61348  20657278.6834   20657285.4324
+     -1009.1034       -786.3134
+ 05  1 20 20  8 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25236586.8644    5017686.01249   3924401.99145  25236586.9314   25236594.8994
+     -2506.0674      -1952.7754
+  21369599.8434  -20011870.12049 -15548971.79247  21369599.3514   21369606.8624
+     -1495.1184      -1165.0214
+  24470026.6054   -5932625.62149  -4607256.86545  24470024.7104   24470036.4204
+     -3857.8684      -3006.1264
+  20171016.8864  -25307724.73949 -19702405.85748  20171017.1964   20171023.1004
+      -537.1134       -418.5294
+  21488288.8004  -21488207.98249 -16730601.48648  21488288.4274   21488293.0774
+      2027.5024       1579.8734
+  22653357.5894   -6230595.87149  -4833266.13547  22653356.3354   22653363.3734
+      1959.8354       1527.1404
+  23790111.0904   -9477951.92349  -7358704.93546  23790109.9174   23790118.0224
+      2485.3024       1936.6074
+  24533367.2744   -3865309.08849  -2713982.20345  24533367.2824   24533371.2254
+      1025.3824        798.9924
+  24426256.0334    -726681.25058   -223352.97855  24426263.9874   24426273.6964
+      2197.7814       1712.5494
+  20663064.6554  -22090384.40249 -16759791.02748  20663064.5354   20663071.3994
+     -1017.9334       -793.1944
+ 05  1 20 20  9  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25250908.7914    5092942.06649   3983042.99145  25250909.9414   25250916.0414
+     -2510.9674      -1956.5974
+  21378165.8914  -19966857.49049 -15513897.03047  21378165.4194   21378172.6064
+     -1505.6114      -1173.2034
+  24492055.5254   -5816867.34449  -4517055.72745  24492054.2624   24492060.5114
+     -3859.3204      -3007.2604
+  20174115.1934  -25291444.07249 -19689719.61348  20174115.2704   20174121.5504
+      -548.1884       -427.1624
+  21476741.8504  -21548890.65249 -16777886.65448  21476741.0574   21476745.2594
+      2017.9874       1572.4524
+  22642213.5164   -6289148.65449  -4878891.64246  22642214.0234   22642221.3214
+      1943.6824       1514.5644
+  23775935.8664   -9552434.71149  -7416743.41046  23775936.1614   23775945.8674
+      2480.1264       1932.5594
+  24527558.4024   -3895843.71549  -2737775.38145  24527557.8724   24527560.3514
+      1010.3024        787.2394
+  24413742.9284    -792479.55849   -274624.18645  24413741.0204   24413750.8734
+      2188.5774       1705.3804
+  20668901.2544  -22059714.57549 -16735892.45248  20668900.8624   20668907.9034
+     -1026.7404       -800.0594
+ 05  1 20 20  9 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25265257.8994    5168347.11349   4041800.04545  25265257.5464   25265267.7954
+     -2516.0034      -1960.5134
+  21386791.8964  -19921528.67249 -15478575.87547  21386791.2144   21386798.1094
+     -1516.1874      -1181.4454
+  24514087.9374   -5701066.69648  -4426821.58344  24514090.8344   24514098.2114
+     -3860.7024      -3008.3394
+  20177276.8664  -25274832.65049 -19676775.63948  20177276.5054   20177282.3194
+      -559.1914       -435.7354
+  21465248.1384  -21609287.68449 -16824949.25948  21465248.0664   21465252.1394
+      2008.4584       1565.0294
+  22631164.8104   -6347214.47849  -4924137.69446  22631164.4064   22631171.8114
+      1927.3544       1501.8324
+  23761791.5284   -9626763.06949  -7474661.58446  23761791.3014   23761801.6274
+      2475.0154       1928.5814
+  24521831.7994   -3925926.23149  -2761216.21045  24521832.2744   24521839.1584
+       995.1724        775.4464
+  24401279.2994    -857993.89549   -325674.25645  24401278.3894   24401285.7374
+      2179.0334       1697.9454
+  20674787.0704  -22028781.59149 -16711788.81248  20674786.9764   20674794.2414
+     -1035.4684       -806.8634
+ 05  1 20 20 10  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25279634.9854    5243897.95149   4100670.78545  25279634.5374   25279644.0514
+     -2520.6964      -1964.1764
+  21395477.2714  -19875883.48849 -15443008.21147  21395477.1674   21395484.3204
+     -1526.7234      -1189.6534
+  24536133.4824   -5585226.42449  -4336556.61645  24536133.7864   24536144.1504
+     -3862.0894      -3009.4134
+  20180499.8914  -25257891.80349 -19663574.96848  20180500.0884   20180506.3444
+      -570.1294       -444.2554
+  21453809.2054  -21669398.67349 -16871788.96948  21453808.7444   21453813.0914
+      1998.9214       1557.5994
+  22620207.4124   -6404791.16949  -4969002.61346  22620207.5574   22620214.8074
+      1911.0574       1489.1454
+  23747678.0374   -9700937.83849  -7532460.06346  23747677.0674   23747686.5864
+      2469.8904       1924.5944
+  24516193.8744   -3955554.64149  -2784303.28245  24516193.4134   24516197.6164
+       979.9544        763.6034
+  24388863.3434    -923221.31949   -376500.75045  24388865.1334   24388872.9724
+      2169.4594       1690.4844
+  20680723.5404  -21997587.01849 -16687481.34448  20680723.3454   20680730.3194
+     -1044.1544       -813.6244
+ 05  1 20 20 10 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25294040.1894    5319591.59049   4159652.75645  25294038.7944   25294049.7674
+     -2525.4994      -1967.9184
+  21404223.4944  -19829921.78949 -15407193.90147  21404223.0084   21404230.1274
+     -1537.2754      -1197.8774
+  24558185.6644   -5469348.97549  -4246262.59145  24558183.6444   24558191.7864
+     -3863.1984      -3010.2784
+  20183786.2004  -25240622.87249 -19650118.64848  20183786.1914   20183792.2404
+      -581.0434       -452.7614
+  21442423.1374  -21729223.28549 -16918405.52248  21442423.6404   21442429.1074
+      1989.3564       1550.1504
+  22609344.9154   -6461877.09749  -5013485.11146  22609344.4814   22609351.8574
+      1894.6924       1476.3924
+  23733593.2054   -9774957.67049  -7590137.78346  23733592.5254   23733600.7174
+      2464.7824       1920.6114
+  24510642.8284   -3984727.35549  -2807035.20145  24510643.3094   24510648.2184
+       964.9034        751.8694
+  24376508.2704    -988158.96149   -427101.36945  24376508.2004   24376513.5704
+      2159.6834       1682.8704
+  20686708.9364  -21966132.00349 -16662970.92648  20686708.6794   20686716.1514
+     -1052.8244       -820.3814
+ 05  1 20 20 11  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25308469.7164    5395424.94849   4218743.61545  25308470.0414   25308479.1374
+     -2530.0404      -1971.4524
+  21413030.0824  -19783643.36149 -15371132.78147  21413029.4624   21413036.7004
+     -1547.8604      -1206.1194
+  24580240.9244   -5353436.79749  -4155941.49545  24580240.9444   24580250.4444
+     -3864.3434      -3011.1784
+  20187134.3314  -25223026.88849 -19636407.48048  20187134.5994   20187140.6224
+      -591.9494       -461.2564
+  21431095.0444  -21788761.35549 -16964798.81648  21431094.8774   21431099.1214
+      1979.7984       1542.7004
+  22598575.2234   -6518470.25849  -5057583.63147  22598575.2634   22598582.7474
+      1878.1934       1463.5324
+  23719536.7234   -9848822.87249  -7647695.04746  23719536.0344   23719543.3954
+      2459.5984       1916.5744
+  24505179.6584   -4013442.23749  -2829410.40545  24505178.7964   24505182.1364
+       949.4764        739.8544
+  24364208.8924   -1052803.45549   -477473.49645  24364204.8404   24364214.2704
+      2149.8544       1675.2104
+  20692744.0624  -21934418.09349 -16638258.77848  20692743.8234   20692750.8644
+     -1061.4374       -827.0884
+ 05  1 20 20 11 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25322925.9794    5471394.87849   4277940.82845  25322926.8964   25322937.4454
+     -2534.5484      -1974.9744
+  21421897.2064  -19737048.07249 -15334824.77047  21421896.6054   21421903.9244
+     -1558.4134      -1214.3444
+  24602307.0064   -5237492.55449  -4065595.45045  24602305.8684   24602314.0084
+     -3865.2894      -3011.9064
+  20190544.8284  -25205105.15349 -19622442.47748  20190544.8724   20190551.0154
+      -602.7844       -469.7014
+  21419820.3374  -21848012.64149 -17010968.63448  21419819.4014   21419823.8204
+      1970.2514       1535.2644
+  22587900.6134   -6574568.74149  -5101296.67947  22587899.8024   22587907.4214
+      1861.6884       1450.6664
+  23705510.6194   -9922533.35049  -7705131.73146  23705509.8464   23705516.5164
+      2454.3614       1912.4884
+  24499801.8314   -4041697.44349  -2851427.36745  24499802.2314   24499807.6464
+       934.2004        727.9384
+  24351959.2724   -1117151.93049   -527615.00745  24351959.3644   24351969.2554
+      2139.9854       1667.5164
+  20698828.0604  -21902446.67849 -16613345.97948  20698827.7354   20698834.9224
+     -1070.0104       -833.7754
+ 05  1 20 20 12  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25337406.6054    5547498.06649   4337241.87045  25337407.0744   25337417.6294
+     -2538.8244      -1978.3004
+  21430824.1384  -19690135.75949 -15298269.71847  21430823.8364   21430831.1534
+     -1568.9524      -1222.5584
+  24624378.6624   -5121518.97349  -3975226.55345  24624374.7804   24624384.1824
+     -3866.2784      -3012.6754
+  20194016.9284  -25186858.90849 -19608224.61448  20194017.0474   20194023.1954
+      -613.5544       -478.0924
+  21408598.1634  -21906976.73249 -17056914.66348  21408598.5884   21408603.3234
+      1960.6794       1527.8004
+  22577320.5284   -6630170.72749  -5144622.86347  22577319.0764   22577326.9034
+      1845.1084       1437.7404
+  23691513.5584   -9996088.66849  -7762447.51346  23691512.4664   23691519.6124
+      2449.2324       1908.4694
+  24494511.7204   -4069491.13949  -2873084.81145  24494512.7174   24494517.5994
+       918.8394        715.9744
+  24339771.5484   -1181201.27949   -577523.49145  24339772.3544   24339779.8074
+      2129.9074       1659.6654
+  20704960.7194  -21870219.07549 -16588233.55048  20704960.2244   20704967.7414
+     -1078.5034       -840.3954
+ 05  1 20 20 12 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25351915.2384    5623731.59549   4396644.51545  25351916.1544   25351924.1714
+     -2543.2594      -1981.7614
+  21439812.0834  -19642906.39749 -15261467.61747  21439811.0344   21439818.6584
+     -1579.5734      -1230.8334
+  24646447.9854   -5005518.32549  -3884836.54445  24646449.2074   24646455.7094
+     -3867.1424      -3013.3574
+  20197549.8214  -25168289.37249 -19593754.83548  20197550.3974   20197556.8004
+      -624.3234       -486.4884
+  21397433.3864  -21965653.56849 -17102636.85248  21397433.2654   21397437.5294
+      1951.0924       1520.3384
+  22566835.1014   -6685274.24749  -5187560.63647  22566833.5184   22566840.6594
+      1828.4544       1424.7674
+  23677545.4144  -10069488.41249  -7819642.07046  23677544.3044   23677553.3554
+      2444.0314       1904.4524
+  24489311.9194   -4096821.44549  -2894381.06945  24489311.9704   24489315.2824
+       903.2604        703.8424
+  24327643.2094   -1244948.41649   -627196.56245  24327642.9414   24327647.8074
+      2119.8924       1651.8564
+  20711141.9904  -21837736.43149 -16562922.39248  20711141.6504   20711148.9154
+     -1086.9824       -846.9984
+ 05  1 20 20 13  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25366445.1054    5700092.28449   4456146.29545  25366444.4824   25366455.5274
+     -2547.3994      -1984.9834
+  21448859.5934  -19595359.78449 -15224418.33447  21448859.2114   21448866.3354
+     -1590.1244      -1239.0554
+  24668531.6444   -4889493.30049  -3794427.48245  24668527.3314   24668537.1624
+     -3867.8724      -3013.9234
+  20201145.6964  -25149398.14249 -19579034.38048  20201145.5274   20201151.6984
+      -635.0204       -494.8184
+  21386323.0924  -22024042.80249 -17148134.93348  21386322.5844   21386326.8974
+      1941.4964       1512.8574
+  22556442.8164   -6739877.40049  -5230108.51647  22556443.0204   22556450.0724
+      1811.7334       1411.7374
+  23663606.0354  -10142732.88449  -7876715.65546  23663605.0224   23663615.2744
+      2438.8494       1900.4014
+  24484200.2844   -4123686.93549  -2915315.17845  24484198.3994   24484204.5724
+       887.7074        691.7174
+  24315567.5604   -1308390.29749   -676631.68345  24315568.0174   24315576.1074
+      2109.6664       1643.8944
+  20717371.1724  -21805000.40449 -16537413.79348  20717371.3234   20717378.5554
+     -1095.4144       -853.5664
+ 05  1 20 20 13 30.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25381001.1274    5776576.96749   4515744.67345  25381000.1824   25381011.4074
+     -2551.5894      -1988.2484
+  21457967.1884  -19547495.86949 -15187121.78947  21457967.0604   21457974.3124
+     -1600.6994      -1247.2934
+  24690610.7264   -4773446.44148  -3704001.43545  24690611.3734   24690619.9234
+     -3868.5404      -3014.4484
+  20204801.2974  -25130185.91849 -19564063.80948  20204801.7204   20204807.8094
+      -645.7104       -503.1504
+  21375266.0544  -22082144.18549 -17193408.71648  21375265.4544   21375270.0984
+      1931.8984       1505.3744
+  22546147.8734   -6793978.58349  -5272265.23647  22546147.1904   22546155.4074
+      1794.9744       1398.6814
+  23649698.7314  -10215821.79449  -7933668.02746  23649698.6694   23649706.8084
+      2433.6564       1896.3484
+  24479176.3184   -4150085.54249  -2935885.42845  24479176.5744   24479179.6424
+       872.1524        679.5964
+  24303552.4704   -1371523.94649   -725826.64245  24303554.2614   24303561.8824
+      2099.2164       1635.7574
+  20723648.7754  -21772012.00549 -16511708.54048  20723648.5264   20723655.8524
+     -1103.8104       -860.1104
+ 05  1 20 20 14  0.0000000  0 10G 9G 7G28G 4G 2G 5G17G23G13G24
+  25395581.1494    5853182.63649   4575437.29645  25395579.4884   25395586.7334
+     -2555.4734      -1991.2744
+  21467136.4844  -19499314.54149 -15149577.91047  21467135.8684   21467143.0854
+     -1611.2884      -1255.5444
+  24712698.5864   -4657380.14448  -3613560.24844  24712697.4904   24712709.9344
+     -3869.1014      -3014.8794
+  20208518.2604  -25110654.30049 -19548844.35348  20208518.4094   20208524.4504
+      -656.3284       -511.4204
+  21364264.0634  -22139957.54349 -17238458.07148  21364263.6384   21364268.5834
+      1922.3094       1497.9024
+  22535947.6994   -6847575.89149  -5314029.32346  22535947.6994   22535955.1314
+      1778.1564       1385.5654
+  23635820.6054  -10288754.33349  -7990498.55746  23635819.9274   23635827.6474
+      2428.4434       1892.3014
+  24474241.1184   -4176015.29549  -2956090.39845  24474241.6074   24474248.1954
+       856.4664        667.3724
+  24291602.8464   -1434346.47949   -774779.19545  24291599.6194   24291607.4884
+      2088.8864       1627.6964
+  20729973.9474  -21738772.99549 -16485808.00548  20729973.9564   20729981.0264
+     -1112.1354       -866.5974
+ 05  1 20 20 14 30.0000000  0  9G 7G28G 4G 2G 5G17G23G13G24
+  21476365.9894  -19450815.70849 -15111786.61047  21476365.0074   21476371.6874
+     -1621.8824      -1263.8044
+  24734789.8444   -4541297.18848  -3523106.10644  24734787.7434   24734799.6754
+     -3869.6334      -3015.2894
+  20212295.5944  -25090804.42149 -19533376.90148  20212295.5124   20212301.5714
+      -666.9284       -519.6884
+  21353317.2244  -22197482.62149 -17283282.79248  21353317.3244   21353321.9184
+      1912.6754       1490.3944
+  22525844.9904   -6900667.49949  -5355399.36947  22525845.3244   22525852.3584
+      1761.2614       1372.4104
+  23621971.4124  -10361530.78449  -8047207.45546  23621970.6984   23621978.6024
+      2423.2154       1888.2174
+  24469397.5884   -4201474.75749  -2975928.87845  24469396.3424   24469401.9774
+       840.7414        655.1174
+  24279705.4764   -1496854.72549   -823486.76945  24279704.8594   24279713.8254
+      2078.2914       1619.4404
+  20736346.5614  -21705284.63549 -16459713.18148  20736346.5284   20736353.5954
+     -1120.4484       -873.0804
+ 05  1 20 20 15  0.0000000  0  9G 7G28G 4G 2G 5G17G23G13G24
+  21485655.1874  -19401999.29849 -15073747.85947  21485654.8284   21485661.4574
+     -1632.4474      -1272.0414
+  24756881.7844   -4425199.95248  -3432640.81744  24756885.1744   24756891.6654
+     -3870.1194      -3015.6714
+  20216133.0774  -25070637.65349 -19517662.53248  20216133.0984   20216139.4214
+      -677.4844       -527.9114
+  21342425.2514  -22254719.26549 -17327882.76648  21342425.3644   21342430.3784
+      1903.0864       1482.9224
+  22515839.5214   -6953251.60449  -5396373.96447  22515838.6064   22515846.0054
+      1744.3254       1359.2044
+  23608150.9384  -10434151.10449  -8103794.68046  23608150.8784   23608159.9114
+      2418.0204       1884.1654
+  24464641.1604   -4226462.18049  -2995399.52345  24464642.3104   24464644.2644
+       825.0724        642.9064
+  24267865.5414   -1559045.78448   -871947.27945  24267869.4994   24267879.7134
+      2067.7254       1611.2124
+  20742766.6904  -21671548.14949 -16433425.00748  20742766.3594   20742773.3994
+     -1128.6814       -879.4954
+ 05  1 20 20 15 30.0000000  0  9G 7G28G 4G 2G 5G17G23G13G24
+  21495005.0204  -19352865.22149 -15035461.57347  21495004.1754   21495011.1884
+     -1643.0624      -1280.3054
+  24778977.7314   -4309090.90848  -3342166.34944  24778975.9034   24778979.7674
+     -3870.5364      -3016.0004
+  20220030.6814  -25050155.24149 -19501702.20348  20220030.6494   20220036.8104
+      -687.9874       -536.0984
+  21331588.7914  -22311667.24849 -17372257.78448  21331588.9354   21331593.5814
+      1893.4284       1475.3924
+  22505929.9344   -7005326.27749  -5436951.60147  22505928.6614   22505936.5034
+      1727.3004       1345.9494
+  23594361.3824  -10506614.53949  -8160259.67546  23594361.4614   23594370.0844
+      2412.8054       1880.0974
+  24459976.9234   -4250975.84649  -3014500.94045  24459976.4584   24459981.5624
+       809.2324        630.5554
+  24256099.4054   -1620916.64649   -920158.18645  24256098.9394   24256104.1984
+      2057.0534       1602.8884
+  20749233.7264  -21637564.97149 -16406944.59648  20749233.1484   20749240.4504
+     -1136.8794       -885.8844
+ 05  1 20 20 16  0.0000000  0  9G 7G28G 4G 2G 5G17G23G13G24
+  21504415.2184  -19303413.46449 -14996927.74847  21504414.5894   21504421.8554
+     -1653.6074      -1288.5194
+  24801073.0834   -4192972.71648  -3251684.72944  24801071.4034   24801081.3024
+     -3870.6554      -3016.0974
+  20223988.2644  -25029358.23449 -19485496.73748  20223988.2514   20223994.4204
+      -698.4304       -544.2294
+  21320806.9624  -22368326.33349 -17416407.70148  21320806.7274   21320811.2844
+      1883.8244       1467.9164
+  22496116.3164   -7056889.86649  -5477130.97847  22496116.4044   22496123.8764
+      1710.2354       1332.6514
+  23580602.8564  -10578921.22149  -8216602.54346  23580602.6304   23580609.9634
+      2407.5484       1876.0224
+  24455402.6114   -4275014.06349  -3033231.92045  24455401.6364   24455407.0954
+       793.3014        618.1554
+  24244382.1764   -1682464.22149   -968117.17845  24244384.0834   24244390.4614
+      2046.1714       1594.4164
+  20755746.5064  -21603336.28849 -16380272.89848  20755746.4834   20755753.4914
+     -1145.0274       -892.2284
+ 05  1 20 20 16 30.0000000  0  9G 7G28G 4G 2G 5G17G23G13G24
+  21513885.7474  -19253643.99449 -14958146.35547  21513885.1354   21513892.8294
+     -1664.2414      -1296.8124
+  24823173.0064   -4076847.77949  -3161197.81945  24823171.3704   24823178.4144
+     -3870.9134      -3016.2974
+  20228005.4414  -25008248.00449 -19469047.20248  20228005.3114   20228011.6034
+      -708.8464       -552.3484
+  21310080.9074  -22424696.35249 -17460332.36248  21310080.0754   21310083.9594
+      1874.1774       1460.3984
+  22486402.3274   -7107940.74849  -5516910.85447  22486402.4254   22486409.6254
+      1693.1364       1319.3254
+  23566874.6634  -10651071.35149  -8272823.38746  23566873.3144   23566880.8724
+      2402.3794       1871.9854
+  24450916.9374   -4298575.10649  -3051591.05145  24450916.9694   24450924.5544
+       777.3904        605.7604
+  24232737.0114   -1743685.36549  -1015821.80245  24232736.2414   24232743.4944
+      2035.1854       1585.8524
+  20762306.6234  -21568863.59249 -16353411.04548  20762306.8764   20762313.5234
+     -1153.1554       -898.5644
+ 05  1 20 20 17  0.0000000  0  9G 7G28G 4G 2G 5G17G23G13G24
+  21523417.3434  -19203556.61049 -14919117.23247  21523416.6714   21523424.2884
+     -1674.8324      -1305.0644
+  24845270.6194   -3960718.62449  -3070707.65144  24845270.5294   24845278.0444
+     -3870.9804      -3016.3484
+  20232081.7554  -24986825.87249 -19452354.63148  20232081.9454   20232088.0894
+      -719.2174       -560.4314
+  21299408.8674  -22480777.02849 -17504031.56148  21299408.5284   21299412.4514
+      1864.5414       1452.8844
+  22476785.4654   -7158477.51049  -5556290.12147  22476784.9864   22476792.4684
+      1675.9794       1305.9454
+  23553173.8114  -10723064.32149  -8328921.78946  23553173.4564   23553181.3374
+      2397.2134       1867.9734
+  24446528.8504   -4321657.45649  -3069577.13945  24446526.6434   24446529.8774
+       761.4454        593.3194
+  24221149.6194   -1804577.16949  -1063269.76845  24221147.1274   24221155.8974
+      2024.2244       1577.3144
+  20768912.5024  -21534148.15549 -16326360.04548  20768912.5004   20768919.4744
+     -1161.2134       -904.8444
+ 05  1 20 20 17 30.0000000  0  9G 7G28G 4G 2G 5G17G23G13G24
+  21533009.4534  -19153151.34549 -14879840.41247  21533008.8774   21533015.8374
+     -1685.4164      -1313.3124
+  24867368.2654   -3844587.81549  -2980216.19344  24867367.6884   24867378.9234
+     -3871.0354      -3016.3914
+  20236217.2434  -24965093.02149 -19435419.93548  20236217.4764   20236223.6464
+      -729.5384       -568.4704
+  21288792.3424  -22536568.26049 -17547505.21348  21288791.6174   21288795.9494
+      1854.8714       1445.3514
+  22467267.1864   -7208498.28749  -5595267.30247  22467266.2624   22467274.3914
+      1658.7424       1292.5204
+  23539501.8534  -10794900.20149  -8384897.76746  23539501.9824   23539511.1624
+      2391.8734       1863.7984
+  24442225.8634   -4344259.56149  -3087189.10145  24442226.9984   24442231.0524
+       745.3924        580.8224
+  24209616.8414   -1865137.01948  -1110459.08245  24209620.9384   24209631.6594
+      2013.1174       1568.6544
+  20775565.2904  -21499191.10549 -16299120.76048  20775564.8034   20775571.6254
+     -1169.2484       -911.1014
+ 05  1 20 20 18  0.0000000  0  9G 7G28G 4G 2G 5G17G23G13G24
+  21542661.6304  -19102428.18549 -14840315.88247  21542660.6064   21542667.8854
+     -1696.0394      -1321.5924
+  24889468.5344   -3728457.90349  -2889725.39144  24889467.8454   24889476.3084
+     -3871.0114      -3016.3594
+  20240412.2504  -24943050.66849 -19418244.07648  20240412.2224   20240418.1864
+      -739.8604       -576.5154
+  21278230.1924  -22592069.80849 -17590753.15248  21278229.7344   21278234.3114
+      1845.2124       1437.8244
+  22457846.6264   -7258001.20049  -5633840.96547  22457846.5494   22457853.2084
+      1641.4474       1279.0504
+  23525862.2074  -10866578.54249  -8440750.98646  23525861.9054   23525870.8124
+      2386.6584       1859.7344
+  24438015.3854   -4366379.77049  -3104425.49145  24438016.8314   24438020.1744
+       729.2464        568.2484
+  24198163.0994   -1925362.10649  -1157387.54245  24198163.4144   24198169.2094
+      2001.8824       1559.9054
+  20782262.3704  -21463993.92249 -16271694.37248  20782262.6474   20782269.5614
+     -1177.2364       -917.3274
+ 05  1 20 20 18 30.0000000  0  9G 7G28G 4G 2G 5G17G23G13G24
+  21552374.5154  -19051387.19349 -14800543.69547  21552373.5564   21552380.3314
+     -1706.5974      -1329.8114
+  24911564.6674   -3612331.15949  -2799237.16344  24911561.7324   24911574.3884
+     -3870.8774      -3016.2544
+  20244665.4054  -24920700.40149 -19400828.27348  20244665.4014   20244671.1194
+      -750.1064       -584.4994
+  21267723.3454  -22647281.34149 -17633775.09648  21267723.1404   21267728.1974
+      1835.5314       1430.2794
+  22448524.6834   -7306984.55349  -5672009.78647  22448525.2574   22448532.4754
+      1624.0954       1265.5314
+  23512253.1194  -10938099.19349  -8496481.34946  23512252.1624   23512261.8734
+      2381.3454       1855.5894
+  24433898.9474   -4388016.63949  -3121285.31245  24433896.7514   24433903.3434
+       713.1494        555.7004
+  24186764.0994   -1985248.99049  -1204052.43145  24186764.9574   24186772.0574
+      1990.4994       1551.0274
+  20789006.1414  -21428557.83349 -16244081.81648  20789005.7874   20789012.6414
+     -1185.1774       -923.5164
+ 05  1 20 20 19  0.0000000  0  9G 7G28G 4G 2G 5G17G23G13G24
+  21562147.8404  -19000028.21949 -14760523.72647  21562146.9574   21562154.1624
+     -1717.2024      -1338.0744
+  24933660.8504   -3496210.32748  -2708753.50644  24933661.7784   24933671.7924
+     -3870.6934      -3016.1244
+  20248977.0484  -24898042.92449 -19383173.08648  20248977.0794   20248983.0874
+      -760.3204       -592.4564
+  21257272.6914  -22702202.89049 -17676571.08948  21257272.2274   21257276.6194
+      1825.8914       1422.7774
+  22439304.9624   -7355446.86049  -5709772.57347  22439303.5724   22439310.6974
+      1606.6904       1251.9634
+  23498673.1104  -11009462.06649  -8552088.76046  23498672.0404   23498681.2164
+      2376.1254       1851.5164
+  24429874.0824   -4409168.17249  -3137766.89845  24429874.4274   24429878.8404
+       696.9454        543.0734
+  24175430.7074   -2044794.67649  -1250451.51345  24175433.0984   24175441.9424
+      1979.2584       1542.2754
+  20795794.1114  -21392884.18849 -16216284.15148  20795794.1344   20795801.4044
+     -1193.0634       -929.6574
+ 05  1 20 20 19 30.0000000  0  9G 7G28G 4G 2G 5G17G23G13G24
+  21571981.6404  -18948351.33049 -14720256.02247  21571980.5154   21571987.7724
+     -1727.8324      -1346.3614
+  24955755.6474   -3380097.75448  -2618276.28744  24955757.6844   24955763.3914
+     -3870.1944      -3015.7364
+  20253346.4554  -24875079.84149 -19365279.76048  20253346.6494   20253352.7054
+      -770.4654       -600.3654
+  21246876.8164  -22756834.23549 -17719140.93848  21246876.2504   21246880.4334
+      1816.1834       1415.2054
+  22430180.8164   -7403386.60249  -5747128.17247  22430180.7294   22430187.7544
+      1589.2574       1238.3864
+  23485122.3354  -11080667.22449  -8607573.26846  23485122.7474   23485131.4394
+      2370.8314       1847.3934
+  24425941.4644   -4429833.11149  -3153869.32145  24425939.8044   24425943.7774
+       680.6924        530.4034
+  24164170.6784   -2103996.56449  -1296582.67745  24164169.5474   24164176.6604
+      1967.6124       1533.1954
+  20802628.1834  -21356974.64949 -16188302.66548  20802627.7924   20802634.8504
+     -1200.9104       -935.7774
+ 05  1 20 20 20  0.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21581875.3114  -18896356.47849 -14679740.56447  21581874.9974   21581882.8314
+     -1738.4074      -1354.5994
+  20257774.2144  -24851812.42649 -19347149.28548  20257774.3604   20257780.1864
+      -780.6014       -608.2614
+  21236536.5884  -22811175.16649 -17761484.48648  21236535.8294   21236539.8554
+      1806.5214       1407.6804
+  22421159.0464   -7450802.06049  -5784075.23547  22421157.3804   22421164.1924
+      1571.7584       1224.7524
+  23471605.5554  -11151714.54849  -8662934.78146  23471604.0714   23471611.4094
+      2365.5314       1843.2634
+  24422100.6824   -4450010.02149  -3169591.48945  24422100.3614   24422105.5704
+       664.4034        517.7064
+  24152970.3864   -2162851.98849  -1342443.86445  24152969.1724   24152975.6414
+      1956.1074       1524.2354
+  20809505.7144  -21320830.13349 -16160138.09248  20809505.5434   20809512.9664
+     -1208.7284       -941.8644
+ 05  1 20 20 20 30.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21591830.1594  -18844043.73149 -14638977.38147  21591829.8454   21591836.9914
+     -1749.0254      -1362.8764
+  20262259.2724  -24828241.82349 -19328782.55948  20262259.6314   20262265.4374
+      -790.6954       -616.1294
+  21226249.7554  -22865225.42949 -17803601.54048  21226249.6094   21226254.4854
+      1796.8134       1400.1114
+  22412235.2164   -7497691.73549  -5820612.60047  22412234.7094   22412242.0884
+      1554.2014       1211.0604
+  23458114.0334  -11222603.94749  -8718173.23946  23458113.4514   23458121.7574
+      2360.3284       1839.2114
+  24418354.3644   -4469697.36449  -3184932.22545  24418352.7904   24418361.2064
+       648.0624        504.9874
+  24141834.0464   -2221357.46349  -1388032.38045  24141833.1474   24141844.2044
+      1944.2664       1515.0094
+  20816428.3114  -21284452.11849 -16131791.56248  20816428.0634   20816434.9454
+     -1216.4864       -947.9134
+ 05  1 20 20 21  0.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21601845.5964  -18791413.15649 -14597966.55047  21601844.9784   21601852.0934
+     -1759.6544      -1371.1594
+  20266802.4194  -24804369.19849 -19310180.48548  20266802.3314   20266808.0864
+      -800.7544       -623.9654
+  21216019.8034  -22918984.94049 -17845492.05248  21216019.6874   21216024.4484
+      1787.1144       1392.5574
+  22403412.4734   -7544054.03749  -5856739.01647  22403411.6554   22403419.6044
+      1536.6014       1197.3554
+  23444654.5044  -11293334.68249  -8773288.05346  23444654.2314   23444662.2574
+      2355.0044       1835.0734
+  24414702.2704   -4488893.61349  -3199890.30545  24414702.2914   24414706.8314
+       631.6604        492.1974
+  24130769.9074   -2279510.25549  -1433346.11145  24130768.9834   24130776.0074
+      1932.5244       1505.8594
+  20823394.6674  -21247841.95449 -16103264.14348  20823394.4924   20823401.8354
+     -1224.2374       -953.9504
+ 05  1 20 20 21 30.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21611921.8954  -18738464.61849 -14556707.95947  21611921.0824   21611927.9894
+     -1770.2124      -1379.3874
+  20271402.3974  -24780195.97349 -19291344.17548  20271402.1554   20271408.1604
+      -810.7274       -631.7364
+  21205845.3224  -22972453.55549 -17887155.87748  21205844.8964   21205849.7134
+      1777.4174       1384.9974
+  22394691.2344   -7589887.22649  -5892453.15347  22394690.5134   22394697.5474
+      1518.9374       1183.5784
+  23431224.7014  -11363907.22049  -8828279.60946  23431224.3404   23431232.4704
+      2349.7504       1830.9774
+  24411142.9204   -4507597.24349  -3214464.49445  24411142.0964   24411146.7664
+       615.2504        479.4214
+  24119769.1394   -2337307.61949  -1478382.88145  24119769.6034   24119777.5074
+      1920.6324       1496.5934
+  20830404.9814  -21211000.57949 -16074556.56848  20830405.2814   20830412.5344
+     -1231.8784       -959.9074
+ 05  1 20 20 22  0.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21622058.0904  -18685198.25449 -14515201.70447  21622057.2754   21622064.1704
+     -1780.8084      -1387.6404
+  20276058.5334  -24755723.43549 -19272274.64648  20276059.0564   20276065.2384
+      -820.6974       -639.5024
+  21195726.0084  -23025631.03849 -17928592.86048  21195725.8854   21195730.6414
+      1767.7024       1377.4344
+  22386070.1124   -7635189.92349  -5927753.90547  22386069.7364   22386077.7104
+      1501.2374       1169.7934
+  23417824.9694  -11434320.84649  -8883147.33046  23417824.2934   23417832.5594
+      2344.4524       1826.8474
+  24407677.3284   -4525806.87949  -3228653.77345  24407676.7034   24407682.7924
+       598.7114        466.5234
+  24108842.2194   -2394746.58649  -1523140.36045  24108841.2854   24108846.9314
+      1908.6224       1487.2324
+  20837460.4494  -21173929.33349 -16045669.87148  20837459.7094   20837467.0404
+     -1239.5104       -965.8514
+ 05  1 20 20 22 30.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21632254.8314  -18631614.15949 -14473447.87847  21632254.2704   21632260.9894
+     -1791.3644      -1395.8724
+  20280773.1084  -24730952.84649 -19252972.85948  20280772.8374   20280778.8554
+      -830.6024       -647.2204
+  21185662.0724  -23078517.29849 -17969802.90548  21185661.9074   21185666.0784
+      1757.9724       1369.8444
+  22377548.3654   -7679960.78849  -5962640.24847  22377549.2284   22377557.0224
+      1483.4824       1155.9644
+  23404456.0284  -11504576.05649  -8937891.61246  23404455.5094   23404462.8854
+      2339.1744       1822.7354
+  24404306.9944   -4543520.99149  -3242456.96645  24404305.7854   24404310.4584
+       582.2244        453.6864
+  24097976.5544   -2451824.23349  -1567616.35245  24097978.0664   24097986.2294
+      1896.5144       1477.7974
+  20844558.2694  -21136629.69449 -16016605.21148  20844557.8534   20844564.7684
+     -1247.0694       -971.7384
+ 05  1 20 20 23  0.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21642511.1964  -18577712.46549 -14431446.55547  21642510.7744   21642517.8974
+     -1801.9844      -1404.1464
+  20285542.4924  -24705885.38149 -19233439.75148  20285543.0204   20285548.9884
+      -840.4794       -654.9244
+  21175653.0564  -23131112.27849 -18010785.97548  21175653.1684   21175657.7834
+      1748.2384       1362.2664
+  22369132.8614   -7724198.02049  -5997110.77847  22369132.5084   22369139.4664
+      1465.6374       1142.0544
+  23391118.0344  -11574672.08549  -8992511.83946  23391116.4614   23391125.5914
+      2333.8224       1818.5584
+  24401029.5234   -4560738.23349  -3255872.92545  24401029.5534   24401035.3154
+       565.6404        440.7664
+  24087187.6824   -2508537.85549  -1611808.65245  24087186.2674   24087194.7834
+      1884.3524       1468.3234
+  20851699.0474  -21099103.02349 -15987363.64148  20851698.8524   20851706.0664
+     -1254.6124       -977.6204
+ 05  1 20 20 23 30.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21652829.2764  -18523493.03249 -14389197.66647  21652828.8214   21652835.8334
+     -1812.5584      -1412.3864
+  20290369.6734  -24680522.36649 -19213676.34748  20290369.6254   20290375.3014
+      -850.3434       -662.6054
+  21165700.3584  -23183415.65549 -18051541.82248  21165700.0314   21165704.5234
+      1738.5614       1354.7264
+  22360816.3824   -7767900.22849  -6031164.40147  22360815.4574   22360823.3164
+      1447.8044       1128.1644
+  23377807.8744  -11644609.31249  -9047008.34346  23377807.8124   23377816.6324
+      2328.5994       1814.5064
+  24397846.9934   -4577457.21649  -3268900.67445  24397847.9304   24397852.2234
+       549.0014        427.7894
+  24076461.6064   -2564884.53549  -1655715.07145  24076462.9654   24076469.1884
+      1872.0894       1458.7674
+  20858883.2974  -21061350.66749 -15957946.22148  20858883.0214   20858889.7474
+     -1262.1674       -983.5084
+ 05  1 20 20 24  0.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21663206.5854  -18468956.05949 -14346701.32247  21663206.3924   21663213.8684
+     -1823.1354      -1420.6274
+  20295251.9994  -24654864.99549 -19193683.56748  20295251.9144   20295257.7944
+      -860.0934       -670.2044
+  21155804.1774  -23235427.32349 -18092070.37048  21155802.9954   21155807.3214
+      1728.8524       1347.1534
+  22352602.4514   -7811066.28449  -6064800.24247  22352601.4684   22352609.0734
+      1429.9274       1114.2264
+  23364530.6344  -11714387.51449  -9101380.92646  23364530.0674   23364538.1234
+      2323.2444       1810.3234
+  24394763.1014   -4593676.82449  -3281539.31646  24394761.9404   24394768.3344
+       532.3184        414.7884
+  24065810.9824   -2620861.60349  -1699333.44645  24065811.0734   24065818.8594
+      1859.7594       1449.1574
+  20866109.9084  -21023373.91349 -15928353.93348  20866109.2694   20866116.4484
+     -1269.6114       -989.3094
+ 05  1 20 20 24 30.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21673646.0534  -18414101.57849 -14303957.58447  21673645.1434   21673652.3384
+     -1833.7394      -1428.8924
+  20300190.4964  -24628914.40949 -19173462.31748  20300190.2714   20300196.2964
+      -869.8584       -677.8144
+  21145960.7744  -23287147.15649 -18132371.50448  21145960.7404   21145965.3944
+      1719.1244       1339.5734
+  22344489.9214   -7853694.29649  -6098016.82647  22344489.7314   22344497.2384
+      1411.9654       1100.2234
+  23351282.9514  -11784006.69849  -9155629.60946  23351282.7674   23351289.7934
+      2317.8844       1806.1374
+  24391771.3104   -4609395.48849  -3293787.52745  24391770.7924   24391774.3454
+       515.5884        401.7574
+  24055230.4804   -2676465.94949  -1742661.40146  24055230.1014   24055237.8664
+      1847.2104       1439.3824
+  20873378.7014  -20985173.75749 -15898587.58148  20873378.7104   20873385.7804
+     -1277.0514       -995.1064
+ 05  1 20 20 25  0.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21684144.9494  -18358929.80849 -14260966.61147  21684143.9744   21684151.1034
+     -1844.2834      -1437.0974
+  20305184.0124  -24602671.97949 -19153013.66248  20305184.0344   20305190.0014
+      -879.5704       -685.3754
+  21136174.4424  -23338575.11749 -18172445.20948  21136174.4954   21136178.5714
+      1709.3924       1331.9934
+  22336479.6014   -7895783.04549  -6130813.20447  22336479.6564   22336487.5814
+      1393.9604       1086.2134
+  23338065.3504  -11853466.46049  -9209754.04846  23338063.7974   23338072.7094
+      2312.6244       1802.0424
+  24388875.5804   -4624611.78449  -3305644.30646  24388875.3614   24388879.5114
+       498.8264        388.6884
+  24044720.2184   -2731694.72549  -1785696.75245  24044719.8864   24044726.6804
+      1834.6794       1429.6164
+  20880690.4364  -20946751.61949 -15868648.25048  20880690.0604   20880697.3164
+     -1284.4134      -1000.8364
+ 05  1 20 20 25 30.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21694703.8074  -18303440.73349 -14217728.37447  21694702.9664   21694710.1234
+     -1854.8654      -1445.3504
+  20310233.2024  -24576139.17649 -19132338.74348  20310232.9364   20310238.9534
+      -889.2104       -692.8924
+  21126444.5484  -23389711.05849 -18212291.36548  21126443.6184   21126448.0324
+      1699.6424       1324.3954
+  22328573.4354   -7937331.20149  -6163188.34447  22328573.3664   22328581.2944
+      1375.9024       1072.1274
+  23324875.2064  -11922767.26549  -9263754.63046  23324876.3014   23324884.9674
+      2307.3684       1797.9504
+  24386076.5814   -4639324.74449  -3317108.83946  24386075.9964   24386079.6254
+       482.0264        375.5974
+  24034282.7114   -2786545.29549  -1828437.33346  24034283.3424   24034290.6374
+      1822.0244       1419.7514
+  20888044.0424  -20908108.68949 -15838536.87548  20888044.0214   20888050.9404
+     -1291.7534      -1006.5624
+ 05  1 20 20 26  0.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21705322.4604  -18247634.45749 -14174242.98147  21705322.6964   21705330.4034
+     -1865.4464      -1453.5904
+  20315336.7034  -24549316.94849 -19111438.30348  20315337.0584   20315343.0744
+      -898.8664       -700.4144
+  21116768.2194  -23440554.82649 -18251909.85448  21116768.1024   21116772.7434
+      1689.9164       1316.8154
+  22320771.5244   -7978337.33949  -6195141.14847  22320770.9654   22320777.4554
+      1357.8114       1058.0344
+  23311719.0514  -11991908.25349  -9317630.67546  23311718.7974   23311726.6934
+      2302.0214       1793.7744
+  24383370.4034   -4653532.87849  -3328180.02645  24383370.1194   24383374.7134
+       465.1884        362.4714
+  24023918.7204   -2841015.13849  -1870881.30245  24023918.1734   24023923.7034
+      1809.2804       1409.8304
+  20895439.3884  -20869246.26749 -15808254.45748  20895439.3524   20895446.0584
+     -1299.0644      -1012.2604
+ 05  1 20 20 26 30.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21716003.6164  -18191511.10749 -14130510.50747  21716002.6424   21716009.4814
+     -1876.0084      -1461.8264
+  20320495.3224  -24522206.59849 -19090313.34748  20320495.5464   20320501.8284
+      -908.4334       -707.8704
+  21107149.4264  -23491106.30049 -18291300.57848  21107148.7834   21107152.9124
+      1680.1874       1309.2304
+  22313072.0384   -8018800.19949  -6226670.60647  22313070.8004   22313077.5674
+      1339.7094       1043.9234
+  23298593.4334  -12060889.74249  -9371382.44046  23298592.5104   23298600.3084
+      2296.7144       1789.6374
+  24380765.1744   -4667235.09849  -3338856.99045  24380763.3474   24380769.5654
+       448.2924        349.3204
+  24013624.4424   -2895101.11549  -1913026.15545  24013625.2224   24013632.1684
+      1796.4244       1399.8034
+  20902876.6674  -20830165.65049 -15777802.01648  20902875.9654   20902882.8994
+     -1306.3134      -1017.9084
+ 05  1 20 20 27  0.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21726744.4184  -18135070.83549 -14086531.08447  21726743.1354   21726749.9864
+     -1886.5744      -1470.0664
+  20325709.3784  -24494809.51849 -19068964.96948  20325709.4384   20325715.3194
+      -917.9504       -715.2894
+  21097585.0054  -23541365.31549 -18330463.41548  21097584.4994   21097588.8274
+      1670.3994       1301.6084
+  22305474.8694   -8058718.48049  -6257775.72547  22305474.5104   22305481.5384
+      1321.5164       1029.7464
+  23285498.0814  -12129711.45349  -9425009.69246  23285496.7314   23285503.8494
+      2291.3594       1785.4794
+  24378252.6094   -4680429.86249  -3349138.56945  24378251.2774   24378257.5694
+       431.3414        336.1074
+  24003405.0484   -2948800.60349  -1954869.80645  24003405.4334   24003412.2574
+      1783.5274       1389.7484
+  20910353.8804  -20790868.15449 -15747180.58848  20910354.0824   20910361.1014
+     -1313.5224      -1023.5254
+ 05  1 20 20 27 30.0000000  0  8G 7G 4G 2G 5G17G23G13G24
+  21737543.6294  -18078313.91749 -14042304.92847  21737543.4304   21737550.6574
+     -1897.1024      -1478.2634
+  20330977.1284  -24467126.80049 -19047394.01548  20330977.1884   20330983.2164
+      -927.4644       -722.7014
+  21088075.7894  -23591331.86249 -18369398.35048  21088075.9754   21088080.6714
+      1660.6644       1294.0224
+  22297982.9394   -8098090.79549  -6288455.40747  22297982.2364   22297988.6414
+      1303.3064       1015.5574
+  23272431.2374  -12198373.59849  -9478512.60946  23272430.7434   23272438.1264
+      2286.0894       1781.3664
+  24375840.0034   -4693116.38749  -3359024.04645  24375838.0284   24375841.1484
+       414.4364        322.9264
+  23993262.8394   -3002110.50949  -1996409.91546  23993262.8654   23993268.2184
+      1770.4594       1379.5694
+  20917873.0574  -20751354.83949 -15716390.97848  20917873.0104   20917879.8534
+     -1320.6824      -1029.1034
+ 05  1 20 20 28  0.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21748404.6244  -18021240.28449 -13997831.98347  21748404.3714   21748411.6814
+     -1907.6634      -1486.4904
+  20336299.0604  -24439159.79549 -19025601.54348  20336299.2304   20336305.1124
+      -936.9614       -730.1014
+  21078623.3884  -23641005.75249 -18408105.25448  21078623.5594   21078628.0864
+      1650.9014       1286.4154
+  22290595.1494   -8136916.05449  -6318708.82647  22290594.2924   22290601.0484
+      1285.0324       1001.3214
+  23259394.7004  -12266876.05349  -9531891.10446  23259393.3214   23259402.4374
+      2280.7314       1777.2014
+  24373521.9764   -4705293.23249  -3368512.43745  24373520.2284   24373525.1464
+       397.3884        309.6654
+  23983192.1534   -3055028.37049  -2037644.55445  23983191.0554   23983198.8074
+      1757.3514       1369.3594
+  24195661.6984    -198668.35749   -141733.38945
+      2910.8794       2268.2134
+  20925433.3244  -20711627.14849 -15685434.32948  20925433.1034   20925440.3054
+     -1327.8224      -1034.6724
+ 05  1 20 20 28 30.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21759326.1664  -17963850.15749 -13953112.41147  21759325.3524   21759332.4294
+     -1918.2194      -1494.7124
+  20341674.5784  -24410909.53849 -19003588.35448  20341674.9944   20341680.8894
+      -946.3694       -737.4314
+  21069226.6014  -23690386.81149 -18446583.97548  21069226.4004   21069230.8834
+      1641.1434       1278.8114
+  22283311.6284   -8175192.63449  -6348534.71347  22283310.5444   22283316.7934
+      1266.7194        987.0554
+  23246389.7634  -12335218.56049  -9585144.95746  23246389.7194   23246397.0654
+      2275.3574       1773.0064
+  24371301.4164   -4716959.29549  -3377602.75345  24371301.8914   24371304.8154
+       380.3544        296.3744
+  23973195.8954   -3107551.34749  -2078571.44145  23973197.2794   23973204.9404
+      1744.1704       1359.0904
+  24179074.7754    -285821.95049   -209645.21045                  24179080.4874
+      2899.3844       2259.2614
+  20933033.3814  -20671686.37949 -15654311.65048  20933033.3414   20933040.6474
+     -1334.9074      -1040.1884
+ 05  1 20 20 29  0.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21770307.0944  -17906143.79649 -13908146.42747  21770306.6034   21770313.5344
+     -1928.7904      -1502.9534
+  20347104.7204  -24382377.51849 -18981355.59748  20347104.3294   20347110.2404
+      -955.7194       -744.7134
+  21059885.9174  -23739475.03749 -18484834.50748  21059885.6244   21059889.4154
+      1631.3704       1271.1974
+  22276130.6504   -8212919.34949  -6377932.12847  22276131.1904   22276138.0184
+      1248.3434        972.7424
+  23233415.5974  -12403400.96549  -9638274.05846  23233414.9284   23233422.5794
+      2270.0504       1768.8704
+  24369179.8054   -4728113.50849  -3386294.33545  24369178.9664   24369180.6884
+       363.2524        283.0534
+  23963279.7974   -3159676.91549  -2119188.70945  23963278.7174   23963283.4524
+      1730.8404       1348.7024
+  24162555.7134    -372627.95149   -277286.14845  24162554.6444   24162561.6624
+      2887.6874       2250.1434
+  20940674.6854  -20631533.83449 -15623023.94148  20940674.3064   20940681.5444
+     -1341.9544      -1045.6804
+ 05  1 20 20 29 30.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21781348.2204  -17848121.31849 -13862934.10747  21781347.9234   21781355.2714
+     -1939.2714      -1511.1154
+  20352587.2034  -24353564.95749 -18958904.24948  20352587.1804   20352593.1464
+      -965.0284       -751.9664
+  21050600.7864  -23788270.36249 -18522856.81048  21050600.2014   21050604.1304
+      1621.6364       1263.6154
+  22269058.3004   -8250094.77549  -6406899.96347  22269056.4854   22269063.8984
+      1230.0024        958.4434
+  23220471.9574  -12471423.52949  -9691278.60746  23220470.2274   23220478.2214
+      2264.7354       1764.7314
+  24367153.2914   -4738754.62549  -3394586.09545  24367153.3304   24367157.5984
+       346.1824        269.7494
+  23953433.1344   -3211402.45049  -2159494.26445  23953434.1454   23953439.5274
+      1717.4944       1338.3054
+  24146103.5384    -459083.89549   -344654.33245  24146103.2824   24146110.6124
+      2876.0404       2241.0744
+  20948355.7534  -20591170.44549 -15591571.94448  20948355.5064   20948362.2344
+     -1348.9434      -1051.1214
+ 05  1 20 20 30  0.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21792449.1844  -17789782.87249 -13817475.58747  21792448.9724   21792456.4714
+     -1949.8514      -1519.3654
+  20358123.2734  -24324473.00149 -18936235.17748  20358123.2154   20358129.3434
+      -974.3494       -759.2384
+  21041370.4324  -23836772.57849 -18560650.71248  21041370.1624   21041374.4824
+      1611.8374       1255.9734
+  22262087.3754   -8286717.90349  -6435437.45147  22262087.8234   22262094.6374
+      1211.5224        944.0374
+  23207556.8474  -12539285.81149  -9744158.28146  23207555.7854   23207564.4944
+      2259.3634       1760.5414
+  24365225.9874   -4748881.60249  -3402477.24245  24365226.7274   24365229.4574
+       328.9544        256.3264
+  23943668.1174   -3262724.97749  -2199485.78945  23943667.3664   23943675.2154
+      1703.9704       1327.7624
+  24129714.9484    -545187.17149   -411747.70045  24129716.1784   24129725.8414
+      2864.2404       2231.8724
+  20956075.7804  -20550597.53849 -15559956.68248  20956075.6914   20956082.7594
+     -1355.9264      -1056.5694
+ 05  1 20 20 30 30.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21803611.3474  -17731128.73649 -13771771.08047  21803610.7644   21803618.1234
+     -1960.3504      -1527.5424
+  20363712.0554  -24295102.80049 -18913349.29648  20363712.2454   20363718.2814
+      -983.5604       -766.4114
+  21032196.3194  -23884981.68949 -18598216.22348  21032196.2154   21032200.6174
+      1602.0914       1248.3834
+  22255223.6424   -8322787.75149  -6463543.79547  22255223.5164   22255230.5774
+      1193.0884        929.6774
+  23194673.9874  -12606987.88449  -9796913.11346  23194672.9724   23194681.5154
+      2254.0654       1756.4054
+  24363397.8704   -4758493.55949  -3409967.01745  24363397.5524   24363403.8454
+       311.8034        242.9804
+  23933979.2504   -3313641.94449  -2239161.30545  23933978.6534   23933986.4674
+      1690.4844       1317.2604
+  24113400.6644    -630935.10149   -478564.15845  24113399.5424   24113407.6254
+      2852.3124       2222.5754
+  20963836.7004  -20509816.25549 -15528179.05548  20963836.3984   20963843.2484
+     -1362.8114      -1061.9334
+ 05  1 20 20 31  0.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21814832.7394  -17672159.00349 -13725820.63447  21814832.0394   21814839.4014
+     -1970.8864      -1535.7554
+  20369353.8474  -24265455.71249 -18890247.64748  20369353.7994   20369359.9294
+      -992.8094       -773.6194
+  21023078.2094  -23932897.50549 -18635553.18848  21023078.1724   21023082.3964
+      1592.2904       1240.7394
+  22248465.0174   -8358303.07549  -6491218.03647  22248464.6104   22248472.8394
+      1174.5724        915.2404
+  23181818.9224  -12674529.96849  -9849543.26946  23181819.9854   23181828.2854
+      2248.7004       1752.2304
+  24361666.9054   -4767589.10449  -3417054.42545  24361666.8474   24361671.4394
+       294.5534        229.5104
+  23924368.1974   -3364150.51149  -2278518.55245  23924368.5584   23924373.7354
+      1676.7184       1306.5384
+  24097151.5384    -716325.21149   -545101.80545  24097150.3934   24097158.8024
+      2840.3414       2213.2484
+  20971636.4234  -20468827.86549 -15496240.03748  20971636.0764   20971642.9994
+     -1369.7274      -1067.3214
+ 05  1 20 20 31 30.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21826113.6844  -17612874.02549 -13679624.56047  21826113.4404   21826120.9894
+     -1981.3774      -1543.9274
+  20375048.0424  -24235532.98149 -18866931.21948  20375048.0374   20375054.0024
+     -1001.9784       -780.7604
+  21014017.1224  -23980520.11949 -18672661.68548  21014016.0464   21014020.3134
+      1582.5204       1233.1324
+  22241812.2224   -8393262.89749  -6518459.43847  22241812.4784   22241819.1634
+      1156.0364        900.8174
+  23168999.3514  -12741911.68749  -9902048.47346  23168998.2564   23169005.6524
+      2243.3624       1748.0594
+  24360034.2884   -4776167.54549  -3423738.93945  24360034.0064   24360036.9774
+       277.3404        216.1104
+  23914833.6284   -3414248.29349  -2317555.76345  23914834.0324   23914840.4884
+      1663.0414       1295.8694
+  24080965.8304    -801354.74849   -611358.49345  24080966.6704   24080977.8294
+      2828.3094       2203.8684
+  20979475.6624  -20427633.38349 -15464140.42948  20979475.3514   20979481.9374
+     -1376.5654      -1072.6484
+ 05  1 20 20 32  0.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21837456.3924  -17553274.05449 -13633183.03247  21837455.2444   21837461.8244
+     -1991.8544      -1552.0934
+  20380794.3074  -24205335.85449 -18843400.97448  20380794.4364   20380800.3334
+     -1011.0994       -787.8674
+  21005009.9484  -24027849.32249 -18709541.55648  21005009.7144   21005013.9084
+      1572.7424       1225.5154
+  22235265.6414   -8427665.81149  -6545266.87547  22235265.3624   22235272.8424
+      1137.4584        886.3354
+  23156207.0804  -12809132.98649  -9954428.67246  23156206.3244   23156214.3254
+      2238.0094       1743.9074
+  24358500.8044   -4784227.64649  -3430019.53245  24358499.1364   24358504.5254
+       260.0064        202.6074
+  23905380.7274   -3463932.52449  -2356270.69945  23905380.4264   23905385.8414
+      1649.1904       1285.0714
+  24064860.2964    -886021.28949   -677332.33245  24064858.0344   24064867.7054
+      2816.1474       2194.4014
+  20987352.9464  -20386234.33849 -15431881.41848  20987353.1504   20987360.0874
+     -1383.3644      -1077.9444
+ 05  1 20 20 32 30.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21848857.2854  -17493359.14949 -13586496.09847  21848856.7934   21848864.1464
+     -2002.3624      -1560.2754
+  20386592.7124  -24174865.54649 -18819657.85248  20386592.6194   20386598.5134
+     -1020.2014       -794.9584
+  20996058.7354  -24074885.18249 -18746192.83948  20996058.3634   20996063.0984
+      1562.9464       1217.8844
+  22228826.0544   -8461510.87249  -6571639.63347  22228825.6504   22228832.2614
+      1118.8494        871.8384
+  23143445.9454  -12876193.79549 -10006683.82246  23143444.6004   23143453.3004
+      2232.6644       1739.7484
+  24357065.8764   -4791768.48349  -3435895.43645  24357063.4124   24357067.1284
+       242.6914        189.0874
+  23896003.4534   -3513200.52949  -2394661.26845  23896003.2644   23896012.1944
+      1635.3154       1274.2724
+  24048815.3414    -970322.27649   -743021.32545  24048815.7684   24048825.6724
+      2803.9214       2184.8664
+  20995270.5584  -20344631.93749 -15399463.94448  20995270.0014   20995276.8824
+     -1390.1264      -1083.2094
+ 05  1 20 20 33  0.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21860318.6124  -17433129.65649 -13539564.03047  21860317.7584   21860325.0754
+     -2012.8604      -1568.4564
+  20392441.9484  -24144123.28149 -18795702.82648  20392442.4544   20392448.5484
+     -1029.2314       -802.0004
+  20987164.7434  -24121627.36849 -18782615.29648  20987164.0754   20987168.4774
+      1553.1694       1210.2624
+  22222492.5974   -8494796.73049  -6597576.62847  22222491.8854   22222498.3444
+      1100.1864        857.2844
+  23130713.2334  -12943094.18749 -10058813.97746  23130713.4754   23130722.2704
+      2227.3004       1735.5634
+  24355730.3714   -4798789.08549  -3441365.97845  24355729.1634   24355735.8604
+       225.3454        175.5874
+  23886707.6854   -3562049.60949  -2432725.43445  23886708.3884   23886713.2944
+      1621.2164       1263.2824
+  24032840.4464   -1054254.98048   -808423.34245  24032844.8424   24032853.1584
+      2791.5634       2175.2404
+  21003225.1704  -20302827.35749 -15366888.93448  21003225.0624   21003231.8334
+     -1396.8304      -1088.4384
+ 05  1 20 20 33 30.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21871839.4314  -17372585.85549 -13492387.04147  21871838.9544   21871846.1164
+     -2023.2914      -1576.5934
+  20398344.3784  -24113110.24749 -18771536.80448  20398344.1974   20398349.8224
+     -1038.2304       -809.0164
+  20978325.3684  -24168075.90049 -18818808.91748  20978325.2874   20978329.5104
+      1543.3914       1202.6394
+  22216264.4124   -8527522.47949  -6623077.19647  22216264.3294   22216270.5774
+      1081.5054        842.7254
+  23118013.6124  -13009834.17149 -10110819.10046  23118013.5154   23118021.7494
+      2221.9554       1731.3954
+  24354492.4144   -4805288.37349  -3446430.30245  24354491.7594   24354496.2184
+       207.9494        162.0464
+  23877494.5814   -3610477.25649  -2470461.15545  23877494.1594   23877498.9724
+      1607.1754       1252.3394
+  24016944.1374   -1137817.08849   -873536.58245  24016943.1894   24016952.3734
+      2779.2054       2165.6064
+  21011218.8214  -20260821.87949 -15334157.36448  21011218.3364   21011224.8724
+     -1403.5174      -1093.6554
+ 05  1 20 20 34  0.0000000  0  9G 7G 4G 2G 5G17G23G13G30G24
+  21883420.6074  -17311727.93049 -13444965.29547  21883420.3544   21883427.1234
+     -2033.7734      -1584.7554
+  20404296.7724  -24081827.76249 -18747160.83148  20404297.1114   20404302.8664
+     -1047.2184       -816.0144
+  20969542.6714  -24214230.72749 -18854773.67148  20969542.2054   20969546.3574
+      1533.5784       1194.9984
+  22210144.1904   -8559687.08249  -6648140.48347  22210142.9834   22210150.1214
+      1062.7844        828.1384
+  23105345.4604  -13076413.38149 -10162698.99147  23105345.2404   23105352.0894
+      2216.5964       1727.2214
+  24353356.3144   -4811265.59349  -3451087.88745  24353355.8854   24353359.6704
+       190.5084        148.4634
+  23868356.4094   -3658480.91649  -2507866.51945  23868358.0764   23868364.1334
+      1592.9364       1241.2434
+  24001118.5094   -1221005.78149   -938358.84645  24001113.3134   24001122.1144
+      2766.8034       2155.9434
+  21019250.3714  -20218616.41449 -15301269.97048  21019249.8354   21019256.9654
+     -1410.1754      -1098.8384
+ 05  1 20 20 34 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  21895061.0104  -17250556.19349 -13397299.02447  21895060.3544   21895067.6764
+     -2044.2664      -1592.9274
+  23223270.4164    -249253.95449   -182159.26946
+      3748.7024       2921.0624
+  20410300.6324  -24050276.95349 -18722575.76648  20410300.8504   20410306.6734
+     -1056.1434       -822.9664
+  20960816.0384  -24260091.86649 -18890509.58448  20960815.2574   20960819.2494
+      1523.7944       1187.3674
+  22204129.8474   -8591289.58749  -6672765.78747  22204129.5374   22204135.8124
+      1044.0464        813.5474
+  23092704.9134  -13142832.30849 -10214453.92747  23092705.3564   23092712.8914
+      2211.2734       1723.0664
+  24352317.3174   -4816719.99649  -3455338.00045  24352316.4344   24352321.8524
+       173.0684        134.8694
+  23859305.2544   -3706057.96549  -2544939.40545  23859304.6074   23859309.7534
+      1578.8244       1230.2554
+  23985355.0034   -1303818.72449  -1002888.31445  23985353.7854   23985362.7914
+      2754.2044       2146.1324
+  21027319.1524  -20176212.09049 -15268227.62648  21027319.1944   21027325.7664
+     -1416.7914      -1103.9914
+ 05  1 20 20 35  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  21906761.1344  -17189070.95949 -13349388.47147  21906760.8924   21906768.1394
+     -2054.6844      -1601.0554
+  23201887.5624    -361616.23549   -269714.23846  23201889.4424   23201897.4334
+      3742.0864       2915.9114
+  20416355.2124  -24018459.05449 -18697782.58148  20416355.6794   20416361.5134
+     -1064.9924       -829.8634
+  20952143.1564  -24305659.17949 -18926016.53548  20952143.4214   20952148.0444
+      1514.0054       1179.7434
+  22198223.6564   -8622328.97249  -6696952.27347  22198222.7204   22198230.1024
+      1025.2474        798.8914
+  23080097.5124  -13209090.54349 -10266083.65747  23080097.1444   23080104.9384
+      2205.9264       1718.8984
+  24351378.2394   -4821650.61349  -3459179.99145  24351378.1834   24351382.6894
+       155.6644        121.2914
+  23850334.1734   -3753206.05249  -2581678.02845  23850332.2564   23850340.4984
+      1564.5024       1219.0824
+  23969665.1284   -1386253.28149  -1067122.94645  23969666.6494   23969675.9924
+      2741.5194       2136.2494
+  21035426.4584  -20133610.34149 -15235031.44148  21035426.1984   21035432.8914
+     -1423.3294      -1109.0904
+ 05  1 20 20 35 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  21918521.5444  -17127272.54149 -13301233.85847  21918520.4034   21918527.4224
+     -2065.0874      -1609.1564
+  23180546.1334    -473778.88749   -357113.67446  23180544.9464   23180553.5694
+      3735.4154       2910.7114
+  20422460.7844  -23986375.31749 -18672782.23948  20422460.8704   20422466.8384
+     -1073.8374       -836.7574
+  20943528.1234  -24350932.61949 -18961294.50148  20943528.4764   20943532.6364
+      1504.2164       1172.1174
+  22192423.5124   -8652804.26849  -6720699.22647  22192423.2804   22192430.3304
+      1006.4484        784.2374
+  23067519.3574  -13275187.89949 -10317588.04347  23067518.8604   23067526.0904
+      2200.5404       1714.7114
+  24350541.8594   -4826056.44049  -3462613.05845  24350539.3314   24350542.3834
+       138.1324        107.6334
+  23841440.8794   -3799922.63649  -2618080.46245  23841441.5984   23841449.0374
+      1549.9964       1207.7824
+  23954052.5934   -1468306.82849  -1131060.69445  23954052.7234   23954061.5104
+      2728.7894       2126.3274
+  21043570.3944  -20090812.10049 -15201682.13648  21043570.2524   21043576.9664
+     -1429.8684      -1114.1854
+ 05  1 20 20 36  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  21930339.7034  -17065161.23549 -13252835.45547  21930339.2774   21930347.7424
+     -2075.5384      -1617.2954
+  23159239.6514    -585739.25749   -444355.45646  23159239.0904   23159248.0994
+      3728.6014       2905.4004
+  20428616.8374  -23954026.98649 -18647575.72848  20428616.8304   20428622.6244
+     -1082.6474       -843.6194
+  20934969.9884  -24395912.16049 -18996343.44748  20934969.2384   20934973.5264
+      1494.4104       1164.4754
+  22186732.1724   -8682714.54049  -6744005.90047  22186731.2144   22186738.2654
+       987.5854        769.5394
+  23054972.1694  -13341124.66549 -10368967.26147  23054970.8114   23054978.8094
+      2195.1974       1710.5354
+  24349802.2794   -4829936.81649  -3465636.68245  24349800.9784   24349804.0484
+       120.5534         93.9364
+  23832636.2344   -3846204.96549  -2654144.46745  23832637.0314   23832641.7944
+      1535.4294       1196.4424
+  23938512.0084   -1549977.07849  -1194699.74745  23938512.3434   23938520.3724
+      2715.9254       2116.3084
+  21051751.4774  -20047818.87149 -15168180.90948  21051751.3684   21051758.3704
+     -1436.3554      -1119.2354
+ 05  1 20 20 36 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  21942219.9454  -17002737.30549 -13204193.45747  21942218.7094   21942226.1944
+     -2086.0114      -1625.4684
+  23137974.7454    -697494.69449   -531437.52346  23137973.6704   23137982.7134
+      3721.7374       2900.0514
+  20434822.2374  -23921415.17749 -18622163.90648  20434822.6744   20434828.2634
+     -1091.3974       -850.4424
+  20926466.7824  -24440597.67449 -19031163.27148  20926466.2594   20926469.8544
+      1484.5884       1156.8184
+  22181147.9024   -8712058.98949  -6766871.67247  22181147.6994   22181154.6724
+       968.7174        754.8354
+  23042455.3414  -13406900.76349 -10420221.31247  23042454.8584   23042462.8864
+      2189.8434       1706.3694
+  24349164.2844   -4833290.88249  -3468250.22945  24349164.0154   24349165.1374
+       102.9844         80.2384
+  23823910.4004   -3892050.46649  -2689868.10045  23823911.8404   23823915.7194
+      1520.8614       1185.0834
+  23923044.5244   -1631261.35549  -1258038.08945  23923044.3874   23923050.2704
+      2703.0444       2106.2704
+  21059970.3594  -20004631.68849 -15134528.54548  21059969.7224   21059976.4654
+     -1442.8014      -1124.2614
+ 05  1 20 20 37  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  21954157.9814  -16940001.01849 -13155308.05747  21954157.6704   21954164.9124
+     -2096.3804      -1633.5494
+  23116747.8744    -809042.65049   -618357.96446  23116746.1564   23116754.7984
+      3714.7714       2894.6244
+  20441078.4074  -23888541.15549 -18596547.75948  20441078.2034   20441084.1404
+     -1100.1224       -857.2414
+  20918018.9134  -24484989.25649 -19065754.06048  20918018.5874   20918022.5334
+      1474.8094       1149.2014
+  22175671.7074   -8740836.63949  -6789295.78647  22175671.3274   22175678.4564
+       949.7904        740.0984
+  23029968.2424  -13472516.12649 -10471350.09847  23029967.8244   23029976.8834
+      2184.4994       1702.2044
+  24348625.2824   -4836117.81149  -3470452.96645  24348626.2924   24348631.0444
+        85.4544         66.5854
+  23815269.9734   -3937456.88449  -2725249.62345  23815270.7494   23815277.1414
+      1506.2324       1173.6744
+  23907655.0904   -1712157.17649  -1321073.72845  23907652.3514   23907657.2144
+      2690.0004       2096.1064
+  21068224.3674  -19961251.65949 -15100725.91048  21068224.4154   21068231.2884
+     -1449.2154      -1129.2624
+ 05  1 20 20 37 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  21966155.6604  -16876952.81049 -13106179.60247  21966154.9514   21966162.1094
+     -2106.7274      -1641.6024
+  23095557.1094    -920380.61649   -705114.76246  23095558.1894   23095567.4134
+      3707.7424       2889.1504
+  20447383.6314  -23855406.22649 -18570728.30848  20447383.4854   20447389.1694
+     -1108.7764       -863.9814
+  20909626.9984  -24529086.83449 -19100115.76848  20909626.5844   20909630.4814
+      1465.0154       1141.5714
+  22170304.0134   -8769046.48649  -6811277.45247  22170302.9764   22170310.4924
+       930.8284        725.3184
+  23017513.8244  -13537970.93149 -10522353.76947  23017512.3794   23017520.5144
+      2179.1194       1698.0094
+  24348187.6584   -4838417.01349  -3472244.57345  24348187.1074   24348191.7554
+        67.8124         52.8424
+  23806712.4824   -3982421.79949  -2760287.06845  23806712.3084   23806719.6324
+      1491.4664       1162.1744
+  23892328.4654   -1792662.19849  -1383804.84245  23892332.0494   23892338.2824
+      2676.9724       2085.9484
+  21076515.9294  -19917679.87949 -15066773.86548  21076515.9214   21076523.0374
+     -1455.5774      -1134.2124
+ 05  1 20 20 38  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  21978213.1374  -16813592.90249 -13056808.26947  21978212.0824   21978219.2274
+     -2117.1544      -1649.7284
+  23074412.9844   -1031506.04749   -791705.93746  23074412.8944   23074421.4054
+      3700.6244       2883.6004
+  20453738.3634  -23822011.33249 -18544706.28648  20453738.2394   20453743.9604
+     -1117.4804       -870.7664
+  20901291.6934  -24572890.19449 -19134248.21348  20901291.3154   20901295.2544
+      1455.1874       1133.9104
+  22165043.5134   -8796687.58649  -6832815.93947  22165043.1664   22165050.2864
+       911.8874        710.5624
+  23005086.0014  -13603264.81049 -10573232.04247  23005086.8144   23005095.0064
+      2173.7284       1693.8114
+  24347851.4994   -4840187.55649  -3473624.16345  24347850.8304   24347855.1024
+        50.2094         39.1214
+  23798240.9624   -4026942.69049  -2794978.58445  23798241.1944   23798245.5284
+      1476.5864       1150.5674
+  23877090.4824   -1872773.76249  -1446229.36145  23877087.9344   23877093.4884
+      2663.8434       2075.7194
+  21084844.1274  -19873917.49149 -15032673.29448  21084843.6964   21084849.8904
+     -1461.9174      -1139.1594
+ 05  1 20 20 38 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  21990328.3864  -16749921.81649 -13007194.45847  21990328.2844   21990335.4224
+     -2127.5064      -1657.7904
+  23053308.4544   -1142416.36749   -878129.49646  23053306.7074   23053315.8824
+      3693.3694       2877.9464
+  20460142.1484  -23788357.93249 -18518482.83648  20460142.1684   20460148.0694
+     -1126.0484       -877.4424
+  20893011.5614  -24616399.43949 -19168151.46848  20893011.6644   20893015.9054
+      1445.3804       1126.2694
+  22159892.8474   -8823759.14349  -6853910.62747  22159891.4504   22159899.2504
+       892.8724        695.7454
+  22992693.9954  -13668397.92649 -10623985.05847  22992693.5114   22992700.7844
+      2168.4154       1689.6654
+  24347614.5224   -4841428.87449  -3474591.37045  24347613.9254   24347619.1014
+        32.5314         25.3574
+  23789854.8034   -4071017.04349  -2829322.10045  23789854.4704   23789860.4874
+      1461.6694       1138.9594
+  23861920.3084   -1952489.34049  -1508345.35045  23861919.5854   23861923.8524
+      2650.5494       2065.3614
+  21093207.8034  -19829965.90549 -14998425.28748  21093207.7444   21093214.2824
+     -1468.2114      -1144.0624
+ 05  1 20 20 39  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22002504.0854  -16685939.77449 -12957338.34247  22002504.0024   22002510.8684
+     -2137.8754      -1665.8794
+  23032245.4914   -1253109.05449   -964383.47946  23032243.0454   23032251.4754
+      3686.1094       2872.2884
+  20466595.2674  -23754447.11349 -18492058.79648  20466595.3204   20466600.8314
+     -1134.6034       -884.1104
+  20884788.2554  -24659614.61349 -19201825.58548  20884787.9604   20884792.1944
+      1435.5684       1118.6174
+  22154848.8354   -8850260.46749  -6874560.97547  22154848.6434   22154855.4684
+       873.8784        680.9384
+  22980329.2794  -13733370.27249 -10674612.78847  22980328.9244   22980336.8104
+      2163.0214       1685.4654
+  24347481.0084   -4842140.36949  -3475145.77845  24347480.7504   24347484.5864
+        14.8504         11.5784
+  23781553.9304   -4114642.34249  -2863315.73345  23781554.0734   23781558.9454
+      1446.7324       1127.3204
+  23846826.9394   -2031806.60649  -1570150.93245  23846826.8054   23846830.6144
+      2637.2074       2054.9614
+  21101607.1294  -19785825.89749 -14964030.46248  21101606.9344   21101613.5404
+     -1474.4724      -1148.9454
+ 05  1 20 20 39 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22014739.0834  -16621647.22649 -12907240.26747  22014738.2874   22014745.2004
+     -2148.1634      -1673.8884
+  23011221.5914   -1363581.34349  -1050465.69446  23011219.7924   23011229.4934
+      3678.6934       2866.5164
+  20473096.7974  -23720280.15449 -18465435.17448  20473096.9154   20473103.0244
+     -1143.1354       -890.7564
+  20876620.7814  -24702535.44249 -19235270.34848  20876620.7294   20876624.7504
+      1425.7704       1110.9884
+  22149914.5034   -8876190.96549  -6894766.51547  22149913.8654   22149921.3064
+       854.7914        666.0684
+  22967996.1354  -13798181.85149 -10725115.23547  22967995.6514   22968003.3714
+      2157.6594       1681.2904
+  24347445.3474   -4842321.17749  -3475286.66045  24347444.6014   24347450.6474
+        -2.8174         -2.2024
+  23773336.2454   -4157816.31849  -2896957.73645  23773336.5714   23773342.4424
+      1431.6244       1115.5604
+  23831806.8084   -2110722.97149  -1631644.13545  23831807.4864   23831811.1844
+      2623.8444       2044.5494
+  21110042.5624  -19741498.67849 -14929489.75448  21110042.3684   21110049.0584
+     -1480.6944      -1153.7874
+ 05  1 20 20 40  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22027031.9674  -16557044.45749 -12856900.45947  22027031.8374   22027038.8344
+     -2158.4884      -1681.9444
+  22990242.2724   -1473830.75249  -1136374.25346  22990241.2334   22990249.7644
+      3671.2614       2860.7214
+  20479647.2874  -23685858.23749 -18438612.88348  20479647.4434   20479653.3024
+     -1151.6204       -897.3724
+  20868508.8764  -24745161.98349 -19268485.79148  20868508.9664   20868513.2634
+      1415.9844       1103.3574
+  22145087.9614   -8901549.83049  -6914526.65047  22145088.6924   22145095.6174
+       835.7284        651.2114
+  22955695.6404  -13862832.68049 -10775492.44047  22955693.9044   22955700.9644
+      2152.3354       1677.1374
+  24347512.1804   -4841970.51849  -3475013.40845  24347512.9644   24347516.6454
+       -20.5464        -16.0094
+  23765207.2184   -4200536.50949  -2930246.07946  23765207.7244   23765215.0064
+      1416.3134       1103.6464
+  23816863.6724   -2189236.06349  -1692823.06545  23816865.0304   23816871.5064
+      2610.4504       2034.1104
+  21118513.0584  -19696985.61649 -14894804.23848  21118512.6104   21118519.1584
+     -1486.8524      -1158.5904
+ 05  1 20 20 40 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22039383.9724  -16492131.95849 -12806319.31547  22039383.8094   22039391.5614
+     -2168.9004      -1690.0504
+  22969304.3054   -1583854.88749  -1222107.27346  22969303.8994   22969312.3534
+      3663.6644       2854.8114
+  20486245.7874  -23651182.22649 -18411592.60248  20486245.8974   20486252.1174
+     -1160.0854       -903.9634
+  20860454.0514  -24787494.39349 -19301472.05448  20860453.4964   20860457.2594
+      1406.1704       1095.7194
+  22140372.2694   -8926336.27449  -6933840.71547  22140371.5114   22140378.7854
+       816.6604        636.3584
+  22943422.1784  -13927322.58249 -10825744.26347  22943421.2094   22943428.7894
+      2146.9474       1672.9404
+  24347678.9804   -4841088.11549  -3474325.78645  24347678.1384   24347684.8914
+       -38.3254        -29.8614
+  23757162.8164   -4242800.48149  -2963178.96645  23757163.8654   23757170.1364
+      1401.3034       1091.9294
+  23801998.0534   -2267343.26149  -1753685.74245  23802001.3974   23802007.5234
+      2596.7224       2023.4164
+  21127018.3014  -19652287.60449 -14859974.59948  21127018.5264   21127025.2664
+     -1493.0054      -1163.3834
+ 05  1 20 20 41  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22051796.4174  -16426910.12749 -12755497.14847  22051795.2894   22051802.6184
+     -2179.1694      -1698.0504
+  22948410.8474   -1693651.07349  -1307662.65246  22948410.0054   22948417.0744
+      3656.0144       2848.8394
+  20492892.2594  -23616253.66249 -18384375.52748  20492892.4994   20492898.4244
+     -1168.4364       -910.4734
+  20852453.0174  -24829532.63949 -19334229.08948  20852453.4424   20852457.4914
+      1396.3584       1088.0714
+  22135764.3744   -8950549.53849  -6952708.16847  22135763.9394   22135770.5304
+       797.5594        621.4754
+  22931178.1844  -13991651.79349 -10875870.85947  22931178.5124   22931187.4614
+      2141.5824       1668.7604
+  24347949.2024   -4839673.31849  -3473223.30145  24347947.9344   24347954.3074
+       -56.0064        -43.6384
+  23749209.8664   -4284605.98149  -2995754.63846  23749208.5244   23749216.0394
+      1385.8464       1079.8694
+  23787213.0234   -2345042.35849  -1814230.41045  23787215.3454   23787221.1104
+      2583.1924       2012.8754
+  21135559.5114  -19607405.82049 -14825001.76048  21135558.8374   21135565.9984
+     -1499.1054      -1168.1344
+ 05  1 20 20 41 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22064266.3764  -16361379.36049 -12704434.23147  22064265.1014   22064272.6614
+     -2189.4424      -1706.0604
+  22927560.6844   -1803216.79849  -1393038.45046  22927559.8154   22927568.9114
+      3648.3234       2842.8394
+  20499586.2624  -23581073.63949 -18356962.50448  20499586.9944   20499593.0674
+     -1176.8164       -917.0004
+  20844510.8704  -24871276.44049 -19366756.68248  20844510.0234   20844513.8414
+      1386.5404       1080.4214
+  22131266.9494   -8974188.89849  -6971128.42047  22131265.8474   22131272.1414
+       778.4134        606.5554
+  22918969.6964  -14055820.23249 -10925872.20947  22918969.6934   22918976.3304
+      2136.2554       1664.6034
+  24348320.1534   -4837725.62649  -3471705.61145  24348320.6144   24348323.2944
+       -73.8234        -57.5204
+  23741342.1994   -4325950.95949  -3027971.43546  23741341.6384   23741347.5104
+      1370.4174       1067.8554
+  23772507.7344   -2422330.90349  -1874455.17045  23772505.8344   23772513.7134
+      2569.5004       2002.2014
+  21144134.4094  -19562341.45149 -14789886.64848  21144134.3454   21144141.2554
+     -1505.1824      -1172.8694
+ 05  1 20 20 42  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22076794.3004  -16295540.00449 -12653130.86347  22076793.8284   22076801.5254
+     -2199.7134      -1714.0594
+  22906753.9674   -1912549.41649  -1478232.59246  22906753.8224   22906763.4094
+      3640.5244       2836.7704
+  20506329.2944  -23545643.30049 -18329354.43648  20506329.2584   20506335.4284
+     -1185.1644       -923.5034
+  20836622.2964  -24912726.00449 -19399054.99848  20836622.2284   20836626.3844
+      1376.7384       1072.7884
+  22126875.9384   -8997253.77249  -6989101.00847  22126876.4174   22126883.5604
+       759.2484        591.6274
+  22906788.9104  -14119827.79349 -10975748.17447  22906788.0134   22906796.5394
+      2130.9204       1660.4624
+  24348792.9764   -4835244.15349  -3469771.95245  24348792.0154   24348795.5204
+       -91.6294        -71.3994
+  23733562.1374   -4366832.38449  -3059827.05446  23733561.8294   23733568.2144
+      1354.9804       1055.8264
+  23757877.5504   -2499206.14649  -1934357.88745  23757878.5674   23757885.1254
+      2555.6214       1991.3914
+  21152744.6074  -19517095.20849 -14754629.81348  21152744.6124   21152751.5264
+     -1511.2254      -1177.5754
+ 05  1 20 20 42 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22089382.6364  -16229392.63049 -12601587.47547  22089381.4104   22089388.9904
+     -2209.9344      -1722.0354
+  22885994.8144   -2021646.49749  -1563243.19546  22885994.1364   22886002.8334
+      3632.6354       2830.6184
+  20513118.5904  -23509963.99749 -18301552.36848  20513118.8094   20513124.4484
+     -1193.4364       -929.9584
+  20828791.0554  -24953881.14249 -19431123.89548  20828790.6224   20828794.8864
+      1366.9224       1065.1294
+  22122596.0064   -9019743.30249  -7006625.25847  22122596.4544   22122603.6054
+       740.0664        576.6624
+  22894638.7624  -14183674.65449 -11025498.92747  22894638.5954   22894646.4394
+      2125.4924       1656.2254
+  24349366.0224   -4832228.52549  -3467422.08245  24349365.7624   24349367.4734
+      -109.4374        -85.2784
+  23725870.3644   -4407248.24649  -3091319.87446  23725872.3604   23725877.1584
+      1339.4064       1043.6864
+  23743326.6914   -2575666.07449  -1993937.00045  23743329.0594   23743335.6534
+      2541.7684       1980.5924
+  21161389.5424  -19471668.46749 -14719232.33048  21161389.1244   21161395.8684
+     -1517.2124      -1182.2444
+ 05  1 20 20 43  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22102028.2304  -16162937.64349 -12549804.39847  22102027.3754   22102034.9004
+     -2220.2404      -1730.0494
+  22865279.7894   -2130505.64149  -1648068.39046  22865278.7014   22865287.4264
+      3624.6584       2824.4064
+  20519954.5984  -23474036.70549 -18273557.06448  20519955.1144   20519961.5294
+     -1201.6564       -936.3544
+  20821015.4084  -24994741.88349 -19462963.40448  20821015.0954   20821019.3174
+      1357.1154       1057.4934
+  22118427.0724   -9041656.89549  -7023700.75647  22118426.7244   22118434.1144
+       720.8514        561.7014
+  22882520.0514  -14247360.55149 -11075124.26147  22882519.6064   22882527.3214
+      2120.1764       1652.0854
+  24350040.7874   -4828678.42749  -3464655.72945  24350040.6044   24350047.1994
+      -127.2704        -99.1804
+  23718268.3574   -4447196.57349  -3122448.35745  23718267.8824   23718274.1984
+      1323.7954       1031.5294
+  23728858.1294   -2651708.13349  -2053190.49545  23728858.3244   23728864.9154
+      2527.7824       1969.6984
+  21170068.3734  -19426062.41949 -14683695.12948  21170067.5994   21170074.3104
+     -1523.1784      -1186.8924
+ 05  1 20 20 43 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22114733.4534  -16096175.36749 -12497781.86547  22114732.4334   22114739.7384
+     -2230.4744      -1738.0314
+  22844610.4594   -2239124.11049  -1732706.06846  22844609.9974   22844617.8704
+      3616.5974       2818.1234
+  20526839.0194  -23437862.63549 -18245369.46148  20526839.0834   20526845.1524
+     -1209.8924       -942.7724
+  20813295.6424  -25035308.36249 -19494573.60848  20813295.7814   20813299.8434
+      1347.3004       1049.8464
+  22114367.1894   -9062994.16149  -7040327.15547  22114366.7244   22114373.5214
+       701.6344        546.7304
+  22870431.4944  -14310885.61849 -11124624.25747  22870430.4764   22870439.6254
+      2114.7814       1647.8774
+  24350818.2884   -4824593.15649  -3461472.41345  24350817.9604   24350823.6284
+      -145.0114       -112.9914
+  23710757.5614   -4486674.85649  -3153210.63046  23710756.3634   23710763.1034
+      1308.0564       1019.2654
+  23714466.9234   -2727330.01249  -2112116.56545  23714467.4414   23714475.6824
+      2513.7094       1958.7334
+  21178779.8094  -19380278.12649 -14648019.04248  21178780.1494   21178786.9674
+     -1529.1084      -1191.5134
+ 05  1 20 20 44  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22127495.1834  -16029106.34349 -12445520.30947  22127494.8554   22127502.5314
+     -2240.7144      -1746.0044
+  22823988.3444   -2347499.62849  -1817154.42346  22823986.7294   22823994.6394
+      3608.4514       2811.7724
+  20533769.5124  -23401442.84249 -18216990.38648  20533769.8024   20533775.7384
+     -1218.0284       -949.1104
+  20805632.7934  -25075580.43349 -19525954.41248  20805632.1684   20805636.2364
+      1337.4864       1042.2014
+  22110417.1674   -9083754.62849  -7056504.10447  22110416.1584   22110422.3864
+       682.3944        531.7344
+  22858372.7734  -14374249.96949 -11173999.03147  22858372.7194   22858381.1064
+      2109.4394       1643.7134
+  24351697.3794   -4819972.45649  -3457871.82545  24351697.7724   24351701.8244
+      -162.8684       -126.9144
+  23703332.7054   -4525680.69849  -3183604.72346  23703332.8754   23703340.4864
+      1292.2764       1006.9644
+  23700160.0754   -2802529.24149  -2170713.32545  23700157.6034   23700165.8934
+      2499.5874       1947.7254
+  21187526.4564  -19334316.70849 -14612204.93148  21187526.0994   21187532.6844
+     -1534.9914      -1196.0954
+ 05  1 20 20 44 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22140316.5174  -15961731.07149 -12393020.13147  22140315.7604   22140323.4874
+     -2250.9124      -1753.9664
+  22803411.9594   -2455629.55449  -1901411.41546  22803410.2084   22803417.6344
+      3600.1884       2805.3344
+  20540746.5234  -23364778.72649 -18188420.92348  20540746.7234   20540752.3544
+     -1226.1514       -955.4444
+  20798025.1514  -25115557.99449 -19557105.71748  20798024.8464   20798028.6194
+      1327.6604       1034.5384
+  22106575.1744   -9103937.49849  -7072230.97647  22106575.0544   22106581.6164
+       663.1294        516.7244
+  22846346.6544  -14437453.48649 -11223248.46347  22846346.5914   22846353.0844
+      2104.1004       1639.5554
+  24352680.1804   -4814815.76649  -3453853.61645  24352679.2254   24352682.5604
+      -180.8534       -140.9274
+  23696002.0794   -4564212.03649  -3213629.06646  23696001.0604   23696007.6544
+      1276.4054        994.5964
+  23685926.9524   -2877303.43349  -2228978.86845  23685928.1294   23685937.1374
+      2485.4094       1936.6844
+  21196305.6394  -19288179.16349 -14576253.57848  21196305.5614   21196312.5914
+     -1540.8524      -1200.6654
+ 05  1 20 20 45  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22153196.0624  -15894049.96949 -12340281.61847  22153195.3084   22153202.7404
+     -2261.0644      -1761.8784
+  22782881.9384   -2563511.51149  -1985475.20446  22782881.0844   22782888.6794
+      3591.9164       2798.8834
+  20547769.6534  -23327871.39349 -18159661.94148  20547769.7814   20547775.9684
+     -1234.2444       -961.7484
+  20790473.1304  -25155241.28849 -19588027.72648  20790473.0184   20790476.9924
+      1317.8684       1026.9084
+  22102845.0224   -9123542.27949  -7087507.38547  22102844.2164   22102851.2424
+       643.8474        501.6964
+  22834351.6604  -14500496.41749 -11272372.76247  22834350.0894   22834357.0054
+      2098.7024       1635.3454
+  24353761.5554   -4809122.66249  -3449417.41345  24353763.0574   24353765.9344
+      -198.7164       -154.8484
+  23688759.8144   -4602266.34749  -3243281.74746  23688759.6244   23688767.4594
+      1260.5214        982.2294
+  23671781.5504   -2951650.26549  -2286911.41845  23671781.0464   23671789.3554
+      2471.1094       1925.5394
+  21205118.8164  -19241866.59549 -14540165.84948  21205118.6414   21205125.7084
+     -1546.6594      -1205.1924
+ 05  1 20 20 45 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22166133.2624  -15826063.59449 -12287305.26747  22166132.8724   22166140.6374
+     -2271.2444      -1769.8064
+  22762399.3134   -2671142.88549  -2069343.71546  22762398.7534   22762406.7524
+      3583.5284       2792.3604
+  20554839.0284  -23290721.79749 -18130714.19048  20554839.2064   20554845.1884
+     -1242.3194       -968.0404
+  20782978.0184  -25194630.10749 -19618720.28248  20782977.6824   20782981.3614
+      1308.0644       1019.2744
+  22099223.7914   -9142568.24049  -7102332.77147  22099223.7384   22099230.6644
+       624.5604        486.6654
+  22822383.6014  -14563378.58649 -11321371.78747  22822383.1074   22822391.4154
+      2093.3924       1631.2144
+  24354947.2584   -4802892.99749  -3444563.09745  24354945.3674   24354949.8724
+      -216.5714       -168.7494
+  23681609.3394   -4639841.66849  -3272561.11246  23681610.2524   23681616.1464
+      1244.5294        969.7604
+  23657713.2824   -3025567.33549  -2344509.08546  23657714.8474   23657723.4864
+      2456.7914       1914.3784
+  21213965.3494  -19195379.91749 -14503942.44748  21213964.7914   21213971.6024
+     -1552.4384      -1209.6904
+ 05  1 20 20 46  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22179128.1254  -15757772.31649 -12234091.32047  22179128.2054   22179135.7534
+     -2281.4084      -1777.7204
+  22741966.8224   -2778521.13749  -2153015.01946  22741966.2564   22741973.3384
+      3575.0404       2785.7364
+  20561954.7614  -23253331.25849 -18101578.68348  20561954.5144   20561960.0884
+     -1250.3064       -974.2614
+  20775537.3064  -25233724.53949 -19649183.44048  20775537.6204   20775542.0124
+      1298.2534       1011.6254
+  22095713.9164   -9161015.29649  -7116707.06947  22095713.6354   22095720.2614
+       605.2634        471.6374
+  22810448.2954  -14626100.26449 -11370245.76047  22810447.6544   22810455.0014
+      2088.0634       1627.0624
+  24356237.4934   -4796126.23949  -3439290.27145  24356236.4294   24356238.1194
+      -234.4624       -182.6924
+  23674550.4514   -4676936.03049  -3301465.73446  23674548.8694   23674556.6254
+      1228.4464        957.2184
+  23643730.4094   -3099052.29549  -2401770.03546  23643731.3104   23643738.8484
+      2442.2834       1903.0784
+  21222844.1384  -19148720.18149 -14467584.20248  21222843.9014   21222850.6674
+     -1558.1814      -1214.1624
+ 05  1 20 20 46 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22192182.1574  -15689176.69249 -12180640.20447  22192181.6244   22192189.2624
+     -2291.5134      -1785.5894
+  22721582.1294   -2885643.77749  -2236487.12946  22721580.8224   22721588.7924
+      3566.4924       2779.0804
+  20569114.6544  -23215700.85349 -18072256.27848  20569114.9054   20569121.2414
+     -1258.3064       -980.4994
+  20768155.2664  -25272524.63349 -19679417.24448  20768154.8064   20768158.7704
+      1288.4254       1003.9654
+  22092313.5754   -9178882.87149  -7130629.82047  22092313.4064   22092320.2854
+       585.9224        456.5604
+  22798542.3724  -14688660.98149 -11418994.31747  22798541.9674   22798550.2124
+      2082.6374       1622.8354
+  24357624.2124   -4788822.29449  -3433598.86545  24357623.9744   24357630.7364
+      -252.4474       -196.7064
+  23667583.6184   -4713546.91949  -3329993.62146  23667584.5464   23667590.3784
+      1212.3004        944.6484
+  23629829.4994   -3172102.97049  -2458692.57946  23629830.1764   23629837.3124
+      2427.7664       1891.7664
+  21231755.9814  -19101888.60349 -14431092.04848  21231755.7234   21231762.3474
+     -1563.9014      -1218.6234
+ 05  1 20 20 47  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22205293.7014  -15620277.39849 -12126952.46647  22205292.4444   22205300.3554
+     -2301.6624      -1793.5004
+  22701246.8844   -2992508.12149  -2319757.98046  22701245.8544   22701252.6634
+      3557.7904       2772.3094
+  20576321.6194  -23177831.83849 -18042747.94448  20576321.5974   20576327.1154
+     -1266.2554       -986.6894
+  20760827.8994  -25311030.28949 -19709421.61648  20760827.5524   20760831.4344
+      1278.6054        996.3154
+  22089024.9234   -9196170.55349  -7144100.70647  22089024.2294   22089030.6744
+       566.5854        441.4974
+  22786667.2274  -14751061.37449 -11467617.96047  22786667.4144   22786676.4954
+      2077.3094       1618.6774
+  24359119.1204   -4780980.51549  -3427488.36445  24359118.5934   24359121.3374
+      -270.2954       -210.6194
+  23660709.8694   -4749672.31849  -3358143.17046  23660709.5324   23660716.0434
+      1196.0474        931.9874
+  23616012.7334   -3244716.99149  -2515274.85846  23616011.8644   23616019.7014
+      2413.1954       1880.4074
+  21240700.0394  -19054886.23049 -14394466.81848  21240700.0374   21240706.4254
+     -1569.6004      -1223.0634
+ 05  1 20 20 47 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22218462.0834  -15551074.85449 -12073028.43647  22218461.3724   22218469.0774
+     -2311.7084      -1801.3294
+  22680960.0574   -3099111.88249  -2402825.77846  22680959.3704   22680966.3224
+      3549.0574       2765.4894
+  20583572.7164  -23139725.14849 -18013054.40048  20583572.7234   20583578.3484
+     -1274.1454       -992.8434
+  20753556.5384  -25349241.58749 -19739196.60848  20753556.3554   20753560.2414
+      1268.7954        988.6674
+  22085844.6304   -9212877.98549  -7157119.45647  22085844.3254   22085851.0614
+       547.2374        426.4214
+  22774824.3594  -14813301.09149 -11516116.37947  22774823.5264   22774831.9184
+      2071.9514       1614.5064
+  24360712.2074   -4772600.62949  -3420958.54145  24360712.6474   24360716.2084
+      -288.2564       -224.6164
+  23653926.3844   -4785309.88049  -3385912.62046  23653928.0474   23653934.6654
+      1179.7734        919.3094
+  23602277.4304   -3316891.96549  -2571515.04146  23602277.7504   23602284.9794
+      2398.5104       1868.9664
+  21249676.8994  -19007713.96849 -14357709.20348  21249676.5634   21249683.0374
+     -1575.2284      -1227.4544
+ 05  1 20 20 48  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22231689.0484  -15481569.47949 -12018868.42347  22231688.2724   22231695.7214
+     -2321.8554      -1809.2364
+  22660723.2194   -3205452.41449  -2485688.47546  22660722.8484   22660731.0934
+      3540.2664       2758.6344
+  20590869.2864  -23101382.07649 -17983176.66648  20590869.3164   20590874.9754
+     -1282.0024       -998.9654
+  20746341.3044  -25387158.72649 -19768742.40048  20746340.8454   20746344.7194
+      1258.9984        981.0364
+  22082775.5964   -9229004.66249  -7169685.66547  22082775.7674   22082782.0704
+       527.8634        411.3244
+  22763011.3444  -14875380.14449 -11564489.60947  22763011.2924   22763018.1764
+      2066.6084       1610.3454
+  24362409.3964   -4763682.65349  -3414009.46045  24362407.9614   24362411.9674
+      -306.1834       -238.5894
+  23647238.3204   -4820457.91849  -3413300.61546  23647238.5384   23647245.3584
+      1163.4204        906.5624
+  23588629.3454   -3388625.71049  -2627411.42046  23588628.7784   23588634.5594
+      2383.7754       1857.4814
+  21258685.3324  -18960372.99949 -14320820.13348  21258685.2904   21258691.7494
+     -1580.8344      -1231.8204
+ 05  1 20 20 48 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22244973.1194  -15411762.02349 -11964473.02747  22244972.2674   22244979.0894
+     -2331.8814      -1817.0564
+  22640536.4384   -3311527.55349  -2568344.37746  22640537.2904   22640545.4234
+      3531.4054       2751.7414
+  20598210.0174  -23062803.64349 -17953115.53948  20598210.3964   20598216.0664
+     -1289.8234      -1005.0584
+  20739180.7714  -25424781.43249 -19798058.75948  20739180.8614   20739185.0054
+      1249.1704        973.3754
+  22079818.0004   -9244550.22849  -7181799.05547  22079817.1874   22079824.3464
+       508.5114        396.2484
+  22751229.9324  -14937298.61049 -11612737.70447  22751229.1264   22751235.7364
+      2061.2454       1606.1614
+  24364209.7454   -4754226.15849  -3406640.73645  24364209.4634   24364213.1174
+      -324.1714       -252.5974
+  23640644.7234   -4855113.89949  -3440305.22746  23640643.9874   23640650.5194
+      1146.9914        893.7504
+  23575061.9434   -3459915.75549  -2682962.03846  23575062.2474   23575069.3504
+      2368.9404       1845.9194
+  21267726.2774  -18912864.00249 -14283800.12848  21267726.1134   21267732.9494
+     -1586.4244      -1236.1764
+ 05  1 20 20 49  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22258313.3514  -15341652.90249 -11909842.57247  22258313.6514   22258321.1404
+     -2341.9454      -1824.8904
+  22620405.4424   -3417334.81249  -2650791.52047  22620403.0804   22620411.4734
+      3522.4224       2744.7404
+  20605596.2094  -23023991.15849 -17922872.02348  20605596.0964   20605602.0494
+     -1297.6204      -1011.1344
+  20732077.6284  -25462109.62649 -19827145.63048  20732077.2954   20732081.6554
+      1239.3574        965.7284
+  22076969.4284   -9259514.47849  -7193459.47147  22076968.9094   22076976.4624
+       489.1154        381.1254
+  22739476.8334  -14999056.60749 -11660860.74747  22739476.5624   22739483.8934
+      2055.9014       1601.9984
+  24366111.7264   -4744230.84949  -3398852.19345  24366111.7314   24366113.1904
+      -342.1544       -266.6064
+  23634141.8714   -4889276.17349  -3466925.08746  23634142.6514   23634148.9454
+      1130.4544        880.8664
+  23561581.4174   -3530760.00349  -2738165.27946  23561581.2824   23561587.1044
+      2354.0234       1834.2954
+  21276798.3354  -18865188.43849 -14246650.33648  21276798.1864   21276805.3084
+     -1591.9524      -1240.4864
+ 05  1 20 20 49 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22271711.7414  -15271242.69149 -11854977.50047  22271711.7394   22271718.9484
+     -2351.9754      -1832.7114
+  22600321.6854   -3522871.67849  -2733027.96946  22600319.6744   22600327.1624
+      3513.3574       2737.6684
+  20613025.5584  -22984945.79749 -17892447.06248  20613026.2724   20613031.9994
+     -1305.3484      -1017.1594
+  20725030.7574  -25499143.57949 -19856003.22248  20725030.2094   20725034.0434
+      1229.5454        958.0844
+  22074232.9954   -9273896.98549  -7204666.58547  22074232.3484   22074239.4374
+       469.6914        365.9914
+  22727754.2944  -15060654.30249 -11708858.87247  22727754.6384   22727761.9884
+      2050.5474       1597.8194
+  24368114.4284   -4733696.73549  -3390643.70445  24368113.8404   24368119.2204
+      -360.0844       -280.5934
+  23627736.9154   -4922942.61849  -3493158.60046  23627736.8274   23627742.3524
+      1113.9514        868.0154
+  23548182.3284   -3601156.12949  -2793019.33746  23548184.4624   23548192.2684
+      2339.0614       1822.6354
+  21285902.3744  -18817347.11649 -14209371.37948  21285901.8864   21285908.8694
+     -1597.4584      -1244.7724
+ 05  1 20 20 50  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22285168.4214  -15200532.02549 -11799878.27947  22285166.9454   22285175.2004
+     -2361.9374      -1840.4654
+  22580290.1114   -3628135.38149  -2815051.58346  22580289.0564   22580296.9754
+      3504.2234       2730.5684
+  20620500.5194  -22945668.48549 -17861841.35248  20620500.4874   20620506.1084
+     -1313.0544      -1023.1634
+  20718039.2984  -25535883.23949 -19884631.49148  20718038.9114   20718042.8394
+      1219.7604        950.4594
+  22071606.7864   -9287697.57249  -7215420.26047  22071606.7154   22071613.3864
+       450.3234        350.8994
+  22716063.9444  -15122091.32049 -11756731.80847  22716063.7614   22716070.5674
+      2045.2214       1593.6794
+  24370222.7754   -4722623.52949  -3382015.26545  24370222.5534   24370227.6534
+      -378.0734       -294.6094
+  23621424.4264   -4956111.17049  -3519004.11346  23621424.2364   23621430.5074
+      1097.3364        855.0584
+  23534873.9574   -3671101.88849  -2847522.44746  23534873.5214   23534881.3694
+      2324.0484       1810.9344
+  21295037.0574  -18769340.88149 -14171963.92448  21295037.0964   21295044.6094
+     -1602.9464      -1249.0514
+ 05  1 20 20 50 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22298681.7014  -15129521.44149 -11744545.39247  22298680.8644   22298687.5194
+     -2371.9054      -1848.2394
+  22560310.7954   -3733123.56649  -2896860.49146  22560310.6954   22560318.6964
+      3494.9894       2723.3524
+  20628019.2224  -22906160.03149 -17831055.53448  20628019.3064   20628024.4564
+     -1320.7414      -1029.1464
+  20711104.1394  -25572328.80249 -19913030.59648  20711103.9254   20711107.5674
+      1209.9494        942.8144
+  22069091.7944   -9300916.02749  -7225720.31947  22069090.9664   22069097.9244
+       430.8984        335.7644
+  22704404.1014  -15183368.00749 -11804479.81447  22704402.8304   22704409.6334
+      2039.8404       1589.4804
+  24372434.9344   -4711011.28449  -3372966.76245  24372432.5254   24372437.2764
+      -396.0364       -308.5874
+  23615208.9784   -4988779.62849  -3544459.96146  23615208.4404   23615214.9184
+      1080.6084        842.0284
+  23521646.4204   -3740595.15149  -2901672.96745  23521648.2914   23521657.0854
+      2308.8664       1799.1074
+  21304204.3874  -18721170.92849 -14134428.88948  21304203.6784   21304210.7694
+     -1608.3794      -1253.2824
+ 05  1 20 20 51  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22312251.2234  -15058211.54149 -11688979.24747  22312251.1964   22312258.1414
+     -2381.9484      -1856.0664
+  22540386.0784   -3837833.94449  -2978452.91947  22540385.9004   22540392.3914
+      3485.6974       2716.1214
+  20635579.9554  -22866422.27749 -17800091.03448  20635580.4164   20635586.3734
+     -1328.3764      -1035.1014
+  20704225.1874  -25608480.08249 -19941200.39048  20704224.7664   20704227.9574
+      1200.1414        935.1664
+  22066687.1504   -9313552.08249  -7235566.57347  22066686.4514   22066693.0044
+       411.5014        320.6464
+  22692772.3404  -15244484.34549 -11852102.87347  22692772.1034   22692779.8904
+      2034.5134       1585.3324
+  24374744.9224   -4698859.71949  -3363497.95645  24374744.8244   24374747.6394
+      -414.0284       -322.6154
+  23609087.2194   -5020946.15349  -3569524.70346  23609087.0274   23609094.2044
+      1063.8424        828.9674
+  23508510.8774   -3809633.49249  -2955469.01345  23508511.5584   23508519.1134
+      2293.6774       1787.2794
+  21313401.1534  -18672838.48349 -14096767.23648  21313401.1584   21313407.9144
+     -1613.7984      -1257.5094
+ 05  1 20 20 51 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22325878.6484  -14986603.00849 -11633180.42847  22325876.9064   22325884.0874
+     -2391.9094      -1863.8194
+  22520512.7784   -3942263.91449  -3059826.86046  22520512.2824   22520520.9644
+      3476.3054       2708.8084
+  20643185.8934  -22826455.82949 -17768948.34848  20643186.1084   20643191.6954
+     -1335.9954      -1041.0364
+  20697401.3334  -25644337.04049 -19969140.84248  20697400.7874   20697404.7614
+      1190.3124        927.5114
+  22064393.0004   -9325605.38849  -7244958.72947  22064392.6784   22064400.0134
+       392.0354        305.4814
+  22681173.5714  -15305440.42849 -11899601.05247  22681172.7924   22681180.3174
+      2029.1384       1581.1484
+  24377160.2324   -4686168.64149  -3353608.76145  24377159.7784   24377163.4594
+      -432.0644       -336.6784
+  23603060.9864   -5052608.74149  -3594196.79846  23603062.2754   23603068.7474
+      1046.9784        815.8354
+  23495462.7714   -3878214.91449  -3008909.00345  23495462.3704   23495468.1054
+      2278.4204       1775.3874
+  21322628.8594  -18624344.03649 -14058979.35548  21322628.9094   21322636.5844
+     -1619.1794      -1261.6994
+ 05  1 20 20 52  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22339560.7314  -14914696.37149 -11577149.30247  22339560.0924   22339568.1834
+     -2401.7924      -1871.5294
+  22500695.2754   -4046411.22749  -3140980.52946  22500693.6604   22500701.0544
+      3466.8084       2701.4064
+  20650834.9634  -22786261.88749 -17737628.38748  20650834.5254   20650840.2794
+     -1343.5504      -1046.9224
+  20690633.7264  -25679899.70449 -19996851.98548  20690633.4924   20690637.5304
+      1180.5154        919.8804
+  22062210.1674   -9337075.80549  -7253896.67247  22062209.7114   22062216.5974
+       372.6254        290.3614
+  22669604.8134  -15366236.39749 -11946974.46147  22669603.6774   22669611.4344
+      2023.8384       1577.0114
+  24379678.3794   -4672938.20949  -3343299.34845  24379676.1234   24379679.3834
+      -450.0364       -350.6844
+  23597131.7544   -5083765.29449  -3618474.55246  23597132.3604   23597137.7744
+      1030.1094        802.6664
+  23482498.0414   -3946337.16449  -3061991.22145  23482498.0624   23482504.7134
+      2263.0874       1763.4444
+  21331887.5224  -18575688.86949 -14021066.23348  21331888.0354   21331894.9204
+     -1624.5034      -1265.8524
+ 05  1 20 20 52 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22353301.2494  -14842492.39449 -11520886.49047  22353300.1784   22353307.8664
+     -2411.7034      -1879.2514
+  22480930.4564   -4150273.45649  -3221912.05947  22480929.5244   22480937.1434
+      3457.3004       2693.9934
+  20658525.8944  -22745841.51649 -17706131.98748  20658526.0994   20658532.2414
+     -1351.0874      -1052.8004
+  20683922.2154  -25715168.27949 -20024333.96348  20683922.1204   20683926.2084
+      1170.7054        912.2354
+  22060139.4024   -9347963.31449  -7262380.41547  22060138.5394   22060144.7994
+       353.1794        275.1974
+  22658065.2084  -15426872.05349 -11994222.95347  22658065.3044   22658072.7354
+      2018.4594       1572.8134
+  24382297.5874   -4659168.40449  -3332569.60145  24382297.2834   24382299.0254
+      -467.9614       -364.6564
+  23591301.6714   -5114414.16049  -3642356.67946  23591300.8404   23591307.4354
+      1013.1534        789.4684
+  23469622.5534   -4013997.99449  -3114713.86045  23469622.2084   23469630.3934
+      2247.7044       1751.4504
+  21341177.8174  -18526873.91249 -13983028.59048  21341177.1664   21341184.2824
+     -1629.8394      -1270.0134
+ 05  1 20 20 53  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22367098.1374  -14769991.64449 -11464392.41347  22367097.1284   22367104.5104
+     -2421.5804      -1886.9434
+  22461220.3614   -4253847.96649  -3302619.38647  22461219.6264   22461227.7594
+      3447.6544       2686.4824
+  20666260.3834  -22705195.84349 -17674460.03848  20666260.8264   20666266.9064
+     -1358.5584      -1058.6144
+  20677266.7794  -25750142.66749 -20051586.70048  20677266.7684   20677270.7314
+      1160.9134        904.6094
+  22058176.9924   -9358267.65549  -7270409.73647  22058177.0614   22058184.7054
+       333.7854        260.0864
+  22646558.0984  -15487347.45049 -12041346.57047  22646557.6384   22646564.5004
+      2013.1604       1568.6964
+  24385019.0974   -4644859.01849  -3321419.46645  24385019.7014   24385023.7854
+      -485.9584       -378.6694
+  23585566.1224   -5144553.36249  -3665841.69546  23585565.3734   23585572.1544
+       996.1184        776.1984
+  23456836.3224   -4081195.30349  -3167075.33845  23456835.7024   23456842.2124
+      2232.1884       1739.3684
+  21350496.3044  -18477900.07549 -13944867.16148  21350496.8514   21350503.5364
+     -1635.0954      -1274.0984
+ 05  1 20 20 53 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22380951.2664  -14697194.55249 -11407667.44147  22380950.2454   22380956.9954
+     -2431.4524      -1894.6364
+  22441566.1984   -4357132.20549  -3383100.55246  22441564.8134   22441572.7364
+      3437.9624       2678.9374
+  20674038.3754  -22664325.95349 -17642613.36248  20674038.4064   20674044.0004
+     -1366.0364      -1064.4424
+  20670667.5824  -25784822.93649 -20078610.25548  20670667.4974   20670671.4024
+      1151.1044        896.9694
+  22056328.4024   -9367988.67349  -7277984.52647  22056327.9324   22056333.8494
+       314.3314        244.9394
+  22635080.5184  -15547662.73549 -12088345.41247  22635080.0364   22635086.8974
+      2007.8324       1564.5394
+  24387847.4814   -4630009.98649  -3309848.76945  24387845.6014   24387851.3224
+      -503.9504       -392.6874
+  23579927.8864   -5174180.92749  -3688928.01946  23579927.4244   23579933.3564
+       979.0594        762.9054
+  23444136.7684   -4147926.98249  -3219073.98245  23444136.3644   23444144.4264
+      2216.6264       1727.2374
+  21359847.1944  -18428767.94049 -13906582.37048  21359846.7774   21359853.3194
+     -1640.3484      -1278.1904
+ 05  1 20 20 54  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22394858.9654  -14624102.06249 -11350712.29447  22394859.0824   22394866.2804
+     -2441.2834      -1902.3024
+  22421966.7694   -4460124.22049  -3463353.99546  22421965.5974   22421973.9704
+      3428.1934       2671.3204
+  20681858.0014  -22623233.11949 -17610592.96548  20681857.9884   20681863.7074
+     -1373.4244      -1070.1994
+  20664123.8484  -25819209.15049 -20105404.67748  20664123.7354   20664127.6544
+      1141.3014        889.3254
+  22054588.7344   -9377126.46349  -7285104.85147  22054588.3004   22054595.1594
+       294.8654        229.7634
+  22623632.7734  -15607818.06349 -12135219.61247  22623632.2494   22623639.6744
+      2002.4734       1560.3664
+  24390773.5454   -4614621.54949  -3297857.72845  24390773.9874   24390780.1934
+      -521.9074       -406.6814
+  23574385.0874   -5203294.87949  -3711614.15946  23574386.3554   23574392.8764
+       961.8884        749.5314
+  23431527.9224   -4214190.71649  -3270707.99445  23431526.6334   23431534.7564
+      2200.9934       1715.0594
+  21369225.8094  -18379479.00549 -13868175.39948  21369225.7174   21369232.4694
+     -1645.5624      -1282.2544
+ 05  1 20 20 54 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22408824.6654  -14550714.73949 -11293527.38247  22408823.8394   22408831.0784
+     -2451.0964      -1909.9334
+  22402424.4644   -4562821.37349  -3543377.67447  22402423.4084   22402432.0494
+      3418.3024       2663.6204
+  20689719.7594  -22581918.18449 -17578399.50348  20689719.9754   20689725.9004
+     -1380.8074      -1075.9534
+  20657636.3894  -25853301.29849 -20131969.95448  20657635.8454   20657639.9974
+      1131.4864        881.6774
+  22052961.5014   -9385680.86749  -7291770.60047  22052960.7154   22052967.3024
+       275.4354        214.6254
+  22612215.3864  -15667813.46149 -12181969.18647  22612214.9634   22612222.6614
+      1997.1414       1556.2184
+  24393807.3374   -4598693.77249  -3285446.46645  24393806.1504   24393807.1744
+      -539.8894       -420.6934
+  23568946.4724   -5231893.60849  -3733898.79646  23568945.3944   23568951.2244
+       944.6894        736.1154
+  23419005.1794   -4279984.53049  -3321975.83145  23419005.3534   23419013.8774
+      2185.2924       1702.8224
+  21378635.1644  -18330034.11649 -13829646.90648  21378634.7254   21378641.9804
+     -1650.7444      -1286.2904
+ 05  1 20 20 55  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22422844.7864  -14477033.33249 -11236113.32647  22422844.4884   22422853.2414
+     -2460.9154      -1917.5964
+  22382937.8224   -4665221.35049  -3623169.78847  22382937.0114   22382945.4374
+      3408.3534       2655.8524
+  20697623.8834  -22540382.21049 -17546033.79948  20697623.8894   20697629.7914
+     -1388.2004      -1081.7134
+  20651204.8254  -25887099.41249 -20158306.12948  20651204.3194   20651208.3224
+      1121.6914        874.0404
+  22051444.5264   -9393652.00449  -7297981.85747  22051443.9114   22051450.5034
+       255.9794        199.4664
+  22600828.5034  -15727648.85649 -12228594.10947  22600828.6174   22600836.2644
+      1991.8294       1552.0704
+  24396939.2214   -4582226.63349  -3272614.92345  24396938.5944   24396945.3924
+      -557.8924       -434.7264
+  23563598.7584   -5259975.27949  -3755780.58046  23563599.7614   23563607.9294
+       927.4304        722.6824
+  23406576.4194   -4345306.30949  -3372875.82746  23406575.3144   23406583.2954
+      2169.5294       1690.5404
+  21388072.7334  -18280434.27849 -13790997.68248  21388072.6884   21388080.0834
+     -1655.9054      -1290.3154
+ 05  1 20 20 55 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22436921.8114  -14403058.39849 -11178470.55147  22436921.7444   22436929.7464
+     -2470.6484      -1925.1734
+  22363508.9584   -4767321.79249  -3702728.51147  22363508.2404   22363516.2824
+      3398.3324       2648.0594
+  20705569.7064  -22498626.36649 -17513496.76448  20705570.0604   20705575.3864
+     -1395.4804      -1087.3854
+  20644829.2804  -25920603.66249 -20184413.31048  20644828.8914   20644832.6754
+      1111.9074        866.4244
+  22050039.2334   -9401039.57249  -7303738.37747  22050038.1714   22050044.5654
+       236.5424        184.3274
+  22589474.0694  -15787324.26349 -12275094.35147  22589472.8424   22589479.9814
+      1986.4894       1547.9014
+  24400175.1004   -4565220.06849  -3259363.04445  24400174.0484   24400179.8114
+      -575.8694       -448.7314
+  23558356.3194   -5287537.95649  -3777257.89946  23558354.6114   23558360.4174
+       910.0944        709.1604
+  23394237.6214   -4410153.85749  -3423406.33646  23394236.3394   23394243.4734
+      2153.6494       1678.1644
+  21397540.7214  -18230680.28349 -13752228.33248  21397540.5504   21397548.0034
+     -1661.0254      -1294.3054
+ 05  1 20 20 56  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22451056.1294  -14328790.63649 -11120599.60147  22451054.6554   22451062.8084
+     -2480.4244      -1932.7934
+  22344137.9294   -4869120.26149  -3782051.91047  22344136.4204   22344144.7144
+      3388.2214       2640.1694
+  20713557.0074  -22456651.66449 -17480789.19748  20713557.3684   20713563.1854
+     -1402.7504      -1093.0514
+  20638509.2864  -25953813.84449 -20210291.34448  20638509.3004   20638513.1904
+      1102.0834        858.7694
+  22048743.9744   -9407843.87549  -7309040.40647  22048743.5614   22048749.7344
+       217.0754        169.1514
+  22578148.2854  -15846839.70349 -12321469.93847  22578147.3364   22578155.0644
+      1981.1274       1543.7404
+  24403515.5934   -4547674.45749  -3245691.10845  24403514.3314   24403518.9104
+      -593.8224       -462.7174
+  23553208.9174   -5314579.91049  -3798329.50246  23553208.6584   23553216.9474
+       892.6924        695.6104
+  23381986.7664   -4474525.22849  -3473565.78846  23381986.3464   23381994.3754
+      2137.7734       1665.7984
+  21407037.9404  -18180773.21049 -13713339.69948  21407038.1174   21407045.2784
+     -1666.1214      -1298.2764
+ 05  1 20 20 56 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22465243.3424  -14254230.93849 -11062501.17147  22465242.7384   22465251.1444
+     -2490.1794      -1940.4034
+  22324824.4424   -4970614.29249  -3861138.08447  22324822.8934   22324831.2624
+      3378.0064       2632.2024
+  20721585.6414  -22414459.12849 -17447911.88448  20721586.2484   20721592.1604
+     -1409.9834      -1098.6904
+  20632245.7404  -25986730.11349 -20235940.36348  20632245.6254   20632249.0164
+      1092.3144        851.1504
+  22047559.2684   -9414064.85349  -7313887.90747  22047559.8054   22047565.5994
+       197.6484        154.0084
+  22566853.1254  -15906195.59849 -12367721.20747  22566852.7934   22566860.0554
+      1975.8434       1539.6034
+  24406954.0434   -4529589.83649  -3231599.29745  24406954.6804   24406960.0264
+      -611.7684       -476.6954
+  23548163.1544   -5341099.62449  -3818994.14846  23548162.8034   23548168.5934
+       875.2354        682.0014
+  23369828.4904   -4538418.20549  -3523352.48546  23369828.7564   23369835.2604
+      2121.7644       1653.3164
+  21416564.2574  -18130713.81849 -13674332.37248  21416563.8094   21416571.1074
+     -1671.1664      -1302.2144
+ 05  1 20 20 57  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22479487.1394  -14179379.90949 -11004175.73347  22479487.0494   22479494.2744
+     -2499.8374      -1947.9234
+  22305568.6694   -5071801.48549  -3939985.17947  22305567.9794   22305575.6244
+      3367.7764       2624.2424
+  20729656.4864  -22372049.98149 -17414865.79048  20729656.8564   20729662.1094
+     -1417.2144      -1104.3224
+  20626037.9544  -26019352.69949 -20261360.53148  20626037.6024   20626041.2174
+      1082.5014        843.5074
+  22046487.8304   -9419702.67649  -7318280.99447  22046486.7484   22046492.8404
+       178.1884        138.8464
+  22555589.3084  -15965391.73749 -12413847.99047  22555588.3694   22555594.9224
+      1970.4794       1535.4394
+  24410500.0134   -4510966.36449  -3217087.50645  24410498.5734   24410502.3674
+      -629.7514       -490.7134
+  23543216.2724   -5367094.85749  -3839250.13646  23543215.7994   23543222.9894
+       857.7544        668.3854
+  23357762.2914   -4601830.81449  -3572764.84846  23357761.7284   23357768.1714
+      2105.7774       1640.8604
+  21426119.1274  -18080503.03549 -13635207.09648  21426118.6574   21426125.7254
+     -1676.2084      -1306.1404
+ 05  1 20 20 57 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22493786.5534  -14104238.18349 -10945623.75646  22493785.4884   22493793.7314
+     -2509.5174      -1955.4664
+  22286371.9334   -5172679.46049  -4018591.30847  22286371.5614   22286379.6214
+      3357.4364       2616.1744
+  20737768.0204  -22329425.14049 -17381651.61248  20737767.7644   20737773.9264
+     -1424.3874      -1109.9094
+  20619885.6384  -26051681.37549 -20286551.67648  20619885.2844   20619889.5204
+      1072.7104        835.8834
+  22045525.9054   -9424757.22849  -7322219.59147  22045524.9164   22045531.4154
+       158.7574        123.7104
+  22544353.7124  -16024428.29349 -12459850.44047  22544353.4404   22544360.8084
+      1965.2024       1531.3224
+  24414144.2094   -4491804.28049  -3202155.97345  24414143.3884   24414148.3224
+      -647.7044       -504.7014
+  23538369.4604   -5392564.20349  -3859096.33546  23538369.3424   23538376.1844
+       840.1784        654.6774
+  23345784.7764   -4664761.07249  -3621801.35646  23345785.4834   23345792.6214
+      2089.6244       1628.2774
+  21435702.9594  -18030141.83649 -13595964.59548  21435702.3614   21435708.9304
+     -1681.2114      -1310.0354
+ 05  1 20 20 58  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22508140.4464  -14028806.62049 -10886845.96946  22508139.7624   22508147.3374
+     -2519.1664      -1962.9854
+  22267234.9234   -5273246.02449  -4096954.77347  22267233.8534   22267241.9314
+      3347.0014       2608.0504
+  20745920.0104  -22286585.58249 -17348270.13548  20745919.8064   20745925.8824
+     -1431.5174      -1115.4674
+  20613789.4574  -26083716.38549 -20311514.00248  20613789.4044   20613793.3384
+      1062.9414        828.2684
+  22044674.1394   -9429228.61349  -7325703.76647  22044673.5264   22044680.1534
+       139.3294        108.5724
+  22533149.7674  -16083305.18949 -12505728.47047  22533149.0694   22533156.6804
+      1959.8834       1527.1784
+  24417896.6964   -4472103.78449  -3186804.91345  24417895.4954   24417899.6424
+      -665.7074       -518.7354
+  23533623.9044   -5417505.79149  -3878531.31146  23533623.2414   23533629.3934
+       822.5504        640.9374
+  23333902.8954   -4727206.73749  -3670460.26546  23333903.1874   23333909.7854
+      2073.4054       1615.6414
+  21445314.2974  -17979631.07949 -13556605.55748  21445313.9744   21445321.2244
+     -1686.1784      -1313.9024
+ 05  1 20 20 58 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22522549.5124  -13953085.82949 -10827842.77546  22522548.8914   22522556.9924
+     -2528.8054      -1970.4924
+  22248156.5404   -5373498.63449  -4175073.60247  22248156.6614   22248163.9704
+      3336.5004       2599.8604
+  20754112.4894  -22243532.55549 -17314722.31148  20754112.5604   20754118.3584
+     -1438.6284      -1121.0114
+  20607749.2614  -26115457.71849 -20336247.48348  20607749.1574   20607753.0944
+      1053.1304        820.6154
+  22043934.3384   -9433117.18149  -7328733.79047  22043933.8314   22043940.2534
+       119.8834         93.4094
+  22521976.9334  -16142022.56049 -12551482.20947  22521976.0844   22521983.0574
+      1954.5334       1523.0094
+  24421746.5754   -4451865.12449  -3171034.49645  24421746.9384   24421747.4624
+      -683.6114       -532.6854
+  23528978.3754   -5441918.20049  -3897553.91146  23528978.1844   23528984.6264
+       804.8914        627.1914
+  23322110.8164   -4789166.04349  -3718740.19546  23322112.5654   23322118.8604
+      2057.2344       1603.0484
+  21454954.2224  -17928971.70749 -13517130.72548  21454954.0744   21454961.0344
+     -1691.1414      -1317.7764
+ 05  1 20 20 59  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22537014.3804  -13877076.60449 -10768614.85146  22537013.4104   22537020.8044
+     -2538.4034      -1977.9754
+  22229139.8694   -5473435.14249  -4252946.13547  22229138.9424   22229147.2704
+      3325.9204       2591.6264
+  20762345.9354  -22200267.06149 -17281008.93248  20762345.5374   20762351.2934
+     -1445.7064      -1126.5204
+  20601765.1904  -26146905.23749 -20360752.02248  20601764.8234   20601768.7154
+      1043.3274        812.9824
+  22043305.7134   -9436423.09749  -7331309.81547  22043304.8694   22043310.6164
+       100.4734         78.2954
+  22510833.2624  -16200580.45649 -12597111.68847  22510832.1824   22510840.1854
+      1949.2354       1518.8834
+  24425701.2364   -4431088.57549  -3154844.94345  24425699.2004   24425705.0094
+      -701.5614       -546.6574
+  23524432.6044   -5465799.59449  -3916162.74846  23524433.0604   23524438.6754
+       787.2014        613.3984
+  23310416.2014   -4850636.98749  -3766639.60846  23310414.7124   23310420.8454
+      2040.8974       1590.3084
+  21464623.4334  -17878164.51949 -13477540.70348  21464622.7884   21464629.4924
+     -1696.0484      -1321.5954
+ 05  1 20 20 59 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22551531.9864  -13800779.85449 -10709162.85946  22551532.1244   22551539.2884
+     -2547.9644      -1985.4234
+  22210182.4834   -5573053.28349  -4330570.54947  22210182.1404   22210190.3164
+      3315.2594       2583.3094
+  20770618.6594  -22156789.89749 -17247130.62248  20770619.0834   20770624.7304
+     -1452.7034      -1131.9774
+  20595837.6794  -26178059.19849 -20385027.82048  20595836.8144   20595840.3174
+      1033.5614        805.3704
+  22042786.6414   -9439146.40749  -7333431.84747  22042786.3854   22042793.5604
+        81.0804         63.1784
+  22499718.4974  -16258979.06449 -12642617.03747  22499718.7534   22499726.3444
+      1943.9084       1514.7294
+  24429752.0824   -4409774.23249  -3138236.41045  24429753.4244   24429757.5264
+      -719.5154       -560.6624
+  23519991.4084   -5489148.41649  -3934356.57246  23519991.4664   23519997.7524
+       769.3874        599.5204
+  23298811.9414   -4911617.49949  -3814156.84146  23298811.0914   23298817.9064
+      2024.5534       1577.5754
+  21474319.1384  -17827210.46949 -13437836.24248  21474318.8414   21474325.7874
+     -1700.9124      -1325.3844
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 21  0  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22566105.7474  -13724196.16849 -10649487.29546  22566104.9584   22566112.4334
+     -2557.5474      -1992.8994
+  22191288.3374   -5672350.72149  -4407945.08147  22191287.0954   22191294.3154
+      3304.5584       2574.9814
+  20778932.3784  -22113102.39649 -17213088.40748  20778932.5244   20778937.7104
+     -1459.7344      -1137.4584
+  20589964.0204  -26208919.60049 -20409074.86348  20589963.8204   20589967.6984
+      1023.7824        797.7484
+  22042379.6834   -9441287.28349  -7335100.04447  22042379.1204   22042385.5544
+        61.6584         48.0474
+  22488637.6954  -16317218.26149 -12687998.18247  22488637.5574   22488644.2024
+      1938.6144       1510.6044
+  24433915.2864   -4387922.61849  -3121209.15645  24433914.4184   24433917.0454
+      -737.3184       -574.5374
+  23515649.4814   -5511963.13549  -3952134.24546  23515649.1184   23515654.5834
+       751.5654        585.6504
+  23287299.3384   -4972105.57249  -3861290.36646  23287299.4474   23287306.4734
+      2008.0824       1564.7384
+  21484042.1374  -17776110.41249 -13398018.01147  21484042.4754   21484049.5884
+     -1705.7614      -1329.1654
+ 05  1 20 21  0 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22580735.2424  -13647326.45449 -10589588.83746  22580733.5314   22580740.8794
+     -2567.0504      -2000.2934
+  22172453.4184   -5771324.92349  -4485067.74647  22172452.5744   22172459.7454
+      3293.7504       2566.5614
+  20787285.6424  -22069205.30649 -17178882.87548  20787285.7634   20787291.3924
+     -1466.6804      -1142.8674
+  20584147.5274  -26239486.32849 -20432893.07748  20584147.4034   20584151.0224
+      1013.9874        790.1224
+  22042081.8304   -9442846.22749  -7336314.78547  22042081.9074   22042088.6444
+        42.2514         32.9224
+  22477586.4744  -16375298.13249 -12733255.17447  22477585.0644   22477592.0024
+      1933.3354       1506.4984
+  24438173.5274   -4365534.04549  -3103763.47045  24438174.3884   24438178.4404
+      -755.1924       -588.4574
+  23511410.0634   -5534241.92449  -3969494.31846  23511409.8494   23511416.0314
+       733.6924        571.7214
+  23275884.1524   -5032099.32649  -3908038.70346  23275883.6874   23275890.9224
+      1991.5684       1551.8714
+  21493794.7094  -17724865.34549 -13358086.78247  21493794.2674   21493800.9094
+     -1710.5854      -1332.9184
+ 05  1 20 21  1  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22595415.4124  -13570171.41949 -10529468.06346  22595414.9964   22595422.9694
+     -2576.5464      -2007.7024
+  22153681.2304   -5869973.49449  -4561936.67047  22153680.8364   22153687.4724
+      3282.8514       2558.0564
+  20795678.8414  -22025099.91149 -17144515.03548  20795678.9944   20795684.4914
+     -1473.6194      -1148.2794
+  20578386.7424  -26269759.66449 -20456482.67248  20578386.4244   20578390.2794
+      1004.2124        782.5034
+  22041896.3984   -9443823.63349  -7337076.37647  22041895.6594   22041903.2384
+        22.8874         17.8354
+  22466563.1704  -16433218.88549 -12778388.18947  22466562.7104   22466569.7754
+      1928.0044       1502.3344
+  24442537.0244   -4342608.77249  -3085899.63845  24442535.2794   24442541.3684
+      -773.1924       -602.4784
+  23507272.1074   -5555983.39349  -3986435.67946  23507272.3714   23507277.5084
+       715.7534        557.7434
+  23264559.7654   -5091596.77449  -3954400.29946  23264561.0744   23264568.7804
+      1974.9884       1538.9564
+  21503574.0534  -17673476.09549 -13318043.19747  21503573.4314   21503580.0344
+     -1715.3904      -1336.6674
+ 05  1 20 21  1 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22610152.1324  -13492731.92149 -10469125.62746  22610151.8944   22610159.5224
+     -2585.9684      -2015.0324
+  22134972.3974   -5968294.22149  -4638550.11647  22134970.8394   22134977.9764
+      3271.8304       2549.4714
+  20804111.0684  -21980786.99649 -17109985.48248  20804111.3524   20804116.7174
+     -1480.5244      -1153.6564
+  20572681.5384  -26299739.75149 -20479843.77148  20572681.4524   20572685.2894
+       994.4274        774.8774
+  22041820.6574   -9444219.50449  -7337384.83147  22041820.8494   22041826.9254
+         3.5054          2.7364
+  22455571.4224  -16490980.59549 -12823397.27147  22455571.1784   22455578.2084
+      1922.6934       1498.1964
+  24447001.1684   -4319147.31149  -3067617.97545  24447001.3794   24447002.9364
+      -791.0034       -616.3704
+  23503238.5264   -5577186.09549  -4002957.22546  23503237.9704   23503243.3094
+       697.7514        543.7004
+  23253335.4084   -5150596.11849  -4000373.74646  23253334.9934   23253340.9694
+      1958.3494       1525.9854
+  21513380.0034  -17621943.40949 -13277887.85547  21513379.7534   21513386.0914
+     -1720.1204      -1340.3574
+ 05  1 20 21  2  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22624942.5844  -13415008.76349 -10408562.13246  22624942.3054   22624949.6914
+     -2595.4644      -2022.4444
+  22116324.4664   -6066285.02349  -4714906.49647  22116323.3964   22116330.7554
+      3260.8414       2540.9134
+  20812582.7694  -21936267.69649 -17075295.10948  20812582.8674   20812588.8574
+     -1487.3784      -1158.9994
+  20567032.8274  -26329426.39249 -20502976.19748  20567032.1424   20567035.9904
+       984.6474        767.2534
+  22041856.7684   -9444034.15949  -7337240.39647  22041856.3434   22041862.7494
+       -15.8654        -12.3644
+  22444610.5544  -16548583.21449 -12868282.38247  22444610.0824   22444616.4684
+      1917.4234       1494.0954
+  24451570.4564   -4295149.92449  -3048918.74645  24451569.6774   24451572.5354
+      -808.8414       -630.2634
+  23499304.9584   -5597848.57649  -4019057.81846  23499303.8494   23499311.8484
+       679.7214        529.6454
+  23242202.4974   -5209095.39949  -4045957.53446  23242202.5404   23242208.5444
+      1941.6474       1512.9674
+  21523213.6164  -17570268.18949 -13237621.43547  21523213.2034   21523219.9284
+     -1724.8594      -1344.0514
+ 05  1 20 21  2 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22639786.0474  -13337002.84049 -10347778.29646  22639785.7024   22639794.0004
+     -2604.8474      -2029.7634
+  22097738.6614   -6163943.58949  -4791003.98047  22097738.7524   22097746.5474
+      3249.7034       2532.2334
+  20821094.0224  -21891542.84049 -17040444.57048  20821094.2684   20821099.5474
+     -1494.2124      -1164.3224
+  20561439.1294  -26358819.70249 -20525880.06448  20561439.2124   20561442.5454
+       974.8894        759.6514
+  22042002.1664   -9443267.93449  -7336643.31647  22042001.9994   22042008.9434
+       -35.2554        -27.4754
+  22433678.9834  -16606026.85449 -12913043.61947  22433678.6954   22433685.4764
+      1912.1104       1489.9484
+  24456236.9674   -4270617.15149  -3029802.32445  24456236.2724   24456240.6034
+      -826.6274       -644.1274
+  23495476.8994   -5617969.12449  -4034736.12146  23495476.8124   23495482.4424
+       661.6314        515.5534
+  23231163.9544   -5267092.82249  -4091150.25046  23231166.0474   23231171.7224
+      1924.8674       1499.9024
+  21533074.9144  -17518451.30049 -13197244.63547  21533074.2384   21533080.1714
+     -1729.5814      -1347.7274
+ 05  1 20 21  3  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22654683.8274  -13258714.77949 -10286774.66446  22654683.3704   22654691.6524
+     -2614.2544      -2037.0804
+  22079220.7324   -6261267.49449  -4866840.69647  22079219.4434   22079226.9744
+      3238.5134       2523.5144
+  20829643.5494  -21846613.71249 -17005434.85348  20829643.4914   20829649.3234
+     -1501.0114      -1169.6204
+  20555901.9734  -26387919.99149 -20548555.58948  20555901.3554   20555904.9114
+       965.1044        752.0264
+  22042258.7624   -9441921.06849  -7335593.80247  22042258.3064   22042264.3504
+       -54.5604        -42.5164
+  22422778.9754  -16663311.50849 -12957680.96647  22422777.8324   22422785.0354
+      1906.8304       1485.8424
+  24461005.0504   -4245549.42049  -3010268.99445  24461004.9594   24461009.9664
+      -844.4884       -658.0474
+  23491752.1174   -5637546.30049  -4049991.04346  23491752.6864   23491757.1154
+       643.4814        501.4164
+  23220225.9464   -5324586.38549  -4135950.37446  23220225.1374   23220230.9564
+      1908.0434       1486.7904
+  21542960.8304  -17466493.65049 -13156758.14247  21542960.7014   21542967.3054
+     -1734.2614      -1351.3784
+ 05  1 20 21  3 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22669636.2714  -13180145.69649 -10225552.00946  22669635.3624   22669642.0774
+     -2623.5834      -2044.3484
+  22060763.9464   -6358254.59649  -4942414.95647  22060763.1064   22060770.5024
+      3227.2754       2514.7604
+  20838232.5444  -21801481.00549 -16970266.49948  20838232.2944   20838237.6844
+     -1507.7684      -1174.8824
+  20550419.8324  -26416726.95149 -20571002.55448  20550419.6374   20550423.3784
+       955.3384        744.4224
+  22042625.2044   -9439994.09249  -7334092.24747  22042624.8104   22042631.5714
+       -73.8824        -57.5654
+  22411906.9834  -16720437.32149 -13002194.52947  22411906.9214   22411914.5354
+      1901.5344       1481.7154
+  24465880.5644   -4219947.18149  -2990319.23645  24465879.3544   24465883.3464
+      -862.3084       -671.9174
+  23488128.5914   -5656578.67649  -4064821.44946  23488128.8154   23488135.0814
+       625.3084        487.2804
+  23209382.2444   -5381574.34349  -4180356.50146  23209381.3964   23209386.5464
+      1891.1534       1473.6284
+  21552875.0404  -17414396.09449 -13116162.64347  21552874.4544   21552881.3424
+     -1738.9144      -1354.9954
+ 05  1 20 21  4  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22684639.8614  -13101296.18649 -10164110.83346  22684639.2694   22684646.7874
+     -2632.9374      -2051.6294
+  22042371.1024   -6454902.74349  -5017725.10447  22042371.2944   22042378.4424
+      3215.9394       2505.9214
+  20846859.0294  -21756145.92749 -16934940.45748  20846859.0024   20846864.2434
+     -1514.4854      -1180.1184
+  20544993.7134  -26445241.00749 -20593221.28548  20544993.4264   20544997.0064
+       945.5774        736.8124
+  22043102.8814   -9437487.56249  -7332139.10047  22043101.9064   22043108.6974
+       -93.2404        -72.6604
+  22401066.4424  -16777404.40449 -13046584.42547  22401066.4004   22401073.6084
+      1896.2244       1477.5724
+  24470853.8994   -4193810.96948  -2969953.41745  24470851.0514   24470856.9754
+      -879.9394       -685.6554
+  23484612.3034   -5675064.93549  -4079226.29146  23484612.1464   23484617.2334
+       607.1064        473.0434
+  23198630.5694   -5438054.77049  -4224367.17546  23198632.7464   23198638.5494
+      1874.2304       1460.4374
+  21562815.4994  -17362159.39649 -13075458.71947  21562814.9394   21562821.6414
+     -1743.5334      -1358.5984
+ 05  1 20 21  4 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22699698.4604  -13022167.24349 -10102451.95746  22699698.2584   22699703.9524
+     -2642.2474      -2058.8964
+  22024045.3594   -6551209.37449  -5092769.14347  22024044.8634   22024052.5204
+      3204.5104       2497.0274
+  20855523.5754  -21710609.51049 -16899457.53248  20855524.0914   20855530.0504
+     -1521.2144      -1185.3574
+  20539623.4554  -26473461.86449 -20615211.54648  20539623.2254   20539626.7674
+       935.8004        729.1984
+  22043688.7164   -9434402.05749  -7329734.79047  22043688.7944   22043695.1964
+      -112.4254        -87.6054
+  22390257.0814  -16834212.72149 -13090850.61147  22390256.4614   22390263.2024
+      1890.9144       1473.4374
+  24475930.9224   -4167141.25249  -2949171.91745  24475928.3144   24475931.0604
+      -897.8684       -699.6434
+  23481198.1904   -5693003.76549  -4093204.56546  23481198.7224   23481203.8734
+       588.8464        458.8634
+  23187981.2234   -5494025.97249  -4267981.01946  23187981.8704   23187988.6614
+      1857.2594       1447.2114
+  21572782.2474  -17309784.29749 -13034646.94847  21572781.5514   21572788.1214
+     -1748.1514      -1362.1894
+ 05  1 20 21  5  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22714809.5384  -12942759.77749 -10040576.02946  22714808.0534   22714816.1014
+     -2651.4864      -2066.0884
+  22005785.1324   -6647172.47349  -5167545.48747  22005784.1654   22005790.2294
+      3193.0094       2488.0524
+  20864227.8844  -21664872.39549 -16863818.21148  20864228.0734   20864233.8494
+     -1527.8814      -1190.5624
+  20534308.3244  -26501389.81949 -20636973.57148  20534308.6614   20534312.5294
+       926.0394        721.5854
+  22044388.1334   -9430737.60549  -7326879.36447  22044386.9364   22044393.3354
+      -131.8024       -102.7124
+  22379477.1334  -16890862.47449 -13134993.22347  22379476.3954   22379483.2014
+      1885.6354       1469.3234
+  24481102.9324   -4139938.57448  -2927975.04144  24481104.0084   24481106.6634
+      -915.6494       -713.4844
+  23477889.8654   -5710393.66449  -4106755.12646  23477889.2384   23477895.1814
+       570.5174        444.5554
+  23177428.6334   -5549486.05849  -4311196.59946  23177428.3114   23177434.2784
+      1840.1734       1433.8874
+  21582774.5724  -17257271.32749 -12993727.74647  21582774.8894   21582780.8954
+     -1752.7294      -1365.7654
+ 05  1 20 21  5 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22729972.3444  -12863074.62149  -9978483.72546  22729971.6184   22729979.2564
+     -2660.7444      -2073.3074
+  21987589.1904   -6742789.73349  -5242052.36447  21987588.1094   21987595.0554
+      3181.4384       2479.0394
+  20872969.5674  -21618935.71249 -16828023.38948  20872969.4164   20872975.1494
+     -1534.5224      -1195.7284
+  20529050.1084  -26529024.74449 -20658507.26148  20529049.9404   20529053.5724
+       916.2574        713.9704
+  22045194.5784   -9426494.87349  -7323573.33547  22045194.0064   22045199.7594
+      -151.0784       -117.7164
+  22368726.4474  -16947353.61649 -13179012.24947  22368725.3044   22368733.2294
+      1880.3844       1465.2374
+  24486384.1144   -4112203.64149  -2906363.38445  24486383.5514   24486385.9924
+      -933.5384       -727.4284
+  23474684.0024   -5727233.25149  -4119876.83046  23474684.3374   23474689.1974
+       552.1034        430.2094
+  23166970.7054   -5604433.41349  -4354012.69246  23166971.5814   23166977.8064
+      1823.0444       1420.5534
+  21592793.8694  -17204621.72049 -12952702.06647  21592793.8454   21592800.2644
+     -1757.2754      -1369.3024
+ 05  1 20 21  6  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22745187.6754  -12783112.55549  -9916175.66146  22745188.0984   22745195.6974
+     -2669.9554      -2080.4774
+  21969460.2254   -6838058.97849  -5316288.04347  21969458.9034   21969466.5184
+      3169.8134       2469.9824
+  20881748.0644  -21572800.62849 -16792073.96948  20881748.3714   20881754.3424
+     -1541.1044      -1200.8584
+  20523847.7674  -26556366.90649 -20679812.82148  20523846.9244   20523850.6404
+       906.5214        706.3794
+  22046111.4324   -9421674.54949  -7319817.24247  22046111.1244   22046117.4764
+      -170.3364       -132.7234
+  22358006.5784  -17003686.34549 -13222907.84547  22358006.1514   22358013.3334
+      1875.0884       1461.1094
+  24491763.4664   -4083936.93449  -2884337.31245  24491759.8434   24491764.2854
+      -951.1254       -741.1334
+  23471585.0694   -5743521.06749  -4132568.60046  23471584.1294   23471590.3204
+       533.7224        415.8854
+  23156614.9424   -5658866.07649  -4396427.72446  23156613.3984   23156619.1524
+      1805.8304       1407.1394
+  21602838.3524  -17151835.96849 -12911570.31947  21602838.1554   21602845.2834
+     -1761.8074      -1372.8374
+ 05  1 20 21  6 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22760458.8404  -12702874.57549  -9853652.57646  22760456.7974   22760464.7474
+     -2679.1284      -2087.6284
+  21951396.7934   -6932977.93449  -5390250.77447  21951396.1524   21951403.0644
+      3158.1164       2460.8624
+  20890564.8684  -21526467.86449 -16755970.51648  20890565.3614   20890570.8624
+     -1547.6494      -1205.9584
+  20518700.1514  -26583416.22849 -20700890.20348  20518699.8764   20518703.3554
+       896.7634        698.7774
+  22047138.5424   -9416276.97649  -7315611.31547  22047137.7354   22047144.8154
+      -189.5344       -147.6864
+  22347316.8124  -17059860.73249 -13266680.06147  22347316.7754   22347323.3694
+      1869.8244       1457.0084
+  24497242.2634   -4055138.89349  -2861897.29045  24497239.7804   24497244.9864
+      -968.7404       -754.8544
+  23468588.8284   -5759256.07349  -4144829.64646  23468590.0774   23468596.3704
+       515.3034        401.5404
+  23146353.8524   -5712782.45449  -4438440.42846  23146353.0564   23146360.1794
+      1788.6234       1393.7414
+  21612909.0844  -17098914.89949 -12870333.13147  21612908.5784   21612915.3474
+     -1766.2814      -1376.3224
+ 05  1 20 21  7  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22775778.3224  -12622361.62049  -9790915.21646  22775778.2094   22775785.9984
+     -2688.2684      -2094.7484
+  21933401.4304   -7027544.40549  -5463938.84947  21933400.9044   21933408.1134
+      3146.3134       2451.6654
+  20899419.2814  -21479938.50549 -16719713.86648  20899419.5784   20899424.9954
+     -1554.2074      -1211.0764
+  20513608.5434  -26610172.75649 -20721739.42748  20513608.0604   20513611.6164
+       886.9884        691.1554
+  22048275.7614   -9410303.13449  -7310956.37147  22048275.2564   22048281.2024
+      -208.7334       -162.6544
+  22336658.0354  -17115876.73649 -13310328.85447  22336657.2864   22336664.1464
+      1864.5334       1452.8774
+  24502821.5374   -4025810.27549  -2839043.81245  24502821.5614   24502824.1414
+      -986.4044       -768.6304
+  23465700.9284   -5774436.99749  -4156658.88846  23465701.1514   23465706.9764
+       496.7794        387.0964
+  23136190.9554   -5766180.72649  -4480049.41946  23136192.5184   23136199.2034
+      1771.3074       1380.2384
+  21623005.6614  -17045859.46649 -12828991.23347  21623005.2024   21623011.6254
+     -1770.7354      -1379.7974
+ 05  1 20 21  7 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22791151.4624  -12541574.66749  -9727964.36946  22791151.1074   22791158.8914
+     -2697.4094      -2101.8754
+  21915472.9594   -7121756.31749  -5537350.64447  21915472.7694   21915479.8164
+      3134.4664       2442.4364
+  20908311.3874  -21433213.49849 -16683304.76348  20908311.1104   20908316.7354
+     -1560.7054      -1216.1374
+  20508572.2454  -26636636.50949 -20742360.51848  20508572.2374   20508575.6994
+       877.2384        683.5594
+  22049521.2064   -9403753.34149  -7305852.61847  22049520.8034   22049528.0684
+      -227.9134       -177.5964
+  22326028.1334  -17171734.35549 -13353854.22447  22326027.8234   22326034.7344
+      1859.2514       1448.7594
+  24508502.9314   -3995951.83748  -2815777.48045  24508503.1814   24508508.3874
+     -1004.0624       -782.3804
+  23462917.6184   -5789062.49549  -4168055.36446  23462918.8834   23462923.5094
+       478.2084        372.6354
+  23126129.5874   -5819059.25649  -4521253.42746  23126130.1624   23126135.9004
+      1753.9414       1366.6974
+  21633127.0124  -16992670.36149 -12787545.17647  21633126.7964   21633133.1004
+     -1775.1814      -1383.2604
+ 05  1 20 21  8  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22806577.6344  -12460514.41549  -9664800.56646  22806576.7854   22806583.9634
+     -2706.5064      -2108.9574
+  21897614.0374   -7215611.53349  -5610484.47747  21897612.6654   21897619.8134
+      3122.5414       2433.1474
+  20917239.1654  -21386293.55849 -16646743.77348  20917239.7804   20917245.2724
+     -1567.1924      -1221.1904
+  20503592.4544  -26662807.85649 -20762753.75748  20503591.9154   20503595.4594
+       867.4834        675.9634
+  22050879.0984   -9396628.01349  -7300300.39947  22050877.7594   22050883.3034
+      -247.1024       -192.5464
+  22315429.4904  -17227433.95449 -13397256.48147  22315428.8574   22315435.0244
+      1853.9624       1444.6504
+  24514285.6154   -3965564.04548  -2792098.73945  24514286.0694   24514290.0804
+     -1021.6894       -796.1174
+  23460240.5624   -5803131.32749  -4179018.07946  23460241.5404   23460246.1124
+       459.6994        358.1894
+  23116167.1414   -5871416.31649  -4562051.06646  23116166.6354   23116172.1474
+      1736.5464       1353.1464
+  21643273.2744  -16939348.36349 -12745995.57447  21643273.4234   21643280.0504
+     -1779.6074      -1386.7094
+ 05  1 20 21  8 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22822055.3744  -12379181.97049  -9601424.65446  22822054.4194   22822061.3184
+     -2715.5434      -2116.0044
+  21879821.8424   -7309107.78149  -5683338.62447  21879821.3554   21879827.9164
+      3110.5294       2423.7814
+  20926204.6114  -21339179.95249 -16610031.87248  20926205.1674   20926210.5514
+     -1573.6514      -1226.2224
+  20498667.5934  -26688686.66049 -20782919.04348  20498667.3024   20498671.0684
+       857.7394        668.3694
+  22052342.7854   -9388928.03849  -7294300.42447  22052342.3254   22052349.0014
+      -266.2254       -207.4504
+  22304859.3684  -17282975.30249 -13440535.40547  22304858.7494   22304866.1374
+      1848.7324       1440.5674
+  24520169.9254   -3934647.73148  -2768008.07645  24520170.2874   24520171.9244
+     -1039.4164       -809.9374
+  23457670.6284   -5816642.19649  -4189546.01346  23457670.4094   23457674.9254
+       441.0744        343.7054
+  23106304.1404   -5923250.22849  -4602441.06446  23106302.7194   23106308.8804
+      1719.0684       1339.5254
+  21653445.7554  -16885894.40049 -12704343.13347  21653445.4544   21653451.6654
+     -1784.0074      -1390.1404
+ 05  1 20 21  9  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22837583.8254  -12297578.20049  -9537837.33446  22837583.3694   22837590.0234
+     -2724.6134      -2123.0634
+  21862098.2524   -7402242.79649  -5755911.27147  21862097.9334   21862105.5724
+      3098.4434       2414.3654
+  20935207.6044  -21291873.51449 -16573169.70048  20935207.4684   20935212.8904
+     -1580.0714      -1231.2264
+  20493798.7284  -26714273.01249 -20802856.44248  20493798.0714   20493802.1114
+       848.0124        660.7854
+  22053918.6294   -9380653.96549  -7287853.08847  22053917.4864   22053923.3484
+      -285.3634       -222.3634
+  22294320.0464  -17338358.65049 -13483691.23247  22294319.9644   22294327.0694
+      1843.4194       1436.4284
+  24526153.5954   -3903203.66548  -2743506.18245  24526151.7834   24526155.7764
+     -1056.9494       -823.5944
+  23455205.1574   -5829593.89849  -4199638.20246  23455204.7424   23455210.8414
+       422.4194        329.1564
+  23096538.3794   -5974559.45749  -4642422.26146  23096539.5244   23096545.1834
+      1701.5954       1325.8974
+  21663642.3974  -16832309.08849 -12662588.33847  21663641.9324   21663648.9464
+     -1788.3694      -1393.5354
+ 05  1 20 21  9 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22853164.6714  -12215704.07649  -9474039.36146  22853162.9944   22853169.6774
+     -2733.6004      -2130.0714
+  21844444.7074   -7495014.48349  -5828200.81647  21844444.4944   21844450.6884
+      3086.3084       2404.9174
+  20944245.5894  -21244375.03849 -16536157.90148  20944245.7264   20944251.8624
+     -1586.4534      -1236.1924
+  20488984.9154  -26739566.97549 -20822566.01348  20488984.8324   20488988.8114
+       838.2534        653.1904
+  22055601.4204   -9371806.50449  -7280958.95647  22055600.6434   22055606.7664
+      -304.4744       -237.2484
+  22283811.8034  -17393584.05149 -13526723.98447  22283811.4484   22283817.9944
+      1838.1734       1432.3374
+  24532238.3414   -3871232.57449  -2718593.62745  24532236.7464   24532239.8924
+     -1074.4184       -837.2044
+  23452847.5024   -5841985.68849  -4209294.10346  23452846.9624   23452852.7994
+       403.7334        314.6034
+  23086875.1124   -6025342.29249  -4681993.24246  23086876.0014   23086881.2104
+      1684.0014       1312.2034
+  21673863.8684  -16778593.35349 -12620731.92247  21673863.7814   21673870.2034
+     -1792.7054      -1396.9124
+ 05  1 20 21 10  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22868795.7214  -12133560.66749  -9410031.51946  22868794.3104   22868800.6814
+     -2742.5344      -2137.0474
+  21826860.0394   -7587420.71749  -5900205.59547  21826858.9694   21826866.4064
+      3074.1014       2395.3984
+  20953320.7214  -21196685.55049 -16498997.25648  20953320.9224   20953326.5854
+     -1592.7944      -1241.1364
+  20484227.7534  -26764568.55049 -20842047.75148  20484227.1254   20484230.9944
+       828.5134        645.5944
+  22057392.7884   -9362386.59349  -7273618.75647  22057393.5114   22057399.9114
+      -323.5264       -252.0954
+  22273333.0364  -17448651.51649 -13569633.65747  22273332.4554   22273339.1434
+      1832.8814       1428.2214
+  24538420.3154   -3838734.87558  -2693270.81154  24538416.4704   24538428.1964
+     -1092.0564       -850.9454
+  23450595.3404   -5853816.18149  -4218512.66746  23450596.0974   23450601.1924
+       384.9954        300.0074
+  23077310.2854   -6075597.12949  -4721152.81646  23077312.1074   23077317.5834
+      1666.3584       1298.4584
+  21684110.7904  -16724747.72649 -12578774.28947  21684110.2924   21684117.2484
+     -1797.0244      -1400.2794
+ 05  1 20 21 10 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22884476.0664  -12051148.81549  -9345814.52346  22884476.0174   22884483.9194
+     -2751.4554      -2143.9874
+  21809346.0324   -7679459.49049  -5971924.04647  21809345.6894   21809352.1784
+      3061.8094       2385.8234
+  20962431.4694  -21148805.88449 -16461688.42548  20962432.0694   20962437.8604
+     -1599.1024      -1246.0554
+  20479525.7874  -26789277.76349 -20861301.67648  20479525.3124   20479528.9454
+       818.7474        637.9814
+  22059295.4984   -9352394.84949  -7265832.97347  22059294.8994   22059300.8784
+      -342.5954       -266.9604
+  22262883.6244  -17503561.10649 -13612420.31647  22262883.0784   22262889.8044
+      1827.6994       1424.1794
+  24544705.5024   -3805711.83149  -2667538.65445  24544701.7704   24544704.0124
+     -1109.4724       -864.5264
+  23448451.6874   -5865084.21049  -4227292.90546  23448451.1634   23448457.2604
+       366.2194        285.3684
+  23067849.1944   -6125322.41049  -4759899.75046  23067849.0594   23067855.5484
+      1648.7274       1284.7324
+  21694381.5614  -16670772.87549 -12536715.97047  21694381.8834   21694388.0954
+     -1801.3164      -1403.6314
+ 05  1 20 21 11  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22900210.0244  -11968469.63349  -9281389.20646  22900209.1894   22900216.3234
+     -2760.3894      -2150.9574
+  21791902.2714   -7771128.53249  -6043354.38847  21791900.7264   21791908.6114
+      3049.4564       2376.1934
+  20971578.8254  -21100737.05249 -16424232.18648  20971579.1204   20971584.7464
+     -1605.4244      -1250.9784
+  20474878.7854  -26813694.87249 -20880327.98448  20474878.6904   20474882.4224
+       809.0244        630.4114
+  22061305.2384   -9341831.90749  -7257602.09947  22061304.8854   22061310.5694
+      -361.6254       -281.7814
+  22252464.6624  -17558313.00649 -13655084.09447  22252464.1714   22252470.8904
+      1822.4024       1420.0524
+  24551091.2574   -3772164.12648  -2641397.44545  24551091.5694   24551094.0794
+     -1127.1494       -878.2974
+  23446414.8714   -5875788.72249  -4235634.04046  23446414.7044   23446420.4654
+       347.4484        270.7634
+  23058488.5254   -6174516.51549  -4798232.75746  23058486.9854   23058493.9394
+      1631.0034       1270.9124
+  21704677.5614  -16616669.84849 -12494557.75947  21704676.9374   21704683.4924
+     -1805.5764      -1406.9424
+ 05  1 20 21 11 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22915994.1864  -11885523.99249  -9216756.23646  22915993.1604   22916000.6114
+     -2769.2444      -2157.8574
+  21774527.8594   -7862425.69549  -6114494.95747  21774527.5744   21774534.6894
+      3037.0174       2366.5084
+  20980762.2324  -21052479.94949 -16386629.25148  20980762.1004   20980767.5744
+     -1611.6464      -1255.8264
+  20470288.4494  -26837819.87649 -20899126.67548  20470288.3934   20470291.7164
+       799.2924        622.8264
+  22063423.5814   -9330698.62149  -7248926.81047  22063423.1934   22063429.7174
+      -380.6034       -296.5724
+  22242075.8304  -17612907.26249 -13697625.04447  22242075.0314   22242082.3654
+      1817.1744       1415.9834
+  24557571.1634   -3738092.62658  -2614848.15854  24557571.1144   24557574.5574
+     -1144.2404       -891.6184
+  23444485.0764   -5885928.66049  -4243535.24146  23444484.7264   23444490.8334
+       328.5764        256.0274
+  23049225.5654   -6223177.89149  -4836150.65646  23049227.2294   23049235.4404
+      1613.1734       1257.0174
+  21714996.5624  -16562439.25649 -12452300.15947  21714996.4954   21715003.5094
+     -1809.8064      -1410.2374
+ 05  1 20 21 12  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22931828.9594  -11802312.89049  -9151916.46646  22931828.0544   22931835.8034
+     -2778.0964      -2164.7554
+  21757225.8434   -7953349.00949  -6185344.23847  21757225.6904   21757232.2964
+      3024.5264       2356.7704
+  20989980.6834  -21004035.33149 -16348880.19748  20989980.7204   20989986.3744
+     -1617.9144      -1260.7124
+  20465753.2944  -26861652.93549 -20917697.87848  20465752.8184   20465756.5024
+       789.5594        615.2354
+  22065651.0594   -9318996.00249  -7239807.86147  22065650.1874   22065656.1894
+      -399.6024       -311.3814
+  22231716.7484  -17667343.93949 -13740043.20447  22231716.0054   22231722.8614
+      1811.9024       1411.8704
+  24564156.8444   -3703498.04148  -2587891.34144  24564155.0214   24564162.0734
+     -1161.9984       -905.4434
+  23442663.5464   -5895503.03149  -4250995.74946  23442664.0694   23442669.1334
+       309.7274        241.3484
+  23040068.7934   -6271305.00249  -4873652.23246  23040068.8744   23040075.3724
+      1595.4624       1243.2074
+  21725340.8904  -16508081.75449 -12409943.65147  21725340.6414   21725347.3274
+     -1814.0194      -1413.5244
+ 05  1 20 21 12 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22947714.1694  -11718837.42149  -9086870.68246  22947713.5924   22947721.6454
+     -2786.9264      -2171.6264
+  21739995.3324   -8043896.30349  -6255900.49847  21739994.9094   21740001.5154
+      3011.9304       2346.9564
+  20999235.3034  -20955404.14149 -16310985.76348  20999235.2654   20999240.6544
+     -1624.1264      -1265.5524
+  20461273.4524  -26885193.98649 -20936041.54248  20461273.1224   20461276.7344
+       779.8214        607.6504
+  22067985.4034   -9306724.50649  -7230245.65047  22067984.8734   22067992.2274
+      -418.5124       -326.1164
+  22221386.6434  -17721623.10249 -13782338.62347  22221386.9274   22221393.9874
+      1806.6434       1407.7724
+  24570838.2974   -3668381.51048  -2560527.87744  24570835.8724   24570842.5114
+     -1179.1364       -918.8074
+  23440948.6714   -5904510.90049  -4258014.82646  23440948.7834   23440954.4074
+       290.7934        226.5914
+  23031016.2714   -6318896.51349  -4910736.49246  23031013.8504   23031019.4464
+      1577.4654       1229.2024
+  21735709.1824  -16453598.04849 -12367488.81447  21735708.2654   21735715.3514
+     -1818.2364      -1416.8084
+ 05  1 20 21 13  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22963649.7104  -11635098.57349  -9021619.64346  22963648.2844   22963657.5494
+     -2795.6264      -2178.4134
+  21722837.2344   -8134065.64849  -6326162.25347  21722836.1504   21722842.7924
+      2999.3314       2337.1454
+  21008525.5684  -20906587.49049 -16272946.82148  21008525.2214   21008530.3514
+     -1630.2434      -1270.3164
+  20456849.7394  -26908442.93749 -20954157.59348  20456849.2084   20456852.7004
+       770.0874        600.0694
+  22070430.0304   -9293885.16449  -7220240.94547  22070429.0244   22070435.3334
+      -437.4024       -340.8284
+  22211089.1924  -17775744.66749 -13824511.22547  22211088.2694   22211095.5264
+      1801.4684       1403.7424
+  24577617.6694   -3632743.77358  -2532758.26454  24577617.7804   24577623.1424
+     -1196.7114       -932.5054
+  23439342.7194   -5912951.34449  -4264591.74846  23439343.0344   23439348.9214
+       271.8764        211.8414
+  23022059.1334   -6365950.67449  -4947402.03546  23022059.6604   23022065.7774
+      1559.4554       1215.1464
+  21746100.5934  -16398988.63849 -12324936.02847  21746100.1244   21746107.1034
+     -1822.3954      -1420.0434
+ 05  1 20 21 13 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22979632.3134  -11551097.33949  -8956164.15746  22979632.4104   22979640.7164
+     -2804.3744      -2185.2154
+  21705750.4454   -8223854.91949  -6396127.87147  21705750.0804   21705756.4234
+      2986.5994       2327.2214
+  21017848.7974  -20857586.11449 -16234763.92548  21017849.2084   21017855.1164
+     -1636.4044      -1275.1174
+  20452481.1284  -26931400.07549 -20972046.26048  20452480.6524   20452484.0374
+       760.3584        592.4894
+  22072979.2854   -9280479.02649  -7209794.59847  22072979.3574   22072985.6774
+      -456.3034       -355.5574
+  22200819.4764  -17829709.12449 -13866561.41347  22200819.0224   22200826.5174
+      1796.1944       1399.6374
+  24584501.3294   -3596585.62948  -2504582.97644  24584497.6824   24584504.8824
+     -1213.7724       -945.7994
+  23437845.2234   -5920823.19749  -4270725.62246  23437845.7314   23437851.0764
+       252.9074        197.0764
+  23013207.9924   -6412466.11449  -4983647.82046  23013207.9194   23013213.8774
+      1541.5344       1201.2014
+  21756516.9454  -16344254.40849 -12282285.98447  21756515.7804   21756522.8244
+     -1826.5504      -1423.2774
+ 05  1 20 21 14  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  22995668.4104  -11466834.71849  -8890504.96846  22995667.0644   22995676.0684
+     -2813.0504      -2191.9774
+  21688737.1354   -8313261.92049  -6465795.60147  21688736.0064   21688742.9434
+      2973.8264       2317.2644
+  21027208.5184  -20808400.90449 -16196437.80048  21027208.7584   21027214.3534
+     -1642.5484      -1279.9064
+  20448167.7144  -26954065.37349 -20989707.51448  20448167.3174   20448170.7994
+       750.6334        584.9084
+  22075638.6034   -9266507.11549  -7198907.36247  22075638.4334   22075645.2494
+      -475.1774       -370.2714
+  22190580.8734  -17883516.12649 -13908488.92147  22190579.6784   22190586.4604
+      1790.9304       1395.5324
+  24591482.5714   -3559908.05349  -2476003.12145  24591480.8524   24591484.8684
+     -1231.2144       -959.3874
+  23436453.6054   -5928125.52049  -4276415.69646  23436454.5014   23436460.5004
+       233.9004        182.2734
+  23004457.7424   -6458441.44049  -5019472.70846  23004458.4884   23004464.3194
+      1523.5544       1187.1914
+  21766954.6484  -16289396.10549 -12239539.25847  21766954.9554   21766961.5624
+     -1830.6844      -1426.5074
+ 05  1 20 21 14 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23011752.0784  -11382311.76749  -8824642.98146  23011752.1274   23011758.6684
+     -2821.7624      -2198.7874
+  21671796.4974   -8402284.77149  -6535163.99547  21671795.4474   21671802.7944
+      2960.9964       2307.2684
+  21036603.3404  -20759032.62149 -16157969.00548  21036603.5004   21036609.0814
+     -1648.6334      -1284.6484
+  20443910.1424  -26976439.02249 -21007141.50948  20443909.6464   20443913.5204
+       740.9264        577.3474
+  22078406.0624   -9251970.31649  -7187579.98147  22078404.8604   22078410.2204
+      -493.9774       -384.9134
+  22180370.8824  -17937165.86849 -13950293.87947  22180370.5164   22180377.4154
+      1785.6534       1391.4184
+  24598556.5864   -3522712.00249  -2447019.19345  24598557.1904   24598563.0384
+     -1248.5414       -972.8894
+  23435174.4144   -5934857.70749  -4281661.51746  23435173.5624   23435179.6254
+       214.8854        167.4444
+  22995812.8404   -6503875.17849  -5054875.55446  22995812.1604   22995819.1084
+      1505.4024       1173.0374
+  21777417.5404  -16234414.29649 -12196696.28647  21777417.7184   21777424.1554
+     -1834.7704      -1429.6904
+ 05  1 20 21 15  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23027885.2664  -11297529.74949  -8758579.08946  23027884.5234   23027892.6484
+     -2830.3354      -2205.4594
+  21654928.8054   -8490921.43249  -6604231.47847  21654928.3574   21654935.6494
+      2948.1314       2297.2484
+  21046032.2354  -20709482.22749 -16119358.30948  21046032.2254   21046038.3674
+     -1654.6854      -1289.3624
+  20439707.7284  -26998521.07249 -21024348.29148  20439707.4994   20439711.1434
+       731.2194        569.7804
+  22081278.1744   -9236869.39549  -7175813.01747  22081278.2224   22081284.3794
+      -512.7534       -399.5414
+  22170192.0014  -17990658.41049 -13991976.33547  22170190.9994   22170198.2944
+      1780.4344       1387.3554
+  24605734.8274   -3484998.68749  -2417632.16645  24605735.7614   24605735.6864
+     -1265.8314       -986.3534
+  23434001.0234   -5941018.85749  -4286462.40846  23434001.3104   23434007.6894
+       195.8724        152.6344
+  22987270.9024   -6548766.02349  -5089855.42246  22987271.4564   22987277.1184
+      1487.3384       1158.9574
+  21787903.6194  -16179309.67849 -12153757.61447  21787903.8384   21787910.5354
+     -1838.8464      -1432.8684
+ 05  1 20 21 15 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23044069.0344  -11212489.54049  -8692313.99846  23044067.8784   23044075.6364
+     -2838.9274      -2212.1544
+  21638136.1904   -8579169.98449  -6672996.52947  21638135.5324   21638142.7234
+      2935.1334       2287.1184
+  21055495.3144  -20659750.47949 -16080606.30148  21055495.8844   21055501.8324
+     -1660.7034      -1294.0524
+  20435561.3264  -27020311.70749 -21041327.99648  20435561.0974   20435564.7794
+       721.5114        562.2184
+  22084258.8334   -9221205.37249  -7163607.26747  22084258.4444   22084265.5984
+      -531.5264       -414.1734
+  22160042.9494  -18043993.81349 -14033536.35247  22160041.9664   22160048.6854
+      1775.1834       1383.2614
+  24613009.5384   -3446769.07858  -2387842.79854  24613007.5834   24613013.7394
+     -1282.9554       -999.7004
+  23432939.0904   -5946607.94249  -4290817.50446  23432938.3214   23432944.8244
+       176.7224        137.7104
+  22978832.3734   -6593112.47349  -5124411.06546  22978831.7904   22978837.9874
+      1469.1634       1144.7994
+  21798413.3214  -16124083.07949 -12110723.91047  21798412.7854   21798420.0114
+     -1842.9354      -1436.0544
+ 05  1 20 21 16  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23060299.4154  -11127192.26849  -8625848.59446  23060299.5224   23060307.3524
+     -2847.4234      -2218.7794
+  21621417.8724   -8667028.14249  -6741457.37647  21621416.9214   21621423.5834
+      2922.0334       2276.9084
+  21064994.3374  -20609838.47149 -16041713.83348  21064994.1164   21064999.9514
+     -1666.7274      -1298.7474
+  20431470.6674  -27041810.74449 -21058080.48648  20431469.8634   20431473.4854
+       711.7474        554.6064
+  22087347.0114   -9204979.05849  -7150963.37447  22087346.3424   22087353.1094
+      -550.2684       -428.7774
+  22149923.3294  -18097172.05349 -14074973.90547  22149922.6094   22149929.0674
+      1769.9554       1379.1794
+  24620389.5844   -3408024.87258  -2357652.73754  24620381.2524
+     -1300.1064      -1013.0674
+  23431981.7094   -5951624.04249  -4294726.13946  23431982.3774   23431988.8344
+       157.5574        122.7704
+  22970496.6484   -6636913.13949  -5158541.44046  22970497.4814   22970503.4094
+      1450.9274       1130.5814
+  21808945.2054  -16068735.06049 -12067595.59347  21808945.6354   21808952.2584
+     -1846.9734      -1439.2014
+ 05  1 20 21 16 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23076580.5134  -11041638.96449  -8559183.68146  23076579.5804   23076588.2254
+     -2856.0404      -2225.4814
+  21604773.2124   -8754494.11149  -6809612.62647  21604772.4894   21604779.2544
+      2908.9804       2266.7354
+  21074525.7174  -20559746.80849 -16002681.36948  21074526.1064   21074531.8054
+     -1672.6534      -1303.3604
+  20427434.3454  -27063018.43749 -21074605.95148  20427434.1964   20427437.6974
+       702.0694        547.0694
+  22090542.4324   -9188191.79249  -7137882.37847  22090541.3184   22090547.4274
+      -568.9114       -443.3044
+  22139832.2204  -18150193.32449 -14116289.15947  22139832.2334   22139839.4494
+      1764.7484       1375.1284
+  24627849.8754   -3368765.50848  -2327061.05744  24627852.0124   24627850.5634
+     -1317.4244      -1026.5754
+  23431137.2814   -5956066.56349  -4298187.81146  23431137.2544   23431143.1454
+       138.5064        107.9274
+  22962265.7344   -6680166.73149  -5192245.50246  22962266.0444   22962271.2974
+      1432.7094       1116.3964
+  21819501.3494  -16013266.05649 -12024372.99447  21819501.2964   21819507.5224
+     -1850.9654      -1442.3064
+ 05  1 20 21 17  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23092906.8374  -10955830.67149  -8492320.11746  23092906.9614   23092916.6774
+     -2864.4584      -2232.0394
+  21588203.6474   -8841565.88649  -6877460.71347  21588202.5074   21588209.5774
+      2895.8174       2256.4804
+  21084092.1664  -20509476.27049 -15963509.51748  21084092.6564   21084097.8304
+     -1678.6174      -1308.0134
+  20423454.9304  -27083934.72149 -21090904.34648  20423454.3074   20423457.5774
+       692.3424        539.4914
+  22093841.5454   -9170844.66949  -7124365.13347  22093841.9114   22093848.8624
+      -587.5664       -457.8424
+  22129772.8464  -18203057.74849 -14157482.18747  22129772.5654   22129779.4754
+      1759.5134       1371.0444
+  24635421.6714   -3328992.66149  -2296069.20444  24635421.9614   24635429.4894
+     -1334.2914      -1039.7044
+  23430402.0094   -5959934.63349  -4301201.88146  23430402.3204   23430408.3724
+       119.3334         92.9854
+  22954138.8954   -6722871.88149  -5225522.22046  22954138.7544   22954145.5084
+      1414.3424       1102.0964
+  21830079.8454  -15957676.95449 -11981056.81347  21830079.1534   21830085.8624
+     -1854.9684      -1445.4274
+ 05  1 20 21 17 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23109287.8324  -10869768.61449  -8425258.78546  23109285.7554   23109293.3164
+     -2872.9104      -2238.6304
+  21571709.7054   -8928241.65849  -6945000.21547  21571708.9794   21571715.8024
+      2882.5474       2246.1354
+  21093692.8354  -20459028.02749 -15924199.19448  21093692.5564   21093697.9014
+     -1684.5304      -1312.6204
+  20419529.7794  -27104559.77449 -21106975.80348  20419529.2624   20419532.5234
+       682.6394        531.9274
+  22097249.5224   -9152938.91949  -7110412.59447  22097249.0644   22097255.8324
+      -606.1664       -472.3374
+  22119742.9794  -18255765.63049 -14198553.23647  22119742.6904   22119749.6674
+      1754.2914       1366.9784
+  24643086.8414   -3288707.65658  -2264678.27054  24643085.4974   24643092.8404
+     -1351.4404      -1053.0754
+  23429777.2694   -5963227.70049  -4303767.90446  23429776.3044   23429780.5304
+       100.1524         78.0354
+  22946117.6144   -6765027.37749  -5258370.61446  22946116.3914   22946122.7534
+      1395.9984       1087.7994
+  21840680.3314  -15901968.35849 -11937647.52647  21840679.7714   21840686.6184
+     -1858.9454      -1448.5284
+ 05  1 20 21 18  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23125709.9234  -10783453.90349  -8358000.59546  23125710.3044   23125718.6494
+     -2881.3354      -2245.1954
+  21555292.1064   -9014519.19449  -7012229.42047  21555291.3634   21555298.4024
+      2869.2724       2235.7904
+  21103325.8444  -20408402.68149 -15884750.87348  21103326.0874   21103331.8494
+     -1690.4194      -1317.2114
+  20415660.1834  -27124893.68249 -21122820.39348  20415659.7624   20415663.4084
+       672.9374        524.3674
+  22100763.1494   -9134475.17949  -7096025.25747  22100763.1334   22100769.4494
+      -624.7264       -486.7974
+  22109742.7134  -18308316.63149 -14239502.04047  22109742.5524   22109750.2334
+      1749.0464       1362.8934
+  24650853.6524   -3247911.57449  -2232889.30144  24650852.4954   24650853.0904
+     -1368.3574      -1066.2444
+  23429257.0364   -5965944.86049  -4305885.16346  23429258.3174   23429264.2384
+        80.9414         63.0664
+  22938200.3304   -6806631.81649  -5290789.63946  22938200.2184   22938206.6544
+      1377.6404       1073.4834
+  21851304.7334  -15846140.76849 -11894145.50547  21851303.9344   21851310.8134
+     -1862.8654      -1451.5834
+ 05  1 20 21 18 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23142184.6674  -10696887.64449  -8290546.40146  23142183.6084   23142191.3294
+     -2889.6684      -2251.6934
+  21538950.1574   -9100396.62849  -7079146.84847  21538948.6424   21538956.2254
+      2855.8674       2225.3514
+  21112993.0144  -20357601.17649 -15845165.27548  21112993.0994   21112998.9564
+     -1696.2994      -1321.7954
+  20411846.2034  -27144936.44749 -21138438.12648  20411845.5724   20411849.2434
+       663.2254        516.7954
+  22104383.4804   -9115454.82249  -7081204.20747  22104382.8334   22104389.0064
+      -643.2724       -501.2524
+  22099772.4124  -18360711.08049 -14280328.85847  22099771.8564   22099779.5624
+      1743.8354       1358.8314
+  24658712.2684   -3206605.68648  -2200702.84745  24658710.0334   24658713.6234
+     -1385.3154      -1079.4724
+  23428851.0134   -5968085.37149  -4307553.07046  23428849.9884   23428856.8004
+        61.6794         48.0724
+  22930388.6304   -6847684.01549  -5322778.33146  22930388.5784   22930394.3914
+      1359.1644       1059.0694
+  21861949.6854  -15790195.09649 -11850551.48347  21861949.7524   21861956.5374
+     -1866.8284      -1454.6754
+ 05  1 20 21 19  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23158705.1654  -10610070.88549  -8222896.98446  23158703.5954   23158713.1184
+     -2898.0224      -2258.2054
+  21522684.1354   -9185872.00249  -7145750.98847  21522683.7234   21522690.8004
+      2842.4584       2214.9064
+  21122692.8784  -20306624.27049 -15805443.01148  21122693.3994   21122699.6344
+     -1702.1134      -1326.3184
+  20408087.3604  -27164688.09049 -21153829.00848  20408087.0334   20408090.6084
+       653.5434        509.2584
+  22108108.0664   -9095878.98749  -7065950.29947  22108107.9434   22108113.9274
+      -661.7654       -515.6544
+  22089831.9614  -18412948.94749 -14321033.68347  22089831.5374   22089839.1274
+      1738.6244       1354.7764
+  24666669.9174   -3164791.01248  -2168120.00844  24666668.9914   24666671.9714
+     -1402.1864      -1092.6164
+  23428554.0554   -5969648.60149  -4308771.19046  23428553.8324   23428557.9764
+        42.4954         33.1174
+  22922680.2264   -6888182.67949  -5354335.70246  22922681.0274   22922687.6024
+      1340.7474       1044.7274
+  21872618.9414  -15734131.93949 -11806865.90147  21872618.4494   21872625.4634
+     -1870.7264      -1457.7054
+ 05  1 20 21 19 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23175272.9584  -10523004.83449  -8155053.32346  23175272.1384   23175281.2614
+     -2906.2914      -2264.6364
+  21506495.3564   -9270943.64549  -7212040.52447  21506494.7964   21506502.5604
+      2828.9624       2204.3834
+  21132427.4184  -20255472.67049 -15765584.61948  21132427.2424   21132433.6434
+     -1707.9314      -1330.8534
+  20404383.8024  -27184148.71949 -21168993.12148  20404383.6294   20404387.4244
+       643.8304        501.6884
+  22111938.3734   -9075748.92549  -7050264.52947  22111938.4944   22111944.8204
+      -680.2304       -530.0454
+  22079921.5814  -18465029.94849 -14361616.26047  22079921.0714   22079927.9584
+      1733.3944       1350.6934
+  24674722.2304   -3122468.73848  -2135141.51744  24674724.6294   24674728.1944
+     -1419.1724      -1105.8494
+  23428365.8124   -5970634.04749  -4309539.06046  23428366.3654   23428371.8504
+        23.2064         18.0804
+  22915079.2584   -6928126.77549  -5385460.92446  22915080.3574   22915086.5044
+      1322.2144       1030.2934
+  21883309.0214  -15677951.78149 -11763089.15647  21883308.7964   21883316.1794
+     -1874.6094      -1460.7344
+ 05  1 20 21 20  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23191887.6494  -10435690.50449  -8087016.22246  23191887.5194   23191895.6174
+     -2914.5234      -2271.0644
+  21490384.6044   -9355609.42549  -7278013.81947  21490383.7124   21490390.4464
+      2815.4264       2193.8384
+  21142194.1944  -20204147.46649 -15725590.95248  21142194.3004   21142200.4924
+     -1713.6724      -1335.3354
+  20400736.1784  -27203318.53549 -21183930.63148  20400735.8874   20400739.4584
+       634.1634        494.1504
+  22115874.2384   -9055065.90449  -7034147.88247  22115873.9614   22115880.2894
+      -698.6524       -544.4104
+  22070041.0674  -18516954.44749 -14402076.88847  22070040.4634   22070047.1424
+      1728.2054       1346.6564
+  24682870.4744   -3079639.89448  -2101768.41144  24682869.4284   24682878.2164
+     -1436.1164      -1119.0534
+  23428288.6094   -5971041.05149  -4309856.23346  23428288.9184   23428293.3724
+         3.9354          3.0504
+  22907585.0454   -6967514.92349  -5416152.94446  22907584.0244   22907591.1624
+      1303.7144       1015.8874
+  21894022.1334  -15621655.31649 -11719221.77647  21894022.0494   21894028.4554
+     -1878.4754      -1463.7504
+ 05  1 20 21 20 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23208552.5354  -10348129.21949  -8018786.65146  23208551.1234   23208556.2854
+     -2922.7434      -2277.4564
+  21474350.6784   -9439867.32649  -7343669.28247  21474349.2014   21474356.1324
+      2801.7604       2183.1944
+  21151994.5334  -20152649.15649 -15685462.40148  21151994.2214   21152000.2484
+     -1719.4454      -1339.8244
+  20397143.4014  -27222197.61049 -21198641.58448  20397143.0994   20397146.8184
+       624.4404        486.5764
+  22119915.6004   -9033831.03249  -7017601.22447  22119914.9314   22119921.7954
+      -717.0244       -558.7244
+  22060189.7784  -18568722.64149 -14442415.72247  22060188.8944   22060195.5934
+      1722.9544       1342.5664
+  24691122.3254   -3036305.48748  -2068001.49844  24691125.1784   24691122.7784
+     -1452.9374      -1132.1544
+  23428321.2574   -5970868.96849  -4309722.14546  23428320.4374   23428327.2884
+       -15.4094        -12.0194
+  22900195.8684   -7006345.92849  -5446410.84846  22900196.2494   22900202.1114
+      1285.1094       1001.3894
+  21904757.3744  -15565242.91449 -11675264.05147  21904756.7164   21904763.6544
+     -1882.3434      -1466.7554
+ 05  1 20 21 21  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23225259.0834  -10260322.14449  -7950365.55246  23225259.4204   23225268.1734
+     -2930.9604      -2283.8614
+  21458393.6674   -9523715.52049  -7409005.48447  21458393.7444   21458401.5024
+      2788.0794       2172.5224
+  21161826.8994  -20100978.66449 -15645199.68948  21161826.9904   21161832.7714
+     -1725.1794      -1344.2934
+  20393606.8654  -27240785.79549 -21213125.87648  20393606.2494   20393609.5704
+       614.7424        479.0204
+  22124061.6574   -9012045.46449  -7000625.45047  22124060.9244   22124067.1874
+      -735.3484       -572.9944
+  22050367.5314  -18620334.53149 -14482632.75647  22050367.2904   22050374.0504
+      1717.7474       1338.4974
+  24699462.5584   -2992467.41558  -2033842.08354  24699459.8774
+     -1469.7214      -1145.2394
+  23428465.5134   -5970117.47049  -4309136.52846  23428463.8664   23428471.3484
+       -34.7294        -27.0444
+  22892912.3794   -7044618.76549  -5476233.80046  22892912.7244   22892919.3614
+      1266.4234        986.8244
+  21915513.4554  -15508715.36249 -11631216.61947  21915513.9254   21915520.3294
+     -1886.1654      -1469.7404
+ 05  1 20 21 21 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23242014.0064  -10172270.29149  -7881753.77546  23242015.1834   23242023.1584
+     -2939.0524      -2290.1724
+  21442517.4614   -9607152.31849  -7474021.12047  21442516.3194   21442523.2864
+      2774.3444       2161.8274
+  21171692.0634  -20049136.73649 -15604803.37448  21171691.9634   21171697.6534
+     -1730.8924      -1348.7494
+  20390124.2114  -27259083.29849 -21227383.66248  20390124.0834   20390127.9504
+       605.0534        471.4724
+  22128312.0064   -8989710.36849  -6983221.49047  22128311.7804   22128317.2574
+      -753.6544       -587.2634
+  22040576.2074  -18671789.94349 -14522727.85847  22040575.7634   22040582.3444
+      1712.5604       1334.4644
+  24707894.5924   -2948126.77048  -1999290.70154  24707895.8204   24707902.7744
+     -1486.5404      -1158.3334
+  23428718.5014   -5968785.57949  -4308098.71946  23428718.0114   23428722.7354
+       -54.0924        -42.1434
+  22885734.9914   -7082332.15949  -5505620.82946  22885736.3374   22885742.7434
+      1247.7994        972.3144
+  21926292.7464  -15452073.47849 -11587080.08947  21926292.3374   21926298.9504
+     -1890.0014      -1472.7294
+ 05  1 20 21 22  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23258818.8214  -10083974.94449  -7812952.23346  23258816.7514   23258824.8964
+     -2947.1784      -2296.5054
+  21426718.4824   -9690175.95449  -7538714.82447  21426717.3974   21426724.5534
+      2760.5364       2151.0654
+  21181589.3754  -19997124.29649 -15564274.20648  21181589.7574   21181595.6394
+     -1736.5764      -1353.1754
+  20386698.0414  -27277090.33849 -21241415.10948  20386697.6034   20386701.0694
+       595.3804        463.9304
+  22132665.9934   -8966827.30649  -6965390.52347  22132665.6264   22132671.6674
+      -771.9054       -601.4844
+  22030814.3894  -18723089.06449 -14562701.18547  22030814.2004   22030820.5864
+      1707.3554       1330.4004
+  24716432.3364   -2903284.62848  -1964348.72045  24716432.9944   24716439.5694
+     -1503.1434      -1171.2704
+  23429081.1044   -5966873.05749  -4306608.45146  23429082.5714   23429087.2294
+       -73.4504        -57.2464
+  22878666.5094   -7119485.15949  -5534571.18146  22878666.3434   22878671.9944
+      1229.1134        957.7384
+  21937092.4544  -15395317.61049 -11542854.72847  21937092.5154   21937099.4674
+     -1893.7714      -1475.6684
+ 05  1 20 21 22 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23275666.0134   -9995437.23949  -7743961.83146  23275664.7234   23275672.5704
+     -2955.1914      -2302.7664
+  21410998.1314   -9772784.37749  -7603084.97347  21410997.2584   21411004.2654
+      2746.6974       2140.2844
+  21191519.3564  -19944942.06649 -15523612.73248  21191519.7364   21191525.4294
+     -1742.1784      -1357.5414
+  20383326.2124  -27294806.72749 -21255220.07748  20383325.8494   20383329.9074
+       585.7054        456.3934
+  22137124.0794   -8943397.42949  -6947133.48947  22137123.3664   22137130.1774
+      -790.0744       -615.6344
+  22021082.5294  -18774232.22049 -14602552.96647  22021081.4714   22021088.7234
+      1702.1374       1326.3394
+  24725061.2774   -2857942.43049  -1929017.01145  24725060.9694   24725063.4494
+     -1519.7574      -1184.2294
+  23429554.6074   -5964379.30449  -4304665.25646  23429555.0204   23429560.9704
+       -92.8004        -72.3274
+  22871702.2574   -7156076.66749  -5563084.01746  22871703.0044   22871708.4374
+      1210.3374        943.1254
+  21947915.2924  -15338448.31249 -11498540.99047  21947914.5024   21947921.4684
+     -1897.5174      -1478.5894
+ 05  1 20 21 23  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23292560.6884   -9906658.37349  -7674783.50646  23292559.8924   23292566.5184
+     -2963.2614      -2309.0244
+  21395357.9224   -9854975.73549  -7667130.14347  21395356.7884   21395363.7154
+      2732.7484       2129.4084
+  21201481.8424  -19892590.71849 -15482819.46848  21201481.5644   21201487.7064
+     -1747.8194      -1361.9384
+  20380009.6934  -27312232.69649 -21268798.74148  20380009.6724   20380013.7944
+       576.0284        448.8544
+  22141685.3044   -8919422.25349  -6928451.50947  22141685.0034   22141692.4664
+      -808.2194       -629.7854
+  22011380.1894  -18825219.04849 -14642282.94247  22011378.9824   22011386.0554
+      1696.9344       1322.2844
+  24733782.1204   -2812101.04748  -1893296.35645  24733783.4834   24733786.2274
+     -1536.3404      -1197.1474
+  23430141.7794   -5961303.84549  -4302268.80546  23430141.9724   23430147.0934
+      -112.2094        -87.4414
+  22864845.9694   -7192105.55349  -5591158.44446  22864846.1624   22864852.4864
+      1191.5924        928.5054
+  21958757.4674  -15281466.43249 -11454139.52947  21958757.6204   21958764.9644
+     -1901.2594      -1481.4984
+ 05  1 20 21 23 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23309500.5484   -9817639.61349  -7605418.21246  23309499.6694   23309507.6634
+     -2971.2814      -2315.2944
+  21379796.2334   -9936748.09349  -7730848.81447  21379796.1134   21379803.4494
+      2718.7454       2118.4974
+  21211476.2744  -19840071.21649 -15441895.18648  21211476.1634   21211481.5804
+     -1753.4194      -1366.3024
+  20376749.9604  -27329368.18949 -21282151.06948  20376749.4584   20376752.9764
+       566.3334        441.2954
+  22146352.9614   -8894902.92349  -6909345.54547  22146351.7724   22146358.4534
+      -826.3524       -643.9114
+  22001706.2684  -18876049.71849 -14681891.23947  22001706.2484   22001712.9044
+      1691.7104       1318.2154
+  24742600.1844   -2765762.03149  -1857188.06545  24742598.6654   24742605.8454
+     -1552.9674      -1210.0974
+  23430838.6314   -5957646.40749  -4299418.83246  23430837.5614   23430841.7064
+      -131.6314       -102.5814
+  22858097.9224   -7227570.73649  -5618793.63946  22858097.5074   22858104.1484
+      1172.7884        913.8624
+  21969622.0244  -15224372.21949 -11409650.53147  21969621.8254   21969629.1514
+     -1905.0214      -1484.4354
+ 05  1 20 21 24  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23326486.5794   -9728382.13349  -7535866.97146  23326484.7154   23326493.0954
+     -2979.1704      -2321.4244
+  21364316.2924  -10018099.85449  -7794239.74547  21364314.9334   21364322.5464
+      2704.6874       2107.5474
+  21221501.9614  -19787384.15249 -15400840.32348  21221502.1324   21221507.4434
+     -1759.0044      -1370.6554
+  20373544.0164  -27346213.37049 -21295277.16748  20373543.7174   20373547.4444
+       556.6524        433.7564
+  22151121.9914   -8869840.95549  -6889816.74647  22151121.5754   22151127.7354
+      -844.4414       -658.0074
+  21992063.2964  -18926724.39849 -14721377.98147  21992063.3444   21992070.1424
+      1686.5424       1314.1854
+  24751515.2684   -2718926.83358  -1820693.10754  24751512.6204   24751517.0334
+     -1569.4184      -1222.9264
+  23431644.4874   -5953406.40749  -4296114.93246  23431644.1394   23431648.8874
+      -151.0404       -117.6834
+  22851455.6014   -7262471.37449  -5645988.91946  22851456.6934   22851463.2564
+      1153.9294        899.1714
+  21980508.0794  -15167166.16049 -11365074.37647  21980507.7294   21980515.4214
+     -1908.7284      -1487.3244
+ 05  1 20 21 24 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23343514.3434   -9638887.15449  -7466130.63946  23343514.6064   23343522.2904
+     -2987.0374      -2327.5534
+  21348916.5574  -10099029.45249  -7857301.73547  21348915.5584   21348921.6654
+      2690.5934       2096.5664
+  21231559.5654  -19734530.43149 -15359655.60348  21231559.6564   21231565.5544
+     -1764.5184      -1374.9504
+  20370394.4174  -27362768.17949 -21308177.00948  20370393.6674   20370397.3154
+       546.9694        426.2114
+  22155992.9924   -8844237.76349  -6869866.22247  22155993.5664   22155999.8774
+      -862.4494       -672.0394
+  21982451.7614  -18977243.06949 -14760743.17347  21982450.1954   21982456.7774
+      1681.3234       1310.1204
+  24760519.7704   -2671596.94458  -1783812.64054  24760517.8084   24760524.9214
+     -1585.9774      -1235.8224
+  23432561.8404   -5948583.84549  -4292357.05946  23432562.5194   23432567.9464
+      -170.4574       -132.8194
+  22844922.4624   -7296806.29749  -5672743.37146  22844922.6524   22844929.1924
+      1135.0564        884.4634
+  21991415.1024  -15109849.03849 -11320411.70147  21991415.5324   21991422.5404
+     -1912.4354      -1490.2084
+ 05  1 20 21 25  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23360590.9304   -9549155.82649  -7396210.12546  23360590.3554   23360598.4914
+     -2994.8674      -2333.6654
+  21333596.1704  -10179534.87149  -7920033.17447  21333595.2664   21333602.2244
+      2676.4454       2085.5374
+  21241648.3434  -19681510.54349 -15318341.40748  21241649.1784   21241654.3354
+     -1770.0374      -1379.2524
+  20367298.3454  -27379032.91749 -21320850.81648  20367298.2424   20367301.9524
+       537.3304        418.7004
+  22160969.9674   -8818094.92349  -6849495.16847  22160967.9404   22160974.7824
+      -880.4024       -686.0234
+  21972866.8494  -19027605.81549 -14799986.85647  21972866.3634   21972872.9014
+      1676.1354       1306.0854
+  24769621.2404   -2623773.83549  -1746547.92345  24769621.8964   24769624.9564
+     -1602.2924      -1248.5304
+  23433589.7554   -5943178.06849  -4288144.79646  23433590.6514   23433596.0734
+      -189.8944       -147.9644
+  22838496.6874   -7330574.51349  -5699056.23746  22838496.0734   22838503.4744
+      1116.1844        869.7434
+  22002343.9024  -15052421.41349 -11275662.91547  22002343.8544   22002350.1584
+     -1916.0904      -1493.0524
+ 05  1 20 21 25 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23377711.9814   -9459189.45349  -7326106.47646  23377710.5774   23377718.2214
+     -3002.7464      -2339.8054
+  21318357.3984  -10259614.32949  -7982432.70047  21318356.9314   21318363.2784
+      2662.1974       2074.4414
+  21251768.9794  -19628325.46549 -15276898.48848  21251769.5384   21251775.4804
+     -1775.5584      -1383.5554
+  20364259.1264  -27395007.54049 -21333298.56948  20364258.6374   20364262.1564
+       527.6534        411.1574
+  22166044.9214   -8791413.75049  -6828704.63947  22166044.8354   22166052.2054
+      -898.3354       -700.0064
+  21963312.6034  -19077812.47549 -14839108.91047  21963312.3424   21963318.9644
+      1670.9114       1302.0124
+  24778813.5954   -2575458.53048  -1708899.58244  24778813.5494   24778812.5524
+     -1618.7794      -1261.4024
+  23434729.8414   -5937188.69649  -4283477.73346  23434728.7094   23434737.2794
+      -209.3994       -163.1544
+  22832177.0704   -7363775.32349  -5724926.96246  22832178.3144   22832184.6654
+      1097.2494        854.9944
+  22013292.2654  -14994883.81749 -11230828.42947  22013293.0744   22013299.7594
+     -1919.7344      -1495.8934
+ 05  1 20 21 26  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23394874.0364   -9368989.29649  -7255820.66746  23394873.8644   23394883.1434
+     -3010.5074      -2345.8454
+  21303200.4574  -10339266.11449  -8044498.98147  21303199.5094   21303205.8774
+      2647.9134       2063.3124
+  21261921.3434  -19574975.84949 -15235327.37148  21261921.5154   21261927.6814
+     -1781.0254      -1387.8084
+  20361274.1654  -27410691.87449 -21345520.11848  20361274.0074   20361277.4744
+       517.9714        403.6184
+  22171225.9354   -8764195.68849  -6807495.75147  22171224.9414   22171231.7144
+      -916.1844       -713.9064
+  21953788.1604  -19127863.18649 -14878109.44847  21953788.1044   21953794.8394
+      1665.7214       1297.9674
+  24788098.6804   -2526652.75458  -1670869.07654  24788100.8054   24788110.9254
+     -1634.9954      -1274.0274
+  23435980.8904   -5930615.43949  -4278355.72246  23435980.4564   23435986.0094
+      -228.8324       -178.3244
+  22825969.6904   -7396407.59949  -5750354.69146  22825969.4734   22825975.5554
+      1078.2344        840.1864
+  22024262.8344  -14937236.64549 -11185908.57047  22024262.9624   22024269.0574
+     -1923.4104      -1498.7594
+ 05  1 20 21 26 30.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23412084.2184   -9278556.60849  -7185353.68346  23412083.4984   23412091.1544
+     -3018.2194      -2351.8504
+  21288124.7854  -10418488.46249  -8106230.62947  21288123.5874   21288130.6414
+      2633.5664       2052.1314
+  21272105.0734  -19521462.43849 -15193628.60848  21272105.1764   21272110.7984
+     -1786.4624      -1392.0434
+  20358344.6954  -27426086.23549 -21357515.71348  20358344.3354   20358348.0204
+       508.3074        396.0854
+  22176506.2474   -8736442.22149  -6785869.67347  22176506.1544   22176512.7344
+      -934.0064       -727.7894
+  21944294.2134  -19177758.50049 -14916988.89547  21944293.2164   21944299.8504
+      1660.5684       1293.9524
+  24797484.0684   -2477357.89348  -1632457.45644  24797484.0634   24797484.9754
+     -1651.3494      -1286.7604
+  23437344.3704   -5923458.25349  -4272778.66646  23437343.8314   23437349.5574
+      -248.3024       -193.4814
+  22819869.0624   -7428470.50049  -5775338.74746  22819867.9364   22819873.8384
+      1059.2804        825.4264
+  22035253.4184  -14879480.36349 -11140903.67747  22035253.2624   22035259.9164
+     -1927.0364      -1501.5804
+ 05  1 20 21 27  0.0000000  0 10G 7G10G 4G 2G 5G17G23G13G30G24
+  23429337.8914   -9187892.72349  -7114706.48246  23429336.5474   23429344.2894
+     -3025.8894      -2357.8404
+  21273130.3364  -10497279.59149  -8167626.26947  21273129.8894   21273136.9664
+      2619.1824       2040.9204
+  21282319.3964  -19467786.07449 -15151802.87048  21282319.2034   21282325.0984
+     -1791.8644      -1396.2544
+  20355470.3114  -27441190.80549 -21369285.49948  20355469.9754   20355473.7894
+       498.6494        388.5584
+  22181890.6524   -8708154.86649  -6763827.59147  22181889.8654   22181895.8404
+      -951.7744       -741.6374
+  21934828.0524  -19227497.80749 -14955746.78347  21934827.9054   21934835.1264
+      1655.3764       1289.9044
+  24806955.9404   -2427575.11248  -1593665.55444  24806955.6264   24806960.7314
+     -1667.5764      -1299.4044
+  23438815.8684   -5915716.61349  -4266746.22246  23438816.2094   23438821.1664
+      -267.7984       -208.6614
+  22813873.4384   -7459963.17949  -5799878.47646  22813873.9724   22813880.9194
+      1040.2584        810.6004
+  22046264.4634  -14821615.45049 -11095814.13947  22046264.4764   22046270.9864
+     -1930.6364      -1504.3924
+ 05  1 20 21 27 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23446631.0324   -9096998.61949  -7043879.93946  23446631.4134   23446640.3814
+     -3033.5794      -2363.8204
+  21258220.6454  -10575638.06449  -8228684.78047  21258219.3074   21258226.2354
+      2604.7204       2029.6544
+  21292564.4644  -19413947.36449 -15109850.62947  21292564.4164   21292570.5134
+     -1797.2814      -1400.4784
+  20352651.4114  -27456005.56149 -21380829.45748  20352650.9404   20352654.4774
+       488.9904        381.0294
+  22187373.9954   -8679335.06649  -6741370.61347  22187373.5104   22187379.4954
+      -969.4944       -755.4494
+  21925393.3324  -19277081.24549 -14994383.21247  21925392.7154   21925399.7794
+      1650.1644       1285.8394
+  23440401.9794   -5907390.33449  -4260258.21646  23440400.9384   23440407.8034
+      -287.2934       -223.8584
+  22807990.5384   -7490884.87949  -5823973.27846  22807990.3984   22807996.9284
+      1021.1804        795.7184
+  22057296.5184  -14763642.70249 -11050640.57547  22057296.3584   22057303.1744
+     -1934.2214      -1507.1864
+ 05  1 20 21 28  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23463974.3104   -9005875.96949  -6972875.29245  23463973.5374   23463978.8704
+     -3041.1344      -2369.7144
+  21243391.3054  -10653562.03749  -8289404.71347  21243390.7764   21243397.5004
+      2590.2054       2018.3394
+  21302840.5744  -19359946.93849 -15067772.38248  21302840.3264   21302846.2294
+     -1802.6714      -1404.6784
+  20349887.2584  -27470530.56749 -21392147.63748  20349887.1194   20349890.5684
+       479.3254        373.5024
+  22192958.4214   -8649984.32549  -6718499.91147  22192958.3504   22192964.8854
+      -987.1804       -769.2384
+  21915986.8764  -19326509.23249 -15032898.51147  21915986.8034   21915993.7894
+      1644.9634       1281.7924
+  23442094.6954   -5898479.33049  -4253314.56446  23442095.9014   23442101.6974
+      -306.8074       -239.0694
+  22802216.1394   -7521234.53249  -5847622.32946  22802215.4744   22802221.8984
+      1002.1504        780.8944
+  22068349.7934  -14705562.51249 -11005383.28947  22068348.9034   22068355.4534
+     -1937.8034      -1509.9774
+ 05  1 20 21 28 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23481357.0234   -8914525.76749  -6901693.32446  23481357.5054   23481363.8054
+     -3048.7574      -2375.6574
+  21228645.4544  -10731049.84349  -8349784.78747  21228645.2934   21228652.4594
+      2575.6464       2006.9974
+  21313146.6094  -19305785.68649 -15025568.81147  21313147.0034   21313153.0524
+     -1808.0294      -1408.8524
+  20347178.7574  -27484765.87349 -21403240.07748  20347178.3674   20347181.8254
+       469.6634        365.9734
+  22198644.2314   -8620104.53049  -6695216.93547  22198643.9064   22198651.1014
+     -1004.7904       -782.9484
+  21906611.6844  -19375781.64149 -15071292.58047  21906610.9954   21906617.1364
+      1639.7804       1277.7504
+  23443905.2484   -5888983.38849  -4245915.13146  23443903.8004   23443908.6544
+      -326.2664       -254.2284
+  22796549.5224   -7551011.48449  -5870825.14746  22796549.1544   22796555.3014
+       983.0684        766.0354
+  22079422.4354  -14647375.26649 -10960042.59347  22079421.4104   22079427.8704
+     -1941.3524      -1512.7434
+ 05  1 20 21 29  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23498782.8744   -8822949.48049  -6830335.18546  23498782.7634   23498790.7814
+     -3056.2794      -2381.5134
+  21213983.9204  -10808099.77749  -8409823.64647  21213983.0024   21213990.2034
+      2561.0024       1995.5854
+  21323484.2404  -19251464.17249 -14983240.36648  21323484.2494   21323490.0384
+     -1813.3394      -1412.9814
+  20344524.3184  -27498711.35449 -21414106.67648  20344524.4494   20344528.0344
+       460.0154        358.4554
+  22204430.2924   -8589697.28749  -6671522.97147  22204430.5124   22204437.4634
+     -1022.3594       -796.6404
+  21897264.1614  -19424898.10449 -15109565.12447  21897263.8854   21897270.6404
+      1634.5654       1273.6934
+  23445821.7224   -5878902.68249  -4238059.99846  23445822.2384   23445827.6654
+      -345.7804       -269.4424
+  22790991.5304   -7580214.96249  -5893581.08546  22790991.9724   22790998.0584
+       963.9494        751.1374
+  22090513.6674  -14589081.49249 -10914618.88147  22090514.1644   22090521.7144
+     -1944.9004      -1515.5094
+ 05  1 20 21 29 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23516252.3584   -8731148.25449  -6758801.78946  23516250.9854   23516259.4694
+     -3063.7484      -2387.3324
+  21199406.4434  -10884710.27649  -8469520.09847  21199405.1564   21199411.3304
+      2546.3364       1984.1544
+  21333851.8474  -19196983.01449 -14940787.51747  21333851.8854   21333856.7594
+     -1818.6864      -1417.1634
+  20341925.6294  -27512367.18449 -21424747.57848  20341925.6444   20341929.1554
+       450.3614        350.9274
+  22210318.4464   -8558764.18349  -6647419.25947  22210317.2614   22210323.7964
+     -1039.8604       -810.2824
+  21887947.0734  -19473859.38349 -15147716.75047  21887946.4854   21887953.5724
+      1629.4274       1269.6794
+  23447851.8824   -5868236.61649  -4229748.79546  23447852.0184   23447856.0164
+      -365.2804       -284.6424
+  22785544.1704   -7608844.28449  -5915889.63846  22785543.6144   22785549.7444
+       944.7254        736.1354
+  22101626.2014  -14530681.94549 -10869112.74847  22101626.7274   22101633.9094
+     -1948.4314      -1518.2624
+ 05  1 20 21 30  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23533766.1334   -8639123.47549  -6687094.19445  23533763.8274   23533770.3384
+     -3071.1284      -2393.0934
+  21184911.3434  -10960879.79349  -8528872.92547  21184910.1824   21184916.9964
+      2531.6254       1972.6914
+  21344249.1184  -19142343.31049 -14898211.12347  21344249.2014   21344255.2134
+     -1823.9294      -1421.2424
+  20339382.7334  -27525733.40749 -21435162.81048  20339382.1324   20339385.5854
+       440.7234        343.4214
+  22216305.4204   -8527306.66049  -6622906.91147  22216304.4154   22216309.6494
+     -1057.3014       -823.8694
+  21878659.9024  -19522664.53349 -15185746.71547  21878659.2944   21878666.5364
+      1624.2204       1265.6264
+  23449992.6544   -5856985.31349  -4220981.55546  23449992.6784   23449997.6204
+      -384.8314       -299.8804
+  22780205.3084   -7636898.55149  -5937750.10646  22780205.5994   22780211.9284
+       925.5884        721.2394
+  22112760.3884  -14472176.86049 -10823524.36747  22112760.2224   22112767.6394
+     -1951.9094      -1520.9734
+ 05  1 20 21 30 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23551317.1834   -8546876.55049  -6615213.49645  23551317.7124   23551324.9064
+     -3078.5084      -2398.8304
+  21170499.3574  -11036606.55749  -8587880.75647  21170499.3764   21170505.7884
+      2516.8334       1961.1684
+  21354676.7574  -19087545.33249 -14855511.40947  21354677.0884   21354682.4464
+     -1829.1824      -1425.3374
+  20336894.1874  -27538810.42349 -21445352.69048  20336893.6734   20336897.2774
+       431.0824        335.9084
+  22222389.4294   -8495326.50349  -6597987.31847  22222389.0894   22222395.5504
+     -1074.6864       -837.4144
+  21869402.7264  -19571314.41549 -15223655.70647  21869401.7954   21869408.8384
+      1619.0834       1261.6194
+  23452244.8884   -5845148.74649  -4211758.23346  23452244.0674   23452249.9004
+      -404.3204       -315.0634
+  22774975.9154   -7664377.07849  -5959161.93246  22774976.2074   22774982.4264
+       906.3504        706.2374
+  22123915.1024  -14413566.71949 -10777854.13347  22123914.0924   22123920.3354
+     -1955.4234      -1523.7114
+ 05  1 20 21 31  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23568915.2964   -8454408.72649  -6543160.67046  23568914.1344   23568922.4984
+     -3085.8694      -2404.5684
+  21156175.2764  -11111888.90849  -8646542.28947  21156174.5384   21156180.2914
+      2502.0124       1949.6204
+  21365134.3174  -19032589.96949 -14812689.05547  21365134.6294   21365140.0404
+     -1834.4094      -1429.4094
+  20334460.6084  -27551598.03349 -21455317.05248  20334460.3954   20334463.7334
+       421.4384        328.3924
+  22228573.1114   -8462825.17149  -6572661.59747  22228572.9964   22228580.7274
+     -1092.0554       -850.9574
+  21860174.0234  -19619808.87049 -15261443.56547  21860173.7764   21860180.6714
+      1613.9134       1257.5954
+  23454609.7604   -5832726.80249  -4202078.79146  23454609.7104   23454615.0154
+      -423.8104       -330.2474
+  22769856.5054   -7691279.32649  -5980124.69246  22769856.2074   22769862.8924
+       887.1374        691.2894
+  22135086.9504  -14354852.00649 -10732102.41947  22135086.8074   22135093.7044
+     -1958.8874      -1526.4064
+ 05  1 20 21 31 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23586551.4944   -8361721.35249  -6470936.77046  23586551.3244   23586559.9194
+     -3093.1784      -2410.2624
+  21141933.0584  -11186725.48149  -8704856.46447  21141932.5084   21141939.3974
+      2487.0884       1937.9904
+  21375622.1894  -18977477.77049 -14769744.48347  21375621.7774   21375627.5764
+     -1839.6204      -1433.4664
+  20332082.3934  -27564096.19449 -21465055.87148  20332082.1534   20332085.4984
+       411.7724        320.8614
+  22234857.0744   -8429804.50849  -6546931.20947  22234856.5814   22234863.7794
+     -1109.3274       -864.4164
+  21850975.3724  -19668147.60349 -15299110.09147  21850975.0224   21850982.0594
+      1608.6584       1253.5014
+  23457083.1384   -5819719.55849  -4191943.29346  23457084.2254   23457090.2914
+      -443.3304       -345.4414
+  22764847.1944   -7717604.54649  -6000637.82946  22764847.1294   22764853.7794
+       867.9044        676.2884
+  22146278.9754  -14296033.39449 -10686269.72847  22146278.7304   22146286.0054
+     -1962.3634      -1529.1124
+ 05  1 20 21 32  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23604231.8184   -8268815.77349  -6398542.83146  23604230.7944   23604238.8604
+     -3100.4454      -2415.9234
+  21127776.9384  -11261114.70249  -8762822.04347  21127776.5504   21127784.3904
+      2472.1584       1926.3554
+  21386138.8434  -18922209.57649 -14726678.36547  21386139.1544   21386144.8594
+     -1844.8634      -1437.5554
+  20329759.4914  -27576305.05149 -21474569.25348  20329758.6804   20329762.3384
+       402.1234        313.3434
+  22241239.6754   -8396266.30649  -6520797.55347  22241239.5684   22241246.0044
+     -1126.5634       -877.8404
+  21841806.5314  -19716330.88949 -15336655.49247  21841806.1884   21841813.1994
+      1603.5064       1249.4864
+  23459671.2574   -5806127.05549  -4181351.72946  23459670.9064   23459676.3204
+      -462.8654       -360.6604
+  22759946.4664   -7743352.05549  -6020700.80846  22759947.2004   22759953.5314
+       848.6134        661.2594
+  22157492.5324  -14237111.10249 -10640356.25447  22157492.2764   22157498.7734
+     -1965.8174      -1531.8084
+ 05  1 20 21 32 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23621953.0004   -8175693.22849  -6325979.85545  23621951.8394   23621958.2894
+     -3107.6254      -2421.5234
+  21113708.4204  -11335054.79949  -8820437.67748  21113707.0894   21113713.7444
+      2457.1784       1914.6824
+  21396685.3524  -18866785.95549 -14683491.13647  21396685.9734   21396691.6094
+     -1849.9864      -1441.5504
+  20327491.1454  -27588224.73749 -21483857.31948  20327490.6664   20327494.0944
+       392.5054        305.8504
+  22247719.2114   -8362212.45149  -6494262.08747  22247719.6094   22247726.2404
+     -1143.7024       -891.1954
+  21832666.8734  -19764358.92249 -15374079.91447  21832666.3844   21832673.3994
+      1598.3204       1245.4464
+  23462368.8924   -5791949.06649  -4170303.92346  23462368.7064   23462374.6854
+      -482.3354       -375.8614
+  22755157.2044   -7768521.24549  -6040313.14446  22755157.6764   22755165.3484
+       829.3324        646.2324
+  22168723.3664  -14178085.73749 -10594362.47747  22168724.1114   22168731.3864
+     -1969.2094      -1534.4514
+ 05  1 20 21 33  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23639713.1774   -8082355.16949  -6253248.90146  23639713.4234   23639720.5424
+     -3114.7874      -2427.1114
+  21099722.7384  -11408544.28649  -8877702.17647  21099721.7424   21099728.4914
+      2442.1364       1902.9584
+  21407262.0724  -18811207.59749 -14640183.32247  21407261.8894   21407267.7154
+     -1855.1324      -1445.5614
+  20325277.1854  -27599855.21249 -21492920.01548  20325277.1384   20325280.6924
+       382.8554        298.3264
+  22254298.9394   -8327644.64349  -6467326.11547  22254298.1834   22254304.2694
+     -1160.7974       -904.5234
+  21823557.0564  -19812231.60149 -15411383.28747  21823556.7734   21823563.4324
+      1593.1084       1241.3794
+  23465177.2224   -5777185.69449  -4158800.00046  23465177.6214   23465182.7914
+      -501.9094       -391.1174
+  22750477.8864   -7793111.60549  -6059474.44246  22750478.2234   22750485.3584
+       810.0514        631.1994
+  22179975.7444  -14118957.50049 -10548288.52547  22179975.3354   22179982.6454
+     -1972.6454      -1537.1244
+ 05  1 20 21 33 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23657517.6794   -7988802.92349  -6180351.05746  23657515.5964   23657523.9434
+     -3121.9384      -2432.6804
+  21085823.8444  -11481581.82349  -8934614.49948  21085823.3704   21085829.9284
+      2427.0284       1891.1864
+  21417867.3084  -18755475.08849 -14596755.39147  21417867.6404   21417873.0624
+     -1860.3204      -1449.6054
+  20323119.4444  -27611196.51749 -21501757.38748  20323119.1414   20323122.7804
+       373.2054        290.8094
+  22260974.1284   -8292564.68249  -6439991.08747  22260973.9354   22260979.7404
+     -1177.8634       -917.8224
+  21814477.6334  -19859948.71649 -15448565.43147  21814476.5804   21814483.3674
+      1587.9264       1237.3444
+  23468098.2104   -5761837.42549  -4146840.30546  23468099.1094   23468105.5934
+      -521.3654       -406.2474
+  22745909.4464   -7817122.52949  -6078184.23946  22745909.9584   22745915.6004
+       790.7304        616.1574
+  22191246.9554  -14059727.25649 -10502135.08947  22191247.2554   22191254.1484
+     -1976.0424      -1539.7664
+ 05  1 20 21 34  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23675358.0794   -7895037.81649  -6107287.40045  23675358.2904   23675366.6624
+     -3129.0294      -2438.2064
+  21072011.9064  -11554165.77749  -8991173.40048  21072011.3804   21072017.7444
+      2411.8844       1879.3894
+  21428502.2894  -18699589.15449 -14553207.91347  21428502.6684   21428508.1504
+     -1865.3544      -1453.5224
+  20321015.9474  -27622248.95449 -21510369.67448  20321015.9844   20321019.2744
+       363.5944        283.3214
+  22267746.8344   -8256974.26049  -6412258.28647  22267746.4084   22267752.6854
+     -1194.8304       -931.0394
+  21805426.3754  -19907510.34749 -15485626.42447  21805425.8314   21805432.6604
+      1582.7524       1233.3154
+  23471131.3544   -5745904.08049  -4134424.69446  23471131.3004   23471136.2754
+      -540.8024       -421.4054
+  22741451.2524   -7840553.56349  -6096442.17046  22741450.7094   22741456.2434
+       771.3704        601.0574
+  22202538.3814  -14000395.15449 -10455902.29447  22202537.4964   22202544.6114
+     -1979.4414      -1542.4254
+ 05  1 20 21 34 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23693241.9514   -7801061.38949  -6034059.01445  23693240.4024   23693248.1214
+     -3136.0264      -2443.6624
+  21058286.3544  -11626294.63449  -9047377.66448  21058285.2694   21058292.1994
+      2396.6964       1867.5534
+  21439166.5024  -18643550.48749 -14509541.42247  21439166.2074   21439171.7544
+     -1870.4814      -1457.5194
+  20318968.1864  -27633012.34049 -21518756.71648  20318967.6284   20318971.1764
+       353.9534        275.8084
+  22274615.4644   -8220875.18149  -6384129.14447  22274615.3494   22274621.5584
+     -1211.7424       -944.2254
+  21796405.2864  -19954916.68349 -15522566.41847  21796404.6514   21796411.4394
+      1577.5904       1229.2934
+  23474273.9404   -5729385.88949  -4121553.40346  23474274.8324   23474279.6924
+      -560.3684       -436.6574
+  22737100.4624   -7863404.12649  -6114247.78946  22737102.1814   22737108.8954
+       752.0034        585.9864
+  22213847.2784  -13940961.45249 -10409590.32447  22213847.3834   22213854.2874
+     -1982.7904      -1545.0304
+ 05  1 20 21 35  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23711163.9954   -7706874.92249  -5960666.99045  23711164.7524   23711173.0584
+     -3142.9974      -2449.0864
+  21044648.0874  -11697966.76749  -9103226.04548  21044647.2204   21044653.0374
+      2381.4504       1855.6764
+  21449859.2374  -18587359.69249 -14465756.39347  21449859.5214   21449864.4574
+     -1875.4944      -1461.4234
+  20316974.8124  -27643486.56949 -21526918.45048  20316974.5544   20316977.8734
+       344.3164        268.2974
+  22281580.3524   -8184269.42649  -6355605.16147  22281579.6714   22281587.8154
+     -1228.6224       -957.3634
+  21787413.6884  -20002167.73649 -15559385.40247  21787413.1004   21787420.0074
+      1572.4104       1225.2544
+  23477527.0104   -5712283.04549  -4108226.50346  23477527.7574   23477533.2824
+      -579.8354       -451.8194
+  22732864.7214   -7885673.86949  -6131600.83146  22732864.2154   22732870.7924
+       732.6574        570.9014
+  22225176.9874  -13881426.93949 -10363199.79947  22225176.7524   22225183.0484
+     -1986.1634      -1547.6644
+ 05  1 20 21 35 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23729127.5594   -7612479.76749  -5887112.39045  23729126.8764   23729135.5064
+     -3149.8734      -2454.4484
+  21031095.8624  -11769181.05149  -9158717.66148  21031094.9134   21031101.9134
+      2366.1614       1843.7604
+  21460580.2224  -18531017.20549 -14421853.16347  21460580.7334   21460586.5154
+     -1880.5714      -1465.3794
+  20315036.1964  -27653672.10849 -21534855.22248  20315036.2344   20315039.6854
+       334.7074        260.8104
+  22288643.1874   -8147158.61349  -6326687.65647  22288643.3054   22288649.8184
+     -1245.4154       -970.4534
+  21778452.0724  -20049263.21149 -15596083.15847  21778451.0024   21778457.8594
+      1567.2214       1221.2104
+  23480895.1624   -5694595.71249  -4094444.17346  23480895.1914   23480900.1714
+      -599.3094       -466.9954
+  22728737.6614   -7907362.15349  -6148500.76846  22728737.0704   22728743.6224
+       713.2804        555.8054
+  22236525.5064  -13821791.99449 -10316731.02447  22236525.1194   22236531.5104
+     -1989.5084      -1550.2644
+ 05  1 20 21 36  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23747129.2384   -7517877.45349  -5813396.31845  23747130.1654   23747137.4304
+     -3156.7644      -2459.8074
+  21017631.5764  -11839936.00949  -9213851.36148  21017630.8714   21017637.6094
+      2350.8254       1831.8144
+  21471330.7264  -18474523.91649 -14377832.41447  21471330.8194   21471336.6004
+     -1885.5864      -1469.2864
+  20313152.8994  -27663568.84349 -21542566.96248  20313153.0214   20313156.4194
+       325.0574        253.2894
+  22295802.6204   -8109544.87149  -6297378.24647  22295801.2284   22295807.6834
+     -1262.1574       -983.4974
+  21769519.1044  -20096203.36849 -15632659.89247  21769518.6274   21769525.2594
+      1562.0204       1217.1554
+  23484371.3814   -5676324.06649  -4080206.52846  23484372.4414   23484376.0104
+      -618.8064       -482.1854
+  22724720.9184   -7928468.55249  -6164947.29346  22724721.0564   22724727.6064
+       693.8754        540.6854
+  22247892.0674  -13762056.74649 -10270184.07447  22247892.2134   22247898.9544
+     -1992.8424      -1552.8614
+ 05  1 20 21 36 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23765172.9524   -7423069.20949  -5739519.78145  23765172.1074   23765180.3704
+     -3163.6334      -2465.1684
+  21004255.3644  -11910230.21049  -9268626.03448  21004254.8044   21004260.8714
+      2335.4344       1819.8184
+  21482109.6454  -18417880.44349 -14333694.65247  21482109.5974   21482115.7344
+     -1890.5704      -1473.1724
+  20311324.6194  -27673176.79549 -21550053.67148  20311324.6664   20311328.3604
+       315.4384        245.7964
+  22303055.6104   -8071429.72649  -6267678.15447  22303054.5754   22303059.4994
+     -1278.8344       -996.4844
+  21760616.3554  -20142988.18949 -15669115.58247  21760615.7694   21760622.3214
+      1556.8654       1213.1384
+  23487958.6434   -5657468.59949  -4065513.95546  23487958.8754   23487964.8814
+      -638.2794       -497.3554
+  22720815.0304   -7948992.66749  -6180940.10246  22720815.6524   22720821.8834
+       674.4384        525.5324
+  22259278.4674  -13702221.65149 -10223559.32647  22259278.0734   22259284.5444
+     -1996.1724      -1555.4594
+ 05  1 20 21 37  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23783252.6324   -7328056.48949  -5665483.93045  23783250.3084   23783259.6764
+     -3170.5014      -2470.5224
+  20990966.2164  -11980062.23149  -9323040.56548  20990965.3884   20990972.0764
+      2319.9984       1807.7894
+  21492917.2454  -18361087.22749 -14289440.20247  21492917.0924   21492922.8504
+     -1895.5784      -1477.0704
+  20309551.3034  -27682495.97249 -21557315.36748  20309551.2554   20309554.5844
+       305.8104        238.2944
+  22310401.6454   -8032815.51149  -6237589.15347  22310401.6394   22310408.5354
+     -1295.4374      -1009.4264
+  21751742.9954  -20189617.70349 -15705450.24947  21751742.5504   21751748.8574
+      1551.6864       1209.1044
+  23491657.6924   -5638029.39349  -4050366.49646  23491658.9074   23491664.8934
+      -657.7124       -512.4984
+  22717020.7074   -7968934.18049  -6196478.91546  22717021.2184   22717026.7214
+       655.0254        510.4144
+  22270683.2844  -13642287.02449 -10176857.02747  22270683.2244   22270689.9204
+     -1999.4834      -1558.0364
+ 05  1 20 21 37 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23801370.8934   -7232840.85949  -5591289.97345  23801370.8574   23801378.5934
+     -3177.1384      -2475.7024
+  20977766.2264  -12049430.52949  -9377093.74848  20977765.4334   20977771.9314
+      2304.5034       1795.7144
+  21503753.3714  -18304145.02549 -14245069.64947  21503753.2434   21503758.6424
+     -1900.5324      -1480.9364
+  20307833.2024  -27691526.50249 -21564352.13348  20307832.8734   20307836.4324
+       296.1934        230.8004
+  22317845.6124   -7993704.16549  -6207112.78747  22317844.4884   22317850.7544
+     -1311.9744      -1022.3194
+  21742899.7424  -20236091.74249 -15741663.77047  21742898.8684   21742905.1014
+      1546.5414       1205.0944
+  23495469.0094   -5618006.63249  -4034764.34746  23495468.5254   23495474.3344
+      -677.1164       -527.6314
+  22713338.1284   -7988292.81549  -6211563.55646  22713337.4564   22713342.2904
+       635.5704        495.2484
+  22282108.2004  -13582253.39249 -10130077.57847  22282107.7874   22282114.4274
+     -2002.7774      -1560.6024
+ 05  1 20 21 38  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23819528.7374   -7137423.62949  -5516938.91445  23819527.6764   23819536.0014
+     -3183.8694      -2480.9264
+  20964654.9264  -12118333.80149  -9430784.58048  20964653.6684   20964660.0384
+      2289.0094       1783.6414
+  21514616.8024  -18247054.30749 -14200583.38847  21514617.0694   21514622.8974
+     -1905.4384      -1484.7584
+  20306169.7604  -27700268.52149 -21571164.09248  20306169.1874   20306172.5364
+       286.6034        223.3284
+  22325381.4034   -7954097.63349  -6176250.57047  22325381.0654   22325387.6654
+     -1328.4224      -1035.1344
+  21734085.6744  -20282410.57649 -15777756.35248  21734084.9214   21734091.2504
+      1541.3574       1201.0584
+  23499388.8434   -5597400.84649  -4018707.87446  23499389.6294   23499395.3644
+      -696.6064       -542.8084
+  22709762.3084   -8007068.03649  -6226193.59246  22709764.0294   22709770.0394
+       616.1394        480.1084
+  22293550.1364  -13522121.26449 -10083221.38047  22293550.7884   22293557.4434
+     -2006.0414      -1563.1484
+ 05  1 20 21 38 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23837724.1004   -7041806.28749  -5442431.94345  23837723.3104   23837731.3604
+     -3190.5404      -2486.1294
+  20951630.3714  -12186770.59049  -9484111.91148  20951629.7624   20951636.7104
+      2273.4074       1771.4874
+  21525509.0164  -18189815.76849 -14155981.93147  21525509.4794   21525514.7174
+     -1910.3924      -1488.6184
+  20304560.5664  -27708721.88949 -21577751.12548  20304560.5574   20304563.9844
+       276.9694        215.8224
+  22333012.8804   -7913997.98149  -6145004.09947  22333011.9914   22333018.9274
+     -1344.8524      -1047.9334
+  21725300.3224  -20328573.85049 -15813727.71348  21725300.0774   21725306.8454
+      1536.1684       1197.0154
+  23503421.2054   -5576212.44549  -4002197.43046  23503420.8654   23503427.0104
+      -715.9964       -557.9024
+  22706302.1724   -8025259.71749  -6240368.91546  22706302.3124   22706307.9954
+       596.6774        464.9454
+  22305010.4854  -13461890.97249 -10036288.68047  22305011.2844   22305018.7724
+     -2009.2974      -1565.6804
+ 05  1 20 21 39  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23855957.3564   -6945990.20349  -5367770.10045  23855956.4484   23855963.6384
+     -3197.1134      -2491.2634
+  20938698.0404  -12254739.56849  -9537074.71848  20938696.7874   20938702.4354
+      2257.8274       1759.3504
+  21536429.2774  -18132429.89049 -14111265.66447  21536429.4324   21536435.3124
+     -1915.2614      -1492.4064
+  20303007.2744  -27716886.67149 -21584113.28648  20303006.9984   20303010.1604
+       267.3404        208.3214
+  22340737.5274   -7873407.06049  -6113374.81647  22340736.5104   22340742.9504
+     -1361.2124      -1060.6774
+  21716544.8134  -20374581.84249 -15849578.07047  21716544.4244   21716551.5634
+      1530.9674       1192.9624
+  23507564.8154   -5554441.67449  -3985233.17546  23507565.1404   23507570.4174
+      -735.3814       -573.0294
+  22702952.0384   -8042867.44949  -6254089.23646  22702952.8244   22702958.1074
+       577.2204        449.7784
+  22316491.7824  -13401563.03149  -9989279.89747  22316492.2244   22316498.1664
+     -2012.5474      -1568.2194
+ 05  1 20 21 39 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23874227.8674   -6849976.80249  -5292954.49045  23874227.1914   23874236.1424
+     -3203.6924      -2496.3734
+  20925851.5624  -12322239.55949  -9589672.07448  20925851.1874   20925857.7654
+      2242.1594       1747.1354
+  21547377.0854  -18074897.29649 -14066435.07547  21547377.4394   21547383.6824
+     -1920.1674      -1496.2314
+  20301508.1294  -27724763.00149 -21590250.68248  20301508.1434   20301511.1694
+       257.7314        200.8334
+  22348554.1684   -7832327.10249  -6081364.46747  22348553.3824   22348559.8264
+     -1377.4624      -1073.3394
+  21707820.2734  -20420434.31649 -15885307.25848  21707819.4834   21707826.3014
+      1525.8224       1188.9534
+  23511818.0164   -5532088.87249  -3967815.42446  23511819.5784   23511823.2524
+      -754.7664       -588.1124
+  22699711.7484   -8059891.03249  -6267354.33746  22699711.5654   22699717.6114
+       557.7624        434.6174
+  22327990.0684  -13341137.84249  -9942195.33547  22327989.7534   22327997.0504
+     -2015.8074      -1570.7584
+ 05  1 20 21 40  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23892537.1364   -6753767.71749  -5217986.43345  23892536.4984   23892543.1174
+     -3210.1994      -2501.4574
+  20913096.6794  -12389269.18549  -9641902.91948  20913095.9844   20913102.5024
+      2226.4584       1734.9014
+  21558353.5384  -18017218.67649 -14021490.70947  21558353.3644   21558359.5494
+     -1925.0044      -1500.0004
+  20300065.0704  -27732350.91149 -21596163.32548  20300064.2904   20300067.4034
+       248.1124        193.3334
+  22356464.3464   -7790759.85649  -6048974.40747  22356463.1954   22356469.8444
+     -1393.6714      -1085.9774
+  21699124.1344  -20466131.18449 -15920915.18548  21699123.6854   21699130.2654
+      1520.6144       1184.8924
+  23516182.4844   -5509154.70249  -3949944.61846  23516182.2514   23516188.3854
+      -774.0734       -603.1724
+  22696583.8364   -8076330.21149  -6280164.10046  22696584.5734   22696590.6134
+       538.2434        419.4194
+  22339507.1354  -13280615.50849  -9895035.07547  22339506.4664   22339514.2114
+     -2019.0284      -1573.2764
+ 05  1 20 21 40 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23910881.9824   -6657364.30849  -5142866.91745  23910880.5654   23910887.9094
+     -3216.6274      -2506.4554
+  20900431.8734  -12455827.14349  -9693766.22348  20900430.4684   20900436.8604
+      2210.7114       1722.6294
+  21569356.0884  -17959394.64949 -13976433.03147  21569356.8984   21569362.7654
+     -1929.8604      -1503.7834
+  20298675.4514  -27739650.42149 -21601851.24648  20298675.1204   20298678.5314
+       238.4924        185.8404
+  22364466.4884   -7748707.43349  -6016206.31147  22364466.2694   22364472.4814
+     -1409.8164      -1098.5554
+  21690457.6814  -20511672.99149 -15956402.28548  21690457.0914   21690463.9134
+      1515.4194       1180.8504
+  23520657.9344   -5485639.11349  -3931620.78546  23520658.8714   23520662.7254
+      -793.5314       -618.3264
+  22693566.4454   -8092184.81049  -6292518.31546  22693566.9824   22693573.2814
+       518.7614        404.2244
+  22351043.0724  -13219996.48649  -9847799.47347  22351042.2854   22351049.2624
+     -2022.2364      -1575.7644
+ 05  1 20 21 41  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23929261.4074   -6560767.94549  -5067597.08445  23929261.7524   23929270.6214
+     -3223.0254      -2511.4474
+  20887855.6344  -12521912.22649  -9745261.06148  20887855.0274   20887861.2704
+      2194.9414       1710.3454
+  21580388.0904  -17901425.56849 -13931262.31747  21580387.9114   21580393.6434
+     -1934.6604      -1507.5344
+  20297341.3274  -27746661.54949 -21607314.45348  20297340.9724   20297344.3344
+       228.8844        178.3494
+  22372560.2154   -7706172.00949  -5983061.85347  22372560.2104   22372567.0044
+     -1425.8904      -1111.0784
+  21681821.1724  -20557059.25049 -15991768.18148  21681820.5424   21681827.2944
+      1510.2514       1176.8194
+  23525241.1434   -5461543.32349  -3912844.83246  23525242.3254   23525248.9574
+      -812.8734       -633.4104
+  22690660.5524   -8107454.59549  -6304416.85146  22690661.1204   22690667.1634
+       499.2764        389.0474
+  22362597.5504  -13159281.03749  -9800488.74347  22362597.0604   22362603.1894
+     -2025.4454      -1578.2764
+ 05  1 20 21 41 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23947682.7134   -6463980.23249  -4992178.16045  23947680.2284   23947687.9034
+     -3229.3564      -2516.3824
+  20875370.6674  -12587523.19049  -9796386.44948  20875369.2264   20875376.1524
+      2179.1204       1698.0134
+  21591447.3394  -17843312.11349 -13885979.11647  21591447.0784   21591452.0224
+     -1939.4924      -1511.2914
+  20296062.2804  -27753384.43949 -21612553.06048  20296061.6534   20296065.1664
+       219.2874        170.8714
+  22380746.9834   -7663155.50249  -5949542.49347  22380745.9074   22380752.7464
+     -1441.8914      -1123.5444
+  21673214.2104  -20602289.82349 -16027012.76948  21673213.7764   21673220.3124
+      1505.0564       1172.7724
+  23529938.3424   -5436867.43049  -3893616.88146  23529938.3004   23529944.2574
+      -832.2394       -648.5074
+  22687864.6554   -8122139.49749  -6315859.61646  22687865.5484   22687873.1154
+       479.7504        373.8224
+  22374168.3124  -13098469.53349  -9753103.17347  22374168.6464   22374175.6694
+     -2028.6524      -1580.7644
+ 05  1 20 21 42  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23966134.3644   -6367002.63449  -4916611.22745  23966135.1464   23966143.3584
+     -3235.6804      -2521.3024
+  20862974.7344  -12652658.82049  -9847141.44848  20862974.3864   20862981.0184
+      2163.2604       1685.6514
+  21602531.8204  -17785054.89949 -13840583.88947  21602532.6184   21602538.2604
+     -1944.2644      -1515.0044
+  20294837.8094  -27759819.07549 -21617567.05348  20294837.1914   20294840.4974
+       209.6674        163.3734
+  22389022.8564   -7619660.16749  -5915650.02547  22389022.1244   22389029.3034
+     -1457.8124      -1135.9534
+  21664636.1494  -20647364.94749 -16062136.22048  21664635.5284   21664642.7204
+      1499.8684       1168.7304
+  23534742.9914   -5411612.12349  -3873937.42546  23534744.4194   23534750.1454
+      -851.5544       -663.5434
+  22685182.8454   -8136239.32249  -6326846.47846  22685183.1384   22685189.7994
+       460.2654        358.6504
+  22385758.9174  -13037562.38049  -9705643.05347  22385758.7414   22385765.8444
+     -2031.8324      -1583.2464
+ 05  1 20 21 42 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  23984624.2644   -6269836.63049  -4840897.50545  23984624.4754   23984631.5844
+     -3241.9704      -2526.2104
+  20850671.0504  -12717317.94049  -9897525.14648  20850670.1774   20850676.6714
+      2147.3514       1673.2564
+  21613646.2274  -17726654.44649 -13795077.04847  21613646.1094   21613651.4404
+     -1949.0304      -1518.7234
+  20293667.8194  -27765965.40949 -21622356.40348  20293667.4004   20293670.7534
+       200.0664        155.8934
+  22397390.3704   -7575688.25449  -5881386.22447  22397390.0484   22397397.0484
+     -1473.6544      -1148.2934
+  21656088.5004  -20692284.33249 -16097138.31948  21656087.9194   21656094.8854
+      1494.6774       1164.6814
+  23539659.7844   -5385777.98349  -3853806.91146  23539660.0644   23539665.3784
+      -870.7874       -678.5504
+  22682610.5274   -8149754.00549  -6337377.37746  22682611.0124   22682618.2564
+       440.7664        343.4584
+  22397367.6234  -12976559.73349  -9658108.53647  22397367.4824   22397373.6874
+     -2035.0144      -1585.7194
+ 05  1 20 21 43  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24003150.0984   -6172483.72449  -4765038.16345  24003149.6764   24003157.5564
+     -3248.1904      -2531.0494
+  20838457.3874  -12781499.16949  -9947536.45848  20838457.0734   20838463.5484
+      2131.4074       1660.8394
+  21624785.7234  -17668111.15049 -13749458.89647  21624786.0914   21624792.0164
+     -1953.7824      -1522.4294
+  20292552.9484  -27771823.68149 -21626921.28148  20292552.6424   20292556.0214
+       190.4584        148.4114
+  22405848.7074   -7531241.68349  -5846752.53747  22405847.9284   22405854.6974
+     -1489.4364      -1160.5934
+  21647570.3674  -20737048.52049 -16132019.48548  21647569.4454   21647576.4924
+      1489.5184       1160.6654
+  23544687.4564   -5359365.25249  -3833225.56546  23544687.1484   23544692.0384
+      -890.0604       -693.5394
+  22680151.3244   -8162683.42049  -6347452.24046  22680151.1194   22680157.6644
+       421.2444        328.2394
+  22408994.7734  -12915462.21649  -9610500.08647  22408993.9184   22408999.9914
+     -2038.1604      -1588.1834
+ 05  1 20 21 43 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24021711.0814   -6074945.44349  -4689034.36945  24021710.2464   24021719.1254
+     -3254.3034      -2535.8134
+  20826336.1004  -12845201.45449  -9997174.56948  20826334.7964   20826341.0404
+      2115.4094       1648.3674
+  21635954.0304  -17609425.75049 -13703730.02147  21635953.7604   21635959.3154
+     -1958.4984      -1526.1034
+  20291493.2484  -27777393.75249 -21631261.59348  20291492.8244   20291496.0034
+       180.8664        140.9314
+  22414397.3004   -7486322.46249  -5811750.55847  22414396.4114   22414402.0334
+     -1505.1564      -1172.8504
+  21639081.7324  -20781656.72249 -16166779.11348  21639081.0724   21639087.7064
+      1484.2974       1156.5954
+  23549822.9484   -5332374.88149  -3812194.07046  23549823.1674   23549828.7704
+      -909.3044       -708.5524
+  22677801.3104   -8175027.59649  -6357071.06946  22677802.3024   22677808.0394
+       401.7674        313.0684
+  22420639.0234  -12854270.09149  -9562817.93247  22420638.5354   22420644.3694
+     -2041.3084      -1590.6344
+ 05  1 20 21 44  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24040307.8804   -5977223.21249  -4612887.21245  24040307.7654   24040315.2144
+     -3260.3954      -2540.5664
+  20814304.6984  -12908423.26149 -10046438.28248  20814304.0864   20814310.4614
+      2099.3774       1635.8784
+  21647147.8654  -17550598.72449 -13657890.78047  21647148.3374   21647153.6204
+     -1963.2324      -1529.7874
+  20290488.2554  -27782675.84649 -21635377.50748  20290487.7884   20290490.9604
+       171.2424        133.4354
+  22423032.9534   -7440933.01449  -5776382.17647  22423033.6484   22423039.6364
+     -1520.7914      -1185.0414
+  21630622.5684  -20826109.29849 -16201417.46748  21630622.3434   21630628.6384
+      1479.1134       1152.5604
+  23555068.4244   -5304807.43149  -3790712.94446  23555068.7574   23555073.9894
+      -928.5434       -723.5404
+  22675563.9644   -8186786.43449  -6366233.77746  22675564.1194   22675570.3664
+       382.2364        297.8494
+  22432300.1904  -12792983.54049  -9515062.18647  22432300.6904   22432307.3004
+     -2044.4634      -1593.0924
+ 05  1 20 21 44 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24058940.5014   -5879318.56549  -4536597.93945  24058938.8994   24058945.1014
+     -3266.4654      -2545.2884
+  20802365.3634  -12971163.83049 -10095326.99748  20802364.8524   20802371.4564
+      2083.3114       1623.3584
+  21658369.5064  -17491630.69049 -13611941.66547  21658369.5984   21658375.4944
+     -1967.9504      -1533.4674
+  20289537.2834  -27787669.74149 -21639268.84948  20289537.1604   20289540.7814
+       161.6374        125.9504
+  22431761.1794   -7395075.53449  -5740649.07647  22431760.9474   22431766.1904
+     -1536.3664      -1197.1694
+  21622193.5944  -20870405.88749 -16235934.27348  21622192.9924   21622199.1664
+      1473.9274       1148.5114
+  23560423.3774   -5276663.51849  -3768782.61046  23560423.7354   23560429.3984
+      -947.7334       -738.4864
+  22673438.3124   -8197959.98349  -6374940.41846  22673438.5084   22673444.9444
+       362.7134        282.6294
+  22443980.9674  -12731602.97249  -9467233.18947  22443980.8204   22443987.4924
+     -2047.5894      -1595.5244
+ 05  1 20 21 45  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24077604.1654   -5781233.05649  -4460167.74145  24077604.0304   24077610.6994
+     -3272.5044      -2550.0064
+  20790517.8224  -13033422.03049 -10143839.85348  20790517.5814   20790523.7794
+      2067.2264       1610.8244
+  21669617.5304  -17432522.05549 -13565882.99347  21669617.6804   21669622.9154
+     -1972.6274      -1537.1124
+  20288642.2114  -27792375.59049 -21642935.73848  20288641.8104   20288644.9484
+       152.0494        118.4814
+  22440576.0484   -7348752.24849  -5704553.02047  22440574.6354   22440581.6204
+     -1551.8574      -1209.2364
+  21613793.4584  -20914546.70949 -16270329.70148  21613793.1814   21613799.4664
+      1468.7324       1144.4654
+  23565889.9814   -5247943.72149  -3746403.55846  23565889.4044   23565894.5054
+      -966.9194       -753.4454
+  22671424.2164   -8208548.17049  -6383190.95146  22671424.1654   22671429.4454
+       343.1694        267.4004
+  22455678.1734  -12670128.40149  -9419330.92547  22455678.7024   22455685.8444
+     -2050.7204      -1597.9694
+ 05  1 20 21 45 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24096303.5674   -5682968.17949  -4383597.75745  24096302.7204   24096309.2804
+     -3278.4394      -2554.6264
+  20778763.1874  -13095196.57849 -10191975.83448  20778762.4724   20778768.9114
+      2051.0614       1598.2274
+  21680892.2024  -17373273.42249 -13519715.22547  21680892.1524   21680898.0954
+     -1977.2454      -1540.7114
+  20287801.6124  -27796793.50849 -21646378.27348  20287801.1164   20287804.4834
+       142.4394        110.9904
+  22449476.7724   -7301965.14549  -5668095.55247  22449477.2364   22449485.3394
+     -1567.2794      -1221.2554
+  21605423.2114  -20958531.94349 -16304603.89048  21605422.7184   21605429.2454
+      1463.5284       1140.4074
+  23571464.1704   -5218649.08949  -3723576.54746  23571464.4744   23571467.9594
+      -986.0344       -768.3574
+  22669518.8334   -8218551.16549  -6390985.46546  22669519.2284   22669525.8564
+       323.6894        252.2234
+  22467395.3794  -12608560.54249  -9371355.98947  22467395.3314   22467401.6214
+     -2053.8514      -1600.3984
+ 05  1 20 21 46  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24115037.2734   -5584525.55549  -4306889.24145  24115035.9324   24115043.0184
+     -3284.3014      -2559.1904
+  20767098.9764  -13156486.41649 -10239734.11148  20767098.7284   20767105.5594
+      2034.9114       1585.6494
+  21692192.3664  -17313885.31249 -13473438.77747  21692193.1244   21692199.0564
+     -1981.9114      -1544.3444
+  20287014.9394  -27800923.55049 -21649596.48948  20287015.2974   20287018.5544
+       132.8634        103.5354
+  22458469.4764   -7254716.57549  -5631278.48547  22458469.0194   22458475.7424
+     -1582.6094      -1233.2044
+  21597082.3284  -21002360.96649 -16338756.36048  21597082.3014   21597088.9964
+      1458.3554       1136.3814
+  23577146.5514   -5188780.02749  -3700301.93246  23577146.5794   23577153.1304
+     -1005.1864       -783.2604
+  22667728.1704   -8227968.96949  -6398324.00046  22667728.4004   22667734.0894
+       304.1754        237.0194
+  22479129.1684  -12546899.52049  -9323308.43947  22479128.4334   22479135.6704
+     -2056.9264      -1602.7954
+ 05  1 20 21 46 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24133804.0084   -5485906.56549  -4230043.32545  24133802.4684   24133809.9054
+     -3290.2254      -2563.8174
+  20755529.7854  -13217290.31849 -10287113.75148  20755528.7284   20755534.7904
+      2018.6814       1572.9994
+  21703521.3074  -17254358.14949 -13427053.98447  21703520.8744   21703526.2784
+     -1986.4864      -1547.9074
+  20286284.7024  -27804765.64249 -21652590.32848  20286284.1724   20286287.3574
+       123.2584         96.0474
+  22467549.9074   -7207008.90649  -5594103.70847  22467548.6004   22467554.3314
+     -1597.8774      -1245.0964
+  21588772.5044  -21046034.38149 -16372787.58548  21588771.7274   21588777.9274
+      1453.1404       1132.3224
+  23582940.0954   -5158337.31149  -3676580.35946  23582941.1934   23582946.6234
+     -1024.3354       -798.1844
+  22666046.4384   -8236801.69949  -6405206.64246  22666047.3254   22666053.1794
+       284.7184        221.8684
+  22490879.9514  -12485145.61149  -9275188.51847  22490880.2924   22490887.5184
+     -2060.0154      -1605.2114
+ 05  1 20 21 47  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24152602.8104   -5387112.93249  -4153061.31445  24152602.9394   24152611.1074
+     -3295.9824      -2568.2904
+  20744051.0954  -13277607.46149 -10334114.09648  20744050.3994   20744056.8464
+      2002.4434       1560.3454
+  21714874.4134  -17194692.49849 -13380561.27147  21714875.0874   21714880.0574
+     -1991.1204      -1551.5234
+  20285608.0964  -27808319.83649 -21655359.82348  20285607.6364   20285611.0384
+       113.6674         88.5694
+  22476714.5854   -7158844.45549  -5556572.95947  22476713.0534   22476720.1974
+     -1613.0764      -1256.9414
+  21580490.7924  -21089551.61749 -16406697.09848  21580490.5084   21580497.2654
+      1447.9234       1128.2534
+  23588841.5314   -5127321.94049  -3652412.53446  23588841.3534   23588848.8234
+     -1043.4284       -813.0574
+  22664477.9964   -8245049.58449  -6411633.55546  22664478.5894   22664483.3654
+       265.2364        206.6754
+  22502649.5644  -12423299.07249  -9226996.42747  22502649.3374   22502655.9034
+     -2063.0944      -1607.6114
+ 05  1 20 21 47 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24171436.6794   -5288146.10449  -4075944.35845  24171435.6164   24171443.2314
+     -3301.7454      -2572.7814
+  20732665.6364  -13337436.89049 -10380734.39548  20732665.0424   20732671.6804
+      1986.1694       1547.6654
+  21726255.4874  -17134888.98749 -13333961.14347  21726255.6374   21726260.4224
+     -1995.7034      -1555.0904
+  20284986.0954  -27811586.17049 -21657905.01448  20284986.0044   20284989.3914
+       104.0634         81.0864
+  22485964.0214   -7110225.41549  -5518688.01847  22485964.9174   22485972.2244
+     -1628.1784      -1268.7084
+  21572239.5254  -21132912.62449 -16440484.88448  21572239.2214   21572246.0674
+      1442.7574       1124.2234
+  23594851.8084   -5095734.78149  -3627799.17246  23594851.6004   23594859.0904
+     -1062.4684       -827.9024
+  22663020.4574   -8252712.61349  -6417604.73246  22663019.3364   22663025.2354
+       245.7074        191.4584
+  22514435.6124  -12361360.38549  -9178732.53147  22514435.5284   22514442.2894
+     -2066.1574      -1609.9864
+ 05  1 20 21 48  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24190300.2794   -5189007.64449  -3998693.66945  24190301.0254   24190308.6874
+     -3307.4724      -2577.2584
+  20721374.0954  -13396777.31449 -10426973.66348  20721373.3454   20721379.5634
+      1969.8584       1534.9504
+  21737661.1424  -17074947.90249 -13287253.80747  21737661.5304   21737667.7884
+     -2000.2894      -1558.6684
+  20284419.2604  -27814564.76349 -21660225.99648  20284419.1144   20284422.4824
+        94.4804         73.6174
+  22495304.2914   -7061154.17849  -5480450.71347  22495303.4124   22495309.8694
+     -1643.2254      -1280.4394
+  21564018.5614  -21176117.64249 -16474151.11948  21564017.6554   21564024.0834
+      1437.5184       1120.1424
+  23600974.4194   -5063576.56749  -3602740.84846  23600974.2984   23600978.6614
+     -1081.4554       -842.6934
+  22661672.2884   -8259791.03249  -6423120.37346  22661672.2244   22661678.6454
+       226.2234        176.2814
+  22526239.9834  -12299329.86649  -9130397.07547  22526240.3814   22526246.0164
+     -2069.2224      -1612.3834
+ 05  1 20 21 48 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24209197.0184   -5089699.25349  -3921310.55345  24209197.1334   24209204.8904
+     -3313.0434      -2581.5924
+  20710175.8764  -13455627.78749 -10472831.15148  20710174.5804   20710180.7834
+      1953.5144       1522.2184
+  21749093.6404  -17014869.85049 -13240439.74447  21749093.6164   21749099.8564
+     -2004.8554      -1562.2284
+  20283907.1114  -27817255.52849 -21662322.69448  20283907.1054   20283910.3984
+        84.8884         66.1464
+  22504727.1984   -7011633.05549  -5441862.82847  22504726.1844   22504733.4054
+     -1658.1734      -1292.0864
+  21555825.4914  -21219166.38449 -16507695.57448  21555825.4454   21555832.1314
+      1432.3094       1116.0844
+  23607202.1874   -5030848.09649  -3577238.15346  23607202.2964   23607206.4574
+     -1100.3684       -857.4234
+  22660436.6224   -8266285.00649  -6428180.60946  22660436.6554   22660442.2384
+       206.7674        161.1154
+  22538060.4394  -12237207.53449  -9081990.07947  22538060.6724   22538067.9254
+     -2072.2794      -1614.7644
+ 05  1 20 21 49  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24228127.0894   -4990222.35149  -3843796.09745  24228126.1704   24228134.5934
+     -3318.6154      -2585.9404
+  20699069.3204  -13513987.38849 -10518306.13148  20699068.8224   20699075.5174
+      1937.1164       1509.4384
+  21760552.4894  -16954655.27449 -13193519.30047  21760552.8924   21760558.4114
+     -2009.3724      -1565.7444
+  20283450.3414  -27819658.42349 -21664195.07348  20283449.8944   20283453.1724
+        75.2924         58.6644
+  22514234.4814   -6961664.47949  -5402926.28247  22514234.8404   22514242.0734
+     -1673.0634      -1303.6904
+  21547663.3374  -21262058.72949 -16541118.16448  21547663.0444   21547669.9684
+      1427.1004       1112.0194
+  23613537.5994   -4997550.13049  -3551291.66246  23613537.5504   23613543.0774
+     -1119.3764       -872.2554
+  22659311.6834   -8272194.83049  -6432785.64946  22659311.6874   22659317.8294
+       187.2434        145.9004
+  22549900.3414  -12174993.76649  -9033511.82047  22549899.7364   22549906.7904
+     -2075.3144      -1617.1284
+ 05  1 20 21 49 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24247091.1294   -4890578.56749  -3766151.65245  24247090.1384   24247097.5404
+     -3324.2454      -2590.3214
+  20688057.7824  -13571854.98449 -10563397.74348  20688056.7684   20688063.4234
+      1920.6924       1496.6444
+  21772036.2514  -16894304.63349 -13146492.83247  21772036.4834   21772042.0614
+     -2013.9024      -1569.2784
+  20283047.7284  -27821773.56849 -21665843.23048  20283047.6644   20283050.9214
+        65.6974         51.1894
+  22523829.6804   -6911250.63349  -5363642.77047  22523828.8104   22523835.1474
+     -1687.8714      -1315.2314
+  21539530.7044  -21304794.95049 -16574419.09248  21539530.4424   21539537.6954
+      1421.8984       1107.9724
+  23619981.1164   -4963683.72249  -3524902.27846  23619981.6934   23619988.0354
+     -1138.3244       -887.0004
+  22658298.2544   -8277520.70249  -6436935.66846  22658298.2934   22658304.3674
+       167.8004        130.7614
+  22561755.5594  -12112688.93049  -8984962.61447  22561755.8704   22561763.1884
+     -2078.3474      -1619.4894
+ 05  1 20 21 50  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24266084.7154   -4790769.44049  -3688378.33545  24266082.9844   24266090.9514
+     -3329.6454      -2594.5314
+  20677139.8714  -13629229.69949 -10608105.28748  20677139.0104   20677145.6814
+      1904.2674       1483.8454
+  21783546.3564  -16833818.38649 -13099360.69447  21783546.9124   21783552.4154
+     -2018.4444      -1572.8174
+  20282700.3584  -27823600.83049 -21667267.05548  20282699.7384   20282703.3344
+        56.1174         43.7254
+  22533507.2594   -6860394.03949  -5324014.26247  22533506.3314   22533512.7634
+     -1702.5884      -1326.6934
+  21531429.4644  -21347374.30549 -16607597.80048  21531428.5244   21531434.7084
+      1416.6594       1103.8894
+  23626533.0994   -4929249.85349  -3498070.70846  23626533.8674   23626540.6334
+     -1157.2534       -901.7504
+  22657395.0914   -8282262.92049  -6440630.89146  22657396.3034   22657402.1084
+       148.3964        115.6324
+  22573630.8584  -12050292.99849  -8936342.40547  22573629.8794   22573636.9894
+     -2081.3744      -1621.8554
+ 05  1 20 21 50 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24285108.8634   -4690796.54249  -3610477.45145  24285108.7374   24285114.5714
+     -3335.0634      -2598.7484
+  20666315.6644  -13686110.63049 -10652428.06748  20666314.6454   20666321.1644
+      1887.7844       1470.9994
+  21795083.3624  -16773196.98449 -13052123.23347  21795082.8644   21795088.4394
+     -2022.9064      -1576.2874
+  20282406.8454  -27825140.58649 -21668466.85948  20282406.6014   20282410.0004
+        46.5214         36.2484
+  22543268.0264   -6809096.83049  -5284042.43147  22543267.8444   22543274.3874
+     -1717.2264      -1338.1084
+  21523356.4944  -21389797.19249 -16640654.57648  21523355.7434   21523362.3334
+      1411.4444       1099.8264
+  23633194.6794   -4894249.43149  -3470797.66346  23633194.5824   23633200.4854
+     -1176.1214       -916.4644
+  22656604.8414   -8286421.94449  -6443871.68046  22656604.0304   22656610.8774
+       128.9424        100.4674
+  22585520.6074  -11987806.33749  -8887651.51947  22585520.3284   22585528.1984
+     -2084.4064      -1624.2024
+ 05  1 20 21 51  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24304160.2654   -4590661.55449  -3532450.22145  24304161.3544   24304170.4504
+     -3340.4774      -2602.9684
+  20655586.4424  -13742496.91249 -10696365.41048  20655585.0994   20655591.4574
+      1871.2894       1458.1454
+  21806643.9884  -16712441.00649 -13004780.92847  21806644.4464   21806649.7884
+     -2027.3974      -1579.7924
+  20282168.4394  -27826392.63149 -21669442.47948  20282168.3314   20282171.9974
+        36.9424         28.7844
+  22553113.7904   -6757361.37649  -5243729.10847  22553113.7684   22553119.1614
+     -1731.8044      -1349.4564
+  21515313.2204  -21432063.62049 -16673589.44348  21515312.4414   21515319.1764
+      1406.2384       1095.7664
+  23639962.4994   -4858683.27949  -3443083.75446  23639962.7014   23639967.4534
+     -1194.9554       -931.1434
+  22655924.6444   -8289997.96549  -6446658.18446  22655924.0724   22655929.4164
+       109.5134         85.3284
+  22597428.8794  -11925229.10349  -8838890.03847  22597428.3864   22597435.0644
+     -2087.4224      -1626.5624
+ 05  1 20 21 51 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24323244.4474   -4490366.10249  -3454297.96845  24323245.3724   24323253.7754
+     -3345.8394      -2607.1424
+  20644950.2424  -13798387.53749 -10739916.52848  20644949.3904   20644955.5674
+      1854.7624       1445.2714
+  21818231.6864  -16651550.91949 -12957334.11747  21818231.4324   21818236.6964
+     -2031.8764      -1583.2844
+  20281984.7534  -27827357.00849 -21670193.93848  20281984.8764   20281988.1944
+        27.3514         21.3104
+  22563042.2474   -6705189.92049  -5203076.05247  22563041.8044   22563047.5344
+     -1746.2744      -1360.7324
+  21507299.4684  -21474173.07449 -16706401.99348  21507299.4814   21507305.9604
+      1401.0214       1091.7044
+  23646838.4804   -4822552.83849  -3414930.13646  23646838.7604   23646844.0914
+     -1213.7374       -945.7604
+  22655353.4744   -8292991.35249  -6448990.69246  22655354.7144   22655361.1194
+        90.1014         70.2104
+  22609353.4734  -11862561.64549  -8790058.26247  22609353.4364   22609360.8654
+     -2090.4434      -1628.9184
+ 05  1 20 21 52  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24342360.9954   -4389911.72249  -3376021.87145  24342360.4434   24342370.9984
+     -3351.0614      -2611.2154
+  20634408.8074  -13853781.79349 -10783080.86448  20634407.8074   20634414.4604
+      1838.1974       1432.3624
+  21829844.7894  -16590527.06549 -12909783.06347  21829844.0684   21829849.4434
+     -2036.3194      -1586.7394
+  20281856.5954  -27828033.76049 -21670721.26748  20281856.1414   20281859.4264
+        17.7414         13.8254
+  22573051.9984   -6652585.26749  -5162085.42147  22573051.6804   22573057.7304
+     -1760.6954      -1371.9734
+  21499316.5514  -21516125.75549 -16739092.37948  21499316.1574   21499322.7694
+      1395.7914       1087.6304
+  23653822.2174   -4785858.70249  -3386337.33446  23653821.6904   23653827.0134
+     -1232.5384       -960.4134
+  22654895.5104   -8295402.52649  -6450869.51246  22654895.5904   22654902.4024
+        70.7244         55.1064
+  22621297.7754  -11799804.31049  -8741156.45047  22621296.2754   22621302.6704
+     -2093.4374      -1631.2524
+ 05  1 20 21 52 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24361508.4714   -4289300.03449  -3297623.23345  24361508.8964   24361517.4654
+     -3356.3084      -2615.3044
+  20623962.6974  -13908678.77549 -10825857.71648  20623961.5014   20623967.6324
+      1821.5894       1419.4194
+  21841482.2364  -16529370.13649 -12862128.32947  21841482.1084   21841487.6574
+     -2040.7904      -1590.2264
+  20281782.6214  -27828422.91749 -21671024.50148  20281782.3854   20281785.5154
+         8.1684          6.3644
+  22583142.4884   -6599549.96349  -5120759.22447  22583142.5804   22583150.0244
+     -1774.9944      -1383.1184
+  21491362.7684  -21557921.37449 -16771660.37848  21491362.6404   21491369.1864
+      1390.5144       1083.5174
+  23660909.3884   -4748602.11549  -3357306.21746  23660911.2114   23660915.1894
+     -1251.2454       -974.9954
+  22654547.7464   -8297231.79849  -6452294.91946  22654547.6184   22654552.9444
+        51.3004         39.9644
+  22633256.0824  -11736957.41249  -8692184.84547  22633255.8154   22633261.9734
+     -2096.4174      -1633.5804
+ 05  1 20 21 53  0.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24380686.7894   -4188532.66549  -3219103.28945  24380685.0634   24380693.1104
+     -3361.4584      -2619.3104
+  20613610.8604  -13963077.55149 -10868246.35548  20613609.6724   20613616.2424
+      1804.9714       1406.4724
+  21853144.0664  -16468080.25249 -12814369.98147  21853144.5774   21853150.6564
+     -2045.1794      -1593.6464
+  20281762.9504  -27828524.54849 -21671103.68748  20281762.8084   20281766.1964
+        -1.4274         -1.1104
+  22593316.5984   -6546086.32549  -5079099.24947  22593317.2114   22593324.1634
+     -1789.2264      -1394.1964
+  21483440.0084  -21599559.89449 -16804105.96948  21483439.2234   21483445.7284
+      1385.2884       1079.4464
+  23668107.3204   -4710784.07349  -3327837.61946  23668106.8924   23668113.2054
+     -1269.9924       -989.6004
+  22654309.3404   -8298479.71549  -6453267.31346  22654309.4664   22654316.3394
+        31.9364         24.8954
+  22645232.2254  -11674020.86249  -8643143.36847  22645231.5194   22645239.3744
+     -2099.3824      -1635.8804
+ 05  1 20 21 53 30.0000000  0  9G 7G10G 4G 2G 5G17G13G30G24
+  24399890.8874   -4087611.16749  -3140463.23945  24399889.4094   24399897.4954
+     -3366.5674      -2623.2994
+  20603353.3704  -14016977.23349 -10910246.09548  20603352.9274   20603359.3544
+      1788.3274       1393.4984
+  21864831.9404  -16406658.11949 -12766508.58847  21864832.7194   21864838.2194
+     -2049.5364      -1597.0444
+  20281798.2364  -27828338.44349 -21670958.66048  20281798.0404   20281801.6324
+       -10.9984         -8.5724
+  22603574.2914   -6492196.81349  -5037107.42547  22603572.7434   22603578.3934
+     -1803.3774      -1405.2254
+  21475545.4264  -21641041.08949 -16836428.96348  21475545.3104   21475552.0384
+      1380.0654       1075.3734
+  23675410.3464   -4672405.61149  -3297932.32846  23675410.3474   23675415.5104
+     -1288.6104      -1004.1074
+  22654181.5744   -8299146.75449  -6453787.08646  22654183.2254   22654189.2714
+        12.6034          9.8234
+  22657224.8684  -11610995.07849  -8594032.37747  22657224.9664   22657232.8274
+     -2102.3254      -1638.1654
+ 05  1 20 21 54  0.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24969459.6374    -263647.76849   -194838.71944
+      3365.9614       2622.9274
+  24419124.5044   -3986537.28349  -3061704.40445  24419123.7454   24419131.8534
+     -3371.5964      -2627.2214
+  20593191.7484  -14070377.01749 -10951856.29848  20593190.9044   20593197.3374
+      1771.6594       1380.5134
+  21876546.8154  -16345104.01249 -12718544.33747  21876545.8424   21876552.0014
+     -2053.9844      -1600.5094
+  20281888.6584  -27827864.75549 -21670589.54848  20281888.2424   20281891.6934
+       -20.5834        -16.0394
+  22613908.4354   -6437883.89849  -4994785.68147  22613907.9964   22613914.3964
+     -1817.4694      -1416.2084
+  21467682.3104  -21682365.03749 -16868629.43048  21467681.6304   21467688.3734
+      1374.8404       1071.3014
+  23682819.7404   -4633467.84749  -3267591.18845  23682819.9884   23682824.5174
+     -1307.2404      -1018.6214
+  22654165.5674   -8299233.40849  -6453854.59746  22654165.9344   22654172.8294
+        -6.7854         -5.2714
+  22669235.6694  -11547880.40249  -8544852.11747  22669235.8364   22669241.9394
+     -2105.3024      -1640.4924
+ 05  1 20 21 54 30.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24950240.5284    -364616.78949    -30820.03643
+      3365.1124       2622.1654
+  24438386.8084   -3885312.52349  -2982828.04145  24438385.7354   24438394.3664
+     -3376.5744      -2631.0974
+  20583125.9624  -14123276.05949 -10993076.31348  20583125.0054   20583131.3944
+      1754.9694       1367.5084
+  21888283.8574  -16283418.43849 -12670477.66847  21888284.1524   21888290.5414
+     -2058.3304      -1603.8974
+  20282032.8044  -27827103.52149 -21669996.37748  20282033.2824   20282036.5394
+       -30.1594        -23.5024
+  22624321.6984   -6383150.06749  -4952135.97947  22624322.3464   22624329.7234
+     -1831.4494      -1427.1054
+  21459847.9354  -21723531.45349 -16900707.14848  21459847.7834   21459854.4914
+      1369.5674       1067.1894
+  23690335.6924   -4593972.04549  -3236815.26845  23690335.8174   23690340.7464
+     -1325.8214      -1033.1094
+  22654260.6894   -8298740.11749  -6453470.20246  22654260.1954   22654266.2734
+       -26.0674        -20.3364
+  22681264.3894  -11484677.01549  -8495602.72547  22681263.6554   22681269.3194
+     -2108.2414      -1642.7984
+ 05  1 20 21 55  0.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24931035.8034    -465553.00649   -109471.90845
+      3363.8574       2621.8824
+  24457677.5234   -3783938.54949  -2903835.41845  24457676.1044   24457685.5374
+     -3381.4934      -2634.9234
+  20573154.2324  -14175673.89449 -11033905.78148  20573153.5514   20573160.3184
+      1738.2484       1354.4774
+  21900046.7954  -16221601.87049 -12622308.91747  21900047.3414   21900053.5974
+     -2062.7024      -1607.2984
+  20282233.6244  -27826054.67349 -21669179.08748  20282232.9274   20282236.3084
+       -39.7554        -30.9794
+  22634819.5034   -6327997.99149  -4909160.35147  22634818.6974   22634824.4374
+     -1845.3524      -1437.9324
+  21452045.1354  -21764540.62749 -16932662.34348  21452044.3464   21452050.8694
+      1364.3134       1063.1044
+  23697956.2284   -4553919.45149  -3205605.44645  23697957.2334   23697963.3314
+     -1344.3504      -1047.5444
+  22654465.4934   -8297667.40049  -6452634.32546  22654465.5794   22654470.3064
+       -45.3724        -35.3884
+  22693306.9734  -11421384.97849  -8446284.26947  22693307.0764   22693313.7144
+     -2111.1974      -1645.0904
+ 05  1 20 21 55 30.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24911831.8874    -566454.57549   -188096.28745
+      3362.6184       2619.9724
+  24476996.8594   -3682417.11649  -2824727.86745  24476996.5154   24477000.8424
+     -3386.4494      -2638.7914
+  20563279.6454  -14227569.66849 -11074344.03648  20563278.5054   20563284.9434
+      1721.4784       1341.4094
+  21911835.6694  -16159654.66149 -12574038.37547  21911835.5654   21911841.1564
+     -2067.0734      -1610.7184
+  20282487.1214  -27824718.19249 -21668137.67148  20282486.9144   20282490.5744
+       -49.3444        -38.4524
+  22645392.6014   -6272430.10049  -4865860.69947  22645392.6484   22645398.4644
+     -1859.1654      -1448.7024
+  21444270.8004  -21805391.97049 -16964494.55048  21444270.4914   21444276.9464
+      1359.0394       1058.9914
+  23705685.6974   -4513311.16349  -3173962.64645  23705684.5594   23705690.4874
+     -1362.8084      -1061.9264
+  22654778.9184   -8296015.93349  -6451347.44846  22654779.4324   22654785.1944
+       -64.6504        -50.3684
+  22705368.2244  -11358004.41749  -8396896.83747  22705368.1234   22705375.1284
+     -2114.1524      -1647.3824
+ 05  1 20 21 56  0.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24892641.8764    -667319.56349   -266692.28445  24892641.5614   24892651.9804
+      3361.4014       2619.2754
+  24496343.9004   -3580749.70049  -2745506.45345  24496340.4144   24496348.5514
+     -3391.2944      -2642.5614
+  20553499.2234  -14278962.63749 -11114390.48948  20553498.7934   20553504.9514
+      1704.7154       1328.3524
+  21923648.4984  -16097577.22949 -12525666.34147  21923648.8454   21923654.8094
+     -2071.4104      -1614.0854
+  20282796.6194  -27823094.18449 -21666872.20748  20282796.0474   20282799.5404
+       -58.9384        -45.9274
+  22656046.6594   -6216448.64249  -4822238.81047  22656045.5454   22656052.2324
+     -1872.9264      -1459.4154
+  21436527.1244  -21846085.51449 -16996203.79848  21436526.6504   21436533.3394
+      1353.8124       1054.9194
+  23713518.0754   -4472148.66249  -3141887.95345  23713518.6104   23713524.5774
+     -1381.3094      -1076.3354
+  22655202.8144   -8293786.24549  -6449610.02946  22655203.0934   22655209.2564
+       -83.9404        -65.4124
+  22717445.8224  -11294535.66749  -8347440.66747  22717445.7884   22717452.7554
+     -2117.0904      -1649.6824
+ 05  1 20 21 56 30.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24873457.7174    -768146.30649   -345258.52845  24873456.3034   24873462.9324
+      3360.0524       2618.2154
+  24515717.7594   -3478938.19849  -2666172.89245  24515714.8244   24515723.3164
+     -3396.0854      -2646.2874
+  20543815.7014  -14329852.15149 -11154044.64248  20543814.7554   20543820.9604
+      1687.9014       1315.2454
+  21935486.4184  -16035370.05049 -12477193.21647  21935486.7634   21935493.1164
+     -2075.7854      -1617.4934
+  20283159.6664  -27821182.76349 -21665382.78148  20283159.6694   20283163.0504
+       -68.5044        -53.3804
+  22666775.2194   -6160056.42349  -4778296.82747  22666775.2154   22666783.5714
+     -1886.5684      -1470.0514
+  21428813.6714  -21886621.45649 -17027790.23148  21428812.8994   21428819.8074
+      1348.5154       1050.7914
+  23721454.1244   -4430432.52449  -3109381.86045  23721455.7944   23721461.2654
+     -1399.7244      -1090.6894
+  22655737.6594   -8290979.02949  -6447422.56346  22655737.2974   22655743.0584
+      -103.2024        -80.4234
+  22729539.6154  -11230978.74149  -8297915.79946  22729539.8994   22729546.4844
+     -2120.0464      -1652.0004
+ 05  1 20 21 57  0.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24854276.7024    -868932.92749   -423793.46845  24854275.3804   24854284.6524
+      3358.7734       2617.2214
+  24535119.9884   -3376984.03749  -2586728.13845  24535118.3864   24535126.1824
+     -3400.8004      -2649.9874
+  20534227.2264  -14380237.34249 -11193305.81348  20534226.4774   20534233.1974
+      1671.0904       1302.1424
+  21947349.0434  -15973033.46749 -12428619.26447  21947349.1144   21947354.6334
+     -2080.0054      -1620.7884
+  20283578.7634  -27818983.83849 -21663669.32848  20283578.4004   20283581.4594
+       -78.1104        -60.8674
+  22677584.7344   -6103255.90049  -4734036.67847  22677584.8704   22677592.0304
+     -1900.1254      -1480.6134
+  21421129.7304  -21926998.78849 -17059253.08448  21421129.3804   21421136.0374
+      1343.2344       1046.6684
+  23729501.1414   -4388164.63849  -3076445.81345  23729499.7824   23729505.6154
+     -1418.1004      -1105.0084
+  22656381.2604   -8287594.74049  -6444785.44046  22656381.1384   22656387.3844
+      -122.3814        -95.3674
+  22741651.9854  -11167333.93349  -8248322.44547  22741651.7654   22741658.3704
+     -2122.9894      -1654.2724
+ 05  1 20 21 57 30.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24835104.7554    -969677.38349   -502295.57045  24835104.2784   24835113.1884
+      3357.2814       2616.0604
+  24554546.1354   -3274888.89049  -2507173.56445  24554548.5974   24554553.1324
+     -3405.4214      -2653.5664
+  20524735.8344  -14430117.66249 -11232173.57848  20524734.7924   20524741.0034
+      1654.2524       1289.0264
+  21959235.6174  -15910567.87049 -12379944.77747  21959236.2684   21959241.4704
+     -2084.2934      -1624.1224
+  20284051.7724  -27816497.38849 -21661731.82148  20284051.2694   20284054.8604
+       -87.6924        -68.3324
+  22688472.7794   -6046049.57649  -4689460.34847  22688471.8474   22688477.5414
+     -1913.6264      -1491.1334
+  21413476.0164  -21967218.48449 -17090593.10048  21413475.9104   21413482.5424
+      1337.9884       1042.5864
+  23737648.6944   -4345345.98249  -3043080.66345  23737648.3934   23737652.6624
+     -1436.4534      -1119.3174
+  22657134.8144   -8283634.19849  -6441699.30346  22657135.0794   22657140.8744
+      -141.5744       -110.3204
+  22753779.7544  -11103601.28949  -8198660.64547  22753779.4024   22753786.5504
+     -2125.8824      -1656.5274
+ 05  1 20 21 58  0.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24815944.3174   -1070377.90649   -580763.40645  24815941.7744   24815949.9294
+      3355.8004       2614.9084
+  24574003.1064   -3172654.47349  -2427510.42545  24574002.5964   24574008.3314
+     -3410.0294      -2657.1734
+  20515339.2944  -14479492.28049 -11270647.29348  20515339.0354   20515345.5344
+      1637.3824       1275.8874
+  21971146.6094  -15847973.74749 -12331170.13947  21971146.5844   21971152.3384
+     -2088.5814      -1627.4604
+  20284578.9034  -27813723.32249 -21659570.20348  20284579.0034   20284582.6184
+       -97.2774        -75.7974
+  22699434.9584   -5988440.27149  -4644569.97147  22699434.1994   22699440.3424
+     -1926.9884      -1501.5444
+  21405852.6484  -22007279.42249 -17121809.40548  21405852.2864   21405859.1424
+      1332.7474       1038.5114
+  23745899.9204   -4301977.89649  -3009287.35645  23745899.2514   23745906.2154
+     -1454.7484      -1133.5634
+  22657997.8194   -8279097.97849  -6438164.56946  22657998.2484   22658003.6984
+      -160.7614       -125.2714
+  22765924.7704  -11039781.52449  -8148930.97547  22765923.8904   22765930.1524
+     -2128.7874      -1658.7934
+ 05  1 20 21 58 30.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24796783.7534   -1171032.73849   -659195.64945  24796788.0714   24796796.3394
+      3354.2304       2613.6824
+  24593483.6754   -3070282.53549  -2347740.10245  24593482.9194   24593487.3014
+     -3414.5754      -2660.7014
+  20506041.1584  -14528360.69949 -11308726.56548  20506039.8804   20506046.3864
+      1620.4854       1262.7174
+  21983082.3804  -15785251.46149 -12282295.62547  21983083.0104   21983087.9794
+     -2092.8814      -1630.8224
+  20285162.0094  -27810661.77049 -21657184.56448  20285161.7064   20285165.2144
+      -106.8604        -83.2674
+  22710472.8644   -5930430.50249  -4599367.58247  22710472.6764   22710479.4824
+     -1940.3084      -1511.9294
+  21398260.1344  -22047182.00049 -17152902.31048  21398259.3384   21398265.8014
+      1327.3974       1034.3354
+  23754257.3984   -4258061.75649  -2975067.02145  23754258.5194   23754264.1094
+     -1473.0064      -1147.8004
+  22658969.1744   -8273986.83449  -6434181.85446  22658970.3614   22658976.4454
+      -179.9414       -140.2214
+  22778084.4714  -10975874.44649  -8099133.26546  22778084.3314   22778091.9124
+     -2131.7014      -1661.0584
+ 05  1 20 21 59  0.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24777643.2494   -1271639.97049   -737590.82345  24777643.8284   24777651.2734
+      3352.6114       2612.4204
+  24612988.4364   -2967774.71649  -2267863.89545  24612986.8504   24612996.7774
+     -3419.0524      -2664.1994
+  20496837.6224  -14576722.27949 -11346410.90248  20496837.0814   20496843.0344
+      1603.5974       1249.5544
+  21995042.4364  -15722401.34249 -12233321.51447  21995042.7514   21995048.5474
+     -2097.1104      -1634.1064
+  20285800.0174  -27807312.65049 -21654574.85848  20285799.4034   20285802.6084
+      -116.4214        -90.7184
+  22721588.5394   -5872022.95049  -4553855.23047  22721588.0224   22721593.9354
+     -1953.5124      -1522.2124
+  21390696.9714  -22086925.44449 -17183871.22648  21390696.1694   21390703.1664
+      1322.1454       1030.2434
+  23762717.7534   -4213598.79649  -2940420.48245  23762718.4254   23762724.6774
+     -1491.2014      -1161.9874
+  22660052.0894   -8268301.60349  -6429751.81446  22660051.8274   22660058.0114
+      -199.0444       -155.1084
+  22790263.5974  -10911880.14349  -8049267.57246  22790262.3614   22790269.5164
+     -2134.5814      -1663.3094
+ 05  1 20 21 59 30.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24758506.0864   -1372197.52349   -815947.25345  24758507.7884   24758515.7594
+      3350.9614       2611.1354
+  24632521.2124   -2865132.60149  -2187883.02945  24632519.3734   24632528.5884
+     -3423.5774      -2667.7194
+  20487731.4174  -14624576.32249 -11383699.74448  20487730.7444   20487736.7194
+      1586.6774       1236.3714
+  22007027.9554  -15659423.78049 -12184248.09347  22007027.2244   22007032.1064
+     -2101.3344      -1637.4024
+  20286491.3384  -27803676.09649 -21651741.17248  20286491.0924   20286494.5314
+      -126.0164        -98.1984
+  22732779.5344   -5813220.14649  -4508034.86847  22732778.6224   22732784.0754
+     -1966.6564      -1532.4574
+  21383164.6434  -22126510.49749 -17214716.71248  21383163.3584   21383169.9794
+      1316.8024       1026.0794
+  23771283.8614   -4168590.48249  -2905349.10045  23771284.3024   23771288.9494
+     -1509.3504      -1176.1094
+  22661242.3744   -8262043.08949  -6424875.03746  22661243.1364   22661249.1454
+      -218.1374       -169.9754
+  22802457.3904  -10847798.98349  -7999334.20446  22802457.1694   22802463.8654
+     -2137.4924      -1665.5864
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 22  0  0.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24739381.2964   -1472703.78849   -894263.73145  24739382.2754   24739389.5814
+      3349.1944       2609.7564
+  24652079.3944   -2762357.90148  -2107798.91144  24652076.3914   24652082.7014
+     -3428.2324      -2671.3414
+  20478721.8614  -14671922.33249 -11420592.72748  20478720.9224   20478726.9734
+      1569.7124       1223.1544
+  22019034.5394  -15596319.28849 -12135075.76447  22019035.0104   22019040.5414
+     -2105.5394      -1640.6784
+  20287238.2954  -27799752.02149 -21648683.44848  20287237.9764   20287241.3284
+      -135.5974       -105.6594
+  22744042.7964   -5754024.63949  -4461908.51547  22744041.5884   22744049.1424
+     -1979.7004      -1542.6274
+  21375661.2754  -22165936.41049 -17245438.19548  21375660.8334   21375667.7364
+      1311.5324       1021.9764
+  23779952.8404   -4123038.28549  -2869853.86545  23779953.0414   23779957.3914
+     -1527.4404      -1190.2134
+  22662544.0324   -8255212.06849  -6419552.14746  22662543.2914   22662549.6024
+      -237.1974       -184.8394
+  22814668.3814  -10783631.22249  -7949333.36546  22814667.1364   22814674.9504
+     -2140.3514      -1667.8044
+ 05  1 20 22  0 30.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24720269.9734   -1573156.64649   -972538.61145  24720266.6034   24720274.7814
+      3347.3664       2608.3364
+  24671662.2424   -2659452.52858  -2027612.93754  24671660.0354   24671667.6404
+     -3432.1154      -2674.3664
+  20469808.7224  -14718759.78349 -11457089.42848  20469807.9474   20469814.0364
+      1552.7474       1209.9334
+  22031067.4964  -15533088.18349 -12085804.78147  22031067.6364   22031073.4614
+     -2109.7984      -1643.9954
+  20288039.5584  -27795540.40549 -21645401.66148  20288039.3054   20288042.7444
+      -145.2034       -113.1444
+  22755378.1714   -5694439.09449  -4415478.22246  22755379.3824   22755387.0394
+     -1992.6774      -1552.7374
+  21368189.4844  -22205203.11849 -17276035.61748  21368188.6324   21368195.5004
+      1306.1894       1017.8094
+  23788722.5074   -4076943.43249  -2833935.74445  23788722.9294   23788728.8284
+     -1545.4964      -1204.2794
+  22663952.5614   -8247809.22749  -6413783.69046  22663951.9214   22663958.2774
+      -256.2814       -199.6994
+  22826893.4664  -10719376.68749  -7899264.89446  22826894.3504   22826902.2034
+     -2143.3204      -1670.1194
+ 05  1 20 22  1  0.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24701162.1674   -1673554.27649  -1050770.44146  24701161.8854   24701169.2654
+      3345.5164       2606.8944
+  24691268.8184   -2556416.81958  -1947325.24154  24691265.9084   24691269.8514
+     -3436.6214      -2677.8904
+  20460992.3904  -14765088.12449 -11493189.41948  20460992.0894   20460998.3304
+      1535.7814       1196.7154
+  22043124.3844  -15469730.57849 -12036435.22847  22043123.6554   22043130.3604
+     -2113.9614      -1647.2434
+  20288895.6184  -27791041.21449 -21641895.79548  20288895.6664   20288898.8994
+      -154.7914       -120.6164
+  22766792.4474   -5634466.18649  -4368746.09747  22766792.5194   22766798.8534
+     -2005.5114      -1562.7414
+  21360747.1594  -22244310.37649 -17306508.79448  21360746.6924   21360753.3934
+      1300.8424       1013.6424
+  23797598.5814   -4030307.62949  -2797596.17945  23797597.8874   23797603.2404
+     -1563.5684      -1218.3424
+  22665468.0874   -8239835.41949  -6407570.31746  22665468.8504   22665475.5204
+      -275.2854       -214.5094
+  22839139.6704  -10655035.59349  -7849128.98146  22839138.3954   22839145.6864
+     -2146.1354      -1672.3074
+ 05  1 20 22  1 30.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24682068.4034   -1773894.71349  -1128957.70745  24682067.1684   24682076.3024
+      3343.6094       2605.4044
+  24710899.1944   -2453254.77248  -1866939.23344  24710899.5244   24710905.3484
+     -3440.9824      -2681.2864
+  20452273.6014  -14810906.82049 -11528892.28848  20452272.7144   20452279.4184
+      1518.7944       1183.4744
+  22055203.3244  -15406247.29049 -11986967.73047  22055204.5424   22055210.5624
+     -2118.1604      -1650.5164
+  20289806.8764  -27786254.63549 -21638165.98648  20289806.4074   20289809.8044
+      -164.3434       -128.0604
+  22778280.4754   -5574108.77949  -4321714.35947  22778279.1654   22778285.4244
+     -2018.3164      -1572.7214
+  21353335.8404  -22283257.99949 -17336857.58048  21353335.3974   21353342.0654
+      1295.5354       1009.5084
+  23806571.6004   -3983132.12449  -2760836.04445  23806573.0514   23806580.8124
+     -1581.4834      -1232.3224
+  22667094.0624   -8231291.64149  -6400912.82146  22667095.3894   22667101.6154
+      -294.2684       -229.2964
+  22851399.2224  -10590608.00449  -7798925.67446  22851399.3354   22851406.0114
+     -2149.0164      -1674.5614
+ 05  1 20 22  2  0.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24662983.5474   -1874176.06449  -1207098.93146  24662984.0104   24662992.2184
+      3341.5914       2603.8344
+  24730554.3364   -2349966.98748  -1786455.29444  24730551.1654   24730557.8944
+     -3444.7904      -2684.2484
+  20443651.6774  -14856215.43749 -11564197.68848  20443651.2594   20443657.2274
+      1501.7764       1170.2134
+  22067309.4274  -15342638.29149 -11937402.27747  22067309.5324   22067315.0214
+     -2122.3414      -1653.7724
+  20290771.8804  -27781180.65649 -21634212.23948  20290771.8864   20290775.2674
+      -173.9444       -135.5394
+  22789836.9514   -5513369.30049  -4274384.91647  22789837.5004   22789843.8134
+     -2030.9994      -1582.6054
+  21345954.6224  -22322045.84249 -17367081.86648  21345953.9504   21345960.9954
+      1290.2264       1005.3694
+  23815654.0884   -3935418.22449  -2723656.43345  23815652.7804   23815657.9624
+     -1599.4154      -1246.2984
+  22668828.5114   -8222178.65849  -6393811.79146  22668828.4904   22668835.2194
+      -313.2164       -244.0664
+  22863676.5094  -10526094.29549  -7748655.25446  22863675.0644   22863681.8984
+     -2151.9004      -1676.8044
+ 05  1 20 22  2 30.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24643914.5384   -1974396.41449  -1285192.63646  24643913.4874   24643920.9794
+      3339.4974       2602.2044
+  24750230.8214   -2246555.12749  -1705874.69744  24750231.6564   24750238.0254
+     -3449.0894      -2687.6044
+  20435126.8844  -14901013.24149 -11599105.06048  20435126.1904   20435132.4554
+      1484.7334       1156.9344
+  22079437.0784  -15278904.29849 -11887739.42847  22079437.2514   22079442.9694
+     -2126.5294      -1657.0314
+  20291793.0364  -27775818.96749 -21630034.29248  20291792.1794   20291795.5084
+      -183.5184       -142.9984
+  22801467.5834   -5452250.61349  -4226759.97347  22801467.5624   22801473.8584
+     -2043.5924      -1592.4124
+  21338604.3734  -22360673.98349 -17397181.71548  21338603.7004   21338610.2134
+      1284.8894       1001.2134
+  23824835.4464   -3887167.53149  -2686058.45045  23824836.4374   23824843.3634
+     -1617.2994      -1260.2224
+  22670672.0444   -8212497.53649  -6386268.01446  22670671.6584   22670678.2444
+      -332.1584       -258.8214
+  22875968.4224  -10461494.33349  -7698317.63646  22875967.9664   22875974.9964
+     -2154.8064      -1679.0704
+ 05  1 20 22  3  0.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24624854.4574   -2074553.61449  -1363237.13146  24624853.9624   24624860.9104
+      3337.3594       2600.5384
+  24769932.1744   -2143020.93348  -1625198.75144  24769934.0164   24769938.9624
+     -3453.1424      -2690.7624
+  20426699.6594  -14945299.97649 -11633614.19748  20426698.7524   20426705.0584
+      1467.7084       1143.6694
+  22091589.5984  -15215045.54649 -11837979.36147  22091589.4434   22091595.3324
+     -2130.6654      -1660.2594
+  20292867.1954  -27770169.65349 -21625632.22548  20292867.1704   20292870.7424
+      -193.1234       -150.4834
+  22813169.8474   -5390755.03249  -4178841.36347  22813170.5024   22813175.9104
+     -2056.1024      -1602.1484
+  21331284.1064  -22399141.75249 -17427156.59348  21331283.4064   21331290.1514
+      1279.5664        997.0694
+  23834119.4284   -3838381.74949  -2648043.60145  23834119.8414   23834124.2834
+     -1635.0954      -1274.1074
+  22672622.8484   -8202249.02549  -6378282.15846  22672622.6164   22672628.4204
+      -351.0484       -273.5394
+  22888276.9924  -10396808.38849  -7647912.99846  22888277.3114   22888285.6654
+     -2157.6224      -1681.2654
+ 05  1 20 22  3 30.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24605806.5144   -2174646.05849  -1441231.15346  24605806.9914   24605814.6804
+      3335.1644       2598.8274
+  24789657.9294   -2039366.26948  -1544428.90344  24789659.9774   24789664.9474
+     -3457.1344      -2693.8674
+  20418369.0754  -14989075.18449 -11667724.73348  20418368.3544   20418374.8994
+      1450.6184       1130.3524
+  22103765.2404  -15151062.37749 -11788122.36047  22103765.4194   22103770.5824
+     -2134.8224      -1663.4964
+  20293997.0714  -27764232.98249 -21621006.25048  20293996.9594   20294000.1834
+      -202.6944       -157.9444
+  22824942.6164   -5328885.60949  -4130631.42847  22824942.6364   22824949.5844
+     -2068.5354      -1611.8444
+  21323994.9384  -22437449.48849 -17457006.76448  21323993.8874   21324000.3014
+      1274.2094        992.8934
+  23843505.0484   -3789062.68249  -2609613.12045  23843504.8464   23843508.0994
+     -1652.8344      -1287.9194
+  22674678.8194   -8191434.26049  -6369855.07946  22674679.9414   22674685.4564
+      -369.9034       -288.2374
+  22900604.3744  -10332036.62149  -7597441.50146  22900603.3584   22900610.5584
+     -2160.4924      -1683.4954
+ 05  1 20 22  4  0.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24586772.5984   -2274671.54049  -1519173.02146  24586773.1654   24586780.2804
+      3332.9424       2597.0964
+  24809405.9634   -1935592.71548  -1463566.41044  24809406.5454   24809411.7954
+     -3460.9834      -2696.8724
+  20410136.3734  -15032338.29849 -11701436.24148  20410135.6694   20410142.0964
+      1433.5674       1117.0694
+  22115965.3764  -15086954.96649 -11738168.51947  22115964.5354   22115969.1444
+     -2138.9214      -1666.6954
+  20295181.1634  -27758008.70449 -21616156.15848  20295181.1744   20295184.8574
+      -212.2784       -165.4054
+  22836787.8694   -5266645.08249  -4082132.32947  22836786.6514   22836793.9864
+     -2080.8464      -1621.4374
+  21316736.0734  -22475596.50949 -17486731.70848  21316734.9364   21316741.2954
+      1268.8554        988.7194
+  23852991.4264   -3739211.40549  -2570767.98045  23852991.7004   23852998.1214
+     -1670.6234      -1301.7834
+  22676845.4764   -8180054.25949  -6360987.52146  22676844.9364   22676851.3264
+      -388.7304       -302.9044
+  22912945.4824  -10267179.66349  -7546903.62246  22912945.6824   22912952.2234
+     -2163.3024      -1685.6844
+ 05  1 20 22  4 30.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24567751.7174   -2374628.17749  -1597061.21446  24567750.4634   24567758.7974
+      3330.5744       2595.2484
+  24829174.9174   -1831701.85858  -1382612.44754  24829172.9804   24829183.6984
+     -3464.9634      -2699.9674
+  20402001.6304  -15075088.97649 -11734748.44448  20402000.7214   20402006.9234
+      1416.4854       1103.7524
+  22128186.3344  -15022723.80549 -11688118.27847  22128187.1234   22128192.1584
+     -2143.0694      -1669.9304
+  20296420.7924  -27751496.74349 -21611081.90148  20296420.4254   20296423.9104
+      -221.8634       -172.8814
+  22848699.6534   -5204036.14049  -4033346.15346  22848700.5534   22848707.9024
+     -2093.0724      -1630.9664
+  21309506.7264  -22513582.65349 -17516331.28848  21309506.1494   21309512.8294
+      1263.5144        984.5584
+  23862578.1854   -3688829.41949  -2531509.24345  23862578.7704   23862583.6804
+     -1688.2184      -1315.4884
+  22679118.2384   -8168109.89349  -6351680.20946  22679118.0644   22679124.2484
+      -407.4874       -317.5284
+  22925304.6044  -10202237.24649  -7496299.15646  22925304.1204   22925309.7844
+     -2166.1724      -1687.9354
+ 05  1 20 22  5  0.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24548741.9214   -2474514.02749  -1674894.25446  24548742.6424   24548750.2234
+      3328.1774       2593.3784
+  24848963.7094   -1727695.60857  -1301568.61854  24848971.2394
+     -3468.6964      -2702.8954
+  20393964.0064  -15117326.97149 -11767661.15748  20393963.2764   20393969.1024
+      1399.3874       1090.4284
+  22140433.1684  -14958369.18149 -11637971.81847  22140433.0884   22140439.3554
+     -2147.1724      -1673.1234
+  20297715.3764  -27744697.13349 -21605783.49948  20297714.4744   20297717.7554
+      -231.4494       -180.3514
+  22860684.5254   -5141061.59149  -3984275.07546  22860683.8074   22860690.7794
+     -2105.2444      -1640.4584
+  21302308.7634  -22551407.93249 -17545805.52548  21302308.2744   21302314.6444
+      1258.1154        980.3484
+  23872267.3284   -3637918.13849  -2491838.10745  23872267.4664   23872271.8854
+     -1705.8034      -1329.2054
+  22681496.9714   -8155602.28449  -6341934.00846  22681497.4894   22681505.1344
+      -426.2904       -332.1804
+  22937676.6174  -10137209.33549  -7445628.06146  22937677.4274   22937685.4884
+     -2169.0364      -1690.1514
+ 05  1 20 22  5 30.0000000  0 10G 6G 7G10G 4G 2G 5G17G13G30G24
+  24529749.5494   -2574326.97549  -1752670.47246  24529749.0644   24529756.9064
+      3325.7424       2591.4854
+  24868777.1514   -1623573.37858  -1220434.69254
+     -3473.1784      -2706.3614
+  20386024.2844  -15159052.02749 -11800174.18048  20386023.2204   20386029.3024
+      1382.2714       1077.0954
+  22152703.2494  -14893891.45149 -11587729.43647  22152703.4334   22152708.2664
+     -2151.2834      -1676.3294
+  20299063.2344  -27737609.99649 -21600261.05748  20299063.0694   20299066.5994
+      -241.0424       -187.8254
+  22872738.6884   -5077723.97549  -3934921.11046  22872738.0014   22872743.2904
+     -2117.3014      -1649.8494
+  21295141.5554  -22589071.81849 -17575154.00948  21295141.1424   21295147.5614
+      1252.7334        976.1554
+  23882056.6394   -3586479.91349  -2451756.38145  23882055.0854   23882060.6894
+     -1723.4194      -1342.9264
+  22683985.0464   -8142532.49449  -6331749.76146  22683985.4944   22683990.8834
+      -445.0084       -346.7434
+  22950069.0564  -10072096.12749  -7394890.47846  22950068.5644   22950075.3394
+     -2171.8764      -1692.3744
+ 05  1 20 22  6  0.0000000  0  9G 6G10G 4G 2G 5G17G13G30G24
+  24510769.3584   -2674065.07949  -1830388.35846  24510769.0644   24510777.5604
+      3323.2104       2589.5134
+  20378181.7854  -15200263.62449 -11832287.09348  20378180.6784   20378186.8774
+      1365.1674       1063.7684
+  22164995.1554  -14829290.86549 -11537391.31847  22164995.9344   22165002.0624
+     -2155.3474      -1679.4894
+  20300466.1234  -27730235.16749 -21594514.42948  20300466.2824   20300469.8104
+      -250.6394       -195.3034
+  22884860.0854   -5014025.98849  -3885286.35147  22884858.3324   22884865.8684
+     -2129.2624      -1659.1504
+  21288005.3274  -22626574.87249 -17604377.15848  21288004.2424   21288011.1244
+      1247.3704        971.9804
+  23891942.9254   -3534515.99349  -2411264.98045  23891943.8624   23891949.0944
+     -1740.8724      -1356.5264
+  22686578.3394   -8128901.60149  -6321128.27346  22686579.1824   22686584.7584
+      -463.6664       -361.2904
+  22962475.7604  -10006897.76749  -7344086.57946  22962475.8654   22962482.7254
+     -2174.7044      -1694.5714
+ 05  1 20 22  6 30.0000000  0  9G 6G10G 4G 2G 5G17G13G30G24
+  24491805.1484   -2773726.45449  -1908046.49746  24491804.1324   24491811.5994
+      3320.6244       2587.4984
+  20370437.2404  -15240961.18549 -11863999.47048  20370436.3264   20370442.4084
+      1348.0144       1050.4004
+  22177311.6654  -14764567.84449 -11486957.80547  22177312.5914   22177318.5534
+     -2159.4854      -1682.7144
+  20301924.9444  -27722572.83949 -21588543.77948  20301924.4594   20301927.8344
+      -260.2144       -202.7634
+  22897049.5064   -4949970.59349  -3835373.07847  22897048.8814   22897055.3484
+     -2141.1164      -1668.4004
+  21280898.5054  -22663916.07149 -17633474.18848  21280898.4324   21280904.9204
+      1241.9554        967.7604
+  23901933.0244   -3482027.91749  -2370365.16945  23901932.8004   23901936.5494
+     -1758.3254      -1370.1234
+  22689279.4144   -8114710.79749  -6310070.50946  22689279.6984   22689285.9914
+      -482.3474       -375.8514
+  22974898.0574   -9941614.18249  -7293216.26346  22974897.7814   22974904.7484
+     -2177.5624      -1696.7844
+ 05  1 20 22  7  0.0000000  0  9G 6G10G 4G 2G 5G17G13G30G24
+  24472854.5984   -2873309.02949  -1985643.20546  24472854.4704   24472861.8994
+      3317.9614       2585.4254
+  20362790.8144  -15281144.52849 -11895311.15048  20362789.7214   20362795.8834
+      1330.8754       1037.0454
+  22189652.8894  -14699722.82649 -11436429.23947  22189652.7514   22189658.4684
+     -2163.5334      -1685.8714
+  20303437.4734  -27714622.90849 -21582349.02648  20303437.1554   20303440.7364
+      -269.7964       -210.2314
+  22909305.6394   -4885560.37249  -3785183.29847  22909305.5684   22909312.6444
+     -2152.8424      -1677.5434
+  21273824.1124  -22701095.41949 -17662445.10448  21273823.5074   21273830.2324
+      1236.5824        963.5714
+  23912020.2384   -3429017.70349  -2329058.51145  23912020.0224   23912024.4674
+     -1775.7134      -1383.6824
+  22692087.3174   -8099961.09049  -6298577.22946  22692087.6794   22692092.9114
+      -500.9544       -390.3504
+  22987336.4044   -9876245.68249  -7242279.77846  22987337.0874   22987343.7514
+     -2180.3454      -1698.9594
+ 05  1 20 22  7 30.0000000  0  9G 6G10G 4G 2G 5G17G13G30G24
+  24453924.6024   -2972810.78349  -2063176.92846  24453920.0244   24453927.5054
+      3315.2404       2583.2954
+  20355241.1474  -15320813.47249 -11926222.00348  20355240.9964   20355247.1784
+      1313.7164       1023.6714
+  22202015.1474  -14634756.00849 -11385805.73647  22202014.7504   22202020.3304
+     -2167.5604      -1689.0114
+  20305005.3424  -27706385.10349 -21575929.95848  20305005.0104   20305008.3054
+      -279.3964       -217.7114
+  22921630.0044   -4820798.17949  -3734719.28747  22921629.9214   22921636.5654
+     -2164.5704      -1686.6774
+  21266779.6174  -22738112.77449 -17691289.78648  21266779.2554   21266785.8564
+      1231.1644        959.3494
+  23922205.7864   -3375486.74249  -2287346.05145  23922206.1964   23922211.2034
+     -1792.9864      -1397.1294
+  22694999.4104   -8084653.69349  -6286649.37446  22694999.4934   22695005.6944
+      -519.5164       -404.8104
+  22999793.2024   -9810792.26949  -7191277.10146  22999793.0194   22999800.3854
+     -2183.2144      -1701.2114
+ 05  1 20 22  8  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24435003.8774   -3072229.62949  -2140646.03146  24435000.9294   24435008.1434
+      3312.4164       2581.0924
+  20347790.8214  -15359967.76049 -11956731.81748  20347789.8644   20347796.3124
+      1296.5514       1010.3014
+  22214399.7254  -14569667.60549 -11335087.50447  22214399.9534   22214405.8164
+     -2171.6214      -1692.1654
+  20306627.7654  -27697859.54349 -21569286.65448  20306627.3554   20306630.7974
+      -288.9884       -225.1864
+  22934020.2234   -4755686.93849  -3683983.26146  22934019.4324   22934025.4024
+     -2176.1294      -1695.6904
+  21259766.1004  -22774967.44449 -17720007.70748  21259765.9964   21259772.6434
+      1225.7294        955.1144
+  23932491.1494   -3321436.84649  -2245229.23346  23932491.1244   23932496.5684
+     -1810.2884      -1410.6174
+  22698018.7104   -8068789.91149  -6274287.96546  22698018.7644   22698023.7834
+      -538.0724       -419.2824
+  24796045.2314     -70628.98649    -40127.35643
+      3611.1454       2813.8784
+  23012264.4424   -9745254.13749  -7140208.43146  23012264.2414   23012271.3274
+     -2186.0444      -1703.4224
+ 05  1 20 22  8 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24416097.8154   -3171563.53049  -2218048.94845  24416097.6534   24416106.0104
+      3309.5334       2578.8594
+  20340437.7744  -15398607.03349 -11986840.33148  20340437.2734   20340443.2444
+      1279.3854        996.9244
+  22226809.2904  -14504458.05549 -11284274.88847  22226810.1304   22226814.6864
+     -2175.6114      -1695.2774
+  20308304.4144  -27689046.31849 -21562419.20048  20308304.4084   20308307.8804
+      -298.5824       -232.6624
+  22946475.0734   -4690229.44849  -3632977.46346  22946474.9734   22946482.0594
+     -2187.6644      -1704.6554
+  21252784.6564  -22811659.74449 -17748599.10048  21252783.8404   21252790.5254
+      1220.3254        950.9004
+  23942874.9324   -3266869.79249  -2202709.43546  23942875.3764   23942880.9414
+     -1827.5474      -1424.0574
+  22701143.4674   -8052370.76949  -6261493.84046  22701143.2674   22701148.7274
+      -556.5244       -433.6554
+                   -178996.13341    -92193.228 4                  24783336.596
+      3613.4434       2815.283
+  23024752.1824   -9679631.34249  -7089073.78146  23024752.3904   23024758.7394
+     -2188.8414      -1705.5924
+ 05  1 20 22  9  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24397212.4164   -3270810.50949  -2295384.14846  24397211.6654   24397219.1584
+      3306.6434       2576.6004
+  20333183.4264  -15436731.11349 -12016547.39148  20333182.4754   20333188.9514
+      1262.2194        983.5504
+  22239241.0194  -14439127.64449 -11233368.07747  22239241.1244   22239247.0984
+     -2179.6664      -1698.4454
+  20310035.8944  -27679945.40849 -21555327.58448  20310036.0874   20310039.5794
+      -308.1714       -240.1344
+  22958996.8344   -4624428.70649  -3581704.18246  22958996.6054   22959003.3294
+     -2199.0844      -1713.5774
+  21245832.8624  -22848189.51549 -17777063.84848  21245832.3964   21245839.0324
+      1214.9414        946.7084
+  23953356.8034   -3211787.27749  -2159788.02546  23953356.1504   23953362.8034
+     -1844.6384      -1437.3834
+  22704372.3444   -8035397.58449  -6248267.97446  22704373.0174   22704379.0164
+      -574.9914       -448.0474
+                   -287429.58141   -134423.449 4                  24773052.614
+      3615.4574       2815.453
+  23037255.7324   -9613924.16649  -7037873.37646  23037255.2254   23037262.6234
+     -2191.6634      -1707.7814
+ 05  1 20 22  9 30.0000000  0  9G 6G10G 4G 2G 5G17G13G30G24
+  24378343.1574   -3369968.45749  -2372649.96946  24378343.0714   24378350.2044
+      3303.6264       2574.2514
+  20326027.0054  -15474339.65049 -12045852.72848  20326026.1894   20326031.9374
+      1245.0184        970.1414
+  22251695.6174  -14373676.64049 -11182367.28547  22251696.4054   22251702.4054
+     -2183.7034      -1701.5964
+  20311823.3534  -27670556.74349 -21548011.73748  20311822.8334   20311826.1264
+      -317.7644       -247.6114
+  22971585.2724   -4558287.13049  -3530165.31346  22971584.2094   22971589.8914
+     -2210.3714      -1722.3644
+  21238912.5734  -22884556.18149 -17805401.49748  21238911.8554   21238918.7004
+      1209.4724        942.4454
+  23963936.2154   -3156191.11649  -2116466.35246  23963936.5594   23963941.1474
+     -1861.7554      -1450.7174
+  22707708.3814   -8017871.53249  -6234611.28446  22707708.7454   22707714.3264
+      -593.3854       -462.3724
+  23049776.5154   -9548132.64049  -6986607.25546  23049775.9224   23049782.6754
+     -2194.4594      -1709.9684
+ 05  1 20 22 10  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24359490.9514   -3469035.54149  -2449844.98946  24359491.3254   24359497.9684
+      3300.5314       2571.8344
+  20318967.8944  -15511432.62249 -12074756.33148  20318967.1044   20318973.3734
+      1227.8514        956.7694
+  22264174.3574  -14308105.54849 -11131272.92047  22264174.0924   22264180.0184
+     -2187.6654      -1704.6764
+  20313664.5374  -27660880.33549 -21540471.67648  20313664.2784   20313667.7414
+      -327.3414       -255.0724
+  22984234.4864   -4491807.51949  -3478363.03346  22984233.4444   22984240.4074
+     -2221.5614      -1731.0914
+  21232023.1704  -22920759.22549 -17833611.65848  21232022.5384   21232029.5374
+      1204.0414        938.2134
+  23974612.7154   -3100083.35149  -2072746.00346  23974613.5964   23974618.7304
+     -1878.7684      -1463.9874
+  22711148.3434   -7999794.06649  -6220524.95046  22711148.2374   22711153.7574
+      -611.7234       -476.6694
+                   -113650.85541    -72603.029 3                  24713836.115
+      3619.6564       2820.444
+  23062310.7244   -9482256.94049  -6935275.53746  23062310.2014   23062318.1254
+     -2197.2244      -1712.1204
+ 05  1 20 22 10 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24340656.9924   -3568009.49049  -2526967.43046  24340655.7274   24340664.4104
+      3297.4434       2569.4404
+  20312007.2554  -15548009.95149 -12103258.13448  20312006.4614   20312012.9594
+      1210.6504        943.3654
+  22276674.4284  -14242414.30249 -11080084.96047  22276674.4814   22276681.1064
+     -2191.6564      -1707.7824
+  20315560.5774  -27650915.98449 -21532707.23848  20315560.1294   20315563.9184
+      -336.9464       -262.5534
+  22996949.7814   -4424993.11349  -3426299.88246  22996948.1894   22996954.9654
+     -2232.7204      -1739.7784
+  21225164.9184  -22956798.69649 -17861694.35748  21225164.4914   21225171.1934
+      1198.5954        933.9704
+  23985387.4974   -3043465.31549  -2028628.03446  23985386.8124   23985393.2734
+     -1895.7554      -1477.2144
+  22714692.1954   -7981166.44649  -6206009.91046  22714693.0734   22714698.4524
+      -630.0404       -490.9284
+                   -222266.34541   -155826.786 4                  24693512.407
+      3621.5194       2821.891
+  23074862.2844   -9416296.71449  -6883877.96446  23074862.4194   23074869.7444
+     -2200.0774      -1714.3374
+ 05  1 20 22 11  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24321839.3284   -3666888.46649  -2604015.88345  24321839.0684   24321847.1354
+      3294.1874       2566.8944
+  20305145.3784  -15584071.33949 -12131357.90848  20305144.5904   20305150.6214
+      1193.4474        929.9534
+  22289197.0494  -14176603.49349 -11028803.80547  22289197.2504   22289204.0164
+     -2195.6504      -1710.8924
+  20317511.4564  -27640664.06149 -21524718.72348  20317511.3294   20317514.5104
+      -346.5324       -270.0264
+  23009726.5934   -4357846.70449  -3373978.03546  23009726.9284   23009732.4384
+     -2243.7034      -1748.3364
+  21218338.7624  -22992674.39549 -17889649.44548  21218337.9764   21218344.3784
+      1193.0784        929.6774
+  23996257.3514   -2986339.07649  -1984114.07946  23996257.6354   23996263.2724
+     -1912.6334      -1490.3584
+  22718341.9214   -7961990.01849  -6191067.23746  22718342.0414   22718348.2744
+      -648.3264       -505.1804
+  24672138.7034    -330937.06649   -243327.08745                  24672142.1454
+      3623.2354       2822.7734
+  23087431.5874   -9350252.21949  -6832414.73846  23087431.3934   23087437.3884
+     -2202.8934      -1716.5384
+ 05  1 20 22 11 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24303042.3484   -3765670.11749  -2680988.51645  24303041.6974   24303050.3134
+      3290.9104       2564.3464
+  20298381.7814  -15619616.76549 -12159055.63248  20298380.7794   20298386.4854
+      1176.2674        916.5714
+  22301745.3214  -14110673.26149 -10977429.59747  22301744.8264   22301749.8874
+     -2199.6144      -1713.9884
+  20319516.7494  -27630124.15649 -21516505.80548  20319516.6944   20319520.1344
+      -356.1244       -277.4984
+  23022568.4814   -4290370.82849  -3321399.46746  23022566.9814   23022573.0224
+     -2254.6554      -1756.8764
+  21211543.0964  -23028385.92849 -17917476.59748  21211542.0404   21211548.7994
+      1187.6194        925.4224
+  24007225.5094   -2928706.48849  -1939205.56546  24007226.2844   24007230.2264
+     -1929.4914      -1503.5044
+  22722094.8584   -7942266.00049  -6175697.88046  22722094.7994   22722101.5644
+      -666.5324       -519.3854
+  24651443.3944    -439660.38248   -328046.42845  24651445.2504   24651452.4844
+      3625.0194       2824.6824
+  23100016.3734   -9284123.41949  -6780885.79846  23100014.9844   23100021.3624
+     -2205.7124      -1718.7314
+ 05  1 20 22 12  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24284262.1144   -3864352.61649  -2757883.87046  24284263.7794   24284270.8094
+      3287.6154       2561.7784
+  20291715.1644  -15654646.17949 -12186351.25848  20291714.5804   20291720.5394
+      1159.0474        903.1534
+  22314314.0034  -14044623.84849 -10925962.53247  22314313.6514   22314318.8564
+     -2203.6394      -1717.1274
+  20321577.5154  -27619296.27549 -21508068.48848  20321577.3684   20321580.7504
+      -365.7404       -284.9934
+  23035470.2244   -4222568.51649  -3268566.49846  23035468.9794   23035475.8274
+     -2265.4844      -1765.3154
+  21204778.6634  -23063932.87349 -17945175.49748  21204777.9154   21204784.1124
+      1182.1844        921.1824
+  24018286.8354   -2870569.42249  -1893903.92846  24018288.1244   24018294.9724
+     -1946.2774      -1516.5684
+  22725951.6464   -7921995.84049  -6159902.95146  22725951.5174   22725958.0304
+      -684.7554       -533.5724
+  24630748.4094    -548433.57549   -412804.57445  24630748.4394   24630752.6914
+      3626.5864       2825.9124
+  23112614.1004   -9217910.62249  -6729291.39546  23112613.0994   23112621.8724
+     -2208.4374      -1720.8594
+ 05  1 20 22 12 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24265506.0394   -3962933.67349  -2834700.19646  24265504.2074   24265511.5284
+      3284.1774       2559.0914
+  20285147.6784  -15689159.09349 -12213244.43048  20285146.8564   20285153.2044
+      1141.8194        889.7304
+  22326903.8884  -13978455.80249 -10874403.03347  22326904.8954   22326910.1894
+     -2207.5444      -1720.1544
+  20323692.9474  -27608180.51949 -21499406.85948  20323692.7834   20323696.0524
+      -375.3344       -292.4664
+  23048432.1784   -4154442.65649  -3215481.43746  23048431.5834   23048439.8174
+     -2276.2254      -1773.6884
+  21198044.8674  -23099315.23749 -17972746.15448  21198044.6624   21198051.2474
+      1176.6434        916.8674
+  24029447.6534   -2811929.64249  -1848210.58246  24029447.4464   24029451.5944
+     -1963.0254      -1529.6474
+  22729913.1564   -7901180.87349  -6143683.49146  22729912.5004   22729919.7314
+      -702.8434       -547.6754
+  24610039.7624    -657253.79448   -497599.36144  24610038.0054   24610047.3034
+      3627.9524       2826.9814
+  23125231.2554   -9151613.88949  -6677631.61346  23125231.9334   23125237.5614
+     -2211.3034      -1723.1044
+ 05  1 20 22 13  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24246766.2804   -4061411.21649  -2911435.87745  24246763.9814   24246772.1984
+      3280.7134       2556.4074
+  20278678.4854  -15723155.52249 -12239735.13848  20278677.5934   20278683.7444
+      1124.6064        876.3144
+  22339519.0974  -13912169.11649 -10822751.06247  22339517.8834   22339523.3544
+     -2211.4684      -1723.2234
+  20325862.5924  -27596776.81249 -21490520.84248  20325862.5884   20325865.9754
+      -384.9304       -299.9444
+  23061457.7454   -4085996.22349  -3162146.56346  23061457.6554   23061464.3884
+     -2286.8584      -1781.9724
+  21191343.2804  -23134532.62549 -18000188.26148  21191343.0854   21191349.4484
+      1171.1324        912.5714
+  24040701.1754   -2752788.99649  -1802126.94946  24040701.9844   24040706.8524
+     -1979.6784      -1542.6074
+  22733977.2984   -7879822.57649  -6127040.67346  22733976.9114   22733983.4034
+      -720.9284       -561.7654
+  24589320.9834    -766118.54748   -582428.87844  24589323.4424   24589330.8714
+      3629.3934       2828.0964
+  23137861.6544   -9085233.43649  -6625906.57746  23137861.7124   23137869.0044
+     -2214.1484      -1725.3194
+ 05  1 20 22 13 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24228043.1164   -4159783.21449  -2988089.30745  24228043.8034   24228052.2604
+      3277.1314       2553.6094
+  20272307.6134  -15756635.43049 -12265823.36848  20272306.5104   20272313.0224
+      1107.3864        862.9014
+  22352153.7494  -13845764.03449 -10771006.85647  22352154.0854   22352161.1414
+     -2215.4154      -1726.2924
+  20328087.8084  -27585085.30349 -21481410.57148  20328087.5484   20328090.8764
+      -394.5274       -307.4204
+  23074545.0224   -4017231.98149  -3108564.06946  23074543.1824   23074549.1384
+     -2297.4354      -1790.2144
+  21184673.5674  -23169584.81849 -18027501.64248  21184672.8764   21184679.4084
+      1165.6364        908.2924
+  24052051.2374   -2693149.67449  -1755654.74946  24052050.8164   24052054.8944
+     -1996.2864      -1555.5614
+  22738144.1774   -7857922.45749  -6109975.64946  22738144.7884   22738151.4344
+      -739.0244       -575.8624
+  24568596.8944    -875024.90549   -667290.85044  24568594.5494   24568605.5044
+      3630.9174       2829.2794
+  23150510.7434   -9018768.97549  -6574116.08746  23150510.2714   23150516.9784
+     -2216.9174      -1727.4814
+ 05  1 20 22 14  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24209344.2564   -4258047.57849  -3064658.88145  24209345.8224   24209353.4354
+      3273.5184       2550.7934
+  20266035.0614  -15789599.00249 -12291509.26148  20266034.1874   20266040.1204
+      1090.1744        849.4854
+  22364812.5434  -13779241.08549 -10719170.79847  22364813.6224   22364819.7964
+     -2219.3654      -1729.3694
+  20330367.5194  -27573105.56349 -21472075.70548  20330367.3664   20330370.5454
+      -404.1394       -314.9164
+  23087688.4164   -3948152.72949  -3054736.07846  23087687.5484   23087694.8854
+     -2307.8784      -1798.3444
+  21178035.3884  -23204471.64849 -18054686.17448  21178034.1444   21178040.5554
+      1160.0974        903.9714
+  24063493.6884   -2633013.40049  -1708795.30846  24063493.8694   24063498.9414
+     -2012.8424      -1568.4514
+  22742414.9014   -7835481.92749  -6092489.52646  22742414.5604   22742420.6154
+      -757.0034       -589.8674
+  24547862.6234    -983970.19948   -752183.18845  24547863.6174   24547875.3064
+      3632.1784       2830.2674
+  23163174.0904   -8952220.70649  -6522260.29446  23163173.3054   23163180.2034
+     -2219.6944      -1729.6484
+ 05  1 20 22 14 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24190667.0304   -4356202.13249  -3141142.88646  24190667.5394   24190675.3824
+      3269.8184       2547.9024
+  20259860.2164  -15822046.26949 -12316792.83448  20259859.2834   20259865.6244
+      1072.9534        836.0664
+  22377494.7264  -13712600.31249 -10667242.91147  22377495.2434   22377500.6894
+     -2223.2734      -1732.4334
+  20332701.8654  -27560837.78949 -21462516.39748  20332701.7404   20332705.0134
+      -413.7554       -322.4094
+  23100893.6884   -3878761.49149  -3000665.02146  23100892.9934   23100899.1284
+     -2318.2364      -1806.4164
+  21171427.6824  -23239192.46149 -18081741.34148  21171427.0324   21171433.5554
+      1154.5334        899.6384
+  24075032.0064   -2572382.20649  -1661550.15846  24075031.0874   24075038.0134
+     -2029.2974      -1581.2714
+  22746785.9354   -7812502.54049  -6074583.51346  22746787.5124   22746794.2984
+      -774.9314       -603.8534
+  24527126.9054   -1092951.54349   -837103.52645  24527127.6984   24527134.7854
+      3633.1684       2831.0344
+  23175853.4804   -8885588.72649  -6470339.26146  23175853.0854   23175859.4844
+     -2222.4934      -1731.7814
+ 05  1 20 22 15  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24172009.4714   -4454244.78749  -3217539.69846  24172010.5044   24172017.9504
+      3266.0754       2544.9884
+  20253784.1094  -15853977.07949 -12341673.98348  20253783.2854   20253789.1814
+      1055.7514        822.6644
+  22390199.4034  -13645842.15749 -10615223.57447  22390199.6034   22390204.5424
+     -2227.1744      -1735.4514
+  20335091.0324  -27548281.90949 -21452732.58748  20335090.8954   20335094.3734
+      -423.3314       -329.8674
+  23114156.6164   -3809061.10149  -2946353.05346  23114156.5384   23114163.1744
+     -2328.4764      -1814.3944
+  21164851.4094  -23273747.13049 -18108667.04548  21164851.1324   21164857.8714
+      1149.0174        895.3414
+  24086662.3724   -2511258.16649  -1613921.07245  24086663.7764   24086667.9274
+     -2045.6534      -1593.9984
+  22751264.0844   -7788985.79349  -6056258.78346  22751263.2944   22751269.0064
+      -792.7904       -617.7614
+  24506382.5614   -1201966.30849   -922049.91245  24506382.2734   24506391.7794
+      3634.4104       2832.0014
+  23188549.3374   -8818873.21049  -6418353.15846  23188549.3124   23188556.8274
+     -2225.2304      -1733.9384
+ 05  1 20 22 15 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24153376.4054   -4552173.30549  -3293847.59146  24153375.7244   24153383.4084
+      3262.2034       2541.9744
+  20247806.1724  -15885391.23349 -12366152.53448  20247805.5934   20247811.3544
+      1038.5174        809.2334
+  22402924.1454  -13578966.89449 -10563112.98447  22402924.6264   22402930.5744
+     -2231.1314      -1738.5474
+  20337535.4294  -27535437.89349 -21442724.26148  20337535.2124   20337538.4104
+      -432.9474       -337.3624
+  23127479.4654   -3739054.50049  -2891802.49146  23127478.4224   23127486.1554
+     -2338.6534      -1822.3254
+  21158308.0114  -23308135.07649 -18135462.83948  21158307.6054   21158314.2524
+      1143.4384        890.9904
+  24098387.8404   -2449643.26549  -1565909.47045  24098387.9494   24098393.4044
+     -2062.0164      -1606.7704
+  22755840.1674   -7764933.19649  -6037516.50046  22755840.3084   22755846.6864
+      -810.6504       -631.6684
+  24485631.6724   -1311011.74349  -1007020.22645  24485630.9224   24485639.7954
+      3635.4304       2832.7974
+  23201260.6224   -8752074.01449  -6366301.82246  23201260.1474   23201267.7224
+     -2228.0354      -1736.1444
+ 05  1 20 22 16  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24134762.4994   -4649985.63849  -3370064.93446  24134762.6074   24134770.4814
+      3258.2754       2538.9184
+  20241925.7894  -15916288.85549 -12390228.59248  20241925.3314   20241931.7624
+      1021.3154        795.8304
+  22415671.6914  -13511974.65549 -10510911.22747  22415672.1934   22415678.8984
+     -2234.9744      -1741.5484
+  20340034.5884  -27522305.71249 -21432491.39048  20340034.1594   20340037.5054
+      -442.5454       -344.8404
+  23140856.8934   -3668744.49449  -2837015.47346  23140857.2694   23140865.0004
+     -2348.6754      -1830.1324
+  21151796.2434  -23342356.25249 -18162128.67648  21151795.6424   21151802.0354
+      1137.8914        886.6684
+  24110206.2554   -2387539.17449  -1517516.66146  24110206.2084   24110211.5634
+     -2078.2304      -1619.4044
+  22760519.1984   -7740346.24149  -6018357.83846  22760519.6094   22760525.6524
+      -828.4204       -645.5144
+  24464875.7644   -1420084.73549  -1092011.96245  24464876.4654   24464884.4204
+      3636.1744       2833.3724
+  23213986.6984   -8685190.88449  -6314185.10746  23213986.4334   23213995.0424
+     -2230.8404      -1738.3014
+ 05  1 20 22 16 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24116172.9944   -4747679.66449  -3446190.09746  24116171.8734   24116179.0624
+      3254.3074       2535.8204
+  20236145.0364  -15946670.06849 -12413902.25848  20236144.3884   20236150.3824
+      1004.0924        782.4094
+  22428443.6204  -13444865.67049 -10458618.52647  22428443.5064   22428449.4424
+     -2238.8544      -1744.5574
+  20342587.6094  -27508885.33749 -21422033.95048  20342587.6104   20342591.3604
+      -452.1664       -352.3374
+  23154294.2174   -3598134.01149  -2781994.33046  23154294.6164   23154301.9534
+     -2358.6714      -1837.9264
+  21145316.0944  -23376410.02249 -18188664.06748  21145315.5754   21145321.8474
+      1132.3184        882.3244
+  24122114.5794   -2324948.06949  -1468744.38545  24122117.0234   24122122.0354
+     -2094.4754      -1632.0574
+  22765298.9044   -7715226.63049  -5998784.12846  22765299.5354   22765304.5264
+      -846.1624       -659.3444
+  24444114.5204   -1529182.72049  -1177023.20045  24444114.7494   24444123.2364
+      3637.1154       2834.1094
+  23226732.6484   -8618224.36949  -6262003.40746  23226731.8714   23226738.7364
+     -2233.6714      -1740.5254
+ 05  1 20 22 17  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24097605.1174   -4845253.27549  -3522221.43846  24097605.1464   24097612.1564
+      3250.2884       2532.6874
+  20230461.8144  -15976535.06249 -12437173.67748  20230460.9104   20230467.2044
+       986.8774        768.9944
+  22441235.5794  -13377640.41749 -10406235.22247  22441236.2794   22441241.2954
+     -2242.7594      -1747.6074
+  20345196.3694  -27495176.63749 -21411351.84248  20345196.2964   20345200.0164
+      -461.7794       -359.8294
+  23167789.5874   -3527225.86249  -2726741.25546  23167788.4444   23167795.1504
+     -2368.5534      -1845.6344
+  21138867.2984  -23410296.60949 -18215069.18948  21138867.0494   21138873.3324
+      1126.7734        878.0044
+  24134118.4714   -2261871.99049  -1419594.16245  24134118.9684   24134125.2464
+     -2110.5994      -1644.6274
+  22770180.0604   -7689575.72649  -5978796.41146  22770180.3344   22770184.9764
+      -863.8604       -673.1484
+  24423351.8674   -1638302.96049  -1262051.78445  24423349.9114   24423357.6464
+      3637.7264       2834.5854
+  23239489.8144   -8551174.26249  -6209756.56446  23239489.4994   23239497.0604
+     -2236.3614      -1742.6254
+ 05  1 20 22 17 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24079059.2714   -4942704.27749  -3598157.21946  24079059.9324   24079067.7264
+      3246.1554       2529.4704
+  20224876.5914  -16005883.77449 -12460042.79548  20224875.9894   20224882.2104
+       969.6924        755.6034
+  22454050.0344  -13310298.88449 -10353761.29047  22454050.6014   22454056.1934
+     -2246.5654      -1750.5724
+  20347860.6504  -27481179.76049 -21400445.17848  20347860.2104   20347863.3854
+      -471.3654       -367.2984
+  23181338.6994   -3456023.03349  -2671258.56146  23181337.5724   23181343.6724
+     -2378.3104      -1853.2204
+  21132451.1684  -23444015.19149 -18241343.39748  21132450.3024   21132456.8724
+      1121.1124        873.5884
+  24146213.8634   -2198312.95549  -1370067.67345  24146214.4764   24146219.9864
+     -2126.6494      -1657.1284
+  22775161.0394   -7663395.37049  -5958396.14646  22775161.9484   22775168.3374
+      -881.4324       -686.8214
+  24402580.4954   -1747442.64449  -1347095.46045  24402581.0444   24402589.5964
+      3638.3234       2835.0514
+  23252264.3294   -8484040.62349  -6157444.65346  23252265.0624   23252272.3314
+     -2239.2294      -1744.8544
+ 05  1 20 22 18  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24060539.7814   -5040030.34149  -3673995.67245  24060539.3764   24060546.1424
+      3241.9704       2526.2114
+  20219390.2094  -16034716.29449 -12482509.69148  20219389.4474   20219395.4474
+       952.4944        742.2014
+  22466887.4864  -13242841.45249 -10301197.06147  22466887.3294   22466892.8254
+     -2250.4804      -1753.6204
+  20350578.8084  -27466894.76549 -21389314.01048  20350578.4034   20350581.5954
+      -480.9794       -374.7914
+  23194943.8424   -3384528.49449  -2615548.55046  23194942.7604   23194949.7074
+     -2387.9734      -1860.7514
+  21126066.1764  -23477565.52549 -18267486.50448  21126065.7734   21126072.5864
+      1115.5064        869.2264
+  24158401.5334   -2134273.14649  -1320166.56345  24158401.7284   24158404.4414
+     -2142.6374      -1669.5904
+  22780242.7094   -7636687.18049  -5937584.57846  22780243.8964   22780250.7154
+      -899.0184       -700.5144
+  24381808.0804   -1856598.92749  -1432152.11945  24381808.7774   24381817.2854
+      3638.8164       2835.4324
+  23265057.8194   -8416823.74749  -6105067.87646  23265056.4214   23265062.9734
+     -2241.9884      -1747.0144
+ 05  1 20 22 18 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24042042.8094   -5137229.52349  -3749735.22445  24042043.2204   24042050.2224
+      3237.7074       2522.8704
+  20214001.8834  -16063032.87449 -12504574.54648  20214000.9594   20214007.4034
+       935.2864        728.7944
+  22479746.0664  -13175268.24649 -10248542.63247  22479745.9974   22479751.5324
+     -2254.3464      -1756.6374
+  20353351.8374  -27452321.28749 -21377958.05248  20353351.4124   20353355.0384
+      -490.5904       -382.2784
+  23208603.4114   -3312745.38949  -2559613.69846  23208602.1904   23208608.9364
+     -2397.5664      -1868.2464
+  21119714.2124  -23510947.55649 -18293498.46848  21119713.4954   21119720.2434
+      1109.9244        864.8744
+  24170678.6414   -2069754.59649  -1269892.30245  24170677.0594   24170684.5504
+     -2158.6114      -1682.0354
+  22785426.8524   -7609452.88649  -5916363.04646  22785426.6494   22785433.8054
+      -916.5084       -714.1604
+  24361037.3764   -1965769.00649  -1517219.52845  24361035.9994   24361040.8434
+      3639.2634       2835.7884
+  23277863.4064   -8349523.46449  -6052626.10746  23277862.5964   23277870.4814
+     -2244.7374      -1749.1474
+ 05  1 20 22 19  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24023572.1354   -5234299.43849  -3825374.06945  24023572.6024   24023578.4874
+      3233.3724       2519.5024
+  20208711.2004  -16090833.56749 -12526237.41948  20208710.7814   20208716.7774
+       918.0874        715.3934
+  22492626.4764  -13107579.57649 -10195798.21347  22492626.0904   22492631.9134
+     -2258.1794      -1759.6214
+  20356179.6444  -27437459.47649 -21366377.41948  20356179.6594   20356183.2844
+      -500.2064       -389.7704
+  23222317.0444   -3240676.55549  -2503456.18446  23222316.1624   23222323.0564
+     -2407.0124      -1875.5964
+  21113393.2364  -23544160.65549 -18319378.79248  21113392.8674   21113399.9624
+      1104.2424        860.4494
+  24183045.0844   -2004759.36149  -1219246.71645  24183046.9274   24183051.2044
+     -2174.4724      -1694.4024
+  22790708.8834   -7581694.02249  -5894732.77546  22790708.6094   22790715.1534
+      -933.9964       -727.7724
+  24340259.8094   -2074950.13549  -1602295.52945  24340258.8844   24340265.1724
+      3639.5654       2836.0214
+  23290685.7364   -8282139.87349  -6000119.41546  23290684.3714   23290693.2194
+     -2247.5324      -1751.3174
+ 05  1 20 22 19 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  24005124.5224   -5331238.11749  -3900910.64745  24005125.1494   24005131.4734
+      3228.9434       2516.0654
+  20203520.1294  -16118118.58749 -12547498.46148  20203518.6644   20203524.6434
+       900.9024        701.9994
+  22505528.2264  -13039775.79449 -10142964.08447  22505528.3424   22505535.1084
+     -2262.0154      -1762.6144
+  20359063.3674  -27422309.16949 -21354571.97948  20359062.7334   20359066.4014
+      -509.8254       -397.2644
+  23236085.4964   -3168325.04149  -2447078.39446  23236084.3384   23236091.7574
+     -2416.3934      -1882.9114
+  21107105.9584  -23577204.50549 -18345127.24248  21107105.5374   21107111.5574
+      1098.5914        856.0424
+  24195502.9424   -1939289.69349  -1168231.40545  24195504.6644   24195510.6064
+     -2190.2234      -1706.6644
+  22796092.4754   -7553412.30549  -5872695.07846  22796092.5354   22796097.5594
+      -951.3824       -741.3334
+  24319479.7354   -2184139.46049  -1687377.93245  24319480.6594   24319486.8624
+      3639.7514       2836.1694
+  23303524.8354   -8214672.97449  -5947547.82146  23303524.4834   23303531.3774
+     -2250.2864      -1753.4684
+ 05  1 20 22 20  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23986703.2274   -5428043.44849  -3976343.29045  23986702.6934   23986709.7764
+      3224.5014       2512.5974
+  20198425.1144  -16144888.08049 -12568357.79348  20198424.4384   20198430.5454
+       883.7404        688.6284
+  22518454.4744  -12971856.96149 -10090040.33447  22518454.0704   22518459.7314
+     -2265.8004      -1765.5564
+  20362001.1474  -27406870.35249 -21342541.72948  20362000.8674   20362004.0394
+      -519.4534       -404.7694
+  23249906.6084   -3095693.65049  -2390482.53546  23249905.5454   23249912.2274
+     -2425.7054      -1890.1684
+  21100850.2014  -23610078.73849 -18370743.51048  21100849.6924   21100856.1554
+      1092.9614        851.6594
+  24208055.0454   -1873347.57949  -1116847.90445  24208053.5364   24208058.6394
+     -2205.8824      -1718.8664
+  22801573.6404   -7524609.59049  -5850251.39446  22801573.4214   22801578.1674
+      -968.7344       -754.8564
+  24298702.4104   -2293333.96949  -1772464.42345  24298700.7584   24298708.0204
+      3639.8764       2836.2624
+  23316378.0214   -8147122.77949  -5894911.29446  23316378.7694   23316385.9344
+     -2253.0584      -1755.6274
+ 05  1 20 22 20 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23968309.2244   -5524712.86549  -4051670.03346  23968308.0904   23968315.5104
+      3219.8664       2508.9934
+  20193429.1694  -16171142.24849 -12588815.57848  20193428.4634   20193434.6954
+       866.5574        675.2384
+  22531398.8454  -12903823.35849 -10037027.13947  22531399.5824   22531406.3334
+     -2269.6704      -1768.5754
+  20364994.2024  -27391142.97149 -21330286.61848  20364993.5604   20364996.8914
+      -529.0544       -412.2504
+  23263780.6094   -3022785.24949  -2333670.81446  23263780.3864   23263786.7564
+     -2434.8694      -1897.2874
+  21094627.7194  -23642782.81649 -18396227.19648  21094626.5184   21094632.6524
+      1087.2774        847.2314
+  24220691.6364   -1806935.11049  -1065098.00245  24220692.0874   24220696.1624
+     -2221.5334      -1731.0644
+  22807150.0924   -7495287.54949  -5827403.06246  22807153.1244   22807158.2324
+      -986.0384       -768.3574
+  24277923.6434   -2402531.11549  -1857552.95445  24277920.7094   24277928.2794
+      3639.9134       2836.2914
+  23329247.5574   -8079489.28349  -5842209.88646  23329247.9844   23329255.0684
+     -2255.8144      -1757.7724
+ 05  1 20 22 21  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23949938.1324   -5621244.42649  -4126889.37846  23949938.2184   23949945.2394
+      3215.2614       2505.3914
+  20188531.1054  -16196881.35949 -12608872.02148  20188530.5414   20188536.6474
+       849.3864        661.8564
+  22544368.8804  -12835675.26749  -9983924.71847  22544368.4194   22544373.6874
+     -2273.4714      -1771.5464
+  20368041.5914  -27375126.94149 -21317806.59048  20368041.1924   20368044.7404
+      -538.6884       -419.7594
+  23277709.6024   -2949602.80849  -2276645.54746  23277706.3804   23277713.3884
+     -2443.9554      -1904.3854
+  21088436.0024  -23675316.76649 -18421578.31348  21088435.3624   21088441.4724
+      1081.5674        842.7764
+  24233420.2334   -1740054.57949  -1012983.24645  24233419.4864   24233424.2064
+     -2237.1174      -1743.2114
+  22812831.2284   -7465448.02449  -5804151.47546  22812831.3154   22812836.4534
+     -1003.2184       -781.7264
+  24257141.8624   -2511727.95849  -1942641.19545  24257140.7344   24257149.2254
+      3639.8504       2836.2404
+  23342135.3714   -8011772.62449  -5789443.65646  23342134.9104   23342142.1934
+     -2258.6154      -1759.9534
+ 05  1 20 22 21 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23931595.4274   -5717635.91749  -4201999.55346  23931594.5284   23931603.0894
+      3210.5634       2501.7354
+  20183731.4214  -16222105.77349 -12628527.40048  20183730.4234   20183736.7914
+       832.2424        648.4954
+  22557358.9444  -12767412.87249  -9930733.25347  22557358.7874   22557364.5674
+     -2277.2774      -1774.5024
+  20371143.7764  -27358822.40749 -21305101.75448  20371143.6994   20371147.3644
+      -548.3144       -427.2594
+  23291682.3584   -2876149.40649  -2219409.14546  23291682.6374   23291690.2594
+     -2452.9294      -1911.3844
+  21082277.0424  -23707679.99049 -18446796.40648  21082276.6254   21082282.8844
+      1075.8994        838.3604
+  24246232.2984   -1672708.16749   -960505.48145  24246232.1734   24246239.5964
+     -2252.6334      -1755.2944
+  22818607.7384   -7435092.73249  -5780498.01246  22818606.9454   22818612.5404
+     -1020.4294       -795.1384
+  24236363.4784   -2620921.72149  -2027727.11445  24236363.6844   24236370.0614
+      3639.7424       2836.1574
+  23355038.7194   -7943972.71849  -5736612.57046  23355038.2454   23355043.4004
+     -2261.3854      -1762.1214
+ 05  1 20 22 22  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23913280.1214   -5813885.05349  -4276998.80446  23913279.4174   23913286.7564
+      3205.7724       2498.0054
+  20179028.9594  -16246815.86849 -12647782.01248  20179028.2834   20179034.3574
+       815.0894        635.1364
+  22570370.1824  -12699036.25849  -9877452.78747  22570370.1294   22570376.2624
+     -2281.1114      -1777.4824
+  20374302.5724  -27342229.19349 -21292171.96848  20374301.7124   20374304.9934
+      -557.9374       -434.7544
+  23305711.0114   -2802428.11749  -2161964.00446  23305711.8444   23305718.7274
+     -2461.7964      -1918.2774
+  21076150.8684  -23739872.24749 -18471881.26748  21076150.5544   21076157.0384
+      1070.1674        833.8964
+  24259140.0494   -1604897.99649   -907666.39545  24259138.7754   24259142.9714
+     -2268.0654      -1767.3264
+  22824479.7734   -7404223.44449  -5756444.01946  22824480.2954   22824487.2504
+     -1037.4974       -808.4504
+  24215583.3174   -2730109.37349  -2112808.19445  24215583.0744   24215591.8134
+      3639.4684       2835.9414
+  23367954.4244   -7876089.58249  -5683716.61946  23367954.5174   23367961.9544
+     -2264.1294      -1764.2514
+ 05  1 20 22 22 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23894991.4454   -5909989.49249  -4351885.30646  23894991.0974   23894998.8474
+      3200.9114       2494.2194
+  20174424.5644  -16271011.86249 -12666636.02848  20174423.7824   20174430.0724
+       797.9734        621.7974
+  22583403.1834  -12630545.95349  -9824083.71647  22583403.1614   22583409.0414
+     -2284.8614      -1780.4114
+  20377514.1814  -27325347.15949 -21279017.13348  20377514.1044   20377517.3974
+      -567.5534       -442.2514
+  23319793.4714   -2728441.92849  -2104312.44146  23319791.8544   23319798.5324
+     -2470.5894      -1925.1254
+  21070057.6994  -23771892.89849 -18496832.41748  21070057.1534   21070063.5814
+      1064.4724        829.4564
+  24272129.1214   -1536626.18449   -854467.57445  24272128.6394   24272133.4754
+     -2283.4214      -1779.2814
+  22830452.6614   -7372842.03449  -5731990.96946  22830453.3124   22830459.6524
+     -1054.5284       -821.7264
+  24194808.6614   -2839287.94449  -2197882.24745  24194808.4384   24194817.3544
+      3639.1394       2835.6894
+  23380889.2504   -7808123.24249  -5630755.84846  23380888.1714   23380895.1354
+     -2266.9594      -1766.4534
+ 05  1 20 22 23  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23876729.0734   -6005947.27049  -4426657.52646  23876730.9914   23876739.3134
+      3195.9864       2490.3684
+  20169918.2224  -16294693.60549 -12685089.32648  20169917.3244   20169923.4764
+       780.8184        608.4324
+  22596458.6684  -12561941.83949  -9770625.96047  22596458.4664   22596464.6904
+     -2288.6764      -1783.3884
+  20380781.5594  -27308176.31649 -21265637.24848  20380781.2634   20380784.8014
+      -577.1874       -449.7554
+  23333920.7574   -2654193.72449  -2046456.72346  23333920.6614   23333928.0874
+     -2479.3004      -1931.9304
+  21063997.4394  -23803741.48749 -18521649.49148  21063996.9384   21064003.1944
+      1058.7314        824.9864
+  24285207.5914   -1467894.91249   -800910.71645  24285208.6004   24285213.2944
+     -2298.7234      -1791.2224
+  22836520.9924   -7340950.40749  -5707140.36546  22836520.7164   22836527.2474
+     -1071.5254       -834.9494
+  24174033.2314   -2948455.14049  -2282947.49045  24174035.0474   24174042.4934
+      3638.7434       2835.3734
+  23393837.1314   -7740073.61249  -5577730.16146  23393837.7514   23393844.7934
+     -2269.7254      -1768.6204
+ 05  1 20 22 23 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23858497.3614   -6101756.02249  -4501313.63846  23858499.0304   23858506.7074
+      3190.9654       2486.4644
+  20165508.8404  -16317861.58449 -12703142.28948  20165508.5914   20165514.6244
+       763.7014        595.0894
+  22609535.0954  -12493224.36949  -9717079.89147  22609534.8414   22609539.9374
+     -2292.4114      -1786.2964
+  20384104.4214  -27290716.77449 -21252032.40948  20384103.9944   20384107.0914
+      -586.8084       -457.2554
+  23348099.0114   -2579686.59949  -1988399.25446  23348098.1974   23348106.2534
+     -2487.8704      -1938.6034
+  21057969.9464  -23835418.14849 -18546332.59248  21057969.0134   21057975.2824
+      1052.9684        820.4914
+  24298372.2634   -1398706.74349   -746997.74245  24298373.4144   24298380.8494
+     -2313.8644      -1803.0154
+  22842686.3984   -7308550.52449  -5681893.70746  22842687.0224   22842693.9914
+     -1088.4134       -848.1274
+  24153260.7684   -3057607.57749  -2368001.24845  24153262.1774   24153272.3474
+      3638.1694       2834.9324
+  23406803.4354   -7671940.83049  -5524639.68946  23406802.9114   23406807.8144
+     -2272.4464      -1770.7494
+ 05  1 20 22 24  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23840294.8294   -6197413.49449  -4575851.82946  23840295.8544   23840303.9204
+      3185.8854       2482.5054
+  20161199.1184  -16340516.28449 -12720795.29648  20161197.9324   20161203.7144
+       746.6004        581.7684
+  22622632.3954  -12424393.53849  -9663445.46546  22622632.2644   22622638.6964
+     -2296.2074      -1789.2414
+  20387481.9104  -27272968.58549 -21238202.64348  20387481.2674   20387484.6454
+      -596.4394       -464.7584
+  23362324.4544   -2504923.36149  -1930142.19746  23362324.9264   23362331.9384
+     -2496.3554      -1945.2194
+  21051974.8424  -23866921.80049 -18570880.88448  21051974.0914   21051980.3864
+      1047.2014        816.0034
+  24311628.5674   -1329063.72649   -692730.45845  24311627.6674   24311632.9294
+     -2329.0024      -1814.8074
+  22848947.5984   -7275644.03149  -5656252.28546  22848949.5124   22848955.0204
+     -1105.2804       -861.2524
+  24132492.1584   -3166742.68449  -2453041.45345  24132493.5084   24132503.1554
+      3637.6234       2834.5094
+  23419784.9094   -7603724.83649  -5471484.37546  23419783.6194   23419790.8504
+     -2275.2524      -1772.9144
+ 05  1 20 22 24 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23822124.5564   -6292917.55349  -4650270.51546  23822122.2194   23822129.3854
+      3180.7614       2478.5134
+  20156985.5464  -16362658.04949 -12738048.61248  20156984.5494   20156990.0834
+       729.5094        568.4494
+  22635752.8534  -12355449.71249  -9609723.01147  22635753.1844   22635757.7794
+     -2299.9734      -1792.1904
+  20390914.3114  -27254931.33249 -21224147.63648  20390913.8224   20390917.0564
+      -606.0654       -472.2564
+  23376602.5024   -2429907.16949  -1871688.06646  23376601.5574   23376606.9734
+     -2504.7294      -1951.7444
+  21046012.5974  -23898252.28249 -18595294.23848  21046012.0414   21046018.4834
+      1041.4154        811.4904
+  24324963.6364   -1258968.00649   -638110.39445  24324964.4454   24324968.9924
+     -2344.0904      -1826.5654
+  22855306.0504   -7242233.15149  -5630217.81546  22855306.3014   22855312.5604
+     -1122.0674       -874.3314
+  24111732.2924   -3275857.40349  -2538065.77645  24111729.5064   24111739.7474
+      3636.8184       2833.8814
+  23432781.5394   -7535425.64149  -5418264.22246  23432780.9574   23432787.6714
+     -2278.0214      -1775.0764
+ 05  1 20 22 25  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23803977.7024   -6388265.80949  -4724567.78546  23803978.5104   23803985.4864
+      3175.5174       2474.4284
+  20152869.2484  -16384287.18549 -12754902.47348  20152868.3634   20152874.5284
+       712.4234        555.1344
+  22648893.6284  -12286392.92849  -9555912.54147  22648893.7914   22648899.1574
+     -2303.7274      -1795.1164
+  20394401.3054  -27236605.22149 -21209867.54348  20394400.9184   20394404.4014
+      -615.6954       -479.7644
+  23390923.8624   -2354640.66149  -1813038.87046  23390924.5314   23390930.4494
+     -2513.0374      -1958.2134
+  21040083.9044  -23929409.35149 -18619572.46548  21040082.9464   21040089.5084
+      1035.6674        807.0144
+  24338390.7834   -1188421.69349   -583139.28445  24338390.4704   24338396.9194
+     -2359.1164      -1838.2694
+  22861760.1734   -7208319.49849  -5603791.61446  22861761.2904   22861766.4954
+     -1138.7734       -887.3664
+  24090969.4754   -3384948.83549  -2623072.00245  24090971.4734   24090979.5054
+      3635.9804       2833.2334
+  23445794.4514   -7467043.41549  -5364979.37046  23445793.6324   23445800.0674
+     -2280.7734      -1777.2144
+ 05  1 20 22 25 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23785866.2914   -6483456.09049  -4798741.97246  23785864.2654   23785871.5294
+      3170.2374       2470.3144
+  20148850.6074  -16405404.04449 -12771357.16548  20148850.0624   20148856.1404
+       695.3624        541.8434
+  22662055.6824  -12217223.64749  -9502014.39847  22662055.8404   22662061.8874
+     -2307.4254      -1797.9904
+  20397943.1944  -27217990.17449 -21195362.31148  20397943.4534   20397946.6124
+      -625.3284       -487.2684
+  23405293.9374   -2279126.99649  -1754197.08246  23405292.8784   23405301.2244
+     -2521.1974      -1964.5534
+  21034187.8454  -23960392.51949 -18643715.19448  21034187.1854   21034193.4464
+      1029.8354        802.4734
+  24351898.6054   -1117427.62649   -527819.27045  24351899.8534   24351903.5814
+     -2373.9534      -1849.8424
+  22868308.7854   -7173905.28749  -5576975.33446  22868308.9744   22868315.3594
+     -1155.4334       -900.3334
+  24070215.9134   -3494014.18449  -2708057.91945  24070217.3434   24070225.1124
+      3635.0684       2832.5154
+  23458822.5204   -7398577.94549  -5311629.67246  23458822.4314   23458828.0534
+     -2283.5204      -1779.3574
+ 05  1 20 22 26  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23767781.8054   -6578486.23549  -4872791.35646  23767781.0614   23767787.7154
+      3164.8514       2466.1134
+  20144929.6704  -16426009.13049 -12787413.06948  20144928.8114   20144934.9964
+       678.3414        528.5794
+  22675240.0674  -12147942.05049  -9448028.74447  22675239.6924   22675245.5564
+     -2311.2344      -1800.9584
+  20401542.0084  -27199086.01549 -21180631.78848  20401540.7124   20401544.2014
+      -634.9544       -494.7694
+  23419708.2674   -2203369.24449  -1695165.08546  23419708.4254   23419717.1314
+     -2529.3284      -1970.9094
+  21028324.9074  -23991201.23449 -18667721.97948  21028324.5084   21028330.5124
+      1024.0224        797.9424
+  24365495.9684   -1045987.60949   -472151.67945  24365495.6634   24365501.0494
+     -2388.7284      -1861.3444
+  22874951.9534   -7138992.27249  -5549770.38546  22874953.1534   22874958.5134
+     -1172.0324       -913.2634
+  24049470.6634   -3603050.70949  -2793021.32845  24049468.2324   24049477.0974
+      3634.0534       2831.7244
+  23471866.4364   -7330029.33849  -5258215.16446  23471866.1934   23471874.6024
+     -2286.3214      -1781.5334
+ 05  1 20 22 26 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23749728.4754   -6673353.79549  -4946714.07646  23749728.7944   23749734.5224
+      3159.3894       2461.8534
+  20141105.8074  -16446102.92449 -12803070.56348  20141105.1694   20141111.3354
+       661.2714        515.2754
+  22688444.6624  -12078548.07149  -9393955.51746  22688444.6414   22688450.5524
+     -2314.9484      -1803.8654
+  20405193.1794  -27179892.53349 -21165675.82448  20405192.9534   20405196.3604
+      -644.6154       -502.2974
+  23434173.4194   -2127370.41449  -1635945.24346  23434171.9774   23434179.5594
+     -2537.2794      -1977.1024
+  21022495.3354  -24021835.27849 -18691592.65048  21022494.8114   21022501.2094
+      1018.1854        793.3924
+  24379172.3304    -974104.18649   -416138.56745  24379172.4034   24379179.3174
+     -2403.5684      -1872.9114
+  22881691.0834   -7103582.59849  -5522178.43246  22881690.4684   22881697.7514
+     -1188.5324       -926.1264
+  24028725.1414   -3712055.35849  -2877959.93045  24028725.5184   24028733.2724
+      3632.9504       2830.8664
+  23484927.0684   -7261397.46949  -5204735.80346  23484926.6684   23484933.4824
+     -2289.1114      -1783.7124
+ 05  1 20 22 27  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23731708.0224   -6768056.61449  -5020508.41446  23731707.4194   23731713.8644
+      3153.8524       2457.5494
+  20137379.7424  -16465685.70349 -12818329.87048  20137378.9184   20137384.5764
+       644.2384        502.0064
+  22701671.8154  -12009042.31249  -9339795.19046  22701671.4854   22701677.7024
+     -2318.7204      -1806.7874
+  20408900.4804  -27160409.87649 -21150494.52848  20408900.4714   20408903.7524
+      -654.2484       -509.8024
+  23448679.8664   -2051133.57849  -1576539.94646  23448679.0024   23448685.2034
+     -2545.1714      -1983.2534
+  21016699.0944  -24052294.19849 -18715326.86648  21016698.8394   21016705.1404
+      1012.3424        788.8364
+  24392937.4984    -901779.78149   -359781.85945  24392937.4084   24392942.1164
+     -2418.1484      -1884.2784
+  22888521.9724   -7067678.25149  -5494201.03446  22888523.6434   22888530.2454
+     -1204.9954       -938.9554
+  24007988.8834   -3821025.17249  -2962871.39845  24007989.3324   24007998.1304
+      3631.7264       2829.9154
+  23498002.4384   -7192682.49049  -5151191.67446  23498002.8224   23498009.1674
+     -2291.9014      -1785.8874
+ 05  1 20 22 27 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23713716.7414   -6862592.34849  -5094172.54246  23713716.5884   23713723.4494
+      3148.2314       2453.1544
+  20133749.9674  -16484757.99149 -12833191.37748  20133749.2074   20133755.4214
+       627.2244        488.7434
+  22714919.3414  -11939424.43249  -9285547.48746  22714919.2744   22714925.1454
+     -2322.4024      -1809.6734
+  20412663.6364  -27140638.07349 -21135087.92748  20412663.2624   20412666.2104
+      -663.8994       -517.3254
+  23463230.8944   -1974661.89149  -1516951.66746  23463231.1094   23463239.1204
+     -2552.9714      -1989.3304
+  21010936.6074  -24082577.41049 -18738924.16048  21010935.9704   21010942.4864
+      1006.4594        784.2534
+  24406783.6864    -829016.22549   -303082.90045  24406781.9084   24406786.0284
+     -2432.7774      -1895.6754
+  22895451.3544   -7031281.20249  -5465839.68246  22895449.5004   22895455.8554
+     -1221.4204       -951.7524
+  23987260.6414   -3929957.27149  -3047753.44545  23987260.7264   23987268.1464
+      3630.4244       2828.9034
+  23511094.2764   -7123884.30849  -5097582.70046  23511094.1844   23511101.3444
+     -2294.6954      -1788.0654
+ 05  1 20 22 28  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23695760.7434   -6956958.75349  -5167704.75546  23695759.6844   23695766.4224
+      3142.5874       2448.7724
+  20130217.7854  -16503320.11349 -12847655.36548  20130217.0544   20130223.0774
+       610.2434        475.5114
+  22728187.6934  -11869694.98949  -9231212.85846  22728188.2894   22728194.0674
+     -2326.1414      -1812.5794
+  20416481.2984  -27120577.11749 -21119456.00348  20416480.5194   20416483.7784
+      -673.5354       -524.8354
+  23477828.2244   -1897958.16649  -1457182.55346  23477827.1794   23477834.7144
+     -2560.6044      -1995.2794
+  21005207.1944  -24112684.44549 -18762384.17648  21005206.8414   21005213.6324
+      1000.5944        779.6844
+  24420709.8884    -755816.40649   -246044.07945  24420711.7744   24420715.5704
+     -2447.2314      -1906.9284
+  22902467.5244   -6994393.55549  -5437096.07746  22902468.5734   22902475.3384
+     -1237.7434       -964.4754
+  23966540.3294   -4038848.73249  -3132603.86145  23966538.9144   23966546.1194
+      3629.1244       2827.8884
+  23524204.0904   -7055002.88449  -5043908.86046  23524202.9064   23524208.6974
+     -2297.3914      -1790.1604
+ 05  1 20 22 28 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23677834.5664   -7051153.52649  -5241103.19746  23677834.7424   23677841.7814
+      3136.7854       2444.2454
+  20126782.9714  -16521372.81049 -12861722.40048  20126781.8494   20126787.6584
+       593.2614        462.2834
+  22741477.8364  -11799854.16249  -9176791.44946  22741478.0494   22741484.4404
+     -2329.8514      -1815.4684
+  20420353.4884  -27100226.85249 -21103598.65748  20420352.9414   20420356.3344
+      -683.1774       -532.3464
+  23492467.3244   -1821025.40949  -1397234.96946  23492467.2764   23492474.7204
+     -2568.2364      -2001.2184
+  20999511.6894  -24142614.88349 -18785706.58648  20999511.2744   20999518.0094
+       994.6764        775.0744
+  24434723.1464    -682182.52249   -188666.97845  24434724.3424   24434727.1504
+     -2461.5924      -1918.1274
+  22909582.1844   -6957017.40049  -5407971.80946  22909581.9124   22909586.9034
+     -1253.9604       -977.1174
+  23945823.8654   -4147696.74149  -3217420.39145  23945825.3574   23945834.1414
+      3627.5144       2826.6304
+  23537326.5854   -6986038.27749  -4990170.22246  23537327.0594   23537333.6884
+     -2300.2084      -1792.3664
+ 05  1 20 22 29  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23659940.5724   -7145174.50649  -5314366.24446  23659941.7714   23659949.6504
+      3130.9684       2439.7154
+  20123443.6024  -16538916.47149 -12875392.77648  20123443.2904   20123449.2564
+       576.3164        449.0754
+  22754790.3044  -11729901.99749  -9122283.26946  22754790.6934   22754796.4824
+     -2333.5434      -1818.3474
+  20424280.8444  -27079587.25349 -21087515.84848  20424280.6244   20424283.9334
+      -692.8074       -539.8514
+  23507151.6784   -1743866.70049  -1337111.32146  23507151.1844   23507157.5394
+     -2575.6924      -2007.0324
+  20993849.2874  -24172368.34249 -18808891.09048  20993849.2834   20993855.9774
+       988.7924        770.4864
+  24448817.6404    -608116.73849   -130953.35444  24448814.6934   24448823.9054
+     -2476.0334      -1929.3754
+  22916786.3584   -6919154.75749  -5378468.45846  22916786.7334   22916793.0934
+     -1270.1484       -989.7314
+  23925121.3704   -4256498.25349  -3302200.66645  23925122.0594   23925128.5794
+      3625.9024       2825.3754
+  23550466.1004   -6916990.23249  -4936366.54046  23550465.1764   23550471.2884
+     -2302.9814      -1794.5234
+ 05  1 20 22 29 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23642083.6344   -7239019.28549  -5387491.97946  23642084.4414   23642091.9154
+      3125.0484       2435.1004
+  20120202.4904  -16555951.49849 -12888666.81748  20120201.8164   20120207.8704
+       559.3894        435.8924
+  22768122.8124  -11659838.75449  -9067688.52446  22768122.5054   22768129.2734
+     -2337.2594      -1821.2334
+  20428263.4364  -27058658.22549 -21071207.51348  20428263.2854   20428266.4984
+      -702.4484       -547.3594
+  23521876.5684   -1666484.80149  -1276813.77946  23521876.3334   23521882.5144
+     -2583.0644      -2012.7824
+  20988221.7034  -24201944.22849 -18831937.22648  20988221.2894   20988227.7044
+       982.8804        765.8854
+  24462995.0914    -533621.78149    -72905.31044  24462996.8834   24462999.0164
+     -2490.2224      -1940.4364
+  22924083.5574   -6880807.75549  -5348587.67846  22924083.4264   22924090.1624
+     -1286.2764      -1002.3054
+  23904427.5954   -4365250.56249  -3386942.62945  23904426.8524   23904433.9204
+      3624.2544       2824.0904
+  23563620.0704   -6847859.19849  -4882498.23146  23563620.1534   23563626.6124
+     -2305.7644      -1796.6884
+ 05  1 20 22 30  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23624260.5044   -7332685.48749  -5460478.58946  23624259.7214   23624266.9774
+      3119.0944       2430.4614
+  20117057.5664  -16572478.71649 -12901545.16348  20117056.6584   20117062.7074
+       542.4544        422.6874
+  22781476.1904  -11589664.83149  -9013007.55446  22781476.6934   22781481.7234
+     -2340.9074      -1824.0864
+  20432300.8534  -27037439.68349 -21054673.57748  20432300.9624   20432304.4554
+      -712.1124       -554.8974
+  23536643.4134   -1588883.07749  -1216344.92446  23536643.7674   23536649.3534
+     -2590.3464      -2018.4554
+  20982627.4024  -24231342.43949 -18854844.90748  20982626.8764   20982633.4484
+       976.9454        761.2524
+  24477252.2014    -458699.84649    -14524.44745  24477251.1004   24477257.1614
+     -2504.4664      -1951.5414
+  22931471.7854   -6841978.56249  -5318331.18246  22931472.5144   22931477.6434
+     -1302.2944      -1014.7804
+  23883742.6084   -4473950.53749  -3471643.78645  23883742.5214   23883749.9784
+      3622.4734       2822.7034
+  23576791.2384   -6778645.22749  -4828565.25846  23576791.5834   23576798.1024
+     -2308.5284      -1798.8394
+ 05  1 20 22 30 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23606471.8384   -7426170.89149  -5533324.32746  23606471.0324   23606477.7724
+      3112.9954       2425.7104
+  20114009.2034  -16588498.48649 -12914028.09648  20114008.3154   20114014.3094
+       525.5384        409.5114
+  22794851.3454  -11519380.04849  -8958240.20146  22794851.3334   22794855.9514
+     -2344.6434      -1826.9864
+  20436393.9534  -27015931.67249 -21037914.08448  20436393.9764   20436397.1894
+      -721.7714       -562.4184
+  23551452.2034   -1511064.48149  -1155707.07146  23551450.5664   23551457.3234
+     -2597.5314      -2024.0524
+  20977067.0014  -24260561.82549 -18877613.25448  20977066.7624   20977073.0884
+       970.9734        756.6034
+  24491588.1034    -383353.35348     44187.15044  24491589.3704   24491595.4904
+     -2518.6224      -1962.5604
+  22938953.1134   -6802669.35049  -5287700.64046  22938952.8594   22938958.4664
+     -1318.2834      -1027.2564
+  23863066.8244   -4582595.28949  -3556301.89045  23863066.2174   23863074.1574
+      3620.5604       2821.2124
+  23589979.7774   -6709347.90149  -4774567.33446  23589978.4684   23589985.7854
+     -2311.2944      -1801.0114
+ 05  1 20 22 31  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23588714.1194   -7519473.16249  -5606027.35046  23588714.5954   23588722.6164
+      3106.8434       2420.9094
+  20111057.0754  -16604011.61149 -12926116.24048  20111056.1144   20111062.2504
+       508.6794        396.3684
+  22808247.2514  -11448984.49249  -8903386.51146  22808247.1514   22808253.2834
+     -2348.2884      -1829.8424
+  20440542.1034  -26994134.22149 -21020929.05448  20440541.9774   20440545.1164
+      -731.4094       -569.9304
+  23566299.5574   -1433031.86249  -1094902.45346  23566299.5774   23566306.7634
+     -2604.5994      -2029.5584
+  20971540.4764  -24289602.52049 -18900242.34748  20971540.3984   20971546.6324
+       964.9864        751.9344
+  24506006.8374    -307584.67248    103227.71144  24506003.9414   24506015.7044
+     -2532.5774      -1973.4304
+  22946523.1624   -6762882.23749  -5256697.68546  22946523.9304   22946530.9614
+     -1334.1114      -1039.5634
+  23842403.3484   -4691182.01749  -3640914.84045  23842403.3464   23842410.5444
+      3618.5254       2819.6224
+  23603179.7224   -6639967.31549  -4720504.55046  23603180.1784   23603188.2864
+     -2314.0434      -1803.1624
+ 05  1 20 22 31 30.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23570996.0474   -7612589.95349  -5678585.85746  23570995.1794   23571003.7514
+      3100.6704       2416.1004
+  20108200.8934  -16619018.46949 -12937809.89148  20108200.2634   20108206.4404
+       491.7954        383.2234
+  22821662.8044  -11378478.68349  -8848446.94446  22821663.3634   22821669.0034
+     -2351.9784      -1832.7234
+  20444745.2784  -26972047.00649 -21003718.22748  20444744.7994   20444747.9954
+      -741.0734       -577.4594
+  23581191.4304   -1354788.45949  -1033933.60746  23581189.7374   23581196.4994
+     -2611.6214      -2035.0324
+  20966049.0744  -24318463.71749 -18922731.57348  20966048.2474   20966054.6284
+       959.0054        747.2824
+  24520504.6044    -231396.21048    162595.36144  24520504.8914   24520510.5584
+     -2546.5074      -1984.3094
+  22954187.6364   -6722619.27949  -5225323.96446  22954185.7734   22954192.2794
+     -1349.9974      -1051.9494
+  23821752.9124   -4799707.72449  -3725480.22345  23821752.6854   23821759.0174
+      3616.4964       2818.0464
+  23616399.7374   -6570503.56649  -4666376.95246  23616399.7634   23616405.2124
+     -2316.8474      -1805.3344
+ 05  1 20 22 32  0.0000000  0 10G 6G10G 4G 2G 5G17G13G30G29G24
+  23553313.0404   -7705518.99749  -5750998.06046  23553312.3994   23553320.2054
+      3094.3514       2411.1904
+  20105441.6684  -16633519.77049 -12949109.59748  20105440.8624   20105446.8764
+       474.9524        370.0934
+  22835102.2014  -11307862.84349  -8793421.59946  22835101.7084   22835107.7204
+     -2355.6634      -1835.5864
+  20449003.1054  -26949670.18749 -20986281.74248  20449002.9624   20449006.3144
+      -750.7264       -584.9794
+  23596120.0134   -1276337.10349   -972802.70746  23596119.5044   23596124.9644
+     -2618.4734      -2040.3744
+  20960590.3164  -24347144.78349 -18945080.44148  20960590.3424   20960596.8804
+       953.0004        742.5994
+  24535086.8574    -154790.47458    222288.10854  24535088.8524   24535089.5874
+     -2560.5204      -1995.2084
+  22961937.5054   -6681882.88649  -5193581.32846  22961938.1574   22961944.0434
+     -1365.7194      -1064.1774
+  23801112.7254   -4908169.48749  -3809995.76245  23801111.7444   23801118.5814
+      3614.3824       2816.3924
+  23629633.6074   -6500956.46549  -4612184.40246  23629632.9004   23629641.1914
+     -2319.6264      -1807.4954
+ 05  1 20 22 32 30.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23535664.2794   -7798257.94649  -5823262.11846  23535664.1364   23535671.9744
+      3087.9854       2406.2084
+  20102778.2944  -16647515.93449 -12960015.69148  20102777.2814   20102783.6224
+       458.1144        356.9704
+  22848560.6274  -11237136.92749  -8738310.51346  22848560.2204   22848566.3894
+     -2359.3324      -1838.4454
+  20453316.5924  -26927003.62749 -20968619.47848  20453316.1124   20453319.3714
+      -760.3974       -592.5174
+  23611085.8364   -1197680.91149   -911512.19646  23611085.6954   23611093.2054
+     -2625.3024      -2045.6854
+  20955167.5634  -24375645.66049 -18967288.90348  20955166.7584   20955173.2014
+       946.9734        737.8984
+  22969779.3434   -6640675.12749  -5161471.38446  22969779.2344   22969786.5704
+     -1381.3784      -1076.4014
+  23780486.9204   -5016564.39649  -3894459.20045  23780485.9644   23780491.8354
+      3612.0424       2814.5704
+  23642885.0724   -6431326.21749  -4557927.09846  23642883.9734   23642891.5144
+     -2322.4034      -1809.6634
+ 05  1 20 22 33  0.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23518052.5114   -7890804.64249  -5895376.37646  23518053.2014   23518061.4124
+      3081.4904       2401.1584
+  20100210.9594  -16661007.96449 -12970528.95548  20100210.1044   20100216.0604
+       441.3254        343.8864
+  22862039.9914  -11166301.19449  -8683113.81846  22862040.0774   22862046.0124
+     -2362.9804      -1841.2944
+  20457685.1014  -26904047.27249 -20950731.40148  20457684.6754   20457687.7484
+      -770.0484       -600.0424
+  23626093.8754   -1118823.07949   -850064.55946  23626092.3754   23626099.2084
+     -2631.9324      -2050.8554
+  20949778.1374  -24403965.50849 -18989356.30348  20949777.6624   20949784.1324
+       940.9634        733.2154
+  22977710.5234   -6598998.23049  -5128995.89146  22977709.9474   22977715.7804
+     -1396.9934      -1088.5664
+  23759871.8524   -5124889.45149  -3978868.21545  23759871.0934   23759878.1724
+      3609.6394       2812.7034
+  23656150.5064   -6361612.59449  -4503604.79346  23656150.7694   23656156.7844
+     -2325.1644      -1811.8154
+ 05  1 20 22 33 30.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23500478.4814   -7983156.40149  -5967338.75146  23500479.8184   23500486.3854
+      3075.0054       2396.1064
+  20097738.8794  -16673996.44349 -12980649.84148  20097738.1824   20097744.6394
+       424.5594        330.8274
+  22875539.6074  -11095355.74149  -8627831.65046  22875539.8374   22875545.9354
+     -2366.6274      -1844.1264
+  20462108.6374  -26880801.07049 -20932617.47448  20462108.6174   20462111.3164
+      -779.7134       -607.5694
+  23641137.2284   -1039766.35549   -788461.94546  23641137.0094   23641143.0314
+     -2638.5164      -2055.9884
+  20944422.7214  -24432103.96849 -19011282.36248  20944423.0374   20944429.9174
+       934.8894        728.4854
+  22985730.0994   -6556854.49149  -5096156.61446  22985730.4924   22985735.8964
+     -1412.5374      -1100.6694
+  23739271.9364   -5233141.59749  -4063220.44145  23739272.0734   23739279.3764
+      3607.2204       2810.8144
+  23669431.8464   -6291815.41849  -4449217.38046  23669430.9894   23669440.1104
+     -2327.9814      -1814.0084
+ 05  1 20 22 34  0.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23482943.8244   -8075311.20749  -6039147.65146  23482943.8844   23482950.5734
+      3068.3884       2390.9504
+  20095363.3204  -16686481.92349 -12990378.78348  20095362.5604   20095368.4984
+       407.8124        317.7724
+  22889061.2744  -11024300.69749  -8572464.10146  22889061.6884   22889066.8744
+     -2370.3104      -1846.9894
+  20466587.8404  -26857265.02349 -20914277.68448  20466587.5194   20466590.2054
+      -789.3674       -615.0944
+  23656219.8374    -960513.77149   -726706.70246  23656218.1244   23656224.4014
+     -2644.9984      -2061.0224
+  20939103.5204  -24460060.43549 -19033066.61548  20939103.3064   20939109.6964
+       928.8714        723.7944
+  22993838.5914   -6514246.10249  -5062955.29646  22993838.2234   22993844.3004
+     -1427.9834      -1112.7044
+  23718686.4524   -5341318.03949  -4147513.68646  23718686.8454   23718693.0794
+      3604.6384       2808.8054
+  23682727.8404   -6221934.88149  -4394765.03146  23682729.4114   23682736.6384
+     -2330.7354      -1816.1574
+ 05  1 20 22 34 30.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23465445.4734   -8167266.58449  -6110801.13946  23465444.9994   23465452.2454
+      3061.6904       2385.7334
+  20093082.9184  -16698465.09549 -12999716.31348  20093082.3214   20093088.2324
+       391.0744        304.7354
+  22902603.5964  -10953136.33849  -8517011.36446  22902603.9804   22902609.7054
+     -2373.9694      -1849.8504
+  20471121.2034  -26833438.82749 -20895711.80948  20471120.8184   20471124.2954
+      -799.0444       -622.6314
+  23671335.9374    -881068.36449   -664801.24146  23671335.3544   23671343.3334
+     -2651.3794      -2066.0174
+  20933819.0214  -24487834.77149 -19054708.94048  20933818.2524   20933824.3184
+       922.7304        719.0124
+  23002034.7704   -6471175.43949  -5029393.75146  23002034.9594   23002040.3914
+     -1443.3514      -1124.6944
+  23698117.0824   -5449415.70249  -4231745.51646  23698116.4774   23698123.5384
+      3601.9904       2806.7424
+  23696044.2514   -6151970.95649  -4340247.71746  23696043.8624   23696049.9684
+     -2333.5144      -1818.3224
+ 05  1 20 22 35  0.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23447987.2584   -8259020.12049  -6182297.35646  23447985.0424   23447991.8694
+      3054.9404       2380.4694
+  20090898.4924  -16709946.72249 -13008663.02048  20090897.3624   20090903.4334
+       374.3574        291.7054
+  22916166.2974  -10881862.69449  -8461473.46846  22916166.5164   22916172.9714
+     -2377.5634      -1852.6404
+  20475710.4894  -26809322.57949 -20876919.92048  20475710.2294   20475713.1054
+      -808.7164       -630.1714
+  23686488.8644    -801433.38849   -602748.03846  23686489.6984   23686495.9544
+     -2657.6244      -2070.8934
+  20928568.2884  -24515425.92849 -19076208.52948  20928567.4314   20928573.8034
+       916.6054        714.2364
+  23010317.4244   -6427644.74949  -4995473.73446  23010317.7724   23010324.0964
+     -1458.6544      -1136.6204
+  23677560.9474   -5557431.86349  -4315913.83746  23677561.3384   23677567.7054
+      3599.1604       2804.5394
+  23709374.5304   -6081923.66449  -4285665.41246  23709373.0094   23709380.6274
+     -2336.2894      -1820.4914
+ 05  1 20 22 35 30.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23430563.3494   -8350569.55749  -6253634.54046  23430563.2854   23430570.1084
+      3048.0834       2375.1274
+  20088808.6244  -16720927.59749 -13017219.54348  20088807.6354   20088813.7564
+       357.6934        278.7224
+  22929750.2254  -10810480.04549  -8405850.62846  22929750.2964   22929756.7784
+     -2381.2274      -1855.4954
+  20480355.0864  -26784916.34649 -20857902.07048  20480354.4364   20480357.5154
+      -818.3824       -637.6994
+  23701678.7994    -721611.95049   -540549.52846  23701678.7324   23701686.4854
+     -2663.7974      -2075.6884
+  20923352.6834  -24542833.92749 -19097565.40748  20923352.0214   20923358.2594
+       910.4454        709.4374
+  23018690.0444   -6383656.38849  -4961197.09846  23018689.7224   23018694.5924
+     -1473.8734      -1148.4694
+  23657022.5144   -5665363.31949  -4400016.18146  23657022.8684   23657029.0494
+      3596.2954       2802.3114
+  23722716.5924   -6011792.81049  -4231017.99846  23722717.2364   23722725.2724
+     -2339.1214      -1822.6994
+ 05  1 20 22 36  0.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23413182.4724   -8441912.49649  -6324810.80546  23413181.9844   23413188.6694
+      3041.1644       2369.7414
+  20086814.0474  -16731408.26449 -13025386.29048  20086813.5154   20086819.2824
+       341.0434        265.7474
+  22943353.9414  -10738988.50849  -8350142.95246  22943353.9394   22943360.1244
+     -2384.8224      -1858.2974
+  20485054.0804  -26760220.02949 -20838658.18148  20485053.8544   20485057.4204
+      -828.0534       -645.2384
+  23716904.3214    -641606.91049   -478207.94246  23716903.5894   23716910.6364
+     -2669.8694      -2080.4304
+  20918171.7524  -24570057.63249 -19118778.67948  20918171.4144   20918177.8124
+       904.3914        704.7214
+  23027145.2214   -6339212.65049  -4926565.61346  23027145.2884   23027152.7454
+     -1489.0174      -1160.2754
+  23636499.9994   -5773207.26949  -4484050.33546  23636499.9954   23636506.6974
+      3593.3074       2799.9794
+  23736080.7824   -5941578.52249  -4176305.61146  23736080.4504   23736085.8544
+     -2341.8504      -1824.8204
+ 05  1 20 22 36 30.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23395839.2314   -8533046.70249  -6395824.44246  23395839.5924   23395846.2634
+      3034.1214       2364.2604
+  20084914.8004  -16741389.70049 -13033164.02348  20084914.0774   20084919.6554
+       324.3984        252.7824
+  22956980.0564  -10667388.24149  -8294350.54046  22956980.4224   22956985.7304
+     -2388.4524      -1861.1304
+  20489809.4954  -26735233.70349 -20819188.30948  20489808.9304   20489812.0624
+      -837.7214       -652.7674
+  23732162.4014    -561421.45249   -415725.79046  23732161.5294   23732169.6704
+     -2675.7824      -2085.0294
+  20913026.6534  -24597097.07249 -19139848.36548  20913026.1644   20913032.4864
+       898.2024        699.9014
+  23035689.7974   -6294315.97849  -4891581.17746  23035689.3944   23035695.2684
+     -1504.0664      -1172.0074
+  23615994.3454   -5880960.56349  -4568013.84146  23615995.8704   23616002.9514
+      3590.2634       2797.6044
+  23749458.6354   -5871280.68349  -4121528.10146  23749458.0424   23749464.7054
+     -2344.6404      -1826.9844
+ 05  1 20 22 37  0.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23378537.6834   -8623969.68749  -6466673.48846  23378537.1694   23378544.4514
+      3027.0644       2358.7474
+  20083110.2734  -16750872.73749 -13040553.38948  20083109.4854   20083115.4124
+       307.8144        239.8574
+  22970625.6894  -10595679.39449  -8238473.51846  22970626.1264   22970632.0144
+     -2392.0754      -1863.9594
+  20494619.3864  -26709956.88349 -20799492.08048  20494618.8034   20494621.9154
+      -847.3854       -660.2974
+  23747456.2934    -481058.31249   -353105.20746  23747455.4124   23747462.2914
+     -2681.6704      -2089.6024
+  20907916.7084  -24623951.19849 -19160773.64748  20907915.8194   20907922.4174
+       892.0254        695.0834
+  23044318.0524   -6248968.51549  -4856245.49846  23044318.6194   23044324.2974
+     -1519.0304      -1183.6804
+  23595509.6394   -5988620.35149  -4651904.49146  23595508.2974   23595515.8114
+      3587.0844       2795.1394
+  23762849.1864   -5800899.55049  -4066685.69046  23762850.1294   23762858.1954
+     -2347.4324      -1829.1654
+ 05  1 20 22 37 30.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23361277.3434   -8714679.26549  -6537356.21946  23361275.5774   23361282.5504
+      3019.9084       2353.1734
+  20081400.6224  -16759857.91749 -13047554.82248  20081399.6254   20081405.5374
+       291.2214        226.9264
+  22984291.9824  -10523862.04449  -8182511.94946  22984292.5444   22984298.1264
+     -2395.6844      -1866.7674
+  20499484.2694  -26684389.94349 -20779569.77948  20499484.2144   20499487.2964
+      -857.0794       -667.8554
+  23762781.7204    -400520.63849   -290348.61446  23762781.9624   23762786.9474
+     -2687.4494      -2094.1234
+  20902841.9824  -24650619.67049 -19181554.26248  20902841.1174   20902847.5354
+       885.8514        690.2754
+  23053034.5794   -6203172.82849  -4820560.56646  23053035.1884   23053039.5364
+     -1533.9354      -1195.2634
+  23575039.8574   -6096183.64349  -4735719.94445  23575039.1314   23575047.1394
+      3583.8444       2792.5974
+  23776258.7154   -5730434.60949  -4011777.95546  23776260.2244   23776266.8004
+     -2350.2264      -1831.3464
+ 05  1 20 22 38  0.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23344056.5404   -8805172.78249  -6607870.60846  23344056.0414   23344062.3134
+      3012.6944       2347.5514
+  20079784.8774  -16768346.18749 -13054169.05248  20079784.2014   20079790.4374
+       274.6514        214.0154
+  22997979.1044  -10451936.58949  -8126466.14646  22997979.4944   22997984.4384
+     -2399.3034      -1869.5784
+  20504404.4064  -26658532.70549 -20759421.27748  20504404.4044   20504407.7524
+      -866.7694       -675.4024
+  23778140.0294    -319811.34549   -227458.27246  23778139.0184   23778147.6704
+     -2693.1534      -2098.5574
+  20897802.0014  -24677101.88749 -19202189.74448  20897801.5524   20897808.0784
+       879.5484        685.3634
+  23061834.2204   -6156931.27949  -4784528.19046  23061833.5744   23061839.0454
+     -1548.7864      -1206.8444
+  23554589.4824   -6203647.54149  -4819457.96445  23554589.4004   23554596.4014
+      3580.4384       2789.9584
+  23789684.2774   -5659886.12749  -3956805.11046  23789683.4894   23789690.8164
+     -2353.0274      -1833.5184
+ 05  1 20 22 38 30.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23326877.8304   -8895447.98949  -6678214.89546  23326877.5154   23326882.8984
+      3005.3654       2341.8414
+  20078264.0824  -16776338.49349 -13060396.81448  20078263.3904   20078269.4064
+       258.1454        201.1514
+  23011685.7254  -10379902.95149  -8070336.04746  23011686.2784   23011691.7404
+     -2402.8764      -1872.3644
+  20509380.7664  -26632385.21749 -20739046.60748  20509380.2254   20509383.3644
+      -876.4354       -682.9394
+  23793529.6684    -238933.64149   -164436.73046  23793530.0144   23793536.7114
+     -2698.7264      -2102.9064
+  20892798.1484  -24703397.31249 -19222679.67848  20892797.7014   20892804.0884
+       873.3394        680.5224
+  23070716.4254   -6110246.20549  -4748150.22046  23070717.6984   23070722.9514
+     -1563.5214      -1218.3274
+  23534157.7264   -6311008.98249  -4903116.14945  23534158.9044   23534166.1924
+      3576.9934       2787.2534
+  23803124.4654   -5589254.01949  -3901767.11546  23803125.0074   23803132.1574
+     -2355.8154      -1835.6924
+ 05  1 20 22 39  0.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23309739.3024   -8985502.63549  -6748387.30846  23309739.9384   23309746.2434
+      2997.9384       2336.0634
+  20076837.6014  -16783835.62949 -13066238.72848  20076836.3594   20076842.5694
+       241.6504        188.2954
+  23025415.4034  -10307761.40649  -8014121.84946  23025415.1924   23025420.3634
+     -2406.4784      -1875.1764
+  20514411.2024  -26605947.24549 -20718445.58948  20514411.0314   20514414.4534
+      -886.1254       -690.4874
+  23808952.3834    -157890.65549   -101286.36846  23808950.0364   23808959.5854
+     -2704.1564      -2107.1334
+  20887830.3584  -24729505.38449 -19243023.62548  20887829.6174   20887835.9344
+       867.1154        675.6744
+  23079683.4284   -6063120.13849  -4711428.61146  23079684.4274   23079690.4874
+     -1578.1614      -1229.7324
+  23513751.8744   -6418265.08349  -4986692.25545  23513749.9844   23513755.3344
+      3573.4364       2784.4884
+  23816581.4984   -5518538.28349  -3846663.98646  23816582.6824   23816589.3384
+     -2358.6134      -1837.8714
+ 05  1 20 22 39 30.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23292645.3414   -9075334.18949  -6818385.88646  23292645.8744   23292651.5064
+      2990.5304       2330.2784
+  20075504.2904  -16790838.40849 -13071695.42748  20075503.8744   20075510.3114
+       225.1944        175.4764
+  23039162.5564  -10235511.96849  -7957823.60646  23039163.4104   23039170.3834
+     -2410.0544      -1877.9614
+  20519498.2034  -26579218.65249 -20697618.10448  20519497.6714   20519500.7994
+      -895.8044       -698.0304
+  23824406.6594     -76685.47249    -38009.61946  23824405.5774   23824412.7774
+     -2709.5244      -2111.3224
+  20882897.0184  -24755425.99149 -19263221.48948  20882897.0184   20882903.0844
+       860.8454        670.7894
+  23088735.4564   -6015555.36549  -4674365.15846  23088735.9864   23088742.5064
+     -1592.7674      -1241.1104
+  23493360.3104   -6525412.74549  -5070183.85946  23493360.2794   23493365.9164
+      3569.7454       2781.6104
+  23830056.4464   -5447738.93949  -3791495.68246  23830054.9574   23830060.3064
+     -2361.3514      -1840.0094
+ 05  1 20 22 40  0.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23275593.0264   -9164940.38149  -6888208.83646  23275594.1374   23275600.1744
+      2982.9334       2324.3604
+  20074265.8754  -16797347.52049 -13076767.45048  20074265.2704   20074271.2704
+       208.7554        162.6674
+  23052932.0284  -10163154.95649  -7901441.51446  23052932.3204   23052938.6604
+     -2413.6724      -1880.7884
+  20524639.1564  -26552199.52549 -20676564.23048  20524638.8054   20524642.3344
+      -905.4834       -705.5694
+  23839887.9794       4679.11949     25391.33046  23839887.2854   23839895.0284
+     -2714.7994      -2115.4254
+  20878000.9464  -24781157.88049 -19283272.30148  20878000.3714   20878006.6084
+       854.5434        665.8784
+  23097871.2884   -5967554.47849  -4636961.86646  23097871.2324   23097876.0214
+     -1607.2334      -1252.3964
+  23472992.2154   -6632449.05049  -5153588.70646  23472991.6204   23472997.9024
+      3566.0594       2778.7404
+  23843543.9834   -5376855.73249  -3736261.99746  23843543.9884   23843551.4114
+     -2364.1604      -1842.2094
+ 05  1 20 22 40 30.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23258587.8844   -9254318.65349  -6957854.21946  23258586.9164   23258592.5284
+      2975.3164       2318.4284
+  20073121.1334  -16803364.00049 -13081455.60848  20073120.3234   20073126.5944
+       192.3644        149.8924
+  23066721.8394  -10090690.48049  -7844975.70246  23066722.0024   23066727.0834
+     -2417.2334      -1883.5604
+  20529836.4254  -26524889.70149 -20655283.84548  20529835.7574   20529839.0354
+      -915.1644       -713.1184
+  23855400.0734      86200.05249     88914.08146  23855399.9904   23855407.7414
+     -2719.9224      -2119.4094
+  20873140.5554  -24806700.83049 -19303175.88348  20873139.8134   20873145.9864
+       848.2654        660.9874
+  23107086.8664   -5919119.91249  -4599220.67946  23107087.5184   23107093.1584
+     -1621.6504      -1263.6144
+  23452644.7784   -6739371.00749  -5236904.46346  23452645.0114   23452650.9834
+      3562.1734       2775.7214
+  23857048.3564   -5305888.58849  -3680962.98046  23857047.9104   23857054.7324
+     -2366.9604      -1844.3744
+ 05  1 20 22 41  0.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23241622.0134   -9343466.80349  -7027320.26446  23241622.2104   23241627.8124
+      2967.5744       2312.3894
+  20072069.9784  -16808888.96849 -13085760.77048  20072069.1804   20072075.1134
+       175.9684        137.1184
+  23080531.1464  -10018118.66549  -7788426.24346  23080531.0444   23080538.0894
+     -2420.7994      -1886.3274
+  20535088.4714  -26497289.29049 -20633777.02548  20535087.9374   20535091.2754
+      -924.8774       -720.6844
+  23870944.5634     167874.17749    152556.25646  23870942.7344   23870949.4684
+     -2725.0474      -2123.4184
+  20868315.5974  -24832053.90649 -19322931.51248  20868315.0274   20868321.3744
+       841.8954        656.0224
+  23116384.9424   -5870254.12249  -4561143.44046  23116385.0964   23116391.5184
+     -1635.9694      -1274.7754
+  23432319.9914   -6846175.66249  -5320128.79146  23432320.1654   23432326.0824
+      3558.1564       2772.5884
+  23870567.8384   -5234837.81049  -3625598.74546  23870568.7624   23870575.3234
+     -2369.7514      -1846.5624
+ 05  1 20 22 41 30.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23224701.7714   -9432382.49249  -7096605.18346  23224701.8204   23224707.5204
+      2959.8004       2306.3284
+  20071112.0264  -16813923.17049 -13089683.51948  20071111.4234   20071117.1914
+       159.6494        124.4024
+  23094361.6844   -9945439.43949  -7731793.08346  23094362.2264   23094368.8934
+     -2424.3774      -1889.1264
+  20540395.4654  -26469398.26449 -20612043.75448  20540395.4364   20540398.8494
+      -934.5414       -728.2104
+  23886514.4294     249698.56949    216315.49646  23886513.1054   23886521.9034
+     -2729.9554      -2127.2354
+  20863527.7084  -24857216.66749 -19342538.85048  20863526.8304   20863533.1874
+       835.5464        651.0734
+  23125765.8534   -5820959.51449  -4522732.07346  23125766.8564   23125772.2784
+     -1650.2424      -1285.9034
+  23412018.7664   -6952860.06649  -5403259.43846  23412019.0934   23412025.3724
+      3554.1404       2769.4524
+  23884106.0784   -5163703.21149  -3570169.18146  23884105.2444   23884112.2814
+     -2372.5304      -1848.7344
+ 05  1 20 22 42  0.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23207825.7124   -9521063.04149  -7165706.86946  23207826.4084   23207832.0034
+      2951.9094       2300.1844
+  20070247.4094  -16818467.49349 -13093224.53648  20070246.5984   20070252.4174
+       143.3244        111.6804
+  23108213.5764   -9872653.26049  -7675076.57946  23108213.2774   23108217.4424
+     -2427.9464      -1891.9104
+  20545758.7324  -26441216.58049 -20590083.99348  20545758.3724   20545761.4064
+      -944.2484       -735.7784
+  23902112.2494     331670.24149    280189.47746  23902112.7034   23902120.0214
+     -2734.7874      -2131.0024
+  20858775.3144  -24882188.83049 -19361997.66648  20858774.4284   20858781.2514
+       829.1744        646.1074
+  23135227.1344   -5771238.73749  -4483988.61646  23135227.0224   23135234.0304
+     -1664.4124      -1296.9384
+  23391741.1944   -7059421.01249  -5486293.87246  23391740.9404   23391746.4174
+      3549.9504       2766.1844
+  23897656.9244   -5092484.55449  -3514674.15746  23897656.0724   23897665.3354
+     -2375.3914      -1850.9624
+ 05  1 20 22 42 30.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23190994.8464   -9609506.32649  -7234623.67446  23190995.4394   23191001.7824
+      2944.0164       2294.0514
+  20069475.1124  -16822523.20049 -13096384.81848  20069474.4644   20069480.6354
+       127.0864         99.0264
+  23122082.9634   -9799760.15049  -7618276.74446  23122083.4624   23122090.2574
+     -2431.5284      -1894.7024
+  20551176.8894  -26412744.09649 -20567897.63648  20551176.4094   20551179.4834
+      -953.9184       -743.3134
+  23917738.0614     413786.24749    344175.97046  23917738.0414   23917745.4464
+     -2739.5984      -2134.7404
+  20854059.5704  -24906969.25449 -19381307.07548  20854058.9724   20854065.3954
+       822.7834        641.1284
+  23144768.6274   -5721094.23649  -4444914.97646  23144770.4834   23144776.0034
+     -1678.4504      -1307.8804
+  23371489.3684   -7165855.68349  -5569229.93946  23371488.0244   23371493.7874
+      3545.7214       2762.8894
+  23911228.3854   -5021181.95149  -3459113.70446  23911227.1994   23911233.4254
+     -2378.1654      -1853.1164
+ 05  1 20 22 43  0.0000000  0  9G 6G10G 4G 2G 5G17G30G29G24
+  23174210.9914   -9697709.87249  -7303353.66946  23174210.3624   23174217.4974
+      2935.9464       2287.7614
+  20068796.2454  -16826091.08849 -13099164.98448  20068795.4554   20068801.6674
+       110.8014         86.3394
+  23135975.6514   -9726760.10549  -7561393.64846  23135975.9744   23135980.7004
+     -2435.0864      -1897.4744
+  20556650.5214  -26383980.63849 -20545484.55448  20556649.9504   20556653.0254
+      -963.6484       -750.8954
+  23933393.5184     496043.27649    408272.34846  23933392.7184   23933398.9614
+     -2744.2044      -2138.3344
+  20849380.7054  -24931557.92649 -19400467.06848  20849379.9164   20849386.5264
+       816.3814        636.1404
+  23154393.2054   -5670528.66649  -4405513.25246  23154392.2134   23154397.6504
+     -1692.5244      -1318.8524
+  23351259.2984   -7272161.08549  -5652065.26846  23351259.2754   23351264.3384
+      3541.3524       2759.5014
+  23924811.3304   -4949795.41549  -3403487.89346  23924810.7904   23924817.0814
+     -2380.9864      -1855.3134
+ 05  1 20 22 43 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  23157471.6024   -9785671.09249  -7371894.83846  23157472.4434   23157478.6744
+      2927.8434       2281.4394
+  20068210.1074  -16829171.93849 -13101565.64148  20068209.4274   20068215.6434
+        94.5844         73.7074
+  23149886.2314   -9653653.56949  -7504427.50746  23149886.9674   23149892.7654
+     -2438.6264      -1900.2224
+  20562178.8654  -26354926.30149 -20522844.80248  20562178.9564   20562182.0394
+      -973.3454       -758.4454
+  23949070.8724     578438.37549    472476.26846  23949070.2574   23949078.0744
+     -2748.7834      -2141.9014
+  20844737.9794  -24955953.88649 -19419476.89648  20844737.5614   20844744.0834
+       809.9704        631.1464
+  24532270.9214    -139406.48349    -83956.48843
+      4105.5184       3199.3104
+  23164093.1584   -5619544.45349  -4365785.31146  23164094.4794   23164101.2804
+     -1706.3814      -1329.6404
+  23331054.6124   -7378334.25349  -5734797.53646  23331054.0664   23331060.4784
+      3536.9444       2756.0634
+  23938409.4104   -4878324.88849  -3347796.57745  23938409.3604   23938415.7434
+     -2383.7444      -1857.4704
+ 05  1 20 22 44  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  23140781.0994   -9873387.90449  -7440245.54746  23140779.7424   23140787.0664
+      2919.6484       2275.0564
+  20067716.1054  -16831766.83549 -13103587.62748  20067715.5994   20067721.6034
+        78.4054         61.0934
+  23163819.3424   -9580440.54249  -7447378.39646  23163818.6544   23163824.5744
+     -2442.1494      -1902.9844
+  20567763.0374  -26325580.88849 -20499978.24048  20567762.9634   20567766.2764
+      -983.0384       -766.0024
+  23964776.1584     660968.69049    536785.55346  23964775.4094   23964782.9224
+     -2753.2334      -2145.3664
+  20840132.7404  -24980156.52449 -19438336.08248  20840132.0924   20840138.2084
+       803.4874        626.0934
+  24508824.9154    -262593.52849   -179946.61145
+      4106.9734       3200.0134
+  23173875.5974   -5568144.21349  -4325733.16746  23173875.6344   23173882.0524
+     -1720.1964      -1340.4054
+  23310876.0954   -7484372.12349  -5817424.38846  23310875.9194   23310881.7434
+      3532.3484       2752.4794
+  23952027.6774   -4806770.24149  -3292039.72545  23952027.3634   23952034.1784
+     -2386.5644      -1859.6684
+ 05  1 20 22 44 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  23124135.5974   -9960857.68649  -7508403.76946  23124134.5984   23124140.7644
+      2911.3944       2268.6154
+  20067314.9774  -16833876.77349 -13105231.72448  20067314.2554   20067320.2144
+        62.2734         48.5214
+  23177770.7534   -9507121.06449  -7390246.38346  23177770.6994   23177777.6434
+     -2445.7244      -1905.7614
+  20573403.0054  -26295944.77349 -20476885.16448  20573402.7744   20573405.5854
+      -992.7334       -773.5584
+  23980508.1424     743631.12849    601197.82446  23980506.5304   23980512.5004
+     -2757.6064      -2148.7874
+  20835564.1824  -25004165.17849 -19457044.10448  20835563.1704   20835569.6584
+       797.0534        621.0784
+  24485376.5824    -385822.68349   -275969.07945                  24485386.5224
+      4108.3054       3201.2674
+  23183735.6444   -5516330.56349  -4285358.90346  23183736.3894   23183741.6834
+     -1733.9494      -1351.1324
+  23290724.2174   -7590271.64449  -5899943.43946  23290723.9214   23290729.5724
+      3527.6914       2748.8534
+  23965660.8744   -4735131.57049  -3236217.40245  23965661.4024   23965667.6324
+     -2389.3864      -1861.8534
+ 05  1 20 22 45  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  23107537.8814  -10048078.16449  -7576367.72446  23107537.3074   23107544.2854
+      2903.0374       2262.0964
+  20067005.6594  -16835502.79549 -13106498.75048  20067004.7194   20067010.6384
+        46.1484         35.9554
+  23191745.6494   -9433695.33249  -7333031.53046  23191745.0804   23191748.8224
+     -2449.2464      -1908.5084
+  20579097.5874  -26266017.52149 -20453565.21948  20579097.7764   20579100.9164
+     -1002.4314       -781.1174
+  23996261.5584     826422.66349    665710.68546  23996260.5054   23996267.3774
+     -2761.8454      -2152.0764
+  20831032.1994  -25027979.36249 -19475600.59948  20831031.7214   20831038.0114
+       790.5194        615.9864
+  24461921.3764    -509090.80849   -372022.04345  24461920.8224   24461928.4434
+      4109.5764       3202.2654
+  23193672.9194   -5464106.03549  -4244664.46546  23193673.1524   23193680.2824
+     -1747.6234      -1361.7884
+  23270597.1284   -7696029.86849  -5982352.38246  23270597.5594   23270605.0814
+      3522.8964       2745.1104
+  23979304.5174   -4663409.01949  -3180329.71845  23979305.1374   23979315.7734
+     -2392.1354      -1864.0004
+ 05  1 20 22 45 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  23090988.5514  -10135046.75449  -7644135.40846  23090987.8854   23090995.2504
+      2894.6064       2255.5454
+  20066788.0474  -16836646.05949 -13107389.59748  20066787.1094   20066792.9264
+        30.0784         23.4334
+  23205736.3304   -9360163.54149  -7275734.00246  23205736.1074   23205742.7934
+     -2452.8154      -1911.2914
+  20584848.3194  -26235799.08649 -20430018.37948  20584847.9224   20584851.2624
+     -1012.1374       -788.6834
+  24012038.8754     909340.14649    730321.68546  24012039.2064   24012046.4474
+     -2765.9904      -2155.3194
+  20826538.1844  -25051598.22249 -19494004.88948  20826537.2524   20826543.5224
+       784.0034        610.9074
+  24438455.0704    -632394.97949   -468103.08745  24438454.9554   24438462.6704
+      4110.7714       3203.1944
+  23203688.5814   -5411473.22549  -4203651.90146  23203689.1494   23203695.3434
+     -1761.1914      -1372.3544
+  23250501.2204   -7801643.77149  -6064648.86946  23250500.7414   23250507.4164
+      3518.0744       2741.3514
+  23992971.4644   -4591601.93649  -3124376.17245  23992971.8614   23992979.1334
+     -2394.9864      -1866.2134
+ 05  1 20 22 46  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  23074485.9434  -10221761.17549  -7711705.03646  23074486.9404   23074493.1724
+      2886.0624       2248.8614
+  20066661.7204  -16837307.71849 -13107905.16548  20066661.1554   20066667.0774
+        14.0374         10.9374
+  23219748.1694   -9286525.74549  -7218353.91946  23219748.7774   23219755.1824
+     -2456.3174      -1914.0224
+  20590653.6054  -26205289.50349 -20406244.67248  20590653.4284   20590656.8574
+     -1021.8414       -796.2444
+  24027843.2214     992380.49349    795028.43246  24027841.4534   24027849.0684
+     -2770.0254      -2158.4654
+  20822080.1784  -25075021.46749 -19512256.75848  20822079.8144   20822086.0884
+       777.4864        605.8334
+  24414985.5804    -755732.17949   -564209.86345  24414985.7724   24414991.2004
+      4111.7874       3203.9854
+  23213781.1134   -5358434.75649  -4162323.23746  23213781.8874   23213787.9084
+     -1774.6554      -1382.8574
+  23230431.8974   -7907110.35149  -6146830.56446  23230430.8704   23230436.4954
+      3513.1254       2737.4844
+  24006655.0404   -4519710.71949  -3068357.07945  24006652.3494   24006659.4404
+     -2397.8304      -1868.4334
+ 05  1 20 22 46 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  23058035.3274  -10308219.06449  -7779074.76346  23058034.1154   23058040.6574
+      2877.5264       2242.2224
+  20066628.0454  -16837488.52049 -13108046.04448  20066626.7974   20066632.6034
+        -1.9774         -1.5444
+  23233783.1134   -9212782.08049  -7160891.33546  23233782.7404   23233787.1944
+     -2459.8534      -1916.7584
+  20596514.2604  -26174488.84549 -20382244.15248  20596514.5834   20596518.0684
+     -1031.5354       -803.7954
+  24043667.0324    1075540.94749    859828.72346  24043666.3854   24043674.2644
+     -2773.9964      -2161.5524
+  20817660.3844  -25098248.29749 -19530355.57348  20817659.9514   20817666.0864
+       770.9384        600.7274
+  24391509.5144    -879099.83349   -660340.41645  24391509.3354   24391515.8694
+      4112.6634       3204.6684
+  23223951.1864   -5304993.35849  -4120680.60146  23223950.4864   23223956.3754
+     -1788.0434      -1393.2764
+  23210389.1944   -8012426.81949  -6228895.28746  23210389.6104   23210395.5084
+      3508.0574       2733.5404
+  24020349.2504   -4447735.30849  -3012272.35545  24020351.0144   24020355.3294
+     -2400.5974      -1870.5994
+ 05  1 20 22 47  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  23041632.4864  -10394417.91649  -7846242.66446  23041631.4404   23041637.3494
+      2868.8454       2235.4604
+  20066684.7174  -16837189.66849 -13107813.16248  20066683.8214   20066689.7054
+       -17.9334        -13.9754
+  23247835.4654   -9138932.71349  -7103346.36346  23247834.9944   23247841.5534
+     -2463.3614      -1919.5114
+  20602431.9154  -26143397.02849 -20358016.75248  20602431.2784   20602434.5034
+     -1041.2634       -811.3774
+  24059514.8944    1158818.54249    924720.33946  24059513.9264   24059521.3844
+     -2777.8294      -2164.5444
+  20813278.1254  -25121277.71949 -19548300.56248  20813277.5634   20813283.9744
+       764.3324        595.5834
+  24368027.0164   -1002494.55349   -756491.93145  24368027.6454   24368034.8394
+      4113.5584       3205.3624
+  23234195.7564   -5251151.60049  -4078726.00946  23234196.9644   23234203.4894
+     -1801.3294      -1403.6284
+  23190377.6684   -8117589.81449  -6310840.41346  23190378.2154   23190383.5814
+      3502.8904       2729.5234
+  24034063.1104   -4375675.55649  -2956121.91945  24034061.5554   24034070.3414
+     -2403.4184      -1872.7974
+ 05  1 20 22 47 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  23025278.7804  -10480355.37149  -7913206.85846  23025277.2324   23025283.9434
+      2860.0824       2228.6324
+  20066832.4444  -16836412.11549 -13107207.26948  20066831.5644   20066837.6824
+       -33.8804        -26.4014
+  23261907.8294   -9064977.66249  -7045719.09746  23261908.8224   23261914.5754
+     -2466.8814      -1922.2484
+  20608403.8094  -26112013.80249 -20333562.28748  20608403.3814   20608406.6684
+     -1050.9574       -818.9334
+  24075383.2824    1242210.05849    989700.72246  24075381.5004   24075388.9634
+     -2781.5604      -2167.4544
+  20808933.4184  -25144109.29849 -19566091.38848  20808932.8884   20808938.9814
+       757.7314        590.4404
+  24344544.5194   -1125913.52149   -852662.43845  24344543.1484   24344549.2544
+      4114.3584       3205.9914
+  23244518.2634   -5196912.14849  -4036461.50046  23244518.7444   23244524.6954
+     -1814.5744      -1413.9704
+  23170395.7944   -8222596.57249  -6392663.82646  23170395.7704   23170402.0044
+      3497.6524       2725.4444
+  24047789.7744   -4303531.44349  -2899905.71045  24047791.6854   24047797.8314
+     -2406.2174      -1874.9734
+ 05  1 20 22 48  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  23008975.2824  -10566028.99249  -7979965.47247  23008974.8004   23008981.1504
+      2851.2304       2221.7354
+  20067071.1384  -16835157.44249 -13106229.59548  20067070.4154   20067076.3514
+       -49.7474        -38.7664
+  23276002.7514   -8990917.30849  -6988009.74646  23276002.4124   23276007.3754
+     -2470.4074      -1924.9784
+  20614430.6024  -26080339.36449 -20308880.89948  20614430.9374   20614433.9614
+     -1060.6984       -826.5244
+  24091273.0694    1325712.55649   1054767.55846  24091272.7644   24091279.3764
+     -2785.2594      -2170.3334
+  20804626.1724  -25166742.67149 -19583727.76948  20804625.8364   20804632.0754
+       751.1034        585.2754
+  24321052.8154   -1249353.78449   -948849.48245  24321051.6184   24321058.5914
+      4114.9744       3206.4714
+  23254914.1684   -5142277.58949  -3993889.14546  23254916.2664   23254921.7674
+     -1827.6864      -1424.1674
+  23150443.5274   -8327444.25049  -6474363.24746  23150444.3404   23150449.9704
+      3492.2734       2721.2454
+  24061535.9434   -4231302.94049  -2843623.78345  24061533.9944   24061540.9174
+     -2409.0384      -1877.1714
+ 05  1 20 22 48 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22992722.8114  -10651436.39949  -8046516.65146  22992722.1654   22992727.9764
+      2842.3284       2214.8054
+  20067400.2464  -16833426.56749 -13104880.85548  20067399.7134   20067405.7644
+       -65.5814        -51.1034
+  23290114.8654   -8916751.69049  -6930218.35546  23290115.1784   23290120.6914
+     -2473.9104      -1927.7144
+  20620514.1034  -26048373.61949 -20283972.51948  20620513.6784   20620517.0074
+     -1070.4284       -834.1044
+  24107185.6184    1409323.10049   1119918.60346  24107183.9774   24107190.2944
+     -2788.7684      -2173.0684
+  20800357.1224  -25189176.86249 -19601208.94748  20800356.7584   20800363.0844
+       744.4594        580.0964
+  24297559.4554   -1372812.40149  -1045050.82945  24297557.8094   24297566.6694
+      4115.5354       3206.9054
+  23265387.0384   -5087250.75849  -3951011.10546  23265387.7574   23265393.0954
+     -1840.7084      -1434.3204
+  23130524.9954   -8432129.47649  -6555936.10046  23130523.5124   23130529.5484
+      3486.7964       2716.9774
+  24075294.7394   -4158989.96749  -2787275.99745  24075295.8164   24075302.0834
+     -2411.8374      -1879.3504
+ 05  1 20 22 49  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22976520.9414  -10736575.01649  -8112858.37047  22976521.1964   22976527.4614
+      2833.3104       2207.7714
+  20067820.1514  -16831220.46549 -13103161.80448  20067819.3684   20067825.3734
+       -81.4304        -63.4614
+  23304249.2794   -8842480.90749  -6872345.02446  23304248.5314   23304255.1304
+     -2477.3904      -1930.4454
+  20626652.2154  -26016116.57449 -20258837.15548  20626651.8184   20626655.5964
+     -1080.1104       -841.6434
+  24123113.6364    1493038.62649   1185151.46846  24123113.6194   24123120.9034
+     -2792.2464      -2175.7704
+  20796125.9924  -25211411.35149 -19618534.51248  20796125.4474   20796132.1714
+       737.7924        574.9024
+  24274057.2974   -1496286.37249  -1141264.18645  24274059.5584   24274069.2114
+      4115.9954       3207.2634
+  23275932.3894   -5031834.24849  -3907829.42046  23275932.3374   23275937.9414
+     -1853.6314      -1444.3924
+  23110634.6814   -8536649.54949  -6637380.25346  23110634.0954   23110639.2904
+      3481.2314       2712.6484
+  24089073.8434   -4086592.63149  -2730862.51445  24089073.5304   24089078.9624
+     -2414.6394      -1881.5394
+ 05  1 20 22 49 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22960371.1794  -10821442.66849  -8178988.96447  22960371.3784   22960377.1774
+      2824.2664       2200.7314
+  20068330.3624  -16828540.25149 -13101073.31848  20068329.5204   20068335.2544
+       -97.2494        -75.7804
+  23318400.3524   -8768104.97349  -6814389.75046  23318401.7454   23318407.7264
+     -2480.8744      -1933.1484
+  20632845.3374  -25983568.11549 -20233474.70548  20632845.5694   20632849.0944
+     -1089.7994       -849.1904
+  24139064.4044    1576856.13049   1250463.75546  24139063.3024   24139070.7334
+     -2795.5764      -2178.3604
+  20791933.3524  -25233445.43049 -19635703.90648  20791932.5464   20791939.0274
+       731.0594        569.6574
+  24250563.3074   -1619772.68449  -1237487.16245  24250563.2474   24250570.0484
+      4116.3884       3207.5734
+  23286550.7864   -4976030.74249  -3864346.16046  23286550.1934   23286557.6714
+     -1866.5004      -1454.4134
+  23090776.5284   -8641001.13449  -6718693.13646  23090776.4294   23090782.4234
+      3475.5934       2708.2544
+  24102866.7284   -4014110.72149  -2674383.10046  24102865.9824   24102872.5434
+     -2417.4644      -1883.7404
+ 05  1 20 22 50  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22944274.2774  -10906036.73149  -8244906.37347  22944273.8994   22944279.6554
+      2815.0814       2193.5754
+  20068930.2944  -16825387.18649 -13098616.37548  20068929.3554   20068935.4694
+      -112.9664        -88.0274
+  23332576.4814   -8693624.20749  -6756352.81546  23332574.8074   23332579.9314
+     -2484.4204      -1935.9164
+  20639096.0594  -25950728.02449 -20207885.01448  20639095.0714   20639098.5034
+     -1099.5244       -856.7714
+  24155032.3454    1660772.57649   1315853.15746  24155031.8074   24155039.9534
+     -2798.8344      -2180.9094
+  20787778.4574  -25255278.31649 -19652716.53748  20787777.9344   20787784.3364
+       724.3564        564.4334
+  24227061.1014   -1743268.34149  -1333717.44445  24227061.9494   24227070.0444
+      4116.6244       3207.7544
+  23297243.5414   -4919842.91249  -3820563.45646  23297243.0974   23297248.8214
+     -1879.2984      -1464.3924
+  23070949.4544   -8745181.51649  -6799872.61346  23070949.7874   23070957.2174
+      3469.8384       2703.7614
+  24116672.3554   -3941544.44849  -2617837.96046  24116672.9374   24116681.7844
+     -2420.2844      -1885.9184
+ 05  1 20 22 50 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22928228.1064  -10990354.87649  -8310608.78446  22928227.9474   22928234.5474
+      2805.8274       2186.3554
+  20069620.2974  -16821762.34949 -13095791.81948  20069619.4244   20069625.2324
+      -128.6704       -100.2604
+  23346767.9864   -8619038.86249  -6698234.35846  23346768.5164   23346773.3234
+     -2487.8804      -1938.6124
+  20645399.8264  -25917596.54449 -20182068.27248  20645399.7214   20645403.1424
+     -1109.2584       -864.3534
+  24171020.1454    1744784.93449   1381317.30246  24171018.7434   24171026.5964
+     -2801.9994      -2183.3724
+  20783662.0444  -25276909.38249 -19669571.90048  20783661.5504   20783668.1134
+       717.6254        559.1904
+  24203559.1004   -1866770.29949  -1429952.59745  24203560.2824   24203569.1184
+      4116.8224       3207.9084
+  23308007.6304   -4863273.71149  -3776483.57246  23308007.4454   23308014.0734
+     -1891.9444      -1474.2384
+  23051159.2164   -8849187.47749  -6880916.17946  23051159.1454   23051165.3424
+      3463.9844       2699.2124
+  24130496.9924   -3868893.75549  -2561227.09045  24130497.1414   24130505.6824
+     -2423.1274      -1888.1524
+ 05  1 20 22 51  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22912236.1254  -11074394.85049  -8376094.43347  22912236.0704   22912242.4684
+      2796.5414       2179.1384
+  20070399.1974  -16817667.02949 -13092600.64948  20070398.6194   20070404.5514
+      -144.3534       -112.4854
+  23360979.8794   -8544348.75049  -6640034.28146  23360980.3214   23360987.7264
+     -2491.3894      -1941.3424
+  20651759.6004  -25884173.60149 -20156024.40748  20651759.7674   20651763.3194
+     -1118.9734       -871.9274
+  24187025.2354    1828890.34849   1446853.97346  24187024.2164   24187031.7754
+     -2805.0574      -2185.7584
+  20779584.2954  -25298338.05249 -19686269.55248  20779583.6964   20779590.3564
+       710.8904        553.9414
+  24180058.2494   -1990275.48949  -1526190.28645  24180058.5154   24180065.4704
+      4116.8244       3207.9124
+  23318843.6684   -4806325.57849  -3732108.42446  23318844.5804   23318851.6084
+     -1904.5374      -1484.0644
+  23031401.4394   -8953016.27649  -6961821.69746  23031401.8174   23031407.8174
+      3457.9844       2694.5264
+  24144342.5484   -3796158.42849  -2504550.22046  24144341.6954   24144346.5524
+     -2425.9194      -1890.3234
+ 05  1 20 22 51 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22896297.2844  -11158153.86749  -8441361.14347  22896297.3504   22896303.7564
+      2787.0714       2171.7364
+  20071267.9744  -16813102.48449 -13089043.85048  20071267.1764   20071273.0884
+      -159.9594       -124.6464
+  23375213.9594   -8469554.12049  -6581752.77446  23375214.3314   23375219.6054
+     -2494.8504      -1944.0454
+  20658175.6724  -25850458.96949 -20129753.25448  20658175.6484   20658178.6974
+     -1128.6964       -879.5084
+  24203045.8394    1913085.84649   1512460.82145  24203044.9564   24203053.3844
+     -2808.0024      -2188.0574
+  20775544.8304  -25319563.55749 -19702808.88548  20775544.5024   20775551.3864
+       704.0694        548.6234
+  24156557.5554   -2113781.08849  -1622428.31145  24156556.7094   24156563.0224
+      4116.8384       3207.9234
+  23329753.9254   -4749001.42349  -3687440.24846  23329754.2414   23329760.1384
+     -1917.0024      -1493.7614
+  23011677.0544   -9056664.69649  -7042586.63946  23011677.1314   23011683.8784
+      3451.9234       2689.7924
+  24158197.3764   -3723338.43049  -2447807.36346  24158197.3904   24158203.6524
+     -2428.7544      -1892.5374
+ 05  1 20 22 52  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22880412.7224  -11241629.80349  -8506407.29347  22880411.9414   22880418.3254
+      2777.6204       2164.3774
+  20072225.7964  -16808069.93149 -13085122.37048  20072224.8684   20072230.7744
+      -175.5504       -136.7954
+  23389466.9234   -8394655.16649  -6523389.95646  23389465.9504   23389472.7564
+     -2498.3464      -1946.7654
+  20664646.8354  -25816452.70249 -20103254.85948  20664646.8864   20664650.4704
+     -1138.4064       -887.0714
+  24219085.6884    1997368.45149   1578135.54746  24219084.0404   24219091.7364
+     -2810.8344      -2190.2604
+  20771545.0654  -25340585.16649 -19719189.34848  20771544.5184   20771551.0144
+       697.2774        543.3294
+  24133054.9964   -2237283.76849  -1718664.02945  24133055.1454   24133060.0804
+      4116.6564       3207.7764
+  23340731.6324   -4691304.06749  -3642481.28446  23340732.8544   23340738.7684
+     -1929.4004      -1503.4244
+  22991988.3884   -9160129.89249  -7123208.83946  22991988.6674   22991994.5134
+      3445.7644       2685.0084
+  24172069.2674   -3650433.71049  -2390998.53345  24172069.2564   24172079.0024
+     -2431.5894      -1894.7404
+ 05  1 20 22 52 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22864581.8174  -11324820.01149  -8571230.80347  22864581.6124   22864587.7794
+      2768.1054       2156.9694
+  20073272.2864  -16802570.40449 -13080837.01948  20073271.3484   20073277.3534
+      -191.0924       -148.8994
+  23403738.6644   -8319651.86349  -6464945.84346  23403739.2344   23403744.4434
+     -2501.8244      -1949.4904
+  20671173.5024  -25782154.94549 -20076529.32448  20671173.1074   20671176.8534
+     -1148.1254       -894.6394
+  24235140.1804    2081735.00649   1643875.65846  24235139.8534   24235146.9084
+     -2813.6154      -2192.4274
+  20767583.9414  -25361402.21749 -19735410.41348  20767583.1764   20767589.8184
+       690.4274        537.9994
+  24109556.8194   -2360780.47849  -1814895.12045  24109555.8224   24109558.9484
+      4116.4254       3207.6014
+  23351783.3964   -4633236.09149  -3597233.52546  23351783.1154   23351788.3044
+     -1941.7504      -1513.0404
+  22972335.1934   -9263408.78549  -7203685.85746  22972335.5514   22972341.5924
+      3439.4964       2680.1254
+  24185961.1534   -3577444.43649  -2334123.78546  24185960.1614   24185968.1634
+     -2434.3704      -1896.9234
+ 05  1 20 22 53  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22848804.0834  -11407722.31749  -8635829.97647  22848804.9924   22848811.3064
+      2758.4444       2149.4434
+  20074406.9894  -16796605.28549 -13076188.86148  20074406.2974   20074412.5084
+      -206.5934       -160.9774
+  23418031.7754   -8244544.37249  -6406420.55046  23418032.3334   23418038.5454
+     -2505.3114      -1952.1924
+  20677756.3484  -25747565.46949 -20049576.47948  20677755.5634   20677758.7194
+     -1157.8624       -902.2264
+  24251209.9564    2166182.75149   1709679.05646  24251208.7614   24251215.8064
+     -2816.2534      -2194.4804
+  20763661.7474  -25382013.57849 -19751471.20248  20763661.2164   20763667.6584
+       683.5874        532.6644
+  24086056.9074   -2484268.48449  -1911119.44545  24086055.7374   24086060.0964
+      4116.0724       3207.3264
+  23362901.8794   -4574800.35249  -3551699.18246  23362902.3314   23362909.1454
+     -1953.9124      -1522.5374
+  22952718.4644   -9366498.45049  -7284015.41146  22952718.0524   22952724.2004
+      3433.1434       2675.1774
+  24199867.7924   -3504370.46249  -2277183.04146  24199866.4554   24199872.1954
+     -2437.2164      -1899.1224
+ 05  1 20 22 53 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22833083.8644  -11490334.11549  -8700202.76647  22833084.9524   22833091.1094
+      2748.7104       2141.8584
+  20075630.5754  -16790175.74449 -13071178.82148  20075629.8424   20075635.8124
+      -222.0394       -173.0184
+  23432344.6504   -8169332.97249  -6347814.27946  23432344.6424   23432349.9504
+     -2508.7354      -1954.8564
+  20684393.3014  -25712684.15949 -20022396.23648  20684393.0454   20684396.3764
+     -1167.5794       -909.7994
+  24267295.1774    2250708.68849   1775543.39945  24267292.6444   24267300.7414
+     -2818.7834      -2196.4504
+  20759778.6424  -25402419.30849 -19767371.75648  20759778.0134   20759784.1194
+       676.7394        527.3264
+  24062557.0464   -2607744.46249  -2007334.37545  24062557.7524   24062564.0754
+      4115.6324       3206.9824
+  23374090.9794   -4515999.72049  -3505880.52346  23374091.8304   23374098.9534
+     -1966.0364      -1531.9744
+  22933138.0444   -9469395.71749  -7364195.07046  22933137.5654   22933142.9404
+      3426.7124       2670.1674
+  24213785.8544   -3431211.69649  -2220176.18446  24213786.3074   24213795.9234
+     -2440.0624      -1901.3444
+ 05  1 20 22 54  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22817420.1904  -11572653.06649  -8764347.38247  22817419.9094   22817426.6574
+      2738.9134       2134.2204
+  20076942.1814  -16783283.18149 -13065807.98548  20076941.5844   20076947.4134
+      -237.4564       -185.0264
+  23446675.9664   -8094017.73449  -6289127.12446  23446675.8024   23446681.8714
+     -2512.1974      -1957.5534
+  20691086.4504  -25677511.20949 -19994988.73748  20691086.2934   20691089.9374
+     -1177.3074       -917.3784
+  24283392.6134    2335309.66449   1841466.22545  24283391.7204   24283400.7034
+     -2821.2424      -2198.3664
+  20755934.7274  -25422618.10149 -19783111.05648  20755934.4444   20755940.5184
+       669.7994        521.9254
+  24039064.6574   -2731205.33849  -2103537.55345  24039064.3454   24039069.7884
+      4115.0594       3206.5344
+  23385351.9084   -4456836.91549  -3459779.65046  23385351.7454   23385357.4794
+     -1978.1344      -1541.3924
+  22913594.2014   -9572097.66949  -7444222.53946  22913594.2304   22913598.5694
+      3420.1444       2665.0524
+  24227725.9674   -3357968.06749  -2163103.27845  24227725.7814   24227732.3744
+     -2442.8414      -1903.5104
+ 05  1 20 22 54 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22801810.0714  -11654676.67149  -8828261.84047  22801811.3404   22801818.0884
+      2729.0394       2126.5194
+  20078341.8354  -16775928.83549 -13060077.30848  20078341.0264   20078346.7884
+      -252.8244       -197.0054
+  23461028.1254   -8018598.82849  -6230359.13846  23461028.2504   23461033.4634
+     -2515.6204      -1960.2214
+  20697835.1574  -25642046.48849 -19967353.88048  20697835.1184   20697838.5384
+     -1187.0174       -924.9474
+  24299507.1254    2419982.73149   1907445.22046  24299506.2434   24299511.5914
+     -2823.6154      -2200.2324
+  20752130.7654  -25442609.62249 -19798688.84448  20752130.0514   20752136.2914
+       662.9424        516.5804
+  24015573.2454   -2854648.13049  -2199726.65345  24015573.9164   24015579.0514
+      4114.4234       3206.0404
+  23396676.1654   -4397314.75249  -3413398.74546  23396676.8864   23396683.3104
+     -1989.9984      -1550.6564
+  22894088.0804   -9674601.39949  -7524095.53446  22894088.4214   22894094.2814
+      3413.4884       2659.8584
+  24241680.4714   -3284639.68949  -2105964.27346  24241679.3894   24241686.2624
+     -2445.6934      -1905.7354
+ 05  1 20 22 55  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22786259.8344  -11736402.53749  -8891944.29947  22786259.1194   22786266.3214
+      2719.0624       2118.7494
+  20079829.0704  -16768113.95449 -13053987.77848  20079828.0504   20079834.0164
+      -268.1614       -208.9594
+  23475399.8554   -7943076.13849  -6171510.31546  23475399.9624   23475405.2334
+     -2519.1364      -1962.9654
+  20704639.3444  -25606290.11849 -19939491.76348  20704639.4244   20704642.6654
+     -1196.7624       -932.5434
+  24315631.7174    2504725.02949   1973478.16646  24315630.9354   24315639.0364
+     -2825.8454      -2201.9564
+  20748365.5924  -25462392.89749 -19814104.36448  20748365.2344   20748371.5484
+       655.9054        511.0914
+  23992087.8394   -2978069.76949  -2295899.26745  23992086.9644   23992093.7264
+      4113.6694       3205.4544
+  23408072.0784   -4337436.05549  -3366740.03746  23408072.5424   23408078.1144
+     -2001.9054      -1559.9394
+  22874621.3724   -9776903.73849  -7603811.60246  22874620.9304   22874626.7674
+      3406.7414       2654.6014
+  24255648.9734   -3211226.40149  -2048759.09045  24255648.5854   24255654.8944
+     -2448.5164      -1907.9464
+ 05  1 20 22 55 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22770765.0184  -11817828.24749  -8955392.86647  22770764.8634   22770771.3584
+      2709.0444       2110.9504
+  20081403.4214  -16759839.93049 -13047540.47848  20081402.6844   20081408.5004
+      -283.4234       -220.8474
+  23489790.4344   -7867449.99949  -6112580.87546  23489790.0304   23489795.8414
+     -2522.5544      -1965.6314
+  20711499.4584  -25570242.01749 -19911402.32748  20711498.9404   20711502.6654
+     -1206.4704       -940.1044
+  24331770.6474    2589533.71649   2039562.79045  24331769.4984   24331778.0494
+     -2828.0324      -2203.6494
+  20744641.0184  -25481967.05849 -19829356.94348  20744640.5434   20744646.7024
+       648.9694        505.6904
+  23968603.8044   -3101467.01149  -2392052.87445  23968603.7514   23968612.1794
+      4112.7864       3204.7684
+  23419532.1794   -4277203.67649  -3319805.75546  23419534.2244   23419539.4974
+     -2013.5674      -1569.0204
+  22855192.9394   -9879001.89249  -7683368.56046  22855191.3254   22855198.0434
+      3399.9064       2649.2744
+  24269634.4714   -3137728.22949  -1991487.80745  24269635.0534   24269642.7394
+     -2451.3384      -1910.1364
+ 05  1 20 22 56  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22755326.2924  -11898951.30449  -9018605.60947  22755327.4504   22755333.7654
+      2698.9184       2103.0444
+  20083064.6994  -16751107.90149 -13040736.28448  20083064.2694   20083070.2404
+      -298.7084       -232.7624
+  23504200.8204   -7791720.68149  -6053571.00146  23504201.1324   23504207.7844
+     -2526.0144      -1968.3324
+  20718414.3594  -25533902.11249 -19883085.51448  20718414.1124   20718417.6514
+     -1216.2174       -947.7054
+  24347920.5624    2674405.81449   2105696.84545  24347920.8924   24347928.1784
+     -2830.0874      -2205.2724
+  20740956.1794  -25501331.74349 -19844446.29648  20740955.5954   20740961.8454
+       641.9804        500.2414
+  23945127.9464   -3224836.95249  -2488185.23046  23945128.1684   23945135.3054
+      4111.8044       3204.0074
+  23431063.2864   -4216620.40949  -3272598.00246  23431062.2464   23431067.7904
+     -2025.2444      -1578.1154
+  22835802.9804   -9980892.71349  -7762763.96146  22835803.0864   22835807.9974
+      3392.8914       2643.8024
+  24283637.6014   -3064145.03849  -1934150.27945  24283638.1024   24283644.3704
+     -2454.2154      -1912.3804
+ 05  1 20 22 56 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22739947.3064  -11979769.42049  -9081580.72947  22739948.1944   22739954.5104
+      2688.7344       2095.1164
+  20084813.4534  -16741919.38849 -13033576.39448  20084812.9074   20084818.6424
+      -313.8964       -244.5934
+  23518631.8854   -7715888.03549  -5994480.64846  23518631.8694   23518637.0794
+     -2529.3924      -1970.9444
+  20725385.4544  -25497270.15249 -19854541.12448  20725385.3464   20725388.4744
+     -1225.9444       -955.2784
+  24364084.3284    2759338.18649   2171877.90745  24364083.3834   24364089.5734
+     -2832.0384      -2206.7834
+  20737311.3344  -25520486.17149 -19859371.80748  20737310.6264   20737316.7484
+       634.9914        494.8014
+  23921656.7164   -3348176.35449  -2584293.75246  23921657.1874   23921665.6084
+      4110.7664       3203.1904
+  23442655.6684   -4155689.07249  -3225119.03846  23442655.9224   23442663.6334
+     -2036.8154      -1587.1314
+  22816454.4254  -10082573.41149  -7841995.63246  22816454.1764   22816459.1594
+      3385.8474       2638.3264
+  24297658.5894   -2990476.88949  -1876746.53745  24297657.8174   24297663.4214
+     -2457.0844      -1914.6064
+ 05  1 20 22 57  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22724628.4694  -12060280.23449  -9144316.41247  22724627.9524   22724634.0764
+      2678.3674       2087.0334
+  20086648.3574  -16732275.60049 -13026061.74448  20086647.8894   20086653.8094
+      -329.0454       -256.3994
+  23533082.1194   -7639952.35249  -5935309.99046  23533082.4054   23533088.2084
+     -2532.8884      -1973.6854
+  20732411.7234  -25460346.40449 -19825769.36948  20732411.1684   20732414.6734
+     -1235.6944       -962.8804
+  24380258.5094    2844327.98349   2238103.71646  24380257.1964   24380264.0674
+     -2833.9074      -2208.2364
+  20733705.7844  -25539429.38049 -19874132.73348  20733705.4404   20733711.9764
+       627.8734        489.2504
+  23898193.1834   -3471481.92449  -2680375.99346  23898193.3174   23898198.7454
+      4109.5884       3202.2764
+  23454317.9474   -4094412.56649  -3177371.13046  23454316.6154   23454323.7854
+     -2048.2014      -1596.0034
+  22797145.1144  -10184040.82749  -7921061.12646  22797145.2614   22797151.1444
+      3378.6804       2632.7334
+  24311692.0324   -2916723.87249  -1819276.64745  24311691.3784   24311698.0324
+     -2459.9124      -1916.8084
+ 05  1 20 22 57 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22709365.9834  -12140481.21149  -9206810.65047  22709366.1164   22709371.8664
+      2668.0184       2078.9724
+  20088570.2764  -16722177.83049 -13018193.33848  20088569.3944   20088575.3904
+      -344.1384       -268.1604
+  23547553.0854   -7563913.78749  -5876059.16146  23547552.7374   23547558.5754
+     -2536.2864      -1976.3234
+  20739493.2554  -25423130.90349 -19796770.27148  20739492.9944   20739496.7304
+     -1245.3884       -970.4344
+  24396438.5214    2929372.24049   2304371.91845  24396438.1904   24396446.4784
+     -2835.7114      -2209.6504
+  20730141.5594  -25558160.62949 -19888728.49948  20730141.3384   20730147.6274
+       620.7994        483.7404
+  23874736.6484   -3594751.02549  -2776429.76746  23874736.1474   23874743.7874
+      4108.3174       3201.2884
+  23466042.4724   -4032793.78149  -3129356.50446  23466043.4674   23466048.7254
+     -2059.6214      -1604.8944
+  22777877.0914  -10285291.93249  -7999958.05046  22777877.3484   22777882.5274
+      3371.4144       2627.0664
+  24325742.1344   -2842885.91949  -1761740.58545  24325742.3454   24325749.6264
+     -2462.7004      -1918.9824
+ 05  1 20 22 58  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22694163.2624  -12220369.95549  -9269061.59247  22694163.4514   22694169.5814
+      2657.6164       2070.8684
+  20090577.4654  -16711627.48849 -13009972.28248  20090576.8774   20090583.0654
+      -359.2164       -279.9064
+  23562041.1704   -7487772.34049  -5816728.21546  23562041.0384   23562047.5184
+     -2539.7344      -1979.0094
+  20746631.0644  -25385623.37249 -19767543.61848  20746630.7504   20746634.3094
+     -1255.1254       -978.0174
+  24412634.3524    3014468.19149   2370680.42146  24412632.6934   24412640.4754
+     -2837.3854      -2210.9504
+  20726618.2174  -25576679.09449 -19903158.45748  20726617.5384   20726623.9074
+       613.6904        478.2004
+  23851285.2504   -3717980.09049  -2872452.31445  23851285.6244   23851293.1694
+      4106.9004       3200.1794
+  23477833.2944   -3970835.51949  -3081077.37446  23477835.1864   23477837.8684
+     -2070.8674      -1613.6614
+  22758650.9694  -10386323.74249  -8078684.10346  22758650.9494   22758657.2114
+      3364.0514       2621.3524
+  24339810.4444   -2768962.83849  -1704138.21745  24339809.3894   24339816.9924
+     -2465.5104      -1921.1764
+ 05  1 20 22 58 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22679022.0224  -12299943.99749  -9331067.29547  22679021.4704   22679027.1134
+      2647.0664       2062.6344
+  20092670.9364  -16700625.87649 -13001399.58948  20092670.3804   20092676.6264
+      -374.2204       -291.6044
+  23576549.6494   -7411528.27449  -5757317.28646  23576549.2064   23576554.8164
+     -2543.1244      -1981.6504
+  20753824.6514  -25347823.99849 -19738089.54048  20753823.7634   20753826.8394
+     -1264.8474       -985.5984
+  24428835.2314    3099612.52449   2437026.59345  24428835.7534   24428842.2154
+     -2838.9134      -2212.1354
+  20723134.4534  -25594984.30649 -19917422.24548  20723133.8334   20723140.2404
+       606.5834        472.6584
+  23827844.0664   -3841166.35149  -2968441.59945  23827845.0024   23827850.3784
+      4105.4534       3199.0624
+  23489687.8164   -3908540.73749  -3032536.01046  23489687.2104   23489694.1804
+     -2082.0594      -1622.3944
+  22739467.5824  -10487133.42549  -8157237.05046  22739467.8594   22739473.9284
+      3356.6454       2615.5714
+  24353893.4304   -2694954.89149  -1646469.64145  24353891.3494   24353898.6614
+     -2468.3284      -1923.3714
+ 05  1 20 22 59  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22663938.4674  -12379201.06249  -9392826.03247  22663939.6244   22663945.0724
+      2636.4704       2054.3954
+  20094850.4234  -16689174.58549 -12992476.49848  20094849.7604   20094855.7434
+      -389.2134       -303.2784
+  23591078.7404   -7335181.53249  -5697826.30746  23591079.4354   23591084.7564
+     -2546.5464      -1984.3214
+  20761072.1784  -25309732.46349 -19708407.82448  20761072.4204   20761076.0414
+     -1274.5794       -993.1734
+  24445046.6644    3184802.63649   2503408.46645  24445044.5874   24445053.2894
+     -2840.4104      -2213.3134
+  20719691.6624  -25613075.33049 -19931519.13548  20719691.2514   20719697.4834
+       599.4294        467.0874
+  23804410.6714   -3964306.50149  -3064394.86545  23804410.7204   23804418.6784
+      4103.8804       3197.8324
+  23501604.4414   -3845912.22249  -2983734.60846  23501604.7764   23501612.0504
+     -2093.1334      -1631.0204
+  22720327.5004  -10587717.85449  -8235614.50646  22720327.6414   22720333.6754
+      3349.0164       2609.6354
+  24367989.0964   -2620861.90549  -1588734.88545  24367990.7614   24367998.5634
+     -2471.1844      -1925.6054
+ 05  1 20 22 59 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22648918.7314  -12458138.64549  -9454335.79347  22648918.4834   22648923.8954
+      2625.7544       2046.0444
+  20097114.8744  -16677274.78349 -12983203.91848  20097114.1634   20097120.1554
+      -404.1484       -314.9214
+  23605625.8624   -7258732.28749  -5638255.52846  23605625.7964   23605632.0114
+     -2549.9844      -1986.9974
+  20768376.6454  -25271349.21749 -19678498.79848  20768376.5854   20768379.9654
+     -1284.3274      -1000.7774
+  24461265.1444    3270035.51449   2569823.68045  24461265.0354   24461272.7454
+     -2841.8034      -2214.3864
+  20716289.8604  -25630951.39549 -19945448.52248  20716289.5604   20716295.9514
+       592.2504        461.4954
+  23780988.6404   -4087397.21549  -3160309.64345  23780987.8434   23780995.9554
+      4102.1484       3196.4784
+  23513586.1284   -3782953.02549  -2934675.49146  23513586.2574   23513591.9894
+     -2104.1134      -1639.5624
+  22701230.8294  -10688074.17649  -8313814.19146  22701230.3594   22701236.2764
+      3341.3924       2603.6854
+  24382109.1584   -2546683.85449  -1530933.83045  24382108.4884   24382115.0504
+     -2474.0424      -1927.8254
+                            4  1
+RINEX FILE SPLICE; other post-header comments skipped       COMMENT
+ 05  1 20 23  0  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22633958.4444  -12536754.31549  -9515594.72047  22633958.3294   22633963.5364
+      2614.9874       2037.6384
+  20099464.2834  -16664928.06249 -12973583.07948  20099463.7234   20099469.5654
+      -419.0064       -326.4994
+  23620191.2254   -7182180.89849  -5578605.08646  23620192.3294   23620198.9324
+     -2553.3664      -1989.6434
+  20775736.4654  -25232674.14349 -19648362.36748  20775735.6964   20775739.4254
+     -1294.0524      -1008.3504
+  24477493.1294    3355308.13449   2636269.82445  24477493.0364   24477498.8714
+     -2843.0544      -2215.3714
+  20712929.0954  -25648611.75349 -19959209.83048  20712928.8334   20712935.3334
+       585.0584        455.8894
+  23757575.5334   -4210435.59849  -3256183.64346  23757575.6524   23757581.9514
+      4100.3794       3195.0994
+  23525629.4444   -3719665.85349  -2885360.83146  23525629.0764   23525635.8094
+     -2114.9764      -1648.0294
+  22682177.8214  -10788199.36949  -8391833.79646  22682176.9774   22682183.0674
+      3333.6444       2597.6374
+  24396241.4974   -2472420.69849  -1473066.45045  24396241.0414   24396246.0404
+     -2476.8214      -1930.0024
+ 05  1 20 23  0 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22619060.5684  -12615045.70349  -9576600.98347  22619060.3644   22619065.3844
+      2604.1574       2029.2184
+  20101899.1284  -16652135.65649 -12963614.96148  20101898.0714   20101904.0484
+      -433.8074       -338.0294
+  23634779.0114   -7105527.38049  -5518875.08246  23634778.5744   23634785.2084
+     -2556.7934      -1992.3044
+  20783150.8724  -25193707.02349 -19617998.37548  20783151.1464   20783154.3894
+     -1303.7644      -1015.9204
+  24493725.2494    3440617.68649   2702744.78345  24493725.6954   24493732.9614
+     -2844.2194      -2216.2634
+  20709609.9024  -25666055.59749 -19972802.42248  20709609.5274   20709615.6614
+       577.7924        450.2274
+  23734170.5114   -4333418.53749  -3352014.44645  23734171.7834   23734177.8724
+      4098.4854       3193.6214
+  23537734.1194   -3656053.73149  -2835792.94946  23537734.3124   23537741.1044
+     -2125.7804      -1656.4454
+  22663168.7874  -10888090.41649  -8469670.92646  22663168.3174   22663175.2684
+      3325.8144       2591.5484
+  24410384.7674   -2398072.44149  -1415132.68945  24410385.1634   24410396.3764
+     -2479.6714      -1932.2134
+ 05  1 20 23  1  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22604223.0174  -12693010.47649  -9637352.72047  22604223.0724   22604229.1804
+      2593.1894       2020.6684
+  20104417.8684  -16638899.04549 -12953300.70848  20104416.9104   20104422.8104
+      -448.5994       -349.5574
+  23649385.4394   -7028771.80149  -5459065.57246  23649385.6094   23649391.5514
+     -2560.1774      -1994.9334
+  20790622.7304  -25154447.99549 -19587406.92448  20790621.9564   20790625.0144
+     -1313.5114      -1023.5124
+  24509968.1884    3525961.28649   2769246.23545  24509967.0854   24509975.1004
+     -2845.3024      -2217.1184
+  20706331.5564  -25683282.04949 -19986225.61648  20706331.4654   20706337.7444
+       570.5644        444.5984
+  23710779.7854   -4456342.49149  -3447799.30245  23710779.0284   23710785.4664
+      4096.5214       3192.0914
+  23549902.0564   -3592119.47249  -2785974.07746  23549902.0294   23549907.0504
+     -2136.4904      -1664.7954
+  22644205.0494  -10987744.38749  -8547323.34546  22644204.6554   22644211.2964
+      3317.8534       2585.3464
+  24424551.9684   -2323639.05149  -1357132.67445  24424552.3134   24424558.3454
+     -2482.5644      -1934.4624
+ 05  1 20 23  1 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22589449.5564  -12770646.04449  -9697847.94747  22589449.9144   22589455.5764
+      2582.1924       2012.0904
+  20107020.8394  -16625219.72049 -12942641.48648  20107019.8184   20107025.7854
+      -463.3384       -361.0444
+  23664013.0294   -6951914.31249  -5399176.63646  23664012.0104   23664017.8604
+     -2563.5804      -1997.5974
+  20798148.1484  -25114897.18049 -19556588.10248  20798148.1784   20798151.2884
+     -1323.2234      -1031.0854
+  24526213.7464    3611335.82849   2835771.82446  24526214.1864   24526221.6114
+     -2846.2834      -2217.8824
+  20703095.6254  -25700290.45249 -19999478.90648  20703095.0794   20703101.1354
+       563.2604        438.9024
+  23687397.3814   -4579204.64349  -3543535.97845  23687398.8094   23687406.6354
+      4094.2794       3190.3364
+  23562128.6744   -3527866.21249  -2735906.61846  23562127.8994   23562134.4654
+     -2147.0304      -1673.0134
+  22625287.1574  -11087158.40349  -8624788.77646  22625287.2324   22625293.3924
+      3309.7924       2579.0594
+  24438735.3094   -2249120.38749  -1299066.21045  24438733.9714   24438740.0604
+     -2485.3704      -1936.6494
+ 05  1 20 23  2  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22574740.3124  -12847950.18649  -9758084.93147  22574739.6304   22574745.1544
+      2571.1174       2003.4594
+  20109707.4694  -16611099.05549 -12931638.36148  20109706.8764   20109712.9304
+      -478.0434       -372.5014
+  23678656.7384   -6874955.14349  -5339208.46246  23678656.8664   23678662.4134
+     -2566.9634      -2000.2294
+  20805730.7984  -25075054.35749 -19525541.74248  20805730.2404   20805733.1004
+     -1332.9794      -1038.6864
+  24542467.3334    3696738.59749   2902319.40245  24542464.0494   24542471.0294
+     -2847.2024      -2218.6064
+  20699900.8554  -25717079.99049 -20012561.65148  20699899.8384   20699906.1814
+       555.9284        433.1914
+  23664031.6394   -4702001.80549  -3639222.01345  23664031.7374   23664038.5004
+      4092.1174       3188.6604
+  23574415.0244   -3463296.65949  -2685592.70046  23574415.9994   23574421.8224
+     -2157.5564      -1681.1934
+  22606416.0544  -11186329.36349  -8702064.82246  22606415.7294   22606420.9714
+      3301.6324       2572.6984
+  24452928.4784   -2174516.39849  -1240933.24945  24452928.9174   24452934.2864
+     -2488.1944      -1938.8494
+ 05  1 20 23  2 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22560092.6314  -12924920.40249  -9818061.70447  22560092.3404   22560098.2714
+      2559.9344       1994.7574
+  20112478.7704  -16596538.40749 -12920292.39248  20112477.7384   20112483.5204
+      -492.6674       -383.8974
+  23693320.1104   -6797894.25449  -5279161.04046  23693319.9824   23693327.8794
+     -2570.3454      -2002.8674
+  20813367.9524  -25034919.50649 -19494267.82248  20813367.2904   20813370.8014
+     -1342.6974      -1046.2554
+  24558721.6894    3782166.72649   2968886.75945  24558720.0654   24558727.1074
+     -2847.9944      -2219.2234
+  20696747.0814  -25733649.80249 -20025473.18048  20696746.5884   20696753.0904
+       548.6254        427.4984
+  23640676.6224   -4824730.72949  -3734854.87645  23640677.3384   23640683.9704
+      4089.8024       3186.8544
+  23586762.4904   -3398413.82449  -2635034.68246  23586761.9624   23586767.2884
+     -2167.9294      -1689.3154
+  22587590.2984  -11285254.33849  -8779149.16046  22587590.1644   22587596.0014
+      3293.4004       2566.2814
+  24467140.1904   -2099827.29249  -1182733.93445  24467140.6194   24467147.8394
+     -2491.1614      -1941.1564
+ 05  1 20 23  3  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22545509.0864  -13001554.37749  -9877776.46047  22545508.5924   22545515.0644
+      2548.7244       1986.0214
+  20115332.9794  -16581539.42649 -12908604.86748  20115331.9724   20115337.7074
+      -507.2624       -395.2684
+  23708003.2314   -6720731.89249  -5219034.52946  23708003.9654   23708009.8534
+     -2573.7514      -2005.5154
+  20821060.5714  -24994492.67749 -19462766.38948  20821060.6524   20821064.0834
+     -1352.4524      -1053.8574
+  24574982.0054    3867617.40149   3035471.66345  24574981.9104   24574988.4384
+     -2848.6994      -2219.7594
+  20693635.3864  -25749999.42549 -20038213.13648  20693635.3324   20693641.8044
+       541.2344        421.7444
+  23617335.7824   -4947388.05749  -3830431.92746  23617336.5384   23617343.5914
+      4087.3724       3184.9654
+  23599167.7024   -3333220.73049  -2584234.88946  23599166.8354   23599173.9664
+     -2178.2374      -1697.3374
+  22568814.3434  -11383930.41549  -8856039.57346  22568813.7294   22568818.8874
+      3285.0424       2559.7724
+  24481370.7624   -2025052.95149  -1124468.24745  24481369.9894   24481378.5544
+     -2493.8254      -1943.2394
+ 05  1 20 23  3 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22530988.9554  -13077849.61449  -9937227.26947  22530989.4674   22530996.8654
+      2537.3534       1977.1644
+  20118269.9094  -16566103.62049 -12896576.95548  20118269.3594   20118275.1834
+      -521.7924       -406.5924
+  23722708.1134   -6643468.17149  -5158829.05746  23722707.6044   23722712.9364
+     -2577.0974      -2008.1204
+  20828808.9954  -24953773.82949 -19431037.41248  20828808.9724   20828812.5494
+     -1362.1714      -1061.4324
+  24591246.1214    3953087.79249   3102071.95345  24591245.0874   24591254.3484
+     -2849.3374      -2220.2624
+  20690566.6264  -25766127.67049 -20050780.59248  20690566.3364   20690572.6244
+       533.8684        416.0034
+  23594012.8084   -5069970.87349  -3925950.97246  23594011.2784   23594016.8494
+      4084.7694       3182.9324
+  23611632.1674   -3267720.32049  -2533195.66046  23611631.4244   23611637.4614
+     -2188.4454      -1705.2594
+  22550082.7174  -11482354.66949  -8932733.76946  22550082.5314   22550089.7464
+      3276.6094       2553.2064
+  24495618.4134   -1950193.39749  -1066136.11745  24495616.0554   24495624.9564
+     -2496.7974      -1945.5574
+ 05  1 20 23  4  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22516536.5374  -13153803.76349  -9996412.30347  22516536.2924   22516543.2044
+      2525.9604       1968.2784
+  20121290.0474  -16550232.10949 -12884209.53148  20121289.4624   20121295.5304
+      -536.2874       -417.8854
+  23737426.5024   -6566103.36449  -5098544.82246  23737427.4854   23737433.1294
+     -2580.4714      -2010.7484
+  20836613.5714  -24912763.18349 -19399081.05548  20836613.2334   20836616.6614
+     -1371.8744      -1068.9904
+  24607514.2184    4038574.78949   3168685.15346  24607514.0374   24607522.5454
+     -2849.8094      -2220.6254
+  20687540.2874  -25782033.84649 -20063175.00248  20687539.4024   20687545.7484
+       526.4614        410.2324
+  23570697.9104   -5192475.78749  -4021409.29846  23570698.0644   23570703.8904
+      4082.1914       3180.9254
+  23624152.8714   -3201915.46949  -2481919.15046  23624154.0984   23624160.1064
+     -2198.4724      -1713.0964
+  22531403.4214  -11580524.04149  -9009229.34846  22531402.0524   22531409.7244
+      3268.0884       2546.5634
+  24509878.4084   -1875248.53049  -1007737.53845  24509878.1664   24509883.9384
+     -2499.5644      -1947.7114
+ 05  1 20 23  4 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22502148.1394  -13229414.49949 -10055329.74347  22502148.2494   22502154.4974
+      2514.4414       1959.3044
+  20124393.0384  -16533926.83449 -12871504.11348  20124392.3284   20124398.6074
+      -550.7204       -429.1314
+  23752169.7084   -6488637.55449  -5038181.84746  23752170.6734   23752176.7854
+     -2583.7944      -2013.3434
+  20844472.5504  -24871460.64449 -19366897.25548  20844472.4774   20844475.9384
+     -1381.6084      -1076.5834
+  24623785.5914    4124075.53549   3235309.08345  24623783.8914   24623792.2454
+     -2850.2614      -2220.9854
+  20684555.4114  -25797717.02749 -20075395.65248  20684555.2844   20684561.3584
+       519.0344        404.4414
+  23547402.8244   -5314899.59249  -4116804.44246  23547401.4124   23547407.5684
+      4079.4114       3178.7624
+  23636733.4954   -3135809.04649  -2430407.67546  23636733.2954   23636740.6774
+     -2208.4854      -1720.8964
+  22512769.3034  -11678435.53549  -9085523.99446  22512770.1604   22512776.1754
+      3259.4444       2539.8294
+  24524154.3604   -1800218.60849   -949272.66245  24524155.8724   24524163.5224
+     -2502.3674      -1949.8944
+ 05  1 20 23  5  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22487825.9434  -13304679.34049 -10113977.64847  22487825.4314   22487832.4434
+      2502.9474       1950.3464
+  20127578.6574  -16517189.03349 -12858461.65748  20127577.3124   20127583.4584
+      -565.1104       -440.3454
+  23766931.2814   -6411070.59849  -4977740.09446  23766931.1854   23766937.5984
+     -2587.1724      -2015.9844
+  20852388.4934  -24829866.06449 -19334485.88248  20852387.9144   20852391.4054
+     -1391.3494      -1084.1674
+  24640057.9884    4209587.10949   3301941.44945  24640057.2544   24640064.3074
+     -2850.5624      -2221.2104
+  20681613.4614  -25813176.57149 -20087442.03948  20681613.1334   20681619.4394
+       511.5714        398.6294
+  23524120.8654   -5437239.18649  -4212133.92946  23524120.8224   23524128.3964
+      4076.5534       3176.5404
+  23649368.9224   -3069404.27749  -2378663.71046  23649370.0914   23649377.3794
+     -2218.4164      -1728.6284
+  22494187.3774  -11776086.39249  -9161615.54746  22494187.3664   22494194.6684
+      3250.6994       2533.0234
+  24538448.0574   -1725103.36949   -890741.31045  24538448.5424   24538454.8694
+     -2505.2764      -1952.1604
+ 05  1 20 23  5 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22473569.4274  -13379596.03049 -10172354.27047  22473569.6424   22473575.8524
+      2491.2274       1941.2094
+  20130845.1894  -16500020.46949 -12845083.55048  20130844.4344   20130850.4924
+      -579.4454       -451.5174
+  23781710.5564   -6333403.04549  -4917219.94146  23781710.6084   23781715.5614
+     -2590.5004      -2018.5704
+  20860358.7214  -24787979.77949 -19301847.21848  20860358.5284   20860361.8914
+     -1401.0684      -1091.7454
+  24656331.6564    4295106.74049   3368580.08445  24656329.9804   24656336.0234
+     -2850.7834      -2221.3954
+  20678714.6294  -25828411.49449 -20099313.39648  20678713.9544   20678720.4294
+       504.0494        392.7664
+  23500856.9224   -5559491.30149  -4307395.26546  23500857.3404   23500863.5244
+      4073.5624       3174.2104
+  23662065.7134   -3002703.93149  -2326689.41546  23662064.6794   23662069.4604
+     -2228.1774      -1736.2424
+  22475655.8144  -11873473.66149  -9237501.67946  22475655.0604   22475661.9974
+      3241.8724       2526.1314
+  24552757.3824   -1649902.81049   -832143.49145  24552758.7964   24552767.0984
+     -2508.0464      -1954.3184
+ 05  1 20 23  6  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22459379.9654  -13454162.03649 -10230457.62047  22459380.2264   22459386.5064
+      2479.5394       1932.1094
+  20134193.8994  -16482422.46449 -12831370.81048  20134193.1614   20134199.0654
+      -593.7294       -462.6474
+  23796507.5164   -6255634.86649  -4856621.37046  23796509.3584   23796514.9694
+     -2593.9734      -2021.2774
+  20868384.6704  -24745801.59549 -19268981.09248  20868384.8944   20868387.9634
+     -1410.8044      -1099.3304
+  24672603.5784    4380631.66549   3435222.84345  24672605.0154   24672612.3684
+     -2850.8894      -2221.4674
+  20675858.9174  -25843421.26349 -20111009.30748  20675858.0104   20675864.2624
+       496.4954        386.8794
+  23477611.4564   -5681652.58449  -4402585.81346  23477610.7794   23477616.8054
+      4070.5054       3171.8174
+  23674810.2824   -2935711.09349  -2274487.22946  23674810.5804   23674817.8224
+     -2237.9024      -1743.8334
+  22457174.4554  -11970594.22349  -9313180.01246  22457174.3254   22457179.9134
+      3232.9454       2519.1714
+  24567091.2224   -1574616.87349   -773479.16745  24567088.6614   24567094.3804
+     -2510.8944      -1956.5434
+ 05  1 20 23  6 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22445259.1234  -13528375.10449 -10288285.95747  22445258.2834   22445264.2314
+      2467.7274       1922.9014
+  20137624.6724  -16464396.55349 -12817324.63848  20137623.4624   20137629.5124
+      -607.9994       -473.7684
+  23811327.1084   -6177766.15349  -4795944.46446  23811327.0314   23811332.9484
+     -2597.2814      -2023.8584
+  20876466.7024  -24703331.46949 -19235887.49148  20876466.4614   20876469.6784
+     -1420.5704      -1106.9334
+  24688882.3664    4466159.05249   3501867.54045  24688881.9924   24688887.5824
+     -2850.9194      -2221.4974
+  20673044.8904  -25858204.55049 -20122528.73648  20673044.3754   20673051.0554
+       488.9564        381.0044
+  23454381.6564   -5803720.12549  -4497703.33046  23454382.2634   23454388.9184
+      4067.2934       3169.3174
+  23687614.3394   -2868428.64749  -2222059.34646  23687615.8444   23687621.2384
+     -2247.5344      -1751.3304
+  22438742.7194  -12067445.36349  -9388648.38447  22438743.6774   22438750.5284
+      3223.8534       2512.0894
+  24581421.7494   -1499245.70649   -714748.32945  24581425.4514   24581436.5404
+     -2513.8264      -1958.8324
+ 05  1 20 23  7  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22431202.7274  -13602232.90549 -10345837.46447  22431203.1594   22431209.4874
+      2455.8294       1913.6314
+  20141135.6504  -16445944.18249 -12802946.15948  20141134.8314   20141140.8554
+      -622.1674       -484.8034
+  23826164.2364   -6099796.96649  -4735189.27446  23826164.8794   23826170.8824
+     -2600.6524      -2026.4764
+  20884603.5544  -24660569.59549 -19202566.53148  20884603.3864   20884607.2014
+     -1430.2784      -1114.5034
+  24705155.9384    4551685.95249   3568511.84345  24705155.3054   24705163.5594
+     -2850.9094      -2221.4864
+  20670275.0384  -25872761.14149 -20133871.52348  20670274.5504   20670280.7824
+       481.4064        375.1244
+  23431170.1604   -5925690.41349  -4592745.03746  23431171.4224   23431178.2924
+      4064.0134       3166.7684
+  23700472.3804   -2800859.82049  -2169408.29646  23700472.8564   23700478.9534
+     -2257.0324      -1758.7364
+  22420367.0194  -12164024.01849  -9463904.44847  22420367.0114   22420371.7864
+      3214.7114       2504.9664
+  24595783.0994   -1423789.44049   -655951.19845  24595785.4394   24595792.7024
+     -2516.6744      -1961.0454
+ 05  1 20 23  7 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22417217.7344  -13675732.87049 -10403110.13147  22417216.9054   22417222.7444
+      2443.8994       1904.3314
+  20144727.5934  -16427066.98049 -12788236.64448  20144726.9014   20144732.9054
+      -636.3104       -495.8274
+  23841017.4064   -6021727.61449  -4674356.01846  23841018.9014   23841026.7774
+     -2603.9684      -2029.0514
+  20892796.7144  -24617515.91149 -19169018.20648  20892796.6744   20892799.6294
+     -1440.0144      -1122.0884
+  24721429.3354    4637209.63349   3635153.62945  24721430.2184   24721438.7714
+     -2850.6914      -2221.3184
+  20667548.2834  -25887089.76549 -20145036.67448  20667547.9294   20667553.9334
+       473.7654        369.1674
+  23407981.1244   -6047560.24149  -4687708.52346  23407980.8274   23407987.2414
+      4060.6434       3164.1334
+  23713386.0034   -2733007.42649  -2116536.32846  23713383.8984   23713390.1544
+     -2266.4324      -1766.0564
+  22402040.6874  -12260327.43749  -9538946.03947  22402040.3514   22402045.8484
+      3205.5024       2497.7914
+  24610168.5184   -1348247.81649   -597087.65045  24610165.2604   24610170.2854
+     -2519.5244      -1963.2594
+ 05  1 20 23  8  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22403299.8534  -13748872.84949 -10460102.29647  22403299.7544   22403304.9024
+      2431.7934       1894.9054
+  20148400.3224  -16407766.31049 -12773197.15648  20148399.7514   20148405.7414
+      -650.4114       -506.8114
+  23855896.6964   -5943558.24449  -4613444.84046  23855895.8324   23855903.2834
+     -2607.3004      -2031.6614
+  20901046.1884  -24574170.23249 -19135242.35148  20901045.5564   20901048.6264
+     -1449.7434      -1129.6704
+  24737705.6134    4722726.98249   3701790.47345  24737703.7544   24737713.1464
+     -2850.3994      -2221.0944
+  20664865.1024  -25901189.79349 -20156023.69948  20664864.8404   20664870.9474
+       466.1224        363.2144
+  23384808.5054   -6169326.53049  -4782591.29746  23384808.7804   23384815.5874
+      4057.0844       3161.3684
+  23726348.5914   -2664874.53249  -2063445.74746  23726349.0494   23726355.0194
+     -2275.7434      -1773.3034
+  22383767.3424  -12356352.61649  -9613770.81047  22383767.1544   22383772.8804
+      3196.1614       2490.5114
+  24624559.0834   -1272620.93049   -538157.67045  24624557.5604   24624562.3334
+     -2522.2774      -1965.4044
+ 05  1 20 23  8 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22389449.6604  -13821650.36449 -10516812.00447  22389449.9384   22389455.9124
+      2419.7244       1885.5044
+  20152153.6044  -16388043.80949 -12757828.96548  20152152.7804   20152158.5894
+      -664.4054       -517.7204
+  23870791.0584   -5865289.00149  -4552455.81845  23870789.1664   23870796.7884
+     -2610.6074      -2034.2264
+  20909349.2524  -24530532.92549 -19101239.24048  20909349.1254   20909352.0894
+     -1459.4354      -1137.2224
+  24753973.3384    4808235.44049   3768420.40245  24753974.2394   24753981.2264
+     -2850.0704      -2220.8414
+  20662226.2944  -25915060.15849 -20166831.76048  20662225.3994   20662231.6174
+       458.4924        357.2684
+  23361657.9654   -6290986.02849  -4877390.83946  23361658.3634   23361664.3474
+      4053.4654       3158.5364
+  23739368.4074   -2596464.10549  -2010138.98546  23739368.9834   23739374.0794
+     -2284.9234      -1780.4564
+  22365548.7164  -12452096.50049  -9688376.39047  22365548.0494   22365553.2384
+      3186.7914       2483.2104
+  24638954.3464   -1196909.20649   -479161.53445  24638959.8154   24638967.4934
+     -2525.0184      -1967.5464
+ 05  1 20 23  9  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22375670.6474  -13894063.11049 -10573237.48347  22375670.3634   22375675.9474
+      2407.5134       1875.9774
+  20155986.8864  -16367901.23349 -12742133.44248  20155985.8454   20155991.8574
+      -678.4104       -528.6324
+  23885703.8854   -5786919.87249  -4491388.97445  23885703.6844   23885709.1114
+     -2613.9634      -2036.8574
+  20917708.8404  -24486603.80749 -19067008.76148  20917708.5044   20917711.7474
+     -1469.1884      -1144.8224
+  24770247.9404    4893732.15049   3835041.19545  24770244.4784   24770251.4784
+     -2849.6334      -2220.4914
+  20659630.4194  -25928700.11749 -20177460.29048  20659629.7184   20659635.8224
+       450.7764        351.2534
+  23338529.0714   -6412535.22849  -4972104.46746  23338528.1884   23338535.0124
+      4049.7674       3155.6614
+  23752438.6234   -2527779.21349  -1956618.29846  23752439.1514   23752444.8654
+     -2294.0304      -1787.5514
+  22347381.8164  -12547556.16949  -9762760.49946  22347381.5234   22347387.3544
+      3177.2444       2475.7794
+  24653384.6524   -1121112.01849   -420098.75344  24653384.9864   24653391.8104
+     -2528.1334      -1969.9864
+ 05  1 20 23  9 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22361961.3734  -13966108.77249 -10629376.92247  22361960.5544   22361966.2324
+      2395.2484       1866.4314
+  20159899.2804  -16347339.90549 -12726111.61748  20159898.3694   20159904.2794
+      -692.3344       -539.4824
+  23900632.6584   -5708451.12149  -4430244.51745  23900634.1964   23900641.0294
+     -2617.3134      -2039.4644
+  20926123.7294  -24442383.32849 -19032551.23748  20926123.2574   20926126.3014
+     -1478.8694      -1152.3654
+  24786514.3744    4979214.25449   3901650.58145  24786512.9114   24786519.4734
+     -2849.1434      -2220.1094
+  20657078.5474  -25942108.98849 -20187908.74548  20657078.0174   20657084.3374
+       443.0864        345.2624
+  23315420.2774   -6533971.14749  -5066729.78746  23315420.0634   23315425.2324
+      4045.9534       3152.6904
+  23765560.9674   -2458822.82949  -1902886.03546  23765560.2744   23765567.3274
+     -2303.0354      -1794.5734
+  22329272.1004  -12642728.86449  -9836921.01847  22329271.6954   22329277.4414
+      3167.6594       2468.3044
+  24667831.7344   -1045229.50349   -360969.54644  24667825.2544   24667830.9284
+     -2530.7684      -1972.0284
+ 05  1 20 23 10  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22348319.3464  -14037785.02249 -10685228.49747  22348320.1124   22348326.0764
+      2382.8704       1856.7804
+  20163890.7144  -16326361.51649 -12709764.81348  20163890.4444   20163896.3884
+      -706.2234       -550.3044
+  23915585.7384   -5629883.01549  -4369022.67445  23915586.9354   23915591.0744
+     -2620.5624      -2042.0024
+  20934593.5374  -24397871.12549 -18997866.39348  20934593.4614   20934596.9634
+     -1488.6054      -1159.9504
+  24802779.2774    5064678.93249   3968246.42645  24802776.8494   24802783.7134
+     -2848.5254      -2219.6334
+  20654571.5764  -25955285.81849 -20198176.39348  20654570.5004   20654576.9374
+       435.3304        339.2164
+  23292333.1914   -6655290.28749  -5161264.14646  23292333.1124   23292339.3394
+      4041.9684       3149.5764
+  23778735.0564   -2389597.89149  -1848944.58246  23778734.9074   23778740.1794
+     -2311.9064      -1801.4894
+  22311216.2214  -12737611.73749  -9910855.68647  22311215.6844   22311221.3604
+      3157.9244       2460.7114
+  24682285.3674    -969261.77549   -301774.01344  24682285.7534   24682284.8374
+     -2533.7304      -1974.3374
+ 05  1 20 23 10 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22334752.5184  -14109089.34349 -10740790.28047  22334752.1284   22334758.4014
+      2370.4304       1847.0874
+  20167962.9094  -16304967.68149 -12693094.28448  20167961.6624   20167967.5064
+      -720.0524       -561.0814
+  23930555.8654   -5551215.39549  -4307723.23445  23930556.2254   23930562.1014
+     -2623.8204      -2044.5324
+  20943120.0744  -24353067.21149 -18962954.25348  20943119.9234   20943122.7714
+     -1498.3474      -1167.5384
+  24819036.8954    5150123.47449   4034826.50045  24819034.6584   24819041.8604
+     -2847.8094      -2219.0634
+  20652108.2014  -25968229.73549 -20208262.55148  20652107.3624   20652113.6504
+       427.5714        333.1704
+  23269269.2264   -6776489.54949  -5255705.07546  23269269.9404   23269275.1404
+      4037.9184       3146.4254
+  23791955.4194   -2320107.66649  -1794796.30946  23791955.6534   23791963.8264
+     -2320.7244      -1808.3634
+  22293215.1844  -12832201.89249  -9984562.24347  22293215.6614   22293222.0124
+      3148.1034       2453.0674
+  24696751.6004    -893209.15949   -242512.12645  24696752.5004   24696759.3084
+     -2536.5664      -1976.5504
+ 05  1 20 23 11  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22321253.9714  -14180019.58649 -10796060.57247  22321253.9474   22321260.0514
+      2357.9464       1837.3614
+  20172112.2254  -16283159.75549 -12676101.08648  20172111.6514   20172117.4404
+      -733.8234       -571.8104
+  23945546.3764   -5472448.55149  -4246346.48645  23945545.7224   23945550.1364
+     -2627.1884      -2047.1564
+  20951701.4884  -24307971.74249 -18927814.91348  20951700.9914   20951704.1254
+     -1508.0464      -1175.0984
+  24835291.1414    5235545.06849   4101388.74245  24835289.9994   24835296.8774
+     -2846.9554      -2218.4114
+  20649689.0774  -25980939.68749 -20218166.39948  20649688.7994   20649695.0264
+       419.7224        327.0584
+  23246228.3134   -6897565.73149  -5350050.10446  23246229.0804   23246235.5764
+      4033.7634       3143.1904
+  23805229.0074   -2250354.93049  -1740443.58746  23805230.2574   23805236.2114
+     -2329.4184      -1815.1334
+  22275272.7574  -12926496.25849 -10058038.33547  22275272.3054   22275278.0854
+      3138.2324       2445.3734
+  24711243.9714    -817071.19049   -183183.77245  24711241.9864   24711253.7254
+     -2539.1664      -1978.5694
+ 05  1 20 23 11 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22307828.3564  -14250573.38649 -10851037.52047  22307828.1264   22307834.2364
+      2345.3424       1827.5334
+  20176340.4834  -16260939.59849 -12658786.66848  20176339.9234   20176345.9114
+      -747.5194       -582.4854
+  23960550.1754   -5393582.77549  -4184892.65145  23960552.3294   23960557.1664
+     -2630.5864      -2049.8104
+  20960338.8644  -24262584.64549 -18892448.34548  20960338.2134   20960341.0934
+     -1517.7544      -1182.6664
+  24851541.8804    5320940.79349   4167930.80345  24851541.8204   24851548.5744
+     -2846.0914      -2217.7314
+  20647315.4894  -25993415.04449 -20227887.44548  20647314.9444   20647320.9064
+       411.8884        320.9504
+  23223212.3514   -7018515.33749  -5444296.49746  23223213.1534   23223220.2384
+      4029.4644       3139.8454
+  23818551.3574   -2180342.90549  -1685888.74146  23818552.0224   23818558.3784
+     -2337.9674      -1821.7944
+  22257385.0284  -13020491.97949 -10131281.73347  22257385.0844   22257390.8694
+      3128.2044       2437.5614
+  24725743.8624    -740848.03548   -123789.15744  24725746.2424   24725755.2474
+     -2542.3334      -1981.0404
+ 05  1 20 23 12  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22294473.8644  -14320748.41149 -10905719.32047  22294474.0974   22294480.6624
+      2332.7044       1817.6884
+  20180647.0764  -16238308.78349 -12641152.25948  20180646.4584   20180652.2344
+      -761.1724       -593.1224
+  23975578.4264   -5314618.20649  -4123361.86245  23975578.5674   23975584.8504
+     -2633.7214      -2052.2494
+  20969030.3934  -24216906.03349 -18856854.61748  20969030.5204   20969033.3684
+     -1527.4754      -1190.2414
+  24867786.7354    5406307.88849   4234450.64945  24867785.3964   24867793.0294
+     -2845.0124      -2216.8984
+  20644986.0054  -26005654.85649 -20237424.94848  20644985.5754   20644991.8824
+       404.0764        314.8634
+  23200223.6434   -7139335.40149  -5538441.93846  23200222.6824   23200228.4964
+      4025.1204       3136.4564
+  23831925.1734   -2110074.59749  -1631134.21846  23831925.1694   23831930.9214
+     -2346.4504      -1828.3974
+  22239555.7034  -13114186.40649 -10204290.33447  22239555.7204   22239561.1304
+      3118.1444       2429.7234
+  24740266.9694    -664539.78048    -64328.22844  24740267.3884   24740272.8354
+     -2545.0444      -1983.1504
+ 05  1 20 23 12 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22281192.7954  -14390542.38249 -10960104.20747  22281192.7544   22281199.2514
+      2319.9384       1807.7444
+  20185032.0554  -16215268.84649 -12623199.05448  20185030.9374   20185036.8514
+      -774.8224       -603.7594
+  23990625.1234   -5235554.82549  -4061754.01045  23990623.8154   23990629.5934
+     -2637.0204      -2054.8114
+  20977778.4454  -24170936.06649 -18821033.85648  20977777.9314   20977781.5064
+     -1537.2074      -1197.8234
+  24884025.6004    5491643.64149   4300946.01445  24884024.6254   24884032.5164
+     -2844.0004      -2216.0964
+  20642702.4124  -26017658.51649 -20246778.44048  20642701.3814   20642707.6184
+       396.1324        308.6754
+  23177257.3764   -7260022.23949  -5632483.58846  23177256.8404   23177262.1664
+      4020.6234       3132.9444
+  23845345.3414   -2039552.89149  -1576182.28046  23845343.9274   23845350.6434
+     -2354.8834      -1834.9844
+  22221786.0154  -13207576.57249 -10277061.85347  22221784.8164   22221790.0534
+      3107.9324       2421.7654
+  24754805.4824    -588146.39649     -4800.90744  24754803.8204   24754810.0844
+     -2547.6694      -1985.2034
+ 05  1 20 23 13  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22267985.8544  -14459952.74549 -11014190.17047  22267984.4434   22267990.5424
+      2307.1154       1797.7504
+  20189493.4344  -16191821.56849 -12604928.43748  20189492.8434   20189498.6584
+      -788.3384       -614.2874
+  24005689.8934   -5156393.04249  -4000069.51445  24005689.9714   24005693.8644
+     -2640.2944      -2057.3714
+  20986581.0244  -24124674.88949 -18784986.19248  20986581.3614   20986584.6384
+     -1546.9114      -1205.3784
+  24900254.8084    5576945.32949   4367414.80845  24900256.0474   24900262.8454
+     -2842.7784      -2215.1504
+  20640462.5534  -26029424.73249 -20255946.91048  20640462.4574   20640468.7314
+       388.2324        302.5244
+  23154316.3854   -7380572.90749  -5726419.13046  23154316.4984   23154322.1104
+      4016.0054       3129.3544
+  23858813.2754   -1968781.03049  -1521035.41146  23858812.5484   23858818.2564
+     -2363.1874      -1841.4404
+  22204071.8704  -13300659.62149 -10349594.06847  22204071.3754   22204076.1844
+      3097.6364       2413.7494
+  24769358.8414    -511668.20149     54792.42744  24769358.5244   24769365.9414
+     -2550.6754      -1987.5504
+ 05  1 20 23 13 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22254849.2154  -14528977.53449 -11067975.69047  22254849.1664   22254855.9114
+      2294.2374       1787.7134
+  20194032.4424  -16167968.62549 -12586341.72448  20194031.8094   20194037.5164
+      -801.8474       -624.8164
+  24020769.5904   -5077132.86949  -3938308.34245  24020771.6524   24020777.9704
+     -2643.5694      -2059.9354
+  20995440.2124  -24078122.28349 -18748711.42448  20995439.8984   20995443.4694
+     -1556.6194      -1212.9514
+  24916482.4074    5662210.20449   4433854.91345  24916481.4504   24916491.7684
+     -2841.4794      -2214.1404
+  20638269.1694  -26040952.83749 -20264929.83548  20638268.6474   20638275.1364
+       380.2554        296.3034
+  23131401.6544   -7500983.98949  -5820245.91746  23131402.6084   23131409.2464
+      4011.3584       3125.7574
+  23872324.9424   -1897762.06649  -1465695.99146  23872326.3904   23872333.0324
+     -2371.3664      -1847.8054
+  22186417.1134  -13393432.61949 -10421884.68047  22186416.8584   22186422.2144
+      3087.2894       2405.6714
+  24783922.7314    -435104.95448    114452.12544  24783925.2124   24783936.3344
+     -2553.6484      -1989.8584
+ 05  1 20 23 14  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22241788.4074  -14597614.24949 -11121458.81847  22241788.3584   22241793.9614
+      2281.2524       1777.6004
+  20198648.4914  -16143711.42049 -12567439.99448  20198647.7524   20198653.6854
+      -815.2804       -635.2864
+  24035871.6694   -4997774.38249  -3876470.57745  24035873.4124   24035879.0444
+     -2646.9174      -2062.5384
+  21004354.2324  -24031278.35649 -18712209.65448  21004354.3274   21004357.4464
+     -1566.3164      -1220.5074
+  24932700.2634    5747435.56649   4500264.21245  24932701.1964   24932707.5684
+     -2840.1124      -2213.0794
+  20636121.1474  -26052241.85349 -20273726.46148  20636120.4344   20636126.3554
+       372.2904        290.0924
+  23108516.0104   -7621252.06049  -5913961.22746  23108516.3014   23108522.7364
+      4006.5274       3121.9544
+  23885887.6604   -1826498.92149  -1410166.26945  23885888.2434   23885893.8184
+     -2379.4074      -1854.0874
+  22168823.2134  -13485892.78649 -10493931.52547  22168822.0314   22168827.8614
+      3076.8224       2397.5194
+  24798517.7924    -358456.48749    174178.23245  24798515.8484   24798524.6574
+     -2556.4414      -1992.0334
+ 05  1 20 23 14 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22228801.7784  -14665860.65749 -11174637.80547  22228801.4294   22228807.2934
+      2268.2064       1767.4374
+  20203341.2884  -16119051.68649 -12548224.60848  20203340.2604   20203345.9954
+      -828.7004       -645.7424
+  24050992.4494   -4918317.85149  -3814556.40145  24050992.0914   24050996.7684
+     -2650.1644      -2065.0654
+  21013323.1854  -23984143.35149 -18675481.07448  21013323.1894   21013326.4784
+     -1576.0464      -1228.0934
+  24948909.3394    5832618.63449   4566640.63145  24948910.4494   24948915.5214
+     -2838.7414      -2212.0074
+  20634018.3414  -26063291.02749 -20282336.19748  20634017.7164   20634023.7934
+       364.2604        283.8374
+  23085659.6274   -7741374.20949  -6007562.86346  23085658.9544   23085664.9424
+      4001.5354       3118.0734
+  23899493.1594   -1754994.80649  -1354448.78346  23899494.1054   23899501.7364
+     -2387.4734      -1860.3644
+  22151287.1704  -13578037.28449 -10565732.38247  22151287.4854   22151293.3944
+      3066.2194       2389.2604
+  24813123.9104    -281723.05049    233970.48644  24813118.0454   24813123.2034
+     -2559.2804      -1994.2304
+ 05  1 20 23 15  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22215889.6944  -14733714.38149 -11227510.81347  22215889.8524   22215895.1404
+      2255.0834       1757.2014
+  20208109.6074  -16093991.05249 -12528696.83548  20208109.0974   20208114.9134
+      -842.0264       -656.1274
+  24066129.6244   -4838763.63549  -3752566.10945  24066130.2424   24066137.1744
+     -2653.4484      -2067.6214
+  21022348.8334  -23936717.25449 -18638525.66748  21022348.7414   21022351.4714
+     -1585.7264      -1235.6374
+  24965110.6694    5917756.66249   4632981.92045  24965110.2844   24965118.9754
+     -2837.3644      -2210.9324
+  20631961.0774  -26074099.36249 -20290758.26548  20631961.0104   20631967.0644
+       356.2134        277.5634
+  23062828.1704   -7861346.70249  -6101047.87346  23062827.6764   23062834.8384
+      3996.5304       3114.1674
+  23913145.2864   -1683252.55149  -1298545.75146  23913146.8954   23913153.3904
+     -2395.3094      -1866.4784
+  22133814.5674  -13669863.28349 -10637285.08047  22133813.8254   22133818.7354
+      3055.5234       2380.9144
+  24827742.2934    -204904.64048    293828.86244  24827740.0974   24827741.7694
+     -2562.1604      -1996.4884
+ 05  1 20 23 15 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22203052.7324  -14801173.35649 -11280076.22147  22203052.3164   22203058.2044
+      2241.8694       1746.9074
+  20212954.4674  -16068531.28349 -12508858.04848  20212953.9304   20212959.7394
+      -855.2954       -666.4674
+  24081288.7634   -4759111.59849  -3690499.61645  24081289.2194   24081295.6274
+     -2656.6764      -2070.1454
+  21031429.1744  -23889000.04949 -18601343.43048  21031429.0184   21031431.9564
+     -1595.4324      -1243.1974
+  24981299.4214    6002846.60649   4699285.72245  24981301.8224   24981309.5224
+     -2835.4884      -2209.4684
+  20629950.6034  -26084666.00149 -20298991.99348  20629950.1124   20629956.2894
+       348.1484        271.2814
+  23040027.6414   -7981166.47049  -6194413.87646  23040028.6534   23040032.9014
+      3991.4284       3110.1894
+  23926844.5384   -1611275.22649  -1242459.51946  23926843.7524   23926849.6274
+     -2403.1274      -1872.5684
+  22116401.2974  -13761367.96449 -10708587.39047  22116401.1424   22116406.8204
+      3044.7754       2372.5444
+  24842363.5904    -128001.45348    353753.42144  24842366.6424   24842368.5694
+     -2564.9084      -1998.6314
+ 05  1 20 23 16  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22190290.6144  -14868235.23449 -11332332.20747  22190290.8624   22190296.6384
+      2228.6144       1736.5814
+  20217875.2374  -16042673.86749 -12488709.40548  20217874.5864   20217880.2274
+      -868.5414       -676.7884
+  24096462.5544   -4679362.06349  -3628357.16745  24096464.1844   24096468.8274
+     -2659.9704      -2072.7094
+  21040563.9204  -23840991.81849 -18563934.41548  21040564.0194   21040567.3314
+     -1605.1414      -1250.7604
+  24997487.0604    6087886.07249   4765550.19245  24997486.4124   24997494.7644
+     -2833.7994      -2208.1534
+  20627986.4374  -26094990.14749 -20307036.77248  20627985.5504   20627991.8474
+       340.0434        264.9644
+  23017255.2114   -8100830.07049  -6287658.20646  23017256.0744   23017261.8764
+      3986.2214       3106.1404
+  23940583.9944   -1539066.12749  -1186192.68445  23940583.4814   23940591.7734
+     -2410.8114      -1878.5554
+  22099049.2134  -13852548.41149 -10779637.04847  22099049.9414   22099055.3164
+      3033.9604       2364.1244
+  24857021.8324     -51013.47949    413744.22644  24857022.1844   24857026.6034
+     -2567.6504      -2000.7694
+ 05  1 20 23 16 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22177605.7054  -14934897.53349 -11384276.82047  22177605.1964   22177611.1204
+      2215.2674       1726.1904
+  20222870.9324  -16016420.48849 -12468252.21548  20222870.2874   20222876.2704
+      -881.6994       -687.0384
+  24111659.5234   -4599515.15649  -3566138.79745  24111657.6944   24111664.2114
+     -2663.1294      -2075.1634
+  21049754.7074  -23792692.69049 -18526298.73148  21049754.8814   21049758.5744
+     -1614.8354      -1258.3164
+  25013658.7714    6172872.15449   4831773.07645  25013658.3894   25013665.8444
+     -2831.9924      -2206.7524
+  20626067.9314  -26105070.87249 -20314891.87048  20626067.4294   20626073.4614
+       331.9034        258.6274
+  22994513.5584   -8220334.35449  -6380778.38946  22994514.6034   22994520.5684
+      3980.7434       3101.8724
+  23954369.1034   -1466628.15649  -1129747.54246  23954368.7184   23954375.1044
+     -2418.3534      -1884.4284
+  22081761.7804  -13943401.81749 -10850431.86447  22081761.3154   22081767.2264
+      3023.0044       2355.5894
+  24871688.4894      26059.55649    473801.06244  24871685.6214   24871691.5974
+     -2570.4884      -2002.9714
+ 05  1 20 23 17  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22164995.3924  -15001158.26249 -11435908.52247  22164996.1604   22165002.3794
+      2201.8254       1715.7104
+  20227941.6924  -15989772.75749 -12447487.73848  20227941.1744   20227947.0564
+      -894.8074       -697.2524
+  24126872.0424   -4519571.01949  -3503844.69345  24126871.6214   24126877.4214
+     -2666.4114      -2077.7194
+  21059002.3914  -23744102.58149 -18488436.30548  21059001.7144   21059004.9544
+     -1624.5204      -1265.8574
+  25029819.8514    6257802.22549   4897952.29245  25029818.3974   25029826.0134
+     -2829.9724      -2205.1764
+  20624196.2704  -26114907.11849 -20322556.46248  20624195.7874   20624201.6034
+       323.7554        252.2734
+  22971805.2014   -8339675.73749  -6473771.60546  22971804.8054   22971811.5044
+      3975.2944       3097.6294
+  23968196.0194   -1393964.53849  -1073126.53846  23968196.2084   23968202.6564
+     -2425.8434      -1890.2724
+  22064534.8144  -14033925.49449 -10920969.75647  22064534.5854   22064540.3424
+      3011.9914       2347.0094
+  24886370.4994     103217.23648    533923.83744  24886366.4184   24886379.6074
+     -2573.2794      -2005.1474
+ 05  1 20 23 17 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22152464.9704  -15067015.06549 -11487225.47947  22152464.6254   22152469.8174
+      2188.2964       1705.1654
+  20233087.4624  -15962732.23249 -12426417.18848  20233086.8694   20233092.6404
+      -907.8864       -707.4464
+  24142102.0314   -4439529.73949  -3441474.89445  24142103.0534   24142108.7134
+     -2669.6224      -2080.2314
+  21068303.3374  -23695221.82149 -18450347.39648  21068303.5544   21068306.6414
+     -1634.2134      -1273.4124
+  25045972.7084    6342673.59149   4964085.84145  25045971.0884   25045977.7394
+     -2828.0114      -2203.6454
+  20622370.9874  -26124498.03949 -20330029.89148  20622370.3604   20622376.5754
+       315.5624        245.8904
+  22949127.6204   -8458851.23549  -6566635.58346  22949126.7504   22949132.0704
+      3969.7084       3093.2784
+  23982065.6674   -1321078.22749  -1016332.00646  23982066.5684   23982071.5634
+     -2433.1854      -1895.9904
+  22047372.1404  -14124116.68449 -10991248.58147  22047372.2724   22047377.4274
+      3000.8154       2338.3004
+  24901066.4924     180459.58048    594112.62644  24901059.5984
+     -2576.1544      -2007.3934
+ 05  1 20 23 18  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22140009.4054  -15132465.70249 -11538225.94947  22140009.4384   22140015.3304
+      2174.7464       1694.6054
+  20238308.0684  -15935300.96249 -12405042.16648  20238307.0774   20238312.8214
+      -920.8634       -717.5564
+  24157352.8244   -4359391.75349  -3379029.72345  24157352.5554   24157358.6104
+     -2672.7954      -2082.6964
+  21077661.2674  -23646050.34349 -18412031.96148  21077660.1904   21077663.1644
+     -1643.9074      -1280.9664
+  25062107.3044    6427483.63249   5030171.55745  25062107.4484   25062117.5464
+     -2825.9894      -2202.0694
+  20620592.5944  -26133842.91649 -20337311.60348  20620592.1314   20620598.4104
+       307.3274        239.4754
+  22926481.0474   -8577857.39049  -6659367.59346  22926481.2214   22926486.6844
+      3963.9834       3088.8124
+  23995977.7094   -1247972.22149   -959366.33546  23995978.9184   23995983.4734
+     -2440.4284      -1901.6274
+  22030272.2134  -14213972.51349 -11061266.06947  22030272.8244   22030278.9344
+      2989.6034       2329.5574
+  24915786.8474     257786.46248    654367.25244  24915785.3144
+     -2579.0684      -2009.6584
+ 05  1 20 23 18 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22127631.8944  -15197507.88849 -11588908.14547  22127632.2554   22127637.5814
+      2161.1174       1683.9904
+  20243601.2514  -15907480.55849 -12383363.91648  20243600.9464   20243606.8514
+      -933.8174       -727.6474
+  24172620.5814   -4279156.98449  -3316509.15345  24172621.3444   24172627.6664
+     -2675.9874      -2085.1784
+  21087073.1224  -23596588.39849 -18373490.18748  21087072.9594   21087075.9064
+     -1653.5794      -1288.4974
+  25078231.4324    6512229.68749   5096207.33745  25078235.0984   25078244.1404
+     -2823.7034      -2200.2854
+  20618861.9124  -26142940.78349 -20344400.83348  20618860.8394   20618866.9454
+       299.1144        233.0804
+  22903867.5624   -8696690.90149  -6751965.08646  22903867.6094   22903873.0664
+      3958.2054       3084.3224
+  24009930.1594   -1174649.69449   -902231.92545  24009931.1344   24009936.4434
+     -2447.6524      -1907.2574
+  22013237.5024  -14303490.16649 -11131020.03147  22013237.6504   22013244.5484
+      2978.2934       2320.7484
+  24930512.1754     335197.96348    714687.99444
+     -2581.8494      -2011.8524
+ 05  1 20 23 19  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22115333.1864  -15262139.51849 -11639270.42447  22115333.0314   22115338.8784
+      2147.3904       1673.2864
+  20248969.5904  -15879272.37449 -12361383.50348  20248968.7554   20248974.6794
+      -946.7134       -737.7004
+  24187907.3254   -4198825.79449  -3253913.44945  24187907.3864   24187914.0934
+     -2679.2614      -2087.7374
+  21096539.9584  -23546835.90249 -18334722.00848  21096540.0684   21096543.2584
+     -1663.2584      -1296.0444
+  25094351.8654    6596908.71549   5162190.97445  25094350.5614   25094356.5034
+     -2821.4804      -2198.5584
+  20617176.8984  -26151790.54549 -20351296.74648  20617177.0604   20617182.9324
+       290.8374        226.6274
+  22881286.6594   -8815348.46549  -6844425.48346  22881286.5134   22881292.9024
+      3952.2674       3079.6684
+  24023925.6424   -1101113.79449   -844931.20245  24023924.0874   24023929.6884
+     -2454.6944      -1912.7524
+  21996268.7974  -14392666.94249 -11200508.39347  21996268.6044   21996273.4884
+      2966.8664       2311.8374
+  24945257.8034     412694.43648      9571.87143
+     -2584.7214      -2014.0724
+ 05  1 20 23 19 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22103113.0494  -15326358.27849 -11689310.98847  22103112.5394   22103118.6624
+      2133.5754       1662.5204
+  20254410.5974  -15850678.30949 -12339102.40448  20254410.0404   20254415.8984
+      -959.5514       -747.7024
+  24203210.7414   -4118398.12749  -3191242.56345  24203212.3904   24203216.9244
+     -2682.4784      -2090.2404
+  21106063.0884  -23496793.11049 -18295727.61648  21106062.7954   21106067.0234
+     -1672.9274      -1303.5774
+  25110448.5284    6681518.31949   5228120.53145  25110450.7994   25110458.4974
+     -2819.1824      -2196.7614
+  20615540.7294  -26160391.40749 -20357998.69748  20615540.2114   20615546.2564
+       282.5234        220.1464
+  22858742.1644   -8933826.74449  -6936746.16046  22858741.4564   22858747.2414
+      3946.2854       3075.0094
+  24037957.3714   -1027367.50649   -787466.57146  24037956.3964   24037964.6124
+     -2461.6544      -1918.1744
+  21979365.4294  -14481500.02849 -11269728.95147  21979364.8634   21979369.6834
+      2955.3734       2302.8874
+  24960028.1044     490275.35548     70020.97544
+     -2587.5144      -2015.8734
+ 05  1 20 23 20  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22090971.3484  -15390162.14649 -11739028.25747  22090970.9724   22090976.9194
+      2119.7344       1651.7414
+  20259925.4674  -15821700.11049 -12316521.97948  20259924.5304   20259930.1874
+      -972.3174       -757.6524
+  24218533.8374   -4037874.34249  -3128496.76145  24218535.5174   24218542.0824
+     -2685.6894      -2092.7434
+  21115641.1664  -23446460.01349 -18256507.02648  21115641.0704   21115644.7614
+     -1682.6024      -1311.1184
+  25126537.5294    6766055.92749   5293993.90145  25126537.7334   25126546.3304
+     -2816.6664      -2194.8014
+  20613951.4954  -26168742.52149 -20364506.04248  20613950.8424   20613957.3114
+       274.1684        213.6364
+  22836230.3424   -9052122.19349  -7028924.38746  22836230.3604   22836237.2954
+      3940.0994       3070.2044
+  24052029.9884    -953413.93049   -729840.41746  24052030.7954   24052037.4464
+     -2468.5174      -1923.5214
+  21962526.4624  -14569986.66449 -11338679.53047  21962526.5174   21962531.1244
+      2943.7994       2293.8604
+  24974802.2114     567940.55748    130528.14044
+     -2590.0794      -2017.8624
+ 05  1 20 23 20 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22078909.1684  -15453548.59849 -11788420.27447  22078908.7144   22078915.2524
+      2105.7734       1640.8654
+  20265512.4104  -15792339.51849 -12293643.58948  20265511.4334   20265517.5464
+      -985.0244       -767.5494
+  24233877.9114   -3957254.74149  -3065676.27745  24233876.9634   24233882.9754
+     -2688.9074      -2095.2584
+  21125275.6304  -23395836.58049 -18217060.19748  21125274.6454   21125278.0304
+     -1692.2994      -1318.6734
+  25142611.1354    6850518.68449   5359808.96345  25142610.0584   25142617.6044
+     -2814.1054      -2192.8064
+  20612410.1564  -26176842.87249 -20370817.99348  20612409.3404   20612415.8284
+       265.8054        207.1244
+  22813754.9574   -9170231.65249  -7120957.67846  22813755.5384   22813761.1724
+      3933.8474       3065.3224
+  24066143.0814    -879256.19749   -672055.14745  24066140.9174   24066149.1214
+     -2475.3014      -1928.7994
+  21945755.0564  -14658124.07349 -11407357.98847  21945754.3214   21945758.9764
+      2932.1084       2284.7554
+  24989592.0544     645690.10348      5492.04543
+     -2593.1454      -2020.6774
+ 05  1 20 23 21  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22066926.8654  -15516515.62149 -11837485.45547  22066927.1614   22066933.2554
+      2091.7484       1629.9264
+  20271171.5034  -15762598.42249 -12270468.70048  20271170.8774   20271176.7914
+      -997.7174       -777.4444
+  24249234.4014   -3876539.21749  -3002781.14945  24249236.2504   24249242.1614
+     -2692.0714      -2097.6974
+  21134963.7634  -23344923.12249 -18177387.37848  21134963.1864   21134966.5914
+     -1701.9634      -1326.2054
+  25158667.7614    6934904.05849   5425563.76145  25158666.7294   25158677.3374
+     -2811.5714      -2190.8344
+  20610916.7074  -26184691.74249 -20376933.98548  20610915.9154   20610922.3104
+       257.3894        200.5594
+  22791315.3744   -9288151.87049  -7212843.52246  22791315.6974   22791322.2434
+      3927.4264       3060.3274
+  24080292.3054    -804897.28249   -614113.12246  24080292.5234   24080299.2574
+     -2481.9714      -1934.0094
+  21929048.6054  -14745909.73249 -11475762.36047  21929048.4134   21929054.2204
+      2920.3044       2275.5624
+  25004409.5824     723523.82948     66151.30044
+     -2595.8504      -2024.0224
+ 05  1 20 23 21 30.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22055025.5934  -15579060.94449 -11886222.04847  22055025.1174   22055030.9074
+      2077.6284       1618.9304
+  20276903.3084  -15732478.38249 -12246998.52548  20276902.6924   20276908.2644
+     -1010.2994       -787.2474
+  24264616.2784   -3795728.23849  -2939811.56845  24264614.7154   24264621.3754
+     -2695.2854      -2100.2194
+  21144706.3844  -23293719.80749 -18137488.68648  21144706.4654   21144709.4554
+     -1711.6264      -1333.7344
+  25174709.7144    7019209.21749   5491256.06845  25174709.8724   25174718.1064
+     -2808.8804      -2188.7384
+  20609470.2964  -26192287.89049 -20382853.05148  20609470.2704   20609476.6504
+       248.9644        193.9964
+  22768910.3504   -9405879.30149  -7304579.12146  22768912.6454   22768918.7584
+      3921.0014       3055.3254
+  24094480.2544    -730340.39449   -556016.87445  24094480.3084   24094485.7464
+     -2488.4474      -1939.0524
+  21912410.5654  -14833340.66149 -11543890.32047  21912410.9194   21912416.6934
+      2908.4644       2266.3354
+  25019232.8464     801442.03448    126905.25744
+     -2598.6734      -2026.2304
+ 05  1 20 23 22  0.0000000  0 10G 6G10G 4G 2G 5G17G26G30G29G24
+  22043202.9254  -15641182.52449 -11934628.44947  22043203.6634   22043209.3744
+      2063.4884       1607.9184
+  20282707.4144  -15701980.90049 -12223234.25148  20282706.2264   20282711.7204
+     -1022.8514       -797.0274
+  24280007.4084   -3714822.02149  -2876767.76245  24280008.7484   24280016.1584
+     -2698.4354      -2102.6794
+  21154505.5984  -23242226.56549 -18097364.09048  21154505.0234   21154508.9004
+     -1721.2724      -1341.2494
+  25190741.6464    7103431.58149   5556883.84545  25190739.4524   25190747.5924
+     -2806.0344      -2186.5234
+  20608074.0084  -26199630.54449 -20388574.58448  20608073.0744   20608079.2554
+       240.4724        187.3804
+  22746546.3714   -9523410.84349  -7396162.09846  22746545.9054   22746552.8834
+      3914.4144       3050.1954
+  24108704.6324    -655588.60049   -497768.75846  24108705.5424   24108710.0404
+     -2494.9154      -1944.0864
+  21895841.0204  -14920414.17249 -11611739.77947  21895840.8494   21895846.8794
+      2896.4914       2257.0084
+  25034075.3034     879444.51258       502.72153
+     -2602.0944      -2027.6134
+ 05  1 20 23 22 30.0000000  0 11G 6G10G 4G 2G 5G17G26G21G30G29G24
+  22031464.8064  -15702878.07349 -11982702.87647  22031463.5954   22031469.3424
+      2049.2694       1596.8304
+  20288581.7844  -15671107.80449 -12199177.27448  20288581.1454   20288586.6084
+     -1035.3414       -806.7554
+  24295424.4554   -3633820.53349  -2813649.73145  24295426.5364   24295430.3074
+     -2701.4964      -2105.0594
+  21164359.7194  -23190443.51049 -18057013.64948  21164359.2694   21164362.6224
+     -1730.9454      -1348.7894
+  25206745.9264    7187568.50649   5622445.06645  25206747.2164   25206755.4034
+     -2803.0244      -2184.1744
+  20606724.8984  -26206718.86049 -20394097.93448  20606724.1514   20606730.5244
+       232.0054        180.7824
+  22724219.8324   -9640742.99849  -7487589.70146  22724219.2704   22724225.8014
+      3907.7004       3044.9714
+  25404361.0994    -253893.30949   -185343.23244                  25404368.5644
+      2966.9574       2311.9044
+  24122966.5314    -580644.95449   -439371.10445  24122965.5574   24122970.4104
+     -2501.2474      -1949.0304
+  21879340.0444  -15007127.78849 -11679308.79347  21879340.3944   21879346.3164
+      2884.4434       2247.6204
+  25048944.0184     957531.13648     61343.78144
+     -2604.4084      -2028.1964
+ 05  1 20 23 23  0.0000000  0 11G 6G10G 4G 2G 5G17G26G21G30G29G24
+  22019803.9734  -15764145.53149 -12030443.73447  22019804.3844   22019810.5994
+      2034.9234       1585.6574
+  20294528.2884  -15639860.63949 -12174828.82648  20294527.3104   20294533.0734
+     -1047.8044       -816.4714
+  24310859.6434   -3552724.19249  -2750457.77945  24310857.0104   24310863.8744
+     -2704.8014      -2107.6314
+  21174268.5804  -23138370.71149 -18016437.45648  21174268.6324   21174271.5224
+     -1740.6064      -1356.3174
+  25222743.7954    7271617.31949   5687937.61045  25222743.7814   25222751.8694
+     -2800.1174      -2181.9154
+  20605424.0194  -26213551.75149 -20399422.25548  20605423.8314   20605430.3474
+       223.4514        174.1184
+  22701930.7844   -9757872.58649  -7578859.45946  22701930.0414   22701936.4054
+      3900.8504       3039.6174
+  25387415.6304    -342931.66449   -254723.78244  25387415.8734   25387419.6764
+      2968.8404       2313.3804
+  24137262.2954    -505512.51049   -380826.38145  24137262.2744   24137268.0594
+     -2507.4894      -1953.8894
+  21862908.2214  -15093478.48249 -11746595.00447  21862908.4644   21862913.6344
+      2872.3034       2238.1594
+  25063820.0434    1035701.79158    122221.46654
+     -2607.1464      -2030.3884
+ 05  1 20 23 23 30.0000000  0 11G 6G10G 4G 2G 5G17G26G21G30G29G24
+  22008228.2944  -15824982.64749 -12077849.25647  22008227.5924   22008233.3294
+      2020.5984       1574.4884
+  20300545.1984  -15608241.44249 -12150190.47848  20300544.0954   20300549.9734
+     -1060.1564       -826.0984
+  24326305.4594   -3471532.94649  -2687191.91745  24326306.5084   24326312.7094
+     -2707.9434      -2110.0784
+  21184232.9044  -23086008.41949 -17975635.66648  21184232.7894   21184236.3324
+     -1750.2244      -1363.8154
+  25238719.8544    7355575.62349   5753359.64845  25238718.9764   25238729.0384
+     -2797.0844      -2179.5444
+  20604173.1924  -26220128.41749 -20404546.92148  20604172.6884   20604178.8114
+       214.9164        167.4644
+  22679680.1374   -9874796.11249  -7669968.65346  22679680.8534   22679686.9894
+      3893.9694       3034.2534
+  25370461.3854    -432029.73749   -324150.74644  25370461.0564   25370470.4394
+      2970.9234       2314.9954
+  24151594.8704    -430194.30449   -322136.90745  24151595.4534   24151600.9824
+     -2513.6824      -1958.7134
+  21846544.9654  -15179463.65149 -11813596.40447  21846545.5064   21846551.0494
+      2860.0644       2228.6044
+  25078695.0684    1113956.14358    183164.22154
+     -2609.9704      -2032.5904
+ 05  1 20 23 24  0.0000000  0 11G 6G10G 4G 2G 5G17G26G21G30G29G24
+  21996733.1584  -15885387.43049 -12124917.88647  21996732.9494   21996739.0154
+      2006.1264       1563.2184
+  20306631.8454  -15576251.95349 -12125263.59648  20306631.2964   20306637.4474
+     -1072.4724       -835.6914
+  24341772.0294   -3390247.09649  -2623852.30445  24341774.4424   24341781.8004
+     -2711.1284      -2112.5734
+  21194253.2814  -23033356.80949 -17934608.43548  21194252.6734   21194255.8134
+     -1759.8844      -1371.3344
+  25254676.8454    7439440.86049   5818709.12045  25254678.5394   25254685.2884
+     -2793.8724      -2177.0434
+  20602970.7154  -26226447.94749 -20409471.22248  20602969.9204   20602976.1004
+       206.3434        160.7894
+  22657470.6334   -9991510.14749  -7760914.59546  22657470.8734   22657476.7014
+      3886.9604       3028.7904
+  25353497.4074    -521188.18749   -393624.85844  25353495.8094   25353499.1294
+      2972.9324       2316.5764
+  24165961.4474    -354693.50449   -263305.12645  24165962.2324   24165969.5784
+     -2519.6514      -1963.3674
+  21830254.0504  -15265080.83549 -11880311.06447  21830253.7114   21830258.8794
+      2847.7614       2219.0334
+  25093616.5924    1192294.39048     53378.44843
+     -2612.7314      -2033.5134
+ 05  1 20 23 24 30.0000000  0 11G 6G10G 4G 2G 5G17G26G21G30G29G24
+  21985322.0744  -15945357.48449 -12171647.78447  21985321.7154   21985326.6494
+      1991.5984       1551.8894
+  20312789.3884  -15543893.72949 -12100049.38348  20312788.8244   20312794.8954
+     -1084.7384       -845.2554
+  24357260.9334   -3308866.93849  -2560439.23745  24357258.7284   24357266.9454
+     -2714.2434      -2114.9924
+  21204326.8304  -22980416.06849 -17893355.91548  21204326.3354   21204329.9274
+     -1769.5404      -1378.8614
+  25270620.0544    7523210.19349   5883983.92545  25270617.8254   25270627.6394
+     -2790.8034      -2174.6444
+  20601817.0384  -26232509.39449 -20414194.41548  20601816.4654   20601822.3894
+       197.6914        154.0434
+  22635302.1294  -10108011.50949  -7851694.82946  22635302.2164   22635307.0584
+      3879.7914       3023.1954
+  25336519.5534    -610405.77449   -463144.97444  25336516.2924   25336520.9364
+      2974.8444       2318.0554
+  24180364.4264    -279013.28349   -204333.53745  24180364.7294   24180371.9814
+     -2525.5854      -1967.9954
+  21814031.6144  -15350327.05749 -11946736.65547  21814031.6384   21814037.0264
+      2835.3324       2209.3464
+  25108538.8234    1270716.16848    114417.83244
+     -2615.5054      -2035.7744
+ 05  1 20 23 25  0.0000000  0 11G 6G10G 4G 2G 5G17G26G21G30G29G24
+  21973992.6464  -16004890.94249 -12218037.47047  21973992.3854   21973997.9544
+      1977.0064       1540.5234
+  20319017.0424  -15511168.57849 -12074549.26748  20319016.4934   20319022.2684
+     -1096.9394       -854.7524
+  24372768.5824   -3227392.58949  -2496952.79245  24372767.0294   24372770.7174
+     -2717.3014      -2117.3754
+  21214455.1814  -22927185.99649 -17851877.94048  21214455.3804   21214459.3784
+     -1779.1514      -1386.3484
+  25286540.4404    7606881.32249   5949182.17545  25286539.3234   25286550.3064
+     -2787.4204      -2172.0104
+  20600712.9524  -26238311.86149 -20418715.80848  20600712.2574   20600718.3024
+       189.0514        147.3174
+  22613173.2344  -10224296.82049  -7942306.71346  22613172.3534   22613178.4364
+      3872.5334       3017.5544
+  25319523.9164    -699682.73648   -532711.38044  25319526.5894   25319532.8664
+      2976.8944       2319.6564
+  24194796.5404    -203156.54049   -145224.37445  24194796.9774   24194807.7774
+     -2531.4054      -1972.5194
+  21797880.6154  -15435199.94049 -12012871.33847  21797880.8564   21797886.3814
+      2822.8564       2199.6294
+  25123468.7004    1349221.40558    175522.20054
+     -2618.3104      -2037.9494
+ 05  1 20 23 25 30.0000000  0 10G 6G10G 4G 2G 5G17G26G21G30G29
+  21962747.3154  -16063985.54649 -12264085.19447  21962746.9974   21962752.7424
+      1962.3754       1529.1194
+  20325314.3074  -15478078.33149 -12048764.64648  20325313.1004   20325318.8944
+     -1109.0704       -864.2094
+  24388288.2324   -3145824.38649  -2433393.17145  24388288.5184   24388294.0994
+     -2720.3944      -2119.7814
+  21224640.8954  -22873667.06749 -17810174.87548  21224640.1854   21224643.3654
+     -1788.7744      -1393.8464
+  25302447.0534    7690451.47349   6014301.60545  25302445.3524   25302451.4874
+     -2783.9454      -2169.3064
+  20599657.9874  -26243854.30149 -20423034.58748  20599657.5124   20599663.6864
+       180.3784        140.5524
+  22591085.9904  -10340362.73449  -8032747.62846  22591085.9424   22591092.4224
+      3865.1904       3011.8274
+  25302526.9764    -789018.40049   -602323.50844  25302527.7794   25302537.8094
+      2978.7134       2321.0754
+  24209266.7354    -127126.57049    -85980.22745  24209266.8404   24209274.9844
+     -2537.1564      -1977.0144
+  21781801.9654  -15519696.75249 -12078712.97547  21781801.3474   21781807.2794
+      2810.2994       2189.8414
+ 05  1 20 23 26  0.0000000  0 10G 6G10G 4G 2G 5G17G26G21G30G29
+  21951585.1844  -16122639.29149 -12309789.39547  21951585.2194   21951591.2694
+      1947.6184       1517.6274
+  20331680.2984  -15444624.69449 -12022696.87248  20331679.4184   20331685.1064
+     -1121.1564       -873.6304
+  24403825.1694   -3064162.35449  -2369760.47045  24403827.8354   24403832.1344
+     -2723.6194      -2122.3004
+  21234879.9944  -22819859.34649 -17768246.78548  21234879.3214   21234882.7394
+     -1798.4154      -1401.3614
+  25318330.0104    7773917.78849   6079340.27545  25318328.1334   25318333.5204
+     -2780.4654      -2166.5964
+  20598653.0784  -26249135.66449 -20427149.92748  20598652.5284   20598658.4774
+       171.6474        133.7524
+  22569043.9324  -10456205.84549  -8123014.94046  22569042.8694   22569048.3674
+      3857.6634       3005.9674
+  25285517.2264    -878412.51349   -671981.17845  25285517.3374   25285523.0354
+      2980.7404       2322.6524
+  24223769.2594     -50926.22349    -26603.34046  24223770.0114   24223775.4354
+     -2542.7784      -1981.3874
+  21765794.7474  -15603814.65049 -12144259.35947  21765794.3814   21765800.4954
+      2797.6254       2179.9684
+ 05  1 20 23 26 30.0000000  0 10G 6G10G 4G 2G 5G17G26G21G30G29
+  21940508.1944  -16180850.06549 -12355148.40347  21940507.8894   21940514.0784
+      1932.8194       1506.0934
+  20338115.1434  -15410809.60149 -11996347.43248  20338114.1404   20338119.9844
+     -1133.1854       -882.9994
+  24419387.0474   -2982406.60249  -2306054.73245  24419385.0004   24419390.8044
+     -2726.7144      -2124.7104
+  21245173.2094  -22765763.01049 -17726093.80748  21245173.3374   21245176.4374
+     -1808.0204      -1408.8424
+  25334192.9064    7857278.16349   6144296.40745  25334190.4844   25334197.5074
+     -2776.8764      -2163.7994
+  20597697.3264  -26254155.26649 -20431061.29248  20597697.3034   20597703.3834
+       162.9124        126.9484
+  22547040.4104  -10571822.96649  -8213106.15046  22547040.4204   22547047.4804
+      3850.0924       3000.0664
+  25268498.0484    -967864.41049   -741683.88345  25268495.6184   25268501.6424
+      2982.6744       2324.1604
+  24238301.9664      25441.14849     32903.65746  24238302.0374   24238306.4404
+     -2548.2964      -1985.6774
+  21749859.2964  -15687551.14449 -12209508.54447  21749859.5214   21749865.5134
+      2784.8534       2170.0214
+ 05  1 20 23 27  0.0000000  0 10G 6G10G 4G 2G 5G17G26G21G30G29
+  21929516.7564  -16238615.68549 -12400160.56347  21929515.8494   21929520.9904
+      1917.9434       1494.4944
+  20344618.0984  -15376634.47249 -11969717.45248  20344617.5094   20344623.2954
+     -1145.1684       -892.3424
+  24434955.2584   -2900557.62249  -2242276.29545  24434958.0094   24434965.0204
+     -2729.8574      -2127.1594
+  21255523.0484  -22711377.98349 -17683715.87148  21255522.8624   21255526.1204
+     -1817.6674      -1416.3654
+  25350035.2644    7940529.85649   6209167.86445  25350033.3594   25350040.2344
+     -2773.2894      -2161.0034
+  20596792.4814  -26258912.07749 -20434767.88748  20596792.1244   20596798.2454
+       154.1384        120.1014
+  22525084.0324  -10687210.53149  -8303018.47346  22525083.1464   22525089.7534
+      3842.3504       2994.0364
+  25251461.3664   -1057373.64149   -811431.26245  25251462.7534   25251470.1414
+      2984.5034       2325.5814
+  24252864.8584     101972.66649     92538.57745  24252864.3144   24252868.9184
+     -2553.7624      -1989.9444
+  21733998.2754  -15770903.61049 -12274458.48747  21733998.3244   21734003.8124
+      2772.0334       2160.0174
+ 05  1 20 23 27 30.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21918608.0024  -16295934.15449 -12444824.27847  21918608.0514   21918614.5434
+      1903.0134       1482.8674
+  20351190.1924  -15342100.91549 -11942808.18148  20351189.0104   20351195.0714
+     -1157.0594       -901.6024
+  24450548.3574   -2818615.51649  -2178425.25445  24450550.5834   24450558.9264
+     -2732.8894      -2129.5234
+  21265927.1974  -22656704.53049 -17641113.17548  21265926.6944   21265930.4634
+     -1827.2384      -1423.8204
+  20595937.4564  -26263405.19449 -20438269.00848  20595936.9204   20595943.3754
+       145.3304        113.2474
+  22503171.9984  -10802365.41249  -8392749.50946  22503170.8174   22503176.0684
+      3834.5924       2987.9884
+  25234418.2574   -1146940.04149   -881223.18645  25234418.3474   25234426.0704
+      2986.4644       2327.1094
+  24267457.3004     178665.18249    152298.94445  24267458.4444   24267464.1364
+     -2559.0344      -1994.0424
+  21718210.9384  -15853869.38849 -12339107.11047  21718210.6414   21718215.8674
+      2759.0794       2149.9334
+ 05  1 20 23 28  0.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21907785.7854  -16352803.32849 -12489137.89347  21907786.2574   21907791.9184
+      1887.9964       1471.1674
+  20357828.5984  -15307211.06449 -11915621.27548  20357828.0094   20357834.1484
+     -1168.9064       -910.8354
+  24466166.2514   -2736580.52049  -2114501.88845  24466164.1524   24466170.7834
+     -2736.0334      -2131.9704
+  21276386.0904  -22601742.85549 -17598285.90848  21276385.4464   21276388.7504
+     -1836.8554      -1431.3124
+  20595132.4004  -26267633.46649 -20441563.75248  20595132.1804   20595138.4924
+       136.5164        106.3794
+  22481302.1784  -10917284.04849  -8482296.44446  22481302.5634   22481307.8434
+      3826.6054       2981.7754
+  25217365.1094   -1236562.93449   -951059.16045  25217364.5314   25217369.5534
+      2988.3264       2328.5674
+  24282080.5814     255515.52949    212182.35645  24282081.5144   24282088.0814
+     -2564.2624      -1998.1274
+  21702497.5364  -15936446.04449 -12403452.52747  21702497.0804   21702502.2954
+      2746.0884       2139.8134
+ 05  1 20 23 28 30.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21897050.9874  -16409221.29149 -12533099.92547  21897050.7614   21897055.9634
+      1872.9224       1459.4214
+  20364535.6654  -15271966.62549 -11888158.07048  20364534.9134   20364541.0124
+     -1180.7064       -920.0334
+  24481796.8424   -2654452.85349  -2050506.39145  24481794.3354   24481796.5974
+     -2739.0794      -2134.3504
+  21286899.8434  -22546493.16849 -17555234.20348  21286899.3044   21286902.4414
+     -1846.4754      -1438.8114
+  20594379.3454  -26271596.13649 -20444651.54148  20594378.2934   20594384.5344
+       127.6154         99.4374
+  22459479.2814  -11031963.13049  -8571656.72746  22459478.3304   22459485.3064
+      3818.6614       2975.5644
+  25200299.5914   -1326241.86749  -1020938.78645  25200298.4874   25200304.6974
+      2990.2234       2330.0424
+  24296734.5844     332520.71649    272186.39645  24296735.3504   24296743.7424
+     -2569.3614      -2002.0954
+  21686856.9264  -16018630.88349 -12467492.62747  21686857.3044   21686862.8464
+      2732.9634       2129.5694
+ 05  1 20 23 29  0.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21886401.1654  -16465185.93449 -12576708.72147  21886400.8544   21886406.7714
+      1857.7544       1447.6034
+  20371309.9084  -15236369.16749 -11860419.78648  20371309.1764   20371314.9504
+     -1192.4554       -929.1884
+  24497433.9464   -2572232.85849  -1986438.85145  24497436.2624   24497444.6304
+     -2742.2244      -2136.8054
+  21297467.9634  -22490955.51949 -17511958.11348  21297467.6784   21297471.0004
+     -1856.0754      -1446.2924
+  20593674.9974  -26275292.45349 -20447531.78048  20593674.7704   20593681.1804
+       118.7124         92.4994
+  22437702.5114  -11146399.32249  -8660827.74446  22437703.4844   22437708.6504
+      3810.3994       2969.1484
+  25183224.3184   -1415976.34949  -1090861.69945  25183221.9314   25183228.1074
+      2992.0484       2331.4674
+  24311417.2904     409677.64249    332308.67645  24311417.6124   24311424.9734
+     -2574.4374      -2006.0484
+  21671293.1264  -16100421.24449 -12531225.34247  21671293.1294   21671299.1784
+      2719.7394       2119.2704
+ 05  1 20 23 29 30.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21875837.9314  -16520695.31049 -12619962.75147  21875837.6234   21875843.7454
+      1842.5534       1435.7614
+  20378150.2344  -15200420.57149 -11832407.87948  20378149.6424   20378155.9634
+     -1204.1264       -938.2754
+  24513103.7854   -2489920.69849  -1922299.51745  24513102.2224   24513108.9714
+     -2745.2574      -2139.1574
+  21308091.3474  -22435130.24449 -17468457.89348  21308090.7534   21308094.3584
+     -1865.6474      -1453.7454
+  20593023.4944  -26278721.09049 -20450203.43548  20593022.8014   20593028.7034
+       109.7644         85.5344
+  22415973.0654  -11260589.46849  -8749807.02946  22415972.4134   22415978.2664
+      3802.1334       2962.6954
+  25166138.0484   -1505766.28949  -1160827.82545  25166137.1814   25166142.1204
+      2993.8814       2332.8914
+  24326129.2994     486983.08249    392546.68445  24326129.0674   24326134.8464
+     -2579.2704      -2009.8234
+  21655805.8164  -16181814.67649 -12594648.76747  21655805.0514   21655809.8424
+      2706.4854       2108.9514
+ 05  1 20 23 30  0.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21865361.3734  -16575747.31349 -12662860.39647  21865361.6434   21865367.2174
+      1827.2954       1423.8604
+  20385057.8894  -15164122.65049 -11804123.77848  20385057.0484   20385062.9854
+     -1215.7124       -947.3114
+  24528788.0864   -2407516.49149  -1858088.41745  24528783.3274   24528790.3924
+     -2748.3144      -2141.5424
+  21318769.6554  -22379017.25749 -17424733.50248  21318769.3794   21318771.3264
+     -1875.2234      -1461.2124
+  20592422.1014  -26281881.28749 -20452665.91848  20592421.4834   20592427.0004
+       100.8694         78.5984
+  22394289.8164  -11374529.92949  -8838591.77346  22394290.1624   22394295.6394
+      3793.7894       2956.1904
+  25149038.9264   -1595610.83449  -1230836.47345  25149037.8184   25149045.2634
+      2995.6924       2334.3044
+  24340867.0324     564434.19949    452898.16045  24340866.5744   24340873.8634
+     -2584.0654      -2013.5464
+  21640391.9374  -16262808.67849 -12657760.93947  21640392.1724   21640397.3234
+      2693.1564       2098.5624
+ 05  1 20 23 30 30.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21854973.0064  -16630339.93349 -12705400.06747  21854972.6344   21854978.9774
+      1811.9444       1411.8974
+  20392031.5144  -15127477.04149 -11775568.74948  20392030.5874   20392036.4154
+     -1227.2824       -956.3234
+  24544482.6634   -2325020.52849  -1793805.85145  24544481.0814   24544488.8154
+     -2751.3864      -2143.9304
+  21329501.9544  -22322616.87249 -17380785.14248  21329501.3904   21329504.8174
+     -1884.8104      -1468.6824
+  20591871.3634  -26284771.95249 -20454918.37448  20591871.0474   20591877.2084
+        91.8374         71.5634
+  22372655.1754  -11488217.50149  -8927179.43946  22372655.8364   22372662.7114
+      3785.3264       2949.6034
+  25131931.3694   -1685509.47249  -1300887.25445  25131931.1724   25131938.5204
+      2997.4974       2335.7074
+  24355632.3204     642027.76249    513360.67445  24355632.3424   24355638.7514
+     -2588.7244      -2017.1914
+  21625055.8254  -16343400.52849 -12720559.76047  21625055.9694   21625061.5074
+      2679.7134       2088.0884
+ 05  1 20 23 31  0.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21844672.7284  -16684471.14649 -12747580.21447  21844672.3474   21844677.8814
+      1796.5204       1399.8844
+  20399070.4284  -15090485.71649 -11746744.32948  20399069.7064   20399075.8294
+     -1238.7974       -965.2974
+  24560193.0704   -2242433.04749  -1729451.96745  24560196.7104   24560202.7924
+     -2754.3934      -2146.2834
+  21340290.2734  -22265929.37449 -17336613.07748  21340289.2624   21340292.2334
+     -1894.3694      -1476.1324
+  20591373.0234  -26287392.13349 -20456960.06348  20591372.5454   20591378.6274
+        82.7934         64.5144
+  22351071.3014  -11601648.84849  -9015567.44047  22351071.1614   22351077.3414
+      3776.7324       2942.9104
+  25114814.0694   -1775461.73549  -1370979.86445  25114814.2614   25114820.5254
+      2999.2994       2337.1094
+  24370424.6424     719760.65949    573931.78545  24370425.1584   24370432.0164
+     -2593.3824      -2020.8164
+  21609797.5034  -16423587.84349 -12783043.36047  21609796.7414   21609802.1014
+      2666.2004       2077.5584
+ 05  1 20 23 31 30.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21834459.5394  -16738139.09849 -12789399.37047  21834459.1724   21834464.8474
+      1781.0584       1387.8344
+  20406175.2894  -15053150.17349 -11717651.69048  20406174.2414   20406180.2754
+     -1250.2284       -974.2034
+  24575931.8864   -2159754.37649  -1665027.03045  24575927.7044   24575935.7564
+     -2757.4794      -2148.6844
+  21351130.6994  -22208954.99849 -17292217.46448  21351130.4394   21351134.1774
+     -1903.9154      -1483.5664
+  20590925.6804  -26289741.14149 -20458790.45448  20590925.4884   20590931.5894
+        73.7604         57.4754
+  22329534.7864  -11714820.46249  -9103753.06647  22329535.8954   22329541.1554
+      3768.0234       2936.1144
+  25097685.6764   -1865467.31949  -1441113.92545  25097686.3834   25097693.7484
+      3001.1474       2338.5524
+  24385243.6584     797629.88049    634609.11345  24385244.4164   24385249.3494
+     -2597.8504      -2024.2974
+  21594615.0614  -16503368.68859 -12845210.42857  21594615.1334   21594620.6294
+      2652.5614       2066.9334
+ 05  1 20 23 32  0.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21824336.3304  -16791341.93149 -12830856.10747  21824335.4644   21824340.9944
+      1765.5294       1375.7284
+  20413344.8444  -15015472.05849 -11688292.11348  20413344.1014   20413350.2624
+     -1261.6394       -983.0984
+  24591677.4324   -2076984.69449  -1600531.26245  24591680.8074   24591684.5494
+     -2760.4234      -2150.9824
+  21362027.2794  -22151693.80049 -17247598.34548  21362027.1444   21362030.5454
+     -1913.4754      -1491.0234
+  20590530.9294  -26291817.82249 -20460408.63948  20590530.2064   20590536.4054
+        64.6574         50.3814
+  22308049.6924  -11827729.14649  -9191733.81946  22308049.3624   22308054.9704
+      3759.2234       2929.2734
+  25080547.2464   -1955525.85449  -1511289.29445  25080548.0614   25080555.2744
+      3002.8964       2339.9114
+  24400084.4624     875632.38849    695390.26145  24400085.5204   24400092.7894
+     -2602.2294      -2027.7034
+  21579511.8464  -16582739.27049 -12907057.60947  21579510.9874   21579516.6154
+      2638.8534       2056.2494
+ 05  1 20 23 32 30.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21814299.4604  -16844077.39849 -12871948.65347  21814299.9194   21814305.6984
+      1749.9094       1363.5644
+  20420579.5264  -14977453.49749 -11658667.25548  20420578.6824   20420584.7224
+     -1272.9474       -991.9074
+  24607449.1964   -1994124.18749  -1535964.60545  24607450.2804   24607455.8174
+     -2763.5464      -2153.4184
+  21372979.2144  -22094145.98749 -17202755.89648  21372978.2094   21372981.5824
+     -1923.0284      -1498.4644
+  20590187.8994  -26293621.22149 -20461813.87548  20590187.2034   20590193.2684
+        55.5154         43.2574
+  22286614.6334  -11940371.50349  -9279507.03947  22286614.5834   22286620.1264
+      3750.3064       2922.3244
+  25063403.2634   -2045636.55749  -1581505.33445  25063401.5314   25063409.7454
+      3004.5064       2341.1734
+  24414956.3674     953765.10649    756272.84545  24414955.9784   24414961.1574
+     -2606.5204      -2031.0554
+  21564485.9884  -16661697.80349 -12968583.70547  21564486.1304   21564491.1404
+      2625.0984       2045.5334
+ 05  1 20 23 33  0.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21804354.3194  -16896343.72749 -12912675.63647  21804353.9334   21804359.7794
+      1734.2534       1351.3714
+  20427878.0424  -14939096.35649 -11628778.57048  20427877.8124   20427883.8144
+     -1284.1994      -1000.6774
+  24623232.1574   -1911173.04249  -1471327.34645  24623233.8764   24623242.4574
+     -2766.4984      -2155.7114
+  21383984.4524  -22036311.74449 -17157690.25948  21383983.7764   21383986.8304
+     -1932.5694      -1505.9004
+  20589897.1064  -26295150.61149 -20463005.60148  20589896.2794   20589902.3044
+        46.3844         36.1454
+  22265231.0734  -12052744.19749  -9367070.12947  22265230.2024   22265236.2614
+      3741.2324       2915.2244
+  25046246.8894   -2135798.83748  -1651761.56145  25046245.8544   25046251.5744
+      3006.2424       2342.5224
+  24429847.0144    1032024.89149    817254.51845  24429846.9344   24429851.9964
+     -2610.7194      -2034.3254
+  21549539.2404  -16740241.67549 -13029786.69447  21549539.5354   21549544.9444
+      2611.2214       2034.7194
+ 05  1 20 23 33 30.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21794497.7744  -16948138.93449 -12953035.51847  21794497.6294   21794503.4054
+      1718.4814       1339.0774
+  20435241.2884  -14900402.32949 -11598627.36948  20435241.0084   20435247.2254
+     -1295.3934      -1009.3974
+  24639036.1814   -1828131.73249  -1406619.87545  24639035.4044   24639043.8764
+     -2769.5254      -2158.0744
+  21395043.0494  -21978191.19249 -17112401.52047  21395043.3044   21395046.4304
+     -1942.1194      -1513.3344
+  20589657.7984  -26296404.71649 -20463982.81848  20589657.3594   20589663.7924
+        37.1854         28.9804
+  22243898.4214  -12164843.75749  -9454420.41347  22243898.5814   22243904.5844
+      3732.0764       2908.1164
+  25029082.5204   -2226012.15249  -1722057.55645  25029080.3584   25029082.5874
+      3008.0084       2343.9074
+  24444759.6834    1110408.65049    878332.75345  24444761.5604   24444770.7354
+     -2614.8334      -2037.5304
+  21534671.9054  -16818368.50349 -13090664.70347  21534672.3804   21534677.4834
+      2597.2914       2023.8634
+ 05  1 20 23 34  0.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21784731.5554  -16999461.20149 -12993026.87247  21784731.3184   21784737.1324
+      1702.6834       1326.7664
+  20442668.6174  -14861373.08649 -11568214.96548  20442668.0184   20442674.0154
+     -1306.5214      -1018.0654
+  24654854.5324   -1745000.39648  -1341842.18044  24654853.8324   24654858.2214
+     -2772.3834      -2160.2994
+  21406158.5404  -21919784.63049 -17066889.91148  21406157.8174   21406161.7944
+     -1951.6644      -1520.7734
+  20589471.7354  -26297382.83149 -20464744.97648  20589471.3374   20589477.5664
+        27.9444         21.7784
+  22222619.7334  -12276667.24549  -9541555.56247  22222619.5974   22222624.8194
+      3722.8154       2900.8994
+  25011906.3114   -2316276.17949  -1792393.04645  25011902.9574   25011905.0274
+      3009.6864       2345.2104
+  24459701.2434    1188913.33649    939505.23745  24459700.8864   24459706.8504
+     -2618.7884      -2040.6074
+  21519885.8014  -16896075.94549 -13151215.92747  21519885.1964   21519890.4644
+      2583.2814       2012.9454
+ 05  1 20 23 34 30.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21775055.8744  -17050308.56449 -13032648.17347  21775055.2964   21775061.1504
+      1686.8474       1314.4244
+  20450159.4054  -14822010.44549 -11537542.76748  20450158.7394   20450164.5464
+     -1317.6344      -1026.7274
+  24670690.6664   -1661779.37248  -1276994.57545  24670687.5064   24670696.4344
+     -2775.3844      -2162.6414
+  21417327.0324  -21861092.42049 -17021155.73347  21417327.2084   21417329.8784
+     -1961.1694      -1528.1844
+  20589338.9134  -26298083.84849 -20465291.22348  20589338.2734   20589343.6914
+        18.7004         14.5724
+  22201392.1874  -12388210.95349  -9628472.70547  22201392.8094   22201398.5894
+      3713.3924       2893.5564
+  24994714.7564   -2406590.46449  -1862767.75845  24994714.5174   24994722.8584
+      3011.2154       2346.4024
+  24474662.2574    1267535.93149   1000769.61645  24474662.2534   24474668.1824
+     -2622.6804      -2043.6454
+  21505177.9184  -16973361.48649 -13211438.39447  21505178.1674   21505183.9554
+      2569.1614       2001.9474
+ 05  1 20 23 35  0.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21765470.0364  -17100679.05149 -13071897.86747  21765469.9794   21765476.1404
+      1670.9184       1302.0114
+  20457712.6674  -14782316.09749 -11506612.09948  20457712.1304   20457717.9994
+     -1328.6704      -1035.3234
+  24686544.1924   -1578468.81549  -1212077.24144  24686542.8744   24686549.6014
+     -2778.4734      -2165.0454
+  21428549.4374  -21802114.56749 -16975198.96947  21428549.4164   21428553.5544
+     -1970.6774      -1535.5874
+  20589257.6314  -26298506.77249 -20465620.75648  20589257.0474   20589263.6284
+         9.4424          7.3584
+  22180220.2564  -12499471.57449  -9715169.25747  22180220.6994   22180227.0624
+      3703.9074       2886.1654
+  24977519.8274   -2496954.57949  -1933181.26945  24977517.3474   24977526.2484
+      3012.9414       2347.7404
+  24489645.5904    1346273.35849   1062123.46045  24489645.9044   24489653.7894
+     -2626.5004      -2046.6294
+  21490551.3704  -17050222.56349 -13271330.10447  21490551.6004   21490557.3024
+      2554.9864       1990.9004
+ 05  1 20 23 35 30.0000000  0 10G 6G27G10G 4G 2G17G26G21G30G29
+  21755976.8094  -17150570.97049 -13110774.67547  21755976.2994   21755981.9934
+      1654.9444       1289.5744
+                    -14862.46441     -2493.651 3                  25502295.884
+       603.3594        475.077
+  20465329.4584  -14742291.69949 -11475424.24748  20465328.5214   20465334.3874
+     -1339.6334      -1043.8694
+  24702424.5674   -1495068.96649  -1147090.43344  24702415.1654   24702421.3484
+     -2781.3734      -2167.2954
+  21439827.4544  -21742851.41049 -16929019.89047  21439827.2894   21439830.5664
+     -1980.2034      -1543.0154
+  20589230.6384  -26298650.82149 -20465732.99648  20589230.1604   20589236.3114
+          .1414           .1144
+  22159102.7414  -12610445.91549  -9801642.72347  22159102.4084   22159108.6694
+      3694.3294       2878.6914
+  24960314.6364   -2587367.69249  -2003632.96245  24960316.5764   24960318.0044
+      3014.5204       2348.9774
+  24504650.2954    1425122.50749   1123564.34945  24504650.8764   24504657.8384
+     -2630.1004      -2049.4274
+  21476007.9034  -17126656.93749 -13330889.34247  21476007.5164   21476012.3794
+      2540.7304       1979.7944
+ 05  1 20 23 36  0.0000000  0 10G 6G27G10G 4G 2G17G26G21G30G29
+  21746573.4524  -17199982.22649 -13149276.94247  21746573.6134   21746579.1844
+      1638.8854       1277.0524
+                    -32773.31541     -2493.651 3                  25502295.884
+       590.7084        475.077
+  20473008.0734  -14701939.10049 -11443980.65448  20473007.3614   20473013.2234
+     -1350.5394      -1052.3694
+  24718315.0794   -1411580.23648  -1082034.39044  24718307.5194   24718305.0344
+     -2784.4024      -2169.6444
+  21451158.7544  -21683302.99249 -16882618.52347  21451158.8394   21451162.1164
+     -1989.6964      -1550.4164
+  20589256.1774  -26298514.90849 -20465627.08748  20589255.9814   20589261.7564
+        -9.2284         -7.1914
+  22138041.1214  -12721130.37449  -9887890.31647  22138040.5434   22138046.6954
+      3684.6094       2871.1184
+  24943100.1344   -2677829.15449  -2074122.36845  24943098.3554   24943101.3074
+      3016.0734       2350.1844
+  24519677.7844    1504080.42049   1185089.91845  24519677.7074   24519681.8164
+     -2633.6644      -2052.2094
+  21461543.4834  -17202662.14449 -13390114.14647  21461543.9704   21461548.9214
+      2526.3724       1968.5964
+ 05  1 20 23 36 30.0000000  0 10G 6G27G10G 4G 2G17G26G21G30G29
+  21737262.7674  -17248911.10849 -13187403.31947  21737262.3584   21737268.0664
+      1622.7424       1264.4764
+                    -50301.60741    -36073.420 4                  25494023.383
+       577.8864        451.032
+  20480749.1754  -14661260.35949 -11412282.92848  20480748.0334   20480754.2694
+     -1361.3984      -1060.8294
+  24734200.4784   -1328002.99358  -1016909.27954  24734205.3854   24734214.4474
+     -2787.4944      -2172.0724
+  21462545.4604  -21623469.80349 -16835995.26447  21462544.9024   21462548.3564
+     -1999.2014      -1557.8194
+  20589335.4304  -26298098.29349 -20465302.44248  20589334.8654   20589341.2964
+       -18.6094        -14.5014
+  22117033.9654  -12831521.87349  -9973909.62647  22117034.2904   22117039.8224
+      3674.7884       2863.4714
+  24925875.9634   -2768338.82549  -2144649.28145  24925874.3184   24925884.8494
+      3017.7754       2351.5104
+  24534721.6654    1583144.01449   1246697.90745  24534721.1544   24534727.8004
+     -2637.1504      -2054.9234
+  21447162.3484  -17278235.82149 -13449002.68547  21447162.5254   21447167.8544
+      2511.9324       1957.3494
+ 05  1 20 23 37  0.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21728043.6034  -17297355.78749 -13225152.40047  21728043.7444   21728049.4184
+      1606.5984       1251.8934
+  20488551.8974  -14620257.09849 -11380332.32748  20488551.1344   20488556.8904
+     -1372.1804      -1069.2304
+  24750128.8134   -1244337.12248   -951714.98944  24750127.9884   24750135.7874
+     -2790.2694      -2174.2354
+  21473986.0804  -21563351.84749 -16789150.10447  21473985.0694   21473987.6554
+     -2008.6894      -1565.2124
+  20589468.4804  -26297399.80249 -20464758.15548  20589468.2904   20589474.4054
+       -28.0074        -21.8214
+  22096083.7034  -12941617.15249 -10059698.10547  22096082.8084   22096089.4564
+      3664.8704       2855.7434
+  24908642.5694   -2858896.09849  -2215213.34145  24908641.8504   24908648.8364
+      3019.3994       2352.7784
+  24549787.3954    1662310.15149   1308385.81745  24549786.3584   24549790.4144
+     -2640.4984      -2057.5374
+  21432863.8624  -17353375.59849 -13507553.12647  21432864.0054   21432868.8914
+      2497.4144       1946.0414
+ 05  1 20 23 37 30.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21718918.4504  -17345314.39849 -13262522.73447  21718917.9474   21718923.3304
+      1590.3594       1239.2444
+  20496415.8674  -14578931.21549 -11348130.33148  20496415.1274   20496420.8664
+     -1382.8844      -1077.5684
+  24766076.0984   -1160582.98548   -886451.98944  24766073.4664   24766082.1274
+     -2793.3294      -2176.6164
+  21485478.3474  -21502949.47349 -16742083.32347  21485478.6424   21485482.2344
+     -2018.1684      -1572.5954
+  20589655.6524  -26296418.43349 -20463993.44848  20589654.7814   20589661.0074
+       -37.4634        -29.1874
+  22075190.0034  -13051412.57549 -10145252.95247  22075190.3254   22075195.3424
+      3654.7964       2847.8954
+  24891398.2954   -2949500.00949  -2285813.78145  24891397.6564   24891404.4354
+      3020.8644       2353.9134
+  24564868.4634    1741575.70849   1370151.20745  24564869.3344   24564875.4674
+     -2643.7494      -2060.0694
+  21418648.4504  -17428079.04649 -13565763.58747  21418648.2324   21418653.8484
+      2482.8564       1934.6984
+ 05  1 20 23 38  0.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21709884.7974  -17392785.07749 -13299512.86347  21709884.5394   21709889.6314
+      1574.0804       1226.5534
+  20504341.1524  -14537284.20049 -11315678.10348  20504340.1954   20504346.1394
+     -1393.5664      -1085.8974
+  24782029.7564   -1076741.14648   -821120.71244  24782025.2394
+     -2796.1374      -2178.8184
+  21497027.3534  -21442262.91849 -16694795.11347  21497027.1474   21497030.4584
+     -2027.6094      -1579.9594
+  20589895.5634  -26295153.43449 -20463007.72648  20589895.3204   20589901.4924
+       -46.9504        -36.5884
+  22054354.4794  -13160904.96949 -10230571.66247  22054354.0434   22054359.6124
+      3644.6504       2839.9884
+  24874155.3244   -3040149.82149  -2356450.01545  24874153.8614   24874157.1324
+      3022.4584       2355.1594
+  24579971.3634    1820937.88349   1431991.82345  24579972.2504   24579979.2374
+     -2646.9294      -2062.5374
+  21404515.7504  -17502343.81449 -13623632.20947  21404516.1794   21404521.3834
+      2468.1734       1923.2544
+ 05  1 20 23 38 30.0000000  0  9G 6G10G 4G 2G17G26G21G30G29
+  21700945.0844  -17439766.07849 -13336121.40347  21700943.8214   21700949.8794
+      1557.6914       1213.7814
+  20512326.9154  -14495317.87449 -11282977.06048  20512326.1134   20512331.8714
+     -1404.1734      -1094.1664
+  24797997.2884    -992811.44658   -755720.93354
+     -2799.1144      -2181.1154
+  21508629.2184  -21381292.56049 -16647285.74247  21508629.2954   21508633.4534
+     -2037.1004      -1587.3564
+  20590191.0224  -26293603.57449 -20461800.02948  20590190.5254   20590196.6894
+       -56.4264        -43.9744
+  22033575.1894  -13270091.17749 -10315651.79547  22033575.8534   22033582.4304
+      3634.3784       2831.9794
+  24856893.2524   -3130845.53349  -2427121.96045  24856892.5404   24856897.4614
+      3023.9294       2356.3074
+  24595095.3094    1900393.43349   1493905.20145  24595094.8774   24595097.8094
+     -2650.0084      -2064.9414
+  21390468.2524  -17576167.87649 -13681157.41547  21390467.9504   21390473.2334
+      2453.4384       1911.7664
+ 05  1 20 23 39  0.0000000  0  8G 6G10G 2G17G26G21G30G29
+  21692097.5654  -17486255.68049 -13372347.05847  21692097.3334   21692103.2884
+      1541.3104       1201.0254
+  20520373.2554  -14453034.10049 -11250028.65848  20520372.6034   20520378.3414
+     -1414.7394      -1102.3934
+  21520286.2284  -21320038.52949 -16599555.33247  21520286.2184   21520289.2944
+     -2046.5444      -1594.7114
+  20590540.7324  -26291768.19149 -20460369.85648  20590539.6334   20590545.7594
+       -65.9604        -51.4014
+  22012857.9764  -13378967.64249 -10400490.54547  22012857.9784   22012863.5594
+      3623.9894       2823.8894
+  24839627.2784   -3221586.12749  -2497828.87945  24839625.0374   24839632.9294
+      3025.3974       2357.4584
+  24610230.4874    1979939.29849   1555888.99145  24610229.3694   24610235.9294
+     -2652.9814      -2067.2594
+  21376503.8544  -17649548.50949 -13738337.11547  21376504.1264   21376508.9964
+      2438.6234       1900.2224
+ 05  1 20 23 39 30.0000000  0  8G 6G10G 2G17G26G21G30G29
+  21683344.4524  -17532252.22449 -13408188.49447  21683344.0894   21683350.3124
+      1524.8574       1188.2064
+  20528479.6324  -14410434.63849 -11216834.26848  20528478.7664   20528484.7214
+     -1425.2134      -1110.5554
+  21531996.5184  -21258500.99249 -16551603.99447  21531996.1984   21531998.7374
+     -2055.9854      -1602.0684
+  20590943.4834  -26289646.25149 -20458716.39048  20590943.2274   20590949.2894
+       -75.5124        -58.8384
+  21992198.7564  -13487531.06749 -10485085.37347  21992198.8514   21992205.0274
+      3613.5134       2815.7264
+  24822349.6864   -3312371.14649  -2568570.48345  24822349.3234   24822355.1634
+      3026.8704       2358.6014
+  24625379.6154    2059572.63549   1617940.95845  24625381.7264   24625390.5774
+     -2655.7884      -2069.4514
+  21362624.6544  -17722483.47649 -13795169.52147  21362625.1704   21362630.4054
+      2423.7294       1888.6214
+ 05  1 20 23 40  0.0000000  0  8G 6G10G 2G17G26G21G30G29
+  21674685.6834  -17577753.78249 -13443644.24147  21674685.3584   21674691.2714
+      1508.3074       1175.3064
+  20536645.6354  -14367521.22249 -11183395.23548  20536645.1144   20536650.8754
+     -1435.6424      -1118.6764
+  21543760.0174  -21196680.30849 -16503432.04147  21543759.8604   21543763.7064
+     -2065.4104      -1609.4084
+  20591402.4254  -26287236.74449 -20456838.84548  20591401.8924   20591408.1394
+       -85.1424        -66.3424
+  21971600.9614  -13595778.27449 -10569433.81747  21971600.3634   21971606.4704
+      3602.9184       2807.4634
+  24805066.9084   -3403200.02249  -2639346.21045  24805065.5414   24805070.4234
+      3028.4204       2359.8114
+  24640550.4564    2139290.23849   1680058.57545  24640551.5274   24640559.3314
+     -2658.5714      -2071.6114
+  21348831.0454  -17794970.69249 -13851653.04047  21348831.0334   21348836.3234
+      2408.7924       1876.9874
+ 05  1 20 23 40 30.0000000  0  8G 6G10G 2G17G26G21G30G29
+  21666121.8014  -17622758.52649 -13478712.85447  21666121.3324   21666127.3654
+      1491.7204       1162.3844
+  20544871.4834  -14324295.70149 -11149713.00248  20544870.6894   20544876.4984
+     -1446.0224      -1126.7654
+  21555578.9714  -21134576.78349 -16455039.69647  21555578.1784   21555581.2604
+     -2074.8264      -1616.7474
+  20591915.8304  -26284538.73549 -20454736.49148  20591915.2394   20591921.5194
+       -94.7814        -73.8514
+  21951061.7464  -13703706.04649 -10653533.33247  21951062.2264   21951068.1994
+      3592.2244       2799.1414
+  24787776.4234   -3494071.95149  -2710155.51945  24787774.2414   24787778.1954
+      3029.7614       2360.8534
+  24655739.2214    2219089.20649   1742239.56445  24655737.3384   24655743.7484
+     -2661.2594      -2073.7084
+  21335122.7084  -17867007.81949 -13907785.84247  21335122.7344   21335127.6894
+      2393.7104       1865.2304
+ 05  1 20 23 41  0.0000000  0  8G 6G10G 2G17G26G21G30G29
+  21657652.5334  -17667265.00549 -13513393.19847  21657652.0734   21657658.3744
+      1475.0914       1149.4214
+  20553155.6394  -14280759.98649 -11115789.06248  20553155.1414   20553160.8434
+     -1456.3544      -1134.8214
+  21567448.8514  -21072190.77349 -16406427.22547  21567449.3434   21567452.7524
+     -2084.2594      -1624.1024
+  20592484.3224  -26281551.32849 -20452408.62848  20592483.9034   20592489.8404
+      -104.4564        -81.3934
+  21930585.5424  -13811310.76849 -10737381.12447  21930585.9304   21930591.8754
+      3581.3864       2790.6914
+  24770472.3534   -3584986.67449  -2780998.14245  24770472.0804   24770478.4864
+      3031.1234       2361.9144
+  24670938.7634    2298966.45749   1804481.55145  24670938.4114   24670942.8214
+     -2663.7844      -2075.6784
+  21321500.0854  -17938592.53549 -13963566.11047  21321500.2184   21321505.7594
+      2378.6094       1853.4584
+ 05  1 20 23 41 30.0000000  0  8G 6G10G 2G17G26G21G30G29
+  21649278.4814  -17711271.32649 -13547683.82647  21649278.3044   21649283.8254
+      1458.3864       1136.3994
+  20561499.4424  -14236915.79049 -11081624.74548  20561498.3934   20561504.1764
+     -1466.6074      -1142.8174
+  21579375.9754  -21009522.47549 -16357594.78447  21579375.1544   21579378.5034
+     -2093.6524      -1631.4244
+  20593108.4804  -26278273.34349 -20449854.35648  20593107.8014   20593113.5284
+      -114.1524        -88.9564
+  21910171.1044  -13918589.25249 -10820974.70847  21910171.3594   21910177.1464
+      3570.4124       2782.1434
+  24753163.1224   -3675943.14249  -2851873.33745  24753164.0984   24753170.5684
+      3032.6054       2363.0694
+  24686153.9354    2378918.81749   1866782.09445  24686153.3834   24686157.9374
+     -2666.2424      -2077.5924
+  21307964.8674  -18009722.54349 -14018992.07147  21307965.0834   21307969.9954
+      2363.4064       1841.6104
+ 05  1 20 23 42  0.0000000  0  8G 6G10G 2G17G26G21G30G29
+  21641000.3164  -17754775.88149 -13581583.47047  21640999.9504   21641005.0764
+      1441.6314       1123.3454
+  20569900.5964  -14192764.61249 -11047221.22748  20569899.9394   20569906.1434
+     -1476.8164      -1150.7684
+  21591355.0994  -20946572.07649 -16308542.53847  21591354.6034   21591357.2534
+     -2103.0624      -1638.7534
+  20593787.6604  -26274704.03149 -20447073.06648  20593786.9654   20593792.8344
+      -123.8824        -96.5354
+  21889819.6194  -14025538.21149 -10904311.49747  21889819.4554   21889824.7334
+      3559.4264       2773.5694
+  24735848.6454   -3766940.94549  -2922780.73145  24735848.6484   24735851.7084
+      3033.9164       2364.0994
+  24701379.2404    2458943.43949   1929138.94345  24701380.2504   24701387.0874
+     -2668.6004      -2079.4314
+  21294516.6614  -18080395.82949 -14074062.13847  21294516.1504   21294521.6484
+      2348.1714       1829.7434
+ 05  1 20 23 42 30.0000000  0  8G 6G10G 2G17G26G21G30G29
+  21632816.4734  -17797777.04649 -13615090.85647  21632816.6804   21632822.4174
+      1424.8244       1110.2514
+  20578360.7944  -14148308.34949 -11012579.98348  20578359.9914   20578365.8444
+     -1486.9314      -1158.6484
+  21603385.3204  -20883339.84949 -16259270.66847  21603386.1104   21603390.7734
+     -2112.4094      -1646.0334
+  20594522.4574  -26270842.31649 -20444063.92748  20594521.7364   20594527.8454
+      -133.6424       -104.1384
+  21869530.4454  -14132154.39849 -10987389.01447  21869531.1024   21869536.0444
+      3548.2564       2764.8834
+  24718524.3824   -3857979.32849  -2993719.72745  24718524.3644   24718530.0504
+      3035.3034       2365.1684
+  24716622.1164    2539037.25749   1991549.70845  24716621.9394   24716629.2494
+     -2670.8684      -2081.1914
+  21281154.6964  -18150609.96949 -14128774.43447  21281154.8424   21281160.0544
+      2332.8404       1817.7984
+ 05  1 20 23 43  0.0000000  0  8G 6G10G 2G17G26G21G30G29
+  21624730.0704  -17840273.08649 -13648204.63047  21624729.9624   21624735.7554
+      1407.9574       1097.1144
+  20586877.2624  -14103548.94449 -10977702.51348  20586877.0564   20586882.9054
+     -1497.0204      -1166.5034
+  21615472.5154  -20819826.22749 -16209779.53347  21615472.5924   21615476.4434
+     -2121.8184      -1653.3644
+  20595313.0614  -26266687.43349 -20440826.35148  20595312.4204   20595318.7134
+      -143.4284       -111.7604
+  21849306.9484  -14238434.48749 -11070204.62747  21849306.7444   21849312.1744
+      3537.0474       2756.1404
+  24701192.4514   -3949057.62249  -3064689.82145  24701190.4204   24701197.5164
+      3036.5814       2366.1614
+  24731877.6704    2619197.37049   2054012.09645  24731877.7594   24731882.5894
+     -2673.0674      -2082.9094
+  21267881.4164  -18220363.05449 -14183127.45147  21267881.5114   21267886.8334
+      2317.4164       1805.7804
+ 05  1 20 23 43 30.0000000  0  8G 6G10G 2G17G26G21G30G29
+  21616739.5154  -17882262.43249 -13680923.58547  21616739.3134   21616745.2604
+      1391.0124       1083.9014
+  20595452.8194  -14058487.98649 -10942590.07448  20595452.0054   20595458.2144
+     -1507.0614      -1174.3324
+  21627613.7854  -20756031.60149 -16160069.45547  21627613.2804   21627615.0094
+     -2131.1994      -1660.6734
+  20596158.8444  -26262238.29349 -20437359.48448  20596158.7254   20596164.7834
+      -153.2584       -119.4224
+  21829146.8494  -14344375.24849 -11152755.83247  21829146.8404   21829151.9574
+      3525.6514       2747.2614
+  24683852.5244   -4040175.41249  -3135690.71945  24683852.3314   24683858.5864
+      3037.8994       2367.1944
+  24747144.6364    2699420.53649   2116523.64145  24747143.7484   24747147.7124
+     -2675.1394      -2084.5164
+  21254695.9244  -18289652.60449 -14237119.29147  21254695.7074   21254701.4494
+      2301.9044       1793.6914
+ 05  1 20 23 44  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21608846.3334  -17923743.33449 -13713246.34647  21608846.1344   21608851.5444
+      1374.0564       1070.6984
+  20604084.7164  -14013127.33149 -10907244.10348  20604083.6234   20604089.7874
+     -1517.0034      -1182.0774
+  21639807.4074  -20691955.87149 -16110140.30347  21639806.2574   21639809.6784
+     -2140.5414      -1667.9574
+  20597062.1564  -26257494.03549 -20433662.64748  20597061.6124   20597068.0934
+      -163.0884       -127.0794
+  21809052.7384  -14449973.25449 -11235039.94147  21809052.6464   21809057.9594
+      3514.1854       2738.3204
+  24666509.8894   -4131331.54449  -3206721.48245  24666507.2724   24666512.8654
+      3039.1364       2368.1584
+  24762417.7374    2779703.85849   2179082.07445  24762419.0664   24762426.4404
+     -2676.9854      -2085.9614
+  21241598.9124  -18358476.75149 -14290748.47147  21241598.9904   21241604.2584
+      2286.4014       1781.6114
+  25236254.2484     -30398.17949    -11379.99743
+      1768.0554       1377.7054
+ 05  1 20 23 44 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21601049.8224  -17964714.41849 -13745171.85747  21601049.5474   21601054.9424
+      1357.0334       1057.4274
+  20612772.9614  -13967468.86349 -10871666.07448  20612772.4394   20612778.2474
+     -1526.8894      -1189.7854
+  21652051.7824  -20627599.66549 -16059992.61547  21652052.0714   21652055.8474
+     -2149.8944      -1675.2404
+  20598021.5734  -26252453.68949 -20429735.09448  20598020.7864   20598027.0774
+      -172.9834       -134.7944
+  21789023.4084  -14555225.48249 -11317054.62847  21789023.1624   21789029.0024
+      3502.6034       2729.3024
+  24649156.0394   -4222525.61149  -3277781.77545  24649153.3304   24649159.1054
+      3040.4154       2369.1524
+  24777705.8414    2860044.36949   2241685.06245  24777706.8624   24777714.0624
+     -2678.9084      -2087.4674
+  21228591.5114  -18426833.05949 -14344013.09947  21228591.3104   21228596.6044
+      2270.7654       1769.4264
+  25226192.7394     -83276.95549    -52584.27745
+      1757.2074       1369.2504
+ 05  1 20 23 45  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21593350.2024  -18005173.98049 -13776698.78347  21593350.3194   21593355.7714
+      1339.9614       1044.1184
+  20621518.1474  -13921514.28449 -10835857.30148  20621517.3554   20621523.1904
+     -1536.7514      -1197.4694
+  21664352.2354  -20562963.39949 -16009626.69047  21664352.0814   21664355.7994
+     -2159.2254      -1682.5114
+  20599036.9564  -26247116.22749 -20425576.03048  20599036.3914   20599042.5814
+      -182.9104       -142.5284
+  21769060.6274  -14660128.48749 -11398797.19347  21769060.9614   21769066.6654
+      3490.8944       2720.1744
+  24631792.0984   -4313756.95249  -3348871.13545  24631791.3674   24631798.8014
+      3041.6384       2370.1014
+  24793003.0184    2940439.09849   2304330.30845  24793005.3654   24793012.8654
+     -2680.7524      -2088.8954
+  21215672.9474  -18494719.42649 -14396911.54247  21215672.9654   21215678.2484
+      2255.0574       1757.1874
+  25216190.3804    -135829.09149    -93533.94045                  25216198.7944
+      1746.2744       1360.7304
+ 05  1 20 23 45 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21585748.8194  -18045120.42849 -13807825.86347  21585748.3814   21585754.4384
+      1322.8654       1030.8044
+  20630319.0424  -13875265.28849 -10799819.11948  20630318.2664   20630324.2344
+     -1546.5254      -1205.0844
+  21676705.5114  -20498047.28349 -15959042.72147  21676705.3804   21676708.7044
+     -2168.5374      -1689.7684
+  20600109.4924  -26241480.74649 -20421184.73948  20600108.9404   20600115.1014
+      -192.8614       -150.2824
+  21749165.1824  -14764679.00349 -11480265.09947  21749165.5114   21749171.6104
+      3479.0974       2710.9814
+  24614423.9874   -4405024.52949  -3419988.74145  24614423.3514   24614429.8434
+      3042.8564       2371.0564
+  24808312.5744    3020885.04149   2367015.41645  24808313.1874   24808321.0044
+     -2682.3494      -2090.1354
+  21202844.4314  -18562133.83749 -14449442.22847  21202844.5404   21202849.3894
+      2239.3084       1744.9204
+  25206254.8784    -188051.87849   -134226.97345  25206253.5354   25206259.8214
+      1735.2314       1352.1264
+ 05  1 20 23 46  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21578245.5504  -18084552.12749 -13838551.85248  21578245.2574   21578251.1774
+      1305.6674       1017.3994
+  20639175.7014  -13828723.57349 -10763552.84048  20639174.8754   20639180.4714
+     -1556.2354      -1212.6544
+  21689112.6364  -20432851.62749 -15908240.90347  21689111.7354   21689115.6164
+     -2177.8624      -1697.0354
+  20601239.3474  -26235546.48649 -20416560.63748  20601238.4394   20601244.2944
+      -202.8144       -158.0384
+  21729337.7014  -14868873.86849 -11561455.86747  21729337.2244   21729344.2304
+      3467.1774       2701.7004
+  24597050.6664   -4496328.09749  -3491134.35545  24597050.7774   24597056.4714
+      3044.1134       2372.0374
+  24823633.3664    3101379.16249   2429738.10945  24823632.8894   24823638.1814
+     -2683.8324      -2091.3004
+  21190106.3354  -18629074.32749 -14501603.63147  21190106.3044   21190111.2594
+      2223.4724       1732.5724
+  25196380.6724    -239943.08849   -174661.63445  25196379.4904   25196383.7194
+      1724.1444       1343.4884
+ 05  1 20 23 46 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21570840.2694  -18123467.63149 -13868875.60847  21570839.9614   21570845.5524
+      1288.4454       1003.9854
+  20648087.4444  -13781890.73749 -10727059.71348  20648086.7554   20648092.8084
+     -1565.9144      -1220.1934
+  21701571.7674  -20367376.61349 -15857221.42447  21701571.3364   21701575.0404
+     -2187.1544      -1704.2724
+  20602425.3824  -26229312.28749 -20411702.81148  20602424.6024   20602430.4184
+      -212.8714       -165.8764
+  21709578.7894  -14972709.69549 -11642366.87447  21709579.0354   21709584.6374
+      3455.1584       2692.3214
+  24579672.5004   -4587666.76149  -3562307.32545  24579668.6904   24579675.3804
+      3045.1844       2372.8714
+  24838958.0354    3181918.47749   2492495.99445  24838959.1414   24838965.9474
+     -2685.3944      -2092.5164
+  21177458.5884  -18695538.61449 -14553393.95647  21177458.7034   21177463.9254
+      2207.5464       1720.1624
+  25186569.8994    -291499.83549   -214835.67345  25186568.7604   25186574.1514
+      1713.0264       1334.8284
+ 05  1 20 23 47  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21563532.8274  -18161865.37649 -13898795.91947  21563533.0624   21563538.4854
+      1271.1384        990.5014
+  20657054.6034  -13734768.89649 -10690341.39448  20657053.8144   20657059.9364
+     -1575.5394      -1227.6914
+  21714085.3444  -20301622.79149 -15805984.66547  21714084.1624   21714087.1374
+     -2196.4514      -1711.5184
+  20603668.9494  -26222777.15249 -20406610.49448  20603668.4644   20603674.2144
+      -222.8844       -173.6744
+  21689888.2004  -15076183.49249 -11722995.77347  21689888.1494   21689893.8584
+      3443.0414       2682.8844
+  24562281.0474   -4679039.72149  -3633506.99845  24562280.9734   24562287.2004
+      3046.3414       2373.7774
+  24854293.7294    3262500.00249   2555286.78645  24854291.8314   24854298.2974
+     -2686.7314      -2093.5544
+  21164901.4744  -18761524.75849 -14604811.70147  21164901.4814   21164906.5874
+      2191.6074       1707.7474
+  25176821.8704    -342719.85549   -254747.34545  25176821.3354   25176826.9894
+      1701.6994       1325.9974
+ 05  1 20 23 47 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21556325.5264  -18199743.88249 -13928311.62747  21556324.7114   21556330.8924
+      1253.8094        976.9964
+  20666076.0684  -13687359.91149 -10653399.31948  20666075.3784   20666081.2964
+     -1585.0704      -1235.1204
+  21726650.4294  -20235590.16049 -15754530.69047  21726650.2444   21726653.1064
+     -2205.7294      -1718.7454
+  20604969.9814  -26215940.38449 -20401283.13648  20604969.0774   20604975.5424
+      -232.9564       -181.5204
+  21670267.4804  -15179291.68249 -11803339.78147  21670267.4324   21670272.2364
+      3430.8134       2673.3614
+  24544885.1824   -4770446.33849  -3704732.91945  24544887.1694   24544893.7524
+      3047.4334       2374.6254
+  24869633.6074    3343120.81049   2618108.19545  24869634.6134   24869641.7204
+     -2687.9334      -2094.4874
+  21152436.1804  -18827030.70949 -14655855.28347  21152436.1814   21152441.5144
+      2175.5414       1695.2284
+  25167136.0904    -393599.64449   -294393.87045  25167137.2094   25167147.4694
+      1690.2734       1317.0994
+ 05  1 20 23 48  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21549215.3354  -18237101.63549 -13957421.55747  21549216.0074   21549221.4004
+      1236.4214        963.4424
+  20675152.3524  -13639665.31249 -10616234.68948  20675151.3684   20675157.2364
+     -1594.5774      -1242.5304
+  21739267.7724  -20169279.39349 -15702859.96747  21739267.7744   21739271.3594
+     -2215.0074      -1725.9754
+  20606328.0124  -26208801.05249 -20395720.00948  20606327.5234   20606333.6754
+      -243.0784       -189.4114
+  21650716.5394  -15282031.21649 -11883396.52947  21650716.6464   21650721.6204
+      3418.4464       2663.7244
+  24527486.2064   -4861885.91849  -3775984.54145  24527485.3314   24527492.2944
+      3048.5484       2375.4834
+  24884983.1154    3423777.97049   2680957.91545  24884983.5824   24884990.1424
+     -2689.1154      -2095.4164
+  21140061.8244  -18892054.45549 -14706523.10947  21140062.5374   21140067.6354
+      2159.4274       1682.6664
+  25157523.3274    -444138.09349   -333774.50745  25157523.0334   25157526.4934
+      1678.8734       1308.2104
+ 05  1 20 23 48 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21542206.4594  -18273937.26449 -13986124.63747  21542206.2014   21542211.7004
+      1218.9904        949.8744
+  20684282.0684  -13591686.81749 -10578848.84448  20684281.3574   20684287.3904
+     -1604.0114      -1249.8794
+  21751939.8044  -20102690.89049 -15650972.81947  21751939.7884   21751942.5954
+     -2224.2384      -1733.1704
+  20607744.4104  -26201357.95849 -20389920.19348  20607744.1594   20607750.2924
+      -253.2254       -197.3164
+  21631236.4034  -15384398.89249 -11963163.52747  21631236.9264   21631242.1014
+      3406.0104       2654.0394
+  24510081.3384   -4953357.61749  -3847261.17045  24510079.7684   24510086.2154
+      3049.5634       2376.2734
+  24900338.0854    3504468.45049   2743833.57745  24900338.4804   24900345.5514
+     -2690.1874      -2096.2454
+  21127781.3504  -18956593.89949 -14756813.56747  21127780.9984   21127785.8794
+      2143.2464       1670.0634
+  25147972.0714    -494332.71249   -372887.10945  25147970.4204   25147975.3754
+      1667.2924       1299.1834
+ 05  1 20 23 49  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21535295.8444  -18310249.17549 -14014419.61347  21535296.0854   21535301.9054
+      1201.5204        936.2504
+  20693465.5334  -13543426.07149 -10541243.06048  20693465.0164   20693471.0594
+     -1613.3854      -1257.1824
+  21764663.6064  -20035824.96949 -15598869.50847  21764663.1724   21764666.9064
+     -2233.4864      -1740.3744
+  20609218.8364  -26193610.32349 -20383883.06948  20609218.2044   20609224.4714
+      -263.3644       -205.2174
+  21611828.2554  -15486391.62449 -12042638.33247  21611828.1634   21611833.9074
+      3393.4774       2644.2624
+  24492670.2444   -5044860.70149  -3918562.24845  24492668.4594   24492675.1024
+      3050.6324       2377.1164
+  24915697.5974    3585189.24549   2806732.91945  24915697.3584   24915702.1414
+     -2691.1074      -2096.9684
+  21115592.1294  -19020647.10549 -14806725.12047  21115592.1534   21115597.4264
+      2127.0174       1657.4154
+  25138485.3244    -544178.01349   -411727.54845  25138485.1914   25138491.5364
+      1655.7274       1290.1774
+ 05  1 20 23 49 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21528487.0954  -18346036.02649 -14042305.47047  21528486.4094   21528491.7424
+      1183.9854        922.5804
+  20702703.1804  -13494884.95849 -10503418.81248  20702702.3234   20702708.1704
+     -1622.6914      -1264.4384
+  21777440.8244  -19968681.69549 -15546550.07347  21777440.4204   21777443.9524
+     -2242.7184      -1747.5764
+  20610751.5444  -26185557.25549 -20377607.95048  20610750.9264   20610756.6044
+      -273.5404       -213.1494
+  21592490.5974  -15588005.76049 -12121818.16247  21592491.1664   21592497.3264
+      3380.8334       2634.4154
+  24475250.9794   -5136394.40749  -3989887.15745  24475249.8334   24475254.5364
+      3051.6514       2377.9134
+  24931066.1764    3665937.54949   2869653.63245  24931065.4224   24931071.2614
+     -2691.9384      -2097.6094
+  21103495.7934  -19084212.17849 -14856256.32147  21103495.8784   21103501.0064
+      2110.7204       1644.7194
+  25129063.9734    -593674.62349   -450296.32845  25129063.1824   25129072.0804
+      1643.9984       1281.0384
+ 05  1 20 23 50  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21521776.2944  -18381296.40349 -14069781.07247  21521776.2814   21521782.2404
+      1166.4364        908.9094
+  20711993.0244  -13446065.24149 -10465377.46748  20711992.2534   20711998.0714
+     -1631.9504      -1271.6504
+  21790270.0964  -19901261.72649 -15494015.03547  21790270.4294   21790273.3384
+     -2251.9494      -1754.7614
+  20612342.4094  -26177197.74849 -20371094.04148  20612341.8564   20612347.6534
+      -283.8024       -221.1454
+  21573228.4074  -15689238.61449 -12200700.87847  21573227.9094   21573233.1474
+      3368.0424       2624.4484
+  24457825.4044   -5227958.27249  -4061235.56645  24457824.9294   24457831.6884
+      3052.6344       2378.6744
+  24946436.0754    3746710.30049   2932593.41045  24946434.1194   24946440.3404
+     -2692.8244      -2098.3064
+  21091492.9804  -19147287.09749 -14905405.58647  21091493.2734   21091498.7714
+      2094.3604       1631.9654
+  25119713.9014    -642818.78149   -488590.49445  25119714.2224   25119722.1464
+      1632.2334       1271.8724
+ 05  1 20 23 50 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21515167.9394  -18416028.84549 -14096845.29947  21515167.1504   21515172.6984
+      1148.8004        895.1694
+  20721335.9794  -13396968.55149 -10427120.29948  20721335.1084   20721340.7454
+     -1641.1554      -1278.8184
+  21803151.9464  -19833565.21649 -15441264.52147  21803152.0664   21803155.7864
+     -2261.1854      -1761.9624
+  20613990.7984  -26168530.84949 -20364340.61048  20613990.4994   20613997.0354
+      -294.0624       -229.1364
+  21554036.5564  -15790086.56049 -12279283.66347  21554037.2294   21554042.4064
+      3355.1414       2614.3974
+  24440399.5494   -5319550.79949  -4132606.37745  24440395.9594   24440400.7174
+      3053.5384       2379.3864
+  24961808.1654    3827504.52649   2995549.94445  24961809.4194   24961816.1564
+     -2693.3204      -2098.6874
+  21079583.8704  -19209869.89549 -14954171.37147  21079583.7414   21079589.0154
+      2077.8754       1619.1224
+  25110430.4914    -691608.05549   -526608.03245  25110429.6284   25110434.7604
+      1620.3774       1262.6244
+ 05  1 20 23 51  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21508658.3484  -18450231.98549 -14123497.07748  21508658.3874   21508664.3264
+      1131.1134        881.3854
+  20730731.3734  -13347596.75449 -10388648.76248  20730730.4134   20730735.8874
+     -1650.3094      -1285.9554
+  21816087.7704  -19765592.73549 -15388298.95247  21816087.4124   21816090.0554
+     -2270.3564      -1769.1094
+  20615699.1554  -26159555.71149 -20357346.98648  20615698.5244   20615704.9614
+      -304.3174       -237.1284
+  21534920.3504  -15890546.71549 -12357564.26647  21534919.9604   21534926.0124
+      3342.1514       2604.2724
+  24422963.8374   -5411171.69649  -4203999.19245  24422963.1634   24422967.4534
+      3054.4974       2380.1344
+  24977186.5374    3908317.42849   3058521.00145  24977187.3734   24977193.9434
+     -2694.0174      -2099.2364
+  21067768.9074  -19271958.69349 -15002552.23048  21067768.9894   21067774.6684
+      2061.3934       1606.2804
+  25101212.8434    -740039.75849   -564346.99845  25101213.2644   25101219.2514
+      1608.3864       1253.2894
+ 05  1 20 23 51 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21502250.6164  -18483904.57249 -14149735.43747  21502250.8064   21502256.1984
+      1113.4194        867.5994
+  20740178.5344  -13297951.65749 -10349964.26448  20740177.4624   20740183.1154
+     -1659.3874      -1293.0354
+  21829074.5414  -19697344.62549 -15335118.62447  21829074.5304   21829077.6584
+     -2279.5484      -1776.2744
+  20617466.0614  -26150271.37849 -20350112.43748  20617465.5164   20617471.6414
+      -314.6594       -245.1934
+  21515877.5294  -15990615.67749 -12435540.04647  21515876.7364   21515882.8414
+      3329.1164       2594.1124
+  24405521.1084   -5502820.16049  -4275413.45545  24405521.7864   24405527.0124
+      3055.4004       2380.8334
+  24992566.6504    3989146.05349   3121504.33045  24992567.2954   24992574.4864
+     -2694.5144      -2099.6214
+  21056048.5874  -19333551.48949 -15050546.59547  21056048.2824   21056053.2074
+      2044.8464       1593.3844
+  25092066.5874    -788111.44249   -601805.41245  25092065.2974   25092073.2874
+      1596.3984       1243.9474
+ 05  1 20 23 52  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21495945.0754  -18517045.26449 -14175559.34548  21495944.4874   21495949.8634
+      1095.6904        853.7804
+  20749676.9924  -13248034.77349 -10311067.99148  20749676.0854   20749681.7954
+     -1668.4014      -1300.0534
+  21842113.9964  -19628821.22549 -15281723.77747  21842113.8934   21842117.0504
+     -2288.6804      -1783.3864
+  20619291.9334  -26140676.94549 -20342636.25348  20619291.3524   20619297.2504
+      -325.0194       -253.2594
+  21496908.8994  -16090290.44449 -12513208.67347  21496909.2254   21496915.2134
+      3315.8824       2583.8084
+  24388075.7914   -5594495.25949  -4346848.49745  24388074.9724   24388080.6494
+      3056.2624       2381.5044
+  25007951.8324    4069987.28449   3184497.46045  25007951.9894   25007959.5854
+     -2694.8684      -2099.8974
+  21044422.1274  -19394646.56449 -15098153.11047  21044421.9274   21044427.5194
+      2028.2314       1580.4444
+  25082987.7404    -835820.63849   -638981.35745  25082987.0224   25082993.0594
+      1584.2424       1234.4704
+ 05  1 20 23 52 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21489739.1044  -18549652.60249 -14200967.64447  21489739.2714   21489744.9054
+      1077.8804        839.9064
+  20759227.5554  -13197847.89849 -10271961.32448  20759226.7424   20759232.5464
+     -1677.3744      -1307.0434
+  21855206.7284  -19560022.98049 -15228114.77547  21855205.8974   21855209.2584
+     -2297.8534      -1790.5354
+  20621177.3854  -26130771.63349 -20334917.82648  20621176.5034   20621182.0424
+      -335.3994       -261.3484
+  21478017.3084  -16189567.61849 -12590567.48947  21478017.8544   21478023.3914
+      3302.5594       2573.4224
+  24370627.0404   -5686196.09049  -4418303.63145  24370625.3754   24370631.3944
+      3057.1194       2382.1624
+  25023338.1224    4150838.29749   3247498.23845  25023336.7194   25023344.7984
+     -2695.0994      -2100.0794
+  21032891.2464  -19455241.89249 -15145370.22748  21032891.3814   21032896.1794
+      2011.5344       1567.4284
+  25073977.3504    -883164.79049   -675872.90945  25073976.7364   25073983.4854
+      1572.0794       1224.9964
+ 05  1 20 23 53  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21483636.1194  -18581725.33149 -14225959.37248  21483636.0084   21483641.6384
+      1060.0074        825.9794
+  20768828.2524  -13147392.73849 -10232645.61348  20768827.9244   20768833.5804
+     -1686.2924      -1313.9904
+  21868349.4754  -19490950.36749 -15174291.96547  21868349.8014   21868353.5234
+     -2307.0034      -1797.6634
+  20623120.6054  -26120554.32549 -20326956.28148  20623120.3564   20623126.4644
+      -345.8254       -269.4724
+  21459201.9444  -16288444.34349 -12667614.24447  21459201.9434   21459207.8714
+      3289.1334       2562.9624
+  24353172.1574   -5777922.02649  -4489778.33245  24353172.4314   24353174.6564
+      3057.9474       2382.8134
+  25038728.1754    4231696.34949   3310504.48745  25038725.7784   25038730.2044
+     -2695.2814      -2100.2204
+  21021456.4044  -19515335.71249 -15192196.56348  21021456.0474   21021461.0574
+      1994.7824       1554.3764
+  25065041.9534    -930141.33749   -712477.99945  25065039.4124   25065043.7384
+      1559.7114       1215.3544
+ 05  1 20 23 53 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21477635.2374  -18613262.24549 -14250533.56748  21477634.8204   21477640.4534
+      1042.1524        812.0674
+  20778480.3004  -13096671.02249 -10193122.19148  20778479.6304   20778485.6024
+     -1695.1424      -1320.8854
+  21881546.3964  -19421603.62649 -15120255.55347  21881546.3184   21881549.3234
+     -2316.1134      -1804.7604
+  20625125.1164  -26110024.05249 -20318750.86648  20625124.3934   20625130.4624
+      -356.2614       -277.6034
+  21440463.3274  -16386917.34349 -12744346.41347  21440463.7494   21440469.2064
+      3275.6634       2552.4684
+  24335711.0954   -5869672.21149  -4561271.87245  24335710.9994   24335716.5204
+      3058.7254       2383.4184
+  25054114.6554    4312558.37649   3373513.86045  25054113.1394   25054119.4684
+     -2695.3864      -2100.2984
+  21010115.1564  -19574926.51249 -15238630.91647  21010115.6584   21010121.2474
+      1977.9854       1541.2904
+  25056169.7694    -976747.97449   -748794.78145  25056169.1954   25056174.7854
+      1547.3944       1205.7574
+ 05  1 20 23 54  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21471735.5454  -18644262.01449 -14274689.21548  21471735.6514   21471741.4534
+      1024.2174        798.0954
+  20788183.7794  -13045684.61849 -10153392.51748  20788182.4154   20788188.2214
+     -1703.9524      -1327.7494
+  21894794.8864  -19351983.23949 -15066005.90847  21894793.8544   21894797.4954
+     -2325.2524      -1811.8874
+  20627188.3974  -26099180.12949 -20310301.05648  20627187.8354   20627194.0744
+      -366.7524       -285.7804
+  21421802.8244  -16484983.34549 -12820761.45047  21421802.3894   21421807.4074
+      3262.0314       2541.8364
+  24318246.4314   -5961445.61049  -4632783.55945  24318246.5714   24318252.0814
+      3059.4754       2384.0004
+  25069498.6434    4393421.52049   3436524.08745  25069500.1654   25069505.0674
+     -2695.3224      -2100.2554
+  20998873.2974  -19634012.03349 -15284671.56548  20998872.8884   20998877.4204
+      1961.1134       1528.1414
+  25047373.8614   -1022982.07149   -784821.30245  25047373.0514   25047376.1924
+      1534.8974       1196.0244
+ 05  1 20 23 54 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21465939.2314  -18674723.31849 -14298425.27748  21465938.9154   21465944.6744
+      1006.2594        784.0954
+  20797935.7174  -12994435.09849 -10113457.82448  20797934.6144   20797940.3634
+     -1712.6754      -1334.5494
+  21908094.9154  -19282089.64649 -15011543.36547  21908094.9064   21908098.6234
+     -2334.3384      -1818.9614
+  20629311.6704  -26088021.58549 -20301606.07948  20629311.0904   20629316.9534
+      -377.2404       -293.9544
+  21403217.9394  -16582639.36049 -12896857.00947  21403218.6924   21403224.4054
+      3248.3424       2531.1804
+  24300782.1624   -6053241.65449  -4704312.85845  24300780.7384   24300783.8504
+      3060.2144       2384.5814
+  25084886.1654    4474282.96849   3499532.93945  25084888.3564   25084892.5334
+     -2695.2544      -2100.2054
+  20987725.6984  -19692590.59849 -15330317.17248  20987725.5394   20987730.4784
+      1944.1774       1514.9434
+  25038643.8344   -1068841.11449   -820555.59145  25038642.8874   25038649.6324
+      1522.3774       1186.2674
+ 05  1 20 23 55  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21460244.9624  -18704645.06949 -14321740.91548  21460245.1164   21460250.9054
+       988.2414        770.0594
+  20807737.9254  -12942924.35349 -10073319.56948  20807736.8024   20807742.5834
+     -1721.3504      -1341.3124
+  21921447.0244  -19211923.23349 -14956868.25247  21921447.0784   21921450.4474
+     -2343.4424      -1826.0544
+  20631495.5734  -26076547.50249 -20292665.22848  20631494.7334   20631500.8454
+      -387.7504       -302.1444
+  21384713.6744  -16679882.15649 -12972630.58547  21384713.6264   21384719.3364
+      3234.5174       2520.3974
+  24283305.3384   -6145059.51649  -4775859.10045  24283306.2674   24283313.0764
+      3060.9794       2385.1844
+  25100270.4864    4555139.59849   3562538.06845  25100272.9714   25100279.9784
+     -2695.1384      -2100.1034
+  20976675.4864  -19750660.51349 -15375566.42748  20976675.0684   20976680.1884
+      1927.2044       1501.7154
+  25029989.2224   -1114322.97449   -855995.95145  25029988.8354   25029994.8934
+      1509.7524       1176.4284
+ 05  1 20 23 55 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21454654.5284  -18734025.96949 -14344635.10648  21454653.9734   21454659.8194
+       970.1824        755.9864
+  20817588.7424  -12891153.83549 -10032978.90848  20817588.2984   20817594.0984
+     -1730.0024      -1348.0554
+  21934851.6854  -19141484.58449 -14901981.00547  21934851.3994   21934853.9574
+     -2352.5014      -1833.1214
+  20633739.3514  -26064756.92749 -20283477.76148  20633738.4464   20633744.3364
+      -398.3324       -310.3894
+  21366289.6034  -16776708.76849 -13048079.85947  21366289.0694   21366294.3854
+      3220.5634       2509.5244
+  24265828.5314   -6236898.10149  -4847421.60545  24265829.2674   24265834.6644
+      3061.6404       2385.6914
+  25115654.5614    4635988.67549   3625537.28945  25115658.0874   25115663.4104
+     -2694.7944      -2099.8394
+  20965721.8284  -19808219.96549 -15420417.93348  20965721.9194   20965726.8414
+      1910.1394       1488.4204
+  25021409.3824   -1159425.03949   -891140.36445  25021408.2074   25021412.0464
+      1497.0854       1166.5584
+ 05  1 20 23 56  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21449166.1924  -18762864.85949 -14367106.96348  21449166.2174   21449171.6964
+       952.0954        741.8884
+  20827490.3124  -12839125.34249  -9992437.22248  20827489.3214   20827494.8324
+     -1738.5824      -1354.7444
+  21948307.4374  -19070773.94449 -14846881.82547  21948307.3544   21948310.2994
+     -2361.5784      -1840.2004
+  20636043.0014  -26052648.92949 -20274042.95748  20636042.2784   20636048.5784
+      -408.9304       -318.6504
+  21347942.1424  -16873115.91549 -13123202.27247  21347942.2844   21347948.0034
+      3206.5314       2498.5954
+  24248352.1964   -6328756.86049  -4918999.80045  24248351.0654   24248354.6514
+      3062.2474       2386.1704
+  25131041.5584    4716827.31249   3688528.42345  25131041.6994   25131049.7964
+     -2694.4444      -2099.5704
+  20954865.6944  -19865267.33449 -15464870.40548  20954865.7184   20954870.8644
+      1893.0524       1475.1034
+  25012895.5874   -1204145.00349   -925987.03445  25012895.1214   25012903.0954
+      1484.2404       1156.5504
+ 05  1 20 23 56 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21443781.6894  -18791160.67949 -14389155.63348  21443781.6634   21443787.1164
+       933.9924        727.7864
+  20837439.0454  -12786840.55849  -9951695.82848  20837438.4824   20837444.1604
+     -1747.0734      -1361.3574
+  21961814.4104  -18999791.57749 -14791570.90847  21961814.3384   21961817.3634
+     -2370.5934      -1847.2114
+  20638407.4054  -26040222.80949 -20264360.26048  20638407.2114   20638413.1294
+      -419.5424       -326.9134
+  21329677.2494  -16969100.80349 -13197995.65947  21329677.3324   21329683.1884
+      3192.4354       2487.6084
+  24230866.0624   -6420634.68649  -4990592.79745  24230865.5924   24230870.5954
+      3062.8694       2386.6594
+  25146422.3544    4797652.69849   3751509.17245  25146421.1304   25146426.0684
+     -2693.9144      -2099.1624
+  20944108.3914  -19921800.82449 -15508922.45048  20944108.0624   20944112.9554
+      1875.9034       1461.7474
+  25004460.9634   -1248480.59149   -960534.27545  25004459.6344   25004465.7754
+      1471.4464       1146.5834
+ 05  1 20 23 57  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21438500.0644  -18818912.17149 -14410780.16348  21438500.7234   21438506.4524
+       915.8464        713.6444
+  20847436.9494  -12734301.16249  -9910756.03048  20847436.2354   20847442.3114
+     -1755.5394      -1367.9504
+  21975373.9544  -18928538.20649 -14736048.80747  21975373.2404   21975376.4174
+     -2379.6354      -1854.2614
+  20640833.0674  -26027477.51349 -20254428.85948  20640832.4364   20640838.6574
+      -430.2114       -335.2324
+  21311493.2474  -17064659.99949 -13272457.33047  21311493.2694   21311498.6694
+      3178.1854       2476.5034
+  24213379.4314   -6512530.53849  -5062199.87345  24213378.3414   24213384.1064
+      3063.4974       2387.1384
+  25161802.2024    4878461.78349   3814477.31645  25161800.3954   25161806.6574
+     -2693.3154      -2098.6944
+  20933448.1734  -19977818.98349 -15552572.94148  20933447.8364   20933453.1014
+      1858.6824       1448.3224
+  24996096.9804   -1292428.95549   -994779.68645  24996098.0104   24996100.4214
+      1458.4424       1136.4404
+ 05  1 20 23 57 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21433324.2664  -18846118.26849 -14431979.70648  21433323.8464   21433329.2874
+       897.6344        699.4574
+  20857482.8934  -12681508.97549  -9869619.26448  20857482.3734   20857488.3134
+     -1763.9334      -1374.4934
+  21988983.2674  -18857014.26649 -14680315.87347  21988983.4114   21988987.5884
+     -2388.6284      -1861.2664
+  20643319.3534  -26014412.16449 -20244248.05948  20643318.6344   20643324.8044
+      -440.8754       -343.5424
+  21293390.7174  -17159790.78049 -13346585.17247  21293390.7694   21293395.7514
+      3163.8484       2465.3314
+  24195889.1014   -6604443.53749  -5133820.36645  24195888.0834   24195891.7354
+      3064.0434       2387.5594
+  25177177.3174    4959251.99449   3877430.78245  25177175.2644   25177182.4874
+     -2692.6794      -2098.1924
+  20922887.2894  -20033319.86349 -15595820.35948  20922886.9404   20922891.9634
+      1841.4354       1434.8824
+  24987809.1054   -1335988.01149  -1028721.77245  24987808.4504   24987814.7304
+      1445.4004       1126.2844
+ 05  1 20 23 58  0.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21428250.7024  -18872777.84049 -14452753.39348  21428250.6774   21428256.0794
+       879.3904        685.2374
+  20867577.2644  -12628465.48549  -9828286.66348  20867575.8824   20867582.1784
+     -1772.2724      -1380.9924
+  22002645.2834  -18785220.13349 -14624372.40247  22002645.3944   22002649.2794
+     -2397.6484      -1868.2994
+  20645867.1994  -26001026.01949 -20233817.29348  20645866.1784   20645872.1184
+      -451.5844       -351.8884
+  21275369.5304  -17254489.71949 -13420376.52447  21275369.4964   21275375.0544
+      3149.3904       2454.0714
+  24178394.2884   -6696372.97649  -5205453.62445  24178394.0004   24178399.4274
+      3064.5784       2387.9714
+  25192543.9114    5040020.36149   3940367.14245  25192543.6074   25192550.3884
+     -2691.8604      -2097.5514
+  20912423.5224  -20088301.81249 -15638663.41148  20912423.9244   20912428.6414
+      1824.1064       1421.3794
+  24979593.9464   -1379155.44049  -1062358.77045  24979592.8804   24979600.2794
+      1432.3444       1116.1144
+ 05  1 20 23 58 30.0000000  0  9G 6G10G 2G17G26G21G30G29G 8
+  21423282.0384  -18898889.76549 -14473100.33148  21423281.8174   21423287.2744
+       861.1454        671.0244
+  20877717.8134  -12575172.50849  -9786759.66348  20877717.5024   20877723.3904
+     -1780.5564      -1387.4454
+  22016359.5674  -18713156.36449 -14568218.82447  22016358.6244   22016362.1414
+     -2406.6214      -1875.2844
+  20648474.7314  -25987317.98549 -20223135.70648  20648474.3274   20648480.2484
+      -462.3344       -360.2614
+  21257432.1644  -17348754.07849 -13493829.23947  21257431.6514   21257436.9824
+      3134.8674       2442.7524
+  24160899.0924   -6788317.87949  -5277098.94445  24160897.8954   24160902.4444
+      3065.1004       2388.3864
+  25207910.0744    5120763.88849   4003284.12645  25207908.3244   25207915.6584
+     -2690.9154      -2096.8164
+  20902059.6604  -20142763.43649 -15681101.01548  20902059.8234   20902065.0894
+      1806.7324       1407.8414
+  24971455.0234   -1421928.57649  -1095688.41545  24971454.5034   24971460.0014
+      1419.2064       1105.8764
+ 05  1 20 23 59  0.0000000  0  8G 6G10G 2G17G26G21G29G 8
+  21418417.8684  -18924452.94749 -14493019.68648  21418417.2594   21418422.5034
+       842.8134        656.7354
+  20887906.5204  -12521631.74949  -9745039.59148  20887905.9734   20887911.8624
+     -1788.8014      -1393.8724
+  22030123.7894  -18640823.29149 -14511855.39947  22030123.9044   22030127.0304
+     -2415.6084      -1882.2934
+  20651145.2744  -25973287.35149 -20212202.73648  20651144.6194   20651150.2304
+      -473.0934       -368.6424
+  21239576.4194  -17442580.54449 -13566940.73247  21239576.7354   21239582.9334
+      3120.1864       2431.3184
+  24143398.5884   -6880277.39149  -5348755.63145  24143397.8094   24143404.3074
+      3065.5344       2388.7234
+  20891795.7344  -20196702.78349 -15723131.65548  20891795.9794   20891800.8134
+      1789.2814       1394.2424
+  24963388.7494   -1464305.63849  -1128709.48145  24963389.1084   24963393.1564
+      1405.9134       1095.5154
+ 05  1 20 23 59 30.0000000  0  8G 6G10G 2G17G26G21G29G 8
+  21413657.6044  -18949466.47649 -14512510.73348  21413657.2644   21413662.6534
+       824.4904        642.4614
+  20898142.8194  -12467844.95549  -9703127.79148  20898141.4774   20898147.0764
+     -1796.9914      -1400.2544
+  22043938.9984  -18568221.26249 -14455282.38647  22043939.0364   22043942.4124
+     -2424.5544      -1889.2594
+  20653876.8684  -25958933.35949 -20201017.81048  20653876.2134   20653881.8734
+      -483.8994       -377.0654
+  21221806.5104  -17535966.39749 -13639708.89647  21221806.6544   21221811.4184
+      3105.4844       2419.8544
+  24125894.7604   -6972250.40549  -5420422.81745  24125895.5444   24125901.0854
+      3066.0084       2389.0944
+  20881631.2354  -20250118.56049 -15764754.31648  20881631.0554   20881636.1384
+      1771.7984       1380.6204
+  24955402.5804   -1506283.90749  -1161419.78845  24955401.7674   24955407.6494
+      1392.5884       1085.1324
diff --git a/trunk/apps/positioning/poscvt b/trunk/apps/positioning/poscvt
new file mode 100755
index 0000000..9b7f97d
Binary files /dev/null and b/trunk/apps/positioning/poscvt differ
diff --git a/trunk/apps/positioning/poscvt.cpp b/trunk/apps/positioning/poscvt.cpp
new file mode 100644
index 0000000..73e8983
--- /dev/null
+++ b/trunk/apps/positioning/poscvt.cpp
@@ -0,0 +1,215 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/positioning/poscvt.cpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "BasicFramework.hpp"
+#include "Position.hpp"
+#include "CommandOptionWithPositionArg.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class PosCvt : public BasicFramework
+{
+public:
+   PosCvt(char* arg0);
+   virtual bool initialize(int argc, char *argv[])
+      throw();
+
+protected:
+   virtual void process();
+   
+private:
+   CommandOptionWithPositionArg ecefOption;
+   CommandOptionWithPositionArg geodeticOption;
+   CommandOptionWithPositionArg geocentricOption;
+   CommandOptionWithPositionArg sphericalOption;
+   CommandOptionNoArg listFormatsOption;
+   CommandOptionWithAnyArg outputFormatOption;
+   CommandOptionMutex mutexOption;
+
+   string stringToParse;
+   string posSpec;
+};
+
+PosCvt::PosCvt(char* arg0)
+      : BasicFramework(arg0, "Converts from a given input position "
+                       "specification to other position formats.  Include the "
+                       "quotation marks."),
+        ecefOption('\0', "ecef", "%x %y %z", "ECEF \"X Y Z\" in meters"),
+        geodeticOption('\0', "geodetic", "%A %L %h", 
+                       "Geodetic \"lat lon alt\" in deg, deg, meters"),
+        geocentricOption('\0', "geocentric", "%a %l %r",
+                         "Geocentric \"lat lon radius\" in deg, deg, meters"),
+        sphericalOption('\0', "spherical", "%t %p %r",
+                        "Spherical \"theta, phi, radius\" in deg, deg, meters"),
+        listFormatsOption('l', "list-formats", "List the available format codes"
+                          " for use by the input and output format options."),
+        outputFormatOption('F', "output-format", "Write the position with the"
+                           " given format.")
+{
+   ecefOption.setMaxCount(1);
+   geodeticOption.setMaxCount(1);
+   geocentricOption.setMaxCount(1);
+   sphericalOption.setMaxCount(1);
+   listFormatsOption.setMaxCount(1);
+   outputFormatOption.setMaxCount(1);
+   
+   mutexOption.addOption(&ecefOption);
+   mutexOption.addOption(&geodeticOption);
+   mutexOption.addOption(&geocentricOption);
+   mutexOption.addOption(&sphericalOption);
+}
+
+bool PosCvt::initialize(int argc, char *argv[])
+   throw()
+{
+   if(!BasicFramework::initialize(argc, argv))
+      return false;
+   
+   if(listFormatsOption.getCount())
+   {
+      cout << "  %X %Y %Z  (cartesian or ECEF in kilometers)" << endl
+           << " %x %y %z  (cartesian or ECEF in meters)" << endl
+           << " %a %l %r  (geocentric lat,lon,radius, longitude E, "
+         "radius in meters)" << endl
+           << " %A %L %h  (geodetic lat,lon,height, longitude E, " 
+         "height in meters)" << endl
+           << " %a %w %R  (geocentric lat,lon,radius, longitude W, "
+         "radius in kilometers)" << endl
+           << " %A %W %H  (geodetic lat,lon,height, longitude W, "
+         "height in kilometers)" << endl
+           << " %t %p %r  (spherical theta, phi, radius, " 
+         "degrees and meters)" << endl
+           << " %T %P %R  (spherical theta, phi, radius, " 
+         "radians and kilometers)" << endl;
+      
+      return false;
+   }
+   
+   return true;
+}
+
+void PosCvt::process()
+{
+   try
+   {
+      Position pos;
+      
+      CommandOptionWithPositionArg *whichOpt = 
+         dynamic_cast<CommandOptionWithPositionArg *>(mutexOption.whichOne());
+      
+      if (whichOpt != NULL)
+      {
+         pos = whichOpt->getPosition().front();
+      }
+      
+      if (outputFormatOption.getCount())
+      {
+         cout << pos.printf(outputFormatOption.getValue()[0]) << endl;
+      }
+      else
+      {
+         using StringUtils::leftJustify;
+         string four(4, ' '); // four spaces!
+         
+         Position foo = pos.asECEF();
+         
+         cout << endl
+              << four << leftJustify("ECEF (x,y,z) in meters", 36)
+              << foo.printf("%.4x %.4y %.4z") << endl;
+
+         foo = pos.asGeodetic();
+
+         cout << four << leftJustify("Geodetic (llh) in deg, deg, m", 36)
+              << foo.printf("%.8A %.8L %.4h") << endl;
+
+            // no Position::asGeocentric() available
+         foo = pos.transformTo(Position::Geocentric);
+         
+         cout << four << leftJustify("Geocentric (llr) in deg, deg, m", 36)
+              << pos.printf("%.8a %.8L %.4r") << endl;
+
+         foo = pos.transformTo(Position::Spherical);
+
+         cout << four << leftJustify("Spherical (tpr) in deg, deg, m", 36)
+              << pos.printf("%.8t %.8p %.4r") << endl
+            
+              << endl << endl;
+      }
+      
+   }
+   catch(GeometryException& ge)
+   {
+      cout << ge << endl;
+   }
+}
+   
+int main(int argc, char* argv[])
+{
+   try
+   {
+      PosCvt pc(argv[0]);
+
+      if (!pc.initialize(argc, argv))
+         return 0;
+      
+      if(!pc.run())
+         return 1;
+
+      return 0;
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "Caught an unknown exception." << endl;
+   }
+
+   return 1;
+}
diff --git a/trunk/apps/positioning/rinexpvt b/trunk/apps/positioning/rinexpvt
new file mode 100755
index 0000000..4c0706d
Binary files /dev/null and b/trunk/apps/positioning/rinexpvt differ
diff --git a/trunk/apps/positioning/rinexpvt.cpp b/trunk/apps/positioning/rinexpvt.cpp
new file mode 100644
index 0000000..cdbc3ef
--- /dev/null
+++ b/trunk/apps/positioning/rinexpvt.cpp
@@ -0,0 +1,467 @@
+#include "rinexpvt.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+double carrierPhaseSmooth(RinexPrn prn, double range, double phase,
+			  DayTime t, double maxAge=86400,
+			  double datarate=30)
+{
+    static map<RinexPrn,double> smoothedRange;
+    static map<RinexPrn,DayTime> lastEpoch;
+    static map<RinexPrn,double> lastPhase;
+    static map<RinexPrn,DayTime> firstEpoch;
+
+    bool debug = true;
+    const double teps = .1; // fudge factor for missed epochs 
+    const int k = 10;
+               
+    // Should this smoother be (re)started?
+    bool initialize = false; 
+
+    // Record why the smoother is restarted, if necessary
+    enum smootherState { NORMAL=0, NODATA, SKIPPEDEPOCH, AGE, SLIP};
+    smootherState thisState = NORMAL;
+
+    // Yes, if we are just beginning to see data for this PRN
+    map<RinexPrn,double>::iterator i, j;
+    i = smoothedRange.find(prn);
+    j = lastPhase.find(prn);
+
+    initialize = ((i==smoothedRange.end())||(j==lastPhase.end())); 
+    if (initialize) thisState = NODATA;
+    
+    // Yes, if we skipped an epoch
+    if (!initialize)
+    {
+	if (initialize = ( fabs(t - lastEpoch[prn] - datarate) > teps ))
+           thisState = SKIPPEDEPOCH;
+    }
+
+    // Yes, if the filter is too old
+    if (!initialize)
+    {
+        if (initialize = ( fabs( t - firstEpoch[prn]) > maxAge))
+           thisState = AGE;
+    }
+
+    if (initialize)
+    {
+	smoothedRange[prn]=range;
+        firstEpoch[prn]=t;
+    }
+    else
+	smoothedRange[prn] = 
+	    (range + (k-1)*(smoothedRange[prn] + phase - lastPhase[prn]))/k;
+
+    if (fabs((smoothedRange[prn] - range)) > 20)
+    { 
+       initialize = true;
+       smoothedRange[prn]=range;
+       firstEpoch[prn]=t; 
+       thisState = SLIP;
+    }
+
+    lastPhase[prn] = phase;
+    lastEpoch[prn] = t;
+
+    if (debug)
+    {
+       static ofstream debugStream("smootherdebug.txt");
+       debugStream << t.printf("%F %g ");
+       //debugStream << t.printf("%Y %m %d %02H %02M %f ");
+       debugStream << prn.prn << " "; 
+       debugStream << setprecision(12) << smoothedRange[prn] << " ";
+       debugStream << range << " " << phase << " ";
+       debugStream << thisState << " ";
+//       debugStream << lastPhase[prn];
+       debugStream << endl;
+    }
+
+    return smoothedRange[prn];
+
+}
+
+RINEXPVTSolution::RINEXPVTSolution(char *arg0)
+    : BasicFramework(arg0, "GPSTk PVT Generator\n\nThis application generates user positions based on RINEX observations.\n\nNOTE: Although the -n and -p arguments appear as optional below, one of the two must be used. An ephemeris source must be specified."),
+      obsOption('o', "obs-file", "RINEX Obs File.", true),
+      navOption('n', "nav-file", "RINEX Nav File. Required for single frequency ionosphere correction.", false),
+      peOption ('p', "pe-file",  "SP3 Precise Ephemeris File. Repeat this for each input file.", false),
+      metOption('m', "met-file", "RINEX Met File.", false),
+      spsOption('s', "single-frequency", "Use only C1 (SPS)"),
+      ppsOption('f', "dual-frequency", "Use only P1 and P2 (PPS)"),
+      timeFormatOption('t',"time-format","Alternate time format string."),
+      ionoOption('i',"no-ionosphere", "Do NOT correct for ionosphere delay."),
+      enuOption('e', "enu", "Use the following as origin to solve for East/North/Up coordinates, formatted as a string: \"X Y Z\" "),
+      elevationMaskOption('l',"elevation-mask","Elevation mask (degrees)."),
+      searchNearOption('x',"no-closest-ephemeris","Allow ephemeris use outside of fit interval."),
+      smootherOption('c',"no-carrier-smoothing","Do NOT use carrier phase smoothing."),
+      hasBCEstore(false)
+  {
+    obsOption.setMaxCount(1);
+    navOption.setMaxCount(1);
+    metOption.setMaxCount(1);
+    spsOption.setMaxCount(1);
+    ppsOption.setMaxCount(1);
+    searchNearOption.setMaxCount(1);
+    elevationMaskOption.setMaxCount(1);
+
+    enuOption.setMaxCount(1);
+    timeFormatOption.setMaxCount(1);
+    ionoOption.setMaxCount(1);
+    smootherOption.setMaxCount(1);
+    
+    gotMet = false;
+    spsSolution = false;
+    ppsSolution = false;
+    aprioriPositionDefined = false;
+    transformENU = false;
+    removeIonosphere = true;
+    searchNear = false;
+    useSmoother = true;
+
+    elevationMask = 0;
+    
+    obsFileName = metFileName = "";
+  }
+
+
+bool RINEXPVTSolution::initialize(int argc, char *argv[])
+    throw()
+  {
+    if(!BasicFramework::initialize(argc, argv))
+      return false;
+    
+    obsFileName = obsOption.getValue().front();
+
+    if(metOption.getCount())
+    {
+       gotMet = true;
+       metFileName = metOption.getValue().front();
+    }
+
+    spsSolution = (spsOption.getCount()>0);
+    ppsSolution = (ppsOption.getCount()>0);
+
+    if (enuOption.getCount())
+    {
+       double x, y, z;
+       sscanf(enuOption.getValue().front().c_str(),"%lf %lf %lf",
+              &x, &y, &z);
+       enuOrigin=Triple(x,y,z);
+       double mag = enuOrigin.mag();
+       upVector = Triple( enuOrigin[0] / mag, enuOrigin[1]/mag, enuOrigin[2]/mag);
+       Triple poleVector(0,0,1.);
+       if (enuOrigin[2]<0) poleVector[2]=-1.;
+       eastVector = upVector.cross(poleVector);
+       northVector = upVector.cross(eastVector);
+
+       transformENU = true;
+       
+    }
+    
+    if (timeFormatOption.getCount()>0)
+    {
+       epochFormat = timeFormatOption.getValue().front();
+    } 
+    else 
+       epochFormat = string("%Y %m %d %02H %02M %f");
+
+    if (elevationMaskOption.getCount()>0)
+    {
+          elevationMask =
+             StringUtils::asFloat(elevationMaskOption.getValue().front());
+    }
+    
+    searchNear       = (searchNearOption.getCount()>0);
+    removeIonosphere = (ionoOption.getCount()==0);
+    useSmoother      = (smootherOption.getCount()==0);
+    
+    return true;      
+  }
+
+
+void RINEXPVTSolution::process()
+  {
+    IonoModel spsIonoCorr;
+    
+    // Read nav file and store unique list of ephemeredes
+    if (navOption.getCount()>0)
+    {       
+       RinexNavStream rnffs(navOption.getValue().front().c_str());
+       RinexNavData rne;
+       RinexNavHeader hdr;
+       rnffs >> hdr;
+       spsIonoCorr = IonoModel(hdr.ionAlpha, hdr.ionBeta);
+       while (rnffs >> rne) bcestore.addEphemeris(rne);
+       if (searchNear) bcestore.SearchNear();
+       virtualEphStore = &bcestore;
+       hasBCEstore = true;
+    }
+
+    //
+    if (peOption.getCount()>0)
+    {
+       for (int i=0; i<peOption.getCount(); i++)
+          sp3store.loadFile(peOption.getValue()[i].c_str());
+
+       virtualEphStore = &sp3store;
+    }
+    
+
+    // If provided, open and store met file into a linked list.
+    list<RinexMetData> rml;
+    if (metFileName != "")
+      {
+	RinexMetStream rms(metFileName.c_str());
+	RinexMetHeader rmh;
+	rms >> rmh;
+	
+	RinexMetData rmd;
+	while (rms >> rmd) rml.push_back(rmd);
+      }
+    
+    // Open and read the observation file one epoch at a time.
+    // For each epoch, compute and print a position solution
+    RinexObsStream roffs(obsFileName.c_str());
+    roffs.exceptions(ios::failbit);
+    
+    RinexObsHeader roh;
+    RinexObsData rod;
+    
+    roffs >> roh;
+
+    if ((!aprioriPositionDefined) && (roh.valid & RinexObsHeader::antennaPositionValid) )
+    {
+       aprioriPosition = roh.antennaPosition;
+       aprioriPositionDefined = true;
+    }
+
+    double obsInterval = 30.0;
+    bool intervalDefined = false;
+    if (roh.valid & RinexObsHeader::intervalValid)
+    {
+	obsInterval = roh.interval;
+	intervalDefined = true;
+    }
+
+       // Determine if we can have access to dual frequency measurements.
+    bool p1Found(false), p2Found(false), caFound(false);
+    std::vector<RinexObsHeader::RinexObsType>::iterator i;
+    for (i = roh.obsTypeList.begin(); i != roh.obsTypeList.end(); i++)
+    {
+       if ((*i)== RinexObsHeader::P1) p1Found = true;
+       if ((*i)== RinexObsHeader::P2) p2Found = true;
+       if ((*i)== RinexObsHeader::C1) caFound = true;
+    }
+
+    if ( !p1Found || !p2Found )
+       spsSolution = true;
+
+    if ((spsOption) && !caFound)
+    {
+          // Should probably use a throw here
+       cerr << "RINEX header claims CA observations cannot be found." << endl;
+       exit(-1);
+    }
+
+        // Tweaking the PRSolution object
+    prSolver.RMSLimit = 400;
+    //prSolver.Debug    = true;
+
+       // Engage default weather model. Start weather data list at the beginning.
+    ggTropModel.setWeather(20., 1000., 50.);    
+    list<RinexMetData>::iterator mi=rml.begin();
+    
+    while (roffs >> rod)
+    {
+	double T, P, H;
+	
+	// Find a weather point.
+	while ( (gotMet) &&
+		(!rml.empty()) &&
+                (mi != rml.end()) &&
+		((*mi).time < rod.time) )
+	  {               
+            ggTropModel.setWeather((*mi).data[RinexMetHeader::TD],
+                                   (*mi).data[RinexMetHeader::PR],
+                                   (*mi).data[RinexMetHeader::HR]);
+            mi++;
+	  }
+	
+	
+	// Apply editing criteria 
+	if  (rod.epochFlag == 0 || rod.epochFlag == 1) // Begin usable data
+        {
+	    vector<RinexPrn> prnVec;
+            vector<double> rangeVec;
+            Xvt svpos;
+            double ionocorr;
+	    
+	    RinexObsData::RinexPrnMap::const_iterator it;
+            for (it = rod.obs.begin(); it!= rod.obs.end(); it++)
+            {
+		RinexObsData::RinexObsTypeMap otmap = (*it).second;
+
+                svpos = virtualEphStore->getPrnXvt((*it).first.prn,rod.time);
+                double elevation = aprioriPosition.elvAngle(svpos.x);
+                double azimuth =  aprioriPosition.azAngle(svpos.x);
+                
+                bool healthy=true;
+                if (hasBCEstore)
+                {
+                   if (bcestore.getPrnHealth((*it).first.prn,rod.time)!=0)
+                      healthy=false;
+                }
+                
+                   // Editing criteria
+                if ( (elevation >= elevationMask)  &&
+                     (healthy) )
+                {
+                
+                if ((spsSolution) && (!ppsSolution))
+                {
+                   RinexObsData::RinexObsTypeMap::const_iterator itCA = 
+                      otmap.find(RinexObsHeader::C1);
+                   RinexObsData::RinexObsTypeMap::const_iterator itL1 = 
+                      otmap.find(RinexObsHeader::L1);
+
+                   ionocorr = 0;
+                   
+                   if ((aprioriPositionDefined) && (removeIonosphere))
+                      ionocorr = spsIonoCorr.getCorrection(rod.time, 
+                                                           aprioriPosition,
+                                                           elevation, azimuth);
+                  prnVec.push_back((*it).first);
+                  double range  = (*itCA).second.data-ionocorr;
+
+                  if ((useSmoother) && (itL1 != otmap.end()))
+		  {
+                     double phase = ((*itL1).second.data)*C_GPS_M / L1_FREQ
+                                    + ionocorr;
+                     range = carrierPhaseSmooth( (*it).first, range, phase, 
+                                                 rod.time, 300.0, obsInterval);
+		  }
+
+                  rangeVec.push_back(range);
+                }
+                else
+                {
+                   ionocorr = 0;
+
+                   RinexObsData::RinexObsTypeMap::const_iterator itP1, itP2, itL1, itL2;
+                   itP1 = otmap.find(RinexObsHeader::P1);
+		   itP2 = otmap.find(RinexObsHeader::P2);
+                   itL1 = otmap.find(RinexObsHeader::L1);
+                   itL2 = otmap.find(RinexObsHeader::L2);
+		
+                   if ((removeIonosphere) &&
+                       (itP1!=otmap.end()) && (itP2!=otmap.end()))
+                      ionocorr = 1./(1.-gamma)*((*itP1).second.data-(*itP2).second.data);                
+                      
+                   if (fabs(ionocorr) < maxIonoDelay)
+                   {
+                      prnVec.push_back((*it).first);
+                      double range = (*itP1).second.data-ionocorr;
+                       
+                      if ( (useSmoother) && (itL1!=otmap.end()) && (itL2!=otmap.end()) )
+                      {
+                          double ionocorrPhase = -1./(1.-gamma)*((*itL1).second.data*C_GPS_M / L1_FREQ-(*itL2).second.data*C_GPS_M / L2_FREQ);
+                          double phase = (*itL1).second.data * C_GPS_M / L1_FREQ - ionocorrPhase;
+			  range = carrierPhaseSmooth( (*it).first, range, phase, 
+                                                       rod.time, 86400.0, obsInterval);
+		      }
+
+                      rangeVec.push_back(range);
+                   }
+
+                }
+
+                } // If above elevation mask
+                
+            }   
+	    
+
+            try {	
+               prSolver.RAIMCompute(rod.time,prnVec,rangeVec, *virtualEphStore, \
+			            &ggTropModel);
+	    }
+            catch (Exception e) {
+                cerr << e << endl;
+	    }
+            catch (...) {
+                cerr << "Unknown exception occured." << endl;
+            }
+            
+	    if (prSolver.isValid())
+            { 
+                  // Output epoch tag
+               cout << rod.time.printf(epochFormat) << " ";
+               
+               if (!transformENU)
+               {
+                  cout << setprecision(12) << prSolver.Solution[0] << " " ;
+                  cout << prSolver.Solution[1] << " " ;
+		  cout << prSolver.Solution[2] << " " ;
+                  cout << prSolver.Solution[3];
+		  cout << endl ;
+               }
+               else
+               {
+                  Triple x(prSolver.Solution[0] - enuOrigin[0],
+                           prSolver.Solution[1] - enuOrigin[1],
+                           prSolver.Solution[2] - enuOrigin[2]);
+                  
+                  cout << setprecision(12) << x.dot(eastVector) << " " ;
+                  cout << x.dot(northVector) << " " ;
+		  cout << x.dot(upVector) << " ";
+                  cout << prSolver.Solution[3];
+                  
+		  cout << endl;
+               }
+
+                if (!aprioriPositionDefined)
+                   aprioriPosition = Triple(prSolver.Solution[0], 
+                                            prSolver.Solution[1],
+                                            prSolver.Solution[2]);
+            }
+	    
+	  } // End usable data
+	
+      } // End loop through each epoch
+  }
+
+const double RINEXPVTSolution::gamma = (L1_FREQ / L2_FREQ)*(L1_FREQ / L2_FREQ);
+const double RINEXPVTSolution::maxIonoDelay = 1000;    
+
+int main(int argc, char *argv[])
+{
+  try
+    {
+      RINEXPVTSolution rinexpvt(argv[0]);
+      
+      if(!rinexpvt.initialize(argc, argv))
+	return 0;
+      
+      if(!rinexpvt.run())
+	return 1;
+      
+      return 0;
+    }
+  catch(Exception& exc)
+    {
+      cout << exc << endl;
+    }
+  catch(...)
+    {
+      cout << "Caught an unknown exception." << endl;
+    }
+  return 1;
+}
+
+
+
+
+
+
diff --git a/trunk/apps/positioning/rinexpvt.hpp b/trunk/apps/positioning/rinexpvt.hpp
new file mode 100644
index 0000000..0884caa
--- /dev/null
+++ b/trunk/apps/positioning/rinexpvt.hpp
@@ -0,0 +1,112 @@
+#ifndef RINEXPVT_HPP
+#define RINEXPVT_HPP
+
+#include <string>
+#include <cstring>
+#include <vector>
+
+#include "icd_200_constants.hpp"
+
+#include "RinexObsBase.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+
+#include "RinexNavBase.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+#include "BCEphemerisStore.hpp"
+
+#include "RinexMetBase.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetHeader.hpp"
+#include "RinexMetStream.hpp"
+#include "TropModel.hpp"
+
+#include "SP3EphemerisStore.hpp"
+
+#include "PRSolution.hpp"
+
+#include "IonoModel.hpp"
+
+#include "BasicFramework.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class RINEXPVTSolution : public BasicFramework
+{
+public:
+
+   // Linear relation between iono delay on L1 and L2. 
+   static const double gamma;
+
+   // Maximum sane value of the ionosphere delay
+   static const double maxIonoDelay;
+
+
+   RINEXPVTSolution(char *arg0);
+  
+   virtual bool initialize(int argc, char *argv[]) throw();
+   
+  
+protected:
+   virtual void process();
+   
+
+   EphemerisStore *virtualEphStore;
+   BCEphemerisStore bcestore;
+   SP3EphemerisStore sp3store;
+   PRSolution prSolver;
+   GGTropModel ggTropModel;
+
+   bool gotMet;
+   bool spsSolution;
+   bool ppsSolution;
+   bool transformENU;
+   bool removeIonosphere;
+   bool hasBCEstore;
+
+   double elevationMask;
+  
+   Geodetic aprioriPosition, enuOrigin;
+   Triple eastVector, upVector, northVector;
+   
+   bool aprioriPositionDefined;
+   
+   string obsFileName;
+   string metFileName;
+
+   string epochFormat;
+
+   bool searchNear;
+   bool useSmoother;
+
+   CommandOptionWithAnyArg obsOption;
+   CommandOptionWithAnyArg navOption;
+   CommandOptionWithAnyArg peOption;
+   CommandOptionWithAnyArg metOption;
+   CommandOptionWithAnyArg timeFormatOption;
+   CommandOptionWithAnyArg enuOption;
+   CommandOptionWithAnyArg elevationMaskOption;
+
+   CommandOptionNoArg spsOption;
+   CommandOptionNoArg ppsOption;
+   CommandOptionNoArg ionoOption;
+   CommandOptionNoArg searchNearOption;
+   CommandOptionNoArg smootherOption;
+  
+};
+
+#endif
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/apps/reszilla/DDEpoch.cpp b/trunk/apps/reszilla/DDEpoch.cpp
new file mode 100644
index 0000000..4d64401
--- /dev/null
+++ b/trunk/apps/reszilla/DDEpoch.cpp
@@ -0,0 +1,402 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/DDEpoch.cpp#1 $"
+
+#include "DDEpoch.hpp"
+
+using namespace std;
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+std::map<RinexObsType, double> DDEpoch::singleDifference(
+   const gpstk::RinexObsData::RinexObsTypeMap& rx1obs,
+   const gpstk::RinexObsData::RinexObsTypeMap& rx2obs)
+{
+   map<RinexObsType, double> diff;
+
+   gpstk::RinexObsData::RinexObsTypeMap::const_iterator d1_itr = rx1obs.find(D1);
+   if (d1_itr == rx1obs.end())
+      return diff;
+
+   // clock offset correction
+   double coc = clockOffset * d1_itr->second.data * gpstk::C_GPS_M/gpstk::L1_FREQ; 
+   gpstk::RinexObsData::RinexObsTypeMap::const_iterator roti1, roti2;
+   for (roti1 = rx1obs.begin(); roti1 != rx1obs.end(); roti1++)
+   {
+      const RinexObsType& rot = roti1->first;
+
+      // Make sure we have an obs from the other receiver
+      roti2 = rx2obs.find(rot);
+      if (roti2 == rx2obs.end())
+         continue;
+
+      // Compute the first difference
+      diff[rot] = roti1->second.data - roti2->second.data;
+
+      // Need to convert the phase/doppler observables to meters
+      if (rot == L1 || rot == D1)
+         diff[rot] *=  gpstk::C_GPS_M/gpstk::L1_FREQ;
+      if (rot == L2 || rot == D2)
+         diff[rot] *=  gpstk::C_GPS_M/gpstk::L2_FREQ;
+
+      // Then pull off the clock correction
+      diff[rot] -= coc;
+   }
+
+   return diff;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void DDEpoch::doubleDifference(
+   const gpstk::RinexObsData& rx1,
+   const gpstk::RinexObsData& rx2)
+{
+   valid = false;
+   dd.clear();
+   if (masterPrn.prn < 0)
+   {
+      if (verbosity>2)
+         cout << rx1.time.printf(timeFormat) << " No master SV selected.  Skipping epoch." << endl;
+      return;
+   }
+
+   clockOffset = rx1.clockOffset - rx2.clockOffset;
+   if (std::abs(clockOffset)>2.1e-3 || std::abs(clockOffset)<1e-10)
+   {
+      if (verbosity>2)
+         cout << rx1.time.printf(timeFormat)
+              << " Rx1-Rx2 clock offset is " << 1e3*clockOffset << " ms. Skipping epoch."
+              << endl;
+      return;
+   }
+
+   gpstk::RinexObsData::RinexPrnMap::const_iterator oi1, oi2;
+   oi1 = rx1.obs.find(masterPrn);
+   oi2 = rx2.obs.find(masterPrn);
+   const gpstk::RinexObsData::RinexObsTypeMap& rx1obs = oi1->second;
+   const gpstk::RinexObsData::RinexObsTypeMap& rx2obs = oi2->second;
+
+   ROTDM masterDiff = singleDifference(rx1obs, rx2obs);
+   if (masterDiff.size() == 0)
+      return;
+
+   // Now walk through all prns in track
+   for (oi1=rx1.obs.begin(); oi1!=rx1.obs.end(); oi1++)
+   {
+      gpstk::RinexPrn prn = oi1->first;
+      oi2 = rx2.obs.find(prn);
+      if (oi2 == rx2.obs.end())
+         continue;
+
+      ROTDM otherDiff;
+
+      if (prn != masterPrn)
+         otherDiff = singleDifference( oi1->second,  oi2->second);
+
+      // Now compute the double differences
+      // Note that for the master this will be a single diff
+      for (ROTDM::const_iterator roti = masterDiff.begin(); roti != masterDiff.end(); roti++)
+         dd[prn][roti->first] = roti->second - otherDiff[roti->first];
+   }
+
+   valid = true;
+}
+
+
+// ---------------------------------------------------------------------
+// Criteria for the masterPrn
+//   it has an elevation > the min, 
+//   it it on the way up (i.e. doppler>0),
+//   there is a record for it on the other receiver
+// ---------------------------------------------------------------------
+void DDEpoch::selectMasterPrn(
+   const gpstk::RinexObsData& rx1, 
+   const gpstk::RinexObsData& rx2,
+   PrnElevationMap& pem)
+{
+   double minElevation = 15.0;
+
+   // If there is already one selected, try to keep using that one...
+   if (masterPrn.prn >0)
+   {
+      RinexPrnMap::const_iterator i = rx1.obs.find(masterPrn);
+      RinexPrnMap::const_iterator j = rx2.obs.find(masterPrn);
+      if (i != rx1.obs.end() && j != rx2.obs.end() &&
+          pem[rx1.time][masterPrn] > minElevation)
+         return;
+   }
+
+   gpstk::RinexPrn prn;
+   for (RinexPrnMap::const_iterator i=rx1.obs.begin(); i != rx1.obs.end(); i++)
+   {
+      prn = i->first;
+      RinexPrnMap::const_iterator j = rx2.obs.find(prn);
+      RinexObsTypeMap obs = i->second;
+      if (j != rx2.obs.end() && obs[D1].data >= 0 &&
+          pem[rx1.time][i->first] > minElevation)
+      {
+         masterPrn = prn;
+         break;
+      }
+   }
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+bool phaseDisc(const ROTDM& curr, const ROTDM& prev)
+{
+   typedef std::set<RinexObsType> RinexObsTypeSet;
+   RinexObsTypeSet phaseObsTypes;
+   phaseObsTypes.insert(L1);
+   phaseObsTypes.insert(L2);
+
+   for (ROTDM::const_iterator i=curr.begin(); i != curr.end(); i++)
+   {
+      const RinexObsType& rot = i->first;
+      if (phaseObsTypes.find(rot) == phaseObsTypes.end())
+         continue;
+      
+      ROTDM::const_iterator j = prev.find(rot);
+      if (j == prev.end())
+         continue;
+
+      // Replace with double lamda = rot.lamda();
+      double lamda = ((rot==L1) ? gpstk::C_GPS_M/gpstk::L1_FREQ : gpstk::C_GPS_M/gpstk::L2_FREQ);
+      double td = (i->second - j->second) / lamda;
+      if (std::abs(td) > 0.9)
+         return true;
+   }
+
+   // No problems were found.
+   return false;
+}
+
+//-----------------------------------------------------------------------------
+// Similiar to computeDD but does a triple difference to look for cycle slips
+//-----------------------------------------------------------------------------
+void computeDDEpochMap(
+   RODEpochMap& rx1,
+   RODEpochMap& rx2,
+   PrnElevationMap& pem,
+   DDEpochMap& ddem)
+{
+   if (verbosity)
+      cout << "Computing 2nd differences residuals with new SV master selection using a" << endl
+           << "3rd difference cycle slip detection." << endl;
+
+   float minMasterElevation = 15;
+   if (verbosity>1)
+      cout << "Using a minimum master SV elevation of "
+           << minMasterElevation << " degrees." << std::endl;
+ 
+   DDEpoch prev;
+
+   // We use the data from rx1 walk us through the data
+   // loop over all epochs for this station
+   for (RODEpochMap::const_iterator ei1=rx1.begin(); ei1!=rx1.end(); ei1++)
+   {
+      // first make sure we have data from the other receiver for this
+      // epoch...
+      gpstk::DayTime t = ei1->first;
+      RODEpochMap::const_iterator ei2 = rx2.find(t);
+      if (ei2 == rx2.end())
+      {
+         if (verbosity>2)
+            cout << t.printf(timeFormat)
+                 << " No data in second set. Skipping epoch." << endl;
+         continue;
+      }
+      
+      DDEpoch curr;
+
+      // Try to keep using the previous master PRN
+      if (prev.valid)
+         curr.masterPrn = prev.masterPrn;
+
+      curr.selectMasterPrn(ei1->second, ei2->second, pem);
+
+      curr.doubleDifference(ei1->second, ei2->second);
+
+      if (!curr.valid)
+         continue;
+
+      if (prev.valid && 
+          phaseDisc(curr.dd[curr.masterPrn], prev.dd[curr.masterPrn]))
+      {
+         // since it appears that there is a cycle slip on the current master,
+         // we want to back up 7 epochs, select a new master, and reprocess
+         // the those epochs. if we can't back up, then skip this epoch
+         if (verbosity)
+            cout << t.printf(timeFormat)
+                 << " Possible cycle slip on the master ("
+                 << curr.masterPrn.prn << "). Backing up 7 epochs." << endl;
+
+         int n;
+         for (n=0; n<7 && ei1 != rx1.begin(); n++)
+            ei1--;
+
+         if (n!=7 && verbosity)
+            cout << t.printf(timeFormat) 
+                 << " Failed to back up 7 epochs." << endl;
+            
+         gpstk::DayTime prevTime = ei1->first;
+         ei1++;
+         t = ei1->first;
+         ei2 = rx2.find(t);
+            
+         gpstk::RinexPrn prn, badPrn = curr.masterPrn;
+         for (RinexPrnMap::const_iterator i=ei1->second.obs.begin(); i != ei1->second.obs.end(); i++)
+         {
+            prn = i->first;
+            RinexPrnMap::const_iterator j = ei2->second.obs.find(prn);
+            RinexObsTypeMap obs = i->second;
+            if (j != ei2->second.obs.end() && obs[D1].data >= 0 &&
+                pem[t][prn] > minMasterElevation &&
+                prn != badPrn)
+               break;
+         }
+         // Now recompute the double differences
+         curr = DDEpoch(); // cheap way to clear this out...
+         curr.masterPrn = prn;
+         curr.doubleDifference(ei1->second, ei2->second);
+         if (!curr.valid)
+            continue;
+      } // end dealing with a slip on the master SV
+
+      ddem[t] = curr;
+      prev = curr;
+   } // end of looping over all epochs in the first set.
+}  // end of computeDDEpochMap()
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dumpStats(DDEpochMap& ddem,
+               const CycleSlipList& csl,
+               PrnElevationMap& pem)
+{
+   cout << endl
+        << "ord        elev   stddev    mean    z   #obs  #del   max   strip   slips" << endl
+        << "---------- -----  -------  ----------  ------ ----  ------ ------  -----" << endl;
+
+   for (ElevationRangeList::const_iterator i = elr.begin(); i != elr.end(); i++)
+   {
+      cout << "c1 dd res " << computeStats(C1, ddem,  *i, pem) << "   " << endl;
+      cout << "p1 dd res " << computeStats(P1, ddem,  *i, pem) << "   " << endl;
+      cout << "l1 dd res " << computeStats(L1, ddem,  *i, pem) << "  " 
+           << computeStats(csl, *i, L1) << endl;
+      cout << "d1 dd res " << computeStats(D1, ddem,  *i, pem) << "   " << endl;
+      cout << endl;
+   }
+   cout << "------------------------------------------------------------------------ " << endl;
+
+   for (ElevationRangeList::const_iterator i = elr.begin(); i != elr.end(); i++)
+   {
+      cout << "p2 dd res " << computeStats(P2, ddem,  *i, pem) << "   " << endl;
+      cout << "l2 dd res " << computeStats(L2, ddem,  *i, pem) << "  " 
+           << computeStats(csl, *i, L2) << endl;
+      cout << "d2 dd res " << computeStats(D2, ddem,  *i, pem) << "   " << endl;
+      cout << endl;
+   }
+   cout << "------------------------------------------------------------------------ " << endl;
+}
+
+
+// ---------------------------------------------------------------------
+// Returns a string containing a statistical summary of the double difference
+// residuals for the specified obs type within the given elevation range.
+// ---------------------------------------------------------------------
+string computeStats(
+   const RinexObsType rot,
+   DDEpochMap& ddem,
+   const ElevationRange er,
+   PrnElevationMap& pem)
+{
+   ostringstream oss;
+   float minElevation = er.first;
+   float maxElevation = er.second;
+
+   gpstk::Stats<double> good, bad;
+   DDEpochMap::iterator ei;
+   for (ei = ddem.begin(); ei != ddem.end(); ei++)
+   {
+      const gpstk::DayTime& t = ei->first;
+      PrnROTDM::iterator pi;
+      for (pi = ei->second.dd.begin(); pi != ei->second.dd.end(); pi++)
+      {
+         const gpstk::RinexPrn& prn = pi->first;
+         ROTDM& ddr = pi->second;
+         if (pem[t][prn]>minElevation && pem[t][prn]<maxElevation)
+         {
+            if (abs(ddr[rot]) < 1000 )
+               good.Add(ddr[rot]);
+            else
+               bad.Add(ddr[rot]);
+         }
+      }
+   }
+   
+   oss << right << " " << setprecision(2) << setw(2) <<  minElevation
+        << "-" << setw(2) << maxElevation << " ";
+
+   char b1[200];
+   char zero = good.Average() < good.StdDev()/sqrt((float)good.N())?'0':' ';
+   double maxDD = max(abs(good.Minimum()), abs(good.Maximum()));
+   sprintf(b1, "%8.5f  %8.4f %c %7d %4d  %6.2f %6.2f",
+           good.StdDev()/sqrt(2), good.Average(), zero,
+           good.N(), bad.N(), maxDD, 1000.0);
+
+   oss << b1;
+   return oss.str();
+}
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dump(std::ostream& s,
+          DDEpochMap& ddem,
+          PrnElevationMap& pem)
+{
+   s.setf(ios::fixed, ios::floatfield);
+   s << "# time              PRN type  elev      clk(m)"
+     << "    2nd diff(m)"
+     << endl;
+
+   DDEpochMap::iterator ei;
+   PrnROTDM::iterator pi;
+   for (ei = ddem.begin(); ei != ddem.end(); ei++)
+   {
+      const gpstk::DayTime& t = ei->first;
+      double clk = ei->second.clockOffset;
+      string time=t.printf(timeFormat);
+      gpstk::RinexPrn& masterPrn = ei->second.masterPrn;
+      for (pi = ei->second.dd.begin(); pi != ei->second.dd.end(); pi++)
+      {
+         const gpstk::RinexPrn& prn = pi->first;
+         ROTDM& ddr = pi->second;
+
+         s << left << setw(20) << time << right
+           << setfill(' ')
+           << " " << setw(2) << prn.prn
+           << " " << setw(4) << 1
+           << " " << setprecision(1) << setw(5)  << pem[t][prn]
+           << " " << setprecision(3) << setw(12)  << clk
+
+           << " " << setprecision(6) << setw(14) << ddr[L1]
+           << endl;
+
+         s << left << setw(20) << time << right
+           << setfill(' ')
+           << " " << setw(2) << prn.prn
+           << " " << setw(4) << 2
+           << " " << setprecision(1) << setw(5)  << pem[t][prn]
+           << " " << setprecision(3) << setw(12)  << clk
+
+           << " " << setprecision(6) << setw(14) << ddr[L2]
+           << endl;
+      }
+   }
+   s << endl;
+}  // end dump()
+
diff --git a/trunk/apps/reszilla/DDEpoch.hpp b/trunk/apps/reszilla/DDEpoch.hpp
new file mode 100644
index 0000000..207c86a
--- /dev/null
+++ b/trunk/apps/reszilla/DDEpoch.hpp
@@ -0,0 +1,61 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/DDEpoch.hpp#1 $"
+
+#ifndef DDEPOCH_HPP
+#define DDEPOCH_HPP
+
+#include "DayTime.hpp"
+#include "stl_helpers.hpp"
+#include "icd_200_constants.hpp"
+#include "Stats.hpp"
+
+#include "util.hpp"
+
+struct DDEpoch
+{
+   DDEpoch() : valid(false){};
+   PrnROTDM dd;
+   double clockOffset;
+   gpstk::RinexPrn masterPrn;
+   bool valid;
+
+   // Computes a single difference between two sets of obs
+   ROTDM singleDifference(
+      const gpstk::RinexObsData::RinexObsTypeMap& rx1obs,
+      const gpstk::RinexObsData::RinexObsTypeMap& rx2obs);
+   
+   // Sets the valid flag true if successfull
+   // also sets the masterPrn to the one actually used
+   void doubleDifference(
+      const gpstk::RinexObsData& rx1,
+      const gpstk::RinexObsData& rx2);
+
+   void selectMasterPrn(
+      const gpstk::RinexObsData& rx1, 
+      const gpstk::RinexObsData& rx2,
+      PrnElevationMap& pem);
+};
+
+typedef std::map<gpstk::DayTime, DDEpoch> DDEpochMap;
+
+void computeDDEpochMap(
+   RODEpochMap& rx1,
+   RODEpochMap& rx2,
+   PrnElevationMap& pem,
+   DDEpochMap& ddem);
+
+void dump(std::ostream& s,
+          DDEpochMap& ddem,
+          PrnElevationMap& pem);
+
+void dumpStats(
+   DDEpochMap& oem,
+   const CycleSlipList& csl,
+   PrnElevationMap& pem);
+
+std::string computeStats(
+   const RinexObsType rot,
+   DDEpochMap& oem,
+   const ElevationRange er,
+   PrnElevationMap& pem);
+
+#endif
diff --git a/trunk/apps/reszilla/ElevationRange.hpp b/trunk/apps/reszilla/ElevationRange.hpp
new file mode 100644
index 0000000..b29c130
--- /dev/null
+++ b/trunk/apps/reszilla/ElevationRange.hpp
@@ -0,0 +1,36 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/ElevationRange.hpp#1 $"
+
+#ifndef ELEVATIONRANGE_HPP
+#define ELEVATIONRANGE_HPP
+
+#include <iostream>
+#include <list>
+
+typedef std::pair<float, float> ElevationRange;
+typedef std::list< ElevationRange > ElevationRangeList;
+
+inline void dump(std::ostream& s, const ElevationRange& er)
+{
+   s << er.first << "-" << er.second;
+};
+
+inline std::ostream& operator<<(std::ostream& s, const ElevationRange& er)
+{
+   dump(s, er);
+   return s;
+};
+
+inline void dump(std::ostream& s, const ElevationRangeList& erl)
+{
+   for (ElevationRangeList::const_iterator i=erl.begin(); i != erl.end(); i++)
+      s << *i << " ";
+   s << std::endl;
+};
+
+inline std::ostream& operator<<(std::ostream& s, const ElevationRangeList& erl)
+{
+   dump(s, erl);
+   return s;
+};
+
+#endif
diff --git a/trunk/apps/reszilla/Jamfile b/trunk/apps/reszilla/Jamfile
new file mode 100644
index 0000000..57de4ff
--- /dev/null
+++ b/trunk/apps/reszilla/Jamfile
@@ -0,0 +1,22 @@
+# $Id: //depot/sgl/gpstk/dev/apps/reszilla/Jamfile#7 $
+
+SubDir TOP apps reszilla ;
+
+# It seems that if I explicity add the src directory, things are much happier.
+SEARCH_SOURCE += $(TOP)/src ;
+
+if ( $(C++) = CC ) && ( $(OS) = SOLARIS )
+{
+  CCFLAGS += -Xc ;
+  C++FLAGS += -compat=5 ;
+}
+
+Library rlib : util.cpp readers.cpp ordUtils.cpp DDEpoch.cpp PhaseCleaner.cpp
+  PhaseResidual.cpp ;
+
+LinkLibraries reszilla : rlib ;
+
+GPSLinkLibraries reszilla : gpstk rlib ;
+
+GPSMain reszilla : reszilla.cpp ;
+
diff --git a/trunk/apps/reszilla/Makefile.am b/trunk/apps/reszilla/Makefile.am
new file mode 100644
index 0000000..e79053b
--- /dev/null
+++ b/trunk/apps/reszilla/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = -I../../src
+LDADD = ./librlib.la ../../src/libgpstk.la
+
+noinst_LTLIBRARIES = librlib.la
+librlib_la_SOURCES = util.cpp readers.cpp
+
+noinst_PROGRAMS = reszilla aoa2rin
+
+reszilla_SOURCES = reszilla.cpp
+aoa2rin_SOURCES = aoa2rin.cpp
diff --git a/trunk/apps/reszilla/Makefile.in b/trunk/apps/reszilla/Makefile.in
new file mode 100644
index 0000000..0695fc2
--- /dev/null
+++ b/trunk/apps/reszilla/Makefile.in
@@ -0,0 +1,451 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = reszilla$(EXEEXT) aoa2rin$(EXEEXT)
+subdir = apps/reszilla
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+LTLIBRARIES = $(noinst_LTLIBRARIES)
+librlib_la_LIBADD =
+am_librlib_la_OBJECTS = util.lo readers.lo
+librlib_la_OBJECTS = $(am_librlib_la_OBJECTS)
+PROGRAMS = $(noinst_PROGRAMS)
+am_aoa2rin_OBJECTS = aoa2rin.$(OBJEXT)
+aoa2rin_OBJECTS = $(am_aoa2rin_OBJECTS)
+aoa2rin_LDADD = $(LDADD)
+aoa2rin_DEPENDENCIES = ./librlib.la ../../src/libgpstk.la
+am_reszilla_OBJECTS = reszilla.$(OBJEXT)
+reszilla_OBJECTS = $(am_reszilla_OBJECTS)
+reszilla_LDADD = $(LDADD)
+reszilla_DEPENDENCIES = ./librlib.la ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(librlib_la_SOURCES) $(aoa2rin_SOURCES) $(reszilla_SOURCES)
+DIST_SOURCES = $(librlib_la_SOURCES) $(aoa2rin_SOURCES) \
+	$(reszilla_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ./librlib.la ../../src/libgpstk.la
+noinst_LTLIBRARIES = librlib.la
+librlib_la_SOURCES = util.cpp readers.cpp
+reszilla_SOURCES = reszilla.cpp
+aoa2rin_SOURCES = aoa2rin.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  apps/reszilla/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  apps/reszilla/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+librlib.la: $(librlib_la_OBJECTS) $(librlib_la_DEPENDENCIES) 
+	$(CXXLINK)  $(librlib_la_LDFLAGS) $(librlib_la_OBJECTS) $(librlib_la_LIBADD) $(LIBS)
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+aoa2rin$(EXEEXT): $(aoa2rin_OBJECTS) $(aoa2rin_DEPENDENCIES) 
+	@rm -f aoa2rin$(EXEEXT)
+	$(CXXLINK) $(aoa2rin_LDFLAGS) $(aoa2rin_OBJECTS) $(aoa2rin_LDADD) $(LIBS)
+reszilla$(EXEEXT): $(reszilla_OBJECTS) $(reszilla_DEPENDENCIES) 
+	@rm -f reszilla$(EXEEXT)
+	$(CXXLINK) $(reszilla_LDFLAGS) $(reszilla_OBJECTS) $(reszilla_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/aoa2rin.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/readers.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reszilla.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/util.Plo at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
+	clean-noinstPROGRAMS mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstLTLIBRARIES clean-noinstPROGRAMS \
+	ctags distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-exec install-exec-am install-info \
+	install-info-am install-man install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/reszilla/PhaseCleaner.cpp b/trunk/apps/reszilla/PhaseCleaner.cpp
new file mode 100644
index 0000000..5ea7561
--- /dev/null
+++ b/trunk/apps/reszilla/PhaseCleaner.cpp
@@ -0,0 +1,180 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/PhaseCleaner.cpp#1 $"
+
+#include "PhaseCleaner.hpp"
+
+using namespace std;
+
+
+PhaseCleaner::PhaseCleaner()
+{
+   lamda[L1] = gpstk::C_GPS_M/gpstk::L1_FREQ;
+   lamda[L2] = gpstk::C_GPS_M/gpstk::L2_FREQ;
+
+   phaseObsTypes.insert(L1);
+   phaseObsTypes.insert(L2);
+
+   if (verbosity)
+      cout << "1 mm on L1 is " << 0.001/lamda[L1] << " cycles" << endl
+           << "1 mm on L2 is " << 0.001/lamda[L2] << " cycles" << endl;
+}
+
+
+//-----------------------------------------------------------------------------
+// Pulls the phase data data from the double difference epochs into arcs.
+//-----------------------------------------------------------------------------
+void PhaseCleaner::addData(
+   const RODEpochMap& rx1, 
+   const RODEpochMap& rx2, 
+   const DDEpochMap& ddem)
+{
+   if (verbosity)
+      cout << "Pulling phase data into arcs." << endl;
+   
+   // Now loop over all the epochs, pulling the data into the arcs
+   for (RODEpochMap::const_iterator ei1=rx1.begin(); ei1!=rx1.end(); ei1++)
+   {
+      gpstk::DayTime t = ei1->first;
+      const gpstk::RinexObsData& rod1 = ei1->second;
+      RODEpochMap::const_iterator ei2 = rx2.find(t);
+      
+      for (RinexPrnMap::const_iterator pi1=rod1.obs.begin(); pi1 != rod1.obs.end(); pi1++)
+      {
+         const gpstk::RinexPrn& prn = pi1->first;
+         const gpstk::RinexObsData::RinexObsTypeMap& rotm = pi1->second;
+
+         DDEpochMap::const_iterator ddi = ddem.find(t);
+         if (ddi == ddem.end())
+            continue;
+
+         PrnROTDM::const_iterator proti = ddi->second.dd.find(prn);
+         if (proti == ddi->second.dd.end())
+            continue;
+
+         RinexObsTypeSet::const_iterator rot_itr;
+         for (rot_itr = phaseObsTypes.begin(); rot_itr != phaseObsTypes.end(); rot_itr++)
+         {
+            const RinexObsType& rot = *rot_itr;
+            ROTDM::const_iterator rotdi = proti->second.find(rot);
+            RinexObsTypeMap::const_iterator l1 = rotm.find(rot);
+            if (rotdi == proti->second.end() || l1 == rotm.end())
+               continue;
+
+            // Initially add all data to the first arc for this prn -
+            // it gets split up later.
+            PhaseResidual::Arc& arc = pot[rot][prn].front();
+            // get the double differences
+            arc[t].dd = rotdi->second/lamda[rot];
+            arc.master = ddi->second.masterPrn;
+
+            // Get the phases from the original obs
+            arc[t].phase = l1->second.data/lamda[rot];
+         }
+      }
+   }
+}
+
+
+void PhaseCleaner::debias(void)
+{
+   if (verbosity)
+      cout << "Debiasing phase data." << endl;
+
+   // At this point, the pot has the phase, dd, and master prn set.
+   for (PraPrnOt::iterator i = pot.begin(); i != pot.end(); i++)
+   {
+      const RinexObsType& rot = i->first;
+      PraPrn& praPrn = i->second;
+
+      for (PraPrn::iterator j = praPrn.begin(); j != praPrn.end(); j++)
+      {
+         const gpstk::RinexPrn& prn = j->first;
+         PhaseResidual::ArcList& pral = j->second;
+         if (verbosity>1)
+            cout << "Debiasing prn " << prn.prn << " " << rot.type << endl;
+         pral.split();
+         pral.debias();
+         if (verbosity>1)
+            cout << pral;
+      }
+   }
+}  // end of debias()
+
+//-----------------------------------------------------------------------------
+// Gets the double differences and puts them back into the DDEpochMap
+//-----------------------------------------------------------------------------
+void PhaseCleaner::getPhaseDD(DDEpochMap& ddem) const
+{
+   if (verbosity)
+      cout << "Putting phase data back into the ddem." << endl;
+   
+   // Really should use pot to walk through the data...
+
+   for (PraPrnOt::const_iterator i = pot.begin(); i != pot.end(); i++)
+   {
+      const gpstk::RinexObsHeader::RinexObsType& rot = i->first;
+      const PraPrn& pp = i->second;
+ 
+      for (PraPrn::const_iterator j = pp.begin(); j != pp.end(); j++)
+      {
+         const gpstk::RinexPrn& prn = j->first;
+         const PhaseResidual::ArcList& al = j->second;
+
+         for (PhaseResidual::ArcList::const_iterator k = al.begin(); k != al.end(); k++)
+         {
+            const PhaseResidual::Arc& arc = *k;
+
+            for (PhaseResidual::Arc::const_iterator l = arc.begin(); l != arc.end(); l++)
+            {
+               const gpstk::DayTime& t = l->first;
+               const PhaseResidual::Obs& obs = l->second;
+
+               // Whew! thats deep. Now to stuff the dd back in to the ddem
+               // remember that ddem has it's values in meters
+               ddem[t].dd[prn][rot] = obs.dd * lamda[rot];
+            }
+         }
+      }
+   }
+}
+
+//-----------------------------------------------------------------------------
+// Gets the double differences and puts them back into the DDEpochMap
+//-----------------------------------------------------------------------------
+void PhaseCleaner::getSlips(CycleSlipList& csl) const
+{
+   // At this point, the pot has the phase, dd, and master prn set.
+   for (PraPrnOt::const_iterator i = pot.begin(); i != pot.end(); i++)
+   {
+      const RinexObsType& rot = i->first;
+      const PraPrn& praPrn = i->second;
+
+      for (PraPrn::const_iterator j = praPrn.begin(); j != praPrn.end(); j++)
+      {
+         const gpstk::RinexPrn& prn = j->first;
+         const PhaseResidual::ArcList& al = j->second;
+
+         for (PhaseResidual::ArcList::const_iterator k = al.begin(); k != al.end(); k++)
+         {
+            if (k==al.begin())
+               continue;
+            const PhaseResidual::Arc& arc = *k;
+            if (arc.size() > 5)
+            {
+               PhaseResidual::ArcList::const_iterator l = k;
+               l--;
+               const PhaseResidual::Arc& prev_arc = *l;
+               
+               CycleSlipRecord cs;
+               cs.t = arc.begin()->first;
+               cs.cycles = (arc.ddBias - prev_arc.ddBias);
+               cs.rot = rot;
+               cs.prn = prn;
+               cs.masterPrn = arc.master;
+               cs.postCount = arc.size();
+               cs.preCount = prev_arc.size();
+            }
+         }
+      }
+  
+   }
+}
diff --git a/trunk/apps/reszilla/PhaseCleaner.hpp b/trunk/apps/reszilla/PhaseCleaner.hpp
new file mode 100644
index 0000000..4fb5d9b
--- /dev/null
+++ b/trunk/apps/reszilla/PhaseCleaner.hpp
@@ -0,0 +1,38 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/PhaseCleaner.hpp#1 $"
+
+#ifndef PHASECLEANER_HPP
+#define PHASECLEANER_HPP
+
+#include <set>
+
+#include "DDEpoch.hpp"
+#include "PhaseResidual.hpp"
+
+class PhaseCleaner
+{
+public:
+   PhaseCleaner();
+   void addData(const RODEpochMap& rx1, const RODEpochMap& rx2, const DDEpochMap& ddem);
+
+   void debias(void);
+
+   void getSlips(CycleSlipList& csl) const;
+
+   void dump(std::ostream& s) const;
+
+   void getPhaseDD(DDEpochMap& ddem) const;
+
+   typedef std::set<RinexObsType> RinexObsTypeSet;
+   RinexObsTypeSet phaseObsTypes;
+
+   mutable ROTDM lamda;
+
+   // And an set of arcs for each PRN
+   typedef std::map<gpstk::RinexPrn, PhaseResidual::ArcList> PraPrn;
+
+   // And a set of those for each obs type
+   typedef std::map<gpstk::RinexObsHeader::RinexObsType, PraPrn> PraPrnOt;
+
+   PraPrnOt pot;
+};
+#endif
diff --git a/trunk/apps/reszilla/PhaseResidual.cpp b/trunk/apps/reszilla/PhaseResidual.cpp
new file mode 100644
index 0000000..841925f
--- /dev/null
+++ b/trunk/apps/reszilla/PhaseResidual.cpp
@@ -0,0 +1,115 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/PhaseResidual.cpp#1 $"
+
+#include "Stats.hpp"
+
+#include "PhaseResidual.hpp"
+
+namespace PhaseResidual
+{
+//------------------------------------------------------------------------------
+   void Obs::dump(std::ostream& s) const
+   {
+      s << "phase:" << phase
+        << " dd:" << dd
+        << " td:" << td;
+   }
+
+   std::ostream& operator << (std::ostream& s, const Obs& pr) { pr.dump(s); }
+
+
+//------------------------------------------------------------------------------
+   void Arc::computeTD(void)
+   {
+      iterator i, j;
+      for (i = j = begin(); i != end(); j=i++)
+      {
+         if (i == begin())
+            continue;
+         Obs& curr = i->second;
+         Obs& prev = j->second;
+         curr.td = curr.dd - prev.dd;
+      }
+   }
+
+   void Arc::debiasDD(double bias)
+   {
+      ddBias = bias;
+      for (iterator i = begin(); i != end(); i++)
+         i->second.dd -= ddBias;
+   }
+
+   gpstk::Stats<double> Arc::statsDD(void) const
+   {
+      gpstk::Stats<double> stats;
+
+      for (const_iterator i = begin(); i != end(); i++)
+         stats.Add(i->second.dd);
+
+      return stats;
+   }
+
+   void Arc::dump(std::ostream& s) const
+   {
+      gpstk::Stats<double> stats = statsDD();
+
+      s << "Arc size:" << size()
+        << " StdDev:" << stats.StdDev()
+        << " Average:" << stats.Average()
+        << std::endl;
+   }
+
+   std::ostream& operator <<(std::ostream& s, const Arc& arc) { arc.dump(s); }
+
+
+//------------------------------------------------------------------------------
+   void ArcList::split(void)
+   {
+      // First compute the triple differences for the first arc
+      front().computeTD();
+
+      // Now break the arc on big triple differences
+      iterator arc = begin();
+      for (Arc::iterator i = arc->begin(); i != arc->end(); i++)
+      {
+         Obs& pr = i->second;
+         bool slip = std::abs(pr.td) > 0.45;
+         if (slip)
+         {
+            int prevSize = arc->size();
+            // move from here to end to the next arc
+            Arc pra;
+            push_back(pra);
+            iterator nextArc = end();
+            nextArc--;
+            nextArc->insert(i, arc->end());
+            arc->erase(i, arc->end());
+            arc = nextArc;
+            i = arc->begin();
+         }
+      }
+   }
+
+   void ArcList::debias(void)
+   {
+      for (iterator i = begin(); i != end(); i++)
+         i->debiasDD(i->statsDD().Average());
+   }
+
+   void ArcList::dump(std::ostream& s) const
+   {
+      for (const_iterator i = begin(); i != end(); i++)
+         i->dump(s);
+         
+      gpstk::Stats<double> stats;
+      for (const_iterator i = begin(); i != end(); i++)
+         for (Arc::const_iterator j = i->begin(); j != i->end(); j++)
+            stats.Add(j->second.dd);
+
+      s << "ArcList N:" << stats.N()
+        << " StdDev:" << stats.StdDev()
+        << " Average:" << stats.Average()
+        << std::endl;
+   }
+
+   std::ostream& operator <<(std::ostream& s, const ArcList& al) { al.dump(s); }
+} // end of PhaseResidual namespace
diff --git a/trunk/apps/reszilla/PhaseResidual.hpp b/trunk/apps/reszilla/PhaseResidual.hpp
new file mode 100644
index 0000000..90f28c7
--- /dev/null
+++ b/trunk/apps/reszilla/PhaseResidual.hpp
@@ -0,0 +1,71 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/PhaseResidual.hpp#1 $"
+
+#ifndef PHASERESIDUAL_HPP
+#define PHASERESIDUAL_HPP
+
+#include <map>
+#include <iostream>
+
+#include "DayTime.hpp"
+#include "RinexObsHeader.hpp"
+
+#include "ElevationRange.hpp"
+
+// This namespace is just to keep the identifiers meaninfull and short...
+namespace PhaseResidual
+{
+   // The value of phase, double difference, triple difference for a single
+   // sv observable at a point in time.
+   class Obs
+   {
+   public:
+      double phase, dd, td; // units of cycles
+
+      Obs():phase(0),dd(0),td(0){};
+
+      void dump(std::ostream& s) const;
+   };
+
+   std::ostream& operator << (std::ostream& s, const Obs& pr);
+
+
+   // This is a set of observations over time plus a bias that has been
+   // removed from the double difference
+   class Arc : public std::map<gpstk::DayTime, Obs>
+   {
+     public:
+      Arc():ddBias(0){};
+      void dump(std::ostream& s) const;
+
+      double ddBias;
+      gpstk::RinexPrn master;
+
+      void computeTD();
+      void debiasDD(double bias);
+
+      gpstk::Stats<double> statsDD(void) const;
+   };
+
+   std::ostream& operator << (std::ostream& s, const Arc& arc);
+
+
+   // This is a set of arcs. While this class doesn't enforce it, the will
+   // be all from the same SV/observation type
+   class ArcList : public std::list<Arc>
+   {
+     public:
+      ArcList() {push_back(Arc());};
+
+      // compute triple differences in the first arc and then split that
+      // arc up based upon jumps in the triple differences.
+      void split();
+
+      // make each arc have a zero mean
+      void debias();
+
+      void dump(std::ostream& s) const;
+   };
+
+   std::ostream& operator << (std::ostream& s, const ArcList& pral);
+}
+#endif
diff --git a/trunk/apps/reszilla/ordUtils.cpp b/trunk/apps/reszilla/ordUtils.cpp
new file mode 100644
index 0000000..87a1b8a
--- /dev/null
+++ b/trunk/apps/reszilla/ordUtils.cpp
@@ -0,0 +1,268 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/ordUtils.cpp#1 $"
+
+#include "util.hpp"
+
+#include "ordUtils.hpp"
+
+#include "LinearClockModel.cpp"
+
+using namespace std;
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void compute_ords(ORDEpochMap& oem,
+                  const RODEpochMap& rem,
+                  const gpstk::RinexObsHeader& roh,
+                  const gpstk::EphemerisStore& eph,
+                  const gpstk::WxObsData& wod,
+                  bool svTime,
+                  const string& ordModeStr,
+                  const std::string& clkModelStr)
+{
+   bool dualFreq=false;
+   RinexObsType p1,p2;
+
+   if      (ordModeStr=="p1p2" || ordModeStr=="c1p2") dualFreq=true;
+
+   if      (ordModeStr=="p1p2") p1=P1, p2=P2;
+   else if (ordModeStr=="c1p2") p1=C1, p2=P2;
+   else if (ordModeStr=="c1")   p1=C1;
+   else if (ordModeStr=="p1")   p1=P1;
+   else if (ordModeStr=="p2")   p1=P2;
+   else
+   {
+      cout << "Unknown ORD computation requested, mode=" << ordModeStr << endl;
+      return;
+   }
+
+   if (verbosity)
+      cout << "Computing observed range deviations." << endl;
+
+   if (verbosity>1)
+      if (svTime)
+         cout << "Assuming data is tagged in SV time (time of emission)." << endl;
+      else
+         cout << "Assuming data is taged in Receiver time (gps time)." << endl;
+
+
+   if (gpstk::RSS(roh.antennaPosition[0],
+           roh.antennaPosition[1],
+           roh.antennaPosition[2]) < 1)
+   {
+      cout << "Warning! The antenna appears to be within one meter of the" << endl
+           << "center of the geoid. This program is not capable of" << endl
+           << "accurately estimating the propigation of GNSS signals" << endl
+           << "through solids such as a planetary crust or magma. Also," << endl
+           << "if this location is correct, your antenna is probally" << endl
+           << "no longer in the best of operating condition." << endl;
+      return;
+   }
+   
+   gpstk::ObsClockModel* cm;
+   if (clkModelStr=="epoch")
+   {
+      if (verbosity)
+         cout << "Using an epoch clock model." << endl;
+      cm = new(gpstk::EpochClockModel);
+   }
+   else if (clkModelStr=="linear")
+   {
+      if (verbosity)
+         cout << "Using a linear clock model." << endl;
+      cm = new(gpstk::LinearClockModel);
+   }
+   else
+   {
+      cout << "Unknown clock model requestd, model=" << clkModelStr << endl;
+      return;
+   }
+
+   if (verbosity>4)
+      gpstk::ObsRngDev::debug = true;
+
+   cm->setElevationMask(5);
+   gpstk::GPSGeoid gm;
+   gpstk::ECEF ap(roh.antennaPosition);
+   gpstk::Geodetic geo(ap, &gm);
+   gpstk::NBTropModel tm(geo.getAltitude(), geo.getLatitude(), roh.firstObs.DOYday());
+
+   RODEpochMap::const_iterator i;
+   for (i=rem.begin(); i!=rem.end(); i++)
+   {
+      const gpstk::DayTime& t = i->first;
+      const gpstk::RinexObsData& rod = i->second;
+
+      gpstk::ORDEpoch& oe = oem[t];
+      oe.time = t;
+
+      // Now set up our trop model for this epoch
+      const gpstk::WxObservation wx = wod.getMostRecent(t);
+      if (verbosity>3)
+         cout << "wx: " << wx << endl;
+      if (wx.isAllValid())
+         tm.setWeather(wx.temperature, wx.pressure, wx.humidity);
+
+      // Walk over all prns in this epoch
+      gpstk::RinexObsData::RinexPrnMap::const_iterator rpi;
+      for (rpi=rod.obs.begin(); rpi!=rod.obs.end(); rpi++)
+      {
+         short prn = rpi->first.prn;
+
+         gpstk::RinexObsData::RinexObsTypeMap rotm = rpi->second;
+
+         try
+         {
+            if (dualFreq)
+            {
+               gpstk::ObsRngDev ord(rotm[p1].data, rotm[p2].data,
+                                    prn, t, ap, eph, gm, tm, svTime);
+               oe.ords[prn] = ord;
+            }
+            else
+            {
+               gpstk::ObsRngDev ord(rotm[p1].data, 
+                                    prn, t, ap, eph, gm, tm, svTime);
+               oe.ords[prn] = ord;
+            }
+         }
+         catch (gpstk::EphemerisStore::NoEphemerisFound& e)
+         {
+            if (verbosity>2)
+               cout << e.getText() << endl;
+         }
+      }
+
+      cm->addEpoch(oe);
+      if (verbosity>3)
+         cout << "clk: " << *cm << endl;
+      oe.applyClockModel(*cm);
+      if (verbosity>3)
+         cout << "oe: " << oe;
+   }
+
+   delete cm;
+} // end of compute_ords()
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dumpStats(const ORDEpochMap& oem, 
+               const string& ordMode, 
+               const double sigmam)
+{
+   cout << endl
+        << "ord        elev   stddev    mean    z   #obs  #del   max   strip" << endl
+        << "---------- -----  -------  ----------  ------ ----  ------ ------" << endl;
+
+   string desc = ordMode + " ord  ";
+
+   for (ElevationRangeList::const_iterator i = elr.begin(); i != elr.end(); i++)
+      computeStats(desc, oem, *i, sigmam);
+
+   if (verbosity>1)
+      cout << endl
+           << "stddev, mean, max, and strip in meters" << endl
+           << "z: 0 if mean < stddev/sqrt(n)" << endl;
+}
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void computeStats(
+   const string desc,
+   const ORDEpochMap& oem,
+   const ElevationRange er,
+   const double sigmam)
+{
+   float minElevation = er.first;
+   float maxElevation = er.second;
+
+   gpstk::Stats<double> fp;
+   ORDEpochMap::const_iterator ei;
+   for (ei = oem.begin(); ei != oem.end(); ei++)
+   {
+      const gpstk::DayTime& t = ei->first;
+      gpstk::ORDEpoch::ORDMap::const_iterator pi;
+      for (pi = ei->second.ords.begin(); pi != ei->second.ords.end(); pi++)
+      {
+         const float el = pi->second.getElevation();
+         const double ord = pi->second.getORD();
+         if (el>minElevation && el<maxElevation && abs(ord) < 1e6)
+            fp.Add(ord);
+      }
+   }
+
+   double strip = sigmam * fp.StdDev();
+   gpstk::Stats<double> good, bad;
+   for (ei = oem.begin(); ei != oem.end(); ei++)
+   {
+      const gpstk::DayTime& t = ei->first;
+      gpstk::ORDEpoch::ORDMap::const_iterator pi;
+      for (pi = ei->second.ords.begin(); pi != ei->second.ords.end(); pi++)
+      {
+         const float el = pi->second.getElevation();
+         const double ord = pi->second.getORD();
+         if (el>minElevation && el<maxElevation)
+         {
+            if (abs(ord) < strip)
+               good.Add(ord);
+            else
+               bad.Add(ord);
+         }
+      }
+   }
+
+   cout << left << setw(10) << desc << right
+        << " "
+        << setprecision(2) << setw(2) <<  minElevation
+        << "-"
+        << setw(2) << maxElevation
+        << " ";
+
+   char b1[200];
+   char zero = good.Average() < good.StdDev()/sqrt((float)good.N())?'0':' ';
+   double maxOrd = max(abs(good.Minimum()), abs(good.Maximum()));
+   sprintf(b1, "%8.5f  %8.4f %c %7d %4d  %6.2f %6.2f",
+           good.StdDev(), good.Average(), zero,
+           good.N(), bad.N(), maxOrd, strip);
+   
+   cout << b1 << endl;
+}
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dump(std::ostream& s, const ORDEpochMap& oem)
+{
+   s.setf(ios::fixed, ios::floatfield);
+   s << "# time              PRN type  elev      clk(m)"
+     << "        ord(m)    iodc  health"
+     << endl;
+
+   ORDEpochMap::const_iterator ei;
+   for (ei = oem.begin(); ei != oem.end(); ei++)
+   {
+      const gpstk::DayTime& t = ei->first;
+      string time=t.printf(timeFormat);
+      gpstk::ORDEpoch::ORDMap::const_iterator pi;
+      const gpstk::ORDEpoch& e = ei->second;
+      for (pi = e.ords.begin(); pi != e.ords.end(); pi++)
+      {
+         const short& prn = pi->first;
+         const gpstk::ObsRngDev& ord = pi->second;
+         
+         s << left << setw(20) << time << right
+           << setfill(' ')
+           << " " << setw(2) << prn
+           << " " << setw(4) << 0
+           << " " << setprecision(1) << setw(5)  << ord.getElevation()
+           << " " << setprecision(3) << setw(12)  << e.clockOffset
+
+           << "  " << setw(14) << setprecision(5) << ord.getORD()
+           << hex
+           << " " << setw(4) << ord.getIODC()
+           << " " << setw(7) << ord.getHealth()
+           << dec
+           << endl;
+      }
+   }
+}  // end dump()
diff --git a/trunk/apps/reszilla/ordUtils.hpp b/trunk/apps/reszilla/ordUtils.hpp
new file mode 100644
index 0000000..aecd530
--- /dev/null
+++ b/trunk/apps/reszilla/ordUtils.hpp
@@ -0,0 +1,28 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/ordUtils.hpp#1 $"
+
+#include <iostream>
+#include <string>
+
+#include "util.hpp"
+
+void compute_ords(ORDEpochMap& oem,
+                  const RODEpochMap& rem,
+                  const gpstk::RinexObsHeader& roh,
+                  const gpstk::EphemerisStore& bce,
+                  const gpstk::WxObsData& wod,
+                  bool svTime,
+                  const std::string& ordModeStr,
+                  const std::string& clkModelStr);
+
+void dump(std::ostream& s, const ORDEpochMap& oem);
+
+void dumpStats(const ORDEpochMap& oem, 
+               const std::string& ordMode,
+               const double sigmam=5);
+
+void computeStats(const std::string desc,
+                  const ORDEpochMap& oem,
+                  const ElevationRange er, 
+                  const double sigmam);
+
+
diff --git a/trunk/apps/reszilla/readers.cpp b/trunk/apps/reszilla/readers.cpp
new file mode 100644
index 0000000..ec0390f
--- /dev/null
+++ b/trunk/apps/reszilla/readers.cpp
@@ -0,0 +1,499 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/readers.cpp#10 $"
+
+#include <iostream>
+#include <iomanip>
+#include <string>
+#include <map>
+
+#include "SP3EphemerisStore.hpp"
+#include "RinexEphemerisStore.hpp"
+#include "GPSGeoid.hpp"
+#include "TropModel.hpp"
+#include "Geodetic.hpp"
+
+
+#include "DayTime.hpp"
+
+#include "RinexObsStream.hpp"
+#include "RinexObsData.hpp"
+
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "RinexMetStream.hpp"
+#include "RinexMetData.hpp"
+
+#include "FICStream.hpp"
+#include "FICData.hpp"
+
+#include "SMODFStream.hpp"
+#include "SMODFData.hpp"
+
+#include "MSCData.hpp"
+#include "MSCStream.hpp"
+
+
+#include "readers.hpp"
+
+
+using namespace std;
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void read_msc_data(std::string& fn, 
+                   unsigned long msid,
+                   gpstk::RinexObsHeader& roh)
+{
+   gpstk::MSCStream msc(fn.c_str(), ios::in);
+   gpstk::MSCData mscd;
+   while (msc >> mscd)
+   {
+      if (mscd.station == msid)
+      {
+         roh.antennaPosition = mscd.coordinates;
+         if (verbosity>1)
+            cout << "Station " << msid
+                 << " location: " << mscd.coordinates << endl;
+         break;
+      }
+   }
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void read_obs_data(gpstk::CommandOption& files, //string& fn, 
+                   unsigned long msid, 
+                   RODEpochMap& rem, 
+                   gpstk::RinexObsHeader& roh)
+{
+   string fn;
+   try
+   {
+      for (int i=0; i<files.getCount(); i++)
+      {
+         fn = (files.getValue())[i];
+         try {
+            read_rinex_data(fn, rem, roh);
+         }
+         catch (gpstk::FFStreamError& e) {
+            if (verbosity > 3)
+               cout << e << endl;
+            try {
+               read_smo_data(fn, msid, rem, roh);
+            } 
+            catch (gpstk::FFStreamError& e) {
+               if (verbosity > 3) 
+                  cout << e << endl;
+               cout << "Could not determine the type of obs data files" << endl;
+            }
+         }
+      }
+   }
+   catch (std::exception e)
+   {
+      cout << "Error opening obs data file " << fn << endl;
+      exit(-1);
+   }
+
+} // end of read_obs_data()
+
+
+
+void read_rinex_data(string& fn, RODEpochMap& rem, gpstk::RinexObsHeader& roh)
+{
+   gpstk::RinexObsStream ros(fn.c_str(), ios::in);
+   ros.exceptions(std::fstream::failbit);
+   ros >> roh;
+
+   if (verbosity>1)
+      cout << "Reading RINEX obs data from " << fn << "." << endl;
+
+   if (verbosity > 3)
+      roh.dump(cout);
+
+   gpstk::DayTime t0(gpstk::DayTime::END_OF_TIME);
+   gpstk::DayTime t1(gpstk::DayTime::BEGINNING_OF_TIME);
+   gpstk::DayTime t2(gpstk::DayTime::BEGINNING_OF_TIME);
+      
+   gpstk::RinexObsData rod;
+   while(ros >> rod)
+   {
+      const gpstk::DayTime& t = rod.time;
+      if (t<t0) t0=t;
+      if (t>t1) t1=t;
+      if (t<=t2 && verbosity>1)
+         cout << "Out of order obs data in rinex input ("
+              << t2 << " -> " << t << ")" << endl;
+      t2=t;
+      rem[t] = rod;
+   }
+
+   roh.firstObs = t0;
+   roh.valid |= gpstk::RinexObsHeader::firstTimeValid;
+   roh.lastObs = t1;
+   roh.valid |= gpstk::RinexObsHeader::lastTimeValid;
+} // end of read_rinex_data()
+
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+short snr2ssi(float x)
+{
+   // These values were obtained from the comments in a RINEX obs file that was
+   // generated from a TurboBinary file recorded on an AOA Benchmark  receiver
+   if (x>316) return 9;
+   if (x>100) return 8;
+   if (x>31.6) return 7;
+   if (x>10) return 6;
+   if (x>3.2) return 5;
+   if (x>0) return 4;
+   return 0;
+}
+
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void read_smo_data(string& fn,
+                   unsigned long msid,
+                   RODEpochMap& rem,
+                   gpstk::RinexObsHeader& roh)
+{
+   roh.valid |= gpstk::RinexObsHeader::allValid21;
+   roh.fileType = "unk";
+   roh.markerName = gpstk::StringUtils::asString(msid);
+   roh.observer = "unk";
+   roh.agency = "unk";
+   roh.antennaOffset = gpstk::Triple(0,0,0);
+   roh.wavelengthFactor[0] = 1;
+   roh.wavelengthFactor[1] = 1;
+   roh.recType = "unk";
+   roh.recVers = "unk";
+   roh.recNo = "1";
+   roh.antType = "unk";
+   roh.antNo = "1";
+   roh.obsTypeList.push_back(gpstk::RinexObsHeader::P1);
+   roh.obsTypeList.push_back(gpstk::RinexObsHeader::L1);
+
+   gpstk::DayTime startTime(gpstk::DayTime::END_OF_TIME);
+   gpstk::DayTime endTime(gpstk::DayTime::BEGINNING_OF_TIME);
+   gpstk::DayTime thisTime=endTime;
+   gpstk::DayTime lastTime=endTime;
+   
+   gpstk::SMODFData smodata;
+   gpstk::RinexObsData rod;
+   gpstk::RinexObsData::RinexObsTypeMap rotm;
+   bool first=true;
+
+   gpstk::SMODFStream smo(fn.c_str(), ios::in);
+
+   smo.exceptions(std::fstream::failbit);
+   while (smo >> smodata)
+   {
+      if (first)
+      {
+         first=false;
+         if (verbosity>1)
+            cout << "Reading SMODF obs data from " << fn << "." << endl;
+      }
+         
+      if (smodata.station != msid)
+         continue;
+
+      rod.numSvs++;
+      const gpstk::DayTime& thisTime = smodata.time;
+      startTime = min(thisTime, startTime);
+      endTime = max(thisTime, endTime);
+
+      if (thisTime != lastTime)
+      {
+         if (rod.obs.size())
+            rem[rod.time]=rod;
+
+         lastTime=thisTime;
+         rod.time = thisTime;
+         rod.clockOffset = 0;
+         rod.obs.clear();
+         rod.epochFlag = 0;
+         rod.numSvs = 0;
+      }
+
+      if (smodata.type==0)
+      {
+         rotm[gpstk::RinexObsHeader::P1].data = smodata.obs*1000;
+         rotm[gpstk::RinexObsHeader::P1].lli = 0;
+         rotm[gpstk::RinexObsHeader::P1].ssi = 9;
+      }
+      else if (smodata.type==9)
+      {
+         rotm[gpstk::RinexObsHeader::L1].data = smodata.obs;
+         rotm[gpstk::RinexObsHeader::L1].lli = 0;
+         rotm[gpstk::RinexObsHeader::L1].ssi = 9;
+      }
+
+      gpstk::RinexPrn p(smodata.PRNID, gpstk::systemGPS);
+      rod.obs[p] = rotm;
+      }
+
+   roh.firstObs = startTime;
+   roh.valid |= gpstk::RinexObsHeader::firstTimeValid;
+   roh.lastObs = endTime;
+   roh.valid |= gpstk::RinexObsHeader::lastTimeValid;
+} // end of read_smo_data()
+
+
+// ---------------------------------------------------------------------
+// Read in weather data into the indicated store
+// ---------------------------------------------------------------------
+gpstk::WxObsData& read_met_data(gpstk::CommandOption& files)
+{
+   gpstk::WxObsData *wod = new(gpstk::WxObsData);
+
+   for (int i=0; i<files.getCount(); i++)
+   {
+      string fn = (files.getValue())[i];
+      gpstk::RinexMetStream rms;
+      try { rms.open(fn.c_str(), ios::in); }
+      catch (...) {
+         cout << "Error reading weather data from file " << fn << endl;
+         exit(-1);
+      }
+      if (verbosity>1)
+         cout << "Reading met data from " << fn << "." << endl;
+
+      gpstk::RinexMetData rmd;
+      while (rms >> rmd)
+      {
+         gpstk::WxObservation wob(
+            rmd.time,
+            rmd.data[gpstk::RinexMetHeader::TD],
+            rmd.data[gpstk::RinexMetHeader::PR],
+            rmd.data[gpstk::RinexMetHeader::HR]);
+         wod->insertObservation(wob);
+      }
+
+   }
+
+   if (verbosity>1)
+      if (wod->firstTime < wod->lastTime)
+         cout << "Have met data from " << wod->firstTime 
+              << " to " << wod->lastTime << "." << endl;
+      else
+         cout << "No met data for you!" << endl;
+
+   return *wod;
+} // end of read_met_data()
+
+
+// ---------------------------------------------------------------------
+// Read in ephemeris data into the indicated store
+// ---------------------------------------------------------------------
+gpstk::EphemerisStore& read_eph_data(gpstk::CommandOption& files)
+{
+   gpstk::EphemerisStore* eph=NULL;
+   gpstk::BCEphemerisStore* bce;
+   gpstk::SP3EphemerisStore* pe;
+
+   try
+   {
+      // First try the first file as a RINEX nav file
+      bce = new(gpstk::BCEphemerisStore);
+      for (int i=0; i<files.getCount(); i++)
+      {
+         string fn = (files.getValue())[i];
+         if (verbosity>2 && i==0)
+            cout << "Attepmting to read " << fn << " as RINEX nav." << endl;
+         
+         gpstk::RinexNavStream rns(fn.c_str(), ios::in);
+         rns.exceptions(ifstream::failbit);
+         gpstk::RinexNavData rnd;
+         while (rns >> rnd)
+            bce->addEphemeris(rnd);
+      }
+      if (verbosity>1)
+         cout << "Read RINEX format broadcast ephemerides." << endl;
+      eph = bce;
+   }
+   catch (gpstk::FFStreamError& e)
+   {
+      if (verbosity>3)
+         cout << e << endl;
+      delete bce;
+   }
+
+   // If the file failed to read as a RINEX file, try it as a SP3 file
+   if (!eph) try
+   {
+      pe = new(gpstk::SP3EphemerisStore);
+      for (int i=0; i<files.getCount(); i++)
+      {
+         string fn = (files.getValue())[i];
+         if (verbosity>2 && i==0)
+            cout << "Attempting to read " << fn << " as SP3." << endl;
+         
+         gpstk::SP3Stream pefile(fn.c_str(),ios::in);
+         pefile.exceptions(ifstream::failbit);
+
+         gpstk::SP3Header header;
+         pefile >> header;
+
+         gpstk::SP3Data data;
+         while(pefile >> data)
+            pe->addEphemeris(data);
+      }
+      if (verbosity>1)
+         cout << "Read SP3 format precise ephemerides." << endl;
+      eph = pe;
+   }
+   catch (gpstk::FFStreamError& e)
+   {
+      if (verbosity>3)
+         cout << e << endl;
+      delete pe;
+   }
+
+   
+   // If the file failed to read as a RINEX or SP3 file, try it as a FIC file
+   if (!eph) try
+   {
+      bce = new(gpstk::BCEphemerisStore);
+      for (int i=0; i<files.getCount(); i++)
+      {
+         string fn = (files.getValue())[i];
+         if (verbosity>2 && i==0)
+            cout << "Attempting to read " << fn << "as FIC." << endl;
+         
+         gpstk::FICStream fs(fn.c_str());
+         // Note that we don't want to set the stream failbit since the binary
+         // read routines take care of throwing all the error conditions.
+
+         gpstk::FICHeader header;
+         fs >> header;
+
+         gpstk::FICData data;
+         while(fs >> data)
+            if (data.blockNum==9) // Only look at the eng ephemeris
+               bce->addEphemeris(data);
+      }
+      if (verbosity>1)
+         cout << "Read FIC format broadcast ephemerides." << endl;
+      eph = bce;
+   }
+   catch (gpstk::FFStreamError& e)
+   {
+      if (verbosity>3)
+         cout << e << "Blarf, man." << endl;
+      delete bce;
+   }
+
+
+   // If the file failed to read as a RINEX, FIC, or SP3 file give up
+   if (!eph)
+   {
+      cout << "Could not determine type of nav data supplied" << endl;
+      eph = new(gpstk::BCEphemerisStore);
+   }
+   else
+   {
+      if (verbosity>1)
+         if (eph->getInitialTime() < eph->getFinalTime())
+            cout << "Have ephemeris data from " << eph->getInitialTime()
+                 << " to " << eph->getFinalTime() << endl;
+         else
+            cout << "Do not have any ephemeris data" << endl;
+   }
+
+   return *eph;
+} // end of read_eph_data()
+
+
+std::string myGetLine(std::ifstream& s, unsigned long& lineNumber, unsigned long target=0)
+{
+   std::string line;
+
+   while (true)
+   {
+      std::getline(s, line);
+      lineNumber++;
+      if (lineNumber>=target) 
+         break;
+   }
+
+   return line;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void read_pec_data(string& fn, unsigned long msid, RODEpochMap& rem)
+{
+   std::ifstream input(fn.c_str(), ios::in);
+   input.exceptions(std::fstream::failbit);
+
+   unsigned long lineNumber=0;
+
+   try
+   {
+      std::istringstream p2(myGetLine(input, lineNumber, 6));
+      unsigned year, doy;
+      string master;
+      p2 >> master >> year >> doy;
+      cout << master << ", " << year << ", " << doy;
+
+      std::istringstream parser(myGetLine(input, lineNumber, 7));
+      int n;
+      parser >> n;
+      unsigned long msIndex;
+      for (int j=1; j<=n; j++)
+      {
+         unsigned long i;
+         parser >> i;
+         if (i==msid) 
+         { 
+            msIndex=i;
+            if (verbosity)
+               cout << "msIndex: " << msIndex << endl;
+               continue;
+         }
+      }
+      if (msIndex>n)
+         cout << "uh, we are borked.";
+      
+      gpstk::DayTime startTime(gpstk::DayTime::END_OF_TIME);
+      gpstk::DayTime endTime(gpstk::DayTime::BEGINNING_OF_TIME);
+      gpstk::DayTime thisTime=endTime;
+      gpstk::DayTime lastTime=endTime;
+      gpstk::RinexObsData rod;
+      gpstk::RinexObsData::RinexObsTypeMap rotm;
+      unsigned long epochNumber=0;
+      myGetLine(input, lineNumber, 10);
+
+      while (input)
+      {
+         std::istringstream parser(myGetLine(input, lineNumber));
+         string w[10];
+         parser >> w[0] >> w[1] >> w[2];
+         if (w[0] == "DATA" && w[1]=="RECORD")
+         {
+            std::istringstream parser(myGetLine(input, lineNumber));
+            long double epochOffset;
+            parser >> epochOffset;
+            thisTime.setYDoySod(year, doy, 0);
+            thisTime+= epochOffset;
+            cout << "epoch : " << thisTime;
+         }
+         if (w[0]=="STATION" && w[1]=="TIME" && w[2]=="OFFSET")
+         {
+            cout << "Rx offset: " << endl;
+         }
+      }
+      if (verbosity>1)
+         cout << "Have clock data from " << startTime << " to " << endTime << "." << endl;
+   }
+   catch (...)
+   {
+      cout << "caught one!" << endl;
+   }
+
+} // end of read_pec_data()
diff --git a/trunk/apps/reszilla/readers.hpp b/trunk/apps/reszilla/readers.hpp
new file mode 100644
index 0000000..b6ddbb8
--- /dev/null
+++ b/trunk/apps/reszilla/readers.hpp
@@ -0,0 +1,41 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/readers.hpp#7 $"
+//
+// Utilitiy functions for reading in various types of data
+//
+
+#include <string>
+
+#include "CommandOption.hpp"
+#include "CommandOptionParser.hpp"
+#include "EphemerisStore.hpp"
+
+#include "util.hpp"
+
+
+void read_obs_data(gpstk::CommandOption& files,
+                   unsigned long msid,
+                   RODEpochMap& rem,
+                   gpstk::RinexObsHeader& roh);
+
+void read_rinex_data(std::string& fn, 
+                     RODEpochMap& rem, 
+                     gpstk::RinexObsHeader& roh);
+
+void read_msc_data(std::string& fn, 
+                   unsigned long msid,
+                   gpstk::RinexObsHeader& roh);
+
+void read_smo_data(std::string& fn,
+                   unsigned long msid,
+                   RODEpochMap& rem, 
+                   gpstk::RinexObsHeader& roh);
+
+void read_pec_data(std::string& fn,
+                   unsigned long msid,
+                   RODEpochMap& rem);
+
+gpstk::EphemerisStore& read_eph_data(gpstk::CommandOption& files);
+
+gpstk::WxObsData& read_met_data(gpstk::CommandOption& files);
+
+
diff --git a/trunk/apps/reszilla/reszilla b/trunk/apps/reszilla/reszilla
new file mode 100755
index 0000000..964145d
Binary files /dev/null and b/trunk/apps/reszilla/reszilla differ
diff --git a/trunk/apps/reszilla/reszilla.cpp b/trunk/apps/reszilla/reszilla.cpp
new file mode 100644
index 0000000..d6cf4c6
--- /dev/null
+++ b/trunk/apps/reszilla/reszilla.cpp
@@ -0,0 +1,318 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/reszilla.cpp#13 $"
+//
+// Compute observed range deviations (ORDs) and double
+// difference residuals from rinex obs files.
+//
+
+#include <fstream>
+#include <BCEphemerisStore.hpp>
+
+#include "readers.hpp"
+#include "util.hpp"
+#include "ordUtils.hpp"
+#include "PhaseCleaner.hpp"
+
+using namespace std;
+
+int verbosity;
+string timeFormat;
+ElevationRangeList elr;
+
+int main(int argc, char *argv[])
+{
+   string hmsFmt="%Y %3j %02H:%02M:%02S";
+   string sodFmt="%Y %3j %7.1s";
+   string ordMode="c1p2";
+   string clkMode="epoch";
+   string ddMode="sv";
+   unsigned long msid=0;
+   double sigmaMask=6;
+
+   timeFormat = hmsFmt;
+   verbosity = 1;
+
+   try
+   {
+      gpstk::CommandOptionNoArg
+         nearOption('n', "search-near", "Use BCEphemeris.searchNear()"),
+         helpOption('h', "help", "Print usage. Repeat for more info. "),
+         clkOption('c', "clock-from-rinex", "Use the receiver clock offset from the rinex obs data."),
+         svTimeOption('\0', "svtime", "Observation data is in SV time frame. The default is RX time frame."),
+         checkObsOption('\0',"check-obs", "Report data rate, order of data, data present, data gaps"),
+         statsOption('s', "no-stats", "Don't compute & output the statistics"),
+         cycleSlipOption('\0', "cycle-slips", "Output a list of cycle slips");
+   
+      gpstk::CommandOptionWithAnyArg
+         rawOutputOption('r', "raw-output", "Dump the computed residuals/ords into specified file. If '-' is given as the file name, output is sent to stdout. The default is to no otput the raw residuals."),
+         timeFmtOption('t', "timeFormat", "Daytime format specifier used for the timestamps in the raw output. The default is \"" + timeFormat + "\". If this option is specified with the format as \"s\", the format \"" + sodFmt + "\" is used."),
+         ordModeOption('\0', "omode", "ORD mode: P1P2, C1P2, C1, P1, P2. The default is " + ordMode),
+         clkModeOption('\0', "cmode", "Clock computation mode: epoch, linear. The default is " + clkMode + "."),
+         ddModeOption('\0', "ddmode", "Double difference residual mode: none, sv, or c1p2. The default is " + ddMode + "."),
+         mscFileOption('\0', "msc", "Station coordinate file"),
+         ephFileOption('e', "ephemeris", "Ephemeris data file name (either broadcast in RINEX nav, broadcast in FIC, or precise in SP3)", false),
+         obs1FileOption('o', "obs1", "Observation data file name. If this option is specified more than once the contents of all files will be used.", true),
+         obs2FileOption('2', "obs2", " Second receiver's observation data file name. Only used when computing a double difference. If this option is specified more than once the contents of all the files will be used."),
+         metFileOption('w', "weather", "Weather data file name (RINEX met format only)"),
+         elevBinsOption('b', "elev-bin", "A range of elevations, used in computing the statistical summaries. Repeat to specify multiple bins. The default is \"-b 0-10 -b 10-20 -b 20-60 -b 10-90\".");
+
+      gpstk::CommandOptionWithNumberArg
+         msidOption('m', "msid", "Station to process data for. Used to select a station from smoothed data files."),
+         sigmaOption('\0', "sigma", "Multiplier for sigma stripping used in computation of statistics on the raw residuals. The default is " + gpstk::StringUtils::asString((int)sigmaMask) + "."),
+         verbosityOption('v', "verbosity", "How much detail to provide  about intermediate steps. The default is 1. Specify -hh for more info.");
+
+      string appDesc("Computes various residuals from GPS observations.");
+      gpstk::CommandOptionParser cop(appDesc);
+      cop.parseOptions(argc, argv);
+
+      if (helpOption.getCount() || cop.hasErrors())
+      {
+         if (cop.hasErrors() && helpOption.getCount()==0)
+         {
+            cop.dumpErrors(cout);
+            cout << "use -h for help" << endl;
+         }
+         else
+         {
+            cop.displayUsage(cout);
+            if (helpOption.getCount() > 1)
+               cout << endl
+                    << "Verbosity values:" << endl
+                    << "  0: nothing but the results" << endl
+                    << "  1: Output status before potentially time consuming operations (default)" << endl
+                    << "  2: more details about each step and the options chosen" << endl
+                    << "  3: add the reasons for editing data" << endl
+                    << "  4: dump intermediate values for each epoch" << endl
+                    << endl
+                    << "The -ddmode=slipper is a test mode version of the sv double difference with a more" << endl
+                    << "complex debiasing algorithm. The intent of this mode is to do a better job at detecting" << endl
+                    << "real cycle slips as opposed to single point outliers." << endl
+                    << endl
+                    << "Example command to compute ORDs on an ICD-GPS-211 formated smoothed" << endl
+                    << "measurement data file:" << endl
+                    << "  reszilla --omode=p1 --svtime --msc=mscoords.cfg -m 85401 -o asm2004.138 -e s011138a.04n" << endl
+                    << endl;
+         }
+         exit(0);
+      }
+
+      if (verbosityOption.getCount())
+         verbosity = gpstk::StringUtils::asInt(verbosityOption.getValue()[0]);
+
+      if (ddModeOption.getCount())
+         ddMode = gpstk::StringUtils::lowerCase(ddModeOption.getValue().front());
+      
+      if (ordModeOption.getCount())
+         ordMode=gpstk::StringUtils::lowerCase(ordModeOption.getValue()[0]);
+      
+      bool svTime = svTimeOption.getCount()>0;
+
+      if (clkModeOption.getCount())
+         clkMode=gpstk::StringUtils::lowerCase(clkModeOption.getValue().front());
+
+      if (msidOption.getCount())
+         msid=gpstk::StringUtils::asUnsigned(msidOption.getValue().front());
+
+      if (sigmaOption.getCount())
+         sigmaMask=gpstk::StringUtils::asDouble(sigmaOption.getValue().front());
+
+      if (timeFmtOption.getCount())
+      {
+         if ((timeFmtOption.getValue())[0] == "s")
+            timeFormat = sodFmt;
+         else
+            timeFormat = (timeFmtOption.getValue())[0];
+      }
+
+
+      // set up where the raw data will be written
+      ofstream ofs;
+      string outputFileName;
+      if (rawOutputOption.getCount())
+      {
+         outputFileName=(rawOutputOption.getValue())[0];
+         if (outputFileName != "-")
+            ofs.open(outputFileName.c_str());
+         else
+         {
+            ofs.copyfmt(std::cout);
+            ofs.clear(std::cout.rdstate());
+            ofs.std::basic_ios<char>::rdbuf(std::cout.rdbuf());
+         }
+      }
+
+      if (ddMode=="none" && obs2FileOption.getCount())
+      {
+         cout << "Specifying two sets of obs data requires a ddmode other than 'none'." << endl;
+         exit(1);
+      }
+
+      // Set up the elevation ranges for the various statistical summaries
+      if (elevBinsOption.getCount())
+      {
+         for (int i=0; i<elevBinsOption.getCount(); i++)
+         {
+            string pr = elevBinsOption.getValue()[i];
+            float minElev = gpstk::StringUtils::asFloat(pr);
+            gpstk::StringUtils::stripFirstWord(pr, '-');
+            float maxElev = gpstk::StringUtils::asFloat(pr);
+            elr.push_back( ElevationRange(minElev, maxElev) );
+         }
+      }
+      else
+      {
+         elr.push_back( ElevationRange( 0, 10) );
+         elr.push_back( ElevationRange(10, 20) );
+         elr.push_back( ElevationRange(20, 60) );
+         elr.push_back( ElevationRange(60, 90) );
+         elr.push_back( ElevationRange(10, 90) );
+      }
+
+      if (verbosity>1)
+      {
+         cout << "Double difference mode: " << ddMode << endl
+              << "Format to use for time in raw output: " << timeFormat << endl
+              << "Data time tag: " << (svTime?"sv":"rx") << endl
+              << "Clock computation mode: " << clkMode << endl
+              << "Double difference computation mode: " << ddMode << endl
+              << "Sigma stripping multiplier: " << sigmaMask << endl
+              << "Verbosity: " << verbosity << endl;
+         cout << "Elevation bins: ";
+         for (ElevationRangeList::const_iterator i=elr.begin(); i!= elr.end(); i++)
+            cout << i->first << "-" << i->second << " ";
+         cout << endl;
+         if (msid)
+         {
+            cout << "msid: " << msid << endl;
+            if (mscFileOption.getCount()>0)
+               cout << "msc file: " << mscFileOption.getValue().front() << endl;
+         }
+         if (rawOutputOption.getCount())
+            cout << "Raw output file: " << outputFileName << endl;
+      }
+
+
+      // -------------------------------------------------------------------
+      // End of processing/checking command line arguments, now on to the
+      // data processing portion. First we get all the data into memory.
+      // -------------------------------------------------------------------
+
+      // Get the ephemeris data
+      gpstk::EphemerisStore& eph = read_eph_data(ephFileOption);
+      if (nearOption.getCount())
+      {
+         gpstk::BCEphemerisStore& bce = dynamic_cast<gpstk::BCEphemerisStore&>(eph);
+         bce.SearchNear();
+      }
+
+      gpstk::WxObsData& wod = read_met_data(metFileOption);
+
+      // Get the obs data
+      RODEpochMap rem1;
+      gpstk::RinexObsHeader roh1;
+      if (verbosity>1)
+         cout << "Reading obs1 data." << endl;
+      read_obs_data(obs1FileOption, msid, rem1, roh1);
+      if (checkObsOption.getCount())
+         check_data(roh1, rem1);
+
+      // If a msid & msc file is specified, then get & use the msc file
+      // to overwrite the position in the rinex obs header
+      if (msid && mscFileOption.getCount()>0)
+      {
+         string mscfn = (mscFileOption.getValue())[0];
+         read_msc_data(mscfn, msid, roh1);
+      }
+
+      // If we are given a second set of obs data, don't compute separate ords
+      // since this is a double-difference run
+      if (ordMode!="none" && !obs2FileOption.getCount())
+      {
+         // Compute the ords
+         ORDEpochMap oem1;
+         compute_ords(oem1, rem1, roh1, eph, wod, 
+                      svTimeOption, ordMode, clkMode);
+
+         // Now, output statistics to stdout
+         if (statsOption.getCount()==0)
+            dumpStats(oem1, ordMode, sigmaMask);
+         
+         // Save the raw ORDs to a file
+         if (rawOutputOption.getCount())
+            dump(ofs, oem1);
+      }
+
+      // Now compute double difference residuals on the obs2 data
+      if (obs2FileOption.getCount())
+      {
+         PrnElevationMap pem = elevation_map(rem1, roh1, eph);
+
+         RODEpochMap rem2;
+         rem2.clear();
+         gpstk::RinexObsHeader roh2;
+         if (verbosity>1)
+            cout << "Reading obs data from receiver 2." << endl;
+         read_obs_data(obs2FileOption, msid, rem2, roh2);
+
+         // copy the position from the other file if it was taken from the msc
+         if (msid && mscFileOption.getCount()>0)
+            roh2.antennaPosition = roh1.antennaPosition;
+
+            // we need the rx clock offset for this double differece
+            // If we haven't been told to use the receiver clock offset in
+            // the rinex data, compute the ords just to get a clock offset.
+         if (ddMode != "c1p2" && !clkOption.getCount())
+         {
+            ORDEpochMap oem1,oem2;
+            compute_ords(oem1, rem1, roh1, eph, wod, svTimeOption, ordMode, clkMode);
+            compute_ords(oem2, rem2, roh2, eph, wod, svTimeOption, ordMode, clkMode);
+            add_clock_to_rinex(rem1, oem1);
+            add_clock_to_rinex(rem2, oem2);
+         }
+
+         if (ddMode == "sv")
+         {
+            DDEpochMap ddem;
+
+            computeDDEpochMap(rem1, rem2, pem, ddem);
+            
+            PhaseCleaner pc;
+
+            pc.addData(rem1, rem2, ddem);
+            pc.debias();
+            pc.getPhaseDD(ddem);
+
+            CycleSlipList sl;
+            pc.getSlips(sl);
+            
+            if (statsOption.getCount()==0)
+               dumpStats(ddem, sl, pem);
+
+            if (cycleSlipOption.getCount())
+               dump(cout, sl);
+
+            if (rawOutputOption.getCount())
+               dump(ofs, ddem, pem);   
+         }
+
+         else if (ddMode=="c1p2")
+         {
+            DD2EpochMap ddem;
+            computeDD2(rem1, rem2, ddem);
+            if (statsOption.getCount()==0)
+               dumpStats(ddem, pem);
+
+            if (rawOutputOption.getCount())
+               dump(ofs, ddem, pem);            
+         }
+         else
+            cout << "Unknow ddMode:" << ddMode << endl;
+      } // end for()
+   }
+   catch (gpstk::Exception& e)
+   {
+      cerr << "Caught Excption: " << typeid(e).name() << endl
+           << "Terminating." << endl;
+      exit(0);
+   }
+   exit(0);
+}
diff --git a/trunk/apps/reszilla/rlib.a b/trunk/apps/reszilla/rlib.a
new file mode 100644
index 0000000..f4c6293
Binary files /dev/null and b/trunk/apps/reszilla/rlib.a differ
diff --git a/trunk/apps/reszilla/util.cpp b/trunk/apps/reszilla/util.cpp
new file mode 100644
index 0000000..6db1dea
--- /dev/null
+++ b/trunk/apps/reszilla/util.cpp
@@ -0,0 +1,360 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/util.cpp#18 $"
+
+#include "util.hpp"
+
+using namespace std;
+
+const RinexObsType& L1=gpstk::RinexObsHeader::L1;
+const RinexObsType& L2=gpstk::RinexObsHeader::L2;
+const RinexObsType& P1=gpstk::RinexObsHeader::P1;
+const RinexObsType& P2=gpstk::RinexObsHeader::P2;
+const RinexObsType& C1=gpstk::RinexObsHeader::C1;
+const RinexObsType& C2=gpstk::RinexObsHeader::C2;
+const RinexObsType& D1=gpstk::RinexObsHeader::D1;
+const RinexObsType& D2=gpstk::RinexObsHeader::D2;
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void computeDD2(const RODEpochMap& rx1,
+               const RODEpochMap& rx2,
+               DD2EpochMap& ddem)
+{
+   if (verbosity)
+      cout << "Computing 2nd differences residuals across codes." << endl;
+
+   // We use the data from rx1 walk us through the data
+   // loop over all epochs for this station
+   RODEpochMap::const_iterator ei1, ei2;
+   for (ei1=rx1.begin(); ei1!=rx1.end(); ei1++)
+   {
+      // first make sure we have data from the other receiver for this
+      // epoch...
+      const gpstk::DayTime& t = ei1->first;
+      ei2 = rx2.find(t);
+      if (ei2 == rx2.end())
+      {
+         if (verbosity>2)
+            cout << "Epoch with no data in second file at " << t << endl;
+         continue;
+      }
+
+      gpstk::RinexObsData e1 = ei1->second;
+      gpstk::RinexObsData e2 = ei2->second;
+
+      DD2Epoch dde;
+      if (dde.compute(e1, e2))
+         ddem[t] = dde;
+   }
+} // end of computeDD2()
+
+
+// ---------------------------------------------------------------------
+// Compute a double difference for each prn in track on both receivers
+// (C1(prn1)-P2(prn1)) - (C1(prn2)-P2(prn2))
+// ---------------------------------------------------------------------
+bool DD2Epoch::compute(gpstk::RinexObsData rx1,
+                       gpstk::RinexObsData rx2)
+{
+   gpstk::RinexObsData::RinexPrnMap::iterator oi1, oi2;
+   for (oi1=rx1.obs.begin(); oi1!=rx1.obs.end(); oi1++)
+   {
+      gpstk::RinexPrn prn = oi1->first;
+      oi2 = rx2.obs.find(prn);
+      if (oi2 == rx2.obs.end())
+         continue;
+
+      gpstk::RinexObsData::RinexObsTypeMap& rx1obs = oi1->second;
+      gpstk::RinexObsData::RinexObsTypeMap& rx2obs = oi2->second;
+
+      // Now compute the C1-P2 for each receiver
+      double d1 = rx1obs[C1].data - rx1obs[P2].data;
+      double d2 = rx2obs[C1].data - rx2obs[P2].data;
+
+      // Now compute the double differences
+      res[prn] = d1 - d2;
+   }
+
+   return true;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+PrnElevationMap elevation_map(const RODEpochMap& rem,
+                              const gpstk::RinexObsHeader& roh,
+                              const gpstk::EphemerisStore& eph)
+{
+   PrnElevationMap pem;
+   if (verbosity>1)
+      cout << "Computing elevation map." << endl;
+
+   gpstk::ECEF rxpos(roh.antennaPosition);
+
+   RODEpochMap::const_iterator i;
+   for (i=rem.begin(); i!=rem.end(); i++)
+   {
+      const gpstk::DayTime& t = i->first;
+      const gpstk::RinexObsData& rod = i->second;
+      gpstk::RinexObsData::RinexPrnMap::const_iterator rpi;
+      for (rpi=rod.obs.begin(); rpi!=rod.obs.end(); rpi++)
+         try
+         {
+            short prn = rpi->first.prn;
+            gpstk::Xvt svpos = eph.getPrnXvt(prn, t);
+            pem[t][rpi->first] = rxpos.elvAngle(svpos.x);
+         }
+         catch (gpstk::EphemerisStore::NoEphemerisFound& e)
+         {
+            if (verbosity>2)
+               cout << e.getText() << endl;
+         }
+   }
+   return pem;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+PrnElevationMap elevation_map(const ORDEpochMap& oem)
+{
+   PrnElevationMap pem;
+   if (verbosity>1)
+      cout << "Computing elevation map." << endl;
+   ORDEpochMap::const_iterator i;
+   for (i=oem.begin(); i!=oem.end(); i++)
+   {
+      const gpstk::DayTime& t=i->first;
+      const gpstk::ORDEpoch& epoch=i->second;
+      gpstk::ORDEpoch::ORDMap::const_iterator j;
+      for (j=epoch.ords.begin(); j!=epoch.ords.end(); j++)
+      {
+         gpstk::ObsRngDev ord = j->second;
+         gpstk::RinexPrn prn(j->first, gpstk::systemGPS);
+         pem[t][prn] = ord.getElevation();
+      }
+   }
+   return pem;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void add_clock_to_rinex(RODEpochMap& rem, const ORDEpochMap& oem)
+{
+   const gpstk::GPSGeoid gm;
+   RODEpochMap::iterator i;
+   for (i=rem.begin(); i!=rem.end(); i++)
+   {
+      gpstk::RinexObsData& rod = i->second;
+      ORDEpochMap::const_iterator j = oem.find(rod.time);
+      if (j==oem.end() || !j->second.validClock)
+      {
+         if (verbosity)
+            cout << "Epoch has no clock " << rod.time << endl;
+         continue;
+      }
+      rod.clockOffset = j->second.clockOffset/gm.c();
+   }
+} // end of add_clock_to_rinex()
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void check_data(const gpstk::RinexObsHeader& roh, const RODEpochMap& rem)
+{
+   if (verbosity>1)
+   {
+      cout << "First obs data is at " << roh.firstObs << endl;
+      cout << "Last obs data is at  " << roh.lastObs << endl;
+   }
+
+   RODEpochMap::const_iterator i=rem.begin();
+   gpstk::DayTime t1 = i->second.time; i++;
+   gpstk::DayTime t =  i->second.time; i++;
+   double rate=t-t1;
+   long rateChanges=0;
+   long n=0;
+
+   for (; i!=rem.end();i++)
+   {
+      gpstk::RinexObsData rod = i->second;
+      t1 = t;
+      t = i->second.time;
+      // Check for how many obs are in this epoch
+
+      if (std::abs(t-t1-rate) > 1e-3)
+      {
+         if (verbosity>2)
+            cout << "Data rate change at " 
+                 << t <<".  Was " << rate
+                 << " now is " << t-t1 << " seconds." << endl;
+         rate = t - t1;
+         rateChanges++;
+         n=0;
+      }
+      else
+         n++;
+   }
+
+   if (verbosity>1)
+   {
+      if (n > rem.size()/2)
+         cout << "Data rate appears to be " << rate << " seconds after "
+              << n << " epochs." << endl;
+      else
+         cout << "Coulnd not estimate data rate after " << n
+              << " epochs." << endl;
+   }
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dumpStats(DD2EpochMap& ddem, PrnElevationMap& pem)
+{
+
+   cout << endl
+        << "obs       elev    sdev(m)  mean(m) [err]         #obs   #del   min     max    " << endl
+        << "--------- ------  -------  --------------------  ------ ----   -------------- " << endl;
+
+   for (ElevationRangeList::const_iterator i = elr.begin(); i != elr.end(); i++)
+   {
+      cout << "C1-P2 res "; 
+      computeStats(ddem,  *i, pem); 
+      cout << endl;
+   }
+   cout << endl;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void computeStats(
+   DD2EpochMap& ddem,
+   const ElevationRange er,
+   PrnElevationMap& pem)
+{
+   float minElevation = er.first;
+   float maxElevation = er.second;
+
+   gpstk::Stats<double> good, bad;
+   DD2EpochMap::iterator ei;
+   for (ei = ddem.begin(); ei != ddem.end(); ei++)
+   {
+      const gpstk::DayTime& t = ei->first;
+      DD2Epoch::DD2ResidualMap::iterator pi;
+      for (pi = ei->second.res.begin(); pi != ei->second.res.end(); pi++)
+      {
+         const gpstk::RinexPrn& prn = pi->first;
+         double ddr = pi->second;
+         if (pem[t][prn]>minElevation && pem[t][prn]<maxElevation)
+         {
+            if (abs(ddr) < 1000 )
+               good.Add(ddr);
+            else
+               bad.Add(ddr);
+         }
+      }
+   }
+   
+   cout << setprecision(2) << setw(2) <<  minElevation
+        << "-"
+        << setw(2) << maxElevation
+        << " ";
+
+   char b1[200];
+   sprintf(b1, "%8.5f  %9.2e [%8.2e] %7d %4d  %7.2f %7.2f",
+           good.StdDev()/2, good.Average(), good.StdDev()/sqrt((float)good.N()),
+           good.N(), bad.N(),
+           good.Minimum(), good.Maximum());
+
+   cout << b1;
+}
+
+// ---------------------------------------------------------------------
+// Returns a string with the number of cycle slips that are in the elevation range
+// specififed.
+// ---------------------------------------------------------------------
+string computeStats(
+   const CycleSlipList& csl, 
+   const ElevationRange& er, 
+   const RinexObsType& rot)
+{
+   ostringstream oss;
+   int slipCount=0;
+
+   float minElev = er.first;
+   float maxElev = er.second;
+   CycleSlipList::const_iterator i;
+   for (i=csl.begin(); i!=csl.end(); i++)
+   {
+      const CycleSlipRecord& cs = *i;
+      if (cs.rot == rot && minElev < cs.elevation && cs.elevation <= maxElev)
+         slipCount++;
+   }
+   oss << slipCount;
+   return oss.str();
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dump(std::ostream& s, const CycleSlipList& csl)
+{
+   s << "Cycle slips:" << endl;
+   if (csl.size() == 0)
+   {
+      s << "  No cycle slips detected." << endl << endl;
+      return;
+   }
+
+   s << "# time                obs           cyles      elev    pre   post" << endl;
+   s.setf(ios::fixed, ios::floatfield);
+   CycleSlipList::const_iterator i;
+   for (i=csl.begin(); i!=csl.end(); i++)
+   {
+      const CycleSlipRecord& cs=*i;
+      s << left << setw(20) << cs.t.printf(timeFormat)
+        << "  " << right << setw(2) << cs.masterPrn.prn << ":" << setw(2) << cs.prn.prn
+        << " " << cs.rot.type
+        << " " << setprecision(3) << setw(14) << cs.cycles
+        << "  " << std::setprecision(2) << setw(5) << cs.elevation
+        << "  " << setw(5) << cs.preCount
+        << "  " << setw(5) << cs.postCount
+        << endl;
+   }
+   s << endl;
+}
+
+
+// ---------------------------------------------------------------------
+// ---------------------------------------------------------------------
+void dump(std::ostream& s,
+          DD2EpochMap& ddem,
+          PrnElevationMap& pem)
+{
+   s.setf(ios::fixed, ios::floatfield);
+   s << "# time, PRN, RES(m), SV_EL" << endl;
+
+   DD2EpochMap::iterator ei;
+   DD2Epoch::DD2ResidualMap::iterator pi;
+   for (ei = ddem.begin(); ei != ddem.end(); ei++)
+   {
+      const gpstk::DayTime& t = ei->first;
+      string time=t.printf(timeFormat);
+      for (pi = ei->second.res.begin(); pi != ei->second.res.end(); pi++)
+      {
+         const gpstk::RinexPrn& prn = pi->first;
+         double ddr = pi->second;
+         s << time
+           << setfill(' ')
+           << " " << setw(2)  << prn.prn
+           << setprecision(6)
+           << " " << setw(11) << ddr
+           << setprecision(1)
+           << " " << setw(4) << pem[t][prn]
+           << endl;
+      }
+   }
+}  // end dump()
diff --git a/trunk/apps/reszilla/util.hpp b/trunk/apps/reszilla/util.hpp
new file mode 100644
index 0000000..c78a9a9
--- /dev/null
+++ b/trunk/apps/reszilla/util.hpp
@@ -0,0 +1,126 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/reszilla/util.hpp#12 $"
+
+#ifndef RESZILLA_UTIL_HPP
+#define RESZILLA_UTIL_HPP
+
+#include <iostream>
+#include <iomanip>
+#include <string>
+#include <map>
+#include <set>
+
+// gpstk crud
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "stl_helpers.hpp"
+#include "EphemerisStore.hpp"
+#include "icd_200_constants.hpp"
+#include "GPSGeoid.hpp"
+#include "TropModel.hpp"
+#include "Geodetic.hpp"
+#include "Stats.hpp"
+
+#include "RinexObsData.hpp"
+
+#include "ORDEpoch.hpp"
+#include "EpochClockModel.hpp"
+
+#include "ElevationRange.hpp"
+
+extern int verbosity;
+extern std::string timeFormat;
+
+typedef gpstk::RinexObsHeader::RinexObsType  RinexObsType;
+typedef gpstk::RinexObsData::RinexPrnMap     RinexPrnMap;
+typedef gpstk::RinexObsData::RinexObsTypeMap RinexObsTypeMap;
+
+extern const RinexObsType& C1;
+extern const RinexObsType& C2;
+extern const RinexObsType& D1;
+extern const RinexObsType& D2;
+extern const RinexObsType& L1;
+extern const RinexObsType& L2;
+extern const RinexObsType& P1;
+extern const RinexObsType& P2;
+
+extern ElevationRangeList elr;
+
+// a store of epochs for a single receiver/antenna
+typedef std::map<gpstk::DayTime, gpstk::RinexObsData> RODEpochMap;
+
+// this is a store of ORDs over time
+typedef std::map<gpstk::DayTime, gpstk::ORDEpoch> ORDEpochMap;
+
+
+// The key for this map is the prn of the SV
+//  PrnElevationMap pem;
+//  pem[time][prn] = elevation;
+typedef std::map<gpstk::DayTime, std::map<gpstk::RinexPrn, float> > PrnElevationMap;
+PrnElevationMap elevation_map(const ORDEpochMap& oem);
+PrnElevationMap elevation_map(const RODEpochMap& rem,
+                  const gpstk::RinexObsHeader& roh,
+                  const gpstk::EphemerisStore& bce);
+
+
+ // Rinex Obs Type Double Map => ROTM
+typedef std::map<RinexObsType, double> ROTDM;
+
+typedef std::map< gpstk::RinexPrn, ROTDM> PrnROTDM;
+
+void add_clock_to_rinex(RODEpochMap& rem, const ORDEpochMap& oem);
+
+void check_data(const gpstk::RinexObsHeader& roh, const RODEpochMap& rem);
+
+
+
+struct CycleSlipRecord
+{
+   gpstk::DayTime t;
+   double cycles;
+   gpstk::RinexPrn  prn, masterPrn;
+   RinexObsType rot;
+   double elevation;
+   long preCount;  // for How many epochs had the bias been stable
+   double preGap;  // time between the end of the previous arc and this point
+   long postCount; // how long the arc after the slip is
+};
+
+typedef std::list<CycleSlipRecord> CycleSlipList;
+
+void dump(std::ostream& s, const CycleSlipList& sl);
+
+std::string computeStats(
+   const CycleSlipList& csl,
+   const ElevationRange& er, 
+   const RinexObsType& rot);
+
+
+// these still need to be re-factored.
+struct DD2Epoch
+{
+   typedef std::map<gpstk::RinexPrn, double> DD2ResidualMap;
+   DD2ResidualMap res;
+
+   // Returns true if successfull
+   bool compute(gpstk::RinexObsData rx1,
+                gpstk::RinexObsData rx2);
+};
+
+typedef std::map<gpstk::DayTime, DD2Epoch> DD2EpochMap;
+
+void dump(std::ostream& s,
+          DD2EpochMap& ddem, 
+          PrnElevationMap& pem);
+
+void dumpStats(DD2EpochMap& ddem, 
+               PrnElevationMap& pem);
+
+void computeStats(DD2EpochMap& ddem, 
+                  const ElevationRange er, 
+                  PrnElevationMap& pem);
+
+void computeDD2(const RODEpochMap& rx1,
+               const RODEpochMap& rx2,
+               DD2EpochMap& ddem);
+
+#endif
diff --git a/trunk/apps/time/Jamfile b/trunk/apps/time/Jamfile
new file mode 100644
index 0000000..e0f21cc
--- /dev/null
+++ b/trunk/apps/time/Jamfile
@@ -0,0 +1,7 @@
+SubDir TOP apps time ;
+
+GPSLinkLibraries timcvt calgps : gpstk ;
+BonkForte ; # bleah.
+
+GPSMain timcvt : timcvt.cpp ;
+GPSMain calgps : calgps.cpp ;
diff --git a/trunk/apps/time/Makefile.am b/trunk/apps/time/Makefile.am
new file mode 100644
index 0000000..49e8a38
--- /dev/null
+++ b/trunk/apps/time/Makefile.am
@@ -0,0 +1,7 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = timcvt calgps
+
+timcvt_SOURCES = timcvt.cpp
+calgps_SOURCES = calgps.cpp
diff --git a/trunk/apps/time/Makefile.in b/trunk/apps/time/Makefile.in
new file mode 100644
index 0000000..e2c6682
--- /dev/null
+++ b/trunk/apps/time/Makefile.in
@@ -0,0 +1,430 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = timcvt$(EXEEXT) calgps$(EXEEXT)
+subdir = apps/time
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_calgps_OBJECTS = calgps.$(OBJEXT)
+calgps_OBJECTS = $(am_calgps_OBJECTS)
+calgps_LDADD = $(LDADD)
+calgps_DEPENDENCIES = ../../src/libgpstk.la
+am_timcvt_OBJECTS = timcvt.$(OBJEXT)
+timcvt_OBJECTS = $(am_timcvt_OBJECTS)
+timcvt_LDADD = $(LDADD)
+timcvt_DEPENDENCIES = ../../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(calgps_SOURCES) $(timcvt_SOURCES)
+DIST_SOURCES = $(calgps_SOURCES) $(timcvt_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+timcvt_SOURCES = timcvt.cpp
+calgps_SOURCES = calgps.cpp
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  apps/time/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  apps/time/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+calgps$(EXEEXT): $(calgps_OBJECTS) $(calgps_DEPENDENCIES) 
+	@rm -f calgps$(EXEEXT)
+	$(CXXLINK) $(calgps_LDFLAGS) $(calgps_OBJECTS) $(calgps_LDADD) $(LIBS)
+timcvt$(EXEEXT): $(timcvt_OBJECTS) $(timcvt_DEPENDENCIES) 
+	@rm -f timcvt$(EXEEXT)
+	$(CXXLINK) $(timcvt_LDFLAGS) $(timcvt_OBJECTS) $(timcvt_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/calgps.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/timcvt.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/apps/time/README.txt b/trunk/apps/time/README.txt
new file mode 100644
index 0000000..6069952
--- /dev/null
+++ b/trunk/apps/time/README.txt
@@ -0,0 +1,94 @@
+Application: timcvt.exe
+Purpose:     To convert time between different time specifications
+Usage:       timcvt {option}  "{time specification}"
+Help:        timcvt -h
+Notes:       1) timcvt must be invoked from the command line.
+             2) All years are 4 digits.
+             3) Time specifications should be enclosed in quotes.
+
+Optional arguments:
+  -d, --debug                       Increase debug level
+  -v, --verbose                     Increase verbosity
+  -h, --help                        Print help usage
+  -c, --calendar=TIME               "Month(numeric) DayOfMonth Year"
+  -r, --rinex=TIME                  "Month(numeric) DayOfMonth Year Hour:Minute:Second"
+  -R, --rinex-file=TIME             "Year(2-digit) Month(numeric) DayOfMonth Hour Minute Second"
+  -y, --doy=TIME                    "Year DayOfYear SecondsOfDay"
+  -m, --mjd=TIME                    "ModifiedJulianDate"
+  -o, --shortweekandsow=TIME        "10bitGPSweek SecondsOfWeek Year"
+  -z, --shortweekandzcounts=TIME    "10bitGPSweek ZCounts Year"
+  -f, --fullweekandsow=TIME         "FullGPSweek SecondsOfWeek"
+  -w, --fullweekandzcounts=TIME     "FullGPSweek ZCounts"
+  -u, --unixtime=TIME               "UnixSeconds UnixMicroseconds"
+  -Z, --fullZcounts=TIME            "fullZcounts"
+  -F, --format=ARG                   Time format to use on output
+  -a, --add-offset=NUM               add NUM seconds to specified time
+  -s, --sub-offset=NUM               subtract NUM seconds from specified time
+
+Examples:
+c:\time> timcvt -y "2004 9 9"
+
+        Month/Day/Year                       1/9/2004
+        Hour:Min:Sec                         00:00:09
+        Modified Julian Date                 53013.0001041666
+        GPSweek DayOfWeek SecOfWeek          228 5 432009.000000
+        FullGPSweek Zcount                   1252 288006
+        Year DayOfYear SecondOfDay           2004 9 9.000000
+        Unix_sec Unix_usec                   1073606409 0
+        FullZcount                           119825670
+
+c:\time>timcvt -m "54327.65"
+
+        Month/Day/Year                       8/15/2007
+        Hour:Min:Sec                         15:36:00
+        Modified Julian Date                 54327.6499999999
+        GPSweek DayOfWeek SecOfWeek          416 3 315360.000000
+        FullGPSweek Zcount                   1440 210240
+        Year DayOfYear SecondOfDay           2007 227 56160.000000
+        Unix_sec Unix_usec                   1187192160 0
+        FullZcount                           218314048
+
+
+c:\time>timcvt -c "9 9 2004" -a 86510
+
+        Month/Day/Year                  9/10/2004
+        Hour:Min:Sec                    00:01:50
+        Modified Julian Date            53258.0012731482
+        GPSweek DayOfWeek SecOfWeek     263 5 432110.000000
+        FullGPSweek Zcount              1287 288074
+        Year DayOfYear SecondOfDay      2004 254 110.000000
+        Unix_sec Unix_usec              1094774510 0
+        FullZcount                              138175818
+
+
+
+---------------------------------------------------------------
+
+Application: calgps (UNIX), calgps.exe (Windows)
+Purpose:     To print a simple GPS calendar to the command line
+Usage:       calgps (options)
+Help:        calgps -h
+Notes:       Calgps uses the system's current time to determine
+             which months to print.
+
+The program calgps behave much like the UNIX utility cal. It prints
+one month of Julian days and GPS week numbers. The user can also
+print a full year, either the current year or a given year.
+
+The arguments are:
+  -h, --help              Display argument list.
+  -3, --three-months      Display last, this and next months.
+  -y, --year              Display all months for the current year
+  -Y, --specific-year=NUM Display all months for a given year
+
+Examples:
+
+c:\gpstk\apps\time\> calgps -3
+
+user at server:/home/user/gpstk/apps/time%  ./calgps -Y 2004
+
+
+timcvt and calgps are provided as part of the GPSTk open source project (www.gpstk.org).
+GPSTk has been developed by Applied Research Laboratories, The University of
+Texas at Austin, and is released under the LGPL.
+
diff --git a/trunk/apps/time/calgps b/trunk/apps/time/calgps
new file mode 100755
index 0000000..4031387
Binary files /dev/null and b/trunk/apps/time/calgps differ
diff --git a/trunk/apps/time/calgps.cpp b/trunk/apps/time/calgps.cpp
new file mode 100644
index 0000000..8364675
--- /dev/null
+++ b/trunk/apps/time/calgps.cpp
@@ -0,0 +1,142 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/time/calgps.cpp#1 $"
+
+// FIXME. This calendar app should simplify by updating it 
+//        to use the new TimeTag class. Not sure which one to user now tho..
+
+#include <iostream>
+#include <iomanip>
+#include "DayTime.hpp"
+#include "CommandOptionParser.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+void printMonth(short month, short year)
+{
+   DayTime thisDay(year, month, 1, 0, 0, 0.0);
+
+   short gpsweek = thisDay.GPSfullweek();
+   short dow     = thisDay.GPSday();
+  
+   cout << endl << thisDay.printf("%26b %4Y") << endl;
+
+   bool done = false;
+   do 
+   {
+      cout << setw(4) << gpsweek << "  ";
+      short thisDow=0;
+      
+      while (thisDow < 7)
+      {
+         thisDay = DayTime(gpsweek, thisDow* gpstk::DayTime::SEC_DAY);
+         short thisMonth = thisDay.month();  
+         if (thisMonth==month)
+	   cout << thisDay.printf("%2d-%03j ");
+         else 
+           cout << "       ";
+
+         // Iterate
+         thisDow++;        
+      }
+      cout << endl;
+
+      gpsweek++;
+      thisDay = DayTime(gpsweek, 0.0);
+      
+      done = ( (thisDay.month()>month) || 
+               (thisDay.year() >year)     );
+   } while (!done);
+  
+   return;
+}
+
+int main(int argc, char* argv[])
+{
+
+   try {
+      
+      CommandOptionNoArg helpOption('h',"help","Display argument list.",false);
+      CommandOptionNoArg threeOption('3',"three-months","Display last, this and next months.",false);
+      CommandOptionNoArg thisYearOption('y',"year","Display all months for the current year");
+      CommandOptionWithNumberArg givenYearOption('Y',"specific-year","Display all months for a given year");
+      CommandOptionParser cop("GPSTk GPS Calendar Generator");
+      cop.parseOptions(argc, argv);
+
+      if (cop.hasErrors())
+      {
+         cop.dumpErrors(cout);
+         cop.displayUsage(cout);
+         return 1;
+      }
+
+      if(helpOption.getCount())
+      {
+         cop.displayUsage(cout);
+         return 0;
+      }
+
+         // Default condition is to just print this month
+      DayTime now;
+      short firstMonth = now.month();
+      short lastMonth  = now.month();
+      short firstYear  = now.year();
+      short lastYear   = now.year();
+
+      if (thisYearOption.getCount())
+      {
+         firstMonth =1;
+         lastMonth  =12;
+      }
+      
+      if (givenYearOption.getCount())
+      {
+         firstMonth =1;
+         lastMonth  =12;
+         
+         firstYear = gpstk::StringUtils::asInt((givenYearOption.getValue())[0]);
+         lastYear = firstYear;
+         
+      }
+
+      if (threeOption.getCount())
+      {
+         firstMonth--;
+         if (firstMonth==0)
+         {
+            firstMonth = 12;
+            firstYear--;
+         }
+         
+         lastMonth++;
+         if (lastMonth==13)
+         {
+            lastMonth = 1;
+            lastYear++;
+         }
+      }
+      
+
+      for (short m=firstMonth, y=firstYear;
+          (m<=lastMonth) && (y<=lastYear); 
+           m++)
+      {
+         if (m==13)
+         {
+            m=1;
+            y++;
+         }
+         
+         printMonth(m, y);
+      }
+  
+      cout << endl;
+      
+   }
+   catch( Exception error)
+   {
+      cout << error << endl;
+      exit(-1);
+   }
+
+   exit(0);
+}
diff --git a/trunk/apps/time/timcvt b/trunk/apps/time/timcvt
new file mode 100755
index 0000000..cf51d64
Binary files /dev/null and b/trunk/apps/time/timcvt differ
diff --git a/trunk/apps/time/timcvt.cpp b/trunk/apps/time/timcvt.cpp
new file mode 100644
index 0000000..c203fdf
--- /dev/null
+++ b/trunk/apps/time/timcvt.cpp
@@ -0,0 +1,217 @@
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "BasicFramework.hpp"
+#include "DayTime.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class TimCvt : public BasicFramework
+{
+public:
+   TimCvt(char* arg0);
+
+protected:
+   virtual void process();
+
+private:
+   CommandOptionWithTimeArg CalendarTime;
+   CommandOptionWithTimeArg RinexTime;
+   CommandOptionWithTimeArg RinexFileTime;
+   CommandOptionWithTimeArg DOYTime;
+   CommandOptionWithTimeArg MJDTime;
+   CommandOptionWithTimeArg ShortWeekSOWTime;
+   CommandOptionWithTimeArg ShortWeekZCountsTime;
+   CommandOptionWithTimeArg FullWeekSOWTime;
+   CommandOptionWithTimeArg FullWeekZCountsTime;
+   CommandOptionWithTimeArg UnixTime;
+   CommandOptionWithTimeArg ZCountsTime;
+   CommandOptionWithAnyArg formatOption;
+   CommandOptionWithNumberArg addOption;
+   CommandOptionWithNumberArg subOption;
+   CommandOptionMutex mutexOption;
+
+   string stringToParse;
+   string timeSpec;
+};
+
+TimCvt::TimCvt(char* arg0)
+      : BasicFramework(arg0, "Converts from a given input time specification"
+                       " to other time formats.  Include the quotation marks."
+                       "  All year values are four digit years."),
+        CalendarTime('c', "calendar", "%m %d %Y",
+                     "\"Month(numeric) DayOfMonth Year\""),
+        RinexTime('r',"rinex","%m %d %Y %H:%M:%S",
+                  "\"Month(numeric) DayOfMonth Year Hour:Minute:Second\""),
+        RinexFileTime('R', "rinex-file", "%y %m %d %H %M %S",
+                      "\"Year(2-digit) Month(numeric) DayOfMonth Hour Minute Second\""),
+        DOYTime('y',"doy","%Y %j %s",
+                "\"Year DayOfYear SecondsOfDay\""),
+        MJDTime('m',"mjd","%Q",
+                "\"ModifiedJulianDate\""),
+        ShortWeekSOWTime('o',"shortweekandsow","%G %g %Y",
+                         "\"10bitGPSweek SecondsOfWeek Year\""),
+        ShortWeekZCountsTime('z',"shortweekandzcounts","%G %Z %Y",
+                             "\"10bitGPSweek ZCounts Year\""),
+        FullWeekSOWTime('f',"fullweekandsow","%F %g",
+                        "\"FullGPSweek SecondsOfWeek\""),
+        FullWeekZCountsTime('w',"fullweekandzcounts","%F %Z",
+                            "\"FullGPSweek ZCounts\""),
+        UnixTime('u',"unixtime","%U %u",
+                 "\"UnixSeconds UnixMicroseconds\""),
+        ZCountsTime('Z',"fullZcounts","%C",
+                    "\"fullZcounts\""),
+        formatOption('F', "format", "Time format to use on output"),
+        addOption('a', "add-offset", "add NUM seconds to specified time"),
+        subOption('s', "sub-offset", "subtract NUM seconds from specified time")
+{
+   CalendarTime.setMaxCount(1);
+   RinexTime.setMaxCount(1);
+   RinexFileTime.setMaxCount(1);
+   DOYTime.setMaxCount(1);
+   MJDTime.setMaxCount(1);
+   ShortWeekSOWTime.setMaxCount(1);
+   ShortWeekZCountsTime.setMaxCount(1);
+   FullWeekSOWTime.setMaxCount(1);
+   FullWeekZCountsTime.setMaxCount(1);
+   UnixTime.setMaxCount(1);
+   ZCountsTime.setMaxCount(1);
+   formatOption.setMaxCount(1);
+
+   mutexOption.addOption(&CalendarTime);
+   mutexOption.addOption(&RinexTime);
+   mutexOption.addOption(&RinexFileTime);
+   mutexOption.addOption(&DOYTime);
+   mutexOption.addOption(&MJDTime);
+   mutexOption.addOption(&ShortWeekSOWTime);
+   mutexOption.addOption(&ShortWeekZCountsTime);
+   mutexOption.addOption(&FullWeekSOWTime);
+   mutexOption.addOption(&FullWeekZCountsTime);
+   mutexOption.addOption(&UnixTime);
+   mutexOption.addOption(&ZCountsTime);
+}
+
+void TimCvt::process()
+{
+   DayTime dt;
+      //dt.setToString(stringToParse, timeSpec);
+   CommandOptionWithTimeArg* whichOpt =
+      (CommandOptionWithTimeArg*)mutexOption.whichOne();
+
+   if (whichOpt)
+      dt = whichOpt->getTime().front();
+
+   int i;
+   int addOptions = addOption.getCount();
+   int subOptions = subOption.getCount();
+   for (i = 0; i < addOptions; i++)
+      dt += StringUtils::asDouble(addOption.getValue()[i]);
+   for (i = 0; i < subOptions; i++)
+      dt -= StringUtils::asDouble(subOption.getValue()[i]);
+
+   if (formatOption.getCount())
+   {
+      cout << dt.printf(formatOption.getValue()[0]) << endl;
+   }
+   else
+   {
+      using StringUtils::leftJustify;
+      string eight(8, ' '); // eight spaces
+      
+      cout << endl
+           << eight << leftJustify("Month/Day/Year", 32) 
+           << dt.printf("%m/%d/%Y") << endl
+
+           << eight << leftJustify("Hour:Min:Sec", 32)
+           << dt.printf("%02H:%02M:%02S") << endl
+
+           << eight << leftJustify("Modified Julian Date", 32)
+           << setprecision(15) << dt.MJDdate() << endl
+
+           << eight << leftJustify("GPSweek DayOfWeek SecOfWeek", 32)
+           << dt.printf("%G %w %g") << endl
+
+           << eight << leftJustify("FullGPSweek Zcount", 32)
+           << dt.printf("%F %z") << endl
+
+           << eight << leftJustify("Year DayOfYear SecondOfDay", 32)
+           << dt.printf("%Y %j %s") << endl
+
+           << eight << leftJustify("Unix_sec Unix_usec", 32)
+           << dt.printf("%U %u") << endl
+
+           << eight << leftJustify("FullZcount", 32)
+           << dt.printf("%c") << endl
+
+           << endl << endl;
+   }
+
+   return;
+}
+
+int main(int argc, char* argv[])
+{
+   try
+   {
+      TimCvt tc(argv[0]);
+      if (!tc.initialize(argc, argv))
+         return 0;
+      if (!tc.run())
+         return 1;
+      
+      return 0;
+   }
+   catch(Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(exception& e)
+   {
+      cout << e.what() << endl;
+   }
+   catch(...)
+   {
+      cout << "unknown error" << endl;
+   }
+   return 0;
+}
diff --git a/trunk/apps/visibility/Jamfile b/trunk/apps/visibility/Jamfile
new file mode 100644
index 0000000..3e9f0e4
--- /dev/null
+++ b/trunk/apps/visibility/Jamfile
@@ -0,0 +1,7 @@
+SubDir TOP apps visibility ;
+
+GPSLinkLibraries wheresat : gpstk ;
+BonkForte ; 
+
+GPSMain wheresat : WhereSat.cpp ;
+
diff --git a/trunk/apps/visibility/Makefile.am b/trunk/apps/visibility/Makefile.am
new file mode 100644
index 0000000..a7d074d
--- /dev/null
+++ b/trunk/apps/visibility/Makefile.am
@@ -0,0 +1,6 @@
+INCLUDES = -I../../src
+LDADD = ../../src/libgpstk.la
+
+noinst_PROGRAMS = wheresat
+
+vecsol_SOURCES = WhereSat.cpp
diff --git a/trunk/apps/visibility/UsingWhereSat.doc b/trunk/apps/visibility/UsingWhereSat.doc
new file mode 100644
index 0000000..870c0da
Binary files /dev/null and b/trunk/apps/visibility/UsingWhereSat.doc differ
diff --git a/trunk/apps/visibility/WhereSat.cpp b/trunk/apps/visibility/WhereSat.cpp
new file mode 100644
index 0000000..aa18b0c
--- /dev/null
+++ b/trunk/apps/visibility/WhereSat.cpp
@@ -0,0 +1,261 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/visibility/WhereSat.cpp#1 $"
+//
+//   Computes SV position (Earth-fixed) and SV clock
+//   correction.  If given a user position, computes 
+//   azimuth, elevation and range to SV.
+//
+
+
+
+#include <iostream>
+#include <iomanip>
+
+#include "RinexNavData.hpp"
+#include "DayTime.hpp"
+#include "RinexEphemerisStore.hpp"
+#include "CommandOption.hpp"
+#include "CommandOptionParser.hpp"
+#include "BCEphemerisStore.hpp"
+#include "WGS84Geoid.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int j=0,incr=900,mm,dd,yy,hh,minu; 	               // because sscanf doesnt read in shorts?...
+short year, month, day, hour, minute, myprn;       // for DayTime usage
+string OutputFileName,NavFileName;
+ofstream ofs;
+double x, y, z, ss, correction;
+RinexEphemerisStore BCEphList;
+RinexNavData data;     
+Xvt BCPVT,ANTPVT;
+DayTime t,tStart,tEnd,tFile;
+WGS84Geoid geoid;
+ECEF rxPos;
+
+int main(int argc, char *argv[])
+{
+
+CommandOptionNoArg
+  helpOption('h',"help", "Print help usage.");
+
+ CommandOptionWithAnyArg 
+  BceFiles('b',"broadcast","RINEX navigation file. User may enter multiple files.",true),
+  PositionOption('u',"position","Antenna position in ECEF (x,y,z) coordinates.  Format as a string: \"X Y Z\". Used to give user-centered data (SV range, azimuth & elevation)."),
+  StartTimeOption('s',"start","Starting time for analysis. Format as string: \"MO/DD/YYYY HH:MM:SS\". If no start time is specified, the default is end of file."),
+  EndTimeOption('e',"end", "End time for analysis.  Format as string: \"MO/DD/YYYY HH:MM:SS\". If no end time is specified, the default is beginning of file."),
+  MatlabOption('o',"output-filename", "Results output to a MATLAB suitable file.");
+
+ CommandOptionWithNumberArg 
+  MyPrnOption('p',"prn","Which SV to analyze.",true),
+  TimeIncrementOption('t',"time","Time increment for ephemeris calculation.  Enter increment in seconds.  Default is 900 (15 min).");     
+
+ string appDesc("Computes the ephemeris data for a single prn.");
+ CommandOptionParser cop(appDesc);
+ cop.parseOptions(argc, argv);
+
+ if (helpOption.getCount() || cop.hasErrors())
+ {
+  	if (cop.hasErrors())
+  	cop.dumpErrors(cout);
+  	cop.displayUsage(cout);
+ 	exit(0);
+ }
+
+ NavFileName = (BceFiles.getValue())[0];
+ BCEphList.loadFiles(BceFiles.getValue());
+ BCEphList.SearchNear();
+ myprn = StringUtils::asInt((MyPrnOption.getValue())[0]);
+
+ if (MatlabOption.getCount())
+ {
+   	OutputFileName = (MatlabOption.getValue())[0];
+   	ofs.open(OutputFileName.c_str(), ios::out);
+   	if (PositionOption.getCount())
+     	{ 
+     		ofs << "#10-bit GPS week, GPS seconds of week,X,Y,Z(m),Clock Corr.(sec), azimuth (deg), elevation (deg), range (m)" << endl;
+     	}
+ }
+ else
+ {
+   	ofs << "#10-bit GPS week, GPS seconds of week,X,Y,Z(m),Clock Corr.(sec)" << endl;
+ }   
+ if (StartTimeOption.getCount())
+ {
+     	sscanf(StartTimeOption.getValue().front().c_str(), "%i/%i/%i %i:%i:%lf",&mm,&dd,&yy,&hh,&minu,&ss);
+     	tStart.setYMDHMS((short)yy, (short)mm, (short)dd, (short)hh, (short)minu, (double)ss);
+ }	
+ else
+ {
+     	DayTime tFile(BCEphList.getInitialTime());	//extra code b/c sscanf reads in int's but setYMDHMS needs shorts
+     	year = tFile.year();
+     	month = tFile.month();
+     	day = tFile.day();
+     	hour = tFile.hour();
+     	minute = tFile.minute();
+     	ss = tFile.second();
+     	tStart.setYMDHMS(year,month,day,hour,minute,ss);
+ }
+ if (EndTimeOption.getCount())
+ {
+   	sscanf(EndTimeOption.getValue().front().c_str(), "%i/%i/%i %i:%i:%lf",&mm,&dd,&yy,&hh,&minu,&ss);
+   	tEnd.setYMDHMS((short)yy, (short)mm, (short)dd, (short)hh, (short)minu, (double)ss);
+ }
+ else
+ {
+   	DayTime tFile(BCEphList.getFinalTime());		//extra code b/c sscanf reads in int's but setYMDHMS needs shorts
+   	year = tFile.year();
+   	month = tFile.month();
+   	day = tFile.day();
+   	hour = tFile.hour();
+   	minute = tFile.minute();
+   	ss = tFile.second();
+   	tEnd.setYMDHMS(year,month,day,hour,minute,ss);
+ }
+ if (TimeIncrementOption.getCount())
+   	incr = gpstk::StringUtils::asInt((TimeIncrementOption.getValue())[0]);
+ if (PositionOption.getCount())
+ {
+   	sscanf(PositionOption.getValue().front().c_str(),"%lf %lf %lf", &x, &y, &z);
+   	ANTPVT.x[0] = x; ANTPVT.x[1] = y; ANTPVT.x[2] = z;
+ }
+ 
+ if (PositionOption.getCount())
+ {
+   	cout << endl << endl << setw(20) << left << " Antenna Position: " 
+           << ANTPVT.x[0] << "  " << ANTPVT.x[1] << "  " << ANTPVT.x[2] << endl;
+ }
+
+ cout  << setw(20) << left << " Navigation File: "
+       << NavFileName << endl;
+ cout  << setw(20) << left << " Start Time: "
+       << tStart << endl;
+ cout  << setw(20) << left << " End Time: "
+       << tEnd << endl;
+ cout  << setw(20) << left << " PRN: "
+       << myprn << endl << endl;
+ cout  << " Prn " << myprn 
+       << " Earth-fixed position and clock information:"
+       << endl << endl;
+ cout  << setw(20) << left << " Date       Time(UTC)  "
+       << setw(20) << " X (meters)"
+       << setw(20) << " Y (meters)"
+       << setw(20) << " Z (meters)"
+       << setw(20) << " Clock Correc (s)"
+       << endl;
+ cout  << setw(98) << setfill('=') << " =" << endl;
+ cout.width(0);
+ cout.fill(' '); 
+
+ t = tStart;
+
+ while (t < tEnd)
+ {
+	try
+     	{
+		BCPVT = BCEphList.getPrnXvt(myprn, t);
+     		cout 	<< " "  << left << setw(20) << t
+          		<< fixed
+			<< " "  << left << setw(20) << BCPVT.x[0]
+          		<< " "  << left << setw(20) << BCPVT.x[1]
+          		<< " "  << left << setw(20) << BCPVT.x[2]
+          		<< " "  << left << setw(20) << BCPVT.dtime << endl;
+          	j++;
+     	}
+     	catch (gpstk::EphemerisStore::NoEphemerisFound& e)
+     	{
+		;   // I don't know what to throw in these blocks
+  		    // without disrupting the printing of the charts.
+		    // For ex., this would disrupt the printing:
+		    // cerr << t << " " << e << endl;
+     	}
+	t += incr;
+ }
+ if (PositionOption.getCount())
+ {
+   	rxPos = Triple(ANTPVT.x);
+
+	cout 	<< endl << endl; 
+   	cout 	<< " Data for user reference frame:" << endl << endl;;
+   	cout 	<< setw(20) << left << " Date       Time(UTC)  "
+        	<< setw(15) << " Azimuth"
+		<< setw(15) << " Elevation"
+		<< setw(15) << " Range to SV (m)"
+		<< endl;
+   	cout 	<< setw(70) << setfill('=') << " =" << endl;
+   	cout.width(0);
+   	cout.fill(' '); 
+   	
+	t = tStart;
+  
+  	while (t < tEnd)
+     	{
+     		try 
+     		{
+       		BCPVT = BCEphList.getPrnXvt(myprn, t);
+			correction = (BCPVT.dtime) * (geoid.c());
+       		cout 	<< fixed
+				<< " "  << left << setw(20) <<t
+            		<< " "  << left << setw(15) << ANTPVT.x.azAngle(BCPVT.x)
+            		<< " "  << left << setw(15) << ANTPVT.x.elvAngle(BCPVT.x)
+				<< " "  << left << setw(15) << BCPVT.preciseRho(rxPos, geoid, correction)
+            		<< endl;
+     		}
+   		catch (gpstk::Exception& e)
+     		{
+			;
+		}
+
+		t += incr;
+
+   	}
+ }
+ 
+ if (MatlabOption.getCount())
+ {
+   	t = tStart;
+   	while (t < tEnd)
+     	{
+     		try 
+     		{   
+       		BCPVT = BCEphList.getPrnXvt(myprn, t);
+			correction = (BCPVT.dtime) * (geoid.c());
+                
+      		ofs 	<< fixed
+           			<< left << setw(6) <<t.GPSfullweek()
+	   			<< " "  << left << setw(8) << t.GPSsecond() 
+           			<< " "  << left << setw(20) << BCPVT.x[0]
+           			<< " "  << left << setw(20) << BCPVT.x[1]
+           			<< " "  << left << setw(20) << BCPVT.x[2]
+				<< " "  << left << setw(10) << BCPVT.dtime;
+	   			if (PositionOption.getCount())
+	    			{
+	    				ofs 	<< fixed
+            				<< " "  << left << setw(15) << ANTPVT.x.azAngle(BCPVT.x)
+            				<< " "  << left << setw(15) << ANTPVT.x.elvAngle(BCPVT.x)
+						<< " "  << left << setw(15) << BCPVT.preciseRho(rxPos, geoid, correction);
+            			}
+				ofs << endl;
+     		}
+     		catch (gpstk::Exception& e)
+         	{
+			;
+	 	}
+		t += incr;
+     	}
+  }
+ 
+ if (j==0) 
+ { 
+    	cout << endl << endl << " No epochs for prn " << myprn << "!" << endl << endl; 
+ }
+ else 
+ { 
+     	cout << endl <<  " Calculated " << j << " increments for prn " << myprn << " ." << endl<< endl << endl; 
+ }
+
+ ofs.close();
+ exit(0);
+
+}
+
diff --git a/trunk/apps/visibility/wheresat b/trunk/apps/visibility/wheresat
new file mode 100755
index 0000000..2c67407
Binary files /dev/null and b/trunk/apps/visibility/wheresat differ
diff --git a/trunk/configure.ac b/trunk/configure.ac
new file mode 100644
index 0000000..bc17383
--- /dev/null
+++ b/trunk/configure.ac
@@ -0,0 +1,54 @@
+#                                               -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.59)
+AC_INIT([GPSTK], [1.2], [http://www.gpstk.org/])
+AC_CONFIG_SRCDIR([src/DayTime.hpp])
+AM_INIT_AUTOMAKE
+
+# Checks for programs.
+AC_PROG_CXX
+AC_PROG_CC
+
+# Checks for libraries.
+AC_PROG_LIBTOOL
+
+# Checks for header files.
+AC_FUNC_ALLOCA
+AC_HEADER_DIRENT
+AC_HEADER_STDC
+AC_CHECK_HEADERS([libintl.h stddef.h stdlib.h string.h strings.h sys/param.h sys/time.h sys/timeb.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_HEADER_STDBOOL
+AC_C_CONST
+AC_C_INLINE
+AC_TYPE_SIZE_T
+AC_HEADER_TIME
+AC_STRUCT_TM
+
+# Checks for library functions.
+AC_FUNC_CLOSEDIR_VOID
+AC_FUNC_ERROR_AT_LINE
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_FUNC_STAT
+AC_FUNC_STRTOD
+AC_CHECK_FUNCS([bzero floor ftime getcwd gettimeofday memset mkdir modf pow re_comp regcomp sqrt strstr strtol strtoul])
+
+AC_CONFIG_FILES([Makefile
+                 src/Makefile
+                 apps/Makefile
+                 apps/Rinextools/Makefile
+                 apps/checktools/Makefile
+                 apps/cycleslips/Makefile
+                 apps/difftools/Makefile
+                 apps/filetools/Makefile
+                 apps/ionosphere/Makefile
+                 apps/mergetools/Makefile
+                 apps/reszilla/Makefile
+                 apps/time/Makefile
+		 apps/positioning/Makefile
+		 apps/differential/Makefile
+                 examples/Makefile])
+AC_OUTPUT
diff --git a/trunk/examples/Jamfile b/trunk/examples/Jamfile
new file mode 100644
index 0000000..fed89f5
--- /dev/null
+++ b/trunk/examples/Jamfile
@@ -0,0 +1,7 @@
+#
+# $Id: //depot/sgl/gpstk/dev/examples/Jamfile#1 $
+#
+
+SubDir TOP examples ;
+
+# SubInclude TOP examples foo ;
diff --git a/trunk/examples/Makefile.am b/trunk/examples/Makefile.am
new file mode 100644
index 0000000..2420039
--- /dev/null
+++ b/trunk/examples/Makefile.am
@@ -0,0 +1,10 @@
+INCLUDES = -I../src
+LDADD = ../src/libgpstk.la
+
+noinst_PROGRAMS = example1 example2 example3 example4
+example1_SOURCES = example1.cpp
+example2_SOURCES = example2.cpp
+example3_SOURCES = example3.cpp
+example4_SOURCES = example4.cpp
+
+EXTRA_DIST = bahr1620.04m bahr1620.04o bahr1620.04n
diff --git a/trunk/examples/Makefile.in b/trunk/examples/Makefile.in
new file mode 100644
index 0000000..4433e0f
--- /dev/null
+++ b/trunk/examples/Makefile.in
@@ -0,0 +1,452 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+noinst_PROGRAMS = example1$(EXEEXT) example2$(EXEEXT) \
+	example3$(EXEEXT) example4$(EXEEXT)
+subdir = examples
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+PROGRAMS = $(noinst_PROGRAMS)
+am_example1_OBJECTS = example1.$(OBJEXT)
+example1_OBJECTS = $(am_example1_OBJECTS)
+example1_LDADD = $(LDADD)
+example1_DEPENDENCIES = ../src/libgpstk.la
+am_example2_OBJECTS = example2.$(OBJEXT)
+example2_OBJECTS = $(am_example2_OBJECTS)
+example2_LDADD = $(LDADD)
+example2_DEPENDENCIES = ../src/libgpstk.la
+am_example3_OBJECTS = example3.$(OBJEXT)
+example3_OBJECTS = $(am_example3_OBJECTS)
+example3_LDADD = $(LDADD)
+example3_DEPENDENCIES = ../src/libgpstk.la
+am_example4_OBJECTS = example4.$(OBJEXT)
+example4_OBJECTS = $(am_example4_OBJECTS)
+example4_LDADD = $(LDADD)
+example4_DEPENDENCIES = ../src/libgpstk.la
+DEFAULT_INCLUDES = -I. -I$(srcdir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(example1_SOURCES) $(example2_SOURCES) $(example3_SOURCES) \
+	$(example4_SOURCES)
+DIST_SOURCES = $(example1_SOURCES) $(example2_SOURCES) \
+	$(example3_SOURCES) $(example4_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+INCLUDES = -I../src
+LDADD = ../src/libgpstk.la
+example1_SOURCES = example1.cpp
+example2_SOURCES = example2.cpp
+example3_SOURCES = example3.cpp
+example4_SOURCES = example4.cpp
+EXTRA_DIST = bahr1620.04m bahr1620.04o bahr1620.04n
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cpp .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  examples/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  examples/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+clean-noinstPROGRAMS:
+	@list='$(noinst_PROGRAMS)'; for p in $$list; do \
+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+	  echo " rm -f $$p $$f"; \
+	  rm -f $$p $$f ; \
+	done
+example1$(EXEEXT): $(example1_OBJECTS) $(example1_DEPENDENCIES) 
+	@rm -f example1$(EXEEXT)
+	$(CXXLINK) $(example1_LDFLAGS) $(example1_OBJECTS) $(example1_LDADD) $(LIBS)
+example2$(EXEEXT): $(example2_OBJECTS) $(example2_DEPENDENCIES) 
+	@rm -f example2$(EXEEXT)
+	$(CXXLINK) $(example2_LDFLAGS) $(example2_OBJECTS) $(example2_LDADD) $(LIBS)
+example3$(EXEEXT): $(example3_OBJECTS) $(example3_DEPENDENCIES) 
+	@rm -f example3$(EXEEXT)
+	$(CXXLINK) $(example3_LDFLAGS) $(example3_OBJECTS) $(example3_LDADD) $(LIBS)
+example4$(EXEEXT): $(example4_OBJECTS) $(example4_DEPENDENCIES) 
+	@rm -f example4$(EXEEXT)
+	$(CXXLINK) $(example4_LDFLAGS) $(example4_OBJECTS) $(example4_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/example1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/example2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/example3.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/example4.Po at am__quote@
+
+.cpp.o:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cpp.obj:
+ at am__fastdepCXX_TRUE@	if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cpp.lo:
+ at am__fastdepCXX_TRUE@	if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	    $$tags $$unique; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	tags=; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '    { files[$$0] = 1; } \
+	       END { for (i in files) print i; }'`; \
+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$tags $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && cd $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(PROGRAMS)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-libtool distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-libtool clean-noinstPROGRAMS ctags distclean \
+	distclean-compile distclean-generic distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-exec \
+	install-exec-am install-info install-info-am install-man \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/examples/bahr1620.04m b/trunk/examples/bahr1620.04m
new file mode 100644
index 0000000..857b3a5
--- /dev/null
+++ b/trunk/examples/bahr1620.04m
@@ -0,0 +1,109 @@
+     2.10           Meteorological                          RINEX VERSION / TYPE
+GFW - RMW           NIMA                06/09/2004 23:58:58 PGM / RUN BY / DATE
+Some weather data may have corrected values                 COMMENT
+85405                                                       MARKER NAME
+85405                                                       MARKER NUMBER
+     3    PR    TD    HR                                    # / TYPES OF OBSERV
+Vaisala             PTB220                        0.1    PR SENSOR MOD/TYPE/ACC
+Vaisala             HMP230                        0.1    TD SENSOR MOD/TYPE/ACC
+Vaisala             HMP230                        0.1    HR SENSOR MOD/TYPE/ACC
+  3633910.6549  4425277.7603  2799862.8820        0.0000 PR SENSOR POS XYZ/H
+  3633910.6549  4425277.7603  2799862.8820        0.0000 TD SENSOR POS XYZ/H
+  3633910.6549  4425277.7603  2799862.8820        0.0000 HR SENSOR POS XYZ/H
+                                                            END OF HEADER
+ 04  6 10  0  0  0  999.7   30.6   42.6
+ 04  6 10  0 15  0  999.7   30.5   44.4
+ 04  6 10  0 30  0  999.8   30.3   44.6
+ 04  6 10  0 45  0  999.7   30.4   45.6
+ 04  6 10  1  0  0  999.9   30.5   44.0
+ 04  6 10  1 15  0 1000.0   30.6   41.3
+ 04  6 10  1 30  0 1000.2   30.8   40.0
+ 04  6 10  1 45  0 1000.3   30.7   39.9
+ 04  6 10  2  0  0 1000.4   30.6   39.8
+ 04  6 10  2 15  0 1000.6   31.1   38.0
+ 04  6 10  2 30  0 1000.6   31.4   37.0
+ 04  6 10  2 45  0 1000.8   32.0   36.3
+ 04  6 10  3  0  0 1000.9   33.0   34.3
+ 04  6 10  3 15  0 1001.2   33.7   32.4
+ 04  6 10  3 30  0 1001.3   34.2   31.3
+ 04  6 10  3 45  0 1001.4   35.3   26.4
+ 04  6 10  4  0  0 1001.6   35.9   23.9
+ 04  6 10  4 15  0 1001.5   36.6   21.5
+ 04  6 10  4 30  0 1001.5   36.9   20.0
+ 04  6 10  4 45  0 1001.5   37.3   18.8
+ 04  6 10  5  0  0 1001.6   37.6   21.1
+ 04  6 10  5 15  0 1001.7   38.1   19.7
+ 04  6 10  5 30  0 1001.6   38.3   19.4
+ 04  6 10  5 45  0 1001.5   38.4   20.4
+ 04  6 10  6  0  0 1001.6   39.2   20.6
+ 04  6 10  6 15  0 1001.6   38.9   20.1
+ 04  6 10  6 30  0 1001.8   39.7   18.0
+ 04  6 10  6 45  0 1001.8   39.2   18.9
+ 04  6 10  7  0  0 1001.9   40.0   18.7
+ 04  6 10  7 15  0 1002.0   39.8   18.8
+ 04  6 10  7 30  0 1002.1   39.4   19.0
+ 04  6 10  7 45  0 1002.0   39.8   17.6
+ 04  6 10  8  0  0 1001.8   41.0   18.3
+ 04  6 10  8 15  0 1001.7   40.8   16.4
+ 04  6 10  8 30  0 1001.7   41.6   14.8
+ 04  6 10  8 45  0 1001.6   41.7   14.6
+ 04  6 10  9  0  0 1001.7   41.3   15.0
+ 04  6 10  9 15  0 1001.5   41.5   14.7
+ 04  6 10  9 30  0 1001.4   42.7   15.3
+ 04  6 10  9 45  0 1001.3   42.3   15.8
+ 04  6 10 10  0  0 1001.2   41.8   15.4
+ 04  6 10 10 15  0 1001.1   42.4   15.5
+ 04  6 10 10 30  0 1001.0   42.3   18.3
+ 04  6 10 10 45  0 1000.8   42.4   15.2
+ 04  6 10 11  0  0 1000.7   41.7   19.7
+ 04  6 10 11 15  0 1000.5   41.9   20.5
+ 04  6 10 11 30  0 1000.5   40.9   23.6
+ 04  6 10 11 45  0 1000.5   40.2   23.3
+ 04  6 10 12  0  0 1000.3   40.4   25.2
+ 04  6 10 12 15  0 1000.1   40.8   23.9
+ 04  6 10 12 30  0 1000.0   41.3   21.6
+ 04  6 10 12 45  0  999.8   41.6   18.7
+ 04  6 10 13  0  0  999.8   40.6   22.9
+ 04  6 10 13 15  0  999.6   40.4   18.5
+ 04  6 10 13 30  0  999.6   41.1   17.8
+ 04  6 10 13 45  0  999.7   40.7   17.3
+ 04  6 10 14  0  0  999.6   40.5   18.6
+ 04  6 10 14 15  0  999.6   39.8   18.3
+ 04  6 10 14 30  0  999.5   39.1   21.2
+ 04  6 10 14 45  0  999.4   38.0   26.0
+ 04  6 10 15  0  0  999.4   37.2   31.1
+ 04  6 10 15 15  0  999.2   36.4   33.9
+ 04  6 10 15 30  0  999.3   36.2   32.3
+ 04  6 10 15 45  0  999.2   35.9   34.1
+ 04  6 10 16  0  0  999.2   35.8   33.3
+ 04  6 10 16 15  0  999.2   35.6   32.4
+ 04  6 10 16 30  0  999.4   35.4   35.3
+ 04  6 10 16 45  0  999.5   35.0   36.4
+ 04  6 10 17  0  0  999.6   34.6   40.4
+ 04  6 10 17 15  0  999.6   34.2   43.4
+ 04  6 10 17 30  0  999.8   34.1   43.9
+ 04  6 10 17 45  0  999.8   34.1   45.3
+ 04  6 10 18  0  0  999.7   33.9   44.5
+ 04  6 10 18 15  0  999.8   33.7   42.4
+ 04  6 10 18 30  0  999.8   33.7   42.8
+ 04  6 10 18 45  0  999.6   33.6   44.0
+ 04  6 10 19  0  0  999.6   33.6   41.5
+ 04  6 10 19 15  0  999.6   33.1   45.7
+ 04  6 10 19 30  0  999.4   33.1   45.3
+ 04  6 10 19 45  0  999.5   32.7   50.8
+ 04  6 10 20  0  0  999.2   32.8   47.5
+ 04  6 10 20 15  0  999.2   32.1   53.4
+ 04  6 10 20 30  0  999.1   32.1   53.3
+ 04  6 10 20 45  0  998.9   32.1   54.1
+ 04  6 10 21  0  0  998.9   31.7   54.4
+ 04  6 10 21 15  0  998.7   31.7   55.9
+ 04  6 10 21 30  0  998.6   31.4   57.1
+ 04  6 10 21 45  0  998.4   31.5   54.4
+ 04  6 10 22  0  0  998.4   31.5   53.2
+ 04  6 10 22 15  0  998.4   31.3   53.6
+ 04  6 10 22 30  0  998.3   31.0   53.0
+ 04  6 10 22 45  0  998.4   30.9   54.7
+ 04  6 10 23  0  0  998.3   30.9   57.1
+ 04  6 10 23 15  0  998.2   31.0   57.3
+ 04  6 10 23 30  0  998.2   31.2   50.5
+ 04  6 10 23 45  0  998.3   30.8   49.8
diff --git a/trunk/examples/bahr1620.04n b/trunk/examples/bahr1620.04n
new file mode 100644
index 0000000..43cafe8
--- /dev/null
+++ b/trunk/examples/bahr1620.04n
@@ -0,0 +1,1331 @@
+     2.10           Navigation                              RINEX VERSION / TYPE
+GFW - RNW           NIMA                06/10/2004 00:00:26 PGM / RUN BY / DATE
+                                                            END OF HEADER
+ 5 04  6 10  2  0  0.0  .341222621500D-04  .181898940355D-11  .000000000000D+00
+     .900000000000D+02 -.386250000000D+02  .501449458811D-08  .237108733125D+01
+    -.217743217945D-05  .526548980270D-02  .109504908323D-04  .515376806831D+04
+     .352800000000D+06 -.540167093277D-07 -.152094815689D+01 -.912696123123D-07
+     .935617824444D+00  .151375000000D+03  .833656182315D+00 -.815033949435D-08
+    -.124290891500D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.419095158577D-08  .346000000000D+03
+     .345606000000D+06  .400000000000D+01
+ 9 04  6 10  2  0  0.0 -.485517084599D-04 -.181898940355D-11  .000000000000D+00
+     .216000000000D+03 -.687812500000D+02  .502699510881D-08 -.299872356341D+01
+    -.362657010555D-05  .156574887224D-01  .553391873837D-05  .515370327950D+04
+     .352800000000D+06  .184401869774D-06 -.252921697572D+01 -.236555933952D-06
+     .952019175420D+00  .264937500000D+03  .104784333493D+01 -.818676958324D-08
+    -.739316509786D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.558793544769D-08  .472000000000D+03
+     .345606000000D+06  .400000000000D+01
+30 04  6 10  2  0  0.0  .546381808817D-03  .466116034659D-11  .000000000000D+00
+     .530000000000D+02 -.402500000000D+02  .489341811622D-08  .134833572584D+01
+    -.215321779251D-05  .735930528026D-02  .106804072857D-04  .515365774727D+04
+     .352800000000D+06 -.165775418282D-06 -.147951043029D+01 -.596046447754D-07
+     .942506053217D+00  .165593750000D+03  .126609082544D+01 -.822819988041D-08
+    -.109647424398D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.838190317154D-08  .309000000000D+03
+     .345606000000D+06  .400000000000D+01
+ 4 04  6 10  2  0  0.0 -.172388274223D-03 -.127329258248D-10  .000000000000D+00
+     .172000000000D+03  .531250000000D+01  .460804908660D-08  .267604400100D+01
+     .251457095146D-06  .662042386830D-02  .636838376522D-05  .515366585541D+04
+     .352800000000D+06 -.800937414169D-07  .669513552475D+00  .689178705215D-07
+     .959705613260D+00  .257281250000D+03 -.566281602987D-01 -.813069581897D-08
+    -.268582616115D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .428000000000D+03
+     .345606000000D+06  .400000000000D+01
+ 6 04  6 10  2  0  0.0  .948891974986D-04  .616182660451D-10  .000000000000D+00
+     .220000000000D+02  .493437500000D+02  .508342603081D-08 -.269257883594D+01
+     .245124101639D-05  .661199598107D-02  .774115324020D-05  .515380031395D+04
+     .352800000000D+06  .745058059692D-07 -.422439076877D+00 -.540167093277D-07
+     .935864754775D+00  .214468750000D+03 -.200835451427D+01 -.822819988041D-08
+     .149291932894D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.465661287308D-08  .278000000000D+03
+     .345606000000D+06  .400000000000D+01
+10 04  6 10  2  0  0.0  .453772954643D-04  .568434188608D-12  .000000000000D+00
+     .138000000000D+03  .208750000000D+02  .384694595503D-08  .501461919216D+00
+     .113062560558D-05  .608099380042D-02  .942870974541D-05  .515373151970D+04
+     .352800000000D+06  .689178705215D-07  .170729495587D+01  .102445483208D-06
+     .979931953734D+00  .208343750000D+03  .315768757882D+00 -.784104089654D-08
+     .571452374714D-11  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.232830643654D-08  .650000000000D+03
+     .345606000000D+06  .400000000000D+01
+17 04  6 10  2  0  0.0 -.369045883417D-04 -.192130755750D-10  .000000000000D+00
+     .206000000000D+03 -.443750000000D+01  .427017787005D-08 -.201479578938D+01
+    -.365078449249D-06  .168322910322D-01  .679865479469D-05  .515362426758D+04
+     .352800000000D+06  .316649675369D-07  .763743451655D+00 -.219792127609D-06
+     .968678959653D+00  .253000000000D+03 -.278154677971D+01 -.790104339589D-08
+    -.582167106740D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.139698386192D-08  .462000000000D+03
+     .345606000000D+06  .400000000000D+01
+24 04  6 10  2  0  0.0  .334703363478D-04  .295585778076D-11  .000000000000D+00
+     .230000000000D+02  .421875000000D+01  .429482175371D-08 -.285128883025D+01
+     .230967998505D-06  .934673927259D-02  .634603202343D-05  .515364943123D+04
+     .352800000000D+06  .726431608200D-07  .696339543577D+00  .298023223877D-07
+     .969969227066D+00  .261718750000D+03 -.139802388908D+01 -.784854120896D-08
+    -.239295681911D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.139698386192D-08  .279000000000D+03
+     .345606000000D+06  .400000000000D+01
+21 04  6 10  2  0  0.0  .763442367315D-04  .341060513165D-12  .000000000000D+00
+     .790000000000D+02  .631250000000D+01  .471555356459D-08 -.279801627195D+01
+     .448897480965D-06  .882159930188D-02  .626035034657D-05  .515368687820D+04
+     .352800000000D+06 -.800937414169D-07  .694151764219D+00  .223517417908D-07
+     .953292034108D+00  .256375000000D+03  .300439997083D+01 -.817426906255D-08
+    -.202151277555D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.121071934700D-07  .335000000000D+03
+     .345996000000D+06  .400000000000D+01
+25 04  6 10  1 59 44.0  .685257837176D-04  .795807864051D-12  .000000000000D+00
+     .970000000000D+02 -.509062500000D+02  .518057293451D-08 -.222544676032D+01
+    -.243820250034D-05  .113382412819D-01  .497885048389D-05  .515371109772D+04
+     .352784000000D+06  .163912773132D-06 -.257905077831D+01  .117346644402D-06
+     .945149945563D+00  .273937500000D+03 -.157394456454D+01 -.827570185906D-08
+     .335728270144D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.745058059692D-08  .970000000000D+02
+     .349566000000D+06  .400000000000D+01
+18 04  6 10  2  0  0.0 -.429092906415D-04 -.363797880709D-11  .000000000000D+00
+     .114000000000D+03  .581250000000D+01  .423267630796D-08  .216129916891D+01
+     .393018126488D-06  .486231700052D-02  .915862619877D-05  .515367535591D+04
+     .352800000000D+06 -.106170773506D-06  .173972981439D+01  .782310962677D-07
+     .963614831728D+00  .198906250000D+03 -.295334328576D+01 -.802033407911D-08
+     .289297764699D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.102445483208D-07  .370000000000D+03
+     .351366000000D+06  .400000000000D+01
+29 04  6 10  2  0  0.0  .226536765695D-03 -.397903932026D-11  .000000000000D+00
+     .710000000000D+02  .193750000000D+02  .433446626220D-08  .103295459882D+01
+     .920146703720D-06  .819498160854D-02  .614114105701D-05  .515371554565D+04
+     .352800000000D+06 -.596046447754D-07  .272039290386D+01 -.204890966415D-06
+     .979167292305D+00  .271781250000D+03 -.135760581931D+01 -.816712590786D-08
+     .352871841386D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.651925802231D-08  .710000000000D+02
+     .352416000000D+06  .400000000000D+01
+ 5 04  6 10  4  0  0.0  .341348350048D-04  .181898940355D-11  .000000000000D+00
+     .910000000000D+02 -.279687500000D+02  .504592446872D-08 -.286201996488D+01
+    -.145658850670D-05  .526402774267D-02  .107344239950D-04  .515377082062D+04
+     .360000000000D+06  .428408384323D-07 -.152100716369D+01 -.139698386192D-06
+     .935616895491D+00  .154062500000D+03  .833704477629D+00 -.819176979152D-08
+    -.778603860547D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.419095158577D-08  .347000000000D+03
+     .352806000000D+06  .400000000000D+01
+ 9 04  6 10  4  0  0.0 -.485647469759D-04 -.181898940355D-11  .000000000000D+00
+     .217000000000D+03 -.626562500000D+02  .500342269835D-08 -.194859675234D+01
+    -.323355197906D-05  .156577152666D-01  .526569783688D-05  .515370222664D+04
+     .360000000000D+06  .203028321266D-06 -.252927688221D+01  .558793544769D-08
+     .952019465078D+00  .267343750000D+03  .104788338377D+01 -.818641242551D-08
+     .105361531588D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.558793544769D-08  .473000000000D+03
+     .352806000000D+06  .400000000000D+01
+30 04  6 10  4  0  0.0  .546414870769D-03  .466116034659D-11  .000000000000D+00
+     .480000000000D+02 -.328125000000D+02  .489198948528D-08  .239872958529D+01
+    -.181607902050D-05  .735924241599D-02  .108648091555D-04  .515365516281D+04
+     .360000000000D+06  .391155481339D-07 -.147956890313D+01 -.102445483208D-06
+     .942506258026D+00  .155468750000D+03  .126589177935D+01 -.801890544817D-08
+    -.992898501065D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.838190317154D-08  .560000000000D+03
+     .352806000000D+06  .400000000000D+01
+ 6 04  6 10  4  0  0.0  .953329727054D-04  .616182660451D-10  .000000000000D+00
+     .230000000000D+02  .570937500000D+02  .516485799421D-08 -.164262979867D+01
+     .288523733616D-05  .661282730289D-02  .743381679058D-05  .515379780006D+04
+     .360000000000D+06  .191852450371D-06 -.422498003218D+00  .428408384323D-07
+     .935865413088D+00  .220375000000D+03 -.200819517030D+01 -.831391773662D-08
+     .760745973838D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.465661287308D-08  .279000000000D+03
+     .352806000000D+06  .400000000000D+01
+21 04  6 10  4  0  0.0  .763470306993D-04  .341060513165D-12  .000000000000D+00
+     .800000000000D+02  .937500000000D-01  .469948146655D-08 -.174791522433D+01
+    -.147148966789D-06  .882221502252D-02  .638142228127D-05  .515368519402D+04
+     .360000000000D+06 -.819563865662D-07  .694092510185D+00 -.465661287308D-07
+     .953290505359D+00  .254937500000D+03  .300447382771D+01 -.822069956799D-08
+    -.181078971237D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.121071934700D-07  .336000000000D+03
+     .352806000000D+06  .400000000000D+01
+25 04  6 10  3 59 44.0  .685318373144D-04  .795807864051D-12  .000000000000D+00
+     .980000000000D+02 -.487812500000D+02  .534486549224D-08 -.117536722637D+01
+    -.231154263020D-05  .113383752760D-01  .559911131859D-05  .515370927048D+04
+     .359984000000D+06 -.175088644028D-06 -.257911124803D+01  .236555933952D-06
+     .945148506052D+00  .267468750000D+03 -.157386031509D+01 -.862500212310D-08
+     .285726187357D-11  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.745058059692D-08  .980000000000D+02
+     .352806000000D+06  .400000000000D+01
+10 04  6 10  4  0  0.0  .453819520772D-04  .568434188608D-12  .000000000000D+00
+     .131000000000D+03  .153437500000D+02  .388909056766D-08  .155189044983D+01
+     .815838575363D-06  .608000229113D-02  .878982245922D-05  .515372772408D+04
+     .360000000000D+06 -.409781932831D-07  .170723922162D+01  .242143869400D-07
+     .979931671390D+00  .221562500000D+03  .315481847462D+00 -.780175354578D-08
+    -.957182727646D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.232830643654D-08  .643000000000D+03
+     .352806000000D+06  .400000000000D+01
+18 04  6 10  4  0  0.0 -.429353676736D-04 -.363797880709D-11  .000000000000D+00
+     .115000000000D+03  .165312500000D+02  .412624330317D-08 -.307149383975D+01
+     .104866921902D-05  .486358755734D-02  .979006290436D-05  .515367235947D+04
+     .360000000000D+06 -.279396772385D-07  .173967232171D+01 -.521540641785D-07
+     .963615829439D+00  .191843750000D+03 -.295355655873D+01 -.787925677410D-08
+     .692886004340D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.102445483208D-07  .371000000000D+03
+     .352806000000D+06  .400000000000D+01
+24 04  6 10  4  0  0.0  .334917567670D-04  .295585778076D-11  .000000000000D+00
+     .240000000000D+02  .300000000000D+01  .436839624695D-08 -.180104297715D+01
+     .253319740295D-06  .934664078522D-02  .619515776634D-05  .515365021706D+04
+     .360000000000D+06  .428408384323D-07  .696283140770D+00  .273808836937D-06
+     .969966415337D+00  .266500000000D+03 -.139807568662D+01 -.804854954011D-08
+    -.327513642258D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.139698386192D-08  .240000000000D+02
+     .352806000000D+06  .400000000000D+01
+17 04  6 10  4  0  0.0 -.370428897440D-04 -.192130755750D-10  .000000000000D+00
+     .207000000000D+03  .153125000000D+01  .441661254107D-08 -.964680010177D+00
+     .000000000000D+00  .168324153638D-01  .625103712082D-05  .515362125969D+04
+     .360000000000D+06  .426545739174D-06  .763687552092D+00 -.121071934700D-06
+     .968677410422D+00  .263218750000D+03 -.278145245221D+01 -.810176604250D-08
+    -.296798077117D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.139698386192D-08  .463000000000D+03
+     .352806000000D+06  .400000000000D+01
+29 04  6 10  4  0  0.0  .226507894695D-03 -.397903932026D-11  .000000000000D+00
+     .720000000000D+02  .194687500000D+02  .418338854064D-08  .208302944997D+01
+     .968575477600D-06  .819511956070D-02  .580027699471D-05  .515371676445D+04
+     .360000000000D+06  .160187482834D-06  .272033553552D+01 -.204890966415D-07
+     .979170937897D+00  .276625000000D+03 -.135752800377D+01 -.788497129785D-08
+     .299655338991D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.651925802231D-08  .720000000000D+02
+     .352836000000D+06  .400000000000D+01
+26 04  6 10  4  0  0.0  .111297238618D-03  .159161572810D-10  .000000000000D+00
+     .132000000000D+03  .195312500000D+02  .427589239380D-08 -.960625800435D-01
+     .123865902424D-05  .155206799973D-01  .592507421970D-05  .515366611099D+04
+     .360000000000D+06  .150874257088D-06  .275290627280D+01  .156462192535D-06
+     .982242101800D+00  .278906250000D+03  .595283139064D+00 -.827463038585D-08
+     .359657838335D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.605359673500D-08  .388000000000D+03
+     .353406000000D+06  .400000000000D+01
+15 04  6 10  4  0  0.0  .277879647911D-03  .511590769747D-11  .000000000000D+00
+     .850000000000D+02  .425000000000D+01  .449375861166D-08 -.174345574531D+01
+     .294297933578D-06  .886550394353D-02  .649876892567D-05  .515367621231D+04
+     .360000000000D+06 -.134110450745D-06  .721975275271D+00  .931322574615D-07
+     .966696672008D+00  .260062500000D+03  .224725544127D+01 -.817784063989D-08
+    -.262153776900D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.232830643654D-08  .850000000000D+02
+     .354246000000D+06  .400000000000D+01
+30 04  6 10  3 59 44.0  .546414870769D-03  .466116034659D-11  .000000000000D+00
+     .730000000000D+02 -.328125000000D+02  .489198948528D-08  .239639570137D+01
+    -.181607902050D-05  .735924148466D-02  .108648091555D-04  .515365515709D+04
+     .359984000000D+06  .391155481339D-07 -.147956878902D+01 -.102445483208D-06
+     .942506244860D+00  .155468750000D+03  .126589185249D+01 -.801890544817D-08
+    -.992898501065D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.838190317154D-08  .730000000000D+02
+     .354246000000D+06  .400000000000D+01
+22 04  6 10  3 59 44.0  .103362835944D-04  .284217094304D-11  .000000000000D+00
+     .900000000000D+01  .126562500000D+02  .432410868791D-08  .116984299755D+01
+     .758096575737D-06  .481260858942D-02  .940635800362D-05  .515368057060D+04
+     .359984000000D+06 -.577419996262D-07  .174948640858D+01 -.124797224998D-06
+     .960978559723D+00  .195656250000D+03 -.143730510619D+01 -.808783689087D-08
+     .435732435719D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.176951289177D-07  .900000000000D+01
+     .355326000000D+06  .400000000000D+01
+16 04  6 10  4  0  0.0  .107493251562D-04 -.568434188608D-12  .000000000000D+00
+     .231000000000D+03 -.378750000000D+02  .454804658725D-08 -.279284825197D+01
+    -.171363353729D-05  .254810845945D-02  .107716768980D-04  .515355228043D+04
+     .360000000000D+06  .465661287308D-07 -.144859011038D+01  .707805156708D-07
+     .960771675311D+00  .172312500000D+03 -.143638256225D+01 -.793783064251D-08
+    -.546451333320D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.977888703346D-08  .231000000000D+03
+     .358506000000D+06  .400000000000D+01
+15 04  6 10  6  0  0.0  .277916435152D-03  .511590769747D-11  .000000000000D+00
+     .860000000000D+02  .562500000000D+00  .446697178159D-08 -.693335897732D+00
+    -.115483999252D-06  .886537018232D-02  .636652112007D-05  .515367517662D+04
+     .367200000000D+06 -.171363353729D-06  .721916259693D+00 -.502914190292D-07
+     .966694754122D+00  .261062500000D+03  .224731507858D+01 -.820248452355D-08
+    -.294655130712D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.232830643654D-08  .860000000000D+02
+     .360006000000D+06  .400000000000D+01
+21 04  6 10  6  0  0.0  .763498246670D-04  .341060513165D-12  .000000000000D+00
+     .810000000000D+02  .134375000000D+01  .474698344520D-08 -.697814121113D+00
+    -.104308128357D-06  .882202945650D-02  .607408583164D-05  .515368389702D+04
+     .367200000000D+06  .109896063805D-06  .694034122198D+00 -.191852450371D-06
+     .953288505550D+00  .259656250000D+03  .300454788062D+01 -.828998816843D-08
+    -.361800784741D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.121071934700D-07  .337000000000D+03
+     .360006000000D+06  .400000000000D+01
+30 04  6 10  5 59 44.0  .546448398381D-03  .466116034659D-11  .000000000000D+00
+     .740000000000D+02 -.277187500000D+02  .496056377025D-08 -.283668291278D+01
+    -.143237411976D-05  .735938898288D-02  .105462968349D-04  .515365514183D+04
+     .367184000000D+06  .156462192535D-06 -.147962715067D+01 -.409781932831D-07
+     .942505642137D+00  .164031250000D+03  .126597972998D+01 -.806319300721D-08
+    -.964325882329D-11  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.838190317154D-08  .740000000000D+02
+     .360006000000D+06  .400000000000D+01
+ 6 04  6 10  6  0  0.0  .957762822509D-04  .616182660451D-10  .000000000000D+00
+     .240000000000D+02  .571875000000D+02  .529700635586D-08 -.592435447600D+00
+     .293552875519D-05  .661309156567D-02  .719167292118D-05  .515379896545D+04
+     .367200000000D+06 -.484287738800D-07 -.422558765520D+00  .894069671631D-07
+     .935864804514D+00  .224843750000D+03 -.200827974745D+01 -.856249951962D-08
+     .664313385605D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.465661287308D-08  .280000000000D+03
+     .360006000000D+06  .400000000000D+01
+16 04  6 10  6  0  0.0  .107451342046D-04 -.568434188608D-12  .000000000000D+00
+     .232000000000D+03 -.289687500000D+02  .463233581252D-08 -.174317587153D+01
+    -.142492353916D-05  .254893582314D-02  .112280249596D-04  .515354914665D+04
+     .367200000000D+06 -.111758708954D-07 -.144864726513D+01  .596046447754D-07
+     .960771413449D+00  .162750000000D+03 -.143579870433D+01 -.792925885689D-08
+    -.342871424828D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.977888703346D-08  .232000000000D+03
+     .360006000000D+06  .400000000000D+01
+29 04  6 10  6  0  0.0  .226479023695D-03 -.397903932026D-11  .000000000000D+00
+     .730000000000D+02  .239687500000D+02  .409981363084D-08  .313310209650D+01
+     .114180147648D-05  .819366693031D-02  .623054802418D-05  .515371971512D+04
+     .367200000000D+06  .156462192535D-06  .272027867190D+01  .819563865662D-07
+     .979173148366D+00  .265875000000D+03 -.135744937778D+01 -.787639951223D-08
+     .340371320689D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.651925802231D-08  .730000000000D+02
+     .360006000000D+06  .400000000000D+01
+17 04  6 10  6  0  0.0 -.371807254851D-04 -.192130755750D-10  .000000000000D+00
+     .208000000000D+03  .375000000000D+00  .454447500991D-08  .855709587510D-01
+     .931322574615D-08  .168339249212D-01  .562891364098D-05  .515362442207D+04
+     .367200000000D+06  .189989805222D-06  .763628283429D+00  .167638063431D-06
+     .968673587817D+00  .274906250000D+03 -.278149180178D+01 -.841713632180D-08
+    -.369658254893D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.139698386192D-08  .464000000000D+03
+     .360006000000D+06  .400000000000D+01
+18 04  6 10  6  0  0.0 -.429614447057D-04 -.363797880709D-11  .000000000000D+00
+     .110000000000D+03  .103125000000D+02  .406695511929D-08 -.202151917362D+01
+     .478699803352D-06  .486398115754D-02  .943243503571D-05  .515367068672D+04
+     .367200000000D+06 -.800937414169D-07  .173961598181D+01 -.223517417908D-07
+     .963616359015D+00  .200812500000D+03 -.295335301709D+01 -.783782647693D-08
+     .300012496725D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.102445483208D-07  .622000000000D+03
+     .360006000000D+06  .400000000000D+01
+22 04  6 10  6  0  0.0  .103567726910D-04  .284217094304D-11  .000000000000D+00
+     .100000000000D+02  .173125000000D+02  .412588614543D-08  .222228078616D+01
+     .877305865288D-06  .481232174207D-02  .953674316406D-05  .515368125343D+04
+     .367200000000D+06  .111758708954D-06  .174942936356D+01  .540167093277D-07
+     .960979766630D+00  .196312500000D+03 -.143723473105D+01 -.784604110482D-08
+    -.100004165575D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.176951289177D-07  .100000000000D+02
+     .360006000000D+06  .400000000000D+01
+26 04  6 10  6  0  0.0  .111412256956D-03  .159161572810D-10  .000000000000D+00
+     .133000000000D+03  .247187500000D+02  .410517099685D-08  .954063884316D+00
+     .131875276566D-05  .155217084102D-01  .631809234619D-05  .515366864586D+04
+     .367200000000D+06 -.119209289551D-06  .275284846120D+01  .193715095520D-06
+     .982244416137D+00  .269968750000D+03  .595338835281D+00 -.812355266429D-08
+     .162149611325D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.605359673500D-08  .389000000000D+03
+     .360006000000D+06  .400000000000D+01
+ 3 04  6 10  6  0  0.0  .177677720785D-04  .318323145621D-11  .000000000000D+00
+     .134000000000D+03  .503437500000D+02  .549630037154D-08  .141734202221D+01
+     .282377004623D-05  .560716143809D-02  .816024839878D-05  .515368783760D+04
+     .367200000000D+06 -.186264514923D-08 -.475713038123D+00  .108033418655D-06
+     .928328475236D+00  .205281250000D+03  .539688253896D+00 -.856964267430D-08
+     .750031241812D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.419095158577D-08  .902000000000D+03
+     .362376000000D+06  .400000000000D+01
+14 04  6 10  6  0  0.0 -.213114544749D-04 -.568434188608D-12  .000000000000D+00
+     .237000000000D+03  .259375000000D+02  .417481675502D-08  .114641555679D+01
+     .152736902237D-05  .134624703787D-02  .605732202530D-05  .515361303139D+04
+     .367200000000D+06 -.260770320892D-07  .274089175232D+01 -.502914190292D-07
+     .978327160396D+00  .267375000000D+03 -.150892977431D+01 -.807212195057D-08
+     .447518640948D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.102445483208D-07  .237000000000D+03
+     .362616000000D+06  .400000000000D+01
+ 9 04  6 10  6  0  0.0 -.485777854919D-04 -.181898940355D-11  .000000000000D+00
+     .218000000000D+03 -.518125000000D+02  .512414201251D-08 -.898514024841D+00
+    -.236928462982D-05  .156579436734D-01  .573322176933D-05  .515369976044D+04
+     .367200000000D+06  .111758708954D-07 -.252933611577D+01  .312924385071D-06
+     .952018419091D+00  .265312500000D+03  .104796879624D+01 -.853178395448D-08
+     .750031241812D-11  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.558793544769D-08  .474000000000D+03
+     .367176000000D+06  .400000000000D+01
+ 3 04  6 10  8  0  0.0  .177905894816D-04  .318323145621D-11  .000000000000D+00
+     .135000000000D+03  .588437500000D+02  .551022952318D-08  .246771980420D+01
+     .296905636787D-05  .560739263892D-02  .809505581856D-05  .515368573952D+04
+     .374400000000D+06 -.763684511185D-07 -.475774882985D+00 -.596046447754D-07
+     .928329933765D+00  .205937500000D+03  .539491154943D+00 -.841963642594D-08
+     .169292766009D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.419095158577D-08  .903000000000D+03
+     .367206000000D+06  .400000000000D+01
+ 9 04  6 10  8  0  0.0 -.485903583467D-04 -.181898940355D-11  .000000000000D+00
+     .219000000000D+03 -.416562500000D+02  .503235247482D-08  .151698523470D+00
+    -.227428972721D-05  .156593524152D-01  .565871596336D-05  .515370279121D+04
+     .374400000000D+06 -.121071934700D-06 -.252939848143D+01  .152736902237D-06
+     .952018187950D+00  .269750000000D+03  .104792442301D+01 -.864928884903D-08
+     .264296723305D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.558793544769D-08  .475000000000D+03
+     .367206000000D+06  .400000000000D+01
+15 04  6 10  8  0  0.0  .277953222394D-03  .511590769747D-11  .000000000000D+00
+     .870000000000D+02  .312500000000D+00  .454126059030D-08  .356829440750D+00
+    -.273808836937D-06  .886528182309D-02  .628642737865D-05  .515367496681D+04
+     .374400000000D+06 -.167638063431D-07  .721857611307D+00 -.949949026108D-07
+     .966691949708D+00  .262937500000D+03  .224732941957D+01 -.827105880851D-08
+    -.414302971667D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.232830643654D-08  .870000000000D+02
+     .367206000000D+06  .400000000000D+01
+ 6 04  6 10  8  0  0.0  .962195917964D-04  .615045792074D-10  .000000000000D+00
+     .250000000000D+02  .584687500000D+02  .538022410793D-08  .457657782186D+00
+     .329874455929D-05  .661351310555D-02  .759214162827D-05  .515379976082D+04
+     .374400000000D+06 -.596046447754D-07 -.422620453850D+00  .540167093277D-07
+     .935865272648D+00  .221562500000D+03 -.200826282734D+01 -.856892835883D-08
+     .585738684082D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.465661287308D-08  .281000000000D+03
+     .367206000000D+06  .400000000000D+01
+16 04  6 10  8  0  0.0  .107409432530D-04 -.568434188608D-12  .000000000000D+00
+     .227000000000D+03 -.192812500000D+02  .457269047091D-08 -.692433650321D+00
+    -.116229057312D-05  .254956667777D-02  .111591070890D-04  .515355173302D+04
+     .374400000000D+06 -.353902578354D-07 -.144870488362D+01 -.204890966415D-07
+     .960770955555D+00  .166406250000D+03 -.143628367777D+01 -.800569061201D-08
+    -.500020827875D-11  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.977888703346D-08  .483000000000D+03
+     .367206000000D+06  .400000000000D+01
+21 04  6 10  8  0  0.0  .763526186347D-04  .341060513165D-12  .000000000000D+00
+     .760000000000D+02 -.243750000000D+01  .485698802733D-08  .352368980120D+00
+    -.417232513428D-06  .882356194779D-02  .526942312717D-05  .515368680382D+04
+     .374400000000D+06  .987201929092D-07  .693974211314D+00  .186264514923D-08
+     .953285010639D+00  .270156250000D+03  .300454063479D+01 -.843856578585D-08
+    -.426803492364D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.121071934700D-07  .588000000000D+03
+     .367206000000D+06  .400000000000D+01
+14 04  6 10  8  0  0.0 -.213161110878D-04 -.568434188608D-12  .000000000000D+00
+     .238000000000D+03  .232500000000D+02  .401838166744D-08  .219693689053D+01
+     .131316483021D-05  .134641467594D-02  .648759305477D-05  .515361221886D+04
+     .374400000000D+06  .100582838058D-06  .274083438691D+01  .540167093277D-07
+     .978331016648D+00  .265156250000D+03 -.150923619567D+01 -.791282960111D-08
+     .418231706744D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.102445483208D-07  .238000000000D+03
+     .367206000000D+06  .400000000000D+01
+18 04  6 10  8  0  0.0 -.429875217378D-04 -.363797880709D-11  .000000000000D+00
+     .111000000000D+03  .634375000000D+01  .419481758813D-08 -.971657225332D+00
+     .223517417908D-06  .486457895022D-02  .880844891071D-05  .515366783714D+04
+     .374400000000D+06  .156462192535D-06  .173956045821D+01 -.160187482834D-06
+     .963615705091D+00  .215375000000D+03 -.295303393564D+01 -.792711591048D-08
+    -.177507393895D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.102445483208D-07  .623000000000D+03
+     .367206000000D+06  .400000000000D+01
+22 04  6 10  8  0  0.0  .103772617877D-04  .284217094304D-11  .000000000000D+00
+     .110000000000D+02  .101875000000D+02  .418160275197D-08 -.301055767244D+01
+     .491738319397D-06  .481465924531D-02  .876560807228D-05  .515367661667D+04
+     .374400000000D+06 -.223517417908D-07  .174937386776D+01 -.540167093277D-07
+     .960979305811D+00  .212812500000D+03 -.143740717837D+01 -.779496754883D-08
+    -.148934775160D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.176951289177D-07  .110000000000D+02
+     .367206000000D+06  .400000000000D+01
+19 04  6 10  8  0  0.0 -.370740890503D-04  .648014975013D-11  .000000000000D+00
+     .193000000000D+03  .573750000000D+02  .482770109313D-08 -.185255918527D+01
+     .304728746414D-05  .345413421746D-02  .749714672565D-05  .515382856560D+04
+     .374400000000D+06  .707805156708D-07 -.346880605952D+00  .242143869400D-07
+     .960789502431D+00  .234968750000D+03 -.201671597177D+01 -.811319509000D-08
+     .177150236161D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.698491930962D-08  .449000000000D+03
+     .367626000000D+06  .400000000000D+01
+18 04  6 10  7 59 44.0 -.429875217378D-04 -.363797880709D-11  .000000000000D+00
+     .135000000000D+03  .634375000000D+01  .419481758813D-08 -.973991491067D+00
+     .223517417908D-06  .486457895022D-02  .880844891071D-05  .515366784477D+04
+     .374384000000D+06  .156462192535D-06  .173956058695D+01 -.160187482834D-06
+     .963615728497D+00  .215375000000D+03 -.295303347921D+01 -.792711591048D-08
+    -.177507393895D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.102445483208D-07  .135000000000D+03
+     .371106000000D+06  .400000000000D+01
+25 04  6 10  8  0  0.0  .685439445078D-04  .795807864051D-12  .000000000000D+00
+     .100000000000D+03 -.525000000000D+02  .517985861905D-08  .927262685287D+00
+    -.278651714325D-05  .113384160213D-01  .539049506187D-05  .515370906639D+04
+     .374400000000D+06 -.245869159698D-06 -.257923739692D+01 -.745058059692D-07
+     .945148820579D+00  .264625000000D+03 -.157382619691D+01 -.867464704815D-08
+     .610739725475D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.745058059692D-08  .100000000000D+03
+     .371406000000D+06  .400000000000D+01
+31 04  6 10  7 59 44.0  .205250456929D-03  .189857018995D-10  .000000000000D+00
+     .194000000000D+03  .495937500000D+02  .536736642950D-08  .816188270432D+00
+     .291690230370D-05  .128702261718D-01  .848248600960D-05  .515583281326D+04
+     .374384000000D+06 -.912696123123D-07 -.451611758277D+00  .912696123123D-07
+     .936949780633D+00  .206031250000D+03  .998713035012D+00 -.861857328389D-08
+     .332156692802D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .194000000000D+03
+     .373746000000D+06  .400000000000D+01
+11 04  6 10  8  0  0.0  .123809557408D-03  .295585778076D-11  .000000000000D+00
+     .480000000000D+02  .909375000000D+01  .606632411532D-08  .107446056030D+01
+     .625848770142D-06  .291253277101D-02  .463612377644D-05  .515368215942D+04
+     .374400000000D+06  .279396772385D-07  .541464175002D+00  .577419996262D-07
+     .906916275812D+00  .256718750000D+03  .900391479776D-01 -.895144429216D-08
+    -.353228999120D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.121071934700D-07  .304000000000D+03
+     .374376000000D+06  .400000000000D+01
+ 3 04  6 10 10  0  0.0  .178129412234D-04  .318323145621D-11  .000000000000D+00
+     .136000000000D+03  .606875000000D+02  .547772816937D-08 -.276532464351D+01
+     .301003456116D-05  .560679472983D-02  .788643956184D-05  .515368690491D+04
+     .381600000000D+06 -.111758708954D-07 -.475835496070D+00 -.968575477600D-07
+     .928331209430D+00  .210531250000D+03  .539530352371D+00 -.841856495274D-08
+     .187507810453D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.419095158577D-08  .904000000000D+03
+     .374406000000D+06  .400000000000D+01
+15 04  6 10 10  0  0.0  .277990009636D-03  .511590769747D-11  .000000000000D+00
+     .820000000000D+02  .190625000000D+01  .452697428094D-08  .140682357100D+01
+    -.156462192535D-06  .886646797881D-02  .507570803165D-05  .515367882538D+04
+     .381600000000D+06  .111758708954D-06  .721798528435D+00 -.596046447754D-07
+     .966689532968D+00  .277125000000D+03  .224751446700D+01 -.814141055100D-08
+    -.422517599554D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.232830643654D-08  .338000000000D+03
+     .374406000000D+06  .400000000000D+01
+21 04  6 10 10  0  0.0  .763554126024D-04  .341060513165D-12  .000000000000D+00
+     .770000000000D+02  .781250000000D+01  .492949104737D-08  .140242798055D+01
+     .648200511932D-06  .882467464544D-02  .504590570927D-05  .515368965340D+04
+     .381600000000D+06  .819563865662D-07  .693913699171D+00  .447034835815D-07
+     .953281958991D+00  .274156250000D+03  .300465598442D+01 -.841035032485D-08
+    -.443947063606D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.121071934700D-07  .589000000000D+03
+     .374406000000D+06  .400000000000D+01
+14 04  6 10 10  0  0.0 -.213203020394D-04 -.568434188608D-12  .000000000000D+00
+     .239000000000D+03  .219687500000D+02  .396980821559D-08 -.303596734818D+01
+     .121816992760D-05  .134593923576D-02  .678189098835D-05  .515361297226D+04
+     .381600000000D+06 -.782310962677D-07  .274077858683D+01 -.316649675369D-07
+     .978333668919D+00  .260343750000D+03 -.150930298080D+01 -.783925510787D-08
+     .262510934634D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.102445483208D-07  .239000000000D+03
+     .374406000000D+06  .400000000000D+01
+19 04  6 10 10  0  0.0 -.370279885828D-04  .636646291241D-11  .000000000000D+00
+     .194000000000D+03  .587500000000D+02  .485413076546D-08 -.802439628809D+00
+     .310502946377D-05  .345429556910D-02  .749342143536D-05  .515382882690D+04
+     .381600000000D+06 -.931322574615D-08 -.346939207525D+00  .651925802231D-07
+     .960790353849D+00  .236781250000D+03 -.201674691541D+01 -.819891294621D-08
+     .166078346401D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.698491930962D-08  .450000000000D+03
+     .374406000000D+06  .400000000000D+01
+25 04  6 10 10  0  0.0  .685495324433D-04  .795807864051D-12  .000000000000D+00
+     .101000000000D+03 -.510625000000D+02  .489877548223D-08  .197734915932D+01
+    -.267475843430D-05  .113383431453D-01  .504590570927D-05  .515371068573D+04
+     .381600000000D+06  .163912773132D-06 -.257929856298D+01 -.195577740669D-06
+     .945151402630D+00  .271000000000D+03 -.157374979894D+01 -.823355724642D-08
+     .992898501065D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.745058059692D-08  .101000000000D+03
+     .374406000000D+06  .400000000000D+01
+18 04  6 10  9 59 44.0 -.430135987699D-04 -.363797880709D-11  .000000000000D+00
+     .136000000000D+03 -.659375000000D+01  .428589281035D-08  .764588048390D-01
+    -.495463609695D-06  .486636732239D-02  .807642936707D-05  .515367198372D+04
+     .381584000000D+06  .800937414169D-07  .173950317327D+01  .447034835815D-07
+     .963613380514D+00  .225781250000D+03 -.295330331152D+01 -.811426656320D-08
+    -.240724312848D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.102445483208D-07  .136000000000D+03
+     .374406000000D+06  .400000000000D+01
+22 04  6 10 10  0  0.0  .103977508843D-04  .284217094304D-11  .000000000000D+00
+     .120000000000D+02 -.609375000000D+01  .424053377811D-08 -.196003723400D+01
+    -.461935997009D-06  .481307203881D-02  .849924981594D-05  .515368087578D+04
+     .381600000000D+06  .102445483208D-06  .174931807938D+01  .124797224998D-06
+     .960977209449D+00  .218125000000D+03 -.143775209642D+01 -.796068873750D-08
+    -.271439877989D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.176951289177D-07  .120000000000D+02
+     .374406000000D+06  .400000000000D+01
+31 04  6 10  9 59 44.0  .205386895686D-03  .189857018995D-10  .000000000000D+00
+     .195000000000D+03  .543750000000D+02  .536379485216D-08  .186510634690D+01
+     .261701643467D-05  .128700903151D-01  .845827162266D-05  .515583159065D+04
+     .381584000000D+06 -.219792127609D-06 -.451674311191D+00 -.230967998505D-06
+     .936951520043D+00  .205968750000D+03  .998664409078D+00 -.835213361418D-08
+     .206080012631D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .195000000000D+03
+     .374406000000D+06  .400000000000D+01
+11 04  6 10 10  0  0.0  .123830512166D-03  .295585778076D-11  .000000000000D+00
+     .430000000000D+02  .100937500000D+02  .611275462077D-08  .212463008273D+01
+     .609084963799D-06  .291260436643D-02  .492855906487D-05  .515368224907D+04
+     .381600000000D+06 -.651925802231D-07  .541399375046D+00  .121071934700D-06
+     .906913974642D+00  .256093750000D+03  .900568273426D-01 -.892072872702D-08
+    -.277868717205D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.121071934700D-07  .555000000000D+03
+     .374406000000D+06  .400000000000D+01
+21 04  6 10  9 59 44.0  .763544812799D-04  .341060513165D-12  .000000000000D+00
+     .101000000000D+03  .781250000000D+01  .492949104737D-08  .140009347051D+01
+     .648200511932D-06  .882467336487D-02  .504590570927D-05  .515368965721D+04
+     .381584000000D+06  .819563865662D-07  .693913846926D+00  .447034835815D-07
+     .953281926807D+00  .274156250000D+03  .300465657690D+01 -.841035032485D-08
+    -.443947063606D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.121071934700D-07  .101000000000D+03
+     .375306000000D+06  .400000000000D+01
+ 1 04  6 10 10  0  0.0  .347856897861D-03  .170530256582D-11  .000000000000D+00
+     .410000000000D+02  .230000000000D+02  .409838499990D-08  .166506690534D+01
+     .116229057312D-05  .514837005176D-02  .643543899059D-05  .515354935837D+04
+     .381600000000D+06  .447034835815D-07  .276730788498D+01 -.163912773132D-06
+     .979713462530D+00  .265406250000D+03 -.168664558191D+01 -.800283335013D-08
+     .348585948575D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.325962901115D-08  .297000000000D+03
+     .377106000000D+06  .400000000000D+01
+20 04  6 10 10  0  0.0 -.154380220920D-03  .397903932026D-11  .000000000000D+00
+     .200000000000D+01  .606250000000D+01  .424053377811D-08 -.627444161259D+00
+     .270083546638D-06  .240924884565D-02  .925175845623D-05  .515364872360D+04
+     .381600000000D+06 -.745058059692D-08  .168715299212D+01  .409781932831D-07
+     .963603893490D+00  .200718750000D+03  .157197830316D+01 -.803354891527D-08
+    -.217151902391D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.698491930962D-08  .200000000000D+01
+     .377346000000D+06  .400000000000D+01
+11 04  6 10  9 59 44.0  .123830512166D-03  .295585778076D-11  .000000000000D+00
+     .670000000000D+02  .100937500000D+02  .611275462077D-08  .212229762955D+01
+     .609084963799D-06  .291260797530D-02  .492855906487D-05  .515368224144D+04
+     .381584000000D+06 -.651925802231D-07  .541399538892D+00  .121071934700D-06
+     .906913970253D+00  .256093750000D+03  .900555546039D-01 -.892072872702D-08
+    -.277868717205D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.121071934700D-07  .670000000000D+02
+     .379326000000D+06  .400000000000D+01
+ 3 04  6 10 12  0  0.0  .178357586265D-04  .318323145621D-11  .000000000000D+00
+     .137000000000D+03  .581250000000D+02  .546451333320D-08 -.171509405596D+01
+     .287964940071D-05  .560682604555D-02  .791251659393D-05  .515368729210D+04
+     .388800000000D+06  .558793544769D-07 -.475896580214D+00 -.316649675369D-07
+     .928332805473D+00  .208375000000D+03  .539479845124D+00 -.844035157452D-08
+     .255010622216D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.419095158577D-08  .905000000000D+03
+     .381606000000D+06  .400000000000D+01
+15 04  6 10 12  0  0.0  .278026331216D-03  .511590769747D-11  .000000000000D+00
+     .830000000000D+02  .512500000000D+01  .469269546960D-08  .245697245312D+01
+     .538304448128D-06  .886668683961D-02  .522099435329D-05  .515367914200D+04
+     .388800000000D+06  .212341547012D-06  .721739392897D+00  .577419996262D-07
+     .966686592502D+00  .280562500000D+03  .224754376925D+01 -.817069748520D-08
+    -.328227957726D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.232830643654D-08  .339000000000D+03
+     .381606000000D+06  .400000000000D+01
+20 04  6 10 12  0  0.0 -.154350884259D-03  .397903932026D-11  .000000000000D+00
+     .237000000000D+03  .190625000000D+01  .433625205087D-08  .422629638049D+00
+     .689178705215D-07  .240696524270D-02  .856630504131D-05  .515364436913D+04
+     .388800000000D+06 -.316649675369D-07  .168709539996D+01 -.372529029846D-08
+     .963602186265D+00  .216656250000D+03  .157210028420D+01 -.802569144512D-08
+    -.257867884090D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.698491930962D-08  .493000000000D+03
+     .381606000000D+06  .400000000000D+01
+ 1 04  6 10 12  0  0.0  .347869470716D-03  .170530256582D-11  .000000000000D+00
+     .420000000000D+02  .206875000000D+02  .398480884043D-08  .271536847514D+01
+     .103563070297D-05  .514859450050D-02  .647269189358D-05  .515354873657D+04
+     .388800000000D+06  .428408384323D-07  .276725182011D+01  .102445483208D-06
+     .979716506862D+00  .264593750000D+03 -.168669395476D+01 -.778460997454D-08
+     .243581574722D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.325962901115D-08  .298000000000D+03
+     .381606000000D+06  .400000000000D+01
+14 04  6 10 12  0  0.0 -.213249586523D-04 -.568434188608D-12  .000000000000D+00
+     .000000000000D+00  .140000000000D+02  .401838166744D-08 -.198536279049D+01
+     .657513737679D-06  .134479394183D-02  .708363950253D-05  .515361530304D+04
+     .388800000000D+06  .540167093277D-07  .274072240200D+01  .111758708954D-07
+     .978334909473D+00  .255031250000D+03 -.150969463323D+01 -.792211570220D-08
+     .169649923743D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.102445483208D-07  .000000000000D+00
+     .381606000000D+06  .400000000000D+01
+25 04  6 10 12  0  0.0  .685555860400D-04  .795807864051D-12  .000000000000D+00
+     .102000000000D+03 -.429062500000D+02  .486305970881D-08  .302744033517D+01
+    -.214204192162D-05  .113376091467D-01  .506266951561D-05  .515371265221D+04
+     .388800000000D+06  .156462192535D-06 -.257935728305D+01 -.577419996262D-07
+     .945152131163D+00  .271531250000D+03 -.157368113249D+01 -.817319758934D-08
+     .832177520677D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.745058059692D-08  .102000000000D+03
+     .381606000000D+06  .400000000000D+01
+19 04  6 10 12  0  0.0 -.369814224541D-04  .636646291241D-11  .000000000000D+00
+     .195000000000D+03  .614062500000D+02  .480305720947D-08  .247657464545D+00
+     .306777656078D-05  .345471862238D-02  .755675137043D-05  .515382962608D+04
+     .388800000000D+06 -.260770320892D-07 -.346998315267D+00  .391155481339D-07
+     .960791530035D+00  .235156250000D+03 -.201675580703D+01 -.820784188956D-08
+     .163221084528D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.698491930962D-08  .451000000000D+03
+     .381606000000D+06  .400000000000D+01
+22 04  6 10 12  0  0.0  .104182399809D-04  .284217094304D-11  .000000000000D+00
+     .130000000000D+02 -.129062500000D+02  .443518474325D-08 -.909938458292D+00
+    -.659376382828D-06  .481261161622D-02  .828132033348D-05  .515368008232D+04
+     .388800000000D+06 -.819563865662D-07  .174925962556D+01  .000000000000D+00
+     .960974447460D+00  .218406250000D+03 -.143767575258D+01 -.817212611614D-08
+    -.233938315898D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.176951289177D-07  .130000000000D+02
+     .381606000000D+06  .400000000000D+01
+31 04  6 10 12  0  0.0  .205523334444D-03  .189857018995D-10  .000000000000D+00
+     .196000000000D+03  .609375000000D+02  .521950312754D-08  .291622465655D+01
+     .293739140034D-05  .128688844852D-01  .779889523983D-05  .515583453178D+04
+     .388800000000D+06  .409781932831D-07 -.451733370657D+00 -.171363353729D-06
+     .936953932395D+00  .215562500000D+03  .998744369255D+00 -.813069581897D-08
+     .193579491934D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .196000000000D+03
+     .381606000000D+06  .400000000000D+01
+11 04  6 10 11 59 44.0  .123851466924D-03  .295585778076D-11  .000000000000D+00
+     .680000000000D+02  .109687500000D+02  .607989610922D-08 -.311067806100D+01
+     .532716512680D-06  .291241216473D-02  .475905835629D-05  .515368251228D+04
+     .388784000000D+06 -.894069671631D-07  .541335389935D+00 -.558793544769D-08
+     .906912554148D+00  .258406250000D+03  .900332860649D-01 -.882536761199D-08
+    -.228938107620D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.121071934700D-07  .680000000000D+02
+     .381606000000D+06  .400000000000D+01
+16 04  6 10 12  0  0.0  .107320956886D-04 -.568434188608D-12  .000000000000D+00
+     .229000000000D+03 -.302187500000D+02  .441982696068D-08  .140733725567D+01
+    -.149756669998D-05  .254844792653D-02  .973604619503D-05  .515355117035D+04
+     .388800000000D+06 -.372529029846D-08 -.144882028884D+01 -.782310962677D-07
+     .960771391505D+00  .190937500000D+03 -.143554037348D+01 -.794354516626D-08
+     .346443002170D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.977888703346D-08  .485000000000D+03
+     .382626000000D+06  .400000000000D+01
+13 04  6 10 12  0  0.0 -.275610946119D-04  .454747350886D-12  .000000000000D+00
+     .174000000000D+03  .237187500000D+02  .400659546221D-08 -.425259509788D+00
+     .122189521790D-05  .234649307095D-02  .661052763462D-05  .515365548706D+04
+     .388800000000D+06  .931322574615D-07  .275005441202D+01  .409781932831D-07
+     .983904974449D+00  .264187500000D+03  .806888571885D+00 -.797711799327D-08
+     .269654089318D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.111758708954D-07  .686000000000D+03
+     .384606000000D+06  .400000000000D+01
+13 04  6 10 11 59 44.0 -.275606289506D-04  .568434188608D-12  .000000000000D+00
+     .200000000000D+03  .237187500000D+02  .400659546221D-08 -.427596060601D+00
+     .122189521790D-05  .234648503829D-02  .661052763462D-05  .515365547752D+04
+     .388784000000D+06  .931322574615D-07  .275005453490D+01  .409781932831D-07
+     .983904946653D+00  .264187500000D+03  .806891399706D+00 -.797711799327D-08
+     .269654089318D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.111758708954D-07  .200000000000D+03
+     .385986000000D+06  .400000000000D+01
+13 04  6 10 13 59 44.0 -.275569036603D-04  .568434188608D-12  .000000000000D+00
+     .201000000000D+03  .227812500000D+02  .395087885568D-08  .622504164860D+00
+     .118836760521D-05  .234645535238D-02  .676698982716D-05  .515365547180D+04
+     .395984000000D+06 -.838190317154D-07  .274999821841D+01  .949949026108D-07
+     .983906835280D+00  .261187500000D+03  .806979189420D+00 -.787068498848D-08
+     .147148986489D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.111758708954D-07  .201000000000D+03
+     .388806000000D+06  .400000000000D+01
+16 04  6 10 14  0  0.0  .107274390757D-04 -.568434188608D-12  .000000000000D+00
+     .230000000000D+03 -.365312500000D+02  .438732560686D-08  .245784866937D+01
+    -.187009572983D-05  .254890299402D-02  .981055200100D-05  .515354972458D+04
+     .396000000000D+06  .204890966415D-07 -.144887701202D+01 -.745058059692D-08
+     .960771824529D+00  .190312500000D+03 -.143579675280D+01 -.787675666996D-08
+     .103575742917D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.977888703346D-08  .486000000000D+03
+     .388806000000D+06  .400000000000D+01
+20 04  6 10 14  0  0.0 -.154322013259D-03  .397903932026D-11  .000000000000D+00
+     .238000000000D+03 -.108125000000D+02  .431482258682D-08  .147212795172D+01
+    -.761821866035D-06  .240800960455D-02  .816769897938D-05  .515364809990D+04
+     .396000000000D+06 -.223517417908D-07  .168703760153D+01 -.279396772385D-07
+     .963600421985D+00  .223093750000D+03  .157279847940D+01 -.800640492747D-08
+    -.251439044874D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.698491930962D-08  .494000000000D+03
+     .388806000000D+06  .400000000000D+01
+ 1 04  6 10 14  0  0.0  .347881577909D-03  .170530256582D-11  .000000000000D+00
+     .430000000000D+02  .183437500000D+02  .393694970404D-08 -.251749520417D+01
+     .907108187675D-06  .514688901603D-02  .713951885700D-05  .515355198669D+04
+     .396000000000D+06  .223517417908D-07  .276719627896D+01 -.149011611938D-07
+     .979717921504D+00  .252125000000D+03 -.168676333658D+01 -.777853829306D-08
+     .151434879299D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.325962901115D-08  .299000000000D+03
+     .388806000000D+06  .400000000000D+01
+11 04  6 10 14  0  0.0  .123872421682D-03  .295585778076D-11  .000000000000D+00
+     .690000000000D+02  .170937500000D+02  .612418366826D-08 -.205801711448D+01
+     .795349478722D-06  .291152996942D-02  .459328293800D-05  .515368432999D+04
+     .396000000000D+06  .279396772385D-07  .541270569498D+00 -.154599547386D-06
+     .906910709408D+00  .261968750000D+03  .898926850083D-01 -.896501628606D-08
+    -.129648257513D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.121071934700D-07  .690000000000D+02
+     .388806000000D+06  .400000000000D+01
+25 04  6 10 14  0  0.0  .685616396368D-04  .795807864051D-12  .000000000000D+00
+     .970000000000D+02 -.348750000000D+02  .494234872581D-08 -.220563873542D+01
+    -.170804560184D-05  .113389188191D-01  .475905835629D-05  .515370996475D+04
+     .396000000000D+06  .257045030594D-06 -.257941596362D+01  .428408384323D-07
+     .945152628555D+00  .278281250000D+03 -.157362693723D+01 -.823034282681D-08
+     .510735559900D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.745058059692D-08  .353000000000D+03
+     .388806000000D+06  .400000000000D+01
+27 04  6 10 14  0  0.0  .246713869274D-03  .246700437856D-10  .000000000000D+00
+     .760000000000D+02 -.502500000000D+02  .474126892145D-08  .250030310355D+01
+    -.278651714325D-05  .181970166741D-01  .532157719135D-05  .515373566818D+04
+     .396000000000D+06  .633299350739D-07 -.255097249568D+01 -.292435288429D-06
+     .949658824393D+00  .269500000000D+03 -.215881325855D+01 -.802747723379D-08
+     .217866217860D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.419095158577D-08  .760000000000D+02
+     .388866000000D+06  .400000000000D+01
+ 4 04  6 10 14  0  0.0 -.172940082848D-03 -.127329258248D-10  .000000000000D+00
+     .172000000000D+03  .490625000000D+01  .491270463387D-08  .269374191287D+01
+     .279396772385D-06  .661827984732D-02  .580400228500D-05  .515366606331D+04
+     .396000000000D+06 -.191852450371D-06  .669156129404D+00  .949949026108D-07
+     .959691857441D+00  .269343750000D+03 -.563900616038D-01 -.821034199370D-08
+    -.220366321999D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.605359673500D-08  .684000000000D+03
+     .389916000000D+06  .400000000000D+01
+ 8 04  6 10 14  0  0.0 -.177603214979D-05 -.682121026330D-12  .000000000000D+00
+     .200000000000D+01 -.477812500000D+02  .450697344782D-08 -.258427408342D+01
+    -.231899321079D-05  .894277368207D-02  .605359673500D-05  .515363043022D+04
+     .396000000000D+06 -.577419996262D-07 -.246061929577D+01  .124797224998D-06
+     .965059968038D+00  .263593750000D+03  .242093641840D+01 -.802390565645D-08
+    -.282154610015D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.419095158577D-08  .770000000000D+03
+     .393036000000D+06  .400000000000D+01
+ 4 04  6 10 13 59 44.0 -.172939151525D-03 -.127329258248D-10  .000000000000D+00
+     .197000000000D+03  .490625000000D+01  .491270463387D-08  .269140851610D+01
+     .279396772385D-06  .661829358432D-02  .580400228500D-05  .515366605759D+04
+     .395984000000D+06 -.191852450371D-06  .669156304955D+00  .949949026108D-07
+     .959691873533D+00  .269343750000D+03 -.563904917018D-01 -.821034199370D-08
+    -.220366321999D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .197000000000D+03
+     .394746000000D+06  .400000000000D+01
+ 3 04  6 10 14  0  0.0  .178585760295D-04  .318323145621D-11  .000000000000D+00
+     .138000000000D+03  .503437500000D+02  .539843915237D-08 -.664734377586D+00
+     .274181365967D-05  .560697668698D-02  .805966556072D-05  .515368918610D+04
+     .396000000000D+06  .614672899246D-07 -.475957301555D+00  .316649675369D-07
+     .928334372259D+00  .206781250000D+03  .539298314545D+00 -.849142513051D-08
+     .229652423088D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.419095158577D-08  .906000000000D+03
+     .394836000000D+06  .400000000000D+01
+13 04  6 10 16  0  0.0 -.275531783700D-04  .568434188608D-12  .000000000000D+00
+     .202000000000D+03  .129062500000D+02  .391016287398D-08  .167419079039D+01
+     .573694705963D-06  .234743417241D-02  .745430588722D-05  .515365960693D+04
+     .403200000000D+06 -.968575477600D-07  .274994151131D+01  .745058059692D-08
+     .983907723272D+00  .249093750000D+03  .807812689921D+00 -.785747015231D-08
+     .121433629627D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.111758708954D-07  .202000000000D+03
+     .396006000000D+06  .400000000000D+01
+20 04  6 10 16  0  0.0 -.154293142259D-03  .397903932026D-11  .000000000000D+00
+     .239000000000D+03 -.210312500000D+02  .443911347832D-08  .252279454006D+01
+    -.106543302536D-05  .240883126389D-02  .817701220512D-05  .515364552116D+04
+     .403200000000D+06  .372529029846D-08  .168697975483D+01 -.726431608200D-07
+     .963598546524D+00  .219812500000D+03  .157232789084D+01 -.803712049261D-08
+    -.230366738556D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.698491930962D-08  .495000000000D+03
+     .396006000000D+06  .400000000000D+01
+27 04  6 10 16  0  0.0  .246891751885D-03  .246700437856D-10  .000000000000D+00
+     .770000000000D+02 -.425937500000D+02  .472841124302D-08 -.273275098772D+01
+    -.231713056564D-05  .181960127084D-01  .525824725628D-05  .515373755074D+04
+     .403200000000D+06  .176951289177D-06 -.255103034385D+01 -.193715095520D-06
+     .949659042368D+00  .269968750000D+03 -.215880054140D+01 -.802569144512D-08
+     .703600736366D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.419095158577D-08  .770000000000D+02
+     .396006000000D+06  .400000000000D+01
+ 1 04  6 10 16  0  0.0  .347893685102D-03  .170530256582D-11  .000000000000D+00
+     .440000000000D+02  .156562500000D+02  .404052544696D-08 -.146725814905D+01
+     .672414898872D-06  .514655280858D-02  .726804137230D-05  .515355212975D+04
+     .403200000000D+06 -.186264514923D-07  .276714029601D+01  .139698386192D-06
+     .979718288696D+00  .247906250000D+03 -.168674968170D+01 -.791247244338D-08
+     .982183769039D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.325962901115D-08  .300000000000D+03
+     .396006000000D+06  .400000000000D+01
+ 4 04  6 10 15 59 44.0 -.173031352460D-03 -.127329258248D-10  .000000000000D+00
+     .198000000000D+03  .659375000000D+01  .488270338419D-08 -.254155981890D+01
+     .305473804474D-06  .661686446983D-02  .529736280441D-05  .515366875267D+04
+     .403184000000D+06 -.208616256714D-06  .669097080179D+00 -.838190317154D-07
+     .959690295044D+00  .279593750000D+03 -.564198217463D-01 -.823962892790D-08
+    -.178936024832D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .198000000000D+03
+     .396006000000D+06  .400000000000D+01
+16 04  6 10 16  0  0.0  .107232481241D-04 -.568434188608D-12  .000000000000D+00
+     .231000000000D+03 -.388437500000D+02  .432518016111D-08 -.277510270164D+01
+    -.198930501938D-05  .254735921044D-02  .103041529655D-04  .515355260086D+04
+     .403200000000D+06  .335276126862D-07 -.144893353040D+01 -.502914190292D-07
+     .960771783567D+00  .179125000000D+03 -.143577591792D+01 -.788032824730D-08
+    -.267868300647D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.977888703346D-08  .487000000000D+03
+     .396006000000D+06  .400000000000D+01
+ 3 04  6 10 16  0  0.0  .178809277713D-04  .318323145621D-11  .000000000000D+00
+     .139000000000D+03  .504375000000D+02  .538772442035D-08  .385391523550D+00
+     .262819230556D-05  .560656411108D-02  .840425491333D-05  .515368833923D+04
+     .403200000000D+06  .204890966415D-07 -.476018593434D+00  .298023223877D-07
+     .928335921489D+00  .202000000000D+03  .539350752844D+00 -.851571185644D-08
+     .228223792151D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.419095158577D-08  .395000000000D+03
+     .396006000000D+06  .400000000000D+01
+ 8 04  6 10 16  0  0.0 -.178162008524D-05 -.682121026330D-12  .000000000000D+00
+     .300000000000D+01 -.420937500000D+02  .450875923649D-08 -.153396895580D+01
+    -.222772359848D-05  .894242571667D-02  .605732202530D-05  .515363218689D+04
+     .403200000000D+06 -.154599547386D-06 -.246067812994D+01 -.428408384323D-07
+     .965059175137D+00  .267687500000D+03  .242083842923D+01 -.820105589261D-08
+     .260725145963D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.419095158577D-08  .771000000000D+03
+     .396006000000D+06  .400000000000D+01
+11 04  6 10 16  0  0.0  .123893376440D-03  .295585778076D-11  .000000000000D+00
+     .700000000000D+02  .183750000000D+02  .614847039419D-08 -.100816836756D+01
+     .892207026482D-06  .291152729187D-02  .421144068241D-05  .515368248177D+04
+     .403200000000D+06  .502914190292D-07  .541205476958D+00 -.223517417908D-07
+     .906910233960D+00  .268968750000D+03  .902309394637D-01 -.897001649433D-08
+    -.314298806093D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.121071934700D-07  .700000000000D+02
+     .396006000000D+06  .400000000000D+01
+24 04  6 10 16  0  0.0  .336212106049D-04  .295585778076D-11  .000000000000D+00
+     .510000000000D+02  .359375000000D+01  .465090801470D-08 -.178295054554D+01
+     .398606061935D-06  .934586441144D-02  .559911131859D-05  .515365051651D+04
+     .403200000000D+06 -.409781932831D-07  .695929714392D+00  .255182385445D-06
+     .969952858476D+00  .277218750000D+03 -.139818095528D+01 -.808962267954D-08
+    -.185722021782D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.139698386192D-08  .510000000000D+02
+     .396186000000D+06  .400000000000D+01
+19 04  6 10 16  0  0.0 -.368892215192D-04  .636646291241D-11  .000000000000D+00
+     .191000000000D+03  .525937500000D+02  .458519099161D-08  .234753925387D+01
+     .275857746601D-05  .345635728445D-02  .821799039841D-05  .515383259964D+04
+     .403200000000D+06 -.931322574615D-08 -.347116081635D+00 -.968575477600D-07
+     .960795343863D+00  .220593750000D+03 -.201646705772D+01 -.800926218935D-08
+     .253224833545D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.698491930962D-08  .703000000000D+03
+     .396306000000D+06  .400000000000D+01
+31 04  6 10 16  0  0.0  .205796211958D-03  .188720150618D-10  .000000000000D+00
+     .198000000000D+03  .562500000000D+02  .504271004911D-08 -.126916755868D+01
+     .329315662384D-05  .128683506045D-01  .771321356297D-05  .515583647156D+04
+     .403200000000D+06  .210478901863D-06 -.451851656361D+00  .156462192535D-06
+     .936957771092D+00  .212031250000D+03  .998681801711D+00 -.828820237975D-08
+     .296798077117D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .198000000000D+03
+     .397656000000D+06  .400000000000D+01
+19 04  6 10 15 59 44.0 -.368892215192D-04  .636646291241D-11  .000000000000D+00
+     .216000000000D+03  .525937500000D+02  .458519099161D-08  .234520327799D+01
+     .275857746601D-05  .345635181293D-02  .821799039841D-05  .515383260345D+04
+     .403184000000D+06 -.931322574615D-08 -.347115935343D+00 -.968575477600D-07
+     .960795316067D+00  .220593750000D+03 -.201646467024D+01 -.800926218935D-08
+     .253224833545D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.698491930962D-08  .216000000000D+03
+     .397836000000D+06  .400000000000D+01
+28 04  6 10 16  0  0.0  .343350693583D-04  .113686837722D-11  .000000000000D+00
+     .236000000000D+03 -.264062500000D+02  .437518224390D-08  .213397339233D+01
+    -.131875276566D-05  .897944380995D-02  .996142625809D-05  .515370164680D+04
+     .403200000000D+06 -.152736902237D-06 -.143834078782D+01 -.139698386192D-06
+     .958729165181D+00  .186062500000D+03 -.237472462689D+01 -.789925760721D-08
+     .785747015231D-11  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.102445483208D-07  .492000000000D+03
+     .398886000000D+06  .400000000000D+01
+ 1 04  6 10 15 59 44.0  .347899738699D-03  .170530256582D-11  .000000000000D+00
+     .690000000000D+02  .156562500000D+02  .404052544696D-08 -.146959034037D+01
+     .672414898872D-06  .514655222651D-02  .726804137230D-05  .515355214310D+04
+     .403184000000D+06 -.186264514923D-07  .276714036038D+01  .139698386192D-06
+     .979718290159D+00  .247906250000D+03 -.168675147378D+01 -.791247244338D-08
+     .982183769039D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.325962901115D-08  .690000000000D+02
+     .400596000000D+06  .400000000000D+01
+ 3 04  6 10 15 59 44.0  .178799964488D-04  .318323145621D-11  .000000000000D+00
+     .162000000000D+03  .504375000000D+02  .538772442035D-08  .383058833378D+00
+     .262819230556D-05  .560658308677D-02  .840425491333D-05  .515368833733D+04
+     .403184000000D+06  .204890966415D-07 -.476018458845D+00  .298023223877D-07
+     .928335880527D+00  .202000000000D+03  .539349646878D+00 -.851571185644D-08
+     .228223792151D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.419095158577D-08  .674000000000D+03
+     .400776000000D+06  .400000000000D+01
+10 04  6 10 16  0  0.0  .454005785286D-04  .568434188608D-12  .000000000000D+00
+     .162000000000D+03 -.453125000000D+01  .415981613018D-08  .156953379338D+01
+     .391155481339D-07  .607935234439D-02  .886805355549D-05  .515372740173D+04
+     .403200000000D+06  .204890966415D-07  .170690251639D+01  .135973095894D-06
+     .979923050414D+00  .221281250000D+03  .315505913928D+00 -.790890086604D-08
+    -.273225666660D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.232830643654D-08  .162000000000D+03
+     .401586000000D+06  .400000000000D+01
+13 04  6 10 18  0  0.0 -.275494530797D-04  .568434188608D-12  .000000000000D+00
+     .203000000000D+03  .142500000000D+02  .399266631058D-08  .272472275955D+01
+     .558793544769D-06  .234808051027D-02  .756047666073D-05  .515365766335D+04
+     .410400000000D+06 -.819563865662D-07  .274988502512D+01 -.614672899246D-07
+     .983908817534D+00  .241656250000D+03  .807466715647D+00 -.782425448303D-08
+     .138934358602D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.111758708954D-07  .203000000000D+03
+     .403206000000D+06  .400000000000D+01
+20 04  6 10 18  0  0.0 -.154264271259D-03  .397903932026D-11  .000000000000D+00
+     .000000000000D+00 -.247500000000D+02  .449054419205D-08 -.271009068510D+01
+    -.116601586342D-05  .240785174537D-02  .884756445885D-05  .515364731026D+04
+     .410400000000D+06  .428408384323D-07  .168692137269D+01  .260770320892D-07
+     .963597183085D+00  .212156250000D+03  .157222573088D+01 -.804997817105D-08
+    -.144291724615D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.698491930962D-08  .256000000000D+03
+     .403206000000D+06  .400000000000D+01
+27 04  6 10 18  0  0.0  .247069634497D-03  .246700437856D-10  .000000000000D+00
+     .780000000000D+02 -.340625000000D+02  .480127142080D-08 -.168268193704D+01
+    -.178627669811D-05  .181969091063D-01  .473111867905D-05  .515373451233D+04
+     .410400000000D+06  .411644577980D-06 -.255108774437D+01 -.102445483208D-06
+     .949659276435D+00  .278312500000D+03 -.215872559465D+01 -.812533845296D-08
+    -.171435712414D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.419095158577D-08  .780000000000D+02
+     .403206000000D+06  .400000000000D+01
+ 1 04  6 10 17 59 44.0  .347912311554D-03  .170530256582D-11  .000000000000D+00
+     .700000000000D+02  .148125000000D+02  .421696136765D-08 -.419400733541D+00
+     .864267349243D-06  .514646584634D-02  .732019543648D-05  .515355154037D+04
+     .410384000000D+06 -.316649675369D-07  .276708204846D+01 -.856816768646D-07
+     .979718521300D+00  .245156250000D+03 -.168668801970D+01 -.810319467344D-08
+     .187150652719D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.325962901115D-08  .700000000000D+02
+     .403206000000D+06  .400000000000D+01
+ 4 04  6 10 18  0  0.0 -.173123553395D-03 -.127329258248D-10  .000000000000D+00
+     .199000000000D+03  .743750000000D+01  .488698927701D-08 -.148907920190D+01
+     .800937414169D-07  .661672151182D-02  .490806996822D-05  .515366842270D+04
+     .410400000000D+06  .707805156708D-07  .669035862909D+00 -.100582838058D-06
+     .959689298797D+00  .283343750000D+03 -.563796002767D-01 -.838142054838D-08
+     .178578867098D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .199000000000D+03
+     .403206000000D+06  .400000000000D+01
+10 04  6 10 18  0  0.0  .454047694802D-04  .568434188608D-12  .000000000000D+00
+     .163000000000D+03 -.177500000000D+02  .409838499990D-08  .261942607820D+01
+    -.962987542152D-06  .607816805132D-02  .859424471855D-05  .515373100853D+04
+     .410400000000D+06 -.119209289551D-06  .170684533531D+01 -.260770320892D-07
+     .979922111221D+00  .226687500000D+03  .315758587675D+00 -.775675167127D-08
+    -.153577825704D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.232830643654D-08  .163000000000D+03
+     .403206000000D+06  .400000000000D+01
+ 8 04  6 10 18  0  0.0 -.178674235940D-05 -.682121026330D-12  .000000000000D+00
+     .400000000000D+01 -.414687500000D+02  .452411701906D-08 -.483826403735D+00
+    -.228174030781D-05  .894186517689D-02  .569596886635D-05  .515363070107D+04
+     .410400000000D+06 -.968575477600D-07 -.246073676516D+01 -.217929482460D-06
+     .965059166359D+00  .273812500000D+03  .242090204568D+01 -.821891377932D-08
+    -.785747015231D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.419095158577D-08  .772000000000D+03
+     .403206000000D+06  .400000000000D+01
+19 04  6 10 17 59 44.0 -.368426553905D-04  .636646291241D-11  .000000000000D+00
+     .217000000000D+03  .583437500000D+02  .454376069444D-08 -.288794316876D+01
+     .289082527161D-05  .345554761589D-02  .826269388199D-05  .515383412933D+04
+     .410384000000D+06  .931322574615D-07 -.347174035135D+00 -.949949026108D-07
+     .960797162270D+00  .218812500000D+03 -.201641963138D+01 -.805033532878D-08
+     .312155859687D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.698491930962D-08  .217000000000D+03
+     .403206000000D+06  .400000000000D+01
+31 04  6 10 18  0  0.0  .205932185054D-03  .188720150618D-10  .000000000000D+00
+     .199000000000D+03  .520000000000D+02  .509235497417D-08 -.220380922470D+00
+     .291317701340D-05  .128673266154D-01  .865198671818D-05  .515583372307D+04
+     .410400000000D+06 -.428408384323D-07 -.451912472791D+00  .149011611938D-06
+     .936958973611D+00  .202875000000D+03  .998760056125D+00 -.850821154402D-08
+     .302155443130D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .199000000000D+03
+     .403206000000D+06  .400000000000D+01
+ 3 04  6 10 17 59 44.0  .179028138518D-04  .318323145621D-11  .000000000000D+00
+     .163000000000D+03  .563750000000D+02  .529236330532D-08  .143311274285D+01
+     .285543501377D-05  .560747878626D-02  .851415097713D-05  .515369040871D+04
+     .410384000000D+06  .000000000000D+00 -.476079866295D+00  .633299350739D-07
+     .928337568735D+00  .195343750000D+03  .539472654881D+00 -.850999733269D-08
+     .251081887140D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.419095158577D-08  .675000000000D+03
+     .403206000000D+06  .400000000000D+01
+28 04  6 10 18  0  0.0  .343434512615D-04  .113686837722D-11  .000000000000D+00
+     .237000000000D+03 -.332187500000D+02  .427982112887D-08 -.309903410646D+01
+    -.173225998878D-05  .898032053374D-02  .101719051600D-04  .515370007133D+04
+     .410400000000D+06  .745058059692D-08 -.143839673712D+01 -.558793544769D-07
+     .958729868844D+00  .183375000000D+03 -.237474005483D+01 -.773496504948D-08
+    -.153577825704D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.102445483208D-07  .493000000000D+03
+     .403206000000D+06  .400000000000D+01
+ 7 04  6 10 18  0  0.0  .508723780513D-03 -.154614099301D-10  .000000000000D+00
+     .980000000000D+02  .511250000000D+02  .503985278724D-08  .144993903935D+01
+     .267848372459D-05  .129729919136D-01  .836513936520D-05  .515379827309D+04
+     .410400000000D+06 -.305473804474D-06 -.450769067724D+00 -.234693288803D-06
+     .937507131941D+00  .204187500000D+03 -.183929301549D+01 -.841642200633D-08
+     .283583240952D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.186264514923D-08  .354000000000D+03
+     .405756000000D+06  .400000000000D+01
+29 04  6 10 18  0  0.0  .226305332035D-03 -.397903932026D-11  .000000000000D+00
+     .730000000000D+02  .214375000000D+02  .418767443345D-08 -.313271643325D+01
+     .136531889439D-05  .819207588211D-02  .718981027603D-05  .515371917343D+04
+     .410400000000D+06  .162050127983D-06  .271993609159D+01  .126659870148D-06
+     .979184180231D+00  .248656250000D+03 -.135709771275D+01 -.784889836669D-08
+     .162863926793D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.651925802231D-08  .329000000000D+03
+     .407586000000D+06  .400000000000D+01
+11 04  6 10 18  0  0.0  .123914331198D-03  .295585778076D-11  .000000000000D+00
+     .710000000000D+02  .178437500000D+02  .614239871270D-08  .420344655099D-01
+     .955536961555D-06  .291158852633D-02  .425800681114D-05  .515368262291D+04
+     .410400000000D+06  .447034835815D-07  .541140858403D+00  .186264514923D-07
+     .906909806788D+00  .269250000000D+03  .902152174831D-01 -.900644658322D-08
+    -.457161899771D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.121071934700D-07  .710000000000D+02
+     .408336000000D+06  .400000000000D+01
+26 04  6 10 18  0  0.0  .112100504339D-03  .159161572810D-10  .000000000000D+00
+     .157000000000D+03  .229062500000D+02  .419874632321D-08  .971758925934D+00
+     .160001218319D-05  .155242297333D-01  .714696943760D-05  .515366811371D+04
+     .410400000000D+06 -.949949026108D-07  .275250699271D+01  .216066837311D-06
+     .982255488964D+00  .253531250000D+03  .595539348684D+00 -.811319509000D-08
+    -.250010413937D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .157000000000D+03
+     .408936000000D+06  .400000000000D+01
+13 04  6 10 20  0  0.0 -.275457277894D-04  .568434188608D-12  .000000000000D+00
+     .204000000000D+03  .141875000000D+02  .414445834761D-08 -.250825802050D+01
+     .903382897377D-06  .234806980006D-02  .770948827267D-05  .515365769386D+04
+     .417600000000D+06  .124797224998D-06  .274982749002D+01 -.949949026108D-07
+     .983909892779D+00  .241093750000D+03  .807450117378D+00 -.793533053837D-08
+     .277868717205D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.111758708954D-07  .204000000000D+03
+     .410406000000D+06  .400000000000D+01
+27 04  6 10 20  0  0.0  .247247517109D-03  .246700437856D-10  .000000000000D+00
+     .730000000000D+02 -.291875000000D+02  .515592905085D-08 -.632590875298D+00
+    -.144541263580D-05  .181966042146D-01  .517442822456D-05  .515373243904D+04
+     .417600000000D+06 -.502914190292D-07 -.255114763916D+01  .333413481712D-06
+     .949655911723D+00  .272562500000D+03 -.215866939811D+01 -.875822195796D-08
+    -.137862885400D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.419095158577D-08  .329000000000D+03
+     .410406000000D+06  .400000000000D+01
+29 04  6 10 20  0  0.0  .226276461035D-03 -.409272615798D-11  .000000000000D+00
+     .680000000000D+02  .179062500000D+02  .417838833236D-08 -.208256539187D+01
+     .106170773506D-05  .819144304842D-02  .751391053200D-05  .515372019958D+04
+     .417600000000D+06  .558793544769D-08  .271987942546D+01  .152736902237D-06
+     .979185891846D+00  .243625000000D+03 -.135709855832D+01 -.780389649218D-08
+     .242867259253D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.651925802231D-08  .580000000000D+03
+     .410406000000D+06  .400000000000D+01
+ 7 04  6 10 20  0  0.0  .508612021804D-03 -.154614099301D-10  .000000000000D+00
+     .990000000000D+02  .524375000000D+02  .481484341470D-08  .250013330703D+01
+     .272504985332D-05  .129732217174D-01  .877492129803D-05  .515379618454D+04
+     .417600000000D+06  .130385160446D-06 -.450827585910D+00 -.137835741043D-06
+     .937511080357D+00  .195468750000D+03 -.183937892097D+01 -.797354641593D-08
+     .257153568621D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.186264514923D-08  .355000000000D+03
+     .410406000000D+06  .400000000000D+01
+10 04  6 10 20  0  0.0  .454094260931D-04  .568434188608D-12  .000000000000D+00
+     .164000000000D+03 -.254687500000D+02  .415088718683D-08 -.261367587681D+01
+    -.142492353916D-05  .607894198038D-02  .865571200848D-05  .515372956657D+04
+     .417600000000D+06 -.949949026108D-07  .170678908611D+01 -.147148966789D-06
+     .979920826779D+00  .225343750000D+03  .315818377137D+00 -.782604027170D-08
+    -.113219001740D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.232830643654D-08  .420000000000D+03
+     .410406000000D+06  .400000000000D+01
+11 04  6 10 20  0  0.0  .123935285956D-03  .295585778076D-11  .000000000000D+00
+     .720000000000D+02  .177187500000D+02  .608632494844D-08  .109222957437D+01
+     .787898898125D-06  .291160552297D-02  .425241887569D-05  .515368263054D+04
+     .417600000000D+06  .186264514923D-07  .541076226682D+00  .465661287308D-07
+     .906909508353D+00  .269656250000D+03  .902069505330D-01 -.898037406863D-08
+    -.650027076237D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.121071934700D-07  .720000000000D+02
+     .410406000000D+06  .400000000000D+01
+ 8 04  6 10 20  0  0.0 -.179186463356D-05 -.682121026330D-12  .000000000000D+00
+     .239000000000D+03 -.409375000000D+02  .465912264259D-08  .566364450964D+00
+    -.251270830631D-05  .894182908814D-02  .547990202904D-05  .515363062859D+04
+     .417600000000D+06  .875443220139D-07 -.246079580415D+01 -.109896063805D-06
+     .965057690275D+00  .276031250000D+03  .242091876830D+01 -.833677583161D-08
+    -.192150860997D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.419095158577D-08  .751000000000D+03
+     .410406000000D+06  .400000000000D+01
+19 04  6 10 20  0  0.0 -.367965549231D-04  .636646291241D-11  .000000000000D+00
+     .218000000000D+03  .672500000000D+02  .455411826873D-08 -.183588849059D+01
+     .348128378391D-05  .345662154723D-02  .771135091782D-05  .515383103561D+04
+     .417600000000D+06  .130385160446D-06 -.347232172962D+00 -.279396772385D-07
+     .960799520494D+00  .226812500000D+03 -.201605696374D+01 -.806890753096D-08
+     .323584907182D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.698491930962D-08  .218000000000D+03
+     .410406000000D+06  .400000000000D+01
+31 04  6 10 20  0  0.0  .206068158150D-03  .188720150618D-10  .000000000000D+00
+     .194000000000D+03  .550000000000D+02  .501735184999D-08  .828459222892D+00
+     .297091901302D-05  .128682290670D-01  .892207026482D-05  .515583555984D+04
+     .417600000000D+06 -.163912773132D-06 -.451972743553D+00 -.558793544769D-08
+     .936960740816D+00  .196781250000D+03  .998784295215D+00 -.846320966951D-08
+     .147506144223D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .450000000000D+03
+     .410406000000D+06  .400000000000D+01
+26 04  6 10 20  0  0.0  .112215057015D-03  .159161572810D-10  .000000000000D+00
+     .158000000000D+03  .105625000000D+02  .413160066918D-08  .202179388330D+01
+     .480562448502D-06  .155246441718D-01  .796094536781D-05  .515367242813D+04
+     .417600000000D+06 -.452622771263D-06  .275244764066D+01 -.335276126862D-07
+     .982256728055D+00  .242312500000D+03  .595685483960D+00 -.786854204207D-08
+     .215723271454D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .158000000000D+03
+     .410406000000D+06  .400000000000D+01
+28 04  6 10 20  0  0.0  .343513675034D-04  .113686837722D-11  .000000000000D+00
+     .238000000000D+03 -.367500000000D+02  .425553440295D-08 -.204883410559D+01
+    -.196695327759D-05  .898036826402D-02  .102818012238D-04  .515370032120D+04
+     .417600000000D+06 -.111758708954D-07 -.143845192717D+01 -.180676579475D-06
+     .958729564557D+00  .180312500000D+03 -.237477706080D+01 -.772782189480D-08
+    -.108218793461D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.102445483208D-07  .494000000000D+03
+     .410406000000D+06  .400000000000D+01
+ 8 04  6 10 19 59 44.0 -.179279595613D-05 -.682121026330D-12  .000000000000D+00
+     .270000000000D+02 -.409375000000D+02  .465912264259D-08  .564031253160D+00
+    -.251270830631D-05  .894185702782D-02  .547990202904D-05  .515363062477D+04
+     .417584000000D+06  .875443220139D-07 -.246079570174D+01 -.109896063805D-06
+     .965057701978D+00  .276031250000D+03  .242091820654D+01 -.833677583161D-08
+    -.192150860997D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.419095158577D-08  .270000000000D+02
+     .410976000000D+06  .400000000000D+01
+29 04  6 10 19 59 44.0  .226279255003D-03 -.397903932026D-11  .000000000000D+00
+     .930000000000D+02  .179062500000D+02  .417838833236D-08 -.208489692341D+01
+     .106170773506D-05  .819144863635D-02  .751391053200D-05  .515372019577D+04
+     .417584000000D+06  .558793544769D-08  .271987957175D+01  .152736902237D-06
+     .979185888920D+00  .243625000000D+03 -.135710065468D+01 -.780389649218D-08
+     .242867259253D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.651925802231D-08  .930000000000D+02
+     .411336000000D+06  .400000000000D+01
+ 4 04  6 10 20  0  0.0 -.173215288669D-03 -.127329258248D-10  .000000000000D+00
+     .200000000000D+03  .107500000000D+02  .480341436720D-08 -.438982690785D+00
+     .670552253723D-06  .661643780768D-02  .449642539024D-05  .515366717339D+04
+     .417600000000D+06  .115483999252D-06  .668975590684D+00 -.596046447754D-07
+     .959689323667D+00  .286781250000D+03 -.562892226606D-01 -.840927885165D-08
+    -.250010413937D-11  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .200000000000D+03
+     .413826000000D+06  .400000000000D+01
+ 9 04  6 10 20  0  0.0 -.486681237817D-04 -.181898940355D-11  .000000000000D+00
+     .219000000000D+03 -.305000000000D+02  .504020994498D-08  .169425357223D+00
+    -.138953328133D-05  .156613715226D-01  .531785190105D-05  .515370164299D+04
+     .417600000000D+06 -.128522515297D-06 -.252975843242D+01  .171363353729D-06
+     .952017557433D+00  .270843750000D+03  .104800907916D+01 -.866036073879D-08
+    -.152506352502D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.558793544769D-08  .731000000000D+03
+     .416466000000D+06  .400000000000D+01
+ 9 04  6 10 22  0  0.0 -.486806966364D-04 -.181898940355D-11  .000000000000D+00
+     .214000000000D+03 -.298437500000D+02  .513235664040D-08  .121960189581D+01
+    -.157766044140D-05  .156612209976D-01  .567734241486D-05  .515370125580D+04
+     .424800000000D+06 -.281259417534D-06 -.252982079808D+01  .800937414169D-07
+     .952016356377D+00  .272093750000D+03  .104800065129D+01 -.860500128999D-08
+    -.142148778210D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.558793544769D-08  .726000000000D+03
+     .417606000000D+06  .400000000000D+01
+27 04  6 10 22  0  0.0  .247424934059D-03  .246700437856D-10  .000000000000D+00
+     .740000000000D+02 -.314375000000D+02  .522736059769D-08  .417554678680D+00
+    -.134855508804D-05  .181962874485D-01  .533275306225D-05  .515373180199D+04
+     .424800000000D+06 -.212341547012D-06 -.255121067923D+01  .193715095520D-06
+     .949654807220D+00  .272250000000D+03 -.215866495962D+01 -.876500795491D-08
+    -.206080012631D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.419095158577D-08  .330000000000D+03
+     .417606000000D+06  .400000000000D+01
+29 04  6 10 21 59 44.0  .226250384003D-03 -.397903932026D-11  .000000000000D+00
+     .940000000000D+02  .143750000000D+02  .429875048878D-08 -.103495101533D+01
+     .730156898499D-06  .819154176861D-02  .834651291370D-05  .515371700478D+04
+     .424784000000D+06 -.169500708580D-06  .271982210833D+01 -.428408384323D-07
+     .979186674507D+00  .232187500000D+03 -.135689477237D+01 -.805783564120D-08
+     .302512600864D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.651925802231D-08  .940000000000D+02
+     .417606000000D+06  .400000000000D+01
+ 4 04  6 10 22  0  0.0 -.173307489604D-03 -.127329258248D-10  .000000000000D+00
+     .201000000000D+03  .110000000000D+02  .472341103474D-08  .611204769943D+00
+     .681728124619D-06  .661610998213D-02  .487267971039D-05  .515366654968D+04
+     .424800000000D+06  .147148966789D-06  .668915220444D+00  .633299350739D-07
+     .959689411442D+00  .284468750000D+03 -.562898268458D-01 -.836356266167D-08
+    -.317870383435D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .201000000000D+03
+     .417606000000D+06  .400000000000D+01
+ 7 04  6 10 22  0  0.0  .508500263095D-03 -.154614099301D-10  .000000000000D+00
+     .100000000000D+03  .590000000000D+02  .479555689705D-08 -.273297271343D+01
+     .302493572235D-05  .129726112355D-01  .883825123310D-05  .515379737473D+04
+     .424800000000D+06  .137835741043D-06 -.450885012759D+00 -.838190317154D-07
+     .937512955818D+00  .195031250000D+03 -.183935087244D+01 -.796854620765D-08
+     .275368613065D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.186264514923D-08  .356000000000D+03
+     .417606000000D+06  .400000000000D+01
+11 04  6 10 22  0  0.0  .123956240714D-03  .295585778076D-11  .000000000000D+00
+     .670000000000D+02  .181562500000D+02  .600489298504D-08  .214237450515D+01
+     .879168510437D-06  .291165045928D-02  .405311584473D-05  .515368284988D+04
+     .424800000000D+06 -.465661287308D-07  .541011382839D+00  .763684511185D-07
+     .906909167493D+00  .268593750000D+03  .902484813144D-01 -.895858744684D-08
+    -.228580949885D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.121071934700D-07  .323000000000D+03
+     .417606000000D+06  .400000000000D+01
+ 8 04  6 10 21 59 44.0 -.179838389158D-05 -.682121026330D-12  .000000000000D+00
+     .280000000000D+02 -.420625000000D+02  .472198240381D-08  .161425192798D+01
+    -.214390456676D-05  .894185970537D-02  .508688390255D-05  .515363044739D+04
+     .424784000000D+06  .130385160446D-06 -.246085481534D+01  .521540641785D-07
+     .965056755470D+00  .276062500000D+03  .242090574833D+01 -.818962684512D-08
+    -.246438836595D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.419095158577D-08  .280000000000D+02
+     .417606000000D+06  .400000000000D+01
+26 04  6 10 22  0  0.0  .112330075353D-03  .159161572810D-10  .000000000000D+00
+     .153000000000D+03  .114062500000D+02  .409552773803D-08  .307202656576D+01
+     .420957803726D-06  .155257583829D-01  .819936394691D-05  .515366985893D+04
+     .424800000000D+06 -.156462192535D-06  .275239192982D+01 -.225380063057D-06
+     .982259648040D+00  .232281250000D+03  .595632508771D+00 -.761424573533D-08
+     .260367988229D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .409000000000D+03
+     .417606000000D+06  .400000000000D+01
+28 04  6 10 22  0  0.0  .343597494066D-04  .113686837722D-11  .000000000000D+00
+     .233000000000D+03 -.327812500000D+02  .444589947527D-08 -.998732522544D+00
+    -.181421637535D-05  .898006092757D-02  .104829668999D-04  .515369925117D+04
+     .424800000000D+06  .227242708206D-06 -.143850704407D+01  .117346644402D-06
+     .958727032246D+00  .176062500000D+03 -.237471616537D+01 -.800854787388D-08
+    -.320013329840D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.102445483208D-07  .745000000000D+03
+     .417606000000D+06  .400000000000D+01
+24 04  6 10 22  0  0.0  .336854718626D-04  .295585778076D-11  .000000000000D+00
+     .480000000000D+02  .978125000000D+01  .449518724259D-08  .136774871019D+01
+     .530853867531D-06  .934528477956D-02  .488385558128D-05  .515365095520D+04
+     .424800000000D+06  .111758708954D-07  .695748292069D+00 -.251457095146D-06
+     .969950738707D+00  .287687500000D+03 -.139829370384D+01 -.824355766298D-08
+     .250010413937D-11  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.139698386192D-08  .304000000000D+03
+     .418086000000D+06  .400000000000D+01
+ 5 04  6 10 22  0  0.0  .342563726008D-04  .181898940355D-11  .000000000000D+00
+     .114000000000D+03 -.403125000000D+02  .506699677504D-08  .305361124179D+00
+    -.204332172871D-05  .526805710979D-02  .903755426407D-05  .515376499176D+04
+     .424800000000D+06 -.596046447754D-07 -.152154017496D+01  .132247805595D-06
+     .935612534532D+00  .191062500000D+03  .834287434392D+00 -.832391815317D-08
+    -.258582199558D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.419095158577D-08  .370000000000D+03
+     .418866000000D+06  .400000000000D+01
+28 04  6 10 21 59 44.0  .343611463904D-04  .113686837722D-11  .000000000000D+00
+     .170000000000D+02 -.327812500000D+02  .444589947527D-08 -.100106643572D+01
+    -.181421637535D-05  .898005918134D-02  .104829668999D-04  .515369924927D+04
+     .424784000000D+06  .227242708206D-06 -.143850689924D+01  .117346644402D-06
+     .958727019080D+00  .176062500000D+03 -.237471592838D+01 -.800854787388D-08
+    -.320013329840D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.102445483208D-07  .170000000000D+02
+     .418866000000D+06  .400000000000D+01
+ 9 04  6 10 21 59 44.0 -.486834906042D-04 -.181898940355D-11  .000000000000D+00
+     .100000000000D+01 -.298437500000D+02  .513235664040D-08  .121726724386D+01
+    -.157766044140D-05  .156612175051D-01  .567734241486D-05  .515370127678D+04
+     .424784000000D+06 -.281259417534D-06 -.252982063277D+01  .800937414169D-07
+     .952016365154D+00  .272093750000D+03  .104800146759D+01 -.860500128999D-08
+    -.142148778210D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.558793544769D-08  .100000000000D+01
+     .420876000000D+06  .400000000000D+01
+17 04  6 10 22  0  0.0 -.382880680263D-04 -.190993887372D-10  .000000000000D+00
+     .229000000000D+03  .721875000000D+01  .448482966830D-08  .220393031482D+01
+     .433996319771D-06  .168377062073D-01  .499561429024D-05  .515362675476D+04
+     .424800000000D+06 -.370666384697D-06  .763152865774D+00  .428408384323D-07
+     .968657936057D+00  .285625000000D+03 -.278134592106D+01 -.815855412224D-08
+    -.778603860547D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.139698386192D-08  .485000000000D+03
+     .421536000000D+06  .400000000000D+01
+ 9 04  6 10 23 59 44.0 -.486965291202D-04 -.181898940355D-11  .000000000000D+00
+     .200000000000D+01 -.317187500000D+02  .500735143343D-08  .226741842861D+01
+    -.199675559998D-05  .156612438150D-01  .522658228874D-05  .515370174408D+04
+     .431984000000D+06 -.745058059692D-08 -.252988200365D+01 -.279396772385D-06
+     .952017624727D+00  .273000000000D+03  .104801860568D+01 -.818141221723D-08
+    -.275011455331D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.558793544769D-08  .770000000000D+03
+     .424806000000D+06  .400000000000D+01
+17 04  6 11  0  0  0.0 -.384259037673D-04 -.190993887372D-10  .000000000000D+00
+     .230000000000D+03  .543750000000D+01  .431482258682D-08 -.302904412933D+01
+     .339001417160D-06  .168381478870D-01  .532716512680D-05  .515362595177D+04
+     .432000000000D+06 -.147148966789D-06  .763094906423D+00 -.134110450745D-06
+     .968658663127D+00  .282718750000D+03 -.278134792964D+01 -.792247285994D-08
+    -.350014579512D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.139698386192D-08  .486000000000D+03
+     .424806000000D+06  .400000000000D+01
+29 04  6 11  0  0  0.0  .226221513003D-03 -.397903932026D-11  .000000000000D+00
+     .950000000000D+02  .127812500000D+02  .428660712582D-08  .175174301970D-01
+     .542029738426D-06  .819143804256D-02  .819563865662D-05  .515371668625D+04
+     .432000000000D+06 -.614672899246D-07  .271976331512D+01 -.577419996262D-07
+     .979189070767D+00  .232406250000D+03 -.135687628254D+01 -.810569477758D-08
+     .369658254893D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.651925802231D-08  .950000000000D+02
+     .424806000000D+06  .400000000000D+01
+ 4 04  6 11  0  0  0.0 -.173399690539D-03 -.127329258248D-10  .000000000000D+00
+     .202000000000D+03  .105937500000D+02  .465912264259D-08  .166139034936D+01
+     .614672899246D-06  .661607051734D-02  .491552054882D-05  .515366653061D+04
+     .432000000000D+06 -.502914190292D-07  .668856280937D+00  .633299350739D-07
+     .959688938919D+00  .284000000000D+03 -.562893938221D-01 -.826212986516D-08
+    -.175721605224D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .202000000000D+03
+     .424806000000D+06  .400000000000D+01
+ 5 04  6 11  0  0  0.0  .342689454556D-04  .181898940355D-11  .000000000000D+00
+     .115000000000D+03 -.470000000000D+02  .502806658201D-08  .135517225070D+01
+    -.240653753281D-05  .526921381243D-02  .982545316219D-05  .515376880836D+04
+     .432000000000D+06 -.968575477600D-07 -.152159961918D+01  .558793544769D-08
+     .935610255305D+00  .177781250000D+03  .834604125435D+00 -.831248910568D-08
+    -.347157317639D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .200000000000D+01  .000000000000D+00 -.419095158577D-08  .371000000000D+03
+     .424806000000D+06  .400000000000D+01
+ 7 04  6 11  0  0  0.0  .508388970047D-03 -.154614099301D-10  .000000000000D+00
+     .101000000000D+03  .690625000000D+02  .496663545173D-08 -.168294828029D+01
+     .361911952496D-05  .129738518735D-01  .849924981594D-05  .515379436111D+04
+     .432000000000D+06  .365078449249D-06 -.450941702298D+00  .186264514923D-06
+     .937513704832D+00  .203062500000D+03 -.183926688631D+01 -.819855578847D-08
+     .985755346381D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.186264514923D-08  .357000000000D+03
+     .424806000000D+06  .400000000000D+01
+24 04  6 11  0  0  0.0  .337068922818D-04  .295585778076D-11  .000000000000D+00
+     .490000000000D+02  .846875000000D+01  .434053794369D-08  .241795883152D+01
+     .454485416412D-06  .934538443107D-02  .493042171001D-05  .515365062523D+04
+     .432000000000D+06  .102445483208D-06  .695690856442D+00  .428408384323D-07
+     .969951490647D+00  .287500000000D+03 -.139831027138D+01 -.797426073140D-08
+    -.985755346381D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.139698386192D-08  .305000000000D+03
+     .424806000000D+06  .400000000000D+01
+26 04  6 11  0  0  0.0  .112444628030D-03  .159161572810D-10  .000000000000D+00
+     .154000000000D+03  .106250000000D+02  .416588781166D-08 -.216098657989D+01
+     .258907675743D-06  .155259029707D-01  .802613794804D-05  .515366951561D+04
+     .432000000000D+06  .221654772758D-06  .275233480726D+01 -.223517417908D-06
+     .982261858509D+00  .233656250000D+03  .595641777819D+00 -.779639617977D-08
+     .527521973408D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.605359673500D-08  .410000000000D+03
+     .424806000000D+06  .400000000000D+01
+28 04  6 10 23 59 44.0  .343690626323D-04  .113686837722D-11  .000000000000D+00
+     .180000000000D+02 -.235937500000D+02  .453876048616D-08  .491321958560D-01
+    -.120699405670D-05  .898136338219D-02  .100769102573D-04  .515370171928D+04
+     .431984000000D+06  .279396772385D-07 -.143856536476D+01  .117346644402D-06
+     .958724083003D+00  .181187500000D+03 -.237474966327D+01 -.815462538717D-08
+    -.321441960776D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.102445483208D-07  .180000000000D+02
+     .424806000000D+06  .400000000000D+01
+ 6 04  6 11  0  0  0.0  .997581519186D-04  .612772055320D-10  .000000000000D+00
+     .440000000000D+02  .551875000000D+02  .497520723735D-08  .257513401265D+01
+     .277347862720D-05  .661724456586D-02  .866875052452D-05  .515380148125D+04
+     .432000000000D+06  .540167093277D-07 -.423102908140D+00 -.894069671631D-07
+     .935879331291D+00  .196750000000D+03 -.200806038142D+01 -.815855412224D-08
+     .109647424398D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.465661287308D-08  .300000000000D+03
+     .426306000000D+06  .400000000000D+01
+30 04  6 11  0  0  0.0  .546744558960D-03  .454747350886D-11  .000000000000D+00
+     .770000000000D+02 -.364375000000D+02  .496592113626D-08  .334162964623D+00
+    -.175461173058D-05  .736294989474D-02  .943616032600D-05  .515365303421D+04
+     .432000000000D+06 -.139698386192D-06 -.148015435563D+01  .260770320892D-07
+     .942499723171D+00  .188375000000D+03  .126604065028D+01 -.831606068302D-08
+    -.307155651409D-09  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .000000000000D+00  .000000000000D+00 -.838190317154D-08  .333000000000D+03
+     .426576000000D+06  .400000000000D+01
+10 04  6 11  0  0  0.0  .454178079963D-04  .568434188608D-12  .000000000000D+00
+     .160000000000D+03 -.275625000000D+02  .400766693541D-08 -.513306495424D+00
+    -.123120844364D-05  .607857736759D-02  .887364149094D-05  .515372985268D+04
+     .432000000000D+06  .875443220139D-07  .170667536618D+01 -.372529029846D-08
+     .979919931473D+00  .214406250000D+03  .315735697396D+00 -.793318759196D-08
+    -.525021869268D-10  .100000000000D+01  .127400000000D+04  .000000000000D+00
+     .100000000000D+01  .000000000000D+00 -.232830643654D-08  .416000000000D+03
+     .426816000000D+06  .400000000000D+01
diff --git a/trunk/examples/bahr1620.04o b/trunk/examples/bahr1620.04o
new file mode 100644
index 0000000..b13e04c
--- /dev/null
+++ b/trunk/examples/bahr1620.04o
@@ -0,0 +1,2013 @@
+     2.10           Observation         GPS                 RINEX VERSION / TYPE
+GFW - ROW           NIMA                06/09/2004 23:59:50 PGM / RUN BY / DATE
+Data are thinned (not smoothed) 30s. observations           COMMENT
+BAHR                                                        MARKER NAME
+24901M002                                                   MARKER NUMBER
+NIMA                NATIONAL IMAGERY AND MAPPING AGENCY     OBSERVER / AGENCY
+03215               ASHTECH Z-XII3      1Y07-1DY4           REC # / TYPE / VERS
+11942               ASH700936B_M    SNOW                    ANT # / TYPE
+  3633909.1016  4425275.5033  2799861.2736                  APPROX POSITION XYZ
+        3.122          .0000         .0000                  ANTENNA: DELTA H/E/N
+     1     1                                                WAVELENGTH FACT L1/2
+     9    L1    L2    C1    P1    P2    D1    D2    S1    S2# / TYPES OF OBSERV
+    30                                                      INTERVAL
+  2004     6    10     0     0    0.0000000                 TIME OF FIRST OBS
+                                                            END OF HEADER
+ 04  6 10  0  0  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -4163185.462 7  -3221253.335 7  24236698.057    24236698.474    24236701.852
+     -3468.113       -2702.427          39.020          36.240
+ -24427464.594 9 -19023455.680 8  20576567.763    20576567.469    20576570.973
+      1063.071         828.369          51.180          48.050
+  -9865068.837 8  -7679434.221 7  23523582.258    23523582.877    23523586.029
+      1614.770        1258.271          41.100          37.980
+ -13714338.112 8 -10674627.667 8  22141230.525    22141230.616    22141233.839
+     -2753.216       -2145.357          47.700          44.230
+ -10408234.922 8  -8095254.721 8  23044359.240    23044357.397    23044361.846
+      2504.879        1951.866          41.800          40.060
+ -23488911.056 8 -18291343.413 8  20813497.339    20813496.926    20813501.340
+       478.914         373.188          49.440          49.440
+ -17641408.437 8 -13706556.260 8  21415744.099    21415744.065    21415748.245
+     -2041.643       -1590.884          48.750          45.620
+ -14855795.469 8 -11555992.528 8  22341902.327    22341902.993    22341906.794
+      2784.951        2170.104          43.880          41.800
+ 04  6 10  0  0 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -4059087.096 7  -3140137.736 7  24256507.804    24256507.611    24256511.589
+     -3471.811       -2705.310          39.020          36.930
+ -24459178.263 9 -19048167.598 8  20570533.175    20570532.490    20570536.040
+      1051.116         819.050          51.180          48.050
+  -9913472.595 8  -7717151.405 7  23514371.789    23514372.047    23514375.741
+      1611.953        1256.058          41.450          38.320
+ -13631600.123 8 -10610156.517 8  22156975.177    22156974.844    22156978.190
+     -2762.645       -2152.706          48.050          43.880
+ -10483278.807 8  -8153730.450 7  23030076.498    23030076.033    23030080.925
+      2497.996        1946.494          41.800          39.710
+ -23503033.838 8 -18302348.127 8  20810810.119    20810809.521    20810813.766
+       462.668         360.519          49.790          49.440
+ -17579962.756 8 -13658676.501 8  21427437.094    21427436.869    21427440.800
+     -2054.760       -1601.111          49.090          45.620
+ -14939283.527 8 -11621048.282 8  22326015.198    22326016.070    22326019.608
+      2780.878        2166.927          44.230          41.800
+ 04  6 10  0  1  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -3954880.768 7  -3058937.999 7  24276336.440    24276336.709    24276340.667
+     -3475.320       -2708.035          39.020          37.280
+ -24490534.029 9 -19072600.622 8  20564565.705    20564565.273    20564569.484
+      1039.150         809.732          51.530          48.050
+  -9961794.444 8  -7754804.765 7  23505175.701    23505176.983    23505180.637
+      1609.241        1253.958          42.150          38.320
+ -13548582.650 8 -10545467.571 8  22172772.495    22172772.304    22172775.825
+     -2771.912       -2159.927          48.050          43.880
+ -10558116.957 8  -8212045.888 7  23015835.408    23015834.794    23015839.985
+      2491.111        1941.127          42.150          39.710
+ -23516673.014 8 -18312975.994 8  20808214.218    20808213.854    20808218.313
+       446.573         347.981          49.790          49.440
+ -17518126.421 8 -13610492.326 8  21439203.405    21439203.719    21439207.963
+     -2067.731       -1611.214          49.090          45.620
+ -15022650.471 8 -11686009.702 8  22310151.305    22310151.892    22310155.436
+      2776.792        2163.745          44.580          41.800
+ 04  6 10  0  1 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -3850568.976 7  -2977656.130 7  24296186.423    24296187.492    24296190.129
+     -3478.627       -2710.621          38.670          36.240
+ -24521529.582 9 -19096752.962 8  20558667.335    20558667.087    20558671.051
+      1027.247         800.451          51.530          48.050
+ -10010034.392 8  -7792394.339 7  23495994.615    23495996.685    23496000.252
+      1606.624        1251.925          42.150          38.320
+ -13465288.421 8 -10480562.982 8  22188622.847    22188622.815    22188626.314
+     -2780.955       -2166.977          48.050          43.880
+ -10632745.927 8  -8270198.318 7  23001634.211    23001633.753    23001638.089
+      2484.232        1935.761          42.490          39.370
+ -23529828.346 8 -18323226.840 8  20805710.772    20805710.339    20805714.756
+       430.565         335.502          49.790          49.090
+ -17455901.809 8 -13562005.607 8  21451044.769    21451044.465    21451048.903
+     -2080.526       -1621.190          49.090          45.270
+ -15105893.880 8 -11750874.855 8  22294310.448    22294310.950    22294315.123
+      2772.792        2160.618          44.580          42.150
+ 04  6 10  0  2  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -3746154.712 7  -2896294.345 7  24316058.107    24316056.506    24316059.978
+     -3482.202       -2713.401          39.710          36.240
+ -24552163.517 9 -19120623.491 8  20552838.525    20552837.638    20552841.435
+      1015.068         790.957          51.530          48.050
+ -10058193.532 8  -7829920.986 7  23486832.192    23486833.423    23486837.438
+      1603.859        1249.758          42.490          39.370
+ -13381720.535 8 -10415445.153 8  22204525.246    22204525.196    22204528.392
+     -2790.129       -2174.131          47.700          43.540
+ -10707162.597 8  -8328185.359 7  22987473.898    22987472.871    22987476.374
+      2476.995        1930.123          42.490          39.370
+ -23542500.390 9 -18333101.092 8  20803299.604    20803299.120    20803303.267
+       414.377         322.888          50.140          49.440
+ -17393291.550 8 -13513218.387 8  21462959.004    21462958.848    21462963.153
+     -2093.410       -1631.232          48.750          45.620
+ -15189012.000 8 -11815642.338 8  22278493.913    22278494.310    22278498.041
+      2768.486        2157.266          44.580          42.150
+ 04  6 10  0  2 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -3641640.036 7  -2814854.378 7  24335944.491    24335944.206    24335948.388
+     -3485.495       -2715.970          39.020          36.590
+ -24582433.784 9 -19144210.641 8  20547078.149    20547077.403    20547081.180
+      1002.921         781.489          51.530          48.050
+ -10106272.729 8  -7867385.301 7  23477682.127    23477683.516    23477687.383
+      1601.209        1247.697          42.490          39.020
+ -13297881.852 8 -10350116.301 8  22220478.554    22220478.809    22220482.260
+     -2799.097       -2181.115          47.360          43.190
+ -10781363.627 8  -8386004.345 7  22973353.013    22973352.246    22973357.451
+      2469.736        1924.470          42.490          39.370
+ -23554688.968 9 -18342598.612 8  20800979.571    20800979.415    20800983.994
+       398.272         310.339          50.140          49.440
+ -17330298.044 8 -13464132.539 8  21474946.061    21474946.084    21474950.412
+     -2106.135       -1641.147          48.750          45.270
+ -15272002.689 8 -11880310.541 8  22262701.523    22262702.112    22262705.616
+      2764.197        2153.921          44.580          41.800
+ 04  6 10  0  3  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -3537027.580 7  -2733338.168 7  24355851.963    24355852.759    24355855.611
+     -3488.677       -2718.451          39.710          36.590
+ -24612338.458 9 -19167512.918 8  20541387.361    20541386.736    20541390.598
+       990.708         771.974          51.530          48.400
+ -10154271.856 8  -7904787.243 7  23468547.612    23468549.286    23468553.709
+      1598.524        1245.606          42.490          39.020
+ -13213775.125 8 -10284578.585 8  22236484.068    22236483.919    22236487.588
+     -2807.994       -2188.049          47.360          43.540
+ -10855345.705 8  -8443652.707 8  22959274.653    22959273.978    22959279.346
+      2462.366        1918.731          42.490          40.060
+ -23566394.433 9 -18351719.690 8  20798752.644    20798752.034    20798756.484
+       382.170         297.790          50.140          49.440
+ -17266923.723 8 -13414749.943 8  21487005.944    21487005.874    21487009.874
+     -2118.819       -1651.037          48.750          45.270
+ -15354863.587 8 -11944877.596 8  22246933.837    22246934.156    22246937.962
+      2759.842        2150.524          44.580          41.800
+ 04  6 10  0  3 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -3432320.019 7  -2651747.844 7  24375777.704    24375777.468    24375779.825
+     -3491.829       -2720.903          39.710          35.200
+ -24641875.856 9 -19190528.986 8  20535765.926    20535765.672    20535769.683
+       978.380         762.375          51.530          48.050
+ -10202192.402 8  -7942127.919 7  23459428.194    23459429.401    23459434.559
+      1595.822        1243.501          42.490          39.020
+ -13129403.419 8 -10218834.395 8  22252539.561    22252539.299    22252543.015
+     -2816.813       -2194.913          47.010          43.540
+ -10929105.291 8  -8501127.683 7  22945238.609    22945238.004    22945243.012
+      2454.870        1912.891          42.490          39.710
+ -23577616.798 9 -18360464.325 8  20796616.736    20796616.434    20796620.685
+       366.046         285.235          50.140          49.440
+ -17203171.112 8 -13365072.571 8  21499137.697    21499137.540    21499142.016
+     -2131.437       -1660.855          48.750          45.270
+ -15437592.757 8 -12009341.981 8  22231191.925    22231191.265    22231195.199
+      2755.361        2147.047          44.930          42.150
+ 04  6 10  0  4  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -3327519.862 7  -2570085.377 7  24395720.512    24395720.060    24395723.836
+     -3494.925       -2723.310          39.020          35.200
+ -24671044.133 9 -19213257.416 8  20530215.710    20530215.179    20530218.914
+       966.044         752.760          51.530          48.400
+ -10250033.979 8  -7979407.056 7  23450324.791    23450325.204    23450330.636
+      1593.297        1241.536          42.150          39.370
+ -13044769.881 8 -10152886.179 8  22268644.447    22268644.427    22268648.069
+     -2825.498       -2201.686          47.010          43.540
+ -11002639.413 8  -8558426.984 7  22931246.472    22931245.162    22931249.293
+      2447.284        1906.976          42.490          39.710
+ -23588356.283 9 -18368832.700 8  20794573.805    20794572.926    20794577.085
+       349.916         272.660          50.140          49.440
+ -17139042.560 8 -13315102.270 8  21511340.677    21511340.628    21511345.420
+     -2143.914       -1670.583          48.400          45.620
+ -15520187.985 8 -12073701.998 8  22215473.993    22215474.509    22215478.030
+      2750.864        2143.534          45.270          42.150
+ 04  6 10  0  4 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -3222629.265 7  -2488352.514 7  24415680.047    24415679.894    24415684.444
+     -3497.781       -2725.553          38.320          36.930
+ -24699841.692 9 -19235697.026 8  20524736.153    20524735.328    20524739.025
+       953.733         743.164          51.530          48.050
+ -10297798.298 8  -8016626.030 7  23441236.663    23441236.469    23441241.133
+      1590.780        1239.568          42.150          39.020
+ -12959877.364 8 -10086736.182 8  22284798.963    22284799.255    22284802.909
+     -2834.026       -2208.339          47.010          43.540
+ -11075944.891 8  -8615548.152 7  22917296.188    22917295.503    22917300.415
+      2439.665        1901.028          42.840          39.710
+ -23598613.145 9 -18376825.023 8  20792621.412    20792620.764    20792625.064
+       333.863         260.147          50.140          49.090
+ -17074540.645 8 -13264841.068 8  21523615.496    21523615.091    21523619.512
+     -2156.232       -1680.187          48.400          45.270
+ -15602647.181 8 -12137956.012 8  22199782.472    22199782.915    22199786.265
+      2746.366        2140.025          45.620          41.800
+ 04  6 10  0  5  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -3117651.165 7  -2406551.442 7  24435656.715    24435657.065    24435660.377
+     -3500.725       -2727.851          38.670          36.590
+ -24728266.732 9 -19257846.361 8  20519326.766    20519326.124    20519329.880
+       941.197         733.396          51.530          48.400
+ -10345485.323 8  -8053784.746 7  23432161.537    23432161.329    23432166.942
+      1588.106        1237.477          42.150          39.370
+ -12874728.761 8 -10020386.613 8  22301003.110    22301002.669    22301006.202
+     -2842.559       -2214.986          47.360          43.540
+ -11149018.171 8  -8672488.350 8  22903390.717    22903390.191    22903395.499
+      2431.807        1894.912          42.840          40.060
+ -23608387.684 9 -18384441.509 8  20790761.471    20790760.935    20790765.164
+       317.747         247.591          50.140          49.440
+ -17009667.859 8 -13214290.836 8  21535959.816    21535960.055    21535964.190
+     -2168.648       -1689.855          48.400          45.270
+ -15684968.184 8 -12202102.314 8  22184117.527    22184117.725    22184121.553
+      2741.659        2136.359          45.270          41.800
+ 04  6 10  0  5 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -3012587.718 7  -2324683.792 7  24455649.709    24455648.975    24455653.283
+     -3503.597       -2730.066          37.980          35.890
+ -24756317.662 9 -19279704.186 8  20513988.253    20513988.052    20513991.903
+       928.668         723.639          51.530          48.400
+ -10393095.647 8  -8090883.664 7  23423102.980    23423102.128    23423106.466
+      1585.528        1235.476          41.800          39.020
+ -12789327.067 8  -9953839.801 8  22317253.913    22317253.937    22317257.360
+     -2851.011       -2221.565          47.360          43.190
+ -11221855.995 8  -8729245.060 7  22889530.622    22889529.629    22889533.782
+      2423.825        1888.695          42.840          39.710
+ -23617680.086 9 -18391682.289 8  20788993.287    20788992.587    20788996.927
+       301.615         235.025          50.140          49.440
+ -16944426.475 8 -13163453.365 8  21548375.879    21548375.158    21548379.641
+     -2180.929       -1699.428          48.750          45.270
+ -15767148.922 8 -12266139.266 8  22168479.903    22168479.680    22168482.772
+      2736.885        2132.640          45.620          42.150
+ 04  6 10  0  6  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -2907441.727 7  -2242751.861 7  24475659.513    24475659.246    24475662.161
+     -3506.208       -2732.112          38.670          36.590
+ -24783992.469 9 -19301268.972 8  20508724.060    20508722.148    20508725.511
+       916.166         713.890          51.530          48.400
+ -10440630.175 8  -8127923.529 7  23414055.073    23414055.574    23414060.070
+      1583.122        1233.592          41.800          38.670
+ -12703675.285 8  -9887098.131 8  22333552.921    22333553.092    22333556.543
+     -2859.224       -2227.974          47.700          43.540
+ -11294454.965 8  -8785815.657 8  22875714.772    22875713.981    22875719.297
+      2415.902        1882.519          42.840          40.060
+ -23626490.694 9 -18398547.670 8  20787316.689    20787315.953    20787320.270
+       285.639         222.572          50.140          49.440
+ -16878819.537 8 -13112331.058 8  21560859.580    21560859.733    21560864.182
+     -2193.016       -1708.845          48.750          45.620
+ -15849187.255 8 -12330065.240 8  22152867.894    22152868.270    22152871.811
+      2732.188        2128.972          45.620          42.840
+ 04  6 10  0  6 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -2802215.428 7  -2160757.360 7  24495682.608    24495682.590    24495686.116
+     -3508.866       -2734.187          39.370          36.240
+ -24811289.546 9 -19322539.418 8  20503526.973    20503527.224    20503531.148
+       903.573         704.080          51.870          48.050
+ -10488089.678 8  -8164904.945 7  23405024.388    23405024.976    23405029.432
+      1580.591        1231.628          41.450          38.670
+ -12617776.367 8  -9820163.903 8  22349899.045    22349899.032    22349902.253
+     -2867.389       -2234.330          47.700          43.190
+ -11366811.883 8  -8842197.654 7  22861945.614    22861945.363    22861950.180
+      2407.811        1876.217          42.840          39.710
+ -23634819.637 9 -18405037.746 8  20785731.551    20785731.009    20785735.190
+       269.648         210.114          50.140          49.090
+ -16812849.176 8 -13060925.580 8  21573413.546    21573413.508    21573417.527
+     -2205.070       -1718.240          48.750          45.270
+ -15931080.947 8 -12393878.457 8  22137283.658    22137284.094    22137287.643
+      2727.319        2125.179          45.270          42.490
+ 04  6 10  0  7  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -2696911.374 7  -2078702.284 7  24515720.606    24515720.818    24515724.475
+     -3511.394       -2736.160          37.980          35.200
+ -24838207.023 9 -19343514.087 8  20498405.929    20498405.108    20498408.897
+       890.865         694.174          51.530          48.400
+ -10535474.770 8  -8201828.360 7  23396009.012    23396007.803    23396012.631
+      1578.150        1229.725          41.800          39.370
+ -12531633.169 8  -9753039.313 8  22366292.075    22366291.571    22366294.581
+     -2875.524       -2240.677          47.700          43.190
+ -11438923.479 8  -8898388.496 7  22848224.603    22848223.135    22848227.185
+      2399.564        1869.776          43.190          39.710
+ -23642667.382 9 -18411152.858 8  20784238.029    20784237.505    20784241.739
+       253.573         197.581          50.140          49.440
+ -16746518.383 8 -13009239.248 8  21586036.004    21586035.991    21586039.944
+     -2217.067       -1727.588          48.750          45.270
+ -16012827.930 8 -12457577.353 8  22121727.997    22121728.236    22121731.549
+      2722.371        2121.320          45.270          42.150
+ 04  6 10  0  7 30.0000000  0  9G 4G 5G 6G 9G10G17G21G24G30           .000000000
+  -2591531.891 7  -1996588.344 7  24535773.686    24535774.219    24535777.718
+     -3513.918       -2738.111          39.370          35.200
+ -24864742.740 9 -19364191.292 8  20493356.001    20493355.693    20493359.356
+       878.091         684.229          51.870          48.400
+ -10582785.345 8  -8238693.728 7  23387004.700    23387004.770    23387009.412
+      1575.690        1227.811          41.800          38.670
+ -12445248.650 8  -9685726.686 8  22382730.007    22382729.822    22382733.310
+     -2883.515       -2246.894          47.360          43.190
+ -11510786.440 8  -8954385.582 7  22834548.154    22834547.670    22834551.977
+      2391.218        1863.283          42.840          39.710
+ -23650034.146 8 -18416893.194 8  20782836.111    20782835.712    20782839.922
+       237.549         185.103          49.790          49.090
+   -312675.16419    -83103.99815          .00077  25878564.8171   25913429.4001
+      3360.4661       2621.3991        651.3101         11.9201
+ -16679829.235 8 -12957273.672 8  21598725.936    21598726.100    21598730.320
+     -2228.982       -1736.867          48.750          44.930
+ -16094425.880 8 -12521160.117 8  22106200.613    22106200.807    22106204.327
+      2717.370        2117.432          45.620          42.150
+ 04  6 10  0  8  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -2486079.692 7  -1914417.835 7  24555838.901    24555840.012    24555844.866
+     -3516.128       -2739.854          37.980          35.890
+ -24890895.231 9 -19384569.886 8  20488380.713    20488379.330    20488382.578
+       865.438         674.371          51.870          48.400
+ -10630023.075 8  -8275502.315 7  23378016.550    23378016.347    23378020.960
+      1573.345        1225.982          41.800          39.020
+ -12358626.030 8  -9618228.533 8  22399212.972    22399213.054    22399217.003
+     -2891.293       -2252.955          47.010          43.190
+ -11582397.574 8  -9010186.449 8  22820921.943    22820921.042    22820925.084
+      2382.867        1856.778          43.190          40.060
+ -23656920.266 8 -18422259.009 8  20781526.001    20781525.270    20781529.409
+       221.664         172.727          49.790          49.440
+ -16612784.388 8 -12905030.927 8  21611484.694    21611484.289    21611488.572
+     -2240.647       -1745.964          48.400          44.930
+ -16175872.801 8 -12584625.178 8  22090702.525    22090702.083    22090705.526
+      2712.428        2113.582          45.620          42.840
+ 04  6 10  0  8 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -2380556.844 7  -1832192.276 7  24575921.517    24575922.138    24575924.838
+     -3518.528       -2741.711          38.320          36.590
+ -24916662.887 9 -19404648.590 8  20483475.331    20483475.139    20483479.205
+       852.499         664.287          51.870          48.400
+ -10677187.941 8  -8312254.129 7  23369040.545    23369040.692    23369045.512
+      1570.899        1224.083          41.800          38.670
+ -12271768.141 8  -9550547.059 8  22415741.370    22415741.904    22415745.349
+     -2899.139       -2259.059          46.660          42.840
+ -11653753.399 8  -9065788.363 8  22807342.426    22807341.834    22807346.690
+      2374.258        1850.073          42.840          40.060
+ -23663326.278 9 -18427250.711 8  20780307.006    20780306.400    20780310.459
+       205.603         160.213          50.140          49.440
+ -16545386.183 8 -12852512.841 8  21624309.901    21624309.910    21624314.517
+     -2252.457       -1755.160          48.400          45.270
+ -16257166.403 8 -12647970.759 8  22075231.195    22075232.022    22075235.548
+      2707.196        2109.501          45.620          42.490
+ 04  6 10  0  9  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -2274966.256 7  -1749913.869 7  24596015.978    24596013.804    24596017.283
+     -3520.868       -2743.530          38.670          35.540
+ -24942044.093 9 -19424426.152 8  20478644.823    20478645.226    20478649.450
+       839.511         654.169          51.870          48.400
+ -10724281.213 8  -8348950.157 7  23360079.827    23360079.322    23360083.691
+      1568.434        1222.162          42.150          39.020
+ -12184678.167 8  -9482684.727 8  22432314.280    22432314.235    22432318.089
+     -2906.884       -2265.102          46.310          42.840
+ -11724850.826 8  -9121188.937 8  22793813.921    22793812.537    22793817.671
+      2365.508        1843.256          42.840          40.410
+ -23669252.485 9 -18431868.533 8  20779179.513    20779178.541    20779182.762
+       189.519         147.684          50.140          49.440
+ -16477637.276 8 -12799721.479 8  21637202.053    21637201.712    21637206.469
+     -2264.207       -1764.310          48.400          44.930
+ -16338304.744 8 -12711195.379 8  22059792.039    22059791.985    22059794.791
+      2701.931        2105.409          45.970          42.150
+ 04  6 10  0  9 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -2169310.021 7  -1667584.388 7  24616119.949    24616119.535    24616123.294
+     -3523.054       -2745.238          37.280          34.850
+ -24967036.969 9 -19443901.139 8  20473891.761    20473890.452    20473893.346
+       826.462         643.994          51.870          48.400
+ -10771302.718 8  -8385590.248 7  23351130.627    23351131.193    23351135.711
+      1566.003        1220.260          42.150          39.020
+ -12097358.990 8  -9414643.810 8  22448930.807    22448930.648    22448934.138
+     -2914.571       -2271.101          46.310          42.840
+ -11795686.595 8  -9176385.616 8  22780333.547    22780332.919    22780337.836
+      2356.671        1836.358          43.190          40.410
+ -23674699.220 8 -18436112.743 8  20778142.642    20778142.106    20778146.266
+       173.442         135.144          49.790          49.440
+ -16409540.001 8 -12746658.670 8  21650161.384    21650160.621    21650164.800
+     -2275.823       -1773.372          48.400          44.930
+ -16419285.347 8 -12774297.088 8  22044380.303    22044381.548    22044385.230
+      2696.529        2101.183          45.970          42.490
+ 04  6 10  0 10  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -2063590.655 7  -1585205.673 7  24636238.914    24636238.815    24636241.394
+     -3525.001       -2746.762          38.320          35.200
+ -24991639.941 9 -19463072.302 8  20469210.176    20469208.594    20469211.648
+       813.563         633.945          51.870          48.400
+ -10818253.745 8  -8422175.423 7  23342197.763    23342197.289    23342201.801
+      1563.734        1218.492          42.490          39.020
+ -12009813.537 8  -9346426.564 8  22465591.015    22465590.496    22465593.828
+     -2921.925       -2276.831          46.660          42.840
+ -11866257.320 8  -9231375.772 8  22766905.010    22766904.188    22766908.728
+      2347.885        1829.523          43.190          40.410
+ -23679666.828 8 -18439983.596 8  20777197.266    20777196.621    20777200.988
+       157.639         122.832          49.790          49.440
+ -16341097.279 8 -12693326.678 8  21663184.426    21663184.583    21663189.041
+     -2287.176       -1782.218          48.050          44.930
+ -16500106.060 8 -12837274.184 8  22029002.113    22029001.950    22029005.532
+      2691.328        2097.131          45.620          42.840
+ 04  6 10  0 10 30.0000000  0  9G 4G 5G 6G 9G10G17G21G24G30           .000000000
+  -1957810.385 7  -1502779.458 7  24656367.093    24656367.274    24656370.825
+     -3527.037       -2748.359          38.670          33.810
+ -25015851.304 9 -19481938.301 8  20464600.330    20464600.429    20464604.448
+       800.495         623.758          51.870          48.400
+ -10865134.471 8  -8458705.815 7  23333276.202    23333276.209    23333279.894
+      1561.436        1216.699          42.490          38.320
+ -11922044.966 8  -9278035.470 8  22482291.916    22482292.173    22482295.456
+     -2929.296       -2282.573          46.660          42.490
+ -11936559.809 8  -9286156.909 8  22753526.305    22753525.844    22753530.515
+      2338.895        1822.506          43.190          40.060
+ -23684155.788 8 -18443481.471 8  20776343.160    20776342.502    20776346.679
+       141.714         110.423          49.790          49.090
+   -116519.21019    -50137.11019          .00077  25763644.4921   25764297.1491
+      3349.4461       2609.3501        651.3101        651.3101
+ -16272311.507 8 -12639727.369 8  21676274.579    21676274.225    21676278.649
+     -2298.548       -1791.081          48.050          44.930
+ -16580764.771 8 -12900125.034 8  22013652.795    22013652.820    22013656.632
+      2685.877        2092.879          45.970          42.840
+ 04  6 10  0 11  0.0000000  0  9G 4G 5G 6G 9G10G17G21G24G30           .000000000
+  -1851971.917 7  -1420307.937 7  24676507.289    24676506.956    24676511.587
+     -3528.861       -2749.772          38.320          35.200
+ -25039669.229 9 -19500497.729 8  20460067.783    20460067.975    20460071.869
+       787.369         613.529          51.870          48.400
+ -10911945.587 8  -8495181.990 7  23324368.011    23324367.402    23324372.528
+      1559.131        1214.902          42.840          38.670
+ -11834055.964 8  -9209472.596 8  22499036.063    22499035.883    22499038.889
+     -2936.595       -2288.261          47.010          42.490
+ -12006590.689 8  -9340726.397 8  22740200.050    22740199.267    22740203.929
+      2329.799        1815.425          43.190          40.410
+ -23688166.542 8 -18446606.721 8  20775579.770    20775579.373    20775583.427
+       125.746          97.980          49.790          49.440
+   -216970.33019    -61881.44219          .00077  25744529.2691   25761429.0591
+      3347.3691       2609.9791        651.3101        651.3101
+ -16203185.162 8 -12585862.676 8  21689427.962    21689428.420    21689432.676
+     -2309.871       -1799.899          48.050          44.580
+ -16661259.077 8 -12962847.807 8  21998334.396    21998335.499    21998338.483
+      2680.366        2088.593          45.970          42.490
+ 04  6 10  0 11 30.0000000  0  9G 4G 5G 6G 9G10G17G21G24G30           .000000000
+  -1746077.424 7  -1337792.725 7  24696658.337    24696659.089    24696662.195
+     -3530.667       -2751.175          38.670          35.890
+ -25063092.231 9 -19518749.427 8  20455612.051    20455611.147    20455614.810
+       774.190         603.262          51.870          48.400
+ -10958687.883 8  -8531604.498 7  23315473.518    23315473.687    23315477.663
+      1556.809        1213.089          43.190          38.670
+ -11745849.851 8  -9140740.543 8  22515821.130    22515820.624    22515824.552
+     -2943.771       -2293.854          46.660          42.490
+ -12076346.967 8  -9395081.910 8  22726926.509    22726925.275    22726930.195
+      2320.612        1808.260          43.190          40.410
+ -23691699.790 8 -18449359.884 8  20774907.090    20774906.978    20774911.159
+       109.916          85.645          49.790          49.090
+   -317359.285 9    -61881.44219          .00077  25725425.874    25761429.0591
+      3345.333        2609.9791        651.310         651.3101
+ -16133720.999 8 -12531734.745 8  21702647.672    21702647.121    21702651.532
+     -2321.078       -1808.638          48.050          44.930
+ -16741587.129 8 -13025441.020 8  21983048.731    21983049.076    21983052.968
+      2674.874        2084.314          45.970          42.490
+ 04  6 10  0 12  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -1640129.273 7  -1255235.739 7  24716818.283    24716819.884    24716823.950
+     -3532.413       -2752.516          37.980          35.890
+ -25086118.544 9 -19536692.014 8  20451230.445    20451229.702    20451232.950
+       760.916         592.924          51.870          48.400
+ -11005361.417 8  -8567973.412 7  23306590.775    23306591.187    23306595.333
+      1554.538        1211.329          42.840          38.320
+ -11657429.367 8  -9071841.459 8  22532647.492    22532646.756    22532649.853
+     -2950.899       -2299.404          46.660          42.490
+ -12145824.939 8  -9449220.568 8  22713704.353    22713703.593    22713708.322
+      2311.258        1800.981          43.190          40.410
+ -23694755.834 8 -18451741.198 8  20774325.519    20774325.273    20774329.498
+        93.944          73.207          49.790          49.440
+ -16063921.068 8 -12477345.172 8  21715929.927    21715929.743    21715933.926
+     -2332.213       -1817.310          48.050          44.930
+ -16821746.193 8 -13087902.563 8  21967795.341    21967796.095    21967799.433
+      2669.130        2079.844          46.310          43.540
+ 04  6 10  0 12 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -1534130.047 7  -1172638.973 7  24736989.678    24736990.917    24736995.165
+     -3534.136       -2753.876          36.930          35.890
+ -25108746.813 9 -19554324.435 8  20446925.434    20446923.892    20446926.872
+       747.591         582.537          51.870          48.400
+ -11051967.913 8  -8604290.093 7  23297722.930    23297721.937    23297726.270
+      1552.303        1209.579          42.840          37.980
+ -11568797.726 8  -9002777.833 8  22549511.981    22549512.511    22549516.357
+     -2957.899       -2304.857          46.310          42.490
+ -12215021.870 8  -9503140.237 8  22700536.744    22700536.224    22700540.306
+      2301.780        1793.591          43.540          40.410
+ -23697335.376 8 -18453751.216 8  20773835.183    20773834.657    20773838.754
+        78.025          60.796          49.790          49.090
+ -15993788.746 8 -12422696.606 8  21729276.164    21729275.377    21729279.613
+     -2343.296       -1825.947          48.050          44.580
+ -16901734.518 8 -13150231.060 8  21952574.196    21952574.433    21952577.973
+      2663.349        2075.329          46.660          43.190
+ 04  6 10  0 13  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -1428081.965 7  -1090004.132 7  24757171.739    24757171.375    24757174.517
+     -3535.687       -2755.080          36.930          34.850
+ -25130975.050 9 -19571645.130 8  20442693.476    20442693.187    20442697.122
+       734.319         572.199          51.870          48.400
+ -11098506.903 8  -8640554.155 7  23288867.178    23288866.718    23288870.249
+      1550.157        1207.911          42.840          38.670
+ -11479957.683 8  -8933551.824 8  22566418.699    22566418.386    22566422.160
+     -2964.711       -2310.163          46.310          42.840
+ -12283934.157 8  -9556838.102 8  22687424.204    22687422.774    22687427.140
+      2292.328        1786.235          43.540          40.410
+ -23699438.865 8 -18455390.288 8  20773434.891    20773434.130    20773438.489
+        62.255          48.511          49.790          49.440
+ -15923326.233 8 -12367790.735 8  21742684.013    21742684.088    21742688.348
+     -2354.180       -1834.427          48.050          44.930
+ -16981549.621 8 -13212424.585 8  21937385.426    21937385.712    21937389.196
+      2657.653        2070.899          45.970          42.840
+ 04  6 10  0 13 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -1321987.513 7  -1007333.107 7  24777359.042    24777360.512    24777363.698
+     -3537.174       -2756.235          38.320          35.200
+ -25152801.520 9 -19588652.756 8  20438538.791    20438539.336    20438543.785
+       720.860         561.710          51.870          48.400
+ -11144979.751 8  -8676766.665 7  23280021.500    23280022.326    23280026.598
+      1547.860        1206.128          42.490          38.670
+ -11390912.168 8  -8864165.690 8  22583362.962    22583363.082    22583366.466
+     -2971.576       -2315.515          46.310          42.150
+ -12352558.426 8  -9610311.535 8  22674364.030    22674363.480    22674368.682
+      2282.685        1778.711          43.540          40.410
+ -23701066.622 8 -18456658.654 8  20773124.762    20773124.438    20773128.661
+        46.425          36.175          49.790          49.090
+ -15852535.838 8 -12312629.377 8  21756154.631    21756154.860    21756159.319
+     -2365.111       -1842.941          48.050          44.580
+ -17061189.117 8 -13274481.291 8  21922231.692    21922231.286    21922233.940
+      2651.720        2066.281          45.970          42.490
+ 04  6 10  0 14  0.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -1215848.745 7   -924627.607 7  24797555.428    24797557.789    24797562.313
+     -3538.566       -2757.335          37.630          34.500
+ -25174224.772 9 -19605346.221 8  20434464.569    20434463.261    20434467.052
+       707.455         551.263          51.870          48.750
+ -11191386.772 8  -8712927.942 7  23271190.892    23271191.375    23271195.675
+      1545.821        1204.539          42.150          39.020
+ -11301664.378 8  -8794621.974 8  22600346.158    22600346.492    22600350.106
+     -2978.188       -2320.667          46.310          42.490
+ -12420891.791 8  -9663558.327 8  22661361.286    22661360.563    22661364.298
+      2272.969        1771.142          43.880          40.410
+ -23702219.449 8 -18457556.976 8  20772905.385    20772904.984    20772909.216
+        30.627          23.864          49.790          49.440
+ -15781420.341 8 -12257214.728 8  21769687.726    21769687.553    21769692.543
+     -2375.831       -1851.295          48.050          44.930
+ -17140651.042 8 -13336399.675 8  21907108.641    21907109.552    21907113.367
+      2645.820        2061.677          46.310          43.190
+ 04  6 10  0 14 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+  -1109668.190 7   -841889.529 7  24817763.448    24817763.918    24817766.574
+     -3540.006       -2758.448          37.630          34.150
+ -25195243.033 9 -19621724.080 8  20430464.883    20430463.845    20430467.295
+       693.805         540.623          51.870          48.400
+ -11237728.557 8  -8749038.328 7  23262372.494    23262372.197    23262377.884
+      1543.494        1202.718          42.150          39.370
+ -11212217.142 8  -8724922.835 8  22617367.838    22617367.463    22617371.216
+     -2984.890       -2325.899          45.970          42.490
+ -12488930.835 8  -9716575.747 8  22648413.908    22648412.889    22648417.475
+      2263.016        1763.381          43.880          40.410
+ -23702897.973 8 -18458085.687 8  20772776.217    20772775.882    20772780.065
+        14.724          11.472          49.790          49.090
+ -15709982.310 8 -12201548.717 8  21783282.378    21783282.104    21783286.452
+     -2386.642       -1859.722          48.050          44.580
+ -17219933.003 8 -13398177.790 8  21892022.345    21892022.715    21892026.601
+      2639.680        2056.886          45.970          43.190
+ 04  6 10  0 15  0.0000000  0  9G 4G 5G 6G 9G10G17G21G24G30           .000000000
+  -1003448.284 7   -759120.706 7  24837977.955    24837976.769    24837979.527
+     -3541.377       -2759.508          37.980          34.500
+ -25215855.011 9 -19637785.316 8  20426542.454    20426541.460    20426544.923
+       680.188         530.022          51.870          48.750
+ -11284005.660 8  -8785098.317 7  23253567.508    23253566.686    23253572.181
+      1541.339        1201.042          42.150          39.710
+ -11122573.772 8  -8655070.818 8  22634426.507    22634426.302    22634429.904
+     -2991.383       -2330.941          45.970          42.150
+ -12556672.411 8  -9769361.341 8  22635522.471    22635521.989    22635527.219
+      2252.991        1755.582          43.880          41.100
+ -23703102.709 8 -18458245.188 8  20772737.264    20772736.962    20772741.134
+        -1.094           -.846          49.790          49.440
+   -103122.87219    -42063.50219          .00077  25592062.7451   25594597.3641
+      3328.7991       2594.1301        651.3101        651.3101
+ -15638224.461 8 -12145633.485 8  21796936.840    21796936.700    21796941.420
+     -2397.306       -1868.024          48.050          44.580
+ -17299032.836 8 -13459813.970 8  21876970.992    21876970.988    21876973.790
+      2633.538        2052.114          46.310          42.840
+ 04  6 10  0 15 30.0000000  0  9G 4G 5G 6G 9G10G17G21G24G30           .000000000
+   -897191.203 7   -676323.007 7  24858196.840    24858195.613    24858200.037
+     -3542.589       -2760.449          36.930          35.200
+ -25236058.836 9 -19653528.530 8  20422696.371    20422696.352    20422700.206
+       666.571         519.411          51.870          48.400
+ -11330218.952 8  -8821108.605 7  23244771.447    23244771.850    23244777.076
+      1539.210        1199.385          42.150          39.710
+ -11032737.142 8  -8585068.240 8  22651522.451    22651521.770    22651525.005
+     -2997.799       -2335.943          45.970          42.150
+ -12624113.318 8  -9821912.666 8  22622690.010    22622688.518    22622693.228
+      2242.912        1747.724          43.880          40.760
+ -23702834.471 8 -18458036.161 8  20772788.438    20772787.870    20772792.186
+       -16.849         -13.124          49.790          49.090
+   -202951.375 9    -42063.50219          .00077  25573066.000    25594597.3641
+      3326.228        2594.1301        651.310         651.3101
+ -15566149.201 8 -12089470.939 8  21810652.739    21810652.406    21810656.855
+     -2407.828       -1876.224          48.050          44.580
+ -17377948.149 8 -13521306.414 8  21861953.469    21861953.625    21861956.684
+      2627.341        2047.283          46.660          42.840
+ 04  6 10  0 16  0.0000000  0  9G 4G 5G 6G 9G10G17G21G24G30           .000000000
+   -790899.036 7   -593497.973 7  24878424.700    24878423.200    24878426.672
+     -3543.706       -2761.331          36.930          35.890
+ -25255853.028 9 -19668952.553 8  20418929.983    20418929.534    20418933.421
+       652.896         508.744          51.530          48.400
+ -11376368.569 8  -8857069.301 8  23235991.092    23235990.918    23235995.932
+      1537.134        1197.765          42.490          40.060
+ -10942709.763 8  -8514917.038 8  22668654.085    22668653.678    22668656.920
+     -3004.100       -2340.865          46.310          42.490
+ -12691250.254 8  -9874227.144 8  22609913.193    22609913.008    22609917.640
+      2232.729        1739.784          43.880          41.100
+ -23702093.450 8 -18457458.733 8  20772929.790    20772929.021    20772933.185
+       -32.599         -25.405          49.790          49.090
+   -302702.153 9    -42063.50219          .00077  25554084.048    25594597.3641
+      3323.639        2594.1301        651.310         651.3101
+ -15493759.237 8 -12033063.167 8  21824428.212    21824427.647    21824432.102
+     -2418.292       -1884.386          47.700          44.580
+ -17456676.468 8 -13582653.116 8  21846971.594    21846972.215    21846975.557
+      2621.062        2042.379          46.660          43.540
+ 04  6 10  0 16 30.0000000  0  8G 4G 5G 6G 9G10G17G24G30              .000000000
+   -684574.495 7   -510647.693 7  24898655.865    24898656.661    24898660.084
+     -3544.645       -2762.055          37.630          35.200
+ -25275236.154 9 -19684056.274 8  20415241.740    20415241.120    20415244.977
+       639.238         498.106          51.530          48.400
+ -11422455.447 8  -8892981.141 7  23227220.631    23227220.313    23227225.526
+      1535.084        1196.170          42.490          39.710
+ -10852495.008 8  -8444619.819 8  22685820.291    22685820.746    22685823.732
+     -3010.251       -2345.652          46.310          41.800
+ -12758080.069 8  -9926302.291 8  22597196.331    22597195.541    22597200.460
+      2222.518        1731.831          44.230          40.760
+ -23700880.789 8 -18456513.796 8  20773160.360    20773159.834    20773163.843
+       -48.229         -37.581          49.790          49.090
+ -15421057.095 8 -11976412.145 8  21838262.754    21838262.421    21838266.641
+     -2428.596       -1892.413          47.700          44.230
+ -17535215.688 8 -13643852.451 8  21832027.260    21832026.943    21832030.128
+      2614.783        2037.491          46.660          43.540
+ 04  6 10  0 17  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25294206.488 9 -19698838.339 8  20411631.495    20411631.177    20411635.066
+       625.456         487.369          51.530          48.750
+ -11468480.424 8  -8928844.731 8  23218461.641    23218462.296    23218466.660
+      1533.054        1194.592          42.490          40.060
+ -10762095.982 8  -8374178.993 8  22703023.105    22703023.119    22703025.987
+     -3016.334       -2350.393          46.310          41.800
+ -12824599.503 8  -9978135.594 8  22584537.786    22584536.670    22584541.427
+      2212.118        1723.727          44.230          40.760
+ -23699197.147 9 -18455201.867 8  20773480.859    20773480.155    20773484.270
+       -63.927         -49.811          50.140          49.090
+ -15348045.480 8 -11919519.968 8  21852156.263    21852156.097    21852160.347
+     -2438.850       -1900.406          47.700          44.230
+ -17613563.701 8 -13704902.812 8  21817117.451    21817117.653    21817120.754
+      2608.380        2032.503          47.010          43.190
+ 04  6 10  0 17 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25312762.380 9 -19713297.481 8  20408100.976    20408100.400    20408103.949
+       611.638         476.603          51.530          48.400
+ -11514443.197 8  -8964659.837 7  23209716.017    23209715.929    23209719.647
+      1531.046        1193.018          42.840          39.370
+ -10671515.661 8  -8303596.913 8  22720259.873    22720259.766    22720263.560
+     -3022.265       -2355.013          45.970          42.150
+ -12890805.295 8 -10029724.506 8  22571939.315    22571938.514    22571943.317
+      2201.639        1715.567          44.230          40.760
+ -23697042.818 9 -18453523.165 8  20773890.746    20773890.180    20773894.374
+       -79.590         -62.018          50.140          49.090
+ -15274726.709 8 -11862388.449 8  21866108.446    21866108.352    21866112.628
+     -2448.995       -1908.304          47.700          44.230
+ -17691717.951 8 -13765802.199 8  21802244.170    21802244.736    21802248.054
+      2601.968        2027.512          46.310          42.840
+ 04  6 10  0 18  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25330902.605 9 -19727432.715 8  20404649.260    20404648.323    20404651.942
+       597.754         465.781          51.870          48.750
+ -11560345.266 8  -9000427.645 7  23200980.765    23200980.803    23200985.615
+      1528.958        1191.388          42.840          39.710
+ -10580756.847 8  -8232875.759 8  22737529.932    22737530.102    22737534.239
+     -3028.228       -2359.660          45.620          42.490
+ -12956694.616 8 -10081066.811 8  22559400.875    22559400.841    22559404.508
+      2190.997        1707.267          44.230          41.100
+ -23694418.935 9 -18451478.582 8  20774389.893    20774389.439    20774393.574
+       -95.249         -74.222          50.140          49.090
+ -15201103.427 8 -11805019.648 8  21880118.213    21880118.259    21880122.605
+     -2459.146       -1916.218          47.700          44.230
+ -17769676.318 8 -13826548.922 8  21787409.962    21787410.263    21787413.513
+      2595.275        2022.288          46.310          43.540
+ 04  6 10  0 18 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25348625.549 9 -19741242.804 8  20401276.370    20401275.782    20401279.296
+       583.790         454.899          51.530          48.400
+ -11606186.862 8  -9036148.344 7  23192257.542    23192257.592    23192262.012
+      1526.960        1189.835          43.190          39.710
+ -10489822.560 8  -8162017.877 8  22754833.785    22754834.121    22754838.258
+     -3034.063       -2364.205          45.270          41.800
+ -13022264.035 8 -10132159.852 8  22546924.403    22546922.591    22546927.022
+      2180.280        1698.918          44.230          40.760
+ -23691326.071 9 -18449068.563 8  20774978.727    20774978.060    20774982.144
+      -110.855         -86.382          50.140          49.090
+ -15127178.167 8 -11747415.540 8  21894186.360    21894186.067    21894189.944
+     -2469.191       -1924.045          47.700          44.230
+ -17847436.347 8 -13887141.114 8  21772613.779    21772613.420    21772616.607
+      2588.706        2017.170          47.010          43.880
+ 04  6 10  0 19  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25365929.571 9 -19754726.475 8  20397983.535    20397982.903    20397986.593
+       569.730         443.945          51.530          48.750
+ -11651968.720 8  -9071822.539 7  23183545.153    23183545.541    23183549.972
+      1524.967        1188.287          43.190          39.710
+ -10398715.907 8  -8091025.708 8  22772171.873    22772171.796    22772175.645
+     -3039.789       -2368.667          45.270          42.150
+ -13087510.329 8 -10183001.117 8  22534507.459    22534506.961    22534511.613
+      2169.394        1690.438          44.230          41.100
+ -23687764.949 9 -18446293.691 8  20775656.317    20775655.716    20775659.829
+      -126.527         -98.590          50.140          49.090
+ -15052953.585 8 -11689578.219 8  21908310.232    21908310.270    21908314.539
+     -2479.191       -1931.837          47.700          44.230
+ -17924995.837 8 -13947577.057 8  21757853.912    21757853.396    21757856.884
+      2581.870        2011.849          46.660          43.540
+ 04  6 10  0 19 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25382813.051 9 -19767882.429 8  20394770.475    20394770.066    20394773.848
+       555.793         433.086          51.530          48.400
+ -11697691.007 8  -9107450.263 7  23174845.482    23174845.102    23174849.017
+      1523.103        1186.837          43.190          39.370
+ -10307439.921 8  -8019901.557 8  22789541.242    22789541.203    22789544.420
+     -3045.285       -2372.948          45.620          41.800
+ -13152430.454 8 -10233588.212 8  22522154.423    22522153.475    22522157.301
+      2158.602        1682.026          44.230          40.760
+ -23683736.564 9 -18443154.687 8  20776422.829    20776422.193    20776426.450
+      -141.976        -110.631          50.140          49.090
+ -14978432.313 8 -11631509.680 8  21922492.317    21922491.427    21922495.850
+     -2488.935       -1939.427          48.050          44.230
+ -18002352.546 8 -14007854.979 8  21743132.857    21743133.195    21743136.282
+      2575.179        2006.632          46.310          43.190
+ 04  6 10  0 20  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25399274.559 9 -19780709.555 8  20391637.623    20391637.349    20391641.305
+       541.645         422.060          51.530          48.750
+ -11743354.614 8  -9143032.236 7  23166154.493    23166154.965    23166159.514
+      1521.082        1185.246          43.540          39.710
+ -10215997.213 8  -7948647.475 8  22806941.964    22806942.208    22806945.562
+     -3050.834       -2377.282          45.620          41.800
+ -13217021.037 8 -10283918.491 8  22509862.020    22509861.708    22509865.840
+      2147.486        1673.369          44.230          41.100
+ -23679241.207 9 -18439651.791 8  20777278.037    20777277.549    20777281.793
+      -157.571        -122.782          50.140          49.090
+ -14903617.081 8 -11573212.061 8  21936728.083    21936728.002    21936732.390
+     -2498.727       -1947.062          47.700          44.230
+ -18079503.863 8 -14067972.839 8  21728452.334    21728452.345    21728455.387
+      2568.272        2001.253          47.010          43.880
+ 04  6 10  0 20 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25415312.815 9 -19793206.905 8  20388585.824    20388585.432    20388589.303
+       527.534         411.064          51.530          48.400
+ -11788960.017 8  -9178568.881 7  23157477.701    23157477.282    23157480.955
+      1519.098        1183.706          43.540          39.710
+ -10124391.283 8  -7877266.223 8  22824374.012    22824374.205    22824377.180
+     -3056.233       -2381.484          45.970          41.450
+ -13281279.179 8 -10333989.745 8  22497634.222    22497633.402    22497638.475
+      2136.383        1664.709          44.230          41.450
+ -23674280.220 9 -18435786.095 8  20778222.500    20778221.711    20778225.817
+      -173.110        -134.895          50.140          49.090
+ -14828510.511 8 -11514687.445 8  21951020.260    21951020.505    21951024.486
+     -2508.418       -1954.618          47.700          43.880
+ -18156447.766 8 -14127929.097 8  21713809.618    21713809.453    21713813.560
+      2561.290        1995.807          47.010          43.880
+ 04  6 10  0 21  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25430926.266 9 -19805373.234 8  20385615.201    20385614.387    20385618.218
+       513.316         399.986          51.530          48.750
+ -11834507.823 8  -9214060.606 7  23148808.863    23148809.206    23148813.032
+      1517.141        1182.172          43.540          39.370
+ -10032624.662 8  -7805759.751 8  22841837.285    22841836.909    22841839.811
+     -3061.560       -2385.629          45.970          41.450
+ -13345201.682 8 -10383799.457 8  22485469.955    22485469.439    22485474.672
+      2125.093        1655.912          44.230          41.450
+ -23668854.153 9 -18431557.984 8  20779254.813    20779254.384    20779258.433
+      -188.597        -146.958          50.140          49.090
+ -14753114.800 8 -11455937.528 8  21965367.336    21965367.566    21965371.903
+     -2518.015       -1962.092          47.700          44.230
+ -18233181.750 8 -14187721.771 8  21699207.369    21699208.042    21699210.838
+      2554.207        1990.290          47.010          43.880
+ 04  6 10  0 21 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25446113.397 9 -19817207.371 8  20382724.898    20382724.423    20382728.225
+       499.132         388.935          51.870          48.750
+ -11879998.551 8  -9249507.872 7  23140153.047    23140152.981    23140156.787
+      1515.345        1180.782          43.540          39.370
+  -9940700.608 8  -7734130.608 8  22859329.435    22859329.754    22859332.880
+     -3066.687       -2389.622          45.970          41.800
+ -13408785.186 8 -10433345.041 8  22473370.920    22473370.488    22473374.612
+      2113.776        1647.094          44.580          41.100
+ -23662963.750 9 -18426968.071 8  20780375.836    20780375.260    20780379.389
+      -203.987        -158.951          50.140          49.090
+ -14677433.038 8 -11396964.716 8  21979769.756    21979769.467    21979773.649
+     -2527.440       -1969.434          47.360          43.880
+ -18309703.453 8 -14247349.065 8  21684646.981    21684646.958    21684649.343
+      2547.188        1984.823          47.360          43.540
+ 04  6 10  0 22  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25460872.436 9 -19828707.928 8  20379916.629    20379915.961    20379919.600
+       484.791         377.763          51.870          48.750
+ -11925432.884 8  -9284911.171 7  23131507.342    23131506.858    23131510.879
+      1513.374        1179.249          43.540          39.370
+  -9848622.026 8  -7662381.064 8  22876851.209    22876850.816    22876854.684
+     -3071.884       -2393.672          45.270          41.450
+ -13472026.640 8 -10482624.081 8  22461336.935    22461335.813    22461340.290
+      2102.256        1638.122          44.580          41.450
+ -23656610.025 9 -18422017.117 8  20781585.225    20781584.312    20781588.396
+      -219.520        -171.056          50.140          49.090
+ -14601467.531 8 -11337770.802 8  21994225.079    21994225.047    21994229.605
+     -2536.918       -1976.816          47.360          44.230
+ -18386010.516 8 -14306809.103 8  21670125.139    21670125.508    21670128.641
+      2539.923        1979.158          47.360          44.230
+ 04  6 10  0 22 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25475202.413 9 -19839874.161 8  20377189.566    20377189.001    20377192.633
+       470.493         366.620          51.870          48.400
+ -11970811.307 8  -9320270.854 7  23122872.009    23122871.640    23122874.885
+      1511.560        1177.824          43.540          38.670
+  -9756391.913 8  -7590513.437 8  22894402.390    22894401.810    22894405.470
+     -3076.831       -2397.531          44.930          41.450
+ -13534923.064 8 -10531634.253 8  22449367.767    22449367.179    22449371.325
+      2090.747        1629.150          44.580          41.100
+ -23649793.763 9 -18416705.737 8  20782881.916    20782881.324    20782885.387
+      -234.898        -183.037          50.140          49.090
+ -14525220.733 8 -11278357.709 8  22008734.406    22008734.325    22008738.821
+     -2546.219       -1984.071          47.360          43.880
+ -18462100.801 8 -14366100.179 8  21655644.744    21655645.424    21655649.571
+      2532.698        1973.531          46.660          44.230
+ 04  6 10  0 23  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25489101.825 9 -19850704.886 8  20374544.842    20374544.172    20374547.753
+       456.147         355.439          51.870          48.750
+ -12016134.270 8  -9355587.299 7  23114246.798    23114246.461    23114250.406
+      1509.793        1176.456          43.190          39.020
+  -9664013.273 8  -7518530.087 8  22911980.760    22911980.882    22911984.555
+     -3081.690       -2401.319          44.930          41.800
+ -13597471.343 8 -10580373.168 8  22437465.513    22437464.616    22437468.888
+      2079.154        1620.118          44.930          41.100
+ -23642516.016 9 -18411034.771 8  20784266.896    20784266.334    20784270.447
+      -250.197        -194.958          50.140          49.090
+ -14448695.651 8 -11218727.767 8  22023296.500    22023296.431    22023300.416
+     -2555.408       -1991.230          47.360          43.880
+ -18537971.853 8 -14425220.447 8  21641208.578    21641208.736    21641211.469
+      2525.374        1967.821          47.010          44.230
+ 04  6 10  0 23 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25502569.325 9 -19861199.046 8  20371981.617    20371981.375    20371984.912
+       441.678         344.172          51.870          48.750
+ -12061402.733 8  -9390861.276 7  23105631.522    23105631.356    23105635.562
+      1507.911        1174.997          42.840          39.020
+  -9571488.996 8  -7446433.244 8  22929587.432    22929587.758    22929591.335
+     -3086.538       -2405.082          44.930          41.800
+ -13659668.348 8 -10628838.345 8  22425629.248    22425628.646    22425633.270
+      2067.309        1610.896          44.930          41.450
+ -23634777.572 9 -18405004.805 8  20785739.082    20785738.837    20785742.867
+      -265.598        -206.953          50.140          48.750
+ -14371894.641 8 -11158882.806 8  22037911.581    22037911.155    22037915.501
+     -2564.608       -1998.387          47.360          43.880
+ -18613621.376 8 -14484168.116 8  21626812.643    21626812.572    21626815.111
+      2517.914        1962.015          47.360          43.540
+ 04  6 10  0 24  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25515603.444 9 -19871355.516 8  20369501.769    20369501.055    20369504.508
+       427.211         332.896          51.870          48.750
+ -12106616.918 8  -9426093.001 7  23097029.199    23097028.216    23097032.019
+      1506.144        1173.619          43.190          39.370
+  -9478822.130 8  -7374225.299 8  22947222.141    22947221.765    22947225.074
+     -3091.270       -2408.778          45.270          41.100
+ -13721510.983 8 -10677027.399 8  22413861.399    22413860.337    22413864.528
+      2055.434        1601.638          44.580          41.100
+ -23626579.519 9 -18398616.716 8  20787299.209    20787298.803    20787302.872
+      -280.946        -218.919          50.140          49.090
+ -14294820.396 8 -11098824.943 8  22052577.776    22052578.037    22052582.093
+     -2573.741       -2005.516          47.360          43.540
+ -18689046.884 8 -14542941.204 8  21612457.787    21612458.990    21612462.896
+      2510.360        1956.130          47.010          44.230
+ 04  6 10  0 24 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25528202.771 9 -19881173.177 8  20367104.111    20367103.575    20367107.106
+       412.624         321.522          51.870          48.750
+ -12151777.501 8  -9461282.992 7  23088434.962    23088434.180    23088437.567
+      1504.310        1172.183          43.190          39.370
+  -9386015.607 8  -7301908.518 8  22964882.131    22964882.583    22964885.573
+     -3095.920       -2412.415          45.270          41.100
+ -13782996.271 8 -10724937.998 8  22402161.366    22402160.396    22402164.585
+      2043.446        1592.291          44.930          41.100
+ -23617922.528 9 -18391871.001 8  20788946.917    20788946.224    20788950.407
+      -296.288        -230.880          50.140          49.090
+ -14217475.583 8 -11038556.247 8  22067296.062    22067296.041    22067300.364
+     -2582.734       -2012.533          47.360          43.540
+ -18764246.047 8 -14601537.906 8  21598149.442    21598150.039    21598152.778
+      2502.737        1950.180          47.360          44.230
+ 04  6 10  0 25  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25540365.773 9 -19890650.851 8  20364789.649    20364789.006    20364792.485
+       398.230         310.307          51.870          48.750
+ -12196884.897 8  -9496431.527 7  23079850.485    23079850.395    23079854.348
+      1502.688        1170.930          42.840          39.710
+  -9293072.512 8  -7229485.323 8  22982569.960    22982568.877    22982572.008
+     -3100.235       -2415.767          45.270          41.450
+ -13844120.960 8 -10772567.606 8  22390529.756    22390528.507    22390532.900
+      2031.531        1583.014          44.930          41.450
+ -23608807.775 9 -18384768.590 8  20790681.134    20790680.745    20790684.840
+      -311.299        -242.574          50.140          49.090
+ -14139862.569 8 -10978078.573 8  22082066.085    22082065.616    22082069.374
+     -2591.453       -2019.320          47.360          43.540
+ -18839216.585 8 -14659956.495 8  21583883.854    21583883.441    21583886.078
+      2495.262        1944.357          47.700          43.880
+ 04  6 10  0 25 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25552090.932 9 -19899787.371 8  20362558.401    20362557.832    20362561.330
+       383.621         298.932          51.870          48.400
+ -12241939.736 8  -9531539.122 8  23071277.177    23071277.435    23071280.929
+      1500.953        1169.580          42.840          40.060
+  -9199995.662 8  -7156957.930 8  23000280.922    23000281.047    23000283.933
+     -3104.665       -2419.211          44.930          41.100
+ -13904881.924 8 -10819913.817 8  22378966.487    22378965.608    22378970.574
+      2019.307        1573.493          44.580          41.450
+ -23599235.967 9 -18377310.059 8  20792502.620    20792502.156    20792506.409
+      -326.536        -254.438          50.140          49.090
+ -14061983.823 8 -10917393.844 8  22096884.853    22096885.230    22096889.686
+     -2600.258       -2026.171          47.010          43.540
+ -18913955.912 8 -14718194.923 8  21569660.343    21569660.334    21569663.321
+      2487.505        1938.319          47.360          43.880
+ 04  6 10  0 26  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25563377.336 9 -19908581.978 8  20360410.730    20360410.233    20360413.667
+       368.876         287.431          51.870          48.750
+ -12286942.467 8  -9566606.103 8  23062712.287    23062712.579    23062717.162
+      1499.167        1168.177          42.840          40.410
+  -9106788.030 8  -7084328.595 8  23018017.614    23018017.382    23018020.886
+     -3109.105       -2422.685          44.930          41.100
+ -13965276.073 8 -10866974.178 8  22367474.943    22367473.760    22367477.878
+      2007.005        1563.893          44.930          41.800
+ -23589208.374 9 -18369496.346 8  20794410.710    20794410.291    20794414.575
+      -341.824        -266.362          50.140          49.090
+ -13983842.194 8 -10856504.259 8  22111756.636    22111755.472    22111759.343
+     -2609.081       -2033.054          47.010          43.540
+ -18988461.872 8 -14776251.475 8  21555482.378    21555482.537    21555485.632
+      2479.611        1932.160          47.360          44.230
+ 04  6 10  0 26 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25574223.414 9 -19917033.449 8  20358346.671    20358346.193    20358349.651
+       354.134         275.946          51.870          48.750
+ -12331893.673 8  -9601632.917 8  23054159.441    23054159.216    23054163.420
+      1497.406        1166.808          42.840          40.410
+  -9013452.683 8  -7011599.731 8  23035778.446    23035778.449    23035782.140
+     -3113.310       -2425.961          44.580          41.100
+ -14025300.319 8 -10913746.282 8  22356052.107    22356050.884    22356055.563
+      1994.597        1554.235          44.930          41.450
+ -23578725.887 9 -18361328.139 8  20796405.655    20796405.191    20796409.129
+      -356.978        -278.165          50.140          49.090
+ -13905440.557 8 -10795412.031 8  22126674.396    22126674.422    22126678.661
+     -2617.739       -2039.803          47.010          43.190
+ -19062732.049 8 -14834124.275 8  21541349.595    21541349.871    21541352.725
+      2471.676        1925.977          47.700          44.580
+ 04  6 10  0 27  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25584627.850 9 -19925140.809 8  20356366.845    20356366.383    20356369.850
+       339.588         264.618          51.870          48.750
+ -12376793.968 8  -9636620.121 8  23045614.605    23045614.481    23045618.980
+      1495.864        1165.610          43.540          40.760
+  -8919992.590 8  -6938773.697 8  23053563.523    23053563.466    23053567.270
+     -3117.223       -2429.001          44.580          41.450
+ -14084951.846 8 -10960227.967 8  22344700.179    22344699.606    22344704.882
+      1982.269        1544.626          44.930          41.800
+ -23567789.417 9 -18352806.213 8  20798486.912    20798486.237    20798490.164
+      -371.927        -289.814          50.140          49.090
+ -13826781.297 8 -10734119.093 8  22141642.975    22141643.174    22141647.089
+     -2626.136       -2046.343          47.010          43.540
+ -19136764.017 8 -14891811.461 8  21527260.794    21527261.251    21527264.577
+      2463.903        1919.922          47.700          44.230
+ 04  6 10  0 27 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25594589.634 9 -19932903.242 8  20354470.827    20354470.568    20354474.011
+       324.781         253.082          51.870          48.750
+ -12421643.917 8  -9671568.086 8  23037079.968    23037080.079    23037084.277
+      1494.187        1164.312          43.190          40.060
+  -8826410.663 8  -6865852.723 8  23071372.162    23071371.794    23071375.141
+     -3121.277       -2432.151          44.580          41.450
+ -14144227.537 8 -11006416.814 8  22333422.140    22333420.603    22333424.484
+      1969.654        1534.798          45.270          41.800
+ -23556400.233 9 -18343931.516 8  20800654.047    20800653.600    20800657.661
+      -387.029        -301.577          50.140          48.750
+ -13747866.812 8 -10672627.274 8  22156659.846    22156659.888    22156663.928
+     -2634.565       -2052.904          47.010          43.190
+ -19210555.507 8 -14949311.267 8  21513218.986    21513219.161    21513222.633
+      2455.791        1913.605          47.360          44.230
+ 04  6 10  0 28  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25604107.228 9 -19940319.553 8  20352660.075    20352659.410    20352662.852
+       309.798         241.401          51.870          48.750
+ -12466443.971 8  -9706477.196 8  23028555.247    23028554.904    23028558.721
+      1492.388        1162.900          43.540          40.410
+  -8732709.632 8  -6792838.948 8  23089202.549    23089202.256    23089205.834
+     -3125.341       -2435.339          44.580          41.100
+ -14203124.282 8 -11052310.364 8  22322213.573    22322212.475    22322216.739
+      1956.870        1524.833          45.270          41.800
+ -23544559.204 9 -18334704.730 8  20802907.647    20802906.874    20802911.044
+      -402.192        -313.399          50.140          49.090
+ -13668699.634 8 -10610938.555 8  22171725.245    22171724.992    22171729.003
+     -2643.089       -2059.556          47.010          43.190
+ -19284104.005 8 -15006621.723 8  21499224.369    21499223.861    21499227.031
+      2447.507        1907.143          47.360          44.580
+ 04  6 10  0 28 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25613179.072 9 -19947388.547 8  20350933.400    20350933.056    20350936.713
+       294.936         229.823          51.870          48.750
+ -12511194.531 8  -9741347.770 8  23020039.181    23020039.003    23020043.157
+      1490.759        1161.629          43.540          40.410
+  -8638892.496 8  -6719734.697 8  23107055.803    23107055.286    23107058.550
+     -3129.145       -2438.292          44.580          40.760
+ -14261639.137 8 -11097906.359 8  22311077.719    22311077.457    22311082.259
+      1944.051        1514.845          45.270          41.800
+ -23532267.508 9 -18325126.800 8  20805246.508    20805245.887    20805249.791
+      -417.207        -325.096          50.140          48.750
+ -13589282.530 8 -10549055.110 8  22186838.307    22186837.611    22186841.879
+     -2651.393       -2066.012          47.010          43.540
+ -19357407.082 8 -15063740.948 8  21485274.362    21485274.469    21485277.602
+      2439.311        1900.761          47.360          44.580
+ 04  6 10  0 29  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25621804.172 9 -19954109.408 8  20349292.580    20349291.922    20349295.480
+       279.940         218.138          52.220          48.750
+ -12555896.105 8  -9776180.176 8  23011532.919    23011533.007    23011536.697
+      1489.053        1160.316          43.540          40.410
+  -8544962.343 8  -6646542.356 8  23124929.188    23124929.158    23124932.729
+     -3132.967       -2441.270          44.230          40.760
+ -14319769.178 8 -11143202.484 8  22300016.434    22300015.266    22300019.697
+      1931.122        1504.768          44.930          41.450
+ -23519526.230 9 -18315198.522 8  20807671.120    20807670.575    20807674.575
+      -432.252        -336.816          50.140          49.090
+ -13509618.197 8 -10486979.005 8  22201997.326    22201997.236    22202001.449
+     -2659.690       -2072.486          47.010          43.540
+ -19430462.531 8 -15120667.171 8  21471370.803    21471371.461    21471375.506
+      2430.929        1894.233          47.360          44.580
+ 04  6 10  0 29 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25629981.645 9 -19960481.442 8  20347736.459    20347735.840    20347739.257
+       265.159         206.620          52.220          48.750
+ -12600549.670 8  -9810975.156 8  23003036.121    23003035.906    23003039.701
+      1487.635        1159.203          43.880          40.410
+  -8450922.173 8  -6573264.278 8  23142824.868    23142824.525    23142828.392
+     -3136.439       -2443.978          44.230          40.410
+ -14377511.346 8 -11188196.347 8  22289028.942    22289028.029    22289032.651
+      1918.294        1494.777          45.270          41.800
+ -23506336.586 9 -18304920.838 8  20810180.751    20810180.308    20810184.406
+      -447.033        -348.335          50.140          48.750
+ -13429709.065 8 -10424712.113 8  22217203.856    22217203.155    22217207.618
+     -2667.636       -2078.673          47.010          43.190
+ -19503267.859 8 -15177398.478 8  21457517.772    21457517.903    21457520.583
+      2422.698        1887.821          47.360          44.230
+ 04  6 10  0 30  0.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25637709.800 9 -19966503.382 8  20346265.381    20346265.032    20346268.652
+       250.048         194.842          51.870          48.750
+ -12645155.074 8  -9845732.629 8  22994548.266    22994548.077    22994551.605
+      1485.869        1157.827          43.880          40.760
+  -8356774.706 8  -6499902.621 8  23160740.351    23160740.329    23160743.994
+     -3140.060       -2446.798          44.230          40.410
+ -14434862.607 8 -11232885.623 8  22278114.759    22278113.371    22278118.376
+      1905.083        1484.479          44.930          42.150
+ -23492699.216 9 -18294294.309 8  20812776.324    20812775.530    20812779.578
+      -462.036        -360.028          50.140          49.090
+ -13349557.281 8 -10362256.179 8  22232455.822    22232455.687    22232459.954
+     -2675.807       -2085.042          47.010          43.190
+ -19575820.549 8 -15233932.984 8  21443712.184    21443711.997    21443714.666
+      2414.126        1881.134          48.050          44.580
+ 04  6 10  0 30 30.0000000  0  7G 5G 6G 9G10G17G24G30                 .000000000
+ -25644987.637 9 -19972174.428 8  20344880.623    20344880.199    20344883.590
+       234.994         183.116          51.870          48.750
+ -12689713.231 8  -9880453.297 8  22986068.160    22986068.384    22986072.555
+      1484.337        1156.628          43.880          40.760
+  -8262523.236 8  -6426459.910 8  23178675.553    23178675.437    23178679.017
+     -3143.484       -2449.471          44.230          40.410
+ -14491820.104 8 -11277268.067 8  22267275.501    22267275.388    22267279.469
+      1891.915        1474.219          44.930          41.800
+ -23478615.898 9 -18283320.282 8  20815455.861    20815455.354    20815459.413
+      -476.890        -371.603          50.140          48.750
+ -13269166.037 8 -10299613.651 8  22247753.608    22247753.433    22247758.268
+     -2683.754       -2091.236          47.010          43.190
+ -19648118.572 8 -15290269.048 8  21429952.845    21429953.209    21429956.844
+      2405.594        1874.486          48.050          44.930
+ 04  6 10  0 31  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25651813.539 9 -19977493.317 8  20343581.928    20343581.408    20343584.660
+       220.058         171.473          52.220          48.750
+ -12734224.440 8  -9915137.397 8  22977597.389    22977597.959    22977601.936
+      1482.929        1155.518          43.880          40.410
+  -8168170.368 8  -6352938.203 8  23196629.965    23196629.979    23196634.375
+     -3146.651       -2451.937          43.880          40.760
+ -14548380.672 8 -11321341.225 8  22256513.470    22256511.826    22256517.035
+      1878.802        1463.998          45.270          42.150
+ -23464087.604 9 -18271999.529 8  20818220.634    20818219.946    20818224.116
+      -491.571        -383.044          50.140          49.090
+  -3250452.08217  -2504904.33217  24993140.0551   24993139.0261   24993141.5921
+      3218.4311       2507.8551         35.2001         34.5001
+ -13188537.437 8 -10236786.160 8  22263097.054    22263096.816    22263101.119
+     -2691.464       -2097.247          47.010          43.190
+ -19720159.258 8 -15346404.600 8  21416243.598    21416244.627    21416247.771
+      2397.117        1867.883          47.700          44.930
+ 04  6 10  0 31 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25658186.781 9 -19982459.479 8  20342369.283    20342368.621    20342371.988
+       204.883         159.652          52.220          48.750
+ -12778689.110 8  -9949785.229 8  22969136.996    22969136.733    22969141.164
+      1481.283        1154.250          43.880          40.410
+  -8073719.185 8  -6279339.871 8  23214603.962    23214604.202    23214607.415
+     -3149.925       -2454.483          43.880          40.760
+ -14604541.697 8 -11365103.028 8  22245824.573    22245824.416    22245829.289
+      1865.362        1453.527          44.930          41.800
+ -23449115.223 8 -18260332.722 8  20821069.940    20821069.181    20821073.213
+      -506.418        -394.607          49.790          48.750
+  -3346938.771 7  -2580088.800 7  24974779.664    24974779.058    24974780.196
+      3214.124        2504.528          36.590          34.850
+ -13107674.288 8 -10173775.910 8  22278484.515    22278484.223    22278488.471
+     -2699.277       -2103.333          46.660          42.840
+ -19791940.377 8 -15402337.949 8  21402585.852    21402585.722    21402587.958
+      2388.376        1861.079          48.050          44.580
+ 04  6 10  0 32  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25664105.934 9 -19987071.807 8  20341242.583    20341242.097    20341245.692
+       189.686         147.811          52.220          48.750
+ -12823107.980 8  -9984397.381 8  22960683.621    22960683.556    22960688.207
+      1479.709        1153.035          43.880          40.060
+  -7979172.711 8  -6205667.292 8  23232595.453    23232595.032    23232599.287
+     -3153.111       -2456.964          43.540          40.760
+ -14660300.161 8 -11408551.177 8  22235215.956    22235214.823    22235218.518
+      1851.814        1442.973          45.270          41.800
+ -23433700.064 8 -18248320.900 8  20824003.065    20824002.462    20824006.607
+      -521.191        -406.122          49.790          48.750
+  -3443292.848 7  -2655169.901 7  24956444.397    24956443.515    24956444.761
+      3209.500        2500.898          37.280          34.150
+ -13026579.414 8 -10110585.094 8  22293915.612    22293915.906    22293920.464
+     -2707.039       -2109.377          46.310          42.840
+ -19863459.308 8 -15458066.996 8  21388974.560    21388975.278    21388978.160
+      2379.522        1854.173          48.050          44.230
+ 04  6 10  0 32 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25669569.947 9 -19991329.478 8  20340202.864    20340202.383    20340205.849
+       174.454         135.939          52.220          48.750
+ -12867481.524 8 -10018974.243 7  22952240.859    22952240.304    22952243.368
+      1478.208        1151.852          43.880          39.710
+  -7884533.655 8  -6131922.598 8  23250604.597    23250604.363    23250608.307
+     -3156.182       -2459.359          43.190          40.410
+ -14715653.108 8 -11451683.330 8  22224681.721    22224681.082    22224685.418
+      1838.228        1432.386          45.620          42.150
+ -23417843.287 8 -18235964.959 8  20827020.355    20827019.788    20827023.968
+      -535.941        -417.615          49.790          48.750
+  -3539513.685 7  -2730147.225 7  24938133.246    24938132.424    24938133.955
+      3205.004        2497.403          36.930          33.110
+ -12945255.406 8 -10047215.723 8  22309391.337    22309391.364    22309396.014
+     -2714.668       -2115.320          46.310          42.840
+ -19934713.761 8 -15513589.942 8  21375415.534    21375416.293    21375419.298
+      2370.632        1847.251          48.050          44.580
+ 04  6 10  0 33  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25674577.431 9 -19995231.413 8  20339250.220    20339249.551    20339253.099
+       159.218         124.066          51.870          48.750
+ -12911810.083 8 -10053516.053 8  22943804.741    22943804.375    22943809.552
+      1476.733        1150.699          43.880          40.410
+  -7789805.210 8  -6058108.233 8  23268630.524    23268630.780    23268634.162
+     -3159.139       -2461.669          43.540          40.410
+ -14770597.729 8 -11494497.309 8  22214226.495    22214225.912    22214230.180
+      1824.568        1421.744          45.620          41.800
+ -23401546.293 8 -18223265.991 8  20830121.823    20830121.082    20830125.149
+      -550.589        -429.031          49.790          48.750
+  -3635599.110 7  -2805019.095 7  24919849.759    24919849.433    24919848.732
+      3200.464        2493.869          38.670          33.460
+ -12863704.637 8  -9983669.667 8  22324910.652    22324909.892    22324914.561
+     -2722.180       -2121.178          46.310          42.840
+ -20005701.234 8 -15568904.852 8  21361908.462    21361908.406    21361911.183
+      2361.703        1840.288          48.400          44.930
+ 04  6 10  0 33 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25679127.464 9 -19998776.895 8  20338384.206    20338383.616    20338387.031
+       144.014         112.218          51.870          48.750
+ -12956094.105 8 -10088023.167 7  22935378.933    22935378.257    22935381.493
+      1475.322        1149.617          43.540          39.710
+  -7694990.119 8  -5984226.341 8  23286674.646    23286673.944    23286677.580
+     -3161.938       -2463.845          43.880          40.760
+ -14825131.050 8 -11536990.796 8  22203849.641    22203848.228    22203852.856
+      1810.857        1411.056          45.620          42.150
+ -23384810.136 8 -18210224.820 8  20833306.240    20833305.740    20833310.099
+      -565.190        -440.406          49.790          48.750
+  -3731547.852 7  -2879784.426 7  24901590.711    24901590.394    24901592.887
+      3195.968        2490.364          39.370          36.240
+ -12781929.750 8  -9919948.966 8  22340471.379    22340471.678    22340475.838
+     -2729.558       -2126.928          46.310          42.490
+ -20076419.292 8 -15624009.814 8  21348450.724    21348450.818    21348453.730
+      2352.734        1833.299          48.400          44.930
+ 04  6 10  0 34  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25683218.964 9 -20001965.101 8  20337605.621    20337605.003    20337608.560
+       128.730         100.312          51.870          48.750
+ -13000334.127 8 -10122496.053 8  22926959.544    22926959.344    22926963.042
+      1473.837        1148.455          43.880          40.060
+  -7600091.261 8  -5910279.210 8  23304732.357    23304732.596    23304735.805
+     -3164.623       -2465.932          43.880          40.410
+ -14879250.062 8 -11579161.460 8  22193551.079    22193550.266    22193555.056
+      1797.031        1400.285          45.620          42.490
+ -23367635.996 8 -18196842.389 8  20836574.361    20836573.896    20836578.192
+      -579.718        -451.726          49.790          48.750
+  -3827358.237 7  -2954441.851 7  24883356.918    24883357.076    24883360.536
+      3191.293        2486.711          37.280          34.850
+ -12699933.281 8  -9856055.640 8  22356074.723    22356074.664    22356078.705
+     -2736.871       -2132.620          45.970          42.490
+ -20146865.627 8 -15678903.052 8  21335044.099    21335044.472    21335047.865
+      2343.642        1826.220          48.050          44.930
+ 04  6 10  0 34 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25686850.973 9 -20004795.239 8  20336914.249    20336913.798    20336917.412
+       113.422          88.384          51.870          48.750
+ -13044530.631 8 -10156934.978 8  22918548.692    22918548.920    22918553.645
+      1472.401        1147.331          43.880          40.410
+  -7505111.629 8  -5836269.111 8  23322807.624    23322806.922    23322809.759
+     -3167.255       -2467.979          43.880          40.410
+ -14932951.985 8 -11621007.100 8  22183331.271    22183330.437    22183335.144
+      1783.087        1389.421          45.620          42.490
+ -23350025.220 8 -18183119.696 8  20839925.616    20839925.043    20839929.362
+      -594.227        -463.030          49.790          48.750
+  -3923028.357 7  -3028990.128 7  24865152.552    24865152.678    24865153.131
+      3186.712        2483.152          38.320          32.420
+ -12617717.677 8  -9791991.523 8  22371719.831    22371719.825    22371724.059
+     -2744.106       -2138.264          46.310          42.490
+ -20217037.768 8 -15733582.629 8  21321691.176    21321691.613    21321694.759
+      2334.478        1819.079          48.050          44.930
+ 04  6 10  0 35  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25690022.257 9 -20007266.343 8  20336310.739    20336310.353    20336313.834
+        98.060          76.411          51.870          48.750
+ -13088684.133 8 -10191340.383 8  22910146.909    22910147.056    22910151.175
+      1470.991        1146.234          43.880          40.060
+  -7410054.181 8  -5762198.346 8  23340895.381    23340895.362    23340898.846
+     -3169.777       -2469.957          43.880          40.060
+ -14986234.072 8 -11662525.564 8  22173191.725    22173191.050    22173195.488
+      1769.086        1378.506          45.270          42.150
+ -23331979.124 8 -18169057.765 8  20843359.734    20843359.138    20843363.401
+      -608.699        -474.315          49.790          48.750
+  -4018556.831 7  -3103427.955 7  24846973.289    24846972.642    24846976.834
+      3181.930        2479.419          37.630          34.850
+ -12535285.583 8  -9727758.692 8  22387406.431    22387406.641    22387410.605
+     -2751.265       -2143.844          46.310          42.490
+ -20286933.465 8 -15788046.773 8  21308392.110    21308391.243    21308394.474
+      2325.253        1811.883          48.400          45.620
+ 04  6 10  0 35 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25692731.532 9 -20009377.469 8  20335795.462    20335794.965    20335798.283
+        82.569          64.336          51.870          48.750
+ -13132794.796 8 -10225712.413 8  22901753.056    22901752.818    22901757.599
+      1469.519        1145.076          43.880          40.410
+  -7314921.633 8  -5688069.087 8  23358998.546    23358998.517    23359001.885
+     -3172.301       -2471.924          43.880          40.060
+ -15039093.434 8 -11703714.667 8  22163133.358    22163132.603    22163137.445
+      1754.883        1367.438          45.620          42.490
+ -23313498.882 8 -18154657.567 8  20846876.063    20846875.551    20846880.272
+      -623.218        -485.626          49.440          48.750
+  -4113942.212 7  -3177754.204 7  24828821.477    24828822.404    24828825.564
+      3177.103        2475.676          36.240          35.890
+ -12452639.500 8  -9663359.144 8  22403133.673    22403133.363    22403138.129
+     -2758.448       -2149.445          46.310          42.840
+ -20356550.154 8 -15842293.509 8  21295142.541    21295142.983    21295146.719
+      2315.817        1804.532          48.050          45.270
+ 04  6 10  0 36  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25694977.828 9 -20011127.827 8  20335368.065    20335367.381    20335370.863
+        67.213          52.376          51.870          48.750
+ -13176863.135 8 -10260051.420 8  22893368.111    22893367.793    22893371.537
+      1468.220        1144.076          43.880          40.760
+  -7219716.947 8  -5613883.600 8  23377116.289    23377115.505    23377119.081
+     -3174.588       -2473.707          43.540          40.060
+ -15091527.095 8 -11744572.053 8  22153154.950    22153154.298    22153159.189
+      1740.747        1356.426          45.620          42.150
+ -23294585.777 8 -18139920.074 8  20850475.599    20850474.742    20850479.145
+      -637.555        -496.800          49.440          48.750
+  -4209182.794 7  -3251967.728 7  24810701.309    24810700.718    24810700.075
+      3172.312        2471.947          38.320          32.760
+ -12369781.928 8  -9598794.803 8  22418901.051    22418900.520    22418904.557
+     -2765.328       -2154.798          46.310          42.150
+ -20425885.262 8 -15896320.836 8  21281948.786    21281949.301    21281952.365
+      2306.512        1797.280          48.050          44.930
+ 04  6 10  0 36 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25696760.317 9 -20012516.777 8  20335028.756    20335028.151    20335031.639
+        51.637          40.231          51.870          48.750
+ -13220889.882 8 -10294358.010 8  22884989.327    22884988.900    22884993.130
+      1466.729        1142.907          43.880          40.060
+  -7124443.174 8  -5539644.312 8  23395245.145    23395244.211    23395249.001
+     -3176.942       -2475.540          42.840          40.060
+ -15143532.598 8 -11785095.815 8  22143259.708    22143258.417    22143263.141
+      1726.309        1345.171          45.620          42.490
+ -23275241.321 8 -18124846.459 8  20854156.198    20854155.794    20854160.428
+      -652.005        -508.059          49.440          48.750
+  -4304277.122 7  -3326067.331 7  24792603.880    24792604.206    24792604.928
+      3167.272        2467.994          37.630          33.110
+ -12286715.638 8  -9534067.819 8  22434708.299    22434707.818    22434711.734
+     -2772.394       -2160.320          46.310          42.490
+ -20494936.744 8 -15950127.170 8  21268809.450    21268809.532    21268812.117
+      2296.932        1789.811          48.400          45.270
+ 04  6 10  0 37  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25698077.655 9 -20013543.296 8  20334777.882    20334777.397    20334781.001
+        36.188          28.193          51.870          48.750
+ -13264875.231 8 -10328632.358 8  22876618.898    22876619.366    22876623.505
+      1465.422        1141.875          43.880          40.410
+  -7029103.016 8  -5465353.312 8  23413387.176    23413387.858    23413391.443
+     -3179.067       -2477.202          43.190          40.060
+ -15195107.064 8 -11825283.724 8  22133444.955    22133444.077    22133448.641
+      1711.966        1333.996          45.620          42.490
+ -23255466.649 8 -18109437.639 8  20857919.115    20857918.786    20857923.222
+      -666.247        -519.162          49.440          48.750
+  -4399223.510 7  -3400051.537 7  24774535.298    24774535.892    24774538.865
+      3162.450        2464.250          36.930          35.540
+ -12203442.845 8  -9469179.939 8  22450554.378    22450553.858    22450557.803
+     -2779.150       -2165.573          46.310          42.150
+ -20563701.953 8 -16003710.465 8  21255723.361    21255723.723    21255727.235
+      2287.396        1782.379          48.400          45.620
+ 04  6 10  0 37 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25698929.055 9 -20014206.724 8  20334616.054    20334615.425    20334619.062
+        20.636          16.081          51.870          48.750
+ -13308819.878 8 -10362874.960 8  22868257.253    22868257.129    22868261.138
+      1464.139        1140.886          44.230          40.760
+  -6933699.367 8  -5391012.795 7  23431542.131    23431542.361    23431546.568
+     -3181.079       -2478.765          43.190          39.710
+ -15246247.507 8 -11865133.419 8  22123713.237    22123712.330    22123716.376
+      1697.456        1322.693          45.620          42.150
+ -23235263.019 8 -18093694.543 8  20861764.079    20861763.500    20861767.839
+      -680.528        -530.281          49.440          48.750
+  -4494020.312 7  -3473919.203 7  24756497.483    24756497.297    24756499.759
+      3157.357        2460.279          37.980          34.850
+ -12119966.220 8  -9404133.223 8  22466439.435    22466439.065    22466443.385
+     -2785.889       -2170.823          45.970          42.490
+ -20632178.471 8 -16057068.771 8  21242692.896    21242693.043    21242696.694
+      2277.741        1774.862          48.400          45.620
+ 04  6 10  0 38  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25699313.264 9 -20014506.080 8  20334542.827    20334542.335    20334545.891
+         4.993           3.892          51.870          48.750
+ -13352723.713 8 -10397085.720 8  22859902.637    22859902.633    22859905.890
+      1462.691        1139.767          44.230          40.410
+  -6838235.192 8  -5316625.097 8  23449708.285    23449708.740    23449712.707
+     -3183.142       -2480.364          43.190          40.060
+ -15296951.131 8 -11904642.688 8  22114064.343    22114063.576    22114068.319
+      1682.768        1311.250          45.620          42.490
+ -23214631.906 8 -18077618.314 8  20865689.895    20865689.373    20865693.964
+      -694.813        -541.414          49.440          48.750
+  -4588665.851 7  -3547668.988 7  24738486.910    24738486.447    24738488.482
+      3152.308        2456.348          36.930          33.110
+ -12036288.291 8  -9338929.618 8  22482362.857    22482362.288    22482366.495
+     -2792.639       -2176.085          45.970          42.150
+ -20700363.881 8 -16110200.207 8  21229717.801    21229718.046    21229720.770
+      2267.933        1767.224          48.750          45.270
+ 04  6 10  0 38 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25699229.465 9 -20014440.784 8  20334558.794    20334558.292    20334561.682
+       -10.673          -8.315          51.870          48.750
+ -13396587.579 8 -10431265.368 8  22851555.400    22851555.473    22851559.998
+      1461.331        1138.705          44.580          41.100
+  -6742713.180 8  -5242192.353 8  23467886.447    23467885.882    23467889.465
+     -3185.050       -2481.859          43.540          40.060
+ -15347215.200 8 -11943809.488 8  22104499.518    22104498.925    22104503.323
+      1668.043        1299.770          45.620          42.490
+ -23193574.586 8 -18061210.001 8  20869697.052    20869696.452    20869701.008
+      -709.021        -552.484          49.440          48.750
+  -4683158.429 7  -3621299.665 7  24720505.336    24720505.803    24720507.547
+      3147.118        2452.300          37.980          34.150
+ -11952411.683 8  -9273571.224 8  22498322.775    22498323.307    22498327.293
+     -2799.247       -2181.236          45.620          41.800
+ -20768255.799 8 -16163103.003 8  21216798.713    21216798.826    21216801.134
+      2258.066        1759.529          49.090          45.270
+ 04  6 10  0 39  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25698676.993 9 -20014010.283 8  20334663.811    20334663.280    20334666.903
+       -26.255         -20.454          51.870          48.750
+ -13440412.058 8 -10465414.277 8  22843216.003    22843215.942    22843220.384
+      1460.076        1137.727          44.230          41.100
+  -6647136.419 8  -5167716.942 8  23486073.205    23486073.861    23486077.220
+     -3186.743       -2483.168          43.190          40.060
+ -15397037.454 8 -11982632.015 8  22095019.210    22095018.106    22095022.230
+      1653.349        1288.327          45.970          42.490
+ -23172092.650 8 -18044470.820 8  20873784.695    20873784.408    20873788.648
+      -723.094        -563.446          49.440          48.750
+  -4777497.122 7  -3694810.322 7  24702551.705    24702552.326    24702555.657
+      3141.988        2448.298          37.630          35.540
+ -11868338.822 8  -9208059.892 8  22514323.148    22514322.118    22514326.500
+     -2805.675       -2186.242          45.620          42.490
+ -20835851.866 8 -16215775.262 8  21203934.730    21203935.063    21203938.338
+      2248.256        1751.886          48.750          45.620
+ 04  6 10  0 39 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25697654.690 9 -20013213.685 8  20334858.516    20334857.865    20334861.475
+       -41.957         -32.695          51.870          48.750
+ -13484197.035 8 -10499532.440 8  22834883.971    22834883.890    22834887.349
+      1458.745        1136.683          44.580          40.760
+  -6551507.609 8  -5093200.976 8  23504271.082    23504271.269    23504274.693
+     -3188.473       -2484.526          43.190          40.060
+ -15446414.596 8 -12021107.699 8  22085622.445    22085621.555    22085626.627
+      1638.423        1276.689          45.970          42.490
+ -23150187.339 8 -18027401.732 8  20877953.410    20877952.857    20877957.144
+      -737.230        -574.468          49.440          48.750
+  -4871679.996 7  -3768199.568 7  24684630.339    24684630.345    24684632.419
+      3136.825        2444.279          37.630          33.460
+ -11784072.280 8  -9142397.664 8  22530357.754    22530357.094    22530361.795
+     -2812.145       -2191.286          45.620          42.150
+ -20903149.538 8 -16268214.987 8  21191128.003    21191128.666    21191132.270
+      2238.209        1744.056          48.400          45.620
+ 04  6 10  0 40  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25696161.631 9 -20012050.265 8  20335142.431    20335141.988    20335145.628
+       -57.687         -44.947          51.870          48.750
+ -13527943.510 8 -10533620.566 8  22826558.975    22826559.071    22826563.520
+      1457.396        1135.637          44.580          41.450
+  -6455829.702 8  -5018646.756 8  23522478.743    23522478.450    23522481.973
+     -3190.090       -2485.785          43.190          40.410
+ -15495344.307 8 -12059234.731 8  22076311.593    22076311.154    22076315.699
+      1623.455        1265.037          45.970          42.840
+ -23127860.177 8 -18010003.933 8  20882202.431    20882201.704    20882205.974
+      -751.303        -585.429          49.790          48.750
+  -4965705.925 7  -3841466.602 7  24666738.296    24666738.241    24666740.299
+      3131.439        2440.088          38.320          34.500
+ -11699614.714 8  -9076586.576 8  22546429.097    22546428.972    22546433.047
+     -2818.480       -2196.215          45.270          41.800
+ -20970146.503 8 -16320420.403 8  21178379.592    21178380.106    21178382.798
+      2228.139        1736.214          48.750          45.620
+ 04  6 10  0 40 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25694196.859 9 -20010519.271 8  20335516.626    20335515.902    20335519.456
+       -73.355         -57.158          51.870          48.750
+ -13571651.502 8 -10567678.713 8  22818242.043    22818241.863    22818245.957
+      1456.217        1134.715          44.580          40.760
+  -6360105.517 8  -4944056.477 8  23540694.449    23540693.967    23540697.552
+     -3191.551       -2486.926          43.190          40.060
+ -15543823.618 8 -12097010.815 8  22067087.532    22067086.166    22067090.231
+      1608.468        1253.347          46.310          42.840
+ -23105112.526 8 -17992278.484 8  20886531.009    20886530.395    20886534.675
+      -765.193        -596.256          49.790          48.750
+  -5059573.019 7  -3914609.752 7  24648874.280    24648874.329    24648877.414
+      3126.226        2436.000          37.280          35.200
+ -11614968.637 8  -9010628.597 8  22562537.427    22562536.595    22562540.879
+     -2824.626       -2201.011          45.270          41.800
+ -21036840.322 8 -16372389.606 8  21165687.852    21165688.309    21165691.027
+      2218.070        1728.365          48.750          45.270
+ 04  6 10  0 41  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25691759.641 9 -20008620.133 8  20335980.126    20335979.616    20335983.241
+       -89.134         -69.457          51.870          48.750
+ -13615321.402 8 -10601707.167 8  22809930.907    22809931.347    22809935.277
+      1454.926        1133.707          44.580          40.410
+  -6264337.883 8  -4869432.356 8  23558918.740    23558918.167    23558921.580
+     -3192.882       -2487.956          43.540          40.410
+ -15591850.018 8 -12134433.955 8  22057947.042    22057946.154    22057951.009
+      1593.298        1241.533          45.970          42.840
+ -23081945.618 8 -17974226.328 8  20890939.373    20890938.888    20890943.090
+      -779.158        -607.136          49.790          48.750
+  -5153279.967 7  -3987628.173 7  24631043.808    24631044.164    24631045.186
+      3120.846        2431.832          37.630          33.810
+ -11530136.450 8  -8944525.585 8  22578680.039    22578679.714    22578684.005
+     -2830.820       -2205.838          45.270          41.800
+ -21103228.575 8 -16424120.684 8  21153054.837    21153054.822    21153057.955
+      2207.833        1720.387          48.400          45.620
+ 04  6 10  0 41 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25688848.929 9 -20006352.045 8  20336534.278    20336533.669    20336537.212
+      -104.828         -81.686          51.870          48.750
+ -13658953.891 8 -10635706.477 8  22801629.567    22801629.062    22801632.891
+      1453.814        1132.839          44.930          40.760
+  -6168529.657 8  -4794776.575 8  23577149.742    23577149.800    23577153.327
+     -3194.153       -2488.952          43.540          40.060
+ -15639420.744 8 -12171502.034 8  22048894.275    22048893.919    22048898.045
+      1578.176        1229.745          45.970          42.490
+ -23058361.099 8 -17955848.775 8  20895427.718    20895426.962    20895431.103
+      -792.971        -617.899          49.790          48.750
+  -5246824.920 7  -4060520.394 7  24613243.228    24613242.981    24613244.325
+      3115.562        2427.709          37.980          35.540
+ -11445120.349 8  -8878279.286 8  22594856.590    22594857.433    22594862.335
+     -2836.808       -2210.500          45.270          42.150
+ -21169308.765 8 -16475611.719 8  21140480.748    21140480.546    21140483.459
+      2197.608        1712.422          48.750          45.620
+ 04  6 10  0 42  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25685463.816 9 -20003714.290 8  20337178.074    20337177.741    20337181.239
+      -120.588         -93.965          51.870          48.750
+ -13702548.966 8 -10669676.640 8  22793332.453    22793332.372    22793336.268
+      1452.652        1131.933          44.580          40.410
+  -6072683.717 8  -4720091.424 7  23595389.117    23595388.794    23595391.986
+     -3195.300       -2489.846          43.540          39.370
+ -15686533.206 8 -12208213.039 8  22039930.449    22039929.108    22039933.528
+      1562.896        1217.838          45.970          42.840
+ -23034360.311 8 -17937146.846 8  20899994.740    20899994.343    20899998.327
+      -806.710        -628.603          49.790          48.750
+  -5340206.726 7  -4133285.439 7  24595473.298    24595473.275    24595475.955
+      3110.149        2423.484          38.320          36.590
+ -11359923.100 8  -8811891.822 8  22611070.602    22611070.307    22611074.203
+     -2842.762       -2215.135          45.620          41.800
+ -21235078.518 8 -16526860.875 8  21127964.955    21127965.094    21127968.005
+      2187.277        1704.374          48.750          45.620
+ 04  6 10  0 42 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25681603.676 9 -20000706.388 8  20337913.084    20337912.401    20337915.887
+      -136.706        -106.523          51.870          48.750
+ -13746107.362 8 -10703618.260 8  22785044.164    22785044.172    22785047.626
+      1451.142        1130.760          44.930          40.760
+  -5976802.713 8  -4645378.934 7  23613633.626    23613633.585    23613637.163
+     -3196.693       -2490.932          42.840          39.020
+ -15733184.669 8 -12244564.807 8  22031052.086    22031050.860    22031055.960
+      1547.236        1205.639          45.970          43.190
+ -23009944.845 9 -17918121.793 8  20904640.392    20904640.267    20904644.504
+      -820.856        -639.631          50.140          48.750
+  -5433423.445 7  -4205921.849 7  24577734.389    24577733.950    24577736.285
+      3104.358        2418.986          37.980          35.200
+ -11274547.111 8  -8745365.081 8  22627315.824    22627316.767    22627321.682
+     -2848.947       -2219.960          45.620          42.150
+ -21300535.536 8 -16577866.334 8  21115507.883    21115508.584    21115511.920
+      2176.536        1696.001          49.090          45.620
+ 04  6 10  0 43  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25677267.613 9 -19997327.633 8  20338737.832    20338737.313    20338740.993
+      -152.569        -118.885          51.870          48.750
+ -13789629.578 8 -10737531.658 8  22776761.482    22776761.434    22776765.855
+      1449.949        1129.831          44.580          41.100
+  -5880889.709 8  -4570641.535 7  23631884.452    23631885.027    23631888.788
+     -3197.683       -2491.707          42.490          39.020
+ -15779372.882 8 -12280555.601 8  22022262.071    22022261.708    22022266.243
+      1531.770        1193.586          45.970          42.840
+ -22985116.027 9 -17898774.649 8  20909366.002    20909365.229    20909369.170
+      -834.575        -650.317          50.140          48.750
+  -5526473.878 7  -4278428.695 7  24560028.456    24560028.391    24560030.037
+      3098.771        2414.628          39.020          35.540
+ -11188995.173 8  -8678701.248 8  22643597.998    22643596.869    22643600.825
+     -2854.736       -2224.474          45.620          41.800
+ -21365677.321 8 -16628626.172 8  21103112.909    21103112.953    21103115.519
+      2166.067        1687.842          49.090          45.620
+ 04  6 10  0 43 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25672454.713 9 -19993577.318 8  20339653.842    20339653.195    20339656.738
+      -168.429        -131.249          51.870          48.750
+ -13833115.605 8 -10771416.864 8  22768486.917    22768486.893    22768489.907
+      1448.823        1128.952          44.580          40.760
+  -5784947.588 8  -4495881.422 7  23650141.938    23650142.443    23650146.559
+     -3198.559       -2492.388          42.150          39.370
+ -15825095.080 8 -12316183.282 8  22013562.301    22013561.253    22013565.487
+      1516.232        1181.474          46.310          42.840
+ -22959875.589 9 -17879106.761 8  20914168.415    20914168.121    20914172.082
+      -848.209        -660.948          50.140          48.750
+  -5619356.850 7  -4350805.093 7  24542353.681    24542352.634    24542355.801
+      3093.254        2410.318          39.710          35.890
+ -11103269.669 8  -8611902.147 8  22659910.666    22659910.000    22659914.061
+     -2860.459       -2228.930          45.620          41.450
+ -21430501.595 8 -16679138.594 8  21090777.184    21090777.570    21090780.119
+      2155.429        1679.553          49.440          45.620
+ 04  6 10  0 44  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25667164.113 9 -19989454.778 8  20340660.434    20340660.002    20340663.603
+      -184.248        -143.571          51.870          48.750
+ -13876565.743 8 -10805274.093 8  22760218.613    22760218.428    22760222.944
+      1447.761        1128.115          44.580          41.450
+  -5688978.841 8  -4421100.579 7  23668405.325    23668404.681    23668408.102
+     -3199.263       -2492.935          42.150          39.370
+ -15870348.511 8 -12351445.700 8  22004950.524    22004949.823    22004954.440
+      1500.704        1169.382          46.310          42.840
+ -22934224.795 9 -17859119.121 8  20919050.033    20919049.473    20919053.276
+      -861.722        -671.473          50.140          48.400
+  -5712070.491 7  -4423049.498 7  24524709.515    24524709.730    24524711.875
+      3087.717        2406.014          39.020          36.240
+ -11017372.733 8  -8544969.481 8  22676255.185    22676255.265    22676259.812
+     -2865.965       -2233.221          45.270          41.800
+ -21495005.824 8 -16729401.641 8  21078502.621    21078502.631    21078505.475
+      2144.846        1671.306          49.440          45.970
+ 04  6 10  0 44 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25661395.005 9 -19984959.394 8  20341758.540    20341757.938    20341761.545
+      -200.268        -156.057          51.870          48.750
+ -13919980.224 8 -10839103.511 8  22751957.125    22751957.283    22751960.637
+      1446.442        1127.093          44.580          40.760
+  -5592986.314 8  -4346301.211 7  23686670.115    23686671.071    23686674.763
+     -3200.133       -2493.615          42.490          39.020
+ -15915130.661 8 -12386340.884 8  21996427.842    21996427.722    21996432.662
+      1484.861        1157.024          45.970          43.190
+ -22908165.235 9 -17838812.977 8  20924009.463    20924008.528    20924012.339
+      -875.400        -682.133          50.140          48.750
+  -5804613.234 7  -4495160.772 7  24507098.743    24507098.972    24507102.351
+      3081.916        2401.477          39.020          36.240
+ -10931306.869 8  -8477905.209 8  22692633.631    22692633.199    22692637.587
+     -2871.628       -2237.632          45.270          41.800
+ -21559187.385 8 -16779413.267 8  21066288.550    21066289.006    21066292.060
+      2133.974        1662.830          49.440          45.970
+ 04  6 10  0 45  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25655146.764 9 -19980090.640 8  20342947.168    20342946.751    20342950.381
+      -216.100        -168.392          51.870          48.750
+ -13963359.904 8 -10872905.821 8  22743701.424    22743701.768    22743705.179
+      1445.466        1126.336          44.580          40.760
+  -5496973.038 8  -4271485.649 7  23704942.361    23704942.333    23704945.750
+     -3200.596       -2493.968          43.190          39.020
+ -15959439.128 8 -12420866.948 8  21987997.453    21987996.609    21988001.097
+      1469.217        1144.845          46.310          43.190
+ -22881698.277 9 -17818189.364 8  20929044.818    20929044.746    20929048.690
+      -888.804        -692.576          50.140          48.400
+  -5896983.660 7  -4567137.760 7  24489522.700    24489522.410    24489524.218
+      3076.372        2397.177          39.020          35.200
+ -10845075.059 8  -8410711.603 8  22709042.762    22709042.872    22709047.236
+     -2877.010       -2241.825          45.270          41.800
+ -21623044.070 8 -16829171.721 8  21054137.835    21054137.494    21054140.076
+      2123.267        1654.492          49.090          45.970
+ 04  6 10  0 45 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25648419.031 9 -19974848.227 8  20344227.550    20344226.976    20344230.731
+      -232.107        -180.863          51.530          48.750
+ -14006705.019 8 -10906681.125 8  22735453.759    22735453.702    22735457.892
+      1444.329        1125.445          44.580          41.100
+  -5400942.030 8  -4196656.227 7  23723216.487    23723216.784    23723220.107
+     -3201.145       -2494.399          43.540          39.370
+ -16003271.407 8 -12455021.934 8  21979656.739    21979656.147    21979659.868
+      1453.241        1132.389          46.310          43.190
+ -22854825.620 9 -17797249.598 8  20934159.124    20934158.514    20934162.505
+      -902.291        -703.085          50.140          48.750
+  -5989180.583 7  -4638979.544 7  24471977.853    24471977.011    24471979.349
+      3070.457        2392.550          38.320          34.500
+ -10758679.484 8  -8343390.359 8  22725483.105    22725482.754    22725487.405
+     -2882.398       -2246.026          45.270          41.800
+ -21686573.571 8 -16878675.199 8  21042048.198    21042048.254    21042050.939
+      2112.314        1645.958          49.090          45.970
+ 04  6 10  0 46  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25641210.704 9 -19969231.353 8  20345599.531    20345598.749    20345602.420
+      -248.317        -193.494          51.530          48.750
+ -14050015.858 8 -10940429.791 8  22727211.509    22727211.673    22727215.275
+      1443.024        1124.427          44.580          40.760
+  -5304895.948 8  -4121815.096 7  23741493.293    23741493.284    23741497.048
+     -3201.790       -2494.903          43.190          39.710
+ -16046624.783 8 -12488803.778 8  21971406.221    21971405.225    21971410.214
+      1437.071        1119.796          46.310          42.840
+ -22827548.908 8 -17775995.004 8  20939349.133    20939348.961    20939353.061
+      -915.934        -713.716          49.790          48.400
+  -6081202.263 7  -4710684.783 7  24454467.008    24454466.847    24454469.255
+      3064.341        2387.800          37.980          35.890
+ -10672122.091 8  -8275943.064 8  22741955.321    22741955.005    22741959.096
+     -2887.900       -2250.314          44.930          41.800
+ -21749773.358 8 -16927921.780 8  21030021.730    21030021.713    21030024.865
+      2101.106        1637.224          49.090          46.310
+ 04  6 10  0 46 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25633521.047 9 -19963239.440 8  20347062.812    20347062.085    20347065.758
+      -264.474        -206.088          51.870          48.750
+ -14093292.707 8 -10974152.016 8  22718977.487    22718977.036    22718980.737
+      1441.774        1123.457          44.930          41.450
+  -5208837.220 8  -4046964.167 7  23759774.209    23759773.023    23759776.268
+     -3202.256       -2495.269          42.840          39.710
+ -16089496.985 8 -12522210.716 8  21963247.957    21963247.326    21963251.193
+      1420.918        1107.209          46.310          42.840
+ -22799869.542 8 -17754426.686 8  20944616.803    20944616.271    20944620.377
+      -929.434        -724.237          49.790          48.400
+  -6173047.270 7  -4782252.374 7  24436988.395    24436988.998    24436991.519
+      3058.453        2383.211          38.320          35.540
+ -10585405.882 8  -8208372.037 8  22758456.824    22758456.380    22758460.350
+     -2893.277       -2254.503          45.270          41.450
+ -21812641.059 8 -16976909.609 8  21018058.121    21018058.174    21018061.485
+      2089.896        1628.486          49.090          46.310
+ 04  6 10  0 47  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25625349.387 9 -19956871.914 8  20348617.822    20348617.195    20348620.713
+      -280.384        -218.479          51.870          48.750
+ -14136535.820 8 -11007847.902 8  22710747.816    22710747.370    22710751.600
+      1440.859        1122.747          44.930          41.450
+  -5112768.816 8  -3972105.653 7  23778054.572    23778054.307    23778057.694
+     -3202.341       -2495.330          42.490          39.020
+ -16131885.674 8 -12555240.851 8  21955181.582    21955181.089    21955185.170
+      1404.912        1094.740          46.310          42.840
+ -22771789.180 8 -17732545.873 8  20949960.441    20949959.686    20949963.859
+      -942.590        -734.484          49.790          48.400
+  -6264714.471 7  -4853681.407 7  24419546.443    24419544.656    24419547.020
+      3052.621        2378.668          37.980          34.850
+ -10498533.321 8  -8140679.149 8  22774987.438    22774987.259    22774991.978
+     -2898.311       -2258.424          44.930          41.450
+ -21875174.224 8 -17025636.729 8  21006158.588    21006158.592    21006161.468
+      2078.905        1619.926          49.090          45.970
+ 04  6 10  0 47 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25616695.107 9 -19950128.298 8  20350264.218    20350263.880    20350267.672
+      -296.511        -231.045          51.870          48.750
+ -14179745.643 8 -11041517.847 8  22702525.324    22702525.358    22702529.066
+      1439.684        1121.826          44.930          41.450
+  -5016693.527 8  -3897241.761 7  23796337.003    23796337.136    23796339.269
+     -3202.580       -2495.516          42.490          38.320
+ -16173788.085 8 -12587892.059 8  21947208.886    21947207.943    21947211.480
+      1388.644        1082.061          46.660          43.190
+ -22743309.288 8 -17710353.716 8  20955379.503    20955378.912    20955383.167
+      -955.917        -744.873          49.790          48.400
+  -6356202.184 7  -4924970.571 7  24402136.271    24402136.127    24402137.437
+      3046.563        2373.945          38.320          35.200
+ -10411506.552 8  -8072866.072 8  22791548.929    22791548.575    22791552.256
+     -2903.420       -2262.405          44.930          41.450
+ -21937370.574 8 -17074101.390 8  20994322.756    20994323.119    20994325.696
+      2067.586        1611.111          49.090          45.970
+ 04  6 10  0 48  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25607557.363 9 -19943007.981 8  20352003.708    20352002.749    20352006.426
+      -312.643        -243.615          51.530          48.750
+ -14222922.280 8 -11075161.926 8  22694308.358    22694308.320    22694313.013
+      1438.609        1120.992          44.930          41.800
+  -4920614.083 8  -3822374.643 7  23814620.208    23814619.803    23814622.757
+     -3202.640       -2495.555          41.800          38.320
+ -16215201.928 8 -12620162.563 8  21939326.698    21939326.050    21939330.725
+      1372.336        1069.354          46.660          42.840
+ -22714431.453 8 -17687851.489 8  20960875.039    20960874.418    20960878.585
+      -969.142        -755.175          49.790          48.400
+  -6447509.090 7  -4996118.879 7  24384761.127    24384760.528    24384762.528
+      3040.583        2369.297          39.020          35.200
+ -10324328.179 8  -8004934.866 8  22808138.062    22808137.683    22808141.302
+     -2908.433       -2266.309          44.930          40.760
+ -21999227.535 8 -17122301.609 8  20982551.520    20982551.861    20982555.270
+      2056.228        1602.260          49.090          45.970
+ 04  6 10  0 48 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25597935.716 9 -19935510.604 8  20353834.497    20353833.695    20353837.403
+      -328.882        -256.268          51.530          48.750
+ -14266066.537 8 -11108780.797 8  22686098.793    22686098.334    22686102.005
+      1437.407        1120.063          44.930          41.450
+  -4824533.209 8  -3747506.421 7  23832903.383    23832903.184    23832906.363
+     -3202.773       -2495.660          41.800          37.980
+ -16256124.840 8 -12652050.545 8  21931540.667    21931539.291    21931543.434
+      1355.805        1056.469          46.660          42.840
+ -22685157.468 8 -17665040.589 8  20966445.576    20966444.986    20966449.283
+      -982.424        -765.522          49.440          48.400
+  -6538633.579 7  -5067125.066 7  24367419.305    24367419.609    24367422.290
+      3034.400        2364.470          39.370          34.850
+ -10237000.483 8  -7936887.338 8  22824755.627    22824755.324    22824760.022
+     -2913.463       -2270.227          44.930          41.450
+ -22060742.755 8 -17170235.532 8  20970845.366    20970846.023    20970849.329
+      2044.710        1593.284          49.090          46.310
+ 04  6 10  0 49  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25587829.602 9 -19927635.710 8  20355757.625    20355756.892    20355760.474
+      -345.003        -268.833          51.530          48.750
+ -14309177.979 8 -11142374.058 8  22677893.878    22677894.351    22677898.567
+      1436.330        1119.212          44.930          41.450
+  -4728453.557 8  -3672639.147 7  23851187.816    23851187.522    23851189.606
+     -3202.621       -2495.558          42.490          37.630
+ -16296554.421 8 -12683554.101 8  21923845.534    21923845.130    21923850.039
+      1339.328        1043.629          46.660          42.840
+ -22655488.737 8 -17641922.098 8  20972091.241    20972090.524    20972094.959
+      -995.519        -775.729          49.440          48.400
+  -6629574.336 7  -5137988.080 7  24350115.210    24350114.599    24350116.739
+      3028.218        2359.651          39.710          35.540
+ -10149526.045 8  -7868725.443 8  22841402.185    22841401.508    22841405.208
+     -2918.287       -2273.990          44.930          40.760
+ -22121913.951 8 -17217901.384 8  20959205.779    20959205.752    20959208.639
+      2033.207        1584.319          49.440          46.310
+ 04  6 10  0 49 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25577238.364 9 -19919382.801 8  20357772.729    20357772.331    20357775.965
+      -361.012        -281.307          51.530          48.750
+ -14352257.225 8 -11175942.208 8  22669697.363    22669697.044    22669700.377
+      1435.501        1118.572          44.930          41.450
+  -4632378.124 8  -3597775.135 7  23869469.646    23869469.456    23869472.652
+     -3202.281       -2495.282          43.190          37.630
+ -16336488.453 8 -12714671.527 8  21916247.835    21916246.525    21916250.536
+      1322.976        1030.894          46.660          43.190
+ -22625427.092 8 -17618497.430 8  20977811.588    20977811.144    20977815.749
+     -1008.457        -785.811          49.440          48.400
+  -6720330.037 7  -5208706.908 7  24332845.401    24332844.277    24332846.230
+      3022.211        2354.962          39.710          34.850
+ -10061907.417 8  -7800451.195 8  22858074.671    22858074.201    22858078.938
+     -2922.888       -2277.576          44.580          41.100
+ -22182738.897 8 -17265297.439 8  20947630.942    20947631.185    20947633.880
+      2021.822        1575.448          49.440          46.310
+ 04  6 10  0 50  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25566161.691 9 -19910751.624 8  20359881.013    20359880.196    20359883.928
+      -377.181        -293.903          51.530          48.750
+ -14395304.983 8 -11209485.862 8  22661504.909    22661504.899    22661508.974
+      1434.434        1117.746          44.930          41.450
+  -4536309.530 8  -3522916.448 7  23887750.643    23887750.452    23887753.991
+     -3201.973       -2495.043          43.190          37.980
+ -16375924.607 8 -12745400.978 8  21908741.323    21908741.139    21908746.736
+      1306.348        1017.941          46.310          43.190
+ -22594974.034 8 -17594767.768 8  20983607.155    20983606.212    20983610.589
+     -1021.440        -795.926          49.440          48.400
+  -6810898.867 7  -5279280.130 7  24315609.602    24315609.571    24315612.924
+      3015.982        2350.115          39.370          36.240
+  -9974146.889 8  -7732066.376 8  22874774.946    22874775.033    22874778.385
+     -2927.530       -2281.187          44.580          40.410
+ -22243215.058 8 -17312421.707 8  20936121.730    20936122.709    20936125.545
+      2010.187        1566.384          49.790          46.310
+ 04  6 10  0 50 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25554598.641 9 -19901741.461 8  20362080.618    20362080.397    20362084.232
+      -393.501        -306.623          51.530          48.750
+ -14438320.979 8 -11243004.777 8  22653320.274    22653319.627    22653323.471
+      1433.311        1116.866          45.270          41.800
+  -4440250.371 8  -3448065.134 7  23906029.737    23906029.460    23906032.772
+     -3201.739       -2494.851          42.490          37.980
+ -16414860.159 8 -12775740.370 8  21901333.989    21901332.917    21901336.664
+      1289.533        1004.832          46.660          43.190
+ -22564131.208 8 -17570734.397 8  20989476.027    20989475.383    20989479.915
+     -1034.480        -806.086          49.440          48.400
+  -6901280.066 7  -5349707.105 7  24298411.618    24298411.426    24298413.176
+      3009.625        2345.175          39.370          35.890
+  -9886246.575 8  -7663572.631 8  22891501.542    22891501.419    22891506.256
+     -2932.271       -2284.880          44.230          41.100
+ -22303339.932 8 -17359272.245 8  20924681.470    20924681.613    20924684.476
+      1998.321        1557.133          49.790          46.310
+ 04  6 10  0 51  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25542548.863 9 -19892352.029 8  20364374.300    20364373.540    20364377.098
+      -409.772        -319.303          51.530          48.750
+ -14481305.872 8 -11276499.466 8  22645140.283    22645139.857    22645143.730
+      1432.233        1116.018          45.270          41.800
+  -4344203.804 8  -3373223.614 7  23924306.739    23924306.390    23924310.531
+     -3201.344       -2494.558          41.450          38.670
+ -16453293.107 8 -12805688.113 8  21894020.055    21894019.010    21894023.303
+      1272.710         991.717          46.660          43.190
+ -22532900.440 8 -17546398.734 8  20995418.986    20995418.456    20995422.702
+     -1047.440        -816.189          49.440          48.400
+  -6991471.978 7  -5419986.604 7  24281249.768    24281248.328    24281249.987
+      3003.340        2340.277          39.710          35.200
+  -9798209.172 8  -7594972.079 8  22908254.433    22908254.812    22908258.430
+     -2936.834       -2288.442          44.230          40.410
+ -22363111.196 8 -17405847.238 8  20913307.168    20913307.453    20913310.414
+      1986.469        1547.897          49.790          46.660
+ 04  6 10  0 51 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25530011.807 9 -19882582.926 8  20366759.924    20366759.200    20366763.035
+      -426.031        -331.958          51.530          48.750
+ -14524259.811 8 -11309970.056 8  22636966.041    22636965.924    22636970.209
+      1431.233        1115.258          45.270          42.150
+  -4248172.230 8  -3298393.829 7  23942580.215    23942580.569    23942584.717
+     -3200.768       -2494.091          41.100          39.020
+ -16491220.883 8 -12835242.247 8  21886802.786    21886801.956    21886806.220
+      1255.841         978.593          46.660          43.190
+ -22501283.178 8 -17521761.934 8  21001435.504    21001435.066    21001439.362
+     -1060.272        -826.175          49.440          48.400
+  -7081473.149 7  -5490117.481 7  24264121.845    24264122.033    24264123.112
+      2996.835        2335.215          39.020          35.540
+  -9710037.098 8  -7526266.592 8  22925032.337    22925033.288    22925037.775
+     -2941.267       -2291.885          44.230          40.760
+ -22422526.544 8 -17452144.918 8  20902000.878    20902000.988    20902004.063
+      1974.558        1538.628          49.790          46.660
+ 04  6 10  0 52  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25516986.714 9 -19872433.497 8  20369237.987    20369237.810    20369241.547
+      -442.299        -344.653          51.530          48.750
+ -14567183.009 8 -11343416.633 8  22628797.220    22628797.569    22628801.197
+      1430.143        1114.396          44.930          41.800
+  -4152158.322 8  -3223577.768 7  23960852.433    23960851.528    23960855.381
+     -3200.169       -2493.648          41.100          39.020
+ -16528641.466 8 -12864401.123 8  21879681.409    21879680.766    21879684.626
+      1238.861         965.347          46.660          42.840
+ -22469281.154 8 -17496825.286 8  21007525.415    21007524.811    21007528.906
+     -1073.097        -836.184          49.440          48.050
+  -7171282.156 7  -5560098.604 7  24247031.861    24247032.370    24247035.090
+      2990.404        2330.196          39.370          36.590
+  -9621732.745 8  -7457458.024 8  22941836.997    22941837.035    22941841.406
+     -2945.643       -2295.308          44.230          40.760
+ -22481583.682 8 -17498163.441 8  20890762.651    20890762.762    20890765.407
+      1962.560        1529.264          49.790          46.310
+ 04  6 10  0 52 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25503473.411 9 -19861903.654 8  20371809.920    20371809.411    20371812.843
+      -458.585        -357.341          51.530          48.750
+ -14610075.549 8 -11376839.366 8  22620636.115    22620635.800    22620639.342
+      1429.171        1113.646          44.930          41.800
+  -4056164.878 8  -3148777.648 7  23979119.088    23979118.660    23979122.345
+     -3199.367       -2493.013          40.760          38.670
+ -16565552.531 8 -12893162.980 8  21872657.956    21872656.808    21872661.399
+      1221.862         952.095          46.660          43.190
+ -22436895.916 8 -17471590.027 8  21013688.418    21013687.699    21013691.720
+     -1085.817        -846.093          49.440          48.050
+  -7260897.930 7  -5629929.121 7  24229978.059    24229977.952    24229980.718
+      2983.872        2325.091          38.320          35.890
+  -9533298.222 8  -7388548.017 8  22958665.676    22958665.875    22958669.237
+     -2949.927       -2298.647          44.230          40.410
+ -22540280.001 8 -17543900.821 8  20879592.915    20879593.359    20879595.858
+      1950.528        1519.894          49.790          46.310
+ 04  6 10  0 53  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25489471.290 9 -19850992.885 8  20374474.533    20374473.919    20374477.495
+      -474.925        -370.075          51.530          48.750
+ -14652937.977 8 -11410238.592 8  22612478.484    22612478.900    22612482.566
+      1428.098        1112.803          44.930          41.450
+  -3960194.626 8  -3073995.578 7  23997381.239    23997381.124    23997384.605
+     -3198.646       -2492.461          40.760          38.670
+ -16601951.976 8 -12921526.152 8  21865731.268    21865730.298    21865734.589
+      1204.712         938.732          47.010          43.190
+ -22404129.417 8 -17446057.665 8  21019923.614    21019922.868    21019927.058
+     -1098.575        -856.038          49.790          48.050
+  -7350318.741 7  -5699607.744 7  24212964.364    24212962.594    24212964.972
+      2977.368        2320.031          39.020          35.890
+  -9444736.082 8  -7319538.547 8  22975518.655    22975518.354    22975522.794
+     -2954.249       -2302.006          44.230          40.760
+ -22598613.553 8 -17589355.498 8  20868492.334    20868492.838    20868495.665
+      1938.317        1510.373          49.790          46.660
+ 04  6 10  0 53 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25474980.257 9 -19839701.166 8  20377232.047    20377231.444    20377235.059
+      -491.116        -382.689          51.530          48.750
+ -14695770.752 8 -11443614.745 8  22604327.945    22604327.851    22604332.150
+      1427.239        1112.137          44.930          41.450
+  -3864250.406 8  -2999233.822 7  24015639.082    24015638.339    24015642.268
+     -3197.628       -2491.664          40.410          38.670
+ -16637837.489 8 -12949488.878 8  21858901.680    21858901.090    21858905.978
+      1187.677         925.457          46.660          43.540
+ -22370983.308 8 -17420229.520 8  21026230.837    21026230.414    21026234.549
+     -1111.056        -865.760          49.790          48.050
+  -7439543.539 7  -5769133.638 7  24195984.117    24195983.132    24195985.848
+      2970.985        2315.046          39.370          36.590
+  -9356048.733 8  -7250431.534 8  22992395.018    22992395.124    22992399.060
+     -2958.216       -2305.105          44.230          40.760
+ -22656581.746 8 -17634525.500 8  20857461.536    20857461.646    20857464.743
+      1926.228        1500.954          49.790          46.660
+ 04  6 10  0 54  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25459999.682 9 -19828027.990 8  20380082.621    20380082.017    20380085.806
+      -507.450        -395.418          51.530          48.750
+ -14738573.498 8 -11476967.485 8  22596182.535    22596182.714    22596186.793
+      1426.256        1111.361          44.930          41.450
+  -3768334.688 8  -2924494.272 7  24033891.865    24033891.086    24033894.775
+     -3196.580       -2490.857          40.760          38.670
+ -16673206.927 8 -12977049.470 8  21852171.676    21852170.936    21852175.216
+      1170.436         912.021          46.660          43.190
+ -22337459.099 8 -17394106.750 8  21032610.169    21032609.859    21032614.082
+     -1123.636        -875.566          49.790          48.050
+  -7528570.661 8  -5838505.485 7  24179043.532    24179042.701    24179044.272
+      2964.305        2309.858          40.410          35.890
+  -9267238.340 8  -7181228.645 8  23009294.968    23009294.972    23009299.882
+     -2962.317       -2308.300          44.230          40.760
+ -22714182.162 8 -17679408.917 8  20846499.645    20846500.243    20846503.475
+      1913.931        1491.370          49.790          46.660
+ 04  6 10  0 54 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25444528.885 9 -19815972.825 8  20383027.222    20383026.176    20383029.754
+      -523.749        -408.120          51.530          48.750
+ -14781346.648 8 -11510297.146 8  22588043.012    22588042.927    22588047.091
+      1425.336        1110.654          44.580          41.800
+  -3672450.054 8  -2849778.946 7  24052137.515    24052137.252    24052140.674
+     -3195.568       -2490.054          41.100          38.320
+ -16708058.019 8 -13004206.169 8  21845540.760    21845539.592    21845543.502
+      1153.161         898.567          47.010          43.540
+ -22303558.704 8 -17367690.860 8  21039061.980    21039060.949    21039064.810
+     -1136.112        -885.286          49.790          48.050
+  -7617399.286 8  -5907722.694 7  24162140.081    24162138.773    24162141.094
+      2957.705        2304.709          41.100          35.890
+  -9178307.428 8  -7111931.859 8  23026219.421    23026218.787    23026222.254
+     -2966.226       -2311.344          44.230          40.410
+ -22771412.502 8 -17724003.971 8  20835609.392    20835609.888    20835612.730
+      1901.601        1481.765          49.440          46.660
+ 04  6 10  0 55  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25428567.671 9 -19803535.537 8  20386063.825    20386063.487    20386067.239
+      -540.154        -420.901          51.530          48.750
+ -14824090.562 8 -11543604.045 8  22579909.512    22579908.893    22579913.559
+      1424.281        1109.822          44.580          41.800
+  -3576599.440 8  -2775090.147 7  24070376.488    24070377.079    24070380.609
+     -3194.360       -2489.115          41.450          38.320
+ -16742388.797 8 -13030957.435 8  21839007.531    21839006.244    21839010.478
+      1135.717         884.971          47.010          43.540
+ -22269283.811 8 -17340983.172 8  21045583.827    21045583.360    21045587.341
+     -1148.619        -895.031          49.790          48.050
+  -7706027.910 8  -5976784.062 7  24145272.663    24145273.002    24145276.372
+      2951.002        2299.474          40.760          35.890
+  -9089258.386 8  -7042543.022 8  23043162.770    23043163.024    23043167.509
+     -2970.213       -2314.457          44.230          40.410
+ -22828270.561 8 -17768308.963 8  20824790.643    20824790.215    20824793.139
+      1889.096        1472.020          49.790          46.660
+ 04  6 10  0 55 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25412115.773 9 -19790715.874 8  20389194.792    20389194.159    20389197.743
+      -556.646        -433.749          51.530          48.750
+ -14866805.376 8 -11576888.237 8  22571780.303    22571780.923    22571785.013
+      1423.161        1108.955          44.580          41.800
+  -3480785.402 8  -2700429.821 7  24088610.010    24088609.909    24088613.208
+     -3193.244       -2488.256          41.450          37.630
+ -16776196.857 8 -13057301.372 8  21832573.113    21832572.391    21832576.535
+      1118.151         871.288          47.010          43.190
+ -22234636.246 8 -17313985.068 8  21052177.474    21052176.523    21052180.409
+     -1161.147        -904.793          49.790          48.050
+  -7794454.956 8  -6045688.322 7  24128446.506    24128446.385    24128449.026
+      2944.112        2294.124          40.760          36.590
+  -9000093.246 8  -6973063.707 8  23060132.249    23060131.307    23060135.324
+     -2974.149       -2317.526          43.880          40.410
+ -22884753.847 8 -17812321.904 8  20814041.401    20814041.767    20814044.618
+      1876.432        1462.155          49.790          46.660
+ 04  6 10  0 56  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25395172.765 9 -19777513.506 8  20392418.900    20392418.168    20392422.065
+      -573.000        -446.496          51.530          48.750
+ -14909491.407 8 -11610150.006 8  22563658.745    22563658.152    22563661.780
+      1422.199        1108.203          44.930          41.450
+  -3385010.546 8  -2625799.998 7  24106834.814    24106835.379    24106838.292
+     -3191.905       -2487.199          41.800          37.630
+ -16809480.401 8 -13083236.570 8  21826239.420    21826238.792    21826243.260
+      1100.626         857.629          47.010          43.190
+ -22199617.612 8 -17286697.788 8  21058840.816    21058840.180    21058844.358
+     -1173.483        -914.404          49.790          48.050
+  -7882679.377 8  -6114434.632 7  24111657.832    24111657.376    24111660.094
+      2937.350        2288.842          40.760          36.240
+  -8910814.728 8  -6903496.028 8  23077120.215    23077120.275    23077125.260
+     -2977.877       -2320.417          43.880          40.410
+ -22940860.033 8 -17856040.968 8  20803364.833    20803365.076    20803368.129
+      1863.835        1452.339          49.790          46.660
+ 04  6 10  0 56 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25377738.314 9 -19763928.217 8  20395736.639    20395735.992    20395739.438
+      -589.385        -459.260          51.530          48.750
+ -14952148.910 8 -11643389.540 8  22555540.492    22555540.782    22555544.341
+      1421.354        1107.548          44.930          41.450
+  -3289277.679 8  -2551202.909 7  24125052.562    24125052.674    24125055.980
+     -3190.457       -2486.078          41.800          37.630
+ -16842237.151 8 -13108761.305 8  21820006.980    21820006.054    21820009.659
+      1083.054         843.939          47.010          43.540
+ -22164229.685 8 -17259122.773 8  21065574.718    21065574.318    21065578.345
+     -1185.717        -923.937          49.440          48.050
+  -7970699.712 8  -6183021.956 7  24094907.643    24094908.245    24094910.080
+      2930.593        2283.574          40.410          36.240
+  -8821424.746 8  -6833841.500 8  23094131.288    23094131.069    23094134.593
+     -2981.519       -2323.254          44.230          40.060
+ -22996586.922 9 -17899464.502 8  20792760.653    20792761.025    20792763.822
+      1851.183        1442.480          50.140          47.010
+ 04  6 10  0 57  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25359811.732 9 -19749959.457 8  20399147.776    20399147.312    20399150.825
+      -605.638        -471.923          51.530          48.750
+ -14994777.780 8 -11676606.805 8  22547428.764    22547428.892    22547432.822
+      1420.481        1106.868          45.270          42.150
+  -3193589.335 8  -2476640.508 7  24143261.421    24143261.556    24143264.757
+     -3188.718       -2484.721          41.450          37.980
+ -16874465.180 8 -13133874.051 8  21813873.447    21813872.614    21813877.234
+      1065.560         830.309          47.010          43.540
+ -22128474.200 8 -17231261.356 8  21072378.859    21072378.216    21072382.503
+     -1197.792        -933.341          49.440          48.050
+  -8058514.660 8  -6251449.202 7  24078197.326    24078197.405    24078200.326
+      2923.795        2278.273          40.060          36.930
+  -8731925.452 8  -6764101.813 8  23111161.502    23111161.514    23111166.321
+     -2985.009       -2325.986          43.540          40.060
+ -23051931.975 9 -17942590.509 8  20782229.121    20782229.050    20782231.689
+      1838.551        1432.637          50.140          46.660
+ 04  6 10  0 57 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25341393.312 9 -19735607.443 8  20402653.004    20402652.183    20402655.677
+      -622.259        -484.876          51.530          48.750
+ -15037378.393 8 -11709802.045 8  22539322.187    22539322.355    22539325.704
+      1419.384        1106.011          45.270          42.150
+  -3097948.043 8  -2402114.804 7  24161461.548    24161461.131    24161464.744
+     -3187.317       -2483.618          41.100          38.320
+ -16906162.330 8 -13158573.125 8  21807841.449    21807840.785    21807845.213
+      1047.602         816.313          47.010          43.540
+ -22092352.955 8 -17203114.937 8  21079252.784    21079251.950    21079256.056
+     -1210.173        -942.993          49.440          48.050
+  -8146122.939 7  -6319715.409 7  24061526.680    24061526.098    24061529.288
+      2916.732        2272.785          39.370          36.240
+  -8642319.770 8  -6694279.228 8  23128213.420    23128213.864    23128217.472
+     -2988.718       -2328.874          43.880          40.410
+ -23106893.288 9 -17985417.486 8  20771769.881    20771770.014    20771772.529
+      1825.521        1422.483          50.140          46.660
+ 04  6 10  0 58  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25322482.485 9 -19720871.734 8  20406251.265    20406250.693    20406254.391
+      -638.591        -497.605          51.530          48.750
+ -15079950.821 8 -11742975.371 8  22531220.403    22531220.614    22531224.521
+      1418.486        1105.310          45.620          42.150
+  -3002356.500 8  -2327627.888 7  24179651.330    24179651.065    24179655.160
+     -3185.553       -2482.247          40.410          38.320
+ -16937326.818 8 -13182857.132 8  21801910.856    21801909.918    21801914.942
+      1029.917         802.530          46.660          43.540
+ -22055867.764 8 -17174684.912 8  21086195.403    21086194.894    21086199.057
+     -1222.189        -952.359          49.440          48.050
+  -8233523.387 7  -6387819.702 7  24044894.408    24044894.036    24044896.958
+      2909.830        2267.397          39.370          36.240
+  -8552609.563 8  -6624375.189 8  23145285.012    23145284.307    23145288.705
+     -2992.060       -2331.475          43.540          40.410
+ -23161468.130 9 -18027943.317 8  20761384.782    20761385.017    20761387.570
+      1812.642        1412.443          50.140          46.660
+ 04  6 10  0 58 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25303079.121 9 -19705752.229 8  20409943.278    20409943.046    20409946.733
+      -654.953        -510.351          51.530          48.750
+ -15122495.709 8 -11776127.204 8  22523124.582    22523124.554    22523128.481
+      1417.619        1104.637          45.970          42.150
+  -2906817.451 7  -2253181.866 7  24197831.338    24197831.615    24197835.151
+     -3183.631       -2480.766          39.710          38.320
+ -16967956.692 8 -13206724.568 8  21796082.536    21796081.941    21796085.904
+      1012.106         788.654          46.660          43.190
+ -22019020.518 8 -17145972.774 8  21093207.120    21093206.563    21093210.884
+     -1234.196        -961.710          49.440          48.050
+  -8320714.799 7  -6455761.067 7  24028303.194    24028302.027    24028304.933
+      2902.889        2261.992          39.020          36.930
+  -8462797.174 8  -6554391.532 8  23162375.630    23162374.992    23162379.592
+     -2995.437       -2334.110          43.540          40.060
+ -23215654.474 9 -18070166.416 8  20751073.122    20751073.775    20751076.561
+      1799.734        1402.390          50.480          47.010
+ 04  6 10  0 59  0.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25283182.779 9 -19690248.583 8  20413729.849    20413729.300    20413732.938
+      -671.418        -523.181          51.530          48.750
+ -15165012.657 8 -11809257.269 8  22515034.055    22515034.322    22515037.783
+      1416.677        1103.908          45.970          42.150
+  -2811333.305 7  -2178778.656 7  24216000.731    24216001.496    24216005.572
+     -3181.812       -2479.326          39.370          38.320
+ -16998049.759 8 -13230173.711 8  21790356.076    21790355.191    21790359.956
+       994.135         774.655          47.010          43.540
+ -21981812.782 8 -17116979.730 8  21100287.346    21100287.071    21100291.416
+     -1246.256        -971.107          49.440          48.050
+  -8407695.817 7  -6523538.532 7  24011750.098    24011749.698    24011752.636
+      2895.810        2256.466          39.710          35.890
+  -8372884.973 8  -6484330.086 8  23179485.145    23179485.611    23179490.221
+     -2998.715       -2336.658          43.540          40.410
+ -23269449.939 9 -18112084.934 8  20740836.923    20740836.842    20740839.477
+      1786.669        1392.213          50.480          47.010
+ 04  6 10  0 59 30.0000000  0  8G 5G 6G 9G10G17G21G24G30              .000000000
+ -25262793.424 9 -19674360.768 8  20417610.077    20417609.120    20417612.787
+      -687.947        -536.068          51.530          48.750
+ -15207501.985 8 -11842365.825 8  22506949.196    22506948.416    22506951.769
+      1415.687        1103.123          45.970          41.800
+  -2715906.723 8  -2104420.278 7  24234160.858    24234160.398    24234164.193
+     -3180.008       -2477.923          40.060          38.320
+ -17027603.961 8 -13253202.958 8  21784732.610    21784731.469    21784735.293
+       976.049         760.551          47.010          43.540
+ -21944246.337 8 -17087707.177 8  21107435.959    21107435.443    21107439.934
+     -1258.233        -980.445          49.090          48.050
+  -8494465.117 8  -6591151.010 7  23995239.364    23995239.028    23995241.347
+      2888.640        2250.885          40.060          36.240
+  -8282875.170 8  -6414192.591 7  23196613.900    23196613.063    23196617.484
+     -3001.988       -2339.210          43.540          39.710
+ -23322852.187 9 -18153697.054 8  20730674.222    20730674.417    20730677.287
+      1773.401        1381.868          50.140          47.010
diff --git a/trunk/examples/example1.cpp b/trunk/examples/example1.cpp
new file mode 100644
index 0000000..c6042b2
--- /dev/null
+++ b/trunk/examples/example1.cpp
@@ -0,0 +1,27 @@
+#include <iostream>
+#include "DayTime.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(int argc, char* argv[])
+{
+
+   try {
+      
+      DayTime time;
+
+      cout << "Hello world!" << endl;
+      cout << "   The current GPS week is " << time.GPSfullweek() << endl;
+      cout << "   The day of the GPS week is " << time.GPSday() << endl;
+      cout << "   The seconds of the GPS week is " << time.GPSsecond() << endl;
+
+   }
+   catch( Exception error)
+   {
+      cout << error << endl;
+      exit(-1);
+   }
+
+   exit(0);
+}
diff --git a/trunk/examples/example2.cpp b/trunk/examples/example2.cpp
new file mode 100644
index 0000000..f03c66f
--- /dev/null
+++ b/trunk/examples/example2.cpp
@@ -0,0 +1,33 @@
+#include <iostream>
+#include <iomanip>
+
+#include "RinexObsBase.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+int main(void)
+{
+   // Create the input file stream
+   RinexObsStream rin("bahr1620.04o");
+
+   // Create the output file stream
+   RinexObsStream rout("bahr1620.04o.new", ios::out|ios::trunc);
+
+   // Read the RINEX header
+   RinexObsHeader head; //RINEX header object
+   rin >> head;
+   rout.header = rin.header;
+   rout << rout.header;
+
+   // Loop over all data epochs
+   RinexObsData data; //RINEX data object
+   while (rin >> data) {
+     rout << data;
+   }
+
+   exit(0);
+}
diff --git a/trunk/examples/example3.cpp b/trunk/examples/example3.cpp
new file mode 100644
index 0000000..0a42c0f
--- /dev/null
+++ b/trunk/examples/example3.cpp
@@ -0,0 +1,112 @@
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+#include "icd_200_constants.hpp"
+#include <iostream>
+
+using namespace std;
+using namespace gpstk;
+
+main(int argc, char *argv[])
+{
+    int myprn;
+
+    if (argc<2)
+    {
+       cout << "Required argument is a RINEX obs file." << endl;
+       exit(-1);
+    }
+
+    cout << "Name your PRN of interest (by number: 1 through 32): ";
+    cin  >> myprn;
+
+    double gamma = (L1_FREQ / L2_FREQ)*(L1_FREQ / L2_FREQ);
+
+    try
+    {
+       cout << "Reading " << argv[1] << "." << endl;
+
+//Declare RINEX observation file streams and data objects
+//-------------------------------------------------------
+       RinexObsStream roffs(argv[1]);
+       RinexObsHeader roh;
+       RinexObsData roe;
+       RinexObsData::RinexDatum dataobj;
+
+//Read the RINEX header (this could be skipped).
+//--------------------------------------------       
+       roffs >> roh;
+
+//Print RINEX header to terminal screen
+//-------------------------------
+       roh.dump(cout);
+
+//Loop through epochs and process data for each.
+//----------------------------------------------
+       while (roffs >> roe)
+       {
+
+            cout << roe.time  << " ";
+
+//Make a GPSTK RinexPrn object for your PRN so you can search for it.
+//-----------------------------------------------------------------
+            RinexPrn prn(myprn, (RinexSystem) systemGPS);
+
+//Check to see if your PRN is in view at this epoch (ie. search for the PRN).
+//-------------------------------------------------------------------------
+            RinexObsData::RinexPrnMap::iterator pointer = roe.obs.find(prn);
+            if( pointer == roe.obs.end() ) cout << "PRN " << myprn << " not in view " << endl;
+            else
+            {
+
+//Get P1 pseudorange code.
+//Here are two equivalent ways to get the RinexDatum from the RinexObsData object
+//-------------------------------------------------------------------------------
+                dataobj = roe.obs[prn][RinexObsHeader::P1];  //The intuitive way
+
+                RinexObsData::RinexDatum dataobj2 = (*pointer).second[RinexObsHeader::P1];  //The more efficient STL way
+
+                if( dataobj.data != dataobj.data) cout << "STL has a bug! (Type crtl-C now or else orcs will crawl from you ears!)" << endl;
+
+                double P1 = dataobj.data;
+
+//Get P2 pseudorange and L1 phase measurement.
+//We will stick with the intuitive way.
+//-------------------------------------
+                dataobj = roe.obs[prn][RinexObsHeader::P2];
+                double P2 = dataobj.data;
+
+                dataobj = roe.obs[prn][RinexObsHeader::L1];
+                double L1 = dataobj.data;
+
+//Compute multipath
+//-----------------
+                double mu = P1 -L1*(C_GPS_M/L1_FREQ) -2*(P1 -P2)/(1-gamma);
+
+                cout << " PRN " << myprn << " biased multipath " <<  mu << endl;
+            }
+
+       }
+
+       cout << "Read " << roffs.recordNumber << " epochs.  Cheers."  << endl;
+       exit(0);
+    }
+    catch(FFStreamError& e)
+    {
+       cout << e;
+       exit(1);
+    }
+    catch(Exception& e)
+    {
+       cout << e;
+       exit(1);
+    }
+    catch (...)
+    {
+       cout << "unknown error.  I don't feel so well..." << endl;
+       exit(1);
+    }
+
+    exit(0);
+ }
diff --git a/trunk/examples/example4.cpp b/trunk/examples/example4.cpp
new file mode 100644
index 0000000..ee8e03b
--- /dev/null
+++ b/trunk/examples/example4.cpp
@@ -0,0 +1,160 @@
+#include <string>
+#include <vector>
+
+#include "RinexObsBase.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+
+#include "RinexNavBase.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexMetBase.hpp"
+#include "RinexMetData.hpp"
+
+#include "RinexMetHeader.hpp"
+#include "RinexMetStream.hpp"
+
+#include "TropModel.hpp" 
+#include "BCEphemerisStore.hpp"
+#include "RAIMSolution.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+main(int argc, char *argv[])
+{
+   BCEphemerisStore bcestore;
+   RAIMSolution raimSolver;
+   ZeroTropModel noTropModel;
+   GGTropModel ggTropModel;
+   TropModel *tropModelPtr=&noTropModel;
+
+
+   if ((argc < 3) || (argc>4))
+   {
+      cerr <<  "Usage:" << endl; 
+      cerr << "   " << argv[0] << " <RINEX Obs file>  <RINEX Nav file>  [<RINEX Met file>]" << endl;
+      exit (-1);
+   }
+
+   const double gamma = (L1_FREQ / L2_FREQ)*(L1_FREQ / L2_FREQ);
+   
+   try
+   {  
+      // Read nav file and store unique list of ephemeredes
+      RinexNavStream rnffs(argv[2]);
+      RinexNavData rne;
+      RinexNavHeader hdr;
+      
+      rnffs >> hdr;
+
+      while (rnffs >> rne) bcestore.addEphemeris(rne);
+      bcestore.SearchNear();
+      
+      // If provided, open and store met file into a linked list.
+      list<RinexMetData> rml;
+      if (argc==4)
+      {
+         RinexMetStream rms(argv[3]);
+         RinexMetHeader rmh;
+         rms >> rmh;
+         
+         RinexMetData rmd;
+         tropModelPtr=&ggTropModel;
+         while (rms >> rmd) rml.push_back(rmd);
+      }
+
+       // Open and read the observation file one epoch at a time.
+      // For each epoch, compute and print a position solution
+      RinexObsStream roffs(argv[1]);
+      roffs.exceptions(ios::failbit);
+
+      RinexObsHeader roh;
+      RinexObsData rod;
+
+      roffs >> roh;
+
+      list<RinexMetData>::iterator mi=rml.begin();
+
+      while (roffs >> rod)
+      {
+         double T, P, H;
+         
+         // Find a weather point.
+         while ( (argc==4) &&
+                 (!rml.empty()) &&
+                 (mi!=rml.end()) &&
+                 ((*mi).time < rod.time) )
+         {
+            mi++;
+            ggTropModel.setWeather((*mi).data[RinexMetHeader::TD],
+                                   (*mi).data[RinexMetHeader::PR],
+                                   (*mi).data[RinexMetHeader::HR]);
+         }
+         
+
+         // Apply editing criteria 
+         if  (rod.epochFlag == 0 || rod.epochFlag == 1) // Begin usable data
+	 {
+	    vector<RinexPrn> prnVec;
+            vector<double> rangeVec;
+
+	    RinexObsData::RinexPrnMap::const_iterator it;
+            for (it = rod.obs.begin(); it!= rod.obs.end(); it++)
+	    {
+	       RinexObsData::RinexObsTypeMap otmap;
+	       RinexObsData::RinexObsTypeMap::const_iterator itP1, itP2; 
+               RinexObsData::RinexDatum meas;
+               otmap = (*it).second;
+               itP1 = otmap.find(RinexObsHeader::P1);
+     
+               if (itP1!=otmap.end())
+	       {
+                  double ionocorr = 0;
+                  itP2 = otmap.find(RinexObsHeader::P2);
+                  if (itP2!=otmap.end()) 
+                     ionocorr = 1./(1.-gamma)*((*itP1).second.data-(*itP2).second.data);
+                  prnVec.push_back((*it).first);
+                  rangeVec.push_back((*itP1).second.data-ionocorr);
+	       }           
+
+            }
+
+            raimSolver.RMSLimit = 3e6;
+	    raimSolver.Compute(rod.time,prnVec,rangeVec, bcestore, \
+			       tropModelPtr);
+
+           if (raimSolver.isValid())
+	   {
+              cout << setprecision(12) << raimSolver.Solution[0] << " " ;
+              cout << raimSolver.Solution[1] << " " ;
+              cout << raimSolver.Solution[2];
+              cout << endl ;
+           }
+            
+ 
+ 	 } // End usable data
+
+      } // End loop through each epoch
+   }
+   catch(Exception& e)
+   {
+      cerr << e << endl;     
+   }
+   catch (...)
+   {
+      cerr << "Caught an unexpected exception." << endl;
+   }
+
+
+      exit(0);
+      
+}
+
+
+
+
+
diff --git a/trunk/src/ANSITime.cpp b/trunk/src/ANSITime.cpp
new file mode 100644
index 0000000..b64b2cc
--- /dev/null
+++ b/trunk/src/ANSITime.cpp
@@ -0,0 +1,126 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ANSITime.cpp#2 $"
+
+#include "ANSITime.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+   const std::string ANSITime::printChars( "K" );
+   const std::string ANSITime::defaultFormat( "%K" );
+   
+   ANSITime& ANSITime::operator=( const ANSITime& right )
+      throw()
+   {
+      time = right.time;
+      return *this;
+   }
+   
+   CommonTime ANSITime::convertToCommonTime() const
+   {
+      return CommonTime( ( MJD_JDAY + UNIX_MJD + time / SEC_PER_DAY ),
+                         ( time % SEC_PER_DAY ),
+                         0 );
+   }
+   
+   void ANSITime::convertFromCommonTime( const CommonTime& ct )
+   {
+      long jday, sod;
+      double fsod;
+      ct.get( jday, sod, fsod );
+      
+      time = 
+         static_cast<time_t>((jday - MJD_JDAY - UNIX_MJD) * SEC_PER_DAY + sod);
+   }
+   
+   std::string ANSITime::printf( const std::string& fmt ) const
+      throw( gpstk::StringUtils::StringException )
+   {
+      try
+      {
+         using gpstk::StringUtils::formattedPrint;
+         std::string rv( fmt );
+
+         rv = formattedPrint( rv, formatPrefixInt + "K",
+                              "Kd", time );
+
+         return rv;         
+      }
+      catch( gpstk::StringUtils::StringException& se )
+      {
+         GPSTK_RETHROW( se );
+      }
+   }
+   
+   bool ANSITime::setFromInfo( const IdToValue& info )
+      throw()
+   {
+      using namespace gpstk::StringUtils;
+      
+      IdToValue::const_iterator i = info.find('K');
+      if( i != info.end() )
+      {
+         time = asInt( i->second );
+         return true;
+      }
+
+      return false;
+   }
+   
+   bool ANSITime::isValid() const
+      throw()
+   {
+      ANSITime temp;
+      temp.convertFromCommonTime( convertToCommonTime() );
+      if( *this == temp )
+      {
+         return true;
+      }
+      return false;
+   }
+   
+   bool ANSITime::operator==( const ANSITime& right ) const
+      throw()
+   {
+      if( time == right.time )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool ANSITime::operator!=( const ANSITime& right ) const
+      throw()
+   {
+      return ( !operator==( right ) );
+   }
+
+   bool ANSITime::operator<( const ANSITime& right ) const
+      throw()
+   {
+      if( time < right.time )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool ANSITime::operator>( const ANSITime& right ) const
+      throw()
+   {
+      return ( !operator<=( right ) );
+   }
+
+   bool ANSITime::operator<=( const ANSITime& right ) const
+      throw()
+   {
+      return ( operator<( right ) ||
+               operator==( right ) );
+   }
+
+   bool ANSITime::operator>=( const ANSITime& right ) const
+      throw()
+   {
+      return ( !operator<( right ) );
+   }
+
+} // namespace
diff --git a/trunk/src/ANSITime.hpp b/trunk/src/ANSITime.hpp
new file mode 100644
index 0000000..5fec982
--- /dev/null
+++ b/trunk/src/ANSITime.hpp
@@ -0,0 +1,150 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ANSITime.hpp#2 $"
+
+#ifndef GPSTK_ANSITIME_HPP
+#define GPSTK_ANSITIME_HPP
+
+#include "TimeTag.hpp"
+#include <time.h>     // for time_t
+
+namespace gpstk
+{
+      /**
+       * This class encapsulates the "ANSITime (seconds since Unix epoch)" time
+       * representation.
+       */
+   class ANSITime : public TimeTag
+   {
+   public:
+      static const std::string printChars;
+      static const std::string defaultFormat;
+      
+         /**
+          * @defgroup utbo ANSITime Basic Operations
+          * Default and Copy Constructors, Assignment Operator and Destructor.
+          */
+         //@{
+
+         /**
+          * Default Constructor.
+          * All elements are initialized to zero.
+          */
+      ANSITime( time_t t = 0 )
+         throw()
+      {
+         time = t;
+      }
+
+         /** 
+          * Copy Constructor.
+          * @param right a reference to the ANSITime object to copy
+          */
+      ANSITime( const ANSITime& right )
+         throw()
+            : time( right.time )
+      {}
+      
+         /**
+          * Alternate Copy Constructor.
+          * Takes a const TimeTag reference and copies its contents via
+          * conversion to CommonTime.
+          * @param right a const reference to the BasicTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      ANSITime( const TimeTag& right )
+         throw( gpstk::InvalidRequest )
+      { 
+         convertFromCommonTime( right.convertToCommonTime() ); 
+      }
+      
+         /** 
+          * Alternate Copy Constructor.
+          * Takes a const CommonTime reference and copies its contents via
+          * the convertFromCommonTime method.
+          * @param right a const reference to the CommonTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      ANSITime( const CommonTime& right )
+         throw( InvalidRequest )
+      {
+         convertFromCommonTime( right );
+      }
+
+         /** 
+          * Assignment Operator.
+          * @param right a const reference to the ANSITime to copy
+          * @return a reference to this ANSITime
+          */
+      ANSITime& operator=( const ANSITime& right )
+         throw();
+      
+         /// Virtual Destructor.
+      virtual ~ANSITime()
+         throw()
+      {}
+         //@}
+
+         // The following functions are required by TimeTag.
+      virtual CommonTime convertToCommonTime() const;
+
+      virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+         /// This function formats this time to a string.  The exceptions 
+         /// thrown would only be due to problems parsing the fmt string.
+      virtual std::string printf( const std::string& fmt ) const
+         throw( gpstk::StringUtils::StringException );
+
+         /**
+          * Set this object using the information provided in \a info.
+          * @param info the IdToValue object to which this object shall be set.
+          * @return true if this object was successfully set using the 
+          *  data in \a info, false if not.
+          */
+      virtual bool setFromInfo( const IdToValue& info )
+         throw();
+      
+         /// Return a string containing the characters that this class
+         /// understands when printing times.
+      virtual std::string getPrintChars() const
+         throw()
+      { 
+         return printChars;
+      }
+
+         /// Return a string containing the default format to use in printing.
+      virtual std::string getDefaultFormat() const
+         throw()
+      {
+         return defaultFormat;
+      }
+
+      virtual bool isValid() const
+         throw();
+
+         /**
+          * @defgroup utco ANSITime Comparison Operators
+          * All comparison operators have a parameter "right" which corresponds
+          *  to the ANSITime object to the right of the symbol.
+          * All comparison operators are const and return true on success
+          *  and false on failure.
+          */
+         //@{
+      bool operator==( const ANSITime& right ) const
+         throw();
+      bool operator!=( const ANSITime& right ) const
+         throw();
+      bool operator<( const ANSITime& right ) const
+         throw();
+      bool operator>( const ANSITime& right ) const
+         throw();
+      bool operator<=( const ANSITime& right ) const
+         throw();
+      bool operator>=( const ANSITime& right ) const
+         throw();
+         //@}
+
+      time_t time;
+   };
+
+} // namespace
+
+#endif // GPSTK_ANSITIME_HPP
diff --git a/trunk/src/AlmOrbit.cpp b/trunk/src/AlmOrbit.cpp
new file mode 100644
index 0000000..6fa03b9
--- /dev/null
+++ b/trunk/src/AlmOrbit.cpp
@@ -0,0 +1,282 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/AlmOrbit.cpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file AlmOrbit.cpp
+ * Encapsulate almanac data, and compute satellite orbit, etc.
+ */
+ 
+#include "icd_200_constants.hpp"
+#include "GPSGeoid.hpp"
+#include "AlmOrbit.hpp"
+#include <cmath>
+
+namespace gpstk
+{
+   AlmOrbit :: AlmOrbit() throw()
+   {
+      ecc = i_offset = OMEGAdot = Ahalf = OMEGA0 = w = M0 = AF0 = AF1 = 0.0;
+
+      Toa = xmit_time = 0;
+
+      week = SV_health = 0;
+   }
+
+   AlmOrbit :: AlmOrbit(short prn, double aEcc, double ai_offset,
+                        double aOMEGAdot, double aAhalf, double aOMEGA0,
+                        double aw, double aM0, double aAF0, double aAF1,
+                        long aToa, long axmit_time, short aweek,
+                        short aSV_health)
+         : ecc(aEcc), i_offset(ai_offset), OMEGAdot(aOMEGAdot), Ahalf(aAhalf),
+           OMEGA0(aOMEGA0), w(aw), M0(aM0), AF0(aAF0), AF1(aAF1), Toa(aToa),
+           xmit_time(axmit_time), week(aweek), SV_health(aSV_health), PRN(prn)
+   {
+   }
+
+   Xvt AlmOrbit :: svXvt(const DayTime& t) const
+      throw()
+   {
+      Xvt sv;
+      GPSGeoid geoid;
+
+      double elapt;                 /* elapsed time since Toa */
+      double A;                     /* semi-major axis */
+      double n;                       /* mean motion */
+      double meana;                 /* mean anomoly */
+      double ea;                    /* eccentric anomoly */
+      short loop;                   /* counter */
+      double f,g,delea,q,gsta,gcta; /* temp. variables */
+      double dtc;                   /* corrected time */
+      double ta;                    /* true anomoly */
+      double sinea,cosea,sinu,cosu;
+      double alat;                  /* arguement of latitude */
+      double ualat;                 /* corrected arguement of latitude */
+      double r;                     /* radius */
+      double i;                     /* inclination */
+      double anlon;                 /* corrected longitue of ascending node */
+      double xip,yip,can,san,cinc,sinc,xef,yef,zef,dek,dlk,div,domk,duv,
+         drv,dxp,dyp,vxef,vyef,vzef;
+      double sqrtgm = ::sqrt(geoid.gm());
+      
+/*   Compute time since Almanac epoch (Toa) including week change */
+      elapt = t - getToaTime();
+      
+         /* compute mean motion from semi-major axis */
+      A = Ahalf * Ahalf;
+      n = sqrtgm / (Ahalf * A);
+      
+         /* compute the mean anomaly */
+      meana = M0 + elapt * n;
+      meana = fmod(meana, 2.0 * PI);
+      
+         /* compute eccentric anomaly by iteration */
+      
+      ea = meana + ecc * sin(meana);
+      loop = 1;
+      
+      do {
+         f = meana - (ea - ecc * sin(ea));
+         g = 1.0 - ecc * ::cos(ea);
+         delea = f / g;
+         ea += delea;
+         loop++;
+      }  while ( fabs(delea) > 1.0e-11 && (loop <= 20));
+      
+         /* compute clock corrections (no relativistic correction computed) */
+      dtc = AF0 + elapt * AF1;
+      sv.dtime = dtc;
+      
+         /* compute the true anomaly */
+      q = sqrt (1.0e0 - ecc * ecc);
+      sinea = ::sin(ea);
+      cosea = ::cos(ea);
+      gsta = q * sinea;
+      gcta = cosea  - ecc;
+      ta = ::atan2(gsta,gcta);
+      
+         /* compute argument of latitude for orbit */
+      alat = ta + w;
+      
+         /* compute correction terms ( no pertubation ) */
+      ualat = alat;
+      r = A * (1.0 - ecc * cosea);
+      i = i_offset + 0.3e0 * PI;
+      
+         /* compute corrected longitude of ascending node */
+      anlon = OMEGA0 +
+         (OMEGAdot - geoid.angVelocity()) * elapt -
+         geoid.angVelocity() * (double)Toa;
+      
+         /* compute positions in orbital plane */
+      cosu = ::cos(ualat);
+      sinu = ::sin(ualat);
+      xip = r * cosu;
+      yip = r * sinu;
+      
+         /* compute earch fixed coordinates (in meters) */
+      can = ::cos (anlon);
+      san = ::sin (anlon);
+      cinc = ::cos(i);
+      sinc = ::sin(i);
+      
+      xef = xip * can - yip * cinc * san;
+      yef = xip * san + yip * cinc * can;
+      zef =             yip * sinc;
+      
+      sv.x[0] = xef;
+      sv.x[1] = yef;
+      sv.x[2] = zef;
+      
+         /* compute velocity of rotation coordinates & velocity of sat. */
+      dek = n * A / r;
+      dlk = sqrtgm * Ahalf * q / (r * r);
+      div = 0.0e0;
+      domk = OMEGAdot - geoid.angVelocity();
+      duv = dlk;
+      drv = A * ecc * dek * sinea;
+      
+      dxp = drv * cosu - r * sinu * duv;
+      dyp = drv * sinu + r * cosu * duv;
+      
+      vxef = dxp * can - xip * san * domk - dyp * cinc * san
+         + yip * (sinc * san * div - cinc * can * domk);
+      vyef = dxp * san + xip * can * domk + dyp * cinc * can
+         - yip * (sinc * can * div + cinc * san * domk);
+      vzef = dyp * sinc + yip * cinc * div;
+      
+      sv.v[0] = vxef;
+      sv.v[1] = vyef;
+      sv.v[2] = vzef;
+
+      return sv;
+   }
+
+   DayTime AlmOrbit::getTransmitTime() const throw()
+   {
+      DayTime transmitTime(0.L);
+      transmitTime.setGPSfullweek(getFullWeek(), (double)xmit_time);
+      return transmitTime;      
+   }
+
+   short AlmOrbit::getFullWeek() const throw()
+   {
+         // return value of the transmit week for the given PRN
+      short xmit_week = week;
+      double sow_diff = (double)(Toa - xmit_time);
+      if (sow_diff < -DayTime::HALFWEEK)
+         xmit_week--;
+      else if (sow_diff > DayTime::HALFWEEK)
+         xmit_week++;
+
+      return xmit_week;
+   }
+
+   DayTime AlmOrbit::getToaTime() const throw()
+   {
+      DayTime toaTime(0.L);
+      toaTime.setGPSfullweek(week, (double)Toa);
+      return toaTime;
+   }
+
+   void AlmOrbit::dump(std::ostream& s, int verbosity) const
+   {
+      using std::endl;
+      using std::setw;
+      switch (verbosity)
+      {
+         case 0:
+            s << PRN       << ", "
+              << Toa       << ", "
+              << std::hex
+              << SV_health << ", "
+              << std::dec
+              << AF0       << ", "
+              << AF1       << ", "
+              << ecc       << ", "
+              << w         << ", "
+              << M0        << ", "
+              << OMEGA0    << ", "
+              << OMEGAdot  << ", "
+              << i_offset
+              << endl;
+            break;
+
+         case 1:
+            s << "PRN:" << PRN
+              << " Toa:" << Toa
+              << " H:" << SV_health
+              << " AFO:" << AF0
+              << " AF1:" <<AF1
+              << " Ecc:" << ecc
+              << endl
+              << "    " << w
+              << " M0:" << M0
+              << " OMEGA0:" << OMEGA0
+              << " OMEGAdot:" << OMEGAdot
+              << " Ioff:" << i_offset
+              << endl;
+            break;
+
+         default:
+            s << "PRN:                   " << PRN << endl
+              << "Toa:                   " << Toa << endl
+              << "xmit_time:             " << xmit_time << endl
+              << "week:                  " << week << endl
+              << "SV_health:             " << SV_health << endl
+              << "AFO:                   " << setw(12) << AF0  << " sec" << endl
+              << "AF1:                   " << setw(12) << AF1  << " sec/sec" << endl
+              << "Eccentricity:          " << setw(12) << ecc    << endl
+              << "Arg of perigee:        " << setw(12) << w      << " rad" << endl
+              << "Mean anomaly at epoch: " << setw(12) << M0     << " rad" << endl
+              << "Right ascension:       " << setw(12) << OMEGA0 << " rad    " << setw(16) << OMEGAdot << " rad/sec" << endl
+              << "Inclination offset:    " << setw(12) << i_offset << " rad    " << endl;
+      }
+   }
+
+   std::ostream& operator<<(std::ostream& s, const AlmOrbit& ao)
+   {
+      ao.dump(s);
+      return s;
+   }
+
+} // namespace
diff --git a/trunk/src/AlmOrbit.hpp b/trunk/src/AlmOrbit.hpp
new file mode 100644
index 0000000..3996ff1
--- /dev/null
+++ b/trunk/src/AlmOrbit.hpp
@@ -0,0 +1,118 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/AlmOrbit.hpp#2 $"
+
+#ifndef GPSTK_ALMORBIT_HPP
+#define GPSTK_ALMORBIT_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file AlmOrbit.hpp
+ * Encapsulate almanac data, and compute satellite orbit, etc.
+ */
+
+#include <map>
+#include "DayTime.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+   /** @defgroup ephemcalc Ephemeris calculations */
+   //@{
+ 
+      /** Encapsulation of almanac SV orbital parameters (page 5,
+       * subframes 1-24). */
+   class AlmOrbit
+   {
+   public:
+         /// Default constructor, initialize to 0.
+      AlmOrbit() throw();
+
+         /// Fill constructor for all fields.
+      AlmOrbit(short prn, double aEcc, double ai_offset, double aOMEGAdot,
+               double aAhalf, double aOMEGA0, double aw, double aM0,
+               double aAF0, double aAF1, long aToa, long axmit_time,
+               short aweek, short aSV_health);
+
+      Xvt svXvt(const DayTime& t) const throw();
+
+      short getPRNID() const throw()
+      { return PRN; }
+
+         /// returns full week of TRANSMIT TIME
+      short getFullWeek() const throw();
+      DayTime getTransmitTime() const throw();
+      DayTime getToaTime() const throw();
+      DayTime getTimestamp() const throw() { return getToaTime(); }
+      short getSVHealth() const throw() { return SV_health; }
+
+      void dump(std::ostream& s = std::cout, int verbosity=1) const;
+
+   protected:
+      short PRN;              /**< PRN identifier for this SV */
+      double ecc;             /**< eccentricity  */
+      double i_offset;        /**< i offset from 54 deg. in rads. */
+      double OMEGAdot;        /**< Right Ascention rate in rad/sec */
+      double Ahalf;           /**< sqrt of semi-major axis in m**1/2 */
+      double OMEGA0;          /**< Right Asc. of Ascending node in rads. */
+      double w;               /**< arguement of perigee in rads. */
+      double M0;              /**< mean anomoly in rads */
+      double AF0;             /**< clock model coeff in sec */
+      double AF1;             /**< clock model coeff in sec/sec */
+      long Toa;               /**< Time of epoch in GPS sec */
+      long xmit_time;         /**< Transmission time */
+      short week;             /**< week of Toa (full week) */
+      short SV_health;        /**< health of SV */
+
+   private:
+      friend class EngAlmanac;
+   }; // class AlmOrbit
+
+      /// Map from PRN to AlmOrbit.
+   typedef std::map<short, AlmOrbit> AlmOrbits;
+
+   std::ostream& operator<<(std::ostream& s, const AlmOrbit& ao);
+
+   //@}
+  
+} // namespace
+
+#endif
diff --git a/trunk/src/AlmanacStore.cpp b/trunk/src/AlmanacStore.cpp
new file mode 100644
index 0000000..06a1926
--- /dev/null
+++ b/trunk/src/AlmanacStore.cpp
@@ -0,0 +1,164 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/AlmanacStore.cpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file AlmanacStore.cpp
+ * Store almanac information, and access by satellite and time
+ */
+
+#include "AlmanacStore.hpp"
+#include "StringUtils.hpp"
+#include "EngAlmanac.hpp"
+#include "gps_constants.hpp"
+
+namespace gpstk
+{
+   Xvt AlmanacStore::getPrnXvt(short prn, const gpstk::DayTime& t)
+      const throw(AlmanacStore::NoAlmanacFound)
+   {
+      AlmOrbit a = findAlmanac(prn, t);
+      return a.svXvt(t);
+   }
+
+   short AlmanacStore::getPrnHealth(short prn, const gpstk::DayTime& t)
+      const throw(AlmanacStore::NoAlmanacFound)
+   {
+      AlmOrbit a = findAlmanac(prn, t);
+      return a.getSVHealth();
+   }
+
+   bool AlmanacStore::addAlmanac(const AlmOrbit& alm) throw()
+   {
+      if ((alm.getPRNID() >= 1) && (alm.getPRNID() <= MAX_PRN))
+      {
+         uba[alm.getPRNID()][alm.getToaTime()] = alm;
+         return true;
+      }
+      return false;
+   }
+
+   bool AlmanacStore::addAlmanac(const EngAlmanac& alm) throw()
+   {
+      AlmOrbits ao = alm.getAlmOrbElems();
+      AlmOrbits::const_iterator oci;
+      for (oci = ao.begin();
+           oci != ao.end();
+           oci++)
+      {
+         addAlmanac((*oci).second);
+      }
+      return true;
+   }
+
+      /// gets the closest almanac for the given time and prn,
+      /// closest being in the past or future.
+   AlmOrbit AlmanacStore::findAlmanac(short prn, const gpstk::DayTime& t) 
+      const throw(AlmanacStore::NoAlmanacFound)
+   {
+      UBAMap::const_iterator prnItr = uba.find(prn);
+      if (prnItr == uba.end())
+      {
+         NoAlmanacFound nef("No almanacs for prn " + 
+                            gpstk::StringUtils::asString(prn));
+         GPSTK_THROW(nef);
+      }
+         
+      const EngAlmMap& eam = (*prnItr).second;
+
+         // find the closest almanac BEFORE t, if any.
+      EngAlmMap::const_iterator nextItr = eam.begin(),
+         almItr = eam.end();
+         
+      while ( (nextItr != eam.end()) &&
+              ((*nextItr).first < t) )
+      {
+         almItr = nextItr;
+         nextItr++;
+      }
+
+      if (almItr == eam.end())
+      {
+         if (nextItr == eam.end()) 
+         {
+            NoAlmanacFound nef("No almanacs for time " + t.asString());
+            GPSTK_THROW(nef);
+         }
+         else
+         {
+            almItr = nextItr;
+         }
+      }
+
+         // check the next almanac (the first one after t's time)
+         // to see if it's closer than the one before t
+      if (nextItr != eam.end())
+      {
+         if ( ((*nextItr).first - t) < (t - (*almItr).first))
+            almItr = nextItr;
+      }
+      return (*almItr).second;
+   }
+
+
+   AlmOrbits AlmanacStore::findAlmanacs(const gpstk::DayTime& t) 
+      const
+   {
+      AlmOrbits ao;
+      UBAMap::const_iterator prnItr = uba.begin();
+      while (prnItr != uba.end())
+      {
+         try
+         {
+            AlmOrbit a = findAlmanac((*prnItr).first, t);
+            ao[(*prnItr).first] = a;
+         }
+            /// who cares about exceptions - the map will
+            /// be empty if there are no alms...
+         catch(...)
+         {}
+
+         prnItr++;
+      }
+      return ao;
+   }
+}
diff --git a/trunk/src/AlmanacStore.hpp b/trunk/src/AlmanacStore.hpp
new file mode 100644
index 0000000..0bba42c
--- /dev/null
+++ b/trunk/src/AlmanacStore.hpp
@@ -0,0 +1,114 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/AlmanacStore.hpp#1 $"
+
+#ifndef GPSTK_ALMANACSTORE_HPP
+#define GPSTK_ALMANACSTORE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file AlmanacStore.hpp
+ * Store almanac information, and access by satellite and time
+ */
+ 
+#include <iostream>
+#include <string>
+#include <map>
+
+#include "Exception.hpp"
+#include "DayTime.hpp"
+#include "AlmOrbit.hpp"
+#include "EngAlmanac.hpp"
+
+namespace gpstk
+{
+   /** @defgroup ephemstore Ephemeris I/O and Storage */
+   //@{
+
+      ///  This class defines an interface to hide how we are getting an SV's 
+      /// position at some point in time using almanac data.
+   class AlmanacStore
+   {
+   public:
+         /// Thrown when attempting to read an almanac that isn't stored.
+         /// @ingroup exceptiongroup
+      NEW_EXCEPTION_CLASS(NoAlmanacFound, gpstk::Exception);
+
+      Xvt getPrnXvt(short prn, const gpstk::DayTime& t)
+         const throw(NoAlmanacFound);
+
+      short getPrnHealth(short prn, const gpstk::DayTime& t)
+         const throw(NoAlmanacFound);
+
+      bool addAlmanac(const AlmOrbit& alm) throw();
+      bool addAlmanac(const EngAlmanac& alm) throw();
+
+         /// gets the closest almanac for the given time and prn,
+         /// closest being in the past or future.
+      AlmOrbit findAlmanac(short prn, const gpstk::DayTime& t) 
+         const throw(NoAlmanacFound);
+
+         /// returns all almanacs closest to t for all prns
+      AlmOrbits findAlmanacs(const gpstk::DayTime& t) const;
+
+         /// this isn't accurate, but the 0 case is all that's really important
+      size_t size() const { return uba.size(); }
+
+   protected:
+         /** This is intended to just store weekly sets of unique EngAlmanacs
+          * for a single SV.  The key is ToA
+          */
+      typedef std::map<gpstk::DayTime, AlmOrbit> EngAlmMap;
+
+         /** This is intended to hold all unique EngEphemerises for each SV
+          * The key is the prn of the SV.
+          */
+      typedef std::map<short, EngAlmMap> UBAMap;
+
+         /// The map where all EngAlmanacs are stored.
+      UBAMap uba;
+   };
+
+   //@}
+
+}
+
+#endif
diff --git a/trunk/src/BCEphemerisStore.cpp b/trunk/src/BCEphemerisStore.cpp
new file mode 100644
index 0000000..40ae425
--- /dev/null
+++ b/trunk/src/BCEphemerisStore.cpp
@@ -0,0 +1,459 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/BCEphemerisStore.cpp#9 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+/**
+ * @file BCEphemerisStore.cpp
+ * Store GPS broadcast ephemeris information, and access by satellite and time
+ */
+
+#include <iostream>
+#include <fstream>
+#include <iomanip>
+
+#include "StringUtils.hpp"
+#include "BCEphemerisStore.hpp"
+#include "MathBase.hpp"
+
+using namespace std;
+using namespace gpstk;
+using gpstk::StringUtils::asString;
+
+namespace gpstk
+{
+   //--------------------------------------------------------------------------
+   //--------------------------------------------------------------------------
+   const EngEphemeris&
+   BCEphemerisStore::findEphemeris(short prn, const DayTime& t) 
+      const throw(EphemerisStore::NoEphemerisFound)
+   {
+      try 
+      {
+         const EngEphemeris& eph
+            = (method==0 ? findUserEphemeris(prn, t) : findNearEphemeris(prn,t) );
+         return eph;
+      }
+      catch(NoEphemerisFound& nef)
+      {
+         GPSTK_RETHROW(nef);
+      }
+      catch(InvalidRequest& ir)
+      {
+         NoEphemerisFound nef(ir);
+         GPSTK_THROW(nef);
+      }
+   }
+
+
+   Xvt BCEphemerisStore::getPrnXvt(short prn, const DayTime& t)
+      const throw(EphemerisStore::NoEphemerisFound)
+   {
+      short ref;
+      return getPrnXvt(prn, t, ref);
+   } // end of BCEphemerisStore::getPrnXvt()
+
+
+   Xvt BCEphemerisStore::getPrnXvt(short prn, const DayTime& t, short& ref)
+      const throw(EphemerisStore::NoEphemerisFound)
+   {
+      try
+      {
+         const EngEphemeris& eph = findEphemeris(prn,t);
+         ref = eph.getIODC();
+         Xvt sv = eph.svXvt(t);
+         return sv;
+      }
+      catch(NoEphemerisFound& nef)
+      {
+         GPSTK_RETHROW(nef);
+      }
+      catch(InvalidRequest& ir)
+      {
+         NoEphemerisFound nef(ir);
+         GPSTK_THROW(nef);
+      }
+   } // end of BCEphemerisStore::getPrnXvt()
+
+
+   //--------------------------------------------------------------------------
+   //--------------------------------------------------------------------------
+   short BCEphemerisStore::getPrnHealth(short prn, const gpstk::DayTime& t)
+      const throw(EphemerisStore::NoEphemerisFound)
+   {
+      try
+      {
+         const EngEphemeris& eph = findEphemeris(prn, t);
+         short health = eph.getHealth();
+         return health;
+      }
+      catch(NoEphemerisFound& nef)
+      {
+         GPSTK_RETHROW(nef);
+      }
+      catch(InvalidRequest& ir)
+      {
+         NoEphemerisFound nef(ir);
+         GPSTK_THROW(nef);
+      }
+   } // end of BCEphemerisStore::getHealth()
+
+   //--------------------------------------------------------------------------
+   //--------------------------------------------------------------------------
+   void BCEphemerisStore::dump(short detail, std::ostream& s) const
+   {
+      UBEMap::const_iterator prn_i;
+
+      s << "Dump of BCEphemerisStore:\n";
+      if (detail==0)
+      {
+         unsigned bce_count=0;
+         for (prn_i = ube.begin(); prn_i != ube.end(); prn_i++)
+            bce_count += prn_i->second.size();
+
+         s << " Span is " << initialTime
+              << " to " << finalTime
+              << " with " << bce_count << " entries."
+              << std::endl;
+      }
+      else
+      {
+         for (prn_i = ube.begin(); prn_i != ube.end(); prn_i++)
+         {
+            const EngEphMap& em = prn_i->second;
+            s << "  BCE map for prn " << prn_i->first
+                 << " has " << em.size() << " entries." << std::endl;
+      
+            EngEphMap::const_iterator ei;
+            for (ei=em.begin(); ei != em.end(); ei++)
+               if (detail==1)
+                  s << "PRN " << setw(2) << prn_i->first
+                     << " TOE " << ei->second.getEpochTime()
+                     << " TOC " << fixed << setw(10) << setprecision(3) << ei->second.getToc()
+                     << " HOW " << setw(10) << ei->second.getHOWTime(2)
+                     << " KEY " << ei->first
+                     << std::endl;
+               else
+                  ei->second.dump();
+         }
+   
+         s << "  End of BCE maps." << std::endl << std::endl;
+      }
+   } // end of BCEphemerisStore::dump()
+
+
+   //--------------------------------------------------------------------------
+   // Only keeps one ephemeris with a given IODC/time
+   // It should keep the one with the latest transmit time
+   //--------------------------------------------------------------------------
+   bool BCEphemerisStore::addEphemeris(const EngEphemeris& eph)
+      throw(gpstk::InvalidRequest)
+   {
+      bool rc = false;
+      DayTime t(0.L);
+      t =  eph.getEphemerisEpoch();
+      t -= 0.5*3600.0*eph.getFitInterval();
+   
+      EngEphMap& eem = ube[eph.getPRNID()];
+      EngEphMap::iterator sfi = eem.find(t);
+      if ( sfi == eem.end())
+      {
+         eem[t] = eph;
+         rc = true;
+      }
+      else
+      {
+         // Store the new eph only if it has a later transmit time
+         EngEphemeris& current = sfi->second;
+         DayTime ephTot, currentTot;
+         ephTot = eph.getTransmitTime();
+         currentTot = current.getTransmitTime();
+
+         if (ephTot > currentTot)
+         {
+            //if (eph.getIODC() != current.getIODC())
+               //cerr << "Wierd: prn:" << setw(2) << eph.getPRNID()
+                    //<< ", Toe:" << eph.getToe()
+                    //<< ", New IODC:" << eph.getIODC()
+                    //<< ", New TTx:" << eph.getTot()
+                    //<< ", Old IODC:" << current.getIODC()
+                    //<< ", Old TTx:" << current.getTot()
+                    //<< endl;
+            
+            current = eph;
+            rc = true;
+         }
+      }
+
+      // In any case, update the initial and final times
+      if (t<initialTime)
+         initialTime = t;
+      else if (t>finalTime)
+         finalTime = t;
+      
+      return rc;
+   }
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+  unsigned BCEphemerisStore::wiper(const DayTime& t) throw(gpstk::InvalidRequest)
+  {
+     unsigned counter = 0;
+     DayTime test;
+     for(UBEMap::iterator i = ube.begin(); i != ube.end(); i++)
+     {
+        EngEphMap& thisPRN = i->second;
+        EngEphMap::size_type mapSize = i->second.size();
+        bool done = (i->second.size() == 0);
+        while(!done)
+        {
+           EngEphemeris& foo = thisPRN.begin()->second;
+           try
+           {
+              test = foo.getEphemerisEpoch();
+           }
+           catch (gpstk::InvalidRequest& exc)
+           {
+              exc.addText("In wiping ephemerides for PRN " +
+                          asString(i->first));
+              exc.addText("Map had " + asString(mapSize) + " elements in"
+                          " it to begin with");
+              foo.dump(exc);
+              GPSTK_RETHROW(exc);
+           }
+           if( test < t )
+           {
+              thisPRN.erase(thisPRN.begin());
+              ++counter;
+              done = (i->second.size() == 0);
+           }
+           else
+           {
+              done = true;
+           }
+        }
+     }
+        // update initialTime
+     initialTime = t;
+ 
+     return counter;
+  }
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+  void BCEphemerisStore::edit(const DayTime& tmin, const DayTime& tmax)
+  {
+     DayTime test;
+     for(UBEMap::iterator i = ube.begin(); i != ube.end(); i++)
+     {
+        EngEphMap& eMap = i->second;
+
+        EngEphMap::iterator lower = eMap.lower_bound(tmin);
+        if (lower != eMap.begin())
+           eMap.erase(eMap.begin(), --lower);
+
+        EngEphMap::iterator upper = eMap.upper_bound(tmax);
+        if (upper != eMap.end())
+           eMap.erase(upper, eMap.end());
+     }
+
+     initialTime = tmin;
+     finalTime = tmax;
+  }
+
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+   void BCEphemerisStore::clear() throw()
+   {
+      ube.clear();
+      initialTime = DayTime::END_OF_TIME;
+      finalTime = DayTime::BEGINNING_OF_TIME;
+   }
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+  unsigned BCEphemerisStore::ubeSize() const throw()
+  {
+    unsigned counter = 0;
+    for(UBEMap::const_iterator i = ube.begin(); i != ube.end(); i++)
+       counter += i->second.size();
+    return counter;
+  }
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+   const EngEphemeris&
+   BCEphemerisStore::findUserEphemeris(short prn, const DayTime& t) 
+      const throw(EphemerisStore::NoEphemerisFound)
+   {
+      DayTime test;
+      UBEMap::const_iterator prn_i = ube.find(prn);
+      if (prn_i == ube.end())
+      {
+          NoEphemerisFound nef("No ephemeris for prn " + asString(prn));
+          GPSTK_THROW(nef);
+      }
+
+      const EngEphMap& em = prn_i->second;
+      DayTime t1(0.0L), t2(0.0L), Tot = DayTime::BEGINNING_OF_TIME;
+      EngEphMap::const_iterator it = em.end();
+
+         // Find eph with (Toe-(fitint/2)) > t - 4 hours
+         // Use 4 hours b/c it's the default fit interval.
+         // Backup one ephemeris to make sure you get the
+         // correct one in case of fit intervals greater 
+         // than 4 hours.
+      EngEphMap::const_iterator ei = em.upper_bound(t - 4 * 3600); 
+      if (!em.empty() && ei != em.begin() )
+      {
+         ei--;
+      }
+      
+      for (; ei != em.end(); ei++)
+      {
+         const EngEphemeris& current = ei->second;
+            // t1 = Toe-(fitint / 2)
+         t1 = ei->first;
+            // t2 = HOW time
+         t2 = current.getTransmitTime();
+
+         // Ephemeredes are ordered by fit interval.  
+         // If the start of the fit interval is in the future, 
+         // this and any more ephemerides are not the one you are
+         // looking for.
+         if( t1 > t ) 
+         {
+            break;
+         }
+         
+         double dt1 = t - t1;
+         double dt2 = t - t2;
+
+         if (dt1 >= 0 &&                           // t is after start of fit interval
+             dt1 < current.getFitInterval() * 3600 &&  // t is within the fit interval
+             dt2 >= 0 &&                           // t is after Tot
+             t2 > Tot )                            // this eph has the latest Tot
+         {
+            it = ei;
+            Tot = t2;
+         }
+      }
+
+      if (it == em.end())
+      {
+         string mess = "No eph found for prn "
+            + asString(prn) + " at " + t.printf("%03j %02H:%02M:%02S");
+         NoEphemerisFound e(mess);
+         GPSTK_THROW(e);
+      }
+
+      return it->second;
+   } // end of BCEphemerisStore::findEphemeris()
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+   const EngEphemeris&
+   BCEphemerisStore::findNearEphemeris(short prn, const DayTime& t) 
+      const throw(EphemerisStore::NoEphemerisFound)
+   {
+      DayTime test;
+      UBEMap::const_iterator prn_i = ube.find(prn);
+      if (prn_i == ube.end())
+      {
+          NoEphemerisFound nef("No ephemeris for prn " + asString(prn));
+          GPSTK_THROW(nef);
+      }
+
+      const EngEphMap& em = prn_i->second;
+      double dt2min = -1;
+      DayTime tstart, how;
+      EngEphMap::const_iterator it = em.end();
+
+         // Find eph with (Toe-(fitint/2)) > t - 4 hours
+         // Use 4 hours b/c it's the default fit interval.
+         // Backup one ephemeris to make sure you get the
+         // correct one in case of fit intervals greater 
+         // than 4 hours.
+      EngEphMap::const_iterator ei = em.upper_bound(t - 4 * 3600); 
+      if (!em.empty() && ei != em.begin() )
+      {
+         ei--;
+      }
+      
+      for (; ei != em.end(); ei++)
+      {
+         const EngEphemeris& current = ei->second;
+            // tstart = Toe-(fitint / 2)
+         tstart = ei->first;
+            // how = HOW time
+         how = current.getTransmitTime();
+
+         // Ephemerides are ordered by time of start of fit interval.  
+         // If the start of the fit interval is in the future, 
+         // this and any more ephemerides are not the one you are
+         // looking for.
+         if( tstart > t ) break;
+         
+         double dt1 = t - tstart;
+         double dt2 = t - how;
+
+         if (dt1 >= 0 &&                           // t is after start of fit interval
+             dt1 <= current.getFitInterval()*3600 &&  // t is within the fit interval
+             (dt2min == -1 || fabs(dt2) < dt2min))  // t is closest to HOW
+         {
+            it = ei;
+            dt2min = fabs(dt2);
+         }
+      }
+
+      if (it == em.end())
+      {
+         string mess = "No eph found for prn "
+            + asString(prn) + " at " + t.printf("%03j %02H:%02M:%02S");
+         NoEphemerisFound e(mess);
+         GPSTK_THROW(e);
+      }
+
+      return it->second;
+   } // end of BCEphemerisStore::findNearEphemeris()
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+   int BCEphemerisStore::addToList(std::list<EngEphemeris>& v) const throw()
+   {
+      int n=0;
+      UBEMap::const_iterator prn_i;
+      for (prn_i = ube.begin(); prn_i != ube.end(); prn_i++)
+      {
+         const EngEphMap& em = prn_i->second;
+         EngEphMap::const_iterator ei;
+         for (ei=em.begin(); ei != em.end(); ei++)
+         {
+            v.push_back(ei->second);
+            n++;
+         }
+      }
+      return n;
+   } // end of BCEphemerisStore::addToList(list<EngEphemeris>&)
+
+} // namespace
diff --git a/trunk/src/BCEphemerisStore.hpp b/trunk/src/BCEphemerisStore.hpp
new file mode 100644
index 0000000..7fd982f
--- /dev/null
+++ b/trunk/src/BCEphemerisStore.hpp
@@ -0,0 +1,243 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/BCEphemerisStore.hpp#5 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+/**
+ * @file BCEphemerisStore.hpp
+ * Store GPS broadcast ephemeris information, and access by satellite and time
+ */
+ 
+#ifndef GPSTK_BCEPHEMERISSTORE_HPP
+#define GPSTK_BCEPHEMERISSTORE_HPP
+
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include <string>
+#include <list>
+#include <map>
+
+#include "EphemerisStore.hpp"
+#include "EngEphemeris.hpp"
+
+namespace gpstk
+{
+      /** @addtogroup ephemstore */
+      //@{
+   
+      /// Broadcast Ephemeris Store.  In this variation of the EphemerisStore,
+      ///  all ephemerides are broadcast from a satellite.
+   class BCEphemerisStore : public EphemerisStore
+   {
+   public:
+      
+         /// Constructor.
+      BCEphemerisStore() 
+         throw()
+            : initialTime(DayTime::END_OF_TIME), 
+              finalTime(DayTime::BEGINNING_OF_TIME),
+              method(0) {};
+
+         /// Destructor.
+      virtual ~BCEphemerisStore() {}
+   
+         /**  This returns the pvt of the sv in ecef coordinates
+          * (units m, s, m/s, s/s) at the indicated time.
+          * @param prn the SV's PRN
+          * @param t the time to look up
+          * @return the Xvt of the SV at time t
+          */
+      virtual Xvt getPrnXvt(short prn, 
+                            const gpstk::DayTime& t) const 
+         throw(NoEphemerisFound);
+      
+         /** Return the health of an SV for a particular time
+          * @param prn the SV's PRN
+          * @param t the time to look up
+          * @return the SV health bits
+          * @throw NoEphemerisFound no matching ephemeris found in the store
+          */
+      virtual short getPrnHealth(short prn,
+                                 const gpstk::DayTime& t) const 
+         throw(NoEphemerisFound);
+      
+         /** Dumps all the ephemeris data stored in this object.
+          * @param detail the level of detail to provide
+          */
+      void dump(short detail = 0, 
+                std::ostream& s = std::cout) const ;
+      
+         /** Return the time of the first ephemeris in the object.
+          * @return the time of the first ephemeris in the object
+          */      
+      virtual gpstk::DayTime getInitialTime() const
+      { return initialTime; }
+      
+         /** Return the time of the last ephemeris in the object.
+          * @return the time of the last ephemeris in the object
+          */
+      virtual gpstk::DayTime getFinalTime() const 
+      { return finalTime; }
+      
+         /** Add an EngEphemeris object to this collection.
+          * @param eph the EngEphemeris to add
+          * @return true if ephemeris was added, false otherwise
+          */
+      bool addEphemeris(const EngEphemeris& eph)
+         throw(gpstk::InvalidRequest);
+      
+         /** Remove EngEphemeris objects older than t.
+          * @param t remove EngEphemeris objects older than this
+          * @return number of Engephemeris objects removed
+          */
+      unsigned wiper(const DayTime& t)
+         throw(gpstk::InvalidRequest);
+      
+         /// Edit the dataset, removing data outside this time interval
+      virtual void edit(const DayTime& tmin,
+                        const DayTime& tmax) ;
+      
+         /// Remove all data from this collection.   
+      void clear() throw();
+      
+      
+         //---------------------------------------------------------------
+         // Below are interfaces that are unique to this class (i.e. not 
+         // in the parent class)
+         //---------------------------------------------------------------
+      
+         /**  This returns the pvt of the sv in ecef coordinates
+          * (units m, s, m/s, s/s) at the indicated time.
+          * @param prn the SV's PRN
+          * @param t the time to look up
+          * @param ref a place to return the IODC for future reference.
+          * @return the Xvt of the SV at time t
+          */
+      Xvt getPrnXvt(short prn,
+                    const gpstk::DayTime& t,
+                    short& ref) const
+         throw(NoEphemerisFound);
+      
+         /** Get the number of EngEphemeris objects in this collection.
+          * @return the number of EngEphemeris records in the map
+          */
+      unsigned ubeSize() const 
+         throw();
+      
+      unsigned size() const
+      { return ubeSize(); };
+      
+         /** Find an ephemeris based upon the search method configured
+          * by SearchNear/SearchPast
+          */
+      const EngEphemeris& findEphemeris(short prn, 
+                                        const gpstk::DayTime& t) const 
+         throw(NoEphemerisFound);
+      
+         /** Find the EngEphemeris for prn at time t.  The ephemeris
+          * is chosen to be the one that 1) is within the fit interval
+          * for the given time of interest, and 2) is the last
+          * ephemeris transmitted before the time of interest
+          * (i.e. min(toi - HOW time)).
+          *
+          * @param prn the SV's PRN of interest
+          * @param t the time of interest
+          * @return a reference to the EngEphemeris for prn at time t
+          */
+      const EngEphemeris& findUserEphemeris(short prn,
+                                            const gpstk::DayTime& t) const 
+         throw(NoEphemerisFound);
+      
+         /** Find the EngEphemeris for satellite prn at time t. The
+          * ephemeris chosen is the one with HOW time closest to the
+          * time t, i.e. with smallest fabs(t-HOW), but still within
+          * the fit interval.
+          *
+          * @param prn the SV's PRN of interest
+          * @param t the time of interest
+          * @return a reference to the EngEphemeris for prn at time t
+          */
+      const EngEphemeris& findNearEphemeris(short prn, 
+                                            const gpstk::DayTime& t) const
+         throw(NoEphemerisFound);
+      
+         /** Add all ephemerides to an existing list<EngEphemeris>.
+          * Return the number of ephemerides added.
+          */
+      int addToList(std::list<EngEphemeris>& v) const
+         throw();
+      
+         /// use findNearEphemeris() in the getPrn...() routines
+      void SearchNear(void) 
+      { method = 1; }
+      
+         /// use findEphemeris() in the getPrn...() routines (the default)
+      void SearchPast(void)
+      { method = 0; }
+      
+   private:
+         /** This is intended to just store weekly sets of unique EngEphemerides
+          * for a single SV.  The key is the Toe - 1/2 the fit interval.
+          */
+      typedef std::map<gpstk::DayTime, EngEphemeris> EngEphMap;
+      
+         /** This is intended to hold all unique EngEphemerides for each SV
+          * The key is the prn of the SV.
+          */
+      typedef std::map<short, EngEphMap> UBEMap;
+      
+         /// The map where all EngEphemerides are stored.
+      UBEMap ube;
+      
+      gpstk::DayTime initialTime; //< Time of the first EngEphemeris
+      gpstk::DayTime finalTime;   //< Time of the last EngEphemeris
+      
+         /// flag indicating search method (find...Eph) to use in getPrnXvt 
+         ///  and getPrnHealth
+      int method;
+      
+   }; // end class BCEphemerisStore
+   
+      //@}
+   
+} // namespace gpstk
+
+#endif  // GPSTK_BCEPHEMERISSTORE_HPP
diff --git a/trunk/src/BasicFramework.cpp b/trunk/src/BasicFramework.cpp
new file mode 100644
index 0000000..4352521
--- /dev/null
+++ b/trunk/src/BasicFramework.cpp
@@ -0,0 +1,130 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/BasicFramework.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file BasicFramework.cpp
+ * Basic framework for programs in the GPS toolkit
+ */
+
+#include "Exception.hpp"
+#include "BasicFramework.hpp"
+
+namespace gpstk
+{
+   using namespace std;
+
+   BasicFramework :: BasicFramework(const string& applName,
+                                    const string& applDesc)
+      throw()
+         : debugLevel(0),
+           verboseLevel(0),
+           argv0(applName),
+           appDesc(applDesc),
+           debugOption('d', "debug", "Increase debug level"),
+           verboseOption('v', "verbose", "Increase verbosity"),
+           helpOption('h', "help", "Print help usage")
+   {
+   }
+
+   bool BasicFramework :: initialize(int argc, char *argv[])
+      throw()
+   {
+         // Making this a pointer and moving it here ensures that the
+         // constructor will not occur until all the command line
+         // option objects are constructed in the sub-classes.
+      CommandOptionParser cop(appDesc);
+
+      cop.parseOptions(argc, argv);
+
+      if (helpOption.getCount())
+      {
+         cop.displayUsage(cerr);
+         return false;
+      }
+
+      if (cop.hasErrors())
+      {
+         cop.dumpErrors(cerr);
+         cop.displayUsage(cerr);
+         return false;
+      }
+
+      debugLevel = debugOption.getCount();
+      verboseLevel = verboseOption.getCount();
+
+      return true;
+   }
+
+   bool BasicFramework :: run()
+      throw()
+   {
+      try
+      {
+         completeProcessing();
+      }
+      catch (Exception& exc)
+      {
+         cerr << exc;
+         return false;
+      }
+      catch (...)
+      {
+         cerr << "Caught unknown exception" << endl;
+         return false;
+      }
+
+      shutDown();
+
+      return true;
+   } // BasicFramework::run()
+
+   void BasicFramework :: completeProcessing()
+   {
+      additionalSetup();
+
+      spinUp();
+
+      process();
+   }
+
+} // namespace
diff --git a/trunk/src/BasicFramework.hpp b/trunk/src/BasicFramework.hpp
new file mode 100644
index 0000000..4679613
--- /dev/null
+++ b/trunk/src/BasicFramework.hpp
@@ -0,0 +1,182 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/BasicFramework.hpp#1 $"
+
+/**
+ * @file BasicFramework.hpp
+ * Basic framework for programs in the GPS toolkit
+ */
+
+#ifndef GPSTK_BASICFRAMEWORK_HPP
+#define GPSTK_BASICFRAMEWORK_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "CommandOptionParser.hpp"
+
+namespace gpstk
+{
+      /** @defgroup appframegroup Framework for Applications
+       *
+       * The application frameworks provide a set of classes that
+       * perform the basic functions of applications within the GPS
+       * toolkit.  That is, they provide a framework for applications
+       * so that the applications only have to implement those
+       * features which are unique to that application.
+       *
+       * The classes are defined in a tree of increasing capability,
+       * that is, the BasicFramework class at the root of the tree
+       * does very little and implements only those functions which
+       * are common to all programs within the toolkit.  Each
+       * subsequent subclass adds additional layers to these basic
+       * capabilities.
+       *
+       * The end user is expected to create a class, which inherits
+       * from one of these frameworks, and override the appropriate
+       * methods in order to perform the necessary function of that
+       * program.  The methods to be overridden depend on the
+       * framework being used and what the program is intended to
+       * do.
+       */
+      //@{
+
+      /**
+       * This is a (very) basic framework for programs in the GPS
+       * toolkit.  It is meant to be used by programs that start up,
+       * do some processing, and quit.
+       *
+       * The end user should define subclasses of this class,
+       * implementing those methods described as being meant to be
+       * overridden.  When implementing these virtual functions in
+       * subclasses, do not forget to call the parent class'
+       * implementation of that virtual function first.
+       *
+       * In use, the user will construct an object of the class
+       * derived from this, then call the initialize() and run()
+       * methods in that order.
+       */
+   class BasicFramework
+   {
+   public:
+         /**
+          * Constructor for BasicFramework.
+          * @param applName name of the program (argv[0]).
+          * @param applDesc text description of program's function
+          * (used by CommandOption help).
+          */
+      BasicFramework(const std::string& applName, const std::string& applDesc)
+         throw();
+
+         /// Destructor.
+      virtual ~BasicFramework() {}
+
+         /**
+          * Process command line arguments.
+          * @param argc same as main() argc.
+          * @param argv same as main() argv.
+          * @return true if normal processing should proceed (i.e. no
+          *   command line errors or help requests).
+          */
+      virtual bool initialize(int argc, char *argv[]) throw();
+
+         /**
+          * Run the program. Processes only once (refer to subclasses
+          * for looped processing).
+          * @return false if an exception occurred
+          */
+      bool run() throw();
+
+   protected:
+      int debugLevel;           ///< Debug level for this run of the program.
+      int verboseLevel;         ///< Verbose level for this run of the program.
+      std::string argv0;        ///< Name of the program.
+      std::string appDesc;      ///< Description of program's function.
+
+         /// Command-line options.
+         //@{
+      CommandOptionNoArg debugOption; ///< Enable debugging output and syslog message cloning to stdout.
+      CommandOptionNoArg verboseOption;
+      CommandOptionNoArg helpOption;
+         //@}
+
+         /**
+          * Called by the run() method; calls additionalSetup(),
+          * spinUp(), and process(), in that order.  Generally should
+          * not be overridden.
+          */
+      virtual void completeProcessing();
+
+         /**
+          * Additional set-up to be performed before starting
+          * processing.  This generally involves things that are
+          * necessary for either the spinUp processing or main
+          * processing.
+          */
+      virtual void additionalSetup() { }
+
+         /**
+          * Code to be executed AFTER initialization.  This method
+          * should be implemeneted by the end-user.
+          */
+      virtual void spinUp() { }
+
+         /**
+          * Processing to be performed.  This method should be
+          * implemeneted by the end-user.
+          */
+      virtual void process() { }
+
+         /**
+          * Clean-up processing to be done before the program ends.
+          * This method is executed outside of a try block and should
+          * be implemeneted by the end-user.
+          */
+      virtual void shutDown() { }
+
+   private:
+         // Do not allow the use of the default constructor.
+      BasicFramework();
+   }; // class BasicFramework
+
+      //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/BinUtils.cpp b/trunk/src/BinUtils.cpp
new file mode 100644
index 0000000..357961d
--- /dev/null
+++ b/trunk/src/BinUtils.cpp
@@ -0,0 +1,59 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/BinUtils.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file BinUtils.cpp
+ * Binary manipulation functions
+ */
+ 
+#include "BinUtils.hpp"
+
+namespace gpstk
+{
+   namespace BinUtils
+   {
+      const CRCParam CRCCCITT(16, 0x1021, 0xffff, 0, true, false, false);
+      const CRCParam CRC16(16, 0x8005, 0, 0, true, true, true);
+      const CRCParam CRC32(32, 0x4c11db7, 0xffffffff, 0xffffffff, true, true, true);
+   }
+}
diff --git a/trunk/src/BinUtils.hpp b/trunk/src/BinUtils.hpp
new file mode 100644
index 0000000..1c25f4f
--- /dev/null
+++ b/trunk/src/BinUtils.hpp
@@ -0,0 +1,388 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/BinUtils.hpp#8 $"
+
+/**
+ * @file BinUtils.hpp
+ * Binary manipulation functions
+ */
+
+#ifndef BINUTILS_HPP
+#define BINUTILS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifdef __sun
+#include <arpa/nameser_compat.h>
+#elif defined (__CYGWIN__)
+#include <sys/param.h>
+#elif defined (_AIX)
+#include <sys/machine.h>
+#endif
+
+#include "Exception.hpp"
+
+#ifndef BYTE_ORDER
+#ifdef _MSC_VER
+#define LITTLE_ENDIAN 1
+#define BIG_ENDIAN 0
+#define BYTE_ORDER LITTLE_ENDIAN
+#else
+#error "Platform doesn't support BYTE_ORDER?"
+#endif
+#endif
+
+namespace gpstk
+{
+      /**
+       * Binary data utilities.
+       *
+       * These functions and macros are to be used for manipulating
+       * binary data.
+       */
+   namespace BinUtils
+   {
+         /** @defgroup binutilsgroup Binary Data Manipulation Tools */
+         //@{
+      
+         /**
+          * Reverse bytes.
+          * This function will reverse the bytes in any type, though it
+          * is typically meant to be used in atomic types like int and
+          * double.
+          * @param p object whose bytes are to be reversed.
+          */
+      template <class T> void twiddle(T& p)
+         throw()
+      {
+         unsigned char *front = (unsigned char*)&p;
+         unsigned char *end = front + sizeof(p) - 1;
+         unsigned char temp;
+
+         while (front<end)
+         {
+            temp = *front;
+            *front = *end;
+            *end = temp;
+            front++;
+            end--;
+         }
+      }
+
+         /**
+          * Converts Intel little-endian to host byte order, const version.
+          * @param p the object whose bytes are to be modified.
+          * @return a new object which is in Intel byte ordering.
+          */
+      template <class T> T intelToHost(const T& p)
+         throw()
+      {
+         T temp(p);
+#if BYTE_ORDER == BIG_ENDIAN
+         twiddle(p);
+#endif
+         return temp;
+      }
+
+         /** 
+          * Converts host byte order to Intel little-endian, const version
+          * @param p the object whose bytes are to be modified
+          * @return a new object which is in host byte ordering.
+          */
+      template <class T> T hostToIntel(const T& p)
+         throw()
+      {
+         T temp(p);
+#if BYTE_ORDER == BIG_ENDIAN
+         twiddle(p);
+#endif
+         return temp;
+      }      
+      
+         /**
+          * Converts host byte order to network order, const version.
+          * @param p the object whose bytes are to be modified.
+          * @return a new object which is in network byte order.
+          */
+      template <class T> T netToHost(const T& p)
+         throw()
+      {
+         T temp(p);
+#if BYTE_ORDER == LITTLE_ENDIAN
+         twiddle(p);
+#endif
+         return temp;
+      }
+
+         /**
+          * Converts network byte order to host order, const version.
+          * @param p the object whose bytes are to be modified.
+          * @return a new object which is in host byte order.
+          */
+      template <class T> T hostToNet(const T& p)
+         throw()
+      {
+         T temp(p);
+#if BYTE_ORDER == LITTLE_ENDIAN
+         twiddle(p);
+#endif
+         return temp;
+      }
+
+         /** 
+          * Remove (optinally) the item specified from the string and convert it 
+          * from network byte order to host byte order.
+          * @param str the string from which to obtain data.
+          * @param pos an offset into the string to pull the data from. If this
+          * value is specified, the item is not removed from the string.
+          * @warn This function does not check for appropriate string length.
+          */
+      template <class T>
+      T decodeVar( std::string& str, std::string::size_type pos = std::string::npos)
+      {
+         T t;
+         char *cp = reinterpret_cast<char*>( &t );
+
+         if (pos == std::string::npos)
+         {
+            str.copy( cp, sizeof(T) );
+            gpstk::BinUtils::netToHost( t );
+            str.erase( 0, sizeof(T) );
+         }
+         else
+         {
+            str.copy( cp, sizeof(T) , pos);
+            gpstk::BinUtils::netToHost( t );
+         }
+         return t;
+      }
+
+         /** 
+          * Add the network ordered binary representation of a var to the
+          * the given string.
+          * @param v the object of type T to convert to a string.
+          */
+      template<class T>
+      std::string encodeVar( const T& v )
+      {
+         T tmp = v;
+         gpstk::BinUtils::hostToNet( tmp );
+         return std::string( reinterpret_cast<char*>( &tmp ), sizeof( tmp ) );
+      }
+      
+         /// This is thrown when there is an error processing a CRC
+         /// @ingroup exceptiongroup
+      NEW_EXCEPTION_CLASS(CRCException, Exception);
+
+         /// Reflects the lower \a bitnum bits of \a crc
+      inline unsigned long reflect (unsigned long crc, 
+                                    int bitnum)
+      {
+         unsigned long i, j = 1, crcout = 0;
+
+         for (i = (unsigned long)1 << (bitnum - 1); i; i >>= 1)
+         {
+            if (crc & i)
+            {
+               crcout |= j;
+            }
+            j <<= 1;
+         }
+         return (crcout);
+      }
+
+         /// Encapsulate parameters for CRC computation
+      class CRCParam
+      {
+      public:
+         /// Constructor
+         CRCParam(int o, 
+                  unsigned long p, 
+                  unsigned long i, 
+                  unsigned long f,
+                  bool d, 
+                  bool ri, 
+                  bool ro)
+               : order(o), polynom(p), initial(i), final(f), direct(d),
+                 refin(ri), refout(ro)
+         {}
+
+         int order;              ///< CRC polynomial order (without leading '1' bit).
+         unsigned long polynom;  ///< CRC polynomial without the leading '1' bit.
+         unsigned long initial;  ///< initial CRC initial value.
+         unsigned long final;    ///< final final XOR value.
+         bool direct;            ///< kind of algorithm, true = no augmented zero bits.
+         bool refin;             ///< reflect the data bytes before processing.
+         bool refout;            ///< reflect the CRC result before final XOR.
+      };
+
+      extern const CRCParam CRCCCITT;
+      extern const CRCParam CRC16;
+      extern const CRCParam CRC32;
+
+
+         /**
+          * Compute CRC (suitable for polynomial orders from 1 to 32).
+          * Does bit-by-bit computation (brute-force, no look-up
+          * tables).  Default parameters are for CRC16.
+          * \p
+          * The following table lists parameters for common CRC
+          * algorithms (order is decimal, the other parameters are
+          * hex):
+          * \li CRC-CCITT order=16 polynom=1021 initial=ffff final=0 direct=true refin=false refout=false
+          * \li CRC-16 order=16 polynom=8005 initial=0 final=0 direct=true refin=true refout=true
+          * \li CRC-32 order=32 polynom=4c11db7 initial=ffffffff final=ffffffff direct=true refin=true refout=true
+          * @param data data to process CRC on.
+          * @param len length of data to process.
+          * @param params see documentation of CRCParam:w
+          * @return the CRC value
+          */
+         // This code "stolen" from Sven Reifegerste (zorci at gmx.de).
+         // Found at http://rcswww.urz.tu-dresden.de/~sr21/crctester.c
+         // from link at http://rcswww.urz.tu-dresden.de/~sr21/crc.html
+      inline unsigned long computeCRC(const unsigned char *data,
+                                      unsigned long len,
+                                      const CRCParam& params)
+      {
+         unsigned long i, j, c, bit;
+         unsigned long crc = params.initial;
+
+            // at first, compute constant bit masks for whole CRC and
+            // CRC high bit
+         unsigned long crcmask = 
+            ((((unsigned long)1 << (params.order - 1)) - 1) << 1) | 1;
+         unsigned long crchighbit = (unsigned long)1 << (params.order - 1);
+
+         if (crc && params.direct)
+         {
+            for (i = 0; i < params.order; i++)
+            {
+               bit = crc & 1;
+               if (bit)
+               {
+                  crc ^= params.polynom;
+               }
+               crc >>= 1;
+               if (bit)
+               {
+                  crc |= crchighbit;
+               }
+            }
+         }
+
+
+         for (i = 0; i < len; i++)
+         {
+            c = (unsigned long) * data++;
+            if (params.refin)
+            {
+               c = reflect(c, 8);
+            }
+
+            for (j = 0x80; j; j >>= 1)
+            {
+               bit = crc & crchighbit;
+               crc <<= 1;
+               if (c & j)
+               {
+                  crc |= 1;
+               }
+               if (bit)
+               {
+                  crc ^= params.polynom;
+               }
+            }
+         }
+
+         for (i = 0; i < params.order; i++)
+         {
+            bit = crc & crchighbit;
+            crc <<= 1;
+            if (bit)
+            {
+               crc ^= params.polynom;
+            }
+         }
+
+         if (params.refout)
+         {
+            crc = reflect(crc, params.order);
+         }
+         crc ^= params.final;
+         crc &= crcmask;
+
+         return crc;
+      }
+
+         /**
+          * Calculate an Exclusive-OR Checksum on the string /a str.
+          * @return the calculated checksum.
+          * @throws gpstk::InvalidParameter if there is a partial word at 
+          *  the end of /a str.
+          */
+      template<class X>
+      X xorChecksum(const std::string& str)
+         throw(gpstk::InvalidParameter)
+      {
+         short wordSize = sizeof(X);
+         short strSize = str.size();
+         
+         if(strSize % wordSize != 0)
+         {
+            gpstk::Exception ip("Incomplete word in string.");
+            GPSTK_THROW(ip);
+         }
+         
+         X temp, xc = 0;
+         
+         for(short i = 0; (i + wordSize - 1) < strSize; i += wordSize)
+         {
+            memcpy(&temp, &str[i], wordSize);
+            xc ^= temp;
+         }
+         
+         return xc;
+      }
+         //@}
+
+   } // end namespace BinUtils
+} // end namespace gpstk
+
+#endif
diff --git a/trunk/src/CivilTime.cpp b/trunk/src/CivilTime.cpp
new file mode 100644
index 0000000..a2c7e3f
--- /dev/null
+++ b/trunk/src/CivilTime.cpp
@@ -0,0 +1,316 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CivilTime.cpp#6 $"
+
+#include "CivilTime.hpp"
+#include "TimeConverters.hpp"
+
+namespace gpstk
+{
+   const std::string CivilTime::printChars( "YymbBdHMSf" );
+   const std::string 
+   CivilTime::defaultFormat( "%02m/%02d/%04Y %02H:%02M:%02.9f");
+   
+      /// Long month names for converstion from numbers to strings
+   const char * CivilTime::MonthNames[] = 
+   {
+      "Error",
+      "January","February", "March", "April",
+      "May", "June","July", "August",
+      "September", "October", "November", "December"
+   };
+      
+      /// Short month names for converstion from numbers to strings
+   const char * CivilTime::MonthAbbrevNames[] = 
+   {
+      "err", "Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul",
+      "Aug", "Sep", "Oct", "Nov", "Dec"
+   };
+   
+   CivilTime& CivilTime::operator=( CivilTime& right )
+      throw()
+   {
+      year = right.year;
+      month = right.month;
+      day = right.day;
+      hour = right.hour;
+      minute = right.minute;
+      second = right.second;
+      return *this;
+   }
+   
+   CommonTime CivilTime::convertToCommonTime() const
+   {
+         // get the julian day
+      long jday = convertCalendarToJD( year, month, day );
+         // get the second of day
+      double sod = convertTimeToSOD( hour, minute, second );
+         // make a CommonTime with jd, whole sod, and fractional second of day
+      return CommonTime( jday, static_cast<long>( sod ),
+                         ( sod - static_cast<long>( sod ) ) );
+   }
+   
+   void CivilTime::convertFromCommonTime( const CommonTime& ct )
+   {
+      long jday, sod;
+      double fsod;
+         // get the julian day, second of day, and fractional second of day
+      ct.get( jday, sod, fsod );
+         // convert the julian day to calendar "year/month/day of month"
+      convertJDtoCalendar( jday, year, month, day );
+         // convert the (whole) second of day to "hour/minute/second"
+      convertSODtoTime( static_cast<double>( sod ), hour, minute, second );
+         // add the fractional second of day to "second"
+      second += fsod;
+   }
+   
+   std::string CivilTime::printf(const std::string& fmt) const
+      throw( gpstk::StringUtils::StringException )
+   {
+      try
+      {
+         using gpstk::StringUtils::formattedPrint;
+         std::string rv = fmt;
+         
+         rv = formattedPrint( rv, formatPrefixInt + "Y",
+                              "Yhd", year );
+         rv = formattedPrint( rv, formatPrefixInt + "y",
+                              "yhd", static_cast<short>( year % 100 ) );
+         rv = formattedPrint( rv, formatPrefixInt + "m",
+                              "mhd", month );
+         rv = formattedPrint( rv, formatPrefixInt + "b",
+                              "bs", MonthAbbrevNames[month] );
+         rv = formattedPrint( rv, formatPrefixInt + "B",
+                              "Bs", MonthNames[month] );
+         rv = formattedPrint( rv, formatPrefixInt + "d",
+                              "dhd", day );
+         rv = formattedPrint( rv, formatPrefixInt + "H",
+                              "Hhd", hour );
+         rv = formattedPrint( rv, formatPrefixInt + "M",
+                              "Mhd", minute );
+         rv = formattedPrint( rv, formatPrefixInt + "S", 
+                              "Sd", static_cast<short>( second ) );
+         rv = formattedPrint( rv, formatPrefixFloat + "f",
+                              "ff", second );
+         return rv;
+      }
+      catch( gpstk::StringUtils::StringException& exc )
+      {
+         GPSTK_RETHROW( exc );
+      }
+   }
+
+   bool CivilTime::setFromInfo( const IdToValue& info )
+      throw()
+   {
+      using namespace gpstk::StringUtils;
+      
+      bool hyear( false ), hmonth( false ), hday( false ), 
+         hhour( false ), hmin( false ), hsec( false );
+      int iyear( 0 ), imonth( 1 ), iday( 1 ), ihour( 0 ), imin( 0 );
+      double isec( 0. );
+
+      for( IdToValue::const_iterator i = info.begin();
+           i != info.end(); i++ )
+      {
+         switch( i->first )
+         {
+            case 'Y':
+               iyear = asInt( i->second );
+               hyear = true;
+               break;
+               
+            case 'y':
+               switch( i->second.length() )
+               {
+                  case 2:
+                     iyear = asInt( i->second ) + 1900;
+                     if( iyear < 1980 )
+                        iyear += 100;
+                     break;
+                  case 3:
+                     iyear = asInt( i->second ) + 1000;
+                     if( iyear < 1980 )
+                        iyear += 100;
+                     break;
+                  default:
+                     iyear = asInt( i->second );
+                     break;
+               };
+               hyear = true;
+               break;
+            
+            case 'm':
+               imonth = asInt( i->second );
+               hmonth = true;
+               break;
+               
+            case 'b':
+            case 'B':
+            {
+               std::string thisMonth( i->second );
+               lowerCase(thisMonth);
+               
+               if (isLike(thisMonth, "jan.*")) imonth = 1;               
+               else if (isLike(thisMonth, "feb.*")) imonth = 2;
+               else if (isLike(thisMonth, "mar.*")) imonth = 3;
+               else if (isLike(thisMonth, "apr.*")) imonth = 4;
+               else if (isLike(thisMonth, "may.*")) imonth = 5;
+               else if (isLike(thisMonth, "jun.*")) imonth = 6;
+               else if (isLike(thisMonth, "jul.*")) imonth = 7;
+               else if (isLike(thisMonth, "aug.*")) imonth = 8;
+               else if (isLike(thisMonth, "sep.*")) imonth = 9;
+               else if (isLike(thisMonth, "oct.*")) imonth = 10;
+               else if (isLike(thisMonth, "nov.*")) imonth = 11;
+               else if (isLike(thisMonth, "dec.*")) imonth = 12;
+               else
+               {
+                  return false;
+                     //InvalidRequest ir("Invalid month entry for readTime");
+                     //GPSTK_THROW( ir );
+               }
+               hmonth = true;
+            }
+               break;
+
+            case 'd':
+               iday = asInt( i->second );
+               hday = true;
+               break;
+               
+            case 'H':
+               ihour = asInt( i->second );
+               hhour = true;
+               break;
+               
+            case 'M':
+               imin = asInt( i->second );
+               hmin = true;
+               break;
+               
+            case 'S':
+               isec = asDouble( i->second );
+               hsec = true;
+               break;
+               
+            default:
+                  // do nothing
+               break;
+         };
+      }
+
+      if( hyear )
+      {
+         year = iyear;
+         month = imonth;
+         day = iday;
+         hour = ihour;
+         minute = imin;
+         second = isec;
+         return true;
+      }
+      
+      return false;
+   }
+
+   bool CivilTime::isValid() const
+      throw()
+   {
+      CivilTime temp;
+      temp.convertFromCommonTime( convertToCommonTime() );
+      if( *this == temp )
+      {
+         return true;
+      }
+      return false;
+   }
+   
+   bool CivilTime::operator==( const CivilTime& right ) const
+      throw()
+   {
+      if( year == right.year &&
+          month == right.month && 
+          day == right.day &&
+          hour == right.hour &&
+          minute == right.minute &&
+          second == right.second )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool CivilTime::operator!=( const CivilTime& right ) const
+      throw()
+   {
+      return (! operator==( right ) );
+   }
+
+   bool CivilTime::operator<( const CivilTime& right ) const
+      throw()
+   {
+      if( year < right.year )
+      {
+         return true;
+      }
+      if( year > right.year )
+      {
+         return false;
+      }
+      if( month < right.month )
+      {
+         return true;
+      }
+      if( month > right.month )
+      {
+         return false;
+      }
+      if( day < right.day )
+      {
+         return true;
+      }
+      if( day > right.day )
+      {
+         return false;
+      }
+      if( hour < right.hour )
+      {
+         return true;
+      }
+      if( hour > right.hour )
+      {
+         return false;
+      }
+      if( minute < right.minute )
+      {
+         return true;
+      }
+      if( minute > right.minute )
+      {
+         return false;
+      }
+      if( second < right.second )
+      {
+         return true;
+      }
+
+      return false;
+   }
+
+   bool CivilTime::operator>( const CivilTime& right ) const
+      throw()
+   {
+      return (! operator<=( right ) );
+   }
+
+   bool CivilTime::operator<=( const CivilTime& right ) const
+      throw()
+   {
+      return ( operator<( right ) || operator==( right ) );
+   } 
+
+   bool CivilTime::operator>=( const CivilTime& right ) const
+      throw()
+   {
+      return (! operator<( right ) );
+   }
+   
+} // namespace
diff --git a/trunk/src/CivilTime.hpp b/trunk/src/CivilTime.hpp
new file mode 100644
index 0000000..6fcce28
--- /dev/null
+++ b/trunk/src/CivilTime.hpp
@@ -0,0 +1,168 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CivilTime.hpp#4 $"
+
+#ifndef GPSTK_CIVILTIME_HPP
+#define GPSTK_CIVILTIME_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+      /**
+       * This class encapsulates the representation of time consisting of 
+       * year, month, day (of month), hour (of day), minute (of hour), and
+       * second (of minute).
+       */
+   class CivilTime : public TimeTag
+   {
+   public:
+      
+      static const std::string printChars;
+      static const std::string defaultFormat;
+      
+         /**
+          * @defgroup caltbo CivilTime Basic Operations
+          * Default and Copy Constructors, Assignment Operator and Destructor.
+          */
+         //@{
+         /**
+          * Default Constructor.
+          * All elements default to zero.
+          */
+      CivilTime( int yr = 0,
+                 int mo = 0,
+                 int dy = 0,
+                 int hr = 0,
+                 int mn = 0,
+                 double s = 0. )
+         throw()
+            : year(yr), month(mo), day(dy), hour(hr), minute(mn), second(s) 
+      {}
+      
+         /**
+          * Copy Constructor.
+          * @param right a const reference to the CivilTime object to copy
+          */
+      CivilTime( const CivilTime& right )
+         throw()
+            : year( right.year ), month( right.month ), day( right.day ),
+              hour( right.hour ), minute( right.minute ), 
+              second( right.second )
+      {}
+      
+         /**
+          * Alternate Copy Constructor.
+          * Takes a const TimeTag reference and copies its contents via 
+          * conversion to CommonTime.
+          * @param right a const reference to the TimeTag-based object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      CivilTime( const TimeTag& right )
+         throw( InvalidRequest )
+      {
+         convertFromCommonTime( right.convertToCommonTime() ); 
+      }
+      
+         /** 
+          * Alternate Copy Constructor.
+          * Takes a const CommonTime reference and copies its contents via
+          * the convertFromCommonTime method.
+          * @param right a const reference to the CommonTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      CivilTime( const CommonTime& right )
+         throw( InvalidRequest )
+      {
+         convertFromCommonTime( right );
+      }
+
+         /** 
+          * Assignment Operator.
+          * @param right a const reference to the CivilTime object to copy
+          * @return a reference to this CivilTime object
+          */
+      CivilTime& operator=( CivilTime& right )
+         throw();
+
+         /// Virtual Destructor.
+      virtual ~CivilTime() 
+         throw()
+      {}
+         //@}
+
+         /// Long month names for converstion from numbers to strings
+      static const char *MonthNames[];
+      
+         /// Short month names for converstion from numbers to strings
+      static const char *MonthAbbrevNames[];
+      
+         // The following functions are required by TimeTag.
+      virtual CommonTime convertToCommonTime() const;
+
+      virtual void convertFromCommonTime( const CommonTime& ct ) ;      
+      
+         /// This function formats this time to a string.  The exceptions 
+         /// thrown would only be due to problems parsing the fmt string.
+      virtual std::string printf(const std::string& fmt) const
+         throw( gpstk::StringUtils::StringException );
+      
+         /**
+          * Set this object using the information provided in \a info.
+          * @param info the IdToValue object to which this object shall be set.
+          * @return true if this object was successfully set using the 
+          *  data in \a info, false if not.
+          */
+      virtual bool setFromInfo( const IdToValue& info )
+         throw();
+
+         /// Return a string containing the characters that this class
+         /// understands when printing times.
+      virtual std::string getPrintChars() const
+         throw()
+      { 
+         return printChars;
+      }
+
+         /// Return a string containing the default format to use in printing.
+      virtual std::string getDefaultFormat() const
+         throw()
+      {
+         return defaultFormat;
+      }
+
+      virtual bool isValid() const
+         throw();
+
+         /**
+          * @defgroup ctco CivilTime Comparison Operators
+          * All comparison operators have a parameter "right" which corresponds
+          *  to the CivilTime object to the right of the symbol.
+          * All comparison operators are const and return true on success
+          *  and false on failure.
+          */
+         //@{
+      bool operator==( const CivilTime& right ) const
+         throw();
+      bool operator!=( const CivilTime& right ) const
+         throw();
+      bool operator<( const CivilTime& right ) const
+         throw();
+      bool operator>( const CivilTime& right ) const
+         throw();
+      bool operator<=( const CivilTime& right ) const
+         throw();
+      bool operator>=( const CivilTime& right ) const
+         throw();
+         //@}
+
+      int year;
+      int month;
+      int day;
+      int hour;
+      int minute;
+      double second;
+
+   };
+
+} // namespace
+
+#endif // GPSTK_CIVILTIME_HPP
diff --git a/trunk/src/ClockModel.hpp b/trunk/src/ClockModel.hpp
new file mode 100644
index 0000000..f1daaea
--- /dev/null
+++ b/trunk/src/ClockModel.hpp
@@ -0,0 +1,75 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ClockModel.hpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ClockModel.hpp
+ * An abstract class to provide an interface to a model of a clock offset.
+ * The model neds to be able to return an offset value at an indicated
+ * point in time.
+ */
+
+#ifndef CLOCKMODEL_HPP
+#define CLOCKMODEL_HPP
+
+#include <map>
+#include "Exception.hpp"
+#include "DayTime.hpp"
+
+/**
+ * This is a abstract base class for a clock model
+ */
+
+namespace gpstk
+{
+   class ClockModel
+   {
+   public:
+      ClockModel() throw() {};
+
+      virtual double getOffset(const gpstk::DayTime& t) const = 0;
+
+      virtual bool isOffsetValid(const gpstk::DayTime& t) const = 0;
+
+   };
+}
+#endif
diff --git a/trunk/src/CodeBuffer.cpp b/trunk/src/CodeBuffer.cpp
new file mode 100644
index 0000000..b3a410f
--- /dev/null
+++ b/trunk/src/CodeBuffer.cpp
@@ -0,0 +1,81 @@
+/* $ID: $
+*  CodeBuffer.cpp
+*     P(Y)-code Buffer class.
+*     Applied Research Laboratories, The University of Texas at Austin
+*     August 2003
+*/
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+   // Local headers
+#include "CodeBuffer.hpp"
+
+namespace gpstk
+{
+   CodeBuffer::CodeBuffer( const int SVPRNID )
+   {
+      PRNID = SVPRNID;
+      POrYCode = P_CODE;
+      currentTime = gpstk::DayTime();
+      buffer = new unsigned long[NUM_6SEC_WORDS];
+   }
+
+      // Assignment
+   CodeBuffer& CodeBuffer::operator=( const CodeBuffer& c )
+   {
+      if (this!=&c)
+      {
+         PRNID = c.PRNID;
+         POrYCode = c.POrYCode;
+         currentTime = c.currentTime;
+         for (long i=0;i<NUM_6SEC_WORDS;++i) buffer[i] = c.buffer[i];
+      }
+      return( *this );
+   }
+
+   void CodeBuffer::updateBufferStatus( const gpstk::DayTime& dt, const codeType PYFlag )
+   {
+      currentTime = dt;
+      POrYCode = PYFlag;
+   }
+
+}     // end of namespace
diff --git a/trunk/src/CodeBuffer.hpp b/trunk/src/CodeBuffer.hpp
new file mode 100644
index 0000000..caff4d9
--- /dev/null
+++ b/trunk/src/CodeBuffer.hpp
@@ -0,0 +1,173 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CodeBuffer.hpp#1 $"
+//  CodeBuffer.hpp  
+
+#ifndef CODEBUFFER_HPP
+#define CODEBUFFER_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+   // Library headers
+#include "DayTime.hpp"
+
+   // Project headers
+#include "PCodeConst.hpp"
+
+namespace gpstk
+{
+/** @addtogroup code    */
+//@{
+      /** P(Y)-code Buffer class.
+       *  Applied Research Laboratories, The University of Texas at Austin
+       *  August 2003
+       *
+       *  CodeBuffer is a helper class designed to store P-code information.
+       *  Six seconds of code for a particular satellite is stored in each
+       *  object.  The satellite is identified by PRNID and the beginning
+       *  time is specified in a DayTime object.  The code is stored in an
+       *  array of unsigned long (assumed 32-bit) integers.  The time order 
+       *  started with the MSB of first word of the buffer ([0]) and runs 
+       *  through the LSB of the last word of the buffer.
+       *
+       *  The size of the buffer is probably the most notable feature of 
+       *  this class. 1.5s (one Z-count) of P(Y)-code is 15,345,000 bits.  
+       *  Therefore, 6 seconds is equal to 4 Z-counts or 4 * 15,345,000 bits
+       *  = 61,380,000 bits.  These bits are stored in 1,918,125 unsigned 
+       *  long integers.  The fact that 61,380,000 is evenly divisble by 32
+       *  is not a coincidence, but part of the design.  The constant 
+       *  NUM_6SEC_WORDS is used to hold the value 1,918,125 and located in
+       *  PCodeConst.h.
+       */
+   class CodeBuffer
+   {
+      public:
+           /// Defines the type of code held in the buffer 
+         //enum codeType { P_CODE, Y_CODE, BOTH }; 
+      
+            /**
+             * Instantiate and initialize a code buffer for a particular
+             * satellite.
+             */
+         CodeBuffer( const int SVPRNID );
+         ~CodeBuffer( );
+         CodeBuffer& operator=( const CodeBuffer& c );
+         
+            /**
+             * Update the time associated with the buffer and the designation
+             * of the data contained in the buffer as P-code or Y-code.
+             */
+         void updateBufferStatus( const gpstk::DayTime& dt, 
+                                  const codeType PYFlag );
+
+            /**
+             * Update the time associated with the buffer and the designation
+             * of the data contained in the buffer as P-code or Y-code.  In this
+             * case, the time is not being changed, but the code flag may be 
+             * changed.
+             */
+         void updateBufferStatus( const codeType PYFlag ) { POrYCode = PYFlag; }
+         
+            /// Accessor returning the current time.
+         const gpstk::DayTime& getCurrentTime( ) { return(currentTime); }
+         
+            /// Accessor returning the type of code in the buffer (P or Y)
+         codeType getPYFlag( ) { return(POrYCode); } 
+         
+            /// Accessor returing the PRN ID of the buffer
+         int getPRNID( ) { return(PRNID); }
+            
+            /// Set or return the designated word of the code buffer.
+         unsigned long& operator[]( int i );
+         const unsigned long& operator[]( const int i ) const;
+         
+            /** Given a bit number between 0 and (NUM_6SEC_WORDS * MAX_BIT) - 1,
+             * return the value of the bit as a right justified unsigned 
+             * long word (0x00000000 or 0x00000001)..
+             */
+         unsigned long getBit( const long i );
+         
+            /** Perform an exclusive-or operation on the bits contained in 
+             * this instance of CodeBuffer and the instance referenced by cb.
+             */
+         CodeBuffer& operator^=( const CodeBuffer& cb );
+     
+      protected:  
+         CodeBuffer( const CodeBuffer& c );
+         unsigned long * buffer;
+         int PRNID;
+         gpstk::DayTime currentTime;
+         codeType POrYCode;
+   };
+
+   inline  CodeBuffer::~CodeBuffer( ) { delete [] buffer; }
+   inline CodeBuffer& CodeBuffer::operator^=( const CodeBuffer& cb )
+   { 
+      for (long i=0;i<NUM_6SEC_WORDS;++i) buffer[i] ^= cb.buffer[i];
+      return( *this );
+   }
+
+   inline unsigned long& CodeBuffer::operator[]( int i )
+   {
+      return(buffer[i]);
+   }
+
+   inline const unsigned long& CodeBuffer::operator[]( int i ) const
+   {
+      return(buffer[i]);
+   }
+
+   inline unsigned long CodeBuffer::getBit( const long i )
+   {
+      unsigned long iret;
+      long bNdx = i / MAX_BIT;
+      long bitNum = i - (bNdx * MAX_BIT);
+      iret = buffer[bNdx];
+   
+         // Shift LEFT to clear off msbs
+      iret <<= bitNum;
+         // Then shift RIGHT to clear off lsbs
+      iret >>= (MAX_BIT-1);
+   
+      return(iret);
+   }
+   //@}
+}     // end of namespace
+#endif // CODEBUFFER_HPP
diff --git a/trunk/src/CommandOption.cpp b/trunk/src/CommandOption.cpp
new file mode 100644
index 0000000..75ba6c7
--- /dev/null
+++ b/trunk/src/CommandOption.cpp
@@ -0,0 +1,394 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOption.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file CommandOption.cpp
+ * Command line options
+ */
+
+#include "CommandOption.hpp"
+#include "StringUtils.hpp"
+
+#include <sstream>
+
+using namespace std;
+using namespace gpstk::StringUtils;
+
+namespace gpstk
+{
+   CommandOptionVec defaultCommandOptionList;
+
+      // Prints out short options with a leading '-' and long ones with '--'.
+      // Puts a '|' between them if it has both.
+   string CommandOption::getOptionString() const
+   {
+      string toReturn;
+      if (shortOpt != 0)
+      {
+         toReturn += string("-") + string(1, shortOpt);
+         if (!longOpt.empty())
+            toReturn += string(" | --") + longOpt;
+      }
+      else
+      {
+         toReturn += string("--") + longOpt;
+      }
+      return toReturn;
+   }
+
+      // Prints out short options with a leading '-' and long ones with '--'.
+      // Puts a ',' between them if it has both.
+   string CommandOption::getFullOptionString() const
+   {
+      string toReturn("  ");
+      if (shortOpt != 0)
+      {
+         toReturn += string("-") + string(1, shortOpt);
+         if (!longOpt.empty())
+         {
+            toReturn += string(", --") + longOpt;
+            if (optFlag == hasArgument)
+               toReturn += "=" + getArgString();
+         }
+      }
+      else
+      {
+         toReturn += string("    --") + longOpt;
+         if (optFlag == hasArgument)
+            toReturn += "=" + getArgString();
+      }
+      return toReturn;
+   }
+
+      // creates the struct option for getopt_long
+   struct option CommandOption::toGetoptLongOption() const
+   { 
+      struct option o = {longOpt.c_str(), optFlag, NULL, 0};
+      return o;
+   }
+
+      // makes the string for getopt
+   std::string CommandOption::toGetoptShortOption() const
+   { 
+      std::string opt(1, shortOpt);
+      if (optFlag == hasArgument) opt += ":";
+      return opt;
+   }
+
+      // writes out the vector of values for this command option
+   std::ostream& CommandOption::dumpValue(std::ostream& out) const
+   {
+      std::vector<std::string>::const_iterator itr = value.begin();
+      while(itr != value.end()) 
+      {
+         out << *itr << std::endl; 
+         itr++;
+      }
+      return out;
+   }
+
+      // returns a string like this:
+      //
+      //   -f | --foo  <arg>
+      //        this is the description
+      //
+   std::string CommandOption::getDescription() const
+   {
+      ostringstream out;
+         // do the option itself first
+      out << '\t';
+      if (shortOpt != 0)
+      {
+         out << '-' << shortOpt;
+         if (!longOpt.empty())
+            out << " | ";
+         else
+            out << '\t';        
+      }
+      if (! longOpt.empty())
+      {
+         out << "--" << longOpt;
+      }
+      if (optFlag == hasArgument)
+      {
+         out << " " << getArgString();
+      }
+         // and the description goes on a new line
+      out << endl << prettyPrint(description, 
+                                 "\n",
+                                 "                  ", 
+                                 "               ");
+      if (maxCount != 0)
+      {
+         out << "\t\tUp to " << maxCount << " may be used on the command line."
+             << endl;
+      }
+      return out.str();
+   }
+
+      // this checks if it expects number or string type arguments.
+      // it returns a string describing the error, if any.
+   string CommandOption::checkArguments()
+   {
+      if (required && (count == 0))
+         return "Required option " + getOptionString() + " was not found.";
+
+      return string();
+   }
+
+   string CommandOptionRest::checkArguments()
+   {
+      if (required && (count == 0))
+         return "Required trailing argument was not found.";
+
+      return string();
+   }
+
+   string CommandOptionWithNumberArg::checkArguments()
+   {
+      string errstr = CommandOption::checkArguments();
+
+      if (!errstr.empty())
+         return errstr;
+
+      vector<string>::size_type vecindex;
+      for(vecindex = 0; vecindex < value.size(); vecindex++)
+      {
+         if (!isDigitString(value[vecindex]))
+         {
+            string errstr("Argument for ");
+            errstr += getOptionString();
+            errstr += string(" should be a digit string.");
+            return errstr;
+         }
+      }
+
+      return string();
+   }
+
+   string CommandOptionWithStringArg::checkArguments()
+   {
+      string errstr = CommandOption::checkArguments();
+
+      if (!errstr.empty())
+         return errstr;
+
+      vector<string>::size_type vecindex;
+      for(vecindex = 0; vecindex < value.size(); vecindex++)
+      {
+         if (!isAlphaString(value[vecindex]))
+         {
+            string errstr("Argument for ");
+            errstr += getOptionString();
+            errstr += string(" should be an alphabetic string.");
+            return errstr;
+         }
+      }
+      return errstr;
+   }
+
+   string CommandOptionMutex::checkArguments()
+   {
+      if (doOneOfChecking)
+      {
+         string oo = CommandOptionOneOf::checkArguments();
+         if (oo != string())
+            return oo;
+      }
+
+         // mutex doesn't call CommandOption::checkArguments because
+         // it uses "required" differently
+      string errstr("Only one of the following options may be specified: ");
+      int firstSpec = -1;
+      bool touched = false;
+
+      for (int i = 0; i < optionVec.size(); i++)
+      {
+         CommandOption *opt = optionVec[i];
+
+         if (i)
+            errstr += ", ";
+         errstr += opt->getOptionString();
+         if (opt->getCount())
+         {
+            if (firstSpec != -1)
+               touched = true;
+            else
+               firstSpec = i;
+         }
+      }
+
+      if (touched)
+         return errstr;
+
+      return string();
+   }
+
+   string CommandOptionOneOf::checkArguments()
+   {
+         // one-of doesn't call CommandOption::checkArguments because
+         // it doesn't use "required"
+      string errstr("One of the following options must be specified: ");
+      bool found = false;
+
+      for (int i = 0; i < optionVec.size(); i++)
+      {
+         if (optionVec[i]->getCount())
+            found = true;
+         if (i > 0)
+            errstr += ", ";
+         errstr += optionVec[i]->getOptionString();
+      }
+
+      if (!found)
+         return errstr;
+
+      return string();
+   }
+
+   CommandOption* CommandOptionOneOf::whichOne() const
+   {
+      CommandOption *rv = NULL;
+
+      for (int i = 0; i < optionVec.size(); i++)
+      {
+         if (optionVec[i]->getCount())
+         {
+            rv = optionVec[i];
+            break;
+         }
+      }
+
+      return rv;
+   }
+
+   string CommandOptionAllOf::checkArguments()
+   {
+      string errstr("The following options must be used together: ");
+      bool found = false, notFound = false;
+
+      for (int i = 0; i < optionVec.size(); i++)
+      {
+         if (optionVec[i]->getCount())
+            found = true;
+         else
+            notFound = true;
+         if (i > 0)
+            errstr += ", ";
+         errstr += optionVec[i]->getOptionString();
+      }
+
+      if (found && notFound)
+         return errstr;
+
+      return string();
+   }
+
+   unsigned long CommandOptionAllOf::getCount() const
+   {
+      unsigned long rv = 0;
+      for (int i = 0; i < optionVec.size(); i++)
+      {
+         if (optionVec[i]->getCount() == 0)
+            return 0;
+         rv += optionVec[i]->getCount();
+      }
+      return rv;
+   }
+
+   string CommandOptionDependent::checkArguments()
+   {
+         // dependent doesn't call CommandOption::checkArguments because
+         // it doesn't use "required"
+      string errstr;
+
+      if (!requiree)
+         errstr = "Null requiree (parent) for CommandOptionDependent";
+      if (!requirer)
+         errstr = "Null requirer (child) for CommandOptionDependent";
+
+      if (requirer->getCount() && !requiree->getCount())
+         errstr = "Option " + requirer->getOptionString() + " requires " +
+            requiree->getOptionString();
+
+      return errstr;
+   }
+
+   string CommandOptionGroupOr::getOptionString() const
+   {
+      string rv;
+      if (optionVec.size() > 1)
+         rv += "(";
+      for (int i = 0; i < optionVec.size(); i++)
+      {
+         if (i) rv += ",";
+         rv += optionVec[i]->getOptionString();
+      }
+      if (optionVec.size() > 1)
+         rv += ")";
+
+      return rv;
+   }
+
+   unsigned long CommandOptionGroupOr::getCount() const
+   {
+      unsigned long rv = 0;
+      for (int i = 0; i < optionVec.size(); i++)
+         rv += optionVec[i]->getCount();
+
+      return rv;
+   }
+
+   unsigned long CommandOptionGroupAnd::getCount() const
+   {
+      unsigned long rv = 0;
+      for (int i = 0; i < optionVec.size(); i++)
+      {
+         if (optionVec[i]->getCount() == 0)
+            return 0;
+         rv += optionVec[i]->getCount();
+      }
+      return rv;
+   }
+
+} // namespace gpstk
diff --git a/trunk/src/CommandOption.hpp b/trunk/src/CommandOption.hpp
new file mode 100644
index 0000000..fdd0dc0
--- /dev/null
+++ b/trunk/src/CommandOption.hpp
@@ -0,0 +1,629 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOption.hpp#2 $"
+
+/**
+ * @file CommandOption.hpp
+ * Command line options
+ */
+
+#ifndef COMMANDOPTION_HPP
+#define COMMANDOPTION_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifdef __SUNPRO_CC
+#include "getopt.h"
+#elif defined (_AIX)
+#include "getopt.h"
+#else
+#include <getopt.h>
+#endif
+
+#include <string>
+#include <vector>
+
+namespace gpstk
+{
+      /** @defgroup commandoptiongroup Command-Line Options */
+      //@{
+
+      // forward declaration
+   class CommandOption;
+   typedef std::vector<CommandOption*> CommandOptionVec;
+
+      /// The default command option list used by CommandOption and
+      /// gpstk::CommandOptionParser
+   extern CommandOptionVec defaultCommandOptionList;
+
+      /**
+       * This class is part of a replacement for getopt.
+       *
+       * Each CommandOption 
+       * represents an option you would enter at a command line.  You can 
+       * specify whether the option does or does not require an argument, 
+       * if the option is of a certain type (string or number), then the 
+       * short option (i.e. '-f') and long option ('--foo'), whether it's 
+       * a required option or not, then a short description for a help display.
+       * By default, options can appear an unlimited number of times on a 
+       * command line.  Use setMaxCount() to set a maximum limit to this.
+       * In that case, additional appearances of that option will trigger
+       * an error once parsed.
+       *
+       * When a CommandOption is created (not using the default
+       * constructor), it automatically adds itself to a list that will
+       * be used by gpstk::CommandOptionParser. If you want to manage your
+       * own list, pass in your own std::vector<gpstk::CommandOptionParser> 
+       * with the CommandOption constructor. After parsing the command
+       * line, you can use the getValue() and 
+       * getCount() methods to see what arguments 
+       * the options had and how many times the option was listed on
+       * the command line.
+       *
+       * This class is strongly connected to gpstk::CommandOptionParser, so
+       * if you change anything here, make sure you don't side affect 
+       * the other.
+       *
+       * @sa getopttest.cpp in the test directory for some examples.
+       *
+       * @warning DO NOT USE THE DEFAULT CONSTRUCTOR FOR THIS CLASS.
+       * That's for the STL use requirements only.
+       * @warning Do not repeat characters or strings used in the short
+       * or long command options.  Doing so will cause one of them not to work.
+       * @warning Do not reuse the CommandOption objects. Make a separate
+       * one for each option you want on the command line.
+       * @warning Make the description an understandable, grammatically
+       * correct sentence.
+       * @warning The resulting behavior of not heeding the above advice
+       * is undefined, and I take no responsibility for the results of you
+       * not taking appropriate action in light of this warning.
+       */
+   class CommandOption
+   {
+   public:
+         /// let's the CommandOptionParser see it's private parts =)
+      friend class CommandOptionParser;
+
+         /// Every option must either have or not have an argument.
+         /// There are no optional arguments because Solaris doesn't support it.
+      enum CommandOptionFlag
+      {
+         noArgument = 0,         ///< option requires no arguments
+         hasArgument = 1         ///< option requires an argument
+      };
+
+         /// This is so you can limit what type or argument an option can have.
+         /// If specified, it will be checked when the argument is encountered.
+         /// Errors will get set appropriately if there are any.
+      enum CommandOptionType
+      {
+         trailingType, ///< Special case, no option, just the remaining args.
+         stdType,      ///< The argument of this option can be any type.
+         metaType      ///< A meta-option that has its own special validation.
+      };
+
+         /**
+          * Constructor.
+          * @param of Whether or not this command requires an argument
+          * @param ot The type of option (string, number, any, etc.)
+          * @param shOpt The one character command line option.  Set to 0
+          * if unused.
+          * @param loOpt The long command option.  Set to std::string() 
+          * if unused.
+          * @param desc A string describing what this option does.
+          * @param req Set to true if this is a required option.
+          * @param optVectorList Use this to create your own 
+          * command option list if you want to use an alternate method
+          * of parsing the command options.
+          */
+      CommandOption(const CommandOptionFlag of, 
+                    const CommandOptionType ot,
+                    const char shOpt, 
+                    const std::string& loOpt, 
+                    const std::string& desc,
+                    const bool req = false,
+                    CommandOptionVec& optVectorList =  
+                       defaultCommandOptionList)
+            : optFlag(of),  optType(ot),
+              shortOpt(shOpt), longOpt(loOpt), description(desc),
+              required(req), count(0), maxCount(0), order(0)
+         {optVectorList.push_back(this);}
+
+         /// Sets the maximum number of times this should appear on the 
+         /// command line.
+      CommandOption& setMaxCount(const unsigned long l)
+         {maxCount = l; return *this;}
+
+         /// Returns a string with the flags for this CommandOption.
+         /// (i.e.  "-f | --foo")
+      virtual std::string getOptionString() const;
+
+         /// Returns a formatted string with the flags for this CommandOption.
+         /// (i.e.  "  -f, --foo=ARG")
+      std::string getFullOptionString() const;
+
+         /// Returns a string with the argument format. 
+      virtual std::string getArgString() const
+      { return "ARG"; }
+
+         /// Returns a struct option for use with getopt_long.
+      struct option toGetoptLongOption() const;
+         /// Returns a string for use with getopt.
+      std::string toGetoptShortOption() const;
+
+         /**
+          * Returns the number of times this option was found on the
+          * command line.
+          */
+      virtual unsigned long getCount() const { return count; }
+
+         /**
+          * Returns the arguments this option had passed in from the
+          * command line.
+          */
+      std::vector<std::string> getValue() const { return value; }
+
+         /// Returns the order which this command option was seen on the
+         /// command line, with 1 being the first option.  
+         //  If it can be repeated, this order represents the order of
+         /// the last occurance of this option.
+      unsigned int getOrder() const { return order; }
+
+         /// Displays this->value to the stream \c out.
+      std::ostream& dumpValue(std::ostream& out) const;
+
+         /// Returns a formatted string with the description of this option.
+      std::string getDescription() const;
+
+         /**
+          * If you specified a format for the arguments (for example, digit or
+          * string), this function checks them to see if they match.
+          * If they don't, an error string is returned.  If they do, an
+          * empty string is returned.
+          * @param optVec complete set of processed command line options
+          *   being processed (used by some option types).
+          */
+      virtual std::string checkArguments();
+
+         /// Destructor
+      virtual ~CommandOption() {}
+
+   protected:
+         /// Flag for determining whether this option has an argument or not.
+      CommandOptionFlag optFlag;
+         /// Flag for determining whether this option has a specific
+         /// argument type.
+      CommandOptionType optType;
+         /// The character for the short option (for example, '-f').
+      char shortOpt;
+         /// The string for the long option (for example, "--foo").
+      std::string longOpt;
+         /// The description for the help text.
+      std::string description;
+         /// Any arguments passed with this option get put in here.
+      std::vector<std::string> value;
+         /// Whether or not this is a required command line option.
+      bool required;
+         /// The number of times this option was encountered on the
+         /// command line.
+      unsigned long count;
+         /// The maximum number of times this can appear on the command line.
+         /// If it's 0, then it's unlimited.
+      unsigned long maxCount;
+         /// The order in which this option was encountered on the command line
+      unsigned long order;
+
+         /// Default Constructor
+      CommandOption() {}
+   };
+
+      /// A subclass of CommandOption that is a required command line option.
+   class RequiredOption : public CommandOption
+   {
+   public:
+         /// Constructor
+      RequiredOption(const CommandOptionFlag of,
+                     const CommandOptionType ot,
+                     const char shOpt, 
+                     const std::string& loOpt, 
+                     const std::string& desc)
+            : CommandOption(of, ot, shOpt, loOpt, desc, true)
+         {}
+
+         /// Destructor
+      virtual ~RequiredOption() {}
+
+   protected:
+         /// default constructor
+      RequiredOption() {}
+   };
+
+      /// A subclass of CommandOption that has no arguments
+   class CommandOptionNoArg : public CommandOption
+   {
+   public:
+         /// Constructor
+      CommandOptionNoArg(const char shOpt, 
+                         const std::string& loOpt, 
+                         const std::string& desc,
+                         const bool required = false)
+            : CommandOption(noArgument, stdType, shOpt, loOpt, desc, required)
+         {}
+         
+         /// Destructor
+      virtual ~CommandOptionNoArg() {}
+         /// Returns true if this option was found on the command line
+      operator bool() const throw() { return (getCount() != 0); }
+
+   protected:
+         /// Default Constructor
+      CommandOptionNoArg() {}
+   };
+
+      /// A subclass of CommandOption that has an argument.
+   class CommandOptionWithArg : public CommandOption
+   {
+   public:
+         /// Constructor
+      CommandOptionWithArg(const CommandOptionType ot,
+                           const char shOpt, 
+                           const std::string& loOpt, 
+                           const std::string& desc,
+                           const bool required = false)
+            : CommandOption(hasArgument, ot, shOpt, loOpt, desc, required)
+         {}
+
+         /// Destructor
+      virtual ~CommandOptionWithArg() {}
+
+   protected:
+         /// Default Constructor
+      CommandOptionWithArg() {}
+   };
+
+      /// A CommandOption that requires a string argument.
+   class CommandOptionWithAnyArg : public CommandOptionWithArg
+   {
+   public:
+         /// Constructor
+      CommandOptionWithAnyArg(const char shOpt, 
+                              const std::string& loOpt, 
+                              const std::string& desc,
+                              const bool required = false)
+            : CommandOptionWithArg(stdType, shOpt, loOpt, desc, required)
+         {}
+
+         /// Destructor
+      virtual ~CommandOptionWithAnyArg() {}
+
+   protected:
+         /// Default Constructor
+      CommandOptionWithAnyArg() {}
+   };
+
+      /// A CommandOption that requires a string argument.
+   class CommandOptionWithStringArg : public CommandOptionWithArg
+   {
+   public:
+         /// Constructor
+      CommandOptionWithStringArg(const char shOpt, 
+                                 const std::string& loOpt, 
+                                 const std::string& desc,
+                                 const bool required = false)
+            : CommandOptionWithArg(stdType, shOpt, loOpt, desc, required)
+         {}
+
+         /// Destructor
+      virtual ~CommandOptionWithStringArg() {}
+
+      virtual std::string checkArguments();
+
+         /// Returns a string with the argument format. 
+      virtual std::string getArgString() const
+      { return "<alpha>"; }
+
+   protected:
+         /// Default Constructor
+      CommandOptionWithStringArg() {}
+   };
+
+      /// A CommandOption that requires a numeric argument.
+   class CommandOptionWithNumberArg : public CommandOptionWithArg
+   {
+   public:
+         /// Constructor
+      CommandOptionWithNumberArg(const char shOpt, 
+                                 const std::string& loOpt, 
+                                 const std::string& desc,
+                                 const bool required = false)
+            : CommandOptionWithArg(stdType, shOpt, loOpt, desc, required)
+         {}
+
+         /// Destructor
+      virtual ~CommandOptionWithNumberArg() {}
+
+      virtual std::string checkArguments();
+
+         /// Returns a string with the argument format. 
+      virtual std::string getArgString() const
+      { return "NUM"; }
+
+   protected:
+         /// Default Constructor
+      CommandOptionWithNumberArg() {}
+   };
+
+      /**
+       * It only makes sense to have a single one of these set. It is
+       * the option that takes the rest of the command line options
+       * that are not part of any other options.  e.g. "strace -ofile
+       * command arg1 arg2". The "command arg1 arg2" part is placed in
+       * objects of this class.
+       * 
+       * @short CommandOption to take the rest of the command line
+       */
+   class CommandOptionRest : public CommandOptionWithArg
+   {
+   public:
+         /**
+          * CommandOptionRest contructor.  This sets the CommandOptionType
+          * for this object to trailingType.
+          *
+          * @param desc short description of the option
+          * @param required true if option is required
+          */
+      CommandOptionRest(const std::string& desc,
+                        const bool required = false)
+            : CommandOptionWithArg(trailingType, 0, "", desc, required)
+      {}
+      
+         /// Destructor
+      virtual ~CommandOptionRest() {}
+      
+      virtual std::string checkArguments();
+
+   protected:
+         /// Default Constructor
+      CommandOptionRest() {}
+   };
+
+      /**
+       * This is a special "command option" which is really a
+       * meta-option to make sure at least one of a set of real
+       * options has been used.
+       * \warning There's nothing to prevent you from, say, adding
+       * another meta-option to the list of mutually exclusive options
+       * contained in a CommandOptionOneOf instance (or even itself),
+       * but the behavior if you try this is undefined.
+       */
+   class CommandOptionOneOf : public CommandOption
+   {
+   public:
+         /**
+          * CommandOptionOneOf contructor.  This sets the CommandOptionType
+          * for this object to metaType.
+          */
+      CommandOptionOneOf()
+            : CommandOption(noArgument, metaType, 0, "", "")
+      {}
+      
+         /// Destructor
+      virtual ~CommandOptionOneOf() {}
+
+      virtual std::string checkArguments();
+
+         /// Add an option to the list of mutually exclusive options
+      void addOption(CommandOption* opt)
+      { optionVec.push_back(opt); }
+
+         /// @return the command option that was used (NULL if none).
+      CommandOption* whichOne() const;
+      
+   protected:
+      CommandOptionVec optionVec;
+   };
+
+      /**
+       * This is a special "command option" which is really a
+       * meta-option to make sure that if one of a set of real options
+       * has been used, all of the set are used.
+       * \warning There's nothing to prevent you from, say, adding
+       * another meta-option to the list of mutually exclusive options
+       * contained in a CommandOptionAllOf instance (or even itself),
+       * but the behavior if you try this is undefined.
+       */
+   class CommandOptionAllOf : public CommandOptionOneOf
+   {
+   public:
+         /**
+          * CommandOptionAllOf contructor.  This sets the CommandOptionType
+          * for this object to metaType.
+          */
+      CommandOptionAllOf()
+      {}
+      
+         /// Destructor
+      virtual ~CommandOptionAllOf() {}
+
+      virtual std::string checkArguments();
+
+         /// returns the sum of all encapsulated option counts if all are in use, zero otherwise.
+      virtual unsigned long getCount() const;
+
+   private:
+         // hide this as it doesn't make sense for this class
+      CommandOption* whichOne() const;
+   };
+
+      /**
+       * This is a special "command option" which is really a
+       * meta-option to enforce mutual exclusion between a set of real
+       * options.
+       * \warning There's nothing to prevent you from, say, adding
+       * another mutex to the list of mutually exclusive options
+       * contained in a CommandOptionMutex instance (or even itself),
+       * but the behavior if you try this is undefined.
+       */
+   class CommandOptionMutex : public CommandOptionOneOf
+   {
+   public:
+         /**
+          * CommandOptionMutex contructor.  This sets the CommandOptionType
+          * for this object to metaType.
+          *
+          * @param required true if option is required.  This makes
+          * CommandOptionMutex do CommandOptionOneOf-type checking in
+          * addition to the exclusion (i.e. it checks to make sure at
+          * least one option was specified).
+          */
+      CommandOptionMutex(const bool required = false)
+            : doOneOfChecking(required)
+      {}
+      
+         /// Destructor
+      virtual ~CommandOptionMutex() {}
+
+      virtual std::string checkArguments();
+
+   protected:
+      bool doOneOfChecking;
+   };
+
+      /**
+       * This is a special "command option" which is really a
+       * meta-option to make sure that a required option is set where
+       * the requirement is based on another option (that is, if you
+       * specify one, you must have specified another).
+       * \warning There's nothing to prevent you from using other meta
+       * options as requirements, but the behavior if you try this is
+       * undefined.
+       */
+   class CommandOptionDependent : public CommandOption
+   {
+   public:
+         /**
+          * CommandOptionDependent contructor.  This sets the
+          * CommandOptionType for this object to metaType.  During
+          * command line option validation, if \c child is set, \c
+          * parent is checked to make sure it is also set.
+          *
+          * @param parent Command option that must be used if...
+          * @param child ...is used.
+          */
+      CommandOptionDependent(const CommandOption* parent,
+                             const CommandOption* child)
+            : CommandOption(noArgument, metaType, 0, "", ""),
+              requiree(parent), requirer(child)
+      {}
+
+         /// Destructor
+      virtual ~CommandOptionDependent() {}
+
+      virtual std::string checkArguments();
+
+   protected:
+         /// Default Constructor
+      CommandOptionDependent() {}
+
+      const CommandOption *requiree, *requirer;
+   };
+
+      /**
+       * This is a special "command option" which is really a
+       * meta-option to group other options together for use in other
+       * meta-options.  This particular meta-option allows a group of
+       * options to be specified in other meta-options.  This option
+       * is considered "set" if any of the member options are set.
+       * This class and CommandOptionGroupAnd are designed to make up
+       * for the fact that the verification meta-options are not
+       * designed to work in other verification meta-options.
+       */
+   class CommandOptionGroupOr : public CommandOptionOneOf
+   {
+   public:
+         /**
+          * CommandOptionGroupOr contructor.  Does nothing explicitly.
+          */
+      CommandOptionGroupOr()
+      {}
+      
+         /// Destructor.
+      virtual ~CommandOptionGroupOr() {}
+
+         /// Do not do any checking.
+      virtual std::string checkArguments() { return std::string(); }
+
+         /// returns the sum of all encapsulated option counts.
+      virtual unsigned long getCount() const;
+
+         /// return a string containing the aggregated option strings
+      virtual std::string getOptionString() const;
+   };
+
+      /**
+       * This is a special "command option" which is really a
+       * meta-option to group other options together for use in other
+       * meta-options.  This particular meta-option allows a group of
+       * options to be specified in other meta-options.  This option
+       * is considered "set" iff all of the member options are set.
+       * This class and CommandOptionGroupAnd are designed to make up
+       * for the fact that the verification meta-options are not
+       * designed to work in other verification meta-options.
+       */
+   class CommandOptionGroupAnd : public CommandOptionGroupOr
+   {
+   public:
+         /**
+          * CommandOptionGroupAnd contructor.  Does nothing explicitly.
+          */
+      CommandOptionGroupAnd()
+      {}
+      
+         /// Destructor.
+      virtual ~CommandOptionGroupAnd() {}
+
+         /// returns the sum of all encapsulated option counts if all are in use, zero otherwise.
+      virtual unsigned long getCount() const;
+   };
+
+      //@}
+   
+} // namespace gpstk
+#endif
diff --git a/trunk/src/CommandOptionParser.cpp b/trunk/src/CommandOptionParser.cpp
new file mode 100644
index 0000000..c7eb608
--- /dev/null
+++ b/trunk/src/CommandOptionParser.cpp
@@ -0,0 +1,358 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOptionParser.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file CommandOptionParser.cpp
+ * Parse command line options.
+ */
+
+#include "CommandOptionParser.hpp"
+
+#include "StringUtils.hpp"
+
+using namespace std;
+using namespace gpstk::StringUtils;
+
+#ifdef _MSC_VER
+#define min(VAL1, VAL2) _cpp_min(VAL1, VAL2)
+#define max(VAL1, VAL2) _cpp_max(VAL1, VAL2)
+#endif
+
+namespace gpstk
+{
+
+      // parses the command line input
+   void
+   CommandOptionParser::parseOptions(int argc,
+                                     char* argv[])
+   {
+         // this maps the index of optionVec to the command line options
+      CommandOptionMap com;
+      
+         // keep track of the order of command options
+      unsigned int order = 0;
+
+         // get the program name.  If there's a / in it, take the part
+         // after the last / as the program name
+      progName = string(argv[0]);
+      string::size_type slashPos = progName.rfind('/');
+      if (slashPos != string::npos)
+         progName = progName.substr(slashPos + 1);
+
+      string shortOptString;
+      struct option* optArray = NULL;
+      unsigned long optArraySize = 0;
+
+      CommandOption *trailing = NULL;
+
+         // build the getopt and getopt_long inputs
+      CommandOptionVec::size_type index;
+      for(index = 0; index < optionVec.size(); index++)
+      {
+            // add short options
+         switch (optionVec[index]->optType)
+         {
+            case CommandOption::trailingType:
+               if (trailing)
+                  errorStrings.push_back("More than one trailing argument"
+                                         " object used (programming error");
+               else
+                  trailing = optionVec[index];
+               break;
+            case CommandOption::stdType:
+               if (optionVec[index]->shortOpt != 0)
+               {
+                  shortOptString += optionVec[index]->toGetoptShortOption();
+                  com[string(1,optionVec[index]->shortOpt)] = optionVec[index];
+               }
+
+                  // add long options
+               if (!optionVec[index]->longOpt.empty())
+               {
+                  resizeOptionArray(optArray, optArraySize);
+                  optArray[optArraySize - 1] = 
+                     optionVec[index]->toGetoptLongOption();
+                  com[optionVec[index]->longOpt] = optionVec[index];
+               }
+
+                  // keep track of whether or not there are required or
+                  // optional arguments
+               if (optionVec[index]->required)
+                  hasRequiredArguments = true;
+               else
+                  hasOptionalArguments = true;
+               break;
+            default:
+                  // do nothing
+               break;
+         }
+      }
+
+         // add the getopt_long terminator value
+      resizeOptionArray(optArray, optArraySize);
+      struct option lastOption = {0,0,0,0};
+      optArray[optArraySize - 1] = lastOption;
+
+         // use '+' to make getopt not mangle the inputs (if i remember right)
+      shortOptString.insert((string::size_type)0, (string::size_type)1, '+');
+
+      int cha;
+      int optionIndex;
+
+         // disable internal error messages
+      opterr = 0;
+
+      while (optind < argc)
+      {
+         if ((cha = getopt_long(argc, argv, shortOptString.c_str(),
+                                optArray, &optionIndex)) == -1)
+         {
+            if (!trailing)
+               errorStrings.push_back("Excess arguments");
+            break;
+         }
+
+         order++;
+
+            // Solaris uses '?' for all getopt errors.  Linux uses '?'
+            // for unknown options and ':' for options that require
+            // arguments but don't have then. That's why the error
+            // message is "option error" cause we can't differentiate
+            // what the REAL error is...
+         if ((cha == '?') || (cha == ':'))
+         {
+               // get the argument that had the error and write an
+               // error string
+            string errorArg;
+               // for a character option error
+            if (optopt != 0)
+               errorArg = string(1, (char)optopt);
+               // for a getopt_long error
+            else
+               errorArg = argv[optind - 1];
+            errorStrings.push_back(string("Option error: " + errorArg));
+         }
+            // otherwise this is probably a found option
+         else
+         {
+            string thisOption;
+
+               // determine whether it found the short or long version
+            if (cha != 0)
+               thisOption = string(1,(char)cha);
+            else
+               thisOption = string(optArray[optionIndex].name);
+               
+               // try to find the option in our option map
+            map<string, CommandOption*>::iterator itr = com.find(thisOption);
+
+            if (itr != com.end())
+            {
+               CommandOption* pickedOption = (*itr).second;
+                  // if there is an value for this option...
+               if (optarg)
+               {
+                  if (pickedOption->optFlag == CommandOption::noArgument)
+                  {
+                     errorStrings.push_back(string("Option ") +
+                                            thisOption +
+                                            string(" has an argument but it shouldn't."));
+                  }
+                     // add this argument to the picked option and
+                     // increment the count
+                  else if (pickedOption->optFlag == CommandOption::hasArgument)
+                  {
+                     pickedOption->value.push_back(string(optarg));
+                     pickedOption->count++;
+                     pickedOption->order = order;
+                  }
+
+               }
+                  // no value for option...
+               else
+               {
+                  if (pickedOption->optFlag == CommandOption::hasArgument)
+                  {
+                     errorStrings.push_back(string("Option ") +
+                                            thisOption +
+                                            string(" has no argument when it should."));
+                  }
+                     // increment the picked option's count
+                  else if (pickedOption->optFlag == CommandOption::noArgument)
+                  {
+                     pickedOption->count++;
+                     pickedOption->order = order;
+                  }
+               }
+            } // itr != end()
+            else
+            {
+               errorStrings.push_back("Unknown option error");               
+            }
+         } // else cha ==
+      }  // getopt_long
+
+         // check for remaining arguments
+      if (optind < argc)
+      {
+         if (trailing)
+         {
+            int i;
+            for(i = optind; i < argc; i++)
+            {
+               trailing->value.push_back(string(argv[i]));
+               trailing->count++;
+            }
+         }
+            // the case where trailing==null is handled above
+      }
+
+      for(index = 0; index < optionVec.size(); index++)
+      {
+         string retVal = optionVec[index]->checkArguments();
+         if (!retVal.empty())
+            errorStrings.push_back(retVal);
+
+            // check max count
+         if (optionVec[index]->maxCount != 0)
+         {
+            if (optionVec[index]->count > optionVec[index]->maxCount)
+            {
+               string errstr("Option ");
+               errstr += optionVec[index]->getOptionString();
+               errstr += string(" appeared more times than allowed.");
+               errorStrings.push_back(errstr);
+            }
+         }
+      }
+   
+      delete [] optArray;
+   }
+
+   ostream& CommandOptionParser::dumpErrors(ostream& out)
+   {
+      vector<string>::size_type index;
+      for(index = 0; index < errorStrings.size(); index++)
+         out << errorStrings[index] << endl;
+      return out;
+   }
+
+      // prints the required arguments first (if any) then the optional
+      // ones (if any)
+   ostream& CommandOptionParser::displayUsage(ostream& out, bool doPretty)
+   {
+      CommandOptionVec::size_type index;
+      CommandOption *trailing = NULL;
+
+      char *colch = getenv("COLUMNS");
+      int columns = 80;
+      unsigned maxlen = 0;
+      if (colch)
+      {
+         string colStr(colch);
+         columns = asInt(colStr);
+      }
+
+         // find the trailing argument if any, and max option string length
+      for (index = 0; index < optionVec.size(); index++)
+      {
+         if (optionVec[index]->optType == CommandOption::trailingType)
+            trailing = optionVec[index];
+         else if (optionVec[index]->optType == CommandOption::stdType)
+            maxlen = std::max(maxlen,
+               unsigned(optionVec[index]->getFullOptionString().length()));
+      }
+
+      out << "Usage: " << progName;
+      if (hasRequiredArguments || hasOptionalArguments)
+         out << " [OPTION] ...";
+      if (trailing)
+         out << " " << trailing->description;
+      out << endl
+          << (doPretty ? prettyPrint(text,"\n","","",columns) : text);
+// << endl
+//          << endl 
+//          << "Command options:" << endl;
+      
+      for(int required = 1; required >= 0; required--)
+      {
+         if (required==1 && hasRequiredArguments)
+            out << endl << "Required arguments:" << endl;
+         else if (required==0 && hasOptionalArguments)
+            out << endl << "Optional arguments:" << endl;
+
+         for(index = 0; index < optionVec.size(); index++)
+         {
+            if ((optionVec[index]->required == (required==1)) &&
+                (optionVec[index]->optType == CommandOption::stdType))
+            {
+               string optstr(optionVec[index]->getFullOptionString());
+               string desc(optionVec[index]->description);
+               string indent(maxlen, ' ');
+
+               if(doPretty) {
+                  leftJustify(optstr, maxlen);
+                  prettyPrint(desc, "\n", indent, optstr, columns);
+               }
+               out << desc;
+               if(!doPretty) out << endl;
+            }
+         }
+      }
+
+      return out;
+   }
+
+      // resizes the array for getopt_long
+   void CommandOptionParser::resizeOptionArray(struct option *&oldArray,
+                                               unsigned long& oldSize)
+   {
+      struct option* newArray = new struct option[1 + oldSize];
+      memcpy(newArray, oldArray, oldSize * sizeof(struct option));
+      delete [] oldArray;
+      oldArray = newArray;
+      newArray = NULL;
+      oldSize += 1;
+   }
+
+}  // end namespace gpstk
diff --git a/trunk/src/CommandOptionParser.hpp b/trunk/src/CommandOptionParser.hpp
new file mode 100644
index 0000000..f17f5ea
--- /dev/null
+++ b/trunk/src/CommandOptionParser.hpp
@@ -0,0 +1,153 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOptionParser.hpp#1 $"
+
+/**
+ * @file CommandOptionParser.hpp
+ * Parse command line options
+ */
+
+#ifndef COMMANDOPTIONPARSER_HPP
+#define COMMANDOPTIONPARSER_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "CommandOption.hpp"
+
+#include <vector>
+#include <map>
+#include <ostream>
+
+namespace gpstk
+{
+      /** @addtogroup commandoptiongroup Command-Line Options */
+      //@{
+
+      /** 
+       * This class parses the command line options and modifies the
+       * corresponding CommandOptions.  By default, any CommandOptions you 
+       * create will be put on a static vector<CommandOption> which is used
+       * by CommandOptionParser.  You can make your own as well but that
+       * isn't necessary.  You can also use addOption() to add individual
+       * CommandOptions to the parser, but again this isn't necessary as the
+       * default list is usually sufficient.
+       *
+       * Call parseOptions() to process the command line, then 
+       * call hasErrors() to see if there
+       * were any problems parsing the string. Errors can occur when
+       * a required option isn't found on the command line, when an option
+       * requiring an argument doesn't have one, or when an argument appers
+       * more than its maxCount number of times among other errors.
+       * If so, use dumpErrors() to
+       * display the errors to an output stream, then use
+       * displayUsage() to display a well formatted list of the correct
+       * command line options.  Of
+       * course, you can just as well ignore any command line
+       * errors. After hitting an error (which most often happens when
+       * it hits an argument that has no CommandOption), you can use
+       * CommandOptionRest to get the unprocessed command line
+       * options.
+       *
+       * @sa the getopttest.cpp file in the test code for some examples.
+       */
+   class CommandOptionParser
+   {
+   public:
+         /// Typedef for a map between the command line option (-f) and the
+         /// associated CommandOption.
+      typedef std::map<std::string, gpstk::CommandOption*> CommandOptionMap;
+      
+         /**
+          * Constructor given a text description of the program.
+          * @param description a short description of this program
+          * @param optList a CommandOptionVec with the list of
+          *   CommandOptions for this parser.
+          */
+      CommandOptionParser(const std::string& description,
+                          const CommandOptionVec optList = 
+                          defaultCommandOptionList)
+         : hasRequiredArguments(false), hasOptionalArguments(false),
+           optionVec(optList), text(description)
+         {}
+
+         /// Adds the CommandOption to the list for parsing.
+      CommandOptionParser& addOption(gpstk::CommandOption& co)
+         { optionVec.push_back(&co); return *this; }
+      
+         /// Parses the command line.
+      void parseOptions(int argc,  char* argv[]);
+      
+         /// Returns true if any processing errors occurred.
+      bool hasErrors() { return !errorStrings.empty(); }
+         /// Writes the errors to \c out.
+      std::ostream& dumpErrors(std::ostream& out);
+
+         /** Writes the arguments nicely to the output.
+          * @param out ostream on which to write
+          * @param doPretty if true (the default), 'pretty print' descriptions
+          */
+      std::ostream& displayUsage(std::ostream& out, bool doPretty=true);
+
+   private:
+         /// changes the size of the option array for getopt_long.
+      void resizeOptionArray(struct option* &oldArray, unsigned long& oldSize);
+      
+         /// The vector of CommandOptions for the parser
+      CommandOptionVec optionVec;
+         /// The vector of error strings for displaying to the user.
+      std::vector<std::string> errorStrings;
+         /// The vector of unprocessed command line arguments.
+         //std::vector<std::string> remainingArguments;
+
+         /// whether or not this command line has any rrequired options
+      bool hasRequiredArguments;
+         /// whether or not this command line has optional options
+      bool hasOptionalArguments;
+
+         /// the description of this program
+      std::string text;
+
+         /// the name of this program
+      std::string progName;
+   };
+      //@}
+}
+
+#endif
diff --git a/trunk/src/CommandOptionWithPositionArg.cpp b/trunk/src/CommandOptionWithPositionArg.cpp
new file mode 100644
index 0000000..1118efa
--- /dev/null
+++ b/trunk/src/CommandOptionWithPositionArg.cpp
@@ -0,0 +1,89 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOptionWithPositionArg.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/** 
+ * @file CommandOptionWithPositionArg.cpp
+ * Command line options with position (class Position) arguments
+ */
+
+#include "StringUtils.hpp"
+#include "CommandOptionWithPositionArg.hpp"
+
+using namespace std;
+
+namespace gpstk
+{
+   string CommandOptionWithPositionArg :: checkArguments()
+   {
+      string errstr = CommandOptionWithAnyArg::checkArguments();
+      
+      if( errstr != string() )
+         return errstr;
+
+      vector<string>::size_type vecIndex;
+      for( vecIndex = 0; vecIndex < value.size(); vecIndex++ )
+      {
+         string thisPosSpec = getPositionSpec( vecIndex );
+         if( thisPosSpec != string() )
+         {
+            try
+            {
+               Position pos;
+               pos.setToString( value[vecIndex], thisPosSpec );
+               positions.push_back( pos );
+            }
+            catch (...)
+            {
+               errstr += "\"" + value[vecIndex] + "\" is not a valid position.";
+            }
+         }
+         else
+         {
+            errstr += "\"" + value[vecIndex] + "\" is not a valid position.";
+         }
+      }
+      
+      return errstr;
+   } // end of checkArguments()
+
+}
diff --git a/trunk/src/CommandOptionWithPositionArg.hpp b/trunk/src/CommandOptionWithPositionArg.hpp
new file mode 100644
index 0000000..cdab35c
--- /dev/null
+++ b/trunk/src/CommandOptionWithPositionArg.hpp
@@ -0,0 +1,129 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOptionWithPositionArg.hpp#1 $"
+
+/**
+ * @file CommandOptionWithPositionArg.hpp
+ * Command line options with position (class Position) arguments.
+ */
+
+#ifndef COMMANDOPTIONWITHPOSITIONARG_HPP
+#define COMMANDOPTIONWITHPOSITIONARG_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "CommandOption.hpp"
+#include "Position.hpp"
+
+namespace gpstk
+{
+      /** @addtogroup commandoptiongroup */
+      //@{
+   
+      /** @ingroup positiongroup
+       * @brief Command-line option class for processing position strings.
+       * This class allows the programmer to add command-line options
+       * to an application that can parse strings containing representations
+       * of position.  The programmer must specify the format to be 
+       * accepted.  Refer to Position::printf() for details on the formatting
+       * specifications.
+       */
+   class CommandOptionWithPositionArg : public gpstk::CommandOptionWithAnyArg
+   {
+   public:
+         /** Constructor
+          * @param shOpt The one character command line option.  Set to 0
+          *    if unused.
+          * @param loOpt The long command option.  Set to std::string() 
+          *    if unused.
+          * @param posFormat format for scanning argument into a Position
+          *    (\see Position::setToString() for details).
+          * @param desc A string describing what this option does.
+          * @param required Set to true if this is a required option.
+          */
+      CommandOptionWithPositionArg(const char shOpt,
+                                   const std::string& loOpt,
+                                   const std::string& posFormat,
+                                   const std::string& desc,
+                                   const bool required = false)
+            : gpstk::CommandOptionWithAnyArg(shOpt, loOpt, desc, required),
+              posSpec(posFormat)
+      {}
+
+         /// Destructor
+      virtual ~CommandOptionWithPositionArg()
+      {}
+      
+         /** Returns a string with the argument format (just "POSITION", 
+          * not scanning format).
+          */
+      virtual std::string getArgString() const
+      { return "POSITION"; }
+      
+         /// Validate arguments passed using this option (and store them).
+      virtual std::string checkArguments();
+      
+         /// Return the positions scanned in from the command line.
+      std::vector<Position> getPosition() const
+      { return positions; }
+      
+   protected:
+         /// Collection of positions scanned in from the command line.
+      std::vector<Position> positions;
+      
+         /// Format used to scan positions in.
+      std::string posSpec;
+      
+         /// Default Constructor
+      CommandOptionWithPositionArg() 
+      {}
+      
+         /// Return the appropriate position scanning format for value[index].
+      virtual std::string 
+      getPositionSpec(std::vector<std::string>::size_type index) const
+      { return posSpec; }
+      
+   }; // end of class CommandOptionWithPositionArg
+
+      //@}
+
+}
+
+#endif // COMMANDOPTIONWITHPOSITIONARG_HPP
diff --git a/trunk/src/CommandOptionWithTimeArg.cpp b/trunk/src/CommandOptionWithTimeArg.cpp
new file mode 100644
index 0000000..b2c950e
--- /dev/null
+++ b/trunk/src/CommandOptionWithTimeArg.cpp
@@ -0,0 +1,107 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOptionWithTimeArg.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file CommandOptionWithTimeArg.cpp
+ * Command line options with time (class DayTime) arguments
+ */
+
+#include "StringUtils.hpp"
+#include "CommandOptionWithTimeArg.hpp"
+
+using namespace std;
+
+namespace gpstk
+{
+   string CommandOptionWithTimeArg :: checkArguments()
+   {
+      string errstr = CommandOptionWithAnyArg::checkArguments();
+
+      if (errstr != string())
+         return errstr;
+
+      vector<string>::size_type vecindex;
+      for(vecindex = 0; vecindex < value.size(); vecindex++)
+      {
+         string thisTimeSpec = getTimeSpec(vecindex);
+         if (thisTimeSpec != string())
+         {
+            try {
+               DayTime dt;
+               dt.setToString(value[vecindex], thisTimeSpec);
+               times.push_back(dt);
+            }
+            catch (...)
+            {
+               errstr += "\"" + value[vecindex] + "\" is not a valid time.";
+            }
+         }
+         else
+            errstr += "\"" + value[vecindex] + "\" is not a valid time.";
+      }
+
+      return errstr;
+   }
+
+   string CommandOptionWithSimpleTimeArg :: getTimeSpec
+   (vector<string>::size_type index) const
+   {
+      int numwords = gpstk::StringUtils::numWords(value[index]);
+      string thisTimeSpec;
+      switch (numwords)
+      {
+         case 1:
+            thisTimeSpec = "%m/%d/%Y";
+            break;
+         case 2:
+            thisTimeSpec = "%Y %j";
+            break;
+         case 3:
+            thisTimeSpec = "%Y %j %s";
+            break;
+      }
+
+      return thisTimeSpec;
+   }
+
+} // namespace gpstk
diff --git a/trunk/src/CommandOptionWithTimeArg.hpp b/trunk/src/CommandOptionWithTimeArg.hpp
new file mode 100644
index 0000000..ac1c761
--- /dev/null
+++ b/trunk/src/CommandOptionWithTimeArg.hpp
@@ -0,0 +1,160 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommandOptionWithTimeArg.hpp#1 $"
+
+/**
+ * @file CommandOptionWithTimeArg.hpp
+ * Command line options with time (class DayTime) arguments
+ */
+
+#ifndef COMMANDOPTIONWITHTIMEARG_HPP
+#define COMMANDOPTIONWITHTIMEARG_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "CommandOption.hpp"
+#include "DayTime.hpp"
+
+namespace gpstk
+{
+      /** @addtogroup commandoptiongroup */
+      //@{
+
+      /** @ingroup timegroup
+       * @brief Command-line option class for processing time strings.
+       * This class is allows the programmer to add command-line
+       * options to an application that can parse strings containing
+       * representations of time. The programmer must specify the
+       * format to be accepted.  Refer to DayTime::printf() for
+       * details on the formatting specifications. */
+   class CommandOptionWithTimeArg : public gpstk::CommandOptionWithAnyArg
+   {
+   public:
+         /** Constructor
+          * @param shOpt The one character command line option.  Set to 0
+          *    if unused.
+          * @param loOpt The long command option.  Set to std::string() 
+          *    if unused.
+          * @param timeFormat format for scanning argument into a DayTime
+          *    (\see DayTime::setToString() for details).
+          * @param desc A string describing what this option does.
+          * @param required Set to true if this is a required option.
+          */
+      CommandOptionWithTimeArg(const char shOpt,
+                               const std::string& loOpt,
+                               const std::string& timeFormat,
+                               const std::string& desc,
+                               const bool required = false)
+            : gpstk::CommandOptionWithAnyArg(shOpt, loOpt, desc, required),
+              timeSpec(timeFormat)
+      {}
+
+         /// Destructor
+      virtual ~CommandOptionWithTimeArg() {}
+
+         /** Returns a string with the argument format (just "TIME",
+          * not scanning format). */
+      virtual std::string getArgString() const
+      { return "TIME"; }
+
+         /// Validate arguments passed using this option (and store them).
+      virtual std::string checkArguments();
+
+         /// Return the times scanned in from the command line.
+      std::vector<DayTime> getTime() const { return times; }
+
+   protected:
+         /// Collection of times scanned in from the command line.
+      std::vector<DayTime> times;
+         /// Format used to scan times in.
+      std::string timeSpec;
+
+         /// Default Constructor
+      CommandOptionWithTimeArg() {}
+
+         /// Return the appropriate time scanning format for value[index].
+      virtual std::string getTimeSpec(std::vector<std::string>::size_type index) const
+      { return timeSpec; }
+   }; // class CommandOptionWithTimeArg
+
+
+      /** @ingroup timegroup
+       * This class is similar to CommandOptionWithTimeArg, but
+       * accepts several different time formats simultaneously.
+       * The user can use any of the following time formats with this
+       * option:
+       * - month/day/year
+       * - year day-of-year
+       * - year day-of-year seconds-of-day
+       */
+   class CommandOptionWithSimpleTimeArg : public CommandOptionWithTimeArg
+   {
+   public:
+         /** Constructor
+          * @param shOpt The one character command line option.  Set to 0
+          *    if unused.
+          * @param loOpt The long command option.  Set to std::string() 
+          *    if unused.
+          * @param desc A string describing what this option does.
+          * @param required Set to true if this is a required option.
+          */
+      CommandOptionWithSimpleTimeArg(const char shOpt,
+                               const std::string& loOpt,
+                               const std::string& desc,
+                               const bool required = false)
+            : CommandOptionWithTimeArg(shOpt, loOpt, "", desc, required)
+      {}
+
+         /// Destructor
+      virtual ~CommandOptionWithSimpleTimeArg() {}
+
+   protected:
+         /// Default Constructor
+      CommandOptionWithSimpleTimeArg() {}
+
+         /// Return the appropriate time scanning format for value[index].
+      virtual std::string getTimeSpec(std::vector<std::string>::size_type index) const;
+   }; // class CommandOptionWithSimpleTimeArg
+
+      //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/CommonTime.cpp b/trunk/src/CommonTime.cpp
new file mode 100644
index 0000000..c804353
--- /dev/null
+++ b/trunk/src/CommonTime.cpp
@@ -0,0 +1,314 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommonTime.cpp#1 $"
+
+#include "CommonTime.hpp"
+#include "TimeConstants.hpp"
+
+#include "MathBase.hpp"
+#include "StringUtils.hpp"
+
+namespace gpstk
+{
+      // 'julian day' of earliest epoch expressible by CommonTime; 1/1/4713 B.C.
+   const long CommonTime::BEGIN_LIMIT_JDAY = 0;
+      // 'julian day' of latest 'julian day' expressible by CommonTime, 
+      // 1/1/4713 A.D.
+   const long CommonTime::END_LIMIT_JDAY = 3442448;
+
+      // earliest representable CommonTime
+   const CommonTime 
+   CommonTime::BEGINNING_OF_TIME( CommonTime::BEGIN_LIMIT_JDAY, 0, 0.0 );
+      // latest representable CommonTime
+   const CommonTime 
+   CommonTime::END_OF_TIME( CommonTime::END_LIMIT_JDAY, 0, 0.0 ) ;
+
+   CommonTime::CommonTime( const CommonTime& right )
+      throw()
+         : m_day( right.m_day ), m_msod( right.m_msod ), m_fsod( right.m_fsod )
+   {}
+
+   CommonTime& CommonTime::operator=( const CommonTime& right )
+      throw()
+   {
+      m_day = right.m_day;
+      m_msod = right.m_msod;
+      m_fsod = right.m_fsod;
+      return *this; 
+   }
+
+   CommonTime& CommonTime::set( long day,
+                                long sod,
+                                double fsod )
+      throw( gpstk::InvalidParameter )
+   {
+         // Use temp variables so that we don't modify our
+         // data members until we know these values are good.
+      if( day < BEGIN_LIMIT_JDAY || day > END_LIMIT_JDAY )
+      {
+         gpstk::InvalidParameter ip( "Invalid day: " 
+                                     + gpstk::StringUtils::asString( day ) );
+         GPSTK_THROW( ip );
+      }
+      
+      if( sod < 0 || sod >= SEC_PER_DAY )
+      {
+         gpstk::InvalidParameter ip( "Invalid seconds of day: "
+                                     + gpstk::StringUtils::asString( sod ) );
+         GPSTK_THROW( ip );
+      }
+      
+      if( fsod < 0.0 || fsod >= 1 )
+      {
+         gpstk::InvalidParameter ip( "Invalid fractional-seconds: "
+                                     + gpstk::StringUtils::asString( fsod ) );
+         GPSTK_THROW( ip );
+      }
+
+         // get the number of milliseconds in the fractional seconds argument
+      long msec = static_cast<long>( fsod * MS_PER_SEC );
+      
+         // subtract whole milliseconds to obtain the "fractional milliseconds"
+      fsod -= static_cast<double>( msec ) * SEC_PER_MS;
+
+      m_day  = day;
+      m_msod = sod * MS_PER_SEC + msec;
+      m_fsod = fsod;
+
+      return *this;
+   }
+
+   CommonTime& CommonTime::set( long day,
+                                double sod )
+      throw( gpstk::InvalidParameter )
+   {
+         // separate whole and fractional seconds, then use set()
+      long sec = static_cast<long>( sod );
+      sod -= sec;
+
+      return set( day, sec, sod );
+   }
+
+   CommonTime& CommonTime::set( double day = 0.0 )
+      throw( gpstk::InvalidParameter )
+   {
+         // separate whole and fractional days
+      long lday = static_cast<long>( day );
+      double sec = ( day - lday ) * SEC_PER_DAY;
+      return set( lday, sec );
+   }
+
+   CommonTime& CommonTime::setInternal( long day,
+                                        long msod,
+                                        double fsod )
+      throw( gpstk::InvalidParameter )
+   {
+      if( day < BEGIN_LIMIT_JDAY || day > END_LIMIT_JDAY )
+      {
+         gpstk::InvalidParameter ip( "Invalid day: " 
+                                     + gpstk::StringUtils::asString( day ) );
+         GPSTK_THROW( ip );
+      }
+      
+      if( msod < 0 || msod >= MS_PER_DAY )
+      {
+         gpstk::InvalidParameter ip( "Invalid milliseconds of day: "
+                                     + gpstk::StringUtils::asString( msod ) );
+         GPSTK_THROW( ip );
+      }
+      
+      if( fsod < 0.0 || fsod >= SEC_PER_MS )
+      {
+         gpstk::InvalidParameter ip( "Invalid fractional-milliseconds: "
+                                     + gpstk::StringUtils::asString( fsod ) );
+         GPSTK_THROW( ip );
+      }
+      
+      m_day = day;
+      m_msod = msod;
+      m_fsod = fsod;
+      
+      return *this;
+   }
+
+   void CommonTime::get( long& day, 
+                         long& sod,
+                         double& fsod ) const
+      throw()
+   {
+      day = m_day;
+      sod = m_msod / MS_PER_SEC;
+      long msec = m_msod - sod * MS_PER_SEC;  // m_msod % MS_PER_SEC
+      fsod = static_cast<double>( msec ) * SEC_PER_MS + m_fsod;
+   }
+   
+   void CommonTime::get( long& day,
+                         double& sod ) const
+      throw()
+   {
+      day = m_day;
+      sod = m_msod / MS_PER_SEC + m_fsod;
+   }
+   
+   void CommonTime::get( double& day ) const
+      throw()
+   {
+         // convert everything to days
+      day = static_cast<double>( m_day ) + 
+         static_cast<double>( m_msod ) * MS_PER_DAY +
+         m_fsod * SEC_PER_DAY;
+   }
+
+   double CommonTime::getDays() const
+      throw()
+   {
+      double day;
+      get( day );
+      return day;
+   }
+   
+   double CommonTime::getSecondOfDay() const
+      throw()
+   {
+      long day;
+      double sod;
+      get( day, sod );
+      return sod;
+   }
+
+   double CommonTime::operator-( const CommonTime& right ) const
+      throw()
+   {
+      return ( SEC_PER_DAY * static_cast<double>( m_day - right.m_day ) +
+               SEC_PER_MS * static_cast<double>( m_msod - right.m_msod ) + 
+               m_fsod - right.m_fsod  ) ;
+   }
+   
+   CommonTime CommonTime::operator+( double sec ) const
+      throw( gpstk::InvalidRequest )
+   {
+      return CommonTime( *this ).addSeconds( sec );
+   }
+
+   CommonTime CommonTime::operator-( double sec ) const
+      throw( gpstk::InvalidRequest )
+   {
+      return CommonTime( *this ).addSeconds( -sec );
+   }
+   
+   CommonTime& CommonTime::operator+=( double sec )
+      throw( gpstk::InvalidRequest )
+   {
+      addSeconds( sec );
+      return *this;
+   }
+   
+   CommonTime& CommonTime::operator-=( double sec )
+      throw( gpstk::InvalidRequest )
+   {
+      addSeconds( -sec );
+      return *this;
+   }
+
+   CommonTime& CommonTime::addSeconds( double seconds )
+      throw( InvalidRequest )
+   {
+      long days=0, ms=0;
+      if ( ABS(seconds) >= SEC_PER_DAY )
+      {
+         days = static_cast<long>( seconds * DAY_PER_SEC );
+         seconds -= days * SEC_PER_DAY;
+      }
+
+      if ( ABS(seconds) >= SEC_PER_MS )
+      {
+         ms = static_cast<long>( seconds * MS_PER_SEC );
+         seconds -= static_cast<double>( ms ) * SEC_PER_MS;
+      }
+
+      add(days, ms, seconds);
+      return *this;
+   }
+
+   CommonTime& CommonTime::addSeconds( long seconds )
+      throw( gpstk::InvalidRequest )
+   {
+      long days( 0 );
+      if( ABS( seconds ) > SEC_PER_DAY )
+      {
+         days = seconds / SEC_PER_DAY;
+         seconds -= days * SEC_PER_DAY;  // seconds %= SEC_PER_DAY
+      }
+      add( days, seconds * MS_PER_SEC, 0. );
+      
+         // How about this?
+         // add( seconds / SEC_PER_DAY,
+         //      seconds % SEC_PER_DAY * MS_PER_SEC,
+         //      0 );
+
+      return *this;
+   }
+
+   CommonTime& CommonTime::addDays( long days )
+      throw( gpstk::InvalidRequest )
+   {
+      add( days, 0, 0.0 );
+      return *this;
+   }
+   
+   CommonTime& CommonTime::addMilliseconds( long msec )
+      throw( InvalidRequest )
+   {
+      add( 0, msec, 0.0 );
+      return *this;
+   }
+
+      /// protected functions
+   bool CommonTime::add( long days, 
+                         long msod,
+                         double fsod )
+      throw()
+   {
+      m_day += days;
+      m_msod += msod;
+      m_fsod += fsod;
+      return normalize();
+   }
+                                
+   bool CommonTime::normalize()
+      throw()
+   {
+      if( ABS( m_fsod ) >= SEC_PER_MS )
+      {
+         long ms = static_cast<long>( m_fsod * MS_PER_SEC );
+         m_msod += ms;
+         m_fsod -= static_cast<double>( ms ) * SEC_PER_MS;
+      }
+      
+      if( ABS( m_msod ) >= MS_PER_DAY )
+      {
+         long day = m_msod / MS_PER_DAY;
+         m_day += day;
+         m_msod -= day * MS_PER_DAY;
+      }
+
+      if( ABS(m_fsod) < 1e-15 )
+      {
+         m_fsod = 0.0;
+      }
+      
+      if( m_fsod < 0 )
+      {
+         m_fsod += 1;
+         --m_msod;
+      }
+      
+      if( m_msod < 0 )
+      {
+         m_msod += MS_PER_DAY;
+         --m_day;
+      }
+      
+      return ( ( m_day >= BEGIN_LIMIT_JDAY ) && 
+               ( m_day <  END_LIMIT_JDAY ) );
+   }
+
+} // namespace
diff --git a/trunk/src/CommonTime.hpp b/trunk/src/CommonTime.hpp
new file mode 100644
index 0000000..7a3fa9c
--- /dev/null
+++ b/trunk/src/CommonTime.hpp
@@ -0,0 +1,328 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/CommonTime.hpp#1 $"
+
+#ifndef GPSTK_COMMONTIME_HPP
+#define GPSTK_COMMONTIME_HPP
+
+#include "Exception.hpp"
+
+namespace gpstk
+{
+      /** 
+       * This is the common time format that all time formats convert to when
+       * converting between themselves.  This allows the decoupling of 
+       * inter-format conversions.
+       *
+       * The interface is based on three quantites: days, seconds of day, and
+       * fractional seconds of day.  The internal representation, however, is
+       * slightly different.  It consists of a day, milliseconds of day, and
+       * fractional seconds of day.  Their valid ranges are shown below:
+       * 
+       *  Quantity   >=     <
+       *  --------   ---   ---
+       *   day        0    2^31
+       *   msod       0    86400000
+       *   fsod       0    0.001
+       * 
+       * The above is somewhat difficult to grasp at first, but the reason for 
+       * keeping the fractional part of time in units of seconds is due to the
+       * fact that the time formats usually break at seconds and partial seconds
+       * not at milliseconds and partial milliseconds.  By keeping the value in
+       * seconds, we save ourselves additional work and loss of precision
+       * through conversion of fractional seconds to fractional milliseconds.
+       */
+   class CommonTime
+   {
+     public:
+         /**
+          * @defgroup ctc CommonTime Constants
+          */
+         //@{
+         /// 'julian day' of earliest epoch expressible by CommonTime:
+         /// 1/1/4713 B.C.
+      static const long BEGIN_LIMIT_JDAY;
+         /// 'julian day' of latest epoch expressible by CommonTime:
+         /// 1/1/4713 A.D.
+      static const long END_LIMIT_JDAY;
+         /// earliest representable CommonTime
+      static const CommonTime BEGINNING_OF_TIME;
+         /// latest representable CommonTime
+      static const CommonTime END_OF_TIME;
+  
+         //@}
+
+         /**
+          * @defgroup ctbo CommonTime Basic Operations
+          * Default and Copy Constructors, Assignment Operator and Destructor.
+          */
+         //@{
+         /**
+          * Default Constructor.
+          * All elements default to zero.
+          * @see CommonTime::set()
+          */
+      CommonTime( long day = 0, 
+                  long sod = 0,
+                  double fsod = 0.0 )
+         throw( gpstk::InvalidParameter )
+      { set( day, sod, fsod ); }
+
+         /**
+          * Constructor that accepts days and second of day.
+          * All elements default to zero.
+          */
+      CommonTime( long day,
+                  double sod )
+         throw( gpstk::InvalidParameter )
+      { set( day, sod ); }
+      
+         /** 
+          * Constructor that accepts days only.
+          * All elements default to zero.
+          */
+      CommonTime( double day )
+         throw( gpstk::InvalidParameter )
+      { set( day ); }
+      
+         /**
+          * Copy Constructor.
+          * @param right a const reference to the CommonTime object to copy.
+          */
+      CommonTime( const CommonTime& right )
+         throw();
+
+         /**
+          * Assignment Operator.
+          * @param right a const reference to the CommonTime object to copy.
+          * @return a reference to this CommonTime object.
+          */
+      CommonTime& operator=( const CommonTime& right )
+         throw();
+      
+         /// Destructor.
+      ~CommonTime()
+         throw()
+      {}
+         //@}
+
+         /** 
+          * @defgroup ctam CommonTime Accessor Methods
+          */
+         //@{
+         /** 
+          * Set method that accepts values for day, seconds of day and
+          * fractional seconds of day.  It also checks the validity of the 
+          * arguments and throws an exception if any values are out of bounds.
+          */
+      CommonTime& set( long day, 
+                       long sod,
+                       double fsod = 0.0 )
+         throw( gpstk::InvalidParameter );
+
+         /**
+          * Set method that accepts values for day and seconds of day.  It also
+          * checks the validity of the arguments and throws an exception if any
+          * values are out of bounds.
+          */
+      CommonTime& set( long day,
+                       double sod = 0.0 )
+         throw( gpstk::InvalidParameter );
+      
+         /**
+          * Set method that accepts a value for day.  It also checks the
+          * validity of the argument and throws an exception if its value is
+          * out of bounds.
+          */
+      CommonTime& set( double day )
+         throw( gpstk::InvalidParameter );
+
+         /**
+          * Set internal values method.  Set the data members of this object
+          * directly.  Checks the validity of the given time representation
+          * and throws an exception if any values are out of bounds.
+          */
+      CommonTime& setInternal( long day = 0,
+                               long msod = 0,
+                               double fsod = 0.0 )
+         throw( gpstk::InvalidParameter );
+
+         /**
+          * Get method.  Obtain values in days, second of day and fractional
+          * second of day.
+          */
+      void get( long& day, 
+                long& sod,
+                double& fsod ) const
+         throw();
+
+         /**
+          * Get method through which one may obtain values for day and
+          * second of day which includes the fractional second of day.
+          */
+      void get( long& day,
+                double& sod ) const
+         throw();
+      
+         /**
+          * Get method through which one may obtain a value for day which
+          * includes the fraction of a day.
+          */
+      void get( double& day ) const
+         throw();
+      
+         /** 
+          * Get internal values method.  Obtain the values stored within this
+          * object.
+          */
+      void getInternal( long& day,
+                        long& msod,
+                        double& fsod ) const
+         throw()
+      { day = m_day; msod = m_msod; fsod = m_fsod; }
+
+         /// Obtain the time, in days, including the fraction of a day.
+      double getDays() const 
+         throw();
+
+         /// Obtain the seconds of day ( ignoring the day ).
+      double getSecondOfDay() const
+         throw();
+
+         //@}
+      
+         /** 
+          * @defgroup ctao CommonTime Arithmetic Operations
+          */
+         //@{
+         /** 
+          * Difference two Common Time objects.
+          * @param right CommonTime to subtract from this one
+          * @param reutrn difference in seconds
+          */
+      double operator-( const CommonTime& right ) const
+         throw();
+      
+         /** 
+          * Add seconds to a copy of this CommonTime.
+          * @param sec the number of seconds to add to a copy of this CommonTime
+          * @return the new CommonTime object
+          * @throws InvalidRequest on over-/under-flow
+          */
+      CommonTime operator+( double seconds ) const
+         throw( InvalidRequest );
+      
+         /**
+          * Subtract seconds from a copy of this CommonTime.
+          * @param sec the number of seconds to subtract from a copy of this
+          *  CommonTime
+          * @return the new CommonTime object
+          * @throws InvalidRequest on over-/under-flow
+          */
+      CommonTime operator-( double seconds ) const
+         throw( InvalidRequest );
+      
+         /** 
+          * Add seconds to this CommonTime.
+          * @param sec the number of seconds to add to this CommonTime.
+          * @return a reference to this CommonTime
+          * @throws InvalidRequest on over-/under-flow
+          */
+      CommonTime& operator+=( double seconds )
+         throw( InvalidRequest );
+      
+         /**
+          * Subtract seconds from this CommonTime.
+          * @param sec the number of seconds to subtract from this CommonTime
+          * @return a reference to this CommonTime object
+          * @throws InvalidRequest on over-/under-flow
+          */
+      CommonTime& operator-=( double seconds )
+         throw( InvalidRequest );
+      
+         /** 
+          * Add seconds to this CommonTime object.
+          * This is the workhorse for the addition/subtraction operators.
+          * @param sec the number of seconds to add to this CommonTime
+          * @return a reference to this CommonTime object
+          * @throws InvalidRequest on over-/under-flow
+          */
+      CommonTime& addSeconds( double seconds )
+         throw( InvalidRequest );
+
+         /** 
+          * Add integer days to this CommonTime object.
+          * param days the number of days to add to this CommonTime
+          * @return a reference to this CommonTime object
+          * @throws InvalidRequest on over-/under-flow
+          */
+      CommonTime& addDays( long days )
+         throw( InvalidRequest );
+      
+         /** 
+          * Add integer seconds to this CommonTime object.
+          * @param sec the number of seconds to add to this CommonTime
+          * @return a reference to this CommonTime object
+          * @throws InvalidRequest on over-/under-flow
+          */
+      CommonTime& addSeconds( long seconds )
+         throw( InvalidRequest );
+      
+         /** 
+          * Add integer milliseconds to this CommonTime object.
+          * @param ms the number of milliseconds to add to this CommonTime
+          * @return a reference to this CommonTime object
+          * @throws InvalidRequest on over-/under-flow
+          */
+      CommonTime& addMilliseconds( long ms )
+         throw( InvalidRequest );
+         //@}
+
+         /**
+          * @defgroup ctco CommonTime Comparison Operators
+          * All comparison operators have a parameter "right" which corresponds
+          *  to the CommonTime object to the right of the symbol.
+          * All comparison operators are const and return true on success
+          *  and false on failure.
+          */
+         //@{
+      bool operator==( const CommonTime& right ) const
+         throw();
+      bool operator!=( const CommonTime& right ) const
+         throw();
+      bool operator<( const CommonTime& right ) const
+         throw();
+      bool operator>( const CommonTime& right ) const
+         throw();
+      bool operator<=( const CommonTime& right ) const
+         throw();
+      bool operator>=( const CommonTime& right ) const
+         throw();
+         //@}
+
+   protected:
+      
+         /**
+          * Add the following quantities to this CommonTime object.
+          * @param days the number of days to add
+          * @param msod the number of milliseconds to add
+          * @param fsod the number of fractional seconds to add
+          * @return the result of calling the normalize() function
+          */
+      bool add( long days,
+                long msod,
+                double fsod )
+         throw();
+      
+         /// Normalize the values.  This takes out of bounds values and rolls
+         /// other values appropriately.
+         /// @return true if m_day is valid, false otherwise
+      bool normalize()
+         throw();
+      
+      long m_day;     //< days (as a Julian Day)     0 <= val < 2^31
+      long m_msod;    //< milliseconds-of-day        0 <= val < 86400000
+      double m_fsod;  //< fractional seconds-of-day  0 <= val < 0.001
+   };
+
+} // namespace
+
+#endif // GPSTK_COMMONTIME_HPP
diff --git a/trunk/src/DayTime.cpp b/trunk/src/DayTime.cpp
new file mode 100644
index 0000000..bacbcd4
--- /dev/null
+++ b/trunk/src/DayTime.cpp
@@ -0,0 +1,1863 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/DayTime.cpp#23 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file DayTime.cpp
+ * gpstk::DayTime - encapsulates date and time-of-day in many formats
+ */
+
+#include <iostream>
+#include <iomanip>
+#include <string>
+#include <ctime>
+
+#if _MSC_VER
+#include <sys/types.h>
+#include <sys/timeb.h>
+#endif
+
+#include "DayTime.hpp"
+
+namespace gpstk
+{
+   using namespace std;
+   using namespace gpstk::StringUtils;
+
+      // ----------- Part  0: month and day labels -------------------
+      //
+      /// Long month names for converstion from numbers to strings
+   static const char *MonthNames[] = { 
+      "Error",
+      "January","February", "March", "April",
+      "May", "June","July", "August",
+      "September", "October", "November", "December"
+   };
+  
+      /// Short month names for converstion from numbers to strings
+   static const char *MonthAbbrevNames[] = {
+      "err", "Jan", "Feb", "Mar", "Apr", "May", "Jun","Jul",
+      "Aug", "Sep", "Oct", "Nov", "Dec"
+   };
+  
+      /// Long day of week names for converstion from numbers to strings
+   static const char *DayOfWeekNames[] = {
+      "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
+      "Friday", "Saturday"
+   };
+
+      /// Short day of week names for converstion from numbers to strings
+   static const char *DayOfWeekAbbrevNames[] = {
+      "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+   };
+
+      // ----------- Part  1: exceptions and constants ---------------
+      //
+
+      // mSod is sod/FACTOR
+   const long DayTime::FACTOR = 1000;
+
+      // Seconds per half a GPS week.
+   const long DayTime::HALFWEEK = 302400;
+      // Seconds per whole GPS week.
+   const long DayTime::FULLWEEK = 604800;
+      // Seconds per day.
+   const long DayTime::SEC_DAY = 86400;
+      // Milliseconds in a day.
+   const long DayTime::MS_PER_DAY = SEC_DAY*1000;
+
+      // Conversion offset, Julian Date to Modified Julian Date.
+   const double DayTime::JD_TO_MJD = 2400000.5;
+      // 'Julian day' offset from MJD
+   const long DayTime::MJD_JDAY = 2400001;
+      // 'Julian day' of GPS epoch (Jan. 1, 1980).
+   const long DayTime::GPS_EPOCH_JDAY = 2444245L;
+      // Modified Julian Date of GPS epoch (Jan. 1, 1980).
+   const long DayTime::GPS_EPOCH_MJD = 44244L;
+      // Modified Julian Date of UNIX epoch (Jan. 1, 1970).
+   const long DayTime::UNIX_MJD = 40587L;
+
+      // One nanosecond tolerance.
+   const double DayTime::ONE_NSEC_TOLERANCE = 1e-9;
+      // One microsecond tolerance.
+   const double DayTime::ONE_USEC_TOLERANCE = 1e-6;
+      // One millisecond tolerance.
+   const double DayTime::ONE_MSEC_TOLERANCE = 1e-3;
+      // One second tolerance.
+   const double DayTime::ONE_SEC_TOLERANCE = 1;
+      // One minute tolerance.
+   const double DayTime::ONE_MIN_TOLERANCE = 60;
+      // One hour tolerance.
+   const double DayTime::ONE_HOUR_TOLERANCE = 3600;
+   
+      // Tolerance for time equality.
+#ifdef _WIN32
+   double DayTime::DAYTIME_TOLERANCE = ONE_USEC_TOLERANCE;
+#else
+   double DayTime::DAYTIME_TOLERANCE = ONE_NSEC_TOLERANCE;
+#endif
+
+      // 'julian day' of earliest epoch expressible by DayTime; 1/1/4713 B.C.
+   const long DayTime::BEGIN_LIMIT_JDAY=0;
+      // 'julian day' of latest 'julian day' expressible by DayTime, 
+      // 1/1/4713 A.D.
+   const long DayTime::END_LIMIT_JDAY=3442448;
+      // earliest representable DayTime
+   const DayTime DayTime::BEGINNING_OF_TIME =
+      DayTime(DayTime::BEGIN_LIMIT_JDAY, 0, 0.0, DayTime::DAYTIME_TOLERANCE);
+      // latest representable DayTime
+   const DayTime DayTime::END_OF_TIME =
+      DayTime(DayTime::END_LIMIT_JDAY, 0, 0.0, DayTime::DAYTIME_TOLERANCE);
+
+      // If true, check the validity of inputs and throw DayTimeException 
+      //  on failure.
+   bool DayTime::DAYTIME_TEST_VALID = true;
+
+      // ----------- Part  2: member functions: tolerance -------------
+      //
+   DayTime& DayTime::setTolerance(const double tol)
+      throw()
+   {
+      tolerance = tol;
+      return *this;
+   }
+
+      // ----------- Part  3: member functions: constructors ----------
+      //
+      // Default constructor; initializes to current system time.
+   DayTime::DayTime()
+      throw(DayTime::DayTimeException)
+   {
+      init();
+      setSystemTime();
+   }
+
+      // GPS time with full week constructor.
+      // @param GPSWeek full week number
+      // @param GPSSecond seconds of week.
+      // @param f Time frame (see #TimeFrame)
+   DayTime::DayTime(short GPSWeek,
+                    double GPSSecond,
+                    TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      init();
+      setGPSfullweek(GPSWeek, GPSSecond, f);
+   }
+
+      // GPS time constructor.
+      // @param GPSWeek 10 bit week number.
+      // @param GPSSecond Seconds of week.
+      // @param year Four-digit year.
+      // @param f Time frame (see #TimeFrame)
+   DayTime::DayTime(short GPSWeek, 
+                    double GPSSecond,
+                    short ayear, 
+                    TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      init();
+      setGPS(GPSWeek, GPSSecond, ayear, f);
+   }
+
+      // GPS time constructor.
+      // @param GPSWeek GPS 10 bit week number.
+      // @param zcount Z-count (seconds of week / 1.5)
+      // @param year Four-digit year.
+      // @param f Time frame (see #TimeFrame)
+   DayTime::DayTime(short GPSWeek,
+                    long zcount, 
+                    short ayear,
+                    TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      init();
+      setGPS(GPSWeek, zcount, ayear, f);
+   }
+
+      // GPS time constructor.
+      // @param fullZcount Full z-count (3 MSB unused, mid 10 bits -
+      //   week number, 19 LSB "normal" z-count).
+      // @param f Time frame (see #TimeFrame)
+   DayTime::DayTime(unsigned long fullZcount, 
+                    TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      init();
+      setGPS(fullZcount, f);
+   }
+
+      // GPS Zcount constructor.
+      // @param z GPSZcount object to set to
+      // @param f Time frame (see #TimeFrame)
+   DayTime::DayTime(const GPSZcount& z,
+                    TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      init();
+      setGPSZcount(z, f);
+   }
+
+      // Calendar time constructor.
+      // @param yy four-digit year.
+      // @param mm month of year (1-based).
+      // @param dd day of month (1-based).
+      // @param hh hour of day.
+      // @param min minutes of hour.
+      // @param sec seconds of minute.
+      // @param f Time frame (see #TimeFrame)
+   DayTime::DayTime(short yy, 
+                    short mm,
+                    short dd,
+                    short hh, 
+                    short min, 
+                    double sec, 
+                    TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      init();
+      setYMDHMS(yy, mm, dd, hh, min, sec, f);
+   }
+
+      // Modified Julian date time constructor.
+      // @param julian Modified Julian date.
+      // @param f Time frame (see #TimeFrame)
+   DayTime::DayTime(long double mjd,
+                    TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      init();
+      setMJD(mjd, f);
+   }
+
+      // Modified Julian date time constructor.
+      // @param MJD Modified Julian date as double.
+      // @param f Time frame (see #TimeFrame)
+   DayTime::DayTime(double mjd, 
+                    TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      init();
+      setMJD((long double)(mjd), f);
+   }
+
+      // Day of year time constructor.
+      // @param year Four-digit year.
+      // @param DOY Day of year.
+      // @param SOD Seconds of day.
+      // @param f Time frame (see #TimeFrame)
+   DayTime::DayTime(short year, 
+                    short doy, 
+                    double sod,
+                    TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      init();
+      setYDoySod(year,doy,sod,f);
+   }
+
+      // UNIX time constructor.
+      // @param t timeval structure (typically from gettimeofday()).
+      // @param f Time frame (see #TimeFrame)
+   DayTime::DayTime(const struct timeval& t, 
+                    TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      init();
+      setUnix(t,f);
+      timeFrame = f;
+   }
+
+      // ----------- Part  4: member functions: assignment and copy ----------
+      //
+      // Copy constructor
+   DayTime::DayTime(const DayTime &right)
+      throw(DayTime::DayTimeException)
+   {
+      init();
+      *this = right;
+   }
+
+      // Assignment operator.
+   DayTime& DayTime::operator=(const DayTime& right)
+      throw()
+   {
+      jday = right.jday;
+      mSod = right.mSod;
+      mSec = right.mSec;
+      timeFrame  = right.timeFrame;
+      tolerance  = right.tolerance;
+      return *this;
+   }
+
+      // ----------- Part  5: member functions: arithmetic ------------
+      //
+      // DayTime difference function.
+      // @param right DayTime to subtract from this one.
+      // @return difference in seconds.
+   double DayTime::operator-(const DayTime& right) const
+      throw()
+   {
+      return ( SEC_DAY * double(jday - right.jday)
+            + (double(mSod - right.mSod) + mSec - right.mSec) / FACTOR );
+   }
+
+      // Add seconds to this time.
+      // @param seconds Number of seconds to increase this time by.
+      // @return The new time incremented by \c seconds.
+   DayTime DayTime::operator+(double seconds) const
+      throw()
+   {
+      return DayTime(*this).addSeconds(seconds);
+   }
+
+      // Subtract seconds from this time.
+      // @param seconds Number of seconds to decrease this time by.
+      // @return The new time decremented by \c seconds.
+   DayTime DayTime::operator-(double seconds) const
+      throw()
+   {
+      return DayTime(*this).addSeconds(-seconds);
+   }
+
+      // Add seconds to this time.
+      // @param seconds Number of seconds to increase this time by.
+   DayTime& DayTime::operator+=(double seconds)
+      throw(DayTime::DayTimeException)
+   {
+      addSeconds(seconds);
+      return *this;
+   }
+   
+      // Subtract seconds from this time.
+      // @param sec Number of seconds to decrease this time by.
+   DayTime& DayTime::operator-=(double seconds)
+      throw(DayTime::DayTimeException)
+   {
+      addSeconds(-seconds);
+      return *this;
+   }
+
+      // Add seconds to this object.
+      // @param seconds Number of seconds to add
+   DayTime& DayTime::addSeconds(double seconds)
+      throw(DayTime::DayTimeException)
+   {
+      addLongDeltaTime(0, 0, seconds * FACTOR);
+      return *this;
+   }
+
+      // Add (integer) seconds to this object.
+      // @param seconds Number of seconds to add.
+   DayTime& DayTime::addSeconds(long seconds)
+      throw(DayTime::DayTimeException)
+   {
+      long ldd, lds ;
+      ldd = seconds / SEC_DAY ;        // days
+      seconds %= SEC_DAY ;             // seconds-of-day
+      lds = seconds * FACTOR ;
+      addLongDeltaTime(ldd, lds, 0) ;
+      return *this ;
+   }
+
+      // Add (integer) milliseconds to this object.
+      // @param msec Number of milliseconds to add.
+   DayTime& DayTime::addMilliSeconds(long msec)
+      throw(DayTime::DayTimeException)
+   {
+      long ldd, lds ;
+      ldd = msec / MS_PER_DAY ;        // days
+      msec %= MS_PER_DAY ;             // milliseconds-of-day
+      lds = msec * FACTOR / 1000 ;
+      addLongDeltaTime(ldd, lds, 0) ;
+      return *this;
+   }
+
+      // Add (integer) microseconds to this object.
+      // @param usec Number of microseconds to add.
+   DayTime& DayTime::addMicroSeconds(long usec)
+      throw(DayTime::DayTimeException)
+   {
+         // NB FACTOR must be <, and a factor of, 1000000 :
+      long ldd, lds, mult = (1000000 / FACTOR);
+      double ds;
+      ldd = usec / (1000000 * SEC_DAY) ;        // days
+      usec %= (1000000 * SEC_DAY) ;             // usec-of-day
+      lds = usec / mult;                        // long sec/FACTOR's
+      ds = double(usec % mult) / mult;          // frac sec/FACTOR's
+      addLongDeltaTime(ldd, lds, ds);
+      return *this;
+   }
+
+      // ----------- Part  6: member functions: comparisons ------------
+      //
+      // Equality operator.
+   bool DayTime::operator==(const DayTime &right) const 
+      throw()
+   {
+      // use the smaller of the two tolerances for comparison
+      return (ABS(operator-(right)) <=
+         ((tolerance > right.tolerance) ? right.tolerance : tolerance));
+   }
+      // Inequality operator.
+   bool DayTime::operator!=(const DayTime &right) const 
+      throw()
+   {
+      return !(operator==(right));
+   }
+      // Comparison operator (less-than).
+   bool DayTime::operator<(const DayTime &right) const 
+      throw()
+   {
+      return (operator-(right) <
+            -((tolerance > right.tolerance) ? right.tolerance : tolerance));
+   }
+      // Comparison operator (greater-than).
+   bool DayTime::operator>(const DayTime &right) const 
+      throw()
+   {
+      return (operator-(right) >
+            ((tolerance > right.tolerance) ? right.tolerance : tolerance));
+   }
+      // Comparison operator (less-than or equal-to).
+   bool DayTime::operator<=(const DayTime &right) const 
+      throw()
+   {
+      return !(operator>(right));
+   }
+      // Comparison operator (greater-than or equal-to).
+   bool DayTime::operator>=(const DayTime &right) const 
+      throw()
+   {
+      return !(operator<(right));
+   }
+
+   // ----------- Part  7: member functions: time frame-----------------------
+   //
+   DayTime& DayTime::setAllButTimeFrame(const DayTime& right)
+      throw(DayTime::DayTimeException)
+   {
+      TimeFrame t = timeFrame;
+      *this = right;
+      timeFrame = t;
+      return *this;
+   }
+
+   // ----------- Part  8: member functions: get -----------------------------
+   //
+   // 
+   // These routines let you retrieve the time stored in this object.
+   //
+      // Get Julian Date JD
+   double DayTime::JD() const throw()
+   {
+      return (double(jday) + secOfDay() / SEC_DAY - 0.5);
+   }
+
+      // Get Modified Julian Date MJD
+   double DayTime::MJD() const
+      throw()
+   {
+      return JD() - JD_TO_MJD ;
+   }
+
+      // Get year.
+   short DayTime::year() const 
+      throw()
+   {
+      int yy, mm, dd;
+      convertJDtoCalendar(jday, yy, mm, dd);
+      return yy;
+   }
+
+      // Get month of year.
+   short DayTime::month() const 
+      throw()
+   {
+      int yy, mm, dd;
+      convertJDtoCalendar(jday, yy, mm, dd);
+      return mm;
+   }
+
+      // Get day of month.
+   short DayTime::day() const
+      throw()
+   {
+      int yy,mm,dd;
+      convertJDtoCalendar(jday, yy, mm, dd);
+      return dd;
+   }
+
+      // Get day of week
+   short DayTime::dayOfWeek() const 
+      throw()
+   {
+      return (((jday % 7) + 1) % 7) ;
+   }
+
+      // Get hour of day.
+   short DayTime::hour() const
+      throw()
+   {
+      int hh, mm ;
+      double sec ; 
+      convertSODtoTime(secOfDay(), hh, mm, sec);
+      return hh;
+   }
+
+      // Get minutes of hour.
+   short DayTime::minute() const
+      throw()
+   {
+      int hh, mm ;
+      double sec ;
+      convertSODtoTime(secOfDay(), hh, mm, sec);
+      return mm;
+   }
+
+      // Get seconds of minute.
+   double DayTime::second() const
+      throw()
+   {
+      int hh, mm ;
+      double sec ;
+      convertSODtoTime(secOfDay(), hh, mm, sec) ;
+      return sec;
+   }
+
+      // Get 10-bit GPS week.
+   short DayTime::GPS10bitweek() const 
+      throw()
+   {
+      return (GPSfullweek() % 1024); 
+   }
+
+      // Get normal (19 bit) zcount.
+   long DayTime::GPSzcount() const 
+      throw()
+   {
+      return (long)((GPSsow() / 1.5) + .5);
+   }
+
+      // Same as GPSzcount() but without rounding to nearest zcount.
+   long DayTime::GPSzcountFloor() const
+      throw()
+   {
+      return (long)(GPSsow() / 1.5);
+   }
+
+      // Get seconds of week.
+   double DayTime::GPSsow() const
+      throw()
+   {
+      return double(GPSday() * SEC_DAY) + secOfDay() ;
+   }
+
+      // Get full (>10 bits) week 
+   short DayTime::GPSfullweek() const
+      throw()
+   {
+      return short(double(jday - GPS_EPOCH_JDAY) / 7) ;
+   }
+
+      // Get day of year.
+   short DayTime::DOY() const 
+      throw()
+   {
+      int yy, mm, dd;
+      convertJDtoCalendar(jday, yy, mm, dd);
+      return (jday - convertCalendarToJD(yy, 1, 1) + 1) ;
+   }
+
+      // Get object time as a modified Julian date.
+   long double DayTime::getMJDasLongDouble() const
+      throw()
+   {
+      return ( (long double)(jday)
+               + (long double)(secOfDay() / SEC_DAY - 0.5)
+               - (long double)(JD_TO_MJD) );
+   }
+
+      // Get object time in UNIX timeval structure.
+   struct timeval DayTime::unixTime() const
+      throw(DayTime::DayTimeException)
+   {
+      struct timeval t;
+
+      t.tv_sec = mSod / FACTOR 
+         + long(jday - MJD_JDAY - UNIX_MJD) * SEC_DAY ;
+
+      t.tv_usec = (mSod % FACTOR) * (1000000 / FACTOR)
+         + long(mSec * (1000000 / FACTOR) + 0.5) ;
+
+      if (t.tv_usec >= 1000000) 
+      {
+         t.tv_usec -= 1000000; 
+         ++t.tv_sec; 
+      }
+
+      return t;
+   }
+
+      // Get time as 32 bit Z count.
+      // The 13 MSBs are week modulo 1024, 19 LSBs are seconds of
+      // week in Zcounts.
+   unsigned long DayTime::fullZcount() const
+      throw()
+   {
+      return ((long(GPS10bitweek()) << 19) + GPSzcount()) ;
+   }
+
+      // Same as fullZcount() but without rounding to nearest zcount.
+   unsigned long DayTime::fullZcountFloor() const
+      throw()
+   {
+      return ((long(GPS10bitweek()) << 19) + GPSzcountFloor()) ;
+   }
+
+   DayTime::operator GPSZcount() const
+      throw(DayTime::DayTimeException)
+   {
+      try
+      {
+            // account for rounding error in GPSzcount()
+         if(GPSzcount() == GPSZcount::ZCOUNT_WEEK)
+         {
+            return GPSZcount(GPSfullweek() + 1, 0);
+         }
+         else
+         {
+            return GPSZcount(GPSfullweek(), GPSzcount());
+         }
+      }
+      catch (gpstk::InvalidParameter& ip)
+      {
+         DayTime::DayTimeException de(ip);
+         GPSTK_THROW(de);
+      }
+   }
+
+      // ----------- Part  9: member functions: set -------------
+      //
+      // Set the object's time using calendar (Y/M/D) date and ordinary (H:M:S)
+      //  time.
+      // @param yy four-digit year.
+      // @param month month of year (1-based).
+      // @param day day of month (1-based).
+      // @param hour hour of day.
+      // @param min minutes of hour.
+      // @param sec seconds of minute.
+      // @param f Time frame (see #TimeFrame)
+      // @return a reference to this object.
+   DayTime& DayTime::setYMDHMS(short yy,
+                               short month, 
+                               short day, 
+                               short hour,
+                               short min, 
+                               double sec,
+                               TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      setYMD(yy, month, day, f);
+      return setHMS(hour, min, sec, f);
+   }
+
+      // Set the object time using GPS time. If the GPS week is
+      // 10 bit, the full week is determined from the system clock.
+      // @param week Week number (can be 10 bit).
+      // @param sow Seconds of week.
+      // @param f Time frame (see #TimeFrame)
+      // @return a reference to this object.
+   DayTime& DayTime::setGPS(short week, 
+                            double sow, 
+                            TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      short fullweek=week;
+      if(week < 1024) {
+         DayTime ndt;
+         ndt.setSystemTime();
+         fullweek = 1024*(ndt.GPSfullweek()/1024) + week;
+      }
+      return setGPSfullweek(fullweek,sow,f);
+   }
+
+      // Set the object's time using GPS time. If the GPS week
+      // is 10 bit, the full week is determined from the system clock.
+      // @param week GPS 10 bit week number.
+      // @param zcount Z-count (seconds of week / 1.5)
+      // @param f Time frame (see #TimeFrame)
+      // @return a reference to this object.
+   DayTime& DayTime::setGPS(short week,
+                            long zcount, 
+                            TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      return setGPS(week, double(zcount) * 1.5, f);
+   }
+
+      // Set the object's time using GPS time.
+      // @param week GPS 10 bit week number.
+      // @param zcount Z-count (seconds of week / 1.5)
+      // @param year Four-digit year.
+      // @param f Time frame (see #TimeFrame)
+      // @return a reference to this object.
+   DayTime& DayTime::setGPS(short week,
+                            long zcount,
+                            short year,
+                            TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      return setGPS(week, double(zcount) * 1.5, year, f);
+   }
+
+      // Set the object's time using input GPS 10-bit
+      // week and seconds of week; determine the number
+      // of GPS week rollovers by deducing it from the input year and week.
+      // @param week 10 bit week number.
+      // @param sow Seconds of week.
+      // @param year Four-digit year.
+      // @param f Time frame (see #TimeFrame)
+      // @return a reference to this object.
+   DayTime& DayTime::setGPS(short week, 
+                            double sow, 
+                            short year,
+                            TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      bool valid = true;
+
+      if (DAYTIME_TEST_VALID)
+      {
+         if ((year < 1980) || (week < 0))
+            valid = false;
+      }
+      
+      if (valid)
+      {
+         DayTime dt;
+
+            // In case the user supplies the full GPS week number.
+         week %= 1024;
+         
+         dt.setYMD(year, 1, 1);
+            // z1 is the number of GPS 10-bit-week roll-overs at the beginning
+            //  of the year.
+         short z1 = dt.GPSfullweek() / 1024;
+
+         dt.setYMD(year, 12, 31);
+            // z2 is the number of GPS 10-bit-week roll-overs at the end
+            //  of the year.
+         short z2 = dt.GPSfullweek() / 1024;
+
+            // GPS 10-bit-week *does not* roll-over during the year.
+         if (z1 == z2) 
+         {
+            return setGPSfullweek(week + z1 * 1024, sow, f);
+         }
+            // GPS 10-bit-week *does* roll-over during the year.
+         else
+         {
+            if (week <= 512)  // roll-over happened before week ... use z2
+            {
+               return setGPSfullweek(week + z2 * 1024, sow, f);
+            }
+            else if (week > 512)  // roll-over happened after week ... use z1
+            {
+               return setGPSfullweek(week + z1 * 1024, sow, f);
+            }
+         }
+      }
+
+         // If we get here, valid is false.
+      if(DAYTIME_TEST_VALID)
+      {
+         using gpstk::StringUtils::asString ;
+         DayTimeException dte("Input inconsistent: year "
+                              + asString<int>(year)
+                              + " cannot contain 10-bit GPS week "
+                              + asString<short>(week));
+         GPSTK_THROW(dte);
+      }
+
+      return *this;
+   }
+
+      // Set the object's time using GPS time. System time
+      // is used to determine which 'zone' of 1024 weeks is assigned.
+      // @param Zcount Full z-count (3 MSB unused, mid 10 bits -
+      //   week number, 19 LSB "normal" z-count).
+      // @param f Time frame (see #TimeFrame)
+      // @return a reference to this object.
+   DayTime& DayTime::setGPS(unsigned long Zcount, 
+                            TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      short cweek = (Zcount >> 19) & 0x3FF ;
+      long zcount = Zcount & 0x7FFFFL ;
+      if(DAYTIME_TEST_VALID) 
+      {
+         if(cweek < 0 || cweek > 1023 ||    // Is this is a necessary check?
+            zcount < 0 || zcount > 403199 ) 
+         { 
+            using gpstk::StringUtils::asString ;
+            DayTimeException dte("Invalid Full GPS Z-count: "
+                                 + asString<unsigned long>(Zcount));
+            GPSTK_THROW(dte);
+         }
+      }
+      return setGPS(cweek, zcount, f);
+   }
+
+      // Set the object's time using GPS time.
+      // @param fullweek Full (i.e. >10bits) GPS week number.
+      // @param sow Seconds of week.
+      // @param f Time frame (see #TimeFrame)
+      // @return a reference to this object.
+   DayTime& DayTime::setGPSfullweek(short fullweek,
+                                    double sow, 
+                                    TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      if(DAYTIME_TEST_VALID) 
+      {
+         if(fullweek < 0 || 
+            sow < 0.0 || 
+            sow >= double(FULLWEEK))
+         {
+            using gpstk::StringUtils::asString ;
+            DayTimeException dte("Invalid week/seconds-of-week: " 
+                                 + asString<short>(fullweek)+ "/" 
+                                 + asString(sow));
+            GPSTK_THROW(dte);
+         }
+      }
+      jday = GPS_EPOCH_JDAY + 7 * long(fullweek) + long(sow / SEC_DAY);
+      double sod = sow - SEC_DAY * long(sow / SEC_DAY);
+      return setSecOfDay(sod, f);
+   }
+
+      // Set the object's time using the given GPSZcount.
+      // System time is used to disambiguate which 1024 week 'zone'
+      // is appropriate.
+      // @param z the GPSZcount object to set to
+      // @param f Time frame (see #TimeFrame)
+      // @return a reference to this object.
+   DayTime& DayTime::setGPSZcount(const GPSZcount& z,
+                                  TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      setGPS(z.getWeek(), z.getZcount(), f) ;
+      return *this ;
+   }
+
+      // Set the object's time using day of year.
+      // @param year Four-digit year.
+      // @param day_of_year Day of year.
+      // @param sec_of_day Seconds of day.
+      // @param f Time frame (see #TimeFrame)
+      // @return a reference to this object.
+   DayTime& DayTime::setYDoySod(short year, 
+                                short doy,
+                                double sod,
+                                TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      setYDoy(year, doy, f);
+      return setSecOfDay(sod, f);
+   }
+
+      // Set the object's time using Modified Julian date.
+      // This just sets the time to the indicated modified Julian date.
+      // @param mjd the MJD of the date & time to set
+      // @param f Time frame (see #TimeFrame)
+      // @return a reference to this object.
+   DayTime& DayTime::setMJD(long double mjd,
+                            TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      if(DAYTIME_TEST_VALID) 
+      {
+         if(mjd < (long double)(BEGIN_LIMIT_JDAY-MJD_JDAY) ||
+            mjd > (long double)(END_LIMIT_JDAY-MJD_JDAY))
+         {
+            DayTimeException dte("Invalid MJD: " 
+                                 + gpstk::StringUtils::asString(mjd)) ;
+            GPSTK_THROW(dte) ;
+         }
+      }
+      jday = long(mjd + 1.0) ;       // int part of JD contributed by MJD
+      long double sod = SEC_DAY * (mjd + 1.0 - double(jday)) ;
+      jday += MJD_JDAY - 1 ; 
+      mSod = long(FACTOR * sod) ;
+      mSec = FACTOR * double(sod) - double(mSod) ;
+      timeFrame = f ;
+      return *this ;
+   }
+
+      // set using unix timeval struct
+   DayTime& DayTime::setUnix(const struct timeval& t,
+                             TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      long sec = t.tv_sec ;
+      double dt = double(sec) + (t.tv_usec * 1.e-6) ;
+      jday = MJD_JDAY + UNIX_MJD + long(dt / SEC_DAY) ;
+      sec -= long(dt / SEC_DAY) * SEC_DAY ;
+      dt = double(sec) + (t.tv_usec * 1.e-6) ;
+      return setSecOfDay(dt);
+   }
+
+      // set using ANSI
+   DayTime& DayTime::setANSI(const time_t& t, 
+                             TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      long double dt = (long double)(t);
+      dt /= SEC_DAY;
+      dt += UNIX_MJD;
+      return setMJD(dt, f);
+   }
+
+      // set using system time
+   DayTime& DayTime::setSystemTime()
+      throw(DayTime::DayTimeException)
+   {
+#if defined(ANSI_ONLY)
+      time_t t;
+      time(&t);
+      setANSI(t, LocalSystem);
+#elif defined(WIN32)
+      _timeb t;
+      _ftime(&t);
+      timeval tv;
+      tv.tv_sec = t.time;
+      tv.tv_usec = t.millitm*1000;
+      setUnix(tv, LocalSystem);
+#else
+      timeval t;
+      gettimeofday(&t, NULL);
+      setUnix(t, LocalSystem);
+#endif
+      return *this;
+   }
+
+      // set using local time
+   DayTime& DayTime::setLocalTime()
+      throw(DayTime::DayTimeException)
+   {
+      time_t t;
+      time(&t);
+      struct tm  *ltod;
+      ltod = localtime(&t);
+      setYMDHMS(1900 + ltod->tm_year, ltod->tm_mon + 1, ltod->tm_mday,
+         ltod->tm_hour, ltod->tm_min, ltod->tm_sec);
+      return *this;
+   }
+
+      // end of set...() that set Day and Time
+      // add set...() that set only Day or only Time
+      //
+      // Set the object using calendar (Y/M/D) date only (time is unchanged)
+   DayTime& DayTime::setYMD(int yy, 
+                            int mm, 
+                            int dd, 
+                            TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      long tempDay = convertCalendarToJD(yy, mm, dd);
+      if(DAYTIME_TEST_VALID) 
+      {
+         int y, m, d;
+         convertJDtoCalendar(tempDay, y, m, d);
+         if(y != yy || m != mm || d != dd) 
+         {
+            using gpstk::StringUtils::asString ;
+            DayTimeException dte("Invalid yy/mm/dd: " + asString<int>(yy) + "/"
+                                 + asString<int>(mm) + "/" + asString<int>(dd)
+                                 + " != " + asString<int>(y) + "/"
+                                 + asString<int>(m) + "/" + asString<int>(d));
+            GPSTK_THROW(dte);
+         }
+      }
+      jday = tempDay;
+      timeFrame = f;
+      return *this;
+   }
+
+      // Set the object using ordinary (H:M:S) time only (day is unchanged)
+   DayTime& DayTime::setHMS(int hh,
+                            int mm,
+                            double sec,
+                            TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      double sod = convertTimeToSOD(hh, mm, sec);
+      if(DAYTIME_TEST_VALID) 
+      {
+         int h, m;
+         double s;
+         convertSODtoTime(sod, h, m, s);
+         if(h != hh || m != mm || ABS(s - sec) > tolerance) 
+         {
+            using gpstk::StringUtils::asString ;
+            DayTimeException dte("Invalid hh:mm:ss: " + asString<int>(hh)
+                                 + ":" + asString<int>(mm) 
+                                 + ":" + asString(sec));
+            GPSTK_THROW(dte);
+         }
+      }
+      return setSecOfDay(sod,f);
+   }
+
+      // Set the object using seconds of day only (day is unchanged)
+   DayTime& DayTime::setSecOfDay(double sod, 
+                                 TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      if(DAYTIME_TEST_VALID) 
+      {
+         if(sod < 0.0 || sod >= double(SEC_DAY)) 
+         {
+            DayTimeException dte("Invalid seconds-of-day: " 
+                                 + gpstk::StringUtils::asString(sod));
+            GPSTK_THROW(dte);
+         }
+      }
+      mSod = long(FACTOR * sod);
+      mSec = FACTOR * double(sod) - double(mSod);
+      timeFrame = f;
+      return *this;
+   }
+
+      // Set the object using year and day of year only (time is unchanged)
+   DayTime& DayTime::setYDoy(int yy,
+                             int doy,
+                             TimeFrame f)
+      throw(DayTime::DayTimeException)
+   {
+      jday = convertCalendarToJD(yy, 1, 1) + doy - 1;
+      if(DAYTIME_TEST_VALID)
+      {
+         int y,m,d;
+         convertJDtoCalendar(jday, y, m, d);
+         if(y != yy) 
+         {
+            DayTimeException dte("Invalid Year/Day-of-Year: " 
+                                 + gpstk::StringUtils::asString(yy)
+                                 + "/" + gpstk::StringUtils::asString(doy));
+            GPSTK_THROW(dte);
+         }
+      }
+      timeFrame = f;
+      return *this;
+   }
+
+      // ----------- Part 10: member functions: setToString, printf ---------
+      //
+   DayTime& DayTime::setToString(const string& str,
+                                 const string& fmt)
+      throw(DayTime::DayTimeException, DayTime::FormatException,
+            StringException)
+   {
+      try
+      {
+            // make an object to return
+         DayTime toReturn(*this);
+         
+            // test completeness of specification given by input
+         bool hmjd = false, hsow = false, hweek = false, hfullWeek = false,
+            hdow = false, hyear = false, hmonth = false, hday= false,
+            hzcount = false, hdoy = false, hfullzcount = false,
+            hhour = false, hmin = false, hsec = false, hsod = false,
+            hunixsec = false, hunixusec = false;
+
+         double imjd, isow;
+         short iweek, ifullWeek, idow, imonth, iday;
+         long izcount, idoy;
+         long ifullzcount;
+         
+         short iyear, ihour, imin;
+         double isec, isod;
+         
+            // unix time
+         long unixsec, unixusec;
+         
+            // set the year in case it is not in the input -- for week input
+         iyear = toReturn.year();
+
+         string f = fmt;
+         string s = str;
+         
+            // parse strings...  As we process each part, it's removed from 
+            // both strings so when we reach 0, we're done
+         while ( (s.size() > 0) && (f.size() > 0) )
+         {
+               // remove everything in f and s up to the first % in f
+               // (these parts of the strings must be identical or this will 
+               // break after it tries to remove it!)
+            while ( (s.length() != 0) && (f.length() != 0) && (f[0] != '%') )
+            {
+                  // remove that character now and other whitespace
+               s.erase(0,1);
+               f.erase(0,1);
+               stripLeading(s);
+               stripLeading(f);
+            }
+            
+               // check just in case we hit the end of either string...
+            if ( (s.length() == 0) || (f.length() == 0) )
+               break;
+            
+               // lose the '%' in f...
+            f.erase(0,1);
+            
+               // if the format string is like %03f, get '3' as the field
+               // length.
+            string::size_type fieldLength = string::npos;
+            
+            if (!isalpha(f[0]))
+            {
+               fieldLength = asInt(f);
+               
+                  // remove everything else up to the next character
+                  // (in "%03f", that would be 'f')
+               while ((!f.empty()) && (!isalpha(f[0])))
+                  f.erase(0,1);
+               if (f.empty())
+                  break;
+            }
+            
+               // finally, get the character that should end this field, if any
+            char delimiter = 0;
+            if (f.size() > 1)
+            {
+               if (f[1] != '%')
+               {
+                  delimiter = f[1];
+                  
+                  if (fieldLength == string::npos)
+                     fieldLength = s.find(delimiter,0);
+               }
+                  // if the there is no delimiter character and the next field
+                  // is another part of the time to parse, assume the length
+                  // of this field is 1
+               else if (fieldLength == string::npos)
+               {
+                  fieldLength = 1;
+               }
+            }
+            
+               // figure out the next string to be removed.  if there is a
+               // field length, use that first
+            string toBeRemoved = s.substr(0, fieldLength);
+            
+               // based on char at f[0], convert input to temporary variable
+            switch (f[0]) 
+            {
+               case 'Q':
+               {
+                  imjd = asDouble(toBeRemoved);
+                  hmjd = true;
+               }
+               break;
+
+               case 'Z':
+               {
+                  izcount = asInt(toBeRemoved);
+                  hzcount = true;
+               }
+               break;
+
+               case 's':
+               {
+                  isod = asDouble(toBeRemoved);
+                  hsod = true;
+               }
+               break;
+
+               case 'g':
+               {
+                  isow = asDouble(toBeRemoved);
+                  hsow = true;
+               }
+               break;
+
+               case 'w':
+               {
+                  idow = asInt(toBeRemoved);
+                  hdow = true;
+               }
+               break;
+
+               case 'G':
+               {
+                  iweek = asInt(toBeRemoved);
+                  hweek = true;
+               }
+               break;
+
+               case 'F':
+               {
+                  ifullWeek = asInt(toBeRemoved);
+                  hfullWeek = true;
+               }
+               break;
+
+               case 'j':
+               {
+                  idoy = asInt(toBeRemoved);
+                  hdoy = true;
+               }
+               break;
+
+               case 'b':
+               case 'B':
+               {
+                  string thisMonth(toBeRemoved);
+                  lowerCase(thisMonth);
+                  
+                  if (isLike(thisMonth, "jan.*")) imonth = 1;               
+                  else if (isLike(thisMonth, "feb.*")) imonth = 2;
+                  else if (isLike(thisMonth, "mar.*")) imonth = 3;
+                  else if (isLike(thisMonth, "apr.*")) imonth = 4;
+                  else if (isLike(thisMonth, "may.*")) imonth = 5;
+                  else if (isLike(thisMonth, "jun.*")) imonth = 6;
+                  else if (isLike(thisMonth, "jul.*")) imonth = 7;
+                  else if (isLike(thisMonth, "aug.*")) imonth = 8;
+                  else if (isLike(thisMonth, "sep.*")) imonth = 9;
+                  else if (isLike(thisMonth, "oct.*")) imonth = 10;
+                  else if (isLike(thisMonth, "nov.*")) imonth = 11;
+                  else if (isLike(thisMonth, "dec.*")) imonth = 12;
+                  else
+                  {
+                     FormatException fe("Invalid month entry for setToString");
+                     GPSTK_THROW(fe);
+                  }
+                  hmonth = true;
+               }
+               break;
+
+               case 'Y':
+               {
+                  iyear = asInt(toBeRemoved);
+                  hyear = true;
+               }
+               break;
+
+               case 'y':
+               {
+                  if (fieldLength == 2)
+                  {
+                     iyear = asInt(toBeRemoved) + 1900;
+                     if (iyear < 1980)
+                        iyear += 100;
+                  }
+                  else if (fieldLength == 3)
+                  {
+                     iyear = asInt(toBeRemoved) + 1000;
+                     if (iyear < 1980)
+                        iyear += 100;
+                  }
+                  else
+                     iyear = asInt(toBeRemoved);
+
+                  hyear = true;
+               }
+               break;
+
+               case 'a':
+               case 'A':
+               {
+                  string thisDay = firstWord(toBeRemoved);
+                  lowerCase(thisDay);
+                  if (isLike(thisDay, "sun.*")) idow = 0;
+                  else if (isLike(thisDay, "mon.*")) idow = 1;
+                  else if (isLike(thisDay, "tue.*")) idow = 2;
+                  else if (isLike(thisDay, "wed.*")) idow = 3;
+                  else if (isLike(thisDay, "thu.*")) idow = 4;
+                  else if (isLike(thisDay, "fri.*")) idow = 5;
+                  else if (isLike(thisDay, "sat.*")) idow = 6;
+                  else
+                  {
+                     FormatException fe("Invalid day of week for setTostring");
+                     GPSTK_THROW(fe);
+                  }
+                  hdow = true;
+               }
+               break;
+
+               case 'm':
+               {
+                  imonth = asInt(toBeRemoved);
+                  hmonth = true;
+               }
+               break;
+
+               case 'd':
+               {
+                  iday = asInt(toBeRemoved);
+                  hday = true;
+               }
+               break;
+
+               case 'H':
+               {
+                  ihour = asInt(toBeRemoved);
+                  hhour = true;
+               }
+               break;
+
+               case 'M':
+               {
+                  imin = asInt(toBeRemoved);
+                  hmin = true;
+               }
+               break;
+
+               case 'S':
+               {
+                  isec = asDouble(toBeRemoved);
+                  isec = double(short(isec));
+                  hsec = true;
+               }
+               break;
+
+               case 'f':
+               {
+                  isec = asDouble(toBeRemoved);
+                  hsec = true;
+               }
+               break;
+
+               case 'U':
+               {
+                  unixsec = asInt(toBeRemoved);
+                  hunixsec = true;
+               }
+               break;
+
+               case 'u':
+               {
+                  unixusec = asInt(toBeRemoved);
+                  hunixusec = true;
+               }
+               break;
+
+               case 'C':
+               {
+                  ifullzcount = asInt(toBeRemoved);
+                  hfullzcount = true;
+               }
+
+               default:
+               {
+                     // do nothing
+               }
+               break;
+            }
+               // remove the part of s that we processed
+            stripLeading(s,toBeRemoved,1);
+            
+               // remove the character we processed from f
+            f.erase(0,1);    
+            
+               // check for whitespace again...
+            stripLeading(f);
+            stripLeading(s);
+            
+         }
+         
+         if ( s.length() != 0  ) 
+         {
+               // throw an error - something didn't get processed in the strings
+            FormatException fe(
+               "Processing error - parts of strings left unread - " + s);
+            GPSTK_THROW(fe);
+         }
+         
+         if (f.length() != 0)
+         {
+               // throw an error - something didn't get processed in the strings
+            FormatException fe(
+               "Processing error - parts of strings left unread - " + f);
+            GPSTK_THROW(fe);
+         }
+         
+         if (!hmjd && !hsow && !hweek && !hfullWeek && !hdow && !hmonth &&
+             !hday&& !hzcount && !hdoy && !hfullzcount && !hhour && !hmin &&
+             !hsec && !hsod && !hunixsec && !hunixusec)
+         {
+            FormatException fe("Incomplete time specification for setToString");
+            GPSTK_THROW(fe);
+         }
+
+            // GPS time formats
+         if (hsow)
+            toReturn.setGPSfullweek(0, isow);
+         if (hdow && !hsow)
+            toReturn.setGPSfullweek(0, idow * double(SEC_DAY));
+         if (hzcount)
+            toReturn.setGPSfullweek(0, izcount);
+         if (hfullzcount)
+            toReturn.setGPS(ifullzcount);
+         if (hfullWeek)
+            toReturn.setGPSfullweek(ifullWeek, toReturn.GPSsow());
+         if (hweek)  // iyear has been set in any case
+            toReturn.setGPS(iweek, toReturn.GPSsow(), iyear);
+
+            // Calendar time formats
+            /*
+            *  Due to inconsistency in number of days/month and 
+            *  number of days/year, the call to setYMDHMS() needs
+            *  to be performed as an atomic call.  Changing the pieces
+            *  individually can lead to inconsistencies in the 
+            *  transient states.
+            */
+         if (hyear || hmonth || hday || hhour || hmin || hsec )
+         {
+            int nyear = toReturn.year();
+            int nmonth = toReturn.month();
+            int nday = toReturn.day();
+            int nhour = toReturn.hour();
+            int nmin = toReturn.minute();
+            double dsec = toReturn.second();
+         
+            if (hyear) nyear = iyear;
+            if (hmonth) nmonth = imonth;
+            if (hday) nday = iday;
+            if (hhour) nhour = ihour;
+            if (hmin) nmin = imin;
+            if (hmin) dsec = isec;
+            toReturn.setYMDHMS(nyear, nmonth, nday,
+                            nhour, nmin, dsec);
+         }
+         
+            // DOY time formats
+         if (hdoy)
+            toReturn.setYDoySod(toReturn.year(), idoy, toReturn.DOYsecond());
+         if (hsod)
+            toReturn.setYDoySod(toReturn.year(), toReturn.DOY(), isod);
+
+            // MJD time format
+         if (hmjd)
+            toReturn.setMJD(imjd);
+
+            // unix time formats
+         if (hunixsec || hunixusec)
+         {
+            struct timeval tv = toReturn.unixTime();
+            if (hunixsec) tv.tv_sec = unixsec;
+            if (hunixusec) tv.tv_usec = unixusec;
+
+            toReturn.setUnix(tv);
+         }
+         
+         *this = toReturn;
+         return *this;
+      }
+      catch(gpstk::Exception& exc)
+      {
+         DayTime::DayTimeException dte(exc);
+         dte.addText("Cannot generate time");
+         GPSTK_THROW(dte);
+      }
+      catch(std::exception& exc)
+      {
+         DayTime::DayTimeException dte(exc.what());
+         dte.addText("Cannot generate time");
+         GPSTK_THROW(dte);
+      }
+   }
+
+      // Format this time into a string.
+   string DayTime::printf(const char *fmt) const
+      throw(gpstk::StringUtils::StringException)
+   {
+      string rv = fmt;
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*S"), 
+                          string("Sd"), (short)second());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?f"),
+                          string("ff"), second());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*G"),
+                          string("Ghd"), GPS10bitweek());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*F"),
+                          string("Fhd"), GPSfullweek());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?g"),
+                          string("gf"), GPSsow());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?s"),
+                          string("sf"), DOYsecond());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?Q"),
+                          string("QLf"), getMJDasLongDouble());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*Y"),
+                          string("Yhd"), year());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*y"),
+                          string("yhd"), (short)(year() % 100));
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*m"),
+                          string("mhd"), month());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*b"),
+                          string("bs"), MonthAbbrevNames[month()]);
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*B"),
+                          string("Bs"), MonthNames[month()]);
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*d"),
+                          string("dhd"), day());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*H"),
+                          string("Hhd"), hour());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*M"),
+                          string("Mhd"), minute());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*w"),
+                          string("whd"), dayOfWeek());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*a"),
+                          string("as"), DayOfWeekAbbrevNames[dayOfWeek()]);
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*A"),
+                          string("As"), DayOfWeekNames[dayOfWeek()]);
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*z"),
+                          string("zd"), GPSzcountFloor());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*Z"),
+                          string("Zd"), GPSzcount());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*U"),
+                          string("Ud"), unixTime().tv_sec);
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*u"),
+                          string("ud"), unixTime().tv_usec);
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*j"),
+                          string("jhd"), DOY());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*C"),
+                          string("Cd"), fullZcount());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*c"),
+                          string("cd"), fullZcountFloor());
+
+      return rv;
+   }
+
+      // Format this time into a string.
+   std::string DayTime::asString() const
+      throw(gpstk::StringUtils::StringException)
+   {
+      ostringstream o;
+      o << *this;
+      return o.str();
+   }
+
+     // Dump everything possible, using every get() TD: keep?
+   void DayTime::dump(std::ostream& s) const
+      throw(DayTime::DayTimeException)
+   {
+      // warning: the internal representation, even for objects that are equal
+      // within the tolerance, may be very different
+      //s << "  Data: " << jday << " " << mSod
+      //<< " " << fixed << setprecision(6) << mSec << endl;
+
+      s << "  double JD(): " << fixed << setprecision(6) << JD() << endl;
+      s << "  double MJD(): " << fixed << setprecision(6) << MJD() << endl;
+      s << "  short year(): " << year() << endl;
+      s << "  short month(): " << month() << endl;
+      s << "  short day(): " << day() << endl;
+      s << "  short dayOfWeek(): " << dayOfWeek() << endl;
+      int yy,mm,dd;
+      getYMD(yy, mm, dd);
+      s << "  void getYMD(int& yy, int& mm, int& dd): " << yy << " " << mm
+        << " " << dd << endl;
+      s << "  short hour(): " << hour() << endl;
+      s << "  short minute(): " << minute() << endl;
+      s << "  double second(): " << fixed << setprecision(6) << second() 
+        << endl;
+      s << "  double secOfDay(): " << fixed << setprecision(6) << secOfDay() 
+        << endl;
+      s << "  short GPS10bitweek(): " << GPS10bitweek() << endl;
+      s << "  long GPSzcount(): " << GPSzcount() << endl;
+      s << "  long GPSzcountFloor(): " << GPSzcountFloor() << endl;
+      s << "  double GPSsecond(): " << fixed << setprecision(6) << GPSsecond() 
+        << endl;
+      s << "  double GPSsow(): " << fixed << setprecision(6) << GPSsow() 
+        << endl;
+      s << "  short GPSday(): " << GPSday() << endl;
+      s << "  short GPSfullweek(): " << GPSfullweek() << endl;
+      s << "  short GPSyear(): " << GPSyear() << endl;
+      s << "  short DOYyear(): " << DOYyear() << endl;
+      s << "  short DOYday(): " << DOYday() << endl;
+      s << "  short DOY(): " << DOY() << endl;
+      s << "  double DOYsecond(): "<< fixed << setprecision(6) << DOYsecond() 
+        << endl;
+      s << "  double MJDdate(): " << fixed << setprecision(6) << MJDdate() 
+        << endl;
+      s << "  long double getMJDasLongDouble(): "
+         << fixed << setprecision(6) << getMJDasLongDouble() << endl;
+      struct timeval tv=unixTime();
+      s << "  struct timeval unixTime(): " << tv.tv_sec << " " << tv.tv_usec 
+        << endl;
+      s << "  unsigned long fullZcount(): " << fullZcount() << endl;
+      s << "  unsigned long fullZcountFloor(): " << fullZcountFloor() << endl;
+   }
+
+      // ----------- Part 11: functions: fundamental conversions -----------
+      //
+      // These two routines convert 'integer JD' and calendar time; they were
+      // derived from Sinnott, R. W. "Bits and Bytes" Sky & Telescope Magazine,
+      // Vol 82, p. 183, August 1991, and The Astronomical Almanac, published
+      // by the U.S. Naval Observatory.
+      // NB range of applicability of this routine is from 0JD (4713BC)
+      // to approx 3442448JD (4713AD).
+   void DayTime::convertJDtoCalendar(long jd, 
+                                     int& iyear, 
+                                     int& imonth,
+                                     int& iday)
+      throw()
+   {
+      long L, M, N, P, Q;
+      if(jd > 2299160)    // after Oct 4, 1582
+      {
+         L = jd + 68569;
+         M = (4 * L) / 146097;
+         L = L - ((146097 * M + 3) / 4);
+         N = (4000 * (L + 1)) / 1461001;
+         L = L - ((1461 * N) / 4) + 31;
+         P = (80 * L) / 2447;
+         iday = int(L - (2447 * P) / 80);
+         L = P / 11;
+         imonth = int(P + 2 - 12 * L);
+         iyear = int(100 * (M - 49) + N + L);
+      }
+      else 
+      {
+         P = jd + 1402;
+         Q = (P - 1) / 1461;
+         L = P - 1461 * Q;
+         M = (L - 1) / 365 - L / 1461;
+         N = L - 365 * M + 30;
+         P = (80 * N) / 2447;
+         iday = int(N - (2447 * P) / 80);
+         N = P / 11;
+         imonth = int(P + 2 - 12 * N);
+         iyear = int(4 * Q + M + N - 4716);
+         if(iyear <= 0) 
+         {
+            --iyear;
+         }
+      }
+         // catch century/non-400 non-leap years
+      if(iyear > 1599 && 
+         !(iyear % 100) && 
+         (iyear % 400) && 
+         imonth == 2 && 
+         iday == 29)
+      {
+         imonth = 3;
+         iday = 1;
+      }
+   }
+   
+   long DayTime::convertCalendarToJD(int yy, 
+                                     int mm,
+                                     int dd) 
+      throw()
+   {
+      if(yy == 0)
+         --yy;         // there is no year 0
+
+      if(yy < 0) 
+         ++yy;
+      
+      long jd;
+      double y = double(yy), m = double(mm), d = double(dd);
+
+         // In the conversion from the Julian Calendar to the Gregorian
+         // Calendar the day after October 4, 1582 was October 15, 1582.
+         //
+         // if the date is before October 15, 1582
+      if(yy < 1582 || (yy == 1582 && (mm < 10 || (mm == 10 && dd < 15))))
+      {
+         jd = 1729777 + dd + 367 * yy 
+            - long(7 * ( y + 5001 + long((m - 9) / 7)) / 4) 
+            + long(275 * m / 9);
+      }
+      else   // after Oct 4, 1582
+      {     
+        jd = 1721029 + dd + 367 * yy 
+           - long(7 * (y + long((m + 9) / 12)) / 4)
+           - long(3 * (long((y + (m - 9) / 7) / 100) + 1) / 4) 
+           + long(275 * m / 9);
+
+            // catch century/non-400 non-leap years
+         if( (! (yy % 100) && 
+              (yy % 400) && 
+              mm > 2 && 
+              mm < 9)      || 
+             (!((yy - 1) % 100) &&
+              ((yy - 1) % 400) &&
+              mm == 1)) 
+         {
+            --jd;
+         }
+      }
+      return jd;
+   }
+
+   void DayTime::convertSODtoTime(double sod, 
+                                  int& hh,
+                                  int& mm,
+                                  double& sec) 
+      throw()
+   {
+         // Get us to within one day.
+      if (sod < 0)
+      {
+         sod += (1 + (unsigned long)(sod / SEC_DAY)) * SEC_DAY ;
+      }
+      else if (sod >= SEC_DAY)
+      {
+         sod -= (unsigned long)(sod / SEC_DAY) * SEC_DAY ;
+      }
+      
+      double temp;               // variable to hold the integer part of sod
+      sod = modf(sod, &temp);    // sod holds the fraction, temp the integer
+      long seconds = long(temp); // get temp into a real integer
+
+      hh = seconds / 3600 ;
+      mm = (seconds % 3600) / 60 ;
+      sec = double(seconds % 60) + sod ;
+
+   }
+
+   double DayTime::convertTimeToSOD(int hh, 
+                                    int mm,
+                                    double sec) 
+      throw()
+   {
+      return (sec + 60. * (mm + 60. * hh));
+   }
+
+      // ----------- Part 12: private functions and member data -----------
+      //
+   void DayTime::init()
+      throw()
+   {
+      timeFrame = Unknown;
+      tolerance = DAYTIME_TOLERANCE;
+      jday = 0;
+      mSod = 0;
+      mSec = 0.0;
+   }
+
+   // ldd is days, lds is milliseconds, and ds is milliseconds
+   void DayTime::addLongDeltaTime(long ldd, 
+                                  long lds,
+                                  double ds)
+      throw(DayTime::DayTimeException)
+   {
+         // Use temp variables so that we don't modify our
+         // data members until we know these values are good.
+      long workingJday(jday), workingMsod(mSod) ;
+      double workingMsec(mSec), temp(0) ;
+      
+      workingMsec += ds ;
+         // check that workingMsod is not out of bounds
+      if (workingMsec < 0.)
+      {
+            // split workingMsec into integer and fraction parts
+            // workingMsec gets the fraction and temp gets the integer
+         workingMsec = 1 + modf(workingMsec, &temp);
+            // add the (negative) integer milliseconds to lds
+         if(workingMsec == 1) {
+            workingMsec = 0;
+            lds += long(temp);
+         }
+         else
+            lds += long(temp) -  1;
+      }
+      else if (workingMsec >= 1.0)
+      {
+            // same as above
+         workingMsec = modf(workingMsec, &temp) ;
+            // add the integer milliseconds to lds
+         lds += long(temp) ;         
+      }
+      
+      workingMsod += lds ;
+         // add any full days to ldd
+      ldd += workingMsod / (SEC_DAY * FACTOR) ;
+
+         // this will get us here:
+         // -(SEC_DAY * FACTOR) < workingMsod < (SEC_DAY * FACTOR)
+      workingMsod %= (SEC_DAY * FACTOR) ;
+
+         // this will get us here: 0 <= workingMsod < (SEC_DAY * FACTOR)
+      if (workingMsod < 0)
+      {
+         workingMsod += (SEC_DAY * FACTOR) ;
+         --ldd ;
+      }
+
+      workingJday += ldd ;
+         // check that workingJday is not out of bounds
+      if(workingJday < BEGIN_LIMIT_JDAY)
+      {
+         DayTime::DayTimeException dte("DayTime underflow") ;
+         GPSTK_THROW(dte) ;
+      }
+      if(workingJday > END_LIMIT_JDAY)
+      {
+         DayTime::DayTimeException dte("DayTime overflow") ;
+         GPSTK_THROW(dte) ;
+      }
+      
+         // everything's OK, so set the data members
+      jday = workingJday ;
+      mSod = workingMsod ;
+      mSec = workingMsec ;
+     
+   }
+
+      // ----------- Part 13: operator<< --------------
+      //
+      // Stream output for DayTime objects.  Typically used for debugging.
+      // @param s stream to append formatted DayTime to.
+      // @param t DayTime to append to stream \c s.
+      // @return reference to \c s.
+   ostream& operator<<( ostream& s, 
+                        const DayTime& t )
+   {
+      s << t.printf("%02m/%02d/%04Y %02H:%02M:%02S");
+      return s;
+   }
+
+}   // end namespace gpstk
+
diff --git a/trunk/src/DayTime.hpp b/trunk/src/DayTime.hpp
new file mode 100644
index 0000000..8ebd0a3
--- /dev/null
+++ b/trunk/src/DayTime.hpp
@@ -0,0 +1,1185 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/DayTime.hpp#9 $"
+
+/**
+ * @file DayTime.hpp
+ * gpstk::DayTime - encapsulates date and time-of-day in many formats
+ */
+
+#ifndef GPSTK_DAYTIME_HPP
+#define GPSTK_DAYTIME_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <string>
+#ifdef _MSC_VER
+// timeval is defined in winsock.h, which we don't want to include
+// because it breaks lots of this code
+struct timeval {
+  long    tv_sec;         /* seconds */
+  long    tv_usec;        /* and microseconds */
+};
+#else
+#include <sys/time.h>
+#endif
+
+#include "MathBase.hpp"
+#include "Exception.hpp"
+#include "StringUtils.hpp"
+#include "GPSZcount.hpp"
+
+namespace gpstk
+{
+      /** @defgroup timegroup GPStk Time Group */
+      //@{
+
+      /**
+       * A time representation class for all common time formats, including
+       * GPS. There is a seamless conversion between dates, times, and both,
+       * as well as the ability to input and output the stored day-time in
+       * formatted strings (printf() and setToString()).
+       *
+       * Internally, the representation of day and time uses three quantities,
+       * (1) jday, an integer representation of Julian Date, specifically
+       * jday = int(JD+0.5) or jday=int(MJD+2400001). [Recall that JD = MJD +
+       * 2400000.5 and MJD is an integer when second-of-day==0. N.B. jday is
+       * NOT == JD or Julian Date, but DayTime::JD() does return JD.]
+       * (2) mSod, the integer part of milliseconds of the day, and
+       * (3) mSec, the (double) fractional part of milliseconds of the day.
+       *
+       * In addition, the representation includes a tolerance value (see below)
+       * and a time frame. The time frame is a simple way of denoting the
+       * origin or type of day-time which is stored in the object. See 
+       * #TimeFrame for the list of possible values. The time frame of an 
+       * object is determined in the call to a constructor (default is 
+       * timeFrame=Unknown), and carried forward into other objects.  It may be
+       * read or changed using member functions setAllButTimeFrame(), 
+       * setTimeFrame(), and getTimeFrame().
+       * 
+       * The member datum 'double tolerance' is used in DayTime comparisons.
+       * It defaults to the value of the static 
+       * gpstk::DayTime::DAYTIME_TOLERANCE, but this can be modified with the 
+       * static method setDayTimeTolerance().  Several different default 
+       * tolerances have been defined and are in the DayTime-Specific 
+       * Definitions section. The tolerance can also be changed on a per object
+       * basis with the setTolerance() member function.  All comparisons are 
+       * done using the tolerance as a range for the comparison.
+       * So, for example, operator==() returns true if the times are within
+       * 'tolerance' seconds. Once set for each object, the tolerance is
+       * appropriately "carried forward" to new objects through the copy
+       * operator (DayTime::operator=), the copy constructor, and elsewhere.
+       *
+       * The internal representation is manipulated using four fundamental
+       * routines, two that convert between 'jday' (the integer
+       * representation of JD) and calendar date: year/month/day-of-month,
+       * and two that convert between seconds-of-day and hour/minute/second.
+       * The range of validity of the jday--calendar routines is approximately
+       * 4317 B.C. to 4317 A.D.; these limits are incorporated into constants
+       * DayTime::BEGINNING_OF_TIME and DayTime::END_OF_TIME.
+       * 
+       * * All DayTime objects that lie outside these limits are disallowed. *
+       *
+       * This internal representation allows close to the maximum precision
+       * possible in the time-of-day. Although, note that the code uses 
+       * FACTOR=1000 everywhere to compute milliseconds, via e.g. 
+       * mSec=seconds/FACTOR, and thus FACTOR could be changed to give a 
+       * different precision. (This has not been tested.)
+       *
+       * This representation separates day and time-of-day cleanly.
+       * Because day and time are logically separated, it is possible to use
+       * DayTime for day only, or for time only. Thus, for example, one
+       * could instantiate a DayTime object and only manipulate the date,
+       * without reference to time-of-day; or vice-versa. [However in this
+       * regard note that the default constructor for DayTime sets the
+       * data, not to zero, but to the current (system) time; because there
+       * is no year 0, a DayTime object with all zero data is invalid!]
+       *
+       * When constructing DayTime objects from GPS time values -- such as
+       * GPS week and seconds of weeks, or GPS week and z count -- there 
+       * may be ambiguity associated with the GPS week. Many receivers
+       * and receiver processing software store the GPS week as it appears
+       * in the NAV message, as a 10 bit number. This leads to a 1024 week
+       * ambiguity when 10 bit GPS weeks are used to specify a DayTime.
+       * In general, DayTime uses the system time to disambiguate which 
+       * 1024 week period to use. This is a good assumption except when
+       * processing binary data from before GPS week rollover, which
+       * occured on August 22, 1999.
+       *
+       */
+   class DayTime
+   {
+   public:
+         // ----------- Part  1: exceptions and constants --------------
+         /**
+          * @ingroup exceptionclass
+          * DayTime basic exception class.
+          */
+      NEW_EXCEPTION_CLASS(DayTimeException, gpstk::Exception);
+
+         /**
+          * @ingroup exceptionclass
+          * DayTime formatting ("printing") error exception class.
+          */
+      NEW_EXCEPTION_CLASS(FormatException, gpstk::Exception);
+
+         /// The various time frames
+      enum TimeFrame
+      {
+         Unknown,    /**< unknown time frame */
+         UTC,        /**< Coordinated Universal Time (e.g., from NTP) */
+         LocalSystem,/**< time from a local system clock */
+         GPS_Tx,     /**< GPS transmit Time (paper clock) (e.g., 15 smooth) */
+         GPS_Rx,     /**< GPS receive time (paper clock) */
+            // (e.g., rx data if clock bias is applied)
+         GPS_SV,     /**< SV time frame (e.g., 211 1.5s/6packs) */
+         GPS_Receiver/**< Receiver time (e.g., 30s, raw 1.5s) */
+      };
+
+         /**
+          * @name DayTime-Specific Definitions
+          * All of these tolerances are 1/2 of the tolerance they specify.
+          * So one nsec tolerance is actually 1/2 an ns added to the time
+          * in units of days.
+          */
+         //@{
+
+         /// time-of-day is stored as long (seconds-of-day)*FACTOR
+         /// plus double (remaining seconds)/FACTOR
+      static const long FACTOR;
+
+         /// Conversion offset, Julian Date to Modified Julian Date.
+      static const double JD_TO_MJD;
+         /// 'Julian day' offset from MJD
+      static const long MJD_JDAY;
+         /// 'Julian day' of GPS epoch (Jan. 1, 1980).
+      static const long GPS_EPOCH_JDAY;
+         /// Modified Julian Date of GPS epoch (Jan. 1, 1980).
+      static const long GPS_EPOCH_MJD;
+         /// Modified Julian Date of UNIX epoch (Jan. 1, 1970).
+      static const long UNIX_MJD;
+         /// Seconds per half a GPS week.
+      static const long HALFWEEK;
+         /// Seconds per whole GPS week.
+      static const long FULLWEEK;
+         /// Seconds per day.
+      static const long SEC_DAY;
+         /// Milliseconds in a day.
+      static const long MS_PER_DAY;
+
+         /// One nanosecond tolerance.
+      static const double ONE_NSEC_TOLERANCE;
+         /// One microsecond tolerance.
+      static const double ONE_USEC_TOLERANCE;
+         /// One millisecond tolerance.
+      static const double ONE_MSEC_TOLERANCE;
+         /// One second tolerance.
+      static const double ONE_SEC_TOLERANCE;
+         /// One minute tolerance.
+      static const double ONE_MIN_TOLERANCE;
+         /// One hour tolerance.
+      static const double ONE_HOUR_TOLERANCE;
+      
+         /// Default tolerance for time equality in days.
+      static double DAYTIME_TOLERANCE;
+
+         /// 'julian day' of earliest epoch expressible by DayTime:
+         /// 1/1/4713 B.C.
+      static const long BEGIN_LIMIT_JDAY;
+         /// 'julian day' of latest epoch expressible by DayTime:
+         /// 1/1/4713 A.D.
+      static const long END_LIMIT_JDAY;
+         /// earliest representable DayTime
+      static const DayTime BEGINNING_OF_TIME;
+         /// latest representable DayTime
+      static const DayTime END_OF_TIME;
+
+         /// If true, check the validity of inputs. 
+         /// Throw DayTimeException on failure.
+      static bool DAYTIME_TEST_VALID;
+
+         //@}
+      
+         // ----------- Part  2: member functions: tolerance ------------
+         //
+         /// Changes the DAYTIME_TOLERANCE for all DayTime objects
+      static double setDayTimeTolerance(const double tol)
+         throw()
+      { DAYTIME_TOLERANCE = tol; return DAYTIME_TOLERANCE; }
+
+         /// Returns the current DAYTIME_TOLERANCE.
+      static double getDayTimeTolerance() 
+         throw()
+      { return DAYTIME_TOLERANCE; }
+   
+         /**
+          * Sets the tolerance for output and comparisons on this object only.
+          * See the constants in this file (e.g. ONE_NSEC_TOLERANCE)
+          * for some easy to use tolerance values.
+          * @param tol Tolerance in days to be used by comparison operators.
+          * @sa DayTime-Specific Definitions
+          */
+      DayTime& setTolerance(const double tol) throw();
+
+         /** 
+          * Return the tolerance value currently in use by this object.
+          * @return the current tolerance value (in seconds, of course)
+          */
+      double getTolerance() throw()
+      { return tolerance; }
+
+
+         // ----------- Part  3: member functions: constructors ------------
+         //
+         /**
+          * Default constructor.
+          * Initializes to current system time.
+          */
+      DayTime()
+         throw(DayTimeException);
+
+         /**
+          * GPS time with full week constructor.
+          * @param GPSWeek full week number
+          * @param GPSSecond seconds of week.
+          * @param f Time frame (see #TimeFrame)
+          */
+      DayTime(short GPSWeek,
+              double GPSSecond,
+              TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * GPS time constructor. In the case of 10-bit week input,
+          * the year and week are used to deduce the number of GPS
+          * week rollovers and thus the full GPS week.
+          * @param GPSWeek week number.
+          * @param GPSSecond Seconds of week.
+          * @param year Four-digit year consistent with GPS input.
+          * @param f Time frame (see #TimeFrame)
+          */
+      DayTime(short GPSWeek,
+              double GPSSecond,
+              short year, 
+              TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * GPS time constructor. In the case of 10-bit week input,
+          * the year and week are used to deduce the number of GPS
+          * week rollovers and thus the full GPS week.
+          * @param GPSWeek GPS week number.
+          * @param zcount Z-count (seconds of week / 1.5)
+          * @param year Four-digit year consistent with GPS input.
+          * @param f Time frame (see #TimeFrame)
+          */
+      DayTime(short GPSWeek, 
+              long zcount,
+              short year,
+              TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * GPS time constructor given the full Z count.
+          * @warn The number of GPS week rollovers, and therefore the
+          * full GPS week, is determined from the current system time.
+          * @param fullZcount Full z-count (3 MSB unused, mid 10 bits -
+          *   week number, 19 LSB "normal" z-count).
+          * @param f Time frame (see #TimeFrame)
+          */
+      DayTime(unsigned long fullZcount, 
+              TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * GPS Zcount constructor.
+          * @warn The number of GPS week rollovers, and therefore the
+          * full GPS week, is determined from the current system time.
+          * @param z GPSZcount object to set to
+          * @param f Time frame (see #TimeFrame)
+          */
+      DayTime(const GPSZcount& z,
+              TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Calendar time constructor.
+          * @param year four-digit year.
+          * @param month month of year (1-based).
+          * @param day day of month (1-based).
+          * @param hour hour of day.
+          * @param minute minutes of hour.
+          * @param second seconds of minute.
+          * @param f Time frame (see #TimeFrame)
+          */
+      DayTime(short year,
+              short month,
+              short day,
+              short hour,
+              short minute,
+              double second,
+              TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Modified Julian date time constructor.
+          * @warn For some compilers, this result may have diminished accuracy.
+          * @param MJD Modified Julian date as long double.
+          * @param f Time frame (see #TimeFrame)
+          */
+      DayTime(long double MJD, 
+              TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Modified Julian date time constructor.
+          * @warn For some compilers, this result may have diminished accuracy.
+          * @param MJD Modified Julian date as double.
+          * @param f Time frame (see #TimeFrame)
+          */
+      DayTime(double MJD, 
+              TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Day of year time constructor.
+          * @param year Four-digit year.
+          * @param DOY Day of year.
+          * @param SOD Seconds of day.
+          * @param f Time frame (see #TimeFrame)
+          */
+      DayTime(short year,
+              short doy,
+              double sod, 
+              TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * UNIX time constructor.
+          * @param t timeval structure (typically from gettimeofday()).
+          * @param f Time frame (see #TimeFrame)
+          */
+      DayTime(const struct timeval& t, 
+              TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /// Destructor.
+      ~DayTime()
+         throw()
+      {}
+
+         // --------- Part  4: member functions: assignment and copy ----------
+         //
+         /// Copy constructor.
+      DayTime(const DayTime &right)
+         throw(DayTimeException);
+
+         /// Assignment operator.
+      DayTime& operator=(const DayTime& right)
+         throw();
+
+         // ----------- Part  5: member functions: arithmetic ------------
+         //
+         /**
+          * DayTime difference function.
+          * @param right DayTime to subtract from this one.
+          * @return difference in seconds.
+          */
+      double operator-(const DayTime& right) const
+         throw();
+
+         /**
+          * Add seconds to this time.
+          * @param sec Number of seconds to increase this time by.
+          * @return The new time incremented by \c sec.
+          */
+      DayTime operator+(double sec) const
+         throw();
+
+         /**
+          * Subtract seconds from this time.
+          * @param sec Number of seconds to decrease this time by.
+          * @return The new time decremented by \c sec.
+          */
+      DayTime operator-(double sec) const
+         throw();
+
+         /**
+          * Add seconds to this time.
+          * @param sec Number of seconds to increase this time by.
+          * @throws DayTimeException on over/under-flow
+          */
+      DayTime& operator+=(double sec)
+         throw(DayTimeException);
+
+         /**
+          * Subtract seconds from this time.
+          * @param sec Number of seconds to decrease this time by.
+          * @throws DayTimeException on over/under-flow
+          */
+      DayTime& operator-=(double sec)
+         throw(DayTimeException);
+
+         /**
+          * Add (double) seconds to this time.
+          * @param seconds Number of seconds to increase this time by.
+          * @throws DayTimeException on over/under-flow
+          */
+      DayTime& addSeconds(double seconds)
+         throw(DayTimeException);
+
+         /**
+          * Add (integer) seconds to this time.
+          * @param seconds Number of seconds to increase this time by.
+          * @throws DayTimeException on over/under-flow
+          */
+      DayTime& addSeconds(long seconds)
+         throw(DayTimeException);
+
+         /**
+          * Add (integer) milliseconds to this time.
+          * @param msec Number of milliseconds to increase this time by.
+          * @throws DayTimeException on over/under-flow
+          */
+      DayTime& addMilliSeconds(long msec)
+         throw(DayTimeException);
+
+         /**
+          * Add (integer) microseconds to this time.
+          * @param usec Number of microseconds to increase this time by.
+          * @throws DayTimeException on over/under-flow
+          */
+      DayTime& addMicroSeconds(long usec)
+         throw(DayTimeException);
+
+         // ----------- Part  6: member functions: comparisons ------------
+         //
+         /// Equality operator.
+         /// @return true if ABS(*this - right) <= lesser of tolerance 
+         ///  and right.tolerance; false otherwise
+      bool operator==(const DayTime &right) const
+         throw();
+         /// Inequality operator.
+      bool operator!=(const DayTime &right) const
+         throw();
+         /// Comparison operator (less-than).
+      bool operator<(const DayTime &right) const
+         throw();
+         /// Comparison operator (greater-than).
+      bool operator>(const DayTime &right) const
+         throw();
+         /// Comparison operator (less-than or equal-to).
+      bool operator<=(const DayTime &right) const
+         throw();
+         /// Comparison operator (greater-than or equal-to).
+      bool operator>=(const DayTime &right) const
+         throw();
+
+         // ----------- Part  7: member functions: time frame ------------
+         //
+         /**
+          * Change time frames via pseudo-copy method.
+          * Copies all of \c right except the time frame,
+          * which remains unchanged.
+          * @param right DayTime object to copy time from.
+          * @throws DayTimeException
+          */
+      DayTime& setAllButTimeFrame(const DayTime& right) 
+         throw(DayTimeException);
+      
+         /// Set the time frame for this time.
+      DayTime& setTimeFrame(TimeFrame f)
+         throw()
+      { timeFrame = f ; return *this ; }
+      
+         /// Get the time frame for this time.
+      TimeFrame getTimeFrame() const 
+         throw() 
+      { return timeFrame ; }
+
+         // ----------- Part  8: member functions: get --------------
+         // 
+         // These routines retrieve elements of day, time or both.
+         //
+         /// Get Julian Date JD
+      double JD() const
+         throw();
+
+         /// Get Modified Julian Date MJD
+         /// @warning For some compilers, this result may have diminished 
+         /// accuracy.
+      double MJD() const
+         throw();
+
+         /// Get year.
+      short year() const
+         throw();
+
+         /// Get month of year.
+      short month() const
+         throw();
+
+         /// Get day of month.
+      short day() const
+         throw();
+
+         /// Get day of week
+      short dayOfWeek() const
+         throw();
+
+         /// Get year, month and day of month
+      void getYMD(int& yy, int& mm, int& dd) const 
+         throw() 
+      { convertJDtoCalendar(jday, yy, mm, dd) ; }
+
+         /// Get hour of day.
+      short hour() const
+         throw();
+
+         /// Get minutes of hour.
+      short minute() const
+         throw();
+
+         /// Get seconds of minute.
+      double second() const
+         throw();
+
+         /// Get seconds of day.
+      double secOfDay() const
+         throw() 
+      { return (double(mSod) + mSec) / FACTOR ; }
+
+         /// Get 10-bit GPS week.
+      short GPS10bitweek() const
+         throw();
+
+         /// Get normal (19 bit) zcount.
+      long GPSzcount() const
+         throw();
+
+         /// Same as GPSzcount() but without rounding to nearest zcount.
+      long GPSzcountFloor() const
+         throw();
+
+         /// Get seconds of week.
+      double GPSsecond() const
+         throw() 
+      { return GPSsow(); }
+
+         /// Get GPS second of week.
+      double GPSsow() const
+         throw();
+
+         /// Get day of week.
+      short GPSday() const
+         throw() 
+      { return dayOfWeek(); }
+
+         /// Get full (>10 bits) week 
+      short GPSfullweek() const
+         throw();
+
+         /// Get year.
+      short GPSyear() const
+         throw() 
+      { return year(); }
+
+         /// Get year. 
+      short DOYyear() const
+         throw() 
+      { return year(); }
+
+         /// Get day of year.
+      short DOYday() const
+         throw() 
+      { return DOY(); }
+
+         /// Get day of year.
+      short DOY() const
+         throw();
+
+         /// Get seconds of day.
+      double DOYsecond() const
+         throw() 
+      { return secOfDay(); }
+
+         /// Get object time as a modified Julian date.
+         /// @warning For some compilers, this result may have diminished 
+         ///  accuracy.
+      double MJDdate() const
+         throw() 
+      { return double(getMJDasLongDouble()) ; }
+
+         /// Get object time as a (long double) modified Julian date.
+         /// @Warning For some compilers, this result may have diminished
+         ///  accuracy.
+      long double getMJDasLongDouble() const
+         throw();
+
+         /// Get object time in UNIX timeval structure.
+      struct timeval unixTime() const
+         throw(DayTimeException);
+
+         /**
+          * Get time as 32 bit Z count.
+          * The 13 MSBs are week modulo 1024, 19 LSBs are seconds of
+          * week in Zcounts.
+          */
+      unsigned long fullZcount() const
+         throw();
+
+         /// Same as fullZcount() but without rounding to nearest zcount.
+      unsigned long fullZcountFloor() const
+         throw();
+
+         /// Convert this object to a GPSZcount object.
+         /// @throws InvalidParameter if this DayTime's current state
+         ///  doesn't constitute a valid GPS Z-count.
+      operator GPSZcount() const
+         throw(DayTimeException) ;
+
+
+         // ----------- Part  9: member functions: set ------------
+         //
+         /**
+          * Set the object's time using calendar (Y/M/D) date
+          *   and ordinary (H:M:S) time
+          * @param year four-digit year.
+          * @param month month of year (1-based).
+          * @param day day of month (1-based).
+          * @param hour hour of day.
+          * @param min minutes of hour.
+          * @param sec seconds of minute.
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setYMDHMS(short year,
+                         short month,
+                         short day, 
+                         short hour, 
+                         short min,
+                         double sec, 
+                         TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object's time using GPS time.
+          * @warn In the case of 10-bit week input, the number of
+          * GPS week rollovers, and therefore the full GPS week,
+          * is determined from the current system time.
+          * @param week GPS week number.
+          * @param sow GPS seconds of week.
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setGPS(short week,
+                      double sow, 
+                      TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object's time using GPS time (week and Z count).
+          * @warn In the case of 10-bit week input, the number of
+          * GPS week rollovers, and therefore the full GPS week,
+          * is determined from the current system time; prefer setGPSfullweek().
+          * @param week GPS week number.
+          * @param zcount Z-count (seconds of week / 1.5)
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setGPS(short week, 
+                      long zcount, 
+                      TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object's time using GPS time. In case of 10-bit
+          * week input, the year and week are used to deduce the number
+          * of GPS week rollovers and thus the full GPS week;
+          * prefer setGPSfullweek().
+          * @param week GPS week number.
+          * @param zcount GPS Z-count (seconds of week / 1.5)
+          * @param year Four-digit year consistent with GPS input.
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setGPS(short week, 
+                      long zcount,
+                      short year, 
+                      TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object's time using GPS time. In case of 10-bit
+          * week input, the year and week are used to deduce the number
+          * of GPS week rollovers and thus the full GPS week;
+          * prefer setGPSfullweek().
+          * @param week GPS week number.
+          * @param sow GPS seconds of week.
+          * @param year Four-digit year consistent with GPS input.
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setGPS(short week, 
+                      double sow,
+                      short year, 
+                      TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object's time using GPS time (full Z count).
+          * @warn The number of GPS week rollovers, and therefore the
+          * full GPS week, is determined from the current system time.
+          * @param Zcount Full z-count (3 MSB unused, mid 10 bits -
+          *   week number, 19 LSB "normal" z-count).
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setGPS(unsigned long Zcount, 
+                      TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object's time using GPS time.
+          * @param fullweek Full (i.e. >10bits) GPS week number.
+          * @param sow Seconds of week.
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setGPSfullweek(short fullweek,
+                              double sow,
+                              TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object's time using GPS time.
+          * @param fullweek Full (i.e. >10bits) GPS week number.
+          * @param zcount Z-count (seconds of week / 1.5)
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setGPSfullweek(short fullweek,
+                              long zcount, 
+                              TimeFrame f = Unknown)
+         throw(DayTimeException)
+      { return setGPSfullweek(fullweek, double(zcount) * 1.5, f) ; }
+
+         /**
+          * Set the object's time using the given GPSZcount.
+          * @warn The number of GPS week rollovers, and therefore the
+          * full GPS week, is determined from the current system time.
+          * @param z the GPSZcount object to set to
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setGPSZcount(const GPSZcount& z,
+                            TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object's time using day of year.
+          * @param year Four-digit year.
+          * @param day_of_year Day of year.
+          * @param sec_of_day Seconds of day.
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setYDoySod(short year,
+                          short day_of_year, 
+                          double sec_of_day, 
+                          TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object's time using (long double) Modified Julian date.
+          * This just sets the time to the indicated modified Julian date.
+          * @param mjd date/time to set, in MJD.
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setMJD(long double mjd,
+                      TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /// Same as setMJD
+      DayTime& setMJDdate(long double mjd, 
+                          TimeFrame f = Unknown)
+         throw(DayTimeException) 
+      { return setMJD(mjd, f); }
+
+         /// Same as setMJD but with input of type double
+      DayTime& setMJD(double mjd, 
+                      TimeFrame f = Unknown)
+         throw(DayTimeException)
+      { return setMJD((long double)(mjd), f) ; }
+
+         /// Same as setMJD but with input of type double
+      DayTime& setMJDdate(double mjd, 
+                          TimeFrame f = Unknown)
+         throw(DayTimeException)
+      { return setMJD((long double)(mjd), f) ; }
+
+         /**
+          * Set the object's time using POSIX structures.
+          * This uses the POSIX timeval struct to set the time.  This
+          * structure represents the time with a resolution of
+          * microseconds.
+          * @param t time to set
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setUnix(const struct timeval& t, 
+                       TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object's time using ANSI structures.  This uses
+          * the ANSI C/C++ time_t struct to set the time.  This
+          * structure represents the time with a resolution of
+          * seconds.
+          * @param t time to set
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setANSI(const time_t& t,
+                       TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object's time to the current system time.
+          * If the POSIX gettimeofday() system call is available, it
+          * is used to determine system time.  If the gettimeofday()
+          * call is not available, the ANSI time() system call is used
+          * to determine system time.
+          * @return a reference to this object.
+          */
+      DayTime& setSystemTime()
+         throw(DayTimeException);
+
+         /**
+          * Set the object time to the current local time.
+          */
+      DayTime& setLocalTime()
+         throw(DayTimeException);
+
+         /**
+          * Set the object using calendar (Y/M/D) date only (time is unchanged)
+          * @param yy four-digit year.
+          * @param mm month of year (1-based).
+          * @param dd day of month (1-based).
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setYMD(int yy,
+                      int mm,
+                      int dd,
+                      TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object using ordinary (H:M:S) time only (day is unchanged)
+          * @param hh hour of day.
+          * @param mm minutes of hour.
+          * @param sec seconds of minute.
+          * @param f Time frame (see #TimeFrame)
+          * @return a reference to this object.
+          */
+      DayTime& setHMS(int hh,
+                      int mm,
+                      double sec, 
+                      TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object using seconds of day only (day is unchanged)
+          * @param sod seconds of day.
+          */
+      DayTime& setSecOfDay(double sod,
+                           TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         /**
+          * Set the object using year and day of year only (time is unchanged)
+          * @param sod seconds of day.
+          */
+      DayTime& setYDoy(int yy,
+                       int doy,
+                       TimeFrame f = Unknown)
+         throw(DayTimeException);
+
+         // ----------- Part 10: member functions: setToString, printf --------
+         //
+         // FIX someone figure out how to make the table below show up
+         // nice in doxygen.
+         /**
+          * Similar to scanf, this function takes a string and a
+          * format describing string in order to read in daytime
+          * values.  The parameters it can take are listed below and
+          * described above with the printf() function.
+          *
+          * The specification must resolve to a day at a minimum
+          * level. The following table lists combinations that give valid
+          * times. Anything more or other combinations will give
+          * unknown (read as: "bad") results so don't try it.  Anything
+          * less will throw an exception.  If nothing changes the time
+          * of day, it will default to midnight.  Also, the year
+          * defaults to the current year if a year isn't specified
+          * or can't be determined.
+          *
+          * @code
+          *  1 of...           and 1 of....         optional...
+          *  %C
+          *  %G                %w %g %Z                %Y %y
+          *  %F                %w %g %Z
+          *  %m %B %b          %a %A %d             %Y %y %H %M %S
+          *  %Q
+          *  %j                                      %Y %y %s
+          * @endcode
+          *
+          * So 
+          * @code
+          * time.setToString("Aug 1, 2000 20:20:20", "%b %d, %Y %H:%M:%S")
+          * @endcode
+          * works but 
+          * @code
+          * time.setToString("Aug 2000", "%b %Y")
+          * @endcode
+          * doesn't work (incomplete specification because it doesn't specify
+          * a day).
+          *
+          * Don't worry about counting whitespace - this function will
+          * take care of that.  Just make sure that the extra stuff in
+          * the format string (ie '.' ',') are in the same relative
+          * location as they are in the actual string.  (see in the
+          * example above))
+          *
+          * @param str string to get date/time from.
+          * @param fmt format to use to parse \c str.
+          * @throw DayTimeException if \c fmt is an incomplete specification
+          * @throw FormatException if unable to scan \c str.
+          * @throw StringException if an error occurs manipulating the
+          * \c str or \c fmt strings.
+          * @return a reference to this object.
+          */
+      DayTime& setToString(const std::string& str, 
+                           const std::string& fmt)
+         throw(DayTimeException, FormatException,
+               gpstk::StringUtils::StringException);
+
+
+         // if you can see this, ignore the \'s below, as they are for
+         // the nasty html-ifying of doxygen.  Browsers try and
+         // interpret the % and they get all messed up.
+         /**
+          * Format this time into a string.
+          *
+          * Generate and return a string containing a formatted
+          * date, formatted by the specification \c fmt.
+          *
+          * \li \%Y   year()
+          * \li \%y   year() % 100
+          * \li \%m   month()
+          * \li \%d   day()
+          * \li \%H   hour()
+          * \li \%M   minute()
+          * \li \%S   (short)second()
+          * \li \%f   second()
+          * \li \%G   GPS10bitweek()
+          * \li \%F   GPSfullweek()
+          * \li \%g   GPSsecond() or GPSsow()
+          * \li \%s   DOYsecond()
+          * \li \%Q   MJDdate()
+          * \li \%w   dayOfWeek() or GPSday()
+          * \li \%b   MonthAbbrevName[month()]
+          * \li \%B   MonthName[month()]
+          * \li \%a   DayOfWeekAbbrevName[dayOfWeek()]
+          * \li \%A   DayOfWeekName[dayOfWeek()]
+          * \li \%j   DOYday() or DOY()
+          * \li \%Z   GPSzcount()
+          * \li \%z   GPSzcountFloor()
+          * \li \%U   unixTime().tv_sec
+          * \li \%u   unixTime().tv_usec
+          * \li \%C   fullZcount()
+          * \li \%c   fullZcountFloor()
+          *
+          * @param fmt format to use for this time.
+          * @return a string containing this time in the
+          * representation specified by \c fmt.
+          */
+      std::string printf(const char *fmt) const
+         throw(gpstk::StringUtils::StringException);
+
+         /// Format this time into a string. @see printf(const char*)
+      std::string printf(const std::string& fmt) const
+         throw(gpstk::StringUtils::StringException) 
+      { return printf(fmt.c_str()) ; }
+
+         /// Returns the string that operator<<() would print.
+      std::string asString() const
+         throw(gpstk::StringUtils::StringException);
+
+         /// Dump everything possible, using every get() TD: keep?
+      void dump(std::ostream& s) const
+         throw(DayTimeException);
+
+         // ----------- Part 11: functions: fundamental conversions ----------
+         // 
+         /** Fundamental routine to convert from "Julian day" (= JD + 0.5) 
+          *  to calendar day.
+          * @param jd long integer "Julian day" = JD+0.5
+          * @param iyear reference to integer year
+          * @param imonth reference to integer month (January == 1)
+          * @param iday reference to integer day of month 
+          *  (1st day of month == 1)
+          * @note range of applicability of this routine is from 0JD (4713BC)
+          *  to approx 3442448JD (4713AD).
+          * Algorithm references: Sinnott, R. W. "Bits and Bytes,"
+          *  Sky & Telescope Magazine, Vol 82, p. 183, August 1991, and
+          *  The Astronomical Almanac, published by the U.S. Naval Observatory.
+          */
+      static void convertJDtoCalendar(long jd, 
+                                      int& iyear, 
+                                      int& imonth, 
+                                      int& iday)
+         throw();
+
+         /** Fundamental routine to convert from calendar day to "Julian day"
+          *  (= JD + 0.5)
+          * @param iyear reference to integer year
+          * @param imonth reference to integer month (January == 1)
+          * @param iday reference to integer day of month 
+          *  (1st day of month == 1)
+          * @return jd long integer "Julian day" = JD+0.5
+          * @note range of applicability of this routine is from 0JD (4713BC)
+          * to approx 3442448JD (4713AD).
+          * Algorithm references: Sinnott, R. W. "Bits and Bytes,"
+          *  Sky & Telescope Magazine, Vol 82, p. 183, August 1991, and
+          *  The Astronomical Almanac, published by the U.S. Naval Observatory.
+          */
+      static long convertCalendarToJD(int iyear, 
+                                      int imonth,
+                                      int iday) 
+         throw();
+
+         /** Fundamental routine to convert seconds of day to H:M:S
+          * @param sod seconds of day (input)
+          * @param hh reference to integer hour (0 <= hh < 24) (output)
+          * @param mm reference to integer minutes (0 <= mm < 60) (output)
+          * @param sec reference to double seconds (0 <= sec < 60.0) (output)
+          */
+      static void convertSODtoTime(double sod,
+                                   int& hh, 
+                                   int& mm, 
+                                   double& sec) 
+         throw();
+
+         /** Fundamental routine to convert H:M:S to seconds of day
+          * @param hh integer hour (0 <= hh < 24) (input)
+          * @param mm integer minutes (0 <= mm < 60) (input)
+          * @param sec double seconds (0 <= sec < 60.0) (input)
+          * @return sod seconds of day (input)
+          */
+      static double convertTimeToSOD(int hh,
+                                     int mm, 
+                                     double sec) 
+         throw();
+
+         // ----------- Part 12: private functions and member data ----------
+         //
+   private:
+         /// Initialization method.  Used by the constructors.
+      void init() 
+         throw();
+
+         /// Constructor with direct member data input.
+      DayTime(long jd,
+              long sod,
+              double ms,
+              double tol, 
+              TimeFrame f = Unknown)
+         throw() 
+            : jday(jd), mSod(sod), mSec(ms), tolerance(tol), timeFrame(f) 
+      {}
+
+         /** Helper routine for add...() functions
+          * @param ldd the number of days to add to jday
+          * @param lds the number of milliseconds to add to mSod
+          * @param ds the number of partial milliseconds to add to mSec
+          * @throws DayTimeException if adding these values causes an overflow
+          *  of the jday value
+          */
+      void addLongDeltaTime(long ldd,
+                            long lds, 
+                            double ds)
+         throw(DayTimeException);
+
+         /// integer 'Julian day', = JD+0.5 (0 <= jday <= 3442448)
+      long jday; 
+          
+         /// integer milliseconds of the day (0 <= mSod <= 86400000)
+      long mSod;           
+
+         /// double fractional milliseconds (mSec < 1.0)
+      double mSec;         
+
+         /// double tolerance used in comparisons (seconds)
+      double tolerance;    
+
+         /// @sa TimeFrame
+      TimeFrame timeFrame; 
+
+   };   // end class DayTime
+
+      // ----------- Part 13: operator<< -----------
+      //
+      /**
+       * Stream output for DayTime objects.  Typically used for debugging.
+       * @param s stream to append formatted DayTime to.
+       * @param t DayTime to append to stream \c s.
+       * @return reference to \c s.
+       */
+   std::ostream& operator<<( std::ostream& s,
+                             const gpstk::DayTime& t );
+
+      //@}
+
+}  // namespace gpstk
+
+#endif   // GPSTK_DAYTIME_HPP
diff --git a/trunk/src/ECEF.cpp b/trunk/src/ECEF.cpp
new file mode 100644
index 0000000..9424390
--- /dev/null
+++ b/trunk/src/ECEF.cpp
@@ -0,0 +1,102 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ECEF.cpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ECEF.cpp
+ * Encapsulate Earth-centered, Earth-fixed Cartesian coordinates
+ */
+
+#include "geometry.hpp"
+#include "ECEF.hpp"
+#include "Geodetic.hpp"
+#include "MiscMath.hpp"
+
+namespace gpstk
+{
+   using namespace std;
+
+   ECEF :: ECEF()
+         : Triple()
+   {
+   }
+
+   ECEF :: ECEF(const ECEF& right)
+         : Triple(right)
+   {
+   }
+
+   ECEF& ECEF :: operator=(const ECEF& right)
+   {
+      Triple::operator=(right);
+      return *this;
+   }
+
+   // Convert Earth-centered, Earth-fixed XYZ coordinates (m)
+   // to Geodetic coordinates (lat,lon(E),ht) (deg,degE,m).
+   Geodetic ECEF::asGeodetic(GeoidModel* geoid)
+   {
+      double X = this->operator[](0); //ecef[0];     // m
+      double Y = this->operator[](1); //ecef[1];     // m
+      double Z = this->operator[](2); //ecef[2];     // m
+      double p = RSS(X,Y);
+      double latd = atan2(Z,p*(1.0-geoid->eccSquared()));
+      double ht = 0.0, slatd, N, htold, latdold;
+      for(int i=0; i<5; i++) {
+         slatd = sin(latd);
+         N = geoid->a() / SQRT(1.0-geoid->eccSquared()*slatd*slatd);
+         htold = ht;
+         ht = p/cos(latd) - N;
+         latdold = latd;
+         latd = atan2(Z,p*(1.0-geoid->eccSquared()*(N/(N+ht))));
+         if(ABS(latd-latdold) < 1.0e-9 && 
+            ABS(ht-htold) < (1.0e-9*geoid->a())) break;
+      }
+      double lon = atan2(Y,X);
+      if(lon < 0.0) lon += 6.2831853071796;
+
+      Geodetic g(latd*RAD_TO_DEG,lon*RAD_TO_DEG,ht,geoid);      // deg,deg E,m
+      return g;
+
+   }  // end asGeodetic(geoid)
+
+}  // namespace gpstk
diff --git a/trunk/src/ECEF.hpp b/trunk/src/ECEF.hpp
new file mode 100644
index 0000000..89dabb2
--- /dev/null
+++ b/trunk/src/ECEF.hpp
@@ -0,0 +1,108 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ECEF.hpp#1 $"
+
+/**
+ * @file ECEF.hpp
+ * Encapsulate Earth-centered, Earth-fixed Cartesian coordinates
+ */
+
+#ifndef GPSTK_ECEF_HPP
+#define GPSTK_ECEF_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Triple.hpp"
+#include "Exception.hpp"
+#include "GeoidModel.hpp"
+
+namespace gpstk
+{
+   class Geodetic;
+
+      /** @addtogroup geodeticgroup */
+      //@{
+
+      /**
+       * Earth ceneted, earth fixed geodetic coordinates in meters.
+       */
+   class ECEF : public Triple
+   {
+   public:
+         /// Default constructor.
+      ECEF();
+
+         /// Copy constructor.
+      ECEF(const ECEF& right);
+
+         /// Construct from three doubles.
+         /// @param x x coordinate in meters
+         /// @param y y coordinate in meters
+         /// @param z z coordinate in meters
+      ECEF(const double& x, const double& y, const double& z)
+            : Triple(x, y, z)
+      { }
+
+         /// Construct from a Triple.  The Triple consists of the x coordinate, 
+         /// the y coordinate, and the z coordinate.  All in meters.
+         /// @param t the Triple to copy from.
+      ECEF(const Triple& t)
+            : Triple(t)
+      { }
+
+         /// destructor
+      virtual ~ECEF() {}
+
+         /// Assignment operator.
+      ECEF& operator=(const ECEF& right);
+
+         /** \deprecated Convert to Geodetic
+          *  Geodetic has a constructor that takes an ECEF and GeoidModel.
+          *  \sa Geodetic, GeoidModel
+          */
+      Geodetic asGeodetic(GeoidModel *g);
+
+   }; // class ECEF
+
+      //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/EngAlmanac.cpp b/trunk/src/EngAlmanac.cpp
new file mode 100644
index 0000000..0840d25
--- /dev/null
+++ b/trunk/src/EngAlmanac.cpp
@@ -0,0 +1,495 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EngAlmanac.cpp#7 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file EngAlmanac.cpp
+ * Almanac data encapsulated in engineering terms
+ */
+
+#include "gps_constants.hpp"
+#include "DayTime.hpp"
+#include "EngAlmanac.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+// This is a macro in order to retain useful location information in the exc
+#define CHECK_SV_HERE(itty, prn) \
+if (itty == almPRN.end()) \
+{ \
+   SVNotPresentException \
+      exc("Attempt to get data from EngAlmanac from a SV that is not" \
+          " present."); \
+   GPSTK_THROW(exc); \
+}
+
+namespace gpstk
+{
+   EngAlmanac :: EngAlmanac()
+      throw()
+   {
+      for (int n = 0; n < 4; n++)
+      {
+         alpha[n] = beta[n] = 0.0;
+      }
+      
+      A0 = A1 = dt_ls = dt_lsf = 0.0;
+      
+      t_ot = t_oa = 0;
+      
+      wn_t = wn_lsf = 0;
+      
+      alm_wk = 0;
+      
+      dn = 0;
+
+      haveUTC = false;
+   }
+
+   bool EngAlmanac::addSubframe(const long subframe[10], 
+                                const int gpsWeek)
+      throw(InvalidParameter)
+   {
+      double ficked[60];
+
+      if (!subframeConvert(subframe, gpsWeek, ficked))
+         return false;
+
+      short pat = getSubframePattern(subframe);
+
+         // check tlm preamble, subframe id and format #
+      if ((ficked[0] != 0x8b) || ((ficked[4] != 4) && (ficked [4] != 5))
+          || (pat < 4) || (pat > 10))
+      {
+         InvalidParameter
+            exc("EngAlmanac::addSubframe: Not a valid almanac page.");
+         GPSTK_THROW(exc);
+      }
+
+      short svid = (subframe[3] >> 22) & 0x3F;
+      short sfid = (subframe[2] >> 8) & 0x7;
+      long tow = ((subframe[2] >> 13) & 0x1ffff) * 6;
+
+      switch(pat)
+      {
+         case 4:
+               /* Page with Orbital Elements */
+               /*check PRN */
+            if ((ficked[19] < 0) || (ficked[19] > MAX_PRN))
+            {
+               InvalidParameter exc("EngAlmanac::addSubframe, PRN out of range "
+                                    + StringUtils::asString(ficked[19]));
+               GPSTK_THROW(exc);
+            }
+            {
+               int prn = static_cast<short>( ficked[19] );
+               if (prn)
+                  almPRN[prn] = AlmOrbit(prn, ficked[7], ficked[9], ficked[10],
+                                      ficked[12], ficked[13], ficked[14],
+                                         ficked[15], ficked[16], ficked[17],
+                                         static_cast<long>( ficked[8] ),
+                                         static_cast<long>( ficked[2] ), gpsWeek,
+                                         static_cast<short>( ficked[11] ));
+            }
+            break;
+
+         case 5:  /*  Page with Satellite health information 1-24 */
+            for (int i=0; i < 24; i++)
+               health[i] = static_cast<char>( ficked[8 + i] );
+               // manually crack the t_oa and WNa
+            t_oa = ((subframe[2] >> 14) & 0xFF) * 4096;
+            convert8bit(gpsWeek, &ficked[7]);
+            alm_wk = static_cast<int>(ficked[7]);
+            break;
+
+         case 6: 
+         case 7:
+               /* ignore page becase no data for our structure */
+            return true;
+
+         case 8: /* Page with UTC and ionosphere parameters */
+            alpha[0] = ficked[7];
+            alpha[1] = ficked[8];
+            alpha[2] = ficked[9];
+            alpha[3] = ficked[10];
+            beta[0] = ficked[11];
+            beta[1] = ficked[12];
+            beta[2] = ficked[13];
+            beta[3] = ficked[14];
+            A0 = ficked[15];
+            A1 = ficked[16];
+            dt_ls = ficked[19];
+            t_ot = static_cast<long>( ficked[17] );
+            wn_t = static_cast<int>( ficked[18] );
+            wn_lsf = static_cast<int>( ficked[20] );
+            dn = static_cast<char>( ficked[21] );
+            dt_lsf = ficked[22];
+            haveUTC = true;
+            break;
+
+         case 9:  /* Page with Health for 25-32 and AS/SV config */
+            for (int i=0; i<=MAX_PRN; i++)
+               SV_config[i] = static_cast<char>( ficked[7 + i] );
+
+            for (int i=24; i<=MAX_PRN; i++)
+               health[i] = static_cast<char>( ficked[15 + i] );
+            break;
+
+         case 10:/* Page with Special Message */
+            special_msg = "";
+            for (int i=0; i<22; i++)
+               special_msg += static_cast<char>( ficked[7 + i] );
+            break;
+
+         default: 
+               // never reached, see if statement prior to this switch
+            break;
+      }
+      return true;
+   }
+
+   double EngAlmanac::getEcc(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of the ecc for the given PRN
+      return (*i).second.ecc;
+   }
+   
+   double EngAlmanac::getIOffset(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of the iOffset for the given PRN
+      return (*i).second.i_offset;
+   }
+
+   double EngAlmanac::getOmegadot(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of OMEGAdot for the given PRN
+      return (*i).second.OMEGAdot;
+   }
+
+   short EngAlmanac::getSVHealth(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of SV_health for the given PRN
+      return (*i).second.SV_health;
+   }
+
+   double EngAlmanac::getAhalf(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of Ahalf for the given PRN
+      return (*i).second.Ahalf;
+   }
+
+   double EngAlmanac::getA(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of A for the given PRN
+      return (*i).second.Ahalf * (*i).second.Ahalf;
+   }
+
+   double EngAlmanac::getOmega0(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of OMEGA0 for the given PRN
+      return (*i).second.OMEGA0;
+   }
+
+   double EngAlmanac::getW(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of w for the given PRN
+      return (*i).second.w;
+   }
+
+   double EngAlmanac::getM0(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of M0 for the given PRN
+      return (*i).second.M0;
+   }
+
+   double EngAlmanac::getAf0(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of the af0 for the given PRN
+      return (*i).second.AF0;
+   }
+   
+   
+   double EngAlmanac::getAf1(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of af1 for the given PRN
+      return (*i).second.AF1;
+   }
+   
+   
+   double EngAlmanac::getToa() const throw()
+   {
+      return static_cast<double>( t_oa );
+   }
+   
+   double EngAlmanac::getToa(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of the Toa for the given PRN
+      return static_cast<double>( (*i).second.Toa );
+   }
+   
+   
+   double EngAlmanac::getXmitTime(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of the xmit_time for the given PRN
+      return static_cast<double>( (*i).second.xmit_time );
+   }
+   
+   
+   short EngAlmanac::getFullWeek(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+      return (*i).second.getFullWeek();
+   }
+
+   void EngAlmanac::getIon(double a[4], double b[4]) const
+      throw(InvalidRequest)
+   {
+      if (!haveUTC)
+      {
+         InvalidRequest 
+            exc("UTC offset (subframe 4, page 18) is not present.");
+         GPSTK_THROW(exc);
+      }
+      for (int n = 0; n < 4; n++)
+      {
+         a[n] = alpha[n];
+         b[n] = beta[n];
+      }
+   }
+      
+   void EngAlmanac::getUTC(double& a0, double& a1, double& deltaTLS,
+                           long& tot, int& WNt, int& WNLSF,
+                           int& DN, double& deltaTLSF) const
+      throw(InvalidRequest)
+   {
+      if (!haveUTC)
+      {
+         InvalidRequest 
+            exc("UTC offset (subframe 4, page 18) is not present.");
+         GPSTK_THROW(exc);
+      }
+      a0 = A0;
+      a1 = A1;
+      deltaTLS = dt_ls;
+      tot = t_ot;
+      WNt = wn_t;
+      WNLSF = wn_lsf;
+      DN = static_cast<int>( dn );
+      deltaTLSF = dt_lsf;
+   }
+
+   short EngAlmanac::getAlmWeek() const throw()
+   {
+      return alm_wk;
+   }
+   
+   AlmOrbit EngAlmanac::getAlmOrbElem(short prn) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of the orbit elm. for the given PRN
+      return (*i).second;
+   }
+
+   Xvt EngAlmanac::svXvt(short prn, const DayTime& t) const
+      throw(EngAlmanac::SVNotPresentException)
+   {
+      AlmOrbits::const_iterator i = almPRN.find(prn);
+      CHECK_SV_HERE(i, prn);
+      
+         // return value of the orbit elm. for the given PRN
+      return (*i).second.svXvt(t);
+   }
+
+   bool EngAlmanac::isData(short prn) const throw()
+   {
+      return (almPRN.find(prn) != almPRN.end());
+   }
+
+   string int2bin(unsigned int v, int len=8)
+   {
+      string s;
+      for (int i = 0; i < len; i++)
+      {
+         if (v & 1)
+            s = "1" + s;
+         else
+            s = "0" + s;
+         v = v >> 1;
+      }
+      return s;
+   }
+
+   void EngAlmanac::dump(ostream& s) const
+   {
+      ios::fmtflags oldFlags = s.flags();
+   
+      s.fill(' ');
+      
+      s << "****************************************************************"
+        << "************" << endl
+        << "Broadcast Almanac (Engineering Units)" << endl
+        << endl;
+
+      s << endl << "           Iono Parameters" << endl << endl;
+      s << "Alpha:    ";
+      for (int i=0; i<4; i++) 
+         s << setw(12) << alpha[i] << "  ";
+      s << " various" << endl;
+      s << " Beta:    ";
+      for (int i=0; i<4; i++) 
+         s << setw(12) << beta[i] << "  ";
+      s << " various" << endl;
+         
+      s << endl << "           UTC Paramters" << endl << endl;
+      s << "A0:       " << setw(12) << A0      << " sec" << endl
+        << "A1:       " << setw(12) << A1      << " sec/sec" << endl
+        << "dt_ls:    " << setw(12) << dt_ls   << " sec" << endl
+        << "t_ot:     " << setw(12) << t_ot    << " sec" << endl
+        << "wn_t:     " << setw(12) << wn_t    << " week" << endl
+        << "wn_lsf    " << setw(12) << wn_lsf  << " week" << endl
+        << "dn:       " << setw(12) << (int)dn << " days" << endl
+        << "dt_lsf:   " << setw(12) << dt_lsf  << " sec" << endl;
+
+      s << endl << "           Orbit Parameters" << endl << endl;
+      for (AlmOrbits::const_iterator i = almPRN.begin(); i != almPRN.end(); i++)
+         s << (*i).second;
+
+      s << endl << "           Special Message" << endl << endl;
+      StringUtils::hexDumpData(s, special_msg);
+
+
+      s << endl << "           Page 25 Health & SA bits" << endl << endl;
+
+      s << "Toa:    " << setfill(' ') << setw(8) << t_oa
+        << ", week: " << setw(5) << alm_wk << endl << endl
+        << "PRN   health   AS    PRN   health   AS" << endl;
+      string bits[33];
+
+      for (SVBitsMap::const_iterator i = health.begin(); i != health.end(); i++)
+      {
+         int prn = i->first;
+         if (prn >= 1 && prn <= 32)
+            bits[prn] = int2bin(i->second, 6);
+      }
+      
+      for (SVBitsMap::const_iterator i = SV_config.begin(); i != SV_config.end(); i++)
+      {
+         int prn = i->first;
+         if (prn >= 1 && prn <= 32)
+            bits[prn] += "  " + int2bin(i->second, 4);
+      }
+
+      for (int i=1; i<=16; i++)
+         s << setw(2) << i    << "    " << bits[i] << "   "
+           << setw(2) << i+16 << "    " << bits[i+16] << endl;
+
+      s.flags(oldFlags);
+   } // end of dump()
+
+   std::ostream& operator<<(std::ostream& s, const EngAlmanac& alm)
+   {
+      alm.dump(s);
+      return s;
+   }
+   
+} // namespace
diff --git a/trunk/src/EngAlmanac.hpp b/trunk/src/EngAlmanac.hpp
new file mode 100644
index 0000000..4aae2e7
--- /dev/null
+++ b/trunk/src/EngAlmanac.hpp
@@ -0,0 +1,320 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EngAlmanac.hpp#5 $"
+
+/**
+ * @file EngAlmanac.hpp
+ * Almanac data encapsulated in engineering terms
+ */
+
+#ifndef GPSTK_ENGALMANAC_HPP
+#define GPSTK_ENGALMANAC_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Exception.hpp"
+#include "EngNav.hpp"
+#include "AlmOrbit.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup ephemcalc */
+   //@{
+
+      /**
+       * Alamanc information for the GPS constellation.  This class
+       * encapsulates the almanac navigation message (subframes 4 & 5)
+       * and provides functions to decode the as-broadcast almanac.
+       * It is possible for an EngAlmanac to not contain a complete
+       * set of pages.
+       */
+   class EngAlmanac : public EngNav
+   {
+   public:
+         /// Exception - requested almanac page that wasn't present.
+         /// @ingroup exceptiongroup
+      NEW_EXCEPTION_CLASS(SVNotPresentException, gpstk::InvalidRequest);
+
+         /// Map PRN to bits (e.g. health bits).
+      typedef std::map<short, unsigned char, std::less<short> > SVBitsMap;
+
+         /// Default constructor, blank almanac.
+      EngAlmanac() throw();
+
+         /// Destructor
+      virtual ~EngAlmanac() {}
+
+         /**
+          * Store a subframe in this object.
+          * @param subframe ten word navigation subframe stored in the
+          * 30 least-significant bits of each array index.
+          * @param gpsWeek full GPS week number.
+          * @return true if successful.
+          * @throw InvalidParameter if subframe is valid but not subframe 4-5.
+          */
+      bool addSubframe(const long subframe[10], const int gpsWeek)
+         throw(gpstk::InvalidParameter);
+
+         /** This function returns true if data is available for a given
+          * PRN.  This data is accessed by the below accesser methods
+          */
+      bool isData(short prn) const throw();
+      
+         /** This function returns the value of the eccentricity for
+          * the given PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getEcc(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the value of the offset of the
+          * inclination from 54 degrees in radians for the given PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getIOffset(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the value of the rate of the right
+          * ascension of the ascending node in radians/second for the
+          * given PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getOmegadot(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the value of the health of the given
+          * PRN from the general pages in the almanac.  It return the
+          * shortened 6 bit health that is in those pages.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      short get6bitHealth(short prn) const throw();
+      
+         /** This function returns the value of the health of the given
+          * PRN from the PRN specific page which might not be present.
+          * This is the full 8 bit health
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      short getSVHealth(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the value of the square root of the
+          * semi-major axis in square root of meters for the given
+          * PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getAhalf(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the value of the semi-major axis in
+          * meters for the specified PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getA(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the value of the right ascension of
+          * the ascending node in radians for the given PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getOmega0(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the value of the argument of perigee
+          * in radians for the given PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getW(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the value of the mean anomaly in
+          * radians for the given PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getM0(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the SV clock error in seconds for
+          * the given PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getAf0(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the SV clock drift in
+          * seconds/seconds for the given PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getAf1(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the value of the time of the almanac
+          * (from page 51) in GPS seconds of week.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getToa() const throw();
+      
+         /** This function returns the value of the time of the almanac
+          * in GPS seconds of week for the given PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getToa(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the value of the transmit time for
+          * this almanac data in seconds of week for the given PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      double getXmitTime(short prn) const throw(SVNotPresentException);
+      
+         /** This function returns the value of the week of the page
+          * transmission for the given PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      short getFullWeek(short prn) const throw(SVNotPresentException);
+      
+         /** 
+          * Get the ionospheric parameters.
+          * @throw InvalidRequest if the almanac page isn't present
+          */
+      void getIon(double a[4], double b[4]) const
+         throw(InvalidRequest);
+
+         /**
+          * Get the UTC offset parameters.
+          * @throw InvalidRequest if the almanac page isn't present
+          */
+      void getUTC(double& a0, double& a1, double& deltaTLS, long& tot,
+                  int& WNt, int& WNLSF, int& DN, double& deltaTLSF) const
+         throw(InvalidRequest);
+      
+         /** This function gets the week number for the almanac stored
+          * in this object.  It is replaced when an almanac is
+          * converted to engineering units with the almWeek from the
+          * data.  It also is replaced by the week number in the FIC
+          * data (if it is non zero) when addSF is used to add FIC
+          * data to the almanac.  This is a full GPS week number (ie >
+          * 10 bits)
+          */
+      short getAlmWeek() const throw();
+
+         /** This function returns an object containing all of the
+          * almanac orbit elements for the given PRN.
+          * @throw SVNotPresentException if almanac page for the given
+          * PRN isn't present.
+          */
+      AlmOrbit getAlmOrbElem(short prn) const
+         throw(SVNotPresentException);
+
+         /** This function returns an object containing all of the
+          * almanac orbit elements.
+          */
+      AlmOrbits getAlmOrbElems() const
+      { return almPRN; }
+      
+         /** Compute satellite velocity/position at the given time
+          * using this almanac.
+          * @param prn PRN ID of satellite to get velocity/position of.
+          * @param t time at which to compute SV position.
+          * @throw InvalidRequest if a required subframe has not been stored.
+          */
+      Xvt svXvt(short prn, const DayTime& t) const
+         throw(SVNotPresentException);
+
+      void dump(std::ostream& s = std::cout) const;
+
+   protected:
+         /** This function is used to make sure data is present before
+          * accessing it.
+          */
+      void checkSVHere(short prn) const throw(SVNotPresentException);
+      
+      
+         /** ionosphere parameters */
+         //@{
+      double alpha[4];
+      double beta[4];
+         //@}
+
+         /** UTC Parameters */
+         //@{
+      double A0;                   /**< Bias term of difference polynomial */
+      double A1;                   /**< Drift term of difference polynomial */
+      double dt_ls;                /**< time increment due to leap seconds */
+      double dt_lsf;               /**< scheduled future time increment due to
+                                      leap seconds */
+      long t_ot;                   /**< reference time */
+      long t_oa;                   /**< Toa from page id 51 (subframe 5,
+                                      pg 25) */
+      int wn_t;                    /**< reference week of current leap
+                                      second */
+      int wn_lsf;                  /**< week number of last/next leap
+                                      second */
+      short alm_wk;                /**< GPS Week of the Almanac from the last
+                                      page of orbital data */
+      unsigned char dn;            /**< reference day # of future leap
+                                      second */
+      SVBitsMap health;            /**< satellite health array */
+      std::string special_msg;     /**< Special message from GPS */
+      
+      SVBitsMap SV_config;         /**< 4 bit anti-spoofing/SV config sats. */
+         //@}
+   
+      AlmOrbits almPRN;
+      bool haveUTC;
+
+   private:
+      bool operator==(const EngAlmanac&);
+      bool operator!=(const EngAlmanac&);
+      bool operator<(const EngAlmanac&);
+      bool operator>(const EngAlmanac&);
+   }; // class EngAlmanac
+
+
+   std::ostream& operator<<(std::ostream& s, const EngAlmanac& alm);
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/EngEphemeris.cpp b/trunk/src/EngEphemeris.cpp
new file mode 100644
index 0000000..3619a45
--- /dev/null
+++ b/trunk/src/EngEphemeris.cpp
@@ -0,0 +1,1383 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EngEphemeris.cpp#7 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file EngEphemeris.cpp
+ * Ephemeris data encapsulated in engineering terms
+ */
+
+#include "StringUtils.hpp"
+#include "icd_200_constants.hpp"
+#include "GPSGeoid.hpp"
+#include "EngEphemeris.hpp"
+
+#include <cmath>
+
+namespace gpstk
+{
+   using namespace std;
+   using namespace gpstk;
+
+   EngEphemeris::EngEphemeris()
+      throw()
+   {
+      haveSubframe[0] = haveSubframe[1] = haveSubframe[2] = false;
+
+      tlm_message[0] = tlm_message[1] = tlm_message[2] = 0;
+
+      PRNID = tracker = ASalert[0] = ASalert[1] = ASalert[2] = weeknum =
+	codeflags = accFlag = health = L2Pdata = 0;
+
+      HOWtime[0] = HOWtime[1] = HOWtime[2] = 0;
+
+      IODC = IODE = 0;
+      Toc = af0 = af1 = af2 = Tgd = Cuc = Cus = Crc = Crs =
+         Cic = Cis = Toe = M0 = dn = ecc = Ahalf = OMEGA0 = i0 = w =
+         OMEGAdot = idot = accuracy = 0.0;
+
+      fitint = 0;
+   }
+
+   bool EngEphemeris::addSubframe(const long subframe[10], const int gpsWeek,
+                                  short PRN, short track)
+      throw(InvalidParameter)
+   {
+      double ficked[60];
+
+      if (!subframeConvert(subframe, gpsWeek, ficked))
+         return false;
+
+      int sfnum = static_cast<int>( ficked[4] );
+      InvalidParameter exc("Subframe "+StringUtils::asString(sfnum)+
+                           " not ephemeris subframe.");
+
+      switch (sfnum)
+      {
+         case 1:
+            tlm_message[0] = (subframe[0] >> 8) & 0x3fff;
+            HOWtime[0] = static_cast<long>( ficked[2] );
+            ASalert[0] = static_cast<short>( ficked[3] );
+            weeknum    = static_cast<short>( ficked[5] );
+            codeflags  = static_cast<short>( ficked[6] );
+            accFlag    = static_cast<short>( ficked[7] );
+            health     = static_cast<short>( ficked[8] );
+            IODC       = static_cast<short>( ldexp( ficked[9], -11 ) );
+            L2Pdata    = static_cast<short>( ficked[10] );
+            Tgd        = ficked[11];
+            Toc        = ficked[12];
+            af2        = ficked[13];
+            af1        = ficked[14];
+            af0        = ficked[15];
+            tracker    = track;
+            PRNID      = PRN;
+            haveSubframe[0] = true;
+            // convert the accuracy flag to a value...
+            accuracy = gpstk::ura2accuracy(accFlag);
+            break;
+
+         case 2:
+            tlm_message[1] = (subframe[0] >> 8) & 0x3fff;
+            HOWtime[1] = static_cast<long>( ficked[2] );
+            ASalert[1] = static_cast<short>( ficked[3] );
+            IODE       = static_cast<short>( ldexp( ficked[5], -11 ) );
+            Crs        = ficked[6];
+            dn         = ficked[7];
+            M0         = ficked[8];
+            Cuc        = ficked[9];
+            ecc        = ficked[10];
+            Cus        = ficked[11];
+            Ahalf      = ficked[12];
+            Toe        = ficked[13];
+            fitint     = static_cast<short>( ficked[14] );
+            haveSubframe[1] = true;
+            break;
+
+         case 3:
+            tlm_message[2] = (subframe[0] >> 8) & 0x3fff;
+            HOWtime[2] = static_cast<long>( ficked[2] );
+            ASalert[2] = static_cast<short>( ficked[3] );
+            Cic        = ficked[5];
+            OMEGA0     = ficked[6];
+            Cis        = ficked[7];
+            i0         = ficked[8];
+            Crc        = ficked[9];
+            w          = ficked[10];
+            OMEGAdot   = ficked[11];
+            idot       = ficked[13];
+            haveSubframe[2] = true;
+            break;
+
+         default:
+            GPSTK_THROW(exc);
+            break;
+      } // switch (sfnum)
+
+      return true;
+   }
+
+   bool EngEphemeris::addSubframeNoParity(const long subframe[10],
+                               const long gpsWeek,
+                               const short PRN,
+                               const short track)
+      throw(InvalidParameter)
+   {
+      long paddedSF[10];
+      short PRNArg;
+      short trackArg;
+
+      for (int i=0;i<10;++i) 
+      {
+         paddedSF[i] = subframe[i];
+         paddedSF[i] <<= 6;
+         paddedSF[i] &= 0x3FFFFFC0;    // Guarantee 2 msb and 6 lsb are zeroes
+      }
+      PRNArg = PRN;                  
+      trackArg = track; 
+      return( addSubframe( paddedSF, gpsWeek, PRNArg, trackArg ));
+   }
+   
+   bool EngEphemeris::addIncompleteSF1Thru3(
+      const long sf1[8], const long sf2[8], const long sf3[8], 
+      const long sf1TransmitSOW, const int gpsWeek,
+      const short PRN, const short track)
+   {
+      double ficked[60];
+
+         // Need to provide a valid subframe number in the handover word.
+         // While we're at it, we'll fake the A-S bit such that it
+         // appears A-S is ON, even though we warn the user NOT to trust
+         // returns from the getASAlert() method.
+      const long sf1Lead[2] = { 0x00000000, 0x00000900 };
+      const long sf2Lead[2] = { 0x00000000, 0x00000A00 };
+      const long sf3Lead[2] = { 0x00000000, 0x00000B00 };
+      long subframe[10]; 
+      
+         // Handover word times represent the time of the leading edge of the
+         // NEXT subframe.  Therefore, HOW should always correspond to
+         //   :06/:36 for SF 1
+         //   :12/:42 for SF 2
+         //   :18/:48 for SF 3
+         // This method hasn't a clue about the accuracy of the SOW input by the
+         // user, but it WILL enforce this relationship.
+      long frameCount = sf1TransmitSOW / 30;
+      long SF1HOWTime = (frameCount * 30) + 6;
+      
+         // Convert subframe 1 parameters
+      subframe[0] = sf1Lead[0];
+      subframe[1] = sf1Lead[1];
+      int i;
+      for (i=0; i<8; ++i) subframe[i+2] = sf1[i];
+      
+      if (!subframeConvert(subframe, gpsWeek, ficked))
+         return false;
+
+      tlm_message[0] = 0;
+      HOWtime[0] = SF1HOWTime;
+      ASalert[0] = (short)ficked[3];
+      weeknum    = (short)ficked[5];
+      codeflags  = (short)ficked[6];
+      accFlag    = (short)ficked[7];
+      health     = (short)ficked[8];
+      IODC       = (short)ldexp(ficked[9],-11);
+      L2Pdata    = (short)ficked[10];
+      Tgd        = ficked[11];
+      Toc        = ficked[12];
+      af2        = ficked[13];
+      af1        = ficked[14];
+      af0        = ficked[15];
+      tracker    = track;
+      PRNID      = PRN;
+      haveSubframe[0] = true;
+         // convert the accuracy flag to a value...
+      accuracy = gpstk::ura2accuracy(accFlag);
+
+      
+         // Convert subframe 2 parameters
+      subframe[0] = sf2Lead[0];
+      subframe[1] = sf2Lead[1];
+      for (i=0; i<8; ++i) subframe[i+2] = sf2[i];
+      
+      if (!subframeConvert(subframe, gpsWeek, ficked))
+         return false;
+      
+      tlm_message[1] = 0;
+      HOWtime[1] = SF1HOWTime + 6;
+      ASalert[1] = (short)ficked[3];
+      IODE       = (short)ldexp(ficked[5],-11);
+      Crs        = ficked[6];
+      dn         = ficked[7];
+      M0         = ficked[8];
+      Cuc        = ficked[9];
+      ecc        = ficked[10];
+      Cus        = ficked[11];
+      Ahalf      = ficked[12];
+      Toe        = ficked[13];
+      fitint     = (short)ficked[14];
+      haveSubframe[1] = true;
+      
+         // Convert subframe 3 parameters
+      subframe[0] = sf3Lead[0];
+      subframe[1] = sf3Lead[1];
+      for (i=0; i<8; ++i) subframe[i+2] = sf3[i];
+      
+      if (!subframeConvert(subframe, gpsWeek, ficked))
+         return false;
+      
+      tlm_message[2] = 0;
+      HOWtime[2] = SF1HOWTime + 12;
+      ASalert[2] = (short)ficked[3];
+      Cic        = ficked[5];
+      OMEGA0     = ficked[6];
+      Cis        = ficked[7];
+      i0         = ficked[8];
+      Crc        = ficked[9];
+      w          = ficked[10];
+      OMEGAdot   = ficked[11];
+      idot       = ficked[13];
+      haveSubframe[2] = true;
+
+      return true;
+   }
+
+   bool EngEphemeris :: isData(short subframe) const
+      throw(gpstk::InvalidRequest)
+   {
+      if ((subframe < 1) || (subframe > 3))
+      {
+         InvalidRequest exc("Subframe "+StringUtils::asString(subframe)+
+                            " is not a valid ephemeris subframe.");
+         GPSTK_THROW(exc);
+      }
+
+      return haveSubframe[subframe-1];
+   }
+
+   void EngEphemeris :: setAccuracy(const double& acc)
+      throw(gpstk::InvalidParameter)
+   {
+      if( acc < 0 )
+      {
+         InvalidParameter exc("SV Accuracy of " + StringUtils::asString(acc) +
+                              " meters is invalid.");
+         GPSTK_THROW(exc);
+      }
+      accuracy = acc;
+      accFlag = gpstk::accuracy2ura(acc);
+   }
+
+   Xvt EngEphemeris :: svXvt(const DayTime& t) const
+      throw(InvalidRequest)
+   {
+      Xvt sv;
+
+      double ea;              /* eccentric anomaly */
+      double delea;           /* delta eccentric anomaly during iteration */
+      double elapte;          /* elapsed time since Toe */
+      double elaptc;          /* elapsed time since Toc */
+      double dtc,dtr,q,sinea,cosea;
+      double GSTA,GCTA;
+      double A;               /* semi-major axis */
+      double amm;
+      double meana;           /* mean anomaly */
+      double F,G;             /* temporary real variables */
+      double alat,talat,c2al,s2al,du,dr,di,U,R,truea,AINC;
+      double ANLON,cosu,sinu,xip,yip,can,san,cinc,sinc;
+      double xef,yef,zef,dek,dlk,div,domk,duv,drv;
+      double dxp,dyp,vxef,vyef,vzef;
+      GPSGeoid geoid;
+
+      double sqrtgm = sqrt(geoid.gm());
+
+         // Check for ground transmitter
+      double twoPI = 2.0e0 * PI;
+      bool igtran;              // ground transmitter flag
+      double lecc;               // eccentricity
+      double tdrinc;            // dt inclination
+      if (getAhalf() < 2550.0e0 )
+      {
+         igtran = true;
+         lecc = 0.0e0;
+         tdrinc = 0.0e0;
+      }
+      else
+      {
+         igtran = false;
+         lecc = getEcc();
+         tdrinc = getIDot();
+      }
+
+         // Compute time since ephemeris & clock epochs
+      elapte = t - getEphemerisEpoch();
+      elaptc = t - getEpochTime();
+   
+
+         // Compute mean motion
+      A = getA();
+      amm  = (sqrtgm / (A*getAhalf())) + getDn();
+
+
+         // In-plane angles
+         //     meana - Mean anomaly
+         //     ea    - Eccentric anomaly
+         //     truea - True anomaly
+      if (!igtran)
+         meana = getM0() + elapte * amm;
+      else
+         meana = getM0();
+      meana = fmod(meana, twoPI);
+   
+      ea = meana + lecc * sin(meana);
+
+      int loop_cnt = 1;
+      do  {
+         F = meana - ( ea - lecc * sin(ea));
+         G = 1.0 - lecc * cos(ea);
+         delea = F/G;
+         ea = ea + delea;
+         loop_cnt++;
+      } while ( (fabs(delea) > 1.0e-11 ) && (loop_cnt <= 20) );
+
+         // Compute clock corrections
+      dtc = getAf0() + elaptc * getAf1() + elaptc * elaptc * getAf2();
+      dtr = REL_CONST * lecc * getAhalf() * sin(ea);
+      sv.dtime = dtc + dtr;
+      sv.ddtime = getAf1() + elaptc * getAf2();
+   
+         // Compute true anomaly
+      q = sqrt ( 1.0e0 - lecc*lecc);
+      sinea = sin(ea);
+      cosea = cos(ea);
+      G = 1.0e0 - lecc * cosea;
+   
+         //  G*SIN(TA) AND G*COS(TA)
+      GSTA  = q * sinea;
+      GCTA  = cosea - lecc;
+
+         //  True anomaly
+      truea = atan2 ( GSTA, GCTA );
+
+         // Argument of lat and correction terms (2nd harmonic)
+      alat = truea + getW();
+      talat = 2.0e0 * alat;
+      c2al = cos( talat );
+      s2al = sin( talat );
+
+      du  = c2al * getCuc() +  s2al * getCus();
+      dr  = c2al * getCrc() +  s2al * getCrs();
+      di  = c2al * getCic() +  s2al * getCis();
+
+         // U = updated argument of lat, R = radius, AINC = inclination
+      U    = alat + du;
+      R    = getA()*G  + dr;
+      AINC = getI0() + tdrinc * elapte  +  di;
+
+         //  Longitude of ascending node (ANLON)
+      if (!igtran)
+         ANLON = getOmega0() + (getOmegaDot() - geoid.angVelocity()) *
+            elapte - geoid.angVelocity() * getToe();
+      else
+         ANLON = getOmega0() - getOmegaDot() * getToe();
+
+         // In plane location
+      cosu = cos( U );
+      sinu = sin( U );
+
+      xip  = R * cosu;
+      yip  = R * sinu;
+
+         //  Angles for rotation to earth fixed
+      can  = cos( ANLON );
+      san  = sin( ANLON );
+      cinc = cos( AINC  );
+      sinc = sin( AINC  );
+ 
+         // Earth fixed - meters
+      xef  =  xip*can  -  yip*cinc*san;
+      yef  =  xip*san  +  yip*cinc*can;
+      zef  =              yip*sinc;
+
+      sv.x[0] = xef;
+      sv.x[1] = yef;
+      sv.x[2] = zef;
+
+         // Compute velocity of rotation coordinates
+      dek = amm * A / R;
+      dlk = getAhalf() * q * sqrtgm / (R*R);
+      div = tdrinc - 2.0e0 * dlk *
+         ( getCic()  * s2al - getCis() * c2al );
+      domk = getOmegaDot() - geoid.angVelocity();
+      duv = dlk*(1.e0+ 2.e0 * (getCus()*c2al - getCuc()*s2al) );
+      drv = A * lecc * dek * sinea - 2.e0 * dlk *
+         ( getCrc() * s2al - getCrs() * c2al );
+
+      dxp = drv*cosu - R*sinu*duv;
+      dyp = drv*sinu + R*cosu*duv;
+
+         // Calculate velocities
+      vxef = dxp*can - xip*san*domk - dyp*cinc*san
+         + yip*( sinc*san*div - cinc*can*domk);
+      vyef = dxp*san + xip*can*domk + dyp*cinc*can
+         - yip*( sinc*can*div + cinc*san*domk);
+      vzef = dyp*sinc + yip*cinc*div;
+
+         // Move results into output variables
+      sv.v[0] = vxef;
+      sv.v[1] = vyef;
+      sv.v[2] = vzef;
+
+      return sv;
+   }
+
+   double EngEphemeris::svRelativity(const DayTime& t) const
+      throw(gpstk::InvalidRequest)
+   {
+      GPSGeoid geoid;
+      double twoPI = 2.0e0 * PI;
+      double sqrtgm = sqrt(geoid.gm());
+      double elapte = t - getEphemerisEpoch();
+      double elaptc = t - getEpochTime();
+      double A = getA();
+      double amm  = (sqrtgm / (A*getAhalf())) + getDn();
+      double meana,lecc,F,G,delea;
+      
+      if (getAhalf() < 2550.0e0 ) { lecc = 0.0e0; meana = getM0(); }
+      else { lecc = getEcc(); meana = getM0() + elapte * amm; }
+      meana = fmod(meana, twoPI);
+      double ea = meana + lecc * sin(meana);
+
+      int loop_cnt = 1;
+      do  {
+         F = meana - ( ea - lecc * sin(ea));
+         G = 1.0 - lecc * cos(ea);
+         delea = F/G;
+         ea = ea + delea;
+         loop_cnt++;
+      } while ( (fabs(delea) > 1.0e-11 ) && (loop_cnt <= 20) );
+      double dtr = REL_CONST * lecc * getAhalf() * sin(ea);
+      return dtr;
+   }
+
+   double EngEphemeris::svClockBias(const DayTime& t) const
+      throw(gpstk::InvalidRequest)
+   {
+      double dtc,elaptc;
+      elaptc = t - getEpochTime();
+      dtc = getAf0() + elaptc * getAf1() + elaptc * elaptc * getAf2();
+      return dtc;
+   }
+
+   double EngEphemeris::svClockDrift(const DayTime& t) const
+      throw(gpstk::InvalidRequest)
+   {
+      double drift,elaptc;
+      elaptc = t - getEpochTime();
+      drift = getAf1() + elaptc * getAf2();
+      return drift;
+   }
+
+   short EngEphemeris :: getFitInterval() const
+      throw(InvalidRequest)
+   {
+      short iodc = getIODC();
+      short fiti = getFitInt();
+
+         /* check the IODC */
+      if (iodc < 0 || iodc > 1023)
+      {
+            /* error in iodc, return minimum fit */
+         return 4;
+      }
+      
+      if (((fiti == 0) &&
+           (iodc & 0xFF) < 240 || (iodc & 0xFF) > 255 ))
+      {
+            /* fit interval of 4 hours */
+         return 4;
+      }
+      else if (fiti == 1)
+      {
+         if( ((iodc & 0xFF) < 240 || (iodc & 0xFF) > 255))
+         {
+               /* fit interval of 6 hours */
+            return 6;
+         }
+         else if(iodc >=240 && iodc <=247)
+         {
+               /* fit interval of 8 hours */
+            return 8;
+         }
+         else if(iodc >= 248 && iodc <= 255 || iodc == 496)
+         {
+               /* fit interval of 14 hours */
+            return 14;
+         }
+         else if(iodc >= 497 && iodc <=503)
+         {
+               /* fit interval of 26 hours */
+            return 26;
+         }
+         else if(iodc >= 504 && iodc <=510)
+         {
+               /* fit interval of 50 hours */
+            return 50;
+         }
+         else if(iodc == 511 || iodc >= 752 && iodc <= 756)
+         {
+               /* fit interval of 74 hours */
+            return 74;
+         }
+         else if(iodc >= 757 && iodc <= 763)
+         {
+               /* fit interval of 98 hours */
+            return 98;
+         }
+         else if(iodc >= 764 && iodc <=767 || iodc >=1008 && iodc <=1010)
+         {
+               /* fit interval of 122 hours */
+            return 122;
+         }
+         else if(iodc >= 1011 && iodc <=1020)
+         {
+               /* fit interval of 146 hours */
+            return 146;
+         }
+         else
+         {
+               /* error in the iodc or ephemeris, return minimum
+                  fit */
+            return 4;
+         }
+      }
+      else
+      {
+            /* error in ephemeris/iodc, return minimum fit */
+         return 4;
+      }
+      
+      return 0; // never reached
+   }
+   
+   unsigned EngEphemeris::getTLMMessage(short subframe) const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[subframe-1])
+      {
+         InvalidRequest exc("Subframe "+StringUtils::asString(subframe)+
+                            " not stored.");
+         GPSTK_THROW(exc);
+      }
+      return tlm_message[subframe-1];
+   }
+      
+    DayTime EngEphemeris::getTransmitTime() const
+       throw(InvalidRequest)
+    {
+       DayTime toReturn(0.L);
+       toReturn.setGPSfullweek(getFullWeek(), (double)getTot());
+       return toReturn;
+    }
+
+   DayTime EngEphemeris::getEpochTime() const
+      throw(InvalidRequest)
+   {
+      DayTime toReturn(0.L);
+      if ( (getToc() - getHOWTime(1)) < -DayTime::HALFWEEK)
+         toReturn.setGPSfullweek(getFullWeek() + 1, getToc());
+      else if ( (getToc() - getHOWTime(1)) > DayTime::HALFWEEK)
+         toReturn.setGPSfullweek(getFullWeek() - 1, getToc());
+      else
+         toReturn.setGPSfullweek(getFullWeek(), getToc());
+      return toReturn;
+   }
+
+   DayTime EngEphemeris::getEphemerisEpoch() const
+      throw(InvalidRequest)
+   {
+      DayTime toReturn(0.L);
+      if ( (getToe() - getHOWTime(1)) < -DayTime::HALFWEEK)
+         toReturn.setGPSfullweek(getFullWeek() + 1, getToe());
+      else if ( (getToe() - getHOWTime(1)) > DayTime::HALFWEEK)
+         toReturn.setGPSfullweek(getFullWeek() - 1, getToe());
+      else
+         toReturn.setGPSfullweek(getFullWeek(), getToe());
+      return toReturn;
+   }
+
+   short EngEphemeris::getPRNID() const
+      throw(InvalidRequest)
+   {
+      if(!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return PRNID;
+   }
+   
+   short EngEphemeris::getTracker() const
+      throw(InvalidRequest)
+   {
+      if(!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return tracker;
+   }
+   
+   double EngEphemeris::getHOWTime(short subframe) const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[subframe-1])
+      {
+         InvalidRequest exc("Subframe "+StringUtils::asString(subframe)+
+                            " not stored.");
+         GPSTK_THROW(exc);
+      }
+         // this return as a double is necessary for sets into DayTime 
+         // to not get confused.  Ints are Zcounts whereas doubles are seconds
+      return (double) HOWtime[subframe-1];
+   }
+
+   short EngEphemeris::getASAlert(short subframe)  const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[subframe-1])
+      {
+         InvalidRequest exc("Subframe "+StringUtils::asString(subframe)+
+                            " not stored.");
+         GPSTK_THROW(exc);
+      }
+      return ASalert[subframe-1];
+   }
+   
+   short EngEphemeris::getFullWeek()  const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return weeknum;
+   }
+   
+   short EngEphemeris::getCodeFlags()  const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return codeflags;
+   }
+   
+   double EngEphemeris::getAccuracy()  const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return accuracy;
+   }
+   
+   short EngEphemeris::getAccFlag()  const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return accFlag;
+   }
+   
+   short EngEphemeris::getHealth() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return health;
+   }
+   
+   short EngEphemeris::getL2Pdata() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return L2Pdata;
+   }
+   
+   short EngEphemeris::getIODC() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return (short)IODC;
+   }
+   
+   short EngEphemeris::getIODE() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[1])
+      {
+         InvalidRequest exc("Required subframe 2 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return (short)IODE;
+   }
+   
+   double EngEphemeris::getToc() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return Toc;
+   }
+   
+   double EngEphemeris::getAf0() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return af0;
+   }
+   
+   double EngEphemeris::getAf1() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return af1;
+   }
+   
+   double EngEphemeris::getAf2() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return af2;
+   }
+   
+   double EngEphemeris::getTgd() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return Tgd;
+   }
+   
+   double EngEphemeris::getCus() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[1])
+      {
+         InvalidRequest exc("Required subframe 2 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return Cus;
+   }
+   
+   double EngEphemeris::getCrs() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[1])
+      {
+         InvalidRequest exc("Required subframe 2 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return Crs;
+   }
+   
+   double EngEphemeris::getCis() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[2])
+      {
+         InvalidRequest exc("Required subframe 3 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return Cis;
+   }
+   
+   double EngEphemeris::getCrc() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[2])
+      {
+         InvalidRequest exc("Required subframe 3 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return Crc;
+   }
+   
+   double EngEphemeris::getCuc() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[1])
+      {
+         InvalidRequest exc("Required subframe 2 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return Cuc;
+   }
+  
+   double EngEphemeris::getCic() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[2])
+      {
+         InvalidRequest exc("Required subframe 3 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return Cic;
+   }
+   
+   double EngEphemeris::getToe() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[1])
+      {
+         InvalidRequest exc("Required subframe 2 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return Toe;
+   }
+   
+   double EngEphemeris::getM0() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[1])
+      {
+         InvalidRequest exc("Required subframe 2 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return M0;
+   }
+   
+   double EngEphemeris::getDn() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[1])
+      {
+         InvalidRequest exc("Required subframe 2 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return dn;
+   }
+   
+   double EngEphemeris::getEcc() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[1])
+      {
+         InvalidRequest exc("Required subframe 2 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return ecc;
+   }
+   
+   double EngEphemeris::getAhalf() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[1])
+      {
+         InvalidRequest exc("Required subframe 2 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return Ahalf;
+   }
+   
+   double EngEphemeris::getA() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[1])
+      {
+         InvalidRequest exc("Required subframe 2 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return Ahalf * Ahalf;
+   }
+   
+   double EngEphemeris::getOmega0() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[2])
+      {
+         InvalidRequest exc("Required subframe 3 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return OMEGA0;
+   }
+   
+   double EngEphemeris::getI0() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[2])
+      {
+         InvalidRequest exc("Required subframe 3 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return i0;
+   }
+   
+   double EngEphemeris::getW() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[2])
+      {
+         InvalidRequest exc("Required subframe 3 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return w;
+   }
+   
+   double EngEphemeris::getOmegaDot() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[2])
+      {
+         InvalidRequest exc("Required subframe 3 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return OMEGAdot;
+   }
+   
+   double EngEphemeris::getIDot() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[2])
+      {
+         InvalidRequest exc("Required subframe 3 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return idot;
+   }
+   
+   short EngEphemeris::getFitInt() const
+      throw(InvalidRequest)
+   {
+      if (!haveSubframe[1])
+      {
+         InvalidRequest exc("Required subframe 2 not stored.");
+         GPSTK_THROW(exc);
+      }
+      return fitint;
+   }
+
+   long EngEphemeris::getTot() const 
+      throw(InvalidRequest)
+   {
+      if(!haveSubframe[0])
+      {
+         InvalidRequest exc("Required subframe 1 not stored.");
+         GPSTK_THROW(exc);
+      }
+      if(!haveSubframe[1])
+      {
+         InvalidRequest exc("Required subframe 2 not stored.");
+         GPSTK_THROW(exc);
+      }
+      if(!haveSubframe[2])
+      {
+         InvalidRequest exc("Required subframe 3 not stored.");
+         GPSTK_THROW(exc);
+      }
+      
+      // MSVC
+#ifdef _MSC_VER
+      long foo = static_cast<long>( getHOWTime(1) < getHOWTime(2) ) ? getHOWTime(1) : getHOWTime(2);
+      foo = ( foo < getHOWTime(3) ) ? foo : getHOWTime(3) ;
+#else
+      long foo = 
+         static_cast<long>( min( getHOWTime(1), 
+                                 min( getHOWTime(2), getHOWTime(3) ) ) );
+#endif
+         // The ephemeris comes on 30 second boundaries, so...
+      foo/=30;  
+      foo*=30;
+      return foo;
+   }
+   
+   EngEphemeris& EngEphemeris::setSF1( unsigned tlm, double how, short asalert, 
+                                       short fullweek, short cflags, short acc, 
+                                       short svhealth, short iodc, short l2pdata,
+                                       double tgd, double toc, double Af2,
+                                       double Af1, double Af0, short Tracker, 
+                                       short prn )
+      throw()
+   {
+
+      tlm_message[0] = tlm;
+      HOWtime[0] = static_cast<long>( how );
+      ASalert[0] = asalert;
+      weeknum    = fullweek;
+      codeflags  = cflags;
+      accFlag    = acc;
+      health     = svhealth;
+      IODC       = iodc;
+      L2Pdata    = l2pdata;
+      Tgd        = tgd;
+      Toc        = toc;
+      af2        = Af2;
+      af1        = Af1;
+      af0        = Af0;
+      tracker    = Tracker;
+      PRNID      = prn;
+      haveSubframe[0] = true;
+      // convert the accuracy flag to a value... 
+      accuracy = gpstk::ura2accuracy(accFlag);
+      return *this;
+   }
+
+   EngEphemeris& EngEphemeris::setSF2( unsigned tlm, double how, short asalert,
+                                       short iode, double crs, double Dn, 
+                                       double m0, double cuc, double Ecc, 
+                                       double cus, double ahalf, double toe, 
+                                       short fitInt )
+      throw()
+   {
+      tlm_message[1] = tlm;
+      HOWtime[1] = static_cast<long>( how );
+      ASalert[1] = asalert;
+      IODE       = iode;
+      Crs        = crs;
+      dn         = Dn;
+      M0         = m0;
+      Cuc        = cuc;
+      ecc        = Ecc;
+      Cus        = cus;
+      Ahalf      = ahalf;
+      Toe        = toe;
+      fitint     = fitInt;
+      haveSubframe[1] = true;
+      return *this;
+   }
+
+
+   EngEphemeris& EngEphemeris::setSF3( unsigned tlm, double how, short asalert,
+                                       double cic, double Omega0, double cis, 
+                                       double I0, double crc, double W, 
+                                       double OmegaDot, double IDot )
+      throw()
+   {
+      tlm_message[2] = tlm;
+      HOWtime[2] = static_cast<long>( how );
+      ASalert[2] = asalert;
+      Cic        = cic;
+      OMEGA0     = Omega0;
+      Cis        = cis;
+      i0         = I0;
+      Crc        = crc;
+      w          = W;
+      OMEGAdot   = OmegaDot;
+      idot       = IDot;
+      haveSubframe[2] = true;
+      return *this;
+   }
+   
+   static void timeDisplay( ostream & os, const gpstk::DayTime& t)
+   {
+         // Convert to daytime struct from GPS wk,SOW to M/D/Y, H:M:S.
+      os << setw(4) << t.GPSfullweek() << "(";
+      os << setw(4) << t.GPS10bitweek() << ")  ";
+      os << setw(6) << setfill(' ') << t.GPSsecond() << "   ";
+
+      switch (t.GPSday())
+      {
+         case 0: os << "Sun-0"; break;
+         case 1: os << "Mon-1"; break;
+         case 2: os << "Tue-2"; break;
+         case 3: os << "Wed-3"; break;
+         case 4: os << "Thu-4"; break;
+         case 5: os << "Fri-5"; break;
+         case 6: os << "Sat-6"; break;
+         default: break;
+      }
+      os << "   " << t.printf("%3j   %5.0s   %02m/%02d/%04Y   %02H:%02M:%02S");
+   }
+
+
+   static void shortcut(ostream & os, const long HOW )
+   {
+      short DOW, hour, min, sec;
+      long SOD, SOW;
+      short SOH;
+      
+      SOW = static_cast<long>( HOW );
+      DOW = static_cast<short>( SOW / DayTime::SEC_DAY );
+      SOD = SOW - static_cast<long>( DOW * DayTime::SEC_DAY );
+      hour = static_cast<short>( SOD/3600 );
+
+      SOH = static_cast<short>( SOD - (hour*3600) );
+      min = SOH/60;
+
+      sec = SOH - min * 60;
+      switch (DOW)
+      {
+         case 0: os << "Sun-0"; break;
+         case 1: os << "Mon-1"; break;
+         case 2: os << "Tue-2"; break;
+         case 3: os << "Wed-3"; break;
+         case 4: os << "Thu-4"; break;
+         case 5: os << "Fri-5"; break;
+         case 6: os << "Sat-6"; break;
+         default: break;
+      }
+
+      os << ":" << setfill('0')
+         << setw(2) << hour
+         << ":" << setw(2) << min
+         << ":" << setw(2) << sec
+         << setfill(' ');
+   }
+
+   void EngEphemeris :: dump(ostream& s) const
+   {
+      ios::fmtflags oldFlags = s.flags();
+   
+      s.setf(ios::fixed, ios::floatfield);
+      s.setf(ios::right, ios::adjustfield);
+      s.setf(ios::uppercase);
+      s.precision(0);
+      s.fill(' ');
+      
+      s << "****************************************************************"
+        << "************" << endl
+        << "Broadcast Ephemeris (Engineering Units)" << endl
+        << endl
+        << "PRN : " << setw(2) << PRNID << endl
+        << endl;
+  
+
+      s << "              Week(10bt)     SOW     DOW   UTD     SOD"
+        << "   MM/DD/YYYY   HH:MM:SS\n";
+      s << "Clock Epoch:  ";
+      timeDisplay(s, getEpochTime());
+      s << endl;
+      s << "Eph Epoch:    ";
+      timeDisplay(s, getEphemerisEpoch());
+      s << endl;
+  
+#if 0
+         // FIX when moved from sf123, the tot got zapped.. because in
+         // order for engephemeris to be able to use such a thing, it
+         // needs to be pulled out of as-broadcast bits somehow.
+      s << "Transmit time:" << setw(4) << weeknum << ", sow=" << Tot.GPSsecond() << endl
+        << "Fit interval flag :  " << setw(2) << fitint
+        << " (" << fitintlen << " hours)" << endl;
+#elsif 0
+      s << "Transmit time:" << setw(4) << weeknum << endl
+        << "Fit interval flag :  " << setw(2) << fitint
+        << " (" << getFitInt() << " hours)" << endl;
+#endif
+         // nuts to the above, let's just make it look like navdump output
+      s << "Transmit Week:" << setw(4) << weeknum << endl
+        << "Fit interval flag :  " << fitint << endl;      
+      
+      s << endl
+        << "          SUBFRAME OVERHEAD"
+        << endl
+        << endl
+        << "               SOW    DOW:HH:MM:SS     IOD    ALERT   A-S\n";
+      for (int i=0;i<3;i++)
+      {
+         s << "SF" << setw(1) << (i+1)
+           << " HOW:   " << setw(7) << HOWtime[i]
+           << "  ";
+         
+         shortcut( s, HOWtime[i]);
+         if (i==0)
+            s << "   ";
+         else
+            s << "    ";
+         
+         s << "0x" << setfill('0') << hex;
+         
+         if (i==0)
+            s << setw(3) << IODC;
+         else
+            s << setw(2) << IODE;
+         
+         s << dec << "      " << setfill(' ');
+         
+         if (ASalert[i] & 0x0002)    // "Alert" bit handling
+            s << "1     ";
+         else
+            s << "0     ";
+         
+         if (ASalert[i] & 0x0001)     // A-S flag handling
+            s << " on";
+         else
+            s << "off";
+         s << endl;
+      }
+      
+      s.setf(ios::scientific, ios::floatfield);
+      s.precision(8);
+      
+      s << endl
+        << "           CLOCK"
+        << endl
+        << endl
+        << "Bias T0:     " << setw(16) << af0 << " sec" << endl
+        << "Drift:       " << setw(16) << af1 << " sec/sec" << endl
+        << "Drift rate:  " << setw(16) << af2 << " sec/(sec**2)" << endl
+        << "Group delay: " << setw(16) << Tgd << " sec" << endl;
+      
+      s << endl
+        << "           ORBIT PARAMETERS"
+        << endl
+        << endl
+        << "Semi-major axis:       " << setw(16) << Ahalf  << " m**.5" << endl
+        << "Motion correction:     " << setw(16) << dn     << " rad/sec"
+        << endl
+        << "Eccentricity:          " << setw(16) << ecc    << endl
+        << "Arg of perigee:        " << setw(16) << w      << " rad" << endl
+        << "Mean anomaly at epoch: " << setw(16) << M0     << " rad" << endl
+        << "Right ascension:       " << setw(16) << OMEGA0 << " rad    "
+        << setw(16) << OMEGAdot << " rad/sec" << endl
+        << "Inclination:           " << setw(16) << i0     << " rad    "
+        << setw(16) << idot     << " rad/sec" << endl;
+      
+      s << endl
+        << "           HARMONIC CORRECTIONS"
+        << endl
+        << endl
+        << "Radial        Sine: " << setw(16) << Crs << " m    Cosine: "
+        << setw(16) << Crc << " m" << endl
+        << "Inclination   Sine: " << setw(16) << Cis << " rad  Cosine: "
+        << setw(16) << Cic << " rad" << endl
+        << "In-track      Sine: " << setw(16) << Cus << " rad  Cosine: "
+        << setw(16) << Cuc << " rad" << endl;   
+      
+      s << endl
+        << "           SV STATUS"
+        << endl
+        << endl
+        << "Health bits:   0x" << setfill('0')  << setw(2) << health
+        << "      URA index: " << setfill(' ') << setw(4) << accFlag << endl
+        << "Code on L2:   ";
+      
+      switch (codeflags)
+      {
+         case 0:
+            s << "reserved ";
+            break;
+            
+         case 1:
+            s << " P only  ";
+            break;
+            
+         case 2:
+            s << " C/A only";
+            break;
+            
+         case 3:
+            s << " P & C/A ";
+            break;
+            
+         default:
+            break;
+            
+      }
+      
+      s << "    L2 P Nav data:          ";
+      if (L2Pdata!=0)
+         s << "off";
+      else
+         s << "on";
+      
+      s << endl
+        << endl;
+      s.flags(oldFlags);
+      
+   } // end of SF123::dump()
+   
+   ostream& operator<<(ostream& s, const EngEphemeris& eph)
+   {
+      eph.dump(s);
+      return s;
+
+/* this appears to be more like the dump_eph_table routine of gappc
+ * which dumped the bce table.
+
+      s.setf(ios::right);
+      s << "prn:" << setw(2) << eph.PRNID
+        << ", HOW[0]:" << hex  << setfill('0') << setw(5) << eph.getHOWTime(1)
+        << ", IODC:" << hex << setw(3) << eph.getIODC()
+        << dec << setfill(' ') << setw(0)
+        << ", Toe: [" << eph.getToc()-1800*eph.getFitInt()
+        << "..." << eph.getToc()+1800*eph.getFitInt()
+        << ")";
+*/
+   } // end of operator<<
+
+} // namespace
diff --git a/trunk/src/EngEphemeris.hpp b/trunk/src/EngEphemeris.hpp
new file mode 100644
index 0000000..4327eed
--- /dev/null
+++ b/trunk/src/EngEphemeris.hpp
@@ -0,0 +1,494 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EngEphemeris.hpp#7 $"
+
+/**
+ * @file EngEphemeris.hpp
+ * Ephemeris data encapsulated in engineering terms
+ */
+
+#ifndef GPSTK_ENGEPHEMERIS_HPP
+#define GPSTK_ENGEPHEMERIS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "EngNav.hpp"
+#include "Exception.hpp"
+#include "DayTime.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup ephemcalc */
+   //@{
+
+      /**
+       * Ephemeris information for a single satellite.  This class
+       * encapsulates the ephemeris navigation message (subframes 1-3)
+       * and provides functions to decode the as-broadcast
+       * ephemerides.
+       */
+   class EngEphemeris : public EngNav
+   {
+   public:
+         /// Default constructor
+      EngEphemeris() throw();
+
+         /// Destructor
+      virtual ~EngEphemeris() {}
+
+         /**
+          * Store a subframe in this object.
+          * @param subframe ten word navigation subframe stored in the
+          * 30 least-significant bits of each array index.
+          * @param gpsWeek full GPS week number.
+          * @param PRN PRN ID of source satellite.
+          * @param track tracking number (typically receiver channel number).
+          * @return true if successful.
+          * @throw InvalidParameter if subframe is valid but not subframe 1-3.
+          */
+      bool addSubframe(const long subframe[10], const int gpsWeek,
+                       short PRN, short track)
+         throw(gpstk::InvalidParameter);
+       
+         /**
+          * Store a subframe in this object.  This method is provided in 
+          * order to allow construction of an EngEphemeris object for
+          * cases where a receiver only provides the 24 msb of each
+          * word and strips the parity.l  
+          * @param subframe ten word navigation subframe (minus the six
+          * parity bits) stored in the 24 least-significant bits of
+          * each array index.
+          * @param gpsWeek full GPS week number.
+          * @param PRN PRN ID of source satellite.
+          * @param track tracking number (typically receiver channel number).
+          * @return true if successful.
+          * @throw InvalidParameter if subframe is valid but not subframe 1-3.
+          */
+      bool addSubframeNoParity(const long subframe[10],
+                               const long gpsWeek,
+                               const short PRN,
+                               const short track)
+         throw(gpstk::InvalidParameter);
+
+         /**
+          * Store a subframe in this object.  This method is provided in
+          * order to provide a path to a EngEphemeris object for cases 
+          * where a receiver only provides words 3-10 of subframes 1-3.  
+          * @note: It is important to appropriately determine the transmit
+          * time of the data.  The parameters sf1TransmitSOW and gpsWeek
+          * should be consistent and should represent the time when the
+          * data in sf1, sf2, and sf3 were received.  As a general rule, 
+          * the transmit time should be somewhere in the range of 0-2 hours
+          * BEFORE the epoch time of the ephemeris.  
+          * @note: EngEphemeris objects built via this method will not
+          * contain valid TLM message data, A-S flags, and "Alert" bits.
+          * Methods getTLMMesage() and getASAlert() should not be used.
+          * @param sf1 words 3-10 of navigation subframe1 stored in the
+          * 30 least-significant bits of each array index.
+          * @param sf2 words 3-10 of navigation subframe 2
+          * @param sf3 words 3-10 of navigation subframe 3
+          * @param sf1TransmitSOW time (in GPS seconds of week) corresponding
+          * to leading edge of first bit of subframe 1 
+          * @param gpsWeek full GPS week number.
+          * @param PRN PRN ID of source satellite.
+          * @param track tracker number (typically receiver channel number).
+          * @return true if successful.
+          */
+      bool EngEphemeris::addIncompleteSF1Thru3(
+         const long sf1[8], const long sf2[8], const long sf3[8], 
+         const long sf1TransmitSOW, const int gpsWeek,
+         const short PRN, const short track);
+
+         /**
+          * Query presence of subframe in this object.
+          * @param subframe subframe ID (1-3) to check.
+          * @return true if the given subframe is present in this object.
+          * @throw InvalidParameter if subframe is not a valid
+          *   ephemeris subframe number.
+          */
+      bool isData(short subframe) const throw(gpstk::InvalidRequest);
+
+         /**
+          * Set the value of the SV accuracy (in meters).  This is the only
+          * "set" method and is provided so that one can set the SV
+          * accuracy directly and thereby override the conversion of the
+          * SV accuracy flag to meters.  This is usually used when entering
+          * data from some source other than an SV nav message.  
+          * @note Subsequent use of the addSubframe(), with subframe 1 info,
+          * or the setSF1() methods will overwrite any value set using this 
+          * method.
+          * @note This function converts the given accuracy to the appropriate
+          * SV accuracy flag and stores it in the accFlag data member.
+          * @param acc the new value of SV accuracy in meters.
+          * @throw InvalidParameter if the given accuracy value is invalid.
+          */
+      void setAccuracy(const double& acc) throw(gpstk::InvalidParameter);
+      
+         /**
+          * This computes and returns the fit interval for the
+          * satellite ephemeris from the IODC and the fit interval
+          * flag.  This fit interval is centered around the Toe (time
+          * of ephemeris) for the ephemeris.  See Table 20-XIA in the
+          * ICD-GPS-200 and section 20.3.3.4.3.1 for more information.
+          * @return the fit interval in hours (0 = failure).
+          * @throw InvalidRequest if data is missing.
+          */
+      short getFitInterval() const throw(gpstk::InvalidRequest);
+
+         /// Return 0x8b, the upper 5 bits of the 22-bit TLM word.
+         // kinda pointless, huh?
+      unsigned char getTLMPreamble() const throw() { return 0x8b; }
+
+         /// Return the lower 16 bits of the TLM word for the given subframe.
+      unsigned getTLMMessage(short subframe) const 
+         throw(gpstk::InvalidRequest);
+            
+         /// Extracts the epoch time from this ephemeris, correcting
+         /// for half weeks and HOW time
+      DayTime getEphemerisEpoch() const throw(InvalidRequest);
+
+         /// Extracts the epoch time (time of clock) from this ephemeris, correcting
+         /// for half weeks and HOW time
+      DayTime getEpochTime() const throw(gpstk::InvalidRequest);
+
+         /// Extracts the transmit time from the ephemeris using the Tot
+      DayTime getTransmitTime() const throw(gpstk::InvalidRequest);
+      
+         /// used for template functions
+      DayTime getTimestamp() const throw(gpstk::InvalidRequest)
+         { return getEpochTime(); }
+     
+         /** This function returns the PRN ID of the SV. */
+      short getPRNID() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the tracker number. */
+      short getTracker() const throw(gpstk::InvalidRequest);
+
+         /** This function returns the time of the HOW in subframe
+          * 1 or 2 or 3 in seconds of week. */
+      double getHOWTime(short subframe) const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the A-S alert flag for either
+          * subframe 1 or 2 or 3. */
+      short getASAlert(short subframe) const throw(gpstk::InvalidRequest);
+      
+         /** This function return the GPS week number for the
+          * ephemeris.  this is the full GPS week (ie > 10 bits). */
+      short getFullWeek() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the values of the L2 codes. */
+      short getCodeFlags() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the SV accuracy (m)
+          * computed from the accuracy flag in the nav message, or
+          * as set by the setAccuracy() method. */
+      double getAccuracy() const throw(gpstk::InvalidRequest);
+
+         /** This function returns the flag based on the SV accuracy
+          * flag as it appears in the nav message. */
+      short getAccFlag() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the SV health flag. */
+      short getHealth() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the L2 P-code data
+          * flag. */
+      short getL2Pdata() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the IODC for the given PRN. */
+      short getIODC() const throw(gpstk::InvalidRequest);
+      
+         /** This function return the IODE for the ephemeris. */
+      short getIODE() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the clock epoch in GPS seconds of
+          * week. */
+      double getToc() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the SV clock error in seconds. */
+      double getAf0() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the SV clock drift in
+          * seconds/seconds. */
+      double getAf1() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the SV clock rate of change of the
+          * drift in seconds/(seconds*seconds). */
+      double getAf2() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the group delay
+          * differential in seconds. */
+      double getTgd() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the sine latitude
+          * harmonic perturbation in radians. */
+      double getCus() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the sine radius
+          * harmonic perturbation in meters. */
+      double getCrs() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the sine inclination
+          * harmonic perturbation in radians. */
+      double getCis() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the cosine radius
+          * harmonic perturbation in meters. */
+      double getCrc() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the cosine latitude
+          * harmonic perturbation in radians. */
+      double getCuc() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the cosine inclination
+          * harmonic perturbation in radians. */
+      double getCic() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the time of ephemeris
+          * in GPS seconds of week. */
+      double getToe() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the mean anomaly in
+          * radians. */
+      double getM0() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the correction to the
+          * mean motion in radians/second. */
+      double getDn() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the eccentricity. */
+      double getEcc() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the square root of the
+          * semi-major axis in square root of meters. */
+      double getAhalf() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the semi-major axis in
+          * meters. */
+      double getA() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the right ascension of
+          * the ascending node in radians. */
+      double getOmega0() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the inclination in
+          * radians. */
+      double getI0() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the argument of
+          * perigee in radians. */
+      double getW() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the rate of the right
+          * ascension of the ascending node in radians/second. */
+      double getOmegaDot() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the rate of the
+          * inclination in radians/second. */
+      double getIDot() const throw(gpstk::InvalidRequest);
+      
+         /** Compute satellite velocity/position at the given time
+          * using this ephemeris.
+          * @throw InvalidRequest if a required subframe has not been stored.
+          */
+      Xvt svXvt(const DayTime& t) const throw(gpstk::InvalidRequest);
+
+         /** Compute satellite relativity correction (m) at the given time
+          * @throw InvalidRequest if a required subframe has not been stored.
+          */
+      double svRelativity(const DayTime& t) const throw(gpstk::InvalidRequest);
+
+         /** Compute the satellite clock bias (sec) at the given time
+          * @throw InvalidRequest if a required subframe has not been stored.
+          */
+      double svClockBias(const DayTime& t) const throw(gpstk::InvalidRequest);
+
+         /** Compute the satellite clock drift (sec/sec) at the given time
+          * @throw InvalidRequest if a required subframe has not been stored.
+          */
+      double svClockDrift(const DayTime& t) const throw(gpstk::InvalidRequest);
+
+         /** This function returns the value of the fit interval
+          * flag. */
+      short getFitInt() const throw(gpstk::InvalidRequest);
+      
+         /** This function returns the value of the ephemeris key that
+          * is used to sort the ephemerides when they are stored in
+          * the bcetable. */
+      double getEphkey() const throw(gpstk::InvalidRequest);
+
+         /** This function returnst the value of the Time of Transmit.
+          * Basically just the earliest of the HOWs. */
+      long getTot() const throw(gpstk::InvalidRequest);
+      
+         /** Set the values contained in SubFrame 1.
+          * @param tlm the new value for the TLM word
+          * @param how the new value for the HOW
+          * @param asalert the new falue for the A-S alert flag
+          * @param fullweek the new value for the full GPS week
+          * @param cflags the nve values for the L2 code flags
+          * @param acc the new value for the SV accuracy flag
+          * @param svhealth the new value for the SV health 
+          * @param iodc the new value for the IODC 
+          * @param l2pdata the new value for the L2 P-code data flag
+          * @param tgd the new value for the Tgd
+          * @param toc the new value for the clock epoch
+          * @param Af2 the new value for Af2
+          * @param Af1 the new value for Af1
+          * @param Af0 the new value for Af0
+          * @param Tracker the new value of the tracker number 
+          * @param prn the new value of the PRN ID
+          * @return a reference to the modified EngEphemeris object
+          */
+      EngEphemeris& setSF1( unsigned tlm, double how, short asalert, short fullweek,
+                            short cflags, short acc, short svhealth, short iodc,
+                            short l2pdata, double tgd, double toc, double Af2,
+                            double Af1, double Af0, short Tracker, short prn )
+         throw();
+
+      
+         /** Set the values contained in SubFrame 2.
+          * @param tlm the new value for the TLM word
+          * @param how the new value for the HOW
+          * @param asalert the new falue for the A-S alert flag
+          * @param iode the new value for the IODE
+          * @param crs the new value for the Crs
+          * @param m0 the new value for M0
+          * @param Dn the new value for Dn
+          * @param cuc the new value for the Cuc
+          * @param Ecc the new value for the Ecc
+          * @param cus the new value for the Cus
+          * @param ahalf the new value for Ahalf
+          * @param toe the new value for the Toe
+          * @param fitInt the new value for the fit interval flag
+          * @return a reference to the modified EngEphemeris object
+          */
+      EngEphemeris& setSF2( unsigned tlm, double how, short asalert, short iode,
+                            double crs, double Dn, double m0, double cuc, double Ecc,
+                            double cus, double ahalf, double toe, short fitInt )
+         throw();
+      
+         /** Set the values contained in SubFrame 2.
+          * @param tlm the new value for the TLM word
+          * @param how the new value for the HOW
+          * @param asalert the new falue for the A-S alert flag
+          * @param cic the new value for the Cic 
+          * @param Omega0 the enw value for Omega0
+          * @param cis the new value for the Cis
+          * @param I0 the new value for I0
+          * @param crc the new value for the Crc
+          * @param W the new value for W
+          * @param OmegaDot the new value for OmegaDot
+          * @param IDot the new value for IDot
+          * @return a reference to the modified EngEphemeris object
+          */
+      EngEphemeris& setSF3( unsigned tlm, double how, short asalert, double cic,
+                            double Omega0, double cis, double I0, double crc,
+                            double W, double OmegaDot, double IDot )
+         throw();
+      
+         /// Output the contents of this ephemeris to the given stream.
+      void dump(std::ostream& s = std::cout) const;
+
+   protected:
+      bool haveSubframe[3];/**< flags indicating presence of a subframe */
+
+         /// Ephemeris overhead information
+         //@{
+      unsigned short tlm_message[3];
+      short PRNID;         /**< SV PRN ID */
+      short tracker;       /**< Tracker number */
+      long HOWtime[3];     /**< Time of subframe 1-3 (sec of week) */
+      short ASalert[3];    /**< A-S and "alert" flags for each subframe */
+      short weeknum;       /**< GPS full week number that corresponds to the HOWtime of SF1 */
+      short codeflags;     /**< L2 codes */
+      double accuracy;      /**< SV accuracy (m)*/
+      short accFlag;       /**< User Range Accuracy (URA) the accuracy flag */
+      short health;        /**< SV health */
+      short L2Pdata;       /**< L2 P data flag */
+      short IODC;         /**< Index of data-clock  */
+      short IODE;         /**< Index of data-eph    */
+         //@}
+      
+         /// Clock information
+         //@{
+      double   Toc;           /**< Clock epoch (sec of week) */
+      double   af0;           /**< SV clock error (sec) */
+      double   af1;           /**< SV clock drift (sec/sec) */
+      double   af2;           /**< SV clock drift rate (sec/sec**2) */
+      double   Tgd;           /**< Group delay differential (sec) */
+         //@}
+
+         /// Harmonic perturbations
+         //@{
+      double   Cuc;           /**< Cosine latitude (rad) */
+      double   Cus;           /**< Sine latitude (rad) */
+      double   Crc;           /**< Cosine radius (m) */
+      double   Crs;           /**< Sine radius (m) */
+      double   Cic;           /**< Cosine inclination (rad) */
+      double   Cis;           /**< Sine inclination (rad) */
+         //@}
+
+         /// Major ephemeris parameters
+         //@{
+      double   Toe;           /**< Ephemeris epoch (sec of week) */
+      double   M0;            /**< Mean anomaly (rad) */
+      double   dn;            /**< Correction to mean motion (rad/sec) */
+      double   ecc;           /**< Eccentricity */
+      double   Ahalf;         /**< SQRT of semi-major axis (m**1/2) */
+      double   OMEGA0;        /**< Rt ascension of ascending node (rad) */
+      double   i0;            /**< Inclination (rad) */
+      double   w;             /**< Argument of perigee (rad) */
+      double   OMEGAdot;      /**< Rate of Rt ascension (rad/sec) */
+      double   idot;          /**< Rate of inclination angle (rad/sec) */
+      short fitint;           /**< Fit interval flag */
+         //@}
+
+      friend std::ostream& operator<<(std::ostream& s, 
+                                      const EngEphemeris& eph);
+
+   }; // class EngEphemeris
+
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/EngNav.cpp b/trunk/src/EngNav.cpp
new file mode 100644
index 0000000..9ed5435
--- /dev/null
+++ b/trunk/src/EngNav.cpp
@@ -0,0 +1,677 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EngNav.cpp#4 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file EngNav.cpp
+ * Engineering units navigation message abstraction.
+ */
+
+#include <cstdlib>
+#include <iostream>
+#include <cmath>
+#include "EngNav.hpp"
+#include "icd_200_constants.hpp"
+
+#ifdef _MSC_VER
+#define LDEXP(x,y) ldexp(x,y)
+#else
+#define LDEXP(x,y) std::ldexp(x,y)
+#endif
+
+namespace gpstk
+{
+   /// DecodeBits .
+   struct DecodeBits
+   {
+      short startBit;
+      short numBits;
+   };
+
+      /** DecodeQuant contains the information necessary to decode
+       * a given quantity for a particular navigation message
+       * subframe. */
+   struct DecodeQuant
+   {
+      short outIndex;    ///< Output array index (0-19)
+      short pow2;        ///< Power of 2 to scale factor
+      short powPI;       ///< Power of PI scale factor
+      double scale;      ///< Scalar scale factor
+      short signq;       ///< 0 = unsigned, 1 = signed
+      DecodeBits fmt[2]; ///< start bit, #bits for up to 2 sections
+      DecodeQuant *nxtq; ///< Pointer to next structure in list
+   };
+
+      /** Pointers to list of subframe conversions.  There are ten
+       * formats numbered 1-10.  Index 0 is unused. */
+   static DecodeQuant *subframeList[11];
+
+      /// Table of powers of PI, initialized in EngNav().
+   static double PItab[7] = {0,0,0,0,0,0,0};
+
+   static DecodeQuant formats[] = {
+      { 0,   0,  0,  1.0L, 0,{ { 1, 8} , { 0, 0} },  0 },     /* Preamble */
+      { 1,   0,  0,  1.0L, 0,{ { 9, 14}, { 0, 0} },  0 },     /* Message  */
+      { 2,   0,  0,  6.0L, 0,{ { 31,17}, { 0, 0} },  0 },     /* HOW      */
+      { 3,   0,  0,  1.0L, 0,{ { 48, 2}, { 0, 0} },  0 },     /* "alert"  */
+      { 4,   0,  0,  1.0L, 0,{ { 50, 3}, { 0, 0} },  0 },    /* SF ID    */
+      { 5,   0,  0,  1.0L, 0,{ { 61, 10},{ 0, 0} },  0 },    /* week #   */
+      { 6,   0,  0,  1.0L, 0,{ { 71,  2},{ 0, 0} },  0}, /* L2 code  */
+      { 7,   0,  0,  1.0L, 0,{ { 73,  4},{ 0, 0} },  0}, /* accuracy */
+      { 8,   0,  0,  1.0L, 0,{ { 77,  6},{ 0, 0} },  0}, /* health   */
+      { 9,  11,  0,  1.0L, 0,{ { 83,  2},{ 211,8}},  0}, /* AODC     */
+      { 10,   0,  0, 1.0L, 0,{ { 91,  1},{ 0,  0}},  0}, /* L2 P     */
+      { 11, -31,  0, 1.0L, 1,{ {197,  8},{ 0,  0}},  0}, /* Tgd      */
+      { 12,   4,  0,  1.0L, 0,{ {219, 16},{ 0,  0}},  0}, /* Toc      */
+      { 13, -55,  0,  1.0L, 1,{ {241,  8},{ 0,  0}},  0}, /* Af2      */
+      { 14, -43,  0,  1.0L, 1,{ {249, 16},{ 0,  0}},  0}, /* Af1      */
+      { 15, -31,  0,  1.0L, 1,{ {271, 22}, {0,  0}},  0}, /* Af0      */
+         /* Pattern 2 */
+      {0,   0,  0,  1.0L, 0,{ {  1 , 8},  {0,  0  }},  0 }, /* Preamble */
+      {1,   0,  0,  1.0L, 0,{ {  9, 14},  { 0, 0  }},  0 }, /* Message  */
+      {2,   0,  0,  6.0L, 0,{ {  31,17},  { 0, 0  }},  0 }, /* HOW      */
+      {3,   0,  0,  1.0L, 0,{ {  48, 2},  { 0, 0  }},  0 }, /* "alert"  */
+      {4,   0,  0,  1.0L, 0,{ { 50,  3},  { 0, 0  }},  0 }, /* SF ID    */
+      {5,  11,  0,  1.0L, 0,{ {  61, 8 }, { 0, 0  }},  0 }, /* AODE     */
+      {6,  -5,  0,  1.0L, 1,{ {  69, 16 }, { 0, 0  }},  0 }, /* Crs      */
+      {7, -43,  1,  1.0L, 1,{ {  91,16 }, { 0, 0  }}, 0 }, /* delta n  */
+      {8, -31,  1,  1.0L, 1,{ { 107, 8 }, {121,24 }}, 0 }, /* M0       */
+      {9, -29,  0,  1.0L, 1,{ { 151, 16}, { 0,  0 }}, 0}, /* Cuc      */
+      {10, -33, 0,  1.0L, 0,{ { 167,  8}, {181,24 }},  0}, /* ecc      */
+      {11, -29, 0,  1.0L, 1,{ {  211,16}, { 0, 0  }},  0}, /* Cus      */
+      {12, -19, 0,  1.0L, 0,{ {  227, 8}, {241, 24 }},  0}, /* sqrt(A)  */
+      {13,   4, 0,  1.0L, 0,{ {  271,16}, { 0,  0 }},  0}, /* Toe      */
+      {14,   0, 0,  1.0L, 0,{ {  287, 1}, { 0,  0 }},  0}, /* fit init */
+         /* Pattern 3 */
+      {0,   0,  0,  1.0L, 0,{ {  1,  8},  { 0,  0 }},  0}, /* Preamble */
+      {1,   0,  0,  1.0L, 0,{ {  9, 14},  { 0,  0 }},  0}, /* Message  */
+      {2,   0,  0,  6.0L, 0,{ {  31,17},  { 0,  0 }},  0}, /* HOW      */
+      {3,   0,  0,  1.0L, 0,{ {  48, 2},  { 0,  0 }},  0}, /* "alert"  */
+      {4,   0,  0,  1.0L, 0,{ {  50, 3},  { 0,  0 }},  0}, /* SF ID    */
+      {5, -29,  0,  1.0L, 1,{ {  61,16},  { 0,  0 }},  0}, /* Cic      */
+      {6, -31,  1,  1.0L, 1,{ {   77,8},  { 91, 24}},  0}, /* OMEGA0   */
+      {7, -29,  0,  1.0L, 1,{ { 121,16},  { 0,  0 }},  0}, /* Cis      */
+      {8, -31,  1,  1.0L, 1,{ { 137, 8},  {151, 24}},  0}, /* i0       */
+      {9,  -5,  0,  1.0L, 1,{ { 181,16},  { 0,  0 }},  0}, /* Crc      */
+      {10, -31, 1,  1.0L, 1,{ { 197, 8},  {211, 24}},  0}, /* w        */
+      {11, -43, 1,  1.0L, 1,{ { 241,24},  { 0,  0 }},  0}, /* OMEGAdot */
+      {12,  11, 0,  1.0L, 0,{ { 271, 8},  { 0,  0 }},  0}, /* AODE     */
+      {13, -43, 1,  1.0L, 1,{ { 279,14},  { 0,  0 }},  0}, /* idot     */
+         /* Pattern 4 */
+      {0,   0,  0,  1.0L, 0,{ { 1,  8},  { 0,  0}},  0 }, /* Preamble */
+      {1,   0,  0,  1.0L, 0,{ { 9, 14},  { 0,  0}},   0}, /* Message  */
+      {2,   0,  0,  6.0L, 0,{ { 31,17},  { 0,  0}},   0}, /* HOW      */
+      {3,   0,  0,  1.0L, 0,{ { 48, 2},  { 0,  0}},   0}, /* "alert"  */
+      {4,   0,  0,  1.0L, 0,{ { 50, 3},  { 0,  0}},   0}, /* SF ID    */
+      {5,   0,  0,  1.0L, 0,{ { 61, 2},  { 0,  0}},   0}, /* Dataflag */
+      {6,   0,  0,  1.0L, 0,{ { 63, 6},  { 0,  0}},   0}, /* Page ID  */
+      {7, -21,  0,  1.0L, 0,{ { 69,16},  { 0,  0}},   0}, /* e        */
+      {8,  12,  0,  1.0L, 0,{ { 91, 8},  { 0,  0}},   0}, /* time ep  */
+      {9, -19,  1,  1.0L, 1,{ { 99,16},  { 0,  0}},   0}, /* i offset */
+      {10, -38,  1, 1.0L, 1,{ {121,16},  { 0,  0}},   0}, /* OMEGADOT */
+      {11,   0,  0, 1.0L, 0,{ {137, 8},  { 0,  0}},   0}, /* Health   */
+      {12, -11,  0, 1.0L, 0,{ {151,24},  { 0,  0}},  0}, /* SQRT(a)  */
+      {13, -23,  1, 1.0L, 1,{ {181,24},  { 0,  0}},  0}, /* OMEGA    */
+      {14, -23,  1, 1.0L, 1,{ {211,24},  { 0,  0}},  0}, /* w        */
+      {15, -23,  1, 1.0L, 1,{ {241,24},  { 0,  0}},  0}, /* Mean Ano */
+      {16, -20,  0, 1.0L, 1,{ {271, 8},  {290, 3}},  0}, /* AF0      */
+      {17, -38,  0, 1.0L, 1,{ {279,11},  { 0,  0}},  0}, /* AF1      */
+      {18,   0,  0, 1.0L, 0,{ { 0,  0},  { 0,  0}},  0}, /* REF WEEK */
+      {19,   0,  0, 1.0L, 0,{ { 63, 6},  { 0,  0}},  0}, /* PRN #    */
+      
+         /* Pattern 5 */
+      {0,   0,  0,  1.0L,  0,{ { 1,  8},   { 0,  0}},  0}, /* Preamble */
+      {1,   0,  0,  1.0L,  0,{ { 9, 14},   { 0,  0}},  0}, /* Message  */
+      {2,   0,  0,  6.0L,  0,{ {31, 17},   { 0,  0}},  0}, /* HOW      */
+      {3,   0,  0,  1.0L,  0,{ {48,  2},   { 0,  0}},  0}, /* "alert"  */
+      {4,   0,  0,  1.0L,  0,{ {50,  3},   { 0,  0}},  0}, /* SF ID    */
+      {5,   0,  0,  1.0L,  0,{ { 61, 2},   { 0,  0}},  0}, /* Dataflag */
+      {6,   0,  0,  1.0L,  0,{ { 63, 6},   { 0,  0}},  0}, /* Page ID  */
+      {7,   0,  0,  1.0L,  0,{ { 77, 8},   { 0,  0}},  0}, /* Refweek  */
+      {8,   0,  0,  1.0L,  0,{ { 91, 6},   { 0,  0}},  0}, /* SV1 Hlth */
+      {9,   0,  0,  1.0L,  0,{ { 97, 6},   { 0,  0}},  0}, /* SV2 Hlth */
+      {10,   0,  0,  1.0L, 0,{ { 103,6},   { 0,  0}},  0}, /* SV3 Hlth */
+      {11,   0,  0,  1.0L, 0,{ { 109,6},   { 0,  0}},  0}, /* SV4 Hlth */
+      {12,   0,  0,  1.0L, 0,{ { 121,6},   { 0,  0}},  0}, /* SV5 Hlth */
+      {13,   0,  0,  1.0L, 0,{ { 127,6},   { 0,  0}},  0}, /* SV6 Hlth */
+      {14,   0,  0,  1.0L, 0,{ { 133,6},   { 0,  0}},  0}, /* SV7 Hlth */
+      {15,   0,  0,  1.0L, 0,{ { 139,6},   { 0,  0}},  0}, /* SV8 Hlth */
+      {16,   0,  0,  1.0L, 0,{ { 151,6},   { 0,  0}},  0}, /* SV9 Hlth */
+      {17,   0,  0,  1.0L, 0,{ { 157,6},   { 0,  0}},  0}, /* SV10 Hlth*/
+      {18,   0,  0,  1.0L, 0,{ { 163,6},   { 0,  0}},  0}, /* SV11 Hlth*/
+      {19,   0,  0,  1.0L, 0,{ { 169,6},   { 0,  0}},  0}, /* SV12 Hlth*/
+      {20,   0,  0,  1.0L, 0,{ { 181,6},   { 0,  0}},  0}, /* SV13 Hlth*/
+      {21,   0,  0,  1.0L, 0,{ { 187,6},   { 0,  0}},  0}, /* SV14 Hlth*/
+      {22,   0,  0,  1.0L, 0,{ { 193,6},   { 0,  0}},  0}, /* SV15 Hlth*/
+      {23,   0,  0,  1.0L, 0,{ { 199,6},   { 0,  0}},  0}, /* SV16 Hlth*/
+      {24,   0,  0,  1.0L, 0,{ { 211,6},   { 0,  0}},  0}, /* SV17 Hlth*/
+      {25,   0,  0,  1.0L, 0,{ { 217,6},   { 0,  0}},  0}, /* SV18 Hlth*/
+      {26,   0,  0,  1.0L, 0,{ { 223,6},   { 0,  0}},  0}, /* SV19 Hlth*/
+      {27,   0,  0,  1.0L, 0,{ { 229,6},   { 0,  0}},  0}, /* SV20 Hlth*/
+      {28,   0,  0,  1.0L, 0,{ { 241,6},   { 0,  0}},  0}, /* SV21 Hlth*/
+      {29,   0,  0,  1.0L, 0,{ { 247,6},   { 0,  0}},  0}, /* SV22 Hlth*/
+      {30,   0,  0,  1.0L, 0,{ { 253,6},   { 0,  0}},  0}, /* SV23 Hlth*/
+      {31,   0,  0,  1.0L, 0,{ { 259,6},   { 0,  0}},  0}, /* SV24 Hlth*/
+         /* Pattern 6 */
+      {0,   0,  0,   1.0L, 0, { {  1,   8},{  0, 0}},  0}, /* Preamble */
+      {1,   0,  0,   1.0L, 0, { {  9,  14},{  0, 0}},  0}, /* Message  */
+      {2,   0,  0,   6.0L, 0, { {  31, 17},{  0, 0}},  0}, /* HOW      */
+      {3,   0,  0,   1.0L, 0, { {  48,  2},{  0, 0}},  0}, /* "alert"  */
+      {4,   0,  0,   1.0L, 0, { {  50,  3},{  0, 0}},  0}, /* SF ID    */
+      {5,   0,  0,   1.0L, 0, { {  61,  2},{  0, 0}},  0}, /* Dataflag */
+      {6,   0,  0,   1.0L, 0, { {  63,  6},{  0, 0}},  0}, /* Page ID  */
+      {7,   0,  0,   1.0L, 0, { {  69, 16},{  0, 0}},  0}, /* Reserved */
+      {8,   0,  0,   1.0L, 0, { {  91, 24},{  0, 0}},  0}, /* Reserved */
+      {9,   0,  0,   1.0L, 0, { { 121, 24},{  0, 0}},  0}, /* Reserved */
+      {10,  0,  0,   1.0L, 0, { { 151, 24},{  0, 0}},  0}, /* Reserved */
+      {11,  0,  0,   1.0L, 0, { { 181, 24},{  0, 0}},  0}, /* Reserved */
+      {12,  0,  0,   1.0L, 0, { { 211, 24},{  0, 0}},  0}, /* Reserved */
+      {13,  0,  0,   1.0L, 0, { { 241,  8},{  0, 0}},  0}, /* Reserved */
+      {14,  0,  0,   1.0L, 0, { {  249,16},{  0, 0}},  0}, /* Reserved */
+         /* Pattern 7 */
+      {0,   0,  0,  1.0L, 0, { { 1,   8}, { 0,  0} }, 0}, /* Preamble */
+      {1,   0,  0,  1.0L, 0, { { 9,  14}, { 0,  0} }, 0}, /* Message  */
+      {2,   0,  0,  6.0L, 0, { { 31, 17}, { 0,  0} }, 0}, /* HOW      */
+      {3,   0,  0,  1.0L, 0, { { 48,  2}, { 0,  0} }, 0}, /* "alert"  */
+      {4,   0,  0,  1.0L, 0, { { 50,  3}, { 0,  0} }, 0}, /* SF ID    */
+      {5,   0,  0,  1.0L, 0, { { 61,  2}, { 0,  0} }, 0}, /* Dataflag */
+      {6,   0,  0,  1.0L, 0, { { 63,  6}, { 0,  0} }, 0}, /* Page ID  */
+      {7,   0,  0,  1.0L, 0, { { 69, 16}, { 0,  0} }, 0}, /* Reserved */
+      {8,   0,  0,  1.0L, 0, { { 91, 24}, { 0,  0} }, 0}, /* Reserved */
+      {9,   0,  0,  1.0L, 0, { {121, 24}, { 0,  0} }, 0}, /* Reserved */
+      {10,  0,  0,  1.0L, 0, { {151, 24}, { 0,  0} }, 0}, /* Reserved */
+      {11,  0,  0,  1.0L, 0, { {181, 24}, { 0,  0} }, 0}, /* Reserved */
+      {12,  0,  0,  1.0L, 0, { {211, 24}, { 0,  0} }, 0}, /* Reserved */
+      {13,  0,  0,  1.0L, 0, { {241,  8}, { 0,  0} }, 0}, /* Reserved */
+      {14,  0,  0,  1.0L, 0, { {249, 16}, { 0,  0} }, 0}, /* Reserved */
+         /* Pattern 8 */
+      {0,   0,  0,   1.0L, 0,{ { 1,   8},{  0, 0}},  0}, /* Preamble */
+      {1,   0,  0,   1.0L, 0,{ { 9,  14},{  0, 0}},  0}, /* Message  */
+      {2,   0,  0,   6.0L, 0,{ { 31, 17},{  0, 0}},  0}, /* HOW      */
+      {3,   0,  0,   1.0L, 0,{ { 48,  2},{  0, 0}},  0}, /* "alert"  */
+      {4,   0,  0,   1.0L, 0,{ { 50,  3},{  0, 0}},  0}, /* SF ID    */
+      {5,   0,  0,   1.0L, 0,{ { 61,  2},{  0, 0}},  0}, /* Dataflag */
+      {6,   0,  0,   1.0L, 0,{ { 63,  6},{  0, 0}},  0}, /* Page ID  */
+      {7, -30,  0,   1.0L, 1,{ { 69,  8},{  0, 0}},  0}, /* ALPHA0   */
+      {8, -27, -1,   1.0L, 1,{ { 77,  8},{  0, 0}},  0}, /* ALPHA1   */
+      {9, -24, -2,   1.0L, 1,{ { 91,  8},{  0, 0}},  0}, /* ALPHA2   */
+      {10, -24, -3,  1.0L, 1,{ { 99,  8},{  0, 0}},  0}, /* ALPHA3   */
+      {11,  11,  0,  1.0L, 1,{ { 107, 8},{  0, 0}},  0}, /* BETA0    */
+      {12,  14, -1,  1.0L, 1,{ { 121, 8},{  0, 0}},  0}, /* BETA1    */
+      {13,  16, -2,  1.0L, 1,{ { 129, 8},{  0, 0}},  0}, /* BETA2    */
+      {14,  16, -3,  1.0L, 1,{ { 137, 8},{  0, 0}},  0}, /* BETA3    */
+      {15, -30,  0,  1.0L, 1,{ { 181,24},{211, 8}},  0}, /* A0       */
+      {16, -50,  0,  1.0L, 1,{ { 151,24},{  0, 0}},  0}, /* A1       */
+      {17,  12,  0,  1.0L, 0,{ { 219, 8},{  0, 0}},  0}, /* Tot      */
+      {18,   0,  0,  1.0L, 0,{ { 227, 8},{  0, 0}},  0}, /* wnt      */
+      {19,   0,  0,  1.0L, 1,{ { 241, 8},{  0, 0}},  0}, /* DELTATLS */
+      {20,   0,  0,  1.0L, 0,{ { 249, 8},{  0, 0}},  0}, /* WN LSF   */
+      {21,   0,  0,  1.0L, 0,{ { 257, 8},{  0, 0}},  0}, /* DN       */
+      {22,   0,  0,  1.0L, 1,{ { 271, 8},{  0, 0}},  0}, /* DELTALSF */
+         /* Pattern 9 */
+      {0,  0,  0,  1.0L, 0, { {   1,  8}, { 0, 0}},  0}, /* Preamble */
+      {1,  0,  0,  1.0L, 0, { {   9, 14}, { 0, 0}},  0}, /* Message  */
+      {2,  0,  0,  6.0L, 0, { {  31, 17}, { 0, 0}},  0}, /* HOW      */
+      {3,  0,  0,  1.0L, 0, { {  48,  2}, { 0, 0}},  0}, /* "alert"  */
+      {4,  0,  0,  1.0L, 0, { {  50,  3}, { 0, 0}},  0}, /* SF ID    */
+      {5,  0,  0,  1.0L, 0, { {  61,  2}, { 0, 0}},  0}, /* Dataflag */
+      {6,  0,  0,  1.0L, 0, { {  63,  6}, { 0, 0}},  0}, /* Page ID  */
+      {7,  0,  0,  1.0L, 0, { {  69,  4}, { 0, 0}},  0}, /* SV1 cnfig*/
+      {8,  0,  0,  1.0L, 0, { {  73,  4}, { 0, 0}},  0}, /* SV2 cnfig*/
+      {9,  0,  0,  1.0L, 0, { {  77,  4}, { 0, 0}},  0}, /* SV3 cnfig*/
+      {10, 0,  0,  1.0L, 0, { {  81,  4}, { 0, 0}},  0}, /* SV4 cnfig*/
+      {11, 0,  0,  1.0L, 0, { {  91,  4}, { 0, 0}},  0}, /* SV5 cnfig*/
+      {12, 0,  0,  1.0L, 0, { {  95,  4}, { 0, 0}},  0}, /* SV6 cnfig*/
+      {13, 0,  0,  1.0L, 0, { {  99,  4}, { 0, 0}},  0}, /* SV7 cnfig*/
+      {14, 0,  0,  1.0L, 0, { { 103,  4}, { 0, 0}},  0}, /* SV8 cnfig*/
+      {15, 0,  0,  1.0L, 0, { { 107,  4}, { 0, 0}},  0}, /* SV9 cnfig*/
+      {16, 0,  0,  1.0L, 0, { { 111,  4}, { 0, 0}},  0}, /* SV10 cnfig*/
+      {17, 0,  0,  1.0L, 0, { { 121,  4}, { 0, 0}},  0}, /* SV11 cnfig*/
+      {18, 0,  0,  1.0L, 0, { { 125,  4}, { 0, 0}},  0}, /* SV12 cnfig*/
+      {19, 0,  0,  1.0L, 0, { { 129,  4}, { 0, 0}},  0}, /* SV13 cnfig*/
+      {20, 0,  0,  1.0L, 0, { { 133,  4}, { 0, 0}},  0}, /* SV14 cnfig*/
+      {21, 0,  0,  1.0L, 0, { { 137,  4}, { 0, 0}},  0}, /* SV15 cnfig*/
+      {22, 0,  0,  1.0L, 0, { { 141,  4}, { 0, 0}},  0}, /* SV16 cnfig*/
+      {23, 0,  0,  1.0L, 0, { { 151,  4}, { 0, 0}},  0}, /* SV17 cnfig*/
+      {24, 0,  0,  1.0L, 0, { { 155,  4}, { 0, 0}},  0}, /* SV18 cnfig*/
+      {25, 0,  0,  1.0L, 0, { { 159,  4}, { 0, 0}},  0}, /* SV19 cnfig*/
+      {26, 0,  0,  1.0L, 0, { { 163,  4}, { 0, 0}},  0}, /* SV20 cnfig*/
+      {27, 0,  0,  1.0L, 0, { { 167,  4}, { 0, 0}},  0}, /* SV21 cnfig*/
+      {28, 0,  0,  1.0L, 0, { { 171,  4}, { 0, 0}},  0}, /* SV22 cnfig*/
+      {29, 0,  0,  1.0L, 0, { { 181,  4}, { 0, 0}},  0}, /* SV23 cnfig*/
+      {30, 0,  0,  1.0L, 0, { { 185,  4}, { 0, 0}},  0}, /* SV24 cnfig*/
+      {31, 0,  0,  1.0L, 0, { { 189,  4}, { 0, 0}},  0}, /* SV25 cnfig*/
+      {32, 0,  0,  1.0L, 0, { { 193,  4}, { 0, 0}},  0}, /* SV26 cnfig*/
+      {33, 0,  0,  1.0L, 0, { { 197,  4}, { 0, 0}},  0}, /* SV27 cnfig*/
+      {34, 0,  0,  1.0L, 0, { { 201,  4}, { 0, 0}},  0}, /* SV28 cnfig*/
+      {35, 0,  0,  1.0L, 0, { { 211,  4}, { 0, 0}},  0}, /* SV29 cnfig*/
+      {36, 0,  0,  1.0L, 0, { { 215,  4}, { 0, 0}},  0}, /* SV30 cnfig*/
+      {37, 0,  0,  1.0L, 0, { { 219,  4}, { 0, 0}},  0}, /* SV31 cnfig*/
+      {38, 0,  0,  1.0L, 0, { { 223,  4}, { 0, 0}},  0}, /* SV32 cnfig*/
+      {39, 0,  0,  1.0L, 0, { { 229,  6}, { 0, 0}},  0}, /* SV25 Hlth */
+      {40, 0,  0,  1.0L, 0, { { 241,  6}, { 0, 0}},  0}, /* SV26 Hlth */
+      {41, 0,  0,  1.0L, 0, { { 247,  6}, { 0, 0}},  0}, /* SV27 Hlth */
+      {42, 0,  0,  1.0L, 0, { { 253,  6}, { 0, 0}},  0}, /* SV28 Hlth */
+      {43, 0,  0,  1.0L, 0, { { 259,  6}, { 0, 0}},  0}, /* SV29 Hlth */
+      {44, 0,  0,  1.0L, 0, { { 271,  6}, { 0, 0}},  0}, /* SV30 Hlth */
+      {45, 0,  0,  1.0L, 0, { { 277,  6}, { 0, 0}},  0}, /* SV31 Hlth */
+      {46, 0,  0,  1.0L, 0, { { 283,  6}, { 0, 0}},  0}, /* SV32 Hlth */
+         /* Pattern 10 */
+      {0,   0,  0,  1.0L, 0,{ {  1,   8}, {  0, 0}},  0}, /* Preamble */
+      {1,   0,  0,  1.0L, 0,{ {  9,  14}, {  0, 0}},  0}, /* Message  */
+      {2,   0,  0,  6.0L, 0,{ {  31, 17}, {  0, 0}},  0}, /* HOW      */
+      {3,   0,  0,  1.0L, 0,{ {  48,  2}, {  0, 0}},  0}, /* "alert"  */
+      {4,   0,  0,  1.0L, 0,{ {  50,  3}, {  0, 0}},  0}, /* SF ID    */
+      {5,   0,  0,  1.0L, 0,{ {  61,  2}, {  0, 0}},  0}, /* Dataflag */
+      {6,   0,  0,  1.0L, 0,{ {  63,  6}, {  0, 0}},  0}, /* Page ID  */
+      {7,   0,  0,  1.0L, 0,{ {  69,  8}, {  0, 0}},  0}, /* ASCII    */
+      {8,   0,  0,  1.0L, 0,{ {  77,  8}, {  0, 0}},  0}, /* ASCII    */
+      {9,   0,  0,  1.0L, 0,{ {  91,  8}, {  0, 0}},  0}, /* ASCII    */
+      {10,  0,  0,  1.0L, 0,{ {  99,  8}, {  0, 0}},  0}, /* ASCII    */
+      {11,  0,  0,  1.0L, 0,{ { 107,  8}, {  0, 0}},  0}, /* ASCII    */
+      {12,  0,  0,  1.0L, 0,{ { 121,  8}, {  0, 0}},  0}, /* ASCII    */
+      {13,  0,  0,  1.0L, 0,{ { 129,  8}, {  0, 0}},  0}, /* ASCII    */
+      {14,  0,  0,  1.0L, 0,{ { 137,  8}, {  0, 0}},  0}, /* ASCII    */
+      {15,  0,  0,  1.0L, 0,{ { 151,  8}, {  0, 0}},  0}, /* ASCII    */
+      {16,  0,  0,  1.0L, 0,{ { 159,  8}, {  0, 0}},  0}, /* ASCII    */
+      {17,  0,  0,  1.0L, 0,{ { 167,  8}, {  0, 0}},  0}, /* ASCII    */
+      {18,  0,  0,  1.0L, 0,{ { 181,  8}, {  0, 0}},  0}, /* ASCII    */
+      {19,  0,  0,  1.0L, 0,{ { 189,  8}, {  0, 0}},  0}, /* ASCII    */
+      {20,  0,  0,  1.0L, 0,{ { 197,  8}, {  0, 0}},  0}, /* ASCII    */
+      {21,  0,  0,  1.0L, 0,{ { 211,  8}, {  0, 0}},  0}, /* ASCII    */
+      {22,  0,  0,  1.0L, 0,{ { 219,  8}, {  0, 0}},  0}, /* ASCII    */
+      {23,  0,  0,  1.0L, 0,{ { 227,  8}, {  0, 0}},  0}, /* ASCII    */
+      {24,  0,  0,  1.0L, 0,{ { 241,  8}, {  0, 0}},  0}, /* ASCII    */
+      {25,  0,  0,  1.0L, 0,{ { 249,  8}, {  0, 0}},  0}, /* ASCII    */
+      {26,  0,  0,  1.0L, 0,{ { 257,  8}, {  0, 0}},  0}, /* ASCII    */
+      {27,  0,  0,  1.0L, 0,{ { 271,  8}, {  0, 0}},  0}, /* ASCII    */
+      {28,  0,  0,  1.0L, 0,{ { 279,  8}, {  0, 0}},  0}, /* ASCII    */
+         /* Dummy pattern for constructor */
+      {0,   0,  0,  1.0L, 0,{{  0,    0}, {  0, 0}},  0}
+   };
+
+
+
+
+   EngNav::EngNav()
+      throw()
+   {
+      short i=0, n=0;
+      static short initialized = 0;
+
+      if (initialized)
+         return;
+
+         // Set up pointers within subframe format structure.
+      for (i=1; i<=10; i++)
+      {
+         subframeList[i] = &formats[n];
+         while (formats[n+1].outIndex != 0)
+         {
+            formats[n].nxtq = &formats[n+1];
+            n++;
+         }
+         formats[n].nxtq = NULL;
+         n++;
+      }
+
+         // Calculate powers of PI table.
+      PItab[3] = 1.0L;
+      for (i=0;i<=2;i++)
+      {
+         PItab[4+i] = PItab[3+i] * PI;
+         PItab[2-i] = PItab[3-i] / PI;
+      }
+
+      initialized = 1;
+   }
+
+   bool EngNav :: subframeConvert(const long input[10], 
+                                  const int gpsWeek,
+                                  double output[60])
+      throw()
+   {
+      short patId = -2, i = 2;
+      struct DecodeQuant *p=NULL;
+
+      for (i=0; i< 20; i++)
+         output[i] = 0.0L;
+
+         // Get subframe and page id and derive pattern number.
+      if ((patId = getSubframePattern(input)) == 0)
+         return false;
+
+         // convert each quantity in the list
+      p = subframeList[patId];
+      while (p != NULL)
+      {
+         convertQuant(input, output, p);
+         if(p->nxtq)
+            p = p->nxtq;
+         else
+            p = NULL;
+      }
+
+         // Almanac does not contain a reference week
+         // However we need to put one in the FIC version of the Almanac
+      if (patId==4)
+      {
+         output[18]= static_cast<double>( gpsWeek );
+      }
+
+         // Modify the 8-bit week numbers to be the full week numbers
+      if (patId == 8)
+      {
+         if (!convert8bit(gpsWeek, &output[18]))
+            return false;
+
+         if (!convert8bit(gpsWeek, &output[20]))
+            return false;
+      }
+
+         // Change the 10 bit week number in subframe 1 to full weeks
+      if (patId == 1)
+      {
+         if (!convert10bit(gpsWeek, &output[5]))
+            return false;
+      }
+
+      return true;
+   }
+
+   bool EngNav :: convert8bit(const int gpsWeek, double *output)
+      throw()
+   {
+      long high8bits, low8bits;
+      long target, diff;
+
+      high8bits = gpsWeek & 0xFFFFFF00L;
+      low8bits = gpsWeek & 0x000000FFL;
+
+      target = static_cast<long>( *output ) | high8bits;
+ 
+      diff = static_cast<long>( *output ) - low8bits;  
+      if (diff > 127)
+         target -= 256;
+      else if (diff < -127)
+         target += 256;
+
+      *output = static_cast<double>( target );
+
+      if ((target - gpsWeek > 127) || (target - gpsWeek < -127))
+         return false;
+
+      return true;
+   }
+
+   bool EngNav :: convert10bit(const int gpsWeek, double *output)
+      throw()
+   {
+      long high10bits, low10bits;
+      long target, diff;
+
+      high10bits = gpsWeek & 0xFFFFFC00L;
+      low10bits  = gpsWeek & 0x000003FFL;
+
+      target = static_cast<long>( *output ) | high10bits;
+ 
+      diff = static_cast<long>( *output ) - low10bits;  
+      if (diff > 511)
+         target -= 1024;
+      else if (diff < -511)
+         target += 1024;
+
+      *output = static_cast<double>( target );
+
+      if ((target - gpsWeek > 511) || (target - gpsWeek < -511))
+         return false;
+
+      return true;
+   }
+
+   short EngNav :: getSubframePattern(const long input[10])
+      throw()
+   {
+      short iret, svid;
+      long  itemp;
+
+      short patId[]
+         = {   5,   6,  6,   6, 10,  8,   6,  7,   7,  7,   7,  7,   9 };
+         /*SVid   51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 */
+
+         //  Get subframe id.  If 1-3 return as patId.
+      
+      itemp = input[1];         /* move HOW to temp storage         */
+      itemp >>= 8;           /* shift so subframe id is in 3 lsb */
+      itemp &= 0x00000007L;  /* and mask off msbs                */
+      iret = static_cast<short>( itemp );
+         /* Not a valid sf id */
+      if ( iret < 1 || iret > 5 )
+         return(0);
+      if ( iret < 4 )
+         return(iret);
+
+
+         /*   If subframe 1-5, get page id and look up patId      */
+      itemp = input[2];      /* move word 3 into temp storage    */
+      itemp >>= 22;          /* shift so SV ID is in 6 lsbs      */
+      itemp &= 0x0000003FL;  /* and mask off msbs                */
+      svid  = static_cast<short>( itemp );
+      if ( svid <= 32 )
+         iret = 4;            /* PRN orbit data */
+      else
+         iret = patId[svid-51];  /* look up pat id for almanac overhead
+                                    information */
+      return iret;
+   }
+
+   static short countSubframeOnes(long bits)
+   {
+      short i;
+      short count = 0;
+      long mask = 0x00000001;
+      
+      for (i=0;i < 30;i++)
+      {
+         if (bits&mask) count++;
+         mask <<= 1;
+      }
+      return count;
+   }
+
+   bool EngNav :: subframeParity(const long input[10])
+   {
+         /*
+           This function is largely table-driven.  The first table is bmask.
+           There is one element in bmask for each of the six parity bits.
+           Each element is a bit mask with bits set corresponding to the bits
+           which are to be exclusive-OR'd together to form the parity check
+           bit.  The following bit maps define the bmask array.  They were
+           drawn from table 20-XIV of ICD-GPS-200C (10 OCT 1993).
+           
+           Bit in navigation message
+      bit1                             bit 30
+           bit    12 3456 789. 1234 5678 9.12 3456 789.
+           ---    -------------------------------------
+           D25    11 1011 0001 1111 0011 0100 1000 0000
+           D26    01 1101 1000 1111 1001 1010 0100 0000
+           D27    10 1110 1100 0111 1100 1101 0000 0000
+           D28    01 0111 0110 0011 1110 0110 1000 0000
+           D29    10 1011 1011 0001 1111 0011 0100 0000
+           D30    00 1011 0111 1010 1000 1001 1100 0000
+         */
+      long bmask[6] = { 0x3B1F3480L, 0x1D8F9A40L, 0x2EC7CD00L,
+                        0x1763E680L, 0x2BB1F340L, 0x0B7A89C0L };
+         /*
+           the pmask array defines whether bit 29 or bit 30 of the
+           previous word is used in determining a given parity bit.
+           As with bmask, pmask is ordered from D25 to D30 and drawn
+           from Table 20-XIV of ICD-GPS-200C (10 OCT 1993).
+         */
+      long pmask[6] = {0x00000002, 0x00000001, 0x00000002,
+                           0x00000001, 0x00000001, 0x00000002 };
+      
+      long parity_bits;
+      long test_bits,temp;
+      short i,j,k,count;
+      
+         /*
+           Test word 1 for proper preamble
+         */
+      if ( (input[0] & 0x22C00000L) !=0x22C00000L )
+         return false;
+
+         /*
+           For each nav message word from 2-10.
+         */
+      for (i=1;i < 10;i++)
+      {
+         test_bits = 0x0L;        /* Clear the test parity word */
+            /* For each parity bit...     */
+         for (j=25;j<=30;j++)
+         {
+            k = j-25;
+               /* Build a single word which contains all
+                  bits which are to be XOR's together to
+                  determine this parity bit */
+            temp = input[i] & bmask[k];
+            
+               /* Then add in the state of *D29 or *D30
+                  as appropriate.  (Note that this info
+                  may be stored in bits 29/30 of temp
+                  since the parity bits (25-30) are never
+                  used in the parity calculation */
+            temp |=input[i-1] & pmask[k];
+            
+               /* Count the number of bits set in temp */
+            count = countSubframeOnes(temp);
+               /* Shift the test word left 1 bit  and add 
+                  in the status of the new bit.
+                  If count is odd, new bit is one.  If
+                  count is even, new bit is zero. */
+            test_bits <<= 1;
+            if (count%2) test_bits |= 0x00000001;
+         }
+            /* At this point, the six lsbs of test_bits are equal
+               to D25-D30 as determined by the parity algorithm.
+               Move D25-D30 as received into parity_bits.  Compare
+               the determined to the received.  If they do not match,
+               a parity failure has occurred.   */
+         parity_bits = input[i] & 0x0000003F;
+
+         if (parity_bits != test_bits)
+            return false;
+      }
+         /*
+           If words 2-10 have all passed parity check, return indicating
+           success.
+         */
+      return true;
+   }
+
+   void EngNav :: convertQuant(const long input[10], double output[60],
+                               DecodeQuant *p)
+      throw()
+   {
+      double dval;
+      short i, n, bit1, nword, nbit, lsb;
+      union equ
+      {
+         unsigned long u;
+         long s;
+      } temp;
+      long *b;
+      long mask;
+
+         // Convert starting bit number to word/bit pair
+      temp.u = 0x0L;
+      for (n=0; n<=1; n++)
+      {
+         if (p->fmt[n].startBit == 0)
+            break;
+         bit1 = p->fmt[n].startBit;
+         nword = (bit1-1) / 30;
+         nbit  = (bit1 % 30) + 1;
+
+         b = const_cast<long *>( input ) + nword;
+         for (i=0;i<p->fmt[n].numBits;i++)
+         {
+            temp.u <<= 1;
+            mask = 0x80000000L >> nbit++;
+            if (*b & mask)
+               temp.u++;
+            if (nbit>=32)
+            {
+               b++;
+               nbit = 0;
+            }
+         }
+      }
+
+         // Convert to double and scale
+      if (p->signq)
+      {
+         nbit = 32 - (p->fmt[0].numBits + p->fmt[1].numBits);
+         temp.u <<= nbit; // Move sign bit to msb
+         temp.s >>= nbit; // Move lsb back to right spot with sign extend
+         dval = temp.s;
+      }
+      else
+      {
+         if (temp.s >= 0)
+            dval = temp.u; // msb = 0
+         else              // msb = 1
+         {                 // This is a special case due to an Alliant bug
+            lsb = temp.u & 0x00000001L; // Store lsb value
+            temp.u >>= 1;               // Right shift 1 bit to clear msb
+            dval = temp.u;              // Move value to double
+            dval = LDEXP(dval,1);       // Multiply by 2 (left shift 1 bit)
+            dval = dval + lsb;          // Add lsb value back in
+         }
+      }
+      dval = dval * p->scale;             // Scale by scalar
+      dval = dval * PItab[ p->powPI+3 ];  // Scale by power of PI
+      dval = LDEXP(dval,p->pow2);         // Scale by power of 2
+      output[p->outIndex] = dval;         // Store result in output array
+   }
+
+} // namespace
diff --git a/trunk/src/EngNav.hpp b/trunk/src/EngNav.hpp
new file mode 100644
index 0000000..1f4d5a2
--- /dev/null
+++ b/trunk/src/EngNav.hpp
@@ -0,0 +1,176 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EngNav.hpp#5 $"
+
+/**
+ * @file EngNav.hpp
+ * Engineering units navigation message abstraction.
+ */
+
+#ifndef GPSTK_ENGNAV_HPP
+#define GPSTK_ENGNAV_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <sys/types.h>
+
+#include "gpstkplatform.h"
+
+namespace gpstk
+{
+   /** @addtogroup ephemcalc */
+   //@{
+
+   struct DecodeQuant;
+
+      /**
+       * Base class for ICD-GPS-200 navigation messages.  This class
+       * provides functions for decoding the bits in navigation
+       * message, and is the base class for all "engineering units"
+       * types.
+       */
+   class EngNav
+   {
+   public:
+         /// default constructor
+      EngNav() throw();
+
+         /// destructor
+      virtual ~EngNav() {}
+
+         /**
+          * Perform a parity check on a navigation message subframe.
+          * @return true if the parity check is successful.
+          */
+      static bool subframeParity(const long input[10]);
+
+         /**
+          * Given 10 words of a navigation message subframe (as
+          * defined in ICD-GPS-200), convert to the "appropriate" 60
+          * FIC floating point values.
+          * @param input array of ten 30-bit words (stored in the 30
+          * least-significant bits of each long.
+          * @param gpsWeek full (>10 bits) GPS week number.
+          * @param output 60 FIC floating point values as defined in
+          * the documentation for FIC blocks 9 and 62.
+          * @return true if successful.
+          */
+      static bool subframeConvert(const long input[10], 
+                                  const int gpsWeek,
+                                  double output[60])
+         throw();
+
+         /** Convert the week number in \c out from 8-bit to full
+          * using the full week number \c gpsWeek.
+          * @param gpsWeek source full week number.
+          * @param out 8-bit week number to convert to full
+          * @return true if source and target are within 127 weeks of
+          * each other.
+          */
+      static bool convert8bit(const int gpsWeek, double *out)
+         throw();
+
+         /** Convert the week number in \c out from 10-bit to full
+          * using the full week number \c gpsWeek.
+          * @param gpsWeek source full week number.
+          * @param out 10-bit week number to convert to full
+          * @return true if source and target are within 511 weeks of
+          * each other.
+          */
+      static bool convert10bit(const int gpsWeek, double *out)
+         throw();
+
+         /**
+          * Given a navigation message subframe, return the
+          * pattern number to be used in converting the
+          * subframe to engineering units.  The patterns are
+          * defined in the following table.  The numbers correspond
+          * to the ordering of the bit definitions in ICD-GPS-200
+          * Figure 20-1.
+          *
+          * Subframe #   SV_id   Pattern #
+          *     1         n/a        1
+          *     2         n/a        2
+          *     3         n/a        3
+          *     4        1-24        4
+          *     4          25        5
+          *     5          57        6
+          *     5       58-62        7
+          *     5          56        8
+          *     5          63        9
+          *     5       52-55       10
+          *
+          * @param input 10 long integers containing the ten words of
+          * the navigation message subframe.
+          * @return the pattern ID as defined in the above table.
+          */
+      static short getSubframePattern(const long input[10])
+         throw();
+
+   private:
+
+         /**
+          * Given 10 words of a navigation message subframe, in, and a
+          * structure, p, defining a particular conversion, perform
+          * the conversion and store the results in the appropriate
+          * location in the FIC F array, out.
+          *
+          * @param input words of navigation message subframe.  Each
+          * nav message word is in the 30 lsbs of the corresponding
+          * input[i].
+          *
+          * @param output array of 60 double which correspond to the
+          * section of a FIC F array.  The converted output will be
+          * placed in the output array at the location specified in
+          * the conversion specification.
+          *
+          * @param p pointer to structure defining conversion to be
+          * performed.
+          */
+      static void convertQuant(const long input[10], double output[60],
+                               DecodeQuant *p)
+         throw();
+   }; // class EngNav
+
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/EphemerisRange.cpp b/trunk/src/EphemerisRange.cpp
new file mode 100644
index 0000000..1f28977
--- /dev/null
+++ b/trunk/src/EphemerisRange.cpp
@@ -0,0 +1,230 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EphemerisRange.cpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file EphemerisRange.cpp
+ * Computation of range and associated quantities from EphemerisStore,
+ * given receiver position and time.
+ */
+
+#include "EphemerisRange.hpp"
+#include "MiscMath.hpp"
+#include "GPSGeoid.hpp"
+#include "icd_200_constants.hpp"
+#include "geometry.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+namespace gpstk
+{
+      // Compute the corrected range at RECEIVE time, from receiver at position Rx,
+      // to the GPS satellite given by PRN prn, as well as all the CER quantities,
+      // given the nominal receive time tr_nom and an EphemerisStore.
+   double CorrectedEphemerisRange::ComputeAtReceiveTime(const DayTime& tr_nom,
+                                                        const Position& Rx,
+                                                        const int prn,
+                                                        const EphemerisStore& Eph)
+   {
+   try {
+      int nit;
+      double tof,tof_old,wt,sx,sy;
+      GPSGeoid geoid;
+
+      nit = 0;
+      tof = 0.07;       // initial guess 70ms
+      do {
+            // best estimate of transmit time
+         transmit = tr_nom;
+         transmit -= tof;
+         tof_old = tof;
+            // get SV position
+         try {
+            svPosVel = Eph.getPrnXvt(prn,transmit);
+         }
+         catch(EphemerisStore::NoEphemerisFound& e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(InvalidRequest& ir)
+         {
+            EphemerisStore::NoEphemerisFound nef(ir);
+            GPSTK_THROW(nef);
+         }
+            // compute new time of flight
+         tof = RSS(svPosVel.x[0]-Rx.X(),
+                   svPosVel.x[1]-Rx.Y(),
+                   svPosVel.x[2]-Rx.Z());
+         tof /= geoid.c();
+            // correct for Earth rotation
+         wt = geoid.angVelocity()*tof;
+         sx =  cos(wt)*svPosVel.x[0] + sin(wt)*svPosVel.x[1];
+         sy = -sin(wt)*svPosVel.x[0] + cos(wt)*svPosVel.x[1];
+         svPosVel.x[0] = sx;
+         svPosVel.x[1] = sy;
+         sx =  cos(wt)*svPosVel.v[0] + sin(wt)*svPosVel.v[1];
+         sy = -sin(wt)*svPosVel.v[0] + cos(wt)*svPosVel.v[1];
+         svPosVel.v[0] = sx;
+         svPosVel.v[1] = sy;
+            // update raw range and time of flight
+         rawrange = RSS(svPosVel.x[0]-Rx.X(),
+                        svPosVel.x[1]-Rx.Y(),
+                        svPosVel.x[2]-Rx.Z());
+         tof = rawrange/geoid.c();
+
+      } while(ABS(tof-tof_old)>1.e-13 && ++nit<5);
+
+      relativity = RelativityCorrection(svPosVel) * C_GPS_M;
+      // relativity correction is added to dtime by the
+      // EphemerisStore::getPrnXvt routines...
+
+      svclkbias = svPosVel.dtime*C_GPS_M - relativity;
+      svclkdrift = svPosVel.ddtime * C_GPS_M;
+
+      cosines[0] = (Rx.X()-svPosVel.x[0])/rawrange;
+      cosines[1] = (Rx.Y()-svPosVel.x[1])/rawrange;
+      cosines[2] = (Rx.Z()-svPosVel.x[2])/rawrange;
+
+      Position SV(svPosVel);
+      elevation = Rx.elevation(SV);
+      azimuth = Rx.azimuth(SV);
+
+      return (rawrange-svclkbias-relativity);
+   }
+      catch(gpstk::Exception& e) {
+         GPSTK_RETHROW(e);
+      }
+   }  // end CorrectedEphemerisRange::ComputeAtReceiveTime
+
+      // Compute the corrected range at TRANSMIT time, from receiver at position Rx,
+      // to the GPS satellite given by PRN prn, as well as all the CER quantities,
+      // given the nominal receive time tr_nom and an EphemerisStore, as well as
+      // the raw measured pseudorange.
+   double CorrectedEphemerisRange::ComputeAtTransmitTime(const DayTime& tr_nom,
+                                                         const double& pr,
+                                                         const Position& Rx,
+                                                         const int prn,
+                                                         const EphemerisStore& Eph)
+   {
+   try {
+      unsigned long ref;
+      DayTime tt;
+      GPSGeoid geoid;
+
+      // 0-th order estimate of transmit time = receiver - pseudorange/c
+      transmit = tr_nom;
+      transmit -= pr/C_GPS_M;
+      tt = transmit;
+
+      // correct for SV clock
+      for(int i=0; i<2; i++) {
+         // get SV position
+         try {
+            svPosVel = Eph.getPrnXvt(prn,tt);
+         }
+         catch(EphemerisStore::NoEphemerisFound& e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(InvalidRequest& ir)
+         {
+            EphemerisStore::NoEphemerisFound nef(ir);
+            GPSTK_THROW(nef);
+         }
+         tt = transmit;
+         tt -= svPosVel.dtime;      // clock and relativity
+      }
+
+      // correct for Earth rotation
+      double tof = RSS(svPosVel.x[0]-Rx.X(),
+                       svPosVel.x[1]-Rx.Y(),
+                       svPosVel.x[2]-Rx.Z())/geoid.c();
+      double wt = geoid.angVelocity()*tof;
+      double sx =  cos(wt)*svPosVel.x[0] + sin(wt)*svPosVel.x[1];
+      double sy = -sin(wt)*svPosVel.x[0] + cos(wt)*svPosVel.x[1];
+      svPosVel.x[0] = sx;
+      svPosVel.x[1] = sy;
+      sx =  cos(wt)*svPosVel.v[0] + sin(wt)*svPosVel.v[1];
+      sy = -sin(wt)*svPosVel.v[0] + cos(wt)*svPosVel.v[1];
+      svPosVel.v[0] = sx;
+      svPosVel.v[1] = sy;
+      // raw range
+      rawrange = RSS(svPosVel.x[0]-Rx.X(),
+                     svPosVel.x[1]-Rx.Y(),
+                     svPosVel.x[2]-Rx.Z());
+
+      relativity = RelativityCorrection(svPosVel) * C_GPS_M;
+      // relativity correction is added to dtime by the
+      // EphemerisStore::getPrnXvt routines...
+
+      svclkbias = svPosVel.dtime*C_GPS_M - relativity;
+      svclkdrift = svPosVel.ddtime * C_GPS_M;
+
+      cosines[0] = (Rx.X()-svPosVel.x[0])/rawrange;
+      cosines[1] = (Rx.Y()-svPosVel.x[1])/rawrange;
+      cosines[2] = (Rx.Z()-svPosVel.x[2])/rawrange;
+
+      Position SV(svPosVel);
+      elevation = Rx.elevation(SV);
+      azimuth = Rx.azimuth(SV);
+
+      return (rawrange-svclkbias-relativity);
+   }
+   catch(gpstk::Exception& e) {
+      GPSTK_RETHROW(e);
+   }
+   }  // end CorrectedEphemerisRange::ComputeAtTransmitTime
+
+   double RelativityCorrection(const Xvt& svPosVel)
+   {
+      // relativity correction is added to dtime by the
+      // EphemerisStore::getPrnXvt routines...
+      // dtr = -2*dot(R,V)/(c*c) = -4.4428e-10(s/sqrt(m)) * ecc * sqrt(A(m)) * sinE
+      // compute it separately here, in units seconds.
+      double dtr = -2*(svPosVel.x[0]/C_GPS_M)*(svPosVel.v[0]/C_GPS_M)
+                  -2*(svPosVel.x[1]/C_GPS_M)*(svPosVel.v[1]/C_GPS_M)
+                  -2*(svPosVel.x[2]/C_GPS_M)*(svPosVel.v[2]/C_GPS_M);
+      return dtr;
+   }
+
+}  // namespace gpstk
diff --git a/trunk/src/EphemerisRange.hpp b/trunk/src/EphemerisRange.hpp
new file mode 100644
index 0000000..53a1808
--- /dev/null
+++ b/trunk/src/EphemerisRange.hpp
@@ -0,0 +1,115 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EphemerisRange.hpp#2 $"
+
+/**
+ * @file EphemerisRange.hpp
+ * Computation of range and associated quantities from EphemerisStore
+ */
+ 
+#ifndef EPHEMERIS_RANGE_HPP
+#define EPHEMERIS_RANGE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "DayTime.hpp"
+#include "Position.hpp"
+#include "EphemerisStore.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup ephemcalc */
+   //@{
+
+   /** class CorrectedEphemerisRange. Compute the corrected range from receiver
+    * at position Rx, to the GPS satellite given by PRN prn, as well as azimuth,
+    * elevation, etc., given a nominal timetag (either received or transmitted
+    * time) and an EphemerisStore.
+    */
+   class CorrectedEphemerisRange
+   {
+   public:
+         /// Default constructor.
+      CorrectedEphemerisRange() {}
+
+      /// Compute the corrected range at RECEIVE time, from receiver at
+      /// position Rx, to the GPS satellite given by PRN prn, as well as all
+      /// the CER quantities, given the nominal receive time tr_nom and
+      /// an EphemerisStore.
+      double ComputeAtReceiveTime(const DayTime& tr_nom,
+            const Position& Rx, const int prn, const EphemerisStore& Eph);
+
+      /// Compute the corrected range at TRANSMIT time, from receiver at
+      /// position Rx, to the GPS satellite given by PRN prn, as well as all
+      /// the CER quantities, given the nominal receive time tr_nom and
+      /// an EphemerisStore.
+      double ComputeAtTransmitTime(const DayTime& tr_nom, const double& pr,
+            const Position& Rx, const int prn, const EphemerisStore& Eph);
+
+      /// The computed raw (geometric) range in meters.
+      double rawrange;
+      /// The satellite clock bias in meters.
+      double svclkbias;
+      /// The satellite clock drift in m/s.
+      double svclkdrift;
+      /// The relativity correction in meters.
+      double relativity;
+      /// The satellite elevation, as seen at the receiver, in degrees.
+      double elevation;
+      /// The satellite azimuth, as seen at the receiver, in degrees.
+      double azimuth;
+      /// The computed transmit time of the signal.
+      DayTime transmit;
+      /// The direction cosines of the satellite, as seen at the receiver (XYZ).
+      Triple cosines;
+      /// The satellite position (m) and velocity (m/s) in ECEF coordinates.
+      Xvt svPosVel;
+
+   }; // end class CorrectedEphemerisRange
+
+   /// Compute relativity correction (meters) from the satellite position and velocity
+   double RelativityCorrection(const Xvt& svPosVel);
+
+   //@}
+
+}  // namespace gpstk
+
+#endif
diff --git a/trunk/src/EphemerisStore.hpp b/trunk/src/EphemerisStore.hpp
new file mode 100644
index 0000000..c26a76b
--- /dev/null
+++ b/trunk/src/EphemerisStore.hpp
@@ -0,0 +1,115 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EphemerisStore.hpp#4 $"
+
+/**
+ * @file EphemerisStore.hpp
+ * Base for ephemeris storage classes
+ */
+ 
+#ifndef GPSTK_EPHEMERISSTORE_HPP
+#define GPSTK_EPHEMERISSTORE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include <string>
+#include <list>
+#include <map>
+
+#include "Exception.hpp"
+#include "DayTime.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup ephemstore */
+   //@{
+
+      ///  This class defines an interface to hide how we are getting an SV's 
+      /// position at some point in time.
+   class EphemerisStore
+   {
+   public:
+         /// Thrown when attempting to read an ephemeris that isn't stored.
+         /// @ingroup exceptiongroup
+      NEW_EXCEPTION_CLASS(NoEphemerisFound, gpstk::Exception);
+
+         /// destructor.
+      virtual ~EphemerisStore() {}
+      
+         /** This returns the PVT of the SV in ECEF coordinates at the 
+          * indicated time.
+          * @param prn the SV's PRN
+          * @param t the time to look up
+          * @return the Xvt of the SV at time t
+          */
+      virtual Xvt getPrnXvt(short prn, 
+                            const gpstk::DayTime& t) const
+         throw(NoEphemerisFound) = 0;
+
+         /** Dumps all the ephemeris data stored in this object.
+          * @param detail the level of detail to provide
+          */
+      virtual void dump(short detail = 0,
+                        std::ostream& s = std::cout) const = 0;
+
+         /// Edit the dataset, removing data outside this time interval
+      virtual void edit(const DayTime& tmin, 
+                        const DayTime& tmax 
+                        = DayTime(DayTime::END_OF_TIME) ) = 0;
+
+         /** Return the time of the first ephemeris in the object.
+          * @return the time of the first ephemeris in the object
+          */
+      virtual gpstk::DayTime getInitialTime() const = 0;
+      
+         /** Return the time of the last ephemeris in the object.
+          * @return the time of the last ephemeris in the object
+          */
+      virtual gpstk::DayTime getFinalTime() const = 0;
+
+   }; // end class EphemerisStore
+
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/EpochClockModel.hpp b/trunk/src/EpochClockModel.hpp
new file mode 100644
index 0000000..af3a377
--- /dev/null
+++ b/trunk/src/EpochClockModel.hpp
@@ -0,0 +1,115 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/EpochClockModel.hpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef EPOCHCLOCKMODEL_HPP
+#define EPOCHCLOCKMODEL_HPP
+
+#include <map>
+#include "Exception.hpp"
+#include "gps_constants.hpp"
+
+#include "ObsClockModel.hpp"
+#include "ORDEpoch.hpp"
+
+/**
+ * @file EpochClockModel.hpp
+ * Finally a concrete class. This model just uses an epoch of ORDs to determine
+ * the clock offset at that point in time.
+ */
+
+namespace gpstk
+{
+   class EpochClockModel : public ObsClockModel
+   {
+   public:
+      EpochClockModel(double sigma = 2, 
+                      double elmask = 0, 
+                      PRNMode mode = ALWAYS)
+         :ObsClockModel(sigma, elmask, mode){}
+
+      virtual double EpochClockModel::getOffset(const gpstk::DayTime& t) const
+         throw(gpstk::InvalidArgumentException) 
+      {
+         if (t!=time) 
+         {
+            gpstk::InvalidArgumentException e;
+            GPSTK_THROW(e);
+         }
+         return clkc;
+      };
+
+      virtual bool isOffsetValid(const gpstk::DayTime& t) const 
+         throw(gpstk::InvalidArgumentException)
+      {
+         if (t!=time) 
+         {
+            gpstk::InvalidArgumentException e;
+            GPSTK_THROW(e);
+         }
+         return valid;
+      };
+
+
+      // An unchecked accessor for programs that don't need the generic
+      // interface
+      double EpochClockModel::getOffset() const
+         throw() {return clkc;};
+
+      bool isOffsetValid() const 
+         throw(){return valid;};
+
+      virtual void addEpoch(const ORDEpoch& oe) throw(gpstk::InvalidValue)
+      {
+         gpstk::Stats<double> stat = simpleOrdClock(oe);
+         clkc = stat.Average();
+         valid = stat.N() >=  3; /// we need at least three to have a real avg
+         time = oe.time;
+      }
+
+   private:
+      gpstk::DayTime time;   ///< The time of this offset
+      double clkc;           ///< clock bias value (same units as residuals)
+      bool valid;            ///< flag indicating clock bias statistical validity
+   };
+}
+#endif
diff --git a/trunk/src/Exception.cpp b/trunk/src/Exception.cpp
new file mode 100644
index 0000000..ac88fe0
--- /dev/null
+++ b/trunk/src/Exception.cpp
@@ -0,0 +1,213 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Exception.cpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file Exception.cpp
+ * Exceptions for all of GPSTK, including location information
+ */
+ 
+#include "Exception.hpp"
+
+using std::ostream;
+using std::streambuf;
+using std::string;
+using std::endl;
+
+namespace gpstk
+{
+
+   void ExceptionLocation::dump(ostream& s) const
+      throw()
+   { 
+      s << getFileName() << ":" 
+#ifdef __FUNCTION__
+        << getFunctionName() << ":" 
+#endif
+        << getLineNumber(); 
+   }
+
+   Exception::Exception()
+      throw()
+         : streambuf(), ostream((streambuf*)this)
+   {
+   }
+
+   Exception::Exception(const string& errorText, 
+                        const unsigned long& errId,
+                        const Severity& sever)
+      throw()
+         : streambuf(), ostream((streambuf*)this)
+   {
+      text.push_back(errorText);
+      errorId = errId;
+      severity = sever;
+   }
+
+   Exception::Exception(const Exception& e)
+      throw()
+         : errorId(e.errorId),
+           locations(e.locations),
+           severity(e.severity),
+           text(e.text),
+           streamBuffer(e.streamBuffer),
+           streambuf(), 
+           ostream((streambuf*)this)
+   {}
+
+   Exception& Exception::operator=(const Exception& e)
+      throw()
+   {
+      errorId = e.errorId;
+      locations = e.locations;
+      severity = e.severity;
+      text = e.text;
+         // reuse existing stream objects, no matter.
+         //streambuf(), ostream((streambuf*)this),
+      streamBuffer = e.streamBuffer;
+
+      return *this;
+   }
+
+   Exception& Exception::addLocation(
+      const ExceptionLocation& location)
+      throw()
+   {
+      locations.push_back(location);
+      return *this;
+   }
+
+   const ExceptionLocation Exception::getLocation(
+      const size_t& index) const
+      throw()
+   {
+      if (index < 0 || index>=getLocationCount())
+      {
+         return ExceptionLocation();
+      }
+      else
+      {
+         return locations[index];
+      }
+   }
+
+   size_t Exception::getLocationCount() const
+      throw()
+   {
+      return locations.size();
+   }
+
+   Exception& Exception::addText(const string& errorText)
+      throw()
+   {
+      text.push_back(errorText);
+      return *this;
+   }
+
+   string Exception::getText(const size_t& index) const
+      throw()
+   {
+      if (index < 0 || index>=getTextCount())
+      {
+         string tmp;
+         return tmp;
+      }
+      else
+      {
+         return text[index];
+      }
+   }
+
+   size_t Exception::getTextCount() const
+      throw()
+   {
+      return text.size();
+   }
+
+   void Exception::dump(ostream& s) const
+      throw()
+   {
+      int i;
+      for (i=0; i<getTextCount(); i++)
+      {
+         s << "text " << i << ":" << this->getText(i) << endl;
+      }
+      for (i=0; i<getLocationCount(); i++)
+      {
+         s << "location " << i << ":" << getLocation(i) << endl;
+      }
+   }
+
+   int Exception::overflow(int c)
+   {
+      if (c == '\n' || !c)
+      {
+         if (streamBuffer.length() == 0)
+         {
+            return c;
+         }
+         addText(streamBuffer);
+         streamBuffer = "";
+         return c;
+      }
+      streamBuffer.append(1, (char)c);
+      return c;
+   }
+
+   ostream& operator<<( ostream& s, 
+                        const Exception& e )
+      throw()
+   { 
+      e.dump(s); 
+      return s;
+   }
+
+   ostream& operator<<( ostream& s,
+                        const ExceptionLocation& e )
+      throw()
+   {
+      e.dump(s);
+      return s;
+   }
+
+} // namespace gpstk
+
diff --git a/trunk/src/Exception.hpp b/trunk/src/Exception.hpp
new file mode 100644
index 0000000..989d741
--- /dev/null
+++ b/trunk/src/Exception.hpp
@@ -0,0 +1,479 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Exception.hpp#4 $"
+
+/**
+ * @file Exception.hpp
+ * Exceptions for all of GPSTK, including location information
+ */
+
+// The unusual include macro below is done this way because xerces
+// #defines EXCEPTION_HPP in their own exception class header file.
+#ifndef GPSTK_EXCEPTION_HPP
+#define GPSTK_EXCEPTION_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include <vector>
+#include <string>
+
+namespace gpstk
+{
+      /**
+       * @defgroup exceptiongroup Exception Classes
+       * These classes are the exceptions that can be thrown in
+       * the library code. Use these in your catch() blocks
+       * and you'll be able to get more information
+       * than what std::exception provides.  Use GPSTK_THROW()
+       * and GPSTK_RETHROW() to throw or rethrow these exceptions
+       * to automatically add line and file information to your
+       * exceptions..
+       */
+
+      /// A class for recording locations (in the source code) of
+      /// exceptions being thrown.
+   class ExceptionLocation
+   {
+   public:
+         /**
+          * Constructor for location information.
+          * @param filename name of source file where exception occurred.
+          * @param funcName name of function where exception occurred.
+          * @param lineNum line of source file where exception occurred.
+          */
+      ExceptionLocation(const std::string& filename = std::string(),
+                        const std::string& funcName = std::string(),
+                        const unsigned long& lineNum = 0)
+         throw()
+            : fileName(filename), functionName(funcName),
+              lineNumber(lineNum)
+      { }
+
+         /**
+          * Destructor.
+          */
+      ~ExceptionLocation() throw() {}
+
+         /// Accessor for name of source file where exception occurred.
+      std::string getFileName() const 
+         throw() 
+      { return fileName; }
+         /// Accessor for name of function where exception occurred.
+      std::string getFunctionName() const 
+         throw() 
+      { return functionName; }
+         /// Accessor for line of source file where exception occurred.
+      unsigned long getLineNumber() const 
+         throw()
+      { return lineNumber; }
+
+         /**
+          * Debug output function.
+          * @param s stream to output debugging information for this class to.
+          */
+      void dump(std::ostream& s) const throw();
+
+         /**
+          * Output stream operator for ::ExceptionLocation.
+          * This is intended just to dump all the data in the
+          * ::ExceptionLocation to the indicated stream.  \warning Warning: It
+          * will _not_ preserve the state of the stream.
+          * @param s stream to send ::ExceptionLocation information to.
+          * @param e ::ExceptionLocation to "dump".
+          * @return a reference to the stream \c s.
+          */
+      friend std::ostream& operator<<( std::ostream& s,
+                                       const ExceptionLocation& e )
+         throw();
+
+   private:
+         /// Name of source file where exception occurred.
+      std::string fileName;
+         /// Name of function where exception occurred.
+      std::string functionName;
+         /// Line in source file where exception occurred.
+      unsigned long lineNumber;
+   }; // class ExceptionLocation
+   
+      /**
+       * The Exception class is the base class from which all
+       * exception objects thrown in the library are derived. None of
+       * the functions in this class throws exceptions because an
+       * exception has probably already been thrown or is about to be
+       * thrown.  Each exception object contains the following:
+       * -  A stack of exception message text strings (descriptions).
+       * -  An error ID.
+       * -  A severity code.
+       * -  An error code group.
+       * -  Information about where the exception was thrown.
+       *
+       * Exception provides all of the functions required for it and
+       * its derived classes, including functions that operate on the
+       * text strings in the stack.
+       *
+       * @sa exceptiontest.cpp for some examples of how to use this class.
+       *
+       * @ingroup exceptiongroup
+       */
+   class Exception : protected std::streambuf, 
+                     public std::ostream
+   {
+   public:
+         /// Exception severity classes.
+      enum Severity
+      {
+         unrecoverable, /**< program can not recover from this exception */
+         recoverable    /**< program can recover from this exception */
+      };
+
+         /**
+          * Default constructor.
+          * Does nothing.
+          */
+      Exception() throw();
+
+         /**
+          * Full constructor for exception.
+          * @param errorText text message detailing exception.
+          * @param errorId error code related to exception e.g. MQ result
+          * code.
+          * @param severity severity of error.
+          */
+      Exception(const std::string& errorText, 
+                const unsigned long& errorId = 0,
+                const Severity& severity = unrecoverable)
+         throw();
+         /// Copy constructor.
+      Exception(const Exception& exception) 
+         throw();
+         /// Destructor.
+      virtual ~Exception() 
+         throw() 
+      {};
+
+         /// Assignment operator.
+      Exception& operator=(const Exception& e)
+         throw();
+
+         /**
+          * Ends the application. Normally, the library only intends
+          * this function to be used internally by the library's
+          * exception-handling macros when the compiler you are using
+          * does not support C++ exception handling. This only occurs
+          * if you define the NO_EXCEPTIONS_SUPPORT macro.
+          */
+      void terminate()
+         throw()
+      { exit(1); };
+
+         /// Returns the error ID of the exception. 
+      unsigned long getErrorId() const 
+         throw()
+      { return errorId; };
+
+         /**
+          * Sets the error ID to the specified value. 
+          * @param errId The identifier you want to associate with
+          * this error.
+          */
+      Exception& setErrorId(const unsigned long& errId)
+         throw()
+      { errorId = errId; return *this; };
+
+         /**
+          * Adds the location information to the exception object. The
+          * library captures this information when an exception is
+          * thrown or rethrown. An array of ExceptionLocation objects
+          * is stored in the exception object.
+          *
+          * @param location An IExceptionLocation object containing
+          * the following:
+          * \li          Function name 
+          * \li          File name 
+          * \li          Line number where the function is called 
+          */
+      Exception& addLocation(const ExceptionLocation& location) 
+         throw();
+
+         /**
+          * Returns the ExceptionLocation object at the specified index. 
+          * @param index If the index is not valid, a 0
+          * pointer is returned. (well, not really since someone
+          * changed all this bah)
+          */
+      const ExceptionLocation getLocation(const size_t& index=0) const
+         throw();
+
+         /// Returns the number of locations stored in the exception
+         /// location array.
+      size_t getLocationCount() const
+         throw();
+
+         /**
+          * If the thrower (that is, whatever creates the exception)
+          * determines the exception is recoverable, 1 is returned. If
+          * the thrower determines it is unrecoverable, 0 is returned.
+          */
+      bool isRecoverable() const
+         throw()
+      { return (severity == recoverable); }
+
+         /**
+          * Sets the severity of the exception. 
+          * @param sever Use the enumeration Severity to specify
+          * the severity of the exception.
+          */
+      Exception& setSeverity(const Severity& sever) 
+         throw()
+      { severity = sever; return *this; };
+
+         /** 
+          * Appends the specified text to the text string on the top
+          * of the exception text stack.
+          * @param errorText The text you want to append. 
+          */
+      Exception& addText(const std::string& errorText) 
+         throw();
+
+         /**
+          * Returns an exception text string from the exception text
+          * stack.
+          *
+          * @param index The default index is 0, which is the
+          * top of the stack. If you specify an index which is not
+          * valid, a 0 pointer is returned.
+          */
+      std::string getText(const size_t& index=0) const 
+         throw();
+
+         /// Returns the number of text strings in the exception text stack.
+      size_t getTextCount() const
+         throw();
+
+         /// Returns the name of the object's class.
+      virtual std::string getName() const
+         throw()
+      { return "Exception"; };
+
+         /**
+          * Debug output function.
+          * @param s stream to output debugging information for this class to.
+          */
+      void dump(std::ostream& s) const 
+         throw();
+
+         /**
+          * Output stream operator for ::Exception.
+          * This is intended just to dump all the data in the ::Exception to
+          * the indicated stream.  \warning Warning:  It will _not_ preserve
+          * the state of the stream.
+          * @param s stream to send ::Exception information to.
+          * @param e ::Exception to "dump".
+          * @return a reference to the stream \c s.  */
+      friend std::ostream& operator<<( std::ostream& s,
+                                       const Exception& e )
+         throw();
+
+   protected:
+         /// Error code.
+      unsigned long errorId;
+         /// Stack of exception locations (where it was thrown).
+      std::vector<ExceptionLocation> locations;
+         /// Severity of exception.
+      Severity severity;
+         /// Text stack describing exception condition.
+      std::vector<std::string> text;
+
+         /**
+          * This is the streambuf function that actually outputs the
+          * data to the device.  Since all output should be done with
+          * the standard ostream operators, this function should never
+          * be called directly.  In the case of this class, the
+          * characters to be output are stored in a buffer and added
+          * to the exception text after each newline.
+          */
+      int overflow(int c);
+
+   private:
+         /// Buffer for stream output.
+      std::string streamBuffer;
+   }; // class Exception
+
+
+}  // namespace gpstk
+
+
+/**
+ * Just a comment for the wary.  These following macros are quite
+ * useful.  They just don't work under gcc 2.96/linux.  If you can fix
+ * them I would be quite greatful but I am not holding my breath.  For
+ * now, I am just manually putting the code where it needs to be.  The
+ * problem seems to be with the __FILE__, __FUNCTION__, LINE__ being
+ * defined in a macro that is in a .hpp file as opposed to the .cpp
+ * file where the code gets used.  When you do it you get a segfault.
+ * See the exceptiontest.cpp code in the base/test directory.
+ */
+#if defined ( __FUNCTION__ )
+#define FILE_LOCATION gpstk::ExceptionLocation(__FILE__, __FUNCTION__, __LINE__)
+#else
+#define FILE_LOCATION gpstk::ExceptionLocation(__FILE__, "", __LINE__)
+#endif
+
+// For compilers without exceptions, die if you get an exception.
+#if defined (NO_EXCEPTIONS_SUPPORT)
+/// A macro for adding location when throwing an gpstk::Exception
+/// @ingroup exceptiongroup
+#define GPSTK_THROW(exc) { exc.addLocation(FILE_LOCATION); exc.terminate(); }
+/// A macro for adding location when rethrowing an gpstk::Exception
+/// @ingroup exceptiongroup
+#define GPSTK_RETHROW(exc) { exc.addLocation(FILE_LOCATION); exc.terminate(); }
+#else
+/// A macro for adding location when throwing an gpstk::Exception
+/// @ingroup exceptiongroup
+#define GPSTK_THROW(exc)   { exc.addLocation(FILE_LOCATION); throw exc; }
+/// A macro for adding location when rethrowing an gpstk::Exception
+/// @ingroup exceptiongroup
+#define GPSTK_RETHROW(exc) { exc.addLocation(FILE_LOCATION); throw; }
+#endif
+
+
+
+/**
+ * A macro for quickly defining a new exception class that inherits from
+ * an gpstk::Exception derived class.  Use this to make specific exceptions,
+ * such as the ones defined in this header file.  Make sure that all
+ * exceptions have "\@ingroup exceptiongroup" in their comment block
+ * so doxygen knows what to do with them.
+ *
+ * @ingroup exceptiongroup
+ */
+#define NEW_EXCEPTION_CLASS(child, parent) \
+class child : public parent  \
+{ \
+public: \
+      /** Default constructor. */ \
+   child() throw()                  : parent() {} \
+      /** Copy constructor. */ \
+   child(const child& a) throw()   : parent(a) {} \
+      /** Cast constructor. */ \
+   child(const gpstk::Exception& a) throw() : parent(a) {}; \
+      /** \
+       * Common use constructor. \
+       * @param a text description of exception condition. \
+       * @param b error code (default none) \
+       * @param c severity of exception (default unrecoverable) \
+       */ \
+   child(std::string a, unsigned long b = 0,\
+         gpstk::Exception::Severity c = gpstk::Exception::unrecoverable) \
+         throw() \
+         : parent(a, b, c) \
+   {};\
+      /** Destructor. */ \
+   virtual ~child() throw() {} \
+      /** Returns the name of the exception class. */ \
+   virtual std::string getName() const throw() {return ( # child);} \
+      /** assignment operator for derived exceptions */ \
+   child& operator=(const child& kid) \
+      { parent::operator=(kid); return *this; } \
+      /** ostream operator for derived exceptions */ \
+   friend std::ostream& operator<<(std::ostream& s, const child& c) throw() \
+      { c.dump(s); return s; } \
+}
+
+namespace gpstk
+{
+      /// Thrown when a function is given a parameter value that it invalid
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(InvalidParameter, Exception);
+
+      /// Thrown if a function can not satisfy a request
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(InvalidRequest, Exception);
+
+      /// Thrown when a required condition in a function is not met.
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(AssertionFailure, Exception);
+
+      /// Thrown if a function makes a request of the OS that can't be satisfied.
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(AccessError, Exception);
+
+      /// Attempts to access an "array" or other element that doesn't exist
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(IndexOutOfBoundsException, Exception);
+
+      /// A function was passed an invalid argument
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(InvalidArgumentException, Exception);
+
+      /// Application's configuration is invalid
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(ConfigurationException, Exception);
+
+      /// Attempted to open a file that doesn't exist
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(FileMissingException, Exception);
+
+      /// A problem using a system semaphore
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(SystemSemaphoreException, Exception);
+
+      /// A problem using a system pipe
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(SystemPipeException, Exception);
+
+      /// A problem using a system queue
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(SystemQueueException, Exception);
+
+      /// Unable to allocate memory
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(OutOfMemory, Exception);
+
+      /// Operation failed because it was unable to locate the requested obj
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(ObjectNotFound, AccessError);
+
+} // namespace gpstk
+#endif
+
+
+
diff --git a/trunk/src/FFBinaryStream.hpp b/trunk/src/FFBinaryStream.hpp
new file mode 100644
index 0000000..7814438
--- /dev/null
+++ b/trunk/src/FFBinaryStream.hpp
@@ -0,0 +1,219 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFBinaryStream.hpp#1 $"
+
+/**
+ * @file FFBinaryStream.hpp
+ * An FFStream for binary file reading
+ */
+
+#ifndef GPSTK_FFBINARYSTREAM_HPP
+#define GPSTK_FFBINARYSTREAM_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFStream.hpp"
+
+namespace gpstk
+{
+   /** @defgroup formattedfile Formatted file I/O */
+   //@{
+ 
+      /**
+       * This is an FFStream that is required to be binary.  It also includes
+       * functions for reading and writing binary file.  Otherwise, this
+       * is the same as FFStream.
+       */
+   class FFBinaryStream : public FFStream
+   {
+   public:
+         /// destructor
+      virtual ~FFBinaryStream() {};
+      
+         /// Default constructor
+      FFBinaryStream() {}
+
+         /**
+          * Constructor - opens the stream in binary mode if not set.
+          * @param fn file name.
+          * @param mode file open mode (std::ios)
+          */
+      FFBinaryStream(const char* fn, 
+                     std::ios::openmode mode=std::ios::in|std::ios::binary)
+         : FFStream(fn, mode|std::ios::binary) {}
+
+         /// Overrides open to ensure binary mode opens
+      virtual void open(const char* fn, std::ios::openmode mode)
+         { FFStream::open(fn, mode|std::ios::binary); }
+
+         /**
+          * Reads a T-object directly from the stream
+          * in binary form.
+          * @throw FFStreamError when the size of the data read
+          * from this stream doesn't match the size of a T-object.
+          * @return a T-object
+          */
+      template <class T> T getData() throw(FFStreamError)
+      {
+         T data;
+         try
+         {
+            read((char*)&data, sizeof(T));
+         }
+         catch(std::exception& exc)
+         {
+            FFStreamError err(exc.what());
+            GPSTK_THROW(err);
+         }
+         catch(...)
+         {
+            FFStreamError err("Unknown exception");
+            GPSTK_THROW(err);
+         }
+      
+         if (gcount() != sizeof(T))
+         {
+            FFStreamError err("Error reading data");
+            GPSTK_THROW(err);
+         }
+         return data;
+      } // end of getData(FFStream& strm)
+
+         /**
+          * Writes a T-object directly from the stream
+          * in binary form.
+          * @param data the data to be written.
+          * @throw FFStreamError when the size of the data written
+          * to this stream doesn't match the size of a T-object.
+          * @return a T-object
+          */
+      template <class T> void writeData(const T& data)
+         throw(FFStreamError)
+      {
+         T temp = data;
+         try
+         {
+            write((char*)&temp, sizeof(T));
+         }
+         catch(std::exception& exc)
+         {
+            FFStreamError err(exc.what());
+            GPSTK_THROW(err);
+         }
+         catch(...)
+         {
+            FFStreamError err("Unknown exception");
+            GPSTK_THROW(err);
+         }
+      
+         if (fail() || bad())
+         {
+            FFStreamError err("Error writing data");
+            GPSTK_THROW(err);
+         }
+         return;
+      } // end of writeData(FFStream& strm, const T& data)
+   };
+
+   //@}
+
+}
+
+/*
+namespace gpstk
+{
+   template <class T> 
+   T FFBinaryStream::getData() throw(FFStreamError)
+   {
+      T data;
+      try
+      {
+         read((char*)&data, sizeof(T));
+      }
+      catch(std::exception& exc)
+      {
+         FFStreamError err(exc.what());
+         GPSTK_THROW(err);
+      }
+      catch(...)
+      {
+         FFStreamError err("Unknown exception");
+         GPSTK_THROW(err);
+      }
+      
+      if (gcount() != sizeof(T))
+      {
+         FFStreamError err("Error reading data");
+         GPSTK_THROW(err);
+      }
+      return data;
+   } // end of getData(FFStream& strm)
+
+   template <class T> 
+   void FFBinaryStream::writeData(const T& data)
+      throw(FFStreamError)
+   {
+      T temp = data;
+      try
+      {
+         write((char*)&temp, sizeof(T));
+      }
+      catch(std::exception& exc)
+      {
+         FFStreamError err(exc.what());
+         GPSTK_THROW(err);
+      }
+      catch(...)
+      {
+         FFStreamError err("Unknown exception");
+         GPSTK_THROW(err);
+      }
+      
+      if (fail() || bad())
+      {
+         FFStreamError err("Error writing data");
+         GPSTK_THROW(err);
+      }
+      return;
+   } // end of writeData(FFStream& strm, const T& data)
+}
+*/
+
+#endif
diff --git a/trunk/src/FFData.cpp b/trunk/src/FFData.cpp
new file mode 100644
index 0000000..5735eed
--- /dev/null
+++ b/trunk/src/FFData.cpp
@@ -0,0 +1,99 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFData.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file FFData.cpp
+ * Formatted File Data base class
+ */
+
+#include "FFData.hpp"
+#include "FFStream.hpp"
+
+namespace gpstk
+{
+   void FFData::putRecord(FFStream& s) const 
+      throw(FFStreamError, gpstk::StringUtils::StringException)
+   { 
+      s.tryFFStreamPut(*this); 
+   }
+   
+   void FFData::getRecord(FFStream& s)
+      throw(FFStreamError, gpstk::StringUtils::StringException)
+   { 
+      s.tryFFStreamGet(*this); 
+   }
+   
+   std::ostream& operator<<(std::ostream& o, const FFData& f)
+         throw(FFStreamError, gpstk::StringUtils::StringException)
+   {
+      FFStream* ffs = dynamic_cast<FFStream*>(&o);
+      if (ffs)
+      {
+         f.putRecord(*ffs);
+         return o;
+      }
+      else
+      {
+         FFStreamError e("operator<< stream argument must be an FFStream");
+         GPSTK_THROW(e);
+      }
+
+   }
+
+   std::istream& operator>>(std::istream& i, FFData& f)
+         throw(FFStreamError, gpstk::StringUtils::StringException)
+   {
+      FFStream* ffs = dynamic_cast<FFStream*>(&i);
+      if (ffs)
+      {
+         f.getRecord(*ffs);
+         return i;
+      }
+      else
+      {
+         FFStreamError e("operator<< stream argument must be an FFStream");
+         GPSTK_THROW(e);
+      }
+
+   }
+}
diff --git a/trunk/src/FFData.hpp b/trunk/src/FFData.hpp
new file mode 100644
index 0000000..7862a58
--- /dev/null
+++ b/trunk/src/FFData.hpp
@@ -0,0 +1,189 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFData.hpp#1 $"
+
+/**
+ * @file FFData.hpp
+ * Formatted File Data base class
+ */
+
+#ifndef GPSTK_FFDATA_HPP
+#define GPSTK_FFDATA_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include <typeinfo>
+
+#include "FFStreamError.hpp"
+#include "StringUtils.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup formattedfile */
+   //@{
+
+      /// Forward declaration of FFStream class and friend functions
+   class FFStream;
+
+      /**
+       * This is the base class for all Formatted File Data (FFData).
+       * The data in FFStream objects are read/written into classes derived
+       * from FFData.  There are two interfaces for this - one with the
+       * operator<<() and operator>>() and the equivalent with getRecord() and 
+       * putRecord().
+       * 
+       * Classes that derive from this should override the reallyGetRecord()
+       * and reallyPutRecord() functions where the actual reading and
+       * writing of the data should go as well as the isHeader() or isData()
+       * functions as appropriate for the data type.  
+       * Overriding dump() for debugging purposes is highly suggested.
+       * 
+       * All FFData derived classes should have all of their members defined
+       * public.  These are meant to be simple container classes for reading,
+       * writing, and manipulating file data. Any conversion of data types
+       * should be made in constructors or cast operators.  For all FFData
+       * objects, any internal time representation for the data should be
+       * called \c time to ensure consistency between classes.
+       *
+       * Finally, for the sake of organization of the inheritence and
+       * dependency trees, all related file data classes (i.e. RinexObsData and
+       * RinexObsHeader) should derive from a common base (i.e. RinexObsBase).
+       *
+       * \sa FFStream for more information.
+       */
+   class FFData
+   {
+   public:
+         /// virtual desctuctor
+      virtual ~FFData(void) {};
+
+         /**
+          * Send a "record" to the given stream.
+          * @param s a FFStream-based stream
+          */
+      void putRecord(FFStream& s) const 
+         throw(FFStreamError, gpstk::StringUtils::StringException);
+
+         /**
+          * Retrieve a "record" from the given stream.
+          * By default, this won't throw exceptions.  You can change this
+          * by enabling exceptions with this code:
+          * \code
+          * filestream.exceptions(fstream::failbit);
+          * \endcode
+          * @param s a FFStream-based stream
+          * @throws StringException when a StringUtils function fails
+          * @throws FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs.  This also resets the
+          *  stream to its pre-read position.
+          */
+      void getRecord(FFStream& s) 
+         throw(FFStreamError, gpstk::StringUtils::StringException);
+
+         /**
+          * Send debug output to the given stream.
+          * @param s a generic output stream
+          */
+      virtual void dump(std::ostream& s) const {}
+
+         /**
+          * Returns whether or not this class is a header.
+          * Have your overriding function return the correct value.
+          */
+      virtual bool isHeader() const {return false;}
+         /** 
+          * Returns whether or not this class is data.
+          * Have your overriding function return the correct value.
+          */
+      virtual bool isData() const {return false;}
+
+         /**
+          * Our generic formatted output operator
+          * This function provides compatibility with the ostream_iterator
+          * class.
+          * @param o the stream to write to
+          * @param f the data to write
+          * @return a reference to \c o
+          * @warning The ostream provided MUST be an FFStream.
+          */
+      friend std::ostream& operator<<(std::ostream& o, const FFData& f)
+         throw(FFStreamError, gpstk::StringUtils::StringException);
+
+         /**
+          * Generic formatted input operator.
+          * This should throw the same exceptions as
+          * FFData::getRecord().  Please read that for more info.
+          * @see FFData::getRecord().
+          * @warning see FFData::getRecord() for more info on exceptions
+          * @param f formatted file data record.
+          * @param i the stream to read from
+          * @throw FFStreamError if the file being read is formatted
+          * incorrectly or some other file error occurs
+          * @throw StringException when StringUtils messes up.
+          * @warning read the notes for getRecord() for whatever
+          * class you'll be using this with.
+          * @return a reference to \c i.
+          * This function provides compatibility with the istream_iterator
+          * class.
+          * @warning The istream provided MUST be an FFStream.
+          */
+      friend std::istream& operator>>(std::istream& i, FFData& f)
+         throw(FFStreamError, gpstk::StringUtils::StringException);
+
+      friend class FFStream;
+
+   protected:
+         /// Does the actual reading from the stream into this FFData object.
+      virtual void reallyGetRecord(FFStream& s)
+         throw(std::exception, gpstk::StringUtils::StringException, 
+               gpstk::FFStreamError) = 0;
+
+         /// Does the actual writing from the stream into this FFData object.
+      virtual void reallyPutRecord(FFStream& s) const
+         throw(std::exception, gpstk::StringUtils::StringException, 
+               gpstk::FFStreamError) = 0;
+   }; // class
+
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/FFStream.cpp b/trunk/src/FFStream.cpp
new file mode 100644
index 0000000..2e42a23
--- /dev/null
+++ b/trunk/src/FFStream.cpp
@@ -0,0 +1,276 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFStream.cpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file FFStream.cpp
+ * Formatted File Stream base class
+ */
+
+#include "FFStream.hpp"
+
+namespace gpstk
+{
+   void FFStream::open(const char* fn, std::ios::openmode mode)
+   {
+#ifdef _MSC_VER
+      fstream::open(fn, mode);
+#else
+      std::fstream::open(fn, mode);
+#endif
+      filename = std::string(fn);
+      recordNumber = 0;
+   }
+
+      // the crazy double try block is so that no gpstk::Exception throws 
+      // get masked, allowing all exception information (line numbers, text,
+      // etc) to be retained.
+   void FFStream::tryFFStreamGet(FFData& rec)
+      throw(FFStreamError, gpstk::StringUtils::StringException)
+   {
+         // Mark where we start in case there is an error.
+      long initialPosition = tellg();
+      unsigned long initialRecordNumber = recordNumber;
+      clear();
+
+      try
+      {
+         try
+         {
+            rec.reallyGetRecord(*this);
+            recordNumber++;
+         }
+         catch (std::exception &e)
+         {
+            mostRecentException = FFStreamError("std::exception thrown: " +
+                                                std::string(e.what()));
+            mostRecentException.addText("In record " + 
+                  gpstk::StringUtils::asString(recordNumber));
+            mostRecentException.addText("In file " + filename);            
+            mostRecentException.addLocation(FILE_LOCATION);
+            clear();
+            seekg(initialPosition);
+            recordNumber = initialRecordNumber;
+            setstate(std::ios::failbit);
+            conditionalThrow();
+         }
+            // EOF - do nothing - eof causes fail() to be set which
+            // is handled by std::fstream
+         catch (EndOfFile& e)
+         {
+            e.addText("In record " + 
+                      gpstk::StringUtils::asString(recordNumber));
+            e.addText("In file " + filename);
+            e.addLocation(FILE_LOCATION);
+            mostRecentException = e;
+         }
+         catch (gpstk::StringUtils::StringException& e)  
+         {
+            e.addText("In record " + 
+                      gpstk::StringUtils::asString(recordNumber));
+            e.addText("In file " + filename);
+            e.addLocation(FILE_LOCATION);
+            mostRecentException = e;
+            clear();
+            seekg(initialPosition);
+            recordNumber = initialRecordNumber;
+            setstate(std::ios::failbit);
+            conditionalThrow();
+         } 
+            // catches some errors we can encounter
+         catch (FFStreamError& e)  
+         {
+            e.addText("In record " + 
+                      gpstk::StringUtils::asString(recordNumber));
+            e.addText("In file " + filename);
+            e.addLocation(FILE_LOCATION);
+            mostRecentException = e;
+            clear();
+            seekg(initialPosition);
+            recordNumber = initialRecordNumber;
+            setstate(std::ios::failbit);
+            conditionalThrow();
+         } 
+      }
+         // this is if you throw an FFStream error in the above catch
+         // block because the catch(...) below will mask it otherwise.
+         // This also takes care of catching StringExceptions
+      catch (gpstk::Exception &e)
+      {
+         GPSTK_RETHROW(e);
+      }
+      catch (std::ifstream::failure &e)
+      {
+            // setting failbit when catching FFStreamError can cause
+            // this exception to be thrown. in this case, we don't want
+            // to lose the exception info so only make a new exception
+            // if this isn't a fail() case
+         if (!fail())
+         {
+            mostRecentException = FFStreamError("ifstream::failure thrown: " +
+                                                std::string(e.what()));
+            mostRecentException.addText("In file " + filename);
+            mostRecentException.addLocation(FILE_LOCATION);
+         }
+         conditionalThrow();
+      }
+      catch (std::exception &e)
+      {
+         mostRecentException = FFStreamError("std::exception thrown: " + 
+                                             std::string(e.what()));
+         mostRecentException.addText("In file " + filename);
+         mostRecentException.addLocation(FILE_LOCATION);
+         setstate(std::ios::failbit);
+         conditionalThrow();
+      }
+      catch (...)
+      {
+         mostRecentException = FFStreamError("Unknown exception thrown");
+         mostRecentException.addText("In file " + filename);
+         mostRecentException.addLocation(FILE_LOCATION);
+         setstate(std::ios::failbit);
+         conditionalThrow();
+      }  
+   }
+
+      // the crazy double try block is so that no gpstk::Exception throws 
+      // get masked, allowing all exception information (line numbers, text,
+      // etc) to be retained.
+   void FFStream::tryFFStreamPut(const FFData& rec)
+      throw(FFStreamError, gpstk::StringUtils::StringException)
+   {
+         // Mark where we start in case there is an error.
+      long initialPosition = tellg();
+      unsigned long initialRecordNumber = recordNumber;
+      clear();
+
+      try
+      {
+         try
+         {
+            rec.reallyPutRecord(*this);
+            recordNumber++;
+         }
+         catch (std::exception &e)
+         {
+               // if this is a stream failure, don't mask it and let the
+               // later catch block handle it
+            if (dynamic_cast<std::ifstream::failure*>(&e))
+               throw;
+
+               // the catch(FFStreamError) below will add file information
+               // to this exception
+            mostRecentException = FFStreamError("std::exception thrown: " +
+                                                std::string(e.what()));
+            mostRecentException.addLocation(FILE_LOCATION);
+            setstate(std::ios::failbit);
+            conditionalThrow();
+         }
+         catch (gpstk::StringUtils::StringException& e)  
+         {
+            e.addText("In record " + 
+                      gpstk::StringUtils::asString(recordNumber));
+            e.addText("In file " + filename);
+            e.addLocation(FILE_LOCATION);
+            mostRecentException = e;
+            seekg(initialPosition);
+            recordNumber = initialRecordNumber;
+            setstate(std::ios::failbit);
+            conditionalThrow();
+         } 
+            // catches some errors we can encounter
+         catch (FFStreamError& e)  
+         {
+            e.addText("In record " + 
+                      gpstk::StringUtils::asString(recordNumber));
+            e.addText("In file " + filename);
+            e.addLocation(FILE_LOCATION);
+            mostRecentException = e;
+            seekg(initialPosition);
+            recordNumber = initialRecordNumber;
+            setstate(std::ios::failbit);
+            conditionalThrow();
+         }         
+      }
+         // this is if you throw an FFStream error in the above catch
+         // block because the catch(...) below will mask it otherwise.
+         // This also takes care of catching StringExceptions
+      catch (gpstk::Exception &e)
+      {
+         GPSTK_RETHROW(e);
+      }
+      catch (std::ifstream::failure &e)
+      {
+            // setting failbit when catching FFStreamError can cause
+            // this exception to be thrown. in this case, we don't want
+            // to lose the exception info so only make a new exception
+            // if this isn't a fail() case
+         if (!fail())
+         {
+            mostRecentException = FFStreamError("ifstream::failure thrown: " +
+                                                std::string(e.what()));
+            mostRecentException.addText("In file " + filename);
+            mostRecentException.addLocation(FILE_LOCATION);
+         }
+         conditionalThrow();
+      }
+      catch (std::exception &e)
+      {
+         mostRecentException = FFStreamError("std::exception thrown: " + 
+                                             std::string(e.what()));
+         mostRecentException.addText("In file " + filename);
+         mostRecentException.addLocation(FILE_LOCATION);
+         setstate(std::ios::failbit);
+         conditionalThrow();
+      }
+      catch (...)
+      {
+         mostRecentException = FFStreamError("Unknown exception thrown");
+         mostRecentException.addText("In file " + filename);
+         mostRecentException.addLocation(FILE_LOCATION);
+         setstate(std::ios::failbit);
+         conditionalThrow();
+      }  
+   }
+
+}
+
diff --git a/trunk/src/FFStream.hpp b/trunk/src/FFStream.hpp
new file mode 100644
index 0000000..7de1bea
--- /dev/null
+++ b/trunk/src/FFStream.hpp
@@ -0,0 +1,209 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFStream.hpp#1 $"
+
+/**
+ * @file FFStream.hpp
+ * Formatted File Stream, root class to provide formatted I/O operators ('<<' & '>>')
+ */
+
+#ifndef GPSTK_FFSTREAM_HPP
+#define GPSTK_FFSTREAM_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <typeinfo>
+
+#include "FFStreamError.hpp"
+#include "FFData.hpp"
+
+#include "StringUtils.hpp"
+
+#ifdef _MSC_VER
+using namespace std;
+#endif
+
+namespace gpstk
+{
+   /** @addtogroup formattedfile */
+   //@{
+
+      /// This gets thrown if a valid EOF occurs on formattedGetLine.
+      /// @ingroup exceptionclass
+   NEW_EXCEPTION_CLASS(EndOfFile, gpstk::FFStreamError);
+   
+      /**
+       * Formatted File Stream (FFStream).
+       * This is just a root class to provice the single point formatted i/o
+       * operators (such as '<<' & '>>' ).
+       *
+       * As a special design consideration,
+       * all exceptions thrown are based on gpstk::Exception - all
+       * std::exception throws are rethrown as gpstk::Exception.
+       * Furthermore, exceptions will not be thrown unless exceptions
+       * are set to be thrown:
+       * @code
+       * fs.exceptions(std::fstream::failbit);
+       * @endcode
+       * where \c fs is the name of your file stream.
+       * Then when an exception occurs, conditionalThrow() will throw the
+       * last thrown exception.
+       * Otherwise when an exception occurs, the stream sets
+       * \c ios::fail and will not read any more.  Exceptions for this
+       * class store the record number of the file for when the exception
+       * occurred as well as the file name and any detailed information
+       * about the error.  For gpstk::FFTextStream, the line number
+       * of the file where the error was found is also recorded, allowing
+       * for easy location of file problems.
+       *
+       * When operating on the file, recordNumber will automatically increment
+       * with each read and write operation. When a file is opened with the
+       * constructor or with open(), all internal FFStream variables are
+       * reset. Derived classes should make sure any of their internal
+       * variables are reset when either of those function are called.
+       *
+       * Many file types have header data as part of the file format. When
+       * reading the file, the reader is not required to explicitly read in
+       * the header to access the data.  To facilitate this, each of these 
+       * stream classes has an internal header object that will store the
+       * header. The stream keeps track of whether it read the
+       * header or not, and reads the header if the internal state says
+       * it hasn't been read.  When writing a file, the stream's 
+       * internal header is used for those formats which use header information
+       * to determine what data is in the records.
+       * See RinexObsHeader::reallyGetRecord() and 
+       * RinexObsData::reallyGetRecord()
+       * for an example of this.
+       *
+       * \sa FFData for more information
+       * \sa RinexObsData::reallyGetRecord() and 
+       *     RinexObsHeader::reallyGetRecord() for more information for files
+       *     that read header data.
+       *
+       * @warning When using open(), the internal header data of the stream
+       * is not guaranteed to be retained.
+       */
+   class FFStream : public std::fstream
+   {
+   public:
+         /// virtual desctructor
+      virtual ~FFStream(void) {}
+
+         /**
+          * Default constructor
+          */
+      FFStream()
+            : recordNumber(0)
+         {}
+
+         /**
+          * Constructor.
+          * @param fn file name.
+          * @param mode file open mode (std::ios)
+          */
+      FFStream(const char* fn, std::ios::openmode mode=std::ios::in)
+         : 
+#ifdef _MSC_VER
+            fstream(fn, mode), 
+#else
+            std::fstream(fn, mode), 
+#endif
+            recordNumber(0), filename(fn) 
+         {}
+
+         /**
+          * Overrides fstream:open so derived classes can make appropriate
+          * internal changes (line count, header info, etc).
+          */
+      virtual void open(const char* fn, std::ios::openmode mode);
+
+         /**
+          * Throws \a mostRecentException only if the stream is enabled
+          * to throw exceptions when failbit is set.
+          * You can set this behavior with the following line of code:
+          * @code
+          * ffstreamobject.exceptions(ifstream::failbit);
+          * @endcode
+          * where \a ffstreamobject is the name of your stream object.
+          */
+      inline void conditionalThrow(void) throw(FFStreamError)
+         { 
+            if (exceptions() & std::fstream::failbit)
+               GPSTK_THROW(mostRecentException); 
+         } 
+
+         ///@name Data members
+         ///@{
+         /// This stores the most recently thrown exception.
+      FFStreamError mostRecentException;
+
+         /// keeps track of the number of records read
+      unsigned int recordNumber;
+
+         /// file name
+      std::string filename;
+         //@}
+      
+         /// FFData is a friend so it can access the try* functions.
+      friend class FFData;
+
+   protected:
+         /// Encapsulates shared try/catch blocks for all file types
+         /// to hide std::exception.
+      virtual void tryFFStreamGet(FFData& rec) 
+         throw(FFStreamError, gpstk::StringUtils::StringException);
+
+         /// Encapsulates shared try/catch blocks for all file types
+         /// to hide std::exception.
+      virtual void tryFFStreamPut(const FFData& rec) 
+         throw(FFStreamError, gpstk::StringUtils::StringException);
+
+   };   
+   
+   //@}
+
+} // end of namespace
+
+
+#endif
+
diff --git a/trunk/src/FFStreamError.hpp b/trunk/src/FFStreamError.hpp
new file mode 100644
index 0000000..e701ea8
--- /dev/null
+++ b/trunk/src/FFStreamError.hpp
@@ -0,0 +1,63 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFStreamError.hpp#1 $"
+
+/**
+ * @file FFStreamError.hpp
+ * Exceptions for FFStream
+ */
+
+#ifndef GPSTK_FFSTREAMERROR_HPP
+#define GPSTK_FFSTREAMERROR_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Exception.hpp"
+
+namespace gpstk
+{
+      /// FFStreamError is an exception for when the file read doesn't
+      /// match the specs for that file type.
+      /// @ingroup exceptionclass
+      /// @ingroup formattedfile
+   NEW_EXCEPTION_CLASS(FFStreamError, gpstk::Exception);
+}
+
+#endif 
diff --git a/trunk/src/FFTextStream.hpp b/trunk/src/FFTextStream.hpp
new file mode 100644
index 0000000..af55189
--- /dev/null
+++ b/trunk/src/FFTextStream.hpp
@@ -0,0 +1,220 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FFTextStream.hpp#1 $"
+
+/**
+ * @file FFTextStream.hpp
+ * An FFStream for text files
+ */
+
+#ifndef GPSTK_FFTEXTSTREAM_HPP
+#define GPSTK_FFTEXTSTREAM_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFStream.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup formattedfile */
+   //@{
+
+      /**
+       * An FFStream that is meant for reading text.  This also includes
+       * an internal line count and a read line method. When reading and
+       * using the formattedGetLine() call, the lineNumber automatically
+       * increments.  However, any other read and all write calls do not
+       * update the line number - the derived class or programmer
+       * needs to make sure
+       * that the reader or writer increments lineNumber in these cases.
+       */
+   class FFTextStream : public FFStream
+   {
+   public:
+         /// destructor
+      virtual ~FFTextStream() {}
+      
+         /// Default constructor
+      FFTextStream()
+            : lineNumber(0)
+         {}
+
+         /**
+          * Constructor.
+          * @param fn file name.
+          * @param mode file open mode (std::ios)
+          */
+      FFTextStream(const char* fn, std::ios::openmode mode=std::ios::in)
+         : FFStream(fn, mode), lineNumber(0)
+         {}
+
+         /// Overrides open to reset the line number.
+      virtual void open(const char* fn, std::ios::openmode mode)
+         { FFStream::open(fn, mode); lineNumber = 0; }
+
+         /// the internal line count. When writing, make sure
+         /// to increment this.
+      unsigned int lineNumber;
+
+         /**
+          * Like std::istream::getline but checks for EOF and removes '/r'.
+          * Also increments lineNumber.  When \a expectEOF is true and EOF
+          * is found, an gpstk::EndOfFile exception is thrown.  If
+          * \a expectEOF is false and an EOF is encountered, an
+          * gpstk::FFStreamError is thrown.
+          * @param line is set to the value of the line read from the file.
+          * @param expectEOF set true if finding EOF on this read is acceptable.
+          * @throw EndOfFile if \a expectEOF is true and an EOF is encountered.
+          * @throw FFStreamError if EOF is found and \a expectEOF is false
+          * @throw gpstk::StringUtils::StringException when a string error occurs
+          * or if any other error happens.
+          * @warning There is a maximum line length of 256 characters when
+          * using this function.
+          */
+      inline void formattedGetLine(std::string& line, 
+                                   const bool expectEOF = false)
+         throw(EndOfFile, FFStreamError, gpstk::StringUtils::StringException);
+   
+
+   protected:
+         /// calls FFStream::tryFFStreamGet and adds line number information
+      virtual void tryFFStreamGet(FFData& rec) 
+         throw(FFStreamError, gpstk::StringUtils::StringException)
+         {
+            unsigned int initialLineNumber = lineNumber;
+
+            try
+            {
+               FFStream::tryFFStreamGet(rec);
+            }
+            catch(gpstk::Exception& e)
+            {
+               e.addText(std::string("Near file line ") + 
+                         gpstk::StringUtils::asString(lineNumber));
+               lineNumber = initialLineNumber;
+               mostRecentException = e;
+               conditionalThrow();
+            }
+         }
+
+         /// calls FFStream::tryFFStreamPut and adds line number information
+      virtual void tryFFStreamPut(const FFData& rec) 
+         throw(FFStreamError, gpstk::StringUtils::StringException)
+         {
+            unsigned int initialLineNumber = lineNumber;
+
+            try
+            {
+               FFStream::tryFFStreamPut(rec);
+            }
+            catch(gpstk::Exception& e)
+            {
+               e.addText(std::string("Near file line ") + 
+                         gpstk::StringUtils::asString(lineNumber));
+               lineNumber = initialLineNumber;
+               mostRecentException = e;
+               conditionalThrow();
+            }
+         }
+
+   };
+
+      // the reason for checking ffs.eof() in the try AND catch block is
+      // because if the user enabled exceptions on the stream with exceptions()
+      // then eof could throw an exception, in which case we need to catch it
+      // and rethrow an EOF or FFStream exception.  In any event, EndOfFile
+      // gets thrown whenever there's an EOF and expectEOF is true
+   void FFTextStream::formattedGetLine(std::string& line, 
+                                       const bool expectEOF)
+         throw(EndOfFile, FFStreamError, gpstk::StringUtils::StringException)
+   {
+      try
+      {
+         const int MAX_LINE_LENGTH = 256;
+         char templine[MAX_LINE_LENGTH + 1];
+         getline(templine, MAX_LINE_LENGTH);
+         lineNumber++;
+         line = templine;
+         gpstk::StringUtils::stripTrailing(line, '\r');
+            // catch EOF when stream exceptions are disabled
+         if ((gcount() == 0) && eof())
+         {
+            if (expectEOF)
+            {
+               EndOfFile err("EOF encountered");
+               GPSTK_THROW(err);
+            }
+            else
+            {
+               FFStreamError err("Unexpected EOF encountered");
+               GPSTK_THROW(err);
+            }
+         }
+      }
+      catch(std::exception &e)
+      {
+            // catch EOF when exceptions are enabled
+         if ( (gcount() == 0) && eof())
+         {
+            if (expectEOF)
+            {
+               EndOfFile err("EOF encountered");
+               GPSTK_THROW(err);
+            }
+            else
+            {
+               FFStreamError err("Unexpected EOF");
+               GPSTK_THROW(err);
+            }
+         } 
+         else
+         {
+            FFStreamError err("Critical file error: " +
+                              std::string(e.what()));
+            GPSTK_THROW(err);
+         }
+      }
+   }
+
+   //@}
+
+}  // namespace
+
+#endif
diff --git a/trunk/src/FICAStream.hpp b/trunk/src/FICAStream.hpp
new file mode 100644
index 0000000..5f41961
--- /dev/null
+++ b/trunk/src/FICAStream.hpp
@@ -0,0 +1,90 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICAStream.hpp#1 $"
+
+/**
+ * @file FICAStream.hpp
+ * gpstk::FICAStream - ASCII FIC file stream container.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICASTREAM_HPP
+#define FICASTREAM_HPP
+
+#include "FICStreamBase.hpp"
+#include "FFTextStream.hpp"
+
+namespace gpstk
+{
+      /** 
+       * This is a stream used to obtain data from an ascii FIC File.
+       * 
+       * \sa fica_test.cpp for an example.
+       *
+       * \sa FICData and FICHeader.
+       */
+   class FICAStream : public FICStreamBase, public FFTextStream
+   {
+   public:
+         /// Default constructor
+      FICAStream() {}
+      
+         /**
+          * Constructor
+          * @param fn the name of the ascuu FIC file to be opened
+          * @param mode the ios::openmode to be used on \a fn
+          */
+      FICAStream(const char* fn,
+                std::ios::openmode mode=std::ios::in)
+            : FFTextStream(fn, mode)
+         {}
+
+         /// destructor per the coding standards
+      virtual ~FICAStream() {}
+
+         /// overrides open to reset the header
+      virtual void open(const char* fn, std::ios::openmode mode)
+         { FFTextStream::open(fn, mode); FICStreamBase::open(); }
+
+   }; // class FICStream
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/FICBase.hpp b/trunk/src/FICBase.hpp
new file mode 100644
index 0000000..29619ba
--- /dev/null
+++ b/trunk/src/FICBase.hpp
@@ -0,0 +1,67 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICBase.hpp#1 $"
+
+/**
+ * @file FICBase.hpp
+ * gpstk::FICBase - base class for FIC FFData.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICBASE_HPP
+#define FICBASE_HPP
+
+#include "FFData.hpp"
+
+namespace gpstk
+{
+      /**
+       * This is a base class for all FIC-related classes.
+       */
+   class FICBase : public FFData
+   {
+   public:
+         /// in deference to our coding standards, this is declared virtual
+      virtual ~FICBase() {}
+   };
+}
+
+#endif
diff --git a/trunk/src/FICData.cpp b/trunk/src/FICData.cpp
new file mode 100644
index 0000000..39fecf5
--- /dev/null
+++ b/trunk/src/FICData.cpp
@@ -0,0 +1,1182 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICData.cpp#10 $"
+
+/**
+ * @file FICData.cpp
+ * gpstk::FICData - container for the FIC file data.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "StringUtils.hpp"
+#include "BinUtils.hpp"
+#include "FICData.hpp"
+#include "FICStream.hpp"
+#include "FICAStream.hpp"
+
+#include <cmath>
+
+#include "gpstkplatform.h"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+using namespace gpstk::BinUtils;
+
+   // the "blk " literal is 4 chrs wide
+const int FICBlkHdrSize = 4;
+
+namespace gpstk
+{
+   const string FICData::blockString = "BLK ";
+
+   void FICData::reallyPutRecord(FFStream& ffs) const
+      throw(std::exception, gpstk::StringUtils::StringException, 
+            gpstk::FFStreamError)
+   {
+      if (!isValid())
+      {
+         FFStreamError e("Tried to write an invalid FIC block");
+         GPSTK_THROW(e);
+      }
+      
+         // is this a FIC or FICA stream?
+         // remember that a FICAStream derives from FICStream, so check
+         // for FICA first
+      if (dynamic_cast<FICAStream*>(&ffs))
+      {
+         FICAStream& strm = dynamic_cast<FICAStream&>(ffs);
+         
+         strm << '\n' << blockString;
+         strm << setw(6) << blockNum 
+              << setw(5) << f.size()
+              << setw(5) << i.size()
+              << setw(5) << c.size();
+         unsigned long index;
+         for (index = 0; index < f.size(); index++)
+         {
+            if ((index % 4) == 0)
+               strm << '\n';
+            double l10 = log10(fabs(f[index]));
+            if ( ((l10 >= 100) || (l10 <= -100)) && (f[index] != 0))
+               strm << doub2for(f[index], 20, 3);
+            else
+               strm << doub2for(f[index], 20, 2);
+         }
+         for (index = 0; index < i.size(); index++)
+         {
+            if ((index % 6) == 0)
+               strm << '\n';
+            strm << setw(12) << i[index];
+         }
+         for (index = 0; index < c.size(); index++)
+         {
+            if ((index % 8) == 0)
+               strm << '\n';
+            strm << setw(8) << c[index];
+         }
+      }
+      else
+      {
+         if (dynamic_cast<FICStream*>(&ffs))
+         {
+            FICStream& strm = dynamic_cast<FICStream&>(ffs);
+            
+            strm << blockString;
+            strm.writeData<int32_t>(hostToIntel(blockNum));
+            strm.writeData<uint32_t>(hostToIntel(static_cast<uint32_t>(f.size())));
+            strm.writeData<uint32_t>(hostToIntel(static_cast<uint32_t>(i.size())));
+            strm.writeData<uint32_t>(hostToIntel(static_cast<uint32_t>(c.size())));
+            unsigned long index;
+            for (index = 0; index < f.size(); index++)
+               strm.writeData<double>(hostToIntel(f[index]));
+            for (index = 0; index < i.size(); index++)
+               strm.writeData<int32_t>(hostToIntel(i[index]));
+            for (index = 0; index < c.size(); index++)
+               strm.writeData<char>(hostToIntel(c[index]));
+         }
+            // bad cast!!!
+         else
+         {
+            FFStreamError e("FICData tried to read from a non-FIC file");
+            GPSTK_THROW(e);
+         }         
+      }
+   }
+
+   bool FICData::isValid() const
+   {
+      switch(blockNum) {
+         case 109:
+            if((f.size() == 0) && (i.size() == 32) && (c.size() == 0))
+               return true;
+            break;
+         case 9:
+            if((f.size() == 60) && (i.size() == 0) && (c.size() == 0))
+               return true;
+            break;
+         case 162:
+            if((f.size() == 0) && (i.size() == 15) && (c.size() == 0))
+               return true;
+            break;
+         case 62:
+            if(( (f.size() == 20) || (f.size() == 32) || (f.size() == 14) || 
+                 (f.size() == 23) || (f.size() == 47) || (f.size() == 29)   ) 
+               && (i.size() == 6) && (c.size() == 0))
+               return true;
+            break;
+         default:
+            return false;
+            break;
+      }
+      return false;
+   }
+    
+   void FICData::dump(ostream& s) const 
+   {
+      int n;
+      s << "FIC BlockNumber: " << blockNum << endl
+        << " floats:   " << flush;
+      for(n = 0; n< f.size(); n++)
+         s << f[n] << " " << flush;
+      s << endl << " integers: " << flush;
+      for(n = 0; n< i.size(); n++)
+         s << i[n] << " " << flush;
+      s << endl << " chars:    " << flush;
+      for(n = 0; n< c.size(); n++)
+         s << c[n] << " " << flush;
+      s << endl << endl;
+   };
+
+   void FICData::prettyDump(ostream& os) const
+   {
+      switch (blockNum)
+      {
+         case 109:
+            prettyDump109(os);
+            break;
+         case 9:
+            prettyDump9(os);
+            break;
+         case 62:
+            prettyDump62(os);
+            break;
+         case 162:
+            prettyDump162(os);
+            break;
+         default:
+            break;
+      }
+   }
+
+   void FICData::prettyDump9(ostream& os) const
+   {
+      short j;
+      short ndx[3] = { 9, 25, 52 };
+      short iod;
+      short itemp;
+      short epochWeek;
+      double epochTime, xmitTime, diff;
+
+      os << "**************************************";
+      os << "**************************************\n";
+      os << "   Block Number : ";
+      os.width(3);
+      os << blockNum << "\n";
+      os << "Broadcast Ephemeris (Engineering Units)\n";
+      os << "\n";
+      os << "PRN : ";
+      os.width(2);
+      os << f[19] << "\n\n";
+
+         // Check for week rollover between nav msg week # and
+         // epoch time week number.
+      epochTime = f[12];
+      xmitTime = f[2];
+      diff = -1 * (epochTime - xmitTime);
+      if (diff > DayTime::HALFWEEK) epochWeek = (short) f[5] + 1;
+      else epochWeek = (short) f[5];
+      timeDisplay( os, "Clock Epoch:", epochWeek, f[12], 1 );
+
+      epochTime = f[33];
+      xmitTime = f[22];
+      diff = -1 * (epochTime - xmitTime);
+      if (diff > DayTime::HALFWEEK) epochWeek = (short) f[5] + 1;
+      else epochWeek = (short) f[5];
+      timeDisplay( os, "Eph Epoch:",   epochWeek, f[33], 0 );
+
+      os << "Transmit Week:";
+      os.width(4);
+      os << f[5] << "\n";
+      os.width(2);
+      os << "Fit interval flag :  " << f[34] << "\n";
+
+      os << "\n";
+      os << "          SUBFRAME OVERHEAD\n\n";
+      os << "               SOW    DOW:HH:MM:SS     IOD    ALERT   A-S\n";
+      for (j=0;j<3;j++)
+      {
+         os.width(1);
+         os << "SF" << (j+1) << " HOW:   ";
+         os.width(7);
+         os << f[2+j*20];
+
+            // Convert SOW to D:H:M:S and output
+         os << "  ";
+         shortcut( os, f[2+j*20]);
+         if (j==0)os << "   ";
+         else os << "    ";
+         os.setf(ios::uppercase);
+            // Due to ancient use of FIC back
+            // when IODC/IODE were AODC/AODE,
+            // the IODC/IODE values are scaled by 2**10
+            // in FIC and have to unscaled.
+         iod = (short) (f[ndx[j]] / 2048);
+         iod = iod;
+         os << "0x";
+         os.fill('0');
+         if (j==0) os.width(3);           // IODC is longer
+         else os.width(2);
+         os << hex << iod << dec << "      ";
+         os.fill(' ');
+            // Word 4 (index 3) combines the "Alert" bit and the A-S flag
+         itemp = (short) f[3+j*20];
+         if (itemp & 0x0002) os << "1     ";   // "Alert" bit handling
+         else os << "0     ";
+         if (itemp & 0x0001) os << " on\n";      // A-S flag handling
+         else os << "off\n";
+      }
+      os << "\n           CLOCK\n\n";
+      os << "Bias T0:     ";
+      os.setf(ios::scientific, ios::floatfield);
+      os.setf(ios::right, ios::adjustfield);
+      os.precision(8);
+      os.width(16);
+      os << f[15] << " sec\n";
+      os << "Drift:       ";
+      os.width(16);
+      os << f[14] << " sec/sec\n";
+      os << "Drift rate:  ";
+      os.width(16);
+      os << f[13] << " sec/(sec**2)\n";
+      os << "Group delay: ";
+      os.width(16);
+      os << f[11] << " sec\n";
+      os.setf(ios::fixed, ios::floatfield);
+      os.precision(0);
+
+      os << "\n           ORBIT PARAMETERS\n\n";
+      os << "Semi-major axis:       ";
+      os.setf(ios::scientific, ios::floatfield);
+      os.setf(ios::right, ios::adjustfield);
+      os.precision(8);
+      os.width(16);
+      os << f[32] << " m**.5\n";
+      os << "Motion correction:     ";
+      os.width(16);
+      os << f[27] << " rad/sec\n";
+      os << "Eccentricity:          ";
+      os.width(16);
+      os << f[30] << "\n";
+      os << "Arg of perigee:        ";
+      os.width(16);
+      os << f[50] << " rad\n";
+      os << "Mean anomaly at epoch: ";
+      os.width(16);
+      os << f[28] << " rad\n";
+      os << "Right ascension:       ";
+      os.width(16);
+      os << f[46] << " rad    ";
+      os.width(16);
+      os << f[51] << " rad/sec\n";
+      os << "Inclination:           ";
+      os.width(16);
+      os << f[48] << " rad    ";
+      os.width(16);
+      os << f[53] << " rad/sec\n";
+      os.setf(ios::fixed, ios::floatfield);
+      os.precision(0);
+
+      os << "\n           HARMONIC CORRECTIONS\n\n";
+      os << "Radial        Sine: ";
+      os.setf(ios::scientific, ios::floatfield);
+      os.setf(ios::right, ios::adjustfield);
+      os.precision(8);
+      os.width(16);
+      os << f[26] << " m    Cosine: ";
+      os.width(16);
+      os << f[49] << " m\n";
+      os << "Inclination   Sine: ";
+      os.width(16);
+      os << f[47] << " rad  Cosine: ";
+      os.width(16);
+      os << f[45] << " rad\n";
+      os << "In-track      Sine: ";
+      os.width(16);
+      os << f[31] << " rad  Cosine: ";
+      os.width(16);
+      os << f[29] << " rad\n";
+      os.setf(ios::fixed, ios::floatfield);
+      os.precision(0);
+
+      os << "\n           SV STATUS\n\n";
+      os << "Health bits:   0x";
+      os.fill('0');
+      os.width(2);
+      os << (short) f[8] << "      URA index: ";
+      os.fill(' ');
+      os.width(4);
+      os << f[7] << "\n";
+      os << "Code on L2:   ";
+      switch ( (short) f[6] )
+      {
+         case 0:
+            os << "reserved";
+            break;
+
+         case 1:
+            os << " P only";
+            break;
+
+         case 2:
+            os << " C/A only";
+            break;
+
+         case 3:
+            os << " P & C/A";
+            break;
+
+         default:
+            break;
+
+      }
+      os << "   L2 P Nav data:          ";
+      if ( (short) f[10]!=0) os << "off";
+      else os << "on";
+      os << "\n";
+   }
+
+   void FICData::prettyDump109(ostream & os) const
+   {
+      os << "**************************************";
+      os << "**************************************\n";
+      os << "   Block Number : ";
+      os.width(3);
+      os << blockNum << "\n";
+      os << "Broadcast Ephemeris as Transmitted\n";
+      os << "\n";
+      os << "PRN : ";
+      os.width(2);
+      os << i[1] << "\n";
+      timeDisplay( os, "Transmit time:",
+                   i[0], 
+                   ((i[3] & 0x3FFFFFFFL) >> 13) * 6,
+                   2 );
+      os.setf(ios::uppercase);
+      os << "\n";
+      os << "Hexadecimal dump of words  1-10";
+      short j;
+      for (j=0;j<10;j++)
+      {
+         if (j==0 || j ==5 ) os << "\n";
+         os << "    ";
+         os.width(2);
+         os << (j+1) << ":";
+         os.width(8);
+         os.fill('0');
+         os << hex << i[j+2] << dec;
+         os.fill(' ');
+      }
+      os << "\n\n";
+      os << "Hexadecimal dump of words 11-20";
+      for (j=10;j<20;j++)
+      {
+         if (j==10 || j ==15 ) os << "\n";
+         os << "    ";
+         os.width(2);
+         os << (j+1) << ":";
+         os.width(8);
+         os.fill('0');
+         os << hex << i[j+2] << dec;
+         os.fill(' ');
+      }
+      os << "\n\n";
+      os << "Hexadecimal dump of words 21-30";
+      for (j=20;j<30;j++)
+      {
+         if (j==20 || j ==25 ) os << "\n";
+         os << "    ";
+         os.width(2);
+         os << (j+1) << ":";
+         os.width(8);
+         os.fill('0');
+         os << hex << i[j+2] << dec;
+         os.fill(' ');
+      }
+      os << "\n\n";
+   }
+
+   void FICData::prettyDump62(ostream & os) const
+   {
+      short j,k;
+      unsigned short btmp;
+      unsigned long aword;
+      short rotate;
+      char  ochar;
+      short almType;
+
+      os << "**************************************";
+      os << "**************************************\n";
+      os << "   Block Number : ";
+      os.width(3);
+      os << blockNum << "\n";
+      os << "Almanac(Engineering Units)\n";
+      os << "\n";
+      os << "SV ID : ";
+      os.setf(ios::right, ios::adjustfield);
+      os.width(2);
+      os << i[3] << "\n";
+      timeDisplay( os, "Transmit time", i[5], i[1], 1 );
+      os << "Reference Wk  ";
+      os.width(4);
+      os << i[0] << "\n";
+      almType = (short) f[6];
+      if (almType>0&&almType<33)
+      {
+            // Output of SV almanac data
+         timeDisplay( os, "Epoch time", (short) f[18], f[8], 0);
+         os << "\n";
+         os << "CLOCK\n";
+         os.setf(ios::scientific, ios::floatfield);
+         os.setf(ios::right, ios::adjustfield);
+         os.precision(8);
+         os << "   Bias:   ";
+         os.width(16);
+         os << f[16] << " sec\n";
+         os << "   Drift:  ";
+         os.width(16);
+         os << f[17] << " sec/sec\n";
+
+         os << "\nORBIT PARAMETERS\n";
+         os << "   Semi-major axis:       ";
+         os.width(16);
+         os << f[12] << " m**.5\n";
+         os << "   Eccentricity:          ";
+         os.width(16);
+         os << f[7] << "\n";
+         os << "   Arg of perigee:        ";
+         os.width(16);
+         os << f[14] << " rad\n";
+         os << "   Mean anamoly of epoch: ";
+         os.width(16);
+         os << f[15] << " rad\n";
+         os << "   Right Ascension:       ";
+         os.width(16);
+         os << f[13] << " rad   ";
+         os.width(16);
+         os << f[10] << " rad/sec\n";
+         os << "   Inclination:           ";
+         os.width(16);
+         os << f[9] << " rad (from 54 deg)\n";
+
+         os.setf(ios::fixed, ios::floatfield);
+         os.precision(0);
+      }
+      else if (almType>=57 && almType<=62 )
+      {
+            // Hexadecimal dump
+         os << "\n";
+         os << "Hexadecimal dump of non-parity bits of words 3-10\n";
+//    os << "     **This feature under construction.**\n";
+         os.setf(ios::uppercase);
+         for (k=2;k<10;k++)
+         {
+            if (k==2 || k==6 ) os << "\n";
+            os << "    ";
+            os.width(2);
+            os << (k+1) << ":";
+            os.width(6);      // 'stead 6
+            os.fill('0');
+            aword = (unsigned long) f[k+5];
+//       aword >>= 6;                     // The data had parity stripped
+               // during subframe conversion.
+            os << hex << aword << dec;
+            os.fill(' ');
+         }
+
+      }
+      else switch (almType)
+      {
+         case 51:       // Health 1
+            os << "\n";
+            os << "Page Type: SV Health Information\n";
+            os << "\nAlmanac reference week (8 bit): ";
+            os.precision(0);
+            os << f[7] << "\n";
+            os << "SV Health Information for PRN 1-24\n\n";
+            os << "     --Health---        --Health---        --Health---        --Health---\n";
+            os << "PRN  Hex  Binary   PRN  Hex  Binary   PRN  Hex  Binary   PRN  Hex  Binary\n";
+            os.setf(ios::uppercase);
+            for (k=1;k<=21;k+=4)
+            {
+               for (j=k;j<k+4;j++)
+               {
+                  if (j!=k) os << "    ";
+                  else os << " ";
+                  os.width(2);
+                  os.fill('0');
+                  os << j;
+                  os.fill(' ');
+                  os << "   ";
+                  btmp = (unsigned short) f[j+7];
+                  btmp &= 0x003F;
+                  os.fill('0');
+                  os.width(2);
+                  os << hex << btmp << dec;
+                  os.fill(' ');
+                  os << "  ";
+                  btmp = (unsigned short) f[j+7];
+                  for (rotate=0;rotate<6;rotate++)
+                  {
+                     if (btmp & 0x20) os << "1";
+                     else os << "0";
+                     btmp <<= 1;
+                  }
+               }
+               os << "\n";
+            }
+            break;
+
+         case 52:
+         case 53:
+         case 54:
+            os << "\n";
+            if (almType==52) os << "Page Type: Subframe 4 Page 13, Reserved Bits\n";
+            if (almType==53) os << "Page Type: Subframe 4 Page 14, Reserved Bits\n";
+            if (almType==54) os << "Page Type: Subframe 4 Page 15, Reserved Bits\n";
+               // Hexadecimal dump
+            os << "Hexadecimal dump of non-parity bits of words 3-10\n";
+            os << "     **This feature under construction.**\n";
+            os << "     **This page is decoded incorrectly in the ";
+            os << "subframe converter.**\n";
+/*       os.setf(ios::uppercase);
+         for (j=2;j<10;j++)
+         {
+                        if (j==2 || j==6 ) os << "\n";
+                        os << "    ";
+                        os.width(2);
+                        os << (j+1) << ":";
+                        os.width(6);
+                        os.fill('0');
+                        aword = i[j+2];
+                        aword >>= 6;
+                        os << hex << aword << dec;
+                        os.fill(' ');
+         }
+*/
+            break;
+
+         case 55:
+            os << "\n";
+            os << "Page Type: Subframe 4 Page 17, Special Message\n";
+               // Hexadecimal dump
+               // Loop over words 3-10
+            os << "\n Message : \"";
+            for (k=1;k<23;k++)
+            {
+               aword = (unsigned long) f[k+6];
+               ochar = (char) aword;
+               os << ochar;
+            }
+            os << "\"\n";
+            break;
+
+         case 56:
+            os << "\n";
+            os << "Page Type: UTC and Ionospheric Information\n";
+            os.setf(ios::scientific, ios::floatfield);
+            os.setf(ios::right, ios::adjustfield);
+            os.precision(8);
+            os << "\n";
+            os << "IONOSPHERIC PARAMETERS \n";
+            os << "   Alpha 1 : ";
+            os.width(16);
+            os << f[7] << " sec          Beta 1 : ";
+            os.width(16);
+            os << f[11] << "sec\n";
+            os << "   Alpha 2 : ";
+            os.width(16);
+            os << f[8] << " sec/rad      Beta 2 : ";
+            os.width(16);
+            os << f[12] << " sec/rad\n";
+            os << "   Alpha 3 : ";
+            os.width(16);
+            os << f[9] << " sec/rad**2   Beta 3 : ";
+            os.width(16);
+            os << f[13] << " sec/rad**2\n";
+            os << "   Alpha 4 : ";
+            os.width(16);
+            os << f[10] << " sec/rad**3   Beta 4 : ";
+            os.width(16);
+            os << f[14] << " sec/rad**3\n\n";
+
+            os << "GPS-UTC CORRECTION PARAMETERS\n";
+            os << "   Bias  (A0)                                ";
+            os.width(16);
+            os << f[15] << " sec\n";
+            os << "   Drift (A1)                                ";
+            os.width(16);
+            os << f[16] << " sec/sec\n";
+            os.setf(ios::fixed, ios::floatfield);
+            os.precision(0);
+            os << "   Reference time (tot)                      ";
+            os.width(16);
+            os << f[17] << " sec of week\n";
+            os << "   Current leap second (dtls)                ";
+            os.width(16);
+            os << f[19] << " sec\n";
+            os << "   Ref week of current leap second (WNt)     ";
+            os.width(16);
+            os << f[18] << " weeks\n";
+            os << "   Week of next/last change (WNLSF)          ";
+            os.width(16);
+            os << f[20] << " weeks\n";
+            os << "   Day number of future change (DN)          ";
+            os.width(16);
+            os << f[21] << " day of week\n";
+            os << "   Scheduled future time increment due to\n";
+            os << "    lead seconds (dtLSF)                     ";
+            os.width(16);
+            os << f[22] << " sec\n";
+            break;
+
+         case 63:       // Health 2
+            os << "\n";
+            os << "Page Type: SV Health and Configuration Information\n\n";
+            os.precision(0);
+            os << "SV Health Information for PRN 25-32\n";
+            os << "-----Health-----   -----Health-----   -----Health-----   -----Health-----\n";
+            os << "PRN  Hex  Binary   PRN  Hex  Binary   PRN  Hex  Binary   PRN  Hex  Binary\n";
+            for (k=25;k<=29;k+=4)
+            {
+               for (j=k;j<k+4;j++)
+               {
+                  if (j!=k) os << "    ";
+                  else os << " ";
+                  os.width(2);
+                  os.fill('0');
+                  os << j;
+                  os.fill(' ');
+                  os << "   ";
+                  btmp = (unsigned short) f[j+14];
+                  btmp &= 0x003F;
+                  os.fill('0');
+                  os.width(2);
+                  os << hex << btmp << dec;
+                  os.fill(' ');
+                  os << "  ";
+                  btmp = (unsigned short) f[j+14];
+                  for (rotate=0;rotate<6;rotate++)
+                  {
+                     if (btmp & 0x20) os << "1";
+                     else os << "0";
+                     btmp <<= 1;
+                  }
+               }
+               os << "\n";
+            }
+
+            os << "\nSV Configuration for PRN 1-32 (bit coded)\n";
+            os << "-----Config-----   -----Config-----   -----Config-----   -----Config-----\n";
+            os << "PRN       Binary   PRN       Binary   PRN       Binary   PRN       Binary\n";
+            os.fill('0');
+            for (k=1;k<32;k+=4)
+            {
+               for (j=k;j<(k+4);j++)
+               {
+                  if (j==k) os << " ";
+                  else os << "    ";
+                  os.width(2);
+                  os << j << "         ";
+                  btmp = (unsigned short) f[j+6];
+                  for (rotate=0;rotate<4;rotate++)
+                  {
+                     if (btmp & 0x08) os << "1";
+                     else os << "0";
+                     btmp <<= 1;
+                  }
+               }
+               os << "\n";
+            }
+            os.fill(' ');
+            break;
+
+         default:
+            break;
+      }
+      os << "\n\n";
+   }
+
+   void FICData::prettyDump162(ostream & os) const
+   {
+      os << "**************************************";
+      os << "**************************************\n";
+      os << "   Block Number : ";
+      os.width(3);
+      os << blockNum << "\n";
+      os << "As Broadcast Almanac\n";
+      os << "\n";
+      os << "SV ID : ";
+      os.width(2);
+      os << i[0] << "\n";
+      timeDisplay( os, "Transmit time", 
+                   i[14], 
+                   ((i[2] & 0x3FFFFFFFL) >> 13) * 6,
+                   1 );
+      
+         // Added to display reference week in addition to transmit week.
+      os << "Reference Wk  ";
+      os.width(4);
+      os << i[13];
+      os << "\n";
+      
+      os.setf(ios::uppercase);
+      os << "\n";
+      os << "Hexadecimal dump of words in subframe";
+      short j;
+      for (j=0;j<10;j++)
+      {
+         if (j==0 || j ==5 ) os << "\n";
+         os << "    ";
+         os.width(2);
+         os << (j+1) << ":";
+         os.width(8);
+         os.fill('0');
+         os << hex << i[j+1] << dec;
+         os.fill(' ');
+      }
+      os << "\n\n";
+   }
+
+      // shortcut is used in outBlock9 to convert the
+      // HOW word time to D:H:M:S and print it out.
+   void FICData::shortcut(ostream & os, const double HOW ) const
+   {
+      short DOW, hour, min, sec;
+      long SOD, SOW;
+      short SOH;
+
+      SOW = (long) HOW;
+      DOW = (short) (SOW / DayTime::SEC_DAY);
+      SOD = SOW - DOW * long(DayTime::SEC_DAY);
+      hour = (short) (SOD/3600);
+
+      SOH = (short) (SOD - (hour*3600));
+      min = SOH/60;
+
+      sec = SOH - min * 60;
+      switch (DOW)
+      {
+         case 0: os << "Sun-0"; break;
+         case 1: os << "Mon-1"; break;
+         case 2: os << "Tue-2"; break;
+         case 3: os << "Wed-3"; break;
+         case 4: os << "Thu-4"; break;
+         case 5: os << "Fri-5"; break;
+         case 6: os << "Sat-6"; break;
+         default: break;
+      }
+      os << ":";
+      os.fill('0');
+      os.width(2);
+      os << hour << ":";
+      os.width(2);
+      os << min << ":";
+      os.width(2);
+      os << sec;
+   }
+
+      // timeDisplay method provides a standard means for displaying
+      // the GPS time and d/m/y h:m:s.  The calling program provides
+      // the opening text string for the line, the GPS week, the GPS SOW,
+      // and a flag indicating if the header line is to be output.
+      // (The latter is helpful when there are two or more times to be
+      // output one above the other.)
+   void FICData::timeDisplay( ostream & os, const char * legend,
+                              const short week, const double SOW, 
+                              const short headerFlag ) const
+   {
+      DayTime dt;
+      short slen;
+      short j;
+
+      if (headerFlag)
+         os << "              Week(10bt)     SOW     DOW   UTD     SOD   MM/DD/YYYY   HH:MM:SS\n";
+      os << legend;
+      slen = strlen(legend);
+      for (j=1;j<(15-slen);j++) os << " ";
+
+         // Convert to daytime struct from GPS wk,SOW to M/D/Y, H:M:S.
+      dt.setGPSfullweek(week, SOW);
+
+      os.width(4);
+      os << dt.GPSfullweek() << "(";
+      os.width(4);
+      os << dt.GPS10bitweek() << ")  ";
+      os.width(6);
+      os << dt.GPSsecond() << "   ";
+
+      switch (dt.GPSday())
+      {
+         case 0: os << "Sun-0"; break;
+         case 1: os << "Mon-1"; break;
+         case 2: os << "Tue-2"; break;
+         case 3: os << "Wed-3"; break;
+         case 4: os << "Thu-4"; break;
+         case 5: os << "Fri-5"; break;
+         case 6: os << "Sat-6"; break;
+         default: break;
+      }
+      os << "   ";
+      os.fill('0');
+      os.width(3);
+      os << dt.DOYday() << "   ";
+      os.width(5);
+      os << dt.DOYsecond() << "   ";
+      os.width(2);
+      os << dt.month() << "/";
+      os.width(2);
+      os << dt.day() << "/";
+      os.width(4);
+      os << dt.year() << "   ";
+      os.width(2);
+      os << dt.hour() << ":";
+      os.width(2);
+      os << dt.minute() << ":";
+      os.width(2);
+      os << dt.second() << "\n";
+      os.fill(' ');
+   }
+
+   void FICData::reallyGetRecord(FFStream& ffs)
+      throw(std::exception, gpstk::StringUtils::StringException, 
+            gpstk::FFStreamError)
+   {
+         // is this a FIC or FICA stream?
+      if (dynamic_cast<FICAStream*>(&ffs))
+      {
+         FICAStream& strm = dynamic_cast<FICAStream&>(ffs);
+
+            // Make sure the header has been read.
+         if (!strm.headerRead) 
+            strm >> strm.header;
+         
+         f.clear();
+         i.clear();
+         c.clear();                  
+         
+         string line;
+         strm.formattedGetLine(line, true);
+         string blkHdr(line.substr(0,4));
+         
+         if ( (blkHdr.size() != FICBlkHdrSize) || 
+              (blkHdr != blockString))
+         {
+            FFStreamError e("Bad block header, record=" + 
+                            asString(strm.recordNumber) + 
+                            " location=" + asString(strm.tellg()));
+            e.addText(string("blkHdr=[")+string(blkHdr)+string("]"));
+            GPSTK_THROW(e);
+         }
+            // get block number
+         blockNum = asInt(line.substr(4, 6));
+         
+            // get num of f,i, and c to read then read them
+         long numf = asInt(line.substr(10,5)), 
+            numi = asInt(line.substr(15,5)),
+            numc = asInt(line.substr(20,5));
+         
+         long n;
+         
+         for (n = 0; n < numf; n++)
+         {
+            if (n%4 == 0)
+               strm.formattedGetLine(line);
+            f.push_back(for2doub(line.substr((n%4)*20, 20), 20));
+         }
+         
+         for (n = 0; n < numi; n++)
+         {
+            if (n%6 == 0)
+               strm.formattedGetLine(line);
+            i.push_back(asInt(line.substr((n%6)*12, 12)));
+         }
+         
+         for (n = 0; n < numc; n++)
+         {
+            if (n%8 == 0)
+               strm.formattedGetLine(line);
+            c.push_back(line.substr((n%8)*8 + 7, 1)[0]);
+         }
+         
+         if (!isValid())
+         {
+            FFStreamError e("Read an invalid FIC block");
+            GPSTK_THROW(e);
+         }
+      }
+      else
+      {
+         if (dynamic_cast<FICStream*>(&ffs))
+         {
+            FICStream& strm = dynamic_cast<FICStream&>(ffs);
+            
+               // Make sure the header has been read.
+            if (!strm.headerRead) 
+               strm >> strm.header;
+            
+            f.clear();
+            i.clear();
+            c.clear();
+            
+            char blkHdr[FICBlkHdrSize + 1];
+            unsigned location = strm.tellg();
+
+            try
+            {
+               strm.get(blkHdr, FICBlkHdrSize+1);
+            }
+            catch(std::exception &e)
+            {
+                  // process as an end-of-file if it is one.
+               if (strm.gcount() == 0 && strm.eof())
+               {
+                  EndOfFile err("EOF encountered");
+                  GPSTK_THROW(err);
+               }
+                  // rethrow the exception if it's something else
+               throw e;
+            }
+
+            if (strm.gcount() != FICBlkHdrSize || 
+                (string(blkHdr) != blockString))
+            {
+               FFStreamError e("Bad block header, record=" + 
+                               asString(strm.recordNumber) + 
+                               " location=" + asString(location));
+               e.addText(string("blkHdr=[")+string(blkHdr)+string("]"));
+               GPSTK_THROW(e);
+            }
+               // get block number
+            blockNum = intelToHost(strm.getData<int32_t>());
+            
+               // get num of f,i, and c to read then read them
+            int32_t numf = intelToHost(strm.getData<int32_t>());
+            int32_t numi = intelToHost(strm.getData<int32_t>());
+            int32_t numc = intelToHost(strm.getData<int32_t>());
+            
+            long n;
+            
+            for (n = 0; n < numf; n++)
+            {
+               double fl = intelToHost(strm.getData<double>());
+               f.push_back(fl);
+            }
+            
+            for (n = 0; n < numi; n++)
+            {
+               long lg = intelToHost(strm.getData<int32_t>());
+               i.push_back(lg);
+            }
+            
+            for (n = 0; n < numc; n++)
+            {
+               char ch = intelToHost(strm.getData<char>());
+               c.push_back(ch);
+            }
+         }
+            // bad cast!!!
+         else
+         {
+            FFStreamError e("FICData tried to read from a non-FIC file");
+            GPSTK_THROW(e);
+         }         
+      }
+      if (!isValid())
+      {
+         FFStreamError e("Read an invalid FIC block");
+         GPSTK_THROW(e);
+      }
+   }
+
+   FICData::operator EngEphemeris() const
+      throw(WrongBlockNumber)
+   {
+      if(blockNum==9)
+      {
+         gpstk::EngEphemeris eph;
+         unsigned tlm = (unsigned)f[0];
+         eph.setSF1( ((tlm >> 8) & 0x3fff), (long)f[2], (short)f[3], (short)f[5],
+                     (short)f[6], (short)f[7], (short)f[8], (short)ldexp(f[9],-11),
+                     (short)f[10], f[11], f[12], f[13], f[14], f[15], (short)f[18],
+                     (short)f[19] );
+         tlm = (unsigned)f[20];
+         eph.setSF2( ((tlm >> 8) & 0x3fff),(long)f[22], (short)f[23],
+                     (short)ldexp(f[25],-11), f[26], f[27], f[28], f[29], f[30],
+                     f[31], f[32], f[33], (short)f[34] );
+         tlm = (unsigned)f[40];
+         eph.setSF3( ((tlm >> 8) & 0x3fff), (long)f[42], (short)f[43], f[45],
+                     f[46], f[47], f[48], f[49], f[50], f[51], f[53] );
+         return eph;
+      }
+      else if(blockNum == 109)
+      {
+         gpstk::EngEphemeris eph;
+            // gotta transfer data in vector<long> to long[].
+         long foo[30];
+         int count = 0;
+         for(int count = 2; count < i.size(); count++)
+         {
+            foo[count-2] = i[count];            
+         }
+         eph.addSubframe(foo,    i[0], i[1], 0);
+         eph.addSubframe(foo+10, i[0], i[1], 0);
+         eph.addSubframe(foo+20, i[0], i[1], 0);
+         return eph;
+      }
+      else
+      {
+         WrongBlockNumber wbn( "Block number should be 9, was " + 
+                               asString(blockNum) );
+         GPSTK_THROW(wbn);
+      }
+   }
+
+
+   FICData::operator AlmOrbit() const
+      throw(WrongBlockNumber)
+   {
+      if(blockNum == 62)
+      {
+         AlmOrbit ao(i[3], f[7], f[9], f[10],
+                     f[12], f[13], f[14], f[15],
+                     f[16], f[17], long(f[8]), i[1],
+                     i[0], short(f[11]));
+         return ao;
+      }
+      else
+      {
+         WrongBlockNumber wbn( "Block number should be 62, was " + 
+                               asString(blockNum) );
+         GPSTK_THROW(wbn);
+      }
+   }
+
+   std::string FICData::generateUniqueKey() const
+      throw(WrongBlockNumber, WrongBlockFormat)
+   {
+      std::ostringstream out;
+      DayTime transmitTime(0.L), howTime(0.L);
+      WrongBlockNumber wbn( "Block number should be 9, 109, or 62, was "+
+                            asString(blockNum) );
+
+      switch (blockNum)
+      {
+         case 9:
+               // the keys for EphData are PRN, week, IODC, AS and alert bits
+            out << "EE" << ' '
+                << f[19] << ' '
+                << f[5] << ' '
+                  // all bits are as counted from the MSB
+                  // AODC is recorded, not IODC so divide by 2048
+                << ldexp(f[9], -11) << ' '
+                  // the AS and alert bits
+                << f[3] << ' '
+                << f[23] << ' '
+                << f[43];
+            break;
+
+         case 109:
+            out << "E" << ' '
+                << i[1] << ' ' // prn
+                << i[0] << ' ' // transmit week
+                <<  (((i[4] & 0xC0)<<2) + ((i[9] & 0x3FC00000)>>22)) << ' '
+                  // the AS and alert bits are in the HOW (word 2), bits 18 and 19
+                << ((i[3] & 0x1800)>>11) << ' '
+                << ((i[13] & 0x1800)>>11) << ' '
+                << ((i[23] & 0x1800)>>11);
+            break;
+
+         case 62:
+            transmitTime.setGPSfullweek(i[5], (double)i[1]);
+            howTime.setGPSfullweek(i[5], f[2]);
+
+               // we only have toa in this format message.. yay.
+               // FIX magic number.. I'm a bit apprehensive about
+               // using MAX_PRN here because I don't know how things
+               // may change.  erf.
+            if ((i[3] >= 1) && (i[3] <= 32))
+            {
+               out << "A" << ' '
+                   << ((short)f[6]) << ' '               // page id
+                   << transmitTime.GPSday() << ' '
+                   << transmitTime.GPSfullweek() << ' '
+                   << ((long)f[8]) << ' '                // toa
+                   << howTime.DOYday() << ' '
+                   << howTime.DOYyear();
+            }
+            else
+            {
+               WrongBlockFormat wbf("Format " + asString(i[4]) +
+                                    " (page ID " + asString(i[3]) +
+                                    ") cannot be used to generate a key.");
+               GPSTK_THROW(wbf);
+            }
+            break;
+         default:
+            GPSTK_THROW(wbn);
+      } // switch (blockNum)
+
+      return out.str();
+
+   }
+
+} // namespace gpstk
+
diff --git a/trunk/src/FICData.hpp b/trunk/src/FICData.hpp
new file mode 100644
index 0000000..7b429a5
--- /dev/null
+++ b/trunk/src/FICData.hpp
@@ -0,0 +1,187 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICData.hpp#2 $"
+
+/**
+ * @file FICData.hpp
+ * gpstk::FICData - container for the FIC file data.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICDATA_HPP
+#define FICDATA_HPP
+
+#include <vector>
+#include <map>
+
+#include "FFStream.hpp"
+#include "FICBase.hpp"
+#include "EngEphemeris.hpp"
+#include "AlmOrbit.hpp"
+
+namespace gpstk
+{
+      /// This gets thrown if we don't have the right data for cast operations.
+      /// @ingroup exceptionclass
+   NEW_EXCEPTION_CLASS(WrongBlockNumber, gpstk::Exception);
+      
+      /// This gets thrown if we don't have the wrong format block is used.
+      /// @ingroup exceptionclass
+   NEW_EXCEPTION_CLASS(WrongBlockFormat, gpstk::Exception);
+
+      /**
+       * This does all the grunt-work in reading/decoding 
+       * FIC-formatted files (ASCII And Binary).
+       * 
+       * \sa fic_test.cpp, fic_read_write.cpp, fica_test.cpp for examples.
+       *
+       * \sa FICStream, FICAStream, and FICHeader.
+       */
+   class FICData : public FICBase
+   {
+   public:
+         /// Default constructor
+      FICData() : blockNum(0) {}
+
+         /*
+          * Construct a FICData from an EngEphemeris object.
+          * @param engEph the EngEphemeris to copy
+          */
+         // if you uncomment this, fix the doxygen comment above as well
+         //FICData(const EngEphemeris& engEph) throw();
+      
+         /// Destructor
+      virtual ~FICData() {}
+         /**
+          * Returns whether or not this FICData is valid.
+          * Checks the sizes of the f, i, and c vectors using different
+          * metrics for each FIC Record Type.
+          * See the ICD-GPS-200 for complete details.
+          */
+      bool isValid() const;      
+
+         //! This class is "data" so this function always returns "true". 
+      virtual bool isData() const {return true;}
+
+         /**
+          * Debug output function. 
+          * Dump the contents of each of the f, i, and c vectors to the 
+          * given ostream \c s.
+          */ 
+      virtual void dump(std::ostream& s) const;
+
+         /**
+          * Prints the FIC data in a nice format, labeling all the important
+          * subframes and quantities.
+          */
+      void prettyDump(std::ostream& os) const;
+
+         /**  
+          * Cast *this to an Engineering Ephemeiris Object.
+          * @return the constructed EngEphemeris object
+          */
+      operator EngEphemeris() const throw(WrongBlockNumber);
+
+         /**
+          * cast *this into an AlmOrbit, only for block 62s
+          * @return the constructed AlmOrbit object
+          */
+      operator AlmOrbit() const throw(WrongBlockNumber);
+
+         /// Generates a unique key for this FIC data so that redundant
+         /// messages can be filtered.  Uses the same criteria
+         /// as other generateUniqueKey() functions.
+         /// Currently only for blocks 9 and 62 (otherwise it throws)
+         /// @sa NavSF::generateUniqueKey()
+         /// @sa EngEphData::generateUniqueKey()
+      std::string generateUniqueKey() const throw(WrongBlockNumber,
+                                                  WrongBlockFormat);
+
+           /// @name data members
+         //@{
+      static const std::string blockString; ///< "BLK " record header constsnt
+      long blockNum;             ///< Block number for this FIC Record.
+      std::vector<double> f;          ///< Vector of floating point numbers.
+      std::vector<long> i;            ///< Vector of long integers.
+      std::vector<char> c;            ///< Vector of characters.
+         //@}
+
+   protected:
+         //! Writes this record to the stream \a s.
+      virtual void reallyPutRecord(FFStream& s) const 
+         throw(std::exception, gpstk::StringUtils::StringException, 
+               gpstk::FFStreamError);
+         /**
+          * Read a "FICData" record from the FFStream \c s. 
+          * If an error is encountered, the function will 
+          * return the stream to its original state and mark its fail-bit.
+          * @throws FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs.  This also resets the
+          *  stream to its pre-read position.
+          */
+      virtual void reallyGetRecord(FFStream& s)
+         throw(std::exception, gpstk::StringUtils::StringException, 
+               gpstk::FFStreamError);
+
+   private:
+         /// nicely prints the data from a block 9 record
+      void prettyDump9(std::ostream& o) const;
+         /// nicely prints the data from a block 109 record
+      void prettyDump109(std::ostream& o) const;
+         /// nicely prints the data from a block 62 record
+      void prettyDump62(std::ostream& o) const;
+         /// nicely prints the data from a block 162 record
+      void prettyDump162(std::ostream& o) const;
+
+         /// nicely prints the time
+      void timeDisplay( std::ostream & os, const char * legend,
+                        const short week, const double SOW, 
+                        const short headerFlag ) const;
+
+         /// shortcut is used in prettyDump9 to convert the
+         /// HOW word time to D:H:M:S and print it out.
+      void shortcut(std::ostream & os, const double HOW ) const;
+   };
+   
+}
+
+#endif // FICDATA_HPP
+
diff --git a/trunk/src/FICFilterOperators.hpp b/trunk/src/FICFilterOperators.hpp
new file mode 100644
index 0000000..a6ecc70
--- /dev/null
+++ b/trunk/src/FICFilterOperators.hpp
@@ -0,0 +1,301 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICFilterOperators.hpp#2 $"
+
+/**
+ * @file FICFilterOperators.hpp
+ * gpstk::FICFilterOperators - FIC filter operators.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICFILTEROPERATORS_HPP
+#define FICFILTEROPERATORS_HPP
+
+#include "FileFilter.hpp"
+#include "FICData.hpp"
+
+namespace gpstk
+{
+      /// Removes all data that doesn't match the given SVID/PRN numbers.
+   struct FICDataFilterPRN :
+      public std::unary_function<gpstk::FICData, bool>
+   {
+   public:
+      FICDataFilterPRN(const std::list<long>& lst)
+         : prnList(lst)
+         {}
+
+         /// This should return true when the data is to be erased.
+      bool operator() (const gpstk::FICData& l) const
+         {
+               // this criteria is the same as the r44 navdump criteria
+            switch (l.blockNum)
+            {
+               case 9:
+                  return find(prnList.begin(), prnList.end(), l.f[19]) ==
+                     prnList.end();
+                  break;
+
+               case 109:
+                  return find(prnList.begin(), prnList.end(), l.i[1]) ==
+                     prnList.end();
+                  break;
+
+                     // For 62 and 162, all SVIDs 51-63 will be added
+                     //  as well as any PRNs 1-32 that were selected.
+
+               case 62:
+                  if (l.i[3] >= 51)
+                     return false;
+                  return find(prnList.begin(), prnList.end(), l.i[3]) ==
+                     prnList.end();
+                  
+                  break;
+
+               case 162:
+                  if (l.i[0] >= 51)
+                     return false;
+                  return find(prnList.begin(), prnList.end(), l.i[0]) ==
+                     prnList.end();
+                  break;
+
+               default:
+                  return true;
+                  break;
+            }
+         }
+
+   private:
+      std::list<long> prnList;
+   };
+
+      /// Removes all data that doesn't match the given block numbers
+   struct FICDataFilterBlock :
+      public std::unary_function<gpstk::FICData, bool>
+   {
+   public:
+      FICDataFilterBlock(const std::list<long>& lst)
+         : blockList(lst)
+         {}
+
+      bool operator() (const gpstk::FICData& l) const
+         {
+            return find(blockList.begin(), blockList.end(), l.blockNum) ==
+               blockList.end();
+         }
+
+   private:
+      std::list<long> blockList;
+   };
+
+      /// Finds all data that matches the given block numbers
+   struct FICDataFindBlock :
+      public std::unary_function<gpstk::FICData, bool>
+   {
+   public:
+      FICDataFindBlock(const std::list<long>& lst)
+         : blockList(lst)
+         {}
+
+      bool operator() (const gpstk::FICData& l) const
+         {
+            return find(blockList.begin(), blockList.end(), l.blockNum) !=
+               blockList.end();
+         }
+   private:
+      std::list<long> blockList;
+   };
+
+      /// Sorting only for block 9 FICData
+   struct FICDataOperatorLessThanBlock9 : 
+      public std::binary_function<gpstk::FICData, gpstk::FICData, bool>
+   {
+   public:
+      bool operator() (const gpstk::FICData& l, 
+                       const gpstk::FICData& r) const
+         {
+            if ( (l.blockNum != 9) || (r.blockNum != 9) )
+               return false;
+
+               // sort by transmit time, prn
+            if (l.f[5] < r.f[5])
+               return true;
+            else if (l.f[5] == r.f[5])
+               if (l.f[33] < r.f[33])
+                  return true;
+               else if (l.f[33] == r.f[33])
+                  if (l.f[19] < r.f[19])
+                     return true;
+            
+            return false;
+         }
+   };
+
+      /// Sorting only for block 109 FICData
+   struct FICDataOperatorLessThanBlock109 :
+      public std::binary_function<gpstk::FICData, gpstk::FICData, bool>
+   {
+   public:
+      bool operator() (const gpstk::FICData& l, 
+                       const gpstk::FICData& r) const
+         {
+            if ( (l.blockNum != 9) || (r.blockNum != 9) )
+               return false;
+
+               // sort by transmit time, prn
+            if(l.i[0] < r.i[0])  // week numbers
+               return true;
+            else if(l.i[0] == r.i[0])
+            {
+                  // crack the HOW.  Note: I know I'm not multiplying by 6.
+               if( ((l.i[3] >> 13) & 0x1FFFF) < 
+                   ((r.i[3] >> 13) & 0x1FFFF) )
+                  return true;
+               else if( ((l.i[3] >> 13) & 0x1FFFF) == 
+                        ((r.i[3] >> 13) & 0x1FFFF) )
+                  if(l.i[1] < r.i[1])
+                     return true;
+            }
+               
+            return false;
+         }
+   };
+
+      /// Useful for FICDiff and others...
+   struct FICDataOperatorLessThanFull : 
+      public std::binary_function<gpstk::FICData, gpstk::FICData, bool>
+   {
+   public:
+      bool operator() (const gpstk::FICData& l, 
+                       const gpstk::FICData& r) const
+         {
+            if (l.blockNum < r.blockNum)
+               return true;
+            if (l.blockNum > r.blockNum)
+               return false;
+
+            if ( (l.f.size() < r.f.size()) ||
+                 (l.i.size() < r.i.size()) ||
+                 (l.c.size() < r.c.size()))
+               return true;
+
+            if ( (l.f.size() > r.f.size()) ||
+                 (l.i.size() > r.i.size()) ||
+                 (l.c.size() > r.c.size()))
+               return false;
+            
+               // ok, they're the same block and type of data - check
+               // the individual contents
+            std::vector<double>::size_type findex;
+            for (findex = 0; findex < l.f.size(); findex++)
+            {
+               if (l.f[findex] < r.f[findex])
+                  return true;
+               if (l.f[findex] > r.f[findex])
+                  return false;
+            }
+
+            std::vector<long>::size_type iindex;
+            for (iindex = 0; iindex < l.i.size(); iindex++)
+            {
+               if (l.i[iindex] < r.i[iindex])
+                  return true;
+               if (l.i[iindex] > r.i[iindex])
+                  return false;
+            }
+
+            std::vector<char>::size_type cindex;
+            for (cindex = 0; cindex < l.c.size(); cindex++)
+            {
+               if (l.c[cindex] < r.c[cindex])
+                  return true;
+               if (l.c[cindex] > r.c[cindex])
+                  return false;
+            }
+               // they're equal
+            return false;
+         }
+   };
+
+      /// Uniqueness operator for block 9 FIC data
+   struct FICDataUniqueBlock9 : 
+      public std::binary_function<gpstk::FICData, gpstk::FICData, bool>
+   {
+   public:
+      bool operator() (const gpstk::FICData& l, 
+                       const gpstk::FICData& r) const
+         {
+               // the unique criteria are PRN, week, IODC, AS/alert bits
+            return ( (l.f[19] == r.f[19]) &&
+                     (l.f[3] == r.f[3]) &&
+                     (l.f[5] == r.f[5]) &&
+                     (l.f[23] == r.f[23]) &&
+                     (l.f[43] == r.f[43]) &&
+                     ( (l.f[9] / 2048) == (r.f[9] / 2048) ) );
+         }
+   };
+
+      /// Uniqueness operator for block 109 FIC data
+   struct FICDataUniqueBlock109 : 
+      public std::binary_function<gpstk::FICData, gpstk::FICData, bool>
+   {
+   public:
+      bool operator() (const gpstk::FICData& l, 
+                       const gpstk::FICData& r) const
+      {
+            // the unique criteria are PRN, week, IODC, AS/alert bits
+         return ( (l.i[1] == r.i[1]) &&
+                  (l.i[0] == r.i[0]) &&
+                     // crack IODC on subframe 1
+                  ((((l.i[4] << 2) & 0x00000300) + ((l.i[9] >> 22) & 0xFF)) ==
+                   (((r.i[4] << 2) & 0x00000300) + ((r.i[9] >> 22) & 0xFF))) &&
+                      // crack AS/Alert on subframe 1
+                  ( ((l.i[4] >> 11) & 0x3) == ((r.i[4] >> 11) & 0x3) ) &&
+                     // crack AS/Alert on subframe 2
+                  ( ((l.i[14] >> 11) & 0x3) == ((r.i[14] >> 11) & 0x3) ) &&
+                     // crack AS/Alert on subframe 3
+                  ( ((l.i[24] >> 11) & 0x3) == ((r.i[24] >> 11) & 0x3) ) );
+      }
+   };
+}
+
+#endif
+
diff --git a/trunk/src/FICHeader.cpp b/trunk/src/FICHeader.cpp
new file mode 100644
index 0000000..7fe0332
--- /dev/null
+++ b/trunk/src/FICHeader.cpp
@@ -0,0 +1,140 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICHeader.cpp#2 $"
+
+/**
+ * @file FICHeader.cpp
+ * gpstk::FICHeader - container for the FIC file header data.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "StringUtils.hpp"
+#include "FICHeader.hpp"
+#include "FICStream.hpp"
+#include "FICAStream.hpp"
+
+using namespace gpstk::StringUtils;
+
+const int gpstk::FICHeader::headerSize = 40;
+
+
+namespace gpstk
+{
+   using namespace std;
+
+   
+   void FICHeader::reallyPutRecord(FFStream& ffs) const 
+      throw(std::exception, gpstk::StringUtils::StringException, 
+            gpstk::FFStreamError)
+   {
+      string theHeader(header);
+      if(FICStream* strm = dynamic_cast<FICStream*>(&ffs))
+      {
+            // This is a binary FIC stream, so
+            // send the 40 character header, truncated or padded 
+            //  with ' ' as needed.
+         *strm << leftJustify(theHeader, headerSize, ' ');
+      }
+      else if (FICAStream* ficas = dynamic_cast<FICAStream*>(&ffs))
+      {
+            // If this is a FICA stream, add some extra stuff as well as
+            // send the 40 character header, truncated or padded 
+            //  with ' ' as needed.
+         *ficas << "    " << leftJustify(theHeader, headerSize, ' ') << '\n';
+      }
+      else
+      {
+         gpstk::FFStreamError e("Attempt to write a FICHeader object"
+                                " to a non-FIC(A)Stream FFStream.");
+         GPSTK_THROW(e);
+      }
+   }
+
+   void FICHeader::dump(ostream& s) const 
+   {
+      s << header << endl;
+   };
+
+   void FICHeader::reallyGetRecord(FFStream& ffs)
+      throw(std::exception, gpstk::StringUtils::StringException, 
+            gpstk::FFStreamError)
+   {
+      FICStreamBase *fsb = dynamic_cast<FICStreamBase *>(&ffs);
+      if(fsb == NULL)
+      {
+         gpstk::FFStreamError e("Attempt to read a FICHeader object"
+                                " from a non-FICStreamBase FFStream.");
+         GPSTK_THROW(e);
+      }
+
+      char c[headerSize + 1];
+      
+         // if this is a FICA stream, get 4 characters
+      FICAStream* ficas = dynamic_cast<FICAStream*>(&ffs);
+      
+      if (ficas)
+      {
+         const int blankChrs = 4;
+         char whitespaces[blankChrs + 1];
+         ffs.read(whitespaces, blankChrs);
+      }
+      
+      ffs.read(c, headerSize);
+      if (ffs.gcount() != headerSize)
+      {
+         FFStreamError e("Error reading header");
+         GPSTK_THROW(e);
+      }
+      
+      c[headerSize]='\0';
+      header = c;
+      fsb->headerRead=true;
+      fsb->header.header = header;
+      
+      if (ficas)
+      {
+         string line;
+         ficas->formattedGetLine(line);
+         ficas->formattedGetLine(line);
+      }
+   }  // end of FICHeader::getRecord()
+
+} // namespace gpstk
diff --git a/trunk/src/FICHeader.hpp b/trunk/src/FICHeader.hpp
new file mode 100644
index 0000000..6f92bdf
--- /dev/null
+++ b/trunk/src/FICHeader.hpp
@@ -0,0 +1,111 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICHeader.hpp#1 $"
+
+/**
+ * @file FICHeader.hpp
+ * gpstk::FICHeader - container for the FIC file header data.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICHEADER_HPP
+#define FICHEADER_HPP
+
+#include "FFStream.hpp"
+#include "FICBase.hpp"
+
+namespace gpstk
+{
+      /**
+       * This is the Header for the FIC File Model.
+       * There is one 40 character header at the start of each FIC file,
+       * ASCII or binary.
+       * 
+       * \sa fic_test.cpp, fic_read_write.cpp, and fica_test.cpp for examples.
+       *
+       * \sa FICStream, FICAStream, and FICData.
+       */
+   class FICHeader : public FICBase
+   {
+   public:
+         /// Default constructor
+      FICHeader() {}
+
+         /// Destructor
+      virtual ~FICHeader() {}
+
+         /// FICHeader is a header, so this function always returns true.
+      virtual bool isHeader() const {return true;}
+     
+         /**
+          * This function does \b nothing.
+          */
+      virtual void dump(std::ostream& s) const;
+
+         /// The header string.
+      std::string header;
+
+         /// constant for the header size.
+      static const int headerSize;
+
+   protected:
+         /// Writes the header string to the FFStream \a s.
+      virtual void reallyPutRecord(FFStream& s) const 
+         throw(std::exception, gpstk::StringUtils::StringException, 
+               gpstk::FFStreamError);
+
+         /**
+          * Retrieve the header string from the FFStream \a s.
+          * If the read fails for some reason, the stream will
+          * be reset to its original position, and its fail-bit
+          * will be set.
+          * @throws FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs.  This also resets the
+          *  stream to its pre-read position.
+          */
+      virtual void reallyGetRecord(FFStream& s) 
+         throw(std::exception, gpstk::StringUtils::StringException, 
+               gpstk::FFStreamError);
+
+   }; // class FICHeader
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/FICStream.hpp b/trunk/src/FICStream.hpp
new file mode 100644
index 0000000..5cefed5
--- /dev/null
+++ b/trunk/src/FICStream.hpp
@@ -0,0 +1,94 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICStream.hpp#1 $"
+
+/**
+ * @file FICStream.hpp
+ * gpstk::FICStream - binary FIC file stream container.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICSTREAM_HPP
+#define FICSTREAM_HPP
+
+#include <vector>
+#include <map>
+
+#include "FICStreamBase.hpp"
+#include "FFBinaryStream.hpp"
+#include "FICHeader.hpp"
+
+namespace gpstk
+{
+      /** 
+       * This is a stream used to obtain data from a binary FIC File.
+       * 
+       * \sa fic_test.cpp and fic_read_write.cpp for an example.
+       *
+       * \sa FICData and FICHeader.
+       */
+   class FICStream : public FFBinaryStream, public FICStreamBase
+   {
+   public:
+         /// default constructor
+      FICStream() {}
+
+         /**
+          * Constructor
+          * @param fn the name of the FIC file to be opened
+          * @param mode the ios::openmode to be used on \a fn
+          */
+      FICStream(const char* fn,
+                std::ios::openmode mode=std::ios::in|std::ios::binary)
+            : FFBinaryStream(fn, mode)
+         {}
+
+         /// destructor per the coding standards
+      virtual ~FICStream() {}
+
+         /// overrides open to reset the header
+      virtual void open(const char* fn, std::ios::openmode mode)
+         { FFBinaryStream::open(fn, mode); FICStreamBase::open(); }
+
+   }; // class FICStream
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/FICStreamBase.hpp b/trunk/src/FICStreamBase.hpp
new file mode 100644
index 0000000..90b1ca2
--- /dev/null
+++ b/trunk/src/FICStreamBase.hpp
@@ -0,0 +1,85 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FICStreamBase.hpp#1 $"
+
+/**
+ * @file FICStreamBase.hpp
+ * gpstk::FICStreamBase stores common FIC stream data.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef FICSTREAMBASE_HPP
+#define FICSTREAMBASE_HPP
+
+#include <vector>
+#include <map>
+
+#include "FICHeader.hpp"
+
+namespace gpstk
+{
+      /** 
+       * Encapsulates FIC stream data for FIC and FICA files.
+       */
+   class FICStreamBase
+   {
+   public:
+         /// Default constructor
+      FICStreamBase()
+            : headerRead(false)
+         {}
+
+         /// destructor per the coding standards
+      virtual ~FICStreamBase() {}
+      
+         /// resets the header info for derived classes
+      void open()
+         { headerRead = false;  header = FICHeader(); }
+
+         /// Whether or not the header's been read for this file.
+      bool headerRead;  
+         /// The FICHeader object for this file.
+      FICHeader header; 
+
+   };
+}
+
+#endif
diff --git a/trunk/src/FileFilter.hpp b/trunk/src/FileFilter.hpp
new file mode 100644
index 0000000..1da02f2
--- /dev/null
+++ b/trunk/src/FileFilter.hpp
@@ -0,0 +1,409 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileFilter.hpp#2 $"
+
+/**
+ * @file FileFilter.hpp
+ * A framework for sorting and filtering file data.
+ */
+
+#ifndef GPSTK_FILEFILTER_HPP
+#define GPSTK_FILEFILTER_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <functional>
+#include <algorithm>
+
+#include "FFData.hpp"
+#include "FileSpec.hpp"
+
+namespace gpstk
+{
+   /** @defgroup filedirgroup File and Directory Processing Utilities */
+   //@{
+
+      /**
+       * This class is a framework for sorting and filtering file data.
+       * It borrows several datatypes from FileSpec for cohesion of data
+       * types.  Add the data to the filter, specify the parameters (date,
+       * exclusion filters, etc.), then process it.  For the specific data
+       * type, you can specify your own operators for sorting, uniqueness,
+       * or almost anything else you want to do to the data.
+       *
+       * @warning The FFData class you're sorting MUST have a weak strict
+       * ordering as defined in the FileFilterOperator.
+       */
+
+   template<class FileData>
+   class FileFilter
+   {
+   public:
+         /// Default constructor
+      FileFilter(void);
+
+         /// Destructor
+      virtual ~FileFilter();
+
+         /// Adds the given data into the filter.
+      FileFilter& addData(const FileData& ffd);
+
+         /// Adds arbitrary data to the filter.
+      FileFilter& addData(const std::list<FileData>& datavec);
+
+         /// Sorts the data.
+         /// @warning bp MUST be a strict weak ordering!
+      template <class Compare>
+      FileFilter& sort(Compare comp)
+     {
+         // FIX: this someday...
+         // this is a total hack until Solaris gets their act together and
+         // gets list::sort() working again
+         // all the code below can be replaced (someday) by this one line:
+         //      dataVec.sort(comp);
+
+         // make a vector of pointer to list iterator objects...
+      std::vector<lItrType> data(dataVec.size());
+      lItrType itr = dataVec.begin();
+      typename std::vector<lItrType>::size_type i = 0;
+      while (itr != dataVec.end())
+      {
+         data[i] = itr;
+         i++;
+         itr++;
+      }
+      
+         // use SortAdapter to use comp with the pointer vector
+         // then sort the vector
+      SortAdapter<Compare> sa(comp);
+      std::stable_sort(data.begin(), data.end(), sa);
+      
+         // make a new list of the data in the right order, then copy that
+         // over dataVec.
+      lType fdlist;
+      for (i = 0; i < data.size(); i++)
+      {
+         fdlist.push_back(*data[i]);
+      }
+      dataVec = fdlist;
+      
+/*
+         // move the items into the correct order with splice.
+         // splice does nothing if (itr == data[i]) || (itr == ++data[i])
+         // so the data is inserted backwards to avoid this...
+      i = data.size();
+      while (i != 0)
+      {
+         itr = dataVec.begin();
+         --i;
+         dataVec.splice(itr, dataVec, data[i]);
+      }
+*/            
+      return *this;
+   }
+
+
+         /// Combines the data from the input filter to this object.
+      FileFilter& merge(const FileFilter& right);
+
+         /// Combines the data from the input filter to this object using
+         /// the predicate to sort the data it merges.
+         /// This should use list::merge(list, bp) but since it's broken in
+         /// forte...
+      template <class Compare>
+      FileFilter& merge(const FileFilter& right, Compare bp)
+         { merge(right); sort(bp); return *this; }
+
+         /// After sorting, use this to filter the data.
+         /// @warning The data must be sorted first
+      template <class BinaryPredicate>
+      FileFilter& unique(BinaryPredicate bp)
+   {
+         //  FIX: unique is broken or doesnt like my syntax
+         //  so i wrote my own version of it
+//      list<FileData>::iterator itr = 
+//         unique(dataVec.begin(), dataVec.end(), bp);
+      filtered = 0;
+      
+      typename std::list<FileData>::iterator first = dataVec.begin();
+      typename std::list<FileData>::iterator second= dataVec.begin();
+      second++;
+      
+         // keep only the first of many unique values
+      while (second != dataVec.end())
+      {
+         if ( bp(*first, *second))
+         {
+            second = dataVec.erase(second);
+            filtered++;
+         }
+         else
+         {
+            first++;
+            second++;
+         }
+      }
+      
+      return *this;
+   }
+
+         /// This filters data based on a single test.  All data that
+         /// passes the UnaryPredicate (i.e. it returns true) is removed
+         /// @warning Depending on the filter, your data may need to be sorted
+      template <class Predicate>
+      FileFilter& filter(Predicate up)
+   {
+         // delete all values for which up() is true
+      filtered = 0;
+      
+      typename std::list<FileData>::iterator itr = dataVec.begin();
+      
+      while (itr != dataVec.end())
+      {
+         if (up(*itr))
+         {
+            itr = dataVec.erase(itr);
+            filtered++;
+         }
+         else
+            itr++;
+      }
+      
+      return *this;
+   }
+
+         /// Applies Operation on all the data elements, counting each one that
+         /// gets modified (for which Operation returns true). The operation
+         /// is passed by reference so that it can retain state information
+         /// for use by the program calling it.
+      template <class Operation>
+      FileFilter& touch(Operation& op)
+   {
+      filtered = 0;
+      
+      typename std::list<FileData>::iterator itr = dataVec.begin();
+      
+      while (itr != dataVec.end())
+      {
+         if (op(*itr))
+            filtered++;
+         itr++;
+      }
+      
+      return *this;
+   }
+
+         /// a const operator touch for the classes that need it.
+      template <class Operation>
+      FileFilter& touch(const Operation& op)
+         { Operation o(op); return touch(o); }
+
+         /// Returns two lists - one of the data in *this that isn't in r and
+         /// the second of data in r that isn't in *this.  Remember that /a p
+         /// has to be a strict weak ordering on the data.  
+         /// @warning the input data needs to be sorted according to /a p 
+         /// before running diff().  This also means that /a p is a strict
+         /// weak ordering on the data (i.e. /a p sorts the data).
+      template <class BinaryPredicate>
+      std::pair< std::list<FileData>, std::list<FileData> > 
+      diff(const FileFilter<FileData>& r, BinaryPredicate p) const
+   {
+      std::pair< std::list<FileData>, std::list<FileData> > toReturn;
+      
+      std::set_difference(dataVec.begin(), dataVec.end(),
+                          r.dataVec.begin(), r.dataVec.end(),
+                          std::inserter(toReturn.first, 
+                                        toReturn.first.begin()),
+                          p);
+      
+      std::set_difference(r.dataVec.begin(), r.dataVec.end(),
+                          dataVec.begin(), dataVec.end(),
+                          std::inserter(toReturn.second, 
+                                        toReturn.second.begin()),
+                          p);
+      
+      return toReturn;
+   }
+
+         /// Returns a list of data matching the given unary predicate.
+      template <class Predicate>
+      std::list<FileData> findAll(Predicate p) const
+   {
+      std::list<FileData> toReturn;
+      typename std::list<FileData>::const_iterator itr = dataVec.begin();
+      
+      while (itr != dataVec.end())
+      {
+         if (p(*itr))
+            toReturn.push_back((*itr));
+         itr++;
+      }
+      
+      return toReturn;
+      
+   }
+
+         /// Returns the number of items filtered from the last filter()
+         /// touch() or unique() call.
+      int getFiltered() const {return filtered;}
+
+         /// Returns the contents of the data list.
+      std::list<FileData>& getData(void) {return dataVec;}
+
+         /// Returns the contents of the data list, const.
+      std::list<FileData> getData(void) const {return dataVec;}
+
+         /// Returns the number of data items in the filter.
+      typename std::list<FileData>::size_type getDataCount(void) const 
+         { return dataVec.size(); }
+
+      typename std::list<FileData>::const_iterator begin() const
+         { return dataVec.begin(); }
+
+      typename std::list<FileData>::const_iterator end() const
+         { return dataVec.end(); }
+
+      typename std::list<FileData>::iterator begin() 
+         { return dataVec.begin(); }
+
+      typename std::list<FileData>::iterator end() 
+         { return dataVec.end(); }
+
+      bool empty() const
+         { return dataVec.empty(); }
+
+      void clear()
+         { dataVec.clear(); }
+
+      typename std::list<FileData>::size_type size()
+         { return dataVec.size(); }
+
+      FileData& front()
+         { return dataVec.front(); }
+
+      const FileData& front() const
+         { return dataVec.front(); }
+
+      FileData& back()
+         { return dataVec.back(); }
+
+      const FileData& back() const
+         { return dataVec.back(); }
+
+   protected:
+         /// List of file data to be filtered.
+      typedef std::list<FileData> lType;
+      lType dataVec;
+      typedef typename std::list<FileData>::iterator lItrType;
+
+         /// SortAdapter is an adapter class that takes any comparison
+         /// function and instead uses list iterator objects instead
+         /// of FileData.  This is only used by sort() and shouldn't be 
+         /// used elsewhere.
+      template<class Compare>
+      class SortAdapter  : 
+         public std::binary_function<lItrType, lItrType, bool>
+      {
+      public:
+         SortAdapter(Compare& c)
+               : comp(c)
+            {}
+
+         bool operator()(const lItrType l,
+                         const lItrType r) const
+            {
+               return comp(*l, *r);
+            }
+      private:
+         Compare comp;
+      };
+
+         /// A count of the last number of items filtered
+      int filtered;
+   };
+
+   //@}
+
+      template<class FileData>
+   FileFilter<FileData> :: FileFilter(void)
+         : filtered(0)
+   {}
+
+   template<class FileData>
+   FileFilter<FileData> :: ~FileFilter()
+   {
+   }
+
+   template<class FileData>
+   FileFilter<FileData>& FileFilter<FileData> :: 
+   addData(const FileData& ffd)
+   {
+      dataVec.push_back(ffd);
+      return *this;
+   }
+
+   template <class FileData>
+   FileFilter<FileData>& FileFilter<FileData> :: 
+   addData(const std::list<FileData>& datavec)
+   {
+      std::copy(datavec.begin(), datavec.end(),
+                std::inserter(dataVec, dataVec.begin()));
+      return *this;
+   }
+   
+   template <class FileData>
+   FileFilter<FileData>&
+   FileFilter<FileData> ::
+   merge(const FileFilter<FileData>& right)
+   {
+         // cast out const to use the non-const version of getData()
+      FileFilter<FileData>& r = (FileFilter<FileData>&)(right);
+      
+         // copy rightData into *this
+      std::list<FileData>& rightData = r.getData();
+      std::copy(rightData.begin(), rightData.end(),
+                std::inserter(dataVec, dataVec.begin()));
+      
+      return *this;
+   }
+
+} // namespace gpstk
+
+#endif // GPSTK_FILEFILTER_HPP
diff --git a/trunk/src/FileFilterFrame.hpp b/trunk/src/FileFilterFrame.hpp
new file mode 100644
index 0000000..7813a20
--- /dev/null
+++ b/trunk/src/FileFilterFrame.hpp
@@ -0,0 +1,376 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileFilterFrame.hpp#3 $"
+
+/**
+ * @file FileFilterFrame.hpp
+ * Wrapper for gpstk::FileHunter and gpstk::FileFilter
+ */
+
+#ifndef GPSTK_FILEFILTERFRAME_HPP
+#define GPSTK_FILEFILTERFRAME_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileSpec.hpp"
+#include "FileFilter.hpp"
+#include "FileHunter.hpp"
+#include "FileUtils.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup filedirgroup */
+   //@{
+
+      /**
+       * This class is a wrapper for FileHunter and FileFilter, allowing you
+       * to easily pick what files you want to process and how to process
+       * them.  In the constructors, providing a start and end time will
+       * allow FileHunter to pick the correct files for that date range.
+       * After the object is built, it is ready for filtering.
+       *
+       * Use the filter(), sort(), unique() and touch() operators to run
+       * whatever operations you want to on the data, then write out the 
+       * files when you're done.  You can also get access to the data with
+       * getData() and run whatever other post processing tools you would like
+       * to.  
+       *
+       * See the examples in FileFilterFrameTest.cpp for a demonstration.
+       */
+   template <class FileStream, class FileData>
+   class FileFilterFrame : public FileFilter<FileData>
+   {
+   public:
+         /// Default constructor
+      FileFilterFrame(const gpstk::DayTime& start = 
+                         gpstk::DayTime::BEGINNING_OF_TIME,
+                      const gpstk::DayTime& end = 
+                         gpstk::DayTime::END_OF_TIME)
+         throw(gpstk::Exception);
+
+         /// Takes a list of files to open in lieu of day times
+      FileFilterFrame(const std::vector<std::string>& fileList,
+                      const gpstk::DayTime& start = 
+                         gpstk::DayTime::BEGINNING_OF_TIME,
+                      const gpstk::DayTime& end = 
+                         gpstk::DayTime::END_OF_TIME)
+         throw(gpstk::Exception);
+
+         /// Takes a file name for a single file filter.
+         /// This can throw an exception when there's a file error.
+      FileFilterFrame(const std::string& filename, 
+                      const gpstk::DayTime& start = 
+                         gpstk::DayTime::BEGINNING_OF_TIME,
+                      const gpstk::DayTime& end = 
+                         gpstk::DayTime::END_OF_TIME)
+         throw(gpstk::Exception);
+
+         /// Uses the FileSpec to retrieve files.  Use filter like you would
+         /// in FileHunter, to filter FOR stations, receivers, etc.
+         /// This can throw an exception when there's a file error.
+      FileFilterFrame(const FileSpec& spec, 
+                      const gpstk::DayTime& start = 
+                         gpstk::DayTime::BEGINNING_OF_TIME,
+                      const gpstk::DayTime& end = 
+                         gpstk::DayTime::END_OF_TIME,
+                      const std::vector<FileHunter::FilterPair>& filter = 
+                      std::vector<FileHunter::FilterPair>())
+         throw(gpstk::Exception);
+
+         /// Gets the files from the file spec and the time, then adds
+         /// the data to the filter. Use filter like you would
+         /// in FileHunter, to filter FOR stations, receivers, etc.
+      FileFilterFrame& 
+      newSource(const FileSpec& filespec, 
+                const gpstk::DayTime& start = 
+                   gpstk::DayTime::BEGINNING_OF_TIME,
+                const gpstk::DayTime& end = 
+                   gpstk::DayTime::END_OF_TIME,
+                const std::vector<FileHunter::FilterPair>& filter = 
+                   std::vector<FileHunter::FilterPair>())
+         throw(gpstk::Exception);
+
+         /// Reads in the file and adds the data to the filter.
+      FileFilterFrame& 
+      newSource(const std::string& filename, 
+                const gpstk::DayTime& start = 
+                   gpstk::DayTime::BEGINNING_OF_TIME,
+                const gpstk::DayTime& end = 
+                   gpstk::DayTime::END_OF_TIME)
+         throw(gpstk::Exception);
+
+         /// Takes a list of files to open in lieu of day times
+      FileFilterFrame&
+      newSource(const std::vector<std::string>& fileList,
+                const gpstk::DayTime& start = 
+                   gpstk::DayTime::BEGINNING_OF_TIME,
+                const gpstk::DayTime& end = 
+                   gpstk::DayTime::END_OF_TIME)
+         throw(gpstk::Exception);
+
+      virtual ~FileFilterFrame() {}
+
+         /**
+          * Writes the data to the file outputFile, truncating the
+          * output file if it already exists unless append is true.
+          * This can throw an exception when there's a file error.
+          * @return true when it works.
+          * @warning This will not write out headers for files that need them,
+          * and files that depend on header data will (like RINEX) will not
+          * be written correctly with this function.  Use 
+          * FileFilterFrameWithHeader for those file types.
+          */
+      bool writeFile(const std::string& outputFile,
+                     const bool append = false) const
+         throw(gpstk::Exception);
+
+         /**
+          * Writes the data to the supplied stream.
+          * This can throw an exception when there's a file error.
+          * @return true when it works.
+          * @warning This will not write out headers for files that need them,
+          * and files that depend on header data will (like RINEX) will not
+          * be written correctly with this function.  Use 
+          * FileFilterFrameWithHeader for those file types.
+          */
+      bool writeFile(FileStream& stream) const
+         throw(gpstk::Exception);
+
+   protected:
+         ///  Run init() to load the data into the filter.
+      void init(const std::vector<FileHunter::FilterPair>& filter= 
+                std::vector<FileHunter::FilterPair>()) 
+         throw(gpstk::Exception);
+
+
+   protected:   
+         /// The file spec for this filter
+      FileSpec fs;
+         /// the start and end dates for the filter.
+      gpstk::DayTime startTime, endTime;
+
+   };
+
+   //@}
+
+   template <class FileStream, class FileData>
+   FileFilterFrame<FileStream,FileData> :: 
+   FileFilterFrame(const gpstk::DayTime& start,
+                   const gpstk::DayTime& end)
+      throw(gpstk::Exception)
+         : startTime(start), endTime(end)
+   {}
+
+   template <class FileStream, class FileData>
+   FileFilterFrame<FileStream,FileData> :: 
+   FileFilterFrame(const std::vector<std::string>& fileList,
+                   const gpstk::DayTime& start,
+                   const gpstk::DayTime& end)
+      throw(gpstk::Exception)
+         : startTime(start), endTime(end)
+   {
+      typename std::vector<std::string>::const_iterator itr;
+      for (itr = fileList.begin(); itr != fileList.end(); itr++)
+      {
+         fs.newSpec(*itr);
+         init();
+      }
+   }
+
+   template <class FileStream, class FileData>
+   FileFilterFrame<FileStream,FileData> :: 
+   FileFilterFrame(const std::string& filename, 
+                   const gpstk::DayTime& start,
+                   const gpstk::DayTime& end)
+      throw(gpstk::Exception)
+         : fs(filename), startTime(start), endTime(end)
+   {
+      init();
+   }
+
+   template <class FileStream, class FileData>
+   FileFilterFrame<FileStream,FileData> :: 
+   FileFilterFrame(const FileSpec& spec, 
+                   const gpstk::DayTime& start,
+                   const gpstk::DayTime& end,
+                   const std::vector<FileHunter::FilterPair>& filter)
+      throw(gpstk::Exception)
+         : fs(spec), startTime(start), endTime(end)
+   {
+      init(filter);
+   }
+
+   template <class FileStream, class FileData>
+   FileFilterFrame<FileStream, FileData>& 
+   FileFilterFrame<FileStream,FileData> :: 
+   newSource(const FileSpec& filespec, 
+             const gpstk::DayTime& start,
+             const gpstk::DayTime& end,
+             const std::vector<FileHunter::FilterPair>& filter)
+      throw(gpstk::Exception)
+   {
+      startTime = start;
+      endTime = end;
+
+      fs = filespec;
+      init(filter);
+      return *this;
+   }
+
+   template <class FileStream, class FileData>
+   FileFilterFrame<FileStream, FileData>& 
+   FileFilterFrame<FileStream,FileData> :: 
+   newSource(const std::string& filename, 
+             const gpstk::DayTime& start,
+             const gpstk::DayTime& end)
+      throw(gpstk::Exception)
+   {
+      startTime = start;
+      endTime = end;
+   
+      fs.newSpec(filename);
+      init();
+      return *this;
+   }
+
+   template <class FileStream, class FileData>
+   FileFilterFrame<FileStream, FileData>& 
+   FileFilterFrame<FileStream,FileData> :: 
+   newSource(const std::vector<std::string>& fileList, 
+             const gpstk::DayTime& start,
+             const gpstk::DayTime& end)
+      throw(gpstk::Exception)
+   {
+      startTime = start;
+      endTime = end;
+   
+      typename std::vector<std::string>::const_iterator itr;
+      for (itr = fileList.begin(); itr != fileList.end(); itr++)
+      {
+         fs.newSpec(*itr);
+         init();
+      }
+      return *this;
+   }
+
+   template <class FileStream, class FileData>
+   void
+   FileFilterFrame<FileStream,FileData> :: 
+   init(const std::vector<FileHunter::FilterPair>& filter)
+      throw(gpstk::Exception)
+   {
+         // find the files
+      FileHunter fh(fs);
+   
+      typename std::vector<FileHunter::FilterPair>::const_iterator itr = 
+         filter.begin();
+      while (itr != filter.end())
+      {
+         fh.setFilter((*itr).first, (*itr).second);
+         itr++;
+      }
+
+      std::vector<std::string> listOfFiles = 
+         fh.find(startTime, endTime, FileSpec::ascending);
+
+         // for each file, read it into the filter
+      typename std::vector<std::string>::iterator i;
+      for(i = listOfFiles.begin(); i != listOfFiles.end(); i++)
+      {
+         FileStream s((*i).c_str());
+
+         if (s.good())
+         {
+            s.exceptions(std::ios::failbit);
+         
+            FileData data;
+         
+            while (s >> data)
+            {
+               addData(data);
+            }
+         }
+      }
+   }
+
+   template <class FileStream, class FileData>
+   bool FileFilterFrame<FileStream,FileData> :: 
+   writeFile(const std::string& str,
+             const bool append) const
+      throw(gpstk::Exception)
+   {
+      if (!this->dataVec.empty())
+      {
+            // make the directory (if needed)
+         std::string::size_type pos = str.rfind('/');
+         if (pos != std::string::npos)
+            gpstk::FileUtils::makeDir(str.substr(0,pos).c_str(), 0755);      
+
+         std::ios::openmode mode = std::ios::out;
+         if (append)
+            mode |= (std::ios::app|std::ios::ate);
+      
+         FileStream stream(str.c_str(), mode);
+         return writeFile(stream);
+      }
+
+      return true;
+   }
+
+   template <class FileStream, class FileData>
+   bool FileFilterFrame<FileStream,FileData> :: 
+   writeFile(FileStream& stream)
+      const throw(gpstk::Exception)
+   {
+      if (!this->dataVec.empty())
+      {
+         stream.exceptions(std::ios::failbit);      
+      
+         typename std::list<FileData>::const_iterator index;
+         for(index = this->dataVec.begin(); index != this->dataVec.end(); index++)
+            (*index).putRecord(stream);
+      }
+
+      return true;
+   }
+
+}  // namespace gpstk
+
+#endif // GPSTK_FILEFILTERFRAME_HPP
diff --git a/trunk/src/FileFilterFrameWithHeader.hpp b/trunk/src/FileFilterFrameWithHeader.hpp
new file mode 100644
index 0000000..f154ab4
--- /dev/null
+++ b/trunk/src/FileFilterFrameWithHeader.hpp
@@ -0,0 +1,431 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileFilterFrameWithHeader.hpp#3 $"
+
+/**
+ * @file FileFilterFrameWithHeader.hpp
+ * Wrapper for gpstk::FileHunter and gpstk::FileFilter that also handles header data
+ */
+
+#ifndef GPSTK_FILEFILTERFRAMEWITHHEADER_HPP
+#define GPSTK_FILEFILTERFRAMEWITHHEADER_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileFilterFrame.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup filedirgroup */
+   //@{
+
+      /**
+       * This is just like FileFilterFrame but it can also handle header
+       * data.  The header data is stored in an internal list that can be
+       * accessed with the *Header() methods below.  Certain classes (like
+       * RINEX Obs and Met) have filter functions that can be used with
+       * touch() to combine header data from various files. The merge utilities
+       * in wonky use this ability, and other file types with header data
+       * can benefit from using this class's ability to store and write
+       * header data - see the RINEX and FIC GFW classes for more examples.
+       *
+       * When initializing, this uses the FileFilterFrame::init() to read
+       * the FileData into the filter, then does a second pass with its own
+       * init() function to read the headers from those files. This
+       * is a little inefficient, but the goal of these classes was never
+       * efficiency.
+       */
+   template <class FileStream, class FileData, class FileHeader>
+   class FileFilterFrameWithHeader :
+      public FileFilterFrame<FileStream, FileData>
+   {
+   public:
+         /// Default constructor
+      FileFilterFrameWithHeader(const gpstk::DayTime& start = 
+                                   gpstk::DayTime::BEGINNING_OF_TIME,
+                                 const gpstk::DayTime& end = 
+                                   gpstk::DayTime::END_OF_TIME)
+         throw(gpstk::Exception) :
+            FileFilterFrame<FileStream, FileData>(start, end)
+         {}
+
+         /// Takes a list of files to open in lieu of day times
+      FileFilterFrameWithHeader(const std::vector<std::string>& fileList,
+                                 const gpstk::DayTime& start = 
+                                    gpstk::DayTime::BEGINNING_OF_TIME,
+                                 const gpstk::DayTime& end = 
+                                    gpstk::DayTime::END_OF_TIME)
+         throw(gpstk::Exception) :
+            FileFilterFrame<FileStream, FileData>(fileList, start, end)
+         {
+            std::vector<std::string>::const_iterator itr = fileList.begin();
+            while (itr != fileList.end())
+            {
+               this->fs.newSpec(*itr);
+               init();
+               itr++;
+            }
+         }
+
+         /// Takes a file name for a single file filter.
+         /// This can throw an exception when there's a file error.
+      FileFilterFrameWithHeader(const std::string& filename, 
+                                 const gpstk::DayTime& start = 
+                                    gpstk::DayTime::BEGINNING_OF_TIME,
+                                 const gpstk::DayTime& end = 
+                                    gpstk::DayTime::END_OF_TIME)
+         throw(gpstk::Exception) :
+            FileFilterFrame<FileStream, FileData>(filename, start, end)
+         {init();}
+
+         /// Uses the FileSpec to retrieve files.  Use filter like you would
+         /// in FileHunter, to filter FOR stations, receivers, etc.
+         /// This can throw an exception when there's a file error.
+      FileFilterFrameWithHeader(const FileSpec& spec, 
+                                 const gpstk::DayTime& start = 
+                                    gpstk::DayTime::BEGINNING_OF_TIME,
+                                 const gpstk::DayTime& end = 
+                                    gpstk::DayTime::END_OF_TIME,
+                                 const std::vector<FileHunter::FilterPair>& filter = 
+                                    std::vector<FileHunter::FilterPair>())
+         throw(gpstk::Exception) :
+            FileFilterFrame<FileStream, FileData>(spec, start, end, filter)
+         {init(filter);}
+
+         /// Gets the files from the file spec and the time, then adds
+         /// the data to the filter. Use filter like you would
+         /// in FileHunter, to filter FOR stations, receivers, etc.
+      FileFilterFrameWithHeader& 
+      newSource(const FileSpec& filespec, 
+                const gpstk::DayTime& start = 
+                   gpstk::DayTime::BEGINNING_OF_TIME,
+                const gpstk::DayTime& end = 
+                   gpstk::DayTime::END_OF_TIME,
+                const std::vector<FileHunter::FilterPair>& filter = 
+                   std::vector<FileHunter::FilterPair>())
+         throw(gpstk::Exception)
+         {
+            FileFilterFrame<FileStream, FileData>::newSource(filespec, start,
+                                                             end, filter);
+            init(filter);
+            return *this;
+         }
+
+         /// Reads in the file and adds the data to the filter.
+      FileFilterFrameWithHeader& 
+      newSource(const std::string& filename, 
+                const gpstk::DayTime& start = 
+                   gpstk::DayTime::BEGINNING_OF_TIME,
+                const gpstk::DayTime& end = 
+                   gpstk::DayTime::END_OF_TIME)
+         throw(gpstk::Exception)
+         {
+            FileFilterFrame<FileStream, FileData>::newSource(filename, start,
+                                                             end);
+            init();
+            return *this;
+         }
+
+         /// Reads in the file and adds the data to the filter.
+      FileFilterFrameWithHeader& 
+      newSource(const std::vector<std::string>& fileList, 
+                const gpstk::DayTime& start = 
+                   gpstk::DayTime::BEGINNING_OF_TIME,
+                const gpstk::DayTime& end = 
+                   gpstk::DayTime::END_OF_TIME)
+         throw(gpstk::Exception)
+         {
+            FileFilterFrame<FileStream, FileData>::newSource(fileList, start,
+                                                             end);
+            typename std::vector<std::string>::const_iterator itr;
+            for (itr = fileList.begin(); itr != fileList.end(); itr++)
+            {
+               this->fs.newSpec(*itr);
+               init();
+            }
+            return *this;
+         }
+
+      virtual ~FileFilterFrameWithHeader() {}
+
+         /**
+          * Writes the data to the file outputFile with the given header.
+          * This will overwrite any existing file with the same name.
+          * This can throw an exception when there's a file error.
+          * @return true when it works.
+          * @warning This will not write out headers for files that need them.
+          */
+      bool writeFile(const std::string& outputFile,
+                     const FileHeader& fh) const
+         throw(gpstk::Exception);
+
+         /** performs the operation op on the header list. */
+      template <class Operation>
+      FileFilterFrameWithHeader& touchHeader(Operation& op)
+      {
+         typename std::list<FileHeader>::iterator itr = headerList.begin();
+
+         while (itr != headerList.end())
+         {
+            op(*itr);
+            itr++;
+         }
+
+         return *this;
+      }
+
+         /// Returns the contents of the header data list.
+      std::list<FileHeader>& getHeaderData(void) {return headerList;}
+
+         /// Returns the contents of the header data list, const.
+      std::list<FileHeader> getHeaderData(void) const {return headerList;}
+
+         /// Returns the number of data items in the header list.
+      typename std::list<FileHeader>::size_type getHeaderCount(void) const 
+         { return headerList.size(); }
+
+      typename std::list<FileHeader>::const_iterator beginHeader() const
+         throw(gpstk::InvalidRequest);
+
+      typename std::list<FileHeader>::const_iterator endHeader() const
+         throw(gpstk::InvalidRequest);
+
+      typename std::list<FileHeader>::iterator beginHeader() 
+         throw(gpstk::InvalidRequest);
+
+      typename std::list<FileHeader>::iterator endHeader() 
+         throw(gpstk::InvalidRequest);
+
+      bool emptyHeader() const
+         { return headerList.empty(); }
+
+      typename std::list<FileHeader>::size_type sizeHeader()
+         { return headerList.size(); }
+
+      FileHeader& frontHeader()
+         throw(gpstk::InvalidRequest);
+
+      const FileHeader& frontHeader() const
+         throw(gpstk::InvalidRequest);
+
+      FileHeader& backHeader()
+         throw(gpstk::InvalidRequest);
+
+      const FileHeader& backHeader() const
+         throw(gpstk::InvalidRequest);
+
+   protected:
+         ///  Run init() to load the data into the filter.  
+      void init(const std::vector<FileHunter::FilterPair>& filter= 
+                std::vector<FileHunter::FilterPair>()) 
+         throw(gpstk::Exception);
+
+         /// Check to make sure headerList is empty
+         /// @throw InvalidRequest if headerList is empty
+      inline void chl(const std::string& req) throw(gpstk::InvalidRequest)
+      {
+         gpstk::InvalidRequest exc("Header list is empty attempting to"
+                                    " satisfy "+req+" request.");
+         if (headerList.empty())
+         {
+            GPSTK_THROW(exc);
+         }
+      }
+
+   protected:   
+      std::list<FileHeader> headerList;
+   };
+
+   //@}
+
+   template <class FileStream, class FileData, class FileHeader>
+   bool FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::
+   writeFile(const std::string& outputFile,
+             const FileHeader& fh) const
+      throw(gpstk::Exception)
+   {
+         // make the directory (if needed)
+      std::string::size_type pos = outputFile.rfind('/');
+      if (pos != std::string::npos)
+         gpstk::FileUtils::makeDir(outputFile.substr(0,pos).c_str(), 0755);
+      
+      FileStream stream(outputFile.c_str(), std::ios::out|std::ios::trunc);
+      stream.exceptions(std::ios::failbit);
+
+      stream << fh;
+
+      typename std::list<FileData>::const_iterator index;
+      for(index = this->dataVec.begin(); index != this->dataVec.end(); index++)
+         stream << (*index);
+      return true;
+   }
+
+    template <class FileStream, class FileData, class FileHeader>
+   typename std::list<FileHeader>::const_iterator
+   FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::beginHeader()
+      const throw(gpstk::InvalidRequest)
+   {
+      try { chl("beginHeader"); }
+      catch(gpstk::InvalidRequest exc)
+      { GPSTK_RETHROW(exc); }
+      return headerList.begin();
+   }
+
+   template <class FileStream, class FileData, class FileHeader>
+   typename std::list<FileHeader>::const_iterator
+   FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::endHeader()
+      const throw(gpstk::InvalidRequest)
+   {
+      try { chl("endHeader"); }
+      catch(gpstk::InvalidRequest exc)
+      { GPSTK_RETHROW(exc); }
+      return headerList.end();
+   }
+
+   template <class FileStream, class FileData, class FileHeader>
+   typename std::list<FileHeader>::iterator
+   FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::beginHeader()
+      throw(gpstk::InvalidRequest)
+   {
+      try { chl("beginHeader"); }
+      catch(gpstk::InvalidRequest exc)
+      { GPSTK_RETHROW(exc); }
+      return headerList.begin();
+   }
+
+
+   template <class FileStream, class FileData, class FileHeader>
+   typename std::list<FileHeader>::iterator
+   FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::endHeader()
+      throw(gpstk::InvalidRequest)
+   {
+      try { chl("endHeader"); }
+      catch(gpstk::InvalidRequest exc)
+      { GPSTK_RETHROW(exc); }
+      return headerList.end();
+   }
+
+   template <class FileStream, class FileData, class FileHeader>
+   FileHeader&
+   FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::frontHeader()
+      throw(gpstk::InvalidRequest)
+   {
+      try { chl("frontHeader"); }
+      catch(gpstk::InvalidRequest exc)
+      { GPSTK_RETHROW(exc); }
+      return headerList.front();
+   }
+
+
+   template <class FileStream, class FileData, class FileHeader>
+   const FileHeader&
+   FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::frontHeader()
+      const throw(gpstk::InvalidRequest)
+   {
+      try { chl("frontHeader"); }
+      catch(gpstk::InvalidRequest exc)
+      { GPSTK_RETHROW(exc); }
+      return headerList.front();
+   }
+
+
+   template <class FileStream, class FileData, class FileHeader>
+   FileHeader&
+   FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::backHeader()
+      throw(gpstk::InvalidRequest)
+   {
+      try { chl("backHeader"); }
+      catch(gpstk::InvalidRequest exc)
+      { GPSTK_RETHROW(exc); }
+      return headerList.back();
+   }
+
+
+   template <class FileStream, class FileData, class FileHeader>
+   const FileHeader&
+   FileFilterFrameWithHeader<FileStream,FileData,FileHeader>::backHeader()
+      const throw(gpstk::InvalidRequest)
+   {
+      try { chl("backHeader"); }
+      catch(gpstk::InvalidRequest exc)
+      { GPSTK_RETHROW(exc); }
+      return headerList.back();
+   }
+
+   template <class FileStream, class FileData, class FileHeader>
+   void
+   FileFilterFrameWithHeader<FileStream,FileData,FileHeader> :: 
+   init(const std::vector<FileHunter::FilterPair>& filter)
+      throw(gpstk::Exception)
+   {
+         // find the files
+      FileHunter fh(this->fs);
+   
+      typename std::vector<FileHunter::FilterPair>::const_iterator itr = 
+         filter.begin();
+      while (itr != filter.end())
+      {
+         fh.setFilter((*itr).first, (*itr).second);
+         itr++;
+      }
+
+      std::vector<std::string> listOfFiles = 
+         fh.find(this->startTime, this->endTime, FileSpec::ascending);
+
+         // for each file, just read the header
+      typename std::vector<std::string>::iterator i;
+      for(i = listOfFiles.begin(); i != listOfFiles.end(); i++)
+      {
+         FileStream s((*i).c_str());
+
+         if (s.good())
+         {
+            s.exceptions(std::ios::failbit);
+
+            FileHeader header;
+            s >> header;
+            headerList.push_back(header);
+         }
+      }
+   }  
+
+} // namespace gpstk
+
+#endif //GPSTK_FILEFILTERFRAMEWITHHEADER_HPP
diff --git a/trunk/src/FileHunter.cpp b/trunk/src/FileHunter.cpp
new file mode 100644
index 0000000..b1e1bfb
--- /dev/null
+++ b/trunk/src/FileHunter.cpp
@@ -0,0 +1,696 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileHunter.cpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file FileHunter.cpp
+ * Find all files matching a specification.
+ */
+
+#include "FileHunter.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+// headers for directory searching interface
+#ifndef _WIN32
+#include <unistd.h>
+#include <dirent.h>
+#else
+#include <io.h>
+#include <direct.h>
+#define PATH_MAX _MAX_PATH
+#endif
+
+namespace gpstk
+{
+   FileHunter::FileHunter(const string& filespec)
+      throw(FileHunterException)
+   {
+      try
+      {
+         init(filespec);
+      }
+      catch (FileHunterException& e)
+      {
+         GPSTK_RETHROW(e);
+      }
+   }
+
+   FileHunter::FileHunter(const FileSpec& filespec)
+      throw(FileHunterException)
+   {
+      try
+      {
+         init(filespec.getSpecString());
+      }
+      catch (FileHunterException& e)
+      {
+         GPSTK_RETHROW(e);
+      }
+   }
+
+   FileHunter& FileHunter::newHunt(const string& filespec)
+      throw(FileHunterException)
+   {
+      try
+      {
+         init(filespec);
+      }
+      catch (FileHunterException& e)
+      {
+         GPSTK_RETHROW(e);
+      }
+      return *this;
+   }
+
+   FileHunter& FileHunter::setFilter(const FileSpec::FileSpecType fst,
+                                     const vector<string>& filter)
+      throw(FileHunterException)
+   {
+         // try to find the field in the fileSpecList.
+      vector<FileSpec>::iterator itr = fileSpecList.begin();
+      while (itr != fileSpecList.end())
+      {
+         if ((*itr).hasField(fst))
+            break;
+         itr++;
+      }
+         // found the field - add the filter.
+      if (itr != fileSpecList.end())
+      {
+         filterList.push_back(FilterPair(fst, filter));
+         return *this;
+      }
+         // didn't find it - throw an exception
+      else
+      {
+         FileHunterException fhe("The FileSpec does not have a field: " +
+                                 FileSpec::convertFileSpecType(fst));
+         return *this;
+      }
+   }
+
+   vector<string> FileHunter::find(const DayTime& start,
+                                   const DayTime& end,
+                                   const FileSpec::FileSpecSortType fsst,
+                                   enum FileChunking chunk) const
+      throw(FileHunterException)
+   {
+      
+      // stupidity check
+      if (end < start)
+      {
+         FileHunterException fhe("The times are specified incorrectly");
+         GPSTK_THROW(fhe);
+      }
+
+         // move the start time back to a boundary defined by the file
+         // chunking
+      DayTime exStart;
+      switch(chunk)
+      {
+         case WEEK:
+            exStart = DayTime(start.GPSfullweek(), 0.0, start.GPSyear());
+            break;
+         case DAY:
+            exStart = DayTime(start.DOYyear(), start.DOYday(), 0.0);
+            break;
+         case HOUR:
+            exStart = DayTime(start.year(), start.month(),
+                              start.day(), start.hour(),
+                              0, 0.0);
+            break;
+         case MINUTE:
+            exStart = DayTime(start.year(), start.month(),
+                              start.day(), start.hour(),
+                              start.minute(), 0.0);
+            break;
+      }
+      
+      vector<string> toReturn;
+         // seed the return vector with an empty string.  you'll see why later
+      toReturn.push_back(string());
+
+      try
+      {
+         vector<FileSpec>::const_iterator itr = fileSpecList.begin();
+
+#ifdef _WIN32
+            // If Windows, we should seed it with the drive spec
+         if (itr != fileSpecList.end())
+         {
+            toReturn[0] = (*itr).getSpecString() + string(1,'\\');
+            itr++;
+         }
+#endif
+#ifdef __CYGWIN__
+            // If Cygwin AND the user is attempting to use DOS file paths,
+            // need to see with the /cygdrive "head".
+         if (itr != fileSpecList.end())
+         { 
+            toReturn[0] = string(1,slash) + (*itr).getSpecString();
+            itr++;
+         }
+#endif
+         
+         while (itr != fileSpecList.end())
+         {
+            vector<string> toReturnTemp;
+            
+               // counting variables
+            vector<string>::size_type i,j;
+
+            for(i = 0; i < toReturn.size(); i++)
+            {
+                  // search for the next entries
+                  
+         //Debug
+         //printf("In .find() before call to serachHelper()\n");
+         //string temp = (*itr).createSearchString();
+         //printf(" toReturn[%d]:'%s', spec:'%s'\n",
+         //         i,toReturn[i].c_str(),temp.c_str());
+         
+               vector<string> newEntries = searchHelper(toReturn[i],*itr);
+         //Debug
+         /*
+         vector<string>::iterator itr1 = newEntries.begin();
+         int j1 = 0;
+         printf("In .find() after call to searchHelper\n");
+         while (itr1 != newEntries.end())
+         {
+            printf("toReturn[%d],item %d,'%s'\n",i,j1,(*itr1).c_str());
+            itr1++;
+            j1++;
+         }
+         printf("In .find().  end of list\n");
+         */
+                  // after getting the potential entries, filter
+                  // them based on the user criteria...
+               filterHelper(newEntries, *itr);
+
+         //Debug
+         /*
+         vector<string>::iterator itr2 = newEntries.begin();
+         int j2 = 0;
+         printf("In .find() after call to filterHelper\n");
+         while (itr2 != newEntries.end())
+         {
+            printf("toReturn[%d],item %d,'%s'\n",i,j2,(*itr2).c_str());
+            itr2++;
+            j2++;
+         }
+         printf("In .find().  end of list\n");
+         */
+         
+                  // for each new entry, check the time (if possible)
+                  // then add it if it's in the correct time range.
+                  // this is why we need to enter an empty string to 
+                  // seed toReturn
+               for(j = 0; j < newEntries.size(); j++)
+               {
+                  try
+                  {
+                     DayTime fileDT = (*itr).extractDayTime(newEntries[j]);
+                     if ( (fileDT >= exStart) && (fileDT <= end) )
+                     {
+#ifdef _WIN32
+                        if (toReturn[i].empty())
+                           toReturnTemp.push_back(newEntries[j]);
+                        else
+                        {
+                           if ( toReturn[i][toReturn[i].size()-1]=='\\')
+                              toReturnTemp.push_back(toReturn[i] + newEntries[j]);
+                           else
+                              toReturnTemp.push_back(toReturn[i] + string(1,'\\') + 
+                                               newEntries[j]);
+                        }
+#else
+                        toReturnTemp.push_back(toReturn[i] + string(1,slash) + 
+                                               newEntries[j]);
+#endif
+                     }
+                  }
+                     // if you can't make a DayTime, just add it - 
+                     // most likely, this is a field that you can't
+                     // make a DayTime out of
+                  catch (FileSpecException &e)
+                  {
+#ifdef _WIN32
+                        if (toReturn[i].empty())
+                           toReturnTemp.push_back(newEntries[j]);
+                        else
+                        {
+                           if ( toReturn[i][toReturn[i].size()-1]=='\\')
+                              toReturnTemp.push_back(toReturn[i] + newEntries[j]);
+                           else
+                              toReturnTemp.push_back(toReturn[i] + string(1,'\\') + 
+                                            newEntries[j]);
+                        }
+#else
+                        toReturnTemp.push_back(toReturn[i] + string(1,slash) + 
+                                            newEntries[j]);
+#endif
+                  }
+               }
+            }
+            
+            toReturn = toReturnTemp;
+            
+               // Debug
+         /*
+         vector<string>::iterator itr3 = toReturn.begin();
+         int j3 = 0;
+         printf("In .find() just above toReturn empty check.\n");
+         while (itr3 != toReturn.end())
+         {
+            printf("toReturn[%d],'%s'\n",j3,(*itr3).c_str());
+            itr3++;
+            j3++;
+         }
+         printf("In .find().  end of list\n");
+         */
+
+               // if at any time toReturn is empty, then there are no matches
+               // so just return
+            if (toReturn.empty())
+               return toReturn;
+
+            itr++;
+         }
+
+            // sort the list by the file spec of the last field
+         itr--;
+         (*itr).sortList(toReturn, fsst);
+
+         return toReturn;
+      }
+      catch(...)
+      {
+         return toReturn;
+      }
+   }
+
+   void FileHunter::init(const string& filespec)
+      throw(FileHunterException)
+   {
+      try
+      {
+         fileSpecList.clear();
+         filterList.clear();
+
+         string fs(filespec);
+
+            // If working under Cygwin, then the file specification will be
+            // handled as if it's a system rooted in '/'.  HOWEVER, if the 
+            // user provided a spec that starts with a drive letter or
+            // provided a relative path, it needs to be modified to fit the
+            //
+            // /cygdrive/<drive letter>/path
+            //
+            // For example,
+            //     c:\ ->  /cygdrive/c
+            //     something -> <cwd>/something
+            //     c:\foo -> /cygdrive/c/foo
+            //
+            // form.
+#ifdef __CYGWIN__
+         //printf(" Entering 'ifdef __CYGWIN__' branch.\n");
+         char backSlash = '\\';
+         string::size_type st;
+         if (fs[1] == ':')
+         {
+            //printf("Cygwin 'if' branch.  fs = '%s'.  Size = %d\n",
+            //      fs.c_str(),fs.size());
+            char driveLetter = fs[0];
+            
+               // Change all '\' to '/'
+            while ((st = fs.find( backSlash )) != fs.npos)
+            {
+               //printf(" st = %d, ",st);
+               fs = fs.replace(st, 1, 1, slash );
+            }
+            //printf(" end of back slash replacement.\n");
+            //printf("After backslash replace.  fs = '%s'.\n",fs.c_str());
+            
+               // Remove drive letter and colon
+            fs.erase(0,2);
+            //printf("After removing draft letter and colon.  fs = '%s'.\n",fs.c_str());
+            
+               // Prepend "/cygdrive/driveLetter" to filespec
+            fs.insert(0, 1, driveLetter);
+            fs.insert(0,"/cygdrive/");
+         }
+         else
+         {
+            //printf("Cygwin 'else' branch.  fs = '%s'.\n",fs.c_str());
+               // Get current working directory.
+            char* cwd = getcwd(NULL, PATH_MAX);
+
+               // If strokes are in wrong directon, fix them
+            while ((st = fs.find( backSlash )) != fs.npos)
+            {
+               //printf(" st = %d, ",st);
+               fs = fs.replace(st, 1, 1, slash );
+            }
+            //printf("After backslash replace.  fs = '%s'.\n",fs.c_str());
+
+               // Prepend cwd to filespec
+            if (fs[0]!=slash)
+            {
+               fs.insert(0,string(1,slash));
+               fs.insert(0,cwd);
+            }
+         }
+         //printf(" Operating under Cygwin.  Filespec after modification:\n");
+         //printf(" fs = %s.\n",fs.c_str());
+#endif
+         
+            // first, check if the file spec has a leading '/'.  if not
+            // prepend the current directory to it.
+#ifndef _WIN32
+         if (fs[0] != slash)
+         {
+//                                                     #ifdef _WIN32
+//          char* cwd = _getcwd(NULL, PATH_MAX);
+//                                                     #else
+            char* cwd = getcwd(NULL, PATH_MAX);
+//                                                     #endif
+            if (cwd == NULL)
+            {
+               FileHunterException fhe("Cannot get working directory");
+               GPSTK_THROW(fhe);
+            }
+            string wd(cwd);
+               // append a trailing slash if needed
+            if (wd[wd.size()-1] != slash)
+               wd += std::string(1,slash);
+            fs.insert(0, wd);
+            free(cwd);
+         }
+            // Append a closing slash so the breakdown algorithm has a
+            // means to terminate.
+         if (fs[fs.size()-1] != '/') fs += std::string(1,'/');
+#else
+            // If Windows, then check for leading drive name.
+            // If not leading drivename, then prepend current working directory.
+         if (fs[1]!=':')
+         {
+            char* cwdW = _getcwd(NULL, PATH_MAX);
+            if (cwdW == NULL)
+            {
+               FileHunterException fhe("Cannot get working directory");
+               GPSTK_THROW(fhe);
+            }
+            string wdW(cwdW);
+            
+               // append a trailing slash if needed
+            if (wdW[wdW.size()-1] != '\\')
+               wdW += std::string(1,'\\');
+            fs.insert(0, wdW);
+            free(cwdW);
+         }
+            // Append a closing slash so the breakdown algorithm has a
+            // means to terminate.
+         if (fs[fs.size()-1] != '\\') fs += std::string(1,'\\');
+#endif
+
+            // break down the filespec directory by directory into the
+            // storage vector
+         while (!fs.empty())
+         {
+#ifndef _WIN32
+            if (fs[0] != slash)
+            {
+               FileHunterException fhe("Unexpected character: " + 
+                                       fs.substr(0,1));
+               GPSTK_THROW(fhe);
+            }
+            else
+               // erase the leading slash
+               fs.erase(0,1);
+               
+            string::size_type slashpos = fs.find(slash);
+            FileSpec tempfs(fs.substr(0, slashpos));
+
+               // debug
+            //printf(" fs, slashpos, tempfs = '%s', %d, '%s'.\n",
+            //   fs.c_str(),slashpos,tempfs.getSpecString().c_str());
+
+            if (slashpos!=string::npos) fileSpecList.push_back(tempfs);
+            fs.erase(0, slashpos);
+#else       
+               // for Windows erase the leading backslash, if present
+            if (fs[0] == '\\') fs.erase(0,1);
+            string::size_type slashpos;
+            slashpos = fs.find('\\');
+            FileSpec tempfs(fs.substr(0, slashpos));
+            
+            if (slashpos!=string::npos) fileSpecList.push_back(tempfs);
+            fs.erase(0, slashpos);
+#endif
+         }
+      }
+      catch(FileHunterException &e)
+      {
+         GPSTK_RETHROW(e);
+      }
+      catch(FileSpecException &e)
+      {
+         FileHunterException fhe(e);
+         fhe.addText("Error in the file spec");
+         GPSTK_THROW(fhe);
+      }
+      catch(Exception &e)
+      {
+         FileHunterException fhe(e);
+         GPSTK_THROW(fhe);
+      }
+      catch(std::exception &e)
+      {
+         FileHunterException fhe("std::exception caught: " + string(e.what()));
+         GPSTK_THROW(fhe);
+      }
+      catch(...)
+      {
+         FileHunterException fhe("unknown exception caught");
+         GPSTK_THROW(fhe);
+      }
+   } // init
+   
+   vector<string> FileHunter::searchHelper(const string& directory,
+                                           const FileSpec& fs) const
+      throw(FileHunterException)
+   {
+      try
+      {
+         vector<string> toReturn;
+
+            // generate a search string
+         string searchString = fs.createSearchString();
+         
+#ifndef _WIN32
+            // open the dir
+         DIR* theDir;
+
+         //printf(" In searchHelper(). About to call opendir.\n"); 
+            // The first clause is a special kludge for Cygwin
+            // referencing DOS drive structures
+         //if (searchString.compare("cygdrive")==0)
+         //{
+         //   std::string tempFS =  std::string(1,slash) + searchString;
+         //   theDir = opendir(tempFS.c_str());
+         //}
+         //else
+         if (directory.empty())
+            theDir = opendir(std::string(1,slash).c_str());
+         else
+            theDir = opendir(directory.c_str());
+
+         //printf(" In searchHelper().  Back from opendir call.\n");
+         
+         if (theDir == NULL)
+         {
+            FileHunterException fhe("Cannot open directory: " + directory);
+            GPSTK_THROW(fhe);
+         }
+         
+            // get each dir/file entry and compare it to the search string
+         struct dirent* entry;
+         
+         while ( (entry = readdir(theDir)) != NULL)
+         {
+            string filename(entry->d_name);
+            
+               // DEBUG
+            //printf("Testing '%s'\n",filename.c_str());
+            
+            if (isLike(filename, searchString, '*', '+', '?') &&
+                (filename.length() == searchString.length()) &&
+                (filename != ".") && (filename != ".."))
+            {
+               toReturn.push_back(filename);
+            }
+         }
+            // use filespec for extra verification?
+         
+            // cleanup
+         if (closedir(theDir) != 0)
+         {
+            FileHunterException fhe("Error closing directory: " + 
+                                    directory);
+            GPSTK_THROW(fhe);
+         }
+#endif
+#ifdef _WIN32
+            // say 'hi' to old school MS io
+         char* cwd = _getcwd(NULL, PATH_MAX);
+         _chdir(directory.c_str());
+         
+         struct _finddata_t c_file;
+         long hFile;
+         
+         if ( (hFile = _findfirst( searchString.c_str(), &c_file )) != -1 )
+         {
+            std::string filename(c_file.name);
+            if ((filename != ".") && (filename != ".."))
+            {
+               toReturn.push_back(filename);
+            }
+            while( _findnext( hFile, &c_file ) == 0 )
+            {
+               filename = std::string(c_file.name);
+               if ((filename != ".") && (filename != ".."))
+               {
+                  toReturn.push_back(filename);
+               }
+            }
+         }
+         _findclose(hFile);
+         _chdir(cwd);
+#endif
+         return toReturn;
+      }
+      catch(Exception& e)
+      {
+         FileHunterException fhe(e);
+         fhe.addText("Search failed");
+         GPSTK_THROW(fhe);
+      }
+      catch(std::exception& e)
+      {
+         FileHunterException fhe("std::exception caught: " + string(e.what()));
+         fhe.addText("Search failed");
+         GPSTK_THROW(fhe);
+      }
+      catch(...)
+      {
+         FileHunterException fhe("unknown exception");
+         fhe.addText("Search failed");
+         GPSTK_THROW(fhe);         
+      }
+   }
+
+   void FileHunter::filterHelper(vector<std::string>& fileList, 
+                                 const FileSpec& fs) const
+      throw(FileHunterException)
+   {
+         // go through the filterList.  If the filespec has
+         // any fields to filter, remove matches from fileList
+
+         // for each element in the filter....
+      vector<FilterPair>::const_iterator filterItr = filterList.begin();
+      while(filterItr != filterList.end())
+      {
+            // if the file spec has that element...
+         if (fs.hasField((*filterItr).first))
+         {
+
+               // then search through the file list and 
+               // remove any files that don't match the filter.
+            vector<string>::iterator fileListItr = fileList.begin();
+            while (fileListItr != fileList.end())
+            {
+                  // thisField holds the part of the file name
+                  // that we're searching for
+               string thisField = fs.extractField(*fileListItr, 
+                                                  (*filterItr).first);
+               
+               vector<string>::const_iterator filterStringItr = 
+                  (*filterItr).second.begin();
+
+                  // the iterator searches each element of the filter
+                  // and compares it to thisField.  If there's a match
+                  // then keep it.  if there's no match, delete it.
+               while (filterStringItr != (*filterItr).second.end())
+               {
+                  if (thisField == rightJustify(*filterStringItr,
+                                               thisField.size(),
+                                                '0'))
+                     break;
+                  filterStringItr++;
+               }
+               
+               if (filterStringItr == (*filterItr).second.end())
+                  fileList.erase(fileListItr);
+               else
+                  fileListItr++;
+            }
+         }
+         filterItr++;
+      }  
+   }
+
+
+   void FileHunter::dump(ostream& o) const
+   {
+      vector<FileSpec>::const_iterator itr = fileSpecList.begin();
+      while(itr != fileSpecList.end())
+      {
+         (*itr).dump(o);
+         itr++;
+      }
+   }
+
+} // namespace
+
diff --git a/trunk/src/FileHunter.hpp b/trunk/src/FileHunter.hpp
new file mode 100644
index 0000000..5b6f6d7
--- /dev/null
+++ b/trunk/src/FileHunter.hpp
@@ -0,0 +1,227 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileHunter.hpp#1 $"
+
+/**
+ * @file FileHunter.hpp
+ * Find all files matching a specification.
+ */
+
+#ifndef GPSTK_FILEHUNTER_HPP
+#define GPSTK_FILEHUNTER_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileSpec.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup filedirgroup */
+      //@{
+
+      /// The only exception that class FileHunter throws.
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(FileHunterException, gpstk::Exception);
+
+      /**
+       * FileHunter is a class designed to find files matching specified
+       * criteria.  The specified criteria is threefold:
+       * 1.  The File Specification.  This is a path and/or file description
+       *  which is the most important search criteria.  For instance, the
+       *  specification for a Rinex Obs file might be:
+       *    /archive/ADMS%3n/RINEXOBS/S%2n%t%3jA.%2y0
+       *  where the '%#char' elements denote fields such as year, day, station
+       *  number, and so on.  In this example, FileHunter is smart enough to
+       *  search all station directories (ADMS401, ADMS402, etc) but it won't
+       *  search any directories (or subdirectories) other than ones that
+       *  match the initial specification.
+       * 2. Start and end times.  If you simply call find(), FileHunter will
+       *  return all files that match the specification.  You can specify
+       *  DayTimes to only return files whose dates (according to the file
+       *  name) fall between those times.  Note that you can tell find() to
+       *  return the list of files ascending, descending, or unsorted
+       *  (unsorted will return them in disk order).
+       * 3. Filters.  Filters can be used on any field that your file
+       *  specification includes.  The most appropriate use of this is to
+       *  filter for a certain set of stations, but it will allow you to
+       *  filter ANY field (day, year, etc) that is in the file specification.
+       *  
+       * For more information about file specifications, see the comments in
+       * the FileSpec class.  Also check the file FileSpecTest in the test
+       * subdirectory below this one for examples.
+       *
+       * Limitations:  If a file specification has two or more of the same
+       * field defined, only the first one is used.  This is only if they
+       * repeat in a single directory or path.  For instance, this would be ok:
+       * /ADMS%3n/FILE%3n but in this case: /ADMS%3n/%3j%3j  only the first
+       * %3j would be used for the day field.
+       * Also, wildcards cannot be used.  Sorry - it's a limitation of how
+       * regular expressions are used.
+       * Finally, if you specify a version field, all files matching will
+       * be reurned.  You can either use extractField() on the returned files
+       * to determine the latest version or select the version you want
+       * returned by using setFilter().
+       */
+   class FileHunter
+   {
+   public:
+
+         /// This describes how the files to be searched are chunked
+         /// i.e. a DAY chunking means one file is written per day
+      enum FileChunking
+      {
+         WEEK,
+         DAY,
+         HOUR,
+         MINUTE
+      };
+      
+         /// Pairs of FileSpecTypes and lists of strings for filtering
+         /// the search results.
+      typedef std::pair<FileSpec::FileSpecType, std::vector<std::string> >
+         FilterPair;
+
+         /**
+          * Constructs a FileHunter using a file specification.  This
+          * can be a full or relative path and/or a file specification.
+          * See FileSpec for details on how to format a file specification.
+          * @throw FileHunterException when there's a problem with the filespec
+          */
+      FileHunter(const std::string& filespec)
+         throw(FileHunterException);
+
+         /**
+          * Constructs a FileHunter using a FileSpec.
+          * @throw FileHunterException when there's a problem with the filespec
+          */
+      FileHunter(const FileSpec& filespec)
+         throw(FileHunterException);
+
+         /** 
+          * Rather than building a new file hunter, this lets you change
+          * the filespec you're searching for.
+          * @throw FileHunterException when there's a problem with the filespec
+          */
+      FileHunter& newHunt(const std::string& filespec)
+         throw(FileHunterException);
+
+         /**
+          * Changes the file spec you're searching for in FileHunter.
+          * @throw FileHunterException when there's an error in the filespec
+          */
+      FileHunter& newHunt(const FileSpec& filespec)
+         throw(FileHunterException)
+         {return newHunt(filespec.getSpecString());}
+
+         /** 
+          * Filters FOR the strings in /a filter in the field specified
+          * by /a fst when searching.
+          * @param fst A FileSpecType you want to run a filter on.
+          * @param filter a list of strings to search for.in the filter.
+          * @throw FileHunterException when /a fst can't be found.
+          */
+      FileHunter& setFilter(const FileSpec::FileSpecType fst,
+                                    const std::vector<std::string>& filter)
+         throw(FileHunterException);
+
+         /**
+          * Does the searching for the files.  Set /a start and /a end
+          * for specifying times of files (according to their file names)
+          * for returning.
+          * \warning This method is NOT MT-Safe.
+          * @param start the start time to limit the search
+          * @param end the end time to limit the search
+          * @param fsst set to change the order the list is returned
+          * @param chunk the type of file chunking to use to select files
+          * @return a list of files matching the file specification,
+          *   start and end times, and filters ordered according to fsst.
+          *   This list can be empty if no files are found.
+          * @throw FileHunterException when there's a problem searching.
+          */
+      std::vector<std::string> 
+      find(const gpstk::DayTime& start = gpstk::DayTime::BEGINNING_OF_TIME,
+           const gpstk::DayTime& end = gpstk::DayTime::END_OF_TIME,
+           const FileSpec::FileSpecSortType fsst = FileSpec::ascending,
+           enum FileChunking chunk = DAY) const
+         throw(FileHunterException);
+
+         /// outputs the file spec into a semi-readable format
+      void dump(std::ostream& o) const;
+
+   private:
+         // disallow these
+      FileHunter();
+      FileHunter(const FileHunter& fh);
+      FileHunter& operator=(const FileHunter& fh);
+
+   protected:
+         ///Shared code between the constructor and newHunt
+      void init(const std::string& filespec)
+         throw(FileHunterException);
+
+         /** Performs a search for the given file spec on the given directory.
+          * \warning This method is NOT MT-Safe.
+          * @return a list of matching directories/files */
+      std::vector<std::string> 
+      searchHelper(const std::string& directory,
+                   const FileSpec& fs) const
+         throw(FileHunterException);
+
+         /// If there is a filter set, this will find the filtered items
+         /// and set fileList to contain only those.
+      void filterHelper(std::vector<std::string>& fileList, 
+                        const FileSpec& fs) const
+         throw(FileHunterException);
+
+         /// Holds the broken down list of the file specification for searching
+      std::vector<FileSpec> fileSpecList;
+
+         /// Stores the list of things to filter for
+      std::vector<FilterPair> filterList;
+   }; // FileHunter
+
+   //@}
+
+} // namespace
+
+
+
+
+#endif
diff --git a/trunk/src/FileSpec.cpp b/trunk/src/FileSpec.cpp
new file mode 100644
index 0000000..f3b6b82
--- /dev/null
+++ b/trunk/src/FileSpec.cpp
@@ -0,0 +1,535 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileSpec.cpp#4 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file FileSpec.cpp
+ * Define the specification of a file.
+ */
+
+#include <algorithm>
+
+#include "FileSpec.hpp"
+
+#include "StringUtils.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+namespace gpstk
+{
+      // operator-- for FileSpecType
+   FileSpec::FileSpecType& operator-- (FileSpec::FileSpecType& fst, int)
+   {
+      return fst = (fst == FileSpec::unknown) ? 
+         FileSpec::end : FileSpec::FileSpecType(fst-1);
+   }
+
+      // operator++ for FileSpecType
+   FileSpec::FileSpecType& operator++ (FileSpec::FileSpecType& fst, int)
+   {
+      return fst = (fst == FileSpec::end) ? 
+         FileSpec::unknown : FileSpec::FileSpecType(fst+1);
+   }
+
+      // compares substrings of \a l and \a r
+   bool FileSpec::FileSpecSort::operator() (const std::string& l, 
+                                            const std::string& r) const
+   {
+         // if there are directories, don't include them in the comparison
+      std::string tl(l, offset + l.find_last_of(slash) + 1, length);
+      std::string tr(r, offset + r.find_last_of(slash) + 1, length);
+      if (sortBy == ascending)
+         return tl < tr;
+      else
+         return tl > tr;
+   }
+   
+   string FileSpec::convertFileSpecType(const FileSpecType fst)
+      throw(FileSpecException)
+   {
+      if (fst == station)          return string("n");
+      else if (fst == receiver)    return string("r");
+      else if (fst == prn)         return string("p");
+      else if (fst == selected)    return string("t");
+      else if (fst == sequence)    return string("I");
+      else if (fst == version)     return string("v");
+      else if (fst == fixed)       return string("");
+      else if (fst == clock)       return string("c");
+
+      else if (fst == year)        return string("y");
+      else if (fst == month)       return string("m");
+      else if (fst == dayofmonth)  return string("d");
+      else if (fst == hour)        return string("H");
+      else if (fst == minute)      return string("M");
+      else if (fst == second)      return string("S");
+      else if (fst == fsecond)     return string("f");
+      else if (fst == gpsweek)     return string("G");
+      else if (fst == fullgpsweek) return string("F");
+      else if (fst == gpssecond)   return string("g");
+      else if (fst == mjd)         return string("Q");
+      else if (fst == dayofweek)   return string("w");
+      else if (fst == day)         return string("j");
+      else if (fst == zcount)      return string("Z");
+      else if (fst == zcountfloor) return string("z");
+      else if (fst == unixsec)     return string("U");
+      else if (fst == unixusec)    return string("u");
+      else if (fst == fullzcount)  return string("C");
+      else
+      {
+         FileSpecException fse("Unknown FileSpecType: " + asString(fst));
+         GPSTK_THROW(fse);
+      }
+   }
+
+   FileSpec::FileSpecType FileSpec::convertFileSpecType(const string& fst)
+      throw(FileSpecException)
+   {
+      if (fst == string("n"))        return station;
+      else if (fst == string("r"))   return receiver;
+      else if (fst == string("p"))   return prn;
+      else if (fst == string("t"))   return selected;
+      else if (fst == string("I"))   return sequence;
+      else if (fst == string("v"))   return version;
+      else if (fst == string("c"))   return clock;
+
+      else if (fst == string("Y") || 
+               fst == string("y"))   return year;
+      else if (fst == string("m"))   return month;
+      else if (fst == string("d"))   return dayofmonth;
+      else if (fst == string("H"))   return hour;
+      else if (fst == string("M"))   return minute;
+      else if (fst == string("S"))   return second;
+      else if (fst == string("f"))   return fsecond;
+      else if (fst == string("G"))   return gpsweek;
+      else if (fst == string("F"))   return fullgpsweek;
+      else if (fst == string("g"))   return gpssecond;
+      else if (fst == string("Q"))   return mjd;
+      else if (fst == string("w"))   return dayofweek;
+      else if (fst == string("j"))   return day;
+      else if (fst == string("Z"))   return zcount;
+      else if (fst == string("z"))   return zcountfloor;
+      else if (fst == string("U"))   return unixsec;
+      else if (fst == string("u"))   return unixusec;
+      else if (fst == string("C"))   return fullzcount;
+      else
+      {
+         FileSpecException fse("Unknown FileSpecType: " + fst);
+         GPSTK_THROW(fse);
+      }
+   }
+
+
+   string FileSpec::createSearchString() const
+      throw(FileSpecException)
+   {
+      string searchString;
+
+         // go through the file spec element list...
+      vector<FileSpecElement>::const_iterator itr = fileSpecList.begin();
+      while (itr != fileSpecList.end())
+      {
+            // the error case first...
+         if ( ((*itr).type <= unknown) || ((*itr).type >= end) )
+         {
+            FileSpecException fse("Unknown FileSpecType: " + 
+                                  asString((*itr).type));
+            GPSTK_THROW(fse);
+         }
+            // just add the fixed fields
+         else if ((*itr).type == fixed)
+         {
+            searchString += (*itr).field;
+         }
+            // replace all the others with question marks for searching
+         else
+         {
+            searchString += string((*itr).numCh, '?');
+         }
+
+         itr++;
+      }
+
+      return searchString;
+   }
+
+   string FileSpec::extractField(const string& filename, 
+                                 const FileSpecType fst) const
+      throw(FileSpecException)
+   {
+         // stupidity check - is it a valid FST?
+      if ((fst <= unknown) || (fst >= end))
+      {
+         FileSpecException fse("Unknown FileSpecType: " + 
+                               convertFileSpecType(fst));
+         GPSTK_THROW(fse);
+      }
+
+         // check the FileSpec for this type of FST
+      vector<FileSpecElement>::const_iterator itr = fileSpecList.begin();
+      while (itr != fileSpecList.end())
+      {
+            // found it - get the substring and return
+         if ((*itr).type == fst)
+         {
+            return filename.substr((*itr).offset, (*itr).numCh);
+         }
+
+            // didn't find it on this iteration
+         itr++;
+      }
+         // oops - didn't find it.
+      FileSpecException fse("Couldn't find specified FileSpecType: " +
+                            convertFileSpecType(fst));
+      GPSTK_THROW(fse);
+   }
+
+   bool FileSpec::hasField(const FileSpecType fst) const
+      throw(FileSpecException)
+   {
+      vector<FileSpecElement>::const_iterator itr = fileSpecList.begin();
+      while (itr != fileSpecList.end())
+      {
+            // stupidity check - is it a valid FST?
+         if (((*itr).type <= unknown) || ((*itr).type >= end))
+         {
+            FileSpecException fse("Unknown FileSpecType: " + 
+                                  convertFileSpecType((*itr).type));
+            GPSTK_THROW(fse);
+         }
+         if ((*itr).type == fst)
+            return true;
+         itr++;
+      }
+      return false;
+   }
+
+
+   DayTime FileSpec::extractDayTime(const string& filename) const
+      throw(FileSpecException)
+   {
+         // this uses DayTime::setToString to get the time out
+      try
+      {
+         DayTime dt(0.L);
+         dt.setToString(filename, fileSpecString);
+         return dt;
+      }
+      catch(Exception& exc)
+      {
+            // too ambiguous - throw an exception
+         FileSpecException fse(exc);
+         fse.addText("Can't generate a DayTime for this FileSpec");
+         GPSTK_THROW(fse);
+      }
+      catch(std::exception& exc)
+      {
+         FileSpecException fse("std::exception: " + string(exc.what()));
+         fse.addText("Can't generate a DayTime for this FileSpec");
+         GPSTK_THROW(fse);
+      }
+      catch(...)
+      {
+         FileSpecException fse("unknown exception");
+         fse.addText("Can't generate a DayTime for this FileSpec");
+         GPSTK_THROW(fse);
+      }
+      
+   }
+
+   std::string FileSpec::toString(const gpstk::DayTime& dt,
+                                  const FSTStringMap& fstsMap) const
+   {
+      string toReturn;
+
+         // Go through the list and insert all the non-date elements
+         // into the string.  In other words, fill in the string with data
+         // from the FSTSMap first.. For date elements, put the FileSpec string
+         // directly into the file name (i.e. '%3j').  Then use Daytime::printf
+         // to fill in all the date elements at the end.
+      vector<FileSpecElement>::const_iterator fslItr = fileSpecList.begin();
+      while (fslItr != fileSpecList.end())
+      {
+         FSTStringMap::const_iterator fstsItr = fstsMap.find((*fslItr).type);
+            // once again, it its found in the map, replace that part of
+            // the file spec. otherwise, just put the fixed field in.
+         if (fstsItr != fstsMap.end())
+         {
+            toReturn += rightJustify((*fstsItr).second, (*fslItr).numCh, '0');
+         }
+         else
+         {
+            toReturn += (*fslItr).field;
+         }
+
+         fslItr++;
+      }
+
+      toReturn = dt.printf(toReturn);
+
+      return toReturn;
+   }
+
+   void FileSpec::sortList(vector<string>& fileList, 
+                           const FileSpecSortType fsst) const
+      throw(FileSpecException)
+   {
+         // gotta sort them in order as they appear in FileSpecType.
+         // This is kinda like Radix sort... sort one field at a time.
+      for(FileSpecType fst = FileSpecType(end-1); fst > unknown; fst--)
+      {
+         if (hasField(fst))
+         {
+               // check the FileSpec for this type of FST
+            vector<FileSpecElement>::const_iterator itr = fileSpecList.begin();
+            string::size_type ofs, len;
+            while (itr != fileSpecList.end())
+            {
+                  // found it - get the substring and return
+               if ((*itr).type == fst)
+               {
+                  ofs = (*itr).offset;
+                  len = (*itr).numCh;
+                  if (fsst != none)
+                  {
+                     FileSpecSort q(ofs, len, fsst);
+                     stable_sort(fileList.begin(), fileList.end(), q);
+                  }
+               }
+               
+                  // didn't find it on this iteration
+               itr++;
+            }
+         }
+      }
+
+         // to filter out versions, generate a list of the version FSEs first
+         // and copy the file list.  then make a map of the file name without
+         // the version field to the name with the version field. since its
+         // sorted, the highest version will be the last one set and the map
+         // will only have the latest versions...
+         // 
+         // ex.  a1a a2a a3a a4a a5a     file spec: a%1va
+         // copyOfFileList after versions removed:  aa aa aa aa aa
+         // versionMap[aa] = a1a then a2a, a3a, a4a, and finally a5a
+         // 
+         // note that this only handles 1 version field right now, not that
+         // it couldnt do more but it gets very difficult...
+
+         // filter out older versions here
+      if (hasField(version))
+      {
+            // copy the file list
+         vector<string> copyOfFileList = fileList;
+
+            // find all the version elements in this file spec
+         vector<FileSpecElement>::const_iterator itr = fileSpecList.begin();
+         vector<FileSpecElement> versionVec;
+         while (itr != fileSpecList.end())
+         {
+            if ((*itr).type == version)
+               versionVec.push_back(*itr);
+            itr++;
+         }
+            // remove the version fields from the copied list, but only for the
+            // last directory/file entry in this name
+         vector<string>::size_type index;
+         for (index = 0; index < copyOfFileList.size(); index++)
+         {
+            string::size_type slashpos = copyOfFileList[index].rfind(slash);
+            if (slashpos != string::npos)
+               copyOfFileList[index].erase(0, slashpos + 1);
+            copyOfFileList[index].erase(versionVec[0].offset,
+                                        versionVec[0].numCh);
+         }
+
+            // now make one more pass on the copied list. whenever two strings
+            // match, go to the original list and compare the version numbers.
+            // erase the lower version. 
+
+            // FIX: this will only compare the first version field encountered.
+            // it could be changed to do more, but it's not essential now...
+         map<string, string> versionMap;
+         for (index = 0; index < copyOfFileList.size(); index++)
+            versionMap[copyOfFileList[index]] = fileList[index];
+
+         fileList.erase(fileList.begin(), fileList.end());
+         map<string, string>::iterator mapitr = versionMap.begin();
+         while (mapitr != versionMap.end())
+         {
+            fileList.push_back((*mapitr).second);
+            mapitr++;
+         }
+      }
+   }
+
+   void FileSpec::dump(ostream& o) const
+   {
+      o << "FileSpec string: " << fileSpecString << endl;
+
+      o << "offset numch  type  field" << endl;
+      vector<FileSpecElement>::const_iterator itr = fileSpecList.begin();
+      while (itr != fileSpecList.end())
+      {
+         o << setw(6) << (*itr).offset << setw(6) << (*itr).numCh
+           << setw(6) << convertFileSpecType((*itr).type) 
+               // this makes the field bigger if the string is
+               // bigger than 5 characters
+           << setw(6 + ((*itr).field.size() > 5 ? ((*itr).field.size()-5): 0))
+           << (*itr).field << endl;
+         itr++;
+      }
+   }
+
+   void FileSpec::init(const string& fileSpec)
+      throw(FileSpecException)
+   {
+      try
+      {
+         fileSpecList.erase(fileSpecList.begin(), fileSpecList.end());
+         fileSpecString.erase(fileSpecString.begin(), fileSpecString.end());
+
+         fileSpecString = fileSpec;
+
+            // holds the offset for where we would be in the real file
+            // name
+         string::size_type offset = 0;
+
+            // copy the string so we can mess with it
+         string fs(fileSpec);
+         
+            // bit by bit, parse out the string into FileSpecElements,
+            // stripping out the used parts as we go
+         while (!fs.empty())
+         {
+            string atom;
+               // if fs[0] == '%', then stop to parse.  also stop at
+               // the end of the string
+            string::size_type pos = fs.find('%');
+            atom = fs.substr(0,pos);
+            fs.erase(0,pos);
+
+               // if it's at the end of the string...
+               // make a FileSpecElement of any remaining
+               // characters and return (fall through the while loop)
+            if (fs.empty())
+            {
+               if (!atom.empty())
+               {
+                  FileSpecElement fse(atom.size(), offset, fixed, atom);
+                  fileSpecList.push_back(fse);
+               }
+            }
+               // found a '%' so parse out this little bit of a file spec,
+               // but make sure to add atom to the FileSpec (if there is any)
+            else
+            {
+               if (!atom.empty())
+               {
+                  FileSpecElement fse(atom.size(), offset, fixed, atom);
+                  fileSpecList.push_back(fse);
+                  offset += atom.size();
+                  atom.erase(atom.begin(), atom.end());
+               }
+               
+                  // erase the '%'
+                  // also make sure that atom holds the string that
+                  // makes up this element.
+               atom += fs[0];
+               fs.erase(0,1);
+               
+                  // get any integers that come before the letter we're lookin 
+                  // for, then erase them
+               int numChs = asInt(fs);
+               if (numChs == 0)
+                  numChs = 1;
+               
+               if (fs[0] == '0')
+                  atom += '0';
+
+               stripLeading(fs, "0");
+               stripLeading(fs, asString(numChs));
+
+               atom += asString(numChs);
+               
+                  // get the file spec type and erase that part of the string
+               FileSpecType fst = convertFileSpecType(fs.substr(0,1));
+               atom += fs[0];
+
+                  // super special case - %Y -> %4y  FIX shouldn't this be <4?
+               if ((fs.substr(0,1) == string("Y")) && (numChs != 4))
+                  numChs = 4;
+               fs.erase(0,1);
+               
+               FileSpecElement fse(numChs, offset, fst, atom);
+               fileSpecList.push_back(fse);
+               offset += numChs;
+            }
+            
+         } // while !fs.empty()
+      }
+      catch(FileSpecException& e)
+      {
+         e.addText("Check your file spec for errors: " + fileSpec);
+         GPSTK_RETHROW(e);
+      }
+      catch(StringException& e)
+      {
+         FileSpecException fse(e);
+         fse.addText("String exception: Check the file spec for errors: " + fileSpec);
+         GPSTK_THROW(fse);
+      }
+      catch(std::exception& e)
+      {
+         FileSpecException fse("std::exception: " + string(e.what()));
+         fse.addText("Check the file spec for errors: " + fileSpec);
+         GPSTK_THROW(fse);
+      }
+      catch(...)
+      {
+         FileSpecException fse("Unknown exception: Check the file spec for errors: " + fileSpec);
+         GPSTK_THROW(fse);
+      }
+   }
+
+} // namespace
diff --git a/trunk/src/FileSpec.hpp b/trunk/src/FileSpec.hpp
new file mode 100644
index 0000000..8b6c8aa
--- /dev/null
+++ b/trunk/src/FileSpec.hpp
@@ -0,0 +1,317 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileSpec.hpp#2 $"
+
+/**
+ * @file FileSpec.hpp
+ * Define the specification of a file.
+ */
+
+#ifndef GPSTK_FILESPEC_HPP
+#define GPSTK_FILESPEC_HPP
+
+#include <vector>
+#include <functional>
+#include <map>
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "DayTime.hpp"
+
+#ifdef _WIN32
+const char slash = '\\';
+#else
+const char slash = '/';
+#endif
+
+namespace gpstk
+{
+   /** @addtogroup filedirgroup */
+   //@{
+
+      /// This exception is thrown when there is a problem with
+      /// handling file specifications.
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(FileSpecException, gpstk::Exception);
+
+      /**
+       * A FileSpec is how file names are defined.  For instance,
+       * ASM%4Y.%3j is the file spec for a SMODF file.  The format is similar
+       * to what you would use in sprintf(), and specifically it uses the same
+       * fields as DayTime::printf().  For the most predictable results,
+       * fully specify the field length (as in %4Y vs. %Y).  Check the
+       * FileSpecType enum values for how characters map to fields. Any new
+       * fields added should conform to DayTime or already existing fields,
+       * if there are any.
+       */
+   class FileSpec
+   {
+   public:
+         /// This enum lists the different possible elements you can
+         /// have in a FileSpec.
+      enum FileSpecType
+      {
+         unknown,       ///< Unknown type
+         station,       ///< 'n' A field for station numbers
+         receiver,      ///< 'r' A field for the receiver number
+         prn,           ///< 'p' A field for PRN number
+         selected,      ///< 't' A field for selected/unselected receiver
+         sequence,      ///< 'I' A sequence number, as in part 1, part 2, etc..
+         version,       ///< 'v' A version number, as in version 2 
+                        ///<     is more recent than version 1
+         fixed,         ///< A field for fixed characters
+         clock,         ///< 'c' A field for the clock number
+
+
+            // see DayTime for more information on the followint elements
+         year,          ///< 'y' or 'Y' A field for a year
+         month,         ///< 'm' A field for month (numeric)
+         dayofmonth,    ///< 'd' A field for day-of-month  
+         hour,          ///< 'H' A field for hours (out of 24)
+         minute,        ///< 'M' A field for minutes (out of 60)
+         second,        ///< 'S' A field for seconds (out of 60)
+         fsecond,       ///< 'f' A field for seconds (float)
+         gpsweek,       ///< 'G' A field for 10 bit GPS weeks
+         fullgpsweek,   ///< 'F' A field for full GPS weeks
+         gpssecond,     ///< 'g' A field for GPS second-of-week
+         mjd,           ///< 'Q' A field for Modified Julian Date
+         dayofweek,     ///< 'w' A field for day-of-week (numeric)
+         day,           ///< 'j' A field for day of year
+         zcount,        ///< 'Z' A field for GPS Z-count
+         zcountfloor,   ///< 'z' A field for GPS Z-count rounded down
+         unixsec,       ///< 'U' A field for UNIX seconds
+         unixusec,      ///< 'u' A field for UNIX microseconds
+         fullzcount,    ///< 'C' A field for Full GPS Z-count
+
+         end            ///< A place holder for the end of this list
+      };
+
+         /// A map from a FileSpecType to a string, used in the
+         /// toString function.
+      typedef std::map<FileSpecType, std::string> FSTStringMap;
+
+
+         /// An enum for identifying the sort order of the list returned
+         /// from FileHunter.
+      enum FileSpecSortType
+      {
+         none,
+         ascending,
+         descending
+      };
+
+         /// Default constructor
+      FileSpec() {}
+
+         /// Constructor with a string to parse
+      FileSpec(const std::string& fileSpec)
+         throw(FileSpecException)
+         {init(fileSpec);}
+
+         /// Destructor
+      virtual ~FileSpec() {}
+
+         /// Reinitializes this FileSpec with the new string
+      virtual FileSpec& newSpec(const std::string& fileSpec)
+         throw(FileSpecException)
+         {init(fileSpec); return *this;}
+
+         /// Returns the string of the filespec
+      virtual std::string getSpecString(void) const
+         {return fileSpecString;}
+
+         /**
+          * Returns a string that can be used to search for files
+          * matching this FileSpec.  Essentailly turns every non-fixed
+          * field into strings of '?'.
+          * @throw FileSpecException when there's an error in the FileSpec
+          */
+      virtual std::string createSearchString() const
+         throw(FileSpecException);
+
+         /**
+          * Given a file name and a field, returns that field from the string.
+          * Use hasField() first to see if the field exists in the FileSpec.
+          * If multiple fields of FileSpecType are defined, only the first
+          * is returned.
+          * @throw FileSpecException when the FileSpecType doesn't exist
+          *  in the FileSpec
+          */
+      virtual std::string extractField(const std::string& filename, 
+                               const FileSpecType) const
+         throw(FileSpecException);
+
+         /**
+          * Given a field type, returns true if the FileSpec has that field.
+          * @throw FileSpecException when you pass in an invalid FileSpecType
+          */
+      virtual bool hasField(const FileSpecType) const
+         throw(FileSpecException);
+
+         /** 
+          * If possible, returns a DayTime object with the time the file
+          * represents.  Since the time resolution only goes to days for
+          * most file types, all times are set to midnight of that day.
+          * @throw FileSpecException when a time can't be formed
+          */
+      virtual gpstk::DayTime extractDayTime(const std::string& filename) const
+         throw(FileSpecException);
+
+         /**
+          * For the given FileSpec, fills in the fields with the given
+          * information and returns a string of that file name.  Use the
+          * FSTStringMap to provide all the other non-time data for the
+          * string (i.e. FSTSMap[station] = "85408";).  Any unspecified
+          * field will be filled with 0's.  The one side affect of this
+          * is that you can only specify one of each field in the map,
+          * but you're likely not going to need two different station
+          * numbers in the file name.  If you want, you can put the daytime
+          * information into the FSTSMap, but it's not necessary.
+          * @return the new filename.
+          */
+      virtual std::string toString(const gpstk::DayTime& dt,
+                                   const FSTStringMap& fstsMap = FSTStringMap()) 
+         const;
+
+         /**
+          * Sort the list of files ascending or 
+          * descending.  The fields of the files are sorted in the order
+          * that they're specified in the FileSpecType enum.
+          * The list fileList is modified as a result
+          * of this.  If the files in fileList have paths listed, then
+          * only the file name (taken to be the word after the last '/') 
+          * will be used in the comparison.  This function also filters
+          * out older versions of files in the fileList.
+          */
+      virtual void sortList(std::vector<std::string>& fileList, 
+                    const FileSpecSortType fsst = ascending) const
+         throw(FileSpecException);
+
+         /// semi-nicely print the FileSpec to the stream.
+      virtual void dump(std::ostream& o) const;
+
+   protected:
+         /// Parses the string into the FileSpec object
+      virtual void init(const std::string& fileSpec)
+         throw(FileSpecException);
+
+   public:
+         /**
+          * Converts the FileSpecType to a string it is identified with.
+          * @throw FileSpecException when FileSpecType doesn't match
+          *  any known types
+          */
+      static std::string convertFileSpecType(const FileSpecType)
+         throw(FileSpecException);
+
+         /**
+          * Converts the string into its corresponding FileSpecType
+          * @throw FileSpecException when FileSpecType doesn't match
+          *  any known types
+          */
+      static FileSpecType convertFileSpecType(const std::string&)
+         throw(FileSpecException);
+
+   protected:
+         /// This is an internal, private class of FileSpec that holds
+         /// information for one individual file specification element.
+      class FileSpecElement
+      {
+      public:
+            /// This is the default constructor too.
+         FileSpecElement(const std::string::size_type numChars = 0, 
+                         const std::string::size_type offs = 0, 
+                         const FileSpecType fst = unknown,
+                         const std::string& fld = std::string())
+               : numCh(numChars), offset(offs), type(fst), field(fld)
+            {};
+         
+            /// The number of characters this field is in the file name.
+         std::string::size_type numCh;
+            /// The offset in the string where this field begins
+         std::string::size_type offset;
+            /// The type which this field corresponds to.
+         FileSpecType type;
+            /// For fixed strings, the characters it represents.
+            /// For all other types, it's the original string for
+            /// that field (i.e. '%03j').
+         std::string field;
+      };
+
+         /// Another private, internal class for doing sorting
+         /// by substring.
+      struct FileSpecSort : 
+         public std::binary_function<std::string,std::string,bool>
+      {
+      public:
+         FileSpecSort(std::string::size_type o, std::string::size_type l,
+                      const FileSpecSortType s)
+               : offset(o), length(l), sortBy(s) {}
+            /// Compares two strings based on the substrings defined by
+            /// offset and length accounting for any directory names
+            /// in the strings
+         bool operator() (const std::string& l, const std::string& r) const;
+      private:
+            /// the offset of the substring to compare
+         std::string::size_type offset;
+            /// the length of the substring to compare
+         std::string::size_type length;
+            /// ascending, descending or none
+         FileSpecSortType sortBy;
+      };
+
+         /// Holds all of the FileSpecElements for this FileSpec
+      std::vector<FileSpecElement> fileSpecList;
+         /// Holds the string that the fileSpecList was generated from
+      std::string fileSpecString;
+          
+      
+   }; // class FileSpec
+
+      /// Operator-- for FileSpecType
+   FileSpec::FileSpecType& operator-- (FileSpec::FileSpecType& fst, int);
+      /// Operator++ for FileSpecType
+   FileSpec::FileSpecType& operator++ (FileSpec::FileSpecType& fst, int);
+
+   //@}
+
+} // namespace gpstk
+
+#endif 
diff --git a/trunk/src/FileStore.hpp b/trunk/src/FileStore.hpp
new file mode 100644
index 0000000..cc91499
--- /dev/null
+++ b/trunk/src/FileStore.hpp
@@ -0,0 +1,119 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileStore.hpp#1 $"
+
+/**
+ * @file FileStore.hpp
+ * Read and write data
+ */
+
+#ifndef GPSTK_FILE_STORE_HPP
+#define GPSTK_FILE_STORE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <vector>
+
+#include "Exception.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup filedirgroup */
+   //@{
+      /**
+       * This is an abstract class used to add a list of files and the interface
+       * to read files into a datastore. This is intended to support arbitrary
+       * file names, not a list of similiar file names. See the FileHunter framework
+       * for support of that type of file.
+       */
+
+   template <class HeaderType> class FileStore
+   {
+   public:
+
+      /// Constructor.
+      FileStore() throw() {};
+
+      /// destructor
+      virtual ~FileStore() {};
+      
+      std::vector<std::string> getFileNames() const
+      {
+         typedef typename FFDataMap::const_iterator const_iterator;
+         std::vector<std::string> nv;
+         const_iterator i;
+         for (i=headerMap.begin(); i!=headerMap.end(); i++)
+         nv.push_back(i->first);
+         return nv;
+      }
+      
+      void addFile(const std::string& fn, const HeaderType& header) throw()
+      { headerMap[fn] = header; };
+
+      const HeaderType& getHeader(const std::string& fn) throw()
+      { return headerMap[fn]; };
+
+      /// Load a single file into the store
+      virtual void loadFile(const std::string& fileName)
+         throw (FileMissingException) = 0;
+
+      virtual void loadFiles(const std::vector<std::string>& fileNames)
+      {
+         std::vector<std::string>::const_iterator f=fileNames.begin();
+         for (f=fileNames.begin(); f!=fileNames.end(); f++)
+            loadFile(*f);
+      };
+
+      /// Return the size of the (filename,header) map
+      unsigned size() const throw() { return headerMap.size(); }
+
+   private:
+
+      typedef std::map<std::string, HeaderType> FFDataMap;
+
+      /// A store of all headers loaded, indexed by file name
+      FFDataMap headerMap;
+   };
+
+   //@}
+
+}  // namespace
+
+#endif
diff --git a/trunk/src/FileUtils.hpp b/trunk/src/FileUtils.hpp
new file mode 100644
index 0000000..60c7dbd
--- /dev/null
+++ b/trunk/src/FileUtils.hpp
@@ -0,0 +1,132 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/FileUtils.hpp#1 $"
+
+/**
+ * @file FileUtils.hpp
+ * File and directory utilities
+ */
+
+#ifndef GPSTK_FILEUTILS_HPP
+#define GPSTK_FILEUTILS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifdef __sun
+#include <libgen.h>
+#else
+#include <sys/stat.h>
+#include <sys/types.h>
+#endif
+
+#include <string>
+#include "StringUtils.hpp"
+
+#ifdef _MSC_VER
+#include <direct.h>
+#endif
+
+namespace gpstk
+{
+   /** @addtogroup filedirgroup */
+   //@{
+
+      /**
+       * These functions and macros help process files and directories.
+       */
+   namespace FileUtils
+   {
+         /**
+          * Creates a hierarchy of directories rather than just one dir.
+          * This intentionally doesn't check the mkdir return codes because
+          * there is no difference between return codes for directories
+          * that already exist and error creating new ones.
+          * @param path the full path of the directory you want created
+          * @param mode the permission of the new directory (like 0755)
+          * @return always 0
+          */
+      inline int makeDir(const std::string& path, unsigned mode)
+      {
+#ifdef __sun
+         mkdirp(path.c_str(), mode);
+#else
+         int rc = 0;
+         std::string::size_type i = 0;
+
+         while ((i = path.find('/',i+1)) != std::string::npos)
+         {
+            std::string thispath(path.substr(0,i));
+            if (thispath[thispath.length() - 1] == '/')
+               thispath.erase(thispath.length() - 1);
+#ifdef _MSC_VER
+            _mkdir(path.c_str());
+#else
+            mkdir(thispath.c_str(), mode);
+#endif
+         }
+#ifdef _MSC_VER
+         _mkdir(path.c_str());
+#else
+         mkdir(path.c_str(), mode);
+#endif
+
+#endif // __sun
+         return 0;
+      }
+
+         /**
+          * makeDir that takes a char* for an argument.
+          * @param path the full path of the directory you want created
+          * @param mode the permission of the new directory (like 0755)
+          * @return always 0
+          */
+      inline int makeDir(const char* path, unsigned mode)
+      {
+         return makeDir(std::string(path), mode);
+      }
+
+   } // namespace FileUtils
+
+   //@}
+
+} // namespace
+
+
+#endif
diff --git a/trunk/src/GPSEpochWeekSecond.cpp b/trunk/src/GPSEpochWeekSecond.cpp
new file mode 100644
index 0000000..6ac2d87
--- /dev/null
+++ b/trunk/src/GPSEpochWeekSecond.cpp
@@ -0,0 +1,197 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSEpochWeekSecond.cpp#5 $"
+
+#include "GPSEpochWeekSecond.hpp"
+#include "TimeConstants.hpp"
+//#include "TimeConverters.hpp"
+
+namespace gpstk
+{
+   const std::string GPSEpochWeekSecond::printChars( "EGg" );
+   const std::string GPSEpochWeekSecond::defaultFormat( "%E %04G %g" );
+   
+   GPSEpochWeekSecond& 
+   GPSEpochWeekSecond::operator=( const GPSEpochWeekSecond& right )
+      throw()
+   {
+      epoch = right.epoch;
+      week = right.week;
+      sow = right.sow;
+      return *this;
+   }
+   
+   CommonTime GPSEpochWeekSecond::convertToCommonTime() const
+   {
+      int fullweek( epoch * WEEKS_PER_EPOCH + week );
+      int dow = static_cast<int>( sow * DAY_PER_SEC );
+      int jday = GPS_EPOCH_JDAY + ( 7 * fullweek ) + dow;
+      double sod(  sow - SEC_PER_DAY * dow );
+      return CommonTime( jday, 
+                         static_cast<long>( sod ),
+                         sod - static_cast<long>( sod ) );
+   }
+   
+   void GPSEpochWeekSecond::convertFromCommonTime( const CommonTime& ct )
+   {
+      long day, sod;
+      double fsod;
+      ct.get( day, sod, fsod );
+
+         // find the number of days since the beginning of the GPS Epoch
+      day -= GPS_EPOCH_JDAY;
+         // find out how many weeks that is
+      int fullweek( static_cast<int>( day / 7 ) );
+         // find out what the day of week is
+      day -= fullweek * 7;
+
+      epoch = fullweek / WEEKS_PER_EPOCH;
+      week = fullweek % WEEKS_PER_EPOCH;
+      sow = static_cast<double>( day * SEC_PER_DAY + sod ) + fsod;
+   }
+   
+   std::string GPSEpochWeekSecond::printf(const std::string& fmt) const
+      throw( gpstk::StringUtils::StringException )
+      {
+         try
+         {
+            using gpstk::StringUtils::formattedPrint;
+            std::string rv = fmt;
+               
+            rv = formattedPrint( rv, formatPrefixInt + "E",
+                                 "Ehd", epoch );
+            rv = formattedPrint( rv, formatPrefixInt + "G", 
+                                 "Ghd", week );
+            rv = formattedPrint( rv, formatPrefixFloat + "g",
+                                 "gf", sow);
+            return rv;
+         }
+         catch( gpstk::StringUtils::StringException& exc )
+         {
+            GPSTK_RETHROW( exc );
+         }
+      }
+      
+   bool GPSEpochWeekSecond::setFromInfo( const IdToValue& info )
+      throw()
+   {
+      using namespace gpstk::StringUtils;
+      
+      bool hepoch( false ), hweek( false ), hsow( false );
+      int iepoch( 0 ), iweek( 0 );
+      double isow( 0. );
+      
+      for( IdToValue::const_iterator i = info.begin(); i != info.end(); i++ )
+      {
+            // based on the character, we know what to do...
+         switch ( i->first ) 
+         {
+            case 'E':
+               iepoch = asInt( i->second );
+               hepoch = true;
+               break;
+            case 'F':
+               iweek = asInt( i->second );
+               hweek = true;
+               break;
+            case 'g':
+               isow = asDouble( i->second );
+               hsow = true;
+               break;
+            default:
+                  // do nothing
+               break;
+         };
+         
+      } // end of for loop
+      
+      if( hepoch )
+      {
+         epoch = iepoch;
+         week = iweek;
+         sow = isow;
+         return true;
+      }
+
+      return false;
+   }
+
+   bool GPSEpochWeekSecond::isValid() const
+      throw()
+   {
+      GPSEpochWeekSecond temp;
+      temp.convertFromCommonTime( convertToCommonTime() );
+      if( *this == temp )
+      {
+         return true;
+      }
+      return false;
+   }
+   
+   bool 
+   GPSEpochWeekSecond::operator==( const GPSEpochWeekSecond& right ) const
+      throw()
+   {
+      if( epoch == right.epoch &&
+          week == right.week &&
+          sow == right.sow )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool 
+   GPSEpochWeekSecond::operator!=( const GPSEpochWeekSecond& right ) const
+      throw()
+   {
+      return (! operator==( right ) );
+   }
+
+   bool 
+   GPSEpochWeekSecond::operator<( const GPSEpochWeekSecond& right ) const
+      throw()
+   {
+      if( epoch < right.epoch )
+      {
+         return true;
+      }
+      if( epoch > right.epoch )
+      {
+         return false;
+      }
+      if( week < right.week )
+      {
+         return true;
+      }
+      if( week > right.week )
+      {
+         return false;
+      }
+      if( sow < right.sow )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool 
+   GPSEpochWeekSecond::operator>( const GPSEpochWeekSecond& right ) const
+      throw()
+   {
+      return (! operator<=( right ) );
+   }
+
+   bool 
+   GPSEpochWeekSecond::operator<=( const GPSEpochWeekSecond& right ) const
+      throw()
+   {
+      return ( operator<( right ) || operator==( right ) );
+   }
+
+   bool 
+   GPSEpochWeekSecond::operator>=( const GPSEpochWeekSecond& right ) const
+      throw()
+   {
+      return (! operator<( right ) );
+   }
+
+} // namespace
diff --git a/trunk/src/GPSEpochWeekSecond.hpp b/trunk/src/GPSEpochWeekSecond.hpp
new file mode 100644
index 0000000..66ebb0a
--- /dev/null
+++ b/trunk/src/GPSEpochWeekSecond.hpp
@@ -0,0 +1,151 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSEpochWeekSecond.hpp#4 $"
+
+#ifndef GPSTK_GPSEPOCHWEEKSECOND_HPP
+#define GPSTK_GPSEPOCHWEEKSECOND_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+      /** 
+       * This class encapsulates the "GPS Epoch, GPS Week and GPS 
+       * Seconds-of-week" time representation.
+       */
+   class GPSEpochWeekSecond : public TimeTag
+   {
+   public:
+      static const std::string printChars;
+      static const std::string defaultFormat;
+
+         /** 
+          * @defgroup gewsbo GPSEpochWeekSecond Basic Operations
+          * Default and Copy Constructors, Assignment Operator and Destructor.
+          */
+         //@{
+         /**
+          * Default Constructor.
+          * All elements are initialized to zero.
+          */
+      GPSEpochWeekSecond( int e = 0,
+                          int w = 0,
+                          double s = 0. )
+         throw()
+            : epoch(e), week(w), sow(s)
+      {}
+      
+         /**
+          * Copy Constructor.
+          * @param right a reference to the GPSEpochWeekSecond object to copy
+          */
+      GPSEpochWeekSecond( const GPSEpochWeekSecond& right )
+         throw()
+            : epoch( right.epoch ), week( right.week ), sow( right.sow )
+      {}
+      
+         /**
+          * Alternate Copy Constructor.
+          * Takes a const TimeTag reference and copies its contents via
+          * conversion to CommonTime.
+          * @param right a const reference to the BasicTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      GPSEpochWeekSecond( const TimeTag& right )
+         throw( gpstk::InvalidRequest )
+      { 
+         convertFromCommonTime( right.convertToCommonTime() ); 
+      }
+      
+         /** 
+          * Alternate Copy Constructor.
+          * Takes a const CommonTime reference and copies its contents via
+          * the convertFromCommonTime method.
+          * @param right a const reference to the CommonTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      GPSEpochWeekSecond( const CommonTime& right )
+         throw( InvalidRequest )
+      {
+         convertFromCommonTime( right );
+      }
+
+         /** 
+          * Assignment Operator.
+          * @param right a const reference to the GPSEpochWeekSecond to copy
+          * @return a reference to this GPSEpochWeekSecond
+          */
+      GPSEpochWeekSecond& operator=( const GPSEpochWeekSecond& right )
+         throw();
+      
+         /// Virtual Destructor.
+      virtual ~GPSEpochWeekSecond()
+         throw()
+      {}
+         //@}
+
+         // The following functions are required by TimeTag.
+      virtual CommonTime convertToCommonTime() const;
+
+      virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+         /// This function formats this time to a string.  The exceptions 
+         /// thrown would only be due to problems parsing the fmt string.
+      virtual std::string printf(const std::string& fmt) const
+         throw( gpstk::StringUtils::StringException );
+
+         /**
+          * Set this object using the information provided in \a info.
+          * @param info the IdToValue object to which this object shall be set.
+          * @return true if this object was successfully set using the 
+          *  data in \a info, false if not.
+          */
+      virtual bool setFromInfo( const IdToValue& info )
+         throw();
+
+         /// Return a string containing the characters that this class
+         /// understands when printing times.
+      virtual std::string getPrintChars() const
+         throw()
+      { 
+         return printChars;
+      }
+
+         /// Return a string containing the default format to use in printing.
+      virtual std::string getDefaultFormat() const
+         throw()
+      {
+         return defaultFormat;
+      }
+
+      virtual bool isValid() const
+         throw();
+
+         /**
+          * @defgroup gewsco GPSEpochWeekSecond Comparison Operators
+          * All comparison operators have a parameter "right" which corresponds
+          *  to the GPSEpochWeekSecond object to the right of the symbol.
+          * All comparison operators are const and return true on success
+          *  and false on failure.
+          */
+         //@{
+      bool operator==( const GPSEpochWeekSecond& right ) const
+         throw();
+      bool operator!=( const GPSEpochWeekSecond& right ) const
+         throw();
+      bool operator<( const GPSEpochWeekSecond& right ) const
+         throw();
+      bool operator>( const GPSEpochWeekSecond& right ) const
+         throw();
+      bool operator<=( const GPSEpochWeekSecond& right ) const
+         throw();
+      bool operator>=( const GPSEpochWeekSecond& right ) const
+         throw();
+         //@}
+
+      int epoch;
+      int week;
+      double sow;
+   };
+
+}
+
+#endif // GPSTK_GPSEPOCHWEEKSECOND_HPP
diff --git a/trunk/src/GPSGeoid.hpp b/trunk/src/GPSGeoid.hpp
new file mode 100644
index 0000000..40c826e
--- /dev/null
+++ b/trunk/src/GPSGeoid.hpp
@@ -0,0 +1,87 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSGeoid.hpp#2 $"
+
+/**
+ * @file GPSGeoid.hpp
+ * The GPS geoid defined in ICD-GPS-200
+ */
+
+#ifndef GPSTK_GPSGEOID_HPP
+#define GPSTK_GPSGEOID_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "WGS84Geoid.hpp"
+#include "icd_200_constants.hpp"
+
+namespace gpstk
+{
+       /** @addtogroup geodeticgroup */
+       //@{ 
+
+      /**
+       * This class represents the geodetic model defined in
+       * ICD-GPS-200.  This geodetic model was based on the WGS 84
+       * model, which has changed since the ICD-GPS-200 was written.
+       * To save the cost of having to update all of the fielded
+       * receivers, these constants were kept for GPS purposes.
+       *
+       * Only some of the WGS 84 geodetic model parameters are defined
+       * as part of the 200.  These parameters are explicitly defined
+       * here.  Other parameters are inherited from the WGS84Geoid
+       * definition.
+       */
+   class GPSGeoid : public WGS84Geoid
+   {
+   public:
+         /// defined in ICD-GPS-200C, 20.3.3.4.3.3 and Table 20-IV
+         /// @return angular velocity of Earth in radians/sec.
+      virtual double angVelocity() const throw()
+      { return 7.2921151467e-5; }
+
+         /// defined in ICD-GPS-200C, 20.3.3.4.3.3 and Table 20-IV
+         /// @return geocentric gravitational constant in m**3 / s**2
+      virtual double gm() const throw()
+      { return 3.986005e14; }
+
+         /// derived from ICD-GPS-200C, 20.3.3.4.3.3 and Table 20-IV
+         /// @return geocentric gravitational constant in km**3 / s**2
+      virtual double gm_km() const throw()
+      { return 3.9860034e5; }
+
+         /// defined in ICD-GPS-200C, 20.3.4.3
+         /// @return Speed of light in m/s.
+      virtual double c() const throw()
+      { return C_GPS_M; }
+
+         /// derived from ICD-GPS-200C, 20.3.4.3
+         /// @return Speed of light in km/s
+      virtual double c_km() const throw()
+      { return (C_GPS_M / 1000); }
+
+   }; // class GPSGeoid
+
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/GPSWeekSecond.cpp b/trunk/src/GPSWeekSecond.cpp
new file mode 100644
index 0000000..80fe970
--- /dev/null
+++ b/trunk/src/GPSWeekSecond.cpp
@@ -0,0 +1,186 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSWeekSecond.cpp#3 $"
+
+#include "GPSWeekSecond.hpp"
+#include "TimeConstants.hpp"
+//#include "TimeConverters.hpp"
+
+namespace gpstk
+{
+   const std::string GPSWeekSecond::printChars( "Fg" );
+   const std::string GPSWeekSecond::defaultFormat( "%04F %g" );
+   
+   GPSWeekSecond& 
+   GPSWeekSecond::operator=( const GPSWeekSecond& right )
+      throw()
+   {
+      week = right.week;
+      sow = right.sow;
+      return *this;
+   }
+   
+   CommonTime GPSWeekSecond::convertToCommonTime() const
+   {
+      int dow = static_cast<int>( sow * DAY_PER_SEC );
+      int jday = GPS_EPOCH_JDAY + ( 7 * week ) + dow;
+      double sod(  sow - SEC_PER_DAY * dow );
+      return CommonTime( jday, 
+                         static_cast<long>( sod ),
+                         sod - static_cast<long>( sod ) );
+   }
+   
+   void GPSWeekSecond::convertFromCommonTime( const CommonTime& ct )
+   {
+      long day, sod;
+      double fsod;
+      ct.get( day, sod, fsod );
+
+         // find the number of days since the beginning of the GPS Epoch
+      day -= GPS_EPOCH_JDAY;
+         // find out how many weeks that is
+      week = static_cast<int>( day / 7 );
+         // find out what the day of week is
+      day %= 7;
+
+      sow = static_cast<double>( day * SEC_PER_DAY + sod ) + fsod;
+   }
+   
+   std::string GPSWeekSecond::printf(const std::string& fmt) const
+      throw( gpstk::StringUtils::StringException )
+      {
+         try
+         {
+            using gpstk::StringUtils::formattedPrint;
+            std::string rv = fmt;
+               
+            rv = formattedPrint( rv, formatPrefixInt + "F", 
+                                 "Fhd", week );
+            rv = formattedPrint( rv, formatPrefixFloat + "g",
+                                 "gf", sow);
+            return rv;
+         }
+         catch( gpstk::StringUtils::StringException& exc )
+         {
+            GPSTK_RETHROW( exc );
+         }
+      }
+      
+   bool GPSWeekSecond::setFromInfo( const IdToValue& info )
+      throw()
+   {
+      using namespace gpstk::StringUtils;
+
+         // This class can parse GPS full week and GPS seconds of week.
+      bool hfullWeek( false ), hsow( false );
+      int ifullWeek( 0 );
+      double isow( 0. );
+      
+      for( IdToValue::const_iterator i = info.begin(); i != info.end(); i++ )
+      {
+            // based on the character, we know what to do...
+         switch ( i->first ) 
+         {
+            case 'F':
+            {
+               ifullWeek = asInt( i->second );
+               hfullWeek = true;
+            }
+            break;
+            
+            case 'g':
+            {
+               isow = asDouble( i->second );
+               hsow = true;
+            }
+            break;
+            
+            default:
+            {
+                  // do nothing
+            }
+            break;
+         };
+         
+      } // end of for loop
+      
+      if( hfullWeek )
+      {
+         week = ifullWeek;
+         sow = isow;
+         return true;
+      }
+
+      return false;
+   }
+
+   bool GPSWeekSecond::isValid() const
+      throw()
+   {
+      GPSWeekSecond temp;
+      temp.convertFromCommonTime( convertToCommonTime() );
+      if( *this == temp )
+      {
+         return true;
+      }
+      return false;
+   }
+   
+   bool 
+   GPSWeekSecond::operator==( const GPSWeekSecond& right ) const
+      throw()
+   {
+      if( week == right.week &&
+          sow == right.sow )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool 
+   GPSWeekSecond::operator!=( const GPSWeekSecond& right ) const
+      throw()
+   {
+      return (! operator==( right ) );
+   }
+
+   bool 
+   GPSWeekSecond::operator<( const GPSWeekSecond& right ) const
+      throw()
+   {
+      if( week < right.week )
+      {
+         return true;
+      }
+      if( week > right.week )
+      {
+         return false;
+      }
+      if( sow < right.sow )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool 
+   GPSWeekSecond::operator>( const GPSWeekSecond& right ) const
+      throw()
+   {
+      return (! operator<=( right ) );
+   }
+
+   bool 
+   GPSWeekSecond::operator<=( const GPSWeekSecond& right ) const
+      throw()
+   {
+      return ( operator<( right ) || operator==( right ) );
+   }
+
+   bool 
+   GPSWeekSecond::operator>=( const GPSWeekSecond& right ) const
+      throw()
+   {
+      return (! operator<( right ) );
+   }
+
+} // namespace
diff --git a/trunk/src/GPSWeekSecond.hpp b/trunk/src/GPSWeekSecond.hpp
new file mode 100644
index 0000000..6b10f76
--- /dev/null
+++ b/trunk/src/GPSWeekSecond.hpp
@@ -0,0 +1,149 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSWeekSecond.hpp#3 $"
+
+#ifndef GPSTK_GPSWEEKSECOND_HPP
+#define GPSTK_GPSWEEKSECOND_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+      /** 
+       * This class encapsulates the "Full GPS Week and GPS 
+       * Seconds-of-week" time representation.
+       */
+   class GPSWeekSecond : public TimeTag
+   {
+   public:
+      static const std::string printChars;
+      static const std::string defaultFormat;
+
+         /** 
+          * @defgroup gwsbo GPSWeekSecond Basic Operations
+          * Default and Copy Constructors, Assignment Operator and Destructor.
+          */
+         //@{
+         /**
+          * Default Constructor.
+          * All elements are initialized to zero.
+          */
+      GPSWeekSecond( int w = 0,
+                     double s = 0. )
+         throw()
+            : week(w), sow(s)
+      {}
+      
+         /**
+          * Copy Constructor.
+          * @param right a reference to the GPSWeekSecond object to copy
+          */
+      GPSWeekSecond( const GPSWeekSecond& right )
+         throw()
+            : week( right.week ), sow( right.sow )
+      {}
+      
+         /**
+          * Alternate Copy Constructor.
+          * Takes a const TimeTag reference and copies its contents via
+          * conversion to CommonTime.
+          * @param right a const reference to the BasicTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      GPSWeekSecond( const TimeTag& right )
+         throw( gpstk::InvalidRequest )
+      { 
+         convertFromCommonTime( right.convertToCommonTime() ); 
+      }
+      
+         /** 
+          * Alternate Copy Constructor.
+          * Takes a const CommonTime reference and copies its contents via
+          * the convertFromCommonTime method.
+          * @param right a const reference to the CommonTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      GPSWeekSecond( const CommonTime& right )
+         throw( InvalidRequest )
+      {
+         convertFromCommonTime( right );
+      }
+
+         /** 
+          * Assignment Operator.
+          * @param right a const reference to the GPSWeekSecond to copy
+          * @return a reference to this GPSWeekSecond
+          */
+      GPSWeekSecond& operator=( const GPSWeekSecond& right )
+         throw();
+      
+         /// Virtual Destructor.
+      virtual ~GPSWeekSecond()
+         throw()
+      {}
+         //@}
+
+         // The following functions are required by TimeTag.
+      virtual CommonTime convertToCommonTime() const;
+
+      virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+         /// This function formats this time to a string.  The exceptions 
+         /// thrown would only be due to problems parsing the fmt string.
+      virtual std::string printf( const std::string& fmt ) const
+         throw( gpstk::StringUtils::StringException );
+
+         /**
+          * Set this object using the information provided in \a info.
+          * @param info the IdToValue object to which this object shall be set.
+          * @return true if this object was successfully set using the 
+          *  data in \a info, false if not.
+          */
+      virtual bool setFromInfo( const IdToValue& info )
+         throw();
+      
+         /// Return a string containing the characters that this class
+         /// understands when printing times.
+      virtual std::string getPrintChars() const
+         throw()
+      { 
+         return printChars;
+      }
+
+         /// Return a string containing the default format to use in printing.
+      virtual std::string getDefaultFormat() const
+         throw()
+      {
+         return defaultFormat;
+      }
+
+      virtual bool isValid() const
+         throw();
+
+         /**
+          * @defgroup gwsco GPSWeekSecond Comparison Operators
+          * All comparison operators have a parameter "right" which corresponds
+          *  to the GPSWeekSecond object to the right of the symbol.
+          * All comparison operators are const and return true on success
+          *  and false on failure.
+          */
+         //@{
+      bool operator==( const GPSWeekSecond& right ) const
+         throw();
+      bool operator!=( const GPSWeekSecond& right ) const
+         throw();
+      bool operator<( const GPSWeekSecond& right ) const
+         throw();
+      bool operator>( const GPSWeekSecond& right ) const
+         throw();
+      bool operator<=( const GPSWeekSecond& right ) const
+         throw();
+      bool operator>=( const GPSWeekSecond& right ) const
+         throw();
+         //@}
+
+      int week;
+      double sow;
+   };
+
+}
+
+#endif // GPSTK_GPSWEEKSECOND_HPP
diff --git a/trunk/src/GPSWeekZcount.cpp b/trunk/src/GPSWeekZcount.cpp
new file mode 100644
index 0000000..79165d3
--- /dev/null
+++ b/trunk/src/GPSWeekZcount.cpp
@@ -0,0 +1,173 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSWeekZcount.cpp#3 $"
+
+#include "GPSWeekZcount.hpp"
+#include "TimeConstants.hpp"
+#include "TimeConverters.hpp"
+
+namespace gpstk
+{
+   const std::string GPSWeekZcount::printChars( "FzZ" );
+   const std::string GPSWeekZcount::defaultFormat( "%04F %06Z" );
+
+   GPSWeekZcount& GPSWeekZcount::operator=( const GPSWeekZcount& right )
+      throw()
+   {
+      week = right.week;
+      zcount = right.zcount;
+      return *this;
+   }
+   
+   CommonTime GPSWeekZcount::convertToCommonTime() const
+   {
+      int dow = zcount / ZCOUNT_PER_DAY;
+      int jday = GPS_EPOCH_JDAY + ( 7 * week ) + dow;
+      double sod = static_cast<double>( zcount % ZCOUNT_PER_DAY ) * 1.5;
+      return CommonTime( jday,
+                         static_cast<long>( sod ),
+                         sod - static_cast<long>( sod ) );
+   }
+   
+   void GPSWeekZcount::convertFromCommonTime( const CommonTime& ct ) 
+   {
+      long day, sod;
+      double fsod;
+      ct.get( day, sod, fsod );
+      
+         // find the number of days since the beginning of the GPS Epoch
+      day -= GPS_EPOCH_JDAY;
+         // find out how many weeks that is
+      week = static_cast<int>( day / 7 );
+         // find out what the day of week is
+      day %= 7;
+
+      zcount = static_cast<long>( day * ZCOUNT_PER_DAY ) 
+         + static_cast<long>( static_cast<double>( sod + fsod ) / 1.5 );      
+   }
+
+   std::string GPSWeekZcount::printf( const std::string& fmt ) const
+         throw( gpstk::StringUtils::StringException )
+   {
+      try
+      {
+         using gpstk::StringUtils::formattedPrint;
+         std::string rv( fmt );
+
+         rv = formattedPrint( rv, formatPrefixInt + "F", "Fhd", week );
+         rv = formattedPrint( rv, formatPrefixInt + "z", "zd", zcount );
+         rv = formattedPrint( rv, formatPrefixInt + "Z", "Zd", zcount );
+         
+         return rv;         
+      }
+      catch( gpstk::StringUtils::StringException& exc )
+      {
+         GPSTK_RETHROW( exc );
+      }
+   }
+   
+   bool GPSWeekZcount::setFromInfo( const IdToValue& info )
+         throw()
+   {
+      using namespace gpstk::StringUtils;
+
+      bool hfullweek( false ), hzcount( false );
+      int ifullweek( 0 ), izcount( 0 );
+      
+      for( IdToValue::const_iterator i = info.begin(); i != info.end(); i++ )
+      {
+            // based on the character, we know what to do...
+         switch( i->first )
+         {
+            case 'F':
+               ifullweek = asInt( i->second );
+               hfullweek = true;
+               break;
+            
+            case 'z':
+            case 'Z':
+               izcount = asInt( i->second );
+               hzcount = true;
+               break;
+               
+            default:
+                  // do nothing
+               break;
+         };
+      }
+      
+      if( hfullweek )
+      {
+         week = ifullweek;
+         zcount = izcount;
+         return true;
+      }
+      
+      return false;
+   }
+
+   bool GPSWeekZcount::isValid() const
+         throw()
+   {
+      GPSWeekZcount temp;
+      temp.convertFromCommonTime( convertToCommonTime() );
+      if( *this == temp )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool GPSWeekZcount::operator==( const GPSWeekZcount& right ) const
+      throw()
+   {
+      if( week == right.week &&
+          zcount == right.zcount )
+      {
+         return true;
+      }
+      return false;         
+   }
+
+   bool GPSWeekZcount::operator!=( const GPSWeekZcount& right ) const
+      throw()
+   {
+      return ( !operator==( right ) );
+   }
+
+   bool GPSWeekZcount::operator<( const GPSWeekZcount& right ) const
+      throw()
+   {
+      if( week < right.week )
+      {
+         return true;
+      }
+      if( week > right.week )
+      {
+         return false;
+      }
+      if( week < right.zcount )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool GPSWeekZcount::operator>( const GPSWeekZcount& right ) const
+      throw()
+   {
+      return ( !operator<=( right ) );
+   }
+
+   bool GPSWeekZcount::operator<=( const GPSWeekZcount& right ) const
+      throw()
+   {
+      return ( operator<( right ) ||
+               operator==( right ) );
+   }
+
+   bool GPSWeekZcount::operator>=( const GPSWeekZcount& right ) const
+      throw()
+   {
+      return ( !operator<( right ) );
+   }
+   
+} // namespace
diff --git a/trunk/src/GPSWeekZcount.hpp b/trunk/src/GPSWeekZcount.hpp
new file mode 100644
index 0000000..7bd7aa0
--- /dev/null
+++ b/trunk/src/GPSWeekZcount.hpp
@@ -0,0 +1,149 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSWeekZcount.hpp#2 $"
+
+#ifndef GPSTK_GPSWEEKZCOUNT_HPP
+#define GPSTK_GPSWEEKZCOUNT_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+      /**
+       * This class encapsulates the "Full GPS Week and GPS Z-count" time
+       * representation.
+       */
+   class GPSWeekZcount : public TimeTag
+   {
+   public:
+      static const std::string printChars;
+      static const std::string defaultFormat;
+      
+         /**
+          * @defgroup gwzbo GPSWeekZcount Basic Operations
+          * Default and Copy Constructors, Assignment Operator and Destructor.
+          */
+         //@{
+         /**
+          * Default Constructor.
+          * All elements are initialized to zero.
+          */
+      GPSWeekZcount( int w = 0,
+                     int z = 0 )
+         throw()
+            : week( w ), zcount( z )
+      {}
+      
+         /** 
+          * Copy Constructor.
+          * @param right a reference to the GPSWeekZcount object to copy
+          */
+      GPSWeekZcount( const GPSWeekZcount& right )
+         throw()
+            : week( right.week ), zcount( right.zcount )
+      {}
+      
+         /**
+          * Alternate Copy Constructor.
+          * Takes a const TimeTag reference and copies its contents via
+          * conversion to CommonTime.
+          * @param right a const reference to the BasicTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      GPSWeekZcount( const TimeTag& right )
+         throw( gpstk::InvalidRequest )
+      { 
+         convertFromCommonTime( right.convertToCommonTime() ); 
+      }
+      
+         /** 
+          * Alternate Copy Constructor.
+          * Takes a const CommonTime reference and copies its contents via
+          * the convertFromCommonTime method.
+          * @param right a const reference to the CommonTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      GPSWeekZcount( const CommonTime& right )
+         throw( InvalidRequest )
+      {
+         convertFromCommonTime( right );
+      }
+
+         /** 
+          * Assignment Operator.
+          * @param right a const reference to the GPSWeekZcount to copy
+          * @return a reference to this GPSWeekZcount
+          */
+      GPSWeekZcount& operator=( const GPSWeekZcount& right )
+         throw();
+      
+         /// Virtual Destructor.
+      virtual ~GPSWeekZcount()
+         throw()
+      {}
+         //@}
+
+         // The following functions are required by TimeTag.
+      virtual CommonTime convertToCommonTime() const;
+
+      virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+         /// This function formats this time to a string.  The exceptions 
+         /// thrown would only be due to problems parsing the fmt string.
+      virtual std::string printf( const std::string& fmt ) const
+         throw( gpstk::StringUtils::StringException );
+
+         /**
+          * Set this object using the information provided in \a info.
+          * @param info the IdToValue object to which this object shall be set.
+          * @return true if this object was successfully set using the 
+          *  data in \a info, false if not.
+          */
+      virtual bool setFromInfo( const IdToValue& info )
+         throw();
+      
+         /// Return a string containing the characters that this class
+         /// understands when printing times.
+      virtual std::string getPrintChars() const
+         throw()
+      { 
+         return printChars;
+      }
+
+         /// Return a string containing the default format to use in printing.
+      virtual std::string getDefaultFormat() const
+         throw()
+      {
+         return defaultFormat;
+      }
+
+      virtual bool isValid() const
+         throw();
+
+         /**
+          * @defgroup gwzco GPSWeekZcount Comparison Operators
+          * All comparison operators have a parameter "right" which corresponds
+          *  to the GPSWeekZcount object to the right of the symbol.
+          * All comparison operators are const and return true on success
+          *  and false on failure.
+          */
+         //@{
+      bool operator==( const GPSWeekZcount& right ) const
+         throw();
+      bool operator!=( const GPSWeekZcount& right ) const
+         throw();
+      bool operator<( const GPSWeekZcount& right ) const
+         throw();
+      bool operator>( const GPSWeekZcount& right ) const
+         throw();
+      bool operator<=( const GPSWeekZcount& right ) const
+         throw();
+      bool operator>=( const GPSWeekZcount& right ) const
+         throw();
+         //@}
+
+      int week;
+      int zcount;
+   };   
+   
+} // namespace
+
+#endif // GPSTK_GPSWEEKZCOUNT_HPP
diff --git a/trunk/src/GPSZcount.cpp b/trunk/src/GPSZcount.cpp
new file mode 100644
index 0000000..9f1ed6b
--- /dev/null
+++ b/trunk/src/GPSZcount.cpp
@@ -0,0 +1,375 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSZcount.cpp#9 $"
+
+/**
+ * @file GPSZcount.cpp
+ * gpstk::GPSZcount - encapsulates time according to full GPS Week and Z-count.
+ */
+
+#include <limits>
+
+#include "GPSZcount.hpp"
+#include "StringUtils.hpp"
+
+using namespace std;
+using gpstk::StringUtils::asString;
+
+namespace gpstk
+{
+   const long GPSZcount::ZCOUNT_MINUTE = 40;
+   const long GPSZcount::ZCOUNT_HOUR = 2400;
+   const long GPSZcount::ZCOUNT_DAY = 57600;
+   const long GPSZcount::ZCOUNT_WEEK = 403200;
+   
+   GPSZcount::GPSZcount(short inWeek, 
+                        long inZcount) 
+      throw(gpstk::InvalidParameter) 
+   {
+      try
+      {
+         setWeek(inWeek);
+         setZcount(inZcount);
+      }
+      catch(gpstk::InvalidParameter& ip)
+      {
+         GPSTK_RETHROW(ip);
+      }
+   }
+
+   GPSZcount::GPSZcount(long inFullZcount)
+      throw(gpstk::InvalidParameter)
+   {
+      try
+      {
+         setFullZcount(inFullZcount);
+      }
+      catch(gpstk::InvalidParameter& ip)
+      {
+         GPSTK_RETHROW(ip);
+      }
+   }
+
+   GPSZcount::GPSZcount(const GPSZcount& right)
+      throw() 
+   {
+      operator=(right) ;
+   }
+   
+   GPSZcount& GPSZcount::setWeek(short inWeek)
+      throw(gpstk::InvalidParameter)
+   {
+      if( inWeek < 0 )
+      {
+         gpstk::InvalidParameter ip("GPS Week invalid: " +
+                                    asString<short>(inWeek)) ;
+         GPSTK_THROW(ip) ;
+      }
+      week = inWeek;
+      return *this;
+   }
+   
+   GPSZcount& GPSZcount::setZcount(long inZcount)
+      throw(gpstk::InvalidParameter)
+   {
+      if(validZcount(inZcount) != 0)
+      {
+         gpstk::InvalidParameter ip("GPS Z-count invalid: " +
+                                    asString<long>(inZcount)) ;
+         GPSTK_THROW(ip) ;
+      }
+      zcount = inZcount ;
+      return *this ;
+   }
+   
+   GPSZcount& GPSZcount::setFullZcount(long inZcount)
+         throw(gpstk::InvalidParameter) 
+   {
+      try
+      {
+         setZcount(inZcount & 0x7FFFFL) ;        // 19-bit mask
+
+         // A 10-bit value will always be within constraints for a GPS week, so
+         // there's no need to test it.
+         setWeek((inZcount >> 19) & 0x3FFL) ;   // 10-bit mask
+
+      }
+      catch(gpstk::InvalidParameter& ip)
+      {
+         ip.addText("GPS Full Z-count invalid: " + asString<long>(inZcount)) ;
+         GPSTK_RETHROW(ip) ;
+      }
+      return *this ;
+   }
+
+   GPSZcount& GPSZcount::addWeeks(short inWeeks)
+      throw(gpstk::InvalidRequest) 
+   {
+      if (inWeeks == 0)
+      {
+         return *this ;
+      }
+
+      try
+      {
+         return setWeek(week + inWeeks) ;
+      }
+      catch(gpstk::InvalidParameter& ip)
+      {
+         gpstk::InvalidRequest ir(ip) ;
+         ir.addText("Addition of " + asString(inWeeks) + 
+                    " weeks renders this object invalid.") ;
+         GPSTK_THROW(ir) ;
+      }
+   }
+
+   GPSZcount& GPSZcount::addZcounts(long inZcounts)
+      throw(gpstk::InvalidRequest) 
+   {
+      if (inZcounts == 0)
+      {
+         return *this ;
+      }
+
+      short originalWeek(week) ;
+      long originalZcount(zcount) ;
+
+      try
+      {
+            // First, do week modifications.
+         addWeeks(inZcounts / ZCOUNT_WEEK) ; 
+
+            // Now, take care of Z-counts.
+         long tmp = zcount + (inZcounts % ZCOUNT_WEEK) ;
+
+         if (tmp < 0)
+         {
+            addWeeks(-1);
+            tmp += ZCOUNT_WEEK ;
+         }
+         else if (tmp >= ZCOUNT_WEEK)
+         {
+            addWeeks(1);
+            tmp -= ZCOUNT_WEEK ;
+         }
+         
+         setZcount(tmp) ;
+         return *this ;
+
+      }
+      catch(gpstk::InvalidRequest& ir)
+      {
+         setWeek(originalWeek) ;
+         setZcount(originalZcount) ; 
+         ir.addText("Did not add " + asString(inZcounts) + " Z-counts.") ;
+         GPSTK_RETHROW(ir) ;
+         
+      }
+      catch(gpstk::InvalidParameter& ip)
+      {
+         setWeek(originalWeek) ;
+         setZcount(originalZcount) ; 
+         gpstk::InvalidRequest ir(ip) ;
+         ir.addText("Did not add " + asString(inZcounts) + " Z-counts.") ;
+         GPSTK_THROW(ir) ;         
+      }
+   }
+   
+   GPSZcount GPSZcount::operator++(int) 
+      throw(gpstk::InvalidRequest)
+   {
+      GPSZcount temp = *this ;
+      ++(*this) ;
+      return temp ;
+   }
+
+   GPSZcount& GPSZcount::operator++() 
+      throw(gpstk::InvalidRequest)
+   {
+      return addZcounts(1);
+   }
+
+   GPSZcount GPSZcount::operator--(int)
+      throw(gpstk::InvalidRequest)
+   {
+      GPSZcount temp = *this ;
+      --(*this) ;
+      return temp ;
+   }
+
+   GPSZcount& GPSZcount::operator--()
+      throw(gpstk::InvalidRequest)
+   {
+      return addZcounts(-1);
+   }
+   
+   GPSZcount GPSZcount::operator+(long inZcounts) const
+      throw(gpstk::InvalidRequest)
+   {
+      return GPSZcount(*this).addZcounts(inZcounts);
+   }
+   
+   GPSZcount GPSZcount::operator-(long inZcounts) const
+      throw(gpstk::InvalidRequest)
+   {
+      return operator+(-inZcounts);
+   }
+
+   double GPSZcount::operator-(const GPSZcount& right) const
+      throw() 
+   {
+      return (double(week) - right.week) * ZCOUNT_WEEK 
+         + (zcount - right.zcount) ;
+   }
+
+   GPSZcount& GPSZcount::operator+=(long inZcounts)
+      throw(gpstk::InvalidRequest)
+   {
+      return addZcounts(inZcounts);
+   }
+
+   GPSZcount& GPSZcount::operator-=(long inZcounts)
+      throw(gpstk::InvalidRequest)
+   {
+      return addZcounts(-inZcounts);
+   }
+
+   GPSZcount& GPSZcount::operator=(const GPSZcount& right)
+      throw()
+   {
+      week = right.week;
+      zcount = right.zcount;
+      return *this;
+   }
+
+   bool GPSZcount::operator<(const GPSZcount& right) const
+      throw()
+   {
+      if (week < right.week)
+      {
+         return true;
+      }
+      if (week == right.week && 
+          zcount < right.zcount)
+      {
+         return true;
+      }
+      return false;
+   }
+   
+   bool GPSZcount::operator>(const GPSZcount& right) const
+      throw()
+   {
+      if (week > right.week)
+      {
+         return true;
+      }
+      if (week == right.week &&
+          zcount > right.zcount)
+      {
+         return true;
+      }
+      return false;
+   }
+   
+   bool GPSZcount::operator==(const GPSZcount& right) const
+      throw()
+   {
+      if (week == right.week &&
+          zcount == right.zcount)
+      {
+         return true;
+      }
+      return false;
+   }
+   
+   bool GPSZcount::operator!=(const GPSZcount& right) const
+      throw()
+   {
+      return (! operator==(right));
+   }
+
+   bool GPSZcount::operator<=(const GPSZcount& right) const
+      throw()
+   {
+      return (! operator>(right));
+   }
+   
+   bool GPSZcount::operator>=(const GPSZcount& right) const
+      throw()
+   {
+      return (! operator<(right));
+   }
+
+   GPSZcount::operator std::string() const
+      throw() 
+   {
+      return asString<short>(week) + "w" + asString<long>(zcount) + "z";
+   }
+
+   bool GPSZcount::inSameTimeBlock(const GPSZcount& other,
+                                   unsigned long inZcountBlock,
+                                   unsigned long inZcountOffset)
+      throw()
+   {
+      if (inZcountBlock < ZCOUNT_WEEK)
+      {
+            // Make sure that we're in the same week, and then check to see if 
+            // we're in the same time block
+         if ( (getWeek() == other.getWeek()) &&
+              (((getZcount() - inZcountOffset) / inZcountBlock) ==
+               ((other.getZcount() - inZcountOffset) / inZcountBlock)) ) 
+         {
+            return true ;
+         }
+      }
+      else // inZcountBlock >= ZCOUNT_WEEK
+      {
+            // Compare using the total number of Z-counts.
+         if (long((getTotalZcounts() - inZcountOffset) / inZcountBlock) ==
+             long((other.getTotalZcounts() - inZcountOffset) / inZcountBlock))
+         {
+            return true ;
+         }
+      }
+      
+      return false ;
+   }
+   
+   void GPSZcount::dump(std::ostream& out,
+                        short level) const
+      throw()
+   {
+      switch(level)
+      {
+         case 0:
+            out << week << "w" << zcount << "z" << flush;
+            break;
+         case 1:
+         default:
+            out << "GPS Full Week: " << setw(6) << week << endl
+                << "GPS Z-count:   " << setw(6) << zcount << endl;
+            break;
+      }               
+   }
+
+   long GPSZcount::validZcount(long z) 
+      throw()
+   {
+      if (z < 0)
+      {
+         return z;
+      }
+      if (z >= GPSZcount::ZCOUNT_WEEK)
+      {
+         return (z - (GPSZcount::ZCOUNT_WEEK - 1));
+      }
+      return 0; // z is OK
+   }
+   
+   std::ostream& operator<<(std::ostream& s, 
+                            const gpstk::GPSZcount& z)
+   {
+      z.dump(s, 0) ;
+      return s;
+   }
+
+} // namespace gpstk
diff --git a/trunk/src/GPSZcount.hpp b/trunk/src/GPSZcount.hpp
new file mode 100644
index 0000000..0937337
--- /dev/null
+++ b/trunk/src/GPSZcount.hpp
@@ -0,0 +1,331 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSZcount.hpp#7 $"
+
+/**
+ * @file GPSZcount.hpp
+ * gpstk::GPSZcount - encapsulates time according to full GPS Week and Z-count.
+ */
+
+#ifndef GPSTK_GPSZCOUNT_HPP
+#define GPSTK_GPSZCOUNT_HPP
+
+// licenses go here
+
+// system includes
+#include <ostream>
+
+// GPSTK includes
+#include "Exception.hpp"
+
+namespace gpstk
+{
+      /** @addtogroup timegroup */
+      //@{
+
+      /**
+       * A representation class for GPS Time consisting of
+       * a short GPS week, and a long GPS Z-count. 
+       * A valid GPS week is in the following range:
+       *   0 <= week <= numerical_limits<short>::max()
+       * A valid GPS Z-count is in the following range:
+       *   0 <= zcount < 403200
+       *
+       * In Z-count addition, if a specified Z-count value is above or below 
+       * the given range of valid Z-counts, the appropriate number of GPS 
+       * weeks-worth of Z-counts are added or subtracted from the given value 
+       * so that it falls within the acceptable range.  These extra weeks are 
+       * then accounted for in the weeks data member.  If the addition or 
+       * subtraction of these additional weeks cause the GPS week value to go 
+       * out-of-bounds, an InvalidRequest exception is thrown.
+       */
+   class GPSZcount
+   {
+   public:
+         /// Z-counts per minute (40)
+      static const long ZCOUNT_MINUTE;
+         /// Z-counts per hour (2400)
+      static const long ZCOUNT_HOUR;
+         /// Z-counts per day (57600)
+      static const long ZCOUNT_DAY;
+         /// Z-counts per whole GPS week. (403200)
+      static const long ZCOUNT_WEEK;
+
+         /** Separate Week and Z-count Constructor.
+          * @param inWeek the GPS week to use in this object.
+          * @param inZcount the GPS Z-count to use in this object.
+          * @throws gpstk::InvalidParameter if either inWeek or inZcount
+          *  are invalid values for their respective types.
+          */
+      GPSZcount(short inWeek,
+                long inZcount)
+         throw(gpstk::InvalidParameter) ;
+      
+         /** Full Z-count Constructor.
+          * @param inFullZcount the Full 29-bit GPS Z-count to use in 
+          *  this object. (default=0 => week == 0; Z-count == 0)
+          * @throws gpstk::InvalidParameter if either inFullZcount is
+          *  an invalid value for a full Z-count.
+          */
+      GPSZcount(long inFullZcount = 0) 
+         throw(gpstk::InvalidParameter) ;
+      
+         /// Destructor.  Does nothing.
+      ~GPSZcount() throw() {}
+      
+         /** Copy Constructor.
+          * @param right the GPSZcount object to copy
+          */
+      GPSZcount(const GPSZcount& right)
+         throw() ;
+      
+         /// GPS week accessor
+      short getWeek() const throw()
+      { return week ; }
+      
+         /// GPS Z-count accessor
+      long getZcount() const throw()
+      { return zcount ; }
+      
+         /** Construct, from the data members, the Z-count which could have
+          *  been broadcast from an SV.
+          * @return a Full Z-count (3 MSB unused, next 10 bits = week,
+          *  19 LSB = Z-count)
+          */
+      long getFullZcount() const
+         throw() 
+      { return (long(getWeek() & 0x3FF) << 19) + getZcount() ; }
+
+         /** Calculate the total number of Z-counts in this object.
+          * @return weeks * ZCOUNT_WEEK + zcount
+          */
+      double getTotalZcounts() const
+         throw()
+      { return double(getWeek()) * ZCOUNT_WEEK + getZcount() ; }
+
+         /** Set the GPS week.
+          * @param inWeek the new value for GPS Week.
+          * @return a reference to this object.
+          * @throws gpstk::InvalidParameter if inWeek is an invalid value
+          * for a GPS week.
+          */
+      GPSZcount& setWeek(short inWeek) 
+         throw(gpstk::InvalidParameter) ;
+      
+         /** Set the GPS Z-count.
+          * @param inZcount the new value for GPS Z-count.
+          * @return a reference to this object.
+          * @throws gpstk::InvalidParameter if inZcount is an invalid value
+          *  for a GPS Z-count.
+          */
+      GPSZcount& setZcount(long inZcount)
+         throw(gpstk::InvalidParameter) ;
+
+         /** Set the GPS Week and Z-count using the value broadcast from an SV.
+          * @param inZcount A full Z-count (3 MSB unused, next 10 bits = week,
+          *  19 LSB = Z-count)
+          * @throws gpstk::InvalidParameter if the extracted Z-count is 
+          *  an invalid value for a GPS Z-count.
+          */
+      GPSZcount& setFullZcount(long inZcount)
+         throw(gpstk::InvalidParameter) ;
+      
+         /** Add the given number of weeks to the current value.
+          * @param inWeeks the number of weeks to add to the current value.
+          * @return a reference to this object
+          * @throws gpstk::InvalidRequest if adding inWeeks would render
+          *  this object invalid.
+          */
+      GPSZcount& addWeeks(short inWeeks)
+         throw(gpstk::InvalidRequest) ;
+      
+         /** Add the given number of Z-counts to the current value.
+          *  This may cause a roll-(over/under) of the Z-count and appropriate 
+          *  modification of the week.
+          * @param inZcounts the number of Z-counts to add to the current 
+          *  value.
+          * @return a reference to this object
+          * @throws gpstk::InvalidRequest if adding inZcounts would render
+          *  this object invalid.
+          */
+      GPSZcount& addZcounts(long inZcounts)
+         throw(gpstk::InvalidRequest) ;
+
+         /** Postfix Increment the Z-count in this object (x++).  This may also
+          * cause the roll-over of the Z-count and incrementing of the week.
+          * @return a GPSZcount with the value of this object before the 
+          *  increment
+          * @throws gpstk::InvalidRequest if Z-count increment would render
+          *  this object invalid.
+          */
+      GPSZcount operator++(int)
+         throw(gpstk::InvalidRequest) ;
+
+         /** Prefix Increment the Z-count in this object (++x).  This may also 
+          * cause the roll-over of the Z-count and incrementing of the week.
+          * @return a reference to this object.
+          * @throws gpstk::InvalidRequest if Z-count increment would render
+          *  this object invalid.
+          */
+      GPSZcount& operator++() 
+         throw(gpstk::InvalidRequest) ;
+      
+         /** Postfix Decrement the Z-count in this object (x--).  This may also
+          * cause the roll-under of the Z-count and decrementing of the week.
+          * @return a GPSZcount with the value of this object before the 
+          *  decrement
+          * @throws gpstk::InvalidRequest if a Z-count decrement would render
+          *  this object invalid.
+          */
+      GPSZcount operator--(int) 
+         throw(gpstk::InvalidRequest) ;
+
+         /** Prefix Decrement the Z-count in this object (--x).  This may also 
+          * cause the roll-under of the Z-count and decrementing of the week.
+          * @return a reference to this object.
+          * @throws gpstk::InvalidRequest if a Z-count decrement would render
+          *  this object invalid.
+          */
+      GPSZcount& operator--() 
+         throw(gpstk::InvalidRequest) ;
+      
+         /** Add the given number of Z-counts to the current value.
+          *  This may cause a roll-(over/under) of the Z-count and appropriate 
+          *  modification of the week.
+          * @param inZcounts the number of Z-counts to add to the current 
+          *  value.
+          * @return a modified GPSZcount object
+          * @throws gpstk::InvalidRequest if adding inZcounts would render
+          *  this object invalid.
+          */
+      GPSZcount operator+(long inZcounts) const
+         throw(gpstk::InvalidRequest) ;
+      
+         /** Subtract the given number of Z-counts from the current value.
+          *  This may cause a roll-(over/under) of the Z-count and appropriate 
+          *  modification of the week.
+          * @param inZcounts the number of Z-counts to subtract from the 
+          *  current value.
+          * @return a modified GPSZcount object
+          * @throws gpstk::InvalidRequest if subtracting inZcounts would
+          *  render this object invalid.
+          */
+      GPSZcount operator-(long inZcounts) const
+         throw(gpstk::InvalidRequest) ;
+
+         /** Compute the time differenct between this object and \a right.
+          * @param right the GPSZcount to subtract from this object
+          * @return the number of Z-counts between this object and \a right
+          */
+      double operator-(const GPSZcount& right) const
+         throw() ;
+      
+         /** Add the given number of Z-counts to the current value.
+          *  This may cause a roll-(over/under) of the Z-count and appropriate 
+          *  modification of the week.
+          * @param inZcounts the number of Z-counts to add to the current 
+          *  value.
+          * @return a reference to this object
+          * @throws gpstk::InvalidRequest if adding inZcounts would render
+          *  this object invalid.
+          */
+      GPSZcount& operator+=(long inZcounts)
+         throw(gpstk::InvalidRequest) ;
+      
+         /** Subtract the given number of Z-counts from the current value.
+          *  This may cause a roll-(over/under) of the Z-count and appropriate 
+          *  modification of the week.
+          * @param inZcounts the number of Z-counts to subtract from the 
+          *  current value.
+          * @return a reference to this object
+          * @throws gpstk::InvalidRequest if subtracting inZcounts would
+          *  render this object invalid.
+          */
+      GPSZcount& operator-=(long inZcounts)
+         throw(gpstk::InvalidRequest) ;
+      
+         /// Assignment operator.
+      GPSZcount& operator=(const GPSZcount& right) 
+         throw();
+      
+         /// Comparison operator (less-than).
+      bool operator<(const GPSZcount& right) const
+         throw();
+         /// Comparison operator (greater-than).
+      bool operator>(const GPSZcount& right) const
+         throw();
+         /// Equality operator.
+      bool operator==(const GPSZcount& right) const
+         throw();
+         /// Inequality operator.
+      bool operator!=(const GPSZcount& right) const
+         throw();
+         /// Comparison operator (less-than or equal-to).
+      bool operator<=(const GPSZcount& right) const
+         throw();
+         /// Comparison operator (greater-than or equal-to).
+      bool operator>=(const GPSZcount& right) const
+         throw();
+
+         /// Convert this object to a string.
+      operator std::string() const
+         throw() ;
+
+         /**
+          * This is a test of whether or not this object and the  given
+          * GPSZcount object are within the same time-block.  Say you need to
+          * find out if the two GPSZcounts are:
+          * ... in the same day:     inZcountBlock == ZCOUNT_DAY
+          * ... or the same minute:  inZcountBlock == ZCOUNT_MINUTE   etc.
+          * For inZcountBlock < ZCOUNT_WEEK, blocks start at the beginning of
+          *  the week.
+          * For inZcountBlock >= ZCOUNT_WEEK, blocks start at the beginning of 
+          *  GPS Week 0.
+          * inZcountOffset allows checking of times off of the usual boundaries
+          * i.e. in the same day where a day is defined as starting at noon
+          *  instead of at midnight, or in the same minute where a minute
+          *  starts at 23 seconds instead of zero.
+          * @param other the other GPSZcount object
+          * @param inZcountBlock the number of Z-counts in a time-block
+          * @param inZcountOffset the number of Z-counts to offset the 
+          *  time-block (default = 0)
+          * @return whether this object and /a other are in the same time-block
+          */
+      bool inSameTimeBlock(const GPSZcount& other,
+                           unsigned long inZcountBlock,
+                           unsigned long inZcountOffset = 0) 
+         throw();
+
+         /** Dump the contents of this object to the given output stream.
+          * @param out the output stream to write to
+          * @param level the level of verbosity to use (default=0)
+          */
+      void dump(std::ostream& out,
+                short level = 0) const
+         throw() ;
+      
+   protected:
+      short week;    ///< GPS full week. (0 <= week)
+      long zcount;   ///< GPS Z-count.  (0 <= zcount <= 403199)
+
+         /** Check the validity of the given Z-count.
+          * @param z the Z-count to verify
+          * @return 0 if valid, negative if below zero, 
+          *  positive if above 403199
+          */
+      static long validZcount(long z)
+         throw();
+      
+   };
+   
+      /** Stream output operator for GPSZcount objects.
+       * @param s stream to append formatted GPSZcount to.
+       * @param z GPSZcount to append to stream \c s.
+       * @return a reference to \c s.
+       */
+   std::ostream& operator<<(std::ostream& s,
+                            const gpstk::GPSZcount& z) ;
+
+      //@}
+
+} // namespace gpstk
+
+#endif // GPSTK_GPSZCOUNT_HPP
diff --git a/trunk/src/GPSZcount29.cpp b/trunk/src/GPSZcount29.cpp
new file mode 100644
index 0000000..acca3c5
--- /dev/null
+++ b/trunk/src/GPSZcount29.cpp
@@ -0,0 +1,171 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSZcount29.cpp#3 $"
+
+#include "GPSZcount29.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+   const std::string GPSZcount29::printChars( "Ec" );
+   const std::string GPSZcount29::defaultFormat( "%E %c" );
+   
+   GPSZcount29& GPSZcount29::operator=( const GPSZcount29& right )
+      throw()
+   {
+      zcount = right.zcount;
+      return *this;
+   }
+   
+   CommonTime GPSZcount29::convertToCommonTime() const
+   {
+         // What we have in the zcount data member is the following:
+         // a 10-bit week number, and a 19-bit zcount.  Split 'em apart.
+      long wk( epoch * WEEKS_PER_EPOCH + ( (zcount >> 19) & 0x3FF ) );
+      long zc( zcount & 0x7FFFF );
+      long jday = GPS_EPOCH_JDAY + ( 7 * wk ) 
+         + ( zc / ZCOUNT_PER_DAY );
+      double sod = ( zc % ZCOUNT_PER_DAY ) * 1.5;
+
+      return CommonTime( jday, 
+                         static_cast<long>( sod ),
+                         sod - static_cast<long>( sod ) );
+   }
+   
+   void GPSZcount29::convertFromCommonTime( const CommonTime& ct )
+   {
+      long day, sod;
+      double fsod;
+      ct.get( day, sod, fsod );
+      
+         // find the number of days since the beginning of the GPS Epoch
+      day -= GPS_EPOCH_JDAY;
+
+         // find out how many weeks that is
+      int wk( static_cast<int>( day / 7 ) );
+
+         // ... and chop off the epochs
+      epoch = wk / WEEKS_PER_EPOCH;
+      wk %= WEEKS_PER_EPOCH;
+
+         // find out what the day of week is
+      day %= 7;
+
+      zcount = static_cast<long>( day * ZCOUNT_PER_DAY ) 
+         + static_cast<long>( static_cast<double>( sod + fsod ) / 1.5 );      
+      
+      zcount |= ( wk << 19 );
+   }
+   
+   std::string GPSZcount29::printf( const std::string& fmt ) const
+      throw( gpstk::StringUtils::StringException )
+   {
+      try
+      {
+         using gpstk::StringUtils::formattedPrint;
+         std::string rv( fmt );
+         
+         rv = formattedPrint( rv, formatPrefixInt + "E",
+                              "Ehd", epoch );
+         rv = formattedPrint( rv, formatPrefixInt + "c",
+                              "chd", zcount );
+         return rv;         
+      }
+      catch( gpstk::StringUtils::StringException& se )
+      {
+         GPSTK_RETHROW( se );
+      }
+   }
+   
+   bool GPSZcount29::setFromInfo( const IdToValue& info )
+      throw()
+   {
+      using namespace gpstk::StringUtils;
+      
+      bool hepoch( false ), hzcount( false );
+      int iepoch( 0 ), izcount( 0 );
+      
+      for( IdToValue::const_iterator i = info.begin(); i != info.end(); i++ )
+      {
+         switch( i->first )
+         {
+            case 'E':
+               hepoch = true;
+               iepoch = gpstk::StringUtils::asInt( i->second );
+               break;
+            case 'c':
+               hzcount = true;
+               izcount = gpstk::StringUtils::asInt( i->second );
+               break;
+            default:
+                  // do nothing
+               break;
+         };
+      }
+      
+      if( hepoch && hzcount )
+      {
+         epoch = iepoch;
+         zcount = izcount;
+         return true;
+      }
+
+      return false;
+   }
+   
+   bool GPSZcount29::isValid() const
+      throw()
+   {
+      GPSZcount29 temp;
+      temp.convertFromCommonTime( convertToCommonTime() );
+      if( *this == temp )
+      {
+         return true;
+      }
+      return false;
+   }
+   
+   bool GPSZcount29::operator==( const GPSZcount29& right ) const
+      throw()
+   {
+      if( zcount == right.zcount )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool GPSZcount29::operator!=( const GPSZcount29& right ) const
+      throw()
+   {
+      return ( !operator==( right ) );
+   }
+
+   bool GPSZcount29::operator<( const GPSZcount29& right ) const
+      throw()
+   {
+      if( zcount < right.zcount )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool GPSZcount29::operator>( const GPSZcount29& right ) const
+      throw()
+   {
+      return ( !operator<=( right ) );
+   }
+
+   bool GPSZcount29::operator<=( const GPSZcount29& right ) const
+      throw()
+   {
+      return ( operator<( right ) ||
+               operator==( right ) );
+   }
+
+   bool GPSZcount29::operator>=( const GPSZcount29& right ) const
+      throw()
+   {
+      return ( !operator<( right ) );
+   }
+
+} // namespace
diff --git a/trunk/src/GPSZcount29.hpp b/trunk/src/GPSZcount29.hpp
new file mode 100644
index 0000000..0d334e2
--- /dev/null
+++ b/trunk/src/GPSZcount29.hpp
@@ -0,0 +1,149 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSZcount29.hpp#3 $"
+
+#ifndef GPSTK_GPSZCOUNT29_HPP
+#define GPSTK_GPSZCOUNT29_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+      /**
+       * This class encapsulates the "GPS Epoch and 29-bit full Zcount" time 
+       * representation.
+       */
+   class GPSZcount29 : public TimeTag
+   {
+   public:
+      static const std::string printChars;
+      static const std::string defaultFormat;
+      
+         /**
+          * @defgroup gz29bo GPSZcount29 Basic Operations
+          * Default and Copy Constructors, Assignment Operator and Destructor.
+          */
+         //@{
+         /**
+          * Default Constructor.
+          * All elements are initialized to zero.
+          */
+      GPSZcount29( int e = 0,
+                   int z = 0 )
+         throw()
+            : epoch( e ), zcount( z )
+      {}
+      
+         /** 
+          * Copy Constructor.
+          * @param right a reference to the GPSZcount29 object to copy
+          */
+      GPSZcount29( const GPSZcount29& right )
+         throw()
+            : epoch( right.epoch ), zcount( right.zcount )
+      {}
+      
+         /**
+          * Alternate Copy Constructor.
+          * Takes a const TimeTag reference and copies its contents via
+          * conversion to CommonTime.
+          * @param right a const reference to the BasicTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      GPSZcount29( const TimeTag& right )
+         throw( gpstk::InvalidRequest )
+      { 
+         convertFromCommonTime( right.convertToCommonTime() ); 
+      }
+      
+         /** 
+          * Alternate Copy Constructor.
+          * Takes a const CommonTime reference and copies its contents via
+          * the convertFromCommonTime method.
+          * @param right a const reference to the CommonTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      GPSZcount29( const CommonTime& right )
+         throw( InvalidRequest )
+      {
+         convertFromCommonTime( right );
+      }
+
+         /** 
+          * Assignment Operator.
+          * @param right a const reference to the GPSZcount29 to copy
+          * @return a reference to this GPSZcount29
+          */
+      GPSZcount29& operator=( const GPSZcount29& right )
+         throw();
+      
+         /// Virtual Destructor.
+      virtual ~GPSZcount29()
+         throw()
+      {}
+         //@}
+
+         // The following functions are required by TimeTag.
+      virtual CommonTime convertToCommonTime() const;
+
+      virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+         /// This function formats this time to a string.  The exceptions 
+         /// thrown would only be due to problems parsing the fmt string.
+      virtual std::string printf( const std::string& fmt ) const
+         throw( gpstk::StringUtils::StringException );
+
+         /**
+          * Set this object using the information provided in \a info.
+          * @param info the IdToValue object to which this object shall be set.
+          * @return true if this object was successfully set using the 
+          *  data in \a info, false if not.
+          */
+      virtual bool setFromInfo( const IdToValue& info )
+         throw();
+      
+         /// Return a string containing the characters that this class
+         /// understands when printing times.
+      virtual std::string getPrintChars() const
+         throw()
+      { 
+         return printChars;
+      }
+
+         /// Return a string containing the default format to use in printing.
+      virtual std::string getDefaultFormat() const
+         throw()
+      {
+         return defaultFormat;
+      }
+
+      virtual bool isValid() const
+         throw();
+
+         /**
+          * @defgroup gz29co GPSZcount29 Comparison Operators
+          * All comparison operators have a parameter "right" which corresponds
+          *  to the GPSZcount29 object to the right of the symbol.
+          * All comparison operators are const and return true on success
+          *  and false on failure.
+          */
+         //@{
+      bool operator==( const GPSZcount29& right ) const
+         throw();
+      bool operator!=( const GPSZcount29& right ) const
+         throw();
+      bool operator<( const GPSZcount29& right ) const
+         throw();
+      bool operator>( const GPSZcount29& right ) const
+         throw();
+      bool operator<=( const GPSZcount29& right ) const
+         throw();
+      bool operator>=( const GPSZcount29& right ) const
+         throw();
+         //@}
+
+      int epoch;
+      int zcount;
+   };
+
+} // namespace
+
+#endif // GPSTK_GPSZCOUNT32_HPP
diff --git a/trunk/src/GPSZcount32.cpp b/trunk/src/GPSZcount32.cpp
new file mode 100644
index 0000000..92a7575
--- /dev/null
+++ b/trunk/src/GPSZcount32.cpp
@@ -0,0 +1,142 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSZcount32.cpp#2 $"
+
+#include "GPSZcount32.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+   const std::string GPSZcount32::printChars( "C" );
+   const std::string GPSZcount32::defaultFormat( "%C" );
+   
+   GPSZcount32& GPSZcount32::operator=( const GPSZcount32& right )
+      throw()
+   {
+      zcount = right.zcount;
+      return *this;
+   }
+   
+   CommonTime GPSZcount32::convertToCommonTime() const
+   {
+         // What we have in the zcount data member is the following:
+         // a 13-bit week number, and a 19-bit zcount.  Split 'em apart.
+      int wk( (zcount >> 19) & 0x1FFF ), zc( zcount & 0x7FFFF );
+      int jday = GPS_EPOCH_JDAY + ( 7 * wk ) 
+         + static_cast<int>( zc * DAY_PER_ZCOUNT );
+      double sod = ( zc % ZCOUNT_PER_DAY ) * 1.5;
+
+      return CommonTime( jday, 
+                         static_cast<long>( sod ),
+                         sod - static_cast<long>( sod ) );
+   }
+   
+   void GPSZcount32::convertFromCommonTime( const CommonTime& ct )
+   {
+      long day, sod;
+      double fsod;
+      ct.get( day, sod, fsod );
+      
+               // find the number of days since the beginning of the GPS Epoch
+      day -= GPS_EPOCH_JDAY;
+         // find out how many weeks that is
+      int wk( static_cast<int>( day / 7 ) );
+         // find out what the day of week is
+      day %= 7;
+
+      zcount = static_cast<long>( day * ZCOUNT_PER_DAY ) 
+         + static_cast<long>( static_cast<double>( sod + fsod ) / 1.5 );      
+      
+      zcount |= ( wk << 19 );
+   }
+   
+   std::string GPSZcount32::printf( const std::string& fmt ) const
+      throw( gpstk::StringUtils::StringException )
+   {
+      try
+      {
+         using gpstk::StringUtils::formattedPrint;
+         std::string rv( fmt );
+         
+         rv = formattedPrint( rv, formatPrefixInt + "C",
+                              "Cd", zcount );
+
+         return rv;         
+      }
+      catch( gpstk::StringUtils::StringException& se )
+      {
+         GPSTK_RETHROW( se );
+      }
+   }
+   
+   bool GPSZcount32::setFromInfo( const IdToValue& info )
+      throw()
+   {
+      using namespace gpstk::StringUtils;
+      
+      IdToValue::const_iterator itr = info.find('C');
+      if( itr != info.end() )
+      {
+         zcount = gpstk::StringUtils::asInt( itr->second );
+         return true;
+      }
+      
+      return false;
+   }
+   
+   bool GPSZcount32::isValid() const
+      throw()
+   {
+      GPSZcount32 temp;
+      temp.convertFromCommonTime( convertToCommonTime() );
+      if( *this == temp )
+      {
+         return true;
+      }
+      return false;
+   }
+   
+   bool GPSZcount32::operator==( const GPSZcount32& right ) const
+      throw()
+   {
+      if( zcount == right.zcount )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool GPSZcount32::operator!=( const GPSZcount32& right ) const
+      throw()
+   {
+      return ( !operator==( right ) );
+   }
+
+   bool GPSZcount32::operator<( const GPSZcount32& right ) const
+      throw()
+   {
+      if( zcount < right.zcount )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool GPSZcount32::operator>( const GPSZcount32& right ) const
+      throw()
+   {
+      return ( !operator<=( right ) );
+   }
+
+   bool GPSZcount32::operator<=( const GPSZcount32& right ) const
+      throw()
+   {
+      return ( operator<( right ) ||
+               operator==( right ) );
+   }
+
+   bool GPSZcount32::operator>=( const GPSZcount32& right ) const
+      throw()
+   {
+      return ( !operator<( right ) );
+   }
+
+} // namespace
diff --git a/trunk/src/GPSZcount32.hpp b/trunk/src/GPSZcount32.hpp
new file mode 100644
index 0000000..fc96616
--- /dev/null
+++ b/trunk/src/GPSZcount32.hpp
@@ -0,0 +1,146 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GPSZcount32.hpp#2 $"
+
+#ifndef GPSTK_GPSZCOUNT32_HPP
+#define GPSTK_GPSZCOUNT32_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+      /**
+       * This class encapsulates the "32-bit full Zcount" time representation.
+       */
+   class GPSZcount32 : public TimeTag
+   {
+   public:
+      static const std::string printChars;
+      static const std::string defaultFormat;
+      
+         /**
+          * @defgroup gz32bo GPSZcount32 Basic Operations
+          * Default and Copy Constructors, Assignment Operator and Destructor.
+          */
+         //@{
+         /**
+          * Default Constructor.
+          * All elements are initialized to zero.
+          */
+      GPSZcount32( int z = 0 )
+         throw()
+            : zcount( z )
+      {}
+      
+         /** 
+          * Copy Constructor.
+          * @param right a reference to the GPSZcount32 object to copy
+          */
+      GPSZcount32( const GPSZcount32& right )
+         throw()
+            : zcount( right.zcount )
+      {}
+      
+         /**
+          * Alternate Copy Constructor.
+          * Takes a const TimeTag reference and copies its contents via
+          * conversion to CommonTime.
+          * @param right a const reference to the BasicTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      GPSZcount32( const TimeTag& right )
+         throw( gpstk::InvalidRequest )
+      { 
+         convertFromCommonTime( right.convertToCommonTime() ); 
+      }
+      
+         /** 
+          * Alternate Copy Constructor.
+          * Takes a const CommonTime reference and copies its contents via
+          * the convertFromCommonTime method.
+          * @param right a const reference to the CommonTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      GPSZcount32( const CommonTime& right )
+         throw( InvalidRequest )
+      {
+         convertFromCommonTime( right );
+      }
+
+         /** 
+          * Assignment Operator.
+          * @param right a const reference to the GPSZcount32 to copy
+          * @return a reference to this GPSZcount32
+          */
+      GPSZcount32& operator=( const GPSZcount32& right )
+         throw();
+      
+         /// Virtual Destructor.
+      virtual ~GPSZcount32()
+         throw()
+      {}
+         //@}
+
+         // The following functions are required by TimeTag.
+      virtual CommonTime convertToCommonTime() const;
+
+      virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+         /// This function formats this time to a string.  The exceptions 
+         /// thrown would only be due to problems parsing the fmt string.
+      virtual std::string printf( const std::string& fmt ) const
+         throw( gpstk::StringUtils::StringException );
+
+         /**
+          * Set this object using the information provided in \a info.
+          * @param info the IdToValue object to which this object shall be set.
+          * @return true if this object was successfully set using the 
+          *  data in \a info, false if not.
+          */
+      virtual bool setFromInfo( const IdToValue& info )
+         throw();
+      
+         /// Return a string containing the characters that this class
+         /// understands when printing times.
+      virtual std::string getPrintChars() const
+         throw()
+      { 
+         return printChars;
+      }
+
+         /// Return a string containing the default format to use in printing.
+      virtual std::string getDefaultFormat() const
+         throw()
+      {
+         return defaultFormat;
+      }
+
+      virtual bool isValid() const
+         throw();
+
+         /**
+          * @defgroup gz32co GPSZcount32 Comparison Operators
+          * All comparison operators have a parameter "right" which corresponds
+          *  to the GPSZcount32 object to the right of the symbol.
+          * All comparison operators are const and return true on success
+          *  and false on failure.
+          */
+         //@{
+      bool operator==( const GPSZcount32& right ) const
+         throw();
+      bool operator!=( const GPSZcount32& right ) const
+         throw();
+      bool operator<( const GPSZcount32& right ) const
+         throw();
+      bool operator>( const GPSZcount32& right ) const
+         throw();
+      bool operator<=( const GPSZcount32& right ) const
+         throw();
+      bool operator>=( const GPSZcount32& right ) const
+         throw();
+         //@}
+
+      int zcount;
+   };
+
+} // namespace
+
+#endif // GPSTK_GPSZCOUNT32_HPP
diff --git a/trunk/src/GenXSequence.cpp b/trunk/src/GenXSequence.cpp
new file mode 100644
index 0000000..a5df483
--- /dev/null
+++ b/trunk/src/GenXSequence.cpp
@@ -0,0 +1,215 @@
+// $Id: //depot/sgl/gpstk/dev/src/GenXSequence.cpp#2 $
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/*
+ *  GenXSequence.cpp - Generate GPS X-register sequences
+ */
+
+   // Local headers
+#include "GenXSequence.hpp"
+
+namespace gpstk
+{
+      // Constructor
+   GenXSequence::GenXSequence( const unsigned int initialState, 
+                               const unsigned int tapRegister,
+                               const int initialLengthOfSequence,
+                               const int maxDelay )
+   {
+
+         /*
+         *  NOTE: the x register functions assume a LSB-to-MSB shift.  Therefore,
+         *  the tap register definition and the initialization definition for the
+         *  X register correspond to the diagrams in ICD-GPS-200, assuming 
+         *  "stage 0" is the LSB.  That means the diagrams have to be read from
+         *  LSB (LEFT) -> MSB (RIGHT).  The corresponding text doesn't have this
+         *  problem.
+         */  
+      unsigned int mask12bits[12] = { 0x0001, 0x0002, 0x0004, 0x0008,
+                                      0x0010, 0x0020, 0x0040, 0x0080,
+                                      0x0100, 0x0200, 0x0400, 0x0800 };
+
+      unsigned int reg = initialState;
+      lengthOfSequence = initialLengthOfSequence;
+      maxOfSequence = lengthOfSequence + maxDelay;
+   
+      unsigned long output;
+      word_num = 0;
+      bit_num = 0;
+      int bit16cnt;
+      int andBits;
+      int i;
+   
+         // Clear the output array 
+      for ( i=0; i<MAX_WORD; ++i ) bits[i] = 0L;
+      debugPrint = false;
+      
+      for ( i=0; i<lengthOfSequence ; ++i)
+      {
+            // Get current output and store it away 
+         if ( (reg & 0x0800) !=  0 ) output = 0x00000001;
+          else                       output = 0x00000000;
+         addBitToSequence( output );
+      
+            // Calculate next input bit 
+         andBits = reg & tapRegister;
+         reg <<= 1;
+         reg &= 0x0FFF;
+         int cnt = 0;
+         for ( int bit12cnt=0; bit12cnt<12; ++bit12cnt)
+         {
+            if (( andBits & mask12bits[bit12cnt] ) != 0) ++cnt;
+         }
+         int newBit = cnt % 2;
+         reg |= newBit;
+      
+      }
+
+         // Fill delay bits with copies of the last ouptut bit
+      for ( i=0; i<maxDelay; ++i) addBitToSequence( output );
+      
+         //  When finished, make sure the last word (which is probably
+         //  a partially-filled word) is left-justified.
+      if (bit_num>0) bits[word_num] <<= (MAX_BIT-bit_num);
+   }
+
+      // Private helper method to avoid duplicate code.
+   void GenXSequence::addBitToSequence( unsigned long newBit )
+   {
+         // Left shift any pre-existing data, then OR on the new 
+         // data (assumed to be right-justified).
+      bits[word_num] <<= 1;
+      bits[word_num] |= newBit;
+
+         /*
+            Increment bit pointer and check for word overflow.
+            NOTE: Overflow of the WORD pointer is a "programming problem"
+            that is unrecoverable and should NEVER happen in production.
+         */
+      ++bit_num;
+      if (bit_num>=MAX_BIT)
+      {
+         ++word_num;
+         bit_num=0;
+      }
+   }
+
+       /*
+          Given a bit position within the X sequence (numbered starting at 0),
+          return the next 32 bits.  Note: if there are insufficient bits left
+          to fill the request, wrap around to the beginning of the sequence.
+          Note that the location of the wrap around can be modified using the
+          function GenXSequence::setEndOfSequence( int los );
+       */
+   unsigned long GenXSequence::operator[] ( int i )
+   {
+      unsigned long retArg;
+      int ndx1 = i / MAX_BIT;
+      int offset = i % MAX_BIT;
+      if ( (i+MAX_BIT) <= lengthOfSequence )
+      {
+         if (offset==0) retArg = bits[ndx1];
+         else           retArg = merge( bits[ndx1], bits[ndx1+1], offset );
+      }
+         /*
+            Complicated case when coming up to end of sequence.  May have to
+            put together parts of up to three words to get 32 bits.  Two words
+            at the end of sequence plus "wrap around" bits from beginning of 
+            sequence.
+              First: If end of sequence doesn't fall in current word, use up
+              remaining bits in the current word.
+              Second: use bits up to the end of sequence.
+              Third: fill remaining bits from the beginning of the sequence.
+         */
+      else
+      {
+         retArg = 0L;
+         int numRemainingInSequence = lengthOfSequence - i;
+         int numRemainingInWord = MAX_BIT - offset;
+         int numFilled = 0;
+      
+            /*
+               Get bits (if any) from next-to-last word.
+            */
+         if (numRemainingInWord<numRemainingInSequence)
+         {
+            retArg = bits[ndx1++] << offset;
+            numRemainingInSequence -= numRemainingInWord;
+            numFilled = numRemainingInWord;
+         }
+
+         unsigned long temp = bits[ndx1];
+            /*
+               Get bits from last word
+               Case 1: No bits from previous word, need only "middle" section
+                       from last word.
+               Case 2: Need all bits available from final word (may or
+                       may not have bits from preceding word)
+            */
+         if (numFilled==0 && offset!=0)
+         {
+            temp <<= offset;     // Move to left to clear excess msb
+            temp >>= (MAX_BIT-numRemainingInSequence);   // Shift right to clear excess lsb         retArg |= temp;
+            temp <<= (MAX_BIT - (numRemainingInSequence+numFilled) );
+            retArg |= temp;
+         }
+         else
+         {
+            temp >>= (MAX_BIT-numRemainingInSequence);
+            temp <<= (MAX_BIT-(numRemainingInSequence+numFilled));
+            retArg |= temp;
+         }
+
+            // Finally, add bits from the "wraparound" word at the
+            // beginning of the array.
+         retArg |= bits[0] >> (numRemainingInSequence+numFilled);
+      }
+      return(retArg);
+   }
+
+   void GenXSequence::setLengthOfSequence( int los )
+   {
+      lengthOfSequence = los;
+      return;
+   }
+}     //    end of namespace
diff --git a/trunk/src/GenXSequence.hpp b/trunk/src/GenXSequence.hpp
new file mode 100644
index 0000000..59b15a8
--- /dev/null
+++ b/trunk/src/GenXSequence.hpp
@@ -0,0 +1,159 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GenXSequence.hpp#2 $"
+
+//  GenXSequence.hpp -  Generate X Sequence class.
+
+#ifndef GENXSEQUENCE_HPP
+#define GENXSEQUENCE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "PCodeConst.hpp"
+#include "mergePCodeWords.h"
+
+namespace gpstk
+{
+/** @addtogroup code  */
+//@{
+   
+      // Derived from X2A maximum length (see xconst.hpp) 
+   const int MAX_WORD = 140;
+
+      /**
+       *     Generate X Sequence for GPS
+       *     Applied Research Laboratories, The University of Texas at Austin
+       *     August 2003
+       *
+       *  GenXSequence holds a bit buffer containing one of the GPS code
+       *  sequences: X1A, X1B, X2A, X2B.
+       *
+       *  The first 4092 or 4093 bits are constructed using the algorithms
+       *  from ICD-GPS-200, section 3.3.2.  The process of generating the
+       *  bits is identical for each of the four sequences. The process 
+       *  consists of a 12-bit shift register which is initialized to a
+       *  specific value and a specification of the "taps" on the shift 
+       *  register. As a given bit is read off the high end of the register,
+       *  the sum of the bits specified by the taps is used to determine
+       *  is 0 or 1 is used as the next input to the shift register.  This
+       *  process is defined in more detail in ICD-GPS-200 section 3.3.2.2.
+       *
+       *  Once the 4092 or 4093 bits are constructed, in the case of X1B, X2A,
+       *  and X2B it is necesary to add copies of the last bit to account for 
+       *  delay states in which the register is "held" in it's final position 
+       *  for many counts while X1A completes a cycle.
+       *
+       *  Once the sequences are created, the array subscript operator is used 
+       *  to access the sequences 32 bits at a time.  The index passed to the 
+       *  array subscript operator is the bit position within the sequence 
+       *  (first bit is equal to bit 0).  When the process reaches the end of
+       *  the sequence, the operator will "wrap around" and restart at the 
+       *  front of the array in order to fill the 32-bit return word.
+       *
+       *  For X1A, the length of the sequence will always be 4092 bits.  For 
+       *  all other registers, the length of the sequence is a variable, 
+       *  dependent on the epoch and the time of week.  That information is
+       *  not available to GenXSequence; therefore, the method 
+       *  GenXSequence::setEndOfSequence( los ) is provided to allow the 
+       *  calling program to adjust the end of sequence accordingly. 
+       *  NOTE: this means the calling program also needs to specify
+       *  a maximum sequence length (see constructor) that is equal or greater
+       *  than the maximum length the calling program will use.
+       */
+   class GenXSequence
+   {
+      public:
+            /**
+             *  The initial state of the register and the defintion of the
+             *  taps are provided to the constructor.  In each case, the 
+             *  12-bits of interest are right justified in the argument.  
+             *  The lsb of the variables corresponds to stage 1 in figures
+             *  3-3 through 3-6 of ICD-GPS-200.  The constructor runs the
+             *  X generator process, creates 4096 bits of X-code, and stores
+             *  the results internally in an array of 128 unsigned long 
+             *  (32-bit) variables as packed integers.  Within the storage
+             *  words the bits are ordered from word[0] to word[xxx] and from
+             *  msb to lsb within the word. 
+             * 
+             *  initialEndOfSequence is the number of time the X-register 
+             *  process should be incremented and should be either 4092 
+             *  (X1A, X2A) or 4093 (X1B, X2B).
+             *
+             *  maxDelay represents the number of times the final bit of the
+             *  sequence should be copied after initialEndOfSequence is reached.
+             *  This should be equivalent (or greater than) the maximum number 
+             *  of delay states that this variable can experience.  For X1B, 
+             *  that's the end-of-X1A-epoch delay (349 counts).  For X2A and
+             *  X2B the 37 chip end-of-X2-epoch and the end-of-week delays must
+             *  be considered.
+             */
+         GenXSequence( const unsigned int initialState, 
+                       const unsigned int taps,
+                       const          int initialEndOfSequence,
+                       const          int max_delay );
+         ~GenXSequence( ) {};
+         
+         /**
+          *  Fetch 32-bits from the sequence starting at the specified bit
+          *  location.  Bits are counted started at 0 and run to 
+          *  initialEndOfSequence+maxDelay.  Attempts to reference bits outside
+          *  this range will generate exceptions and halt the program.  These 
+          *  conditions shouldn't occur during operation, only during 
+          *  programming.  If there are not 32 bits remaining prior to the 
+          *  current value for lengthOfSequence, the function will wrap around
+          *  to the beginning of sequence.
+          */
+         unsigned long operator[] ( int i );
+         
+         ///  Set the end of sequence for the current cycle.  
+         void setLengthOfSequence( int i );
+      
+      private:
+         void addBitToSequence( unsigned long newBit );
+         unsigned long bits[MAX_WORD];
+         int lengthOfSequence;
+         int maxOfSequence;
+         bool debugPrint;
+         int word_num;
+         int bit_num;
+   };
+   //@}
+}     // end of namespace
+#endif // GENXSEQUENCE_HPP
diff --git a/trunk/src/Geodetic.cpp b/trunk/src/Geodetic.cpp
new file mode 100644
index 0000000..a287735
--- /dev/null
+++ b/trunk/src/Geodetic.cpp
@@ -0,0 +1,199 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Geodetic.cpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file Geodetic.cpp
+ * Geodetic coordinates (lat, lon, alt)
+ */
+
+#include "geometry.hpp"
+#include "Geodetic.hpp"
+#include "MiscMath.hpp"
+#include "icd_200_constants.hpp"  // for TWO_PI
+
+namespace gpstk
+{
+   using namespace std;
+
+   Geodetic :: Geodetic()
+         : Triple(), geoid(NULL)
+   {
+   }
+
+   Geodetic :: Geodetic(const Geodetic& right)
+         : Triple(right), geoid(right.geoid)
+   {
+   }
+
+   Geodetic :: Geodetic(const double& lat, const double& lon, const double& alt,
+                        GeoidModel* geo)
+         : Triple(lat, lon, alt), geoid(geo)
+   { 
+   }
+
+   Geodetic :: Geodetic(const Triple& t, GeoidModel* geo)
+         : Triple(t), geoid(geo)
+   {
+   }
+   
+   Geodetic :: Geodetic(const ECEF& right, GeoidModel* geo)
+      throw(NoGeoidException)
+   {
+      double X = right[0];     // m
+      double Y = right[1];     // m
+      double Z = right[2];     // m
+      double p = RSS(X,Y);
+      double latd = atan2(Z, p * (1.0 - geo->eccSquared()) );
+      double ht = 0.0, slatd, N, htold, latdold;
+      
+      for(int i=0; i<5; i++)
+      {
+         slatd = sin(latd);
+         N = geo->a() / SQRT(1.0 - geo->eccSquared() * slatd * slatd);
+         htold = ht;
+         ht = p/cos(latd) - N;
+         latdold = latd;
+         latd = atan2(Z, p * (1.0 - geo->eccSquared() * (N/(N+ht)) ) );
+         if(ABS(latd-latdold) < 1.0e-9 && 
+            ABS(ht-htold) < (1.0e-9 * geo->a()))    break;
+      }
+
+      double lon = atan2(Y,X);
+
+      if(lon < 0.0) 
+         lon += TWO_PI;
+
+      theArray[0] = latd * RAD_TO_DEG; // deg
+      theArray[1] = lon * RAD_TO_DEG;  // deg
+      theArray[2] = ht;                // m
+      geoid = geo;
+   }
+
+   Geodetic& Geodetic :: operator=(const Geodetic& right)
+   {
+      Triple::operator=(right);
+      geoid = right.geoid;
+      return *this;
+   }
+
+#if 0
+      // This function is preserved here in case someone actually goes
+      // about verifying it and finishing it.
+      // As of July 31, 2002, David Munton, who implemented this
+      // particular bit of code, recommends not using it.
+   void tidal_corrections ( double rad_gdlat, double rad_gdlon, 
+                            double& xval, double& yval, double& zval)
+   {
+      double radial_correction, transverse_correction;
+      double gclat, re1;
+      double corr_array[3];
+
+      /*convert lat to geocentric */
+      /* re1 = rad_earth(gdlat)
+         gclat=geod_to_geoc(gdlat,re1);*/
+
+      /* compute radial correction */
+
+      radial_correction=-0.1196*(1.50*pow(sin(rad_gdlat),2)-0.5);
+
+      /* compute tranverse correction */
+
+      transverse_correction=-0.0247*sin(2.0*rad_gdlat);
+
+      /* compute correction components then add to station locations*/
+
+      corr_array[0]=radial_correction*cos(rad_gdlat)*cos(rad_gdlon) - 
+         transverse_correction*sin(rad_gdlat)*cos(rad_gdlon);
+      corr_array[1]=radial_correction*cos(rad_gdlat)*sin(rad_gdlon) - 
+         transverse_correction*sin(rad_gdlat)*sin(rad_gdlon);
+      corr_array[2]=radial_correction*sin(rad_gdlat) + 
+         transverse_correction*cos(rad_gdlat);
+
+      /* scale results to km units */
+
+      //corr_array[0]=corr_array[0]*0.001;
+      //corr_array[1]=corr_array[1]*0.001;
+      //corr_array[2]=corr_array[2]*0.001;
+
+      xval = xval + corr_array[0];
+      yval = yval + corr_array[1];
+      zval = zval + corr_array[2];
+   }
+#endif
+
+      // based on formulae 2.30 and 2.31 in section 2.1.4, page 19 of
+      // Satellite Geodesy by Gunter Seeber, 1993.
+   gpstk::ECEF Geodetic :: asECEF() const throw(NoGeoidException)
+   {
+      double rad_cur, gdlat, gdlon;
+      double gdalt = getAltitude();
+
+      if (geoid == NULL)
+      {
+         NoGeoidException exc
+            ("Must specify a geoid to use to change systems");
+         GPSTK_THROW(exc);
+      }
+
+         // convert angles to radians
+      gdlat = DEG_TO_RAD * getLatitude();
+      gdlon = DEG_TO_RAD * getLongitude();
+
+         // radius of curvature in the prime vertical, formula 2.31
+      rad_cur  = geoid->a() /
+         sqrt(1.0-geoid->eccSquared()*pow((sin(gdlat)),2.0));
+
+         // formula 2.30
+      double xval = (rad_cur + gdalt) * ::cos(gdlat) * ::cos(gdlon);
+      double yval = (rad_cur + gdalt) * ::cos(gdlat) * ::sin(gdlon);
+      double zval = ((1.0 - geoid->eccSquared()) * rad_cur + gdalt) * ::sin(gdlat);
+
+      ECEF ecef(xval, yval, zval);
+
+         // see comments for tidalCorrections above for why this is
+         // commented out.
+//      tidalCorrections(gdlat, gdlon, xarray[0], xarray[1], xarray[2]);
+
+      return ecef;
+   }
+} // namespace gpstk
diff --git a/trunk/src/Geodetic.hpp b/trunk/src/Geodetic.hpp
new file mode 100644
index 0000000..f88de59
--- /dev/null
+++ b/trunk/src/Geodetic.hpp
@@ -0,0 +1,132 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Geodetic.hpp#1 $"
+
+/**
+ * @file Geodetic.hpp
+ * Geodetic coordinates (lat, lon, alt)
+ */
+
+#ifndef GPSTK_GEODETIC_HPP
+#define GPSTK_GEODETIC_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Triple.hpp"
+#include "Exception.hpp"
+#include "GeoidModel.hpp"
+#include "ECEF.hpp"
+
+namespace gpstk
+{
+      /** @addtogroup geodeticgroup */
+      //@{
+
+      /// Thrown when the internal gpstk::GeoidModel isn't assigned.
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(NoGeoidException, gpstk::Exception);
+
+      /**
+       * Specialization of triple that represents geodetic coordinates
+       * (latitude in degrees, longitude in degrees, altitude in m).
+       */
+   class Geodetic : public Triple
+   {
+   public:
+         /// Default constructor.
+      Geodetic();
+
+         /// Copy constructor.
+      Geodetic(const Geodetic& right);
+
+         /** Construct from three doubles. Be careful you don't
+          * specify a geoid that will disappear (e.g. one on the stack
+          * where these coordinates will be used outside that context).
+          * @param lat latitude in degrees.
+          * @param lon longitude in degrees.
+          * @param alt altitude in m.
+          * @param geo geoid model for transformations.
+          */
+      Geodetic(const double& lat, const double& lon, const double& alt, 
+               GeoidModel* geo = NULL);
+
+         /** Construct from a Triple and a GeoidMode.  The triple is latitude
+          * in degrees, longitude in degrees, and altitude in meters.  Be 
+          * careful you don't specify a geoid that will disappear (e.g. one 
+          * on the stack where these coordinates will be used outside that 
+          * context).
+          * @param t the Triple to copy from.
+          * @param geo geoid model for transformations.
+          */
+      Geodetic(const Triple& t, GeoidModel* geo = NULL);
+
+         /** Construct from an ECEF and a GeoidModel.  Converts Earth-centered, 
+          * Earth-fixed XYZ coordinates (m) to Geodetic coordinates 
+          * (lat,lon(E),ht) (deg,degE,m).  Be careful you don't
+          * specify a geoid that will disappear (e.g. one on the stack
+          * where these coordinates will be used outside that context).
+          * @param right the ECEF to construct from.
+          * @param geo geoid model for transformations.
+          */
+      Geodetic(const ECEF& right, GeoidModel* geo)
+         throw(NoGeoidException);
+
+         /// destructor
+      virtual ~Geodetic() {}
+
+         /// Assignment operator.
+      Geodetic& operator=(const Geodetic& right);
+
+         /** Convert to Earth-centered, Earth-fixed XYZ coordinates. */
+      gpstk::ECEF asECEF() const throw(NoGeoidException);
+
+      double getLatitude() const throw() { return operator[](0); }
+      double getLongitude() const throw() { return operator[](1); }
+      double getAltitude() const throw() { return operator[](2); }
+
+   protected:
+      GeoidModel *geoid;
+   }; // class Geodetic
+
+   //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/GeoidModel.hpp b/trunk/src/GeoidModel.hpp
new file mode 100644
index 0000000..7da63db
--- /dev/null
+++ b/trunk/src/GeoidModel.hpp
@@ -0,0 +1,101 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/GeoidModel.hpp#1 $"
+
+/**
+ * @file GeoidModel.hpp
+ * Abstract base class modeling a geoid
+ */
+
+#ifndef GPSTK_GEOIDMODEL_HPP
+#define GPSTK_GEOIDMODEL_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+namespace gpstk
+{
+      /** @addtogroup geodeticgroup */
+      //@{
+
+      /**
+       * This abstract class encapsulates geodetic models (e.g. WGS84,
+       * GPS, etc).
+       */
+   class GeoidModel
+   {
+   public:
+         /// @return semi-major axis of Earth in meters.
+      virtual double a() const throw() = 0;
+
+         /// @return semi-major axis of Earth in km.
+      virtual double a_km() const throw() = 0;
+
+         /// @return flattening (ellipsoid parameter).
+      virtual double flattening() const throw() = 0;
+
+         /// @return eccentricity (ellipsoid parameter).
+      virtual double eccentricity() const throw() = 0;
+
+         /// @return eccentricity squared (ellipsoid parameter).
+      virtual double eccSquared() const throw()
+      { return eccentricity() * eccentricity(); }
+
+         /// @return angular velocity of Earth in radians/sec.
+      virtual double angVelocity() const throw() = 0;
+
+         /// @return geocentric gravitational constant in m**3 / s**2
+      virtual double gm() const throw() = 0;
+
+         /// @return geocentric gravitational constant in m**3 / s**2
+      virtual double gm_km() const throw() = 0;
+
+         /// @return Speed of light in m/s.
+      virtual double c() const throw() = 0;
+
+         /// @return Speed of light in km/s
+      virtual double c_km() const throw() = 0;
+
+   }; // class GeoidModel
+
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/IonoModel.cpp b/trunk/src/IonoModel.cpp
new file mode 100644
index 0000000..8ad475c
--- /dev/null
+++ b/trunk/src/IonoModel.cpp
@@ -0,0 +1,176 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/IonoModel.cpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file IonoModel.cpp
+ * Implementation of the ICD-GPS-200 Ionosphere model.
+ */
+
+#include <math.h>
+#include "icd_200_constants.hpp"
+#include "IonoModel.hpp"
+
+namespace gpstk
+{
+   IonoModel::IonoModel(const double a[4], const double b[4])
+      throw()
+         : valid(true)
+   {
+      for (int n = 0; n < 4; n++)
+      {
+         alpha[n] = a[n];
+         beta[n] = b[n];
+      }
+   }
+
+   IonoModel::IonoModel(const EngAlmanac& engalm)
+      throw()
+   {
+      try
+      {
+         engalm.getIon(alpha, beta);
+         valid = true;
+      }
+      catch(InvalidRequest& e)
+      {
+         valid = false;
+      }
+   }
+   
+   double IonoModel::getCorrection(const DayTime& time,
+                                   const Geodetic& rxgeo,
+                                   double svel,
+                                   double svaz,
+                                   Frequency freq) const
+      throw(IonoModel::InvalidIonoModel)
+   {
+
+      if (!valid)
+      {
+         InvalidIonoModel e("Alpha and beta parameters invalid.");
+         GPSTK_THROW(e);
+      }
+      
+         // all angle units are in semi-circles (radians / TWO_PI)
+         // Note: math functions (cos, sin, etc.) require arguments in
+         // radians so all semi-circles must be multiplied by TWO_PI
+
+      double svE = svel / 360.0;
+      double svA = svaz / 360.0;
+
+      double phi_u = rxgeo.getLatitude() / 360.0;
+      double lambda_u = rxgeo.getLongitude() / 360.0;
+      
+      double psi = 0.0137 / (svE + 0.11) - 0.022;
+      
+      double phi_i = phi_u + psi * cos(svA*TWO_PI);
+      if (phi_i > 0.416)
+         phi_i = 0.416;
+      if (phi_i < -0.416)
+         phi_i = -0.416;
+
+      double lambda_i = lambda_u + psi * sin(svA*TWO_PI) / cos(phi_i*TWO_PI);
+      
+      double phi_m = phi_i + 0.064 * cos((lambda_i - 1.617)*TWO_PI);
+      
+      double iAMP = 0.0;
+      double iPER = 0.0;
+      for (int n = 0; n < 4; n++)
+      {
+         iAMP += alpha[n] * pow(phi_m, n);
+         iPER += beta[n] * pow(phi_m, n);
+      }
+      if (iAMP < 0.0)
+         iAMP = 0.0;
+      if (iPER < 72000.0)
+         iPER = 72000.0;
+      
+      double t = 43200.0 * lambda_i + time.DOYsecond();
+      if (t >= 86400.0)
+         t -= 86400.0;
+      if (t < 0)
+         t += 86400.0;
+
+      double x = TWO_PI * (t - 50400.0) / iPER; // x is in radians
+      
+      double iF = 1.0 + 16.0 * pow(0.53 - svE, 3);
+
+      double t_iono = 0.0;
+      if (fabs(x) < 1.57)
+         t_iono = iF * (5.0e-9 + iAMP * (1 - pow(x, 2)/2 + pow(x, 4)/24));
+      else
+         t_iono = iF * 5.0e-9;
+      
+      if (freq == L2)
+      {
+            // see ICD-GPS-200 20.3.3.3.3.2
+         double gamma = pow(1575.42 / 1227.6, 2); //  (fL1 / fL2)^2
+         t_iono *= gamma;
+      }
+      
+      double correction = t_iono * C_GPS_M;
+      
+      return correction;
+   }
+   
+   bool IonoModel::operator==(const IonoModel& right) const
+      throw()
+   {
+      for (int n = 0; n < 4; n++)
+      {
+         if (alpha[n] != right.alpha[n] || beta[n] != right.beta[n])
+            return false;
+      }
+      return true;
+   }
+
+   bool IonoModel::operator!=(const IonoModel&right) const
+      throw()
+   {
+      return !(operator==(right));
+   }   
+}
+
+         
+         
+      
diff --git a/trunk/src/IonoModel.hpp b/trunk/src/IonoModel.hpp
new file mode 100644
index 0000000..49bcf7e
--- /dev/null
+++ b/trunk/src/IonoModel.hpp
@@ -0,0 +1,152 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/IonoModel.hpp#3 $"
+
+#ifndef GPSTK_IONOMODEL_HPP
+#define GPSTK_IONOMODEL_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file IonoModel.cpp
+ * Implementation of the ICD-GPS-200 Ionosphere model.
+ */
+
+#include "DayTime.hpp"
+#include "EngAlmanac.hpp"
+#include "Geodetic.hpp"
+
+namespace gpstk
+{
+      /** @addtogroup GPSsolutions */
+      //@{
+
+      /**
+       * Model of the ionosphere.
+       * It is used to compute the delay of the satellite signal
+       * as seen at the receiver caused by the ionosphere for a
+       * "one frequency" user.
+       *
+       * See ICD-GPS-200, section 20.3.3.5.2.5 and  Figure 20-4.
+       *
+       * Verbatim from the above section:
+       * "It is estimated that the use of this model will provide at least
+       * a 50% reduction in the single-frequency user's RMS error due to
+       * ionospheric propagation effects. During extended operations, or for
+       * the Block IIR SVs in the Autonav mode if the CS is unable to upload
+       * the SVs, the use of this model will yield unpredictable results."
+       */
+   class IonoModel
+   {
+   public:
+        
+         /// Thrown when attempting to use a model for which all necessary
+         /// parameters have not been specified.
+         /// @ingroup exceptiongroup
+      NEW_EXCEPTION_CLASS(InvalidIonoModel, gpstk::Exception);
+ 
+
+      enum Frequency
+      {
+         L1,  ///< L1 frequency (1575.42 MHz)
+         L2   ///< L2 frequency (1227.60 MHz)
+      };
+      
+         /// default constructor, creates an invalid model
+      IonoModel() throw() : valid(false) {}
+      
+         /// destructor
+      virtual ~IonoModel() throw() {}
+      
+         /**
+          * constructor.
+          * Creates a valid model with satellite transmitted alpha
+          * and beta parameters provided from almanac.
+          * \param a an array containing the four alpha terms
+          * \param b an array containing the four beta terms
+          */
+      IonoModel(const double a[4], const double b[4]) throw();
+      
+         /**
+          * EngAlmanac constructor.
+          * Creates a valid model from and EngAlmanac object
+          * \param engalm an EngAlmanac object
+          */
+      IonoModel(const EngAlmanac& engalm) throw();
+      
+         /**
+          * returns the validity of the model.
+          * \return model validity
+          */
+      bool isValid() const throw() { return valid; }
+      
+         /**
+          * get the ionospheric correction value.
+          * \param time the time of the observation
+          * \param rxgeo the WGS84 geodetic position of the receiver
+          * \param svel the elevation angle between the rx and SV (degrees)
+          * \param svaz the azimuth angle between the rx and SV (degrees)
+          * \param freq the GPS frequency the observation was made from
+          * \return the ionospheric correction (meters)
+          */
+      double getCorrection(const DayTime& time,
+                           const Geodetic& rxgeo,
+                           double svel,
+                           double svaz,
+                           Frequency freq = L1) const
+         throw(InvalidIonoModel);
+
+         /// equality operator
+      bool operator==(const IonoModel& right) const throw();
+
+         /// inequality operator
+      bool operator!=(const IonoModel& right) const throw();     
+
+ private:
+
+      double alpha[4];
+      double beta[4];
+
+      bool valid;
+   };
+      //@}
+}
+
+#endif
diff --git a/trunk/src/IonoModelStore.cpp b/trunk/src/IonoModelStore.cpp
new file mode 100644
index 0000000..494c339
--- /dev/null
+++ b/trunk/src/IonoModelStore.cpp
@@ -0,0 +1,93 @@
+#pragma ident "$Id: $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file IonoModelStore.cpp
+ * Store GPS Navigation Message based ionospheric models
+ */
+
+#include "IonoModelStore.hpp"
+
+using namespace std;
+
+namespace gpstk
+{
+   bool IonoModelStore::addIonoModel(const DayTime& mt, const IonoModel& im)
+      throw()
+   {
+      if (!im.isValid())
+         return false;
+      
+      IonoModelMap::const_iterator i = ims.upper_bound(mt);
+      if (!ims.empty() && i != ims.begin())
+      {
+            // compare to previous stored model and if they have the
+            // the same alpha and beta parameters don't store it
+         i--;
+         if (im == i->second)
+            return false;
+      }
+      ims[mt] = im;
+      return true;
+   }
+      
+   double IonoModelStore::getCorrection(const DayTime& time,
+                                        const Geodetic& rxgeo,
+                                        double svel,
+                                        double svaz,
+                                        IonoModel::Frequency freq) const
+      throw(IonoModelStore::NoIonoModelFound)
+   {
+      IonoModelMap::const_iterator i = ims.upper_bound(time);
+      if (!ims.empty() && i != ims.begin())
+      {
+         i--;
+         return i->second.getCorrection(time, rxgeo, svel, svaz, freq);
+      }
+      else
+      {
+         NoIonoModelFound e;
+         GPSTK_THROW(e);
+      }
+   }
+}
diff --git a/trunk/src/IonoModelStore.hpp b/trunk/src/IonoModelStore.hpp
new file mode 100644
index 0000000..11598b9
--- /dev/null
+++ b/trunk/src/IonoModelStore.hpp
@@ -0,0 +1,115 @@
+#pragma ident "$Id: $"
+
+#ifndef GPSTK_IONOMODELSTORE_HPP
+#define GPSTK_IONOMODELSTORE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file IonoModelStore.hpp
+ * Store GPS Navigation Message based ionospheric models
+ */
+
+#include <map>
+#include "DayTime.hpp"
+#include "IonoModel.hpp"
+
+namespace gpstk
+{
+      /** @addtogroup GPSsolutions */
+      //@{
+
+      /**
+       * This class defines an interface to hide how we determine
+       * the ionospheric delay as determined from GPS navigation message
+       * based models at some point in time
+       */
+   class IonoModelStore
+   {
+   public:
+         /**
+          * Thrown when attempting to get a model that isn't stored.
+          * @ingroup exceptiongroup
+          */
+      NEW_EXCEPTION_CLASS(NoIonoModelFound, gpstk::Exception);
+      
+         /// constructor
+      IonoModelStore() throw() {}
+      
+         /// destructor
+      virtual ~IonoModelStore() throw() {}
+      
+         /**
+          * get the ionospheric correction value.
+          * \param time the time of the observation
+          * \param rxgeo the WGS84 geodetic position of the receiver
+          * \param svel the elevation angle between the rx and SV (degrees)
+          * \param svaz the azimuth angle between the rx and SV (degrees)
+          * \param freq the GPS frequency the observation was made from
+          * \return the ionospheric correction (meters)
+          */
+      double getCorrection(const DayTime& time,
+                           const Geodetic& rxgeo,
+                           double svel,
+                           double svaz,
+                           IonoModel::Frequency freq = IonoModel::L1) const
+         throw(NoIonoModelFound);
+
+         /**
+          * add an IonoModel to this collection
+          * \param mt the time the model is valid from
+          * \param im the IonoModel to add
+          * \return true if the model was added, false otherwise
+          */
+      bool addIonoModel(const DayTime& mt, const IonoModel& im) throw();
+      
+
+   private:
+      
+      typedef std::map<DayTime, IonoModel> IonoModelMap;
+      IonoModelMap ims;
+   };
+   
+      //@}
+}
+
+#endif
diff --git a/trunk/src/Jamfile b/trunk/src/Jamfile
new file mode 100644
index 0000000..615e2e8
--- /dev/null
+++ b/trunk/src/Jamfile
@@ -0,0 +1,104 @@
+#
+# $Id: //depot/sgl/gpstk/dev/src/Jamfile#18 $
+#
+
+SubDir TOP src ;
+
+BonkForte ;
+
+if $(NEED_GETOPT)
+{
+   GETOPT_SOURCE = getopt.c getopt1.c ;
+   GETOPT_INC    = getopt.h ;
+}
+
+if $(PREPROCESSING)
+{
+   if $(NEED_REGEX)
+   {
+      REGEX_SOURCE = regex.c ;
+      REGEX_INC    = regex.h ;
+      if $(MSVCNT)
+      {
+         ObjectCcFlags $(REGEX_SOURCE) : -D__STDC__ -D_POSIX_SOURCE -DREGEX_MALLOC -DSTDC_HEADERS ;
+      }
+   }
+   else
+   {
+      REGEX_SOURCE = ;
+   }
+   GPSSetupLibrary gpstk ;
+}
+else
+{
+   GPSBuildLibrary gpstk : $(REGEX_SOURCE) Exception.cpp BinUtils.cpp
+      VectorBase.cpp DayTime.cpp Triple.cpp Geodetic.cpp
+      ECEF.cpp Xvt.cpp EngNav.cpp EngEphemeris.cpp EngAlmanac.cpp
+      AlmOrbit.cpp ObservationStore.cpp BCEphemerisStore.cpp SatID.cpp
+      SP3EphemerisStore.cpp AlmanacStore.cpp TropModel.cpp
+      IonoModel.cpp IonoModelStore.cpp
+      FFStream.cpp FFData.cpp RinexMetData.cpp RinexMetHeader.cpp
+      RinexObsData.cpp RinexObsHeader.cpp RinexNavData.cpp RinexNavHeader.cpp
+      SP3Data.cpp SP3Header.cpp FileSpec.cpp FileHunter.cpp 
+      $(GETOPT_SOURCE) CommandOption.cpp CommandOptionParser.cpp
+      CommandOptionWithTimeArg.cpp BasicFramework.cpp LoopedFramework.cpp
+      RAIM.cpp EphemerisRange.cpp TabularEphemerisStore.cpp 
+      RinexEphemerisStore.cpp RungeKutta4.cpp
+      MSCData.cpp SMODFData.cpp LinearClockModel.cpp
+      ObsClockModel.cpp ObsRngDev.cpp
+      FICData.cpp FICHeader.cpp
+      CodeBuffer.cpp GenXSequence.cpp SVPCodeGen.cpp X1Sequence.cpp
+      X2Sequence.cpp GPSZcount.cpp Position.cpp
+      CommandOptionWithPositionArg.cpp
+      PRSolution.cpp
+      RACRotation.cpp SVExclusionList.cpp
+      TimeConverters.cpp TimeString.cpp 
+      CommonTime.cpp TimeTag.cpp ANSITime.cpp CivilTime.cpp 
+      GPSEpochWeekSecond.cpp GPSWeekSecond.cpp GPSWeekZcount.cpp GPSZcount32.cpp
+      GPSZcount29.cpp JulianDate.cpp MJD.cpp UnixTime.cpp YDSTime.cpp
+      ;
+
+   InstallFile $(INCDIR) : AlmOrbit.hpp AlmanacStore.hpp BCEphemerisStore.hpp
+      BinUtils.hpp DayTime.hpp ECEF.hpp EngAlmanac.hpp EngEphemeris.hpp 
+      EngNav.hpp EphemerisStore.hpp Exception.hpp FFBinaryStream.hpp 
+      FFData.hpp FFStream.hpp FFStreamError.hpp FFTextStream.hpp SatID.hpp
+      FileFilter.hpp FileFilterFrame.hpp FileFilterFrameWithHeader.hpp 
+      FileHunter.hpp FileSpec.hpp FileUtils.hpp GPSGeoid.hpp Geodetic.hpp
+      GeoidModel.hpp MathBase.hpp Matrix.hpp MatrixBase.hpp 
+      MatrixBaseOperators.hpp MatrixFunctors.hpp MatrixImplementation.hpp
+      MatrixOperators.hpp MiscMath.hpp ObservationStore.hpp PolyFit.hpp 
+      RTFileFrame.hpp RinexMetBase.hpp RinexMetData.hpp 
+      RinexMetFilterOperators.hpp RinexMetHeader.hpp RinexMetStream.hpp
+      RinexNavBase.hpp RinexNavData.hpp RinexNavFilterOperators.hpp
+      RinexNavHeader.hpp RinexNavStream.hpp RinexObsBase.hpp
+      RinexObsData.hpp RinexObsFilterOperators.hpp RinexObsHeader.hpp
+      RinexObsStream.hpp SP3Base.hpp SP3Data.hpp SP3EphemerisStore.hpp
+      SP3Header.hpp SP3Stream.hpp Stats.hpp StringUtils.hpp Triple.hpp
+      TropModel.hpp IonoModel.hpp IonoModelStore.hpp
+      Vector.hpp VectorBase.hpp VectorBaseOperators.hpp VectorOperators.hpp 
+      WGS84Geoid.hpp Xvt.hpp
+      convhelp.hpp geometry.hpp gps_constants.hpp icd_200_constants.hpp
+      stl_helpers.hpp CommandOption.hpp CommandOptionParser.hpp
+      CommandOptionWithTimeArg.hpp BasicFramework.hpp RAIMSolution.hpp
+      EphemerisRange.hpp LoopedFramework.hpp TabularEphemerisStore.hpp
+      RinexEphemerisStore.hpp FileStore.hpp RungeKutta4.hpp
+      $(GETOPT_INC) $(REGEX_INC)
+      MSCData.hpp MSCStream.hpp SMODFData.hpp SMODFStream.hpp
+      ClockModel.hpp EpochClockModel.hpp LinearClockModel.hpp
+      ObsClockModel.hpp ObsRngDev.hpp ValidType.hpp ORDEpoch.hpp
+      FICAStream.hpp FICBase.hpp FICData.hpp FICFilterOperators.hpp
+      FICHeader.hpp FICStream.hpp FICStreamBase.hpp
+      CodeBuffer.hpp GenXSequence.hpp PCodeConst.hpp SVPCodeGen.hpp
+      X1Sequence.hpp X2Sequence.hpp GPSZcount.hpp Position.hpp
+      CommandOptionWithPositionArg.hpp
+      PRSolution.hpp
+      RACRotation.hpp SVExclusionList.hpp
+      TimeConstants.hpp TimeConverters.hpp TimeString.hpp
+      CommonTime.hpp TimeTag.hpp ANSITime.hpp CivilTime.hpp 
+      GPSEpochWeekSecond.hpp GPSWeekSecond.hpp GPSWeekZcount.hpp GPSZcount32.hpp
+      GPSZcount29.hpp JulianDate.hpp MJD.hpp UnixTime.hpp YDSTime.hpp 
+
+      ;
+
+}
+
diff --git a/trunk/src/JulianDate.cpp b/trunk/src/JulianDate.cpp
new file mode 100644
index 0000000..6c9c465
--- /dev/null
+++ b/trunk/src/JulianDate.cpp
@@ -0,0 +1,132 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/JulianDate.cpp#2 $"
+
+#include "JulianDate.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+   const std::string JulianDate::printChars( "J" );
+   const std::string JulianDate::defaultFormat( "%J" );
+   
+   JulianDate& JulianDate::operator=( const JulianDate& right )
+      throw()
+   {
+      jd = right.jd;
+      return *this;
+   }
+   
+   CommonTime JulianDate::convertToCommonTime() const
+   {
+      long double temp_jd( jd + 0.5 );
+      long jday( static_cast<long>( temp_jd ) );
+      long double sod = 
+         ( temp_jd - static_cast<long double>( jday ) ) * SEC_PER_DAY;
+
+      return CommonTime( jday, 
+                         static_cast<long>( sod ),
+                         static_cast<double>( sod - static_cast<long>( sod ) ));
+   }
+   
+   void JulianDate::convertFromCommonTime( const CommonTime& ct )
+   {
+      long jday, sod;
+      double fsod;
+      ct.get( jday, sod, fsod );
+     
+      jd = static_cast<long double>( jday ) +
+         ( static_cast<long double>( sod ) 
+           + static_cast<long double>( fsod ) ) * DAY_PER_SEC 
+         - 0.5;
+   }
+   
+   std::string JulianDate::printf( const std::string& fmt ) const
+      throw( gpstk::StringUtils::StringException )
+   {
+      try
+      {
+         using gpstk::StringUtils::formattedPrint;
+         std::string rv( fmt );
+         
+         rv = formattedPrint( rv, formatPrefixFloat + "J",
+                              "JLf", jd );
+         return rv;         
+      }
+      catch( gpstk::StringUtils::StringException& se )
+      {
+         GPSTK_RETHROW( se );
+      }
+   }
+   
+   bool JulianDate::setFromInfo( const IdToValue& info )
+      throw()
+   {
+      using namespace gpstk::StringUtils;
+      
+      IdToValue::const_iterator itr = info.find('J');
+      if( itr != info.end() )
+      {
+         jd = gpstk::StringUtils::asLongDouble( itr->second );
+         return true;
+      }
+      
+      return false;
+   }
+   
+   bool JulianDate::isValid() const
+      throw()
+   {
+      JulianDate temp;
+      temp.convertFromCommonTime( convertToCommonTime() );
+      if( *this == temp )
+      {
+         return true;
+      }
+      return false;
+   }
+   
+   bool JulianDate::operator==( const JulianDate& right ) const
+      throw()
+   {
+      if( jd == right.jd )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool JulianDate::operator!=( const JulianDate& right ) const
+      throw()
+   {
+      return ( !operator==( right ) );
+   }
+
+   bool JulianDate::operator<( const JulianDate& right ) const
+      throw()
+   {
+      if( jd < right.jd )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool JulianDate::operator>( const JulianDate& right ) const
+      throw()
+   {
+      return ( !operator<=( right ) );
+   }
+
+   bool JulianDate::operator<=( const JulianDate& right ) const
+      throw()
+   {
+      return ( operator<( right ) ||
+               operator==( right ) );
+   }
+
+   bool JulianDate::operator>=( const JulianDate& right ) const
+      throw()
+   {
+      return ( !operator<( right ) );
+   }
+
+} // namespace
diff --git a/trunk/src/JulianDate.hpp b/trunk/src/JulianDate.hpp
new file mode 100644
index 0000000..9b3a533
--- /dev/null
+++ b/trunk/src/JulianDate.hpp
@@ -0,0 +1,146 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/JulianDate.hpp#2 $"
+
+#ifndef GPSTK_JULIANDATE_HPP
+#define GPSTK_JULIANDATE_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+      /**
+       * This class encapsulates the "Julian Date" time representation.
+       */
+   class JulianDate : public TimeTag
+   {
+   public:
+      static const std::string printChars;
+      static const std::string defaultFormat;
+      
+         /**
+          * @defgroup jdbo JulianDate Basic Operations
+          * Default and Copy Constructors, Assignment Operator and Destructor.
+          */
+         //@{
+         /**
+          * Default Constructor.
+          * All elements are initialized to zero.
+          */
+      JulianDate( long double j = 0. )
+         throw()
+            : jd( j )
+      {}
+      
+         /** 
+          * Copy Constructor.
+          * @param right a reference to the JulianDate object to copy
+          */
+      JulianDate( const JulianDate& right )
+         throw()
+            : jd( right.jd )
+      {}
+      
+         /**
+          * Alternate Copy Constructor.
+          * Takes a const TimeTag reference and copies its contents via
+          * conversion to CommonTime.
+          * @param right a const reference to the BasicTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      JulianDate( const TimeTag& right )
+         throw( gpstk::InvalidRequest )
+      { 
+         convertFromCommonTime( right.convertToCommonTime() ); 
+      }
+      
+         /** 
+          * Alternate Copy Constructor.
+          * Takes a const CommonTime reference and copies its contents via
+          * the convertFromCommonTime method.
+          * @param right a const reference to the CommonTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      JulianDate( const CommonTime& right )
+         throw( InvalidRequest )
+      {
+         convertFromCommonTime( right );
+      }
+
+         /** 
+          * Assignment Operator.
+          * @param right a const reference to the JulianDate to copy
+          * @return a reference to this JulianDate
+          */
+      JulianDate& operator=( const JulianDate& right )
+         throw();
+      
+         /// Virtual Destructor.
+      virtual ~JulianDate()
+         throw()
+      {}
+         //@}
+
+         // The following functions are required by TimeTag.
+      virtual CommonTime convertToCommonTime() const;
+
+      virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+         /// This function formats this time to a string.  The exceptions 
+         /// thrown would only be due to problems parsing the fmt string.
+      virtual std::string printf( const std::string& fmt ) const
+         throw( gpstk::StringUtils::StringException );
+
+         /**
+          * Set this object using the information provided in \a info.
+          * @param info the IdToValue object to which this object shall be set.
+          * @return true if this object was successfully set using the 
+          *  data in \a info, false if not.
+          */
+      virtual bool setFromInfo( const IdToValue& info )
+         throw();
+      
+         /// Return a string containing the characters that this class
+         /// understands when printing times.
+      virtual std::string getPrintChars() const
+         throw()
+      { 
+         return printChars;
+      }
+
+         /// Return a string containing the default format to use in printing.
+      virtual std::string getDefaultFormat() const
+         throw()
+      {
+         return defaultFormat;
+      }
+
+      virtual bool isValid() const
+         throw();
+
+         /**
+          * @defgroup jdco JulianDate Comparison Operators
+          * All comparison operators have a parameter "right" which corresponds
+          *  to the JulianDate object to the right of the symbol.
+          * All comparison operators are const and return true on success
+          *  and false on failure.
+          */
+         //@{
+      bool operator==( const JulianDate& right ) const
+         throw();
+      bool operator!=( const JulianDate& right ) const
+         throw();
+      bool operator<( const JulianDate& right ) const
+         throw();
+      bool operator>( const JulianDate& right ) const
+         throw();
+      bool operator<=( const JulianDate& right ) const
+         throw();
+      bool operator>=( const JulianDate& right ) const
+         throw();
+         //@}
+
+      long double jd;
+   };
+
+} // namespace
+
+#endif // GPSTK_JULIANDATE_HPP
diff --git a/trunk/src/LinearClockModel.cpp b/trunk/src/LinearClockModel.cpp
new file mode 100644
index 0000000..61c2fe7
--- /dev/null
+++ b/trunk/src/LinearClockModel.cpp
@@ -0,0 +1,176 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/LinearClockModel.cpp#4 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file LinearClockModel.cpp
+ * This model is just a moving average of clock models over time. It
+ * really is quite bad and shouldn't be used at this time. Be warned!
+ */
+
+#include <math.h>
+#include "Stats.hpp"
+
+#include "LinearClockModel.hpp"
+
+namespace gpstk
+{
+   using namespace std;
+
+   void LinearClockModel::reset() throw()
+   {
+      startTime == gpstk::DayTime::END_OF_TIME;
+      endTime == gpstk::DayTime::BEGINNING_OF_TIME;
+      clockObs.clear();
+      prnStatus.clear();
+      clockModel.Reset();
+      tossCount=0;
+   }
+
+   void LinearClockModel::addEpoch(const ORDEpoch& oe)
+      throw(gpstk::InvalidValue)
+   {
+      ORDEpoch::ORDMap::const_iterator itr;
+      const gpstk::DayTime t=oe.time;
+      
+      // Start off by getting an estimate of this epoch's clock
+      // note that this also sets the prn status map
+      gpstk::Stats<double> stat = simpleOrdClock(oe);
+      PRNStatusMap& statusMap = prnStatus[t];
+      statusMap = status;
+
+      double mean;
+      if (clockModel.N()==0)
+      {
+         double clkc = stat.Average();
+         startTime = endTime = baseTime = t;
+         tossCount = 0;
+      }
+
+      const double deltaT = t-baseTime;
+
+      if (t<startTime)
+         startTime=t;
+      if (t>endTime)
+         endTime=t;
+
+      if (clockModel.N()>24)
+         mean = clockModel.Slope()*deltaT + clockModel.Intercept();
+      else
+         mean = stat.Average();
+
+      if (std::abs(stat.Average() - mean) > 20)
+      {
+         cout << t
+              << " slope=" << setw(12) << clockModel.Slope()
+              << ", intercept=" << setw(8) << clockModel.Intercept()
+              << ", est=" << setw(8) << clockModel.Slope()*deltaT + clockModel.Intercept()
+              << ", N=" << setw(6) << clockModel.N()
+              << ", stdev=" << setw(6) << clockModel.StdDevY()
+              << endl;
+         tossCount++;
+         if (tossCount>5)
+         {
+            reset();
+            cout << "Reseting model" << endl;
+         }
+      }
+      else
+      {
+         tossCount=0;
+         for (itr = oe.ords.begin(); itr != oe.ords.end(); itr++)
+            if (statusMap[itr->second.getPRN()] == USED)
+            {
+               const double ord = itr->second.getORD();
+               clockModel.Add(deltaT, ord);
+               std::pair<const double,double> o(deltaT, ord);
+               clockObs.insert(o);
+            }
+      }
+
+      std::multimap<double,double>::iterator i1,i2;
+      i1 = clockObs.begin();
+      while (i1!=clockObs.end())
+      {
+         i2=i1;
+         i1++;
+         double dt = i2->first;
+         double ord = i2->second;
+         if ((deltaT - dt)>1800)
+         {
+            clockObs.erase(i2);
+            clockModel.Subtract(dt, ord);
+         }
+         else
+            break;
+      }
+   }
+
+   void LinearClockModel::dump(std::ostream& s, short detail) const throw()
+   {
+      s << "base: " << baseTime
+        << ", start: " << startTime
+        << ", end: " << endTime
+        << endl
+        << "Clock: est(end)=" << getOffset(endTime)
+        << ", n=" << clockModel.N()
+        << ", b=" << clockModel.Intercept()
+        << ", m=" << clockModel.Slope()
+        << ", sigma=" << clockModel.StdDevY()
+        << ", r=" << clockModel.Correlation()
+        << endl;
+
+      if (detail>0)
+      {
+         s << "min elev: " << elvmask
+           << ", max sigma: " << sigmam
+           << endl;
+
+         map<DayTime,PRNStatusMap>::const_iterator e = prnStatus.find(endTime);
+         const PRNStatusMap& statusMap = e->second;
+         PRNStatusMap::const_iterator i;
+         for ( i=statusMap.begin(); i!= statusMap.end(); i++)
+            s << i->first << "/" << i->second << " ";
+         s << endl;
+      }
+   }
+}
diff --git a/trunk/src/LinearClockModel.hpp b/trunk/src/LinearClockModel.hpp
new file mode 100644
index 0000000..4f201fb
--- /dev/null
+++ b/trunk/src/LinearClockModel.hpp
@@ -0,0 +1,109 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/LinearClockModel.hpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef LINEARCLOCKMODEL_HPP
+#define LINEARCLOCKMODEL_HPP
+
+#include <map>
+
+#include "Exception.hpp"
+
+#include "ObsClockModel.hpp"
+#include "ORDEpoch.hpp"
+
+/**
+ * @file LinearClockModel.hpp
+ * This model is just a moving average of clock models over time. It
+ * really is quite bad and shouldn't be used at this time. Be warned!
+ */
+
+namespace gpstk
+{
+   class LinearClockModel : public ObsClockModel
+   {
+   public:
+      LinearClockModel(double sigma = 2, double elmask = 0, PRNMode mode = ALWAYS)
+         :ObsClockModel(sigma, elmask, mode) {reset();};
+
+      virtual double getOffset(const gpstk::DayTime& t) const 
+         throw()
+      {
+         if (!isOffsetValid(t))
+            return 0;
+         else
+            return clockModel.Slope()*(t-baseTime) + clockModel.Intercept();
+      };
+
+      virtual bool isOffsetValid(const gpstk::DayTime& t) const throw()
+      {return t >= startTime && t <= endTime && clockModel.N() > 1;};
+
+      /// Add in the given ord to the clock model
+      virtual void addEpoch(const ORDEpoch& oe) throw(gpstk::InvalidValue);
+
+      /// Reset the accumulated statistics on the clock
+      void reset() throw();
+
+      void dump(std::ostream& s, short detail=1) const throw();
+
+      friend std::ostream& operator<<(std::ostream& s, const LinearClockModel& r)
+      { r.dump(s, 0); return s; };
+      
+   private:
+      // x is time y is clock offset
+      gpstk::TwoSampleStats<double> clockModel;
+
+      gpstk::DayTime startTime, endTime, baseTime;
+
+      unsigned long tossCount;
+   
+      // This is were we store what PRNs were used to compute the individual
+      // clock observations
+      std::map<gpstk::DayTime, PRNStatusMap> prnStatus;
+
+      // This is a store of the clock observations that were added into the
+      // clockModel object
+      std::multimap<double,double> clockObs;
+   };
+   
+}
+#endif
diff --git a/trunk/src/LoopedFramework.cpp b/trunk/src/LoopedFramework.cpp
new file mode 100644
index 0000000..2a576a7
--- /dev/null
+++ b/trunk/src/LoopedFramework.cpp
@@ -0,0 +1,66 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/LoopedFramework.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ *  @file LoopedFramework.cpp
+ *  Basic framework for programs processing loops in the GPS toolkit
+ */
+
+#include "LoopedFramework.hpp"
+
+namespace gpstk
+{
+   using namespace gpstk;
+
+   void LoopedFramework :: completeProcessing()
+   {
+      additionalSetup();
+
+      spinUp();
+
+      while (!timeToDie)
+         process();
+
+   } // LoopedFramework::run()
+
+} // namespace sglmsn
diff --git a/trunk/src/LoopedFramework.hpp b/trunk/src/LoopedFramework.hpp
new file mode 100644
index 0000000..155c77c
--- /dev/null
+++ b/trunk/src/LoopedFramework.hpp
@@ -0,0 +1,107 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/LoopedFramework.hpp#1 $"
+
+/**
+ *  @file LoopedFramework.hpp
+ *  Basic framework for programs processing loops in the GPS toolkit
+ */
+
+#ifndef LOOPEDFRAMEWORK_HPP
+#define LOOPEDFRAMEWORK_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "BasicFramework.hpp"
+
+namespace gpstk
+{
+      /** @addtogroup appframegroup */
+      //@{
+
+      /**
+       * This is a basic framework for programs processing in loops in
+       * the GPSTK.
+       *
+       * The end user should define subclasses of this class,
+       * implementing those methods described as being meant to be
+       * overridden.
+       *
+       * In use, the user will construct an object of the class
+       * derived from this, then call the initialize() and run()
+       * methods in that order.
+       */
+   class LoopedFramework : public BasicFramework
+   {
+   public:
+         /**
+          * Constructor for LoopedFramework.
+          * @param applName name of the program (argv[0]).
+          * @param applDesc text description of program's function
+          * (used by CommandOption help).
+          */
+      LoopedFramework(const std::string& applName,
+                      const std::string& applDesc)
+         throw()
+            : BasicFramework(applName, applDesc), timeToDie(false)
+      { }
+
+         /// Destructor.
+      virtual ~LoopedFramework() {}
+
+   protected:
+      bool timeToDie;   ///< if set to true, the loop will terminate
+
+         /**
+          * Called by the run() method, calls additionalSetup(),
+          * spinUp(), and process(), in that order.
+          */
+      virtual void completeProcessing();
+
+   private:
+         // Do not allow the use of the default constructor.
+      LoopedFramework();
+   }; // class LoopedFramework
+
+      //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/MJD.cpp b/trunk/src/MJD.cpp
new file mode 100644
index 0000000..1c21751
--- /dev/null
+++ b/trunk/src/MJD.cpp
@@ -0,0 +1,135 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MJD.cpp#3 $"
+
+#include "MJD.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+   const std::string MJD::printChars( "Q" );
+   const std::string MJD::defaultFormat( "%Q" );
+   
+   MJD& MJD::operator=( const MJD& right )
+      throw()
+   {
+      mjd = right.mjd;
+      return *this;
+   }
+   
+   CommonTime MJD::convertToCommonTime() const
+   {
+         // convert to Julian Day
+      long double tmp( mjd + MJD_JDAY );
+         // get the whole number of days
+      long jday( static_cast<long>( tmp ) );
+         // tmp now holds the partial days
+      tmp -= static_cast<long>( tmp );
+         // convert tmp to seconds of day
+      tmp *= SEC_PER_DAY;
+      
+      return CommonTime( jday,
+                         static_cast<long>( tmp ),
+                         tmp - static_cast<long>( tmp ) );
+   }
+   
+   void MJD::convertFromCommonTime( const CommonTime& ct )
+   {
+      long jday, sod;
+      double fsod;
+      ct.get( jday, sod, fsod );
+     
+      mjd = static_cast<long double>( jday - MJD_JDAY ) +
+         ( static_cast<long double>( sod ) 
+           + static_cast<long double>( fsod ) ) * DAY_PER_SEC;
+   }
+   
+   std::string MJD::printf( const std::string& fmt ) const
+      throw( gpstk::StringUtils::StringException )
+   {
+      try
+      {
+         using gpstk::StringUtils::formattedPrint;
+         std::string rv( fmt );
+         
+         rv = formattedPrint( rv, formatPrefixFloat + "Q",
+                              "QLf", mjd );
+         return rv;         
+      }
+      catch( gpstk::StringUtils::StringException& se )
+      {
+         GPSTK_RETHROW( se );
+      }
+   }
+   
+   bool MJD::setFromInfo( const IdToValue& info )
+      throw()
+   {
+      using namespace gpstk::StringUtils;
+      
+      IdToValue::const_iterator itr = info.find('Q');
+      if( itr != info.end() )
+      {
+         mjd = gpstk::StringUtils::asLongDouble( itr->second );
+         return true;
+      }
+      
+      return false;
+   }
+   
+   bool MJD::isValid() const
+      throw()
+   {
+      MJD temp;
+      temp.convertFromCommonTime( convertToCommonTime() );
+      if( *this == temp )
+      {
+         return true;
+      }
+      return false;
+   }
+   
+   bool MJD::operator==( const MJD& right ) const
+      throw()
+   {
+      if( mjd == right.mjd )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool MJD::operator!=( const MJD& right ) const
+      throw()
+   {
+      return ( !operator==( right ) );
+   }
+
+   bool MJD::operator<( const MJD& right ) const
+      throw()
+   {
+      if( mjd < right.mjd )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool MJD::operator>( const MJD& right ) const
+      throw()
+   {
+      return ( !operator<=( right ) );
+   }
+
+   bool MJD::operator<=( const MJD& right ) const
+      throw()
+   {
+      return ( operator<( right ) ||
+               operator==( right ) );
+   }
+
+   bool MJD::operator>=( const MJD& right ) const
+      throw()
+   {
+      return ( !operator<( right ) );
+   }
+
+} // namespace
diff --git a/trunk/src/MJD.hpp b/trunk/src/MJD.hpp
new file mode 100644
index 0000000..a0c66d5
--- /dev/null
+++ b/trunk/src/MJD.hpp
@@ -0,0 +1,146 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MJD.hpp#2 $"
+
+#ifndef GPSTK_MJD_HPP
+#define GPSTK_MJD_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+      /**
+       * This class encapsulates the "Modified Julian Date" time representation.
+       */
+   class MJD : public TimeTag
+   {
+   public:
+      static const std::string printChars;
+      static const std::string defaultFormat;
+      
+         /**
+          * @defgroup mjdbo MJD Basic Operations
+          * Default and Copy Constructors, Assignment Operator and Destructor.
+          */
+         //@{
+         /**
+          * Default Constructor.
+          * All elements are initialized to zero.
+          */
+      MJD( long double m = 0. )
+         throw()
+            : mjd( m )
+      {}
+      
+         /** 
+          * Copy Constructor.
+          * @param right a reference to the MJD object to copy
+          */
+      MJD( const MJD& right )
+         throw()
+            : mjd( right.mjd )
+      {}
+      
+         /**
+          * Alternate Copy Constructor.
+          * Takes a const TimeTag reference and copies its contents via
+          * conversion to CommonTime.
+          * @param right a const reference to the BasicTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      MJD( const TimeTag& right )
+         throw( gpstk::InvalidRequest )
+      { 
+         convertFromCommonTime( right.convertToCommonTime() ); 
+      }
+      
+         /** 
+          * Alternate Copy Constructor.
+          * Takes a const CommonTime reference and copies its contents via
+          * the convertFromCommonTime method.
+          * @param right a const reference to the CommonTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      MJD( const CommonTime& right )
+         throw( InvalidRequest )
+      {
+         convertFromCommonTime( right );
+      }
+
+         /** 
+          * Assignment Operator.
+          * @param right a const reference to the MJD to copy
+          * @return a reference to this MJD
+          */
+      MJD& operator=( const MJD& right )
+         throw();
+      
+         /// Virtual Destructor.
+      virtual ~MJD()
+         throw()
+      {}
+         //@}
+
+         // The following functions are required by TimeTag.
+      virtual CommonTime convertToCommonTime() const;
+
+      virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+         /// This function formats this time to a string.  The exceptions 
+         /// thrown would only be due to problems parsing the fmt string.
+      virtual std::string printf( const std::string& fmt ) const
+         throw( gpstk::StringUtils::StringException );
+
+         /**
+          * Set this object using the information provided in \a info.
+          * @param info the IdToValue object to which this object shall be set.
+          * @return true if this object was successfully set using the 
+          *  data in \a info, false if not.
+          */
+      virtual bool setFromInfo( const IdToValue& info )
+         throw();
+      
+         /// Return a string containing the characters that this class
+         /// understands when printing times.
+      virtual std::string getPrintChars() const
+         throw()
+      { 
+         return printChars;
+      }
+
+         /// Return a string containing the default format to use in printing.
+      virtual std::string getDefaultFormat() const
+         throw()
+      {
+         return defaultFormat;
+      }
+
+      virtual bool isValid() const
+         throw();
+
+         /**
+          * @defgroup mjdco MJD Comparison Operators
+          * All comparison operators have a parameter "right" which corresponds
+          *  to the MJD object to the right of the symbol.
+          * All comparison operators are const and return true on success
+          *  and false on failure.
+          */
+         //@{
+      bool operator==( const MJD& right ) const
+         throw();
+      bool operator!=( const MJD& right ) const
+         throw();
+      bool operator<( const MJD& right ) const
+         throw();
+      bool operator>( const MJD& right ) const
+         throw();
+      bool operator<=( const MJD& right ) const
+         throw();
+      bool operator>=( const MJD& right ) const
+         throw();
+         //@}
+
+      long double mjd;
+   };
+
+} // namespace
+
+#endif // GPSTK_MJD_HPP
diff --git a/trunk/src/MSCData.cpp b/trunk/src/MSCData.cpp
new file mode 100644
index 0000000..ee49b62
--- /dev/null
+++ b/trunk/src/MSCData.cpp
@@ -0,0 +1,133 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MSCData.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file MSCData.cpp
+ * Monitor station coordinate file data
+ */
+
+#include <math.h>
+#include "MSCData.hpp"
+#include "MSCStream.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+
+   static const unsigned long SEC_YEAR = (unsigned long)(365.25 * gpstk::DayTime::SEC_DAY);
+
+   void MSCData::reallyPutRecord(gpstk::FFStream & ffs) const
+      throw(std::exception, gpstk::FFStreamError, StringException)
+   {
+      MSCStream& strm = dynamic_cast<MSCStream&>(ffs);
+
+      string line;
+      
+      line += rightJustify(asString<short>(time.DOYyear()), 4);
+      line += rightJustify(asString<short>(time.DOYday()), 3 , '0');
+      line += rightJustify(asString<long>(station), 5);
+      line += leftJustify(mnemonic, 7);
+      double repoch = refepoch.DOYyear() 
+         + (refepoch.DOYday() * gpstk::DayTime::SEC_DAY
+            + refepoch.DOYsecond()) / SEC_YEAR;
+      line += rightJustify(asString(repoch, 6), 7);
+      double eepoch = effepoch.DOYyear() 
+         + (effepoch.DOYday() * gpstk::DayTime::SEC_DAY
+            + effepoch.DOYsecond()) / SEC_YEAR;
+      line += rightJustify(asString(eepoch, 6), 7);
+      line += rightJustify(asString(coordinates[0], 10), 12);
+      line += rightJustify(asString(coordinates[1], 10), 12);
+      line += rightJustify(asString(coordinates[2], 10), 12);
+      line += rightJustify(asString(velocities[0], 5), 7);            
+      line += rightJustify(asString(velocities[1], 5), 7);
+      line += rightJustify(asString(velocities[2], 5), 7);
+      
+      ffs << line << endl;
+      strm.lineNumber++;
+   }
+
+   void MSCData::reallyGetRecord(gpstk::FFStream& ffs)
+      throw(std::exception, gpstk::FFStreamError,
+            gpstk::StringUtils::StringException)
+   {
+      MSCStream& strm = dynamic_cast<MSCStream&>(ffs);
+
+      string currentLine;
+      
+      strm.formattedGetLine(currentLine, true);
+      int len = currentLine.length();
+      
+      short year = asInt(currentLine.substr(0, 4));
+      short day =  asInt(currentLine.substr(4, 3));
+      time.setYDoySod(year, day, 0.0);
+      
+      station = asInt(currentLine.substr(7, 5));
+      mnemonic = currentLine.substr(12, 7);
+      
+      double epoch, intg, frac, sod;
+      short doy;
+      
+         // can't have DOY 0, so use doy + 1 when generating times
+      epoch = asDouble(currentLine.substr(19, 7));
+      frac = modf(epoch, &intg);
+      doy = (short)(frac * SEC_YEAR / gpstk::DayTime::SEC_DAY);
+      sod = (short)((frac * gpstk::DayTime::SEC_DAY) - (doy * gpstk::DayTime::SEC_DAY));
+      refepoch = gpstk::DayTime((short)intg, doy+1, sod);
+      
+      epoch = asDouble(currentLine.substr(26, 7));
+      frac = modf(epoch, &intg);
+      doy = (short)(frac * SEC_YEAR / gpstk::DayTime::SEC_DAY);
+      sod = (frac * gpstk::DayTime::SEC_DAY) - (doy * gpstk::DayTime::SEC_DAY);
+      effepoch = gpstk::DayTime((short)intg, doy+1, sod);
+      
+      coordinates[0] = asDouble(currentLine.substr(33, 12));
+      coordinates[1] = asDouble(currentLine.substr(45, 12));
+      coordinates[2] = asDouble(currentLine.substr(57, 12));
+      
+      velocities[0] = asDouble(currentLine.substr(69, 7));
+      velocities[1] = asDouble(currentLine.substr(76, 7));
+      velocities[2] = asDouble(currentLine.substr(83, 7));            
+   }
+}
diff --git a/trunk/src/MSCData.hpp b/trunk/src/MSCData.hpp
new file mode 100644
index 0000000..54bc738
--- /dev/null
+++ b/trunk/src/MSCData.hpp
@@ -0,0 +1,112 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MSCData.hpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file MSCData.hpp
+ * Monitor station coordinate file data
+ */
+
+#ifndef MSCDATA_HPP
+#define MSCDATA_HPP
+
+#include <string>
+#include "StringUtils.hpp"
+#include "Triple.hpp"
+#include "ECEF.hpp"
+#include "DayTime.hpp"
+#include "FFData.hpp"
+
+namespace gpstk
+{
+      /** @addtogroup icd211group ICD-GPS-211 Classes */
+      //@{
+
+      /** 
+       * Model for a Monitor Station Coordinates File Data Record
+       */
+   class MSCData : public gpstk::FFData
+   {
+   public:
+         /// constructor
+      MSCData() throw() : time(gpstk::DayTime(0.L)) {}
+      
+         /// destructor
+      virtual ~MSCData() throw() {}
+      
+      gpstk::DayTime time;  ///< date of coordinates release from NIMA
+      unsigned long station; ///< NIMA Monitor Station number (e.g. 85408)
+      std::string mnemonic;  ///< NIMA Monitor Station identifier (e.g. ARLM)
+      gpstk::DayTime refepoch;  ///< epoch of coordinates and velocities
+      gpstk::DayTime effepoch;  ///< earliest epoch data is valid
+      gpstk::ECEF coordinates;  ///< ECEF XYZ coordinates
+      gpstk::Triple velocities; ///< XYZ velocities
+
+         /// MSCData \b is data, so this always return \c true
+      virtual bool isData() const { return true; }
+
+   protected:
+         /// Write an MSCData object in the format specified by the stream
+      virtual void reallyPutRecord(gpstk::FFStream& ffs) const
+         throw(std::exception, gpstk::FFStreamError,
+               gpstk::StringUtils::StringException);
+      
+         /**
+          * Retrieve an MSCData record from the given gpstk::FFStream.
+          * If there is a problem reading from the stream, it
+          * is reset to its original position and it's failbit is set.
+          * @throws StringException when a gpstk::StringUtils functions fails
+          * @throws gpstk::FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs. This also resets the
+          *  stream to it pre-read position.
+          */
+      virtual void reallyGetRecord(gpstk::FFStream& ffs)
+         throw(std::exception, gpstk::FFStreamError,
+               gpstk::StringUtils::StringException);  
+   }; // class MSCData
+
+      //@}
+
+} // namespace gpstk
+
+#endif   
+      
diff --git a/trunk/src/MSCStream.hpp b/trunk/src/MSCStream.hpp
new file mode 100644
index 0000000..98a873e
--- /dev/null
+++ b/trunk/src/MSCStream.hpp
@@ -0,0 +1,85 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MSCStream.hpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file MSCStream.hpp
+ * Read/Write Monitorm station coordinate file data
+ */
+
+#ifndef MSCSTREAM_HPP
+#define MSCSTREAM_HPP
+
+#include "FFTextStream.hpp"
+
+namespace gpstk
+{
+      /** @addtogroup icd211group ICD-GPS-211 Classes */
+      //@{
+
+      /// Stream used to obtain data from a Monitor Station Coordinates File
+   class MSCStream : public gpstk::FFTextStream
+   {
+   public:
+         /// Default constructor
+      MSCStream() {}
+
+         /**
+          * Constructor.
+          * @param fn the file to open
+          * @param mode the ios::openmode to use in opening \a fn
+          */
+      MSCStream(const char* fn, std::ios::openmode mode=std::ios::in)
+         throw()
+            : gpstk::FFTextStream(fn, mode)
+      {}
+      
+         /// Destructor
+      virtual ~MSCStream() {}
+
+   }; // class MSCStream
+
+      //@}
+
+} // namespace gpstk
+
+#endif   
diff --git a/trunk/src/Makefile.am b/trunk/src/Makefile.am
new file mode 100644
index 0000000..e69de29
diff --git a/trunk/src/Makefile.in b/trunk/src/Makefile.in
new file mode 100644
index 0000000..74b7245
--- /dev/null
+++ b/trunk/src/Makefile.in
@@ -0,0 +1,309 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = src
+DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
+AMTAR = @AMTAR@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POW_LIB = @POW_LIB@
+RANLIB = @RANLIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+ac_ct_RANLIB = @ac_ct_RANLIB@
+ac_ct_STRIP = @ac_ct_STRIP@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+datadir = @datadir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  src/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool
+uninstall-info-am:
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+	list='$(DISTFILES)'; for file in $$list; do \
+	  case $$file in \
+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+	  esac; \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+	    dir="/$$dir"; \
+	    $(mkdir_p) "$(distdir)$$dir"; \
+	  else \
+	    dir=''; \
+	  fi; \
+	  if test -d $$d/$$file; then \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-libtool
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool distdir dvi \
+	dvi-am html html-am info info-am install install-am \
+	install-data install-data-am install-exec install-exec-am \
+	install-info install-info-am install-man install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
+	uninstall-info-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/trunk/src/MathBase.hpp b/trunk/src/MathBase.hpp
new file mode 100644
index 0000000..74fd754
--- /dev/null
+++ b/trunk/src/MathBase.hpp
@@ -0,0 +1,56 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MathBase.hpp#3 $"
+
+/**
+ * @file MathBase.hpp
+ * Basic math #defines (ABS, SQRT, etc)
+ */
+ 
+#ifndef GPSTK_MATH_BASE_HPP
+#define GPSTK_MATH_BASE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//@fix MSVC doesnt like std::sqrt or std::abs, and disabling
+//extensions allows abs(double) to be used instead of fabs()
+#ifdef _MSC_VER
+#undef _MSC_EXTENSIONS
+#endif
+#include <cmath>
+#ifdef _MSC_VER
+#define _MSC_EXTENSIONS
+#endif
+
+namespace gpstk
+{
+// do Doxygen elsewhere
+#ifdef _MSC_VER
+#define ABS(x)  ::abs(x)
+#define SQRT(x) ::sqrt(x)
+#else
+#define ABS(x)  std::abs(x)
+#define SQRT(x) std::sqrt(x)
+#endif
+
+}  // namespace gpstk
+
+#endif
diff --git a/trunk/src/Matrix.hpp b/trunk/src/Matrix.hpp
new file mode 100644
index 0000000..fd58456
--- /dev/null
+++ b/trunk/src/Matrix.hpp
@@ -0,0 +1,710 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Matrix.hpp#2 $"
+
+/**
+ * @file Matrix.hpp
+ * Basic Matrix algorithms
+ */
+ 
+#ifndef GPSTK_MATRIX_HPP
+#define GPSTK_MATRIX_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "Vector.hpp"
+#include "MatrixBase.hpp"
+
+namespace gpstk
+{
+
+   /** @defgroup VectorGroup Vector and Matrix mathematics */
+   //@{
+ 
+// forward declarations
+   template <class T> class MatrixRowSlice;
+   template <class T> class ConstMatrixRowSlice;
+   template <class T> class MatrixColSlice;
+   template <class T> class ConstMatrixColSlice;
+
+
+/**
+ * An implementation of a matrix class using Vector<T> as its internal basis.
+ * This class is STL compliant with the iterator proceeding in row major order.
+ * Operators +=, -=, *= and /= are implemented in RefMatrixBase.
+ * 
+ * @sa matvectest.cpp for examples
+ */
+   template <class T>
+   class Matrix : public RefMatrixBase<T, Matrix<T> >
+   {
+   public:
+         /// STL value_type
+      typedef typename Vector<T>::value_type value_type;
+         /// STL reference type
+      typedef typename Vector<T>::reference reference;
+         /// STL const reference type
+      typedef typename Vector<T>::const_reference const_reference;
+         /// STL iterator type
+      typedef typename Vector<T>::iterator iterator;
+         /// STL const iterator type
+      typedef typename Vector<T>::const_iterator const_iterator;  
+
+         /// default constructor
+      Matrix();
+         /// constructor given an initial size
+      Matrix(size_t rows, size_t cols);
+         /// constructor for an initial size and value
+      Matrix(size_t rows, size_t cols, T initialValue);
+         /// copies out the contents of vec to initialize the matrix
+      Matrix(size_t rows, size_t cols, const T* vec);
+         /// copies out the contents of vec to initialize the matrix
+      template <class BaseClass>
+      Matrix(size_t rows, size_t cols, const ConstVectorBase<T, BaseClass>& vec)
+         : v(vec), r(rows), c(cols), s(rows * cols)
+      {}
+         /// constructor for a ConstMatrixBase object
+      template <class BaseClass>
+      Matrix(const ConstMatrixBase<T, BaseClass>& mat) 
+            : v(mat.size()), r(mat.rows()), c(mat.cols()), s(mat.size())
+         {
+            size_t i,j;
+            for(i = 0; i < r; i++)
+               for(j = 0; j < c; j++)
+                  (*this)(i,j) = mat(i, j);
+         }
+
+         /// submatrix constructor
+      template <class BaseClass>
+      Matrix(const ConstMatrixBase<T, BaseClass>& mat, size_t topRow, 
+          size_t topCol, size_t numRows, size_t numCols) 
+            : v((size_t)0), r(0), c(0), s(0)
+         {
+               // sanity checks...
+            if ( (topCol > mat.cols()) || 
+                 (topRow > mat.rows()) ||
+                 ((topRow + numRows) > mat.rows()) ||
+                 ((topCol + numCols) > mat.cols()) )
+            {
+               MatrixException e("Invalid dimensions or size for Matrix(MatrixBase)");
+               GPSTK_THROW(e);
+            }
+         
+               // seems ok - make the valarray and copy column by column
+            r = numRows;
+            c = numCols;
+            s = r * c;
+            v.resize(r * c);
+            size_t i, j;
+            for(i = 0; i < r; i++)
+               for(j = 0; j < c; j++)
+                  (*this)(i,j) = mat(topRow + i, topCol + j);
+         }
+
+         /// STL begin
+      iterator begin() { return v.begin(); }
+         /// STL const begin
+      const_iterator begin() const { return v.begin(); }
+         /// STL end
+      iterator end() { return v.end(); }
+         /// STL const end
+      const_iterator end() const { return v.end(); }
+         /// STL front
+      value_type front() { return v.front(); }
+         /// STL const front
+      const_reference front() const { return v.front();}
+         /// STL empty
+      bool empty() const { return s == 0; }
+         /// STL size
+      size_t size() const {return s; }
+         /// STL max size
+      size_t max_size() const { return s; }
+
+         /// The number of rows in the matrix
+      inline size_t rows() const { return r; }
+         /// The number of columns in the matrix
+      inline size_t cols() const { return c; }
+         /// A reference slice of a row with a given std::slice
+      inline MatrixRowSlice<T> rowRef(size_t rowNum, const std::slice& s);
+         /// A reference slice of a row with a starting column (i.e. sub-row)
+      inline MatrixRowSlice<T> rowRef(size_t rowNum, size_t colNum = 0);
+         /// A const reference slice of a row with a given std::slice
+      inline ConstMatrixRowSlice<T> row(size_t rowNum, const std::slice& s) const;
+         /// A const reference slice of a row with a starting column (i.e. sub-row)
+      inline ConstMatrixRowSlice<T> row(size_t rowNum, size_t colNum = 0) const;
+
+         /// A reference column with a given slice
+      inline MatrixColSlice<T> colRef(size_t colNum, const std::slice& s);
+         /// A reference column with a starting row number (i.e. sub-column)
+      inline MatrixColSlice<T> colRef(size_t colNum, size_t rowNum = 0);
+         /// A const reference column with a given slice
+      inline ConstMatrixColSlice<T> col(size_t colNum, const std::slice& s) const;
+         /// A const reference column with a starting row number (i.e. sub-column)
+      inline ConstMatrixColSlice<T> col(size_t colNum, size_t rowNum = 0) const;
+
+         /// Non-const matrix operator(row,col)
+      inline T& operator() (size_t rowNum, size_t colNum)
+         { return v(rowNum + colNum * r); }
+         /// Const matrix operator(row,col)
+      inline T operator() (size_t rowNum, size_t colNum) const
+         { return v(rowNum + colNum * r); }
+         /// operator[] that returns a row slice
+      inline MatrixRowSlice<T> operator[] (size_t row)
+         { return rowRef(row); }
+         /// const operator[] that returns a const row slice
+      inline ConstMatrixRowSlice<T> operator[] (size_t rowNum) const 
+         { return row(rowNum);}
+
+         /// Resizes the matrix to rows*cols.
+         /// @warning YOUR DATA MAY NOT BE RETAINED!!!
+      inline Matrix& resize(size_t rows, size_t cols);
+
+      inline Matrix& resize(size_t rows, size_t cols, 
+                         const T initialValue);
+
+         /**
+          * Assigns this matrix to a T* in column major order.
+          * @warning be careful that array is as large as the matrix is!
+          */
+      inline Matrix& operator=(const T* array)
+         { return assignFrom(array); }
+         /// Assigns the contents of this matrix to those in array in column
+         /// major order.
+      inline Matrix& operator=(const std::valarray<T> array)
+         { return assignFrom(array); }
+         /// Assigns all elements of the matrix to \c t.
+      inline Matrix& operator=(const T t)
+         { return assignFrom(t); }
+         /// Copies the other matrix.
+      inline Matrix& operator=(const Matrix& mat)
+         { v = mat.v; r = mat.r; c = mat.c; s = mat.s; return *this; }
+         /// Copies from any matrix.
+      template <class BaseClass>
+      inline Matrix& operator=(const ConstMatrixBase<T, BaseClass>& mat)
+         { 
+            v.resize(mat.size()); 
+            r=mat.rows(); 
+            c=mat.cols(); 
+            s=mat.size();
+            return assignFrom(mat);
+         }
+         /// Copies from any vector.
+      template <class BaseClass>
+      inline Matrix& operator=(const ConstVectorBase<T, BaseClass>& mat)
+         { return assignFrom(mat); }
+
+   private:
+         /// the matrix stored in column major order
+      Vector<T> v;
+      size_t r,  ///< the number of rows
+         c,  ///< the number of columns
+         s;  ///< the overall size
+   };
+
+/**
+ * An assignable slice of a matrix.
+ */
+   template <class T>
+   class MatrixSlice : public RefMatrixSliceBase<T, MatrixSlice<T> >
+   {
+   public:
+         /// default constructor
+      MatrixSlice() : m(NULL), rSlice(std::slice(0,0,0)), 
+         cSlice(std::slice(0,0,0)), s(0)
+         {}
+
+         /// Makes a slice of the whole matrix.
+      MatrixSlice(Matrix<T>& mat)
+            : m(&mat), rSlice(std::slice(0, mat.rows(), 1)),
+              cSlice(std::slice(0,mat.cols(), 1)), s(mat.size())
+         {
+            matSliceCheck(mat.rows(), mat.cols());
+         }
+
+         /// Makes a partial slice of a matrix.
+      MatrixSlice(Matrix<T>& mat, const std::slice& rowSlice,
+               const std::slice& colSlice)
+            : m(&mat), rSlice(rowSlice), cSlice(colSlice),
+              s(rSlice.size() * cSlice.size())
+         {
+            matSliceCheck(mat.rows(), mat.cols());
+         }
+
+         /// Submatrix slice.
+      MatrixSlice(Matrix<T>& mat, size_t topRow, size_t topCol, 
+               size_t numRows, size_t numCols)
+            : m(&mat), rSlice(std::slice(topRow, numRows, 1)),
+              cSlice(std::slice(topCol, numCols, 1)),
+              s(rSlice.size() * cSlice.size())
+         {
+            matSliceCheck(mat.rows(), mat.cols());
+         }
+      
+         /// Copies from x to (*this).
+      template <class V>
+      MatrixSlice& operator=(const ConstMatrixBase<T, V>& x)
+         { return assignFrom(x); }
+
+         /// Copies from x to (*this).
+      template <class V>
+      MatrixSlice& operator=(const ConstVectorBase<T, V>& x)
+         { return assignFrom(x); }
+
+         /// Copies from x to (*this).
+      MatrixSlice& operator=(const std::valarray<T>& x)
+         { return assignFrom(x); }
+         /// Copies from x to (*this).
+      MatrixSlice& operator=(const T x)
+         { return assignFrom(x); }
+         /// Copies from x to (*this).
+      MatrixSlice& operator=(const T* x)
+         { return assignFrom(x); }
+
+         /// returns the size of this slice
+      size_t size() const { return s; }
+         /// returns the number of columns in the slice
+      size_t cols() const { return colSize(); }
+         /// returns the number of rows in the slice
+      size_t rows() const { return rowSize(); }
+         /// returns the (i,j) element of the slice.
+      T& operator() (size_t i, size_t j)
+         { return (*m)(i * rowStride() + rowStart(), 
+                       j * colStride() + colStart()); }
+         /// returns the (i,j) element of the slice, const version.
+      T operator() (size_t i, size_t j) const
+         { return (*m)(i * rowStride() + rowStart(), 
+                       j * colStride() + colStart()); }
+
+
+         /// returns the number of rows in this slice
+      size_t rowSize() const { return rSlice.size(); }
+         /// returns the starting row in the base matrix of this slice
+      size_t rowStart() const{ return rSlice.start(); }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t rowStride() const { return rSlice.stride(); }
+         /// returns the number of columns in this slice
+      size_t colSize() const { return cSlice.size(); }
+         /// returns the starting row in the base matrix of this slice
+      size_t colStart() const { return cSlice.start(); }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t colStride() const { return cSlice.stride(); }
+
+   private:
+         /// The matrix this slice refers to
+      Matrix<T>* m;
+      std::slice rSlice, ///< a row slice
+         cSlice; ///< a column slice
+      size_t s; ///< the overall size
+   };
+
+/**
+ * An unmodifiable matrix slice.
+ */
+   template <class T>
+   class ConstMatrixSlice : public ConstMatrixSliceBase<T, ConstMatrixSlice<T> >
+   {
+   public:
+         /// default constructor
+      ConstMatrixSlice(void) : m(NULL), rSlice(std::slice(0,0,0)), 
+         cSlice(std::slice(0,0,0)), s(0)
+         {}
+
+         /// makes a const slice of the whole matrix
+      ConstMatrixSlice(const Matrix<T>& mat)
+            : m(&mat), rSlice(std::slice(0, mat.rows(), 1)),
+              cSlice(std::slice(0,mat.cols(), 1)), s(mat.size())
+         {
+            matSliceCheck(mat.rows(), mat.cols());
+         }
+
+         /// makes a slice given std::slices for rows and columns
+      ConstMatrixSlice(const Matrix<T>& mat, const std::slice& rowSlice,
+               const std::slice& colSlice)
+            : m(&mat), rSlice(rowSlice), cSlice(colSlice),
+              s(rSlice.size() * cSlice.size())
+         {
+            matSliceCheck(mat.rows(), mat.cols());
+         }
+
+         /// submatrix slice
+      ConstMatrixSlice(const Matrix<T>& mat, size_t topRow, size_t topCol, 
+               size_t numRows, size_t numCols)
+            : m(&mat), rSlice(std::slice(topRow, numRows, 1)),
+              cSlice(std::slice(topCol, numCols, 1)),
+              s(rSlice.size() * cSlice.size())
+         {
+            matSliceCheck(mat.rows(), mat.cols());
+         }
+
+         /// the size of the slice
+      size_t size() const { return s; }
+         /// the number of columns in the slice
+      size_t cols() const { return colSize(); }
+         /// the number of rows in the slice
+      size_t rows() const { return rowSize(); }
+         /// the (i,j) element of the slice, const.
+      T operator() (size_t i, size_t j) const 
+         { return (*m)(i * rowStride() + rowStart(), 
+                       j * colStride() + colStart()); }
+
+         /// returns the number of rows in this slice
+      size_t rowSize() const { return rSlice.size(); }
+         /// returns the starting row in the base matrix of this slice
+      size_t rowStart() const{ return rSlice.start(); }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t rowStride() const { return rSlice.stride(); }
+         /// returns the number of columns in this slice
+      size_t colSize() const { return cSlice.size(); }
+         /// returns the starting row in the base matrix of this slice
+      size_t colStart() const { return cSlice.start(); }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t colStride() const { return cSlice.stride(); }
+   private:
+         /// the matrix this slice refers to.
+      const Matrix<T>* m;
+      std::slice rSlice, ///< the row slice
+         cSlice; ///< the column slice
+      size_t s; ///< the size of the slice
+   };
+
+/**
+ * an assignable single column slice of a matrix
+ */
+   template <class T>
+   class MatrixColSlice : public RefMatrixSliceBase<T, MatrixColSlice<T> >
+   {
+   public:
+         /// default constructor
+      MatrixColSlice() : m(NULL), c(0), rSlice(std::slice(0,0,0)) {}
+         /// makes a slice of the column \c col from matrix \c mat.
+      MatrixColSlice(Matrix<T>& mat, size_t col)
+            : m(&mat), c(col), rSlice(std::slice(0,mat.rows(),1))
+         { 
+            matSliceCheck(mat.rows(), mat.cols()); 
+         }
+         /// makes a slice of the column from the matrix using \c s to
+         /// further slice the column.
+      MatrixColSlice(Matrix<T>& mat, size_t col, const std::slice& s)
+            : m(&mat), c(col), rSlice(s)
+         { 
+               // decide if the input is reasonable
+            matSliceCheck(mat.rows(), mat.cols());
+         }
+
+         /// assigns this column to x
+      template <class V>
+      MatrixColSlice& operator=(const ConstMatrixBase<T, V>& x)
+         { return assignFrom(x); }
+
+         /// assigns this column to x
+      template <class V>
+      MatrixColSlice& operator=(const ConstVectorBase<T, V>& x)
+         { return assignFrom(x); }
+         /// assigns this column to x
+      MatrixColSlice& operator=(const std::valarray<T>& x)
+         { return assignFrom(x); }
+         /// assigns this column to x
+      MatrixColSlice& operator=(const T x)
+         { return assignFrom(x); }
+         /// assigns this column to x
+      MatrixColSlice& operator=(const T* x)
+         { return assignFrom(x); }
+
+         /// returns the i'th element of the column, non-const
+      T& operator[] (size_t i) 
+         { return (*m)(rowStart() + i * rowStride(), c); }
+         /// returns the i'th element of the column, non-const
+      T& operator() (size_t i) 
+         { return (*m)(rowStart() + i * rowStride(), c); }
+         /// returns the i'th element of the column, const
+      T operator[] (size_t i) const
+         { return (*m)(rowStart() + i * rowStride(), c); }
+         /// returns the i'th element of the column, const
+      T operator() (size_t i) const
+         { return (*m)(rowStart() + i * rowStride(), c); }
+
+         /// returns the (i,j) element, non-const
+      T& operator() (size_t i, size_t j) 
+         { return (*m)(rowStart() + i * rowStride(), j + c); }
+         /// returns the (i,j) element, non-const
+      T operator() (size_t i, size_t j) const
+         { return (*m)(rowStart() + i * rowStride(), j + c); }
+
+         /// returns the number of rows in the slice
+      size_t rows() const {return size();}
+         /// returns the number of columns in the slice
+      size_t cols() const {return 1;}
+         /// returns the size of the slice
+      size_t size() const {return rowSize();}
+
+         /// returns the number of rows in this slice
+      size_t rowSize() const { return rSlice.size(); }
+         /// returns the starting row in the base matrix of this slice
+      size_t rowStart() const{ return rSlice.start(); }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t rowStride() const { return rSlice.stride(); }
+         /// returns the number of columns in this slice
+      size_t colSize() const { return 1; }
+         /// returns the starting row in the base matrix of this slice
+      size_t colStart() const { return c; }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t colStride() const { return 1; }
+
+   private:
+         /// the matrix this slice refers to.
+      Matrix<T>* m;
+         /// the column this slice is for
+      size_t c;
+         /// slice down the rows
+      std::slice rSlice;
+
+   };
+
+/**
+ * a constant slice of a single column from a matrix.
+ */
+   template <class T>
+   class ConstMatrixColSlice : public ConstMatrixSliceBase<T, ConstMatrixColSlice<T> >
+   {
+   public:
+         /// default constructor
+      ConstMatrixColSlice() 
+            : m(NULL), c(0), rSlice(std::slice(0,0,0)) 
+         {}
+
+         /// constructor taking a slice of column \c col from the matrix.
+      ConstMatrixColSlice(const Matrix<T>& mat, size_t col)
+            : m(&mat), c(col), rSlice(std::slice(0,mat.rows(),1))
+         { matSliceCheck(mat.rows(), mat.cols()); }
+
+         /// constructor taking a slice of column \c col from the matrix,
+         /// slicing the column by \c s.
+      ConstMatrixColSlice(const Matrix<T>& mat, size_t col, 
+                       const std::slice& s)
+            : m(&mat), c(col), rSlice(s)
+         { 
+               // decide if the input is reasonable
+            matSliceCheck(mat.rows(), mat.cols());
+         }
+
+         /// returns the i'th element of the column slice
+      T operator[] (size_t i) const
+         { return (*m)(rowStart() + i * rowStride(), c); }
+         /// returns the i'th element of the column slice
+      T operator() (size_t i) const
+         { return (*m)(rowStart() + i * rowStride(), c); }
+
+         /// returns the (i,j) element of the column slice
+      T operator() (size_t i, size_t j) const
+         { return (*m)(rowStart() + i * rowStride(), j + c); }
+
+         /// returns the size of the slice in rows
+      size_t rows() const {return rowSize();}
+         /// returns the size of the slice in columns
+      size_t cols() const {return 1;}
+         /// returns the overall size of the slice
+      size_t size() const {return rowSize();}
+
+         /// returns the number of rows in this slice
+      size_t rowSize() const { return rSlice.size(); }
+         /// returns the starting row in the base matrix of this slice
+      size_t rowStart() const{ return rSlice.start(); }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t rowStride() const { return rSlice.stride(); }
+         /// returns the number of columns in this slice
+      size_t colSize() const { return 1; }
+         /// returns the starting row in the base matrix of this slice
+      size_t colStart() const { return c; }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t colStride() const { return 1; }
+   private:
+         /// the matrix this slice refers to
+      const Matrix<T>* m;
+         /// the column this slice refers to
+      size_t c;
+         /// a slice down the rows
+      std::slice rSlice;
+   };
+
+/**
+ * an assignable single row slice of a matrix
+ */
+   template <class T>
+   class MatrixRowSlice : public RefMatrixSliceBase<T, MatrixRowSlice<T> >
+   {
+   public:
+         /// default constructor
+      MatrixRowSlice() 
+            : m(NULL), r(0), cSlice(std::slice(0,0,0)) 
+         {}
+         /// makes a slice of row \c row from the matrix.
+      MatrixRowSlice(Matrix<T>& mat, size_t row)
+            : m(&mat), r(row), cSlice(std::slice(0,mat.cols(),1))
+         { matSliceCheck(mat.rows(), mat.cols()); }
+
+         /// makes a slice of row \c row from the matrix, slicing it by \c s.
+      MatrixRowSlice(Matrix<T>& mat, size_t row, 
+                  const std::slice& s)
+            : m(&mat), r(row), cSlice(s)
+         { 
+               // decide if the input is reasonable
+            matSliceCheck(mat.rows(), mat.cols());
+         }   
+
+         /// assigns this row to x.
+      template <class V>
+      MatrixRowSlice& operator=(const ConstMatrixBase<T, V>& x)
+         { return assignFrom(x); }
+         /// assigns this row to x.
+      template <class V>
+      MatrixRowSlice& operator=(const ConstVectorBase<T, V>& x)
+         { return assignFrom(x); }
+         /// assigns this row to x.
+      MatrixRowSlice& operator=(const std::valarray<T>& x)
+         { return assignFrom(x); }
+         /// assigns this row to x.
+      MatrixRowSlice& operator=(const T x)
+         { return assignFrom(x); }
+         /// assigns this row to x.
+      MatrixRowSlice& operator=(const T* x)
+         { return assignFrom(x); }
+
+         /// returns the j'th element of the slice, non-const
+      T& operator[] (size_t j)
+         { return (*m)(r, colStart() + j * colStride()); }
+         /// returns the j'th element of the slice, non-const
+      T& operator() (size_t j)
+         { return (*m)(r, colStart() + j * colStride()); }
+         /// returns the j'th element of the slice, const
+      T operator[] (size_t j) const
+         { return (*m)(r, colStart() + j * colStride()); }
+         /// returns the j'th element of the slice, const
+      T operator() (size_t j) const
+         { return (*m)(r, colStart() + j * colStride()); }
+         /// returns the (i,j) element of the slice, non-const
+      T& operator() (size_t i, size_t j) 
+         { return (*m)(i + r, colStart() + j * colStride()); }
+         /// returns the (i,j) element of the slice, const
+      T operator() (size_t i, size_t j) const
+         { return (*m)(i + r, colStart() + j * colStride()); }
+
+         /// returns the number of rows in the row slice
+      size_t rows() const {return 1;}
+         /// returns the number of columns in the row slice
+      size_t cols() const {return colSize();}
+         /// returns the size of the slice
+      size_t size() const {return colSize();}
+
+         /// returns the number of rows in this slice
+      size_t rowSize() const { return 1; }
+         /// returns the starting row in the base matrix of this slice
+      size_t rowStart() const{ return r; }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t rowStride() const { return 1; }
+         /// returns the number of columns in this slice
+      size_t colSize() const { return cSlice.size(); }
+         /// returns the starting row in the base matrix of this slice
+      size_t colStart() const { return cSlice.start(); }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t colStride() const { return cSlice.stride(); }
+
+   private:
+         /// the matrix this slice refers to.
+      Matrix<T>* m;
+         /// the row of the slice
+      size_t r;
+         /// the column slice of the row.
+      std::slice cSlice;
+   };
+
+/**
+ * an unmodifiable row slice of a matrix.
+ */
+   template <class T>
+   class ConstMatrixRowSlice : public ConstMatrixSliceBase<T, ConstMatrixRowSlice<T> >
+   {
+   public:
+         /// default constructor
+      ConstMatrixRowSlice() 
+            : m(NULL), r(0), cSlice(std::slice(0,0,0)) 
+         {}
+         /// makes a const row slice from the matrix
+      ConstMatrixRowSlice(const Matrix<T>& mat, size_t row)
+            : m(&mat), r(row), cSlice(std::slice(0,mat.cols(),1))
+         { matSliceCheck(mat.rows(), mat.cols()); }
+
+         /// makes a const row slice from the matrix, slicing that row by \c s.
+      ConstMatrixRowSlice(const Matrix<T>& mat, size_t row, 
+                       const std::slice& s)
+            : m(&mat), r(row), cSlice(s)
+         { 
+               // decide if the input is reasonable
+            matSliceCheck(mat.rows(), mat.cols());
+         }   
+
+         /// returns the i'th element of the slice
+      T operator[] (size_t i) const
+         { return (*m)(r, colStart() + i * colStride()); }
+         /// returns the i'th element of the slice
+      T operator() (size_t i) const
+         { return (*m)(r, colStart() + i * colStride()); }
+
+         /// returns the (i,j) element of the slice
+      T operator() (size_t i, size_t j) const
+         { return (*m)(i + r, colStart() + j * colStride()); }
+
+         /// returns the number of rows in the slice
+      size_t rows() const {return 1;}
+         /// returns the number of columns in the slice
+      size_t cols() const {return colSize();}
+         /// returns the overall size of the slice
+      size_t size() const {return colSize();}
+
+         /// returns the number of rows in this slice
+      size_t rowSize() const { return 1; }
+         /// returns the starting row in the base matrix of this slice
+      size_t rowStart() const{ return r; }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t rowStride() const { return 1; }
+         /// returns the number of columns in this slice
+      size_t colSize() const { return cSlice.size(); }
+         /// returns the starting row in the base matrix of this slice
+      size_t colStart() const { return cSlice.start(); }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t colStride() const { return cSlice.stride(); }
+   private:
+         /// the matrix this slice refers to
+      const Matrix<T>* m;
+         /// the row of the slice
+      size_t r;
+         /// the slice of the row's columns
+      std::slice cSlice;
+   };
+
+   //@}
+
+}  // namespace
+
+#include "MatrixImplementation.hpp"
+#include "MatrixOperators.hpp"
+#include "MatrixFunctors.hpp"
+
+#endif
diff --git a/trunk/src/MatrixBase.hpp b/trunk/src/MatrixBase.hpp
new file mode 100644
index 0000000..b31af31
--- /dev/null
+++ b/trunk/src/MatrixBase.hpp
@@ -0,0 +1,420 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MatrixBase.hpp#2 $"
+
+/**
+ * @file MatrixBase.hpp
+ * Base classes (const and ref) for Matrix
+ */
+ 
+#ifndef GPSTK_MATRIX_BASE_HPP
+#define GPSTK_MATRIX_BASE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "Vector.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup VectorGroup */
+   //@{
+
+/// @ingroup VectorGroup
+/// Thrown when there are problems with the matrix operations
+   NEW_EXCEPTION_CLASS(MatrixException, gpstk::Exception);
+/// @ingroup VectorGroup
+/// Thrown when an operation can't be performed on a singular matrix.
+   NEW_EXCEPTION_CLASS(SingularMatrixException, MatrixException);
+
+/**
+ * A matrix base class for a non-modifiable matrix. There is no operator[]
+ * for base matrix classes.
+ */
+   template <class T, class BaseClass>
+   class ConstMatrixBase
+   {
+   public:
+         /// default constructor
+      explicit ConstMatrixBase() {}
+
+         /// the rows()*cols() size of the matrix.
+      size_t size() const
+         { return static_cast<const BaseClass*>(this)->size(); }
+         /// the number of columns in the matrix
+      size_t cols() const
+         { return static_cast<const BaseClass*>(this)->cols(); }
+         /// the number of rows in the matrix
+      size_t rows() const
+         { return static_cast<const BaseClass*>(this)->rows(); }
+         /// returns a const version of the (i,j)'th element in the matrix,
+         /// valid for 0...rows()-1, 0...cols()-1.
+      T operator() (size_t i, size_t j) const 
+         { return constMatrixRef(i, j); }
+   
+         /// returns true if this is a square matrix (false for a null matrix).
+      inline bool isSquare() const 
+         { return ((rows() == cols()) && (rows() != 0)); }
+         /// returns true if this is an upper triangular matrix.
+      inline bool isUT() const
+         {
+            if (!isSquare())
+               return false;
+            size_t i, j;
+            for (i = 1; i < rows(); i++)
+               for (j = 0; j < i; j++)
+                  if ((*this)(i,j) != T(0))
+                     return false;
+            return true;
+         }
+         /// returns true if this is a lower triangular matrix.
+      inline bool isLT() const
+         {
+            if (!isSquare())
+               return false;
+            size_t i, j;
+            for (i = 0; i < rows(); i++)
+               for (j = i+1; j < cols(); j++)
+                  if ((*this)(i,j) != T(0))
+                     return false;
+            return true;
+         }
+
+         /// returns true if this is a diagonal matrix
+      inline bool isDiagonal() const
+         {
+            if (!isSquare())
+               return false;
+            size_t i, j;
+            for (i = 0; i < rows(); i++)
+               for (j = 0; j < cols(); j++)
+                  if (i != j)
+                     if ((*this)(i,j) != T(0))
+                        return false;
+            return true;
+         }
+         /// returns true if this is a symmetrical matrix (across the primary
+         /// diagonal)
+      inline bool isSymmetric() const
+         {
+            if (!isSquare())
+               return false;
+            size_t i,j;
+            for (i = 0; i < rows(); i++)
+               for (j = i + 1; j < cols(); j++)
+                  if ((*this)(i,j) != (*this)(j,i))
+                     return false;
+            return true;
+         }
+
+         /// copies out column c into a vector starting with row r
+      Vector<T> colCopy(size_t c, size_t r = 0) const
+         { 
+            if ((c >= cols()) || (r >= rows()))
+            {
+               gpstk::Exception e("Invalid ConstMatrixBase index for colCopy");
+               GPSTK_THROW(e);
+            }
+            Vector<T> toReturn(rows() - r);
+            size_t i;
+            for (i = r; i < rows(); i++)
+               toReturn(i - r) = (*this)(i, c);
+            return toReturn;
+         }
+
+         /// copies out row r into a vector starting with column c
+      Vector<T> rowCopy(size_t r, size_t c = 0) const
+         { 
+            if ((c >= cols()) || (r >= rows()))
+            {
+               gpstk::Exception e("Invalid ConstMatrixBase index for rowCopy");
+               GPSTK_THROW(e);
+            }
+            Vector<T> toReturn(cols() - c);
+            size_t i;
+            for (i = c; i < cols(); i++)
+               toReturn(i - c) = (*this)(r, i);
+            return toReturn;
+         }
+
+   protected:
+         /// returns the const (i,j) element from the matrix
+      inline T constMatrixRef(size_t i, size_t j) const
+         throw(gpstk::Exception)
+         {
+            const BaseClass& b = static_cast<const BaseClass&>(*this);
+#ifdef RANGECHECK
+            if ((i >= b.rows()) || (j > b.cols()))
+            {
+               gpstk::Exception e("Invalid ConstMatrixBase index for ref");
+               GPSTK_THROW(e);
+            }
+#endif
+            return b(i,j);
+         }
+   };
+
+/**
+ * A matrix base class that allows assignment of the internal matrix.
+ * There is no operator[] for base matrix classes.
+ */
+   template <class T, class BaseClass>
+   class RefMatrixBase : public ConstMatrixBase<T, BaseClass>
+   {
+   public:
+         /// default constructor
+      explicit RefMatrixBase() {}
+
+         /// returns a reference to the (i,j) element of the matrix.
+      T& operator() (size_t i, size_t j) 
+         { return static_cast<BaseClass*>(this)->operator()(i,j); }
+
+         /// returns the rows()*cols() size of the matrix
+      size_t size() const
+         { return static_cast<const BaseClass*>(this)->size(); }
+         /// returns the number of columns in the matrix
+      size_t cols() const
+         { return static_cast<const BaseClass*>(this)->cols(); }
+         /// returns the number of rows in the matrix
+      size_t rows() const
+         { return static_cast<const BaseClass*>(this)->rows(); }
+         /// any value with absolute value below
+         /// RefVectorBaseHelper::zeroTolerance is set to 0.
+      BaseClass& zeroize()
+         {
+            BaseClass& me = static_cast<BaseClass&>(*this);
+            size_t i, j;
+            for (i=0; i < me.rows(); i++)
+               for (j=0; j < me.cols(); j++)
+                  if (ABS(me(i,j)) < RefVectorBaseHelper::zeroTolerance)
+                     me(i,j) = T(0);
+            return me;
+         }
+         /// any value in row r with absolute value below 
+         /// RefVectorBaseHelper::zeroTolerance is set to 0.
+      BaseClass& zeroizeRow(size_t r)
+         {
+            BaseClass& me = static_cast<BaseClass&>(*this);
+            size_t j;
+            for (j=0; j < me.cols(); j++)
+               if (ABS(me(r,j)) < RefVectorBaseHelper::zeroTolerance)
+                  me(r,j) = T(0);
+            return me;
+         }
+         /// any value in column c with absolute value below 
+         /// RefVectorBaseHelper::zeroTolerance is set to 0.
+      BaseClass& zeroizeCol(size_t c)
+         {
+            BaseClass& me = static_cast<BaseClass&>(*this);
+            size_t i;
+            for (i=0; i < me.rows(); i++)
+               if (ABS(me(i,c)) < RefVectorBaseHelper::zeroTolerance)
+                  me(i,c) = T(0);
+            return me;
+         }
+
+#define MatBaseArrayAssignMacro(func) \
+   BaseClass& me = static_cast<BaseClass&>(*this); \
+   size_t i,j; \
+   for (i=0; i < me.rows(); i++) \
+      for (j=0; j < me.cols(); j++) \
+         me(i,j) func x(i,j); \
+   return me;
+              
+#define MatBaseArrayAssignMacroVecSource(func) \
+   BaseClass& me = static_cast<BaseClass&>(*this); \
+   size_t i,j; \
+   for (i=0; i < me.rows(); i++) \
+      for (j=0; j < me.cols(); j++) \
+         me(i,j) func x[i*me.cols()+j]; \
+   return me;
+              
+#define MatBaseAtomicAssignMacro(func) \
+   BaseClass& me = static_cast<BaseClass&>(*this); \
+   size_t i,j; \
+   for (i=0; i < me.rows(); i++) \
+      for (j=0; j < me.cols(); j++) \
+         me(i,j) func x; \
+   return me;
+              
+#define MatBaseNewAssignOperator(funcName, op) \
+/** performs op on each element of this matrix with each element of x */ \
+   template <class E> BaseClass& funcName(const ConstMatrixBase<T, E>& x) \
+      { MatBaseArrayAssignMacro(op); } \
+/** performs op on each element of this matrix with each element of x */ \
+   template <class E> BaseClass& funcName(const ConstVectorBase<T, E>& x) \
+      { MatBaseArrayAssignMacroVecSource(op); } \
+/** performs op on each element of this matrix with each element of x */ \
+   BaseClass& funcName(const std::valarray<T>& x) \
+      { MatBaseArrayAssignMacroVecSource(op); } \
+/** performs op on each element of this matrix with each element of x */ \
+   BaseClass& funcName(const T* x) \
+      { MatBaseArrayAssignMacroVecSource(op); } \
+/** performs op on each element of this matrix with x */ \
+   BaseClass& funcName(T x) \
+      { MatBaseAtomicAssignMacro(op); }
+              
+         /// remember that operator= isn't inherited.  use assignFrom in
+         /// derived classes' copy constructors and operator=.
+      MatBaseNewAssignOperator(assignFrom, =);
+      MatBaseNewAssignOperator(operator+=, +=);
+      MatBaseNewAssignOperator(operator-=, -=);
+   
+         /// multiplies each element in this matrix by x.
+      BaseClass& operator*=(const T x)
+         {
+            MatBaseAtomicAssignMacro(*=);
+         }
+         /// divides each element in this matrix by x.
+      BaseClass& operator/=(const T x)
+         {
+            MatBaseAtomicAssignMacro(/=);
+         }
+         /// unary minus: multiplies each element in this matrix by -1.
+      BaseClass& operator-()
+         {
+            const T x=T(-1);
+            MatBaseAtomicAssignMacro(*=);
+         }
+
+         /// swaps rows row1 and row2 in this matrix.
+      BaseClass& swapRows(size_t row1, size_t row2) 
+         {
+            BaseClass& me = static_cast<BaseClass&>(*this);
+#ifdef RANGECHECK
+            if ( (row1 >= me.rows()) || (row2 >= me.rows()) )
+            {
+               MatrixException e("Invalid rows for swapRows");
+               GPSTK_THROW(e);
+            }
+#endif
+            size_t i;
+            T temp;
+            for (i = 0; i < me.cols(); i++)
+            {
+               temp = me(row1, i);
+               me(row1,i) = me(row2,i);
+               me(row2,i) = temp;
+            }
+            return me;
+         }
+
+         /// swaps columns col1 and col2 in this matrix.
+      BaseClass& swapCols(size_t col1, size_t col2) 
+         {
+            BaseClass& me = static_cast<BaseClass&>(*this);
+#ifdef RANGECHECK
+            if ( (col1 >= me.cols()) || (col2 >= me.cols()) )
+            {
+               MatrixException e("Invalid columns for swapCols");
+               GPSTK_THROW(e);
+            }
+#endif
+            size_t i;
+            T temp;
+            for (i = 0; i < me.rows(); i++)
+            {
+               temp = me(i, col1);
+               me(i, col1) = me(i, col2);
+               me(i, col2) = temp;
+            }
+            return me;
+         }
+   };
+
+/**
+ * Base class for defining a slice of a matrix.
+ */
+   template <class T, class BaseClass>
+   class MatrixSliceBase
+   {
+         /// returns the number of rows in this slice
+      size_t rowSize() const
+         { return static_cast<const BaseClass*>(this)->rowSize(); }
+         /// returns the starting row in the base matrix of this slice
+      size_t rowStart() const
+         { return static_cast<const BaseClass*>(this)->rowStart(); }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t rowStride() const
+         { return static_cast<const BaseClass*>(this)->rowStride(); }
+         /// returns the number of columns in this slice
+      size_t colSize() const
+         { return static_cast<const BaseClass*>(this)->colSize(); }
+         /// returns the starting row in the base matrix of this slice
+      size_t colStart() const
+         { return static_cast<const BaseClass*>(this)->colStart(); }
+         /// returns the number of elements between the i'th and i+1'th row
+      size_t colStride() const
+         { return static_cast<const BaseClass*>(this)->colStride(); }
+   protected:
+         /// checks this slice against the source matrix row and column size
+         /// to see if it's a valid slice.
+      inline void matSliceCheck(size_t sourceRowSize, 
+                                size_t sourceColSize) const
+         throw(MatrixException)
+         {
+#ifdef RANGECHECK
+            if (rowSize() > 0)
+            {
+               if ( (rowStart() >= sourceRowSize) || 
+                    ((rowStart() + (rowSize()-1) * rowStride()) >= sourceRowSize))
+               {
+                  MatrixException e("Invalid row range for slice");
+                  GPSTK_THROW(e);
+               }
+            }
+            if (colSize() > 0)
+            {
+               if ( (colStart() >= sourceColSize) ||
+                    ((colStart() + (colSize()-1) * colStride()) >= sourceColSize))
+               {
+                  MatrixException e("Invalid col range for slice");
+                  GPSTK_THROW(e);
+               }
+            }
+#endif
+         }
+   };
+
+/// Base class for an unmodifiable matrix slice
+   template <class T, class BaseClass>
+   class ConstMatrixSliceBase : public MatrixSliceBase<T, BaseClass>,
+                             public ConstMatrixBase<T, BaseClass>
+   {
+   public:
+      explicit ConstMatrixSliceBase() {}
+   };
+
+/// Base class for a modifiable matrix slice
+   template <class T, class BaseClass>
+   class RefMatrixSliceBase : public MatrixSliceBase<T, BaseClass>,
+                           public RefMatrixBase<T, BaseClass>
+   {
+   public:
+      explicit RefMatrixSliceBase() {}
+   };
+
+   //@}
+
+}  // namespace
+
+#include "MatrixBaseOperators.hpp"
+
+#endif
diff --git a/trunk/src/MatrixBaseOperators.hpp b/trunk/src/MatrixBaseOperators.hpp
new file mode 100644
index 0000000..5c56100
--- /dev/null
+++ b/trunk/src/MatrixBaseOperators.hpp
@@ -0,0 +1,169 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MatrixBaseOperators.hpp#3 $"
+
+/**
+ * @file MatrixBaseOperators.hpp
+ * Matrix operators for the base class
+ */
+ 
+#ifndef GPSTK_MATRIX_BASE_OPERATORS_HPP
+#define GPSTK_MATRIX_BASE_OPERATORS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <fstream> // for copyfmt
+#include <iomanip>
+
+namespace gpstk
+{
+
+ /** @addtogroup VectorGroup */
+   //@{
+ 
+/// Output operator for ConstMatrixBase classes
+   template <class T, class E>
+   std::ostream& operator<<(std::ostream& s, const ConstMatrixBase<T, E>& a) 
+   {
+      size_t i, j;
+      std::ofstream savefmt;
+      savefmt.copyfmt(s);
+      for (i=0; i<a.rows(); i++)
+      {
+         for (j=0; j< a.cols(); j++) {
+            s << std::setw(1) << ' ';
+            s.copyfmt(savefmt);
+            s << a(i,j);
+         }
+         if(i < a.rows()-1) s << std::endl;
+      }
+      return s;
+   }
+
+/**
+ * Turns the square RefMatrixBase matrix into an identity matrix
+ */
+   template <class T, class BaseClass>
+   BaseClass& ident(RefMatrixBase<T, BaseClass>& m)
+      throw (MatrixException)
+   {
+      BaseClass& me = static_cast<BaseClass&>(m);
+      if ( (me.rows() != me.cols()) || (me.cols() < 1) )
+      {
+         MatrixException e("invalid matrix dimensions for ident()");
+         GPSTK_THROW(e);
+      }
+      m.assignFrom(T(0));
+      size_t i;
+      for (i = 0; i < me.rows(); i++)
+         me(i,i) = T(1);
+      return me;
+   }
+
+/**
+ * Returns the trace of the matrix
+ */
+   template <class T, class BaseClass>
+   inline T trace(const ConstMatrixBase<T, BaseClass>& m)
+      throw (MatrixException)
+   {
+      if ((!m.isSquare()) || (m.rows() == 0))
+      {
+         MatrixException e("Invalid matrix for trace()");
+         GPSTK_THROW(e);
+      }
+      size_t index = 0;
+      T answer = m(index,index);
+      for (index = 1; index < m.rows(); index++)
+         answer += m(index,index);
+      return answer;
+   }
+
+/**
+ * returns the frobenius norm or RSS of the matrix
+ */
+   template <class T, class BaseClass>
+   inline T normF(const ConstMatrixBase<T, BaseClass>& m)
+   {
+      T sum(0);
+      size_t i,j;
+      for (i = 0; i < m.rows(); i++)
+         for (j = 0; j < m.cols(); j++)
+            sum += m(i,j) * m(i,j);
+      return SQRT(sum);
+   }
+
+/**
+ * returns the column sum norm of the matrix
+ */
+   template <class T, class BaseClass>
+   inline T normCol(const ConstMatrixBase<T, BaseClass>& m)
+   {
+      T sum(0), tempSum;
+      size_t i,j;
+      for (i = 0; i < m.rows(); i++)
+      {
+         tempSum = T(0);
+         for (j = 0; j < m.cols(); j++)
+            tempSum += ABS(m(i,j));
+         if (tempSum > sum)
+            sum = tempSum;
+      }
+      return sum;
+   }
+
+/**
+ * Uses the sum of minor determinates to calculate the whole det. 
+ * Slow for large matricies, but it works.
+ */
+   template <class T, class BaseClass>
+   inline T slowDet(const ConstMatrixBase<T, BaseClass>& l)
+   {
+      if (!l.isSquare() || (l.rows() <= 1))
+      {
+         MatrixException e("Invalid matrix for det()");
+         GPSTK_THROW(e);
+      }
+         // go recursion!
+      if (l.rows() == 2)
+         return l(0,0)*l(1,1) - l(0,1)*l(1,0);
+      else
+      {
+            // use v[0,0] * det(minor matrix(0,0)) + 
+            //     v[0,1] * det(minor matrix(0,1)) + ...
+         size_t i;
+         int sign;
+         T det = 0;
+         for (i = 0; i < l.rows(); i++)
+         {
+            sign = (i % 2) ? -1 : 1;
+            if (l(0,i) != 0)
+               det += sign * l(0,i) * slowDet(minorMatrix(l,0,i));
+         }
+         return det;
+      }
+   }
+
+   //@}
+ 
+}  // namespace
+
+#endif
diff --git a/trunk/src/MatrixFunctors.hpp b/trunk/src/MatrixFunctors.hpp
new file mode 100644
index 0000000..3cda712
--- /dev/null
+++ b/trunk/src/MatrixFunctors.hpp
@@ -0,0 +1,712 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MatrixFunctors.hpp#2 $"
+
+/**
+ * @file MatrixFunctors.hpp
+ * Matrix function operators (SVD, LUD, etc)
+ */
+ 
+#ifndef GPSTK_MATRIX_FUNCTORS_HPP
+#define GPSTK_MATRIX_FUNCTORS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <cmath>
+
+namespace gpstk
+{
+
+ /** @addtogroup VectorGroup */
+   //@{
+
+/**
+ * Class SVD: A function object for the singular value decomposition of a matrix.
+ * Given a matrix A [m,n], the SVD of A = U*S*transpose(V), where U is [m,m],
+ * V is [n,n], and S is [m,n] (like A). Both U and V are unitary [meaning
+ * transpose(U)*U = unity = transpose(V)*V] and the columns of U[resp,V]
+ * are orthonormal vectors spanning the space A*transpose(A) [transpose(A)*A].
+ * Note that U*transpose(U)=1 and V*transpose(V)=1 are not true in general,
+ * but may be. S[m,n] is 'diagonal' in the sense that only diagonal elements
+ * are non-zero (even when m != n); the min(m,n) diagonal elements are called
+ * the singular values of A, often referred to as S[i]. The singular values
+ * may be sorted, as the SVD is invariant under a consistent re-ordering of
+ * {singular values / columns of U / columns of V}.
+ * The condition number of A is the ratio
+ *    cn = fabs(largest S[i])/fabs(smallest S[i]).
+ * Note that inverse(A) = V*inverse(S)*UT where inverse(S) is diagonal with
+ * elements equal to the inverse of elements of S, and with dimension [n,m].
+ * The matrix A is non-singular matrix if and only if all of its singular
+ * values are non-zero. If some of the singular values are zero, the
+ * 'generalized inverse' of A may be formed by editing the singular values
+ * in this way: if the ratio of S[i] to S[0] (where S[0] is the largest
+ * singular value) is bigger than some tolerance (1.e-7 is good), then 1/S[i]
+ * is set to zero in the inverse. In this way the 'generalized inverse' of
+ * ANY matrix is guaranteed to exist.
+ * The SVD algorithm never fails.
+ *
+ * Ref: Bulirsch and Stoer, "Introduction to Numerical Analysis,"
+ * NY, Springer-Verlag, 1980.
+ *
+ * @code
+ * Matrix<double> m(and is assigned some value);
+ * SVD<double> d;
+ * d(m);
+ * cout << d.U << endl << d.V << endl << d.S << endl;
+ * @endcode
+ */
+   template <class T>
+   class SVD
+   {
+   public:
+      SVD() : iterationMax(30) {}
+
+         /**
+          * Singular Value Decomposition
+          */
+      template <class BaseClass>
+      bool operator() (const ConstMatrixBase<T, BaseClass>& mat)
+         throw (MatrixException)
+         {
+            bool flip=false;
+            U = mat;
+            if(mat.rows() > mat.cols()) {
+               flip = true;
+               U = transpose(mat);
+            }
+
+            size_t n(U.cols()), m(U.rows());
+            size_t i, j, k, l, nm, jj, kk;
+            T anorm(0), scale(0), g(0), s, f, h, c, x, y, z;
+
+            V = Matrix<T>(n, n, T(0));
+            S = Vector<T>(n, T(1));
+            Vector<T> B(n, T(1));
+
+            for (i = 0; i < n; i++) {
+               l = i + 1;
+               B[i] = scale * g;
+               g = s = scale = T(0);
+               if (i < m) {
+                  for(k = i; k < m; k++) scale += ABS(U(k, i));
+                  if (scale) {
+                     for(k = i; k < m; k++) {
+                        U(k, i) /= scale;
+                        s += U(k, i) * U(k, i);
+                     }
+                     f = U(i, i);
+                     g = -SIGN(SQRT(s),f);
+                     h = f * g - s;
+                     U(i,i) = f - g;
+                     for(j = l; j < n; j++) {
+                        for(s = T(0), k = i; k < m; k++) s += U(k, i) * U(k, j);
+                        f = s / h;
+                        for(k = i; k < m; k++) U(k, j) += f * U(k, i);
+                     }
+                     for(k = i; k < m; k++) U(k, i) *= scale;
+                  } // if (scale)
+               }  // if (i < m)
+               S[i] = scale * g;
+               g = s = scale = T(0);
+               if ( (i < m) && (i != n-1) ) {
+                  for(k = l; k < n; k++) scale += ABS(U(i, k));
+                  if (scale) {
+                     for(k = l; k < n; k++) {
+                        U(i, k) /= scale;
+                        s += U(i, k) * U(i, k);
+                     }
+                     f = U(i, l);
+                     g = -SIGN(SQRT(s),f);
+                     h = f * g - s;
+                     U(i, l) = f - g;
+                     for(k = l; k < n; k++) B[k] = U(i, k) / h;
+                     for(j = l; j < m; j++) {
+                        for(s = T(0), k = l; k < n; k++) s += U(j, k) * U(i, k);
+                        for(k = l; k < n; k++) U(j, k) += s * B[k];
+                     }
+                     for(k = l; k < n; k++) U(i, k) *= scale;
+                  }
+               }
+               if(ABS(S[i])+ABS(B[i]) > anorm) anorm=ABS(S[i])+ABS(B[i]);
+            }
+            for(i = n - 1; ; i--) {
+               if (i < n - 1) {
+                  if (g) {
+                     for(j = l; j < n; j++) V(j, i) = (U(i, j) / U(i, l)) / g;
+                     for(j = l; j < n; j++) {
+                        for(s = T(0), k = l; k < n; k++) s += U(i, k) * V(k, j);
+                        for(k = l; k < n; k++) V(k, j) += s * V(k, i);
+                     }
+                  }
+                  for(j = l; j < n; j++) V(j, i) = V(i, j) = T(0);
+               }
+               V(i,i) =T(1);
+               g = B[i];
+               l = i;
+               if(i==0) break;
+            }
+            for(i = ( (m-1 < n-1) ? m-1 : n-1); ; i--) {
+               l = i+1;
+               g = S[i];
+               for(j=l; j<n; j++) U(i, j) = T(0);
+               if (g) {
+                  g = T(1) / g;
+                  for(j = l; j < n; j++) {
+                     for(s = T(0), k = l; k < m; k++) s += U(k,i) * U(k,j);
+                     f = (s / U(i,i)) * g;
+                     for(k=i; k<m; k++) U(k,j) += f * U(k,i);
+                  }
+                  for(j = i; j < m; j++) U(j,i) *= g;
+               } 
+               else {
+                  for(j=i; j<m; j++) U(j,i) = T(0);
+               }
+               ++U(i,i);
+               if(i==0) break;
+            }
+            for(k = n - 1; ; k--) {
+               size_t its;
+               for(its = 1; its <= iterationMax; its++) {
+                  bool flag = true;
+                  for(l = k; ; l--) {
+                     nm = l - 1;
+                     if ((ABS(B[l])+anorm) == anorm) {
+                        flag = false;
+                        break;
+                     }
+                     if (l == 0) { // should never happen
+                        MatrixException e("SVD algorithm has nm==-1");
+                        GPSTK_THROW(e);
+                     }
+                     if ((ABS(S[nm])+anorm) == anorm) break;
+                     if(l == 0) break; // since l is unsigned...
+                  }
+                  if (flag) {
+                     c = T(0);
+                     s = T(1);
+                     for(i = l; i <= k; i++) {
+                        f = s * B[i];
+                        B[i] = c * B[i];
+                        if ((ABS(f) + anorm) == anorm) break;
+                        g = S[i];
+                        h = RSS(f,g);
+                        S[i] = h;
+                        h = T(1) / h;
+                        c = g * h;
+                        s = -f * h;
+                        for(j = 0; j < m; j++) {
+                           y = U(j, nm);
+                           z = U(j,i);
+                           U(j, nm) = y * c + z * s;
+                           U(j,i) = z * c - y * s;
+                        }
+                     }
+                  }
+                  z = S[k];
+                  if (l == k) {
+                     if (z < T(0)) {
+                        S[k] = -z;
+                        for(j = 0; j < n; j++) V(j,k) = -V(j,k);
+                     }
+                     break;
+                  }
+            
+                  if (its == iterationMax) {
+                     MatrixException e("SVD algorithm did not converge");
+                     GPSTK_THROW(e);
+                  }
+                  x = S[l];
+                  if(k == 0) { // should never happen
+                     MatrixException e("SVD algorithm has k==0");
+                     GPSTK_THROW(e);
+                  }
+                  nm = k - 1;
+                  y = S[nm];
+                  g = B[nm];
+                  h = B[k];
+                  f = ( (y-z) * (y+z) + (g-h) * (g+h)) / (T(2) * h * y);
+                  g = RSS(f,T(1));
+                  f = ( (x-z) * (x+z) + h * ((y/(f + SIGN(g,f))) - h)) / x;
+                  c = s = 1.0;
+                  for(j = l; j <= nm; j++) {
+                     i = j + 1;
+                     g = B[i];
+                     y = S[i];
+                     h = s * g;
+                     g = c * g;
+                     z = RSS(f, h);
+                     B[j] = z;
+                     c = f / z;
+                     s = h / z;
+                     f = x * c + g * s;
+                     g = g * c - x * s;
+                     h = y * s;
+                     y *= c;
+                     for(jj = 0; jj < n; jj++) {
+                        x = V(jj, j);
+                        z = V(jj, i);
+                        V(jj, j) = x * c + z * s;
+                        V(jj, i) = z * c - x * s;
+                     }
+                     z = RSS(f, h);
+                     S[j] = z;
+                     if (z) {
+                        z = T(1) / z;
+                        c = f * z;
+                        s = h * z;
+                     }
+                     f = c * g + s * y;
+                     x = c * y - s * g;
+                     for(jj = 0; jj < m; jj++) {
+                        y = U(jj, j);
+                        z = U(jj, i);
+                        U(jj, j) = y * c + z * s;
+                        U(jj, i) = z * c - y * s;
+                     }
+                  }
+                  B[l] = T(0);
+                  B[k] = f;
+                  S[k] = x;
+               }
+               if(k==0) break;   // since k is unsigned...
+            }
+               // if U is not square - last n-m columns of U are zero - remove
+            if(U.cols() > U.rows()) {
+               for(i=1; i<S.size(); i++) {   // sort in descending order
+                  T sv=S[i],svj;
+                  kk = i-1;
+                  while(kk >= 0) {
+                     svj = S[kk];
+                     if(sv < svj) break;
+                     S[kk+1] = svj;
+                     // exchange columns kk and kk+1 in U and V
+                     U.swapCols(kk,kk+1);
+                     V.swapCols(kk,kk+1);
+                     kk = kk - 1;
+                  }
+                  S[kk+1] = sv;
+               }
+               Matrix<T> Temp(U);
+               U = Matrix<T>(Temp,0,0,Temp.rows(),Temp.rows());
+               S.resize(Temp.rows());
+            }
+
+            if(flip) {
+               Matrix<T> Temp(U);
+               U = V;
+               V = Temp;
+            }
+
+            return true;
+
+         }  // end SVD::operator() - the SVD algorithm
+   
+         /** Backsubstitution using SVD.
+           * Solve A*x=b for vector x where A [mxn] has been SVD'ed and is given by
+           * U,W,V (*this); that is A[mxn] = U[mxm]*W[mxn]*VT[nxn]. b has dimension m,
+           * x dimension n. Singular values are NOT edited, except that if s.v. == 0,
+           * 1/0 is replaced by 0. Result is returned as b.
+         */
+      template <class BaseClass>
+      void backSub(RefVectorBase<T, BaseClass>& b) const 
+         throw(MatrixException)
+      {
+         if(b.size() != U.rows())
+         {
+             MatrixException e("SVD::BackSub called with unequal dimensions");
+             GPSTK_THROW(e);
+         }
+   
+         size_t i, n=V.cols(), m=U.rows();
+         Matrix<T> W(n,m,T(0));     // build the 'inverse singular values' matrix
+         for(i=0; i<S.size(); i++) W(i,i)=(S(i)==T(0)?T(0):T(1)/S(i));
+         Vector<T> Y;
+         Y = V*W*transpose(U)*b;
+         //b = Y; this fails because operator= is not defined for the base class (op= not inherited)
+         b.assignFrom(Y);
+
+      }  // end SVD::backSub
+
+         /// sort singular values
+      void sort(bool descending)
+         throw(MatrixException)
+      {
+         size_t i,j;
+         for(i=1; i<S.size(); i++) {
+            T sv=S(i),svj;
+            j = i - 1;
+            while(j >= 0) {
+               svj = S(j);
+               if(descending && sv < svj) break;
+               if(!descending && sv > svj) break;
+               S(j+1) = svj;
+               // exchange columns j and j+1 in U and V
+               U.swapCols(j,j+1);
+               V.swapCols(j,j+1);
+               j = j - 1;
+            }
+            S(j+1) = sv;
+         }
+      }  // end SVD::sort
+
+         /// compute determinant from SVD
+      inline T det(void)
+         throw(MatrixException)
+      {
+         T d(1);
+         for(size_t i=0; i<S.size(); i++) d *= S(i);
+         return d;
+      }  // end SVD::det
+
+         /// Matrix U
+      Matrix<T> U;
+         /// Vector of singular values
+      Vector<T> S;
+         /// Matrix V (not transpose(V))
+      Matrix<T> V;
+
+   private:
+      const size_t iterationMax;
+   
+      T SIGN(T a, T b)
+         { 
+            if (b >= T(0))
+               return ABS(a);
+            else
+               return -ABS(a);
+         }
+
+   }; // end class SVD
+
+/**
+ * Performs the lower/upper triangular decomposition of a matrix PA = LU.
+ * The results are put into the matricies L, U, and P (pivot), and sign
+ * (representing even (positive) or odd (negative) row swaps.
+ */
+   template <class T>
+   class LUDecomp
+   {
+   public:
+      LUDecomp() {}        // why is there no constructor from ConstMatrixBase?
+
+         /// Does the decomposition.
+      template <class BaseClass>
+      void operator() (const ConstMatrixBase<T, BaseClass>& m)
+         throw (MatrixException)
+         {
+            if(!m.isSquare() || m.rows()<=1) {
+               MatrixException e("LUDecomp requires a square, non-trivial matrix");
+               GPSTK_THROW(e);
+            }
+
+            size_t N=m.rows(),i,j,k,n,imax;
+            T big,t,d;
+            Vector<T> V(N,T(0));
+
+            LU = m;
+            Pivot = Vector<int>(N);
+            parity = 1;
+
+            for(i=0; i<N; i++) {    // get scale of each row
+               big = T(0);
+               for(j=0; j<N; j++) {
+                  t = ABS(LU(i,j));
+                  if(t > big) big=t;
+               }
+               if(big <= T(0)) {    // m is singular
+                  //LU *= T(0);
+                  SingularMatrixException e("singular matrix!");
+                  GPSTK_THROW(e);
+               }
+               V(i) = T(1)/big;
+            }
+
+            for(j=0; j<N; j++) {    // loop over columns
+               for(i=0; i<j; i++) {
+                  t = LU(i,j);
+                  for(k=0; k<i; k++) t -= LU(i,k)*LU(k,j);
+                  LU(i,j) = t;
+               }
+               big = T(0);          // find largest pivot
+               for(i=j; i<N; i++) {
+                  t = LU(i,j);
+                  for(k=0; k<j; k++) t -= LU(i,k)*LU(k,j);
+                  LU(i,j) = t;
+                  d = V(i)*ABS(t);
+                  if(d >= big) {
+                     big = d;
+                     imax = i;
+                  }
+               }
+               if(j != imax) {
+                  LU.swapRows(imax,j);
+                  V(imax) = V(j);
+                  parity = -parity;
+               }
+               Pivot(j) = imax;
+
+               t = LU(j,j);
+               if(t == 0.0) {       // m is singular
+                  //LU *= T(0);
+                  SingularMatrixException e("singular matrix!");
+                  GPSTK_THROW(e);
+               }
+               if(j != N-1) {
+                  d = T(1)/t;
+                  for(i=j+1; i<N; i++) LU(i,j) *= d;
+               }
+            }
+         }  // end LUDecomp()
+
+         /** Compute inverse(m)*v, where *this is LUD(m), via back substitution
+          * Solution overwrites input Vector v
+          */
+      template <class BaseClass2>
+      void backSub(RefVectorBase<T, BaseClass2>& v) const
+         throw (MatrixException)
+      {
+         if(LU.rows() != v.size()) {
+            MatrixException e("Vector size does not match dimension of LUDecomp");
+            GPSTK_THROW(e);
+         }
+
+         bool first=true;
+         size_t N=LU.rows(),i,j,ii;
+         T sum;
+
+         // un-pivot
+         for(i=0; i<N; i++) {
+            sum = v(Pivot(i));
+            v(Pivot(i)) = v(i);
+            if(first && sum != T(0)) {
+               ii = i;
+               first = false;
+            }
+            else for(j=ii; j<i; j++) sum -= LU(i,j)*v(j);
+            v(i) = sum;
+         }
+         // back substitution
+         for(i=N-1; ; i--) {
+            sum = v(i);
+            for(j=i+1; j<N; j++) sum -= LU(i,j)*v(j);
+            v(i) = sum / LU(i,i);
+            if(i == 0) break;       // b/c i is unsigned
+         }
+      }  // end LUD::backSub
+
+         /// compute determinant from LUD
+      inline T det(void)
+         throw(MatrixException)
+      {
+         T d(parity);
+         for(size_t i=0; i<LU.rows(); i++) d *= LU(i,i);
+         return d;
+      }
+
+         /** The matrix in LU-decomposed form: L and U together;
+           * all diagonal elements of L are implied 1.
+           */
+         Matrix<T> LU;
+         /// The pivot array
+         Vector<int> Pivot;
+         /// Parity
+         int parity;
+
+   }; // end class LUDecomp
+
+
+   /**
+    * Compute cholesky decomposition (upper triangular square root) of the
+    * given matrix, which must be positive definite. Positive definite <=>
+    * positive eigenvalues. Note that the UT sqrt is not unique, and that
+    * m = U*transpose(U) (where U=UTsqrt(m)) only if m is symmetric.
+    */
+   template <class T>
+   class Cholesky
+   {
+   public:
+      Cholesky() {}
+
+         /// @todo potential complex number problem!
+      template <class BaseClass>
+      void operator() (const ConstMatrixBase<T, BaseClass>& m)
+         throw (MatrixException)
+      {
+         if(!m.isSquare()) {
+            MatrixException e("Cholesky requires a square matrix");
+            GPSTK_THROW(e);
+         }
+
+         size_t N=m.rows(),i,j,k;
+         double d;
+         Matrix<T> P(m);
+         U = Matrix<T>(m.rows(),m.cols(),T(0));
+
+         for(j=N-1; ; j--) {
+            if(P(j,j) <= T(0)) {
+               MatrixException e("Cholesky fails - eigenvalue <= 0");
+               GPSTK_THROW(e);
+            }
+            U(j,j) = SQRT(P(j,j));
+            d = T(1)/U(j,j);
+            if(j > 0) {
+               for(k=0; k<j; k++) U(k,j)=d*P(k,j);
+               for(k=0; k<j; k++)
+                  for(i=0; i<=k; i++)
+                     P(i,k) -= U(k,j)*U(i,j);
+            }
+            if(j==0) break;      // since j is unsigned
+         }
+
+         // L does not = transpose(U);
+         P = m;
+         L = Matrix<T>(m.rows(),m.cols(),T(0));
+         for(j=0; j<=N-1; j++) {
+            if(P(j,j) <= T(0)) {
+               MatrixException e("Cholesky fails - eigenvalue <= 0");
+               GPSTK_THROW(e);
+            }
+            L(j,j) = SQRT(P(j,j));
+            d = T(1)/L(j,j);
+            if(j < N-1) {
+               for(k=j+1; k<N; k++) L(k,j)=d*P(k,j);
+               for(k=j+1; k<N; k++) {
+                  for(i=k; i<N; i++) {
+                     P(i,k) -= L(i,j)*L(k,j);
+                  }
+               }
+            }
+         }
+
+      }  // end Cholesky::operator()
+
+         /* Use backsubstition to solve the equation A*x=b where *this Cholesky
+          * has been applied to A, i.e. A = L*transpose(L). The algorithm is in
+          * two steps: since A*x=L*LT*x=b, first solve L*y=b for y, then solve
+          * LT*x=y for x. x is returned as b.
+          */
+      template <class BaseClass2>
+      void backSub(RefVectorBase<T, BaseClass2>& b) const
+         throw (MatrixException)
+      {
+         if (L.rows() != b.size())
+         {
+            MatrixException e("Vector size does not match dimension of Cholesky");
+            GPSTK_THROW(e);
+         }
+         size_t i,j,N=L.rows();
+      
+         Vector<T> y(b.size());
+         y(0) = b(0)/L(0,0);
+         for(i=1; i<N; i++) {
+            y(i) = b(i);
+            for(j=0; j<i; j++) y(i)-=L(i,j)*y(j);
+            y(i) /= L(i,i);
+         }
+         // b is now x
+         b(N-1) = y(N-1)/L(N-1,N-1);
+         for(i=N-1; ; i--) {
+            b(i) = y(i);
+            for(j=i+1; j<N; j++) b(i)-=L(j,i)*b(j);
+            b(i) /= L(i,i);
+            if(i==0) break;
+         }
+
+      }  // end Cholesky::backSub
+
+         /// Lower triangular and Upper triangular Cholesky decompositions
+      Matrix<T> L, U;
+
+   }; // end class Cholesky
+
+
+
+/**
+ * The Householder transformation is simply an orthogonal transformation
+ * designed to make the elements below the diagonal zero. It applies to any
+ * matrix.
+ */
+   template <class T>
+   class Householder
+   {
+   public:
+      Householder() {}
+
+      /** Explicitly perform the transformation, one column at a time, without
+      * actually constructing the transformation matrix. Let y be column k of the
+      * input matrix. y can be zeroed below the diagonal as follows:
+      * let sum=sign(y(k))*sqrt(y*y), and define vector u(k)=y(k)+sum,
+      * u(j)=y(j) (j.gt.k). This defines the transformation matrix as (1-bu*u),
+      * with b=2/u*u=1/sum*u(k). Redefine y(k)=u(k) and apply the transformation to
+      * elements of the input matrix below and to the right of the (k,k) element.
+      * This algorithm for each column k=0,n-1 in turn is equivalent to a single
+      * orthogonal transformation which triangularizes the matrix.
+      */
+      template <class BaseClass>
+      inline void operator() (const ConstMatrixBase<T, BaseClass>& m)
+         throw (MatrixException)
+         {
+            size_t i,j;
+            A = m;
+            Matrix<T> P(A.rows(), A.rows());
+            Matrix<T> colVector(A.rows(), 1),
+               rowVector(1, A.rows());
+            Vector<T> v(A.rows());
+            for (j = 0; (j < A.cols()) && (j < (A.rows() - 1)); j++)
+            {
+               colVector.resize(A.rows() - j, 1);
+               rowVector.resize(1, A.rows() - j);
+               
+                  // for each column c, form the vector v = 
+                  // [c[0] + (sign(c[0]))abs(c), c[1], c[2], ...]
+                  // then normalize v
+               v = A.colCopy(j, j);
+               v[0] += ((v[0] >= T(0)) ? T(1) : T(-1)) * norm(v);
+               v = normalize(v);
+                  // now make matrix P = 1 - 2* columnVector(v) * rowVector(v)
+                  // (makes the lower right of P =
+                  //   1 - 2* columnVector(v) * rowVector(v)
+                  // and the remaining parts I)
+                  // and perform A = P * A
+               colVector = v;
+               rowVector = v;
+               MatrixSlice<T> Pslice(P, j, j, P.rows() - j, P.cols() - j);
+               ident(P);
+               //Pslice -= T(2) * colVector * rowVector;
+               Pslice = T(2) * colVector * rowVector - Pslice;
+               MatrixSlice<T> Aslice(A, j, j, A.rows() - j, A.cols() - j);
+               Aslice = Pslice * Aslice;
+                  // set the elements below the diagonal of this column to 0
+               for(i = j+1; i < A.rows(); i++)
+                  A(i,j) = T(0);
+            }
+         }  // end Householder::operator()
+      
+         /// The upper triangular transformed matrix.
+      Matrix<T> A;
+
+   }; // end class Householder
+
+   //@}
+
+}  // namespace
+
+#endif
diff --git a/trunk/src/MatrixImplementation.hpp b/trunk/src/MatrixImplementation.hpp
new file mode 100644
index 0000000..4f8db99
--- /dev/null
+++ b/trunk/src/MatrixImplementation.hpp
@@ -0,0 +1,137 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MatrixImplementation.hpp#2 $"
+
+/**
+ * @file MatrixImplementation.hpp
+ * Implementation of Matrix algorithms
+ */
+
+#ifndef GPSTK_MATRIX_IMPLEMENTATION_HPP
+#define GPSTK_MATRIX_IMPLEMENTATION_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+namespace gpstk
+{
+
+ /** @addtogroup VectorGroup */
+   //@{
+
+   template <class T>
+   Matrix<T>::Matrix()
+         : v((size_t)0), r(0), c(0), s(0)
+   {}
+
+
+   template <class T>
+   Matrix<T>::Matrix(size_t rows, size_t cols)
+         : v(rows * cols), r(rows), c(cols), s(rows * cols)
+   {}
+
+   template <class T>
+   Matrix<T>::Matrix(size_t rows, size_t cols,
+                  T initialValue)
+         : v(rows * cols, initialValue), r(rows), c(cols), s(rows * cols)
+   {}
+
+   template <class T>
+   MatrixRowSlice<T> Matrix<T>::rowRef(size_t rowNum, const std::slice& s)
+   {
+      return MatrixRowSlice<T>(*this, rowNum, s);
+   }
+
+   template <class T>
+   MatrixRowSlice<T> Matrix<T>::rowRef(size_t rowNum, size_t colNum)
+   {
+      return MatrixRowSlice<T>(*this, rowNum, 
+                            std::slice(colNum, cols()-colNum, 1));
+   }
+
+   template <class T>
+   ConstMatrixRowSlice<T> Matrix<T>::row(size_t rowNum, const std::slice& s) 
+      const
+   {
+      return ConstMatrixRowSlice<T>(*this, rowNum, s);
+   }
+
+   template <class T>
+   ConstMatrixRowSlice<T> Matrix<T>::row(size_t rowNum, size_t colNum)
+      const
+   {
+      return ConstMatrixRowSlice<T>(*this, rowNum, 
+                                 std::slice(colNum, cols()-colNum, 1));
+   }
+
+   template <class T>
+   MatrixColSlice<T> Matrix<T>::colRef(size_t colNum, const std::slice& s)
+   {
+      return MatrixColSlice<T>(*this, colNum, s);
+   }
+
+   template <class T>
+   MatrixColSlice<T> Matrix<T>::colRef(size_t colNum, size_t rowNum)
+   {
+      return MatrixColSlice<T>(*this, colNum, 
+                            std::slice(rowNum, rows() - rowNum, 1));
+   }
+
+   template <class T>
+   ConstMatrixColSlice<T> Matrix<T>::col(size_t colNum, 
+                                   const std::slice& s) const
+   {
+      return ConstMatrixColSlice<T>(*this, colNum, s);
+   }
+
+   template <class T>
+   ConstMatrixColSlice<T> Matrix<T>::col(size_t colNum, 
+                                   size_t rowNum) const
+   {
+      return ConstMatrixColSlice<T>(*this, colNum,
+                                 std::slice(colNum * r + rowNum, r - rowNum, 1));
+   }
+
+   template <class T>
+   Matrix<T>& Matrix<T>::resize(size_t rows, size_t cols)
+   {
+      v.resize(rows * cols);
+      c = cols;
+      r = rows;
+      s = rows * cols;
+      return *this;
+   }
+
+   template <class T>
+   Matrix<T>& Matrix<T>::resize(size_t rows, size_t cols,
+                          const T initialValue)
+   {
+      v.resize(rows * cols, initialValue);
+      c = cols;
+      r = rows;
+      s = rows * cols;
+      return *this;
+   }
+
+   //@}
+
+}  // namespace
+
+#endif
diff --git a/trunk/src/MatrixOperators.hpp b/trunk/src/MatrixOperators.hpp
new file mode 100644
index 0000000..7487dd6
--- /dev/null
+++ b/trunk/src/MatrixOperators.hpp
@@ -0,0 +1,737 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MatrixOperators.hpp#6 $"
+
+/**
+ * @file MatrixOperators.hpp
+ * Matrix operators (arithmetic, transpose(), inverse(), etc)
+ */
+
+#ifndef GPSTK_MATRIX_OPERATORS_HPP
+#define GPSTK_MATRIX_OPERATORS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "MiscMath.hpp"
+#include "MatrixFunctors.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup VectorGroup */
+   //@{
+ 
+/** 
+ * Returns the top to bottom concatenation of Matrices l and r only if they have the
+ * same number of columns.
+ */
+   template <class T, class BaseClass1, class BaseClass2>
+   inline Matrix<T> operator&&(const ConstMatrixBase<T, BaseClass1>& l, 
+                            const ConstMatrixBase<T, BaseClass2>& r) 
+   throw(MatrixException)
+   {
+      if (l.cols() != r.cols())
+      {
+         MatrixException e("Incompatible dimensions for matrixConcatTP");
+         GPSTK_THROW(e);
+      }
+
+      size_t rows = l.rows() + r.rows();
+      size_t cols = l.cols();
+      Matrix<T> toReturn(rows, cols);
+
+      for (rows = 0; rows < l.rows(); rows++)
+         for (cols = 0; cols < l.cols(); cols++)
+            toReturn(rows, cols) = l(rows, cols);
+
+      for (rows = 0; rows < r.rows(); rows++)
+         for (cols = 0; cols < l.cols(); cols++)
+            toReturn(rows + l.rows(), cols) = r(rows, cols);
+
+      return toReturn;
+   }
+
+/** 
+ * Returns the top to bottom concatenation of Matrix t and Vector b
+ * only if they have the same number of columns.
+ */
+   template <class T, class BaseClass1, class BaseClass2>
+   inline Matrix<T> operator&&(const ConstMatrixBase<T, BaseClass1>& t, 
+                            const ConstVectorBase<T, BaseClass2>& b) 
+   throw(MatrixException)
+   {
+      if (t.cols() != b.size())
+      {
+         MatrixException e("Incompatible dimensions for matrixConcatTP");
+         GPSTK_THROW(e);
+      }
+
+      size_t rows = t.rows() + 1;
+      size_t cols = t.cols();
+      Matrix<T> toReturn(rows, cols);
+
+      for (rows = 0; rows < t.rows(); rows++)
+         for (cols = 0; cols < t.cols(); cols++)
+            toReturn(rows, cols) = t(rows, cols);
+
+      for (cols = 0; cols < t.cols(); cols++)
+         toReturn(t.rows(), cols) = b(cols);
+
+      return toReturn;
+   }
+
+/** 
+ * Returns the top to bottom concatenation of Vector t and Matrix b
+ * only if they have the same number of columns.
+ */
+   template <class T, class BaseClass1, class BaseClass2>
+   inline Matrix<T> operator&&(const ConstVectorBase<T, BaseClass1>& t, 
+                            const ConstMatrixBase<T, BaseClass2>& b) 
+   throw(MatrixException)
+   {
+      if (t.size() != b.cols())
+      {
+         MatrixException e("Incompatible dimensions for matrixConcatTP");
+         GPSTK_THROW(e);
+      }
+
+      size_t rows = 1 + b.rows();
+      size_t cols = b.cols();
+      Matrix<T> toReturn(rows, cols);
+
+      for (cols = 0; cols < b.cols(); cols++)
+         toReturn(0, cols) = t(cols);
+
+      for (rows = 1; rows < b.rows()+1; rows++)
+         for (cols = 0; cols < b.cols(); cols++)
+            toReturn(rows, cols) = b(rows, cols);
+
+      return toReturn;
+   }
+
+/** 
+ * Returns the left to right concatenation of l and r only if they have the
+ * same number of rows.
+ */
+   template <class T, class BaseClass1, class BaseClass2>
+   inline Matrix<T> operator||(const ConstMatrixBase<T, BaseClass1>& l,
+                            const ConstMatrixBase<T, BaseClass2>& r)  
+      throw(MatrixException)
+   {
+      if (l.rows() != r.rows())
+      {
+         MatrixException e("Incompatible dimensions for matrixConcatLR");
+         GPSTK_THROW(e);
+      }
+
+      size_t rows = l.rows();
+      size_t cols = l.cols() + r.cols();
+      Matrix<T> toReturn(rows, cols);
+
+      for (cols = 0; cols < l.cols(); cols++)
+         for (rows = 0; rows < l.rows(); rows++)
+            toReturn(rows, cols) = l(rows, cols);
+
+      for (cols = 0; cols < r.cols(); cols++)
+         for (rows = 0; rows < l.rows(); rows++)
+            toReturn(rows, cols + l.cols()) = r(rows,cols);
+
+      return toReturn;
+   }
+
+/** 
+ * Returns the left to right concatenation of Matrix l and Vector r
+ * only if they have the same number of rows.
+ */
+   template <class T, class BaseClass1, class BaseClass2>
+   inline Matrix<T> operator||(const ConstMatrixBase<T, BaseClass1>& l,
+                            const ConstVectorBase<T, BaseClass2>& r)
+      throw(MatrixException)
+   {
+      if (l.rows() != r.size())
+      {
+         MatrixException e("Incompatible dimensions for matrixVectorConcatLR");
+         GPSTK_THROW(e);
+      }
+
+      size_t rows = l.rows();
+      size_t cols = l.cols() + 1;
+      Matrix<T> toReturn(rows, cols);
+
+      for (cols = 0; cols < l.cols(); cols++)
+         for (rows = 0; rows < l.rows(); rows++)
+            toReturn(rows, cols) = l(rows, cols);
+
+      for (rows = 0; rows < l.rows(); rows++)
+         toReturn(rows, l.cols()) = r(rows);
+
+      return toReturn;
+   }
+
+/** 
+ * Returns the left to right concatenation of Vector l and Matrix r
+ * only if they have the same number of rows.
+ */
+   template <class T, class BaseClass1, class BaseClass2>
+   inline Matrix<T> operator||(const ConstVectorBase<T, BaseClass1>& l,
+                            const ConstMatrixBase<T, BaseClass2>& r)
+      throw(MatrixException)
+   {
+      if (l.size() != r.rows())
+      {
+         MatrixException e("Incompatible dimensions for vectorMatrixConcatLR");
+         GPSTK_THROW(e);
+      }
+
+      size_t rows = r.rows();
+      size_t cols = r.cols() + 1;
+      Matrix<T> toReturn(rows, cols);
+
+      for (rows = 0; rows < r.rows(); rows++)
+         toReturn(rows, 0) = l(rows);
+
+      for (cols = 1; cols < r.cols()+1; cols++)
+         for (rows = 0; rows < r.rows(); rows++)
+            toReturn(rows, cols) = r(rows, cols);
+
+      return toReturn;
+   }
+
+/** 
+ * Returns the minor matrix of l at element (row, col).  A minor matrix is the
+ * same matrix as \c l but with row \c row and col \c col removed.
+ */
+   template <class T, class BaseClass>
+   inline Matrix<T> minorMatrix(const ConstMatrixBase<T, BaseClass>& l,
+                          size_t row, size_t col) 
+      throw(MatrixException)
+   {
+      if ((row >= l.rows()) || (col >= l.cols()))
+      {
+         MatrixException e("invalid row or column for minor()");
+         GPSTK_THROW(e);
+      }
+         // handle special cases
+      if (row == 0)
+      {
+         if (col == 0)
+         {
+            return Matrix<T>(l,1,1,l.rows()-1,l.cols()-1);  
+         }
+         else if (col == (l.cols() - 1))
+         {
+            return Matrix<T>(l,1,0,l.rows()-1,l.cols()-1);
+         }
+         else
+         {
+            return Matrix<T>(l,1,0,l.rows()-1,col) ||
+               Matrix<T>(l,1,col+1,l.rows()-1,l.cols()-col-1);
+         }
+      }
+      else if (row == (l.rows() - 1))
+      {
+         if (col == 0)
+         {
+            return Matrix<T>(l,0,1,l.rows()-1,l.cols()-1);
+         }
+         else if (col == (l.cols() - 1))
+         {
+            return Matrix<T>(l,0,0,l.rows()-1,l.cols()-1);
+         }
+         else
+         {
+            return Matrix<T>(l,0,0,l.rows()-1,col) ||
+               Matrix<T>(l,0,col+1,l.rows()-1,l.cols()-col-1);
+         }
+      }
+      else if (col == 0)
+      {
+         return Matrix<T>(l,0,1,row,l.cols()-1) &&
+            Matrix<T>(l,row+1,1,l.rows()-row-1,l.cols()-1);
+      }
+      else if (col == (l.cols() - 1))
+      {
+         return Matrix<T>(l,0,0,row,l.cols()-1) &&
+            Matrix<T>(l,row+1,0,l.rows()-row-1,l.cols()-1);
+      }
+      else
+      {
+         return (Matrix<T>(l, 0, 0, row, col) || 
+                 Matrix<T>(l, 0, col + 1, row, l.cols()-col-1)) &&
+            (Matrix<T>(l, row + 1, 0, l.rows()-row-1, col) ||
+             Matrix<T>(l, row + 1, col + 1, l.rows()-row-1, l.cols()-col-1));
+      }
+   }
+
+/**
+ * Returns a matrix that is \c m transposed.
+ */
+   template <class T, class BaseClass>
+   inline Matrix<T> transpose(const ConstMatrixBase<T, BaseClass>& m)
+   {
+      Matrix<T> temp(m.cols(), m.rows());
+      size_t i, j;
+      for (i = 0; i < m.rows(); i++)
+         for (j = 0; j < m.cols(); j++)
+            temp(j,i) = m(i,j);
+      return temp;
+   }
+ 
+/**
+ * Uses an LU Decomposition to calculate the determinate of m. This is
+ * faster than longDet() for large matricies.
+ */
+   template <class T, class BaseClass>
+   inline T det(const ConstMatrixBase<T, BaseClass>& m) 
+      throw(MatrixException)
+   {
+      try
+      {
+         LUDecomp<T> lud;
+         lud(m);
+         T det = 1;
+         size_t i;
+            // now just multiply down the main diagonal and then by the LUD sign.
+         for(i = 0; i < m.rows(); i++)
+            det *= lud.U(i,i);
+         return det * lud.sign;
+      }
+      catch(SingularMatrixException &e)
+      {
+         return 0;
+      }
+      catch(MatrixException& e)
+      {
+         e.addText("in det()");
+         GPSTK_RETHROW(e);
+      }
+   }
+
+/**
+ * returns the condition number of the matrix
+ */
+   template <class T, class BaseClass>
+   inline T condNum(const ConstMatrixBase<T, BaseClass>& m, T& big, T& small) 
+      throw (MatrixException)
+   {
+      SVD<T> svd;
+      svd(m);
+      // SVD will sort singular values in descending order
+      big = svd.S(0);
+      small = svd.S(svd.S.size()-1);
+      if(fabs(small) <= T(1.e-15)) return T(0);    // TD replace with ~ machine precision
+      return big/small;
+   }
+
+/**
+ * returns the condition number of the matrix, doesnt require big or small..
+ */
+   template <class T, class BaseClass>
+   inline T condNum(const ConstMatrixBase<T, BaseClass>& m) 
+      throw (MatrixException)
+   {
+      T big, small;
+      return condNum(m, big, small);
+   }
+
+/**
+ * Returns a new \c dim * \c dim matrix that's an identity matrix.
+ */
+   template <class T>
+   inline Matrix<T> ident(size_t dim) throw(MatrixException)
+   {
+      if (dim == 0)
+      {
+         MatrixException e("invalid matrix dimensions for ident()");
+         GPSTK_THROW(e);
+      }
+      Matrix<T> toReturn(dim, dim, T(0));
+      size_t i;
+      for (i = 0; i < toReturn.rows(); i++)
+         toReturn(i,i) = T(1);
+      return toReturn;
+   }
+
+/**
+ * Return a rotation matrix [dimensioned 3x3, inverse() = transpose()]
+ * for the rotation through \c angle radians about \c axis number (= 1, 2 or 3).
+ */
+   template <class T>
+   inline Matrix<T> rotation(T angle, int axis)
+      throw(MatrixException)
+   {
+      if (axis < 1 || axis > 3)
+      {
+         MatrixException e("Invalid axis (must be 1,2, or 3)");
+         GPSTK_THROW(e);
+      }
+      Matrix<T> toReturn(3,3,T(0));
+      int i1 = axis-1;
+      int i2 = (i1+1) % 3;
+      int i3 = (i2+1) % 3;
+      toReturn(i1,i1) = 1.0;
+      toReturn(i2,i2) = toReturn(i3,i3) = ::cos(angle);
+      toReturn(i3,i2) = -(toReturn(i2,i3) = ::sin(angle));
+
+      return toReturn;
+   }
+
+/**
+ * Inverts the matrix M by Gaussian elimination. Throws on non-square
+ * and singular matricies.
+ */
+   template <class T, class BaseClass>
+   inline Matrix<T> inverse(const ConstMatrixBase<T, BaseClass>& m)
+      throw (MatrixException)
+   {
+      if ((m.rows() != m.cols()) || (m.cols() == 0))
+      {
+         MatrixException e("inverse() requires non-trivial square matrix");
+         GPSTK_THROW(e);
+      }
+
+      Matrix<T> toReturn(m.rows(), m.cols() * 2);
+
+      size_t r, t, j;
+      T temp;
+
+         // set the left half to m
+      {
+         MatrixSlice<T> ms(toReturn, 0, 0, m.rows(), m.cols());
+         ms = m;
+      }
+
+         // set the right half to identity
+      {
+         MatrixSlice<T> ms(toReturn, 0, m.cols(), m.rows(), m.cols());
+         ident(ms);
+      }
+
+      for (r = 0; r < m.rows(); r++)
+      {
+            // if m(r,r) is zero, find another row
+            // to add to it...
+         if (toReturn(r,r) == 0)
+         {
+            t = r+1;
+            while ( (t < m.rows()) && (toReturn(t,r) == 0) )
+               t++;
+
+            if (t == m.rows())
+            {
+               SingularMatrixException e("Singular matrix - cant invert");
+               GPSTK_THROW(e);
+            }
+
+            for (j = r; j < toReturn.cols(); j++)
+               toReturn(r,j) += (toReturn(t,j) / toReturn(t,r));
+         }
+
+            // scale this row's (r,r)'th element to 1
+         temp = toReturn(r,r);
+         for (j = r; j < toReturn.cols(); j++)
+            toReturn(r,j) /= temp;
+
+            // do the elimination
+         for (t = 0; t < m.rows(); t++)
+         {
+            if (t != r)
+            {
+               temp = toReturn(t,r);
+               for (j = r; j < toReturn.cols(); j++)
+                  toReturn(t,j) -= temp/toReturn(r,r) * toReturn(r,j);
+            }
+         }
+      }
+         // return the right hand side square matrix
+      return Matrix<T>(toReturn, 0, m.cols(), m.rows(), m.cols());
+
+   }  // end inverse
+
+/**
+ * Inverts the matrix M by LU decomposition. Throws on non-square
+ * and singular matricies.
+ */
+   template <class T, class BaseClass>
+   inline Matrix<T> inverseLUD(const ConstMatrixBase<T, BaseClass>& m)
+      throw (MatrixException)
+   {
+      if ((m.rows() != m.cols()) || (m.cols() == 0)) {
+         MatrixException e("inverseLUD() requires non-trivial square matrix");
+         GPSTK_THROW(e);
+      }
+
+      size_t i,j,N=m.rows();
+      Matrix<T> inv(m);
+      Vector<T> V(N);
+      LUDecomp<T> LU;
+      LU(m);
+      for(j=0; j<N; j++) {    // loop over columns
+         V = T(0);
+         V(j) = T(1);
+         LU.backSub(V);
+         for(i=0; i<N; i++) inv(i,j)=V(i);
+      }
+      return inv;
+
+   }  // end inverseLUD
+
+/**
+ * Inverts the square matrix M by SVD. Throws only on input of the zero matrix
+ */
+   template <class T, class BaseClass>
+   inline Matrix<T> inverseSVD(const ConstMatrixBase<T, BaseClass>& m)
+      throw (MatrixException)
+   {
+      if ((m.rows() != m.cols()) || (m.cols() == 0)) {
+         MatrixException e("inverseSVD() requires non-trivial square matrix");
+         GPSTK_THROW(e);
+      }
+
+      size_t i,j,N=m.rows();
+      Matrix<T> inv(m);
+      SVD<T> svd;
+      svd(m);
+      // svd will sort the singular values in descending order
+      if(svd.S(0) == T(0)) {
+         MatrixException e("Input is the zero matrix");
+         GPSTK_THROW(e);
+      }
+      // edit singular values TD input tolerance, output edited SVs
+      for(i=1; i<N; i++) if(svd.S(i) < T(1.e-8)*svd.S(0)) svd.S(i)=T(0);
+
+      // back substitution
+      Vector<T> V(N);
+      for(j=0; j<N; j++) {    //loop over columns
+         V = T(0);
+         V(j) = T(1);
+         svd.backSub(V);
+         for(i=0; i<N; i++) inv(i,j)=V(i);
+      }
+      return inv;
+
+   }  // end inverseSVD
+
+/**
+ *  Matrix * Matrix : row by column multiplication of two matricies.
+ */
+   template <class T, class BaseClass1, class BaseClass2>
+   inline Matrix<T> operator* (const ConstMatrixBase<T, BaseClass1>& l, 
+                            const ConstMatrixBase<T, BaseClass2>& r)
+      throw (MatrixException)
+   {
+      if (l.cols() != r.rows())
+      {
+         MatrixException e("Incompatible dimensions for Matrix*Matrix");
+         GPSTK_THROW(e);
+      }
+   
+      Matrix<T> toReturn(l.rows(), r.cols(), T(0));
+      size_t i, j, k;
+      for (i = 0; i < toReturn.rows(); i++)
+         for (j = 0; j < toReturn.cols(); j++)
+            for (k = 0; k < l.cols(); k++)
+               toReturn(i,j) += l(i,k) * r(k,j);
+
+      return toReturn;
+   }
+
+/**
+ * Matrix times vector multiplication, returning a vector.
+ */
+   template <class T, class BaseClass1, class BaseClass2>
+   inline Vector<T> operator* (const ConstMatrixBase<T, BaseClass1>& m, 
+                            const ConstVectorBase<T, BaseClass2>& v)
+      throw (MatrixException)
+   {
+      if (v.size() != m.cols())
+      {
+         gpstk::Exception e("Incompatible dimensions for valarray*Matrix");
+         GPSTK_THROW(e);
+      }
+   
+      Vector<T> toReturn(m.rows());
+      size_t i, j;
+      for (i = 0; i < m.rows(); i++) 
+      {
+         toReturn[i] = 0;
+         for (j = 0; j < m.cols(); j++)
+            toReturn[i] += m(i, j) * v[j];
+      }
+      return toReturn;
+   }
+/**
+ * Vector times matrix multiplication, returning a vector.
+ */
+   template <class T, class BaseClass1, class BaseClass2>
+   inline Vector<T> operator* (const ConstVectorBase<T, BaseClass1>& v, 
+                            const ConstMatrixBase<T, BaseClass2>& m)
+      throw (gpstk::Exception)
+   {
+      if (v.size() != m.rows())
+      {
+         gpstk::Exception e("Incompatible dimensions for valarray*Matrix");
+         GPSTK_THROW(e);
+      }
+   
+      Vector<T> toReturn(m.cols());
+      size_t i, j;
+      for (i = 0; i < m.cols(); i++) 
+      {
+         toReturn[i] = 0;
+         for (j = 0; j < m.rows(); j++)
+            toReturn[i] += m(j,i) * v[j];
+      }
+      return toReturn;
+   }
+
+/**
+ * Compute sum of two matricies.
+ */
+   template <class T, class BaseClass1, class BaseClass2>
+   inline Matrix<T> operator+ (const ConstMatrixBase<T, BaseClass1>& l,
+                            const ConstMatrixBase<T, BaseClass2>& r)
+      throw (MatrixException)
+   {
+      if (l.cols() != r.cols() || l.rows() != r.rows())
+      {
+         MatrixException e("Incompatible dimensions for Matrix+Matrix");
+         GPSTK_THROW(e);
+      }
+
+      Matrix<T> toReturn(l.rows(), r.cols(), T(0));
+      size_t i, j;
+      for (i = 0; i < toReturn.rows(); i++)
+         for (j = 0; j < toReturn.cols(); j++)
+            toReturn(i,j) = l(i,j) + r(i,j);
+
+      return toReturn;
+   }
+
+/**
+ * Compute difference of two matricies.
+ */
+   template <class T, class BaseClass1, class BaseClass2>
+   inline Matrix<T> operator- (const ConstMatrixBase<T, BaseClass1>& l,
+                            const ConstMatrixBase<T, BaseClass2>& r)
+      throw (MatrixException)
+   {
+      if (l.cols() != r.cols() || l.rows() != r.rows())
+      {
+         MatrixException e("Incompatible dimensions for Matrix-Matrix");
+         GPSTK_THROW(e);
+      }
+
+      Matrix<T> toReturn(l.rows(), r.cols(), T(0));
+      size_t i, j;
+      for (i = 0; i < toReturn.rows(); i++)
+         for (j = 0; j < toReturn.cols(); j++)
+            toReturn(i,j) = l(i,j) - r(i,j);
+
+      return toReturn;
+   }
+
+/**
+ * Compute the outer product of two vectors.
+ */
+   template <class T, class BaseClass>
+   inline Matrix<T> outer(const ConstVectorBase<T, BaseClass>& v, const ConstVectorBase<T, BaseClass>& w)
+      throw (MatrixException)
+   {
+      if(v.size()*w.size() == 0) {
+         MatrixException e("Zero length vector(s)");
+         GPSTK_THROW(e);
+      }
+      Matrix<T> M(v.size(),w.size(),T(0));
+      for(size_t i=0; i<v.size(); i++)
+         for(size_t j=0; j<w.size(); j++)
+            M(i,j) = v(i)*w(j);
+      return M;
+   }
+
+/// Multiplies all the elements of m by d.
+   template <class T, class BaseClass>
+   inline Matrix<T> operator* (const ConstMatrixBase<T, BaseClass>& m, const T d)
+   {
+      Matrix<T> temp(m);
+      return temp *= d;
+   }
+
+/// Multiplies all the elements of m by d.
+   template <class T, class BaseClass>
+   inline Matrix<T> operator* (const T d, const ConstMatrixBase<T, BaseClass>& m)
+   {
+      Matrix<T> temp(m);
+      return temp *= d;
+   }
+
+/// Divides all the elements of m by d.
+   template <class T, class BaseClass>
+   inline Matrix<T> operator/ (const ConstMatrixBase<T, BaseClass>& m, const T d)
+   {
+      Matrix<T> temp(m);
+      return temp /= d;
+   }
+
+/// Divides all the elements of m by d.
+   template <class T, class BaseClass>
+   inline Matrix<T> operator/ (const T d, const ConstMatrixBase<T, BaseClass>& m)
+   {
+      Matrix<T> temp(m);
+      return temp /= d;
+   }
+
+/// Adds all the elements of m by d.
+   template <class T, class BaseClass>
+   inline Matrix<T> operator+ (const ConstMatrixBase<T, BaseClass>& m, const T d)
+   {
+      Matrix<T> temp(m);
+      return temp += d;
+   }
+
+/// Adds all the elements of m by d.
+   template <class T, class BaseClass>
+   inline Matrix<T> operator+ (const T d, const ConstMatrixBase<T, BaseClass>& m)
+   {
+      Matrix<T> temp(m);
+      return temp += d;
+   }
+
+/// Subtracts all the elements of m by d.
+   template <class T, class BaseClass>
+   inline Matrix<T> operator- (const ConstMatrixBase<T, BaseClass>& m, const T d)
+   {
+      Matrix<T> temp(m);
+      return temp -= d;
+   }
+
+/// Subtracts all the elements of m by d.
+   template <class T, class BaseClass>
+   inline Matrix<T> operator- (const T d, const ConstMatrixBase<T, BaseClass>& m)
+   {
+      Matrix<T> temp(m);
+      return temp -= d;
+   }
+
+   //@}
+ 
+}  // namespace
+
+#endif
diff --git a/trunk/src/MiscMath.hpp b/trunk/src/MiscMath.hpp
new file mode 100644
index 0000000..5f78165
--- /dev/null
+++ b/trunk/src/MiscMath.hpp
@@ -0,0 +1,201 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/MiscMath.hpp#1 $"
+
+/**
+ * @file MiscMath.hpp
+ * Miscellaneous mathematical algorithms
+ */
+ 
+#ifndef GPSTK_MISC_MATH_HPP
+#define GPSTK_MISC_MATH_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <vector>
+#include "MathBase.hpp"
+
+namespace gpstk
+{
+   /** @defgroup math Mathematical algorithms */
+   //@{
+
+   /** Perform Lagrange interpolation on the data (X[i],Y[i]), i=1,N (N=X.size()),
+    * returning the value of Y(x). Also return an estimate of the estimation error in 'err'.
+    * Assumes k=X.size() is even, and that x is between X[j-1] and X[j], where j=k/2.
+    */
+   template <class T>
+   T LagrangeInterpolation(const std::vector<T>& X, const std::vector<T>& Y, const T& x, T& err)
+   {
+      size_t i,j,k;
+      T y,del;
+      std::vector<T> D,Q;
+
+      err = T(0);
+      k = X.size()/2;
+      if(x == X[k]) return Y[k];
+      if(x == X[k-1]) return Y[k-1];
+      if(ABS(x-X[k-1]) < ABS(x-X[k])) k=k-1;
+      for(i=0; i<X.size(); i++) {
+         Q.push_back(Y[i]);
+         D.push_back(Y[i]);
+      }
+      y = Y[k--];
+      for(j=1; j<X.size(); j++) {
+         for(i=0; i<X.size()-j; i++) {
+            del = (Q[i+1]-D[i])/(X[i]-X[i+j]);
+            D[i] = (X[i+j]-x)*del;
+            Q[i] = (X[i]-x)*del;
+         }
+         err = (2*k < X.size()-j ? Q[k+1] : D[k--]);
+         y += err;
+      }
+      return y;
+   }  // end T LagrangeInterpolation(vector, vector, const T, T&)
+
+   // The following is a
+   // Straightforward implementation of Lagrange polynomial and its derivative
+   // { all sums are over index=0,N-1; Xi is short for X[i]; Lp is dL/dx;
+   //   y(x) is the function being approximated. }
+   // y(x) = SUM[Li(x)*Yi]
+   // Li(x) = PROD(j!=i)[x-Xj] / PROD(j!=i)[Xi-Xj]
+   // dy(x)/dx = SUM[Lpi(x)*Yi]
+   // Lpi(x) = SUM(k!=i){PROD(j!=i,j!=k)[x-Xj]} / PROD(j!=i)[Xi-Xj]
+   // Define Pi = PROD(j!=i)[x-Xj], Di = PROD(j!=i)[Xi-Xj],
+   // Qij = PROD(k!=i,k!=j)[x-Xk] and Si = SUM(j!=i)Qij.
+   // then Li(x) = Pi/Di, and Lpi(x) = Si/Di.
+   // Qij is symmetric, there are only N(N+1)/2 - N of them, so store them
+   // in a vector of length N(N+1)/2, where Qij==Q[i+j*(j+1)/2] (ignore i=j).
+
+   /** Perform Lagrange interpolation on the data (X[i],Y[i]), i=1,N (N=X.size()),
+    * returning the value of Y(x) and dY(x)/dX.
+    * Assumes that x is between X[k-1] and X[k], where k=N/2.
+    * Warning: for use with the precise (SP3) ephemeris only when velocity is not
+    * available; estimates of velocity, and especially clock drift, not as accurate.
+    */
+   template <class T>
+   void LagrangeInterpolation(const std::vector<T>& X, const std::vector<T>& Y, const T& x, T& y, T& dydx)
+   {
+      size_t i,j,k,N=X.size(),M;
+      M = (N*(N+1))/2;
+      std::vector<T> P(N,T(1)),Q(M,T(1)),D(N,T(1));
+      for(i=0; i<N; i++) {
+         for(j=0; j<N; j++) {
+            if(i != j) {
+               P[i] *= x-X[j];
+               D[i] *= X[i]-X[j];
+               if(i < j) {
+//std::cout << "Compute Q[" << i << "," << j << "=" << (i+(j*(j+1))/2) << "] = 1 ";
+                  for(k=0; k<N; k++) {
+                     if(k == i || k == j) continue;
+//std::cout << " * (x-X[" << k << "])";
+                     Q[i+(j*(j+1))/2] *= (x-X[k]);
+                  }
+//std::cout << " = " << Q[i+(j*(j+1))/2] << std::endl;
+               }
+            }
+         }
+      }
+      y = dydx = T(0);
+      for(i=0; i<N; i++) {
+         y += Y[i]*(P[i]/D[i]);
+         T S(0);
+         for(k=0; k<N; k++) if(i != k) {
+            if(k<i) S += Q[k+(i*(i+1))/2]/D[i];
+            else    S += Q[i+(k*(k+1))/2]/D[i];
+         }
+         dydx += Y[i]*S;
+      }
+   }  // end void LagrangeInterpolation(vector, vector, const T, T&, T&)
+
+   /// Perform the root sum square of aa, bb
+   template <class T>
+   T RSS (T aa, T bb)
+   {
+      return RSS(aa,bb,T(0));
+   }
+
+   /// Perform the root sum square of aa, bb and cc
+   template <class T>
+   T RSS (T aa, T bb, T cc)
+   {
+      T a(ABS(aa)), b(ABS(bb)), c(ABS(cc));
+      if ( (a > b) && (a > c) )
+         return a * SQRT(1 + (b/a)*(b/a) + (c/a)*(c/a));
+      if ( (b > a) && (b > c) )
+         return b * SQRT(1 + (a/b)*(a/b) + (c/b)*(c/b));
+      if ( (c > b) && (c > a) )
+         return c * SQRT(1 + (b/c)*(b/c) + (a/c)*(a/c));
+
+      if (a == b)
+      {
+         if (b == c)
+            return a * SQRT(T(3));
+         a *= SQRT(T(2));
+         if (a > c)
+            return a * SQRT(1 + (c/a)*(c/a));
+         else
+            return c * SQRT(1 + (a/c)*(a/c));
+      }
+      if (a == c)
+      {
+         a *= SQRT(T(2));
+         if (a > b)
+            return a * SQRT(1 + (b/a)*(b/a));
+         else
+            return b * SQRT(1 + (a/b)*(a/b));
+      }
+      if (b == c)
+      {
+         b *= SQRT(T(2));
+         if (b > a)
+            return b * SQRT(1 + (a/b)*(a/b));
+         else
+            return a * SQRT(1 + (b/a)*(b/a));
+      }
+
+      return T(0);
+   }
+
+   //@}
+
+}  // namespace gpstk
+
+#endif
diff --git a/trunk/src/ORDEpoch.hpp b/trunk/src/ORDEpoch.hpp
new file mode 100644
index 0000000..c208889
--- /dev/null
+++ b/trunk/src/ORDEpoch.hpp
@@ -0,0 +1,106 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ORDEpoch.hpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ORDEpoch.hpp
+ * A set of observed range deviations for a single point in time from
+ * a single receiver.
+ */
+
+#ifndef ORDEPOCH_HPP
+#define ORDEPOCH_HPP
+
+#include <map>
+#include "Exception.hpp"
+#include "ObsRngDev.hpp"
+#include "ClockModel.hpp"
+
+
+namespace gpstk
+{
+   class ORDEpoch
+   {
+   public:
+
+      /// defines a store for eachs SV's ord, indexed by prn
+      typedef std::map<short, ObsRngDev> ORDMap;
+
+      ORDEpoch& removeORD(short prn) throw()
+      {
+         ORDMap::iterator i = ords.find(prn);
+         if(i != ords.end())
+            ords.erase(i);
+         return *this;
+      }
+   
+      ORDEpoch& applyClockModel(const ClockModel& cm) throw()
+      {
+         clockOffset = cm.getOffset(time);
+         validClock = true;
+
+         ORDMap::iterator i;
+         for (i = ords.begin(); i != ords.end(); i++)
+            i->second.applyClockOffset(clockOffset);
+         return *this;
+      }
+
+      double clockOffset;                     ///< clock bias value (in seconds)
+      bool validClock;
+      ORDMap ords;           ///< map of ORDs in epoch
+      gpstk::DayTime time;
+
+      friend std::ostream& operator<<(std::ostream& s, 
+                                      const ORDEpoch& oe)
+         throw()
+      {
+         s << "t=" << oe.time
+           << " clk=" << oe.clockOffset << std::endl;
+         ORDMap::const_iterator i;
+         for (i=oe.ords.begin(); i!=oe.ords.end(); i++)
+            s << i->second << std::endl;
+         return s;
+      }
+   
+   };
+}
+#endif
diff --git a/trunk/src/ObsClockModel.cpp b/trunk/src/ObsClockModel.cpp
new file mode 100644
index 0000000..8879110
--- /dev/null
+++ b/trunk/src/ObsClockModel.cpp
@@ -0,0 +1,180 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ObsClockModel.cpp#4 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ObsClockModel.cpp
+ * Yet another abstract class used to define an interface to a model that
+ * accepts GPS observation datat and determines a clock model from it. It
+ * mainly adds the ability to specify the characteristcs of the observations
+ * that are to be accpeted into the model. It also defines a function that
+ * accepts Observed Range Deviations and computes the mean of these (that
+ * meet the selection criteria) as an estimate of the receiver clock.
+ */
+
+#include <math.h>
+
+#include "ObsClockModel.hpp"
+
+namespace gpstk
+{
+   using namespace std;
+
+   ObsClockModel::PRNStatus ObsClockModel::getPRNStatus(short prn) const
+      throw(gpstk::ObjectNotFound)
+   {
+      PRNStatusMap::const_iterator i = status.find(prn);
+      if(i == status.end())
+      {
+         gpstk::ObjectNotFound e("No status for PRN " +
+                                 gpstk::StringUtils::asString(prn) +
+                                 " available.");
+         GPSTK_THROW(e);
+      }
+      else
+         return i->second;
+   }
+
+   ObsClockModel& ObsClockModel::setPRNModeMap(const PRNModeMap& right)
+      throw()
+   {
+      for(int prn = 1; prn <= gpstk::MAX_PRN; prn++)
+         modes[prn] = IGNORE;
+
+      for(PRNModeMap::const_iterator i = right.begin(); i != right.end(); i++)
+         modes[i->first] = i->second;
+
+      return *this;
+   }
+
+   ObsClockModel::PRNMode ObsClockModel::getPRNMode(short prn) const
+      throw(gpstk::ObjectNotFound)
+   {
+      PRNModeMap::const_iterator i = modes.find(prn);
+      if(i == modes.end())
+      {
+         gpstk::ObjectNotFound e("No status for PRN " +
+                                 gpstk::StringUtils::asString(prn) +
+                                 " available.");
+         GPSTK_THROW(e);
+      }
+      else
+         return i->second;
+   }
+
+
+   gpstk::Stats<double> ObsClockModel::simpleOrdClock(const ORDEpoch& oe)
+      throw(gpstk::InvalidValue)
+   {
+      gpstk::Stats<double> stat;
+      
+      status.clear();
+
+      ORDEpoch::ORDMap::const_iterator itr;
+      for(itr = oe.ords.begin(); itr != oe.ords.end(); itr++)
+      {
+         short prn = itr->first;
+         const ObsRngDev& ord=itr->second;
+         switch (modes[prn])
+         {
+            case IGNORE: 
+               status[prn] = MANUAL;
+               break;
+            case ALWAYS:
+               status[prn] = USED;
+               break;
+            case HEALTHY:
+               // SV Health bits are defined in ICD-GPS-200C-IRN4 20.3.3.3.1.4
+               // It is a 6-bit value where the MSB (0x20) indicates a summary of
+               // of NAV data health where 0 = OK, 1 = some or all BAD
+               if (ord.getHealth() & 0x20) 
+                  status[prn] = SVHEALTH;
+               break;
+         }
+      
+         if (ord.getElevation() < elvmask)
+            status[prn] = ELEVATION;
+
+         if (status[prn] == USED)
+            stat.Add(ord.getORD());
+      }
+   
+      if (stat.N() > 2)
+      {
+         for (itr = oe.ords.begin(); itr != oe.ords.end(); itr++)
+         {
+            short prn = itr->first;
+
+            // don't override other types of stripping
+            if (status[prn] == USED)
+            {
+               // get absolute distance of residual from mean
+               double res = itr->second.getORD();
+               double dist = res - stat.Average();
+               if(fabs(dist) > (sigmam * stat.StdDev()))
+                  status[prn] = SIGMA;
+            }
+         }
+   
+         // now, recompute the statistics on unstripped residuals to get
+         // the clock bias value
+         stat.Reset();
+         for (itr = oe.ords.begin(); itr != oe.ords.end(); itr++)
+            if (status[itr->second.getPRN()] == USED)
+               stat.Add(itr->second.getORD());
+      
+      }
+      return stat;
+   }
+
+   void ObsClockModel::dump(ostream& s, short detail) const throw()
+   {
+      s << "min elev:" << elvmask
+        << ", max sigma:" << sigmam
+        << ", prn/status: ";
+      
+      ObsClockModel::PRNStatusMap::const_iterator i;
+      for ( i=status.begin(); i!= status.end(); i++)
+         s << i->first << "/" << i->second << " ";
+   }
+}
+
diff --git a/trunk/src/ObsClockModel.hpp b/trunk/src/ObsClockModel.hpp
new file mode 100644
index 0000000..18ee250
--- /dev/null
+++ b/trunk/src/ObsClockModel.hpp
@@ -0,0 +1,211 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ObsClockModel.hpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#ifndef OBSCLOCKMODEL_HPP
+#define OBSCLOCKMODEL_HPP
+
+#include <map>
+#include "Exception.hpp"
+#include "gps_constants.hpp"
+
+#include "Stats.hpp"
+#include "ClockModel.hpp"
+#include "ORDEpoch.hpp"
+
+/**
+ * @file ObsClockModel.hpp
+ * Yet another abstract class used to define an interface to a model that
+ * accepts GPS observation datat and determines a clock model from it. It
+ * mainly adds the ability to specify the characteristcs of the observations
+ * that are to be accpeted into the model. It also defines a function that
+ * accepts Observed Range Deviations and computes the mean of these (that
+ * meet the selection criteria) as an estimate of the receiver clock.
+ */
+
+
+namespace gpstk
+{
+   class ObsClockModel : public ClockModel
+   {
+   public:
+      enum PRNMode
+      {
+         IGNORE,   ///< do not include ORDs from this SV
+         HEALTHY,  ///< include ORDs from this SV if it is healthy
+         ALWAYS    ///< always include ORDs from this SV
+      };
+      
+      enum PRNStatus
+      {
+         USED,      ///< ORD used in the clock bias computation
+         MANUAL,    ///< ORD removed from computation by user request 
+         SVHEALTH,  ///< ORD removed from computation because SV unhealthy
+         ELEVATION, ///< ORD removed from computation because SV elevation < mask 
+         SIGMA      ///< ORD removed from computation because it was outlier
+      };
+
+      /// defines a store for each SV's #PRNMode
+      typedef std::map<short, PRNMode> PRNModeMap;
+
+      /// defines a store for each SV's #PRNStatus
+      typedef std::map<short, PRNStatus> PRNStatusMap;
+
+      ObsClockModel(double sigma = 2, double elmask = 0, PRNMode mode = ALWAYS)
+         : sigmam(sigma), elvmask(elmask)
+      {
+         status.clear();
+         setPRNMode(mode);
+      }
+
+      virtual void addEpoch(const ORDEpoch& re) throw(gpstk::InvalidValue) = 0;
+
+      // set accessor methods ----------------------------------------------   
+
+      /**
+       * set a PRNMode for all SVs.
+       * \param right #PRNModeMap
+       * \return a reference to this object
+       */
+      ObsClockModel& setPRNModeMap(const PRNModeMap& right) throw();
+
+      /** 
+       * set the PRNMode for a particular SV.
+       * \param prn PRN number of the SV
+       * \param mode #PRNMode for the SV
+       * \return a reference to this object
+       */
+      ObsClockModel& setPRNMode(short prn, PRNMode mode) throw()
+      { modes[prn] = mode; return *this; }
+      
+      /** 
+       * set the PRNMode for all SVs
+       * \param mode #PRNMode for the SVs
+       * \return a reference to this object
+       */
+      ObsClockModel& setPRNMode(PRNMode mode) throw()
+      {
+         for(int prn = 1; prn <= gpstk::MAX_PRN; prn++)
+            modes[prn] = mode;
+         return *this;
+      }
+
+      /**
+       * set the sigma multiple for ORD stripping.
+       * \param right sigma multiple value
+       * \return a reference to this object
+       */
+      ObsClockModel& setSigmaMultiplier(double right) throw()
+      { sigmam = right; return *this; }
+   
+      /**
+       * set the elevation mask angle for ORD stripping.
+       * \param right elevation mask angle value
+       * \return a reference to this object
+       */
+      ObsClockModel& setElevationMask(double right) throw()
+      { elvmask = right; return *this; }
+
+      // get accessor methods ----------------------------------------------   
+   
+      /**
+       * get the map indicating how each ORD was used in the bias computation.
+       * \return a const reference to the #PRNStatusMap
+       */
+      const PRNStatusMap& getPRNStatusMap() const throw()
+      { return status; };
+
+      /**
+       * get the status of a particular ORD in the bias computation.
+       * \param prn the PRN number indicating the ORD of interest
+       * \return #PRNStatus
+       * \exception ObjectNotFound an ORD for that SV is not in the map
+       */
+      PRNStatus getPRNStatus(short prn) const throw(gpstk::ObjectNotFound);
+
+      /**
+       * get the map indicating how to use each ORD in the bias computation.
+       * \return a const reference to the #PRNModeMap
+       */
+      const PRNModeMap& getPRNModeMap() const throw() { return modes; }
+
+      /**
+       * get how a particular ORD is to be used in the bias computation.
+       * \param prn the PRN number indicating the mode of interest
+       * \return #PRNMode
+       * \exception ObjectNotFound a mode for that SV is not in the map
+       */
+      PRNMode getPRNMode(short prn) const throw(gpstk::ObjectNotFound);
+
+      /**
+       * returns the sigma multiple value used for ORD stripping.
+       * \return sigma multiple
+       */
+      double getSigmaMultiplier() const throw() { return sigmam; } 
+
+      /**
+       * returns the elevation mask angle used for ORD stripping.
+       * \return elevation mask angle
+       */
+      double getElevationMask() const throw() { return elvmask; }
+
+      /// Computes an average of all ORD in the epoch that pass the elevation
+      /// mask, and PRNModeMap tests, removes those ORDS that exceede the sigmam
+      /// value and returns the resulting statistics. This is effectivly a simple
+      /// single epoch clock model.
+      Stats<double> simpleOrdClock(const ORDEpoch& oe)
+         throw(gpstk::InvalidValue);
+
+      virtual void dump(std::ostream& s, short detail=1) const throw();
+
+      friend std::ostream& operator<<(std::ostream& s, const ObsClockModel& r)
+      { r.dump(s, 0); return s; };
+      
+   protected:
+
+      double sigmam;         ///< sigma multiple value for ORD stripping
+      double elvmask;        ///< elevation mask angle for ORD stripping
+      PRNStatusMap status;   ///< map of ORD usage in bias computation
+      PRNModeMap modes;      ///< map of modes to use ORDs in bias computation
+   };
+}
+#endif
diff --git a/trunk/src/ObsRngDev.cpp b/trunk/src/ObsRngDev.cpp
new file mode 100644
index 0000000..10c66eb
--- /dev/null
+++ b/trunk/src/ObsRngDev.cpp
@@ -0,0 +1,332 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ObsRngDev.cpp#7 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ObsRngDev.hpp
+ * Observed range deviation computation & storage.
+ */
+
+#include "EphemerisRange.hpp"
+#include "EngEphemeris.hpp"
+#include "BCEphemerisStore.hpp"
+#include "MiscMath.hpp"
+#include "icd_200_constants.hpp"
+
+#include "ObsRngDev.hpp"
+
+namespace gpstk
+{
+
+   // these are the L1-L2 correction factors per ICD-GPS-200, sec. 20.3.3.3.3.2
+   static const double GAMMA = 1.64694444444444444; // (1575.42/1227.6)^2
+   static const double IGAMMA = 1-GAMMA;
+
+   bool ObsRngDev::debug=false;
+
+   ObsRngDev::ObsRngDev(
+      double prange,
+      short prn,
+      const DayTime& time,
+      const ECEF& rxpos,
+      const EphemerisStore& eph,
+      GeoidModel& gm,
+      bool svTime)
+         : obstime(time), prn(prn), ord(0)
+   {
+      computeOrd(prange, rxpos, eph, gm, svTime);
+      Geodetic gx(rxpos, &gm);
+      NBTropModel nb(gx.getAltitude(), gx.getLatitude(), time.DOYday());
+      computeTrop(nb);
+   }
+
+   ObsRngDev::ObsRngDev(
+      double prange,
+      short prn,
+      const DayTime& time,
+      const ECEF& rxpos,
+      const EphemerisStore& eph,
+      GeoidModel& gm,
+      const IonoModelStore& ion,
+      IonoModel::Frequency fq,
+      bool svTime)
+         : obstime(time), prn(prn), ord(0)
+   {
+      computeOrd(prange, rxpos, eph, gm, svTime);
+      Geodetic gx(rxpos, &gm);
+      NBTropModel nb(gx.getAltitude(), gx.getLatitude(), time.DOYday());
+      computeTrop(nb);
+      iono = ion.getCorrection(time, gx, elevation, azimuth, fq);
+      ord -= iono;
+   }
+
+   ObsRngDev::ObsRngDev(
+      double prange,
+      short prn,
+      const DayTime& time,
+      const ECEF& rxpos,
+      const EphemerisStore& eph,
+      GeoidModel& gm,
+      const TropModel& tm,
+      bool svTime)
+         : obstime(time), prn(prn), ord(0)
+   {
+      computeOrd(prange, rxpos, eph, gm, svTime);
+      computeTrop(tm);
+   }
+
+   ObsRngDev::ObsRngDev(
+      double prange,
+      short prn,
+      const DayTime& time,
+      const ECEF& rxpos,
+      const EphemerisStore& eph,
+      GeoidModel& gm,
+      const TropModel& tm,
+      const IonoModelStore& ion,
+      IonoModel::Frequency fq,
+      bool svTime)
+         : obstime(time), prn(prn), ord(0)
+   {
+      computeOrd(prange, rxpos, eph, gm, svTime);
+      computeTrop(tm);
+      Geodetic gx(rxpos, &gm);
+      iono = ion.getCorrection(time, gx, elevation, azimuth, fq);
+      ord -= iono;
+   }
+
+
+   ObsRngDev::ObsRngDev(
+      double prange1, double prange2,
+      short prn,
+      const DayTime& time,
+      const ECEF& rxpos,
+      const EphemerisStore& eph,
+      GeoidModel& gm,
+      bool svTime)
+         : obstime(time), prn(prn), ord(0)
+   {
+      // for dual frequency see ICD-GPS-211, section 20.3.3.3.3.3
+      double icpr = (prange2 - GAMMA * prange1)/IGAMMA;
+      iono = prange1 - icpr;
+
+      computeOrd(icpr, rxpos, eph, gm, svTime);
+      Geodetic gx(rxpos, &gm);
+      NBTropModel nb(gx.getAltitude(), gx.getLatitude(), time.DOYday());
+      computeTrop(nb);
+   }
+
+
+   ObsRngDev::ObsRngDev(
+      double prange1, double prange2,
+      short prn,
+      const DayTime& time,
+      const ECEF& rxpos,
+      const EphemerisStore& eph,
+      const GeoidModel& gm,
+      const TropModel& tm,
+      bool svTime)
+         : obstime(time), prn(prn), ord(0)
+   {
+      // for dual frequency see ICD-GPS-211, section 20.3.3.3.3.3
+      double icpr = (prange2 - GAMMA * prange1)/IGAMMA;
+      iono = prange1 - icpr;
+
+      computeOrd(icpr, rxpos, eph, gm, svTime);
+      computeTrop(tm);
+   }
+
+   // This should be used for obs in GPS (i.e. receiver) time.
+   void ObsRngDev::computeOrdRx(
+      double obs,
+      const ECEF& rxpos,
+      const EphemerisStore& eph,
+      const GeoidModel& gm)
+   {
+      // This algorithm should really be moved to Xvt.preciseRho() or somewhere
+      Xvt svpos;
+      double rawrange;
+      double tof = 0.070;
+      double tof_old = 0;
+      DayTime ttime;
+
+      for (int i=0; fabs(tof-tof_old) > 1.0e-13 && i<=5; i++)
+      {
+         ttime = obstime - tof;
+         tof_old = tof;
+
+         svpos = eph.getPrnXvt(prn, ttime);
+
+         rawrange = rxpos.slantRange(svpos.x);
+         tof = rawrange/gm.c();
+
+         // Perform earth rotation correction
+         double wt = gm.angVelocity()*tof;
+         Triple tmp;
+         tmp[0] =     svpos.x[0] + wt*svpos.x[1];
+         tmp[1] = -wt*svpos.x[0] +    svpos.x[1];
+         tmp[2] = svpos.x[2];
+
+         rawrange = rxpos.slantRange(tmp);
+         tof = rawrange/gm.c();
+      }
+
+      double svclkbias = svpos.dtime*gm.c();
+      if (typeid(eph) == typeid(BCEphemerisStore))
+      {
+         const BCEphemerisStore& bce = dynamic_cast<const BCEphemerisStore&>(eph);
+         const EngEphemeris& eph = bce.findEphemeris(prn,obstime);
+         iodc = eph.getIODC();
+         health = eph.getHealth();
+      }
+
+      // Now add in the corrections
+      rho = rawrange - svclkbias;
+
+      // compute the azimuth and elevation of the SV
+      azimuth = rxpos.azAngle(svpos.x);
+      elevation = rxpos.elvAngle(svpos.x);
+
+      // and now calculate the ORD
+      ord = obs - rho;
+
+      if (debug)
+      {
+         std::ios::fmtflags oldFlags = std::cout.flags();
+         std::cout << *this << std::endl
+                   << std::setprecision(3) << std::fixed
+                   << "  obs=" << obs
+                   << ", rho=" << (double)rho
+                   << ", obs-rho=" << (double)ord
+                   << std::setprecision(9)
+                   << ", tof=" << tof
+                   << std::endl 
+                   << std::setprecision(3)
+                   << "  sv.x=" << svpos.x
+                   << ", sv.v=" << svpos.v
+                   << std::endl
+                   << "  rx.x=" << rxpos
+                   << std::setprecision(4) << std::scientific
+                   << ", sv bias=" << svpos.dtime
+                   << ", sv drift=" << svpos.ddtime
+                   << std::endl;
+         std::cout.flags(oldFlags);
+      }
+   }
+
+
+// This should be used for obs in SV time
+   void ObsRngDev::computeOrdTx(
+      double obs,
+      const ECEF& rxpos,
+      const EphemerisStore& eph,
+      const GeoidModel& gm)
+   {
+      Xvt svpos = eph.getPrnXvt(prn, obstime);
+
+      // compute the range from the station to the SV
+      rho = svpos.preciseRho(rxpos, gm);
+
+      // and now calculate the ORD
+      ord = obs - rho;
+
+      if (typeid(eph) == typeid(BCEphemerisStore))
+      {
+         const BCEphemerisStore& bce = dynamic_cast<const BCEphemerisStore&>(eph);
+         const EngEphemeris& eph = bce.findEphemeris(prn,obstime);
+         iodc = eph.getIODC();
+         health = eph.getHealth();
+      }
+
+      // compute the azimuth and elevation of the SV
+      azimuth = rxpos.azAngle(svpos.x);
+      elevation = rxpos.elvAngle(svpos.x);
+
+      if (debug)
+      {
+         std::ios::fmtflags oldFlags = std::cout.flags();
+         std::cout << *this << std::endl
+                   << std::setprecision(3) << std::fixed
+                   << "  obs=" << obs
+                   << ", rho=" << (double)rho
+                   << ", obs-rho=" << (double)ord
+                   << std::endl
+                   << std::setprecision(3)
+                   << "  sv.x=" << svpos.x
+                   << ", sv.v=" << svpos.v
+                   << std::endl
+                   << "  rx.x=" << rxpos
+                   << std::setprecision(4) << std::scientific
+                   << ", sv bias=" << svpos.dtime
+                   << ", sv drift=" << svpos.ddtime
+                   << std::endl;
+         std::cout.flags(oldFlags);
+      }
+   }
+  
+   void ObsRngDev::computeTrop(const TropModel& tm)
+   {
+      trop = tm.correction(elevation);
+      ord -= trop;
+   }
+
+   std::ostream& operator<<(std::ostream& s, const ObsRngDev& ord)
+      throw()
+   {
+      std::ios::fmtflags oldFlags = s.flags();
+      s << "t=" << ord.obstime.printf("%Y/%03j %02H:%02M:%04.1f")
+        << " prn=" << std::setw(2) << ord.prn
+        << std::setprecision(4)
+        << " az=" << std::setw(3) << ord.azimuth
+        << " el=" << std::setw(2) << ord.elevation
+        << std::hex
+        << " h=" << std::setw(1) << ord.health
+        << std::dec << std::setprecision(4)
+        << " ord=" << ord.ord
+        << " ion=" << ord.iono
+        << " trop=" << ord.trop
+        << std::hex
+        << " iodc=" << ord.iodc;
+      s.flags(oldFlags);
+      return s;
+   }
+}
diff --git a/trunk/src/ObsRngDev.hpp b/trunk/src/ObsRngDev.hpp
new file mode 100644
index 0000000..24a33ab
--- /dev/null
+++ b/trunk/src/ObsRngDev.hpp
@@ -0,0 +1,327 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ObsRngDev.hpp#5 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ObsRngDev.hpp
+ * Observed range deviation computation & storage.
+ */
+
+
+#ifndef OBSRNGDEV_HPP
+#define OBSRNGDEV_HPP
+
+#include <ostream>
+
+#include "DayTime.hpp"
+#include "ECEF.hpp"
+#include "EphemerisStore.hpp"
+#include "Exception.hpp"
+#include "GPSGeoid.hpp"
+#include "IonoModelStore.hpp"
+#include "TropModel.hpp"
+#include "ValidType.hpp"
+
+namespace gpstk
+{
+
+/**
+ * A single (one observation from one sv), Observed Range Deviation (ORD).
+ * It contains all of the parameters that define an ORD and includes
+ * metadata on ORD computation such as SV position and health.
+ */
+   class ObsRngDev
+   {
+   public:
+
+      /**
+       * default constructor.
+       * Creates an empty, useless object to facilitate STL containers of this
+       * object.
+       */
+      ObsRngDev() throw() : obstime(DayTime::END_OF_TIME) {};
+
+      /**
+       * constructor.
+       * Creates an ORD, with no ionospheric correction and a default
+       * trop correction.
+       * \param prange the observed pseudorange
+       * \param prn the PRN number of the observed SV
+       * \param time the time of the observation
+       * \param rxpos the earth-centered, earth-fixed receiver position
+       * \param eph a store of either broadcast or precise ephemerides
+       * \param gm a GeoidModel for performing range calculations
+       * \param ion a store of nav based ionospheric models
+       * \param fq the GPS frequency (L1 or L2) from which the obs was made
+       * \param svTime true if prange is in SV time, false for RX time.
+       */ 
+      ObsRngDev(double prange,
+                short prn,
+                const DayTime& time,
+                const ECEF& rxpos,
+                const EphemerisStore& eph,
+                GeoidModel& gm,
+                bool svTime = false);
+      /**
+       * constructor.
+       * Creates an ORD, applies a single-frequency nav-message based
+       * ionospheric correction and a default trop correction.
+       * \param prange the observed pseudorange
+       * \param prn the PRN number of the observed SV
+       * \param time the time of the observation
+       * \param rxpos the earth-centered, earth-fixed receiver position
+       * \param eph a store of either broadcast or precise ephemerides
+       * \param gm a GeoidModel for performing range calculations
+       * \param ion a store of nav based ionospheric models
+       * \param fq the GPS frequency (L1 or L2) from which the obs was made
+       * \param svTime true if prange is in SV time, false for RX time.
+       */ 
+      ObsRngDev(double prange,
+                short prn,
+                const DayTime& time,
+                const ECEF& rxpos,
+                const EphemerisStore& eph,
+                GeoidModel& gm,
+                const IonoModelStore& ion,
+                IonoModel::Frequency fq,
+                bool svTime = false);
+      /**
+       * constructor.
+       * Creates an ORD, applies no ionospheric correction and
+       * a user-specified trop correction.
+       * \param prange the observed pseudorange
+       * \param prn the PRN number of the observed SV
+       * \param time the time of the observation
+       * \param rxpos the earth-centered, earth-fixed receiver position
+       * \param eph a store of either broadcast or precise ephemerides
+       * \param gm a GeoidModel for performing range calculations
+       * \param tm a TropModel for performing trop calculation
+       * \param ion a store of nav based ionospheric models
+       * \param fq the GPS frequency (L1 or L2) from which the obs was made
+       * \param svTime true if prange is in SV time, false for RX time.
+       */ 
+      ObsRngDev(double prange,
+                short prn,
+                const DayTime& time,
+                const ECEF& rxpos,
+                const EphemerisStore& eph,
+                GeoidModel& gm,
+                const TropModel& tm,
+                bool svTime = false);
+   
+      /**
+       * constructor.
+       * Creates an ORD, applies a single-frequency nav-message based
+       * ionospheric correction and a user-specified trop correction.
+       * \param prange the observed pseudorange
+       * \param prn the PRN number of the observed SV
+       * \param time the time of the observation
+       * \param rxpos the earth-centered, earth-fixed receiver position
+       * \param eph a store of either broadcast or precise ephemerides
+       * \param gm a GeoidModel for performing range calculations
+       * \param tm a TropModel for performing trop calculation
+       * \param ion a store of nav based ionospheric models
+       * \param fq the GPS frequency (L1 or L2) from which the obs was made
+       * \param svTime true if prange is in SV time, false for RX time.
+       */ 
+      ObsRngDev(double prange,
+                short prn,
+                const DayTime& time,
+                const ECEF& rxpos,
+                const EphemerisStore& eph,
+                GeoidModel& gm,
+                const TropModel& tm,
+                const IonoModelStore& ion,
+                IonoModel::Frequency fq,
+                bool svTime = false);
+   
+      /**
+       * constructor.
+       * Creates an ORD, applies a dual-frequency ionospheric correction
+       * and a default trop correction.
+       * \param prange the observed pseudorange
+       * \param prn the PRN number of the observed SV
+       * \param time the time of the observation
+       * \param rxpos the earth-centered, earth-fixed receiver position
+       * \param eph a store of either broadcast or precise ephemerides
+       * \param gm a GeoidModel for performing range calculations
+       * \param svTime true if prange is in SV time, false for RX time.
+       */ 
+      ObsRngDev(double prange1, double prange2,
+                short prn,
+                const DayTime& time,
+                const ECEF& rxpos,
+                const EphemerisStore& eph,
+                GeoidModel& gm,
+                bool svTime = false);
+   
+      /**
+       * constructor.
+       * Creates an ORD, applies a dual-frequency ionospheric correction
+       * and a user-specified trop correction.
+       * \param prange the observed pseudorange
+       * \param prn the PRN number of the observed SV
+       * \param time the time of the observation
+       * \param rxpos the earth-centered, earth-fixed receiver position
+       * \param eph a store of either broadcast or precise ephemerides
+       * \param gm a GeoidModel for performing range calculations
+       * \param tm a TropModel for performing trop calculations
+       * \param svTime true if prange is in SV time, false for RX time.
+       */ 
+      ObsRngDev(double prange1, double prange2,
+                short prn,
+                const DayTime& time,
+                const ECEF& rxpos,
+                const EphemerisStore& eph,
+                const GeoidModel& gm,
+                const TropModel& tm,
+                bool svTime = false);
+   
+      /// destructor
+      virtual ~ObsRngDev() throw() {}
+
+      // get accessor methods ----------------------------------------------
+      /**
+       * returns the time of the SV observation
+       * \return time of SV observation
+       */
+      const DayTime& getTime() const throw() { return obstime; }
+
+      /**
+       * returns the PRN number of the observed SV
+       * \return PRN number
+       */
+      short getPRN() const throw() { return prn; }
+
+      /**
+       * returns the SV azimuth angle (in degrees) in relation to the rx
+       * \return SV azimuth angle
+       */
+      vfloat getAzimuth() const throw() { return azimuth; }
+
+      /**
+       * returns elevation (in degrees) of the SV in relation to the rx
+       * \return SV elevation angle
+       */
+      vfloat getElevation() const throw() { return elevation; }
+
+      /**
+       * returns the 6-bit SV health bitfield from epehemeris, subframe 1
+       * \return SV health bitfield
+       */
+      vshort getHealth() const throw() { return health; }
+
+      /**
+       * returns the Issue Of Data, Clock (IODC) from ephemeris, subframe 1
+       * \return ephemeris IODC
+       */
+      vshort getIODC() const throw() { return iodc; }
+
+      /**
+       * returns the observed range deviation (ORD) (in meters)
+       * \returns ORD
+       */
+      double getORD() const throw() { return ord; }
+
+      /**
+       * returns the ionospheric offset (in meters)
+       * \returns ionospheric offset
+       */
+      vdouble getIono() const throw() { return iono; }
+
+      /**
+       * returns the tropospheric offset (in meters)
+       * \returns tropospheric offset
+       */
+      vdouble getTrop() const throw() { return trop; }
+
+      friend std::ostream& operator<<(std::ostream& s, 
+                                      const ObsRngDev& r) throw();
+
+      void applyClockOffset(double clockOffset)
+      {ord -= clockOffset;}
+
+   static bool debug;
+
+   private:
+      void computeOrd(double obs,
+                      const ECEF& rxpos,
+                      const EphemerisStore& eph,
+                      const GeoidModel& gm,
+                      bool svTime)
+      {
+         if (svTime) computeOrdTx(obs, rxpos, eph, gm);
+         else computeOrdRx(obs, rxpos, eph, gm);
+         return;
+      }
+
+
+
+      void computeOrdTx(double obs,
+                        const ECEF& rxpos,
+                        const EphemerisStore& eph,
+                        const GeoidModel& gm);
+   
+      void computeOrdRx(double obs,
+                        const ECEF& rxpos,
+                        const EphemerisStore& eph,
+                        const GeoidModel& gm);
+
+      void computeTrop(const TropModel& tm);
+
+
+   protected:
+      DayTime obstime;           ///< time of SV observation
+      short prn;                 ///< PRN number of observed SV
+      double ord;                ///< difference between expected and observed range
+
+      vfloat azimuth;            ///< SV azimuth
+      vfloat elevation;          ///< SV elevation
+      vshort health;             ///< SV health bitfield
+      vshort iodc;               ///< ephemeris IODC
+      vdouble rho;               ///< expected geometric range
+      vdouble iono;              ///< iono correction (meters)
+      vdouble trop;              ///< trop correction (meters)
+   };
+}
+#endif
+   
diff --git a/trunk/src/ObservationStore.cpp b/trunk/src/ObservationStore.cpp
new file mode 100644
index 0000000..866a99d
--- /dev/null
+++ b/trunk/src/ObservationStore.cpp
@@ -0,0 +1,338 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ObservationStore.cpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ObservationStore.cpp
+ * A class encapsulating observation data (roughly standard RINEX obs and met files).
+ */
+
+#include "ObservationStore.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+namespace gpstk
+{
+   void ObsEpoch::insertObservation( const Observation& inobs, 
+                                     const short svId )
+      throw()
+   {
+      obs[svId] = inobs;
+   }
+  
+   void ObsEpoch::insertObservation( const ObservationPlus& op )
+      throw()
+   {
+      insertObservation(op.obs, op.svId);
+   }
+
+   void RxObsData::insertObservation( const Observation& obs, 
+                                      const DayTime& t, 
+                                      const short svId )
+      throw()
+   {
+      epochs[t].insertObservation(obs, svId);
+      epochs[t].t = t;
+      if (t > lastTime)  lastTime=t;
+      if (t < firstTime) firstTime=t;
+      prnList.insert(svId);
+   }
+
+   void RxObsData::insertObservation( const ObservationPlus& op )
+      throw()
+   {
+      insertObservation(op.obs, op.time, op.svId);
+   }
+
+   void RxObsData::insertEpoch( const ObsEpoch& epoch )
+      throw()
+   {
+      epochs[epoch.t] = epoch;
+      epochs[epoch.t].t = epoch.t;
+      if (epoch.t > lastTime)  lastTime  = epoch.t;
+      if (epoch.t < firstTime) firstTime = epoch.t;
+
+      ObsMap::const_iterator i;
+      for(i=epoch.obs.begin(); i!=epoch.obs.end(); i++)
+         prnList.insert(i->first);
+   }
+
+   WxObservation WxObsData::getMostRecent( const DayTime& t ) const
+      throw()
+   {
+      if(obs.size() == 0)
+         return WxObservation();
+     
+      WxObsMap::const_iterator i = obs.upper_bound(t);
+      if (i== obs.end())
+         i--;
+      if (i != obs.begin())
+         i--;
+      return  i->second;
+   };
+
+   void WxObsData::insertObservation( const WxObservation& wx )
+      throw()
+   {
+      obs[wx.t] = wx;
+      if (wx.t > lastTime)  lastTime=wx.t;
+      if (wx.t < firstTime) firstTime=wx.t;
+   }
+
+   bool WxObservation::isAllValid() const
+      throw()
+   {
+      return temperatureSource != noWx
+         && pressureSource != noWx
+         && humiditySource != noWx;
+   };
+
+   void WxObsData::flush(const DayTime& t) throw()
+   {
+         // remove data from the WxObsMap
+         // map is sorted by time, stop removing data at
+         // first point after t
+      WxObsMap::iterator i = obs.begin();
+      while (i != obs.end())
+      {
+         if (i->first < t)
+         {
+            obs.erase(i);
+            i = obs.begin();
+            firstTime = i->second.t;
+         }
+         else
+            break;
+      }
+   }
+
+   WxObservation WxObsData::getWxObservation(const DayTime& t,
+                                             unsigned iv,
+                                             bool interpolate) const
+      throw(ObjectNotFound)
+   {
+      if (obs.empty())
+      {
+         ObjectNotFound e("No WxObservation available near time " +
+                          t.printf("%02H:%02M:%02S on day %03j of %4Y"));
+         GPSTK_THROW(e);
+      }
+
+         // get the first object after time t;
+      WxObsMap::const_iterator after = obs.upper_bound(t);
+      
+      if (after == obs.begin())
+      {
+         const WxObservation& wxa = after->second;
+         if ((wxa.t >= (t - iv)) && (wxa.t <= (t + iv)))
+         {
+               // only after point fits
+            return wxa;
+         }
+         else
+         {
+            ObjectNotFound e("No WxObservation available near time " +
+                             t.printf("%02H:%02M:%02S on day %03j of %4Y"));
+            GPSTK_THROW(e);
+         }
+      }
+      
+
+         // get the first object at or before time t;
+      WxObsMap::const_iterator before = after;
+      before--;
+
+      if (after == obs.end())
+      {
+         const WxObservation& wxb = before->second;
+         if((wxb.t >= (t - iv)) && (wxb.t <= (t + iv)))
+         {
+               // only before point fits
+            return wxb;
+         }
+         else
+         {
+            ObjectNotFound e("No WeatherData available near time " +
+                             t.printf("%02H:%02M:%02S on day %03j of %4Y"));
+            GPSTK_THROW(e);
+         }
+      }
+      else
+      {
+         const WxObservation& wxa = after->second;
+         const WxObservation& wxb = before->second;
+
+         if (interpolate)
+         {
+            if((wxb.t >= (t - iv)) && (wxb.t <= (t + iv)))
+            {
+               if ((wxa.t >= (t - iv)) && (wxa.t <= (t + iv)))
+               {
+                     // both points fit, linearly interpolate and create
+                     // a WeatherData object with those values
+                  double dtw = wxa.t - wxb.t;
+                  double dt = t - wxb.t;
+
+                  double slope = (wxa.pressure - wxb.pressure) / dtw;
+                  double pressure = slope * dt + wxb.pressure;
+
+                  slope = (wxa.humidity - wxb.humidity) / dtw;
+                  double humidity = slope * dt + wxb.humidity;
+
+                  slope = (wxa.temperature - wxb.temperature) / dtw;
+                  double temp = slope * dt + wxb.temperature;
+
+                  WxObservation wx(t, temp, pressure, humidity);
+                  return wx;
+               }
+               else
+               {
+                     // only before point fits
+                  return wxb;
+               }
+            }
+            else if ((wxa.t >= (t - iv)) && (wxa.t <= (t + iv)))
+            {
+                  // only after point fits
+               return wxa;
+            }
+            else
+            {
+               ObjectNotFound e("No WeatherData available near time " +
+                                t.printf("%02H:%02M:%02S on day %03j of %4Y"));
+               GPSTK_THROW(e);
+            }
+         }
+         else
+         {
+            if((wxb.t >= (t - iv)) && (wxb.t <= (t + iv)))
+            {
+               if ((wxa.t >= (t - iv)) && (wxa.t <= (t + iv)))
+               {
+                     // both points fit, return closer point, or
+                     // before point if at same distance
+                  double diffa = wxa.t - t;
+                  double diffb = t - wxb.t;
+                  return(diffa < diffb ? wxa : wxb);
+               }
+               else
+               {
+                     // only before point fits
+                  return wxb;
+               }
+            }
+            else if ((wxa.t >= (t - iv)) && (wxa.t <= (t + iv)))
+            {
+                  // only after point fits
+               return wxa;
+            }
+            else
+            {
+               ObjectNotFound e("No WeatherData available near time " +
+                                t.printf("%02H:%02M:%02S on day %03j of %4Y"));
+               GPSTK_THROW(e);
+            }
+         }
+      }
+   }
+
+      // These are just to facilitate debugging.
+   std::ostream& operator<<(std::ostream& s, 
+                            const gpstk::Observation& obs)
+      throw()
+   {
+      s << obs.range << ", " << obs.phase << ", " << obs.doppler
+        << ", " << obs.SNR << ", " << obs.channel << ", ";
+      switch (obs.carrier) {
+         case gpstk::Observation::cfL1:    s << "L1 ";    break;
+         case gpstk::Observation::cfL2:    s << "L2 ";    break;
+         case gpstk::Observation::cfL5:    s << "L5 ";    break;
+         case gpstk::Observation::cfOther: s << "Other "; break;
+      }
+      switch (obs.code) {
+         case gpstk::Observation::rcCA:    s << "CA";    break;
+         case gpstk::Observation::rcPY:    s << "PY";    break;
+         case gpstk::Observation::rcZ:     s << "Z";     break;
+         case gpstk::Observation::rcRC:    s << "RC";    break;
+         case gpstk::Observation::rcOther: s << "Other"; break;
+      }
+      s << std::endl;
+      return s;
+   }
+
+   std::ostream& operator<<(std::ostream& s, 
+                            const gpstk::ObsEpoch& oe)
+      throw()
+   {
+      s << "epoch t=" << oe.t << ", dt=" << oe.dt << std::endl;
+      gpstk::ObsMap::const_iterator i;
+      for (i=oe.obs.begin(); i!=oe.obs.end(); i++)
+         s << "prn " <<  i->first << ", " << i->second;
+      return s;
+   }
+
+   std::ostream& operator<<(std::ostream& s, 
+                            const gpstk::RxObsData& rod)
+      throw()
+   {
+      s << rod.rxId << " data spans " << rod.firstTime << " to " 
+        << rod.lastTime << std::endl;
+      gpstk::ObsEpochMap::const_iterator i;
+      for (i=rod.epochs.begin(); i!=rod.epochs.end(); i++)
+         s << "map t=" <<  i->first << ", " << i->second;
+      return s;
+   }
+
+   std::ostream& operator<<(std::ostream& s, 
+                            const gpstk::WxObservation& obs)
+      throw()
+   {
+         // Note that this does not flag where the wx data came from
+      s << obs.t << ", t=" << obs.temperature
+        << ", p=" << obs.pressure
+        << ", rh=" << obs.humidity;
+      return s;
+   }
+
+
+}  // namespace
diff --git a/trunk/src/ObservationStore.hpp b/trunk/src/ObservationStore.hpp
new file mode 100644
index 0000000..bda27c7
--- /dev/null
+++ b/trunk/src/ObservationStore.hpp
@@ -0,0 +1,338 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ObservationStore.hpp#3 $"
+
+/**
+ * @file ObservationStore.hpp
+ * A class encapsulating observation data (roughly standard RINEX obs and met files).
+ * It roughly mirrors the data that is contained in
+ * an smoothed data file or the combination of a RINEX obs and met file.
+ *
+ * The basic idea is that it stands alone.  Any computed values
+ * or related data is managed outside of this set of classes.
+ */
+
+#ifndef GPSTK_OBSERVATIONSTORE_HPP
+#define GPSTK_OBSERVATIONSTORE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <map>
+#include <set>
+#include <iostream>
+
+#include "DayTime.hpp"
+
+namespace gpstk
+{
+      /// This is a single range/phase/doppler at a single time.  It could be a 
+      /// smoothed pseudorange, a raw observation from a single carrier or
+      /// whatever.  There is no time since it is expected to be part of an
+      /// epoch of observations with a single time.
+   struct Observation
+   {
+         /// Constructor
+      Observation() throw()
+            :range(0), phase(0), doppler(0), SNR(0), channel(0),
+             code(rcOther), carrier(cfOther) {}
+
+      double range;     ///< the range in meters
+      double phase;     ///< the phase in meters
+      double doppler;   ///< the doppler in meters/sec
+      float  SNR;       ///< signal to noise ratio in dB/Hz
+      short  channel;   ///< what channel this was collected on
+
+         /// An enumeration of the various types of ranging codes.
+      enum RangingCode 
+      {
+         rcCA,     ///<  CA Code
+         rcPY,     ///<  Y Code
+         rcZ,      ///<  Z Code
+         rcRC,     ///<  RC Code 
+         rcOther   ///<  Unspecified
+      };
+      
+         /// An enumeration of the various types of carrier frequencies.
+      enum CarrierFrequency 
+      {
+         cfL1,    ///< L1
+         cfL2,    ///< L2
+         cfL5,    ///< L5
+         cfOther  ///< Unspecified
+      };
+      
+      RangingCode code;         ///< the ranging code for this observation
+      CarrierFrequency carrier; ///< the carrier freq. for this observation
+      
+         /** Friendly output operator.
+          * @param s the output stream to which the Observation data is written
+          * @param obs the Observation to send to the ostream
+          * @return a reference to the modified ostream
+          */
+      friend std::ostream& operator<<(std::ostream& s, 
+                                      const Observation& obs) throw();
+   };
+   
+
+      /// This is a superstructure for the Observation structure.
+      /// It helps with insertion of observations into the RxObsData 
+      /// structure.  Look below to see how.
+   struct ObservationPlus
+   {
+      Observation obs;    ///< the observation
+      DayTime     time;   ///< measurement time in DayTime format
+      unsigned    rxId;   ///< some identifying receiver number
+      short       svId;   ///< the PRN number for this measurement's SV
+   };
+
+      /// The key for this map is the prn of the SV
+   typedef std::map<short, Observation> ObsMap;
+
+      /// This is a set of observations (all PRNs) collected at a single point
+      /// in time from a single receiver.
+   struct ObsEpoch
+   {
+         /// Constructor
+      ObsEpoch() throw()
+            :t(DayTime::END_OF_TIME),dt(0) {};
+
+         /** Insert an ObservationPlus.
+          * @param op the ObservationPlust to insert
+          */
+      void insertObservation(const ObservationPlus& op) throw();
+         /** Insert an Observation for a specific SV.
+          * @param obs the Observation to insert
+          * @param svId the SV that Observation belongs to.
+          */
+      void insertObservation(const Observation& obs, 
+                             const short svId) throw();
+     
+         /// When this data was collected, in Rx GPS time.
+      DayTime t;
+
+         /// The receiver clock offset for this epoch.
+         /// (an optional RINEX value)
+      double dt;
+   
+         /// The observations indexed by PRN.
+      ObsMap obs;
+
+         /** Friendly output operator.
+          * @param s the output stream to send output to.
+          * @param oe the ObsEpoch to send to the output stream
+          * @return a reference to the modified ostream
+          */
+      friend std::ostream& operator<<(std::ostream& s, 
+                                      const ObsEpoch& oe) throw();
+   };
+
+
+      /// This is a map of those epochs over time.  The key should be the
+      /// same time as the time of the epoch
+   typedef std::map<DayTime, ObsEpoch> ObsEpochMap;
+
+      /// This is a time history of epochs from a single receiver.
+   struct RxObsData
+   {
+         /// Constructor
+      RxObsData() throw() 
+            :firstTime(DayTime::END_OF_TIME), lastTime(DayTime::BEGINNING_OF_TIME) {};
+     
+         /** Insert an ObservationPlus object.
+          * @param op the ObservationPlus to insert.
+          */ 
+      void insertObservation(const ObservationPlus& op) throw();
+      
+         /** Insert an Observation object for a specific time and SV.
+          * @param obs the Observation object
+          * @param t the time of the Observation
+          * @param svId the SV that the Observation is of.
+          */
+      void insertObservation(const Observation& obs, 
+                             const DayTime& t, 
+                             const short svId) throw();
+
+         /** Insert an Epoch of Observations.
+          * @param epoch the ObsEpoch object to insert
+          */
+      void insertEpoch(const ObsEpoch& epoch) throw();
+     
+      DayTime firstTime; ///< Time of the oldest data in this object.
+      DayTime lastTime;  ///< Time of the youngest data in this object.
+   
+      unsigned rxId;     ///< the receiver id
+
+         /// This is a list of all PRNs that we have at least one observation
+         /// from for this receiver.
+      std::set<short> prnList;
+
+         // The actual data.
+      ObsEpochMap epochs;
+
+         /** Friendly output operator.
+          * @param s the output stream that the RxObsData is sent to
+          * @param rod the RxObsData that is sent to the output stream
+          * @return a reference to the modified ostream
+          */
+      friend std::ostream& operator<<(std::ostream& s, 
+                                      const RxObsData& rod) throw();
+   };
+   
+      /// A Single Weather Observation.
+   struct WxObservation
+   {
+         /// Default Constructor
+      WxObservation() throw()
+            : t(DayTime::END_OF_TIME), temperatureSource(noWx),
+              pressureSource(noWx), humiditySource(noWx)
+      {}
+
+         /** Constructor
+          * @param t the time of the observation
+          * @param temp the recorded temperature (deg. Centigrade)
+          * @param pres the recorded pressure (millibars)
+          * @param humid the recorded relative humidity (%)
+          */
+      WxObservation(const DayTime& t, 
+                    double temp, 
+                    double pres, 
+                    double humid)
+         throw()
+            :t(t),
+             temperature(temp), temperatureSource(obsWx),
+             pressure(pres), pressureSource(obsWx), 
+             humidity(humid), humiditySource(obsWx)
+      {}
+
+
+      DayTime t;  ///< Time that this data was collected, in Rx GPS time.
+      float  temperature;  ///< degrees Centigrade
+      float  pressure;     ///< millibars
+      float  humidity;     ///< percent
+
+         /// An enumeration of the various weather sources.
+      enum EWxSrc 
+      {
+         noWx,  ///< No weather measurements were available.
+         defWx, ///< Default weather was used.
+         obsWx  ///< The Observed Weather was used.
+      };
+      
+      enum EWxSrc temperatureSource; ///< source of the temperature meas.
+      enum EWxSrc pressureSource;    ///< source of the pressure meas.
+      enum EWxSrc humiditySource;    ///< source of the humidity meas.
+
+         /** Return whether all weather values in this object are valid.
+          * @return whether all weather values in this object are valid
+          */
+      bool isAllValid() const throw();
+
+         /** Friendly Output Operator.
+          * @param s the output stream to which data is sent
+          * @param obs the WxObservation from which the data comes
+          * @return a reference to the modified ostream
+          */
+      friend std::ostream& operator<<(std::ostream& s, 
+                                      const WxObservation& obs) throw();
+   };
+
+
+      /// This is a map of weather observations over time.  The key 
+      /// should be the same time as the time of the epoch.
+   typedef std::map<DayTime, WxObservation> WxObsMap;
+
+      /// This is a time history weather data from a single site
+   struct WxObsData
+   {
+         /// Constructor
+      WxObsData() throw()
+            :firstTime(DayTime::END_OF_TIME), 
+             lastTime(DayTime::BEGINNING_OF_TIME) {}
+     
+         // First and last time of any data in this object
+      DayTime firstTime; ///< Time of the oldest data in this object.
+      DayTime lastTime;  ///< Time of the youngest data in this object.
+   
+         /// This is the identifier of the site.
+      unsigned rxId;
+
+         /// The actual data.
+      WxObsMap obs;
+
+         /** Get the last WxObservation made before time t.
+          * @return the WxObservation coming before time t
+          */
+      WxObservation getMostRecent(const DayTime& t) const throw();
+      
+         /** Insert a WxObservation.
+          * @param obs the WxObservation to insert.
+          */
+      void insertObservation(const WxObservation& obs) throw();
+      
+         /**
+          * Removes all stored #WxObservation objects older than time \a t.
+          * \param t remove #WxObservation objects older than this
+          */
+      void flush(const DayTime& t) throw();
+
+         /**
+          * Find a #WxObservation object for time \a t.
+          * A #WxObservation object will be retured. If interpolation is used,
+          * the first object immediately before or at time \a t and the first
+          * object immediately after time \a t will be linearly interpolated
+          * between to return a data point at time \a t. If there is not enough
+          * data to interpolate, the nearest real observation will be returned.
+          * Any object returned or used in the interpolation scheme must fit
+          * within the specified time interval around \a t (if \a iv is one
+          * hour, a point must be within an hour before or after time \a t.)
+          * \param t the time of interest
+          * \param interpolate true if interpolation between points is wanted
+          * \param iv time interval (seconds, before and after) around \a t
+          * \return a #WxObservation object
+          * \exception ObjectNotFound a #WxObservation object not available
+          */
+      WxObservation getWxObservation(const DayTime& t,
+                                     unsigned iv = 3600,
+                                     bool interpolate = true) const
+         throw(ObjectNotFound);
+   };
+} // namespace 
+
+#endif 
diff --git a/trunk/src/PCodeConst.hpp b/trunk/src/PCodeConst.hpp
new file mode 100644
index 0000000..cc9c9a2
--- /dev/null
+++ b/trunk/src/PCodeConst.hpp
@@ -0,0 +1,104 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/PCodeConst.hpp#1 $"
+//  PCodeConst.hpp - Constants for GPS X-register manipulation
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+
+#ifndef PCodeConst_HPP
+#define PCodeConst_HPP
+
+//#define PCODE_DEBUG
+
+namespace gpstk
+{
+   /** @addtogroup code */
+   /**
+    *  PCodeConst.hpp maintains a variety of "magic numbers" related
+    *  to P-code generation and used throughout the P-code generator.
+    */
+   enum codeType { P_CODE, Y_CODE, BOTH }; 
+    
+      /// Number of bits assumed to be in a unsigned long int
+   const int MAX_BIT = 32;
+   
+      /// Maximum PRN Code number (1-n) 
+   const int MAX_PRN_CODE = 37;
+ 
+      /// Number of 4 byte unsigned ints necessary to hold 6 sec of P-code
+   const long NUM_6SEC_WORDS = 1918125;
+   
+      /// Number of 4 byte unsigned ints necessary to hold an X2 sequence (with leading delay)
+   const long NUM_X2_WORDS   = 1918131;
+   
+      /// INIT variables are starting conditions of 12-bit registers (IS-GPS-200)
+   const unsigned int X1A_INIT = 0x0248;
+   const unsigned int X1B_INIT = 0x0554;
+   const unsigned int X2A_INIT = 0x0925;
+   const unsigned int X2B_INIT = 0x0554;
+
+      /// TAPS variables denote which stages of 12-bit registers are XOR'd.   
+   const unsigned int X1A_TAPS = 0x0CA0;
+   const unsigned int X1B_TAPS = 0x0F93;
+   const unsigned int X2A_TAPS = 0x0FDD;
+   const unsigned int X2B_TAPS = 0x098E;
+
+      /// X?_MAX_EPOCH is the maximum number of epochs in a sequence
+   const int XA_MAX_EPOCH = 3750;
+   const int XB_MAX_EPOCH = 3749;
+   
+      /// X?_COUNT is the number of bits in an epoch
+   const int XA_COUNT = 4092;
+   const int XB_COUNT = 4093;
+   
+      /** XA_EPOCH_DELAY and XB_EPOCH_DELAY allow for precession of X1B and X2B wrt
+       * to X1A and X2A at the end of each X1A epoch and X2A epoch.  End
+       * of week delays are handled elsewhere.
+       */
+   const long XA_EPOCH_DELAY  =   0;
+   const long XB_EPOCH_DELAY  = 343;
+   
+      /// The 37 chip delay at the end of every X2A epoch 
+   const long X2A_EPOCH_DELAY = 37;
+   //@}
+} // namespace
+
+#endif
diff --git a/trunk/src/PRSolution.cpp b/trunk/src/PRSolution.cpp
new file mode 100644
index 0000000..7da24f2
--- /dev/null
+++ b/trunk/src/PRSolution.cpp
@@ -0,0 +1,713 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/PRSolution.cpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+/**
+ * @file PRSolution.cpp
+ * Autonomous pseudorange navigation solution, including RAIM algorithm
+ */
+ 
+#include "MathBase.hpp"
+#include "PRSolution.hpp"
+#include "EphemerisRange.hpp"
+#include "GPSGeoid.hpp"
+
+// -----------------------------------------------------------------------------------
+// Combinations.hpp
+// Find all the combinations of n things taken k at a time.
+
+#include "Exception.hpp"
+#include "StringUtils.hpp"
+
+/// Class Combinations will compute C(n,k), all the combinations of n things
+/// taken k at a time (where k <= n).
+/// Let n 'things' be indexed by i (i=0...n-1), e.g. stored in an array of length n.
+/// This class computes C(n,k) as sets of k indexes into the 'things' array.
+/// These indexes are accessible via member functions Selection() or isSelected().
+/// Next() computes the next combination until there are no more (when it returns -1).
+class Combinations {
+public:
+      /// Default constructor
+   Combinations(void)
+      throw()
+   {
+      nc = n = k = 0;
+      Index = NULL;
+   }
+
+      /// Constructor for C(n,k) = combinations of n things taken k at a time (k <= n)
+      /// @throw on invalid input (k>n).
+   Combinations(int N, int K)
+      throw(gpstk::Exception)
+   {
+      try { init(N,K); }
+      catch(gpstk::Exception& e) { GPSTK_RETHROW(e); }
+   }
+
+      /// copy constructor
+   Combinations(const Combinations& right)
+      throw()
+   {
+      *this = right;
+   }
+
+      /// destructor
+   ~Combinations(void)
+   {
+      if(Index) delete[] Index;
+      Index = NULL;
+   }
+
+      /// Assignment operator.
+   Combinations& operator=(const Combinations& right)
+      throw()
+   {
+      this->~Combinations();
+      init(right.n,right.k);
+      nc = right.nc;
+      for(int j=0; j<k; j++) Index[j] = right.Index[j];
+      return *this;
+   }
+
+      /// Compute the next combination, returning the number of combinations computed
+      /// so far; if there are no more combinations, return -1.
+   int Next(void) throw();
+
+      /// Return index i (0 <= i < n) of jth selection (0 <= j < k);
+      /// if j is out of range, return -1.
+   int Selection(int j)
+      throw()
+   {
+      if(j < 0 || j >= k) return -1;
+      return Index[j];
+   }
+
+      /// Return true if the given index j (0 <= j < n) is
+      /// currently selected (i.e. if j = Selection(i) for some i)
+   bool isSelected(int j)
+      throw()
+   {
+      for(int i=0; i<k; i++)
+         if(Index[i] == j) return true;
+      return false;
+   }
+
+private:
+
+      /// The initialization routine used by constructors.
+      /// @throw on invalid input (k>n or either n or k < 0).
+   void init(int N, int K)
+      throw(gpstk::Exception);
+
+      /// Recursive function to increment Index[j].
+   int Increment(int j) throw();
+
+   int nc;         ///< number of combinations computed so far
+   int k,n;        ///< combinations of n things taken k at a time, given at c'tor
+   int* Index;     ///< Index[j] = index of jth selection (j=0...k-1; I[j]=0...n-1)
+};
+
+// -----------------------------------------------------------------------------------
+int Combinations::Next(void)
+   throw()
+{
+   if(k < 1) return -1;
+   if(Increment(k-1) != -1) return ++nc;
+   return -1;
+}
+
+int Combinations::Increment(int j)
+   throw()
+{
+   if(Index[j] < n-k+j) {        // can this index be incremented?
+      Index[j]++;
+      for(int m=j+1; m<k; m++)
+         Index[m]=Index[m-1]+1;
+      return 0;
+   }
+      // is this the last index?
+   if(j-1 < 0) return -1;
+      // increment the next lower index
+   return Increment(j-1);
+}
+
+void Combinations::init(int N, int K)
+   throw(gpstk::Exception)
+{
+   if(K > N || N < 0 || K < 0) {
+      gpstk::Exception e("Combinations(n,k) must have k <= n, with n,k >= 0");
+      GPSTK_THROW(e);
+   }
+
+   if(K > 0) {
+      Index = new int[K];
+      if(!Index) {
+         gpstk::Exception e("Could not allocate");
+         GPSTK_THROW(e);
+      }
+   }
+   else Index = NULL;
+
+   nc = 0;
+   k = K;
+   n = N;
+   for(int j=0; j<k; j++)
+      Index[j]=j;
+}
+
+// -----------------------------------------------------------------------------------
+
+using namespace std;
+using namespace gpstk;
+
+namespace gpstk
+{
+   int PRSolution::RAIMCompute(const DayTime& Tr,
+                               vector<RinexPrn>& Satellite,
+                               vector<double>& Pseudorange,
+                               const EphemerisStore& Eph,
+                               TropModel *pTropModel)
+      throw(Exception)
+      {
+      try {
+         int iret,jret,i,j,N,Nreject,MinSV,stage;
+         vector<bool> UseSat,UseSave;
+         vector<int> GoodIndexes;
+         // Use these to save the 'best' solution within the loop.
+         int BestNIter;
+         double BestRMS,BestSL,BestConv;
+         Vector<double> BestSol;
+         vector<bool> BestUse;
+         BestRMS = -1.0;      // this marks the 'Best' set as unused.
+
+         // ----------------------------------------------------------------
+         // initialize
+         Valid = false;
+
+         // Save the input solution
+         // (for use in rejection when ResidualCriterion is false).
+         if(Solution.size() != 4) { Solution.resize(4); Solution = 0.0; }
+         APrioriSolution = Solution;
+
+         // ----------------------------------------------------------------
+         // fill the SVP matrix, and use it for every solution
+         // NB this routine can set Satellite[.]=negative when no ephemeris
+         i = PrepareAutonomousSolution(Tr, Satellite, Pseudorange, Eph, SVP);
+         if(Debug) {
+            *pDebugStream << "In RAIMCompute after PAS(): Satellites:";
+            for(j=0; j<Satellite.size(); j++) *pDebugStream << " " << Satellite[j];
+            *pDebugStream << endl;
+            *pDebugStream << " SVP matrix("
+               << SVP.rows() << "," << SVP.cols() << ")" << endl;
+            *pDebugStream << fixed << setw(16) << setprecision(3) << SVP << endl;
+         }
+         if(i) return -3;  // return is 0(ok) or -4(no ephemeris)
+
+         // count how many good satellites we have
+         // Initialize UseSat based on Satellite, and build GoodIndexes.
+         // UseSat is used to mark good sats (true) and those to ignore (false).
+         // UseSave saves the original so it can be reused for each solution.
+         // Let GoodIndexes be all the indexes of Satellites that are good:
+         // UseSat[GoodIndexes[.]] == true by definition
+         for(N=0,i=0; i<Satellite.size(); i++) {
+            if(Satellite[i].prn > 0) {
+               N++;
+               UseSat.push_back(true);
+               GoodIndexes.push_back(i);
+            }
+            else UseSat.push_back(false);
+         }
+         UseSave = UseSat;
+         //if(Debug) {
+         //   *pDebugStream << "GoodIndexes (" << N << ") are";
+         //   for(i=0; i<GoodIndexes.size(); i++)
+         //      *pDebugStream << " " << Satellite[GoodIndexes[i]];
+         //   *pDebugStream << endl;
+         //}
+
+         // don't even try if there are not 4 good satellites
+         if(N < 4) return -3;
+         Satellite[0].setfill('0');
+
+         // minimum number of sats needed for algorithm
+         MinSV = 5;   // this would be RAIM
+          // ( not really RAIM || not RAIM at all - just one solution)
+         if(!ResidualCriterion || NSatsReject==0) MinSV=4;
+
+         // how many satellites can RAIM reject, if we have to?
+         // default is -1, meaning as many as possible
+         Nreject = NSatsReject;
+         if(Nreject == -1 || Nreject > N-MinSV)
+            Nreject=N-MinSV;
+
+         // ----------------------------------------------------------------
+         // now compute the solution, first with all the data. If this fails,
+         // reject 1 satellite at a time and try again, then 2, etc.
+
+         // Slopes for each satellite are computed (cf. the RAIM algorithm)
+         Vector<double> Slopes(Pseudorange.size());
+
+         // Residuals stores the post-fit data residuals.
+         Vector<double> Residuals(Satellite.size(),0.0);
+
+         // stage is the number of satellites to reject.
+         stage = 0;
+
+         do {
+            // compute all the combinations of N satellites taken stage at a time
+            Combinations Combo(N,stage);
+
+            // compute a solution for each combination of marked satellites
+            do {
+               // Mark the satellites for this combination
+               UseSat = UseSave;
+               for(i=0; i<GoodIndexes.size(); i++)
+                  if(Combo.isSelected(i)) UseSat[i]=false;
+
+               // ----------------------------------------------------------------
+               // Compute a solution given the data; ignore ranges for marked
+               // satellites. Fill Vector 'Slopes' with slopes for each unmarked
+               // satellite.
+               // Return 0  ok
+               //       -1  failed to converge
+               //       -2  singular problem
+               //       -3  not enough good data
+               NIterations = MaxNIterations;             // pass limits in
+               Convergence = ConvergenceLimit;
+               iret = AutonomousPRSolution(Tr, UseSat, SVP, pTropModel, Algebraic,
+                  NIterations, Convergence, Solution, Covariance, Residuals, Slopes);
+
+               // ----------------------------------------------------------------
+               // Compute RMS residual...
+               if(!ResidualCriterion) {
+                  // when 'distance from a priori' is the criterion.
+                  Vector<double> D=Solution-APrioriSolution;
+                  RMSResidual = RMS(D);
+               }
+               else {
+                  // and in the usual case
+                  RMSResidual = RMS(Residuals);
+               }
+               // ... and find the maximum slope
+               MaxSlope = 0.0;
+               if(iret == 0)
+                  for(i=0; i<UseSat.size(); i++)
+                     if(UseSat[i] && Slopes(i)>MaxSlope) MaxSlope=Slopes[i];
+
+               // ----------------------------------------------------------------
+               // print solution with diagnostic information
+               if(Debug) {
+                  *pDebugStream << "RPS " << setw(2) << stage
+                     << " " << setw(4) << Tr.GPSfullweek()
+                     << " " << fixed << setw(10) << setprecision(3) << Tr.GPSsecond()
+                     << " " << setw(2) << N-stage << setprecision(6)
+                     << " " << setw(16) << Solution(0)
+                     << " " << setw(16) << Solution(1)
+                     << " " << setw(16) << Solution(2)
+                     << " " << setw(14) << Solution(3)
+                     << " " << setw(12) << RMSResidual
+                     << " " << fixed << setw(5) << setprecision(1) << MaxSlope
+                     << " " << NIterations
+                     << " " << scientific << setw(8) << setprecision(2)<< Convergence;
+                     // print the RinexPrn for good sats
+                  for(i=0; i<UseSat.size(); i++) {
+                     if(UseSat[i])
+                        *pDebugStream << " " << setw(3)<< Satellite[i].prn;
+                     else
+                        *pDebugStream << " " << setw(3) << -::abs(Satellite[i].prn);
+                  }
+                     // also print the return value
+                  *pDebugStream << " (" << iret << ")" << endl;
+               }// end debug print
+
+               // ----------------------------------------------------------------
+               // deal with the results of AutonomousPRSolution()
+               if(iret) {     // failure for this combination
+                  RMSResidual = 0.0;
+                  Solution = 0.0;
+               }
+               else {         // success
+                     // save 'best' solution for later
+                  if(BestRMS < 0.0 || RMSResidual < BestRMS) {
+                     BestRMS = RMSResidual;
+                     BestSol = Solution;
+                     BestUse = UseSat;
+                     BestSL = MaxSlope;
+                     BestConv = Convergence;
+                     BestNIter = NIterations;
+                  }
+                     // quit immediately?
+                  if((stage==0 || ReturnAtOnce) && RMSResidual < RMSLimit)
+                     break;
+               }
+
+               // get the next combinations and repeat
+            } while(Combo.Next() != -1);
+
+            // end of the stage
+            if(BestRMS > 0.0 && BestRMS < RMSLimit) { // success
+               iret=0;
+               break;
+            }
+
+            // go to next stage
+            stage++;
+            if(stage > Nreject) break;
+
+         } while(iret == 0);        // end loop over stages
+
+         // ----------------------------------------------------------------
+         // copy out the best solution and return
+         Convergence = BestConv;
+         NIterations = BestNIter;
+         RMSResidual = BestRMS;
+         Solution = BestSol;
+         MaxSlope = BestSL;
+         for(Nsvs=0,i=0; i<BestUse.size(); i++) {
+            if(!BestUse[i]) Satellite[i].prn = -::abs(Satellite[i].prn);
+            else Nsvs++;
+         }
+
+         if(iret==0 && BestSL > SlopeLimit) iret=1;
+         if(iret==0 && BestSL > SlopeLimit/2.0 && Nsvs == 5) iret=1;
+         if(iret>=0 && BestRMS >= RMSLimit) iret=2;
+
+         if(iret==0) Valid=true;
+
+         return iret;
+      }
+      catch(Exception& e) {
+         GPSTK_RETHROW(e);
+      }
+      }  // end PRSolution::RAIMCompute()
+
+
+
+   int PRSolution::PrepareAutonomousSolution(const DayTime& Tr,
+                                             vector<RinexPrn>& Satellite,
+                                             vector<double>& Pseudorange,
+                                             const EphemerisStore& Eph,
+                                             Matrix<double>& SVP,
+                                             ostream *pDebugStream)
+      throw()
+      {
+         int i,j,nsvs,N=Satellite.size();
+         DayTime tx;                // transmit time
+         Xvt PVT;
+
+         if(N <= 0) return 0;
+         SVP = Matrix<double>(N,4);
+         SVP = 0.0;
+
+         for(nsvs=0,i=0; i<N; i++) {
+               // skip marked satellites
+            if(Satellite[i].prn <= 0) continue;
+
+               // first estimate of transmit time
+            tx = Tr;
+            tx -= Pseudorange[i]/C_GPS_M;
+               // get ephemeris range, etc
+            try {
+               PVT = Eph.getPrnXvt(short(Satellite[i].prn), tx);
+            }
+            catch(EphemerisStore::NoEphemerisFound& e) {
+               Satellite[i].prn = -::abs(Satellite[i].prn);
+               continue;
+            }
+
+               // update transmit time and get ephemeris range again
+            tx -= PVT.dtime;     // clk+rel
+            try {
+               PVT = Eph.getPrnXvt(short(Satellite[i].prn), tx);
+            }
+            catch(EphemerisStore::NoEphemerisFound& e) {
+               Satellite[i].prn = -::abs(Satellite[i].prn);
+               continue;
+            }
+
+               // SVP = {SV position at transmit time}, raw range + clk + rel
+            for(j=0; j<3; j++) SVP(i,j) = PVT.x[j];
+            SVP(i,3) = Pseudorange[i] + C_GPS_M * PVT.dtime;
+            nsvs++;
+         }
+
+         if(nsvs == 0) return -4;
+         return 0;
+  
+      } // end PrepareAutonomousPRSolution
+
+
+   int PRSolution::AlgebraicSolution(Matrix<double>& A,
+                                     Vector<double>& Q,
+                                     Vector<double>& X,
+                                     Vector<double>& R)
+      {
+       try {
+         int N=A.rows();
+         Matrix<double> AT=transpose(A);
+         Matrix<double> B=AT,C(4,4);
+
+         C = AT * A;
+         // invert
+         try {
+            //double big,small;
+            //condNum(C,big,small);
+            //if(small < 1.e-15 || big/small > 1.e15) return -2;
+            C = inverseSVD(C);
+         }
+         catch(SingularMatrixException& sme) {
+            return -2;
+         }
+
+         B = C * AT;
+
+         Vector<double> One(N,1.0),V(4),U(4);
+         double E,F,G,d,lam;
+
+         U = B * One;
+         V = B * Q;
+         E = Minkowski(U,U);
+         F = Minkowski(U,V) - 1.0;
+         G = Minkowski(V,V);
+         d = F*F-E*G;
+         if(d < 0.0) d=0.0; // avoid imaginary solutions: what does this really mean?
+         d = SQRT(d);
+
+            // first solution ...
+         lam = (-F+d)/E;
+         X = lam*U + V;
+         X(3) = -X(3);
+            // ... and its residual
+         R(0) = A(0,3)-X(3) - RSS(X(0)-A(0,0), X(1)-A(0,1), X(2)-A(0,2));
+
+            // second solution ...
+         lam = (-F-d)/E;
+         X = lam*U + V;
+         X(3) = -X(3);
+            // ... and its residual
+         R(1) = A(0,3)-X(3) - RSS(X(0)-A(0,0), X(1)-A(0,1), X(2)-A(0,2));
+
+            // pick the right solution
+         if(ABS(R(1)) > ABS(R(0))) {
+            lam = (-F+d)/E;
+            X = lam*U + V;
+            X(3) = -X(3);
+         }
+
+            // compute the residuals
+         for(int i=0; i<N; i++)
+            R(i) = A(i,3)-X(3) - RSS(X(0)-A(i,0), X(1)-A(i,1), X(2)-A(i,2));
+      
+         return 0;
+
+      }
+      catch(Exception& e) {
+         GPSTK_RETHROW(e);
+      }
+      }  // end PRSolution::AlgebraicSolution
+
+
+   int PRSolution::AutonomousPRSolution(const DayTime& T,
+                                        const vector<bool>& Use,
+                                        const Matrix<double> SVP,
+                                        TropModel *pTropModel,
+                                        const bool Algebraic,
+                                        int& n_iterate,
+                                        double& converge,
+                                        Vector<double>& Sol,
+                                        Matrix<double>& Cov,
+                                        Vector<double>& Resid,
+                                        Vector<double>& Slope,
+                                        ostream *pDebugStream)
+         throw(Exception)
+      {
+         if(!pTropModel) {
+            Exception e("Undefined tropospheric model");
+            GPSTK_THROW(e);
+         }
+
+      try {
+         int iret,i,j,n,N;
+         double rho,wt,svxyz[3];
+         GPSGeoid geoid;               // WGS84?
+
+         if(pDebugStream) *pDebugStream << "Enter APRS " << n_iterate << " "
+            << scientific << setprecision(3) << converge << endl;
+
+            // find the number of good satellites
+         for(N=0,i=0; i<Use.size(); i++) if(Use[i]) N++;
+         if(N < 4) return -3;
+
+            // define for computation
+         Vector<double> CRange(N),dX(4);
+         Matrix<double> P(N,4),PT,G(4,N),PG(N,N);
+         Xvt SV,RX;
+
+         Sol.resize(4);
+         Cov.resize(4,4);
+         Resid.resize(N);
+         Slope.resize(Use.size());
+
+            // define for algebraic solution
+         Vector<double> U(4),Q(N);
+         Matrix<double> A(P);
+            // and for linearized least squares
+         int niter_limit = (n_iterate<2 ? 2 : n_iterate);
+         double conv_limit = converge;
+
+            // prepare for iteration loop
+         Sol = 0.0;                                // initial guess: center of earth
+         n_iterate = 0;
+         converge = 0.0;
+
+            // iteration loop
+            // do at least twice (even for algebraic solution) so that
+            // trop model gets evaluated
+         do {
+               // current estimate of position solution
+            RX.x = ECEF(Sol(0),Sol(1),Sol(2));
+
+               // loop over satellites, computing partials matrix
+            for(n=0,i=0; i<Use.size(); i++) {
+                  // ignore marked satellites
+               if(!Use[i]) continue;
+
+                  // time of flight (sec)
+               if(n_iterate == 0)
+                  rho = 0.070;             // initial guess: 70ms
+               else
+                  rho = RSS(SVP(i,0)-Sol(0), SVP(i,1)-Sol(1), SVP(i,2)-Sol(2))
+                            / geoid.c();
+
+                  // correct for earth rotation
+               wt = geoid.angVelocity()*rho;             // radians
+               svxyz[0] =  ::cos(wt)*SVP(i,0) + ::sin(wt)*SVP(i,1);
+               svxyz[1] = -::sin(wt)*SVP(i,0) + ::cos(wt)*SVP(i,1);
+               svxyz[2] = SVP(i,2);
+
+                  // corrected pseudorange (m)
+               CRange(n) = SVP(i,3);
+
+                  // correct for troposphere (but not on the first iteration)
+               if(n_iterate > 0) {
+                  SV.x = ECEF(svxyz[0],svxyz[1],svxyz[2]);
+                  CRange(n) -= pTropModel->correction(RX,SV,T);
+               }
+
+                  // geometric range
+               rho = RSS(svxyz[0]-Sol(0),svxyz[1]-Sol(1),svxyz[2]-Sol(2));
+
+                  // partials matrix
+               P(n,0) = (Sol(0)-svxyz[0])/rho;           // x direction cosine
+               P(n,1) = (Sol(1)-svxyz[1])/rho;           // y direction cosine
+               P(n,2) = (Sol(2)-svxyz[2])/rho;           // z direction cosine
+               P(n,3) = 1.0;
+
+                  // data vector: corrected range residual
+               Resid(n) = CRange(n) - rho - Sol(3);
+
+                  // TD: allow weight matrix = measurement covariance
+               // P *= MCov;
+               // Resid *= MCov;
+
+                  // compute intermediate quantities for algebraic solution
+               if(Algebraic) {
+                  U(0) = A(n,0) = svxyz[0];
+                  U(1) = A(n,1) = svxyz[1];
+                  U(2) = A(n,2) = svxyz[2];
+                  U(3) = A(n,3) = CRange(n);
+                  Q(n) = 0.5 * Minkowski(U,U);
+               }
+
+               n++;        // n is number of good satellites - used for Slope
+            }  // end loop over satellites
+
+               // compute information matrix = inverse covariance matrix
+            PT = transpose(P);
+            Cov = PT * P;
+
+               // invert using SVD
+            //double big,small;
+            //condNum(PT*P,big,small);
+            //if(small < 1.e-15 || big/small > 1.e15) return -2;
+            try { Cov = inverseSVD(Cov); }
+            //try { Cov = inverseLUD(Cov); }
+            catch(SingularMatrixException& sme) {
+               return -2;
+            }
+
+
+               // generalized inverse
+            G = Cov * PT;
+            PG = P * G;                         // used for Slope
+
+            n_iterate++;                        // increment number iterations
+
+               // ----------------- algebraic solution -----------------------
+            if(Algebraic) {
+               iret = PRSolution::AlgebraicSolution(A,Q,Sol,Resid);
+               if(iret) return iret;                     // (singular)
+               if(n_iterate > 1) {                       // need 2, for trop
+                  iret = 0;
+                  break;
+               }
+            }
+               // ----------------- linearized least squares solution --------
+            else {
+               dX = G * Resid;
+               Sol += dX;
+                  // test for convergence
+               converge = norm(dX);
+                  // success: quit
+               if(n_iterate > 1 && converge < conv_limit) {
+                  iret = 0;
+                  break;
+               }
+                  // failure: quit
+               if(n_iterate >= niter_limit || converge > 1.e10) {
+                  iret = -1;
+                  break;
+               }
+            }
+               
+
+         } while(1);    // end iteration loop
+
+            // compute slopes
+         Slope = 0.0;
+         if(iret == 0) for(j=0,i=0; i<Use.size(); i++) {
+            if(!Use[i]) continue;
+            for(int k=0; k<4; k++) Slope(i) += G(k,j)*G(k,j);
+            Slope(i) = SQRT(Slope(i)*double(n-4)/(1.0-PG(j,j)));
+            j++;
+         }
+
+         return iret;
+
+      }
+      catch(Exception& e) {
+         GPSTK_RETHROW(e);
+      }
+      } // end PRSolution::AutonomousPRSolution
+
+} // namespace gpstk
diff --git a/trunk/src/PRSolution.hpp b/trunk/src/PRSolution.hpp
new file mode 100644
index 0000000..0002670
--- /dev/null
+++ b/trunk/src/PRSolution.hpp
@@ -0,0 +1,276 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/PRSolution.hpp#1 $"
+
+/**
+ * @file PRSolution.hpp
+ * Autonomous pseudorange navigation solution, including RAIM algorithm
+ */
+ 
+#ifndef PRS_POSITION_SOLUTION_HPP
+#define PRS_POSITION_SOLUTION_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <vector>
+#include <ostream>
+#include "icd_200_constants.hpp"
+#include "DayTime.hpp"
+#include "Matrix.hpp"
+#include "RinexObsHeader.hpp"
+#include "EphemerisStore.hpp"
+#include "TropModel.hpp"
+
+namespace gpstk
+{
+   /** @defgroup GPSsolutions GPS solution algorithms and Tropospheric models */
+   //@{
+ 
+   /** This class define an interface to routines which compute a position
+    * and time solution from pseudorange data, with a data editing algorithm
+    * based on Receiver Autonomous Integrity Monitoring (RAIM) concepts.
+    */
+   class PRSolution
+   {
+   public:
+         /// Constructor
+      PRSolution() throw() : Valid(false), Algebraic(false),
+         ResidualCriterion(true), RMSLimit(6.5), SlopeLimit(100.),
+         NSatsReject(-1), ReturnAtOnce(false), MaxNIterations(10),
+         ConvergenceLimit(3.e-7), Debug(false), pDebugStream(&std::cout) {};
+
+      /** Compute a position/time solution, given satellite PRNs and pseudoranges
+       *  using a RAIM algorithm.
+       * @param Tr          Measured time of reception of the data.
+       * @param Satellite   std::vector<RinexPrn> of satellites; on successful
+       *                    return, satellites that were excluded by the algorithm
+       *                    are marked by a negative 'prn' member.
+       * @param Pseudorange std::vector<double> of raw pseudoranges (parallel to
+       *                    Satellite), in meters; on successful return,
+       *                    contains residuals of fit (m) (for unmarked satellites).
+       * @param Eph         gpstk::EphemerisStore to be used in the algorithm.
+       *
+       * @return Return values:
+       *  2  solution is found, but it is not good (RMS residual exceed limits)
+       *  1  solution is found, but it is suspect (slope is large)
+       *  0  ok
+       * -1  algorithm failed to converge
+       * -2  singular problem, no solution is possible
+       * -3  not enough good data (> 4) to form a (RAIM) solution
+       *     (the 4 satellite solution might be returned - check isValid())
+       * -4  ephemeris is not found for one or more satellites
+       */
+      int RAIMCompute(const DayTime& Tr,
+                      std::vector<RinexPrn>& Satellite,
+                      std::vector<double>& Pseudorange,
+                      const EphemerisStore& Eph,
+                      TropModel *pTropModel)
+         throw(Exception);
+
+         /// Return the status of solution
+      bool isValid()
+         const throw() { return Valid; }
+
+      // input:
+
+      /// RMS limit - either residual of fit or distance (see ResidualCriterion).
+      double RMSLimit;
+
+      /// Slope limit.
+      double SlopeLimit;
+
+      /// Use an algebraic (if true) or linearized least squares (if false) algorithm.
+      bool Algebraic;
+
+      /** Use a rejection criterion based on RMS residual of fit (true)
+       * or RMS distance from an a priori position. If false, member Vector Solution
+       * must be defined as this a priori position when RAIMCompute() is called.
+       */
+      bool ResidualCriterion;
+
+      /** Return as soon as a solution meeting the limit requirements is found
+       * (this makes it a non-RAIM algorithm).
+       */
+      bool ReturnAtOnce;
+
+      /** Maximum number of satellites that may be rejected in the RAIM algorithm;
+       * if this = -1, as many as possible will be rejected (RAIM requires at least 5
+       * satellites). A (single) non-RAIM solution can be obtained by setting this
+       * to 0 before calling RAIMCompute().
+       */
+      int NSatsReject;
+
+      /// If true, RAIMCompute() will output solution information to *pDebugStream.
+      bool Debug;
+
+      /// Pointer to an ostream, default &std::cout; if Debug is true, RAIMCompute()
+      /// will print all preliminary solutions to this stream.
+      std::ostream *pDebugStream;
+
+      // TD optional: measurement covariance matrix
+
+      /// Maximum number of iterations allowed in the linearized least squares
+      /// algorithm.
+      int MaxNIterations;
+
+      /// Convergence limit (m): continue iteration loop while RSS change in
+      /// solution exceeds this.
+      double ConvergenceLimit;
+
+      // output:
+
+      /// flag: output content is valid.
+      bool Valid;
+
+      /** Vector<double> containing the computed position solution (ECEF, meter);
+       * valid only when isValid() is true.
+       */
+      Vector<double> Solution;
+
+      /** 4x4 Matrix<double> containing the computed solution covariance (meter);
+       * valid only when isValid() is true.
+       */
+      Matrix<double> Covariance;
+
+      /** Root mean square residual of fit (except when RMSDistanceFlag is set,
+       * then RMS distance from apriori 4-position); in meters.
+       */
+      double RMSResidual;
+
+      /** Slope computed in the RAIM algorithm (largest of all satellite values)
+       * for the returned solution, dimensionless ??.
+       */
+      double MaxSlope;
+
+      /// the actual number of iterations used (linearized least squares algorithm)
+      int NIterations;
+
+      /// the RSS change in solution at the end of iterations.
+      double Convergence;
+
+      /// the number of good satellites used in the final computation
+      int Nsvs;
+
+      /** Compute the satellite position / corrected range matrix (SVP) which is used
+       * by AutonomousPRSolution(). SVP is output, dimensioned (N,4) where N is the
+       * number of satellites and the length of both Satellite and Pseudorange.
+       * Data is ignored whenever Sats[i].prn is < 0. NB caller should verify that the
+       * number of good entries (Satellite[.] > 0) is > 4 before proceeding.
+       * @param Tr          Measured time of reception of the data.
+       * @param Sats        std::vector<RinexPrn> of satellites; satellites that are
+       *                    to be excluded by the algorithm are marked by a
+       *                    negative 'prn' member.
+       * @param Pseudorange std::vector<double> of raw pseudoranges (parallel to
+       *                    Satellite), in meters
+       * @param Eph         gpstk::EphemerisStore to be used in the algorithm.
+       * @param SVP         gpstk::Matrix<double> of dimension (N,4), N is the number
+       *                    of unmarked satellites in Sats[], on output this
+       *                    contains the satellite positions at transmit time, and
+       *                    the corrected pseudorange.
+       * @param pDebug      pointer to an ostream for debug output, NULL (the default)
+       *                    for no debug output.
+       * @return Return values:
+       *  0  ok
+       * -4  ephemeris not found for all the satellites
+       */
+      static int PrepareAutonomousSolution(const DayTime& Tr,
+                                           std::vector<RinexPrn>& Sats,
+                                           std::vector<double>& Pseudorange,
+                                           const EphemerisStore& Eph,
+                                           Matrix<double>& SVP,
+                                           std::ostream *pDebug=NULL)
+         throw();
+
+      /** Compute a single autonomous pseudorange solution.
+       * Input only:
+       * @param Tr          Measured time of reception of the data.
+       * @param Use         std::vector<bool> of length N, the number of satellites;
+       *                    false means do not include that sat. in the computation.
+       * @param SVP         Matrix<double> of dimension (N,4). This Matrix must have
+       *                    been computed by calling PrepareAutonomousPRSolution().
+       * @param Algebraic   bool flag indicating algorithm to use : algebraic (true)
+       *                    or linearized least squares (false).
+       * @param pTropModel  pointer to a gpstk::TropModel for use within the algorithm
+       *
+       *   Weight matrix TD...
+       *
+       * Input and output (for least squares only; ignored if Algebraic==true):
+       * @param n_iterate   integer limit on the number of iterations. On output,
+       *                    it is the number of iterations actually used.
+       * @param converge    double convergence criterion, = RSS change in solution,
+       *                    in meters. On output, it is the the final value.
+       *
+       * Output:  (these will be resized within the function)
+       * @param Sol         gpstk::Vector<double> solution (ECEF + time components;
+       *                    all in meters)
+       * @param Cov         gpstk::Matrix<double> 4X4 covariance matrix (meter*meter)
+       * @param Resid       gpstk::Vector<double> post-fit range residuals for each
+       *                    satellite (m), the length of this Vector is the number of
+       *                    satellites actually used (see Use).
+       * @param Slope       gpstk::Vector<double> slope value used in RAIM for each
+       *                    good satellite, length N
+       * @param pDebug      pointer to an ostream for debug output, NULL (the default)
+       *                    for no debug output.
+       * @return Return values:
+       *  0  ok
+       * -1  failed to converge
+       * -2  singular problem
+       * -3  not enough good data to form a solution (at least 4 satellites required)
+       * -4  ephemeris not found for one or more satellites
+       */
+      static int AutonomousPRSolution(const DayTime& Tr,
+                                      const std::vector<bool>& Use,
+                                      const Matrix<double> SVP,
+                                      TropModel *pTropModel,
+                                      const bool Algebraic,
+                                      int& n_iterate,
+                                      double& converge,
+                                      Vector<double>& Sol,
+                                      Matrix<double>& Cov,
+                                      Vector<double>& Resid,
+                                      Vector<double>& Slope,
+                                      std::ostream *pDebug=NULL)
+            throw(Exception);
+
+   private:
+
+      /** Matrix, dimensioned Nx4, where N data are input, containing satellite
+       * positions at transmit time (0,1,2) and raw pseudorange+clk+relativity (3).
+       */
+      Matrix<double> SVP;
+
+      /// Save the input solution (for use in rejection when ResidualCriterion is
+      /// false).
+      Vector<double> APrioriSolution;
+
+      /** Function used internally to handle the details of the Algebraic solution */
+      static int PRSolution::AlgebraicSolution(Matrix<double>& A,
+                                               Vector<double>& Q,
+                                               Vector<double>& X,
+                                               Vector<double>& R);
+
+   }; // end class PRSolution
+
+   //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/PolyFit.hpp b/trunk/src/PolyFit.hpp
new file mode 100644
index 0000000..7f95c24
--- /dev/null
+++ b/trunk/src/PolyFit.hpp
@@ -0,0 +1,262 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/PolyFit.hpp#3 $"
+
+/**
+ * @file PolyFit.hpp
+ * Least squares fit of a polynomial to data
+ */
+ 
+#ifndef GPSTK_POLYFIT_HPP
+#define GPSTK_POLYFIT_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Matrix.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup math */
+   //@{
+
+/**
+ * Compute a polynomial fit of the form sum[X(i)*t**i] = d, that is solve for
+ * coefficients X given a set of pairs (t,d). The dimension of X is n, the
+ * degree of the polynomial.
+ * @code
+ * unsigned int n=4;
+ * double dat[17]={...}, times[17]={...};
+ * PolyFit<double> PF(n);
+ * for(int i=0; i<17; i++)
+ *    PF.Add(dat[i],times[i]);
+ * 
+ * d(m);
+ * cout << d.U << endl << d.V << endl << d.S << endl;
+ * @endcode
+ */
+   template <class T>
+   class PolyFit
+   {
+   public:
+         /// Empty constructor
+      PolyFit() : n_(0), Inverted(false), Singular(true), Npts(0) {}
+
+         /// Constructor given an initial size.
+      PolyFit(unsigned int n) : n_(n), Inverted(false), Singular(true), Npts(0)
+      {
+         InfData.resize(n_,T(0));
+         X.resize(n_);
+         InfMatrix.resize(n_,n_,T(0));
+         Cov.resize(n_,n_);
+      }
+
+         /** Reset the estimation, i.e. restart with new data, with new dimension.
+          * Default dimension is 0, meaning do not change dimension.
+          */
+      void Reset(unsigned int n=0)
+      {
+         if(n != 0 && n_ != n) {
+            InfData.resize(n,T(0));
+            X.resize(n);
+            InfMatrix.resize(n,n,T(0));
+            Cov.resize(n,n);
+            n_ = n;
+         }
+         Npts = 0;
+         InfData = T(0);
+         X = T(0);
+         InfMatrix = T(0);
+         Cov = T(0);
+         Singular = true;
+         Inverted = false;
+      }
+
+         /// Add a single (optional: weighted) datum to the estimation.
+      void Add(T d, T t, T w=T(1))
+      {
+         //             n_-1
+         // Equation is sum[t^i * X(i)] = d     OR    P * X = d
+         //             i=0                          1xn_ n_  1
+         Vector<T> P(n_);
+         T tt=T(1);
+         for(size_t i=0; i<n_; i++) { P(i)=tt; tt *= t; }
+         Npts++;
+         Matrix<T> PP;
+         PP = outer(P,P);
+         PP *= w;
+         InfMatrix += PP;
+         P *= d*w;
+         InfData += P;
+         Inverted = false;
+      }
+
+         /// Add a gpstk::Vector of data to the estimation.
+      void Add(const Vector<T>& d, const Vector<T>& t)
+      {
+         size_t m=d.size();
+         if(t.size() < m) m=t.size();
+
+         Matrix<T> P(m,n_);
+         Vector<T> D(d);
+         D.resize(m);
+
+         for(size_t j=0; j<m; j++) {
+            T tt=T(1);
+            for(size_t i=0; i<n_; i++) { P(j,i)=tt; tt *= t(j); }
+         }
+         Npts += m;
+         Matrix<T> PTP,PT;
+         PT = transpose(P);
+         PTP = PT*P;
+         InfMatrix += PTP;
+         InfData += PT*D;
+         Inverted = false;
+      }
+
+         /// Add a std::vector of data to the estimation.
+      void Add(const std::vector<T>& d, const std::vector<T>& t)
+      {
+         size_t m=d.size();
+         if(t.size() < m) m=t.size();
+
+         Matrix<T> P(m,n_);
+         Vector<T> D;
+         D.resize(m);
+         for(int i=0; i<m; i++) D(i)=d[i];
+
+         for(size_t j=0; j<m; j++) {
+            T tt=T(1);
+            for(size_t i=0; i<n_; i++) { P(j,i)=tt; tt *= t[j]; }
+         }
+         Npts += m;
+         Matrix<T> PTP,PT;
+         PT = transpose(P);
+         PTP = PT*P;
+         InfMatrix += PTP;
+         InfData += PT*D;
+         Inverted = false;
+      }
+
+         /// Evaluate the polynomial at the given time; singular problems return zero.
+      T Evaluate(T t)
+      {
+         if(n_ <= 0) { Singular=true; return T(0); }
+         Solve();
+         if(Singular) return T(0);
+
+         T d,tn;
+         d = X(0);
+         tn = t;
+         for(size_t i=1; i<X.size(); i++) {
+            d += X(i)*tn;
+            tn *= t;
+         }
+         return d;
+      }
+
+         /// Evaluate the polynomial at a Vector of times;
+         /// singular problems return an empty vector.
+      Vector<T> Evaluate(const Vector<T>& Vt)
+      {
+         Vector<T> R;
+         if(n_ <= 0) { Singular=true; return R; }
+         Solve();
+         if(Singular) return R;
+
+         T tn;
+         R = Vector<T>(Vt.size());
+         for(size_t j=0; j<Vt.size(); j++) {
+            R(j) = X(0);
+            tn = Vt(j);
+            for(size_t i=1; i<X.size(); i++) {
+               R(j) += X(i)*tn;
+               tn *= Vt(j);
+            }
+         }
+         return R;
+      }
+
+         /// is the problem singular?
+      inline bool isSingular(void) { Solve(); return Singular; }
+         /// get the solution vector (coefficients)
+      inline Vector<T> Solution(void) { Solve(); return X; }
+         /// get the covariance matrix
+      inline Matrix<T> Covariance(void) { Solve(); return Cov; }
+         /// get the degree of the polynomial
+      inline unsigned int Degree(void) const { return n_; }
+         /// get the number of data points processed
+      inline unsigned int N(void) const { return Npts; }
+
+   private:
+         /// Invert the equation
+      inline void Solve(void)
+      {
+         if(Inverted) return;
+         try { Cov=inverse(InfMatrix); }
+         catch (gpstk::Exception& e) { Singular=true; return; }
+         Singular = false;
+         X = Cov * InfData;
+         Inverted = true;
+      }
+
+         /// degree of polynomial to be fit (dimension of state).
+      unsigned int n_;
+         /// number of data points added to the estimation so far.
+      unsigned int Npts;
+         /// information matrix = inverse(Cov) = sum[transpose(P)*P], P=partials.
+      Matrix<T> InfMatrix;
+         /// information data = inverse(Cov)*X = sum[transpose(P)*data].
+      Vector<T> InfData;
+         /// flag indicating problem has been inverted.
+      bool Inverted;
+         /// flag indicating problem is singular.
+      bool Singular;
+         /// State vector (array of polynomial coefficients) of size n_.
+      Vector<T> X;
+         /// Covariance matrix
+      Matrix<T> Cov;
+
+   }; // end class PolyFit
+
+   //@}
+
+}  // namespace gpstk
+
+#endif
diff --git a/trunk/src/Position.cpp b/trunk/src/Position.cpp
new file mode 100644
index 0000000..7988ad7
--- /dev/null
+++ b/trunk/src/Position.cpp
@@ -0,0 +1,1432 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Position.cpp#7 $"
+
+/**
+ * @file Position.cpp
+ * class gpstk::Position encapsulates 3-D positions, both geographic positions,
+ *    expressed as geodetic (with respect to any geoid), geocentric or
+ *    Earth-centered, Earth-fixed (cartesian) coordinates, as well as ordinary
+ *    positions defined by spherical or cartesian coordinates. Position inherits
+ *    from class Triple.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "Position.hpp"
+#include "WGS84Geoid.hpp"
+#include "icd_200_constants.hpp"    // for TWO_PI, etc
+#include "geometry.hpp"             // for RAD_TO_DEG, etc
+#include "MiscMath.hpp"             // for RSS, SQRT
+
+namespace gpstk
+{
+
+   using namespace std;
+   using namespace StringUtils;
+
+   // ----------- Part  1: coordinate systems --------------------------------
+      // Labels for coordinate systems supported by Position
+   static const char *SystemNames[] = {
+      "Unknown",
+      "Geodetic",
+      "Geocentric",
+      "Cartesian",
+      "Spherical"};
+
+      // return string giving name of coordinate system
+   string Position::getSystemName()
+      throw()
+   { return SystemNames[system]; }
+  
+   // ----------- Part  2: tolerance -----------------------------------------
+      // One millimeter tolerance.
+   const double Position::ONE_MM_TOLERANCE = 0.001;
+      // One centimeter tolerance.
+   const double Position::ONE_CM_TOLERANCE = 0.01;
+      // One micron tolerance.
+   const double Position::ONE_UM_TOLERANCE = 0.000001;
+   
+      // Default tolerance for time equality in meters.
+   double Position::POSITION_TOLERANCE = Position::ONE_MM_TOLERANCE;
+
+      // Sets the tolerance for output and comparisons, for this object only.
+      // See the constants in this file (e.g. ONE_MM_TOLERANCE)
+      // for some easy to use tolerance values.
+      // @param tol Tolerance in meters to be used by comparison operators.
+   Position& Position::setTolerance(const double tol)
+      throw()
+   {
+      tolerance = tol;
+      return *this;
+   }
+
+   // ----------- Part  3: member functions: constructors --------------------
+   //
+      // Default constructor.
+   Position::Position()
+      throw()
+   {
+      WGS84Geoid WGS84;
+      initialize(0.0,0.0,0.0,Unknown,&WGS84);
+   }
+
+   Position::Position(const double& a,
+                      const double& b,
+                      const double& c,
+                      Position::CoordinateSystem s,
+                      GeoidModel *geoid)
+      throw(GeometryException)
+   {
+      try {
+         initialize(a,b,c,s,geoid);
+      }
+      catch(GeometryException& ge) {
+         GPSTK_RETHROW(ge);
+      }
+   }
+
+   Position::Position(const double ABC[3],
+                      CoordinateSystem s,
+                      GeoidModel *geoid)
+      throw(GeometryException)
+   {
+      double a=ABC[0];
+      double b=ABC[1];
+      double c=ABC[2];
+      try {
+         initialize(a,b,c,s,geoid);
+      }
+      catch(GeometryException& ge) {
+         GPSTK_RETHROW(ge);
+      }
+   }
+
+   Position::Position(const Triple& ABC,
+                      CoordinateSystem s,
+                      GeoidModel *geoid)
+      throw(GeometryException)
+   {
+      double a=ABC[0];
+      double b=ABC[1];
+      double c=ABC[2];
+      try {
+         initialize(a,b,c,s,geoid);
+      }
+      catch(GeometryException& ge) {
+         GPSTK_RETHROW(ge);
+      }
+   }
+
+   Position::Position(const Xvt& xvt)
+      throw()
+   {
+      double a=xvt.x[0];
+      double b=xvt.x[1];
+      double c=xvt.x[2];
+      initialize(a,b,c,Cartesian);
+   }
+
+   // ----------- Part  4: member functions: arithmetic ----------------------
+   //
+   Position& Position::operator-=(const Position& right)
+      throw()
+   {
+      Position r(right);
+      CoordinateSystem savesys=system;    // save the original system
+
+         // convert to cartestian and difference there
+      transformTo(Cartesian);
+      r.transformTo(Cartesian);
+
+      for(int i=0; i<3; i++)
+         theArray[i] -= r.theArray[i];
+
+      transformTo(savesys);               // transform back to the original system
+      return *this;
+   }
+
+   Position& Position::operator+=(const Position& right)
+      throw()
+   {
+      Position r(right);
+      CoordinateSystem savesys=system;    // save the original system
+
+         // convert to cartestian and difference there
+      transformTo(Cartesian);
+      r.transformTo(Cartesian);
+
+      for(int i=0; i<3; i++)
+         theArray[i] += r.theArray[i];
+
+      transformTo(savesys);               // transform back to the original system
+      return *this;
+   }
+
+   Position operator-(const Position& left,
+                            const Position& right)
+      throw()
+   {
+      Position l(left),r(right);
+         // convert both to Cartesian
+      l.transformTo(Position::Cartesian);
+      r.transformTo(Position::Cartesian);
+         // difference
+      l -= r;
+
+      return l;
+   }
+
+   Position operator+(const Position& left,
+                            const Position& right)
+      throw()
+   {
+      Position l(left),r(right);
+         // convert both to Cartesian
+      l.transformTo(Position::Cartesian);
+      r.transformTo(Position::Cartesian);
+         // add
+      l += r;
+
+      return l;
+   }
+
+   // ----------- Part  5: member functions: comparisons ---------------------
+   //
+      // Equality operator. Returns false if geoid values differ.
+   bool Position::operator==(const Position &right) const
+      throw()
+   {
+      if(AEarth != right.AEarth || eccSquared != right.eccSquared)
+         return false;
+      if(range(*this,right) < tolerance)
+         return true;
+      else
+         return false;
+   }
+
+      // Inequality operator. Returns true if geoid values differ.
+   bool Position::operator!=(const Position &right) const
+      throw()
+   {
+      return !(operator==(right));
+   }
+
+   // ----------- Part  6: member functions: coordinate transformations ------
+   //
+      // Transform coordinate system. Does nothing if sys already matches the
+      // current value of member CoordinateSystem 'system'.
+      // @param sys coordinate system into which *this is to be transformed.
+      // @return *this
+   Position Position::transformTo(CoordinateSystem sys)
+      throw()
+   {
+      if(sys == Unknown || sys == system) return *this;
+
+      // this copies geoid information and tolerance
+      Position target(*this);
+
+      // transform target.theArray and set target.system
+      switch(system) {
+         case Unknown:
+            return *this;
+         case Geodetic:
+            // --------------- Geodetic to ... ------------------------
+            switch(sys) {
+               case Unknown: case Geodetic: return *this;
+               case Geocentric:
+                  convertGeodeticToGeocentric(*this,target,AEarth,eccSquared);
+                  target.system = Geocentric;
+                  break;
+               case Cartesian:
+                  convertGeodeticToCartesian(*this,target,AEarth,eccSquared);
+                  target.system = Cartesian;
+                  break;
+               case Spherical:
+                  convertGeodeticToGeocentric(*this,target,AEarth,eccSquared);
+                  target.theArray[0] = 90 - target.theArray[0];   // geocen -> sph
+                  target.system = Spherical;
+                  break;
+            }
+            break;
+         case Geocentric:
+            // --------------- Geocentric to ... ----------------------
+            switch(sys) {
+               case Unknown: case Geocentric: return *this;
+               case Geodetic:
+                  convertGeocentricToGeodetic(*this,target,AEarth,eccSquared);
+                  target.system = Geodetic;
+                  break;
+               case Cartesian:
+                  convertGeocentricToCartesian(*this,target);
+                  target.system = Cartesian;
+                  break;
+               case Spherical:
+                  target.theArray[0] = 90 - target.theArray[0];   // geocen -> sph
+                  target.system = Spherical;
+                  break;
+            }
+            break;
+         case Cartesian:
+            // --------------- Cartesian to ... -----------------------
+            switch(sys) {
+               case Unknown: case Cartesian: return *this;
+               case Geodetic:
+                  convertCartesianToGeodetic(*this,target,AEarth,eccSquared);
+                  target.system = Geodetic;
+                  break;
+               case Geocentric:
+                  convertCartesianToGeocentric(*this,target);
+                  target.system = Geocentric;
+                  break;
+               case Spherical:
+                  convertCartesianToSpherical(*this,target);
+                  target.system = Spherical;
+                  break;
+            }
+            break;
+         case Spherical:
+            // --------------- Spherical to ... -----------------------
+            switch(sys) {
+               case Unknown: case Spherical: return *this;
+               case Geodetic:
+                  theArray[0] = 90 - theArray[0];   // sph -> geocen
+                  convertGeocentricToGeodetic(*this,target,AEarth,eccSquared);
+                  target.system = Geodetic;
+                  break;
+               case Geocentric:
+                  target.theArray[0] = 90 - target.theArray[0];   // sph -> geocen
+                  target.system = Geocentric;
+                  break;
+               case Cartesian:
+                  convertSphericalToCartesian(*this,target);
+                  target.system = Cartesian;
+                  break;
+            }
+            break;
+      }  // end switch(system)
+
+      *this = target;
+      return *this;
+   }
+  
+   // ----------- Part  7: member functions: get -----------------------------
+   // 
+   // These routines retrieve coordinate values in all coordinate systems.
+   // Note that calling these will transform the Position to another coordinate
+   // system if that is required.
+   //
+      // Get X coordinate (meters)
+   double Position::X() const
+      throw()
+   {
+      if(system == Cartesian)
+         return theArray[0];
+      Position t(*this);
+      t.transformTo(Cartesian);
+      return t.theArray[0];
+   }
+
+      // Get Y coordinate (meters)
+   double Position::Y() const
+      throw()
+   {
+      if(system == Cartesian)
+         return theArray[1];
+      Position t(*this);
+      t.transformTo(Cartesian);
+      return t.theArray[1];
+   }
+
+      // Get Z coordinate (meters)
+   double Position::Z() const
+      throw()
+   {
+      if(system == Cartesian)
+         return theArray[2];
+      Position t(*this);
+      t.transformTo(Cartesian);
+      return t.theArray[2];
+   }
+
+      // Get geodetic latitude (degrees North).
+   double Position::geodeticLatitude() const
+      throw()
+   {
+      if(system == Geodetic)
+         return theArray[0];
+      Position t(*this);
+      t.transformTo(Geodetic);
+      return t.theArray[0];
+   }
+
+      // Get geocentric latitude (degrees North),
+      // equal to 90 degress - theta in regular spherical coordinates.
+   double Position::geocentricLatitude() const
+      throw()
+   {
+      if(system == Geocentric)
+         return theArray[0];
+      Position t(*this);
+      t.transformTo(Geocentric);
+      return t.theArray[0];
+   }
+
+      // Get spherical coordinate theta in degrees
+   double Position::theta() const
+      throw()
+   {
+      if(system == Spherical)
+         return theArray[0];
+      Position t(*this);
+      t.transformTo(Spherical);
+      return t.theArray[0];
+   }
+
+      // Get spherical coordinate phi in degrees
+   double Position::phi() const
+      throw()
+   {
+      if(system == Spherical)
+         return theArray[1];
+      Position t(*this);
+      t.transformTo(Spherical);
+      return t.theArray[1];
+   }
+
+      // Get longitude (degrees East),
+      // equal to phi in regular spherical coordinates.
+   double Position::longitude() const
+      throw()
+   {
+      if(system != Cartesian)
+         return theArray[1];
+      Position t(*this);
+      t.transformTo(Spherical);
+      return t.theArray[1];
+   }
+
+      // Get radius or distance from the center of Earth (meters),
+      // Same as radius in spherical coordinates.
+   double Position::radius() const
+      throw()
+   {
+      if(system == Spherical || system == Geocentric)
+         return theArray[2];
+      Position t(*this);
+      t.transformTo(Spherical);
+      return t.theArray[2];
+   }
+
+      // Get height above ellipsoid (meters) (Geodetic).
+   double Position::height() const
+      throw()
+   {
+      if(system == Geodetic)
+         return theArray[2];
+      Position t(*this);
+      t.transformTo(Geodetic);
+      return t.theArray[2];
+   }
+
+   // ----------- Part  8: member functions: set -----------------------------
+   //
+      // Set the geoid values for this Position given a geoid.
+      // @param geoid Pointer to the GeoidModel.
+      // @throw GeometryException if input is NULL.
+   void Position::setGeoidModel(const GeoidModel *geoid)
+      throw(GeometryException)
+   {
+      if(!geoid)
+      {
+         GeometryException ge("Given GeoidModel pointer is NULL.");
+         GPSTK_THROW(ge);
+      }
+      AEarth = geoid->a();
+      eccSquared = geoid->eccSquared();
+   }
+
+      // Set the Position given geodetic coordinates, system is set to Geodetic.
+      // @param lat geodetic latitude in degrees North
+      // @param lon geodetic longitude in degrees East
+      // @param ht height above the ellipsoid in meters
+      // @return a reference to this object.
+      // @throw GeometryException on invalid input
+   Position& Position::setGeodetic(const double lat,
+                                   const double lon,
+                                   const double ht,
+                                   const GeoidModel *geoid)
+      throw(GeometryException)
+   {
+      if(lat > 90 || lat < -90)
+      {
+         GeometryException ge("Invalid latitude in setGeodetic: "
+                                 + StringUtils::asString(lat));
+         GPSTK_THROW(ge);
+      }
+      theArray[0] = lat;
+
+      theArray[1] = lon;
+      if(theArray[1] < 0)
+         theArray[1] += 360*(1+(unsigned long)(theArray[1]/360));
+      else if(theArray[1] >= 360)
+         theArray[1] -= 360*(unsigned long)(theArray[1]/360);
+
+      theArray[2] = ht;
+
+      if(geoid) {
+         AEarth = geoid->a();
+         eccSquared = geoid->eccSquared();
+      }
+      system = Geodetic;
+
+      return *this;
+   }
+
+      // Set the Position given geocentric coordinates, system is set to Geocentric
+      // @param lat geocentric latitude in degrees North
+      // @param lon geocentric longitude in degrees East
+      // @param rad radius from the Earth's center in meters
+      // @return a reference to this object.
+      // @throw GeometryException on invalid input
+   Position& Position::setGeocentric(const double lat,
+                                     const double lon,
+                                     const double rad)
+      throw(GeometryException)
+   {
+      if(lat > 90 || lat < -90)
+      {
+         GeometryException ge("Invalid latitude in setGeocentric: "
+                                 + StringUtils::asString(lat));
+         GPSTK_THROW(ge);
+      }
+      if(rad < 0)
+      {
+         GeometryException ge("Invalid radius in setGeocentric: "
+                                          + StringUtils::asString(rad));
+         GPSTK_THROW(ge);
+      }
+      theArray[0] = lat;
+      theArray[1] = lon;
+      theArray[2] = rad;
+
+      if(theArray[1] < 0)
+         theArray[1] += 360*(1+(unsigned long)(theArray[1]/360));
+      else if(theArray[1] >= 360)
+         theArray[1] -= 360*(unsigned long)(theArray[1]/360);
+      system = Geocentric;
+
+      return *this;
+   }
+
+      // Set the Position given spherical coordinates, system is set to Spherical
+      // @param theta angle from the Z-axis (degrees)
+      // @param phi angle from the X-axis in the XY plane (degrees)
+      // @param rad radius from the center in meters
+      // @return a reference to this object.
+      // @throw GeometryException on invalid input
+   Position& Position::setSpherical(const double theta,
+                                    const double phi,
+                                    const double rad)
+      throw(GeometryException)
+   {
+      if(theta < 0 || theta > 180)
+      {
+         GeometryException ge("Invalid theta in setSpherical: "
+                                 + StringUtils::asString(theta));
+         GPSTK_THROW(ge);
+      }
+      if(rad < 0)
+      {
+         GeometryException ge("Invalid radius in setSpherical: "
+                                          + StringUtils::asString(rad));
+         GPSTK_THROW(ge);
+      }
+
+      theArray[0] = theta;
+      theArray[1] = phi;
+      theArray[2] = rad;
+
+      if(theArray[1] < 0)
+         theArray[1] += 360*(1+(unsigned long)(theArray[1]/360));
+      else if(theArray[1] >= 360)
+         theArray[1] -= 360*(unsigned long)(theArray[1]/360);
+      system = Spherical;
+
+      return *this;
+   }
+
+      // Set the Position given ECEF coordinates, system is set to Cartesian.
+      // @param X ECEF X coordinate in meters.
+      // @param Y ECEF Y coordinate in meters.
+      // @param Z ECEF Z coordinate in meters.
+      // @return a reference to this object.
+   Position& Position::setECEF(const double X,
+                               const double Y,
+                               const double Z)
+      throw()
+   {
+      theArray[0] = X;
+      theArray[1] = Y;
+      theArray[2] = Z;
+      system = Cartesian;
+      return *this;
+   }
+
+   // ----------- Part 9: member functions: setToString, printf -------------
+   //
+      // setToString, similar to scanf, this function takes a string and a
+      // format describing string in order to define Position
+      // values.  The parameters it can take are listed below and
+      // described above with the printf() function.
+      //
+      // The specification must be sufficient to define a Position.
+      // The following table lists combinations that give valid
+      // Positions. Anything more or other combinations will give
+      // unknown (read as: "bad") results so don't try it.  Anything
+      // less will throw an exception.
+      //
+      // @code
+      //  %X %Y %Z  (cartesian or ECEF)
+      //  %x %y %z  (cartesian or ECEF)
+      //  %a %l %r  (geocentric)
+      //  %A %L %h  (geodetic)
+      //  %t %p %r  (spherical)
+      // @endcode
+      //
+      // So
+      // @code
+      // pos.setToString("123.4342,9328.1982,-128987.399", "%X,%Y,%Z");
+      // @endcode
+      //
+      // works but 
+      //
+      // @code
+      // pos.setToString("123.4342,9328.1982", "%X,%Y");
+      // @endcode
+      // doesn't work (incomplete specification because it doesn't specify
+      // a Position).
+      //
+      // Whitespace is unimportant here, the function will handle it.
+      // The caller must ensure that that the extra characters in
+      // the format string (ie '.' ',') are in the same relative
+      // location as they are in the actual string, see the example above.
+      //
+      // @param str string from which to get the Position coordinates
+      // @param fmt format to use to parse \c str.
+      // @throw GeometryException if \c fmt is an incomplete or invalid specification
+      // @throw FormatException if unable to scan \c str.
+      // @throw StringException if an error occurs manipulating the
+      // \c str or \c fmt strings.
+      // @return a reference to this object.
+   Position& Position::setToString(const std::string& str,
+                                   const std::string& fmt)
+      throw(GeometryException,
+            DayTime::FormatException,
+            StringUtils::StringException)
+   {
+      try {
+            // make an object to return (so we don't fiddle with *this 
+            // until it's necessary)
+         Position toReturn;
+         
+            // flags indicated these defined
+         bool hX=false, hY=false, hZ=false;
+         bool hglat=false, hlon=false, hht=false;
+         bool hclat=false, hrad=false;
+         bool htheta=false, hphi=false;
+            // store input values
+         double x,y,z,glat,lon,ht,clat,rad,theta,phi;
+            // copy format and input string to parse
+         string f = fmt;
+         string s = str;
+         
+            // parse strings...  As we process each part, it's removed from both
+            // strings so when we reach 0, we're done
+         while ( (s.size() > 0) && (f.size() > 0) )
+         {
+               // remove everything in f and s up to the first % in f
+               // (these parts of the strings must be identical or this will break
+               // after it tries to remove it!)
+            while ( (s.length() != 0) && (f.length() != 0) && (f[0] != '%') )
+            {
+                  // remove that character now and other whitespace
+               s.erase(0,1);
+               f.erase(0,1);
+               stripLeading(s);
+               stripLeading(f);
+            }
+            
+               // check just in case we hit the end of either string...
+            if ( (s.length() == 0) || (f.length() == 0) )
+               break;
+            
+               // lose the '%' in f...
+            f.erase(0,1);
+            
+               // if the format string is like %03f, get '3' as the field
+               // length.
+            string::size_type fieldLength = string::npos;
+            
+            if (!isalpha(f[0]))
+            {
+               fieldLength = asInt(f);
+               
+                  // remove everything else up to the next character
+                  // (in "%03f", that would be 'f')
+               while ((!f.empty()) && (!isalpha(f[0])))
+                  f.erase(0,1);
+               if (f.empty())
+                  break;
+            }
+            
+               // finally, get the character that should end this field, if any
+            char delimiter = 0;
+            if (f.size() > 1)
+            {
+               if (f[1] != '%')
+               {
+                  delimiter = f[1];
+                  
+                  if (fieldLength == string::npos)
+                     fieldLength = s.find(delimiter,0);
+               }
+                  // if the there is no delimiter character and the next field
+                  // is another part of the time to parse, assume the length
+                  // of this field is 1
+               else if (fieldLength == string::npos)
+               {
+                  fieldLength = 1;
+               }
+            }
+            
+               // figure out the next string to be removed.  if there is a field
+               // length, use that first
+            string toBeRemoved = s.substr(0, fieldLength);
+            
+               // based on char at f[0], we know what to do...
+            switch (f[0]) 
+            {
+          //%x   X() (meters)
+          //%y   Y() (meters)
+          //%z   Z() (meters)
+          //%X   X()/1000 (kilometers)
+          //%Y   Y()/1000 (kilometers)
+          //%Z   Z()/1000 (kilometers)
+               case 'X':
+                  x = asDouble(toBeRemoved) * 1000;
+                  hX = true;
+                  break;
+               case 'x':
+                  x = asDouble(toBeRemoved);
+                  hX = true;
+                  break;
+               case 'Y':
+                  y = asDouble(toBeRemoved) * 1000;
+                  hY = true;
+                  break;
+               case 'y':
+                  y = asDouble(toBeRemoved);
+                  hY = true;
+                  break;
+               case 'Z':
+                  z = asDouble(toBeRemoved) * 1000;
+                  hZ = true;
+                  break;
+               case 'z':
+                  z = asDouble(toBeRemoved);
+                  hZ = true;
+                  break;
+          //%A   geodeticLatitude() (degrees North)
+          //%a   geocentricLatitude() (degrees North)
+               case 'A':
+                  glat = asDouble(toBeRemoved);
+                  if(glat > 90. || glat < -90.) {
+                     DayTime::FormatException f(
+                           "Invalid geodetic latitude for setTostring: "
+                           + toBeRemoved);
+                     GPSTK_THROW(f);
+                  }
+                  hglat = true;
+                  break;
+               case 'a':
+                  clat = asDouble(toBeRemoved);
+                  if(clat > 90. || clat < -90.) {
+                     DayTime::FormatException f(
+                           "Invalid geocentric latitude for setTostring: "
+                           + toBeRemoved);
+                     GPSTK_THROW(f);
+                  }
+                  hclat = true;
+                  break;
+          //%L   longitude() (degrees East)
+          //%l   longitude() (degrees East)
+          //%w   longitude() (degrees West)
+          //%W   longitude() (degrees West)
+               case 'L':
+               case 'l':
+                  lon = asDouble(toBeRemoved);
+                  if(lon < 0)
+                     lon += 360*(1+(unsigned long)(lon/360));
+                  else if(lon >= 360)
+                     lon -= 360*(unsigned long)(lon/360);
+                  hlon = true;
+                  break;
+               case 'w':
+               case 'W':
+                  lon = 360.0 - asDouble(toBeRemoved);
+                  if(lon < 0)
+                     lon += 360*(1+(unsigned long)(lon/360));
+                  else if(lon >= 360)
+                     lon -= 360*(unsigned long)(lon/360);
+                  hlon = true;
+                  break;
+          //%t   theta() (degrees)
+          //%T   theta() (radians)
+               case 't':
+                  theta = asDouble(toBeRemoved);
+                  if(theta > 180. || theta < 0.) {
+                     DayTime::FormatException f("Invalid theta for setTostring: "
+                                                + toBeRemoved);
+                     GPSTK_THROW(f);
+                  }
+                  htheta = true;
+                  break;
+               case 'T':
+                  theta = asDouble(toBeRemoved) * RAD_TO_DEG;
+                  if(theta > 90. || theta < -90.) {
+                     DayTime::FormatException f("Invalid theta for setTostring: "
+                                                + toBeRemoved);
+                     GPSTK_THROW(f);
+                  }
+                  htheta = true;
+                  break;
+          //%p   phi() (degrees)
+          //%P   phi() (radians)
+               case 'p':
+                  phi = asDouble(toBeRemoved);
+                  if(phi < 0)
+                     phi += 360*(1+(unsigned long)(phi/360));
+                  else if(phi >= 360)
+                     phi -= 360*(unsigned long)(phi/360);
+                  hphi = true;
+                  break;
+               case 'P':
+                  phi = asDouble(toBeRemoved) * RAD_TO_DEG;
+                  if(phi < 0)
+                     phi += 360*(1+(unsigned long)(phi/360));
+                  else if(phi >= 360)
+                     phi -= 360*(unsigned long)(phi/360);
+                  hphi = true;
+                  break;
+          //%r   radius() meters
+          //%R   radius()/1000 kilometers
+          //%h   height() meters
+          //%H   height()/1000 kilometers
+               case 'r':
+                  rad = asDouble(toBeRemoved);
+                  if(rad < 0.0) {
+                     DayTime::FormatException f("Invalid radius for setTostring: "
+                                                + toBeRemoved);
+                     GPSTK_THROW(f);
+                  }
+                  hrad = true;
+                  break;
+               case 'R':
+                  rad = asDouble(toBeRemoved) * 1000;
+                  if(rad < 0.0) {
+                     DayTime::FormatException f("Invalid radius for setTostring: "
+                                                + toBeRemoved);
+                     GPSTK_THROW(f);
+                  }
+                  hrad = true;
+                  break;
+               case 'h':
+                  ht = asDouble(toBeRemoved);
+                  hht = true;
+                  break;
+               case 'H':
+                  ht = asDouble(toBeRemoved) * 1000;
+                  hht = true;
+                  break;
+               default: // do nothing
+                  break;
+            }
+               // remove the part of s that we processed
+            stripLeading(s,toBeRemoved,1);
+            
+               // remove the character we processed from f
+            f.erase(0,1);    
+            
+               // check for whitespace again...
+            stripLeading(f);
+            stripLeading(s);
+            
+         }
+         
+         if ( s.length() != 0  ) 
+         {
+               // throw an error - something didn't get processed in the strings
+            DayTime::FormatException fe(
+               "Processing error - parts of strings left unread - " + s);
+            GPSTK_THROW(fe);
+         }
+         
+         if (f.length() != 0)
+         {
+               // throw an error - something didn't get processed in the strings
+            DayTime::FormatException fe(
+               "Processing error - parts of strings left unread - " + f);
+            GPSTK_THROW(fe);
+         }
+         
+            // throw if the specification is incomplete
+         if ( !(hX && hY && hZ) && !(hglat && hlon && hht) &&
+              !(hclat && hlon && hrad) && !(htheta && hphi && hrad)) {
+            DayTime::FormatException fe("Incomplete specification for setToString");
+            GPSTK_THROW(fe);
+         }
+
+            // define the Position toReturn
+         if(hX && hY && hZ)
+            toReturn.setECEF(x,y,z);
+         else if(hglat && hlon && hht)
+            toReturn.setGeodetic(glat,lon,ht);
+         else if(hclat && hlon && hrad)
+            toReturn.setGeocentric(clat,lon,rad);
+         else if(htheta && hphi && hrad)
+            toReturn.setSpherical(theta,phi,rad);
+
+         *this = toReturn;
+         return *this;
+      }
+      catch(gpstk::Exception& exc)
+      {
+         GeometryException ge(exc);
+         ge.addText("Failed to convert string to Position");
+         GPSTK_THROW(ge);
+      }
+      catch(std::exception& exc)
+      {
+         GeometryException ge(exc.what());
+         ge.addText("Failed to convert string to Position");
+         GPSTK_THROW(ge);
+      }
+   }
+
+      // Format this Position into a string.
+      //
+      // Generate and return a string containing formatted
+      // Position coordinates, formatted by the specification \c fmt.
+      //
+      // \li \%x   X() (meters)
+      // \li \%y   Y() (meters)
+      // \li \%z   Z() (meters)
+      // \li \%X   X()/1000 (kilometers)
+      // \li \%Y   Y()/1000 (kilometers)
+      // \li \%Z   Z()/1000 (kilometers)
+      // \li \%A   geodeticLatitude() (degrees North)
+      // \li \%a   geocentricLatitude() (degrees North)
+      // \li \%L   longitude() (degrees East)
+      // \li \%l   longitude() (degrees East)
+      // \li \%w   longitude() (degrees West)
+      // \li \%W   longitude() (degrees West)
+      // \li \%t   theta() (degrees)
+      // \li \%T   theta() (radians)
+      // \li \%p   phi() (degrees)
+      // \li \%P   phi() (radians)
+      // \li \%r   radius() meters
+      // \li \%R   radius()/1000 kilometers
+      // \li \%h   height() meters
+      // \li \%H   height()/1000 kilometers
+      //
+      // @param fmt format to use for this time.
+      // @return a string containing this Position in the
+      // representation specified by \c fmt.
+   std::string Position::printf(const char *fmt) const
+      throw(StringUtils::StringException)
+   {
+      string rv = fmt;
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?x"),
+                          string("xf"), X());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?y"),
+                          string("yf"), Y());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?z"),
+                          string("zf"), Z());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?X"),
+                          string("Xf"), X()/1000);
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?Y"),
+                          string("Yf"), Y()/1000);
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?Z"),
+                          string("Zf"), Z()/1000);
+
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?A"),
+                          string("Af"), geodeticLatitude());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?a"),
+                          string("af"), geocentricLatitude());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?L"),
+                          string("Lf"), longitude());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?l"),
+                          string("lf"), longitude());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?w"),
+                          string("wf"), 360-longitude());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?W"),
+                          string("Wf"), 360-longitude());
+
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?t"),
+                          string("tf"), theta());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?T"),
+                          string("Tf"), theta()*DEG_TO_RAD);
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?p"),
+                          string("pf"), phi());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?P"),
+                          string("Pf"), phi()*DEG_TO_RAD);
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?r"),
+                          string("rf"), radius());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?R"),
+                          string("Rf"), radius()/1000);
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?h"),
+                          string("hf"), height());
+      rv = formattedPrint(rv, string("%[ 0-]?[[:digit:]]*(\\.[[:digit:]]+)?H"),
+                          string("Hf"), height()/1000);
+      return rv;
+   }
+
+      // Returns the string that operator<<() would print.
+   string Position::asString() const
+      throw(StringUtils::StringException)
+   {
+      ostringstream o;
+      o << *this;
+      return o.str();
+   }
+
+   // ----------- Part 10: functions: fundamental conversions ---------------
+   // 
+      // Fundamental conversion from spherical to cartesian coordinates.
+      // @param trp (input): theta, phi, radius
+      // @param xyz (output): X,Y,Z in units of radius
+      // Algorithm references: standard geometry.
+   void Position::convertSphericalToCartesian(const Triple& tpr,
+                                              Triple& xyz)
+      throw()
+   {
+      double st=sin(tpr[0]*DEG_TO_RAD);
+      xyz[0] = tpr[2]*st*cos(tpr[1]*DEG_TO_RAD);
+      xyz[1] = tpr[2]*st*sin(tpr[1]*DEG_TO_RAD);
+      xyz[2] = tpr[2]*cos(tpr[0]*DEG_TO_RAD);
+   }
+
+      // Fundamental routine to convert cartesian to spherical coordinates.
+      // @param xyz (input): X,Y,Z
+      // @param trp (output): theta, phi (deg), radius in units of input
+      // Algorithm references: standard geometry.
+   void Position::convertCartesianToSpherical(const Triple& xyz,
+                                              Triple& tpr)
+      throw()
+   {
+      tpr[2] = RSS(xyz[0],xyz[1],xyz[2]);
+      if(tpr[2] <= Position::POSITION_TOLERANCE/5)
+      {
+            // zero-length Cartesian vector
+         tpr[0] = 90;
+         tpr[1] = 0;
+         return;
+      }
+      tpr[0] = acos(xyz[2]/tpr[2]);
+      tpr[0] *= RAD_TO_DEG;
+      if(RSS(xyz[0],xyz[1]) < Position::POSITION_TOLERANCE/5) {       // pole
+         tpr[1] = 0;
+         return;
+      }
+      tpr[1] = atan2(xyz[1],xyz[0]);
+      tpr[1] *= RAD_TO_DEG;
+      if(tpr[1] < 0) tpr[1] += 360;
+   }
+
+      // Fundamental routine to convert cartesian (ECEF) to geodetic coordinates,
+      // (Geoid specified by semi-major axis and eccentricity squared).
+      // @param xyz (input): X,Y,Z in meters
+      // @param llh (output): geodetic lat(deg N), lon(deg E),
+      //                             height above ellipsoid (meters)
+      // @param A (input) Earth semi-major axis
+      // @param eccSq (input) square of Earth eccentricity
+      // Algorithm references: 
+   void Position::convertCartesianToGeodetic(const Triple& xyz,
+                                             Triple& llh,
+                                             const double A,
+                                             const double eccSq)
+      throw()
+   {
+      double p,slat,N,htold,latold;
+      p = SQRT(xyz[0]*xyz[0]+xyz[1]*xyz[1]);
+      if(p < Position::POSITION_TOLERANCE/5) {   // pole or origin
+         llh[0] = llh[1] = 0;
+         llh[2] = fabs(xyz[2]) - A;
+         return;
+      }
+      llh[0] = atan2(xyz[2], p*(1.0-eccSq));
+      llh[2] = 0;
+      for(int i=0; i<5; i++) {
+         slat = sin(llh[0]);
+         N = A / SQRT(1.0 - eccSq*slat*slat);
+         htold = llh[2];
+         llh[2] = p/cos(llh[0]) - N;
+         latold = llh[0];
+         llh[0] = atan2(xyz[2], p*(1.0-eccSq*(N/(N+llh[2]))));
+         if(fabs(llh[0]-latold) < 1.0e-9 && fabs(llh[2]-htold) < 1.0e-9 * A) break;
+      }
+      llh[1] = atan2(xyz[1],xyz[0]);
+      if(llh[1] < 0.0) llh[1] += TWO_PI;
+      llh[0] *= RAD_TO_DEG;
+      llh[1] *= RAD_TO_DEG;
+   }
+
+      // Fundamental routine to convert geodetic to cartesian (ECEF) coordinates,
+      // (Geoid specified by semi-major axis and eccentricity squared).
+      // @param llh (input): geodetic lat(deg N), lon(deg E),
+      //            height above ellipsoid (meters)
+      // @param xyz (output): X,Y,Z in meters
+      // @param A (input) Earth semi-major axis
+      // @param eccSq (input) square of Earth eccentricity
+      // Algorithm references: 
+   void Position::convertGeodeticToCartesian(const Triple& llh,
+                                             Triple& xyz,
+                                             const double A,
+                                             const double eccSq)
+      throw()
+   {
+      double slat = sin(llh[0]*DEG_TO_RAD);
+      double clat = cos(llh[0]*DEG_TO_RAD);
+      double N = A/SQRT(1.0-eccSq*slat*slat);
+      xyz[0] = (N+llh[2])*clat*cos(llh[1]*DEG_TO_RAD);
+      xyz[1] = (N+llh[2])*clat*sin(llh[1]*DEG_TO_RAD);
+      xyz[2] = (N*(1.0-eccSq)+llh[2])*slat;
+   }
+
+      // Fundamental routine to convert cartesian (ECEF) to geocentric coordinates.
+      // @param xyz (input): X,Y,Z in meters
+      // @param llr (output):
+      //            geocentric lat(deg N),lon(deg E),radius (units of input)
+   void Position::convertCartesianToGeocentric(const Triple& xyz,
+                                               Triple& llr)
+      throw()
+   {
+      convertCartesianToSpherical(xyz, llr);
+      llr[0] = 90 - llr[0];         // convert theta to latitude
+   }
+
+      // Fundamental routine to convert geocentric to cartesian (ECEF) coordinates.
+      // @param llr (input): geocentric lat(deg N),lon(deg E),radius
+      // @param xyz (output): X,Y,Z (units of radius)
+   void Position::convertGeocentricToCartesian(const Triple& llr,
+                                               Triple& xyz)
+      throw()
+   {
+      Triple llh(llr);
+      llh[0] = 90 - llh[0];         // convert latitude to theta
+      convertSphericalToCartesian(llh, xyz);
+   }
+
+      // Fundamental routine to convert geocentric to geodetic coordinates.
+      // @param llr (input): geocentric Triple: lat(deg N),lon(deg E),radius (meters)
+      // @param llh (output): geodetic latitude (deg N),
+      //            longitude (deg E), and height above ellipsoid (meters)
+      // @param A (input) Earth semi-major axis
+      // @param eccSq (input) square of Earth eccentricity
+   void Position::convertGeocentricToGeodetic(const Triple& llr,
+                                               Triple& llh,
+                                               const double A,
+                                               const double eccSq)
+      throw()
+   {
+      double cl,p,sl,slat,N,htold,latold;
+      cl = sin((90-llr[0])*DEG_TO_RAD);
+      sl = cos((90-llr[0])*DEG_TO_RAD);
+      if(llr[2] <= Position::POSITION_TOLERANCE/5) {
+         // radius is below tolerance, hence assign zero-length
+         // arbitrarily set latitude = longitude = 0
+         llh[0] = llh[1] = 0;
+         llh[2] = -A;
+         return;
+      }
+      else if(cl < 1.e-10) {
+         // near pole ... note that 1mm/radius(Earth) = 1.5e-10
+         if(llr[0] < 0) llh[0] = -90;
+         else           llh[0] =  90;
+         llh[1] = 0;
+         llh[2] = llr[2] - A*SQRT(1-eccSq);
+         return;
+      }
+      llh[0] = atan2(sl, cl*(1.0-eccSq));
+      p = cl*llr[2];
+      llh[2] = 0;
+      for(int i=0; i<5; i++) {
+         slat = sin(llh[0]);
+         N = A / SQRT(1.0 - eccSq*slat*slat);
+         htold = llh[2];
+         llh[2] = p/cos(llh[0]) - N;
+         latold = llh[0];
+         llh[0] = atan2(sl, cl*(1.0-eccSq*(N/(N+llh[2]))));
+         if(fabs(llh[0]-latold) < 1.0e-9 && fabs(llh[2]-htold) < 1.0e-9 * A) break;
+      }
+      llh[0] *= RAD_TO_DEG;
+   }
+
+      // Fundamental routine to convert geodetic to geocentric coordinates.
+      // @param geodeticllh (input): geodetic latitude (deg N),
+      //            longitude (deg E), and height above ellipsoid (meters)
+      // @param llr (output): geocentric lat (deg N),lon (deg E),radius (meters)
+      // @param A (input) Earth semi-major axis
+      // @param eccSq (input) square of Earth eccentricity
+   void Position::convertGeodeticToGeocentric(const Triple& llh,
+                                              Triple& llr,
+                                              const double A,
+                                              const double eccSq)
+      throw()
+   {
+      double slat = sin(llh[0]*DEG_TO_RAD);
+      double N = A/SQRT(1.0-eccSq*slat*slat);
+      // radius
+      llr[2] = SQRT((N+llh[2])*(N+llh[2]) + N*eccSq*(N*eccSq-2*(N+llh[2]))*slat*slat);
+      if(llr[2] <= Position::POSITION_TOLERANCE/5)
+      {
+            // radius is below tolerance, hence assign zero-length
+            // arbitrarily set latitude = longitude = 0
+         llr[0] = llr[1] = llr[2] = 0;
+         return;
+      }
+      if(1-fabs(slat) < 1.e-10) {             // at the pole
+         if(slat < 0) llr[0] = -90;
+         else         llr[0] =  90;
+         return;
+      }
+      // theta
+      llr[0] = acos((N*(1-eccSq)+llh[2])*slat/llr[2]);
+      llr[0] *= RAD_TO_DEG;
+      llr[0] = 90 - llr[0];
+   }
+
+   // ----------- Part 11: operator<< and other useful functions -------------
+   //
+     // Stream output for Position objects.
+     // @param s stream to append formatted Position to.
+     // @param t Position to append to stream \c s.
+     // @return reference to \c s.
+   ostream& operator<<(ostream& s, const Position& p)
+   {
+      if(p.system == Position::Cartesian)
+         s << p.printf("%.4x m %.4y m %.4z m");
+      else if(p.system == Position::Geodetic)
+         s << p.printf("%.8A degN %.8L degE %.4h m");
+      else if(p.system == Position::Geocentric)
+         s << p.printf("%.8a degN %.8L degE %.4r m");
+      else if(p.system == Position::Spherical)
+         s << p.printf("%.8t deg %.8p deg %.4r m");
+      else
+         s << " Unknown system! : " << p[0] << " " << p[1] << " " << p[2];
+
+      return s;
+   }
+
+      // Compute the range in meters between this Position and
+      // the Position passed as input.
+      // @param right Position to which to find the range
+      // @return the range (in meters)
+      // @throw GeometryException if geoid values differ
+   double range(const Position& A,
+                const Position& B)
+      throw(GeometryException)
+   {
+      if(A.AEarth != B.AEarth || A.eccSquared != B.eccSquared)
+      {
+         GeometryException ge("Unequal geoids");
+         GPSTK_THROW(ge);
+      }
+
+         Position L(A),R(B);
+         L.transformTo(Position::Cartesian);
+         R.transformTo(Position::Cartesian);
+         double dif = RSS(L.X()-R.X(),L.Y()-R.Y(),L.Z()-R.Z());
+         return dif;
+      }
+
+     // Compute the radius of the ellipsoidal Earth, given the geodetic latitude.
+     // @param geolat geodetic latitude in degrees
+     // @return the Earth radius (in meters)
+   double Position::radiusEarth(const double geolat,
+                                const double A,
+                                const double eccSq)
+      throw()
+   {
+      double slat=sin(DEG_TO_RAD*geolat);
+      double e=(1.0-eccSq);
+      double f=(1.0+(e*e-1.0)*slat*slat)/(1.0-eccSq*slat*slat);
+      return (A * SQRT(f));
+   }
+
+      // A member function that computes the elevation of the input
+      // (Target) position as seen from this Position.
+      // @param Target the Position which is observed to have the
+      //        computed elevation, as seen from this Position.
+      // @return the elevation in degrees
+   double Position::elevation(const Position& Target) const
+      throw()
+   {
+      Position R(*this),S(Target);
+      R.transformTo(Cartesian);
+      S.transformTo(Cartesian);
+      // use Triple:: functions in cartesian coordinates (only)
+      return R.elvAngle(S);
+   }
+
+      // A member function that computes the azimuth of the input
+      // (Target) position as seen from this Position.
+      // @param Target the Position which is observed to have the
+      //        computed azimuth, as seen from this Position.
+      // @return the azimuth in degrees
+   double Position::azimuth(const Position& Target) const
+      throw()
+   {
+      Position R(*this),S(Target);
+      R.transformTo(Cartesian);
+      S.transformTo(Cartesian);
+      // use Triple:: functions in cartesian coordinates (only)
+      return R.azAngle(S);
+   }
+
+     // A member function that computes the point at which a signal, which
+     // is received at *this Position and there is observed at the input
+     // azimuth and elevation, crosses a model ionosphere that is taken to
+     // be a uniform thin shell at the input height. This algorithm is done
+     // in geocentric coordinates.
+     // A member function that computes the point at which a signal, which
+     // is received at *this Position and there is observed at the input
+     // azimuth and elevation, crosses a model ionosphere that is taken to
+     // be a uniform thin shell at the input height. This algorithm is done
+     // in geocentric coordinates.
+     // @param elev elevation angle of the signal at reception, in degrees
+     // @param azim azimuth angle of the signal at reception, in degrees
+     // @param ionoht height of the ionosphere, in meters
+     // @return Position IPP the position of the ionospheric pierce point,
+     //     in the same coordinate system as *this; *this is not modified.
+   Position Position::getIonosphericPiercePoint(const double elev,
+                                                const double azim,
+                                                const double ionoht) const
+      throw()
+   {
+      Position Rx(*this);
+
+      // convert to Geocentric
+      Rx.transformTo(Geocentric);
+
+      // compute the geographic pierce point
+      Position IPP(Rx);                   // copy system and geoid
+      double el = elev * DEG_TO_RAD;
+      // p is the angle subtended at Earth center by Rx and the IPP
+      double p = PI/2.0 - el - asin(AEarth*cos(el)/(AEarth+ionoht));
+      double lat = Rx.theArray[0] * DEG_TO_RAD;
+      double az = azim * DEG_TO_RAD;
+      IPP.theArray[0] = asin(sin(lat)*cos(p) + cos(lat)*sin(p)*cos(az));
+      IPP.theArray[1] = Rx.theArray[1]*DEG_TO_RAD
+         + asin(sin(p)*sin(az)/cos(IPP.theArray[0]));
+
+      IPP.theArray[0] *= RAD_TO_DEG;
+      IPP.theArray[1] *= RAD_TO_DEG;
+      IPP.theArray[2] = AEarth + ionoht;
+
+      // transform back
+      IPP.transformTo(system);
+
+      return IPP;
+   }
+
+   // ----------- Part 12: private functions and member data -----------------
+   //
+      // Initialization function, used by the constructors.
+      // @param a coordinate [ X(m), or latitude (degrees N) ]
+      // @param b coordinate [ Y(m), or longitude (degrees E) ]
+      // @param c coordinate [ Z, height above ellipsoid or radius, in m ]
+      // @param s CoordinateSystem, defaults to Cartesian
+      // @param geiod pointer to a GeoidModel, default NULL (WGS84)
+      // @throw GeometryException on invalid input.
+   void Position::initialize(const double a,
+                  const double b,
+                  const double c,
+                  Position::CoordinateSystem s,
+                  GeoidModel *geoid)
+      throw(GeometryException)
+   {
+      double bb(b);
+      if(s == Geodetic || s==Geocentric)
+      {
+         if(a > 90 || a < -90)
+         {
+            GeometryException ge("Invalid latitude in constructor: "
+                                    + StringUtils::asString(a));
+            GPSTK_THROW(ge);
+         }
+         if(bb < 0)
+            bb += 360*(1+(unsigned long)(bb/360));
+         else if(bb >= 360)
+            bb -= 360*(unsigned long)(bb/360);
+      }
+      if(s==Geocentric || s==Spherical)
+      {
+         if(c < 0)
+         {
+            GeometryException ge("Invalid radius in constructor: "
+                                           + StringUtils::asString(c));
+            GPSTK_THROW(ge);
+         }
+      }
+      if(s==Spherical)
+      {
+         if(a < 0 || a > 180)
+         {
+            GeometryException ge("Invalid theta in constructor: "
+                                    + StringUtils::asString(a));
+            GPSTK_THROW(ge);
+         }
+         if(bb < 0)
+            bb += 360*(1+(unsigned long)(bb/360));
+         else if(bb >= 360)
+            bb -= 360*(unsigned long)(bb/360);
+      }
+
+      theArray[0] = a;
+      theArray[1] = bb;
+      theArray[2] = c;
+
+      if(geoid) {
+         AEarth = geoid->a();
+         eccSquared = geoid->eccSquared();
+      }
+      else {
+         WGS84Geoid WGS84;
+         AEarth = WGS84.a();
+         eccSquared = WGS84.eccSquared();
+      }
+      system = s;
+      tolerance = POSITION_TOLERANCE;
+   }
+
+}  // namespace gpstk
diff --git a/trunk/src/Position.hpp b/trunk/src/Position.hpp
new file mode 100644
index 0000000..33edb95
--- /dev/null
+++ b/trunk/src/Position.hpp
@@ -0,0 +1,893 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/apps/iono/Position.hpp#1 $"
+
+/**
+ * @file Position.hpp
+ * class gpstk::Position encapsulates 3-D positions, including geographic positions,
+ *    expressed as geodetic (with respect to an ellipsoidal geoid), geocentric or
+ *    Earth-centered, Earth-fixed (cartesian) coordinates, as well as ordinary
+ *    positions defined by spherical or cartesian coordinates. Position inherits
+ *    from class Triple.
+ */
+
+#ifndef GPSTK_POSITION_HPP
+#define GPSTK_POSITION_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "Exception.hpp"
+#include "StringUtils.hpp"
+#include "DayTime.hpp"  // for FormatException
+#include "Triple.hpp"
+#include "GeoidModel.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+      /** @addtogroup geodeticgroup */
+      //@{
+
+      /**
+       * A position representation class for common 3D geographic position formats,
+       * including geodetic (geodetic latitude, longitude, and height above the geoid)
+       * geocentric (geocentric latitude, longitude, and radius from Earth's center),
+       * cartesian (Earth-centered, Earth-fixed) and spherical (theta,phi,radius).
+       *
+       * Internally, the representation of Position consists of three coordinate
+       * values (double), two doubles from a geoid model (see below, storing these
+       * doubles is preferred over adding GeoidModel to calling arguments everywhere),
+       * a flag of type 'enum CoordinateSystem' giving the coordinate system, and a
+       * tolerance for use in comparing Positions. Class Position inherits from class
+       * Triple, which is how the coordinate values are stored (Triple actually uses
+       * std::valarray<double> of length 3). It is important to note that
+       * Triple:: routines are properly used by Positions ONLY in the Cartesian
+       * coordinate system.
+       *
+       * Only geodetic coordinates depend on a geoid, and then (for an ellipsoidal
+       * geoid) only on the semi-major axis of the Earth and the square of its
+       * eccentricity. Input of this geoid information (usually a pointer to a
+       * GeoidModel) is required by functions involving constructors of, or
+       * transformation to or from, Geodetic coordinates. However since a default
+       * is supplied (WGS84), the user need never deal with geiods unless desired.
+       * In fact, if the geodetic coordinate system is avoided, the Position class
+       * can be interpreted simply as 3D vectors in any context, particularly since
+       * the class inherits from Triple, which includes many vector manipulation
+       * routines (although the Triple:: routines assume Cartesian coordinates).
+       * Even the requirement that lengths (radius, height and the cartesian
+       * coordinates) have units of meters is required only if geodetic coordinates
+       * are used (because the semi-major axis in GeoidModel is in meters);
+       * without using Geodetic one could apply the class using any units for
+       * length as long as setTolerance() is called appropriately.
+       *
+       * Position relies on a series of fundamental routines to transform from
+       * one coordinate system to another, these include, for example
+       * void Position::convertGeodeticToCartesian(const Triple& llh, Triple& xyz,
+       *    const double A, const double eccSq);
+       * void Position::convertSphericalToCartesian(const Triple& tpr, Triple& xyz);
+       * These functions use Triple in the calling arguments.
+       *
+       * Position will throw exceptions (gpstk::GeometryException) on bad input
+       * (e.g. negative radius or latitude > 90 degrees); otherwise the class
+       * attempts to handle all points, even the pole and the origin, consistently
+       * and without throwing exceptions.
+       * At or very near the poles, the transformation routines will set
+       * latitude = +/-90 degrees, which is theta = 0 or 180, and (arbitrarily)
+       * longitude = 0. At or very near the origin, the transformation routines
+       * will set latitude = 0, which is theta = 90, and (arbitrarily) longitude = 0;
+       * radius will be set to zero and geodetic height will be set to
+       * -radius(Earth) (= -6378137.0 in WGS84). The tolerance used in testing
+       * 'at or near the pole or origin' is radius < POSITION_TOLERANCE/5.
+       * Note that this implies that a Position that is very near the origin may
+       * be SET to the exact origin by the transformation routines, and that
+       * thereby information about direction (e.g. latitude and longitude)
+       * may be LOST. The user is warned to be very careful when working
+       * near either the pole or the origin.
+       *
+       * Position includes setToString() and printf() functions similar to those
+       * in gpstk::DayTime; this allows flexible and powerful I/O of Position to
+       * strings and streams.
+       *
+       * @sa positiontest.cpp for examples.
+       */
+   class Position : public Triple
+   {
+   public:
+      // ----------- Part  1: coordinate systems --------------------------------
+      //
+         /// The coordinate systems supported by Position
+      enum CoordinateSystem
+      {
+         Unknown=0,  ///< unknown coordinate system
+         Geodetic,   ///< geodetic latitude, longitude, and height above geoid
+         Geocentric, ///< geocentric (regular spherical coordinates)
+         Cartesian,  ///< cartesian (Earth-centered, Earth-fixed)
+         Spherical   ///< spherical coordinates (theta,phi,radius)
+      };
+
+         /// return string giving name of coordinate system
+      std::string getSystemName()
+         throw();
+
+      // ----------- Part  2: member functions: tolerance -----------------------
+      //
+         /// One millimeter tolerance.
+      static const double ONE_MM_TOLERANCE;
+         /// One centimeter tolerance.
+      static const double ONE_CM_TOLERANCE;
+         /// One micron tolerance.
+      static const double ONE_UM_TOLERANCE;
+      
+         /// Default tolerance for time equality in days.
+      static double POSITION_TOLERANCE;
+
+         /// Changes the POSITION_TOLERANCE for all Position objects
+      static double setPositionTolerance(const double tol)
+         { POSITION_TOLERANCE = tol;  return POSITION_TOLERANCE; }
+
+         /// Returns the current POSITION_TOLERANCE.
+      static double getPositionTolerance()
+         { return POSITION_TOLERANCE; }
+   
+         /**
+          * Sets the tolerance for output and comparisons, for this object only.
+          * See the constants in this file (e.g. ONE_MM_TOLERANCE)
+          * for some easy to use tolerance values.
+          * @param tol Tolerance in meters to be used by comparison operators.
+          * @sa Position-Specific Definitions
+          */
+      Position& setTolerance(const double tol)
+         throw();
+
+      // ----------- Part  3: member functions: constructors --------------------
+      //
+         /**
+          * Default constructor.
+          * Initializes to zero, Unknown coordinates
+          */
+      Position()
+         throw();
+
+         /**
+          * Explicit constructor. Coordinate system may be specified on input,
+          * but defaults to Cartesian. Pointer to GeoidModel may be specified,
+          * but default is NULL (in which case WGS84 values will be used).
+          * @param a first coordinate [ X(m), or latitude (degrees N) ]
+          * @param b second coordinate [ Y(m), or longitude (degrees E) ]
+          * @param c third coordinate [ Z, height above ellipsoid or radius, in m ]
+          * @param s coordinate system
+          * @param geoid pointer to GeoidModel
+          * @throw GeometryException on invalid input.
+          */
+      Position(const double& a,
+               const double& b,
+               const double& c,
+               CoordinateSystem s = Cartesian,
+               GeoidModel *geoid = NULL)
+         throw(GeometryException);
+
+         /**
+          * Explicit constructor. Coordinate system may be specified on input,
+          * but defaults to Cartesian. Pointer to GeoidModel may be specified,
+          * but default is NULL (in which case WGS84 values will be used).
+          * @param ABC double array[3] coordinate values
+          * @param s CoordinateSystem
+          * @param geoid pointer to GeoidModel
+          * @throw GeometryException on invalid input.
+          */
+      Position(const double ABC[3],
+               CoordinateSystem s = Cartesian,
+               GeoidModel *geoid = NULL)
+         throw(GeometryException);
+
+         /**
+          * Explicit constructor. Coordinate system may be specified on input,
+          * but defaults to Cartesian. Pointer to GeoidModel may be specified,
+          * but default is NULL (in which case WGS84 values will be used).
+          * @param ABC coordinate values
+          * @param s CoordinateSystem
+          * @param geoid pointer to GeoidModel
+          * @throw GeometryException on invalid input.
+          */
+      Position(const Triple& ABC,
+               CoordinateSystem s = Cartesian,
+               GeoidModel *geoid = NULL)
+         throw(GeometryException);
+
+         /**
+          * Explicit constructor from Xvt. The coordinate system is Cartesian,
+          * and the velocity and time information in the input is ignored.
+          * @param xvt Input Xvt object, xvt.x contains the Cartesian coordinates
+          */
+      Position(const Xvt& xvt)
+         throw();
+
+         /// Destructor.
+      ~Position()
+         throw()
+         {}
+
+      // ----------- Part  4: member functions: arithmetic ----------------------
+      //
+         /** Subtract a Position from this Position. Perform the subtraction in
+          * Cartesian coordinates, but return this Position to the system it
+          * had originally.
+          * @param right Position to subtract from this one.
+          * @return new Position, in the original system.
+          */
+      Position& operator-=(const Position& right)
+         throw();
+
+         /** Add a Position to this Position. Perform the addition in
+          * Cartesian coordinates, but return this Position to the system it
+          * had originally.
+          * @param right Position to add to this one.
+          * @return new Position, in the original system.
+          */
+      Position& operator+=(const Position& right)
+         throw();
+
+         /**
+          * Difference two Positions, returning result as a Position in Cartesian
+          * coordinates, the only system in which a position difference makes sense.
+          * @param right Position to subtract from this one.
+          * @return difference as Position.
+          */
+      friend Position operator-(const Position& left,
+                                      const Position& right)
+         throw();
+
+         /**
+          * Add two Positions, returning result as a Position in Cartesian
+          * coordinates, the only system in which a position sum makes sense.
+          * @param right Position to add to this one.
+          * @return The new Position.
+          */
+      friend Position operator+(const Position& left,
+                                      const Position& right)
+         throw();
+
+         /** Multiply a Position by a double scalar on the left.
+          * @param right Position to be multiplied by the scalar
+          * @param scale the (double) scalar
+          * @return The new Position.
+          */
+      friend Position operator*(const double& scale,
+                                const Position& right)
+         {
+            Position tmp(right);
+            tmp.theArray *= scale;
+            return tmp;
+         }
+
+         /** Multiply a Position by a double scalar on the right.
+          * @param left Position to be multiplied by the scalar
+          * @param scale the (double) scalar
+          * @return The new Position.
+          */
+      friend Position operator*(const Position& left,
+                                const double& scale)
+         {
+            return operator*(scale, left);
+         }
+
+         /** Multiply a Position by an integer scalar on the left.
+          * @param right Position to be multiplied by the scalar
+          * @param scale the (int) scalar
+          * @return The new Position.
+          */
+      friend Position operator*(const int& scale,
+                                const Position& right)
+         {
+            return operator*(double(scale), right);
+         }
+
+         /** Multiply a Position by an integer scalar on the right.
+          * @param left Position to be multiplied by the scalar
+          * @param scale the (int) scalar
+          * @return The new Position.
+          */
+      friend Position operator*(const Position& left,
+                                const int& scale)
+         {
+            return operator*(double(scale), left);
+         }
+
+      // ----------- Part  5: member functions: comparisons ---------------------
+      //
+         /// Equality operator. Return true if range between this Position and
+         /// the input Position is less than tolerance. Return false if geoid
+         /// values differ.
+         /// @param right Position to be compared to this Position
+      bool operator==(const Position &right) const
+         throw();
+
+         /// Inequality operator. Return true if range between this Position and
+         /// the input Position is greater than tolerance. Return true if geoid
+         /// values differ.
+         /// @param right Position to be compared to this Position
+      bool operator!=(const Position &right) const
+         throw();
+
+      // ----------- Part  6: member functions: coordinate transformations ------
+      //
+         /**
+          * Transform coordinate system. Does nothing if sys already matches the
+          * current value of member CoordinateSystem 'system'.
+          * @param sys CoordinateSystem into which this Position is transformed.
+          */
+      Position transformTo(CoordinateSystem sys)
+         throw();
+  
+         /// Convert to geodetic coordinates (does nothing if
+         /// system == Geodetic already).
+      Position asGeodetic()
+         throw()
+      { transformTo(Geodetic); return *this; }
+
+         /// Convert to another geoid, then to geodetic coordinates.
+         /// @return a reference to this.
+         /// @throw GeometryException if input is NULL.
+      Position asGeodetic(GeoidModel *geoid)
+         throw(GeometryException)
+      {
+         try { setGeoidModel(geoid); }
+         catch(GeometryException& ge) { GPSTK_RETHROW(ge); }
+         transformTo(Geodetic);
+         return *this;
+      }
+
+         /// Convert to cartesian coordinates (does nothing if
+         /// system == Cartesian already).
+      Position asECEF()
+         throw()
+      { transformTo(Cartesian); return *this; }
+
+
+      // ----------- Part  7: member functions: get -----------------------------
+      // 
+      // These routines retrieve coordinate values in all coordinate systems.
+      //
+         /// return X coordinate (meters)
+      double X() const
+         throw();
+
+         /// return Y coordinate (meters)
+      double Y() const
+         throw();
+
+         /// return Z coordinate (meters)
+      double Z() const
+         throw();
+
+         /// return geodetic latitude (degrees North).
+      double geodeticLatitude() const
+         throw();
+
+         /// return geocentric latitude (degrees North);
+         /// equal to 90 degress - theta in regular spherical coordinates.
+      double geocentricLatitude() const
+         throw();
+
+         /// return spherical coordinate theta in degrees
+      double theta() const
+         throw();
+
+         /// return spherical coordinate phi in degrees
+      double phi() const
+         throw();
+
+         /// return longitude (degrees East);
+         /// equal to phi in regular spherical coordinates.
+      double longitude() const
+         throw();
+
+         /// return distance from the center of Earth (meters),
+         /// Same as radius in spherical coordinates.
+      double radius() const
+         throw();
+
+         /// return height above ellipsoid (meters) (Geodetic).
+      double height() const
+         throw();
+
+         /// return the coordinate system for this Position
+      CoordinateSystem getCoordinateSystem() const
+         throw() 
+      { return system; };
+
+         /// return geodetic latitude (deg N)
+      double getGeodeticLatitude() const
+         throw()
+      { return geodeticLatitude(); }
+
+         /// return geocentric latitude (deg N)
+      double getGeocentricLatitude() const
+         throw()
+      { return geocentricLatitude(); }
+
+         /// return longitude (deg E) (either geocentric or geodetic)
+      double getLongitude() const
+         throw()
+      { return longitude(); }
+
+         /// return height above ellipsoid (meters)
+      double getAltitude() const
+         throw()
+      { return height(); }
+
+         /// return height above ellipsoid (meters)
+      double getHeight() const
+         throw()
+      { return height(); }
+
+         /// return ECEF X coordinate (meters)
+      double getX() const
+         throw()
+      { return X(); }
+
+         /// return ECEF Y coordinate (meters)
+      double getY() const
+         throw()
+      { return Y(); }
+
+         /// return ECEF Z coordinate (meters)
+      double getZ() const
+         throw()
+      { return Z(); }
+
+         /// return spherical coordinate angle theta (deg) (90 - geocentric latitude)
+      double getTheta() const
+         throw()
+      { return theta(); }
+
+         /// return spherical coordinate angle phi (deg) (same as longitude)
+      double getPhi() const
+         throw()
+      { return phi(); }
+
+         /// return radius
+      double getRadius() const
+         throw()
+      { return radius(); }
+
+      // ----------- Part  8: member functions: set -----------------------------
+      //
+         /**
+          * Set the geoid values for this Position given a geoid.
+          * @param geoid Pointer to the GeoidModel.
+          * @throw GeometryException if input is NULL.
+          */
+      void setGeoidModel(const GeoidModel *geoid)
+         throw(GeometryException);
+
+         /**
+          * Set the Position given geodetic coordinates; system is set to Geodetic.
+          * @param lat geodetic latitude in degrees North
+          * @param lon geodetic longitude in degrees East
+          * @param ht height above the ellipsoid in meters
+          * @return a reference to this object.
+          * @throw GeometryException on invalid input
+          */
+      Position& setGeodetic(const double lat,
+                            const double lon,
+                            const double ht,
+                            const GeoidModel *geoid = NULL)
+         throw(GeometryException);
+
+         /**
+          * Set the Position given geocentric coordinates; system is set to Geocentric
+          * @param lat geocentric latitude in degrees North
+          * @param lon geocentric longitude in degrees East
+          * @param rad radius from the Earth's center in meters
+          * @return a reference to this object.
+          * @throw GeometryException on invalid input
+          */
+      Position& setGeocentric(const double lat,
+                              const double lon,
+                              const double rad)
+         throw(GeometryException);
+
+         /**
+          * Set the Position given spherical coordinates; system is set to Spherical
+          * @param theta angle from the Z-axis (degrees)
+          * @param phi angle from the X-axis in the XY plane (degrees)
+          * @param rad radius from the center in meters
+          * @return a reference to this object.
+          * @throw GeometryException on invalid input
+          */
+      Position& setSpherical(const double theta,
+                             const double phi,
+                             const double rad)
+         throw(GeometryException);
+
+         /**
+          * Set the Position given ECEF coordinates; system is set to Cartesian.
+          * @param X ECEF X coordinate in meters.
+          * @param Y ECEF Y coordinate in meters.
+          * @param Z ECEF Z coordinate in meters.
+          * @return a reference to this object.
+          */
+      Position& setECEF(const double X,
+                        const double Y,
+                        const double Z)
+         throw();
+
+         /**
+          * Set the Position given an array of ECEF coordinates;
+          * system is set to Cartesian.
+          * @param XYZ array[3] ECEF X,Y,Z coordinate in meters.
+          * @return a reference to this object.
+          */
+      Position& setECEF(const double XYZ[3])
+         throw()
+      { return setECEF(XYZ[0],XYZ[1],XYZ[2]); }
+
+         /**
+          * Set the Position given ECEF coordinates; system is set to Cartesian.
+          * @param XYZ ECEF X,Y,Z coordinates in meters.
+          * @return a reference to this object.
+          */
+      Position& setECEF(const Triple& XYZ)
+         throw()
+      { return setECEF(XYZ[0],XYZ[1],XYZ[2]); }
+
+      // ----------- Part 9: member functions: setToString, printf -------------
+      //
+         /**
+          * setToString, similar to scanf, this function takes a string and a
+          * format describing string in order to define Position
+          * values.  The parameters it can take are listed below and
+          * described above with the printf() function.
+          *
+          * The specification must be sufficient to define a Position.
+          * The following table lists combinations that give valid
+          * Positions. Anything more or other combinations will give
+          * unknown (read as: "bad") results so don't try it.  Anything
+          * less will throw an exception.
+          *
+          * @code
+          *  %X %Y %Z  (cartesian or ECEF in kilometers)
+          *  %x %y %z  (cartesian or ECEF in meters)
+          *  %a %l %r  (geocentric lat,lon,radius, longitude E, radius in meters)
+          *  %A %L %h  (geodetic lat,lon,height, longitude E, height in meters)
+          *  %a %w %R  (geocentric lat,lon,radius, longitude W, radius in kilometers)
+          *  %A %W %H  (geodetic lat,lon,height, longitude W, height in kilometers)
+          *  %t %p %r  (spherical theta, phi, radius, degrees and meters)
+          *  %T %P %R  (spherical theta, phi, radius, radians and kilometers)
+          * @endcode
+          *
+          * So
+          * @code
+          * pos.setToString("123.4342,9328.1982,-128987.399", "%X,%Y,%Z");
+          * @endcode
+          *
+          * works but 
+          *
+          * @code
+          * pos.setToString("123.4342,9328.1982", "%X,%Y");
+          * @endcode
+          * doesn't work (incomplete specification because it doesn't specify
+          * a Position).
+          *
+          * Whitespace is unimportant here; the function will handle it.
+          * The caller must ensure that that the extra characters in
+          * the format string (ie '.' ',') are in the same relative
+          * location as they are in the actual string; see the example above.
+          *
+          * @param str string from which to get the Position coordinates
+          * @param fmt format to use to parse \c str.
+          * @throw GeometryException if \c fmt is an incomplete or invalid
+          *    specification
+          * @throw FormatException if unable to scan \c str.
+          * @throw StringException if an error occurs manipulating the
+          * \c str or \c fmt strings.
+          * @return a reference to this object.
+          */
+      Position& setToString(const std::string& str,
+                            const std::string& fmt)
+         throw(GeometryException,
+               DayTime::FormatException,
+               StringUtils::StringException);
+
+
+         // if you can see this, ignore the \'s below, as they are for
+         // the nasty html-ifying of doxygen.  Browsers try to
+         // interpret the % and they get all messed up.
+         /**
+          * Format this Position into a string.
+          *
+          * Generate and return a string containing formatted
+          * Position coordinates, formatted by the specification \c fmt.
+          *
+          * \li \%x   X() (meters)
+          * \li \%y   Y() (meters)
+          * \li \%z   Z() (meters)
+          * \li \%X   X()/1000 (kilometers)
+          * \li \%Y   Y()/1000 (kilometers)
+          * \li \%Z   Z()/1000 (kilometers)
+          * \li \%A   geodeticLatitude() (degrees North)
+          * \li \%a   geocentricLatitude() (degrees North)
+          * \li \%L   longitude() (degrees East)
+          * \li \%l   longitude() (degrees East)
+          * \li \%w   longitude() (degrees West)
+          * \li \%W   longitude() (degrees West)
+          * \li \%t   theta() (degrees)
+          * \li \%T   theta() (radians)
+          * \li \%p   phi() (degrees)
+          * \li \%P   phi() (radians)
+          * \li \%r   radius() meters
+          * \li \%R   radius()/1000 kilometers
+          * \li \%h   height() meters
+          * \li \%H   height()/1000 kilometers
+          *
+          * @param fmt format to use for this time.
+          * @return a string containing this Position in the
+          * representation specified by \c fmt.
+          */
+      std::string printf(const char *fmt) const
+         throw(StringUtils::StringException);
+
+         /// Format this time into a string.
+         /// @see printf(const char*)
+      std::string printf(const std::string& fmt) const
+         throw(StringUtils::StringException) 
+      { return printf(fmt.c_str()); }
+
+         /// Returns the string that operator<<() would print.
+      std::string asString() const
+         throw(StringUtils::StringException);
+
+      // ----------- Part 10: functions: fundamental conversions ---------------
+      // 
+         /** Fundamental conversion from spherical to cartesian coordinates.
+          * @param trp (input): theta, phi (degrees), radius
+          * @param xyz (output): X,Y,Z in units of radius
+          * Algorithm references: standard geometry.
+          */
+      static void convertSphericalToCartesian(const Triple& tpr,
+                                              Triple& xyz)
+         throw();
+
+         /** Fundamental routine to convert cartesian to spherical coordinates.
+          * The zero vector is converted to (90,0,0).
+          * @param xyz (input): X,Y,Z
+          * @param trp (output): theta, phi (degrees), radius (units of input)
+          * Algorithm references: standard geometry.
+          */
+      static void convertCartesianToSpherical(const Triple& xyz,
+                                              Triple& tpr)
+         throw();
+
+
+         /** Fundamental routine to convert ECEF (cartesian) to geodetic coordinates,
+          * (Geoid specified by semi-major axis and eccentricity squared).
+          * The zero vector is converted to (90,0,-R(earth)).
+          * @param xyz (input): X,Y,Z in meters
+          * @param llh (output): geodetic lat(deg N), lon(deg E),
+          *                             height above ellipsoid (meters)
+          * @param A (input) Earth semi-major axis
+          * @param eccSq (input) square of Earth eccentricity
+          * Algorithm references: Leick, "GPS Satellite Surveying," 2nd edition.
+          */
+      static void convertCartesianToGeodetic(const Triple& xyz,
+                                             Triple& llh,
+                                             const double A,
+                                             const double eccSq)
+         throw();
+
+         /** Fundamental routine to convert geodetic to ECEF (cartesian) coordinates,
+          * (Geoid specified by semi-major axis and eccentricity squared).
+          * @param llh (input): geodetic lat(deg N), lon(deg E),
+          *                             height above ellipsoid (meters)
+          * @param A (input) Earth semi-major axis
+          * @param xyz (output): X,Y,Z in meters
+          * @param eccSq (input) square of Earth eccentricity
+          * Algorithm references: Leick, "GPS Satellite Surveying," 2nd edition.
+          */
+      static void convertGeodeticToCartesian(const Triple& llh,
+                                             Triple& xyz,
+                                             const double A,
+                                             const double eccSq)
+         throw();
+
+
+         /** Fundamental routine to convert cartesian (ECEF) to geocentric
+          * The zero vector is converted to (0,0,0).
+          * @param xyz (input): X,Y,Z
+          * @param llr (output): geocentric lat(deg N), lon(deg E),
+          *                              radius (units of input)
+          */
+      static void convertCartesianToGeocentric(const Triple& xyz,
+                                               Triple& llr)
+         throw();
+
+         /** Fundamental routine to convert geocentric to cartesian (ECEF)
+          * @param llr (input): geocentric lat(deg N),lon(deg E),radius
+          * @param xyz (output): X,Y,Z (units of radius)
+          */
+      static void convertGeocentricToCartesian(const Triple& llr,
+                                               Triple& xyz)
+         throw();
+
+
+         /** Fundamental routine to convert geocentric to geodetic
+          * @param llr (input): geocentric lat(deg N),lon(deg E),radius (meters)
+          * @param geodeticllh (output): geodetic latitude (deg N),
+          *            longitude (deg E), and height above ellipsoid (meters)
+          * @param A (input) Earth semi-major axis
+          * @param eccSq (input) square of Earth eccentricity
+          */
+      static void convertGeocentricToGeodetic(const Triple& llr,
+                                              Triple& geodeticllh,
+                                              const double A,
+                                              const double eccSq)
+         throw();
+
+         /** Fundamental routine to convert geodetic to geocentric 
+          * @param geodeticllh (input): geodetic latitude (deg N),
+          *            longitude (deg E), and height above ellipsoid (meters)
+          * @param llr (output): geocentric lat (deg N),lon (deg E),radius (meters)
+          * @param A (input) Earth semi-major axis
+          * @param eccSq (input) square of Earth eccentricity
+          */
+      static void convertGeodeticToGeocentric(const Triple& geodeticllh,
+                                              Triple& llr,
+                                              const double A,
+                                              const double eccSq)
+         throw();
+
+      // ----------- Part 11: operator<< and other useful functions -------------
+      //
+         /**
+         * Stream output for Position objects.
+         * @param s stream to append formatted Position to.
+         * @param t Position to append to stream \c s.
+         * @return reference to \c s.
+         */
+      friend std::ostream& operator<<(std::ostream& s,
+                                      const Position& p);
+
+         /**
+         * Compute the range in meters between two Positions.
+         * Input Positions are not modified.
+         * @param A,B Positions between which to find the range
+         * @return the range (in meters)
+         * @throw GeometryException if geoid values differ.
+         *        or if transformTo(Cartesian) fails
+         */
+      friend double range(const Position& A,
+                          const Position& B)
+         throw(GeometryException);
+
+         /**
+         * Compute the radius of the ellipsoidal Earth, given the geodetic latitude.
+         * @param geolat geodetic latitude in degrees
+         * @return the Earth radius (in meters)
+         */
+      static double radiusEarth(const double geolat,
+                                const double A,
+                                const double eccSq)
+         throw();
+
+         /**
+         * A member function that calls the non-member radiusEarth() for
+         * this Position.
+         * @return the Earth radius (in meters)
+         */
+      double radiusEarth() const
+         throw()
+      {
+         Position p(*this);
+         p.transformTo(Position::Geodetic);
+         return Position::radiusEarth(p.theArray[0], p.AEarth, p.eccSquared);
+      }
+
+         /**
+         * A member function that computes the elevation of the input
+         * (Target) position as seen from this Position.
+         * @param Target the Position which is observed to have the
+         *        computed elevation, as seen from this Position.
+         * @return the elevation in degrees
+         */
+      double elevation(const Position& Target) const
+         throw();
+
+         /**
+         * A member function that computes the azimuth of the input
+         * (Target) position as seen from this Position.
+         * @param Target the Position which is observed to have the
+         *        computed azimuth, as seen from this Position.
+         * @return the azimuth in degrees
+         */
+      double azimuth(const Position& Target) const
+         throw();
+
+         /**
+         * A member function that computes the position at which a signal, which
+         * is received at this Position and there is observed at the (input)
+         * azimuth and elevation angles, crosses a model ionosphere that is
+         * taken to be a thin shell at constant (input) height.
+         * This function will not transform this Position, and it will return
+         * a Position in the same system; the algorithm itself is done in the
+         * geocentric coordinate system.
+         * @param elev elevation angle in degrees of the signal at reception
+         * @param azim azimuth angle in degrees of the signal at reception
+         * @param ionoht height of the ionosphere, in meters
+         * @return Position IPP the position of the ionospheric pierce point,
+         *     in the same coordinate system as *this; *this is not modified.
+         */
+      Position getIonosphericPiercePoint(const double elev,
+                                         const double azim,
+                                         const double ionoht) const
+         throw();
+
+      // ----------- Part 12: private functions and member data -----------------
+      //
+   private:
+
+         /** Initialization function, used by the constructors.
+          * @param a coordinate [ X(m), or latitude (degrees N) ]
+          * @param b coordinate [ Y(m), or longitude (degrees E) ]
+          * @param c coordinate [ Z, height above ellipsoid or radius, in m ]
+          * @param s CoordinateSystem, defaults to Cartesian
+          * @param geiod pointer to a GeoidModel, default NULL (WGS84)
+          * @throw GeometryException on invalid input.
+          */
+      void initialize(const double a,
+                     const double b,
+                     const double c,
+                     CoordinateSystem s = Cartesian,
+                     GeoidModel *geoid = NULL)
+         throw(GeometryException);
+
+         /* Values of the coordinates, defined for each system as follows;
+         *    Cartesian  : X,Y,Z in meters
+         *    Geocentric : Latitude(degrees N), Longitude(degrees E),
+         *                    Radius (meters)
+         *    Geodetic   : Latitude(degrees N), Longitude(degrees E),
+         *                    Height above ellipsoid (meters)
+         *    Spherical  : theta (degrees) - angle from the z axis
+         *                 phi (degrees) - angle in xy plane from x axis toward
+         *                                     y axis (same as longitude)
+         *                 radius (meters?) - distance from origin
+         */
+      // use std::valarray<double> theArray;  -- inherit from Triple
+
+         /// semi-major axis of Earth (meters)
+      double AEarth;
+
+         /// square of geoid eccentricity
+      double eccSquared;
+
+         /// see #CoordinateSystem
+      CoordinateSystem system;
+
+         /// tolerance used in comparisons
+      double tolerance;
+
+   };   // end class Position
+
+   //@}
+
+}  // namespace gpstk
+
+#endif   // GPSTK_POSITION_HPP
diff --git a/trunk/src/RACRotation.cpp b/trunk/src/RACRotation.cpp
new file mode 100644
index 0000000..38b19c9
--- /dev/null
+++ b/trunk/src/RACRotation.cpp
@@ -0,0 +1,113 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RACRotation.cpp#1 $"
+//
+//
+//#include <stdio.h>
+
+// gpstk
+#include "RACRotation.hpp"
+
+namespace gpstk
+{
+
+//using namespace std; 
+
+RACRotation::RACRotation( const gpstk::Triple& SVPositionVector,
+                          const gpstk::Triple& SVVelocityVector)
+                          : gpstk::Matrix<double>(3,3)
+{
+   compute( SVPositionVector, SVVelocityVector ); 
+}
+
+RACRotation::RACRotation(const gpstk::Xvt& xvt)
+                         : gpstk::Matrix<double>(3,3)
+{
+   compute( xvt.x, xvt.v ); 
+}         
+
+//
+//  Given the SV position vector and the SV velocity vector, 
+//  compute a rotation from ECEF XYZ to ECEF Radial, 
+//  Along-Track, Cross-Track (RAC).
+//
+//  Let the SV position vector be represented by R
+//  Let the SV velocity vector be represented by V
+//  1.) Form the unit vector R^ = R / |R|.
+//  2.) Compute vector C = R^ cross V and unit vector C^ = C / |C|.  C^ is
+//      perpendiculat to the RV plane
+//  3.) Compute A^ = C^ corss R^. 
+//  4.) [R^, A^, C^] is an orthonormal triad and the rotation matrix between
+//      XYZ and RAC is the matrix where R^, C^, and A^ are each a row of the
+//      matrix.
+//
+void RACRotation::compute( const gpstk::Triple& SVPositionVector,
+                           const gpstk::Triple& SVVelocityVector)
+{
+
+   gpstk::Triple unitR = SVPositionVector.unitVector();
+   gpstk::Triple C = unitR.cross(SVVelocityVector);
+   gpstk::Triple unitC = C.unitVector();
+   gpstk::Triple unitA = unitC.cross(unitR);
+   
+   (*this) (0,0) = unitR[0];
+   (*this) (0,1) = unitR[1];
+   (*this) (0,2) = unitR[2];
+   (*this) (1,0) = unitA[0];
+   (*this) (1,1) = unitA[1];
+   (*this) (1,2) = unitA[2];
+   (*this) (2,0) = unitC[0];
+   (*this) (2,1) = unitC[1];
+   (*this) (2,2) = unitC[2];
+}
+      
+gpstk::Vector<double> RACRotation::convertToRAC( const gpstk::Vector<double>& inV )
+{
+   gpstk::Vector<double> outV(3);
+
+   /*
+      My goal was to use the following statement.
+   outV =  this * inV;
+      However, for some reason, gcc refuses to recognize RACRotation as a 
+      Matrix subclass.  Therefore, I've incorporated the matrix multiply
+      as a temporary kludge.
+   */
+   if (inV.size()!=3)
+   {
+      gpstk::Exception e("Incompatible dimensions for Vector");
+      GPSTK_THROW(e);
+   }
+   size_t i, j;
+   for (i = 0; i < 3; i++) 
+   {
+      outV[i] = 0;
+      for (j = 0; j < 3; j++)
+      {
+         double temp =  (*this)(i,j) * inV[j];
+         outV[i] += temp;
+      }
+   }
+   /* end kludge */
+   return(outV);
+}
+   
+gpstk::Triple RACRotation::convertToRAC( const gpstk::Triple& inVec )
+{
+   gpstk::Vector<double> v(3); 
+   v[0] = inVec[0];
+   v[1] = inVec[1];
+   v[2] = inVec[2];
+   
+   gpstk::Vector<double> vOut = convertToRAC( v );
+   gpstk::Triple outVec( vOut[0], vOut[1], vOut[2] );
+   return(outVec);
+}
+   
+gpstk::Xvt RACRotation::convertToRAC( const gpstk::Xvt& in )
+{
+   gpstk::Xvt out;
+   out.dtime = in.dtime;
+   out.ddtime = in.ddtime;
+   out.x = convertToRAC( in.x );
+   out.v = convertToRAC( in.v );
+   return(out);
+}
+}     // end namespace gpstk
diff --git a/trunk/src/RACRotation.hpp b/trunk/src/RACRotation.hpp
new file mode 100644
index 0000000..030e3f5
--- /dev/null
+++ b/trunk/src/RACRotation.hpp
@@ -0,0 +1,34 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RACRotation.hpp#1 $"
+//
+//
+#ifndef GPSTK_RACROTATION_HPP
+#define GPSTK_RACROTATION_HPP
+
+// gpstk
+#include "Triple.hpp"
+#include "Matrix.hpp"
+#include "Vector.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+   class RACRotation : public gpstk::Matrix<double>
+   {
+      public:
+            // Constructors
+         RACRotation( const gpstk::Triple& SVPositionVector,
+                      const gpstk::Triple& SVVelocityVector);
+         RACRotation(const gpstk::Xvt& xvt);
+         
+            // Methods
+         gpstk::Vector<double> convertToRAC( const gpstk::Vector<double>& inV );
+         gpstk::Triple         convertToRAC( const gpstk::Triple& inVec );
+         gpstk::Xvt            convertToRAC( const gpstk::Xvt& in );
+                                  
+            // Utilities
+      protected:
+         void compute( const gpstk::Triple& SVPositionVector,
+                       const gpstk::Triple& SVVelocityVector);
+   };
+}   
+#endif      
diff --git a/trunk/src/RAIM.cpp b/trunk/src/RAIM.cpp
new file mode 100644
index 0000000..d1c32d6
--- /dev/null
+++ b/trunk/src/RAIM.cpp
@@ -0,0 +1,592 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RAIM.cpp#5 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+/**
+ * @file RAIM.cpp
+ * Autonomous pseudorange navigation solution, including RAIM algorithm
+ * This module is now deprecated; use PRSolution.
+ */
+ 
+#include <cstdlib>  // for std::abs()
+#include "MathBase.hpp"
+#include "RAIMSolution.hpp"
+#include "EphemerisRange.hpp"
+#include "GPSGeoid.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+namespace gpstk
+{
+   /* /deprecated  Use PRSolution
+   * 'Tr'          Measured time of reception of the data.
+   * 'Satellite'   Vector of satellites; if element i is marked
+   *               (meaning satellite[i].prn < 0), ignore this data.
+   *               On successful return, satellites not used are marked.
+   * 'Pseudorange' Vector of raw pseudoranges (parallel to satellite).
+   *               On successful return, contains residual of fit
+   *               (for unmarked satellites).
+   * 'Eph'         EphemerisStore to be used.
+   *
+   * Return values:
+   *  2  failed to find a good solution (RMS residual or slope exceed limits)
+   *  1  solution is suspect (slope is large)
+   *  0  ok
+   * -1  failed to converge
+   * -2  singular problem
+   * -3  not enough good data to form a RAIM solution
+   *     (the 4 satellite solution might be returned - check isValid())
+   * -4  ephemeris not found for one or more satellites
+   */
+   int RAIMSolution::Compute(const DayTime& Tr, vector<RinexPrn>& Satellite,
+      vector<double>& Pseudorange, const EphemerisStore& Eph,
+      TropModel *pTropModel) throw(Exception)
+      {
+      try {
+         Valid = false;
+
+         // count how many good satellites we have
+         int i,j,N=0;
+         for(i=0; i<Satellite.size(); i++) if(Satellite[i].prn > 0) N++;
+         if(N < 4) return -3;
+
+         // Save the input solution (for use in rejection when ResidualCriterion
+         // is false).
+         APrioriSolution = Solution;
+
+         // minimum number of sats needed for algorithm
+         int MinSV=5;   // RAIM
+                        // not really RAIM || not RAIM (one solution):
+         if(!ResidualCriterion || NSatsReject==0) MinSV=4;
+
+         // default is -1, meaning as many as possible
+         if(NSatsReject == -1) NSatsReject=N-MinSV;
+
+         // ----------------------------------------------------------------
+         // fill SVP
+         if((i=PrepareAutonomousSolution(Tr, Satellite, Pseudorange, Eph, SVP)))
+            return i;
+
+         // ----------------------------------------------------------------
+         // Compute a solution for each set of valid satellites.
+         // Do this inside a loop, in which all allowed combinations of
+         //    good satellites are used.
+         // The combinations of good satellites are determined by
+         //    1) there must be at least MinSV good ones, and
+         //    2) no more than NSatsReject can be (temporarily) marked bad.
+         // Inside the loop, save the 'best' (lowest RMS residual) solution.
+         //
+
+               // UseSat is used to mark good sats (true) and those to ignore (false).
+         Vector<bool> UseSat(Satellite.size()),UseSave;
+            // stage is the number of satellites currently being excluded.
+         int stage,stageold,Udim;
+            // MarkIndex is a list of indexes into vector Satellite,
+            // with -1 marking 'unused'; it is used to temporarily mark the satellites
+            // to be excluded from the positioning.
+         Vector<int> MarkIndex;
+            // Slope will be used by the positioning routine to return slopes for
+            // each satellite.
+         Vector<double> Slope(Pseudorange.size());
+            // Residual will be used by the positioning routine to return the range
+            // residuals.
+         Vector<double> Residual(Satellite.size(),0.0);
+            // Save the 'best' solution.
+         int BestNIter;
+         double BestRMS,BestSL,BestConv;
+         Vector<double> BestSol;
+         Vector<bool> BestUse;
+
+         if(NSatsReject > 0) MarkIndex=Vector<int>(NSatsReject,-1);
+
+            // Initialize UseSat based on Satellite
+         for(i=0; i<Satellite.size(); i++)
+            if(Satellite[i].prn > 0) UseSat[i]=true;
+               else UseSat[i]=false;
+         UseSave = UseSat;
+         Udim = Satellite.size();
+         while(Udim > 0 && !UseSat(Udim-1)) Udim--;
+         if(Udim == 0) return -3;
+
+         int iret,jret;
+         BestRMS = -1.0;      // mark 'unused'
+
+         stage = stageold = 0;
+         while(1) {
+            // Compute a solution given the data; ignore ranges for marked satellites.
+            // Fill Vector Slope with slopes for each unmarked satellite.
+            // Return 0  ok
+            //       -1  failed to converge
+            //       -2  singular problem
+            //       -3  not enough good data
+            NIterations = MaxNIterations;             // pass limits in
+            Convergence = ConvergenceLimit;
+            iret = AutonomousPRSolution(Tr, UseSat, SVP, pTropModel, Algebraic,
+               NIterations, Convergence, Solution, Covariance, Residual, Slope);
+
+            // Compute RMS residual when "distance from a priori" is the criterion.
+            if(!ResidualCriterion) {
+               Vector<double> D=Solution-APrioriSolution;
+               RMSResidual = RMS(D);
+            }
+            else {
+               RMSResidual = RMS(Residual);
+            }
+
+            // find the maximum slope
+            MaxSlope = 0.0;
+            if(iret == 0)
+               for(i=0; i<UseSat.size(); i++)
+                  if(UseSat(i) && Slope(i)>MaxSlope) MaxSlope=Slope[i];
+
+            // print solution with diagnostic information
+            if(Debug) { //*pDebugStream) 
+               *pDebugStream << "RPS " << setw(2) << stage
+                  << " " << setw(4) << Tr.GPSfullweek()
+                  << " " << fixed << setw(10) << setprecision(3) << Tr.GPSsecond()
+                  << " " << setw(2) << N-stage
+                  << " " << setw(16) << setprecision(6) << Solution(0)
+                  << " " << setw(16) << setprecision(6) << Solution(1)
+                  << " " << setw(16) << setprecision(6) << Solution(2)
+                  << " " << setw(14) << setprecision(6) << Solution(3)
+                  << " " << setw(12) << setprecision(6) << RMSResidual
+                  << " " << fixed << setw(5) << setprecision(1) << MaxSlope
+                  << " " << NIterations
+                  << " " << scientific << setw(8) << setprecision(2) << Convergence;
+                  // print the RinexPrn for good sats
+               for(i=0; i<UseSat.size(); i++) {
+                  if(UseSat(i)) *pDebugStream << " " << setw(3) << Satellite[i].prn;
+                  else *pDebugStream << " " << setw(3) << -::abs(Satellite[i].prn);
+               }
+               *pDebugStream << " (" << iret << ")" << std::endl;
+            }
+
+            if(iret) {     // failure for this combination
+               RMSResidual = 0.0;
+               Solution = 0.0;
+            }
+            else {         // success
+               if((stage==0 || ReturnAtOnce) && RMSResidual<RMSLimit) {
+                  Nsvs = Satellite.size();
+                  Valid=true;
+                  return 0;
+               }
+                  // save 'best' solution
+               if(BestRMS < 0.0 || RMSResidual < BestRMS) {
+                  BestRMS = RMSResidual;
+                  BestSol = Solution;
+                  BestUse = UseSat;
+                  BestSL = MaxSlope;
+                  BestConv = Convergence;
+                  BestNIter = NIterations;
+               }
+            }
+
+            // is there enough data to continue?
+            if(N < MinSV) { iret=-3; break; }
+
+            // 'increment' the combinations
+            UseSat = UseSave;
+            int in=0;      // 'in' must be here and must be set to 0 every call
+            jret = IncrementMarkedIndexes(MarkIndex,in,UseSat,Udim,stage);
+            for(i=0; i<MarkIndex.size(); i++)
+               if(MarkIndex(i) > -1) UseSat(MarkIndex(i))=false;
+
+            if(stage != stageold || jret == -2) {
+               // did it transition to a new stage?
+               if(BestRMS > 0.0 && BestRMS < RMSLimit) { iret=0; break; }
+               // are there enough satellites for the algorithm to continue?
+               if(jret==-2 || Satellite.size()-stage < int(MinSV)) { iret=2; break; }
+               // save the current stage
+               stageold = stage;
+            }
+
+         }  // end while(1) loop over combinations of good satellites
+
+         // copy out the best solution and return
+         Convergence = BestConv;
+         NIterations = BestNIter;
+         RMSResidual = BestRMS;
+         Solution = BestSol;
+         MaxSlope = BestSL;
+         for(Nsvs=0,i=0; i<BestUse.size(); i++) {
+            if(!BestUse(i)) Satellite[i].prn = -std::abs(Satellite[i].prn);
+            else Nsvs++;
+         }
+
+         if(iret==0 && BestSL > SlopeLimit) iret=1;
+         if(iret>=0 && BestRMS >= RMSLimit) iret=2;
+
+         if(iret==0) Valid=true;
+         return iret;
+
+      }
+      catch(Exception& e) {
+         GPSTK_RETHROW(e);
+      }
+      }  // end RAIMSolution::Compute()
+
+   // used by the RAIM algorithm to form all usable combinations of satellites
+   // return -2 when no more combinations exist, else return 0.
+   int RAIMSolution::IncrementMarkedIndexes(Vector<int>& MI, int& n,
+      Vector<bool>& V, int& Vd, int& st)
+      {
+         if(n >= MI.size()) return -2; // n is the index currently being incremented
+         do { MI(n)++; } while(MI(n) < Vd-n && !V(MI(n)));
+         if(MI(n) >= Vd-n) {  // increment n, ie begin incrementing the next index
+            n++;
+            if(n >= MI.size()) return -2;
+            if(IncrementMarkedIndexes(MI, n, V, Vd, st) == -2) return -2;
+            n--;
+         }
+         if(n>0) {
+            MI(n-1) = MI(n)+1;
+            while(MI(n-1) < Vd-n && !V(MI(n-1))) { MI(n-1)++; }
+         }
+         if(n+1 > st) st=n+1;
+         return 0;
+      }
+
+   /* Compute the satellite position / corrected range matrix (SVP); used in
+    * AutonomousPRSolution(). SVP is output, dimensioned (N,4) where N is the number
+    * of satellites and the length of both Satellite and Pseudorange. Data is ignored
+    * whenever Satellite[i].prn is < 0.
+    * Return values:
+    *  0  ok
+    * -4  ephemeris not found for one or more satellites
+    */
+   int PrepareAutonomousSolution(const DayTime& Tr, vector<RinexPrn>& Satellite,
+      vector<double>& Pseudorange, const EphemerisStore& Eph, Matrix<double>& SVP)
+      {
+         int i,j,N=Satellite.size();
+         DayTime tx;                // transmit time
+         Xvt PVT;
+
+         if(N <= 0) return 0;
+         SVP = Matrix<double>(N,4);
+         SVP = 0.0;
+
+         for(i=0; i<N; i++) {
+               // skip marked satellites
+            if(Satellite[i].prn <= 0) continue;
+
+               // first estimate of transmit time
+            tx = Tr;
+            tx -= Pseudorange[i]/C_GPS_M;
+               // get ephemeris range, etc
+            try {
+               PVT = Eph.getPrnXvt(short(Satellite[i].prn), tx);
+            }
+            catch(EphemerisStore::NoEphemerisFound& e) {
+               Satellite[i].prn = -std::abs(Satellite[i].prn);
+               continue;
+            }
+
+               // update transmit time and get ephemeris range again
+            tx -= PVT.dtime;     // clk+rel
+            try {
+               PVT = Eph.getPrnXvt(short(Satellite[i].prn), tx);
+            }
+            catch(EphemerisStore::NoEphemerisFound& e) {
+               Satellite[i].prn *= -std::abs(Satellite[i].prn);
+            }
+
+               // SVP = {SV position at transmit time}, raw range + clk + rel
+            for(j=0; j<3; j++) SVP(i,j) = PVT.x[j];
+            SVP(i,3) = Pseudorange[i] + C_GPS_M * PVT.dtime;
+         }
+
+         return 0;
+  
+      } // end PrepareAutonomousPRSolution
+
+
+   // internal use only - details of the algebraic solution
+   int AlgebraicSolution(Matrix<double>& A, Vector<double>& Q, Vector<double>& X,
+      Vector<double>& R)
+      {
+       try {
+         int N=A.rows();
+         Matrix<double> AT=transpose(A);
+         Matrix<double> B=AT,C(4,4);
+
+         C = AT * A;
+         // invert
+         try {
+            //double big,small;
+            //condNum(C,big,small);
+            //if(small < 1.e-15 || big/small > 1.e15) return -2;
+            C = inverseSVD(C);
+         }
+         catch(SingularMatrixException& sme) {
+            return -2;
+         }
+
+         B = C * AT;
+
+         Vector<double> One(N,1.0),V(4),U(4);
+         double E,F,G,d,lam;
+
+         U = B * One;
+         V = B * Q;
+         E = Minkowski(U,U);
+         F = Minkowski(U,V) - 1.0;
+         G = Minkowski(V,V);
+         d = F*F-E*G;
+         if(d < 0.0) d=0.0; // avoid imaginary solutions: what does this really mean?
+         d = SQRT(d);
+
+            // first solution ...
+         lam = (-F+d)/E;
+         X = lam*U + V;
+         X(3) = -X(3);
+            // ... and its residual
+         R(0) = A(0,3)-X(3) - RSS(X(0)-A(0,0), X(1)-A(0,1), X(2)-A(0,2));
+
+            // second solution ...
+         lam = (-F-d)/E;
+         X = lam*U + V;
+         X(3) = -X(3);
+            // ... and its residual
+         R(1) = A(0,3)-X(3) - RSS(X(0)-A(0,0), X(1)-A(0,1), X(2)-A(0,2));
+
+            // pick the right solution
+         if(ABS(R(1)) > ABS(R(0))) {
+            lam = (-F+d)/E;
+            X = lam*U + V;
+            X(3) = -X(3);
+         }
+
+            // compute the residuals
+         for(int i=0; i<N; i++)
+            R(i) = A(i,3)-X(3) - RSS(X(0)-A(i,0), X(1)-A(i,1), X(2)-A(i,2));
+      
+         return 0;
+
+      }
+      catch(Exception& e) {
+         GPSTK_RETHROW(e);
+      }
+      }  // end AlgebraicSolution
+
+
+   /* /deprecated  Use PRSolution
+    *  Compute a single autonomous pseudorange solution.
+    *   DayTime Tr           data time tag (for use by some trop models)
+    *   Vector<bool> Use     of length N, the number of satellites; if value is
+    *                           false, do not include it in the computation.
+    *   Matrix<double> SVP   of dimension (N,4).  This Matrix must have been
+    *                           computed by calling PrepareAutonomousPRSolution().
+    *   bool Algebraic       flag indicating algebraic (true) algorithm, or
+    *                           linearized least squares (false).
+    *   pTropModel           pointer to TropModel for use within the algorithm
+    *
+    *   Weight matrix TD......
+    *
+    * Input and output (for least squares only; ignored if Algebraic==true):
+    *   int n_iterate         limit on iterations. On output, the number of iterations
+    *                            used.
+    *   double converge       convergence criterion (RSS change in solution, meters).
+    *                            On output, the final value.
+    * Output:  (these will be resized within the function)
+    *   Vector<double> Sol    solution (ECEF & time; all in meters) length 4
+    *   Matrix<double> Cov    covariance matrix (meter*meter) dimension 4x4
+    *   Vector<double> Resid  range residuals for each satellite (m),
+    *                            length N-(number of satellites with Use=true).
+    *   Vector<double> Slope  slope value used in RAIM for each good satellite,
+    *                            length N
+    * Return values:
+    *  0  ok
+    * -1  failed to converge
+    * -2  singular problem
+    * -3  not enough good data to form a solution (at least 4 satellites required)
+    * -4  ephemeris not found for one or more satellites
+    */
+   int AutonomousPRSolution(const DayTime& T, const Vector<bool>& Use,
+      const Matrix<double> SVP, TropModel *pTropModel, const bool Algebraic,
+      int& n_iterate, double& converge, Vector<double>& Sol, Matrix<double>& Cov,
+      Vector<double>& Resid, Vector<double>& Slope)
+         throw(Exception)
+      {
+      try {
+         int iret,i,j,n,N;
+         double rho,wt,svxyz[3];
+         GPSGeoid geoid;               // WGS84?
+
+            // find the number of good satellites
+         for(N=0,i=0; i<Use.size(); i++) if(Use(i)) N++;
+         if(N < 4) return -3;
+
+            // define for computation
+         Vector<double> CRange(N),dX(4);
+         Matrix<double> P(N,4),PT,G(4,N),PG(N,N);
+         Xvt SV,RX;
+
+         Sol.resize(4);
+         Cov.resize(4,4);
+         Resid.resize(N);
+         Slope.resize(Use.size());
+
+            // define for algebraic solution
+         Vector<double> U(4),Q(N);
+         Matrix<double> A(P);
+            // and for linearized least squares
+         int niter_limit = (n_iterate<2 ? 2 : n_iterate);
+         double conv_limit = converge;
+
+            // prepare for iteration loop
+         Sol = 0.0;                                   // initial guess: center of earth
+         n_iterate = 0;
+         converge = 0.0;
+
+            // iteration loop
+            // do at least twice (even for algebraic solution) so that
+            // trop model gets evaluated
+         do {
+               // current estimate of position solution
+            RX.x = ECEF(Sol(0),Sol(1),Sol(2));
+
+               // loop over satellites, computing partials matrix
+            for(n=0,i=0; i<Use.size(); i++) {
+                  // ignore marked satellites
+               if(!Use(i)) continue;
+
+                  // time of flight (sec)
+               if(n_iterate == 0)
+                  rho = 0.070;             // initial guess: 70ms
+               else
+                  rho = RSS(SVP(i,0)-Sol(0), SVP(i,1)-Sol(1), SVP(i,2)-Sol(2))
+                            / geoid.c();
+
+                  // correct for earth rotation
+               wt = geoid.angVelocity()*rho;             // radians
+               svxyz[0] =  ::cos(wt)*SVP(i,0) + ::sin(wt)*SVP(i,1);
+               svxyz[1] = -::sin(wt)*SVP(i,0) + ::cos(wt)*SVP(i,1);
+               svxyz[2] = SVP(i,2);
+
+                  // corrected pseudorange (m)
+               CRange(n) = SVP(i,3);
+
+                  // correct for troposphere (but not on the first iteration)
+               if(n_iterate > 0) {
+                  SV.x = ECEF(svxyz[0],svxyz[1],svxyz[2]);
+                  CRange(n) -= pTropModel->correction(RX,SV,T);
+               }
+
+                  // geometric range
+               rho = RSS(svxyz[0]-Sol(0),svxyz[1]-Sol(1),svxyz[2]-Sol(2));
+
+                  // partials matrix
+               P(n,0) = (Sol(0)-svxyz[0])/rho;           // x direction cosine
+               P(n,1) = (Sol(1)-svxyz[1])/rho;           // y direction cosine
+               P(n,2) = (Sol(2)-svxyz[2])/rho;           // z direction cosine
+               P(n,3) = 1.0;
+
+                  // data vector: corrected range residual
+               Resid(n) = CRange(n) - rho - Sol(3);
+
+                  // TD: allow weight matrix = measurement covariance
+               // P *= MCov;
+               // Resid *= MCov;
+
+                  // compute intermediate quantities for algebraic solution
+               if(Algebraic) {
+                  U(0) = A(n,0) = svxyz[0];
+                  U(1) = A(n,1) = svxyz[1];
+                  U(2) = A(n,2) = svxyz[2];
+                  U(3) = A(n,3) = CRange(n);
+                  Q(n) = 0.5 * Minkowski(U,U);
+               }
+
+               n++;        // n is number of good satellites - used for Slope
+            }  // end loop over satellites
+
+
+               // compute information matrix = inverse covariance matrix
+            PT = transpose(P);
+            Cov = PT * P;
+
+               // invert using SVD
+            //double big,small;
+            //condNum(PT*P,big,small);
+            //if(small < 1.e-15 || big/small > 1.e15) return -2;
+            try { Cov = inverseSVD(Cov); }
+            catch(SingularMatrixException& sme) {
+               return -2;
+            }
+
+               // generalized inverse
+            G = Cov * PT;
+            PG = P * G;                         // used for Slope
+
+            n_iterate++;                        // increment number iterations
+
+               // ----------------- algebraic solution -----------------------
+            if(Algebraic) {
+               iret = AlgebraicSolution(A,Q,Sol,Resid);
+               if(iret) return iret;                     // (singular)
+               if(n_iterate > 1) {                       // need 2, for trop
+                  iret = 0;
+                  break;
+               }
+            }
+               // ----------------- linearized least squares solution --------
+            else {
+               dX = G * Resid;
+               Sol += dX;
+                  // test for convergence
+               converge = norm(dX);
+                  // success: quit
+               if(n_iterate > 1 && converge < conv_limit) {
+                  iret = 0;
+                  break;
+               }
+                  // failure: quit
+               if(n_iterate >= niter_limit || converge > 1.e10) {
+                  iret = -1;
+                  break;
+               }
+            }
+               
+
+         } while(1);    // end iteration loop
+
+            // compute slopes
+         Slope = 0.0;
+         if(iret == 0) for(j=0,i=0; i<Use.size(); i++) {
+            if(!Use(i)) continue;
+            for(int k=0; k<4; k++) Slope(i) += G(k,j)*G(k,j);
+            Slope(i) = SQRT(Slope(i)*double(n-4)/(1.0-PG(j,j)));
+            j++;
+         }
+
+         return iret;
+
+      }
+      catch(Exception& e) {
+         GPSTK_RETHROW(e);
+      }
+      } // end AutonomousPRSolution
+
+} // namespace gpstk
diff --git a/trunk/src/RAIMSolution.hpp b/trunk/src/RAIMSolution.hpp
new file mode 100644
index 0000000..ba0a136
--- /dev/null
+++ b/trunk/src/RAIMSolution.hpp
@@ -0,0 +1,240 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RAIMSolution.hpp#3 $"
+
+/**
+ * @file RAIMSolution.hpp
+ * Autonomous pseudorange navigation solution, including RAIM algorithm
+ */
+ 
+#ifndef RAIM_POSITION_SOLUTION_HPP
+#define RAIM_POSITION_SOLUTION_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <vector>
+#include <ostream>
+#include "icd_200_constants.hpp"
+#include "DayTime.hpp"
+#include "Matrix.hpp"
+#include "RinexObsHeader.hpp"
+#include "EphemerisStore.hpp"
+#include "TropModel.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+namespace gpstk
+{
+   /** @defgroup GPSsolutions GPS solution algorithms and Tropospheric models */
+   //@{
+ 
+   /** This class define an interface to routines which compute a position
+    * and time solution from pseudorange data, with a data editing algorithm
+    * based on Receiver Autonomous Integrity Monitoring (RAIM) concepts.
+    */
+   class RAIMSolution
+   {
+   public:
+         /// Constructor
+      RAIMSolution() throw(Exception) : Valid(false), Algebraic(false),
+         ResidualCriterion(true), RMSLimit(6.5), SlopeLimit(100.),
+         NSatsReject(-1), ReturnAtOnce(false), MaxNIterations(10),
+         ConvergenceLimit(3.e-7), Debug(false), pDebugStream(&cout) {};
+
+      /** Compute the position/time solution, given satellite PRNs and pseudoranges
+       * 'Tr'          Measured time of reception of the data.
+       * 'Satellite'   Vector of satellites; on successful return, satellites that
+       *               were excluded by the algorithm are marked by a negative
+       *               Satellite[i].prn
+       * 'Pseudorange' Vector of raw pseudoranges (parallel to satellite), in meters.
+       *               On successful return, contains residual of fit (m)
+       *               (for unmarked satellites).
+       * 'Eph'         EphemerisStore to be used.
+       *
+       * Return values:
+       *  2  solution found, but it is not good (RMS residual exceed limits)
+       *  1  solution found, but it is suspect (slope is large)
+       *  0  ok
+       * -1  failed to converge
+       * -2  singular problem
+       * -3  not enough good data to form a RAIM solution
+       *     (the 4 satellite solution might be returned - check isValid())
+       * -4  ephemeris not found for one or more satellites
+       */
+      int Compute(const DayTime& Tr, vector<RinexPrn>& Satellite,
+         vector<double>& Pseudorange, const EphemerisStore& Eph,
+         TropModel *pTropModel) throw(Exception);
+
+         /// Return status of solution (output) components of the class
+      bool isValid() const throw() { return Valid; }
+
+      // input:
+
+      /// RMS limit - either residual of fit or distance (see ResidualCriterion).
+      double RMSLimit;
+
+      /// Slope limit.
+      double SlopeLimit;
+
+      /// Use an algebraic (if true) or linearized least squares (if false) algorithm.
+      bool Algebraic;
+
+      /** Use a rejection criterion based on RMS residual of fit (true)
+       * or RMS distance from an a priori position. If false, Solution
+       * must be defined as this a priori position when Compute() is called.
+       */
+      bool ResidualCriterion;
+
+      /** Return as soon as a solution meeting the limit requirements is found
+       * (this makes it a non-RAIM algorithm).
+       */
+      bool ReturnAtOnce;
+
+      /** Maximum number of satellites that may be rejected; if -1, as many as
+       * possible (at least 5 are required). A (single) non-RAIM solution can be
+       * obtained by setting this to 0 before calling compute().
+       */
+      int NSatsReject;
+
+      /// If true, Compute() will output solution information to *pDebugStream.
+      bool Debug;
+
+      /// Pointer to an ostream, default &cout; if Debug is true, Compute() will print
+      /// all preliminary solutions, along with debug information, to it.
+      ostream *pDebugStream;
+
+      // TD optional: measurement covariance matrix
+
+      /// Maximum number of iterations allowed in the linearized least squares
+      /// algorithm.
+      int MaxNIterations;
+
+      /// Convergence limit (m): continue iteration loop while RSS change in
+      /// solution exceeds this.
+      double ConvergenceLimit;
+
+      // output:
+
+      /// flag: output content is valid.
+      bool Valid;
+
+      /** Vector<double> containing the computed position solution (ECEF, meter);
+       * valid only when isValid() is true.
+       */
+      Vector<double> Solution;
+
+      /** 4x4 Matrix<double> containing the computed solution covariance (meter);
+       * valid only when isValid() is true.
+       */
+      Matrix<double> Covariance;
+
+      /** Root mean square residual of fit (except when RMSDistanceFlag is set,
+       * then RMS distance from apriori 4-position); in meters.
+       */
+      double RMSResidual;
+
+      /** Slope computed in the RAIM algorithm (largest of all satellite values)
+       * for the returned solution, dimensionless ??.
+       */
+      double MaxSlope;
+
+      /// the actual number of iterations used (linearized least squares algorithm)
+      int NIterations;
+
+      /// the RSS change in solution at the end of iterations.
+      double Convergence;
+
+      /// the number of good satellites used in the final computation
+      int Nsvs;
+
+   private:
+
+      /** Matrix, dimensioned Nx4, where N data are input, containing satellite
+       * positions at transmit time (0,1,2) and raw pseudorange+clk+relativity (3).
+       */
+      Matrix<double> SVP;
+
+      /// Save the input solution (for use in rejection when ResidualCriterion is
+      /// false).
+      Vector<double> APrioriSolution;
+
+      /// fuction used by RAIM algorithm to cycle through all combinations of
+      /// satellites
+      int IncrementMarkedIndexes(Vector<int>& I, int& n,
+         Vector<bool>& V, int& Vd, int& st);
+
+   }; // end class RAIMSolution
+
+   /** Compute the satellite position / corrected range matrix (SVP); used by
+    * AutonomousPRSolution(). SVP is output, dimensioned (N,4) where N is the number
+    * of satellites and the length of both Satellite and Pseudorange. Data is ignored
+    * whenever Satellite[i].prn is < 0.
+    * Return values:
+    *  0  ok
+    * -4  ephemeris not found for one or more satellites
+    */
+   int PrepareAutonomousSolution(const DayTime& Tr, vector<RinexPrn>& Satellite,
+      vector<double>& Pseudorange, const EphemerisStore& Eph, Matrix<double>& SVP);
+
+   /** Compute a single autonomous pseudorange solution.
+    * Input:
+    *   DayTime Tr           data time tag (for use by some trop models)
+    *   Vector<bool> Use     of length N, the number of satellites; if value is
+    *                           false, do not include it in the computation.
+    *   Matrix<double> SVP   of dimension (N,4).  This Matrix must have been
+    *                           computed by calling PrepareAutonomousPRSolution().
+    *   bool Algebraic       flag indicating algebraic (true) algorithm, or
+    *                           linearized least squares (false).
+    *   pTropModel           pointer to TropModel for use within the algorithm
+    *
+    *   Weight matrix TD......
+    *
+    * Input and output (for least squares only; ignored if Algebraic==true):
+    *   int n_iterate         limit on iterations. On output, the number of iterations
+    *                            used.
+    *   double converge       convergence criterion (RSS change in solution, meters).
+    *                            On output, the final value.
+    * Output:  (these will be resized within the function)
+    *   Vector<double> Sol    solution (ECEF & time; all in meters) length 4
+    *   Matrix<double> Cov    covariance matrix (meter*meter) dimension 4x4
+    *   Vector<double> Resid  range residuals for each satellite (m),
+    *                            length N-(number of satellites with Use=true).
+    *   Vector<double> Slope  slope value used in RAIM for each good satellite,
+    *                            length N
+    * Return values:
+    *  0  ok
+    * -1  failed to converge
+    * -2  singular problem
+    * -3  not enough good data to form a solution (at least 4 satellites required)
+    * -4  ephemeris not found for one or more satellites
+    */
+   int AutonomousPRSolution(const DayTime& Tr, const Vector<bool>& Use,
+      const Matrix<double> SVP, TropModel *pTropModel, const bool Algebraic,
+      int& n_iterate, double& converge, Vector<double>& Sol, Matrix<double>& Cov,
+      Vector<double>& Resid, Vector<double>& Slope)
+         throw(Exception);
+
+   //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/README b/trunk/src/README
new file mode 100644
index 0000000..e7b986f
--- /dev/null
+++ b/trunk/src/README
@@ -0,0 +1,201 @@
+// this is for Doxygen to parse and add to the documentation
+
+/**
+ * @file README
+ * Documentation for Doxygen
+ */
+
+/** @mainpage
+ * This documentation describes the architecture and design of the
+ * GPS ToolKit (GPSTk), produced by the Space and Geophysics Laboratory (SGL)
+ * of Applied Research Laboratories, The University of Texas at Austin (ARL:UT).
+ *
+ * \section intro Introduction
+ * GPSTK is a library of support routines designed for use by programmers
+ * developing applications that read and write (particularly in RINEX format),
+ * process and otherwise manipulate GPS data. It is characterized by the following:
+ * - Modern, ANSI C++; highly object oriented
+ * - Uses templates, the Standard Template Library (STL) and iostreams classes
+ * - Portable and platform independent
+ * - Includes full implementation of the RINEX (Receiver Independent Exchange Format) I/O
+ *
+ * \section codedesign Code Design
+ * \subsection namesp Namespaces
+ * All GPSTK code is placed within the gpstk namespace. Within the gpstk namespace, other
+ * namespaces are defined for certain specialized functionality; these include
+ * - gpstk::BinUtils in the Binary utilities module
+ * - gpstk::FileUtils in the File utilities module
+ * - gpstk::StringUtils in the String utilities module
+ *
+ * Namespace std is also used throughout the GPSTK.
+ *
+ * \subsection other Other
+ * [Other high level code design things...]
+ *
+ * \section content Library Content
+ * The library consists of several modules, which are more or less dependent upon each
+ * other. These include
+ * - Exceptions for use throughout the library
+ * - Binary utilities
+ * - STL "helpers"
+ * - String utilities
+ * - Command line options
+ * - Date and time conversions
+ * - Formatted file I/O
+ * - File utilities, including file filters and filter hunter
+ * - Vector and Matrix algorithms
+ * - Mathematical algorithms
+ * - Geodetic coordinates, conversions, etc
+ * - Complete RINEX implementation (including Glonass and other data),
+ *    with extensions that allow user-defined observation types
+ *   -# Rinex Meterological file I/O
+ *   -# Rinex Navigation file I/O
+ *   -# Rinex Observation file I/O
+ * - Ephemeris calculations, including almanac and ICD-GPS-200 algorithms
+ * - Ephemeris I/O and storage
+ * - SP3 format file ("precise ephemeris") I/O and storage
+ * - GPS navigation solution algorithms
+ * - Basic application frameworks
+ * - P-Code generator
+ *
+ * \section applic Applications
+ * This distribution also includes several stand-alone application programs which
+ * also serve as examples of how to use the GPSTK. These include
+ * - Rinex summary
+ * - Rinex editor
+ * - Discontinuity Correction (i.e. cycle slip fixing)
+ * - Residual and correction generator
+ *
+ */
+
+/** @namespace gpstk Namespace for entire GPSTK library. */
+
+// These are all the example and test files we have and a brief description
+// of each.
+
+/**
+ * @example AnotherFileFilterTest.cpp
+ */
+
+/**
+ * @example EphComp.cpp
+ */
+
+/**
+ * @example FileSpecTest.cpp
+ */
+
+/**
+ * @example MatrixTest.cpp
+ */
+
+/**
+ * @example NavMerge.cpp
+ */
+
+/**
+ * @example RungeKuttaTest.cpp
+ * The full, nonlinear equation of motion for a simple pendulum.
+ * Tests the RungeKutta4 integrator class.
+ *
+ */
+
+/**
+ * @example Xbegweek.cpp
+ */
+
+/**
+ * @example Xendweek.cpp
+ */
+
+/**
+ * @example daytimetest.cpp
+ * Tests the DayTime class.
+ */
+
+/**
+ * @example exceptiontest.cpp
+ * Tests exceptions.
+ */
+
+/**
+ * @example petest.cpp
+ */
+
+/**
+ * @example rinex_met_read_write.cpp
+ * Reads an input RINEX Met file, writes out the same data. The input and 
+ * output files should diff without error if everything is working right.
+ */
+
+/**
+ * @example rinex_met_test.cpp
+ * Reads an input RINEX Met file to test file data processing.
+ */
+
+/**
+ * @example rinex_nav_read_write.cpp
+ * Reads an input RINEX Nav file, writes out the same data. The input and 
+ * output files should diff without error if everything is working right.
+ */
+
+/**
+ * @example rinex_nav_test.cpp
+ * Reads an input RINEX Nav file to test file data processing.
+ */
+
+/**
+ * @example rinex_obs_read_write.cpp
+ * Reads an input RINEX Obs file, writes out the same data. The input and 
+ * output files should diff without error if everything is working right.
+ */
+
+/**
+ * @example rinex_obs_test.cpp
+ * Reads an input RINEX Obs file to test file data processing.
+ */
+
+/**
+ * @example stringutiltest.cpp
+ * Tests the string utilities.
+ */
+
+/**
+ * @example example1.cpp
+ * Demonstrates the most basic properties of DayTime.
+ */
+
+/**
+ * @example example2.cpp
+ * Demonstrates the most basic properties of RINEX input and output.
+ */
+
+/**
+ * @example example3.cpp
+ * Demonstrates simple manipulation of RINEX observables.
+ */
+
+/**
+ * @example example4.cpp
+ * Demonstrates the position solutions.
+ */
+
+/**
+ * @example DayTimeToleranceTest.cpp
+ * Tests DayTime for user-defined comparison tolerances.
+ */
+
+/**
+ * @example DayTimeIncrementTest.cpp
+ * Tests DayTime's ability to reject accumulation of floating point error
+ * when incremented or decremented.
+ */
+
+/** EMACS **
+ * Local variables:
+ * mode: c++
+ * End:
+ */
+
+
+
diff --git a/trunk/src/RTFileFrame.hpp b/trunk/src/RTFileFrame.hpp
new file mode 100644
index 0000000..80e1848
--- /dev/null
+++ b/trunk/src/RTFileFrame.hpp
@@ -0,0 +1,599 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RTFileFrame.hpp#3 $"
+
+/**
+ * @file RTFileFrame.hpp
+ * Realtime file frame
+ */
+
+#ifndef GPSTK_RTFILEFRAME_HPP
+#define GPSTK_RTFILEFRAME_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <iterator>
+#include "FileSpec.hpp"
+#include "FileFilter.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup filedirgroup */
+   //@{
+
+      /// specifying internal enums and classes of a template class can be 
+      /// problematic, so these are declared outside RTFileFrame
+   class RTFileFrameHelper
+   {
+   public:
+      enum GetRecordMode
+      {
+         Dumb  = 0, ///< only tries to read once from current file
+         Smart = 1  ///< if cannot read, rolls files or waits for data
+      };
+      
+         /**
+          * Whether additional file data can be read from the end of a file
+          * or not.  
+          */
+      enum FileReadingMode
+      {
+         AppendedData = 0,     ///< read only appended data.
+         FromTheBeginning = 1  ///< reread from the beginning every time.
+      };
+   };
+
+      // forward declaration of the RTFileFrame class
+   template <class FileStream, class FileData>
+   class RTFileFrame;
+
+      /**
+       * An iterator class for the RTFileFrame.  Note how much it looks
+       * like std::istream_iterator except for a couple of differences..
+       */
+   template <class FileStream, class FileData>
+   class RTFileFrameIterator
+   {
+   public:
+         /// default constructor
+      RTFileFrameIterator() 
+            : rtff(NULL)
+         {}
+
+         /// copy constructor
+      RTFileFrameIterator(const RTFileFrameIterator& right)
+            : rtff(right.rtff)
+         {}
+
+         /// destructor
+      virtual ~RTFileFrameIterator() {}
+
+         /// assignment operator
+      RTFileFrameIterator& operator=(const RTFileFrameIterator& r)
+         { 
+            rtff = r.rtff; 
+            return *this; 
+         }
+
+         /// prefix increment of internal iterator
+      RTFileFrameIterator operator++()
+         {
+            rtff->getRecord();
+            return *this;
+         }
+
+         /// postfix increment of internal iterator
+      RTFileFrameIterator operator++(int)
+         {
+            RTFileFrameIterator<FileStream, FileData> temp = *this;
+            read();
+            return temp;
+         }
+
+         /// dereference object for current object
+      const FileData& operator*() const
+         {
+            return rtff->lastData;
+         }
+
+         /// dereference pointer for current object
+      const FileData* operator->() const
+         {
+            return &(rtff->lastData);
+         }
+      
+         /// equality operator
+      bool operator==(const RTFileFrameIterator& right) const
+         {
+            if (rtff == right.rtff)
+            {
+               if (rtff == NULL)
+                  return true;
+               
+               if ((rtff->isOK == right.rtff->isOK) ||
+                   (!rtff->isOK && (right.rtff->fileStream == rtff->fileStream)))
+                  return true;
+               return false;
+            }
+            else if ((rtff == NULL) && (right.rtff))
+               return !right.rtff->isOK;
+            else if ((right.rtff == NULL) && (rtff))
+               return !rtff->isOK;
+            else
+               return false;
+         }
+
+         /// inequality operator
+      bool operator!=(const RTFileFrameIterator& right) const
+         { return !(*this == right);}
+
+         /// give RTFileFrame access to the 
+      friend class RTFileFrame<FileStream, FileData>;
+      
+   protected:
+         /// gets the next record
+      void read() 
+         { rtff->getRecord(); }
+
+   private:
+         /// constructor for use by gpstk::RTFileFrame<FileStream, FileData>.
+      RTFileFrameIterator(gpstk::RTFileFrame<FileStream, FileData>& r)
+            : rtff(&r)
+         { rtff->getRecord(); }
+
+         /// gives access to the RTFileFrame being used
+      gpstk::RTFileFrame<FileStream, FileData>* rtff;
+   };
+
+      /**
+       * This class supports two iteration semantics.
+       * @code
+       * RTFileFrameIterator<SMODFStream, SMODFData> itr = rtf.begin();
+       * while(itr != rtf.end())
+       * {
+       *       // do something
+       *    cout << *itr << endl;
+       *    itr++;
+       * }
+       * rtf.waitForData(10);
+       * @endcode
+       * and the legacy interface
+       * @code
+       * while(rtf.getRecord())
+       * {
+       *      // use data() to get the last read record
+       *    cout << rtf.data() << endl;
+       * }
+       * rtf.waitForData(10);
+       * @endcode
+       * The waitForData() call will ready the internal file stream 
+       * for the next read.  Remember that RTFileFrameIterator is a
+       * past-the-end style iterator, so you must reset it to begin() when
+       * it has finished otherwise you'll get no data. In Dumb mode, 
+       * you will need to use the openNextDay() function to advance
+       * to tne next day.  
+       * When you reach the end of a data set, there are three ways
+       * to restore the valid state of the RTFileFrame iteration:
+       * @code rtf.waitForData(900) @endcode
+       * This is the best option for either Smart or Dumb mode, ensuring
+       * that the file gets reopened correctly.
+       * @code rtf.openCurrentFile() @endcode
+       * Reopens the current file, destroying the current read position.
+       * In other words, don't use this in Smart mode.
+       * @code rtf.openNextDay() @endcode
+       * This will open the next day's file, obviously resetting
+       * the read position for the stream.
+       * @warning In Smart mode, you could potentially miss data when
+       * you pass to the start of a new day if data gets written to the
+       * file of the previous day.  
+       * @warning DO NOT MIX THE TWO ITERATOR SEMANTICS. Doing so, you will
+       * definately miss data.
+       * 
+       *
+       */
+   template <class FileStream, class FileData>
+   class RTFileFrame : public RTFileFrameHelper
+   {
+   public:
+         /**
+          * constructor
+          * @param fnFormat string defining how the files names are formatted
+          * @param beginning time of data to start streaming from
+          * @param ending time of data to stop streaming at
+          * @param frm mode used to read file (new data or all)
+          * @param grm mode used when end of file is reached (new data or all)
+          * @throw Exception an error ocurred
+          */
+      RTFileFrame(const gpstk::FileSpec& fnFormat,
+                  const gpstk::DayTime& beginning = gpstk::DayTime(),
+                  const gpstk::DayTime& ending = gpstk::DayTime::END_OF_TIME, 
+                  const FileReadingMode frm = AppendedData,
+                  const GetRecordMode grm = Dumb)
+         throw(gpstk::Exception);
+      
+         /// destructor
+      ~RTFileFrame();
+      
+         /// Allows changing of the FileReadingMode
+      RTFileFrame& setFileReadingMode(const FileReadingMode f);
+
+         /// Allows changing of the GetRecordMode
+      RTFileFrame& setGetRecordMode(const GetRecordMode g);
+
+         /**
+          * Waits \a wait number of seconds, then reopens the file
+          * and sets the next read as appropriate for the FileReadingMode.
+          * @param wait number of seconds to sleep.
+          */
+      void waitForData(unsigned wait = 0);
+
+         /// returns true if the file currently being read from has
+         /// changed since its last read
+      bool hasFileChanged();
+      
+         /// Returns true if all data for the given time has been read.
+      bool endOfDataSet();
+
+         /// end of data set iterator, useful for loops
+      RTFileFrameIterator<FileStream, FileData> end();
+
+         /// start of data set, set appropriately for the 
+         /// given FileReadingMode.  if in AppendedData mode, begin will
+         /// start at the next record that hasn't been read.  if in
+         /// FromTheBeginning mode, begin starts at the start of the 
+         /// current file.
+      RTFileFrameIterator<FileStream, FileData> begin();
+
+         /// reads the next record in the file
+         /// @return true if a record was read, otherwise false.
+      bool getRecord();
+
+         /// when in Dumb mode, use this function to advance to the next day.
+      void openNextDay();
+      
+         /// returns the last read data
+      const FileData& data() const { return lastData;}
+
+         /// this traverses the RTFileFrame from begin() to end(), adding
+         /// each item to a list that gets returned. Using this will
+         /// change the file position, so getRecord and any iterators
+         /// will not be the same after this call.
+      std::list<FileData> getList() const;
+
+         /// this traverses the RTFileFrame from begin() to end(), adding
+         /// each item to a FileFilter that gets returned. Using this will
+         /// change the file position, so getRecord and any iterators
+         /// will not be the same after this call.
+      FileFilter<FileData> getFileFilter() const;
+
+         /// returns the name of the current file begin used
+      std::string getCurrentFile() const {return currentFileName;}
+
+         /// returns the current time used for finding files
+      gpstk::DayTime getCurrentTime() const {return currentTime;}
+
+         /// let the iterator see this class's insides
+      friend class RTFileFrameIterator<FileStream, FileData>;
+
+         /// reopens the file \a currentFileName
+      bool openCurrentFile();
+
+         /// close the file \a currentFileName
+      void closeCurrentFile();
+
+   protected:
+         /// the internal file stream for the internal iterator
+      FileStream* fileStream;
+
+      FileData lastData;
+         /// the last get position from the file
+      std::streampos lastPosition;
+         /// the last file to be read
+      std::string currentFileName;
+         /// the file spec for determining file names
+      gpstk::FileSpec fs;
+      
+      gpstk::DayTime startTime, ///< start time for file searching
+         currentTime,            ///< time last used for finding a file
+         endTime;                ///< end time for file searching
+         /// the FileReadingMode for the reader
+      FileReadingMode readMode;
+         /// the GetRecordMode for the reader
+      GetRecordMode getMode;
+         /// keeps track of the last modify date for the last file read
+      struct stat fileInfo;
+         /// isOK is only false when the user needs to take action
+         /// to continue reading - by calling waitForData(),
+         /// openNextDay(), or openCurrentFile()
+      bool isOK;
+   };
+
+   //@}
+
+   template <class FileStream, class FileData>
+   RTFileFrame<FileStream, FileData>::
+   RTFileFrame<FileStream, FileData>(const gpstk::FileSpec& fnFormat,
+                                     const gpstk::DayTime& beginning,
+                                     const gpstk::DayTime& ending, 
+                                     const RTFileFrameHelper::FileReadingMode frm,
+                                     const RTFileFrameHelper::GetRecordMode grm)
+      throw(gpstk::Exception)
+         : fileStream(NULL), fs(fnFormat), startTime(beginning), 
+           currentTime(beginning), endTime(ending), readMode(frm), getMode(grm)
+   {
+         // zero out seconds
+      startTime.setMJDdate(floor(startTime.MJDdate()));
+      endTime.setMJDdate(floor(endTime.MJDdate()));
+      currentTime.setMJDdate(floor(currentTime.MJDdate()));
+
+         // set up the stream
+      openCurrentFile();
+   }
+
+   template <class FileStream, class FileData>
+   RTFileFrame<FileStream, FileData>::~RTFileFrame()
+   {
+      if (fileStream)
+      {
+         fileStream->close();
+         delete fileStream;
+      }
+   }
+
+   template <class FileStream, class FileData>
+   RTFileFrame<FileStream, FileData>& 
+   RTFileFrame<FileStream, FileData> :: 
+   setFileReadingMode(const RTFileFrameHelper::FileReadingMode f)
+   { 
+     readMode = f; 
+     return *this; 
+   }
+
+         /// Allows changing of the GetRecordMode
+   template <class FileStream, class FileData>
+   RTFileFrame<FileStream, FileData>& 
+   RTFileFrame<FileStream, FileData> :: 
+   setGetRecordMode(const RTFileFrameHelper::GetRecordMode g)
+   { 
+      getMode = g; 
+      return *this;
+   }
+
+   template <class FileStream, class FileData>
+   void
+   RTFileFrame<FileStream, FileData>::waitForData(unsigned wait)
+   {
+      sleep(wait);
+      if(readMode == AppendedData)
+      {  
+            // reopen the file and skip to where we left off - openCurrentFile
+            // will overwrite lastPosition...
+         std::streampos cachedPos = lastPosition;
+         if(openCurrentFile())
+            fileStream->seekg(cachedPos);
+         lastPosition = cachedPos;
+      }
+      else
+      {
+            // start from the beginning
+         openCurrentFile();
+      }
+   }
+
+   template <class FileStream, class FileData>
+   bool
+   RTFileFrame<FileStream, FileData>::hasFileChanged()
+   {
+      struct stat tempStat;
+      if (stat(currentFileName.c_str(), &tempStat))
+         return false;
+      if (tempStat.st_mtime != fileInfo.st_mtime)
+         return true;
+      else 
+         return false;
+   }
+
+   template <class FileStream, class FileData>
+   bool
+   RTFileFrame<FileStream, FileData>::endOfDataSet()
+   {
+      if (currentTime > endTime)
+         return true;
+      else
+         return false;
+   }
+
+   template <class FileStream, class FileData>
+   RTFileFrameIterator<FileStream, FileData>
+   RTFileFrame<FileStream, FileData>::end()
+   {
+      return RTFileFrameIterator<FileStream, FileData>();
+   }
+
+   template <class FileStream, class FileData>
+   RTFileFrameIterator<FileStream, FileData> 
+   RTFileFrame<FileStream, FileData>::begin()
+   {
+      if (readMode == AppendedData)
+      {
+         ;
+      }
+      else // if (readMode == FromTheBeginning)
+      {
+         openCurrentFile();
+      }
+         // this constructor does not read in the first record, so force it
+         // to do so before returning
+      RTFileFrameIterator<FileStream, FileData> toReturn(*this);
+      return toReturn;
+   }
+
+   template <class FileStream, class FileData>
+   bool
+   RTFileFrame<FileStream, FileData>::getRecord()
+   {
+      if (!isOK)
+         return false;
+
+         // is the stream still good to read?
+      if (*fileStream >> lastData)
+      {
+         lastPosition = fileStream->tellg();
+         return true;
+      }
+         // the last read failed - try opening the next file until
+         // today's file is reched or else return false
+      else
+      {
+            // read the next file or not?
+         if (getMode == Smart)
+         {
+            if (!endOfDataSet())
+            {
+                  // still before today?
+               gpstk::DayTime today;
+               today.setYDoySod(today.year(), today.DOY(), 0);
+               
+               if (currentTime < today)
+               {
+                  openNextDay();
+                  return getRecord();
+               }
+                  // we've read through today, so just wait until tomorrow's
+                  // data comes in - the user needs to call waitForData()
+                  // to continue
+               else
+                  isOK = false;
+            }
+            else
+            {
+               isOK = false;
+            }
+         } // if (getmode == smart)
+
+            // in dumb mode, the user needs to call openNextDay or
+            // openCurrentFile to continue.
+         else
+         {
+            isOK = false;
+         }
+      } // if (isOK)
+      return isOK;
+   }
+
+   template <class FileStream, class FileData>
+   void
+   RTFileFrame<FileStream, FileData>::openNextDay()
+   {
+         // open a new file for another day, if any.
+      currentTime += gpstk::DayTime::SEC_DAY;
+      if (!endOfDataSet())
+         openCurrentFile();
+   }
+   
+   template <class FileStream, class FileData>
+   std::list<FileData>
+   RTFileFrame<FileStream, FileData>::getList() const
+   {
+      RTFileFrameIterator<FileStream, FileData> inputStream;
+      std::list<FileData> toReturn;
+      inputStream = begin();
+      while (inputStream != end())
+      {
+         toReturn.push_back(data());
+      }
+      return toReturn;
+   }
+
+   template <class FileStream, class FileData>
+   FileFilter<FileData>
+   RTFileFrame<FileStream, FileData>::getFileFilter() const
+   {
+      RTFileFrameIterator<FileStream, FileData> inputStream;
+      FileFilter<FileData> toReturn;
+      inputStream = begin();
+      while (inputStream != end())
+      {
+         toReturn.addData(data());
+      }
+      return toReturn;
+   }
+
+   template <class FileStream, class FileData>
+   bool
+   RTFileFrame<FileStream, FileData>::openCurrentFile()
+   {
+      isOK = false;
+      currentFileName = fs.toString(currentTime);
+      stat(currentFileName.c_str(), &fileInfo);
+      lastPosition = 0;
+
+      if(fileStream)
+      {
+         fileStream->close();
+         delete fileStream;
+         fileStream = NULL;
+      }
+
+      fileStream = new FileStream;
+      fileStream->open(currentFileName.c_str(), std::ios::in);
+      if (!fileStream->fail())
+         isOK = true;
+      return isOK;
+   }
+
+   template <class FileStream, class FileData>
+   void
+   RTFileFrame<FileStream, FileData>::closeCurrentFile()
+   {
+      if(fileStream)
+      {
+         fileStream->close();
+         delete fileStream;
+         fileStream = NULL;
+      }
+      isOK = false;
+   }
+
+} // namespace gpstk
+
+#endif  // GPSTK_RTFILEFRAME_HPP
diff --git a/trunk/src/RinexEphemerisStore.cpp b/trunk/src/RinexEphemerisStore.cpp
new file mode 100644
index 0000000..59b3d1b
--- /dev/null
+++ b/trunk/src/RinexEphemerisStore.cpp
@@ -0,0 +1,102 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexEphemerisStore.cpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexEphemerisStore.cpp
+ * Read & store Rinex formated ephemeris data
+ */
+
+#include "RinexEphemerisStore.hpp"
+#include "MiscMath.hpp"
+#include "ECEF.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace gpstk::StringUtils;
+
+namespace gpstk
+{
+   //-----------------------------------------------------------------------------
+   //-----------------------------------------------------------------------------
+   void RinexEphemerisStore::loadFile(const std::string& filename)
+      throw(gpstk::FileMissingException)
+   {
+      try
+      {
+         RinexNavStream strm(filename.c_str());
+         if (!strm)
+         {
+            FileMissingException e("File " + filename + " could not be opened.");
+            GPSTK_THROW(e);
+         }
+      
+         RinexNavHeader header;
+         strm >> header;
+
+         addFile(filename, header);
+
+         RinexNavData rec;
+         while(strm >> rec)
+            addEphemeris(rec);
+      }
+      catch (gpstk::Exception& e)
+      {
+         GPSTK_RETHROW(e);
+      }
+   }  // end RinexEphemerisStore::load
+
+
+   //--------------------------------------------------------------------------
+   //--------------------------------------------------------------------------
+   void RinexEphemerisStore::dump(short detail, std::ostream& s) const
+   {
+      s << "Dump of RinexEphemerisStore:" << std::endl;
+      std::vector<std::string> fileNames = getFileNames();
+      std::vector<std::string>::const_iterator f=fileNames.begin();
+      for (f=fileNames.begin(); f!=fileNames.end(); f++)
+         s << *f << std::endl;
+
+      BCEphemerisStore::dump(detail, s);
+
+   } // end of RinexEphemerisStore::dump
+
+}  // namespace gpstk
diff --git a/trunk/src/RinexEphemerisStore.hpp b/trunk/src/RinexEphemerisStore.hpp
new file mode 100644
index 0000000..96af676
--- /dev/null
+++ b/trunk/src/RinexEphemerisStore.hpp
@@ -0,0 +1,96 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexEphemerisStore.hpp#2 $"
+
+/**
+ * @file RinexEphemerisStore.hpp
+ * Read and store Rinex formated ephemeris data
+ */
+
+#ifndef GPSTK_RINEX_EPHEMERIS_STORE_HPP
+#define GPSTK_RINEX_EPHEMERIS_STORE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+
+#include "BCEphemerisStore.hpp"
+#include "FileStore.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup ephemstore */
+   //@{
+
+      /**
+       * This adds the interface to read Rinex files into a BCEphemerisStore
+       */
+   class RinexEphemerisStore : public BCEphemerisStore, 
+                               public FileStore<RinexNavHeader>
+   {
+   public:
+      /// Constructor.
+      RinexEphemerisStore() throw() {BCEphemerisStore();}
+
+      /// destructor
+      virtual ~RinexEphemerisStore() {}
+      
+      /** Dump the store to cout.
+       * @param detail determines how much detail to include in the output
+       *   0 list of filenames with their start, stop times.
+       *   1 list of filenames with their start, stop times,
+       *     other header information and prns/accuracy.
+       *   2 above, plus dump all the PVT data (use judiciously).
+       */
+      void dump(short detail=0, std::ostream& s=std::cout) const;
+
+      /// load the given Rinex file
+      void loadFile(const std::string& filename) 
+         throw(FileMissingException);
+   };
+
+   //@}
+
+}  // namespace
+
+#endif
diff --git a/trunk/src/RinexMetBase.hpp b/trunk/src/RinexMetBase.hpp
new file mode 100644
index 0000000..ca5873b
--- /dev/null
+++ b/trunk/src/RinexMetBase.hpp
@@ -0,0 +1,73 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetBase.hpp#1 $"
+
+/**
+ * @file RinexMetBase.hpp
+ * Base class for RINEX meterological file data
+ */
+
+#ifndef GPSTK_RINEXMETBASE_HPP
+#define GPSTK_RINEXMETBASE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFData.hpp"
+
+namespace gpstk
+{
+   /** @defgroup RinexMet RINEX meterological files */
+   //@{
+
+  /**
+   * This class serves no purpose other than to make readable diagrams.
+   */
+   class RinexMetBase : public FFData
+   {
+   public:
+         /// Destructor per our coding standards
+      virtual ~RinexMetBase() {}
+   };
+
+   //@}
+
+}
+
+#endif
diff --git a/trunk/src/RinexMetData.cpp b/trunk/src/RinexMetData.cpp
new file mode 100644
index 0000000..4164377
--- /dev/null
+++ b/trunk/src/RinexMetData.cpp
@@ -0,0 +1,281 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetData.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexMetData.cpp
+ * Encapsulate RINEX meterological file data, including I/O
+ */
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "RinexMetHeader.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetStream.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+   const int RinexMetData::maxObsPerLine = 8;
+   const int RinexMetData::maxObsPerContinuationLine = 10;
+
+   void RinexMetData::reallyPutRecord(FFStream& ffs) const
+      throw(std::exception, FFStreamError, 
+            gpstk::StringUtils::StringException)
+   {
+      const int maxObsPerOutputLine = 7;
+      const int maxObsPerOutputContLine = 10;
+
+      RinexMetStream& strm = dynamic_cast<RinexMetStream&>(ffs);
+      string line;
+      
+         // write the first line
+      line += " ";
+      line += rightJustify(asString<short>(time.year()),2,'0');
+      line += " ";
+      line += rightJustify(asString<short>(time.month()),2);
+      line += " ";
+      line += rightJustify(asString<short>(time.day()),2);
+      line += " ";
+      line += rightJustify(asString<short>(time.hour()),2);
+      line += " ";
+      line += rightJustify(asString<short>(time.minute()),2);
+      line += " ";
+      line += rightJustify(asString<short>(short(time.second())),2);
+      
+      for (int i = 0; 
+           (i < strm.header.obsTypeList.size()) &&
+              (i < maxObsPerOutputLine);
+           i++)
+      {
+         RinexMetHeader::RinexMetType thistype = strm.header.obsTypeList[i];
+         RinexMetMap::const_iterator itr = data.find(thistype);
+         if (itr == data.end())
+         {
+            FFStreamError err("Couldn't find data for " + 
+                              RinexMetHeader::convertObsType(strm.header.obsTypeList[i]));
+            GPSTK_THROW(err);
+         }
+         line += rightJustify(asString((*itr).second,1),7);
+      }
+      
+         // do we need continuation lines?
+      if (strm.header.obsTypeList.size() > maxObsPerOutputLine)
+      {
+         for (int i = maxObsPerOutputLine;
+              i < strm.header.obsTypeList.size();
+              i++)
+         {
+            
+            if (((i - maxObsPerOutputLine) % maxObsPerOutputContLine) == 0)
+            {
+               ffs << line << endl;
+               strm.lineNumber++;
+               line.empty();
+               line += string(4,' ');
+            }
+            RinexMetHeader::RinexMetType thistype = strm.header.obsTypeList[i];
+            RinexMetMap::const_iterator itr = data.find(thistype);
+            if (itr == data.end())
+            {
+               FFStreamError err("Couldn't find data for " + 
+                  RinexMetHeader::convertObsType(strm.header.obsTypeList[i]));
+               GPSTK_THROW(err);
+            }
+            line += rightJustify(asString((*itr).second,1),7);
+         }
+      }
+      
+      ffs << line << endl;
+      strm.lineNumber++;
+   }
+
+   void RinexMetData::reallyGetRecord(FFStream& ffs) 
+      throw(std::exception, FFStreamError, 
+            gpstk::StringUtils::StringException)
+   {
+      RinexMetStream& strm = dynamic_cast<RinexMetStream&>(ffs);
+      
+      if(!strm.headerRead)
+         strm >> strm.header;
+      
+      RinexMetHeader& hdr = strm.header;
+      
+      string line;
+      
+         // this is to see whether or not we expect an EOF
+         // when we read this next line
+      if (hdr.obsTypeList.size() > maxObsPerLine)
+         strm.formattedGetLine(line); 
+      else
+         strm.formattedGetLine(line, true); 
+      
+      processFirstLine(line, hdr);
+      
+      time = parseTime(line);
+      
+      while (data.size() < hdr.obsTypeList.size())
+      {
+         if (hdr.obsTypeList.size() - data.size() < maxObsPerContinuationLine)
+            strm.formattedGetLine(line, true); 
+         else
+            strm.formattedGetLine(line);
+         processContinuationLine(line, hdr);
+      }
+      
+      if (data.size() != hdr.obsTypeList.size())
+      {
+         FFStreamError e("Incorrect number of records");
+         GPSTK_THROW(e);
+      }
+   } 
+
+   void RinexMetData::processFirstLine(const string& line,
+                                       const RinexMetHeader& hdr)
+      throw(FFStreamError)
+   {
+      try
+      {
+         for (int i = 0; 
+              (i < maxObsPerLine) && (i < hdr.obsTypeList.size());
+              i++)
+         {
+            int currPos = i * 7 + 18;
+            data[hdr.obsTypeList[i]] = asDouble(line.substr(currPos,7));
+         }
+      }
+      catch (std::exception &e)
+      {
+         FFStreamError err("std::exception: " + string(e.what()));
+         GPSTK_THROW(err);
+      }
+   }
+
+   void RinexMetData::processContinuationLine(const string& line,
+                                              const RinexMetHeader& hdr)
+      throw(FFStreamError)
+   {
+      try
+      {
+         int currentElements = data.size();
+         for (int i = currentElements; 
+              (i < (maxObsPerContinuationLine + currentElements)) && 
+                 (i < hdr.obsTypeList.size());
+              i++)
+         {
+            int currPos = ((i - maxObsPerLine) % maxObsPerContinuationLine) * 7 
+               + 4;
+            data[hdr.obsTypeList[i]] = asDouble(line.substr(currPos,7));
+         }
+      }
+      catch (std::exception &e)
+      {
+         FFStreamError err("std::exception: " + string(e.what()));
+         GPSTK_THROW(err);
+      }
+   }
+
+   DayTime RinexMetData::parseTime(const string& line) const
+      throw(FFStreamError)
+   {
+      try
+      {
+            // according to the RINEX spec, any 2 digit year 80 or greater
+            // is a year in the 1900s (1980-1999), under 80 is 2000s
+         const int YearRollover = 80;
+         
+            // check if the spaces are in the right place - an easy way to check
+            // if there's corruption in the file
+         if ( (line[0] != ' ') ||
+              (line[3] != ' ') ||
+              (line[6] != ' ') ||
+              (line[9] != ' ') ||
+              (line[12] != ' ') ||
+              (line[15] != ' '))
+         {
+            FFStreamError e("Invalid time format");
+            GPSTK_THROW(e);
+         }
+         
+         int year, month, day, hour, min;
+         double sec;
+         
+         year  = asInt(   line.substr(1,  2 ));
+         month = asInt(   line.substr(3,  3 ));
+         day   = asInt(   line.substr(6,  3 ));
+         hour  = asInt(   line.substr(9,  3 ));
+         min   = asInt(   line.substr(12, 3 ));
+         sec   = asInt(   line.substr(15, 3 ));
+         
+         if (year < YearRollover)
+         {
+            year += 100;
+         }
+         year += 1900;
+         
+         DayTime rv(year, month, day, hour, min, sec);
+         return rv;
+      }
+      catch (std::exception &e)
+      {
+         FFStreamError err("std::exception: " + string(e.what()));
+         GPSTK_THROW(err);
+      }
+   }
+
+   void RinexMetData::dump(ostream& s) const
+   {
+      s << time << endl;
+
+      RinexMetMap::const_iterator itr;
+      for(itr = data.begin(); itr != data.end(); itr++)
+      {
+         s << RinexMetHeader::convertObsType((*itr).first) 
+           << " " << (*itr).second << endl;
+      }
+   }
+
+
+
+}  // end of namespace
diff --git a/trunk/src/RinexMetData.hpp b/trunk/src/RinexMetData.hpp
new file mode 100644
index 0000000..606ac6b
--- /dev/null
+++ b/trunk/src/RinexMetData.hpp
@@ -0,0 +1,157 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetData.hpp#1 $"
+
+/**
+ * @file RinexMetData.hpp
+ * Encapsulate RINEX meterological file data, including I/O
+ */
+
+#ifndef GPSTK_RINEXMETDATA_HPP
+#define GPSTK_RINEXMETDATA_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <map>
+
+#include "DayTime.hpp"
+
+#include "FFStream.hpp"
+#include "RinexMetBase.hpp"
+#include "RinexMetHeader.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup RinexMet */
+   //@{
+
+      /** 
+       * This class stores, reads, and writes RINEX MET records. 
+       * @warning When writing a RinexMetData, the RinexMetStream::headerData
+       * must have the correct observation types set or else no data will
+       * be written.
+       *
+       * @sa rinex_met_read_write.cpp for an example.
+       * @sa rinex_met_test.cpp for an example.
+       * @sa RinexMetStream.
+       * @sa RinexMetHeader for information on writing RINEX met files.
+       */
+   class RinexMetData : public RinexMetBase
+   {
+   public:
+      RinexMetData()
+            : time(gpstk::DayTime::BEGINNING_OF_TIME)
+         {}
+
+         /// The next four lines is our common interface
+         /// RinexMetData is "data" so this function always returns true.
+      virtual bool isData(void) const {return true;}
+     
+         /**
+          * A debug output function.
+          */ 
+      virtual void dump(std::ostream& s) const;
+
+         /// A map for storing one line of observations, mapping
+         /// the observation type to its value.
+      typedef std::map<RinexMetHeader::RinexMetType, double> RinexMetMap;
+
+         /** @name Rinex weather data
+          */
+         //@{
+      DayTime time;      ///< The time this data was recorded.
+      RinexMetMap data;  ///< The data itself in map form.
+         //@}
+
+         /// The maximum number of obs per line before you need a new line
+      static const int maxObsPerLine;
+         /// The max number of obs per continuation line before you need
+         /// a new line.
+      static const int maxObsPerContinuationLine;
+      
+   protected:
+         /// Writes the met data to the file stream formatted correctly.
+      void reallyPutRecord(FFStream& s) const
+         throw(std::exception, FFStreamError, 
+               gpstk::StringUtils::StringException);     
+
+         /** 
+          * This function retrieves a RINEX MET record from the given FFStream.
+          * If an error is encountered in reading from the stream, the stream
+          * is returned to its original position and its fail-bit is set.
+          * @throws StringException when a StringUtils function fails
+          * @throws FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs.  This also resets the
+          *  stream to its pre-read position.
+          */
+      virtual void reallyGetRecord(FFStream& s) 
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+
+   private:
+         /// Parses string \a line to get time and met data
+      void processFirstLine(const std::string& line,
+                            const RinexMetHeader& hdr)
+         throw(FFStreamError);
+
+         /// Parses string \a line to get data on continuation lines.
+      void processContinuationLine(const std::string& line,
+                                   const RinexMetHeader& hdr)      
+         throw(FFStreamError);
+
+         /// Parses the time portion of a line into a DayTime object.
+      DayTime parseTime(const std::string& line) const 
+         throw(FFStreamError);
+   };  // class RinexMetData
+
+   //@}
+
+} // namespace
+
+
+#endif
+
+
+
+
+
+
+
+
diff --git a/trunk/src/RinexMetFilterOperators.hpp b/trunk/src/RinexMetFilterOperators.hpp
new file mode 100644
index 0000000..91562ff
--- /dev/null
+++ b/trunk/src/RinexMetFilterOperators.hpp
@@ -0,0 +1,247 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetFilterOperators.hpp#1 $"
+
+/**
+ * @file RinexMetFilterOperators.hpp
+ * Operators for FileFilter using Rinex meterological data
+ */
+
+#ifndef GPSTK_RINEXMETFILTEROPERATORS_HPP
+#define GPSTK_RINEXMETFILTEROPERATORS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "DayTime.hpp"
+#include "FileFilter.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetHeader.hpp"
+
+#include <set>
+
+namespace gpstk
+{
+   /** @addtogroup RinexMet */
+   //@{
+
+   typedef std::unary_function<gpstk::RinexMetHeader, bool> RinexMetDataUnaryOperator;
+   typedef std::binary_function<gpstk::RinexMetData, gpstk::RinexMetData, bool> RinexMetDataBinaryOperator;
+
+      /// This compares all elements of the RinexMetData with less than
+      /// (only for those fields which the two obs data share).
+   struct RinexMetDataOperatorLessThanFull : 
+      public RinexMetDataBinaryOperator
+   {
+   public:
+         /// The set is a set of RinexMetType that the two files have in 
+         /// common.  This is easily generated with the set_intersection
+         /// STL function.  See difftools/rmwdiff.cpp for an example.
+      RinexMetDataOperatorLessThanFull
+      (const std::set<gpstk::RinexMetHeader::RinexMetType>& rmhset)
+            : obsSet(rmhset)
+         {}
+
+      bool operator()(const gpstk::RinexMetData& l,
+                      const gpstk::RinexMetData& r) const
+         {
+               // compare the times, offsets, then only those elements
+               // that are common to both.  this ignores the flags
+               // that are set to 0
+            if (l.time < r.time)
+               return true;
+            else if (l.time != r.time)
+               return false;
+            
+               // then check that each observation has the same data
+               // for each item in the set of common observations
+            gpstk::RinexMetData::RinexMetMap::const_iterator 
+               lItr, rItr;
+            std::set<gpstk::RinexMetHeader::RinexMetType>::const_iterator
+               obsItr = obsSet.begin();
+         
+            while (obsItr != obsSet.end())
+            {
+               rItr = r.data.find(*obsItr);
+               if (rItr == r.data.end())
+                  return false;
+
+               lItr = l.data.find(*obsItr);
+               if (lItr == l.data.end())
+                  return false;
+
+               if ((*lItr).second < (*rItr).second)
+                  return true;
+               if ((*lItr).second > (*rItr).second)
+                  return false;
+
+               obsItr++;
+            }
+
+               // the data is either == or > at this point
+            return false;
+         }
+
+   private:
+      std::set<gpstk::RinexMetHeader::RinexMetType> obsSet;
+   };
+
+      /// Only compares times
+   struct RinexMetDataOperatorLessThanSimple : 
+      public RinexMetDataBinaryOperator
+   {
+   public:
+      bool operator()(const gpstk::RinexMetData& l,
+                      const gpstk::RinexMetData& r) const
+         {
+            if (l.time < r.time)
+               return true;
+            return false;
+         }
+   };
+
+      /// Only compares times
+   struct RinexMetDataOperatorEqualsSimple : 
+      public RinexMetDataBinaryOperator
+   {
+   public:
+      bool operator()(const gpstk::RinexMetData& l,
+                      const gpstk::RinexMetData& r) const
+         {
+            if (l.time == r.time)
+               return true;
+            return false;
+         }
+   };
+
+      /// Combines RinexMetHeaders into a single header, combining comments
+      /// and adding the appropriate RinexMetTypes.  This assumes that
+      /// all the headers come from the same station for setting the other
+      /// header fields. After running touch() on a list of RinexMetHeader,
+      /// the internal theHeader will be the merged header data for
+      /// those files and obsSet will be the set of RinexMetTypes that
+      /// will be printed to the file.
+   struct RinexMetHeaderTouchHeaderMerge :
+      public RinexMetDataUnaryOperator
+   {
+   public:
+      RinexMetHeaderTouchHeaderMerge()
+            : firstHeader(true)
+         {}
+
+      bool operator()(const gpstk::RinexMetHeader& l)
+         {
+            if (firstHeader)
+            {
+               theHeader = l;
+               firstHeader = false;
+            }
+            else
+            {
+               std::set<gpstk::RinexMetHeader::RinexMetType> thisMetSet, 
+                  tempMetSet;
+               std::set<std::string> commentSet;
+               obsSet.clear();
+
+                  // insert the comments to the set
+                  // and let the set take care of uniqueness
+               copy(theHeader.commentList.begin(),
+                    theHeader.commentList.end(),
+                    inserter(commentSet, commentSet.begin()));
+               copy(l.commentList.begin(),
+                    l.commentList.end(),
+                    inserter(commentSet, commentSet.begin()));
+                  // then copy the comments back into theHeader
+               theHeader.commentList.clear();
+               copy(commentSet.begin(), commentSet.end(),
+                    inserter(theHeader.commentList,
+                             theHeader.commentList.begin()));
+
+                  // find the set intersection of the obs types
+               copy(theHeader.obsTypeList.begin(),
+                    theHeader.obsTypeList.end(),
+                    inserter(thisMetSet, thisMetSet.begin()));
+               copy(l.obsTypeList.begin(),
+                    l.obsTypeList.end(),
+                    inserter(tempMetSet, tempMetSet.begin()));
+               set_intersection(thisMetSet.begin(), thisMetSet.end(),
+                                tempMetSet.begin(), tempMetSet.end(),
+                                inserter(obsSet, obsSet.begin()));
+                  // then copy the obsTypes back into theHeader
+               theHeader.obsTypeList.clear();
+               copy(obsSet.begin(), obsSet.end(),
+                    inserter(theHeader.obsTypeList, 
+                             theHeader.obsTypeList.begin()));
+            }
+            return true;
+         }
+
+      bool firstHeader;
+      gpstk::RinexMetHeader theHeader;
+      std::set<gpstk::RinexMetHeader::RinexMetType> obsSet;
+   };
+
+
+      /// This filter will remove any data not within the specified time range.
+   struct RinexMetDataFilterTime : public RinexMetDataUnaryOperator
+   {
+   public:
+      RinexMetDataFilterTime(const gpstk::DayTime& startTime,
+                             const gpstk::DayTime& endTime)
+            : start(startTime), end(endTime)
+      {}
+      
+      bool operator() (const gpstk::RinexMetData& l) const
+      {
+         if ( (l.time < start) ||
+              (l.time >= end))
+            return true;
+         return false;
+      }
+      
+   private:
+      gpstk::DayTime start, end;
+   };
+
+   //@}
+
+}
+
+
+#endif
diff --git a/trunk/src/RinexMetHeader.cpp b/trunk/src/RinexMetHeader.cpp
new file mode 100644
index 0000000..e208e6b
--- /dev/null
+++ b/trunk/src/RinexMetHeader.cpp
@@ -0,0 +1,494 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetHeader.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexMetHeader.cpp
+ * Encapsulate header of Rinex meterological file data, including I/O
+ */
+
+#include <algorithm>       // for find
+
+#include "StringUtils.hpp"
+#include "RinexMetHeader.hpp"
+#include "RinexMetStream.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+   const int RinexMetHeader::maxObsPerLine = 9;
+
+   const string RinexMetHeader::versionString = "RINEX VERSION / TYPE";
+   const string RinexMetHeader::runByString = "PGM / RUN BY / DATE";
+   const string RinexMetHeader::commentString = "COMMENT";
+   const string RinexMetHeader::markerNameString = "MARKER NAME";
+   const string RinexMetHeader::markerNumberString = "MARKER NUMBER";
+   const string RinexMetHeader::obsTypeString = "# / TYPES OF OBSERV";
+   const string RinexMetHeader::sensorTypeString = "SENSOR MOD/TYPE/ACC";
+   const string RinexMetHeader::sensorPosString = "SENSOR POS XYZ/H";
+   const string RinexMetHeader::endOfHeader = "END OF HEADER";
+
+   std::string RinexMetHeader::bitString(unsigned long vb, char quote,
+                                         std::string sep)
+   {
+      unsigned long b = 1;
+      std::string rv;
+      while (b)
+      {
+         if (vb & b)
+         {
+            if (rv.length())
+               rv += sep;
+            if (quote)
+               rv += quote + bitsAsString((validBits)b) + quote;
+            else
+               rv += bitsAsString((validBits)b);
+         }
+         b <<= 1;
+      }
+      return rv;
+   }
+
+   void RinexMetHeader::reallyPutRecord(FFStream& ffs) const
+      throw(std::exception, FFStreamError,
+            gpstk::StringUtils::StringException)
+   {
+      RinexMetStream& strm = dynamic_cast<RinexMetStream&>(ffs);
+      
+         // since they want to output this header, let's store
+         // it internally for use by the data
+      strm.header = (*this);
+      
+         // i'm casting out const here to set the correct required valid bits.
+         // deal with it =P
+      unsigned long allValid;
+      if (version == 2.0)        allValid = allValid20;
+      else if (version == 2.1)   allValid = allValid21;
+      else
+      {
+         FFStreamError err("Unknown RINEX version: " + asString(version,2));
+         err.addText("Make sure to set the version correctly.");
+         GPSTK_THROW(err);
+      }
+      
+      if ((valid & allValid) != allValid)
+      {
+         string errstr("Incomplete or invalid header: missing: ");
+         errstr += bitString(allValid & ~valid);
+         FFStreamError err(errstr);
+         err.addText("Make sure you set all header valid bits for all of the available data.");
+         GPSTK_THROW(err);
+      }
+      
+      string line;
+         // line by line, let's do this.
+      if (valid & versionValid)
+      {
+         line  = rightJustify(asString(version,2), 9);
+         line += string(11, ' ');
+         line += leftJustify(fileType, 40);
+         line += versionString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & runByValid)
+      {
+         line  = leftJustify(fileProgram,20);
+         line += leftJustify(fileAgency,20);
+         line += leftJustify(date, 20);
+         line += runByString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & commentValid)
+      {
+         vector<string>::const_iterator itr = commentList.begin();
+         while (itr != commentList.end())
+         {
+            line  = leftJustify((*itr), 60);
+            line += commentString;
+            strm << line << endl;
+            strm.lineNumber++;
+            itr++;
+         }
+      }
+      if (valid & markerNameValid)
+      {
+         line  = leftJustify(markerName, 60);
+         line += markerNameString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & markerNumberValid)
+      {
+         line  = leftJustify(markerNumber, 60);
+         line += markerNumberString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & obsTypeValid)
+      {
+         line  = rightJustify(asString(obsTypeList.size()),6);
+         vector<RinexMetType>::const_iterator itr = obsTypeList.begin();
+         size_t numWritten = 0;
+         while (itr != obsTypeList.end())
+         {
+            numWritten++;
+               // stupid continuation lines =P
+            if ((numWritten % maxObsPerLine) == 0)
+            {
+               line += obsTypeString;
+               strm << line << endl;
+               strm.lineNumber++;
+               line = string(6,' ');
+            }
+            line += rightJustify(convertObsType(*itr), 6);
+            itr++;
+         }
+            // pad the line out to 60 chrs and add label
+         line += string(60 - line.size(), ' ');
+         line += obsTypeString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & sensorTypeValid)
+      {
+            // only write out the sensor types that are 
+            // in the obsTypeList
+         vector<sensorType>::const_iterator itr = sensorTypeList.begin();
+         while (itr != sensorTypeList.end())
+         {
+            if (std::find(obsTypeList.begin(), obsTypeList.end(),
+                          (*itr).obsType) != obsTypeList.end())
+            {
+               line  = leftJustify((*itr).model, 20);
+               line += leftJustify((*itr).type, 20);
+               line += string(6, ' ');
+               line += rightJustify(asString((*itr).accuracy,1),7);
+               line += string(4, ' ');
+               line += convertObsType((*itr).obsType);
+               line += string(1, ' ');
+               line += sensorTypeString;
+               strm << line << endl;
+               strm.lineNumber++;
+            }
+            itr++;
+         }
+      }
+      if (valid & sensorPosValid)
+      {
+            // only write out the sensor positions that are 
+            // in the obsTypeList
+         vector<sensorPosType>::const_iterator itr = sensorPosList.begin();
+         while (itr != sensorPosList.end())
+         {
+            if (std::find(obsTypeList.begin(), obsTypeList.end(),
+                     (*itr).obsType) != obsTypeList.end())
+            {
+               line  = rightJustify(asString((*itr).position[0],4),14);
+               line += rightJustify(asString((*itr).position[1],4),14);
+               line += rightJustify(asString((*itr).position[2],4),14);
+               line += rightJustify(asString((*itr).height,4),14);
+               line += string(1, ' ');
+               line += convertObsType((*itr).obsType);
+               line += string(1, ' ');
+               line += sensorPosString;
+               strm << line << endl;
+               strm.lineNumber++;
+            }
+            itr++;
+         }
+      }
+      if (valid & endValid)
+      {
+         line  = string(60, ' ');
+         line += endOfHeader;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+   }     
+   
+
+   void RinexMetHeader::reallyGetRecord(FFStream& ffs) 
+      throw(std::exception, FFStreamError, 
+            gpstk::StringUtils::StringException)
+   {
+      RinexMetStream& strm = dynamic_cast<RinexMetStream&>(ffs);
+      
+         // if already read, just return
+      if (strm.headerRead == true)
+         return;
+
+      valid = 0;
+      
+         // clear out structures in case the last read was a partial header
+         // and there's cruft left
+      commentList.clear();
+      obsTypeList.clear();
+      sensorTypeList.clear();
+      sensorPosList.clear();
+      
+      int numObs;
+      
+      while (! (valid & endValid))
+      {
+         string line;
+         strm.formattedGetLine(line);
+         
+         if (line.length()<60 || line.length()>81)
+         {
+            FFStreamError e("Bad line length");
+            GPSTK_THROW(e);
+         }
+         
+         string thisLabel(line, 60, 20);
+         
+         if (thisLabel == versionString)
+         {
+            version = asDouble(line.substr(0,20));
+            fileType = strip(line.substr(20,20));
+            if ( (fileType[0] != 'M') &&
+                 (fileType[0] != 'm'))
+            {
+               FFStreamError e("This isn't a Rinex Met file");
+               GPSTK_THROW(e);
+            }
+            valid |= versionValid;
+         }
+         else if (thisLabel == runByString)
+         {
+            fileProgram = strip(line.substr(0,20));
+            fileAgency = strip(line.substr(20,20));
+            date = strip(line.substr(40,20));
+            valid |= runByValid;
+         }
+         else if (thisLabel == commentString)
+         {
+            commentList.push_back(strip(line.substr(0,60)));
+            valid |= commentValid;
+         }
+         else if (thisLabel == markerNameString)
+         {
+            markerName = strip(line.substr(0,60));
+            valid |= markerNameValid;
+         }
+         else if (thisLabel == markerNumberString)
+         {
+            markerNumber = strip(line.substr(0,20));
+            valid |= markerNumberValid;
+         }
+         else if (thisLabel == obsTypeString)
+         {
+               // read the first line
+            if (! (valid & obsTypeValid))
+            {
+               numObs = gpstk::StringUtils::asInt(line.substr(0,6));
+               for (int i = 0; (i < numObs) && (i < maxObsPerLine); i++)
+               {
+                  int currPos = i * 6 + 6;
+                  if (line.substr(currPos, 4) != string(4, ' '))
+                  {
+                     FFStreamError e("Format error for line type " +
+                                     obsTypeString);
+                     GPSTK_THROW(e);
+                  }
+                  
+                  obsTypeList.push_back(convertObsType(line.substr(currPos + 4, 2)));
+               }
+               valid |= obsTypeValid;
+            }
+               // read continuation lines
+            else
+            {
+               int currentObsTypes = obsTypeList.size();
+               for (int i = currentObsTypes; 
+                    (i < numObs) && (i < (maxObsPerLine + currentObsTypes));
+                    i++)
+               {
+                  int currPos = (i % maxObsPerLine) * 6 + 6;
+                  if (line.substr(currPos, 4) != string(4,' '))
+                  {
+                     FFStreamError e("Format error for line type " +
+                                     obsTypeString);
+                     GPSTK_THROW(e);
+                  }
+                  
+                  obsTypeList.push_back(convertObsType(line.substr(currPos + 4, 2)));
+               }
+            }
+         }
+         else if (thisLabel == sensorTypeString)
+         {
+            if (line.substr(40,6) != string(6, ' '))
+            {
+               FFStreamError e("Format error for line type " + 
+                               sensorTypeString);
+               GPSTK_THROW(e);
+            }
+            sensorType st;
+            st.model = strip(line.substr(0,20));
+            st.type = strip(line.substr(20,20));
+            st.accuracy = asDouble(line.substr(46,9));
+            st.obsType = convertObsType(line.substr(57,2));
+            
+            sensorTypeList.push_back(st);
+            
+               // only set this valid if there are exactly
+               // the same number in both lists
+            if (sensorTypeList.size() == obsTypeList.size())
+            {
+               valid |= sensorTypeValid;
+            }
+            else
+            {
+               valid &= ~(long)sensorTypeValid;
+            }
+         }
+         else if (thisLabel == sensorPosString)
+         {
+               // read XYZ and H and obs type
+            sensorPosType sp;
+            sp.position[0] = asDouble(line.substr(0,14));
+            sp.position[1] = asDouble(line.substr(14,14));
+            sp.position[2] = asDouble(line.substr(28,14));
+            sp.height = asDouble(line.substr(42,14));
+            
+            sp.obsType = convertObsType(line.substr(57,2));
+            
+            sensorPosList.push_back(sp);
+            
+               // only barometer is required, so
+               // set it valid only if you see that record.
+            if (sp.obsType == PR)
+            {
+               valid |= sensorPosValid;
+            }
+         }
+         else if (thisLabel == endOfHeader)
+         {
+            valid |= endValid;
+         }
+         else
+         {
+            FFStreamError e("Unknown header label " + thisLabel);
+            GPSTK_THROW(e);
+         }
+      }
+      
+      unsigned long allValid;
+      if      (version == 2.0)      allValid = allValid20;
+      else if (version == 2.1)      allValid = allValid21;
+      else
+      {
+         FFStreamError e("Unknown or unsupported RINEX version " + 
+                         asString(version));
+         GPSTK_THROW(e);
+      }
+      
+      if ( (allValid & valid) != allValid)
+      {
+         string errstr("Incomplete or invalid header: missing: ");
+         errstr += bitString(allValid & ~valid);
+         FFStreamError err(errstr);
+         GPSTK_THROW(err);               
+      }
+      
+         // we got here, so something must be right...
+      strm.header = *this;
+      strm.headerRead = true;
+   } 
+
+   void RinexMetHeader::dump(ostream& s) const
+   {
+      s << "Marker " << markerName << endl;
+
+      if (!obsTypeList.empty())
+      {
+         cout << "Obs types:" << endl;
+         vector<RinexMetType>::const_iterator itr = obsTypeList.begin();
+         while (itr != obsTypeList.end())
+         {
+            cout << convertObsType(*itr) << " ";
+            itr++;
+         }
+         cout << endl;
+      }
+   }
+
+
+   RinexMetHeader::RinexMetType 
+   RinexMetHeader::convertObsType(const string& oneObs)
+      throw(FFStreamError)
+   {
+      if      (oneObs == "PR") return PR;
+      else if (oneObs == "TD") return TD;
+      else if (oneObs == "HR") return HR;
+      else if (oneObs == "ZW") return ZW;
+      else if (oneObs == "ZD") return ZD;
+      else if (oneObs == "ZT") return ZT;
+      else
+      {
+         FFStreamError e("Bad obs type:" + oneObs);
+         GPSTK_THROW(e);
+      } 
+   }
+
+   string RinexMetHeader::convertObsType(const RinexMetHeader::RinexMetType& oneObs)
+      throw(FFStreamError)
+   {
+      if      (oneObs == PR) return "PR";
+      else if (oneObs == TD) return "TD";
+      else if (oneObs == HR) return "HR";
+      else if (oneObs == ZW) return "ZW";
+      else if (oneObs == ZD) return "ZD";
+      else if (oneObs == ZT) return "ZT";
+      else
+      {
+         FFStreamError e("Bad obs type:" + oneObs);
+         GPSTK_THROW(e);
+      } 
+   }
+
+
+} // namespace
diff --git a/trunk/src/RinexMetHeader.hpp b/trunk/src/RinexMetHeader.hpp
new file mode 100644
index 0000000..71f66df
--- /dev/null
+++ b/trunk/src/RinexMetHeader.hpp
@@ -0,0 +1,262 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetHeader.hpp#1 $"
+
+/**
+ * @file RinexMetHeader.hpp
+ * Encapsulate header of Rinex meterological file data, including I/O
+ */
+
+#ifndef GPSTK_RINEXMETHEADER_HPP
+#define GPSTK_RINEXMETHEADER_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "StringUtils.hpp"
+#include "FFStream.hpp"
+#include "RinexMetBase.hpp"
+
+#include "Triple.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup RinexMet */
+   //@{
+
+      /**
+       * This class models the RINEX MET header for a RINEX MET file.
+       * When writing data, this class determines what data gets written from
+       * a RinexMetData object to the RinexMetStream.
+       *
+       * @sa rinex_met_read_write.cpp for an example.
+       * @sa rinex_met_test.cpp for an example.
+       * @sa RinexMetHeader::obsTypeList for writing files.
+       * @sa RinexMetData and RinexMetStream.
+       */
+   class RinexMetHeader : public RinexMetBase
+   {
+   public:
+         /// Enum for the different types of data in this file.
+      enum RinexMetType 
+      {
+         PR,        ///< Pressure (mbar)
+         TD,        ///< Dry temperature (deg C)
+         HR,        ///< Relative humidity (percent)
+         ZW,        ///< Wet zenith path delay (mm)
+         ZD,        ///< Dry component of zenith path delay (mm)
+         ZT         ///< Total zenith path delay (mm)
+      };
+
+         /// Constructor
+      RinexMetHeader() : valid(0), version(2.1) {}
+
+         /// Destructor
+      virtual ~RinexMetHeader() {}
+
+         // The next four lines is our common interface
+         /// RinexMetHeader is a "header" so this function always returns true.
+      virtual bool isHeader(void) const {return true;}
+
+         /// A debug function that outputs the header to \a s.
+      virtual void dump(std::ostream& s) const;
+
+         /// sets the obs type array given an obs type line
+      static RinexMetType convertObsType(const std::string& oneObs) 
+         throw(FFStreamError);
+      
+         /// Converts a RinexMetType to its string equivalent.
+      static std::string convertObsType(const RinexMetType& oneObs)
+         throw(FFStreamError);
+   
+         /// Tell me, Am I valid?
+      unsigned long valid;
+
+         /// These are validity bits used in checking the RINEX MET header.
+      enum validBits
+      {
+         versionValid = 0x01,        ///< Set if the RINEX version is valid.
+         runByValid = 0x02,          ///< Set if the Run-by value is valid.
+         commentValid = 0x04,        ///< Set if the comments are valid. Very subjective
+         markerNameValid = 0x08,     ///< Set if the Marker Name is valid.
+         markerNumberValid = 0x010,  ///< Set if the Marker Number is valid.
+         obsTypeValid = 0x020,        ///< Set if Num/Types of Obs is valid.
+         sensorTypeValid = 0x040,    ///< Set if Sensor Mod/Type/Acc is valid.
+         sensorPosValid = 0x080,     ///< Set if Sensor position is valid.
+
+
+         endValid = 0x080000000,          ///< Set if the end value is valid.
+
+            /// This bitset checks that all required header items are 
+            /// available for a Rinex2.0 file
+         allValid20 = 0x0800000EB,
+            /// This bitset checks that all required header items are 
+            /// available for a Rinex2.1 file
+         allValid21 = 0x0800000EB
+      };
+
+
+      static inline std::string bitsAsString(validBits b)
+      {
+         switch (b)
+         {
+            case versionValid:
+               return versionString;
+            case runByValid:
+               return runByString;
+            case commentValid:
+               return commentString;
+            case markerNameValid:
+               return markerNameString;
+            case markerNumberValid:
+               return markerNumberString;
+            case obsTypeValid:
+               return obsTypeString;
+            case sensorTypeValid:
+               return sensorTypeString;
+            case sensorPosValid:
+               return sensorPosString;
+            case endValid:
+               return endOfHeader;
+         }
+
+         return "*UNKNOWN/INVALID BITS*";
+      }
+
+         /* @return a string composed the RINEX header strings
+          * represented by the validBits set in vb, surrounded by the
+          * quote character, separated by sep.
+          * @param vb bit field with valid bits set
+          * @param quote quote character to use around RINEX header strings.
+          * @param sep separator used between rinex header strings.
+          */
+      static std::string bitString(unsigned long vb, char quote='\"',
+                                   std::string sep=", ");
+
+
+         /// Struct for holding information about a sensor
+      struct sensorType
+      {
+         std::string model;         ///< The manufacturer of the sensor
+         std::string type;          ///< The specific type of sensor
+         double accuracy;      ///< The accuracy of the sensor.
+         RinexMetType obsType; ///< The obs type this sensor corresponds to.
+      };
+
+         /// Struct for holding info about a sensor position
+      struct sensorPosType
+      {
+            /**
+             * XYZ and height of sensor coordinates.
+             * Use ITRF ro WGS-84 coordinates.
+             */
+         gpstk::Triple position;   
+         double height;
+            /// The obs type of the sensor this position corresponds to.
+         RinexMetType obsType;
+      };
+
+         /** @name HeaderValues
+          */
+         //@{
+      double version;           ///< RINEX Version
+
+      std::string fileType;                      ///< The type of file it is.
+      std::string fileProgram;                   ///< The program that generated it
+      std::string fileAgency;                    ///< The group who generated it
+      std::string date;                          ///< When the file was written
+      std::vector<std::string> commentList;           ///< A list of comments
+      std::string markerName;                    ///< The name of the location
+      std::string markerNumber;                  ///< The number of the location
+
+         /** 
+          * A list of obs types in the file.
+          * @warning This variable determines what data gets written to
+          * an output RinexObsStream.  Set this with the RinexMetTypes 
+          * that you want written to the file.
+          */
+      std::vector<RinexMetType> obsTypeList;
+      std::vector<sensorType> sensorTypeList;    ///< A list of sensors used in the file
+      std::vector<sensorPosType> sensorPosList;  ///< A list of sensor positions used in the file
+
+         //@}
+
+      static const int maxObsPerLine;       ///< Holds the max records per line
+
+         /** @name FormattingStrings
+          */
+         //@{
+      static const std::string versionString;       ///< "RINEX VERSION / TYPE"
+      static const std::string runByString;         ///< "PGM / RUN BY / DATE"
+      static const std::string commentString;       ///< "COMMENT"
+      static const std::string markerNameString;    ///< "MARKER NAME"
+      static const std::string markerNumberString;  ///< "MARKER NUMBER"
+      static const std::string obsTypeString;       ///< "# / TYPES OF OBSERV"
+      static const std::string sensorTypeString;    ///< "SENSOR MOD/TYPE/ACC"
+      static const std::string sensorPosString;     ///< "SENSOR POS XYZ/H"
+      static const std::string endOfHeader;         ///< "END OF HEADER"
+         //@}
+
+   protected:
+         /// Writes the RINEX Met header to the stream \a s.
+      virtual void reallyPutRecord(FFStream& s) const 
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+
+         /**
+          * This function reads the RINEX MET header from the given FFStream.
+          * If an error is encountered in reading from the stream, the stream
+          * is reset to its original position and its fail-bit is set.
+          * @throws StringException when a StringUtils function fails
+          * @throws FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs.  This also resets the
+          *  stream to its pre-read position.
+          */
+      virtual void reallyGetRecord(FFStream& s) 
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+
+
+   }; // class RinexMetHeader
+
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/RinexMetStream.hpp b/trunk/src/RinexMetStream.hpp
new file mode 100644
index 0000000..a3b78a5
--- /dev/null
+++ b/trunk/src/RinexMetStream.hpp
@@ -0,0 +1,111 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexMetStream.hpp#1 $"
+
+/**
+ * @file RinexMetStream.hpp
+ * File stream for RINEX meterological files
+ */
+
+#ifndef GPSTK_RINEXMETSTREAM_HPP
+#define GPSTK_RINEXMETSTREAM_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFTextStream.hpp"
+#include "RinexMetHeader.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup RinexMet */
+   //@{
+
+      /**
+       * This class performs file i/o on a RINEX MET file for the 
+       * RinexMetHeader and RinexMetData classes.
+       *
+       * @sa rinex_met_read_write.cpp for an example.
+       * @sa rinex_met_test.cpp for an example.
+       * @sa RinexMetData.
+       * @sa RinexMetHeader for information on writing RINEX met files.
+       *
+       * @warning When writing RinexMetData, the internal
+       * RinexMetStream::headerData must have the correct observation
+       * types set for what you want to write out.  If you don't set any,
+       * no data will be written. See RinexMetHeader for more information
+       * on this.
+       */
+   class RinexMetStream : public FFTextStream
+   {
+   public:
+         /// default constructor
+      RinexMetStream()
+            : headerRead(false)
+         {}
+      
+         /** Constructor 
+          * Opens a file named \a fn using ios::openmode \a mode.
+          */
+      RinexMetStream(const char* fn, std::ios::openmode mode=std::ios::in)
+            : FFTextStream(fn, mode), headerRead(false) {};
+
+         /// Destructor
+      virtual ~RinexMetStream() {}
+      
+         /// overrides open to reset the header
+      virtual void open(const char* fn, std::ios::openmode mode)
+         { 
+            FFTextStream::open(fn, mode); 
+            headerRead = false; 
+            header = RinexMetHeader();
+         }
+
+         /// RINEX met header for this file.
+      RinexMetHeader header;
+     
+         /// Flag showing whether or not the header has been read.
+      bool headerRead;
+   };
+
+   //@}
+
+}
+
+#endif
diff --git a/trunk/src/RinexNavBase.hpp b/trunk/src/RinexNavBase.hpp
new file mode 100644
index 0000000..e40d64d
--- /dev/null
+++ b/trunk/src/RinexNavBase.hpp
@@ -0,0 +1,73 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavBase.hpp#1 $"
+
+/**
+ * @file RinexNavBase.hpp
+ * Base class for RINEX Navigation data
+ */
+
+#ifndef GPSTK_RINEXNAVBASE_HPP
+#define GPSTK_RINEXNAVBASE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFData.hpp"
+
+namespace gpstk
+{
+   /** @defgroup RinexNav RINEX navigation files */
+   //@{
+
+  /**
+   * This class serves no purpose other than to make readable diagrams.
+   */
+   class RinexNavBase : public FFData
+   {
+   public:
+         /// in deference to our coding standards, this is declared virtual
+      virtual ~RinexNavBase() {}
+   };
+
+   //@}
+
+}
+
+#endif
diff --git a/trunk/src/RinexNavData.cpp b/trunk/src/RinexNavData.cpp
new file mode 100644
index 0000000..c6f2fc4
--- /dev/null
+++ b/trunk/src/RinexNavData.cpp
@@ -0,0 +1,573 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavData.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexNavData.cpp
+ * Encapsulates RINEX Navigation data
+ */
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavStream.hpp"
+#include "icd_200_constants.hpp"
+ 
+namespace gpstk
+{
+   using namespace gpstk::StringUtils;
+   using namespace std;
+
+   RinexNavData::RinexNavData(const EngEphemeris& ee)
+   {
+      time = ee.getEpochTime();
+      PRNID = ee.getPRNID();
+      HOWtime = long(ee.getHOWTime(1));
+      weeknum = ee.getFullWeek();
+      codeflgs = ee.getCodeFlags();
+      accuracy = ee.getAccuracy();
+      health = ee.getHealth();
+      L2Pdata = ee.getL2Pdata();
+      IODC = ee.getIODC();
+      IODE = ee.getIODE();
+
+      Toc = ee.getToc();
+      af0 = ee.getAf0();
+      af1 = ee.getAf1();
+      af2 = ee.getAf2();
+      Tgd = ee.getTgd();
+
+      Cuc = ee.getCuc();
+      Cus = ee.getCus();
+      Crc = ee.getCrc();
+      Crs = ee.getCrs();
+      Cic = ee.getCic();
+      Cis = ee.getCis();
+
+      Toe = ee.getToe();
+      M0 = ee.getM0();
+      dn = ee.getDn();
+      ecc = ee.getEcc();
+      Ahalf = ee.getAhalf();
+      OMEGA0 = ee.getOmega0();
+      i0 = ee.getI0();
+      w = ee.getW();
+      OMEGAdot = ee.getOmegaDot();
+      idot = ee.getIDot();
+      fitint = ee.getFitInterval();
+   }
+
+   void RinexNavData::reallyPutRecord(FFStream& ffs) const 
+      throw(exception, FFStreamError, StringException)
+   {
+      RinexNavStream& strm = dynamic_cast<RinexNavStream&>(ffs);
+      
+      strm << putPRNEpoch() << endl;
+      strm.lineNumber++;
+      strm << putBroadcastOrbit1() << endl;
+      strm.lineNumber++;
+      strm << putBroadcastOrbit2() << endl;
+      strm.lineNumber++;
+      strm << putBroadcastOrbit3() << endl;
+      strm.lineNumber++;
+      strm << putBroadcastOrbit4() << endl;
+      strm.lineNumber++;
+      strm << putBroadcastOrbit5() << endl;
+      strm.lineNumber++;
+      strm << putBroadcastOrbit6() << endl;
+      strm.lineNumber++;
+      strm << putBroadcastOrbit7(strm.header.version) << endl;
+      strm.lineNumber++;
+   }
+
+   void RinexNavData::reallyGetRecord(FFStream& ffs) 
+      throw(exception, FFStreamError, StringException)
+   {
+      RinexNavStream& strm = dynamic_cast<RinexNavStream&>(ffs);
+      
+         // If the header hasn't been read, read it...
+      if(!strm.headerRead)
+         strm >> strm.header;
+      
+      string line;
+            
+      strm.formattedGetLine(line, true); 
+      getPRNEpoch(line);
+
+      strm.formattedGetLine(line); 
+      getBroadcastOrbit1(line);
+      
+      strm.formattedGetLine(line); 
+      getBroadcastOrbit2(line);
+      
+      strm.formattedGetLine(line); 
+      getBroadcastOrbit3(line);
+
+      strm.formattedGetLine(line); 
+      getBroadcastOrbit4(line);
+      
+      strm.formattedGetLine(line); 
+      getBroadcastOrbit5(line);
+
+      strm.formattedGetLine(line); 
+      getBroadcastOrbit6(line);
+
+      strm.formattedGetLine(line); 
+      getBroadcastOrbit7(line);
+   }
+
+   void RinexNavData::dump(ostream& s) const
+   {
+      s << "PRN: " << setw(2) << PRNID
+        << " TOE: " << time
+        << " TOC: " << setw(4) << weeknum << " " 
+        << fixed << setw(10) << setprecision(3) << Toc
+        << " IODE: " << setw(4) << int(IODE)            // IODE should be int
+        << " HOWtime: " << setw(6) << HOWtime           // HOW should be double
+        << endl;
+        //<< ios::hex << IODE << " HOWtime: " << HOWtime << endl; ?? IODE is double
+   }
+
+   RinexNavData::operator EngEphemeris() const throw()
+   {
+      EngEphemeris ee;
+
+         // there's no TLM word in RinexNavData, so it's set to 0.
+         // likewise, there's no AS alert or tracker.
+         // Also, in Rinex, the accuracy is in meters, and setSF1 expects
+         // the accuracy flag.  We'll give it zero and pass the accuracy
+         // separately via the setAccuracy() method.
+      ee.setSF1(0, HOWtime, 0, weeknum, codeflgs, 0, health,
+                short(IODC), L2Pdata, Tgd, Toc, af2, af1, af0, 0, PRNID);
+      ee.setSF2(0, HOWtime, 0, short(IODE), Crs, dn, M0, Cuc, ecc, Cus, Ahalf,
+                Toe, (fitint > 4) ? 1 : 0);
+      ee.setSF3(0, HOWtime, 0, Cic, OMEGA0, Cis, i0, Crc, w, OMEGAdot,
+                idot);
+      
+      ee.setAccuracy(accuracy);
+      
+      return ee;
+   }
+
+   list<double> RinexNavData::toList() const
+   {
+      list<double> l;
+
+      l.push_back(PRNID);
+      l.push_back(HOWtime);
+      l.push_back(weeknum);
+      l.push_back(codeflgs);
+      l.push_back(accuracy);
+      l.push_back(health);
+      l.push_back(L2Pdata);
+      l.push_back(IODC);
+      l.push_back(IODE);
+      l.push_back(Toc);
+      l.push_back(af0);
+      l.push_back(af1);
+      l.push_back(af2);
+      l.push_back(Tgd);
+      l.push_back(Cuc);
+      l.push_back(Cus);
+      l.push_back(Crc);
+      l.push_back(Crs);
+      l.push_back(Cic);
+      l.push_back(Cis);
+      l.push_back(Toe);
+      l.push_back(M0);
+      l.push_back(dn);
+      l.push_back(ecc);
+      l.push_back(Ahalf);
+      l.push_back(OMEGA0);
+      l.push_back(i0);
+      l.push_back(w);
+      l.push_back(OMEGAdot);
+      l.push_back(idot);
+      l.push_back(fitint);
+
+      return l;
+   }
+
+   string RinexNavData::putPRNEpoch(void) const
+      throw(StringException)
+   {
+      string line;
+      line += rightJustify(asString(PRNID), 2);
+      line += string(1, ' ');
+         // year is padded with 0s but none of the rest are
+      line += rightJustify(asString<short>(time.year()), 2, '0');
+      line += string(1, ' ');
+      line += rightJustify(asString<short>(time.month()), 2);
+      line += string(1, ' ');
+      line += rightJustify(asString<short>(time.day()), 2);
+      line += string(1, ' ');
+      line += rightJustify(asString<short>(time.hour()), 2);
+      line += string(1, ' ');
+      line += rightJustify(asString<short>(time.minute()), 2);
+      line += rightJustify(asString(time.second(), 1), 5);
+      line += string(1, ' ');
+      line += doub2for(af0, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(af1, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(af2, 18, 2);
+      return line;
+   }
+
+   string RinexNavData::putBroadcastOrbit1(void) const
+      throw(StringException)
+   {
+      string line;
+      line += string(3, ' ');
+      line += string(1, ' ');
+      line += doub2for(IODE, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(Crs, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(dn, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(M0, 18, 2);
+      return line;
+   }
+
+   string RinexNavData::putBroadcastOrbit2(void) const
+      throw(StringException)
+   {
+      string line;
+      line += string(3, ' ');
+      line += string(1, ' ');
+      line += doub2for(Cuc, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(ecc, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(Cus, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(Ahalf, 18, 2);
+      return line;
+   }
+
+   string RinexNavData::putBroadcastOrbit3(void) const
+      throw(StringException)
+   {
+      string line;
+      line += string(3, ' ');
+      line += string(1, ' ');
+      line += doub2for(Toe, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(Cic, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(OMEGA0, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(Cis, 18, 2);
+      return line;
+   }
+
+   string RinexNavData::putBroadcastOrbit4(void) const
+      throw(StringException)
+   {
+      string line;
+      line += string(3, ' ');
+      line += string(1, ' ');
+      line += doub2for(i0, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(Crc, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(w, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(OMEGAdot, 18, 2);
+      return line;
+   }
+
+   string RinexNavData::putBroadcastOrbit5(void) const
+      throw(StringException)
+   {
+         // Internally (RinexNavData and EngEphemeris), weeknum is the week of HOW
+         // In Rinex *files*, weeknum is the week of TOE
+      double wk=double(weeknum);
+      if(HOWtime - Toe > DayTime::HALFWEEK)
+         wk++;
+      else if(HOWtime - Toe < -(DayTime::HALFWEEK))
+         wk--;
+
+      string line;
+      line += string(3, ' ');
+      line += string(1, ' ');
+      line += doub2for(idot, 18, 2);
+      line += string(1, ' ');
+      line += doub2for((double)codeflgs, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(wk, 18, 2);
+      line += string(1, ' ');
+      line += doub2for((double)L2Pdata, 18, 2);
+      return line;
+   }
+
+   string RinexNavData::putBroadcastOrbit6(void) const
+      throw(StringException)
+   {
+      string line;
+      line += string(3, ' ');
+      line += string(1, ' ');
+      line += doub2for(accuracy, 18, 2);
+      line += string(1, ' ');
+      line += doub2for((double)health, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(Tgd, 18, 2);
+      line += string(1, ' ');
+      line += doub2for(IODC, 18, 2);
+      return line;
+   }
+
+   string RinexNavData::putBroadcastOrbit7(const double ver) const
+      throw(StringException)
+   {
+      string line;
+      line += string(3, ' ');
+      line += string(1, ' ');
+      line += doub2for(HOWtime, 18, 2);
+
+      if (ver >= 2.1)
+      {
+         line += string(1, ' ');
+         line += doub2for(fitint, 18, 2);         
+      }
+      return line;
+   }
+
+   void RinexNavData::getPRNEpoch(const string& currentLine)
+      throw(StringException, FFStreamError)
+   {
+      try
+      {
+            // check for spaces in the right spots...
+         for (int i = 2; i <= 17; i += 3)
+            if (currentLine[i] != ' ')
+               throw(FFStreamError("Badly formatted line"));
+         
+         PRNID = asInt(currentLine.substr(0,2));
+
+         short yr = asInt(currentLine.substr(2,3));
+         short mo = asInt(currentLine.substr(5,3));
+         short day = asInt(currentLine.substr(8,3));
+         short hr = asInt(currentLine.substr(11,3));
+         short min = asInt(currentLine.substr(14,3));
+         double sec = asDouble(currentLine.substr(17,5));
+         
+            // years 80-99 represent 1980-1999
+         const int rolloverYear = 80;
+         if (yr < rolloverYear)
+            yr += 100;
+         yr += 1900;
+
+         // Real Rinex has epochs 'yy mm dd hr 59 60.0' surprisingly often....
+         double ds=0;
+         if(sec >= 60.) { ds=sec; sec=0.0; }
+         time = DayTime(yr,mo,day,hr,min,sec);
+         if(ds != 0) time += ds;
+         
+         Toc = time.GPSsecond();
+         af0 = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+         af1 = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+         af2 = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+      }
+      catch (std::exception &e)
+      {
+         FFStreamError err("std::exception: " +
+                           string(e.what()));
+         GPSTK_THROW(err);
+      }
+   }
+
+   void RinexNavData::getBroadcastOrbit1(const string& currentLine)
+      throw(StringException, FFStreamError)
+   {
+      try
+      {
+         IODE = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+         Crs = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+         dn = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+         M0 = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+      }
+      catch (std::exception &e)
+      {
+         FFStreamError err("std::exception: " +
+                           string(e.what()));
+         GPSTK_THROW(err);
+      }
+   }
+
+   void RinexNavData::getBroadcastOrbit2(const string& currentLine)
+      throw(StringException, FFStreamError)
+   {
+      try
+      {
+         Cuc = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+         ecc = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+         Cus = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+         Ahalf = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+      }
+      catch (std::exception &e)
+      {
+         FFStreamError err("std::exception: " +
+                           string(e.what()));
+         GPSTK_THROW(err);
+      }
+   }
+
+   void RinexNavData::getBroadcastOrbit3(const string& currentLine)
+      throw(StringException, FFStreamError)
+   {
+      try
+      {
+         Toe = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+         Cic = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+         OMEGA0 = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+         Cis = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+      }
+      catch (std::exception &e)
+      {
+         FFStreamError err("std::exception: " +
+                           string(e.what()));
+         GPSTK_THROW(err);
+      }
+   }
+
+   void RinexNavData::getBroadcastOrbit4(const string& currentLine)
+      throw(StringException, FFStreamError)
+   {
+      try
+      {
+         i0 = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+         Crc = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+         w = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+         OMEGAdot = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+      }
+      catch (std::exception &e)
+      {
+         FFStreamError err("std::exception: " +
+                           string(e.what()));
+         GPSTK_THROW(err);
+      }
+   }
+
+   void RinexNavData::getBroadcastOrbit5(const string& currentLine)
+      throw(StringException, FFStreamError)
+   {
+      try
+      {
+         double codeL2, L2P, toe_wn;
+
+         idot = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+         codeL2 = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+         toe_wn = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+         L2P = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+
+         codeflgs = (short) codeL2;
+         L2Pdata = (short) L2P;
+         weeknum = (short) toe_wn;
+      }
+      catch (std::exception &e)
+      {
+         FFStreamError err("std::exception: " +
+                           string(e.what()));
+         GPSTK_THROW(err);
+      }
+   }
+
+   void RinexNavData::getBroadcastOrbit6(const string& currentLine)
+      throw(StringException, FFStreamError)
+   {
+      try
+      {
+         double SV_acc, SV_health;
+
+         accuracy = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+         SV_health = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+         Tgd = gpstk::StringUtils::for2doub(currentLine.substr(41,19),19);
+         IODC = gpstk::StringUtils::for2doub(currentLine.substr(60,19),19);
+
+   
+         health = (short) SV_health;
+      }
+      catch (std::exception &e)
+      {
+         FFStreamError err("std::exception: " +
+                           string(e.what()));
+         GPSTK_THROW(err);
+      }
+   }
+
+   void RinexNavData::getBroadcastOrbit7(const string& currentLine)
+      throw(StringException, FFStreamError)
+   {
+      try
+      {
+         double HOW_sec;
+
+         HOW_sec = gpstk::StringUtils::for2doub(currentLine.substr(3,19),19);
+         fitint = gpstk::StringUtils::for2doub(currentLine.substr(22,19),19);
+   
+         HOWtime = (long) HOW_sec;
+
+         // In Rinex *files*, weeknum is the week of TOE
+         // Internally (RinexNavData and EngEphemeris), weeknum is the week of HOW
+         if(HOWtime - Toe > DayTime::HALFWEEK)
+            weeknum--;
+         else if(HOWtime - Toe < -(DayTime::HALFWEEK))
+            weeknum++;
+
+         // Some Rinex files have HOW < 0
+         while(HOWtime < 0) {
+	   HOWtime += (long) DayTime::FULLWEEK;
+            weeknum--;
+         }
+         
+      }
+      catch (std::exception &e)
+      {
+         FFStreamError err("std::exception: " +
+                           string(e.what()));
+         GPSTK_THROW(err);
+      }
+   }
+
+}  // end of namespace
diff --git a/trunk/src/RinexNavData.hpp b/trunk/src/RinexNavData.hpp
new file mode 100644
index 0000000..5fe52ab
--- /dev/null
+++ b/trunk/src/RinexNavData.hpp
@@ -0,0 +1,253 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavData.hpp#1 $"
+
+/**
+ * @file RinexNavData.hpp
+ * Encapsulates RINEX Navigation data
+ */
+
+#ifndef RINEXNAVDATA_HPP
+#define RINEXNAVDATA_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <list>
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "FFStream.hpp"
+#include "RinexNavBase.hpp"
+#include "EngEphemeris.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup RinexNav */
+   //@{
+
+      /** 
+       * This class models a RINEX NAV record.
+       *
+       * \sa rinex_nav_test.cpp and rinex_nav_read_write.cpp for examples.
+       * \sa gpstk::RinexNavHeader and gpstk::RinexNavStream classes.
+       */
+   class RinexNavData : public RinexNavBase
+   {
+   public:
+         /**
+          * Constructor
+          * @warning CHECK THE PRNID TO SEE IF THIS DATA IS 
+          *  VALID BEFORE USING!!
+          */
+      RinexNavData(void)
+            : PRNID(-1), fitint(4),
+         time(gpstk::DayTime::BEGINNING_OF_TIME)
+         {}
+
+         /// Initializes the nav data with an EngEphemeris
+      RinexNavData(const EngEphemeris& ee);
+
+         /// destructor
+      virtual ~RinexNavData() {}
+
+         // The next four lines is our common interface
+         /// RinexNavData is "data" so this function always returns true.
+      virtual bool isData(void) const {return true;}
+     
+         /**
+          * A debug output function.
+          * Prints the PRN id and the IODC for this record.
+          */ 
+      virtual void dump(std::ostream& s) const;
+
+         /**
+          * Converts this RinexNavData to an EngEphemeris object.
+          */
+      operator EngEphemeris() const throw();
+
+         /**
+          * Converts the (non-DayTime) data to a list for easy
+          * comparison operators.
+          */
+      std::list<double> toList() const;
+
+         /** @name Epochdata
+          */
+         //@{
+      DayTime time;        ///< Time according to the record.
+      short PRNID;         ///< SV PRN ID 
+      long HOWtime;        ///< Time of subframe 1-3 (sec of week)
+      short weeknum;       ///< GPS full week number that corresponds 
+                           ///< to the HOWtime of SF1 
+                           ///< (NB in Rinex files, week number corresponds to TOE)
+      short codeflgs;      ///< L2 codes 
+      double accuracy;     ///< SV accuracy (m)
+      short health;        ///< SV health 
+      short L2Pdata;       ///< L2 P data flag 
+      double IODC;         ///< Index of data-clock 
+      double IODE;         ///< Index of data-eph 
+         //@}
+
+         /** @name ClockInformation 
+          */
+         //@{
+      double   Toc;           ///< Clock epoch (sec of week) (found in epoch line of Rinex navigation files)
+      double   af0;           ///< SV clock error (sec) 
+      double   af1;           ///< SV clock drift (sec/sec) 
+      double   af2;           ///< SV clock drift rate (sec/sec**2) 
+      double   Tgd;           ///< Group delay differential (sec) 
+         //@}
+
+         /** @name HarmonicPerturbations
+          */
+         //@{
+      double   Cuc;           ///< Cosine latitude (rad) 
+      double   Cus;           ///< Sine latitude (rad) 
+      double   Crc;           ///< Cosine radius (m) 
+      double   Crs;           ///< Sine radius (m) 
+      double   Cic;           ///< Cosine inclination (rad) 
+      double   Cis;           ///< Sine inclination (rad) 
+         //@}
+
+         /**  @name MajorEphemerisParameters
+          */
+         //@{
+      double   Toe;           ///< Ephemeris epoch (sec of week)
+      double   M0;            ///< Mean anomaly (rad) 
+      double   dn;            ///< Correction to mean motion (rad/sec) 
+      double   ecc;           ///< Eccentricity 
+      double   Ahalf;         ///< SQRT of semi-major axis (m**1/2) 
+      double   OMEGA0;        ///< Rt ascension of ascending node (rad) 
+      double   i0;            ///< Inclination (rad) 
+      double   w;             ///< Argument of perigee (rad) 
+      double   OMEGAdot;      ///< Rate of Rt ascension (rad/sec) 
+      double   idot;          ///< Rate of inclination angle (rad/sec) 
+      double   fitint;        ///< Fit interval
+         //@}      
+
+   private:
+         /// Parses string \a currentLine to obtain PRN id and epoch.
+      void getPRNEpoch(const std::string& currentLine)
+         throw(gpstk::StringUtils::StringException, FFStreamError);
+         /** @name OrbitParameters
+          * Obtain orbit parameters from strint \a currentLine.
+          */
+         //@{
+         /// Reads line 1 of the Nav Data record
+      void getBroadcastOrbit1(const std::string& currentLine)
+         throw(gpstk::StringUtils::StringException, FFStreamError);
+         /// Reads line 2 of the Nav Data record
+      void getBroadcastOrbit2(const std::string& currentLine)
+         throw(gpstk::StringUtils::StringException, FFStreamError);
+         /// Reads line 3 of the Nav Data record
+      void getBroadcastOrbit3(const std::string& currentLine)
+         throw(gpstk::StringUtils::StringException, FFStreamError);
+         /// Reads line 4 of the Nav Data record
+      void getBroadcastOrbit4(const std::string& currentLine)
+         throw(gpstk::StringUtils::StringException, FFStreamError);
+         /// Reads line 5 of the Nav Data record
+      void getBroadcastOrbit5(const std::string& currentLine)
+         throw(gpstk::StringUtils::StringException, FFStreamError);
+         /// Reads line 6 of the Nav Data record
+      void getBroadcastOrbit6(const std::string& currentLine)
+         throw(gpstk::StringUtils::StringException, FFStreamError);
+         /// Reads line 7 of the Nav Data record
+      void getBroadcastOrbit7(const std::string& currentLine)
+         throw(gpstk::StringUtils::StringException, FFStreamError);
+         //@}
+
+         /// generates a line to be output to a file for the PRN/epoch line
+      std::string putPRNEpoch(void) const
+         throw(gpstk::StringUtils::StringException);
+         /** @name OrbitParameters
+          * Generate orbit parameter lines from data to be output to a file
+          */
+         //@{
+         /// Writes line 7 of the Nav Data record
+      std::string putBroadcastOrbit1(void) const
+         throw(gpstk::StringUtils::StringException);
+         /// Writes line 7 of the Nav Data record
+      std::string putBroadcastOrbit2(void) const
+         throw(gpstk::StringUtils::StringException);
+         /// Writes line 7 of the Nav Data record
+      std::string putBroadcastOrbit3(void) const
+         throw(gpstk::StringUtils::StringException);
+         /// Writes line 7 of the Nav Data record
+      std::string putBroadcastOrbit4(void) const
+         throw(gpstk::StringUtils::StringException);
+         /// Writes line 7 of the Nav Data record
+      std::string putBroadcastOrbit5(void) const
+         throw(gpstk::StringUtils::StringException);
+         /// Writes line 7 of the Nav Data record
+      std::string putBroadcastOrbit6(void) const
+         throw(gpstk::StringUtils::StringException);
+         /// Writes line 7 of the Nav Data record
+         /// @warning Pass in version to decide wheter or not 
+         /// to write fit interval
+      std::string putBroadcastOrbit7(const double ver) const
+         throw(gpstk::StringUtils::StringException);
+         //@}
+
+   protected:
+         /// Outputs the record to the FFStream \a s.
+      virtual void reallyPutRecord(FFStream& s) const 
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+     
+         /** 
+          * This function retrieves a RINEX NAV record from the given FFStream.
+          * If an error is encountered in reading from the stream, the stream
+          * is returned to its original position and its fail-bit is set.
+          * @throws StringException when a StringUtils function fails
+          * @throws FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs.  This also resets the
+          *  stream to its pre-read position.
+          */
+      virtual void reallyGetRecord(FFStream& s) 
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+   };  // class RinexNavData
+
+   //@}
+
+} // namespace
+
+
+#endif
diff --git a/trunk/src/RinexNavFilterOperators.hpp b/trunk/src/RinexNavFilterOperators.hpp
new file mode 100644
index 0000000..330be6a
--- /dev/null
+++ b/trunk/src/RinexNavFilterOperators.hpp
@@ -0,0 +1,238 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavFilterOperators.hpp#2 $"
+
+/**
+ * @file RinexNavFilterOperators.hpp
+ * Operators for FileFilter using Rinex navigation data
+ */
+
+#ifndef GPSTK_RINEXNAVFILTEROPERATORS_HPP
+#define GPSTK_RINEXNAVFILTEROPERATORS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileFilter.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+
+#include <set>
+
+namespace gpstk
+{
+   /** @addtogroup RinexNav */
+   //@{
+
+      /// This compares all elements of the RinexNavData with less than.
+   struct RinexNavDataOperatorLessThanFull : 
+      public std::binary_function<gpstk::RinexNavData, 
+         gpstk::RinexNavData, bool>
+   {
+   public:
+      bool operator()(const gpstk::RinexNavData& l,
+                      const gpstk::RinexNavData& r) const
+         {
+                     gpstk::DayTime lXmitTime(0.L);
+            lXmitTime.setGPSfullweek(l.weeknum, (double)l.HOWtime);
+            gpstk::DayTime rXmitTime(0.L);
+            rXmitTime.setGPSfullweek(r.weeknum, (double)r.HOWtime);
+
+            if (lXmitTime < rXmitTime)
+               return true;
+            else if (lXmitTime == rXmitTime)
+            {
+                  // compare the times and all data members
+               if (l.time < r.time)
+                  return true;
+               else if (l.time == r.time)
+               {
+                  std::list<double>
+                     llist = l.toList(),
+                     rlist = r.toList();
+                  
+                  std::list<double>::iterator 
+                     litr = llist.begin(), 
+                     ritr = rlist.begin();
+                  
+                  while (litr != llist.end())
+                  {
+                     if (*litr < *ritr)
+                        return true;
+                     else if (*litr > *ritr)
+                        return false;
+                     else
+                     {
+                        litr++;
+                        ritr++;
+                     }
+                  }
+               }
+            } // if (lXmitTime == rXmitTime)
+
+            return false;
+         }
+   };
+
+      /// This compares all elements of the RinexNavData with equals
+   struct RinexNavDataOperatorEqualsFull : 
+      public std::binary_function<gpstk::RinexNavData, 
+         gpstk::RinexNavData, bool>
+   {
+   public:
+      bool operator()(const gpstk::RinexNavData& l,
+                      const gpstk::RinexNavData& r) const
+         {
+               // compare the times and all data members
+            if (l.time != r.time)
+               return false;
+            else // if (l.time == r.time)
+            {
+               std::list<double>
+                  llist = l.toList(),
+                  rlist = r.toList();
+
+               std::list<double>::iterator 
+                  litr = llist.begin(), 
+                  ritr = rlist.begin();
+
+               while (litr != llist.end())
+               {
+                  if (*litr != *ritr)
+                     return false;
+                  litr++;
+                  ritr++;
+               }
+            }
+
+            return true;
+         }
+   };
+
+      /// Only compares time.  Suitable for sorting a RinexNav file.
+   struct RinexNavDataOperatorLessThanSimple : 
+      public std::binary_function<gpstk::RinexNavData, 
+         gpstk::RinexNavData, bool>
+   {
+   public:
+      bool operator()(const gpstk::RinexNavData& l,
+                      const gpstk::RinexNavData& r) const
+         {
+            gpstk::DayTime lXmitTime(0.L);
+            lXmitTime.setGPSfullweek(l.weeknum, (double)l.HOWtime);
+            gpstk::DayTime rXmitTime(0.L);
+            rXmitTime.setGPSfullweek(r.weeknum, (double)r.HOWtime);
+            if (lXmitTime < rXmitTime)
+               return true;
+            return false;
+         }
+   };
+
+      /// Combines RinexNavHeaders into a single header, combining comments
+      /// This assumes that
+      /// all the headers come from the same station for setting the other
+      /// header fields. After running touch() on a list of RinexNavHeader,
+      /// the internal theHeader will be the merged header data for
+      /// those files.
+   struct RinexNavHeaderTouchHeaderMerge :
+      public std::unary_function<gpstk::RinexNavHeader, bool>
+   {
+   public:
+      RinexNavHeaderTouchHeaderMerge()
+            : firstHeader(true)
+         {}
+
+      bool operator()(const gpstk::RinexNavHeader& l)
+         {
+            if (firstHeader)
+            {
+               theHeader = l;
+               firstHeader = false;
+            }
+            else
+            {
+               std::set<std::string> commentSet;
+
+                  // insert the comments to the set
+                  // and let the set take care of uniqueness
+               copy(theHeader.commentList.begin(),
+                    theHeader.commentList.end(),
+                    inserter(commentSet, commentSet.begin()));
+               copy(l.commentList.begin(),
+                    l.commentList.end(),
+                    inserter(commentSet, commentSet.begin()));
+                  // then copy the comments back into theHeader
+               theHeader.commentList.clear();
+               copy(commentSet.begin(), commentSet.end(),
+                    inserter(theHeader.commentList,
+                             theHeader.commentList.begin()));
+            }
+            return true;
+         }
+
+      bool firstHeader;
+      gpstk::RinexNavHeader theHeader;
+   };
+
+      /// Filter based on PRN ID.
+   struct RinexNavDataFilterPRN : 
+      public std::unary_function<gpstk::RinexNavData,  bool>
+   {
+   public:
+      RinexNavDataFilterPRN(const std::list<long>& lst )
+         :prnList(lst)
+         {}
+         /// This should return true when the data are to be erased
+      bool operator()(const gpstk::RinexNavData& l) const
+         {
+            long testValue = (long) l.PRNID;
+            return find(prnList.begin(), prnList.end(), testValue )
+                                                       == prnList.end(); 
+         }
+   private:
+      std::list<long> prnList;
+   };
+
+   //@}
+
+}
+
+
+#endif
+
diff --git a/trunk/src/RinexNavHeader.cpp b/trunk/src/RinexNavHeader.cpp
new file mode 100644
index 0000000..66fccce
--- /dev/null
+++ b/trunk/src/RinexNavHeader.cpp
@@ -0,0 +1,337 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavHeader.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexNavHeader.cpp
+ * Encapsulate header of Rinex navigation file
+ */
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavStream.hpp"
+
+#include <iostream>
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+   const string RinexNavHeader::endOfHeader = "END OF HEADER";
+   const string RinexNavHeader::leapSecondsString = "LEAP SECONDS";
+   const string RinexNavHeader::deltaUTCString = "DELTA-UTC: A0,A1,T,W";
+   const string RinexNavHeader::ionBetaString = "ION BETA";
+   const string RinexNavHeader::ionAlphaString = "ION ALPHA";
+   const string RinexNavHeader::commentString = "COMMENT";
+   const string RinexNavHeader::runByString = "PGM / RUN BY / DATE";
+   const string RinexNavHeader::versionString = "RINEX VERSION / TYPE";
+
+   void RinexNavHeader::reallyPutRecord(FFStream& ffs) const 
+      throw(std::exception, FFStreamError, StringException)
+   {
+      RinexNavStream& strm = dynamic_cast<RinexNavStream&>(ffs);
+      
+      strm.header = (*this);
+      
+      unsigned long allValid;
+      if (version == 2.0)        allValid = allValid20;
+      else if (version == 2.1)   allValid = allValid21;
+      else
+      {
+         FFStreamError err("Unknown RINEX version: " + asString(version,2));
+         err.addText("Make sure to set the version correctly.");
+         GPSTK_THROW(err);
+      }
+      
+      if ((valid & allValid) != allValid)
+      {
+         FFStreamError err("Incomplete or invalid header.");
+         err.addText("Make sure you set all header valid bits for all of the available data.");
+         GPSTK_THROW(err);
+      }
+      
+      string line;
+      
+      if (valid & versionValid)
+      {
+         line  = rightJustify(asString(version,2), 9);
+         line += string(11, ' ');
+         line += string("NAVIGATION"); //leftJustify(fileType, 20);
+         line += string(30, ' ');
+         line += versionString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & runByValid)
+      {
+         line  = leftJustify(fileProgram,20);
+         line += leftJustify(fileAgency,20);
+         DayTime dt;
+         dt.setLocalTime();
+         string dat = dt.printf("%02m/%02d/%04Y %02H:%02M:%02S");
+         line += leftJustify(dat, 20);
+         line += runByString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & commentValid)
+      {
+         vector<string>::const_iterator itr = commentList.begin();
+         while (itr != commentList.end())
+         {
+            line  = leftJustify((*itr), 60);
+            line += commentString;
+            strm << line << endl;
+            strm.lineNumber++;
+            itr++;
+         }
+      }
+      if (valid & ionAlphaValid)
+      {
+         line  = string(2, ' ');
+         for (int i = 0; i < 4; i++)
+         {
+            line += doub2for(ionAlpha[i], 12, 2);  // should be 12.4
+         }
+         line += string(10, ' ');
+         line += ionAlphaString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & ionBetaValid)
+      {
+         line  = string(2, ' ');
+         for (int i = 0; i < 4; i++)
+         {
+            line += doub2for(ionBeta[i], 12, 2);
+         }
+         line += string(10, ' ');
+         line += ionBetaString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & deltaUTCValid)
+      {
+         line  = string(3, ' ');
+         line += string(2, ' ');
+         line += doub2for(A0, 18, 2);
+         line += doub2for(A1, 18, 2);
+         line += rightJustify(asString(UTCRefTime),9);
+         line += rightJustify(asString(UTCRefWeek),9);               
+         line += string(1, ' ');
+         line += deltaUTCString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & leapSecondsValid)
+      {
+         line  = rightJustify(asString(leapSeconds), 6);
+         line += string(54, ' ');
+         line += leapSecondsString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & endValid)
+      {
+         line  = string(60,' ');
+         line += endOfHeader;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      
+   }
+
+   void RinexNavHeader::reallyGetRecord(FFStream& ffs) 
+      throw(std::exception, FFStreamError, StringException)
+   {
+      RinexNavStream& strm = dynamic_cast<RinexNavStream&>(ffs);
+      
+         // if already read, just return
+      if (strm.headerRead == true)
+         return;
+      
+      valid = 0;
+      
+         // clear out anything that was unsuccessfully read the first
+      commentList.clear();
+      
+      while (! (valid & endValid))
+      {
+         string line;
+         strm.formattedGetLine(line);
+         StringUtils::stripTrailing(line);
+
+         if (line.length()==0) continue;
+         else if (line.length()<60 || line.length()>80)
+         {
+            FFStreamError e("Invalid line length");
+            GPSTK_THROW(e);
+         }
+         
+         string thisLabel(line, 60, 20);
+         
+         if (thisLabel == versionString)
+         {
+            version = asDouble(line.substr(0,20));
+            fileType = strip(line.substr(20,20));
+            if ( (fileType[0] != 'N') &&
+                 (fileType[0] != 'n'))
+            {
+               FFStreamError e("This isn't a Rinex Nav file");
+               GPSTK_THROW(e);
+            }
+            valid |= versionValid;
+         }
+         else if (thisLabel == runByString)
+         {
+            fileProgram = strip(line.substr(0,20));
+            fileAgency = strip(line.substr(20,20));
+            date = strip(line.substr(40,20));
+            valid |= runByValid;
+         }
+         else if (thisLabel == commentString)
+         {
+            commentList.push_back(strip(line.substr(0,60)));
+            valid |= commentValid;
+         }
+         else if (thisLabel == ionAlphaString)
+         {
+            for(int i = 0; i < 4; i++)
+               ionAlpha[i] = gpstk::StringUtils::for2doub(line.substr(2 + 12 * i,12),12);
+            valid |= ionAlphaValid;
+         }
+         else if (thisLabel == ionBetaString)
+         {
+            for(int i = 0; i < 4; i++)
+               ionBeta[i] = gpstk::StringUtils::for2doub(line.substr(2 + 12 * i,12),12);
+            valid |= ionBetaValid;
+         }
+         else if (thisLabel == deltaUTCString)
+         {
+            A0 = gpstk::StringUtils::for2doub(line.substr(3,19),19);
+            A1 = gpstk::StringUtils::for2doub(line.substr(22,19),19);
+            UTCRefTime = asInt(line.substr(41,9));
+            UTCRefWeek = asInt(line.substr(50,9));
+            valid |= deltaUTCValid;
+         }
+         else if (thisLabel == leapSecondsString)
+         {
+            leapSeconds = asInt(line.substr(0,6));
+            valid |= leapSecondsValid;
+         }
+         else if (thisLabel == endOfHeader)
+         {
+            valid |= endValid;
+         }
+         else
+         {
+            throw(FFStreamError("Unknown header label at line " + 
+                                asString<size_t>(strm.lineNumber)));
+         }
+      }
+      
+      unsigned long allValid;
+      if      (version == 2.0)      allValid = allValid20;
+      else if (version == 2.1)      allValid = allValid21;
+      else
+      {
+         FFStreamError e("Unknown or unsupported RINEX version " + 
+                         asString(version));
+         GPSTK_THROW(e);
+      }
+      
+      if ( (allValid & valid) != allValid)
+      {
+         FFStreamError e("Incomplete or invalid header");
+         GPSTK_THROW(e);               
+      }            
+      
+         // we got here, so something must be right...
+      strm.header = *this;
+      strm.headerRead = true;      
+   }
+
+   void RinexNavHeader::dump(ostream& s) const
+   {
+      int i;
+       s << "---------------------------------- REQUIRED ----------------------------------\n";
+      s << "Rinex Version " << fixed << setw(5) << setprecision(2) << version
+         << ",  File type " << fileType << ".\n";
+      s << "Prgm: " << fileProgram << ",  Run: " << date << ",  By: " << fileAgency << endl;
+
+      s << "(This header is ";
+      if((valid & allValid21) == allValid21) s << "VALID 2.1";
+      else if((valid & allValid20) == allValid20) s << "VALID 2.0";
+      else s << "NOT VALID";
+      s << " Rinex.)\n";
+
+      if(!(valid & versionValid)) s << " Version is NOT valid\n";
+      if(!(valid & runByValid)) s << " Run by is NOT valid\n";
+      if(!(valid & endValid)) s << " End is NOT valid\n";
+
+      s << "---------------------------------- OPTIONAL ----------------------------------\n";
+      if(valid & ionAlphaValid) { s << "Ion alpha:";
+         for(i=0; i<4; i++) s << " " << scientific << setprecision(4) << ionAlpha[i];
+      s << endl; }
+      else s << " Ion alpha is NOT valid\n";
+      if(valid & ionBetaValid) { s << "Ion beta:";
+         for(i=0; i<4; i++) s << " " << scientific << setprecision(4) << ionBeta[i];
+      s << endl; }
+      else s << " Ion beta is NOT valid\n";
+      if(valid & deltaUTCValid) s << "Delta UTC: A0="
+         << scientific << setprecision(12) << A0 << ", A1="
+         << scientific << setprecision(12) << A1 << ", UTC ref = ("
+         << UTCRefWeek << "," << UTCRefTime << ")\n";
+      else s << " Delta UTC is NOT valid\n";
+      if(valid & leapSecondsValid) s << "Leap seconds: " << leapSeconds << endl;
+      else s << " Leap seconds is NOT valid\n";
+      if(commentList.size() > 0) {
+         s << "Comments (" << commentList.size() << ") :\n";
+         for(int i=0; i<commentList.size(); i++)
+            s << commentList[i] << endl;
+      }
+      s << "-------------------------------- END OF HEADER -------------------------------\n";
+   }
+
+} // namespace
diff --git a/trunk/src/RinexNavHeader.hpp b/trunk/src/RinexNavHeader.hpp
new file mode 100644
index 0000000..77c7daa
--- /dev/null
+++ b/trunk/src/RinexNavHeader.hpp
@@ -0,0 +1,160 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavHeader.hpp#1 $"
+
+/**
+ * @file RinexNavHeader.hpp
+ * Encapsulate header of Rinex navigation file
+ */
+
+#ifndef GPSTK_RINEXNAVHEADER_HPP
+#define GPSTK_RINEXNAVHEADER_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFStream.hpp"
+#include "RinexNavBase.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup RinexNav */
+   //@{
+
+      /**
+       * This class models the RINEX NAV header for a RINEX NAV file.
+       *
+       * \sa rinex_nav_test.cpp and rinex_nav_read_write.cpp for examples.
+       * \sa gpstk::RinexNavData and gpstk::RinexNavStream classes.
+       */
+   class RinexNavHeader : public RinexNavBase
+   {
+   public:
+         /// Constructor
+      RinexNavHeader(void) : valid(0), version(2.1) {}
+      
+         /// Destructor
+      virtual ~RinexNavHeader() {}
+
+         /// RinexNavHeader is a "header" so this function always returns true.
+      virtual bool isHeader(void) const {return true;}
+
+         /// This function dumps the contents of the header.
+      virtual void dump(std::ostream& s) const;
+
+         /// Tell me, Am I valid?
+      unsigned long valid;
+
+         /// These are validity bits used in checking the RINEX NAV header.
+      enum validBits
+      {
+         versionValid = 0x01,        ///< Set if the RINEX version is valid.
+         runByValid = 0x02,          ///< Set if the Run-by value is valid.
+         commentValid = 0x04,        ///< Set if the comments are valid. Very subjective
+         ionAlphaValid = 0x08,       ///< Set if the Ion Alpha value is valid.
+         ionBetaValid = 0x010,       ///< Set if the Ion Beta value is valid.
+         deltaUTCValid = 0x020,      ///< Set if the Delta UTC value is valid.
+         leapSecondsValid = 0x040,   ///< Set if the Leap Seconds value is valid.
+         endValid = 0x080000000,           ///< Set if the end value is valid.
+
+            /// This bitset checks that all required header items are available
+            /// for a Rinex 2.0 version file
+         allValid20 = 0x080000003,
+            /// This bitset checks that all required header items are available
+            /// for a Rinex 2.1 version file
+         allValid21 = 0x080000003
+      };
+
+         /** @name HeaderValues
+          */
+         //@{
+      double version;           ///< RINEX Version
+
+      std::string fileType;            
+      std::string fileProgram;
+      std::string fileAgency;
+      std::string date;
+      std::vector<std::string> commentList;
+      double ionAlpha[4];
+      double ionBeta[4];
+      double A0;
+      double A1;
+      long UTCRefTime;
+      long UTCRefWeek;
+      long leapSeconds;
+         //@}
+
+         /** @name FormattingStd::Strings
+          */
+         //@{
+      static const std::string versionString; //"RINEX VERSION / TYPE"
+      static const std::string runByString; //"PGM / RUN BY / DATE"
+      static const std::string commentString; // "COMMENT"
+      static const std::string ionAlphaString;  //"ION ALPHA"
+      static const std::string ionBetaString;  //"ION BETA"
+      static const std::string deltaUTCString; //"DELTA-UTC: A0,A1,T,W"
+      static const std::string leapSecondsString; //"LEAP SECONDS"
+      static const std::string endOfHeader;  //"END OF HEADER"
+         //@}
+
+   protected:
+         /// Writes a correctly formatted record from this data to stream \a s.
+      virtual void reallyPutRecord(FFStream& s) const
+         throw(std::exception, FFStreamError, 
+               gpstk::StringUtils::StringException);
+
+         /**
+          * This function reads the RINEX NAV header from the given FFStream.
+          * If an error is encountered in reading from the stream, the stream
+          * is reset to its original position and its fail-bit is set.
+          * @throws StringException when a StringUtils function fails
+          * @throws FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs.  This also resets the
+          *  stream to its pre-read position.
+          */
+      virtual void reallyGetRecord(FFStream& s) 
+         throw(std::exception, FFStreamError, 
+               gpstk::StringUtils::StringException);
+   }; // class RinexNavHeader
+
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/RinexNavStream.hpp b/trunk/src/RinexNavStream.hpp
new file mode 100644
index 0000000..488f63f
--- /dev/null
+++ b/trunk/src/RinexNavStream.hpp
@@ -0,0 +1,102 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexNavStream.hpp#1 $"
+
+/**
+ * @file RinexNavStream.hpp
+ * File stream for Rinex navigation file data
+ */
+
+#ifndef GPSTK_RINEXNAVSTREAM_HPP
+#define GPSTK_RINEXNAVSTREAM_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFTextStream.hpp"
+#include "RinexNavHeader.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup RinexNav */
+   //@{
+
+      /**
+       * This class performs file i/o on a RINEX NAV file.
+       *
+       * \sa rinex_nav_test.cpp and rinex_nav_read_write.cpp for examples.
+       * \sa gpstk::RinexNavHeader and gpstk::RinexNavData classes.
+       */
+   class RinexNavStream : public FFTextStream
+   {
+   public:
+         /// Default constructor
+      RinexNavStream()
+            : headerRead(false)
+         {}
+      
+         /** Constructor 
+          * Opens a file named \a fn using ios::openmode \a mode.
+          */
+      RinexNavStream(const char* fn, std::ios::openmode mode=std::ios::in)
+            : FFTextStream(fn, mode), headerRead(false) {}
+      
+         /// Destructor
+      virtual ~RinexNavStream() {}
+      
+         /// overrides open to reset the header
+      virtual void open(const char* fn, std::ios::openmode mode)
+         { 
+            FFTextStream::open(fn, mode); 
+            headerRead = false; 
+            header = RinexNavHeader();
+         }
+
+         /// RINEX NAV header for this file.
+      RinexNavHeader header;
+     
+         /// Flag showing whether or not the header has been read.
+      bool headerRead;
+   };
+
+   //@}
+
+}
+
+#endif
diff --git a/trunk/src/RinexObsBase.hpp b/trunk/src/RinexObsBase.hpp
new file mode 100644
index 0000000..c425632
--- /dev/null
+++ b/trunk/src/RinexObsBase.hpp
@@ -0,0 +1,73 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsBase.hpp#1 $"
+
+/**
+ * @file RinexObsBase.hpp
+ * Base class for RINEX observation file data
+ */
+
+#ifndef GPSTK_RINEXOBSBASE_HPP
+#define GPSTK_RINEXOBSBASE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFData.hpp"
+
+namespace gpstk
+{
+   /** @defgroup RinexObs RINEX observation files */
+   //@{
+
+  /** This level isn't serving any purpose other than to make
+   * the class diagram look nice...
+   */
+   class RinexObsBase : public FFData
+   {
+   public:
+         /// Destructor per the coding standards
+      virtual ~RinexObsBase() {}
+   };
+
+   //@}
+
+}  // namespace
+
+#endif
diff --git a/trunk/src/RinexObsData.cpp b/trunk/src/RinexObsData.cpp
new file mode 100644
index 0000000..3e98bec
--- /dev/null
+++ b/trunk/src/RinexObsData.cpp
@@ -0,0 +1,405 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsData.cpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexObsData.cpp
+ * Encapsulate RINEX observation file data, including I/O
+ */
+
+#include "StringUtils.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsStream.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+   void RinexObsData::reallyPutRecord(FFStream& ffs) const 
+      throw(std::exception, FFStreamError, StringException)
+   {
+      // is there anything to write?
+      if( (epochFlag==0 || epochFlag==1 || epochFlag==6)
+         && (numSvs==0 || obs.empty()) ) return;
+      if((epochFlag>=2 && epochFlag<=5) &&
+            auxHeader.NumberHeaderRecordsToBeWritten()==0) return;
+
+      RinexObsStream& strm = dynamic_cast<RinexObsStream&>(ffs);
+      string line;
+
+      // first the epoch line to 'line'
+      line  = writeTime(time);
+      line += string(2, ' ');
+      line += rightJustify(asString<short>(epochFlag), 1);
+      line += rightJustify(asString<short>(numSvs), 3);
+         
+      // write satellite ids to 'line'
+      const int maxPrnsPerLine = 12;
+      int prnsWritten = 0;
+      RinexPrnMap::const_iterator obsItr = obs.begin();
+      if(epochFlag==0 || epochFlag==1 || epochFlag==6) {
+         while ((obsItr != obs.end()) && (prnsWritten < maxPrnsPerLine))
+         {
+            line += asString((*obsItr).first);
+            prnsWritten++;
+            obsItr++;
+         }
+
+            // add clock offset
+         if(clockOffset != 0.0) {
+            line += string(68 - line.size(), ' ');
+            line += rightJustify(asString(clockOffset, 9), 12);
+         }
+      
+        // continuation lines
+         while (prnsWritten != obs.size())
+         {
+            if ((prnsWritten % maxPrnsPerLine) == 0)
+            {
+               strm << line << endl;
+               strm.lineNumber++;
+               line  = string(32, ' ');
+            }
+            line += asString((*obsItr).first);
+            prnsWritten++;
+            obsItr++;
+         }
+      }
+
+      // write the epoch line
+      strm << line << endl;
+      strm.lineNumber++;         
+      
+      // write the auxiliary header records, if any
+      if(epochFlag >= 2 && epochFlag <= 5)
+      {
+         try {
+            auxHeader.WriteHeaderRecords(strm);
+         }
+         catch(FFStreamError& e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(StringException& e)
+         {
+            GPSTK_RETHROW(e);
+         }
+      }
+      
+      // write the obs data
+      else if (!obs.empty())
+      {
+            // write out the observations themselves
+         obsItr = obs.begin();
+         
+         const int maxObsPerLine = 5;
+         
+         while(obsItr != obs.end())
+         {
+            vector<RinexObsHeader::RinexObsType>::iterator obsTypeItr = 
+               strm.header.obsTypeList.begin();
+            
+            line.erase();
+            int obsWritten = 0;
+            
+            while (obsTypeItr != strm.header.obsTypeList.end())
+            {
+               if (  ((obsWritten % maxObsPerLine) == 0) &&
+                     (obsWritten != 0))
+               {
+                  strm << line << endl;
+                  strm.lineNumber++;
+                  line.erase();
+               }
+
+               RinexObsTypeMap::const_iterator rotmi(obsItr->second.find(*obsTypeItr));
+               RinexDatum thisData;
+               if (rotmi != obsItr->second.end())
+                  thisData = rotmi->second;
+               line += rightJustify(asString(thisData.data,3),14);
+               if (thisData.lli == 0)
+                  line += string(1, ' ');
+               else
+                  line += rightJustify(asString<short>(thisData.lli),1);
+               if (thisData.ssi == 0)
+                  line += string(1, ' ');
+               else
+                  line += rightJustify(asString<short>(thisData.ssi),1);
+               obsWritten++;
+               obsTypeItr++;
+            }
+            strm << line << endl;
+            strm.lineNumber++;
+            obsItr++;
+         }  
+      }      
+   }   // end RinexObsData::reallyPutRecord
+
+
+   void RinexObsData::reallyGetRecord(FFStream& ffs) 
+      throw(exception, FFStreamError, gpstk::StringUtils::StringException)
+   {
+      RinexObsStream& strm = dynamic_cast<RinexObsStream&>(ffs);
+      
+         // If the header hasn't been read, read it...
+      if(!strm.headerRead) strm >> strm.header;
+      
+         // Clear out this object
+      RinexObsHeader& hdr = strm.header;
+      
+      RinexObsData rod;
+      *this=rod;
+      
+      string line;
+      
+      strm.formattedGetLine(line, true);
+      
+      if (line.size()>80 || line[0] != ' ' || line[3] != ' ' || line[6] != ' ')
+      {
+         FFStreamError e("Bad epoch line");
+         GPSTK_THROW(e);
+      }
+      
+         // process the epoch line, including SV list and clock bias
+      epochFlag = asInt(line.substr(28,1));
+      if ((epochFlag < 0) || (epochFlag > 6))
+      {
+         FFStreamError e("Invalid epoch flag: " + asString(epochFlag));
+         GPSTK_THROW(e);
+      }
+      time = parseTime(line, hdr);
+      numSvs = asInt(line.substr(29,3));
+      
+      if( line.size() > 68 )
+         clockOffset = asDouble(line.substr(68, 12));
+      else
+         clockOffset = 0.0;
+      
+         // Now read the observations ...
+      if(epochFlag==0 || epochFlag==1 || epochFlag==6) {
+         int isv, ndx, line_ndx;
+         vector<RinexPrn> prnIndex(numSvs);
+         int col=30;
+         for (isv=1, ndx=0; ndx<numSvs; isv++, ndx++) {
+            if(! (isv % 13)) {
+               strm.formattedGetLine(line);
+               isv = 1;
+               if(line.size() > 80) {
+                  FFStreamError err("Invalid line size:" + asString(line.size()));
+                  GPSTK_THROW(err);
+               }
+            }
+            prnIndex[ndx] = asData<RinexPrn>(line.substr(col+isv*3-1, 3));
+         }
+      
+         for (isv=0; isv < numSvs; isv++)
+         {
+            short numObs = hdr.obsTypeList.size();
+            for (ndx=0, line_ndx=0; ndx < numObs; ndx++, line_ndx++)
+            {
+               RinexPrn prn = prnIndex[isv];
+               RinexObsHeader::RinexObsType obs_type = hdr.obsTypeList[ndx];
+               if (! (line_ndx % 5))
+               {
+                  strm.formattedGetLine(line);
+                  line_ndx = 0;
+                  if (line.size() > 80)
+                  {
+                     FFStreamError err("Invalid line size:" + asString(line.size()));
+                     GPSTK_THROW(err);
+                  }
+               }
+               
+               line.resize(80, ' ');
+               
+               obs[prn][obs_type].data = asDouble(line.substr(line_ndx*16,   14));
+               obs[prn][obs_type].lli = asInt(    line.substr(line_ndx*16+14, 1));
+               obs[prn][obs_type].ssi = asInt(    line.substr(line_ndx*16+15, 1));
+            }
+         }
+      }
+         // ... or the auxiliary header information
+      else if(numSvs > 0) {
+         auxHeader.clear();
+         for(int i=0; i<numSvs; i++) {
+            strm.formattedGetLine(line);
+            StringUtils::stripTrailing(line);
+            try {
+               auxHeader.ParseHeaderRecord(line);
+            }
+            catch(FFStreamError& e)
+            {
+               GPSTK_RETHROW(e);
+            }
+            catch(StringException& e)
+            {
+               GPSTK_RETHROW(e);
+            }
+         }
+      }
+
+      return;
+      
+   } // end of reallyGetRecord()
+
+
+   DayTime RinexObsData::parseTime(const string& line, 
+                                   const RinexObsHeader& hdr) const
+      throw(FFStreamError)
+   {
+      try
+      {
+            // check if the spaces are in the right place - an easy
+            // way to check if there's corruption in the file
+         if ( (line[0] != ' ') ||
+              (line[3] != ' ') ||
+              (line[6] != ' ') ||
+              (line[9] != ' ') ||
+              (line[12] != ' ') ||
+              (line[15] != ' '))
+         {
+            FFStreamError e("Invalid time format");
+            GPSTK_THROW(e);
+         }
+
+            // if there's no time, just return a bad time
+         if (line.substr(0,26) == string(26, ' '))
+         {
+            return DayTime(DayTime::BEGINNING_OF_TIME);
+         }
+
+         int year, month, day, hour, min;
+         double sec;
+         int yy = hdr.firstObs.year()/100;
+         yy *= 100;
+   
+         year  = asInt(   line.substr(1,  2 ));
+         month = asInt(   line.substr(4,  2 ));
+         day   = asInt(   line.substr(7,  2 ));
+         hour  = asInt(   line.substr(10, 2 ));
+         min   = asInt(   line.substr(13, 2 ));
+         sec   = asDouble(line.substr(15, 11));
+
+         // Real Rinex has epochs 'yy mm dd hr 59 60.0' surprisingly often....
+         double ds=0;
+         if(sec >= 60.) { ds=sec; sec=0.0; }
+         DayTime rv(yy+year, month, day, hour, min, sec);
+         if(ds != 0) rv += ds;
+
+         return rv;
+      }
+         // string exceptions for substr are caught here
+      catch (std::exception &e)
+      {
+         FFStreamError err("std::exception: " + string(e.what()));
+         GPSTK_THROW(err);
+      }
+      catch (gpstk::Exception& e)
+      {
+         std::string text;
+         for(int i=0; i<e.getTextCount(); i++) text += e.getText(i);
+         FFStreamError err("gpstk::Exception in parseTime(): " + text);
+         GPSTK_THROW(err);
+      }
+
+   }
+
+   string RinexObsData::writeTime(const DayTime& dt) const
+      throw(StringException)
+   {
+      if (dt == DayTime::BEGINNING_OF_TIME)
+      {
+         return string(26, ' ');
+      }
+
+      string line;
+      line  = string(1, ' ');
+      line += rightJustify(asString<short>(dt.year()),2);
+      line += string(1, ' ');
+      line += rightJustify(asString<short>(dt.month()),2);
+      line += string(1, ' ');
+      line += rightJustify(asString<short>(dt.day()),2);
+      line += string(1, ' ');
+      line += rightJustify(asString<short>(dt.hour()),2);
+      line += string(1, ' ');
+      line += rightJustify(asString<short>(dt.minute()),2);
+      line += rightJustify(asString(dt.second(), 7),11);
+
+      return line;
+   }
+
+
+   void RinexObsData::dump(ostream& s) const
+   {
+      if (obs.empty())
+         return;
+      /*
+      s << "Time:" << time
+        << ", prns: ";
+      RinexPrnMap::const_iterator i;
+      for(i=obs.begin(); i!=obs.end(); i++)
+         s << i->first << " ";
+      s << endl;
+      */
+      s << "Dump of RinexObsData: ";
+      s << writeTime(time);
+      s << " " << epochFlag << " " << numSvs << " " << fixed << setprecision(6) << clockOffset << endl;
+      if(epochFlag == 0 || epochFlag == 1) {
+         RinexPrnMap::const_iterator it;
+         for(it=obs.begin(); it!=obs.end(); it++) {
+            s << "PRN " << setw(2) << it->first;
+            RinexObsTypeMap::const_iterator jt;
+            for(jt=it->second.begin(); jt!=it->second.end(); jt++) {
+               s << " " << jt->first.type << " " << fixed << setprecision(3) << setw(13) << jt->second.data
+                  << "/" << jt->second.lli << "/" << jt->second.ssi;
+            }
+            s << endl;
+         }
+      }
+      else {
+         s << "aux. header info:\n";
+         auxHeader.dump(s);
+      }
+   }
+
+} // namespace
diff --git a/trunk/src/RinexObsData.hpp b/trunk/src/RinexObsData.hpp
new file mode 100644
index 0000000..4810af2
--- /dev/null
+++ b/trunk/src/RinexObsData.hpp
@@ -0,0 +1,182 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsData.hpp#1 $"
+
+/**
+ * @file RinexObsData.hpp
+ * Encapsulate RINEX observation file data, including I/O
+ */
+
+#ifndef RINEXOBSDATA_HPP
+#define RINEXOBSDATA_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexObsData.hpp
+ * gpstk::RinexObsData - storage, reading, and writing RINEX Obs data.
+ */
+
+#include <vector>
+#include <list>
+#include <map>
+
+#include "DayTime.hpp"
+#include "FFStream.hpp"
+#include "RinexObsBase.hpp"
+#include "RinexObsHeader.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup RinexObs */
+   //@{
+
+      /**
+       * This class models a RINEX Observation Data Record.
+       *
+       * @sa gpstk::RinexObsStream and gpstk::RinexObsHeader.
+       * @sa rinex_obs_test.cpp and rinex_obs_read_write.cpp for examples.
+       */   
+   class RinexObsData : public RinexObsBase
+   {
+   public:
+
+         /// A structure used to store a single RINEX Data point.
+      struct RinexDatum
+      {
+         RinexDatum() : data(0), lli(0), ssi(0) {}
+         double data;  ///< The actual data point.
+         short lli;    ///< See the RINEX Spec. for an explanation.
+         short ssi;    ///< See the RINEX Spec. for an explanation.
+      };
+      
+         /// map from RinexObsType to RinexDatum.
+      typedef std::map<RinexObsHeader::RinexObsType, RinexDatum> RinexObsTypeMap;
+         /// map from RinexPrn to RinexObsTypeMap.
+      typedef std::map<RinexPrn, RinexObsTypeMap> RinexPrnMap;
+
+      gpstk::DayTime time;    ///< the time corresponding to the observations
+        /** Epoch flag has the following values
+         * 0 ok
+         * 1 power failure since previous epoch
+         * 2 start moving antenna
+         * 3 new site occupation (end moving antenna)
+         *   at least MARKER NAME header record follows
+         * 4 header records follow
+         * 5 external event
+         * 6 cycle slip record - same format as observation, but slips not data,
+         *   and LLI and SSI are blank
+         */
+      short epochFlag;
+         /** number of satellites in this observation, except when epochFlag = 2-5,
+          * then the number of auxiliary header records to follow.
+          */
+      short numSvs;
+      double clockOffset;      ///< optional clock offset
+      RinexPrnMap obs;         ///< the map of observations
+      RinexObsHeader auxHeader;///< auxiliary header records (epochFlag 2-5)
+
+         /// Constructor.
+      RinexObsData() : time(gpstk::DayTime::BEGINNING_OF_TIME){}
+
+         /// Destructor
+      virtual ~RinexObsData() {}
+
+         // The next four lines is our common interface
+         /// RinexObsData is a "data", so this function always returns true.
+      virtual bool isData() const {return true;}
+
+         /**
+          * A Debug output function.
+          * Dumps the time of observations and the IDs of the PRNs
+          * in the map.
+          */
+      virtual void dump(std::ostream& s) const;
+
+   protected:
+         /**
+          * Writes a correctly formatted record from this data to stream \a s.
+          * When printing comment records, you'll need to format them correctly
+          * yourself.  This means making sure that "COMMENT" is at the end
+          * of the line and that they're the correct length (<= 80 chrs).
+          * Also make sure to correctly set the epochFlag to the correct
+          * number for the type of header data you want to write.
+          */
+      virtual void reallyPutRecord(FFStream& s) const 
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+  
+         /**
+          * This functions obtains a RINEX Observation record from the given 
+          * FFStream.
+          * If there is an error in reading from the stream, it is reset
+          * to its original position and its fail-bit is set.
+          * Because of the Rinex Obs format, a RinexObsData record returned
+          * might not have data in it.  Check the RinexPrnMap for empty()
+          * before using any data in it.
+          * @throws StringException when a StringUtils function fails
+          * @throws FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs.  This also resets the
+          *  stream to its pre-read position.
+          */
+      virtual void reallyGetRecord(FFStream& s) 
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+
+   private:
+         /// Writes the daytime object into RINEX format. If it's a bad time,
+         /// it will return blanks.
+      std::string writeTime(const DayTime& dt) const
+         throw(gpstk::StringUtils::StringException);
+
+         /**
+          * This function constructs a DayTime object from the given parameters.
+          * @param line the encoded time string found in the RINEX record.
+          * @param hdr the RINEX Observation Header object for the current RINEX file.
+          */
+      DayTime parseTime(const std::string& line, const RinexObsHeader& hdr) const
+         throw(FFStreamError);
+   }; // class RinexObsData
+
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/RinexObsFilterOperators.hpp b/trunk/src/RinexObsFilterOperators.hpp
new file mode 100644
index 0000000..74c6c1d
--- /dev/null
+++ b/trunk/src/RinexObsFilterOperators.hpp
@@ -0,0 +1,268 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsFilterOperators.hpp#1 $"
+
+/**
+ * @file RinexObsFilterOperators.hpp
+ * Operators for FileFilter using Rinex observation data
+ */
+
+#ifndef GPSTK_RINEXOBSFILTEROPERATORS_HPP
+#define GPSTK_RINEXOBSFILTEROPERATORS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FileFilter.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+
+#include <set>
+#include <algorithm>
+
+namespace gpstk
+{
+   /** @addtogroup RinexObs */
+   //@{
+
+      /// This compares all elements of the RinexObsData with less than
+      /// (only for those fields which the two obs data share).
+   struct RinexObsDataOperatorLessThanFull : 
+      public std::binary_function<gpstk::RinexObsData, 
+         gpstk::RinexObsData, bool>
+   {
+   public:
+         /// The set is a set of RinexObsType that the two files have in 
+         /// common.  This is easily generated with the set_intersection
+         /// STL function.  See difftools/rowdiff.cpp for an example.
+      RinexObsDataOperatorLessThanFull
+      (const std::set<gpstk::RinexObsHeader::RinexObsType>& rohset)
+            : obsSet(rohset)
+         {}
+
+      bool operator()(const gpstk::RinexObsData& l,
+                      const gpstk::RinexObsData& r) const
+         {
+               // compare the times, offsets, then only those elements
+               // that are common to both.  this ignores the flags
+               // that are set to 0
+            if (l.time < r.time)
+               return true;
+            else if (l.time == r.time)
+            {
+               if (l.epochFlag < r.epochFlag)
+                  return true;
+               else if (l.epochFlag == r.epochFlag)
+               {
+                  if (l.clockOffset < r.clockOffset)
+                     return true;
+                  else if (l.clockOffset > r.clockOffset)
+                     return false;
+               }
+               else
+                  return false;
+            }
+            else
+               return false;
+         
+               // for the obs, first check that they're the same size
+               // i.e. - contain the same number of PRNs
+            if (l.obs.size() < r.obs.size())
+               return true;
+
+            if (l.obs.size() > r.obs.size())
+               return false;
+
+               // then check that each PRN has the same data for each of the 
+               // shared fields
+            gpstk::RinexObsData::RinexPrnMap::const_iterator lItr = 
+               l.obs.begin(), rItr;
+         
+            gpstk::RinexPrn prn;
+
+            while (lItr != l.obs.end())
+            {
+               prn = (*lItr).first;
+               rItr = r.obs.find(prn);
+               if (rItr == r.obs.end())
+                  return false;
+         
+               gpstk::RinexObsData::RinexObsTypeMap 
+                  lObs = (*lItr).second, 
+                  rObs = (*rItr).second;
+
+               std::set<gpstk::RinexObsHeader::RinexObsType>::const_iterator obsItr = 
+                  obsSet.begin();
+         
+               while (obsItr != obsSet.end())
+               {
+                  gpstk::RinexObsData::RinexDatum lData, rData;
+                  lData = lObs[*obsItr];
+                  rData = rObs[*obsItr];
+
+                  if (lData.data < rData.data)
+                     return true;
+               
+                  if ( (lData.lli != 0) && (rData.lli != 0) )
+                     if (lData.lli < rData.lli)
+                        return true;
+               
+                  if ( (lData.ssi != 0) && (rData.ssi != 0) )
+                     if (lData.ssi < rData.ssi)
+                        return true;
+               
+                  obsItr++;
+               }
+
+               lItr++;
+            }
+
+               // the data is either == or > at this point
+            return false;
+         }
+
+   private:
+      std::set<gpstk::RinexObsHeader::RinexObsType> obsSet;
+   };
+
+      /// This is a much faster less than operator for RinexObsData,
+      /// only checking time
+   struct RinexObsDataOperatorLessThanSimple : 
+      public std::binary_function<gpstk::RinexObsData, 
+         gpstk::RinexObsData, bool>
+   {
+   public:
+      bool operator()(const gpstk::RinexObsData& l,
+                      const gpstk::RinexObsData& r) const
+         {
+            if (l.time < r.time)
+               return true;
+            return false;
+         }
+   };
+
+      /// This simply compares the times of the two records
+      /// for equality
+   struct RinexObsDataOperatorEqualsSimple : 
+      public std::binary_function<gpstk::RinexObsData, 
+         gpstk::RinexObsData, bool>
+   {
+   public:
+      bool operator()(const gpstk::RinexObsData& l,
+                      const gpstk::RinexObsData& r) const
+         {
+            if (l.time == r.time)
+               return true;
+            return false;
+         }
+   };
+
+      /// Combines RinexObsHeaders into a single header, combining comments
+      /// and adding the appropriate RinexObsTypes.  This assumes that
+      /// all the headers come from the same station for setting the other
+      /// header fields. After running touch() on a list of RinexObsHeader,
+      /// the internal theHeader will be the merged header data for
+      /// those files and obsSet will be the set of RinexObsTypes that
+      /// will be printed to the file.
+   struct RinexObsHeaderTouchHeaderMerge :
+      public std::unary_function<gpstk::RinexObsHeader, bool>
+   {
+   public:
+      RinexObsHeaderTouchHeaderMerge()
+            : firstHeader(true)
+         {}
+
+      bool operator()(const gpstk::RinexObsHeader& l)
+         {
+            if (firstHeader)
+            {
+               theHeader = l;
+               firstHeader = false;
+            }
+            else
+            {
+               std::set<gpstk::RinexObsHeader::RinexObsType> thisObsSet, 
+                  tempObsSet;
+               std::set<std::string> commentSet;
+               obsSet.clear();
+
+                  // insert the comments to the set
+                  // and let the set take care of uniqueness
+               copy(theHeader.commentList.begin(),
+                    theHeader.commentList.end(),
+                    inserter(commentSet, commentSet.begin()));
+               copy(l.commentList.begin(),
+                    l.commentList.end(),
+                    inserter(commentSet, commentSet.begin()));
+                  // then copy the comments back into theHeader
+               theHeader.commentList.clear();
+               copy(commentSet.begin(), commentSet.end(),
+                    inserter(theHeader.commentList,
+                             theHeader.commentList.begin()));
+
+                  // find the set intersection of the obs types
+               copy(theHeader.obsTypeList.begin(),
+                    theHeader.obsTypeList.end(),
+                    inserter(thisObsSet, thisObsSet.begin()));
+               copy(l.obsTypeList.begin(),
+                    l.obsTypeList.end(),
+                    inserter(tempObsSet, tempObsSet.begin()));
+               set_intersection(thisObsSet.begin(), thisObsSet.end(),
+                                tempObsSet.begin(), tempObsSet.end(),
+                                inserter(obsSet, obsSet.begin()));
+                  // then copy the obsTypes back into theHeader
+               theHeader.obsTypeList.clear();
+               copy(obsSet.begin(), obsSet.end(),
+                    inserter(theHeader.obsTypeList, 
+                             theHeader.obsTypeList.begin()));
+            }
+            return true;
+         }
+
+      bool firstHeader;
+      gpstk::RinexObsHeader theHeader;
+      std::set<gpstk::RinexObsHeader::RinexObsType> obsSet;
+   };
+
+   //@}
+
+}
+
+
+#endif
diff --git a/trunk/src/RinexObsHeader.cpp b/trunk/src/RinexObsHeader.cpp
new file mode 100644
index 0000000..3655e64
--- /dev/null
+++ b/trunk/src/RinexObsHeader.cpp
@@ -0,0 +1,958 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsHeader.cpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file RinexObsHeader.cpp
+ * Encapsulate header of Rinex observation file, including I/O
+ */
+
+#include "StringUtils.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+using namespace std;
+using namespace gpstk::StringUtils;
+
+namespace gpstk
+{
+   const string RinexObsHeader::versionString =         "RINEX VERSION / TYPE";
+   const string RinexObsHeader::runByString =           "PGM / RUN BY / DATE";
+   const string RinexObsHeader::commentString =         "COMMENT";
+   const string RinexObsHeader::markerNameString =      "MARKER NAME";
+   const string RinexObsHeader::markerNumberString =    "MARKER NUMBER";
+   const string RinexObsHeader::observerString =        "OBSERVER / AGENCY";
+   const string RinexObsHeader::receiverString =        "REC # / TYPE / VERS";
+   const string RinexObsHeader::antennaTypeString =     "ANT # / TYPE";
+   const string RinexObsHeader::antennaPositionString = "APPROX POSITION XYZ";
+   const string RinexObsHeader::antennaOffsetString =   "ANTENNA: DELTA H/E/N";
+   const string RinexObsHeader::waveFactString =        "WAVELENGTH FACT L1/2";
+   const string RinexObsHeader::numObsString =          "# / TYPES OF OBSERV";
+   const string RinexObsHeader::intervalString =        "INTERVAL";
+   const string RinexObsHeader::firstTimeString =       "TIME OF FIRST OBS";
+   const string RinexObsHeader::lastTimeString =        "TIME OF LAST OBS";
+   const string RinexObsHeader::receiverOffsetString =  "RCV CLOCK OFFS APPL";
+   const string RinexObsHeader::leapSecondsString =     "LEAP SECONDS";
+   const string RinexObsHeader::numSatsString =         "# OF SATELLITES";
+   const string RinexObsHeader::prnObsString =          "PRN / # OF OBS";
+   const string RinexObsHeader::endOfHeader =           "END OF HEADER";
+
+   const unsigned int RinexObsHeader::RinexObsType::C1depend=0x01;
+   const unsigned int RinexObsHeader::RinexObsType::L1depend=0x02;
+   const unsigned int RinexObsHeader::RinexObsType::L2depend=0x04;
+   const unsigned int RinexObsHeader::RinexObsType::P1depend=0x08;
+   const unsigned int RinexObsHeader::RinexObsType::P2depend=0x10;
+   const unsigned int RinexObsHeader::RinexObsType::EPdepend=0x20;
+   const unsigned int RinexObsHeader::RinexObsType::PSdepend=0x40;
+
+   char RinexPrn::fillchar=' ';
+
+   const RinexObsHeader::RinexObsType RinexObsHeader::UN("UN", "Unknown or Invalid",   "unknown", 0);
+   const RinexObsHeader::RinexObsType RinexObsHeader::L1("L1", "L1 Carrier Phase",     "L1 cycles", RinexObsHeader::RinexObsType::L1depend);
+   const RinexObsHeader::RinexObsType RinexObsHeader::L2("L2", "L2 Carrier Phase",     "L2 cycles", RinexObsHeader::RinexObsType::L2depend);
+   const RinexObsHeader::RinexObsType RinexObsHeader::C1("C1", "C/A-code pseudorange", "meters", RinexObsHeader::RinexObsType::C1depend);
+   const RinexObsHeader::RinexObsType RinexObsHeader::C2("C2", "L2C-code pseudorange", "meters", 0);
+   const RinexObsHeader::RinexObsType RinexObsHeader::P1("P1", "Pcode L1 pseudorange", "meters", RinexObsHeader::RinexObsType::P1depend);
+   const RinexObsHeader::RinexObsType RinexObsHeader::P2("P2", "Pcode L2 pseudorange", "meters", RinexObsHeader::RinexObsType::P2depend);
+   const RinexObsHeader::RinexObsType RinexObsHeader::D1("D1", "Doppler Frequency L1", "Hz", 0);
+   const RinexObsHeader::RinexObsType RinexObsHeader::D2("D2", "Doppler Frequency L2", "Hz", 0);
+   const RinexObsHeader::RinexObsType RinexObsHeader::S1("S1", "Signal-to-Noise L1",   "dB-Hz", 0);
+   const RinexObsHeader::RinexObsType RinexObsHeader::S2("S2", "Signal-to-Noise L2",   "dB-Hz", 0);
+   const RinexObsHeader::RinexObsType RinexObsHeader::T1("T1", "Transit 150 MHz",      "meters", 0);
+   const RinexObsHeader::RinexObsType RinexObsHeader::T2("T2", "Transit 400 MHz",      "meters", 0);
+
+   RinexObsHeader::RinexObsType sot[13] =
+   { 
+      RinexObsHeader::UN,
+      RinexObsHeader::L1, RinexObsHeader::L2,
+      RinexObsHeader::C1, RinexObsHeader::C2,
+      RinexObsHeader::P1, RinexObsHeader::P2,
+      RinexObsHeader::D1, RinexObsHeader::D2,
+      RinexObsHeader::S1, RinexObsHeader::S2,
+      RinexObsHeader::T1, RinexObsHeader::T2
+   };
+
+   // Big warnging. The size of the above sot array, needs to be put
+   // in this initializer.
+   const std::vector<RinexObsHeader::RinexObsType> 
+   RinexObsHeader::StandardRinexObsTypes(sot,sot+13);
+
+   std::vector<RinexObsHeader::RinexObsType> RinexObsHeader::RegisteredRinexObsTypes
+      = RinexObsHeader::StandardRinexObsTypes;
+
+   void RinexObsHeader::reallyPutRecord(FFStream& ffs) const 
+      throw(std::exception, FFStreamError, StringException)
+   {
+      RinexObsStream& strm = dynamic_cast<RinexObsStream&>(ffs);
+      
+      strm.header = *this;
+      
+      unsigned long allValid;
+      if (version == 2.0)        allValid = allValid20;
+      else if (version == 2.1)   allValid = allValid21;
+      else
+      {
+         FFStreamError err("Unknown RINEX version: " + asString(version,2));
+         err.addText("Make sure to set the version correctly.");
+         GPSTK_THROW(err);
+      }
+      
+      if ((valid & allValid) != allValid)
+      {
+         FFStreamError err("Incomplete or invalid header.");
+         err.addText("Make sure you set all header valid bits for all of the available data.");
+         GPSTK_THROW(err);
+      }
+      
+      try
+      {
+         WriteHeaderRecords(strm);
+      }
+      catch(FFStreamError& e)
+      {
+         GPSTK_RETHROW(e);
+      }
+      catch(StringException& e)
+      {
+         GPSTK_RETHROW(e);
+      }
+
+   }  // end RinexObsHeader::reallyPutRecord
+      
+
+      // this function computes the number of valid header records which WriteHeaderRecords will write
+   int RinexObsHeader::NumberHeaderRecordsToBeWritten(void) const throw()
+   {
+      int n=0;
+      if(valid & RinexObsHeader::versionValid) n++;
+      if(valid & RinexObsHeader::runByValid) n++;
+      if(valid & RinexObsHeader::markerNameValid) n++;
+      if(valid & RinexObsHeader::observerValid) n++;
+      if(valid & RinexObsHeader::receiverValid) n++;
+      if(valid & RinexObsHeader::antennaTypeValid) n++;
+      if(valid & RinexObsHeader::antennaPositionValid) n++;
+      if(valid & RinexObsHeader::antennaOffsetValid) n++;
+      if(valid & RinexObsHeader::waveFactValid) {
+         n++;
+         if(extraWaveFactList.size()) n += 1 + (extraWaveFactList.size()-1)/7;
+      }
+      if(valid & RinexObsHeader::obsTypeValid) n += 1 + (obsTypeList.size()-1)/9;
+      if(valid & RinexObsHeader::intervalValid) n++;
+      if(valid & RinexObsHeader::firstTimeValid) n++;
+      if(valid & RinexObsHeader::lastTimeValid) n++;
+      if(valid & RinexObsHeader::markerNumberValid) n++;
+      if(valid & RinexObsHeader::receiverOffsetValid) n++;
+      if(valid & RinexObsHeader::leapSecondsValid) n++;
+      if(valid & RinexObsHeader::commentValid) n += commentList.size();
+      if(valid & RinexObsHeader::numSatsValid) n++;
+      if(valid & RinexObsHeader::prnObsValid)
+         n += numObsForPrn.size() * (1+numObsForPrn.begin()->second.size()/9);
+      if(valid & RinexObsHeader::endValid) n++;
+      return n;
+   }
+
+      // this function writes all valid header records
+   void RinexObsHeader::WriteHeaderRecords(FFStream& ffs) const
+      throw(FFStreamError, StringException)
+   {
+      RinexObsStream& strm = dynamic_cast<RinexObsStream&>(ffs);
+      string line;
+      if (valid & versionValid)
+      {
+         line  = rightJustify(asString(version,2), 9);
+         line += string(11, ' ');
+         if ((fileType[0] != 'O') && (fileType[0] != 'o'))
+         {
+            FFStreamError err("This isn't a Rinex Observation file: " + 
+                              fileType.substr(0,1));
+            GPSTK_THROW(err);
+         }
+         line += leftJustify(string("Observation"), 20);
+         std::string str;
+         if (system == systemGPS) str = "G (GPS)";
+         else if(system == systemGlonass) str = "R (GLONASS)";
+         else if(system == systemTransit) str = "T (TRANSIT)";
+         else if(system == systemGeosync) str = "S (GEOSYNC)";
+         else if(system == systemMixed) str = "M (MIXED)";
+         line += leftJustify(str, 20);
+         line += versionString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & runByValid)
+      {
+         line  = leftJustify(fileProgram,20);
+         line += leftJustify(fileAgency,20);
+         DayTime dt;
+         dt.setLocalTime();
+         string dat = dt.printf("%02m/%02d/%04Y %02H:%02M:%02S");
+         line += leftJustify(dat, 20);
+         line += runByString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & markerNameValid)
+      {
+         line  = leftJustify(markerName, 60);
+         line += markerNameString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & observerValid)
+      {
+         line  = leftJustify(observer, 20);
+         line += leftJustify(agency, 40);
+         line += observerString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & receiverValid)
+      {
+         line  = leftJustify(recNo, 20);
+         line += leftJustify(recType, 20);
+         line += leftJustify(recVers, 20);
+         line += receiverString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & antennaTypeValid)
+      {
+         line  = leftJustify(antNo, 20);
+         line += leftJustify(antType, 20);
+         line += string(20, ' ');
+         line += antennaTypeString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & antennaPositionValid)
+      {
+         line  = rightJustify(asString(antennaPosition[0], 4), 14);
+         line += rightJustify(asString(antennaPosition[1], 4), 14);
+         line += rightJustify(asString(antennaPosition[2], 4), 14);
+         line += string(18, ' ');
+         line += antennaPositionString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & antennaOffsetValid)
+      {
+         line  = rightJustify(asString(antennaOffset[0], 4), 14);
+         line += rightJustify(asString(antennaOffset[1], 4), 14);
+         line += rightJustify(asString(antennaOffset[2], 4), 14);
+         line += string(18, ' ');
+         line += antennaOffsetString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & waveFactValid)
+      {
+         line  = rightJustify(asString<short>(wavelengthFactor[0]),6);
+         line += rightJustify(asString<short>(wavelengthFactor[1]),6);
+         line += string(48, ' ');
+         line += waveFactString;
+         strm << line << endl;
+         strm.lineNumber++;
+         
+            // handle continuation lines
+         if (!extraWaveFactList.empty())
+         {
+            vector<ExtraWaveFact>::const_iterator itr = extraWaveFactList.begin();
+            
+            while (itr != extraWaveFactList.end())
+            {
+               const int maxPRNsPerLine = 7;
+               short prnsWritten = 0, prnsLeft = (*itr).prnList.size(), prnsThisLine;
+               vector<RinexPrn>::const_iterator vecItr = (*itr).prnList.begin();
+
+               while ((vecItr != (*itr).prnList.end())) {
+                  if(prnsWritten == 0) {
+                     line  = rightJustify(asString<short>((*itr).wavelengthFactor[0]),6);
+                     line += rightJustify(asString<short>((*itr).wavelengthFactor[1]),6);
+                     prnsThisLine = (prnsLeft > maxPRNsPerLine ? maxPRNsPerLine : prnsLeft);
+                     line += rightJustify(asString<short>(prnsThisLine),6);
+                  }
+                  line += string(3, ' ') + asString<RinexPrn>(*vecItr);
+                  prnsWritten++;
+                  prnsLeft--;
+                  if(prnsWritten==maxPRNsPerLine || prnsLeft==0) {      // output a complete line
+                     line += string(60 - line.size(), ' ');
+                     line += waveFactString;
+                     strm << line << endl;
+                     strm.lineNumber++;
+                     prnsWritten = 0;
+                  }
+                  vecItr++;
+               }
+               itr++;
+            }
+         }
+      }
+      if (valid & obsTypeValid)
+      {
+         const int maxObsPerLine = 9;
+         int obsWritten = 0;
+         line = ""; // make sure the line contents are reset.
+         
+         vector<RinexObsType>::const_iterator itr = obsTypeList.begin();
+         
+         while (itr != obsTypeList.end())
+         {
+               // the first line needs to have the # of obs
+            if (obsWritten == 0)
+               line  = rightJustify(asString(obsTypeList.size()), 6);
+               // if you hit 9, write out the line and start a new one
+            else if ((obsWritten % maxObsPerLine) == 0)
+            {
+               line += numObsString;
+               strm << line << endl;
+               strm.lineNumber++;
+               line  = string(6, ' ');
+            }
+            line += rightJustify(convertObsType(*itr), 6);
+            obsWritten++;
+            itr++;
+         }
+         line += string(60 - line.size(), ' ');
+         line += numObsString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & intervalValid)
+      {
+         line  = rightJustify(asString(interval, 3), 10);
+         line += string(50, ' ');
+         line += intervalString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & firstTimeValid)
+      {
+         line  = writeTime(firstObs);
+         line += string(48-line.size(),' ');
+         if(firstSystem == systemGPS) line += "GPS";
+         if(firstSystem == systemGlonass) line += "GLO";
+         line += string(60 - line.size(), ' ');
+         line += firstTimeString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & lastTimeValid)
+      {
+         line  = writeTime(lastObs);
+         line += string(48-line.size(),' ');
+         if(lastSystem == systemGPS) line += "GPS";
+         if(lastSystem == systemGlonass) line += "GLO";
+         line += string(60 - line.size(), ' ');
+         line += lastTimeString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & markerNumberValid)
+      {
+         line  = leftJustify(markerNumber, 20);
+         line += string(40, ' ');
+         line += markerNumberString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & receiverOffsetValid)
+      {
+         line  = rightJustify(asString(receiverOffset),6);
+         line += string(54, ' ');
+         line += receiverOffsetString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & leapSecondsValid)
+      {
+         line  = rightJustify(asString(leapSeconds),6);
+         line += string(54, ' ');
+         line += leapSecondsString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & commentValid)
+      {
+         vector<string>::const_iterator itr = commentList.begin();
+         while (itr != commentList.end())
+         {
+            line  = leftJustify((*itr), 60);
+            line += commentString;
+            strm << line << endl;
+            strm.lineNumber++;
+            itr++;
+         }
+      }
+      if (valid & numSatsValid)
+      {
+         line  = rightJustify(asString(numSVs), 6);
+         line += string(54, ' ');
+         line += numSatsString;
+         strm << line << endl;
+         strm.lineNumber++;
+      }
+      if (valid & prnObsValid)
+      {
+         const int maxObsPerLine = 9;
+         map<RinexPrn, vector<int> >::const_iterator itr = numObsForPrn.begin();
+         while (itr != numObsForPrn.end())
+         {
+            int numObsWritten = 0;
+            
+            vector<int>::const_iterator vecItr = (*itr).second.begin();
+            while (vecItr != (*itr).second.end())
+            {
+               if (numObsWritten == 0)
+               {
+                  line  = string(3, ' ') + asString((*itr).first);
+               }
+               else if ((numObsWritten % maxObsPerLine)  == 0)
+               {
+                  line += prnObsString;
+                  strm << line << endl;
+                  strm.lineNumber++;
+                  line  = string(6, ' ');
+               }
+               line += rightJustify(asString(*vecItr), 6);
+               ++vecItr;
+               ++numObsWritten;
+            }
+            line += string(60 - line.size(), ' ');
+            line += prnObsString;
+            strm << line << endl;
+            strm.lineNumber++;
+            itr++;
+         }
+      }
+      if (valid & endValid)
+      {
+         line  = string(60, ' ');
+         line += endOfHeader;
+         strm << line << endl;
+         strm.lineNumber++;               
+      }   
+   }   // end RinexObsHeader::WriteHeaderRecords()
+
+
+      // this function parses a single header record
+   void RinexObsHeader::ParseHeaderRecord(string& line)
+      throw(FFStreamError)
+   {
+      string label(line, 60, 20);
+         
+      if (label == versionString)
+      {
+         version = asDouble(line.substr(0,20));
+         fileType = strip(line.substr(20, 20));
+         if ( (fileType[0] != 'O') &&
+              (fileType[0] != 'o'))
+         {
+            FFStreamError e("This isn't a Rinex Obs file");
+            GPSTK_THROW(e);
+         }
+         string system_str = strip(line.substr(40, 20));
+         char c=system_str[0];
+         if (system_str.empty() || c=='G' || c=='g' || c==' ') system = systemGPS;
+         else if(c=='R' || c=='r') system = systemGlonass;
+         else if(c=='T' || c=='t') system = systemTransit;
+         else if(c=='S' || c=='s') system = systemGeosync;
+         else if(c=='M' || c=='m') system = systemMixed;
+         else
+         {
+            FFStreamError e("Input satellite system is unsupported: " + system_str);
+            GPSTK_THROW(e);
+         }
+         valid |= versionValid;
+      }
+      else if (label == runByString )
+      {
+         fileProgram =    strip(line.substr(0, 20));
+         fileAgency =  strip(line.substr(20, 20));
+         date =   strip(line.substr(40, 20));
+         valid |= runByValid;
+      }
+      else if (label == commentString)
+      {
+         string s = strip(line.substr(0, 60));
+         commentList.push_back(s);
+         valid |= commentValid;
+      }
+      else if (label == markerNameString)
+      {
+         markerName = strip(line.substr(0,60));
+         valid |= markerNameValid;
+      }
+      else if (label == markerNumberString)
+      {
+         markerNumber = strip(line.substr(0,20));
+         valid |= markerNumberValid;
+      }
+      else if (label == observerString)
+      {
+         observer = strip(line.substr(0,20));
+         agency = strip(line.substr(20,40));
+         valid |= observerValid;
+      }
+      else if (label == receiverString)
+      {
+         recNo   = strip(line.substr(0, 20));
+         recType = strip(line.substr(20,20));
+         recVers = strip(line.substr(40,20));
+         valid |= receiverValid;
+      }
+      else if (label ==antennaTypeString)
+      {
+         antNo =   strip(line.substr(0, 20));
+         antType = strip(line.substr(20, 20));
+         valid |= antennaTypeValid;
+      }
+      else if (label == antennaPositionString)
+      {
+         antennaPosition[0] = asDouble(line.substr(0,  14));
+         antennaPosition[1] = asDouble(line.substr(14, 14));
+         antennaPosition[2] = asDouble(line.substr(28, 14));
+         valid |= antennaPositionValid;
+      }
+      else if (label == antennaOffsetString)
+      {
+         antennaOffset[0] = asDouble(line.substr(0,  14));
+         antennaOffset[1] = asDouble(line.substr(14, 14));
+         antennaOffset[2] = asDouble(line.substr(28, 14));
+         valid |= antennaOffsetValid;
+      }
+      else if (label == waveFactString)
+      {
+            // first time reading this
+         if (! (valid & waveFactValid))
+         {
+            wavelengthFactor[0] = asInt(line.substr(0,6));
+            wavelengthFactor[1] = asInt(line.substr(6,6));
+            valid |= waveFactValid;
+         }
+            // additional wave fact lines
+         else
+         {
+            const int maxPRNsPerLine = 7;
+            int Nprns;
+            ExtraWaveFact ewf;
+            ewf.wavelengthFactor[0] = asInt(line.substr(0,6));
+            ewf.wavelengthFactor[1] = asInt(line.substr(6,6));
+            Nprns = asInt(line.substr(12,6));
+               
+            if (Nprns > maxPRNsPerLine)   // > not >=
+            {
+               FFStreamError e("Invalid number of PRNs for " + waveFactString);
+               GPSTK_THROW(e);
+            }
+               
+            for (int i = 0; i < Nprns; i++)
+            {
+               ewf.prnList.push_back(asData<RinexPrn>(line.substr(21+i*6,3)));
+            }
+               
+            extraWaveFactList.push_back(ewf);
+         }
+      }
+      else if (label == numObsString)
+      {
+         const int maxObsPerLine = 9;
+            // process the first line
+         if (! (valid & obsTypeValid))
+         {
+            numObs = asInt(line.substr(0,6));
+            
+            for (int i = 0; (i < numObs) && (i < maxObsPerLine); i++)
+            {
+               int position = i * 6 + 6 + 4;
+               RinexObsType rt = convertObsType(line.substr(position,2));
+               obsTypeList.push_back(rt);
+            }
+            valid |= obsTypeValid;
+         }
+            // process continuation lines
+         else
+         {
+            for (int i = obsTypeList.size();
+                 (i < numObs) && ( (i % maxObsPerLine) < maxObsPerLine); i++)
+            {
+               int position = (i % maxObsPerLine) * 6 + 6 + 4;
+               RinexObsType rt = convertObsType(line.substr(position,2));
+               obsTypeList.push_back(rt);
+            }
+         }
+      }
+      else if (label == intervalString)
+      {
+         interval = asDouble(line.substr(0, 10));
+         valid |= intervalValid;
+      }
+      else if (label == firstTimeString)
+      {
+         firstObs = parseTime(line);
+         firstSystem = systemGPS;
+         if(line.substr(48,3)=="GLO") firstSystem=systemGlonass;
+         valid |= firstTimeValid;
+      }
+      else if (label == lastTimeString)
+      {
+         lastObs = parseTime(line);
+         lastSystem = systemGPS;
+         if(line.substr(48,3)=="GLO") lastSystem=systemGlonass;
+         valid |= lastTimeValid;
+      }
+      else if (label == receiverOffsetString)
+      {
+         receiverOffset = asInt(line.substr(0,6));
+         valid |= receiverOffsetValid;
+      }
+      else if (label == leapSecondsString)
+      {
+         leapSeconds = asInt(line.substr(0,6));
+         valid |= leapSecondsValid;
+      }
+      else if (label == numSatsString)
+      {
+         numSVs = asInt(line.substr(0,6)) ;
+         valid |= numSatsValid;
+      }
+      else if (label == prnObsString)
+      {
+         const int maxObsPerLine = 9;
+            // continuation lines... you have to know what PRN
+            // this is continuing for, hence lastPRN
+         if ((lastPRN.prn != -1) &&
+             (numObsForPrn[lastPRN].size() != obsTypeList.size()))
+         {
+            for(int i = numObsForPrn[lastPRN].size(); 
+                (i < obsTypeList.size()) && 
+                   ( (i % maxObsPerLine) < maxObsPerLine); i++)
+            {
+               numObsForPrn[lastPRN].push_back(asInt(line.substr((i%maxObsPerLine)*6+6,6)));
+            }
+         }
+         else
+         {
+            lastPRN = asData<RinexPrn>(line.substr(3,3));
+            vector<int> numObsList;
+            for(int i = 0; 
+                   (i < obsTypeList.size()) && (i < maxObsPerLine); i++)
+            {
+               numObsList.push_back(asInt(line.substr(i*6+6,6)));
+            }
+
+            numObsForPrn[lastPRN] = numObsList;
+         }
+         valid |= prnObsValid;
+      }
+      else if (label == endOfHeader)
+      {
+         valid |= endValid;
+      }
+      else
+      {
+         FFStreamError e("Unidentified label: " + label);
+         GPSTK_THROW(e);
+      }
+   }   // end of RinexObsHeader::ParseHeaderRecord(string& line)
+
+
+      // This function parses the entire header from the given stream
+   void RinexObsHeader::reallyGetRecord(FFStream& ffs)
+      throw(std::exception, FFStreamError, 
+            gpstk::StringUtils::StringException)
+   {
+      RinexObsStream& strm = dynamic_cast<RinexObsStream&>(ffs);
+      
+         // if already read, just return
+      if (strm.headerRead == true)
+         return;
+
+         // since we're reading a new header, we need to reinitialize
+         // all our list structures.  all the other objects should be ok.
+         // this also applies if we threw an exception the first time we read
+         // the header and are now re-reading it. some of these could be full
+         // and we need to empty them.
+      commentList.clear();
+      wavelengthFactor[0] = wavelengthFactor[1] = 1;
+      extraWaveFactList.clear();
+      obsTypeList.clear();
+      numObsForPrn.clear();
+      valid = 0;
+      numObs = 0;
+      lastPRN.prn = -1;
+      
+      string line;
+      
+      while (!(valid & endValid))
+      {
+         strm.formattedGetLine(line);
+         StringUtils::stripTrailing(line);
+
+         if (line.length()==0)
+            continue;
+         else if (line.length()<60 || line.length()>80)
+         {
+            FFStreamError e("Invalid line length");
+            GPSTK_THROW(e);
+         }
+
+         try
+         {
+            ParseHeaderRecord(line);
+         }
+         catch(FFStreamError& e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         
+      }   // end while(not end of header)
+
+      unsigned long allValid;
+      if      (version == 2.0)      allValid = allValid20;
+      else if (version == 2.1)      allValid = allValid21;
+      else
+      {
+         FFStreamError e("Unknown or unsupported RINEX version " + 
+                         asString(version));
+         GPSTK_THROW(e);
+      }
+            
+      if ( (allValid & valid) != allValid)
+      {
+         FFStreamError e("Incomplete or invalid header");
+         GPSTK_THROW(e);               
+      }
+            
+         // If we get here, we should have reached the end of header line
+      strm.header = *this;
+      strm.headerRead = true;
+            
+   }  // end of reallyGetRecord()
+
+
+
+   RinexObsHeader::RinexObsType 
+   RinexObsHeader::convertObsType(const string& oneObs)
+      throw(FFStreamError)
+   {
+      RinexObsType ot(RegisteredRinexObsTypes[0]);   // Unknown type
+      for(int i=0; i<RegisteredRinexObsTypes.size(); i++) {
+         if(RegisteredRinexObsTypes[i].type == oneObs) {
+            ot = RegisteredRinexObsTypes[i];
+            break;
+         }
+         //FFStreamError e("Bad obs type: " + oneObs);
+         //GPSTK_THROW(e);
+      }
+      return ot;
+   }
+   string 
+   RinexObsHeader::convertObsType(const RinexObsHeader::RinexObsType& oneObs)
+      throw(FFStreamError)
+   {
+      return oneObs.type;
+   }
+
+
+   DayTime RinexObsHeader::parseTime(const string& line) const
+   {
+      int year, month, day, hour, min;
+      double sec;
+   
+      year  = asInt(   line.substr(0,  6 ));
+      month = asInt(   line.substr(6,  6 ));
+      day   = asInt(   line.substr(12, 6 ));
+      hour  = asInt(   line.substr(18, 6 ));
+      min   = asInt(   line.substr(24, 6 ));
+      sec   = asDouble(line.substr(30, 13));
+      return DayTime(year, month, day, hour, min, sec);
+   }
+
+   string RinexObsHeader::writeTime(const DayTime& dt) const
+   {
+      string line;
+      line  = rightJustify(asString<short>(dt.year()), 6);
+      line += rightJustify(asString<short>(dt.month()), 6);
+      line += rightJustify(asString<short>(dt.day()), 6);
+      line += rightJustify(asString<short>(dt.hour()), 6);
+      line += rightJustify(asString<short>(dt.minute()), 6);
+      line += rightJustify(asString(dt.second(), 7), 13);
+      return line;
+   }
+
+   void RinexObsHeader::dump(ostream& s) const
+   {
+      int i,j;
+      s << "---------------------------------- REQUIRED ----------------------------------\n";
+      string str;
+         if (system == systemGPS) str = "G (GPS)";
+         else if(system == systemGlonass) str = "R (GLONASS)";
+         else if(system == systemTransit) str = "T (TRANSIT)";
+         else if(system == systemGeosync) str = "S (GEOSYNC)";
+         else if(system == systemMixed) str = "M (MIXED)";
+      s << "Rinex Version " << fixed << setw(5) << setprecision(2) << version
+         << ",  File type " << fileType << ",  System " << str << ".\n";
+      s << "Prgm: " << fileProgram << ",  Run: " << date << ",  By: " << fileAgency << endl;
+      s << "Marker name: " << markerName << ".\n";
+      s << "Obs'r : " << observer << ",  Agency: " << agency << endl;
+      s << "Rec#: " << recNo << ",  Type: " << recType << ",  Vers: " << recVers << endl;
+      s << "Antenna # : " << antNo << ",  Type : " << antType << endl;
+      s << "Position (XYZ,m) : " << setprecision(4) << antennaPosition << ".\n";
+      s << "Antenna offset (ENU,m) : " << setprecision(4) << antennaOffset << ".\n";
+      s << "Wavelength factors (default) L1:" << wavelengthFactor[0]
+         << ", L2: " << wavelengthFactor[1] << ".\n";
+      for(i=0; i<extraWaveFactList.size(); i++) {
+         s << "Wavelength factors (extra)   L1:"
+            << extraWaveFactList[i].wavelengthFactor[0]
+            << ", L2: " << extraWaveFactList[i].wavelengthFactor[1]
+            << ", for PRNs";
+         for(j=0; j<extraWaveFactList[i].prnList.size(); j++)
+            s << " " << extraWaveFactList[i].prnList[j];
+         s << endl;
+      }
+      s << "Observation types (" << obsTypeList.size() << ") :\n";
+      for(i=0; i<obsTypeList.size(); i++) 
+         s << " Type #" << i << " = "
+            << gpstk::RinexObsHeader::convertObsType(obsTypeList[i])
+            << " " << obsTypeList[i].description
+            << " (" << obsTypeList[i].units << ")." << endl;
+      s << "Time of first obs " << firstObs.printf("%04Y/%02m/%02d %02H:%02M:%010.7f")
+         << " " << (firstSystem==systemGlonass?"GLO":"GPS") << endl;
+      s << "(This header is ";
+      if((valid & allValid21) == allValid21) s << "VALID 2.1";
+      else if((valid & allValid20) == allValid20) s << "VALID 2.0";
+      else s << "NOT VALID";
+      s << " Rinex.)\n";
+
+      if(!(valid & versionValid)) s << " Version is NOT valid\n";
+      if(!(valid & runByValid)) s << " Run by is NOT valid\n";
+      if(!(valid & markerNameValid)) s << " Marker Name is NOT valid\n";
+      if(!(valid & observerValid)) s << " Observer is NOT valid\n";
+      if(!(valid & receiverValid)) s << " Receiver is NOT valid\n";
+      if(!(valid & antennaTypeValid)) s << " Antenna Type is NOT valid\n";
+      if(!(valid & antennaPositionValid)) s << " Ant Position is NOT valid\n";
+      if(!(valid & antennaOffsetValid)) s << " Antenna Offset is NOT valid\n";
+      if(!(valid & waveFactValid)) s << " Wavelength factor is NOT valid\n";
+      if(!(valid & obsTypeValid)) s << " Obs Type is NOT valid\n";
+      if(!(valid & firstTimeValid)) s << " First time is NOT valid\n";
+      if(!(valid & endValid)) s << " End is NOT valid\n";
+
+      s << "---------------------------------- OPTIONAL ----------------------------------\n";
+      if(valid & markerNumberValid) s << "Marker number : " << markerNumber << endl;
+      if(valid & intervalValid) s << "Interval = "
+         << fixed << setw(7) << setprecision(3) << interval << endl;
+      if(valid & lastTimeValid) s << "Time of last obs "
+         << lastObs.printf("%04Y/%02m/%02d %02H:%02M:%010.7f")
+         << " " << (lastSystem==systemGlonass?"GLO":"GPS") << endl;
+      if(valid & leapSecondsValid) s << "Leap seconds: " << leapSeconds << endl;
+      if(valid & receiverOffsetValid) s << "Clock offset record is present and offsets "
+         << (receiverOffset?"ARE":"are NOT") << " applied." << endl;
+      if(valid & numSatsValid) s << "Number of Satellites with data : " << numSVs << endl;
+      if(valid & prnObsValid) {
+         s << "PRN  ";
+         for(i=0; i<obsTypeList.size(); i++)
+            s << setw(7) << convertObsType(obsTypeList[i]);
+         s << endl;
+         map<RinexPrn, vector<int> >::const_iterator prn_itr = numObsForPrn.begin();
+         while (prn_itr != numObsForPrn.end()) {
+            vector<int> obsvec=(*prn_itr).second;
+            s << " " << (*prn_itr).first << " ";
+            for(i=0; i<obsvec.size(); i++) s << " " << setw(6) << obsvec[i];
+            s << endl;
+            prn_itr++;
+         }
+      }
+      if(commentList.size() && !(valid & commentValid)) s << " Comment is NOT valid\n";
+      s << "Comments (" << commentList.size() << ") :\n";
+      for(i=0; i<commentList.size(); i++)
+         s << commentList[i] << endl;
+      s << "-------------------------------- END OF HEADER -------------------------------\n";
+   }
+
+   // return 1 if type already defined,
+   //        0 if successful
+   //       -1 if not successful - invalid input
+   int RegisterExtendedRinexObsType(std::string t, std::string d, std::string u, unsigned int dep)
+   {
+      if(t.empty()) return -1;
+      // throw if t="UN" ?
+      // check that it is not duplicated
+      for(int i=0; i<RinexObsHeader::RegisteredRinexObsTypes.size(); i++) {
+         if(RinexObsHeader::RegisteredRinexObsTypes[i].type == t) { return 1; }
+      }
+      RinexObsHeader::RinexObsType ot;
+      if(t.size()>2) t.resize(2,' '); ot.type = gpstk::StringUtils::stripTrailing(t);
+      if(d.size()>20) d.resize(20,' '); ot.description = gpstk::StringUtils::stripTrailing(d);
+      if(u.size()>10) u.resize(10,' '); ot.units = gpstk::StringUtils::stripTrailing(u);
+      ot.depend = dep;
+      RinexObsHeader::RegisteredRinexObsTypes.push_back(ot);
+      return 0;
+   }
+
+      // Pretty print a list of registered extended Rinex observation types
+   void DisplayExtendedRinexObsTypes(std::ostream& s)
+   {
+      s << "The list of available extended Rinex obs types:\n";
+      s << "  OT Description          Units     Required input (EP=ephemeris,PS=Rx Position)\n";
+      s << "  -- -------------------- --------- ------------------\n";
+      for(int i=RinexObsHeader::StandardRinexObsTypes.size();
+               i<RinexObsHeader::RegisteredRinexObsTypes.size(); i++) {
+         string line;
+         line = string("  ")+RinexObsHeader::RegisteredRinexObsTypes[i].type;
+         line += leftJustify(string(" ")+RinexObsHeader::RegisteredRinexObsTypes[i].description,21);
+         line += leftJustify(string(" ")+RinexObsHeader::RegisteredRinexObsTypes[i].units,11);
+         for(int j=1; j<6; j++) {
+            if(j==3) continue;
+            if(RinexObsHeader::RegisteredRinexObsTypes[i].depend &
+               RinexObsHeader::StandardRinexObsTypes[j].depend)
+                  line += string(" ")+RinexObsHeader::StandardRinexObsTypes[j].type;
+            else line += string("   ");
+         }
+         if(RinexObsHeader::RegisteredRinexObsTypes[i].depend & RinexObsHeader::RinexObsType::EPdepend)
+            line += string(" EP"); else line += string("   ");
+         if(RinexObsHeader::RegisteredRinexObsTypes[i].depend & RinexObsHeader::RinexObsType::PSdepend)
+            line += string(" PS"); else line += string("   ");
+         s << line << endl;
+      }
+   }
+
+} // namespace
diff --git a/trunk/src/RinexObsHeader.hpp b/trunk/src/RinexObsHeader.hpp
new file mode 100644
index 0000000..e5f163c
--- /dev/null
+++ b/trunk/src/RinexObsHeader.hpp
@@ -0,0 +1,442 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsHeader.hpp#3 $"
+
+/**
+ * @file RinexObsHeader.hpp
+ * Encapsulate header of Rinex observation file, including I/O
+ */
+
+#ifndef GPSTK_RINEXOBSHEADER_HPP
+#define GPSTK_RINEXOBSHEADER_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <vector>
+#include <list>
+#include <map>
+#include <iostream>
+#include <iomanip>
+
+#include "DayTime.hpp"
+#include "FFStream.hpp"
+#include "RinexObsBase.hpp"
+#include "Triple.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup RinexObs */
+   //@{
+
+         /// Supported satellite systems, for use by RinexPrn and file headers
+      enum RinexSystem
+      {
+         systemGPS = 1,
+         systemGlonass,
+         systemTransit,
+         systemGeosync,
+         systemMixed       // not for RinexPrn
+      };
+
+         /// RINEX satellite identifier = PRN and system
+      struct RinexPrn
+      {
+         int prn;
+         RinexSystem system;
+         static char fillchar;
+         RinexPrn() { prn=-1; system=systemGPS; }
+         RinexPrn(int p, RinexSystem s) { prn=p; system=s; }
+         void setfill(char c) { fillchar=c; }
+         char getfill() { return fillchar; }
+         // operator=, copy constructor and destructor built by compiler
+         /// return the single-character system descriptor
+         inline char System() const
+            {
+               switch(system) {
+                  case systemGPS: return 'G';
+                  case systemMixed: return 'M';
+                  case systemGlonass: return 'R';
+                  case systemTransit: return 'T';
+                  case systemGeosync: return 'S';
+               }
+               return 0;
+            };
+      };
+
+      /**
+       * This class models the header for a RINEX Observation File.
+       *
+       * @sa gpstk::RinexObsData and gpstk::RinexObsStream.
+       * @sa rinex_obs_test.cpp and rinex_obs_read_write.cpp for examples.
+       */
+   class RinexObsHeader : public RinexObsBase
+   {
+   public:
+         /// A Simple Constructor.
+      RinexObsHeader() : valid(), version(2.1)
+         {}
+
+         /// Clear (empty out) header
+      inline void clear()
+      {
+         version = 2.1;
+         valid = 0;
+         commentList.clear();
+         wavelengthFactor[0] = wavelengthFactor[1] = 1;
+         extraWaveFactList.clear();
+         obsTypeList.clear();
+         numObsForPrn.clear();
+         numObs = 0;
+         lastPRN.prn = -1;
+      }
+
+         /**
+          * @name RinexObsHeaderFormatStrings
+          * RINEX Observation Header Formatting Strings
+          */
+         //@{
+      static const std::string versionString;         ///< "RINEX VERSION / TYPE"
+      static const std::string runByString;           ///< "PGM / RUN BY / DATE"
+      static const std::string commentString;         ///< "COMMENT"
+      static const std::string markerNameString;      ///< "MARKER NAME"
+      static const std::string markerNumberString;    ///< "MARKER NUMBER"
+      static const std::string observerString;        ///< "OBSERVER / AGENCY"
+      static const std::string receiverString;        ///< "REC # / TYPE / VERS"
+      static const std::string antennaTypeString;     ///< "ANT # / TYPE"
+      static const std::string antennaPositionString; ///< "APPROX POSITION XYZ"
+      static const std::string antennaOffsetString;   ///< "ANTENNA: DELTA H/E/N"
+      static const std::string waveFactString;        ///< "WAVELENGTH FACT L1/2"
+      static const std::string numObsString;          ///< "# / TYPES OF OBSERV"
+      static const std::string intervalString;        ///< "INTERVAL"
+      static const std::string firstTimeString;       ///< "TIME OF FIRST OBS"
+      static const std::string lastTimeString;        ///< "TIME OF LAST OBS"
+      static const std::string receiverOffsetString;  ///< "RCV CLOCK OFFS APPL"
+      static const std::string leapSecondsString;     ///< "LEAP SECONDS"
+      static const std::string numSatsString;         ///< "# OF SATELLITES"
+      static const std::string prnObsString;          ///< "PRN / # OF OBS"
+      static const std::string endOfHeader;           ///< "END OF HEADER"
+         //@}
+
+         /// Validity bits for the RINEX Observation Header
+      enum validBits
+      {
+         versionValid = 0x01,           ///< "RINEX VERSION / TYPE"
+         runByValid = 0x02,             ///< "PGM / RUN BY / DATE"
+         commentValid = 0x04,           ///< "COMMENT"
+         markerNameValid = 0x08,        ///< "MARKER NAME"
+         markerNumberValid = 0x010,     ///< "MARKER NUMBER"
+         observerValid = 0x020,         ///< "OBSERVER / AGENCY"
+         receiverValid = 0x040,         ///< "REC # / TYPE / VERS"
+         antennaTypeValid = 0x080,      ///< "ANT # / TYPE"
+         antennaPositionValid = 0x0100, ///< "APPROX POSITION XYZ"
+         antennaOffsetValid = 0x0200,   ///< "ANTENNA: DELTA H/E/N"
+         waveFactValid = 0x0400,        ///< "WAVELENGTH FACT L1/2"
+         obsTypeValid = 0x0800,         ///< "# / TYPES OF OBSERV"
+         intervalValid = 0x01000,       ///< "INTERVAL"
+         firstTimeValid = 0x02000,      ///< "TIME OF FIRST OBS"
+         lastTimeValid = 0x04000,       ///< "TIME OF LAST OBS"
+         receiverOffsetValid = 0x08000, ///< "RCV CLOCK OFFS APPL"
+         leapSecondsValid = 0x0100000,  ///< "LEAP SECONDS"
+         numSatsValid = 0x0200000,      ///< "# OF SATELLITES"
+         prnObsValid = 0x0400000,       ///< "PRN / # OF OBS"
+
+         endValid = 0x080000000,        ///< "END OF HEADER"
+
+            /// This mask is for all required valid fields for RINEX 2.0
+         allValid20 = 0x080002FEB,
+            /// This mask is for all required valid fields for RINEX 2.1
+         allValid21 = 0x080002FEB
+      };
+
+         /// RINEX Observation Types
+      struct RinexObsType
+      {
+         std::string type;          ///< 2- char type e.g. L1, P2
+         std::string description;   ///< 20- char description (optional) e.g. "L1 pseudorange"
+         std::string units;         ///< 10- char units (optional) e.g. "meters"
+         unsigned int depend;
+         RinexObsType() : type(std::string("UN")),description(std::string("Unknown or Invalid")),
+            units(std::string("")),depend(0) {}
+         RinexObsType(std::string t, std::string d, std::string u, unsigned int dep=0) :
+            type(t),description(d),units(u),depend(dep) {}
+         static const unsigned int C1depend;
+         static const unsigned int L1depend;
+         static const unsigned int L2depend;
+         static const unsigned int P1depend;
+         static const unsigned int P2depend;
+         static const unsigned int EPdepend;
+         static const unsigned int PSdepend;
+      };
+
+         /** @name Standard RINEX observation types
+          */
+         //@{
+      static const RinexObsType UN;
+      static const RinexObsType L1;
+      static const RinexObsType L2;
+      static const RinexObsType C1;
+      static const RinexObsType C2;
+      static const RinexObsType P1;
+      static const RinexObsType P2;
+      static const RinexObsType D1;
+      static const RinexObsType D2;
+      static const RinexObsType S1;
+      static const RinexObsType S2;
+      static const RinexObsType T1;
+      static const RinexObsType T2;
+         //@}
+
+      static const std::vector<RinexObsType> StandardRinexObsTypes;
+      static std::vector<RinexObsType> RegisteredRinexObsTypes;
+
+         /// Holds the data for the extra Wavelength Factor lines
+      struct ExtraWaveFact
+      {
+            /// List of PRNs with this wavelength factor.
+         std::vector<RinexPrn> prnList;
+            /// The vector of wavelength factor values.
+         short wavelengthFactor[2];
+      };
+
+         /** @name RinexObsHeaderValues
+          */ 
+         //@{
+      double version;                        ///< RINEX VERSION & TYPE
+      std::string fileType;                  ///< RINEX FILETYPE (Observation Navigation etc)
+      //std::string system_str;                ///< The string (for file i/o) giving the RINEX system 
+      RinexSystem system;                    ///< The RINEX satellite system
+      std::string fileProgram,               ///< The program used to generate this file
+         fileAgency,                         ///< Who ran the program.
+         date;                               ///< When the program was run.
+      std::vector<std::string> commentList;  ///< Comments in header (optional)
+      std::string markerName,                ///< MARKER NAME
+         markerNumber;                       ///< MARKER NUMBER (optional)
+      std::string observer,                  ///< OBSERVER : who collected the data
+         agency;                             ///< OBSERVER'S AGENCY
+      std::string recNo,                     ///< RECEIVER NUMBER
+         recType,                            ///< RECEIVER TYPE
+         recVers;                            ///< RECEIVER VERSION
+      std::string antNo,                     ///< ANTENNA NUMBER
+         antType;                            ///< ANTENNA TYPE
+      gpstk::Triple antennaPosition;        ///< APPROXIMATE POSITION XYZ
+      gpstk::Triple antennaOffset;          ///< ANTENNA: DELTA H/E/N
+      short wavelengthFactor[2];             ///< default WAVELENGTH FACTORS
+      std::vector<ExtraWaveFact> extraWaveFactList; ///< extra (per PRN) PPWAVELENGTH FACTORS
+      std::vector<RinexObsType> obsTypeList; ///< NUMBER & TYPES OF OBSERV
+      double interval;                       ///< INTERVAL (optional)
+      gpstk::DayTime firstObs ;             ///< TIME OF FIRST OBS
+      RinexSystem firstSystem;               ///< RINEX satellite system of FIRST OBS timetag
+      gpstk::DayTime lastObs ;              ///< TIME OF LAST OBS (optional)
+      RinexSystem lastSystem;                ///< RINEX satellite system of LAST OBS timetag
+      int receiverOffset;                    ///< RCV CLOCK OFFS APPL (optional)
+      int leapSeconds;                       ///< LEAP SECONDS (optional)
+      short numSVs;                          ///< NUMBER OF SATELLITES in following map (optional)
+      std::map<RinexPrn, std::vector<int> > numObsForPrn; ///<  PRN / # OF OBS (optional)
+      unsigned long valid; ///< Bits set when individual header members are present and valid
+      int numObs; ///< used to save the number of obs on # / TYPES continuation lines.
+      RinexPrn lastPRN; ///< used to save the current PRN while reading PRN/OBS continuation lines.
+         //@}
+     
+         /// Destructor
+      virtual ~RinexObsHeader() {}
+
+         // The next four lines is our common interface
+         /// RinexObsHeader is a "header" so this function always returns true.
+      virtual bool isHeader() const {return true;}
+     
+         /**
+          * This is a simple Debug output function.
+          * It simply outputs the version, name and antenna number of this
+          * RINEX header.
+          */
+      virtual void dump(std::ostream& s) const;
+
+         /**
+          * This function converts the string in \a oneObs to a RinexObsType.
+          */
+      static RinexObsType convertObsType(const std::string& oneObs)
+         throw(FFStreamError);
+
+         /**
+          * This function converts the RinexObsType in \a oneObs to a string.
+          */
+      static std::string convertObsType(const RinexObsType& oneObs) 
+         throw(FFStreamError);
+
+         /**
+          * Parse a single header record, and modify valid accordingly.
+          * Used by reallyGetRecord for both RinexObsHeader and RinexObsData.
+          */
+      void ParseHeaderRecord(std::string& line)
+         throw(FFStreamError);
+
+         /// Compute the number of valid header records which WriteHeaderRecords() will write
+      int NumberHeaderRecordsToBeWritten(void) const throw();
+
+         /**
+          * Write all valid header records to the given stream.
+          * Used by reallyPutRecord for both RinexObsHeader and RinexObsData.
+          */
+      void WriteHeaderRecords(FFStream& s) const
+         throw(FFStreamError, gpstk::StringUtils::StringException);
+
+         /// Return boolean : is this a valid Rinex header?
+      bool isValid() const { return ((valid & allValid20) == allValid20); }
+         
+   protected:
+         /**
+          * outputs this record to the stream correctly formatted.
+          */
+      virtual void reallyPutRecord(FFStream& s) const
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+
+         /**
+          * This function retrieves the RINEX Header from the given FFStream.
+          * If an stream error is encountered, the stream is reset to its
+          *  original position and its fail-bit is set.
+          * @throws StringException when a StringUtils function fails
+          * @throws FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs.  This also resets the
+          *  stream to its pre-read position.
+          */
+      virtual void reallyGetRecord(FFStream& s) 
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+
+   private:
+         /// Converts the daytime \a dt into a Rinex Obs time
+         /// string for the header
+      std::string writeTime(const DayTime& dt) const;
+
+         /**
+          * This function sets the time for this header.
+          * It looks at \a line to obtain the needed information.
+          */
+      DayTime parseTime(const std::string& line) const;
+
+   }; // end class RinexObsHeader
+
+      /// operator == for RinexObsHeader::RinexObsType
+   inline bool operator==(const RinexObsHeader::RinexObsType& x,
+      const RinexObsHeader::RinexObsType& y) { return (x.type == y.type); }
+
+      /// operator < for RinexObsHeader::RinexObsType
+   inline bool operator<(const RinexObsHeader::RinexObsType& x,
+      const RinexObsHeader::RinexObsType& y) { return (x.type < y.type); }
+
+      /// operator << for RinexObsHeader::RinexObsType
+   inline std::ostream& operator<<(std::ostream& s, const RinexObsHeader::RinexObsType rot)
+      {
+         return s << "Type=" << rot.type
+            << ", Description=" << rot.description
+            << ", Units=" << rot.units;
+      }
+
+      /// Function to allow user to define a new RINEX observation type
+   int RegisterExtendedRinexObsType(std::string t,std::string d=std::string("(undefined)"),
+      std::string u=std::string("undefined"),unsigned int dep=0);
+
+      /// operator == for RinexPrn
+   inline bool operator==(const RinexPrn& x, const RinexPrn& y)
+      { return ((x.system == y.system) && (x.prn == y.prn)); }
+
+      /// operator != for RinexPrn
+   inline bool operator!=(const RinexPrn& x, const RinexPrn& y)
+      { return ((x.system != y.system) || (x.prn != y.prn)); }
+
+      /// operator < for RinexPrn
+   inline bool operator<(const RinexPrn& x, const RinexPrn& y)
+      { if(x.system==y.system) return (x.prn<y.prn); return (x.system<y.system); }
+
+      // the following allow you to use, respectively,
+      // std::string gpstk::StringUtils::asString<RinexPrn>(const RinexPrn p)
+      // RinexPrn gpstk::StringUtils::asData<RinexPrn>(const std::string& s)
+
+      /// operator << for RinexPrn
+   inline std::ostream& operator<<(std::ostream& s, const RinexPrn& p)
+      {
+         switch(p.system) {
+            case systemGPS: s << "G"; break;
+            case systemMixed: s << "G"; break; // this is an error ... assume GPS
+            case systemGlonass: s << "R"; break;
+            case systemTransit: s << "T"; break;
+            case systemGeosync: s << "S"; break;
+         }
+         s << std::setw(2) << std::setfill(p.fillchar) << p.prn << std::setfill(' ');
+         return s;
+      }
+
+      /// operator >> for RinexPrn
+   inline std::istream& operator>>(std::istream& s, RinexPrn& p)
+      {
+         char c;
+         s.unsetf(std::ios_base::skipws);
+         s >> c;
+         switch(c) {
+         case '0': case '1': case '2': case '3':
+         case '4': case '5': case '6':
+         case '7': case '8': case '9':
+            s.putback(c);
+            p.system = systemGPS;
+            break;
+         case 'R': case 'r':
+            p.system = systemGlonass; break;
+         case 'T': case 't':
+            p.system = systemTransit; break;
+         case 'S': case 's':
+            p.system = systemGeosync; break;
+         case 'G': case 'g': case ' ':
+         default: // error
+            p.system = systemGPS; break;
+         }
+         s.setf(std::ios_base::skipws);
+         s >> p.prn;
+         return s;
+      }
+
+      /// Pretty print a list of registered extended Rinex observation types
+   void DisplayExtendedRinexObsTypes(std::ostream& s);
+
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/RinexObsStream.hpp b/trunk/src/RinexObsStream.hpp
new file mode 100644
index 0000000..1cfa9ca
--- /dev/null
+++ b/trunk/src/RinexObsStream.hpp
@@ -0,0 +1,108 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RinexObsStream.hpp#1 $"
+
+/**
+ * @file RinexObsStream.hpp
+ * File stream for Rinex observation file data
+ */
+
+#ifndef GPSTK_RINEXOBSSTREAM_HPP
+#define GPSTK_RINEXOBSSTREAM_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <vector>
+#include <list>
+#include <map>
+
+#include "FFTextStream.hpp"
+#include "RinexObsHeader.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup RinexObs */
+   //@{
+
+      /**
+       * This class to reads a RINEX files.
+       *
+       * @sa gpstk::RinexObsData and gpstk::RinexObsHeader.
+       * @sa rinex_obs_test.cpp and rinex_obs_read_write.cpp for examples.
+       */
+   class RinexObsStream : public FFTextStream
+   {
+   public:
+         /// Default constructor
+      RinexObsStream()
+            : headerRead(false)
+         {}
+      
+         /**
+          * The Constructor.
+          * @param fn the RINEX file to open
+          * @param mode how to open \a fn.
+          */
+      RinexObsStream(const char* fn, std::ios::openmode mode=std::ios::in)
+            : FFTextStream(fn, mode), headerRead(false) {}
+
+         /// Destructor
+      virtual ~RinexObsStream() {}
+      
+         /// overrides open to reset the header
+      virtual void open(const char* fn, std::ios::openmode mode)
+         { 
+            FFTextStream::open(fn, mode); 
+            headerRead = false; 
+            header = RinexObsHeader();
+         }
+
+         /// Whether or not the RinexObsHeader has been read
+      bool headerRead;
+         /// The header for this file.
+      RinexObsHeader header;
+   };
+
+   //@}
+
+} // namespace
+
+#endif
+
diff --git a/trunk/src/RungeKutta4.cpp b/trunk/src/RungeKutta4.cpp
new file mode 100644
index 0000000..7cc85af
--- /dev/null
+++ b/trunk/src/RungeKutta4.cpp
@@ -0,0 +1,118 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RungeKutta4.cpp#4 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "RungeKutta4.hpp"
+
+/*
+ * @file RungeKutta4.hpp
+ * Implementation of a Runge Kutta integrator.
+ */
+
+void gpstk::RungeKutta4::integrateTo (double nextTime, 
+                                      double stepSize) 
+{
+   if (stepSize == 0) 
+      stepSize = nextTime - currentTime;
+
+   bool done = false;
+   
+   while (!done)
+   {
+      // Time steps
+      double ctPlusDeltaT = currentTime + stepSize;
+      double ctPlusHalfDeltaT = currentTime + (stepSize * .5);
+
+      // k1
+      k1 = stepSize * derivative(currentTime, currentState, k1);
+      tempy = currentState + (.5 * k1);
+   
+      // k2
+      k2 = stepSize * derivative(ctPlusHalfDeltaT, tempy, k2);
+      tempy = currentState + (.5 * k2);
+   
+      // k3
+      k3 = stepSize * derivative(ctPlusHalfDeltaT, tempy, k3);
+
+      // k4
+      k4 = stepSize * derivative(ctPlusDeltaT, tempy, k4);
+      currentState += (k1 + 2. * (k2 + k3) + k4) / 6. ;
+
+      // If we are within teps of the goal time, we are done.
+      if (fabs(currentTime + stepSize - nextTime) < teps) 
+         done = true;
+ 
+      // If we are about to overstep, change the stepsize appropriately
+      // to hit our target final time; 
+      if ((currentTime + stepSize) > nextTime) 
+         stepSize = (nextTime - currentTime);
+
+      currentTime += stepSize;
+   }
+
+   currentTime = nextTime;
+}
+
+void gpstk::RungeKutta4::integrateTo (double nextTime,
+                                      Matrix<double>& error,
+                                      double stepSize) 
+{
+   double deltaT = nextTime - currentTime;
+   
+      // Save the current state and time for the second step.
+   double savedTime = currentTime;
+   gpstk::Matrix<double> savedState = currentState; 
+
+      // First, take the integration using two steps.
+   integrateTo(currentTime + (deltaT * 0.5), stepSize);
+   integrateTo(nextTime, stepSize);
+
+      // Save the results.
+   gpstk::Matrix<double> twoStepState = currentState;
+
+      // Restore the original state.
+   currentTime = savedTime;
+   currentState = savedState;
+   
+      // Now, take the integration using only one step.
+   integrateTo(nextTime, stepSize);
+   gpstk::Matrix<double> oneStepState = currentState;
+
+   error = oneStepState - twoStepState;
+   
+   currentState = twoStepState + (twoStepState - oneStepState) / 15.0;
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/trunk/src/RungeKutta4.hpp b/trunk/src/RungeKutta4.hpp
new file mode 100644
index 0000000..352a1cb
--- /dev/null
+++ b/trunk/src/RungeKutta4.hpp
@@ -0,0 +1,142 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/RungeKutta4.hpp#5 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+
+/*
+ * @file RungeKutta4.hpp
+ * RungeKutta4 class. Provides several versions of the Runge Kutta integration
+ * The algorithms are based on Ch.16 of "Numerical Recipes in C" but the
+ * implementation is entirely independent, i.e., this isn't the source 
+ * distributed with the text.
+ */
+
+#ifndef GPSTK_RUNGEKUTTA4_H
+#define GPSTK_RUNGEKUTTA4_H
+
+#include "Matrix.hpp"
+
+namespace gpstk
+{
+
+   /** @addtogroup math */
+   //@{
+
+      /** The RungeKutta4 class provides a collection of integration routines
+       * that work on a Matrix of doubles.  Integrations use a fixed step-size.
+       */
+   class RungeKutta4 
+   {
+   public:
+         /** Constructor.
+          * @param initalState a reference to the original Matrix to work on 
+          *  that is copied to an internal Matrix.
+          * @param initialTime the time at which to begin integrations 
+          * @param timeEpsilon how close the final internal timestep must match
+          *  the specified final time of an integration
+          */
+      RungeKutta4(const Matrix<double>& initialState,
+                  double initialTime=0,
+                  double timeEpsilon=1e-18)
+            : currentState(initialState), currentTime(initialTime), 
+              teps(timeEpsilon), M(initialState.rows()), N(initialState.cols()),
+              k1(M,N), k2(M,N), k3(M,N), k4(M,N), yn(M,N), tempy(M,N)
+         { }     
+
+         /** The classic Runge Kutta 4th Order Integration Algorithm.
+          * This routine integrates using a Runge Kutta 4th order algorithm 
+          * with a fixed step from the internal time to \a nextTime. 
+          * @param nextTime the time to integrate to
+          * @param stepSize the amount time between internal integration steps
+          */
+      void integrateTo (double nextTime, 
+                        double stepSize = 0);
+
+         /** The classic Runge Kutta 4th-5th Order Integration Algorithm.
+          *  This function integrates by applying a 4th order Runge Kutta
+          *  algorithm multiple times. This provides two benefits. First, an
+          *  estimate of the truncation error is returned. Second, the multiple
+          *  4th order estimates are combined to produce the 5th order estimate.
+          * @param nextTime the time to integrate to
+          * @param error the Matrix of estimated integration error 
+          *  (one for each element)
+          * @param stepSize the amount time between internal integration steps
+          */
+      void integrateTo (double nextTime,
+                        Matrix<double>& error,
+                        double stepSize = 0);
+
+         /** This is the function to be integrated. 
+          * @param time the time at which to evaluate the derivative
+          * @param inState the Matrix to evaluate the derivative of at /a time.
+          * @param inStateDot the derivative of /a inState evaluated at /a time.
+          * @return a reference to /a inStateDot
+          */
+      virtual gpstk::Matrix<double>& 
+      derivative(long double time,
+                 const gpstk::Matrix<double>& inState,
+                 gpstk::Matrix<double>& inStateDot) = 0;
+
+         /// Return the currnet time of the system.
+      double getTime(void) 
+      { return currentTime; }
+
+         /// Return the current state of the system.
+      const Matrix<double>& getState(void) 
+      { return currentState; }
+
+   protected:
+      
+         /// Current time of the system
+      double currentTime;
+
+         /// State of the system at the current time
+      gpstk::Matrix<double> currentState;
+
+      double teps;   //< Precision for time calculations and comparisons
+      int M;         //< Number of rows in the state
+      int N;         //< Number of columns in the state
+
+   private:
+
+         /// Disallow copy constructor
+         RungeKutta4(const RungeKutta4& cloneDonor);
+
+         /// Disallow the assignment operator
+         RungeKutta4& operator= (const RungeKutta4& right);
+
+         /** These values are only used in the integrateTo method(s).
+          *  Declaring them here keeps them from being constructed every
+          *  time the integrateTo method(s) are called.
+          */
+         Matrix<double> k1, k2, k3, k4, yn, tempy;
+
+   }; // end class RungeKutta4
+
+   //@}
+
+} // end namespace gpstk
+
+#endif
+
+
diff --git a/trunk/src/SMODFData.cpp b/trunk/src/SMODFData.cpp
new file mode 100644
index 0000000..a73791c
--- /dev/null
+++ b/trunk/src/SMODFData.cpp
@@ -0,0 +1,369 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SMODFData.cpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file SMODFData.cpp
+ * smoothed measurement data file data
+ */
+
+#include "StringUtils.hpp"
+#include "SMODFData.hpp"
+#include "SMODFStream.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+      /**
+       * @name SMODF-Specific Definitions
+       * \note These should probably be moved into the SMODFData class.
+       */
+      //@{
+   const int SMO_LEN_ICD211 = 85;  ///< Length of an ICD-GPS-211 SMODF record
+   const int SMO_LEN_LEGACY = 80;  ///< Length of a Legacy SMODF record
+   const int BEGINGPS2DYEAR = 80;  ///< Beginning of the GPS Two Digit Year
+      //@}
+
+   void SMODFData::reallyPutRecord(gpstk::FFStream& ffs) const 
+      throw(std::exception, gpstk::FFStreamError,
+            gpstk::StringUtils::StringException)
+   {
+      SMODFStream& strm = dynamic_cast<SMODFStream&>(ffs);
+      
+         // here's a hack - if you dont know what to write, assume ICD211
+      if (strm.format == SMODFStream::undefined)
+         strm.format = SMODFStream::icd211;
+      
+      string line;
+      
+      if (strm.format == SMODFStream::icd211)
+      {
+         line += rightJustify(asString<short>(time.DOYyear()),4);
+         line += rightJustify(asString<short>(time.DOYday()),3,'0');
+         line += rightJustify(asString(time.DOYsecond(),7),13);
+         line += string(1, ' ');
+         line += rightJustify(asString<short>(PRNID),2);
+         line += rightJustify(asString<long>(station),5);
+         line += rightJustify(asString<short>(channel),2);
+         line += rightJustify(asString<short>(type),1);
+         
+         if (type == 9)
+            line += rightJustify(asString<short>(lol),1);
+         else
+            line += string(1, ' ');
+         
+         line += string(1, ' ');
+         line += doub2for(obs, 20, 2);
+         line += string(1, ' ');
+         line += doub2for(stdDev, 11, 2);
+         line += string(1, ' ');
+         line += rightJustify(asString<short>(tempSource),1);
+         line += rightJustify(asString<short>(pressSource),1);
+         line += rightJustify(asString<short>(humidSource),1);
+         line += rightJustify(asString(temp,1), 5);
+         line += rightJustify(asString(pressure,1), 6);
+         line += rightJustify(asString(humidity,1), 5);
+         
+      }
+      else if (strm.format == SMODFStream::legacy)
+      {
+         line += time.printf("%02y%3j%12.6s");
+         line += rightJustify(asString<short>(PRNID),3);
+         line += rightJustify(asString<long>(station),5);
+         line += rightJustify(asString<short>(channel),2);
+         line += rightJustify(asString<short>(type),1);
+         
+         if (type == 9)
+            line += rightJustify(asString<short>(lol),1);
+         else
+            line += string(1, ' ');
+         
+            // FIX this is actually D21.14, but because of the way
+            // doub2for works, we prepend a space and use 20 characters
+         line += string(1, ' ');
+         line += doub2for(obs, 20, 2);
+            // FIX same as above, only with D12.5
+         line += string(1, ' ');
+         line += doub2for(stdDev, 11, 2);
+         line += string(1, ' ');
+
+            // convert from 211-B/C to 211-A flags
+         short wxsource = 0;
+         if (tempSource == pressSource == humidSource)
+            wxsource = tempSource;
+         else if (tempSource && pressSource && humidSource)
+         {
+               // No missing data.  We can assume that there is some
+               // default data at this point because the first test
+               // eliminates the all-sources-same condition (all real,
+               // all missing, all default), and this test guarantees
+               // that there are no missing data mixed in with
+               // real/default.  Only remaining possibility is some
+               // real, some default.
+            wxsource = 2;
+         }
+         else
+         {
+               // Mixed real and/or default data with missing.  We
+               // can't really handle that.
+            gpstk::FFStreamError err("Assertion failed: all weather data must be"
+                              " either present or missing");
+            if (tempSource == 0)
+               err.addText("temperature data is missing");
+            if (pressSource == 0)
+               err.addText("pressure data is missing");
+            if (humidSource == 0)
+               err.addText("humidity data is missing");
+            err.addText("unlisted weather measurements are present");
+         }
+
+         if (wxsource == 1)
+            wxsource = 7;
+
+         line += rightJustify(asString<short>(wxsource),1);
+         line += rightJustify(asString(temp,1), 5);
+         line += rightJustify(asString(pressure,1), 6);
+         line += rightJustify(asString(humidity,1), 5);
+      }
+      else
+      {
+         gpstk::FFStreamError err("Unknown SMODF format: " + 
+                           asString<unsigned long>(strm.format));
+         err.addText("Make sure you specify the format of the data.");
+         GPSTK_THROW(err);
+      }
+      
+      ffs << line << endl;
+      strm.lineNumber++;
+   }
+
+   void SMODFData::dump(ostream& s) const 
+   {
+      s << time << "  Station: " << station << "  Type: " << type 
+        << "  PRN  " << PRNID  << endl;
+   }
+
+   void SMODFData::reallyGetRecord(gpstk::FFStream& ffs)
+      throw(std::exception, gpstk::FFStreamError,
+            gpstk::StringUtils::StringException)
+   {
+      SMODFStream& strm = dynamic_cast<SMODFStream&>(ffs);
+
+      string str, currentLine;
+      
+      strm.formattedGetLine(currentLine, true);
+      int len=currentLine.length();
+      
+         // determine the format of the ODBIF file by examining 
+         // the record length
+      if (strm.format == SMODFStream::undefined)
+      {
+         if (len == SMO_LEN_ICD211)
+            strm.format = SMODFStream::icd211;
+         else if (len == SMO_LEN_LEGACY)
+            strm.format = SMODFStream::legacy;
+         else
+         {
+            gpstk::FFStreamError e("Unreconized format");
+            GPSTK_THROW(e);
+         }
+      }
+      
+      if (strm.format == SMODFStream::icd211)
+      {
+         if (len != SMO_LEN_ICD211)
+         {
+            gpstk::FFStreamError e("Bad 211 format line length: " + 
+                            asString(len));
+            GPSTK_THROW(e);
+         }
+         
+            // a simple check to see if this is really an ODBIF file
+         if ((currentLine[20] != ' ') ||
+             (currentLine[32] != ' '))
+         {
+            gpstk::FFStreamError e("Invalid ICD211 line");
+            GPSTK_THROW(e);
+         }
+         
+            // blank out column 66 (in case this ODBIF file uses it 
+            //   for some unauthorized purpose)
+         currentLine[65] = ' ';
+         
+         if (currentLine[31]!='1')
+            currentLine[31]='0';
+         
+            // Parse line and load apropriate values into ODBIF structure
+         short year =           asInt(currentLine.substr( 0,  4));
+         short DOY  =           asInt(currentLine.substr( 4,  3));
+         double SOD =         asDouble(currentLine.substr( 7, 13));
+         PRNID =          asInt(currentLine.substr(21,  2));
+         station =        asInt(currentLine.substr(23,  5));
+         channel =        asInt(currentLine.substr(28,  2));
+         type =           asInt(currentLine.substr(30,  1));
+         lol  =           asInt(currentLine.substr(31,  1));
+         obs  =    for2doub(currentLine.substr(32, 21), 21);
+         stdDev =     for2doub(currentLine.substr(53, 12), 12);
+         tempSource =    asInt(currentLine.substr(66,  1));
+         pressSource =   asInt(currentLine.substr(67,  1));
+         humidSource =   asInt(currentLine.substr(68,  1));
+         temp =        asDouble(currentLine.substr(69,  5));
+         pressure =    asDouble(currentLine.substr(74,  6));
+         humidity =    asDouble(currentLine.substr(80,  5));
+         
+            // set the time
+         time.setYDoySod(year, DOY, SOD);
+      }
+      else if (strm.format == SMODFStream::legacy)
+      {
+         if (len != SMO_LEN_LEGACY)
+         {
+            gpstk::FFStreamError e("Bad legacy format line length: " + 
+                            asString(len));
+            GPSTK_THROW(e);
+         }
+         
+            // blank out column 63 (in case this ODBIF file uses it 
+            // for some unauthorized purpose)
+         currentLine[62] = ' ';
+         
+         if (currentLine[28]!='1')
+            currentLine[28]='0';
+         
+            // Parse line and load apropriate values into ODBIF structure
+         short year =           asInt(currentLine.substr( 0,  2));
+         short DOY  =           asInt(currentLine.substr( 2,  3));
+         double SOD =         asDouble(currentLine.substr( 5, 12));
+         PRNID =          asInt(currentLine.substr(17,  3));
+         station =        asInt(currentLine.substr(20,  5));
+         channel =        asInt(currentLine.substr(25,  2));
+         type =           asInt(currentLine.substr(27,  1));
+         lol  =           asInt(currentLine.substr(28,  1));
+         obs  =    for2doub(currentLine.substr(29, 21), 21);// len ??
+         stdDev =     for2doub(currentLine.substr(50, 12), 12);//start & 
+         short src =          asInt(currentLine.substr(63,  1));
+         temp =        asDouble(currentLine.substr(64,  5));
+         pressure =    asDouble(currentLine.substr(69,  6));
+         humidity =    asDouble(currentLine.substr(75,  5));
+         
+            // set the time
+         if ( year < BEGINGPS2DYEAR )
+            year += 2000;
+         else 
+            year += 1900;
+         time.setYDoySod(year, DOY, SOD);
+         
+            /*
+              Translate ODBIF (legacy) weather types to ICD-GPS-211 types
+              Legacy   Meaning
+              0     No met data
+              1     OCS smoothed values
+              2     OCS default values
+              3     NIMA overridden at OCS (?)
+              6     NIMA default weather values
+              7     NIMA automated weather station (usual)
+              8     Bad meteorological data
+              other    Undefined
+            */
+         if ( src==1 || src==7 )
+            tempSource = pressSource = humidSource = 1;
+         else if ( src==2 || src==6 )
+            tempSource = pressSource = humidSource = 2;
+         else
+            tempSource = pressSource = humidSource = 0;   
+      }
+   }   // end reallyGetRecord()
+
+   gpstk::ObservationPlus SMODFData::getObservationPlus() const
+   {
+      gpstk::ObservationPlus op;
+      
+      op.obs.channel = channel;
+      op.svId = PRNID;
+      op.rxId = station;
+      op.time = time;
+      op.obs.SNR = (float)(stdDev);
+
+      if (type==0)
+         op.obs.range = obs * 1000;  // yea, smdf is in KM
+      else if (type==9)
+         op.obs.phase = obs * 1000;
+
+      return op;
+   }
+      
+   gpstk::WxObservation SMODFData::getWxObservation() const
+   {
+      gpstk::WxObservation wx;
+
+      wx.t = time;
+
+      if (tempSource)
+      {
+         wx.temperature = temp;
+         wx.temperatureSource = WxObservation::obsWx;
+      }
+      else 
+         wx.temperatureSource = WxObservation::noWx;;
+
+      if (pressSource)
+      {
+         wx.pressure = pressure;
+         wx.pressureSource = WxObservation::obsWx;
+      }
+      else 
+         wx.pressureSource = WxObservation::noWx;;
+
+      if (humidSource)
+      {
+         wx.humidity = humidity;
+         wx.humiditySource = WxObservation::obsWx;
+      }
+      else 
+         wx.humiditySource = WxObservation::noWx;
+         
+      return wx;
+   }
+
+} // end namespace gpstk
diff --git a/trunk/src/SMODFData.hpp b/trunk/src/SMODFData.hpp
new file mode 100644
index 0000000..571690c
--- /dev/null
+++ b/trunk/src/SMODFData.hpp
@@ -0,0 +1,140 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SMODFData.hpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file SMODFData.hpp
+ * smoothed measurement data file data
+ */
+
+#ifndef SMODFDATA_HPP
+#define SMODFDATA_HPP
+
+#include "StringUtils.hpp"
+#include "FFData.hpp"
+#include "DayTime.hpp"
+#include "ObservationStore.hpp"
+
+#include <vector>
+
+namespace gpstk
+{
+   /** @addtogroup icd211group ICD-GPS-211 Classes */
+   //@{
+
+   /**
+    * Model for a Smoothed Measurement Data File Data Record.
+    */
+   class SMODFData : public gpstk::FFData
+   {
+   public:
+      /// constructor
+      SMODFData() : PRNID(0), time(gpstk::DayTime::BEGINNING_OF_TIME) 
+      {}
+
+      /// destructor
+      virtual ~SMODFData() {}
+
+      gpstk::DayTime time;  ///< the date of this data (from year DOY, SOD)
+      short PRNID;        ///< PRN number
+      long  station;      ///< NIMA Monitor Station number (85408, etc.)
+      short channel;      ///< receiver channel
+      short type;         ///< Data type ( 0 = range, 9 = delta/doppler range )
+      short lol;          ///< Loss of lock flag.  0 = OK, 1 = loss
+                          ///<  ( only used for type = 9 )
+      long double obs;    ///< Observed data (range or delta range meas)
+      double stdDev;      ///< standard deviation of observation
+      short tempSource;   ///< temperature source flag 
+                          ///< (0 = not available, 1 = measured value, 2 = default value)
+      short pressSource;  ///< pressure source flag
+                          ///< (0 = not available, 1 = measured value, 2 = default value)
+      short humidSource;  ///< humidity source flag
+                          ///< (0 = not available, 1 = measured value, 2 = default value)
+      double temp;        ///< temperature (degrees C)
+      double pressure;    ///< pressure (mb)
+      double humidity;    ///< relative humidity (%)
+
+      /// SMODFData is data, so this function always returns true.
+      virtual bool isData() const {return true;}
+
+      /// This function does \b nothing.
+      virtual void dump(std::ostream& s) const;
+      
+      /**
+       * Translate *this to an ObservationPlus.
+       * @return *this translated to an ObservationPlus
+       */
+      virtual gpstk::ObservationPlus getObservationPlus() const;
+      
+      /** 
+       * Translate *this to a WxObservation.
+       * @return *this translated to a WxObservation
+       */
+      virtual gpstk::WxObservation getWxObservation() const;
+      
+   protected:
+      /// Writes a smodfdata object in the format specified
+      /// by the stream to the stream.
+      virtual void reallyPutRecord(gpstk::FFStream& s) const
+         throw(std::exception, gpstk::FFStreamError,
+               gpstk::StringUtils::StringException);
+
+      /**
+       * Retrieve a SMODFData record from the given gpstk::FFStream.
+       * If there is a problem with reading from the stream, it
+       * is reset to its original position and its fail-bit is set.
+       * @throws StringException when a gpstk::StringUtils function fails
+       * @throws gpstk::FFStreamError when exceptions(failbit) is set and
+       *  a read or formatting error occurs.  This also resets the
+       *  stream to its pre-read position.
+       */
+      virtual void reallyGetRecord(gpstk::FFStream& s) 
+         throw(std::exception, gpstk::FFStreamError,
+               gpstk::StringUtils::StringException);
+     
+   }; // class SMODFData
+
+      //@}
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/SMODFStream.hpp b/trunk/src/SMODFStream.hpp
new file mode 100644
index 0000000..d127057
--- /dev/null
+++ b/trunk/src/SMODFStream.hpp
@@ -0,0 +1,114 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SMODFStream.hpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file SMODFStream.hpp
+ * Read/Write smoothed measurement data
+ */
+
+#ifndef SMODFSTREAM_HPP
+#define SMODFSTREAM_HPP
+
+#include "FFTextStream.hpp"
+
+namespace gpstk
+{
+      /** @addtogroup icd211group ICD-GPS-211 Classes */
+      //@{
+
+      /**
+       * This is a stream used to obtain data from a 
+       * Smoothed Measurement Data File.
+       */
+   class SMODFStream : public gpstk::FFTextStream
+   {
+   public:
+      SMODFStream()
+            : format(undefined)
+         {}
+
+         /**
+          * Constructor.
+          * @param fn the SMODF to open
+          * @param mode the ios::openmode to use in opening \a fn
+          */
+      SMODFStream(const char* fn, std::ios::openmode mode=std::ios::in)
+         throw()
+            : gpstk::FFTextStream(fn, mode), format(undefined)
+         {
+               // open a file for write in icd211 mode
+            if  ( (mode & std::ios::out) && !(mode & std::ios::in) )
+               format = icd211;
+         }
+
+         /// Destructor per the coding standard
+      virtual ~SMODFStream() {}
+
+         /// overrides open to reset the header
+      virtual void open(const char* fn, std::ios::openmode mode)
+         { 
+            gpstk::FFTextStream::open(fn, mode);
+               // open a file for write in icd211 mode
+            if  ( (mode & std::ios::out) && !(mode & std::ios::in) )
+               format = icd211;
+            else
+               format = undefined;
+         }
+
+         /** 
+          * These are the file formats SMODFStream recognizes.
+          */
+      enum FileFormat {
+         undefined,      ///< Undefined format
+         legacy,         ///< Legacy format
+         icd211          ///< ICD-GPS-211 format
+      };
+
+      FileFormat format; ///< The FileFormat of the file currently being read.
+   }; // class SMODFStream
+
+      //@}
+
+} // namespace sglmsn
+
+#endif
diff --git a/trunk/src/SP3Base.hpp b/trunk/src/SP3Base.hpp
new file mode 100644
index 0000000..690983a
--- /dev/null
+++ b/trunk/src/SP3Base.hpp
@@ -0,0 +1,71 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3Base.hpp#1 $"
+
+/**
+ * @file SP3Base.hpp
+ * Base class for SP3 file data
+ */
+
+#ifndef GPSTK_SP3BASE_HPP
+#define GPSTK_SP3BASE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "FFData.hpp"
+
+namespace gpstk
+{
+   /** @defgroup SP3ephem SP3 format file I/O */
+   //@{
+
+  /// This class is here to make readable inheritance diagrams.
+   class SP3Base : public FFData
+   {
+   public:
+         /// Destructor per the coding standards
+      virtual ~SP3Base() {}
+   };
+
+   //@}
+
+}  // namespace
+
+#endif
diff --git a/trunk/src/SP3Data.cpp b/trunk/src/SP3Data.cpp
new file mode 100644
index 0000000..cf4d441
--- /dev/null
+++ b/trunk/src/SP3Data.cpp
@@ -0,0 +1,146 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3Data.cpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file SP3Data.cpp
+ * Encapsulate SP3 file data, including I/O
+ */
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "SP3Stream.hpp"
+#include "SP3Data.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+namespace gpstk
+{
+      /// @todo Implement this function.
+   void SP3Data::reallyPutRecord(FFStream& ffs) const 
+      throw(std::exception, FFStreamError, StringException)
+   {
+      SP3Stream& strm = dynamic_cast<SP3Stream&>(ffs);
+      
+      FFStreamError err("Writing is not supported for this file format");
+      GPSTK_THROW(err);
+   }
+
+   void SP3Data::dump(ostream& s) const 
+   {
+      if (flag != '*')
+      {
+         s << flag
+            << " " << setw(2) << id
+            << " " << fixed << setw(13) << setprecision(6) << x[0]
+            << " " << fixed << setw(13) << setprecision(6) << x[1]
+            << " " << fixed << setw(13) << setprecision(6) << x[2]
+            << " " << fixed << setw(13) << setprecision(6) << clk << endl;
+      }
+   };
+
+   void SP3Data::reallyGetRecord(FFStream& ffs)
+      throw(std::exception, FFStreamError, StringException)
+   {
+      SP3Stream& strm = dynamic_cast<SP3Stream&>(ffs);
+
+      string line;
+      strm.formattedGetLine(line);
+      
+      if (line[0]=='*')
+      {
+         if (line.size()<=30)
+         {
+            FFStreamError err("Invalid line length " + 
+                              asString(line.size()));
+            GPSTK_THROW(err);                  
+         }
+         int year = asInt(line.substr(3,4));
+         int month = asInt(line.substr(8,2));
+         int dom = asInt(line.substr(11,2));
+         int hour = asInt(line.substr(14,2));
+         int minute = asInt(line.substr(17,2));
+         double second = asInt(line.substr(20,10));
+         DayTime t(year, month, dom, hour, minute, second);
+         strm.currentEpoch = t;
+         
+            // since we only got the time, go ahead and read another 
+            // record
+         strm.formattedGetLine(line);
+      }
+
+         /// set the internal record time
+      time = strm.currentEpoch;
+      
+      if ((line[0]=='P' || line[0]=='V'))
+      {
+         if (line.size()<=59)
+         {
+            FFStreamError err("Invalid line length " + 
+                              asString(line.size()));
+            GPSTK_THROW(err);
+         }
+         flag = line[0];
+         id = asInt(line.substr(1, 3));
+         x[0] = asDouble(line.substr(5,13));
+         x[1] = asDouble(line.substr(19,13));
+         x[2] = asDouble(line.substr(33,13));
+         clk = asDouble(line.substr(47,13));
+      }
+      else if (line.substr(0,3) == string("EOF"))
+      {
+            // this next read had better fail - if it does, 
+            // an exception will be thrown and the next FFStreamError
+            // won't get thrown
+         strm.formattedGetLine(line, true);
+         
+         FFStreamError err("EOF text found but file didn't end");
+         GPSTK_THROW(err);
+      }
+      else
+      {
+         FFStreamError err("Unknown line label " + string(1,line[0]));
+         GPSTK_THROW(err);
+      }
+   }   // end reallyGetRecord()
+} // namespace
diff --git a/trunk/src/SP3Data.hpp b/trunk/src/SP3Data.hpp
new file mode 100644
index 0000000..4fe6831
--- /dev/null
+++ b/trunk/src/SP3Data.hpp
@@ -0,0 +1,117 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3Data.hpp#1 $"
+
+/**
+ * @file SP3Data.hpp
+ * Encapsulate SP3 file data, including I/O
+ */
+
+#ifndef GPSTK_SP3DATA_HPP
+#define GPSTK_SP3DATA_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Triple.hpp"
+#include "SP3Base.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup SP3ephem */
+   //@{
+
+      /**
+       * This class models Satellite Position in Three Dimensions.
+       *
+       * @sa gpstk::SP3Header and gpstk::SP3Stream for more information.
+       * @sa sp3_test.cpp for an example.
+       */
+   class SP3Data : public SP3Base
+   {
+   public:
+         /// Constructor.
+      SP3Data() : flag('\000'), time(gpstk::DayTime::BEGINNING_OF_TIME) 
+         {}
+     
+         /// Destructor
+      virtual ~SP3Data() {}
+     
+         // The next four lines is our common interface
+         /// SP3Data is "data" so this function always returns true.
+      virtual bool isData() const {return true;}
+
+         /// Debug output function.
+      virtual void dump(std::ostream& s) const;
+
+         ///@name data members
+         //@{
+      char flag;  ///< Data type indicator.  P for position, V for velocity.
+      short id;   ///< Satellite ID (usually prn)
+      Triple x;   ///< The three-vector for position or velocity. @see flag
+      double  clk; ///< The time bias (clock bias) for P, or clock drift for V. @see x
+      DayTime time; ///< Time of epoch for this record
+         //@}
+      
+   protected:
+         /// Writes the formatted record to the FFStream \a s.
+         /// @warning This function is currently unimplemented
+      virtual void reallyPutRecord(FFStream& s) const 
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+
+         /**
+          * This function reads a record from the given FFStream.
+          * If an error is encountered in retrieving the record, the 
+          * stream is reset to its original position and its fail-bit is set.
+          * @throws StringException when a StringUtils function fails
+          * @throws FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs.  This also resets the
+          *  stream to its pre-read position.
+          */
+      virtual void reallyGetRecord(FFStream& s) 
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+   };
+
+   //@}
+
+}  // namespace
+
+#endif
diff --git a/trunk/src/SP3EphemerisStore.cpp b/trunk/src/SP3EphemerisStore.cpp
new file mode 100644
index 0000000..1b21298
--- /dev/null
+++ b/trunk/src/SP3EphemerisStore.cpp
@@ -0,0 +1,136 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3EphemerisStore.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file SP3EphemerisStore.cpp
+ * Read & store SP3 formated ephemeris data
+ */
+
+#include "SP3EphemerisStore.hpp"
+#include "MiscMath.hpp"
+#include "ECEF.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace gpstk::StringUtils;
+
+namespace gpstk
+{
+   //-----------------------------------------------------------------------------
+   //-----------------------------------------------------------------------------
+   void SP3EphemerisStore::loadFile(const std::string& filename)
+      throw(FileMissingException)
+   {
+      try
+      {
+         SP3Stream strm(filename.c_str());
+         if (!strm)
+         {
+            FileMissingException e("File " + filename + " could not be opened.");
+            GPSTK_THROW(e);
+         }
+      
+         SP3Header header;
+         strm >> header;
+
+         addFile(filename, header);
+
+         /// If any file doesn't have the velocity data, clear the
+         /// the flag indicating that there is any velocity data
+         if (tolower(header.pvFlag) != 'v')
+            setHaveVelocity(false);
+
+         SP3Data rec;
+         while(strm >> rec)
+            addEphemeris(rec);
+      }
+      catch (gpstk::Exception& e)
+      {
+         GPSTK_RETHROW(e);
+      }
+   }  // end SP3EphemerisStore::load
+
+
+   //--------------------------------------------------------------------------
+   //--------------------------------------------------------------------------
+   void SP3EphemerisStore::dump(short detail, std::ostream& s) const
+   {
+      s << "Dump of SP3EphemerisStore:" << std::endl;
+      std::vector<std::string> fileNames = getFileNames();
+      std::vector<std::string>::const_iterator f=fileNames.begin();
+      for (f=fileNames.begin(); f!=fileNames.end(); f++)
+         s << *f << std::endl;
+/*
+  Add this back in when/if we add header info to the file store.
+      while(fmi != fm.end()) {
+         s << " File " << fmi->first << ", Times: " << fmi->second.time
+            << " to " << (fmi->second.time+fmi->second.epochInterval*fmi->second.numberOfEpochs)
+            << ", (" << fmi->second.numberOfEpochs
+            << "  " << fmi->second.epochInterval << "sec intervals)." << std::endl;
+         if(detail > 0) {
+            s << "  Data used as input : " << fmi->second.dataUsed
+               << "  Coordinate system : " << fmi->second.coordSystem << std::endl;
+            s << "  Orbit estimate type : " << fmi->second.orbitType
+               << "  Agency : " << fmi->second.agency << std::endl;
+            s << "  List of satellite PRN/acc (" << fmi->second.svList.size()
+               << " total) :\n";
+            int i=0;
+            std::map<short,short>::const_iterator it=fmi->second.svList.begin();
+            while(it != fmi->second.svList.end()) {
+               s << "  " << std::setw(2) << it->first << "/" << it->second;
+               if(!(++i % 8)) s << std::endl;
+               it++;
+            }
+            if(++i % 8) s << std::endl;
+            s << "  Comments:\n";
+            for(i=0; i<fmi->second.comments.size(); i++)
+               s << "    " << fmi->second.comments[i] << std::endl;
+            s << std::endl;
+         }
+         fmi++;
+      }
+*/
+      TabularEphemerisStore::dump(detail, s);
+
+   } // end of SP3EphemerisStore::dump
+
+}  // namespace gpstk
diff --git a/trunk/src/SP3EphemerisStore.hpp b/trunk/src/SP3EphemerisStore.hpp
new file mode 100644
index 0000000..1bea276
--- /dev/null
+++ b/trunk/src/SP3EphemerisStore.hpp
@@ -0,0 +1,97 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3EphemerisStore.hpp#1 $"
+
+/**
+ * @file SP3EphemerisStore.hpp
+ * Read and store SP3 formated ephemeris data
+ */
+
+#ifndef GPSTK_SP3_EPHEMERIS_STORE_HPP
+#define GPSTK_SP3_EPHEMERIS_STORE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+
+#include "TabularEphemerisStore.hpp"
+#include "FileStore.hpp"
+
+#include "SP3Stream.hpp"
+#include "SP3Data.hpp"
+#include "SP3Header.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup ephemstore */
+   //@{
+
+      /**
+       * This adds the interface to read SP3 files into a TabularEphemerisStore
+       */
+   class SP3EphemerisStore : public TabularEphemerisStore, 
+                             public FileStore<SP3Header>
+   {
+   public:
+      /// Constructor.
+      SP3EphemerisStore() throw() {TabularEphemerisStore();}
+
+      /// destructor
+      virtual ~SP3EphemerisStore() {}
+      
+      /** Dump the store to cout.
+       * @param detail determines how much detail to include in the output
+       *   0 list of filenames with their start, stop times.
+       *   1 list of filenames with their start, stop times,
+       *     other header information and prns/accuracy.
+       *   2 above, plus dump all the PVT data (use judiciously).
+       */
+      virtual void dump(short detail=0, std::ostream& s=std::cout) const;
+
+      /// load the given SP3 file
+      virtual void loadFile(const std::string& filename) 
+         throw(FileMissingException);
+   };
+
+   //@}
+
+}  // namespace
+
+#endif
diff --git a/trunk/src/SP3Header.cpp b/trunk/src/SP3Header.cpp
new file mode 100644
index 0000000..c47d5af
--- /dev/null
+++ b/trunk/src/SP3Header.cpp
@@ -0,0 +1,215 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3Header.cpp#1 $"
+
+/**
+ * @file SP3Header.cpp
+ * Encapsulate header of SP3 file data, including I/O
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "StringUtils.hpp"
+#include "SP3Stream.hpp"
+#include "SP3Header.hpp"
+
+namespace gpstk
+{
+   using namespace gpstk::StringUtils;
+   using namespace std;
+
+      /// @todo Implement this function.
+   void SP3Header::reallyPutRecord(FFStream& ffs) const
+      throw(exception, FFStreamError, StringException)
+   {
+      SP3Stream& strm = dynamic_cast<SP3Stream&>(ffs);
+      
+      FFStreamError err("Writing is not supported for this file format");
+      GPSTK_THROW(err);
+   }
+
+   void SP3Header::dump(ostream& s) const
+   {
+      s << "SP3 Header: version '" << version << "' containing ";
+      if(pvFlag=='P') s << "positions.";
+      if(pvFlag=='V') s << "positions and velocities.";
+      s << endl;
+      s << " Time tag in header is " << time << endl;
+      s << " Timespacing is " << epochInterval
+         << " sec, and the number of epochs is " << numberOfEpochs << endl;
+      s << " Data used as input : " << dataUsed << endl;
+      s << " Coordinate system : " << coordSystem << endl;
+      s << " Orbit estimate type : " << orbitType << endl;
+      s << " Agency : " << agency << endl;
+      
+      s << " List of satellite PRN/acc (" << svList.size() << " total) :\n";
+      int i=0;
+      std::map<short,short>::const_iterator it=svList.begin();
+      while(it != svList.end()) {
+         s << "  " << setw(2) << it->first << "/" << it->second;
+         if(!(++i % 8)) s << endl;
+         it++;
+      }
+      if(++i % 8) s << endl;
+
+      s << " Comments:\n";
+      for(size_t j=0; j<comments.size(); j++) s << "    " << comments[j] << endl;
+
+      s << "End of SP3 header" << endl;
+   }
+
+   void SP3Header::reallyGetRecord(FFStream& ffs)
+      throw(exception, FFStreamError, gpstk::StringUtils::StringException)
+   {
+      SP3Stream& strm = dynamic_cast<SP3Stream&>(ffs);
+      
+      string line;
+      strm.formattedGetLine(line);
+
+      if (line[0]=='#' && line[1]!='#')
+      {
+         version=line[1];
+         pvFlag=line[2];
+         int year = asInt(line.substr(3,4));
+         int month = asInt(line.substr(8,2));
+         int dom = asInt(line.substr(11,2));
+         int hour = asInt(line.substr(14,2));
+         int minute = asInt(line.substr(17,2));
+         double second = asInt(line.substr(20,10));
+         time = DayTime(year, month, dom, hour, minute, second);
+         numberOfEpochs = asInt(line.substr(32,7));
+         dataUsed = line.substr(40,5);
+         coordSystem = line.substr(46,5);
+         orbitType = line.substr(52,3);
+         agency = line.substr(56,4);
+      }
+      else
+      {
+         FFStreamError e("Unknown label " + string(1, line[0]));
+         GPSTK_THROW(e);
+      }
+      
+      strm.formattedGetLine(line);
+      if (line[0]=='#' && line[1]=='#')
+      {
+         epochInterval = asDouble(line.substr(24,14));
+      }
+      else
+      {
+         FFStreamError e("Unknown label " + string(1, line[0]));
+         GPSTK_THROW(e);
+      }
+
+      int i, index;
+      int numSVs(0), readSVs(0);
+
+         // the map stores them sorted, so use svsAsWritten to determine
+         // which SV each accuracy corresponds to.
+      vector<short> svsAsWritten;
+
+            // read in the SV list
+      for(i = 3; i <= 7; i++)
+      {
+         strm.formattedGetLine(line);
+         if (line[0]=='+')
+         {
+               // get the total number of svs on line 3
+            if (i == 3)
+            {
+               numSVs = asInt(line.substr(4,2));
+               svsAsWritten.resize(numSVs);
+            }
+            for(index = 9; index < 60; index += 3)
+            {
+               if (readSVs < numSVs)
+               {
+                  short sv = asInt(line.substr(index, 3));
+                  svsAsWritten[readSVs] = sv;
+                  svList[sv] = 0;
+                  readSVs++;
+               }
+            }
+         }
+         else
+         {
+            FFStreamError e("Unknown label " + string(1, line[0]));
+            GPSTK_THROW(e);
+         }
+      }
+      
+      readSVs = 0;
+
+         // read in the accuracy.
+      for(i = 8; i <= 12; i++)
+      {
+         strm.formattedGetLine(line);
+         if ((line[0]=='+') && (line[1]=='+'))
+         {
+            for(index = 9; index < 60; index += 3)
+            {
+               if (readSVs < numSVs)
+               {
+                  svList[svsAsWritten[readSVs]] = asInt(line.substr(index,3));
+                  readSVs++;
+               }
+            }
+         }
+         else
+         {
+            FFStreamError e("Unknown label " + string(1, line[0]));
+            GPSTK_THROW(e);
+         }
+      }
+
+         // read in 6 unused lines
+      for(i = 13; i <= 18; i++)
+         strm.formattedGetLine(line);
+      
+         // read in 4 comment lines
+      for(i = 19; i <= 22; i++)
+      {
+         strm.formattedGetLine(line);
+            // strip the first 3 characters
+         line.erase(0, 3);
+            // and add to the comment vector
+         comments.push_back(line);
+      }
+   }
+}  // namespace
diff --git a/trunk/src/SP3Header.hpp b/trunk/src/SP3Header.hpp
new file mode 100644
index 0000000..cff559f
--- /dev/null
+++ b/trunk/src/SP3Header.hpp
@@ -0,0 +1,128 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3Header.hpp#1 $"
+
+/**
+ * @file SP3Header.hpp
+ * Encapsulate header of SP3 file data, including I/O
+ */
+
+#ifndef GPSTK_SP3HEADER_HPP
+#define GPSTK_SP3HEADER_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <string>
+#include <map>
+#include <vector>
+#include "DayTime.hpp"
+#include "SP3Base.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup SP3ephem */
+   //@{
+
+      /**
+       * This class models the header for a SP3 file.
+       *
+       * @note A valid header does not need to be read before 
+       *  data can be read from an sp3 file because a large part of the
+       *  SP3 file header is skipped and not processed.
+       *
+       * @sa gpstk::SP3Stream and gpstk::SP3Data for more information.
+       * @sa sp3_test.cpp for an example.
+       */
+   class SP3Header : public SP3Base
+   {
+   public:
+         /// constructor
+      SP3Header() : version(0), numberOfEpochs(0) {}
+
+         /// destructor
+      virtual ~SP3Header() {}
+
+         // The next four lines is our common interface
+         /// SP3Header is a "header" so this function always returns true.
+      virtual bool isHeader() const {return true;}
+     
+         /// Debug output operator.
+      virtual void dump(std::ostream& s) const;
+
+      char   version;           ///< Version of the SP3 File.
+      char   pvFlag;            ///< File contains positions (P) or positions and velocities (V)
+      DayTime time;             ///< Time in header (year, month, dom, hour, min, sec, week, sow)
+      double epochInterval;     ///< Duration of Epoch in seconds
+      int    numberOfEpochs;    ///< Number of Epochs in this file
+      std::string dataUsed;     ///< Types of data input into the positions
+      std::string coordSystem;  ///< Coordinate System of the data
+      std::string orbitType;    ///< Type of Orbit Estimate
+      std::string agency;       ///< Agency generating the Orbit
+
+      std::map<short, short> svList;     ///< Which SVs are present in the data and their accuracy flags
+      std::vector<std::string> comments; ///< vector of 4 comment lines
+
+   protected:
+         /// Writes the record formatted to the FFStream \a s.
+         /// @warning This function is currently unimplemented.
+      virtual void reallyPutRecord(FFStream& s) const 
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+
+         /** 
+          * This function retrieves the SP3 header from the given FFStream.
+          * If an error is encountered in the retrieval of the header, the
+          * stream is reset to its original position and its fail-bit is set.
+          * @throws StringException when a StringUtils function fails
+          * @throws FFStreamError when exceptions(failbit) is set and
+          *  a read or formatting error occurs.  This also resets the
+          *  stream to its pre-read position.
+          */
+      virtual void reallyGetRecord(FFStream& s) 
+         throw(std::exception, FFStreamError,
+               gpstk::StringUtils::StringException);
+   };
+
+   //@}
+
+}  // namespace
+
+#endif
+
diff --git a/trunk/src/SP3Stream.hpp b/trunk/src/SP3Stream.hpp
new file mode 100644
index 0000000..ee16df0
--- /dev/null
+++ b/trunk/src/SP3Stream.hpp
@@ -0,0 +1,87 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SP3Stream.hpp#1 $"
+
+/**
+ * @file SP3Stream.hpp
+ * File stream for SP3 format files
+ */
+
+#ifndef GPSTK_SP3STREAM_HPP
+#define GPSTK_SP3STREAM_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "DayTime.hpp"
+#include "FFTextStream.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup SP3ephem */
+   //@{
+
+      /**
+       * This class provides access to SP3 files.
+       *
+       * @sa gpstk::SP3Header and gpstk::SP3Data for more information.
+       * @sa sp3_test.cpp for an example.
+       */
+   class SP3Stream : public FFTextStream
+   {
+   public:
+      SP3Stream() {}
+      
+         /** Constructor
+          * Opens file \a fn using ios::openmode \a mode.
+          */
+      SP3Stream(const char* fn, std::ios::openmode mode=std::ios::in)
+            : FFTextStream(fn, mode) {}
+
+         /// destructor
+      virtual ~SP3Stream() {}
+      
+      DayTime currentEpoch;   ///< Time from last epoch record read
+   };
+
+   //@}
+
+}  // namespace
+
+#endif
diff --git a/trunk/src/SVExclusionList.cpp b/trunk/src/SVExclusionList.cpp
new file mode 100644
index 0000000..80e0e2d
--- /dev/null
+++ b/trunk/src/SVExclusionList.cpp
@@ -0,0 +1,312 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SVExclusionList.cpp#1 $"
+//
+//
+#include <stdio.h>
+// gpstk
+#include "SVExclusionList.hpp"
+
+namespace gpstk
+{
+
+   using namespace std; 
+
+//--------------- Methods for SVExclusionList ---------------
+   SVExclusionList::SVExclusionList( ) 
+     :earliestTime(gpstk::DayTime::END_OF_TIME),
+      latestTime(gpstk::DayTime::BEGINNING_OF_TIME)
+   {
+      readFailCount = 0;
+      timeSpecString = "%F %g";
+   }
+   
+   SVExclusionList::SVExclusionList( const std::string filename ) 
+             throw(SVExclusionList::SVExclusionFileNotFound)
+     :earliestTime(gpstk::DayTime::END_OF_TIME),
+      latestTime(gpstk::DayTime::BEGINNING_OF_TIME)
+   {
+      readFailCount = 0;
+      timeSpecString = "%F %g";
+      addFile( filename );
+   }
+   
+   void SVExclusionList::addFile( const std::string filename )
+               throw(SVExclusionList::SVExclusionFileNotFound)
+   {
+      char file[100];
+      sscanf(filename.c_str(),"%s",file);
+      FILE* inf = fopen(file, "rt");
+      if (inf==0)
+      {
+         char text[200];
+         sprintf(text,"Exclusion file not found.  Filename: %s",filename.c_str());
+         std::string sout = text;
+         SVExclusionFileNotFound noSVXFile( sout );
+         GPSTK_THROW(noSVXFile);
+      }
+      
+      std::string temps;
+      DayTime tempDTs;
+      std::string tempe;
+      DayTime tempDTe;
+      int lineCount =0;
+      char fileLine[200];
+      while (fgets(fileLine, 200, inf))
+      {
+         lineCount++;
+         //cout << "------------- Line " << lineCount << endl;
+         string whiteSpace = " \t\n\r";
+         string lineIn = fileLine;
+         
+            // strip trailing whitespace
+         string::size_type endIndex = lineIn.find_last_not_of(whiteSpace);
+         lineIn = lineIn.substr( 0, endIndex+1 );
+         string lead2Chars = lineIn.substr(0,2);
+         if (lead2Chars.compare("TS")==0)
+         {
+            string::size_type q1 = lineIn.find('"');
+            string::size_type q2 = lineIn.find('"',(q1+1));
+            if (q1!=string::npos && q2!=string::npos)
+            {
+               timeSpecString = lineIn.substr((q1+1),(q2-q1-1));
+                  // debug
+               //cout << " New timeSpecString '" << timeSpecString << "'." << endl;
+            }
+            else
+            {
+               readFailCount++;
+               string failString = buildFailString(
+                  "Invalid TS specification at",
+                  lineCount,
+                  filename);
+               readFailList.push_back( failString );
+            }
+         }
+         if (lead2Chars.compare("EX")==0)
+         {
+            string::size_type c1 = lineIn.find(',');
+            string::size_type c2 = lineIn.find(',',(c1+1));
+            string::size_type c3 = lineIn.find(',',(c2+1));
+            if (c1!=string::npos && c2!=string::npos)
+            {
+               std::string comment = "";
+               int PRNID = StringUtils::asInt(lineIn.substr(2, (c1-1)) );
+               if (PRNID<0 || PRNID>gpstk::MAX_PRN)
+               {
+                  readFailCount++;
+                  string failString = buildFailString(
+                     "PRN ID out of range",
+                     lineCount,
+                     filename);
+                  readFailList.push_back( failString );
+                  continue;
+               }
+               temps = lineIn.substr((c1+1),(c2-c1-1));
+               string::size_type nonWhiteBeg = temps.find_first_not_of(whiteSpace);
+               string::size_type nonWhiteEnd = temps.find_last_not_of(whiteSpace);
+               //cout << "Before trimming.  temps, Beg, End = '" << temps << "', " << nonWhiteBeg << ", " << nonWhiteEnd << "." << endl;
+               if (nonWhiteEnd!=string::npos)
+                   temps = temps.substr(nonWhiteBeg,nonWhiteEnd-nonWhiteBeg+1);
+               else
+                   temps = temps.substr(nonWhiteBeg);
+               
+               //cout << "c3, string::npos = " << c3 << ", " << string::npos << endl;
+               if (c3!=string::npos)
+               {
+                  tempe = lineIn.substr(c2+1, (c3-c2-1) );
+                  comment = lineIn.substr(c3+1);
+                  nonWhiteBeg = comment.find_first_not_of(whiteSpace);
+                  comment = comment.substr(nonWhiteBeg);
+               }
+               else
+                  tempe = lineIn.substr(c2+1);
+
+               nonWhiteBeg = tempe.find_first_not_of(whiteSpace);
+               nonWhiteEnd = tempe.find_last_not_of(whiteSpace);
+               //cout << "Before trimming.  tempe, Beg, End = '" << tempe << "', " << nonWhiteBeg << ", " << nonWhiteEnd << "." << endl;
+               if (nonWhiteEnd!=string::npos)
+                   tempe = tempe.substr(nonWhiteBeg,nonWhiteEnd-nonWhiteBeg+1);
+               else
+                   tempe = tempe.substr(nonWhiteBeg);
+               try
+               {
+                  //cout << "Input start string: '" << temps << "'." << endl;
+                  tempDTs.setToString( temps, timeSpecString );
+                  //cout << "Input   end string: '" << tempe << "'." << endl;
+                  tempDTe.setToString( tempe, timeSpecString );
+                  if (tempDTs<=tempDTe)
+                  {
+                     SVExclusion svEx( tempDTs, tempDTe, PRNID, comment );
+       
+                        // Add exclusion to the multimap
+                     addExclusion( svEx );
+                  }
+                  else
+                  {
+                     readFailCount++;
+                     string failString = buildFailString(
+                        "Start time after end time",
+                        lineCount,
+                        filename);
+                     readFailList.push_back( failString );
+                  }
+               }
+               catch (DayTime::DayTimeException& dte)
+               {
+                  readFailCount++;
+                  string failString = buildFailString(
+                     dte.getText(),
+                     lineCount,
+                     filename);
+                  readFailList.push_back( failString );
+               }
+               catch (DayTime::FormatException& fe) 
+               {
+                  readFailCount++;
+                  string failString = buildFailString(
+                     fe.getText(),
+                     lineCount,
+                     filename);
+                  readFailList.push_back( failString );
+               }
+               catch (gpstk::StringUtils::StringException& se)
+               {
+                  readFailCount++;
+                  string failString = buildFailString(
+                     se.getText(),
+                     lineCount,
+                     filename);
+                     readFailList.push_back( failString );
+               }
+            }
+            else
+            {
+               readFailCount++;
+               string failString = buildFailString(
+                  "Invalid EX line format at",
+                  lineCount,
+                  filename);
+               readFailList.push_back( failString );
+            }
+         }
+      }
+      fclose(inf);
+   }
+
+   void SVExclusionList::addExclusion( const SVExclusion svx )
+   {
+      exclusionMap.insert( make_pair( svx.getPRNID(), svx ) );
+      
+         // Update the earliest/latest info
+      if (svx.getBeginTime() < earliestTime) earliestTime = svx.getBeginTime();
+      if (svx.getEndTime() > latestTime) latestTime = svx.getEndTime();
+   }
+
+   bool SVExclusionList::isExcluded( 
+                   const int PRN, 
+                   const gpstk::DayTime dt ) const
+   {
+      SVXListPair p = exclusionMap.equal_range( PRN );
+      for (SVXListCI ci=p.first; ci != p.second; ++ci)
+      {
+         if (ci->second.isApplicable( PRN, dt )) return(true);
+      }
+      return(false);
+   }
+   
+   const SVExclusion& SVExclusionList::getApplicableExclusion(
+                     const int PRN, const gpstk::DayTime dt) 
+                     const throw(SVExclusionList::NoSVExclusionFound)
+   {
+      SVXListPair p = exclusionMap.equal_range( PRN );
+      for (SVXListCI ci=p.first; ci != p.second; ++ci)
+      {
+         if (ci->second.isApplicable( PRN, dt )) return( ci->second );
+      }
+      
+         // Failed to find an exclusion corresponding to the request
+      char textOut[80];
+      sprintf(textOut,"No SVExclusion found for PRN %02d at %s.",
+         PRN, dt.printf("week %F SOW %g, %02m/%02d/%02y %02H:%02M:%02S").c_str());
+      std::string sout = textOut;
+      NoSVExclusionFound noSVX( sout );
+      GPSTK_THROW(noSVX);
+   }
+
+   void SVExclusionList::dumpList( FILE* fp ) const
+   {
+      if (fp==0) return;
+      std::string timeString = "Wk %F SOW %6.0g, %02m/%02d/%02y (DOY %03j) %02H:%02M:%02S";
+      fprintf(fp,"List of SV Exclusion from SVExclusionList\n\n");
+      for (int PRN=1; PRN<=gpstk::MAX_PRN; ++PRN)
+      {
+         fprintf(fp,"\nExclusions for PRN %02d\n",PRN);
+         SVXListPair p = exclusionMap.equal_range( PRN );
+         for (SVXListCI ci=p.first; ci != p.second; ++ci)
+         {
+            fprintf(fp,"  %s to %s\n",
+               ci->second.getBeginTime().printf(timeString).c_str(),
+               ci->second.getEndTime().printf(timeString).c_str());
+         }
+      }
+   }
+   
+   void SVExclusionList::listOfReadFailures() const
+   {
+      typedef list<string>::const_iterator LI;
+      for (LI i=readFailList.begin(); i!=readFailList.end(); ++i)
+      {
+         cerr << *i << endl;
+      }
+   }
+   
+   void SVExclusionList::listOfReadFailures( FILE* fpout ) const
+   {
+      if (fpout==0) return;
+      typedef list<string>::const_iterator LI;
+      for (LI i=readFailList.begin(); i!=readFailList.end(); ++i)
+      {
+         fprintf(fpout,"%s\n",(*i).c_str());
+      }
+   }
+   
+   void SVExclusionList::listOfReadFailures( std::ofstream fsout ) const
+   {
+      if (!fsout.is_open()) return;
+      typedef list<string>::const_iterator LI;
+      for (LI i=readFailList.begin(); i!=readFailList.end(); ++i)
+      {
+         fsout << *i << endl;
+      }
+   }
+   
+   std::string SVExclusionList::buildFailString(const std::string s,
+                     const int lineCount, const std::string filename )
+   {
+      string outString = s;
+      outString += " at line "; 
+      outString += StringUtils::asString<int>(lineCount);
+      outString += " of file "; 
+      outString += filename;
+      outString += ".";
+      return(outString);
+   }                     
+   
+//--------------- Methods for SVExclusion ---------------
+   SVExclusion::SVExclusion( const gpstk::DayTime begin, 
+                             const gpstk::DayTime end,
+                             const int PRNID, 
+                             const std::string commentArg )
+   {
+      begExclude = begin;
+      endExclude = end;
+      PRN_IDENTIFIER = PRNID;
+      comment = commentArg;
+   }
+
+   bool SVExclusion::isApplicable( const int PRNID, const gpstk::DayTime dt ) const
+   {
+      if (dt>=begExclude && dt<=endExclude && PRN_IDENTIFIER==PRNID) return(true);
+      return(false);
+   }
+
+}     // end namespace gpstk
diff --git a/trunk/src/SVExclusionList.hpp b/trunk/src/SVExclusionList.hpp
new file mode 100644
index 0000000..e327f92
--- /dev/null
+++ b/trunk/src/SVExclusionList.hpp
@@ -0,0 +1,126 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SVExclusionList.hpp#1 $"
+/**
+*
+*
+*
+*Input File Format
+*    The file may contain any number of lines of ASCII text.  Any line that 
+*    does not begin with "EX" or "TS" will be ignored.  Lines beginning with
+*    TS are assumed to contains a double quote delimited string that defines
+*    the time format that will be used in following EX lines.  The default
+*    time string is "%F %g" (GPS full week, GPS Second of Week).  See 
+*    DayTime.hpp for more information on time specificaction strings 
+*    (in particular the method DayTime.setToString()).
+*
+*    Each "EX" line must follow the format:
+*
+* EX pp,  startTime, endTime,  comment(optional)
+* 
+*where
+*    pp  - SV PRNID
+*    startTime - In format defined by latest TS command
+*    endTime - In format defined by latest TS command
+*    comment - An optional ASCII text comment to be stored with the exclusion
+*
+*    Read failues will silently discarded, however, the calling program 
+*    may access a count of the number of read failures and a list of the 
+*    failures.
+*/
+#ifndef GPSTK_SVEXCLUSIONLIST_HPP
+#define GPSTK_SVEXCLUSIONLIST_HPP
+
+//
+#include <stdio.h>
+#include <fstream>
+#include <iostream>
+
+// std library
+#include <map>
+
+// gpstk
+#include "DayTime.hpp"
+#include "Exception.hpp"
+#include "gps_constants.hpp"
+
+namespace gpstk
+{
+   class SVExclusion
+   {
+      public:
+         SVExclusion( const gpstk::DayTime begin,
+                      const gpstk::DayTime end, 
+                      const int PRNID, 
+                      const std::string commentArg );
+         bool isApplicable( const int PRNID, const gpstk::DayTime dt ) const;
+         std::string getComment() const;
+         int getPRNID() const;
+         gpstk::DayTime getBeginTime() const;
+         gpstk::DayTime getEndTime() const;
+         
+      protected:
+         int PRN_IDENTIFIER;
+         gpstk::DayTime begExclude;
+         gpstk::DayTime endExclude;
+         std::string comment;
+   };
+
+      // For this first implementation, there will be a multimap 
+      // organized by PRN.
+      
+   typedef std::multimap< int, SVExclusion >::const_iterator SVXListCI;
+   typedef std::pair<SVXListCI,SVXListCI> SVXListPair;
+      
+   class SVExclusionList 
+   {
+      public:
+         NEW_EXCEPTION_CLASS( NoSVExclusionFound , gpstk::Exception);
+         NEW_EXCEPTION_CLASS( SVExclusionFileNotFound , gpstk::Exception);
+         
+         SVExclusionList( );
+         SVExclusionList( std::string filename )
+           throw(SVExclusionFileNotFound);
+         void addFile( const std::string filename )
+            throw(SVExclusionFileNotFound);
+         bool isExcluded( const int PRN, const gpstk::DayTime dt ) const;
+         void addExclusion( const SVExclusion );
+         gpstk::DayTime getEarliestTime() const;
+         gpstk::DayTime getLatestTime() const;
+         int getNumberOfExclusions() const;
+         const SVExclusion& getApplicableExclusion(
+                            const int PRN, const gpstk::DayTime dt) 
+                            const throw(NoSVExclusionFound);
+         int numberOfReadFailures() const;
+         void listOfReadFailures() const;       // List goes to cerr
+         void listOfReadFailures( FILE* fpout ) const;
+         void listOfReadFailures( std::ofstream fsout ) const;
+         void dumpList( FILE* fp ) const;
+         
+      protected:
+         gpstk::DayTime earliestTime;
+         gpstk::DayTime latestTime;
+         std::multimap< int, SVExclusion > exclusionMap;
+         
+         std::string timeSpecString;
+         int readFailCount;
+         std::list<std::string> readFailList;
+
+         std::string buildFailString(const std::string s,
+                     const int lineCount, const std::string filename );
+   };
+   
+   inline gpstk::DayTime SVExclusionList::getEarliestTime() const
+      { return(earliestTime); }
+   inline gpstk::DayTime SVExclusionList::getLatestTime() const 
+      { return(latestTime); }
+   inline int SVExclusionList::getNumberOfExclusions() const
+      { return(exclusionMap.size()); } 
+   inline int SVExclusionList::numberOfReadFailures() const
+      { return(readFailCount); }
+      
+   inline std::string SVExclusion::getComment() const {return(comment); }
+   inline int SVExclusion::getPRNID() const { return(PRN_IDENTIFIER); }
+   inline gpstk::DayTime SVExclusion::getBeginTime() const { return(begExclude); }
+   inline gpstk::DayTime SVExclusion::getEndTime() const { return(endExclude); }
+   
+}   
+#endif      
diff --git a/trunk/src/SVPCodeGen.cpp b/trunk/src/SVPCodeGen.cpp
new file mode 100644
index 0000000..f41a855
--- /dev/null
+++ b/trunk/src/SVPCodeGen.cpp
@@ -0,0 +1,118 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SVPCodeGen.cpp#2 $"
+/* 
+*  SVPCodeGen.cpp
+*     SV P-code Generator.
+*     Applied Research Laboratories, The University of Texas at Austin
+*     August 2003
+*/
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "SVPCodeGen.hpp"
+
+namespace gpstk
+{
+   const long LAST_6SEC_ZCOUNT_OF_WEEK = 403200 - 4;
+
+   SVPCodeGen::SVPCodeGen( const int SVPRNID, const gpstk::DayTime& dt )
+   {
+      currentZTime = dt;
+      PRNID = SVPRNID;
+   }
+
+   void SVPCodeGen::getCurrentSixSeconds( CodeBuffer& pcb )
+   {
+         // Compute appropriate X2A offset
+      long X2count;
+      long X1count = currentZTime.GPSzcount();
+   
+         /*
+            Trivial, but special, case for beginning of week.  This
+            can't be simplified into the general case due to the beginning
+            of week chip delays that are equivalent to the PRNID.  These
+            chips are stored at the beginning of the X2 chips sequence.  This
+            is the only time the X2count should be "negative".  The offset is
+            handled within the X2Sequence::operator[] method.
+         */
+      if (X1count==0) X2count = -PRNID;
+   
+         /*
+            At the beginning of an X1 epoch, the previous X2 epoch
+            will still be unfinished due to delays.  The accumulated
+            delay is based on the PRNID and the delay per X1 epoch.
+            Subtract this delay from the max length of the X2 sequence
+            to determine the current chip within the X2 sequence.
+         */
+      else
+      {
+         long cumulativeX2Delay = X1count * X2A_EPOCH_DELAY + PRNID;
+         X2count = MAX_X2_TEST - cumulativeX2Delay;
+         if (X2count<0) X2count += MAX_X2_TEST;
+      }
+
+         /*
+            If this if the final six-second interval of the week, 
+            signal the X2 bit sequence generator to use the "end of week"
+            sequence.  Otherwise, use the "regular" sequence.
+         */
+      if ( X1count==LAST_6SEC_ZCOUNT_OF_WEEK) X2Seq.setEOWX2Epoch(true);
+       else X2Seq.setEOWX2Epoch(false);
+   
+         // Update the time and code state in the CodeBuffer object
+      pcb.updateBufferStatus( currentZTime, P_CODE );
+   
+         // Starting at the beginning of the interval, step through
+         // the six second period loading the code buffer as we go.
+      for ( long i=0;i<NUM_6SEC_WORDS;++i )
+      {
+         pcb[i] = X1Seq[i] ^ X2Seq[X2count];
+         X2count += MAX_BIT;
+         if (X2count>=MAX_X2_TEST) X2count -= MAX_X2_TEST;
+      }
+   }
+
+   void SVPCodeGen::increment4ZCounts( )
+   {
+      currentZTime+= 6;    // 6 seconds == 4 Zcounts.
+   }
+
+}     // end of namespace
diff --git a/trunk/src/SVPCodeGen.hpp b/trunk/src/SVPCodeGen.hpp
new file mode 100644
index 0000000..3874f9d
--- /dev/null
+++ b/trunk/src/SVPCodeGen.hpp
@@ -0,0 +1,151 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SVPCodeGen.hpp#1 $"
+//  SVPCodeGen.hpp
+
+#ifndef SVPCODEGEN_HPP
+#define SVPCODEGEN_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+   // Library headers
+#include "DayTime.hpp"
+
+   // Project headers
+#include "PCodeConst.hpp"
+#include "CodeBuffer.hpp"
+#include "X1Sequence.hpp"
+#include "X2Sequence.hpp"
+
+namespace gpstk 
+{
+/** @defgroup code    Code generator   */
+//@{
+   /**
+    *     SV P-code Generator.
+    *     Applied Research Laboratories, The University of Texas at Austin
+    *     August 2003
+    *
+    *  SVPCodeGen handles the P-code generation for a particular SV.  Each object
+    *  is initialized based on the particular satellite (identified by PRN code) 
+    *  and the Z-count when generation is to begin.  The Z-count must be an even
+    *  four Z-count (six second) interval.  Input values that do not align with four
+    *  Z-count boundaries are rounded BACK to the next earliest 4 Z-count boundary.
+    *
+    *  After initializaiton, P-code is generated in 6-second "chunks".  The chunks
+    *  are returned to the caller in CodeBuffer objects.  After each call to
+    *  getNextSixSeconds( ), the application shall call increment4ZCounts( ) 
+    *  to advance the time by four Z-counts.  This separation between getting the 
+    *  bits and advancing the time is purposely done to allow for easier 
+    *  coordination when generating code for multiple satellites and performing
+    *  other operations on the data after generating the P-code and before moving
+    *  on to the next increment.
+    *
+    *  A key aspect of this class is the use of the X1Sequence and X2Sequence
+    *  classes.  Analysis of the P-code generation processes reveals that the 
+    *  combined X1A/X1B bit stream repeats every 1.5s (1 Z-count) and is the
+    *  same for all satellites.  At the end of 6s (4 Z-counts), the number of 
+    *  bits is evenly divisable by 32 (which is the assumed wordsize for the 
+    *  applicationn). Therefore, to obtain X1 bits, getNextSixSeconds( ) need only
+    *  access the indiviual words from the X1Sequence starting at the beginning
+    *  of the array and progressing to the end.  The restriction that the coder
+    *  must start on an even 6-second (4 Z-count) epoch and generate intervals of 
+    *  six seconds obviates the need to build code to compute bit positions
+    *  within X1A cycles or any information on the X1A/X1B relationship.  See
+    *  documentation on the class X1Sequence for more information.
+    *
+    *  The situation with respect to X2A/X2B is somewhat more complicated.  Once
+    *  again, the X2A/X2B sequence is only 1.5s long.  However, the X2 sequence is
+    *  "slipped" wrt the X1 sequence in two ways: (1.) once per week (at the 
+    *  beginning of week), it is slipped by a number of bits corresponding to
+    *  the PRN ID, (2.) slipped 37 bits for each X2A cycle.  This
+    *  means that it is necessary to keep track of the bit position within the
+    *  X2 sequence and "chop out" 32 bits at a time.  See documentation for the
+    *  class X2Sequence for more information.
+    */
+   class SVPCodeGen
+   {
+      public:
+            /**
+             *  SVPCodeGen::SVPCodeGen( const int PRNID, const DayTime ) - 
+             *  Instantiate and initialize a SVPCodeGen object.  Based on the
+             *  PRNID and the ZCount, determine the appropriate starting 
+             *  location in the X2 sequence and set it up.  Set the current 
+             *  time. 
+             */
+         SVPCodeGen( const int SVPRNID, const gpstk::DayTime& dt );
+         ~SVPCodeGen( ) {};
+         
+            /**
+             *  Starting at the beginning of the X1 sequence and at the 
+             *  appropriate location (as determined by time and PRN), advance
+             *  through both the X1 sequence and X2 sequences combining the 
+             *  sequences 32 bits at a time until the X1 sequence for this
+             *  six second period has been exhausted.  Sometime within that 
+             *  period, the X2 sequence will be exahusted  (including the
+             *  appropriate delays) and will rollover to the beginning of 
+             *  the sequence.
+             */
+         void getCurrentSixSeconds( CodeBuffer& pcb );
+         
+            /**
+             * Generally, the only action is to increment the Z-count by 
+             * 4 counts.  This function COULD be included at the end of 
+             * getCurrentSixSeconds( ), however, it has been separated to
+             * allow the calling application to have a consistent view of 
+             * all the state conditions (for output and debug) before 
+             * moving the time forward for the next generation.
+             */
+         void increment4ZCounts( );
+         
+            /**
+             * Returns the current time to the calling method.  
+             */
+         const gpstk::DayTime& getCurrentZCount( ) {return( currentZTime);}
+     
+      private:
+         gpstk::X1Sequence X1Seq;
+         gpstk::X2Sequence X2Seq;
+         gpstk::DayTime currentZTime;
+         int PRNID;
+   };
+   //@}
+}     // end of namespace
+#endif // SVPCODEGEN_HPP
diff --git a/trunk/src/SatID.cpp b/trunk/src/SatID.cpp
new file mode 100644
index 0000000..41c2f74
--- /dev/null
+++ b/trunk/src/SatID.cpp
@@ -0,0 +1,52 @@
+#include "SatID.hpp"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file SatID.cpp
+ * gpstk::SatID - navigation system-independent representation of a satellite.
+ */
+
+namespace gpstk
+{
+   char SatID::fillchar = ' ';
+}
diff --git a/trunk/src/SatID.hpp b/trunk/src/SatID.hpp
new file mode 100644
index 0000000..5aaf7b2
--- /dev/null
+++ b/trunk/src/SatID.hpp
@@ -0,0 +1,174 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/SatID.hpp#1 $"
+
+#ifndef GPSTK_SATID_HPP
+#define GPSTK_SATID_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include <iomanip>
+
+/**
+ * @file SatID.hpp
+ * gpstk::SatID - navigation system-independent representation of a satellite.
+ */
+
+namespace gpstk
+{
+      /// Satellite identifier = satellite number (PRN, etc.) and system
+   class SatID
+   {
+   public:
+         /// Supported satellite systems
+      enum System
+      {
+         systemGPS = 1,
+         systemGlonass,
+         systemTransit,
+         systemGeosync,
+         systemMixed
+      };
+
+      SatID() { id=-1; system=systemGPS; }
+      SatID(int p, System s) { id=p; system=s; }
+      void setfill(char c) { fillchar=c; }
+      char getfill() { return fillchar; }
+         // operator=, copy constructor and destructor built by compiler
+         /// return the single-character system descriptor
+      char systemCode() const
+      {
+         switch(system) {
+            case systemGPS: return 'G';
+            case systemMixed: return 'M';
+            case systemGlonass: return 'R';
+            case systemTransit: return 'T';
+            case systemGeosync: return 'S';
+         }
+         return 0;
+      };
+
+         /// operator == for SatID
+      bool operator==(const SatID& right) const
+      { return ((system == right.system) && (id == right.id)); }
+
+         /// operator != for SatID
+      bool operator!=(const SatID& right) const
+      { return ((system != right.system) || (id != right.id)); }
+
+         /// order by system, then number
+      bool operator<(const SatID& right) const
+      {
+         if (system==right.system)
+            return (id<right.id);
+         return (system<right.system);
+      }
+
+         // the following allow you to use, respectively,
+         // std::string gpstk::StringUtils::asString<SatID>(const SatID p)
+         // SatID gpstk::StringUtils::asData<SatID>(const std::string& s)
+
+      int id;                ///< satellite identifier.
+      System system;         ///< system this satellite is part of.
+      static char fillchar;  ///< fill character used during stream output
+   }; // class SatID
+
+      /// stream output for SatID
+   inline std::ostream& operator<<(std::ostream& s, const SatID& p)
+   {
+      switch(p.system)
+      {
+         case SatID::systemGPS:
+            s << "G";
+            break;
+         case SatID::systemMixed:
+            s << "G";
+            break; // this is an error ... assume GPS
+         case SatID::systemGlonass:
+            s << "R";
+            break;
+         case SatID::systemTransit:
+            s << "T";
+            break;
+         case SatID::systemGeosync:
+            s << "S";
+            break;
+      }
+      s << std::setw(2) << std::setfill(p.fillchar) << p.id << std::setfill(' ');
+      return s;
+   }
+
+      /// stream input for SatID
+   inline std::istream& operator>>(std::istream& s, SatID& p)
+   {
+      char c;
+      s.unsetf(std::ios_base::skipws);
+      s >> c;
+      switch(c)
+      {
+         case '0': case '1': case '2': case '3':
+         case '4': case '5': case '6':
+         case '7': case '8': case '9':
+            s.putback(c);
+            p.system = SatID::systemGPS;
+            break;
+         case 'R': case 'r':
+            p.system = SatID::systemGlonass;
+            break;
+         case 'T': case 't':
+            p.system = SatID::systemTransit;
+            break;
+         case 'S': case 's':
+            p.system = SatID::systemGeosync;
+            break;
+         case 'G': case 'g': case ' ':
+         default: // error
+            p.system = SatID::systemGPS;
+            break;
+      }
+      s.setf(std::ios_base::skipws);
+      s >> p.id;
+      return s;
+   }
+
+} // namespace gpstk
+
+#endif
diff --git a/trunk/src/Stats.hpp b/trunk/src/Stats.hpp
new file mode 100644
index 0000000..6226d1c
--- /dev/null
+++ b/trunk/src/Stats.hpp
@@ -0,0 +1,512 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Stats.hpp#7 $"
+
+/**
+ * @file Stats.hpp
+ * One and two-sample statistics
+ */
+ 
+#ifndef INCLUDE_GPSTK_STATS_HPP
+#define INCLUDE_GPSTK_STATS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "MiscMath.hpp"
+#include "Vector.hpp"
+#include "Exception.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup math */
+   //@{
+ 
+/** Conventional statistics for one sample.  Constructor does the same as
+ * Reset(); use this when starting a new series of input samples.
+ * Results are available at any time by calling N(), Minimum(), Maximum(),
+ * Average(), Variance() and StdDev().
+ */
+   template <class T>
+   class Stats
+   {
+   public:
+      /// constructor
+      explicit Stats() { n=0; weighted=false; }
+
+      /// constructor given a vector of data
+      Stats(Vector<T>& X, Vector<T>& W)
+      {
+         n = 0;
+         weighted = false;
+         Add(X,W);
+      }
+
+      /// reset, i.e. ignore earlier data and restart sampling
+      inline void Reset(void) { n=0; weighted=false; }
+
+      /// access the sample size
+      inline unsigned int N(void) const { return n; }
+
+      /// return minimum value
+      inline T Minimum(void) const { if(n) return min; else return T(); }
+
+      /// return maximum value
+      inline T Maximum(void) const { if(n) return max; else return T(); }
+
+      /// return computed average
+      inline T Average(void) const
+      {
+         // normalization constant is (W=sum wts)/n, -> 1 when all wts=1
+         if(n == 0)
+            return T();
+         if(weighted)
+            return (T(n)*ave/W);
+         return ave;
+      }
+
+      /// return computed variance
+      inline T Variance(void) const
+      {
+         if(n == 0)
+            return T();
+         if(weighted) {
+            T wn=W/T(n);
+            return (var/wn/wn/wn/wn);
+         }
+         return var;
+      }
+
+      /// return computed standard deviation
+      inline T StdDev(void) const
+      {
+         if(n == 0)
+            return T();
+         if(weighted) {
+            T wn=W/T(n);
+            return SQRT(ABS(var))/wn/wn;
+         }
+         return SQRT(ABS(var));
+      }
+
+      /// return the normalization constant = sum weights
+      inline T Normalization(void) const
+      { return W; }
+
+      /// return weight flag
+      inline bool Weighted(void) const
+      { return weighted; }
+
+      /// add a single sample to the computation of statistics, with optional weight
+      void Add(const T& x, const T& wt=T())
+      {
+         if(wt != T()) weighted=true;
+
+         T xx(x);
+         n++;
+         if(n == 1) {
+            min = max = ave = xx;
+            if(weighted) ave *= wt;
+            var = T();
+            W = T();
+         }
+         else {
+            if(xx < min) min=xx;
+            if(xx > max) max=xx;
+         }
+
+         if(weighted) { xx *= wt;  W += wt; }
+         ave += (xx-ave)/T(n);
+         if(n > 1)
+            var = (var*T(n-2) + T(n)*(xx-ave)*(xx-ave)/T(n-1))/T(n-1);
+      }
+
+      /// add a Vector<T> of samples to the computation of statistics,
+      /// with optional weights
+      inline void Add(Vector<T>& X, Vector<T> w = Vector<T>())
+      {
+         if(w.size() > 0 && w.size() < X.size()) {
+            Exception e("Inconsistent input: weight vector short");
+            GPSTK_THROW(e);
+         }
+
+         size_t i;
+         if(w.size() > 0) 
+            for(i=0; i<X.size(); i++) Add(X(i),w(i));
+         else
+            for(i=0; i<X.size(); i++) Add(X(i));
+      }
+
+      /// remove a sample from the computation of statistics (can't do min and max).
+      void Subtract(T x)
+      {
+         T dn=T(n);
+         if(n > 2) var=(var*(dn-T(1))-dn*(x-ave)*(x-ave)/(dn-T(1)))/(dn-T(2));
+         else var=T();
+
+         if(n > 1) ave=(ave*dn-x)/(dn-T(1));
+         else if(n==1) ave=x;
+         else ave=T();
+
+         n--;
+      }
+
+      /// remove a Vector<T> of samples to the computation of statistics
+      inline void Subtract(Vector<T>& X)
+      {
+         for(size_t i=0; i<X.size(); i++) Subtract(X(i));
+      }
+
+      /// define private members directly; useful in continuing with an object
+      /// that was earlier saved (e.g. to a file).
+      void Load(unsigned int in_n, T in_min, T in_max, T in_ave, T in_var,
+                  bool wtd=false, T norm=1.0)
+      {
+         n = in_n;
+         min = in_min;
+         max = in_max;
+         var = in_var;
+         ave = in_ave;
+         weighted = wtd;
+         W = norm;
+      }
+      
+      /// combine two Stats (assumed taken from the same or equivalent samples);
+      /// both must be either weighted or unweighted.
+      Stats<T>& operator+=(const Stats<T>& S)
+      {
+         if(S.n == 0) return *this;
+         if(n==0) {
+            *this = S;
+            return *this;
+         }
+         if((weighted && !S.weighted) || (!weighted && S.weighted)) {
+            Exception e("Stats::operator+= : operands have inconsistent weighting");
+            GPSTK_THROW(e);
+         }
+
+         if(S.min < min) min=S.min;
+         if(S.max > max) max=S.max;
+
+         if(weighted) {
+            T W1 = W/n;
+            T W2 = S.W/S.n;
+            var  = W1*W1*((n-T(1))*var + n*ave*ave)
+                 + W2*W2*((S.n-T(1))*S.var + S.n*S.ave*S.ave);
+            var *= (n+S.n)/(W+S.W);
+            var *= (n+S.n)/(W+S.W);
+            W += S.W;
+         }
+         else {
+            var  = ((n-T(1))*var + n*ave*ave);
+            var += ((S.n-T(1))*S.var + S.n*S.ave*S.ave);
+         }
+         ave = (n*ave + S.n*S.ave)/(n+S.n);
+         n += S.n;
+         var -= n*ave*ave;
+         var /= (n-T(1));
+
+         return *this;
+
+      }  // end Stats operator+=
+
+      /// dump the data stored in the class
+
+   private:
+      /// Number of samples added to the statistics so far
+      unsigned int n;
+      /// Minimum value
+      T min;
+      /// Maximum value
+      T max;
+      /// Average value
+      T var;
+      /// Variance (square of the standard deviation)
+      T ave;
+      /// Normalization constant = sum weights
+      T W;
+      /// Flag weighted input; ALL input must be consistently weighted or not
+      bool weighted;
+   }; // end class Stats
+
+   /// Output operator for Stats class
+   template <class T>
+   std::ostream& operator<<(std::ostream& s, const Stats<T>& ST) 
+   {
+      std::ofstream savefmt;
+      savefmt.copyfmt(s);
+      s << " N       = " << ST.N() << (ST.Weighted() ? " ":" not") << " weighted\n";
+      s << " Minimum = "; s.copyfmt(savefmt); s << ST.Minimum();
+      s << " Maximum = "; s.copyfmt(savefmt); s << ST.Maximum() << "\n";
+      s << " Average = "; s.copyfmt(savefmt); s << ST.Average();
+      s << " Std Dev = "; s.copyfmt(savefmt); s << ST.StdDev();
+      return s;
+   }
+
+/** Conventional statistics for two samples.  Constructor does the same as
+ * Reset(); use this when starting a new series of input samples.
+ * Results are available at any time by calling N(), Minimum(), Maximum(),
+ * Average(), Variance() and StdDev().
+ */
+   template <class T>
+   class TwoSampleStats
+   {
+   public:
+      /// constructor
+      TwoSampleStats() { n=0; }
+
+      /// constructor given two Vector of data
+      TwoSampleStats(Vector<T>& X, Vector<T>& Y)
+      {
+         n = 0;
+         Add(X,Y);
+      }
+
+      /// Add data to the statistics
+      void Add(const T& X, const T& Y)
+      {
+         if(n == 0) {
+            sumx = sumy = sumx2 = sumy2 = sumxy = T();
+            xmin = xmax = X;
+            ymin = ymax = Y;
+            scalex = scaley = T(1);
+         }
+         if(scalex==T(1) && X!=T()) scalex=ABS(X);
+         if(scaley==T(1) && Y!=T()) scaley=ABS(Y);
+         sumx += X/scalex;
+         sumy += Y/scaley;
+         sumx2 += (X/scalex)*(X/scalex);
+         sumy2 += (Y/scaley)*(Y/scaley);
+         sumxy += (X/scalex)*(Y/scaley);
+         if(X < xmin) xmin=X;
+         if(X > xmax) xmax=X;
+         if(Y < ymin) ymin=Y;
+         if(Y > ymax) ymax=Y;
+         n++;
+      }
+
+      /// Add two Vectors of data to the statistics
+      void Add(const Vector<T>& X, const Vector<T>& Y)
+      {
+         size_t m = (X.size() < Y.size() ? X.size() : Y.size());
+         if(m==0) return;
+         for(size_t i=0; i<m; i++) Add(X(i),Y(i));
+      }
+
+      void Subtract(const T& X, const T& Y)
+      {
+         if(n == 1) {
+            sumx = sumy = sumx2 = sumy2 = sumxy = T();
+            xmin = xmax = T();
+            ymin = ymax = T();
+            scalex = scaley = T(1);
+            return;
+         }
+
+         sumx -= X/scalex;
+         sumy -= Y/scaley;
+         sumx2 -= (X/scalex)*(X/scalex);
+         sumy2 -= (Y/scaley)*(Y/scaley);
+         sumxy -= (X/scalex)*(Y/scaley);
+         n--;
+      }
+
+      void Subtract(const Vector<T>& X, const Vector<T>& Y)
+      {
+         size_t m=(X.size()<Y.size()?X.size():Y.size());
+         if(m==0) return;
+         for(size_t i=0; i<m; i++) Subtract(X(i),Y(i));
+      }
+
+      /// reset, i.e. ignore earlier data and restart sampling
+      inline void Reset(void) { n=0; }
+
+      /// return the sample size
+      inline unsigned int N(void) const { return n; }
+      /// return minimum X value
+      inline T MinimumX(void) const { if(n) return xmin; else return T(); }
+      /// return maximum X value
+      inline T MaximumX(void) const { if(n) return xmax; else return T(); }
+      /// return minimum Y value
+      inline T MinimumY(void) const { if(n) return ymin; else return T(); }
+      /// return maximum Y value
+      inline T MaximumY(void) const { if(n) return ymax; else return T(); }
+
+      /// return computed X average
+      inline T AverageX(void) const
+         { if(n>0) return (scalex*sumx/T(n)); else return T(); }
+
+      /// return computed Y average
+      inline T AverageY(void) const
+         { if(n>0) return (scaley*sumy/T(n)); else return T(); }
+
+      /// return computed X variance
+      inline T VarianceX(void) const
+      {
+         if(n>1) return scalex*scalex*(sumx2-sumx*sumx/T(n))/T(n-1);
+         else return T();
+      }
+
+      /// return computed Y variance
+      inline T VarianceY(void) const
+      {
+         if(n>1) return scaley*scaley*(sumy2-sumy*sumy/T(n))/T(n-1);
+         else return T();
+      }
+
+      /// return computed X standard deviation
+      inline T StdDevX(void) const { return SQRT(VarianceX()); }
+
+      /// return computed Y standard deviation
+      inline T StdDevY(void) const { return SQRT(VarianceY()); }
+
+      /// return slope of best-fit line Y=slope*X + intercept
+      inline T Slope(void) const
+      {
+         if(n>0)
+            return ((scaley/scalex)*(sumxy-sumx*sumy/T(n))/(sumx2-sumx*sumx/T(n)));
+         else
+            return T();
+      }
+
+      /// return intercept of best-fit line Y=slope*X + intercept
+      inline T Intercept(void) const
+      {
+         if(n>0)
+            return (AverageY()-Slope()*AverageX());
+         else
+            return T();
+      }
+
+      /// return uncertainty in slope
+      inline T SigmaSlope(void) const
+      {
+         if(n>2)
+            return (SigmaYX()/(StdDevX()*SQRT(T(n-1))));
+         else
+            return T();
+      }
+
+      /// return correlation
+      inline T Correlation(void) const
+      {
+         if(n>1)
+         {
+            return ( scalex * scaley * (sumxy-sumx*sumy/T(n))
+               / (StdDevX()*StdDevY()*T(n-1)) );
+         }
+         else
+            return T();
+      }
+
+      /// return conditional uncertainty = uncertainty y given x
+      inline T SigmaYX(void) const
+      {
+         if(n>2)
+         {
+            return (StdDevY() * SQRT(T(n-1)/T(n-2))
+                  * SQRT(T(1)-Correlation()*Correlation()) );
+         }
+         else return T();
+      }
+
+      /// combine two TwoSampleStats (assumed to be taken from the same or
+      /// equivalent samples)
+      TwoSampleStats<T>& operator+=(TwoSampleStats<T>& S)
+      {
+         if(n + S.n == 0) return *this;
+         if(S.xmin < xmin) xmin=S.xmin;
+         if(S.xmax > xmax) xmax=S.xmax;
+         if(S.ymin < ymin) ymin=S.ymin;
+         if(S.ymax > ymax) ymax=S.ymax;
+         sumx += S.scalex*S.sumx/scalex;
+         sumy += S.scaley*S.sumy/scaley;
+         sumx2 += (S.scalex/scalex)*(S.scalex/scalex)*S.sumx2;
+         sumy2 += (S.scaley/scaley)*(S.scaley/scaley)*S.sumy2;
+         sumxy += (S.scalex/scalex)*(S.scaley/scaley)*S.sumxy;
+         n += S.n;
+         return *this;
+      }  // end Stats operator+=
+
+   private:
+      /// Number of samples added to the statistics so far
+      unsigned int n;
+      T xmin, xmax, ymin, ymax, scalex, scaley;
+      T sumx, sumy, sumx2, sumy2, sumxy;
+
+   }; // end class TwoSampleStats
+
+   /// Output operator for TwoSampleStats class
+   template <class T>
+   std::ostream& operator<<(std::ostream& s, const TwoSampleStats<T>& TSS) 
+   {
+      std::ofstream savefmt;
+      savefmt.copyfmt(s);
+      s << " N       = " << TSS.N() << "\n";
+      s << " Minimum: X = "; s.copyfmt(savefmt); s << TSS.MinimumX();
+      s << "  Y = "; s.copyfmt(savefmt); s << TSS.MinimumY();
+      s << "  Maximum: X = "; s.copyfmt(savefmt); s << TSS.MaximumX();
+      s << "  Y = "; s.copyfmt(savefmt); s << TSS.MaximumY() << "\n";
+      s << " Average: X = "; s.copyfmt(savefmt); s << TSS.AverageX();
+      s << "  Y = "; s.copyfmt(savefmt); s << TSS.AverageY();
+      s << "  Std Dev: X = "; s.copyfmt(savefmt); s << TSS.StdDevX();
+      s << "  Y = "; s.copyfmt(savefmt); s << TSS.StdDevY() << "\n";
+      s << " Intercept = "; s.copyfmt(savefmt); s << TSS.Intercept();
+      s << "  Slope = "; s.copyfmt(savefmt); s << TSS.Slope();
+      s << " with uncertainty = "; s.copyfmt(savefmt); s << TSS.SigmaSlope() << "\n";
+      s << " Conditional uncertainty (sigma y given x) = ";
+      s.copyfmt(savefmt); s << TSS.SigmaYX();
+      s << "  Correlation = "; s.copyfmt(savefmt); s << TSS.Correlation() << "\n";
+      return s;
+   }
+
+   /** Compute the median of a vector */
+   template <class T>
+   inline T median(const Vector<T>& v)
+   {
+      if(v.size()==0) return T();
+      if(v.size()==1) return v(0);
+      if(v.size()==2) return (v(0)+v(1))/T(2);
+      // insert sort
+      size_t i,j;
+      T x;
+      Vector<T> w(v);
+      for(i=0; i<v.size(); i++) {
+         x = w[i] = v(i);
+         j = i-1;
+         while(j>=0 && x<w[j]) {
+            w[j+1] = w[j];
+            j--;
+         }
+         w[j+1] = x;
+      }
+      if(v.size() % 2)
+         x=w[(v.size()+1)/2-1];
+      else
+         x=(w[v.size()/2-1]+w[v.size()/2])/T(2);
+      delete[] w;
+      return x;
+   }  // end median(Vector)
+
+   //@}
+
+}  // namespace
+
+#endif
diff --git a/trunk/src/StringUtils.hpp b/trunk/src/StringUtils.hpp
new file mode 100644
index 0000000..fb5da0d
--- /dev/null
+++ b/trunk/src/StringUtils.hpp
@@ -0,0 +1,2566 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/StringUtils.hpp#4 $"
+
+/**
+ * @file StringUtils.hpp
+ * StringUtils namespace and GPSTK string utility functions
+ */
+
+#ifndef GPSTK_STRINGUTILS_HPP
+#define GPSTK_STRINGUTILS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <string>
+#include <sstream>
+#include <iomanip>
+#include <iostream>
+#include <list>
+
+/// @todo Get rid of the stdio.h dependency if possible.
+#include <cstdio>
+
+#include <regex.h>
+#include <cctype>
+
+#include "Exception.hpp"
+
+namespace gpstk
+{
+      /**
+       * Stuff to make the C++ string class a little easier to use.  All the
+       * functionality here is inlined since they are farily small
+       * functions.
+       *
+       * All functions here will throw gpstk::StringUtils::StringException 
+       * on an error. Any std::exception is converted to a 
+       * gpstk::StringUtils::StringException so
+       * that's the only exception a user of this class needs to catch.
+       *
+       * For any function that modifies a string, make sure there is a
+       * non-const (std::string&) version and a const (const std::string&)
+       * version. The convention for writing the functions is the non-const
+       * version fully implements the function and the const version calls
+       * the non-const version.
+       *
+       * @sa stringutiltest.cpp for some examples.
+       */
+   namespace StringUtils
+   {
+         /** @defgroup stringutilsgroup Text String Manipulation Tools */
+         //@{
+
+         /// This is thrown instread of a std::exception when a
+         /// gpstk::StringUtils function fails.
+         /// @ingroup exceptiongroup
+      NEW_EXCEPTION_CLASS(StringException, Exception);
+
+         /// Class for configuring the appearance of hexDumpData() output
+      class HexDumpDataConfig
+      {
+      public:
+         HexDumpDataConfig()
+               : showIndex(true), hexIndex(true), upperHex(false),
+                 idxDigits(4), indexWS(1), groupBy(1), groupWS(1),
+                 group2By(8), group2WS(2), bytesPerLine(16), showText(true),
+                 separator(0), textWS(4)
+         {}
+         HexDumpDataConfig(bool ashowIndex, bool ahexIndex, bool aupperHex,
+                           unsigned aidxDigits, unsigned aindexWS,
+                           unsigned agroupBy, unsigned agroupWS,
+                           unsigned agroup2By, unsigned agroup2WS,
+                           unsigned abytesPerLine, bool ashowText,
+                           char aseparator, unsigned atextWS)
+               : showIndex(ashowIndex), hexIndex(ahexIndex),
+                 upperHex(aupperHex), idxDigits(aidxDigits),
+                 indexWS(aindexWS), groupBy(agroupBy), groupWS(agroupWS),
+                 group2By(agroup2By), group2WS(agroup2WS),
+                 bytesPerLine(abytesPerLine), showText(ashowText),
+                 separator(aseparator), textWS(atextWS)
+         {}
+         bool showIndex; ///< display index into string on each line.
+         bool hexIndex; ///< if true, use hex index numbers (else decimal).
+         bool upperHex; ///< if true, use upper-case hex digits.
+         unsigned idxDigits; ///< number of positions to use for index.
+         unsigned indexWS; ///< number of whitespace charaters between index and data.
+         unsigned groupBy; ///< number of bytes of data to show between spaces.
+         unsigned groupWS; ///< number of whitespace charaters between groups of hex data.
+         unsigned group2By; ///< number of groups to show per 2nd layer group (0=none, must be multiple of groupBy).
+         unsigned group2WS; ///< number of whitespace charaters between 2nd layer groups.
+         unsigned bytesPerLine; ///< number of bytes to display on a line of output (must be evenly divisible by both groupBy and group2By).
+         bool showText; ///< if true, show text of message (unprintable characters become '.'.
+         char separator; ///< character to offset text with (0 = none).
+         unsigned textWS; ///< number of whitespace characters between hex and text.
+      };
+
+         /**
+          * Perform a formatted hex-dump of the (potentially) binary
+          * data to the given stream.
+          * @param s stream to dump data to.
+          * @param data data to hex-dump.
+          * @param indent indents the string by that many spaces.
+          * @param cfg formatting configuration.
+          */
+      inline void hexDumpData(std::ostream& s, const std::string& data,
+                              unsigned indent = 0,
+                              HexDumpDataConfig cfg = HexDumpDataConfig());
+
+         /**
+          * Perform a formatted hex-dump of the (potentially) binary
+          * data to the given stream.
+          * @param s stream to dump data to.
+          * @param data data to hex-dump.
+          * @param tag string to put at the beginning of each line of output.
+          * @param cfg formatting configuration.
+          */
+      inline void hexDumpData(std::ostream& s, const std::string& data,
+                              const std::string& tag,
+                              HexDumpDataConfig cfg = HexDumpDataConfig());
+
+         /**
+          * Remove a string from the beginning of another string.
+          * Occurrences of the string \a aString appearing
+          * at the beginning of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param aString string to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline 
+      std::string& stripLeading(std::string& s,
+                                const std::string& aString,
+                                std::string::size_type num = std::string::npos)
+         throw(StringException);
+
+         /**
+          * Remove a string from the beginning of another string const version.
+          * Occurrences of the string \a aString appearing
+          * at the beginning of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param aString string to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string stripLeading(const std::string& s,
+                                  const std::string& aString,
+                                  std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { std::string t(s); stripLeading(t, aString, num); return t; }
+
+         /**
+          * Remove a string from the beginning of another string.
+          * Occurrences of the string \a pString appearing
+          * at the beginning of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param pString string to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string& stripLeading(std::string& s, 
+                                  const char* pString,
+                                  std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { return stripLeading(s, std::string(pString), num); }
+
+         /**
+          * Remove a string from the beginning of another string const version.
+          * Occurrences of the string \a pString appearing
+          * at the beginning of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param pString string to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string stripLeading(const std::string& s, 
+                                  const char* pString,
+                                  std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { std::string t(s); stripLeading(t, std::string(pString), num); return t; }
+
+         /**
+          * Strip character(s) from the beginning of a string.
+          * Occurrences of the character \a aCharacter appearing
+          * at the beginning of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param aCharacter character to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string& stripLeading(std::string& s, 
+                                  const char aCharacter,
+                                  std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { return stripLeading(s, std::string(1,aCharacter), num); }
+     
+         /**
+          * Strip character(s) from the beginning of a string const version.
+          * Occurrences of the character \a aCharacter appearing
+          * at the beginning of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param aCharacter character to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string stripLeading(const std::string& s, 
+                                  const char aCharacter,
+                                  std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { std::string t(s); stripLeading(t, std::string(1,aCharacter), num); return t; }
+     
+         /**
+          * Strip blanks from the beginning of a string.
+          * Occurrences of the space character appearing
+          * at the beginning of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string& stripLeading(std::string& s, 
+                                  std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { return stripLeading(s,std::string(1,' '),num); }
+
+         /**
+          * Strip blanks from the beginning of a string const version.
+          * Occurrences of the space character appearing
+          * at the beginning of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string stripLeading(const std::string& s, 
+                                  std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { std::string t(s); stripLeading(t,std::string(1,' '),num); return t; }
+     
+         /**
+          * Remove a string from the end of another string.
+          * Occurrences of the string \a aString appearing
+          * at the end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param aString string to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string& stripTrailing(std::string& s,
+                                   const std::string& aString,
+                                   std::string::size_type num = std::string::npos)
+         throw(StringException);
+
+         /**
+          * Remove a string from the end of another string const version.
+          * Occurrences of the string \a aString appearing
+          * at the end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param aString string to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string stripTrailing(const std::string& s,
+                                   const std::string& aString,
+                                   std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { std::string t(s); stripTrailing(t, aString, num); return t;}
+
+         /**
+          * Remove a string from the end of another string.
+          * Occurrences of the string \a pString appearing
+          * at the end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param pString string to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string& stripTrailing(std::string& s, 
+               const char* pString, 
+                                   std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { return stripTrailing(s, std::string(pString), num); }
+
+         /**
+          * Remove a string from the end of another string const version.
+          * Occurrences of the string \a pString appearing
+          * at the end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param pString string to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string stripTrailing(const std::string& s, 
+               const char* pString, 
+                                   std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { std::string t(s); stripTrailing(t, std::string(pString), num); return t; }
+
+         /**
+          * Strip character(s) from the end of a string.
+          * Occurrences of the character \a aCharacter appearing
+          * at the end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param aCharacter character to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string& stripTrailing(std::string& s, 
+                                   const char aCharacter,
+                                   std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { return stripTrailing(s, std::string(1,aCharacter), num); }
+
+         /**
+          * Strip character(s) from the end of a string const version.
+          * Occurrences of the character \a aCharacter appearing
+          * at the end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param aCharacter character to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string stripTrailing(const std::string& s, 
+                                   const char aCharacter,
+                                   std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { std::string t(s); stripTrailing(t, std::string(1,aCharacter), num); return t; }
+
+         /**
+          * Strip blanks from the end of a string.
+          * Occurrences of the space character appearing
+          * at the end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string& stripTrailing(std::string& s, 
+                                   std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { return stripTrailing(s, std::string(1,' '), num); }
+
+         /**
+          * Strip blanks from the end of a string const version.
+          * Occurrences of the space character appearing
+          * at the end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string stripTrailing(const std::string& s, 
+                                   std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { std::string t(s); stripTrailing(t, std::string(1,' '), num); return t;}
+
+         /**
+          * Remove a string from the beginning and end of another string.
+          * Occurrences of the string \a aString appearing
+          * at the beginning and end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param aString string to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string& strip(std::string& s, 
+            const std::string& aString, 
+                           std::string::size_type num = std::string::npos)
+         throw(StringException);
+
+
+         /**
+          * Remove a string from the beginning and end of another string const version.
+          * Occurrences of the string \a aString appearing
+          * at the beginning and end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param aString string to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string strip(const std::string& s, 
+            const std::string& aString, 
+                           std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { std::string t(s);  strip(t, aString, num); return t; }
+
+
+         /**
+          * Remove a string from the beginning and end of another string.
+          * Occurrences of the string \a pString appearing
+          * at the beginning and end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param pString string to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string& strip(std::string& s, 
+            const char* pString,
+                           std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { return strip(s, std::string(pString), num); }
+
+         /**
+          * Remove a string from the beginning and end of another string cosnt version.
+          * Occurrences of the string \a pString appearing
+          * at the beginning and end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param pString string to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string strip(const std::string& s, 
+            const char* pString,
+                           std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { std::string t(s); strip(t, std::string(pString), num); return t; }
+
+         /**
+          * Strip character(s) from the beginning and end of a string.
+          * Occurrences of the character \a aCharacter appearing
+          * at the beginning and end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param aCharacter character to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string& strip(std::string& s, 
+            const char aCharacter,
+                           std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { return strip(s, std::string(1,aCharacter), num); }
+
+         /**
+          * Strip character(s) from the beginning and end of a string const version.
+          * Occurrences of the character \a aCharacter appearing
+          * at the beginning and end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param aCharacter character to remove.
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string strip(const std::string& s, 
+            const char aCharacter,
+                           std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { std::string t(s);  strip(t, std::string(1,aCharacter), num); return t;}
+
+         /**
+          * Strip blanks from the beginning and end of a string.
+          * Occurrences of the space character appearing
+          * at the beginning and end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string& strip(std::string& s, 
+                           std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { return strip(s, std::string(1, ' '), num); }
+
+         /**
+          * Strip blanks from the beginning and end of a string const version.
+          * Occurrences of the space character appearing
+          * at the beginning and end of the string \a s are removed.
+          * @param s string to be stripped (modified).
+          * @param num maximum number of occurrences to remove.
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string strip(const std::string& s, 
+                           std::string::size_type num = std::string::npos)
+         throw(StringException)
+      { std::string t(s);  strip(t, std::string(1, ' '), num); return t;}
+
+         /**
+          * Converts all of the receiver's characters that are in the
+          * first specified string to the corresponding character in
+          * the second specified string.
+          * @param aString string to perform translation on.
+          * @param inputChars characters in \a aString to translate from.
+          * @param outputChars characters to translate to.
+          * @param pad pad character in the event inputChars and
+          * outputChars are not equal length.  The pad character will
+          * become the translated character.
+          */
+      inline std::string translate(const std::string& aString,
+                              const std::string& inputChars,
+                              const std::string& outputChars,
+                              const char pad = ' ');
+
+         /**
+          * Changes occurrences of a specified pattern to a specified
+          * replacement string.  You can specify the number of changes
+          * to perform.  The default is to change all occurrences of
+          * the pattern. You can also specify the position in the
+          * receiver at which to begin.
+          * @param aString string to perform translation on.
+          * @param inputString The pattern string as a reference to an
+          *   object of type string.  The library searches for the
+          *   pattern string within the receiver's data.
+          * @param outputString The replacement string as a reference
+          *   to an object of type string. It replaces the occurrences
+          *   of the pattern string in the receiver's data.
+          * @param startPos The position to start the search at within
+          *   the receiver's data.  The default is 0.
+          * @param numChanges the number of patterns to search for and
+          *   change.  The default is to change all occurrences of the
+          *   pattern.
+          */
+      inline std::string change(const std::string& aString,
+                                const std::string& inputString,
+                                const std::string& outputString,
+                                std::string::size_type startPos = 0,
+                                unsigned numChanges = (unsigned)-1);
+
+         /**
+          * Changes occurrences of a specified pattern to a specified
+          * replacement string.  You can specify the number of changes
+          * to perform.  The default is to change all occurrences of
+          * the pattern. You can also specify the position in the
+          * receiver at which to begin.
+          * @param aString string to perform translation on.
+          * @param inputString The pattern string as a reference to an
+          *   object of type string.  The library searches for the
+          *   pattern string within the receiver's data.
+          * @param outputString The replacement string as a reference
+          *   to an object of type string. It replaces the occurrences
+          *   of the pattern string in the receiver's data.
+          * @param startPos The position to start the search at within
+          *   the receiver's data.  The default is 0.
+          * @param numChanges the number of patterns to search for and
+          *   change.  The default is to change all occurrences of the
+          *   pattern.
+          */
+      inline std::string& change(std::string& aString,
+                                 const std::string& inputString,
+                                 const std::string& outputString,
+                                 std::string::size_type startPos = 0,
+                                 unsigned numChanges = (unsigned)-1);
+
+         /**
+          * Right-justifies the receiver in a string of the specified
+          * length. If the receiver's data is shorter than the
+          * requested length (\a length), it is padded on the left with
+          * the pad character (\a pad). The default pad
+          * character is a blank.
+          * @param s string to be modified.
+          * @param length new desired length of string.
+          * @param pad character to pad string with (blank by default).
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.  */
+      inline std::string& rightJustify(std::string& s, 
+                                  const std::string::size_type length, 
+                                  const char pad = ' ')
+         throw(StringException);
+
+         /**
+          * Right-justifies the receiver in a string of the specified
+          * length (const version). If the receiver's data is shorter than the
+          * requested length (\a length), it is padded on the left with
+          * the pad character (\a pad). The default pad
+          * character is a blank.
+          * @param s string to be modified.
+          * @param length new desired length of string.
+          * @param pad character to pad string with (blank by default).
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.  */
+      inline std::string rightJustify(const std::string& s, 
+                                 const std::string::size_type length, 
+                                 const char pad = ' ')
+         throw(StringException)
+      { std::string t(s); return rightJustify(t, length, pad); }
+
+         /**
+          * Left-justifies the receiver in a string of the specified
+          * length. If the new length (\a length) is larger than the
+          * current length, the string is extended by the pad
+          * character (\a pad). The default pad character is a
+          * blank.
+          * @param s string to be modified.
+          * @param length new desired length of string.
+          * @param pad character to pad string with (blank by default).
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.  */
+      inline std::string& leftJustify(std::string& s,
+                                 const std::string::size_type length,
+                                 const char pad = ' ')
+         throw(StringException);
+
+         /**
+          * Left-justifies the receiver in a string of the specified
+          * length (const version). If the new length (\a length) is larger
+          * than the current length, the string is extended by the pad
+          * character (\a pad). The default pad character is a
+          * blank.
+          * @param s string to be modified.
+          * @param length new desired length of string.
+          * @param pad character to pad string with (blank by default).
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.  */
+      inline std::string leftJustify(const std::string& s,
+                                const std::string::size_type length,
+                                const char pad = ' ')
+         throw(StringException)
+      { std::string t(s); return leftJustify(t, length, pad); }
+     
+         /**
+          * Change the length of a string by adding to the beginning and end.
+          * The string \a s is modified to the specified
+          * length.  If the string is shorter than
+          * \a length, then the string is truncated with the
+          * left-most \a length characters remaining.
+          * Otherwise, characters are added to the beginning and end of the
+          * string until the string is the specified length, where the
+          * number of characters added to the beginning and the end
+          * does not differ by more than one so the original string
+          * is centered.
+          * @param s string to be modified.
+          * @param length new desired length of string.
+          * @param pad character to pad string with (blank by default).
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string& center(std::string& s,
+             const std::string::size_type length,
+             const char pad = ' ')
+         throw(StringException);
+
+         /**
+          * Change the length of a string by adding to the beginning and end
+          * (const version).
+          * The string \a s is modified to the specified
+          * length.  If the string is shorter than
+          * \a length, then the string is truncated with the
+          * left-most \a length characters remaining.
+          * Otherwise, characters are added to the beginning and end of the
+          * string until the string is the specified length, where the
+          * number of characters added to the beginning and the end
+          * does not differ by more than one so the original string
+          * is centered.
+          * @param s string to be modified.
+          * @param length new desired length of string.
+          * @param pad character to pad string with (blank by default).
+          * @throws StringException if there's a std::exception thrown.
+          * @return a reference to \a s.
+          */
+      inline std::string center(const std::string& s,
+                           const std::string::size_type length,
+                           const char pad = ' ')
+         throw(StringException)
+      { std::string t(s); return center(t, length, pad); }
+
+         /**
+          * Convert a string to a double precision floating point number.
+          * @param s string containing a number.
+          * @return double representation of string.
+          */
+      inline double asDouble(const std::string& s)
+      { return strtod(s.c_str(), 0); }
+     
+         /**
+          * Convert a string to an integer.
+          * @param s string containing a number.
+          * @return long integer representation of string.
+          */
+      inline long asInt(const std::string& s)
+      { return strtol(s.c_str(), 0, 10); }
+     
+         /**
+          * Convert a string to an unsigned integer.
+          * @param s string containing a number.
+          * @return unsigned long integer representation of string.
+          */
+      inline unsigned long asUnsigned(const std::string& s)
+      { return strtoul(s.c_str(), 0, 10); }
+     
+         /**
+          * Convert a string to a single precision floating point number.
+          * @param s string containing a number.
+          * @return single representation of string.
+          */
+      inline float asFloat(const std::string& s)
+         throw(StringException);
+
+         /**
+          * Convert a string to a big precision floating point number.
+          * @param s string containing a number.
+          * @return long double representation of string.
+          */
+      inline long double asLongDouble(const std::string& s)
+         throw(StringException);
+     
+         /**
+          * Convert a value in a string to a type specified by the template
+          * class.  The template class type must have stream operators
+          * defined.
+          * @param x object to turn into the templatized type.
+          * @return the template object of \a x.
+          */
+      template <class X>
+      inline X asData(const std::string& s)
+         throw(StringException);
+
+         /**
+          * Convert a long double to a string in fixed notation.
+          * @param x long double.
+          * @param precision the number of decimal places you want displayed.
+          * @return string representation of \a x.
+          */
+      inline std::string asString(const long double x, 
+                             const std::string::size_type precision = 21);
+     
+         /**
+          * Convert a double to a string in fixed notation.
+          * @param x double.
+          * @param precision the number of decimal places you want displayed.
+          * @return string representation of \a x.
+          */
+      inline std::string asString(const double x, 
+                             const std::string::size_type precision = 17);
+     
+         /**
+          * Convert any old object to a string.
+          * The class must have stream operators defined.
+          * @param x object to turn into a string.
+          * @return string representation of \a x.
+          */
+      template <class X>
+      inline std::string asString(const X x);
+     
+         /**
+          * Convert a decimal string to a hexadecimal string.
+          * Modify the string such that the decimal integer is now
+          * represented as hexadecimal.  Only the first decimal encountered is
+          * changed; the rest of the string is unmodified.
+          * @param s string containing an integer.
+          * @return reference to modified \a s.
+          */
+      inline std::string& d2x(std::string& s)
+         throw(StringException);
+     
+         /**
+          * Convert a decimal string to a hexadecimal string.
+          * Given a string containing a decimal integer, convert the
+          * integer from base 10 to base 16 and return the result.  No
+          * prefix is added.  Only the first decimal encountered is
+          * changed; the rest of the string is unmodified.
+          * @param s string containing an integer.
+          * @return string containing a hexadecimal number.
+          */
+      inline std::string d2x(const std::string& s)
+         throw(StringException)
+      { std::string t(s);  return d2x(t); }
+     
+         /**
+          * Convert a hexadecimal string to a decimal string.
+          * Modify the string such that the hexadecimal number is now
+          * represented as decimal.  Only the first hex number encountered
+          * is changed; the rest of the string is unmodified.
+          * @param s string containing an integer.
+          * @return reference to modified \a s.
+          */
+      inline std::string& x2d(std::string& s)
+         throw(StringException);
+     
+         /**
+          * Convert a hexadecimal string to a decimal string.
+          * Given a string containing a hexadecimal number, convert the
+          * integer from base 16 to base 10 and return the result.
+          * Only the first hex number encountered
+          * is changed; the rest of the string is unmodified.
+          * @param s string containing an integer.
+          * @return string containing a hexadecimal number.
+          */
+      inline std::string x2d(const std::string& s)
+         throw(StringException)
+      { std::string t(s);  return x2d(t); }
+     
+         /**
+          * Convert a character string to a hexadecimal string.
+          * Modify the string such that the character string is now
+          * represented as series of hexadecimal digits.
+          * @param s string to convert.
+          * @return reference to modified \a s.
+          */
+      inline std::string& c2x(std::string& s)
+         throw(StringException);
+
+         /**
+          * Convert a character string to a hexadecimal string.
+          * @param s string containing an integer.
+          * @return string containing a sequence of hexadecimal numbers.
+          */
+      inline std::string c2x(const std::string& s)
+         throw(StringException)
+      { std::string t(s);  return c2x(t); }
+
+         /**
+          * Convert a hexadecimal string to an int.
+          * Only the first hex number encountered is converted.
+          * @param s string containing a hex integer.
+          * @return a long holding the value of \a s.
+          */
+      inline unsigned int x2int(const std::string& s)
+         throw(StringException);
+
+
+         /**
+          * Convert an int to a string.
+          * @param i the integer to convert
+          * @return a string with the hex equivalent of i
+          */
+      inline std::string int2x(const unsigned int& i)
+         throw(StringException);
+
+         /**
+          * Replace all instances of \a oldString with \a newString in \a s.
+          * @param s the string whose contents will be modified.
+          * @param oldString the string to search for in \a s.
+          * @param newString the string to replace \a oldString in \a s.
+          * @return a reference to the modified string.
+          */
+      inline std::string& replaceAll(std::string& s, 
+                                const std::string& oldString, 
+                                const std::string& newString )
+         throw(StringException);
+
+         /**
+          * isDigitString is exactly like the C function isDigit
+          * except it checks all the characters of string \a s to see if
+          * they are all digits.
+          * @param s the string to check the digits in.
+          * @return true if \a s is all digits, false otherwise.
+          */
+      inline bool isDigitString(const std::string& s);
+
+         /**
+          * isDecimalString is like isDigitString() except it allows a
+          * single period ('.') character in the string.
+          * @param s the string to check.
+          * @return true if \a s is a valid fixed-point number.
+          */
+      inline bool isDecimalString(const std::string& s);
+
+         /**
+          * isAlphaString is exactly like the C function isAlpha
+          * except it checks all the characters of string \a s to see if
+          * they are all alphabet characters.
+          * @param s the string to check the characters in.
+          * @return true if \a s is all digits, false otherwise.
+          */
+      inline bool isAlphaString(const std::string& s);
+
+         /**
+          * Perform pattern matching on strings.
+          * Looks for a pattern in a string.  Wildcards are allowed.
+          * Uses POSIX regular expressions.
+          * @param s string to search.
+          * @param aPattern pattern to search for. This is a POSIX
+          * regular expression.
+          * @param zeroOrMore character representing wildcards
+          * matching strings of zero or more characters (default '*').
+          * @param oneOrMore character representing plus sign
+          * matching strings of one or more characters (default '+').
+          * @param anyChar character representing wildcards matching a
+          * single arbitrary character (default '.').
+          * @return string representing the first match of \a aPattern in
+          * \a s.  Returns a null string if no match is found.
+          */
+      inline std::string matches(const std::string& s,
+                            const std::string& aPattern,
+                            const char zeroOrMore = '*',
+                            const char oneOrMore = '+',
+                            const char anyChar = '.' )
+         throw(StringException);
+
+         /**
+          * Perform pattern matching on strings.
+          * Looks for a pattern in a string.  Wildcards are allowed.
+          * Uses POSIX regular expressions.
+          * @param s string to search.
+          * @param aPattern pattern to search for. This is a POSIX
+          * regular expression.
+          * @param zeroOrMore character representing wildcards
+          * matching strings of zero or more characters (default '*').
+          * @param oneOrMore character representing plus sign
+          * matching strings of one or more characters (default '+').
+          * @param anyChar character representing wildcards matching a
+          * single arbitrary character (default '.').
+          * @return t if a match is found, f if not.
+          */
+      inline bool isLike(const std::string& s, 
+                         const std::string& aPattern,
+                         const char zeroOrMore = '*', 
+                         const char oneOrMore = '+',
+                         const char anyChar = '.' )
+         throw(StringException)
+      { return matches(s, aPattern, zeroOrMore, oneOrMore, anyChar) !=
+           std::string(); }
+
+
+         /**
+          * Perform pattern matching on strings.
+          * Looks for a pattern in a string.  Wildcards are allowed.
+          * Uses POSIX regular expressions.
+          * @param s string to search.
+          * @param pPattern pattern to search for. This is a POSIX
+          * regular expression.
+          * @param zeroOrMore character representing wildcards
+          * matching strings of zero or more characters (default '*').
+          * @param oneOrMore character representing plus sign
+          * matching strings of one or more characters (default '+').
+          * @param anyChar character representing wildcards matching a
+          * single arbitrary character (default '.').
+          * @return t if a match is found, f if not.
+          */
+      inline bool isLike(const std::string& s, 
+                         const char* pPattern,
+                         const char zeroOrMore = '*', 
+                         const char oneOrMore = '+',
+                         const char anyChar = '.' )
+         throw(StringException)
+      { return matches(s, std::string(pPattern), zeroOrMore, oneOrMore, anyChar) != 
+           std::string(); }
+     
+     
+         /**
+          * Work-horse method for printf.  Substitutes patterns
+          * matching \a pat with \a rep.  Use only one pattern/token
+          * at a time!  This used to be DayTime::iprint().
+          * @param fmt format to use for this time.
+          * @param pat regular expression pattern to match.
+          * @param rep sprintf token replacement.  First character is
+          * token character used in fmt, remainder is sprintf token to
+          * use.  For example, with fmt="%15S", pat="%[ 0-]?[[:digit:]]*S",
+          * and rep="Sd", the fmt will be translated to "%15d" before
+          * using it in a sprintf call like printf("%15d"), \a to.
+          * @param to the value to stuff into the string.
+          * @return \a fmt with \a pat replaced by \a to.  If there is no
+          * match, \a fmt is returned unchanged.
+          */
+      template <class T>
+      std::string formattedPrint(const std::string& fmt, 
+                            const std::string& pat,
+                            const std::string& rep, 
+                            T to)
+         throw(StringException);
+
+         /**
+          * Get a substring of a string.
+          * Try to avoid using this, use the stl string's substr
+          * method instead (and ::leftJustify if needed).
+          */
+      inline std::string subString(const std::string& s, 
+                              const std::string::size_type startPos = 0,
+                              const std::string::size_type length = std::string::npos,
+                              const char pad = ' ' )
+         throw(StringException);
+     
+         /**
+          * Change all upper-case letters in a string to lower-case.
+          * \a s is modified as a result.
+          * @param s string to change to lower case.
+          * @return a copy of the original string, all in lower-case.
+          */
+      inline std::string& lowerCase(std::string& s);
+
+         /**
+          * Change all upper-case letters in a string to lower-case.
+          * Does not modify the original string.
+          * @param s a string containing upper-case characters.
+          * @return a copy of the original string, all in lower-case.
+          */
+      inline std::string lowerCase(const std::string& s)
+      { std::string t(s);  return lowerCase(t); }
+
+         /**
+          * Change all lower-case letters in a string to upper-case.
+          * \a s is modified as a result.
+          * @param s string to change to upper case.
+          * @return a copy of the original string, all in upper-case.
+          */
+      inline std::string& upperCase(std::string& s);
+
+         /**
+          * Change all lower-case letters in a string to upper-case.
+          * Does not modify the original string.
+          * @param s a string containing lower-case characters.
+          * @return a copy of the original string, all in upper-case.
+          */
+      inline std::string upperCase(const std::string& s)
+      { std::string t(s);  return upperCase(t); }
+
+         /**
+          * Make a string from a void pointer.
+          * This function should not be used.  Instead, use the string
+          * constructor as follows:
+          * \code string((char*)p, size); \endcode
+          * @param p pointer to memory.
+          * @param size length of the data to turn into a string.
+          * @return string object containing the contents of \a p.
+          */
+      inline std::string memToString(const void* p, 
+                                const std::string::size_type size);
+     
+         /**
+          * Returns the first word in string \a s without modifying the string.
+          * @param s the string to count the words from.
+          * @param delimiter the character that marks the start and 
+          * end of a word.
+          * @return the first word from \a s;
+          */
+      inline std::string firstWord(const std::string& s, 
+                              const char delimiter = ' ')
+         throw(StringException);
+     
+         /**
+          * Counts the number of words in \a s and returns it.
+          * @param s the string to count the words from.
+          * @param delimiter the character that marks the start and
+          * end of a word.
+          * @return the number of words in \a s.
+          */
+      inline int numWords(const std::string& s, 
+                          const char delimiter = ' ')
+         throw(StringException);
+     
+         /**
+          * Returns \a numWords words starting with \a firstWord from
+          * \a s (if any).
+          * @param s a string with the word you want removed.
+          * @param firstWord the number of the first word you want from \a s.
+          * The first word is word 0.
+          * @param numWords number of words to get from \a s.
+          * @param delimiter the character that marks the start and
+          * end of a word.
+          * @return the first word from \a s or an empty string if there is
+          * no \a wordNum'th word.
+          */
+      inline std::string words(const std::string& s, 
+                          const std::string::size_type firstWord = 0,
+                          const std::string::size_type numWords = std::string::npos,
+                          const char delimiter = ' ')
+         throw(StringException);
+     
+         /**
+          * Returns word number \a wordNum from \a s (if any).
+          * @param s a string with the word you want removed.
+          * @param wordNum the number of the word you want from \a s.
+          * The first word is word 0.
+          * @param delimiter the character that marks the start and
+          * end of a word.
+          * @return the first word from \a s or an empty string if there is
+          * no \a wordNum'th word.
+          */
+      inline std::string word(const std::string& s, 
+                         const std::string::size_type wordNum = 0,
+                         const char delimiter = ' ')
+         throw(StringException)
+      { return words(s, wordNum, 1, delimiter); }
+     
+         /**
+          * Removes the first word off string \a s and returns it.
+          * \a s is modified as a result.
+          * @param s a string with the word you want removed.
+          * @param delimiter the character that marks the start and
+          * end of a word.
+          * @return the first word from \a s
+          */
+      inline std::string stripFirstWord(std::string& s, 
+                                   const char delimiter = ' ')
+         throw(StringException);
+     
+         /**
+          * Removes indicated words from the string \a s.
+          * \a s is modified as a result.
+          * @param s a string with the words you want removed.
+          * @param first the first word to be removed (the first word is 0).
+          * @param wordsToReplace the number of words you want removed.
+          * @param delimiter the character that marks the start and
+          * end of a word.
+          * @return a reference to string \a s with the words removed.
+          */
+      inline std::string& removeWords(std::string& s, 
+                                 const std::string::size_type first = 0, 
+                                 const std::string::size_type wordsToReplace = std::string::npos,
+                                 const char delimiter = ' ')
+         throw(StringException);
+
+         /**
+          * Convert a double to a scientific notation number.
+          * @param d the double to convert
+          * @param length length (in characters) of output, including exponent
+          * @param expLen length (in characters) of the exponent, with sign
+          * @param showSign if true, reserves 1 character for +/- sign
+          */
+      inline std::string doub2sci(const double& d, 
+                             const std::string::size_type length, 
+                             const std::string::size_type expLen,
+                             const bool showSign = true);
+
+         /**
+          * Convert scientific notation to FORTRAN notation.
+          * As an example, the string "1.5636E5" becomes " .15636D6".
+          * Note that the first character of the string will be '-' if
+          * the number is negative or ' ' if the first character is positive.
+          * @param aStr string with number to convert
+          * @param length length (in characters) of number, including exponent.
+          * @param expLen length (in characters of exponent, not including sign.
+          * @param startPos start position of number in string
+          * @throws Exception if the string is not a number in
+          * scientific notation
+          */
+      inline std::string& sci2for(std::string& aStr, 
+                             const std::string::size_type length, 
+                             const std::string::size_type startPos = 0,
+                             const std::string::size_type expLen = 3)
+         throw(StringException);
+
+         /**
+          * Convert double precision floating point to a string
+          * containing the number in FORTRAN notation.
+          * As an example, the number 156360 becomes ".15636D6".
+          * @param d number to convert.
+          * @param length length (in characters) of number, including exponent.
+          * @param expLen length (in characters of exponent, including sign.
+          * @return a string containing \a d in FORTRAN notation.
+          */
+      inline std::string doub2for(const double& d, 
+                             const std::string::size_type length, 
+                             const std::string::size_type expLen)
+         throw(StringException);
+
+         /**
+          * Convert FORTRAN representation of a double precision
+          * floating point in a string to a number.
+          * As an example, the number ".15636D6" becomes 156360.
+          * @param aStr string containing FORTRAN representation of number.
+          * @param length length (in characters) of number, including exponent.
+          * @param startPos beginning of number in string.
+          * @return value of the number.
+          */
+      inline double for2doub(const std::string& aStr, 
+                             const std::string::size_type length,
+                             const std::string::size_type startPos = 0);
+      
+         /**
+          * Change a string into printable characters.  Control
+          * characters (0-26) are changed to ^@, ^A, etc.  Other
+          * non-printable characters are changed to hex sequences
+          * enclosed in <>.
+          * @param aStr the string to make printable.
+          */
+      inline std::string printable(const std::string& aStr)
+         throw(StringException);
+
+         /**
+          * Nicely expands the input string into several lines, non-const
+          * version.
+          * @param aStr the string to be modified.
+          * @param lineDelim a string to put between every line.
+          * @param indent an indentataion string used on all but the first line
+          * @param firstIndent is the indentation used on the first line.
+          * @param len the maximum length of string to put on a line.
+          * @param wordDelim the character that separates each word.
+          * @return the string nicely formatted.
+          */
+      inline std::string& prettyPrint(std::string& aStr,
+                                      const std::string& lineDelim = "\n",
+                                      const std::string& indent = "",
+                                      const std::string& firstIndent = "     ",
+                                      const std::string::size_type len = 80,
+                                      const char wordDelim = ' ')
+         throw(StringException);
+
+         /**
+          * Const version of prettyPrint, which nicely expands the 
+          * input string into several lines.
+          * @param aStr the string to be modified.
+          * @param lineDelim a string to put between every line.
+          * @param indent an indentataion string used on all but the first line
+          * @param firstIndent is the indentation used on the first line.
+          * @param len the maximum length of string to put on a line.
+          * @param wordDelim the character that separates each word.
+          * @return the string nicely formatted.
+          */
+      inline std::string prettyPrint(const std::string& aStr,
+                                     const std::string& lineDelim = "\n",
+                                     const std::string& indent = "",
+                                     const std::string& firstIndent = "     ",
+                                     const std::string::size_type len = 80,
+                                     const char wordDelim = ' ')
+         throw(StringException)
+      { 
+         std::string temp(aStr); 
+         prettyPrint(temp, lineDelim, indent, firstIndent, len, wordDelim); 
+         return temp; 
+      }
+
+   } // namespace StringUtils
+  
+} // namespace gpstk
+
+// ################################################
+//   Implementations of inline functions follow
+// ################################################
+
+namespace gpstk
+{
+
+   namespace StringUtils
+   {
+      inline void hexDumpData(std::ostream& s, const std::string& data,
+                              unsigned indent, HexDumpDataConfig cfg)
+      {
+         std::string instr(indent, ' ');
+         hexDumpData(s, data, instr, cfg);
+      }
+
+      inline void hexDumpData(std::ostream& s, const std::string& data,
+                              const std::string& tag, HexDumpDataConfig cfg)
+      {
+         std::string ascii="";
+         unsigned indent = tag.length();
+         int col = 0;
+         int datasize=data.size();
+         std::string groupws(cfg.groupWS, ' ');
+         std::string group2ws(cfg.group2WS, ' ');
+         std::string indexws(cfg.indexWS, ' ');
+         std::string textws(cfg.textWS, ' ');
+         unsigned linesize;
+
+         if (cfg.groupBy && ((cfg.bytesPerLine % cfg.groupBy) != 0))
+         {
+            s << "hexDumpData: cfg.bytesPerLine % cfg.groupBy != 0"
+              << std::endl;
+            return;
+         }
+         if (cfg.group2By && ((cfg.bytesPerLine % cfg.group2By) != 0))
+         {
+            s << "hexDumpData: cfg.bytesPerLine % cfg.group2By != 0"
+              << std::endl;
+            return;
+         }
+         if (cfg.groupBy && ((cfg.group2By % cfg.groupBy) != 0))
+         {
+            s << "hexDumpData: cfg.group2By % cfg.groupBy != 0"
+              << std::endl;
+            return;
+         }
+
+            // line format:
+            // <tag><index>:<indexws><group1byte1>...<group1byte[groupBy]><groupws>...<group[group2By]byte1>...<group[group2By]byte[groupBy]><group2ws>....<byte[bytesPerLine]><textws><separator><text><separator>\n
+         linesize = indent;
+         if (cfg.showIndex)
+            linesize += cfg.idxDigits + 1 + cfg.indexWS;
+         linesize += cfg.bytesPerLine * 2;
+         unsigned w2 = 0;
+         unsigned w1 = 0;
+         if (cfg.group2By)
+            w2 = (cfg.bytesPerLine / cfg.group2By) - 1;
+         if (cfg.groupBy)
+            w1 = (cfg.bytesPerLine / cfg.groupBy) - w2 - 1;
+         if (cfg.groupBy > 0)
+            linesize += cfg.groupWS * w1;
+         if (cfg.group2By > 0)
+            linesize += cfg.group2WS * w2;
+            /*
+              linesize doesn't include text stuff
+         if (cfg.showText)
+            linesize += cfg.textWS + cfg.bytesPerLine;
+         if (cfg.separator)
+            linesize += 2;
+            */
+
+         for (int i=0; i<datasize; i++)
+         {
+            if (i%cfg.bytesPerLine==0)
+            {
+               s << tag;
+               col = indent;
+               if (cfg.showIndex)
+               {
+                  if (cfg.hexIndex)
+                  {
+                     s << std::hex;
+                     if (cfg.upperHex)
+                        s << std::uppercase;
+                     else
+                        s << std::nouppercase;
+                  }
+                  else
+                     s << std::dec;
+                  s << std::setfill('0');
+                  s << std::setw(cfg.idxDigits) << i << ":" << indexws;
+                  s << std::dec << std::nouppercase;
+               }
+               col += cfg.idxDigits + 1 + cfg.indexWS;
+            }
+            unsigned char c=data[i];
+            if (isprint(c))
+               ascii += c;
+            else
+               ascii += '.';
+            if (cfg.upperHex)
+               s << std::uppercase;
+            else
+               s << std::nouppercase;
+            s << std::hex << std::setw(2) << (int)c << std::dec
+              << std::nouppercase;
+            col += 2;
+            if (((i % cfg.bytesPerLine) == (cfg.bytesPerLine-1)) ||
+                (i == (datasize-1)))
+            {
+               if (cfg.showText)
+               {
+                  int extra = linesize-col;
+                  std::string space(extra, ' ');
+                  s << space << textws;
+                  if (cfg.separator)
+                     s << cfg.separator;
+                  s << ascii;
+                  if (cfg.separator)
+                     s << cfg.separator;
+                  s << std::endl;
+               }
+                  // this *should* be updated at the beginning of the loop
+                  //col=indent+6;
+               ascii.erase();
+            }
+            else if (cfg.group2By && ((i % cfg.group2By) == (cfg.group2By-1)))
+            {
+               s << group2ws;
+               col += cfg.group2WS;
+            }
+            else if (cfg.groupBy && ((i % cfg.groupBy) == (cfg.groupBy-1)))
+            {
+               s << groupws;
+               col += cfg.groupWS;
+            }
+         }
+      }
+
+         // Keep searching for aString at the start of s
+         // until num == 0 or aString is not found at the start of s
+      inline std::string& stripLeading(std::string& s,
+                                  const std::string& aString,
+                                  std::string::size_type num)
+         throw(StringException)
+      {
+         try
+         {
+            if (aString == "")
+               return s;
+
+            while((num > 0) &&
+                  (s.find(aString,0) == 0) &&
+                  (s.length() > 0))
+            {      
+               s.erase(0,aString.length());
+               --num;
+            }
+            return s;
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+         // keep searching for aString at the end of s
+         // until aString isn't found there or num == 0
+      inline std::string& stripTrailing(std::string& s,
+                                   const std::string& aString,
+                                   std::string::size_type num)
+         throw(StringException)
+      {
+         try
+         {
+            std::string::size_type pos = s.length() - aString.length();
+
+               // empty string, etc.
+            if ((pos > s.length()) || (aString == ""))
+               return s;
+
+            while((num > 0) && 
+                  (s.rfind(aString,pos) == pos) &&
+                  (s.length() > 0))
+            {
+               s.erase(pos, std::string::npos);
+               --num;
+               pos = s.length() - aString.length();
+            }
+            return s;
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+      inline std::string& strip(std::string& s, 
+                           const std::string& aString, 
+                           std::string::size_type num)
+         throw(StringException)
+      {
+         stripLeading(s, aString, num);
+         stripTrailing(s, aString, num);
+         return s;
+      }
+
+      inline std::string translate(const std::string& aString,
+                              const std::string& inputChars,
+                              const std::string& outputChars,
+                              const char pad)
+      {
+         std::string rv = aString;
+         std::string::size_type aspos = 0;
+         std::string::size_type inpos = std::string::npos;
+         char toc = pad;
+
+            // By starting at the last position, we avoid infinite
+            // loops in case someone did something dumb, like, for
+            // example, setting inputChars=outputChars.
+         while ((aspos = rv.find_first_of(inputChars, aspos))
+                != std::string::npos)
+         {
+               // figure out which char we found;
+            inpos = inputChars.find(rv[aspos]);
+            if (outputChars.length() < inpos)
+               toc = pad;
+            else
+               toc = outputChars[inpos];
+            rv[aspos] = toc;
+
+            aspos++; // try to guarantee no infinite loops
+         }
+
+         return rv;
+      }
+
+      inline std::string change(const std::string& aString, const std::string& inputString,
+                           const std::string& outputString,
+                           std::string::size_type startPos, unsigned numChanges)
+      {
+         std::string rv(aString);
+         change(rv, inputString, outputString, startPos, numChanges);
+         return rv;
+      }
+
+      inline std::string& change(std::string& aString, const std::string& inputString,
+                            const std::string& outputString,
+                            std::string::size_type startPos, unsigned numChanges)
+      {
+         int count = 0;
+         std::string::size_type opos = startPos;
+
+         while (count < numChanges)
+         {
+            std::string::size_type pos = aString.find(inputString, opos);
+            if (pos != std::string::npos)
+            {
+               count++;
+               aString.replace(pos, inputString.length(), outputString);
+               opos = pos + outputString.length();
+            }
+            else
+               break;
+         }
+
+         return aString;
+      }
+
+         // if the string is bigger than length, truncate it from the left.
+         // otherwise, add pad characters to it's left.
+      inline std::string& rightJustify(std::string& s, 
+                                  const std::string::size_type length, 
+                                  const char pad)
+         throw(StringException)
+      {
+         try
+         {
+            if(length < s.length())
+            {
+               s = s.substr(s.length()-length, std::string::npos);
+            }
+            else
+            {
+               s.insert((std::string::size_type)0, length-s.length(), pad);
+            }
+            return s;
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+         // if the string is bigger than length, truncate it from the right.
+         // otherwise, add pad characters to it's right.
+      inline std::string& leftJustify(std::string& s,
+                                 const std::string::size_type length,
+                                 const char pad)
+         throw(StringException)
+      {
+         try
+         {
+            if(length < s.length())
+            {
+               s = s.substr(0, length);
+            }
+            else
+            {
+               s.append(length-s.length(), pad);
+            }
+            return s;
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+         // leftJustify if s is bigger than length.
+         // otherwise, add pad to the left and right of s.
+      inline std::string& center(std::string& s,
+             const std::string::size_type length,
+             const char pad)
+         throw(StringException)
+      { 
+         try
+         {
+            if(length < s.length())
+            {
+               leftJustify(s, length, pad);
+            }
+            else {
+               std::string::size_type leftOff = s.length() + (length - s.length()) / 2;
+               leftJustify(s, leftOff, pad);
+               rightJustify(s, length, pad);
+            }
+            return s;
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      } 
+
+
+      inline float asFloat(const std::string& s)
+         throw(StringException)
+      {
+         try
+         {
+            std::istringstream is(s);
+            float f;
+            is >> f;
+            return f;
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+      inline long double asLongDouble(const std::string& s)
+         throw(StringException)
+      {
+         try
+         {
+            std::istringstream is(s);
+            long double x;
+            is >> x;
+            return x;
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+     
+      template <class X>
+      inline X asData(const std::string& s)
+         throw(StringException)
+      {
+         try
+         {
+            std::istringstream is(s);
+            X x;
+            is >> x;
+            return x;
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+      inline std::string asString(const long double x, const std::string::size_type precision)
+      {
+         std::ostringstream ss;
+         ss << std::fixed << std::setprecision(precision) << x ;
+         return ss.str();
+      }
+     
+      inline std::string asString(const double x, const std::string::size_type precision)
+      {
+         std::ostringstream ss;
+         ss << std::fixed << std::setprecision(precision) << x;
+         return ss.str();
+      }
+     
+      template<class X>
+      inline std::string asString(const X x) 
+      {
+         std::ostringstream ss;
+         ss << x;
+         return ss.str();
+      }
+     
+         // decimal to hex...
+      inline std::string& d2x(std::string& s)
+         throw(StringException)
+      {
+         try
+         {
+               // remove the integer from s, including
+               // leading spaces and 0's
+            long l = asInt(s);
+            stripLeading(s);
+            stripLeading(s, "0");
+            stripLeading(s, asString<long>(l));
+            
+               // put the int in a stringstream to convert it
+            std::ostringstream st;
+            st << std::hex << l << std::dec;
+            
+               // add the new hex to s
+            s.insert(0, upperCase(st.str()) );
+            
+            return s;
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+         // character to hex...
+      inline std::string& c2x(std::string& s)
+         throw(StringException)
+      {
+         const char hexDigits[] = "0123456789ABCDEF";
+         try
+         {
+            std::string old(s);
+            const unsigned char *pSource = (unsigned char *)old.c_str();
+            unsigned n = old.length();
+
+            s.resize(n * 2, 0);
+
+            for (int i = 0; i < n * 2;)
+            {
+               unsigned char c = *pSource++;
+               s[i++] = hexDigits[ c / 16 ];
+               s[i++] = hexDigits[ c % 16 ];
+            }
+
+            return s;
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+         /// @todo Need to find a way to combine this with x2d.
+          // hex to a long.
+      inline unsigned int x2int(const std::string& s)
+         throw (StringException)
+      {
+         try
+         {
+            std::string t(s);
+               // remove the "0x" part, leading zeros and spaces from the 
+               // string
+               // ex. ' 0x003' -> '3'
+            stripLeading(t);
+            stripLeading(t, "0x", 1);
+            stripLeading(t, "0");
+            
+               // if it's empty, it was 0
+            if (t.empty())
+            {
+               return 0;
+            }
+
+               // make the stringstream, get the integer, and 
+               // remove it from the string
+            std::istringstream strstr(t);
+            int i;
+            strstr >> std::hex >> i;
+            return i;
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+         /// @todo detecting 0 isn't quite right...
+         // hex to decimal
+      inline std::string& x2d(std::string& s)
+         throw(StringException)
+      {
+         try
+         {
+               // remove the "0x" part, leading zeros and spaces from the 
+               // string
+               // ex. ' 0x003' -> '3'
+            stripLeading(s);
+            stripLeading(s, "0x", 1);
+            stripLeading(s, "0");
+            
+               // make the stringstream, get the integer, and 
+               // remove it from the string
+            std::istringstream strstr(s);
+            int i = 0;
+            strstr >> std::hex >> i;
+            stripLeading(s, asString<int>(asInt(s)), 1);
+            
+               // append the decimal to the existing string
+            s.insert(0,asString<int>(i));
+            return s;
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+     
+      inline std::string int2x(const unsigned int& i)
+         throw(StringException)
+      {
+         try
+         {
+            std::ostringstream ss;
+            ss << std::hex << i;
+            return ss.str();
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+      inline std::string& replaceAll(std::string& s, 
+                                const std::string& oldString, 
+                                const std::string& newString)
+         throw(StringException)
+      {
+         try
+         {
+            int spot = s.find(oldString, 0);
+            while (spot != std::string::npos)
+            {
+               s.replace(spot, oldString.length(), newString);
+               spot += newString.length();
+               spot = s.find(oldString, spot);
+            }
+            return s;
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+      inline bool isDigitString(const std::string& s)
+      {
+         if (s.size() == 0) 
+            return false;
+
+         std::string::size_type index = 0;
+         if((s[0] == '-') || (s[0] == '+'))
+            index++;
+         for( ; index < s.size(); index++)
+            if (!isdigit(s[index]))
+               return false;
+         return true;
+      }
+
+      inline bool isDecimalString(const std::string& s)
+      {
+         if (s.size() == 0) 
+            return false;
+
+         std::string::size_type index = 0;
+         bool sawdot = false;
+         if((s[0] == '-') || (s[0] == '+'))
+            index++;
+         for( ; index < s.size(); index++)
+         {
+            if (s[index] == '.')
+            {
+               if (sawdot)
+                  return false;
+               else sawdot = true;
+            }
+            else if (!isdigit(s[index]))
+               return false;
+         }
+         return true;
+      }
+
+      inline bool isAlphaString(const std::string& s)
+      {
+         if (s.size() == 0) 
+            return false;
+
+         std::string::size_type index;
+         for(index = 0; index < s.size(); index++)
+            if (!isalpha(s[index]))
+               return false;
+         return true;
+      }
+
+      inline std::string matches(const std::string& s,
+                            const std::string& aPattern,
+                            const char zeroOrMore,
+                            const char oneOrMore,
+                            const char anyChar)
+         throw(StringException)
+      {
+         const std::string::size_type regErrorBufSize = 512;
+
+         std::string thisPattern(aPattern);
+         std::string thisStr(s);
+
+            // check if something other than the regex standard
+            // characters (*,+,.) is used for those variables
+         if (zeroOrMore != '*')
+         {
+            replaceAll(thisPattern, "*", "\\*");
+            replaceAll(thisPattern, std::string(1, zeroOrMore), "*");
+         }
+         if (oneOrMore != '+')
+         {
+            replaceAll(thisPattern, "+", "\\+");
+            replaceAll(thisPattern, std::string(1, oneOrMore), "+");
+         }
+         if (anyChar != '.')
+         {
+            replaceAll(thisPattern, ".", "\\.");
+            replaceAll(thisPattern, std::string(1, anyChar), ".");
+         }
+         regmatch_t matches;
+         regex_t regExp;
+         char errorMsg[regErrorBufSize];
+         int rc;
+
+         if ((rc = regcomp(&regExp, thisPattern.c_str(), REG_EXTENDED)) != 0)
+         {
+            regerror(rc, &regExp, errorMsg, regErrorBufSize - 1);
+            regfree(&regExp);
+            StringException strerr("Regexp error: " + std::string(errorMsg));
+            GPSTK_THROW(strerr);
+         }
+         rc = regexec(&regExp, thisStr.c_str(), 1, &matches, 
+                      REG_NOTBOL | REG_NOTEOL);
+         if ( (rc != 0) && (rc != REG_NOMATCH) )
+         {
+            regerror(rc, &regExp, errorMsg, regErrorBufSize - 1);
+            regfree(&regExp);
+            StringException strerr("Regexp error: " + std::string(errorMsg));
+            GPSTK_THROW(strerr);
+         }
+
+         regfree(&regExp);
+         if (rc == REG_NOMATCH)
+            return std::string();
+         else
+            return thisStr.substr(matches.rm_so, matches.rm_eo - matches.rm_so);
+      }
+
+      template <class T>
+      inline std::string formattedPrint(const std::string& fmt, const std::string& pat,
+                                   const std::string& rep, T to)
+         throw(StringException)
+      {
+         regex_t re;
+         regmatch_t r;
+         std::string rv = fmt;
+         int rc;
+         char buffer[513];
+         
+            // if the regex doesnt compile, toast =)
+         if ((rc = regcomp(&re, pat.c_str(), REG_EXTENDED)) != 0)
+         {
+            StringException se("Bad regular expression: regcomp() rc = " +
+                               asString(rc));
+            GPSTK_THROW(se);
+         }
+
+         int len = rv.length();
+         for (int i = 0; i < len; i++)
+         {
+            if ((rc = regexec(&re, rv.c_str(), 1, &r, 0)) != 0)
+               break;
+            else
+            {
+               std::string mac = rv.substr(r.rm_so, r.rm_eo - r.rm_so);
+               mac = replaceAll(mac, rep.substr(0,1), rep.substr(1));
+               sprintf(buffer, mac.c_str(), to);
+               rv = rv.substr(0, r.rm_so) + std::string(buffer) + 
+                  rv.substr(r.rm_eo);
+               i = r.rm_eo;
+            }
+         }
+         
+         regfree(&re);
+         
+         return rv;
+      }
+      
+      inline std::string subString(const std::string& s, 
+                              const std::string::size_type startPos,
+                              const std::string::size_type length,
+                              const char pad)
+         throw(StringException)
+      {
+         try
+         {
+            if(startPos >= s.length())
+            {
+               return std::string(length, pad);
+            }
+            std::string temp = s.substr(startPos, length);
+            return leftJustify(temp, length, pad);
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+      inline std::string& lowerCase(std::string& s)
+      {
+         for(std::string::size_type i = 0; i < s.length(); i++)
+         {
+            s[i] = tolower(s[i]);
+         }
+         return s;
+      }
+
+      inline std::string& upperCase(std::string& s)
+      {
+         for(std::string::size_type i = 0; i < s.length(); i++)
+         {
+            s[i] = toupper(s[i]);
+         }
+         return s;
+      }
+
+      inline std::string memToString(const void* p,
+                                const std::string::size_type size)
+      {
+         unsigned char* q = (unsigned char*)p;
+         std::string s(size,'\0');
+         for (int i=0; i<size; i++)
+         {
+            s[i] = (unsigned char)(*q++);
+         }
+         return s;
+      }
+     
+      inline std::string firstWord(const std::string& s, 
+                              const char delimiter)
+         throw(StringException)
+      {
+         try
+         {
+               // return s if there are no delimiters
+            std::string::size_type pos = s.find_first_not_of(delimiter);
+            if (pos == std::string::npos)
+            {
+               return s;
+            }
+               // find the end delimiter (if any) and return the string
+            std::string::size_type endPos = s.find(delimiter, pos);
+            if (endPos == std::string::npos)
+            {
+               return std::string(s, pos, endPos);
+            }
+            else
+            {
+               return std::string(s, pos, endPos - pos);
+            }
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+     
+      inline int numWords(const std::string& s, 
+                          const char delimiter)
+         throw(StringException)
+      {
+         try
+         {
+            std::string t(s);
+            stripTrailing(t, delimiter);
+            
+            int words = 0;
+            while(t.length())
+            {
+               stripLeading(t, delimiter);
+               stripLeading(t, firstWord(t, delimiter));
+               words++;
+            }
+            return words;
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+     
+      inline std::string words(const std::string& s, 
+                          const std::string::size_type firstWord,
+                          const std::string::size_type numWords,
+                          const char delimiter)
+         throw(StringException)
+      {
+         try
+         {
+            if ((firstWord == 0) && (numWords == 1))
+               return StringUtils::firstWord(s, delimiter);
+            if (numWords == 0)
+               return "";
+            std::string::size_type wordNum = 0;
+            std::string::size_type pos = 0, startPos = 0;
+            
+            std::string toReturn;
+
+               // get position of word wordNum
+            pos = s.find_first_not_of(delimiter, pos);
+            while ((pos != std::string::npos) && (pos <= s.length()))
+            {
+               if (wordNum == firstWord)
+                  startPos = pos;
+                  // get first delimter after word wordNum
+               pos = s.find(delimiter, pos);
+               if ((numWords != -1) && (wordNum == (firstWord + (numWords-1))))
+                  break;
+               pos = s.find_first_not_of(delimiter, pos);
+               wordNum++;
+            }
+
+            if (pos == std::string::npos)
+               return s.substr(startPos);
+            return s.substr(startPos, pos-startPos);
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+     
+      inline std::string stripFirstWord(std::string& s, 
+                                   const char delimiter)
+         throw(StringException)
+      {
+         try
+         {
+            stripLeading(s, delimiter);
+            std::string toReturn = firstWord(s, delimiter);
+            stripLeading(s, toReturn);
+            stripLeading(s, delimiter);
+            return toReturn;
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+     
+      inline std::string& removeWords(std::string& s, 
+                                 const std::string::size_type first, 
+                                 const std::string::size_type wordsToReplace,
+                                 const char delimiter)
+         throw(StringException)
+      {
+         try
+         {
+            std::string temp(s);
+            std::string::size_type thisWord;
+            
+               // empty out s.  add the new parts of s as they are parsed
+            s.erase(0, std::string::npos);
+            
+               // copy the part of the string through word 'first'
+               // by appending any delimiters then appending
+               // a word for however many words we're keeping.
+            for(thisWord = 0; thisWord < first; thisWord++)
+            {
+               s.append(temp.find_first_not_of(delimiter),delimiter);
+               stripLeading(temp, delimiter);
+               s.append(firstWord(temp));
+               stripLeading(temp, firstWord(temp));
+            }
+            
+               // skip over the number of words to replace, making
+               // sure to stop when there's no more string left
+               // to skip
+            for(thisWord = 0; 
+                (thisWord < wordsToReplace) && 
+                   (temp.length() != 0);
+                thisWord++)
+            {
+               stripLeading(temp, delimiter);
+               stripLeading(temp, firstWord(temp));
+            }
+            
+               // add on any extra words at the end
+            s.append(temp);
+            
+            return s;
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+      inline std::string doub2sci(const double& d, 
+                             const std::string::size_type length, 
+                             const std::string::size_type expLen,
+                             const bool showSign)
+      {
+         std::string toReturn;
+         short exponentLength = expLen;
+            
+            /* Validate the assumptions regarding the input arguments */
+         if (exponentLength < 0) exponentLength = 1;
+         if (exponentLength > 3) exponentLength = 3;
+            
+         std::stringstream c;
+         c.setf(std::ios::scientific, std::ios::floatfield);
+            
+            // length - 3 for special characters ('.', 'e', '+' or '-')
+            // - exponentlength (e04)
+            // - 1 for the digit before the decimal (2.)
+            // and if showSign == true,
+            //    an extra -1 for '-' or ' ' if it's positive or negative
+         int expSize = 0;
+         if (showSign)
+            expSize = 1;
+         c.precision(length - 3 - exponentLength - 1 - expSize);
+
+            
+         c << d;
+            
+         c >> toReturn;
+
+         return toReturn;
+      }
+
+      inline std::string& sci2for(std::string& aStr, 
+                             const std::string::size_type length, 
+                             const std::string::size_type startPos,
+                             const std::string::size_type expLen)
+         throw(StringException)
+      {
+         try
+         {
+            std::string::size_type idx = aStr.find('.', startPos);
+            int expAdd = 0;
+            std::string exp;
+            long iexp;
+            char tmpbuf[10], format[10];
+            bool redoexp=false;
+            
+               // Check for decimal place within specified boundaries
+            if ((idx == 0) || (idx >= (startPos + length - expLen - 1)))
+            {
+               StringException e("sci2for: no decimal point in string");
+               GPSTK_THROW(e);
+            }
+            
+               // Here, account for the possibility that there are
+               // no numbers to the left of the decimal, but do not
+               // account for the possibility of non-scientific
+               // notation (more than one digit to the left of the
+               // decimal)
+            if (idx > startPos)
+            {
+               redoexp = true;
+                  // Swap digit and decimal.
+               aStr[idx] = aStr[idx-1];
+               aStr[idx-1] = '.';
+                  // Only add one to the exponent if the number is non-zero
+               if (asDouble(aStr.substr(startPos, length)) != 0.0)
+                  expAdd = 1;
+            }
+            
+            idx = aStr.find('e', startPos);
+            if (idx == std::string::npos)
+            {
+               idx = aStr.find('E', startPos);
+               if (idx == std::string::npos)
+               {
+                  StringException e("sci2for:no 'e' or 'E' in string");
+                  GPSTK_THROW(e);
+               }
+            }
+               // Change the exponent character
+            aStr[idx] = 'D';
+            
+               // Change the exponent itself
+            if (redoexp)
+            {
+               exp = aStr.substr(idx + 1, std::string::npos);
+               iexp = asInt(exp);
+               iexp += expAdd;
+
+               aStr.erase(idx + 1);
+               if (iexp < 0)
+               {
+                  aStr += "-";
+                  iexp -= iexp*2;
+               }
+               else
+                  aStr += "+";
+               aStr += rightJustify(asString(iexp),expLen,'0');
+
+            }
+
+               // if the number is positive, append a space
+               // (if it's negative, there's a leading '-'
+            if (aStr[0] == '.')
+            {
+               aStr.insert((std::string::size_type)0, 1, ' ');
+            }
+            
+            return aStr;
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }  // end sci2for
+
+
+      inline std::string doub2for(const double& d, 
+                             const std::string::size_type length, 
+                             const std::string::size_type expLen)
+         throw(StringException)
+      {
+         try
+         {
+            short exponentLength = expLen;
+            
+               /* Validate the assumptions regarding the input arguments */
+            if (exponentLength < 0) exponentLength = 1;
+            if (exponentLength > 3) exponentLength = 3;
+
+            std::string toReturn = doub2sci(d, length, exponentLength, true);
+            sci2for(toReturn, length, 0, exponentLength);
+         
+            return toReturn;
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+      
+      
+      inline double for2doub(const std::string& aStr, 
+                             const std::string::size_type length,
+                             const std::string::size_type startPos) 
+      {
+         std::string s(aStr);
+         strip(s);
+         std::string::size_type pos;
+
+            // you can blame Rinex for these special checks
+         if (s.empty())
+         {
+            return 0;
+         }
+
+         if ( ((pos = s.find('E', startPos)) != std::string::npos) ||
+              ((pos = s.find('d', startPos)) != std::string::npos) ||
+              ((pos = s.find('D', startPos)) != std::string::npos))
+         {
+            s[pos] = 'e';
+         }
+            // just treat it like a double
+         else
+         {
+            return asDouble(aStr.substr(length, startPos));
+         }
+         
+         std::stringstream st;
+         st << s;
+         
+         double d;
+         st >> d;
+         
+         return d;
+      }
+
+      inline std::string printable(const std::string& aStr)
+         throw(StringException)
+      {
+         try
+         {
+            std::string rv(aStr);
+
+            for (int i = 0; i < rv.length(); i++)
+            {
+               char c = rv[i];
+               if (!isprint(c))
+               {
+                  if (iscntrl(c))
+                  {
+                     rv.replace(i,1,2,'^');
+                     rv.replace(i+1,1,1, 64+(c));
+                  }
+                  else
+                  {
+                     std::string mess(c2x(rv.substr(i,1)));
+                     rv.replace(i,1,"<"+mess+">");
+                  }
+               }
+            }
+
+            return rv;
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+      inline std::string& prettyPrint(std::string& aStr,
+                                      const std::string& lineDelim,
+                                      const std::string& indent,
+                                      const std::string& firstIndent,
+                                      const std::string::size_type len,
+                                      const char wordDelim)
+         throw(StringException)
+      {
+         try
+         {
+               // chop aStr up into words based on wordDelim
+            std::list<std::string> wordList;
+            std::string tempStr(aStr);
+            stripLeading(tempStr, wordDelim);
+            while (!tempStr.empty())
+            {
+               std::string theFirstWord = firstWord(tempStr,wordDelim);
+               wordList.push_back(theFirstWord);
+               stripLeading(tempStr, theFirstWord);
+               stripLeading(tempStr, wordDelim);
+            }
+
+               // now reassemble the words into sentences
+            std::string toReturn;
+            std::string thisLine = firstIndent, lastLine;
+            while (!wordList.empty())
+            {
+               lastLine = thisLine;
+               if (!lastLine.empty())
+                  thisLine += wordDelim;
+               thisLine += wordList.front();
+
+               if (thisLine.length() > len)
+               {
+                     // if the first word is longer than a line, just add it.
+                     // if this is the first line, remember to add the indent.
+                  if (lastLine.empty())
+                  {
+                     if (toReturn.empty())
+                        lastLine += firstIndent;
+                     lastLine = wordList.front();
+                  }
+
+                  toReturn += lastLine + lineDelim;
+
+                  thisLine.erase();
+                  lastLine.erase();
+
+                  thisLine = indent;
+               }
+               else
+                  wordList.erase(wordList.begin());
+            }
+            if (!thisLine.empty())
+               toReturn += (thisLine + lineDelim);
+
+            aStr = toReturn;
+            return aStr;
+         }
+         catch(StringException &e)
+         {
+            GPSTK_RETHROW(e);
+         }
+         catch(std::exception &e)
+         {
+            StringException strexc("Exception thrown: " + std::string(e.what()));
+            GPSTK_THROW(strexc);
+         }
+      }
+
+         //@}
+
+   } // namespace StringUtils
+
+} // namespace gpstk
+#endif // GPSTK_STRINGUTILS_HPP
+
+
+
diff --git a/trunk/src/TabularEphemerisStore.cpp b/trunk/src/TabularEphemerisStore.cpp
new file mode 100644
index 0000000..2cba9e3
--- /dev/null
+++ b/trunk/src/TabularEphemerisStore.cpp
@@ -0,0 +1,265 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TabularEphemerisStore.cpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file TabularEphemerisStore.cpp
+ * Store & access a list of SV pvts
+ */
+
+#include "TabularEphemerisStore.hpp"
+#include "MiscMath.hpp"
+#include "ECEF.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace gpstk::StringUtils;
+
+namespace gpstk
+{
+   //--------------------------------------------------------------------------
+   //--------------------------------------------------------------------------
+   void TabularEphemerisStore::dump(short detail, std::ostream& s) const
+   {
+      s << "Dump of TabularEphemerisStore:" << std::endl;
+      if(detail >= 0) {
+         EphMap::const_iterator it;
+         s << " Data stored for " << pe.size() << " satellites." << std::endl;
+         if(detail == 0) return;
+         for(it=pe.begin(); it!=pe.end(); it++) {
+            s << "  PRN " << it->first << " : "
+               << it->second.size() << " records.";
+            if(detail == 1) { s << std::endl; continue; }
+            s << "  Data:" << std::endl;
+            SvEphMap::const_iterator jt;
+            for(jt=it->second.begin(); jt!=it->second.end(); jt++) {
+               s << " " << jt->first << " P "
+                 << std::fixed << std::setprecision(6)
+                 << std::setw(13) << jt->second.x[0] << " "
+                  << std::setw(13) << jt->second.x[1] << " "
+                 << std::setw(13) << jt->second.x[2] << " "
+                 << std::setw(13) << jt->second.dtime
+                 << " V "
+                 << std::setw(13) << jt->second.v[0] << " "
+                 << std::setw(13) << jt->second.v[1] << " "
+                 << std::setw(13) << jt->second.v[2] << " "
+                 << std::setw(13) << jt->second.ddtime
+                 << std::endl;
+            }
+         }
+      }
+      
+   } // end of TabularEphemerisStore::dump
+
+
+   //--------------------------------------------------------------------------
+   //--------------------------------------------------------------------------
+   void TabularEphemerisStore::edit(const DayTime& tmin, const DayTime& tmax) throw()
+   {
+      EphMap::iterator kt;
+      for(kt=pe.begin(); kt!=pe.end(); kt++) {
+         SvEphMap::reverse_iterator jt=(kt->second).rbegin();
+         while(jt != (kt->second).rend()) {
+            if(jt->first < tmin || jt->first > tmax) (kt->second).erase(jt->first);
+            jt ++;
+         }
+      }
+   }  // end TabularEphemerisStore::edit
+
+   //--------------------------------------------------------------------------
+   //--------------------------------------------------------------------------
+   // Remove all data
+   void TabularEphemerisStore::clear() throw()
+   {
+      pe.clear();
+      initialTime = DayTime::END_OF_TIME;
+      finalTime = DayTime::BEGINNING_OF_TIME;
+   }
+
+   //--------------------------------------------------------------------------
+   //--------------------------------------------------------------------------
+   Xvt TabularEphemerisStore::getPrnXvt(short prn, const gpstk::DayTime& t)
+      const throw(EphemerisStore::NoEphemerisFound)
+   {
+      EphMap::const_iterator svmap = pe.find(prn);
+      if (svmap==pe.end()) {
+         NoEphemerisFound e("Ephemeris for PRN  " + asString(prn) + " not found.");
+         GPSTK_THROW(e);
+      }
+   
+      const SvEphMap& sem=svmap->second;
+      SvEphMap::const_iterator i=sem.find(t);
+      
+      Xvt sv;
+      if (i!= sem.end() && haveVelocity)
+      {
+         sv = i->second;
+         sv.x[0] *= 1.e3;     // m
+         sv.x[1] *= 1.e3;     // m
+         sv.x[2] *= 1.e3;     // m
+         sv.dtime *= 1.e-6;   // sec
+         sv.v[0] *= 1.e-1;    // m/sec
+         sv.v[1] *= 1.e-1;    // m/sec
+         sv.v[2] *= 1.e-1;    // m/sec
+         sv.ddtime *= 1.e-10; // sec/sec
+
+         sv.dtime += -2*(sv.x[0]/C_GPS_M)*(sv.v[0]/C_GPS_M)
+            -2*(sv.x[1]/C_GPS_M)*(sv.v[1]/C_GPS_M)
+            -2*(sv.x[2]/C_GPS_M)*(sv.v[2]/C_GPS_M);
+         return sv;
+      }
+
+      /// Note that the order of the Lagrange interpolation is twice this value
+      const int half=5;
+
+         //  i will be the lower bound, j the upper (in time).
+      i = sem.lower_bound(t);
+      SvEphMap::const_iterator j=i;
+      if(i == sem.begin() || --i == sem.begin()) {
+         NoEphemerisFound e("Inadequate data before requested time, PRN " + asString(prn));
+         GPSTK_THROW(e);
+      }
+      for(int k=0; k<half-1; k++) {
+         i--;
+         if(i == sem.begin() && k<half-2) {
+            NoEphemerisFound e("Inadequate data before requested time, PRN " + asString(prn));
+            GPSTK_THROW(e);
+         }
+         j++;
+         if(j == sem.end()) {
+            NoEphemerisFound e("Inadequate data after requested time, PRN " + asString(prn));
+            GPSTK_THROW(e);
+         }
+      }
+
+         // pull data and interpolate
+      SvEphMap::const_iterator itr;
+      DayTime t0=i->first;
+      double dt=t-t0,err;
+      std::vector<double> times,X,Y,Z,T,VX,VY,VZ,F;
+
+
+      for (itr=i; itr!=sem.end(); itr++)
+      {
+         times.push_back(itr->first - t0);      // sec
+         X.push_back(itr->second.x[0]);         // km
+         Y.push_back(itr->second.x[1]);         // km
+         Z.push_back(itr->second.x[2]);         // km
+         T.push_back(itr->second.dtime);        // microsec
+         VX.push_back(itr->second.v[0]);        // decimeters/sec
+         VY.push_back(itr->second.v[1]);        // decimeters/sec
+         VZ.push_back(itr->second.v[2]);        // decimeters/sec
+         F.push_back(itr->second.ddtime);       // 1.e-4 microsec/sec
+         if(itr == j) break;
+      }
+
+      if (haveVelocity)
+      {
+         sv.x[0] = LagrangeInterpolation(times,X,dt,err);
+         sv.x[1] = LagrangeInterpolation(times,Y,dt,err);
+         sv.x[2] = LagrangeInterpolation(times,Z,dt,err);
+         sv.dtime = LagrangeInterpolation(times,T,dt,err);
+         sv.v[0] = LagrangeInterpolation(times,VX,dt,err);
+         sv.v[1] = LagrangeInterpolation(times,VY,dt,err);
+         sv.v[2] = LagrangeInterpolation(times,VZ,dt,err);
+         sv.ddtime = LagrangeInterpolation(times,F,dt,err);
+      }
+      else {
+         LagrangeInterpolation(times,X,dt,sv.x[0],sv.v[0]);
+         LagrangeInterpolation(times,Y,dt,sv.x[1],sv.v[1]);
+         LagrangeInterpolation(times,Z,dt,sv.x[2],sv.v[2]);
+         LagrangeInterpolation(times,T,dt,sv.dtime,sv.ddtime);
+         sv.v[0] *= 1.e4;              // decimeters/sec
+         sv.v[1] *= 1.e4;              // decimeters/sec
+         sv.v[2] *= 1.e4;              // decimeters/sec
+         sv.ddtime *= 1.e4;            // 1.e-4 microsec/sec
+      }
+
+      sv.x[0] *= 1.e3;     // m
+      sv.x[1] *= 1.e3;     // m
+      sv.x[2] *= 1.e3;     // m
+      sv.dtime *= 1.e-6;   // sec
+      sv.v[0] *= 1.e-1;    // m/sec
+      sv.v[1] *= 1.e-1;    // m/sec
+      sv.v[2] *= 1.e-1;    // m/sec
+      sv.ddtime *= 1.e-10; // sec/sec
+
+      // add relativity correction to dtime
+      // this only for consistency with BCEphemerisStore::getPrnXvt ....
+      // dtr = -2*dot(R,V)/(c*c) = -4.4428e-10 * ecc * sqrt(A(m))*sinE
+      // (do it this way for numerical reasons)
+      sv.dtime += -2*(sv.x[0]/C_GPS_M)*(sv.v[0]/C_GPS_M)
+                  -2*(sv.x[1]/C_GPS_M)*(sv.v[1]/C_GPS_M)
+                  -2*(sv.x[2]/C_GPS_M)*(sv.v[2]/C_GPS_M);
+
+      return sv;
+
+   }  // end Xvt TabularEphemerisStore::getPrnXvt
+
+   //-----------------------------------------------------------------------------
+   //-----------------------------------------------------------------------------
+   void TabularEphemerisStore::addEphemeris(const SP3Data& data)
+      throw()
+   {
+      DayTime t = data.time;
+      short prn = data.id;
+      Xvt&  xvt = pe[prn][t];
+
+      if (data.flag=='P')
+      {
+         xvt.x = ECEF(data.x[0], data.x[1], data.x[2]);
+         xvt.dtime = data.clk;
+         haveVelocity=false;
+      }
+      else if (data.flag=='V')
+      {
+         xvt.v = data.x;
+         xvt.ddtime = data.clk;
+         haveVelocity=true;
+      }
+      
+      if (t<initialTime)
+         initialTime = t;
+      else if (t>finalTime)
+         finalTime = t;
+   }
+
+}  // namespace gpstk
diff --git a/trunk/src/TabularEphemerisStore.hpp b/trunk/src/TabularEphemerisStore.hpp
new file mode 100644
index 0000000..f6806f8
--- /dev/null
+++ b/trunk/src/TabularEphemerisStore.hpp
@@ -0,0 +1,140 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TabularEphemerisStore.hpp#3 $"
+
+/**
+ * @file TabularEphemerisStore.hpp
+ * Store & access a list of SV pvts
+ */
+
+#ifndef GPSTK_TABULAR_EPHEMERIS_STORE_HPP
+#define GPSTK_TABULAR_EPHEMERIS_STORE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+
+#include "EphemerisStore.hpp"
+#include "SP3Data.hpp"
+
+namespace gpstk
+{
+   /** @addtogroup ephemstore */
+   //@{
+
+   /**
+    * This stores tabular ephemeris data for determining satellite positions.
+    */
+   class TabularEphemerisStore : public EphemerisStore
+   {
+   public:
+      /// Constructor.
+      TabularEphemerisStore() throw()
+         : haveVelocity(true),
+           initialTime(DayTime::END_OF_TIME), 
+           finalTime(DayTime::BEGINNING_OF_TIME) {};
+
+      /// destructor
+      virtual ~TabularEphemerisStore() {}
+      
+      /**  Return the position, velocity and clock model of the sv in ecef coordinates
+       * (units m, s, m/s, s/s) at the indicated time.
+       * @param prn the SV's PRN
+       * @param t the time to look up
+       * @return the Xvt of the SV at time t
+       */
+      virtual Xvt getPrnXvt(short prn, const gpstk::DayTime& t)
+         const throw(EphemerisStore::NoEphemerisFound);
+
+      /** Dump the store to given stream.
+       * @param detail specifies the level of detail to include in the output:
+       *   0: number of satellites, 1: records per satellite, >1 all data.
+       */
+      void dump(short detail=0, std::ostream& s=std::cout) const;
+
+      /// Edit the dataset, removing data outside this time interval
+      void edit(const DayTime& tmin, const DayTime& tmax) throw();
+
+      /// Insert a new SP3Data object into the store
+      void addEphemeris(const SP3Data& data)
+         throw();
+
+      /// Remove all data
+      void clear() throw();
+
+      /** Return the time of the first ephemeris in the object.
+       * @return the time of the first ephemeris in the object
+       */      
+      virtual gpstk::DayTime getInitialTime() const {return initialTime;};
+
+      /** Return the time of the last ephemeris in the object.
+       * @return the time of the last ephemeris in the object
+       */
+      virtual gpstk::DayTime getFinalTime() const {return finalTime;};
+
+      void setHaveVelocity(bool f) throw() {haveVelocity=f;};
+      bool getHaveVelocity() throw() {return haveVelocity;};
+
+   private:
+
+      /// The key to this map is the time
+      typedef std::map<DayTime, Xvt> SvEphMap;
+
+      /// The key to this map is the svid of the satellite (usually the prn)
+      typedef std::map<short, SvEphMap> EphMap;
+
+      /// the map of SVs and XVTs
+      EphMap pe;
+
+      /** These give the overall span of time for which this object contains data.
+       * NB there may be gaps in the data, i.e. the data may not be continuous.
+       */
+      gpstk::DayTime initialTime, finalTime;
+
+      /// Flag indicating that velocity data present in all datasets loaded.
+      bool haveVelocity;
+
+   };
+
+   //@}
+
+}  // namespace
+
+#endif
diff --git a/trunk/src/TimeConstants.hpp b/trunk/src/TimeConstants.hpp
new file mode 100644
index 0000000..d597250
--- /dev/null
+++ b/trunk/src/TimeConstants.hpp
@@ -0,0 +1,49 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeConstants.hpp#3 $"
+
+#ifndef GPSTK_TIMECONSTANTS_HPP
+#define GPSTK_TIMECONSTANTS_HPP
+
+namespace gpstk
+{
+      /// Add this offset to convert Modified Julian Date to Julian Date.
+   const double MJD_TO_JD = 2400000.5;
+      /// 'Julian day' offset from MJD
+   const long MJD_JDAY = 2400001L;
+      /// 'Julian day' of GPS epoch (Jan. 1, 1980).
+   const long GPS_EPOCH_JDAY = 2444245L;
+      /// Modified Julian Date of GPS epoch (Jan. 1, 1980).
+   const long GPS_EPOCH_MJD = 44244L;
+      /// Modified Julian Date of UNIX epoch (Jan. 1, 1970).
+   const long UNIX_MJD = 40587L;
+
+      /// Seconds per half a GPS week.
+   const long HALFWEEK = 302400L;
+      /// Seconds per whole GPS week.
+   const long FULLWEEK = 604800L;
+
+      /// Weeks per GPS Epoch
+   const long WEEKS_PER_EPOCH = 1024L;
+
+      /// Seconds per day.
+   const long SEC_PER_DAY = 86400L;
+      /// Days per second.
+   const double DAY_PER_SEC = 1.0/SEC_PER_DAY;
+
+      /// Milliseconds in a second.
+   const long MS_PER_SEC = 1000L;
+      /// Seconds per millisecond.
+   const double SEC_PER_MS = 1.0/MS_PER_SEC;
+   
+      /// Milliseconds in a day.
+   const long MS_PER_DAY = MS_PER_DAY * SEC_PER_DAY;
+      /// Days per milliseconds.
+   const double DAY_PER_MS = 1.0/DAY_PER_MS;
+
+      /// Zcounts in a  day.
+   const long ZCOUNT_PER_DAY = 57600L;
+      /// Days in a Zcount
+   const double DAY_PER_ZCOUNT = 1.0/ZCOUNT_PER_DAY;
+
+} // namespace
+
+#endif // GPSTK_TIMECONSTANTS_HPP
diff --git a/trunk/src/TimeConverters.cpp b/trunk/src/TimeConverters.cpp
new file mode 100644
index 0000000..2ea3dd0
--- /dev/null
+++ b/trunk/src/TimeConverters.cpp
@@ -0,0 +1,150 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeConverters.cpp#1 $"
+
+#include "TimeConverters.hpp"
+#include "TimeConstants.hpp"
+#include <math.h>
+
+namespace gpstk
+{
+
+      // These two routines convert 'integer JD' and calendar time; they were
+      // derived from Sinnott, R. W. "Bits and Bytes" Sky & Telescope Magazine,
+      // Vol 82, p. 183, August 1991, and The Astronomical Almanac, published
+      // by the U.S. Naval Observatory.
+      // NB range of applicability of this routine is from 0JD (4713BC)
+      // to approx 3442448JD (4713AD).
+   void convertJDtoCalendar( long jd, 
+                             int& iyear, 
+                             int& imonth,
+                             int& iday )
+      throw()
+   {
+      long L, M, N, P, Q;
+      if(jd > 2299160)    // after Oct 4, 1582
+      {
+         L = jd + 68569;
+         M = (4 * L) / 146097;
+         L = L - ((146097 * M + 3) / 4);
+         N = (4000 * (L + 1)) / 1461001;
+         L = L - ((1461 * N) / 4) + 31;
+         P = (80 * L) / 2447;
+         iday = int(L - (2447 * P) / 80);
+         L = P / 11;
+         imonth = int(P + 2 - 12 * L);
+         iyear = int(100 * (M - 49) + N + L);
+      }
+      else 
+      {
+         P = jd + 1402;
+         Q = (P - 1) / 1461;
+         L = P - 1461 * Q;
+         M = (L - 1) / 365 - L / 1461;
+         N = L - 365 * M + 30;
+         P = (80 * N) / 2447;
+         iday = int(N - (2447 * P) / 80);
+         N = P / 11;
+         imonth = int(P + 2 - 12 * N);
+         iyear = int(4 * Q + M + N - 4716);
+         if(iyear <= 0) 
+         {
+            --iyear;
+         }
+      }
+         // catch century/non-400 non-leap years
+      if(iyear > 1599 && 
+         !(iyear % 100) && 
+         (iyear % 400) && 
+         imonth == 2 && 
+         iday == 29)
+      {
+         imonth = 3;
+         iday = 1;
+      }
+   }
+   
+   long convertCalendarToJD( int yy, 
+                             int mm,
+                             int dd ) 
+      throw()
+   {
+      if(yy == 0)
+         --yy;         // there is no year 0
+
+      if(yy < 0) 
+         ++yy;
+      
+      long jd;
+      double y = static_cast<double>( yy ), 
+         m = static_cast<double>( mm ), 
+         d = static_cast<double>( dd );
+
+         // In the conversion from the Julian Calendar to the Gregorian
+         // Calendar the day after October 4, 1582 was October 15, 1582.
+         //
+         // if the date is before October 15, 1582
+      if(yy < 1582 || (yy == 1582 && (mm < 10 || (mm == 10 && dd < 15))))
+      {
+         jd = 1729777 + dd + 367 * yy 
+            - static_cast<long>(7 * ( y + 5001 +
+                                      static_cast<long>((m - 9) / 7)) / 4) 
+            + static_cast<long>(275 * m / 9);
+      }
+      else   // after Oct 4, 1582
+      {     
+        jd = 1721029 + dd + 367 * yy 
+           - static_cast<long>(7 * (y + static_cast<long>((m + 9) / 12)) / 4)
+           - static_cast<long>(3 * (static_cast<long>((y + (m - 9) / 7) / 100) 
+                                    + 1) / 4) 
+           + static_cast<long>(275 * m / 9);
+
+            // catch century/non-400 non-leap years
+         if( (! (yy % 100) && 
+              (yy % 400) && 
+              mm > 2 && 
+              mm < 9)      || 
+             (!((yy - 1) % 100) &&
+              ((yy - 1) % 400) &&
+              mm == 1)) 
+         {
+            --jd;
+         }
+      }
+      return jd;
+   }
+
+   void convertSODtoTime( double sod, 
+                          int& hh,
+                          int& mm,
+                          double& sec ) 
+      throw()
+   {
+         // Get us to within one day.
+      if (sod < 0)
+      {
+         sod += (1 + 
+                 static_cast<unsigned long>(sod / SEC_PER_DAY)) * SEC_PER_DAY ;
+      }
+      else if (sod >= SEC_PER_DAY)
+      {
+         sod -= static_cast<unsigned long>(sod / SEC_PER_DAY) * SEC_PER_DAY ;
+      }
+      
+      double temp;               // variable to hold the integer part of sod
+      sod = modf(sod, &temp);    // sod holds the fraction, temp the integer
+      long seconds = static_cast<long>(temp); // get temp into a real integer
+
+      hh = seconds / 3600 ;
+      mm = (seconds % 3600) / 60 ;
+      sec = double(seconds % 60) + sod ;
+
+   }
+
+   double convertTimeToSOD( int hh, 
+                            int mm,
+                            double sec ) 
+      throw()
+   {
+      return (sec + 60. * (mm + 60. * hh));
+   }
+
+} // namespace
diff --git a/trunk/src/TimeConverters.hpp b/trunk/src/TimeConverters.hpp
new file mode 100644
index 0000000..0dd03dd
--- /dev/null
+++ b/trunk/src/TimeConverters.hpp
@@ -0,0 +1,65 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeConverters.hpp#1 $"
+
+namespace gpstk
+{
+      /** Fundamental routine to convert from "Julian day" (= JD + 0.5) 
+       *  to calendar day.
+       * @param jd long integer "Julian day" = JD+0.5
+       * @param iyear reference to integer year
+       * @param imonth reference to integer month (January == 1)
+       * @param iday reference to integer day of month 
+       *  (1st day of month == 1)
+       * @note range of applicability of this routine is from 0JD (4713BC)
+       *  to approx 3442448JD (4713AD).
+       * Algorithm references: Sinnott, R. W. "Bits and Bytes,"
+       *  Sky & Telescope Magazine, Vol 82, p. 183, August 1991, and
+       *  The Astronomical Almanac, published by the U.S. Naval Observatory.
+       */
+   void convertJDtoCalendar( long jd, 
+                             int& iyear, 
+                             int& imonth, 
+                             int& iday )
+      throw();
+   
+      /** Fundamental routine to convert from calendar day to "Julian day"
+       *  (= JD + 0.5)
+       * @param iyear reference to integer year
+       * @param imonth reference to integer month (January == 1)
+       * @param iday reference to integer day of month 
+       *  (1st day of month == 1)
+       * @return jd long integer "Julian day" = JD+0.5
+       * @note range of applicability of this routine is from 0JD (4713BC)
+       * to approx 3442448JD (4713AD).
+       * Algorithm references: Sinnott, R. W. "Bits and Bytes,"
+       *  Sky & Telescope Magazine, Vol 82, p. 183, August 1991, and
+       *  The Astronomical Almanac, published by the U.S. Naval Observatory.
+       */
+   long convertCalendarToJD( int iyear, 
+                             int imonth,
+                             int iday ) 
+      throw();
+   
+      /** Fundamental routine to convert seconds of day to H:M:S
+       * @param sod seconds of day (input)
+       * @param hh reference to integer hour (0 <= hh < 24) (output)
+       * @param mm reference to integer minutes (0 <= mm < 60) (output)
+       * @param sec reference to double seconds (0 <= sec < 60.0) (output)
+       */
+   void convertSODtoTime( double sod,
+                          int& hh, 
+                          int& mm, 
+                          double& sec ) 
+      throw();
+   
+      /** Fundamental routine to convert H:M:S to seconds of day
+       * @param hh integer hour (0 <= hh < 24) (input)
+       * @param mm integer minutes (0 <= mm < 60) (input)
+       * @param sec double seconds (0 <= sec < 60.0) (input)
+       * @return sod seconds of day (input)
+       */
+   double convertTimeToSOD( int hh,
+                            int mm, 
+                            double sec ) 
+      throw();
+
+} // namespace
diff --git a/trunk/src/TimeString.cpp b/trunk/src/TimeString.cpp
new file mode 100644
index 0000000..e9d43f5
--- /dev/null
+++ b/trunk/src/TimeString.cpp
@@ -0,0 +1,405 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeString.cpp#3 $"
+
+#include "TimeString.hpp"
+
+#include "ANSITime.hpp"
+#include "CivilTime.hpp"
+#include "GPSEpochWeekSecond.hpp"
+#include "GPSWeekSecond.hpp"
+#include "GPSWeekZcount.hpp"
+#include "GPSZcount29.hpp"
+#include "GPSZcount32.hpp"
+#include "JulianDate.hpp"
+#include "MJD.hpp"
+#include "UnixTime.hpp"
+#include "YDSTime.hpp"
+
+#include "TimeConverters.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+   std::string printTime( const TimeTag& t,
+                          const std::string& fmt )
+      throw( gpstk::StringUtils::StringException )
+   {
+      try
+      {
+         std::string rv( fmt );
+         
+            // First, try to print using 't' itself.
+         rv = t.printf( rv );
+         
+            // Next, run it through all the other TimeTag classes.
+         return printTime( t.convertToCommonTime(), rv );
+
+      }
+      catch( gpstk::StringUtils::StringException& se )
+      {
+         GPSTK_RETHROW( se );
+      }
+   }
+
+   std::string printTime( const CommonTime& t,
+                          const std::string& fmt )
+      throw( gpstk::StringUtils::StringException )
+   {
+      try
+      {
+         std::string rv( fmt );
+
+            // Convert to each TimeTag type and run its printf using rv.
+            // The printf functions test to see if they can print any part
+            // of the requested format.  If they can, they do, and if not, 
+            // simply return without doing any work.
+         rv = ANSITime( t ).printf( rv );
+         rv = CivilTime( t ).printf( rv );
+         rv = GPSEpochWeekSecond( t ).printf( rv );
+         rv = GPSWeekSecond( t ).printf( rv );
+         rv = GPSWeekZcount( t ).printf( rv );
+         rv = GPSZcount32( t ).printf( rv );
+         rv = GPSZcount29( t ).printf( rv );
+         rv = JulianDate( t ).printf( rv );
+         rv = MJD( t ).printf( rv );
+         rv = UnixTime( t ).printf( rv );
+         rv = YDSTime( t ).printf( rv );
+      
+         return rv;
+      }
+      catch( gpstk::StringUtils::StringException& se )
+      {
+         GPSTK_RETHROW( se );
+      }
+   }
+   
+      /// Fill the TimeTag object \a btime with time information found in
+      /// string \a str formatted according to string \a fmt.
+   void scanTime( TimeTag& btime,
+                  const std::string& str,
+                  const std::string& fmt )
+      throw( gpstk::InvalidRequest,
+             gpstk::StringUtils::StringException )
+   {
+      try
+      {
+            // Get the mapping of character (from fmt) to value (from str).
+         TimeTag::IdToValue info;
+         TimeTag::getInfo( str, fmt, info );
+         
+         if( btime.setFromInfo( info ) )
+         {
+            return;
+         }
+         
+            // Convert to CommonTime, and try to set using all formats.
+         CommonTime ct( btime.convertToCommonTime() );
+         scanTime( ct, str, fmt );
+
+            // Convert the CommonTime into the requested format.
+         btime.convertFromCommonTime( ct );
+      }
+      catch( gpstk::InvalidRequest& ir )
+      {
+         GPSTK_RETHROW( ir );
+      }
+      catch( gpstk::StringUtils::StringException& se )
+      {
+         GPSTK_RETHROW( se );
+      }
+   }
+   
+   void scanTime( CommonTime& t,
+                  const std::string& str,
+                  const std::string& fmt )
+      throw( gpstk::InvalidRequest,
+             gpstk::StringUtils::StringException )
+   {
+      try
+      {
+         using namespace gpstk::StringUtils;
+
+            // Get the mapping of character (from fmt) to value (from str).
+         TimeTag::IdToValue info;
+         TimeTag::getInfo( str, fmt, info );
+         
+            // These indicate which information has been found.
+         bool hmjd( false ), hsow( false ), hweek( false ), hfullweek( false ),
+            hdow( false ), hyear( false ), hmonth( false ), hday( false ),
+            hzcount( false ), hdoy( false ), hzcount29( false ), 
+            hzcount32( false ), hhour( false ), hmin( false ), hsec( false ),
+            hsod( false ), hunixsec( false ), hunixusec( false ), 
+            hepoch( false ), hansi( false ), hjulian( false );
+
+            // These are to hold data that no one parses.
+         int idow( 0 );
+         
+         for( TimeTag::IdToValue::iterator itr = info.begin();
+              itr != info.end(); itr++ )
+         {
+            switch( itr->first )
+            {
+               case 'Q':
+                  hmjd = true;
+                  break;
+
+               case 'Z':
+                  hzcount = true;
+                  break;
+
+               case 's':
+                  hsod = true;
+                  break;
+
+               case 'g':
+                  hsow = true;
+                  break;
+
+               case 'w':
+                  idow = asInt( itr->second );
+                  hdow = true;
+                  break;
+
+               case 'G':
+                  hweek = true;
+                  break;
+
+               case 'F':
+                  hfullweek = true;
+                  break;
+
+               case 'j':
+                  hdoy = true;
+                  break;
+
+               case 'b':
+               case 'B':
+                  hmonth = true;
+                  break;
+
+               case 'Y':
+               case 'y':
+                  hyear = true;
+                  break;
+
+               case 'a':
+               case 'A':
+               {
+                  hdow = true;
+                  std::string thisDay = firstWord( itr->second );
+                  lowerCase(thisDay);
+                  if (isLike(thisDay, "sun.*")) idow = 0;
+                  else if (isLike(thisDay, "mon.*")) idow = 1;
+                  else if (isLike(thisDay, "tue.*")) idow = 2;
+                  else if (isLike(thisDay, "wed.*")) idow = 3;
+                  else if (isLike(thisDay, "thu.*")) idow = 4;
+                  else if (isLike(thisDay, "fri.*")) idow = 5;
+                  else if (isLike(thisDay, "sat.*")) idow = 6;
+                  else
+                  {
+                     hdow = false;
+                  }
+               }
+               break;
+                  
+               case 'm':
+                  hmonth = true;
+                  break;
+
+               case 'd':
+                  hday = true;
+                  break;
+
+               case 'H':
+                  hhour = true;
+                  break;
+
+               case 'M':
+                  hmin = true;
+                  break;
+
+               case 'S':
+                  hsec = true;
+                  break;
+
+               case 'f':
+                  hsec = true;
+                  break;
+
+               case 'U':
+                  hunixsec = true;
+                  break;
+
+               case 'u':
+                  hunixusec = true;
+                  break;
+                  
+               case 'c':
+                  hzcount29 = true;
+                  break;
+
+               case 'C':
+                  hzcount32 = true;
+                  break;
+
+               case 'J':
+                  hjulian = true;
+                  break;
+                  
+               case 'K':
+                  hansi = true;
+                  break;
+
+               default:
+               {
+                     // do nothing
+               }
+               break;
+
+            };
+         }
+
+         if( hyear )
+         {
+            if( hmonth && hday )
+            {
+               CivilTime tt;
+               tt.setFromInfo( info );
+               if( hsod )
+               {
+                  convertSODtoTime( asDouble( info['s'] ), 
+                                    tt.hour, tt.minute, tt.second );
+               }
+               t = tt.convertToCommonTime();
+               return;
+            }
+            else  // use YDSTime as default
+            {
+               YDSTime tt;
+               tt.setFromInfo( info );
+               if( hhour && hmin && hsec )
+               {
+                  tt.sod = convertTimeToSOD( asInt( info['H'] ), 
+                                             asInt( info['M'] ), 
+                                             asDouble( info['S'] ) );
+               }
+               t = tt.convertToCommonTime();
+               return;
+            }
+
+         } // end of if( hyear )
+
+         if( hzcount32 )
+         {
+            GPSZcount32 tt;
+            tt.setFromInfo( info );
+            t = tt.convertToCommonTime();
+            return;
+         }
+
+         if( hepoch )
+         {
+            if( hzcount29 )
+            {
+               GPSZcount29 tt;
+               tt.setFromInfo( info );
+               t = tt.convertToCommonTime();
+               return;
+            }
+
+            if( hweek )
+            {
+               GPSEpochWeekSecond tt;
+               tt.setFromInfo( info );
+               if( hdow && !hsow )
+               {
+                  tt.sow = asInt( info['w'] ) * SEC_PER_DAY;
+                  if( hsod )
+                  {
+                     tt.sow += asDouble( info['s'] );
+                  }
+                  else if( hhour && hmin && hsec )
+                  {
+                     tt.sow += convertTimeToSOD( asInt( info['H'] ), 
+                                                 asInt( info['M'] ), 
+                                                 asDouble( info['S'] ) );
+                  }
+               }
+               t = tt.convertToCommonTime();
+               return;
+
+            } // end of if( hweek )
+
+         } // end of if( hepoch )
+         
+         if( hfullweek )
+         {
+            if( hzcount )
+            {
+               GPSWeekZcount tt;
+               tt.setFromInfo( info );
+               t = tt.convertToCommonTime();
+               return;
+            }
+            
+            GPSWeekSecond tt;
+            tt.setFromInfo( info );
+            if( hdow && !hsow )
+            {
+               tt.sow = asInt( info['w'] ) * SEC_PER_DAY;
+               if( hsod )
+               {
+                  tt.sow += asDouble( info['s'] );
+               }
+               else if( hhour && hmin && hsec )
+               {
+                  tt.sow += convertTimeToSOD( asInt( info['H'] ), 
+                                              asInt( info['M'] ), 
+                                              asDouble( info['S'] ) );
+               }
+            }
+            t = tt.convertToCommonTime();
+            return;
+         } // end of if( hfullweek )
+
+         if( hmjd )
+         {
+            MJD tt;
+            tt.setFromInfo( info );
+            t = tt.convertToCommonTime();
+            return;
+         }
+
+         if( hjulian )
+         {
+            JulianDate tt;
+            tt.setFromInfo( info );
+            t = tt.convertToCommonTime();
+            return;
+         }
+
+         if( hansi )
+         {
+            ANSITime tt;
+            tt.setFromInfo( info );
+            t = tt.convertToCommonTime();
+            return;
+         } 
+         
+         if( hunixsec || hunixusec )
+         {
+            UnixTime tt;
+            tt.setFromInfo( info );
+            t = tt.convertToCommonTime();
+            return;
+         }
+
+         InvalidRequest ir("Incomplete time specification for readTime");
+         GPSTK_THROW( ir );
+      }
+      catch( gpstk::StringUtils::StringException& se )
+      {
+         GPSTK_RETHROW( se );
+      }
+   }   
+
+} // namespace gpstk
diff --git a/trunk/src/TimeString.hpp b/trunk/src/TimeString.hpp
new file mode 100644
index 0000000..21d7a94
--- /dev/null
+++ b/trunk/src/TimeString.hpp
@@ -0,0 +1,35 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeString.hpp#4 $"
+
+#ifndef GPSTK_TIMESTRING_HPP
+#define GPSTK_TIMESTRING_HPP
+
+#include "TimeTag.hpp"
+#include "CommonTime.hpp"
+
+namespace gpstk
+{
+   std::string printTime( const TimeTag& t,
+                          const std::string& fmt )
+      throw( gpstk::StringUtils::StringException );
+
+   std::string printTime( const CommonTime& t,
+                          const std::string& fmt )
+      throw( gpstk::StringUtils::StringException );
+   
+      /// Fill the TimeTag object \a btime with time information found in
+      /// string \a str formatted according to string \a fmt.
+   void scanTime( TimeTag& btime,
+                  const std::string& str,
+                  const std::string& fmt )
+      throw( gpstk::InvalidRequest,
+             gpstk::StringUtils::StringException );
+   
+   void scanTime( CommonTime& t,
+                  const std::string& str,
+                  const std::string& fmt )
+      throw( gpstk::InvalidRequest,
+             gpstk::StringUtils::StringException );
+   
+} // namespace
+
+#endif // GPSTK_TIMESTRING_HPP
diff --git a/trunk/src/TimeTag.cpp b/trunk/src/TimeTag.cpp
new file mode 100644
index 0000000..d8d9531
--- /dev/null
+++ b/trunk/src/TimeTag.cpp
@@ -0,0 +1,168 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeTag.cpp#2 $"
+
+#include "TimeTag.hpp"
+#include "StringUtils.hpp"
+
+namespace gpstk
+{
+   const std::string TimeTag::formatPrefixInt( "%[ 0-]?[[:digit:]]*" );
+   const std::string TimeTag::formatPrefixFloat( TimeTag::formatPrefixInt + 
+                                                 "(\\.[[:digit:]]+)?" );
+   
+   void TimeTag::scanf( const std::string& str,
+                        const std::string& fmt )
+      throw( gpstk::InvalidRequest,
+             gpstk::StringUtils::StringException )
+   {
+      try
+      {
+            // Get the mapping of character (from fmt) to value (from str).
+         IdToValue info;
+         getInfo( str, fmt, info );
+         
+            // Attempt to set this object using the IdToValue object
+         if( !setFromInfo( info ) )
+         {
+            gpstk::InvalidRequest ir( "Incomplete time specification." );
+            GPSTK_THROW( ir );
+         }
+      }
+      catch( gpstk::StringUtils::StringException& se )
+      {
+         GPSTK_RETHROW( se );
+      }
+   }
+   
+   void TimeTag::getInfo( const std::string& str,
+                          const std::string& fmt,
+                          IdToValue& info )
+      throw( gpstk::StringUtils::StringException ) 
+   {
+      try
+      {
+         using namespace gpstk::StringUtils;
+
+            // Copy the arguments to strings we can modify.
+         std::string f = fmt;
+         std::string s = str;
+      
+            // Parse strings...  As we process each part, it's removed from both
+            // strings so when we reach 0, we're done
+         while( !s.empty() && !f.empty() )
+         {
+               // Remove everything in f and s up to the first % in f
+               // (these parts of the strings must be identical or this will 
+               // break after it tries to remove it!)
+            while ( !s.empty() && 
+                    !f.empty() && 
+                    ( f[0] != '%' ) )
+            {
+                  // remove that character now and other whitespace
+               s.erase( 0, 1 );
+               f.erase( 0, 1 );
+               stripLeading( s );
+               stripLeading( f );
+            }
+         
+               // check just in case we hit the end of either string...
+            if ( s.empty() || f.empty() )
+            {
+               break;
+            }
+            
+               // lose the '%' in f...
+            f.erase( 0, 1 );
+            
+               // If the format string is %03f, get '3' as the field length.
+            std::string::size_type fieldLength = std::string::npos;
+            
+            if( !isalpha( f[0] ) )
+            {
+               fieldLength = asInt( f );
+               
+                  // remove everything else up to the next character
+                  // (in "%03f", that would be 'f')
+               while ( ( !f.empty() ) && 
+                       ( !isalpha( f[0] ) ) )
+               {
+                  f.erase( 0, 1 );
+               }
+               
+               if ( f.empty() )
+               {
+                  break;
+               }
+            }
+            
+               // finally, get the character that should end this field, if any
+            char delimiter = 0;
+            if ( f.size() > 1 )
+            {
+               if ( f[1] != '%' )
+               {
+                  delimiter = f[1];
+                  
+                  if ( fieldLength == std::string::npos )
+                  {
+                     fieldLength = s.find( delimiter, 0 );
+                  }
+               }
+                  // if the there is no delimiter character and the next field
+                  // is another part of the time to parse, assume the length
+                  // of this field is 1
+               else if ( fieldLength == std::string::npos )
+               {
+                  fieldLength = 1;
+               }
+            }
+            
+               // figure out the next string to be removed.  if there is a field
+               // length, use that first
+            std::string value( s.substr( 0, fieldLength ) );
+            
+               // based on char at f[0], we know what to do...
+            info[ f[0] ] = value;
+            
+               // remove the part of str that we processed
+            stripLeading( s, value, 1 );
+            
+               // remove the character we processed from fmt
+            f.erase( 0, 1 );    
+            
+               // check for whitespace again...
+            stripLeading( f );
+            stripLeading( s );
+
+         } // end of while( (s.size() > 0) && (f.size() > 0) )
+         
+         if ( !s.empty() ) 
+         {
+               // throw an error - something didn't get processed in the strings
+            gpstk::StringUtils::StringException se(
+               "Processing error - parts of strings left unread - " + s );
+            GPSTK_THROW( se );
+         }
+         
+         if ( !f.empty() )
+         {
+               // throw an error - something didn't get processed in the strings
+            gpstk::StringUtils::StringException se(
+               "Processing error - parts of strings left unread - " + f );
+            GPSTK_THROW( se );
+         }
+         
+      }
+      catch( gpstk::StringUtils::StringException& se )
+      {
+         GPSTK_RETHROW( se );
+      }
+   }
+
+} // namespace
+
+std::ostream& operator<<( std::ostream& s,
+                          const gpstk::TimeTag& t )
+{
+   s << t.printf( t.getDefaultFormat() );
+   return s;
+}
diff --git a/trunk/src/TimeTag.hpp b/trunk/src/TimeTag.hpp
new file mode 100644
index 0000000..811afb0
--- /dev/null
+++ b/trunk/src/TimeTag.hpp
@@ -0,0 +1,121 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TimeTag.hpp#2 $"
+
+#ifndef GPSTK_TIMETAG_HPP
+#define GPSTK_TIMETAG_HPP
+
+#include "CommonTime.hpp"
+#include "StringUtils.hpp"
+#include <map>
+
+namespace gpstk
+{
+      /** This class is an abstract base class inherited by all the classes
+       * that provide a specific time representation.
+       * These time representations must ensure or provide a way for the 
+       * user to verify their own self-consistency.
+       */
+   class TimeTag
+   {
+   public:
+      
+         /// This is the regular expression prefix that is used when 
+         /// searching for integer specifiers.
+      static const std::string formatPrefixInt;
+         /// This is the regular expression prefix that is used when
+         /// searching for float specifiers.
+      static const std::string formatPrefixFloat;
+
+         /// Virtual Destructor.
+      virtual ~TimeTag() 
+         throw()
+      {}
+      
+         /// This function probably won't throw exceptions because if you can
+         /// represent a time in this format, you can probably represent it in
+         /// the Common format.
+      virtual CommonTime convertToCommonTime() const = 0;
+      
+         /// This function may throw exceptions b/c it is possible that it may
+         /// not be possible to represent the  time specified by the Common 
+         /// object "bt" in this object.
+      virtual void convertFromCommonTime( const CommonTime& ct ) = 0;
+
+         /// This function formats this time to a string.  The exceptions 
+         /// thrown would only be due to problems parsing the fmt string.
+         /// 
+      virtual std::string printf(const std::string& fmt) const
+         throw( gpstk::StringUtils::StringException ) = 0;
+
+         /**
+          * This function sets this object to the time stored in the given
+          * string \a str.
+          * @param str the string to parse
+          * @param fmt the string containing the time format
+          * @throw InvalidRequest if an invalid time is given.
+          * @throw StringException on problems parsing the strings.
+          */
+      virtual void scanf( const std::string& str,
+                          const std::string& fmt )
+         throw( gpstk::InvalidRequest,
+                gpstk::StringUtils::StringException );
+
+         /// This type maps a character ( from a time format ) to its
+         /// corresponding value ( from a time string ).
+      typedef std::map< char, std::string> IdToValue;
+      
+         /**
+          * This is the workhorse for the scanf family of functions.  It parses
+          * the given string \a str with the given format \a fmt in order to
+          * extract a time or part of a time from \a str. 
+          * @param str the string from which to cull time information 
+          * @param fmt the string containing the time format 
+          * @param info a mapping of all of the character identifier to their 
+          *  respective culled time information
+          * @throw StringException on problems parsing the strings.
+          */
+      static void getInfo( const std::string& str,
+                           const std::string& fmt,
+                           IdToValue& info )
+         throw( gpstk::StringUtils::StringException );
+
+         /**
+          * Set this object using the information provided in \a info.
+          * @param info the IdToValue object to which this object shall be set.
+          * @return true if this object was successfully set using the 
+          *  data in \a info, false if not.
+          */
+      virtual bool setFromInfo( const IdToValue& info )
+         throw() = 0;
+      
+         /// Return a string containing the characters that this class
+         /// understands when printing times.
+      virtual std::string getPrintChars() const
+         throw() = 0;
+
+         /// Return a string containing the default format to use in printing.
+      virtual std::string getDefaultFormat() const
+         throw() = 0;
+
+         /// Format this time as a string using a format specified by the 
+         /// inheriting class.
+      virtual std::string asString() const
+         throw( gpstk::StringUtils::StringException )
+      { return printf( getDefaultFormat() ); }
+
+         /// Hey, it's an implicit casting operator!  Basically just a lazy
+         /// way to get at convertToCommonTime().
+      operator CommonTime() const
+      { return convertToCommonTime(); }
+
+         /// Returns true if this object's members are valid, false otherwise.
+      virtual bool isValid() const
+         throw() = 0;
+
+   };
+
+} // namespace
+
+std::ostream& operator<<( std::ostream& s,
+                          const gpstk::TimeTag& t );
+
+#endif // GPSTK_BASETIME_HPP
diff --git a/trunk/src/Triple.cpp b/trunk/src/Triple.cpp
new file mode 100644
index 0000000..bc7606c
--- /dev/null
+++ b/trunk/src/Triple.cpp
@@ -0,0 +1,255 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Triple.cpp#3 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file Triple.cpp
+ * Three element double vectors, for use with geodetic coordinates
+ */
+
+#include "geometry.hpp"
+#include "Triple.hpp"
+#include <cmath>
+
+namespace gpstk
+{
+   using namespace std;
+
+   Triple :: Triple()
+         : theArray(3)
+   {
+   }
+
+   Triple :: Triple(const Triple& right)
+      : theArray(right.theArray)
+   {
+   }
+
+   Triple :: Triple(double a, 
+                    double b,
+                    double c)
+      : theArray(3)
+   {
+      theArray[0] = a;
+      theArray[1] = b;
+      theArray[2] = c;
+   }
+
+   Triple& Triple :: operator=(const Triple& right)
+   {
+      theArray = right.theArray;
+      return *this;
+   }
+
+   Triple& Triple :: operator=(const valarray<double>& right)
+      throw(GeometryException)
+   {
+      if (right.size() != 3)
+      {
+         GPSTK_THROW(GeometryException("Incorrect vector size"));
+      }
+
+      theArray = right;
+      return *this;
+   }
+
+      // returns the dot product of the two vectors
+   double Triple :: dot(const Triple& right) const
+      throw()
+   {
+      Triple z;
+      z = (this->theArray)*(right.theArray);
+      double a = z.theArray.sum();
+      return a;
+   }
+
+
+      // retuns v1 x v2 , vector cross product
+   Triple Triple :: cross(const Triple& right) const
+      throw()
+   {
+      Triple cp;
+      cp[0] = (*this)[1] * right[2] - (*this)[2] * right[1];
+      cp[1] = (*this)[2] * right[0] - (*this)[0] * right[2];
+      cp[2] = (*this)[0] * right[1] - (*this)[1] * right[0];
+      return cp;
+   }
+
+
+   double Triple :: mag() const throw()
+   {
+      return ::sqrt(dot(*this));
+   }
+
+   Triple Triple::unitVector() const
+   {
+      double mag = sqrt(dot(*this));
+      Triple retArg;
+      retArg[0] = (*this)[0] / mag;
+      retArg[1] = (*this)[1] / mag;
+      retArg[2] = (*this)[2] / mag;
+      return(retArg);
+   }
+
+      // function that returns the cosine of angle between this and right
+   double Triple :: cosVector(const Triple& right) const
+      throw()
+   {
+      double rx, ry, cosvects;
+   
+      rx = dot(*this);
+      ry = right.dot(right);
+      cosvects = dot(right) / ::sqrt(rx * ry);
+
+      /* this if checks for and corrects round off error */
+      if (fabs(cosvects) > 1.0e0)
+      {
+         cosvects = fabs(cosvects) / cosvects;
+      }
+
+      return cosvects;
+   }
+
+
+      // Computes the slant range between two vectors
+   double Triple :: slantRange(const Triple& right) const
+      throw()
+   {
+      Triple z;
+      z = right.theArray - this->theArray;
+      double r = z.mag();
+      return r;
+   }
+
+
+      // Finds the elevation angle of the second point with respect to
+      // the first point
+   double Triple :: elvAngle(const Triple& right) const
+      throw()
+   {
+      Triple z;
+      z = right.theArray - this->theArray;
+      double c = z.cosVector(*this);
+      return 90.0 - ::acos(c) * RAD_TO_DEG;
+   }
+
+
+      //  Calculates a satellites azimuth from a station
+   double Triple :: azAngle(const Triple& right) const
+      throw(GeometryException)
+   {
+      double xy, xyz, cosl, sinl, sint, xn1, xn2, xn3, xe1, xe2;
+      double z1, z2, z3, p1, p2, test, alpha;
+
+      xy = (*this)[0] * (*this)[0] + (*this)[1] * (*this)[1] ;
+      xyz = xy + (*this)[2] * (*this)[2] ;
+      xy = ::sqrt(xy);
+      xyz = ::sqrt(xyz);
+
+      cosl = (*this)[0] / xy;
+      sinl = (*this)[1] / xy;
+      sint = (*this)[2] / xyz;
+
+      xn1 = -sint * cosl;
+      xn2 = -sint * sinl;
+      xn3 = xy/xyz;
+
+      xe1 = -sinl;
+      xe2 = cosl;
+
+      z1 = right[0] - (*this)[0];
+      z2 = right[1] - (*this)[1];
+      z3 = right[2] - (*this)[2];
+
+      p1 = (xn1 * z1) + (xn2 * z2) + (xn3 * z3) ;
+      p2 = (xe1 * z1) + (xe2 * z2) ;
+
+      test = fabs(p1) + fabs(p2);
+
+      if (test < 1.0e-16)
+      {
+         GPSTK_THROW(GeometryException("azAngle(), failed p1+p2 test."));
+      }
+
+      alpha = 90 - ::atan2(p1, p2) * RAD_TO_DEG;
+      if (alpha < 0)
+      {
+         return alpha + 360;
+      }
+      else 
+      {
+         return alpha;
+      }
+   }
+
+   Triple Triple :: operator-(const Triple& right) const
+   { 
+      Triple tmp;
+      tmp.theArray = this->theArray - right.theArray;
+      return tmp;
+   }
+
+   Triple Triple :: operator+(const Triple& right) const
+   { 
+      Triple tmp; 
+      tmp.theArray = this->theArray + right.theArray; 
+      return tmp;
+   }
+
+   std::ostream& operator<<(std::ostream& s, 
+                            const gpstk::Triple& v)
+   {
+      if (v.size() > 0)
+      {  
+         s << "(" << v[0];
+         for (int i = 1; i < v.size(); i++)
+         {
+            s << ", " << v[i];
+         }
+         s << ")";
+      }
+      
+      return s;   
+   }
+
+} // namespace gpstk
+
diff --git a/trunk/src/Triple.hpp b/trunk/src/Triple.hpp
new file mode 100644
index 0000000..4f445db
--- /dev/null
+++ b/trunk/src/Triple.hpp
@@ -0,0 +1,206 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Triple.hpp#3 $"
+
+/**
+ * @file Triple.hpp
+ * Three element double vectors, for use with geodetic coordinates
+ */
+
+#ifndef GPSTK_TRIPLE_HPP
+#define GPSTK_TRIPLE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <valarray>
+#include "Exception.hpp"
+
+namespace gpstk
+{
+    /** @addtogroup geodeticgroup */
+    //@{
+
+      /// Thrown when a gpstk::Triple operation can't be completed.
+      /// @ingroup exceptiongroup
+   NEW_EXCEPTION_CLASS(GeometryException, gpstk::Exception);
+
+      /**
+       * Three-dimensional vectors.  This class provides mathematical
+       * functions for 3D vectors, including some functions specific
+       * to orbital tracking.
+       */
+   class Triple
+   {
+   public:
+         /// Default constructor, initialize as triple.
+      Triple();
+
+         /// Copy constructor.
+      Triple(const Triple& right);
+
+         /// Construct from three doubles.
+      Triple(double a, 
+             double b, 
+             double c);
+
+         /// Destructor
+      virtual ~Triple() {}
+
+         /// Assignment operator.
+      Triple& operator=(const Triple& right);
+
+         /** Assign from valarray.
+          * @throw GeometryException if right.size() != 3.
+          */
+      Triple& operator=(const std::valarray<double>& right)
+         throw(GeometryException);
+
+         /**
+          * Computes the Dot Product of two vectors
+          * @param right vector to compute dot product with.
+          * @return The dot product of \c this and \c right
+          */
+      double dot(const Triple& right) const 
+         throw();
+   
+         /**
+          * Computes the Cross Product of two vectors
+          * @param right vector to compute cross product with
+          * @return The cross product of \c v1 and \c v2
+          */
+      Triple cross(const Triple& right) const
+         throw();
+   
+         /**
+          * Computes the Magnigude of this vector
+          */
+      double mag() const 
+         throw();
+   
+         /**
+          * Returns the unit vector of this vector
+          */
+      Triple unitVector() const;
+      
+         /**
+          * Computes the Cosine of the Angle Between this vector and another.
+          * @param right the other vector
+          * @return The cosine of the angle between \c this and \c right
+          */
+      double cosVector(const Triple& right) const 
+         throw();
+      
+         /**
+          * Computes the slant range between this vector and another
+          * @param right A Vector
+          * @return The slant range between \c this and \c right
+          */
+      double slantRange(const Triple& right) const 
+         throw();
+      
+         /**
+          * Computes the elevation of a point with respect to this
+          * point.
+          * @param right The second point
+          * @return The elevation of \c right relative to \c this
+          */
+      double elvAngle(const Triple& right) const 
+         throw();
+      
+         /**
+          * Computes an azimuth from this point.
+          * @param right The position to determine azimuth of.
+          * @return The azimuth of \c right relative to \c this
+          */ 
+      double azAngle(const Triple& right) const 
+         throw(GeometryException);
+      
+         /**
+          * Return a reference to the element at /a index.
+          * @param index the index of the element to return.
+          * @return the reference to the requested element.
+          */
+      double& operator[](const size_t index)
+         { return theArray[index]; }
+
+         /**
+          * Return the value of the element at /a index.
+          * @param index the index of the element to return.
+          * @return the value of the element at /a index.
+          */
+      double operator[](const size_t index) const
+         { return theArray[index]; }
+
+         /**
+          * Difference Operator.
+          * @param right the Triple to subtract from this object
+          * @return a Triple containing the difference between *this and right
+          */
+      Triple operator-(const Triple& right) const ;
+
+         /**
+          * Sum Operator.
+          * @param right the Triple to add to this object
+          * @return a Triple containing the sum of *this and right
+          */
+      Triple operator+(const Triple& right) const ;
+
+         /// Return the size of this object.
+      size_t size(void) const
+         { return theArray.size(); }
+
+         /**
+          * Output operator for dvec
+          * @param s output stream to which \c v is sent
+          * @param v dvec that is sent to \c s
+          */
+      friend std::ostream& operator<<(std::ostream& s, 
+                                      const gpstk::Triple& v);
+      
+      std::valarray<double> theArray;
+
+   }; // class Triple
+
+   //@}
+
+} // namespace gpstk
+
+
+#endif
diff --git a/trunk/src/TropModel.cpp b/trunk/src/TropModel.cpp
new file mode 100644
index 0000000..e883c01
--- /dev/null
+++ b/trunk/src/TropModel.cpp
@@ -0,0 +1,1700 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TropModel.cpp#8 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file TropModel.cpp
+ * Base class for tropospheric models, plus implementations of several
+ * published models
+ */
+
+#include "TropModel.hpp"
+#include "EphemerisRange.hpp"             // for Elevation()
+#include "MathBase.hpp"                   // SQRT
+#include "geometry.hpp"                   // DEG_TO_RAD
+#include "GPSGeoid.hpp"                   // geoid.a() = R earth
+#include "icd_200_constants.hpp"          // TWO_PI
+#include "Geodetic.hpp"
+#include "ECEF.hpp"
+#include "WGS84Geoid.hpp"
+
+namespace gpstk
+{
+      // for temperature conversion from Celcius to Kelvin
+   static const double CELSIUS_TO_KELVIN = 273.15;
+
+      // for Geodetic coordinate conversion
+   WGS84Geoid WGS84;
+
+      // Compute and return the full tropospheric delay. Typically call
+      // setWeather(T,P,H) before making this call.
+      // @param elevation Elevation of satellite as seen at receiver, in degrees
+   double TropModel::correction(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid)
+         GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+      if(elevation < 0.0)
+         return 0.0;
+
+      return (dry_zenith_delay() * dry_mapping_function(elevation)
+            + wet_zenith_delay() * wet_mapping_function(elevation));
+
+   }  // end TropModel::correction(elevation)
+
+      // Compute and return the full tropospheric delay, given the positions of
+      // receiver and satellite and the time tag. This version is most useful
+      // within positioning algorithms, where the receiver position and timetag may
+      // vary; it computes the elevation (and other receiver location information)
+      // and passes them to appropriate set...() routines and the
+      // correction(elevation) routine.
+      // @param RX  Receiver position in ECEF cartesian coordinates (meters)
+      // @param SV  Satellite position in ECEF cartesian coordinates (meters)
+      // @param tt  Time tag of the signal 
+   double TropModel::correction(const Position& RX,
+                                const Position& SV,
+                                const DayTime& tt)
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid)
+         GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+      double c;
+      try
+      {
+         c = correction(RX.elevation(SV));
+      }
+      catch(InvalidTropModel& e)
+      {
+         GPSTK_RETHROW(e);
+      }
+      return c;
+   }  // end TropModel::correction(RX,SV,TT)
+
+      // Re-define the tropospheric model with explicit weather data.
+      // Typically called just before correction().
+      // @param T temperature in degrees Celsius
+      // @param P atmospheric pressure in millibars
+      // @param H relative humidity in percent
+   void TropModel::setWeather(const double& T,
+                              const double& P,
+                              const double& H)
+      throw(InvalidParameter)
+   {
+      temp = T + CELSIUS_TO_KELVIN;
+      press = P;
+      humid = H;
+      if (temp < 0.0)
+      {
+         valid = false;
+         GPSTK_THROW(InvalidParameter("Invalid temperature parameter."));
+      }
+      if (press < 0.0)
+      {
+         valid = false;
+         GPSTK_THROW(InvalidParameter("Invalid pressure parameter."));
+      }
+      if (humid < 0.0 || humid > 100.0)
+      {
+         valid = false;
+         GPSTK_THROW(InvalidParameter("Invalid humidity parameter."));
+      }         
+   }  // end TropModel::setWeather(T,P,H)
+   
+      // Re-define the tropospheric model with explicit weather data.
+      // Typically called just before correction().
+      // @param wx the weather to use for this correction       
+   void TropModel::setWeather(const WxObservation& wx)
+      throw(InvalidParameter)
+   {
+      if (wx.isAllValid())
+      {
+         try
+         {
+            setWeather(wx.temperature, wx.pressure, wx.humidity);
+            valid = true;
+         }
+         catch(InvalidParameter& e)
+         {
+            valid = false;
+            GPSTK_RETHROW(e);
+         }
+      }
+      else
+      {
+         valid = false;
+         GPSTK_THROW(InvalidParameter("Invalid weather data"));
+      }
+   }
+         
+   // -------------------------------------------------------------------------------
+   // Simple Black model. This has been used as the 'default' for many years.
+
+      // Default constructor
+   SimpleTropModel::SimpleTropModel(void)
+   {
+      setWeather(20.0, 980.0, 50.0);
+      Cwetdelay = 0.122382715318184;
+      Cdrydelay = 2.235486646978727;
+      Cwetmap = 1.000282213715744;
+      Cdrymap = 1.001012704615527;
+      valid = true;
+   }
+
+      // Creates a trop model from a weather observation
+      // @param wx the weather to use for this correction.
+   SimpleTropModel::SimpleTropModel(const WxObservation& wx)
+      throw(InvalidParameter)
+   {
+      setWeather(wx);
+      valid = true;
+   }
+
+      // Create a tropospheric model from explicit weather data
+      // @param T temperature in degrees Celsius
+      // @param P atmospheric pressure in millibars
+      // @param H relative humidity in percent
+   SimpleTropModel::SimpleTropModel(const double& T,
+                                    const double& P,
+                                    const double& H)
+      throw(InvalidParameter)
+   {
+      setWeather(T,P,H);
+      valid = true;
+   }
+
+      // Re-define the tropospheric model with explicit weather data.
+      // Typically called just before correction().
+      // @param T temperature in degrees Celsius
+      // @param P atmospheric pressure in millibars
+      // @param H relative humidity in percent
+   void SimpleTropModel::setWeather(const double& T,
+                                    const double& P,
+                                    const double& H)
+      throw(InvalidParameter)
+   {
+      TropModel::setWeather(T,P,H);
+      GPSGeoid geoid;
+      Cdrydelay = 2.343*(press/1013.25)*(temp-3.96)/temp;
+      double tks = temp * temp;
+      Cwetdelay = 8.952/tks*humid*exp(-37.2465+0.213166*temp-(0.256908e-3)*tks);
+      Cdrymap =1.0+(0.15)*148.98*(temp-3.96)/geoid.a();
+      Cwetmap =1.0+(0.15)*12000.0/geoid.a();
+      valid = true;
+   }  // end SimpleTropModel::setWeather(T,P,H)
+
+      // Re-define the tropospheric model with explicit weather data.
+      // Typically called just before correction().
+      // @param wx the weather to use for this correction       
+   void SimpleTropModel::setWeather(const WxObservation& wx)
+      throw(InvalidParameter)
+   {
+      TropModel::setWeather(wx);
+   }
+
+      // Compute and return the zenith delay for dry component of the troposphere
+   double SimpleTropModel::dry_zenith_delay(void) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid)
+         GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+      return Cdrydelay;
+   }
+
+      // Compute and return the zenith delay for wet component of the troposphere
+   double SimpleTropModel::wet_zenith_delay(void) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid)
+         GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+      return Cwetdelay;
+   }
+
+      // Compute and return the mapping function for dry component
+      // of the troposphere
+      // @param elevation is the Elevation of satellite as seen at receiver,
+      //                  in degrees
+   double SimpleTropModel::dry_mapping_function(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid)
+         GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+      if(elevation < 0.0) return 0.0;
+
+      double d = cos(elevation*DEG_TO_RAD);
+      d /= Cdrymap;
+      return (1.0/SQRT(1.0-d*d));
+   }
+
+      // Compute and return the mapping function for wet component
+      // of the troposphere
+      // @param elevation is the Elevation of satellite as seen at receiver,
+      //                  in degrees
+   double SimpleTropModel::wet_mapping_function(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid)
+         GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+      if(elevation < 0.0) return 0.0;
+
+      double d = cos(elevation*DEG_TO_RAD);
+      d /= Cwetmap;
+      return (1.0/SQRT(1.0-d*d));
+   }
+
+   // -------------------------------------------------------------------------------
+   // Tropospheric model based on Goad and Goodman(1974),
+   // "A Modified Hopfield Tropospheric Refraction Correction Model," Paper
+   // presented at the Fall Annual Meeting of the American Geophysical Union,
+   // San Francisco, December 1974.
+   // See Leick, "GPS Satellite Surveying," Wiley, NY, 1990, Chapter 9,
+   // particularly Table 9.1.
+   // -------------------------------------------------------------------------------
+ 
+   static const double GGdryscale = 8594.777388436570600;
+   static const double GGwetscale = 2540.042008403690900;
+
+      // Default constructor
+   GGTropModel::GGTropModel(void)
+   {
+      TropModel::setWeather(20.0, 980.0, 50.0);
+      Cdrydelay = 2.59629761092150147e-4;    // zenith delay, dry
+      Cwetdelay = 4.9982784999977412e-5;     // zenith delay, wet
+      Cdrymap = 42973.886942182834900;       // height for mapping, dry
+      Cwetmap = 12700.210042018454260;       // height for mapping, wet
+      valid = true;
+   }  // end GGTropModel::GGTropModel()
+
+      // Creates a trop model from a weather observation
+      // @param wx the weather to use for this correction.
+   GGTropModel::GGTropModel(const WxObservation& wx)
+      throw(InvalidParameter)
+   {
+      setWeather(wx);
+      valid = true;
+   }  // end GGTropModel::GGTropModel(weather)
+
+      // Create a tropospheric model from explicit weather data
+      // @param T temperature in degrees Celsius
+      // @param P atmospheric pressure in millibars
+      // @param H relative humidity in percent
+   GGTropModel::GGTropModel(const double& T,
+                            const double& P,
+                            const double& H)
+      throw(InvalidParameter)
+   {
+      setWeather(T,P,H);
+      valid = true;
+   } // end GGTropModel::GGTropModel()
+
+   double GGTropModel::dry_zenith_delay(void) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid)
+         GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+      return (Cdrydelay * GGdryscale);
+   }  // end GGTropModel::dry_zenith_delay()
+
+   double GGTropModel::wet_zenith_delay(void) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid)
+         GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+      return (Cwetdelay * GGwetscale);
+   }  // end GGTropModel::wet_zenith_delay()
+
+   double GGTropModel::dry_mapping_function(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid)
+         GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+      if(elevation < 0.0) return 0.0;
+
+      GPSGeoid geoid;
+      double ce=cos(elevation*DEG_TO_RAD), se=sin(elevation*DEG_TO_RAD);
+      double ad = -se/Cdrymap;
+      double bd = -ce*ce/(2.0*geoid.a()*Cdrymap);
+      double Rd = SQRT((geoid.a()+Cdrymap)*(geoid.a()+Cdrymap)
+                - geoid.a()*geoid.a()*ce*ce) - geoid.a()*se;
+
+      double Ad[9], ad2=ad*ad, bd2=bd*bd;
+      Ad[0] = 1.0;
+      Ad[1] = 4.0*ad;
+      Ad[2] = 6.0*ad2 + 4.0*bd;
+      Ad[3] = 4.0*ad*(ad2+3.0*bd);
+      Ad[4] = ad2*ad2 + 12.0*ad2*bd + 6.0*bd2;
+      Ad[5] = 4.0*ad*bd*(ad2+3.0*bd);
+      Ad[6] = bd2*(6.0*ad2+4.0*bd);
+      Ad[7] = 4.0*ad*bd*bd2;
+      Ad[8] = bd2*bd2;
+
+         // compute dry component of the mapping function
+      double sumd=0.0;
+      for(int j=9; j>=1; j--) {
+         sumd += Ad[j-1]/double(j);
+         sumd *= Rd;
+      }
+      return sumd/GGdryscale;
+
+   }  // end GGTropModel::dry_mapping_function(elev)
+
+      // compute wet component of the mapping function
+   double GGTropModel::wet_mapping_function(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid)
+         GPSTK_THROW(InvalidTropModel("Invalid model"));
+
+      if(elevation < 0.0) return 0.0;
+
+      GPSGeoid geoid;
+      double ce = cos(elevation*DEG_TO_RAD), se = sin(elevation*DEG_TO_RAD);
+      double aw = -se/Cwetmap;
+      double bw = -ce*ce/(2.0*geoid.a()*Cwetmap);
+      double Rw = SQRT((geoid.a()+Cwetmap)*(geoid.a()+Cwetmap)
+                - geoid.a()*geoid.a()*ce*ce) - geoid.a()*se;
+
+      double Aw[9], aw2=aw*aw, bw2=bw*bw;
+      Aw[0] = 1.0;
+      Aw[1] = 4.0*aw;
+      Aw[2] = 6.0*aw2 + 4.0*bw;
+      Aw[3] = 4.0*aw*(aw2+3.0*bw);
+      Aw[4] = aw2*aw2 + 12.0*aw2*bw + 6.0*bw2;
+      Aw[5] = 4.0*aw*bw*(aw2+3.0*bw);
+      Aw[6] = bw2*(6.0*aw2+4.0*bw);
+      Aw[7] = 4.0*aw*bw*bw2;
+      Aw[8] = bw2*bw2;
+
+      double sumw=0.0;
+      for(int j=9; j>=1; j--) {
+         sumw += Aw[j-1]/double(j);
+         sumw *= Rw;
+      }
+      return sumw/GGwetscale;
+
+   }  // end GGTropModel::wet_mapping_function(elev)
+
+   void GGTropModel::setWeather(const double& T,
+                                const double& P,
+                                const double& H)
+      throw(InvalidParameter)
+   {
+      TropModel::setWeather(T,P,H);
+      double th=300./temp;
+         // water vapor partial pressure (mb)
+         // this comes from Leick and is not good.
+         // double wvpp=6.108*(RHum*0.01)*exp((17.15*Tk-4684.0)/(Tk-38.45));
+      double wvpp=2.409e9*humid*th*th*th*th*exp(-22.64*th);
+      Cdrydelay = 7.7624e-5*press/temp;
+      Cwetdelay = 1.0e-6*(-12.92+3.719e+05/temp)*(wvpp/temp);
+      Cdrymap = (5.0*0.002277*press)/Cdrydelay;
+      Cwetmap = (5.0*0.002277/Cwetdelay)*(1255.0/temp+0.5)*wvpp;
+      valid = true;
+   }  // end GGTropModel::setWeather(T,P,H)
+
+      // Re-define the tropospheric model with explicit weather data.
+      // Typically called just before correction().
+      // @param wx the weather to use for this correction       
+   void GGTropModel::setWeather(const WxObservation& wx)
+      throw(InvalidParameter)
+   {
+      TropModel::setWeather(wx);
+   }
+
+   // -------------------------------------------------------------------------------
+   // Tropospheric model with heights based on Goad and Goodman(1974),
+   // "A Modified Hopfield Tropospheric Refraction Correction Model," Paper
+   // presented at the Fall Annual Meeting of the American Geophysical Union,
+   // San Francisco, December 1974.
+   // (Not the same as GGTropModel because this has height dependence,
+   // and the computation of this model does not break cleanly into
+   // wet and dry components.)
+
+      // Default constructor
+   GGHeightTropModel::GGHeightTropModel(void)
+   {
+      validWeather = false; //setWeather(20.0,980.0,50.0);
+      validHeights = false; //setHeights(0.0,0.0,0.0);
+      validRxHeight = false;
+   }
+
+      // Creates a trop model from a weather observation
+      // @param wx the weather to use for this correction.
+   GGHeightTropModel::GGHeightTropModel(const WxObservation& wx)
+      throw(InvalidParameter)
+   {
+      valid = validRxHeight = validHeights = false;
+      setWeather(wx);
+   }
+
+      // Create a tropospheric model from explicit weather data
+      // @param T temperature in degrees Celsius
+      // @param P atmospheric pressure in millibars
+      // @param H relative humidity in percent
+   GGHeightTropModel::GGHeightTropModel(const double& T,
+                                        const double& P,
+                                        const double& H)
+      throw(InvalidParameter)
+   {
+      validRxHeight = validHeights = false;
+      setWeather(T,P,H);
+   }
+
+      // Create a valid model from explicit input.
+      // @param T temperature in degrees Celsius
+      // @param P atmospheric pressure in millibars
+      // @param H relative humidity in percent
+      // @param hT height at which temperature applies in meters.
+      // @param hP height at which atmospheric pressure applies in meters.
+      // @param hH height at which relative humidity applies in meters.
+   GGHeightTropModel::GGHeightTropModel(const double& T,
+                                        const double& P,
+                                        const double& H,
+                                        const double hT,
+                                        const double hP,
+                                        const double hH)
+      throw(InvalidParameter)
+   {
+      validRxHeight = false;
+      setWeather(T,P,H);
+      setHeights(hT,hP,hH);
+   }
+
+      // re-define this to get the throws
+   double GGHeightTropModel::correction(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid)
+      {
+         if(!validWeather)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Weather"));
+         if(!validHeights)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Heights"));
+         if(!validRxHeight)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Rx Height"));
+      }
+      if(elevation < 0.0) return 0.0;
+
+      return (dry_zenith_delay() * dry_mapping_function(elevation)
+            + wet_zenith_delay() * wet_mapping_function(elevation));
+
+   }  // end GGHeightTropModel::correction(elevation)
+
+      // Compute and return the full tropospheric delay, given the positions of
+      // receiver and satellite and the time tag. This version is most useful
+      // within positioning algorithms, where the receiver position and timetag
+      // may vary; it computes the elevation (and other receiver location
+      // information) and passes them to appropriate set...() routines and
+      // the correction(elevation) routine.
+      // @param RX  Receiver position
+      // @param SV  Satellite position
+      // @param tt  Time tag of the signal 
+   double GGHeightTropModel::correction(const Position& RX,
+                                        const Position& SV,
+                                        const DayTime& tt)
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid)
+      {
+         if(!validWeather)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Weather"));
+         if(!validHeights)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Heights"));
+         if(!validRxHeight)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Rx Height"));
+      }
+
+      // compute height from RX
+      setReceiverHeight(RX.getHeight());
+
+      return TropModel::correction(RX.elevation(SV));
+
+   }  // end GGHeightTropModel::correction(RX,SV,TT)
+
+      // Compute and return the full tropospheric delay, given the positions of
+      // receiver and satellite and the time tag. This version is most useful
+      // within positioning algorithms, where the receiver position and timetag
+      // may vary; it computes the elevation (and other receiver location
+      // information) and passes them to appropriate set...() routines and
+      // the correction(elevation) routine.
+      // @param RX  Receiver position in ECEF cartesian coordinates (meters)
+      // @param SV  Satellite position in ECEF cartesian coordinates (meters)
+      // @param tt  Time tag of the signal 
+      // This function is deprecated; use the Position version
+   double GGHeightTropModel::correction(const Xvt& RX,
+                                        const Xvt& SV,
+                                        const DayTime& tt)
+      throw(TropModel::InvalidTropModel)
+   {
+      Position R(RX),S(SV);
+      return GGHeightTropModel::correction(R,S,tt);
+   }
+
+      // Compute and return the zenith delay for dry component of the troposphere
+   double GGHeightTropModel::dry_zenith_delay(void) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Weather"));
+         if(!validHeights)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Heights"));
+         if(!validRxHeight)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Rx Height"));
+      }
+      double hrate=6.5e-3;
+      double Ts=temp+hrate*height;
+      double em=978.77/(2.8704e4*hrate);
+      double Tp=Ts-hrate*hpress;
+      double ps=press*pow(Ts/Tp,em)/1000.0;
+      double rs=77.624e-3/Ts;
+      double ho=11.385/rs;
+      rs *= ps;
+      double zen=(ho-height)/ho;
+      zen = rs*zen*zen*zen*zen;
+         // normalize
+      zen *= (ho-height)/5;
+      return zen;
+
+   }  // end GGHeightTropModel::dry_zenith_delay()
+
+      // Compute and return the zenith delay for wet component of the troposphere
+   double GGHeightTropModel::wet_zenith_delay(void) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Weather"));
+         if(!validHeights)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Heights"));
+         if(!validRxHeight)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Rx Height"));
+      }
+      double hrate=6.5e-3; //   deg K / m
+      double Th=temp-273.15-hrate*(hhumid-htemp);
+      double Ta=7.5*Th/(237.3+Th);
+         // water vapor partial pressure
+      double e0=6.11e-5*humid*pow(10.0,Ta);
+      double Ts=temp+hrate*htemp;
+      double em=978.77/(2.8704e4*hrate);
+      double Tk=Ts-hrate*hhumid;
+      double es=e0*pow(Ts/Tk,4.0*em);
+      double rs=(371900.0e-3/Ts-12.92e-3)/Ts;
+      double ho=11.385*(1255/Ts+0.05)/rs;
+      double zen=(ho-height)/ho;
+      zen = rs*es*zen*zen*zen*zen;
+         //normalize
+      zen *= (ho-height)/5;
+      return zen;
+      
+   }  // end GGHeightTropModel::wet_zenith_delay()
+
+      // Compute and return the mapping function for dry component
+      // of the troposphere
+      // @param elevation Elevation of satellite as seen at receiver,
+      //                  in degrees
+   double GGHeightTropModel::dry_mapping_function(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Weather"));
+         if(!validHeights)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Heights"));
+         if(!validRxHeight)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Rx Height"));
+      }
+      if(elevation < 0.0) return 0.0;
+
+      double hrate=6.5e-3;
+      double Ts=temp+hrate*htemp;
+      double ho=(11.385/77.624e-3)*Ts;
+      double se=sin(elevation*DEG_TO_RAD);
+      if(se < 0.0) se=0.0;
+
+      GPSGeoid geoid;
+      double rt,a,b,rn[8],al[8],er=geoid.a();
+      rt = (er+ho)/(er+height);
+      rt = rt*rt - (1.0-se*se);
+      if(rt < 0) rt=0.0;
+      rt = (er+height)*(SQRT(rt)-se);
+      a = -se/(ho-height);
+      b = -(1.0-se*se)/(2.0*er*(ho-height));
+      rn[0] = rt*rt;
+      for(int j=1; j<8; j++) rn[j]=rn[j-1]*rt;
+      al[0] = 2*a;
+      al[1] = 2*a*a+4*b/3;
+      al[2] = a*(a*a+3*b);
+      al[3] = a*a*a*a/5+2.4*a*a*b+1.2*b*b;
+      al[4] = 2*a*b*(a*a+3*b)/3;
+      al[5] = b*b*(6*a*a+4*b)*0.1428571;
+      if(b*b > 1.0e-35) {
+         al[6] = a*b*b*b/2;
+         al[7] = b*b*b*b/9;
+      } else {
+         al[6] = 0.0;
+         al[7] = 0.0;
+      }
+      double map=rt;
+      for(int k=0; k<8; k++) map += al[k]*rn[k];
+         // normalize
+      double norm=(ho-height)/5;
+      return map/norm;
+
+   }  // end GGHeightTropModel::dry_mapping_function(elevation)
+
+      // Compute and return the mapping function for wet component
+      // of the troposphere
+      // @param elevation Elevation of satellite as seen at receiver,
+      //                  in degrees
+   double GGHeightTropModel::wet_mapping_function(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Weather"));
+         if(!validHeights)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Heights"));
+         if(!validRxHeight)
+            GPSTK_THROW(InvalidTropModel("Invalid GGH trop model: Rx Height"));
+      }
+      if(elevation < 0.0) return 0.0;
+
+      double hrate=6.5e-3;
+      double Ts=temp+hrate*htemp;
+      double rs=(371900.0e-3/Ts-12.92e-3)/Ts;
+      double ho=11.385*(1255/Ts+0.05)/rs;
+      double se=sin(elevation*DEG_TO_RAD);
+      if(se < 0.0) se=0.0;
+
+      GPSGeoid geoid;
+      double rt,a,b,rn[8],al[8],er=geoid.a();
+      rt = (er+ho)/(er+height);
+      rt = rt*rt - (1.0-se*se);
+      if(rt < 0) rt=0.0;
+      rt = (er+height)*(SQRT(rt)-se);
+      a = -se/(ho-height);
+      b = -(1.0-se*se)/(2.0*er*(ho-height));
+      rn[0] = rt*rt;
+      for(int i=1; i<8; i++) rn[i]=rn[i-1]*rt;
+      al[0] = 2*a;
+      al[1] = 2*a*a+4*b/3;
+      al[2] = a*(a*a+3*b);
+      al[3] = a*a*a*a/5+2.4*a*a*b+1.2*b*b;
+      al[4] = 2*a*b*(a*a+3*b)/3;
+      al[5] = b*b*(6*a*a+4*b)*0.1428571;
+      if(b*b > 1.0e-35) {
+         al[6] = a*b*b*b/2;
+         al[7] = b*b*b*b/9;
+      } else {
+         al[6] = 0.0;
+         al[7] = 0.0;
+      }
+      double map=rt;
+      for(int j=0; j<8; j++) map += al[j]*rn[j];
+         // normalize map function
+      double norm=(ho-height)/5;
+      return map/norm;
+
+   }  // end GGHeightTropModel::wet_mapping_function(elevation)
+
+      // Re-define the weather data.
+      // Typically called just before correction().
+      // @param T temperature in degrees Celsius
+      // @param P atmospheric pressure in millibars
+      // @param H relative humidity in percent
+   void GGHeightTropModel::setWeather(const double& T,
+                                      const double& P,
+                                      const double& H)
+      throw(InvalidParameter)
+   {
+      try
+      {
+         TropModel::setWeather(T,P,H);
+         validWeather = true;
+         valid = validWeather && validHeights && validRxHeight;
+      }
+      catch(InvalidParameter& e)
+      {
+         valid = validWeather = false;
+         GPSTK_RETHROW(e);
+      }
+   }  // end GGHeightTropModel::setWeather(T,P,H)
+
+      // Re-define the tropospheric model with explicit weather data.
+      // Typically called just before correction().
+      // @param wx the weather to use for this correction       
+   void GGHeightTropModel::setWeather(const WxObservation& wx)
+      throw(InvalidParameter)
+   {
+      try
+      {
+         TropModel::setWeather(wx);
+         validWeather = true;         
+         valid = validWeather && validHeights && validRxHeight;
+      }
+      catch(InvalidParameter& e)
+      {
+         valid = validWeather = false;
+         GPSTK_RETHROW(e);
+      }
+   }
+   
+
+      // Re-define the heights at which the weather parameters apply.
+      // Typically called just before correction().
+      // @param hT height (m) at which temperature applies
+      // @param hP height (m) at which atmospheric pressure applies
+      // @param hH height (m) at which relative humidity applies
+   void GGHeightTropModel::setHeights(const double& hT,
+                                      const double& hP,
+                                      const double& hH)
+   {
+      htemp = hT;                 // height (m) at which temp applies
+      hpress = hP;                // height (m) at which press applies
+      hhumid = hH;                // height (m) at which humid applies
+      validHeights = true;
+      valid = validWeather && validHeights && validRxHeight;
+   }  // end GGHeightTropModel::setHeights(hT,hP,hH)
+
+      // Define the receiver height; this required before calling
+      // correction() or any of the zenith_delay or mapping_function routines.
+   void GGHeightTropModel::setReceiverHeight(const double& ht)
+   {
+      height = ht;
+      validRxHeight = true;
+      if(!validHeights) {
+         htemp = hpress = hhumid = ht;
+         validHeights = true;
+      }
+      valid = validWeather && validHeights && validRxHeight;
+   }  // end GGHeightTropModel::setReceiverHeight(const double& ht)
+
+   // -------------------------------------------------------------------------------
+   // Tropospheric model developed by University of New Brunswick and described in
+   // "A Tropospheric Delay Model for the User of the Wide Area Augmentation
+   // System," J. Paul Collins and Richard B. Langley, Technical Report No. 187,
+   // Dept. of Geodesy and Geomatics Engineering, University of New Brunswick,
+   // 1997. See particularly Appendix C.
+   //
+   // This model includes a wet and dry component, and was designed for the user
+   // without access to measurements of temperature, pressure and relative humidity
+   // at ground level. It requires input of the latitude, day of year and height
+   // above the ellipsoid, and it interpolates a table of values, using these
+   // inputs, to get the ground level weather parameters plus other parameters and
+   // the mapping function constants.
+   //
+   // NB in this model, units of temp are degrees Celsius, and humid is the water
+   // vapor partial pressure.
+
+   static const double NBRd=287.054;   // J/kg/K = m*m*K/s*s
+   static const double NBg=9.80665;    // m/s*s
+   static const double NBk1=77.604;    // K/mbar
+   static const double NBk3p=382000;   // K*K/mbar
+
+   static const double NBLat[5]={   15.0,   30.0,   45.0,   60.0,   75.0};
+
+   // zenith delays, averages
+   static const double NBZP0[5]={1013.25,1017.25,1015.75,1011.75,1013.00};
+   static const double NBZT0[5]={ 299.65, 294.15, 283.15, 272.15, 263.65};
+   static const double NBZW0[5]={  26.31,  21.79,  11.66,   6.78,   4.11};
+   static const double NBZB0[5]={6.30e-3,6.05e-3,5.58e-3,5.39e-3,4.53e-3};
+   static const double NBZL0[5]={   2.77,   3.15,   2.57,   1.81,   1.55};
+
+   // zenith delays, amplitudes
+   static const double NBZPa[5]={    0.0,  -3.75,  -2.25,  -1.75,  -0.50};
+   static const double NBZTa[5]={    0.0,    7.0,   11.0,   15.0,   14.5};
+   static const double NBZWa[5]={    0.0,   8.85,   7.24,   5.36,   3.39};
+   static const double NBZBa[5]={    0.0,0.25e-3,0.32e-3,0.81e-3,0.62e-3};
+   static const double NBZLa[5]={    0.0,   0.33,   0.46,   0.74,   0.30};
+
+   // mapping function, dry, averages
+   static const double NBMad[5]={1.2769934e-3,1.2683230e-3,1.2465397e-3,1.2196049e-3,
+                                 1.2045996e-3};
+   static const double NBMbd[5]={2.9153695e-3,2.9152299e-3,2.9288445e-3,2.9022565e-3,
+                                 2.9024912e-3};
+   static const double NBMcd[5]={62.610505e-3,62.837393e-3,63.721774e-3,63.824265e-3,
+                                 64.258455e-3};
+
+   // mapping function, dry, amplitudes
+   static const double NBMaa[5]={0.0,1.2709626e-5,2.6523662e-5,3.4000452e-5,
+                                 4.1202191e-5};
+   static const double NBMba[5]={0.0,2.1414979e-5,3.0160779e-5,7.2562722e-5,
+                                 11.723375e-5};
+   static const double NBMca[5]={0.0,9.0128400e-5,4.3497037e-5,84.795348e-5,
+                                 170.37206e-5};
+
+   // mapping function, wet, averages (there are no amplitudes for wet)
+   static const double NBMaw[5]={5.8021897e-4,5.6794847e-4,5.8118019e-4,5.9727542e-4,
+                           6.1641693e-4};
+   static const double NBMbw[5]={1.4275268e-3,1.5138625e-3,1.4572752e-3,1.5007428e-3,
+                           1.7599082e-3};
+   static const double NBMcw[5]={4.3472961e-2,4.6729510e-2,4.3908931e-2,4.4626982e-2,
+                           5.4736038e-2};
+
+   // labels for use with the interpolation routine
+   enum TableEntry { ZP=1, ZT, ZW, ZB, ZL, Mad, Mbd, Mcd, Maw, Mbw, Mcw };
+
+   // the interpolation routine
+   static double NB_Interpolate(double lat, int doy, TableEntry entry)
+   {
+      const double *pave, *pamp;
+      double ret, day=double(doy);
+
+         // assign pointer to the right array
+      switch(entry) {
+         case ZP:  pave=&NBZP0[0]; pamp=&NBZPa[0]; break;
+         case ZT:  pave=&NBZT0[0]; pamp=&NBZTa[0]; break;
+         case ZW:  pave=&NBZW0[0]; pamp=&NBZWa[0]; break;
+         case ZB:  pave=&NBZB0[0]; pamp=&NBZBa[0]; break;
+         case ZL:  pave=&NBZL0[0]; pamp=&NBZLa[0]; break;
+         case Mad: pave=&NBMad[0]; pamp=&NBMaa[0]; break;
+         case Mbd: pave=&NBMbd[0]; pamp=&NBMba[0]; break;
+         case Mcd: pave=&NBMcd[0]; pamp=&NBMca[0]; break;
+         case Maw: pave=&NBMaw[0];                 break;
+         case Mbw: pave=&NBMbw[0];                 break;
+         case Mcw: pave=&NBMcw[0];                 break;
+      }
+   
+         // find the index i such that NBLat[i] <= lat < NBLat[i+1]
+      int i = int(ABS(lat)/15.0)-1;
+   
+      if(i>=0 && i<=3) {               // mid-latitude -> regular interpolation
+         double m=(ABS(lat)-NBLat[i])/(NBLat[i+1]-NBLat[i]);
+         ret = pave[i]+m*(pave[i+1]-pave[i]);
+         if(entry < Maw)
+            ret -= (pamp[i]+m*(pamp[i+1]-pamp[i]))
+               * cos(TWO_PI*(day-28.0)/365.25);
+      }
+      else {                           // < 15 or > 75 -> simpler interpolation
+         if(i<0) i=0; else i=4;
+         ret = pave[i];
+         if(entry < Maw)
+            ret -= pamp[i]*cos(TWO_PI*(day-28.0)/365.25);
+      }
+   
+      return ret;
+
+   }  // end double NB_Interpolate(lat,doy,entry)
+
+      // Default constructor
+   NBTropModel::NBTropModel(void)
+   {
+      validWeather = false;
+      validRxLatitude = false;
+      validDOY = false;
+      validRxHeight = false;
+   } // end NBTropModel::NBTropModel()
+
+      // Create a trop model using the minimum information: latitude and doy.
+      // Interpolate the weather unless setWeather (optional) is called.
+      // @param lat Latitude of the receiver in degrees.
+      // @param day Day of year.
+   NBTropModel::NBTropModel(const double& lat,
+                            const int& day)
+   {
+      validRxHeight = false;
+      setReceiverLatitude(lat);
+      setDayOfYear(day);
+      setWeather();
+   }  // end NBTropModel::NBTropModel(lat, day);
+
+      // Create a trop model with weather.
+      // @param lat Latitude of the receiver in degrees.
+      // @param day Day of year.
+      // @param wx the weather to use for this correction.
+   NBTropModel::NBTropModel(const double& lat,
+                            const int& day,
+                            const WxObservation& wx)
+      throw(InvalidParameter)
+   {
+      validRxHeight = false;
+      setReceiverLatitude(lat);
+      setDayOfYear(day);
+      setWeather(wx);
+   }  // end NBTropModel::NBTropModel(weather)
+
+      // Create a tropospheric model from explicit weather data
+      // @param lat Latitude of the receiver in degrees.
+      // @param day Day of year.
+      // @param T temperature in degrees Celsius
+      // @param P atmospheric pressure in millibars
+      // @param H relative humidity in percent
+   NBTropModel::NBTropModel(const double& lat,
+                            const int& day,
+                            const double& T,
+                            const double& P,
+                            const double& H)
+      throw(InvalidParameter)
+   {
+      validRxHeight = false;
+      setReceiverLatitude(lat);
+      setDayOfYear(day);
+      setWeather(T,P,H);
+   } // end NBTropModel::NBTropModel()
+
+      // Create a valid model from explicit input (weather will be estimated
+      // internally by this model).
+      // @param ht Height of the receiver in meters.
+      // @param lat Latitude of the receiver in degrees.
+      // @param d Day of year.
+   NBTropModel::NBTropModel(const double& ht,
+                            const double& lat,
+                            const int& day)
+   {
+      setReceiverHeight(ht);
+      setReceiverLatitude(lat);
+      setDayOfYear(day);
+      setWeather();
+   }
+
+      // re-define this to get the throws
+   double NBTropModel::correction(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: weather"));
+         if(!validRxLatitude)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Latitude"));
+         if(!validRxHeight)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Height"));
+         if(!validDOY)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: day of year"));
+      }
+
+      if(elevation < 0.0) return 0.0;
+
+      return (dry_zenith_delay() * dry_mapping_function(elevation)
+            + wet_zenith_delay() * wet_mapping_function(elevation));
+   }  // end NBTropModel::correction(elevation)
+
+      // Compute and return the full tropospheric delay, given the positions of
+      // receiver and satellite and the time tag. This version is most useful
+      // within positioning algorithms, where the receiver position and timetag
+      // may vary; it computes the elevation (and other receiver location
+      // information) and passes them to appropriate set...() routines
+      // and the correction(elevation) routine.
+      // @param RX  Receiver position
+      // @param SV  Satellite position
+      // @param tt  Time tag of the signal 
+   double NBTropModel::correction(const Position& RX,
+                                  const Position& SV,
+                                  const DayTime& tt)
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather)
+            
+         if(!validRxLatitude)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Latitude"));
+         if(!validRxHeight)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Height"));
+         if(!validDOY)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: day of year"));
+      }
+
+         // compute height and latitude from RX
+      setReceiverHeight(RX.getHeight());
+      setReceiverLatitude(RX.getGeodeticLatitude());
+
+         // compute day of year from tt
+      setDayOfYear(int(tt.DOYday()));
+
+      return TropModel::correction(RX.elevation(SV));
+
+   }  // end NBTropModel::correction(RX,SV,TT)
+
+      // Compute and return the full tropospheric delay, given the positions of
+      // receiver and satellite and the time tag. This version is most useful
+      // within positioning algorithms, where the receiver position and timetag
+      // may vary; it computes the elevation (and other receiver location
+      // information) and passes them to appropriate set...() routines
+      // and the correction(elevation) routine.
+      // @param RX  Receiver position in ECEF cartesian coordinates (meters)
+      // @param SV  Satellite position in ECEF cartesian coordinates (meters)
+      // @param tt  Time tag of the signal 
+      // This function is deprecated; use the Position version
+   double NBTropModel::correction(const Xvt& RX,
+                                  const Xvt& SV,
+                                  const DayTime& tt)
+      throw(TropModel::InvalidTropModel)
+   {
+      Position R(RX),S(SV);
+      return NBTropModel::correction(R,S,tt);
+   }
+
+      // Compute and return the zenith delay for dry component of the troposphere
+   double NBTropModel::dry_zenith_delay(void) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: weather"));
+         if(!validRxLatitude)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Latitude"));
+         if(!validRxHeight)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Height"));
+         if(!validDOY)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: day of year"));
+      }
+      double beta = NB_Interpolate(latitude,doy,ZB);
+      double gm = 9.784*(1.0-2.66e-3*cos(2.0*latitude*DEG_TO_RAD)-2.8e-7*height);
+
+         // scale factors for height above mean sea level
+         // if weather is given, assume it's measured at ht -> kw=kd=1
+      double kd=1, base=log(1.0-beta*height/temp);
+      if(interpolateWeather)
+         kd = exp(base*NBg/(NBRd*beta));
+
+         // compute the zenith delay for dry component
+      return ((1.0e-6*NBk1*NBRd/gm) * kd * press);
+
+   }  // end NBTropModel::dry_zenith_delay()
+
+      // Compute and return the zenith delay for wet component of the troposphere
+   double NBTropModel::wet_zenith_delay(void) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: weather"));
+         if(!validRxLatitude)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Latitude"));
+         if(!validRxHeight)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Height"));
+         if(!validDOY)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: day of year"));
+      }
+      double beta = NB_Interpolate(latitude,doy,ZB);
+      double lam = NB_Interpolate(latitude,doy,ZL);
+      double gm = 9.784*(1.0-2.66e-3*cos(2.0*latitude*DEG_TO_RAD)-2.8e-7*height);
+
+         // scale factors for height above mean sea level
+         // if weather is given, assume it's measured at ht -> kw=kd=1
+      double kw=1, base=log(1.0-beta*height/temp);
+      if(interpolateWeather)
+         kw = exp(base*(-1.0+(lam+1)*NBg/(NBRd*beta)));
+
+         // compute the zenith delay for wet component
+      return ((1.0e-6*NBk3p*NBRd/(gm*(lam+1)-beta*NBRd)) * kw * humid/temp);
+
+   }  // end NBTropModel::wet_zenith_delay()
+
+      // Compute and return the mapping function for dry component
+      // of the troposphere
+      // @param elevation Elevation of satellite as seen at receiver,
+      //                  in degrees
+   double NBTropModel::dry_mapping_function(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: weather"));
+         if(!validRxLatitude)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Latitude"));
+         if(!validRxHeight)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Height"));
+         if(!validDOY)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: day of year"));
+      }
+      if(elevation < 0.0) return 0.0;
+
+      double a,b,c,se,map;
+      se = sin(elevation*DEG_TO_RAD);
+
+      a = NB_Interpolate(latitude,doy,Mad);
+      b = NB_Interpolate(latitude,doy,Mbd);
+      c = NB_Interpolate(latitude,doy,Mcd);
+      map = (1.0+a/(1.0+b/(1.0+c))) / (se+a/(se+b/(se+c)));
+
+      a = 2.53e-5;
+      b = 5.49e-3;
+      c = 1.14e-3;
+      if(ABS(elevation)<=0.001) se=0.001;
+      map += ((1.0/se)-(1.0+a/(1.0+b/(1.0+c)))/(se+a/(se+b/(se+c))))*height/1000.0;
+
+      return map;
+
+   }  // end NBTropModel::dry_mapping_function()
+
+      // Compute and return the mapping function for wet component
+      // of the troposphere
+      // @param elevation Elevation of satellite as seen at receiver,
+      //                  in degrees
+   double NBTropModel::wet_mapping_function(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: weather"));
+         if(!validRxLatitude)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Latitude"));
+         if(!validRxHeight)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: Rx Height"));
+         if(!validDOY)
+            GPSTK_THROW(InvalidTropModel("Invalid NB trop model: day of year"));
+      }
+      if(elevation < 0.0) return 0.0;
+
+      double a,b,c,se;
+      se = sin(elevation*DEG_TO_RAD);
+      a = NB_Interpolate(latitude,doy,Maw);
+      b = NB_Interpolate(latitude,doy,Mbw);
+      c = NB_Interpolate(latitude,doy,Mcw);
+
+      return ( (1.0+a/(1.0+b/(1.0+c))) / (se+a/(se+b/(se+c))) );
+
+   }  // end NBTropModel::wet_mapping_function()
+
+      // Re-define the weather data.
+      // If called, typically called before any calls to correction().
+      // @param T temperature in degrees Celsius
+      // @param P atmospheric pressure in millibars
+      // @param H relative humidity in percent
+   void NBTropModel::setWeather(const double& T,
+                                const double& P,
+                                const double& H)
+      throw(InvalidParameter)
+   {
+      interpolateWeather=false;
+      TropModel::setWeather(T,P,H);
+            // humid actually stores water vapor partial pressure
+      double th=300./temp;
+      humid = 2.409e9*H*th*th*th*th*exp(-22.64*th);
+      validWeather = true;
+      valid = validWeather && validRxHeight && validRxLatitude && validDOY;
+
+   }  // end NBTropModel::setWeather()
+   
+      // Re-define the tropospheric model with explicit weather data.
+      // Typically called just before correction().
+      // @param wx the weather to use for this correction       
+   void NBTropModel::setWeather(const WxObservation& wx)
+      throw(InvalidParameter)
+   {
+      interpolateWeather = false;
+      try
+      {
+         TropModel::setWeather(wx);
+            // humid actually stores vapor partial pressure
+         double th=300./temp;
+         humid = 2.409e9*humid*th*th*th*th*exp(-22.64*th);
+         validWeather = true;         
+         valid = validWeather && validRxHeight && validRxLatitude && validDOY;
+      }
+      catch(InvalidParameter& e)
+      {
+         valid = validWeather = false;
+         GPSTK_RETHROW(e);
+      }
+   }
+   
+      // configure the model to estimate the weather from the internal model,
+      // using lat and doy
+   void NBTropModel::setWeather()
+      throw(TropModel::InvalidTropModel)
+   {
+      interpolateWeather = true;
+      if(!validRxLatitude)
+      {
+         valid = validWeather = false;
+         GPSTK_THROW(InvalidTropModel(
+            "NBTropModel must have Rx latitude before interpolating weather"));
+      }
+      if(!validDOY)
+      {
+         valid = validWeather = false;
+         GPSTK_THROW(InvalidTropModel(
+            "NBTropModel must have day of year before interpolating weather"));
+      }
+      temp = NB_Interpolate(latitude,doy,ZT);
+      press = NB_Interpolate(latitude,doy,ZP);
+      humid = NB_Interpolate(latitude,doy,ZW);
+      validWeather = true;
+      valid = validWeather && validRxHeight && validRxLatitude && validDOY;
+   }
+
+      // Define the receiver height; this required before calling
+      // correction() or any of the zenith_delay or mapping_function routines.
+   void NBTropModel::setReceiverHeight(const double& ht)
+   {
+      height = ht;
+      validRxHeight = true;
+      valid = validWeather && validRxHeight && validRxLatitude && validDOY;
+      if(!validWeather && validRxLatitude && validDOY)
+         setWeather();
+   }  // end NBTropModel::setReceiverHeight()
+
+      // Define the latitude of the receiver; this is required before calling
+      // correction() or any of the zenith_delay or mapping_function routines.
+   void NBTropModel::setReceiverLatitude(const double& lat)
+   {
+      latitude = lat;
+      validRxLatitude = true;
+      valid = validWeather && validRxHeight && validRxLatitude && validDOY;
+      if(!validWeather && validRxLatitude && validDOY)
+         setWeather();
+   }  // end NBTropModel::setReceiverLatitude(lat)
+
+      // Define the day of year; this is required before calling
+      // correction() or any of the zenith_delay or mapping_function routines.
+   void NBTropModel::setDayOfYear(const int& d)
+   {
+      doy = d;
+      if(doy > 0 && doy < 367) validDOY=true; else validDOY = false;
+      valid = validWeather && validRxHeight && validRxLatitude && validDOY;
+      if(!validWeather && validRxLatitude && validDOY)
+         setWeather();
+   }  // end NBTropModel::setDayOfYear(doy)
+
+   // -------------------------------------------------------------------------------
+   // Saastamoinen tropospheric model based on Saastamoinen, J., 'Atmospheric
+   // Correction for the Troposphere and Stratosphere in Radio Ranging of
+   // Satellites,' Geophysical Monograph 15, American Geophysical Union, 1972,
+   // and Ch. 9 of McCarthy, D. and Petit, G., IERS Conventions (2003), IERS
+   // Technical Note 32, IERS, 2004. The mapping functions are from
+   // Neill, A.E., 1996, 'Global Mapping Functions for the Atmosphere Delay of
+   // Radio Wavelengths,' J. Geophys. Res., 101, pp. 3227-3246 (also see IERS TN 32).
+   //
+   // This model includes a wet and dry component, and requires input of the
+   // geodetic latitude, day of year and height above the ellipsoid of the receiver.
+   //
+   // Usually, the caller will set the latitude and day of year at the same
+   // time the weather is set
+   //   SaasTropModel stm;
+   //   stm.setReceiverLatitude(lat);
+   //   stm.setDayOfYear(doy);
+   //   stm.setWeather(T,P,H);
+   // Then, when the correction (and/or delay and map) is computed, receiver height
+   // should be set before the call to correction(elevation):
+   //   stm.setReceiverHeight(height);
+   //   trop_corr = stm.correction(elevation);
+   //
+   // NB in this model, units of 'temp' are degrees Celcius and
+   // humid actually stores water vapor partial pressure in mbars
+   //
+
+   // constants for wet mapping function
+   static const double SaasWetA[5]=
+     { 0.00058021897, 0.00056794847, 0.00058118019, 0.00059727542, 0.00061641693 };
+   static const double SaasWetB[5]=
+     { 0.0014275268, 0.0015138625, 0.0014572752, 0.0015007428, 0.0017599082 };
+   static const double SaasWetC[5]=
+     { 0.043472961, 0.046729510, 0.043908931, 0.044626982, 0.054736038 };
+
+   // constants for dry mapping function
+   static const double SaasDryA[5]=
+     { 0.0012769934, 0.0012683230, 0.0012465397, 0.0012196049, 0.0012045996 };
+   static const double SaasDryB[5]=
+     { 0.0029153695, 0.0029152299, 0.0029288445, 0.0029022565, 0.0029024912 };
+   static const double SaasDryC[5]=
+     { 0.062610505, 0.062837393, 0.063721774, 0.063824265, 0.064258455 };
+
+   static const double SaasDryA1[5]=
+     { 0.0, 0.000012709626, 0.000026523662, 0.000034000452, 0.000041202191 };
+   static const double SaasDryB1[5]=
+     { 0.0, 0.000021414979, 0.000030160779, 0.000072562722, 0.00011723375 };
+   static const double SaasDryC1[5]=
+     { 0.0, 0.000090128400, 0.000043497037, 0.00084795348, 0.0017037206 };
+
+      // Default constructor
+   SaasTropModel::SaasTropModel(void)
+   {
+      validWeather = false;
+      validRxLatitude = false;
+      validDOY = false;
+      validRxHeight = false;
+   } // end SaasTropModel::SaasTropModel()
+
+      // Create a trop model using the minimum information: latitude and doy.
+      // Interpolate the weather unless setWeather (optional) is called.
+      // @param lat Latitude of the receiver in degrees.
+      // @param day Day of year.
+   SaasTropModel::SaasTropModel(const double& lat,
+                                const int& day)
+   {
+      validWeather = false;
+      validRxHeight = false;
+      SaasTropModel::setReceiverLatitude(lat);
+      SaasTropModel::setDayOfYear(day);
+   } // end SaasTropModel::SaasTropModel
+
+      // Create a trop model with weather.
+      // @param lat Latitude of the receiver in degrees.
+      // @param day Day of year.
+      // @param wx the weather to use for this correction.
+   SaasTropModel::SaasTropModel(const double& lat,
+                                const int& day,
+                                const WxObservation& wx)
+      throw(InvalidParameter)
+   {
+      validRxHeight = false;
+      SaasTropModel::setReceiverLatitude(lat);
+      SaasTropModel::setDayOfYear(day);
+      SaasTropModel::setWeather(wx);
+   }  // end SaasTropModel::SaasTropModel(weather)
+
+      // Create a tropospheric model from explicit weather data
+      // @param lat Latitude of the receiver in degrees.
+      // @param day Day of year.
+      // @param T temperature in degrees Celsius
+      // @param P atmospheric pressure in millibars
+      // @param H relative humidity in percent
+   SaasTropModel::SaasTropModel(const double& lat,
+                                const int& day,
+                                const double& T,
+                                const double& P,
+                                const double& H)
+      throw(InvalidParameter)
+   {
+      validRxHeight = false;
+      SaasTropModel::setReceiverLatitude(lat);
+      SaasTropModel::setDayOfYear(day);
+      SaasTropModel::setWeather(T,P,H);
+   } // end SaasTropModel::SaasTropModel()
+
+      // re-define this to get the throws correct
+   double SaasTropModel::correction(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: weather"));
+         if(!validRxLatitude) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: Rx Latitude"));
+         if(!validRxHeight) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: Rx Height"));
+         if(!validDOY) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: day of year"));
+         GPSTK_THROW(
+            InvalidTropModel("Valid flag corrupted in Saastamoinen trop model"));
+      }
+
+      if(elevation < 0.0) return 0.0;
+
+      double corr=0.0;
+      try {
+         corr = (dry_zenith_delay() * dry_mapping_function(elevation)
+            + wet_zenith_delay() * wet_mapping_function(elevation));
+      }
+      catch(Exception& e) { GPSTK_RETHROW(e); }
+
+      return corr;
+
+   }  // end SaasTropModel::correction(elevation)
+
+      // Compute and return the full tropospheric delay, given the positions of
+      // receiver and satellite and the time tag. This version is most useful
+      // within positioning algorithms, where the receiver position and timetag
+      // may vary; it computes the elevation (and other receiver location
+      // information) and passes them to appropriate set...() routines
+      // and the correction(elevation) routine.
+      // @param RX  Receiver position
+      // @param SV  Satellite position
+      // @param tt  Time tag of the signal 
+   double SaasTropModel::correction(const Position& RX,
+                                    const Position& SV,
+                                    const DayTime& tt)
+      throw(TropModel::InvalidTropModel)
+   {
+      SaasTropModel::setReceiverHeight(RX.getHeight());
+      SaasTropModel::setReceiverLatitude(RX.getGeodeticLatitude());
+      SaasTropModel::setDayOfYear(int(tt.DOYday()));
+
+      if(!valid) {
+         if(!validWeather) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: weather"));
+         if(!validRxLatitude) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: Rx Latitude"));
+         if(!validRxHeight) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: Rx Height"));
+         if(!validDOY) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: day of year"));
+         valid = true;
+      }
+
+      double corr=0.0;
+      try {
+         corr = SaasTropModel::correction(RX.elevation(SV));
+      }
+      catch(Exception& e) { GPSTK_RETHROW(e); }
+
+      return corr;
+
+   }  // end SaasTropModel::correction(RX,SV,TT)
+
+      // Compute and return the zenith delay for dry component of the troposphere
+   double SaasTropModel::dry_zenith_delay(void) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: weather"));
+         if(!validRxLatitude) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: Rx Latitude"));
+         if(!validRxHeight) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: Rx Height"));
+         if(!validDOY) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: day of year"));
+         GPSTK_THROW(   
+            InvalidTropModel("Valid flag corrupted in Saastamoinen trop model"));
+      }
+
+      // correct pressure for height
+      double press_at_h =
+         press * pow((temp+273.16-4.5*height/1000.0)/(temp+273.16),34.1/4.5);
+      // humid is zero for the dry component
+      double delay = 0.0022768 * press_at_h
+            / (1 - 0.00266 * ::cos(2*latitude*DEG_TO_RAD) - 0.00028 * height/1000.);
+
+      return delay;
+
+   }  // end SaasTropModel::dry_zenith_delay()
+
+      // Compute and return the zenith delay for wet component of the troposphere
+   double SaasTropModel::wet_zenith_delay(void) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: weather"));
+         if(!validRxLatitude) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: Rx Latitude"));
+         if(!validRxHeight) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: Rx Height"));
+         if(!validDOY) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: day of year"));
+         GPSTK_THROW(
+            InvalidTropModel("Valid flag corrupted in Saastamoinen trop model"));
+      }
+
+      // press is zero for the wet component
+      double delay = 0.0022768 * humid * 1255/(temp+273.20)
+            / (1 - 0.00266 * ::cos(2*latitude*DEG_TO_RAD) - 0.00028 * height/1000.);
+
+      return delay;
+
+   }  // end SaasTropModel::wet_zenith_delay()
+
+      // Compute and return the mapping function for dry component of the troposphere
+      // @param elevation Elevation of satellite as seen at receiver, in degrees
+   double SaasTropModel::dry_mapping_function(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: weather"));
+         if(!validRxLatitude) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: Rx Latitude"));
+         if(!validRxHeight) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: Rx Height"));
+         if(!validDOY) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: day of year"));
+         GPSTK_THROW(
+            InvalidTropModel("Valid flag corrupted in Saastamoinen trop model"));
+      }
+      if(elevation < 0.0) return 0.0;
+
+      double lat,t,ct;
+      lat = fabs(latitude);         // degrees
+      t = doy - 28.;                // mid-winter
+      if(latitude < 0)              // southern hemisphere
+         t += 365.25/2.;
+      t *= 360.0/365.25;            // convert to degrees
+      ct = ::cos(t*DEG_TO_RAD);
+
+      double a,b,c;
+      if(lat < 15.) {
+         a = SaasDryA[0];
+         b = SaasDryB[0];
+         c = SaasDryC[0];
+      }
+      else if(lat < 75.) {          // coefficients are for 15,30,45,60,75 deg
+         int i=int(lat/15.0)-1;
+         double frac=(lat-15.*(i+1))/15.;
+         a = SaasDryA[i] + frac*(SaasDryA[i+1]-SaasDryA[i]);
+         b = SaasDryB[i] + frac*(SaasDryB[i+1]-SaasDryB[i]);
+         c = SaasDryC[i] + frac*(SaasDryC[i+1]-SaasDryC[i]);
+
+         a -= ct * (SaasDryA1[i] + frac*(SaasDryA1[i+1]-SaasDryA1[i]));
+         b -= ct * (SaasDryB1[i] + frac*(SaasDryB1[i+1]-SaasDryB1[i]));
+         c -= ct * (SaasDryC1[i] + frac*(SaasDryC1[i+1]-SaasDryC1[i]));
+      }
+      else {
+         a = SaasDryA[4] - ct * SaasDryA1[4];
+         b = SaasDryB[4] - ct * SaasDryB1[4];
+         c = SaasDryC[4] - ct * SaasDryC1[4];
+      }
+
+      double se = ::sin(elevation*DEG_TO_RAD);
+      double map = (1.+a/(1.+b/(1.+c)))/(se+a/(se+b/(se+c)));
+
+      a = 0.0000253;
+      b = 0.00549;
+      c = 0.00114;
+      map += (height/1000.0)*(1./se-(1+a/(1.+b/(1.+c)))/(se+a/(se+b/(se+c))));
+
+      return map;
+
+   }  // end SaasTropModel::dry_mapping_function()
+
+      // Compute and return the mapping function for wet component of the troposphere
+      // @param elevation Elevation of satellite as seen at receiver, in degrees.
+   double SaasTropModel::wet_mapping_function(double elevation) const
+      throw(TropModel::InvalidTropModel)
+   {
+      if(!valid) {
+         if(!validWeather) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: weather"));
+         if(!validRxLatitude) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: Rx Latitude"));
+         if(!validRxHeight) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: Rx Height"));
+         if(!validDOY) GPSTK_THROW(
+            InvalidTropModel("Invalid Saastamoinen trop model: day of year"));
+         GPSTK_THROW(
+            InvalidTropModel("Valid flag corrupted in Saastamoinen trop model"));
+      }
+      if(elevation < 0.0) return 0.0;
+
+      double a,b,c,lat;
+      lat = fabs(latitude);         // degrees
+      if(lat < 15.) {
+         a = SaasWetA[0];
+         b = SaasWetB[0];
+         c = SaasWetC[0];
+      }
+      else if(lat < 75.) {          // coefficients are for 15,30,45,60,75 deg
+         int i=int(lat/15.0)-1;
+         double frac=(lat-15.*(i+1))/15.;
+         a = SaasWetA[i] + frac*(SaasWetA[i+1]-SaasWetA[i]);
+         b = SaasWetB[i] + frac*(SaasWetB[i+1]-SaasWetB[i]);
+         c = SaasWetC[i] + frac*(SaasWetC[i+1]-SaasWetC[i]);
+      }
+      else {
+         a = SaasWetA[4];
+         b = SaasWetB[4];
+         c = SaasWetC[4];
+      }
+
+      double se = ::sin(elevation*DEG_TO_RAD);
+      double map = (1.+a/(1.+b/(1.+c)))/(se+a/(se+b/(se+c)));
+
+      return map;
+
+   }  // end SaasTropModel::wet_mapping_function()
+
+      // Re-define the weather data.
+      // If called, typically called before any calls to correction().
+      // @param T temperature in degrees Celsius
+      // @param P atmospheric pressure in millibars
+      // @param H relative humidity in percent
+   void SaasTropModel::setWeather(const double& T,
+                                  const double& P,
+                                  const double& H)
+      throw(InvalidParameter)
+   {
+      temp = T;
+      press = P;
+         // humid actually stores water vapor partial pressure
+      double exp=7.5*T/(T+237.3);
+      humid = 6.11 * (H/100.) * pow(10.0,exp);
+
+      validWeather = true;
+      valid = (validWeather && validRxHeight && validRxLatitude && validDOY);
+
+   }  // end SaasTropModel::setWeather()
+   
+      // Re-define the tropospheric model with explicit weather data.
+      // Typically called just before correction().
+      // @param wx the weather to use for this correction       
+   void SaasTropModel::setWeather(const WxObservation& wx)
+      throw(InvalidParameter)
+   {
+      try
+      {
+         SaasTropModel::setWeather(wx.temperature,wx.pressure,wx.humidity);
+      }
+      catch(InvalidParameter& e)
+      {
+         valid = validWeather = false;
+         GPSTK_RETHROW(e);
+      }
+   }
+   
+      // Define the receiver height; this required before calling
+      // correction() or any of the zenith_delay or mapping_function routines.
+   void SaasTropModel::setReceiverHeight(const double& ht)
+   {
+      height = ht;
+      validRxHeight = true;
+      valid = (validWeather && validRxHeight && validRxLatitude && validDOY);
+   }  // end SaasTropModel::setReceiverHeight()
+
+      // Define the latitude of the receiver; this is required before calling
+      // correction() or any of the zenith_delay or mapping_function routines.
+   void SaasTropModel::setReceiverLatitude(const double& lat)
+   {
+      latitude = lat;
+      validRxLatitude = true;
+      valid = (validWeather && validRxHeight && validRxLatitude && validDOY);
+   }  // end SaasTropModel::setReceiverLatitude(lat)
+
+      // Define the day of year; this is required before calling
+      // correction() or any of the zenith_delay or mapping_function routines.
+   void SaasTropModel::setDayOfYear(const int& d)
+   {
+      doy = d;
+      if(doy > 0 && doy < 367) validDOY=true; else validDOY = false;
+      valid = (validWeather && validRxHeight && validRxLatitude && validDOY);
+   }  // end SaasTropModel::setDayOfYear(doy)
+
+} // end namespace gpstk
diff --git a/trunk/src/TropModel.hpp b/trunk/src/TropModel.hpp
new file mode 100644
index 0000000..24eac42
--- /dev/null
+++ b/trunk/src/TropModel.hpp
@@ -0,0 +1,900 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/TropModel.hpp#7 $"
+
+/**
+ * @file TropModel.hpp
+ * Base class for tropospheric models, plus implementations
+ * of several published models
+ */
+
+#ifndef TROPOSPHERIC_MODELS_GPSTK
+#define TROPOSPHERIC_MODELS_GPSTK
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "Exception.hpp"
+#include "ObservationStore.hpp"
+#include "Xvt.hpp"
+#include "Position.hpp"
+
+// Model of the troposphere, used to compute non-dispersive delay of
+// satellite signal as function of satellite elevation as seen at the
+// receiver. Both wet and dry components are computed.
+//
+// The default model (implemented here) is a simple Black model.
+//
+// In this model (and many others), the wet and dry components are
+// independent, the zenith delays depend only on the weather
+// (temperature, pressure and humidity), and the mapping functions
+// depend only on the elevation of the satellite as seen at the
+// receiver. In general, this is not true; other models depend on,
+// for example, latitude or day of year.
+//
+// Other models may be implemented by inheriting this class and
+// redefining the virtual functions, and (perhaps) adding other
+// 'set...()' routines as needed.
+
+namespace gpstk
+{
+   /** @addtogroup GPSsolutions */
+   //@{
+
+      /** Abstract base class for tropospheric models.
+       * The wet and dry components of the tropospheric delay are each the
+       * product of a zenith delay and a mapping function. Usually the zenith
+       * delay depends only on the weather (temperature, pressure and humidity),
+       * while the mapping function depends only on the satellite elevation, i.e.
+       * the geometry of satellite and receiver. This may not be true in complex
+       * models.
+       * The full tropospheric delay is the sum of the wet and dry components.
+       * A TropModel is valid only when all the necessary information
+       * (weather + whatever else the model requires) is specified;
+       * An InvalidTropModel exception will be thrown when any correction()
+       * or zenith_delay() or mapping_function() routine is called for
+       * an invalid TropModel.
+       */
+   class TropModel
+   {
+   public:
+         /// Thrown when attempting to use a model for which all necessary
+         /// parameters have not been specified.
+         /// @ingroup exceptiongroup
+      NEW_EXCEPTION_CLASS(InvalidTropModel, gpstk::Exception);
+
+         /// Destructor
+      virtual ~TropModel() {}
+
+         /// Return validity of model
+      bool isValid(void)
+         { return valid; }
+
+         /// Compute and return the full tropospheric delay
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double correction(double elevation) const
+         throw(InvalidTropModel);
+
+         /**
+          * Compute and return the full tropospheric delay, given the positions of
+          * receiver and satellite and the time tag. This version is most useful
+          * within positioning algorithms, where the receiver position and timetag
+          * may vary; it computes the elevation (and other receiver location
+          * information) and passes them to appropriate set...() routines and the
+          * correction(elevation) routine.
+          * @param RX  Receiver position
+          * @param SV  Satellite position
+          * @param tt  Time tag of the signal 
+          */
+      virtual double correction(const Position& RX,
+                                const Position& SV,
+                                const DayTime& tt)
+         throw(InvalidTropModel);
+
+         /** \deprecated
+          * Compute and return the full tropospheric delay, given the positions of
+          * receiver and satellite and the time tag. This version is most useful
+          * within positioning algorithms, where the receiver position and timetag
+          * may vary; it computes the elevation (and other receiver location
+          * information) and passes them to appropriate set...() routines and the
+          * correction(elevation) routine.
+          * @param RX  Receiver position in ECEF cartesian coordinates (meters)
+          * @param SV  Satellite position in ECEF cartesian coordinates (meters)
+          * @param tt  Time tag of the signal 
+          */
+      virtual double correction(const Xvt& RX,
+                                const Xvt& SV,
+                                const DayTime& tt)
+         throw(InvalidTropModel)
+      { Position R(RX),S(SV);  return TropModel::correction(R,S,tt); }
+
+         /// Compute and return the zenith delay for dry component of the troposphere
+      virtual double dry_zenith_delay(void) const
+         throw(InvalidTropModel) = 0;
+
+         /// Compute and return the zenith delay for wet component of the troposphere
+      virtual double wet_zenith_delay(void) const
+         throw(InvalidTropModel) = 0;
+
+         /// Compute and return the mapping function for dry component of
+         /// the troposphere.
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double dry_mapping_function(double elevation)
+         const throw(InvalidTropModel) = 0;
+
+         /// Compute and return the mapping function for wet component of
+         /// the troposphere.
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double wet_mapping_function(double elevation)
+         const throw(InvalidTropModel) = 0;
+
+         /// Re-define the tropospheric model with explicit weather data.
+         /// Typically called just before correction().
+         /// @param T temperature in degrees Celsius
+         /// @param P atmospheric pressure in millibars
+         /// @param H relative humidity in percent
+      virtual void setWeather(const double& T,
+                              const double& P,
+                              const double& H)
+         throw(InvalidParameter);
+
+         /// Re-define the tropospheric model with explicit weather data.
+         /// Typically called just before correction().
+         /// @param wx the weather to use for this correction       
+      virtual void setWeather(const WxObservation& wx)
+         throw(InvalidParameter);
+
+         /// Define the receiver height; this required by some models before calling
+         /// correction() or any of the zenith_delay or mapping_function routines.
+         /// @param ht Height of the receiver in meters.
+      virtual void setReceiverHeight(const double& ht) {};
+
+         /// Define the latitude of the receiver; this is required by some models
+         /// before calling correction() or any of the zenith_delay or
+         /// mapping_function routines.
+         /// @param lat Latitude of the receiver in degrees.
+      virtual void setReceiverLatitude(const double& lat) {};
+
+         /// Define the day of year; this is required by some models before calling
+         /// correction() or any of the zenith_delay or mapping_function routines.
+         /// @param d Day of year.
+      virtual void setDayOfYear(const int& d) {};
+
+   protected:
+      bool valid;                 // true only if current model parameters are valid
+      double temp;                // latest value of temperature (kelvin or celsius)
+      double press;               // latest value of pressure (millibars)
+      double humid;               // latest value of relative humidity (percent)
+
+   }; // end class TropModel
+   
+
+   //---------------------------------------------------------------------------------
+   /// The 'zero' trop model, meaning it always returns zero.
+   class ZeroTropModel : public TropModel
+   {
+   public:
+         /// Compute and return the full tropospheric delay
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double correction(double elevation) const
+         throw(InvalidTropModel)
+         { return 0.0; }
+
+         /**
+          * Compute and return the full tropospheric delay, given the positions of
+          * receiver and satellite and the time tag. This version is most useful
+          * within positioning algorithms, where the receiver position and timetag
+          * may vary; it computes the elevation (and other receiver location
+          * information) and passes them to appropriate set...() routines and the
+          * correction(elevation) routine.
+          * @param RX  Receiver position
+          * @param SV  Satellite position
+          * @param tt  Time tag of the signal 
+          */
+      virtual double correction(const Position& RX,
+                                const Position& SV,
+                                const DayTime& tt)
+         throw(InvalidTropModel)
+         { return 0.0; }
+
+         /** \deprecated
+          * Compute and return the full tropospheric delay, given the positions of
+          * receiver and satellite and the time tag. This version is most useful
+          * within positioning algorithms, where the receiver position and timetag
+          * may vary; it computes the elevation (and other receiver location
+          * information) and passes them to appropriate set...() routines and the
+          * correction(elevation) routine.
+          * @param RX  Receiver position in ECEF cartesian coordinates (meters)
+          * @param SV  Satellite position in ECEF cartesian coordinates (meters)
+          * @param tt  Time tag of the signal 
+          */
+      virtual double correction(const Xvt& RX,
+                                const Xvt& SV,
+                                const DayTime& tt)
+         throw(InvalidTropModel)
+         { return 0.0; }
+
+         /// Compute and return the zenith delay for dry component of the troposphere
+      virtual double dry_zenith_delay(void) const
+         throw(InvalidTropModel)
+         { return 0.0; }
+
+         /// Compute and return the zenith delay for wet component of the troposphere
+      virtual double wet_zenith_delay(void) const
+         throw(InvalidTropModel)
+         { return 0.0; }
+
+         /// Compute and return the mapping function for dry component of
+         /// the troposphere.
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double dry_mapping_function(double elevation)
+         const throw(InvalidTropModel)
+         { return 0.0; }
+
+         /// Compute and return the mapping function for wet component of
+         /// the troposphere.
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double wet_mapping_function(double elevation)
+         const throw(InvalidTropModel)
+         { return 0.0; }
+
+   }; // end class ZeroTropModel
+   
+   //---------------------------------------------------------------------------------
+   /// A simple Black model of the troposphere. temp is in Kelvin.
+   class SimpleTropModel : public TropModel
+   {
+   public:
+         /// Empty constructor
+      SimpleTropModel(void);
+
+         /// Creates a trop model, with weather observation input
+         /// @param wx the weather to use for this correction.
+      SimpleTropModel(const WxObservation& wx)
+         throw(InvalidParameter);
+
+         /// Create a tropospheric model from explicit weather data
+         /// @param T temperature in degrees Celsius
+         /// @param P atmospheric pressure in millibars
+         /// @param H relative humidity in percent
+      SimpleTropModel(const double& T,
+                      const double& P,
+                      const double& H)
+         throw(InvalidParameter);
+
+         /// Compute and return the zenith delay for dry component of the troposphere
+      virtual double dry_zenith_delay(void) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the zenith delay for wet component of the troposphere
+      virtual double wet_zenith_delay(void) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the mapping function for dry component
+         /// of the troposphere
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double dry_mapping_function(double elevation) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the mapping function for wet component
+         /// of the troposphere
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double wet_mapping_function(double elevation) const
+         throw(InvalidTropModel);
+
+         /// Re-define the tropospheric model with explicit weather data.
+         /// Typically called just before correction().
+         /// @param T temperature in degrees Celsius
+         /// @param P atmospheric pressure in millibars
+         /// @param H relative humidity in percent
+      virtual void setWeather(const double& T,
+                              const double& P,
+                              const double& H)
+         throw(InvalidParameter);
+
+         /// Re-define the tropospheric model with explicit weather data.
+         /// Typically called just before correction().
+         /// @param wx the weather to use for this correction       
+      virtual void setWeather(const WxObservation& wx)
+         throw(InvalidParameter);
+
+   private:
+      double Cdrydelay;
+      double Cwetdelay;
+      double Cdrymap;
+      double Cwetmap;
+
+   };    // end class SimpleTropModel
+
+   //---------------------------------------------------------------------------------
+   /** Tropospheric model based on Goad and Goodman(1974),
+    *  "A Modified Hopfield Tropospheric Refraction Correction Model," Paper
+    * presented at the Fall Annual Meeting of the American Geophysical Union,
+    * San Francisco, December 1974, as presented in Leick, "GPS Satellite Surveying,"
+    * Wiley, NY, 1990, Chapter 9 (note particularly Table 9.1).
+    */
+   class GGTropModel : public TropModel
+   {
+   public:
+         /// Empty constructor
+      GGTropModel(void);
+
+         /// Creates a trop model, with weather observation input
+         /// @param wx the weather to use for this correction.
+      GGTropModel(const WxObservation& wx)
+         throw(InvalidParameter);
+
+         /// Create a tropospheric model from explicit weather data
+         /// @param T temperature in degrees Celsius
+         /// @param P atmospheric pressure in millibars
+         /// @param H relative humidity in percent
+      GGTropModel(const double& T,
+                  const double& P,
+                  const double& H)
+         throw(InvalidParameter);
+
+         /// Compute and return the zenith delay for dry component
+         /// of the troposphere
+      virtual double dry_zenith_delay(void) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the zenith delay for wet component
+         /// of the troposphere
+      virtual double wet_zenith_delay(void) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the mapping function for dry component
+         /// of the troposphere
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double dry_mapping_function(double elevation) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the mapping function for wet component
+         /// of the troposphere
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double wet_mapping_function(double elevation) const
+         throw(InvalidTropModel);
+
+         /// Re-define the tropospheric model with explicit weather data.
+         /// Typically called initially, and whenever the weather changes.
+         /// @param T temperature in degrees Celsius
+         /// @param P atmospheric pressure in millibars
+         /// @param H relative humidity in percent
+      virtual void setWeather(const double& T,
+                              const double& P,
+                              const double& H)
+         throw(InvalidParameter);
+
+         /// Re-define the tropospheric model with explicit weather data.
+         /// Typically called just before correction().
+         /// @param wx the weather to use for this correction       
+      virtual void setWeather(const WxObservation& wx)
+         throw(InvalidParameter);
+
+   private:
+      double Cdrydelay;
+      double Cwetdelay;
+      double Cdrymap;
+      double Cwetmap;
+
+   };    // end class GGTropModel
+
+   //---------------------------------------------------------------------------------
+   /** Tropospheric model with heights based on Goad and Goodman(1974),
+    *  "A Modified Hopfield Tropospheric Refraction Correction Model," Paper
+    *  presented at the Fall Annual Meeting of the American Geophysical Union,
+    *  San Francisco, December 1974.
+    *
+    *  (Not the same as GGTropModel because this has height dependence, and the
+    *  computation of this model does not break cleanly into wet and dry components.)
+    *
+    *  NB this model requires heights, both of the weather parameters,
+    *    and of the receiver.
+    *  Thus, usually, caller will set heights at the same time the weather is set:
+    *    GGHeightTropModel ggh;
+    *    ggh.setWeather(T,P,H);
+    *    ggh.setHeights(hT,hP,hH);
+    *  and when the correction (and/or delay and map) is computed,
+    *  receiver height is set before the call to correction(elevation):
+    *    ggh.setReceiverHeight(height);
+    *    trop = ggh.correction(elevation);
+    *  NB setReceiverHeight(ht) sets the 'weather heights' as well, if they are not
+    *    already defined.
+    */
+   class GGHeightTropModel : public TropModel
+   {
+   public:
+         /// Empty constructor
+      GGHeightTropModel(void);
+
+         /// Creates a trop model, with weather observation input
+         /// @param wx the weather to use for this correction.
+      GGHeightTropModel(const WxObservation& wx)
+         throw(InvalidParameter);
+
+         /// Create a tropospheric model from explicit weather data
+         /// @param T temperature in degrees Celsius
+         /// @param P atmospheric pressure in millibars
+         /// @param H relative humidity in percent
+      GGHeightTropModel(const double& T,
+                        const double& P,
+                        const double& H)
+         throw(InvalidParameter);
+
+         /// Create a valid model from explicit input.
+         /// @param T temperature in degrees Celsius
+         /// @param P atmospheric pressure in millibars
+         /// @param H relative humidity in percent
+         /// @param hT height at which temperature applies in meters.
+         /// @param hP height at which atmospheric pressure applies in meters.
+         /// @param hH height at which relative humidity applies in meters.
+      GGHeightTropModel(const double& T,
+                        const double& P,
+                        const double& H,
+                        const double hT,
+                        const double hP,
+                        const double hH)
+         throw(InvalidParameter);
+
+         /// Compute and return the full tropospheric delay
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double correction(double elevation) const
+         throw(InvalidTropModel);
+
+         /**
+          * Compute and return the full tropospheric delay, given the positions of
+          * receiver and satellite and the time tag. This version is most useful
+          * within positioning algorithms, where the receiver position and timetag
+          * may vary; it computes the elevation (and other receiver location
+          * information) and passes them to appropriate set...() routines and the
+          * correction(elevation) routine.
+          * @param RX  Receiver position
+          * @param SV  Satellite position
+          * @param tt  Time tag of the signal 
+          */
+      virtual double correction(const Position& RX,
+                                const Position& SV,
+                                const DayTime& tt)
+         throw(InvalidTropModel);
+
+         /** \deprecated
+          * Compute and return the full tropospheric delay, given the positions of
+          * receiver and satellite and the time tag. This version is most useful
+          * within positioning algorithms, where the receiver position and timetag
+          * may vary; it computes the elevation (and other receiver location
+          * information) and passes them to appropriate set...() routines and the
+          * correction(elevation) routine.
+          * @param RX  Receiver position in ECEF cartesian coordinates (meters)
+          * @param SV  Satellite position in ECEF cartesian coordinates (meters)
+          * @param tt  Time tag of the signal 
+          */
+      virtual double correction(const Xvt& RX,
+                                const Xvt& SV,
+                                const DayTime& tt)
+         throw(InvalidTropModel);
+
+         /// Compute and return the zenith delay for dry component
+         /// of the troposphere
+      virtual double dry_zenith_delay(void) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the zenith delay for wet component of the troposphere
+      virtual double wet_zenith_delay(void) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the mapping function for dry component of
+         /// the troposphere.
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double dry_mapping_function(double elevation) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the mapping function for wet component of
+         /// the troposphere.
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double wet_mapping_function(double elevation) const
+         throw(InvalidTropModel);
+
+         /// Re-define the weather data.
+         /// Typically called initially, and whenever the weather changes.
+         /// @param T temperature in degrees Celsius
+         /// @param P atmospheric pressure in millibars
+         /// @param H relative humidity in percent
+      virtual void setWeather(const double& T,
+                              const double& P,
+                              const double& H)
+         throw(InvalidParameter);
+
+         /// Re-define the tropospheric model with explicit weather data.
+         /// Typically called just before correction().
+         /// @param wx the weather to use for this correction       
+      virtual void setWeather(const WxObservation& wx)
+         throw(InvalidParameter);
+
+         /// Re-define the heights at which the weather parameters apply.
+         /// Typically called whenever setWeather is called.
+         /// @param hT height at which temperature applies in meters.
+         /// @param hP height at which atmospheric pressure applies in meters.
+         /// @param hH height at which relative humidity applies in meters.
+      void setHeights(const double& hT,
+                      const double& hP,
+                      const double& hH);
+
+         /// Define the receiver height; this required before calling
+         /// correction() or any of the zenith_delay or mapping_function routines.
+      void setReceiverHeight(const double& ht);
+
+   private:
+      double height;                // height (m) of the receiver
+      double htemp;                 // height (m) at which temp applies
+      double hpress;                // height (m) at which press applies
+      double hhumid;                // height (m) at which humid applies
+      bool validWeather;
+      bool validHeights;
+      bool validRxHeight;
+
+   };    // end class GGHeightTropModel
+
+
+   //---------------------------------------------------------------------------------
+   /** Tropospheric model developed by University of New Brunswick and described in
+    * "A Tropospheric Delay Model for the User of the Wide Area Augmentation
+    * System," J. Paul Collins and Richard B. Langley, Technical Report No. 187,
+    * Dept. of Geodesy and Geomatics Engineering, University of New Brunswick,
+    * 1997. See particularly Appendix C.
+    *
+    * This model includes a wet and dry component, and was designed for the user
+    * without access to measurements of temperature, pressure and relative humidity
+    * at ground level. Input of the receiver latitude, day of year and height
+    * above the ellipsoid are required, because the mapping functions depend on
+    * these quantities. In addition, if the weather (T,P,H) are not explicitly
+    * provided, this model interpolates a table of values, using latitude and day
+    * of year, to get the ground level weather parameters.
+    *
+    * Usually, the caller will set the latitude and day of year at the same
+    * time the weather is set (if weather is available):
+    *   NBTropModel nb;
+    *   nb.setReceiverLatitude(lat);
+    *   nb.setDayOfYear(doy);
+    *   nb.setWeather(T,P,H);       // OPTIONAL
+    * Then, when the correction (and/or delay and map) is computed, receiver height
+    * should be set before the call to correction(elevation):
+    *   nb.setReceiverHeight(height);
+    *   trop = nb.correction(elevation);
+    *
+    * NB in this model, units of 'temp' are degrees Kelvin, and 'humid'
+    * is the water vapor partial pressure.
+    */
+   class NBTropModel : public TropModel
+   {
+   public:
+         /// Empty constructor
+      NBTropModel(void);
+
+         /// Create a trop model using the minimum information: latitude and doy.
+         /// Interpolate the weather unless setWeather (optional) is called.
+         /// @param lat Latitude of the receiver in degrees.
+         /// @param day Day of year.
+      NBTropModel(const double& lat,
+                  const int& day);
+
+         /// Create a trop model with weather.
+         /// @param lat Latitude of the receiver in degrees.
+         /// @param day Day of year.
+         /// @param wx the weather to use for this correction.
+      NBTropModel(const double& lat,
+                  const int& day,
+                  const WxObservation& wx)
+         throw(InvalidParameter);
+
+         /// Create a tropospheric model from explicit weather data
+         /// @param lat Latitude of the receiver in degrees.
+         /// @param day Day of year.
+         /// @param T temperature in degrees Celsius
+         /// @param P atmospheric pressure in millibars
+         /// @param H relative humidity in percent
+      NBTropModel(const double& lat,
+                  const int& day,
+                  const double& T,
+                  const double& P,
+                  const double& H)
+         throw(InvalidParameter);
+
+         /// Create a valid model from explicit input
+         /// (weather will be estimated internally by this model).
+         /// @param ht Height of the receiver in meters.
+         /// @param lat Latitude of the receiver in degrees.
+         /// @param day Day of year.
+      NBTropModel(const double& ht,
+                  const double& lat,
+                  const int& day);
+
+         /// Compute and return the full tropospheric delay
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double correction(double elevation) const
+         throw(InvalidTropModel);
+
+         /**
+          * Compute and return the full tropospheric delay, given the positions of
+          * receiver and satellite and the time tag. This version is most useful
+          * within positioning algorithms, where the receiver position and timetag
+          * may vary; it computes the elevation (and other receiver location
+          * information) and passes them to appropriate set...() routines and the
+          * correction(elevation) routine.
+          * @param RX  Receiver position
+          * @param SV  Satellite position
+          * @param tt  Time tag of the signal 
+          */
+      virtual double correction(const Position& RX,
+                                const Position& SV,
+                                const DayTime& tt)
+         throw(InvalidTropModel);
+
+         /** \deprecated
+          * Compute and return the full tropospheric delay, given the positions of
+          * receiver and satellite and the time tag. This version is most useful
+          * within positioning algorithms, where the receiver position and timetag
+          * may vary; it computes the elevation (and other receiver location
+          * information) and passes them to appropriate set...() routines and the
+          * correction(elevation) routine.
+          * @param RX  Receiver position in ECEF cartesian coordinates (meters)
+          * @param SV  Satellite position in ECEF cartesian coordinates (meters)
+          * @param tt  Time tag of the signal 
+          */
+      virtual double correction(const Xvt& RX,
+                                const Xvt& SV,
+                                const DayTime& tt)
+         throw(InvalidTropModel);
+
+         /// Compute and return the zenith delay for dry component
+         /// of the troposphere
+      virtual double dry_zenith_delay(void) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the zenith delay for wet component
+         /// of the troposphere
+      virtual double wet_zenith_delay(void) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the mapping function for dry component of
+         /// the troposphere.
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double dry_mapping_function(double elevation) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the mapping function for wet component of
+         /// the troposphere.
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double wet_mapping_function(double elevation) const
+         throw(InvalidTropModel);
+
+         /// Re-define the tropospheric model with explicit weather data.
+         /// Typically called just before correction().
+         /// @param wx the weather to use for this correction       
+      virtual void setWeather(const WxObservation& wx)
+         throw(InvalidParameter);
+
+         /// Define the weather data; typically called just before correction().
+         /// @param T temperature in degrees Celsius
+         /// @param P atmospheric pressure in millibars
+         /// @param H relative humidity in percent
+      virtual void setWeather(const double& T,
+                              const double& P,
+                              const double& H)
+         throw(InvalidParameter);
+
+         /// configure the model to estimate the weather using lat and doy
+      void setWeather()
+         throw(InvalidTropModel);
+
+         /// Define the receiver height; this required before calling
+         /// correction() or any of the zenith_delay or mapping_function routines.
+         /// @param ht Height of the receiver in meters.
+      void setReceiverHeight(const double& ht);
+
+         /// Define the latitude of the receiver; this is required before calling
+         /// correction() or any of the zenith_delay or mapping_function routines.
+         /// @param lat Latitude of the receiver in degrees.
+      void setReceiverLatitude(const double& lat);
+
+         /// Define the day of year; this is required before calling
+         /// correction() or any of the zenith_delay or mapping_function routines.
+         /// @param d Day of year.
+      void setDayOfYear(const int& d);
+
+   private:
+      bool interpolateWeather;      // if true, compute T,P,H from latitude,doy
+      double height;                // height (m) of the receiver
+      double latitude;              // latitude (deg) of receiver
+      int doy;                      // day of year
+      bool validWeather;
+      bool validRxLatitude;
+      bool validRxHeight;
+      bool validDOY;
+
+   };    // end class NBTropModel
+
+   //---------------------------------------------------------------------------------
+   /** Saastamoinen tropospheric model based on Saastamoinen, J., 'Atmospheric
+    * Correction for the Troposphere and Stratosphere in Radio Ranging of
+    * Satellites,' Geophysical Monograph 15, American Geophysical Union, 1972,
+    * and Ch. 9 of McCarthy, D. and Petit, G., IERS Conventions (2003), IERS
+    * Technical Note 32, IERS, 2004. The mapping functions are from
+    * Neill, A.E., 1996, 'Global Mapping Functions for the Atmosphere Delay of
+    * Radio Wavelengths,' J. Geophys. Res., 101, pp. 3227-3246 (also see IERS TN 32).
+    *
+    * This model includes a wet and dry component, and requires input of the
+    * geodetic latitude, day of year and height above the ellipsoid of the receiver.
+    *
+    * Usually, the caller will set the latitude and day of year at the same
+    * time the weather is set
+    *   SaasTropModel stm;
+    *   stm.setReceiverLatitude(lat);
+    *   stm.setDayOfYear(doy);
+    *   stm.setWeather(T,P,H);
+    * Then, when the correction (and/or delay and map) is computed, receiver height
+    * should be set before the call to correction(elevation):
+    *   stm.setReceiverHeight(height);
+    *   trop_corr = stm.correction(elevation);
+    *
+    * NB in this model, units of 'temp' are degrees Celsius and
+    * humid actually stores water vapor partial pressure in mbars
+    */
+   class SaasTropModel : public TropModel
+   {
+   public:
+         /// Empty constructor
+      SaasTropModel(void);
+
+         /// Create a trop model using the minimum information: latitude and doy.
+         /// @param lat Latitude of the receiver in degrees.
+         /// @param day Day of year.
+      SaasTropModel(const double& lat,
+                    const int& day);
+
+         /// Create a trop model with weather.
+         /// @param lat Latitude of the receiver in degrees.
+         /// @param day Day of year.
+         /// @param wx the weather to use for this correction.
+      SaasTropModel(const double& lat,
+                    const int& day,
+                    const WxObservation& wx)
+         throw(InvalidParameter);
+
+         /// Create a tropospheric model from explicit weather data
+         /// @param lat Latitude of the receiver in degrees.
+         /// @param day Day of year.
+         /// @param T temperature in degrees Celsius
+         /// @param P atmospheric pressure in millibars
+         /// @param H relative humidity in percent
+      SaasTropModel(const double& lat,
+                    const int& day,
+                    const double& T,
+                    const double& P,
+                    const double& H)
+         throw(InvalidParameter);
+
+         /// Compute and return the full tropospheric delay
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double correction(double elevation) const
+         throw(InvalidTropModel);
+
+         /**
+          * Compute and return the full tropospheric delay, given the positions of
+          * receiver and satellite and the time tag. This version is most useful
+          * within positioning algorithms, where the receiver position and timetag
+          * may vary; it computes the elevation (and other receiver location
+          * information) and passes them to appropriate set...() routines and the
+          * correction(elevation) routine.
+          * @param RX  Receiver position
+          * @param SV  Satellite position
+          * @param tt  Time tag of the signal 
+          */
+      virtual double correction(const Position& RX,
+                                const Position& SV,
+                                const DayTime& tt)
+         throw(InvalidTropModel);
+
+         /// Compute and return the zenith delay for dry component
+         /// of the troposphere
+      virtual double dry_zenith_delay(void) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the zenith delay for wet component
+         /// of the troposphere
+      virtual double wet_zenith_delay(void) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the mapping function for dry component of
+         /// the troposphere. NB this function will return infinity at zero elevation.
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double dry_mapping_function(double elevation) const
+         throw(InvalidTropModel);
+
+         /// Compute and return the mapping function for wet component of
+         /// the troposphere.
+         /// @param elevation Elevation of satellite as seen at receiver, in degrees
+      virtual double wet_mapping_function(double elevation) const
+         throw(InvalidTropModel);
+
+         /// Re-define the tropospheric model with explicit weather data.
+         /// Typically called just before correction().
+         /// @param wx the weather to use for this correction       
+      virtual void setWeather(const WxObservation& wx)
+         throw(InvalidParameter);
+
+         /// Define the weather data; typically called just before correction().
+         /// @param T temperature in degrees Celsius
+         /// @param P atmospheric pressure in millibars
+         /// @param H relative humidity in percent
+      virtual void setWeather(const double& T,
+                              const double& P,
+                              const double& H)
+         throw(InvalidParameter);
+
+         /// Define the receiver height; this required before calling
+         /// correction() or any of the zenith_delay or mapping_function routines.
+         /// @param ht Height of the receiver in meters.
+      void setReceiverHeight(const double& ht);
+
+         /// Define the latitude of the receiver; this is required before calling
+         /// correction() or any of the zenith_delay or mapping_function routines.
+         /// @param lat Latitude of the receiver in degrees.
+      void setReceiverLatitude(const double& lat);
+
+         /// Define the day of year; this is required before calling
+         /// correction() or any of the zenith_delay or mapping_function routines.
+         /// @param d Day of year.
+      void setDayOfYear(const int& d);
+
+   private:
+      double height;                /// height (m) of the receiver above the geoid
+      double latitude;              /// latitude (deg) of receiver
+      int doy;                      /// day of year
+      bool validWeather;
+      bool validRxLatitude;
+      bool validRxHeight;
+      bool validDOY;
+
+   };    // end class SaasTropModel
+
+   //@}
+   
+}
+
+#endif
diff --git a/trunk/src/UnixTime.cpp b/trunk/src/UnixTime.cpp
new file mode 100644
index 0000000..d67deb7
--- /dev/null
+++ b/trunk/src/UnixTime.cpp
@@ -0,0 +1,158 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/UnixTime.cpp#3 $"
+
+#include "UnixTime.hpp"
+#include "TimeConstants.hpp"
+
+namespace gpstk
+{
+   const std::string UnixTime::printChars( "Uu" );
+   const std::string UnixTime::defaultFormat( "%U %u" );
+   
+   UnixTime& UnixTime::operator=( const UnixTime& right )
+      throw()
+   {
+      tv.tv_sec = right.tv.tv_sec;
+      tv.tv_usec = right.tv.tv_usec;
+      return *this;
+   }
+   
+   CommonTime UnixTime::convertToCommonTime() const
+   {
+      return CommonTime( ( MJD_JDAY + UNIX_MJD + tv.tv_sec / SEC_PER_DAY ),
+                         ( tv.tv_sec % SEC_PER_DAY ),
+                         ( static_cast<double>( tv.tv_usec ) * 1e-6 ) );
+   }
+   
+   void UnixTime::convertFromCommonTime( const CommonTime& ct )
+   {
+      long jday, sod;
+      double fsod;
+      ct.get( jday, sod, fsod );
+      
+      tv.tv_sec = 
+         static_cast<time_t>((jday - MJD_JDAY - UNIX_MJD) * SEC_PER_DAY + sod);
+      
+         // round to the nearest microsecond
+      tv.tv_usec = static_cast<time_t>( fsod * 1e6 + 0.5 ) ;
+      
+      if (tv.tv_usec >= 1000000) 
+      {
+         tv.tv_usec -= 1000000; 
+         ++tv.tv_sec; 
+      }
+   }
+   
+   std::string UnixTime::printf( const std::string& fmt ) const
+      throw( gpstk::StringUtils::StringException )
+   {
+      try
+      {
+         using gpstk::StringUtils::formattedPrint;
+         std::string rv( fmt );
+
+         rv = formattedPrint(rv, formatPrefixInt + "U",
+                             "Ud", tv.tv_sec);
+         rv = formattedPrint(rv, formatPrefixInt + "u",
+                             "ud", tv.tv_usec);         
+
+         return rv;         
+      }
+      catch( gpstk::StringUtils::StringException& se )
+      {
+         GPSTK_RETHROW( se );
+      }
+   }
+   
+   bool UnixTime::setFromInfo( const IdToValue& info )
+      throw()
+   {
+      using namespace gpstk::StringUtils;
+      
+      bool hunixsec( false ), hunixusec( false );
+      int iunixsec( 0 ), iunixusec( 0 );
+      
+      for( IdToValue::const_iterator i = info.begin(); i != info.end(); i++ )
+      {
+         switch( i->first )
+         {
+            case 'U':
+               iunixsec = asInt( i->second );
+               hunixsec = true;
+               break;
+               
+            case 'u':
+               iunixusec = asInt( i->second );
+               hunixusec = true;
+               break;
+         };
+      }
+      
+      if( hunixsec && hunixusec )
+      {
+         tv.tv_sec = iunixsec;
+         tv.tv_usec = iunixusec;
+         return true;
+      }
+      return false;
+   }
+   
+   bool UnixTime::isValid() const
+      throw()
+   {
+      UnixTime temp;
+      temp.convertFromCommonTime( convertToCommonTime() );
+      if( *this == temp )
+      {
+         return true;
+      }
+      return false;
+   }
+   
+   bool UnixTime::operator==( const UnixTime& right ) const
+      throw()
+   {
+      if( tv.tv_sec == right.tv.tv_sec &&
+          tv.tv_usec == right.tv.tv_usec )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool UnixTime::operator!=( const UnixTime& right ) const
+      throw()
+   {
+      return ( !operator==( right ) );
+   }
+
+   bool UnixTime::operator<( const UnixTime& right ) const
+      throw()
+   {
+      if( tv.tv_sec < right.tv.tv_sec &&
+          tv.tv_usec < right.tv.tv_usec )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool UnixTime::operator>( const UnixTime& right ) const
+      throw()
+   {
+      return ( !operator<=( right ) );
+   }
+
+   bool UnixTime::operator<=( const UnixTime& right ) const
+      throw()
+   {
+      return ( operator<( right ) ||
+               operator==( right ) );
+   }
+
+   bool UnixTime::operator>=( const UnixTime& right ) const
+      throw()
+   {
+      return ( !operator<( right ) );
+   }
+
+} // namespace
diff --git a/trunk/src/UnixTime.hpp b/trunk/src/UnixTime.hpp
new file mode 100644
index 0000000..0273220
--- /dev/null
+++ b/trunk/src/UnixTime.hpp
@@ -0,0 +1,169 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/UnixTime.hpp#4 $"
+
+#ifndef GPSTK_UNIXTIME_HPP
+#define GPSTK_UNIXTIME_HPP
+
+#include "TimeTag.hpp"
+
+#ifdef _MSC_VER
+// timeval is defined in winsock.h, which we don't want to include
+// because it breaks lots of this code
+struct timeval {
+  long    tv_sec;         /* seconds */
+  long    tv_usec;        /* and microseconds */
+};
+#else
+#include <sys/time.h>     // for struct timeval
+#endif
+
+namespace gpstk
+{
+      /**
+       * This class encapsulates the "Unix Timeval" time representation.
+       */
+   class UnixTime : public TimeTag
+   {
+   public:
+      static const std::string printChars;
+      static const std::string defaultFormat;
+      
+         /**
+          * @defgroup utbo UnixTime Basic Operations
+          * Default and Copy Constructors, Assignment Operator and Destructor.
+          */
+         //@{
+
+         /**
+          * Default Constructor.
+          * All elements are initialized to zero.
+          */
+      UnixTime( int sec = 0, 
+                int usec = 0 )
+         throw()
+      {
+         tv.tv_sec = sec;  tv.tv_usec = usec;                 
+      }
+
+         /** struct timeval Constructor.
+          * Sets time according to the given struct timeval.
+          */
+      UnixTime( struct timeval t )
+         throw()
+      {
+         tv.tv_sec = t.tv_sec;  tv.tv_usec = t.tv_usec;
+      }
+      
+         /** 
+          * Copy Constructor.
+          * @param right a reference to the UnixTime object to copy
+          */
+      UnixTime( const UnixTime& right )
+         throw()
+            : tv( right.tv )
+      {}
+      
+         /**
+          * Alternate Copy Constructor.
+          * Takes a const TimeTag reference and copies its contents via
+          * conversion to CommonTime.
+          * @param right a const reference to the BasicTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      UnixTime( const TimeTag& right )
+         throw( gpstk::InvalidRequest )
+      { 
+         convertFromCommonTime( right.convertToCommonTime() ); 
+      }
+      
+         /** 
+          * Alternate Copy Constructor.
+          * Takes a const CommonTime reference and copies its contents via
+          * the convertFromCommonTime method.
+          * @param right a const reference to the CommonTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      UnixTime( const CommonTime& right )
+         throw( InvalidRequest )
+      {
+         convertFromCommonTime( right );
+      }
+
+         /** 
+          * Assignment Operator.
+          * @param right a const reference to the UnixTime to copy
+          * @return a reference to this UnixTime
+          */
+      UnixTime& operator=( const UnixTime& right )
+         throw();
+      
+         /// Virtual Destructor.
+      virtual ~UnixTime()
+         throw()
+      {}
+         //@}
+
+         // The following functions are required by TimeTag.
+      virtual CommonTime convertToCommonTime() const;
+
+      virtual void convertFromCommonTime( const CommonTime& ct ) ;
+
+         /// This function formats this time to a string.  The exceptions 
+         /// thrown would only be due to problems parsing the fmt string.
+      virtual std::string printf( const std::string& fmt ) const
+         throw( gpstk::StringUtils::StringException );
+
+         /**
+          * Set this object using the information provided in \a info.
+          * @param info the IdToValue object to which this object shall be set.
+          * @return true if this object was successfully set using the 
+          *  data in \a info, false if not.
+          */
+      virtual bool setFromInfo( const IdToValue& info )
+         throw();
+      
+         /// Return a string containing the characters that this class
+         /// understands when printing times.
+      virtual std::string getPrintChars() const
+         throw()
+      { 
+         return printChars;
+      }
+
+         /// Return a string containing the default format to use in printing.
+      virtual std::string getDefaultFormat() const
+         throw()
+      {
+         return defaultFormat;
+      }
+
+      virtual bool isValid() const
+         throw();
+
+         /**
+          * @defgroup utco UnixTime Comparison Operators
+          * All comparison operators have a parameter "right" which corresponds
+          *  to the UnixTime object to the right of the symbol.
+          * All comparison operators are const and return true on success
+          *  and false on failure.
+          */
+         //@{
+      bool operator==( const UnixTime& right ) const
+         throw();
+      bool operator!=( const UnixTime& right ) const
+         throw();
+      bool operator<( const UnixTime& right ) const
+         throw();
+      bool operator>( const UnixTime& right ) const
+         throw();
+      bool operator<=( const UnixTime& right ) const
+         throw();
+      bool operator>=( const UnixTime& right ) const
+         throw();
+         //@}
+
+      struct timeval tv;
+   };
+
+} // namespace
+
+#endif // GPSTK_UNIXTIME_HPP
diff --git a/trunk/src/ValidType.hpp b/trunk/src/ValidType.hpp
new file mode 100644
index 0000000..7dea75e
--- /dev/null
+++ b/trunk/src/ValidType.hpp
@@ -0,0 +1,125 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/ValidType.hpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file ValidType.hpp
+ * Capturing the concept of an uninitialized variable into a nice neat class.
+ */
+
+#ifndef VALIDTYPE_HPP
+#define VALIDTYPE_HPP
+
+#include <ostream>
+
+#include "Exception.hpp"
+
+namespace gpstk
+{
+
+   // Note that the regular operators don't have to be defined because of the 
+   // conversion operator. This allows 
+   //   ValidType<int> p=1;
+   //   p+=1;
+   // to use the regular int operators.
+   // Also note that the exception is declaired outside of the template class
+   // so there will only be one exception for all instantiations
+
+   NEW_EXCEPTION_CLASS(InvalidValue, gpstk::Exception);
+
+   template <class T>
+   class ValidType
+   {
+   public:
+      ValidType(const T& v):value(v),valid(true){};
+      ValidType():valid(false){};
+      
+      ValidType& operator=(const T& v) throw() {
+         this->valid = true; this->value = v; return *this; };
+      
+      ValidType& operator+=(const T& r) throw(){value-=r;};
+      ValidType& operator-=(const T& r) throw(){value+=r;};
+
+      // A conversion operator, will throw an exception if the object
+      // is marked invalid
+      operator T() const throw(InvalidValue) {
+         if (!this->is_valid()) throw InvalidValue();
+         return value;
+      };
+      
+      bool operator==(const ValidType& r) {
+         return this->valid && r.valid && this->value == r.value;
+      };
+
+      bool is_valid() const { return valid;};
+      T get_value() const { return value;};
+
+   private:
+      T value;
+      bool valid;
+   };
+
+   typedef ValidType<float> vfloat;
+   typedef ValidType<double> vdouble;
+   typedef ValidType<char> vchar;
+   typedef ValidType<short> vshort;
+   typedef ValidType<int> vint;
+   typedef ValidType<long> vlong;
+   typedef ValidType<unsigned char> vuchar;
+   typedef ValidType<unsigned short> vushort;
+   typedef ValidType<unsigned int> vuint;
+   typedef ValidType<unsigned long> vulong;
+
+
+   // Yes, Virgina, this is the ugliest declaration that I have ever created...
+   template <class T> std::ostream& operator<<(
+      std::ostream& s, const ValidType<T>& r) throw() {
+      if (r.is_valid())
+         s << r.get_value();
+      else
+         s << "Unknown";
+      return s;
+   }
+
+}
+
+#endif
diff --git a/trunk/src/Vector.hpp b/trunk/src/Vector.hpp
new file mode 100644
index 0000000..093aa71
--- /dev/null
+++ b/trunk/src/Vector.hpp
@@ -0,0 +1,382 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Vector.hpp#3 $"
+
+/**
+ * @file Vector.hpp
+ * Classes for Vector, both constant and modifiable
+ */
+
+#ifndef GPSTK_VECTOR_HPP
+#define GPSTK_VECTOR_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include "VectorBase.hpp"
+
+namespace gpstk
+{
+ /** @addtogroup VectorGroup */
+   //@{
+
+// forward declaration
+   template <class T> class VectorSlice;
+
+/**
+ * This class pretty much duplicates std::valarray<T> except it's fully
+ * STL container compliant.  Remember that operators +=, -=, *= and /=
+ * are provided by RefVectorBase.
+ * 
+ * @sa matvectest.cpp for examples
+ */
+   template <class T>
+   class Vector : public RefVectorBase<T, Vector<T> >
+   {
+   public:
+         /// STL value type
+      typedef T value_type;
+         /// STL reference type
+      typedef T& reference;
+         /// STL const reference type
+      typedef const T& const_reference;
+         /// STL iterator type
+      typedef T* iterator;
+         /// STL const iterator type
+      typedef const T* const_iterator;
+
+         /// Default constructor
+      Vector() : v(NULL), s(0) {}
+         /// Constructor given an initial size.
+      Vector(size_t siz) : s(siz)
+            //: v(new T[siz]), s(siz)
+         {
+            v = new T[siz];
+            if(!v) {
+               VectorException e("Vector(size_t) failed to allocate");
+               GPSTK_THROW(e);
+            }
+         }
+         /**
+          * Constructor given an initial size and default value for all elements.
+          */
+      Vector(size_t siz, const T defaultValue) : s(siz)
+            //: v(new T[siz]), s(siz)
+         {
+            v = new T[siz];
+            if(!v) {
+               VectorException e("Vector<T>(size_t, const T) failed to allocate");
+               GPSTK_THROW(e);
+            }
+            assignFrom(defaultValue);
+         }
+         /**
+          * Copy constructor from a ConstVectorBase type.
+          */
+      template <class E>
+      Vector(const ConstVectorBase<T, E>& r) : s(r.size())
+            //: v(new T[r.size()]), s(r.size())
+         {
+            v = new T[r.size()];
+            if(!v) {
+               VectorException e("Vector<T>(ConstVectorBase) failed to allocate");
+               GPSTK_THROW(e);
+            }
+            assignFrom(r);
+         }
+         /**
+          * Copy constructor.
+          */
+      Vector(const Vector& r) : s(r.s)
+            //: v(new T[r.s]), s(r.s)
+         {
+            v = new T[r.s];
+            if(!v) {
+               VectorException e("Vector(Vector) failed to allocate");
+               GPSTK_THROW(e);
+            }
+            assignFrom(r);
+         }
+         /**
+          * Valarray constructor
+          */
+      Vector(const std::valarray<T>& r) : s(r.size())
+            //: v(new T[r.size()]), s(r.size())
+         {
+            v = new T[r.size()];
+            if(!v) {
+               VectorException e("Vector(valarray) failed to allocate");
+               GPSTK_THROW(e);
+            }
+            assignFrom(r);
+         }
+
+         /// subvector constructor
+      template <class E>
+      Vector(const ConstVectorBase<T, E>& vec,
+             size_t top,
+             size_t num) : v(size_t(0)),s(0)
+         {
+               // sanity checks...
+            if ( top >= vec.size() || 
+                 top + num > vec.size())
+            {
+               VectorException e("Invalid dimensions or size for Vector(VectorBase)");
+               GPSTK_THROW(e);
+            }
+         
+            v = new T[num];
+            if(!v) {
+               VectorException e("Vector(subvector) failed to allocate");
+               GPSTK_THROW(e);
+            }
+            size_t i;
+            for(i = 0; i < num; i++)
+               v[i] = vec(top+i);
+            s = num;
+         }
+   
+         /// Destructor
+      ~Vector()
+         { if (v) delete [] v; }
+
+         /// STL iterator begin
+      iterator begin() { return v; }
+         /// STL const iterator begin
+      const_iterator begin() const { return v; }
+         /// STL iterator end
+      iterator end() { return v + s; }
+         /// STL const iterator end
+      const_iterator end() const { return v + s; }
+         /// STL front
+      value_type front() { return v[s-1]; }
+         /// STL const front
+      const_reference front() const { return v[s-1];}
+         /// STL empty
+      bool empty() const { return size == 0; }
+         /// STL size
+      size_t size() const {return s; }
+         /// STL max_size
+      size_t max_size() const { return std::numeric_limits<size_t>().max(); }
+
+         /// Non-const operator []
+      T& operator[] (size_t i) 
+         { return v[i]; }
+         /// Const operator []
+      T operator[] (size_t i) const
+         { return v[i]; }
+         /// Non-const operator ()
+      T& operator() (size_t i) 
+         { return v[i]; }
+         /// Const operator ()
+      T operator() (size_t i) const
+         { return v[i]; }
+
+         /// Like valarray, lets you do vec[slice] to get a VectorSlice.
+      VectorSlice<T> operator[] (const std::slice& sli)
+         { return VectorSlice<T>(*this, sli); }
+
+         /// *this will be resized if it isn't as large as x.
+      Vector& operator=(const Vector& x)
+         { resize(x.s); return assignFrom(x); }
+
+         /// *this will be resized if it isn't as large as x.
+      template <class E>
+      Vector& operator=(const ConstVectorBase<T, E>& x)
+         { resize(x.size()); return assignFrom(x); }
+
+         /// *this will be resized if it isn't as large as x.
+      Vector& operator=(const std::valarray<T>& x)
+         { resize(x.size()); return assignFrom(x); }
+         /// Only (*this).size() elements will be assigned.
+      Vector& operator=(const T x)
+         { return assignFrom(x); }
+         /// Only (*this).size() elements will be assigned.
+      Vector& operator=(const T* x)
+         { return assignFrom(x); }
+
+         /// Resizes the vector.  if index > size, the vector will be
+         /// erased and the contents destroyed.
+      Vector& resize(const size_t index)
+         { 
+            if (index > s)
+            {
+               if (v)
+                  delete [] v;
+               v = new T[index];
+               if(!v) {
+                  VectorException e("Vector.resize(size_t) failed to allocate");
+                  GPSTK_THROW(e);
+               }
+            }
+            s = index;
+            return *this;
+         }
+
+         /// resize with new default value
+      Vector& resize(const size_t index, const T defaultValue)
+         {
+            resize(index);
+            size_t i;
+            for(i = 0; i < s; i++)
+               v[i] = defaultValue;
+            return *this;
+         }
+
+   private:
+
+         // a good optimizer will remove this function call
+         // if RANGECHECK isn't defined.  remember that
+         // range checking affects EVERY operation
+      inline bool rangeCheck(const size_t index) const
+         {
+#ifdef RANGECHECK
+            return (index < s);
+#else
+            return true;
+#endif
+         }
+   
+         /// The vector
+      T* v;
+         /// The size of the vector.
+      size_t s;
+   };
+   // end class Vector<T>
+
+/**
+ * A slice of Vector<T> that can be modified.  
+ * @warning Remember that (VectorSlice = VectorSlice) will
+ * assign elements to the VectorSlice, not copy the VectorSlice internal data!
+ */
+   template <class T>
+   class VectorSlice : public RefVectorSliceBase<T, VectorSlice<T> >
+   {
+   public:
+         /// Default constructor
+      VectorSlice()
+            : v(NULL), s(std::slice(0,0,0))
+         { }
+
+         /// Makes a slice of the whole vector
+      VectorSlice(Vector<T>& vv)
+            : v(&vv), s(std::slice(0,vv.size(),1))
+         { }
+            
+         /// Makes a slice of the vector with the given std::slice.
+      VectorSlice(Vector<T>& vv, const std::slice& ss)
+            : v(&vv), s(ss)
+         { vecSliceCheck(vv.size()); }
+
+         /// Assign the elements of this slice from another vector.
+      template <class V>
+      VectorSlice& operator=(const ConstVectorBase<T, V>& x)
+         { return assignFrom(x); }
+
+         /// Assign the elements of this slice from a valarray.
+      VectorSlice& operator=(const std::valarray<T>& x)
+         { return assignFrom(x); }
+
+         /// Assign all the elements of this slice to x.
+      VectorSlice& operator=(const T x)
+         { return assignFrom(x); }
+
+         /// Assign (*this).size() elements from x to (*this).
+      VectorSlice& operator=(const T* x)
+         { return assignFrom(x); }
+
+         /// Returns the modifiable i'th element of the slice.
+      T& operator[] (size_t i) 
+         { return (*v)[start() + i * stride()]; }
+         /// Returns the const i'th element of the slice.
+      T operator[] (size_t i) const
+         { return (*v)[start() + i * stride()]; }
+         /// Returns the modifiable i'th element of the slice.
+      T& operator() (size_t i) 
+         { return (*v)[start() + i * stride()]; }
+         /// Returns the const i'th element of the slice.
+      T operator() (size_t i) const
+         { return (*v)[start() + i * stride()]; }
+
+         /// returns the number of elements in the slice
+      inline size_t size() const { return s.size(); }
+         /// returns the index in the vector of the first element.
+      inline size_t start() const { return s.start(); }
+         /// returns the number of elements to skip between (*this)[i] and 
+         /// (*this)[i+1]
+      inline size_t stride() const { return s.stride(); }
+   private:
+         /// the vector used as a source for the slice
+      Vector<T>* v;
+         /// the slice specification.
+      std::slice s;
+   };
+
+/**
+ * A Vector<T> slice that doesn't allow modification. 
+ */
+   template <class T>
+   class ConstVectorSlice : public ConstVectorSliceBase<T, ConstVectorSlice<T> >
+   {
+   public:
+         /// default constructor
+      ConstVectorSlice()
+            : v(NULL), s(std::slice(0,0,0))
+         { }
+
+         /// Makes a slice of the whole vector
+      ConstVectorSlice(const Vector<T>& vv)
+            : v(&vv), s(std::slice(0,vv.size(),1))
+         { }
+            
+         /// Uses the given slice and vector.
+      ConstVectorSlice(const Vector<T>& vv, const std::slice& ss)
+            : v(&vv), s(ss)
+         { vecSliceCheck(vv.size()); }
+
+         /// Returns a const version of the i'th slice element.
+      T operator[] (size_t i) const
+         { return (*v)[start() + i * stride()]; }
+         /// Returns a const version of the i'th slice element.
+      T operator() (size_t i) const
+         { return (*v)[start() + i * stride()]; }
+
+         /// returns the number of elements in the slice
+      inline size_t size() const { return s.size(); }
+         /// returns the index in the vector of the first element.
+      inline size_t start() const { return s.start(); }
+         /// returns the number of elements to skip between (*this)[i] and 
+         /// (*this)[i+1]
+      inline size_t stride() const { return s.stride(); }
+
+   private:
+         /// Vectortor used as a source for this slice.
+      const Vector<T>* v;
+         /// the slice specification.
+      std::slice s;
+   };
+
+   //@}
+
+}  // namespace
+
+#include "VectorOperators.hpp"
+
+#endif
diff --git a/trunk/src/VectorBase.cpp b/trunk/src/VectorBase.cpp
new file mode 100644
index 0000000..fcf0eac
--- /dev/null
+++ b/trunk/src/VectorBase.cpp
@@ -0,0 +1,36 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/VectorBase.cpp#1 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+/**
+ * @file VectorBase.cpp
+ * Initialize static members of base Vector class
+ */
+ 
+#include "VectorBase.hpp"
+
+namespace gpstk
+{
+      // initialize static members
+   double RefVectorBaseHelper::zeroTolerance = 10e-10;
+}  // namespace gpstk
diff --git a/trunk/src/VectorBase.hpp b/trunk/src/VectorBase.hpp
new file mode 100644
index 0000000..3f2401a
--- /dev/null
+++ b/trunk/src/VectorBase.hpp
@@ -0,0 +1,299 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/VectorBase.hpp#3 $"
+
+/**
+ * @file VectorBase.hpp
+ * Base Vector class
+ */
+ 
+#ifndef GPSTK_VECTOR_BASE_HPP
+#define GPSTK_VECTOR_BASE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <valarray>
+#include "Exception.hpp"
+
+#include "MathBase.hpp"
+
+namespace gpstk
+{
+/** @addtogroup VectorGroup */
+   //@{
+ 
+/// An exception thrown when there's a problem with a vector
+/// @ingroup exceptiongroup
+NEW_EXCEPTION_CLASS(VectorException, gpstk::Exception);
+
+/*
+ * There were two overriding philosophies to the vector and matrix classes:
+ *
+ * The concept of "const" and "reference" (i.e. changable) vector
+ * and matrix types both exist, so that any Const* type could not be altered
+ * while Ref* types can.  This allowed one to add the slice classes that 
+ * let you use a subset of a vector and modify (or not if it's const) the
+ * original vector.  Furthermore, it allowed slice and non-slice classes
+ * to interoperate through the ConstVectorBase or ConstMatrixBase classes, so, for 
+ * example, operator* only needs to be written in terms of ConstVectorBase to
+ * work correctly with Vector, VectorSlice and ConstVectorSlice.
+ * 
+ * Remember that a slice MUST refer to a vector or matrix; you cannot have
+ * a slice independent of a base vector or matrix.
+ *
+ * In the future:
+ *
+ * - Change the math operators to template expressions.
+ * - Add general slices and diagonal matrix slices.
+ * - Make range checking more consistent.
+ * - Make operator= and copy constructors consistent between const and
+ *   non-const versions.
+ * - Reevaluate the need for default slice constructors...?
+ * - find a way for LUD and SVD to use the template type of the parameters
+ *   rather than specified when the object is created.
+ * - come up with a policy for when zeroize() will be used before results
+ *   are returned.
+ *
+ * @warning MSVC cant deal with cmath header.  
+ * Changes to accomidate this may break complex!
+ */
+
+/**
+ * A base class for a vector that does not allow modification of the internal
+ * vector.  BaseClass is the base class that implements the vector.
+ */
+   template <class T, class BaseClass>
+   class ConstVectorBase
+   {
+   public:
+         /// Constructor
+      explicit ConstVectorBase() {}
+
+         /// Returns the size of the base class.
+      size_t size() const
+         { return static_cast<const BaseClass*>(this)->size(); }
+         /// returns the element at index i
+      T operator[] (size_t i) const 
+         { return constVectorRef(i); }
+         /// returns the element at index i
+      T operator() (size_t i) const 
+         { return constVectorRef(i); }
+
+   protected:
+         /// returns the element at index i by calling the base class's operator[]
+      inline T constVectorRef(size_t i) const
+         throw(VectorException)
+         {
+            const BaseClass& b = static_cast<const BaseClass&>(*this);
+#ifdef RANGECHECK
+            if (i >= b.size())
+            {
+               VectorException e("Invalid ConstVectorBase index");
+               GPSTK_THROW(e);
+            }
+#endif
+            return b[i];
+         }
+   };
+
+      /// a class to hold the static members of RefVectorBase. Static members
+      /// in template classes have to be initialized on a PER TEMPLATE
+      /// basis - this gets around that problem.
+   class RefVectorBaseHelper
+   {
+   public:
+         /// used with zeroize(), any number below this value will become 0.
+         /// this variable can be assigned any value.
+      static double zeroTolerance;
+   };
+
+/**
+ * A vector base class that allows modification of the internal representation.
+ */
+   template <class T, class BaseClass>
+   class RefVectorBase : public ConstVectorBase<T, BaseClass>,
+                      public RefVectorBaseHelper
+   {
+   public:
+         /// constructor
+      explicit RefVectorBase() {}
+         /// returns a modifiable version of the element at index i.
+      T& operator[] (size_t i) 
+         { return vecRef(i); }
+         /// returns a modifiable version of the element at index i.
+      T& operator() (size_t i) 
+         { return vecRef(i); }
+         /// Any value in the vector with absolute value below
+         /// zeroTolerance is set to zero.
+      BaseClass& zeroize()
+         {
+            BaseClass& me = static_cast<BaseClass&>(*this); 
+            size_t i;
+            for (i = 0; i < me.size(); i++)
+               if (ABS(me[i]) < zeroTolerance)
+                  me[i] = T(0);
+            return me;
+         }
+
+#define VecBaseArrayAssignMacroDontCheckRange(func) \
+   BaseClass& me = static_cast<BaseClass&>(*this); \
+   size_t i; for (i=0; i < me.size(); i++) { \
+      me[i] func x[i]; \
+   } \
+   return me;
+
+#ifdef RANGECHECK
+#define VecBaseArrayAssignMacro(func) \
+   BaseClass& me = static_cast<BaseClass&>(*this); \
+   if (x.size() != me.size()) \
+      { \
+         VectorException e("Unequal lengths for vectors"); \
+         GPSTK_THROW(e); \
+      } \
+   size_t i; for (i=0; i < me.size(); i++) me[i] func x[i]; \
+   return me;
+#else
+#define VecBaseArrayAssignMacro(func) \
+VecBaseArrayAssignMacroDontCheckRange(func)
+#endif
+
+#define VecBaseAtomicAssignMacro(func) \
+   BaseClass& me = static_cast<BaseClass&>(*this); \
+   size_t i; for (i=0; i < me.size(); i++) me[i] func x; \
+   return me;
+
+#define VecBaseNewAssignOperator(funcName, op) \
+            /** Performs op on (*this).size() elements of (*this) from x */ \
+   template <class E> BaseClass& funcName(const ConstVectorBase<T, E>& x) \
+      { VecBaseArrayAssignMacro(op) } \
+            /** Performs op on (*this).size() elements of (*this) from x */ \
+   BaseClass& funcName(const std::valarray<T>& x) \
+      { VecBaseArrayAssignMacro(op) } \
+            /** Performs op on (*this).size() elements of (*this) from x */ \
+   BaseClass& funcName(const T* x) \
+      { VecBaseArrayAssignMacroDontCheckRange(op) } \
+            /** Performs op on (*this).size() elements of (*this) from x */ \
+   BaseClass& funcName(T x) \
+      { VecBaseAtomicAssignMacro(op) }
+
+         /** 
+          * Remember that operator= is NOT inherited. Derived classes can
+          * use assignFrom to initialize values from a copy constructor or
+          * their own operator= rather than explicitly copying them. 
+          */
+      VecBaseNewAssignOperator(assignFrom, =);
+      VecBaseNewAssignOperator(operator+=, +=);
+      VecBaseNewAssignOperator(operator-=, -=);
+      VecBaseNewAssignOperator(operator*=, *=);
+      VecBaseNewAssignOperator(operator/=, /=);
+
+         /// unary minus: multiplies each element of this vector by -1.
+      BaseClass& operator-()
+         {
+            const T x=T(-1);
+            VecBaseAtomicAssignMacro(*=);
+         }
+
+   protected:
+         /// Returns a modifiable object at index i.
+      inline T& vecRef(size_t i) 
+         throw(VectorException)
+         {
+            BaseClass& b = static_cast<BaseClass&>(*this);
+#ifdef RANGECHECK
+            if (i >= b.size())
+            {
+               VectorException e("Invalid VectorBase index");
+               GPSTK_THROW(e);
+            }
+#endif
+            return b[i]; 
+         }
+   };
+
+/**
+ * A base class that represents a subset of a vector.
+ */
+   template <class BaseClass>
+   class VectorSliceBase
+   {
+   public:
+         /// constructor
+      explicit VectorSliceBase() {}
+
+         /// the number of elements in the slice.
+      size_t size() const
+         { return static_cast<const BaseClass*>(this)->size(); }
+         /// the start index in the BaseClass vector for this slice.
+      size_t start() const
+         { return static_cast<const BaseClass*>(this)->start(); }
+         /// How many elements separate the i'th element from the i+1'th element.
+      size_t stride() const
+         { return static_cast<const BaseClass*>(this)->stride(); }
+
+   protected:
+         /// Given the size of the source vector, checks that the slice is valid.
+      inline void vecSliceCheck(size_t sourceSize) const
+         throw(VectorException)
+         {
+#ifdef RANGECHECK
+               // sanity checks...
+            if ( (start() >= sourceSize) ||
+                 ((start() + (size() - 1) * stride()) >= sourceSize) )
+            {
+               VectorException e("Invalid range for slice");
+               GPSTK_THROW(e);
+            }
+#endif
+         }
+   };
+
+/** 
+ * A vector slice base class that doesn't allow modification of the 
+ * internal elements. 
+ */
+   template <class T, class BaseClass>
+   class ConstVectorSliceBase : public VectorSliceBase<BaseClass>,
+                             public ConstVectorBase<T, BaseClass>
+   {
+public:
+   explicit ConstVectorSliceBase() {}
+};
+
+/** 
+ * A vector slice base class that does allow modification of the 
+ * internal elements. 
+ */
+template <class T, class BaseClass>
+class RefVectorSliceBase : public VectorSliceBase<BaseClass>,
+                        public RefVectorBase<T, BaseClass>
+{
+public:
+   explicit RefVectorSliceBase() {}
+};
+
+//@}
+
+}  // namespace gpstk
+
+#include "VectorBaseOperators.hpp"
+
+#endif //GPSTK_VECTOR_BASE_HPP
diff --git a/trunk/src/VectorBaseOperators.hpp b/trunk/src/VectorBaseOperators.hpp
new file mode 100644
index 0000000..53db016
--- /dev/null
+++ b/trunk/src/VectorBaseOperators.hpp
@@ -0,0 +1,270 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/VectorBaseOperators.hpp#3 $"
+
+/**
+ * @file VectorBaseOperators.hpp
+ * Vector base class operators, including I/O, min(), dot(), comparisons, etc
+ */
+
+#ifndef GPSTK_VECTOR_BASE_OPERATORS_HPP
+#define GPSTK_VECTOR_BASE_OPERATORS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+#include <fstream> // for copyfmt
+#include <vector>
+#include <iomanip>
+
+namespace gpstk
+{
+
+ /** @addtogroup VectorGroup */
+ //@{
+ 
+/** Output operator for ConstVectorBase objects */
+   template <class T, class E>
+   std::ostream& operator<<(std::ostream& s, const ConstVectorBase<T, E>& a) 
+   {
+      std::ofstream savefmt;
+      savefmt.copyfmt(s);
+      size_t i;
+      for (i=0; i< a.size(); i++) {
+         s << std::setw(1) << ' ';
+         s.copyfmt(savefmt);
+         s << a[i];
+      }
+      return s;
+   }
+
+/** Returns the sum of the elements of the vector */
+   template <class T, class BaseClass>
+   inline T sum(const ConstVectorBase<T, BaseClass>& l)
+   { 
+      T total(0);
+      size_t i;
+      for (i = 0; i < l.size(); i++)
+         total += l[i];
+      return total;
+   }
+
+/** Return the element with smallest absolute value in the vector */
+   template <class T, class BaseClass>
+   inline T minabs(const ConstVectorBase<T, BaseClass>& l) throw (VectorException)
+   { 
+      if (l.size() == 0)
+      {
+         VectorException e("Can't find the minabs of an empty vector");
+         GPSTK_THROW(e);
+      }
+      T min = l[0];
+      size_t i;
+      for (i = 1; i < l.size(); i++)
+         if (ABS(l[i]) < ABS(min)) 
+            min = l[i];
+      return min;
+   }
+
+/** Returns the smallest element of the vector */
+   template <class T, class BaseClass>
+   inline T min(const ConstVectorBase<T, BaseClass>& l) throw (VectorException)
+   { 
+      if (l.size() == 0)
+      {
+         VectorException e("Can't find the min of an empty vector");
+         GPSTK_THROW(e);
+      }
+      T min = l[0];
+      size_t i;
+      for (i = 1; i < l.size(); i++)
+         if (l[i] < min) 
+            min = l[i];
+      return min;
+   }
+
+/** Return the element with largest absolute value in the vector */
+   template <class T, class BaseClass>
+   inline T maxabs(const ConstVectorBase<T, BaseClass>& l)
+   {
+      if (l.size() == 0)
+      {
+         VectorException e("Can't find the maxabs of an empty vector");
+         GPSTK_THROW(e);
+      }
+      T max = l[0];
+      size_t i;
+      for (i = 1; i < l.size(); i++)
+         if (ABS(l[i]) > ABS(max)) 
+            max = l[i];
+      return max;
+   }
+
+/** Returns the largest element of the vector */
+   template <class T, class BaseClass>
+   inline T max(const ConstVectorBase<T, BaseClass>& l)
+   {
+      if (l.size() == 0)
+      {
+         VectorException e("Can't find the max of an empty vector");
+         GPSTK_THROW(e);
+      }
+      T max = l[0];
+      size_t i;
+      for (i = 1; i < l.size(); i++)
+         if (l[i] > max) 
+            max = l[i];
+      return max;
+   }
+
+/** returns the dot product of the two vectors */
+   template <class T, class BaseClass, class BaseClass2> 
+   inline T dot(const ConstVectorBase<T, BaseClass>& l, 
+         const ConstVectorBase<T, BaseClass2>& r) 
+   {
+      T sum(0);
+      size_t i,n=(l.size() > r.size() ? r.size() : l.size());
+      for (i = 0; i < n; i++)
+      {
+         sum += l[i] * r[i];
+      }
+      return sum;
+   } 
+
+/** returns the dot product of a vector and a scalar */
+   template <class T, class BaseClass> 
+   inline T dot(const ConstVectorBase<T, BaseClass>& l, const T r) 
+   {
+      T sum(0);
+      size_t i;
+      for (i = 0; i < l.size(); i++)
+      {
+         sum += l[i] * r;
+      }
+      return sum;
+   }
+
+/** returns the dot product of a scalar and a vector */
+   template <class T, class BaseClass> 
+   inline T dot(const T l, const ConstVectorBase<T, BaseClass>& r) 
+   {
+      T sum(0);
+      size_t i;
+      for (i = 0; i < r.size(); i++)
+      {
+         sum += l * r[i];
+      }
+      return sum;
+   }
+
+/** returns the norm of the vector */
+   template <class T, class BaseClass> 
+   inline T norm(const ConstVectorBase<T, BaseClass>& v) 
+   {
+      T mag=T(0);
+      if(v.size()==0) return mag;
+      mag = ABS(v(0));
+      for(size_t i=1; i<v.size(); i++) {
+         if(mag > ABS(v(i)))
+            mag *= SQRT(T(1)+(v(i)/mag)*(v(i)/mag));
+         else if(ABS(v(i)) > mag)
+            mag = ABS(v(i))*SQRT(T(1)+(mag/v(i))*(mag/v(i)));
+         else
+            mag *= SQRT(T(2));
+      }
+      return mag;
+   } 
+
+/** return the Minkowski product of two vectors of length 4. */
+   template <class T, class BaseClass, class BaseClass2> 
+   inline T Minkowski(const ConstVectorBase<T, BaseClass>& v, 
+         const ConstVectorBase<T, BaseClass2>& w) 
+   {
+      if (v.size()<4 || w.size()<4)
+      {
+         VectorException e("Minkowski requires vector length 4");
+         GPSTK_THROW(e);
+      }
+      return (v(0)*w(0)+v(1)*w(1)+v(2)*w(2)-v(3)*w(3));
+   }
+
+/** finds the cosine between the two vectors */
+   template <class T, class BaseClass1, class BaseClass2>
+   inline T cosVec(const ConstVectorBase<T, BaseClass1>& a,
+                const ConstVectorBase<T, BaseClass2>& b)
+   {
+      T na=norm(a), nb=norm(b), c(0);
+      size_t i,n=(b.size() > a.size() ? a.size() : b.size());
+      for(i=0; i<n; i++) c += (a(i)/na)*(b(i)/nb);
+      return c;
+   }
+
+// shortwire equality operators - compares each individual
+// element in the vector but returns one 'true' or 'false'
+// for the whole comparison.  note this only compares
+// the smaller of the size of the two vectors
+#define VecShortwireComparisonOperator(func, op) \
+/** Performs op on each element of l and r, returning false if any fail */ \
+template <class T, class BaseClass, class BaseClass2>  \
+inline bool func(const ConstVectorBase<T, BaseClass>& l,  \
+       const ConstVectorBase<T, BaseClass2>& r)  \
+{  \
+   size_t len = (l.size() < r.size()) ? l.size() : r.size(); \
+   size_t i; \
+   for(i = 0; i < len; i++) \
+      if ( !(l[i] op r[i]) ) \
+         return false; \
+   return true; \
+}  \
+/** Performs op on each element of l to r, returning false if any fail */ \
+template <class T, class BaseClass>  \
+inline bool func(const ConstVectorBase<T, BaseClass>& l, const T r)  \
+{ \
+   size_t len = l.size(); \
+   size_t i; \
+   for(i = 0; i < len; i++) \
+      if ( !(l[i] op r) ) \
+         return false; \
+   return true; \
+} \
+/** Performs op on each element of r to l, returning false if any fail */ \
+template <class T, class BaseClass>  \
+inline bool func(const T l, const ConstVectorBase<T, BaseClass>& r)  \
+{  \
+   size_t len = r.size(); \
+   size_t i; \
+   for(i = 0; i < len; i++) \
+      if ( !(l op r[i]) ) \
+         return false; \
+   return true; \
+}
+
+VecShortwireComparisonOperator(eq, ==)
+   VecShortwireComparisonOperator(ne, !=)
+   VecShortwireComparisonOperator(lt, <)
+   VecShortwireComparisonOperator(gt, >)
+   VecShortwireComparisonOperator(ge, >=)
+   VecShortwireComparisonOperator(le, <=)
+
+ //@}
+
+}  // namespace gpstk
+ 
+#endif // GPSTK_VECTOR_BASE_OPERATORS_HPP
diff --git a/trunk/src/VectorOperators.hpp b/trunk/src/VectorOperators.hpp
new file mode 100644
index 0000000..1825991
--- /dev/null
+++ b/trunk/src/VectorOperators.hpp
@@ -0,0 +1,187 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/VectorOperators.hpp#2 $"
+
+/**
+ * @file VectorOperators.hpp
+ * Vector operators, including arithmetic, trig, cross, RMS, etc
+ */
+
+#ifndef GPSTK_VECTOR_OPERATORS_HPP
+#define GPSTK_VECTOR_OPERATORS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+namespace gpstk
+{
+
+ /** @addtogroup VectorGroup */
+   //@{
+
+#define VecBaseNewUnaryOperator(func) \
+      /** performs func on each element of x, returning a new vector */ \
+   template <class T, class BaseClass> \
+   Vector<T> func(const ConstVectorBase<T, BaseClass>& x) \
+      { \
+         BaseClass toReturn(x.size()); \
+         size_t i; for (i=0; i < x.size(); i++) toReturn[i] = func(x[i]); \
+         return toReturn; \
+      }
+
+//   VecBaseNewUnaryOperator(-)
+   VecBaseNewUnaryOperator(abs)
+      VecBaseNewUnaryOperator(acos)
+      VecBaseNewUnaryOperator(asin)
+      VecBaseNewUnaryOperator(atan)
+      VecBaseNewUnaryOperator(cos)
+      VecBaseNewUnaryOperator(cosh)
+      VecBaseNewUnaryOperator(exp)
+      VecBaseNewUnaryOperator(log)
+      VecBaseNewUnaryOperator(log10)
+      VecBaseNewUnaryOperator(sinh)
+      VecBaseNewUnaryOperator(sin)
+      VecBaseNewUnaryOperator(sqrt)
+      VecBaseNewUnaryOperator(tan)
+      VecBaseNewUnaryOperator(tanh)
+
+#define VecBaseNewBinaryOperator(func, retval) \
+/** returns a retval with each element the result of l[i] func r[i] */ \
+template <class T, class BaseClass, class BaseClass2> \
+retval operator func(const ConstVectorBase<T, BaseClass>& l, \
+            const ConstVectorBase<T, BaseClass2>& r) \
+{ \
+   if (l.size() != r.size()) \
+   { \
+      VectorException e("Unequal lengths vectors"); \
+      GPSTK_THROW(e); \
+   } \
+   retval toReturn(l.size()); \
+   size_t i; \
+   for (i=0; i < l.size(); i++) toReturn[i] = l[i] func r[i]; \
+   return toReturn; \
+} \
+/** returns a retval with each element the result of l[i] func (scalar)r */ \
+template <class T, class BaseClass> \
+retval operator func(const ConstVectorBase<T, BaseClass>& l, const T r) \
+{ \
+   retval toReturn(l.size()); \
+   size_t i; \
+   for (i=0; i < l.size(); i++) toReturn[i] = l[i] func r; \
+   return toReturn; \
+} \
+/** returns a retval with each element the result of (scalar)l func r[i] */ \
+template <class T, class BaseClass> \
+retval operator func(const T l, const ConstVectorBase<T, BaseClass>& r) \
+{ \
+   retval toReturn(r.size()); \
+   size_t i; \
+   for (i=0; i < r.size(); i++) toReturn[i] = l func r[i]; \
+   return toReturn; \
+} 
+
+      VecBaseNewBinaryOperator(*, Vector<T>)
+      VecBaseNewBinaryOperator(/, Vector<T>)
+      VecBaseNewBinaryOperator(%, Vector<T>)
+      VecBaseNewBinaryOperator(+, Vector<T>)
+      VecBaseNewBinaryOperator(-, Vector<T>)
+      VecBaseNewBinaryOperator(^, Vector<T>)
+      VecBaseNewBinaryOperator(&, Vector<T>)
+      VecBaseNewBinaryOperator(|, Vector<T>)
+
+      VecBaseNewBinaryOperator(==, Vector<bool>)
+      VecBaseNewBinaryOperator(<, Vector<bool>)
+      VecBaseNewBinaryOperator(>, Vector<bool>)
+      VecBaseNewBinaryOperator(!=, Vector<bool>)
+      VecBaseNewBinaryOperator(<=, Vector<bool>)
+      VecBaseNewBinaryOperator(>=, Vector<bool>)
+
+#define VecBaseNewBinaryTranscendentalOperator(func, retval) \
+/** performs func between each element of l and r, returning a retval */ \
+   template <class T, class BaseClass, class BaseClass2> \
+   retval func(const ConstVectorBase<T, BaseClass>& l, \
+               const ConstVectorBase<T, BaseClass2>& r) \
+   { \
+      retval toReturn(l.size()); \
+      size_t i; \
+      for (i=0; i < l.size(); i++) toReturn[i] = func(l[i], r[i]); \
+      return toReturn; \
+   } \
+/** performs func between each element of l and (scalar)r, returning a retval */ \
+template <class T, class BaseClass> \
+retval func(const ConstVectorBase<T, BaseClass>& l, const T r) \
+{ \
+   retval toReturn(l.size()); \
+   size_t i; \
+   for (i=0; i < l.size(); i++) toReturn[i] = func(l[i], r); \
+   return toReturn; \
+} \
+/** performs func between (scalar)l and each element of r, returning a retval */ \
+template <class T, class BaseClass> \
+retval func(const T l, const ConstVectorBase<T, BaseClass>& r) \
+{ \
+   retval toReturn(r.size()); \
+   size_t i; \
+   for (i=0; i < r.size(); i++) toReturn[i] = func(l, r[i]); \
+   return toReturn; \
+} 
+
+      VecBaseNewBinaryTranscendentalOperator(atan, Vector<T>)
+      VecBaseNewBinaryTranscendentalOperator(pow, Vector<T>)
+
+/** finds the cross product between l and r */
+      template <class T, class BaseClass, class BaseClass2> 
+   Vector<T> cross(const ConstVectorBase<T, BaseClass>& l, 
+                const ConstVectorBase<T, BaseClass2>& r) throw(VectorException)
+{ 
+   if ((l.size() != 3) && (r.size() != 3))
+   {
+      VectorException e("Cross product requires vectors of size 3");
+      GPSTK_THROW(e);
+   }
+   BaseClass toReturn(3);
+   toReturn[0] = l[1] * r[2] - l[2] * r[1];
+   toReturn[1] = l[2] * r[0] - l[0] * r[2];
+   toReturn[2] = l[0] * r[1] - l[1] * r[0];
+   return toReturn;
+} 
+
+/** returns a new vector with the normalized version of l */
+template <class T, class BaseClass>
+Vector<T> normalize(const ConstVectorBase<T, BaseClass>& l) 
+{ return l / norm(l); } 
+
+/** returns the root-sum-square of the elements of l */
+template <class T, class BaseClass>
+T RSS(const ConstVectorBase<T, BaseClass>& l) 
+{ return norm(l); } 
+
+/** returns the root-mean-square of the elements of l */
+template <class T, class BaseClass>
+T RMS(const ConstVectorBase<T, BaseClass>& l) 
+{ return norm(l)/SQRT(T(l.size())); } 
+
+   //@}
+ 
+}  // namespace
+
+#endif
+
+
diff --git a/trunk/src/WGS84Geoid.hpp b/trunk/src/WGS84Geoid.hpp
new file mode 100644
index 0000000..f1a7206
--- /dev/null
+++ b/trunk/src/WGS84Geoid.hpp
@@ -0,0 +1,126 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/WGS84Geoid.hpp#1 $"
+
+/**
+ * @file WGS84Geoid.hpp
+ * WGS 1984 model of the geoid
+ */
+
+#ifndef GPSTK_WGS84GEOID_HPP
+#define GPSTK_WGS84GEOID_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "GeoidModel.hpp"
+
+namespace gpstk
+{
+    /** @addtogroup geodeticgroup */
+    //@{
+
+      /// This class represents the geodetic model defined in NIMA
+      /// TR8350.2, "Department of Defense World Geodetic System 1984".
+   class WGS84Geoid : public GeoidModel
+   {
+   public:
+   
+         /// Defined in TR8350.2, Appendix A.1
+         /// @return semi-major axis of Earth in meters.
+      virtual double a() const throw()
+      { return 6378137.0; }
+
+         /// Derived from TR8350.2, Appendix A.1
+         /// @return semi-major axis of Earth in km.
+      virtual double a_km() const throw()
+      { return a() / 1000.0; }
+
+         /**
+          * Derived from TR8350.2, Appendix A.1
+          * @note This parameter was in gappc as e-2, but a
+          * little calculator work indicates it should really be e-3.
+          * We'll leave it as e-3 for now.
+          * @return flattening (ellipsoid parameter).
+          */
+      virtual double flattening() const throw()
+      { return 0.335281066475e-3; }
+
+         /// Defined in TR8350.2, Table 3.3
+         /// @return eccentricity (ellipsoid parameter).
+      virtual double eccentricity() const throw()
+      { return 8.1819190842622e-2; }
+
+         /// Defined in TR8350.2, Table 3.3
+         /// @return eccentricity squared (ellipsoid parameter).
+      virtual double eccSquared() const throw()
+      { return 6.69437999014e-3; }
+
+         /// Defined in TR8350.2, 3.2.4 line 3-6, or Table 3.1
+         /// @return angular velocity of Earth in radians/sec.
+      virtual double angVelocity() const throw()
+      { return 7.292115e-5; }
+
+         /// Defined in TR8350.2, Table 3.1
+         /// @return geocentric gravitational constant in m**3 / s**2
+      virtual double gm() const throw()
+      { return 3986004.418e8; }
+
+         /// Derived from TR8350.2, Table 3.1
+         /// @return geocentric gravitational constant in km**3 / s**2
+      virtual double gm_km() const throw()
+      { return 398600.4418; }
+
+         /// Defined in TR8350.2, 3.3.2 line 3-11
+         /// @return Speed of light in m/s.
+      virtual double c() const throw()
+      { return 299792458; }
+
+         /// Derived from TR8350.2, 3.3.2 line 3-11
+         /// @return Speed of light in km/s
+      virtual double c_km() const throw()
+      { return c()/1000.0; }
+
+   }; // class WGS84Geoid
+
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/X1Sequence.cpp b/trunk/src/X1Sequence.cpp
new file mode 100644
index 0000000..2fd0239
--- /dev/null
+++ b/trunk/src/X1Sequence.cpp
@@ -0,0 +1,159 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/X1Sequence.cpp#2 $"
+/*
+*  X1Sequence.cpp
+*
+*     GPS X1 Sequencer.
+*     Applied Research Laboratories, The University of Texas at Austin
+*     August 2003
+*/
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+   // Project headers
+#include "Exception.hpp"
+#include "X1Sequence.hpp"
+#include "GenXSequence.hpp"
+
+namespace gpstk
+{
+      //   Static Variable Definition
+   bool X1Sequence::isInit = false;
+   unsigned long* X1Sequence::X1Bits = 0;
+
+   X1Sequence::X1Sequence(  )
+   {
+      if (isInit!=true)
+      {
+         gpstk::Exception e(
+            "Must call X1Sequence::allocateMemory() before instantiating a X1Sequence object.");
+         GPSTK_THROW(e);
+      }
+   }
+   
+   void X1Sequence::allocateMemory( )
+   {
+      int X1Aepoch;
+      int X1Acount;
+      int X1Bepoch;
+      int X1Bcount;
+      int X1epoch = 1;
+      long X1Word = 0;
+      int lengthOfX1BSequence;
+   
+      if (isInit==true)
+      {
+         gpstk::Exception e ("X1Sequence::allocateMemory() called multiple times");
+         GPSTK_THROW(e);
+      }
+      
+      X1Bits = new unsigned long[NUM_6SEC_WORDS];
+      if (X1Bits==0) 
+      {
+         gpstk::Exception e ("X1Sequence::allocateMemory() - allocation failed.");
+         GPSTK_THROW(e);
+      }
+   
+         // Generate the X1A and X1B sequences.
+      gpstk::GenXSequence X1A( X1A_INIT, X1A_TAPS, XA_COUNT, XA_EPOCH_DELAY);
+      gpstk::GenXSequence X1B( X1B_INIT, X1B_TAPS, XB_COUNT, XB_EPOCH_DELAY);
+   
+         // Combination will be performed for four X1 epochs.
+         // This will generate six seconds of X1 bits sequence
+         // that will end on an even 32-bit boundary.
+      unsigned long X1Abits;
+      unsigned long X1Bbits;
+      X1Aepoch = 1;
+      X1Acount = 0;
+      X1Bepoch = 1;
+      X1Bcount = 0;
+      lengthOfX1BSequence = XB_COUNT;
+   
+      while ( X1Word < NUM_6SEC_WORDS )
+      {
+            // Get 32 X1A bits.  Update counters and handle rollovers.
+         X1Abits = X1A[X1Acount];
+         X1Acount += MAX_BIT;
+      
+         if ( X1Acount >= XA_COUNT )
+         {
+            ++X1Aepoch;
+            if (X1Aepoch>XA_MAX_EPOCH)
+            {
+               ++X1epoch;
+               X1Aepoch = 1;
+            }
+            X1Acount = X1Acount - XA_COUNT;
+         }
+      
+            // Get 32 X1B bits.  Update counters and handle rollovers
+         X1Bbits = X1B[X1Bcount];
+         X1Bcount += MAX_BIT;
+         if (X1Bcount >= lengthOfX1BSequence )
+         {
+            X1Bcount = X1Bcount - lengthOfX1BSequence;
+            ++X1Bepoch;
+            if (X1Bepoch>XB_MAX_EPOCH) X1Bepoch = 1;
+            if (X1Bepoch==XB_MAX_EPOCH) 
+               lengthOfX1BSequence = XB_COUNT+XB_EPOCH_DELAY;
+             else
+               lengthOfX1BSequence = XB_COUNT;
+            X1B.setLengthOfSequence( lengthOfX1BSequence );
+         }
+         
+         X1Bits[X1Word++] = X1Abits ^ X1Bbits;
+      }   
+   
+      isInit = true;
+   }
+
+   void X1Sequence::deAllocateMemory()
+   {
+      if (isInit!=true || X1Bits==0)
+      {
+         gpstk::Exception e("X1Sequence::deAllocateMemory() called when no memory allocated.");
+         GPSTK_THROW(e);
+      }
+      delete [] X1Bits;
+      isInit = false;
+   }
+   
+}     // end of namespace
+
diff --git a/trunk/src/X1Sequence.hpp b/trunk/src/X1Sequence.hpp
new file mode 100644
index 0000000..1190dc3
--- /dev/null
+++ b/trunk/src/X1Sequence.hpp
@@ -0,0 +1,132 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/X1Sequence.hpp#2 $"
+// X1Sequence.cpp - GPS X1 Seqeuncer
+
+#ifndef X1SEQUENCE_HPP
+#define X1SEQUENCE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+   // Project headers
+#include "PCodeConst.hpp"
+
+namespace gpstk
+{
+/** @addtogroup code   */
+//@{
+      /**
+        *     GPS X1 Sequencer.
+        *     Applied Research Laboratories, The University of Texas at Austin
+        *     August 2003
+        *
+        *  X1Sequence is contains
+        *  a six-second (four Z-count) sequence of the combined X1A/X1B data
+        *  for the GPS constellation.  The X1 sequence repeats every 1.5s 
+        *  (each X1 epoch) and is identical for all SVs and all 1.5s epochs.
+        *  In this case, 6 seconds of bitstream is generated and stored
+        *  because this set of code "thinks" in term of 32-bit words and
+        *  a 1.5s epoch doesn't contain an integer number of 32-bit words
+        *  of packed bits) - there's a .25 word (8 bit) remainder.  
+        *  Therefore, a six second seqeunce DOES include an even mulitple
+        *  of 32 bits, which greatly simplifies handling of the data.
+        *
+        *  Six seconds of X1 bits is a significant amount of data:
+        *    X1 Epoch = 4092 X1A bits * 3750 X1A cycles = 15,345,000 bits
+        *    6 s = 4 X1 Epoch = 4 * bits = 4 * 15,345,000 = 61,380,000 bits.              
+        *    The number of 32 bit words required equals
+        *    61,380,000 bits / 32 bits/word = 1,918,125 words
+        */
+   class X1Sequence
+   {
+      public:
+            /**
+             *  Initialize the member variables associated with this object. 
+             *  In the case of this class, this is a significant amount of 
+             *  work. The X1A/X1B process described in ICD-GPS-200B is followed
+             *  in order to fill the X1Bits array.
+             */
+         X1Sequence();
+         ~X1Sequence( ) {};
+
+            /**  The X1 sequence requires a 6-second buffer of 10MBit/sec 
+             *   samples.  This comes to approximately 2 million four-byte
+             *   unsigned integers.  These data are the same for all PRN codes
+             *   To minimize the memory footprint, these data are stored
+             *   in a dynamically-allocated static array.  It is 
+             *     - - - - NECESSARY - - - -
+             *   that the calling method call X1Sequence::allocateMemory()
+             *   PRIOR to instantiating the first X1Sequence object. 
+             *   X1Sequence::allocateMemory() should only be called once.
+             *   Violation of either condition will result in a 
+             *   gpstk::Exception thrown from either X1Sequence::X1Sequence()
+             *   or X1Sequence::allocateMemory().
+             *
+             *   The X1Sequence::deAllocateMemory() method may be called to
+             *   release the memory (if desired) but it should only be called
+             *   after all X1Sequence objects have been "destroyed".
+             */
+         static void allocateMemory( );
+         static void deAllocateMemory( );
+         
+         unsigned long & operator[]( int i );
+            /**
+             *  Given a word number from 0 to NUM_6SEC_WORDS, return the 
+             *  requested word.
+             */
+         const unsigned long & operator[] ( int i ) const;
+     
+      private:
+         static unsigned long* X1Bits;
+         static bool isInit; 
+   };
+
+   inline unsigned long & X1Sequence::operator[] ( int i )
+   {
+      return(X1Bits[i]); 
+   }
+
+   inline const unsigned long & X1Sequence::operator[] ( int i ) const
+   {
+      return(X1Bits[i]);
+   }
+
+}  // end of namespace
+#endif // X1SEQUENCE_HPP
diff --git a/trunk/src/X2Sequence.cpp b/trunk/src/X2Sequence.cpp
new file mode 100644
index 0000000..d85e9fb
--- /dev/null
+++ b/trunk/src/X2Sequence.cpp
@@ -0,0 +1,237 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/X2Sequence.cpp#3 $"
+/*
+*  X2Sequence.cpp
+*     GPS X2 Sequencer.
+*     Applied Research Laboratories, The University of Texas at Austin
+*     August 2003
+*/
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+   // Language headers
+#include <stdio.h>
+#include <string>
+
+   // Project headers
+#include "Exception.hpp"
+#include "GenXSequence.hpp"
+#include "X2Sequence.hpp"
+
+namespace gpstk
+{
+      // Static Variable Definition
+   bool X2Sequence::isInit = false;
+   unsigned long* X2Sequence::X2Bits = 0;
+   unsigned long* X2Sequence::X2BitsEOW = 0;
+
+      // See program x2EOW.cpp for derivation of these values
+   unsigned long X2Sequence::EOWEndOfSequence[LENGTH_OF_EOW_OVERLAP] =
+   {
+    0xFA5F8298, 0xB30C04D9, 0xD5CACBCA, 0x0ED47FFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
+    0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF
+   };
+
+   X2Sequence::X2Sequence(  )
+   {
+      if (isInit!=true)
+      {
+         gpstk::Exception e(
+            "Must call X2Sequence::allocateMemory() before instantiating a X2Sequence object.");
+         GPSTK_THROW(e);
+      }
+      
+         // This must be done for each object in order to initialize the
+         // bitsP pointer to the correct buffer of bits.
+      setEOWX2Epoch(false);
+   }
+   
+   void X2Sequence::allocateMemory( )
+   {
+      int X2Aepoch;
+      int X2Acount;
+      int X2Bepoch;
+      int X2Bcount;
+      int X2epoch = 1;
+      long X2Word = 0;
+      long X2Count = 0;
+      int lengthOfX2ASequence;
+      int lengthOfX2BSequence;
+
+      if (isInit==true)
+      {
+         gpstk::Exception e ("X2Sequence::allocateMemory() called multiple times");
+         GPSTK_THROW(e);
+      }
+      
+      X2Bits =    new unsigned long[NUM_X2_WORDS];
+      X2BitsEOW = new unsigned long[NUM_X2_WORDS];
+      if (X2Bits==0 || X2BitsEOW==0) 
+      {
+         gpstk::Exception e ("X2Sequence::allocateMemory() - allocation failed.");
+         GPSTK_THROW(e);
+      }
+   
+         // Last words of X2Bits and X2BitsEOW are only partially filled.
+         // Initialize to 0 to avoid confusion.
+      X2Bits[NUM_X2_WORDS-1] = 0x00000000;
+      X2BitsEOW[NUM_X2_WORDS-1] = 0x00000000;
+   
+         // Generate the X2A and X2B sequences.
+      gpstk::GenXSequence X2A( X2A_INIT, X2A_TAPS, XA_COUNT, 
+                                         XA_EPOCH_DELAY+X2A_EPOCH_DELAY);
+      gpstk::GenXSequence X2B( X2B_INIT, X2B_TAPS, XB_COUNT, 
+                                         XB_EPOCH_DELAY+X2A_EPOCH_DELAY);
+
+         /*
+             In order to handle the beginning of week case, obtain the 
+             initial X2 bit, then copy this bit into the first 37 bit 
+             positions of the X2 sequence.  The X2Ainit and X2Binit variables
+             are purposely chosen to be SIGNED integers to take advantage of 
+             the arithmetic shift behavior.
+         */
+      unsigned long firstTest = X2A[0] ^ X2B[0];
+      if (firstTest & 0x80000000 ) 
+         X2Bits[0] = 0xFFFFFFFF;
+       else
+         X2Bits[0] = 0x00000000;
+
+      X2Bits[1] = firstTest >> 5;
+      X2Bits[1] |= ( X2Bits[0] & 0xF8000000 );
+   
+         /*
+            Previous section handled the beginning of week 37 chip delay 
+            plus the first 27 chips (64 bits - 37 chip = 27) of the X2
+            cycle.  Set the counters accordingly and start retrieving bits.
+            The combination will be performed for four X2 epochs.
+            This will generate six seconds+ of X2 bits sequence.
+         */
+      unsigned long X2Abits;
+      unsigned long X2Bbits;
+      X2Aepoch = 1;
+      X2Acount = 27;
+      X2Bepoch = 1;
+      X2Bcount = 27;
+      X2Word = 2;
+      X2Count = X2Word * MAX_BIT;
+   
+      lengthOfX2ASequence = XA_COUNT;
+      X2A.setLengthOfSequence( lengthOfX2ASequence );
+   
+      lengthOfX2BSequence = XB_COUNT;
+      X2B.setLengthOfSequence( lengthOfX2BSequence );
+   
+      while ( X2Count < MAX_X2_COUNT )
+      {
+            // Get 32 X2A bits.  Update counters and handle rollovers.
+         X2Abits = X2A[X2Acount];
+         X2Acount += MAX_BIT;
+      
+         if ( X2Acount >= lengthOfX2ASequence )
+         {
+            X2Acount = X2Acount - lengthOfX2ASequence;
+            ++X2Aepoch;
+            if (X2Aepoch>XA_MAX_EPOCH)
+            {
+               ++X2epoch;
+               X2Aepoch = 1;
+            }
+            if (X2Aepoch==XA_MAX_EPOCH)
+               lengthOfX2ASequence = XA_COUNT+X2A_EPOCH_DELAY;
+            else
+               lengthOfX2ASequence = XA_COUNT;
+            X2A.setLengthOfSequence( lengthOfX2ASequence );
+         }
+      
+            // Get 32 X2B bits.  Update counters and handle rollovers
+         X2Bbits = X2B[X2Bcount];
+         X2Bcount += MAX_BIT;
+         if (X2Bcount >= lengthOfX2BSequence )
+         {  
+            X2Bcount = X2Bcount - lengthOfX2BSequence;
+            ++X2Bepoch;
+            if (X2Bepoch>XB_MAX_EPOCH) X2Bepoch = 1;
+            if (X2Bepoch==XB_MAX_EPOCH) 
+               lengthOfX2BSequence = XB_COUNT+XB_EPOCH_DELAY+X2A_EPOCH_DELAY;
+             else
+               lengthOfX2BSequence = XB_COUNT;
+            X2B.setLengthOfSequence( lengthOfX2BSequence );
+         }
+         
+         X2Bits[X2Word++] = X2Abits ^ X2Bbits;
+         X2Count += MAX_BIT;
+      }   
+
+         // At this point, the X2Bits array is complete.  Copy the entire
+         // array into X2BitsEOW, then overlay the EOW section into the
+         // appropriate place.
+      const size_t numBytesPerWord = 4;
+      size_t numBytes = NUM_X2_WORDS * numBytesPerWord;
+      memcpy( X2BitsEOW, X2Bits, numBytes );
+      numBytes = LENGTH_OF_EOW_OVERLAP * numBytesPerWord;
+      memcpy( (void *) &X2BitsEOW[OVERLAP_WORD_POSITION], EOWEndOfSequence, numBytes );
+   
+      isInit = true;
+   }
+
+   void X2Sequence::deAllocateMemory()
+   {
+      if (isInit!=true || X2Bits==0 || X2BitsEOW==0)
+      {
+         gpstk::Exception e("X2Sequence::deAllocateMemory() called when no memory allocated.");
+         GPSTK_THROW(e);
+      }
+      delete [] X2Bits;
+      delete [] X2BitsEOW;
+      isInit = false;
+   }
+   
+   void X2Sequence::setEOWX2Epoch( const bool tf )
+   {
+      if (tf) bitsP = X2BitsEOW;
+       else   bitsP = X2Bits;
+   }
+
+}  // end of namespace
diff --git a/trunk/src/X2Sequence.hpp b/trunk/src/X2Sequence.hpp
new file mode 100644
index 0000000..ed40091
--- /dev/null
+++ b/trunk/src/X2Sequence.hpp
@@ -0,0 +1,294 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/X2Sequence.hpp#2 $"
+//  X2Sequence.hpp - GPS X2 Sequencer
+
+#ifndef X2SEQUENCE_HPP
+#define X2SEQUENCE_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+   // Local headers
+#include "PCodeConst.hpp"
+#include "mergePCodeWords.h"
+
+namespace gpstk
+{
+/** @addtogroup code   */
+//@{
+      
+      /*
+         The following constants are derived in x2EOW.cpp and
+         used as literals here.
+      */
+   const long LENGTH_OF_EOW_OVERLAP =      34;
+   const long OVERLAP_WORD_POSITION = 1451897;
+      // Maximum number of X2 chips (exclusive of BOW delay chips)
+   const long MAX_X2_TEST = 4 * ((XA_COUNT * XA_MAX_EPOCH) + X2A_EPOCH_DELAY); 
+      // Maximum number of X2 chips
+   const long MAX_X2_COUNT = X2A_EPOCH_DELAY + MAX_X2_TEST;
+
+      /**
+       *     GPS X2 Sequencer.
+       *     Applied Research Laboratories, The University of Texas at Austin
+       *     August 2003
+       *
+       *  X2Sequence is a static class (one instance per executable) that
+       *  contains a little more than a six-second (four Z-count) sequence 
+       *  of the combined X2A/X2B data for the GPS constellation.  The 
+       *  X2 sequence repeats roughly every 1.5s (each X1 epoch) and is 
+       *  identical for all SVs.  The progressive "slip" in the relative
+       *  relationship between X1 and X2 is responsible for progressing the 
+       *  P-code bitstream in time while a beginning of week offset is
+       *  responsible to differentiating between unique satellite codes.
+       *
+       *  These two slips are responsbile for some special circumstances in
+       *  the X2 bit sequence.  The satelite differentiation is handled by 
+       *  "holding" the X2 state at the beginning of week bit for a delay 
+       *  equivalent to the PRN ID of the satellite.  This is handled by 
+       *  replicating the first bit of the combined X2A/X2B bitstream 37 
+       *  times at the front of the bit sequence.  Therefore, a bit index
+       *  of "1" will be internally interpreted as 38.  At the beginning
+       *  of the week, the calling application shall coerce the beginning 
+       *  bit of the first call to X2 sequence to be 1-PRNID.
+       *
+       *  The other delay is a 37 chip delay at the end of each X2A epoch.  
+       *  During this delay, the X2 state is "held" in the final bit state.  
+       *
+       *  Given these considerations, the following caluclations derive the 
+       *  number of bits that make up an X2Sequence and the number of unsigned 
+       *  32-bit words required to hold these bits:
+       *
+       *  Base number of bits in a X2A epoch: 4092 chips
+       *  Number of X2A epochs in an X2 Epoch: 3750 epochs (cycles)
+       *  Delay at end of each X2 Epoch: 37 chips
+       *  Number of bits required for a SINGLE X2 Epoch:
+       *             4092 * 3750 + 37 = 15,345,037 bits.
+       *  Number of bits in FOUR X2 Epochs (corresponding to FOUR X1 Epochs):
+       *             4 * 15,345,037 = 61,380,148 bits.
+       *  Number of PRN delay bits to be added to FRONT of array to be us
+       *  at the beginning of week: 37.
+       *
+       *  Total number of bits required: 61,380,148 + 37 = 61,380,185 bits.
+       *  Number of 32 bit words required:
+       *     61,380,185 / 32 = 1,918,131 (1,918,130 Remainder of 25).
+       *
+       *  SPECIAL CONDITION
+       *     The final X2 sequence of the week is both truncated and unique.
+       *  X2Sequence makes special provision for handing this condition.  The
+       *  final X2 epoch starts well into the final X1 epoch, consequently, 
+       *  the final X2 epoch contains ?? X2A cycles at which point, the final 
+       *  X2A chips is "held" until week rollover occurs.  The final X2 epoch 
+       *  contains ?? X2B cycles at which point, the final X2B chip is "held"
+       *  (repeated) until week rollover occurs.  This means bits ??-?? of the
+       *  X2Sequence differ for this final cycle (and the end of this final X2 
+       *  cycle is at bit ??). 
+       *
+       *  It's important to avoid having a conditional in the inline subscript
+       *  operator.  Therefore, the design implements two buffers.  Each are 
+       *  6+ seconds long.  The two buffers only differ in the 1069 chip span 
+       *  (34 words) where there are  two different patterns. 
+       *
+       *  The internal points unsigned long *bitsP is used to track which buffer
+       *  (X2bits[] or X2bitsEOW[] is in use at a particular time.  The method
+       *  setEOWX2Epoch( bool tf ) is used to control the buffer to which *bitsP
+       *  currently points.  X2Sequence initialize2 the bitsP pointer to point
+       *  to the regular array.  The calling application will need to manage 
+       *  the timing of calling setEOWX2Epoch.  This needs to be done for EACH
+       *  X2Sequence object - X2Bits and X2BitsEOW are static, but the bitsP
+       *  pointer is a member veriable of the class and NOT static.
+       */
+   class X2Sequence
+   {
+      public:
+            /** Initialize the local variables associated with 
+              * this object. In the case of this class, this is a significant
+              * amount of work. The X2A/X2B process described in ICD-GPS-200B 
+              * is followed in order to fill the X2Bits array.
+              */
+         X2Sequence();
+         ~X2Sequence( ) {};
+    
+            /**  The X2 sequence requires two 6-second buffers of 10MBit/sec 
+             *   samples.  This comes to approximately 4 million four-byte
+             *   unsigned integers.  These data are the same for all PRN codes
+             *   To minimize the memory footprint, these data are stored
+             *   in a dynamically-allocated static array.  It is 
+             *     - - - - NECESSARY - - - -
+             *   that the calling method call X2Sequence::allocateMemory()
+             *   PRIOR to instantiating the first X2Sequence object. 
+             *   X2Sequence::allocateMemory() should only be called once.
+             *   Violation of either condition will result in a 
+             *   gpstk::Exception thrown from either X2Sequence::X2Sequence()
+             *   or X2Sequence::allocateMemory().
+             *
+             *   The X2Sequence::deAllocateMemory() method may be called to
+             *   release the memory (if desired) but it should only be called
+             *   after all X2Sequence objects have been "destroyed".
+             */
+         static void allocateMemory( );
+         static void deAllocateMemory( );
+         
+            /** Given a bit number from -37 to X2Length-37, stuff the 32 bits
+             *  starting with that bit and continuing for the next 31 bits into
+             *  an unsigned long and return this as the result.  Conditional 
+             *  code (compiled only for debug) will confirm that the requested
+             *  bit number is >=-37 and <(61,380,185-32) and will halt the
+             *  program if this assertion is violated.  
+             *  NOTE: operator[] should never have to worry about rollovers.
+             *  The length of the X2 array shall be set such that the maximum
+             *  number of X2 bits needed will be available.  The reset will be
+             *  driven by the occurrence of the next X1 epoch and be tracked 
+             *  one level up in the corresponding SVPcodeGen object.
+             */
+         unsigned long operator[]( long i );
+
+            /**  Controls whether the X2 Epoch is set to EOW condition
+             *   or normal condition.  Should only be set true for the final
+             *   X2 epoch of the week.
+             */
+         void setEOWX2Epoch( const bool tf );
+
+      private:
+         unsigned long *bitsP;
+         static unsigned long* X2Bits;
+         static unsigned long* X2BitsEOW;
+         static unsigned long EOWEndOfSequence[LENGTH_OF_EOW_OVERLAP];
+         static bool isInit; 
+   };
+
+       /*
+          Given a bit position within the X2 sequence (numbered starting at -37),
+          return the next 32 bits.  Note: if there are insufficient bits left
+          to fill the request, wrap around to the beginning of the sequence.
+       */
+   inline unsigned long X2Sequence::operator[] ( long i )
+   {
+      long adjustedCount = i + X2A_EPOCH_DELAY;
+   
+      unsigned long retArg;
+      int ndx1 = adjustedCount / MAX_BIT;
+      int offset = adjustedCount - (ndx1 * MAX_BIT);
+      if ( (adjustedCount+MAX_BIT) <= MAX_X2_COUNT )
+      {
+         if (offset==0) retArg = bitsP[ndx1];
+         else           retArg = merge( bitsP[ndx1], bitsP[ndx1+1], offset );
+      }
+         /*
+            Complicated case when coming up to end of sequence.  May have to
+            put together parts of up to three words to get 32 bits.  The problem 
+            is complicated because the word at the end of the array is partial
+            AND the beginning of sequence (BOW) occurs in mid-word due to the
+            PRN offset.  Some numbers:
+         
+            Number of bits available in word N : 25
+            Number of bits available in word at BOS : 27
+                  
+            Possible cases:
+            1.) Combine bits from [n-1], [n], and [BOS] - word n will provide
+                25 bits.  Therefore, some combination of (n-1,BOS) from the 
+                choice of (1,4), (2,3), (3,2), (4,1).
+             
+            2.) Combine bits from [n-1] and [BOS] - word n-1 will provide 25-5 
+                bits.  Therefore, BOS will provide 7-27 bits. 
+         
+            3.) Combine bits from [n-1], [BOS], and [BOS+1] - word n-1 provides
+                4-1 bits.  BOS provides 27 bits (running total to 31-28 bits).
+                BOS+1 provides 1-4 bits.
+         */
+      else
+      {
+         retArg = 0L;
+         int numRemainingInSequence = MAX_X2_COUNT - adjustedCount;
+         int numRemainingInWord;
+         int numFilled = 0;
+
+            // Handle word n-1
+         if (ndx1==NUM_X2_WORDS-2)
+         {
+            numRemainingInWord = MAX_BIT - offset;
+            retArg = bitsP[ndx1++] << offset;
+            numFilled = numRemainingInWord;
+            numRemainingInSequence -= numRemainingInWord;
+         }
+      
+            // Handle word n
+         unsigned long temp = bitsP[ndx1];
+         numRemainingInWord = numRemainingInSequence;
+         temp >>= (MAX_BIT-numRemainingInWord);
+         temp <<= (MAX_BIT-(numRemainingInWord+numFilled));
+         retArg |= temp;
+         numFilled += numRemainingInSequence;
+      
+            //   Wrap to front.  Recall that "front" is actually bit
+            //   37 in sequence due to "beginning of week" delay
+         numRemainingInWord = (2 * MAX_BIT) - X2A_EPOCH_DELAY;
+         int numNeeded = MAX_BIT - numFilled;
+      
+            // Case where all bits needed are in word 1 of sequence array
+            //(which only has 27 "useful" bits)
+         if (numNeeded <= numRemainingInWord)
+         {
+            temp = bitsP[1] << (MAX_BIT - numRemainingInWord);
+            temp >>= (MAX_BIT - numNeeded);
+            retArg |= temp;
+         }
+            // Case where all bits in word 1 are needed plus some bits in word 2.
+         else
+         {
+               // Clearing high-order bits
+            temp = bitsP[1] << (MAX_BIT - numRemainingInWord);
+            temp >>= (MAX_BIT - numRemainingInWord);
+            temp <<= (MAX_BIT - (numRemainingInWord+numFilled));
+            retArg |= temp;
+         
+               // Fetch remaining bits from next word 
+            numFilled += numRemainingInWord;
+            numNeeded = MAX_BIT - numFilled;
+            temp = bitsP[2] >> (MAX_BIT - numNeeded);
+            retArg |= temp;
+         }
+      }
+      return(retArg);
+   }
+   //@}
+}  // end of namespace
+
+#endif // X2SEQUENCE_HPP
diff --git a/trunk/src/Xvt.cpp b/trunk/src/Xvt.cpp
new file mode 100644
index 0000000..db42ea0
--- /dev/null
+++ b/trunk/src/Xvt.cpp
@@ -0,0 +1,123 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Xvt.cpp#2 $"
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+/**
+ * @file Xvt.cpp
+ * Position, velocity, and clock representation as ECEF, Triple and double
+ */
+
+#include "GeoidModel.hpp"
+#include "Xvt.hpp"
+
+namespace gpstk
+{
+   
+      /*
+       * Function to find the range and position from a ground
+       * location, rxPos, to the spacecraft position (*this).x.
+       *
+       * Use the pseudorange corrected for SV clock effects to get a
+       * rough time of flight (dt).  Account directly for Earth
+       * rotation, then compute a rough receiver bias by differencing
+       * the initial time of flight with the new estimate.  Then
+       * correct the rotation by a small amount.
+       */
+   double Xvt :: preciseRho(const ECEF& rxPos,
+                            const GeoidModel& geoid,
+                            double correction) const 
+      throw()
+   {
+         // Compute initial time of flight estimate using the
+         // geometric range at transmit time.  This fails to account
+         // for the rotation of the earth, but should be good to
+         // within about 40 m
+      double sr1 = rxPos.slantRange(x);
+      double dt = sr1 / geoid.c();
+
+         // compute rotation angle in the time of signal transit
+      double rotation_angle = -geoid.angVelocity() * dt;
+
+         // rotate original GS coordinates to new values to correct for
+         // rotation of ECEF frame
+         // Ref: Satellite Geodesy, Gunter Seeber, 1993, pg 291  and the 
+         // ICD-GPS-200 sheet 102 May 1993 version
+         //   xnew[0]=xg[0]*cos(rotation_angle)-xg[1]*sin(rotation_angle);
+         //   xnew[1]=xg[1]*cos(rotation_angle)+xg[0]*sin(rotation_angle);
+         //   xnew[2]=xg[2];
+         // since cosine and sine are small, approximate by the first
+         // order terms in an expansion.
+      Triple xnew;
+      for (int i = 0; i < 2; i++)
+      {
+         xnew[0] = x[0] - x[1] * rotation_angle;
+         xnew[1] = x[1] + x[0] * rotation_angle;
+         xnew[2] = x[2];
+
+            // Compute geometric slant range from ground station to
+            // the rotated new coord's
+         sr1 = rxPos.slantRange(xnew);
+      
+            // Recompute the time of flight (dt) based on PR, with the
+            // time of flight based on geometric range.  Note that
+            // this is a really unneeded, in that the change in PR is
+            // < 40 m, hence the change in tof is < 20 ns
+         dt = sr1 / geoid.c();
+      
+            // Compute new rotation in this time 
+         rotation_angle = -geoid.angVelocity() * dt;  
+      }
+         // Account for SV clock drift and other factors
+      double rho = sr1 - (dtime * geoid.c()) - correction;
+      return rho;
+   } // end of preciseRho()
+} 
+
+std::ostream& operator<<( std::ostream& s, 
+                          const gpstk::Xvt& xvt )
+{
+   s << "x:" << xvt.x
+     << ", v:" << xvt.v
+     << ", clk bias:" << xvt.dtime
+     << ", clk drift:" << xvt.ddtime;
+   return s;
+}
diff --git a/trunk/src/Xvt.hpp b/trunk/src/Xvt.hpp
new file mode 100644
index 0000000..b165b6b
--- /dev/null
+++ b/trunk/src/Xvt.hpp
@@ -0,0 +1,101 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/Xvt.hpp#2 $"
+
+/**
+ * @file Xvt.hpp
+ * Position, velocity, and clock representation as ECEF, Triple and double
+ */
+
+#ifndef GPSTK_XVT_HPP
+#define GPSTK_XVT_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <iostream>
+#include "Triple.hpp"
+#include "ECEF.hpp"
+#include "GeoidModel.hpp"
+
+namespace gpstk
+{
+    /** @addtogroup geodeticgroup */
+    //@{
+
+      /// An Earth-Centered, Earth-Fixed position/velocity/clock representation
+   class Xvt
+   {
+   public:
+         /// Default constructor
+      Xvt() { }
+
+      ECEF x;         ///< SV position (x,y,z). Earth-fixed. meters
+      Triple v;       ///< SV velocity. Earth-fixed, including rotation. meters/sec
+      double dtime;   ///< SV clock correction in seconds
+      double ddtime;  ///< SV clock drift in sec/sec
+
+         /**
+          * Given a the position of a ground location, compute the range
+          * to the spacecraft position.
+          * @param rxPos ground position at broadcast time in ECEF.
+          * @param geoid geodetic parameters.
+          * @param correction offset in meters (include any factors other
+          * than the SV clock correction).
+          * @return Range in meters
+          */
+      double preciseRho(const ECEF& rxPos, 
+                        const GeoidModel& geoid,
+                        double correction = 0) const
+         throw();
+   }; 
+
+   //@}
+
+}
+
+/**
+ * Output operator for Xvt
+ * @param s output stream to which \c xvt is sent
+ * @param xvt Xvt that is sent to \c s
+ */
+std::ostream& operator<<( std::ostream& s, 
+                          const gpstk::Xvt& xvt );
+
+#endif
diff --git a/trunk/src/YDSTime.cpp b/trunk/src/YDSTime.cpp
new file mode 100644
index 0000000..a483348
--- /dev/null
+++ b/trunk/src/YDSTime.cpp
@@ -0,0 +1,202 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/YDSTime.cpp#4 $"
+
+#include "YDSTime.hpp"
+#include "TimeConverters.hpp"
+
+namespace gpstk
+{
+   const std::string YDSTime::printChars( "Yyjs" );
+   const std::string YDSTime::defaultFormat( "%04Y/%03j %s" );
+
+   YDSTime& YDSTime::operator=( const YDSTime& right )
+      throw()
+   {
+      year = right.year;
+      doy = right.doy;
+      sod = right.sod;
+      return *this;
+   }
+   
+   CommonTime YDSTime::convertToCommonTime() const
+   {
+      long jday = convertCalendarToJD( year, 1, 1 ) + doy - 1;
+      return CommonTime( jday, sod );
+   }
+   
+   void YDSTime::convertFromCommonTime( const CommonTime& ct )
+   {
+      long jday, secDay;
+      double fsecDay;
+      ct.get( jday, secDay, fsecDay );
+      sod = static_cast<double>( secDay ) + fsecDay;
+
+      int month, day;
+      convertJDtoCalendar( jday, year, month, day );
+      doy = jday - convertCalendarToJD( year, 1, 1 ) + 1;
+   }
+   
+   std::string YDSTime::printf( const std::string& fmt ) const
+      throw( gpstk::StringUtils::StringException )
+   {
+      try
+      {
+         using gpstk::StringUtils::formattedPrint;
+         std::string rv = fmt;
+         
+         rv = formattedPrint( rv, formatPrefixInt + "Y",
+                              "Yhd", year);
+         rv = formattedPrint(rv, formatPrefixInt + "y",
+                             "yhd", static_cast<short>(year % 100));
+         rv = formattedPrint( rv, formatPrefixInt + "j",
+                              "jhd", doy);
+         rv = formattedPrint( rv, formatPrefixFloat + "s",
+                              "sf", sod);
+         return rv;
+      }
+      catch( gpstk::StringUtils::StringException& exc)
+      {
+         GPSTK_RETHROW( exc );
+      }
+   }
+
+   bool YDSTime::setFromInfo( const IdToValue& info )
+      throw()
+   {
+      using namespace gpstk::StringUtils;
+
+      bool hyear( false ), hdoy( false ), hsod( false );
+      int iyear( 0 ), idoy( 0 );
+      double isod( 0. );
+
+      for( IdToValue::const_iterator i = info.begin();
+           i != info.end(); i++ )
+      {
+         switch( i->first )
+         {
+            case 'Y':
+               iyear = asInt( i->second );
+               hyear = true;
+               break;
+            
+            case 'y':
+               switch( i->second.length() )
+               {
+                  case 2:
+                     iyear = asInt( i->second ) + 1900;
+                     if( iyear < 1980 )
+                        iyear += 100;
+                     break;
+                  case 3:
+                     iyear = asInt( i->second ) + 1000;
+                     if( iyear < 1980 )
+                        iyear += 100;
+                     break;
+                  default:
+                     iyear = asInt( i->second );
+                     break;
+               };
+               hyear = true;
+               break;
+
+            case 'j':
+               idoy = asInt( i->second );
+               hdoy = true;
+               break;
+
+            case 's':
+               isod = asDouble( i->second );
+               hsod = true;
+               break;
+            
+            default:
+                  // do nothing
+               break;
+         };
+      }
+      
+      if( hyear )
+      {
+         year = iyear;
+         doy = idoy;
+         sod = isod;
+         return true;
+      }
+
+      return false;
+   }
+
+   bool YDSTime::isValid() const
+      throw()
+   {
+      YDSTime temp;
+      temp.convertFromCommonTime( convertToCommonTime() );
+      if( *this == temp )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool YDSTime::operator==( const YDSTime& right ) const
+      throw()
+   {
+      if( year == right.year && 
+          doy == right.doy &&
+          sod == right.sod )
+      {
+         return true;
+      }
+      return false;          
+   }
+
+   bool YDSTime::operator!=( const YDSTime& right ) const
+      throw()
+   {
+      return (! operator==( right ) );
+   }
+
+   bool YDSTime::operator<( const YDSTime& right ) const
+      throw()
+   {
+      if( year < right.year )
+      {
+         return true;
+      }
+      if( year > right.year )
+      {
+         return false;
+      }
+      if( doy < right.doy )
+      { 
+         return true;
+      }
+      if( doy > right.doy )
+      {
+         return false;
+      }
+      if( sod < right.sod )
+      {
+         return true;
+      }
+      return false;
+   }
+
+   bool YDSTime::operator>( const YDSTime& right ) const
+      throw()
+   {
+      return (! operator<=( right ) );
+   }
+
+   bool YDSTime::operator<=( const YDSTime& right ) const
+      throw()
+   {
+      return ( operator<( right ) || operator==( right ) );
+   }
+
+   bool YDSTime::operator>=( const YDSTime& right ) const
+      throw()
+   {
+      return (! operator<( right ) );
+   }
+   
+} // namespace
diff --git a/trunk/src/YDSTime.hpp b/trunk/src/YDSTime.hpp
new file mode 100644
index 0000000..f7f0bff
--- /dev/null
+++ b/trunk/src/YDSTime.hpp
@@ -0,0 +1,151 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/YDSTime.hpp#4 $"
+
+#ifndef GPSTK_YDSTIME_HPP
+#define GPSTK_YDSTIME_HPP
+
+#include "TimeTag.hpp"
+
+namespace gpstk
+{
+      /**
+       * This class encapsulates the "year, day-of-year, and seconds-of-day"
+       * time format.
+       */
+   class YDSTime : public TimeTag
+   {
+   public:
+      
+      static const std::string printChars;
+      static const std::string defaultFormat;
+
+         /**
+          * @defgroup ydstbo YDSTime Basic Operations
+          * Default and Copy Constructors, Assignment Operator and Destructor.
+          */
+         //@{
+         /** 
+          * Default Constructor.
+          * All elements are set to zero by default.
+          */
+      YDSTime( long y = 0, 
+               long d = 0, 
+               double s = 0.)
+         throw()
+            : year(y), doy(d), sod(s) 
+      {}
+      
+         /** Copy Constructor.
+          * @param right a const reference to the YDSTime object to copy
+          */
+      YDSTime( const YDSTime& right )
+         throw()
+            : year( right.year ), doy( right.doy ), sod( right.sod )
+      {}
+      
+         /** 
+          * Alternate Copy Constructor.
+          * Takes a const TimeTag reference and copies its contents via
+          * conversion to CommonTime.
+          * @param right a const reference to the TimeTag-based object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      YDSTime( const TimeTag& right )
+         throw( InvalidRequest )
+      { 
+         convertFromCommonTime( right.convertToCommonTime() ); 
+      }
+      
+         /** 
+          * Alternate Copy Constructor.
+          * Takes a const CommonTime reference and copies its contents via
+          * the convertFromCommonTime method.
+          * @param right a const reference to the CommonTime object to copy
+          * @throw InvalidRequest on over-/under-flow
+          */
+      YDSTime( const CommonTime& right )
+         throw( InvalidRequest )
+      {
+         convertFromCommonTime( right );
+      }
+
+         /**
+          * Assignment Operator.
+          * @param right a const reference to the YDSTime object to copy
+          * @return a reference to this YDSTime 
+          */
+      YDSTime& operator=( const YDSTime& right )
+         throw();
+      
+         /// Virtual Destructor.
+      virtual ~YDSTime()
+         throw()
+      {}
+         //@}
+      
+         // The following functions are required by TimeTag.
+      virtual CommonTime convertToCommonTime() const;
+      
+      virtual void convertFromCommonTime( const CommonTime& ct ) ;
+      
+         /// This function formats this time to a string.  The exceptions 
+         /// thrown would only be due to problems parsing the fmt string.
+      virtual std::string printf(const std::string& fmt) const
+         throw( gpstk::StringUtils::StringException );
+
+         /**
+          * Set this object using the information provided in \a info.
+          * @param info the IdToValue object to which this object shall be set.
+          * @return true if this object was successfully set using the 
+          *  data in \a info, false if not.
+          */
+      virtual bool setFromInfo( const IdToValue& info )
+         throw();
+
+         /// Return a string containing the characters that this class
+         /// understands when printing times.
+      virtual std::string getPrintChars() const
+         throw()
+      { 
+         return printChars; 
+      }
+
+         /// Return a string containing the default format to use in printing.
+      virtual std::string getDefaultFormat() const
+         throw()
+      {
+         return defaultFormat;
+      }
+
+      virtual bool isValid() const
+         throw();
+      
+         /**
+          * @defgroup ydstco YDSTime Comparison Operators
+          * All comparison operators have a parameter "right" which corresponds
+          *  to the YDSTime object to the right of the symbol.
+          * All comparison operators are const and return true on success
+          *  and false on failure.
+          */
+         //@{
+      bool operator==( const YDSTime& right ) const
+         throw();
+      bool operator!=( const YDSTime& right ) const
+         throw();
+      bool operator<( const YDSTime& right ) const
+         throw();
+      bool operator>( const YDSTime& right ) const
+         throw();
+      bool operator<=( const YDSTime& right ) const
+         throw();
+      bool operator>=( const YDSTime& right ) const
+         throw();
+         //@}
+
+      int year;
+      int doy; 
+      double sod;
+   };
+   
+} // namespace
+
+#endif // GPSTK_YDSTIME_HPP
diff --git a/trunk/src/convhelp.hpp b/trunk/src/convhelp.hpp
new file mode 100644
index 0000000..164b5b1
--- /dev/null
+++ b/trunk/src/convhelp.hpp
@@ -0,0 +1,133 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/convhelp.hpp#1 $"
+
+/**
+ * @file convhelp.hpp
+ * Conversion of units (deg F to C, meters to cycles, etc)
+ */
+
+#ifndef GPSTK_CONVHELP_HPP
+#define GPSTK_CONVHELP_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include "GeoidModel.hpp"
+
+namespace gpstk
+{
+      /** @defgroup geodeticgroup Geodetic coordinates and geoids */
+      //@{
+
+      /**
+       * Convert a phase and frequency to meters
+       * @param phase Phase in cycles (radians?)
+       * @param freq Frequency in Hertz
+       * @param geoid geodetic parameters (for c)
+       * @return Range in meters
+       * @see meters2cycles
+       */
+   inline double cycles2meters(double phase, double freq, GeoidModel& geoid)
+   {
+      return geoid.c()/freq * phase;
+   }
+   
+      /**
+       * Convert a range and frequency to cycles
+       * @param range Distance in meters
+       * @param freq Frequency in Hertz
+       * @param geoid geodetic parameters (for c)
+       * @return Phase in cycles (radians?)
+       * @see cycles2meters
+       */
+   inline double meters2cycles(double range, double freq, GeoidModel& geoid)
+   {
+      return freq/geoid.c() * range;
+   }
+   
+      /**
+       * Convert a temperature from Celsius to Fahrenheit
+       * @param c Temperature in degrees Celsius
+       * @return Temperature in degrees Fahrenheit
+       * @see far2cel
+       */
+   inline double cel2far(double c)
+   {
+      return 9.0 / 5.0 * c + 32;
+   }
+   
+      /**
+       * Convert a temperature from Fahrenheit to Celsius
+       * @param f Temperature in degrees Fahrenheit
+       * @return Temperature in degrees Celsius
+       * @see cel2far
+       */
+   inline double far2cel(double f)
+   {
+      return 5.0 / 9.0 * (f - 32);
+   }
+   
+      /**
+       * Convert pressure from millibars to inches of mercury
+       * @param mb Pressure in millibars
+       * @return Pressure in inches of mercury
+       * @see hg2mb
+       */
+   inline double mb2hg(double mb)
+   {
+      return mb / 33.8638815789;
+   }
+   
+      /**
+       * Convert pressure from inches of mercury to millibars
+       * @param hg Pressure in inches of mercury
+       * @return Pressure in millibars
+       * @see mb2hg
+       */
+   inline double hg2mb(double hg)
+   {
+      return hg * 33.8638815789;
+   }
+
+   //@}
+
+} // namespace
+
+#endif
diff --git a/trunk/src/geometry.hpp b/trunk/src/geometry.hpp
new file mode 100644
index 0000000..7a24ea4
--- /dev/null
+++ b/trunk/src/geometry.hpp
@@ -0,0 +1,69 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/geometry.hpp#1 $"
+
+/**
+ * @file geometry.hpp
+ * Geometric constants (radian-degree conversion)
+ */
+
+#ifndef GPSTK_GEOMETRY_HPP
+#define GPSTK_GEOMETRY_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+namespace gpstk
+{
+      /**
+       * @addtogroup geodeticgroup
+       * @name Geometric Constants
+       */
+      //@{
+      //Miscellaneous Parameters
+
+      /// Conversion Factor from degrees to radians (units: degrees^-1)
+   static const double DEG_TO_RAD = 1.7453292519943e-2;
+
+      /// Conversion Factor from radians to degrees (units: degrees)
+   static const double RAD_TO_DEG = 57.295779513082;
+      //@}
+}
+
+#endif
diff --git a/trunk/src/getopt.c b/trunk/src/getopt.c
new file mode 100644
index 0000000..a9bf51d
--- /dev/null
+++ b/trunk/src/getopt.c
@@ -0,0 +1,1059 @@
+/* Getopt for GNU.
+   NOTE: getopt is now part of the C library, so if you don't know what
+   "Keep this file name-space clean" means, talk to drepper at gnu.org
+   before changing it!
+   Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001
+   	Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+

+/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
+   Ditto for AIX 3.2 and <stdlib.h>.  */
+#ifndef _NO_PROTO
+# define _NO_PROTO
+#endif
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#if defined(WIN32) || defined(_WIN32)
+#define HAVE_STRING_H 1
+#endif
+
+#if !defined __STDC__ || !__STDC__
+/* This is a separate conditional since some stdc systems
+   reject `defined (const)'.  */
+# ifndef const
+#  define const
+# endif
+#endif
+
+#include <stdio.h>
+
+/* Comment out all this code if we are using the GNU C Library, and are not
+   actually compiling the library itself.  This code is part of the GNU C
+   Library, but also included in many other GNU distributions.  Compiling
+   and linking in this code is a waste when using the GNU C library
+   (especially if it is a shared library).  Rather than having every GNU
+   program understand `configure --with-gnu-libc' and omit the object files,
+   it is simpler to just do this in the source for each such file.  */
+
+#define GETOPT_INTERFACE_VERSION 2
+#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2
+# include <gnu-versions.h>
+# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION
+#  define ELIDE_CODE
+# endif
+#endif
+
+#ifndef ELIDE_CODE
+
+
+/* This needs to come after some library #include
+   to get __GNU_LIBRARY__ defined.  */
+#ifdef	__GNU_LIBRARY__
+/* Don't include stdlib.h for non-GNU C libraries because some of them
+   contain conflicting prototypes for getopt.  */
+# include <stdlib.h>
+# include <unistd.h>
+#endif	/* GNU C library.  */
+
+#ifdef VMS
+# include <unixlib.h>
+# if HAVE_STRING_H - 0
+#  include <string.h>
+# endif
+#endif
+
+#ifndef _
+/* This is for other GNU distributions with internationalized messages.  */
+# if defined HAVE_LIBINTL_H || defined _LIBC
+#  include <libintl.h>
+#  ifndef _
+#   define _(msgid)	gettext (msgid)
+#  endif
+# else
+#  define _(msgid)	(msgid)
+# endif
+#endif
+
+/* This version of `getopt' appears to the caller like standard Unix `getopt'
+   but it behaves differently for the user, since it allows the user
+   to intersperse the options with the other arguments.
+
+   As `getopt' works, it permutes the elements of ARGV so that,
+   when it is done, all the options precede everything else.  Thus
+   all application programs are extended to handle flexible argument order.
+
+   Setting the environment variable POSIXLY_CORRECT disables permutation.
+   Then the behavior is completely standard.
+
+   GNU application programs can use a third alternative mode in which
+   they can distinguish the relative order of options and other arguments.  */
+
+#include "getopt.h"
+
+/* For communication from `getopt' to the caller.
+   When `getopt' finds an option that takes an argument,
+   the argument value is returned here.
+   Also, when `ordering' is RETURN_IN_ORDER,
+   each non-option ARGV-element is returned here.  */
+
+char *optarg;
+
+/* Index in ARGV of the next element to be scanned.
+   This is used for communication to and from the caller
+   and for communication between successive calls to `getopt'.
+
+   On entry to `getopt', zero means this is the first call; initialize.
+
+   When `getopt' returns -1, this is the index of the first of the
+   non-option elements that the caller should itself scan.
+
+   Otherwise, `optind' communicates from one call to the next
+   how much of ARGV has been scanned so far.  */
+
+/* 1003.2 says this must be 1 before any call.  */
+int optind = 1;
+
+/* Formerly, initialization of getopt depended on optind==0, which
+   causes problems with re-calling getopt as programs generally don't
+   know that. */
+
+int __getopt_initialized;
+
+/* The next char to be scanned in the option-element
+   in which the last option character we returned was found.
+   This allows us to pick up the scan where we left off.
+
+   If this is zero, or a null string, it means resume the scan
+   by advancing to the next ARGV-element.  */
+
+static char *nextchar;
+
+/* Callers store zero here to inhibit the error message
+   for unrecognized options.  */
+
+int opterr = 1;
+
+/* Set to an option character which was unrecognized.
+   This must be initialized on some systems to avoid linking in the
+   system's own getopt implementation.  */
+
+int optopt = '?';
+
+/* Describe how to deal with options that follow non-option ARGV-elements.
+
+   If the caller did not specify anything,
+   the default is REQUIRE_ORDER if the environment variable
+   POSIXLY_CORRECT is defined, PERMUTE otherwise.
+
+   REQUIRE_ORDER means don't recognize them as options;
+   stop option processing when the first non-option is seen.
+   This is what Unix does.
+   This mode of operation is selected by either setting the environment
+   variable POSIXLY_CORRECT, or using `+' as the first character
+   of the list of option characters.
+
+   PERMUTE is the default.  We permute the contents of ARGV as we scan,
+   so that eventually all the non-options are at the end.  This allows options
+   to be given in any order, even with programs that were not written to
+   expect this.
+
+   RETURN_IN_ORDER is an option available to programs that were written
+   to expect options and other ARGV-elements in any order and that care about
+   the ordering of the two.  We describe each non-option ARGV-element
+   as if it were the argument of an option with character code 1.
+   Using `-' as the first character of the list of option characters
+   selects this mode of operation.
+
+   The special argument `--' forces an end of option-scanning regardless
+   of the value of `ordering'.  In the case of RETURN_IN_ORDER, only
+   `--' can cause `getopt' to return -1 with `optind' != ARGC.  */
+
+static enum
+{
+  REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
+} ordering;
+
+/* Value of POSIXLY_CORRECT environment variable.  */
+static char *posixly_correct;
+

+#ifdef	__GNU_LIBRARY__
+/* We want to avoid inclusion of string.h with non-GNU libraries
+   because there are many ways it can cause trouble.
+   On some systems, it contains special magic macros that don't work
+   in GCC.  */
+# include <string.h>
+# define my_index	strchr
+#else
+
+# if HAVE_STRING_H
+#  include <string.h>
+# else
+#  include <strings.h>
+# endif
+
+/* Avoid depending on library functions or files
+   whose names are inconsistent.  */
+
+#ifndef getenv
+extern char *getenv ();
+#endif
+
+static char *
+my_index (str, chr)
+     const char *str;
+     int chr;
+{
+  while (*str)
+    {
+      if (*str == chr)
+	return (char *) str;
+      str++;
+    }
+  return 0;
+}
+
+/* If using GCC, we can safely declare strlen this way.
+   If not using GCC, it is ok not to declare it.  */
+#ifdef __GNUC__
+/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
+   That was relevant to code that was here before.  */
+# if (!defined __STDC__ || !__STDC__) && !defined strlen
+/* gcc with -traditional declares the built-in strlen to return int,
+   and has done so at least since version 2.4.5. -- rms.  */
+extern int strlen (const char *);
+# endif /* not __STDC__ */
+#endif /* __GNUC__ */
+
+#endif /* not __GNU_LIBRARY__ */
+

+/* Handle permutation of arguments.  */
+
+/* Describe the part of ARGV that contains non-options that have
+   been skipped.  `first_nonopt' is the index in ARGV of the first of them;
+   `last_nonopt' is the index after the last of them.  */
+
+static int first_nonopt;
+static int last_nonopt;
+
+#ifdef _LIBC
+/* Stored original parameters.
+   XXX This is no good solution.  We should rather copy the args so
+   that we can compare them later.  But we must not use malloc(3).  */
+extern int __libc_argc;
+extern char **__libc_argv;
+
+/* Bash 2.0 gives us an environment variable containing flags
+   indicating ARGV elements that should not be considered arguments.  */
+
+# ifdef USE_NONOPTION_FLAGS
+/* Defined in getopt_init.c  */
+extern char *__getopt_nonoption_flags;
+
+static int nonoption_flags_max_len;
+static int nonoption_flags_len;
+# endif
+
+# ifdef USE_NONOPTION_FLAGS
+#  define SWAP_FLAGS(ch1, ch2) \
+  if (nonoption_flags_len > 0)						      \
+    {									      \
+      char __tmp = __getopt_nonoption_flags[ch1];			      \
+      __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2];	      \
+      __getopt_nonoption_flags[ch2] = __tmp;				      \
+    }
+# else
+#  define SWAP_FLAGS(ch1, ch2)
+# endif
+#else	/* !_LIBC */
+# define SWAP_FLAGS(ch1, ch2)
+#endif	/* _LIBC */
+
+/* Exchange two adjacent subsequences of ARGV.
+   One subsequence is elements [first_nonopt,last_nonopt)
+   which contains all the non-options that have been skipped so far.
+   The other is elements [last_nonopt,optind), which contains all
+   the options processed since those non-options were skipped.
+
+   `first_nonopt' and `last_nonopt' are relocated so that they describe
+   the new indices of the non-options in ARGV after they are moved.  */
+
+#if defined __STDC__ && __STDC__
+static void exchange (char **);
+#endif
+
+static void
+exchange (argv)
+     char **argv;
+{
+  int bottom = first_nonopt;
+  int middle = last_nonopt;
+  int top = optind;
+  char *tem;
+
+  /* Exchange the shorter segment with the far end of the longer segment.
+     That puts the shorter segment into the right place.
+     It leaves the longer segment in the right place overall,
+     but it consists of two parts that need to be swapped next.  */
+
+#if defined _LIBC && defined USE_NONOPTION_FLAGS
+  /* First make sure the handling of the `__getopt_nonoption_flags'
+     string can work normally.  Our top argument must be in the range
+     of the string.  */
+  if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len)
+    {
+      /* We must extend the array.  The user plays games with us and
+	 presents new arguments.  */
+      char *new_str = malloc (top + 1);
+      if (new_str == NULL)
+	nonoption_flags_len = nonoption_flags_max_len = 0;
+      else
+	{
+	  memset (__mempcpy (new_str, __getopt_nonoption_flags,
+			     nonoption_flags_max_len),
+		  '\0', top + 1 - nonoption_flags_max_len);
+	  nonoption_flags_max_len = top + 1;
+	  __getopt_nonoption_flags = new_str;
+	}
+    }
+#endif
+
+  while (top > middle && middle > bottom)
+    {
+      if (top - middle > middle - bottom)
+	{
+	  /* Bottom segment is the short one.  */
+	  int len = middle - bottom;
+	  register int i;
+
+	  /* Swap it with the top part of the top segment.  */
+	  for (i = 0; i < len; i++)
+	    {
+	      tem = argv[bottom + i];
+	      argv[bottom + i] = argv[top - (middle - bottom) + i];
+	      argv[top - (middle - bottom) + i] = tem;
+	      SWAP_FLAGS (bottom + i, top - (middle - bottom) + i);
+	    }
+	  /* Exclude the moved bottom segment from further swapping.  */
+	  top -= len;
+	}
+      else
+	{
+	  /* Top segment is the short one.  */
+	  int len = top - middle;
+	  register int i;
+
+	  /* Swap it with the bottom part of the bottom segment.  */
+	  for (i = 0; i < len; i++)
+	    {
+	      tem = argv[bottom + i];
+	      argv[bottom + i] = argv[middle + i];
+	      argv[middle + i] = tem;
+	      SWAP_FLAGS (bottom + i, middle + i);
+	    }
+	  /* Exclude the moved top segment from further swapping.  */
+	  bottom += len;
+	}
+    }
+
+  /* Update records for the slots the non-options now occupy.  */
+
+  first_nonopt += (optind - last_nonopt);
+  last_nonopt = optind;
+}
+
+/* Initialize the internal data when the first call is made.  */
+
+#if defined __STDC__ && __STDC__
+static const char *_getopt_initialize (int, char *const *, const char *);
+#endif
+static const char *
+_getopt_initialize (argc, argv, optstring)
+     int argc;
+     char *const *argv;
+     const char *optstring;
+{
+  /* Start processing options with ARGV-element 1 (since ARGV-element 0
+     is the program name); the sequence of previously skipped
+     non-option ARGV-elements is empty.  */
+
+  first_nonopt = last_nonopt = optind;
+
+  nextchar = NULL;
+
+  posixly_correct = getenv ("POSIXLY_CORRECT");
+
+  /* Determine how to handle the ordering of options and nonoptions.  */
+
+  if (optstring[0] == '-')
+    {
+      ordering = RETURN_IN_ORDER;
+      ++optstring;
+    }
+  else if (optstring[0] == '+')
+    {
+      ordering = REQUIRE_ORDER;
+      ++optstring;
+    }
+  else if (posixly_correct != NULL)
+    ordering = REQUIRE_ORDER;
+  else
+    ordering = PERMUTE;
+
+#if defined _LIBC && defined USE_NONOPTION_FLAGS
+  if (posixly_correct == NULL
+      && argc == __libc_argc && argv == __libc_argv)
+    {
+      if (nonoption_flags_max_len == 0)
+	{
+	  if (__getopt_nonoption_flags == NULL
+	      || __getopt_nonoption_flags[0] == '\0')
+	    nonoption_flags_max_len = -1;
+	  else
+	    {
+	      const char *orig_str = __getopt_nonoption_flags;
+	      int len = nonoption_flags_max_len = strlen (orig_str);
+	      if (nonoption_flags_max_len < argc)
+		nonoption_flags_max_len = argc;
+	      __getopt_nonoption_flags =
+		(char *) malloc (nonoption_flags_max_len);
+	      if (__getopt_nonoption_flags == NULL)
+		nonoption_flags_max_len = -1;
+	      else
+		memset (__mempcpy (__getopt_nonoption_flags, orig_str, len),
+			'\0', nonoption_flags_max_len - len);
+	    }
+	}
+      nonoption_flags_len = nonoption_flags_max_len;
+    }
+  else
+    nonoption_flags_len = 0;
+#endif
+
+  return optstring;
+}
+

+/* Scan elements of ARGV (whose length is ARGC) for option characters
+   given in OPTSTRING.
+
+   If an element of ARGV starts with '-', and is not exactly "-" or "--",
+   then it is an option element.  The characters of this element
+   (aside from the initial '-') are option characters.  If `getopt'
+   is called repeatedly, it returns successively each of the option characters
+   from each of the option elements.
+
+   If `getopt' finds another option character, it returns that character,
+   updating `optind' and `nextchar' so that the next call to `getopt' can
+   resume the scan with the following option character or ARGV-element.
+
+   If there are no more option characters, `getopt' returns -1.
+   Then `optind' is the index in ARGV of the first ARGV-element
+   that is not an option.  (The ARGV-elements have been permuted
+   so that those that are not options now come last.)
+
+   OPTSTRING is a string containing the legitimate option characters.
+   If an option character is seen that is not listed in OPTSTRING,
+   return '?' after printing an error message.  If you set `opterr' to
+   zero, the error message is suppressed but we still return '?'.
+
+   If a char in OPTSTRING is followed by a colon, that means it wants an arg,
+   so the following text in the same ARGV-element, or the text of the following
+   ARGV-element, is returned in `optarg'.  Two colons mean an option that
+   wants an optional arg; if there is text in the current ARGV-element,
+   it is returned in `optarg', otherwise `optarg' is set to zero.
+
+   If OPTSTRING starts with `-' or `+', it requests different methods of
+   handling the non-option ARGV-elements.
+   See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
+
+   Long-named options begin with `--' instead of `-'.
+   Their names may be abbreviated as long as the abbreviation is unique
+   or is an exact match for some defined option.  If they have an
+   argument, it follows the option name in the same ARGV-element, separated
+   from the option name by a `=', or else the in next ARGV-element.
+   When `getopt' finds a long-named option, it returns 0 if that option's
+   `flag' field is nonzero, the value of the option's `val' field
+   if the `flag' field is zero.
+
+   The elements of ARGV aren't really const, because we permute them.
+   But we pretend they're const in the prototype to be compatible
+   with other systems.
+
+   LONGOPTS is a vector of `struct option' terminated by an
+   element containing a name which is zero.
+
+   LONGIND returns the index in LONGOPT of the long-named option found.
+   It is only valid when a long-named option has been found by the most
+   recent call.
+
+   If LONG_ONLY is nonzero, '-' as well as '--' can introduce
+   long-named options.  */
+
+int
+_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
+     int argc;
+     char *const *argv;
+     const char *optstring;
+     const struct option *longopts;
+     int *longind;
+     int long_only;
+{
+  int print_errors = opterr;
+  if (optstring[0] == ':')
+    print_errors = 0;
+
+  if (argc < 1)
+    return -1;
+
+  optarg = NULL;
+
+  if (optind == 0 || !__getopt_initialized)
+    {
+      if (optind == 0)
+	optind = 1;	/* Don't scan ARGV[0], the program name.  */
+      optstring = _getopt_initialize (argc, argv, optstring);
+      __getopt_initialized = 1;
+    }
+
+  /* Test whether ARGV[optind] points to a non-option argument.
+     Either it does not have option syntax, or there is an environment flag
+     from the shell indicating it is not an option.  The later information
+     is only used when the used in the GNU libc.  */
+#if defined _LIBC && defined USE_NONOPTION_FLAGS
+# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0'	      \
+		      || (optind < nonoption_flags_len			      \
+			  && __getopt_nonoption_flags[optind] == '1'))
+#else
+# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0')
+#endif
+
+  if (nextchar == NULL || *nextchar == '\0')
+    {
+      /* Advance to the next ARGV-element.  */
+
+      /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been
+	 moved back by the user (who may also have changed the arguments).  */
+      if (last_nonopt > optind)
+	last_nonopt = optind;
+      if (first_nonopt > optind)
+	first_nonopt = optind;
+
+      if (ordering == PERMUTE)
+	{
+	  /* If we have just processed some options following some non-options,
+	     exchange them so that the options come first.  */
+
+	  if (first_nonopt != last_nonopt && last_nonopt != optind)
+	    exchange ((char **) argv);
+	  else if (last_nonopt != optind)
+	    first_nonopt = optind;
+
+	  /* Skip any additional non-options
+	     and extend the range of non-options previously skipped.  */
+
+	  while (optind < argc && NONOPTION_P)
+	    optind++;
+	  last_nonopt = optind;
+	}
+
+      /* The special ARGV-element `--' means premature end of options.
+	 Skip it like a null option,
+	 then exchange with previous non-options as if it were an option,
+	 then skip everything else like a non-option.  */
+
+      if (optind != argc && !strcmp (argv[optind], "--"))
+	{
+	  optind++;
+
+	  if (first_nonopt != last_nonopt && last_nonopt != optind)
+	    exchange ((char **) argv);
+	  else if (first_nonopt == last_nonopt)
+	    first_nonopt = optind;
+	  last_nonopt = argc;
+
+	  optind = argc;
+	}
+
+      /* If we have done all the ARGV-elements, stop the scan
+	 and back over any non-options that we skipped and permuted.  */
+
+      if (optind == argc)
+	{
+	  /* Set the next-arg-index to point at the non-options
+	     that we previously skipped, so the caller will digest them.  */
+	  if (first_nonopt != last_nonopt)
+	    optind = first_nonopt;
+	  return -1;
+	}
+
+      /* If we have come to a non-option and did not permute it,
+	 either stop the scan or describe it to the caller and pass it by.  */
+
+      if (NONOPTION_P)
+	{
+	  if (ordering == REQUIRE_ORDER)
+	    return -1;
+	  optarg = argv[optind++];
+	  return 1;
+	}
+
+      /* We have found another option-ARGV-element.
+	 Skip the initial punctuation.  */
+
+      nextchar = (argv[optind] + 1
+		  + (longopts != NULL && argv[optind][1] == '-'));
+    }
+
+  /* Decode the current option-ARGV-element.  */
+
+  /* Check whether the ARGV-element is a long option.
+
+     If long_only and the ARGV-element has the form "-f", where f is
+     a valid short option, don't consider it an abbreviated form of
+     a long option that starts with f.  Otherwise there would be no
+     way to give the -f short option.
+
+     On the other hand, if there's a long option "fubar" and
+     the ARGV-element is "-fu", do consider that an abbreviation of
+     the long option, just like "--fu", and not "-f" with arg "u".
+
+     This distinction seems to be the most useful approach.  */
+
+  if (longopts != NULL
+      && (argv[optind][1] == '-'
+	  || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
+    {
+      char *nameend;
+      const struct option *p;
+      const struct option *pfound = NULL;
+      int exact = 0;
+      int ambig = 0;
+      int indfound = -1;
+      int option_index;
+
+      for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
+	/* Do nothing.  */ ;
+
+      /* Test all long options for either exact match
+	 or abbreviated matches.  */
+      for (p = longopts, option_index = 0; p->name; p++, option_index++)
+	if (!strncmp (p->name, nextchar, nameend - nextchar))
+	  {
+	    if ((unsigned int) (nameend - nextchar)
+		== (unsigned int) strlen (p->name))
+	      {
+		/* Exact match found.  */
+		pfound = p;
+		indfound = option_index;
+		exact = 1;
+		break;
+	      }
+	    else if (pfound == NULL)
+	      {
+		/* First nonexact match found.  */
+		pfound = p;
+		indfound = option_index;
+	      }
+	    else if (long_only
+		     || pfound->has_arg != p->has_arg
+		     || pfound->flag != p->flag
+		     || pfound->val != p->val)
+	      /* Second or later nonexact match found.  */
+	      ambig = 1;
+	  }
+
+      if (ambig && !exact)
+	{
+	  if (print_errors)
+	    fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
+		     argv[0], argv[optind]);
+	  nextchar += strlen (nextchar);
+	  optind++;
+	  optopt = 0;
+	  return '?';
+	}
+
+      if (pfound != NULL)
+	{
+	  option_index = indfound;
+	  optind++;
+	  if (*nameend)
+	    {
+	      /* Don't test has_arg with >, because some C compilers don't
+		 allow it to be used on enums.  */
+	      if (pfound->has_arg)
+		optarg = nameend + 1;
+	      else
+		{
+		  if (print_errors)
+		    {
+		      if (argv[optind - 1][1] == '-')
+			/* --option */
+			fprintf (stderr,
+				 _("%s: option `--%s' doesn't allow an argument\n"),
+				 argv[0], pfound->name);
+		      else
+			/* +option or -option */
+			fprintf (stderr,
+				 _("%s: option `%c%s' doesn't allow an argument\n"),
+				 argv[0], argv[optind - 1][0], pfound->name);
+		    }
+
+		  nextchar += strlen (nextchar);
+
+		  optopt = pfound->val;
+		  return '?';
+		}
+	    }
+	  else if (pfound->has_arg == 1)
+	    {
+	      if (optind < argc)
+		optarg = argv[optind++];
+	      else
+		{
+		  if (print_errors)
+		    fprintf (stderr,
+			   _("%s: option `%s' requires an argument\n"),
+			   argv[0], argv[optind - 1]);
+		  nextchar += strlen (nextchar);
+		  optopt = pfound->val;
+		  return optstring[0] == ':' ? ':' : '?';
+		}
+	    }
+	  nextchar += strlen (nextchar);
+	  if (longind != NULL)
+	    *longind = option_index;
+	  if (pfound->flag)
+	    {
+	      *(pfound->flag) = pfound->val;
+	      return 0;
+	    }
+	  return pfound->val;
+	}
+
+      /* Can't find it as a long option.  If this is not getopt_long_only,
+	 or the option starts with '--' or is not a valid short
+	 option, then it's an error.
+	 Otherwise interpret it as a short option.  */
+      if (!long_only || argv[optind][1] == '-'
+	  || my_index (optstring, *nextchar) == NULL)
+	{
+	  if (print_errors)
+	    {
+	      if (argv[optind][1] == '-')
+		/* --option */
+		fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
+			 argv[0], nextchar);
+	      else
+		/* +option or -option */
+		fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
+			 argv[0], argv[optind][0], nextchar);
+	    }
+	  nextchar = (char *) "";
+	  optind++;
+	  optopt = 0;
+	  return '?';
+	}
+    }
+
+  /* Look at and handle the next short option-character.  */
+
+  {
+    char c = *nextchar++;
+    char *temp = my_index (optstring, c);
+
+    /* Increment `optind' when we start to process its last character.  */
+    if (*nextchar == '\0')
+      ++optind;
+
+    if (temp == NULL || c == ':')
+      {
+	if (print_errors)
+	  {
+	    if (posixly_correct)
+	      /* 1003.2 specifies the format of this message.  */
+	      fprintf (stderr, _("%s: illegal option -- %c\n"),
+		       argv[0], c);
+	    else
+	      fprintf (stderr, _("%s: invalid option -- %c\n"),
+		       argv[0], c);
+	  }
+	optopt = c;
+	return '?';
+      }
+    /* Convenience. Treat POSIX -W foo same as long option --foo */
+    if (temp[0] == 'W' && temp[1] == ';')
+      {
+	char *nameend;
+	const struct option *p;
+	const struct option *pfound = NULL;
+	int exact = 0;
+	int ambig = 0;
+	int indfound = 0;
+	int option_index;
+
+	/* This is an option that requires an argument.  */
+	if (*nextchar != '\0')
+	  {
+	    optarg = nextchar;
+	    /* If we end this ARGV-element by taking the rest as an arg,
+	       we must advance to the next element now.  */
+	    optind++;
+	  }
+	else if (optind == argc)
+	  {
+	    if (print_errors)
+	      {
+		/* 1003.2 specifies the format of this message.  */
+		fprintf (stderr, _("%s: option requires an argument -- %c\n"),
+			 argv[0], c);
+	      }
+	    optopt = c;
+	    if (optstring[0] == ':')
+	      c = ':';
+	    else
+	      c = '?';
+	    return c;
+	  }
+	else
+	  /* We already incremented `optind' once;
+	     increment it again when taking next ARGV-elt as argument.  */
+	  optarg = argv[optind++];
+
+	/* optarg is now the argument, see if it's in the
+	   table of longopts.  */
+
+	for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++)
+	  /* Do nothing.  */ ;
+
+	/* Test all long options for either exact match
+	   or abbreviated matches.  */
+	for (p = longopts, option_index = 0; p->name; p++, option_index++)
+	  if (!strncmp (p->name, nextchar, nameend - nextchar))
+	    {
+	      if ((unsigned int) (nameend - nextchar) == strlen (p->name))
+		{
+		  /* Exact match found.  */
+		  pfound = p;
+		  indfound = option_index;
+		  exact = 1;
+		  break;
+		}
+	      else if (pfound == NULL)
+		{
+		  /* First nonexact match found.  */
+		  pfound = p;
+		  indfound = option_index;
+		}
+	      else
+		/* Second or later nonexact match found.  */
+		ambig = 1;
+	    }
+	if (ambig && !exact)
+	  {
+	    if (print_errors)
+	      fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
+		       argv[0], argv[optind]);
+	    nextchar += strlen (nextchar);
+	    optind++;
+	    return '?';
+	  }
+	if (pfound != NULL)
+	  {
+	    option_index = indfound;
+	    if (*nameend)
+	      {
+		/* Don't test has_arg with >, because some C compilers don't
+		   allow it to be used on enums.  */
+		if (pfound->has_arg)
+		  optarg = nameend + 1;
+		else
+		  {
+		    if (print_errors)
+		      fprintf (stderr, _("\
+%s: option `-W %s' doesn't allow an argument\n"),
+			       argv[0], pfound->name);
+
+		    nextchar += strlen (nextchar);
+		    return '?';
+		  }
+	      }
+	    else if (pfound->has_arg == 1)
+	      {
+		if (optind < argc)
+		  optarg = argv[optind++];
+		else
+		  {
+		    if (print_errors)
+		      fprintf (stderr,
+			       _("%s: option `%s' requires an argument\n"),
+			       argv[0], argv[optind - 1]);
+		    nextchar += strlen (nextchar);
+		    return optstring[0] == ':' ? ':' : '?';
+		  }
+	      }
+	    nextchar += strlen (nextchar);
+	    if (longind != NULL)
+	      *longind = option_index;
+	    if (pfound->flag)
+	      {
+		*(pfound->flag) = pfound->val;
+		return 0;
+	      }
+	    return pfound->val;
+	  }
+	  nextchar = NULL;
+	  return 'W';	/* Let the application handle it.   */
+      }
+    if (temp[1] == ':')
+      {
+	if (temp[2] == ':')
+	  {
+	    /* This is an option that accepts an argument optionally.  */
+	    if (*nextchar != '\0')
+	      {
+		optarg = nextchar;
+		optind++;
+	      }
+	    else
+	      optarg = NULL;
+	    nextchar = NULL;
+	  }
+	else
+	  {
+	    /* This is an option that requires an argument.  */
+	    if (*nextchar != '\0')
+	      {
+		optarg = nextchar;
+		/* If we end this ARGV-element by taking the rest as an arg,
+		   we must advance to the next element now.  */
+		optind++;
+	      }
+	    else if (optind == argc)
+	      {
+		if (print_errors)
+		  {
+		    /* 1003.2 specifies the format of this message.  */
+		    fprintf (stderr,
+			     _("%s: option requires an argument -- %c\n"),
+			     argv[0], c);
+		  }
+		optopt = c;
+		if (optstring[0] == ':')
+		  c = ':';
+		else
+		  c = '?';
+	      }
+	    else
+	      /* We already incremented `optind' once;
+		 increment it again when taking next ARGV-elt as argument.  */
+	      optarg = argv[optind++];
+	    nextchar = NULL;
+	  }
+      }
+    return c;
+  }
+}
+
+int
+getopt (argc, argv, optstring)
+     int argc;
+     char *const *argv;
+     const char *optstring;
+{
+  return _getopt_internal (argc, argv, optstring,
+			   (const struct option *) 0,
+			   (int *) 0,
+			   0);
+}
+
+#endif	/* Not ELIDE_CODE.  */
+

+#ifdef TEST
+
+/* Compile with -DTEST to make an executable for use in testing
+   the above definition of `getopt'.  */
+
+int
+main (argc, argv)
+     int argc;
+     char **argv;
+{
+  int c;
+  int digit_optind = 0;
+
+  while (1)
+    {
+      int this_option_optind = optind ? optind : 1;
+
+      c = getopt (argc, argv, "abc:d:0123456789");
+      if (c == -1)
+	break;
+
+      switch (c)
+	{
+	case '0':
+	case '1':
+	case '2':
+	case '3':
+	case '4':
+	case '5':
+	case '6':
+	case '7':
+	case '8':
+	case '9':
+	  if (digit_optind != 0 && digit_optind != this_option_optind)
+	    printf ("digits occur in two different argv-elements.\n");
+	  digit_optind = this_option_optind;
+	  printf ("option %c\n", c);
+	  break;
+
+	case 'a':
+	  printf ("option a\n");
+	  break;
+
+	case 'b':
+	  printf ("option b\n");
+	  break;
+
+	case 'c':
+	  printf ("option c with value `%s'\n", optarg);
+	  break;
+
+	case '?':
+	  break;
+
+	default:
+	  printf ("?? getopt returned character code 0%o ??\n", c);
+	}
+    }
+
+  if (optind < argc)
+    {
+      printf ("non-option ARGV-elements: ");
+      while (optind < argc)
+	printf ("%s ", argv[optind++]);
+      printf ("\n");
+    }
+
+  exit (0);
+}
+
+#endif /* TEST */
diff --git a/trunk/src/getopt.h b/trunk/src/getopt.h
new file mode 100644
index 0000000..b7d1a13
--- /dev/null
+++ b/trunk/src/getopt.h
@@ -0,0 +1,178 @@
+/* Declarations for getopt.
+   Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _GETOPT_H
+
+#ifndef __need_getopt
+# define _GETOPT_H 1
+#endif
+
+/* If __GNU_LIBRARY__ is not already defined, either we are being used
+   standalone, or this is the first header included in the source file.
+   If we are being used with glibc, we need to include <features.h>, but
+   that does not exist if we are standalone.  So: if __GNU_LIBRARY__ is
+   not defined, include <ctype.h>, which will pull in <features.h> for us
+   if it's from glibc.  (Why ctype.h?  It's guaranteed to exist and it
+   doesn't flood the namespace with stuff the way some other headers do.)  */
+#if !defined __GNU_LIBRARY__
+# include <ctype.h>
+#endif
+
+#ifdef	__cplusplus
+extern "C" {
+#endif
+
+/* For communication from `getopt' to the caller.
+   When `getopt' finds an option that takes an argument,
+   the argument value is returned here.
+   Also, when `ordering' is RETURN_IN_ORDER,
+   each non-option ARGV-element is returned here.  */
+
+extern char *optarg;
+
+/* Index in ARGV of the next element to be scanned.
+   This is used for communication to and from the caller
+   and for communication between successive calls to `getopt'.
+
+   On entry to `getopt', zero means this is the first call; initialize.
+
+   When `getopt' returns -1, this is the index of the first of the
+   non-option elements that the caller should itself scan.
+
+   Otherwise, `optind' communicates from one call to the next
+   how much of ARGV has been scanned so far.  */
+
+extern int optind;
+
+/* Callers store zero here to inhibit the error message `getopt' prints
+   for unrecognized options.  */
+
+extern int opterr;
+
+/* Set to an option character which was unrecognized.  */
+
+extern int optopt;
+
+#ifndef __need_getopt
+/* Describe the long-named options requested by the application.
+   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
+   of `struct option' terminated by an element containing a name which is
+   zero.
+
+   The field `has_arg' is:
+   no_argument		(or 0) if the option does not take an argument,
+   required_argument	(or 1) if the option requires an argument,
+   optional_argument 	(or 2) if the option takes an optional argument.
+
+   If the field `flag' is not NULL, it points to a variable that is set
+   to the value given in the field `val' when the option is found, but
+   left unchanged if the option is not found.
+
+   To have a long-named option do something other than set an `int' to
+   a compiled-in constant, such as set a value from `optarg', set the
+   option's `flag' field to zero and its `val' field to a nonzero
+   value (the equivalent single-letter option character, if there is
+   one).  For long options that have a zero `flag' field, `getopt'
+   returns the contents of the `val' field.  */
+
+struct option
+{
+# if (defined __STDC__ && __STDC__) || defined __cplusplus
+  const char *name;
+# else
+  char *name;
+# endif
+  /* has_arg can't be an enum because some compilers complain about
+     type mismatches in all the code that assumes it is an int.  */
+  int has_arg;
+  int *flag;
+  int val;
+};
+
+/* Names for the values of the `has_arg' field of `struct option'.  */
+
+# define no_argument		0
+# define required_argument	1
+# define optional_argument	2
+#endif	/* need getopt */
+
+
+/* Get definitions and prototypes for functions to process the
+   arguments in ARGV (ARGC of them, minus the program name) for
+   options given in OPTS.
+
+   Return the option character from OPTS just read.  Return -1 when
+   there are no more options.  For unrecognized options, or options
+   missing arguments, `optopt' is set to the option letter, and '?' is
+   returned.
+
+   The OPTS string is a list of characters which are recognized option
+   letters, optionally followed by colons, specifying that that letter
+   takes an argument, to be placed in `optarg'.
+
+   If a letter in OPTS is followed by two colons, its argument is
+   optional.  This behavior is specific to the GNU `getopt'.
+
+   The argument `--' causes premature termination of argument
+   scanning, explicitly telling `getopt' that there are no more
+   options.
+
+   If OPTS begins with `--', then non-option arguments are treated as
+   arguments to the option '\0'.  This behavior is specific to the GNU
+   `getopt'.  */
+
+#if (defined __STDC__ && __STDC__) || defined __cplusplus
+# ifdef __GNU_LIBRARY__
+/* Many other libraries have conflicting prototypes for getopt, with
+   differences in the consts, in stdlib.h.  To avoid compilation
+   errors, only prototype getopt for the GNU C library.  */
+extern int getopt (int __argc, char *const *__argv, const char *__shortopts);
+# endif /* __GNU_LIBRARY__ */
+
+# ifndef __need_getopt
+extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts,
+		        const struct option *__longopts, int *__longind);
+extern int getopt_long_only (int __argc, char *const *__argv,
+			     const char *__shortopts,
+		             const struct option *__longopts, int *__longind);
+
+/* Internal only.  Users should not call this directly.  */
+extern int _getopt_internal (int __argc, char *const *__argv,
+			     const char *__shortopts,
+		             const struct option *__longopts, int *__longind,
+			     int __long_only);
+# endif
+#else /* not __STDC__ */
+extern int getopt ();
+# ifndef __need_getopt
+extern int getopt_long ();
+extern int getopt_long_only ();
+
+extern int _getopt_internal ();
+# endif
+#endif /* __STDC__ */
+
+#ifdef	__cplusplus
+}
+#endif
+
+/* Make sure we later can get all the definitions and declarations.  */
+#undef __need_getopt
+
+#endif /* getopt.h */
diff --git a/trunk/src/getopt1.c b/trunk/src/getopt1.c
new file mode 100644
index 0000000..22a7efb
--- /dev/null
+++ b/trunk/src/getopt1.c
@@ -0,0 +1,188 @@
+/* getopt_long and getopt_long_only entry points for GNU getopt.
+   Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
+     Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+

+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "getopt.h"
+
+#if !defined __STDC__ || !__STDC__
+/* This is a separate conditional since some stdc systems
+   reject `defined (const)'.  */
+#ifndef const
+#define const
+#endif
+#endif
+
+#include <stdio.h>
+
+/* Comment out all this code if we are using the GNU C Library, and are not
+   actually compiling the library itself.  This code is part of the GNU C
+   Library, but also included in many other GNU distributions.  Compiling
+   and linking in this code is a waste when using the GNU C library
+   (especially if it is a shared library).  Rather than having every GNU
+   program understand `configure --with-gnu-libc' and omit the object files,
+   it is simpler to just do this in the source for each such file.  */
+
+#define GETOPT_INTERFACE_VERSION 2
+#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2
+#include <gnu-versions.h>
+#if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION
+#define ELIDE_CODE
+#endif
+#endif
+
+#ifndef ELIDE_CODE
+
+
+/* This needs to come after some library #include
+   to get __GNU_LIBRARY__ defined.  */
+#ifdef __GNU_LIBRARY__
+#include <stdlib.h>
+#endif
+
+#ifndef	NULL
+#define NULL 0
+#endif
+
+int
+getopt_long (argc, argv, options, long_options, opt_index)
+     int argc;
+     char *const *argv;
+     const char *options;
+     const struct option *long_options;
+     int *opt_index;
+{
+  return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
+}
+
+/* Like getopt_long, but '-' as well as '--' can indicate a long option.
+   If an option that starts with '-' (not '--') doesn't match a long option,
+   but does match a short option, it is parsed as a short option
+   instead.  */
+
+int
+getopt_long_only (argc, argv, options, long_options, opt_index)
+     int argc;
+     char *const *argv;
+     const char *options;
+     const struct option *long_options;
+     int *opt_index;
+{
+  return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
+}
+
+
+#endif	/* Not ELIDE_CODE.  */
+

+#ifdef TEST
+
+#include <stdio.h>
+
+int
+main (argc, argv)
+     int argc;
+     char **argv;
+{
+  int c;
+  int digit_optind = 0;
+
+  while (1)
+    {
+      int this_option_optind = optind ? optind : 1;
+      int option_index = 0;
+      static struct option long_options[] =
+      {
+	{"add", 1, 0, 0},
+	{"append", 0, 0, 0},
+	{"delete", 1, 0, 0},
+	{"verbose", 0, 0, 0},
+	{"create", 0, 0, 0},
+	{"file", 1, 0, 0},
+	{0, 0, 0, 0}
+      };
+
+      c = getopt_long (argc, argv, "abc:d:0123456789",
+		       long_options, &option_index);
+      if (c == -1)
+	break;
+
+      switch (c)
+	{
+	case 0:
+	  printf ("option %s", long_options[option_index].name);
+	  if (optarg)
+	    printf (" with arg %s", optarg);
+	  printf ("\n");
+	  break;
+
+	case '0':
+	case '1':
+	case '2':
+	case '3':
+	case '4':
+	case '5':
+	case '6':
+	case '7':
+	case '8':
+	case '9':
+	  if (digit_optind != 0 && digit_optind != this_option_optind)
+	    printf ("digits occur in two different argv-elements.\n");
+	  digit_optind = this_option_optind;
+	  printf ("option %c\n", c);
+	  break;
+
+	case 'a':
+	  printf ("option a\n");
+	  break;
+
+	case 'b':
+	  printf ("option b\n");
+	  break;
+
+	case 'c':
+	  printf ("option c with value `%s'\n", optarg);
+	  break;
+
+	case 'd':
+	  printf ("option d with value `%s'\n", optarg);
+	  break;
+
+	case '?':
+	  break;
+
+	default:
+	  printf ("?? getopt returned character code 0%o ??\n", c);
+	}
+    }
+
+  if (optind < argc)
+    {
+      printf ("non-option ARGV-elements: ");
+      while (optind < argc)
+	printf ("%s ", argv[optind++]);
+      printf ("\n");
+    }
+
+  exit (0);
+}
+
+#endif /* TEST */
diff --git a/trunk/src/gps_constants.hpp b/trunk/src/gps_constants.hpp
new file mode 100644
index 0000000..53a386f
--- /dev/null
+++ b/trunk/src/gps_constants.hpp
@@ -0,0 +1,65 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/gps_constants.hpp#1 $"
+
+#ifndef GPSTK_GPS_CONSTANTS_HPP
+#define GPSTK_GPS_CONSTANTS_HPP
+
+/**
+ * @file gps_constants.hpp
+ * Miscellaneous constants for GPS.
+ */
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+namespace gpstk
+{
+   /** @addtogroup ephemcalc */
+   //@{
+
+      /** The maximum number of active satellites in the GPS
+       * constellation. */
+   const long MAX_PRN        = 32;
+
+   //@}
+
+} // namespace 
+
+#endif
diff --git a/trunk/src/gpstkplatform.h b/trunk/src/gpstkplatform.h
new file mode 100644
index 0000000..90dfcd2
--- /dev/null
+++ b/trunk/src/gpstkplatform.h
@@ -0,0 +1,23 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/gpstkplatform.h#2 $"
+
+/* This is where all platform specific includes, defines and crud should go.
+   Unless, of course, it has to go somewhere else. :-)
+*/
+
+#ifndef GPSTK_PLATFORM_HPP
+#define GPSTK_PLATFORM_HPP
+
+#ifdef _MSC_VER
+typedef __int8  int8_t;
+typedef __int16 int16_t;
+typedef __int32 int32_t;
+typedef __int64 int64_t;
+typedef unsigned __int8  uint8_t;
+typedef unsigned __int16 uint16_t;
+typedef unsigned __int32 uint32_t;
+typedef unsigned __int64 uint64_t;
+#elif !defined(__SUNPRO_CC)
+#include <stdint.h>
+#endif
+
+#endif
diff --git a/trunk/src/icd_200_constants.hpp b/trunk/src/icd_200_constants.hpp
new file mode 100644
index 0000000..4a8fa90
--- /dev/null
+++ b/trunk/src/icd_200_constants.hpp
@@ -0,0 +1,120 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/icd_200_constants.hpp#1 $"
+
+/**
+ * @file icd_200_constants.hpp
+ * Constants as defined in the GPS-ICD-200
+ */
+
+#ifndef GPSTK_ICD_200_CONSTANTS_HPP
+#define GPSTK_ICD_200_CONSTANTS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+namespace gpstk
+{
+      /**
+       * @addtogroup geodeticgroup
+       * @name GPS Constants
+       * Time constants are in the time library.
+       */
+      //@{
+      /// GPS value of PI
+   const double PI        = 3.1415926535898;
+      /// GPS value of PI*2
+   const double TWO_PI    = 6.2831853071796;
+      /// GPS value of PI**0.5
+   const double SQRT_PI   = 1.7724539;
+      /// relativity constant for GPS (sec/sqrt(m))
+   const double REL_CONST = -4.442807633e-10;
+      /// Hz
+   const double OSC_FREQ  = 10.23e6;
+      /// speed of light (m/s)
+   const double C_GPS_M = 2.99792458e8;
+      /// Base freq w/o relativisitic effects, Hz.
+   const double RSVCLK    = 10.22999999545e6;
+      /// L1 carrier frequency in Hz.
+   const double L1_FREQ   = 1575.42e6;
+      /// L2 carrier frequency in Hz.
+   const double L2_FREQ   = 1227.60e6;
+      /// L1 multiplier.
+   const double L1_MULT   = 154.0;
+      /// L2 multiplier.
+   const double L2_MULT   = 120.0;
+      /// constant for the max array index in sv accuracy table
+   const int SV_ACCURACY_MAX_INDEX_VALUE = 15;
+      /// map from SV accuracy/URA flag to minimum accuracy values in m
+   const double SV_ACCURACY_MIN_INDEX[] = {0, 2.4, 3.4, 4.85, 6.85, 9.65,
+                                           13.65, 24.0, 48.0, 96.0, 192.0,
+                                           384.0, 768.0, 1536.0, 3072.0,
+                                           6144.0};
+      /// map from SV accuracy/URA flag to maximum accuracy values in m
+   const double SV_ACCURACY_MAX_INDEX[] = {2.4, 3.4, 4.85, 6.85, 9.65,
+                                           13.65, 24.0, 48.0, 96.0, 192.0,
+                                           384.0, 768.0, 1536.0, 3072.0,
+                                           6144.0, 9.999999999999e99};
+
+   inline
+   short accuracy2ura(const double& acc) throw()
+   {
+      short ura = 0;
+      while ( (ura <= SV_ACCURACY_MAX_INDEX_VALUE) &&
+              (acc > SV_ACCURACY_MAX_INDEX[ura]))
+         ura++;
+      if (ura > SV_ACCURACY_MAX_INDEX_VALUE)
+         ura = SV_ACCURACY_MAX_INDEX_VALUE;
+      return ura;
+   }
+   
+   inline
+   double ura2accuracy(const short& ura) throw()
+   {
+      if(ura < 0)
+         return SV_ACCURACY_MAX_INDEX[0];
+      if(ura > SV_ACCURACY_MAX_INDEX_VALUE)
+         return SV_ACCURACY_MAX_INDEX[SV_ACCURACY_MAX_INDEX_VALUE];
+      return SV_ACCURACY_MAX_INDEX[ura];
+   }
+      //@}
+   
+} // namespace
+
+#endif
diff --git a/trunk/src/mergePCodeWords.h b/trunk/src/mergePCodeWords.h
new file mode 100644
index 0000000..96a4d5e
--- /dev/null
+++ b/trunk/src/mergePCodeWords.h
@@ -0,0 +1,25 @@
+/*
+*   mergePCodeWords - Helper function used in X2Sequence and GenXSequence
+
+         Given two bit-packed integers, merge the lower portion of the
+         first and the higher portion of the second into a new bit-packed
+         integer.  The first_bit argument defines the most significant
+         bit of the merged word.  The bits are numbered from 0 - MAX_BIT-1.
+*/
+#ifndef MERGEPCODEWORDS_H
+#define MERGEPCODEWORDS_H
+
+   inline unsigned long merge( unsigned long w1,
+                        unsigned long w2,
+                        int first_bit )
+   {
+      unsigned long outword = w1;
+      if (first_bit==0) return(outword);
+      
+      outword <<= first_bit;
+      outword |= w2 >> (gpstk::MAX_BIT - first_bit);
+      
+      return(outword);
+   }
+
+#endif   // end of MERGEPCODEWORDS_H
diff --git a/trunk/src/regex.c b/trunk/src/regex.c
new file mode 100644
index 0000000..8169880
--- /dev/null
+++ b/trunk/src/regex.c
@@ -0,0 +1,4948 @@
+/* Extended regular expression matching and search library,
+   version 0.12.
+   (Implements POSIX draft P10003.2/D11.2, except for
+   internationalization features.)
+
+   Copyright (C) 1993 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+/* AIX requires this to be the first thing in the file. */
+#if defined (_AIX) && !defined (REGEX_MALLOC)
+  #pragma alloca
+#endif
+
+#define _GNU_SOURCE
+
+/* We need this for `regex.h', and perhaps for the Emacs include files.  */
+#include <sys/types.h>
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+/* The `emacs' switch turns on certain matching commands
+   that make sense only in Emacs. */
+#ifdef emacs
+
+#include "lisp.h"
+#include "buffer.h"
+#include "syntax.h"
+
+/* Emacs uses `NULL' as a predicate.  */
+#undef NULL
+
+#else  /* not emacs */
+
+/* We used to test for `BSTRING' here, but only GCC and Emacs define
+   `BSTRING', as far as I know, and neither of them use this code.  */
+#if HAVE_STRING_H || STDC_HEADERS
+#include <string.h>
+#ifndef bcmp
+#define bcmp(s1, s2, n)	memcmp ((s1), (s2), (n))
+#endif
+#ifndef bcopy
+#define bcopy(s, d, n)	memcpy ((d), (s), (n))
+#endif
+#ifndef bzero
+#define bzero(s, n)	memset ((s), 0, (n))
+#endif
+#else
+#include <strings.h>
+#endif
+
+#ifdef STDC_HEADERS
+#include <stdlib.h>
+#else
+char *malloc ();
+char *realloc ();
+#endif
+
+
+/* Define the syntax stuff for \<, \>, etc.  */
+
+/* This must be nonzero for the wordchar and notwordchar pattern
+   commands in re_match_2.  */
+#ifndef Sword 
+#define Sword 1
+#endif
+
+#ifdef SYNTAX_TABLE
+
+extern char *re_syntax_table;
+
+#else /* not SYNTAX_TABLE */
+
+/* How many characters in the character set.  */
+#define CHAR_SET_SIZE 256
+
+static char re_syntax_table[CHAR_SET_SIZE];
+
+static void
+init_syntax_once ()
+{
+   register int c;
+   static int done = 0;
+
+   if (done)
+     return;
+
+   bzero (re_syntax_table, sizeof re_syntax_table);
+
+   for (c = 'a'; c <= 'z'; c++)
+     re_syntax_table[c] = Sword;
+
+   for (c = 'A'; c <= 'Z'; c++)
+     re_syntax_table[c] = Sword;
+
+   for (c = '0'; c <= '9'; c++)
+     re_syntax_table[c] = Sword;
+
+   re_syntax_table['_'] = Sword;
+
+   done = 1;
+}
+
+#endif /* not SYNTAX_TABLE */
+
+#define SYNTAX(c) re_syntax_table[c]
+
+#endif /* not emacs */
+

+/* Get the interface, including the syntax bits.  */
+#include "regex.h"
+
+/* isalpha etc. are used for the character classes.  */
+#include <ctype.h>
+
+#ifndef isascii
+#define isascii(c) 1
+#endif
+
+#ifdef isblank
+#define ISBLANK(c) (isascii (c) && isblank (c))
+#else
+#define ISBLANK(c) ((c) == ' ' || (c) == '\t')
+#endif
+#ifdef isgraph
+#define ISGRAPH(c) (isascii (c) && isgraph (c))
+#else
+#define ISGRAPH(c) (isascii (c) && isprint (c) && !isspace (c))
+#endif
+
+#define ISPRINT(c) (isascii (c) && isprint (c))
+#define ISDIGIT(c) (isascii (c) && isdigit (c))
+#define ISALNUM(c) (isascii (c) && isalnum (c))
+#define ISALPHA(c) (isascii (c) && isalpha (c))
+#define ISCNTRL(c) (isascii (c) && iscntrl (c))
+#define ISLOWER(c) (isascii (c) && islower (c))
+#define ISPUNCT(c) (isascii (c) && ispunct (c))
+#define ISSPACE(c) (isascii (c) && isspace (c))
+#define ISUPPER(c) (isascii (c) && isupper (c))
+#define ISXDIGIT(c) (isascii (c) && isxdigit (c))
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+/* We remove any previous definition of `SIGN_EXTEND_CHAR',
+   since ours (we hope) works properly with all combinations of
+   machines, compilers, `char' and `unsigned char' argument types.
+   (Per Bothner suggested the basic approach.)  */
+#undef SIGN_EXTEND_CHAR
+#if __STDC__
+#define SIGN_EXTEND_CHAR(c) ((signed char) (c))
+#else  /* not __STDC__ */
+/* As in Harbison and Steele.  */
+#define SIGN_EXTEND_CHAR(c) ((((unsigned char) (c)) ^ 128) - 128)
+#endif
+

+/* Should we use malloc or alloca?  If REGEX_MALLOC is not defined, we
+   use `alloca' instead of `malloc'.  This is because using malloc in
+   re_search* or re_match* could cause memory leaks when C-g is used in
+   Emacs; also, malloc is slower and causes storage fragmentation.  On
+   the other hand, malloc is more portable, and easier to debug.  
+   
+   Because we sometimes use alloca, some routines have to be macros,
+   not functions -- `alloca'-allocated space disappears at the end of the
+   function it is called in.  */
+
+#ifdef REGEX_MALLOC
+
+#define REGEX_ALLOCATE malloc
+#define REGEX_REALLOCATE(source, osize, nsize) realloc (source, nsize)
+
+#else /* not REGEX_MALLOC  */
+
+/* Emacs already defines alloca, sometimes.  */
+#ifndef alloca
+
+/* Make alloca work the best possible way.  */
+#ifdef __GNUC__
+#define alloca __builtin_alloca
+#else /* not __GNUC__ */
+#if HAVE_ALLOCA_H
+#include <alloca.h>
+#else /* not __GNUC__ or HAVE_ALLOCA_H */
+#ifndef _AIX /* Already did AIX, up at the top.  */
+char *alloca ();
+#endif /* not _AIX */
+#endif /* not HAVE_ALLOCA_H */ 
+#endif /* not __GNUC__ */
+
+#endif /* not alloca */
+
+#define REGEX_ALLOCATE alloca
+
+/* Assumes a `char *destination' variable.  */
+#define REGEX_REALLOCATE(source, osize, nsize)				\
+  (destination = (char *) alloca (nsize),				\
+   bcopy (source, destination, osize),					\
+   destination)
+
+#endif /* not REGEX_MALLOC */
+
+
+/* True if `size1' is non-NULL and PTR is pointing anywhere inside
+   `string1' or just past its end.  This works if PTR is NULL, which is
+   a good thing.  */
+#define FIRST_STRING_P(ptr) 					\
+  (size1 && string1 <= (ptr) && (ptr) <= string1 + size1)
+
+/* (Re)Allocate N items of type T using malloc, or fail.  */
+#define TALLOC(n, t) ((t *) malloc ((n) * sizeof (t)))
+#define RETALLOC(addr, n, t) ((addr) = (t *) realloc (addr, (n) * sizeof (t)))
+#define REGEX_TALLOC(n, t) ((t *) REGEX_ALLOCATE ((n) * sizeof (t)))
+
+#define BYTEWIDTH 8 /* In bits.  */
+
+#define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
+
+#define MAX(a, b) ((a) > (b) ? (a) : (b))
+#define MIN(a, b) ((a) < (b) ? (a) : (b))
+
+typedef char boolean;
+#define false 0
+#define true 1
+

+/* These are the command codes that appear in compiled regular
+   expressions.  Some opcodes are followed by argument bytes.  A
+   command code can specify any interpretation whatsoever for its
+   arguments.  Zero bytes may appear in the compiled regular expression.
+
+   The value of `exactn' is needed in search.c (search_buffer) in Emacs.
+   So regex.h defines a symbol `RE_EXACTN_VALUE' to be 1; the value of
+   `exactn' we use here must also be 1.  */
+
+typedef enum
+{
+  no_op = 0,
+
+        /* Followed by one byte giving n, then by n literal bytes.  */
+  exactn = 1,
+
+        /* Matches any (more or less) character.  */
+  anychar,
+
+        /* Matches any one char belonging to specified set.  First
+           following byte is number of bitmap bytes.  Then come bytes
+           for a bitmap saying which chars are in.  Bits in each byte
+           are ordered low-bit-first.  A character is in the set if its
+           bit is 1.  A character too large to have a bit in the map is
+           automatically not in the set.  */
+  charset,
+
+        /* Same parameters as charset, but match any character that is
+           not one of those specified.  */
+  charset_not,
+
+        /* Start remembering the text that is matched, for storing in a
+           register.  Followed by one byte with the register number, in
+           the range 0 to one less than the pattern buffer's re_nsub
+           field.  Then followed by one byte with the number of groups
+           inner to this one.  (This last has to be part of the
+           start_memory only because we need it in the on_failure_jump
+           of re_match_2.)  */
+  start_memory,
+
+        /* Stop remembering the text that is matched and store it in a
+           memory register.  Followed by one byte with the register
+           number, in the range 0 to one less than `re_nsub' in the
+           pattern buffer, and one byte with the number of inner groups,
+           just like `start_memory'.  (We need the number of inner
+           groups here because we don't have any easy way of finding the
+           corresponding start_memory when we're at a stop_memory.)  */
+  stop_memory,
+
+        /* Match a duplicate of something remembered. Followed by one
+           byte containing the register number.  */
+  duplicate,
+
+        /* Fail unless at beginning of line.  */
+  begline,
+
+        /* Fail unless at end of line.  */
+  endline,
+
+        /* Succeeds if at beginning of buffer (if emacs) or at beginning
+           of string to be matched (if not).  */
+  begbuf,
+
+        /* Analogously, for end of buffer/string.  */
+  endbuf,
+ 
+        /* Followed by two byte relative address to which to jump.  */
+  jump, 
+
+	/* Same as jump, but marks the end of an alternative.  */
+  jump_past_alt,
+
+        /* Followed by two-byte relative address of place to resume at
+           in case of failure.  */
+  on_failure_jump,
+	
+        /* Like on_failure_jump, but pushes a placeholder instead of the
+           current string position when executed.  */
+  on_failure_keep_string_jump,
+  
+        /* Throw away latest failure point and then jump to following
+           two-byte relative address.  */
+  pop_failure_jump,
+
+        /* Change to pop_failure_jump if know won't have to backtrack to
+           match; otherwise change to jump.  This is used to jump
+           back to the beginning of a repeat.  If what follows this jump
+           clearly won't match what the repeat does, such that we can be
+           sure that there is no use backtracking out of repetitions
+           already matched, then we change it to a pop_failure_jump.
+           Followed by two-byte address.  */
+  maybe_pop_jump,
+
+        /* Jump to following two-byte address, and push a dummy failure
+           point. This failure point will be thrown away if an attempt
+           is made to use it for a failure.  A `+' construct makes this
+           before the first repeat.  Also used as an intermediary kind
+           of jump when compiling an alternative.  */
+  dummy_failure_jump,
+
+	/* Push a dummy failure point and continue.  Used at the end of
+	   alternatives.  */
+  push_dummy_failure,
+
+        /* Followed by two-byte relative address and two-byte number n.
+           After matching N times, jump to the address upon failure.  */
+  succeed_n,
+
+        /* Followed by two-byte relative address, and two-byte number n.
+           Jump to the address N times, then fail.  */
+  jump_n,
+
+        /* Set the following two-byte relative address to the
+           subsequent two-byte number.  The address *includes* the two
+           bytes of number.  */
+  set_number_at,
+
+  wordchar,	/* Matches any word-constituent character.  */
+  notwordchar,	/* Matches any char that is not a word-constituent.  */
+
+  wordbeg,	/* Succeeds if at word beginning.  */
+  wordend,	/* Succeeds if at word end.  */
+
+  wordbound,	/* Succeeds if at a word boundary.  */
+  notwordbound	/* Succeeds if not at a word boundary.  */
+
+#ifdef emacs
+  ,before_dot,	/* Succeeds if before point.  */
+  at_dot,	/* Succeeds if at point.  */
+  after_dot,	/* Succeeds if after point.  */
+
+	/* Matches any character whose syntax is specified.  Followed by
+           a byte which contains a syntax code, e.g., Sword.  */
+  syntaxspec,
+
+	/* Matches any character whose syntax is not that specified.  */
+  notsyntaxspec
+#endif /* emacs */
+} re_opcode_t;
+

+/* Common operations on the compiled pattern.  */
+
+/* Store NUMBER in two contiguous bytes starting at DESTINATION.  */
+
+#define STORE_NUMBER(destination, number)				\
+  do {									\
+    (destination)[0] = (number) & 0377;					\
+    (destination)[1] = (number) >> 8;					\
+  } while (0)
+
+/* Same as STORE_NUMBER, except increment DESTINATION to
+   the byte after where the number is stored.  Therefore, DESTINATION
+   must be an lvalue.  */
+
+#define STORE_NUMBER_AND_INCR(destination, number)			\
+  do {									\
+    STORE_NUMBER (destination, number);					\
+    (destination) += 2;							\
+  } while (0)
+
+/* Put into DESTINATION a number stored in two contiguous bytes starting
+   at SOURCE.  */
+
+#define EXTRACT_NUMBER(destination, source)				\
+  do {									\
+    (destination) = *(source) & 0377;					\
+    (destination) += SIGN_EXTEND_CHAR (*((source) + 1)) << 8;		\
+  } while (0)
+
+#ifdef DEBUG
+static void
+extract_number (dest, source)
+    int *dest;
+    unsigned char *source;
+{
+  int temp = SIGN_EXTEND_CHAR (*(source + 1)); 
+  *dest = *source & 0377;
+  *dest += temp << 8;
+}
+
+#ifndef EXTRACT_MACROS /* To debug the macros.  */
+#undef EXTRACT_NUMBER
+#define EXTRACT_NUMBER(dest, src) extract_number (&dest, src)
+#endif /* not EXTRACT_MACROS */
+
+#endif /* DEBUG */
+
+/* Same as EXTRACT_NUMBER, except increment SOURCE to after the number.
+   SOURCE must be an lvalue.  */
+
+#define EXTRACT_NUMBER_AND_INCR(destination, source)			\
+  do {									\
+    EXTRACT_NUMBER (destination, source);				\
+    (source) += 2; 							\
+  } while (0)
+
+#ifdef DEBUG
+static void
+extract_number_and_incr (destination, source)
+    int *destination;
+    unsigned char **source;
+{ 
+  extract_number (destination, *source);
+  *source += 2;
+}
+
+#ifndef EXTRACT_MACROS
+#undef EXTRACT_NUMBER_AND_INCR
+#define EXTRACT_NUMBER_AND_INCR(dest, src) \
+  extract_number_and_incr (&dest, &src)
+#endif /* not EXTRACT_MACROS */
+
+#endif /* DEBUG */
+

+/* If DEBUG is defined, Regex prints many voluminous messages about what
+   it is doing (if the variable `debug' is nonzero).  If linked with the
+   main program in `iregex.c', you can enter patterns and strings
+   interactively.  And if linked with the main program in `main.c' and
+   the other test files, you can run the already-written tests.  */
+
+#ifdef DEBUG
+
+/* We use standard I/O for debugging.  */
+#include <stdio.h>
+
+/* It is useful to test things that ``must'' be true when debugging.  */
+#include <assert.h>
+
+static int debug = 0;
+
+#define DEBUG_STATEMENT(e) e
+#define DEBUG_PRINT1(x) if (debug) printf (x)
+#define DEBUG_PRINT2(x1, x2) if (debug) printf (x1, x2)
+#define DEBUG_PRINT3(x1, x2, x3) if (debug) printf (x1, x2, x3)
+#define DEBUG_PRINT4(x1, x2, x3, x4) if (debug) printf (x1, x2, x3, x4)
+#define DEBUG_PRINT_COMPILED_PATTERN(p, s, e) 				\
+  if (debug) print_partial_compiled_pattern (s, e)
+#define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2)			\
+  if (debug) print_double_string (w, s1, sz1, s2, sz2)
+
+
+extern void printchar ();
+
+/* Print the fastmap in human-readable form.  */
+
+void
+print_fastmap (fastmap)
+    char *fastmap;
+{
+  unsigned was_a_range = 0;
+  unsigned i = 0;  
+  
+  while (i < (1 << BYTEWIDTH))
+    {
+      if (fastmap[i++])
+	{
+	  was_a_range = 0;
+          printchar (i - 1);
+          while (i < (1 << BYTEWIDTH)  &&  fastmap[i])
+            {
+              was_a_range = 1;
+              i++;
+            }
+	  if (was_a_range)
+            {
+              printf ("-");
+              printchar (i - 1);
+            }
+        }
+    }
+  putchar ('\n'); 
+}
+
+
+/* Print a compiled pattern string in human-readable form, starting at
+   the START pointer into it and ending just before the pointer END.  */
+
+void
+print_partial_compiled_pattern (start, end)
+    unsigned char *start;
+    unsigned char *end;
+{
+  int mcnt, mcnt2;
+  unsigned char *p = start;
+  unsigned char *pend = end;
+
+  if (start == NULL)
+    {
+      printf ("(null)\n");
+      return;
+    }
+    
+  /* Loop over pattern commands.  */
+  while (p < pend)
+    {
+      switch ((re_opcode_t) *p++)
+	{
+        case no_op:
+          printf ("/no_op");
+          break;
+
+	case exactn:
+	  mcnt = *p++;
+          printf ("/exactn/%d", mcnt);
+          do
+	    {
+              putchar ('/');
+	      printchar (*p++);
+            }
+          while (--mcnt);
+          break;
+
+	case start_memory:
+          mcnt = *p++;
+          printf ("/start_memory/%d/%d", mcnt, *p++);
+          break;
+
+	case stop_memory:
+          mcnt = *p++;
+	  printf ("/stop_memory/%d/%d", mcnt, *p++);
+          break;
+
+	case duplicate:
+	  printf ("/duplicate/%d", *p++);
+	  break;
+
+	case anychar:
+	  printf ("/anychar");
+	  break;
+
+	case charset:
+        case charset_not:
+          {
+            register int c;
+
+            printf ("/charset%s",
+	            (re_opcode_t) *(p - 1) == charset_not ? "_not" : "");
+            
+            assert (p + *p < pend);
+
+            for (c = 0; c < *p; c++)
+              {
+                unsigned bit;
+                unsigned char map_byte = p[1 + c];
+                
+                putchar ('/');
+
+		for (bit = 0; bit < BYTEWIDTH; bit++)
+                  if (map_byte & (1 << bit))
+                    printchar (c * BYTEWIDTH + bit);
+              }
+	    p += 1 + *p;
+	    break;
+	  }
+
+	case begline:
+	  printf ("/begline");
+          break;
+
+	case endline:
+          printf ("/endline");
+          break;
+
+	case on_failure_jump:
+          extract_number_and_incr (&mcnt, &p);
+  	  printf ("/on_failure_jump/0/%d", mcnt);
+          break;
+
+	case on_failure_keep_string_jump:
+          extract_number_and_incr (&mcnt, &p);
+  	  printf ("/on_failure_keep_string_jump/0/%d", mcnt);
+          break;
+
+	case dummy_failure_jump:
+          extract_number_and_incr (&mcnt, &p);
+  	  printf ("/dummy_failure_jump/0/%d", mcnt);
+          break;
+
+	case push_dummy_failure:
+          printf ("/push_dummy_failure");
+          break;
+          
+        case maybe_pop_jump:
+          extract_number_and_incr (&mcnt, &p);
+  	  printf ("/maybe_pop_jump/0/%d", mcnt);
+	  break;
+
+        case pop_failure_jump:
+	  extract_number_and_incr (&mcnt, &p);
+  	  printf ("/pop_failure_jump/0/%d", mcnt);
+	  break;          
+          
+        case jump_past_alt:
+	  extract_number_and_incr (&mcnt, &p);
+  	  printf ("/jump_past_alt/0/%d", mcnt);
+	  break;          
+          
+        case jump:
+	  extract_number_and_incr (&mcnt, &p);
+  	  printf ("/jump/0/%d", mcnt);
+	  break;
+
+        case succeed_n: 
+          extract_number_and_incr (&mcnt, &p);
+          extract_number_and_incr (&mcnt2, &p);
+ 	  printf ("/succeed_n/0/%d/0/%d", mcnt, mcnt2);
+          break;
+        
+        case jump_n: 
+          extract_number_and_incr (&mcnt, &p);
+          extract_number_and_incr (&mcnt2, &p);
+ 	  printf ("/jump_n/0/%d/0/%d", mcnt, mcnt2);
+          break;
+        
+        case set_number_at: 
+          extract_number_and_incr (&mcnt, &p);
+          extract_number_and_incr (&mcnt2, &p);
+ 	  printf ("/set_number_at/0/%d/0/%d", mcnt, mcnt2);
+          break;
+        
+        case wordbound:
+	  printf ("/wordbound");
+	  break;
+
+	case notwordbound:
+	  printf ("/notwordbound");
+          break;
+
+	case wordbeg:
+	  printf ("/wordbeg");
+	  break;
+          
+	case wordend:
+	  printf ("/wordend");
+          
+#ifdef emacs
+	case before_dot:
+	  printf ("/before_dot");
+          break;
+
+	case at_dot:
+	  printf ("/at_dot");
+          break;
+
+	case after_dot:
+	  printf ("/after_dot");
+          break;
+
+	case syntaxspec:
+          printf ("/syntaxspec");
+	  mcnt = *p++;
+	  printf ("/%d", mcnt);
+          break;
+	  
+	case notsyntaxspec:
+          printf ("/notsyntaxspec");
+	  mcnt = *p++;
+	  printf ("/%d", mcnt);
+	  break;
+#endif /* emacs */
+
+	case wordchar:
+	  printf ("/wordchar");
+          break;
+	  
+	case notwordchar:
+	  printf ("/notwordchar");
+          break;
+
+	case begbuf:
+	  printf ("/begbuf");
+          break;
+
+	case endbuf:
+	  printf ("/endbuf");
+          break;
+
+        default:
+          printf ("?%d", *(p-1));
+	}
+    }
+  printf ("/\n");
+}
+
+
+void
+print_compiled_pattern (bufp)
+    struct re_pattern_buffer *bufp;
+{
+  unsigned char *buffer = bufp->buffer;
+
+  print_partial_compiled_pattern (buffer, buffer + bufp->used);
+  printf ("%d bytes used/%d bytes allocated.\n", bufp->used, bufp->allocated);
+
+  if (bufp->fastmap_accurate && bufp->fastmap)
+    {
+      printf ("fastmap: ");
+      print_fastmap (bufp->fastmap);
+    }
+
+  printf ("re_nsub: %d\t", bufp->re_nsub);
+  printf ("regs_alloc: %d\t", bufp->regs_allocated);
+  printf ("can_be_null: %d\t", bufp->can_be_null);
+  printf ("newline_anchor: %d\n", bufp->newline_anchor);
+  printf ("no_sub: %d\t", bufp->no_sub);
+  printf ("not_bol: %d\t", bufp->not_bol);
+  printf ("not_eol: %d\t", bufp->not_eol);
+  printf ("syntax: %d\n", bufp->syntax);
+  /* Perhaps we should print the translate table?  */
+}
+
+
+void
+print_double_string (where, string1, size1, string2, size2)
+    const char *where;
+    const char *string1;
+    const char *string2;
+    int size1;
+    int size2;
+{
+  unsigned this_char;
+  
+  if (where == NULL)
+    printf ("(null)");
+  else
+    {
+      if (FIRST_STRING_P (where))
+        {
+          for (this_char = where - string1; this_char < size1; this_char++)
+            printchar (string1[this_char]);
+
+          where = string2;    
+        }
+
+      for (this_char = where - string2; this_char < size2; this_char++)
+        printchar (string2[this_char]);
+    }
+}
+
+#else /* not DEBUG */
+
+#undef assert
+#define assert(e)
+
+#define DEBUG_STATEMENT(e)
+#define DEBUG_PRINT1(x)
+#define DEBUG_PRINT2(x1, x2)
+#define DEBUG_PRINT3(x1, x2, x3)
+#define DEBUG_PRINT4(x1, x2, x3, x4)
+#define DEBUG_PRINT_COMPILED_PATTERN(p, s, e)
+#define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2)
+
+#endif /* not DEBUG */
+

+/* Set by `re_set_syntax' to the current regexp syntax to recognize.  Can
+   also be assigned to arbitrarily: each pattern buffer stores its own
+   syntax, so it can be changed between regex compilations.  */
+reg_syntax_t re_syntax_options = RE_SYNTAX_EMACS;
+
+
+/* Specify the precise syntax of regexps for compilation.  This provides
+   for compatibility for various utilities which historically have
+   different, incompatible syntaxes.
+
+   The argument SYNTAX is a bit mask comprised of the various bits
+   defined in regex.h.  We return the old syntax.  */
+
+reg_syntax_t
+re_set_syntax (syntax)
+    reg_syntax_t syntax;
+{
+  reg_syntax_t ret = re_syntax_options;
+  
+  re_syntax_options = syntax;
+  return ret;
+}
+

+/* This table gives an error message for each of the error codes listed
+   in regex.h.  Obviously the order here has to be same as there.  */
+
+static const char *re_error_msg[] =
+  { NULL,					/* REG_NOERROR */
+    "No match",					/* REG_NOMATCH */
+    "Invalid regular expression",		/* REG_BADPAT */
+    "Invalid collation character",		/* REG_ECOLLATE */
+    "Invalid character class name",		/* REG_ECTYPE */
+    "Trailing backslash",			/* REG_EESCAPE */
+    "Invalid back reference",			/* REG_ESUBREG */
+    "Unmatched [ or [^",			/* REG_EBRACK */
+    "Unmatched ( or \\(",			/* REG_EPAREN */
+    "Unmatched \\{",				/* REG_EBRACE */
+    "Invalid content of \\{\\}",		/* REG_BADBR */
+    "Invalid range end",			/* REG_ERANGE */
+    "Memory exhausted",				/* REG_ESPACE */
+    "Invalid preceding regular expression",	/* REG_BADRPT */
+    "Premature end of regular expression",	/* REG_EEND */
+    "Regular expression too big",		/* REG_ESIZE */
+    "Unmatched ) or \\)",			/* REG_ERPAREN */
+  };
+

+/* Subroutine declarations and macros for regex_compile.  */
+
+static void store_op1 (), store_op2 ();
+static void insert_op1 (), insert_op2 ();
+static boolean at_begline_loc_p (), at_endline_loc_p ();
+static boolean group_in_compile_stack ();
+static reg_errcode_t compile_range ();
+
+/* Fetch the next character in the uncompiled pattern---translating it 
+   if necessary.  Also cast from a signed character in the constant
+   string passed to us by the user to an unsigned char that we can use
+   as an array index (in, e.g., `translate').  */
+#define PATFETCH(c)							\
+  do {if (p == pend) return REG_EEND;					\
+    c = (unsigned char) *p++;						\
+    if (translate) c = translate[c]; 					\
+  } while (0)
+
+/* Fetch the next character in the uncompiled pattern, with no
+   translation.  */
+#define PATFETCH_RAW(c)							\
+  do {if (p == pend) return REG_EEND;					\
+    c = (unsigned char) *p++; 						\
+  } while (0)
+
+/* Go backwards one character in the pattern.  */
+#define PATUNFETCH p--
+
+
+/* If `translate' is non-null, return translate[D], else just D.  We
+   cast the subscript to translate because some data is declared as
+   `char *', to avoid warnings when a string constant is passed.  But
+   when we use a character as a subscript we must make it unsigned.  */
+#define TRANSLATE(d) (translate ? translate[(unsigned char) (d)] : (d))
+
+
+/* Macros for outputting the compiled pattern into `buffer'.  */
+
+/* If the buffer isn't allocated when it comes in, use this.  */
+#define INIT_BUF_SIZE  32
+
+/* Make sure we have at least N more bytes of space in buffer.  */
+#define GET_BUFFER_SPACE(n)						\
+    while (b - bufp->buffer + (n) > bufp->allocated)			\
+      EXTEND_BUFFER ()
+
+/* Make sure we have one more byte of buffer space and then add C to it.  */
+#define BUF_PUSH(c)							\
+  do {									\
+    GET_BUFFER_SPACE (1);						\
+    *b++ = (unsigned char) (c);						\
+  } while (0)
+
+
+/* Ensure we have two more bytes of buffer space and then append C1 and C2.  */
+#define BUF_PUSH_2(c1, c2)						\
+  do {									\
+    GET_BUFFER_SPACE (2);						\
+    *b++ = (unsigned char) (c1);					\
+    *b++ = (unsigned char) (c2);					\
+  } while (0)
+
+
+/* As with BUF_PUSH_2, except for three bytes.  */
+#define BUF_PUSH_3(c1, c2, c3)						\
+  do {									\
+    GET_BUFFER_SPACE (3);						\
+    *b++ = (unsigned char) (c1);					\
+    *b++ = (unsigned char) (c2);					\
+    *b++ = (unsigned char) (c3);					\
+  } while (0)
+
+
+/* Store a jump with opcode OP at LOC to location TO.  We store a
+   relative address offset by the three bytes the jump itself occupies.  */
+#define STORE_JUMP(op, loc, to) \
+  store_op1 (op, loc, (to) - (loc) - 3)
+
+/* Likewise, for a two-argument jump.  */
+#define STORE_JUMP2(op, loc, to, arg) \
+  store_op2 (op, loc, (to) - (loc) - 3, arg)
+
+/* Like `STORE_JUMP', but for inserting.  Assume `b' is the buffer end.  */
+#define INSERT_JUMP(op, loc, to) \
+  insert_op1 (op, loc, (to) - (loc) - 3, b)
+
+/* Like `STORE_JUMP2', but for inserting.  Assume `b' is the buffer end.  */
+#define INSERT_JUMP2(op, loc, to, arg) \
+  insert_op2 (op, loc, (to) - (loc) - 3, arg, b)
+
+
+/* This is not an arbitrary limit: the arguments which represent offsets
+   into the pattern are two bytes long.  So if 2^16 bytes turns out to
+   be too small, many things would have to change.  */
+#define MAX_BUF_SIZE (1L << 16)
+
+
+/* Extend the buffer by twice its current size via realloc and
+   reset the pointers that pointed into the old block to point to the
+   correct places in the new one.  If extending the buffer results in it
+   being larger than MAX_BUF_SIZE, then flag memory exhausted.  */
+#define EXTEND_BUFFER()							\
+  do { 									\
+    unsigned char *old_buffer = bufp->buffer;				\
+    if (bufp->allocated == MAX_BUF_SIZE) 				\
+      return REG_ESIZE;							\
+    bufp->allocated <<= 1;						\
+    if (bufp->allocated > MAX_BUF_SIZE)					\
+      bufp->allocated = MAX_BUF_SIZE; 					\
+    bufp->buffer = (unsigned char *) realloc (bufp->buffer, bufp->allocated);\
+    if (bufp->buffer == NULL)						\
+      return REG_ESPACE;						\
+    /* If the buffer moved, move all the pointers into it.  */		\
+    if (old_buffer != bufp->buffer)					\
+      {									\
+        b = (b - old_buffer) + bufp->buffer;				\
+        begalt = (begalt - old_buffer) + bufp->buffer;			\
+        if (fixup_alt_jump)						\
+          fixup_alt_jump = (fixup_alt_jump - old_buffer) + bufp->buffer;\
+        if (laststart)							\
+          laststart = (laststart - old_buffer) + bufp->buffer;		\
+        if (pending_exact)						\
+          pending_exact = (pending_exact - old_buffer) + bufp->buffer;	\
+      }									\
+  } while (0)
+
+
+/* Since we have one byte reserved for the register number argument to
+   {start,stop}_memory, the maximum number of groups we can report
+   things about is what fits in that byte.  */
+#define MAX_REGNUM 255
+
+/* But patterns can have more than `MAX_REGNUM' registers.  We just
+   ignore the excess.  */
+typedef unsigned regnum_t;
+
+
+/* Macros for the compile stack.  */
+
+/* Since offsets can go either forwards or backwards, this type needs to
+   be able to hold values from -(MAX_BUF_SIZE - 1) to MAX_BUF_SIZE - 1.  */
+typedef int pattern_offset_t;
+
+typedef struct
+{
+  pattern_offset_t begalt_offset;
+  pattern_offset_t fixup_alt_jump;
+  pattern_offset_t inner_group_offset;
+  pattern_offset_t laststart_offset;  
+  regnum_t regnum;
+} compile_stack_elt_t;
+
+
+typedef struct
+{
+  compile_stack_elt_t *stack;
+  unsigned size;
+  unsigned avail;			/* Offset of next open position.  */
+} compile_stack_type;
+
+
+#define INIT_COMPILE_STACK_SIZE 32
+
+#define COMPILE_STACK_EMPTY  (compile_stack.avail == 0)
+#define COMPILE_STACK_FULL  (compile_stack.avail == compile_stack.size)
+
+/* The next available element.  */
+#define COMPILE_STACK_TOP (compile_stack.stack[compile_stack.avail])
+
+
+/* Set the bit for character C in a list.  */
+#define SET_LIST_BIT(c)                               \
+  (b[((unsigned char) (c)) / BYTEWIDTH]               \
+   |= 1 << (((unsigned char) c) % BYTEWIDTH))
+
+
+/* Get the next unsigned number in the uncompiled pattern.  */
+#define GET_UNSIGNED_NUMBER(num) 					\
+  { if (p != pend)							\
+     {									\
+       PATFETCH (c); 							\
+       while (ISDIGIT (c)) 						\
+         { 								\
+           if (num < 0)							\
+              num = 0;							\
+           num = num * 10 + c - '0'; 					\
+           if (p == pend) 						\
+              break; 							\
+           PATFETCH (c);						\
+         } 								\
+       } 								\
+    }		
+
+#define CHAR_CLASS_MAX_LENGTH  6 /* Namely, `xdigit'.  */
+
+#define IS_CHAR_CLASS(string)						\
+   (STREQ (string, "alpha") || STREQ (string, "upper")			\
+    || STREQ (string, "lower") || STREQ (string, "digit")		\
+    || STREQ (string, "alnum") || STREQ (string, "xdigit")		\
+    || STREQ (string, "space") || STREQ (string, "print")		\
+    || STREQ (string, "punct") || STREQ (string, "graph")		\
+    || STREQ (string, "cntrl") || STREQ (string, "blank"))
+

+/* `regex_compile' compiles PATTERN (of length SIZE) according to SYNTAX.
+   Returns one of error codes defined in `regex.h', or zero for success.
+
+   Assumes the `allocated' (and perhaps `buffer') and `translate'
+   fields are set in BUFP on entry.
+
+   If it succeeds, results are put in BUFP (if it returns an error, the
+   contents of BUFP are undefined):
+     `buffer' is the compiled pattern;
+     `syntax' is set to SYNTAX;
+     `used' is set to the length of the compiled pattern;
+     `fastmap_accurate' is zero;
+     `re_nsub' is the number of subexpressions in PATTERN;
+     `not_bol' and `not_eol' are zero;
+   
+   The `fastmap' and `newline_anchor' fields are neither
+   examined nor set.  */
+
+static reg_errcode_t
+regex_compile (pattern, size, syntax, bufp)
+     const char *pattern;
+     int size;
+     reg_syntax_t syntax;
+     struct re_pattern_buffer *bufp;
+{
+  /* We fetch characters from PATTERN here.  Even though PATTERN is
+     `char *' (i.e., signed), we declare these variables as unsigned, so
+     they can be reliably used as array indices.  */
+  register unsigned char c, c1;
+  
+  /* A random tempory spot in PATTERN.  */
+  const char *p1;
+
+  /* Points to the end of the buffer, where we should append.  */
+  register unsigned char *b;
+  
+  /* Keeps track of unclosed groups.  */
+  compile_stack_type compile_stack;
+
+  /* Points to the current (ending) position in the pattern.  */
+  const char *p = pattern;
+  const char *pend = pattern + size;
+  
+  /* How to translate the characters in the pattern.  */
+  char *translate = bufp->translate;
+
+  /* Address of the count-byte of the most recently inserted `exactn'
+     command.  This makes it possible to tell if a new exact-match
+     character can be added to that command or if the character requires
+     a new `exactn' command.  */
+  unsigned char *pending_exact = 0;
+
+  /* Address of start of the most recently finished expression.
+     This tells, e.g., postfix * where to find the start of its
+     operand.  Reset at the beginning of groups and alternatives.  */
+  unsigned char *laststart = 0;
+
+  /* Address of beginning of regexp, or inside of last group.  */
+  unsigned char *begalt;
+
+  /* Place in the uncompiled pattern (i.e., the {) to
+     which to go back if the interval is invalid.  */
+  const char *beg_interval;
+                
+  /* Address of the place where a forward jump should go to the end of
+     the containing expression.  Each alternative of an `or' -- except the
+     last -- ends with a forward jump of this sort.  */
+  unsigned char *fixup_alt_jump = 0;
+
+  /* Counts open-groups as they are encountered.  Remembered for the
+     matching close-group on the compile stack, so the same register
+     number is put in the stop_memory as the start_memory.  */
+  regnum_t regnum = 0;
+
+#ifdef DEBUG
+  DEBUG_PRINT1 ("\nCompiling pattern: ");
+  if (debug)
+    {
+      unsigned debug_count;
+      
+      for (debug_count = 0; debug_count < size; debug_count++)
+        printchar (pattern[debug_count]);
+      putchar ('\n');
+    }
+#endif /* DEBUG */
+
+  /* Initialize the compile stack.  */
+  compile_stack.stack = TALLOC (INIT_COMPILE_STACK_SIZE, compile_stack_elt_t);
+  if (compile_stack.stack == NULL)
+    return REG_ESPACE;
+
+  compile_stack.size = INIT_COMPILE_STACK_SIZE;
+  compile_stack.avail = 0;
+
+  /* Initialize the pattern buffer.  */
+  bufp->syntax = syntax;
+  bufp->fastmap_accurate = 0;
+  bufp->not_bol = bufp->not_eol = 0;
+
+  /* Set `used' to zero, so that if we return an error, the pattern
+     printer (for debugging) will think there's no pattern.  We reset it
+     at the end.  */
+  bufp->used = 0;
+  
+  /* Always count groups, whether or not bufp->no_sub is set.  */
+  bufp->re_nsub = 0;				
+
+#if !defined (emacs) && !defined (SYNTAX_TABLE)
+  /* Initialize the syntax table.  */
+   init_syntax_once ();
+#endif
+
+  if (bufp->allocated == 0)
+    {
+      if (bufp->buffer)
+	{ /* If zero allocated, but buffer is non-null, try to realloc
+             enough space.  This loses if buffer's address is bogus, but
+             that is the user's responsibility.  */
+          RETALLOC (bufp->buffer, INIT_BUF_SIZE, unsigned char);
+        }
+      else
+        { /* Caller did not allocate a buffer.  Do it for them.  */
+          bufp->buffer = TALLOC (INIT_BUF_SIZE, unsigned char);
+        }
+      if (!bufp->buffer) return REG_ESPACE;
+
+      bufp->allocated = INIT_BUF_SIZE;
+    }
+
+  begalt = b = bufp->buffer;
+
+  /* Loop through the uncompiled pattern until we're at the end.  */
+  while (p != pend)
+    {
+      PATFETCH (c);
+
+      switch (c)
+        {
+        case '^':
+          {
+            if (   /* If at start of pattern, it's an operator.  */
+                   p == pattern + 1
+                   /* If context independent, it's an operator.  */
+                || syntax & RE_CONTEXT_INDEP_ANCHORS
+                   /* Otherwise, depends on what's come before.  */
+                || at_begline_loc_p (pattern, p, syntax))
+              BUF_PUSH (begline);
+            else
+              goto normal_char;
+          }
+          break;
+
+
+        case '$':
+          {
+            if (   /* If at end of pattern, it's an operator.  */
+                   p == pend 
+                   /* If context independent, it's an operator.  */
+                || syntax & RE_CONTEXT_INDEP_ANCHORS
+                   /* Otherwise, depends on what's next.  */
+                || at_endline_loc_p (p, pend, syntax))
+               BUF_PUSH (endline);
+             else
+               goto normal_char;
+           }
+           break;
+
+
+	case '+':
+        case '?':
+          if ((syntax & RE_BK_PLUS_QM)
+              || (syntax & RE_LIMITED_OPS))
+            goto normal_char;
+        handle_plus:
+        case '*':
+          /* If there is no previous pattern... */
+          if (!laststart)
+            {
+              if (syntax & RE_CONTEXT_INVALID_OPS)
+                return REG_BADRPT;
+              else if (!(syntax & RE_CONTEXT_INDEP_OPS))
+                goto normal_char;
+            }
+
+          {
+            /* Are we optimizing this jump?  */
+            boolean keep_string_p = false;
+            
+            /* 1 means zero (many) matches is allowed.  */
+            char zero_times_ok = 0, many_times_ok = 0;
+
+            /* If there is a sequence of repetition chars, collapse it
+               down to just one (the right one).  We can't combine
+               interval operators with these because of, e.g., `a{2}*',
+               which should only match an even number of `a's.  */
+
+            for (;;)
+              {
+                zero_times_ok |= c != '+';
+                many_times_ok |= c != '?';
+
+                if (p == pend)
+                  break;
+
+                PATFETCH (c);
+
+                if (c == '*'
+                    || (!(syntax & RE_BK_PLUS_QM) && (c == '+' || c == '?')))
+                  ;
+
+                else if (syntax & RE_BK_PLUS_QM  &&  c == '\\')
+                  {
+                    if (p == pend) return REG_EESCAPE;
+
+                    PATFETCH (c1);
+                    if (!(c1 == '+' || c1 == '?'))
+                      {
+                        PATUNFETCH;
+                        PATUNFETCH;
+                        break;
+                      }
+
+                    c = c1;
+                  }
+                else
+                  {
+                    PATUNFETCH;
+                    break;
+                  }
+
+                /* If we get here, we found another repeat character.  */
+               }
+
+            /* Star, etc. applied to an empty pattern is equivalent
+               to an empty pattern.  */
+            if (!laststart)  
+              break;
+
+            /* Now we know whether or not zero matches is allowed
+               and also whether or not two or more matches is allowed.  */
+            if (many_times_ok)
+              { /* More than one repetition is allowed, so put in at the
+                   end a backward relative jump from `b' to before the next
+                   jump we're going to put in below (which jumps from
+                   laststart to after this jump).  
+
+                   But if we are at the `*' in the exact sequence `.*\n',
+                   insert an unconditional jump backwards to the .,
+                   instead of the beginning of the loop.  This way we only
+                   push a failure point once, instead of every time
+                   through the loop.  */
+                assert (p - 1 > pattern);
+
+                /* Allocate the space for the jump.  */
+                GET_BUFFER_SPACE (3);
+
+                /* We know we are not at the first character of the pattern,
+                   because laststart was nonzero.  And we've already
+                   incremented `p', by the way, to be the character after
+                   the `*'.  Do we have to do something analogous here
+                   for null bytes, because of RE_DOT_NOT_NULL?  */
+                if (TRANSLATE (*(p - 2)) == TRANSLATE ('.')
+		    && zero_times_ok
+                    && p < pend && TRANSLATE (*p) == TRANSLATE ('\n')
+                    && !(syntax & RE_DOT_NEWLINE))
+                  { /* We have .*\n.  */
+                    STORE_JUMP (jump, b, laststart);
+                    keep_string_p = true;
+                  }
+                else
+                  /* Anything else.  */
+                  STORE_JUMP (maybe_pop_jump, b, laststart - 3);
+
+                /* We've added more stuff to the buffer.  */
+                b += 3;
+              }
+
+            /* On failure, jump from laststart to b + 3, which will be the
+               end of the buffer after this jump is inserted.  */
+            GET_BUFFER_SPACE (3);
+            INSERT_JUMP (keep_string_p ? on_failure_keep_string_jump
+                                       : on_failure_jump,
+                         laststart, b + 3);
+            pending_exact = 0;
+            b += 3;
+
+            if (!zero_times_ok)
+              {
+                /* At least one repetition is required, so insert a
+                   `dummy_failure_jump' before the initial
+                   `on_failure_jump' instruction of the loop. This
+                   effects a skip over that instruction the first time
+                   we hit that loop.  */
+                GET_BUFFER_SPACE (3);
+                INSERT_JUMP (dummy_failure_jump, laststart, laststart + 6);
+                b += 3;
+              }
+            }
+	  break;
+
+
+	case '.':
+          laststart = b;
+          BUF_PUSH (anychar);
+          break;
+
+
+        case '[':
+          {
+            boolean had_char_class = false;
+
+            if (p == pend) return REG_EBRACK;
+
+            /* Ensure that we have enough space to push a charset: the
+               opcode, the length count, and the bitset; 34 bytes in all.  */
+	    GET_BUFFER_SPACE (34);
+
+            laststart = b;
+
+            /* We test `*p == '^' twice, instead of using an if
+               statement, so we only need one BUF_PUSH.  */
+            BUF_PUSH (*p == '^' ? charset_not : charset); 
+            if (*p == '^')
+              p++;
+
+            /* Remember the first position in the bracket expression.  */
+            p1 = p;
+
+            /* Push the number of bytes in the bitmap.  */
+            BUF_PUSH ((1 << BYTEWIDTH) / BYTEWIDTH);
+
+            /* Clear the whole map.  */
+            bzero (b, (1 << BYTEWIDTH) / BYTEWIDTH);
+
+            /* charset_not matches newline according to a syntax bit.  */
+            if ((re_opcode_t) b[-2] == charset_not
+                && (syntax & RE_HAT_LISTS_NOT_NEWLINE))
+              SET_LIST_BIT ('\n');
+
+            /* Read in characters and ranges, setting map bits.  */
+            for (;;)
+              {
+                if (p == pend) return REG_EBRACK;
+
+                PATFETCH (c);
+
+                /* \ might escape characters inside [...] and [^...].  */
+                if ((syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && c == '\\')
+                  {
+                    if (p == pend) return REG_EESCAPE;
+
+                    PATFETCH (c1);
+                    SET_LIST_BIT (c1);
+                    continue;
+                  }
+
+                /* Could be the end of the bracket expression.  If it's
+                   not (i.e., when the bracket expression is `[]' so
+                   far), the ']' character bit gets set way below.  */
+                if (c == ']' && p != p1 + 1)
+                  break;
+
+                /* Look ahead to see if it's a range when the last thing
+                   was a character class.  */
+                if (had_char_class && c == '-' && *p != ']')
+                  return REG_ERANGE;
+
+                /* Look ahead to see if it's a range when the last thing
+                   was a character: if this is a hyphen not at the
+                   beginning or the end of a list, then it's the range
+                   operator.  */
+                if (c == '-' 
+                    && !(p - 2 >= pattern && p[-2] == '[') 
+                    && !(p - 3 >= pattern && p[-3] == '[' && p[-2] == '^')
+                    && *p != ']')
+                  {
+                    reg_errcode_t ret
+                      = compile_range (&p, pend, translate, syntax, b);
+                    if (ret != REG_NOERROR) return ret;
+                  }
+
+                else if (p[0] == '-' && p[1] != ']')
+                  { /* This handles ranges made up of characters only.  */
+                    reg_errcode_t ret;
+
+		    /* Move past the `-'.  */
+                    PATFETCH (c1);
+                    
+                    ret = compile_range (&p, pend, translate, syntax, b);
+                    if (ret != REG_NOERROR) return ret;
+                  }
+
+                /* See if we're at the beginning of a possible character
+                   class.  */
+
+                else if (syntax & RE_CHAR_CLASSES && c == '[' && *p == ':')
+                  { /* Leave room for the null.  */
+                    char str[CHAR_CLASS_MAX_LENGTH + 1];
+
+                    PATFETCH (c);
+                    c1 = 0;
+
+                    /* If pattern is `[[:'.  */
+                    if (p == pend) return REG_EBRACK;
+
+                    for (;;)
+                      {
+                        PATFETCH (c);
+                        if (c == ':' || c == ']' || p == pend
+                            || c1 == CHAR_CLASS_MAX_LENGTH)
+                          break;
+                        str[c1++] = c;
+                      }
+                    str[c1] = '\0';
+
+                    /* If isn't a word bracketed by `[:' and:`]':
+                       undo the ending character, the letters, and leave 
+                       the leading `:' and `[' (but set bits for them).  */
+                    if (c == ':' && *p == ']')
+                      {
+                        int ch;
+                        boolean is_alnum = STREQ (str, "alnum");
+                        boolean is_alpha = STREQ (str, "alpha");
+                        boolean is_blank = STREQ (str, "blank");
+                        boolean is_cntrl = STREQ (str, "cntrl");
+                        boolean is_digit = STREQ (str, "digit");
+                        boolean is_graph = STREQ (str, "graph");
+                        boolean is_lower = STREQ (str, "lower");
+                        boolean is_print = STREQ (str, "print");
+                        boolean is_punct = STREQ (str, "punct");
+                        boolean is_space = STREQ (str, "space");
+                        boolean is_upper = STREQ (str, "upper");
+                        boolean is_xdigit = STREQ (str, "xdigit");
+                        
+                        if (!IS_CHAR_CLASS (str)) return REG_ECTYPE;
+
+                        /* Throw away the ] at the end of the character
+                           class.  */
+                        PATFETCH (c);					
+
+                        if (p == pend) return REG_EBRACK;
+
+                        for (ch = 0; ch < 1 << BYTEWIDTH; ch++)
+                          {
+                            if (   (is_alnum  && ISALNUM (ch))
+                                || (is_alpha  && ISALPHA (ch))
+                                || (is_blank  && ISBLANK (ch))
+                                || (is_cntrl  && ISCNTRL (ch))
+                                || (is_digit  && ISDIGIT (ch))
+                                || (is_graph  && ISGRAPH (ch))
+                                || (is_lower  && ISLOWER (ch))
+                                || (is_print  && ISPRINT (ch))
+                                || (is_punct  && ISPUNCT (ch))
+                                || (is_space  && ISSPACE (ch))
+                                || (is_upper  && ISUPPER (ch))
+                                || (is_xdigit && ISXDIGIT (ch)))
+                            SET_LIST_BIT (ch);
+                          }
+                        had_char_class = true;
+                      }
+                    else
+                      {
+                        c1++;
+                        while (c1--)    
+                          PATUNFETCH;
+                        SET_LIST_BIT ('[');
+                        SET_LIST_BIT (':');
+                        had_char_class = false;
+                      }
+                  }
+                else
+                  {
+                    had_char_class = false;
+                    SET_LIST_BIT (c);
+                  }
+              }
+
+            /* Discard any (non)matching list bytes that are all 0 at the
+               end of the map.  Decrease the map-length byte too.  */
+            while ((int) b[-1] > 0 && b[b[-1] - 1] == 0) 
+              b[-1]--; 
+            b += b[-1];
+          }
+          break;
+
+
+	case '(':
+          if (syntax & RE_NO_BK_PARENS)
+            goto handle_open;
+          else
+            goto normal_char;
+
+
+        case ')':
+          if (syntax & RE_NO_BK_PARENS)
+            goto handle_close;
+          else
+            goto normal_char;
+
+
+        case '\n':
+          if (syntax & RE_NEWLINE_ALT)
+            goto handle_alt;
+          else
+            goto normal_char;
+
+
+	case '|':
+          if (syntax & RE_NO_BK_VBAR)
+            goto handle_alt;
+          else
+            goto normal_char;
+
+
+        case '{':
+           if (syntax & RE_INTERVALS && syntax & RE_NO_BK_BRACES)
+             goto handle_interval;
+           else
+             goto normal_char;
+
+
+        case '\\':
+          if (p == pend) return REG_EESCAPE;
+
+          /* Do not translate the character after the \, so that we can
+             distinguish, e.g., \B from \b, even if we normally would
+             translate, e.g., B to b.  */
+          PATFETCH_RAW (c);
+
+          switch (c)
+            {
+            case '(':
+              if (syntax & RE_NO_BK_PARENS)
+                goto normal_backslash;
+
+            handle_open:
+              bufp->re_nsub++;
+              regnum++;
+
+              if (COMPILE_STACK_FULL)
+                { 
+                  RETALLOC (compile_stack.stack, compile_stack.size << 1,
+                            compile_stack_elt_t);
+                  if (compile_stack.stack == NULL) return REG_ESPACE;
+
+                  compile_stack.size <<= 1;
+                }
+
+              /* These are the values to restore when we hit end of this
+                 group.  They are all relative offsets, so that if the
+                 whole pattern moves because of realloc, they will still
+                 be valid.  */
+              COMPILE_STACK_TOP.begalt_offset = begalt - bufp->buffer;
+              COMPILE_STACK_TOP.fixup_alt_jump 
+                = fixup_alt_jump ? fixup_alt_jump - bufp->buffer + 1 : 0;
+              COMPILE_STACK_TOP.laststart_offset = b - bufp->buffer;
+              COMPILE_STACK_TOP.regnum = regnum;
+
+              /* We will eventually replace the 0 with the number of
+                 groups inner to this one.  But do not push a
+                 start_memory for groups beyond the last one we can
+                 represent in the compiled pattern.  */
+              if (regnum <= MAX_REGNUM)
+                {
+                  COMPILE_STACK_TOP.inner_group_offset = b - bufp->buffer + 2;
+                  BUF_PUSH_3 (start_memory, regnum, 0);
+                }
+                
+              compile_stack.avail++;
+
+              fixup_alt_jump = 0;
+              laststart = 0;
+              begalt = b;
+	      /* If we've reached MAX_REGNUM groups, then this open
+		 won't actually generate any code, so we'll have to
+		 clear pending_exact explicitly.  */
+	      pending_exact = 0;
+              break;
+
+
+            case ')':
+              if (syntax & RE_NO_BK_PARENS) goto normal_backslash;
+
+              if (COMPILE_STACK_EMPTY)
+                if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
+                  goto normal_backslash;
+                else
+                  return REG_ERPAREN;
+
+            handle_close:
+              if (fixup_alt_jump)
+                { /* Push a dummy failure point at the end of the
+                     alternative for a possible future
+                     `pop_failure_jump' to pop.  See comments at
+                     `push_dummy_failure' in `re_match_2'.  */
+                  BUF_PUSH (push_dummy_failure);
+                  
+                  /* We allocated space for this jump when we assigned
+                     to `fixup_alt_jump', in the `handle_alt' case below.  */
+                  STORE_JUMP (jump_past_alt, fixup_alt_jump, b - 1);
+                }
+
+              /* See similar code for backslashed left paren above.  */
+              if (COMPILE_STACK_EMPTY)
+                if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
+                  goto normal_char;
+                else
+                  return REG_ERPAREN;
+
+              /* Since we just checked for an empty stack above, this
+                 ``can't happen''.  */
+              assert (compile_stack.avail != 0);
+              {
+                /* We don't just want to restore into `regnum', because
+                   later groups should continue to be numbered higher,
+                   as in `(ab)c(de)' -- the second group is #2.  */
+                regnum_t this_group_regnum;
+
+                compile_stack.avail--;		
+                begalt = bufp->buffer + COMPILE_STACK_TOP.begalt_offset;
+                fixup_alt_jump
+                  = COMPILE_STACK_TOP.fixup_alt_jump
+                    ? bufp->buffer + COMPILE_STACK_TOP.fixup_alt_jump - 1 
+                    : 0;
+                laststart = bufp->buffer + COMPILE_STACK_TOP.laststart_offset;
+                this_group_regnum = COMPILE_STACK_TOP.regnum;
+		/* If we've reached MAX_REGNUM groups, then this open
+		   won't actually generate any code, so we'll have to
+		   clear pending_exact explicitly.  */
+		pending_exact = 0;
+
+                /* We're at the end of the group, so now we know how many
+                   groups were inside this one.  */
+                if (this_group_regnum <= MAX_REGNUM)
+                  {
+                    unsigned char *inner_group_loc
+                      = bufp->buffer + COMPILE_STACK_TOP.inner_group_offset;
+                    
+                    *inner_group_loc = regnum - this_group_regnum;
+                    BUF_PUSH_3 (stop_memory, this_group_regnum,
+                                regnum - this_group_regnum);
+                  }
+              }
+              break;
+
+
+            case '|':					/* `\|'.  */
+              if (syntax & RE_LIMITED_OPS || syntax & RE_NO_BK_VBAR)
+                goto normal_backslash;
+            handle_alt:
+              if (syntax & RE_LIMITED_OPS)
+                goto normal_char;
+
+              /* Insert before the previous alternative a jump which
+                 jumps to this alternative if the former fails.  */
+              GET_BUFFER_SPACE (3);
+              INSERT_JUMP (on_failure_jump, begalt, b + 6);
+              pending_exact = 0;
+              b += 3;
+
+              /* The alternative before this one has a jump after it
+                 which gets executed if it gets matched.  Adjust that
+                 jump so it will jump to this alternative's analogous
+                 jump (put in below, which in turn will jump to the next
+                 (if any) alternative's such jump, etc.).  The last such
+                 jump jumps to the correct final destination.  A picture:
+                          _____ _____ 
+                          |   | |   |   
+                          |   v |   v 
+                         a | b   | c   
+
+                 If we are at `b', then fixup_alt_jump right now points to a
+                 three-byte space after `a'.  We'll put in the jump, set
+                 fixup_alt_jump to right after `b', and leave behind three
+                 bytes which we'll fill in when we get to after `c'.  */
+
+              if (fixup_alt_jump)
+                STORE_JUMP (jump_past_alt, fixup_alt_jump, b);
+
+              /* Mark and leave space for a jump after this alternative,
+                 to be filled in later either by next alternative or
+                 when know we're at the end of a series of alternatives.  */
+              fixup_alt_jump = b;
+              GET_BUFFER_SPACE (3);
+              b += 3;
+
+              laststart = 0;
+              begalt = b;
+              break;
+
+
+            case '{': 
+              /* If \{ is a literal.  */
+              if (!(syntax & RE_INTERVALS)
+                     /* If we're at `\{' and it's not the open-interval 
+                        operator.  */
+                  || ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES))
+                  || (p - 2 == pattern  &&  p == pend))
+                goto normal_backslash;
+
+            handle_interval:
+              {
+                /* If got here, then the syntax allows intervals.  */
+
+                /* At least (most) this many matches must be made.  */
+                int lower_bound = -1, upper_bound = -1;
+
+                beg_interval = p - 1;
+
+                if (p == pend)
+                  {
+                    if (syntax & RE_NO_BK_BRACES)
+                      goto unfetch_interval;
+                    else
+                      return REG_EBRACE;
+                  }
+
+                GET_UNSIGNED_NUMBER (lower_bound);
+
+                if (c == ',')
+                  {
+                    GET_UNSIGNED_NUMBER (upper_bound);
+                    if (upper_bound < 0) upper_bound = RE_DUP_MAX;
+                  }
+                else
+                  /* Interval such as `{1}' => match exactly once. */
+                  upper_bound = lower_bound;
+
+                if (lower_bound < 0 || upper_bound > RE_DUP_MAX
+                    || lower_bound > upper_bound)
+                  {
+                    if (syntax & RE_NO_BK_BRACES)
+                      goto unfetch_interval;
+                    else 
+                      return REG_BADBR;
+                  }
+
+                if (!(syntax & RE_NO_BK_BRACES)) 
+                  {
+                    if (c != '\\') return REG_EBRACE;
+
+                    PATFETCH (c);
+                  }
+
+                if (c != '}')
+                  {
+                    if (syntax & RE_NO_BK_BRACES)
+                      goto unfetch_interval;
+                    else 
+                      return REG_BADBR;
+                  }
+
+                /* We just parsed a valid interval.  */
+
+                /* If it's invalid to have no preceding re.  */
+                if (!laststart)
+                  {
+                    if (syntax & RE_CONTEXT_INVALID_OPS)
+                      return REG_BADRPT;
+                    else if (syntax & RE_CONTEXT_INDEP_OPS)
+                      laststart = b;
+                    else
+                      goto unfetch_interval;
+                  }
+
+                /* If the upper bound is zero, don't want to succeed at
+                   all; jump from `laststart' to `b + 3', which will be
+                   the end of the buffer after we insert the jump.  */
+                 if (upper_bound == 0)
+                   {
+                     GET_BUFFER_SPACE (3);
+                     INSERT_JUMP (jump, laststart, b + 3);
+                     b += 3;
+                   }
+
+                 /* Otherwise, we have a nontrivial interval.  When
+                    we're all done, the pattern will look like:
+                      set_number_at <jump count> <upper bound>
+                      set_number_at <succeed_n count> <lower bound>
+                      succeed_n <after jump addr> <succed_n count>
+                      <body of loop>
+                      jump_n <succeed_n addr> <jump count>
+                    (The upper bound and `jump_n' are omitted if
+                    `upper_bound' is 1, though.)  */
+                 else 
+                   { /* If the upper bound is > 1, we need to insert
+                        more at the end of the loop.  */
+                     unsigned nbytes = 10 + (upper_bound > 1) * 10;
+
+                     GET_BUFFER_SPACE (nbytes);
+
+                     /* Initialize lower bound of the `succeed_n', even
+                        though it will be set during matching by its
+                        attendant `set_number_at' (inserted next),
+                        because `re_compile_fastmap' needs to know.
+                        Jump to the `jump_n' we might insert below.  */
+                     INSERT_JUMP2 (succeed_n, laststart,
+                                   b + 5 + (upper_bound > 1) * 5,
+                                   lower_bound);
+                     b += 5;
+
+                     /* Code to initialize the lower bound.  Insert 
+                        before the `succeed_n'.  The `5' is the last two
+                        bytes of this `set_number_at', plus 3 bytes of
+                        the following `succeed_n'.  */
+                     insert_op2 (set_number_at, laststart, 5, lower_bound, b);
+                     b += 5;
+
+                     if (upper_bound > 1)
+                       { /* More than one repetition is allowed, so
+                            append a backward jump to the `succeed_n'
+                            that starts this interval.
+                            
+                            When we've reached this during matching,
+                            we'll have matched the interval once, so
+                            jump back only `upper_bound - 1' times.  */
+                         STORE_JUMP2 (jump_n, b, laststart + 5,
+                                      upper_bound - 1);
+                         b += 5;
+
+                         /* The location we want to set is the second
+                            parameter of the `jump_n'; that is `b-2' as
+                            an absolute address.  `laststart' will be
+                            the `set_number_at' we're about to insert;
+                            `laststart+3' the number to set, the source
+                            for the relative address.  But we are
+                            inserting into the middle of the pattern --
+                            so everything is getting moved up by 5.
+                            Conclusion: (b - 2) - (laststart + 3) + 5,
+                            i.e., b - laststart.
+                            
+                            We insert this at the beginning of the loop
+                            so that if we fail during matching, we'll
+                            reinitialize the bounds.  */
+                         insert_op2 (set_number_at, laststart, b - laststart,
+                                     upper_bound - 1, b);
+                         b += 5;
+                       }
+                   }
+                pending_exact = 0;
+                beg_interval = NULL;
+              }
+              break;
+
+            unfetch_interval:
+              /* If an invalid interval, match the characters as literals.  */
+               assert (beg_interval);
+               p = beg_interval;
+               beg_interval = NULL;
+
+               /* normal_char and normal_backslash need `c'.  */
+               PATFETCH (c);	
+
+               if (!(syntax & RE_NO_BK_BRACES))
+                 {
+                   if (p > pattern  &&  p[-1] == '\\')
+                     goto normal_backslash;
+                 }
+               goto normal_char;
+
+#ifdef emacs
+            /* There is no way to specify the before_dot and after_dot
+               operators.  rms says this is ok.  --karl  */
+            case '=':
+              BUF_PUSH (at_dot);
+              break;
+
+            case 's':	
+              laststart = b;
+              PATFETCH (c);
+              BUF_PUSH_2 (syntaxspec, syntax_spec_code[c]);
+              break;
+
+            case 'S':
+              laststart = b;
+              PATFETCH (c);
+              BUF_PUSH_2 (notsyntaxspec, syntax_spec_code[c]);
+              break;
+#endif /* emacs */
+
+
+            case 'w':
+              laststart = b;
+              BUF_PUSH (wordchar);
+              break;
+
+
+            case 'W':
+              laststart = b;
+              BUF_PUSH (notwordchar);
+              break;
+
+
+            case '<':
+              BUF_PUSH (wordbeg);
+              break;
+
+            case '>':
+              BUF_PUSH (wordend);
+              break;
+
+            case 'b':
+              BUF_PUSH (wordbound);
+              break;
+
+            case 'B':
+              BUF_PUSH (notwordbound);
+              break;
+
+            case '`':
+              BUF_PUSH (begbuf);
+              break;
+
+            case '\'':
+              BUF_PUSH (endbuf);
+              break;
+
+            case '1': case '2': case '3': case '4': case '5':
+            case '6': case '7': case '8': case '9':
+              if (syntax & RE_NO_BK_REFS)
+                goto normal_char;
+
+              c1 = c - '0';
+
+              if (c1 > regnum)
+                return REG_ESUBREG;
+
+              /* Can't back reference to a subexpression if inside of it.  */
+              if (group_in_compile_stack (compile_stack, c1))
+                goto normal_char;
+
+              laststart = b;
+              BUF_PUSH_2 (duplicate, c1);
+              break;
+
+
+            case '+':
+            case '?':
+              if (syntax & RE_BK_PLUS_QM)
+                goto handle_plus;
+              else
+                goto normal_backslash;
+
+            default:
+            normal_backslash:
+              /* You might think it would be useful for \ to mean
+                 not to translate; but if we don't translate it
+                 it will never match anything.  */
+              c = TRANSLATE (c);
+              goto normal_char;
+            }
+          break;
+
+
+	default:
+        /* Expects the character in `c'.  */
+	normal_char:
+	      /* If no exactn currently being built.  */
+          if (!pending_exact 
+
+              /* If last exactn not at current position.  */
+              || pending_exact + *pending_exact + 1 != b
+              
+              /* We have only one byte following the exactn for the count.  */
+	      || *pending_exact == (1 << BYTEWIDTH) - 1
+
+              /* If followed by a repetition operator.  */
+              || *p == '*' || *p == '^'
+	      || ((syntax & RE_BK_PLUS_QM)
+		  ? *p == '\\' && (p[1] == '+' || p[1] == '?')
+		  : (*p == '+' || *p == '?'))
+	      || ((syntax & RE_INTERVALS)
+                  && ((syntax & RE_NO_BK_BRACES)
+		      ? *p == '{'
+                      : (p[0] == '\\' && p[1] == '{'))))
+	    {
+	      /* Start building a new exactn.  */
+              
+              laststart = b;
+
+	      BUF_PUSH_2 (exactn, 0);
+	      pending_exact = b - 1;
+            }
+            
+	  BUF_PUSH (c);
+          (*pending_exact)++;
+	  break;
+        } /* switch (c) */
+    } /* while p != pend */
+
+  
+  /* Through the pattern now.  */
+  
+  if (fixup_alt_jump)
+    STORE_JUMP (jump_past_alt, fixup_alt_jump, b);
+
+  if (!COMPILE_STACK_EMPTY) 
+    return REG_EPAREN;
+
+  free (compile_stack.stack);
+
+  /* We have succeeded; set the length of the buffer.  */
+  bufp->used = b - bufp->buffer;
+
+#ifdef DEBUG
+  if (debug)
+    {
+      DEBUG_PRINT1 ("\nCompiled pattern: ");
+      print_compiled_pattern (bufp);
+    }
+#endif /* DEBUG */
+
+  return REG_NOERROR;
+} /* regex_compile */
+

+/* Subroutines for `regex_compile'.  */
+
+/* Store OP at LOC followed by two-byte integer parameter ARG.  */
+
+static void
+store_op1 (op, loc, arg)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg;
+{
+  *loc = (unsigned char) op;
+  STORE_NUMBER (loc + 1, arg);
+}
+
+
+/* Like `store_op1', but for two two-byte parameters ARG1 and ARG2.  */
+
+static void
+store_op2 (op, loc, arg1, arg2)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg1, arg2;
+{
+  *loc = (unsigned char) op;
+  STORE_NUMBER (loc + 1, arg1);
+  STORE_NUMBER (loc + 3, arg2);
+}
+
+
+/* Copy the bytes from LOC to END to open up three bytes of space at LOC
+   for OP followed by two-byte integer parameter ARG.  */
+
+static void
+insert_op1 (op, loc, arg, end)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg;
+    unsigned char *end;    
+{
+  register unsigned char *pfrom = end;
+  register unsigned char *pto = end + 3;
+
+  while (pfrom != loc)
+    *--pto = *--pfrom;
+    
+  store_op1 (op, loc, arg);
+}
+
+
+/* Like `insert_op1', but for two two-byte parameters ARG1 and ARG2.  */
+
+static void
+insert_op2 (op, loc, arg1, arg2, end)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg1, arg2;
+    unsigned char *end;    
+{
+  register unsigned char *pfrom = end;
+  register unsigned char *pto = end + 5;
+
+  while (pfrom != loc)
+    *--pto = *--pfrom;
+    
+  store_op2 (op, loc, arg1, arg2);
+}
+
+
+/* P points to just after a ^ in PATTERN.  Return true if that ^ comes
+   after an alternative or a begin-subexpression.  We assume there is at
+   least one character before the ^.  */
+
+static boolean
+at_begline_loc_p (pattern, p, syntax)
+    const char *pattern, *p;
+    reg_syntax_t syntax;
+{
+  const char *prev = p - 2;
+  boolean prev_prev_backslash = prev > pattern && prev[-1] == '\\';
+  
+  return
+       /* After a subexpression?  */
+       (*prev == '(' && (syntax & RE_NO_BK_PARENS || prev_prev_backslash))
+       /* After an alternative?  */
+    || (*prev == '|' && (syntax & RE_NO_BK_VBAR || prev_prev_backslash));
+}
+
+
+/* The dual of at_begline_loc_p.  This one is for $.  We assume there is
+   at least one character after the $, i.e., `P < PEND'.  */
+
+static boolean
+at_endline_loc_p (p, pend, syntax)
+    const char *p, *pend;
+    int syntax;
+{
+  const char *next = p;
+  boolean next_backslash = *next == '\\';
+  const char *next_next = p + 1 < pend ? p + 1 : NULL;
+  
+  return
+       /* Before a subexpression?  */
+       (syntax & RE_NO_BK_PARENS ? *next == ')'
+        : next_backslash && next_next && *next_next == ')')
+       /* Before an alternative?  */
+    || (syntax & RE_NO_BK_VBAR ? *next == '|'
+        : next_backslash && next_next && *next_next == '|');
+}
+
+
+/* Returns true if REGNUM is in one of COMPILE_STACK's elements and 
+   false if it's not.  */
+
+static boolean
+group_in_compile_stack (compile_stack, regnum)
+    compile_stack_type compile_stack;
+    regnum_t regnum;
+{
+  int this_element;
+
+  for (this_element = compile_stack.avail - 1;  
+       this_element >= 0; 
+       this_element--)
+    if (compile_stack.stack[this_element].regnum == regnum)
+      return true;
+
+  return false;
+}
+
+
+/* Read the ending character of a range (in a bracket expression) from the
+   uncompiled pattern *P_PTR (which ends at PEND).  We assume the
+   starting character is in `P[-2]'.  (`P[-1]' is the character `-'.)
+   Then we set the translation of all bits between the starting and
+   ending characters (inclusive) in the compiled pattern B.
+   
+   Return an error code.
+   
+   We use these short variable names so we can use the same macros as
+   `regex_compile' itself.  */
+
+static reg_errcode_t
+compile_range (p_ptr, pend, translate, syntax, b)
+    const char **p_ptr, *pend;
+    char *translate;
+    reg_syntax_t syntax;
+    unsigned char *b;
+{
+  unsigned this_char;
+
+  const char *p = *p_ptr;
+  int range_start, range_end;
+  
+  if (p == pend)
+    return REG_ERANGE;
+
+  /* Even though the pattern is a signed `char *', we need to fetch
+     with unsigned char *'s; if the high bit of the pattern character
+     is set, the range endpoints will be negative if we fetch using a
+     signed char *.
+
+     We also want to fetch the endpoints without translating them; the 
+     appropriate translation is done in the bit-setting loop below.  */
+  range_start = ((unsigned char *) p)[-2];
+  range_end   = ((unsigned char *) p)[0];
+
+  /* Have to increment the pointer into the pattern string, so the
+     caller isn't still at the ending character.  */
+  (*p_ptr)++;
+
+  /* If the start is after the end, the range is empty.  */
+  if (range_start > range_end)
+    return syntax & RE_NO_EMPTY_RANGES ? REG_ERANGE : REG_NOERROR;
+
+  /* Here we see why `this_char' has to be larger than an `unsigned
+     char' -- the range is inclusive, so if `range_end' == 0xff
+     (assuming 8-bit characters), we would otherwise go into an infinite
+     loop, since all characters <= 0xff.  */
+  for (this_char = range_start; this_char <= range_end; this_char++)
+    {
+      SET_LIST_BIT (TRANSLATE (this_char));
+    }
+  
+  return REG_NOERROR;
+}
+

+/* Failure stack declarations and macros; both re_compile_fastmap and
+   re_match_2 use a failure stack.  These have to be macros because of
+   REGEX_ALLOCATE.  */
+   
+
+/* Number of failure points for which to initially allocate space
+   when matching.  If this number is exceeded, we allocate more
+   space, so it is not a hard limit.  */
+#ifndef INIT_FAILURE_ALLOC
+#define INIT_FAILURE_ALLOC 5
+#endif
+
+/* Roughly the maximum number of failure points on the stack.  Would be
+   exactly that if always used MAX_FAILURE_SPACE each time we failed.
+   This is a variable only so users of regex can assign to it; we never
+   change it ourselves.  */
+int re_max_failures = 2000;
+
+typedef const unsigned char *fail_stack_elt_t;
+
+typedef struct
+{
+  fail_stack_elt_t *stack;
+  unsigned size;
+  unsigned avail;			/* Offset of next open position.  */
+} fail_stack_type;
+
+#define FAIL_STACK_EMPTY()     (fail_stack.avail == 0)
+#define FAIL_STACK_PTR_EMPTY() (fail_stack_ptr->avail == 0)
+#define FAIL_STACK_FULL()      (fail_stack.avail == fail_stack.size)
+#define FAIL_STACK_TOP()       (fail_stack.stack[fail_stack.avail])
+
+
+/* Initialize `fail_stack'.  Do `return -2' if the alloc fails.  */
+
+#define INIT_FAIL_STACK()						\
+  do {									\
+    fail_stack.stack = (fail_stack_elt_t *)				\
+      REGEX_ALLOCATE (INIT_FAILURE_ALLOC * sizeof (fail_stack_elt_t));	\
+									\
+    if (fail_stack.stack == NULL)					\
+      return -2;							\
+									\
+    fail_stack.size = INIT_FAILURE_ALLOC;				\
+    fail_stack.avail = 0;						\
+  } while (0)
+
+
+/* Double the size of FAIL_STACK, up to approximately `re_max_failures' items.
+
+   Return 1 if succeeds, and 0 if either ran out of memory
+   allocating space for it or it was already too large.  
+   
+   REGEX_REALLOCATE requires `destination' be declared.   */
+
+#define DOUBLE_FAIL_STACK(fail_stack)					\
+  ((fail_stack).size > re_max_failures * MAX_FAILURE_ITEMS		\
+   ? 0									\
+   : ((fail_stack).stack = (fail_stack_elt_t *)				\
+        REGEX_REALLOCATE ((fail_stack).stack, 				\
+          (fail_stack).size * sizeof (fail_stack_elt_t),		\
+          ((fail_stack).size << 1) * sizeof (fail_stack_elt_t)),	\
+									\
+      (fail_stack).stack == NULL					\
+      ? 0								\
+      : ((fail_stack).size <<= 1, 					\
+         1)))
+
+
+/* Push PATTERN_OP on FAIL_STACK. 
+
+   Return 1 if was able to do so and 0 if ran out of memory allocating
+   space to do so.  */
+#define PUSH_PATTERN_OP(pattern_op, fail_stack)				\
+  ((FAIL_STACK_FULL ()							\
+    && !DOUBLE_FAIL_STACK (fail_stack))					\
+    ? 0									\
+    : ((fail_stack).stack[(fail_stack).avail++] = pattern_op,		\
+       1))
+
+/* This pushes an item onto the failure stack.  Must be a four-byte
+   value.  Assumes the variable `fail_stack'.  Probably should only
+   be called from within `PUSH_FAILURE_POINT'.  */
+#define PUSH_FAILURE_ITEM(item)						\
+  fail_stack.stack[fail_stack.avail++] = (fail_stack_elt_t) item
+
+/* The complement operation.  Assumes `fail_stack' is nonempty.  */
+#define POP_FAILURE_ITEM() fail_stack.stack[--fail_stack.avail]
+
+/* Used to omit pushing failure point id's when we're not debugging.  */
+#ifdef DEBUG
+#define DEBUG_PUSH PUSH_FAILURE_ITEM
+#define DEBUG_POP(item_addr) *(item_addr) = POP_FAILURE_ITEM ()
+#else
+#define DEBUG_PUSH(item)
+#define DEBUG_POP(item_addr)
+#endif
+
+
+/* Push the information about the state we will need
+   if we ever fail back to it.  
+   
+   Requires variables fail_stack, regstart, regend, reg_info, and
+   num_regs be declared.  DOUBLE_FAIL_STACK requires `destination' be
+   declared.
+   
+   Does `return FAILURE_CODE' if runs out of memory.  */
+
+#define PUSH_FAILURE_POINT(pattern_place, string_place, failure_code)	\
+  do {									\
+    char *destination;							\
+    /* Must be int, so when we don't save any registers, the arithmetic	\
+       of 0 + -1 isn't done as unsigned.  */				\
+    int this_reg;							\
+    									\
+    DEBUG_STATEMENT (failure_id++);					\
+    DEBUG_STATEMENT (nfailure_points_pushed++);				\
+    DEBUG_PRINT2 ("\nPUSH_FAILURE_POINT #%u:\n", failure_id);		\
+    DEBUG_PRINT2 ("  Before push, next avail: %d\n", (fail_stack).avail);\
+    DEBUG_PRINT2 ("                     size: %d\n", (fail_stack).size);\
+									\
+    DEBUG_PRINT2 ("  slots needed: %d\n", NUM_FAILURE_ITEMS);		\
+    DEBUG_PRINT2 ("     available: %d\n", REMAINING_AVAIL_SLOTS);	\
+									\
+    /* Ensure we have enough space allocated for what we will push.  */	\
+    while (REMAINING_AVAIL_SLOTS < NUM_FAILURE_ITEMS)			\
+      {									\
+        if (!DOUBLE_FAIL_STACK (fail_stack))			\
+          return failure_code;						\
+									\
+        DEBUG_PRINT2 ("\n  Doubled stack; size now: %d\n",		\
+		       (fail_stack).size);				\
+        DEBUG_PRINT2 ("  slots available: %d\n", REMAINING_AVAIL_SLOTS);\
+      }									\
+									\
+    /* Push the info, starting with the registers.  */			\
+    DEBUG_PRINT1 ("\n");						\
+									\
+    for (this_reg = lowest_active_reg; this_reg <= highest_active_reg;	\
+         this_reg++)							\
+      {									\
+	DEBUG_PRINT2 ("  Pushing reg: %d\n", this_reg);			\
+        DEBUG_STATEMENT (num_regs_pushed++);				\
+									\
+	DEBUG_PRINT2 ("    start: 0x%x\n", regstart[this_reg]);		\
+        PUSH_FAILURE_ITEM (regstart[this_reg]);				\
+                                                                        \
+	DEBUG_PRINT2 ("    end: 0x%x\n", regend[this_reg]);		\
+        PUSH_FAILURE_ITEM (regend[this_reg]);				\
+									\
+	DEBUG_PRINT2 ("    info: 0x%x\n      ", reg_info[this_reg]);	\
+        DEBUG_PRINT2 (" match_null=%d",					\
+                      REG_MATCH_NULL_STRING_P (reg_info[this_reg]));	\
+        DEBUG_PRINT2 (" active=%d", IS_ACTIVE (reg_info[this_reg]));	\
+        DEBUG_PRINT2 (" matched_something=%d",				\
+                      MATCHED_SOMETHING (reg_info[this_reg]));		\
+        DEBUG_PRINT2 (" ever_matched=%d",				\
+                      EVER_MATCHED_SOMETHING (reg_info[this_reg]));	\
+	DEBUG_PRINT1 ("\n");						\
+        PUSH_FAILURE_ITEM (reg_info[this_reg].word);			\
+      }									\
+									\
+    DEBUG_PRINT2 ("  Pushing  low active reg: %d\n", lowest_active_reg);\
+    PUSH_FAILURE_ITEM (lowest_active_reg);				\
+									\
+    DEBUG_PRINT2 ("  Pushing high active reg: %d\n", highest_active_reg);\
+    PUSH_FAILURE_ITEM (highest_active_reg);				\
+									\
+    DEBUG_PRINT2 ("  Pushing pattern 0x%x: ", pattern_place);		\
+    DEBUG_PRINT_COMPILED_PATTERN (bufp, pattern_place, pend);		\
+    PUSH_FAILURE_ITEM (pattern_place);					\
+									\
+    DEBUG_PRINT2 ("  Pushing string 0x%x: `", string_place);		\
+    DEBUG_PRINT_DOUBLE_STRING (string_place, string1, size1, string2,   \
+				 size2);				\
+    DEBUG_PRINT1 ("'\n");						\
+    PUSH_FAILURE_ITEM (string_place);					\
+									\
+    DEBUG_PRINT2 ("  Pushing failure id: %u\n", failure_id);		\
+    DEBUG_PUSH (failure_id);						\
+  } while (0)
+
+/* This is the number of items that are pushed and popped on the stack
+   for each register.  */
+#define NUM_REG_ITEMS  3
+
+/* Individual items aside from the registers.  */
+#ifdef DEBUG
+#define NUM_NONREG_ITEMS 5 /* Includes failure point id.  */
+#else
+#define NUM_NONREG_ITEMS 4
+#endif
+
+/* We push at most this many items on the stack.  */
+#define MAX_FAILURE_ITEMS ((num_regs - 1) * NUM_REG_ITEMS + NUM_NONREG_ITEMS)
+
+/* We actually push this many items.  */
+#define NUM_FAILURE_ITEMS						\
+  ((highest_active_reg - lowest_active_reg + 1) * NUM_REG_ITEMS 	\
+    + NUM_NONREG_ITEMS)
+
+/* How many items can still be added to the stack without overflowing it.  */
+#define REMAINING_AVAIL_SLOTS ((fail_stack).size - (fail_stack).avail)
+
+
+/* Pops what PUSH_FAIL_STACK pushes.
+
+   We restore into the parameters, all of which should be lvalues:
+     STR -- the saved data position.
+     PAT -- the saved pattern position.
+     LOW_REG, HIGH_REG -- the highest and lowest active registers.
+     REGSTART, REGEND -- arrays of string positions.
+     REG_INFO -- array of information about each subexpression.
+   
+   Also assumes the variables `fail_stack' and (if debugging), `bufp',
+   `pend', `string1', `size1', `string2', and `size2'.  */
+
+#define POP_FAILURE_POINT(str, pat, low_reg, high_reg, regstart, regend, reg_info)\
+{									\
+  DEBUG_STATEMENT (fail_stack_elt_t failure_id;)			\
+  int this_reg;								\
+  const unsigned char *string_temp;					\
+									\
+  assert (!FAIL_STACK_EMPTY ());					\
+									\
+  /* Remove failure points and point to how many regs pushed.  */	\
+  DEBUG_PRINT1 ("POP_FAILURE_POINT:\n");				\
+  DEBUG_PRINT2 ("  Before pop, next avail: %d\n", fail_stack.avail);	\
+  DEBUG_PRINT2 ("                    size: %d\n", fail_stack.size);	\
+									\
+  assert (fail_stack.avail >= NUM_NONREG_ITEMS);			\
+									\
+  DEBUG_POP (&failure_id);						\
+  DEBUG_PRINT2 ("  Popping failure id: %u\n", failure_id);		\
+									\
+  /* If the saved string location is NULL, it came from an		\
+     on_failure_keep_string_jump opcode, and we want to throw away the	\
+     saved NULL, thus retaining our current position in the string.  */	\
+  string_temp = POP_FAILURE_ITEM ();					\
+  if (string_temp != NULL)						\
+    str = (const char *) string_temp;					\
+									\
+  DEBUG_PRINT2 ("  Popping string 0x%x: `", str);			\
+  DEBUG_PRINT_DOUBLE_STRING (str, string1, size1, string2, size2);	\
+  DEBUG_PRINT1 ("'\n");							\
+									\
+  pat = (unsigned char *) POP_FAILURE_ITEM ();				\
+  DEBUG_PRINT2 ("  Popping pattern 0x%x: ", pat);			\
+  DEBUG_PRINT_COMPILED_PATTERN (bufp, pat, pend);			\
+									\
+  /* Restore register info.  */						\
+  high_reg = (unsigned) POP_FAILURE_ITEM ();				\
+  DEBUG_PRINT2 ("  Popping high active reg: %d\n", high_reg);		\
+									\
+  low_reg = (unsigned) POP_FAILURE_ITEM ();				\
+  DEBUG_PRINT2 ("  Popping  low active reg: %d\n", low_reg);		\
+									\
+  for (this_reg = high_reg; this_reg >= low_reg; this_reg--)		\
+    {									\
+      DEBUG_PRINT2 ("    Popping reg: %d\n", this_reg);			\
+									\
+      reg_info[this_reg].word = POP_FAILURE_ITEM ();			\
+      DEBUG_PRINT2 ("      info: 0x%x\n", reg_info[this_reg]);		\
+									\
+      regend[this_reg] = (const char *) POP_FAILURE_ITEM ();		\
+      DEBUG_PRINT2 ("      end: 0x%x\n", regend[this_reg]);		\
+									\
+      regstart[this_reg] = (const char *) POP_FAILURE_ITEM ();		\
+      DEBUG_PRINT2 ("      start: 0x%x\n", regstart[this_reg]);		\
+    }									\
+									\
+  DEBUG_STATEMENT (nfailure_points_popped++);				\
+} /* POP_FAILURE_POINT */
+

+/* re_compile_fastmap computes a ``fastmap'' for the compiled pattern in
+   BUFP.  A fastmap records which of the (1 << BYTEWIDTH) possible
+   characters can start a string that matches the pattern.  This fastmap
+   is used by re_search to skip quickly over impossible starting points.
+
+   The caller must supply the address of a (1 << BYTEWIDTH)-byte data
+   area as BUFP->fastmap.
+   
+   We set the `fastmap', `fastmap_accurate', and `can_be_null' fields in
+   the pattern buffer.
+
+   Returns 0 if we succeed, -2 if an internal error.   */
+
+int
+re_compile_fastmap (bufp)
+     struct re_pattern_buffer *bufp;
+{
+  int j, k;
+  fail_stack_type fail_stack;
+#ifndef REGEX_MALLOC
+  char *destination;
+#endif
+  /* We don't push any register information onto the failure stack.  */
+  unsigned num_regs = 0;
+  
+  register char *fastmap = bufp->fastmap;
+  unsigned char *pattern = bufp->buffer;
+  unsigned long size = bufp->used;
+  const unsigned char *p = pattern;
+  register unsigned char *pend = pattern + size;
+
+  /* Assume that each path through the pattern can be null until
+     proven otherwise.  We set this false at the bottom of switch
+     statement, to which we get only if a particular path doesn't
+     match the empty string.  */
+  boolean path_can_be_null = true;
+
+  /* We aren't doing a `succeed_n' to begin with.  */
+  boolean succeed_n_p = false;
+
+  assert (fastmap != NULL && p != NULL);
+  
+  INIT_FAIL_STACK ();
+  bzero (fastmap, 1 << BYTEWIDTH);  /* Assume nothing's valid.  */
+  bufp->fastmap_accurate = 1;	    /* It will be when we're done.  */
+  bufp->can_be_null = 0;
+      
+  while (p != pend || !FAIL_STACK_EMPTY ())
+    {
+      if (p == pend)
+        {
+          bufp->can_be_null |= path_can_be_null;
+          
+          /* Reset for next path.  */
+          path_can_be_null = true;
+          
+          p = fail_stack.stack[--fail_stack.avail];
+	}
+
+      /* We should never be about to go beyond the end of the pattern.  */
+      assert (p < pend);
+      
+#ifdef SWITCH_ENUM_BUG
+      switch ((int) ((re_opcode_t) *p++))
+#else
+      switch ((re_opcode_t) *p++)
+#endif
+	{
+
+        /* I guess the idea here is to simply not bother with a fastmap
+           if a backreference is used, since it's too hard to figure out
+           the fastmap for the corresponding group.  Setting
+           `can_be_null' stops `re_search_2' from using the fastmap, so
+           that is all we do.  */
+	case duplicate:
+	  bufp->can_be_null = 1;
+          return 0;
+
+
+      /* Following are the cases which match a character.  These end
+         with `break'.  */
+
+	case exactn:
+          fastmap[p[1]] = 1;
+	  break;
+
+
+        case charset:
+          for (j = *p++ * BYTEWIDTH - 1; j >= 0; j--)
+	    if (p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH)))
+              fastmap[j] = 1;
+	  break;
+
+
+	case charset_not:
+	  /* Chars beyond end of map must be allowed.  */
+	  for (j = *p * BYTEWIDTH; j < (1 << BYTEWIDTH); j++)
+            fastmap[j] = 1;
+
+	  for (j = *p++ * BYTEWIDTH - 1; j >= 0; j--)
+	    if (!(p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH))))
+              fastmap[j] = 1;
+          break;
+
+
+	case wordchar:
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+	    if (SYNTAX (j) == Sword)
+	      fastmap[j] = 1;
+	  break;
+
+
+	case notwordchar:
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+	    if (SYNTAX (j) != Sword)
+	      fastmap[j] = 1;
+	  break;
+
+
+        case anychar:
+          /* `.' matches anything ...  */
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+            fastmap[j] = 1;
+
+          /* ... except perhaps newline.  */
+          if (!(bufp->syntax & RE_DOT_NEWLINE))
+            fastmap['\n'] = 0;
+
+          /* Return if we have already set `can_be_null'; if we have,
+             then the fastmap is irrelevant.  Something's wrong here.  */
+	  else if (bufp->can_be_null)
+	    return 0;
+
+          /* Otherwise, have to check alternative paths.  */
+	  break;
+
+
+#ifdef emacs
+        case syntaxspec:
+	  k = *p++;
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+	    if (SYNTAX (j) == (enum syntaxcode) k)
+	      fastmap[j] = 1;
+	  break;
+
+
+	case notsyntaxspec:
+	  k = *p++;
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+	    if (SYNTAX (j) != (enum syntaxcode) k)
+	      fastmap[j] = 1;
+	  break;
+
+
+      /* All cases after this match the empty string.  These end with
+         `continue'.  */
+
+
+	case before_dot:
+	case at_dot:
+	case after_dot:
+          continue;
+#endif /* not emacs */
+
+
+        case no_op:
+        case begline:
+        case endline:
+	case begbuf:
+	case endbuf:
+	case wordbound:
+	case notwordbound:
+	case wordbeg:
+	case wordend:
+        case push_dummy_failure:
+          continue;
+
+
+	case jump_n:
+        case pop_failure_jump:
+	case maybe_pop_jump:
+	case jump:
+        case jump_past_alt:
+	case dummy_failure_jump:
+          EXTRACT_NUMBER_AND_INCR (j, p);
+	  p += j;	
+	  if (j > 0)
+	    continue;
+            
+          /* Jump backward implies we just went through the body of a
+             loop and matched nothing.  Opcode jumped to should be
+             `on_failure_jump' or `succeed_n'.  Just treat it like an
+             ordinary jump.  For a * loop, it has pushed its failure
+             point already; if so, discard that as redundant.  */
+          if ((re_opcode_t) *p != on_failure_jump
+	      && (re_opcode_t) *p != succeed_n)
+	    continue;
+
+          p++;
+          EXTRACT_NUMBER_AND_INCR (j, p);
+          p += j;		
+	  
+          /* If what's on the stack is where we are now, pop it.  */
+          if (!FAIL_STACK_EMPTY () 
+	      && fail_stack.stack[fail_stack.avail - 1] == p)
+            fail_stack.avail--;
+
+          continue;
+
+
+        case on_failure_jump:
+        case on_failure_keep_string_jump:
+	handle_on_failure_jump:
+          EXTRACT_NUMBER_AND_INCR (j, p);
+
+          /* For some patterns, e.g., `(a?)?', `p+j' here points to the
+             end of the pattern.  We don't want to push such a point,
+             since when we restore it above, entering the switch will
+             increment `p' past the end of the pattern.  We don't need
+             to push such a point since we obviously won't find any more
+             fastmap entries beyond `pend'.  Such a pattern can match
+             the null string, though.  */
+          if (p + j < pend)
+            {
+              if (!PUSH_PATTERN_OP (p + j, fail_stack))
+                return -2;
+            }
+          else
+            bufp->can_be_null = 1;
+
+          if (succeed_n_p)
+            {
+              EXTRACT_NUMBER_AND_INCR (k, p);	/* Skip the n.  */
+              succeed_n_p = false;
+	    }
+
+          continue;
+
+
+	case succeed_n:
+          /* Get to the number of times to succeed.  */
+          p += 2;		
+
+          /* Increment p past the n for when k != 0.  */
+          EXTRACT_NUMBER_AND_INCR (k, p);
+          if (k == 0)
+	    {
+              p -= 4;
+  	      succeed_n_p = true;  /* Spaghetti code alert.  */
+              goto handle_on_failure_jump;
+            }
+          continue;
+
+
+	case set_number_at:
+          p += 4;
+          continue;
+
+
+	case start_memory:
+        case stop_memory:
+	  p += 2;
+	  continue;
+
+
+	default:
+          abort (); /* We have listed all the cases.  */
+        } /* switch *p++ */
+
+      /* Getting here means we have found the possible starting
+         characters for one path of the pattern -- and that the empty
+         string does not match.  We need not follow this path further.
+         Instead, look at the next alternative (remembered on the
+         stack), or quit if no more.  The test at the top of the loop
+         does these things.  */
+      path_can_be_null = false;
+      p = pend;
+    } /* while p */
+
+  /* Set `can_be_null' for the last path (also the first path, if the
+     pattern is empty).  */
+  bufp->can_be_null |= path_can_be_null;
+  return 0;
+} /* re_compile_fastmap */
+

+/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
+   ENDS.  Subsequent matches using PATTERN_BUFFER and REGS will use
+   this memory for recording register information.  STARTS and ENDS
+   must be allocated using the malloc library routine, and must each
+   be at least NUM_REGS * sizeof (regoff_t) bytes long.
+
+   If NUM_REGS == 0, then subsequent matches should allocate their own
+   register data.
+
+   Unless this function is called, the first search or match using
+   PATTERN_BUFFER will allocate its own register data, without
+   freeing the old data.  */
+
+void
+re_set_registers (bufp, regs, num_regs, starts, ends)
+    struct re_pattern_buffer *bufp;
+    struct re_registers *regs;
+    unsigned num_regs;
+    regoff_t *starts, *ends;
+{
+  if (num_regs)
+    {
+      bufp->regs_allocated = REGS_REALLOCATE;
+      regs->num_regs = num_regs;
+      regs->start = starts;
+      regs->end = ends;
+    }
+  else
+    {
+      bufp->regs_allocated = REGS_UNALLOCATED;
+      regs->num_regs = 0;
+      regs->start = regs->end = (regoff_t) 0;
+    }
+}
+

+/* Searching routines.  */
+
+/* Like re_search_2, below, but only one string is specified, and
+   doesn't let you say where to stop matching. */
+
+int
+re_search (bufp, string, size, startpos, range, regs)
+     struct re_pattern_buffer *bufp;
+     const char *string;
+     int size, startpos, range;
+     struct re_registers *regs;
+{
+  return re_search_2 (bufp, NULL, 0, string, size, startpos, range, 
+		      regs, size);
+}
+
+
+/* Using the compiled pattern in BUFP->buffer, first tries to match the
+   virtual concatenation of STRING1 and STRING2, starting first at index
+   STARTPOS, then at STARTPOS + 1, and so on.
+   
+   STRING1 and STRING2 have length SIZE1 and SIZE2, respectively.
+   
+   RANGE is how far to scan while trying to match.  RANGE = 0 means try
+   only at STARTPOS; in general, the last start tried is STARTPOS +
+   RANGE.
+   
+   In REGS, return the indices of the virtual concatenation of STRING1
+   and STRING2 that matched the entire BUFP->buffer and its contained
+   subexpressions.
+   
+   Do not consider matching one past the index STOP in the virtual
+   concatenation of STRING1 and STRING2.
+
+   We return either the position in the strings at which the match was
+   found, -1 if no match, or -2 if error (such as failure
+   stack overflow).  */
+
+int
+re_search_2 (bufp, string1, size1, string2, size2, startpos, range, regs, stop)
+     struct re_pattern_buffer *bufp;
+     const char *string1, *string2;
+     int size1, size2;
+     int startpos;
+     int range;
+     struct re_registers *regs;
+     int stop;
+{
+  int val;
+  register char *fastmap = bufp->fastmap;
+  register char *translate = bufp->translate;
+  int total_size = size1 + size2;
+  int endpos = startpos + range;
+
+  /* Check for out-of-range STARTPOS.  */
+  if (startpos < 0 || startpos > total_size)
+    return -1;
+    
+  /* Fix up RANGE if it might eventually take us outside
+     the virtual concatenation of STRING1 and STRING2.  */
+  if (endpos < -1)
+    range = -1 - startpos;
+  else if (endpos > total_size)
+    range = total_size - startpos;
+
+  /* If the search isn't to be a backwards one, don't waste time in a
+     search for a pattern that must be anchored.  */
+  if (bufp->used > 0 && (re_opcode_t) bufp->buffer[0] == begbuf && range > 0)
+    {
+      if (startpos > 0)
+	return -1;
+      else
+	range = 1;
+    }
+
+  /* Update the fastmap now if not correct already.  */
+  if (fastmap && !bufp->fastmap_accurate)
+    if (re_compile_fastmap (bufp) == -2)
+      return -2;
+  
+  /* Loop through the string, looking for a place to start matching.  */
+  for (;;)
+    { 
+      /* If a fastmap is supplied, skip quickly over characters that
+         cannot be the start of a match.  If the pattern can match the
+         null string, however, we don't need to skip characters; we want
+         the first null string.  */
+      if (fastmap && startpos < total_size && !bufp->can_be_null)
+	{
+	  if (range > 0)	/* Searching forwards.  */
+	    {
+	      register const char *d;
+	      register int lim = 0;
+	      int irange = range;
+
+              if (startpos < size1 && startpos + range >= size1)
+                lim = range - (size1 - startpos);
+
+	      d = (startpos >= size1 ? string2 - size1 : string1) + startpos;
+   
+              /* Written out as an if-else to avoid testing `translate'
+                 inside the loop.  */
+	      if (translate)
+                while (range > lim
+                       && !fastmap[(unsigned char)
+				   translate[(unsigned char) *d++]])
+                  range--;
+	      else
+                while (range > lim && !fastmap[(unsigned char) *d++])
+                  range--;
+
+	      startpos += irange - range;
+	    }
+	  else				/* Searching backwards.  */
+	    {
+	      register char c = (size1 == 0 || startpos >= size1
+                                 ? string2[startpos - size1] 
+                                 : string1[startpos]);
+
+	      if (!fastmap[(unsigned char) TRANSLATE (c)])
+		goto advance;
+	    }
+	}
+
+      /* If can't match the null string, and that's all we have left, fail.  */
+      if (range >= 0 && startpos == total_size && fastmap
+          && !bufp->can_be_null)
+	return -1;
+
+      val = re_match_2 (bufp, string1, size1, string2, size2,
+	                startpos, regs, stop);
+      if (val >= 0)
+	return startpos;
+        
+      if (val == -2)
+	return -2;
+
+    advance:
+      if (!range) 
+        break;
+      else if (range > 0) 
+        {
+          range--; 
+          startpos++;
+        }
+      else
+        {
+          range++; 
+          startpos--;
+        }
+    }
+  return -1;
+} /* re_search_2 */
+

+/* Declarations and macros for re_match_2.  */
+
+static int bcmp_translate ();
+static boolean alt_match_null_string_p (),
+               common_op_match_null_string_p (),
+               group_match_null_string_p ();
+
+/* Structure for per-register (a.k.a. per-group) information.
+   This must not be longer than one word, because we push this value
+   onto the failure stack.  Other register information, such as the
+   starting and ending positions (which are addresses), and the list of
+   inner groups (which is a bits list) are maintained in separate
+   variables.  
+   
+   We are making a (strictly speaking) nonportable assumption here: that
+   the compiler will pack our bit fields into something that fits into
+   the type of `word', i.e., is something that fits into one item on the
+   failure stack.  */
+typedef union
+{
+  fail_stack_elt_t word;
+  struct
+  {
+      /* This field is one if this group can match the empty string,
+         zero if not.  If not yet determined,  `MATCH_NULL_UNSET_VALUE'.  */
+#define MATCH_NULL_UNSET_VALUE 3
+    unsigned match_null_string_p : 2;
+    unsigned is_active : 1;
+    unsigned matched_something : 1;
+    unsigned ever_matched_something : 1;
+  } bits;
+} register_info_type;
+
+#define REG_MATCH_NULL_STRING_P(R)  ((R).bits.match_null_string_p)
+#define IS_ACTIVE(R)  ((R).bits.is_active)
+#define MATCHED_SOMETHING(R)  ((R).bits.matched_something)
+#define EVER_MATCHED_SOMETHING(R)  ((R).bits.ever_matched_something)
+
+
+/* Call this when have matched a real character; it sets `matched' flags
+   for the subexpressions which we are currently inside.  Also records
+   that those subexprs have matched.  */
+#define SET_REGS_MATCHED()						\
+  do									\
+    {									\
+      unsigned r;							\
+      for (r = lowest_active_reg; r <= highest_active_reg; r++)		\
+        {								\
+          MATCHED_SOMETHING (reg_info[r])				\
+            = EVER_MATCHED_SOMETHING (reg_info[r])			\
+            = 1;							\
+        }								\
+    }									\
+  while (0)
+
+
+/* This converts PTR, a pointer into one of the search strings `string1'
+   and `string2' into an offset from the beginning of that string.  */
+#define POINTER_TO_OFFSET(ptr)						\
+  (FIRST_STRING_P (ptr) ? (ptr) - string1 : (ptr) - string2 + size1)
+
+/* Registers are set to a sentinel when they haven't yet matched.  */
+#define REG_UNSET_VALUE ((char *) -1)
+#define REG_UNSET(e) ((e) == REG_UNSET_VALUE)
+
+
+/* Macros for dealing with the split strings in re_match_2.  */
+
+#define MATCHING_IN_FIRST_STRING  (dend == end_match_1)
+
+/* Call before fetching a character with *d.  This switches over to
+   string2 if necessary.  */
+#define PREFETCH()							\
+  while (d == dend)						    	\
+    {									\
+      /* End of string2 => fail.  */					\
+      if (dend == end_match_2) 						\
+        goto fail;							\
+      /* End of string1 => advance to string2.  */ 			\
+      d = string2;						        \
+      dend = end_match_2;						\
+    }
+
+
+/* Test if at very beginning or at very end of the virtual concatenation
+   of `string1' and `string2'.  If only one string, it's `string2'.  */
+#define AT_STRINGS_BEG(d) ((d) == (size1 ? string1 : string2) || !size2)
+#define AT_STRINGS_END(d) ((d) == end2)	
+
+
+/* Test if D points to a character which is word-constituent.  We have
+   two special cases to check for: if past the end of string1, look at
+   the first character in string2; and if before the beginning of
+   string2, look at the last character in string1.  */
+#define WORDCHAR_P(d)							\
+  (SYNTAX ((d) == end1 ? *string2					\
+           : (d) == string2 - 1 ? *(end1 - 1) : *(d))			\
+   == Sword)
+
+/* Test if the character before D and the one at D differ with respect
+   to being word-constituent.  */
+#define AT_WORD_BOUNDARY(d)						\
+  (AT_STRINGS_BEG (d) || AT_STRINGS_END (d)				\
+   || WORDCHAR_P (d - 1) != WORDCHAR_P (d))
+
+
+/* Free everything we malloc.  */
+#ifdef REGEX_MALLOC
+#define FREE_VAR(var) if (var) free (var); var = NULL
+#define FREE_VARIABLES()						\
+  do {									\
+    FREE_VAR (fail_stack.stack);					\
+    FREE_VAR (regstart);						\
+    FREE_VAR (regend);							\
+    FREE_VAR (old_regstart);						\
+    FREE_VAR (old_regend);						\
+    FREE_VAR (best_regstart);						\
+    FREE_VAR (best_regend);						\
+    FREE_VAR (reg_info);						\
+    FREE_VAR (reg_dummy);						\
+    FREE_VAR (reg_info_dummy);						\
+  } while (0)
+#else /* not REGEX_MALLOC */
+/* Some MIPS systems (at least) want this to free alloca'd storage.  */
+#define FREE_VARIABLES() alloca (0)
+#endif /* not REGEX_MALLOC */
+
+
+/* These values must meet several constraints.  They must not be valid
+   register values; since we have a limit of 255 registers (because
+   we use only one byte in the pattern for the register number), we can
+   use numbers larger than 255.  They must differ by 1, because of
+   NUM_FAILURE_ITEMS above.  And the value for the lowest register must
+   be larger than the value for the highest register, so we do not try
+   to actually save any registers when none are active.  */
+#define NO_HIGHEST_ACTIVE_REG (1 << BYTEWIDTH)
+#define NO_LOWEST_ACTIVE_REG (NO_HIGHEST_ACTIVE_REG + 1)
+

+/* Matching routines.  */
+
+#ifndef emacs   /* Emacs never uses this.  */
+/* re_match is like re_match_2 except it takes only a single string.  */
+
+int
+re_match (bufp, string, size, pos, regs)
+     struct re_pattern_buffer *bufp;
+     const char *string;
+     int size, pos;
+     struct re_registers *regs;
+ {
+  return re_match_2 (bufp, NULL, 0, string, size, pos, regs, size); 
+}
+#endif /* not emacs */
+
+
+/* re_match_2 matches the compiled pattern in BUFP against the
+   the (virtual) concatenation of STRING1 and STRING2 (of length SIZE1
+   and SIZE2, respectively).  We start matching at POS, and stop
+   matching at STOP.
+   
+   If REGS is non-null and the `no_sub' field of BUFP is nonzero, we
+   store offsets for the substring each group matched in REGS.  See the
+   documentation for exactly how many groups we fill.
+
+   We return -1 if no match, -2 if an internal error (such as the
+   failure stack overflowing).  Otherwise, we return the length of the
+   matched substring.  */
+
+int
+re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop)
+     struct re_pattern_buffer *bufp;
+     const char *string1, *string2;
+     int size1, size2;
+     int pos;
+     struct re_registers *regs;
+     int stop;
+{
+  /* General temporaries.  */
+  int mcnt;
+  unsigned char *p1;
+
+  /* Just past the end of the corresponding string.  */
+  const char *end1, *end2;
+
+  /* Pointers into string1 and string2, just past the last characters in
+     each to consider matching.  */
+  const char *end_match_1, *end_match_2;
+
+  /* Where we are in the data, and the end of the current string.  */
+  const char *d, *dend;
+  
+  /* Where we are in the pattern, and the end of the pattern.  */
+  unsigned char *p = bufp->buffer;
+  register unsigned char *pend = p + bufp->used;
+
+  /* We use this to map every character in the string.  */
+  char *translate = bufp->translate;
+
+  /* Failure point stack.  Each place that can handle a failure further
+     down the line pushes a failure point on this stack.  It consists of
+     restart, regend, and reg_info for all registers corresponding to
+     the subexpressions we're currently inside, plus the number of such
+     registers, and, finally, two char *'s.  The first char * is where
+     to resume scanning the pattern; the second one is where to resume
+     scanning the strings.  If the latter is zero, the failure point is
+     a ``dummy''; if a failure happens and the failure point is a dummy,
+     it gets discarded and the next next one is tried.  */
+  fail_stack_type fail_stack;
+#ifdef DEBUG
+  static unsigned failure_id = 0;
+  unsigned nfailure_points_pushed = 0, nfailure_points_popped = 0;
+#endif
+
+  /* We fill all the registers internally, independent of what we
+     return, for use in backreferences.  The number here includes
+     an element for register zero.  */
+  unsigned num_regs = bufp->re_nsub + 1;
+  
+  /* The currently active registers.  */
+  unsigned lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+  unsigned highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+
+  /* Information on the contents of registers. These are pointers into
+     the input strings; they record just what was matched (on this
+     attempt) by a subexpression part of the pattern, that is, the
+     regnum-th regstart pointer points to where in the pattern we began
+     matching and the regnum-th regend points to right after where we
+     stopped matching the regnum-th subexpression.  (The zeroth register
+     keeps track of what the whole pattern matches.)  */
+  const char **regstart, **regend;
+
+  /* If a group that's operated upon by a repetition operator fails to
+     match anything, then the register for its start will need to be
+     restored because it will have been set to wherever in the string we
+     are when we last see its open-group operator.  Similarly for a
+     register's end.  */
+  const char **old_regstart, **old_regend;
+
+  /* The is_active field of reg_info helps us keep track of which (possibly
+     nested) subexpressions we are currently in. The matched_something
+     field of reg_info[reg_num] helps us tell whether or not we have
+     matched any of the pattern so far this time through the reg_num-th
+     subexpression.  These two fields get reset each time through any
+     loop their register is in.  */
+  register_info_type *reg_info; 
+
+  /* The following record the register info as found in the above
+     variables when we find a match better than any we've seen before. 
+     This happens as we backtrack through the failure points, which in
+     turn happens only if we have not yet matched the entire string. */
+  unsigned best_regs_set = false;
+  const char **best_regstart, **best_regend;
+  
+  /* Logically, this is `best_regend[0]'.  But we don't want to have to
+     allocate space for that if we're not allocating space for anything
+     else (see below).  Also, we never need info about register 0 for
+     any of the other register vectors, and it seems rather a kludge to
+     treat `best_regend' differently than the rest.  So we keep track of
+     the end of the best match so far in a separate variable.  We
+     initialize this to NULL so that when we backtrack the first time
+     and need to test it, it's not garbage.  */
+  const char *match_end = NULL;
+
+  /* Used when we pop values we don't care about.  */
+  const char **reg_dummy;
+  register_info_type *reg_info_dummy;
+
+#ifdef DEBUG
+  /* Counts the total number of registers pushed.  */
+  unsigned num_regs_pushed = 0; 	
+#endif
+
+  DEBUG_PRINT1 ("\n\nEntering re_match_2.\n");
+  
+  INIT_FAIL_STACK ();
+  
+  /* Do not bother to initialize all the register variables if there are
+     no groups in the pattern, as it takes a fair amount of time.  If
+     there are groups, we include space for register 0 (the whole
+     pattern), even though we never use it, since it simplifies the
+     array indexing.  We should fix this.  */
+  if (bufp->re_nsub)
+    {
+      regstart = REGEX_TALLOC (num_regs, const char *);
+      regend = REGEX_TALLOC (num_regs, const char *);
+      old_regstart = REGEX_TALLOC (num_regs, const char *);
+      old_regend = REGEX_TALLOC (num_regs, const char *);
+      best_regstart = REGEX_TALLOC (num_regs, const char *);
+      best_regend = REGEX_TALLOC (num_regs, const char *);
+      reg_info = REGEX_TALLOC (num_regs, register_info_type);
+      reg_dummy = REGEX_TALLOC (num_regs, const char *);
+      reg_info_dummy = REGEX_TALLOC (num_regs, register_info_type);
+
+      if (!(regstart && regend && old_regstart && old_regend && reg_info 
+            && best_regstart && best_regend && reg_dummy && reg_info_dummy)) 
+        {
+          FREE_VARIABLES ();
+          return -2;
+        }
+    }
+#ifdef REGEX_MALLOC
+  else
+    {
+      /* We must initialize all our variables to NULL, so that
+         `FREE_VARIABLES' doesn't try to free them.  */
+      regstart = regend = old_regstart = old_regend = best_regstart
+        = best_regend = reg_dummy = NULL;
+      reg_info = reg_info_dummy = (register_info_type *) NULL;
+    }
+#endif /* REGEX_MALLOC */
+
+  /* The starting position is bogus.  */
+  if (pos < 0 || pos > size1 + size2)
+    {
+      FREE_VARIABLES ();
+      return -1;
+    }
+    
+  /* Initialize subexpression text positions to -1 to mark ones that no
+     start_memory/stop_memory has been seen for. Also initialize the
+     register information struct.  */
+  for (mcnt = 1; mcnt < num_regs; mcnt++)
+    {
+      regstart[mcnt] = regend[mcnt] 
+        = old_regstart[mcnt] = old_regend[mcnt] = REG_UNSET_VALUE;
+        
+      REG_MATCH_NULL_STRING_P (reg_info[mcnt]) = MATCH_NULL_UNSET_VALUE;
+      IS_ACTIVE (reg_info[mcnt]) = 0;
+      MATCHED_SOMETHING (reg_info[mcnt]) = 0;
+      EVER_MATCHED_SOMETHING (reg_info[mcnt]) = 0;
+    }
+  
+  /* We move `string1' into `string2' if the latter's empty -- but not if
+     `string1' is null.  */
+  if (size2 == 0 && string1 != NULL)
+    {
+      string2 = string1;
+      size2 = size1;
+      string1 = 0;
+      size1 = 0;
+    }
+  end1 = string1 + size1;
+  end2 = string2 + size2;
+
+  /* Compute where to stop matching, within the two strings.  */
+  if (stop <= size1)
+    {
+      end_match_1 = string1 + stop;
+      end_match_2 = string2;
+    }
+  else
+    {
+      end_match_1 = end1;
+      end_match_2 = string2 + stop - size1;
+    }
+
+  /* `p' scans through the pattern as `d' scans through the data. 
+     `dend' is the end of the input string that `d' points within.  `d'
+     is advanced into the following input string whenever necessary, but
+     this happens before fetching; therefore, at the beginning of the
+     loop, `d' can be pointing at the end of a string, but it cannot
+     equal `string2'.  */
+  if (size1 > 0 && pos <= size1)
+    {
+      d = string1 + pos;
+      dend = end_match_1;
+    }
+  else
+    {
+      d = string2 + pos - size1;
+      dend = end_match_2;
+    }
+
+  DEBUG_PRINT1 ("The compiled pattern is: ");
+  DEBUG_PRINT_COMPILED_PATTERN (bufp, p, pend);
+  DEBUG_PRINT1 ("The string to match is: `");
+  DEBUG_PRINT_DOUBLE_STRING (d, string1, size1, string2, size2);
+  DEBUG_PRINT1 ("'\n");
+  
+  /* This loops over pattern commands.  It exits by returning from the
+     function if the match is complete, or it drops through if the match
+     fails at this starting point in the input data.  */
+  for (;;)
+    {
+      DEBUG_PRINT2 ("\n0x%x: ", p);
+
+      if (p == pend)
+	{ /* End of pattern means we might have succeeded.  */
+          DEBUG_PRINT1 ("end of pattern ... ");
+          
+	  /* If we haven't matched the entire string, and we want the
+             longest match, try backtracking.  */
+          if (d != end_match_2)
+	    {
+              DEBUG_PRINT1 ("backtracking.\n");
+              
+              if (!FAIL_STACK_EMPTY ())
+                { /* More failure points to try.  */
+                  boolean same_str_p = (FIRST_STRING_P (match_end) 
+	        	                == MATCHING_IN_FIRST_STRING);
+
+                  /* If exceeds best match so far, save it.  */
+                  if (!best_regs_set
+                      || (same_str_p && d > match_end)
+                      || (!same_str_p && !MATCHING_IN_FIRST_STRING))
+                    {
+                      best_regs_set = true;
+                      match_end = d;
+                      
+                      DEBUG_PRINT1 ("\nSAVING match as best so far.\n");
+                      
+                      for (mcnt = 1; mcnt < num_regs; mcnt++)
+                        {
+                          best_regstart[mcnt] = regstart[mcnt];
+                          best_regend[mcnt] = regend[mcnt];
+                        }
+                    }
+                  goto fail;	       
+                }
+
+              /* If no failure points, don't restore garbage.  */
+              else if (best_regs_set)   
+                {
+  	        restore_best_regs:
+                  /* Restore best match.  It may happen that `dend ==
+                     end_match_1' while the restored d is in string2.
+                     For example, the pattern `x.*y.*z' against the
+                     strings `x-' and `y-z-', if the two strings are
+                     not consecutive in memory.  */
+                  DEBUG_PRINT1 ("Restoring best registers.\n");
+                  
+                  d = match_end;
+                  dend = ((d >= string1 && d <= end1)
+		           ? end_match_1 : end_match_2);
+
+		  for (mcnt = 1; mcnt < num_regs; mcnt++)
+		    {
+		      regstart[mcnt] = best_regstart[mcnt];
+		      regend[mcnt] = best_regend[mcnt];
+		    }
+                }
+            } /* d != end_match_2 */
+
+          DEBUG_PRINT1 ("Accepting match.\n");
+
+          /* If caller wants register contents data back, do it.  */
+          if (regs && !bufp->no_sub)
+	    {
+              /* Have the register data arrays been allocated?  */
+              if (bufp->regs_allocated == REGS_UNALLOCATED)
+                { /* No.  So allocate them with malloc.  We need one
+                     extra element beyond `num_regs' for the `-1' marker
+                     GNU code uses.  */
+                  regs->num_regs = MAX (RE_NREGS, num_regs + 1);
+                  regs->start = TALLOC (regs->num_regs, regoff_t);
+                  regs->end = TALLOC (regs->num_regs, regoff_t);
+                  if (regs->start == NULL || regs->end == NULL)
+                    return -2;
+                  bufp->regs_allocated = REGS_REALLOCATE;
+                }
+              else if (bufp->regs_allocated == REGS_REALLOCATE)
+                { /* Yes.  If we need more elements than were already
+                     allocated, reallocate them.  If we need fewer, just
+                     leave it alone.  */
+                  if (regs->num_regs < num_regs + 1)
+                    {
+                      regs->num_regs = num_regs + 1;
+                      RETALLOC (regs->start, regs->num_regs, regoff_t);
+                      RETALLOC (regs->end, regs->num_regs, regoff_t);
+                      if (regs->start == NULL || regs->end == NULL)
+                        return -2;
+                    }
+                }
+              else
+                assert (bufp->regs_allocated == REGS_FIXED);
+
+              /* Convert the pointer data in `regstart' and `regend' to
+                 indices.  Register zero has to be set differently,
+                 since we haven't kept track of any info for it.  */
+              if (regs->num_regs > 0)
+                {
+                  regs->start[0] = pos;
+                  regs->end[0] = (MATCHING_IN_FIRST_STRING ? d - string1
+			          : d - string2 + size1);
+                }
+              
+              /* Go through the first `min (num_regs, regs->num_regs)'
+                 registers, since that is all we initialized.  */
+	      for (mcnt = 1; mcnt < MIN (num_regs, regs->num_regs); mcnt++)
+		{
+                  if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mcnt]))
+                    regs->start[mcnt] = regs->end[mcnt] = -1;
+                  else
+                    {
+		      regs->start[mcnt] = POINTER_TO_OFFSET (regstart[mcnt]);
+                      regs->end[mcnt] = POINTER_TO_OFFSET (regend[mcnt]);
+                    }
+		}
+              
+              /* If the regs structure we return has more elements than
+                 were in the pattern, set the extra elements to -1.  If
+                 we (re)allocated the registers, this is the case,
+                 because we always allocate enough to have at least one
+                 -1 at the end.  */
+              for (mcnt = num_regs; mcnt < regs->num_regs; mcnt++)
+                regs->start[mcnt] = regs->end[mcnt] = -1;
+	    } /* regs && !bufp->no_sub */
+
+          FREE_VARIABLES ();
+          DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n",
+                        nfailure_points_pushed, nfailure_points_popped,
+                        nfailure_points_pushed - nfailure_points_popped);
+          DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed);
+
+          mcnt = d - pos - (MATCHING_IN_FIRST_STRING 
+			    ? string1 
+			    : string2 - size1);
+
+          DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt);
+
+          return mcnt;
+        }
+
+      /* Otherwise match next pattern command.  */
+#ifdef SWITCH_ENUM_BUG
+      switch ((int) ((re_opcode_t) *p++))
+#else
+      switch ((re_opcode_t) *p++)
+#endif
+	{
+        /* Ignore these.  Used to ignore the n of succeed_n's which
+           currently have n == 0.  */
+        case no_op:
+          DEBUG_PRINT1 ("EXECUTING no_op.\n");
+          break;
+
+
+        /* Match the next n pattern characters exactly.  The following
+           byte in the pattern defines n, and the n bytes after that
+           are the characters to match.  */
+	case exactn:
+	  mcnt = *p++;
+          DEBUG_PRINT2 ("EXECUTING exactn %d.\n", mcnt);
+
+          /* This is written out as an if-else so we don't waste time
+             testing `translate' inside the loop.  */
+          if (translate)
+	    {
+	      do
+		{
+		  PREFETCH ();
+		  if (translate[(unsigned char) *d++] != (char) *p++)
+                    goto fail;
+		}
+	      while (--mcnt);
+	    }
+	  else
+	    {
+	      do
+		{
+		  PREFETCH ();
+		  if (*d++ != (char) *p++) goto fail;
+		}
+	      while (--mcnt);
+	    }
+	  SET_REGS_MATCHED ();
+          break;
+
+
+        /* Match any character except possibly a newline or a null.  */
+	case anychar:
+          DEBUG_PRINT1 ("EXECUTING anychar.\n");
+
+          PREFETCH ();
+
+          if ((!(bufp->syntax & RE_DOT_NEWLINE) && TRANSLATE (*d) == '\n')
+              || (bufp->syntax & RE_DOT_NOT_NULL && TRANSLATE (*d) == '\000'))
+	    goto fail;
+
+          SET_REGS_MATCHED ();
+          DEBUG_PRINT2 ("  Matched `%d'.\n", *d);
+          d++;
+	  break;
+
+
+	case charset:
+	case charset_not:
+	  {
+	    register unsigned char c;
+	    boolean not = (re_opcode_t) *(p - 1) == charset_not;
+
+            DEBUG_PRINT2 ("EXECUTING charset%s.\n", not ? "_not" : "");
+
+	    PREFETCH ();
+	    c = TRANSLATE (*d); /* The character to match.  */
+
+            /* Cast to `unsigned' instead of `unsigned char' in case the
+               bit list is a full 32 bytes long.  */
+	    if (c < (unsigned) (*p * BYTEWIDTH)
+		&& p[1 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
+	      not = !not;
+
+	    p += 1 + *p;
+
+	    if (!not) goto fail;
+            
+	    SET_REGS_MATCHED ();
+            d++;
+	    break;
+	  }
+
+
+        /* The beginning of a group is represented by start_memory.
+           The arguments are the register number in the next byte, and the
+           number of groups inner to this one in the next.  The text
+           matched within the group is recorded (in the internal
+           registers data structure) under the register number.  */
+        case start_memory:
+	  DEBUG_PRINT3 ("EXECUTING start_memory %d (%d):\n", *p, p[1]);
+
+          /* Find out if this group can match the empty string.  */
+	  p1 = p;		/* To send to group_match_null_string_p.  */
+          
+          if (REG_MATCH_NULL_STRING_P (reg_info[*p]) == MATCH_NULL_UNSET_VALUE)
+            REG_MATCH_NULL_STRING_P (reg_info[*p]) 
+              = group_match_null_string_p (&p1, pend, reg_info);
+
+          /* Save the position in the string where we were the last time
+             we were at this open-group operator in case the group is
+             operated upon by a repetition operator, e.g., with `(a*)*b'
+             against `ab'; then we want to ignore where we are now in
+             the string in case this attempt to match fails.  */
+          old_regstart[*p] = REG_MATCH_NULL_STRING_P (reg_info[*p])
+                             ? REG_UNSET (regstart[*p]) ? d : regstart[*p]
+                             : regstart[*p];
+	  DEBUG_PRINT2 ("  old_regstart: %d\n", 
+			 POINTER_TO_OFFSET (old_regstart[*p]));
+
+          regstart[*p] = d;
+	  DEBUG_PRINT2 ("  regstart: %d\n", POINTER_TO_OFFSET (regstart[*p]));
+
+          IS_ACTIVE (reg_info[*p]) = 1;
+          MATCHED_SOMETHING (reg_info[*p]) = 0;
+          
+          /* This is the new highest active register.  */
+          highest_active_reg = *p;
+          
+          /* If nothing was active before, this is the new lowest active
+             register.  */
+          if (lowest_active_reg == NO_LOWEST_ACTIVE_REG)
+            lowest_active_reg = *p;
+
+          /* Move past the register number and inner group count.  */
+          p += 2;
+          break;
+
+
+        /* The stop_memory opcode represents the end of a group.  Its
+           arguments are the same as start_memory's: the register
+           number, and the number of inner groups.  */
+	case stop_memory:
+	  DEBUG_PRINT3 ("EXECUTING stop_memory %d (%d):\n", *p, p[1]);
+             
+          /* We need to save the string position the last time we were at
+             this close-group operator in case the group is operated
+             upon by a repetition operator, e.g., with `((a*)*(b*)*)*'
+             against `aba'; then we want to ignore where we are now in
+             the string in case this attempt to match fails.  */
+          old_regend[*p] = REG_MATCH_NULL_STRING_P (reg_info[*p])
+                           ? REG_UNSET (regend[*p]) ? d : regend[*p]
+			   : regend[*p];
+	  DEBUG_PRINT2 ("      old_regend: %d\n", 
+			 POINTER_TO_OFFSET (old_regend[*p]));
+
+          regend[*p] = d;
+	  DEBUG_PRINT2 ("      regend: %d\n", POINTER_TO_OFFSET (regend[*p]));
+
+          /* This register isn't active anymore.  */
+          IS_ACTIVE (reg_info[*p]) = 0;
+          
+          /* If this was the only register active, nothing is active
+             anymore.  */
+          if (lowest_active_reg == highest_active_reg)
+            {
+              lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+              highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+            }
+          else
+            { /* We must scan for the new highest active register, since
+                 it isn't necessarily one less than now: consider
+                 (a(b)c(d(e)f)g).  When group 3 ends, after the f), the
+                 new highest active register is 1.  */
+              unsigned char r = *p - 1;
+              while (r > 0 && !IS_ACTIVE (reg_info[r]))
+                r--;
+              
+              /* If we end up at register zero, that means that we saved
+                 the registers as the result of an `on_failure_jump', not
+                 a `start_memory', and we jumped to past the innermost
+                 `stop_memory'.  For example, in ((.)*) we save
+                 registers 1 and 2 as a result of the *, but when we pop
+                 back to the second ), we are at the stop_memory 1.
+                 Thus, nothing is active.  */
+	      if (r == 0)
+                {
+                  lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+                  highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+                }
+              else
+                highest_active_reg = r;
+            }
+          
+          /* If just failed to match something this time around with a
+             group that's operated on by a repetition operator, try to
+             force exit from the ``loop'', and restore the register
+             information for this group that we had before trying this
+             last match.  */
+          if ((!MATCHED_SOMETHING (reg_info[*p])
+               || (re_opcode_t) p[-3] == start_memory)
+	      && (p + 2) < pend)              
+            {
+              boolean is_a_jump_n = false;
+              
+              p1 = p + 2;
+              mcnt = 0;
+              switch ((re_opcode_t) *p1++)
+                {
+                  case jump_n:
+		    is_a_jump_n = true;
+                  case pop_failure_jump:
+		  case maybe_pop_jump:
+		  case jump:
+		  case dummy_failure_jump:
+                    EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+		    if (is_a_jump_n)
+		      p1 += 2;
+                    break;
+                  
+                  default:
+                    /* do nothing */ ;
+                }
+	      p1 += mcnt;
+        
+              /* If the next operation is a jump backwards in the pattern
+	         to an on_failure_jump right before the start_memory
+                 corresponding to this stop_memory, exit from the loop
+                 by forcing a failure after pushing on the stack the
+                 on_failure_jump's jump in the pattern, and d.  */
+              if (mcnt < 0 && (re_opcode_t) *p1 == on_failure_jump
+                  && (re_opcode_t) p1[3] == start_memory && p1[4] == *p)
+		{
+                  /* If this group ever matched anything, then restore
+                     what its registers were before trying this last
+                     failed match, e.g., with `(a*)*b' against `ab' for
+                     regstart[1], and, e.g., with `((a*)*(b*)*)*'
+                     against `aba' for regend[3].
+                     
+                     Also restore the registers for inner groups for,
+                     e.g., `((a*)(b*))*' against `aba' (register 3 would
+                     otherwise get trashed).  */
+                     
+                  if (EVER_MATCHED_SOMETHING (reg_info[*p]))
+		    {
+		      unsigned r; 
+        
+                      EVER_MATCHED_SOMETHING (reg_info[*p]) = 0;
+                      
+		      /* Restore this and inner groups' (if any) registers.  */
+                      for (r = *p; r < *p + *(p + 1); r++)
+                        {
+                          regstart[r] = old_regstart[r];
+
+                          /* xx why this test?  */
+                          if ((int) old_regend[r] >= (int) regstart[r])
+                            regend[r] = old_regend[r];
+                        }     
+                    }
+		  p1++;
+                  EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+                  PUSH_FAILURE_POINT (p1 + mcnt, d, -2);
+
+                  goto fail;
+                }
+            }
+          
+          /* Move past the register number and the inner group count.  */
+          p += 2;
+          break;
+
+
+	/* \<digit> has been turned into a `duplicate' command which is
+           followed by the numeric value of <digit> as the register number.  */
+        case duplicate:
+	  {
+	    register const char *d2, *dend2;
+	    int regno = *p++;   /* Get which register to match against.  */
+	    DEBUG_PRINT2 ("EXECUTING duplicate %d.\n", regno);
+
+	    /* Can't back reference a group which we've never matched.  */
+            if (REG_UNSET (regstart[regno]) || REG_UNSET (regend[regno]))
+              goto fail;
+              
+            /* Where in input to try to start matching.  */
+            d2 = regstart[regno];
+            
+            /* Where to stop matching; if both the place to start and
+               the place to stop matching are in the same string, then
+               set to the place to stop, otherwise, for now have to use
+               the end of the first string.  */
+
+            dend2 = ((FIRST_STRING_P (regstart[regno]) 
+		      == FIRST_STRING_P (regend[regno]))
+		     ? regend[regno] : end_match_1);
+	    for (;;)
+	      {
+		/* If necessary, advance to next segment in register
+                   contents.  */
+		while (d2 == dend2)
+		  {
+		    if (dend2 == end_match_2) break;
+		    if (dend2 == regend[regno]) break;
+
+                    /* End of string1 => advance to string2. */
+                    d2 = string2;
+                    dend2 = regend[regno];
+		  }
+		/* At end of register contents => success */
+		if (d2 == dend2) break;
+
+		/* If necessary, advance to next segment in data.  */
+		PREFETCH ();
+
+		/* How many characters left in this segment to match.  */
+		mcnt = dend - d;
+                
+		/* Want how many consecutive characters we can match in
+                   one shot, so, if necessary, adjust the count.  */
+                if (mcnt > dend2 - d2)
+		  mcnt = dend2 - d2;
+                  
+		/* Compare that many; failure if mismatch, else move
+                   past them.  */
+		if (translate 
+                    ? bcmp_translate (d, d2, mcnt, translate) 
+                    : bcmp (d, d2, mcnt))
+		  goto fail;
+		d += mcnt, d2 += mcnt;
+	      }
+	  }
+	  break;
+
+
+        /* begline matches the empty string at the beginning of the string
+           (unless `not_bol' is set in `bufp'), and, if
+           `newline_anchor' is set, after newlines.  */
+	case begline:
+          DEBUG_PRINT1 ("EXECUTING begline.\n");
+          
+          if (AT_STRINGS_BEG (d))
+            {
+              if (!bufp->not_bol) break;
+            }
+          else if (d[-1] == '\n' && bufp->newline_anchor)
+            {
+              break;
+            }
+          /* In all other cases, we fail.  */
+          goto fail;
+
+
+        /* endline is the dual of begline.  */
+	case endline:
+          DEBUG_PRINT1 ("EXECUTING endline.\n");
+
+          if (AT_STRINGS_END (d))
+            {
+              if (!bufp->not_eol) break;
+            }
+          
+          /* We have to ``prefetch'' the next character.  */
+          else if ((d == end1 ? *string2 : *d) == '\n'
+                   && bufp->newline_anchor)
+            {
+              break;
+            }
+          goto fail;
+
+
+	/* Match at the very beginning of the data.  */
+        case begbuf:
+          DEBUG_PRINT1 ("EXECUTING begbuf.\n");
+          if (AT_STRINGS_BEG (d))
+            break;
+          goto fail;
+
+
+	/* Match at the very end of the data.  */
+        case endbuf:
+          DEBUG_PRINT1 ("EXECUTING endbuf.\n");
+	  if (AT_STRINGS_END (d))
+	    break;
+          goto fail;
+
+
+        /* on_failure_keep_string_jump is used to optimize `.*\n'.  It
+           pushes NULL as the value for the string on the stack.  Then
+           `pop_failure_point' will keep the current value for the
+           string, instead of restoring it.  To see why, consider
+           matching `foo\nbar' against `.*\n'.  The .* matches the foo;
+           then the . fails against the \n.  But the next thing we want
+           to do is match the \n against the \n; if we restored the
+           string value, we would be back at the foo.
+           
+           Because this is used only in specific cases, we don't need to
+           check all the things that `on_failure_jump' does, to make
+           sure the right things get saved on the stack.  Hence we don't
+           share its code.  The only reason to push anything on the
+           stack at all is that otherwise we would have to change
+           `anychar's code to do something besides goto fail in this
+           case; that seems worse than this.  */
+        case on_failure_keep_string_jump:
+          DEBUG_PRINT1 ("EXECUTING on_failure_keep_string_jump");
+          
+          EXTRACT_NUMBER_AND_INCR (mcnt, p);
+          DEBUG_PRINT3 (" %d (to 0x%x):\n", mcnt, p + mcnt);
+
+          PUSH_FAILURE_POINT (p + mcnt, NULL, -2);
+          break;
+
+
+	/* Uses of on_failure_jump:
+        
+           Each alternative starts with an on_failure_jump that points
+           to the beginning of the next alternative.  Each alternative
+           except the last ends with a jump that in effect jumps past
+           the rest of the alternatives.  (They really jump to the
+           ending jump of the following alternative, because tensioning
+           these jumps is a hassle.)
+
+           Repeats start with an on_failure_jump that points past both
+           the repetition text and either the following jump or
+           pop_failure_jump back to this on_failure_jump.  */
+	case on_failure_jump:
+        on_failure:
+          DEBUG_PRINT1 ("EXECUTING on_failure_jump");
+
+          EXTRACT_NUMBER_AND_INCR (mcnt, p);
+          DEBUG_PRINT3 (" %d (to 0x%x)", mcnt, p + mcnt);
+
+          /* If this on_failure_jump comes right before a group (i.e.,
+             the original * applied to a group), save the information
+             for that group and all inner ones, so that if we fail back
+             to this point, the group's information will be correct.
+             For example, in \(a*\)*\1, we need the preceding group,
+             and in \(\(a*\)b*\)\2, we need the inner group.  */
+
+          /* We can't use `p' to check ahead because we push
+             a failure point to `p + mcnt' after we do this.  */
+          p1 = p;
+
+          /* We need to skip no_op's before we look for the
+             start_memory in case this on_failure_jump is happening as
+             the result of a completed succeed_n, as in \(a\)\{1,3\}b\1
+             against aba.  */
+          while (p1 < pend && (re_opcode_t) *p1 == no_op)
+            p1++;
+
+          if (p1 < pend && (re_opcode_t) *p1 == start_memory)
+            {
+              /* We have a new highest active register now.  This will
+                 get reset at the start_memory we are about to get to,
+                 but we will have saved all the registers relevant to
+                 this repetition op, as described above.  */
+              highest_active_reg = *(p1 + 1) + *(p1 + 2);
+              if (lowest_active_reg == NO_LOWEST_ACTIVE_REG)
+                lowest_active_reg = *(p1 + 1);
+            }
+
+          DEBUG_PRINT1 (":\n");
+          PUSH_FAILURE_POINT (p + mcnt, d, -2);
+          break;
+
+
+        /* A smart repeat ends with `maybe_pop_jump'.
+	   We change it to either `pop_failure_jump' or `jump'.  */
+        case maybe_pop_jump:
+          EXTRACT_NUMBER_AND_INCR (mcnt, p);
+          DEBUG_PRINT2 ("EXECUTING maybe_pop_jump %d.\n", mcnt);
+          {
+	    register unsigned char *p2 = p;
+
+            /* Compare the beginning of the repeat with what in the
+               pattern follows its end. If we can establish that there
+               is nothing that they would both match, i.e., that we
+               would have to backtrack because of (as in, e.g., `a*a')
+               then we can change to pop_failure_jump, because we'll
+               never have to backtrack.
+               
+               This is not true in the case of alternatives: in
+               `(a|ab)*' we do need to backtrack to the `ab' alternative
+               (e.g., if the string was `ab').  But instead of trying to
+               detect that here, the alternative has put on a dummy
+               failure point which is what we will end up popping.  */
+
+	    /* Skip over open/close-group commands.  */
+	    while (p2 + 2 < pend
+		   && ((re_opcode_t) *p2 == stop_memory
+		       || (re_opcode_t) *p2 == start_memory))
+	      p2 += 3;			/* Skip over args, too.  */
+
+            /* If we're at the end of the pattern, we can change.  */
+            if (p2 == pend)
+	      {
+		/* Consider what happens when matching ":\(.*\)"
+		   against ":/".  I don't really understand this code
+		   yet.  */
+  	        p[-3] = (unsigned char) pop_failure_jump;
+                DEBUG_PRINT1
+                  ("  End of pattern: change to `pop_failure_jump'.\n");
+              }
+
+            else if ((re_opcode_t) *p2 == exactn
+		     || (bufp->newline_anchor && (re_opcode_t) *p2 == endline))
+	      {
+		register unsigned char c
+                  = *p2 == (unsigned char) endline ? '\n' : p2[2];
+		p1 = p + mcnt;
+
+                /* p1[0] ... p1[2] are the `on_failure_jump' corresponding
+                   to the `maybe_finalize_jump' of this case.  Examine what 
+                   follows.  */
+                if ((re_opcode_t) p1[3] == exactn && p1[5] != c)
+                  {
+  		    p[-3] = (unsigned char) pop_failure_jump;
+                    DEBUG_PRINT3 ("  %c != %c => pop_failure_jump.\n",
+                                  c, p1[5]);
+                  }
+                  
+		else if ((re_opcode_t) p1[3] == charset
+			 || (re_opcode_t) p1[3] == charset_not)
+		  {
+		    int not = (re_opcode_t) p1[3] == charset_not;
+                    
+		    if (c < (unsigned char) (p1[4] * BYTEWIDTH)
+			&& p1[5 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
+		      not = !not;
+
+                    /* `not' is equal to 1 if c would match, which means
+                        that we can't change to pop_failure_jump.  */
+		    if (!not)
+                      {
+  		        p[-3] = (unsigned char) pop_failure_jump;
+                        DEBUG_PRINT1 ("  No match => pop_failure_jump.\n");
+                      }
+		  }
+	      }
+	  }
+	  p -= 2;		/* Point at relative address again.  */
+	  if ((re_opcode_t) p[-1] != pop_failure_jump)
+	    {
+	      p[-1] = (unsigned char) jump;
+              DEBUG_PRINT1 ("  Match => jump.\n");
+	      goto unconditional_jump;
+	    }
+        /* Note fall through.  */
+
+
+	/* The end of a simple repeat has a pop_failure_jump back to
+           its matching on_failure_jump, where the latter will push a
+           failure point.  The pop_failure_jump takes off failure
+           points put on by this pop_failure_jump's matching
+           on_failure_jump; we got through the pattern to here from the
+           matching on_failure_jump, so didn't fail.  */
+        case pop_failure_jump:
+          {
+            /* We need to pass separate storage for the lowest and
+               highest registers, even though we don't care about the
+               actual values.  Otherwise, we will restore only one
+               register from the stack, since lowest will == highest in
+               `pop_failure_point'.  */
+            unsigned dummy_low_reg, dummy_high_reg;
+            unsigned char *pdummy;
+            const char *sdummy;
+
+            DEBUG_PRINT1 ("EXECUTING pop_failure_jump.\n");
+            POP_FAILURE_POINT (sdummy, pdummy,
+                               dummy_low_reg, dummy_high_reg,
+                               reg_dummy, reg_dummy, reg_info_dummy);
+          }
+          /* Note fall through.  */
+
+          
+        /* Unconditionally jump (without popping any failure points).  */
+        case jump:
+	unconditional_jump:
+	  EXTRACT_NUMBER_AND_INCR (mcnt, p);	/* Get the amount to jump.  */
+          DEBUG_PRINT2 ("EXECUTING jump %d ", mcnt);
+	  p += mcnt;				/* Do the jump.  */
+          DEBUG_PRINT2 ("(to 0x%x).\n", p);
+	  break;
+
+	
+        /* We need this opcode so we can detect where alternatives end
+           in `group_match_null_string_p' et al.  */
+        case jump_past_alt:
+          DEBUG_PRINT1 ("EXECUTING jump_past_alt.\n");
+          goto unconditional_jump;
+
+
+        /* Normally, the on_failure_jump pushes a failure point, which
+           then gets popped at pop_failure_jump.  We will end up at
+           pop_failure_jump, also, and with a pattern of, say, `a+', we
+           are skipping over the on_failure_jump, so we have to push
+           something meaningless for pop_failure_jump to pop.  */
+        case dummy_failure_jump:
+          DEBUG_PRINT1 ("EXECUTING dummy_failure_jump.\n");
+          /* It doesn't matter what we push for the string here.  What
+             the code at `fail' tests is the value for the pattern.  */
+          PUSH_FAILURE_POINT (0, 0, -2);
+          goto unconditional_jump;
+
+
+        /* At the end of an alternative, we need to push a dummy failure
+           point in case we are followed by a `pop_failure_jump', because
+           we don't want the failure point for the alternative to be
+           popped.  For example, matching `(a|ab)*' against `aab'
+           requires that we match the `ab' alternative.  */
+        case push_dummy_failure:
+          DEBUG_PRINT1 ("EXECUTING push_dummy_failure.\n");
+          /* See comments just above at `dummy_failure_jump' about the
+             two zeroes.  */
+          PUSH_FAILURE_POINT (0, 0, -2);
+          break;
+
+        /* Have to succeed matching what follows at least n times.
+           After that, handle like `on_failure_jump'.  */
+        case succeed_n: 
+          EXTRACT_NUMBER (mcnt, p + 2);
+          DEBUG_PRINT2 ("EXECUTING succeed_n %d.\n", mcnt);
+
+          assert (mcnt >= 0);
+          /* Originally, this is how many times we HAVE to succeed.  */
+          if (mcnt > 0)
+            {
+               mcnt--;
+	       p += 2;
+               STORE_NUMBER_AND_INCR (p, mcnt);
+               DEBUG_PRINT3 ("  Setting 0x%x to %d.\n", p, mcnt);
+            }
+	  else if (mcnt == 0)
+            {
+              DEBUG_PRINT2 ("  Setting two bytes from 0x%x to no_op.\n", p+2);
+	      p[2] = (unsigned char) no_op;
+              p[3] = (unsigned char) no_op;
+              goto on_failure;
+            }
+          break;
+        
+        case jump_n: 
+          EXTRACT_NUMBER (mcnt, p + 2);
+          DEBUG_PRINT2 ("EXECUTING jump_n %d.\n", mcnt);
+
+          /* Originally, this is how many times we CAN jump.  */
+          if (mcnt)
+            {
+               mcnt--;
+               STORE_NUMBER (p + 2, mcnt);
+	       goto unconditional_jump;	     
+            }
+          /* If don't have to jump any more, skip over the rest of command.  */
+	  else      
+	    p += 4;		     
+          break;
+        
+	case set_number_at:
+	  {
+            DEBUG_PRINT1 ("EXECUTING set_number_at.\n");
+
+            EXTRACT_NUMBER_AND_INCR (mcnt, p);
+            p1 = p + mcnt;
+            EXTRACT_NUMBER_AND_INCR (mcnt, p);
+            DEBUG_PRINT3 ("  Setting 0x%x to %d.\n", p1, mcnt);
+	    STORE_NUMBER (p1, mcnt);
+            break;
+          }
+
+        case wordbound:
+          DEBUG_PRINT1 ("EXECUTING wordbound.\n");
+          if (AT_WORD_BOUNDARY (d))
+	    break;
+          goto fail;
+
+	case notwordbound:
+          DEBUG_PRINT1 ("EXECUTING notwordbound.\n");
+	  if (AT_WORD_BOUNDARY (d))
+	    goto fail;
+          break;
+
+	case wordbeg:
+          DEBUG_PRINT1 ("EXECUTING wordbeg.\n");
+	  if (WORDCHAR_P (d) && (AT_STRINGS_BEG (d) || !WORDCHAR_P (d - 1)))
+	    break;
+          goto fail;
+
+	case wordend:
+          DEBUG_PRINT1 ("EXECUTING wordend.\n");
+	  if (!AT_STRINGS_BEG (d) && WORDCHAR_P (d - 1)
+              && (!WORDCHAR_P (d) || AT_STRINGS_END (d)))
+	    break;
+          goto fail;
+
+#ifdef emacs
+#ifdef emacs19
+  	case before_dot:
+          DEBUG_PRINT1 ("EXECUTING before_dot.\n");
+ 	  if (PTR_CHAR_POS ((unsigned char *) d) >= point)
+  	    goto fail;
+  	  break;
+  
+  	case at_dot:
+          DEBUG_PRINT1 ("EXECUTING at_dot.\n");
+ 	  if (PTR_CHAR_POS ((unsigned char *) d) != point)
+  	    goto fail;
+  	  break;
+  
+  	case after_dot:
+          DEBUG_PRINT1 ("EXECUTING after_dot.\n");
+          if (PTR_CHAR_POS ((unsigned char *) d) <= point)
+  	    goto fail;
+  	  break;
+#else /* not emacs19 */
+	case at_dot:
+          DEBUG_PRINT1 ("EXECUTING at_dot.\n");
+	  if (PTR_CHAR_POS ((unsigned char *) d) + 1 != point)
+	    goto fail;
+	  break;
+#endif /* not emacs19 */
+
+	case syntaxspec:
+          DEBUG_PRINT2 ("EXECUTING syntaxspec %d.\n", mcnt);
+	  mcnt = *p++;
+	  goto matchsyntax;
+
+        case wordchar:
+          DEBUG_PRINT1 ("EXECUTING Emacs wordchar.\n");
+	  mcnt = (int) Sword;
+        matchsyntax:
+	  PREFETCH ();
+	  if (SYNTAX (*d++) != (enum syntaxcode) mcnt)
+            goto fail;
+          SET_REGS_MATCHED ();
+	  break;
+
+	case notsyntaxspec:
+          DEBUG_PRINT2 ("EXECUTING notsyntaxspec %d.\n", mcnt);
+	  mcnt = *p++;
+	  goto matchnotsyntax;
+
+        case notwordchar:
+          DEBUG_PRINT1 ("EXECUTING Emacs notwordchar.\n");
+	  mcnt = (int) Sword;
+        matchnotsyntax:
+	  PREFETCH ();
+	  if (SYNTAX (*d++) == (enum syntaxcode) mcnt)
+            goto fail;
+	  SET_REGS_MATCHED ();
+          break;
+
+#else /* not emacs */
+	case wordchar:
+          DEBUG_PRINT1 ("EXECUTING non-Emacs wordchar.\n");
+	  PREFETCH ();
+          if (!WORDCHAR_P (d))
+            goto fail;
+	  SET_REGS_MATCHED ();
+          d++;
+	  break;
+	  
+	case notwordchar:
+          DEBUG_PRINT1 ("EXECUTING non-Emacs notwordchar.\n");
+	  PREFETCH ();
+	  if (WORDCHAR_P (d))
+            goto fail;
+          SET_REGS_MATCHED ();
+          d++;
+	  break;
+#endif /* not emacs */
+          
+        default:
+          abort ();
+	}
+      continue;  /* Successfully executed one pattern command; keep going.  */
+
+
+    /* We goto here if a matching operation fails. */
+    fail:
+      if (!FAIL_STACK_EMPTY ())
+	{ /* A restart point is known.  Restore to that state.  */
+          DEBUG_PRINT1 ("\nFAIL:\n");
+          POP_FAILURE_POINT (d, p,
+                             lowest_active_reg, highest_active_reg,
+                             regstart, regend, reg_info);
+
+          /* If this failure point is a dummy, try the next one.  */
+          if (!p)
+	    goto fail;
+
+          /* If we failed to the end of the pattern, don't examine *p.  */
+	  assert (p <= pend);
+          if (p < pend)
+            {
+              boolean is_a_jump_n = false;
+              
+              /* If failed to a backwards jump that's part of a repetition
+                 loop, need to pop this failure point and use the next one.  */
+              switch ((re_opcode_t) *p)
+                {
+                case jump_n:
+                  is_a_jump_n = true;
+                case maybe_pop_jump:
+                case pop_failure_jump:
+                case jump:
+                  p1 = p + 1;
+                  EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+                  p1 += mcnt;	
+
+                  if ((is_a_jump_n && (re_opcode_t) *p1 == succeed_n)
+                      || (!is_a_jump_n
+                          && (re_opcode_t) *p1 == on_failure_jump))
+                    goto fail;
+                  break;
+                default:
+                  /* do nothing */ ;
+                }
+            }
+
+          if (d >= string1 && d <= end1)
+	    dend = end_match_1;
+        }
+      else
+        break;   /* Matching at this starting point really fails.  */
+    } /* for (;;) */
+
+  if (best_regs_set)
+    goto restore_best_regs;
+
+  FREE_VARIABLES ();
+
+  return -1;         			/* Failure to match.  */
+} /* re_match_2 */
+

+/* Subroutine definitions for re_match_2.  */
+
+
+/* We are passed P pointing to a register number after a start_memory.
+   
+   Return true if the pattern up to the corresponding stop_memory can
+   match the empty string, and false otherwise.
+   
+   If we find the matching stop_memory, sets P to point to one past its number.
+   Otherwise, sets P to an undefined byte less than or equal to END.
+
+   We don't handle duplicates properly (yet).  */
+
+static boolean
+group_match_null_string_p (p, end, reg_info)
+    unsigned char **p, *end;
+    register_info_type *reg_info;
+{
+  int mcnt;
+  /* Point to after the args to the start_memory.  */
+  unsigned char *p1 = *p + 2;
+  
+  while (p1 < end)
+    {
+      /* Skip over opcodes that can match nothing, and return true or
+	 false, as appropriate, when we get to one that can't, or to the
+         matching stop_memory.  */
+      
+      switch ((re_opcode_t) *p1)
+        {
+        /* Could be either a loop or a series of alternatives.  */
+        case on_failure_jump:
+          p1++;
+          EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+          
+          /* If the next operation is not a jump backwards in the
+	     pattern.  */
+
+	  if (mcnt >= 0)
+	    {
+              /* Go through the on_failure_jumps of the alternatives,
+                 seeing if any of the alternatives cannot match nothing.
+                 The last alternative starts with only a jump,
+                 whereas the rest start with on_failure_jump and end
+                 with a jump, e.g., here is the pattern for `a|b|c':
+
+                 /on_failure_jump/0/6/exactn/1/a/jump_past_alt/0/6
+                 /on_failure_jump/0/6/exactn/1/b/jump_past_alt/0/3
+                 /exactn/1/c						
+
+                 So, we have to first go through the first (n-1)
+                 alternatives and then deal with the last one separately.  */
+
+
+              /* Deal with the first (n-1) alternatives, which start
+                 with an on_failure_jump (see above) that jumps to right
+                 past a jump_past_alt.  */
+
+              while ((re_opcode_t) p1[mcnt-3] == jump_past_alt)
+                {
+                  /* `mcnt' holds how many bytes long the alternative
+                     is, including the ending `jump_past_alt' and
+                     its number.  */
+
+                  if (!alt_match_null_string_p (p1, p1 + mcnt - 3, 
+				                      reg_info))
+                    return false;
+
+                  /* Move to right after this alternative, including the
+		     jump_past_alt.  */
+                  p1 += mcnt;	
+
+                  /* Break if it's the beginning of an n-th alternative
+                     that doesn't begin with an on_failure_jump.  */
+                  if ((re_opcode_t) *p1 != on_failure_jump)
+                    break;
+		
+		  /* Still have to check that it's not an n-th
+		     alternative that starts with an on_failure_jump.  */
+		  p1++;
+                  EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+                  if ((re_opcode_t) p1[mcnt-3] != jump_past_alt)
+                    {
+		      /* Get to the beginning of the n-th alternative.  */
+                      p1 -= 3;
+                      break;
+                    }
+                }
+
+              /* Deal with the last alternative: go back and get number
+                 of the `jump_past_alt' just before it.  `mcnt' contains
+                 the length of the alternative.  */
+              EXTRACT_NUMBER (mcnt, p1 - 2);
+
+              if (!alt_match_null_string_p (p1, p1 + mcnt, reg_info))
+                return false;
+
+              p1 += mcnt;	/* Get past the n-th alternative.  */
+            } /* if mcnt > 0 */
+          break;
+
+          
+        case stop_memory:
+	  assert (p1[1] == **p);
+          *p = p1 + 2;
+          return true;
+
+        
+        default: 
+          if (!common_op_match_null_string_p (&p1, end, reg_info))
+            return false;
+        }
+    } /* while p1 < end */
+
+  return false;
+} /* group_match_null_string_p */
+
+
+/* Similar to group_match_null_string_p, but doesn't deal with alternatives:
+   It expects P to be the first byte of a single alternative and END one
+   byte past the last. The alternative can contain groups.  */
+   
+static boolean
+alt_match_null_string_p (p, end, reg_info)
+    unsigned char *p, *end;
+    register_info_type *reg_info;
+{
+  int mcnt;
+  unsigned char *p1 = p;
+  
+  while (p1 < end)
+    {
+      /* Skip over opcodes that can match nothing, and break when we get 
+         to one that can't.  */
+      
+      switch ((re_opcode_t) *p1)
+        {
+	/* It's a loop.  */
+        case on_failure_jump:
+          p1++;
+          EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+          p1 += mcnt;
+          break;
+          
+	default: 
+          if (!common_op_match_null_string_p (&p1, end, reg_info))
+            return false;
+        }
+    }  /* while p1 < end */
+
+  return true;
+} /* alt_match_null_string_p */
+
+
+/* Deals with the ops common to group_match_null_string_p and
+   alt_match_null_string_p.  
+   
+   Sets P to one after the op and its arguments, if any.  */
+
+static boolean
+common_op_match_null_string_p (p, end, reg_info)
+    unsigned char **p, *end;
+    register_info_type *reg_info;
+{
+  int mcnt;
+  boolean ret;
+  int reg_no;
+  unsigned char *p1 = *p;
+
+  switch ((re_opcode_t) *p1++)
+    {
+    case no_op:
+    case begline:
+    case endline:
+    case begbuf:
+    case endbuf:
+    case wordbeg:
+    case wordend:
+    case wordbound:
+    case notwordbound:
+#ifdef emacs
+    case before_dot:
+    case at_dot:
+    case after_dot:
+#endif
+      break;
+
+    case start_memory:
+      reg_no = *p1;
+      assert (reg_no > 0 && reg_no <= MAX_REGNUM);
+      ret = group_match_null_string_p (&p1, end, reg_info);
+      
+      /* Have to set this here in case we're checking a group which
+         contains a group and a back reference to it.  */
+
+      if (REG_MATCH_NULL_STRING_P (reg_info[reg_no]) == MATCH_NULL_UNSET_VALUE)
+        REG_MATCH_NULL_STRING_P (reg_info[reg_no]) = ret;
+
+      if (!ret)
+        return false;
+      break;
+          
+    /* If this is an optimized succeed_n for zero times, make the jump.  */
+    case jump:
+      EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+      if (mcnt >= 0)
+        p1 += mcnt;
+      else
+        return false;
+      break;
+
+    case succeed_n:
+      /* Get to the number of times to succeed.  */
+      p1 += 2;		
+      EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+
+      if (mcnt == 0)
+        {
+          p1 -= 4;
+          EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+          p1 += mcnt;
+        }
+      else
+        return false;
+      break;
+
+    case duplicate: 
+      if (!REG_MATCH_NULL_STRING_P (reg_info[*p1]))
+        return false;
+      break;
+
+    case set_number_at:
+      p1 += 4;
+
+    default:
+      /* All other opcodes mean we cannot match the empty string.  */
+      return false;
+  }
+
+  *p = p1;
+  return true;
+} /* common_op_match_null_string_p */
+
+
+/* Return zero if TRANSLATE[S1] and TRANSLATE[S2] are identical for LEN
+   bytes; nonzero otherwise.  */
+   
+static int
+bcmp_translate (s1, s2, len, translate)
+     unsigned char *s1, *s2;
+     register int len;
+     char *translate;
+{
+  register unsigned char *p1 = s1, *p2 = s2;
+  while (len)
+    {
+      if (translate[*p1++] != translate[*p2++]) return 1;
+      len--;
+    }
+  return 0;
+}
+

+/* Entry points for GNU code.  */
+
+/* re_compile_pattern is the GNU regular expression compiler: it
+   compiles PATTERN (of length SIZE) and puts the result in BUFP.
+   Returns 0 if the pattern was valid, otherwise an error string.
+   
+   Assumes the `allocated' (and perhaps `buffer') and `translate' fields
+   are set in BUFP on entry.
+   
+   We call regex_compile to do the actual compilation.  */
+
+const char *
+re_compile_pattern (pattern, length, bufp)
+     const char *pattern;
+     int length;
+     struct re_pattern_buffer *bufp;
+{
+  reg_errcode_t ret;
+  
+  /* GNU code is written to assume at least RE_NREGS registers will be set
+     (and at least one extra will be -1).  */
+  bufp->regs_allocated = REGS_UNALLOCATED;
+  
+  /* And GNU code determines whether or not to get register information
+     by passing null for the REGS argument to re_match, etc., not by
+     setting no_sub.  */
+  bufp->no_sub = 0;
+  
+  /* Match anchors at newline.  */
+  bufp->newline_anchor = 1;
+  
+  ret = regex_compile (pattern, length, re_syntax_options, bufp);
+
+  return re_error_msg[(int) ret];
+}     
+

+/* Entry points compatible with 4.2 BSD regex library.  We don't define
+   them if this is an Emacs or POSIX compilation.  */
+
+#if !defined (emacs) && !defined (_POSIX_SOURCE)
+
+/* BSD has one and only one pattern buffer.  */
+static struct re_pattern_buffer re_comp_buf;
+
+char *
+re_comp (s)
+    const char *s;
+{
+  reg_errcode_t ret;
+  
+  if (!s)
+    {
+      if (!re_comp_buf.buffer)
+	return "No previous regular expression";
+      return 0;
+    }
+
+  if (!re_comp_buf.buffer)
+    {
+      re_comp_buf.buffer = (unsigned char *) malloc (200);
+      if (re_comp_buf.buffer == NULL)
+        return "Memory exhausted";
+      re_comp_buf.allocated = 200;
+
+      re_comp_buf.fastmap = (char *) malloc (1 << BYTEWIDTH);
+      if (re_comp_buf.fastmap == NULL)
+	return "Memory exhausted";
+    }
+
+  /* Since `re_exec' always passes NULL for the `regs' argument, we
+     don't need to initialize the pattern buffer fields which affect it.  */
+
+  /* Match anchors at newlines.  */
+  re_comp_buf.newline_anchor = 1;
+
+  ret = regex_compile (s, strlen (s), re_syntax_options, &re_comp_buf);
+  
+  /* Yes, we're discarding `const' here.  */
+  return (char *) re_error_msg[(int) ret];
+}
+
+
+int
+re_exec (s)
+    const char *s;
+{
+  const int len = strlen (s);
+  return
+    0 <= re_search (&re_comp_buf, s, len, 0, len, (struct re_registers *) 0);
+}
+#endif /* not emacs and not _POSIX_SOURCE */
+

+/* POSIX.2 functions.  Don't define these for Emacs.  */
+
+#ifndef emacs
+
+/* regcomp takes a regular expression as a string and compiles it.
+
+   PREG is a regex_t *.  We do not expect any fields to be initialized,
+   since POSIX says we shouldn't.  Thus, we set
+
+     `buffer' to the compiled pattern;
+     `used' to the length of the compiled pattern;
+     `syntax' to RE_SYNTAX_POSIX_EXTENDED if the
+       REG_EXTENDED bit in CFLAGS is set; otherwise, to
+       RE_SYNTAX_POSIX_BASIC;
+     `newline_anchor' to REG_NEWLINE being set in CFLAGS;
+     `fastmap' and `fastmap_accurate' to zero;
+     `re_nsub' to the number of subexpressions in PATTERN.
+
+   PATTERN is the address of the pattern string.
+
+   CFLAGS is a series of bits which affect compilation.
+
+     If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we
+     use POSIX basic syntax.
+
+     If REG_NEWLINE is set, then . and [^...] don't match newline.
+     Also, regexec will try a match beginning after every newline.
+
+     If REG_ICASE is set, then we considers upper- and lowercase
+     versions of letters to be equivalent when matching.
+
+     If REG_NOSUB is set, then when PREG is passed to regexec, that
+     routine will report only success or failure, and nothing about the
+     registers.
+
+   It returns 0 if it succeeds, nonzero if it doesn't.  (See regex.h for
+   the return codes and their meanings.)  */
+
+int
+regcomp (preg, pattern, cflags)
+    regex_t *preg;
+    const char *pattern; 
+    int cflags;
+{
+  reg_errcode_t ret;
+  unsigned syntax
+    = (cflags & REG_EXTENDED) ?
+      RE_SYNTAX_POSIX_EXTENDED : RE_SYNTAX_POSIX_BASIC;
+
+  /* regex_compile will allocate the space for the compiled pattern.  */
+  preg->buffer = 0;
+  preg->allocated = 0;
+  
+  /* Don't bother to use a fastmap when searching.  This simplifies the
+     REG_NEWLINE case: if we used a fastmap, we'd have to put all the
+     characters after newlines into the fastmap.  This way, we just try
+     every character.  */
+  preg->fastmap = 0;
+  
+  if (cflags & REG_ICASE)
+    {
+      unsigned i;
+      
+      preg->translate = (char *) malloc (CHAR_SET_SIZE);
+      if (preg->translate == NULL)
+        return (int) REG_ESPACE;
+
+      /* Map uppercase characters to corresponding lowercase ones.  */
+      for (i = 0; i < CHAR_SET_SIZE; i++)
+        preg->translate[i] = ISUPPER (i) ? tolower (i) : i;
+    }
+  else
+    preg->translate = NULL;
+
+  /* If REG_NEWLINE is set, newlines are treated differently.  */
+  if (cflags & REG_NEWLINE)
+    { /* REG_NEWLINE implies neither . nor [^...] match newline.  */
+      syntax &= ~RE_DOT_NEWLINE;
+      syntax |= RE_HAT_LISTS_NOT_NEWLINE;
+      /* It also changes the matching behavior.  */
+      preg->newline_anchor = 1;
+    }
+  else
+    preg->newline_anchor = 0;
+
+  preg->no_sub = !!(cflags & REG_NOSUB);
+
+  /* POSIX says a null character in the pattern terminates it, so we 
+     can use strlen here in compiling the pattern.  */
+  ret = regex_compile (pattern, strlen (pattern), syntax, preg);
+  
+  /* POSIX doesn't distinguish between an unmatched open-group and an
+     unmatched close-group: both are REG_EPAREN.  */
+  if (ret == REG_ERPAREN) ret = REG_EPAREN;
+  
+  return (int) ret;
+}
+
+
+/* regexec searches for a given pattern, specified by PREG, in the
+   string STRING.
+   
+   If NMATCH is zero or REG_NOSUB was set in the cflags argument to
+   `regcomp', we ignore PMATCH.  Otherwise, we assume PMATCH has at
+   least NMATCH elements, and we set them to the offsets of the
+   corresponding matched substrings.
+   
+   EFLAGS specifies `execution flags' which affect matching: if
+   REG_NOTBOL is set, then ^ does not match at the beginning of the
+   string; if REG_NOTEOL is set, then $ does not match at the end.
+   
+   We return 0 if we find a match and REG_NOMATCH if not.  */
+
+int
+regexec (preg, string, nmatch, pmatch, eflags)
+    const regex_t *preg;
+    const char *string; 
+    size_t nmatch; 
+    regmatch_t pmatch[]; 
+    int eflags;
+{
+  int ret;
+  struct re_registers regs;
+  regex_t private_preg;
+  int len = strlen (string);
+  boolean want_reg_info = !preg->no_sub && nmatch > 0;
+
+  private_preg = *preg;
+  
+  private_preg.not_bol = !!(eflags & REG_NOTBOL);
+  private_preg.not_eol = !!(eflags & REG_NOTEOL);
+  
+  /* The user has told us exactly how many registers to return
+     information about, via `nmatch'.  We have to pass that on to the
+     matching routines.  */
+  private_preg.regs_allocated = REGS_FIXED;
+  
+  if (want_reg_info)
+    {
+      regs.num_regs = nmatch;
+      regs.start = TALLOC (nmatch, regoff_t);
+      regs.end = TALLOC (nmatch, regoff_t);
+      if (regs.start == NULL || regs.end == NULL)
+        return (int) REG_NOMATCH;
+    }
+
+  /* Perform the searching operation.  */
+  ret = re_search (&private_preg, string, len,
+                   /* start: */ 0, /* range: */ len,
+                   want_reg_info ? &regs : (struct re_registers *) 0);
+  
+  /* Copy the register information to the POSIX structure.  */
+  if (want_reg_info)
+    {
+      if (ret >= 0)
+        {
+          unsigned r;
+
+          for (r = 0; r < nmatch; r++)
+            {
+              pmatch[r].rm_so = regs.start[r];
+              pmatch[r].rm_eo = regs.end[r];
+            }
+        }
+
+      /* If we needed the temporary register info, free the space now.  */
+      free (regs.start);
+      free (regs.end);
+    }
+
+  /* We want zero return to mean success, unlike `re_search'.  */
+  return ret >= 0 ? (int) REG_NOERROR : (int) REG_NOMATCH;
+}
+
+
+/* Returns a message corresponding to an error code, ERRCODE, returned
+   from either regcomp or regexec.   We don't use PREG here.  */
+
+size_t
+regerror (errcode, preg, errbuf, errbuf_size)
+    int errcode;
+    const regex_t *preg;
+    char *errbuf;
+    size_t errbuf_size;
+{
+  const char *msg;
+  size_t msg_size;
+
+  if (errcode < 0
+      || errcode >= (sizeof (re_error_msg) / sizeof (re_error_msg[0])))
+    /* Only error codes returned by the rest of the code should be passed 
+       to this routine.  If we are given anything else, or if other regex
+       code generates an invalid error code, then the program has a bug.
+       Dump core so we can fix it.  */
+    abort ();
+
+  msg = re_error_msg[errcode];
+
+  /* POSIX doesn't require that we do anything in this case, but why
+     not be nice.  */
+  if (! msg)
+    msg = "Success";
+
+  msg_size = strlen (msg) + 1; /* Includes the null.  */
+  
+  if (errbuf_size != 0)
+    {
+      if (msg_size > errbuf_size)
+        {
+          strncpy (errbuf, msg, errbuf_size - 1);
+          errbuf[errbuf_size - 1] = 0;
+        }
+      else
+        strcpy (errbuf, msg);
+    }
+
+  return msg_size;
+}
+
+
+/* Free dynamically allocated space used by PREG.  */
+
+void
+regfree (preg)
+    regex_t *preg;
+{
+  if (preg->buffer != NULL)
+    free (preg->buffer);
+  preg->buffer = NULL;
+  
+  preg->allocated = 0;
+  preg->used = 0;
+
+  if (preg->fastmap != NULL)
+    free (preg->fastmap);
+  preg->fastmap = NULL;
+  preg->fastmap_accurate = 0;
+
+  if (preg->translate != NULL)
+    free (preg->translate);
+  preg->translate = NULL;
+}
+
+#endif /* not emacs  */
+

+/*
+Local variables:
+make-backup-files: t
+version-control: t
+trim-versions-without-asking: nil
+End:
+*/
diff --git a/trunk/src/regex.h b/trunk/src/regex.h
new file mode 100644
index 0000000..0bef8ab
--- /dev/null
+++ b/trunk/src/regex.h
@@ -0,0 +1,483 @@
+/* Definitions for data structures and routines for the regular
+   expression library, version 0.12.
+
+   Copyright (C) 1985, 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#ifndef __REGEXP_LIBRARY_H__
+#define __REGEXP_LIBRARY_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* POSIX says that <sys/types.h> must be included (by the caller) before
+   <regex.h>.  */
+
+#ifdef VMS
+/* VMS doesn't have `size_t' in <sys/types.h>, even though POSIX says it
+   should be there.  */
+#include <stddef.h>
+#endif
+
+
+/* The following bits are used to determine the regexp syntax we
+   recognize.  The set/not-set meanings are chosen so that Emacs syntax
+   remains the value 0.  The bits are given in alphabetical order, and
+   the definitions shifted by one from the previous bit; thus, when we
+   add or remove a bit, only one other definition need change.  */
+typedef unsigned reg_syntax_t;
+
+/* If this bit is not set, then \ inside a bracket expression is literal.
+   If set, then such a \ quotes the following character.  */
+#define RE_BACKSLASH_ESCAPE_IN_LISTS (1)
+
+/* If this bit is not set, then + and ? are operators, and \+ and \? are
+     literals. 
+   If set, then \+ and \? are operators and + and ? are literals.  */
+#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
+
+/* If this bit is set, then character classes are supported.  They are:
+     [:alpha:], [:upper:], [:lower:],  [:digit:], [:alnum:], [:xdigit:],
+     [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
+   If not set, then character classes are not supported.  */
+#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
+
+/* If this bit is set, then ^ and $ are always anchors (outside bracket
+     expressions, of course).
+   If this bit is not set, then it depends:
+        ^  is an anchor if it is at the beginning of a regular
+           expression or after an open-group or an alternation operator;
+        $  is an anchor if it is at the end of a regular expression, or
+           before a close-group or an alternation operator.  
+
+   This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because
+   POSIX draft 11.2 says that * etc. in leading positions is undefined.
+   We already implemented a previous draft which made those constructs
+   invalid, though, so we haven't changed the code back.  */
+#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
+
+/* If this bit is set, then special characters are always special
+     regardless of where they are in the pattern.
+   If this bit is not set, then special characters are special only in
+     some contexts; otherwise they are ordinary.  Specifically, 
+     * + ? and intervals are only special when not after the beginning,
+     open-group, or alternation operator.  */
+#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
+
+/* If this bit is set, then *, +, ?, and { cannot be first in an re or
+     immediately after an alternation or begin-group operator.  */
+#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
+
+/* If this bit is set, then . matches newline.
+   If not set, then it doesn't.  */
+#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
+
+/* If this bit is set, then . doesn't match NUL.
+   If not set, then it does.  */
+#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
+
+/* If this bit is set, nonmatching lists [^...] do not match newline.
+   If not set, they do.  */
+#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
+
+/* If this bit is set, either \{...\} or {...} defines an
+     interval, depending on RE_NO_BK_BRACES. 
+   If not set, \{, \}, {, and } are literals.  */
+#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
+
+/* If this bit is set, +, ? and | aren't recognized as operators.
+   If not set, they are.  */
+#define RE_LIMITED_OPS (RE_INTERVALS << 1)
+
+/* If this bit is set, newline is an alternation operator.
+   If not set, newline is literal.  */
+#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
+
+/* If this bit is set, then `{...}' defines an interval, and \{ and \}
+     are literals.
+  If not set, then `\{...\}' defines an interval.  */
+#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
+
+/* If this bit is set, (...) defines a group, and \( and \) are literals.
+   If not set, \(...\) defines a group, and ( and ) are literals.  */
+#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
+
+/* If this bit is set, then \<digit> matches <digit>.
+   If not set, then \<digit> is a back-reference.  */
+#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
+
+/* If this bit is set, then | is an alternation operator, and \| is literal. 
+   If not set, then \| is an alternation operator, and | is literal.  */
+#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
+
+/* If this bit is set, then an ending range point collating higher
+     than the starting range point, as in [z-a], is invalid.
+   If not set, then when ending range point collates higher than the
+     starting range point, the range is ignored.  */
+#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
+
+/* If this bit is set, then an unmatched ) is ordinary.
+   If not set, then an unmatched ) is invalid.  */
+#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
+
+/* This global variable defines the particular regexp syntax to use (for
+   some interfaces).  When a regexp is compiled, the syntax used is
+   stored in the pattern buffer, so changing this does not affect
+   already-compiled regexps.  */
+extern reg_syntax_t re_syntax_options;
+

+/* Define combinations of the above bits for the standard possibilities.
+   (The [[[ comments delimit what gets put into the Texinfo file, so
+   don't delete them!)  */ 
+/* [[[begin syntaxes]]] */
+#define RE_SYNTAX_EMACS 0
+
+#define RE_SYNTAX_AWK							\
+  (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL			\
+   | RE_NO_BK_PARENS            | RE_NO_BK_REFS				\
+   | RE_NO_BK_VBAR               | RE_NO_EMPTY_RANGES			\
+   | RE_UNMATCHED_RIGHT_PAREN_ORD)
+
+#define RE_SYNTAX_POSIX_AWK 						\
+  (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS)
+
+#define RE_SYNTAX_GREP							\
+  (RE_BK_PLUS_QM              | RE_CHAR_CLASSES				\
+   | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS				\
+   | RE_NEWLINE_ALT)
+
+#define RE_SYNTAX_EGREP							\
+  (RE_CHAR_CLASSES        | RE_CONTEXT_INDEP_ANCHORS			\
+   | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE			\
+   | RE_NEWLINE_ALT       | RE_NO_BK_PARENS				\
+   | RE_NO_BK_VBAR)
+
+#define RE_SYNTAX_POSIX_EGREP						\
+  (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)
+
+/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff.  */
+#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
+
+#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC
+
+/* Syntax bits common to both basic and extended POSIX regex syntax.  */
+#define _RE_SYNTAX_POSIX_COMMON						\
+  (RE_CHAR_CLASSES | RE_DOT_NEWLINE      | RE_DOT_NOT_NULL		\
+   | RE_INTERVALS  | RE_NO_EMPTY_RANGES)
+
+#define RE_SYNTAX_POSIX_BASIC						\
+  (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)
+
+/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes
+   RE_LIMITED_OPS, i.e., \? \+ \| are not recognized.  Actually, this
+   isn't minimal, since other operators, such as \`, aren't disabled.  */
+#define RE_SYNTAX_POSIX_MINIMAL_BASIC					\
+  (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
+
+#define RE_SYNTAX_POSIX_EXTENDED					\
+  (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS			\
+   | RE_CONTEXT_INDEP_OPS  | RE_NO_BK_BRACES				\
+   | RE_NO_BK_PARENS       | RE_NO_BK_VBAR				\
+   | RE_UNMATCHED_RIGHT_PAREN_ORD)
+
+/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS
+   replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added.  */
+#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED				\
+  (_RE_SYNTAX_POSIX_COMMON  | RE_CONTEXT_INDEP_ANCHORS			\
+   | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES				\
+   | RE_NO_BK_PARENS        | RE_NO_BK_REFS				\
+   | RE_NO_BK_VBAR	    | RE_UNMATCHED_RIGHT_PAREN_ORD)
+/* [[[end syntaxes]]] */
+

+/* Maximum number of duplicates an interval can allow.  Some systems
+   (erroneously) define this in other header files, but we want our
+   value, so remove any previous define.  */
+#ifdef RE_DUP_MAX
+#undef RE_DUP_MAX
+#endif
+#define RE_DUP_MAX ((1 << 15) - 1) 
+
+
+/* POSIX `cflags' bits (i.e., information for `regcomp').  */
+
+/* If this bit is set, then use extended regular expression syntax.
+   If not set, then use basic regular expression syntax.  */
+#define REG_EXTENDED 1
+
+/* If this bit is set, then ignore case when matching.
+   If not set, then case is significant.  */
+#define REG_ICASE (REG_EXTENDED << 1)
+ 
+/* If this bit is set, then anchors do not match at newline
+     characters in the string.
+   If not set, then anchors do match at newlines.  */
+#define REG_NEWLINE (REG_ICASE << 1)
+
+/* If this bit is set, then report only success or fail in regexec.
+   If not set, then returns differ between not matching and errors.  */
+#define REG_NOSUB (REG_NEWLINE << 1)
+
+
+/* POSIX `eflags' bits (i.e., information for regexec).  */
+
+/* If this bit is set, then the beginning-of-line operator doesn't match
+     the beginning of the string (presumably because it's not the
+     beginning of a line).
+   If not set, then the beginning-of-line operator does match the
+     beginning of the string.  */
+#define REG_NOTBOL 1
+
+/* Like REG_NOTBOL, except for the end-of-line.  */
+#define REG_NOTEOL (1 << 1)
+
+
+/* If any error codes are removed, changed, or added, update the
+   `re_error_msg' table in regex.c.  */
+typedef enum
+{
+  REG_NOERROR = 0,	/* Success.  */
+  REG_NOMATCH,		/* Didn't find a match (for regexec).  */
+
+  /* POSIX regcomp return error codes.  (In the order listed in the
+     standard.)  */
+  REG_BADPAT,		/* Invalid pattern.  */
+  REG_ECOLLATE,		/* Not implemented.  */
+  REG_ECTYPE,		/* Invalid character class name.  */
+  REG_EESCAPE,		/* Trailing backslash.  */
+  REG_ESUBREG,		/* Invalid back reference.  */
+  REG_EBRACK,		/* Unmatched left bracket.  */
+  REG_EPAREN,		/* Parenthesis imbalance.  */ 
+  REG_EBRACE,		/* Unmatched \{.  */
+  REG_BADBR,		/* Invalid contents of \{\}.  */
+  REG_ERANGE,		/* Invalid range end.  */
+  REG_ESPACE,		/* Ran out of memory.  */
+  REG_BADRPT,		/* No preceding re for repetition op.  */
+
+  /* Error codes we've added.  */
+  REG_EEND,		/* Premature end.  */
+  REG_ESIZE,		/* Compiled pattern bigger than 2^16 bytes.  */
+  REG_ERPAREN		/* Unmatched ) or \); not returned from regcomp.  */
+} reg_errcode_t;
+

+/* This data structure represents a compiled pattern.  Before calling
+   the pattern compiler, the fields `buffer', `allocated', `fastmap',
+   `translate', and `no_sub' can be set.  After the pattern has been
+   compiled, the `re_nsub' field is available.  All other fields are
+   private to the regex routines.  */
+
+struct re_pattern_buffer
+{
+/* [[[begin pattern_buffer]]] */
+	/* Space that holds the compiled pattern.  It is declared as
+          `unsigned char *' because its elements are
+           sometimes used as array indexes.  */
+  unsigned char *buffer;
+
+	/* Number of bytes to which `buffer' points.  */
+  unsigned long allocated;
+
+	/* Number of bytes actually used in `buffer'.  */
+  unsigned long used;	
+
+        /* Syntax setting with which the pattern was compiled.  */
+  reg_syntax_t syntax;
+
+        /* Pointer to a fastmap, if any, otherwise zero.  re_search uses
+           the fastmap, if there is one, to skip over impossible
+           starting points for matches.  */
+  char *fastmap;
+
+        /* Either a translate table to apply to all characters before
+           comparing them, or zero for no translation.  The translation
+           is applied to a pattern when it is compiled and to a string
+           when it is matched.  */
+  char *translate;
+
+	/* Number of subexpressions found by the compiler.  */
+  size_t re_nsub;
+
+        /* Zero if this pattern cannot match the empty string, one else.
+           Well, in truth it's used only in `re_search_2', to see
+           whether or not we should use the fastmap, so we don't set
+           this absolutely perfectly; see `re_compile_fastmap' (the
+           `duplicate' case).  */
+  unsigned can_be_null : 1;
+
+        /* If REGS_UNALLOCATED, allocate space in the `regs' structure
+             for `max (RE_NREGS, re_nsub + 1)' groups.
+           If REGS_REALLOCATE, reallocate space if necessary.
+           If REGS_FIXED, use what's there.  */
+#define REGS_UNALLOCATED 0
+#define REGS_REALLOCATE 1
+#define REGS_FIXED 2
+  unsigned regs_allocated : 2;
+
+        /* Set to zero when `regex_compile' compiles a pattern; set to one
+           by `re_compile_fastmap' if it updates the fastmap.  */
+  unsigned fastmap_accurate : 1;
+
+        /* If set, `re_match_2' does not return information about
+           subexpressions.  */
+  unsigned no_sub : 1;
+
+        /* If set, a beginning-of-line anchor doesn't match at the
+           beginning of the string.  */ 
+  unsigned not_bol : 1;
+
+        /* Similarly for an end-of-line anchor.  */
+  unsigned not_eol : 1;
+
+        /* If true, an anchor at a newline matches.  */
+  unsigned newline_anchor : 1;
+
+/* [[[end pattern_buffer]]] */
+};
+
+typedef struct re_pattern_buffer regex_t;
+
+
+/* search.c (search_buffer) in Emacs needs this one opcode value.  It is
+   defined both in `regex.c' and here.  */
+#define RE_EXACTN_VALUE 1
+

+/* Type for byte offsets within the string.  POSIX mandates this.  */
+typedef int regoff_t;
+
+
+/* This is the structure we store register match data in.  See
+   regex.texinfo for a full description of what registers match.  */
+struct re_registers
+{
+  unsigned num_regs;
+  regoff_t *start;
+  regoff_t *end;
+};
+
+
+/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
+   `re_match_2' returns information about at least this many registers
+   the first time a `regs' structure is passed.  */
+#ifndef RE_NREGS
+#define RE_NREGS 30
+#endif
+
+
+/* POSIX specification for registers.  Aside from the different names than
+   `re_registers', POSIX uses an array of structures, instead of a
+   structure of arrays.  */
+typedef struct
+{
+  regoff_t rm_so;  /* Byte offset from string's start to substring's start.  */
+  regoff_t rm_eo;  /* Byte offset from string's start to substring's end.  */
+} regmatch_t;
+

+/* Declarations for routines.  */
+
+/* Sets the current default syntax to SYNTAX, and return the old syntax.
+   You can also simply assign to the `re_syntax_options' variable.  */
+extern reg_syntax_t re_set_syntax (reg_syntax_t syntax);
+
+/* Compile the regular expression PATTERN, with length LENGTH
+   and syntax given by the global `re_syntax_options', into the buffer
+   BUFFER.  Return NULL if successful, and an error string if not.  */
+extern const char *re_compile_pattern
+  (const char *pattern, int length, struct re_pattern_buffer *buffer);
+
+
+/* Compile a fastmap for the compiled pattern in BUFFER; used to
+   accelerate searches.  Return 0 if successful and -2 if was an
+   internal error.  */
+extern int re_compile_fastmap (struct re_pattern_buffer *buffer);
+
+
+/* Search in the string STRING (with length LENGTH) for the pattern
+   compiled into BUFFER.  Start searching at position START, for RANGE
+   characters.  Return the starting position of the match, -1 for no
+   match, or -2 for an internal error.  Also return register
+   information in REGS (if REGS and BUFFER->no_sub are nonzero).  */
+extern int re_search
+  (struct re_pattern_buffer *buffer, const char *string,
+            int length, int start, int range, struct re_registers *regs);
+
+
+/* Like `re_search', but search in the concatenation of STRING1 and
+   STRING2.  Also, stop searching at index START + STOP.  */
+extern int re_search_2
+  (struct re_pattern_buffer *buffer, const char *string1,
+             int length1, const char *string2, int length2,
+             int start, int range, struct re_registers *regs, int stop);
+
+
+/* Like `re_search', but return how many characters in STRING the regexp
+   in BUFFER matched, starting at position START.  */
+extern int re_match
+  (struct re_pattern_buffer *buffer, const char *string,
+             int length, int start, struct re_registers *regs);
+
+
+/* Relates to `re_match' as `re_search_2' relates to `re_search'.  */
+extern int re_match_2 
+  (struct re_pattern_buffer *buffer, const char *string1,
+             int length1, const char *string2, int length2,
+             int start, struct re_registers *regs, int stop);
+
+
+/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
+   ENDS.  Subsequent matches using BUFFER and REGS will use this memory
+   for recording register information.  STARTS and ENDS must be
+   allocated with malloc, and must each be at least `NUM_REGS * sizeof
+   (regoff_t)' bytes long.
+
+   If NUM_REGS == 0, then subsequent matches should allocate their own
+   register data.
+
+   Unless this function is called, the first search or match using
+   PATTERN_BUFFER will allocate its own register data, without
+   freeing the old data.  */
+extern void re_set_registers
+  (struct re_pattern_buffer *buffer, struct re_registers *regs,
+             unsigned num_regs, regoff_t *starts, regoff_t *ends);
+
+/* 4.2 bsd compatibility.  */
+extern char *re_comp (const char *);
+extern int re_exec (const char *);
+
+/* POSIX compatibility.  */
+extern int regcomp (regex_t *preg, const char *pattern, int cflags);
+extern int regexec
+  (const regex_t *preg, const char *string, size_t nmatch,
+             regmatch_t pmatch[], int eflags);
+extern size_t regerror
+  (int errcode, const regex_t *preg, char *errbuf,
+             size_t errbuf_size);
+extern void regfree (regex_t *preg);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* not __REGEXP_LIBRARY_H__ */
+
+
+/*
+Local variables:
+make-backup-files: t
+version-control: t
+trim-versions-without-asking: nil
+End:
+*/
diff --git a/trunk/src/stl_helpers.hpp b/trunk/src/stl_helpers.hpp
new file mode 100644
index 0000000..5dd59f4
--- /dev/null
+++ b/trunk/src/stl_helpers.hpp
@@ -0,0 +1,127 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/src/stl_helpers.hpp#1 $"
+
+/**
+ * @file stl_helpers.hpp
+ * Useful functions that take advantage of STL containers
+ */
+
+#ifndef GPSTK_STL_HELPERS_HPP
+#define GPSTK_STL_HELPERS_HPP
+
+//============================================================================
+//
+//  This file is part of GPSTk, the GPS Toolkit.
+//
+//  The GPSTk is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU Lesser General Public License as published
+//  by the Free Software Foundation; either version 2.1 of the License, or
+//  any later version.
+//
+//  The GPSTk is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with GPSTk; if not, write to the Free Software Foundation,
+//  Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//  
+//  Copyright 2004, The University of Texas at Austin
+//
+//============================================================================
+
+//============================================================================
+//
+//This software developed by Applied Research Laboratories at the University of
+//Texas at Austin, under contract to an agency or agencies within the U.S. 
+//Department of Defense. The U.S. Government retains all rights to use,
+//duplicate, distribute, disclose, or release this software. 
+//
+//Pursuant to DoD Directive 523024 
+//
+// DISTRIBUTION STATEMENT A: This software has been approved for public 
+//                           release, distribution is unlimited.
+//
+//=============================================================================
+
+
+
+
+
+
+#include <cmath>
+#include <algorithm>
+#include <list>
+
+namespace gpstk
+{
+      /** @defgroup datastructsgroup STL helpers */
+      //@{
+
+      /// A simple way to get the max value of a list of numbers
+   template<class For> For max(const std::list<For> lst) 
+   {
+      return *max_element(lst.begin(), lst.end());
+   }
+   
+      /// A simple way to get the minimum value of a list of numbers
+   template<class For> For min(const std::list<For> lst) 
+   {
+      return *min_element(lst.begin(), lst.end());
+   }
+
+      /// ListStats (i.e. Statistics on a list of numbers)
+   template<class bt>
+   struct ListStats
+   {
+         /// number of items used in the statistics taking
+      unsigned n;
+         /// statistics values
+      bt mean, sigma, min, max;
+         /// constructor
+      ListStats():n(0),mean(0),sigma(0),min(0),max(0){};
+   };
+
+      /// Compute the statistics for a list of numbers.
+      /// This algorithm is written to be stable in computing the standard
+      /// deviation for sequences of number with a large mean value.
+      /// (i.e. it doesn't accumulate sum of the value squared.)
+   template<class bt> ListStats<bt> stats(const std::list<bt>& lst)
+   {
+      ListStats<bt> s;
+      bt sum=0, sumsq=0;
+
+      s.n = lst.size();
+      if (s.n<1)
+         return s;
+      
+      typename std::list<bt>::const_iterator li;
+      li=lst.begin();
+      s.min = s.max = *li;
+      for(; li!=lst.end(); li++)
+      {
+         s.min = std::min(s.min, *li);
+         s.max = std::max(s.max, *li);
+         sum += *li;
+      }
+      s.mean = sum/s.n;
+
+      if (s.n<2)
+         return s;
+
+      for(li=lst.begin(); li!=lst.end(); li++)
+      {
+         bt z=*li-s.mean;
+         sumsq += z*z;
+      }
+   
+      s.sigma = sqrt(sumsq/(s.n-1));
+
+      return s;
+   }
+
+      //@}
+
+} // namespace
+   
+#endif
diff --git a/trunk/tests/AnotherFileFilterTest.cpp b/trunk/tests/AnotherFileFilterTest.cpp
new file mode 100755
index 0000000..3eaff81
--- /dev/null
+++ b/trunk/tests/AnotherFileFilterTest.cpp
@@ -0,0 +1,149 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/AnotherFileFilterTest.cpp#2 $"
+
+#include "FileFilter.hpp"
+#include "FFData.hpp"
+#include "FFStream.hpp"
+
+/**
+ * @file AnotherFileFilterTest.cpp
+ * Here's another test of the FileFilter class
+ */
+
+using namespace gpstk;
+using namespace std;
+
+// an FFData with just an int
+class TestFFData : public FFData
+{
+public:
+   TestFFData(int i = 0) : val(i) {}
+
+   virtual ~TestFFData() {}
+
+   void reallyPutRecord(FFStream& s) const 
+      throw(FFStreamError, gpstk::StringUtils::StringException)
+      {}
+
+
+   void reallyGetRecord(FFStream& s) 
+      throw(FFStreamError, gpstk::StringUtils::StringException)
+      {}
+
+
+   virtual void dump(std::ostream& s) const {s << val;}
+
+   int val;
+};
+
+
+// an operator < for TestFFData
+struct TestOperatorLessThan : 
+   public binary_function<TestFFData, TestFFData, bool>
+{
+public:
+   bool operator() (TestFFData l, TestFFData r) const
+      {
+         return (l.val < r.val);
+      }
+};
+
+// an operator == for TestFFData
+struct TestOperatorEquals : 
+   binary_function<TestFFData, TestFFData, bool>
+{
+public:
+   bool operator() (TestFFData l, TestFFData r) const
+      {
+         return (l.val == r.val);
+      }
+};
+
+// a filter for a range of values for TestFFData
+struct TestRangeFilter : 
+   public unary_function<TestFFData, bool>
+{
+public:
+   TestRangeFilter(const int b, const int e)
+         : begin(b), end(e)
+      {}
+   
+   bool operator() (TestFFData l) const
+      {
+         if ( (l.val < begin) ||
+              (l.val > end) )
+            return true;
+         return false;
+      }
+   
+private:
+   int begin, end;
+   
+};
+
+
+// a removing filter for a single value
+struct TestValueFilter : 
+   public unary_function<TestFFData, bool>
+{
+public:
+   TestValueFilter(const int val)
+         : value(val)
+      {}
+
+   bool operator() (TestFFData l) const
+      {
+         if (value == l.val)
+            return true;
+         return false;
+      }
+
+private:
+   int value;
+};
+
+
+
+main (int argc, char *argv[])
+{
+   FileFilter<TestFFData> ff;
+
+      // add data to the filter
+   ff.addData(TestFFData(1));
+   ff.addData(TestFFData(2));
+   ff.addData(TestFFData(2));
+   ff.addData(TestFFData(2));
+   ff.addData(TestFFData(4));
+   ff.addData(TestFFData(4));
+   ff.addData(TestFFData(5));
+   ff.addData(TestFFData(3));
+   ff.addData(TestFFData(3));
+   ff.addData(TestFFData(1));
+
+      // do various operations on the data
+
+   list<TestFFData>::iterator itr;
+
+   cout << "unsorted" << endl;
+   for(itr = ff.begin(); itr != ff.end(); itr++)
+      (*itr).dump(cout << ' '); cout << endl;
+
+   cout << "sorted" << endl;
+   ff.sort(TestOperatorLessThan());
+   for(itr = ff.begin(); itr != ff.end(); itr++)
+      (*itr).dump(cout << ' '); cout << endl;
+
+   cout << "filter out values > 3" << endl;
+   ff.filter(TestRangeFilter(1,3));
+   for(itr = ff.begin(); itr != ff.end(); itr++)
+      (*itr).dump(cout << ' '); cout << endl;
+
+   cout << "filter out 2" << endl;
+   ff.filter(TestValueFilter(2));
+   for(itr = ff.begin(); itr != ff.end(); itr++)
+      (*itr).dump(cout << ' '); cout << endl;
+
+   cout << "unique only" << endl;
+   ff.unique(TestOperatorEquals());
+   for(itr = ff.begin(); itr != ff.end(); itr++)
+      (*itr).dump(cout << ' '); cout << endl;
+}
diff --git a/trunk/tests/DayTimeConversionTest.cpp b/trunk/tests/DayTimeConversionTest.cpp
new file mode 100644
index 0000000..cee3b05
--- /dev/null
+++ b/trunk/tests/DayTimeConversionTest.cpp
@@ -0,0 +1,258 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/DayTimeConversionTest.cpp#1 $"
+
+/* \example DayTimeToleranceTest.cpp
+ * This test evaluates user defined comparison tolerance feature of DayTime.
+ */
+
+#include <iostream>
+#include <stdlib.h>
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+bool testConstructors(short year, short month, short dom,
+                      short hour, short minute, double seconds,
+                      short week, double sow, long zcount,
+                      short hintYear,
+                      double MJD) 
+{
+   bool cumulativeResult = true;
+
+   gpstk::DayTime case1(year,month,dom,
+                        hour, minute, seconds); // Calendar constructor
+   gpstk::DayTime case2(week%1024, sow, hintYear); // 10 bit GPS+SOW wk w/hint
+   gpstk::DayTime case3(week%1024,zcount, hintYear); // 10 bit GPS+Z count w/hint
+   gpstk::DayTime case4(MJD); // JD converted to MJD inline
+
+   cout << case1.printf("  %-9B %02d, %Y %02H:%02M:%018.15f ");
+
+   cumulativeResult = cumulativeResult && 
+         (case1==case2) && (case1==case3) && (case1==case4);
+
+   if (cumulativeResult)
+      cout << "PASS" << endl;
+   else
+   {
+      cout << " FAIL" << endl << "    Conversion results were: " << endl;
+      cout << case1.printf("    %-10B %02d, %Y %02H:%02M:%02S   ") << endl;
+      cout << case2.printf("    %-10B %02d, %Y %02H:%02M:%02S   ") << endl;
+      cout << case3.printf("    %-10B %02d, %Y %02H:%02M:%02S   ") << endl;
+      cout << case4.printf("    %-10B %02d, %Y %02H:%02M:%02S   ") << endl;
+   }
+
+   return (cumulativeResult);   
+}
+
+
+bool testMutators(short year, short month, short dom, 
+                  short hour, short minute, double seconds,
+                  short doy, double sod,
+                  short week, double sow, long zcount,
+                  short hintYear,
+                  double MJD) 
+{
+   bool cumulativeResult = true;
+
+   gpstk::DayTime case1, case2, case3, case4, case5, case6;
+   
+   case1.setYMD(year, month, dom);
+   case1.setHMS(hour, minute, seconds);
+
+   case2.setYMDHMS(year, month, dom, hour, minute, seconds);
+   
+   case3.setYDoy(year, doy);
+   case3.setSecOfDay(sod);
+   
+   case4.setGPS(week%1024, sow, hintYear);
+
+   case5.setGPS(week%1024, zcount, hintYear);
+
+   case6.setMJD(MJD);
+   
+   cout << case1.printf("  %-9B %02d, %Y %02H:%02M:%018.15f ");
+   
+   cumulativeResult = cumulativeResult && 
+         (case1==case2) && (case1==case3) && (case1==case4) &&
+         (case1.GPSzcount()==case5.GPSzcount()) && 
+         (fabs(case1.MJD()-case6.MJD())<.001/DayTime::SEC_DAY);
+
+   if (cumulativeResult)
+      cout << "PASS" << endl;
+   else
+   {
+      cout << "FAIL" << endl << "    Conversion results were: " << endl;
+      cout << case1.printf("      %-10B %02d, %Y %02H:%02M:%018.15f  using setYMD, setHMS ") << endl;
+      cout << case2.printf("      %-10B %02d, %Y %02H:%02M:%018.15f  using setYMDHMS ") << endl;
+      cout << case3.printf("      %-10B %02d, %Y %02H:%02M:%018.15f  using setYDoy, setSecOfDay ") << endl;
+      cout << case4.printf("      %-10B %02d, %Y %02H:%02M:%018.15f  using setGPS(wk, sow, hintYr) ") << endl;
+      cout << case5.printf("      %-10B %02d, %Y %02H:%02M:%018.15f  using setGPS(wk, zcount, hintYr) ") << endl;
+      cout << case6.printf("      %-10B %02d, %Y %02H:%02M:%018.15f  using setMJD ") << endl;
+   }
+
+   return (cumulativeResult);   
+}
+   
+bool testRandomAccessors(DayTime &dtb, DayTime &dte, long ndates)
+{
+   bool cumulativeResult=true;
+
+      // Seed the random number generator
+   gpstk::DayTime dt;
+   unsigned int seed= (unsigned int) dt.GPSsow();
+   srand(seed);
+
+   unsigned long dayDiff = (unsigned long) 
+                           ceil(dte.MJD() - dtb.MJD());
+   
+   for (int j=0;j<ndates;++j) // Loop through set of random days
+   { 
+      double dayDelta = floor( rand()*1./ RAND_MAX * dayDiff);
+      double sodDelta = rand()*1./RAND_MAX;
+      gpstk::DayTime testDate;
+
+      testDate.setMJD(dtb.MJD()+dayDelta+sodDelta);
+         
+      short year =     testDate.year();
+      short month =    testDate.month();
+      short dom =      testDate.day();
+      short hour =     testDate.hour();
+      short minute =   testDate.minute();
+      double seconds = testDate.second();
+      short doy =      testDate.DOY();
+      double sod =     testDate.DOYsecond();
+      short week =     testDate.GPSfullweek()%1024; 
+      double sow =     testDate.GPSsow();
+      long zcount =    testDate.GPSzcount();
+      short hintYear = testDate.year();
+      double MJD =     testDate.MJD();
+      cumulativeResult = cumulativeResult &&
+         testMutators( year, month, dom, hour, minute, seconds,
+                       doy, sod,
+                       week, sow, zcount, hintYear,
+                       MJD );
+      } // End loop over random dates
+   
+   return cumulativeResult;
+}
+
+/// returns 0 if all tests pass
+int main()
+{
+   using gpstk::DayTime;
+   
+   try
+   {
+      DayTime::setDayTimeTolerance(DayTime::DAYTIME_TOLERANCE); // microsecond tolerance
+
+      cout << endl;
+      cout << "DayTime conversion tests." << endl << endl;
+      
+      cout << "All comparisons accurate to " << DayTime::DAYTIME_TOLERANCE;
+      cout << " seconds." << endl << endl;
+      
+
+      bool cumulativeResult = true;
+
+
+      cout << "Testing constructors using documented dates." << endl;
+      cout << endl;
+      
+      
+         // Directly from ICD-GPS-200
+         // Beginning of GPS Time, as defined by ICD-GPS-200
+      cumulativeResult = cumulativeResult &&
+                             testConstructors(1980,1,6,0,0,0,
+                                              0, 0., 0,
+                                              1981,
+                                              44244.);
+      
+         // From GPS Signals and Performan, Misra and Enge, p. 91
+         // GPS 10 bit week rollover epoch
+      cumulativeResult = cumulativeResult &&
+                             testConstructors(1999,8,22,0,0,0,
+                                              0, 0., 0,
+                                              2000,
+                                              51412.);
+      
+         // From Hoffman-Wellenhof, et al. 
+         // The J2000 standard epoch
+      cumulativeResult = cumulativeResult &&
+                             testConstructors(2000,1,1,12,0,0,
+                                              1042, 561600., 374400,
+                                              2000,
+                                              2451545 - 2400000.5);
+
+
+      cout << endl << "Testing mutators using documented dates." << endl << endl;
+      
+         // Directly from ICD-GPS-200
+         // Beginning of GPS Time, as defined by ICD-GPS-200
+      cumulativeResult = cumulativeResult &&
+                             testMutators(1980,1,6,0,0,0,
+                                          6, 0.,
+                                          0, 0., 0,
+                                          1981,
+                                          44244.);
+      
+         // From GPS Signals and Performan, Misra and Enge, p. 91
+         // GPS 10 bit week rollover epoch
+      cumulativeResult = cumulativeResult &&
+                             testMutators(1999,8,22,0,0,0,
+                                          234, 0.,
+                                          0, 0., 0,
+                                          2000,
+                                          51412.);
+      
+         // From Hoffman-Wellenhof, et al. 
+         // The J2000 standard epoch
+      cumulativeResult = cumulativeResult &&
+                             testMutators(2000,1,1,12,0,0,
+                                          1, 43200.,
+                                          1042, 561600., 374400,
+                                          2000,
+                                          2451545 - 2400000.5);
+
+         // Random accessor/mutator tests
+      cout << endl;
+      cout << "Testing accessors and mutators using randomly generated dates.";
+      cout << endl << endl;
+      
+      gpstk::DayTime dtBegin(1995,1,1,0,0,0), dtEnd(2015,1,1,0,0,0);
+      cumulativeResult = cumulativeResult &&
+                         testRandomAccessors( dtBegin, dtEnd, 20);
+
+
+         // Wrap it up, folks
+      cout << endl;
+      cout << setw(34);
+      cout << DayTime().printf("Completed on %B %d, %Y %H:%02M:%02S");
+      cout << endl << endl;
+      
+      int ret = 0;
+      if (cumulativeResult)
+         cout << "All comparison tests PASSED." << endl;
+      else
+      {
+         cout << "One ore more comparison tests FAILED." << endl;
+         ret = 1;
+      }
+      
+      return ret;
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(...)
+   {
+      cout << "Some other exception thrown..." << endl;
+   }
+
+   cout << "Exiting with exceptions." << endl;
+   return -1;
+}
+
+
diff --git a/trunk/tests/DayTimeIncrementTest.cpp b/trunk/tests/DayTimeIncrementTest.cpp
new file mode 100644
index 0000000..140adbc
--- /dev/null
+++ b/trunk/tests/DayTimeIncrementTest.cpp
@@ -0,0 +1,129 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/DayTimeIncrementTest.cpp#1 $"
+
+/* \example DayTimeToleranceTest.cpp
+ * This test evaluates user defined comparison tolerance feature of DayTime.
+ * It merely increments then decrements DayTime in different ways, then
+ * reports to the user the estimate of machine error.
+ */
+
+#include <iostream>
+#include <iomanip>
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+#define TEST_METHOD(method, incCount, incValue, diffTolerance)     \
+      dtcopy = dtorig;                                             \
+      totalIncrements=0;                                           \
+      incCountUse = incCount/2;                                    \
+      for (long j=0; j<incCountUse; ++j)                           \
+      {                                                            \
+         dtcopy.method(incValue);                                  \
+         totalIncrements++;                                        \
+      }                                                            \
+      for (long j=0; j<incCountUse; ++j)                           \
+      {                                                            \
+          dtcopy.method(-incValue);                                \
+          totalIncrements++;                                       \
+      }                                                            \
+      tdiff = dtcopy-dtorig;                                       \
+      cout << setw(18) << #method;                                 \
+      cout << setw(18) << totalIncrements;                         \
+      cout << setw(22) << setprecision(10) << tdiff;               \
+      cout << setw(21) << setprecision(8) << tdiff * C_GPS_M;      \
+      cout << setw(23) << setprecision(5) << diffTolerance;        \
+      cout << endl;                                                \
+      cumulativeResult = cumulativeResult &&                       \
+                         ( fabs(tdiff)<diffTolerance );           
+
+
+/// returns 0 if all tests pass
+int main()
+{
+   try
+   {
+      cout << endl << "Testing DayTime increment safety." << endl << endl;
+
+         // Set the DayTimes using Year, Month, Day, Hour, Minute, Second.
+      gpstk::DayTime dtorig(2000,12,1,0,0,0.0), dtcopy;
+
+         // Used to time the test.      
+      DayTime startTime;
+      bool cumulativeResult = true;
+      double tdiff;
+      long totalIncrements=0; 
+      long incCountUse;
+      
+      cout << setw(18) << "Increment operator";
+      cout << setw(18) << "# of increments";
+      cout << setw(22) << "Difference (seconds)";
+      cout << setw(21) << "Difference (meters)";
+      cout << setw(23) << "Acceptable Diff (sec)";
+      
+
+      cout << endl;
+
+      cout << setw(18) << "------------------";
+      cout << setw(18) << "---------------";
+      cout << setw(22) << "--------------------";
+      cout << setw(21) << "-------------------";
+      cout << setw(23) << "--------------------";
+      cout << endl;
+
+      TEST_METHOD(operator+=, 60,      1, 1e-15)
+      TEST_METHOD(operator+=, 3600,    1, 1e-15)
+      TEST_METHOD(operator+=, 86400,   1, 1e-15)
+      TEST_METHOD(operator+=, 7*86400, 1, 1e-15)
+      cout << endl;
+
+
+      TEST_METHOD(addMilliSeconds, 1000,         1, 1e-15)
+      TEST_METHOD(addMilliSeconds, 60*1000,      1, 1e-15)
+      TEST_METHOD(addMilliSeconds, 3600*1000,    1, 1e-15) 
+      TEST_METHOD(addMilliSeconds, 86400*1000,   1, 1e-15)
+      TEST_METHOD(addMilliSeconds, 86400*2*1000, 1, 1e-15)
+      TEST_METHOD(addMilliSeconds, 86400*7*1000, 1, 1e-15)
+      cout << endl;
+      
+      TEST_METHOD(addMicroSeconds, 1000*1000,      1, 1e-3)
+      TEST_METHOD(addMicroSeconds, 60*1000*1000,   1, 1e-3)
+      TEST_METHOD(addMicroSeconds, 5*60*1000*1000, 1, 1e-3)
+      cout << endl;
+      
+      DayTime endTime;
+
+      
+      cout << endl << setprecision(4);
+      cout << endTime.printf("Completed on %B %d, %Y %H:%02M:%02S") << endl;
+      cout << "Processing time " << endTime-startTime << " seconds." << endl;
+      cout << endl;
+      
+      int ret = 0;
+      if (cumulativeResult)
+         cout << "All comparison tests PASSED." << endl;
+      else
+      {
+         cout << "One ore more comparison tests FAILED." << endl;
+         ret = 1;
+      }
+
+      cout << endl;
+      
+      return ret;
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(...)
+   {
+      cout << "Some other exception thrown..." << endl;
+   }
+
+   cout << "Exiting with exceptions." << endl;
+   return -1;
+}
diff --git a/trunk/tests/DayTimeIncrementTest2.cpp b/trunk/tests/DayTimeIncrementTest2.cpp
new file mode 100644
index 0000000..31af4a7
--- /dev/null
+++ b/trunk/tests/DayTimeIncrementTest2.cpp
@@ -0,0 +1,102 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/DayTimeIncrementTest2.cpp#3 $"
+
+#include <iostream>
+#include <iomanip>
+#include <limits>
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "icd_200_constants.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+template<class T>
+void testmeth(unsigned long incCount, T incValue)
+{
+   gpstk::DayTime dtorig(2000,12,1,0,0,0.0), dtcopy;
+   double tdiff;
+   long totalIncrements=0; 
+   long incCountUse;
+
+   dtcopy = dtorig;
+   incCountUse = incCount/2;
+   for (long j=0; j<incCountUse; ++j)
+   {
+      dtcopy.addSeconds(incValue);
+      totalIncrements++;
+   }
+
+   for (long j=0; j<incCountUse; ++j)
+   {
+      dtcopy.addSeconds(-incValue);
+      totalIncrements++;
+   }
+
+   tdiff = dtcopy-dtorig;
+   cout << setw(8) << std::numeric_limits<T>::digits10
+        << setw(10) << incValue
+        << setw(15) << totalIncrements
+        << setw(20) << setprecision(10) << tdiff
+        << endl;
+}
+
+/// returns 0 if all tests pass
+int main()
+{
+   try
+   {
+      cout << "Testing DayTime addSeconds accuracy & speed." << endl;
+
+      
+      cout << setw(8)  << "digits"
+           << setw(10) << "incr"
+           << setw(15) << "count"
+           << setw(20) << "dt (sec)"
+           << endl;
+ 
+      DayTime startTime;
+      testmeth(60,       (long)1);
+      testmeth(3600,     (long)1);
+      testmeth(86400,    (long)1);
+      testmeth(7*86400,  (long)1);
+      cout << endl;
+
+      testmeth(1000,         1e-3);
+      testmeth(60*1000,      1e-3);
+      testmeth(3600*1000,    1e-3);
+      testmeth(86400*1000,   1e-3);
+      testmeth(86400*2*1000, 1e-3);
+      testmeth(86400*7*1000, 1e-3);
+      cout << endl;
+      
+      testmeth(1000*1000,      1e-6);
+      testmeth(60*1000*1000,   1e-6);
+      testmeth(5*60*1000*1000, 1e-6);
+      cout << endl;
+
+      testmeth(1000*1000,     1e-9);
+      testmeth(100*1000*1000, 1e-9);
+      cout << endl;
+      
+      testmeth(1000*1000,     1e-11);
+      testmeth(100*1000*1000, 1e-11);
+      cout << endl;
+
+      DayTime endTime;
+
+      cout << endl
+           << "Processing time "
+           << setprecision(4) << endTime-startTime
+           << " seconds."
+           << endl;
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(...)
+   {
+      cout << "Some other exception thrown..." << endl;
+   }
+}
diff --git a/trunk/tests/DayTimeToleranceTest.cpp b/trunk/tests/DayTimeToleranceTest.cpp
new file mode 100644
index 0000000..f2d87fe
--- /dev/null
+++ b/trunk/tests/DayTimeToleranceTest.cpp
@@ -0,0 +1,101 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/DayTimeToleranceTest.cpp#1 $"
+
+/* \example DayTimeToleranceTest.cpp
+ * This test evaluates user defined comparison tolerance feature of DayTime.
+ */
+
+#include <iostream>
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+
+using namespace std;
+
+/// returns 0 if all tests pass
+int main()
+{
+   using gpstk::DayTime;
+   
+   try
+   {
+      cout << "Testing DayTime tolerances." << endl;      
+
+         // Set the DayTimes using Year, Month, Day, Hour, Minute, Second.
+      gpstk::DayTime dt1(2000,12,1,0,0,0.0), 
+                     dt2(2000,12,1,0,0,0.0);
+    
+      int nCases = 11;
+      double secDiff[]=
+        { 1.01,  1.0,  .99,   .5,  .25,   .0, -.25,  -.5, -.99, -1.0, - 1.01 };
+
+      bool   oneSecTolPass[]=
+        { false, true, true, true, true, true, true, true, true, true, false};
+      
+      bool   halfSecTolPass[]=
+        { false, false, false, true, true, true, true, true, false, false, false};
+         // column widths: 24 24 5 7 7 7 7
+      cout << "         Time 1                   Time 2         "
+         "  diff       1 sec         0.5 sec" << endl;
+
+      string equal(  "   Equal");
+      string inequal(" Inequal");
+
+      bool cumulativeResult = true;
+      
+      for (int i=0; i<nCases; i++)
+      {
+         dt2 = dt1 + secDiff[i];
+         string fmt("%m/%d/%Y %02H:%02M:%07.4f");
+         cout << setw(24) << dt1.printf(fmt) << " " 
+              << setw(24) << dt2.printf(fmt) << " " 
+              << setw(5) << dt2 - dt1 << " ";
+
+            // Set dt1 and dt2 to one second tolerance.
+         dt1.setTolerance(gpstk::DayTime::ONE_SEC_TOLERANCE);
+         dt2.setTolerance(gpstk::DayTime::ONE_SEC_TOLERANCE);
+         
+         cout << (oneSecTolPass[i] ? equal : inequal)
+              << ((dt1 == dt2)     ? equal : inequal) ;
+
+         cumulativeResult = cumulativeResult && (oneSecTolPass[i]==(dt1==dt2));
+         
+            // Set dt1 and dt2 to half second tolerance.
+         dt1.setTolerance(gpstk::DayTime::ONE_SEC_TOLERANCE * 0.5);
+         dt2.setTolerance(gpstk::DayTime::ONE_SEC_TOLERANCE * 0.5);
+
+         cout << (halfSecTolPass[i]  ? equal : inequal) 
+              << ((dt1 == dt2)       ? equal : inequal)
+              << endl ;
+
+         cumulativeResult = cumulativeResult && 
+                            (halfSecTolPass[i]==(dt1==dt2));
+
+      }
+
+      cout << endl;
+      cout << DayTime().printf("Completed on %B %d, %Y %H:%02M:%02S");
+      cout << endl << endl;
+      
+      int ret = 0;
+      if (cumulativeResult)
+         cout << "All comparison tests PASSED." << endl;
+      else
+      {
+         cout << "One ore more comparison tests FAILED." << endl;
+         ret = 1;
+      }
+      
+      return ret;
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(...)
+   {
+      cout << "Some other exception thrown..." << endl;
+   }
+
+   cout << "Exiting with exceptions." << endl;
+   return -1;
+}
diff --git a/trunk/tests/EphComp.cpp b/trunk/tests/EphComp.cpp
new file mode 100755
index 0000000..a09e7fd
--- /dev/null
+++ b/trunk/tests/EphComp.cpp
@@ -0,0 +1,108 @@
+// EphComp.cpp compare BC and SP3 ephemerides
+//
+#include <iostream>
+#include <iomanip>
+#include <string>
+#include <map>
+
+#include "DayTime.hpp"
+
+#include "RinexEphemerisStore.hpp"
+#include "SP3EphemerisStore.hpp"
+
+#include "CommandOption.hpp"
+#include "CommandOptionParser.hpp"
+
+/**
+ * @file Ephcomp.cpp
+ * 
+ */
+using namespace std;
+
+int main(int argc, char *argv[])
+{
+   try
+   {
+      gpstk::CommandOptionNoArg
+         helpOption('h', "help", "Print help usage");
+      gpstk::CommandOptionWithNumberArg
+         prnOption('s', "prn", "Which SV to compare");
+      gpstk::CommandOptionWithAnyArg
+         sp3Files('p', "precise", "SP3 file",true),
+         bceFiles('b', "broadcast", "RINEX nav file",true);
+
+      string appDesc("Computes diferences between broadcast and precise ephemerides.");
+      gpstk::CommandOptionParser cop(appDesc);
+      cop.parseOptions(argc, argv);
+
+      if (helpOption.getCount() || cop.hasErrors())
+      {
+         if (cop.hasErrors())
+            cop.dumpErrors(cout);
+         cop.displayUsage(cout);
+         exit(0);
+      }
+
+      // load all the SP3 ephemerides files
+      gpstk::SP3EphemerisStore SP3EphList;
+      SP3EphList.loadFiles(sp3Files.getValue());
+
+      // load the BC ephemerides
+      gpstk::RinexEphemerisStore BCEphList;
+      BCEphList.loadFiles(bceFiles.getValue());
+         
+      int prn=13;
+      if (prnOption.getCount())
+         prn = gpstk::StringUtils::asInt((prnOption.getValue())[0]);
+      unsigned long ref;
+
+      // choose a time range within the data....
+      gpstk::DayTime te(BCEphList.getFinalTime());
+      gpstk::DayTime t(BCEphList.getInitialTime());
+      //BCEphList.SearchNear();
+      gpstk::Xvt SP3PVT,BCPVT;
+      while (t < te)
+      {
+         t += 15.0;
+         try
+         {
+            // get the SP3 & BCE PVT
+            SP3PVT = SP3EphList.getPrnXvt(prn,t);
+            BCPVT = BCEphList.getPrnXvt(prn,t);
+            cout << fixed << t
+                 << " " << setw(2) << prn
+                 << setprecision(6)
+                 << " " << setw(13) << BCPVT.x[0]-SP3PVT.x[0]
+                 << " " << setw(13) << BCPVT.x[1]-SP3PVT.x[1]
+                 << " " << setw(13) << BCPVT.x[2]-SP3PVT.x[2]
+                 << scientific
+                 << " " << setw(13) << BCPVT.dtime-SP3PVT.dtime
+                 << fixed
+                 << " " << setw(13) << BCPVT.v[0]-SP3PVT.v[0]
+                 << " " << setw(13) << BCPVT.v[1]-SP3PVT.v[1]
+                 << " " << setw(13) << BCPVT.v[2]-SP3PVT.v[2]
+                 << scientific
+                 << " " << setw(13) << BCPVT.ddtime-SP3PVT.ddtime
+                 << endl;
+         }
+         catch (gpstk::EphemerisStore::NoEphemerisFound& e)
+         {
+            cerr << t << " " << e << endl;
+            continue;
+         }
+
+      }
+   }
+   catch (gpstk::Exception& e)
+   {
+      cout << e;
+      exit(-1);
+   }
+   catch (...)
+   {
+      cout << "Caught an unknown exception" << endl;
+      exit(-1);
+   }
+
+   return 0;
+}
diff --git a/trunk/tests/EphComp.gp b/trunk/tests/EphComp.gp
new file mode 100644
index 0000000..6055e2f
--- /dev/null
+++ b/trunk/tests/EphComp.gp
@@ -0,0 +1,30 @@
+#
+# Used to plot the output from EphComp
+#
+set label 1 "Ephemeris Comparison" at graph 0.5,0.96 center
+set label 2 "Broadcast - SP3" at graph 0.5,0.91 center
+set key box linewidth 0.250
+
+set xlabel "Time"
+set xdata time
+set timefmt "%m/%d/%Y %H:%M:%S"
+set format x "%H:%02M\n%j\n%Y"
+set xtics nomirror
+set grid xtics
+
+set ylabel "Position difference (m)"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set y2label "Velocity difference (m/s)"
+set grid ytics
+
+# set terminal postscript landscape color
+# set output "EphComp.ps"
+
+plot "EphComp.out" using 1:4 t "X" with points pointsize 0.5,\
+     "" using 1:5 t "Y" with points pointsize 0.5,\
+     "" using 1:6 t "Z" with points pointsize 0.5,\
+     "" using 1:8 axes x1y2 t "VX" with points pointsize 0.5,\
+     "" using 1:9 axes x1y2 t "VY" with points pointsize 0.5,\
+     "" using 1:10 axes x1y2 t "VZ" with points pointsize 0.5
diff --git a/trunk/tests/EphCompWin.gp b/trunk/tests/EphCompWin.gp
new file mode 100644
index 0000000..5e55297
--- /dev/null
+++ b/trunk/tests/EphCompWin.gp
@@ -0,0 +1,31 @@
+#
+# Used to plot the output from EphComp
+#
+set label 1 "Ephemeris Comparison" at graph 0.5,0.96 center
+set label 2 "Broadcast - SP3" at graph 0.5,0.91 center
+set key box linewidth 0.250
+
+set xlabel "Time"
+set xdata time
+set timefmt "%m/%d/%Y %H:%M:%S"
+set format x "%H:%02M\n%j\n%Y"
+set xtics nomirror
+set grid xtics
+
+set ylabel "Position difference (m)"
+set autoscale y2
+set ytics nomirror
+set y2tics
+set y2label "Velocity difference (m/s)"
+set grid ytics
+
+# set terminal postscript landscape color
+# set output "EphComp.ps"
+
+plot "EphComp.out" using 1:4 t "X" with points pointsize 0.5,\
+     "" using 1:5 t "Y" with points pointsize 0.5,\
+     "" using 1:6 t "Z" with points pointsize 0.5,\
+     "" using 1:8 axes x1y2 t "VX" with points pointsize 0.5,\
+     "" using 1:9 axes x1y2 t "VY" with points pointsize 0.5,\
+     "" using 1:10 axes x1y2 t "VZ" with points pointsize 0.5
+pause -1 "EphComp test"
diff --git a/trunk/tests/FileSpecTest.cpp b/trunk/tests/FileSpecTest.cpp
new file mode 100755
index 0000000..fac6e23
--- /dev/null
+++ b/trunk/tests/FileSpecTest.cpp
@@ -0,0 +1,114 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/FileSpecTest.cpp#2 $"
+
+#include <iostream>
+#include <cstdio>
+
+#include "FileSpec.hpp"
+#include "FileHunter.hpp"
+#include "DayTime.hpp"
+
+/**
+ * @file FileSpecTest.cpp
+ *
+ */
+
+using namespace std;
+
+main()
+{
+   try
+   {
+      cout << "Please make sure you've run genFileSpecTestDirs.pl before beginning." << endl;
+      cout << "push enter to continue" << endl;
+      getchar();
+      
+      int i;
+#ifndef _WIN32
+      gpstk::FileHunter moo("fstest/ADMS%3n/RINEXOBS/S%2n%t%03jA.%02yO");
+#else
+      gpstk::FileHunter moo("fstest\\ADMS%3n\\RINEXOBS\\S%2n%t%03jA.%02yO");
+#endif
+      moo.dump(cout);
+
+      gpstk::DayTime start = gpstk::DayTime(2001, 51, (double)0);
+      gpstk::DayTime end = gpstk::DayTime(2001, 53, (double)0);
+      cout << "All files should be between " << start << " and " << end << " ascending. " << endl;
+      vector<string> vs = moo.find(start, 
+                                   end,
+                                   gpstk::FileSpec::ascending);
+      for(i = 0; i < vs.size(); i++)
+      {
+         cout << "search1 " << vs[i] << endl;
+      }
+
+      cout << endl;
+      cout << "All files should be between " << start << " and " << end << " descending. " << endl;
+      vs = moo.find(start, 
+                    end,
+                    gpstk::FileSpec::descending);
+      for(i = 0; i < vs.size(); i++)
+      {
+         cout << "2 " << vs[i] << endl;
+      }
+
+      cout << endl;
+      cout << "All files ascending order" << endl;
+      vs = moo.find(gpstk::DayTime::BEGINNING_OF_TIME,
+                    gpstk::DayTime::END_OF_TIME,
+                    gpstk::FileSpec::ascending);
+      for(i = 0; i < vs.size(); i++)
+      {
+         cout << "search3 " << vs[i] << endl;
+      }
+
+      cout << endl;
+      vector<string> stationFilter;
+      stationFilter.push_back("85402");
+      moo.setFilter(gpstk::FileSpec::station, stationFilter);
+      cout << "All files from 85402 descending order" << endl;
+      vs = moo.find(gpstk::DayTime::BEGINNING_OF_TIME,
+                    gpstk::DayTime::END_OF_TIME,
+                    gpstk::FileSpec::descending);
+      for(i = 0; i < vs.size(); i++)
+      {
+         cout << "search4 " << vs[i] << endl;
+      }
+
+         // this tests the version filtering of file hunter
+      cout << " version search shoudl return the highest number " << endl;
+      moo.newHunt("%1v");
+      moo.dump(cout);
+      vs = moo.find();
+      for(i = 0; i < vs.size(); i++)
+      {
+         cout << "version search " << vs[i] << endl;
+      }
+      cout << endl;
+   }
+   catch (gpstk::Exception& e)
+   {
+      cout << e << endl;
+      return -1;
+   }
+   
+      // this tests the FileSpec finctions for extracting and setting
+      // file information
+
+   cout << "testing FileSpec extraction functions" << endl;
+   gpstk::FileSpec boo("ADMS%3n/RINEXOBS/S%2n%t%03jA.%02yO");
+   boo.dump(cout);
+   gpstk::DayTime now;
+   gpstk::FileSpec::FSTStringMap fstsMap;
+   fstsMap[gpstk::FileSpec::station] = string("85408");
+   fstsMap[gpstk::FileSpec::selected] = string("1");
+   string filename = boo.toString(now, fstsMap);
+   cout << filename << endl;
+   cout << "station " << boo.extractField(filename, gpstk::FileSpec::station) << endl;
+   cout << "daytime " << boo.extractDayTime(filename) << endl;
+
+   boo.newSpec("ADMS402/RINEXOBS/S%2n%t%03jA.%02yO");
+   boo.dump(cout);
+
+   return 0;
+
+}
diff --git a/trunk/tests/FileSpecTest.pl b/trunk/tests/FileSpecTest.pl
new file mode 100755
index 0000000..9aeccbe
--- /dev/null
+++ b/trunk/tests/FileSpecTest.pl
@@ -0,0 +1,15 @@
+#!/usr/bin/perl
+# $Id: //depot/sgl/gpstk/dev/tests/FileSpecTest.pl#1 $
+#
+#
+#
+#
+#
+#
+#
+#
+
+$exedir=$ARGV[0];
+system "$exedir/genFileSpecTestDirs";
+system "$exedir/FileSpecTest";
+system "$exedir/delFileSpecTestDirs";
diff --git a/trunk/tests/Jamfile b/trunk/tests/Jamfile
new file mode 100644
index 0000000..1a6ec8b
--- /dev/null
+++ b/trunk/tests/Jamfile
@@ -0,0 +1,63 @@
+#
+# $Id: //depot/sgl/gpstk/dev/tests/Jamfile#12 $
+#
+
+SubDir TOP tests ;
+
+GPSLinkLibraries rinex_obs_test rinex_met_test rinex_met_read_write
+   rinex_nav_read_write rinex_obs_read_write rinex_nav_test 
+   EphComp AnotherFileFilterTest FileSpecTest MatrixTest 
+   exceptiontest petest stringutiltest daytimetest rktest gpszcounttest
+   positiontest DayTimeToleranceTest DayTimeIncrementTest
+   DayTimeConversionTest DayTimeIncrementTest2 MinSfTest TimeTest 
+   Xbegweek Xendweek
+
+   : gpstk ;
+
+Main rinex_obs_test : rinex_obs_test.cpp ;
+Main rinex_nav_test : rinex_nav_test.cpp ;
+Main rinex_met_test : rinex_met_test.cpp ;
+
+Main rinex_met_read_write : rinex_met_read_write.cpp ;
+Main rinex_nav_read_write : rinex_nav_read_write.cpp ;
+Main rinex_obs_read_write : rinex_obs_read_write.cpp ;
+
+Main AnotherFileFilterTest : AnotherFileFilterTest.cpp ;
+
+Main EphComp : EphComp.cpp ;
+
+Main FileSpecTest : FileSpecTest.cpp ;
+
+Main MatrixTest : MatrixTest.cpp ;
+
+Main exceptiontest : exceptiontest.cpp ;
+
+Main petest : petest.cpp ;
+
+Main stringutiltest : stringutiltest.cpp ;
+
+Main daytimetest : daytimetest.cpp ;
+
+Main rktest : RungeKuttaTest.cpp ;
+
+Main gpszcounttest : gpszcounttest.cpp ;
+
+Main positiontest : positiontest.cpp ;
+
+Main DayTimeToleranceTest : DayTimeToleranceTest.cpp ;
+
+Main DayTimeIncrementTest : DayTimeIncrementTest.cpp ;
+
+Main DayTimeIncrementTest2 : DayTimeIncrementTest2.cpp ;
+
+Main DayTimeConversionTest : DayTimeConversionTest.cpp ;
+
+Main TimeTest : TimeTest.cpp ;
+
+Main MinSfTest : MinSfTest.cpp ;
+
+Main Xbegweek : Xbegweek.cpp ;
+
+Main Xendweek : Xendweek.cpp ;
+
+
diff --git a/trunk/tests/Makefile.am b/trunk/tests/Makefile.am
new file mode 100644
index 0000000..72197f9
--- /dev/null
+++ b/trunk/tests/Makefile.am
@@ -0,0 +1,34 @@
+INCLUDES = -I../src
+LDADD = ../src/libgpstk.la
+
+noinst_PROGRAMS = rinex_obs_test rinex_nav_test rinex_met_test rinex_met_read_write rinex_nav_read_write rinex_obs_read_write EphComp AnotherFileFilterTest FileSpecTest MatrixTest exceptiontest petest stringutiltest daytimetest rktest gpszcounttest positiontest
+
+rinex_obs_test_SOURCES = rinex_obs_test.cpp
+rinex_nav_test_SOURCES = rinex_nav_test.cpp
+rinex_met_test_SOURCES = rinex_met_test.cpp
+
+rinex_met_read_write_SOURCES = rinex_met_read_write.cpp
+rinex_nav_read_write_SOURCES = rinex_nav_read_write.cpp
+rinex_obs_read_write_SOURCES = rinex_obs_read_write.cpp
+
+AnotherFileFilterTest_SOURCES = AnotherFileFilterTest.cpp
+
+EphComp_SOURCES = EphComp.cpp
+
+FileSpecTest_SOURCES = FileSpecTest.cpp
+
+MatrixTest_SOURCES = MatrixTest.cpp
+
+exceptiontest_SOURCES = exceptiontest.cpp
+
+petest_SOURCES = petest.cpp
+
+stringutiltest_SOURCES = stringutiltest.cpp
+
+daytimetest_SOURCES = daytimetest.cpp
+
+rktest_SOURCES = RungeKuttaTest.cpp
+
+gpszcounttest_SOURCES = gpszcounttest.cpp
+
+positiontest_SOURCES = positiontest.cpp
diff --git a/trunk/tests/MatrixTest.cpp b/trunk/tests/MatrixTest.cpp
new file mode 100755
index 0000000..fc2739c
--- /dev/null
+++ b/trunk/tests/MatrixTest.cpp
@@ -0,0 +1,673 @@
+#include "Vector.hpp"
+#include "Matrix.hpp"
+#include "PolyFit.hpp"
+#include "Stats.hpp"
+
+#include <iostream>
+#include <iomanip>
+#include <fstream>   // for copyfmt
+
+/**
+ * @file MatrixTest.cpp
+ *
+ */
+
+using namespace std;
+
+int ReadMatrix(gpstk::Matrix<double>& M, string& file)
+{
+   ifstream infile(file.c_str());
+   if(!infile) return -1;
+
+   enum Type{GEN,LOW,UPT,DIA,SYM,SQU};
+   string labels[6]={"GEN","LOW","UPT","DIA","SYM","SQU"};
+   bool dimmed=false;
+   char ch;
+   int r=0,c=0,i=0,j=0;
+   string buffer;
+   Type type=GEN;
+   while(infile >> buffer) {
+      if(buffer[0] == '#') {        // skip to end of line
+         while(infile.get(ch)) { if(ch=='\n') break; }
+      }
+      else {
+         string::size_type in;
+         if((in=buffer.find("r=")) != string::npos) {
+            r = strtol(buffer.substr(in+2).c_str(),0,10);
+            //cout << "Found r = " << r << endl;
+            if(type != GEN) c=r;
+         }
+         else if((in=buffer.find("c=")) != string::npos) {
+            c = strtol(buffer.substr(in+2).c_str(),0,10);
+            //cout << "Found c = " << c << endl;
+            if(type != GEN) r=c;
+         }
+         else if((in=buffer.find("t=")) != string::npos) {
+            if((in=buffer.find("LOW")) != string::npos) type=LOW;
+            if((in=buffer.find("UPT")) != string::npos) type=UPT;
+            if((in=buffer.find("DIA")) != string::npos) type=DIA;
+            if((in=buffer.find("SYM")) != string::npos) type=SYM;
+            if((in=buffer.find("SQU")) != string::npos) type=SQU;
+            //cout << "Found type " << labels[type] << endl;
+         }
+         else if(buffer == string(":::")) {
+            if(r*c == 0) return 0;
+            M = gpstk::Matrix<double>(r,c,double(0));
+            dimmed = true;
+         }
+         else {
+            if(!dimmed) continue;
+            M(i,j) = strtod(buffer.c_str(),0);
+            j++;
+            switch(type) {
+               case LOW: if(j>i) { i++; j=0; } break;
+               case UPT: if(j>=c) { i++; j=i; } break;
+               case DIA: i=j; break;
+               case SYM: M(j-1,i) = M(i,j-1); if(j>i) { i++; j=0; } break;
+               case SQU: case GEN: default: if(j>=c) { i++; j=0; } break;
+            }
+         }
+      }
+   }
+   infile.close();
+   if(!dimmed) return -2;
+   return 0;
+}
+
+void VectorTest(void)
+{
+   cout << "\n -------------- Vector Test ---------------------------------\n";
+   gpstk::Vector<double> V(10);
+   V += 3.1415;
+   cout << "V = " << V << endl;
+
+   double dat[10]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10.1};
+   V = dat;
+   cout << "V = " << V << endl;
+   //cout << "Median of V " << median(V) << endl;
+   cout << "V min " << min(V) << ", max " << max(V) << ", sum " << sum(V) << endl;
+
+      // slice is (init,number,stride)
+   gpstk::VectorSlice<double> Vodd(V,std::slice(0,5,2));
+   gpstk::ConstVectorSlice<double> Veve(V,std::slice(1,5,2));
+   cout << "Vodd = " << Vodd << endl;
+   cout << "Veve = " << Veve << endl;
+   Vodd[1] = Vodd[3] = 0;
+   //Veve[1] = Veve[4] = 99; compiler won't let you have Veve as l-value
+   V[3] = V[7] = 99;    // but you can change V, and that will show in Veve
+   cout << "Vodd = " << Vodd << endl;
+   cout << "Veve = " << Veve << endl;
+   cout << "Minkowski of Vodd and Veve " << Minkowski(Vodd,Veve) << endl;
+   cout << "dot of Vodd and Veve " << dot(Vodd,Veve) << endl;
+   cout << "V    = " << V << endl;
+   cout << "V min " << min(V) << ", max " << max(V) << ", sum " << sum(V) << ", norm " << norm(V) << endl;
+
+   gpstk::Vector<double> W=V;
+   V.zeroTolerance = 1.e-15;
+   cout << "Zero tolerance for V is " << V.zeroTolerance << endl;
+   V.zeroTolerance = 1.e-5;
+   cout << "Zero tolerance for W is " << W.zeroTolerance << endl;
+
+   W += V;
+   cout << "Here is W the usual way :\n";
+   cout << ' ' << fixed << setfill('.') << setw(8) << setprecision(3) << W << endl;
+
+   cout << "Here is W the saved way :\n";
+   cout << fixed << setfill('.') << setw(8) << setprecision(3);
+   ofstream savefmt;
+   savefmt.copyfmt(cout);
+   for(int i=0; i<W.size(); i++) {
+      cout.copyfmt(savefmt);
+      cout << W[i];
+   }
+   cout << setfill(' ') << endl;
+
+   gpstk::Vector<double> Sum;
+   Sum = V + W;
+   cout << "Sum = " << setw(8) << Sum << endl;
+
+   gpstk::ConstVectorSlice<double> CVS(V,std::slice(0,V.size(),1));
+   cout << "CVS = " << setw(13) << CVS << endl;
+}
+
+void MatrixTest1(int argc, char **argv)
+{
+   cout << "\n -------------- Matrix Test 1 ---------------------------------\n";
+   gpstk::Matrix<double> MD(2,5);
+   double dat[10]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9,10.1};
+   MD = dat;
+   cout << "Matrix (" << MD.rows() << "," << MD.cols() << ") from double* :\n" << fixed << setprecision(1) << setw(5) << MD << endl;
+
+   string filename(argv[5]);
+   gpstk::Matrix<double> MF;
+   int iret=ReadMatrix(MF,filename);
+   if(iret < 0) {
+      cerr << "Error: could not open file " << filename << endl;
+      return;
+   }
+   //cout << "Matrix (" << MF.rows() << "," << MF.cols() << ") from file :\n" << fixed << setprecision(1) << setw(7) << MF << endl;
+
+      // pick off last column
+   gpstk::Vector<double> B(MF.colCopy(MF.cols()-1));
+
+      // copy all but last column
+   gpstk::Matrix<double> A(MF,0,0,MF.rows(),MF.cols()-1);
+   cout << "Partials Matrix (" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << A << endl;
+   cout << "Data vector (" << B.size() << ") :\n" << fixed << setprecision(3) << setw(10) << B << endl;
+
+      // take ATA, then invert
+   gpstk::Matrix<double> AT,ATA;
+   AT = transpose(A);
+   //cout << "Transposed matrix (" << AT.rows() << "," << AT.cols() << ") :\n" << fixed << setprecision(1) << setw(7) << AT << endl;
+   ATA = AT * A;
+   //cout << "ATA matrix (" << ATA.rows() << "," << ATA.cols() << ") :\n" << fixed << setprecision(3) << setw(13) << ATA << endl;
+   gpstk::Matrix<double> Ainv;
+   try { Ainv=inverse(ATA); }
+   catch (gpstk::Exception& e) { cout << e << endl; return;}
+   cout << "Covariance matrix (" << Ainv.rows() << "," << Ainv.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << Ainv << endl;
+
+   gpstk::Vector<double> Sol;
+   Sol = Ainv * AT * B;
+   cout << "Solution vector (" << Sol.size() << ") :\n" << fixed << setprecision(3) << setw(10) << Sol << endl;
+   gpstk::Vector<double> Two;
+   Two = B - A*Sol;
+   cout << "Residual vector (" << Two.size() << ") :\n" << scientific << setprecision(3) << setw(10) << Two << endl;
+
+   Two = Sol + Sol;
+   cout << "2*Solution vector (" << Two.size() << ") :\n" << fixed << setprecision(3) << setw(10) << Two << endl;
+
+   gpstk::Matrix<double> TA;
+   TA = A + A;
+   cout << "2*Partials Matrix (" << TA.rows() << "," << TA.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << TA << endl;
+
+   int i;
+   gpstk::Vector<double> c(8),b(7);
+   gpstk::Matrix<double> W;
+   for(i=0; i<8; i++) c(i)=3*i;
+   for(i=0; i<7; i++) b(i)=i+1;
+   W = outer(c,b);
+   cout << "Vector c(" << c.size() << ") :\n" << fixed << setprecision(3) << setw(7) << c << endl;
+   cout << "Vector b(" << b.size() << ") :\n" << fixed << setprecision(3) << setw(7) << b << endl;
+   cout << "Their outer product (" << W.rows() << "," << W.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << W << endl;
+   cout << "Their norms " << norm(b) << " and " << norm(c) << " and dot " << dot(c,b) << " and cosine " << cosVec(c,b) << endl;
+}
+
+void MatrixTest2(void)
+{
+   cout << "\n -------------- Matrix Test 2 ---------------------------------\n";
+   for(int n=2; n<13; n++) {
+      double big,small,cond;
+      gpstk::Matrix<double> MM(n,n),Minv,Prod;
+      for(int i=0; i<n; i++) {
+         for(int j=0; j<n; j++) {
+            MM(i,j) = 1.0/(i+j+1.0);
+         }
+      }
+      cout << "Tough matrix (" << MM.rows() << "," << MM.cols() << ") :\n" << fixed << setprecision(6) << setw(9) << MM << endl;
+      Minv = inverse(MM);
+      try { Minv=inverse(MM); }
+      catch (gpstk::Exception& e) { cout << e << endl; break;}
+      cond = condNum(MM,big,small);
+      cout << "Condition number for " << n << " is " << fixed << setprecision(3) << big << "/" << scientific << setprecision(3) << small;
+      if(small > 0.0) cout << " = " << setprecision(3) << big/small;
+      cout << endl;
+      cout << "Inverse matrix (" << Minv.rows() << "," << Minv.cols() << ") :\n" << fixed << setprecision(3) << setw(10+(n>5?n:0)) << Minv << endl;
+      Prod = Minv * MM;
+      gpstk::Vector<double>V;
+      V.zeroTolerance = 1.e-3;
+      Prod.zeroize();
+      cout << "Unity matrix (" << Prod.rows() << "," << Prod.cols() << ") ? :\n" << fixed << setprecision(9) << setw(12) << Prod << endl;
+   }
+}
+
+void MatrixTest3(int argc, char **argv)
+{
+   cout << "\n -------------- Matrix Test 3 ---------------------------------\n";
+   cout << "Read and print matrix from file\n";
+   double cond,big,small;
+   gpstk::Matrix<double> A,Ainv,P;
+   for(int i=1; i<argc; i++) {
+      string filename=argv[i];
+      cout << "File " << filename;
+      int iret=ReadMatrix(A,filename);
+      cout << " (" << iret << ") Matrix(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << A << endl;
+
+      if(A.rows() != A.cols()) {
+         gpstk::Matrix<double> AT;
+         AT = gpstk::transpose(A);
+         A = AT*A;
+         cout << " ATA Matrix(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << A << endl;
+      }
+      cond = condNum(A,big,small);
+      cout << "Condition number is " << fixed << setprecision(3) << big << "/" << scientific << setprecision(3) << small;
+      cout << " = " << fixed << big/small << endl;
+      try { Ainv=gpstk::inverse(A); }
+      catch (gpstk::Exception& e) { cout << e << endl; continue;}
+      cout << "Inverse matrix (" << Ainv.rows() << "," << Ainv.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << Ainv << endl;
+      P = Ainv * A;
+      cout << "Unity matrix (" << P.rows() << "," << P.cols() << ") ? :\n" << fixed << setprecision(9) << setw(12) << P << endl;
+   }
+}
+
+void MatrixTest4(void)
+{
+   cout << "\n -------------- Matrix Test 4 ---------------------------------\n";
+   const int N=7; // rows = columns
+   double mat[N*N]={       // storage by columns
+      8.317,  6.212,  2.574,  5.317,  2.080, -9.133, -2.755,
+      0.212,  3.292,  1.574,  1.028,  3.370, -2.077, -2.739,
+      5.740,  1.574,  1.911,  1.390,  8.544,  8.930,  9.216,
+      4.317,  1.028,  1.039,  7.126,  4.512,  8.538,  5.226,
+      -1.109,  7.438,  7.236,  6.783,  0.356, -9.509, -0.109,
+      0.174,  5.408, -9.503, -6.527, -6.589, -6.375, -7.239,
+      1.960,  6.592,  9.440,  4.428, -4.531,  5.084,  4.296
+   };
+   double dat[N]={ 14.289,  9.284, -1.128,  8.389, -6.929,  4.664,  7.590 };
+
+   int i,j;
+   gpstk::Matrix<double> A(N,N);
+   gpstk::Vector<double> b(N);
+   A = mat;
+   A = transpose(A);
+   b = dat;
+
+   cout << "Matrix A(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << A << endl;
+   cout << "Vector b(" << b.size() << ") :\n" << fixed << setprecision(3) << setw(7) << b << endl;
+   cout << "\nNow solve using SVD\n";
+
+   gpstk::SVD<double> Asvd;
+   gpstk::Matrix<double> U,V;
+   gpstk::Vector<double> S;
+
+   Asvd(A);
+   U = Asvd.U;
+   V = Asvd.V;
+   S = Asvd.S;
+   cout << "Singular Values (" << S.size() << ") :\n" << fixed << setprecision(3) << setw(7) << S << endl;
+   cout << "Matrix U(" << U.rows() << "," << U.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << U << endl;
+   cout << "Matrix V(" << V.rows() << "," << V.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << V << endl;
+
+   gpstk::Matrix<double> P,W(A);
+   W = 0.0;
+   for(i=0; i<S.size(); i++) W(i,i)=S(i);
+   P = U * W * transpose(V);
+   P = P - A;
+   P.zeroize();
+   cout << "Difference (" << P.rows() << "," << P.cols() << ") :\n" << scientific << setprecision(3) << setw(10) << P << endl;
+
+   cout << "Determinant of A = " << scientific << setprecision(3) << Asvd.det();
+   double d=1;
+   for(i=0; i<N; i++) d *= S(i);
+   cout << " -- Compare to " << scientific << setprecision(3) << d << endl;
+   gpstk::Vector<double> X(b);
+   Asvd.backSub(X);
+   cout << "Solution via backsubstitution (" << X.size() << ") :\n" << fixed << setprecision(3) << setw(7) << X << endl;
+   S = b-A*X;
+   cout << "Solution residuals (" << S.size() << ") :\n" << scientific << setprecision(3) << setw(7) << S << endl;
+
+   cout << "\nSort in ascending order\n";
+   Asvd.sort(false);
+   U = Asvd.U;
+   V = Asvd.V;
+   S = Asvd.S;
+   cout << "Singular Values (" << S.size() << ") :\n" << fixed << setprecision(3) << setw(7) << S << endl;
+   cout << "Matrix U(" << U.rows() << "," << U.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << U << endl;
+   cout << "Matrix V(" << V.rows() << "," << V.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << V << endl;
+
+   // now chop off the last column of A and repeat
+   cout << "\n\nNow reduce A by one column and repeat\n";
+   A = gpstk::Matrix<double>(A,0,0,A.rows(),A.cols()-1);
+   cout << "Matrix A(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << A << endl;
+   Asvd(A);
+   S = Asvd.S;
+   U = Asvd.U;
+   V = Asvd.V;
+   cout << "Singular Values (" << S.size() << ") :\n" << fixed << setprecision(3) << setw(7) << S << endl;
+   cout << "Matrix U(" << U.rows() << "," << U.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << U << endl;
+   cout << "Matrix V(" << V.rows() << "," << V.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << V << endl;
+   W = A;
+   W = 0.0;
+   for(i=0; i<S.size(); i++) W(i,i)=S(i);
+   P = U * W * transpose(V);
+   P = P - A;
+   P.zeroize();
+   cout << "Difference (" << P.rows() << "," << P.cols() << ") :\n" << scientific << setprecision(3) << setw(10) << P << endl;
+}
+
+void MatrixTest5(void)
+{
+   cout << "\n -------------- Matrix Test 5 ---------------------------------\n";
+   const int N=7; // rows = columns
+   double mat[N*N]={       // storage by columns
+      8.317,  6.212,  2.574,  5.317,  2.080, -9.133, -2.755,
+      0.212,  3.292,  1.574,  1.028,  3.370, -2.077, -2.739,
+      5.740,  1.574,  1.911,  1.390,  8.544,  8.930,  9.216,
+      4.317,  1.028,  1.039,  7.126,  4.512,  8.538,  5.226,
+      -1.109,  7.438,  7.236,  6.783,  0.356, -9.509, -0.109,
+      0.174,  5.408, -9.503, -6.527, -6.589, -6.375, -7.239,
+      1.960,  6.592,  9.440,  4.428, -4.531,  5.084,  4.296
+   };
+   double dat[N]={ 14.289,  9.284, -1.128,  8.389, -6.929,  4.664,  7.590 };
+
+   int i,j;
+   gpstk::Matrix<double> A(N,N);
+   gpstk::Vector<double> b(N);
+   A = mat;
+   A = gpstk::transpose(A);
+   b = dat;
+
+   cout << "Matrix A(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << A << endl;
+   cout << "Vector b(" << b.size() << ") :\n" << fixed << setprecision(3) << setw(7) << b << endl;
+   cout << "\nNow solve using LUD\n";
+
+   gpstk::LUDecomp<double> LUA;
+   LUA(A);
+   //cout << "LU: Matrix L(" << LUA.L.rows() << "," << LUA.L.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << LUA.L << endl;
+   //cout << "LU: Matrix U(" << LUA.U.rows() << "," << LUA.U.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << LUA.U << endl;
+   //cout << "LU: Matrix P(" << LUA.P.rows() << "," << LUA.P.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << LUA.P << endl;
+   cout << "Matrix LU(" << LUA.LU.rows() << "," << LUA.LU.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << LUA.LU << endl;
+   cout << "Determinant of A = " << scientific << setprecision(3) << LUA.det() << endl;
+
+   gpstk::Vector<double> X(b),S;
+   try { LUA.backSub(X); }
+   catch (gpstk::Exception& e) { cout << e << endl; return;}
+   cout << "Solution via backsubstitution (" << X.size() << ") :\n" << fixed << setprecision(3) << setw(7) << X << endl;
+   S = b-A*X;
+   cout << "Solution residuals (" << S.size() << ") :\n" << scientific << setprecision(3) << setw(7) << S << endl;
+}
+
+void MatrixTest6(int argc, char **argv)
+{
+   cout << "\n -------------- Matrix Test 6 ---------------------------------\n";
+   string filename(argv[7]);
+   gpstk::Matrix<double> A;
+   int iret=ReadMatrix(A,filename);
+   if(iret < 0) {
+      cerr << "Error: could not open file " << filename << endl;
+      return;
+   }
+   double dat[4]={1.,2.,3.,4.};
+
+   gpstk::Vector<double> b(4);
+   b = dat;
+   cout << "Matrix A(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << A << endl;
+   cout << "Vector b(" << b.size() << ") :\n" << fixed << setprecision(3) << setw(7) << b << endl;
+   cout << "\nNow compute Cholesky\n";
+
+   gpstk::Cholesky<double> CA;
+   CA(A);
+   cout << "\nCholesky of A (U) (" << CA.U.rows() << "," << CA.U.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << CA.U << endl;
+   cout << "\nCholesky of A (L) (" << CA.L.rows() << "," << CA.L.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << CA.L << endl;
+
+   gpstk::Matrix<double> B;
+   B = A - CA.U * gpstk::transpose(CA.U);
+   cout << "\nDifference U*UT with matrix A(" << B.rows() << "," << B.cols() << ") :\n" << scientific << setprecision(3) << setw(7) << B << endl;
+   B = A - CA.L * gpstk::transpose(CA.L);
+   cout << "\nDifference L*LT with matrix A(" << B.rows() << "," << B.cols() << ") :\n" << scientific << setprecision(3) << setw(7) << B << endl;
+
+   gpstk::Vector<double> X(b);
+   CA.backSub(X);
+   cout << "\nSolution via backsubstitution (" << X.size() << ") :\n" << fixed << setprecision(3) << setw(7) << X << endl;
+   X = b-A*X;
+   cout << "Solution residuals (" << X.size() << ") :\n" << scientific << setprecision(3) << setw(7) << X << endl;
+}
+
+void MatrixTest7(int argc, char **argv)
+{
+   cout << "\n -------------- Matrix Test 7 ---------------------------------\n";
+   string filename(argv[8]);
+   gpstk::Matrix<double> A;
+   int iret=ReadMatrix(A,filename);
+   if(iret < 0) {
+      cerr << "Error: could not open file " << filename << endl;
+      return;
+   }
+   cout << "Matrix A(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << A << endl;
+   cout << "\nNow compute the Householder transformation\n";
+
+   gpstk::Householder<double> HHA;
+   HHA(A);
+   cout << "HH: (" << HHA.A.rows() << "," << HHA.A.cols() << ") :\n" << fixed << setprecision(3) << setw(7) << HHA.A << endl;
+}
+
+void MatrixTest8(void)
+{
+   cout << "\n -------------- Matrix Test 8 ---------------------------------\n";
+   const int n=6;
+	int i;
+   double big,small,cond;
+   gpstk::Vector<double>V;
+   gpstk::Matrix<double> M(n,n),Minv,Prod;
+
+   for(i=0; i<n; i++) {
+      for(int j=0; j<n; j++) {
+         M(i,j) = 1.0/(i+j+1.0);
+      }
+   }
+   cout << "Tough matrix (" << M.rows() << "," << M.cols() << ") :\n" << fixed << setprecision(6) << setw(9) << M << endl;
+
+   cond = gpstk::condNum(M,big,small);
+   cout << "Condition number is " << fixed << setprecision(3) << big << "/" << scientific << setprecision(3) << small;
+   if(small > 0.0) cout << " = " << setprecision(3) << big/small;
+   cout << endl;
+   
+   for(i=0; i<3; i++) {
+      try {
+         if(i==0) { cout << "Gaussian elimiation:\n"; Minv = inverse(M); }
+         else if(i==1) { cout << "LUD:\n"; Minv = inverseLUD(M); }
+         else if(i==2) { cout << "SVD:\n"; Minv = inverseSVD(M); }
+      }
+      catch (gpstk::Exception& e) { cout << e << endl; continue;}
+      cout << "Inverse matrix (" << Minv.rows() << "," << Minv.cols() << ") :\n" << fixed << setprecision(3) << setw(13) << Minv << endl;
+      Prod = Minv * M;
+      //V.zeroTolerance = 1.e-6;
+      Prod.zeroize();
+      cout << "Unity matrix ? (" << Prod.rows() << "," << Prod.cols() << ") ? :\n" << fixed << setprecision(9) << setw(12) << Prod << endl;
+   }
+}
+
+void MatrixTest9(int argc, char **argv)
+{
+   cout << "\n -------------- Matrix Test 9 ---------------------------------\n";
+   cout << "Read matrix and vector (in form M||V) from file, invert and solve\n";
+   double cond,big,small;
+   gpstk::Matrix<double> R,A,Ainv,P;
+   gpstk::Vector<double> B,X;
+   for(int i=1; i<argc; i++) {
+      string filename=argv[i];
+      cout << "File " << filename;
+      int iret=ReadMatrix(R,filename);
+      cout << " (" << iret << ") Matrix(" << R.rows() << "," << R.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << R << endl;
+         // pick off last column
+      B = gpstk::Vector<double>(R.colCopy(R.cols()-1));
+         // copy all but last column
+      A = gpstk::Matrix<double>(R,0,0,R.rows(),R.cols()-1);
+      cout << "Partials Matrix (" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << A << endl;
+      cout << "Data vector (" << B.size() << ") :\n" << fixed << setprecision(3) << setw(10) << B << endl << endl;
+
+      if(A.rows() != A.cols()) {
+         gpstk::Matrix<double> AT;
+         AT = gpstk::transpose(A);
+         A = AT*A;
+         cout << " ATA Matrix(" << A.rows() << "," << A.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << A << endl;
+      }
+      cond = gpstk::condNum(A,big,small);
+      cout << "Condition number is " << fixed << setprecision(3) << big << "/" << scientific << setprecision(3) << small;
+      cout << " = " << fixed << big/small << endl;
+      try 
+      {
+         Ainv=gpstk::inverse(A); 
+         cout << "Inverse matrix (" << Ainv.rows() << "," << Ainv.cols() << ") :\n" << fixed << setprecision(3) << setw(10) << Ainv << endl;
+         P = Ainv * A;
+         cout << "Unity matrix (" << P.rows() << "," << P.cols() << ") ? :\n" << fixed << setprecision(9) << setw(12) << P << endl << endl;
+         
+         //X = Ainv * B;
+         //cout << "Solution vector (" << X.size() << ") :\n" << fixed << setprecision(3) << setw(10) << X << endl;
+      }
+      catch (gpstk::Exception& e) { cout << e << endl; continue;}
+   }
+}
+
+void PolyTest(void)
+{
+   cout << "\n -------------- Poly Test ---------------------------------\n";
+   /*  33 points in each of two fits:
+    * timetag      t     data    fit  resid
+    * 351569.981 -1.0000 -1.750 -1.755  0.005
+    * 351580.003 -0.9375 -1.702 -1.713  0.011
+    * 351590.026 -0.8750 -1.663 -1.672  0.009
+    * 351599.962 -0.8125 -1.639 -1.633 -0.006
+    * 351609.984 -0.7500 -1.590 -1.595  0.005
+    * 351620.006 -0.6875 -1.579 -1.558 -0.020
+    * 351630.029 -0.6250 -1.536 -1.523 -0.013
+    * 351639.965 -0.5625 -1.502 -1.489 -0.013
+    * 351649.987 -0.5000 -1.441 -1.457  0.015
+    * 351660.010 -0.4375 -1.445 -1.426 -0.019
+    * 351670.032 -0.3750 -1.412 -1.396 -0.016
+    * 351679.968 -0.3125 -1.370 -1.368 -0.002
+    * 351689.990 -0.2500 -1.328 -1.340  0.012
+    * 351700.013 -0.1875 -1.286 -1.315  0.029
+    * 351710.035 -0.1250 -1.266 -1.290  0.025
+    * 351719.971 -0.0625 -1.270 -1.267 -0.003
+    * 351729.994  0.0000 -1.249 -1.246 -0.003
+    * 351740.016  0.0625 -1.235 -1.226 -0.010
+    * 351750.038  0.1250 -1.197 -1.207  0.010
+    * 351759.974  0.1875 -1.214 -1.189 -0.025
+    * 351769.997  0.2500 -1.183 -1.173 -0.010
+    * 351780.019  0.3125 -1.156 -1.158  0.003
+    * 351790.042  0.3750 -1.135 -1.145  0.010
+    * 351799.978  0.4375 -1.134 -1.133 -0.001
+    * 351810.000  0.5000 -1.098 -1.122  0.024
+    * 351820.022  0.5625 -1.102 -1.113  0.011
+    * 351829.958  0.6250 -1.118 -1.105 -0.013
+    * 351839.981  0.6875 -1.103 -1.098 -0.005
+    * 351850.003  0.7500 -1.115 -1.093 -0.022
+    * 351860.026  0.8125 -1.076 -1.089  0.013
+    * 351869.962  0.8750 -1.101 -1.086 -0.015
+    * 351879.984  0.9375 -1.068 -1.085  0.017
+    * 351890.006  1.0000 -1.088 -1.085 -0.003
+    * timetag      t     data    fit  resid
+    * 351900.029 -1.0000 -1.088 -1.029 -0.060
+    * 351909.965 -0.9375 -1.119 -1.068 -0.051
+    * 351919.987 -0.8750 -1.118 -1.105 -0.013
+    * 351930.010 -0.8125 -1.158 -1.140 -0.018
+    * 351940.032 -0.7500 -1.146 -1.174  0.028
+    * 351949.968 -0.6875 -1.201 -1.206  0.004
+    * 351959.990 -0.6250 -1.207 -1.235  0.029
+    * 351970.013 -0.5625 -1.222 -1.264  0.041
+    * 351980.035 -0.5000 -1.230 -1.290  0.059
+    * 351989.971 -0.4375 -1.269 -1.314  0.045
+    * 351999.994 -0.3750 -1.269 -1.337  0.068
+    * 352010.016 -0.3125 -1.335 -1.358  0.022
+    * 352020.038 -0.2500 -1.359 -1.377  0.018
+    * 352029.974 -0.1875 -1.391 -1.394  0.003
+    * 352039.997 -0.1250 -1.391 -1.410  0.019
+    * 352050.019 -0.0625 -1.432 -1.423 -0.009
+    * 352060.042  0.0000 -1.440 -1.435 -0.004
+    * 352069.978  0.0625 -1.483 -1.445 -0.038
+    * 352080.000  0.1250 -1.520 -1.453 -0.067
+    * 352090.022  0.1875 -1.514 -1.460 -0.055
+    * 352099.958  0.2500 -1.514 -1.464 -0.050
+    * 352109.981  0.3125 -1.478 -1.467 -0.010
+    * 352120.003  0.3750 -1.496 -1.468 -0.028
+    * 352130.026  0.4375 -1.508 -1.467 -0.040
+    * 352139.962  0.5000 -1.507 -1.465 -0.043
+    * 352149.984  0.5625 -1.437 -1.460  0.023
+    * 352160.006  0.6250 -1.439 -1.454  0.015
+    * 352170.029  0.6875 -1.419 -1.446  0.027
+    * 352179.965  0.7500 -1.388 -1.436  0.048
+    * 352189.987  0.8125 -1.408 -1.424  0.016
+    * 352200.010  0.8750 -1.390 -1.411  0.021
+    * 352210.032  0.9375 -1.391 -1.395  0.005
+    * 352219.968  1.0000 -1.385 -1.378 -0.007
+    */
+   double t[33] = { -1.0000, -0.9375, -0.8750, -0.8125, -0.7500, -0.6875,
+      -0.6250, -0.5625, -0.5000, -0.4375, -0.3750, -0.3125, -0.2500, -0.1875,
+      -0.1250, -0.0625, 0.0000, 0.0625, 0.1250, 0.1875, 0.2500, 0.3125, 0.3750,
+      0.4375, 0.5000, 0.5625, 0.6250, 0.6875, 0.7500, 0.8125, 0.8750, 0.9375,
+      1.0000 };
+   double d1[33] = { -1.750, -1.702, -1.663, -1.639, -1.590, -1.579, -1.536,
+      -1.502, -1.441, -1.445, -1.412, -1.370, -1.328, -1.286, -1.266, -1.270,
+      -1.249, -1.235, -1.197, -1.214, -1.183, -1.156, -1.135, -1.134, -1.098,
+      -1.102, -1.118, -1.103, -1.115, -1.076, -1.101, -1.068, -1.088 };
+   double d2[33] = { -1.088, -1.119, -1.118, -1.158, -1.146, -1.201, -1.207,
+      -1.222, -1.230, -1.269, -1.269, -1.335, -1.359, -1.391, -1.391, -1.432,
+      -1.440, -1.483, -1.520, -1.514, -1.514, -1.478, -1.496, -1.508, -1.507,
+      -1.437, -1.439, -1.419, -1.388, -1.408, -1.390, -1.391, -1.385 };
+
+   gpstk::Vector<double> T(33),D1(33),D2(33);
+   T = t;
+   D1 = d1;
+   D2 = d2;
+   //cout << "Vector T(" << T.size() << ") :\n" << fixed << setprecision(3) << setw(7) << T << endl;
+   //cout << "Vector D1(" << D1.size() << ") :\n" << fixed << setprecision(3) << setw(7) << D1 << endl;
+   //cout << "Vector D2(" << D2.size() << ") :\n" << fixed << setprecision(3) << setw(7) << D2 << endl;
+
+   size_t i,rev=1;
+   gpstk::Vector<double> Fit,Resid,Sol;
+   gpstk::PolyFit<double> PF(3);
+   gpstk::Stats<double> St1,St2;
+   gpstk::TwoSampleStats<double> Tss;
+   do {
+      if(rev==1) PF.Add(D1,T);
+      else for(i=0; i<T.size(); i++) PF.Add(D2[i],T[i]);
+      gpstk::Matrix<double> C;
+      C = PF.Covariance();
+      cout << "Matrix Cov(" << C.rows() << "," << C.cols() << ") :\n" << fixed << setprecision(3) << setw(8) << C << endl;
+      Sol = PF.Solution();
+      cout << "Vector Sol(" << Sol.size() << ") :\n" << fixed << setprecision(3) << setw(8) << Sol << endl;
+      Fit = PF.Evaluate(T);
+      Resid = (rev==1?D1:D2)-Fit;
+
+      cout << "    t     data    fit  resid\n";
+      for(i=0; i<T.size(); i++) {
+         cout << setw(2) << i;
+         cout << fixed << setw(8) << setprecision(4) << T(i);
+         cout << fixed << setw(8) << setprecision(3) << (rev==1?D1(i):D2(i));
+         cout << fixed << setw(8) << setprecision(3) << Fit(i);
+         cout << fixed << setw(8) << setprecision(3) << Resid(i);
+         cout << endl;
+         St1.Add(Resid(i));
+         St2.Add(rev==1?D1(i):D2(i));
+         Tss.Add(T(i),(rev==1?D1(i):D2(i)));
+      }
+
+      cout << "Stats on residuals\n";
+      cout << scientific << setw(10) << setprecision(3) << St1 << endl;
+
+      cout << "Stats on data\n";
+      cout << scientific << setw(10) << setprecision(3) << St2 << endl;
+
+      cout << "2-sample Stats on time,data\n";
+      cout << scientific << setw(10) << setprecision(3) << Tss << endl;
+
+      if(++rev>2) break;
+      PF.Reset();
+      St1.Reset();
+      St2.Reset();
+      Tss.Reset();
+   } while(1);
+}
+
+int main(int argc, char **argv)
+{
+   if (argc!=10)
+   {
+      cout << " Need 9 files to chew on" << endl;
+      exit(-1);
+   }
+
+   VectorTest();
+   MatrixTest1(argc, argv);    // general stuff
+   MatrixTest2();    // condition number and inverse
+   MatrixTest3(argc, argv);      // Read and condition number
+   MatrixTest4();    // SVD
+   MatrixTest5();    // LUD
+   MatrixTest6(argc, argv);    // Cholesky
+   MatrixTest7(argc, argv);    // Householder
+   MatrixTest8();    // Inverse via Gauss,LUD,SVD
+   MatrixTest9(argc, argv);    // Read a matrix and data vector and solve Ax=b
+   PolyTest();       // PolyFit
+	return 0;
+}
+
diff --git a/trunk/tests/MinSfTest.cpp b/trunk/tests/MinSfTest.cpp
new file mode 100644
index 0000000..14f8c38
--- /dev/null
+++ b/trunk/tests/MinSfTest.cpp
@@ -0,0 +1,307 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/MinSfTest.cpp#1 $"
+
+// gpstk
+#include "FileFilterFrame.hpp"
+#include "BasicFramework.hpp"
+#include "StringUtils.hpp"
+#include "FICStream.hpp"
+#include "FICHeader.hpp"
+#include "FICData.hpp"
+#include "FICFilterOperators.hpp"
+#include "BCEphemerisStore.hpp"
+#include "EngEphemeris.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+class MinSfTest : public gpstk::BasicFramework
+{
+public:
+   MinSfTest(const std::string& applName,
+              const std::string& applDesc) throw();
+   ~MinSfTest() {}
+   virtual bool initialize(int argc, char *argv[]) throw();
+protected:
+   virtual void process();
+   gpstk::CommandOptionWithAnyArg inputOption;
+   gpstk::CommandOptionWithAnyArg outputOption;
+   std::list<long> blocklist;
+   
+   BCEphemerisStore bc109;
+   BCEphemerisStore minRaw;
+   std::ofstream fp;
+   
+   void testXvt( short PRN, gpstk::DayTime dt );
+};
+
+int main( int argc, char*argv[] )
+{
+   try
+   {
+      MinSfTest fc("MinSfTest", "Process one (or more) FIC files.");
+      if (!fc.initialize(argc, argv)) return(false);
+      fc.run();
+   }
+   catch(gpstk::Exception& exc)
+   {
+      cout << exc << endl;
+      return 1;
+   }
+   catch(...)
+   {
+      cout << "Caught an unnamed exception. Exiting.";
+      return 1;
+   }
+   return 0;
+}
+
+MinSfTest::MinSfTest(const std::string& applName, 
+                       const std::string& applDesc) throw()
+          :BasicFramework(applName, applDesc),
+           inputOption('i', "input-file", "The name of the FIC file to raead.", true),
+           outputOption('o', "output-file", "The name of the output file to write.", true)
+{
+   inputOption.setMaxCount(1);
+   outputOption.setMaxCount(1);
+}
+
+bool MinSfTest::initialize(int argc, char *argv[])
+   throw()
+{
+   if (!BasicFramework::initialize(argc, argv)) return false;
+   if (debugLevel)
+   {
+      cout << "Input File:  " << inputOption.getValue().front() << endl;
+      cout << "Output File: " << outputOption.getValue().front() << endl;
+   }
+   return true;   
+}
+
+void MinSfTest::process()
+{
+   if (debugLevel)
+      cout << "Setting up input file: " 
+           <<  inputOption.getValue().front() << endl;
+   FileFilterFrame<FICStream, FICData>
+      input(inputOption.getValue().front());
+   
+   printf(" input.getDataCount() after init: %d\n", input.getDataCount());
+   if(debugLevel)
+      cout << "Setting up output file: "
+           << outputOption.getValue().front() << endl;
+           
+   fp.open( outputOption.getValue().front().c_str() );
+   if ( !fp.is_open() )
+   {
+      printf(" Failed to open output file.\n");
+      exit(1);
+   }
+           
+      // filter the FIC data for the requested vlock(s)
+   std::list<long> blockList;
+   blockList.push_back(109);
+   input.filter(FICDataFilterBlock(blockList));
+   input.sort(FICDataOperatorLessThanBlock109());
+   input.unique(FICDataUniqueBlock109());
+   
+      //some hand waving for the data conversion
+   if(debugLevel)
+      cout << "Reading the input data." << endl;
+   list<FICData>& ficList = input.getData();
+   list<FICData>::iterator itr = ficList.begin();
+   
+   DayTime earliest( DayTime::END_OF_TIME );
+   DayTime latest( DayTime::BEGINNING_OF_TIME );
+   int count = 0;
+   int numMismatches = 0;
+   int numMismatchEph = 0; 
+   while (itr != ficList.end())
+   {
+      EngEphemeris ee(*itr);
+
+      bc109.addEphemeris( ee );
+
+      DayTime ct = ee.getEpochTime();
+      if (ct>latest) latest = ct;
+      if (ct<earliest) earliest = ct;
+      
+         // Following code simulates a situation where only words 3-10
+         // and the estimated time of receipt are available.
+      DayTime timeOfReceipt = ee.getTransmitTime();
+      FICData& fic = *itr;
+      long sf1min[8];
+      long sf2min[8];
+      long sf3min[8];
+      int wrdCnt = 8;
+      int i;
+      for (i=0; i<wrdCnt; ++i) sf1min[i] = fic.i[4+i];   
+      for (i=0; i<wrdCnt; ++i) sf2min[i] = fic.i[14+i];   
+      for (i=0; i<wrdCnt; ++i) sf3min[i] = fic.i[24+i];  
+
+      EngEphemeris eeMin;
+      short PRNID = (short) fic.i[1];
+      eeMin.addIncompleteSF1Thru3( sf1min, sf2min, sf3min,
+             (long) timeOfReceipt.GPSsecond(), timeOfReceipt.GPSfullweek(),
+             PRNID, 0 );
+      minRaw.addEphemeris( eeMin );
+      
+         // Compare non-orbit portions of the two objects
+      bool mismatch = false;
+      for (int i=1; i<=3; ++i)
+      {
+         if (!ee.isData(i) || !eeMin.isData(i))
+         {
+            mismatch = true;
+            fp << "ERROR: not all subframes are claimed available.";
+         }
+      }
+      
+      if (ee.getIODC()!=eeMin.getIODC()) 
+      {
+         mismatch = true;
+         fp << "ERROR: IODCs do not match."; 
+      }
+      if (ee.getIODE()!=eeMin.getIODE()) 
+      {
+         mismatch = true;
+         fp << "ERROR: IODCs do not match."; 
+      }
+      if (ee.getFitInterval() != eeMin.getFitInterval() )
+      {
+         mismatch = true;
+         fp << "ERROR: fit intervals do not match.";
+      }
+      if (ee.getCodeFlags()!=eeMin.getCodeFlags() )
+      {
+         mismatch = true;
+         fp << "ERROR: code flags do not match.";
+      }
+      if (ee.getL2Pdata()!=eeMin.getL2Pdata() )
+      {
+         mismatch = true;
+         fp << "ERROR: L2P data flags do not match.";
+      }
+      if (ee.getAccuracy()!=eeMin.getAccuracy() )
+      {
+         mismatch = true;
+         fp << "ERROR: accuracy values do not match.";
+      }
+      if (ee.getAccFlag()!=eeMin.getAccFlag() )
+      {
+         mismatch = true;
+         fp << "ERROR: accuracy flags do not match.";
+      }
+      if (ee.getHealth()!=eeMin.getHealth() )
+      {
+         mismatch = true;
+         fp << "ERROR: health values do not match.";
+      }
+      if (ee.getFitInt()!=eeMin.getFitInt() )
+      {
+         mismatch = true;
+         fp << "ERROR: Fit interval values do not match.";
+      }
+
+      if (mismatch)
+      {
+         fp << " PRNID: " << PRNID << ", IODC: 0x " << hex << ee.getIODC() << dec << endl;
+         numMismatches++;
+      }
+      
+      itr++;
+      count++;
+   }
+   cout << "Number of Block 109 records read: " << count << endl;
+   if (numMismatches!=0)
+   {
+      printf("Errors detected.  Some ephemerides did not match in both forms.\n");
+      printf("Number of mismatches: %d\n",numMismatches);
+   }
+   fp << "Number of mismatches detected: " << numMismatches << endl;
+   if (debugLevel) cout << "done." << endl;
+   
+
+      // Generate test positions for PRN 1 and PRN 31 at
+      // earliest epoch, latest epoch, and middle of the time span.
+   try
+   {
+      double timeDuration = latest - earliest;
+      DayTime middle( earliest );
+      middle += (timeDuration/2);
+
+      short IODC109 = -1;
+      short IODCMin = -1;
+      short PRNID = 1;
+      printf("--- PRN 1 Examples ---\n");
+      printf("\nEarliest time\n");
+      fp << "--- PRN 1 Examples ---" << endl;
+      fp << endl << "Earliest time" << endl;
+      testXvt( PRNID, earliest );
+      printf("\nMiddle time\n");
+      fp << endl << "Middle time" << endl;
+      testXvt( PRNID, middle );
+      printf("\nLatest time\n");
+      fp << endl << "Latest time" << endl;
+      testXvt( PRNID, latest );
+
+      PRNID = 31;      
+      printf("\n--- PRN 31 Examples ---\n");
+      printf("\nEarliest time\n");
+      fp << endl << "--- PRN 31 Examples ---" << endl;
+      fp << endl << "Earliest time" << endl;
+      testXvt( PRNID, earliest );
+      printf("\nMiddle time\n");
+      fp << endl << "Middle time" << endl;
+      testXvt( PRNID, middle );
+      printf("\nLatest time\n");
+      fp << endl << "Latest time" << endl;
+      testXvt( PRNID, latest );
+   }
+   catch (gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   
+   printf("\nBCEphemerisStore directly from existing FIC handlers.\n");
+   fp << endl << "BCEphemerisStore directly from existing FIC handlers." << endl;
+   bc109.dump(1, fp);
+   printf("BCEphemerisStore from new method.\n");
+   fp << endl << "BCEphemerisStore from new method." << endl;
+   minRaw.dump(1, fp);
+   
+      // write the file data
+   if (debugLevel) cout << "Conversion complete." << endl;
+}
+
+void MinSfTest::testXvt( short PRN, gpstk::DayTime dt )
+{
+      short IODC109;
+      short IODCMin;
+      Xvt xvt109 = bc109.getPrnXvt( PRN, dt, IODC109 );
+      Xvt xvtMin = minRaw.getPrnXvt( PRN, dt, IODCMin );
+      printf("               X(m)             Y(m)            Z(m)      IODC\n");
+      printf("  109  %15.3lf  %15.3lf %15.3lf  0x%03X\n",
+         xvt109.x[0],xvt109.x[1],xvt109.x[2],IODC109);
+      printf("  Min  %15.3lf  %15.3lf %15.3lf  0x%03X\n",
+         xvtMin.x[0],xvtMin.x[1],xvtMin.x[2],IODCMin);
+         
+      
+      fp << "               X(m)           Y(m)           Z(m)       IODC" << endl;
+      fp << "  109  ";
+      fp << setprecision(3) << fixed;
+      fp << setw(15) << xvt109.x[0];
+      fp << setw(15) << xvt109.x[1];
+      fp << setw(15) << xvt109.x[2];
+      fp << "   0x" << setw(3) << setfill('0') << uppercase << hex << IODC109;
+      fp << setfill(' ') << endl;
+      fp << "  Min  ";
+      fp << setprecision(3) << fixed;
+      fp << setw(15) << xvtMin.x[0];
+      fp << setw(15) << xvtMin.x[1];
+      fp << setw(15) << xvtMin.x[2];
+      fp << "   0x" << setw(3) << setfill('0') << uppercase << hex << IODCMin << dec;
+      fp << setfill(' ') << endl;
+}
+
+
+
diff --git a/trunk/tests/Rinex_dl.pl b/trunk/tests/Rinex_dl.pl
new file mode 100755
index 0000000..f794537
--- /dev/null
+++ b/trunk/tests/Rinex_dl.pl
@@ -0,0 +1,111 @@
+#!/usr/bin/perl
+# $Id: //depot/sgl/gpstk/dev/tests/Rinex_dl.pl#9 $
+
+#                                         Ryan Mire ARL SGL 
+#                                           July 2005
+# last saved: July 27 10:00am
+#
+# The purpose of this script is to have as close to a live test as possible of the rinex_met read and write functions
+# the live quality of this test will be created through the downloading of all the IGS gathered and posted data from 
+# "yesterday"
+#
+# >>Rinex_dl.pl <first letter of met obs or nav> [<download directory>]
+#
+#
+
+use Net::FTP;
+#use strict;
+#use warnings;
+
+$filetype=$ARGV[0];
+$filetype =~ s/^-//;
+chomp($filetype);
+#print "!".$filetype."!\n";
+#chomp($filetype);
+die "\nThe Given File Type is invalid, obs, met and nav are the three filetypes accepted. Try using lowercase 'o','m' or 'n' respectively. \n >>Rinex.dl <firstletter of filetype> [<download directory>]\n"
+  if(($filetype ne 'n') && ($filetype ne 'o') && ($filetype ne 'm'));
+
+
+$filedir="05".$filetype;
+
+if($ARGV[1])
+{
+$downdir=$ARGV[1];
+die "\nThe given download directory does not exist or is invalid, try again\n"
+    if((-e $downdir)==0);
+}
+
+$date = `date`;
+chomp($day = `date +"%j"`);
+$day-=1;
+print "HELLO \t $day\n";
+ at date=split /\s/, $date;
+
+chomp($year=@date[5]);
+
+
+my $host="cddis.gsfc.nasa.gov";
+my $directory="/gps/data/daily/$year/$day/$filedir";
+
+$ftp=Net::FTP->new($host,Timeout=>240) or $newerr=1;
+  push @ERRORS, "Can't ftp to $host: $!\n" if $newerr;
+  myerr() if $newerr;
+print "Connected\n";
+
+$ftp->login("Anonymous","GPSTK at arlut.utexas.edu") or $newerr=1;
+print "Getting file list\n";
+  push @ERRORS, "Can't login to $host: $!\n" if $newerr;
+  $ftp->quit if $newerr;
+  myerr() if $newerr; 
+print "Logged in\n";
+
+$ftp->cwd($directory) or $newerr=1; 
+  push @ERRORS, "Can't cd  $!\n" if $newerr;
+  myerr() if $newerr;
+  $ftp->quit if $newerr;
+
+ at files=$ftp->dir or $newerr=1;
+  push @ERRORS, "Can't get file list $!\n" if $newerr;
+  myerr() if $newerr;
+print "Got  file list\n";   
+
+$n=0;
+
+if($ARGV[1])
+{
+   $newdir=$downdir."/NewRinexData-".$filetype;
+}
+else
+{
+   $newdir="/NewRinexData-".$filetype;
+}
+die "Oops!!, $newdir already exist \t  Try Again "
+    if((-e $newdir)!=0);
+
+mkdir "$newdir";
+chdir "$newdir";
+
+
+foreach(@files)
+{
+    @line=split/\s/, @files[$n];
+    $file=pop(@line);
+    $n+=1;
+    $ftp->get("/gps/data/daily/$year/$day/$filedir/$file")  or $newerr=1;
+    if($newerr!=1)   
+    {
+        print "Downloaded $file\n";
+    }
+    push @ERRORS, "Can't get $_ $!\n" if $newerr; 
+}
+print " $directory\n ";
+$ftp->quit;
+
+print "Youre now in the new subdirectory $newdir,\n filled with your data \n";
+
+sub myerr 
+{
+  print "Error: \n";
+  print @ERRORS;
+  exit 0;
+}
diff --git a/trunk/tests/RungeKuttaTest.cpp b/trunk/tests/RungeKuttaTest.cpp
new file mode 100755
index 0000000..e7229f0
--- /dev/null
+++ b/trunk/tests/RungeKuttaTest.cpp
@@ -0,0 +1,87 @@
+// C++ includes
+#include <iostream>
+#include <fstream>
+#include <iomanip>
+#include <math.h>
+
+#include "RungeKutta4.hpp"
+
+/**
+ * @file RungeKuttaTest.cpp
+ *
+ */
+
+using namespace gpstk;
+using namespace std;
+
+// The full, nonlinear equation of motion for a simple pendulum
+class PendulumIntegrator : public RungeKutta4
+{
+   public:
+
+      PendulumIntegrator(const Matrix<double>& initialState,
+                         double initialTime=0)
+            : RungeKutta4(initialState, initialTime)
+      {};     
+
+      virtual gpstk::Matrix<double>&
+         derivative(long double time, 
+                    const gpstk::Matrix<double>& inState,
+                    gpstk::Matrix<double>& inStateDot);
+
+      void setPhysics(double accGrav, double length) 
+      {  g = accGrav; L = length; };
+   
+   private: 
+
+   double g; //< the acceleration due to gravity
+   double L; //< the length of the pendulum (in meters?)
+};
+
+gpstk::Matrix<double>&
+PendulumIntegrator::derivative(long double time, 
+                               const gpstk::Matrix<double>& inState,
+                               gpstk::Matrix<double>& inStateDot)
+{
+   inStateDot(0,0) = inState(1,0); // velocity along x 
+   inStateDot(1,0) = -g/L * sin(inState(0,0));
+   return inStateDot;
+}
+
+int  main ()
+{
+   gpstk::Matrix<double> x0(2,1), truncError(2,1);
+   x0(0,0)  = 0.001; // Initial angle in radians
+   x0(1,0)  = 0.0;  // Initial angular velocity in radians/second
+   
+   PendulumIntegrator pModel(x0,0.);
+
+   double g=9.81, L=1.0;
+   pModel.setPhysics(g,L); 
+
+      // Formatted for easy reading into Octave (www.octave.org) 
+   cout << "# Pendulum motion result" << endl;
+   cout << "# Columns: Time, Theta, d Theta/ dt, ";
+   cout << "estimated error in theta, theta dot" << endl;
+   
+   double deltaT = .01;  // Step size in seconds for integrator
+
+   double time = 0;
+   double Nper = 2; // number of periods
+
+      // Output state over approximately Nper periods (exactly for
+      // small oscillations)
+
+   long count = 0;
+   while (pModel.getTime() < Nper * (2 * 3.14159265/sqrt(g/L)))
+   {  
+      pModel.integrateTo((count++)*deltaT,truncError);
+
+      cout << setprecision(12)
+           << pModel.getTime() << " " 
+           << pModel.getState()(0,0) << " " << pModel.getState()(1,0) << " " 
+           << truncError(0,0) << " " << truncError(1,0) << endl;
+   }
+
+  return(0);
+}
diff --git a/trunk/tests/TimeTest.cpp b/trunk/tests/TimeTest.cpp
new file mode 100644
index 0000000..ee420d6
--- /dev/null
+++ b/trunk/tests/TimeTest.cpp
@@ -0,0 +1,388 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/TimeTest.cpp#1 $"
+
+#include <iostream>
+
+#include <BasicFramework.hpp>
+
+#include <TimeString.hpp>
+#include <TimeConstants.hpp>
+
+#include <ANSITime.hpp>
+#include <CivilTime.hpp>
+#include <GPSEpochWeekSecond.hpp>
+#include <GPSWeekSecond.hpp>
+#include <GPSWeekZcount.hpp>
+#include <GPSZcount29.hpp>
+#include <GPSZcount32.hpp>
+#include <JulianDate.hpp>
+#include <MJD.hpp>
+#include <UnixTime.hpp>
+#include <YDSTime.hpp>
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+
+   // The following constants are as captured from the timcvt program output.
+   //
+   //  Month/Day/Year                  7/26/2005
+   //  Hour:Min:Sec                    17:59:42
+   //  Modified Julian Date            53577.7497975392
+   //  GPSweek DayOfWeek SecOfWeek     309 2 237582.507390
+   //  FullGPSweek Zcount              1333 158388
+   //  Year DayOfYear SecondOfDay      2005 207 64782.507390
+   //  Unix_sec Unix_usec              1122400782 507390
+   //  FullZcount                      162163380
+
+const int defaultMonth = 7;
+const int defaultDay = 26;
+const int defaultYear = 2005;
+const int defaultHour = 17;
+const int defaultMinute = 59;
+const int defaultSecond = 42;
+const double defaultSecondD = 42.507390;
+
+const long double defaultMJD = 53577.7497975392;
+const long double defaultJD = (defaultMJD + MJD_TO_JD);
+
+const int defaultWeek = 309;
+const int defaultDow = 2;
+const double defaultSow = 237582.507390;
+
+const int defaultFullWeek = 1333;
+const int defaultZcount = 158388;
+
+const int defaultDoy = 207;
+const double defaultSod = 64782.507390;
+
+const int defaultUnixSec = 1122400782;
+const int defaultUnixUsec = 507390;
+const int defaultFullZcount = 162163380;
+
+const int defaultEpoch = 1;
+const int defaultFullZcount32 = ( defaultEpoch << 29 ) | defaultFullZcount;
+
+class Test : public BasicFramework
+{
+public:
+   Test( const string& progName ) 
+         : BasicFramework( progName, "Test the New Time Classes!" ),
+           ansi( defaultUnixSec ),
+           civil( defaultYear, defaultMonth, defaultDay, defaultHour,
+                  defaultMinute, defaultSecondD ),
+           gews( defaultEpoch, defaultWeek, defaultSow ),
+           gws( defaultFullWeek, defaultSow ),
+           gwz( defaultFullWeek, defaultZcount ),
+           gz29( defaultEpoch, defaultFullZcount ),
+           gz32( defaultFullZcount32 ),
+           jd( defaultJD ),
+           mjd( defaultMJD ),
+           ut( defaultUnixSec, defaultUnixUsec ),
+           yds( defaultYear, defaultDoy, defaultSod )
+   {}
+   
+   ANSITime ansi;
+   CivilTime civil;
+   GPSEpochWeekSecond gews;
+   GPSWeekSecond gws;
+   GPSWeekZcount gwz;
+   GPSZcount29 gz29;
+   GPSZcount32 gz32;
+   JulianDate jd;
+   MJD mjd;
+   UnixTime ut;
+   YDSTime yds;
+   
+protected:
+   virtual void process();
+
+   void dumpCommonTime( const BaseTime& t );
+      
+   bool simpleCopyTest();
+   template<class T>
+   bool isCopySuccess( T& t );
+
+   bool conversionTest();
+   template<class T>
+   bool toCommonAndBack( T& t );
+
+   bool simpleEqualityTest();
+   template<class T>
+   bool isEqual( T& t );
+
+   bool otherTest();
+
+};
+
+void Test::process()
+{
+   simpleCopyTest();
+   simpleEqualityTest();
+   conversionTest();
+//   otherTest();
+
+   cout << "Test Processing Complete." << endl;
+}
+
+void Test::dumpCommonTime( const BaseTime& t )
+{
+   long day, sod;
+   double fsod;
+
+   CommonTime( t.convertToCommonTime() ).get( day, sod, fsod );
+
+   cout << t << " -> " << day << "d " << sod << "s " 
+        << setprecision(15) << fsod << "f" << endl;
+}
+
+bool Test::simpleCopyTest()
+{
+   cout << "Simple Copy Test:" << endl;
+   cout << "ANSI:   " << ( isCopySuccess( ansi ) ? "PASS" : "FAIL" ) << endl;
+   cout << "Civil:  " << ( isCopySuccess( civil ) ? "PASS" : "FAIL" ) << endl;
+   cout << "GPSEWS: " << ( isCopySuccess( gews ) ? "PASS" : "FAIL" ) << endl;
+   cout << "GPSWS:  " << ( isCopySuccess( gws ) ? "PASS" : "FAIL" ) << endl;
+   cout << "GPSWZ:  " << ( isCopySuccess( gwz ) ? "PASS" : "FAIL" ) << endl;
+   cout << "GZ29:   " << ( isCopySuccess( gz29 ) ? "PASS" : "FAIL" ) << endl;
+   cout << "GZ32:   " << ( isCopySuccess( gz32 ) ? "PASS" : "FAIL" ) << endl;
+   cout << "JD:     " << ( isCopySuccess( jd ) ? "PASS" : "FAIL" ) << endl;
+   cout << "MJD:    " << ( isCopySuccess( mjd ) ? "PASS" : "FAIL" ) << endl;
+   cout << "Unix:   " << ( isCopySuccess( ut ) ? "PASS" : "FAIL" ) << endl;
+   cout << "YDS:    " << ( isCopySuccess( yds ) ? "PASS" : "FAIL" ) << endl;
+   cout << endl;
+   
+   return true;
+}
+
+template<class T>
+bool Test::isCopySuccess( T& t )
+{
+   T t1( t );
+   if( t == t1 )
+   {
+      return true;
+   }
+   return false;
+}
+
+bool Test::conversionTest()
+{
+   cout << "Conversion Test:" << endl;
+   cout << "ANSI:   " << ( toCommonAndBack( ansi ) ? "PASS" : "FAIL" ) << endl;
+   cout << "Civil:  " << ( toCommonAndBack( civil ) ? "PASS" : "FAIL" ) << endl;
+   cout << "GPSEWS: " << ( toCommonAndBack( gews ) ? "PASS" : "FAIL" ) << endl;
+   cout << "GPSWS:  " << ( toCommonAndBack( gws ) ? "PASS" : "FAIL" ) << endl;
+   cout << "GPSWZ:  " << ( toCommonAndBack( gwz ) ? "PASS" : "FAIL" ) << endl;
+   cout << "GZ29:   " << ( toCommonAndBack( gz29 ) ? "PASS" : "FAIL" ) << endl;
+   cout << "GZ32:   " << ( toCommonAndBack( gz32 ) ? "PASS" : "FAIL" ) << endl;
+   cout << "JD:     " << ( toCommonAndBack( jd ) ? "PASS" : "FAIL" ) << endl;
+   cout << "MJD:    " << ( toCommonAndBack( mjd ) ? "PASS" : "FAIL" ) << endl;
+   cout << "Unix:   " << ( toCommonAndBack( ut ) ? "PASS" : "FAIL" ) << endl;
+   cout << "YDS:    " << ( toCommonAndBack( yds ) ? "PASS" : "FAIL" ) << endl;
+   cout << endl;
+
+   if( verboseLevel )
+   {
+      dumpCommonTime( ansi );
+      dumpCommonTime( civil );
+      dumpCommonTime( gews );
+      dumpCommonTime( gws );
+      dumpCommonTime( gwz );
+      dumpCommonTime( gz29 );
+      dumpCommonTime( gz32 );
+      dumpCommonTime( jd );
+      dumpCommonTime( mjd );
+      dumpCommonTime( ut );
+      dumpCommonTime( yds );
+      cout << endl;
+   }
+
+   return true;
+}
+
+template<class T>
+bool Test::toCommonAndBack( T& t )
+{
+   if( verboseLevel )
+   {
+      cout << "myval: " << t << endl;
+   }
+
+   T t1;
+   t1.convertFromCommonTime( t.convertToCommonTime() );
+   if( t != t1 )
+   {
+      cout << t << " != " << t1 << endl;
+      return false;
+   }
+   return true;
+}
+
+bool Test::simpleEqualityTest()
+{
+   cout << "Simple Equality Test" << endl;
+   cout << "ANSI:   " << endl; isEqual( ansi );
+   cout << "Civil:  " << endl; isEqual( civil );
+   cout << "GPSEWS: " << endl; isEqual( gews );
+   cout << "GPSWS:  " << endl; isEqual( gws );
+   cout << "GPSWZ:  " << endl; isEqual( gwz );
+   cout << "GZ29:   " << endl; isEqual( gz29 );
+   cout << "GZ32:   " << endl; isEqual( gz32 );
+   cout << "JD:     " << endl; isEqual( jd );
+   cout << "MJD:    " << endl; isEqual( mjd );
+   cout << "Unix:   " << endl; isEqual( ut );
+   cout << "YDS:    " << endl; isEqual( yds );
+   cout << endl;
+
+}
+
+template<class T>
+bool Test::isEqual( T& t )
+{
+   cout << " to ANSI:   " << ( t == ANSITime( t ) ? "PASS" : "FAIL" )
+        << endl;
+   cout << " to Civil:  " << ( t == CivilTime( t ) ? "PASS" : "FAIL" )
+        << endl;
+   cout << " to GPSEWS: " << ( t == GPSEpochWeekSecond( t ) ? "PASS" : "FAIL" )
+        << endl;
+   cout << " to GPSWS:  " << ( t == GPSWeekSecond( t ) ? "PASS" : "FAIL" )
+        << endl;
+   cout << " to GPSWZ:  " << ( t == GPSWeekZcount( t ) ? "PASS" : "FAIL" )
+        << endl;
+   cout << " to GZ29:   " << ( t == GPSZcount29( t ) ? "PASS" : "FAIL" )
+        << endl;
+   cout << " to GZ32:   " << ( t == GPSZcount32( t ) ? "PASS" : "FAIL" )
+        << endl;
+   cout << " to JD:     " << ( t == JulianDate( t ) ? "PASS" : "FAIL" )
+        << endl;
+   cout << " to MJD:    " << ( t == MJD( t ) ? "PASS" : "FAIL" )
+        << endl;
+   cout << " to Unix:   " << ( t == UnixTime( t ) ? "PASS" : "FAIL" )
+        << endl;
+   cout << " to YDS:    " << ( t == YDSTime( t ) ? "PASS" : "FAIL" )
+        << endl;
+   cout << endl;
+   
+   return true;
+}   
+
+bool Test::otherTest()
+{
+   try
+   {
+      YDSTime one( 2005, 1, 0 ), two( 2005, 234, 5648.09 );
+      
+      cout << "one: " << one << endl
+           << "two: " << two << endl;
+      
+      YDSTime tre( one );
+      
+      cout << "tre: " << tre << endl;
+      
+      if( one == tre )
+      {
+         cout << " one == tre " << endl;
+      }
+      else
+      {
+         cout << " one != tre " << endl;
+      }
+      
+      cout << endl
+           << "--- scanf test ---" << endl;
+      
+      string str( "2005 234 5648.09" );
+      string fmt( "%Y %j %s" );
+      
+      cout << "str: " << str << endl
+           << "fmt: " << fmt << endl;
+      
+      BaseTime::IdToValue info;
+      BaseTime::getInfo( str, fmt, info );
+      cout << "parsed info:" << endl;
+      
+      for( BaseTime::IdToValue::iterator i = info.begin(); 
+           i != info.end(); i++ )
+      {
+         cout << "info[" << i->first << "] = <" << i->second << ">" << endl
+              << "  asInt() -> " << asInt( i->second ) << endl;
+      }
+      
+      if( tre.setFromInfo( info ) )
+      {
+         cout << "setFromInfo() ok" << endl;
+      }
+      else
+      {
+         cout << "setFromInfo() failed" << endl;
+      }
+      cout << "tre: " << tre << endl;   
+      
+      cout << "Altogether in one scanf() call: " << endl;
+      two = one;
+      cout << "two = one -> two: " << two << endl;
+      two.scanf( str, fmt );
+      cout << "two.scanf( str, fmt ) -> two: " << two << endl;
+
+      cout << "two " << ( (two == tre) ? "==" : "!=" ) << " tre" << endl;
+
+      cout << endl
+           << "--- scanTime test ---" << endl;
+      
+      string str2( "1337 92048.09" );
+      string fmt2( "%F %g" );
+      
+      cout << "two: " << two << endl
+           << "tre: " << tre << endl
+           << "str: " << str2 << endl
+           << "fmt: " << fmt2 << endl;
+      
+      scanTime( tre, str, fmt );
+      
+      cout << "scanTime( tre, str, fmt);" << endl
+           << "tre: " << tre << endl;
+      
+      return true;
+   }
+   catch( gpstk::Exception& exc )
+   {
+      cout << exc << endl;
+   }
+   
+   return false;
+}
+
+int main (int argc, char *argv[])
+{
+   try
+   {
+      Test t( argv[0] );
+      
+      if( !t.initialize( argc, argv ) )
+      {
+         return 0;
+      }
+      
+      if( !t.run() )
+      {
+         return 1;
+      }
+
+      return 0;
+   }
+   catch( Exception& exc )
+   {
+      cout << exc << endl;
+   }
+   catch( exception& e )
+   {
+      cout << e.what() << endl;
+   }
+   catch( ... )
+   {
+      cout << "Caught an unknown exception." << endl;
+   }
+   return 1;
+}
+
diff --git a/trunk/tests/Xbegweek.cpp b/trunk/tests/Xbegweek.cpp
new file mode 100755
index 0000000..0895595
--- /dev/null
+++ b/trunk/tests/Xbegweek.cpp
@@ -0,0 +1,135 @@
+/* $Id: //depot/sgl/gpstk/dev/tests/Xbegweek.cpp#5 $
+*  Xbegweek.cpp - Test scaffold for demonstrating correctness of the 
+*  SVPCodeGen class.
+*
+*  February 2004
+*  Applied Reserach Laboratories, The University of Texas at Austin
+*/
+   // Language headers
+#include <stdlib.h>
+#include <stdio.h>
+#include <map>
+
+   // Project headers
+#include "PCodeConst.hpp"
+#include "SVPCodeGen.hpp"
+#include "CodeBuffer.hpp"
+#include "X1Sequence.hpp"
+#include "X2Sequence.hpp"
+
+/**
+ * @file Xbegweek.cpp
+ *
+ */
+using namespace std;    // for map and pair access
+using namespace gpstk;
+
+   //  Convenience structure for grouping all the data objects associated
+   //  with a single SV.  These structs are commonly placed in maps for
+   //  processing.
+struct SVData
+{
+   SVPCodeGen * PCodeGen;
+   CodeBuffer * PCodeBuf;
+   codeType   cType;
+   SVData( SVPCodeGen * a1,
+           CodeBuffer * a2,
+           codeType c )
+   { 
+      PCodeGen = a1;
+      PCodeBuf = a2;
+      cType    = c; 
+   };
+};
+
+const int NUM_SATS = 38;
+
+int main(int argc, char* argv[])
+{
+   printf("Ryan's Xbegweek\n");
+  
+   if (argc < 2)
+   {
+     printf("Usage: >Xbegweek <outputfile>\n");
+     exit(1);
+   }
+      // Open an output file.
+   printf(" Opening output file.\n");
+   FILE *outFile = fopen( argv[1], "wt" );
+   if (outFile==NULL)
+   {
+      printf(" Cannot open xbegweek.out for output.\n");
+      exit(-1);
+   }
+   fprintf(outFile," Xbegweek.out - Demonstrating P-Code Beginnging of Week Generation..\n");
+   fprintf(outFile,"                Reproducing ICD-GPS-200, Table 3-I\n");
+
+      // Set time to beginning of week
+   printf(" Setting time to beginning of week.\n");
+   //DayTime dt( 1233, 0.0, 2003 );   // Beginning of week 1233 
+   DayTime dt( 1233, 0.0 );   // Beginning of week 1233 
+   
+      // NOTE: The P-code generator works in 6-second "chunks".  This implies
+      // that there are 6 seconds of X1 bitstream and 6 seconds of X2 bitstreams
+      // held in memory.  To mimimize the memory footprint, these bitstreams
+      // are shared between all coders and are located in dynamically allocated
+      // buffers referenced through static pointers.  THEREFORE, before any 
+      // SVPCodeGen objects are instantiated, these buffers must be allocated
+      // and initialized via the following two calls.  Failure to do so will
+      // resort in abnormal program termination (unless the exceptions are
+      // trapped). 
+   try
+   {
+      X1Sequence::allocateMemory();
+      X2Sequence::allocateMemory();
+   }
+   catch (gpstk::Exception e)
+   {
+      printf(" Memory allocation failure.\n");
+      printf(" Xbegweek will terminate.\n");
+      return(1);
+   }
+   
+      // Instantiate a map to hold SVPCodeGen and CodeBuffer objects
+   printf(" Instantiating the PRN arrays.\n");
+   map<int, SVData>svdMap;
+   typedef map<int, SVData>::iterator SVDataI;
+   
+   SVPCodeGen * svp[NUM_SATS];
+   CodeBuffer * pcb[NUM_SATS];
+   for (int n=0;n<NUM_SATS;++n)
+   {
+      svp[n] = 0;
+      pcb[n] = 0;
+   }
+   
+   for (int PRNndx=0;PRNndx<NUM_SATS;PRNndx++)
+   {
+      svp[PRNndx] = new SVPCodeGen( PRNndx, dt );
+      pcb[PRNndx] = new CodeBuffer( PRNndx );
+      SVData svd ( svp[PRNndx], pcb[PRNndx], P_CODE );
+      pair<int,SVData> ps( PRNndx, svd );
+      svdMap.insert( ps );
+   }
+   
+   fprintf(outFile," PRN  12-bits of code (octal)\n");
+
+   int PRNID;   
+   unsigned long temp;
+   for ( SVDataI p=svdMap.begin(); p!=svdMap.end(); ++p)
+   {
+      PRNID = p->first;
+      SVData& rsvd = p->second;
+      SVPCodeGen& rsvp = *(rsvd.PCodeGen);
+      CodeBuffer& rcb = *(rsvd.PCodeBuf);
+      rsvp.getCurrentSixSeconds( rcb );
+      temp = rcb[0] >> 20;
+      fprintf( outFile,"  %02d             %04o\n",PRNID,temp);
+   }
+   
+      // Close the output files and exit gracefully.
+   printf(" Closing files.\n");
+   fflush( outFile );
+   fclose( outFile );
+   return(0);
+}
diff --git a/trunk/tests/Xendweek.cpp b/trunk/tests/Xendweek.cpp
new file mode 100755
index 0000000..c1bc8f0
--- /dev/null
+++ b/trunk/tests/Xendweek.cpp
@@ -0,0 +1,158 @@
+/* $Id: //depot/sgl/gpstk/dev/tests/Xendweek.cpp#4 $
+*  Xendweek.c - Test scaffold for demonstrating correctness of the 
+*  SVPCodeGen class.  In this case, the test is to correctly generate
+*  the P-code for the last 6 seconds of the week for each possible
+*  GPS PRN.
+*
+*  August 2003
+*  Applied Reserach Laboratories, The University of Texas at Austin
+*/
+   // Language headers
+#include <stdlib.h>
+#include <stdio.h>
+#include <map>
+
+   // Project headers
+#include "PCodeConst.hpp"
+#include "SVPCodeGen.hpp"
+#include "CodeBuffer.hpp"
+#include "X1Sequence.hpp"
+#include "X2Sequence.hpp"
+
+/**
+ * @file Xendweek.cpp
+ *
+ */
+
+using namespace std;    // for map and pair access
+using namespace gpstk;
+
+   //  Convenience structure for grouping all the data objects associated
+   //  with a single SV.  These structs are commonly placed in maps for
+   //  processing.
+struct SVData
+{
+   SVPCodeGen *           PCodeGen;
+   CodeBuffer *           PCodeBuf;
+   codeType               cType;
+   SVData( SVPCodeGen *         a1,
+           CodeBuffer *         a2,
+           codeType             c )
+   { 
+      PCodeGen = a1;
+      PCodeBuf = a2;
+      cType    = c; 
+   };
+};
+
+const int NUM_SATS = 38;
+
+int main(int argc, char* argv[] )
+{
+  printf("Ryan's Xendweek\n");
+
+  if (argc < 2)
+    {
+      printf("Usage: >>Xendweek <outputfile>\n");
+      exit(1);
+    }  
+      // Open an output file.
+   printf(" Opening output file.\n");
+   FILE *outFile = fopen( argv[1], "wt" );
+   if (outFile==NULL)
+   {
+      printf(" Cannot open Xendweek.out for output.\n");
+      exit(-1);
+   }
+   fprintf(outFile," XENDWEEK.OUT - Demonstrating P-Code End of Week Generation..\n");
+   fprintf(outFile,"                Reproducing ICD-GPS-200, Table 3-IV\n");
+
+      // Set time to end of week minus six seconds
+   printf(" Setting time to end of week.\n");
+   //DayTime dt( 1233, 604794.0, 2003 );
+   DayTime dt( 1233, 604794.0 );
+   
+      // NOTE: The P-code generator works in 6-second "chunks".  This implies
+      // that there are 6 seconds of X1 bitstream and 6 seconds of X2 bitstreams
+      // held in memory.  To mimimize the memory footprint, these bitstreams
+      // are shared between all coders and are located in dynamically allocated
+      // buffers referenced through static pointers.  THEREFORE, before any 
+      // SVPCodeGen objects are instantiated, these buffers must be allocated
+      // and initialized via the following two calls.  Failure to do so will
+      // resort in abnormal program termination (unless the exceptions are
+      // trapped). 
+   try
+   {
+      X1Sequence::allocateMemory();
+      X2Sequence::allocateMemory();
+   }
+   catch (gpstk::Exception e)
+   {
+      printf(" Memory allocation failure.\n");
+      printf(" Xbegweek will terminate.\n");
+      return(1);
+   }
+   
+      // Instantiate a map to hold SVPCodeGen and CodeBuffer objects
+   printf(" Instantiating the PRN map.\n");
+   map<int, SVData>svdMap;
+   typedef map<int, SVData>::iterator SVDataI;
+   
+      // Instantiate and initialize the P-coder objects
+   SVPCodeGen * svp[NUM_SATS];
+   CodeBuffer * pcb[NUM_SATS]; 
+   for (int n=0;n<NUM_SATS;++n) { svp[n]=0; pcb[n]=0; };
+   
+   for (int PRNndx=0; PRNndx<NUM_SATS; ++PRNndx)
+   {
+      svp[PRNndx] = new SVPCodeGen( PRNndx, dt );
+      pcb[PRNndx] = new CodeBuffer( PRNndx );
+
+      SVData svd( svp[PRNndx], pcb[PRNndx], P_CODE );
+      pair<int,SVData> ps( PRNndx, svd );
+      svdMap.insert( ps );
+   }
+   
+   fprintf(outFile," PRN  Last word ");
+
+      // Calculate X1count where X2 starts to transition to end of week "hold"
+   long EndOfWeekTestCount =
+      3 * (XA_COUNT * XA_MAX_EPOCH) + (XA_COUNT * (XA_MAX_EPOCH-1)) + 3023;
+   long EndOfWeekTestWord = (EndOfWeekTestCount / MAX_BIT);
+   long EndOfWeekTestEnd = EndOfWeekTestWord+(XA_EPOCH_DELAY+104)/MAX_BIT+3; 
+   
+   long chip = EndOfWeekTestWord * MAX_BIT -
+               3 * (XA_COUNT * XA_MAX_EPOCH) - (XA_COUNT * (XA_MAX_EPOCH-1));
+   for (long j=EndOfWeekTestWord;j<EndOfWeekTestEnd;j++)
+   {
+      fprintf(outFile,"%4d      ",chip);
+      chip+=32;
+   }
+   fprintf(outFile,"\n");
+   
+   int PRNID;
+   unsigned long temp;
+   for ( SVDataI p=svdMap.begin(); p!=svdMap.end(); ++p )
+   {
+      PRNID = p->first;
+      SVData& rsvd = p->second;
+      SVPCodeGen& rsvp = *(rsvd.PCodeGen);
+      CodeBuffer& rcb = *(rsvd.PCodeBuf);
+      rsvp.getCurrentSixSeconds( rcb );
+      temp = rcb[NUM_6SEC_WORDS-1];
+      fprintf( outFile,"  %02d  x%08X",PRNID,temp);
+      for (long n=EndOfWeekTestWord;n<EndOfWeekTestEnd;n++)
+      {
+         fprintf(outFile," x%08X",rcb[n]);
+      }
+      fprintf(outFile,"\n");
+   }
+
+      /*
+         Close the output files and exit gracefully.
+      */
+   printf(" Closing files.\n");
+   fflush( outFile );
+   fclose( outFile );
+   return(0);
+}
diff --git a/trunk/tests/configfile.txt b/trunk/tests/configfile.txt
new file mode 100755
index 0000000..d97b2c9
--- /dev/null
+++ b/trunk/tests/configfile.txt
@@ -0,0 +1,52 @@
+# $Id: //depot/sgl/gpstk/dev/tests/configfile.txt#6 $
+# Configuration file for GPSTk regression test script
+#
+AnotherFileFilterTest;
+#
+DayTimeConversionTest;
+#
+DayTimeIncrementTest;
+#
+DayTimeIncrementTest2;
+#
+daytimetest;
+#
+DayTimeToleranceTest;
+#
+EphComp -p $datdir/nga12600.apc -p $datdir/nga12601.apc -b $datdir/merge.n
+#
+exceptiontest;
+#
+FileSpecTest.pl $exedir
+#
+gpszcounttest;
+#
+MatrixTest $datdir/anotsym.dat $datdir/cov.dat $datdir/dia.dat $datdir/lt.dat\
+           $datdir/partials.dat $datdir/squ.dat $datdir/sym.dat $datdir/tmatrix.dat\
+           $datdir/ut.dat, MatrixTest.scr:MatrixTest.ref;
+#
+petest $datdir/nga12600.apc;
+#
+positiontest, positiontest.scr:positiontest.ref;
+#
+rinex_met_read_write $datdir/405_077A.02M $outdir/rinex_met.out;
+#
+rinex_met_test $datdir/405_077A.02M;
+#
+rinex_nav_read_write $datdir/suwn0770.02n.Z $outdir/rinex_nav.out;
+#
+rinex_nav_test $datdir/suwn0770.02n.Z;
+#
+rinex_obs_read_write $datdir/s1110770.02o.Z $outdir/rinex_obs.out;
+#
+rinex_obs_test $datdir/s1110770.02o.Z
+#
+RungeKuttaTest, RungeKuttaTest.scr:rktest.ref;
+#
+stringutiltest, stringutiltest.scr:stringutiltest.ref;
+#
+Xbegweek $outdir/Xbegweek.out, Xbegweek.out:Xbegweek.can;
+#
+Xendweek $outdir/Xendweek.out, Xendweek.out:Xendweek.can;
+#
+# End of File
diff --git a/trunk/tests/configfile_readme.txt b/trunk/tests/configfile_readme.txt
new file mode 100644
index 0000000..0df34b9
--- /dev/null
+++ b/trunk/tests/configfile_readme.txt
@@ -0,0 +1,14 @@
+	configfile.txt accompanies testscript.pl allowing for easy update of new and old tests and a solid infrastructure for adding new test options.  Any line beginning in a “#” or “!” character will be skipped when read by testscript.pl, so that comments can be easily added and the configfile read at a glance.  
+	There are two parts for each line(s) containing a test program.  The first part is what would be executed on the command line when running the test program by itself, including all command line options.  Directories should be replaced with variables including:
+$datdir - development directory defined by the user + /gpstk/dev/tests/data
+$outdir – output directory defined by the user
+$exedir – development directory defined by the user + /gpstk/dev/tests
+
+	The second part of the configuration line is separated from the first part by a comma.  After the comma, if a difference is necessary then the two files which need to be differenced should be typed next to one and other with a colon separating them. (for example:  stringutiltest.scr:stringutiltest.ref)  Since the test script automatically creates a file named stringutiltest.scr, and stringutiltest makes its output show in stout this is the proper formation for a difference.  However be  [...]
+	If a text in the configfile is too long to be viewed on only one line then the “\” backslash character denotes a continuation of the text on the following line.  If the backslash is used then the following line should be indented to align with the space after the end of the test program name on the primary line.  This syntactical design allows for much easier viewing of the configfile. 
+(example:
+MatrixTest $datdir/anotsym.dat $datdir/cov.dat $datdir/dia.dat $datdir/lt.dat\
+                   $datdir/partials.dat $datdir/squ.dat $datdir/sym.dat $datdir/tmatrix.dat\
+                   $datdir/ut.dat, MatrixTest.scr:MatrixTest.ref; 
+)
+
diff --git a/trunk/tests/data/405_077A.02M b/trunk/tests/data/405_077A.02M
new file mode 100644
index 0000000..73d87dd
--- /dev/null
+++ b/trunk/tests/data/405_077A.02M
@@ -0,0 +1,108 @@
+     2.10           Meteorological                          RINEX VERSION / TYPE
+RinexMetWriter      NIMA                 3-19-02  0:04:03   PGM / RUN BY / DATE
+NOTE:  0 records omitted due to a missing datum             COMMENT
+NOTE:  Some of the weather values may be corrected.         COMMENT
+85405                                                       MARKER NAME
+85405                                                       MARKER NUMBER
+     3    PR    TD    HR                                    # / TYPES OF OBSERV
+Vaisala             PTB220                        0.1    PR SENSOR MOD/TYPE/ACC
+Vaisala             HMP230                        0.1    TD SENSOR MOD/TYPE/ACC
+Vaisala             HMP230                        0.1    HR SENSOR MOD/TYPE/ACC
+  3633910.8759  4425277.6639  2799862.7878      -13.8530 PR SENSOR POS XYZ/H
+                                                            END OF HEADER
+ 02  3 18  0  0  0 1005.2   22.0   79.2
+ 02  3 18  0 15  0 1005.3   21.9   81.5
+ 02  3 18  0 30  0 1005.3   21.9   83.1
+ 02  3 18  0 45  0 1005.2   21.6   83.9
+ 02  3 18  1  0  0 1004.4   21.5   83.7
+ 02  3 18  1 15  0 1004.1   21.5   84.1
+ 02  3 18  1 30  0 1004.1   21.8   81.5
+ 02  3 18  1 45  0 1004.1   21.8   81.1
+ 02  3 18  2  0  0 1004.1   21.9   79.2
+ 02  3 18  2 15  0 1004.3   22.1   77.5
+ 02  3 18  2 30  0 1004.5   22.1   78.5
+ 02  3 18  2 45  0 1004.7   22.1   78.8
+ 02  3 18  3  0  0 1005.4   22.2   83.7
+ 02  3 18  3 15  0 1005.3   22.1   83.8
+ 02  3 18  3 30  0 1005.6   22.1   83.9
+ 02  3 18  3 45  0 1005.3   22.2   83.6
+ 02  3 18  4  0  0 1005.4   22.5   82.0
+ 02  3 18  4 15  0 1005.6   22.7   83.3
+ 02  3 18  4 30  0 1005.7   23.0   83.8
+ 02  3 18  4 45  0 1005.7   22.9   83.6
+ 02  3 18  5  0  0 1006.0   23.1   83.9
+ 02  3 18  5 15  0 1006.0   23.5   84.2
+ 02  3 18  5 30  0 1006.1   23.4   83.6
+ 02  3 18  5 45  0 1006.2   23.4   83.6
+ 02  3 18  6  0  0 1006.2   23.8   79.1
+ 02  3 18  6 15  0 1006.1   25.6   74.7
+ 02  3 18  6 30  0 1006.2   26.8   61.6
+ 02  3 18  6 45  0 1006.3   27.7   62.0
+ 02  3 18  7  0  0 1006.4   28.6   58.9
+ 02  3 18  7 15  0 1006.3   28.2   58.5
+ 02  3 18  7 30  0 1006.4   28.6   58.0
+ 02  3 18  7 45  0 1006.2   29.2   53.2
+ 02  3 18  8  0  0 1006.0   30.1   45.2
+ 02  3 18  8 15  0 1005.8   30.6   46.4
+ 02  3 18  8 30  0 1005.7   30.6   44.1
+ 02  3 18  8 45  0 1005.6   30.9   39.1
+ 02  3 18  9  0  0 1005.6   30.1   38.8
+ 02  3 18  9 15  0 1005.5   30.5   42.9
+ 02  3 18  9 30  0 1005.4   30.8   41.2
+ 02  3 18  9 45  0 1005.2   31.5   39.0
+ 02  3 18 10  0  0 1005.0   30.3   40.6
+ 02  3 18 10 15  0 1004.8   32.0   35.9
+ 02  3 18 10 30  0 1004.6   32.7   32.6
+ 02  3 18 10 45  0 1004.6   31.8   40.6
+ 02  3 18 11  0  0 1004.5   32.0   40.2
+ 02  3 18 11 15  0 1004.4   33.2   35.1
+ 02  3 18 11 30  0 1004.3   31.5   43.7
+ 02  3 18 11 45  0 1004.3   31.9   41.7
+ 02  3 18 12  0  0 1004.2   30.1   48.7
+ 02  3 18 12 15  0 1004.0   29.3   48.4
+ 02  3 18 12 30  0 1004.0   28.6   55.2
+ 02  3 18 12 45  0 1003.9   28.4   52.8
+ 02  3 18 13  0  0 1004.0   27.8   58.4
+ 02  3 18 13 15  0 1003.9   26.9   63.6
+ 02  3 18 13 30  0 1003.9   26.5   66.2
+ 02  3 18 13 45  0 1003.9   26.9   66.2
+ 02  3 18 14  0  0 1003.9   26.3   68.6
+ 02  3 18 14 15  0 1003.9   25.9   68.1
+ 02  3 18 14 30  0 1004.0   25.3   76.8
+ 02  3 18 14 45  0 1004.2   25.0   80.0
+ 02  3 18 15  0  0 1004.3   24.8   83.4
+ 02  3 18 15 15  0 1004.4   24.6   83.3
+ 02  3 18 15 30  0 1004.4   24.8   81.6
+ 02  3 18 15 45  0 1004.6   24.4   83.1
+ 02  3 18 16  0  0 1004.7   24.1   83.2
+ 02  3 18 16 15  0 1005.1   23.9   83.3
+ 02  3 18 16 30  0 1005.2   23.7   83.2
+ 02  3 18 16 45  0 1005.5   23.8   83.1
+ 02  3 18 17  0  0 1005.8   23.6   83.1
+ 02  3 18 17 15  0 1006.0   23.5   82.9
+ 02  3 18 17 30  0 1006.1   23.4   82.8
+ 02  3 18 17 45  0 1006.2   23.2   83.0
+ 02  3 18 18  0  0 1006.3   23.0   83.0
+ 02  3 18 18 15  0 1006.4   23.0   82.8
+ 02  3 18 18 30  0 1006.5   23.1   83.0
+ 02  3 18 18 45  0 1006.6   23.1   83.0
+ 02  3 18 19  0  0 1006.7   22.7   83.1
+ 02  3 18 19 15  0 1006.9   22.6   83.0
+ 02  3 18 19 30  0 1006.9   22.7   82.7
+ 02  3 18 19 45  0 1006.9   22.7   83.1
+ 02  3 18 20  0  0 1007.0   22.9   83.1
+ 02  3 18 20 15  0 1006.9   23.0   83.3
+ 02  3 18 20 30  0 1006.9   23.0   83.8
+ 02  3 18 20 45  0 1006.9   22.7   83.7
+ 02  3 18 21  0  0 1007.2   22.7   83.6
+ 02  3 18 21 15  0 1007.2   22.5   83.4
+ 02  3 18 21 30  0 1007.5   22.4   83.5
+ 02  3 18 21 45  0 1007.1   22.2   83.3
+ 02  3 18 22  0  0 1007.2   22.1   83.4
+ 02  3 18 22 15  0 1007.1   22.1   83.6
+ 02  3 18 22 30  0 1007.3   22.0   83.5
+ 02  3 18 22 45  0 1007.4   22.0   83.5
+ 02  3 18 23  0  0 1007.7   21.9   83.4
+ 02  3 18 23 15  0 1007.8   21.9   83.5
+ 02  3 18 23 30  0 1008.0   21.7   83.5
+ 02  3 18 23 45  0 1008.0   21.6   83.5
diff --git a/trunk/tests/data/MatrixTest.ref b/trunk/tests/data/MatrixTest.ref
new file mode 100644
index 0000000..ffa9e84
--- /dev/null
+++ b/trunk/tests/data/MatrixTest.ref
@@ -0,0 +1,1332 @@
+
+ -------------- Vector Test ---------------------------------
+V =  3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415
+V =  1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8 9.9 10.1
+V min 1.1, max 10.1, sum 59.6
+Vodd =  1.1 3.3 5.5 7.7 9.9
+Veve =  2.2 4.4 6.6 8.8 10.1
+Vodd =  1.1 0 5.5 0 9.9
+Veve =  2.2 99 6.6 99 10.1
+Minkowski of Vodd and Veve 38.72
+dot of Vodd and Veve 138.71
+V    =  1.1 2.2 0 99 5.5 6.6 0 99 9.9 10.1
+V min 0, max 99, sum 233.4, norm 141.003
+Zero tolerance for V is 1e-15
+Zero tolerance for W is 1e-05
+Here is W the usual way :
+  ...2.200 ...4.400 ...0.000 .198.000 ..11.000 ..13.200 ...0.000 .198.000 ..19.800 ..20.200
+Here is W the saved way :
+...2.200...4.400...0.000.198.000..11.000..13.200...0.000.198.000..19.800..20.200
+Sum =     3.300    6.600    0.000  297.000   16.500   19.800    0.000  297.000   29.700   30.300
+CVS =          1.100         2.200         0.000        99.000         5.500         6.600         0.000        99.000         9.900        10.100
+
+ -------------- Matrix Test 1 ---------------------------------
+Matrix (2,5) from double* :
+   1.1   2.2   3.3   4.4   5.5
+   6.6   7.7   8.8   9.9  10.1
+Partials Matrix (15,12) :
+  -1900.000    -37.000   2000.000  -3800.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000
+  -1800.000     -6.200   2200.000  -3900.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000
+   2600.000    570.000   -940.000     -2.500      0.000    110.000      0.310   -200.000      0.000     64.000   -190.000   -170.000
+   2000.000  -2100.000  -1700.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000      0.000
+     30.000    200.000   2900.000      0.000      0.000   1800.000     89.000  -5100.000   -250.000      0.000     -0.000     -0.000
+     -8.200     -0.340      4.200      0.000      0.000      1.200      0.000     -3.800     -0.150     31.000      0.410     82.000
+    370.000    230.000    -96.000      0.000      0.000      0.000      0.000    -32.000     -0.730    -61.000      7.800    820.000
+  -1500.000   -280.000    140.000      0.000      0.000      0.000      0.000    680.000     33.000   1200.000     57.000  -3100.000
+     -0.170     -0.920      0.170      0.000      0.000      0.000      0.000      0.430      0.000      0.580     -0.054     -2.300
+     17.000    -55.000      1.500      0.000      0.000      0.000      0.000      0.000      0.000    -33.000     -0.820    -63.000
+    100.000    600.000   -100.000      0.000      0.000      0.000      0.000      0.000      0.000    730.000     35.000   1200.000
+     -0.380     -0.290      0.150      0.000      0.000      0.000      0.000      0.000      0.000      0.460      0.000      0.610
+    -26.000    -19.000     10.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    -30.000
+    210.000    160.000    -83.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    640.000
+      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.410
+Data vector (15) :
+   -250.000   -250.000    520.000     -0.000      0.000     -0.000     33.000   -150.000     -0.095      8.100     61.000     -0.057     -0.270     31.000      0.000
+Covariance matrix (12,12) :
+      0.146      0.047      0.443      1.047    -18.024     -0.154      1.462      0.538     -6.373      0.039     -0.702     -0.002
+      0.047      0.016      0.145      0.342     -5.886     -0.049      0.450      0.176     -2.090      0.013     -0.230     -0.001
+      0.443      0.145      1.349      3.185    -54.810     -0.490      4.905      1.621    -19.041      0.120     -2.152     -0.007
+      1.047      0.342      3.185      7.522   -129.462     -1.149     11.411      3.835    -45.099      0.282     -5.077     -0.017
+    -18.024     -5.886    -54.810   -129.462   2228.196     19.590   -192.918    -66.106    778.268     -4.857     87.285      0.287
+     -0.154     -0.049     -0.490     -1.149     19.590      0.424     -6.583     -0.450      4.140     -0.048      0.882     -0.000
+      1.462      0.450      4.905     11.411   -192.918     -6.583    111.877      3.123    -13.851      0.522     -9.837      0.033
+      0.538      0.176      1.621      3.835    -66.106     -0.450      3.123      2.039    -24.704      0.142     -2.519     -0.011
+     -6.373     -2.090    -19.041    -45.099    778.268      4.140    -13.851    -24.704    305.519     -1.644     29.008      0.143
+      0.039      0.013      0.120      0.282     -4.857     -0.048      0.522      0.142     -1.644      0.011     -0.192     -0.001
+     -0.702     -0.230     -2.152     -5.077     87.285      0.882     -9.837     -2.519     29.008     -0.192      3.492      0.009
+     -0.002     -0.001     -0.007     -0.017      0.287     -0.000      0.033     -0.011      0.143     -0.001      0.009      0.000
+Solution vector (12) :
+     -1.139     -0.594     -4.360    -10.043    171.356      3.019    -46.415     -3.817     31.883     -0.223      7.204      0.005
+Residual vector (15) :
+  1.239e-04 -1.158e-04  4.797e-03 -3.487e-03  2.072e-04 -1.014e+00 -1.559e-02  6.014e-03  2.077e+00  2.073e-01  1.475e-02  9.146e-02  2.570e+00  3.009e-01 -1.978e-03
+2*Solution vector (12) :
+     -2.279     -1.188     -8.721    -20.086    342.712      6.039    -92.831     -7.633     63.767     -0.446     14.408      0.010
+2*Partials Matrix (15,12) :
+  -3800.000    -74.000   4000.000  -7600.000   -380.000      0.000      0.000   -182.000     11.400   4200.000    178.000 -10200.000
+  -3600.000    -12.400   4400.000  -7800.000   -380.000      0.000      0.000   -182.000     11.400   4200.000    178.000 -10200.000
+   5200.000   1140.000  -1880.000     -5.000      0.000    220.000      0.620   -400.000      0.000    128.000   -380.000   -340.000
+   4000.000  -4200.000  -3400.000      0.000      0.000   -182.000     11.400   4200.000    178.000 -10200.000   -500.000      0.000
+     60.000    400.000   5800.000      0.000      0.000   3600.000    178.000 -10200.000   -500.000      0.000     -0.000     -0.000
+    -16.400     -0.680      8.400      0.000      0.000      2.400      0.000     -7.600     -0.300     62.000      0.820    164.000
+    740.000    460.000   -192.000      0.000      0.000      0.000      0.000    -64.000     -1.460   -122.000     15.600   1640.000
+  -3000.000   -560.000    280.000      0.000      0.000      0.000      0.000   1360.000     66.000   2400.000    114.000  -6200.000
+     -0.340     -1.840      0.340      0.000      0.000      0.000      0.000      0.860      0.000      1.160     -0.108     -4.600
+     34.000   -110.000      3.000      0.000      0.000      0.000      0.000      0.000      0.000    -66.000     -1.640   -126.000
+    200.000   1200.000   -200.000      0.000      0.000      0.000      0.000      0.000      0.000   1460.000     70.000   2400.000
+     -0.760     -0.580      0.300      0.000      0.000      0.000      0.000      0.000      0.000      0.920      0.000      1.220
+    -52.000    -38.000     20.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    -60.000
+    420.000    320.000   -166.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000   1280.000
+      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.820
+Vector c(8) :
+   0.000   3.000   6.000   9.000  12.000  15.000  18.000  21.000
+Vector b(7) :
+   1.000   2.000   3.000   4.000   5.000   6.000   7.000
+Their outer product (8,7) :
+   0.000   0.000   0.000   0.000   0.000   0.000   0.000
+   3.000   6.000   9.000  12.000  15.000  18.000  21.000
+   6.000  12.000  18.000  24.000  30.000  36.000  42.000
+   9.000  18.000  27.000  36.000  45.000  54.000  63.000
+  12.000  24.000  36.000  48.000  60.000  72.000  84.000
+  15.000  30.000  45.000  60.000  75.000  90.000 105.000
+  18.000  36.000  54.000  72.000  90.000 108.000 126.000
+  21.000  42.000  63.000  84.000 105.000 126.000 147.000
+Their norms 11.832 and 35.496 and dot 336.000 and cosine 0.800
+
+ -------------- Matrix Test 2 ---------------------------------
+Tough matrix (2,2) :
+  1.000000  0.500000
+  0.500000  0.333333
+Condition number for 2 is 1.268/6.574e-02 = 1.928e+01
+Inverse matrix (2,2) :
+      4.000     -6.000
+     -6.000     12.000
+
+Unity matrix (2,2) ? :
+  1.000000000  0.000000000
+  0.000000000  1.000000000
+
+Tough matrix (3,3) :
+  1.000000  0.500000  0.333333
+  0.500000  0.333333  0.250000
+  0.333333  0.250000  0.200000
+Condition number for 3 is 1.408/2.687e-03 = 5.241e+02
+Inverse matrix (3,3) :
+      9.000    -36.000     30.000
+    -36.000    192.000   -180.000
+     30.000   -180.000    180.000
+
+Unity matrix (3,3) ? :
+  1.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000
+
+Tough matrix (4,4) :
+  1.000000  0.500000  0.333333  0.250000
+  0.500000  0.333333  0.250000  0.200000
+  0.333333  0.250000  0.200000  0.166667
+  0.250000  0.200000  0.166667  0.142857
+Condition number for 4 is 1.500/9.670e-05 = 1.551e+04
+Inverse matrix (4,4) :
+     16.000   -120.000    240.000   -140.000
+   -120.000   1200.000  -2700.000   1680.000
+    240.000  -2700.000   6480.000  -4200.000
+   -140.000   1680.000  -4200.000   2800.000
+
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000
+
+Tough matrix (5,5) :
+  1.000000  0.500000  0.333333  0.250000  0.200000
+  0.500000  0.333333  0.250000  0.200000  0.166667
+  0.333333  0.250000  0.200000  0.166667  0.142857
+  0.250000  0.200000  0.166667  0.142857  0.125000
+  0.200000  0.166667  0.142857  0.125000  0.111111
+Condition number for 5 is 1.567/3.288e-06 = 4.766e+05
+Inverse matrix (5,5) :
+     25.000   -300.000   1050.000  -1400.000    630.000
+   -300.000   4800.000 -18900.000  26880.000 -12600.000
+   1050.000 -18900.000  79380.000 -117600.000  56700.000
+  -1400.000  26880.000 -117600.000 179200.000 -88200.000
+    630.000 -12600.000  56700.000 -88200.000  44100.000
+
+Unity matrix (5,5) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000
+
+Tough matrix (6,6) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+Condition number for 6 is 1.619/1.083e-07 = 1.495e+07
+Inverse matrix (6,6) :
+           36.000         -630.000         3360.000        -7560.000         7560.000        -2772.000
+         -630.000        14700.000       -88200.000       211680.000      -220500.000        83160.000
+         3360.000       -88200.000       564480.000     -1411200.000      1512000.000      -582120.000
+        -7560.000       211680.000     -1411200.000      3628800.000     -3969000.000      1552320.000
+         7560.000      -220500.000      1512000.000     -3969000.000      4410000.000     -1746360.000
+        -2772.000        83160.000      -582120.000      1552320.000     -1746360.000       698544.000
+
+Unity matrix (6,6) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000
+
+Tough matrix (7,7) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333
+  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923
+Condition number for 7 is 1.661/3.494e-09 = 4.754e+08
+Inverse matrix (7,7) :
+            49.000         -1176.000          8820.000        -29400.000         48510.000        -38808.000         12012.000
+         -1176.000         37632.000       -317520.000       1128960.001      -1940400.001       1596672.001       -504504.000
+          8820.000       -317520.000       2857680.002     -10584000.008      18711000.014     -15717240.012       5045040.004
+        -29400.000       1128960.001     -10584000.007      40320000.028     -72765000.051      62092800.043     -20180160.014
+         48510.000      -1940400.001      18711000.013     -72765000.051     133402500.091    -115259760.077      37837800.025
+        -38808.000       1596672.001     -15717240.011      62092800.043    -115259760.077     100590336.065     -33297264.021
+         12012.000       -504504.000       5045040.004     -20180160.014      37837800.025     -33297264.021      11099088.007
+
+Unity matrix (7,7) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000002  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.999999998  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000001  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000
+
+Tough matrix (8,8) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923
+  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429
+  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667
+Condition number for 8 is 1.696/1.112e-10 = 1.526e+10
+Inverse matrix (8,8) :
+             64.000          -2016.000          20159.999         -92399.996         221759.988        -288287.982         192191.987         -51479.996
+          -2016.000          84671.997        -952559.955        4656959.750      -11642399.317       15567551.020      -10594583.295        2882879.799
+          20159.999        -952559.955       11430719.391      -58211996.637      149687990.800     -204324106.814      141261110.516      -38918877.300
+         -92399.995        4656959.749      -58211996.627      304919981.374     -800414949.056     1109908726.996     -776936107.502      216215985.058
+         221759.988      -11642399.310      149687990.751     -800414948.938     2134439860.371    -2996753559.942     2118916656.155     -594593959.063
+        -288287.982       15567551.009     -204324106.719     1109908726.693    -2996753559.575     4249941408.870    -3030050817.570      856215301.257
+         192191.987      -10594583.286      141261110.434     -776936107.205     2118916655.675    -3030050817.261     2175421099.379     -618377717.711
+         -51479.996        2882879.797      -38918877.273      216215984.955     -594593958.876      856215301.096     -618377717.658      176679347.953
+
+Unity matrix (8,8) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000001  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.999999986  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000076  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.999999767  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000193  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.999999830  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000037
+
+Tough matrix (9,9) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429
+  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667
+  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500
+  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824
+Condition number for 9 is 1.726/3.500e-12 = 4.932e+11
+Inverse matrix (9,9) :
+              81.000           -3239.993           41579.888         -249479.194          810807.026        -1513505.899         1621612.966         -926635.737          218788.944
+           -3239.993          172799.541        -2494792.162        15966663.660       -54053792.200       103783253.763      -113512908.603        65894102.215       -15752806.217
+           41579.888        -2494792.152        38419786.031      -256131837.198       891887449.296     -1748099077.528      1942332004.893     -1141615392.946       275674139.631
+         -249479.191        15966663.535      -256131836.277      1756332274.714     -6243211462.615     12430926186.854    -13984790508.882      8302657819.761     -2021610537.282
+          810807.012       -54053791.583       891887443.222     -6243211443.389     22544928265.312    -45450572110.925     51648374250.600    -30918753036.712      7581040064.187
+        -1513505.867       103783252.240     -1748099060.647     12430926115.597    -45450571993.519     92553889302.385   -106051328806.066     63930469973.817    -15768564281.271
+         1621612.925      -113512906.601      1942331981.233    -13984790396.514     51648374003.730   -106051328577.279    122366918173.139    -74205011895.876     18396659259.861
+         -926635.711        65894100.878     -1141615376.477      8302657736.326    -30918752830.485     63930469718.981    -74205011761.902     45229722630.151    -11263261258.501
+          218788.937       -15752805.859       275674135.101     -2021610513.380      7581040001.165    -15768564193.658     18396659198.446    -11263261241.397      2815815419.837
+
+Unity matrix (9,9) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000024  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.999999631  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000002344  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.999992238  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000014129  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.999984200  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000008464  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.999998083
+
+Tough matrix (10,10) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667
+  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500
+  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824
+  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556
+  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632
+Condition number for 10 is 1.752/1.093e-13 = 1.603e+13
+Inverse matrix (10,10) :
+               99.997            -4949.707            79193.761          -600543.309          2522249.714         -6305557.282          9608381.866         -8750423.201          4375182.376          -923644.213
+            -4949.707           326674.691         -5880061.388         47562626.844       -208084574.272        535070510.591       -832326496.844        770039271.684       -389830498.337         83128486.534
+            79193.757         -5880061.244        112896056.251       -951246268.227       4280580454.735     -11236462967.472      17756304679.253     -16632881349.689       8505421737.697      -1828835230.750
+          -600543.260         47562624.662       -951246249.502       8244090837.638     -37871129229.533     100989315032.345    -161582411925.166     152888338788.438     -78832870765.429      17069191630.685
+          2522249.451       -208084560.984       4280580303.646     -37871128666.871     176731486747.884    -477174003968.651     771188922386.036    -735776047744.169     382037049295.216     -83212557115.210
+         -6305556.495        535070468.489     -11236462432.376     100989312392.545    -477173998747.507    1301382474919.178   -2120769824287.527    2037535754626.719   -1064247971726.603     232995733611.894
+          9608380.500       -832326421.254      17756303660.838    -161582406308.650     771188907669.631   -2120769807361.491    3480238026361.496   -3363553960231.284    1765865954691.027    -388327026322.139
+         -8750421.830        770039194.115     -16632880267.564     152888332461.958    -735776029213.981    2037535726396.181   -3363553940731.962    3267454784762.863   -1723072937728.113     380402656018.566
+          4375181.638       -389830455.904       8505421132.338     -78832867101.041     382037037918.744   -1064247952356.138    1765865936973.845   -1723072930493.453     912216089949.520    -202089218544.761
+          -923644.048         83128476.933      -1828835091.693      17069190769.985     -83212554349.059     232995728621.076    -388327021222.404     380402653262.438    -202089217932.641      44908774796.061
+
+Unity matrix (10,10) ? :
+  0.999999994  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000417  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.999992379  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000061328  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.999736980  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.001357038  0.001071131  0.000000000  0.000000000  0.000000000  1.000619418  0.000000000  0.000000000  0.000000000  0.000000000
+ -0.002263509 -0.001870874 -0.001568587 -0.001344139 -0.001220252 -0.001069790  0.999023438  0.000000000  0.000000000  0.000000000
+  0.002188697  0.001777221  0.001475800  0.001289524  0.001170693  0.001008509  0.000000000  1.000865851  0.000000000  0.000000000
+ -0.001179863  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.999576132  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000087657
+
+Tough matrix (11,11) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500
+  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824
+  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556
+  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632
+  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632  0.050000
+  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632  0.050000  0.047619
+Condition number for 11 is 1.775/3.397e-15 = 5.225e+14
+Inverse matrix (11,11) :
+               120.918             -7251.341            141344.583          -1318791.866           6921826.357         -22144939.426          44808703.507         -57601856.145          45595041.343         -20261954.393           3867767.409
+             -7251.348            579891.018         -12717640.876         126581398.196        -692108018.626        2277654610.002       -4704922045.778        6144474303.965       -4924670946.271        2210650350.983        -425515965.581
+            141344.934         -12717658.088         297531117.436       -3084989021.460       17350658603.300      -58291436492.874      122327946926.697     -161758673696.484      130959653525.738      -59278277722.593       11490201535.659
+          -1318797.410         126581759.837       -3084993411.181       32902828534.750     -188916342274.916      644783194472.133    -1370071435650.341     1830044050807.565    -1493983210227.210      680987431589.465     -132787265627.683
+           6921867.875        -692111062.005       17350707817.054     -188916600130.934     1101948977483.511    -3808147548039.201     8173708734626.625   -11009082749499.889     9050447121298.596    -4149999949071.226      813379637981.481
+         -22145111.836        2277668078.169      -58291681340.856      644784904102.342    -3808152332345.138    13293590594832.832   -28771404248627.789    39023609170449.961   -32272354633896.629    14874289078793.883    -2928338448240.569
+          44809130.132       -4704956734.846      122328619234.697    -1370076714550.041     8173728425085.154   -28771436854136.574    62706793930523.758   -85558885972179.516    71120637944732.594   -32926140761280.770     6507740042864.710
+         -57602500.227        6144528136.988     -161759760003.480     1830053145837.583   -11009120904374.123    39023693393025.688   -85558972572396.781   117339252834663.797   -97974567403313.016    45536822449054.438    -9031530012227.531
+          45595622.992       -4924720547.559      130960682635.824    -1493992182729.389     9050487262249.521   -32272454297850.828    71120774560686.375   -97974655585559.828    82127370348982.031   -38304205135179.438     7620630798625.215
+         -20262242.995        2210675341.397      -59278806840.369      680992175413.726    -4150022051778.698    14874347605726.658   -32926231004636.465    45536900107163.156   -38304235752591.375    17920543158322.527    -3575224279567.974
+           3867827.911        -425521267.942       11490315550.758     -132788308901.706      813384636892.569    -2928352234768.504     6507762715101.809    -9031551959366.578     7620642334859.467    -3575226818826.558      715064844882.424
+
+Unity matrix (11,11) ? :
+  0.999999941  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000005304  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.999883013  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.001940826  0.001595158  0.001339272  1.001178451  0.001063279  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+ -0.011741668 -0.009662576 -0.008326065 -0.007290386  0.993537150 -0.005775452 -0.005282000 -0.004847173 -0.004503720 -0.004178651 -0.003919300
+  0.042323261  0.034457713  0.029589549  0.025873080  0.023084164  1.020477295  0.018944830  0.017346412  0.016031891  0.014731869  0.014166445
+ -0.092712641 -0.076385081 -0.065326780 -0.056910574 -0.050591946 -0.045227051  0.958620042 -0.037678748 -0.035547912 -0.032245129 -0.031267196
+  0.125410020  0.103069127  0.087852061  0.076922655  0.068196833  0.060913086  0.055786312  1.051216006  0.047547072  0.043395340  0.041414440
+ -0.107213974 -0.088007271 -0.074871659 -0.066078961 -0.058702528 -0.052246094 -0.047943950 -0.043717891  0.959495366 -0.037332356 -0.035528064
+  0.049251884  0.040930450  0.034859270  0.030483797  0.027265683  0.024078369  0.022140726  0.020156011  0.018775538  1.017171472  0.016579047
+ -0.009847745 -0.008182019 -0.006872792 -0.006067116 -0.005423635 -0.004844666 -0.004439995 -0.004027981 -0.003775425 -0.003451079  0.996716926
+
+Tough matrix (12,12) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824
+  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556
+  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632
+  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632  0.050000
+  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632  0.050000  0.047619
+  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632  0.050000  0.047619  0.045455
+  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632  0.050000  0.047619  0.045455  0.043478
+Condition number for 12 is 1.795/1.093e-16 = 1.642e+16
+Inverse matrix (12,12) :
+                142.354             -10088.406             233736.342           -2614367.646           16651471.989          -65781668.595          168561107.846         -285083498.955          315916371.354         -220621290.980           88063716.362          -15315642.608
+             -10088.847             955426.263          -24947304.281          298073487.260        -1979996601.688         8053738079.627       -21085714800.679        36255643992.605       -40706421675.201        28731708965.391       -11570320771.342         2027292874.123
+             233761.707          -24948762.982          695848712.893        -8670450721.644        59296922096.191      -246417274674.997       655846962589.952     -1142473212554.553      1296363838368.686      -923063645013.402       374474177872.780       -66028507584.869
+           -2614845.018          298110085.703        -8670976926.313       111233028700.413      -777168378000.420      3283049349023.791     -8852112049717.578     15583529484537.090    -17837545832749.488     12794664751735.895     -5223254097130.730       925980069936.351
+           16655793.902        -1980369321.202        59304066615.182      -777213179126.735      5519997948030.292    -23622765025341.727     64367346537851.984   -114304215569529.703    131798275661232.734    -95129403951987.906     39045175498725.500     -6954545069586.677
+          -65803767.705         8055770752.630      -246461105401.198      3283415793680.815    -23624008656470.262    102166216422502.531   -280811402098816.625    502323478544647.625   -582821556478676.125    422935587220813.062   -174405788979085.281     31192561879079.137
+          168630210.300       -21092335141.844       655999225389.405     -8853544091313.152     64373826335674.391   -280824650774818.062    777521855408352.125  -1399531776918777.250   1632542892031418.750  -1190235950339551.750    492837947108350.875    -88465772208497.156
+         -285220527.104        36269146123.152     -1142796673997.592     15586774345406.561   -114320732944682.547    502368506270653.188  -1399590425497179.500   2532791584553459.500  -2968308537318211.500   2172998277192629.750   -903043454257745.000    162625010934873.875
+          316089386.121       -40723823956.347      1296792626066.416    -17842026372422.047    131822602893999.281   -582896162713016.875   1632672455888569.250  -2968418617461370.500   3493137682709986.000  -2566509298111183.500   1070034943884840.000   -193258204501938.969
+         -220756057.476        28745478637.368      -923409981910.424     12798387031532.287    -95150455814569.000    423004451481677.438  -1190370489520804.250   2173150685031871.500  -2566593468180949.000   1891862023422386.000   -791051784646344.250    143245722755521.688
+           88122744.546       -11576427072.274       374630197475.406     -5224965821104.649     39055132793973.523   -174439717646845.094    492908651258266.375   -903133559766430.000   1070101293216320.875   -791074749471304.500    331641842399038.438    -60197151021005.555
+          -15326763.747         2028454903.950       -66058568445.945       926315101899.385     -6956534558358.752     31199534491455.625    -88480907736441.922    162645585407321.344   -193275248168167.594    143253588238711.625    -60198701034422.289     10950429349418.393
+
+Unity matrix (12,12) ? :
+  0.999999577  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000045652  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+ -0.001750005 -0.001463512  0.998740867 -0.001107600 -0.001000881  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.024013050  0.019998834  0.017315052  1.015230466  0.013839722  0.012283467  0.011265758  0.010376886  0.009575933  0.008870538  0.008435812  0.007886350
+ -0.177824259 -0.149443746 -0.128486305 -0.112591237  0.898498535 -0.091503978 -0.083352566 -0.077083141 -0.071589112 -0.065821111 -0.062686324 -0.058216482
+  0.792173386  0.653040409  0.561748505  0.496374130  0.450195312  1.401743889  0.369505525  0.339045882  0.315320969  0.289863586  0.274386883  0.258178234
+ -2.176348686 -1.813328266 -1.563265324 -1.379019737 -1.234375000 -1.118494034 -0.017631054 -0.930971146 -0.868800163 -0.809755087 -0.761697292 -0.714970589
+  3.954977036  3.312744141  2.822178841  2.515995026  2.246093750  2.032036781  1.859307289  2.697098732  1.602404594  1.473575115  1.392161846  1.303132534
+ -4.683350563 -3.920145988 -3.375349998 -2.983154297 -2.695312500 -2.418499947 -2.208822250 -2.014443398 -0.876708031 -1.720285416 -1.656760216 -1.535560131
+  3.462227821  2.876663208  2.471529961  2.178773880  1.958984375  1.766427040  1.621628761  1.485858440  1.379694462  2.279197216  1.209697723  1.131748199
+ -1.431362152 -1.196696281 -1.023966074 -0.911272526 -0.814941406 -0.731913090 -0.672503233 -0.615084171 -0.573799849 -0.528998137  0.495307684 -0.469781399
+  0.260366023  0.216768503  0.186427712  0.164719701  0.147338867  0.133693933  0.122063696  0.111501753  0.104717880  0.096656561  0.091316849  1.086019814
+
+
+ -------------- Matrix Test 3 ---------------------------------
+Read and print matrix from file
+File ./data/anotsym.dat (0) Matrix(4,4) :
+      5.000      1.450      1.320     -1.100
+      0.450      4.200      1.210      1.110
+      0.320      0.210      3.300      1.900
+     -0.100      0.110      0.900      6.600
+Condition number is 2.507/7.390e+00 = 0.339
+Inverse matrix (4,4) :
+      0.213     -0.071     -0.078      0.070
+     -0.018      0.249     -0.078     -0.022
+     -0.023     -0.006      0.342     -0.101
+      0.007     -0.004     -0.047      0.167
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000 -0.000000000 -0.000000000
+ -0.000000000  1.000000000 -0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000 -0.000000000
+ -0.000000000  0.000000000 -0.000000000  1.000000000
+
+File ./data/cov.dat (0) Matrix(15,15) :
+     21.300     10.100    -21.300      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800
+     10.100      4.900    -10.100      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700
+    -21.300    -10.100      0.117     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043
+      7.800      3.700     -7.800     15.300      7.320    -15.300      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800
+      3.700      1.780     -3.700      7.320      3.550     -7.320      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700
+     -7.800     -3.700      0.043    -15.300     -7.320      0.085     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043
+      7.800      3.700     -7.800      7.800      3.700     -7.800     39.500     18.900    -39.500      7.800      3.700     -7.800      7.800      3.700     -7.800
+      3.700      1.780     -3.700      3.700      1.780     -3.700     18.900      9.130    -18.900      3.700      1.780     -3.700      3.700      1.780     -3.700
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -39.500    -18.900      0.218     -7.800     -3.700      0.043     -7.800     -3.700      0.043
+      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800     31.600     15.000    -31.600      7.800      3.700     -7.800
+      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700     15.000      7.190    -15.000      3.700      1.780     -3.700
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -31.600    -15.000      0.172     -7.800     -3.700      0.043
+      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800     32.200     15.300    -32.200
+      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700     15.300      7.370    -15.300
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -32.200    -15.300      0.176
+Condition number is 114.643/4.147e-02 = 2764.407
+Inverse matrix (15,15) :
+      2.415     -5.087     -0.062     -0.801      1.671      0.022     -0.291      0.610      0.005     -0.390      0.826      0.007     -0.233      0.493      0.007
+     -5.087     10.717      0.000      1.652     -3.446      0.000      0.609     -1.276      0.000      0.833     -1.763      0.000      0.496     -1.050      0.000
+     -0.062     -0.000     -0.062      0.022      0.000      0.022      0.005      0.000      0.005      0.007      0.000      0.007      0.007      0.000      0.007
+     -0.801      1.652      0.022      7.100    -14.778     -0.094     -1.133      2.348      0.009     -1.516      3.171      0.013     -0.911      1.895      0.012
+      1.671     -3.446      0.000    -14.778     30.755      0.000      2.339     -4.846      0.000      3.158     -6.607      0.000      1.896     -3.944      0.000
+      0.022     -0.000      0.022     -0.094      0.000     -0.094      0.009      0.000      0.009      0.013     -0.000      0.013      0.012      0.000      0.012
+     -0.291      0.609      0.005     -1.133      2.339      0.009      3.316     -6.917     -0.029     -0.556      1.168      0.003     -0.333      0.697      0.003
+      0.610     -1.276      0.000      2.348     -4.846      0.000     -6.917     14.431      0.000      1.163     -2.444      0.000      0.696     -1.458      0.000
+      0.005      0.000      0.005      0.009      0.000      0.009     -0.029     -0.000     -0.029      0.003      0.000      0.003      0.003      0.000      0.003
+     -0.390      0.833      0.007     -1.516      3.158      0.013     -0.556      1.163      0.003      4.268     -8.985     -0.038     -0.450      0.952      0.004
+      0.826     -1.763      0.000      3.171     -6.607      0.000      1.168     -2.444      0.000     -8.985     18.912      0.000      0.950     -2.010      0.000
+      0.007     -0.000      0.007      0.013     -0.000      0.013      0.003     -0.000      0.003     -0.038      0.000     -0.038      0.004     -0.000      0.004
+     -0.233      0.496      0.007     -0.911      1.896      0.012     -0.333      0.696      0.003     -0.450      0.950      0.004      2.735     -5.751     -0.037
+      0.493     -1.050      0.000      1.895     -3.944      0.000      0.697     -1.458      0.000      0.952     -2.010      0.000     -5.751     12.091      0.000
+      0.007      0.000      0.007      0.012      0.000      0.012      0.003      0.000      0.003      0.004     -0.000      0.004     -0.037     -0.000     -0.037
+Unity matrix (15,15) ? :
+  1.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000
+ -0.000000000  1.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000
+ -0.000000000 -0.000000000  1.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000
+ -0.000000000 -0.000000000  0.000000000  1.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000
+ -0.000000000 -0.000000000  0.000000000 -0.000000000  1.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  1.000000000  0.000000000  0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000
+  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  1.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000
+  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  1.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000
+ -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  1.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000
+ -0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000  0.000000000 -0.000000000  1.000000000 -0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000
+ -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000  1.000000000 -0.000000000 -0.000000000 -0.000000000  0.000000000
+ -0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000  1.000000000 -0.000000000 -0.000000000 -0.000000000
+ -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000  1.000000000 -0.000000000  0.000000000
+  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000  1.000000000 -0.000000000
+ -0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000  1.000000000
+
+File ./data/dia.dat (0) Matrix(4,4) :
+      8.824      0.000      0.000      0.000
+      0.000      2.283      0.000      0.000
+      0.000      0.000      1.300      0.000
+      0.000      0.000      0.000     -1.082
+Condition number is 8.824/1.082e+00 = 8.155
+Inverse matrix (4,4) :
+      0.113      0.000      0.000      0.000
+      0.000      0.438      0.000      0.000
+      0.000      0.000      0.769      0.000
+     -0.000     -0.000     -0.000     -0.924
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000
+
+File ./data/lt.dat (0) Matrix(4,4) :
+     10.882      0.000      0.000      0.000
+      8.284      9.763      0.000      0.000
+      5.273      6.876      7.117      0.000
+      1.991      2.002      3.765      4.372
+Condition number is 18.127/3.558e+00 = 5.094
+Inverse matrix (4,4) :
+      0.092      0.000      0.000      0.000
+     -0.078      0.102      0.000      0.000
+      0.007     -0.099      0.141      0.000
+     -0.012      0.038     -0.121      0.229
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000
+ -0.000000000 -0.000000000  1.000000000  0.000000000
+  0.000000000 -0.000000000 -0.000000000  1.000000000
+
+File ./data/partials.dat (0) Matrix(15,13) :
+  -1900.000    -37.000   2000.000  -3800.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000
+  -1800.000     -6.200   2200.000  -3900.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000
+   2600.000    570.000   -940.000     -2.500      0.000    110.000      0.310   -200.000      0.000     64.000   -190.000   -170.000    520.000
+   2000.000  -2100.000  -1700.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000      0.000     -0.000
+     30.000    200.000   2900.000      0.000      0.000   1800.000     89.000  -5100.000   -250.000      0.000     -0.000     -0.000      0.000
+     -8.200     -0.340      4.200      0.000      0.000      1.200      0.000     -3.800     -0.150     31.000      0.410     82.000     -0.000
+    370.000    230.000    -96.000      0.000      0.000      0.000      0.000    -32.000     -0.730    -61.000      7.800    820.000     33.000
+  -1500.000   -280.000    140.000      0.000      0.000      0.000      0.000    680.000     33.000   1200.000     57.000  -3100.000   -150.000
+     -0.170     -0.920      0.170      0.000      0.000      0.000      0.000      0.430      0.000      0.580     -0.054     -2.300     -0.095
+     17.000    -55.000      1.500      0.000      0.000      0.000      0.000      0.000      0.000    -33.000     -0.820    -63.000      8.100
+    100.000    600.000   -100.000      0.000      0.000      0.000      0.000      0.000      0.000    730.000     35.000   1200.000     61.000
+     -0.380     -0.290      0.150      0.000      0.000      0.000      0.000      0.000      0.000      0.460      0.000      0.610     -0.057
+    -26.000    -19.000     10.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    -30.000     -0.270
+    210.000    160.000    -83.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    640.000     31.000
+      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.410      0.000
+ ATA Matrix(13,13) :
+ 20052932.413 -2032277.945 -13790219.026 14233500.000 703000.000 157990.160  14876.000 2831891.087  99641.130 -19553985.473 -1402431.293 23634836.759 2526964.758
+ -2032277.945 5296594.486 3391725.872 163355.000   8208.000 613799.592   6006.700 -5737827.904 -246554.089 10745533.793 419734.210 2006429.059 397909.734
+ -13790219.026 3391725.872 21069424.941 -16177650.000 -798000.000 5271305.040 248118.600 -18455943.887 -847670.550 17530776.868 981131.683 -21946090.400 -1571631.575
+ 14233500.000 163355.000 -16177650.000 29650006.250 1463000.000   -275.000     -0.775 701200.000 -43890.000 -16170160.000 -684825.000 39270425.000 1923700.000
+ 703000.000   8208.000 -798000.000 1463000.000  72200.000      0.000      0.000  34580.000  -2166.000 -798000.000 -33820.000 1938000.000  95000.000
+ 157990.160 613799.592 5271305.040   -275.000      0.000 3260382.440 159715.400 -9393104.560 -458099.180 471177.200   1850.492 -18601.600  57200.000
+  14876.000   6006.700 248118.600     -0.775      0.000 159715.400   7953.586 -441992.000 -21742.700 -29050.160  -1483.900    -52.700    161.200
+ 2831891.087 -5737827.904 -18455943.887 701200.000  34580.000 -9393104.560 -441992.000 30940000.625 1483326.530 -10287165.551 -464689.181 -1172352.589 -161556.041
+  99641.130 -246554.089 -847670.550 -43890.000  -2166.000 -458099.180 -21742.700 1483326.530  71575.535 -390320.120 -19360.156 -161050.900  -7824.090
+ -19553985.473 10745533.793 17530776.868 -16170160.000 -798000.000 471177.200 -29050.160 -10287165.551 -390320.120 36812767.548 1730153.939 -24320280.053 -1154470.381
+ -1402431.293 419734.210 981131.683 -684825.000 -33820.000   1850.492  -1483.900 -464689.181 -19360.156 1730153.939 118977.683 -1003718.596 -149464.237
+ 23634836.759 2006429.059 -21946090.400 39270425.000 1938000.000 -18601.600    -52.700 -1172352.589 -161050.900 -24320280.053 -1003718.596 64192498.830 3046197.984
+ 2526964.758 397909.734 -1571631.575 1923700.000  95000.000  57200.000    161.200 -161556.041  -7824.090 -1154470.381 -149464.237 3046197.984 423736.695
+Condition number is 127773101.995/5.119e-03 = 24961120943.142
+Inverse matrix (13,13) :
+      0.254      0.103      0.854      1.994    -34.178     -0.438      5.837      0.898     -9.379      0.060     -1.381     -0.003      0.094
+      0.103      0.045      0.359      0.835    -14.304     -0.197      2.730      0.364     -3.656      0.023     -0.584     -0.001      0.049
+      0.854      0.359      2.922      6.808   -116.626     -1.579     21.649      2.998    -30.543      0.200     -4.751     -0.009      0.361
+      1.994      0.835      6.808     15.867   -271.840     -3.657     49.977      7.006    -71.591      0.468    -11.062     -0.021      0.831
+    -34.178    -14.304   -116.626   -271.840   4657.442     62.395   -850.930   -120.214   1230.266     -8.018    189.411      0.355    -14.177
+     -0.438     -0.197     -1.579     -3.657     62.395      1.178    -18.178     -1.403     12.104     -0.104      2.682      0.001     -0.250
+      5.837      2.730     21.649     49.977   -850.930    -18.178    290.113     17.780   -136.284      1.378    -37.500      0.014      3.840
+      0.898      0.364      2.998      7.006   -120.214     -1.403     17.780      3.244    -34.771      0.212     -4.794     -0.012      0.316
+     -9.379     -3.656    -30.543    -71.591   1230.266     12.104   -136.284    -34.771    389.620     -2.232     48.010      0.156     -2.638
+      0.060      0.023      0.200      0.468     -8.018     -0.104      1.378      0.212     -2.232      0.015     -0.325     -0.001      0.018
+     -1.381     -0.584     -4.751    -11.062    189.411      2.682    -37.500     -4.794     48.010     -0.325      7.785      0.012     -0.596
+     -0.003     -0.001     -0.009     -0.021      0.355      0.001      0.014     -0.012      0.156     -0.001      0.012      0.000     -0.000
+      0.094      0.049      0.361      0.831    -14.177     -0.250      3.840      0.316     -2.638      0.018     -0.596     -0.000      0.083
+Unity matrix (13,13) ? :
+  0.999999990  0.000000001  0.000000011 -0.000000013 -0.000000001  0.000000002 -0.000000000 -0.000000001  0.000000000  0.000000009  0.000000001 -0.000000016 -0.000000001
+ -0.000000003  1.000000000  0.000000002 -0.000000002 -0.000000000  0.000000001  0.000000000 -0.000000002  0.000000000  0.000000002  0.000000000 -0.000000004 -0.000000000
+ -0.000000023 -0.000000001  1.000000020 -0.000000018 -0.000000002  0.000000004  0.000000000 -0.000000013  0.000000000  0.000000028  0.000000001 -0.000000053 -0.000000003
+ -0.000000027  0.000000000  0.000000019  0.999999957 -0.000000001  0.000000005  0.000000000 -0.000000027  0.000000001  0.000000025  0.000000001 -0.000000094 -0.000000004
+ -0.000000006  0.000000160 -0.000000042 -0.000000568  1.000000002 -0.000000026  0.000000010 -0.000000384 -0.000000050 -0.000000217 -0.000000017 -0.000000280  0.000000086
+  0.000000018 -0.000000001 -0.000000017  0.000000029  0.000000002  0.999999997 -0.000000000  0.000000009  0.000000000 -0.000000021 -0.000000001  0.000000035  0.000000003
+ -0.000000078  0.000000010  0.000000073 -0.000000091 -0.000000003  0.000000018  1.000000000  0.000000059  0.000000006  0.000000075  0.000000006 -0.000000213 -0.000000008
+ -0.000000025  0.000000001  0.000000026 -0.000000025 -0.000000003  0.000000005  0.000000000  1.000000003  0.000000000  0.000000028  0.000000001 -0.000000046 -0.000000002
+  0.000000395  0.000000012 -0.000000375  0.000000736  0.000000045  0.000000024 -0.000000000  0.000000049  0.999999988 -0.000000353 -0.000000020  0.000001082  0.000000061
+ -0.000000002 -0.000000000  0.000000001 -0.000000003 -0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000  1.000000001  0.000000000 -0.000000005 -0.000000000
+  0.000000039 -0.000000005 -0.000000049  0.000000062  0.000000004 -0.000000009 -0.000000000  0.000000019 -0.000000001 -0.000000042  0.999999998  0.000000097  0.000000005
+  0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000 -0.000000000 -0.000000000  1.000000000  0.000000000
+ -0.000000003  0.000000000  0.000000002 -0.000000004 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000002  0.000000000 -0.000000008  1.000000000
+
+File ./data/squ.dat (0) Matrix(5,5) :
+      1.000      1.345      2.827      4.201     -0.428
+      2.188      2.000      0.823      8.291     -0.723
+      0.488      1.345      3.000      0.831     -0.320
+     -0.009      6.205     -0.948      4.000      1.920
+      2.835     -1.283     -0.873      2.834      5.831
+Condition number is 12.056/3.223e+00 = 3.740
+Inverse matrix (5,5) :
+     -1.847      0.832      1.490     -0.169      0.105
+     -0.507      0.166      0.459      0.112     -0.028
+      0.415     -0.204     -0.005     -0.021      0.012
+      0.616     -0.147     -0.535      0.028     -0.011
+      0.549     -0.327     -0.364      0.090      0.122
+Unity matrix (5,5) ? :
+  1.000000000  0.000000000 -0.000000000 -0.000000000 -0.000000000
+ -0.000000000  1.000000000 -0.000000000 -0.000000000  0.000000000
+ -0.000000000  0.000000000  1.000000000 -0.000000000 -0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000
+ -0.000000000 -0.000000000 -0.000000000 -0.000000000  1.000000000
+
+File ./data/sym.dat (0) Matrix(4,4) :
+     10.000      1.345      2.827      4.201
+      1.345      9.823      8.291     -0.723
+      2.827      8.291     13.000      0.831
+      4.201     -0.723      0.831      9.009
+Condition number is 20.887/2.780e+00 = 7.513
+Inverse matrix (4,4) :
+      0.132     -0.003     -0.023     -0.060
+     -0.003      0.229     -0.148      0.034
+     -0.023     -0.148      0.177     -0.018
+     -0.060      0.034     -0.018      0.143
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000 -0.000000000 -0.000000000
+ -0.000000000  1.000000000 -0.000000000  0.000000000
+ -0.000000000 -0.000000000  1.000000000  0.000000000
+ -0.000000000 -0.000000000 -0.000000000  1.000000000
+
+File ./data/tmatrix.dat (0) Matrix(4,5) :
+      1.000      1.345      2.827      4.201     -0.428
+      2.188      2.000      0.823      8.291     -0.723
+      0.488      1.345      3.000      0.831     -0.320
+     -0.009      6.205     -0.948      4.000      1.920
+ ATA Matrix(5,5) :
+      6.026      6.322      6.101     22.711     -2.183
+      6.322     46.120      3.602     48.170      9.461
+      6.101      3.602     18.569     17.404     -4.586
+     22.711     48.170     17.404    103.080     -0.379
+     -2.183      9.461     -4.586     -0.379      4.495
+Condition number is 137.365/8.060e-16 = 170417882939630016.000
+Inverse matrix (5,5) :
+ 569690437243218.375 -153491934607408.938 63711765288702.539 -62123530101840.875 659602886497507.750
+ -153491934607410.125 41355396631781.578 -17165887773611.408 16737968897838.145 -177717083704378.906
+ 63711765288703.070 -17165887773611.418 7125253946416.606 -6947632450892.240 73767192743556.812
+ -62123530101840.398 16737968897837.887 -6947632450892.129 6774438782911.870 -71928291394319.719
+ 659602886497510.875 -177717083704378.375 73767192743556.547 -71928291394320.609 763705934719958.250
+Unity matrix (5,5) ? :
+  1.337524414  1.358398438  0.705810547  1.383651733  0.194580078
+ -0.167602539  0.597290039 -0.252258301 -0.103622437  0.016662598
+  0.041564941  0.117553711  1.005187988 -0.043363571  0.007507324
+  0.024551392 -0.108520508  0.027740479  1.060203552 -0.056213379
+  0.194580078  1.710449219  0.536376953  0.343444824  1.187255859
+
+File ./data/ut.dat (0) Matrix(4,4) :
+      1.834      2.837      3.223      4.808
+      0.000      5.837      6.774      7.083
+      0.000      0.000      8.237      9.118
+      0.000      0.000      0.000     10.838
+Condition number is 19.305/4.345e+00 = 4.443
+Inverse matrix (4,4) :
+      0.545     -0.265      0.005     -0.073
+      0.000      0.171     -0.141      0.007
+      0.000      0.000      0.121     -0.102
+      0.000      0.000      0.000      0.092
+Unity matrix (4,4) ? :
+  1.000000000 -0.000000000 -0.000000000 -0.000000000
+  0.000000000  1.000000000  0.000000000 -0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000
+
+
+ -------------- Matrix Test 4 ---------------------------------
+Matrix A(7,7) :
+   8.317   0.212   5.740   4.317  -1.109   0.174   1.960
+   6.212   3.292   1.574   1.028   7.438   5.408   6.592
+   2.574   1.574   1.911   1.039   7.236  -9.503   9.440
+   5.317   1.028   1.390   7.126   6.783  -6.527   4.428
+   2.080   3.370   8.544   4.512   0.356  -6.589  -4.531
+  -9.133  -2.077   8.930   8.538  -9.509  -6.375   5.084
+  -2.755  -2.739   9.216   5.226  -0.109  -7.239   4.296
+Vector b(7) :
+  14.289   9.284  -1.128   8.389  -6.929   4.664   7.590
+
+Now solve using SVD
+Singular Values (7) :
+  26.619  21.861  12.423  10.365   5.533   4.560   3.420
+Matrix U(7,7) :
+   0.203   0.207  -0.573   0.370  -0.368   0.556   0.073
+  -0.006   0.525  -0.066   0.603   0.476  -0.355   0.063
+   0.369   0.447   0.525  -0.221   0.127   0.419   0.384
+   0.335   0.434   0.016  -0.184  -0.601  -0.518  -0.191
+   0.342   0.002  -0.603  -0.511   0.401  -0.176   0.260
+   0.578  -0.536   0.153   0.393  -0.100  -0.230   0.371
+   0.509  -0.079   0.068   0.037   0.301   0.190  -0.776
+Matrix V(7,7) :
+  -0.060   0.620  -0.530   0.050  -0.371   0.430   0.078
+  -0.019   0.195  -0.163  -0.107   0.326  -0.342   0.837
+   0.567  -0.092  -0.445   0.181   0.605   0.198  -0.184
+   0.480   0.001  -0.236   0.186  -0.492  -0.655  -0.088
+  -0.029   0.684   0.191  -0.260   0.335  -0.357  -0.432
+  -0.575  -0.011  -0.245   0.697   0.188  -0.258  -0.148
+   0.334   0.318   0.585   0.605  -0.015   0.188   0.208
+Difference (7,7) :
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+Determinant of A = 6.466e+06 -- Compare to 6.466e+06
+Solution via backsubstitution (7) :
+   0.898  -2.119   0.214   1.096   0.064   0.849   0.631
+Solution residuals (7) :
+ 5.329e-15 -7.105e-15 7.994e-15 5.329e-15 -1.776e-15 8.882e-16 0.000e+00
+
+Sort in ascending order
+Singular Values (7) :
+   3.420   4.560   5.533  10.365  12.423  21.861  26.619
+Matrix U(7,7) :
+   0.073   0.556  -0.368   0.370  -0.573   0.207   0.203
+   0.063  -0.355   0.476   0.603  -0.066   0.525  -0.006
+   0.384   0.419   0.127  -0.221   0.525   0.447   0.369
+  -0.191  -0.518  -0.601  -0.184   0.016   0.434   0.335
+   0.260  -0.176   0.401  -0.511  -0.603   0.002   0.342
+   0.371  -0.230  -0.100   0.393   0.153  -0.536   0.578
+  -0.776   0.190   0.301   0.037   0.068  -0.079   0.509
+Matrix V(7,7) :
+   0.078   0.430  -0.371   0.050  -0.530   0.620  -0.060
+   0.837  -0.342   0.326  -0.107  -0.163   0.195  -0.019
+  -0.184   0.198   0.605   0.181  -0.445  -0.092   0.567
+  -0.088  -0.655  -0.492   0.186  -0.236   0.001   0.480
+  -0.432  -0.357   0.335  -0.260   0.191   0.684  -0.029
+  -0.148  -0.258   0.188   0.697  -0.245  -0.011  -0.575
+   0.208   0.188  -0.015   0.605   0.585   0.318   0.334
+
+
+Now reduce A by one column and repeat
+Matrix A(7,6) :
+   8.317   0.212   5.740   4.317  -1.109   0.174
+   6.212   3.292   1.574   1.028   7.438   5.408
+   2.574   1.574   1.911   1.039   7.236  -9.503
+   5.317   1.028   1.390   7.126   6.783  -6.527
+   2.080   3.370   8.544   4.512   0.356  -6.589
+  -9.133  -2.077   8.930   8.538  -9.509  -6.375
+  -2.755  -2.739   9.216   5.226  -0.109  -7.239
+Singular Values (6) :
+  25.574  20.763  11.481   5.543   5.272   3.877
+Matrix U(7,7) :
+  -0.167   0.282  -0.672   0.423   0.354  -0.255  -0.267
+   0.161   0.441  -0.395  -0.571  -0.474   0.086  -0.258
+  -0.216   0.433   0.570  -0.092   0.286  -0.014  -0.593
+  -0.238   0.512   0.172   0.530  -0.521   0.124   0.289
+  -0.416   0.238  -0.140  -0.311   0.430   0.530   0.434
+  -0.643  -0.468  -0.131   0.041  -0.323   0.287  -0.402
+  -0.506   0.020   0.053  -0.328  -0.088  -0.741   0.277
+Matrix V(6,6) :
+   0.164   0.657  -0.427   0.440   0.391  -0.114
+   0.048   0.214  -0.062  -0.293   0.150   0.916
+  -0.603   0.091  -0.437  -0.581   0.207  -0.239
+  -0.488   0.142  -0.257   0.388  -0.692   0.212
+   0.165   0.679   0.373  -0.406  -0.406  -0.205
+   0.585  -0.181  -0.646  -0.259  -0.371  -0.054
+Difference (7,6) :
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00  0.000e+00
+
+ -------------- Matrix Test 5 ---------------------------------
+Matrix A(7,7) :
+   8.317   0.212   5.740   4.317  -1.109   0.174   1.960
+   6.212   3.292   1.574   1.028   7.438   5.408   6.592
+   2.574   1.574   1.911   1.039   7.236  -9.503   9.440
+   5.317   1.028   1.390   7.126   6.783  -6.527   4.428
+   2.080   3.370   8.544   4.512   0.356  -6.589  -4.531
+  -9.133  -2.077   8.930   8.538  -9.509  -6.375   5.084
+  -2.755  -2.739   9.216   5.226  -0.109  -7.239   4.296
+Vector b(7) :
+  14.289   9.284  -1.128   8.389  -6.929   4.664   7.590
+
+Now solve using LUD
+Matrix LU(7,7) :
+   8.317   0.212   5.740   4.317  -1.109   0.174   1.960
+   0.747   3.134  -2.713  -2.196   8.266   5.278   5.128
+  -1.098  -0.589  13.636  11.986  -5.862  -3.078  10.254
+   0.639   0.285  -0.110   6.316   4.490  -8.482   2.848
+  -0.331  -0.852   0.646  -0.468  12.450  -4.667   4.023
+   0.250   1.059   0.732  -0.477  -0.135 -14.647 -16.051
+   0.309   0.481   0.106  -0.080   0.368   0.733  15.795
+Determinant of A = 6.466e+06
+Solution via backsubstitution (7) :
+   0.898  -2.119   0.214   1.096   0.064   0.849   0.631
+Solution residuals (7) :
+ 0.000e+00 0.000e+00 1.110e-15 0.000e+00 1.776e-15 0.000e+00 0.000e+00
+
+ -------------- Matrix Test 6 ---------------------------------
+Matrix A(4,4) :
+  10.000   1.345   2.827   4.201
+   1.345   9.823   8.291  -0.723
+   2.827   8.291  13.000   0.831
+   4.201  -0.723   0.831   9.009
+Vector b(4) :
+   1.000   2.000   3.000   4.000
+
+Now compute Cholesky
+
+Cholesky of A (U) (4,4) :
+   2.753   0.050   0.679   1.400
+   0.000   2.088   2.325  -0.241
+   0.000   0.000   3.595   0.277
+   0.000   0.000   0.000   3.001
+
+Cholesky of A (L) (4,4) :
+   3.162   0.000   0.000   0.000
+   0.425   3.105   0.000   0.000
+   0.894   2.548   2.390   0.000
+   1.328  -0.415   0.293   2.643
+
+Difference U*UT with matrix A(4,4) :
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 -1.776e-15 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 -1.776e-15
+
+Difference L*LT with matrix A(4,4) :
+ -1.776e-15 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 0.000e+00
+ 0.000e+00 0.000e+00 0.000e+00 -1.110e-16
+ 0.000e+00 0.000e+00 -1.110e-16 0.000e+00
+
+Solution via backsubstitution (4) :
+  -0.182   0.146   0.143   0.527
+Solution residuals (4) :
+ 0.000e+00 0.000e+00 4.441e-16 0.000e+00
+
+ -------------- Matrix Test 7 ---------------------------------
+Matrix A(4,5) :
+   1.000   1.345   2.827   4.201  -0.428
+   2.188   2.000   0.823   8.291  -0.723
+   0.488   1.345   3.000   0.831  -0.320
+  -0.009   6.205  -0.948   4.000   1.920
+
+Now compute the Householder transformation
+HH: (4,5) :
+  -2.455  -2.575  -2.485  -9.252   0.890
+   0.000   6.284  -0.445   3.874   1.870
+   0.000   0.000  -3.492   1.107   0.442
+   0.000   0.000   0.000  -1.116  -0.105
+
+ -------------- Matrix Test 8 ---------------------------------
+Tough matrix (6,6) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+Condition number is 1.619/1.083e-07 = 1.495e+07
+Gaussian elimiation:
+Inverse matrix (6,6) :
+        36.000      -630.000      3360.000     -7560.000      7560.000     -2772.000
+      -630.000     14700.000    -88200.000    211680.000   -220500.000     83160.000
+      3360.000    -88200.000    564480.000  -1411200.000   1512000.000   -582120.000
+     -7560.000    211680.000  -1411200.000   3628800.000  -3969000.000   1552320.000
+      7560.000   -220500.000   1512000.000  -3969000.000   4410000.000  -1746360.000
+     -2772.000     83160.000   -582120.000   1552320.000  -1746360.000    698544.000
+
+Unity matrix ? (6,6) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000
+
+LUD:
+Inverse matrix (6,6) :
+        36.000      -630.000      3360.000     -7560.000      7560.000     -2772.000
+      -630.000     14700.000    -88200.000    211680.000   -220500.000     83160.000
+      3360.000    -88200.000    564480.000  -1411200.000   1512000.000   -582120.000
+     -7560.000    211680.000  -1411200.000   3628800.000  -3969000.000   1552320.000
+      7560.000   -220500.000   1512000.000  -3969000.000   4410000.000  -1746360.000
+     -2772.000     83160.000   -582120.000   1552320.000  -1746360.000    698544.000
+
+Unity matrix ? (6,6) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000
+
+SVD:
+Inverse matrix (6,6) :
+        36.000      -630.000      3360.000     -7560.000      7560.000     -2772.000
+      -630.000     14700.000    -88200.000    211680.000   -220500.000     83160.000
+      3360.000    -88200.000    564480.000  -1411200.000   1512000.000   -582120.000
+     -7560.000    211680.000  -1411200.000   3628800.000  -3969000.000   1552320.000
+      7560.000   -220500.000   1512000.000  -3969000.000   4410000.000  -1746360.000
+     -2772.000     83160.000   -582120.000   1552320.000  -1746360.000    698544.000
+
+Unity matrix ? (6,6) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000
+
+
+ -------------- Matrix Test 9 ---------------------------------
+Read matrix and vector (in form M||V) from file, invert and solve
+File ./data/anotsym.dat (0) Matrix(4,4) :
+      5.000      1.450      1.320     -1.100
+      0.450      4.200      1.210      1.110
+      0.320      0.210      3.300      1.900
+     -0.100      0.110      0.900      6.600
+Partials Matrix (4,3) :
+      5.000      1.450      1.320
+      0.450      4.200      1.210
+      0.320      0.210      3.300
+     -0.100      0.110      0.900
+Data vector (4) :
+     -1.100      1.110      1.900      6.600
+ ATA Matrix(3,3) :
+     25.315      9.196      8.111
+      9.196     19.799      7.788
+      8.111      7.788     14.906
+Condition number is 37.649/9.024e+00 = 4.172
+Inverse matrix (3,3) :
+      0.052     -0.016     -0.020
+     -0.016      0.069     -0.027
+     -0.020     -0.027      0.092
+Unity matrix (3,3) ? :
+  1.000000000 -0.000000000 -0.000000000
+  0.000000000  1.000000000  0.000000000
+ -0.000000000  0.000000000  1.000000000
+
+File ./data/cov.dat (0) Matrix(15,15) :
+     21.300     10.100    -21.300      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800
+     10.100      4.900    -10.100      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700
+    -21.300    -10.100      0.117     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043
+      7.800      3.700     -7.800     15.300      7.320    -15.300      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800
+      3.700      1.780     -3.700      7.320      3.550     -7.320      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700
+     -7.800     -3.700      0.043    -15.300     -7.320      0.085     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043
+      7.800      3.700     -7.800      7.800      3.700     -7.800     39.500     18.900    -39.500      7.800      3.700     -7.800      7.800      3.700     -7.800
+      3.700      1.780     -3.700      3.700      1.780     -3.700     18.900      9.130    -18.900      3.700      1.780     -3.700      3.700      1.780     -3.700
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -39.500    -18.900      0.218     -7.800     -3.700      0.043     -7.800     -3.700      0.043
+      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800     31.600     15.000    -31.600      7.800      3.700     -7.800
+      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700     15.000      7.190    -15.000      3.700      1.780     -3.700
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -31.600    -15.000      0.172     -7.800     -3.700      0.043
+      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800     32.200     15.300    -32.200
+      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700     15.300      7.370    -15.300
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -32.200    -15.300      0.176
+Partials Matrix (15,14) :
+     21.300     10.100    -21.300      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700
+     10.100      4.900    -10.100      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780
+    -21.300    -10.100      0.117     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700
+      7.800      3.700     -7.800     15.300      7.320    -15.300      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700
+      3.700      1.780     -3.700      7.320      3.550     -7.320      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780
+     -7.800     -3.700      0.043    -15.300     -7.320      0.085     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700
+      7.800      3.700     -7.800      7.800      3.700     -7.800     39.500     18.900    -39.500      7.800      3.700     -7.800      7.800      3.700
+      3.700      1.780     -3.700      3.700      1.780     -3.700     18.900      9.130    -18.900      3.700      1.780     -3.700      3.700      1.780
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -39.500    -18.900      0.218     -7.800     -3.700      0.043     -7.800     -3.700
+      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800     31.600     15.000    -31.600      7.800      3.700
+      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700     15.000      7.190    -15.000      3.700      1.780
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -31.600    -15.000      0.172     -7.800     -3.700
+      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800     32.200     15.300
+      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700     15.300      7.370
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -32.200    -15.300
+Data vector (15) :
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -32.200    -15.300      0.176
+ ATA Matrix(14,14) :
+   1550.870    736.974   -857.638   1041.524    495.843   -576.085   1461.890    697.137   -808.730   1324.220    629.119   -732.321   1334.690    634.465
+    736.974    350.224   -408.215    494.858    235.594   -274.102    694.550    331.219   -384.748    629.148    298.905   -348.405    634.122    301.446
+   -857.638   -408.215    853.841   -576.081   -274.573    573.538   -808.716   -386.035    805.150   -732.330   -348.271    729.098   -738.146   -351.290
+   1041.524    494.858   -576.081   1063.242    507.202   -588.416   1358.004    647.789   -751.389   1220.334    579.771   -674.980   1230.804    585.117
+    495.843    235.594   -274.573    507.202    241.961   -281.016    646.187    308.244   -357.950    580.785    275.930   -321.608    585.759    278.471
+   -576.085   -274.102    573.538   -588.416   -281.016    585.807   -751.379   -358.767    748.062   -674.993   -321.004    672.010   -680.808   -324.022
+   1461.890    694.550   -808.716   1358.004    646.187   -751.379   4019.190   1922.881  -2225.517   1640.700    779.463   -907.615   1651.170    784.809
+    697.137    331.219   -386.035    647.789    308.244   -358.767   1922.881    919.971  -1065.640    782.079    371.555   -433.070    787.053    374.095
+   -808.730   -384.748    805.150   -751.389   -357.950    748.062  -2225.517  -1065.640   2215.635   -907.638   -431.649    903.622   -913.453   -434.668
+   1324.220    629.148   -732.330   1220.334    580.785   -674.993   1640.700    782.079   -907.638   2763.600   1313.074  -1528.441   1513.500    719.407
+    629.119    298.905   -348.271    579.771    275.930   -321.004    779.463    371.555   -431.649   1313.074    623.890   -726.843    719.035    341.782
+   -732.321   -348.405    729.098   -674.980   -321.608    672.010   -907.615   -433.070    903.622  -1528.441   -726.843   1521.717   -837.045   -398.325
+   1334.690    634.122   -738.146   1230.804    585.759   -680.808   1651.170    787.053   -913.453   1513.500    719.035   -837.045   2849.250   1355.305
+    634.465    301.446   -351.290    585.117    278.471   -324.022    784.809    374.095   -434.668    719.407    341.782   -398.325   1355.305    644.691
+Condition number is 12457.101/5.492e-04 = 22683144.644
+Inverse matrix (14,14) :
+     36.684    -77.141     -0.166    -35.003     72.932      0.126     -2.583      5.485      0.012     -6.369     13.544      0.020     -0.728      1.644
+    -77.141    162.238      0.359     72.353   -150.774     -0.270      5.533    -11.741     -0.026     13.964    -29.683     -0.044      1.714     -3.840
+     -0.166      0.359      0.009      0.204     -0.433     -0.007      0.005     -0.011     -0.000      0.017     -0.036     -0.001     -0.018      0.038
+    -35.003     72.353      0.204    292.366   -608.281     -0.629    -55.342    114.787      0.090    -85.464    179.159      0.138    -37.404     77.737
+     72.932   -150.774     -0.433   -608.281   1265.596      1.327    114.809   -238.129     -0.189    178.009   -373.166     -0.291     77.756   -161.600
+      0.126     -0.270     -0.007     -0.629      1.327      0.017      0.123     -0.258     -0.002      0.185     -0.390     -0.003      0.005     -0.008
+     -2.583      5.533      0.005    -55.342    114.809      0.123     68.322   -142.452     -0.112    -12.226     25.798      0.014     -3.496      7.396
+      5.485    -11.741     -0.011    114.787   -238.129     -0.258   -142.452    297.018      0.235     25.721    -54.270     -0.029      7.377    -15.601
+      0.012     -0.026     -0.000      0.090     -0.189     -0.002     -0.112      0.235      0.002      0.012     -0.025     -0.000      0.004     -0.009
+     -6.369     13.964      0.017    -85.464    178.009      0.185    -12.226     25.721      0.012    114.800   -241.490     -0.186     -7.923     16.946
+     13.544    -29.683     -0.036    179.159   -373.166     -0.390     25.798    -54.270     -0.025   -241.490    508.002      0.396     16.798    -35.922
+      0.020     -0.044     -0.001      0.138     -0.291     -0.003      0.014     -0.029     -0.000     -0.186      0.396      0.003      0.008     -0.017
+     -0.728      1.714     -0.018    -37.404     77.756      0.005     -3.496      7.377      0.004     -7.923     16.798      0.008     42.813    -89.816
+      1.644     -3.840      0.038     77.737   -161.600     -0.008      7.396    -15.601     -0.009     16.946    -35.922     -0.017    -89.816    188.428
+Unity matrix (14,14) ? :
+  1.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000
+ -0.000000000  1.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000
+  0.000000002  0.000000001 -0.000000001  1.000000003  0.000000001 -0.000000001  0.000000003  0.000000002 -0.000000002  0.000000003  0.000000002 -0.000000002  0.000000003  0.000000001
+ -0.000000005 -0.000000002  0.000000003 -0.000000005  0.999999997  0.000000003 -0.000000007 -0.000000003  0.000000004 -0.000000007 -0.000000003  0.000000004 -0.000000006 -0.000000003
+ -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  1.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000
+  0.000000001  0.000000000 -0.000000000  0.000000001  0.000000001 -0.000000001  1.000000001  0.000000001 -0.000000001  0.000000001  0.000000001 -0.000000001  0.000000001  0.000000001
+ -0.000000001 -0.000000001  0.000000001 -0.000000002 -0.000000001  0.000000001 -0.000000003  0.999999999  0.000000002 -0.000000003 -0.000000001  0.000000001 -0.000000003 -0.000000001
+ -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  1.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000
+ -0.000000002 -0.000000001  0.000000001 -0.000000002 -0.000000001  0.000000001 -0.000000004 -0.000000002  0.000000002  0.999999998 -0.000000001  0.000000001 -0.000000002 -0.000000001
+  0.000000004  0.000000002 -0.000000002  0.000000005  0.000000002 -0.000000003  0.000000009  0.000000004 -0.000000005  0.000000005  1.000000002 -0.000000003  0.000000005  0.000000002
+  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000
+ -0.000000001 -0.000000001  0.000000001 -0.000000001 -0.000000001  0.000000001 -0.000000001 -0.000000000  0.000000000 -0.000000002 -0.000000001  0.000000001  0.999999998 -0.000000001
+  0.000000002  0.000000001 -0.000000001  0.000000003  0.000000001 -0.000000002  0.000000001  0.000000001 -0.000000001  0.000000004  0.000000002 -0.000000002  0.000000003  1.000000002
+
+File ./data/dia.dat (0) Matrix(4,4) :
+      8.824      0.000      0.000      0.000
+      0.000      2.283      0.000      0.000
+      0.000      0.000      1.300      0.000
+      0.000      0.000      0.000     -1.082
+Partials Matrix (4,3) :
+      8.824      0.000      0.000
+      0.000      2.283      0.000
+      0.000      0.000      1.300
+      0.000      0.000      0.000
+Data vector (4) :
+      0.000      0.000      0.000     -1.082
+ ATA Matrix(3,3) :
+     77.859      0.000      0.000
+      0.000      5.212      0.000
+      0.000      0.000      1.690
+Condition number is 77.859/1.690e+00 = 46.071
+Inverse matrix (3,3) :
+      0.013      0.000      0.000
+      0.000      0.192      0.000
+      0.000      0.000      0.592
+Unity matrix (3,3) ? :
+  1.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000
+
+File ./data/lt.dat (0) Matrix(4,4) :
+     10.882      0.000      0.000      0.000
+      8.284      9.763      0.000      0.000
+      5.273      6.876      7.117      0.000
+      1.991      2.002      3.765      4.372
+Partials Matrix (4,3) :
+     10.882      0.000      0.000
+      8.284      9.763      0.000
+      5.273      6.876      7.117
+      1.991      2.002      3.765
+Data vector (4) :
+      0.000      0.000      0.000      4.372
+ ATA Matrix(3,3) :
+    218.806    121.117     45.024
+    121.117    146.604     56.474
+     45.024     56.474     64.827
+Condition number is 327.734/3.281e+01 = 9.988
+Inverse matrix (3,3) :
+      0.008     -0.007      0.000
+     -0.007      0.016     -0.009
+      0.000     -0.009      0.023
+Unity matrix (3,3) ? :
+  1.000000000 -0.000000000 -0.000000000
+  0.000000000  1.000000000  0.000000000
+ -0.000000000 -0.000000000  1.000000000
+
+File ./data/partials.dat (0) Matrix(15,13) :
+  -1900.000    -37.000   2000.000  -3800.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000
+  -1800.000     -6.200   2200.000  -3900.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000
+   2600.000    570.000   -940.000     -2.500      0.000    110.000      0.310   -200.000      0.000     64.000   -190.000   -170.000    520.000
+   2000.000  -2100.000  -1700.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000      0.000     -0.000
+     30.000    200.000   2900.000      0.000      0.000   1800.000     89.000  -5100.000   -250.000      0.000     -0.000     -0.000      0.000
+     -8.200     -0.340      4.200      0.000      0.000      1.200      0.000     -3.800     -0.150     31.000      0.410     82.000     -0.000
+    370.000    230.000    -96.000      0.000      0.000      0.000      0.000    -32.000     -0.730    -61.000      7.800    820.000     33.000
+  -1500.000   -280.000    140.000      0.000      0.000      0.000      0.000    680.000     33.000   1200.000     57.000  -3100.000   -150.000
+     -0.170     -0.920      0.170      0.000      0.000      0.000      0.000      0.430      0.000      0.580     -0.054     -2.300     -0.095
+     17.000    -55.000      1.500      0.000      0.000      0.000      0.000      0.000      0.000    -33.000     -0.820    -63.000      8.100
+    100.000    600.000   -100.000      0.000      0.000      0.000      0.000      0.000      0.000    730.000     35.000   1200.000     61.000
+     -0.380     -0.290      0.150      0.000      0.000      0.000      0.000      0.000      0.000      0.460      0.000      0.610     -0.057
+    -26.000    -19.000     10.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    -30.000     -0.270
+    210.000    160.000    -83.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    640.000     31.000
+      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.410      0.000
+Partials Matrix (15,12) :
+  -1900.000    -37.000   2000.000  -3800.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000
+  -1800.000     -6.200   2200.000  -3900.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000
+   2600.000    570.000   -940.000     -2.500      0.000    110.000      0.310   -200.000      0.000     64.000   -190.000   -170.000
+   2000.000  -2100.000  -1700.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000      0.000
+     30.000    200.000   2900.000      0.000      0.000   1800.000     89.000  -5100.000   -250.000      0.000     -0.000     -0.000
+     -8.200     -0.340      4.200      0.000      0.000      1.200      0.000     -3.800     -0.150     31.000      0.410     82.000
+    370.000    230.000    -96.000      0.000      0.000      0.000      0.000    -32.000     -0.730    -61.000      7.800    820.000
+  -1500.000   -280.000    140.000      0.000      0.000      0.000      0.000    680.000     33.000   1200.000     57.000  -3100.000
+     -0.170     -0.920      0.170      0.000      0.000      0.000      0.000      0.430      0.000      0.580     -0.054     -2.300
+     17.000    -55.000      1.500      0.000      0.000      0.000      0.000      0.000      0.000    -33.000     -0.820    -63.000
+    100.000    600.000   -100.000      0.000      0.000      0.000      0.000      0.000      0.000    730.000     35.000   1200.000
+     -0.380     -0.290      0.150      0.000      0.000      0.000      0.000      0.000      0.000      0.460      0.000      0.610
+    -26.000    -19.000     10.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    -30.000
+    210.000    160.000    -83.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    640.000
+      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.410
+Data vector (15) :
+   -250.000   -250.000    520.000     -0.000      0.000     -0.000     33.000   -150.000     -0.095      8.100     61.000     -0.057     -0.270     31.000      0.000
+ ATA Matrix(12,12) :
+ 20052932.413 -2032277.945 -13790219.026 14233500.000 703000.000 157990.160  14876.000 2831891.087  99641.130 -19553985.473 -1402431.293 23634836.759
+ -2032277.945 5296594.486 3391725.872 163355.000   8208.000 613799.592   6006.700 -5737827.904 -246554.089 10745533.793 419734.210 2006429.059
+ -13790219.026 3391725.872 21069424.941 -16177650.000 -798000.000 5271305.040 248118.600 -18455943.887 -847670.550 17530776.868 981131.683 -21946090.400
+ 14233500.000 163355.000 -16177650.000 29650006.250 1463000.000   -275.000     -0.775 701200.000 -43890.000 -16170160.000 -684825.000 39270425.000
+ 703000.000   8208.000 -798000.000 1463000.000  72200.000      0.000      0.000  34580.000  -2166.000 -798000.000 -33820.000 1938000.000
+ 157990.160 613799.592 5271305.040   -275.000      0.000 3260382.440 159715.400 -9393104.560 -458099.180 471177.200   1850.492 -18601.600
+  14876.000   6006.700 248118.600     -0.775      0.000 159715.400   7953.586 -441992.000 -21742.700 -29050.160  -1483.900    -52.700
+ 2831891.087 -5737827.904 -18455943.887 701200.000  34580.000 -9393104.560 -441992.000 30940000.625 1483326.530 -10287165.551 -464689.181 -1172352.589
+  99641.130 -246554.089 -847670.550 -43890.000  -2166.000 -458099.180 -21742.700 1483326.530  71575.535 -390320.120 -19360.156 -161050.900
+ -19553985.473 10745533.793 17530776.868 -16170160.000 -798000.000 471177.200 -29050.160 -10287165.551 -390320.120 36812767.548 1730153.939 -24320280.053
+ -1402431.293 419734.210 981131.683 -684825.000 -33820.000   1850.492  -1483.900 -464689.181 -19360.156 1730153.939 118977.683 -1003718.596
+ 23634836.759 2006429.059 -21946090.400 39270425.000 1938000.000 -18601.600    -52.700 -1172352.589 -161050.900 -24320280.053 -1003718.596 64192498.830
+Condition number is 127608930.696/7.975e-03 = 16000989519.927
+Inverse matrix (12,12) :
+      0.146      0.047      0.443      1.047    -18.024     -0.154      1.462      0.538     -6.373      0.039     -0.702     -0.002
+      0.047      0.016      0.145      0.342     -5.886     -0.049      0.450      0.176     -2.090      0.013     -0.230     -0.001
+      0.443      0.145      1.349      3.185    -54.810     -0.490      4.905      1.621    -19.041      0.120     -2.152     -0.007
+      1.047      0.342      3.185      7.522   -129.462     -1.149     11.411      3.835    -45.099      0.282     -5.077     -0.017
+    -18.024     -5.886    -54.810   -129.462   2228.196     19.590   -192.918    -66.106    778.268     -4.857     87.285      0.287
+     -0.154     -0.049     -0.490     -1.149     19.590      0.424     -6.583     -0.450      4.140     -0.048      0.882     -0.000
+      1.462      0.450      4.905     11.411   -192.918     -6.583    111.877      3.123    -13.851      0.522     -9.837      0.033
+      0.538      0.176      1.621      3.835    -66.106     -0.450      3.123      2.039    -24.704      0.142     -2.519     -0.011
+     -6.373     -2.090    -19.041    -45.099    778.268      4.140    -13.851    -24.704    305.519     -1.644     29.008      0.143
+      0.039      0.013      0.120      0.282     -4.857     -0.048      0.522      0.142     -1.644      0.011     -0.192     -0.001
+     -0.702     -0.230     -2.152     -5.077     87.285      0.882     -9.837     -2.519     29.008     -0.192      3.492      0.009
+     -0.002     -0.001     -0.007     -0.017      0.287     -0.000      0.033     -0.011      0.143     -0.001      0.009      0.000
+Unity matrix (12,12) ? :
+  0.999999996  0.000000000  0.000000005 -0.000000004 -0.000000000  0.000000001 -0.000000000 -0.000000003  0.000000000  0.000000004  0.000000000 -0.000000007
+ -0.000000001  1.000000000  0.000000001 -0.000000001 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000001  0.000000000 -0.000000003
+ -0.000000008  0.000000001  1.000000009 -0.000000018 -0.000000001  0.000000003  0.000000000 -0.000000006  0.000000000  0.000000005  0.000000001 -0.000000022
+ -0.000000009 -0.000000000  0.000000014  0.999999991 -0.000000000  0.000000003 -0.000000000 -0.000000009  0.000000001 -0.000000002  0.000000001 -0.000000025
+  0.000000354  0.000000036 -0.000000162  0.000000678  1.000000044  0.000000022  0.000000003 -0.000000098 -0.000000022 -0.000000196 -0.000000021  0.000000716
+  0.000000004 -0.000000000 -0.000000005  0.000000005  0.000000000  0.999999999 -0.000000000  0.000000003 -0.000000000 -0.000000005 -0.000000000  0.000000015
+  0.000000002  0.000000001 -0.000000003  0.000000005  0.000000002  0.000000011  1.000000000 -0.000000017  0.000000001  0.000000004  0.000000000  0.000000017
+ -0.000000014  0.000000001  0.000000020 -0.000000023 -0.000000002  0.000000002 -0.000000000  0.999999987  0.000000000  0.000000017  0.000000001 -0.000000032
+  0.000000240  0.000000014 -0.000000212  0.000000374  0.000000020 -0.000000002  0.000000001  0.000000085  0.999999992 -0.000000210 -0.000000011  0.000000555
+ -0.000000001  0.000000000  0.000000001 -0.000000003 -0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000  1.000000001  0.000000000 -0.000000003
+  0.000000019 -0.000000000 -0.000000016  0.000000028  0.000000002 -0.000000001  0.000000000 -0.000000004 -0.000000001 -0.000000013  0.999999999  0.000000035
+  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000 -0.000000000 -0.000000000  1.000000000
+
+File ./data/squ.dat (0) Matrix(5,5) :
+      1.000      1.345      2.827      4.201     -0.428
+      2.188      2.000      0.823      8.291     -0.723
+      0.488      1.345      3.000      0.831     -0.320
+     -0.009      6.205     -0.948      4.000      1.920
+      2.835     -1.283     -0.873      2.834      5.831
+Partials Matrix (5,4) :
+      1.000      1.345      2.827      4.201
+      2.188      2.000      0.823      8.291
+      0.488      1.345      3.000      0.831
+     -0.009      6.205     -0.948      4.000
+      2.835     -1.283     -0.873      2.834
+Data vector (5) :
+     -0.428     -0.723     -0.320      1.920      5.831
+ ATA Matrix(4,4) :
+     14.062      2.683      3.626     30.745
+      2.683     47.767      4.722     44.533
+      3.626      4.722     19.331     14.930
+     30.745     44.533     14.930    111.111
+Condition number is 142.644/1.701e+01 = 8.385
+Inverse matrix (4,4) :
+      0.417      0.135      0.022     -0.172
+      0.135      0.077      0.010     -0.070
+      0.022      0.010      0.059     -0.018
+     -0.172     -0.070     -0.018      0.087
+Unity matrix (4,4) ? :
+  1.000000000 -0.000000000 -0.000000000 -0.000000000
+ -0.000000000  1.000000000 -0.000000000 -0.000000000
+ -0.000000000 -0.000000000  1.000000000 -0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000
+
+File ./data/sym.dat (0) Matrix(4,4) :
+     10.000      1.345      2.827      4.201
+      1.345      9.823      8.291     -0.723
+      2.827      8.291     13.000      0.831
+      4.201     -0.723      0.831      9.009
+Partials Matrix (4,3) :
+     10.000      1.345      2.827
+      1.345      9.823      8.291
+      2.827      8.291     13.000
+      4.201     -0.723      0.831
+Data vector (4) :
+      4.201     -0.723      0.831      9.009
+ ATA Matrix(3,3) :
+    127.449     47.064     79.663
+     47.064    167.572    192.430
+     79.663    192.430    246.423
+Condition number is 431.032/8.593e+00 = 50.161
+Inverse matrix (3,3) :
+      0.011      0.010     -0.011
+      0.010      0.066     -0.055
+     -0.011     -0.055      0.051
+Unity matrix (3,3) ? :
+  1.000000000 -0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000
+ -0.000000000 -0.000000000  1.000000000
+
+File ./data/tmatrix.dat (0) Matrix(4,5) :
+      1.000      1.345      2.827      4.201     -0.428
+      2.188      2.000      0.823      8.291     -0.723
+      0.488      1.345      3.000      0.831     -0.320
+     -0.009      6.205     -0.948      4.000      1.920
+Partials Matrix (4,4) :
+      1.000      1.345      2.827      4.201
+      2.188      2.000      0.823      8.291
+      0.488      1.345      3.000      0.831
+     -0.009      6.205     -0.948      4.000
+Data vector (4) :
+     -0.428     -0.723     -0.320      1.920
+Condition number is 11.717/3.450e+00 = 3.396
+Inverse matrix (4,4) :
+     -2.322      1.115      1.804     -0.247
+     -0.379      0.090      0.374      0.133
+      0.362     -0.172      0.030     -0.029
+      0.668     -0.178     -0.569      0.036
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000 -0.000000000  0.000000000
+ -0.000000000  1.000000000 -0.000000000 -0.000000000
+ -0.000000000  0.000000000  1.000000000 -0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000
+
+File ./data/ut.dat (0) Matrix(4,4) :
+      1.834      2.837      3.223      4.808
+      0.000      5.837      6.774      7.083
+      0.000      0.000      8.237      9.118
+      0.000      0.000      0.000     10.838
+Partials Matrix (4,3) :
+      1.834      2.837      3.223
+      0.000      5.837      6.774
+      0.000      0.000      8.237
+      0.000      0.000      0.000
+Data vector (4) :
+      4.808      7.083      9.118     10.838
+ ATA Matrix(3,3) :
+      3.364      5.203      5.911
+      5.203     42.124     48.686
+      5.911     48.686    124.130
+Condition number is 147.176/1.977e+01 = 7.445
+Inverse matrix (3,3) :
+      0.368     -0.046      0.001
+     -0.046      0.049     -0.017
+      0.001     -0.017      0.015
+Unity matrix (3,3) ? :
+  1.000000000  0.000000000  0.000000000
+ -0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000
+
+
+ -------------- Poly Test ---------------------------------
+Matrix Cov(3,3) :
+    0.068    0.000   -0.107
+    0.000    0.086    0.000
+   -0.107    0.000    0.303
+Vector Sol(3) :
+   -1.246    0.335   -0.174
+    t     data    fit  resid
+ 0 -1.0000  -1.750  -1.755   0.005
+ 1 -0.9375  -1.702  -1.713   0.011
+ 2 -0.8750  -1.663  -1.672   0.009
+ 3 -0.8125  -1.639  -1.633  -0.006
+ 4 -0.7500  -1.590  -1.595   0.005
+ 5 -0.6875  -1.579  -1.558  -0.021
+ 6 -0.6250  -1.536  -1.523  -0.013
+ 7 -0.5625  -1.502  -1.489  -0.013
+ 8 -0.5000  -1.441  -1.457   0.016
+ 9 -0.4375  -1.445  -1.426  -0.019
+10 -0.3750  -1.412  -1.396  -0.016
+11 -0.3125  -1.370  -1.368  -0.002
+12 -0.2500  -1.328  -1.341   0.013
+13 -0.1875  -1.286  -1.315   0.029
+14 -0.1250  -1.266  -1.291   0.025
+15 -0.0625  -1.270  -1.268  -0.002
+16  0.0000  -1.249  -1.246  -0.003
+17  0.0625  -1.235  -1.226  -0.009
+18  0.1250  -1.197  -1.207   0.010
+19  0.1875  -1.214  -1.189  -0.025
+20  0.2500  -1.183  -1.173  -0.010
+21  0.3125  -1.156  -1.158   0.002
+22  0.3750  -1.135  -1.145   0.010
+23  0.4375  -1.134  -1.133  -0.001
+24  0.5000  -1.098  -1.122   0.024
+25  0.5625  -1.102  -1.113   0.011
+26  0.6250  -1.118  -1.105  -0.013
+27  0.6875  -1.103  -1.098  -0.005
+28  0.7500  -1.115  -1.093  -0.022
+29  0.8125  -1.076  -1.089   0.013
+30  0.8750  -1.101  -1.086  -0.015
+31  0.9375  -1.068  -1.085   0.017
+32  1.0000  -1.088  -1.085  -0.003
+Stats on residuals
+ N       = 33
+ Minimum = -2.470e-02 Maximum =  2.889e-02
+ Average =  8.738e-17 Std Dev =  1.435e-02
+Stats on data
+ N       = 33
+ Minimum = -1.750e+00 Maximum = -1.068e+00
+ Average = -1.308e+00 Std Dev =  2.105e-01
+2-sample Stats on time,data
+ N       = 33
+ Minimum: X = -1.000e+00  Y = -1.750e+00  Maximum: X =  1.000e+00  Y = -1.068e+00
+ Average: X =  1.894e-03  Y = -1.308e+00  Std Dev: X =  6.012e-01  Y =  2.105e-01
+ Intercept = -1.308e+00  Slope =  3.360e-01 with uncertainty =  1.763e-02
+ Conditional uncertainty (sigma y given x) =  5.997e-02  Correlation =  9.599e-01
+Matrix Cov(3,3) :
+    0.068    0.000   -0.107
+    0.000    0.086    0.000
+   -0.107    0.000    0.303
+Vector Sol(3) :
+   -1.435   -0.175    0.232
+    t     data    fit  resid
+ 0 -1.0000  -1.088  -1.029  -0.059
+ 1 -0.9375  -1.119  -1.068  -0.051
+ 2 -0.8750  -1.118  -1.105  -0.013
+ 3 -0.8125  -1.158  -1.140  -0.018
+ 4 -0.7500  -1.146  -1.174   0.028
+ 5 -0.6875  -1.201  -1.205   0.004
+ 6 -0.6250  -1.207  -1.235   0.028
+ 7 -0.5625  -1.222  -1.263   0.041
+ 8 -0.5000  -1.230  -1.290   0.060
+ 9 -0.4375  -1.269  -1.314   0.045
+10 -0.3750  -1.269  -1.337   0.068
+11 -0.3125  -1.335  -1.358   0.023
+12 -0.2500  -1.359  -1.377   0.018
+13 -0.1875  -1.391  -1.394   0.003
+14 -0.1250  -1.391  -1.410   0.019
+15 -0.0625  -1.432  -1.423  -0.009
+16  0.0000  -1.440  -1.435  -0.005
+17  0.0625  -1.483  -1.445  -0.038
+18  0.1250  -1.520  -1.453  -0.067
+19  0.1875  -1.514  -1.460  -0.054
+20  0.2500  -1.514  -1.464  -0.050
+21  0.3125  -1.478  -1.467  -0.011
+22  0.3750  -1.496  -1.468  -0.028
+23  0.4375  -1.508  -1.467  -0.041
+24  0.5000  -1.507  -1.465  -0.042
+25  0.5625  -1.437  -1.460   0.023
+26  0.6250  -1.439  -1.454   0.015
+27  0.6875  -1.419  -1.446   0.027
+28  0.7500  -1.388  -1.436   0.048
+29  0.8125  -1.408  -1.424   0.016
+30  0.8750  -1.390  -1.411   0.021
+31  0.9375  -1.391  -1.396   0.005
+32  1.0000  -1.385  -1.379  -0.006
+Stats on residuals
+ N       = 33
+ Minimum = -6.667e-02 Maximum =  6.793e-02
+ Average = -6.457e-16 Std Dev =  3.609e-02
+Stats on data
+ N       = 33
+ Minimum = -1.520e+00 Maximum = -1.088e+00
+ Average = -1.353e+00 Std Dev =  1.342e-01
+2-sample Stats on time,data
+ N       = 33
+ Minimum: X = -1.000e+00  Y = -1.520e+00  Maximum: X =  1.000e+00  Y = -1.088e+00
+ Average: X =  1.894e-03  Y = -1.353e+00  Std Dev: X =  6.012e-01  Y =  1.342e-01
+ Intercept = -1.353e+00  Slope = -1.753e-01 with uncertainty =  2.481e-02
+ Conditional uncertainty (sigma y given x) =  8.439e-02  Correlation = -7.854e-01
diff --git a/trunk/tests/data/MatrixTest.ref.Win32 b/trunk/tests/data/MatrixTest.ref.Win32
new file mode 100644
index 0000000..9c91ead
--- /dev/null
+++ b/trunk/tests/data/MatrixTest.ref.Win32
@@ -0,0 +1,1332 @@
+
+ -------------- Vector Test ---------------------------------
+V =  3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415 3.1415
+V =  1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8 9.9 10.1
+V min 1.1, max 10.1, sum 59.6
+Vodd =  1.1 3.3 5.5 7.7 9.9
+Veve =  2.2 4.4 6.6 8.8 10.1
+Vodd =  1.1 0 5.5 0 9.9
+Veve =  2.2 99 6.6 99 10.1
+Minkowski of Vodd and Veve 38.72
+dot of Vodd and Veve 138.71
+V    =  1.1 2.2 0 99 5.5 6.6 0 99 9.9 10.1
+V min 0, max 99, sum 233.4, norm 141.003
+Zero tolerance for V is 1e-015
+Zero tolerance for W is 1e-005
+Here is W the usual way :
+  ...2.200 ...4.400 ...0.000 .198.000 ..11.000 ..13.200 ...0.000 .198.000 ..19.800 ..20.200
+Here is W the saved way :
+...2.200...4.400...0.000.198.000..11.000..13.200...0.000.198.000..19.800..20.200
+Sum =     3.300    6.600    0.000  297.000   16.500   19.800    0.000  297.000   29.700   30.300
+CVS =          1.100         2.200         0.000        99.000         5.500         6.600         0.000        99.000         9.900        10.100
+
+ -------------- Matrix Test 1 ---------------------------------
+Matrix (2,5) from double* :
+   1.1   2.2   3.3   4.4   5.5
+   6.6   7.7   8.8   9.9  10.1
+Partials Matrix (15,12) :
+  -1900.000    -37.000   2000.000  -3800.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000
+  -1800.000     -6.200   2200.000  -3900.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000
+   2600.000    570.000   -940.000     -2.500      0.000    110.000      0.310   -200.000      0.000     64.000   -190.000   -170.000
+   2000.000  -2100.000  -1700.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000      0.000
+     30.000    200.000   2900.000      0.000      0.000   1800.000     89.000  -5100.000   -250.000      0.000     -0.000     -0.000
+     -8.200     -0.340      4.200      0.000      0.000      1.200      0.000     -3.800     -0.150     31.000      0.410     82.000
+    370.000    230.000    -96.000      0.000      0.000      0.000      0.000    -32.000     -0.730    -61.000      7.800    820.000
+  -1500.000   -280.000    140.000      0.000      0.000      0.000      0.000    680.000     33.000   1200.000     57.000  -3100.000
+     -0.170     -0.920      0.170      0.000      0.000      0.000      0.000      0.430      0.000      0.580     -0.054     -2.300
+     17.000    -55.000      1.500      0.000      0.000      0.000      0.000      0.000      0.000    -33.000     -0.820    -63.000
+    100.000    600.000   -100.000      0.000      0.000      0.000      0.000      0.000      0.000    730.000     35.000   1200.000
+     -0.380     -0.290      0.150      0.000      0.000      0.000      0.000      0.000      0.000      0.460      0.000      0.610
+    -26.000    -19.000     10.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    -30.000
+    210.000    160.000    -83.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    640.000
+      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.410
+Data vector (15) :
+   -250.000   -250.000    520.000     -0.000      0.000     -0.000     33.000   -150.000     -0.095      8.100     61.000     -0.057     -0.270     31.000      0.000
+Covariance matrix (12,12) :
+      0.146      0.047      0.443      1.047    -18.024     -0.154      1.462      0.538     -6.373      0.039     -0.702     -0.002
+      0.047      0.016      0.145      0.342     -5.886     -0.049      0.450      0.176     -2.090      0.013     -0.230     -0.001
+      0.443      0.145      1.349      3.185    -54.810     -0.490      4.905      1.621    -19.041      0.120     -2.152     -0.007
+      1.047      0.342      3.185      7.522   -129.462     -1.149     11.411      3.835    -45.099      0.282     -5.077     -0.017
+    -18.024     -5.886    -54.810   -129.462   2228.196     19.590   -192.918    -66.106    778.268     -4.857     87.285      0.287
+     -0.154     -0.049     -0.490     -1.149     19.590      0.424     -6.583     -0.450      4.140     -0.048      0.882     -0.000
+      1.462      0.450      4.905     11.411   -192.918     -6.583    111.877      3.123    -13.851      0.522     -9.837      0.033
+      0.538      0.176      1.621      3.835    -66.106     -0.450      3.123      2.039    -24.704      0.142     -2.519     -0.011
+     -6.373     -2.090    -19.041    -45.099    778.268      4.140    -13.851    -24.704    305.519     -1.644     29.008      0.143
+      0.039      0.013      0.120      0.282     -4.857     -0.048      0.522      0.142     -1.644      0.011     -0.192     -0.001
+     -0.702     -0.230     -2.152     -5.077     87.285      0.882     -9.837     -2.519     29.008     -0.192      3.492      0.009
+     -0.002     -0.001     -0.007     -0.017      0.287     -0.000      0.033     -0.011      0.143     -0.001      0.009      0.000
+Solution vector (12) :
+     -1.139     -0.594     -4.360    -10.043    171.356      3.019    -46.415     -3.817     31.883     -0.223      7.204      0.005
+Residual vector (15) :
+ 1.173e-004 -1.228e-004 4.797e-003 -3.487e-003 2.081e-004 -1.014e+000 -1.559e-002 6.014e-003 2.077e+000 2.073e-001 1.475e-002 9.146e-002 2.570e+000 3.009e-001 -1.978e-003
+2*Solution vector (12) :
+     -2.279     -1.188     -8.721    -20.086    342.712      6.039    -92.831     -7.633     63.767     -0.446     14.408      0.010
+2*Partials Matrix (15,12) :
+  -3800.000    -74.000   4000.000  -7600.000   -380.000      0.000      0.000   -182.000     11.400   4200.000    178.000 -10200.000
+  -3600.000    -12.400   4400.000  -7800.000   -380.000      0.000      0.000   -182.000     11.400   4200.000    178.000 -10200.000
+   5200.000   1140.000  -1880.000     -5.000      0.000    220.000      0.620   -400.000      0.000    128.000   -380.000   -340.000
+   4000.000  -4200.000  -3400.000      0.000      0.000   -182.000     11.400   4200.000    178.000 -10200.000   -500.000      0.000
+     60.000    400.000   5800.000      0.000      0.000   3600.000    178.000 -10200.000   -500.000      0.000     -0.000     -0.000
+    -16.400     -0.680      8.400      0.000      0.000      2.400      0.000     -7.600     -0.300     62.000      0.820    164.000
+    740.000    460.000   -192.000      0.000      0.000      0.000      0.000    -64.000     -1.460   -122.000     15.600   1640.000
+  -3000.000   -560.000    280.000      0.000      0.000      0.000      0.000   1360.000     66.000   2400.000    114.000  -6200.000
+     -0.340     -1.840      0.340      0.000      0.000      0.000      0.000      0.860      0.000      1.160     -0.108     -4.600
+     34.000   -110.000      3.000      0.000      0.000      0.000      0.000      0.000      0.000    -66.000     -1.640   -126.000
+    200.000   1200.000   -200.000      0.000      0.000      0.000      0.000      0.000      0.000   1460.000     70.000   2400.000
+     -0.760     -0.580      0.300      0.000      0.000      0.000      0.000      0.000      0.000      0.920      0.000      1.220
+    -52.000    -38.000     20.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    -60.000
+    420.000    320.000   -166.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000   1280.000
+      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.820
+Vector c(8) :
+   0.000   3.000   6.000   9.000  12.000  15.000  18.000  21.000
+Vector b(7) :
+   1.000   2.000   3.000   4.000   5.000   6.000   7.000
+Their outer product (8,7) :
+   0.000   0.000   0.000   0.000   0.000   0.000   0.000
+   3.000   6.000   9.000  12.000  15.000  18.000  21.000
+   6.000  12.000  18.000  24.000  30.000  36.000  42.000
+   9.000  18.000  27.000  36.000  45.000  54.000  63.000
+  12.000  24.000  36.000  48.000  60.000  72.000  84.000
+  15.000  30.000  45.000  60.000  75.000  90.000 105.000
+  18.000  36.000  54.000  72.000  90.000 108.000 126.000
+  21.000  42.000  63.000  84.000 105.000 126.000 147.000
+Their norms 11.832 and 35.496 and dot 336.00 and cosine 0.800
+
+ -------------- Matrix Test 2 ---------------------------------
+Tough matrix (2,2) :
+  1.000000  0.500000
+  0.500000  0.333333
+Condition number for 2 is 1.268/6.574e-002 = 1.928e+001
+Inverse matrix (2,2) :
+      4.000     -6.000
+     -6.000     12.000
+
+Unity matrix (2,2) ? :
+  1.000000000  0.000000000
+  0.000000000  1.000000000
+
+Tough matrix (3,3) :
+  1.000000  0.500000  0.333333
+  0.500000  0.333333  0.250000
+  0.333333  0.250000  0.200000
+Condition number for 3 is 1.408/2.687e-003 = 5.241e+002
+Inverse matrix (3,3) :
+      9.000    -36.000     30.000
+    -36.000    192.000   -180.000
+     30.000   -180.000    180.000
+
+Unity matrix (3,3) ? :
+  1.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000
+
+Tough matrix (4,4) :
+  1.000000  0.500000  0.333333  0.250000
+  0.500000  0.333333  0.250000  0.200000
+  0.333333  0.250000  0.200000  0.166667
+  0.250000  0.200000  0.166667  0.142857
+Condition number for 4 is 1.500/9.670e-005 = 1.551e+004
+Inverse matrix (4,4) :
+     16.000   -120.000    240.000   -140.000
+   -120.000   1200.000  -2700.000   1680.000
+    240.000  -2700.000   6480.000  -4200.000
+   -140.000   1680.000  -4200.000   2800.000
+
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000
+
+Tough matrix (5,5) :
+  1.000000  0.500000  0.333333  0.250000  0.200000
+  0.500000  0.333333  0.250000  0.200000  0.166667
+  0.333333  0.250000  0.200000  0.166667  0.142857
+  0.250000  0.200000  0.166667  0.142857  0.125000
+  0.200000  0.166667  0.142857  0.125000  0.111111
+Condition number for 5 is 1.567/3.288e-006 = 4.766e+005
+Inverse matrix (5,5) :
+     25.000   -300.000   1050.000  -1400.000    630.000
+   -300.000   4800.000 -18900.000  26880.000 -12600.000
+   1050.000 -18900.000  79380.000 -117600.000  56700.000
+  -1400.000  26880.000 -117600.000 179200.000 -88200.000
+    630.000 -12600.000  56700.000 -88200.000  44100.000
+
+Unity matrix (5,5) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000
+
+Tough matrix (6,6) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+Condition number for 6 is 1.619/1.083e-007 = 1.495e+007
+Inverse matrix (6,6) :
+           36.000         -630.000         3360.000        -7560.000         7560.000        -2772.000
+         -630.000        14700.000       -88200.000       211680.000      -220500.000        83160.000
+         3360.000       -88200.000       564480.000     -1411200.000      1512000.000      -582120.000
+        -7560.000       211680.000     -1411200.000      3628800.000     -3969000.000      1552320.000
+         7560.000      -220500.000      1512000.000     -3969000.000      4410000.000     -1746360.000
+        -2772.000        83160.000      -582120.000      1552320.000     -1746360.000       698544.000
+
+Unity matrix (6,6) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000
+
+Tough matrix (7,7) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333
+  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923
+Condition number for 7 is 1.661/3.494e-009 = 4.754e+008
+Inverse matrix (7,7) :
+            49.000         -1176.000          8820.000        -29400.000         48510.000        -38808.000         12012.000
+         -1176.000         37632.000       -317520.001       1128960.004      -1940400.007       1596672.006       -504504.002
+          8820.000       -317520.001       2857680.010     -10584000.038      18711000.070     -15717240.061       5045040.020
+        -29400.000       1128960.004     -10584000.038      40320000.149     -72765000.274      62092800.237     -20180160.078
+         48510.000      -1940400.007      18711000.070     -72765000.274     133402500.503    -115259760.435      37837800.143
+        -38808.000       1596672.006     -15717240.061      62092800.237    -115259760.435     100590336.377     -33297264.124
+         12012.000       -504504.002       5045040.020     -20180160.078      37837800.143     -33297264.124      11099088.041
+
+Unity matrix (7,7) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.999999999  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000002  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.999999994  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000006  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.999999998
+
+Tough matrix (8,8) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923
+  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429
+  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667
+Condition number for 8 is 1.696/1.112e-010 = 1.526e+010
+Inverse matrix (8,8) :
+             64.000          -2016.000          20160.000         -92400.002         221760.006        -288288.008         192192.006         -51480.002
+          -2016.000          84672.002        -952560.022        4656960.111      -11642400.287       15567552.390      -10594584.269        2882880.074
+          20160.000        -952560.022       11430720.264      -58212001.348      149688003.456     -204324124.689      141261123.218      -38918880.879
+         -92400.002        4656960.111      -58212001.347      304920006.853     -800415017.508     1109908823.681     -776936176.203      216216004.416
+         221760.006      -11642400.286      149688003.453     -800415017.503     2134440044.578    -2996753820.124     2118916841.034     -594594011.158
+        -288288.008       15567552.389     -204324124.684     1109908823.672    -2996753820.121     4249941776.882    -3030051079.073      856215374.944
+         192192.006      -10594584.268      141261123.214     -776936176.198     2118916841.034    -3030051079.076     2175421285.422     -618377770.134
+         -51480.002        2882880.073      -38918880.878      216216004.415     -594594011.159      856215374.947     -618377770.136      176679362.740
+
+Unity matrix (8,8) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000001  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.999999992  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000060  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.999999881  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000216  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.999999836  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000030
+
+Tough matrix (9,9) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429
+  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667
+  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500
+  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824
+Condition number for 9 is 1.726/3.500e-012 = 4.932e+011
+Inverse matrix (9,9) :
+              81.000           -3239.997           41579.943         -249479.583          810808.450        -1513508.803         1621616.297         -926637.747          218789.440
+           -3239.997          172799.763        -2494795.911        15966690.362       -54053889.969       103783453.123      -113513137.319        65894240.248       -15752840.298
+           41579.942        -2494795.899        38419849.252      -256132287.510       891889098.318     -1748102440.391      1942335863.280     -1141617721.695       275674714.654
+         -249479.579        15966690.207      -256132286.351      1756335480.921     -6243223204.793     12430950134.759    -13984817987.473      8302674405.589     -2021614632.930
+          810808.433       -54053889.195       891889090.568     -6243223179.833     22544971251.561    -45450659786.369     51648474857.951    -30918813765.345      7581055060.934
+        -1513508.762       103783451.186     -1748102418.555     12430950040.910    -45450659629.116     92554068055.492   -106051533934.550     63930593798.524    -15768594860.461
+         1621616.245      -113513134.744      1942335832.294    -13984817837.553     51648474522.865   -106051533619.168    122367153478.811    -74205153941.725     18396694339.891
+         -926637.713        65894238.509     -1141617699.885      8302674292.974    -30918813482.078     63930593442.957    -74205153752.171     45229808347.238    -11263282427.957
+          218789.431       -15752839.829       275674708.596     -2021614600.330      7581054973.445    -15768594736.890     18396694252.044    -11263282403.187      2815820646.255
+
+Unity matrix (9,9) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000020  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.999999736  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000001311  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.999994516  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000010729  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.999988794  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000007033  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.999998331
+
+Tough matrix (10,10) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667
+  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500
+  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824
+  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556
+  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632
+Condition number for 10 is 1.752/1.093e-013 = 1.603e+013
+Inverse matrix (10,10) :
+               99.998            -4949.799            79195.709          -600560.984          2522333.892         -6305788.397          9608760.653         -8750788.923          4375374.226          -923686.374
+            -4949.798           326682.514         -5880227.623         47564135.425       -208091759.805        535090240.741       -832358836.401        770070497.881       -389846879.813         83132086.738
+            79195.672         -5880226.224        112899562.617       -951278092.029       4280732048.733     -11236879247.305      17756987042.014     -16633540253.944       8505767418.186      -1828911204.721
+          -600560.529         47564112.434       -951277873.427       8244377882.725     -37872496678.683     100993070289.007    -161588567805.680     152894283275.722     -78835989522.603      17069877093.739
+          2522331.254       -208091609.716       4280730145.215     -37872488853.520     176737966891.218    -477191800412.181     771218096680.094    -735804221090.567     382051830755.609     -83215805967.127
+         -6305780.063        535089734.721     -11236872025.250     100993030695.293    -477191714165.859    1301431128698.985   -2120849586526.477    2037612782303.081   -1064288386054.070     233004616541.297
+          9608745.465       -832357875.421      17756972408.789    -161588477538.508     771217834478.031   -2120849254732.558    3480368274539.922   -3363679745745.391    1765931952155.640    -388341532567.761
+         -8750772.982        770069460.102     -16633523789.610     152894174927.614    -735803866992.391    2037612184815.825   -3363679291525.813    3267575842937.722   -1723136455840.125     380416617490.994
+          4375365.278       -389846285.019       8505757710.606     -78835922969.888     382051598731.404   -1064287945581.173    1765931505659.158   -1723136254798.034     912249316079.192    -202096521832.877
+          -923684.294         83131946.261      -1828908863.929      17069860585.773     -83215746012.759     233004495129.842    -388341394105.763     380416534361.626    -202096501401.612      44910375759.159
+
+Unity matrix (10,10) ? :
+  0.999999995  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000359  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.999993026  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000059605  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.999747276  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.001113892  0.000000000  0.000000000  0.000000000  0.000000000  1.000625610  0.000000000  0.000000000  0.000000000  0.000000000
+ -0.001853943 -0.001602173 -0.001464844 -0.001281738 -0.001155853 -0.001029968  0.999053955  0.000000000  0.000000000  0.000000000
+  0.001884460  0.001647949  0.001392365  0.001293182  0.001186371  0.001014709  0.000000000  1.000911713  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.999593735  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000084877
+
+Tough matrix (11,11) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500
+  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824
+  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556
+  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632
+  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632  0.050000
+  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632  0.050000  0.047619
+Condition number for 11 is 1.775/3.399e-015 = 5.222e+014
+Inverse matrix (11,11) :
+               120.926             -7252.244            141367.640          -1319046.042           6923322.219         -22150142.699          44819925.963         -57617026.741          45607547.392         -20267700.979           3868895.514
+             -7252.203            579978.583         -12719870.785         126605936.838        -692252204.869        2278155447.995       -4706000891.333        6145931029.941       -4925870569.679        2211201062.176        -425623981.385
+            141365.710         -12719780.855         297585069.928       -3085581716.881       17354135924.167      -58303498728.468      122353898188.513     -161793675969.625      130988449121.642      -59291484767.537       11492789765.142
+          -1319016.561         126604104.266       -3085560261.254       32909045420.117     -188952763054.527      644909366027.913    -1370342565515.343     1830409349745.074    -1494283439513.659      681125007894.463     -132814204752.142
+           6923107.109        -692237155.231       17353900915.946     -188951564686.588     1102153522810.375    -3808855248387.063     8175227763814.505   -11011127233412.887     9052125826715.020    -4150768523289.949      813530013369.873
+         -22149268.184        2278090163.057      -58302351536.933      644901564666.619    -3808833872808.689    13295945734256.498   -28776453755102.828    39030398480101.000   -32277924096771.152    14876836815876.811    -2928836534601.230
+          44817799.858       -4705835509.671      122350797671.262    -1370318841091.766     8175141079149.919   -28776312617226.359    62717236433541.062   -85572912571837.281    71132133958508.094   -32931395212708.879     6508766507868.842
+         -57613864.434        6145677954.581     -161788732788.208     1830368998171.074   -11010961346824.229    39030038321136.391   -85572547324266.578   117357469223739.420   -97989484152788.031    45543634871908.430    -9032859830892.436
+          45604727.835       -4925640173.553      130983819597.165    -1494244068717.797     9051953164035.418   -32277502331170.098    71131563617664.016   -97989120221378.469    82139204739591.422   -38309605570399.672     7621684216591.468
+         -20266317.349        2211086184.619      -59289128023.406      681104390541.943    -4150674328880.266    14876591368090.535   -32931021788437.402    45543317147907.781   -38309481517136.344    17922935124228.035    -3575690525339.167
+           3868608.241        -425599828.054       11492286325.253     -132809708346.763      813508882043.873    -2928779173391.432     6508673415339.393    -9032770718978.760     7621637823761.363    -3575680398453.207      715153195180.866
+
+Unity matrix (11,11) ? :
+  0.999999949  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000004791  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.999890924  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.001733780  0.001487732  0.001239777  1.001100540  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+ -0.010330200 -0.008590698 -0.007553101 -0.006591797  0.994110107 -0.005218506 -0.004768372 -0.004394531 -0.004058838 -0.003776550 -0.003616333
+  0.036315918  0.030883789  0.025939941  0.022674561  0.020935059  1.018463135  0.017211914  0.015502930  0.014709473  0.013092041  0.012847900
+ -0.081298828 -0.069519043 -0.058959961 -0.052917480 -0.047119141 -0.041625977  0.960937500 -0.035278320 -0.032287598 -0.029602051 -0.029174805
+  0.110107422  0.093627930  0.081909180  0.070190430  0.064575195  0.056762695  0.052246094  1.047912598  0.043212891  0.039306641  0.038513184
+ -0.094238281 -0.079345703 -0.069702148 -0.058349609 -0.053527832 -0.048889160 -0.044494629 -0.040893555  0.962524414 -0.033996582 -0.033142090
+  0.044067383  0.036743164  0.032348633  0.028320313  0.025512695  0.022521973  0.020111084  0.019195557  0.017456055  1.015625000  0.015472412
+ -0.008666992 -0.007255554 -0.006324768 -0.005485535 -0.004997253 -0.004402161 -0.004005432 -0.003715515 -0.003395081 -0.003135681  0.996952057
+
+Tough matrix (12,12) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824
+  0.142857  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556
+  0.125000  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632
+  0.111111  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632  0.050000
+  0.100000  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632  0.050000  0.047619
+  0.090909  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632  0.050000  0.047619  0.045455
+  0.083333  0.076923  0.071429  0.066667  0.062500  0.058824  0.055556  0.052632  0.050000  0.047619  0.045455  0.043478
+Condition number for 12 is 1.795/1.063e-016 = 1.690e+016
+Inverse matrix (12,12) :
+                141.641              -9995.816             230769.229           -2573322.924           16346797.011          -64428923.299          164758412.526         -278147481.358          307730856.088         -214591624.135           85543943.470          -14859582.786
+              -9994.588             943200.226          -24555751.173          292659708.880        -1939826449.970         7875445084.611       -20584662440.577        35341967686.091       -39628387019.758        27937753857.217       -11238587198.442         1967260823.364
+             230699.837          -24551848.308          683142863.459        -8494839318.401        57994287519.376      -240637095504.419       639606650899.748     -1112864412115.561      1261434620805.714      -897342614564.402       363728711643.217       -64084184490.635
+           -2572035.201          292563089.625        -8493472315.829       108780393063.454      -758979797650.140      3202357490547.234     -8625434911164.056     15170320992196.902    -17350151435119.314     12435800657626.238     -5073346908126.240       898857809722.874
+           16335268.771        -1938852927.840        57975916346.701      -758865983341.423      5383962613196.648    -23019355738993.852     62672503282033.594   -111215067518668.090    128154897448262.190    -92447066763371.781     37924783614991.055     -6751850889609.922
+          -64370514.415         7870181903.298      -240525328298.101      3201434045026.228    -23016251084867.793     99470758759903.000   -273241324958535.690    488527059055765.370   -566551306528511.870    410957979804121.440   -169403173933087.220     30287575707550.023
+          164577159.615       -20567644108.538       639221069827.624     -8621850247210.434     62656431738941.945   -273208709965051.060    756134865524289.000  -1360557359728713.700   1586583332768252.200  -1156404251441245.700    478708472645813.000    -85909843956921.656
+         -277790370.479        35307470435.419     -1112050080489.417     15162244283100.174   -111174324333220.940    488416802927545.560  -1360414623248910.500   2461404910758269.000  -2884132886342333.500   2111038378865412.700   -877167773581581.370    157944475620003.470
+          307282439.640       -39584156949.882      1260360516274.548    -17339052769221.057    128095170370891.030   -566369456054731.370   1586269410670053.200  -2883867513338693.000   3393444499484361.500  -2493130730957643.000   1039391884629227.400   -187715527486916.870
+         -214244002.019        27902914472.091      -896478796299.253     12426618689618.969    -92395590145809.297    410790786235134.060  -1156079529542992.000   2110672352174367.200  -2492929440847971.000   1837644282027989.000   -768411156284119.370    139150648892740.470
+           85392317.642       -11223198257.326       363341043293.058     -5069139864676.587     37900521676717.641   -169321082624488.910    478538395374923.440   -876952086360566.750   1039233725557206.200   -768356611408347.870    322155345435406.000    -58481351000192.016
+          -14831120.741         1964342486.327       -64009739443.514       898037014076.327     -6747018367163.292     30270756336039.871    -85873543429889.781    157895368825460.560   -187675015571079.470    139132019527899.310    -58477691179828.977     10639162326696.896
+
+Unity matrix (12,12) ? :
+  0.999999663  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000036657  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+ -0.001411438 -0.001169205  0.998987198  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.019119263  0.015869141  0.013916016  1.012161255  0.010665894  0.009483337  0.008697510  0.008087158  0.007369995  0.006668091  0.006507874  0.005973816
+ -0.141235352 -0.119140625 -0.101440430 -0.088195801  0.922851563 -0.069396973 -0.065856934 -0.058654785 -0.054931641 -0.050231934 -0.047790527 -0.043884277
+  0.612304688  0.507812500  0.433105469  0.385009766  0.341308594  1.308349609  0.282714844  0.254394531  0.233642578  0.211425781  0.209960938  0.189208984
+ -1.734375000 -1.468750000 -1.254882813 -1.080078125 -0.978515625 -0.871093750  0.205078125 -0.730468750 -0.672851563 -0.606445313 -0.583984375 -0.559570313
+  3.179687500  2.636718750  2.253906250  1.996093750  1.779296875  1.582031250  1.458007813  2.325195313  1.228515625  1.145507813  1.083007813  0.967773438
+ -3.691406250 -3.037109375 -2.658203125 -2.337890625 -2.085937500 -1.791015625 -1.669921875 -1.509765625 -0.414062500 -1.277343750 -1.243164063 -1.125976563
+  2.636718750  2.203125000  1.902343750  1.658203125  1.474609375  1.333007813  1.193359375  1.071289063  1.023437500  1.909179688  0.879882813  0.791992188
+ -1.132812500 -0.955078125 -0.814453125 -0.704589844 -0.614257813 -0.569335938 -0.506347656 -0.462890625 -0.438964844 -0.393066406  0.610839844 -0.345703125
+  0.201660156  0.169921875  0.145141602  0.126708984  0.114624023  0.102783203  0.092529297  0.083984375  0.078735352  0.071411133  0.068664551  1.061279297
+
+
+ -------------- Matrix Test 3 ---------------------------------
+Read and print matrix from file
+File data/anotsym.dat (0) Matrix(4,4) :
+      5.000      1.450      1.320     -1.100
+      0.450      4.200      1.210      1.110
+      0.320      0.210      3.300      1.900
+     -0.100      0.110      0.900      6.600
+Condition number is 2.507/7.390e+000 = 0.339
+Inverse matrix (4,4) :
+      0.213     -0.071     -0.078      0.070
+     -0.018      0.249     -0.078     -0.022
+     -0.023     -0.006      0.342     -0.101
+      0.007     -0.004     -0.047      0.167
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000 -0.000000000 -0.000000000
+ -0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000 -0.000000000
+ -0.000000000  0.000000000 -0.000000000  1.000000000
+
+File data/cov.dat (0) Matrix(15,15) :
+     21.300     10.100    -21.300      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800
+     10.100      4.900    -10.100      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700
+    -21.300    -10.100      0.117     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043
+      7.800      3.700     -7.800     15.300      7.320    -15.300      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800
+      3.700      1.780     -3.700      7.320      3.550     -7.320      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700
+     -7.800     -3.700      0.043    -15.300     -7.320      0.085     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043
+      7.800      3.700     -7.800      7.800      3.700     -7.800     39.500     18.900    -39.500      7.800      3.700     -7.800      7.800      3.700     -7.800
+      3.700      1.780     -3.700      3.700      1.780     -3.700     18.900      9.130    -18.900      3.700      1.780     -3.700      3.700      1.780     -3.700
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -39.500    -18.900      0.218     -7.800     -3.700      0.043     -7.800     -3.700      0.043
+      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800     31.600     15.000    -31.600      7.800      3.700     -7.800
+      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700     15.000      7.190    -15.000      3.700      1.780     -3.700
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -31.600    -15.000      0.172     -7.800     -3.700      0.043
+      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800     32.200     15.300    -32.200
+      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700     15.300      7.370    -15.300
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -32.200    -15.300      0.176
+Condition number is 114.643/4.147e-002 = 2764.407
+Inverse matrix (15,15) :
+      2.415     -5.087     -0.062     -0.801      1.671      0.022     -0.291      0.610      0.005     -0.390      0.826      0.007     -0.233      0.493      0.007
+     -5.087     10.717      0.000      1.652     -3.446      0.000      0.609     -1.276      0.000      0.833     -1.763      0.000      0.496     -1.050      0.000
+     -0.062     -0.000     -0.062      0.022      0.000      0.022      0.005      0.000      0.005      0.007      0.000      0.007      0.007      0.000      0.007
+     -0.801      1.652      0.022      7.100    -14.778     -0.094     -1.133      2.348      0.009     -1.516      3.171      0.013     -0.911      1.895      0.012
+      1.671     -3.446      0.000    -14.778     30.755      0.000      2.339     -4.846      0.000      3.158     -6.607      0.000      1.896     -3.944      0.000
+      0.022     -0.000      0.022     -0.094      0.000     -0.094      0.009      0.000      0.009      0.013      0.000      0.013      0.012      0.000      0.012
+     -0.291      0.609      0.005     -1.133      2.339      0.009      3.316     -6.917     -0.029     -0.556      1.168      0.003     -0.333      0.697      0.003
+      0.610     -1.276      0.000      2.348     -4.846      0.000     -6.917     14.431      0.000      1.163     -2.444      0.000      0.696     -1.458      0.000
+      0.005     -0.000      0.005      0.009      0.000      0.009     -0.029      0.000     -0.029      0.003      0.000      0.003      0.003      0.000      0.003
+     -0.390      0.833      0.007     -1.516      3.158      0.013     -0.556      1.163      0.003      4.268     -8.985     -0.038     -0.450      0.952      0.004
+      0.826     -1.763      0.000      3.171     -6.607      0.000      1.168     -2.444      0.000     -8.985     18.912      0.000      0.950     -2.010      0.000
+      0.007      0.000      0.007      0.013      0.000      0.013      0.003      0.000      0.003     -0.038      0.000     -0.038      0.004      0.000      0.004
+     -0.233      0.496      0.007     -0.911      1.896      0.012     -0.333      0.696      0.003     -0.450      0.950      0.004      2.735     -5.751     -0.037
+      0.493     -1.050      0.000      1.895     -3.944      0.000      0.697     -1.458      0.000      0.952     -2.010      0.000     -5.751     12.091      0.000
+      0.007      0.000      0.007      0.012     -0.000      0.012      0.003     -0.000      0.003      0.004      0.000      0.004     -0.037      0.000     -0.037
+Unity matrix (15,15) ? :
+  1.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000
+ -0.000000000  1.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000
+ -0.000000000 -0.000000000  1.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000 -0.000000000  1.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000  0.000000000  0.000000000 -0.000000000
+ -0.000000000 -0.000000000  0.000000000  0.000000000  1.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000
+ -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  1.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000  0.000000000  1.000000000  0.000000000 -0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000
+  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  1.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000
+  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000
+  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  1.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000
+ -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000  1.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000
+  0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  1.000000000 -0.000000000 -0.000000000 -0.000000000
+  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  1.000000000  0.000000000 -0.000000000
+ -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000  0.000000000  0.000000000 -0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000 -0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000  1.000000000
+
+File data/dia.dat (0) Matrix(4,4) :
+      8.824      0.000      0.000      0.000
+      0.000      2.283      0.000      0.000
+      0.000      0.000      1.300      0.000
+      0.000      0.000      0.000     -1.082
+Condition number is 8.824/1.082e+000 = 8.155
+Inverse matrix (4,4) :
+      0.113      0.000      0.000      0.000
+      0.000      0.438      0.000      0.000
+      0.000      0.000      0.769      0.000
+      0.000      0.000      0.000     -0.924
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000
+
+File data/lt.dat (0) Matrix(4,4) :
+     10.882      0.000      0.000      0.000
+      8.284      9.763      0.000      0.000
+      5.273      6.876      7.117      0.000
+      1.991      2.002      3.765      4.372
+Condition number is 18.127/3.558e+000 = 5.094
+Inverse matrix (4,4) :
+      0.092      0.000      0.000      0.000
+     -0.078      0.102      0.000      0.000
+      0.007     -0.099      0.141      0.000
+     -0.012      0.038     -0.121      0.229
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000
+ -0.000000000  0.000000000  1.000000000  0.000000000
+ -0.000000000  0.000000000  0.000000000  1.000000000
+
+File data/partials.dat (0) Matrix(15,13) :
+  -1900.000    -37.000   2000.000  -3800.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000
+  -1800.000     -6.200   2200.000  -3900.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000
+   2600.000    570.000   -940.000     -2.500      0.000    110.000      0.310   -200.000      0.000     64.000   -190.000   -170.000    520.000
+   2000.000  -2100.000  -1700.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000      0.000     -0.000
+     30.000    200.000   2900.000      0.000      0.000   1800.000     89.000  -5100.000   -250.000      0.000     -0.000     -0.000      0.000
+     -8.200     -0.340      4.200      0.000      0.000      1.200      0.000     -3.800     -0.150     31.000      0.410     82.000     -0.000
+    370.000    230.000    -96.000      0.000      0.000      0.000      0.000    -32.000     -0.730    -61.000      7.800    820.000     33.000
+  -1500.000   -280.000    140.000      0.000      0.000      0.000      0.000    680.000     33.000   1200.000     57.000  -3100.000   -150.000
+     -0.170     -0.920      0.170      0.000      0.000      0.000      0.000      0.430      0.000      0.580     -0.054     -2.300     -0.095
+     17.000    -55.000      1.500      0.000      0.000      0.000      0.000      0.000      0.000    -33.000     -0.820    -63.000      8.100
+    100.000    600.000   -100.000      0.000      0.000      0.000      0.000      0.000      0.000    730.000     35.000   1200.000     61.000
+     -0.380     -0.290      0.150      0.000      0.000      0.000      0.000      0.000      0.000      0.460      0.000      0.610     -0.057
+    -26.000    -19.000     10.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    -30.000     -0.270
+    210.000    160.000    -83.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    640.000     31.000
+      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.410      0.000
+ ATA Matrix(13,13) :
+ 20052932.413 -2032277.945 -13790219.026 14233500.000 703000.000 157990.160  14876.000 2831891.087  99641.130 -19553985.473 -1402431.293 23634836.759 2526964.758
+ -2032277.945 5296594.486 3391725.872 163355.000   8208.000 613799.592   6006.700 -5737827.904 -246554.089 10745533.793 419734.210 2006429.059 397909.734
+ -13790219.026 3391725.872 21069424.941 -16177650.000 -798000.000 5271305.040 248118.600 -18455943.887 -847670.550 17530776.868 981131.683 -21946090.400 -1571631.575
+ 14233500.000 163355.000 -16177650.000 29650006.250 1463000.000   -275.000     -0.775 701200.000 -43890.000 -16170160.000 -684825.000 39270425.000 1923700.000
+ 703000.000   8208.000 -798000.000 1463000.000  72200.000      0.000      0.000  34580.000  -2166.000 -798000.000 -33820.000 1938000.000  95000.000
+ 157990.160 613799.592 5271305.040   -275.000      0.000 3260382.440 159715.400 -9393104.560 -458099.180 471177.200   1850.492 -18601.600  57200.000
+  14876.000   6006.700 248118.600     -0.775      0.000 159715.400   7953.586 -441992.000 -21742.700 -29050.160  -1483.900    -52.700    161.200
+ 2831891.087 -5737827.904 -18455943.887 701200.000  34580.000 -9393104.560 -441992.000 30940000.625 1483326.530 -10287165.551 -464689.181 -1172352.589 -161556.041
+  99641.130 -246554.089 -847670.550 -43890.000  -2166.000 -458099.180 -21742.700 1483326.530  71575.535 -390320.120 -19360.156 -161050.900  -7824.090
+ -19553985.473 10745533.793 17530776.868 -16170160.000 -798000.000 471177.200 -29050.160 -10287165.551 -390320.120 36812767.548 1730153.939 -24320280.053 -1154470.381
+ -1402431.293 419734.210 981131.683 -684825.000 -33820.000   1850.492  -1483.900 -464689.181 -19360.156 1730153.939 118977.683 -1003718.596 -149464.237
+ 23634836.759 2006429.059 -21946090.400 39270425.000 1938000.000 -18601.600    -52.700 -1172352.589 -161050.900 -24320280.053 -1003718.596 64192498.830 3046197.984
+ 2526964.758 397909.734 -1571631.575 1923700.000  95000.000  57200.000    161.200 -161556.041  -7824.090 -1154470.381 -149464.237 3046197.984 423736.695
+Condition number is 127773101.995/5.119e-003 = 24961120974.177
+Inverse matrix (13,13) :
+      0.254      0.103      0.854      1.994    -34.178     -0.438      5.837      0.898     -9.379      0.060     -1.381     -0.003      0.094
+      0.103      0.045      0.359      0.835    -14.304     -0.197      2.730      0.364     -3.656      0.023     -0.584     -0.001      0.049
+      0.854      0.359      2.922      6.808   -116.626     -1.579     21.649      2.998    -30.543      0.200     -4.751     -0.009      0.361
+      1.994      0.835      6.808     15.867   -271.840     -3.657     49.977      7.006    -71.591      0.468    -11.062     -0.021      0.831
+    -34.178    -14.304   -116.626   -271.840   4657.442     62.395   -850.930   -120.214   1230.266     -8.018    189.411      0.355    -14.177
+     -0.438     -0.197     -1.579     -3.657     62.395      1.178    -18.178     -1.403     12.104     -0.104      2.682      0.001     -0.250
+      5.837      2.730     21.649     49.977   -850.930    -18.178    290.113     17.780   -136.284      1.378    -37.500      0.014      3.840
+      0.898      0.364      2.998      7.006   -120.214     -1.403     17.780      3.244    -34.771      0.212     -4.794     -0.012      0.316
+     -9.379     -3.656    -30.543    -71.591   1230.266     12.104   -136.284    -34.771    389.620     -2.232     48.010      0.156     -2.638
+      0.060      0.023      0.200      0.468     -8.018     -0.104      1.378      0.212     -2.232      0.015     -0.325     -0.001      0.018
+     -1.381     -0.584     -4.751    -11.062    189.411      2.682    -37.500     -4.794     48.010     -0.325      7.785      0.012     -0.596
+     -0.003     -0.001     -0.009     -0.021      0.355      0.001      0.014     -0.012      0.156     -0.001      0.012      0.000     -0.000
+      0.094      0.049      0.361      0.831    -14.177     -0.250      3.840      0.316     -2.638      0.018     -0.596     -0.000      0.083
+Unity matrix (13,13) ? :
+  0.999999990  0.000000000  0.000000014 -0.000000015 -0.000000001  0.000000001  0.000000000 -0.000000006 -0.000000000  0.000000014  0.000000001 -0.000000021 -0.000000001
+ -0.000000003  1.000000000  0.000000002 -0.000000004 -0.000000000 -0.000000001  0.000000000  0.000000001  0.000000000  0.000000004  0.000000000 -0.000000007 -0.000000000
+ -0.000000030  0.000000001  1.000000014 -0.000000038 -0.000000001 -0.000000003 -0.000000000  0.000000003 -0.000000000  0.000000047  0.000000002 -0.000000064 -0.000000002
+ -0.000000127  0.000000002  0.000000098  0.999999867 -0.000000011 -0.000000002 -0.000000000 -0.000000009 -0.000000000  0.000000119  0.000000006 -0.000000234 -0.000000010
+  0.000001371  0.000000084 -0.000000767  0.000002466  1.000000089  0.000000175  0.000000007 -0.000000679 -0.000000049 -0.000001714 -0.000000102  0.000004858  0.000000237
+  0.000000007 -0.000000000  0.000000001 -0.000000001  0.000000000  1.000000003  0.000000000 -0.000000009 -0.000000000 -0.000000012 -0.000000000  0.000000032  0.000000003
+ -0.000000084  0.000000002  0.000000204 -0.000000024 -0.000000001 -0.000000005  1.000000000  0.000000014  0.000000003  0.000000139  0.000000013 -0.000000432 -0.000000014
+ -0.000000011 -0.000000002  0.000000020 -0.000000059 -0.000000002 -0.000000005 -0.000000000  1.000000010  0.000000000  0.000000047  0.000000002 -0.000000046 -0.000000001
+  0.000000123  0.000000002 -0.000000081  0.000000294  0.000000007  0.000000072  0.000000002 -0.000000024  1.000000000 -0.000000374 -0.000000018  0.000000511  0.000000037
+ -0.000000000  0.000000000  0.000000001 -0.000000001 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  1.000000001  0.000000000 -0.000000003 -0.000000000
+  0.000000084 -0.000000001 -0.000000042  0.000000135  0.000000005  0.000000002  0.000000000  0.000000008 -0.000000001 -0.000000077  0.999999996  0.000000195  0.000000008
+  0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000 -0.000000000 -0.000000000  1.000000000  0.000000000
+ -0.000000003  0.000000000  0.000000002 -0.000000002 -0.000000000 -0.000000000 -0.000000000  0.000000002 -0.000000000  0.000000004  0.000000000 -0.000000006  1.000000000
+
+File data/squ.dat (0) Matrix(5,5) :
+      1.000      1.345      2.827      4.201     -0.428
+      2.188      2.000      0.823      8.291     -0.723
+      0.488      1.345      3.000      0.831     -0.320
+     -0.009      6.205     -0.948      4.000      1.920
+      2.835     -1.283     -0.873      2.834      5.831
+Condition number is 12.056/3.223e+000 = 3.740
+Inverse matrix (5,5) :
+     -1.847      0.832      1.490     -0.169      0.105
+     -0.507      0.166      0.459      0.112     -0.028
+      0.415     -0.204     -0.005     -0.021      0.012
+      0.616     -0.147     -0.535      0.028     -0.011
+      0.549     -0.327     -0.364      0.090      0.122
+Unity matrix (5,5) ? :
+  1.000000000 -0.000000000 -0.000000000 -0.000000000  0.000000000
+  0.000000000  1.000000000 -0.000000000  0.000000000  0.000000000
+ -0.000000000 -0.000000000  1.000000000 -0.000000000  0.000000000
+  0.000000000 -0.000000000 -0.000000000  1.000000000 -0.000000000
+  0.000000000  0.000000000 -0.000000000  0.000000000  1.000000000
+
+File data/sym.dat (0) Matrix(4,4) :
+     10.000      1.345      2.827      4.201
+      1.345      9.823      8.291     -0.723
+      2.827      8.291     13.000      0.831
+      4.201     -0.723      0.831      9.009
+Condition number is 20.887/2.780e+000 = 7.513
+Inverse matrix (4,4) :
+      0.132     -0.003     -0.023     -0.060
+     -0.003      0.229     -0.148      0.034
+     -0.023     -0.148      0.177     -0.018
+     -0.060      0.034     -0.018      0.143
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000
+ -0.000000000  1.000000000 -0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000 -0.000000000
+ -0.000000000  0.000000000 -0.000000000  1.000000000
+
+File data/tmatrix.dat (0) Matrix(4,5) :
+      1.000      1.345      2.827      4.201     -0.428
+      2.188      2.000      0.823      8.291     -0.723
+      0.488      1.345      3.000      0.831     -0.320
+     -0.009      6.205     -0.948      4.000      1.920
+ ATA Matrix(5,5) :
+      6.026      6.322      6.101     22.711     -2.183
+      6.322     46.120      3.602     48.170      9.461
+      6.101      3.602     18.569     17.404     -4.586
+     22.711     48.170     17.404    103.080     -0.379
+     -2.183      9.461     -4.586     -0.379      4.495
+Condition number is 137.365/1.293e-015 = 106202104225911090.000
+Inverse matrix (5,5) :
+ 686923185092960.750 -185078003269321.030 76822579209497.562 -74907511829194.109 795338110082996.750
+ -185078003269321.090 49865644423582.211 -20698339893957.059 20182362482558.527 -214288282201800.440
+ 76822579209497.594 -20698339893957.062 8591511837820.998 -8377338814245.507 88947245174023.641
+ -74907511829194.094 20182362482558.516 -8377338814245.501 8168504790942.121 -86729928734589.344
+ 795338110082997.000 -214288282201800.440 88947245174023.625 -86729928734589.391 920863821570964.000
+Unity matrix (5,5) ? :
+  2.500000000  1.000000000  1.500000000  6.937500000  0.000000000
+ -0.250000000  1.250000000 -0.250000000 -1.109375000 -0.125000000
+  0.000000000  0.125000000  1.125000000  0.347656250  0.062500000
+ -0.062500000  0.000000000 -0.062500000  0.683593750  0.000000000
+  0.500000000  0.000000000  1.500000000  4.750000000  1.000000000
+
+File data/ut.dat (0) Matrix(4,4) :
+      1.834      2.837      3.223      4.808
+      0.000      5.837      6.774      7.083
+      0.000      0.000      8.237      9.118
+      0.000      0.000      0.000     10.838
+Condition number is 19.305/4.345e+000 = 4.443
+Inverse matrix (4,4) :
+      0.545     -0.265      0.005     -0.073
+      0.000      0.171     -0.141      0.007
+      0.000      0.000      0.121     -0.102
+      0.000      0.000      0.000      0.092
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000
+
+
+ -------------- Matrix Test 4 ---------------------------------
+Matrix A(7,7) :
+   8.317   0.212   5.740   4.317  -1.109   0.174   1.960
+   6.212   3.292   1.574   1.028   7.438   5.408   6.592
+   2.574   1.574   1.911   1.039   7.236  -9.503   9.440
+   5.317   1.028   1.390   7.126   6.783  -6.527   4.428
+   2.080   3.370   8.544   4.512   0.356  -6.589  -4.531
+  -9.133  -2.077   8.930   8.538  -9.509  -6.375   5.084
+  -2.755  -2.739   9.216   5.226  -0.109  -7.239   4.296
+Vector b(7) :
+  14.289   9.284  -1.128   8.389  -6.929   4.664   7.590
+
+Now solve using SVD
+Singular Values (7) :
+  26.619  21.861  12.423  10.365   5.533   4.560   3.420
+Matrix U(7,7) :
+   0.203   0.207  -0.573   0.370  -0.368   0.556   0.073
+  -0.006   0.525  -0.066   0.603   0.476  -0.355   0.063
+   0.369   0.447   0.525  -0.221   0.127   0.419   0.384
+   0.335   0.434   0.016  -0.184  -0.601  -0.518  -0.191
+   0.342   0.002  -0.603  -0.511   0.401  -0.176   0.260
+   0.578  -0.536   0.153   0.393  -0.100  -0.230   0.371
+   0.509  -0.079   0.068   0.037   0.301   0.190  -0.776
+Matrix V(7,7) :
+  -0.060   0.620  -0.530   0.050  -0.371   0.430   0.078
+  -0.019   0.195  -0.163  -0.107   0.326  -0.342   0.837
+   0.567  -0.092  -0.445   0.181   0.605   0.198  -0.184
+   0.480   0.001  -0.236   0.186  -0.492  -0.655  -0.088
+  -0.029   0.684   0.191  -0.260   0.335  -0.357  -0.432
+  -0.575  -0.011  -0.245   0.697   0.188  -0.258  -0.148
+   0.334   0.318   0.585   0.605  -0.015   0.188   0.208
+Difference (7,7) :
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+Determinant of A = 6.466e+006 -- Compare to 6.466e+006
+Solution via backsubstitution (7) :
+   0.898  -2.119   0.214   1.096   0.064   0.849   0.631
+Solution residuals (7) :
+ 7.105e-015 -8.882e-015 1.998e-015 -1.776e-015 1.776e-015 2.043e-014 1.599e-014
+
+Sort in ascending order
+Singular Values (7) :
+   3.420   4.560   5.533  10.365  12.423  21.861  26.619
+Matrix U(7,7) :
+   0.073   0.556  -0.368   0.370  -0.573   0.207   0.203
+   0.063  -0.355   0.476   0.603  -0.066   0.525  -0.006
+   0.384   0.419   0.127  -0.221   0.525   0.447   0.369
+  -0.191  -0.518  -0.601  -0.184   0.016   0.434   0.335
+   0.260  -0.176   0.401  -0.511  -0.603   0.002   0.342
+   0.371  -0.230  -0.100   0.393   0.153  -0.536   0.578
+  -0.776   0.190   0.301   0.037   0.068  -0.079   0.509
+Matrix V(7,7) :
+   0.078   0.430  -0.371   0.050  -0.530   0.620  -0.060
+   0.837  -0.342   0.326  -0.107  -0.163   0.195  -0.019
+  -0.184   0.198   0.605   0.181  -0.445  -0.092   0.567
+  -0.088  -0.655  -0.492   0.186  -0.236   0.001   0.480
+  -0.432  -0.357   0.335  -0.260   0.191   0.684  -0.029
+  -0.148  -0.258   0.188   0.697  -0.245  -0.011  -0.575
+   0.208   0.188  -0.015   0.605   0.585   0.318   0.334
+
+
+Now reduce A by one column and repeat
+Matrix A(7,6) :
+   8.317   0.212   5.740   4.317  -1.109   0.174
+   6.212   3.292   1.574   1.028   7.438   5.408
+   2.574   1.574   1.911   1.039   7.236  -9.503
+   5.317   1.028   1.390   7.126   6.783  -6.527
+   2.080   3.370   8.544   4.512   0.356  -6.589
+  -9.133  -2.077   8.930   8.538  -9.509  -6.375
+  -2.755  -2.739   9.216   5.226  -0.109  -7.239
+Singular Values (6) :
+  25.574  20.763  11.481   5.543   5.272   3.877
+Matrix U(7,7) :
+  -0.167   0.282  -0.672   0.423   0.354  -0.255  -0.267
+   0.161   0.441  -0.395  -0.571  -0.474   0.086  -0.258
+  -0.216   0.433   0.570  -0.092   0.286  -0.014  -0.593
+  -0.238   0.512   0.172   0.530  -0.521   0.124   0.289
+  -0.416   0.238  -0.140  -0.311   0.430   0.530   0.434
+  -0.643  -0.468  -0.131   0.041  -0.323   0.287  -0.402
+  -0.506   0.020   0.053  -0.328  -0.088  -0.741   0.277
+Matrix V(6,6) :
+   0.164   0.657  -0.427   0.440   0.391  -0.114
+   0.048   0.214  -0.062  -0.293   0.150   0.916
+  -0.603   0.091  -0.437  -0.581   0.207  -0.239
+  -0.488   0.142  -0.257   0.388  -0.692   0.212
+   0.165   0.679   0.373  -0.406  -0.406  -0.205
+   0.585  -0.181  -0.646  -0.259  -0.371  -0.054
+Difference (7,6) :
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+
+ -------------- Matrix Test 5 ---------------------------------
+Matrix A(7,7) :
+   8.317   0.212   5.740   4.317  -1.109   0.174   1.960
+   6.212   3.292   1.574   1.028   7.438   5.408   6.592
+   2.574   1.574   1.911   1.039   7.236  -9.503   9.440
+   5.317   1.028   1.390   7.126   6.783  -6.527   4.428
+   2.080   3.370   8.544   4.512   0.356  -6.589  -4.531
+  -9.133  -2.077   8.930   8.538  -9.509  -6.375   5.084
+  -2.755  -2.739   9.216   5.226  -0.109  -7.239   4.296
+Vector b(7) :
+  14.289   9.284  -1.128   8.389  -6.929   4.664   7.590
+
+Now solve using LUD
+Matrix LU(7,7) :
+   8.317   0.212   5.740   4.317  -1.109   0.174   1.960
+   0.747   3.134  -2.713  -2.196   8.266   5.278   5.128
+  -1.098  -0.589  13.636  11.986  -5.862  -3.078  10.254
+   0.639   0.285  -0.110   6.316   4.490  -8.482   2.848
+  -0.331  -0.852   0.646  -0.468  12.450  -4.667   4.023
+   0.250   1.059   0.732  -0.477  -0.135 -14.647 -16.051
+   0.309   0.481   0.106  -0.080   0.368   0.733  15.795
+Determinant of A = 6.466e+006
+Solution via backsubstitution (7) :
+   0.898  -2.119   0.214   1.096   0.064   0.849   0.631
+Solution residuals (7) :
+ 0.000e+000 1.776e-015 2.887e-015 3.553e-015 -1.776e-015 -5.329e-015 -1.776e-015
+
+ -------------- Matrix Test 6 ---------------------------------
+Matrix A(4,4) :
+  10.000   1.345   2.827   4.201
+   1.345   9.823   8.291  -0.723
+   2.827   8.291  13.000   0.831
+   4.201  -0.723   0.831   9.009
+Vector b(4) :
+   1.000   2.000   3.000   4.000
+
+Now compute Cholesky
+
+Cholesky of A (U) (4,4) :
+   2.753   0.050   0.679   1.400
+   0.000   2.088   2.325  -0.241
+   0.000   0.000   3.595   0.277
+   0.000   0.000   0.000   3.001
+
+Cholesky of A (L) (4,4) :
+   3.162   0.000   0.000   0.000
+   0.425   3.105   0.000   0.000
+   0.894   2.548   2.390   0.000
+   1.328  -0.415   0.293   2.643
+
+Difference U*UT with matrix A(4,4) :
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 -1.776e-015 0.000e+000
+ 0.000e+000 0.000e+000 0.000e+000 -1.776e-015
+
+Difference L*LT with matrix A(4,4) :
+ -1.776e-015 0.000e+000 0.000e+000 0.000e+000
+ 0.000e+000 0.000e+000 -1.776e-015 1.110e-016
+ 0.000e+000 -1.776e-015 0.000e+000 0.000e+000
+ 0.000e+000 1.110e-016 0.000e+000 0.000e+000
+
+Solution via backsubstitution (4) :
+  -0.182   0.146   0.143   0.527
+Solution residuals (4) :
+ 2.220e-016 4.441e-016 4.441e-016 0.000e+000
+
+ -------------- Matrix Test 7 ---------------------------------
+Matrix A(4,5) :
+   1.000   1.345   2.827   4.201  -0.428
+   2.188   2.000   0.823   8.291  -0.723
+   0.488   1.345   3.000   0.831  -0.320
+  -0.009   6.205  -0.948   4.000   1.920
+
+Now compute the Householder transformation
+HH: (4,5) :
+   2.455   2.575   2.485   9.252  -0.890
+   0.000   6.284  -0.445   3.874   1.870
+   0.000   0.000   3.492  -1.107  -0.442
+   0.000   0.000   0.000   1.116   0.105
+
+ -------------- Matrix Test 8 ---------------------------------
+Tough matrix (6,6) :
+  1.000000  0.500000  0.333333  0.250000  0.200000  0.166667
+  0.500000  0.333333  0.250000  0.200000  0.166667  0.142857
+  0.333333  0.250000  0.200000  0.166667  0.142857  0.125000
+  0.250000  0.200000  0.166667  0.142857  0.125000  0.111111
+  0.200000  0.166667  0.142857  0.125000  0.111111  0.100000
+  0.166667  0.142857  0.125000  0.111111  0.100000  0.090909
+Condition number is 1.619/1.083e-007 = 1.495e+007
+Gaussian elimiation:
+Inverse matrix (6,6) :
+        36.000      -630.000      3360.000     -7560.000      7560.000     -2772.000
+      -630.000     14700.000    -88200.000    211680.000   -220500.000     83160.000
+      3360.000    -88200.000    564480.000  -1411200.000   1512000.000   -582120.000
+     -7560.000    211680.000  -1411200.000   3628800.000  -3969000.000   1552320.000
+      7560.000   -220500.000   1512000.000  -3969000.000   4410000.000  -1746360.000
+     -2772.000     83160.000   -582120.000   1552320.000  -1746360.000    698544.000
+
+Unity matrix ? (6,6) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000
+
+LUD:
+Inverse matrix (6,6) :
+        36.000      -630.000      3360.000     -7560.000      7560.000     -2772.000
+      -630.000     14700.000    -88200.000    211680.000   -220500.000     83160.000
+      3360.000    -88200.000    564480.000  -1411200.000   1512000.000   -582120.000
+     -7560.000    211680.000  -1411200.000   3628800.000  -3969000.000   1552320.000
+      7560.000   -220500.000   1512000.000  -3969000.000   4410000.000  -1746360.000
+     -2772.000     83160.000   -582120.000   1552320.000  -1746360.000    698544.000
+
+Unity matrix ? (6,6) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000
+
+SVD:
+Inverse matrix (6,6) :
+        36.000      -630.000      3360.000     -7560.000      7560.000     -2772.000
+      -630.000     14700.000    -88200.000    211680.000   -220500.000     83160.000
+      3360.000    -88200.000    564480.000  -1411200.000   1512000.000   -582120.000
+     -7560.000    211680.000  -1411200.000   3628800.000  -3969000.000   1552320.000
+      7560.000   -220500.000   1512000.000  -3969000.000   4410000.000  -1746360.000
+     -2772.000     83160.000   -582120.000   1552320.000  -1746360.000    698544.000
+
+Unity matrix ? (6,6) ? :
+  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  0.000000000  0.000000000  0.000000000  1.000000000
+
+
+ -------------- Matrix Test 9 ---------------------------------
+Read matrix and vector (in form M||V) from file, invert and solve
+File data/anotsym.dat (0) Matrix(4,4) :
+      5.000      1.450      1.320     -1.100
+      0.450      4.200      1.210      1.110
+      0.320      0.210      3.300      1.900
+     -0.100      0.110      0.900      6.600
+Partials Matrix (4,3) :
+      5.000      1.450      1.320
+      0.450      4.200      1.210
+      0.320      0.210      3.300
+     -0.100      0.110      0.900
+Data vector (4) :
+     -1.100      1.110      1.900      6.600
+ ATA Matrix(3,3) :
+     25.315      9.196      8.111
+      9.196     19.799      7.788
+      8.111      7.788     14.906
+Condition number is 37.649/9.024e+000 = 4.172
+Inverse matrix (3,3) :
+      0.052     -0.016     -0.020
+     -0.016      0.069     -0.027
+     -0.020     -0.027      0.092
+Unity matrix (3,3) ? :
+  1.000000000 -0.000000000 -0.000000000
+ -0.000000000  1.000000000  0.000000000
+ -0.000000000  0.000000000  1.000000000
+
+File data/cov.dat (0) Matrix(15,15) :
+     21.300     10.100    -21.300      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800
+     10.100      4.900    -10.100      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700
+    -21.300    -10.100      0.117     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043
+      7.800      3.700     -7.800     15.300      7.320    -15.300      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800
+      3.700      1.780     -3.700      7.320      3.550     -7.320      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700
+     -7.800     -3.700      0.043    -15.300     -7.320      0.085     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043
+      7.800      3.700     -7.800      7.800      3.700     -7.800     39.500     18.900    -39.500      7.800      3.700     -7.800      7.800      3.700     -7.800
+      3.700      1.780     -3.700      3.700      1.780     -3.700     18.900      9.130    -18.900      3.700      1.780     -3.700      3.700      1.780     -3.700
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -39.500    -18.900      0.218     -7.800     -3.700      0.043     -7.800     -3.700      0.043
+      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800     31.600     15.000    -31.600      7.800      3.700     -7.800
+      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700     15.000      7.190    -15.000      3.700      1.780     -3.700
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -31.600    -15.000      0.172     -7.800     -3.700      0.043
+      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800     32.200     15.300    -32.200
+      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700     15.300      7.370    -15.300
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -32.200    -15.300      0.176
+Partials Matrix (15,14) :
+     21.300     10.100    -21.300      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700
+     10.100      4.900    -10.100      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780
+    -21.300    -10.100      0.117     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700
+      7.800      3.700     -7.800     15.300      7.320    -15.300      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700
+      3.700      1.780     -3.700      7.320      3.550     -7.320      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780
+     -7.800     -3.700      0.043    -15.300     -7.320      0.085     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700
+      7.800      3.700     -7.800      7.800      3.700     -7.800     39.500     18.900    -39.500      7.800      3.700     -7.800      7.800      3.700
+      3.700      1.780     -3.700      3.700      1.780     -3.700     18.900      9.130    -18.900      3.700      1.780     -3.700      3.700      1.780
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -39.500    -18.900      0.218     -7.800     -3.700      0.043     -7.800     -3.700
+      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800     31.600     15.000    -31.600      7.800      3.700
+      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700     15.000      7.190    -15.000      3.700      1.780
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -31.600    -15.000      0.172     -7.800     -3.700
+      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800      7.800      3.700     -7.800     32.200     15.300
+      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700      3.700      1.780     -3.700     15.300      7.370
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -32.200    -15.300
+Data vector (15) :
+     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043     -7.800     -3.700      0.043    -32.200    -15.300      0.176
+ ATA Matrix(14,14) :
+   1550.870    736.974   -857.638   1041.524    495.843   -576.085   1461.890    697.137   -808.730   1324.220    629.119   -732.321   1334.690    634.465
+    736.974    350.224   -408.215    494.858    235.594   -274.102    694.550    331.219   -384.748    629.148    298.905   -348.405    634.122    301.446
+   -857.638   -408.215    853.841   -576.081   -274.573    573.538   -808.716   -386.035    805.150   -732.330   -348.271    729.098   -738.146   -351.290
+   1041.524    494.858   -576.081   1063.242    507.202   -588.416   1358.004    647.789   -751.389   1220.334    579.771   -674.980   1230.804    585.117
+    495.843    235.594   -274.573    507.202    241.961   -281.016    646.187    308.244   -357.950    580.785    275.930   -321.608    585.759    278.471
+   -576.085   -274.102    573.538   -588.416   -281.016    585.807   -751.379   -358.767    748.062   -674.993   -321.004    672.010   -680.808   -324.022
+   1461.890    694.550   -808.716   1358.004    646.187   -751.379   4019.190   1922.881  -2225.517   1640.700    779.463   -907.615   1651.170    784.809
+    697.137    331.219   -386.035    647.789    308.244   -358.767   1922.881    919.971  -1065.640    782.079    371.555   -433.070    787.053    374.095
+   -808.730   -384.748    805.150   -751.389   -357.950    748.062  -2225.517  -1065.640   2215.635   -907.638   -431.649    903.622   -913.453   -434.668
+   1324.220    629.148   -732.330   1220.334    580.785   -674.993   1640.700    782.079   -907.638   2763.600   1313.074  -1528.441   1513.500    719.407
+    629.119    298.905   -348.271    579.771    275.930   -321.004    779.463    371.555   -431.649   1313.074    623.890   -726.843    719.035    341.782
+   -732.321   -348.405    729.098   -674.980   -321.608    672.010   -907.615   -433.070    903.622  -1528.441   -726.843   1521.717   -837.045   -398.325
+   1334.690    634.122   -738.146   1230.804    585.759   -680.808   1651.170    787.053   -913.453   1513.500    719.035   -837.045   2849.250   1355.305
+    634.465    301.446   -351.290    585.117    278.471   -324.022    784.809    374.095   -434.668    719.407    341.782   -398.325   1355.305    644.691
+Condition number is 12457.101/5.492e-004 = 22683144.642
+Inverse matrix (14,14) :
+     36.684    -77.141     -0.166    -35.003     72.932      0.126     -2.583      5.485      0.012     -6.369     13.544      0.020     -0.728      1.644
+    -77.141    162.238      0.359     72.353   -150.774     -0.270      5.533    -11.741     -0.026     13.964    -29.683     -0.044      1.714     -3.840
+     -0.166      0.359      0.009      0.204     -0.433     -0.007      0.005     -0.011     -0.000      0.017     -0.036     -0.001     -0.018      0.038
+    -35.003     72.353      0.204    292.366   -608.281     -0.629    -55.342    114.787      0.090    -85.464    179.159      0.138    -37.404     77.737
+     72.932   -150.774     -0.433   -608.281   1265.596      1.327    114.809   -238.129     -0.189    178.009   -373.166     -0.291     77.756   -161.600
+      0.126     -0.270     -0.007     -0.629      1.327      0.017      0.123     -0.258     -0.002      0.185     -0.390     -0.003      0.005     -0.008
+     -2.583      5.533      0.005    -55.342    114.809      0.123     68.322   -142.452     -0.112    -12.226     25.798      0.014     -3.496      7.396
+      5.485    -11.741     -0.011    114.787   -238.129     -0.258   -142.452    297.018      0.235     25.721    -54.270     -0.029      7.377    -15.601
+      0.012     -0.026     -0.000      0.090     -0.189     -0.002     -0.112      0.235      0.002      0.012     -0.025     -0.000      0.004     -0.009
+     -6.369     13.964      0.017    -85.464    178.009      0.185    -12.226     25.721      0.012    114.800   -241.490     -0.186     -7.923     16.946
+     13.544    -29.683     -0.036    179.159   -373.166     -0.390     25.798    -54.270     -0.025   -241.490    508.002      0.396     16.798    -35.922
+      0.020     -0.044     -0.001      0.138     -0.291     -0.003      0.014     -0.029     -0.000     -0.186      0.396      0.003      0.008     -0.017
+     -0.728      1.714     -0.018    -37.404     77.756      0.005     -3.496      7.377      0.004     -7.923     16.798      0.008     42.813    -89.816
+      1.644     -3.840      0.038     77.737   -161.600     -0.008      7.396    -15.601     -0.009     16.946    -35.922     -0.017    -89.816    188.428
+Unity matrix (14,14) ? :
+  1.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000
+ -0.000000000  1.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000001 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000
+  0.000000006  0.000000003 -0.000000003  1.000000006  0.000000003 -0.000000003  0.000000008  0.000000004 -0.000000004  0.000000007  0.000000003 -0.000000004  0.000000007  0.000000003
+ -0.000000012 -0.000000006  0.000000007 -0.000000012  0.999999994  0.000000007 -0.000000017 -0.000000008  0.000000009 -0.000000015 -0.000000007  0.000000008 -0.000000014 -0.000000007
+ -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  1.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000
+ -0.000000002 -0.000000001  0.000000001 -0.000000001 -0.000000001  0.000000001  0.999999998 -0.000000001  0.000000001 -0.000000002 -0.000000001  0.000000001 -0.000000002 -0.000000001
+  0.000000003  0.000000002 -0.000000002  0.000000003  0.000000001 -0.000000002  0.000000004  1.000000002 -0.000000002  0.000000003  0.000000002 -0.000000002  0.000000004  0.000000002
+  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000  1.000000000  0.000000000  0.000000000 -0.000000000  0.000000000  0.000000000
+  0.000000001  0.000000000 -0.000000000  0.000000001  0.000000000 -0.000000000  0.000000001  0.000000001 -0.000000001  1.000000001  0.000000001 -0.000000001  0.000000001  0.000000000
+ -0.000000002 -0.000000001  0.000000001 -0.000000002 -0.000000001  0.000000001 -0.000000002 -0.000000001  0.000000001 -0.000000002  0.999999999  0.000000001 -0.000000002 -0.000000001
+ -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  1.000000000 -0.000000000 -0.000000000
+ -0.000000004 -0.000000002  0.000000002 -0.000000005 -0.000000002  0.000000003 -0.000000007 -0.000000003  0.000000004 -0.000000006 -0.000000003  0.000000003  0.999999995 -0.000000003
+  0.000000009  0.000000004 -0.000000005  0.000000010  0.000000005 -0.000000005  0.000000014  0.000000006 -0.000000008  0.000000012  0.000000006 -0.000000007  0.000000011  1.000000005
+
+File data/dia.dat (0) Matrix(4,4) :
+      8.824      0.000      0.000      0.000
+      0.000      2.283      0.000      0.000
+      0.000      0.000      1.300      0.000
+      0.000      0.000      0.000     -1.082
+Partials Matrix (4,3) :
+      8.824      0.000      0.000
+      0.000      2.283      0.000
+      0.000      0.000      1.300
+      0.000      0.000      0.000
+Data vector (4) :
+      0.000      0.000      0.000     -1.082
+ ATA Matrix(3,3) :
+     77.859      0.000      0.000
+      0.000      5.212      0.000
+      0.000      0.000      1.690
+Condition number is 77.859/1.690e+000 = 46.071
+Inverse matrix (3,3) :
+      0.013      0.000      0.000
+      0.000      0.192      0.000
+      0.000      0.000      0.592
+Unity matrix (3,3) ? :
+  1.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000
+
+File data/lt.dat (0) Matrix(4,4) :
+     10.882      0.000      0.000      0.000
+      8.284      9.763      0.000      0.000
+      5.273      6.876      7.117      0.000
+      1.991      2.002      3.765      4.372
+Partials Matrix (4,3) :
+     10.882      0.000      0.000
+      8.284      9.763      0.000
+      5.273      6.876      7.117
+      1.991      2.002      3.765
+Data vector (4) :
+      0.000      0.000      0.000      4.372
+ ATA Matrix(3,3) :
+    218.806    121.117     45.024
+    121.117    146.604     56.474
+     45.024     56.474     64.827
+Condition number is 327.734/3.281e+001 = 9.988
+Inverse matrix (3,3) :
+      0.008     -0.007      0.000
+     -0.007      0.016     -0.009
+      0.000     -0.009      0.023
+Unity matrix (3,3) ? :
+  1.000000000 -0.000000000 -0.000000000
+ -0.000000000  1.000000000 -0.000000000
+  0.000000000 -0.000000000  1.000000000
+
+File data/partials.dat (0) Matrix(15,13) :
+  -1900.000    -37.000   2000.000  -3800.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000
+  -1800.000     -6.200   2200.000  -3900.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000
+   2600.000    570.000   -940.000     -2.500      0.000    110.000      0.310   -200.000      0.000     64.000   -190.000   -170.000    520.000
+   2000.000  -2100.000  -1700.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000      0.000     -0.000
+     30.000    200.000   2900.000      0.000      0.000   1800.000     89.000  -5100.000   -250.000      0.000     -0.000     -0.000      0.000
+     -8.200     -0.340      4.200      0.000      0.000      1.200      0.000     -3.800     -0.150     31.000      0.410     82.000     -0.000
+    370.000    230.000    -96.000      0.000      0.000      0.000      0.000    -32.000     -0.730    -61.000      7.800    820.000     33.000
+  -1500.000   -280.000    140.000      0.000      0.000      0.000      0.000    680.000     33.000   1200.000     57.000  -3100.000   -150.000
+     -0.170     -0.920      0.170      0.000      0.000      0.000      0.000      0.430      0.000      0.580     -0.054     -2.300     -0.095
+     17.000    -55.000      1.500      0.000      0.000      0.000      0.000      0.000      0.000    -33.000     -0.820    -63.000      8.100
+    100.000    600.000   -100.000      0.000      0.000      0.000      0.000      0.000      0.000    730.000     35.000   1200.000     61.000
+     -0.380     -0.290      0.150      0.000      0.000      0.000      0.000      0.000      0.000      0.460      0.000      0.610     -0.057
+    -26.000    -19.000     10.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    -30.000     -0.270
+    210.000    160.000    -83.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    640.000     31.000
+      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.410      0.000
+Partials Matrix (15,12) :
+  -1900.000    -37.000   2000.000  -3800.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000
+  -1800.000     -6.200   2200.000  -3900.000   -190.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000
+   2600.000    570.000   -940.000     -2.500      0.000    110.000      0.310   -200.000      0.000     64.000   -190.000   -170.000
+   2000.000  -2100.000  -1700.000      0.000      0.000    -91.000      5.700   2100.000     89.000  -5100.000   -250.000      0.000
+     30.000    200.000   2900.000      0.000      0.000   1800.000     89.000  -5100.000   -250.000      0.000     -0.000     -0.000
+     -8.200     -0.340      4.200      0.000      0.000      1.200      0.000     -3.800     -0.150     31.000      0.410     82.000
+    370.000    230.000    -96.000      0.000      0.000      0.000      0.000    -32.000     -0.730    -61.000      7.800    820.000
+  -1500.000   -280.000    140.000      0.000      0.000      0.000      0.000    680.000     33.000   1200.000     57.000  -3100.000
+     -0.170     -0.920      0.170      0.000      0.000      0.000      0.000      0.430      0.000      0.580     -0.054     -2.300
+     17.000    -55.000      1.500      0.000      0.000      0.000      0.000      0.000      0.000    -33.000     -0.820    -63.000
+    100.000    600.000   -100.000      0.000      0.000      0.000      0.000      0.000      0.000    730.000     35.000   1200.000
+     -0.380     -0.290      0.150      0.000      0.000      0.000      0.000      0.000      0.000      0.460      0.000      0.610
+    -26.000    -19.000     10.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    -30.000
+    210.000    160.000    -83.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000    640.000
+      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.000      0.410
+Data vector (15) :
+   -250.000   -250.000    520.000     -0.000      0.000     -0.000     33.000   -150.000     -0.095      8.100     61.000     -0.057     -0.270     31.000      0.000
+ ATA Matrix(12,12) :
+ 20052932.413 -2032277.945 -13790219.026 14233500.000 703000.000 157990.160  14876.000 2831891.087  99641.130 -19553985.473 -1402431.293 23634836.759
+ -2032277.945 5296594.486 3391725.872 163355.000   8208.000 613799.592   6006.700 -5737827.904 -246554.089 10745533.793 419734.210 2006429.059
+ -13790219.026 3391725.872 21069424.941 -16177650.000 -798000.000 5271305.040 248118.600 -18455943.887 -847670.550 17530776.868 981131.683 -21946090.400
+ 14233500.000 163355.000 -16177650.000 29650006.250 1463000.000   -275.000     -0.775 701200.000 -43890.000 -16170160.000 -684825.000 39270425.000
+ 703000.000   8208.000 -798000.000 1463000.000  72200.000      0.000      0.000  34580.000  -2166.000 -798000.000 -33820.000 1938000.000
+ 157990.160 613799.592 5271305.040   -275.000      0.000 3260382.440 159715.400 -9393104.560 -458099.180 471177.200   1850.492 -18601.600
+  14876.000   6006.700 248118.600     -0.775      0.000 159715.400   7953.586 -441992.000 -21742.700 -29050.160  -1483.900    -52.700
+ 2831891.087 -5737827.904 -18455943.887 701200.000  34580.000 -9393104.560 -441992.000 30940000.625 1483326.530 -10287165.551 -464689.181 -1172352.589
+  99641.130 -246554.089 -847670.550 -43890.000  -2166.000 -458099.180 -21742.700 1483326.530  71575.535 -390320.120 -19360.156 -161050.900
+ -19553985.473 10745533.793 17530776.868 -16170160.000 -798000.000 471177.200 -29050.160 -10287165.551 -390320.120 36812767.548 1730153.939 -24320280.053
+ -1402431.293 419734.210 981131.683 -684825.000 -33820.000   1850.492  -1483.900 -464689.181 -19360.156 1730153.939 118977.683 -1003718.596
+ 23634836.759 2006429.059 -21946090.400 39270425.000 1938000.000 -18601.600    -52.700 -1172352.589 -161050.900 -24320280.053 -1003718.596 64192498.830
+Condition number is 127608930.696/7.975e-003 = 16000989508.875
+Inverse matrix (12,12) :
+      0.146      0.047      0.443      1.047    -18.024     -0.154      1.462      0.538     -6.373      0.039     -0.702     -0.002
+      0.047      0.016      0.145      0.342     -5.886     -0.049      0.450      0.176     -2.090      0.013     -0.230     -0.001
+      0.443      0.145      1.349      3.185    -54.810     -0.490      4.905      1.621    -19.041      0.120     -2.152     -0.007
+      1.047      0.342      3.185      7.522   -129.462     -1.149     11.411      3.835    -45.099      0.282     -5.077     -0.017
+    -18.024     -5.886    -54.810   -129.462   2228.196     19.590   -192.918    -66.106    778.268     -4.857     87.285      0.287
+     -0.154     -0.049     -0.490     -1.149     19.590      0.424     -6.583     -0.450      4.140     -0.048      0.882     -0.000
+      1.462      0.450      4.905     11.411   -192.918     -6.583    111.877      3.123    -13.851      0.522     -9.837      0.033
+      0.538      0.176      1.621      3.835    -66.106     -0.450      3.123      2.039    -24.704      0.142     -2.519     -0.011
+     -6.373     -2.090    -19.041    -45.099    778.268      4.140    -13.851    -24.704    305.519     -1.644     29.008      0.143
+      0.039      0.013      0.120      0.282     -4.857     -0.048      0.522      0.142     -1.644      0.011     -0.192     -0.001
+     -0.702     -0.230     -2.152     -5.077     87.285      0.882     -9.837     -2.519     29.008     -0.192      3.492      0.009
+     -0.002     -0.001     -0.007     -0.017      0.287     -0.000      0.033     -0.011      0.143     -0.001      0.009      0.000
+Unity matrix (12,12) ? :
+  0.999999995  0.000000000  0.000000005 -0.000000005 -0.000000000  0.000000000  0.000000000 -0.000000005 -0.000000000  0.000000007  0.000000000 -0.000000007
+ -0.000000002  1.000000000  0.000000002 -0.000000004 -0.000000000 -0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000002  0.000000000 -0.000000007
+ -0.000000018  0.000000000  1.000000017 -0.000000014 -0.000000002 -0.000000000  0.000000000 -0.000000001  0.000000000  0.000000025  0.000000001 -0.000000047
+ -0.000000043  0.000000006  0.000000046  0.999999924 -0.000000005  0.000000006  0.000000000 -0.000000011 -0.000000000  0.000000059  0.000000003 -0.000000136
+  0.000000942  0.000000007 -0.000001043  0.000002014  1.000000086 -0.000000070  0.000000000  0.000000049  0.000000005 -0.000001410 -0.000000046  0.000003058
+  0.000000003 -0.000000000 -0.000000000  0.000000002  0.000000000  1.000000001  0.000000000  0.000000000  0.000000000 -0.000000004 -0.000000000  0.000000006
+ -0.000000024 -0.000000003  0.000000019 -0.000000085 -0.000000001 -0.000000005  1.000000000 -0.000000015  0.000000000  0.000000055  0.000000003 -0.000000001
+ -0.000000015  0.000000000  0.000000010 -0.000000015 -0.000000002  0.000000000 -0.000000000  1.000000006  0.000000000  0.000000028  0.000000001 -0.000000061
+  0.000000389 -0.000000022 -0.000000443  0.000000472  0.000000016  0.000000001 -0.000000001  0.000000128  1.000000003 -0.000000456 -0.000000022  0.000000816
+ -0.000000001 -0.000000000  0.000000001 -0.000000002 -0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000  1.000000001  0.000000000 -0.000000004
+  0.000000031 -0.000000001 -0.000000022  0.000000069  0.000000002  0.000000003 -0.000000000  0.000000005  0.000000000 -0.000000034  0.999999998  0.000000060
+  0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000 -0.000000000  0.000000000  0.000000000 -0.000000000 -0.000000000  1.000000001
+
+File data/squ.dat (0) Matrix(5,5) :
+      1.000      1.345      2.827      4.201     -0.428
+      2.188      2.000      0.823      8.291     -0.723
+      0.488      1.345      3.000      0.831     -0.320
+     -0.009      6.205     -0.948      4.000      1.920
+      2.835     -1.283     -0.873      2.834      5.831
+Partials Matrix (5,4) :
+      1.000      1.345      2.827      4.201
+      2.188      2.000      0.823      8.291
+      0.488      1.345      3.000      0.831
+     -0.009      6.205     -0.948      4.000
+      2.835     -1.283     -0.873      2.834
+Data vector (5) :
+     -0.428     -0.723     -0.320      1.920      5.831
+ ATA Matrix(4,4) :
+     14.062      2.683      3.626     30.745
+      2.683     47.767      4.722     44.533
+      3.626      4.722     19.331     14.930
+     30.745     44.533     14.930    111.111
+Condition number is 142.644/1.701e+001 = 8.385
+Inverse matrix (4,4) :
+      0.417      0.135      0.022     -0.172
+      0.135      0.077      0.010     -0.070
+      0.022      0.010      0.059     -0.018
+     -0.172     -0.070     -0.018      0.087
+Unity matrix (4,4) ? :
+  1.000000000  0.000000000  0.000000000 -0.000000000
+  0.000000000  1.000000000  0.000000000 -0.000000000
+  0.000000000  0.000000000  1.000000000  0.000000000
+ -0.000000000  0.000000000  0.000000000  1.000000000
+
+File data/sym.dat (0) Matrix(4,4) :
+     10.000      1.345      2.827      4.201
+      1.345      9.823      8.291     -0.723
+      2.827      8.291     13.000      0.831
+      4.201     -0.723      0.831      9.009
+Partials Matrix (4,3) :
+     10.000      1.345      2.827
+      1.345      9.823      8.291
+      2.827      8.291     13.000
+      4.201     -0.723      0.831
+Data vector (4) :
+      4.201     -0.723      0.831      9.009
+ ATA Matrix(3,3) :
+    127.449     47.064     79.663
+     47.064    167.572    192.430
+     79.663    192.430    246.423
+Condition number is 431.032/8.593e+000 = 50.161
+Inverse matrix (3,3) :
+      0.011      0.010     -0.011
+      0.010      0.066     -0.055
+     -0.011     -0.055      0.051
+Unity matrix (3,3) ? :
+  1.000000000 -0.000000000  0.000000000
+  0.000000000  1.000000000  0.000000000
+  0.000000000  0.000000000  1.000000000
+
+File data/tmatrix.dat (0) Matrix(4,5) :
+      1.000      1.345      2.827      4.201     -0.428
+      2.188      2.000      0.823      8.291     -0.723
+      0.488      1.345      3.000      0.831     -0.320
+     -0.009      6.205     -0.948      4.000      1.920
+Partials Matrix (4,4) :
+      1.000      1.345      2.827      4.201
+      2.188      2.000      0.823      8.291
+      0.488      1.345      3.000      0.831
+     -0.009      6.205     -0.948      4.000
+Data vector (4) :
+     -0.428     -0.723     -0.320      1.920
+Condition number is 11.717/3.450e+000 = 3.396
+Inverse matrix (4,4) :
+     -2.322      1.115      1.804     -0.247
+     -0.379      0.090      0.374      0.133
+      0.362     -0.172      0.030     -0.029
+      0.668     -0.178     -0.569      0.036
+Unity matrix (4,4) ? :
+  1.000000000 -0.000000000 -0.000000000 -0.000000000
+  0.000000000  1.000000000 -0.000000000  0.000000000
+ -0.000000000 -0.000000000  1.000000000 -0.000000000
+  0.000000000  0.000000000 -0.000000000  1.000000000
+
+File data/ut.dat (0) Matrix(4,4) :
+      1.834      2.837      3.223      4.808
+      0.000      5.837      6.774      7.083
+      0.000      0.000      8.237      9.118
+      0.000      0.000      0.000     10.838
+Partials Matrix (4,3) :
+      1.834      2.837      3.223
+      0.000      5.837      6.774
+      0.000      0.000      8.237
+      0.000      0.000      0.000
+Data vector (4) :
+      4.808      7.083      9.118     10.838
+ ATA Matrix(3,3) :
+      3.364      5.203      5.911
+      5.203     42.124     48.686
+      5.911     48.686    124.130
+Condition number is 147.176/1.977e+001 = 7.445
+Inverse matrix (3,3) :
+      0.368     -0.046      0.001
+     -0.046      0.049     -0.017
+      0.001     -0.017      0.015
+Unity matrix (3,3) ? :
+  1.000000000  0.000000000  0.000000000
+  0.000000000  1.000000000 -0.000000000
+  0.000000000  0.000000000  1.000000000
+
+
+ -------------- Poly Test ---------------------------------
+Matrix Cov(3,3) :
+    0.068    0.000   -0.107
+    0.000    0.086    0.000
+   -0.107    0.000    0.303
+Vector Sol(3) :
+   -1.246    0.335   -0.174
+    t     data    fit  resid
+ 0 -1.0000  -1.750  -1.755   0.005
+ 1 -0.9375  -1.702  -1.713   0.011
+ 2 -0.8750  -1.663  -1.672   0.009
+ 3 -0.8125  -1.639  -1.633  -0.006
+ 4 -0.7500  -1.590  -1.595   0.005
+ 5 -0.6875  -1.579  -1.558  -0.021
+ 6 -0.6250  -1.536  -1.523  -0.013
+ 7 -0.5625  -1.502  -1.489  -0.013
+ 8 -0.5000  -1.441  -1.457   0.016
+ 9 -0.4375  -1.445  -1.426  -0.019
+10 -0.3750  -1.412  -1.396  -0.016
+11 -0.3125  -1.370  -1.368  -0.002
+12 -0.2500  -1.328  -1.341   0.013
+13 -0.1875  -1.286  -1.315   0.029
+14 -0.1250  -1.266  -1.291   0.025
+15 -0.0625  -1.270  -1.268  -0.002
+16  0.0000  -1.249  -1.246  -0.003
+17  0.0625  -1.235  -1.226  -0.009
+18  0.1250  -1.197  -1.207   0.010
+19  0.1875  -1.214  -1.189  -0.025
+20  0.2500  -1.183  -1.173  -0.010
+21  0.3125  -1.156  -1.158   0.002
+22  0.3750  -1.135  -1.145   0.010
+23  0.4375  -1.134  -1.133  -0.001
+24  0.5000  -1.098  -1.122   0.024
+25  0.5625  -1.102  -1.113   0.011
+26  0.6250  -1.118  -1.105  -0.013
+27  0.6875  -1.103  -1.098  -0.005
+28  0.7500  -1.115  -1.093  -0.022
+29  0.8125  -1.076  -1.089   0.013
+30  0.8750  -1.101  -1.086  -0.015
+31  0.9375  -1.068  -1.085   0.017
+32  1.0000  -1.088  -1.085  -0.003
+Stats on residuals
+ N       = 33 not weighted
+ Minimum = -2.470e-002 Maximum = 2.889e-002
+ Average = 9.415e-017 Std Dev = 1.435e-002
+Stats on data
+ N       = 33 not weighted
+ Minimum = -1.750e+000 Maximum = -1.068e+000
+ Average = -1.308e+000 Std Dev = 2.105e-001
+2-sample Stats on time,data
+ N       = 33
+ Minimum: X = -1.000e+000  Y = -1.750e+000  Maximum: X = 1.000e+000  Y = -1.068e+000
+ Average: X = 1.894e-003  Y = -1.308e+000  Std Dev: X = 6.012e-001  Y = 2.105e-001
+ Intercept = -1.308e+000  Slope = 3.360e-001 with uncertainty = 1.763e-002
+ Conditional uncertainty (sigma y given x) = 5.997e-002  Correlation = 9.599e-001
+Matrix Cov(3,3) :
+    0.068    0.000   -0.107
+    0.000    0.086    0.000
+   -0.107    0.000    0.303
+Vector Sol(3) :
+   -1.435   -0.175    0.232
+    t     data    fit  resid
+ 0 -1.0000  -1.088  -1.029  -0.059
+ 1 -0.9375  -1.119  -1.068  -0.051
+ 2 -0.8750  -1.118  -1.105  -0.013
+ 3 -0.8125  -1.158  -1.140  -0.018
+ 4 -0.7500  -1.146  -1.174   0.028
+ 5 -0.6875  -1.201  -1.205   0.004
+ 6 -0.6250  -1.207  -1.235   0.028
+ 7 -0.5625  -1.222  -1.263   0.041
+ 8 -0.5000  -1.230  -1.290   0.060
+ 9 -0.4375  -1.269  -1.314   0.045
+10 -0.3750  -1.269  -1.337   0.068
+11 -0.3125  -1.335  -1.358   0.023
+12 -0.2500  -1.359  -1.377   0.018
+13 -0.1875  -1.391  -1.394   0.003
+14 -0.1250  -1.391  -1.410   0.019
+15 -0.0625  -1.432  -1.423  -0.009
+16  0.0000  -1.440  -1.435  -0.005
+17  0.0625  -1.483  -1.445  -0.038
+18  0.1250  -1.520  -1.453  -0.067
+19  0.1875  -1.514  -1.460  -0.054
+20  0.2500  -1.514  -1.464  -0.050
+21  0.3125  -1.478  -1.467  -0.011
+22  0.3750  -1.496  -1.468  -0.028
+23  0.4375  -1.508  -1.467  -0.041
+24  0.5000  -1.507  -1.465  -0.042
+25  0.5625  -1.437  -1.460   0.023
+26  0.6250  -1.439  -1.454   0.015
+27  0.6875  -1.419  -1.446   0.027
+28  0.7500  -1.388  -1.436   0.048
+29  0.8125  -1.408  -1.424   0.016
+30  0.8750  -1.390  -1.411   0.021
+31  0.9375  -1.391  -1.396   0.005
+32  1.0000  -1.385  -1.379  -0.006
+Stats on residuals
+ N       = 33 not weighted
+ Minimum = -6.667e-002 Maximum = 6.793e-002
+ Average = -4.166e-016 Std Dev = 3.609e-002
+Stats on data
+ N       = 33
+ Minimum = -1.520e+000 Maximum = -1.088e+000
+ Average = -1.353e+000 Std Dev = 1.342e-001
+2-sample Stats on time,data
+ N       = 33
+ Minimum: X = -1.000e+000  Y = -1.520e+000  Maximum: X = 1.000e+000  Y = -1.088e+000
+ Average: X = 1.894e-003  Y = -1.353e+000  Std Dev: X = 6.012e-001  Y = 1.342e-001
+ Intercept = -1.353e+000  Slope = -1.753e-001 with uncertainty = 2.481e-002
+ Conditional uncertainty (sigma y given x) = 8.439e-002  Correlation = -7.854e-001
diff --git a/trunk/tests/data/Xbegweek.can b/trunk/tests/data/Xbegweek.can
new file mode 100644
index 0000000..ffb5eed
--- /dev/null
+++ b/trunk/tests/data/Xbegweek.can
@@ -0,0 +1,41 @@
+ Xbegweek.out - Demonstrating P-Code Beginnging of Week Generation..
+                Reproducing ICD-GPS-200, Table 3-I
+ PRN  12-bits of code (octal)
+  00             5555
+  01             4444
+  02             4000
+  03             4222
+  04             4333
+  05             4377
+  06             4355
+  07             4344
+  08             4340
+  09             4342
+  10             4343
+  11             4343
+  12             4343
+  13             4343
+  14             4343
+  15             4343
+  16             4343
+  17             4343
+  18             4343
+  19             4343
+  20             4343
+  21             4343
+  22             4343
+  23             4343
+  24             4343
+  25             4343
+  26             4343
+  27             4343
+  28             4343
+  29             4343
+  30             4343
+  31             4343
+  32             4343
+  33             4343
+  34             4343
+  35             4343
+  36             4343
+  37             4343
diff --git a/trunk/tests/data/Xendweek.can b/trunk/tests/data/Xendweek.can
new file mode 100644
index 0000000..d942567
--- /dev/null
+++ b/trunk/tests/data/Xendweek.can
@@ -0,0 +1,41 @@
+ XENDWEEK.OUT - Demonstrating P-Code End of Week Generation..
+                Reproducing ICD-GPS-200, Table 3-IV
+ PRN  Last word 3004      3036      3068      3100      3132      3164      
+  00  xAA32E3E1 x2720A6DE x5C85DF13 x0C572174 xBE9C0D60 xF95A694B xC576072D
+  01  xAA32E3E1 x042E4659 xF550CB1E x66297E28 xE08F71E0 xF95A694B xC576072D
+  02  xAA32E3E1 x95A9361A x21BA4118 xD3165186 xCF86CFA0 xF95A694B xC576072D
+  03  xAA32E3E1 x5D6A8E3B xCBCF041B x8989C651 xD8021080 xF95A694B xC576072D
+  04  xAA32E3E1 x390B522B x3EF5A69A x24C60DBA x53C07F10 xF95A694B xC576072D
+  05  xAA32E3E1 x8B3BBC23 x4468F7DA xF261E84F x962148D8 xF95A694B xC576072D
+  06  xAA32E3E1 xD223CB27 x79265F7A x99321AB5 x74D1D33C xF95A694B xC576072D
+  07  xAA32E3E1 xFEAFF0A5 x67810B2A xAC9BE3C8 x05A99ECE xF95A694B xC576072D
+  08  xAA32E3E1 x68E9ED64 x68D2A102 xB64F1F76 xBD15B837 xF95A694B xC576072D
+  09  xAA32E3E1 x23CAE384 xEF7B7416 xBB256129 xE14BAB4B x795A694B xC576072D
+  10  xAA32E3E1 x865B64F4 xACAF9E9C xBD905E06 x4F64A2F5 x395A694B xC576072D
+  11  xAA32E3E1 x5493A74C x8D45EBD9 xBECAC191 x9873262A x195A694B xC576072D
+  12  xAA32E3E1 xBDF7C690 x9DB0D17B x3F678E5A x73F8E445 x895A694B xC576072D
+  13  xAA32E3E1 x4945F67E x95CA4C2A x7FB129BF x863D0572 x415A694B xC576072D
+  14  xAA32E3E1 xB31CEE09 x91F70282 xDFDA7A4D x7CDFF5E9 xA55A694B xC576072D
+  15  xAA32E3E1 x4E306232 x13E9A5D6 x8FEFD3B4 x01AE8DA4 x575A694B xC576072D
+  16  xAA32E3E1 xB0A6242F xD2E6F67C xA7F50748 xBF163182 xAE5A694B xC576072D
+  17  xAA32E3E1 x4FED0721 x32615FA9 xB3F86D36 xE04A6F91 xD2DA694B xC576072D
+  18  xAA32E3E1 x304896A6 x42228B43 x39FED809 xCFE44098 x6C9A694B xC576072D
+  19  xAA32E3E1 x0F9A5E65 xFA036136 x7CFD8296 x5833571C xB3BA694B xC576072D
+  20  xAA32E3E1 x10733A04 x2613940C xDE7C2FD9 x93D8DCDE xDC2A694B xC576072D
+  21  xAA32E3E1 x1F878834 xC81BEE91 x8F3CF97E x762D193F xEBE2694B xC576072D
+  22  xAA32E3E1 x187DD12C xBF1FD3DF x279C922D x84D7FBCF x7006694B xC576072D
+  23  xAA32E3E1 x9B80FDA0 x849DCD78 x73CCA784 x7DAA8AB7 x3DF4694B xC576072D
+  24  xAA32E3E1 x5A7E6BE6 x995CC22B xD9E4BD50 x8114320B x1B0D694B xC576072D
+  25  xAA32E3E1 x3A8120C5 x97BC4582 x0CF0B03A xFF4B6E55 x0871E94B xC576072D
+  26  xAA32E3E1 x8AFE8554 x10CC0656 xE67AB68F xC064C07A x01CFA94B xC576072D
+  27  xAA32E3E1 xD2C1579C xD37427BC x933FB5D5 x5FF3176D x8510894B xC576072D
+  28  xAA32E3E1 xFEDEBEF8 xB2A83749 xA99D3478 x1038FCE6 x477F194B xC576072D
+  29  xAA32E3E1 x68D14A4A x82463F33 x34CC74AE xB7DD0923 xA648D14B xC576072D
+  30  xAA32E3E1 x23D6B013 x9A313B0E x7A64D4C5 xE42FF3C1 x56D3354B xC576072D
+  31  xAA32E3E1 x06554D3F x160AB910 xDD3084F0 x4DD68EB0 x2E9EC74B xC576072D
+  32  xAA32E3E1 x1494B3A9 x5017781F x8E9AACEA x992A3008 x92B83E4B xC576072D
+  33  xAA32E3E1 x9DF44CE2 x73199898 x274FB8E7 xF3546F54 xCCAB42CB xC576072D
+  34  xAA32E3E1 xD9443347 xE29EE8DB xF3A532E1 x466B40FA xE3A2FC8B xC576072D
+  35  xAA32E3E1 xFB1C0C95 x2A5D50FA x19D077E2 x1CF4D72D xF42623AB xC576072D
+  36  xAA32E3E1 x6A30137C x4E3C8CEA xECEAD563 xB1BB1CC6 x7FE44C3B xC576072D
+  37  xAA32E3E1 x22A61C88 xFC0C62E2 x96778423 x671CF933 xBA057BF3 xC576072D
diff --git a/trunk/tests/data/anotsym.dat b/trunk/tests/data/anotsym.dat
new file mode 100644
index 0000000..3d38223
--- /dev/null
+++ b/trunk/tests/data/anotsym.dat
@@ -0,0 +1,15 @@
+#A 'standard' Matrix file musthave one row per line, and must
+#start with the type and dimension of the Matrix, i.e.:
+#        type=GEN rows=12 columns=14
+# or abbreviated:
+#        t=GEN r=12 c=14
+#Types are GEN SQU SYM UPT LOW DIA
+#Notice the order: type, rows, columns, and that characters are lowercase,
+#comments follow '#' signs to the end of line,
+#and lines with data must follow a line with 3 colons (:::).
+t=GEN r=4 c=4
+:::
+5.0  1.45  1.32 -1.1
+0.45 4.2  1.21 1.11
+0.32 0.21 3.3 1.9
+-0.1 0.11 0.9 6.6
diff --git a/trunk/tests/data/cov.dat b/trunk/tests/data/cov.dat
new file mode 100644
index 0000000..7f98641
--- /dev/null
+++ b/trunk/tests/data/cov.dat
@@ -0,0 +1,17 @@
+t=SYM r=15 c=15
+:::
+  2.13E+01 
+  1.01E+01  4.9E00 
+ -2.13E+01 -1.01E+01  0.117
+  7.8E00   3.7E00  -7.8E00  1.53E+01 
+  3.7E00   1.78E00 -3.7E00  7.32E00  3.55E00 
+ -7.8E00  -3.7E00   0.0425  -1.53E+01 -7.32E00  0.0848
+  7.8E00   3.7E00  -7.8E00  7.8E00   3.7E00  -7.8E00  3.95E+01 
+  3.7E00   1.78E00 -3.7E00  3.7E00   1.78E00 -3.7E00  1.89E+01  9.13E00 
+ -7.8E00  -3.7E00   0.0425  -7.8E00  -3.7E00   0.0425  -3.95E+01 -1.89E+01  0.218
+  7.8E00   3.7E00  -7.8E00  7.8E00   3.7E00  -7.8E00  7.8E00   3.7E00  -7.8E00  3.16E+01 
+  3.7E00   1.78E00 -3.7E00  3.7E00   1.78E00 -3.7E00  3.7E00   1.78E00 -3.7E00  1.5E+01   7.19E00 
+ -7.8E00  -3.7E00   0.0425  -7.8E00  -3.7E00   0.0425  -7.8E00  -3.7E00   0.0425  -3.16E+01 -1.5E+01   0.172
+  7.8E00   3.7E00  -7.8E00  7.8E00   3.7E00  -7.8E00  7.8E00   3.7E00  -7.8E00  7.8E00   3.7E00  -7.8E00  3.22E+01 
+  3.7E00   1.78E00 -3.7E00  3.7E00   1.78E00 -3.7E00  3.7E00   1.78E00 -3.7E00  3.7E00   1.78E00 -3.7E00  1.53E+01  7.37E00 
+ -7.8E00  -3.7E00   0.0425  -7.8E00  -3.7E00   0.0425  -7.8E00  -3.7E00   0.0425  -7.8E00  -3.7E00   0.0425  -3.22E+01 -1.53E+01 0.176
diff --git a/trunk/tests/data/dia.dat b/trunk/tests/data/dia.dat
new file mode 100644
index 0000000..5d56ca2
--- /dev/null
+++ b/trunk/tests/data/dia.dat
@@ -0,0 +1,6 @@
+t=DIA r=4 c=4
+:::
+8.8238
+2.283
+1.30
+-1.082
diff --git a/trunk/tests/data/lt.dat b/trunk/tests/data/lt.dat
new file mode 100644
index 0000000..e01a426
--- /dev/null
+++ b/trunk/tests/data/lt.dat
@@ -0,0 +1,6 @@
+t=LOW r=4 c=4
+:::
+10.882
+8.2837  9.763
+5.273  6.876  7.117
+1.991  2.002  3.765  4.372
diff --git a/trunk/tests/data/nga12600.apc b/trunk/tests/data/nga12600.apc
new file mode 100644
index 0000000..e8a4343
--- /dev/null
+++ b/trunk/tests/data/nga12600.apc
@@ -0,0 +1,5303 @@
+#aV2004  2 29  0  0   .00000000      96 DD+AD WGS84 FIT  NGA
+## 1260       .00000000   900.00000000 53064  .0000000000000
++   27     1  3  4  5  6  7  8  9 10 11 13 14 15 16 17 18 20
++         21 22 24 25 26 27 28 29 30 31  0  0  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%f  0.0000000  0.000000000  0.00000000000  0.000000000000000
+%f  0.0000000  0.000000000  0.00000000000  0.000000000000000
+%i    0    0    0    0      0      0      0      0         0
+%i    0    0    0    0      0      0      0      0         0
+/*      NGA, ST. LOUIS,MO.                                  
+/*   EPHEMERIS COMPUTED FROM  3 DAYS OF DATA
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+*  2004  2 29  0  0   .00000000                                                 
+P  1  -1359.527672  24899.269007  -8928.580812    332.443681                    
+V  1  -4283.749401 -10959.690376 -29371.730803       .016296                    
+P  3 -14150.070603   7634.352370  21025.344117     89.639171                    
+V  3  -8229.785704 -25798.671077   4035.714697       .027923                    
+P  4  19097.186291    616.349954 -18562.657950    -75.962018                    
+V  4 -16906.313891  16367.668285 -16517.316635      -.090923                    
+P  5   6763.859374 -14499.897073 -21306.513386     19.641420                    
+V  5  26012.695297   6813.299653   3809.917304       .017872                    
+P  6  -5750.083973 -25843.326763   -551.770578     -1.271606                    
+V  6   3840.209996     33.075861 -31270.142856      -.011564                    
+P  7  15766.882137  14104.814492 -15760.894779    612.423383                    
+V  7   3068.226351  20658.038253  20860.157600      -.077420                    
+P  8  13639.126332   7780.365254  21267.455295    356.168408                    
+V  8 -20630.244247  18048.137434   6261.181984      -.088688                    
+P  9  13779.049511 -21205.104534  -7870.428987    -32.208326                    
+V  9   9039.505389  -4388.666580  29613.509465      -.016539                    
+P 10  22215.716897  -2802.152367  14452.871940     40.122929                    
+V 10  16881.017711   7180.596825 -24202.231158       .006648                    
+P 11 -11494.846605  22385.357572  -8290.017723     99.666050                    
+V 11 -10262.637458   5086.683665  28117.353706       .025486                    
+P 13   7294.455778  25418.102920   2875.161605    -30.924791                    
+V 13  -1263.090904   4029.218411 -31890.647169       .002454                    
+P 14 -15034.053163 -12873.512567 -17654.374434    -18.149217                    
+V 14  -3437.225330 -22263.956675  19118.601390      -.001208                    
+P 15 -18558.984544  -1913.810462  18768.167414    232.516547                    
+V 15  18330.553844 -15861.399997  16076.614363       .054026                    
+P 16 -24423.018054    -46.042355  10521.485432     15.316804                    
+V 16 -11896.399336  -6324.617997 -27820.437282      -.004104                    
+P 17  19891.766753 -16740.829749   3002.510164    205.470605                    
+V 17   4813.850740    401.383598 -32146.890892       .195159                    
+P 18 -14124.169477 -16600.796809  15351.931707    -15.196168                    
+V 18  18761.101880   5060.304132  22567.520761      -.026458                    
+P 20  -2056.451793  15174.951911 -21769.123354   -184.359107                    
+V 20 -26291.765435  -7955.802233  -3068.876073       .027617                    
+P 21  -5084.330137 -15162.317596  21095.298204     73.044893                    
+V 21  21384.612337 -16497.161728  -7074.369543       .005319                    
+P 22 -22963.023541 -12434.334151   4883.386157    -40.931985                    
+V 22   6585.063377   -414.436209  30994.738514       .089458                    
+P 24  22559.639492 -10734.624604  -8825.090147      7.902198                    
+V 24  -7501.339016   9125.758502 -29218.826266       .030103                    
+P 25 -19928.892641   3490.901136 -16828.141458     61.648540                    
+V 25  13512.897368 -17666.429107 -19274.844374       .008571                    
+P 26   9572.575702 -15644.962801  18714.551537    411.165332                    
+V 26   6456.756659  23653.632546  16849.545582      -.124025                    
+P 27   3683.586328  17056.934051  20363.845550    919.527404                    
+V 27 -18491.573029  16858.524894 -11544.414517       .044414                    
+P 28  22912.896143  12265.329013   6398.431997     21.712377                    
+V 28  -8197.952256   -108.896820  30140.666522       .017137                    
+P 29  12279.176489 -10496.535376  21337.937647    229.661588                    
+V 29   6783.912403  25562.924965   8834.347279       .033779                    
+P 30  -8900.821947 -16765.712224 -18848.700320    803.916363                    
+V 30  23001.437674   4962.221424 -15364.964726       .143231                    
+P 31  -6528.612646  20009.861922  15668.912132     37.136711                    
+V 31  -8010.977492 -19282.302317  21176.874377       .309338                    
+*  2004  2 29  0 15   .00000000                                                 
+P  1  -1805.861633  23780.269535 -11486.858257    332.443672                    
+V  1  -5687.155944 -13850.481036 -27395.870766       .016255                    
+P  3 -14948.644527   5318.726154  21204.834061     89.640371                    
+V  3  -9492.882390 -25575.525042    -51.631329       .027550                    
+P  4  17557.626664   2182.985957 -19886.563747    -75.970292                    
+V  4 -17226.176512  18416.237563 -12859.421676      -.090939                    
+P  5   9094.393621 -13948.655282 -20782.937736     19.642959                    
+V  5  25691.148905   5431.243112   7809.613147       .018259                    
+P  6  -5361.079473 -25695.845036  -3353.128791     -1.273700                    
+V  6   4865.035767   3220.028540 -30891.785946      -.011530                    
+P  7  16054.909494  15847.900028 -13750.768852    612.416484                    
+V  7   3270.097471  18032.151888  23741.858371      -.077433                    
+P  8  11806.111367   9470.663284  21643.580840    356.160540                    
+V  8 -20028.928544  19458.764468   2082.971127      -.088714                    
+P  9  14478.660255 -21508.735280  -5144.508462    -32.211059                    
+V  9   6533.586693  -2292.375156  30875.708573      -.016558                    
+P 10  23629.341504  -2234.494903  12157.830711     40.123514                    
+V 10  14463.447764   5473.399973 -26725.467760       .006919                    
+P 11 -12315.421283  22752.205910  -5694.892886     99.668079                    
+V 11  -7997.863933   3006.725033  29468.693857       .025491                    
+P 13   7151.197401  25625.548958    -11.426511    -30.924761                    
+V 13  -1992.138306    592.146965 -32164.002635       .002453                    
+P 14 -15371.788251 -14767.793164 -15786.118234    -18.149052                    
+V 14  -4005.480473 -19773.246383  22338.160937      -.001217                    
+P 15 -16888.850744  -3434.791408  20047.448320    232.520660                    
+V 15  18699.765585 -17908.980868  12308.624316       .054005                    
+P 16 -25368.829186   -548.955031   7934.578801     15.316546                    
+V 16  -9067.298779  -4901.152645 -29584.289629      -.004111                    
+P 17  20194.033124 -16612.702050     90.951322    205.487751                    
+V 17   1939.871316   2506.983897 -32457.251922       .195149                    
+P 18 -12319.970692 -16156.537399  17246.580337    -15.198392                    
+V 18  21283.181836   4746.955013  19475.420403      -.026468                    
+P 20  -4448.812893  14519.701784 -21858.422438   -184.356354                    
+V 20 -26784.876011  -6578.957708   1087.280778       .027613                    
+P 21  -3228.935325 -16667.726582  20276.959021     73.045148                    
+V 21  19793.215612 -16883.425865 -11086.492306       .005303                    
+P 22 -22224.503918 -12436.655742   7622.950892    -40.923791                    
+V 22   9822.815450    291.215205  29797.560267       .089451                    
+P 24  21797.628280  -9796.887641 -11370.583680      7.905728                    
+V 24  -9359.213527  11731.938935 -27264.555223       .030260                    
+P 25 -18690.529598   1800.306086 -18408.777737     61.648517                    
+V 25  13928.693910 -19869.591630 -15797.144281       .008559                    
+P 26  10229.544478 -13455.962677  20058.983737    411.154632                    
+V 26   8154.241790  24896.932387  12984.143795      -.124009                    
+P 27   2099.261051  18570.510747  19157.202087    919.531382                    
+V 27 -16683.070276  16698.517902 -15236.132651       .044392                    
+P 28  22031.597541  12233.471291   9049.703083     21.714198                    
+V 28 -11374.343777   -528.317231  28694.096838       .017115                    
+P 29  12963.327207  -8178.257450  21951.433602    229.664796                    
+V 29   8410.611106  25864.631143   4780.534088       .033773                    
+P 30  -6751.415557 -16354.169021 -20068.952131    803.929781                    
+V 30  24694.958599   4136.289392 -11713.920489       .143214                    
+P 31  -7321.138371  18193.187772  17429.320998     37.164846                    
+V 31  -9618.485587 -21007.577018  17884.860304       .309310                    
+*  2004  2 29  0 30   .00000000                                                 
+P  1  -2391.633431  22417.499460 -13845.431315    332.445216                    
+V  1  -7370.690789 -16364.500062 -24940.097543       .016324                    
+P  3 -15853.371408   3045.487760  21016.302627     89.640857                    
+V  3 -10575.599256 -24861.942864  -4130.598385       .027341                    
+P  4  16010.502782   3924.496269 -20870.477584    -75.978188                    
+V  4 -17079.000951  20239.123330  -8972.462204      -.090957                    
+P  5  11372.874680 -13521.942922 -19904.584212     19.645862                    
+V  5  24857.139631   4060.161410  11682.659341       .018616                    
+P  6  -4864.020289 -25269.419286  -6096.115843     -1.275258                    
+V  6   6234.556989   6217.310251 -29974.552120      -.011359                    
+P  7  16343.810700  17343.841202 -11500.183014    612.409933                    
+V  7   3082.908474  15181.103992  26196.426163      -.077448                    
+P  8  10046.523918  11271.864689  21640.950965    356.152924                    
+V  8 -19007.970559  20500.529557  -2143.151459      -.088741                    
+P  9  14961.032542 -21606.593895  -2328.810403    -32.212261                    
+V  9   4225.277191    174.632406  31604.586440      -.016327                    
+P 10  24807.637065  -1808.749921   9656.046308     40.124602                    
+V 10  11662.982280   4038.783727 -28790.340621       .007205                    
+P 11 -12940.156118  22916.769339  -3000.984850     99.670302                    
+V 11  -5922.560312    600.605379  30309.267492       .025492                    
+P 13   6923.319289  25528.237309  -2897.824373    -30.924861                    
+V 13  -3138.953871  -2726.838615 -31886.515892       .002452                    
+P 14 -15743.067074 -16423.550329 -13645.119210    -18.149148                    
+V 14  -4175.206984 -16977.969717  25170.819427      -.001226                    
+P 15 -15207.786378  -5130.776828  20976.938277    232.527968                    
+V 15  18577.602713 -19735.088500   8314.741688       .054031                    
+P 16 -26046.534032   -938.089311   5211.516493     15.316436                    
+V 16  -5951.970553  -3805.165875 -30841.660452      -.004119                    
+P 17  20248.857370 -16279.562206  -2822.227310    205.505102                    
+V 17   -670.727050   4945.723309 -32182.412408       .195142                    
+P 18 -10303.231652 -15757.361419  18847.441083    -15.200951                    
+V 18  23471.105902   4066.891722  16047.965678      -.026470                    
+P 20  -6861.755783  13994.164716 -21573.964379   -184.353884                    
+V 20 -26746.128951  -5088.063737   5225.061969       .027607                    
+P 21  -1529.933302 -18187.556502  19105.195948     73.045677                    
+V 21  17922.719429 -16810.998158 -14916.489095       .005289                    
+P 22 -21197.035347 -12394.818760  10231.681832    -40.915677                    
+V 22  12990.000087    567.378029  28091.818932       .089447                    
+P 24  20888.661459  -8620.864153 -13718.249539      7.909524                    
+V 24 -10761.682393  14404.971627 -24828.565246       .030320                    
+P 25 -17435.353427    -78.368826 -19662.999042     61.648955                    
+V 25  13890.908935 -21831.097967 -12032.037797       .008614                    
+P 26  11041.008165 -11180.696114  21045.153439    411.143325                    
+V 26   9873.954637  25568.241942   8900.718846      -.123997                    
+P 27    685.263598  20048.271188  17628.352408    919.534767                    
+V 27 -14720.394196  16059.207497 -18694.228090       .044372                    
+P 28  20869.085873  12182.808087  11548.950591     21.715451                    
+V 28 -14431.789105   -529.121004  26767.151346       .017096                    
+P 29  13790.131716  -5856.897756  22196.136958    229.667942                    
+V 29   9938.906256  25633.731154    650.193331       .033761                    
+P 30  -4468.800544 -16028.595017 -20951.319222    803.941904                    
+V 30  25953.248147   3063.519921  -7866.752985       .143204                    
+P 31  -8261.847421  16243.533980  18878.605900     37.192947                    
+V 31 -11289.416352 -22232.286284  14273.685769       .309283                    
+*  2004  2 29  0 45   .00000000                                                 
+P  1  -3138.713068  20847.972463 -15962.923168    332.448099                    
+V  1  -9258.101295 -18435.303479 -22046.175116       .016361                    
+P  3 -16844.581391    857.119019  20463.711787     89.642222                    
+V  3 -11402.940051 -23697.444095  -8130.120079       .027463                    
+P  4  14496.354463   5816.724073 -21496.687233    -75.986486                    
+V  4 -16500.750124  21752.183262  -4921.623724      -.090973                    
+P  5  13553.763249 -13214.974077 -18685.848535     19.647884                    
+V  5  23526.519350   2783.999977  15362.817520       .018907                    
+P  6  -4229.971991 -24584.914496  -8732.796966     -1.273847                    
+V  6   7899.835003   8942.106568 -28532.602927      -.011238                    
+P  7  16597.548209  18576.541242  -9049.414162    612.402345                    
+V  7   2486.820344  12198.208042  28184.566497      -.077463                    
+P  8   8395.360538  13147.698827  21258.634982    356.144697                    
+V  8 -17631.312178  21107.476913  -6341.884187      -.088765                    
+P  9  15247.392131 -21468.097024    527.734389    -32.214372                    
+V  9   2189.289650   2947.969955  31781.045134      -.016162                    
+P 10  25719.440629  -1497.403024   6990.322028     40.124636                    
+V 10   8554.953873   2940.687416 -30363.723953       .007498                    
+P 11 -13389.166151  22852.358326   -255.007449     99.672467                    
+V 11  -4102.974991  -2070.344814  30624.060955       .025494                    
+P 13   6574.725355  25141.111646  -5734.621733    -30.924655                    
+V 13  -4667.208425  -5832.997601 -31063.411910       .002456                    
+P 14 -16110.271804 -17817.429173 -11268.450020    -18.149307                    
+V 14  -3910.418968 -13969.611175  27567.753859      -.001234                    
+P 15 -13558.622092  -6977.812055  21539.414708    232.531652                    
+V 15  17998.013081 -21251.675940   4164.737701       .053704                    
+P 16 -26434.164154  -1245.105619   2398.955159     15.316072                    
+V 16  -2636.245077  -3082.637623 -31570.163158      -.004128                    
+P 17  20083.563677 -15714.755958  -5684.411201    205.522733                    
+V 17  -2939.800396   7641.220580 -31325.579086       .195142                    
+P 18  -8107.395675 -15433.779298  20126.862423    -15.203468                    
+V 18  25251.994596   3077.841258  12342.280626      -.026476                    
+P 20  -9246.877719  13604.575203 -20920.572923   -184.351294                    
+V 20 -26166.714324  -3573.010432   9274.169080       .027605                    
+P 21     -8.672209 -19678.998130  17599.527458     73.046449                    
+V 21  15858.196562 -16248.918261 -18495.402167       .005279                    
+P 22 -19891.286920 -12347.065108  12665.146988    -40.907814                    
+V 22  15991.253441    426.226696  25908.621646       .089439                    
+P 24  19874.888918  -7204.935412 -15826.463793      7.911631                    
+V 24 -11686.008059  17046.515375 -21950.802489       .030150                    
+P 25 -16202.737278  -2119.477878 -20567.955992     61.650225                    
+V 25  13434.638011 -23465.831034  -8047.472185       .008686                    
+P 26  12004.633599  -8870.971865  21656.871675    411.131962                    
+V 26  11519.646250  25663.833113   4675.962873      -.123982                    
+P 27   -548.337260  21446.420197  15801.074039    919.538730                    
+V 27 -12688.681620  14928.899679 -21857.995242       .044353                    
+P 28  19440.144569  12150.130349  13854.341714     21.717068                    
+V 28 -17280.479594   -133.786675  24392.153785       .017075                    
+P 29  14746.718445  -3579.496603  22068.204023    229.671270                    
+V 29  11280.340087  24893.034338  -3488.957526       .033747                    
+P 30  -2094.189114 -15807.907956 -21480.982825    803.954988                    
+V 30  26733.455940   1818.560441  -3886.829364       .143197                    
+P 31  -9352.475004  14207.044620  19991.013451     37.221027                    
+V 31 -12935.043033 -22935.372048  10410.303127       .309249                    
+*  2004  2 29  1  0   .00000000                                                 
+P  1  -4061.616329  19113.960706 -17802.088700    332.449861                    
+V  1 -11262.755819 -20012.858108 -18764.025468       .016290                    
+P  3 -17896.264122  -1208.152429  19557.341338     89.646004                    
+V  3 -11909.477497 -22136.713060 -11981.074112       .027774                    
+P  4  13051.760076   7828.342070 -21753.510324    -75.995001                    
+V  4 -15543.211449  22880.749164   -775.542502      -.090991                    
+P  5  15593.723128 -13015.581397 -17146.972110     19.650663                    
+V  5  21732.267507   1682.296065  18786.606157       .019081                    
+P  6  -3435.058708 -23670.194724 -11216.947766     -1.276037                    
+V  6   9797.754205  11322.200416 -26589.746358      -.011190                    
+P  7  16779.081764  19538.433763  -6441.869896    612.395766                    
+V  7   1479.437851   9179.094496  29676.058967      -.077480                    
+P  8   6881.267419  15056.630311  20502.500212    356.136589                    
+V  8 -15975.653937  21229.002845 -10437.712146      -.088790                    
+P  9  15365.170337 -21069.118103   3374.922476    -32.214919                    
+V  9    488.321710   5948.958382  31396.020224      -.015819                    
+P 10  26340.879965  -1267.845161   4206.077645     40.126099                    
+V 10   5225.555103   2228.050835 -31420.663210       .007783                    
+P 11 -13688.002887  22538.336248   2495.393331     99.674857                    
+V 11  -2593.281268  -4933.365894  30407.408143       .025497                    
+P 13   6073.355941  24487.275734  -8473.293544    -30.924602                    
+V 13  -6523.818569  -8640.289534 -29709.104415       .002458                    
+P 14 -16433.350777 -18934.618789  -8697.238108    -18.149418                    
+V 14  -3193.210601 -10845.945516  29487.810777      -.001243                    
+P 15 -11980.349047  -8944.431820  21724.106541    232.536161                    
+V 15  17012.087391 -22380.474742    -68.014096       .053562                    
+P 16 -26517.849063  -1505.068309   -454.835210     15.315759                    
+V 16    786.305220  -2762.977614 -31756.393426      -.004140                    
+P 17  19731.841560 -14899.106811  -8443.818498    205.540443                    
+V 17  -4804.541514  10504.259954 -29902.030156       .195141                    
+P 18  -5771.887548 -15210.519223  21062.561945    -15.205997                    
+V 18  26566.228206   1850.149989   8420.403806      -.026478                    
+P 20 -11555.820421  13349.040849 -19909.342491   -184.349201                    
+V 20 -25056.436967  -2123.906975  13165.742030       .027602                    
+P 21   1321.448792 -21097.278333  15785.513109     73.047151                    
+V 21  13690.627062 -15184.702270 -21758.173949       .005261                    
+P 22 -18326.298468 -12329.739685  14882.070435    -40.899928                    
+V 22  18736.494166   -102.428481  23286.877437       .089432                    
+P 24  18799.654665  -5556.438954 -17657.589392      7.915463                    
+V 24 -12128.489761  19556.540798 -18679.809861       .030002                    
+P 25 -15028.141069  -4290.165842 -21107.135401     61.651285                    
+V 25  12611.432380 -24699.267605  -3916.059189       .008663                    
+P 26  13109.501769  -6577.970599  21884.933342    411.121087                    
+V 26  12997.449599  25201.277128    388.087034      -.123974                    
+P 27  -1599.232976  22720.911692  13704.473072    919.543032                    
+V 27 -10674.705114  13313.821869 -24669.913553       .044330                    
+P 28  17767.371817  12169.461130  15927.266272     21.718987                    
+V 28 -19837.073834    618.864776  21608.305135       .017050                    
+P 29  15812.512029  -1390.265150  21569.892567    229.674575                    
+V 29  12352.717404  23682.395835  -7569.204126       .033723                    
+P 30    328.049561 -15703.982918 -21648.928755    803.967280                    
+V 30  27008.491012    482.762922    160.379141       .143192                    
+P 31 -10586.709620  12130.878358  20747.043534     37.248497                    
+V 31 -14465.921174 -23115.396990   6366.459430       .309208                    
+*  2004  2 29  1 15   .00000000                                                 
+P  1  -5166.723461  17261.425909 -19330.511010    332.453542                    
+V  1 -13291.103711 -21065.469703 -15150.861058       .016190                    
+P  3 -18977.051988  -3117.619743  18313.559150     89.649934                    
+V  3 -12041.988488 -20247.329268 -15617.485417       .027876                    
+P  4  11707.997565   9921.844055 -21635.556180    -76.003275                    
+V  4 -14272.003672  23562.652389   3394.793225      -.091002                    
+P  5  17453.118937 -12904.758500 -15313.744389     19.653569                    
+V  5  19523.412771    826.975014  21894.398174       .019108                    
+P  6  -2461.633597 -22559.040026 -13504.908775     -1.277777                    
+V  6  11853.459554  13298.767868 -24179.098868      -.010966                    
+P  7  16851.940640  20230.524739  -3723.259924    612.388685                    
+V  7     75.742716   6218.024585  30649.986561      -.077496                    
+P  8   5525.528745  16953.348603  19385.162912    356.128882                    
+V  8 -14127.334985  20832.144252 -14356.430256      -.088814                    
+P  9  15346.797155 -20393.150656   6162.209583    -32.216633                    
+V  9   -829.650621   9087.467556  30451.083409      -.015718                    
+P 10  26656.212971  -1083.807997   1350.598076     40.126489                    
+V 10   1768.713545   1932.996172 -31944.705300       .007992                    
+P 11 -13866.470394  21961.028367   5202.487227     99.677433                    
+V 11  -1433.507912  -7906.996746  29663.106126       .025499                    
+P 13   5392.609203  23597.066433 -11067.016026    -30.924112                    
+V 13  -8640.969728 -11074.506856 -27846.929357       .002462                    
+P 14 -16671.486990 -19769.251664  -5975.942601    -18.149460                    
+V 14  -2024.550921  -7707.306646  30898.211004      -.001251                    
+P 15 -10506.663176 -10992.692942  21526.956685    232.539374                    
+V 15  15686.007857 -23056.316707  -4307.928492       .053586                    
+P 16 -26292.359929  -1754.895865  -3300.793944     15.315675                    
+V 16   4217.809146  -2857.837355 -31396.220823      -.004149                    
+P 17  19232.241506 -13821.907155 -11050.575766    205.557858                    
+V 17  -6220.108439  13436.524609 -27938.816163       .195142                    
+P 18  -3340.813576 -15105.512052  21638.026577    -15.208281                    
+V 18  27369.729141    464.027730   4348.338853      -.026476                    
+P 20 -13741.936837  13217.683733 -18557.457812   -184.346617                    
+V 20 -23443.410881   -827.511525  16833.486261       .027603                    
+P 21   2455.347972 -22397.365077  13694.340813     73.047430                    
+V 21  11513.236738 -13625.150823 -24645.009757       .005248                    
+P 22 -16528.854967 -12375.759082  16845.000984    -40.891726                    
+V 22  21144.211391   -972.490664  20272.536943       .089423                    
+P 24  17705.768882  -3691.641479 -19178.717403      7.918368                    
+V 24 -12104.657444  21837.319937 -15071.969637       .029804                    
+P 25 -13941.725752  -6551.468510 -21270.711812     61.653329                    
+V 25  11487.067994 -25470.663048    286.463025       .008617                    
+P 26  14336.502290  -4350.372128  21727.175690    411.109660                    
+V 26  14219.835177  24218.318081  -3884.903032      -.123975                    
+P 27  -2472.874531  23829.081384  11372.646145    919.546638                    
+V 27  -8763.566528  11238.452693 -27076.799569       .044305                    
+P 28  15880.464432  12270.649725  17732.930609     21.720292                    
+V 28 -22027.630161   1675.205565  18461.116246       .017027                    
+P 29  16959.939537    670.884613  20709.519509    229.677327                    
+V 29  13083.227933  22057.198073 -11523.767633       .033689                    
+P 30   2751.856874 -15721.188213 -21452.095286    803.980265                    
+V 30  26768.019739   -858.943368   4208.223025       .143189                    
+P 31 -11950.302047  10061.441742  21133.808591     37.274983                    
+V 31 -15795.734817 -22790.419835   2217.077107       .309176                    
+*  2004  2 29  1 30   .00000000                                                 
+P  1  -6451.824520  15338.309175 -20521.212143    332.454529                    
+V  1 -15246.449733 -21580.981706 -11270.149419       .015946                    
+P  3 -20051.418480  -4845.137365  16754.487241     89.653072                    
+V  3 -11761.584990 -18107.030315 -18977.635229       .027893                    
+P  4  10489.910588  12054.790363 -21143.884703    -76.011616                    
+V  4 -12764.024287  23750.819804   7517.229690      -.091011                    
+P  5  19097.388741 -12857.479893 -13217.107512     19.655802                    
+V  5  16963.338225    279.406895  24631.491511       .019022                    
+P  6  -1299.206070 -21289.834568 -15556.400134     -1.277913                    
+V  6  13983.306681  14828.647996 -21342.538106      -.010749                    
+P  7  16781.758629  20662.108931   -940.756210    612.381784                    
+V  7  -1692.659703   3404.365509  31094.759793      -.077511                    
+P  8   4341.356408  18790.432467  17925.801143    356.120413                    
+V  8 -12178.779829  19903.159387 -18026.680899      -.088830                    
+P  9  15228.275243 -19432.188569   8839.685951    -32.216554                    
+V  9  -1733.513326  12265.344232  28958.800400      -.015615                    
+P 10  26658.372081   -906.935465  -1527.739968     40.128203                    
+V 10  -1717.312022   2069.659974 -31928.041366       .008086                    
+P 11 -13957.280395  21114.368490   7819.309598     99.679552                    
+V 11   -648.042579 -10904.156203  28404.344315       .025498                    
+P 13   4512.554436  22506.864462 -13471.452406    -30.924113                    
+V 13 -10938.701904 -13075.951862 -25508.738614       .002463                    
+P 14 -16784.804685 -20324.462384  -3151.574710    -18.149895                    
+V 14   -424.333145  -4652.772354  31775.098846      -.001258                    
+P 15  -9164.723970 -13079.484859  20950.754757    232.545675                    
+V 15  14098.347458 -23229.962146  -8478.695620       .053854                    
+P 16 -25761.334146  -2031.734948  -6089.911630     15.315523                    
+V 16   7559.723093  -3360.612141 -30494.923788      -.004158                    
+P 17  18626.470552 -12481.552217 -13457.750394    205.575110                    
+V 17  -7161.422431  16334.766551 -25474.099019       .195145                    
+P 18   -861.480712 -15129.142868  21842.823589    -15.210473                    
+V 18  27635.686237   -993.603993    195.022409      -.026486                    
+P 20 -15761.899519  13193.098491 -16887.913501   -184.344061                    
+V 20 -21373.070749    236.214460  20214.766459       .027600                    
+P 21   3396.292854 -23535.709930  11362.294445     73.047625                    
+V 21   9417.703982 -11596.368035 -27102.667309       .005237                    
+P 22 -14532.579976 -12513.229447  18520.908418    -40.883377                    
+V 22  23144.402359  -2123.529767  16917.746151       .089417                    
+P 24  16633.798262  -1635.352290 -20362.330544      7.920590                    
+V 24 -11648.669502  23797.395896 -11190.535925       .029613                    
+P 25 -12967.197484  -8859.675060 -21055.755748     61.654295                    
+V 25  10138.686305 -25735.661803   4482.866930       .008482                    
+P 26  15659.068744  -2232.621638  21188.386096    411.098847                    
+V 26  15109.203054  22770.928683  -8066.823536      -.123966                    
+P 27  -3182.170648  24731.278810   8844.236266    919.550374                    
+V 27  -7035.332696   8745.169728 -29031.009331       .044286                    
+P 28  13815.251875  12478.128018  19240.897621     21.721730                    
+V 28 -23790.211268   2968.859916  15001.778624       .017008                    
+P 29  18155.403688   2569.648678  19501.335159    229.680393                    
+V 29  13411.241066  20086.296829 -15287.726455       .033662                    
+P 30   5131.016026 -15856.209651 -20893.436749    803.993686                    
+V 30  26018.879348  -2121.314774   8189.820975       .143185                    
+P 31 -13421.514766   8042.672005  21145.244227     37.301350                    
+V 31 -16844.985876 -21997.026115  -1961.421235       .309167                    
+*  2004  2 29  1 45   .00000000                                                 
+P  1  -7906.012756  13392.748012 -21353.163872    332.455252                    
+V  1 -17032.886657 -21567.187628  -7190.431327       .015721                    
+P  3 -21081.042746  -6371.898429  14907.572888     89.654456                    
+V  3 -11045.265961 -15800.623078 -22005.059740       .028021                    
+P  4   9415.026411  14181.263345 -20286.055144    -76.019698                    
+V  4 -11104.424180  23415.327928  11519.705257      -.091020                    
+P  5  20498.238270 -12843.769636 -10892.666596     19.657543                    
+V  5  14127.522382     87.841539  26949.131802       .018860                    
+P  6     54.915159 -19904.078074 -17335.277871     -1.281255                    
+V  6  16098.204790  15885.983679 -18129.954097      -.010574                    
+P  7  16537.712480  20850.181330   1857.840695    612.374886                    
+V  7  -3778.920723    819.358125  31007.959702      -.077527                    
+P  8   3333.513429  20520.121579  16149.830277    356.111455                    
+V  8 -10224.662531  18448.317197 -21381.460935      -.088840                    
+P  9  15047.591566 -18187.276424  11359.071388    -32.216758                    
+V  9  -2210.462948  15380.290512  26942.805294      -.015791                    
+P 10  26349.196220   -698.428578  -4380.246325     40.128499                    
+V 10  -5133.449774   2633.723621 -31371.552923       .008092                    
+P 11 -13994.600818  20000.257067  10300.496602     99.681832                    
+V 11   -244.768908 -13835.452622  26653.448906       .025498                    
+P 13   3420.890974  21257.688494 -15645.496083    -30.923442                    
+V 13 -13327.959884 -14601.559855 -22734.361623       .002468                    
+P 14 -16736.046738 -20612.104811   -272.876038    -18.149658                    
+V 14   1569.320992  -1776.414961  32103.926826      -.001260                    
+P 15  -7974.181676 -15158.067360  20005.133040    232.550506                    
+V 15  12336.826154 -22870.300051 -12504.826353       .053978                    
+P 16 -24937.170473  -2371.321704  -8774.076862     15.314865                    
+V 16  10716.501562  -4246.658016 -29067.161036      -.004165                    
+P 17  17957.567037 -10885.787020 -15622.308213    205.592401                    
+V 17  -7624.044100  19095.199245 -22556.157452       .195151                    
+P 18   1617.211627 -15283.799836  21672.815364    -15.212722                    
+V 18  27355.649678  -2432.547166  -3968.780160      -.026480                    
+P 20 -17577.190474  13251.110024 -14929.137284   -184.341327                    
+V 20 -18906.534451    997.298332  23251.651394       .027596                    
+P 21   4155.590810 -24471.955934   8830.110248     73.048379                    
+V 21   7490.398403  -9142.973312 -29085.631403       .005224                    
+P 22 -12376.784301 -12764.264293  19881.700386    -40.875546                    
+V 22  24681.058611  -3483.257053  13279.932280       .089408                    
+P 24  15620.446254    579.813104 -21186.870718      7.923233                    
+V 24 -10811.921669  25355.358139  -7104.472060       .029439                    
+P 25 -12120.932602 -11167.894696 -20466.292172     61.654358                    
+V 25   8651.437901 -25468.208061   8596.118224       .008395                    
+P 26  17044.215381   -263.403176  20280.070933    411.087703                    
+V 26  15600.966543  20930.671252 -12084.776949      -.123969                    
+P 27  -3746.885433  25392.435582   6161.879367    919.554129                    
+V 27  -5561.743292   5893.180414 -30491.657529       .044270                    
+P 28  11612.513841  12809.873173  20425.567442     21.722923                    
+V 28 -25077.076222   4423.218276  11286.475091       .016989                    
+P 29  19360.489367   4278.433321  17965.315034    229.683230                    
+V 29  13290.680822  17849.498189 -18798.925839       .033632                    
+P 30   7420.693463 -16098.170482 -19981.901133    804.006661                    
+V 30  24784.889664  -3222.082672  12039.023708       .143181                    
+P 31 -14971.889912   6114.443059  20782.168719     37.329059                    
+V 31 -17544.356212 -20788.572794  -6092.785473       .309179                    
+*  2004  2 29  2  0   .00000000                                                 
+P  1  -9509.932851  11471.292604 -21811.686504    332.456368                    
+V  1 -18559.220575 -21051.434371  -2984.019265       .015577                    
+P  3 -22026.285810  -7686.923043  12805.075302     89.656881                    
+V  3  -9886.840510 -13416.669073 -24649.426145       .028214                    
+P  4   8492.963334  16253.479689 -19076.059242    -76.027532                    
+V  4  -9383.218531  22544.819786  15331.558185      -.091031                    
+P  5  21634.609198 -12829.979737  -8380.110985     19.659105                    
+V  5  11100.791718    285.329332  28805.464340       .018764                    
+P  6   1595.292364 -18444.780876 -18810.214250     -1.281444                    
+V  6  18107.212457  16463.157309 -14598.313966      -.010277                    
+P  7  16093.810846  20818.575064   4624.914062    612.367941                    
+V  7  -6122.875253  -1466.713047  30396.027052      -.077541                    
+P  8   2498.289052  22096.121637  14088.445997    356.102963                    
+V  8  -8357.956557  16493.847870 -24359.551513      -.088846                    
+P  9  14843.033534 -16668.696737  13674.703181    -32.218810                    
+V  9  -2266.666981  18330.023810  24437.564052      -.016236                    
+P 10  25739.344076   -420.702082  -7158.702956     40.128874                    
+V 10  -8383.362084   3602.626303 -30284.793874       .008152                    
+P 11 -14012.556573  18628.616179  12603.089295     99.683956                    
+V 11   -214.871148 -16612.586682  24441.449345       .025500                    
+P 13   2113.615923  19893.626081 -17551.959732    -30.923031                    
+V 13 -15713.993213 -15626.391100 -19570.944021       .002470                    
+P 14 -16492.156933 -20652.140303   2610.530110    -18.149973                    
+V 14   3901.471694    836.235549  31879.670700      -.001265                    
+P 15  -6946.515899 -17179.773881  18706.422316    232.556294                    
+V 15  10494.659354 -21965.811523 -16313.213313       .053942                    
+P 16 -23840.597187  -2806.394789 -11306.912924     15.314543                    
+V 16  13599.169331  -5474.220930 -27136.775806      -.004168                    
+P 17  17268.039577  -9051.556422 -17505.968287    205.610369                    
+V 17  -7624.091181  21617.888194 -19242.105684       .195160                    
+P 18   4046.448005 -15563.740331  21130.272010    -15.215156                    
+V 18  26539.946270  -3762.920527  -8071.638472      -.026489                    
+P 20 -19155.416529  13361.802528 -12714.521972   -184.339090                    
+V 20 -16118.374255   1398.573860  25891.894239       .027591                    
+P 21   4751.948850 -25170.538834   6142.234204     73.048913                    
+V 21   5808.818220  -6326.526257 -30557.133616       .005208                    
+P 22 -10105.114383 -13144.044827  20904.654592    -40.867593                    
+V 22  25714.118479  -4970.422489   9420.838335       .089402                    
+P 24  14697.092446   2914.493946 -21637.194003      7.927176                    
+V 24  -9660.912340  26443.251831  -2887.117082       .029265                    
+P 25 -11411.421216 -13427.760231 -19513.207561     61.655511                    
+V 25   7114.786426 -24661.666793  12551.048036       .008328                    
+P 26  18453.824194   1525.623545  19020.100668    411.076326                    
+V 26  15646.016964  18781.511592 -15870.433648      -.123974                    
+P 27  -4192.748253  25783.504763   3371.541983    919.558170                    
+V 27  -4403.132633   2756.729145 -31425.810007       .044254                    
+P 28   9316.621910  13276.614107  21266.593403     21.724767                    
+V 28 -25856.386853   5954.325952   7375.630723       .016968                    
+P 29  20533.361920   5777.212180  16126.870448    229.686401                    
+V 29  12691.900245  15434.646586 -21998.872884       .033600                    
+P 30   9578.936247 -16429.044405 -18732.320326    804.019471                    
+V 30  23106.063604  -4085.157904  15691.390919       .143178                    
+P 31 -16567.299390   4311.161339  20052.194202     37.356679                    
+V 31 -17837.593225 -19232.744076 -10102.552778       .309193                    
+*  2004  2 29  2 15   .00000000                                                 
+P  1 -11236.375850   9617.193839 -21888.726318    332.457012                    
+V  1 -19742.722156 -20079.429733   1274.392817       .015485                    
+P  3 -22847.720566  -8787.242987  10483.479304     89.660211                    
+V  3  -8297.198223 -11044.074585 -26867.277921       .028366                    
+P  4   7725.154768  18223.498726 -17534.135363    -76.035339                    
+V  4  -7691.662408  21147.211173  18884.858804      -.091046                    
+P  5  22493.381756 -12780.230302  -5722.553899     19.659685                    
+V  5   7974.182315    888.219518  30166.391284       .018691                    
+P  6   3308.358397 -16954.808275 -19955.286356     -1.280891                    
+V  6  19921.233045  16570.976845 -10810.562066      -.010045                    
+P  7  15429.988744  20596.866036   7313.809563    612.360589                    
+V  7  -8653.419769  -3396.861207  29273.826111      -.077557                    
+P  8   1823.827878  23475.366855  11778.043819    356.094852                    
+V  8  -6666.047254  14085.047462 -26906.825005      -.088850                    
+P  9  14651.483521 -14895.777341  15744.488197    -32.220338                    
+V  9  -1927.078009  21016.524034  21487.814412      -.016700                    
+P 10  24847.892235    -38.993873  -9816.134176     40.130401                    
+V 10 -11376.880502   4936.384427 -28685.800782       .008170                    
+P 11 -14043.743106  17017.139283  14687.291119     99.686036                    
+V 11   -533.311800 -19151.709124  21807.478270       .025498                    
+P 13    595.374881  18460.160818 -19158.199733    -30.922753                    
+V 13 -17999.978952 -16144.437507 -16072.173579       .002470                    
+P 14 -16025.705220 -20471.722377   5448.999075    -18.150409                    
+V 14   6502.427929   3111.378831  31106.873172      -.001262                    
+P 15  -6084.715323 -19095.810375  17077.368226    232.561694                    
+V 15   8666.656686 -20525.220767 -19834.661625       .053884                    
+P 16 -22499.928448  -3365.222986 -13644.589295     15.314011                    
+V 16  16128.654907  -6986.046903 -24736.432700      -.004171                    
+P 17  16598.056013  -7004.468398 -19075.931728    205.628149                    
+V 17  -7197.217940  23810.919431 -15596.386516       .195169                    
+P 18   6379.179111 -15955.282530  20223.877133    -15.217477                    
+V 18  25217.388646  -4898.776223 -12042.664775      -.026485                    
+P 20 -20471.400390  13490.781121 -10281.872706   -184.336765                    
+V 20 -13093.876426   1398.016038  28089.832509       .027587                    
+P 21   5210.527810 -25602.113214   3345.995990     73.049443                    
+V 21   4438.387921  -3223.223593 -31489.980773       .005196                    
+P 22  -7764.051378 -13660.155963  21572.762356    -40.859668                    
+V 22  26220.824135  -6498.024379   5405.521124       .089395                    
+P 24  13888.554561   5323.929519 -21704.899137      7.929813                    
+V 24  -8274.446987  27009.461953   1385.286002       .028966                    
+P 25 -10839.052233 -15591.195048 -18214.009023     61.657614                    
+V 25   5618.647239 -23329.106397  16275.959659       .008192                    
+P 26  19846.123071   3110.781008  17432.248576    411.065765                    
+V 26  15212.495716  16416.247343 -19361.112785      -.123984                    
+P 27  -4550.301746  25882.707189    521.754720    919.562207                    
+V 27  -3605.713050   -577.392743 -31809.597651       .044236                    
+P 28   6974.051765  13881.311359  21749.227878     21.726474                    
+V 28 -26113.368918   7474.053579   3333.103731       .016944                    
+P 29  21630.309022   7054.107181  14016.479344    229.689028                    
+V 29  11602.987693  12934.416481 -24833.612879       .033568                    
+P 30  11568.071958 -16824.348978 -17165.212038    804.032284                    
+V 30  21037.235348  -4643.638960  19085.175468       .143173                    
+P 31 -18169.228621   2660.607882  18969.496984     37.385146                    
+V 31 -17683.798769 -17408.547167 -13919.555487       .309203                    
+*  2004  2 29  2 30   .00000000                                                 
+P  1 -13051.197817   7868.832759 -21583.005156    332.457890                    
+V  1 -20512.543758 -18713.303073   5509.174276       .015410                    
+P  3 -23507.656699  -9677.780123   7982.847980     89.662465                    
+V  3  -6303.927889  -8768.715702 -28622.644730       .028480                    
+P  4   7104.904747  20044.960477 -15686.462754    -76.043797                    
+V  4  -6118.534386  19249.639923  22115.736235      -.091063                    
+P  5  23069.781608 -12657.956092  -2965.800111     19.661998                    
+V  5   4841.527239   1895.307468  31006.309677       .018651                    
+P  6   5172.747373 -15475.242416 -20750.459306     -1.282227                    
+V  6  21456.650591  16238.101848  -6834.383361      -.009902                    
+P  7  14532.971630  20219.091238   9879.569993    612.353942                    
+V  7 -11291.236305  -4929.187926  27664.110708      -.077572                    
+P  8   1290.799413  24619.664943   9259.528108    356.086708                    
+V  8  -5227.083267  11284.571185 -28977.386905      -.088853                    
+P  9  14506.768858 -12896.320380  17530.790120    -32.222939                    
+V  9  -1234.388457  23350.159770  18147.686574      -.017091                    
+P 10  23701.633298    477.130407 -12307.560185     40.130573                    
+V 10 -14033.216397   6579.111588 -26600.832970       .008176                    
+P 11 -14117.812464  15190.745882  16517.164454     99.688352                    
+V 11  -1159.959446 -21376.598064  18798.020466       .025495                    
+P 13  -1120.518377  17002.458938 -20436.666284    -30.922395                    
+V 13 -20090.732412 -16168.715010 -12297.404700       .002473                    
+P 14 -15316.100484 -20104.014882   8193.721470    -18.150437                    
+V 14   9290.386715   4989.659792  29799.518388      -.001257                    
+P 15  -5383.313338 -20859.074661  15146.712969    232.565286                    
+V 15   6945.244084 -18577.296112 -23005.342802       .053793                    
+P 16 -20950.036415  -4070.306292 -15746.593063     15.313515                    
+V 16  18238.752779  -8711.614505 -21907.090487      -.004171                    
+P 17  15983.763892  -4777.899768 -20305.467364    205.645549                    
+V 17  -6396.729271  25594.145608 -11689.109183       .195174                    
+P 18   8571.745832 -16437.318359  18968.623618    -15.219862                    
+V 18  23434.277910  -5761.600677 -15812.747189      -.026490                    
+P 20 -21508.005719  13600.618379  -7672.777413   -184.333955                    
+V 20  -9925.888796    970.501501  29807.191890       .027585                    
+P 21   5561.730130 -25744.742040    490.718122     73.049769                    
+V 21   3429.763202     79.036144 -31867.162160       .005180                    
+P 22  -5401.316479 -14312.220833  21874.980825    -40.851089                    
+V 22  26196.442943  -7976.712859   1301.325557       .089392                    
+P 24  13212.127530   7759.535104 -21388.518796      7.932201                    
+V 24  -6740.298802  27020.934466   5635.160106       .028663                    
+P 25 -10396.246543 -17612.167405 -16592.443691     61.656201                    
+V 25   4249.541797 -21502.737711  19704.118756       .008019                    
+P 26  21177.290716   4476.999166  15545.641463    411.053750                    
+V 26  14286.836177  13932.716324 -22500.656356      -.123996                    
+P 27  -4853.527072  25676.524587  -2337.248828    919.565749                    
+V 27  -3199.365259  -4012.969417 -31629.193711       .044219                    
+P 28   4631.817183  14618.931165  21864.592590     21.727810                    
+V 28 -25850.883342   8893.446910   -774.684151       .016925                    
+P 29  22607.372537   8105.671213  11669.239338    229.691713                    
+V 29  10030.452854  10442.911086 -27254.580530       .033534                    
+P 30  13355.960263 -17254.096850 -15306.493133    804.045223                    
+V 30  18646.143951  -4842.515865  22162.306617       .143169                    
+P 31 -19736.236085   1183.070384  17554.458536     37.413274                    
+V 31 -17059.035508 -15402.899171 -17477.281466       .309208                    
+*  2004  2 29  2 45   .00000000                                                 
+P  1 -14914.525469   6258.355190 -20900.038876    332.458906                    
+V  1 -20812.656797 -17029.001575   9645.221119       .015375                    
+P  3 -23971.602813 -10370.927354   5346.126617     89.664957                    
+V  3  -3950.309984  -6670.223131 -29887.515516       .028605                    
+P  4   6617.776364  21674.784368 -13564.737863    -76.052723                    
+V  4  -4746.480884  16897.642614  24965.666423      -.091078                    
+P  5  23367.471937 -12427.499085   -157.553511     19.664686                    
+V  5   1795.898489   3287.674018  31308.709617       .018443                    
+P  6   7159.944000 -14043.829220 -21181.953220     -1.281931                    
+V  6  22638.749159  15509.734146  -2740.862656      -.009728                    
+P  7  13396.882832  19722.332232  12279.618503    612.346863                    
+V  7 -13951.752950  -6038.084509  25596.917909      -.077585                    
+P  8    873.378972  25497.154652   6577.527140    356.078757                    
+V  8  -4106.732521   8169.990444 -30534.516478      -.088852                    
+P  9  14438.143440 -10705.673246  19001.223937    -32.225138                    
+V  9   -247.161271  25253.484849  14479.526843      -.017227                    
+P 10  22334.099469   1152.435543 -14590.720923     40.131937                    
+V 10 -16283.834892   8461.095976 -24063.999305       .008207                    
+P 11 -14260.188358  13180.763149  18061.253488     99.690697                    
+V 11  -2041.316978 -23221.529324  15466.029801       .025493                    
+P 13  -3012.394972  15563.679942 -21365.370602    -30.922055                    
+V 13 -21896.367985 -15730.638521  -8310.693664       .002479                    
+P 14 -14350.543905 -19586.790931  10797.561096    -18.150335                    
+V 14  12174.539238   6428.309988  27980.742710      -.001253                    
+P 15  -4828.778410 -22425.919587  12948.651313    232.570197                    
+V 15   5416.587998 -16169.804673 -25768.126773       .053916                    
+P 16 -19231.077976  -4937.302860 -17576.445752     15.313002                    
+V 16  19878.595522 -10569.905409 -18697.317995      -.004167                    
+P 17  15455.815309  -2411.790235 -21174.343592    205.663324                    
+V 17  -5290.948121  26902.341473  -7594.305789       .195177                    
+P 18  10585.382683 -16982.131078  17385.598055    -15.222039                    
+V 18  21252.726336  -6283.560980 -19315.787375      -.026491                    
+P 20 -22256.664252  13652.430707  -4931.909830   -184.331287                    
+V 20  -6711.372414    108.923272  31013.778498       .027581                    
+P 21   5839.772663 -25584.798292  -2373.218731     73.050242                    
+V 21   2816.767180   3484.092057 -31682.213670       .005172                    
+P 22  -3064.240700 -15091.845745  21806.392243    -40.843062                    
+V 22  25654.334735  -9318.264836  -2823.153680       .089385                    
+P 24  12676.942182  10170.643842 -20693.566871      7.932687                    
+V 24  -5151.471713  26464.626766   9785.216427       .028374                    
+P 25 -10067.928947 -19448.357552 -14677.990936     61.657743                    
+V 25   3086.944669 -19232.547064  22775.082731       .008012                    
+P 26  22403.122242   5618.095635  13394.140913    411.042760                    
+V 26  12874.071751  11429.945664 -25240.100649      -.124004                    
+P 27  -5138.298212  25160.386995  -5154.472714    919.569385                    
+V 27  -3196.069345  -7448.010578 -30881.594257       .044209                    
+P 28   2335.880275  15476.524978  21609.867927     21.729208                    
+V 28 -25089.379494  10126.145546  -4879.677487       .016907                    
+P 29  23422.012831   8936.860203   9124.345604    229.694808                    
+V 29   7999.257676   8052.180366 -29219.416924       .033505                    
+P 30  14917.049565 -17683.972809 -13187.104898    804.057971                    
+V 30  16011.028967  -4640.968034  24869.361425       .143162                    
+P 31 -21225.524737   -109.205280  15833.191862     37.440709                    
+V 31 -15957.201626 -13306.968773 -20715.056456       .309212                    
+*  2004  2 29  3  0   .00000000                                                 
+P  1 -16782.199830   4810.566500 -19852.024634    332.462727                    
+V  1 -20604.185294 -15113.134127  13609.401510       .015350                    
+P  3 -24209.611415 -10885.851768   2618.410175     89.668156                    
+V  3  -1293.730236  -4819.042288 -30642.175956       .028809                    
+P  4   6242.300638  23074.759612 -11205.637812    -76.060291                    
+V  4  -3648.576552  14153.576608  27382.686093      -.091096                    
+P  5  23398.325212 -12055.681503   2653.422123     19.666322                    
+V  5  -1073.934767   5029.268599  31066.593338       .018265                    
+P  6   9235.225331 -12693.574183 -21242.486168     -1.282446                    
+V  6  23404.768679  14445.631500   1396.924468      -.009675                    
+P  7  12023.578020  19145.217715  14474.384840    612.339428                    
+V  7 -16548.231189  -6714.827508  23108.911326      -.077600                    
+P  8    540.496766  26083.514375   3779.533659    356.070526                    
+V  8  -3355.488471   4830.725246 -31551.378027      -.088848                    
+P  9  14468.971698  -8365.480048  20129.332593    -32.227021                    
+V  9    962.780094  26664.510603  10552.463515      -.017169                    
+P 10  20784.346405   2004.885751 -16626.761971     40.133560                    
+V 10 -18074.892638  10501.396808 -21116.784525       .008187                    
+P 11 -14490.961090  11023.867317  19293.122466     99.693037                    
+V 11  -3112.776137 -24633.727355  11869.935580       .025496                    
+P 13  -5050.866090  14183.375012 -21928.261769    -30.922441                    
+V 13 -23335.773806 -14878.702383  -4179.757570       .002480                    
+P 14 -13124.686315 -18960.867993  13215.859769    -18.150720                    
+V 14  15058.520969   7402.635828  25682.390314      -.001242                    
+P 15  -4400.242095 -23757.785571  10522.173755    232.575279                    
+V 15   4156.996527 -13367.665865 -28073.751174       .054056                    
+P 16 -17387.024897  -5974.225568 -19102.351917     15.312621                    
+V 16  21014.535454 -12472.606202 -15162.463889      -.004161                    
+P 17  15038.156634     48.816042 -21669.102350    205.680836                    
+V 17  -3959.989637  27687.641340  -3388.177930       .195183                    
+P 18  12387.541587 -17556.488587  15501.654457    -15.224627                    
+V 18  18748.354168  -6410.364125 -22489.918796      -.026485                    
+P 20 -22717.584040  13607.524087  -2106.275782   -184.328982                    
+V 20  -3547.786055  -1175.387883  31688.045123       .027576                    
+P 21   6081.105788 -25117.540032  -5195.331782     73.050443                    
+V 21   2615.051560   6891.310749 -30939.326785       .005165                    
+P 22   -798.157996 -15982.876502  21368.269553    -40.834810                    
+V 22  24625.368229 -10439.007597  -6899.113503       .089378                    
+P 24  12283.671927  12506.341634 -19632.439203      7.936140                    
+V 24  -3602.233520  25348.116343  13760.080202       .028231                    
+P 25  -9832.313984 -21062.668298 -12505.243537     61.658653                    
+V 25   2199.985861 -16584.200411  25435.833982       .007906                    
+P 26  23480.690325   6536.712298  11015.672781    411.031933                    
+V 26  10997.436071   9004.391032 -27538.157448      -.124013                    
+P 27  -5440.728143  24339.013203  -7879.158453    919.573088                    
+V 27  -3589.087470 -10778.785186 -29575.143744       .044195                    
+P 28    129.594178  16433.615432  20988.395936     21.730730                    
+V 28 -23866.220577  11091.754564  -8913.175397       .016892                    
+P 29  24034.745729   9560.692594   6424.497227    229.697884                    
+V 29   5552.176813   5848.777049 -30692.740098       .033477                    
+P 30  16233.198038 -18076.695875 -10842.551941    804.071055                    
+V 30  13217.813083  -4014.164210  27158.510305       .143156                    
+P 31 -22594.558630  -1212.229501  13836.970255     37.468544                    
+V 31 -14390.161621 -11212.439117 -23579.028557       .309218                    
+*  2004  2 29  3 15   .00000000                                                 
+P  1 -18607.399000   3542.130246 -18457.600215    332.462314                    
+V  1 -19867.038913 -13059.398799  17331.948069       .015028                    
+P  3 -24197.457498 -11247.549491   -153.813627     89.670422                    
+V  3   1596.419012  -3273.871133 -30875.413481       .028856                    
+P  4   5950.979555  24212.961464  -8650.179288    -76.068464                    
+V  4  -2885.251264  11094.339778  29322.496592      -.091108                    
+P  5  23181.879436 -11513.299108   5418.170799     19.667440                    
+V  5  -3686.945665   7068.108480  30282.730313       .018006                    
+P  6  11358.856246 -11451.544176 -20931.388641     -1.283869                    
+V  6  23706.467584  13117.533277   5505.351479      -.009675                    
+P  7  10422.700119  18526.399705  16427.870915    612.332646                    
+V  7 -18994.873746  -6967.571620  20242.691944      -.077612                    
+P  8    257.300148  26362.871787    914.992456    356.061874                    
+V  8  -3006.644267   1364.493781 -32011.484337      -.088838                    
+P  9  14615.676187  -5922.168576  20895.124966    -32.227801                    
+V  9   2313.575407  27539.286748   6440.768988      -.017113                    
+P 10  19095.540593   3044.767276 -18380.873308     40.134822                    
+V 10 -19369.152864  12610.867617 -17807.475523       .008071                    
+P 11 -14824.005581   8760.826954  20191.800393     99.695650                    
+V 11  -4301.303644 -25575.302992   8072.561439       .025494                    
+P 13  -7199.757592  12896.033719 -22115.506959    -30.922095                    
+V 13 -24339.770308 -13676.514412     25.129247       .002484                    
+P 14 -11642.964590 -18268.440536  15407.195577    -18.150739                    
+V 14  17844.070950   7906.800683  22944.424844      -.001231                    
+P 15  -4070.532366 -24822.633941   7910.313102    232.580985                    
+V 15   3229.758645 -10250.388305 -29881.793389       .054123                    
+P 16 -15464.054179  -7180.941532 -20297.766963     15.311944                    
+V 16  21631.358639 -14327.616286 -11363.694621      -.004156                    
+P 17  14747.128723   2555.412699 -21783.177315    205.698418                    
+V 17  -2492.117770  27921.176766    852.601757       .195191                    
+P 18  13952.983140 -18122.972045  13348.980178    -15.227169                    
+V 18  16007.441182  -6103.608196 -25278.679573      -.026482                    
+P 20 -22899.629885  13429.045638    755.585302   -184.326716                    
+V 20   -529.440500  -2852.957389  31817.517741       .027576                    
+P 21   6322.746972 -24347.334986  -7925.990386     73.050611                    
+V 21   2821.540798  10199.555765 -29653.200720       .005165                    
+P 22   1355.120635 -16961.956018  20568.048467    -40.827183                    
+V 22  23156.710688 -11263.071428 -10858.578371       .089363                    
+P 24  12024.600069  14717.317663 -18224.169717      7.938926                    
+V 24  -2184.099429  23699.337792  17487.869881       .028077                    
+P 25  -9661.967237 -22424.518195 -10113.196653     61.660420                    
+V 25   1644.648393 -13636.328963  27641.692159       .007767                    
+P 26  24369.940349   7243.922543   8451.521277    411.020712                    
+V 26   8697.305998   6746.398778 -29361.523160      -.124026                    
+P 27  -5795.478370  23226.377452 -10461.818746    919.576732                    
+V 27  -4352.976454 -13904.060743 -27729.755185       .044187                    
+P 28  -1947.765555  17462.879183  20009.691883     21.732110                    
+V 28 -22234.390678  11719.050101 -12806.874052       .016882                    
+P 29  24410.691881   9997.605164   3615.236847    229.700862                    
+V 29   2748.493468   3910.472868 -31646.854031       .033444                    
+P 30  17294.225920 -18393.517980  -8312.357776    804.084254                    
+V 30  10356.964114  -2954.486109  28988.419635       .143145                    
+P 31 -23802.658547  -2130.149550  11601.576743     37.496690                    
+V 31 -12387.155330  -9207.852165 -26022.945431       .309223                    
+*  2004  2 29  3 30   .00000000                                                 
+P  1 -20342.373803   2461.101379 -16741.481695    332.464126                    
+V  1 -18600.780536 -10964.747184  20747.763856       .014910                    
+P  3 -23917.608256 -11485.690243  -2923.433881     89.673810                    
+V  3   4641.266703  -2079.562423 -30584.594622       .028836                    
+P  4   5711.543925  25064.933740  -5942.984374    -76.076837                    
+V  4  -2501.721784   7808.473895  30749.422763      -.091115                    
+P  5  22744.499081 -10776.470098   8088.430300     19.668765                    
+V  5  -5972.945253   9338.282298  28969.740686       .017842                    
+P  6  13487.489291 -10337.923170 -20254.588460     -1.283756                    
+V  6  23512.086089  11606.112957   9511.673896      -.009621                    
+P  7   8611.457378  17903.056760  18108.153400    612.325813                    
+V  7 -21209.852469  -6820.760611  17046.089927      -.077624                    
+P  8    -13.235154  26328.378287  -1965.642255    356.053660                    
+V  8  -3075.018245  -2126.557259 -31908.904361      -.088821                    
+P  9  14886.996937  -3425.241054  21285.459657    -32.229260                    
+V  9   3717.002656  27853.663159   2222.083064      -.017227                    
+P 10  17313.400600   4274.098521 -19822.871987     40.136170                    
+V 10 -20147.307201  14695.504097 -14190.489100       .007922                    
+P 11 -15266.356468   6435.097707  20742.125405     99.697882                    
+V 11  -5528.448057 -26024.606390   4139.980658       .025485                    
+P 13  -9417.310148  11729.834149 -21923.670073    -30.921929                    
+V 13 -24853.833548 -12200.255338   4232.286711       .002488                    
+P 14  -9918.604578 -17551.375100  17334.082209    -18.150690                    
+V 14  20434.758869   7953.875836  19814.210474      -.001227                    
+P 15  -3807.466390 -25596.121699   5159.313452    232.584991                    
+V 15   2682.560174  -6908.909136 -31161.419054       .053948                    
+P 16 -13508.861204  -8548.995932 -21141.873092     15.311392                    
+V 16  21732.780546 -16042.723284  -7366.917994      -.004153                    
+P 17  14590.906892   5057.783319 -21516.863779    205.715635                    
+V 17   -979.869542  27593.878911   5052.478968       .195202                    
+P 18  15264.590842 -18641.489279  10964.559342    -15.229969                    
+V 18  13123.638190  -5342.522102 -27632.112431      -.026474                    
+P 20 -22819.879569  13083.576610   3604.430558   -184.324065                    
+V 20   2256.037195  -4877.170985  31399.071331       .027575                    
+P 21   6600.600410 -23287.526479 -10517.345720     73.051030                    
+V 21   3414.678623  13311.158369 -27848.646592       .005166                    
+P 22   3358.697490 -17999.362700  19419.206839    -40.819066                    
+V 22  21310.034895 -11725.357921 -14635.422935       .089351                    
+P 24  11884.043959  16757.652363 -16494.048355      7.940371                    
+V 24   -981.948730  21565.461479  20901.681501       .027947                    
+P 25  -9525.092282 -23510.867614  -7544.465198     61.659714                    
+V 25   1461.571675 -10477.332320  29356.991637       .007465                    
+P 26  25035.163417   7758.534454   5745.602161    411.009664                    
+V 26   6029.557393   4737.004335 -30685.037671      -.124037                    
+P 27  -6234.108460  21845.292923 -12855.275789    919.580755                    
+V 27  -5444.466135 -16729.344463 -25376.787130       .044182                    
+P 28  -3862.326441  18531.106310  18689.359813     21.733870                    
+V 28 -20260.613807  11948.900180 -16493.956018       .016867                    
+P 29  24520.979836  10274.525112    744.229927    229.703983                    
+V 29   -337.940616   2303.257304 -32062.378166       .033417                    
+P 30  18098.174954 -18595.804477  -5639.441843    804.096836                    
+V 30   7520.144249  -1472.114634  30325.091394       .143136                    
+P 31 -24812.513822  -2874.810418   9166.592945     37.523634                    
+V 31  -9993.537625  -7375.181134 -28008.724415       .309222                    
+*  2004  2 29  3 45   .00000000                                                 
+P  1 -21940.225796   1566.810411 -14733.988576    332.464066                    
+V  1 -16824.697813  -8925.448617  23797.612467       .014800                    
+P  3 -23359.949524 -11633.296654  -5643.487498     89.676271                    
+V  3   7755.324450  -1265.559007 -29775.620390       .028781                    
+P  4   5488.415178  25614.587179  -3131.467795    -76.084773                    
+V  4  -2526.046085   4392.768291  31637.195077      -.091121                    
+P  5  22118.274922  -9827.780860  10617.508278     19.669286                    
+V  5  -7875.288050  11762.414239  27149.867469       .017765                    
+P  6  15575.711213  -9365.358545 -19224.468386     -1.282820                    
+V  6  22807.632221   9997.591996  13345.419433      -.009663                    
+P  7   6614.136049  17309.475134  19487.822085    612.319009                    
+V  7 -23118.163550  -6313.991803  13571.446408      -.077636                    
+P  8   -308.614748  25982.427385  -4811.856720    356.044904                    
+V  8  -3556.476149  -5539.865751 -31248.217925      -.088796                    
+P  9  15283.594927   -925.446388  21294.265305    -32.229982                    
+V  9   5082.417510  27604.152504  -2024.431311      -.017392                    
+P 10  15484.548091   5686.351819 -20927.719943     40.136674                    
+V 10 -20408.652192  16660.002071 -10325.603044       .007693                    
+P 11 -15817.863710   4091.323467  20934.984143     99.700070                    
+V 11  -6713.545304 -25976.947998    140.331765       .025480                    
+P 13 -11657.600914  10705.644112 -21355.785166    -30.921797                    
+V 13 -24840.279151 -10535.656821   8369.812930       .002495                    
+P 14  -7973.290899 -16849.533663  18963.598252    -18.151118                    
+V 14  22739.637504   7575.163373  16345.677339      -.001221                    
+P 15  -3575.345717 -26062.470338   2317.742543    232.589216                    
+V 15   2545.585374  -3441.982284 -31891.890237       .054061                    
+P 16 -11566.961530 -10061.768707 -21619.953973     15.311203                    
+V 16  21341.201572 -17529.299686  -3241.612565      -.004148                    
+P 17  14569.293264   7505.788350 -20877.152000    205.733319                    
+V 17    483.870235  26716.453507   9138.456565       .195215                    
+P 18  16313.874208 -19070.914112   8389.541612    -15.231981                    
+V 18  10194.364197  -4125.012452 -29507.763821      -.026467                    
+P 20 -22502.871980  12542.604200   6391.161527   -184.321453                    
+V 20   4730.992097  -7185.955667  30439.045453       .027576                    
+P 21   6947.834372 -21959.948555 -12924.214352     73.051473                    
+V 21   4355.457159  16135.713951 -25559.962113       .005168                    
+P 22   5181.793198 -19060.099243  17941.052888    -40.811399                    
+V 22  19159.205984 -11774.120068 -18166.373620       .089338                    
+P 24  11839.116038  18586.467763 -14473.111351      7.944435                    
+V 24    -70.449687  19010.969410  23940.934333       .027833                    
+P 25  -9386.985063 -24306.941070  -4844.450957     61.659439                    
+V 25   1674.537626  -7201.851733  30555.521263       .007299                    
+P 26  25446.298051   8106.124535   2943.727528    410.998435                    
+V 26   3063.417666   3045.159213 -31491.716221      -.124047                    
+P 27  -6783.543294  20226.621550 -15015.672225    919.584939                    
+V 27  -6804.190529 -19170.909428 -22558.556978       .044180                    
+P 28  -5586.750659  19600.405464  17048.908365     21.735219                    
+V 28 -18022.936717  11736.786191 -19910.215120       .016853                    
+P 29  24343.947781  10423.689193  -2139.508315    229.706957                    
+V 29  -3621.228495   1078.736932 -31928.777313       .033393                    
+P 30  18651.261161 -18646.637131  -2869.424632    804.109744                    
+V 30   4796.767307    405.061491  31142.617323       .143125                    
+P 31 -25591.553450  -3465.022283   6574.645646     37.551427                    
+V 31  -7268.926137  -5786.758274 -29506.823811       .309243                    
+*  2004  2 29  4  0   .00000000                                                 
+P  1 -23356.655945    850.100104 -12470.467995    332.463747                    
+V  1 -14577.083282  -7033.219188  26429.167134       .014822                    
+P  3 -22522.243601 -11725.308658  -8267.920936     89.677479                    
+V  3  10849.576298   -844.911381 -28462.765977       .028692                    
+P  4   5244.310708  25854.774900   -264.962769    -76.092858                    
+V  4  -2967.891488    948.506076  31969.528232      -.091123                    
+P  5  21339.702422  -8657.186228  12961.138251     19.672246                    
+V  5  -9353.041319  14254.679188  24854.684159       .017705                    
+P  6  17577.672886  -8538.621890 -17859.601796     -1.284173                    
+V  6  21597.444116   8380.162287  16939.702143      -.009834                    
+P  7   4461.367027  16775.754944  20544.353340    612.312451                    
+V  7 -24654.226332  -5500.382233   9874.890065      -.077648                    
+P  8   -665.128521  25336.512138  -7574.012507    356.037363                    
+V  8  -4428.256245  -8776.432580 -30044.230151      -.088763                    
+P  9  15798.014578   1527.083522  20922.594588    -32.231697                    
+V  9   6320.758967  26807.865855  -6219.927511      -.017628                    
+P 10  13654.828264   7266.500282 -21675.968337     40.137740                    
+V 10 -20171.088808  18411.401865  -6277.093179       .007526                    
+P 11 -16471.140830   1773.801980  20767.443628     99.702256                    
+V 11  -7776.994990 -25444.666085  -3857.382351       .025476                    
+P 13 -13872.134214   9836.311878 -20421.322468    -30.921389                    
+V 13 -24279.821540  -8774.609603  12366.784041       .002502                    
+P 14  -5836.516579 -16199.189683  20267.936781    -18.151044                    
+V 14  24676.682487   6818.821645  12598.387439      -.001210                    
+P 15  -3336.588554 -26214.995468   -564.430528    232.594424                    
+V 15   2830.377993     47.718981 -32062.826649       .054270                    
+P 16  -9681.047799 -11694.959327 -21723.660656     15.311052                    
+V 16  20496.730668 -18705.872739    940.414603      -.004146                    
+P 17  14673.858175   9851.114133 -19877.438929    205.750249                    
+V 17   1809.673487  25318.574338  13041.354959       .195229                    
+P 18  17101.138836 -19370.786674   5668.526613    -15.235063                    
+V 18   7317.033943  -2467.966489 -30871.554353      -.026466                    
+P 20 -21979.575341  11783.813775   9067.674942   -184.319416                    
+V 20   6830.652425  -9704.077613  28953.193436       .027578                    
+P 21   7393.384376 -20394.113470 -15104.896176     73.052096                    
+V 21   5589.171829  18593.540448 -22830.103571       .005175                    
+P 22   6800.723070 -20105.192674  16158.424533    -40.803439                    
+V 22  16787.527532 -11373.062429 -21391.981000       .089325                    
+P 24  11860.786779  20169.371948 -12197.518066      7.948446                    
+V 24    489.049635  16115.022559  26552.540407       .027637                    
+P 25  -9211.592103 -24806.623303  -2060.480598     61.659740                    
+V 25   2289.681204  -3907.073601  31220.733322       .007477                    
+P 26  25580.019470   8317.843895     92.872576    410.988028                    
+V 26   -121.091552   1725.457828 -31772.677390      -.124055                    
+P 27  -7464.732264  18408.139272 -16903.421852    919.588553                    
+V 27  -8359.207094 -21159.390566 -19327.490792       .044176                    
+P 28  -7101.127646  20629.613943  15115.464337     21.736802                    
+V 28 -15607.848943  11054.818655 -22995.201047       .016839                    
+P 29  23866.094714  10481.250971  -4986.428364    229.710196                    
+V 29  -7006.458059    272.044747 -31244.770347       .033373                    
+P 30  18967.518469 -18512.377725    -49.869683    804.122793                    
+V 30   2270.594042   2632.230596  31423.823528       .143114                    
+P 31 -26113.127387  -3925.571475   3870.628374     37.579142                    
+V 31  -4284.853220  -4502.662016 -30496.430087       .309263                    
+*  2004  2 29  4 15   .00000000                                                 
+P  1 -24551.614215    293.901634  -9990.631613    332.466364                    
+V  1 -11913.761770  -5371.574698  28597.898914       .015047                    
+P  3 -21410.302859 -11797.086823 -10752.332546     89.679520                    
+V  3  13834.686050   -813.906321 -26668.411164       .028710                    
+P  4   4941.925625  25787.519929   2606.195285    -76.100832                    
+V  4  -3818.075444  -2422.485862  31740.476111      -.091127                    
+P  5  20448.194608  -7262.619895  15078.293322     19.673583                    
+V  5 -10382.501542  16724.178529  22124.501906       .017589                    
+P  6  19448.736642  -7854.594687 -16184.374628     -1.285621                    
+V  6  19904.014790   6840.369785  20232.431501      -.009866                    
+P  7   2189.172965  16326.683646  21260.418294    612.304582                    
+V  7 -25764.151681  -4444.495245   6015.609587      -.077656                    
+P  8  -1116.217919  24410.732545 -10204.245627    356.029490                    
+V  8  -5650.065616 -11744.594794 -28321.466962      -.088733                    
+P  9  16415.002333   3884.650672  20178.515492    -32.233535                    
+V  9   7348.424792  25501.545448 -10287.641336      -.017756                    
+P 10  11867.661231   8991.391671 -22054.120158     40.138485                    
+V 10 -19470.435458  19862.689522  -2112.780402       .007369                    
+P 11 -17211.806394   -475.026275  20242.775141     99.704707                    
+V 11  -8643.478881 -24456.545169  -7784.489787       .025470                    
+P 13 -16011.541977   9126.274123 -19136.046360    -30.921345                    
+V 13 -23172.445168  -7011.528091  16154.452465       .002509                    
+P 14  -3544.637554 -15631.597181  21224.867019    -18.150813                    
+V 14  26175.890777   5747.849782   8636.517766      -.001202                    
+P 15  -3053.428874 -26056.279342  -3436.770082    232.599886                    
+V 15   3529.497768   3457.610480 -31674.223217       .054296                    
+P 16  -7889.466134 -13417.381759 -21451.163367     15.310968                    
+V 16  19255.515075 -19501.424136   5106.317541      -.004143                    
+P 17  14888.412825  12048.916958 -18537.135136    205.767879                    
+V 17   2915.102390  23447.371969  16696.879231       .195247                    
+P 18  17635.314973 -19503.006493   2848.776761    -15.237248                    
+V 18   4585.266011   -406.785953 -31698.495847      -.026446                    
+P 20 -21286.114845  10792.149625  11587.701336   -184.316946                    
+V 20   8505.546818 -12345.971761  26966.462143       .027579                    
+P 21   7960.643719 -18626.108607 -17021.909921     73.052775                    
+V 21   7047.812546  20618.655551 -19709.688138       .005183                    
+P 22   8199.609256 -21093.158873  14101.302855    -40.795114                    
+V 22  14284.641107 -10502.884506 -24257.553959       .089317                    
+P 24  11915.201406  21479.639339  -9707.831619      7.950085                    
+V 24    651.032446  12968.246495  28691.868844       .027482                    
+P 25  -8963.106774 -25012.521007    759.065290     61.660242                    
+V 25   3295.432265   -689.022064  31345.737107       .007657                    
+P 26  25420.583929   8429.044329  -2759.547291    410.976662                    
+V 26  -3436.023088    816.415100 -31526.988594      -.124064                    
+P 27  -8291.566536  16433.104517 -18484.068207    919.592627                    
+V 27 -10026.189279 -22642.753076 -15744.931844       .044173                    
+P 28  -8393.590137  21575.862872  12921.383084     21.738018                    
+V 28 -13107.034559   9893.153978 -25693.363222       .016822                    
+P 29  23082.739776  10485.726507  -7747.292386    229.712430                    
+V 29 -10393.138872    -99.644975 -30018.595795       .033359                    
+P 30  19068.142683 -18164.130108   2770.526505    804.135590                    
+V 30     16.500141   5149.125436  31160.780919       .143103                    
+P 31 -26357.458288  -4286.019992   1100.913703     37.606771                    
+V 31  -1122.031116  -3568.642205 -30965.480150       .309289                    
+*  2004  2 29  4 30   .00000000                                                 
+P  1 -25490.785285   -125.876646  -7337.820379    332.468043                    
+V  1  -8905.935195  -4012.553776  30267.789724       .015149                    
+P  3 -20037.873644 -11882.910156 -13054.685962     89.681729                    
+V  3  16624.209105  -1152.314896 -24422.667680       .028836                    
+P  4   4545.620077  25423.884820   5431.606428    -76.108447                    
+V  4  -5048.901823  -5621.811188  30954.550917      -.091136                    
+P  5  19484.488874  -5650.290325  16931.940446     19.675145                    
+V  5 -10958.017665  19078.538022  19007.621292       .017490                    
+P  6  21147.075221  -7302.575537 -14228.504140     -1.287264                    
+V  6  17767.097864   5459.609827  23167.392269      -.009992                    
+P  7   -162.171471  15980.813394  21624.125275    612.297573                    
+V  7 -26407.616065  -3219.895136   2055.120006      -.077658                    
+P  8  -1690.974245  23232.978463 -12657.311430    356.021067                    
+V  8  -7165.881630 -14363.438787 -26113.479747      -.088700                    
+P  9  17112.161267   6103.682714  19076.849229    -32.234947                    
+V  9   8090.834722  23739.766863 -14154.523466      -.017889                    
+P 10  10162.485702  10830.439506 -22054.903210     40.138554                    
+V 10 -18359.068358  20936.223112   2097.006351       .007125                    
+P 11 -18019.007855  -2616.008670  19370.371546     99.707159                    
+V 11  -9244.997350 -23056.614594 -11573.818983       .025461                    
+P 13 -18027.330082   8571.496935 -17521.766275    -30.921282                    
+V 13 -21537.549291  -5339.608120  19667.425026       .002515                    
+P 14  -1139.668028 -15171.767169  21818.101404    -18.150855                    
+V 14  27181.923046   4437.511067   4527.777697      -.001197                    
+P 15  -2689.610600 -25597.984206  -6249.299680    232.604616                    
+V 15   4616.970166   6689.142166 -30736.236556       .054238                    
+P 16  -6224.871697 -15192.039194 -20807.186060     15.310752                    
+V 16  17687.442547 -19858.286519   9183.522872      -.004141                    
+P 17  15189.782962  14059.303057 -16881.184540    205.785749                    
+V 17   3727.846778  21165.317252  20046.489940       .195266                    
+P 18  17933.449829 -19433.449259    -20.626665    -15.239480                    
+V 18   2085.230131   2005.836702 -31973.231555      -.026433                    
+P 20 -20462.308723   9560.601087  13907.616203   -184.314652                    
+V 20   9723.329692 -15018.995657  24512.602880       .027584                    
+P 21   8666.393583 -16697.251563 -18642.632623     73.053238                    
+V 21   8652.975076  22161.156400 -16255.863508       .005187                    
+P 22   9370.802229 -21981.578637  11804.343589    -40.787464                    
+V 22  11743.186107  -9162.208103 -26714.045455       .089306                    
+P 24  11965.191817  22499.081122  -7048.222732      7.951681                    
+V 24    387.626056   9669.086962  30323.485389       .027333                    
+P 25  -8607.538728 -24935.696078   3565.613686     61.662083                    
+V 25   4663.163577   2361.009437  30933.098889       .007775                    
+P 26  24960.404648   8477.775428  -5566.382447    410.965472                    
+V 26  -6788.583853    339.326867 -30761.447779      -.124073                    
+P 27  -9270.108134  14348.594069 -19729.022127    919.596873                    
+V 27 -11715.133773 -23588.469258 -11879.651459       .044173                    
+P 28  -9460.625487  22396.240025  10503.756935     21.739847                    
+V 28 -10613.869450   8260.736857 -27955.168816       .016807                    
+P 29  21998.358428  10476.336595 -10374.036868    229.714830                    
+V 29 -13678.924672    -37.919611 -28268.113323       .033351                    
+P 30  18980.557479 -17579.040771   5542.783657    804.148952                    
+V 30  -1902.449364   7882.133646  30355.157658       .143092                    
+P 31 -26312.334019  -4579.344602  -1687.429834     37.634812                    
+V 31   2132.653868  -3014.636494 -30910.540532       .309317                    
+*  2004  2 29  4 45   .00000000                                                 
+P  1 -26146.853132   -439.187023  -4558.213326    332.471655                    
+V  1  -5637.442063  -3013.938339  31411.861766       .015135                    
+P  3 -18426.235116 -12014.523712 -15135.985544     89.685284                    
+V  3  19137.696916  -1824.247799 -21762.909353       .029167                    
+P  4   4023.040910  24783.489020   8161.743830    -76.116461                    
+V  4  -6615.278083  -8558.329159  29626.603087      -.091148                    
+P  5  18489.012983  -3834.648174  18489.719006     19.676698                    
+V  5 -11092.072850  21227.582524  15559.405820       .017325                    
+P  6  22635.159592  -6864.892426 -12026.467037     -1.288835                    
+V  6  15242.142898   4310.875838  25695.176498      -.009988                    
+P  7  -2549.428229  15749.772415  21629.195801    612.290440                    
+V  7 -26559.287980  -1906.405096  -1943.481368      -.077663                    
+P  8  -2412.827353  21837.826585 -14891.359542    356.011987                    
+V  8  -8906.363713 -16565.721659 -23461.991820      -.088663                    
+P  9  17860.906318   8146.229634  17638.769128    -32.236568                    
+V  9   8485.524345  21592.423398 -17752.689454      -.018041                    
+P 10   8573.353964  12746.609775 -21677.446298     40.138580                    
+V 10 -16903.927238  21566.854436   6280.542749       .006918                    
+P 11 -18866.206123  -4614.576865  18165.561248     99.709892                    
+V 11  -9523.608606 -21302.379536 -15160.823442       .025451                    
+P 13 -19873.604505   8159.753079 -15605.983191    -30.920866                    
+V 13 -19413.354484  -3847.120421  22844.801441       .002518                    
+P 14   1332.137740 -14837.497531  22037.562893    -18.150862                    
+V 14  27656.192971   2972.295018    342.277708      -.001194                    
+P 15  -2212.006916 -24860.319677  -8953.399074    232.609557                    
+V 15   6049.491017   9651.514702 -29268.760650       .054399                    
+P 16  -4713.115931 -16977.436866 -19802.922922     15.310150                    
+V 16  15873.308096 -19734.520015  13101.037094      -.004140                    
+P 17  15548.843340  15848.595138 -14939.514389    205.803268                    
+V 17   4188.367908  18547.614204  23038.084296       .195281                    
+P 18  18019.883273 -19133.440918  -2889.667451    -15.241851                    
+V 18   -107.712243   4701.856362 -31690.382846      -.026426                    
+P 20 -19550.069584   8090.681377  15987.208691   -184.312450                    
+V 20  10469.939224 -17626.982006  21633.617729       .027586                    
+P 21   9520.013534 -14652.561268 -19939.832830     73.053533                    
+V 21  10319.157154  23188.916880 -12531.083573       .005195                    
+P 22  10314.995183 -22728.727893   9306.331490    -40.778872                    
+V 22   9255.335684  -7367.847566 -28718.878526       .089296                    
+P 24  11971.917691  23218.574561  -4265.617541      7.955228                    
+V 24   -310.347724   6319.902660  31421.657473       .027213                    
+P 25  -8114.195132 -24595.089072   6311.234878     61.663465                    
+V 25   6348.491815   5159.752898  29994.474488       .007701                    
+P 26  24200.344816   8503.205979  -8281.433098    410.953862                    
+V 26 -10084.325690    297.727969 -29490.316524      -.124077                    
+P 27 -10398.168741  12203.683262 -20616.154163    919.601111                    
+V 27 -13333.390629 -23984.786029  -7806.124208       .044175                    
+P 28 -10307.065138  23049.487067   7903.825231     21.740975                    
+V 28  -8219.794402   6185.315911 -29738.165755       .016789                    
+P 29  20626.575913  10491.309502 -12820.636293    229.717515                    
+V 29 -16763.482423    436.803859 -26020.722513       .033349                    
+P 30  18737.235567 -16741.383082   8218.510769    804.161516                    
+V 30  -3437.492258  10746.982834  29018.392002       .143082                    
+P 31 -25973.521877  -4840.470150  -4447.404379     37.662516                    
+V 31   5389.300625  -2853.906114 -30336.566175       .309346                    
+*  2004  2 29  5  0   .00000000                                                 
+P  1 -26500.497030   -680.456443  -1699.997116    332.472247                    
+V  1  -2201.550864  -2417.074564  32012.520583       .014862                    
+P  3 -16603.527571 -12219.789402 -16960.905362     89.687490                    
+V  3  21303.586494  -2779.586277 -18733.210443       .029397                    
+P  4   3346.609440  23893.694975  10748.870007    -76.125036                    
+V  4  -8456.561940 -11151.664297  27781.467514      -.091158                    
+P  5  17500.277228  -1838.025442  19724.529073     19.679338                    
+V  5 -10814.623255  23086.930516  11841.205726       .017109                    
+P  6  23881.078526  -6517.791382  -9616.850871     -1.289544                    
+V  6  12398.135713   3455.888216  27773.954671      -.009864                    
+P  7  -4927.791094  15637.833486  21275.072917    612.283440                    
+V  7 -26209.764243   -587.150151  -5916.275182      -.077663                    
+P  8  -3298.474535  20265.200649 -16868.626166    356.004272                    
+V  8 -10791.758259 -18300.196660 -20415.921581      -.088622                    
+P  9  18627.672059   9981.207016  15891.278612    -32.238355                    
+V  9   8484.645258  19141.636116 -21020.652044      -.018197                    
+P 10   7127.732662  14697.670251 -20927.352291     40.139783                    
+V 10 -15183.948552  21704.622937  10365.885781       .006758                    
+P 11 -19722.189410  -6441.861158  16649.323564     99.711899                    
+V 11  -9433.768558 -19262.557258 -18484.645099       .025437                    
+P 13 -21508.711315   7871.225884 -13421.436211    -30.920476                    
+V 13 -16855.586956  -2613.882862  25631.252967       .002520                    
+P 14   3821.863863 -14638.692788  21879.548900    -18.150798                    
+V 14  27578.327305   1442.534261  -3848.633683      -.001187                    
+P 15  -1592.099729 -23871.191556 -11502.654446    232.614151                    
+V 15   7768.315557  12265.019575 -27300.818018       .054367                    
+P 16  -3372.408675 -18729.081684 -18455.838401     15.309936                    
+V 16  13901.559079 -19105.673018  16790.723602      -.004138                    
+P 17  15931.765194  17390.346767 -12746.431956    205.820378                    
+V 17   4251.979151  15679.224572  25626.501831       .195298                    
+P 18  17925.139754 -18581.027974  -5708.300362    -15.244040                    
+V 18  -1931.931353   7600.448836 -30854.688990      -.026412                    
+P 20 -18591.733524   6392.578422  17790.393353   -184.309854                    
+V 20  10750.038760 -20073.951152  18379.049416       .027598                    
+P 21  10523.000515 -12539.109093 -20892.090835     73.053836                    
+V 21  11957.292441  23688.551242  -8601.828241       .005203                    
+P 22  11041.025726 -23295.201942   6649.563546    -40.770971                    
+V 22   6909.333083  -5154.407088 -30236.699157       .089294                    
+P 24  11896.566687  23638.235338  -1408.810520      7.957344                    
+V 24  -1433.111081   3022.968666  31970.624879       .026962                    
+P 25  -7457.018202 -24016.662851   8949.438669     61.663514                    
+V 25   8293.155506   7634.871805  28550.102796       .007570                    
+P 26  23149.722078   8544.023517 -10860.107570    410.942311                    
+V 26 -13230.350340    677.447513 -27735.015820      -.124079                    
+P 27 -11665.257853  10047.555559 -21130.223952    919.605066                    
+V 27 -14789.805036 -23841.020855  -3602.643177       .044179                    
+P 28 -10945.747380  23497.664434   5166.292372     21.743019                    
+V 28  -6010.706514   3712.707515 -31007.958396       .016770                    
+P 29  18989.811575  10566.211720 -15043.950723    229.720859                    
+V 29 -19552.355697   1285.970470 -23313.084228       .033347                    
+P 30  18374.319384 -15643.377537  10750.785811    804.173586                    
+V 30  -4556.114043  13651.903826  27171.667937       .143074                    
+P 31 -25344.895881  -5104.753250  -7132.823084     37.690340                    
+V 31   8558.191124  -3082.796268 -29256.560919       .309377                    
+*  2004  2 29  5 15   .00000000                                                 
+P  1 -26541.083008   -887.034374   1187.486981    332.473166                    
+V  1   1302.577664  -2245.370060  32061.714219       .014684                    
+P  3 -14603.834187 -12521.489663 -18498.363677     89.689942                    
+V  3  23061.774758  -3955.938467 -15383.697029       .029589                    
+P  4   2494.813271  22788.498259  13147.911181    -76.133224                    
+V  4 -10499.052471 -13335.250798  25453.390103      -.091169                    
+P  5  16553.358554    310.039562  20615.017097     19.681720                    
+V  5 -10171.723738  24581.356723   7919.159938       .016856                    
+P  6  24859.640610  -6232.562317  -7041.643568     -1.289497                    
+V  6   9314.941267   2942.710476  29370.078673      -.009860                    
+P  7  -7252.341909  15641.754967  20566.960151    612.276058                    
+V  7 -25365.984976    654.527564  -9799.302625      -.077664                    
+P  8  -4357.088118  18558.852046 -18556.034236    355.997207                    
+V  8 -12735.164474 -19533.269157 -17030.317332      -.088578                    
+P  9  19375.315347  11585.341428  13866.588897    -32.240214                    
+V  9   8056.784415  16478.252619 -23904.314903      -.018278                    
+P 10   5845.557244  16637.658748 -19816.662946     40.139722                    
+V 10 -13287.011709  21316.909935  14282.099471       .006588                    
+P 11 -20552.276407  -8075.582160  14847.911720     99.714086                    
+V 11  -8944.185762 -17014.408675 -21489.101587       .025428                    
+P 13 -22896.727316   7679.417350 -11005.555521    -30.919910                    
+V 13 -13935.484650  -1708.049731  27978.020611       .002522                    
+P 14   6279.612267 -14576.999098  21346.789755    -18.150758                    
+V 14  26946.943869    -59.195795  -7973.548095      -.001175                    
+P 15   -807.261874 -22665.071733 -13853.646677    232.621760                    
+V 15   9701.734788  14463.877927 -24869.796553       .054422                    
+P 16  -2212.787361 -20401.109867 -16789.354611     15.309663                    
+V 16  11864.749534 -17965.856542  20188.524000      -.004131                    
+P 17  16301.423949  18666.077053 -10339.982914    205.837842                    
+V 17   3890.320904  12651.648100  27773.873726       .195313                    
+P 18  17684.581488 -17761.991413  -8427.360068    -15.246243                    
+V 18  -3341.892609  10611.116793 -29480.934274      -.026402                    
+P 20 -17628.382635   4484.969849  19285.851368   -184.307371                    
+V 20  10586.720971 -22267.837054  14805.126464       .027609                    
+P 21  11668.810936 -10404.317043 -21484.102530     73.054535                    
+V 21  13478.371615  23665.626545  -4537.303143       .005211                    
+P 22  11565.370536 -23645.473225   3879.168246    -40.762702                    
+V 22   4786.152573  -2573.207122 -31240.042105       .089289                    
+P 24  11702.042935  23767.232603   1472.436697      7.959458                    
+V 24  -2952.447258   -123.439199  31964.644939       .026754                    
+P 25  -6615.731217 -23232.305726  11435.919812     61.664915                    
+V 25  10427.376560   9727.386105  26628.188947       .007532                    
+P 26  21826.027446   8636.865240 -13260.051813    410.931056                    
+V 26 -16138.435314   1447.247070 -25523.791672      -.124078                    
+P 27 -13052.900637   7927.629560 -21263.135877    919.608902                    
+V 27 -15998.755504 -23186.883256    650.641363       .044183                    
+P 28 -11396.861750  23707.716240   2338.563247     21.743950                    
+V 28  -4063.518246    905.313894 -31739.061897       .016751                    
+P 29  17118.581705  10732.374988 -17004.539036    229.724241                    
+V 29 -21960.662978   2454.331403 -20190.635168       .033344                    
+P 30  17930.095041 -14285.710217  13095.023897    804.186591                    
+V 30  -5243.351691  16501.151005  24845.681181       .143075                    
+P 31 -24438.278639  -5406.472014  -9699.016235     37.717734                    
+V 31  11552.918159  -3681.105904 -27691.159915       .309411                    
+*  2004  2 29  5 30   .00000000                                                 
+P  1 -26267.027391  -1097.537702   4054.602415    332.473153                    
+V  1   4773.615024  -2503.513456  31560.915643       .014530                    
+P  3 -12466.048664 -12936.328386 -19722.035320     89.692587                    
+V  3  24365.787610  -5281.053818 -11769.816034       .029804                    
+P  4   1453.249094  21507.169473  15317.270952    -76.142270                    
+V  4 -12659.011853 -15058.785557  22685.256219      -.091174                    
+P  5  15678.538245   2573.764117  21145.949460     19.683737                    
+V  5  -9223.502092  25647.782227   3862.907312       .016397                    
+P  6  25553.218979  -5976.854272  -4345.476359     -1.289870                    
+V  6   6080.263534   2803.936343  30458.514510      -.009890                    
+P  7  -9479.519921  15750.901757  19515.788818    612.269373                    
+V  7 -24051.108076   1738.189159 -13529.376082      -.077665                    
+P  8  -5589.827987  16764.723212 -19925.695001    355.988677                    
+V  8 -14646.020993 -20249.940958 -13365.236936      -.088537                    
+P  9  20064.649125  12943.788619  11601.418309    -32.243101                    
+V  9   7188.054415  13698.106014 -26357.720687      -.018272                    
+P 10   4738.579197  18518.517318 -18363.711909     40.141061                    
+V 10 -11306.505509  20389.957568  17960.510749       .006425                    
+P 11 -21319.662018  -9500.687938  12792.390899     99.716401                    
+V 11  -8039.125052 -14640.768957 -24123.584606       .025419                    
+P 13 -24008.743279   7552.326118  -8399.829904    -30.919636                    
+V 13 -10737.196144  -1183.346042  29843.812390       .002517                    
+P 14   8656.220313 -14645.768009  20448.401059    -18.150594                    
+V 14  25779.719506  -1441.759008 -11962.174151      -.001168                    
+P 15    158.205647 -21281.638930 -15966.665179    232.626321                    
+V 15  11768.021966  16198.480623 -22020.564000       .054149                    
+P 16  -1235.913072 -21947.978679 -14832.432243     15.309202                    
+V 16   9855.846254 -16328.089563  23235.599523      -.004127                    
+P 17  16618.911636  19665.709106  -7761.284498    205.855257                    
+V 17   3092.211406   9559.579317  29449.837768       .195330                    
+P 18  17336.877990 -16670.561833 -10999.453954    -15.248912                    
+V 18  -4309.859641  13637.199177 -27593.663293      -.026391                    
+P 20 -16698.227089   2394.507587  20447.588875   -184.305053                    
+V 20  10020.483928 -24124.078705  10973.778832       .027621                    
+P 21  12943.027027  -8294.270191 -21706.866539     73.055232                    
+V 21  14797.003286  23144.138483   -408.151035       .005219                    
+P 22  11911.349801 -23749.323206   1042.369400    -40.754713                    
+V 22   2956.410439    309.431244 -31709.894453       .089280                    
+P 24  11354.575498  23623.261274   4328.291019      7.960747                    
+V 24  -4822.951840  -3028.720108  31407.828673       .026536                    
+P 25  -5576.754136 -22278.540663  13729.244003     61.666036                    
+V 25  12672.600372  11393.547556  24264.204307       .007451                    
+P 26  20254.369778   8814.831637 -15441.747588    410.920375                    
+V 26 -18727.992286   2560.015187 -22891.353522      -.124079                    
+P 27 -14535.306826   5887.789054 -21014.017940    919.612357                    
+V 27 -16883.884656 -22070.877112   4873.675568       .044186                    
+P 28 -11686.996918  23652.869604   -530.091479     21.745372                    
+V 28  -2443.033464  -2160.064976 -31915.601374       .016736                    
+P 29  15050.482950  11015.485764 -18667.419045    229.727280                    
+V 29 -23916.471611   3872.100004 -16706.892864       .033338                    
+P 30  17443.380449 -12677.723607  15209.814729    804.200150                    
+V 30  -5502.387652  19198.738031  22080.189700       .143076                    
+P 31 -23273.008649  -5777.375300 -12103.496954     37.746181                    
+V 31  14293.342972  -4613.033896 -25668.151511       .309450                    
+*  2004  2 29  5 45   .00000000                                                 
+P  1 -25685.822273  -1350.158608   6852.267533    332.473084                    
+V  1   8111.828955  -3177.432646  30520.939356       .014557                    
+P  3 -10232.568862 -13474.166708 -20610.794727     89.694451                    
+V  3  25184.466302  -6675.613045  -7951.526333       .029965                    
+P  4    215.374677  20092.705738  17219.566612    -76.149975                    
+V  4 -14846.081764 -16289.993245  19527.648631      -.091175                    
+P  5  14900.147979   4912.330648  21308.467179     19.684618                    
+V  5  -8041.571655  26237.769101   -255.759881       .015866                    
+P  6  25952.309880  -5716.125835  -1574.835345     -1.290955                    
+V  6   2786.348089   3055.505919  31023.107417      -.009957                    
+P  7 -11568.555220  15947.645119  18138.110933    612.262037                    
+V  7 -22303.836885   2589.359144 -17044.921979      -.077659                    
+P  8  -6989.672535  14929.258604 -20955.307416    355.980341                    
+V  8 -16433.671984 -20454.031236  -9484.602197      -.088496                    
+P  9  20656.041007  14050.410619   9136.235173    -32.244531                    
+V  9   5882.443882  10898.203656 -28343.558698      -.018251                    
+P 10   3810.034743  20291.831679 -16592.864163     40.141379                    
+V 10  -9337.640837  18929.677813  21335.972776       .006221                    
+P 11 -21986.853842 -10709.714602  10518.099854     99.718763                    
+V 11  -6719.114711 -12226.890551 -26343.858450       .025411                    
+P 13 -24823.889265   7453.850029  -5649.098790    -30.919612                    
+V 13  -7354.668323  -1076.859198  31195.579824       .002511                    
+P 14  10904.952406 -14830.350081  19199.730793    -18.151005                    
+V 14  24112.745756  -2619.084144 -15746.496805      -.001164                    
+P 15   1312.317911 -19764.247442 -17806.337721    232.631072                    
+V 15  13878.718754  17436.961612 -18804.491936       .053868                    
+P 16   -435.200187 -23326.155844 -12619.053194     15.308820                    
+V 16   7964.534655 -14223.902520  25879.370267      -.004123                    
+P 17  16845.097833  20387.706363  -5053.844501    205.873119                    
+V 17   1863.876490   6497.554889  30631.641752       .195349                    
+P 18  16922.354856 -15309.806127 -13379.820024    -15.251452                    
+V 18  -4826.865223  16579.635241 -25226.691618      -.026379                    
+P 20 -15835.110788    154.990710  21255.401557   -184.302315                    
+V 20   9107.517937 -25568.933493   6951.542352       .027633                    
+P 21  14323.835758  -6252.107906 -21557.756930     73.055546                    
+V 21  15834.776937  22165.294058   3714.798079       .005224                    
+P 22  12108.069418 -23583.092853  -1812.295564    -40.746740                    
+V 22   1477.645006   3414.492529 -31636.141206       .089274                    
+P 24  10825.183845  23231.699678   7109.720251      7.962127                    
+V 24  -6983.944519  -5613.243330  30313.790074       .026456                    
+P 25  -4333.859745 -21195.092210  15791.468058     61.666390                    
+V 25  14944.502934  12606.120698  21500.127799       .007165                    
+P 26  18466.664666   9106.131283 -17369.076858    410.909436                    
+V 26 -20928.775104   3954.480312 -19878.484558      -.124082                    
+P 27 -16080.354745   3966.794393 -20389.128142    919.615972                    
+V 27 -17381.343974 -20557.890645   8988.368979       .044196                    
+P 28 -11847.927042  23313.807906  -3389.424832     21.746734                    
+V 28  -1199.282479  -5395.052049 -31531.824139       .016723                    
+P 29  12828.892397  11434.398100 -20002.755779    229.729882                    
+V 29 -25363.695975   5457.745223 -12922.555932       .033336                    
+P 30  16951.893494 -10837.267314  17057.709935    804.212603                    
+V 30  -5354.395754  21652.232917  18923.350345       .143075                    
+P 31 -21875.252478  -6245.341321 -14306.581685     37.774110                    
+V 31  16708.293183  -5828.653762 -23221.952747       .309468                    
+*  2004  2 29  6  0   .00000000                                                 
+P  1 -24813.725870  -1681.001560   9532.782320    332.473485                    
+V  1  11222.742805  -4234.978806  28961.606097       .014952                    
+P  3  -7947.862778 -14137.523248 -21149.082857     89.697490                    
+V  3  25503.108634  -8056.297866  -3992.416673       .030235                    
+P  4  -1217.058760  18590.156765  18822.274201    -76.158490                    
+V  4 -16966.943838 -17015.640413  16037.766836      -.091181                    
+P  5  14235.669842   7281.294663  21100.218085     19.684751                    
+V  5  -6705.995729  26319.419763  -4364.266710       .015438                    
+P  6  26055.787814  -5415.172528   1222.743500     -1.291707                    
+V  6   -473.441366   3696.182492  31056.685986      -.010111                    
+P  7 -13482.817284  16208.031517  16455.914754    612.255319                    
+V  7 -20177.208705   3142.427115 -20286.857346      -.077649                    
+P  8  -8541.568988  13097.727833 -21628.454277    355.971954                    
+V  8 -18010.876057 -20167.690461  -5455.053568      -.088452                    
+P  9  21111.010841  14907.712685   6514.465284    -32.245607                    
+V  9   4161.450939   8173.004687 -29833.447547      -.018090                    
+P 10   3054.651567  21910.609562 -14534.142420     40.142383                    
+V 10  -7473.650590  16961.702515  24348.109422       .005944                    
+P 11 -22517.144513 -11702.858769   8064.045503     99.721017                    
+V 11  -5001.034414  -9857.217416 -28112.749521       .025403                    
+P 13 -25330.061171   7345.358833  -2800.780554    -30.919550                    
+V 13  -3888.140564  -1407.479818  32009.155241       .002508                    
+P 14  12983.102344 -15108.707162  17622.103480    -18.151408                    
+V 14  21999.195761  -3513.598026 -19261.903019      -.001156                    
+P 15   2654.956221 -18158.285811 -19342.169477    232.636405                    
+V 15  15942.124002  18166.066647 -15278.419274       .053637                    
+P 16    203.727034 -24495.740429 -10187.615005     15.308057                    
+V 16   6273.671839 -11702.216429  28074.432319      -.004117                    
+P 17  16942.184075  20838.910727  -2262.875160    205.890337                    
+V 17    228.579255   3556.696478  31304.157308       .195371                    
+P 18  16481.289678 -13691.669843 -15527.132044    -15.253756                    
+V 18  -4902.911885  19340.825303 -22422.425705      -.026367                    
+P 20 -15067.199801  -2193.742373  21695.236403   -184.299682                    
+V 20   7917.370234 -26542.379556   2808.372888       .027645                    
+P 21  15782.796824  -4316.553356 -21040.486027     73.055883                    
+V 21  16523.304626  20785.669341   7761.716453       .005231                    
+P 22  12189.139161 -23130.701791  -4635.791498    -40.738885                    
+V 22    392.075892   6653.084771 -31017.876936       .089270                    
+P 24  10090.945131  22624.492259   9769.326449      7.965577                    
+V 24  -9361.943909  -7811.145306  28705.134535       .026469                    
+P 25  -2888.551402 -20023.365778  17588.689966     61.665895                    
+V 25  17156.151504  13355.047411  18383.649323       .006931                    
+P 26  16500.593782   9532.901330 -19009.849694    410.898094                    
+V 26 -22683.260509   5557.393607 -16531.619329      -.124086                    
+P 27 -17650.839973   2196.941889 -19401.599349    919.620127                    
+V 27 -17442.409725 -18726.122249  12920.306628       .044209                    
+P 28 -11915.183763  22679.565588  -6189.139624     21.748064                    
+V 28   -365.442781  -8703.040195 -30592.397671       .016712                    
+P 29  10501.433378  12000.222726 -20986.460036    229.732791                    
+V 29 -26264.384607   7121.315836  -8904.412601       .033333                    
+P 30  16490.668041  -8790.210677  18605.941402    804.225566                    
+V 30  -4837.634182  23776.449345  15430.851235       .143080                    
+P 31 -20277.088780  -6833.190533 -16271.961797     37.803244                    
+V 31  18737.923039  -7265.856816 -20393.048982       .309484                    
+*  2004  2 29  6 15   .00000000                                                 
+P  1 -23675.133370  -2122.513111  12050.618699    332.472731                    
+V  1  14020.554788  -5627.296220  26911.271422       .015580                    
+P  3  -5656.958119 -14921.359260 -21327.191618     89.701247                    
+V  3  25324.019617  -9339.034116     41.244205       .030478                    
+P  4  -2833.908714  17044.894647  20098.271336    -76.165953                    
+V  4 -18929.066929 -17241.770749  12278.242061      -.091188                    
+P  5  13695.124840   9634.134010  20525.365783     19.685872                    
+V  5  -5301.934909  25878.608475  -8390.617874       .015105                    
+P  6  25870.851822  -5039.671244   3999.481797     -1.293464                    
+V  6  -3608.041242   4707.695349  30561.015010      -.010203                    
+P  7 -15191.031045  16502.701761  14496.359975    612.247918                    
+V  7 -17736.867040   3343.291819 -23199.498066      -.077636                    
+P  8 -10222.892139  11312.622883 -21934.796083    355.963951                    
+V  8 -19297.130844 -19430.248713  -1344.825952      -.088408                    
+P  9  21393.764876  15526.454617   3781.683224    -32.247545                    
+V  9   2063.051408   5610.928208 -30808.015810      -.018089                    
+P 10   2458.996989  23331.028541 -12222.743446     40.141823                    
+V 10  -5802.027738  14530.654626  26942.511630       .005712                    
+P 11 -22876.064009 -12487.761108   5472.240652     99.723826                    
+V 11  -2917.583922  -7612.210523 -29400.719346       .025404                    
+P 13 -25524.319076   7187.375394     95.949664    -30.919415                    
+V 13   -440.380669  -2175.058643  32269.733617       .002506                    
+P 14  14853.446424 -15452.320100  15742.465153    -18.151567                    
+V 14  19507.350930  -4059.336842 -22448.257770      -.001147                    
+P 15   4177.736200 -16509.489464 -20548.987095    232.640595                    
+V 15  17866.847696  18391.308280 -11503.582240       .053427                    
+P 16    702.270585 -25421.951911  -7580.248921     15.307368                    
+V 16   4856.027479  -8827.544361  29783.335829      -.004109                    
+P 17  16875.199216  21034.095434    565.390937    205.908530                    
+V 17  -1774.314516    821.643512  31459.824101       .195392                    
+P 18  16052.224845 -11836.673784 -17404.235614    -15.256367                    
+V 18  -4566.398010  21828.426604 -19231.011546      -.026355                    
+P 20 -14415.905585  -4607.159986  21759.443540   -184.297085                    
+V 20   6530.080262 -27000.490344  -1383.606700       .027653                    
+P 21  17285.865911  -2520.633689 -20164.963500     73.056319                    
+V 21  16806.836385  19074.830525  11664.891397       .005237                    
+P 22  12191.214332 -22384.394407  -7379.422914    -40.730933                    
+V 22   -275.064236   9929.673136 -29863.569180       .089266                    
+P 24   9136.017655  21838.806478  12262.127025      7.966065                    
+V 24 -11873.590563  -9572.537850  26612.814354       .026485                    
+P 25  -1250.153602 -18804.894980  19091.526186     61.668035                    
+V 25  19221.207293  13647.493890  14967.351892       .006846                    
+P 26  14398.367349  10110.243446 -20336.292407    410.887073                    
+V 26 -23948.631307   7286.122908 -12902.380959      -.124090                    
+P 27 -19205.927230    603.023230 -18071.039108    919.624146                    
+V 27 -17035.369976 -16663.518613  16600.252805       .044223                    
+P 28 -11926.471416  21748.103013  -8879.830925     21.749847                    
+V 28     43.550815 -11982.930185 -29112.472481       .016702                    
+P 29   8118.267220  12715.734234 -21600.680840    229.736343                    
+V 29 -26600.284925   8768.160478  -4724.078809       .033327                    
+P 30  16090.584455  -6569.633916  19827.052963    804.238285                    
+V 30  -4005.815825  25496.872331  11664.857491       .143083                    
+P 31 -18515.397600  -7557.691915 -17967.223413     37.830290                    
+V 31  20335.670203  -8852.693849 -17227.404444       .309501                    
+*  2004  2 29  6 30   .00000000                                                 
+P  1 -22301.655498  -2702.063529  14363.162915    332.475290                    
+V  1  16431.194912  -7290.813807  24406.235012       .016603                    
+P  3  -3403.909966 -15813.159199 -21141.460002     89.702819                    
+V  3  24666.445113 -10442.293909   4081.518625       .030573                    
+P  4  -4616.878846  15500.897370  21026.270008    -76.175000                    
+V  4 -20644.385026 -16993.168526   8315.882751      -.091198                    
+P  5  13280.772123  11923.877202  19594.477539     19.686668                    
+V  5  -3916.119662  24919.502243 -12264.720781       .014787                    
+P  6  25412.669133  -4557.682512   6708.155625     -1.295366                    
+V  6  -6531.974619   6055.529039  29546.609002      -.010224                    
+P  7 -16668.315615  16798.032848  12291.429984    612.240848                    
+V  7 -15058.856888   3151.649976 -25731.492229      -.077620                    
+P  8 -12004.189678   9612.186676 -21870.165283    355.955920                    
+V  8 -20221.699281 -18296.460783   2777.338610      -.088363                    
+P  9  21472.609830  15924.962781    984.804481    -32.248895                    
+V  9   -359.924072   3291.212238 -31256.808507      -.018004                    
+P 10   2002.157199  24514.083570  -9698.450047     40.143858                    
+V 10  -4400.956259  11698.652907  29071.854277       .005561                    
+P 11 -23032.757032 -13079.010914   2786.995620     99.725949                    
+V 11   -516.155001  -5565.341715 -30186.315207       .025400                    
+P 13 -25412.940684   6941.298985   2991.017983    -30.919081                    
+V 13   2887.190004  -3360.318262  31972.185517       .002506                    
+P 14  16485.492760 -15827.357505  13592.934311    -18.151475                    
+V 14  16718.059421  -4204.617622 -25250.914439      -.001138                    
+P 15   5864.193670 -14862.270960 -21407.285835    232.644250                    
+V 15  19565.297485  18136.424663  -7544.533815       .053167                    
+P 16   1087.819341 -26076.429546  -4842.074684     15.306940                    
+V 16   3771.440553  -5677.589251  30977.210447      -.004102                    
+P 17  16613.387036  20995.253589   3384.377424    205.926115                    
+V 17  -4090.787530  -1632.240837  31098.541277       .195409                    
+P 18  15670.365858  -9773.277830 -18978.800796    -15.258806                    
+V 18  -3862.799305  23958.927248 -15709.336100      -.026341                    
+P 20 -13895.085630  -7037.569543  21446.913178   -184.294406                    
+V 20   5032.900045 -26917.185748  -5551.402119       .027664                    
+P 21  18794.630925   -890.634646 -18947.059203     73.057002                    
+V 21  16644.364912  17112.521551  15359.750091       .005245                    
+P 22  12152.415926 -21345.180457  -9995.678905    -40.723264                    
+V 22   -516.549939  13145.613549 -28191.060901       .089267                    
+P 24   7952.385774  20915.519922  14546.272934      7.968490                    
+V 24 -14428.892350 -10865.064728  24075.379336       .026553                    
+P 25    564.383561 -17579.811934  20275.514841     61.668121                    
+V 25  21057.063538  13507.297618  11307.884711       .006405                    
+P 26  12205.328397  10845.509163 -21325.491840    410.875950                    
+V 26 -24698.299091   9051.588950  -9047.067731      -.124091                    
+P 27 -20702.737065   -798.379720 -16423.004932    919.628607                    
+V 27 -16146.628122 -14463.915998  19965.409843       .044238                    
+P 28 -11919.991074  20526.533190 -11413.923094     21.751417                    
+V 28     31.632736 -15133.101259 -27117.497220       .016694                    
+P 29   5730.279818  13575.125031 -21834.177729    229.739794                    
+V 29 -26373.605085  10302.885931   -456.595019       .033321                    
+P 30  15777.077007  -4214.728701  20699.429718    804.251454                    
+V 30  -2925.820781  26752.665926   7692.795436       .143083                    
+P 31 -16630.593772  -8428.795028 -19364.313005     37.856986                    
+V 31  21469.755709 -10510.037681 -13775.846924       .309517                    
+*  2004  2 29  6 45   .00000000                                                 
+P  1 -20730.942274  -3440.732534  16431.400030    332.478281                    
+V  1  18394.914337  -9149.773727  21490.047680       .017382                    
+P  3  -1230.302473 -16793.306687 -20594.376769     89.706177                    
+V  3  23565.882338 -11290.337832   8059.863932       .030707                    
+P  4  -6540.078728  13999.113987  21591.134616    -76.183030                    
+V  4 -22032.758018 -16312.089920   4220.384201      -.091204                    
+P  5  12987.128023  14104.746082  18324.295920     19.686377                    
+V  5  -2633.294925  23464.359213 -15919.641547       .014499                    
+P  6  24703.733399  -3941.054140   9302.869829     -1.295636                    
+V  6  -9168.388918   7690.316839  28032.419641      -.010194                    
+P  7 -17897.005200  17057.466292   9877.499396    612.234673                    
+V  7 -12226.999851   2542.836575 -27836.766887      -.077605                    
+P  8 -13850.182705   8029.123783 -21436.564759    355.947864                    
+V  8 -20726.239475 -16834.227607   6843.230218      -.088315                    
+P  9  21321.197663  16128.178922  -1828.707309    -32.249887                    
+V  9  -3041.913458   1281.219549 -31178.049541      -.017999                    
+P 10   1656.723320  25427.067026  -7004.947359     40.143245                    
+V 10  -3336.086682   8543.095839  30696.901372       .005376                    
+P 11 -22961.233583 -13497.391862     54.174985     99.728155                    
+V 11   2142.849652  -3780.366107 -30456.493972       .025397                    
+P 13 -25011.126802   6571.102135   5834.329994    -30.918613                    
+V 13   5998.328511  -4925.527998  31121.191317       .002504                    
+P 14  17856.479711 -16196.061248  11210.265491    -18.151504                    
+V 14  13721.719666  -3914.167391 -27621.643826      -.001130                    
+P 15   7690.276614 -13258.128811 -21903.479693    232.649040                    
+V 15  20956.974435  17442.183255  -3468.071270       .053024                    
+P 16   1392.476705 -26438.291978  -2020.406309     15.306459                    
+V 16   3064.502108  -2340.335822  31636.228191      -.004089                    
+P 17  16131.442115  20750.650279   6147.829113    205.943073                    
+V 17  -6654.081675  -3741.318324  30227.519381       .195429                    
+P 18  15366.129610  -7536.938594 -20223.879264    -15.261042                    
+V 18  -2852.667466  25660.853015 -11919.908991      -.026333                    
+P 20 -13510.553061  -9435.776707  20763.095015   -184.292057                    
+V 20   3516.731261 -26285.289288  -9622.460087       .027673                    
+P 21  20267.712224    554.676445 -17408.278012     73.057932                    
+V 21  16011.157120  14985.531814  18785.789578       .005250                    
+P 22  12110.690195 -20022.949130 -12439.070658    -40.715477                    
+V 22   -343.483048  16202.852373 -26027.401706       .089271                    
+P 24   6540.303132  19897.598060  16583.695694      7.969887                    
+V 24 -16934.661383 -11674.771826  21138.149072       .026654                    
+P 25   2530.955695 -16385.393126  21121.444405     61.668327                    
+V 25  22587.819577  12973.848235   7465.135196       .006067                    
+P 26   9968.442777  11737.861956 -21959.790728    410.864534                    
+V 26 -24922.912136  10761.464929  -5026.077092      -.124090                    
+P 27 -22097.996073  -1999.246702 -14488.378110    919.632797                    
+V 27 -14781.012682 -12223.076427  22960.412618       .044250                    
+P 28 -11932.744140  19030.987158 -13746.578880     21.752495                    
+V 28   -378.568851 -18055.440425 -24642.783013       .016685                    
+P 29   3387.237580  14564.119825 -21682.561715    229.742814                    
+V 29 -25606.928857  11633.380976   3821.082224       .033316                    
+P 30  15569.073230  -1769.451955  21207.711833    804.264365                    
+V 30  -1674.847719  27499.128476   3586.006902       .143086                    
+P 31 -14665.247456  -9449.113038 -20439.946463     37.885393                    
+V 31  22124.186345 -12154.482883 -10093.426644       .309563                    
+*  2004  2 29  7  0   .00000000                                                 
+P  1 -19005.298060  -4352.343034  18220.532054    332.478949                    
+V  1  19868.321671 -11119.196009  18212.732473       .017913                    
+P  3    826.159821 -17835.745065 -19694.585385     89.708174                    
+V  3  22072.782554 -11816.276990  11908.238802       .030881                    
+P  4  -8570.880218  12575.974432  21784.083424    -76.191529                    
+V  4 -23025.081874 -15256.330826     63.033480      -.091206                    
+P  5  12801.300903  16133.748411  16737.401330     19.688563                    
+V  5  -1532.781289  21552.622965 -19292.769678       .014404                    
+P  6  23772.964696  -3166.674520  11739.799029     -1.296836                    
+V  6 -11451.740193   9549.776272  26045.410912      -.010201                    
+P  7 -18867.217602  17242.978659   7294.816424    612.227444                    
+V  7  -9329.923971   1509.131394 -29475.470766      -.077594                    
+P  8 -15720.982015   6589.536348 -20642.075212    355.939626                    
+V  8 -20766.957524 -15121.886626  10786.155371      -.088268                    
+P  9  20919.560465  16166.489383  -4611.606389    -32.252209                    
+V  9  -5907.146397   -365.738174 -30578.290240      -.018011                    
+P 10   1390.046638  26044.819725  -4189.054901     40.142736                    
+V 10  -2657.797663   5153.803538  31787.368157       .005250                    
+P 11 -22641.445650 -13768.898593  -2679.568994     99.730597                    
+V 11   4988.187003  -2308.972491 -30206.816187       .025394                    
+P 13 -24342.369646   6044.933135   8576.652778    -30.918711                    
+V 13   8805.605972  -6815.918931  29731.190951       .002494                    
+P 14  18952.085583 -16518.295979   8635.233470    -18.152180                    
+V 14  10614.900403  -3170.626956 -29519.466347      -.001121                    
+P 15   9625.120969 -11734.191220 -22030.055921    232.653192                    
+V 15  21971.467203  16364.590555    657.814015       .052862                    
+P 16   1651.606781 -26494.916677    836.076255     15.306462                    
+V 16   2762.852118   1089.246130  31749.897727      -.004073                    
+P 17  15410.555449  20333.672179   8810.462181    205.960889                    
+V 17  -9387.003755  -5455.717762  28861.101958       .195442                    
+P 18  15163.900232  -5168.899832 -21118.356525    -15.263367                    
+V 18  -1609.036175  26877.480011  -7929.653922      -.026325                    
+P 20 -13259.914307 -11752.806764  19719.899732   -184.289426                    
+V 20   2072.422160 -25116.848946 -13525.971634       .027675                    
+P 21  21662.273322   1804.535821 -15575.355355     73.058433                    
+V 21  14899.672462  12784.362991  21887.408760       .005247                    
+P 22  12102.171974 -18436.247996 -14666.945802    -40.707396                    
+V 22    215.112790  19007.649327 -23408.501344       .089275                    
+P 24   4908.422841  18828.424972  18340.677301      7.973705                    
+V 24 -19298.012129 -12006.282771  17852.330863       .026871                    
+P 25   4619.032259 -15254.729714  21615.607990     61.668847                    
+V 25  23747.000338  12100.450343   3501.404133       .005863                    
+P 26   7734.723338  12778.135844 -22227.127930    410.853523                    
+V 26 -24630.804010  12323.550341   -903.254372      -.124090                    
+P 27 -23349.680251  -3000.116222 -12302.660076    919.636761                    
+V 27 -12961.323214 -10034.799842  25538.055671       .044257                    
+P 28 -11998.887987  17286.120847 -15836.558252     21.753531                    
+V 28  -1146.709782 -20659.250456 -21732.824198       .016673                    
+P 29   1135.989451  15660.448492 -21148.397301    229.745853                    
+V 29 -24342.279224  12674.726824   8031.652518       .033305                    
+P 30  15478.210354    719.012238  21343.082729    804.277381                    
+V 30   -337.128047  27709.486026   -581.689603       .143088                    
+P 31 -12662.637951 -10613.674083 -21175.959218     37.913945                    
+V 31  22299.231306 -13701.394387  -6238.746660       .309593                    
+*  2004  2 29  7 15   .00000000                                                 
+P  1 -17170.140706  -5442.777095  19700.522695    332.482378                    
+V  1  20825.802310 -13108.165845  14629.935159       .018447                    
+P  3   2732.917894 -18908.901000 -18456.787967     89.711474                    
+V  3  20250.683278 -11964.837490  15560.238754       .031131                    
+P  4 -10671.033618  11262.099694  21602.774314    -76.199586                    
+V  4 -23565.934112 -13896.724037  -4084.562763      -.091206                    
+P  5  12703.625096  17972.158913  14861.774610     19.689365                    
+V  5   -685.288953  19239.359527 -22326.871278       .014203                    
+P  6  22654.587256  -2217.530251  13977.885866     -1.297446                    
+V  6 -13330.035092  11561.107836  23620.035478      -.010344                    
+P  7 -19577.143283  17316.642870   4586.901418    612.220192                    
+V  7  -6457.841128     60.458756 -30614.889806      -.077581                    
+P  8 -17573.474258   5312.119475 -19500.676585    355.931509                    
+V  8 -20316.221054 -13245.173085  14541.862559      -.088217                    
+P  9  20254.904249  16074.383688  -7317.595226    -32.252672                    
+V  9  -8872.461049  -1612.010271 -29471.972286      -.017988                    
+P 10   1165.713863  26350.699874  -1299.888102     40.143797                    
+V 10  -2399.067342   1629.626898  32322.610980       .005230                    
+P 11 -22060.149501 -13923.562117  -5367.574522     99.732577                    
+V 11   7940.353086  -1188.897324 -29441.508841       .025390                    
+P 13 -23437.508304   5336.559793  11170.484035    -30.918495                    
+V 13  11233.700377  -8961.785358  27826.147942       .002494                    
+P 14  19766.822444 -16753.203490   5911.947478    -18.151950                    
+V 14   7496.723076  -1975.368906 -30911.372590      -.001112                    
+P 15  11632.078655 -10321.944819 -21785.636423    232.658116                    
+V 15  22551.048716  14972.585429   4764.954376       .052775                    
+P 16   1902.257339 -26242.410096   3678.174256     15.306109                    
+V 16   2876.153041   4512.755483  31317.187809      -.004055                    
+P 17  14439.237399  19781.513601  11328.597162    205.978435                    
+V 17 -12204.555834  -6740.919952  27020.561761       .195453                    
+P 18  15081.040881  -2714.764938 -21647.292430    -15.265634                    
+V 18   -214.347919  27568.949467  -3808.640039      -.026316                    
+P 20 -13132.740791 -13941.621156  18335.484564   -184.286845                    
+V 20    787.073079 -23442.709169 -17194.140479       .027680                    
+P 21  22935.585887   2856.363933 -13479.782297     73.058776                    
+V 21  13319.849875  10599.815641  24614.642063       .005250                    
+P 22  12159.617109 -16611.731415 -16640.263484    -40.699209                    
+V 22   1113.419382  21474.175227 -20378.603261       .089278                    
+P 24   3073.614807  17750.148993  19788.339093      7.976931                    
+V 24 -21429.795303 -11882.296236  14274.103747       .026957                    
+P 25   6792.614949 -14215.566285  21749.983588     61.669860                    
+V 25  24479.940654  10952.228229   -519.415057       .005748                    
+P 26   5549.640170  13949.001801 -22121.316187    410.842276                    
+V 26 -23847.850271  13649.220243   3254.846090      -.124088                    
+P 27 -24418.585385  -3809.742352  -9905.215002    919.640620                    
+V 27 -10727.175650  -7987.273360  27659.763872       .044259                    
+P 28 -12148.214373  15324.282320 -17647.005743     21.754753                    
+V 28  -2216.470717 -22864.860289 -18440.392777       .016667                    
+P 29   -981.209695  16834.659161 -20241.161797    229.749044                    
+V 29 -22639.367342  13352.818326  12099.062593       .033291                    
+P 30  15508.361765   3201.919279  21103.425106    804.290234                    
+V 30    999.652231  27375.945419  -4735.490687       .143084                    
+P 31 -10665.288889 -11909.950285 -21559.594634     37.942011                    
+V 31  22011.357828 -15068.013330  -2273.260138       .309614                    
+*  2004  2 29  7 30   .00000000                                                 
+P  1 -15272.362352  -6709.597746  20846.563001    332.483237                    
+V  1  21260.279449 -15023.322196  10802.017877       .018714                    
+P  3   4463.632506 -19976.839326 -16901.546311     89.714792                    
+V  3  18173.829242 -11694.716968  18952.244753       .031439                    
+P  4 -12797.997492  10081.258789  21051.277954    -76.208291                    
+V  4 -23615.663198 -12314.177328  -8151.704174      -.091212                    
+P  5  12668.565563  19586.832696  12730.270479     19.690429                    
+V  5   -150.106793  16593.109253 -24971.014950       .014090                    
+P  6  21386.828058  -1083.530436  15979.488138     -1.299294                    
+V  6 -14766.559049  13643.764871  20797.625008      -.010391                    
+P  7 -20033.037102  17242.223014   1799.865295    612.213165                    
+V  7  -3699.181795  -1775.575454 -31230.306975      -.077567                    
+P  8 -19362.827352   4207.640866 -18031.988877    355.923553                    
+V  8 -19363.589931 -11293.960242  18049.408066      -.088170                    
+P  9  19322.140013  15888.994735  -9902.012618    -32.253923                    
+V  9 -11850.308051  -2436.625557 -27880.930081      -.018106                    
+P 10    945.183077  26337.227743   1612.032624     40.144414                    
+V 10  -2574.053817  -1925.337596  32292.119703       .005125                    
+P 11 -21211.520940 -13994.128974  -7963.948131     99.734988                    
+V 11  10914.476081   -442.570964 -28173.396557       .025387                    
+P 13 -22333.508334   4426.596155  13570.891723    -30.918282                    
+V 13  13222.213443 -11281.190194  25439.131143       .002489                    
+P 14  20304.098739 -16860.898419   3087.106122    -18.152052                    
+V 14   4465.142559   -348.594703 -31772.918341      -.001113                    
+P 15  13669.958393  -9046.190899 -21174.949258    232.662390                    
+V 15  22652.796007  13345.306408   8785.984864       .052705                    
+P 16   2181.522282 -25685.751651   6457.020745     15.305814                    
+V 16   3395.775224   7832.030248  30346.481643      -.004037                    
+P 17  13213.892120  19133.742028  13660.772478    205.995676                    
+V 17 -15016.814839  -7578.845025  24733.872345       .195460                    
+P 18  15127.198821   -222.908985 -21802.145935    -15.267524                    
+V 18   1242.967307  27713.708165    371.217050      -.026310                    
+P 20 -13111.067159 -15958.762353  16633.927243   -184.284490                    
+V 20   -259.501362 -21311.351939 -20563.391534       .027679                    
+P 21  24046.592170   3715.639749 -11157.268962     73.059355                    
+V 21  11298.766135   8519.614080  26923.796387       .005255                    
+P 22  12310.967682 -14583.296315 -18324.314035    -40.691139                    
+V 22   2290.639235  23527.837226 -16989.580907       .089280                    
+P 24   1060.481323  16702.102793  20903.047282      7.978525                    
+V 24 -23247.850787 -11342.442708  10463.685212       .027004                    
+P 25   9011.392933 -13289.346201  21522.340586     61.669289                    
+V 25  24745.764575   9603.642696  -4532.654426       .005432                    
+P 26   3455.571129  15225.443973 -21642.249035    410.830739                    
+V 26 -22616.714716  14656.841927   7379.798005      -.124084                    
+P 27 -25269.765248  -4444.438811  -7338.480791    919.644651                    
+V 27  -8133.236079  -6159.792625  29295.828514       .044263                    
+P 28 -12404.816110  13184.373654 -19146.147092     21.756030                    
+V 28  -3517.984067 -24606.775134 -14825.433252       .016662                    
+P 29  -2928.184125  18051.237994 -18977.062348    229.751998                    
+V 29 -20573.103091  13607.532857  15950.069634       .033279                    
+P 30  15655.492744   5630.690401  20493.341866    804.303327                    
+V 30   2248.064712  26509.963610  -8801.111117       .143079                    
+P 31  -8713.533709 -13318.165358 -21583.727465     37.970015                    
+V 31  21292.623532 -16176.526224   1739.471344       .309635                    
+*  2004  2 29  7 45   .00000000                                                 
+P  1 -13358.652152  -8141.989128  21639.453323    332.485394                    
+V  1  21183.298247 -16772.422369   6793.108072       .019175                    
+P  3   5999.024288 -21000.607856 -15054.979663     89.718533                    
+V  3  15924.362423 -10980.434182  22024.565758       .031662                    
+P  4 -14906.428910   9049.608331  20139.943458    -76.217033                    
+V  4 -23151.855428 -10596.377067 -12069.757225      -.091214                    
+P  5  12665.854677  20951.302440  10380.013808     19.691546                    
+V  5     27.229434  13693.247010 -27181.358925       .013941                    
+P  6  20010.485070    237.931209  17710.967650     -1.299857                    
+V  6 -15741.038048  15712.492672  17625.705972      -.010332                    
+P  7 -20248.905362  16986.741286  -1018.345696    612.206060                    
+V  7  -1137.211485  -3954.343581 -31305.773316      -.077554                    
+P  8 -21044.061414   3278.719650 -16260.937705    355.915402                    
+V  8 -17916.239129  -9358.889471  21251.962448      -.088120                    
+P  9  18124.139939  15648.574239 -12322.475094    -32.255762                    
+V  9 -14751.837750  -2835.713303 -25833.853375      -.018313                    
+P 10    689.512012  26006.377937   4495.708062     40.143390                    
+V 10  -3177.453378  -5405.771635  31695.793999       .004912                    
+P 11 -20097.500032 -14014.644454 -10424.330475     99.737007                    
+V 11  13823.416801    -76.345795 -26423.702232       .025387                    
+P 13 -21072.013613   3303.462529  15736.308146    -30.917932                    
+V 13  14727.897683 -13683.166555  22611.722219       .002485                    
+P 14  20575.947876 -16804.139844    209.204874    -18.152367                    
+V 14   1613.267357   1671.297253 -32088.681521      -.001109                    
+P 15  15694.433442  -7924.263028 -20208.713921    232.668537                    
+V 15  22250.171189  11569.032870  12655.279827       .052593                    
+P 16   2524.908173 -24838.607487   9124.919652     15.305446                    
+V 16   4295.200545  10952.791619  28855.367333      -.004019                    
+P 17  11739.124563  18430.789346  15768.336212    206.013635                    
+V 17 -17731.981865  -7968.411928  22035.451688       .195467                    
+P 18  15303.928774   2257.206634 -21580.882644    -15.269839                    
+V 18   2672.119139  27309.227267   4537.456353      -.026309                    
+P 20 -13170.195528 -17765.863205  14644.794745   -184.282404                    
+V 20   -998.012112 -18787.054290 -23575.496065       .027680                    
+P 21  24957.409179   4395.477288  -8647.154890     73.059833                    
+V 21   8879.688003   6625.182873  28777.994043       .005248                    
+P 22  12578.109266 -12390.936249 -19689.367621    -40.683185                    
+V 22   3673.434919  25108.191852 -13300.064834       .089282                    
+P 24  -1099.407970  15719.353123  21666.734202      7.980875                    
+V 24 -24679.974134 -10441.556902   6484.393114       .027098                    
+P 25  11232.055759 -12490.494961  20936.272650     61.671235                    
+V 25  24518.901226   8135.698794  -8473.690061       .005314                    
+P 26   1490.347815  16575.537618 -20796.027671    410.819769                    
+V 26 -20995.483360  15275.043216  11402.245725      -.124080                    
+P 27 -25873.787265  -4927.148782  -4647.168285    919.648560                    
+V 27  -5246.949421  -4619.960765  30425.438362       .044266                    
+P 28 -12785.999002  10910.455366 -20307.878694     21.757710                    
+V 28  -4970.836460 -25836.226341 -10953.792326       .016656                    
+P 29  -4676.069123  19269.988413 -17378.715223    229.755130                    
+V 29 -18230.479106  13395.305419  19515.731374       .033268                    
+P 30  15907.850215   7958.627595  19524.042818    804.316309                    
+V 30   3324.621564  25141.726602 -12706.256845       .143074                    
+P 31  -6844.159888 -14811.873218 -21247.018561     37.998375                    
+V 31  20189.536788 -16957.002508   5734.564619       .309653                    
+*  2004  2 29  8  0   .00000000                                                 
+P  1 -11473.841807  -9721.016160  22065.898080    332.487917                    
+V  1  20624.437064 -18267.857055   2670.113225       .019542                    
+P  3   7327.445198 -21939.722652 -12948.360750     89.722701                    
+V  3  13589.180715  -9813.588633  24722.553131       .031817                    
+P  4 -16949.776093   8175.238888  18885.163104    -76.225078                    
+V  4 -22170.138638  -8834.289380 -15773.235736      -.091211                    
+P  5  12661.814136  22046.619963   7851.731599     19.692069                    
+V  5   -183.292555  10626.960787 -28921.792138       .013829                    
+P  6  18567.417717   1741.695851  19143.214496     -1.302036                    
+V  6 -16250.200817  17680.528599  14157.250937      -.010427                    
+P  7 -20245.892570  16521.953803  -3818.769250    612.199107                    
+V  7   1153.235939  -6415.560320 -30834.754142      -.077545                    
+P  8 -22573.630090   2519.909252 -14217.349920    355.907141                    
+V  8 -15998.766890  -7528.001581  24097.558868      -.088069                    
+P  9  16671.715708  15390.956822 -14539.468771    -32.259259                    
+V  9 -17489.972093  -2822.337736 -23365.726230      -.018554                    
+P 10    361.108165  25369.505144   7300.601096     40.143720                    
+V 10  -4184.670719  -8709.225604  30543.990667       .004860                    
+P 11 -18727.851691 -14018.993684 -12706.638376     99.739587                    
+V 11  16580.962910    -80.335003 -24221.719454       .025385                    
+P 13 -19697.727750   1964.039779  17629.263316    -30.917575                    
+V 13  15726.204162 -16071.287011  19393.261281       .002480                    
+P 14  20602.432719 -16549.913828  -2672.290939    -18.152415                    
+V 14   -974.139639   4029.052934 -31852.570297      -.001103                    
+P 15  17659.565668  -6965.530677 -18903.444308    232.673293                    
+V 15  21334.019453   9733.906437  16309.845537       .052370                    
+P 16   2964.768715 -23722.822749  11636.158916     15.304970                    
+V 16   5531.122830  13788.121420  26870.272551      -.004001                    
+P 17  10027.768532  17712.417267  17616.013285    206.031422                    
+V 17 -20259.517815  -7925.550139  18965.870747       .195475                    
+P 18  15604.646461   4676.751048 -20987.966151    -15.271997                    
+V 18   3983.642752  26371.982518   8618.348757      -.026307                    
+P 20 -13279.773024 -19330.962420  12402.615346   -184.279984                    
+V 20  -1372.509056 -15947.437343 -26178.591980       .027685                    
+P 21  25634.721714   4915.922854  -5991.774631     73.059858                    
+V 21   6120.558447   4988.680448  30147.624798       .005245                    
+P 22  12975.872463 -10079.356601 -20711.237196    -40.674819                    
+V 22   5178.900484  26171.320465  -9374.414046       .089286                    
+P 24  -3368.531696  14831.429701  22067.135250      7.983501                    
+V 24 -25666.504515  -9247.437323   2401.711509       .027115                    
+P 25  13409.720051 -11825.965569  20001.156793     61.671783                    
+V 25  23790.090726   6632.930498 -12278.764833       .004972                    
+P 26   -314.048540  17961.509975 -19594.998123    410.808086                    
+V 26 -19055.703764  15445.711088  15252.954897      -.124077                    
+P 27 -26207.765367  -5286.287055  -1877.465649    919.652576                    
+V 27  -2145.879255  -3421.440224  31036.539542       .044260                    
+P 28 -13301.484818   8550.152619 -21112.236798     21.759044                    
+V 28  -6487.508840 -26523.011276  -6895.823871       .016647                    
+P 29  -6204.239435  20447.611031 -15474.695901    229.757062                    
+V 29 -15706.969849  12690.997697  22732.780511       .033257                    
+P 30  16246.476616  10142.547067  18213.101637    804.329323                    
+V 30   4153.269369  23318.868103 -16382.029011       .143067                    
+P 31  -5089.178785 -16358.791510 -20553.996528     38.026035                    
+V 31  18761.410508 -17350.105807   9646.652308       .309675                    
+*  2004  2 29  8 15   .00000000                                                 
+P  1  -9659.333497 -11420.193726  22118.710650    332.489195                    
+V  1  19630.071319 -19429.993740  -1498.289575       .019791                    
+P  3   8445.156663 -22753.737682 -10617.613695     89.725762                    
+V  3  11256.581428  -8203.467433  26997.662327       .031809                    
+P  4 -18881.912882   7458.040319  17309.043816    -76.233565                    
+V  4 -20684.307728  -7118.592998 -19200.790767      -.091214                    
+P  5  12620.808663  22861.913211   5189.033972     19.694064                    
+V  5   -795.010904   7485.970394 -30164.425869       .013734                    
+P  6  17099.014327   3414.850104  20252.101392     -1.303334                    
+V  6 -16307.727924  19462.851817  10449.873860      -.010338                    
+P  7 -20051.384711  15825.672695  -6552.297437    612.192330                    
+V  7   3108.767382  -9085.328162 -29820.613251      -.077536                    
+P  8 -23910.957283   1918.079306 -11935.484433    355.899294                    
+V  8 -13652.398895  -5883.478638  26539.784337      -.088013                    
+P  9  14983.324513  15152.064479 -16516.890098    -32.260614                    
+V  9 -19982.369381  -2425.771390 -20517.253486      -.018588                    
+P 10    -74.573017  24446.905316   9977.571207     40.143532                    
+V 10  -5552.797960 -11740.099427  28857.337755       .004835                    
+P 11 -17119.938965 -14039.456035 -14771.771761     99.742248                    
+V 11  19104.999565   -428.869002 -21604.360224       .025386                    
+P 13 -18256.689185    413.991198  19217.043738    -30.917572                    
+V 13  16212.089670 -18347.456820  15839.946933       .002473                    
+P 14  20410.748379 -16070.864997  -5507.793843    -18.152548                    
+V 14  -3223.844245   6654.566146 -31067.973822      -.001097                    
+P 15  19519.392138  -6171.203685 -17281.173337    232.677844                    
+V 15  19912.957839   7930.542648  19690.168534       .052107                    
+P 16   3528.867903 -22367.613362  13947.784132     15.304959                    
+V 16   7045.196887  16261.641175  24425.954398      -.003981                    
+P 17   8100.631878  17016.206729  19172.444457    206.048928                    
+V 17 -22513.278556  -7482.654487  15571.516472       .195479                    
+P 18  16014.911048   6989.206085 -20034.236371    -15.274075                    
+V 18   5092.997954  24936.708427  12544.127388      -.026308                    
+P 20 -13405.099112 -20629.575698   9946.264288   -184.277484                    
+V 20  -1342.656978 -12880.505315 -28328.080390       .027691                    
+P 21  26051.015745   5303.000482  -3235.786649     73.060116                    
+V 21   3091.973319   3670.385238  31010.709845       .005244                    
+P 22  13511.321504  -7696.404213 -21371.742558    -40.666674                    
+V 22   6717.947801  26691.562226  -5281.550480       .089286                    
+P 24  -5704.645280  14061.275726  22097.942143      7.985567                    
+V 24 -26162.456548  -7838.176726  -1717.634246       .027094                    
+P 25  15499.422462 -11295.061895  18732.038055     61.672145                    
+V 25  22566.846285   5180.254385 -15885.818832       .004680                    
+P 26  -1932.589363  19341.054248 -18057.689113    410.795666                    
+V 26 -16879.869424  15126.597267  18863.967296      -.124070                    
+P 27 -26256.140413  -5554.406563    923.738265    919.657361                    
+V 27   1085.222005  -2602.303751  31125.559488       .044253                    
+P 28 -13952.937716   6152.930694 -21545.737174     21.760589                    
+V 28  -7977.096927 -26656.549247  -2724.913045       .016641                    
+P 29  -7500.897889  21539.416984 -13298.972091    229.759584                    
+V 29 -13102.608974  11488.983723  25544.846192       .033248                    
+P 30  16646.024075  12144.265462  16584.090901    804.341966                    
+V 30   4668.545393  21104.492249 -19764.223828       .143059                    
+P 31  -3474.764989 -17921.865459 -19515.061599     38.054027                    
+V 31  17078.249535 -17309.486225  13410.774368       .309695                    
+*  2004  2 29  8 30   .00000000                                                 
+P  1  -7951.666540 -13206.344687  21796.926493    332.492182                    
+V  1  18261.535905 -20190.233012  -5642.681190       .020071                    
+P  3   9356.300737 -23403.838162  -8102.719740     89.728580                    
+V  3   9012.818518  -6176.960725  28808.435445       .031764                    
+P  4 -20658.754249   6889.886268  15438.993911    -76.241694                    
+V  4 -18725.781459  -5536.175236 -22296.102748      -.091208                    
+P  5  12506.774041  23394.641035   2437.657654     19.693097                    
+V  5  -1804.091765   4363.114341 -30889.935993       .013741                    
+P  6  15644.691592   5237.027131  21018.863331     -1.303833                    
+V  6 -15943.593656  20979.371214   6564.976457      -.010201                    
+P  7 -19697.858560  14882.875417  -9170.582063    612.185743                    
+V  7   4680.042411 -11878.808102 -28276.899446      -.077527                    
+P  8 -25019.876050   1453.081844  -9453.503398    355.891653                    
+V  8 -10933.616041  -4498.601374  28538.414090      -.087956                    
+P  9  13084.516250  14964.500339 -18222.534663    -32.262403                    
+V  9 -22154.197983  -1690.244669 -17334.281028      -.018572                    
+P 10   -647.453108  23267.030015  12479.781878     40.143969                    
+V 10  -7222.361827 -14413.341897  26666.319418       .004860                    
+P 11 -15298.216421 -14105.327913 -16584.274442     99.744135                    
+V 11  21320.539610  -1081.554296 -18615.582825       .025388                    
+P 13 -16794.508227  -1332.261390  20472.264374    -30.917576                    
+V 13  16200.052737 -20415.778600  12013.810319       .002476                    
+P 14  20034.057493 -15346.520664  -8248.448186    -18.152170                    
+V 14  -5076.883219   9465.470783 -29747.749746      -.001091                    
+P 15  21229.518908  -5534.442440 -15369.103205    232.682017                    
+V 15  18013.146383   6246.644128  22741.019715       .051846                    
+P 16   4239.127159 -20808.489625  16020.320243     15.304450                    
+V 16   8766.363811  18310.274395  21564.857442      -.003962                    
+P 17   5985.962908  16376.121370  20410.692445    206.065834                    
+V 17 -24414.559792  -6687.485770  11904.196072       .195486                    
+P 18  16513.022364   9151.950074 -18736.680011    -15.276525                    
+V 18   5923.943050  23054.966782  16248.151141      -.026307                    
+P 20 -13508.610165 -21645.481846   7318.274934   -184.274655                    
+V 20   -885.386265  -9681.294627 -29987.382280       .027698                    
+P 21  26185.609374   5587.541187   -425.473344     73.060826                    
+V 21   -125.280921   2716.517854  31353.179740       .005241                    
+P 22  14183.361198  -5291.373020 -21659.064223    -40.658615                    
+V 22   8198.970435  26662.525755  -1093.680448       .089284                    
+P 24  -8062.178429  13424.454481  21758.873450      7.987466                    
+V 24 -26139.133782  -6299.156818  -5806.590525       .027132                    
+P 25  17457.628931 -10889.547475  17149.439019     61.670953                    
+V 25  20873.351945   3859.789239 -19235.329709       .004346                    
+P 26  -3348.051965  20668.855854 -16208.641710    410.784688                    
+V 26 -14558.413220  14293.409898  22169.848021      -.124061                    
+P 27 -26011.189176  -5766.744300   3709.600862    919.661155                    
+V 27   4357.495811  -2184.004612  30697.029027       .044243                    
+P 28 -14733.831855   3768.312178 -21601.580004     21.762097                    
+V 28  -9349.144231 -26246.118241   1484.035407       .016637                    
+P 29  -8563.303058  22501.102109 -10890.234861    229.762854                    
+V 29 -10517.920981   9803.413231  27903.492145       .033247                    
+P 30  17075.832508  13931.880251  14666.105964    804.354906                    
+V 30   4818.266346  18574.594898 -22794.498535       .143050                    
+P 31  -2020.404761 -19460.529355 -18146.406789     38.082611                    
+V 31  15218.227182 -16803.765141  16963.324560       .309710                    
+*  2004  2 29  8 45   .00000000                                                 
+P  1  -6381.274145 -15040.716028  21105.823305    332.492975                    
+V  1  16592.750973 -20493.671960  -9693.937766       .020104                    
+P  3  10072.562655 -23854.394646  -5447.039118     89.732023                    
+V  3   6938.710514  -3777.774293  30121.377360       .031640                    
+P  4 -22239.793967   6455.126477  13307.234129    -76.249784                    
+V  4 -16342.422777  -4166.815689 -25008.671682      -.091205                    
+P  5  12284.760159  23650.539742   -355.314724     19.695119                    
+V  5  -3189.692098   1348.934313 -31087.758822       .013804                    
+P  6  14240.479732   7180.987776  21430.398435     -1.305599                    
+V  6 -15202.825373  22157.942891   2566.851561      -.010070                    
+P  7 -19221.518749  13686.548817 -11626.955723    612.178336                    
+V  7   5833.857152 -14703.425656 -26227.403843      -.077517                    
+P  8 -25869.919651   1098.677905  -6812.888890    355.884724                    
+V  8  -7912.249648  -3435.021001  30059.987926      -.087899                    
+P  9  11007.142528  14856.276790 -19628.533643    -32.265014                    
+V  9 -23940.643369   -673.219044 -13867.211651      -.018561                    
+P 10  -1381.444751  21865.386514  14763.560753     40.144659                    
+V 10  -9119.762719 -16657.709389  24010.643557       .004903                    
+P 11 -13293.461372 -14241.666645 -18112.938254     99.746229                    
+V 11  23162.500846  -1984.897762 -15305.705963       .025389                    
+P 13 -15354.635626  -3251.906753  21373.343415    -30.917061                    
+V 13  15723.399795 -22186.333548   7981.585300       .002472                    
+P 14  19510.102687 -14364.258720 -10846.975513    -18.152070                    
+V 14  -6490.756925  12370.224781 -27914.045597      -.001087                    
+P 15  22748.666703  -5040.768672 -13199.185282    232.686188                    
+V 15  15677.450728   4763.725418  25412.213791       .051681                    
+P 16   5110.604241 -19085.953813  17818.430068     15.304193                    
+V 16  10613.659441  19886.491181  18336.354359      -.003944                    
+P 17   3718.650284  15821.194354  21308.709233    206.083517                    
+V 17 -25894.959450  -5601.532826   8020.667342       .195497                    
+P 18  17070.906854  11127.684328 -17118.099971    -15.278851                    
+V 18   6411.557372  20793.094984  19667.984744      -.026312                    
+P 20 -13551.482056 -22371.194771   4564.088617   -184.272109                    
+V 20      4.143553  -6448.267018 -31128.542540       .027696                    
+P 21  26025.445485   5803.838506   2391.980106     73.061101                    
+V 21  -3443.045713   2157.569183  31169.067181       .005238                    
+P 22  14982.680465  -2913.253042 -21567.978190    -40.650458                    
+V 22   9531.633265  26097.330967   3115.068783       .089281                    
+P 24 -10393.752701  12928.637783  21055.663528      7.989836                    
+V 24 -25585.177481  -4719.807603  -9798.675910       .027243                    
+P 25  19243.709045 -10594.038325  15279.093236     61.670700                    
+V 25  18749.789725   2747.741890 -22271.163038       .004326                    
+P 26  -4551.583339  21898.279523 -14078.123324    410.773552                    
+V 26 -12186.299531  12941.278900  25109.004254      -.124052                    
+P 27 -25473.253188  -5959.702415   6434.035348    919.665176                    
+V 27   7581.102831  -2170.963510  29763.133596       .044233                    
+P 28 -15629.662684   1444.109709 -21279.718759     21.763338                    
+V 28 -10517.418545 -25320.276531   5656.100885       .016633                    
+P 29  -9397.630952  23290.507703  -8291.145462    229.765850                    
+V 29  -8049.886221   7667.653215  29769.049120       .033248                    
+P 30  17501.224599  15480.795352  12493.190831    804.368684                    
+V 30   4565.643983  15815.002334 -25421.379788       .143040                    
+P 31   -738.287477 -20932.125211 -16469.851503     38.110789                    
+V 31  13264.822147 -15818.030740  20243.048573       .309718                    
+*  2004  2 29  9  0   .00000000                                                 
+P  1  -4971.474973 -16880.313476  20056.847641    332.495435                    
+V  1  14707.392878 -20301.281231 -13584.270511       .020366                    
+P  3  10612.535610 -24074.415173  -2696.559885     89.734425                    
+V  3   5106.438467  -1064.957265  30911.698530       .031526                    
+P  4 -23589.509364   6131.364799  10950.242197    -76.258044                    
+V  4 -13596.775332  -3080.171802 -27294.503460      -.091205                    
+P  5  11922.430216  23643.266862  -3142.246668     19.696461                    
+V  5  -4914.766666  -1471.616857 -30756.145831       .013848                    
+P  6  12917.743990   9213.461714  21479.486365     -1.309050                    
+V  6 -14143.722985  22937.114131  -1478.251370      -.009860                    
+P  7 -18660.775392  12238.225029 -13877.346745    612.171085                    
+V  7   6554.586535 -17462.489971 -23705.963410      -.077507                    
+P  8 -26437.419359    823.692083  -4057.810437    355.878217                    
+V  8  -4669.103238  -2740.435914  31078.325439      -.087868                    
+P  9   8788.354607  14849.718374 -20711.737408    -32.266117                    
+V  9 -25289.081334    556.760153 -10170.414310      -.018536                    
+P 10  -2293.312421  20283.169714  16789.193812     40.145691                    
+V 10 -11160.297890 -18418.445979  20938.411770       .004927                    
+P 11 -11141.770484 -14468.203913 -19331.340603     99.748646                    
+V 11  24578.126240  -3074.438569 -11730.616656       .025396                    
+P 13 -13976.730725  -5314.444238  21904.871601    -30.916905                    
+V 13  14832.774231 -23578.728563   3813.498693       .002468                    
+P 14  18879.649821 -13119.980161 -13258.496392    -18.152543                    
+V 14  -7440.984283  15271.568542 -25597.954424      -.001085                    
+P 15  24040.114764  -4668.761956 -10807.633714    232.690980                    
+V 15  12964.022521   3554.056233  27659.322633       .051571                    
+P 16   6150.742597 -17244.022145  19311.499777     15.303863                    
+V 16  12499.396062  20959.955050  14795.884624      -.003928                    
+P 17   1339.177000  15374.385764  21849.757166    206.101450                    
+V 17 -26898.964100  -4297.866197   3982.078885       .195505                    
+P 18  17655.255567  12885.650258 -15206.691804    -15.280984                    
+V 18   6504.802895  18229.621204  22746.381904      -.026314                    
+P 20 -13495.287091 -22808.104587   1731.257336   -184.269690                    
+V 20   1312.303345  -3279.587626 -31732.672685       .027703                    
+P 21  25565.618164   5988.178443   5169.220401     73.061858                    
+V 21  -6768.872223   2007.189300  30460.614095       .005236                    
+P 22  15892.036634   -608.992946 -21099.965353    -40.642377                    
+V 22  10630.628496  25028.065847   7270.065641       .089276                    
+P 24 -12651.766860  12573.392746  19999.970952      7.991776                    
+V 24 -24507.020458  -3190.236635 -13628.869556       .027315                    
+P 25  20821.324451 -10386.669227  13151.601753     61.671122                    
+V 25  16251.105278   1911.461494 -24941.429807       .004416                    
+P 26  -5542.943418  22983.156387 -11701.720895    410.762477                    
+V 26  -9859.330170  11085.497909  27625.045087      -.124045                    
+P 27 -24650.688203  -6169.319142   9052.377694    919.669396                    
+V 27  10668.289923  -2550.751024  28343.220166       .044217                    
+P 28 -16618.489462   -775.253977 -20586.795636     21.764895                    
+V 28 -11403.470223 -23925.510652   9717.802219       .016628                    
+P 29 -10018.481586  23869.295338  -5547.517030    229.768823                    
+V 29  -5788.112132   5132.946266  31111.228054       .033244                    
+P 30  17884.962381  16774.454598  10103.681030    804.381037                    
+V 30   3890.750209  12917.963965 -27601.097664       .143024                    
+P 31    367.033189 -22293.431280 -14512.583272     38.138820                    
+V 31  11303.702653 -14354.772535  23192.085585       .309717                    
+*  2004  2 29  9 15   .00000000                                                 
+P  1  -3737.736212 -18679.407161  18667.448139    332.495664                    
+V  1  12695.707081 -19591.517301 -17248.260150       .020546                    
+P  3  11000.811003 -24038.835787    100.913159     89.737358                    
+V  3   3576.669395   1889.207025  31163.899277       .031513                    
+P  4 -24678.583679   5890.491074   8408.140333    -76.266684                    
+V  4 -10563.786705  -2333.167150 -29116.691935      -.091205                    
+P  5  11391.459861  23393.758576  -5875.738551     19.698654                    
+V  5  -6927.479802  -4022.225111 -29902.084372       .013810                    
+P  6  11702.088505  11296.219650  21164.921117     -1.306321                    
+V  6 -12835.598050  23268.498868  -5503.093693      -.009537                    
+P  7 -18054.624206  10548.178627 -15881.164430    612.164182                    
+V  7   6844.896743 -20059.075604 -20755.995873      -.077499                    
+P  8 -26706.369641    593.354923  -1234.449111    355.870669                    
+V  8  -1293.174485  -2446.753380  31574.974982      -.087869                    
+P  9   6469.422986  14960.574511 -21454.045466    -32.267819                    
+V  9 -26160.858812   1922.567896  -6301.621164      -.018567                    
+P 10  -3391.826630  18565.683133  18521.636899     40.146371                    
+V 10 -13251.635169 -19659.274853  17505.117475       .004862                    
+P 11  -8883.358128 -14798.471070 -20218.306295     99.750870                    
+V 11  25528.954936  -4277.310890  -7950.880839       .025402                    
+P 13 -12695.192923  -7482.687165  22057.869985    -30.916575                    
+V 13  13594.010783 -24525.269099   -417.994397       .002469                    
+P 14  18184.822473 -11618.458464 -15441.313921    -18.152871                    
+V 14  -7921.956314  18070.224797 -22839.008471      -.001079                    
+P 15  25072.992290  -4391.017677  -8234.377009    232.695898                    
+V 15   9944.340685   2677.924401  29444.339352       .051402                    
+P 16   7358.919306 -15328.627661  20474.142858     15.303723                    
+V 16  14332.595039  21518.515187  11004.007129      -.003919                    
+P 17  -1107.642477  15051.654384  22022.775017    206.119071                    
+V 17 -27386.166267  -2858.529694   -146.695625       .195511                    
+P 18  18228.868500  14402.593722 -13035.536460    -15.283479                    
+V 18   6168.535181  15452.250868  25432.161107      -.026324                    
+P 20 -13303.639784 -22966.284134  -1131.385924   -184.267494                    
+V 20   3007.480443   -269.436671 -31790.226615       .027706                    
+P 21  24809.613652   6177.296176   7859.466492     73.062416                    
+V 21 -10009.265623   2261.675848  29238.290979       .005225                    
+P 22  16886.870266   1578.153764 -20263.192282    -40.634336                    
+V 22  11419.238714  23504.477535  11297.610119       .089271                    
+P 24 -14789.995715  12350.273719  18609.207522      7.994549                    
+V 24 -22928.732051  -1797.836270 -17234.488079       .027434                    
+P 25  22159.681801 -10240.013709  10802.012391     61.672053                    
+V 25  13445.237594   1406.764183 -27199.344452       .004489                    
+P 26  -6330.408120  23879.602409  -9119.811322    410.751727                    
+V 26  -7670.302996   8761.468778  29668.142441      -.124042                    
+P 27 -23559.543690  -6429.781641  11522.008057    919.673146                    
+V 27  13536.308456  -3294.829587  26463.281189       .044191                    
+P 28 -17671.782638  -2850.272197 -19535.949549     21.766340                    
+V 28 -11939.825849 -22124.184806  13598.468945       .016624                    
+P 29 -10448.056236  24204.468319  -2707.451178    229.771222                    
+V 29  -3811.368741   2266.358806  31909.509200       .033240                    
+P 30  18188.804541  17804.758455   7539.479662    804.393980                    
+V 30   2791.285108   9978.545972 -29298.235318       .143008                    
+P 31   1298.690021 -23502.247196 -12306.804298     38.166978                    
+V 31   9419.459518 -12434.196873  25757.039313       .309718                    
+*  2004  2 29  9 30   .00000000                                                 
+P  1  -2687.235535 -20391.154608  16960.816205    332.500277                    
+V  1  10651.072275 -18361.308815 -20623.877260       .020935                    
+P  3  11266.829201 -23729.595362   2896.614149     89.740644                    
+V  3   2396.130271   5001.869722  30872.173555       .031390                    
+P  4 -25484.903570   5699.926689   5724.035017    -76.274312                    
+V  4  -7328.103800  -1967.867638 -30445.897390      -.091209                    
+P  5  10668.784031  22929.327744  -8509.405396     19.700217                    
+V  5  -9163.162338  -6237.916314 -28541.092726       .013738                    
+P  6  10612.482515  13387.339517  20491.555450     -1.306591                    
+V  6 -11356.107545  23118.700283  -9440.442708      -.009445                    
+P  7 -17440.997557   8635.268965 -17602.130176    612.157673                    
+V  7   6725.672486 -22399.995065 -17429.762795      -.077496                    
+P  8 -26669.028518    370.786340   1609.715534    355.862348                    
+V  8   2121.435845  -2568.803717  31539.588931      -.087877                    
+P  9   4094.416283  15197.371041 -21842.681287    -32.269434                    
+V  9 -26532.632335   3341.290344  -2321.304212      -.018533                    
+P 10  -4677.245391  16760.614693  19931.130485     40.145337                    
+V 10 -15297.585112 -20363.623767  13772.502872       .004789                    
+P 11  -6561.200511 -15239.171056 -20758.285308     99.753349                    
+V 11  25992.267351  -5515.143921  -4030.767164       .025401                    
+P 13 -11537.913355  -9714.030203  21829.932373    -30.916381                    
+V 13  12085.404433 -24973.633752  -4639.504827       .002466                    
+P 14  17467.392636  -9873.350457 -17357.644628    -18.152944                    
+V 14  -7947.051922  20668.696285 -19684.518093      -.001077                    
+P 15  25823.371496  -4175.333406  -5522.452256    232.700383                    
+V 15   6700.772808   2181.311898  30736.287903       .051177                    
+P 16   8726.308402 -13385.964555  21286.615542     15.303684                    
+V 16  16022.540340  21568.511977   7025.382723      -.003913                    
+P 17  -3574.104624  14861.282694  21822.678833    206.136800                    
+V 17 -27333.022248  -1371.533810  -4297.843230       .195513                    
+P 18  18752.152532  15663.443246 -10642.019338    -15.285782                    
+V 18   5384.896235  12554.542061  27680.966364      -.026336                    
+P 20 -12943.766947 -22863.970433  -3974.574078   -184.265379                    
+V 20   5041.269316   2495.503629 -31301.107708       .027706                    
+P 21  23769.255986   6406.814558  10417.247616     73.062801                    
+V 21 -13072.985238   2900.083189  27520.724974       .005220                    
+P 22  17936.226240   3610.132182 -19072.363239    -40.626218                    
+V 22  11832.555160  21591.951091  15126.353714       .089262                    
+P 24 -16765.147653  12243.216475  16906.288862      7.995539                    
+V 24 -20891.256869   -623.977831 -20556.050941       .027577                    
+P 25  23234.603800 -10122.228918   8269.322152     61.672053                    
+V 25  10410.855712   1275.627288 -29004.072612       .004466                    
+P 26  -6930.325915  24547.794174  -6376.911136    410.740840                    
+V 26  -5705.181771   6023.805321  31196.344655      -.124041                    
+P 27 -22222.989367  -6772.029068  13802.925334    919.678210                    
+V 27  16110.105040  -4359.807785  24155.431265       .044163                    
+P 28 -18755.537481  -4747.668260 -18146.505618     21.767508                    
+V 28 -12072.692391 -19991.894640  17231.499141       .016616                    
+P 29 -10715.044492  24269.680262    179.550451    229.773846                    
+V 29  -2184.624586   -851.878519  32153.310782       .033240                    
+P 30  18375.100783  18572.152859   4845.283437    804.406409                    
+V 30   1282.632484   7090.976068 -30486.191003       .142992                    
+P 31   2067.256467 -24518.978061  -9889.281007     38.194992                    
+V 31   7692.302967 -10093.883201  27890.058353       .309714                    
+*  2004  2 29  9 45   .00000000                                                 
+P  1  -1818.739054 -21969.282689  14965.535884    332.502146                    
+V  1   8666.434830 -16626.375355 -23653.478231       .020812                    
+P  3  11443.536355 -23136.448883   5641.699381     89.742196                    
+V  3   1595.740721   8182.740598  30040.614731       .031176                    
+P  4 -25994.297561   5524.036714   2943.318341    -76.282797                    
+V  4  -3981.037816  -2009.913425 -31260.722441      -.091217                    
+P  5   9737.645975  22282.538014 -10998.631101     19.701045                    
+V  5 -11546.736661  -8067.316533 -26696.898275       .013605                    
+P  6   9660.641485  15442.622600  19470.254735     -1.307521                    
+V  6  -9788.271219  22470.709124 -13224.088280      -.009455                    
+P  7 -16855.158181   6526.427804 -19009.030378    612.150739                    
+V  7   6235.142307 -24399.677782 -13787.370791      -.077497                    
+P  8 -26326.229322    118.567873   4426.648626    355.855690                    
+V  8   5478.829342  -3103.659679  30970.215673      -.087886                    
+P  9   1708.781137  15561.023003 -21870.409740    -32.269150                    
+V  9 -26397.223103   4727.225808   1707.978450      -.018566                    
+P 10  -6141.142516  14916.238371  20993.706465     40.145373                    
+V 10 -17202.008810 -20535.043132   9807.308585       .004996                    
+P 11  -4219.575668 -15789.822503 -20941.639264     99.755233                    
+V 11  25961.946039  -6707.192010    -37.196203       .025406                    
+P 13 -10525.294598 -11961.931096  21225.250879    -30.916202                    
+V 13  10394.505556 -24888.947512  -8778.008163       .002460                    
+P 14  16767.094586  -7906.866562 -18974.283303    -18.152806                    
+V 14  -7548.008629  22975.012803 -16188.766454      -.001075                    
+P 15  26275.122344  -3986.082674  -2717.347212    232.704105                    
+V 15   3323.731381   2094.067149  31511.770671       .051051                    
+P 16  10236.064453 -11460.836257  21735.138100     15.303499                    
+V 16  17482.319875  21134.388999   2927.702493      -.003909                    
+P 17  -6011.193601  14803.487348  21250.586232    206.154291                    
+V 17 -26734.066004     72.466251  -8401.528091       .195511                    
+P 18  19184.715171  16661.679726  -8067.186251    -15.287994                    
+V 18   4154.045584   9632.395937  29455.907586      -.026343                    
+P 20 -12387.940760 -22526.742990  -6749.454955   -184.262659                    
+V 20   7350.313441   4939.249711 -30274.609246       .027712                    
+P 21  22464.357236   6709.720557  12799.130575     73.063433                    
+V 21 -15874.290645   3884.955341  25334.531845       .005212                    
+P 22  19003.943756   5455.378550 -17548.446421    -40.618254                    
+V 22  11820.214289  19368.861031  18688.668458       .089251                    
+P 24 -18538.327034  12229.221965  14919.307692      7.998427                    
+V 24 -18451.066655    259.099565 -23538.132876       .027903                    
+P 25  24029.376597  -9998.387835   5595.904356     61.672595                    
+V 25   7234.663615   1544.346415 -30321.553252       .004496                    
+P 26  -7366.336605  24953.625819  -3520.912130    410.729631                    
+V 26  -4039.449095   2944.590837  32176.788035      -.124041                    
+P 27 -20670.512401  -7222.489516  15858.274689    919.681585                    
+V 27  18324.716903  -5689.151359  21457.386596       .044128                    
+P 28 -19831.605243  -6441.449037 -16443.557437     21.769026                    
+V 28 -11764.073182 -17614.349882  20555.481135       .016609                    
+P 29 -10853.271243  24046.281570   3063.480281    229.776773                    
+V 29   -956.691857  -4131.513451  31841.948178       .033242                    
+P 30  18408.359570  19085.392394   2067.775488    804.419569                    
+V 30   -602.782264   4345.085722 -31147.455222       .142971                    
+P 31   2690.206594 -25308.157163  -7300.796924     38.222822                    
+V 31   6194.848345  -7387.762854  29549.899374       .309707                    
+*  2004  2 29 10  0   .00000000                                                 
+P  1  -1122.801308 -23369.767378  12715.145631    332.504459                    
+V  1   6830.739337 -14420.858329 -26284.764824       .020571                    
+P  3  11565.901611 -22257.483733   8288.139684     89.744180                    
+V  3   1189.389849  11337.540926  28683.211727       .031266                    
+P  4 -26200.990436   5325.656232    112.940085    -76.290826                    
+V  4   -617.305140  -2467.555704 -31547.986408      -.091213                    
+P  5   8588.410419  21489.897210 -13301.288721     19.701782                    
+V  5 -13995.518174  -9474.395822 -24401.007913       .013533                    
+P  6   8850.687157  17417.109746  18117.758637     -1.307992                    
+V  6  -8217.273421  21324.721743 -16789.873185      -.009423                    
+P  7 -16328.206925   4255.809048 -20076.368470    612.144050                    
+V  7   5427.226956 -25983.769317  -9895.534280      -.077500                    
+P  8 -25687.389330   -199.652449   7168.525249    355.847761                    
+V  8   8684.721263  -4030.596691  29873.496855      -.087909                    
+P  9   -642.131878  16044.723870 -21535.693918    -32.272209                    
+V  9 -25763.957127   5995.012992   5722.277506      -.018763                    
+P 10  -7766.587524  13079.614869  21691.578913     40.146229                    
+V 10 -18872.696211 -20196.811911   5679.951168       .005175                    
+P 11  -1902.553758 -16442.691546 -20764.830488     99.757536                    
+V 11  25448.714832  -7773.577606   3961.370967       .025410                    
+P 13  -9669.575337 -14177.548875  20254.525311    -30.916152                    
+V 13   8614.570798 -24255.175438 -12762.123712       .002453                    
+P 14  16120.028170  -5749.111633 -20263.189353    -18.152918                    
+V 14  -6773.570700  24906.280220 -12412.073698      -.001074                    
+P 15  26420.496399  -3785.728221    133.703742    232.708587                    
+V 15    -91.486092   2428.644010  31755.444109       .050941                    
+P 16  11863.819374  -9595.069059  21812.117830     15.303085                    
+V 16  18632.223189  20257.629662  -1219.422735      -.003908                    
+P 17  -8370.239927  14870.339068  20313.952144    206.172141                    
+V 17 -25602.504789   1383.705833 -12386.943673       .195511                    
+P 18  19486.993511  17399.386826  -5355.047314    -15.290143                    
+V 18   2494.210376   6780.492149  30728.077176      -.026354                    
+P 20 -11614.719567 -21986.432692  -9408.427621   -184.260189                    
+V 20   9858.723268   6999.285542 -28729.193333       .027708                    
+P 21  20922.082162   7114.935208  14964.427353     73.063775                    
+V 21 -18336.023182   5163.666722  22714.046068       .005196                    
+P 22  20050.066525   7089.850352 -15718.280553    -40.610106                    
+V 22  11348.537196  16923.408482  21921.931578       .089241                    
+P 24 -20076.350141  12279.307381  12681.131102      8.001465                    
+V 24 -15678.261541    791.101103 -26130.199662       .028125                    
+P 25  24535.338091  -9831.953361   2826.863671     61.673368                    
+V 25   4008.352821   2222.239054 -31125.275255       .004607                    
+P 26  -7668.276733  25070.172306   -602.214698    410.718317                    
+V 26  -2734.818879   -389.172955  32586.748422      -.124037                    
+P 27 -18936.914477  -7801.989215  17654.828544    919.686067                    
+V 27  20127.314873  -7215.289269  18411.951904       .044088                    
+P 28 -20859.185579  -7913.661945 -14457.455124     21.770311                    
+V 28 -10993.226142 -15083.924540  23515.163333       .016603                    
+P 29 -10900.162198  23524.066551   5894.706419    229.779493                    
+V 29   -158.558840  -7475.757660  30984.400640       .033246                    
+P 30  18256.728158  19360.992865   -745.198747    804.431890                    
+V 30  -2816.789475   1822.986341 -31273.710930       .142951                    
+P 31   3191.094658 -25839.846477  -4585.511823     38.251661                    
+V 31   4989.122124  -4384.427998  30702.940890       .309692                    
+*  2004  2 29 10 15   .00000000                                                 
+P  1   -582.281846 -24552.449345  10247.615883    332.506029                    
+V  1   5225.484121 -11796.266603 -28471.693305       .020340                    
+P  3  11669.355491 -21099.315775  10789.602803     89.747840                    
+V  3   1173.414894  14371.641385  26823.630499       .031515                    
+P  4 -26107.758425   5067.674969  -2719.340342    -76.299337                    
+V  4   2668.343650  -3331.327954 -31302.898823      -.091214                    
+P  5   7219.111465  20590.419219 -15378.417547     19.704452                    
+V  5 -16422.290492 -10439.638917 -21692.179605       .013568                    
+P  6   8179.101025  19266.643582  16456.449786     -1.309021                    
+V  6  -6727.159881  19698.339385 -20076.727331      -.009488                    
+P  7 -15885.771736   1863.633808 -20784.896207    612.137623                    
+V  7   4369.178102 -27092.274466  -5826.135933      -.077512                    
+P  8 -24770.210970   -617.581198   9788.508725    355.840018                    
+V  8  11649.841680  -5311.710364  28264.756957      -.087943                    
+P  9  -2914.548936  16634.118747 -20842.787180    -32.274974                    
+V  9 -24658.469262   7062.797806   9656.998919      -.018833                    
+P 10  -9528.667237  11294.863284  22013.413882     40.146359                    
+V 10 -20225.055176 -19390.761941   1463.163426       .005297                    
+P 11    347.505547 -17183.015955 -20230.508893     99.759708                    
+V 11  24479.741513  -8638.523620   7896.088932       .025415                    
+P 13  -8974.484651 -16311.474917  18934.759198    -30.916193                    
+V 13   6840.811408 -23075.786037 -16523.350868       .002446                    
+P 14  15557.214466  -3437.120585 -21201.983679    -18.153100                    
+V 14  -5687.466073  26391.891215  -8419.747109      -.001073                    
+P 15  26260.415838  -3536.421101   2982.462773    232.712638                    
+V 15  -3448.071185   3179.462480  31460.410233       .050950                    
+P 16  13578.473824  -7826.050338  21516.270912     15.302333                    
+V 16  19402.870033  18995.060693  -5345.596539      -.003906                    
+P 17 -10604.602647  15046.005846  19026.603781    206.190078                    
+V 17 -23970.137160   2476.938652 -16183.498510       .195502                    
+P 18  19621.857137  17886.982967  -2551.839971    -15.292624                    
+V 18    441.059384   4088.799212  31476.941369      -.026364                    
+P 20 -10609.948625 -21279.804814 -11905.951846   -184.258293                    
+V 20  12480.973932   8628.797272 -26692.116678       .027712                    
+P 21  19176.047031   7646.030322  16875.873619     73.064367                    
+V 21 -20392.414497   6670.335184  19700.942712       .005188                    
+P 22  21032.415216   8497.753617 -13614.070817    -40.601658                    
+V 22  10401.983454  14350.079061  24769.695109       .089228                    
+P 24 -21352.867404  12359.693130  10228.923584      8.004603                    
+V 24 -12654.173882    926.090653 -28287.420825       .028208                    
+P 25  24752.179721  -9586.341782      9.324177     61.673762                    
+V 25    825.300107   3300.964658 -31396.984463       .004496                    
+P 26  -7870.811727  24878.889669   2327.224109    410.707598                    
+V 26  -1836.478898  -3878.841923  32414.475745      -.124043                    
+P 27 -17061.142668  -8524.866584  19163.421748    919.689133                    
+V 27  21478.846853  -8862.048670  15066.514536       .044044                    
+P 28 -21796.419011  -9154.831942 -12223.213288     21.771791                    
+V 28  -9757.424825 -12496.020604  26062.263110       .016599                    
+P 29 -10895.092094  22701.696939   8624.825404    229.783033                    
+V 29    197.544522 -10784.967329  29598.907068       .033247                    
+P 30  17893.328852  19422.399798  -3545.457196    804.444848                    
+V 30  -5297.361171   -403.899030 -30865.768842       .142939                    
+P 31   3598.480119 -26090.856086  -1790.233236     38.279707                    
+V 31   4123.920475  -1164.807395  31324.110634       .309667                    
+*  2004  2 29 10 30   .00000000                                                 
+P  1   -173.161374 -25482.524719   7604.747665    332.508784                    
+V  1   3921.529822  -8819.763390 -30175.317215       .020198                    
+P  3  11788.214064 -19676.955440  13102.306500     89.750116                    
+V  3   1526.808278  17193.731122  24494.783081       .031625                    
+P  4 -25725.780264   4714.622509  -5505.713054    -76.307418                    
+V  4   5784.491724  -4574.361297 -30529.132114      -.091219                    
+P  5   5635.715508  19624.107768 -17194.848502     19.704546                    
+V  5 -18738.544178 -10960.606158 -18615.803533       .013414                    
+P  6   7634.975454  20949.420029  14514.029678     -1.309263                    
+V  6  -5397.546731  17626.129940 -23027.693426      -.009517                    
+P  7 -15546.937232   -605.220953 -21122.008004    612.130123                    
+V  7   3138.614068 -27682.089040  -1654.631945      -.077530                    
+P  8 -23600.081879  -1164.785684  12241.531596    355.832983                    
+V  8  14293.205833  -6893.186487  26167.971517      -.087982                    
+P  9  -5067.711488  17307.760805 -19801.755340    -32.276812                    
+V  9 -23121.961630   7855.344524  13447.711074      -.018753                    
+P 10 -11395.325298   9601.571506  21954.476409     40.146867                    
+V 10 -21185.464123 -18175.383710  -2769.369274       .005475                    
+P 11   2491.391512 -17989.515012 -19347.493464     99.762074                    
+V 11  23097.613100  -9233.450100  11698.911093       .025421                    
+P 13  -8435.237532 -18315.489921  17288.947267    -30.915826                    
+V 13   5166.587129 -21373.662694 -19997.241508       .002443                    
+P 14  15103.360870  -1013.625129 -21774.346633    -18.152939                    
+V 14  -4365.790620  27376.270258  -4280.936275      -.001075                    
+P 15  25804.453353  -3201.627887   5780.462680    232.715413                    
+V 15  -6651.180087   4322.928153  30628.509901       .051041                    
+P 16  15343.253705  -6185.445616  20852.641694     15.302141                    
+V 16  19737.954588  17416.586996  -9380.779886      -.003904                    
+P 17 -12671.312078  15307.321715  17408.663271    206.208089                    
+V 17 -21886.554471   3275.019887 -19722.124254       .195482                    
+P 18  19556.125277  18142.647311    294.737567    -15.295145                    
+V 18  -1953.570118   1639.283953  31690.606168      -.026369                    
+P 20  -9367.482771 -20447.068123 -14199.317382   -184.255772                    
+V 20  15125.167109   9798.291749 -24198.913637       .027716                    
+P 21  17265.181836   8320.141128  18500.268099     73.065019                    
+V 21 -21991.519122   8328.252275  16343.744859       .005184                    
+P 22  21908.257610   9671.939962 -11272.785715    -40.593522                    
+V 22   8983.861838  11745.872255  27182.713771       .089211                    
+P 24 -22349.250135  12433.185773   7603.598300      8.007019                    
+V 24  -9468.544682    634.417223 -29971.449651       .028212                    
+P 25  24687.943777  -9226.517678  -2808.342039     61.672535                    
+V 25  -2222.875867   4754.512880 -31127.293721       .004416                    
+P 26  -8011.849569  24370.492483   5214.905900    410.695956                    
+V 26  -1371.016354  -7418.001566  31659.759859      -.124052                    
+P 27 -15084.991819  -9398.317647  20359.341364    919.693486                    
+V 27  22355.243902 -10547.349278  11472.541112       .044005                    
+P 28 -22602.016039 -10164.068367  -9779.853575     21.773009                    
+V 28  -8072.012555  -9945.391591  28156.111757       .016597                    
+P 29 -10877.682427  21586.790975  11207.471792    229.786012                    
+V 29    118.333942 -13960.370193  27712.415141       .033248                    
+P 30  17297.402245  19298.909706  -6285.293964    804.457345                    
+V 30  -7970.998998  -2277.345631 -29933.352948       .142926                    
+P 31   3944.635566 -26045.728349   1036.390127     38.306976                    
+V 31   3632.647061   2180.723340  31397.686551       .309641                    
+*  2004  2 29 10 45   .00000000                                                 
+P  1    134.370896 -26131.853844   4831.498995    332.510350                    
+V  1   2976.283929  -5571.845269 -31364.546109       .019895                    
+P  3  11954.154398 -18013.348079  15185.823652     89.753932                    
+V  3   2212.146603  19719.361530  21738.193649       .031798                    
+P  4 -25074.189594   4234.196474  -8199.078813    -76.314793                    
+V  4   8646.306176  -6153.333518 -29238.792786      -.091228                    
+P  5   3852.089594  18630.417840 -18719.770066     19.703780                    
+V  5 -20857.764615 -11051.868436 -15223.200694       .013334                    
+P  6   7200.555895  22427.471709  12323.103175     -1.310726                    
+V  6  -4300.462507  15158.554756 -25590.929021      -.009563                    
+P  7 -15323.463040  -3102.829352 -21081.986834    612.123305                    
+V  7   1820.092848 -27728.796424   2541.642546      -.077551                    
+P  8 -22209.191087  -1865.342808  14485.067782    355.824809                    
+V  8  16545.132032  -8707.195926  23615.600288      -.088025                    
+P  9  -7065.223567  18037.841522 -18428.423228    -32.277848                    
+V  9 -21209.920154   8306.992425  17031.018849      -.018758                    
+P 10 -13328.483375   8033.406109  21516.655766     40.147645                    
+V 10 -21694.159551 -16623.304696  -6944.346393       .005660                    
+P 11   4494.361503 -18835.167379 -18130.646765     99.764371                    
+V 11  21358.716989  -9499.813169  15303.780190       .025431                    
+P 13  -8038.869809 -20144.279254  15345.661019    -30.915570                    
+V 13   3679.694283 -19190.270996 -23124.489056       .002437                    
+P 14  14775.884498   1474.401408 -21970.309456    -18.153130                    
+V 14  -2893.902329  27821.043483    -67.414307      -.001078                    
+P 15  25070.499199  -2747.725777   8479.802392    232.719303                    
+V 15  -9611.389602   5818.126914  29270.502418       .051273                    
+P 16  17116.992467  -4698.141969  19832.519251     15.301796                    
+V 16  19596.503922  15602.442347 -13256.428345      -.003903                    
+P 17 -14532.607857  15624.670409  15486.347842    206.225029                    
+V 17 -19417.613083   3712.294605 -22936.684102       .195454                    
+P 18  19261.942039  18191.462970   3136.311140    -15.297472                    
+V 18  -4623.542947   -497.062980  31365.957603      -.026374                    
+P 20  -7889.603835 -19530.268238 -16249.360757   -184.252963                    
+V 20  17696.530643  10496.542938 -21292.749130       .027719                    
+P 21  15232.394080   9147.118204  19809.062248     73.065349                    
+V 21 -23097.176684  10052.756339  12697.211140       .005178                    
+P 22  22636.008249  10613.959963  -8735.468633    -40.586008                    
+V 22   7116.273787   9206.461421  29119.809317       .089193                    
+P 24 -23055.207099  12460.709396   4849.200102      8.009267                    
+V 24  -6216.358852    -95.925224 -31151.157500       .028317                    
+P 25  24358.709208  -8720.558639  -5577.335744     61.673203                    
+V 25  -5049.771596   6539.889015 -30316.166356       .004671                    
+P 26  -8130.803265  23545.462236   8008.843488    410.685190                    
+V 26  -1345.150068 -10896.765480  30334.186003      -.124059                    
+P 27 -13051.719200 -10421.992892  21222.670969    919.697617                    
+V 27  22748.159773 -12186.084624   7685.068364       .043961                    
+P 28 -23236.859899 -10948.844403  -7169.696471     21.774456                    
+V 28  -5969.767805  -7522.566752  29764.137704       .016593                    
+P 29 -10886.115460  20195.680354  13599.072517    229.789191                    
+V 29   -371.073014 -16907.696026  25359.909256       .033242                    
+P 30  16455.216618  19024.389335  -8918.266789    804.470287                    
+V 30 -10755.522847  -3754.297611 -28494.753115       .142910                    
+P 31   4264.085943 -25697.440138   3844.739823     38.334939                    
+V 31   3531.743741   5555.698118  30917.930714       .309618                    
+*  2004  2 29 11  0   .00000000                                                 
+P  1    374.597713 -26480.036515   1975.247482    332.512052                    
+V  1   2431.374355  -2143.488177 -32016.801384       .019641                    
+P  3  12194.804767 -16138.606712  17003.821733     89.757166                    
+V  3   3177.202244  21874.213568  18603.177979       .031824                    
+P  4 -24179.344342   3598.677833 -10753.802948    -76.322747                    
+V  4  11178.559069  -8010.021489 -27452.289661      -.091241                    
+P  5   1889.675982  17646.751023 -19927.227634     19.704365                    
+V  5 -22698.653863 -10744.320582 -11570.846198       .013346                    
+P  6   6852.056833  23668.027055   9920.674580     -1.310517                    
+V  6  -3497.443519  12360.285864 -27720.666893      -.009516                    
+P  7 -15219.325251  -5579.948777 -20666.095346    612.116469                    
+V  7    501.387744 -27227.644351   6685.207755      -.077571                    
+P  8 -20635.389422  -2736.684751  16479.883158    355.817161                    
+V  8  18349.888558 -10674.363023  20648.272652      -.088081                    
+P  9  -8876.259861  18791.176245 -16744.239477    -32.280233                    
+V  9 -18990.308116   8364.355823  20345.506873      -.018722                    
+P 10 -15285.397269   6616.973231  20708.372530     40.148912                    
+V 10 -21707.552951 -14818.253907 -10990.136756       .005820                    
+P 11   6327.289756 -19688.228550 -16600.642766     99.766459                    
+V 11  19331.084832  -9391.572010  18647.804954       .025443                    
+P 13  -7764.897501 -21757.041151  13138.540692    -30.915493                    
+V 13   2458.891380 -16584.118476 -25851.917044       .002431                    
+P 14  14584.232648   3977.365319 -21786.433538    -18.153164                    
+V 14  -1362.947952  27706.546647   4147.692173      -.001080                    
+P 15  24084.122797  -2145.504937  11033.952898    232.723494                    
+V 15 -12248.007751   7608.188586  27406.115442       .051552                    
+P 16  18855.591604  -3381.456911  18473.252410     15.301663                    
+V 16  18954.566549  13640.057535 -16906.608946      -.003904                    
+P 17 -16157.307240  15963.159341  13291.639934    206.242369                    
+V 17 -16643.195965   3737.634836 -25765.448364       .195433                    
+P 18  18717.958972  18064.310704   5924.622538    -15.300430                    
+V 18  -7490.823481  -2262.781451  30508.678911      -.026381                    
+P 20  -6187.117405 -18571.627290 -18021.118499   -184.250049                    
+V 20  20101.021901  10730.835918 -18023.655413       .027729                    
+P 21  13123.080265  10128.954489  20778.889258     73.065552                    
+V 21 -23690.421641  11754.455779   8821.599531       .005175                    
+P 22  23176.888706  11333.773803  -6046.479607    -40.577873                    
+V 22   4839.299215   6822.444247  30548.555210       .089175                    
+P 24 -23469.104642  12402.931395   2012.225120      8.011317                    
+V 24  -2994.440661  -1258.568566 -31803.306097       .028497                    
+P 25  23787.970781  -8041.126720  -8249.288085     61.673936                    
+V 25  -7577.532375   8598.498929 -28973.242928       .004929                    
+P 26  -8266.778828  22414.157136  10658.621363    410.673653                    
+V 26  -1745.353145 -14206.298470  28461.052384      -.124064                    
+P 27 -11004.614401 -11587.859046  21738.588460    919.701611                    
+V 27  22665.223106 -13693.114933   3762.176835       .043921                    
+P 28 -23665.522746 -11524.464191  -4437.616674     21.776092                    
+V 28  -3499.624037  -5310.506095  30862.194465       .016590                    
+P 29 -10955.528557  18552.849786  15759.536262    229.791564                    
+V 29  -1228.388990 -19540.578455  22583.642413       .033236                    
+P 30  15360.712525  18635.844039 -11399.947990    804.483027                    
+V 30 -13563.148444  -4808.241211 -26576.362234       .142895                    
+P 31   4592.036810 -25047.786706   6585.147190     38.362366                    
+V 31   3819.807235   8861.255291  29889.517488       .309598                    
+*  2004  2 29 11 15   .00000000                                                 
+P  1    584.770643 -26515.209938   -915.000730    332.513925                    
+V  1   2310.910591   1367.142211 -32118.549731       .019349                    
+P  3  12532.508084 -14088.968423  18524.720890     89.759630                    
+V  3   4357.167192  23596.950278  15145.858770       .031811                    
+P  4 -23073.838474   2786.181111 -13126.452713    -76.331134                    
+V  4  13318.314330 -10073.407502 -25198.097074      -.091262                    
+P  5   -223.116057  16707.039779 -20796.549842     19.705156                    
+V  5 -24188.173837 -10083.897867  -7719.524027       .013358                    
+P  6   6560.723358  24644.692272   7347.559888     -1.311382                    
+V  6  -3036.998301   9307.962343 -29378.113290      -.009583                    
+P  7 -15230.599735  -7987.801430 -19882.511428    612.109679                    
+V  7   -730.354330 -26193.661629  10700.152159      -.077591                    
+P  8 -18920.832571  -3788.689886  18190.750761    355.809604                    
+V  8  19667.858713 -12706.732095  17314.314672      -.088135                    
+P  9 -10476.588936  19530.417340 -14776.053397    -32.281919                    
+V  9 -16541.272658   7988.664370  23332.748821      -.018670                    
+P 10 -17220.192781   5370.970934  19544.373285     40.148106                    
+V 10 -21199.897906 -12851.642927 -14837.987914       .005842                    
+P 11   7967.600801 -20513.449728 -14783.630229     99.768649                    
+V 11  17091.778146  -8877.182270  21672.400293       .025454                    
+P 13  -7586.273151 -23118.926715  10705.703344    -30.914861                    
+V 13   1570.794871 -13628.570145 -28133.352284       .002432                    
+P 14  14529.527269   6444.777308 -21225.873964    -18.153345                    
+V 14    133.840299  27032.610558   8291.200455      -.001085                    
+P 15  22877.647680  -1371.519082  13398.561249    232.728093                    
+V 15 -14492.112228   9622.288736  25063.949498       .051752                    
+P 16  20513.604982  -2244.642074  16797.965707     15.301345                    
+V 16  17806.267071  11620.661364 -20269.082055      -.003911                    
+P 17 -17521.941864  16284.045264  10861.823119    206.260085                    
+V 17 -13654.317982   3316.969826 -28152.592705       .195415                    
+P 18  17910.281382  17796.555020   8612.317441    -15.302666                    
+V 18 -10468.312632  -3615.987074  29133.145876      -.026381                    
+P 20  -4279.125724 -17611.893470 -19484.406990   -184.247710                    
+V 20  22248.898700  10526.504763 -14447.667566       .027735                    
+P 21  10983.537914  11259.514120  21392.021181     73.065465                    
+V 21 -23770.274243  13342.693147   4781.806132       .005169                    
+P 22  23496.481947  11849.134319  -3252.683950    -40.570051                    
+V 22   2209.466917   4675.836740  31445.771477       .089154                    
+P 24 -23597.973882  12221.923722   -859.116651      8.013834                    
+V 24    102.075872  -2828.717725 -31913.138454       .028656                    
+P 25  23005.729081  -7166.784694 -10777.139393     61.674013                    
+V 25  -9739.921246  10858.205846 -27117.982510       .005094                    
+P 26  -8456.770911  20996.513001  13116.433091    410.662037                    
+V 26  -2538.402092 -17243.342466  26074.939683      -.124071                    
+P 27  -8985.568952 -12880.332312  21897.615219    919.705069                    
+V 27  22129.790069 -14986.293445   -235.565993       .043882                    
+P 28 -23857.639929 -11913.243657  -1630.275584     21.777732                    
+V 28   -724.808708  -3381.601771  31434.742869       .016586                    
+P 29 -11116.547975  16690.085134  17652.870260    229.794432                    
+V 29  -2396.011298 -21783.610955  19432.295570       .033235                    
+P 30  14015.861809  18171.890825 -13688.629181    804.496012                    
+V 30 -16303.736504  -5429.945687 -24212.115207       .142881                    
+P 31   4962.756519 -24107.423435   9208.840864     38.389391                    
+V 31   4477.456787  12000.018091  28327.722375       .309584                    
+*  2004  2 29 11 30   .00000000                                                 
+P  1    803.479925 -26234.535366  -3789.443814    332.514084                    
+V  1   2620.411686   4858.298069 -31665.695089       .018998                    
+P  3  12983.309456 -11905.517224  19722.257011     89.762374                    
+V  3   5677.391492  24841.535718  11428.044243       .031782                    
+P  4 -21795.290617   1781.692605 -15276.508494    -76.339197                    
+V  4  15017.184689 -12262.271753 -22512.410545      -.091289                    
+P  5  -2451.780234  15840.472498 -21312.695978     19.706157                    
+V  5 -25264.303807  -9129.739815  -3733.419796       .013491                    
+P  6   6294.100315  25338.408755   4647.721846     -1.312177                    
+V  6  -2952.547431   6087.457818 -30532.261448      -.009691                    
+P  7 -15345.689584 -10279.827708 -18746.112757    612.103122                    
+V  7  -1792.388383 -24660.920651  14513.765671      -.077613                    
+P  8 -17110.454724  -5023.059474  19587.116013    355.801921                    
+V  8  20477.125935 -14711.133391  13669.110429      -.088197                    
+P  9 -11849.370118  20215.457977 -12555.798370    -32.284384                    
+V  9 -13948.419089   7157.642711  25938.373085      -.018577                    
+P 10 -19085.520362   4305.661272  18045.420548     40.148813                    
+V 10 -20164.256292 -10818.904094 -18423.142446       .005994                    
+P 11   9399.950608 -21273.451547 -12710.796009     99.770890                    
+V 11  14723.914236  -7941.031403  24324.367603       .025462                    
+P 13  -7470.600425 -24202.257536   8089.078018    -30.914450                    
+V 13   1067.262075 -10409.107251 -29930.370248       .002419                    
+P 14  14604.547593   8827.014147 -20298.325976    -18.153697                    
+V 14   1504.930879  25818.592063  12291.172074      -.001090                    
+P 15  21488.969868   -409.229183  15532.238884    232.732554                    
+V 15 -16289.193768  11778.232374  22281.222886       .052059                    
+P 16  22045.887911  -1288.700142  14835.180126     15.300857                    
+V 16  16164.185194   9635.739899 -23286.333401      -.003916                    
+P 17 -18611.607766  16546.359341   8238.884159    206.278324                    
+V 17 -10549.667148   2435.164723 -30049.664600       .195393                    
+P 18  16833.143301  17426.571880  11153.718554    -15.305537                    
+V 18 -13463.022569  -4531.835733  27262.202782      -.026384                    
+P 20  -2192.485692 -16688.763196 -20614.320545   -184.245330                    
+V 20  24058.124437   9925.786750 -10625.873124       .027740                    
+P 21   8859.336100  12524.579273  21636.742979     73.065694                    
+V 21 -23353.865913  14729.126545    646.381043       .005167                    
+P 22  23566.119437  12184.670769   -402.605070    -40.561664                    
+V 22   -702.418512   2836.950335  31797.825590       .089137                    
+P 24 -23457.199280  11882.797452  -3715.687481      8.016335                    
+V 24   2983.276209  -4763.798522 -31474.866699       .028847                    
+P 25  22047.321438  -6083.099071 -13116.021394     61.673273                    
+V 25 -11484.984235  13235.999425 -24779.593313       .005316                    
+P 26  -8733.949148  19321.345229  15338.064560    410.650957                    
+V 26  -3672.836123 -19914.517932  23220.941223      -.124077                    
+P 27  -7033.690843 -14276.682442  21695.813243    919.709108                    
+V 27  21180.194284 -15989.444984  -4245.707744       .043843                    
+P 28 -23789.093659 -12143.440818   1204.656482     21.779505                    
+V 28   2279.516291  -1795.123735  31474.899169       .016579                    
+P 29 -11394.014463  14645.365871  19247.718984    229.797213                    
+V 29  -3803.414233 -23574.957806  15960.085501       .033234                    
+P 30  12430.730908  17671.193688 -15745.971673    804.508405                    
+V 30 -18888.094875  -5627.560277 -21442.845953       .142868                    
+P 31   5407.981583 -22895.556367  11668.899506     38.416994                    
+V 31   5467.983553  14879.989467  26258.345931       .309576                    
+*  2004  2 29 11 45   .00000000                                                 
+P  1   1068.960039 -25644.350730  -6598.345331    332.516245                    
+V  1   3346.456739   8228.440674 -30663.811298       .018806                    
+P  3  13556.208936  -9632.725849  20575.938876     89.764748                    
+V  3   7056.516486  25578.926675   7516.001022       .031823                    
+P  4 -20384.952073    577.856489 -17167.039105    -76.347446                    
+V  4  16243.075241 -14488.186344 -19438.692262      -.091321                    
+P  5  -4756.814838  15070.406398 -21466.519202     19.706668                    
+V  5 -25878.413902  -7951.863822    320.841888       .013675                    
+P  6   6017.461947  25738.146026   1867.536493     -1.313547                    
+V  6  -3260.930811   2790.753147 -31160.596546      -.009821                    
+P  7 -15545.882739 -12413.336505 -17278.119953    612.095634                    
+V  7  -2609.905013 -22680.995846  18058.040989      -.077635                    
+P  8 -15250.328738  -6433.010849  20643.696865    355.794193                    
+V  8  20774.398763 -16592.828649   9774.294699      -.088262                    
+P  9 -12985.688347  20804.980775 -10120.077425    -32.287015                    
+V  9 -11301.727999   5866.834904  28113.167608      -.018448                    
+P 10 -20834.264231   3422.677422  16237.886939     40.150017                    
+V 10 -18612.741039  -8815.730706 -21685.847629       .006164                    
+P 11  10616.628126 -21930.199408 -10417.834691     99.773247                    
+V 11  12313.447148  -6584.252594  26556.891565       .025472                    
+P 13  -7381.558606 -24987.475510   5333.679948    -30.914069                    
+V 13    983.358490  -7020.137016 -31212.902762       .002409                    
+P 14  14794.051594  11077.048984 -19019.855203    -18.153980                    
+V 14   2664.211273  24102.648746  16078.191345      -.001096                    
+P 15  19960.160435    750.108567  17397.319363    232.737313                    
+V 15 -17601.290443  13985.537740  19103.345386       .052370                    
+P 16  23409.249171   -506.521926  12618.343744     15.300328                    
+V 16  14059.041508   7773.485258 -25906.541203      -.003926                    
+P 17 -19420.483475  16708.667255   5468.786829    206.295794                    
+V 17  -7431.711796   1097.124438 -31416.956097       .195374                    
+P 18  15489.285739  16994.172738  13505.573303    -15.307784                    
+V 18 -16379.476238  -5003.355717  24926.821593      -.026385                    
+P 20     39.027375 -15835.435489 -21391.640667   -184.242769                    
+V 20  25457.481514   8986.040076  -6623.391356       .027743                    
+P 21   6793.705619  13902.219619  21507.632695     73.066714                    
+V 21 -22475.874999  15831.294145  -3513.572160       .005169                    
+P 22  23364.047276  12370.713363   2454.441125    -40.553832                    
+V 22  -3813.995852   1361.772218  31600.741368       .089116                    
+P 24 -23069.894542  11355.247419  -6508.246425      8.019527                    
+V 24   5567.861653  -7004.805805 -30492.033663       .029209                    
+P 25  20952.036069  -4783.478661 -15224.122933     61.674003                    
+V 25 -12777.182606  15641.185588 -21996.733290       .005618                    
+P 26  -9126.114391  17425.281971  17283.793642    410.640493                    
+V 26  -5081.257853 -22140.183563  19953.581386      -.124089                    
+P 27  -5184.008948 -15747.699591  21134.925497    919.713240                    
+V 27  19868.500919 -16635.212483  -8204.573035       .043798                    
+P 28 -23442.965446 -12247.979187   4019.276837     21.780726                    
+V 28   5429.017094   -595.188110  30984.361671       .016572                    
+P 29 -11805.944701  12461.545639  20517.820900    229.800050                    
+V 29  -5369.980442 -24868.440508  12225.839033       .033229                    
+P 30  10623.248965  17170.918911 -17537.595861    804.521015                    
+V 30 -21231.217705  -5426.077247 -18315.576883       .142856                    
+P 31   5955.415504 -21439.288305  13921.185174     38.444964                    
+V 31   6738.773638  17418.281013  23717.357857       .309569                    
+*  2004  2 29 12  0   .00000000                                                 
+P  1   1417.397506 -24759.979240  -9292.908495    332.517361                    
+V  1   4457.086277  11380.069040 -29128.200098       .018624                    
+P  3  14252.708990  -7316.876057  21071.391338     89.767188                    
+V  3   8409.867089  25798.072660   3479.154351       .031920                    
+P  4 -18886.183647   -824.522911 -18765.331123    -76.356022                    
+V  4  16981.345171 -16658.811082 -16027.104091      -.091351                    
+P  5  -7095.017362  14413.508950 -21254.940897     19.707015                    
+V  5 -25997.167886  -6628.427922   4375.208339       .013972                    
+P  6   5695.347536  25841.299653   -944.997948     -1.313898                    
+V  6  -3961.555337   -487.471923 -31249.668042      -.009984                    
+P  7 -15806.210751 -14350.983819 -15505.612184    612.088457                    
+V  7  -3119.164416 -20320.707849  21270.999982      -.077658                    
+P  8 -13385.975010  -8003.306163  21341.003783    355.786355                    
+V  8  20575.218332 -18259.298494   5696.779499      -.088332                    
+P  9 -13884.799009  21258.097485  -7509.648517    -32.288811                    
+V  9  -8692.210944   4130.290540  29814.198623      -.018233                    
+P 10 -22421.240870   2715.168207  14153.263654     40.150088                    
+V 10 -16576.040633  -6934.362712 -24572.248975       .006228                    
+P 11  11617.660794 -22446.522538  -7944.333157     99.775240                    
+V 11   9945.830225  -4824.878329  28330.430348       .025476                    
+P 13  -7280.480846 -25463.789927   2486.836561    -30.913892                    
+V 13   1335.983553  -3561.477163 -31959.700672       .002397                    
+P 14  15075.423469  13152.083303 -17412.614715    -18.154003                    
+V 14   3534.490588  21940.285733  19586.597781      -.001103                    
+P 15  18335.902697   2106.850938  18960.569732    232.741529                    
+V 15 -18408.513427  16148.914067  15583.313092       .052692                    
+P 16  24564.043743    116.661471  10185.278839     15.300383                    
+V 16  11538.697429   6115.366705 -28084.463173      -.003936                    
+P 17 -19951.984249  16730.890242   2600.628857    206.313773                    
+V 17  -4402.537728   -671.968333 -32224.717244       .195355                    
+P 18  13890.023359  16538.983374  15627.765703    -15.309970                    
+V 18 -19123.211125  -5041.617071  22165.647273      -.026395                    
+P 20   2375.818736 -15079.352849 -21803.150859   -184.239887                    
+V 20  26389.278822   7777.394999  -2508.297694       .027741                    
+P 21   4826.011038  15363.476562  21005.737755     73.067186                    
+V 21 -21187.274565  16576.021295  -7625.601763       .005161                    
+P 22  22876.327384  12441.908367   5269.213216    -40.546103                    
+V 22  -7034.495047    289.944847  30860.122731       .089099                    
+P 24 -22465.983913  10614.944941  -9188.299841      8.021228                    
+V 24   7786.277730  -9478.324394 -28977.724841       .029352                    
+P 25  19761.562556  -3269.707085 -17063.517942     61.675767                    
+V 25 -13598.880518  17978.975367 -18816.969318       .005914                    
+P 26  -9654.395651  15351.377125  18919.180090    410.629847                    
+V 26  -6683.358319 -23857.662330  16335.466797      -.124108                    
+P 27  -3466.311259 -17258.608157  20222.453499    919.717322                    
+V 27  18258.783254 -16867.684526 -12047.998714       .043757                    
+P 28 -22810.225678 -12263.014110   6766.215380     21.782354                    
+V 28   8633.248136    190.693942  29973.228597       .016567                    
+P 29 -12362.763280  10184.870915  21442.380951    229.803174                    
+V 29  -7008.162562 -25635.040744   8292.048091       .033225                    
+P 30   8618.691386  16705.266152 -19033.604111    804.533432                    
+V 30 -23255.351506  -4866.191161 -14882.753226       .142844                    
+P 31   6627.388816 -19772.643519  15925.231923     38.472589                    
+V 31   8223.455868  19544.496931  20750.258941       .309561                    
+*  2004  2 29 12 15   .00000000                                                 
+P  1   1881.308638 -23605.197451 -11826.147333    332.520194                    
+V  1   5902.952912  14223.433263 -27083.762595       .018590                    
+P  3  15066.673496  -5004.421424  21200.579523     89.770997                    
+V  3   9652.958258  25506.191092   -611.250689       .032030                    
+P  4 -17342.856080  -2416.284855 -20043.462070    -76.364319                    
+V  4  17235.337007 -18681.378598 -12333.826678      -.091381                    
+P  5  -9420.926408  13879.160657 -20681.032164     19.708712                    
+V  5 -25603.882790  -5242.676846   8361.249849       .014276                    
+P  6   5293.142996  25653.774583  -3741.096861     -1.315628                    
+V  6  -5036.232409  -3653.398197 -30795.506397      -.010123                    
+P  7 -16096.566590 -16062.020657 -13460.932539    612.081546                    
+V  7  -3270.099175 -17659.275463  24097.812895      -.077683                    
+P  8 -11560.685200  -9710.622764  21665.764944    355.778142                    
+V  8  19913.418352 -19624.020684   1507.623466      -.088406                    
+P  9 -14554.064273  21536.019172  -4768.809731    -32.289360                    
+V  9  -6208.420376   1980.546925  31005.909995      -.018028                    
+P 10 -23804.823502   2168.269708  11827.593977     40.150920                    
+V 10 -14102.256918  -5260.054737 -27035.161635       .006236                    
+P 11  12410.619334 -22787.616605  -5333.080646     99.778025                    
+V 11   7702.693527  -2697.321396  29613.477534       .025483                    
+P 13  -7128.024587 -25629.498555   -402.621447    -30.913968                    
+V 13   2123.203289   -134.650152 -32158.646715       .002387                    
+P 14  15419.621390  15015.017374 -15504.454124    -18.153996                    
+V 14   4050.647063  19402.232080  22755.648838      -.001110                    
+P 15  16661.822533   3652.701849  20193.839246    232.745969                    
+V 15 -18709.884736  18172.005448  11780.921753       .052966                    
+P 16  25475.645806    602.528258   7577.553334     15.299878                    
+V 16   8666.501963   4732.953634 -29782.228203      -.003945                    
+P 17 -20218.536590  16576.106577   -314.300732    206.330994                    
+V 17  -1559.606473  -2827.329896 -32454.145562       .195336                    
+P 18  12054.995803  16098.837690  17483.982310    -15.312125                    
+V 18 -21604.262721  -4675.230051  19024.432492      -.026400                    
+P 20   4773.794829 -14441.175729 -21841.852730   -184.237200                    
+V 20  26811.554532   6379.928136   1649.491418       .027736                    
+P 21   2990.365392  16873.341718  20138.638702     73.067016                    
+V 21 -19553.421662  16902.528769 -11617.200765       .005153                    
+P 22  22097.440996  12435.681013   7993.396493    -40.538058                    
+V 22 -10268.181920   -356.586301  29590.903967       .089080                    
+P 24 -21681.018927   9644.720386 -11708.963398      8.024788                    
+V 24   9583.442444 -12099.166771 -26954.608584       .029608                    
+P 25  18518.340810  -1552.139794 -18600.933769     61.677875                    
+V 25 -13951.101737  20154.325209 -15295.993174       .006053                    
+P 26 -10332.246113  13147.467448  20215.724162    410.618336                    
+V 26  -8389.509201 -25023.680079  12435.728332      -.124133                    
+P 27  -1904.158609 -18770.203919  18971.665003    919.721838                    
+V 27  16424.953059 -16644.715063 -15712.153402       .043710                    
+P 28 -21890.138534 -12226.396072   9399.378728     21.784058                    
+V 28  11798.899617    552.449787  28459.719229       .016558                    
+P 29 -13066.829781   7863.392185  22006.357548    229.806127                    
+V 29  -8626.860294 -25863.781720   4223.916587       .033218                    
+P 30   6448.899116  16304.127621 -20209.032634    804.545957                    
+V 30 -24892.786596  -4002.602580 -11201.432334       .142835                    
+P 31   7439.741836 -17935.309740  17645.064661     38.500584                    
+V 31   9844.685500  21203.606469  17411.172202       .309554                    
+*  2004  2 29 12 30   .00000000                                                 
+P  1   2488.053521 -22211.380040 -14153.737590    332.524141                    
+V  1   7619.188150  16679.980103 -24564.676902       .018219                    
+P  3  15984.501970  -2740.358104  20961.912018     89.774420                    
+V  3  10704.968674  24728.316658  -4683.494162       .032000                    
+P  4 -15797.732518  -4180.033600 -20978.807193    -76.371907                    
+V  4  17026.243046 -20466.246303  -8420.264650      -.091407                    
+P  5 -11688.359419  13469.142963 -19753.999271     19.711139                    
+V  5 -24699.289875  -3879.678116  12211.241330       .014502                    
+P  6   4778.645031  25189.746619  -6472.054740     -1.317507                    
+V  6  -6449.727426  -6617.636287 -29803.863595      -.010287                    
+P  7 -16383.028878 -17523.263417 -11181.002787    612.074627                    
+V  7  -3028.286314 -14785.020906  26491.690029      -.077711                    
+P  8  -9813.928254 -11524.257302  21611.243187    355.770087                    
+V  8  18839.838599 -20610.080907  -2719.239963      -.088477                    
+P  9 -15008.573772  21603.691385  -1944.687898    -32.290885                    
+V  9  -3932.947186   -532.134537  31661.162594      -.017952                    
+P 10 -24948.433025   1759.881632   9300.842965     40.151480                    
+V 10 -11255.110684  -3867.856835 -29034.718164       .006326                    
+P 11  13010.129297 -22922.469804  -2629.316752     99.780371                    
+V 11   5658.670534   -251.199033  30383.176381       .025486                    
+P 13  -6885.869231 -25491.971938  -3285.190366    -30.913948                    
+V 13   3324.311323   3160.871977 -31806.916326       .002382                    
+P 14  15792.387748  16635.702528 -13328.428010    -18.154319                    
+V 14   4162.295477  16571.731039  25530.590856      -.001117                    
+P 15  14982.776400   5370.790113  21074.629235    232.752101                    
+V 15 -18523.432811  19961.255072   7761.802172       .053313                    
+P 16  26115.745604    978.645644   4839.785847     15.299511                    
+V 16   5519.042512   3685.112255 -30970.017880      -.003955                    
+P 17 -20240.975250  16212.250746  -3223.541026    206.348192                    
+V 17   1008.357704  -5306.166697 -32098.093310       .195317                    
+P 18  10011.611053  15708.246401  19042.322453    -15.315035                    
+V 18 -23740.502956  -3949.187444  15555.365504      -.026410                    
+P 20   7185.856392 -13934.028833 -21507.080539   -184.234318                    
+V 20  26699.693877   4880.466402   5779.358170       .027729                    
+P 21   1314.444374  18391.996550  18920.393481     73.067511                    
+V 21 -17651.546369  16765.105804 -15417.163970       .005149                    
+P 22  21030.573966  12390.608450  10580.425446    -40.529836                    
+V 22 -13417.960198   -574.216780  27816.941574       .089062                    
+P 24 -20754.772338   8435.483605 -14025.819248      8.027217                    
+V 24  10920.951347 -14773.542547 -24454.785214       .029816                    
+P 25  17263.876978    350.449692 -19808.438293     61.678586                    
+V 25 -13853.501248  22075.861596 -11496.603454       .006052                    
+P 26 -11164.781116  10864.349770  21151.378091    410.607323                    
+V 26 -10104.736332 -25615.910602   8328.320872      -.124158                    
+P 27   -514.111996 -20240.182761  17401.523854    919.725874                    
+V 27  14448.191084 -15939.846246 -19134.448185       .043659                    
+P 28 -20690.370381 -12176.087538  11874.665302     21.785326                    
+V 28  14833.119450    497.644840  26469.809144       .016551                    
+P 29 -13912.275117   5545.324481  22200.663728    229.809360                    
+V 29 -10134.895447 -25561.970005     88.406961       .033205                    
+P 30   4151.262423  15991.922591 -21044.228679    804.558904                    
+V 30 -26088.283259  -2901.830423  -7332.435896       .142829                    
+P 31   8400.982065 -15971.150120  19049.924906     38.528492                    
+V 31  11517.438964  22358.161705  13761.688187       .309541                    
+*  2004  2 29 12 45   .00000000                                                 
+P  1   3258.547791 -20616.352044 -16234.829802    332.524670                    
+V  1   9527.920888  18685.385248 -21613.879937       .017639                    
+P  3  16985.609556   -566.667892  20360.223901     89.776534                    
+V  3  11492.039690  23506.154550  -8666.701643       .031896                    
+P  4 -14290.893247  -6090.577576 -21554.469647    -76.380376                    
+V  4  16392.300659 -21930.386395  -4352.140085      -.091437                    
+P  5 -13851.990421  13177.625077 -18489.070801     19.711395                    
+V  5 -23301.660706  -2622.964214  15859.263025       .014686                    
+P  6   4123.544130  24471.107682  -9090.123762     -1.317655                    
+V  6  -8151.013548  -9298.658876 -28290.260692      -.010391                    
+P  7 -16629.332800 -18719.753473  -8706.568494    612.067805                    
+V  7  -2376.224689 -11791.787457  28414.537359      -.077744                    
+P  8  -8179.904714 -13407.141255  21177.432986    355.761913                    
+V  8  17420.325875 -21153.457971  -6908.392211      -.088543                    
+P  9 -15270.454835  21431.326580    913.561900    -32.293503                    
+V  9  -1939.052586  -3341.289616  31762.167436      -.017947                    
+P 10 -25821.841743   1461.716137   6616.214338     40.153083                    
+V 10  -8111.588387  -2819.786269 -30538.887529       .006268                    
+P 11  13437.108477 -22825.155161    120.068596     99.782515                    
+V 11   3878.503686   2450.456187  30625.770222       .025486                    
+P 13  -6518.375832 -25067.302784  -6111.531344    -30.913616                    
+V 13   4900.612229   6231.330611 -30910.986511       .002378                    
+P 14  16155.673920  17991.927048 -10922.212861    -18.154372                    
+V 14   3835.869175  13541.351838  27863.617891      -.001124                    
+P 15  13341.165205   7236.094393  21586.568521    232.756748                    
+V 15 -17885.521245  21429.732070   3596.288157       .053545                    
+P 16  26463.420008   1277.218048   2018.894887     15.299293                    
+V 16   2183.380146   3015.685188 -31626.623648      -.003967                    
+P 17 -20047.583698  15613.630204  -6074.527784    206.365214                    
+V 17   3225.141024  -8030.127017 -31161.445933       .195302                    
+P 18   7794.199519  15396.998069  20275.843335    -15.317642                    
+V 18 -25460.712570  -2923.087873  11816.295692      -.026415                    
+P 20   9563.508455 -13563.047324 -20804.512612   -184.231364                    
+V 20  26047.402807   3369.139588   9811.132623       .027722                    
+P 21   -181.449541  19876.268254  17371.357769     73.068078                    
+V 21 -15567.727207  16135.223768 -18956.980223       .005146                    
+P 22  19687.576183  12344.766984  12986.263046    -40.522301                    
+V 22 -16388.989441   -377.607938  25570.465258       .089045                    
+P 24 -19729.661170   6986.839433 -16097.750429      8.031035                    
+V 24  11778.651800 -17402.647297 -21519.430277       .029979                    
+P 25  16037.098015   2411.373791 -20664.025622     61.678523                    
+V 25 -13343.534711  23659.711991  -7487.473900       .005989                    
+P 26 -12148.483314   8553.861619  21710.900787    410.596272                    
+V 26 -11732.873457 -25633.573833   4090.251497      -.124185                    
+P 27    694.792998 -21624.621317  15536.533717    919.729664                    
+V 27  12414.040244 -14743.747905 -22254.539573       .043615                    
+P 28 -19226.800121 -12148.590184  14150.644065     21.787006                    
+V 28  17646.798059     51.051152  24036.788605       .016545                    
+P 29 -14885.150604   3277.415012  22022.282680    229.812423                    
+V 29 -11444.468363 -24754.799355  -4046.708437       .033189                    
+P 30   1767.505845  15786.648003 -21525.149989    804.571519                    
+V 30 -26801.054665  -1639.610535  -3339.471042       .142821                    
+P 31   9511.755317 -13926.549362  20114.882920     38.556342                    
+V 31  13152.665908  22989.750438   9869.501776       .309526                    
+*  2004  2 29 13  0   .00000000                                                 
+P  1   4206.227096 -18862.991778 -18032.807049    332.526397                    
+V  1  11541.353075  20192.040957 -18282.357369       .017217                    
+P  3  18043.191102   1479.106354  19406.643092     89.780100                    
+V  3  11950.267981  21896.295862 -12492.112181       .031850                    
+P  4 -12858.262524  -8115.675034 -21759.624244    -76.388556                    
+V  4  15387.332504 -23000.682210   -198.479262      -.091466                    
+P  5 -15868.909994  12991.452596 -16907.285382     19.711965                    
+V  5 -21446.283199  -1551.203752  19242.306506       .014891                    
+P  6   3304.764217  23526.613856 -11549.387502     -1.320215                    
+V  6 -10075.190811 -11625.950440 -26279.830696      -.010518                    
+P  7 -16798.423415 -19645.087632  -6081.395705    612.060621                    
+V  7  -1313.889376  -8775.232725  29837.378596      -.077776                    
+P  8  -6686.310514 -15317.131842  20371.128173    355.753687                    
+V  8  15733.090709 -21205.832615 -10984.406643      -.088613                    
+P  9 -15367.891540  20995.766152   3755.634188    -32.294912                    
+V  9   -287.588404  -6366.506958  31301.263153      -.017817                    
+P 10 -26402.243625   1240.576663   3819.427449     40.154181                    
+V 10  -4759.130234  -2162.582775 -31523.860514       .006180                    
+P 11  13717.761035 -22475.936675   2867.367841     99.784588                    
+V 11   2414.547762   5333.529028  30336.876726       .025489                    
+P 13  -5994.144757 -24379.635035  -8833.302305    -30.913208                    
+V 13   6796.894431   8992.114427 -29486.495163       .002375                    
+P 14  16469.222814  19070.098363  -8327.443446    -18.154497                    
+V 14   3056.034796  10409.449584  29714.700527      -.001133                    
+P 15  11775.342887   9216.204859  21719.780049    232.761051                    
+V 15 -16849.419394  22500.757227   -641.865043       .053706                    
+P 16  26505.934753   1533.651903   -836.695995     15.298756                    
+V 16  -1246.129734   2751.746600 -31739.866597      -.003977                    
+P 17 -19672.817954  14762.186449  -8815.680060    206.383297                    
+V 17   5030.274101 -10908.506687 -29661.141436       .195286                    
+P 18   5442.907782  15188.945807  21163.031029    -15.319775                    
+V 18 -26707.273885  -1668.799579   7869.862289      -.026424                    
+P 20  11858.527617 -13325.239793 -19746.079463   -184.229003                    
+V 20  24867.001222   1935.809983  13676.236617       .027712                    
+P 21  -1485.031899  21281.246670  15517.879689     73.068631                    
+V 21 -13393.466501  15002.984686 -22172.225422       .005132                    
+P 22  18088.599775  12334.118057  15170.124986    -40.514236                    
+V 22 -19092.181400    201.090482  22891.407094       .089024                    
+P 24 -18649.059832   5307.366250 -17887.733556      8.033642                    
+V 24  12155.501222 -19886.533683 -18198.223230       .029960                    
+P 25  14872.816383   4596.868801 -21152.082453     61.679018                    
+V 25 -12474.849397  24833.062591  -3341.739605       .006066                    
+P 26 -13271.282214   6266.950750  21886.052474    410.584866                    
+V 26 -13180.692845 -25097.087566   -200.194579      -.124213                    
+P 27   1721.298075 -22879.562366  13406.487579    919.732368                    
+V 27  10409.242289 -13065.092763 -25015.418560       .043569                    
+P 28 -17523.039562 -12177.438729  16189.190340     21.788307                    
+V 28  20157.708160   -746.393006  21200.751239       .016534                    
+P 29 -15963.883031   1103.374412  21474.298241    229.815741                    
+V 29 -12474.481801 -23484.336614  -8113.788077       .033171                    
+P 30   -657.683021  15699.178537 -21643.583926    804.584318                    
+V 30 -27006.242621   -297.969938    711.775248       .142814                    
+P 31  10764.655247 -11848.666247  20821.319523     38.584389                    
+V 31  14661.124389  23099.614508   5806.888056       .309508                    
+*  2004  2 29 13 15   .00000000                                                 
+P  1   5336.308940 -16997.638616 -19515.970520    332.528924                    
+V  1  13565.271737  21170.888430 -14628.251901       .016697                    
+P  3  19125.236399   3365.098948  18118.345874     89.782343                    
+V  3  12028.277064  19967.877786 -16094.269721       .031767                    
+P  4 -11530.294851 -10217.062736 -21589.765513    -76.396643                    
+V  4  14078.672167 -23616.901540   3969.498824      -.091497                    
+P  5 -17700.108984  12890.729751 -15035.180242     19.712848                    
+V  5 -19184.295500   -735.026461  22301.369691       .015129                    
+P  6   2305.602214  22390.767841 -13806.611062     -1.321031                    
+V  6 -12146.000941 -13542.737143 -23806.951315      -.010477                    
+P  7 -16854.026507 -20301.415320  -3351.439724    612.053017                    
+V  7    141.430593  -5829.155915  30740.555628      -.077799                    
+P  8  -5353.364040 -17208.529139  19205.854146    355.745156                    
+V  8  13865.520221 -20736.785658 -14873.376183      -.088671                    
+P  9 -15333.885271  20281.608650   6531.012057    -32.296014                    
+V  9    975.641042  -9516.355898  30281.488391      -.017757                    
+P 10 -26675.055005   1059.815017    957.962158     40.153416                    
+V 10  -1292.460010  -1925.968721 -31974.363250       .005977                    
+P 11  13882.368680 -21862.144509   5564.904948     99.787037                    
+V 11   1304.773950   8315.604375  29521.578345       .025493                    
+P 13  -5287.411919 -23460.199006 -11403.970640    -30.912957                    
+V 13   8943.534504  11370.836677 -27557.955292       .002378                    
+P 14  16692.246609  19865.595983  -5588.981026    -18.154659                    
+V 14   1826.385294   7276.413557  31052.269577      -.001140                    
+P 15  10318.186277  11272.395981  21471.126384    232.767218                    
+V 15 -15483.158052  23111.166480  -4876.886360       .053869                    
+P 16  26239.246280   1784.992016  -3677.884227     15.298063                    
+V 16  -4671.312950   2902.504614 -31306.868635      -.003986                    
+P 17 -19155.770213  13648.439321 -11397.471932    206.400520                    
+V 17   6381.553282 -13842.054724 -27625.820033       .195272                    
+P 18   3002.371007  15101.026483  21688.188955    -15.322105                    
+V 18 -27438.381836   -267.644342   3782.533158      -.026429                    
+P 20  14024.624511 -13209.673148 -18349.769764   -184.226656                    
+V 20  23189.023785    666.511414  17308.807400       .027707                    
+P 21  -2592.359841  22561.998514  13391.870556     73.069066                    
+V 21 -11222.001854  13377.824771 -25003.917797       .005117                    
+P 22  16261.433005  12390.994208  17095.138794    -40.505861                    
+V 22 -21447.446335   1113.677131  19826.628269       .089006                    
+P 24 -17555.570447   3414.539320 -19363.570350      8.037728                    
+V 24  12069.652018 -22128.108328 -14548.560333       .029915                    
+P 25  13800.372342   6867.234260 -21263.720523     61.679670                    
+V 25 -11314.960577  25537.273026    864.557672       .006110                    
+P 26 -14512.997128   4051.816915  21675.631959    410.573493                    
+V 26 -14361.820958 -24046.822915  -4465.166967      -.124237                    
+P 27   2571.881430 -23962.650921  11046.115891    919.736414                    
+V 27   8518.416714 -10930.797541 -27364.570843       .043534                    
+P 28 -15609.681621 -12291.814339  17956.072662     21.789764                    
+V 28  22293.397861  -1839.193474  18008.018081       .016529                    
+P 29 -17120.018823   -937.574251  20565.841143    229.818377                    
+V 29 -13153.624487 -21807.926922 -12046.252285       .033152                    
+P 30  -3078.132808  15732.840943 -21397.284021    804.597156                    
+V 30 -26695.837694   1037.925174   4754.564998       .142808                    
+P 31  12144.379373  -9783.669208  21157.265521     38.612157                    
+V 31  15957.216256  22708.408354   1649.071975       .309490                    
+*  2004  2 29 13 30   .00000000                                                 
+P  1   6645.384969 -15068.368605 -20658.137248    332.529166                    
+V  1  15502.854766  21612.511029 -10715.806288       .016125                    
+P  3  20195.754267   5066.127838  16518.209397     89.784221                    
+V  3  11689.272881  17799.791342 -19412.117958       .031682                    
+P  4 -10330.873226 -12351.733078 -21046.851753    -76.404871                    
+V  4  12544.540982 -23734.224270   8079.579597      -.091528                    
+P  5 -19311.829477  12849.675837 -12904.382408     19.713501                    
+V  5 -16580.909201   -234.125412  24982.522049       .015450                    
+P  6   1116.618041  21102.479260 -15822.048714     -1.323148                    
+V  6 -14278.839604 -15008.175124 -20914.668997      -.010439                    
+P  7 -16762.173834 -20699.112296   -564.005133    612.046479                    
+V  7   1955.974379  -3042.005356  31113.726746      -.077818                    
+P  8  -4193.139733 -19033.759306  17701.661880    355.736981                    
+V  8  11910.577007 -19735.275072 -18504.449440      -.088715                    
+P  9 -15204.803150  19282.047914   9189.946679    -32.298636                    
+V  9   1821.932600 -12691.884193  28716.903665      -.017751                    
+P 10 -26634.417078    880.916685  -1919.716276     40.154625                    
+V 10   2189.843946  -2121.578356 -31883.762857       .005946                    
+P 11  13963.927928 -20978.783648   8165.884317     99.789107                    
+V 11    571.356543  11309.087446  28194.326215       .025498                    
+P 13  -4379.230153 -22346.089944 -13779.593871    -30.913005                    
+V 13  11259.151984  13309.942398 -25158.330436       .002378                    
+P 14  16785.133315  20382.782805  -2754.127015    -18.154852                    
+V 14    169.385747   4240.852096  31853.742771      -.001146                    
+P 15   8995.887317  13360.971046  20844.324309    232.769961                    
+V 15 -13866.748284  23214.061491  -9032.486069       .054068                    
+P 16  25668.182326   2068.290179  -6455.731615     15.297764                    
+V 16  -7993.816918   3458.898590 -30334.165988      -.003994                    
+P 17 -18538.442815  12272.068863 -13773.456379    206.418353                    
+V 17   7256.715701 -16727.187134 -25095.114596       .195261                    
+P 18    520.211354  15142.551330  21841.736112    -15.324171                    
+V 18 -27629.686088   1192.799984   -376.437794      -.026437                    
+P 20  16019.039567 -13197.972582 -16639.336665   -184.224636                    
+V 20  21061.140972   -359.969474  20646.785741       .027696                    
+P 21  -3507.817561  23675.309450  11030.256877     73.069554                    
+V 21  -9144.507606  11288.424183 -27399.794416       .005100                    
+P 22  14240.557624  12542.741633  18728.929459    -40.497832                    
+V 22 -23386.574047   2297.929461  16429.062438       .088978                    
+P 24 -16489.321376   1334.295060 -20498.538866      8.040855                    
+V 24  11557.739175 -24037.084847 -10634.559032       .029776                    
+P 25  12842.513812   9178.226960 -20996.964596     61.680151                    
+V 25  -9942.315750  25730.397747   5054.116134       .006225                    
+P 26 -15846.116380   1952.202619  21085.364553    410.562178                    
+V 26 -15200.268821 -22541.056924  -8628.848100      -.124262                    
+P 27   3260.415273 -24834.761395   8494.627980    919.740568                    
+V 27   6820.698431  -8385.576026 -29255.183502       .043504                    
+P 28 -13523.302773 -12515.326608  19421.485015     21.791545                    
+V 28  23993.743714  -3159.425263  14510.500156       .016524                    
+P 29 -18319.231111  -2811.978740  19311.951960    229.821387                    
+V 29 -13423.113862 -19796.071675 -15779.503361       .033128                    
+P 30  -5447.724207  15883.278288 -20790.021996    804.610286                    
+V 30 -25879.011508   2283.042495   8722.058324       .142803                    
+P 31  13628.223488  -7775.031709  21117.591817     38.640094                    
+V 31  16962.641608  21855.118507  -2527.449926       .309474                    
+*  2004  2 29 13 45   .00000000                                                 
+P  1   8121.363122 -13123.207048 -21439.136092    332.528396                    
+V  1  17258.612506  21527.435918  -6614.163305       .015724                    
+P  3  21216.155663   6564.433777  14634.370592     89.787347                    
+V  3  10912.512101  15477.554132 -22389.982829       .031706                    
+P  4  -9276.464891 -14473.414443 -20139.338123    -76.412875                    
+V  4  10870.965833 -23325.214008  12059.818631      -.091559                    
+P  5 -20676.730372  12837.725549 -10551.106152     19.716602                    
+V  5 -13713.077482    -94.753287  27237.918859       .015927                    
+P  6   -263.764345  19703.556229 -17560.190626     -1.321532                    
+V  6 -16384.143120 -15998.897472 -17653.923072      -.010293                    
+P  7 -16492.624262 -20856.153064   2233.085846    612.039986                    
+V  7   4080.968715   -493.694687  30955.687267      -.077839                    
+P  8  -3209.238732 -20745.155203  15884.785000    355.728458                    
+V  8   9962.937555 -18210.312939 -21811.329928      -.088755                    
+P  9 -15018.772632  17999.375903  11684.453073    -32.301297                    
+V  9   2241.031148 -15790.545300  26632.625194      -.017586                    
+P 10 -26283.384542    665.150795  -4764.936164     40.155847                    
+V 10   5588.874534  -2742.574310 -31254.141170       .005790                    
+P 11  13996.688632 -19828.851268  10625.222703     99.791582                    
+V 11    219.899581  14224.534215  26378.659938       .025500                    
+P 13  -3258.390603 -21078.836731 -15919.556149    -30.913308                    
+V 13  13653.713953  14768.750077 -22328.479171       .002379                    
+P 14  16711.114890  20634.675836    128.203362    -18.154865                    
+V 14  -1874.423367   1395.864012  32105.886048      -.001153                    
+P 15   7827.020210  15434.826114  19849.921995    232.774330                    
+V 15 -12088.873983  22780.915761 -13033.405822       .054549                    
+P 16  24806.292688   2418.969696  -9122.310590     15.297199                    
+V 16 -11118.776118   4393.912620 -28837.658468      -.004003                    
+P 17 -17863.912900  10642.107634 -15901.210223    206.436124                    
+V 17   7654.184023 -19460.392683 -22118.613001       .195250                    
+P 18  -1954.583136  15314.797261  21620.408215    -15.326803                    
+V 18 -27275.295585   2622.163967  -4536.123849      -.026453                    
+P 20  17804.012398 -13265.117973 -14643.908370   -184.222174                    
+V 20  18546.437525  -1075.241387  23632.953084       .027688                    
+P 21  -4243.761089  24581.381690   8474.322570     73.070128                    
+V 21  -7246.350713   8781.810116 -29315.467314       .005085                    
+P 22  12065.967135  12810.569082  20044.124888    -40.489900                    
+V 22 -24855.651013   3680.142746  12756.793597       .088952                    
+P 24 -15486.365412   -899.751927 -21271.946305      8.044373                    
+V 24  10673.383039 -25533.718453  -6525.870147       .029561                    
+P 25  12014.563048  11482.650535 -20356.790140     61.679870                    
+V 25  -8442.881880  25388.993012   9150.058478       .006391                    
+P 26 -17236.871511      5.899595  20127.652968    410.550881                    
+V 26 -15633.436725 -20653.249356 -12618.894251      -.124285                    
+P 27   3807.523784 -25461.552298   5795.144029    919.744367                    
+V 27   5386.466058  -5490.772702 -30647.363265       .043472                    
+P 28 -11305.254189 -12865.007392  20560.518999     21.793073                    
+V 28  25213.080519  -4629.302715  10765.001099       .016518                    
+P 29 -19522.554877  -4493.228723  17733.361783    229.825075                    
+V 29 -13239.007360 -17529.847551 -19251.833239       .033106                    
+P 30  -7721.928624  16138.610155 -19831.553577    804.622925                    
+V 30 -24581.846258   3355.768105  12548.279364       .142801                    
+P 31  15186.890438  -5861.960376  20704.048504     38.668144                    
+V 31  17609.704200  20595.208029  -6646.577485       .309460                    
+*  2004  2 29 14  0   .00000000                                                 
+P  1   9743.764413 -11208.350353 -21845.190283    332.528498                    
+V  1  18742.299046  20945.626312  -2396.050031       .015434                    
+P  3  22146.740670   7850.127689  12499.702174     89.790749                    
+V  3   9694.136856  13089.974971 -24978.431050       .031688                    
+P  4  -8375.571016 -16534.200432 -18882.093515    -76.421747                    
+V  4   9148.349844 -22381.140966  15839.854246      -.091593                    
+P  5 -21774.820984  12820.832913  -8015.562315     19.718560                    
+V  5 -10666.687009   -347.718211  29026.741477       .016213                    
+P  6  -1828.972288  18237.089363 -18990.431337     -1.323656                    
+V  6 -18371.007468 -16509.847974 -14082.585999      -.010229                    
+P  7 -16020.128827 -20797.214704   4992.301880    612.032923                    
+V  7   6454.621716   1747.165562  30274.040154      -.077861                    
+P  8  -2396.812452 -22296.760210  13787.165332    355.720421                    
+V  8   8115.040108 -16190.800212 -24733.691739      -.088776                    
+P  9 -14813.990255  16445.119126  13969.294939    -32.302385                    
+V  9   2241.677993 -18710.382177  24064.545134      -.017333                    
+P 10 -25633.795320    375.223959  -7529.604331     40.156124                    
+V 10   8808.937865  -3763.956674 -30096.219956       .005583                    
+P 11  14014.652933 -18423.349990  12900.347912     99.793667                    
+V 11    239.333458  16974.056302  24106.750638       .025503                    
+P 13  -1922.048768 -19702.815183 -17787.249215    -30.912903                    
+V 13  16031.972825  15724.853391 -19116.477968       .002382                    
+P 14  16437.831414  20642.290728   3008.332293    -18.155109                    
+V 14  -4247.931226  -1174.457867  31805.004710      -.001159                    
+P 15   6821.924809  17445.170485  18505.135894    232.780650                    
+V 15 -10243.196910  21802.931732 -16806.978247       .054954                    
+P 16  23675.374315   2869.250224 -11631.538379     15.296590                    
+V 16 -13958.360112   5663.598649 -26842.391415      -.004009                    
+P 17 -17174.473184   8776.736299 -17743.172698    206.453413                    
+V 17   7592.852213 -21942.605536 -18754.541444       .195237                    
+P 18  -4373.339530  15610.917287  21027.355936    -15.329757                    
+V 18 -26388.098367   3930.891183  -8625.096199      -.026461                    
+P 20  19348.069505 -13380.506932 -12397.508240   -184.219519                    
+V 20  15721.109094  -1424.066551  26215.902013       .027677                    
+P 21  -4819.834819  25245.415384   5768.954060     73.070612                    
+V 21  -5603.567781   5921.678653 -30715.419487       .005072                    
+P 22   9781.791456  13208.644431  21018.776035    -40.481713                    
+V 22 -25816.934075   5178.077257   8872.084770       .088929                    
+P 24 -14577.246290  -3247.411693 -21669.567197      8.047800                    
+V 24   9484.957809 -26552.151752  -2296.323248       .029275                    
+P 25  11323.905976  13732.072194 -19355.009785     61.681487                    
+V 25  -6906.416024  24509.125030  13077.598359       .006618                    
+P 26 -18646.554168  -1756.474781  18821.206725    410.539438                    
+V 26 -15614.487702 -18468.793900 -16367.690490      -.124306                    
+P 27   4239.656031 -25814.883358   2994.018546    919.748215                    
+V 27   4274.303754  -2322.474149 -31509.321687       .043440                    
+P 28  -9000.282961 -13350.552939  21353.570538     21.795155                    
+V 28  25921.836622  -6164.112097   6832.460069       .016508                    
+P 29 -20687.807676  -5962.376936  15856.191856    229.828499                    
+V 29 -12574.003095 -15097.948553 -22405.316066       .033080                    
+P 30  -9859.295418  16479.884748 -18537.496784    804.635689                    
+V 30 -22846.464456   4181.090769  16169.094630       .142796                    
+P 31  16785.575129  -4078.021312  19925.156373     38.696015                    
+V 31  17844.122164  18998.087990 -10634.209958       .309444                    
+*  2004  2 29 14 15   .00000000                                                 
+P  1  11484.364115  -9366.469464 -21869.177522    332.529871                    
+V  1  19872.626856  19915.182546   1863.622053       .015243                    
+P  3  22948.231242   8921.333398  10151.217253     89.793210                    
+V  3   8047.355358  10725.741220 -27134.997018       .031558                    
+P  4  -7628.495795 -18486.266237 -17296.198164    -76.429999                    
+V  4   7467.826710 -20912.586246  19352.240653      -.091626                    
+P  5 -22594.124181  12762.929687  -5341.287235     19.719364                    
+V  5  -7533.374089  -1006.968319  30316.039440       .016460                    
+P  6  -3564.330171  16745.794473 -20087.644401     -1.323423                    
+V  6 -20150.885018 -16554.361658 -10264.342528      -.010302                    
+P  7 -15325.495896 -20552.553454   7667.175723    612.026138                    
+V  7   9004.553957   3625.537941  29084.745016      -.077883                    
+P  8  -1742.939284 -23646.079051  11445.856518    355.712555                    
+V  8   6453.219447 -13724.517827 -27218.466364      -.088789                    
+P  9 -14627.019099  14639.794309  16002.929758    -32.302398                    
+V  9   1851.308429 -21354.270644  21058.727740      -.017085                    
+P 10 -24705.826649    -23.121370 -10166.974141     40.157240                    
+V 10  11760.963135  -5143.470158 -28429.177047       .005388                    
+P 11  14050.095228 -16780.996532  14951.948838     99.795974                    
+V 11    602.483118  19474.662058  21418.779337       .025504                    
+P 13   -376.030939 -18263.565963 -19350.687327    -30.912650                    
+V 13  18297.109006  16174.832257 -15576.832825       .002384                    
+P 14  15938.730170  20433.687206   5836.680107    -18.155542                    
+V 14  -6879.607938  -3398.155734  30956.963415      -.001166                    
+P 15   5982.434032  19343.332809  16833.548565    232.785826                    
+V 15  -8424.434789  20291.578079 -20284.650035       .055157                    
+P 16  22304.687621   3446.695414 -13939.984017     15.295777                    
+V 16 -16435.064507   7208.774268 -24382.170492      -.004017                    
+P 17 -16509.834344   6702.695422 -19267.355286    206.470892                    
+V 17   7110.939970 -24083.326651 -15068.231557       .195228                    
+P 18  -6689.377994  16016.176581  20072.135784    -15.331929                    
+V 18 -24999.373666   5033.847373 -12572.636307      -.026469                    
+P 20  20627.081536 -13509.244484  -9938.491160   -184.216757                    
+V 20  12671.659679  -1366.622579  28350.924172       .027664                    
+P 21  -5261.986974  25639.006077   2961.804289     73.071003                    
+V 21  -4279.723335   2785.999492 -31573.805155       .005058                    
+P 22   7434.779679  13743.470703  21636.687960    -40.473650                    
+V 22 -26250.121873   6704.201809   4840.372031       .088902                    
+P 24 -13785.795915  -5663.299444 -21683.953393      8.049644                    
+V 24   8072.713397 -27043.214866   1977.561001       .028903                    
+P 25  10769.824863  15878.592481 -18010.012681     61.682250                    
+V 25  -5422.595323  23106.536390  16765.634072       .006771                    
+P 26 -20033.015478  -3312.391125  17190.567643    410.528344                    
+V 26 -15114.021040 -16081.406500 -19813.403302      -.124325                    
+P 27   4587.901493 -25874.031221    140.060598    919.752056                    
+V 27   3528.344432   1031.070247 -31818.474335       .043413                    
+P 28  -6655.030622 -13973.842770  21786.675765     21.796491                    
+V 28  26107.617031  -7675.412598   2777.134556       .016500                    
+P 29 -21771.146940  -7208.680642  13711.573726    229.831509                    
+V 29 -11418.664464 -12593.445232 -25186.681332       .033054                    
+P 30 -11822.834549  16881.808927 -16929.121825    804.649004                    
+V 30 -20729.580370   4693.575059  19523.197619       .142790                    
+P 31  18385.275762  -2450.019380  18795.958909     38.723917                    
+V 31  17627.228257  17144.048358 -14419.736076       .309417                    
+*  2004  2 29 14 30   .00000000                                                 
+P  1  13308.152416  -7635.163905 -21510.761584    332.530697                    
+V  1  20580.626219  18500.305697   6089.206655       .015075                    
+P  3  23583.290845   9784.024622   7629.414617     89.796117                    
+V  3   6001.973024   8470.058527 -28824.773972       .031489                    
+P  4  -7027.448002 -20283.605366 -15408.621471    -76.438110                    
+V  4   5917.543617 -18949.285131  22533.771311      -.091653                    
+P  5 -23131.040452  12627.482010  -2574.401210     19.720374                    
+V  5  -4407.083672  -2068.833586  31081.449942       .016807                    
+P  6  -5447.435375  15270.382247 -20832.649978     -1.323539                    
+V  6 -21641.199618 -16163.486621  -6267.436348      -.010461                    
+P  7 -14396.421815 -20156.701721  10213.032391    612.018829                    
+V  7  11650.560900   5101.670738  27411.572953      -.077910                    
+P  8  -1227.338637 -24755.701224   8902.319188    355.704825                    
+V  8   5054.104002 -10876.314381 -29220.959138      -.088799                    
+P  9 -14491.152184  12612.287295  17748.385143    -32.305152                    
+V  9   1114.891786 -23634.013227  17670.488177      -.016986                    
+P 10 -23527.253982   -559.621257 -12632.395613     40.157447                    
+V 10  14365.673813  -6823.207758 -26280.367716       .005125                    
+P 11  14132.162597 -14927.637604  16744.662744     99.798474                    
+V 11   1267.281218  21651.399324  18362.166713       .025504                    
+P 13   1365.191358 -16806.080656 -20583.046644    -30.912792                    
+V 13  20354.442962  16134.247652 -11769.591065       .002385                    
+P 14  15194.245200  20042.753970   8564.620167    -18.155618                    
+V 14  -9686.214897  -5218.048738  29577.037566      -.001172                    
+P 15   5301.957957  21082.577298  14864.672810    232.791552                    
+V 15  -6724.386792  18278.275081 -23403.421976       .055328                    
+P 16  20729.893139   4172.941484 -16007.633286     15.295154                    
+V 16 -18484.613870   8957.332932 -21499.013192      -.004027                    
+P 17 -15905.469589   4454.345122 -20447.906501    206.488586                    
+V 17   6263.995748 -25804.297385 -11130.442497       .195222                    
+P 18  -8859.623051  16508.508352  18770.590691    -15.334344                    
+V 18 -23157.699415   5853.794709 -16309.971143      -.026476                    
+P 20  21625.049604 -13613.610575  -7308.904292   -184.214287                    
+V 20   9491.701876   -880.179025  30000.799904       .027648                    
+P 21  -5601.224960  25741.297972    102.394639     73.071511                    
+V 21  -3323.293723   -535.996017 -31875.025262       .005042                    
+P 22   5072.696991  14413.562905  21887.659259    -40.465852                    
+V 22 -26152.986742   8169.114469    729.236411       .088871                    
+P 24 -13128.215285  -8098.438369 -21314.605702      8.051648                    
+V 24   6525.372125 -26976.545879   6218.150597       .028577                    
+P 25  10343.678816  17876.591991 -16346.365604     61.683795                    
+V 25  -4077.187442  21215.971520  20148.219156       .006834                    
+P 26 -21352.283185  -4647.986500  15265.549909    410.517919                    
+V 26 -14121.013182 -13589.316165 -22900.826351      -.124351                    
+P 27   4886.589096 -25626.644397  -2716.338812    919.755749                    
+V 27   3176.138765   4472.648272 -31562.395478       .043387                    
+P 28  -4316.460683 -14728.754870  21851.770622     21.798146                    
+V 28  25775.691845  -9074.402057  -1334.277315       .016491                    
+P 29 -22728.709626  -8229.842597  11335.191910    229.835066                    
+V 29  -9782.018713 -10110.365787 -27548.160794       .033023                    
+P 30 -13581.244289  17313.732258 -15033.052407    804.661143                    
+V 30 -18300.513501   4840.015870  22553.091180       .142785                    
+P 31  19944.272447   -997.172342  17337.646769     38.752159                    
+V 31  16937.478661  15120.801763 -17937.371823       .309385                    
+*  2004  2 29 14 45   .00000000                                                 
+P  1  15174.575997  -6045.629154 -20776.392571    332.533035                    
+V  1  20812.506394  16778.610540  10205.785837       .015047                    
+P  3  24017.973660  10451.566563   4977.576966     89.799243                    
+V  3   3603.302613   6401.466781 -30020.868352       .031446                    
+P  4  -6556.974546 -21883.717477 -13251.782415    -76.446304                    
+V  4   4579.026211 -16539.198282  25326.758852      -.091677                    
+P  5 -23390.395448  12379.084429    237.191442     19.722399                    
+V  5  -1380.503874  -3511.966027  31307.776537       .017179                    
+P  6  -7448.850041  13848.022126 -21212.564869     -1.324472                    
+V  6 -22768.723967 -15384.576571  -2163.317402      -.010769                    
+P  7 -13228.062138 -19647.037443  12587.664984    612.011402                    
+V  7  14307.596875   6152.217857  25285.492216      -.077945                    
+P  8   -823.391238 -25594.728022   6201.624670    355.696246                    
+V  8   3981.438769  -7725.570741 -30705.760124      -.088816                    
+P  9 -14434.917464  10398.878057  19174.038857    -32.306931                    
+V  9     92.955875 -25474.075872  13963.178599      -.016878                    
+P 10 -22132.439616  -1258.174481 -14884.034583     40.158587                    
+V 10  16556.407550  -8731.762865 -23684.937545       .004822                    
+P 11  14285.611539 -12895.396618  18247.687238     99.801047                    
+V 11   2178.572977  23440.174912  14990.673590       .025501                    
+P 13   3278.858957 -15373.120607 -21463.120657    -30.912340                    
+V 13  22115.078748  15636.920608  -7759.365584       .002385                    
+P 14  14192.711774  19507.781558  11145.313026    -18.156181                    
+V 14 -12575.965956  -6593.788375  27689.602033      -.001180                    
+P 15   4765.921275  22619.853482  12633.391632    232.797147                    
+V 15  -5228.085257  15813.237327 -26107.161378       .055447                    
+P 16  18991.748820   5062.658074 -17798.597233     15.295005                    
+V 16 -20058.359887  10827.079138 -18242.444648      -.004030                    
+P 17 -15391.172760   2072.420514 -21265.521926    206.506369                    
+V 17   5122.172496 -27042.562317  -7015.611822       .195209                    
+P 18 -10846.085839  17059.371131  17144.619190    -15.337065                    
+V 18 -20927.185548   6324.592962 -19771.509752      -.026490                    
+P 20  22334.590127 -13654.649483  -4553.781764   -184.211775                    
+V 20   6278.478034     39.879667  31136.474261       .027635                    
+P 21  -5872.163547  25539.843202  -2758.824033     73.071737                    
+V 21  -2765.696914  -3947.311477 -31614.057615       .005025                    
+P 22   2742.694164  15209.436092  21767.628387    -40.457826                    
+V 22 -25541.351703   9485.017763  -3392.635430       .088841                    
+P 24 -12612.479826 -10502.018727 -20568.000920      8.053847                    
+V 24   4936.349858 -26341.928539  10348.327787       .028314                    
+P 25  10029.420491  19684.381017 -14394.288902     61.682375                    
+V 25  -2948.436964  18889.704498  23165.866759       .006863                    
+P 26 -22560.230417  -5758.297182  13080.613166    410.506610                    
+V 26 -12643.026695 -11091.417877 -25582.024845      -.124379                    
+P 27   5171.723112 -25069.386262  -5524.156538    919.759975                    
+V 27   3227.181215   7899.795401 -30739.567973       .043364                    
+P 28  -2030.270010 -15601.287062  21546.868766     21.799511                    
+V 28  24948.864312 -10275.336100  -5433.574579       .016478                    
+P 29 -23518.276292  -9031.940510   8766.751888    229.837298                    
+V 29  -7691.497232  -7740.212321 -29448.299681       .032987                    
+P 30 -15109.938071  17740.851835 -12880.879145    804.674119                    
+V 30 -15638.723208   4581.673768  25206.056330       .142776                    
+P 31  21419.708706    269.392683  15577.069849     38.780949                    
+V 31  15771.226333  13019.804731 -21127.316864       .309356                    
+*  2004  2 29 15  0   .00000000                                                 
+P  1  17039.010075  -4621.590875 -19679.176238    332.533573                    
+V  1  20531.897877  14837.903503  14140.610409       .014932                    
+P  3  24223.049558  10943.983200   2241.034359     89.800475                    
+V  3    910.503526   4588.946190 -30704.718860       .031333                    
+P  4  -6194.711667 -23249.178587 -10862.998059    -76.454814                    
+V  4   3523.780755 -13746.833423  27680.236031      -.091703                    
+P  5 -23385.167720  11985.024730   3044.646421     19.724512                    
+V  5   1458.469168  -5298.011706  30989.369748       .017443                    
+P  6  -9533.080605  12510.963442 -21221.027709     -1.327323                    
+V  6 -23472.574240 -14279.216939   1974.773914      -.011068                    
+P  7 -11823.328441 -19062.279928  14751.952927    612.004879                    
+V  7  16888.871255   6770.752166  22744.006166      -.077977                    
+P  8   -499.420781 -26139.943083   3391.587014    355.688016                    
+V  8   3283.476311  -4363.057718 -31647.422530      -.088823                    
+P  9 -14480.794132   8041.952761  20254.277891    -32.307654                    
+V  9  -1141.114522 -26814.775772  10006.722929      -.016688                    
+P 10 -20561.087011  -2135.743814 -16883.552648     40.159504                    
+V 10  18281.487262 -10786.889403 -20685.334963       .004439                    
+P 11  14529.730954 -10721.585382  19435.306297     99.803161                    
+V 11   3270.435566  24790.140697  11363.393902       .025498                    
+P 13   5334.602371 -14003.631979 -21975.684328    -30.911967                    
+V 13  23499.343327  14733.521776  -3614.284585       .002386                    
+P 14  12930.980689  18869.879553  13534.505562    -18.156700                    
+V 14 -15452.014606  -7503.251814  25327.666145      -.001185                    
+P 15   4352.534860  23917.405632  10179.287345    232.801682                    
+V 15  -4010.247138  12963.524459 -28347.746702       .055532                    
+P 16  17134.617938   6122.783858 -19281.750691     15.295028                    
+V 16 -21125.077317  12728.979032 -14668.649011      -.004032                    
+P 17 -14989.888545   -397.456306 -21707.696293    206.523937                    
+V 17   3766.933370 -27752.800033  -2800.106099       .195197                    
+P 18 -12617.159087  17634.876906  15221.834146    -15.339336                    
+V 18 -18385.090848   6393.996148 -22896.056973      -.026498                    
+P 20  22757.098868 -13593.820123  -1720.384172   -184.209616                    
+V 20   3129.232488   1379.729098  31737.605083       .027622                    
+P 21  -6111.428266  25031.130408  -5571.428572     73.071761                    
+V 21  -2620.057345  -7347.010087 -30796.530941       .005009                    
+P 22    489.708422  16113.904058  21278.726297    -40.449602                    
+V 22 -24448.418652  10569.125806  -7456.492375       .088810                    
+P 24 -12238.095398 -12823.239484 -19457.472337      8.056370                    
+V 24   3399.771594 -25149.781610  14293.111145       .028129                    
+P 25   9804.422235  21265.683740 -12189.023836     61.682766                    
+V 25  -2103.827804  16195.351247  25766.653811       .006974                    
+P 26 -23614.231329  -6647.149071  10674.186195    410.495067                    
+V 26 -10705.717000  -8683.534869 -27816.791825      -.124400                    
+P 27   5479.320104 -24208.226591  -8232.743174    919.763626                    
+V 27   3672.200380  11208.867008 -29359.871012       .043348                    
+P 28    160.659668 -16569.984147  20876.152435     21.800612                    
+V 28  23666.711170 -11198.884148  -9452.049265       .016467                    
+P 29 -24100.899623  -9629.044514   6049.377133    229.840456                    
+V 29  -5192.204953  -5568.531597 -30852.719631       .032954                    
+P 30 -16391.830750  18125.595976 -10508.686919    804.686673                    
+V 30 -12830.941897   3896.000858  27435.093114       .142764                    
+P 31  22769.209068   1346.807890  13546.154158     38.808965                    
+V 31  14142.751492  10932.522478 -23936.711205       .309312                    
+*  2004  2 29 15 15   .00000000                                                 
+P  1  18854.400808  -3378.548091 -18238.616034    332.536334                    
+V  1  19721.383172  12772.564408  17824.482363       .014890                    
+P  3  24175.156454  11286.980989   -533.595082     89.804327                    
+V  3  -2005.580609   3089.413944 -30866.283688       .031519                    
+P  4  -5912.425626 -24349.028530  -8283.828873    -76.462133                    
+V  4   2810.282742 -10650.874591  29551.041693      -.091724                    
+P  5 -23135.901695  11416.762517   5799.050919     19.727776                    
+V  5   4030.135122  -7372.921358  30130.397492       .017483                    
+P  6 -11659.804776  11285.369801 -20858.295297     -1.329132                    
+V  6 -23706.695231 -12920.577488   6073.247993      -.011179                    
+P  7 -10192.905410 -18440.966643  16670.419138    611.998099                    
+V  7  19308.951110   6967.678076  19830.460846      -.078007                    
+P  8   -220.180443 -26376.678161    521.845098    355.680034                    
+V  8   2991.049183   -887.332080 -32030.891599      -.088821                    
+P  9 -14644.199908   5588.459859  20970.016425    -32.308217                    
+V  9  -2504.372769 -27614.757958   5875.956095      -.016559                    
+P 10 -18856.805139  -3201.516059 -18596.738742     40.158861                    
+V 10  19506.058858 -12898.575631 -17330.724023       .004018                    
+P 11  14877.493447  -8447.424051  20287.321675     99.805199                    
+V 11   4468.914840  25665.555344   7543.663397       .025501                    
+P 13   7495.414598 -12731.316929 -22111.760879    -30.911557                    
+V 13  24439.892944  13489.522964    595.119316       .002387                    
+P 14  11414.709129  18171.300117  15691.281776    -18.156310                    
+V 14 -18216.131146  -7943.224024  22532.266457      -.001189                    
+P 15   4033.867191  24944.174335   7545.876506    232.805998                    
+V 15  -3132.183822   9810.389492 -30086.010888       .055656                    
+P 16  15204.845343   7352.068688 -20431.288483     15.294749                    
+V 16 -21672.083882  14570.699168 -10839.491093      -.004037                    
+P 17 -14716.858200  -2906.438101 -21768.820524    206.541158                    
+V 17   2287.365211 -27908.846525   1439.465365       .195188                    
+P 18 -14148.672943  18197.148230  13035.114256    -15.341735                    
+V 18 -15618.907534   6025.925833 -25627.978058      -.026506                    
+P 20  22902.586916 -13394.643422   1142.604975   -184.207516                    
+V 20    137.572546   3107.496067  31792.969640       .027616                    
+P 21  -6355.982857  24220.760760  -8285.975813     73.072009                    
+V 21  -2880.758725 -10634.194879 -29438.542663       .004995                    
+P 22  -1645.046951  17102.677116  20429.235596    -40.441832                    
+V 22 -22923.474691  11346.884395 -11394.553503       .088783                    
+P 24 -11996.215372 -15013.154766 -18002.946299      8.059802                    
+V 24   2006.462697 -23430.775912  17981.224269       .027874                    
+P 25   9640.571467  22590.897508  -9770.110475     61.683258                    
+V 25  -1597.357869  13213.080528  27907.101670       .007234                    
+P 26 -24474.742696  -7326.721576   8087.957299    410.483892                    
+V 26  -8351.690493  -6454.920588 -29572.935213      -.124418                    
+P 27   5843.719287 -23058.357031 -10792.859163    919.767806                    
+V 27   4483.286656  14299.290149 -27444.756585       .043332                    
+P 28   2217.714013 -17606.659774  19849.971232     21.802030                    
+V 28  21984.207561 -11775.303132 -13321.535693       .016466                    
+P 29 -24442.437255 -10042.533043   3228.940234    229.843441                    
+V 29  -2345.527783  -3671.662729 -31734.817842       .032924                    
+P 30 -17417.852277  18429.137413  -7956.499453    804.699964                    
+V 30  -9968.001366   2777.780923  29199.815985       .142755                    
+P 31  23952.466864   2240.300766  11281.241927     38.835855                    
+V 31  12083.575801   8946.796072 -26320.384047       .309257                    
+*  2004  2 29 15 30   .00000000                                                 
+P  1  20573.011059  -2323.354048 -16480.234571    332.537042                    
+V  1  18383.255756  10679.687093  21193.046648       .014734                    
+P  3  23857.738595  11510.768080  -3299.175575     89.807509                    
+V  3  -5065.001188   1945.695745 -30504.100837       .031500                    
+P  4  -5677.301866 -25159.917146  -5559.332803    -76.470599                    
+V  4   2481.487738  -7341.209296  30904.757192      -.091742                    
+P  5 -22669.830853  10651.251259   8452.309813     19.730256                    
+V  5   6266.026854  -9669.036312  28744.821640       .017265                    
+P  6 -13785.295321  10190.413204 -20131.209485     -1.330273                    
+V  6 -23441.733526 -11390.309385  10059.595230      -.011267                    
+P  7  -8354.992164 -17819.964104  18311.724022    611.990770                    
+V  7  21486.770869   6769.566146  16593.335022      -.078037                    
+P  8     51.520867 -26299.339938  -2357.082354    355.671463                    
+V  8   3116.402164   2599.163261 -31851.677521      -.088813                    
+P  9 -14932.795453   3088.180027  21309.057957    -32.308916                    
+V  9  -3908.032645 -27852.638947   1648.833813      -.016592                    
+P 10 -17065.534058  -4456.353493 -19994.083426     40.159236                    
+V 10  20213.327537 -14972.427535 -13676.298931       .003662                    
+P 11  15334.967539  -6116.619763  20789.383211     99.807147                    
+V 11   5695.066700  26047.053290   3597.908046       .025501                    
+P 13   9718.884061 -11583.415139 -21868.786425    -30.911114                    
+V 13  24884.369212  11982.585491   4797.065913       .002383                    
+P 14   9658.317336  17453.733052  17578.753038    -18.156155                    
+V 14 -20772.427956  -7929.347508  19351.730906      -.001196                    
+P 15   3777.168101  25676.932327   4779.769978    232.812095                    
+V 15  -2639.304311   6446.047906 -31292.458283       .055790                    
+P 16  13249.065196   8740.941973 -21227.188382     15.294414                    
+V 16 -21705.637163  16260.293456  -6821.426115      -.004045                    
+P 17 -14579.107762  -5404.213838 -21450.131870    206.558858                    
+V 17    776.285329 -27504.381917   5627.821132       .195181                    
+P 18 -15424.668423  18705.852527  10622.053976    -15.343717                    
+V 18 -12723.021764   5202.120350 -27918.286558      -.026508                    
+P 20  22789.193910 -13024.282482   3985.912638   -184.205043                    
+V 20  -2610.041608   5174.356998  31300.719248       .027611                    
+P 21  -6641.452589  23123.265457 -10854.927270     73.072350                    
+V 21  -3523.798806 -13711.966038 -27566.230609       .004981                    
+P 22  -3625.450274  18145.237028  19233.457189    -40.433991                    
+V 22 -21030.023264  11754.891831 -15141.028371       .088754                    
+P 24 -11870.112743 -17026.447146 -16230.541779      8.062267                    
+V 24    840.098065 -21234.598282  21346.563345       .027581                    
+P 25   9505.584193  23638.079182  -7180.596889     61.682512                    
+V 25  -1467.432132  10032.362546  29552.820936       .007413                    
+P 26 -25106.756192  -7816.811690   5366.145659    410.473527                    
+V 26  -5638.786234  -4485.110826 -30826.417730      -.124434                    
+P 27   6295.943353 -21643.723511 -13157.711365    919.771287                    
+V 27   5614.886880  17077.788659 -25027.078896       .043319                    
+P 28   4107.848046 -18677.391300  18484.744358     21.803576                    
+V 28  19969.769719 -11947.310575 -16975.505364       .016463                    
+P 29 -24514.930601 -10300.128549    353.334635    229.846408                    
+V 29    772.890048  -2113.783727 -32076.384197       .032898                    
+P 30 -18187.165993  18612.980460  -5267.646110    804.712861                    
+V 30  -7141.462120   1239.625343  30467.283277       .142745                    
+P 31  24932.740062   2962.713188   8822.373644     38.862553                    
+V 31   9641.116426   7143.456265 -28241.396202       .309221                    
+*  2004  2 29 15 45   .00000000                                                 
+P  1  22148.198642  -1454.149148 -14435.084020    332.538258                    
+V  1  16539.481502   8655.142653  24187.963255       .014563                    
+P  3  23261.737573  11648.714885  -6008.824008     89.810507                    
+V  3  -8181.603445   1185.038280 -29625.227348       .031393                    
+P  4  -5453.430302 -25666.960238  -2737.242979    -76.479885                    
+V  4   2562.979141  -3915.474093  31716.462072      -.091768                    
+P  5 -22019.743554   9672.053869  10958.019110     19.731327                    
+V  5   8111.569523 -12107.612873  26856.235115       .016935                    
+P  6 -15863.982003   9237.662850 -19053.037325     -1.331480                    
+V  6 -22666.225046  -9775.123473  13863.767491      -.011307                    
+P  7  -6334.780358 -17233.063308  19649.095099    611.983879                    
+V  7  23348.457441   6217.947082  13085.521101      -.078065                    
+P  8    353.122997 -25911.579148  -5194.745915    355.663545                    
+V  8   3652.824395   5994.118157 -31115.776496      -.088803                    
+P  9 -15346.135977    591.888593  21266.293180    -32.309811                    
+V  9  -5261.428611 -27527.744324  -2595.415340      -.016685                    
+P 10 -15233.888211  -5892.559436 -21051.287134     40.158609                    
+V 10  20405.143255 -16913.245918  -9782.502258       .003376                    
+P 11  15901.012710  -3773.859479  20933.213668     99.809273                    
+V 11   6868.179915  25932.277263   -405.544044       .025500                    
+P 13  11958.642449 -10579.742213 -21250.668996    -30.910676                    
+V 13  24797.503074  10299.481195   8919.714530       .002378                    
+P 14   7684.613191  16756.638176  19164.676880    -18.156269                    
+V 14 -23030.990741  -7495.346590  15840.829466      -.001206                    
+P 15   3546.386488  26101.108997   1929.779277    232.816956                    
+V 15  -2559.316171   2970.017126 -31947.739707       .055843                    
+P 16  11312.506310  10271.714066 -21655.571678     15.294119                    
+V 16 -21250.590685  17709.891433  -2684.318140      -.004055                    
+P 17 -14575.289089  -7840.794559 -20759.529426    206.576657                    
+V 17   -673.676811 -26552.794083   9692.423023       .195173                    
+P 18 -16437.855986  19119.853726   8024.320040    -15.346598                    
+V 18  -9795.078645   3923.082315 -29725.627504      -.026528                    
+P 20  22442.396305 -12454.993350   6760.525351   -184.202726                    
+V 20  -5037.541469   7516.306596  30268.472606       .027607                    
+P 21  -7000.514813  21761.574682 -13233.524918     73.073312                    
+V 21  -4507.921163 -16491.180707 -25215.118419       .004967                    
+P 22  -5421.647431  19205.957468  17711.486011    -40.426213                    
+V 22 -18843.405110  11743.418096 -18633.115150       .088726                    
+P 24 -11835.985148 -18823.053438 -14172.044073      8.065398                    
+V 24    -26.317583 -18627.923585  24329.520437       .027302                    
+P 25   9364.477464  24393.623800  -4466.201023     61.684641                    
+V 25  -1735.446267   6748.409375  30678.918934       .007675                    
+P 26 -25481.073253  -8143.833947   2554.765824    410.461903                    
+V 26  -2637.866779  -2841.215441 -31561.373084      -.124450                    
+P 27   6862.187278 -19996.187739 -15283.957914    919.774912                    
+V 27   7005.646152  19462.364006 -22150.558860       .043308                    
+P 28   5804.687730 -19743.755397  16802.762674     21.804992                    
+V 28  17702.770151 -11672.543292 -20350.195518       .016455                    
+P 29 -24297.775273 -10434.685277  -2528.304717    229.849564                    
+V 29   4075.742886   -944.374071 -31868.115964       .032877                    
+P 30 -18707.079244  18640.562344  -2488.057845    804.726042                    
+V 30  -4440.167904   -688.212283  31212.738015       .142735                    
+P 31  25678.199209   3533.731620   6212.530252     38.890120                    
+V 31   6876.760259   5593.308253 -29671.385356       .309196                    
+*  2004  2 29 16  0   .00000000                                                 
+P  1  23536.155433   -760.645487 -12139.157338    332.538672                    
+V  1  14230.871982   6789.729930  26757.935145       .014411                    
+P  3  22386.012011  11735.906926  -8616.669593     89.813194                    
+V  3 -11266.138778    818.209056 -28245.063767       .031284                    
+P  4  -5203.425270 -25864.268341    132.913455    -76.487586                    
+V  4   3061.839848   -475.263877  31971.282993      -.091795                    
+P  5 -21222.635030   8470.204364  13272.317980     19.731632                    
+V  5   9528.144820 -14601.914765  24497.470532       .016640                    
+P  6 -17850.087860   8430.790705 -17643.190270     -1.332557                    
+V  6 -21387.055012  -8163.198186  17419.479202      -.011281                    
+P  7  -4163.689449 -16709.706210  20660.691687    611.977011                    
+V  7  24829.888322   5367.614815   9363.601204      -.078094                    
+P  8    720.622102 -25226.099319  -7941.696653    355.655726                    
+V  8   4575.082290   9199.315629 -29839.353934      -.088782                    
+P  9 -15875.682524  -1850.506662  20843.731662    -32.311525                    
+V  9  -6476.015255 -26659.919518  -6778.123453      -.016889                    
+P 10 -13407.477481  -7493.969821 -21749.693827     40.158125                    
+V 10  20101.906627 -18628.672509  -5714.149624       .003188                    
+P 11  16567.267867  -1463.275310  20716.725880     99.812061                    
+V 11   7909.052106  25335.856416  -4397.664100       .025502                    
+P 13  14165.973895  -9732.022006 -20267.739986    -30.910152                    
+V 13  24162.584086   8532.659896  12892.364811       .002371                    
+P 14   5524.099376  16115.678979  20421.994852    -18.156294                    
+V 14 -24911.278704  -6691.560558  12059.827531      -.001215                    
+P 15   3303.815824  26211.272354   -954.008714    232.821032                    
+V 15  -2901.193092   -514.806373 -32042.880380       .055890                    
+P 16   9437.361429  11919.104096 -21708.954149     15.293720                    
+V 16 -20349.321443  18839.240122   1499.810042      -.004065                    
+P 17 -14695.868325 -10168.251701 -19711.270277    206.594017                    
+V 17  -1973.855071 -25086.269745  13564.710232       .195170                    
+P 18 -17189.739085  19398.915694   5286.925248    -15.348773                    
+V 18  -6932.197897   2208.277040 -31017.128288      -.026531                    
+P 20  21893.940443 -11665.388727   9418.539234   -184.200674                    
+V 20  -7082.100706  10056.533329  28713.242173       .027602                    
+P 21  -7461.424154  20166.163179 -15380.598899     73.073862                    
+V 21  -5776.462413 -18893.853957 -22429.262393       .004955                    
+P 22  -7010.993748  20245.429702  15888.898254    -40.418503                    
+V 22 -16447.990586  11278.432530 -21811.968361       .088700                    
+P 24 -11864.055878 -20369.575935 -11864.267276      8.067857                    
+V 24   -533.483616 -15691.693895  26878.126169       .026953                    
+P 25   9181.136737  24852.615017  -1674.446294     61.686150                    
+V 25  -2405.097668   3458.467645  31270.178084       .007884                    
+P 26 -25575.362541  -8339.599057   -299.104534    410.450877                    
+V 26    569.787597  -1575.718065 -31770.021353      -.124463                    
+P 27   7562.508525 -18154.349490 -17132.648486    919.778592                    
+V 27   8581.025212  21385.818114 -18868.886732       .043301                    
+P 28   7289.386960 -20764.262320  14831.888280     21.806372                    
+V 28  15270.601688 -10925.496817 -23385.754946       .016450                    
+P 29 -23778.634857 -10482.771480  -5366.421629    229.852061                    
+V 29   7467.155010   -196.201099 -31110.008405       .032863                    
+P 30 -18992.645399  18478.806660    334.498611    804.739638                    
+V 30  -1946.856429  -2958.715195  31420.235791       .142727                    
+P 31  26163.079582   3978.866489   3496.852572     38.917502                    
+V 31   3863.456625   4354.588032 -30590.729599       .309181                    
+*  2004  2 29 16 15   .00000000                                                 
+P  1  24697.538108   -224.747956  -9632.714210    332.540586                    
+V  1  11515.512914   5165.571003  28859.572901       .014356                    
+P  3  21237.471699  11807.644158 -11078.592793     89.815987                    
+V  3 -14229.479269    839.209643 -26387.070215       .031223                    
+P  4  -4890.112289 -25755.125253   3000.735874    -76.496163                    
+V  4   3966.301943   2877.831909  31664.716804      -.091821                    
+P  5 -20318.201784   7044.775931  15354.694867     19.733248                    
+V  5  10494.523477 -17060.620596  21710.009077       .016530                    
+P  6 -19699.273666   7765.602294 -15926.830986     -1.334151                    
+V  6 -19629.181082  -6640.569813  20665.399653      -.011371                    
+P  7  -1878.386526 -16273.884805  21329.904247    611.969339                    
+V  7  25878.910046   4284.498686   5487.119013      -.078119                    
+P  8   1186.951961 -24264.118097 -10550.378922    355.647045                    
+V  8   5840.616576  12124.364796 -28048.212157      -.088758                    
+P  9 -16505.167617  -4191.769955  20050.371720    -32.312334                    
+V  9  -7469.210769 -25288.444805 -10822.934702      -.017110                    
+P 10 -11629.267618  -9236.371163 -22076.641807     40.157613                    
+V 10  19341.788887 -20032.775011  -1539.465070       .003106                    
+P 11  17318.432213    773.058943  20144.031977     99.814402                    
+V 11   8743.190571  24288.737905  -8309.915717       .025501                    
+P 13  16291.525479  -9043.539038 -18936.597567    -30.909799                    
+V 13  22982.234938   6776.591265  16646.653490       .002362                    
+P 14   3213.989739  15561.317233  21329.281429    -18.156305                    
+V 14 -26345.166645  -5582.845524   8073.458831      -.001223                    
+P 15   3011.796789  26011.252678  -3821.166561    232.827800                    
+V 15  -3654.939812  -3906.157109 -31579.265344       .056037                    
+P 16   7661.284352  13651.074602 -21386.382338     15.293302                    
+V 16 -19059.970811  19578.957045   5658.071051      -.004076                    
+P 17 -14923.642118 -12342.341781 -18325.563270    206.611324                    
+V 17  -3043.032291 -23154.193432  17181.139105       .195166                    
+P 18 -17690.396097  19505.388959   2457.432554    -15.351205                    
+V 18  -4227.191511     95.561306 -31769.092853      -.026537                    
+P 20  21180.541153 -10641.463811  11913.995769   -184.198222                    
+V 20  -8696.477428  12708.313222  26661.191038       .027606                    
+P 21  -8046.732748  18373.911236 -17259.290745     73.074350                    
+V 21  -7259.821363 -20856.061041 -19260.233485       .004943                    
+P 22  -8378.727458  21221.945786  13796.353185    -40.410587                    
+V 22 -13934.039443  10343.065408 -24623.627053       .088671                    
+P 24 -11919.921154 -21640.422380  -9348.323127      8.069761                    
+V 24   -638.223555 -12517.835589  28948.983997       .026581                    
+P 25   8919.912280  25018.841203   1146.209135     61.685914                    
+V 25  -3462.426197    258.121513  31321.021515       .007996                    
+P 26 -25374.968739  -8439.919256  -3148.045530    410.439389                    
+V 26   3895.382311   -724.832021 -31452.504637      -.124472                    
+P 27   8409.783329 -16162.079834 -18670.068382    919.782520                    
+V 27  10256.572231  22798.624411 -15244.488031       .043299                    
+P 28   8551.203595 -21695.937883  12605.150971     21.807919                    
+V 28  12765.387606  -9698.854437 -26027.385926       .016441                    
+P 29 -22954.057984 -10483.097554  -8111.887660    229.855333                    
+V 29  10846.163527    116.076512 -29811.599384       .032845                    
+P 30 -19065.968454  18099.566920   3151.236983    804.752286                    
+V 30    265.038809  -5509.661367  31083.135130       .142709                    
+P 31  26368.599132   4328.226783    721.853467     38.945046                    
+V 31    682.938697   3470.965587 -30988.548902       .309175                    
+*  2004  2 29 16 30   .00000000                                                 
+P  1  25598.926601    178.516733  -6959.537045    332.540689                    
+V  1   8466.521922   3852.895662  30458.082627       .014243                    
+P  3  19830.922063  11897.942368 -13352.934052     89.817825                    
+V  3 -16985.821322   1225.607811 -24082.380245       .031134                    
+P  4  -4478.210539 -25351.808508   5815.889159    -76.504809                    
+V  4   5246.192125   6046.193417  30802.716748      -.091834                    
+P  5 -19347.238682   5403.131710  17168.732157     19.735885                    
+V  5  11007.585262 -19391.442985  18543.201469       .016372                    
+P  6 -21370.225060   7230.387522 -13934.378631     -1.334358                    
+V  6 -17434.642502  -5287.654829  23546.213149      -.011378                    
+P  7    480.375869 -15943.248544  21645.587923    611.962735                    
+V  7  26457.154496   3043.173472   1517.845045      -.078142                    
+P  8   1780.504891 -23054.508632 -12975.966615    355.638807                    
+V  8   7391.433195  14690.054375 -25777.071445      -.088725                    
+P  9 -17211.292979  -6389.006763  18901.918609    -32.312778                    
+V  9  -8167.905238 -23470.132780 -14657.415769      -.017491                    
+P 10  -9938.041191 -11088.233483 -22025.723920     40.157272                    
+V 10  18179.283006 -21049.439385   2670.966672       .003129                    
+P 11  18132.826156   2896.543127  19225.346396     99.816821                    
+V 11   9303.814738  22836.904440 -12075.419231       .025499                    
+P 13  18287.054772  -8509.125144 -17279.843282    -30.909575                    
+V 13  21278.456263   5124.018947  20117.728438       .002354                    
+P 14    796.972260  15117.621829  21871.097501    -18.156240                    
+V 14 -27279.516429  -4245.927789   3949.834963      -.001230                    
+P 15   2634.405307  25513.907893  -6621.849362    232.834618                    
+V 15  -4792.147168  -7106.324125 -30568.396067       .056067                    
+P 16   6016.073741  15429.940972 -20693.452344     15.293080                    
+V 16 -17454.068844  19873.363293   9718.025488      -.004087                    
+P 17 -15234.549848 -14323.959601 -16628.078041    206.628786                    
+V 17  -3810.514707 -20820.956349  20484.027005       .195169                    
+P 18 -17957.927833  19405.811817   -414.895399    -15.353673                    
+V 18  -1764.942075  -2360.141576 -31967.516180      -.026542                    
+P 20  20342.396084  -9377.342431  14203.688079   -184.195845                    
+V 20  -9850.752908  15378.311855  24147.221295       .027608                    
+P 21  -8772.256301  16426.731235 -18837.678967     73.075134                    
+V 21  -8878.430895 -22330.228652 -15765.971855       .004933                    
+P 22  -9518.349591  22093.085638  11469.113607    -40.402799                    
+V 22 -11394.336391   8938.446712 -27019.893059       .088642                    
+P 24 -11966.083883 -22618.630924  -6668.815864      8.072733                    
+V 24   -315.195850  -9205.568677  30507.977780       .026267                    
+P 25   8547.180081  24904.484872   3947.231246     61.686216                    
+V 25  -4876.555363  -2762.245914  30835.288478       .008172                    
+P 26 -24873.450414  -8483.091891  -5944.998283    410.428034                    
+V 26   7245.709101   -307.442043 -30616.661252      -.124482                    
+P 27   9408.980891 -14066.831405 -19868.458061    919.786339                    
+V 27  11941.685261  23670.988528 -11346.999043       .043298                    
+P 28   9587.767759 -22495.994769  10160.243035     21.809478                    
+V 28  10280.454107  -8004.133315 -28226.456563       .016430                    
+P 29 -21829.768900 -10474.849092 -10716.865787    229.857613                    
+V 29  14110.469008     -3.385523 -27992.047245       .032830                    
+P 30 -18955.233496  17480.900783   5913.204878    804.765264                    
+V 30   2134.262514  -8265.816954  30204.426714       .142685                    
+P 31  26283.613982   4615.141491  -2065.363659     38.972490                    
+V 31  -2577.310048   2970.144506 -30862.566593       .309172                    
+*  2004  2 29 16 45   .00000000                                                 
+P  1  26214.054272    479.803878  -4166.133322    332.542098                    
+V  1   5169.236272   2907.338985  31527.769518       .014194                    
+P  3  18188.624992  12038.091830 -15401.163388     89.821815                    
+V  3 -19455.766956   1939.473766 -21369.318257       .031153                    
+P  4  -3935.940030 -24675.059569   8529.039676    -76.513271                    
+V  4   6854.153117   8939.961765  29401.539605      -.091846                    
+P  5 -18350.004534   3560.846274  18682.772923     19.736945                    
+V  5  11082.296892 -21504.801428  15053.318892       .016074                    
+P  6 -22826.120232   6806.573244 -11700.925381     -1.334740                    
+V  6 -14860.907862  -4176.044214  26013.529113      -.011459                    
+P  7   2869.065300 -15728.449323  21602.229499    611.955803                    
+V  7  26541.401209   1724.083417  -2480.969209      -.078168                    
+P  8   2523.850460 -21632.661122 -15177.127532    355.631336                    
+V  8   9156.589697  16831.198396 -23068.697521      -.088688                    
+P  9 -17964.722067  -8405.129346  17420.365939    -32.315250                    
+V  9  -8511.480678 -21276.725900 -18214.478182      -.017971                    
+P 10  -8367.017574 -13011.735001 -21596.950050     40.156599                    
+V 10  16683.127260 -21615.440279   6845.322168       .003168                    
+P 11  18983.209208   4873.325017  17976.786072     99.819375                    
+V 11   9534.546584  21039.533056 -15630.069044       .025495                    
+P 13  20107.148159  -8115.481851 -15325.714715    -30.910134                    
+V 13  19091.933661   3662.269851  23245.380363       .002346                    
+P 14  -1680.234620  14801.336710  22038.243509    -18.156329                    
+V 14 -27678.183512  -2766.311034   -240.691408      -.001236                    
+P 15   2139.056566  24740.545893  -9307.686391    232.839985                    
+V 15  -6267.294266 -10025.824828 -29031.439492       .055763                    
+P 16   4526.595016  17213.712605 -19642.210631     15.292673                    
+V 16 -15613.637197  19682.782405  13608.986804      -.004099                    
+P 17 -15598.740437 -16080.372014 -14649.386652    206.646299                    
+V 17  -4218.701534 -18163.291200  23422.208139       .195169                    
+P 18 -18017.592152  19072.359993  -3279.984339    -15.356469                    
+V 18    380.905192  -5088.872217 -31608.403260      -.026554                    
+P 20  19421.573498  -7875.712363  16247.922755   -184.193240                    
+V 20 -10533.394698  17970.166933  21214.398760       .027615                    
+P 21  -9646.325132  14370.018617 -20089.297261     73.075620                    
+V 21 -10546.095143 -23286.734821 -12009.552687       .004922                    
+P 22 -10431.695351  22817.350056   8946.489942    -40.394531                    
+V 22  -8920.719381   7083.883850 -28959.147757       .088611                    
+P 24 -11963.607104 -23296.350845  -3872.983954      8.073857                    
+V 24    442.163631  -5857.477015  31530.744379       .025964                    
+P 25   8032.806548  24529.505802   6680.841268     61.686605                    
+V 25  -6601.077332  -5520.700468  29825.846148       .008427                    
+P 26 -24072.833690  -8508.314654  -8643.945615    410.416967                    
+V 26  10526.344389   -324.644455 -29277.753107      -.124492                    
+P 27  10556.791042 -11917.804019 -20706.584751    919.790213                    
+V 27  13543.670070  23993.987960  -7251.516050       .043297                    
+P 28  10405.026893 -23123.529328   7538.916381     21.811236                    
+V 28   7906.697343  -5871.598745 -29941.553891       .016422                    
+P 29 -20420.613661 -10495.989467 -13135.672873    229.860607                    
+V 29  17160.312720   -531.651379 -25680.023763       .032816                    
+P 30 -18693.497720  16608.120998   8572.158812    804.778043                    
+V 30   3614.161671 -11141.692820  28796.880296       .142661                    
+P 31  25904.993859   4874.682873  -4817.868442     39.000077                    
+V 31  -5827.226925   2863.082963 -30218.853520       .309175                    
+*  2004  2 29 17  0   .00000000                                                 
+P  1  26524.763809    714.038316  -1300.901003    332.542978                    
+V  1   1717.952357   2367.851568  32052.355070       .014086                    
+P  3  16339.591886  12255.326204 -17188.502419     89.824958                    
+V  3 -21569.175988   2928.886198 -18292.825741       .031077                    
+P  4  -3236.485923 -23753.226794  11092.766957    -76.521742                    
+V  4   8727.584809  11480.493245  27487.360532      -.091849                    
+P  5 -17364.623121   1541.299964  19870.495481     19.739483                    
+V  5  10750.949131 -23317.393483  11302.457925       .015851                    
+P  6 -24035.922018   6469.647372  -9265.578256     -1.336827                    
+V  6 -11978.640191  -3365.694108  28026.630020      -.011645                    
+P  7   5242.775591 -15632.746101  21200.046507    611.948525                    
+V  7  26124.444660    410.562786  -6445.354128      -.078192                    
+P  8   3432.700360 -20039.114979 -17116.703623    355.623405                    
+V  8  11055.157515  18498.874086 -19972.910510      -.088655                    
+P  9 -18731.317818 -10210.061989  15633.458843    -32.317513                    
+V  9  -8454.223288 -18791.740861 -21433.579311      -.018343                    
+P 10  -6942.685694 -14964.044086 -20796.805718     40.157463                    
+V 10  14933.666622 -21683.067685  10911.723556       .003285                    
+P 11  19837.822168   6675.386494  16420.072819     99.821590                    
+V 11   9391.688969  18966.670493 -18913.587470       .025488                    
+P 13  21710.844243  -7841.827072 -13107.618987    -30.909809                    
+V 13  16480.626810   2469.761355  25975.111840       .002341                    
+P 14  -4168.478008  14621.242862  21827.908821    -18.156268                    
+V 14 -27523.385466  -1234.855351  -4426.692795      -.001241                    
+P 15   1497.960911  23720.032982 -11832.623815    232.844646                    
+V 15  -8019.723328 -12586.683952 -26998.596440       .055411                    
+P 16   3209.982138  18957.613355 -18250.938717     15.291957                    
+V 16 -13627.887070  18985.212411  17263.292443      -.004107                    
+P 17 -15981.845135 -17586.195095 -12424.354118    206.663667                    
+V 17  -4225.084044 -15267.255851  25951.516317       .195172                    
+P 18 -17900.660273  18484.084769  -6087.855845    -15.358959                    
+V 18   2150.796188  -8008.288463 -30697.879812      -.026553                    
+P 20  18460.336607  -6147.930812  18011.222843   -184.190610                    
+V 20 -10751.598662  20388.211272  17913.222589       .027624                    
+P 21 -10669.346483  12250.991849 -20993.539088     73.076135                    
+V 21 -12173.544080 -23714.770775  -8057.901214       .004916                    
+P 22 -11128.692860  23355.779414   6271.214081    -40.386433                    
+V 22  -6600.625667   4816.365840 -30407.093720       .088581                    
+P 24 -11873.816752 -23674.965354  -1009.809845      8.076006                    
+V 24   1621.488739  -2575.512947  32002.912564       .025851                    
+P 25   7351.462476  23920.749214   9300.805545     61.688681                    
+V 25  -8576.003014  -7946.602102  28314.066342       .008764                    
+P 26 -22983.577302  -8554.086332 -11200.566522    410.405516                    
+V 26  13644.848760   -759.883320 -27458.157016      -.124500                    
+P 27  11841.622447  -9764.051446 -21170.149163    919.794187                    
+V 27  14971.880651  23779.736242  -3036.695427       .043296                    
+P 28  11016.864440 -23541.176827   4786.288762     21.812813                    
+V 28   5728.988823  -3349.425574 -31139.445095       .016418                    
+P 29 -18750.157417 -10581.599677 -15325.623643    229.863594                    
+V 29  19902.326854  -1427.799862 -22913.408107       .032803                    
+P 30 -18317.287776  15474.576554  11081.443465    804.790892                    
+V 30   4674.548256 -14044.764131  26882.992336       .142639                    
+P 31  25237.710228   5142.147751  -7489.639673     39.028056                    
+V 31  -8977.364521   3143.838409 -29071.476824       .309178                    
+*  2004  2 29 17 15   .00000000                                                 
+P  1  26521.654612    918.844246   1586.726317    332.543991                    
+V  1  -1787.646438   2255.294111  32025.111174       .014145                    
+P  3  14318.634055  12571.650696 -18684.490825     89.827674                    
+V  3 -23267.690138   4129.955494 -14903.801190       .030956                    
+P  4  -2359.258983 -22621.118289  13462.430803    -76.529893                    
+V  4  10791.215765  13603.329323  25095.670738      -.091852                    
+P  5 -16425.585057   -625.037915  20711.383874     19.740426                    
+V  5  10061.687550 -24755.513685   7357.327856       .015487                    
+P  6 -24975.446317   6190.314008  -6670.741208     -1.338980                    
+V  6  -8868.979615  -2902.616776  29553.050555      -.011703                    
+P  7   7556.687606 -15651.883549  20445.016687    611.942005                    
+V  7  25215.436944   -814.259044 -10311.407994      -.078214                    
+P  8   4515.156296 -18318.019646 -18762.298026    355.615033                    
+V  8  12999.526360  19661.982622 -16545.510236      -.088621                    
+P  9 -19473.566930 -11781.643467  13574.059780    -32.318458                    
+V  9  -7967.046067 -16106.924682 -24261.683022      -.018601                    
+P 10  -5683.896307 -16898.813438 -19638.201872     40.157541                    
+V 10  13019.740557 -21222.199846  14799.469538       .003450                    
+P 11  20661.612620   8281.402164  14582.144267     99.823892                    
+V 11   8846.008799  16696.517328 -21870.500612       .025480                    
+P 13  23063.099648  -7660.842066 -10663.573628    -30.909823                    
+V 13  13517.688429   1612.843643  28259.123050       .002337                    
+P 14  -6617.859083  14577.838142  21243.715437    -18.156418                    
+V 14 -26816.383034    255.842560  -8536.845919      -.001249                    
+P 15    689.375394  22487.629626 -14153.703577    232.851357                    
+V 15  -9976.187011 -14725.196337 -24508.319949       .055065                    
+P 16   2075.149880  20615.721650 -16543.825938     15.291512                    
+V 16 -11589.645013  17777.304011  20617.515950      -.004116                    
+P 17 -16346.402990 -18824.088682  -9991.492560    206.681555                    
+V 17  -3803.634975 -12224.989631  28035.114310       .195174                    
+P 18 -17643.041342  17627.888241  -8789.535205    -15.361633                    
+V 18   3501.546326 -11026.834686 -29252.090027      -.026554                    
+P 20  17499.470301  -4213.794006  19462.958571   -184.187937                    
+V 20 -10530.893275  22541.189200  14300.752045       .027634                    
+P 21 -11833.690855  10116.988647 -21535.945640     73.076326                    
+V 21 -13672.054869 -23622.451766  -3980.492203       .004906                    
+P 22 -11626.816531  23673.497558   3488.750391    -40.378518                    
+V 22  -4513.779646   2189.398681 -31337.407272       .088551                    
+P 24 -11659.983077 -23764.858245   1870.881618      8.077554                    
+V 24   3192.104595    542.894423  31920.118297       .025794                    
+P 25   6483.739606  23110.819431  11763.173308     61.689620                    
+V 25 -10730.181954  -9982.958170  26329.195678       .009011                    
+P 26 -21624.253137  -8656.646062 -13572.861503    410.394568                    
+V 26  16513.874961  -1579.666573 -25187.026480      -.124510                    
+P 27  13243.969114  -7652.617315 -21252.017633    919.797797                    
+V 27  16141.727830  23060.576777   1217.211571       .043298                    
+P 28  11444.402364 -23716.657618   1950.068900     21.814462                    
+V 28   3822.768880   -502.117273 -31795.912783       .016411                    
+P 29 -16849.942367 -10762.323636 -17247.837804    229.867306                    
+V 29  22253.197972  -2634.468113 -19738.773239       .032786                    
+P 30 -17865.058291  14082.127789  13396.856829    804.803403                    
+V 30   5302.909810 -16879.028800  24494.722786       .142619                    
+P 31  24294.639943   5451.552279 -10036.266258     39.055721                    
+V 31 -11942.000886   3790.018112 -27442.073242       .309184                    
+*  2004  2 29 17 30   .00000000                                                 
+P  1  26204.400075   1132.881052   4447.138366    332.545198                    
+V  1  -5246.228350   2571.758441  31448.818800       .014302                    
+P  3  12165.204086  13002.873046 -19863.489689     89.829992                    
+V  3 -24506.840487   5469.294640 -11258.358185       .030869                    
+P  4  -1290.900547 -21318.613956  15596.975222    -76.538222                    
+V  4  12960.187816  15260.560019  22270.480507      -.091856                    
+P  5 -15562.411311  -2901.608002  21191.085092     19.740256                    
+V  5   9076.402709 -25757.981662   3287.951819       .015142                    
+P  6 -25628.168559   5935.830765  -3961.352748     -1.339941                    
+V  6  -5620.459937  -2817.152156  30568.986636      -.011656                    
+P  7   9767.536570 -15774.250968  19348.835443    611.934526                    
+V  7  23839.688349  -1870.575351 -14016.111750      -.078239                    
+P  8   5771.265416 -16515.486949 -20086.762853    355.606855                    
+V  8  14898.910066  20308.094836 -12847.150659      -.088581                    
+P  9 -20152.126384 -13106.199544  11279.438944    -32.320213                    
+V  9  -7038.478745 -13318.494280 -26653.974693      -.018829                    
+P 10  -4601.251640 -18767.832364 -18140.312495     40.159087                    
+V 10  11035.207151 -20221.729361  18440.293710       .003621                    
+P 11  21417.596179   9677.339841  12494.680960     99.826164                    
+V 11   7883.961414  14312.426151 -24451.023737       .025473                    
+P 13  24136.040067  -7539.882714  -8035.563248    -30.909596                    
+V 13  10288.787654   1143.103329  30057.193781       .002334                    
+P 14  -8979.450959  14663.346744  20295.655637    -18.157004                    
+V 14 -25577.449257   1615.131908 -12501.107132      -.001256                    
+P 15   -301.395264  21083.604401 -16231.766375    232.856002                    
+V 15 -12053.848787 -16394.079962 -21606.415607       .054598                    
+P 16   1122.634660  22142.665848 -14550.536678     15.291244                    
+V 16  -9591.650177  16074.606204  23613.596077      -.004124                    
+P 17 -16653.383278 -19785.153285  -7392.291771    206.698803                    
+V 17  -2945.573087  -9131.362333  29643.692025       .195178                    
+P 18 -17283.731547  16499.194956 -11337.940540    -15.364024                    
+V 18   4407.946890 -14047.295172 -27296.883108      -.026552                    
+P 20  16576.676318  -2100.978168  20577.893620   -184.185237                    
+V 20  -9914.019372  24345.818579  10439.606038       .027641                    
+P 21 -13123.901768   8013.785426 -21708.377264     73.076750                    
+V 21 -14956.993622 -23036.195576    151.934852       .004898                    
+P 22 -11950.253412  23741.121866    646.552567    -40.370633                    
+V 22  -2729.147792   -728.795434 -31732.286554       .088524                    
+P 24 -11288.912995 -23584.840890   4719.316707      8.080291                    
+V 24   5106.374849   3408.470489  31287.813673       .025831                    
+P 25   5417.032201  22136.766426  14026.953978     61.690132                    
+V 25 -12984.085798 -11588.219551  23907.646100       .009272                    
+P 26 -20020.954491  -8848.502132 -15721.746229    410.383846                    
+V 26  19054.096733  -2734.833902 -22499.926415      -.124523                    
+P 27  14737.124098  -5626.785112 -20952.277626    919.801654                    
+V 27  16978.354749  21887.368932   5430.305372       .043300                    
+P 28  11715.011137 -23624.149139   -920.286621     21.816007                    
+V 28   2250.977040   2591.773148 -31896.430596       .016404                    
+P 29 -14758.430390 -11062.984530 -18867.991520    229.869728                    
+V 29  24142.984963  -4080.099066 -16210.662958       .032767                    
+P 30 -17375.573305  12441.291317  15477.481992    804.816368                    
+V 30   5504.903148 -19548.760776  21673.016131       .142599                    
+P 31  23096.096514   5834.193273 -12415.607032     39.083141                    
+V 31 -14642.066791   4763.800391 -25359.363992       .309194                    
+*  2004  2 29 17 45   .00000000                                                 
+P  1  25581.726431   1394.151267   7231.395951    332.547668                    
+V  1  -8558.571195   3300.627111  30335.562703       .014508                    
+P  3   9922.069177  13557.873921 -20705.114554     89.832396                    
+V  3 -25257.662741   6866.853292  -7417.006143       .030813                    
+P  4    -25.991924 -19889.095701  17459.652928    -76.545968                    
+V  4  15143.515269  16422.488588  19063.355889      -.091860                    
+P  5 -14798.532023  -5247.001142  21301.646749     19.742652                    
+V  5   7868.073209 -26278.559438   -833.685106       .015035                    
+P  6 -25985.740911   5671.473385  -1184.094304     -1.340785                    
+V  6  -2325.685908  -3122.874426  31059.537541      -.011586                    
+P  7  11835.036810 -15981.319249  17928.798523    611.928021                    
+V  7  22037.921325  -2684.946453 -17498.176342      -.078261                    
+P  8   7192.895032 -14677.899918 -21068.584518    355.598750                    
+V  8  16662.912872  20443.574115  -8942.192828      -.088537                    
+P  9 -20727.425737 -14178.773635   8790.511158    -32.323259                    
+V  9  -5674.919019 -10523.328141 -28574.337384      -.019152                    
+P 10  -3696.819474 -20522.775516 -16328.298588     40.160130                    
+V 10   9075.231890 -18690.271089  21769.627000       .003652                    
+P 11  22068.301115  10856.782275  10193.558245     99.828890                    
+V 11   6508.314079  11899.728148 -26611.845448       .025467                    
+P 13  24909.947257  -7442.408530  -5268.822236    -30.909244                    
+V 13   6888.936999   1095.238205  31337.442045       .002329                    
+P 14 -11206.981691  14862.057731  18999.924596    -18.156893                    
+V 14 -23845.128042   2757.914888 -16251.868006      -.001261                    
+P 15  -1481.283230  19551.684119 -18032.069553    232.860252                    
+V 15 -14163.604651 -17563.955359 -18345.055579       .054139                    
+P 16    344.768840  23495.308305 -12305.680556     15.290865                    
+V 16  -7722.871362  13911.070642  26199.860863      -.004132                    
+P 17 -16863.748759 -20469.024838  -4670.537016    206.715949                    
+V 17  -1659.508542  -6080.628813  30755.556245       .195186                    
+P 18 -16863.151562  15102.292075 -13688.734484    -15.365952                    
+V 18   4863.631983 -16970.580887 -24867.296729      -.026551                    
+P 20  15725.100330    155.827777  21336.636330   -184.182651                    
+V 20  -8959.128147  25730.056023   6396.854120       .027649                    
+P 21 -14517.215529   5984.003974 -21509.070958     73.076993                    
+V 21 -15951.141492 -21999.415798   4268.618542       .004887                    
+P 22 -12128.811964  23535.984630  -2206.723539    -40.362853                    
+V 22  -1302.278455  -3857.660234 -31582.879345       .088496                    
+P 24 -10732.391327 -23161.269408   7486.640693      8.082528                    
+V 24   7301.697309   5943.328120  30120.892344       .025845                    
+P 25   4146.155947  21038.637425  16054.727960     61.691967                    
+V 25 -15252.843255 -12737.478051  21092.229756       .009559                    
+P 26 -18206.451875  -9157.098280 -17611.611076    410.372323                    
+V 26  21196.876397  -4162.337006 -19438.439356      -.124534                    
+P 27  16288.202350  -3724.519194 -20278.121835    919.805492                    
+V 27  17419.804840  20326.979480   9524.888202       .043300                    
+P 28  11861.063940 -23245.424199  -3774.468902     21.817148                    
+V 28   1061.459663   5842.542242 -31436.647896       .016393                    
+P 29 -12519.668268 -11501.432279 -20156.994576    229.873222                    
+V 29  25517.941844  -5681.813664 -12390.665497       .032743                    
+P 30 -16886.276928  10571.044281  17286.466177    804.828969                    
+V 30   5304.097247 -21962.300659  18467.109407       .142584                    
+P 31  21669.109491   6317.325315 -14588.404814     39.110705                    
+V 31 -17007.802004   6013.476884 -22858.624935       .309210                    
+*  2004  2 29 18  0   .00000000                                                 
+P  1  24671.057911   1738.346618   9892.053387    332.547645                    
+V  1 -11631.196429   4407.354818  28706.376339       .014474                    
+P  3   7633.863562  14238.145106 -21194.591438     89.835503                    
+V  3 -25507.760054   8239.017676  -3443.758516       .030741                    
+P  4   1432.558737 -18377.761586  19018.656866    -76.554918                    
+V  4  17247.766743  17078.539222  15532.321423      -.091863                    
+P  5 -14150.424783  -7616.389516  21041.631972     19.744489                    
+V  5   6517.677860 -26287.761670  -4935.007375       .014800                    
+P  6 -26048.204613   5362.069047   1613.415943     -1.342587                    
+V  6    922.097224  -3816.161506  31018.788219      -.011497                    
+P  7  13723.215077 -16248.344827  16207.606928    611.920719                    
+V  7  19864.987520  -3193.172216 -20698.923717      -.078279                    
+P  8   8763.925913 -12850.242409 -21692.165799    355.590680                    
+V  8  18205.020510  20092.996560  -4897.561306      -.088491                    
+P  9 -21161.259693 -15003.018516   6151.040071    -32.323883                    
+V  9  -3900.172298  -7815.267134 -29995.605738      -.019133                    
+P 10  -2964.186522 -22116.981220 -14232.919343     40.160476                    
+V 10   7232.483771 -16656.106533  24727.837465       .003559                    
+P 11  22577.241235  11820.960000   7718.232490     99.831016                    
+V 11   4738.148886   9542.507308 -28316.801709       .025456                    
+P 13  25373.942553  -7329.573822  -2411.055433    -30.908853                    
+V 13   3418.943278   1485.591759  32076.941149       .002322                    
+P 14 -13258.419498  15150.979710  17378.650502    -18.157238                    
+V 14 -21674.809208   3608.042900 -19725.074997      -.001270                    
+P 15  -2849.050369  17937.402500 -19524.813495    232.864504                    
+V 15 -16213.588702 -18224.117504 -14781.736005       .053756                    
+P 16   -273.819917  24634.352163  -9848.195907     15.290302                    
+V 16  -6064.990723  11337.836159  28331.927146      -.004141                    
+P 17 -16940.004985 -20883.672544  -1871.622798    206.733760                    
+V 17     29.007660  -3163.192721  31356.633715       .195195                    
+P 18 -16421.440617  13450.324167 -15801.120774    -15.368103                    
+V 18   4881.172532 -19699.590834 -22006.852156      -.026553                    
+P 20  14972.049345   2516.065033  21725.986989   -184.179778                    
+V 20  -7737.368133  26635.934235   2242.820176       .027651                    
+P 21 -15984.366050   4065.663973 -20942.588712     73.077335                    
+V 21 -16587.684119 -20570.601141   8299.955410       .004874                    
+P 22 -12196.612839  23043.116812  -5022.039601    -40.354754                    
+V 22   -273.134886  -7107.187066 -30889.574848       .088469                    
+P 24  -9968.416950 -22526.893144  10125.744730      8.085348                    
+V 24   9703.047689   8083.688445  28443.157838       .025902                    
+P 25   2673.686647  19857.948488  17813.186834     61.692646                    
+V 25 -17449.413142 -13423.045996  17931.358493       .009744                    
+P 26 -16219.123386  -9603.661442 -19210.843758    410.360733                    
+V 26  22886.595132  -5787.482297 -16049.738099      -.124550                    
+P 27  17859.420533  -1977.161722 -19243.572654    919.809465                    
+V 27  17419.544884  18459.132138  13427.151326       .043300                    
+P 28  11918.483757 -22570.704458  -6562.246281     21.818776                    
+V 28    284.978864   9152.744748 -30422.656971       .016390                    
+P 29 -10181.726194 -12087.673565 -21091.575523    229.875568                    
+V 29  26342.712915  -7348.797165  -8346.297792       .032718                    
+P 30 -16431.721060   8498.291890  18791.728287    804.841711                    
+V 30   4740.965247 -24035.720256  14933.637919       .142563                    
+P 31  20046.479893   6922.997842 -16518.851151     39.139287                    
+V 31 -18981.064242   7475.454255 -19981.121979       .309226                    
+*  2004  2 29 18 15   .00000000                                                 
+P  1  23497.845479   2197.295345  12383.942819    332.549127                    
+V  1 -14379.745426   5840.928176  26590.752990       .014583                    
+P  3   5345.571823  15037.614644 -21323.029533     89.837280                    
+V  3 -25261.770501   9501.868630    594.826004       .030664                    
+P  4   3073.465039 -16829.893344  20247.648227    -76.562416                    
+V  4  19180.812045  17237.384819  11740.663352      -.091866                    
+P  5 -13627.045260  -9963.090685  20416.111185     19.745778                    
+V  5   5110.810032 -25773.990272  -8944.207564       .014404                    
+P  6 -25823.893631   4973.538417   4383.429818     -1.343437                    
+V  6   4032.410989  -4876.429270  30449.741869      -.011355                    
+P  7  15401.605105 -16545.320714  14213.091086    611.913104                    
+V  7  17388.072896  -3342.893616 -23563.198893      -.078295                    
+P  8  10460.751625 -11074.510963 -21948.005918    355.582613                    
+V  8  19445.890563  19297.912850   -781.624148      -.088442                    
+P  9 -21418.309207 -15590.765311   3406.828636    -32.324857                    
+V  9  -1754.335008  -5281.663587 -30899.621425      -.019356                    
+P 10  -2388.852649 -23507.189743 -11890.033853     40.162373                    
+V 10   5593.390515 -14166.349159  27261.417810       .003433                    
+P 11  22910.361122  12578.496017   5111.071867     99.833069                    
+V 11   2608.248185   7320.442148 -29537.432465       .025451                    
+P 13  25526.339152  -7161.918585    488.389769    -30.908322                    
+V 13    -18.380277   2311.410744  32262.179321       .002316                    
+P 14 -15097.400829  15500.786831  15459.526122    -18.157352                    
+V 14 -19136.671912   4101.373861 -22861.297183      -.001277                    
+P 15  -4395.199689  16286.411512 -20685.572643    232.868526                    
+V 15 -18112.725500 -18382.594822 -10978.204250       .053300                    
+P 16   -755.405598  25525.808148  -7220.658551     15.289698                    
+V 16  -4689.193388   8421.344062  29973.458977      -.004148                    
+P 17 -16847.683581 -21044.913885    958.130498    206.750802                    
+V 17   2078.492591   -462.572273  31440.407105       .195214                    
+P 18 -15996.777003  11564.943182 -17638.569653    -15.370003                    
+V 18   4491.397895 -22142.986552 -18766.681189      -.026560                    
+P 20  14337.950263   4934.679510  21739.174404   -184.176881                    
+V 20  -6329.957072  27021.857253  -1950.177847       .027657                    
+P 21 -17490.639651   2290.932673 -20019.663093     73.077794                    
+V 21 -16812.762086 -18820.871320  12178.601280       .004861                    
+P 22 -12190.610326  22255.953670  -7750.814085    -40.347298                    
+V 22    335.487558 -10381.197133 -29662.145295       .088443                    
+P 24  -8982.189671 -21719.484708  12592.038870      8.086802                    
+V 24  12225.954750   9782.002396  26286.662795       .025835                    
+P 25   1010.011293  18636.131740  19273.600536     61.693900                    
+V 25 -19487.784468 -13654.419568  14478.223979       .009917                    
+P 26 -14101.693151 -10202.269929 -20492.311696    410.349695                    
+V 26  24082.576665  -7526.575898 -12386.116701      -.124566                    
+P 27  19409.571189   -408.435368 -17869.064126    919.813357                    
+V 27  16948.249102  16372.794432  17068.648058       .043301                    
+P 28  11925.142187 -21599.189328  -9234.407376     21.820154                    
+V 28    -66.077239  12420.972939 -28871.022896       .016387                    
+P 29  -7794.971098 -12823.324675 -21654.758686    229.878424                    
+V 29  26601.792731  -8986.061098  -4149.722781       .032699                    
+P 30 -16042.116432   6257.016885  19966.577534    804.854474                    
+V 30   3871.160651 -25696.199976  11135.557328       .142544                    
+P 31  18265.645904   7667.090417 -18175.098929     39.167413                    
+V 31 -20517.226663   9076.644284 -16773.518011       .309244                    
+*  2004  2 29 18 30   .00000000                                                 
+P  1  22094.607862   2797.568983  14664.909164    332.549044                    
+V  1 -16731.977890   7535.936660  24026.039966       .014738                    
+P  3   3100.997886  15942.768024 -21087.604844     89.840211                    
+V  3 -24541.215417  10574.482633   4630.662441       .030644                    
+P  4   4877.345240 -15289.147176  21126.173602    -76.571053                    
+V  4  20855.478713  16926.306508   7755.668114      -.091866                    
+P  5 -13229.570589 -12240.201796  19436.533365     19.745680                    
+V  5   3734.137537 -24743.954956 -12791.561640       .013998                    
+P  6 -25329.037453   4474.387488   7078.863556     -1.344043                    
+V  6   6920.802397  -6267.007634  29364.114978      -.011156                    
+P  7  16846.259102 -16838.145815  11977.851802    611.906227                    
+V  7  14684.432563  -3095.826123 -26040.305870      -.078305                    
+P  8  12253.060727  -9388.265336 -21832.781455    355.574272                    
+V  8  20316.330147  18115.016836   3336.888429      -.088392                    
+P  9 -21467.535358 -15961.297551    604.912474    -32.326849                    
+V  9    707.901764  -3000.295592 -31277.118393      -.019628                    
+P 10  -1948.953673 -24655.171872  -9339.999484     40.160419                    
+V 10   4234.607656 -11285.347385  29324.089032       .003175                    
+P 11  23037.399159  13144.873654   2416.642542     99.834874                    
+V 11    167.887988   5305.831338 -30253.415162       .025449                    
+P 13  25374.648276  -6901.092258   3379.385097    -30.908267                    
+V 13  -3322.092079   3550.860494  31889.348946       .002306                    
+P 14 -16694.447663  15877.020297  13275.347198    -18.157439                    
+V 14 -16313.071593   4188.374534 -25606.726173      -.001285                    
+P 15  -6102.203630  14642.818788 -21495.629474    232.873139                    
+V 15 -19774.197647 -18065.516291  -6999.378399       .052979                    
+P 16  -1128.090397  26142.264438  -4468.529161     15.289423                    
+V 16  -3653.388922   5240.861582  31096.771816      -.004154                    
+P 17 -16556.711422 -20975.668760   3772.151798    206.768269                    
+V 17   4433.049534   1947.350167  31007.800261       .195232                    
+P 18 -15623.793225   9475.628513 -19169.458057    -15.372275                    
+V 18   3741.979511 -24218.723975 -15204.509548      -.026569                    
+P 20  13835.590815   7363.675026  21375.977085   -184.174353                    
+V 20  -4824.855818  26864.261155  -6109.127360       .027659                    
+P 21 -18997.136506    685.114199 -18756.947674     73.078464                    
+V 21 -16587.500900 -16831.114480  15840.483415       .004851                    
+P 22 -12149.000408  21176.731274 -10345.767048    -40.339291                    
+V 22    518.887580 -13580.906291 -27919.725061       .088424                    
+P 24  -7766.814665 -20780.308346  14844.160856      8.089836                    
+V 24  14779.779924  11008.414154  23690.947082       .025793                    
+P 25   -826.906076  17413.012952  20412.210320     61.694297                    
+V 25 -21286.097783 -13457.645820  10789.970106       .010039                    
+P 26 -11899.817285 -10959.175172 -21433.799912    410.338630                    
+V 26  24760.542582  -9289.900730  -8504.469316      -.124584                    
+P 27  20895.622243    966.215144 -16180.902301    919.817713                    
+V 27  15994.795761  14162.293595  20387.518194       .043299                    
+P 28  11919.176469 -20339.234010 -11743.695675     21.821373                    
+V 28      1.786439  15545.845671 -26808.564643       .016381                    
+P 29  -5410.244645 -13701.413870 -21836.219320    229.881417                    
+V 29  26300.175055 -10498.420822    123.670133       .032681                    
+P 30 -15742.068522   3887.143673  20790.227742    804.867516                    
+V 30   2763.147060 -26884.968723   7140.908183       .142527                    
+P 31  16367.398303   8558.577678 -19529.720452     39.195064                    
+V 31 -21586.612258  10737.163760 -13287.254105       .309248                    
+*  2004  2 29 18 45   .00000000                                                 
+P  1  20499.723657   3559.299831  16696.485892    332.551338                    
+V  1 -18630.289725   9415.167654  21056.732811       .014870                    
+P  3    941.275735  16933.063915 -20491.649732     89.844194                    
+V  3 -23383.725383  11382.156402   8595.210054       .030707                    
+P  4   6817.324632 -13795.935227  21639.966926    -76.579916                    
+V  4  22192.972030  16189.828863   3647.329470      -.091864                    
+P  5 -12951.462812 -14402.239103  18120.481902     19.746378                    
+V  5   2471.854891 -23222.372038 -16410.673528       .013766                    
+P  6 -24587.081646   3837.093293   9654.068063     -1.345407                    
+V  6   9511.838400  -7936.613327  27782.008180      -.011067                    
+P  7  18040.536358 -17089.975197   9538.816349    611.898821                    
+V  7  11838.714548  -2429.532514 -28084.954901      -.078309                    
+P  8  14104.869224  -7823.367563 -21349.332101    355.566084                    
+V  8  20759.865109  16613.802403   7389.916157      -.088338                    
+P  9 -21283.397880 -16140.367518  -2207.229902    -32.327940                    
+V  9   3419.436021  -1036.739334 -31127.468194      -.020000                    
+P 10  -1616.286641 -25529.181218  -6626.975934     40.160952                    
+V 10   3219.852298  -8092.375562  30877.788020       .003080                    
+P 11  22933.116985  13541.649127   -319.038444     99.837115                    
+V 11  -2520.914028   3560.912146 -30452.870970       .025453                    
+P 13  24935.238026  -6511.541732   6211.901079    -30.908100                    
+V 13  -6396.936379   5163.802106  30964.456101       .002298                    
+P 14 -18027.928109  16241.499776  10863.464500    -18.157276                    
+V 14 -13295.466387   3836.167860 -27914.092465      -.001292                    
+P 15  -7945.036005  13047.611569 -21942.211566    232.877567                    
+V 15 -21118.706739 -17315.830622  -2912.277063       .052744                    
+P 16  -1424.504759  26463.910709  -1639.353551     15.288650                    
+V 16  -2999.972084   1885.514179  31683.273106      -.004159                    
+P 17 -16042.622399 -20704.981537   6524.282418    206.786251                    
+V 17   7024.337169   4004.724088  30067.025415       .195255                    
+P 18 -15332.149461   7218.705532 -20367.612859    -15.374583                    
+V 18   2695.342526 -25857.199600 -11383.524482      -.026571                    
+P 20  13469.672808   9753.784805  20642.726695   -184.171642                    
+V 20  -3313.177759  26158.573340 -10161.633955       .027659                    
+P 21 -20462.189067   -734.088949 -17176.680611     73.079409                    
+V 21 -15889.461128 -14688.820649  19225.717230       .004845                    
+P 22 -12109.576961  19816.554536 -12761.755353    -40.331257                    
+V 22    290.678701 -16608.636557 -25690.617419       .088407                    
+P 24  -6323.702960 -19752.487481  16844.612787      8.091368                    
+V 24  17271.170381  11751.535478  20702.201068       .025744                    
+P 25  -2812.032193  16225.371624  21210.547183     61.695799                    
+V 25 -22769.589518 -12874.129372   6926.865141       .010282                    
+P 26  -9660.561970 -11872.403364 -22018.399226    410.327379                    
+V 26  24913.546130 -10984.945338  -4465.704740      -.124599                    
+P 27  22274.370432   2139.926944 -14210.627290    919.821717                    
+V 27  14566.471778  11923.352529  23329.446812       .043296                    
+P 28  11937.295884 -18808.165636 -14045.713121     21.822773                    
+V 28    463.457314  18430.031884 -24271.885752       .016380                    
+P 29  -3077.020919 -14706.544949 -21632.506217    229.884009                    
+V 29  25463.151890 -11794.514605   4396.784625       .032665                    
+P 30 -15549.552223   1433.162557  21248.194564    804.880237                    
+V 30   1495.282168 -27559.674842   3021.455320       .142507                    
+P 31  14394.489144   9599.048061 -20560.108656     39.223102                    
+V 31 -22175.426058  12373.259765  -9577.904654       .309255                    
+*  2004  2 29 19  0   .00000000                                                 
+P  1  18756.021626   4495.251749  18444.503417    332.551640                    
+V  1 -20033.667756  11392.622525  17733.685758       .015090                    
+P  3  -1096.522826  17981.632176 -19544.644186     89.847249                    
+V  3 -21841.662175  11859.435026  12420.583547       .030633                    
+P  4   8859.930109 -12385.959878  21781.134833    -76.588381                    
+V  4  23125.927502  15087.703108   -512.945011      -.091860                    
+P  5 -12778.846537 -16406.718625  16491.322539     19.748696                    
+V  5   1402.271718 -21250.964017 -19739.625292       .013635                    
+P  6 -23627.754724   3039.332587  12065.564486     -1.348504                    
+V  6  11741.733675  -9821.354673  25731.466735      -.010903                    
+P  7  18975.635329 -17262.705988   6936.709447    611.891697                    
+V  7   8939.949830  -1338.651259 -29658.202951      -.078310                    
+P  8  15975.762865  -6404.951428 -20506.555990    355.557799                    
+V  8  20734.822578  14873.802706  11311.045130      -.088283                    
+P  9 -20846.859028 -16158.999364  -4982.438783    -32.332257                    
+V  9   6303.324131    557.732443 -30458.315342      -.020306                    
+P 10  -1357.598163 -26105.169697  -3798.146817     40.161097                    
+V 10   2597.240959  -4678.696132  31893.507912       .003084                    
+P 11  22578.349139  13795.439659  -3049.272019     99.839227                    
+V 11  -5385.629970   2135.569474 -30132.540956       .025459                    
+P 13  24232.657588  -5962.096035   8936.888279    -30.908070                    
+V 13  -9156.940770   7093.304272  29503.245241       .002287                    
+P 14 -19084.723867  16553.891024   8265.157740    -18.157038                    
+V 14 -10180.996664   3029.945174 -29743.482929      -.001305                    
+P 15  -9891.983999  11537.222756 -22018.633346    232.882835                    
+V 15 -22077.418814 -16191.441120   1215.026906       .052533                    
+P 16  -1680.333421  26479.277407   1218.069092     15.288434                    
+V 16  -2754.207663  -1549.053815  31723.733717      -.004161                    
+P 17 -15287.574103 -20266.845702   9169.424019    206.803042                    
+V 17   9773.924392   5661.712669  28633.400977       .195266                    
+P 18 -15145.321809   4836.103071 -21212.748112    -15.376821                    
+V 18   1425.999054 -27003.886844  -7371.156257      -.026578                    
+P 20  13236.695038  12056.196186  19552.193707   -184.169023                    
+V 20  -1885.478048  24919.431957 -14037.221598       .027661                    
+P 21 -21842.883422  -1957.020198 -15306.270146     73.079745                    
+V 21 -14713.471612 -12484.730735  22279.424842       .004829                    
+P 22 -12108.100723  18195.129980 -14956.582503    -40.323070                    
+V 22   -317.716712 -19371.530522 -23011.923064       .088384                    
+P 24  -4662.658220 -18679.333846  18560.320010      8.093736                    
+V 24  19607.555582  12018.526315  17372.377605       .025792                    
+P 25  -4914.026007  15105.631873  21655.675936     61.696945                    
+V 25 -23873.270059 -11958.928567   2951.477356       .010466                    
+P 26  -7430.822622 -12931.655678 -22234.838381    410.316136                    
+V 26  24552.341570 -12519.794066   -334.083932      -.124614                    
+P 27  23504.078679   3114.369318 -11994.301081    919.825764                    
+V 27  12688.420058   9749.224689  25848.356360       .043291                    
+P 28  12013.149988 -17031.742485 -16099.770484     21.824079                    
+V 28   1276.299760  20984.128423 -21306.663141       .016375                    
+P 29   -841.620554 -15815.417685 -21047.124600    229.886833                    
+V 29  24135.263791 -12790.685099   8592.394955       .032651                    
+P 30 -15475.168814  -1057.429729  21332.566002    804.893691                    
+V 30    152.483226 -27696.082605  -1148.760556       .142483                    
+P 31  12390.180178  10782.492628 -21248.819021     39.251069                    
+V 31 -22286.158759  13900.371542  -5704.503452       .309263                    
+*  2004  2 29 19 15   .00000000                                                 
+P  1  16909.222778   5610.177082  19879.623213    332.551880                    
+V  1 -20919.020430  13376.839086  14113.253528       .015354                    
+P  3  -2980.630620  19056.231151 -18262.105752     89.849812                    
+V  3 -19980.177055  11952.826937  16040.691401       .030526                    
+P  4  10966.238655 -11088.955360  21548.226586    -76.596474                    
+V  4  23600.984630  13692.334042  -4653.601084      -.091852                    
+P  5 -12691.182420 -18215.617115  14577.752795     19.749973                    
+V  5    594.671848 -18886.810471 -22722.013340       .013421                    
+P  6 -22485.918312   2065.009133  14272.735772     -1.348127                    
+V  6  13560.525073 -11847.187505  23247.944081      -.010580                    
+P  7  19650.843313 -17318.546622   4215.440792    611.884718                    
+V  7   6078.303884    164.490457 -30728.363439      -.078314                    
+P  8  17822.302667  -5150.655370 -19319.219791    355.549520                    
+V  8  20215.867164  12981.514780  15036.425262      -.088227                    
+P  9 -20146.142831 -16052.128516  -7674.598246    -32.331380                    
+V  9   9275.629358   1747.681326 -29285.130641      -.020362                    
+P 10  -1136.085324 -26367.714487   -902.872828     40.161664                    
+V 10   2397.252347  -1144.106134  32351.962455       .003140                    
+P 11  21960.833342  13936.726175  -5727.455876     99.841667                    
+V 11  -8345.849748   1065.518877 -29297.830824       .025459                    
+P 13  23298.652893  -5227.383947  11507.143396    -30.907420                    
+V 13 -11528.651924   9267.831986  27530.938397       .002278                    
+P 14 -19860.578979  16773.369785   5524.940924    -18.156932                    
+V 14  -7068.845218   1773.686276 -31063.044677      -.001313                    
+P 15 -11905.707476  10142.288186 -21724.345117    232.886945                    
+V 15 -22594.500561 -14762.835740   5314.419231       .052245                    
+P 16  -1932.726496  26185.662709   4054.534725     15.288296                    
+V 16  -2923.298413  -4964.257064  31218.388517      -.004162                    
+P 17 -14281.137866 -19698.870659  11664.169014    206.821185                    
+V 17  12595.959621   6886.011231  26729.144284       .195279                    
+P 18 -15079.652266   2373.900424 -21690.789875    -15.379149                    
+V 18     17.419317 -27621.362433  -3237.803688      -.026586                    
+P 20  13125.169991  14224.261373  18123.357590   -184.166753                    
+V 20   -628.071669  23180.157099 -17668.594485       .027657                    
+P 21 -23096.627240  -2982.207844 -13177.810844     73.080128                    
+V 21 -13071.830520 -10309.421572  24952.455463       .004817                    
+P 22 -12176.746329  16340.169647 -16891.766946    -40.315274                    
+V 22  -1258.292362 -21785.120042 -19928.988823       .088364                    
+P 24  -2801.651588 -17602.699926  19963.108540      8.095445                    
+V 24  21700.562937  11834.501062  13758.272667       .025773                    
+P 25  -7096.226167  14080.727356  21740.365257     61.699383                    
+V 25 -24544.256375 -10778.602608  -1072.145264       .010703                    
+P 26  -5255.736420 -14118.517140 -22077.752631    410.305007                    
+V 26  23705.158218 -13806.578424   3823.531665      -.124623                    
+P 27  24546.032071   3899.356637  -9571.744632    919.829142                    
+V 27  10402.396849   7727.085832  27906.844588       .043284                    
+P 28  12175.828915 -15043.277382 -17869.663491     21.825569                    
+V 28   2381.994516  23130.217133 -17966.712704       .016374                    
+P 29   1254.443897 -16997.684794 -20090.476143    229.889777                    
+V 29  22378.443562 -13414.548538  12634.736082       .032637                    
+P 30 -15521.716420  -3535.808931  21042.140122    804.906306                    
+V 30  -1177.378851 -27289.020366  -5294.918620       .142461                    
+P 31  10396.779289  12095.372164 -21583.849340     39.278869                    
+V 31 -21937.448187  15236.236885  -1728.835904       .309265                    
+*  2004  2 29 19 30   .00000000                                                 
+P  1  15006.292287   6900.481822  20977.792130    332.553609                    
+V  1 -21281.846259  15274.398246  10256.378030       .015770                    
+P  3  -4685.629687  20120.431095 -16665.376405     89.851894                    
+V  3 -17874.767605  11623.096611  19392.384825       .030446                    
+P  4  13093.232547  -9927.681785  20946.192029    -76.605091                    
+V  4  23580.793945  12085.764423  -8704.155729      -.091852                    
+P  5 -12662.206588 -19796.658148  12413.263835     19.750321                    
+V  5    106.563157 -16200.125631 -25307.855474       .013188                    
+P  6 -21200.244672    905.043129  16238.466054     -1.348871                    
+V  6  14933.723855 -13932.728579  20373.681052      -.010312                    
+P  7  20073.487171 -17221.611482   1421.413163    611.877949                    
+V  7   3341.701623   2049.932394 -31271.856074      -.078317                    
+P  8  19599.542497  -4070.142260 -17807.688924    355.541714                    
+V  8  19194.949821  11027.118095  18505.627939      -.088170                    
+P  9 -19177.229411 -15857.129908 -10239.318183    -32.334006                    
+V  9  12248.443224   2514.440696 -27630.706987      -.020615                    
+P 10   -913.048379 -26310.615987   2008.204973     40.161797                    
+V 10   2631.410543   2406.890076  32244.049917       .003163                    
+P 11  21075.790008  13998.516347  -8307.861367     99.843877                    
+V 11 -11316.208806    371.029786 -27962.724147       .025461                    
+P 13  22170.912319  -4289.027303  13878.143684    -30.907504                    
+V 13 -13453.878745  11604.026033  25081.792925       .002268                    
+P 14 -20360.116243  16860.318076   2689.809974    -18.157294                    
+V 14  -4056.515066     90.155845 -31849.561621      -.001318                    
+P 15 -13944.505182   8886.636518 -21064.892671    232.890513                    
+V 15 -22629.169257 -13110.304200   9318.717530       .052011                    
+P 16  -2218.658685  25589.232017   6821.284393     15.288089                    
+V 16  -3496.167410  -8262.244559  30176.868380      -.004159                    
+P 17 -13020.837245 -19040.834229  13967.411218    206.838571                    
+V 17  15400.078596   7661.863309  24383.139492       .195291                    
+P 18 -15143.696173   -119.277746 -21794.084936    -15.381177                    
+V 18  -1441.426374 -27690.650213    944.466689      -.026592                    
+P 20  13116.165071  16215.127619  16381.066076   -184.164528                    
+V 20    380.472113  20991.495724 -20992.835758       .027654                    
+P 21 -24182.707485  -3816.198205 -10827.539370     73.080826                    
+V 21 -10993.879749  -8249.944994  27202.009414       .004812                    
+P 22 -12342.690627  14286.485896 -18533.252773    -40.307294                    
+V 22  -2468.363814 -23776.602549 -16494.679961       .088345                    
+P 24   -766.297111 -16561.413749  21030.098947      8.097794                    
+V 24  23469.237199  11241.301021   9920.590668       .025918                    
+P 25  -9317.830302  13171.177525  21463.184054     61.699750                    
+V 25 -24743.690935  -9408.681142  -5079.292984       .010781                    
+P 26  -3177.142630 -15406.974814 -21547.880256    410.292872                    
+V 26  22416.862757 -14764.880466   7938.531234      -.124629                    
+P 27  25365.954323   4512.153118  -6985.746156    919.833461                    
+V 27   7764.930947   5934.813842  29476.391448       .043279                    
+P 28  12448.560244 -12882.461449 -19324.355843     21.826967                    
+V 28   3709.051071  24804.941115 -14312.859511       .016374                    
+P 29   3175.922142 -18217.109997 -18779.657043    229.893184                    
+V 29  20269.434643 -13608.090995  16451.059918       .032624                    
+P 30 -15684.091256  -5953.552261  20382.427591    804.919236                    
+V 30  -2407.197322 -26352.541857  -9342.919230       .142442                    
+P 31   8454.213867  13516.962336 -21558.854041     39.306820                    
+V 31 -21163.398186  16303.948950   2285.308597       .309266                    
+*  2004  2 29 19 45   .00000000                                                 
+P  1  13093.761711   8354.209958  21720.612483    332.556027                    
+V  1 -21136.224592  16993.489263   6227.631854       .016167                    
+P  3  -6193.256465  21134.981242 -14781.306253     89.854451                    
+V  3 -15608.416174  10847.037957  22416.597766       .030448                    
+P  4  15195.307227  -8917.205789  19986.232845    -76.613392                    
+V  4  23045.394397  10356.342735 -12596.347441      -.091848                    
+P  5 -12661.096111 -21124.375931  10035.526957     19.751616                    
+V  5    -18.580658 -13271.558689 -27454.357886       .012993                    
+P  6 -19811.770969   -442.104825  17929.720803     -1.350333                    
+V  6  15843.395761 -15992.323501  17157.012065      -.010100                    
+P  7  20258.579281 -16939.479196  -1397.242020    611.870743                    
+V  7    812.451790   4270.836318 -31273.963251      -.078314                    
+P  8  21262.604719  -3164.919634 -15997.583256    355.533663                    
+V  8  17681.646841   9101.098225  21662.444483      -.088108                    
+P  9 -17944.073497 -15612.288754 -12634.569137    -32.336876                    
+V  9  15132.976397   2856.456256 -25524.617874      -.020791                    
+P 10   -649.626236 -25937.140606   4884.094661     40.163118                    
+V 10   3291.752748   5869.124183  31571.098718       .003226                    
+P 11  19926.228763  14014.918879 -10746.396714     99.846120                    
+V 11 -14209.508091     56.235752 -26149.565316       .025466                    
+P 13  20891.591917  -3136.561627  16008.833703    -30.907287                    
+V 13 -14891.832125  14009.962370  22198.486412       .002259                    
+P 14 -20596.520205  16777.987314   -191.555328    -18.156958                    
+V 14  -1236.166276  -1979.828111 -32088.891363      -.001324                    
+P 15 -15963.741255   7786.544394 -20051.791221    232.894726                    
+V 15 -22157.196856 -11320.843107  13162.601879       .051864                    
+P 16  -2573.301257  24704.787655   9470.840669     15.287821                    
+V 16  -4443.957372 -11349.529369  28617.969182      -.004159                    
+P 17 -11512.417068 -18333.167416  16040.934371    206.856168                    
+V 17  18094.470575   7990.545502  21630.676746       .195307                    
+P 18 -15337.890337  -2593.954993 -21521.492328    -15.383280                    
+V 18  -2859.711493 -27211.839269   5103.219863      -.026608                    
+P 20  13184.146103  17991.223599  14355.590279   -184.162284                    
+V 20   1072.519023  18419.691564 -23952.519836       .027650                    
+P 21 -25063.782505  -4473.092968  -8295.238323     73.080666                    
+V 21  -8524.977598  -6386.633339  28992.168614       .004798                    
+P 22 -12626.900714  12074.809732 -19852.047305    -40.299345                    
+V 22  -3873.087307 -25287.686906 -12768.484845       .088330                    
+P 24   1410.949800 -15589.850529  21744.015894      8.101577                    
+V 24  24842.959927  10295.691512   5923.006431       .026040                    
+P 25 -11535.226204  12390.405635  20828.524197     61.701210                    
+V 25 -24448.190064  -7930.836151  -9005.413167       .010781                    
+P 26  -1232.145908 -16764.235781 -20652.177734    410.281602                    
+V 26  20747.510481 -15324.971473  11941.511940      -.124627                    
+P 27  25935.235670   4976.509160  -4281.260069    919.837121                    
+V 27   4844.992995   4438.258088  30537.365261       .043277                    
+P 28  12847.658078 -10593.937872 -20438.553048     21.828649                    
+V 28   5175.878322  25961.963874 -10411.648063       .016375                    
+P 29   4895.019581 -19432.978175 -17138.119272    229.895936                    
+V 29  17896.600495 -13330.153730  19973.112414       .032611                    
+P 30 -15949.522388  -8264.346289  19365.520398    804.932437                    
+V 30  -3454.296063 -24919.299093 -13220.849749       .142420                    
+P 31   6598.689450  15019.968159 -21173.289208     39.334770                    
+V 31 -20012.368102  17034.868462   6272.930186       .309266                    
+*  2004  2 29 20  0   .00000000                                                 
+P  1  11216.082369   9951.346631  22095.624496    332.556039                    
+V  1 -20514.135676  18447.408352   2094.228883       .016480                    
+P  3  -7492.934363  22059.310015 -12641.835875     89.858033                    
+V  3 -13268.411989   9618.647887  25059.455550       .030496                    
+P  4  17225.873312  -8064.490376  18685.553882    -76.621607                    
+V  4  21992.923996   8595.207000 -16265.204811      -.091847                    
+P  5 -12653.812525 -22180.918820   7485.717604     19.750588                    
+V  5    246.992681 -10189.128851 -29126.535421       .012939                    
+P  6 -18362.383297  -1970.193261  19318.061630     -1.351539                    
+V  6  16288.638479 -17939.260324  13651.608119      -.009806                    
+P  7  20228.164737 -16444.651258  -4191.491647    611.863450                    
+V  7  -1435.992982   6764.944094 -30729.456664      -.078311                    
+P  8  22768.258663  -2428.463872 -13919.363556    355.525829                    
+V  8  15702.884588   7290.886825  24455.626603      -.088048                    
+P  9 -16458.545316 -15355.267090 -14821.267325    -32.338933                    
+V  9  17842.621330   2789.042685 -23002.654027      -.020871                    
+P 10   -308.543851 -25259.896303   7674.394729     40.163274                    
+V 10   4351.110805   9140.849920  30344.882955       .003182                    
+P 11  18522.969799  14019.683173 -13001.344909     99.848233                    
+V 11 -16939.911845    109.057595 -23888.714687       .025468                    
+P 13  19505.678532  -1768.046683  17862.349405    -30.907148                    
+V 13 -15820.575384  16388.760520  18931.341677       .002248                    
+P 14 -20590.898436  16494.063626  -3069.622036    -18.157087                    
+V 14   1308.847508  -4378.830279 -31776.251958      -.001328                    
+P 15 -17917.380911   6850.280188 -18702.317552    232.898495                    
+V 15 -21171.826551  -9484.856086  16783.501319       .051755                    
+P 16  -3028.470391  23555.219198  11957.816281     15.287747                    
+V 16  -5721.221797 -14140.433414  26569.266331      -.004162                    
+P 17  -9769.832521 -17615.420190  17849.975609    206.874262                    
+V 17  20589.019056   7890.302620  18513.155054       .195319                    
+P 18 -15654.551946  -5001.519058 -20878.358954    -15.385519                    
+V 18  -4148.435802 -26203.963429   9166.924458      -.026624                    
+P 20  13298.088827  19521.544540  12082.084377   -184.160121                    
+V 20   1394.116383  15543.958641 -26496.717095       .027648                    
+P 21 -25707.256104  -4973.810462  -5623.596423     73.080650                    
+V 21  -5724.912256  -4790.175641  30294.336588       .004794                    
+P 22 -13043.172762   9750.377043 -20824.771058    -40.291035                    
+V 22  -5388.495823 -26276.885887  -8815.466203       .088314                    
+P 24   3691.839731 -14716.689764  22093.413419      8.102609                    
+V 24  25763.978800   9067.057027   1831.232027       .025900                    
+P 25 -13703.430463  11744.321438  19846.549365     61.702044                    
+V 25 -23650.776983  -6429.843106 -12786.933790       .010742                    
+P 26    548.163210 -18151.824627 -19403.843890    410.270279                    
+V 26  18770.305938 -15430.764152  15763.344254      -.124626                    
+P 27  26231.933313   5321.476727  -1504.613130    919.840961                    
+V 27   1721.291892   3289.069563  31078.862396       .043271                    
+P 28  13381.768394  -8225.686166 -21193.154507     21.830370                    
+V 28   6694.272463  26573.706222  -6333.933591       .016375                    
+P 29   6392.281539 -20601.697548 -15195.204037    229.898249                    
+V 29  15356.269981 -12558.199800  23138.489598       .032600                    
+P 30 -16298.128168 -10425.604103  18009.831698    804.945553                    
+V 30  -4243.885855 -23039.161818 -16860.376290       .142395                    
+P 31   4861.480162  16571.390515 -20432.483909     39.362523                    
+V 31 -18545.260283  17371.296825  10168.663190       .309269                    
+*  2004  2 29 20 15   .00000000                                                 
+P  1   9414.069091  11664.428582  22096.498574    332.558296                    
+V  1 -19464.138435  19557.869247  -2074.989078       .016863                    
+P  3  -8582.010464  22853.101549 -10283.481222     89.860750                    
+V  3 -10942.975078   7949.640348  27273.327272       .030406                    
+P  4  19138.992040  -7368.304456  17067.022368    -76.628913                    
+V  4  20439.652136   6892.718626 -19650.023300      -.091845                    
+P  5 -12604.569371 -22956.565124   4807.790286     19.751579                    
+V  5    914.252609  -7044.918000 -30297.682214       .013277                    
+P  6 -16893.285326  -3665.250973  20380.090420     -1.353648                    
+V  6  16285.445713 -19689.017246   9915.664860      -.009449                    
+P  7  20010.388348 -15715.848686  -6912.277030    611.856569                    
+V  7  -3341.999480   9456.711477 -29643.057067      -.078308                    
+P  8  24076.447115  -1846.641963 -11607.853881    355.518246                    
+V  8  13302.063007   5677.626735  26839.569849      -.087988                    
+P  9 -14740.100553 -15121.617532 -16763.808373    -32.340588                    
+V  9  20295.895880   2343.583536 -20106.248669      -.020846                    
+P 10    144.202276 -24300.345080  10330.226106     40.163069                    
+V 10   5764.198210  12127.695508  28587.404767       .003132                    
+P 11  16884.378318  14044.759900 -15034.064965     99.850070                    
+V 11 -19426.105764    501.743387 -21218.079646       .025473                    
+P 13  18059.255674   -190.341966  19406.665891    -30.907149                    
+V 13 -16237.728137  18642.395676  15337.408607       .002237                    
+P 14 -20371.345134  15982.074020  -5894.853476    -18.157327                    
+V 14   3507.108446  -7034.887620 -30916.350341      -.001333                    
+P 15 -19759.581226   6077.949838 -17039.224383    232.902229                    
+V 15 -19684.077996  -7692.759250  20122.436093       .051774                    
+P 16  -3611.212004  22170.657020  14239.681504     15.287639                    
+V 16  -7267.756331 -16560.217030  24066.586126      -.004162                    
+P 17  -7814.955475 -16924.758158  19363.760175    206.891913                    
+V 17  22798.429789   7395.725620  15077.737960       .195323                    
+P 18 -16078.205186  -7295.894262 -19876.382808    -15.388007                    
+V 18  -5224.001567 -24704.158680  13066.175024      -.026636                    
+P 20  13422.813543  20782.686866   9599.960442   -184.157664                    
+V 20   1307.188794  12453.459605 -28581.872459       .027646                    
+P 21 -26086.485810  -5345.099540  -2857.533068     73.081620                    
+V 21  -2665.814527  -3519.058386  31087.590772       .004801                    
+P 22 -13597.462940   7361.337333 -21434.107141    -40.282880                    
+V 22  -6924.932203 -26721.153678  -4705.078509       .088297                    
+P 24   6033.583826 -13963.899202  22072.816654      8.106157                    
+V 24  26189.471323   7634.679656  -2287.906604       .026106                    
+P 25 -15777.586638  11231.183405  18533.069449     61.703721                    
+V 25 -22361.267423  -4990.424178 -16362.094980       .010721                    
+P 26   2139.779208 -19526.929112 -17822.243453    410.259535                    
+V 26  16569.015882 -15042.354978  19336.340348      -.124627                    
+P 27  26241.516251   5580.056387   1297.268809    919.845567                    
+V 27  -1520.682504   2523.134393  31098.415659       .043263                    
+P 28  14051.441158  -5827.285366 -21575.575123     21.831554                    
+V 28   8173.162851  26632.292077  -2153.398601       .016376                    
+P 29   7657.133839 -21678.525649 -12985.560039    229.900909                    
+V 29  12748.784298 -11289.289637  25891.836076       .032593                    
+P 30 -16703.768724 -12399.926769  16339.715051    804.958188                    
+V 30  -4712.164176 -20777.152239 -20198.026975       .142370                    
+P 31   3267.894345  18133.619014 -19347.633074     39.390236                    
+V 31 -16833.347842  17268.817890  13907.675217       .309271                    
+*  2004  2 29 20 30   .00000000                                                 
+P  1   7723.490132  13459.439772  21723.135577    332.560708                    
+V  1 -18049.454624  20258.011415  -6210.581748       .017186                    
+P  3  -9465.684326  23477.887369  -7746.727322     89.863697                    
+V  3  -8717.812317   5869.265730  29017.795359       .030364                    
+P  4  20890.983488  -6819.450663  15158.743615    -76.637411                    
+V  4  18419.346325   5334.977058 -22695.243518      -.091843                    
+P  5 -12477.365880 -23449.935166   2047.717887     19.752121                    
+V  5   1976.979692  -3931.649550 -30949.693203       .013712                    
+P  6 -15443.506534  -5505.917795  21097.818194     -1.352937                    
+V  6  15865.966386 -21162.433205   6011.042630      -.009017                    
+P  7  19638.312625 -14739.088375  -9511.422551    611.849392                    
+V  7  -4858.301689  12260.056978 -28029.691831      -.078303                    
+P  8  25151.707914  -1398.414836  -9101.705002    355.511652                    
+V  8  10537.607803   4333.166596  28774.940119      -.087931                    
+P  9 -12815.193886 -14943.392671 -18430.549057    -32.343255                    
+V  9  22419.185083   1566.213214 -16881.897102      -.020813                    
+P 10    737.791103 -23087.972216  12805.134300     40.162768                    
+V 10   7469.456891  14746.311881  26330.448615       .003165                    
+P 11  15035.820913  14118.937314 -16809.645556     99.852159                    
+V 11 -21594.299012   1192.007049 -18182.526595       .025480                    
+P 13  16597.740733   1580.964328  20615.156831    -30.906882                    
+V 13 -16160.397286  20675.561262  11479.422779       .002224                    
+P 14 -19971.742798  15222.577881  -8618.562895    -18.157393                    
+V 14   5301.806983  -9864.175683 -29523.346939      -.001338                    
+P 15 -21446.281579   5461.648270 -15090.380915    232.907714                    
+V 15 -17722.435161  -6031.603225  23124.815654       .051910                    
+P 16  -4342.577472  20587.362794  16277.478026     15.287131                    
+V 16  -9010.995004 -18547.777039  21153.347142      -.004165                    
+P 17  -5677.003236 -16294.540180  20556.002511    206.909901                    
+V 17  24645.255893   6556.576710  11376.948515       .195313                    
+P 18 -16586.219766  -9435.107134 -18533.369169    -15.390541                    
+V 18  -6011.546469 -22766.142478  16734.845040      -.026647                    
+P 20  13520.489294  21759.593140   6952.190457   -184.154815                    
+V 20    791.098721   9243.912051 -30172.542038       .027642                    
+P 21 -26181.783418  -5618.342646    -43.495048     73.082106                    
+V 21    570.357865  -2617.452599  31358.948956       .004802                    
+P 22 -14287.539999   4957.047465 -21669.139089    -40.274902                    
+V 22  -8390.739566 -26616.793517   -509.876008       .088282                    
+P 24   8390.270805 -13345.978985  21682.780970      8.107248                    
+V 24  26093.082851   6084.695235  -6367.380955       .026147                    
+P 25 -17714.472742  10841.746721  16909.339656     61.703250                    
+V 25 -20606.089213  -3694.070954 -19671.790619       .010699                    
+P 26   3526.597453 -20843.951675 -15932.721276    410.247967                    
+V 26  14234.901998 -14138.036615  22595.512575      -.124626                    
+P 27  25957.336905   5787.731222   4077.603190    919.849098                    
+V 27  -4791.754270   2159.627531  30601.605171       .043253                    
+P 28  14849.044864  -3448.128947 -21579.931709     21.833072                    
+V 28   9522.447346  26149.673323   2054.960349       .016377                    
+P 29   8688.060801 -22619.346098 -10548.462089    229.903700                    
+V 29  10174.422464  -9540.232003  28185.856616       .032588                    
+P 30 -17135.156548 -14156.351693  14384.974158    804.971340                    
+V 30  -4808.931591 -18210.793210 -23176.337653       .142344                    
+P 31   1836.454268  19665.717391 -17935.706986     39.418714                    
+V 31 -14955.700358  16698.220614  17426.620930       .309276                    
+*  2004  2 29 20 45   .00000000                                                 
+P  1   6173.853760  15296.960186  20981.674006    332.559994                    
+V  1 -16345.526633  20495.001648 -10243.548524       .017523                    
+P  3 -10156.628905  23898.590174  -5075.339480     89.866147                    
+V  3  -6672.743211   3423.428143  30260.515009       .030249                    
+P  4  22441.949077  -6401.298557  12993.562261    -76.646098                    
+V  4  15982.008520   4000.538564 -25351.227181      -.091850                    
+P  5 -12237.527422 -23667.895198   -747.291395     19.753048                    
+V  5   3412.019402   -939.282658 -31073.239844       .014202                    
+P  6 -14048.503382  -7464.063197  21458.954630     -1.353556                    
+V  6  15077.186211 -22288.693366   2002.364260      -.008704                    
+P  7  19148.530049 -13508.487795 -11942.557210    611.842281                    
+V  7  -5954.004098  15081.631394 -25914.519549      -.078299                    
+P  8  25964.441214  -1056.797160  -6442.804065    355.505328                    
+V  8   7480.997234   3317.382738  30229.241823      -.087896                    
+P  9 -10716.457668 -14847.894609 -19794.236607    -32.346713                    
+V  9  24149.206626    516.029702 -13380.571857      -.020705                    
+P 10   1495.221555 -21659.146789  15055.941607     40.162191                    
+V 10   9391.582930  16927.560050  23614.920599       .003290                    
+P 11  13008.863003  14266.605571 -18297.500616     99.854695                    
+V 11 -23380.958560   2124.725646 -14833.180167       .025488                    
+P 13  15164.163104   3521.970420  21467.055442    -30.906827                    
+V 13 -15624.340717  22399.427233   7424.663303       .002213                    
+P 14 -19430.347979  14204.096211 -11193.756444    -18.157758                    
+V 14   6652.851287 -12774.151562 -27620.654015      -.001337                    
+P 15 -22936.738589   4985.909964 -12888.343563    232.913027                    
+V 15 -15331.928277  -4581.821518  25741.191967       .052029                    
+P 16  -5236.636916  18846.400338  18036.468231     15.286230                    
+V 16 -10868.875697 -20057.815058  17879.786257      -.004166                    
+P 17  -3391.703127 -15753.026003  21405.367591    206.927640                    
+V 17  26062.727662   5436.079187   7468.188129       .195302                    
+P 18 -17149.733728 -11382.687142 -16872.886765    -15.393197                    
+V 18  -6447.909133 -20458.083577  20111.154438      -.026655                    
+P 20  13552.247658  22445.979868   4184.548906   -184.151902                    
+V 20   -156.486721   6013.957273 -31241.975693       .027640                    
+P 21 -25981.172955  -5828.191405   2771.266882     73.082228                    
+V 21   3894.680149  -2113.615206  31103.550574       .004803                    
+P 22 -15102.975862   2586.318337 -21525.568561    -40.267055                    
+V 22  -9696.055775 -25979.591420   3695.859947       .088267                    
+P 24  10714.397051 -12869.490464  20929.869665      8.108816                    
+V 24  25465.894797   4506.828420 -10340.858731       .026271                    
+P 25 -19473.966815  10559.694386  15001.783431     61.703789                    
+V 25 -18427.531641  -2615.947347 -22660.419740       .010766                    
+P 26   4700.935781 -22056.214003 -13766.300039    410.237443                    
+V 26  11863.266503 -12715.669646  25479.899892      -.124626                    
+P 27  25380.822137   5980.943372   6790.454874    919.853227                    
+V 27  -8002.184797   2200.681353  29601.602205       .043243                    
+P 28  15759.023938  -1135.665254 -21207.093519     21.834707                    
+V 28  10656.748508  25156.942998   6216.332200       .016380                    
+P 29   9492.417786 -23382.421925  -7927.047915    229.906420                    
+V 29   7729.384180  -7346.916147  29982.119603       .032583                    
+P 30 -17557.176876 -15671.340414  12180.276544    804.983943                    
+V 30  -4499.622723 -15426.991544 -25744.837394       .142323                    
+P 31    578.322925  21124.860028 -16219.272591     39.447435                    
+V 31 -12996.280910  15646.922017  20664.646625       .309276                    
+*  2004  2 29 21  0   .00000000                                                 
+P  1   4787.435233  17133.526988  19884.403638    332.562045                    
+V  1 -14437.132969  20232.137542 -14106.368009       .018058                    
+P  3 -10674.316172  24084.957292  -2315.603088     89.868554                    
+V  3  -4878.534594    673.122620  30977.936736       .030236                    
+P  4  23757.154000  -6090.599679  10608.498351    -76.654155                    
+V  4  13192.036358   2957.451646 -27574.929027      -.091856                    
+P  5 -11853.194102 -23625.160171  -3529.586687     19.754941                    
+V  5   5180.175959   1848.253087 -30667.805596       .014687                    
+P  6 -12738.903514  -9505.661387  21457.114672     -1.353943                    
+V  6  13979.076674 -23008.027380  -2043.924305      -.008401                    
+P  7  18579.623791 -12026.756627 -14162.026995    611.834918                    
+V  7  -6615.929862  17824.481686 -23332.698252      -.078294                    
+P  8  26491.977746   -790.040052  -3675.635848    355.497914                    
+V  8   4214.324725   2675.917568  31177.324382      -.087879                    
+P  9  -8481.673645 -14856.604348 -20832.385096    -32.348237                    
+V  9  25435.134037   -737.104915  -9657.130679      -.020553                    
+P 10   2432.210815 -20055.721232  17043.530952     40.163201                    
+V 10  11444.619548  18619.103050  20489.993317       .003402                    
+P 11  10840.236118  14506.696743 -19471.897069     99.857493                    
+V 11 -24735.173108   3234.134870 -11226.617345       .025502                    
+P 13  13797.550824   5601.203977  21947.809043    -30.906568                    
+V 13 -14682.400623  23735.144491   3243.734028       .002204                    
+P 14 -18788.215802  12923.740983 -13575.950560    -18.157786                    
+V 14   7538.328667 -15667.053814 -25240.568605      -.001335                    
+P 15 -24194.952169   4628.442487 -10469.860965    232.917786                    
+V 15 -12572.638448  -3414.211392  27927.966426       .051931                    
+P 16  -6299.767343  16992.138136  19486.710212     15.285864                    
+V 16 -12753.062994 -21062.398970  14302.084825      -.004163                    
+P 17  -1000.214680 -15322.260738  21895.884924    206.945226                    
+V 17  26997.293502   4108.704302   3413.163122       .195290                    
+P 18 -17734.822552 -13108.851583 -14923.832209    -15.395680                    
+V 18  -6484.120231 -17859.952054  23138.638608      -.026663                    
+P 20  13479.842001  22844.433117   1344.810188   -184.149326                    
+V 20  -1519.454416   2861.434152 -31772.537276       .027640                    
+P 21 -25480.879274  -6011.083522   5539.433893     73.082485                    
+V 21   7214.370432  -2018.857407  30324.752081       .004809                    
+P 22 -16025.476419    295.684875 -21005.807065    -40.258808                    
+V 22 -10756.552177 -24844.165472   7837.542192       .088251                    
+P 24  12958.457062 -12532.884857  19826.551322      8.111924                    
+V 24  24316.794996   2991.012458 -14143.590604       .026496                    
+P 25 -21020.419627  10362.339622  12841.638414     61.704540                    
+V 25 -15882.435878  -1821.974945 -25276.744401       .010895                    
+P 26   5663.732125 -23117.752610 -11359.256665    410.225375                    
+V 26   9549.729222 -10793.319235  27933.930411      -.124623                    
+P 27  24521.385662   6195.567592   9391.397190    919.856933                    
+V 27 -11064.724969   2631.645758  28118.671873       .043232                    
+P 28  16758.484592   1066.265338 -20464.599943     21.836276                    
+V 28  11498.930612  23702.883152  10257.537362       .016385                    
+P 29  10085.891250 -23930.053443  -5167.492528    229.909345                    
+V 29   5502.001403  -4762.868689  31251.640004       .032582                    
+P 30 -17932.361647 -16929.470119   9764.486387    804.996600                    
+V 30  -3766.678576 -12518.594867 -27860.857837       .142304                    
+P 31   -502.996382  22467.871374 -14226.222429     39.473565                    
+V 31 -11040.803400  14119.820359  23564.436670       .309275                    
+*  2004  2 29 21 15   .00000000                                                 
+P  1   3578.579645  18923.159661  18449.585832    332.565337                    
+V  1 -12415.160069  19450.376661 -17734.031008       .018504                    
+P  3 -11044.072331  24012.824723    484.494492     89.870868                    
+V  3  -3394.078663  -2307.755651  31155.867191       .030275                    
+P  4  24808.220933  -5858.551416   8044.127641    -76.662122                    
+V  4  10125.882035   2260.707879 -29330.464513      -.091865                    
+P  5 -11296.701773 -23343.613284  -6251.864003     19.756280                    
+V  5   7227.703789   4356.065234 -29741.588479       .014922                    
+P  6 -11539.438258 -11591.892777  21091.939113     -1.354005                    
+V  6  12642.273183 -23274.026774  -6060.525626      -.008192                    
+P  7  17970.539850 -10305.346578 -16129.774305    611.828098                    
+V  7  -6849.229649  20391.955441 -20328.883794      -.078292                    
+P  8  26719.409604   -562.995612   -846.601410    355.490678                    
+V  8    827.472737   2438.412927  31601.821587      -.087863                    
+P  9  -6152.571185 -14984.325300 -21527.598003    -32.349390                    
+V  9  26240.320184  -2115.111733  -5769.711386      -.020336                    
+P 10   3556.391452 -18323.428485  18733.544981     40.163637                    
+V 10  13535.480803  19787.296627  17012.082859       .003476                    
+P 11   8570.612537  14851.841938 -20312.405639     99.859932                    
+V 11 -25620.556407   4446.443455  -7423.965636       .025515                    
+P 13  12531.488709   7780.663873  22049.321412    -30.906338                    
+V 13 -13402.272705  24616.957124   -990.706759       .002195                    
+P 14 -18087.524468  11387.518453 -15723.949008    -18.158268                    
+V 14   7955.258900 -18443.624517 -22423.744293      -.001331                    
+P 15 -25190.932651   4361.117496  -7875.317567    232.922282                    
+V 15  -9517.670229  -2587.247558  29648.046995       .051924                    
+P 16  -7530.242327  15070.640726  20603.550250     15.284955                    
+V 16 -14572.404799 -21551.864011  10481.410944      -.004158                    
+P 17   1452.160362 -15017.179396  22017.306192    206.962959                    
+V 17  27410.779124   2657.503782   -722.796766       .195276                    
+P 18 -18303.867762 -14591.432524 -12719.912038    -15.398012                    
+V 18  -6087.332344 -15060.456064  25767.008868      -.026671                    
+P 20  13267.286728  22966.170067  -1518.084291   -184.146868                    
+V 20  -3263.828789   -120.293560 -31755.957389       .027639                    
+P 21 -24685.529290  -6203.693774   8214.359611     73.082632                    
+V 21  10436.047896  -2327.116462  29034.134167       .004810                    
+P 22 -17029.540314  -1872.230889 -20118.938842    -40.250794                    
+V 22 -11496.957837 -23262.554814  11841.713457       .088235                    
+P 24  15076.539850 -12326.637258  18391.017860      8.114442                    
+V 24  22672.238594   1624.001973 -17713.285567       .026635                    
+P 25 -22323.885363  10221.578559  10464.525150     61.704895                    
+V 25 -13040.354337  -1366.202548 -27474.746915       .011030                    
+P 26   6424.400237 -23985.135889  -8752.576000    410.213951                    
+V 26   7386.377965  -8409.086419  29908.778855      -.124622                    
+P 27  23396.072338   6465.433471  11838.127164    919.861072                    
+V 27 -13897.507397   3421.902092  26179.655243       .043224                    
+P 28  17818.080967   3118.930997 -19366.451805     21.837632                    
+V 28  11983.233662  21851.826570  14108.385313       .016389                    
+P 29  10491.634047 -24230.074138  -2318.140202    229.912140                    
+V 29   3569.334138  -1857.112678  31975.238237       .032581                    
+P 30 -18222.455630 -17923.806109   7179.932794    805.008616                    
+V 30  -2610.217847  -9580.769828 -29490.157389       .142286                    
+P 31  -1411.670680  23652.814364 -11989.408035     39.502102                    
+V 31  -9173.453740  12139.522710  26073.287031       .309271                    
+*  2004  2 29 21 30   .00000000                                                 
+P  1   2553.306646  20618.994662  16701.181485    332.565917                    
+V  1 -10373.141262  18149.232837 -21065.058046       .018819                    
+P  3 -11295.899178  23665.158692   3276.124411     89.875491                    
+V  3  -2264.037460  -5435.148916  30789.846787       .030403                    
+P  4  25574.093675  -5672.068415   5343.915469    -76.670710                    
+V  4   6869.296124   1950.191095 -30589.573991      -.091876                    
+P  5 -10545.803960 -22851.370612  -8867.941368     19.758236                    
+V  5   9488.334448   6520.943566 -28311.279182       .015236                    
+P  6 -10468.102444 -13680.433732  20369.126475     -1.353983                    
+V  6  11145.359425 -23055.498724  -9980.289292      -.008215                    
+P  7  17358.939693  -8364.245447 -17810.159978    611.821399                    
+V  7  -6677.200726  22691.671766 -16956.456905      -.078290                    
+P  8  26640.152473   -338.615659   1996.699499    355.482760                    
+V  8  -2585.013560   2617.304051  31493.516116      -.087853                    
+P  9  -3773.490230 -15238.569059 -21867.835416    -32.352732                    
+V  9  26543.572335  -3534.518991  -1779.105093      -.020135                    
+P 10   4866.839353 -16510.143399  20096.986689     40.163309                    
+V 10  15567.751975  20418.306199  13243.689153       .003481                    
+P 11   6243.232209  15307.779044 -20804.266577     99.862105                    
+V 11 -26016.615594   5682.770984  -3489.916032       .025530                    
+P 13  11392.903757  10017.119770  21770.079440    -30.905598                    
+V 13 -11863.703766  24994.801018  -5205.242783       .002186                    
+P 14 -17369.865155   9610.292883 -17600.565407    -18.158587                    
+V 14   7919.607030 -21006.908846 -19218.509498      -.001325                    
+P 15 -25901.763749   4151.185032  -5148.120511    232.927232                    
+V 15  -6250.653548  -2144.820847  30871.450011       .051939                    
+P 16  -8918.138422  13128.009886  21368.025911     15.284801                    
+V 16 -16236.491965 -21535.024734   6482.893783      -.004156                    
+P 17   3917.441808 -14844.969526  21765.396172    206.980736                    
+V 17  27282.075183   1171.054478  -4871.541608       .195257                    
+P 18 -18817.071475 -15816.513878 -10299.052485    -15.400503                    
+V 18  -5242.124304 -12153.684354  27952.897015      -.026674                    
+P 20  12882.412265  22830.477767  -4354.874164   -184.144579                    
+V 20  -5339.054639  -2845.815746 -31193.417574       .027638                    
+P 21 -23608.057314  -6441.374393  10750.807196     73.083362                    
+V 21  13469.032046  -3015.149721  27251.417088       .004811                    
+P 22 -18083.419588  -3880.197584 -18880.555227    -40.243130                    
+V 22 -11854.219094 -21302.106245  15637.461267       .088223                    
+P 24  17025.876508 -12233.681720  16646.924326      8.114721                    
+V 24  20575.404360    486.087634 -20990.974698       .026675                    
+P 25 -23361.164375  10105.063160   7909.939091     61.705659                    
+V 25  -9981.224358  -1288.558430 -29214.475013       .011191                    
+P 26   7000.339215 -24619.228165  -5991.284374    410.202797                    
+V 26   5457.953024  -5620.095560  31363.669491      -.124619                    
+P 27  22028.952301   6820.944037  14091.033798    919.865270                    
+V 27 -16426.701244   4526.182360  23817.445829       .043213                    
+P 28  18903.161452   4989.989579 -17932.785547     21.838778                    
+V 28  12057.902788  19680.938644  17702.915258       .016395                    
+P 29  10739.116709 -24257.126353    571.385899    229.914936                    
+V 29   1994.283155   1288.565438  32143.679622       .032586                    
+P 30 -18390.010889 -18655.945903   4471.630344    805.020925                    
+V 30  -1047.996049  -6707.351681 -30607.357849       .142276                    
+P 31  -2159.251050  24640.569669  -9546.176260     39.530076                    
+V 31  -7473.591335   9745.909465  28144.184848       .309267                    
+*  2004  2 29 21 45   .00000000                                                 
+P  1   1709.232664  22174.970721  14668.488502    332.567714                    
+V  1  -8403.683108  16347.000804 -24042.490931       .019207                    
+P  3 -11463.108490  23032.830156   6010.501919     89.877941                    
+V  3  -1517.059195  -8618.013810  29885.327384       .030247                    
+P  4  26041.737727  -5495.213635   2553.513478    -76.678624                    
+V  4   3514.255178   2049.190195 -31331.984434      -.091883                    
+P  5  -9584.690231 -22181.627360 -11333.508891     19.760078                    
+V  5  11885.759734   8293.552798 -26401.723529       .015436                    
+P  6  -9535.573001 -15726.889635  19300.374042     -1.354094                    
+V  6   9571.848649 -22337.786833 -13737.230952      -.008244                    
+P  7  16779.605302  -6231.417754 -19172.703945    611.814541                    
+V  7  -6140.304970  24639.373334 -13276.490684      -.078287                    
+P  8  26256.216672    -79.531830   4806.215108    355.475557                    
+V  8  -5927.252758   3207.224656  30851.619328      -.087847                    
+P  9  -1389.951200 -15619.204899 -21846.623471    -32.355098                    
+V  9  26339.939020  -4909.485219   2251.902346      -.019800                    
+P 10   6353.950012 -14664.079937  21110.710808     40.164080                    
+V 10  17445.603070  20518.413654   9252.133760       .003675                    
+P 11   3902.432762  15873.035388 -20938.663178     99.864278                    
+V 11 -25919.528932   6862.300311    508.336802       .025546                    
+P 13  10401.124279  12263.618628  21115.162882    -30.905516                    
+V 13 -10155.232153  24836.288954  -9326.997369       .002175                    
+P 14 -16674.564311   7615.410395 -19173.277897    -18.158856                    
+V 14   7465.552469 -23265.983519 -15680.043272      -.001318                    
+P 15 -26312.422331   3962.669113  -2334.035132    232.929357                    
+V 15  -2862.851684  -2114.483472  31575.838797       .051892                    
+P 16 -10445.561577  11208.737974  21767.174373     15.284399                    
+V 16 -17659.187842 -21038.694436   2374.545768      -.004154                    
+P 17   6346.562291 -14804.723144  21142.145487    206.998305                    
+V 17  26608.270105   -259.899419  -8963.036232       .195239                    
+P 18 -19234.058574 -16778.757809  -7702.747653    -15.402713                    
+V 18  -3951.139697  -9235.581429  29660.478949      -.026674                    
+P 20  12298.275129  22463.852649  -7116.828237   -184.141953                    
+V 20  -7679.922097  -5240.824558 -30095.468373       .027640                    
+P 21 -22269.315734  -6756.641002  13105.674483     73.083876                    
+V 21  16228.572870  -4043.351407  25004.279167       .004814                    
+P 22 -19150.343156  -5697.633685 -17312.463897    -40.235169                    
+V 22 -11780.160097 -19042.747623  19157.777207       .088209                    
+P 24  18768.285390 -12230.133400  14623.051527      8.116951                    
+V 24  18084.768101   -351.979844 -23921.861597       .027056                    
+P 25 -24116.617037   9977.555732   5220.667657     61.708702                    
+V 25  -6792.619875  -1613.077551 -30462.858963       .011328                    
+P 26   7416.107636 -24986.824483  -3123.670415    410.192084                    
+V 26   3838.238826  -2500.638058  32267.069175      -.124614                    
+P 27  20450.289375   7287.833736  16113.719348    919.868927                    
+V 27 -18588.863379   5886.337183  21070.469765       .043203                    
+P 28  19975.125276   6654.503746 -16189.441861     21.840274                    
+V 28  11687.218208  17277.046234  20980.498106       .016402                    
+P 29  10862.746190 -23993.669063   3451.077197    229.917785                    
+V 29    823.324441   4582.813571  31757.606324       .032598                    
+P 30 -18399.946109 -19135.739006   1686.468679    805.033833                    
+V 30    885.328827  -3987.310603 -31196.196963       .142278                    
+P 31  -2764.093319  25396.345279  -6937.809168     39.558634                    
+V 31  -6012.557130   6995.020868  29736.866792       .309261                    
+*  2004  2 29 22  0   .00000000                                                 
+P  1   1035.815095  23547.503414  12385.691641    332.571437                    
+V  1  -6594.905495  14080.291947 -26614.846071       .019486                    
+P  3 -11580.824789  22115.088392   8639.778516     89.881840                    
+V  3  -1164.648284 -11761.808256  28457.639236       .030044                    
+P  4  26206.554117  -5290.736059   -279.971656    -76.686601                    
+V  4    155.680456   2563.522074 -31545.669717      -.091889                    
+P  5  -8404.764074 -21371.329909 -13606.843523     19.761652                    
+V  5  14336.477499   9640.099708 -24045.478459       .015606                    
+P  6  -8744.909070 -17686.320759  17903.226566     -1.354464                    
+V  6   8006.964224 -21123.505192 -17267.563814      -.008458                    
+P  7  16262.967650  -3941.911011 -20192.722156    611.807515                    
+V  7  -5294.416572  26162.474054  -9356.483695      -.078285                    
+P  8  25578.173911    250.339593   7534.209226    355.468685                    
+V  8  -9105.444113   4185.056288  29683.954642      -.087849                    
+P  9    952.822773 -16118.387201 -21463.202689    -32.355405                    
+V  9  25640.978492  -6154.937984   6259.231474      -.019504                    
+P 10   7999.665927 -12831.997344  21757.798297     40.163633                    
+V 10  19077.650589  20113.514131   5108.230360       .003989                    
+P 11   1592.137467  16538.899357 -20712.897165     99.866816                    
+V 11 -25342.298510   7905.526247   4502.212889       .025564                    
+P 13   9567.248070  14471.139367  20096.138173    -30.905434                    
+V 13  -8370.602568  24128.007533 -13284.908069       .002166                    
+P 14 -16037.104317   5433.995989 -20414.803732    -18.158878                    
+V 14   6644.040880 -25139.467335 -11869.422662      -.001308                    
+P 15 -26416.323544   3757.895827    519.524791    232.933938                    
+V 15    550.033821  -2506.269369  31746.988783       .052254                    
+P 16 -12087.184930   9354.134968  21794.241989     15.284011                    
+V 16 -18761.996808 -20106.533540  -1773.851931      -.004149                    
+P 17   8691.032755 -14887.400632  20155.893115    207.015821                    
+V 17  25405.155485  -1546.001902 -12926.431138       .195226                    
+P 18 -19515.505715 -17481.411254  -4975.357126    -15.405385                    
+V 18  -2235.043626  -6400.385583  30861.974163      -.026682                    
+P 20  11494.368747  21898.876012  -9756.577960   -184.139427                    
+V 20 -10209.055716  -7244.816241 -28481.786883       .027639                    
+P 21 -20697.402237  -7177.759458  15238.698209     73.084055                    
+V 21  18638.901478  -5357.173497  22328.072564       .004812                    
+P 22 -20189.952976  -7301.597991 -15442.279557    -40.227078                    
+V 22 -11243.532327 -16573.764332  22340.827386       .088198                    
+P 24  20271.464052 -12286.274209  12352.892866      8.119899                    
+V 24  15272.131765   -831.752627 -26456.155463       .027417                    
+P 25 -24582.714258   9802.418489   2442.135768     61.710555                    
+V 25  -3566.663077  -2346.685756 -31194.480172       .011098                    
+P 26   7702.288878 -25062.081845   -200.405610    410.180619                    
+V 26   2586.839061    860.483774  32597.712491      -.124603                    
+P 27  18695.513664   7886.103397  17873.474161    919.873149                    
+V 27 -20332.930161   7433.490134  17982.173669       .043188                    
+P 28  20992.932254   8095.655521 -14167.441966     21.841669                    
+V 28  10852.860240  14733.153664  23886.784907       .016407                    
+P 29  10900.311557 -23430.682208   6271.418361    229.920414                    
+V 29     84.939110   7928.234895  30827.279513       .032619                    
+P 30 -18221.010229 -19380.699030  -1127.612709    805.046894                    
+V 30   3139.578141  -1501.469458 -31249.605461       .142283                    
+P 31  -3250.501200  25891.055669  -4208.870848     39.586508                    
+V 31  -4850.720037   3957.276975  30818.823235       .309252                    
+*  2004  2 29 22 15   .00000000                                                 
+P  1    514.911426  24697.087075   9891.328814    332.574212                    
+V  1  -5027.024546  11402.887041 -28737.015263       .019687                    
+P  3 -11684.417947  20919.712232  11117.921459     89.884016                    
+V  3  -1200.742746 -14772.142816  26531.743138       .029686                    
+P  4  26072.492732  -5021.658812  -3108.728370    -76.695296                    
+V  4  -3111.939464   3481.291525 -31227.010050      -.091899                    
+P  5  -7005.152185 -20459.723583 -15649.479381     19.762974                    
+V  5  16752.896268  10543.420881 -21282.270374       .015764                    
+P  6  -8091.546751 -19514.806383  16200.831927     -1.356065                    
+V  6   6534.331078 -19432.649882 -20510.732428      -.008649                    
+P  7  15833.824971  -1536.663009 -20851.840325    611.800337                    
+V  7  -4208.372245  27203.128161  -5268.896464      -.078283                    
+P  8  24624.816809    684.226881  10134.040524    355.461624                    
+V  8 -12031.258070   5510.635591  28007.031434      -.087860                    
+P  9   3211.383675 -16720.767241 -20722.610895    -32.358196                    
+V  9  24474.489127  -7189.738722  10178.263312      -.019272                    
+P 10   9778.043254 -11057.486864  22027.809455     40.163573                    
+V 10  20380.609113  19247.838011    884.922664       .004274                    
+P 11   -645.641894  17289.684099 -20130.461388     99.869236                    
+V 11 -24314.266326   8737.476592   8422.907711       .025574                    
+P 13   8893.842580  16590.331411  18730.839417    -30.905118                    
+V 13  -6604.998170  22876.079125 -17010.955596       .002156                    
+P 14 -15487.704787   3103.949661 -21303.582977    -18.158564                    
+V 14   5520.674130 -26558.674988  -7852.558547      -.001296                    
+P 15 -26215.568581   3499.099670   3364.244893    232.940173                    
+V 15   3891.257796  -3312.142382  31379.166680       .052685                    
+P 16 -13811.077828   7600.887738  21448.792450     15.283390                    
+V 16 -19477.147485 -18797.272278  -5891.885535      -.004147                    
+P 17  10904.622991 -15076.118969  18821.346472    207.032654                    
+V 17  23707.047195  -2602.915225 -16691.266056       .195215                    
+P 18 -19624.735964 -17935.995060  -2163.364276    -15.407306                    
+V 18   -131.805896  -3737.159340  31538.019918      -.026695                    
+P 20  10457.588477  21172.870234 -12228.922179   -184.136887                    
+V 20 -12839.868591  -8813.246342 -26380.782530       .027641                    
+P 21 -18926.724610  -7727.486405  17113.127803     73.083991                    
+V 21  20635.993391  -6889.112571  19265.429992       .004814                    
+P 22 -21159.893906  -8677.472711 -13302.905414    -40.218858                    
+V 22 -10231.368695 -13990.216478  25131.103936       .088180                    
+P 24  21510.081334 -12367.769348   9874.167217      8.121492                    
+V 24  12220.163776   -909.437946 -28549.879930       .027774                    
+P 25 -24760.298432   9543.184869   -378.314701     61.710361                    
+V 25   -396.695813  -3478.608687 -31392.266674       .010853                    
+P 26   7894.089854 -24827.678594   2726.417708    410.169319                    
+V 26   1746.504091   4363.322772  32345.402381      -.124592                    
+P 27  16804.032810   8629.163999  19341.705739    919.877548                    
+V 27 -21621.804033   9090.511815  14600.519307       .043172                    
+P 28  21914.704023   9305.138681 -11902.385761     21.842854                    
+V 28   9554.574034  12144.792221  26374.493545       .016415                    
+P 29  10891.321356 -22568.045172   8984.235032    229.923436                    
+V 29   -211.219769  11225.083534  29372.153762       .032643                    
+P 30 -17827.095175 -19415.136182  -3922.449213    805.059650                    
+V 30   5651.012353    680.407772 -30769.621081       .142281                    
+P 31  -3647.619300  26102.512189  -1406.467681     39.614452                    
+V 31  -4034.893663    715.071859  31366.210735       .309237                    
+*  2004  2 29 22 30   .00000000                                                 
+P  1    121.634676  25589.763755   7227.679274    332.576594                    
+V  1  -3769.205925   8383.935843 -30371.097779       .019721                    
+P  3 -11807.930545  19462.831062  13401.561397     89.884512                    
+V  3  -1602.021055 -17558.441781  24141.770994       .029422                    
+P  4  25651.861678  -4652.859888  -5885.000181    -76.703862                    
+V  4  -6197.907091   4773.294996 -30380.850539      -.091904                    
+P  5  -5392.926830 -19486.829930 -17426.825242     19.764501                    
+V  5  19046.587667  11003.457183 -18158.364250       .015918                    
+P  6  -7563.591212 -21170.990259  14221.604139     -1.356141                    
+V  6   5232.695995 -17302.071994 -23410.435983      -.008751                    
+P  7  15510.308846    938.939790 -21138.368891    611.793595                    
+V  7  -2960.935594  27720.669183  -1089.539797      -.078281                    
+P  8  23422.518978   1251.025104  12560.943026    355.454372                    
+V  8 -14625.079387   7128.111685  25845.995651      -.087874                    
+P  9   5345.487612 -17403.987443 -19635.695559    -32.358375                    
+V  9  22883.693926  -7939.778795  13944.655128      -.018998                    
+P 10  11656.132137  -9379.405940  21916.914223     40.164064                    
+V 10  21282.587745  17981.965263  -3344.077382       .004622                    
+P 11  -2772.230331  18103.275182 -19201.006809     99.871751                    
+V 11 -22880.006174   9290.780618  12202.577382       .025586                    
+P 13   8374.986847  18573.269974  17043.041637    -30.904670                    
+V 13  -4951.238541  21105.971192 -20441.326002       .002147                    
+P 14 -15050.120567    668.679503 -21824.162130    -18.158738                    
+V 14   4173.020369 -27470.288868  -3699.039228      -.001287                    
+P 15 -25720.882192   3150.049940   6151.687788    232.945170                    
+V 15   7066.511556  -4506.106681  30475.409365       .052845                    
+P 16 -15579.795192   5979.804979  20736.712283     15.283204                    
+V 16 -19750.277067 -17182.375038  -9909.651643      -.004142                    
+P 17  12944.993843 -15346.764856  17159.487653    207.049647                    
+V 17  21565.886528  -3354.885240 -20188.793444       .195211                    
+P 18 -19529.219741 -18161.689676    685.393483    -15.409766                    
+V 18   2304.657260  -1326.535381  31677.919928      -.026703                    
+P 20   9182.914209  20326.388662 -14491.589968   -184.134570                    
+V 20 -15479.864024  -9919.059676 -23829.061756       .027642                    
+P 21 -16996.833634  -8422.012014  18696.358642     73.084219                    
+V 21  22169.942461  -8561.204856  15865.756207       .004814                    
+P 22 -22017.492017  -9819.313608 -10931.917374    -40.211198                    
+V 22  -8749.589200 -11389.149187  27480.431471       .088160                    
+P 24  22466.628735 -12437.073684   7228.260479      8.123576                    
+V 24   9019.522888   -557.750728 -30165.647601       .028280                    
+P 25 -24658.538281   9165.154026  -3192.203744     61.710795                    
+V 25   2626.173448  -4980.454263 -31048.087723       .010778                    
+P 26   8029.729766 -24275.643811   5604.308389    410.157816                    
+V 26   1341.160259   7900.728078  31511.535696      -.124579                    
+P 27  14817.920102   9523.214869  20494.322450    919.881997                    
+V 27 -22433.498255  10774.743685  10977.479893       .043150                    
+P 28  22699.353261  10283.220610  -9433.786565     21.843752                    
+V 28   7810.128244   9606.349144  28404.031459       .016422                    
+P 29  10875.299636 -21414.580346  11543.496611    229.926796                    
+V 29    -74.413655  14374.986825  27420.308212       .032663                    
+P 30 -17198.349491 -19269.048214  -6650.461165    805.072126                    
+V 30   8344.779724   2502.056810 -29767.155010       .142288                    
+P 31  -3988.115036  26016.371357   1420.567884     39.642372                    
+V 31  -3596.248641  -2640.186001  31364.632628       .309233                    
+*  2004  2 29 22 45   .00000000                                                 
+P  1   -174.524742  26198.402688   4440.080678    332.578645                    
+V  1  -2876.810372   5105.557765 -31487.145873       .019746                    
+P  3 -11982.565384  17768.421750  15450.789494     89.887104                    
+V  3  -2328.927478 -20037.457840  21330.365238       .029453                    
+P  4  24964.839533  -4152.587988  -8561.846349    -76.711539                    
+V  4  -9018.541024   6394.054964 -29020.458079      -.091905                    
+P  5  -3583.033127 -18491.909487 -18908.721542     19.765676                    
+V  5  21131.571969  11037.101649 -14725.851280       .016042                    
+P  6  -7142.398150 -22617.550042  11998.795294     -1.356986                    
+V  6   4172.797687 -14784.317885 -25915.625578      -.008955                    
+P  7  15303.144551   3436.690406 -21047.528343    611.786355                    
+V  7  -1637.319819  27693.299793   3104.128892      -.078280                    
+P  8  22004.314447   1973.968707  14772.796082    355.446480                    
+V  8 -16818.981366   8967.922851  23234.443577      -.087896                    
+P  9   7319.426019 -18139.447466 -18219.049701    -32.360947                    
+V  9  20925.884809  -8340.907344  17495.223720      -.018800                    
+P 10  13595.132938  -7830.519503  21427.901076     40.163404                    
+V 10  21725.905610  16390.226606  -7505.621303       .004921                    
+P 11  -4753.588408  18951.942977 -17940.202462     99.873793                    
+V 11 -21097.627834   9508.463705  15775.528395       .025597                    
+P 13   7996.651576  20375.160641  15062.033140    -30.904425                    
+V 13  -3496.091731  18861.564806 -23517.487050       .002140                    
+P 14 -14740.704057  -1824.379900 -21967.470307    -18.158929                    
+V 14   2687.449818 -27838.442331    519.096892      -.001279                    
+P 15 -24951.237692   2677.636786   8834.090659    232.949816                    
+V 15   9987.366638  -6044.992941  29047.686912       .052992                    
+P 16 -17351.686734   4514.794285  19670.113720     15.282945                    
+V 16 -19542.617490 -15343.233301 -13758.892456      -.004142                    
+P 17  14775.215686 -15668.920162  15197.355996    207.067644                    
+V 17  19049.612659  -3738.090714 -23353.398499       .195210                    
+P 18 -19201.926541 -18184.442050   3522.511139    -15.413068                    
+V 18   5006.430496    762.206272  31279.767537      -.026702                    
+P 20   7673.784927  19401.598014 -16505.949410   -184.132150                    
+V 20 -18034.157076 -10553.542581 -20870.764442       .027645                    
+P 21 -14951.063375  -9270.147335  19960.514146     73.084164                    
+V 21  23206.852501 -10287.952580  12184.599014       .004819                    
+P 22 -22721.452883 -10729.855747  -8370.864990    -40.203089                    
+V 22  -6822.838642  -8865.755664  29348.807439       .088144                    
+P 24  23131.997441 -12454.979453   4459.599440      8.127393                    
+V 24   5765.653987    232.810185 -31273.386758       .028770                    
+P 25 -24294.572128   8636.946520  -5950.739900     61.710396                    
+V 25   5416.518059  -6806.994351 -30163.217658       .010807                    
+P 26   8148.687688 -23407.812537   8381.431874    410.146709                    
+V 26   1374.759848  11362.686789  30109.313736      -.124564                    
+P 27  12780.520525  10566.875551  21312.071664    919.885343                    
+V 27 -22761.811743  12400.898767   7168.529245       .043130                    
+P 28  23308.178147  11038.478099  -6804.357100     21.845948                    
+V 28   5654.589398   7207.515719  29943.957223       .016432                    
+P 29  10890.107136 -19987.765848  13906.062364    229.929980                    
+V 29    467.821815  17284.552355  25007.760015       .032677                    
+P 30 -16322.053302 -18976.816027  -9265.436946    805.084526                    
+V 30  11137.751028   3922.605370 -28261.627753       .142295                    
+P 31  -4306.699217  25626.795602   4222.556349     39.670059                    
+V 31  -3548.831902  -6011.484145  30809.747131       .309227                    
+*  2004  2 29 23  0   .00000000                                                 
+P  1   -408.351119  26503.739712   1576.183654    332.581069                    
+V  1  -2389.142816   1659.921676 -32063.804714       .019780                    
+P  3 -12235.296093  15867.501509  17229.886680     89.890790                    
+V  3  -3327.372142 -22136.490464  18147.834367       .029492                    
+P  4  24038.707521  -3493.858049 -11093.894045    -76.720077                    
+V  4 -11500.156905   8283.451995 -27167.375085      -.091909                    
+P  5  -1597.923471 -17511.966226 -20069.929868     19.765642                    
+V  5  22927.521773  10677.428051 -11041.862213       .016196                    
+P  6  -6803.425686 -23822.534854   9569.979596     -1.357735                    
+V  6   3414.506663 -11945.865220 -27981.457152      -.009141                    
+P  7  15215.238002   5907.304747 -20581.519336    611.779642                    
+V  7   -325.436743  27118.953698   7234.740718      -.078278                    
+P  8  20408.725894   2869.507966  16730.870997    355.438536                    
+V  8 -18559.313466  10949.337881  20214.086156      -.087924                    
+P  9   9103.211266 -18893.322403 -16494.865191    -32.361868                    
+V  9  18670.547764  -8341.588594  20768.897802      -.018521                    
+P 10  15551.780291  -6436.398469  20570.068392     40.163515                    
+V 10  21669.324326  14557.607787 -11528.399699       .005334                    
+P 11  -6561.434107  19803.389961 -16369.488932     99.876427                    
+V 11 -19036.553563   9346.355406  19079.390512       .025604                    
+P 13   7737.400639  21955.928191  12822.095527    -30.904270                    
+V 13  -2316.842600  16203.522679 -26187.161882       .002130                    
+P 14 -14567.769012  -4325.406857 -21730.982635    -18.159293                    
+V 14   1155.621210 -27646.131041   4728.636657      -.001271                    
+P 15 -23933.178393   2053.356370  11365.171684    232.953587                    
+V 15  12574.555921  -7869.910755  27116.933730       .053258                    
+P 16 -19082.377377   3222.109247  18267.136290     15.282913                    
+V 16 -18832.601880 -13367.990893 -17374.108692      -.004140                    
+P 17  16365.108367 -16007.073208  12967.699763    207.085618                    
+V 17  16239.829734  -3703.619603 -26124.080840       .195199                    
+P 18 -18622.477563 -18035.828259   6299.808089    -15.415949                    
+V 18   7894.062482   2473.627844  30350.446041      -.026695                    
+P 20   5942.151466  18440.615662 -18237.651413   -184.129635                    
+V 20 -20409.081414 -10726.470741 -17556.786189       .027643                    
+P 21 -12835.025989 -10272.790929  20882.965704     73.085057                    
+V 21  23730.166459 -11979.586551   8282.896221       .004834                    
+P 22 -23233.511112 -11420.177772  -5664.504850    -40.195367                    
+V 22  -4493.570593  -6509.652365  30705.061052       .088128                    
+P 24  23505.756046 -12382.250500   1614.963024      8.131089                    
+V 24   2555.359178   1453.323927 -31851.003509       .029091                    
+P 25 -23692.846173   7931.958162  -8605.681665     61.713297                    
+V 25   7897.899069  -8897.644004 -28748.638975       .011238                    
+P 26   8289.886652 -22235.879843  11007.669360    410.136665                    
+V 26   1831.029395  14640.860847  28163.612462      -.124549                    
+P 27  10735.017989  11751.083856  21780.831158    919.889449                    
+V 27 -22616.514412  13884.063574   3232.112152       .043103                    
+P 28  23706.362360  11587.223720  -4059.260928     21.847487                    
+V 28   3138.958353   5029.982918  30971.287966       .016439                    
+P 29  10970.351187 -18313.133744  16032.361376    229.932884                    
+V 29   1370.997782  19868.729459  22177.685007       .032688                    
+P 30 -15193.225041 -18575.755717 -11723.278193    805.097515                    
+V 30  13941.627480   4917.861865 -26280.491914       .142299                    
+P 31  -4638.544125  24936.791641   6949.895701     39.697919                    
+V 31  -3888.782512  -9299.935596  29707.664809       .309215                    
+*  2004  2 29 23 15   .00000000                                                 
+P  1   -617.379314  26495.134114  -1314.845737    332.584288                    
+V  1  -2327.801191  -1854.094787 -32088.827299       .019513                    
+P  3 -12587.658413  13797.049606  18707.969467     89.893156                    
+V  3  -4531.031512 -23796.171948  14651.147814       .029392                    
+P  4  22906.828322  -2655.674872 -13438.072620    -76.728284                    
+V  4 -13581.700380  10368.902398 -24851.167883      -.091914                    
+P  5    533.088487 -16580.348352 -20890.548558     19.766458                    
+V  5  24362.771754   9972.327578  -7167.713126       .016548                    
+P  6  -6517.327203 -24760.518768   6976.454413     -1.358488                    
+V  6   3004.349558  -8864.806786 -29570.179235      -.009277                    
+P  7  15241.605837   8302.203882 -19749.437531    611.772633                    
+V  7    887.946639  26015.295540  11226.720972      -.078276                    
+P  8  18678.381598   3946.436634  18400.540264    355.431132                    
+V  8 -19808.792719  12983.483390  16834.253782      -.087957                    
+P  9  10673.571540 -19627.804088 -14490.697344    -32.364211                    
+V  9  16197.007262  -7905.185580  23707.735557      -.018248                    
+P 10  17479.898918  -5214.614297  19359.004387     40.163495                    
+V 10  21089.621986  12576.289023 -15344.140023       .005816                    
+P 11  -8174.143815  20621.993564 -14515.727872     99.878621                    
+V 11 -16774.848709   8775.011366  22056.250090       .025609                    
+P 13   7569.384919  23281.629438  10361.901236    -30.903911                    
+V 13  -1478.248214  13207.023532 -28405.185462       .002119                    
+P 14 -14531.281117  -6783.926510 -21118.767594    -18.158968                    
+V 14   -329.241885 -26895.895592   8856.491564      -.001264                    
+P 15 -22699.855809   1254.636518  13700.932758    232.959167                    
+V 15  14760.965579  -9908.333083  24712.932259       .053474                    
+P 16 -20726.363803   2109.894465  16551.649800     15.282369                    
+V 16 -17616.830177 -11348.118476 -20693.635530      -.004140                    
+P 17  17692.341543 -16322.075298  10508.493384    207.103202                    
+V 17  13228.828054  -3219.917668 -28445.951888       .195186                    
+P 18 -17778.056753 -17751.714894   8970.114674    -15.417381                    
+V 18  10879.455368   3768.103369  28905.507431      -.026679                    
+P 20   4008.205936  17483.865428 -19657.198946   -184.126868                    
+V 20 -22515.745371 -10465.552461 -13943.901392       .027641                    
+P 21 -10695.014679 -11422.700141  21446.779202     73.085992                    
+V 21  23741.369299 -13545.553572   4226.097673       .004837                    
+P 22 -23519.965148 -11909.041737  -2859.983200    -40.188073                    
+V 22  -1820.424191  -4401.417854  31527.321443       .088108                    
+P 24  23596.113873 -12181.283545  -1257.262436      8.134162                    
+V 24   -516.739414   3076.490572 -31884.959637       .029272                    
+P 25 -22884.166954   7029.650398 -11110.217872     61.714300                    
+V 25  10005.887093 -11178.606312 -26825.156180       .011212                    
+P 26   8489.896803 -20781.046134  13435.649616    410.124521                    
+V 26   2674.145393  17633.095660  25710.504711      -.124537                    
+P 27   8723.008347  13059.265722  21891.851516    919.893504                    
+V 27 -22023.031978  15142.722690   -770.917682       .043071                    
+P 28  23864.326126  11952.650236  -1245.342803     21.848914                    
+V 28    328.236185   3144.497851  31471.662515       .016447                    
+P 29  11145.942610 -16423.381144  17886.999078    229.935932                    
+V 29   2575.605071  22053.810318  18979.568868       .032699                    
+P 30 -13814.940579 -18104.583077 -13982.697556    805.110037                    
+V 30  16666.204054   5480.968922 -23858.659099       .142305                    
+P 31  -5017.664766  23958.204608   9554.010991     39.725673                    
+V 31  -4594.304807 -12408.671445  28075.102732       .309198                    
+*  2004  2 29 23 30   .00000000                                                 
+P  1   -840.251938  26171.010341  -4183.163552    332.586261                    
+V  1  -2695.701226  -5334.546243 -31559.445334       .019181                    
+P  3 -13054.771854  11598.702206  19859.539115     89.896216                    
+V  3  -5864.148249 -24972.705482  10902.798150       .029263                    
+P  4  21607.407141  -1624.038780 -15554.320405    -76.735613                    
+V  4 -15216.937872  12568.011299 -22109.067217      -.091920                    
+P  5   2774.731991 -15725.496739 -21356.348627     19.768719                    
+V  5  25377.028542   8982.600454  -3167.990102       .016894                    
+P  6  -6251.245713 -25413.523711   4262.565198     -1.359113                    
+V  6   2973.522562  -5628.057232 -30651.932729      -.009507                    
+P  7  15369.648676  10575.257794 -18567.038428    611.766141                    
+V  7   1920.960991  24418.870778  15007.907563      -.078276                    
+P  8  16858.470112   5205.310245  19751.934810    355.423200                    
+V  8 -20548.003159  14976.755443  13151.234615      -.087995                    
+P  9  12014.714172 -20302.527350 -12239.135376    -32.367002                    
+V  9  13591.647435  -7011.769983  26257.996699      -.017926                    
+P 10  19332.069578  -4174.256122  17816.263405     40.164822                    
+V 10  19982.461437  10541.961167 -18888.709218       .006348                    
+P 11  -9577.396731  21370.196959 -12410.752191     99.881102                    
+V 11 -14396.207414   7781.067293  24653.720379       .025615                    
+P 13   7459.588401  24325.636955   7723.839747    -30.904093                    
+V 13  -1029.994848   9958.953232 -30134.231723       .002109                    
+P 14 -14622.887609  -9150.572256 -20141.417247    -18.159189                    
+V 14  -1676.136865 -25609.747573  12830.996643      -.001257                    
+P 15 -21289.816206    265.948470  15800.444580    232.964959                    
+V 15  16494.215851 -12076.752968  21874.035314       .053554                    
+P 16 -22238.667528   1178.045436  14552.862709     15.282040                    
+V 16 -15910.355352  -9374.863742 -23660.666705      -.004138                    
+P 17  18743.241367 -16572.788466   7862.321279    207.120908                    
+V 17  10116.056899  -2274.567000 -30271.692255       .195172                    
+P 18 -16664.046439 -17370.769240  11488.042437    -15.419988                    
+V 18  13869.077080   4623.199250  26968.932098      -.026669                    
+P 20   1899.798367  16568.514302 -20740.433471   -184.124341                    
+V 20 -24273.404622  -9815.193300 -10093.802552       .027638                    
+P 21  -8576.373308 -12704.581706  21641.076986     73.086177                    
+V 21  23260.020682 -14898.103510     83.165005       .004844                    
+P 22 -23553.036902 -12221.938504     -5.985166    -40.179889                    
+V 22   1124.030563  -2609.532627  31803.291735       .088092                    
+P 24  23419.565797 -11817.734064  -4107.875307      8.137185                    
+V 24  -3361.718510   5057.376222 -31370.744196       .029250                    
+P 25 -21904.499835   5916.619986 -13419.848854     61.715352                    
+V 25  11690.662017 -13565.618940 -24423.295906       .011190                    
+P 26   8781.240406 -19073.266485  15621.722485    410.113832                    
+V 26   3850.313829  20247.673614  22796.445766      -.124530                    
+P 27   6783.123417  14467.775240  21641.945922    919.896839                    
+V 27 -21021.628385  16101.724367  -4777.906783       .043039                    
+P 28  23758.880609  12163.729999   1589.649608     21.850598                    
+V 28  -2700.996149   1608.376395  31439.372108       .016453                    
+P 29  11440.850926 -14357.231119  19439.285028    229.938589                    
+V 29   4009.572302  23779.973996  15468.309376       .032711                    
+P 30 -12198.356123 -17601.848261 -16005.861168    805.122073                    
+V 30  19222.669772   5622.413038 -21037.846918       .142315                    
+P 31  -5475.332898  22711.360957  11988.305890     39.754174                    
+V 31  -5626.424451 -15246.723638  25939.271036       .309176                    
+*  2004  2 29 23 45   .00000000                                                 
+P  1  -1115.021239  25538.963547  -6979.111733    332.587458                    
+V  1  -3476.829283  -8680.224696 -30482.578598       .018851                    
+P  3 -13644.631284   9317.273936  20664.923593     89.898584                    
+V  3  -7244.708100 -25639.465389   6969.561983       .029099                    
+P  4  20182.078624   -392.694300 -17406.254191    -76.743978                    
+V  4 -16376.123586  14791.614320 -18985.498265      -.091929                    
+P  5   5086.910061 -14969.887291 -21459.024808     19.769547                    
+V  5  25923.683829   7779.567418    890.420529       .017227                    
+P  6  -5970.261589 -25771.673071   1474.963295     -1.359946                    
+V  6   3336.483636  -2328.179644 -31205.438785      -.009779                    
+P  7  15579.751482  12684.416307 -17056.362419    611.759457                    
+V  7   2700.122993  22383.461431  18511.031215      -.078279                    
+P  8  14995.089628   6638.184197  20760.534084    355.415409                    
+V  8 -20776.225759  16834.492954   9227.444239      -.088029                    
+P  9  13118.822668 -20876.134286  -9777.374575    -32.369680                    
+V  9  10944.787833  -5659.364714  28371.250796      -.017531                    
+P 10  21061.340608  -3315.784053  15968.947771     40.164871                    
+V 10  18362.534143   8550.063655 -22103.108200       .006876                    
+P 11 -10764.536779  22009.993812 -10090.823624     99.883489                    
+V 11 -11986.710000   6367.964747  26825.925190       .025618                    
+P 13   7371.276925  25069.549629   4953.284536    -30.903710                    
+V 13  -1004.750847   6554.662925 -31345.401864       .002098                    
+P 14 -14826.284774 -11378.806447 -18815.861536    -18.159328                    
+V 14  -2799.979427 -23828.341453  16583.184131      -.001248                    
+P 15 -19745.577641   -920.343117  17626.599049    232.970225                    
+V 15  17738.718279 -14283.827334  18646.715948       .053612                    
+P 16 -23576.482533    418.388583  12304.841222     15.281857                    
+V 16 -13746.275972  -7535.709025 -26224.211691      -.004140                    
+P 17  19513.259977 -16717.858546   5075.634658    207.139064                    
+V 17   7004.183954   -875.275005 -31562.906451       .195148                    
+P 18 -15284.363590 -16932.873627  13810.727487    -15.422446                    
+V 18  16767.382254   5034.416977  24572.772185      -.026664                    
+P 20   -348.437207  15727.049086 -21468.931723   -184.121539                    
+V 20 -25612.526908  -8834.632450  -6072.071332       .027634                    
+P 21  -6521.894094 -14095.504629  21461.304560     73.086633                    
+V 21  22323.096735 -15955.840698  -4074.543767       .004850                    
+P 22 -23312.003729 -12389.880258   2848.132042    -40.171599                    
+V 22   4256.078461  -1187.836883  31530.331778       .088076                    
+P 24  23000.226175 -11262.043551  -6887.687567      8.139418                    
+V 24  -5899.721023   7334.856200 -30313.215599       .029279                    
+P 25 -20793.557357   4587.397892 -15493.248294     61.716508                    
+V 25  12919.063213 -15967.206449 -21582.974924       .011173                    
+P 26   9190.877036 -17150.136770  17526.845006    410.102896                    
+V 26   5290.177861  22407.097863  19477.152296      -.124528                    
+P 27   4949.750910  15946.595781  21033.622470    919.901018                    
+V 27 -19666.094225  16695.102533  -8725.072728       .043007                    
+P 28  23374.146217  12253.913910   4397.841290     21.851976                    
+V 28  -5863.387176    463.547643  30877.271380       .016459                    
+P 29  11872.100706 -12158.088185  20663.678367    229.941627                    
+V 29   5591.148792  25003.296688  11703.287179       .032722                    
+P 30 -10362.436754 -17104.398160 -17758.969281    805.135276                    
+V 30  21526.829599   5369.403283 -17865.860296       .142327                    
+P 31  -6038.593967  21224.369124  14209.091442     39.782475                    
+V 31  -6930.513879 -17732.717204  23337.478564       .309148                    
+EOF
diff --git a/trunk/tests/data/nga12601.apc b/trunk/tests/data/nga12601.apc
new file mode 100644
index 0000000..50975a0
--- /dev/null
+++ b/trunk/tests/data/nga12601.apc
@@ -0,0 +1,5303 @@
+#aV2004  3  1  0  0   .00000000      96 DD+AD WGS84 FIT  NGA
+## 1260  86400.00000000   900.00000000 53065  .0000000000000
++   27     1  3  4  5  6  7  8  9 10 11 13 14 15 16 17 18 20
++         21 22 24 25 26 27 28 29 30 31  0  0  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
++          0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+++         0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
+%f  0.0000000  0.000000000  0.00000000000  0.000000000000000
+%f  0.0000000  0.000000000  0.00000000000  0.000000000000000
+%i    0    0    0    0      0      0      0      0         0
+%i    0    0    0    0      0      0      0      0         0
+/*      NGA, ST. LOUIS,MO.                                  
+/*   EPHEMERIS COMPUTED FROM  3 DAYS OF DATA
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+*  2004  3  1  0  0   .00000000                                                 
+P  1  -1477.462541  24615.520801  -9654.092934    332.587619                    
+V  1  -4636.747702 -11794.481268 -28874.867777       .018615                    
+P  3 -14357.696288   6999.166490  21110.604716     89.900549                    
+V  3  -8587.856412 -25787.899206   2921.192797       .029019                    
+P  4  18674.369840   1036.408642 -18961.791358    -76.752293                    
+V  4 -17047.076638  16947.106246 -15531.497948      -.091901                    
+P  5   7426.017421 -14329.206909 -21196.357120     19.770918                    
+V  5  25971.645784   6442.282618   4939.349133       .017613                    
+P  6  -5638.938257 -25833.546882  -1338.192207     -1.361167                    
+V  6   4090.193441    940.051750 -31218.550801      -.010038                    
+P  7  15846.180089  14593.159724 -15245.234414    611.752095                    
+V  7   3163.404529  19977.742299  21675.015668      -.078231                    
+P  8  13133.554904   8228.689043  21407.673929    355.407372                    
+V  8 -20511.545066  18464.772993   5130.430024      -.088093                    
+P  9  13986.260585 -21307.921758  -7146.688062    -32.370830                    
+V  9   8347.312320  -3864.538178  30005.495469      -.017013                    
+P 10  22622.920026  -2631.219159  13849.205334     40.167157                    
+V 10  16262.988489   6692.087152 -24934.349173       .007386                    
+P 11 -11736.637178  22504.448659  -7596.006549     99.885710                    
+V 11  -9631.479772   4556.013333  28534.372982       .025693                    
+P 13   7265.592622  25503.796626   2097.813563    -30.903721                    
+V 13  -1416.886052   3094.419740 -32018.666854       .002150                    
+P 14 -15117.908665 -13426.533734 -17165.069979    -18.159062                    
+V 14  -3625.065277 -21609.424744  20048.007690      -.001204                    
+P 15 -18112.049133  -2303.430975  19146.813134    232.973584                    
+V 15  18477.112348 -16433.898596  15084.937811       .053621                    
+P 16 -24700.755328   -184.825246   9845.945846     15.281225                    
+V 16 -11174.645922  -5910.968901 -28339.970793      -.004087                    
+P 17  20007.077933 -16717.538341   2197.893491    207.156163                    
+V 17   3994.909671    950.011924 -32291.309095       .195124                    
+P 18 -13651.483309 -16477.502743  15898.536669    -15.424435                    
+V 18  19480.320470   5015.270762  21756.681594      -.026637                    
+P 20  -2696.214405  14986.046344 -21830.307417   -184.119114                    
+V 20 -26477.436488  -7595.523655  -1947.096833       .027705                    
+P 21  -4570.305533 -15565.625800  20909.392159     73.087161                    
+V 21  20983.646265 -16647.098668  -8174.492453       .004880                    
+P 22 -22784.060250 -12447.991049   5653.205039    -40.164056                    
+V 22   7484.055879   -173.598597  30715.357085       .088098                    
+P 24  22368.871584 -10490.806567  -9548.377790      8.141876                    
+V 24  -8063.036922   9833.725008 -28726.790946       .029282                    
+P 25 -19593.231983   3044.937319 -17293.084305     61.717970                    
+V 25  13675.981602 -18288.312851 -18352.925840       .011148                    
+P 26   9738.938237 -15055.467569  19117.354515    410.091394                    
+V 26   6911.930555  24051.218949  15816.221276      -.124540                    
+P 27   3251.893927  17460.285396  20075.152792    919.904996                    
+V 27 -18021.961108  16868.667896 -12548.249902       .043027                    
+P 28  22702.204479  12259.680477   7131.992536     21.853693                    
+V 28  -9067.907267   -264.814933  29796.582351       .016544                    
+P 29  12449.042380  -9872.539083  21540.148739    229.944616                    
+V 29   7232.102461  25697.172087   7747.419066       .032703                    
+P 30  -8333.402666 -16645.921978 -19212.769704    805.148254                    
+V 30  23502.138826   4764.651826 -14395.819216       .142357                    
+P 31  -6728.954081  19532.103170  16176.466645     39.810241                    
+V 31  -8438.532661 -19798.193901  20316.457078       .309226                    
+*  2004  3  1  0 15   .00000000                                                 
+P  1  -1959.466899  23425.563364 -12161.439706    332.588996                    
+V  1  -6123.846511 -14588.911471 -26762.519776       .018512                    
+P  3 -15186.793359   4690.728683  21189.425775     89.902542                    
+V  3  -9809.408559 -25427.703043  -1170.920568       .028874                    
+P  4  17128.094819   2652.961739 -20193.714453    -76.760586                    
+V  4 -17235.620335  18941.942537 -11804.018241      -.091911                    
+P  5   9746.399081 -13811.794455 -20572.279171     19.773014                    
+V  5  25506.618697   5054.443748   8910.398888       .017998                    
+P  6  -5222.905061 -25606.220657  -4128.075445     -1.363704                    
+V  6   5214.051040   4083.221037 -30688.647766      -.010281                    
+P  7  16138.230151  16271.711673 -13166.655873    611.746464                    
+V  7   3262.755162  17282.363470  24446.067105      -.078239                    
+P  8  11316.728181   9952.447163  21680.957790    355.399633                    
+V  8 -19790.206618  19782.175425    931.720112      -.088132                    
+P  9  14625.465468 -21559.510682  -4391.798682    -32.372941                    
+V  9   5887.169090  -1662.287581  31126.250204      -.016505                    
+P 10  23975.785296  -2104.658317  11493.653594     40.167857                    
+V 10  13734.177527   5052.076088 -27336.210165       .007712                    
+P 11 -12502.264628  22819.192558  -4969.468865     99.888026                    
+V 11  -7411.373094   2381.780737  29748.700015       .025691                    
+P 13   7103.231888  25627.913156   -793.603190    -30.903952                    
+V 13  -2261.902434   -320.313789 -32143.159692       .002136                    
+P 14 -15467.921565 -15257.544619 -15217.646286    -18.159197                    
+V 14  -4088.158385 -19025.627931  23165.493655      -.001201                    
+P 15 -16434.851378  -3873.845402  20333.667833    232.977091                    
+V 15  18711.005267 -18430.763654  11249.344084       .053721                    
+P 16 -25577.637422   -654.132069   7218.193343     15.280916                    
+V 16  -8260.737135  -4570.656820 -29971.112760      -.004092                    
+P 17  20238.326163 -16535.479936   -719.388329    207.173534                    
+V 17   1184.730567   3153.912431 -32439.678565       .195104                    
+P 18 -11786.147429 -16042.124168  17715.726344    -15.426910                    
+V 18  21918.807169   4596.694345  18567.335688      -.026636                    
+P 20  -5098.941415  14365.181867 -21818.413695   -184.116424                    
+V 20 -26828.441766  -6179.052638   2211.043659       .027704                    
+P 21  -2754.911023 -17079.206125  19993.802666     73.087272                    
+V 21  19308.794604 -16912.997265 -12144.269748       .004880                    
+P 22 -21964.878861 -12433.953635   8361.113180    -40.155891                    
+V 22  10711.825684    413.742463  29374.565937       .088083                    
+P 24  21561.724213  -9487.920011 -12043.353503      8.145760                    
+V 24  -9798.766179  12467.412985 -26635.460574       .029350                    
+P 25 -18345.936216   1300.763257 -18786.777934     61.718934                    
+V 25  13965.011500 -20434.163833 -14789.880229       .011076                    
+P 26  10437.768266 -12837.611871  20365.608025    410.080492                    
+V 26   8624.970562  25139.556454  11883.548383      -.124542                    
+P 27   1712.211354  18969.141558  18780.569920    919.908589                    
+V 27 -16164.275208  16582.279373 -16183.720678       .042993                    
+P 28  21743.463133  12218.989350   9746.239509     21.855367                    
+V 28 -12221.112867   -569.040941  28216.602974       .016550                    
+P 29  13172.920821  -7548.753535  22054.451724    229.947534                    
+V 29   8841.117012  25853.106406   3666.204262       .032706                    
+P 30  -6143.914458 -16255.631420 -20342.999859    805.161347                    
+V 30  25082.450052   3864.606435 -10685.342446       .142366                    
+P 31  -7561.297361  17674.910166  17855.125869     39.838459                    
+V 31 -10071.888743 -21390.403301  16931.417347       .309192                    
+*  2004  3  1  0 30   .00000000                                                 
+P  1  -2587.578749  22001.429052 -14457.261457    332.590412                    
+V  1  -7871.304667 -16986.752307 -24180.958167       .018398                    
+P  3 -16117.332741   2436.633399  20900.678239     89.906343                    
+V  3 -10829.308055 -24586.273170  -5235.097419       .028818                    
+P  4  15585.739214   4438.463716 -21080.167896    -76.768714                    
+V  4 -16965.356084  20687.190475  -7865.115788      -.091924                    
+P  5  12001.896803 -13418.369883 -19596.849856     19.775846                    
+V  5  24531.777439   3701.108095  12736.030582       .018225                    
+P  6  -4690.414144 -25104.982378  -6846.062002     -1.365482                    
+V  6   6670.541998   7012.829626 -29622.848809      -.010213                    
+P  7  16421.574917  17697.969010 -10858.108784    611.739191                    
+V  7   2965.983200  14386.607087  26778.534336      -.078253                    
+P  8   9583.441658  11777.820923  21574.557863    355.391735                    
+V  8 -18665.230317  20711.358774  -3294.466016      -.088169                    
+P  9  15052.526619 -21596.471434  -1560.155164    -32.373303                    
+V  9   3645.877880    894.827300  31707.584178      -.015908                    
+P 10  25084.151634  -1713.089763   8942.741446     40.169430                    
+V 10  10841.783578   3703.460529 -29269.866294       .007934                    
+P 11 -13076.952079  22923.834312  -2256.722622     99.890647                    
+V 11  -5399.836569   -103.169632  30447.263325       .025690                    
+P 13   6846.141685  25450.478972  -3671.435906    -30.903774                    
+V 13  -3516.594164  -3590.630551 -31717.315580       .002124                    
+P 14 -15841.454928 -16842.733643 -13007.323512    -18.159154                    
+V 14  -4141.083634 -16161.681644  25881.797730      -.001192                    
+P 15 -14758.604309  -5613.578782  21165.466243    232.981912                    
+V 15  18460.964294 -20181.542329   7206.269638       .054028                    
+P 16 -26179.754487  -1017.801006   4466.553851     15.280719                    
+V 16  -5082.716169  -3571.740495 -31088.940685      -.004100                    
+P 17  20228.932032 -16140.413281  -3623.670905    207.190517                    
+V 17  -1339.139296   5671.324581 -32002.521156       .195084                    
+P 18  -9716.766890 -15660.681876  19231.044341    -15.429398                    
+V 18  24002.032447   3825.796664  15057.745253      -.026626                    
+P 20  -7509.233433  13876.516019 -21433.443917   -184.113806                    
+V 20 -26643.368872  -4672.700035   6331.726416       .027697                    
+P 21  -1102.434177 -18595.882305  18729.459418     73.087661                    
+V 21  17377.157479 -16710.046609 -15912.952797       .004888                    
+P 22 -20858.850357 -12386.374849  10925.595898    -40.147915                    
+V 22  13842.389603    573.120164  27533.010824       .088069                    
+P 24  20619.018812  -8245.463833 -14328.606202      8.147248                    
+V 24 -11070.942842  15141.220775 -24072.609498       .029234                    
+P 25 -17092.919688   -625.229562 -19947.177481     61.719719                    
+V 25  13808.312272 -22314.189185 -10957.519750       .010954                    
+P 26  11291.310957 -10547.624153  21250.472594    410.069207                    
+V 26  10333.912875  25652.716689   7753.613731      -.124547                    
+P 27    346.276608  20430.552887  17169.586970    919.912022                    
+V 27 -14174.978487  15811.706685 -19569.138272       .042963                    
+P 28  20506.723735  12169.696304  12196.804866     21.856587                    
+V 28 -15230.469876   -459.076488  26164.331757       .016557                    
+P 29  14036.754040  -5234.842529  22198.318231    229.950290                    
+V 29  10327.271716  25480.873040   -473.228680       .032712                    
+P 30  -3832.027688 -15957.122618 -21130.753373    805.173178                    
+V 30  26214.383029   2737.202011  -6795.695551       .142379                    
+P 31  -8543.084096  15697.095566  19215.070441     39.866623                    
+V 31 -11744.791417 -22474.422087  13244.863563       .309154                    
+*  2004  3  1  0 45   .00000000                                                 
+P  1  -3381.739491  20381.727382 -16501.250722    332.592823                    
+V  1  -9799.691226 -18925.846893 -21174.278450       .018240                    
+P  3 -17127.828810    278.335318  20250.068484     89.909734                    
+V  3 -11574.890782 -23307.468102  -9200.679908       .028592                    
+P  4  14086.895678   6366.702645 -21605.076766    -76.776981                    
+V  4 -16276.767102  22100.999993  -3781.030317      -.091936                    
+P  5  14147.428106 -13142.062808 -18286.126710     19.777650                    
+V  5  23067.803858   2465.331221  16350.665186       .018401                    
+P  6  -4013.806979 -24352.735110  -9444.608005     -1.364309                    
+V  6   8406.587587   9648.697996 -28038.032797      -.010139                    
+P  7  16659.750985  18858.117709  -8360.793075    611.731921                    
+V  7   2257.935991  11384.778551  28635.532439      -.078268                    
+P  8   7967.076832  13666.968235  21089.394946    355.383319                    
+V  8 -17204.318835  21190.288785  -7472.621014      -.088205                    
+P  9  15290.454746 -21389.837019   1298.879591    -32.374693                    
+V  9   1695.191703   3738.306756  31733.031454      -.015556                    
+P 10  25918.746503  -1427.476144   6240.059773     40.171010                    
+V 10   7664.394981   2706.293095 -30704.388546       .008059                    
+P 11 -13482.401084  22793.230297    495.181382     99.893159                    
+V 11  -3660.060145  -2834.146513  30617.568067       .025686                    
+P 13   6459.169025  24988.723245  -6486.432643    -30.903592                    
+V 13  -5139.926749  -6623.818419 -30748.860362       .002114                    
+P 14 -16200.059413 -18161.045367 -10572.369087    -18.159428                    
+V 14  -3752.720918 -13111.171982  28150.146695      -.001187                    
+P 15 -13125.249793  -7496.557320  21626.695040    232.987827                    
+V 15  17765.741642 -21600.486514   3026.587612       .054309                    
+P 16 -26487.243094  -1308.554807   1638.193428     15.280169                    
+V 16  -1728.817400  -2955.894156 -31673.431421      -.004106                    
+P 17  20008.113469 -15507.631775  -6462.461382    207.208353                    
+V 17  -3502.478697   8421.988944 -30986.401144       .195067                    
+P 18  -7478.538342 -15362.219649  20418.265346    -15.431802                    
+V 18  25660.488027   2764.004256  11286.468391      -.026621                    
+P 20  -9878.533922  13524.082288 -20681.929041   -184.111125                    
+V 20 -25918.444581  -3166.769583  10344.930585       .027693                    
+P 21    367.879760 -20072.148038  17137.549554     73.088815                    
+V 21  15275.755079 -16012.176347 -19412.501749       .004899                    
+P 22 -19478.998429 -12343.134549  13303.024980    -40.140397                    
+V 22  16781.497458    321.668002  25224.031172       .088055                    
+P 24  19583.406930  -6764.271589 -16363.541120      8.149573                    
+V 24 -11862.014942  17755.955595 -21080.631111       .029254                    
+P 25 -15872.634487  -2705.327803 -20753.128873     61.719827                    
+V 25  13245.669101 -23845.826963  -6925.217451       .010878                    
+P 26  12294.866262  -8237.334288  21757.658263    410.057446                    
+V 26  11942.751130  25592.860329   3503.705587      -.124548                    
+P 27   -837.912528  21800.496591  15267.428892    919.916105                    
+V 27 -12139.962448  14549.998482 -22644.541462       .042932                    
+P 28  19008.951873  12147.986249  14442.670969     21.858211                    
+V 28 -18007.624940     38.032092  23674.016016       .016563                    
+P 29  15025.524587  -2977.231115  21969.558502    229.953167                    
+V 29  11603.486163  24608.030757  -4603.069726       .032729                    
+P 30  -1439.953834 -15767.458718 -21562.768908    805.185705                    
+V 30  26859.242244   1459.209393  -2790.908067       .142395                    
+P 31  -9673.866894  13645.252277  20232.203845     39.895033                    
+V 31 -13367.938684 -23034.496536   9325.205352       .309112                    
+*  2004  3  1  1  0   .00000000                                                 
+P  1  -4354.290422  18609.912202 -18257.431969    332.595414                    
+V  1 -11820.108816 -20361.048009 -17794.512261       .018114                    
+P  3 -18190.700626  -1747.331141  19249.568588     89.911741                    
+V  3 -11983.826418 -21649.742655 -12999.291853       .028292                    
+P  4  12666.809366   8404.542142 -21758.477812    -76.785790                    
+V  4 -15225.671055  23111.863012    378.842671      -.091943                    
+P  5  16140.539088 -12968.742708 -16661.939688     19.779040                    
+V  5  21152.272679   1424.851908  19691.789387       .018485                    
+P  6  -3170.829581 -23379.106025 -11878.121674     -1.365082                    
+V  6  10355.551327  11922.065149 -25960.652092      -.009981                    
+P  7  16815.717797  19746.918108  -5718.818318    611.725215                    
+V  7   1140.956275   8372.495283  29989.333973      -.078285                    
+P  8   6494.361245  15577.167426  20233.187943    355.375495                    
+V  8 -15487.133439  21172.971472 -11527.435839      -.088242                    
+P  9  15368.163720 -20917.437142   4134.915625    -32.376024                    
+V  9     94.068101   6786.062211  31196.343747      -.015155                    
+P 10  26457.844978  -1214.060711   3431.613659     40.171391                    
+V 10   4290.640654   2105.081255 -31617.118413       .008039                    
+P 11 -13745.445664  22408.561639   3238.489527     99.895592                    
+V 11  -2242.542995  -5735.730736  30256.517320       .025685                    
+P 13   5911.600159  24267.812004  -9190.449391    -30.903718                    
+V 13  -7074.599386  -9336.752826 -29254.650014       .002104                    
+P 14 -16503.304443 -19200.112340  -7954.910940    -18.159814                    
+V 14  -2910.322972  -9972.962535  29931.647921      -.001185                    
+P 15 -11572.478292  -9489.446529  21708.375452    232.992487                    
+V 15  16680.744966 -22612.566099  -1215.590443       .054319                    
+P 16 -26488.514197  -1562.114004  -1218.325676     15.279770                    
+V 16   1705.883252  -2747.836993 -31713.636197      -.004107                    
+P 17  19611.063145 -14620.212964  -9184.400494    207.226191                    
+V 17  -5247.204443  11313.787176 -29409.909056       .195054                    
+P 18  -5112.305160 -15169.696965  21256.651107    -15.434191                    
+V 18  26838.599858   1484.654383   7316.726695      -.026617                    
+P 20 -12158.784869  13303.793839 -19576.631887   -184.109094                    
+V 20 -24668.495933  -1750.811241  14182.380176       .027687                    
+P 21   1644.866596 -21462.987990  15245.201826     73.089700                    
+V 21  13096.543285 -14812.087248 -22579.150057       .004893                    
+P 22 -17846.574695 -12339.781748  15453.120343    -40.132489                    
+V 22  19441.116296   -306.152213  22488.567186       .088042                    
+P 24  18498.260008  -5054.160829 -18111.762536      8.153917                    
+V 24 -12173.598757  20211.829204 -17710.325854       .029391                    
+P 25 -14719.220300  -4904.880959 -21189.924453     61.721660                    
+V 25  12332.781320 -24958.030377  -2766.602016       .010868                    
+P 26  13435.220470  -5957.422118  21879.890851    410.046429                    
+V 26  13358.970033  24983.227547   -787.849054      -.124551                    
+P 27  -1840.147278  23035.133901  13104.568852    919.919983                    
+V 27 -10145.877626  12808.276192 -25353.453980       .042903                    
+P 28  17274.759264  12186.880258  16446.209364     21.860038                    
+V 28 -20471.517453    879.258862  20786.631549       .016570                    
+P 29  16116.675055   -819.102582  21372.081082    229.956224                    
+V 29  12589.817803  23278.828019  -8655.766915       .032735                    
+P 30    987.328495 -15696.506030 -21631.638173    805.198716                    
+V 30  26994.419595    113.272870   1263.135322       .142412                    
+P 31 -10945.147240  11566.506362  20888.794802     39.923450                    
+V 31 -14852.363279 -23074.544269   5245.215830       .309067                    
+*  2004  3  1  1 15   .00000000                                                 
+P  1  -5509.278397  16732.667394 -19694.835945    332.597341                    
+V  1 -13837.754949 -21265.953147 -14100.711814       .017957                    
+P  3 -19273.318381  -3609.360817  17917.157243     89.914775                    
+V  3 -12006.624401 -19683.739854 -16566.017975       .028148                    
+P  4  11355.090449  10512.986515 -21536.753567    -76.794061                    
+V  4 -13881.065795  23661.532292   4543.075923      -.091952                    
+P  5  17942.873081 -12877.640660 -14751.565940     19.779453                    
+V  5  18838.398116    648.948326  22701.047702       .018572                    
+P  6  -2145.740177 -22219.295198 -14103.808662     -1.367340                    
+V  6  12439.829278  13778.250275 -23426.335901      -.010019                    
+P  7  16853.425891  20367.657478  -2978.370244    611.718069                    
+V  7   -365.374897   5443.030173  30821.540780      -.078303                    
+P  8   5184.435054  17462.360769  19020.367298    355.367509                    
+V  8 -13602.042150  20631.558795 -15385.330969      -.088277                    
+P  9  15319.199450 -20164.990287   6897.481631    -32.377146                    
+V  9  -1113.897916   9945.427945  30102.031708      -.014899                    
+P 10  26688.031195  -1035.845120    565.063679     40.171417                    
+V 10    815.976750   1927.127167 -31993.964113       .008046                    
+P 11 -13896.819515  21758.174973   5925.595527     99.897891                    
+V 11  -1183.172564  -8724.611061  29370.477360       .025685                    
+P 13   5178.530638  23319.846139 -11737.259131    -30.903354                    
+V 13  -9249.228987 -11658.916499 -27260.365818       .002102                    
+P 14 -16710.463915 -19956.561336  -5200.197285    -18.160089                    
+V 14  -1620.106119  -6847.424952  31195.951888      -.001179                    
+P 15 -10132.325453 -11552.763419  21408.291603    232.998006                    
+V 15  15275.801565 -23156.671471  -5444.334512       .054480                    
+P 16 -26180.712732  -1815.620566  -4053.874151     15.279745                    
+V 16   5122.973879  -2954.326811 -31207.931274      -.004107                    
+P 17  19077.381485 -13469.915138 -11740.329627    207.243572                    
+V 17  -6533.782926  14246.616039 -27303.260392       .195034                    
+P 18  -2663.203095 -15099.043230  21731.327007    -15.436619                    
+V 18  27496.866160     70.120655   3215.432488      -.026615                    
+P 20 -14304.083811  13203.671784 -18136.339486   -184.106394                    
+V 20 -22926.457684   -510.071810  17778.663735       .027687                    
+P 21   2725.721606 -22723.599982  13085.040898     73.089951                    
+V 21  10932.700974 -13121.849218 -25354.751642       .004891                    
+P 22 -15990.352591 -12408.038937  17339.599413    -40.124459                    
+V 22  21742.632757  -1260.073347  19374.373956       .088024                    
+P 24  17405.939374  -3133.806788 -19541.795256      8.157045                    
+V 24 -12026.454429  22412.458831 -14020.084573       .029325                    
+P 25 -13661.175872  -7183.478675 -21249.616154     61.723621                    
+V 25  11138.848113 -25594.309648   1442.012582       .010801                    
+P 26  14691.137126  -3755.575207  21616.928194    410.035016                    
+V 26  14497.417906  23866.777253  -5043.384825      -.124565                    
+P 27  -2667.926829  24092.448481  10716.362465    919.923640                    
+V 27  -8276.800005  10615.885510 -27644.052399       .042875                    
+P 28  15335.616752  12314.869151  18173.760518     21.861689                    
+V 28 -22551.231630   2007.282249  17549.298165       .016572                    
+P 29  17280.889721   1201.032583  20415.827676    229.958981                    
+V 29  13216.504845  21552.532949 -12564.956047       .032734                    
+P 30   3403.563646 -15746.547079 -21335.931122    805.211336                    
+V 30  26614.236148  -1215.264616   5299.626513       .142429                    
+P 31 -12340.578452   9506.756320  21173.796688     39.951296                    
+V 31 -16113.253796 -22617.796419   1080.391246       .309016                    
+*  2004  3  1  1 30   .00000000                                                 
+P  1  -6842.095450  14798.169609 -20788.084151    332.599076                    
+V  1 -15755.756159 -21633.891268 -10157.871762       .017804                    
+P  3 -20339.252269  -5283.549557  16276.458854     89.916228                    
+V  3 -11608.612810 -17489.445705 -19840.484138       .028008                    
+P  4  10174.645326  12648.488701 -20942.761441    -76.802687                    
+V  4 -12322.437271  23707.478632   8639.418007      -.091962                    
+P  5  19521.498949 -12842.241685 -12587.307602     19.781401                    
+V  5  16193.176073    195.588120  25325.301940       .018906                    
+P  6   -930.161203 -20912.709106 -16082.472295     -1.368912                    
+V  6  14573.922098  15178.757498 -20479.285700      -.009966                    
+P  7  16739.331335  20731.781421   -186.870941    611.711170                    
+V  7  -2225.167996   2683.853855  31123.056634      -.078322                    
+P  8   4048.229099  19274.855177  17471.850174    355.359052                    
+V  8 -11642.473624  19557.720553 -18975.990078      -.088307                    
+P  9  15180.263851 -19126.898896   9537.008155    -32.377877                    
+V  9  -1902.438516  13116.725926  28465.650070      -.014760                    
+P 10  26604.658622   -854.187319  -2311.050684     40.172722                    
+V 10  -2660.764373   2181.556288 -31829.469563       .007971                    
+P 11 -13969.776476  20838.152618   8509.888049     99.900083                    
+V 11   -501.895587 -11712.740892  27975.156368       .025681                    
+P 13   4242.013908  22182.608625 -14083.327199    -30.903037                    
+V 13 -11581.072114 -13534.935127 -24800.071773       .002098                    
+P 14 -16782.221452 -20435.977290  -2355.803832    -18.160014                    
+V 14     92.907339  -3832.626821  31921.756312      -.001174                    
+P 15  -8829.998726 -13642.254019  20731.086886    233.002280                    
+V 15  13632.298906 -23188.284033  -9583.402739       .054539                    
+P 16 -25569.854095  -2106.002199  -6819.600239     15.279271                    
+V 16   8424.358562  -3563.852943 -30164.109880      -.004107                    
+P 17  18449.330615 -12057.706607 -14084.305554    207.261026                    
+V 17  -7342.780681  17116.640854 -24707.538248       .195012                    
+P 18   -179.139016 -15158.488022  21833.567417    -15.439180                    
+V 18  27613.416073  -1391.427987   -947.864002      -.026612                    
+P 20 -16272.265890  13204.386675 -16385.556240   -184.103861                    
+V 20 -20742.203629    477.894480  21072.316483       .027685                    
+P 21   3615.938605 -23811.135280  10694.623891     73.090235                    
+V 21   8874.829141 -10972.701623 -27688.043648       .004886                    
+P 22 -13945.649368 -12574.470311  18930.752005    -40.116241                    
+V 22  23619.675545  -2476.128873  15935.154777       .088007                    
+P 24  16346.104329  -1030.257747 -20627.723192      8.159057                    
+V 24 -11459.663756  24268.800232 -10074.865123       .029262                    
+P 25 -12720.275470  -9496.375301 -20931.183128     61.723797                    
+V 25   9743.558732 -25715.162043   5623.282190       .010749                    
+P 26  16034.179334  -1674.805368  20975.428472    410.024112                    
+V 26  15283.772796  22304.039012  -9187.476879      -.124577                    
+P 27  -3336.075211  24933.867555   8142.574766    919.927255                    
+V 27  -6610.873106   8019.854302 -29470.376480       .042849                    
+P 28  13228.825809  12554.721890  19596.158173     21.863321                    
+V 28 -24188.496576   3352.675084  14014.634046       .016571                    
+P 29  18483.134820   3050.593618  19116.624830    229.961434                    
+V 29  13426.655385  19501.244486 -16266.379215       .032739                    
+P 30   5762.758340 -15912.184991 -20680.236369    805.224549                    
+V 30  25730.193013  -2441.642633   9251.785570       .142449                    
+P 31 -13836.504620   7508.982403  21083.017081     39.979345                    
+V 31 -17073.571025 -21705.606961  -3092.729305       .308965                    
+*  2004  3  1  1 45   .00000000                                                 
+P  1  -8339.469802  12854.297785 -21517.869811    332.600223                    
+V  1 -17479.115407 -21478.113407  -6035.711432       .017647                    
+P  3 -21349.673093  -6753.194655  14356.290466     89.919368                    
+V  3 -10771.322147 -15153.025933 -22767.823376       .028098                    
+P  4   9140.870921  14764.454459 -19985.851001    -76.810900                    
+V  4 -10636.622604  23224.778188  12596.066736      -.091971                    
+P  5  20850.047104 -12831.415996 -10205.976512     19.783625                    
+V  5  13294.980799    108.988005  27517.636559       .019184                    
+P  6    476.362212 -19501.433466 -17779.250392     -1.371993                    
+V  6  16667.862834  16102.727555 -17171.472524      -.009759                    
+P  7  16443.798590  20858.227816   2607.850473    611.704221                    
+V  7  -4387.761904    173.501431  30893.885917      -.078343                    
+P  8   3088.183079  20967.110437  15614.679192    355.350673                    
+V  8  -9703.032967  17963.208171 -22233.850480      -.088330                    
+P  9  14989.593654 -17806.704137  12005.823546    -32.377653                    
+V  9  -2263.856514  16197.238606  26313.790554      -.014647                    
+P 10  26211.995278   -630.455594  -5148.090645     40.173579                    
+V 10  -6040.907010   2859.016763 -31126.916000       .007863                    
+P 11 -13998.620132  19652.588994  10946.579127     99.902392                    
+V 11   -202.034798 -14610.687106  26095.299650       .025680                    
+P 13   3091.944516  20898.108890 -16188.540917    -30.902816                    
+V 13 -13979.181774 -14926.536170 -21915.642273       .002093                    
+P 14 -16682.328012 -20652.527841    529.196930    -18.160076                    
+V 14   2185.786297  -1020.626589  32097.143981      -.001159                    
+P 15  -7682.985210 -15710.482397  19688.222297    233.006853                    
+V 15  11839.816143 -22681.486391 -13557.795345       .054705                    
+P 16 -24670.630603  -2468.341260  -9467.775227     15.278837                    
+V 16  11515.915346  -4547.046152 -28599.309280      -.004102                    
+P 17  17769.990580 -10393.903237 -16174.532180    207.278663                    
+V 17  -7675.477280  19820.710035 -21673.613605       .194989                    
+P 18   2290.842014 -15348.195208  21560.983090    -15.441687                    
+V 18  27184.923005  -2809.518651  -5102.096523      -.026594                    
+P 20 -18026.351731  13280.093043 -14354.101952   -184.101152                    
+V 20 -18180.742230   1146.328056  24006.849410       .027680                    
+P 21   4328.909164 -24686.384603   8115.768639     73.090600                    
+V 21   7007.227083  -8414.048095 -29535.783299       .004884                    
+P 22 -11753.114829 -12859.362536  20199.934231    -40.108535                    
+V 22  25020.461892  -3879.254393  12229.631380       .087994                    
+P 24  15354.129604   1221.893990 -21349.727158      8.162079                    
+V 24 -10529.027925  25702.838409  -5944.979810       .029185                    
+P 25 -11910.777921 -11796.101123 -20240.548637     61.726026                    
+V 25   8233.626389 -25299.773646   9700.517864       .010715                    
+P 26  17429.820503    248.010864  19968.683455    410.013128                    
+V 26  15657.466295  20370.308520 -13148.358032      -.124590                    
+P 27  -3866.059838  25525.801889   5426.797668    919.931093                    
+V 27  -5217.059312   5083.628963 -30793.545763       .042823                    
+P 28  10996.283977  12922.511226  20689.192905     21.864831                    
+V 28 -25339.752654   4836.529193  10240.050266       .016569                    
+P 29  19683.921546   4703.968640  17495.953499    229.964630                    
+V 29  13178.493557  17207.254991 -19698.790556       .032746                    
+P 30   8020.716543 -16180.543853 -19675.115213    805.237350                    
+V 30  24370.618772  -3484.960764  13053.828663       .142469                    
+P 31 -15402.809525   5611.698118  20619.136473     40.006914                    
+V 31 -17667.293892 -20395.498804  -7198.226129       .308912                    
+*  2004  3  1  2  0   .00000000                                                 
+P  1  -9979.811009  10946.861961 -21871.323991    332.601624                    
+V  1 -18918.606144 -20831.174213  -1807.345456       .017515                    
+P  3 -22264.848932  -8009.501048  12190.127304     89.920639                    
+V  3  -9493.231282 -12763.472395 -25299.516684       .028162                    
+P  4   8261.147097  16812.887329 -18681.764512    -76.818751                    
+V  4  -8914.343040  22207.340037  16342.986097      -.091975                    
+P  5  21909.607665 -12810.747514  -7648.291738     19.784859                    
+V  5  10230.697991    417.686413  29238.286666       .019418                    
+P  6   2066.122917 -18028.607461 -19164.271531     -1.374073                    
+V  6  18630.856161  16547.668676 -13561.653166      -.009469                    
+P  7  15942.340860  20772.497348   5358.362247    611.697040                    
+V  7  -6789.782779  -2021.132747  30142.786146      -.078360                    
+P  8   2298.317619  22493.540286  13481.530735    355.341260                    
+V  8  -7875.550955  15879.573698 -25099.503752      -.088347                    
+P  9  14785.263152 -16217.171298  14259.135170    -32.378382                    
+V  9  -2209.460819  19085.412810  23683.758776      -.014833                    
+P 10  25523.049996   -327.678421  -7898.102044     40.174918                    
+V 10  -9229.464769   3932.087526 -29898.189545       .007765                    
+P 11 -14017.202075  18213.562108  13193.497167     99.904701                    
+V 11   -270.277552 -17331.034521  23764.209446       .025679                    
+P 13   1726.642042  19510.979601 -18016.882224    -30.902421                    
+V 13 -16347.880624 -15813.859504 -18656.069477       .002092                    
+P 14 -16379.146796 -20628.264704   3405.089215    -18.160573                    
+V 14   4599.289385   1505.979981  31719.750090      -.001150                    
+P 15  -6700.480335 -17708.567001  18297.794420    233.010645                    
+V 15   9992.388732 -21630.211875 -17295.312044       .054861                    
+P 16 -23505.893819  -2934.312525 -11952.624849     15.278271                    
+V 16  14311.017709  -5857.795094 -26539.770342      -.004096                    
+P 17  17081.403585  -8497.909888 -17974.182471    207.296306                    
+V 17  -7553.519767  22260.705614 -18260.794586       .194969                    
+P 18   4698.241079 -15660.217781  20917.604984    -15.443865                    
+V 18  26226.828624  -4094.987887  -9175.860241      -.026580                    
+P 20 -19535.806628  13399.525724 -12076.620222   -184.098886                    
+V 20 -15319.840377   1441.960821  26531.709600       .027671                    
+P 21   4885.196399 -25315.338402   5393.786780     73.090978                    
+V 21   5404.412014  -5511.676537 -30863.719486       .004887                    
+P 22  -9457.333253 -13275.858172  21125.976500    -40.100602                    
+V 22  25909.591285  -5386.282490   8320.567114       .087983                    
+P 24  14459.700177   3581.655975 -21694.505991      8.165442                    
+V 24  -9304.740915  26650.866861  -1704.720265       .029115                    
+P 25 -11238.962075 -14034.190860 -19190.445999     61.726744                    
+V 25   6699.028913 -24346.913849  13599.345552       .010447                    
+P 26  18838.789916   1983.315486  18616.232562    410.001785                    
+V 26  15573.964484  18152.339217 -16859.146825      -.124604                    
+P 27  -4285.027955  25841.039513   2615.759326    919.934596                    
+V 27  -4152.144431   1885.090733 -31582.936515       .042803                    
+P 28   8683.086512  13426.891994  21434.009492     21.866592                    
+V 28 -25977.714677   6373.430261   6286.985581       .016574                    
+P 29  20840.748317   6143.299350  15580.637776    229.967738                    
+V 29  12447.085335  14760.048024 -22804.846403       .032757                    
+P 30  10136.515579 -16531.759689 -18336.967961    805.250142                    
+V 30  22579.718916  -4271.340709  16641.947757       .142487                    
+P 31 -17004.035585   3847.608045  19791.580230     40.034869                    
+V 31 -17842.153062 -18758.553344 -11162.389273       .308859                    
+*  2004  3  1  2 15   .00000000                                                 
+P  1 -11733.896920   9117.923426 -21842.258246    332.602598                    
+V  1 -19994.447242 -19743.527586   2452.125201       .017414                    
+P  3 -23045.679509  -9051.682044   9815.498578     89.923264                    
+V  3  -7789.858474 -10409.190139 -27394.101430       .028263                    
+P  4   7534.651027  18746.111786 -17052.417988    -76.827361                    
+V  4  -7246.539764  20668.407631  19813.239807      -.091981                    
+P  5  22689.353541 -12744.009426  -4958.197980     19.786708                    
+V  5   7092.497718   1133.215696  30455.464402       .019735                    
+P  6   3823.343635 -16536.766081 -20213.215482     -1.373972                    
+V  6  20374.973329  16529.431395  -9714.228919      -.009039                    
+P  7  15216.655323  20505.502903   8018.397630    611.690140                    
+V  7  -9357.626235  -3846.992479  28886.802711      -.078375                    
+P  8   1664.658241  23812.250183  11110.102924    355.333198                    
+V  8  -6245.244430  13357.048194 -27520.961616      -.088358                    
+P  9  14603.486039 -14379.993848  16255.966955    -32.379910                    
+V  9  -1769.147360  21685.095407  20622.926909      -.015148                    
+P 10  24559.086768     87.869317 -10514.581069     40.175020                    
+V 10 -12138.523826   5356.271075 -28163.603912       .007582                    
+P 11 -14057.449392  16540.801319  15211.829298     99.906982                    
+V 11   -677.334083 -19791.707859  21023.101953       .025677                    
+P 13    153.113014  18066.786534 -19537.032944    -30.902120                    
+V 13 -18590.421073 -16196.072460 -15076.660890       .002091                    
+P 14 -15847.025093 -20392.130583   6222.374757    -18.160705                    
+V 14   7260.099118   3677.128347  30796.758554      -.001134                    
+P 15  -5883.163175 -19587.992615  16584.214818    233.015362                    
+V 15   8184.569071 -20048.667550 -20728.066674       .055173                    
+P 16 -22105.831318  -3530.751905 -14231.131526     15.277863                    
+V 16  16733.780725  -7435.030632 -24020.430239      -.004085                    
+P 17  16422.791363  -6397.581345 -19452.088998    207.313584                    
+V 17  -7017.653781  24347.613798 -14535.268988       .194953                    
+P 18   6996.778065 -16078.778300  19913.860202    -15.446388                    
+V 18  24772.857974  -5163.580712 -13098.628496      -.026568                    
+P 20 -20777.563258  13527.316701  -9592.004091   -184.096456                    
+V 20 -12247.160667   1327.203529  28603.155908       .027662                    
+P 21   5311.512484 -25670.554543   2576.638173     73.091456                    
+V 21   4128.040600  -2345.273538 -31647.364267       .004892                    
+P 22  -7105.290948 -13829.372127  21693.502023    -40.092911                    
+V 22  26269.230561  -6909.217890   4273.757299       .087971                    
+P 24  13685.644741   6003.050271 -21655.567872      8.169735                    
+V 24  -7868.431148  27066.201195   2569.145390       .028969                    
+P 25 -10703.007187 -16162.954792 -17800.138366     61.728815                    
+V 25   5229.133500 -22874.985649  17249.285764       .010255                    
+P 26  20218.592133   3509.737959  16943.375494    409.990856                    
+V 26  15006.342297  15744.693680 -20258.871911      -.124615                    
+P 27  -4624.590447  25859.929725   -241.468639    919.938229                    
+V 27  -3458.143363  -1486.111563 -31817.265205       .042792                    
+P 28   6336.012120  14068.659365  21817.432724     21.868395                    
+V 28 -26092.376190   7874.687484   2220.081063       .016578                    
+P 29  21909.672508   7358.982662  13402.454374    229.970606                    
+V 29  11225.480494  12253.026998 -25531.975166       .032770                    
+P 30  12073.870624 -16939.746683 -16687.811798    805.263058                    
+V 30  20416.051330  -4736.862322  19955.295574       .142508                    
+P 31 -18600.721477   2242.525132  18616.252455     40.063352                    
+V 31 -17561.740935 -16876.279320 -14915.189927       .308799                    
+*  2004  3  1  2 30   .00000000                                                 
+P  1 -13565.875596   7404.274564 -21431.278169    332.604503                    
+V  1 -20639.601933 -18281.394872   6667.066994       .017353                    
+P  3 -23655.209480  -9886.755069   7273.325615     89.924910                    
+V  3  -5693.205477  -8174.654224 -29017.743723       .028417                    
+P  4   6952.504761  20518.507309 -15125.562614    -76.835513                    
+V  4  -5720.659050  18640.295876  22944.310618      -.091987                    
+P  5  23186.861299 -12594.729785  -2182.115083     19.789224                    
+V  5   3974.364817   2249.434451  31146.058102       .020043                    
+P  6   5724.597934 -15066.218906 -20907.764941     -1.375083                    
+V  6  21818.743444  16081.426627  -5697.976206      -.008680                    
+P  7  14255.419898  20092.246229  10543.576342    611.682714                    
+V  7 -12010.256132  -5266.493690  27150.713028      -.078389                    
+P  8   1165.993326  24886.637879   8542.397285    355.325129                    
+V  8  -4887.162209  10462.625358 -29454.746273      -.088363                    
+P  9  14476.993599 -12325.122704  17960.024362    -32.380979                    
+V  9   -990.125261  23909.590981  17187.771219      -.015393                    
+P 10  23348.844959    645.200668 -12953.220757     40.176637                    
+V 10 -14690.372381   7071.680080 -25951.602958       .007535                    
+P 11 -14147.980502  14661.064884  16966.799147     99.909024                    
+V 11  -1379.235028 -21919.077638  17920.318153       .025673                    
+P 13  -1613.019887  16610.315319 -20722.903337    -30.901714                    
+V 13 -20612.696149 -16091.267185 -11238.138689       .002094                    
+P 14 -15067.439758 -19978.711720   8932.625715    -18.160991                    
+V 14  10083.601332   5437.851594  29344.730341      -.001125                    
+P 15  -5223.328942 -21302.422042  14577.756777    233.019910                    
+V 15   6507.458689 -17970.904117 -23793.912632       .055542                    
+P 16 -20506.868590  -4278.413416 -16263.792582     15.277650                    
+V 16  18721.902547  -9205.112237 -21084.352659      -.004076                    
+P 17  15828.925206  -4128.236852 -20583.287688    207.331230                    
+V 17  -6125.617983  26005.123004 -10568.412026       .194938                    
+P 18   9143.988918 -16580.867352  18566.437369    -15.448781                    
+V 18  22873.832465  -5939.395689 -16801.989716      -.026555                    
+P 20 -21736.768717  13625.482557  -6942.747290   -184.093657                    
+V 20  -9057.016581    781.737286  30185.034271       .027650                    
+P 21   5639.442570 -25732.274343   -285.974031     73.091756                    
+V 21   3224.374022    994.661739 -31872.536243       .004888                    
+P 22  -4744.765885 -14517.311003  21893.153452    -40.084512                    
+V 22  26099.656089  -8358.673042    156.999031       .087959                    
+P 24  13047.059245   8436.741873 -21233.382188      8.171409                    
+V 24  -6309.697128  26921.196905   6798.961317       .028675                    
+P 25 -10293.220494 -18137.216511 -16095.001817     61.729335                    
+V 25   3908.886484 -20921.238417  20585.203779       .010040                    
+P 26  21525.135118   4814.626675  14980.601990    409.978959                    
+V 26  13946.123441  13245.919866 -23293.289722      -.124627                    
+P 27  -4919.395610  25571.298960  -3094.355028    919.941702                    
+V 27  -3160.250117  -4931.837022 -31485.519510       .042782                    
+P 28   4001.945041  14840.605332  21832.216198     21.869929                    
+V 28 -25691.414571   9251.713208  -1893.705751       .016577                    
+P 29  22846.956843   8349.869743  10997.664988    229.973420                    
+V 29   9525.223107   9780.080708 -27833.219845       .032772                    
+P 30  13802.337692 -17373.213430 -14754.970090    805.275851                    
+V 30  17950.470690  -4830.166885  22936.966951       .142529                    
+P 31 -20150.898603    814.587440  17115.144234     40.091780                    
+V 31 -16806.922025 -14837.116511 -18391.594981       .308736                    
+*  2004  3  1  2 45   .00000000                                                 
+P  1 -15434.541865   5836.139984 -20645.765448    332.606396                    
+V  1 -20802.560390 -16523.996679  10762.776075       .017207                    
+P  3 -24060.063692 -10529.044304   4607.214656     89.929452                    
+V  3  -3250.586327  -6137.259014 -30144.674100       .028591                    
+P  4   6498.253641  22088.184011 -12934.329335    -76.844872                    
+V  4  -4417.040847  16173.357214  25679.371433      -.091993                    
+P  5  23408.114206 -12327.785449    631.869204     19.792101                    
+V  5    968.543030   3742.594007  31296.195069       .020167                    
+P  6   7739.543898 -13653.532163 -21235.938484     -1.375385                    
+V  6  22890.486061  15253.121231  -1584.682752      -.008277                    
+P  7  13054.827995  19570.374189  12892.072888    611.675508                    
+V  7 -14662.210021  -6258.562563  24966.404637      -.078402                    
+P  8    774.932974  25686.788810   5823.911501    355.317205                    
+V  8  -3863.077615   7277.435893 -30866.771026      -.088365                    
+P  9  14433.564379 -10089.746115  19340.459494    -32.382173                    
+V  9     65.163212  25685.335209  13442.621439      -.015729                    
+P 10  21927.493652   1367.327738 -15172.625290     40.177115                    
+V 10 -16820.264666   9005.262812 -23298.359780       .007345                    
+P 11 -14312.864490  12607.252365  18428.267728     99.911335                    
+V 11  -2319.211490 -23650.726736  14510.408158       .025669                    
+P 13  -3547.919725  15183.899667 -21554.075609    -30.901650                    
+V 13 -22326.863258 -15535.644229  -7205.653139       .002095                    
+P 14 -14029.872086 -19426.785754  11489.314792    -18.160560                    
+V 14  12977.099073   6750.248367  27389.270229      -.001112                    
+P 15  -4705.373139 -22809.431084  12313.979445    233.025218                    
+V 15   5044.890629 -15449.547602 -26437.734967       .056027                    
+P 16 -18750.337775  -5190.964720 -18015.320162     15.276954                    
+V 16  20228.986796 -11084.725825 -17782.003631      -.004067                    
+P 17  15328.718436  -1731.378126 -21349.405979    207.348759                    
+V 17  -4949.331209  27172.591768  -6435.032995       .194924                    
+P 18  11102.685665 -17137.139971  16898.040594    -15.451024                    
+V 18  20595.814886  -6358.038390 -20220.882532      -.026553                    
+P 20 -22407.226770  13655.025827  -4174.230790   -184.090854                    
+V 20  -5846.865562   -196.556045  31249.437379       .027643                    
+P 21   5903.969508 -25489.238830  -3143.546210     73.092296                    
+V 21   2722.402995   4410.368375 -31535.656496       .004894                    
+P 22  -2422.698029 -15329.104263  21721.726264    -40.076598                    
+V 22  25419.140653  -9647.341232  -3960.948918       .087944                    
+P 24  12550.759349  10831.813604 -20435.386283      8.173838                    
+V 24  -4722.289938  26208.473097  10907.811863       .028453                    
+P 25  -9992.598211 -19915.943821 -14105.985360     61.730426                    
+V 25   2815.242109 -18540.192087  23548.588381       .009739                    
+P 26  22714.400980   5894.234366  12762.957079    409.967821                    
+V 26  12403.390803  10754.710489 -25915.502094      -.124643                    
+P 27  -5205.547832  24973.048676  -5891.867609    919.945342                    
+V 27  -3265.460824  -8349.220927 -30587.676641       .042773                    
+P 28   1726.288570  15727.681928  21477.208684     21.871462                    
+V 28 -24799.973666  10419.440363  -5986.046622       .016574                    
+P 29  23610.732125   9123.152874   8406.474419    229.976533                    
+V 29   7376.200910   7432.099982 -29668.043275       .032770                    
+P 30  15298.309970 -17796.894767 -12570.673954    805.288506                    
+V 30  15263.603452  -4514.628205  25534.964861       .142549                    
+P 31 -21611.681409   -426.200189  15315.831714     40.119524                    
+V 31 -15576.504801 -12732.739668 -21532.697055       .308667                    
+*  2004  3  1  3  0   .00000000                                                 
+P  1 -17294.836586   4436.151060 -19499.729296    332.607312                    
+V  1 -20449.488852 -14560.267531  14666.912813       .017019                    
+P  3 -24231.751246 -10999.412682   1862.716514     89.930701                    
+V  3   -522.893710  -4364.472157 -30757.488309       .028609                    
+P  4   6148.659272  23418.531418 -10516.662564    -76.852672                    
+V  4  -3405.565556  13334.204036  27968.472501      -.091997                    
+P  5  23367.185659 -11910.958326   3434.847374     19.794591                    
+V  5  -1838.019961   5572.045722  30901.580265       .020077                    
+P  6   9831.940669 -12330.176289 -21192.297904     -1.374887                    
+V  6  23531.242200  14107.878324   2552.274153      -.007946                    
+P  7  11618.847575  18978.668889  15025.226719    611.667548                    
+V  7 -17226.702197  -6819.066861  22372.208191      -.078409                    
+P  8    459.222141  26190.607674   3002.763331    355.308865                    
+V  8  -3218.966383   3893.533192 -31732.985529      -.088364                    
+P  9  14494.773911  -7716.963395  20372.512258    -32.383643                    
+V  9   1321.833153  26954.995363   9458.165570      -.016104                    
+P 10  20335.357282   2270.196021 -17134.983828     40.177562                    
+V 10 -18478.723776  11073.525280 -20247.275616       .007133                    
+P 11 -14570.572947  10417.287425  19571.247062     99.913707                    
+V 11  -3430.077488 -24937.769902  10853.111139       .025662                    
+P 13  -5620.254329  13825.854173 -22016.155273    -30.901974                    
+V 13 -23654.745783 -14582.012223  -3047.723290       .002097                    
+P 14 -12732.378594 -18777.722201  13848.608433    -18.160706                    
+V 14  15843.334270   7594.780326  24964.541301      -.001109                    
+P 15  -4306.606045 -24072.093621   9833.043186    233.031675                    
+V 15   3869.934125 -12553.748999 -28612.569762       .056391                    
+P 16 -16880.964376  -6274.262343 -19455.269456     15.276461                    
+V 16  21226.251347 -12984.180838 -14170.384705      -.004057                    
+P 17  14944.097914    746.826878 -21738.893082    207.366602                    
+V 17  -3571.533192  27807.271459  -2211.631041       .194909                    
+P 18  12842.221621 -17713.077819  14937.033260    -15.453464                    
+V 18  18017.647845  -6369.353197 -23294.804586      -.026543                    
+P 20 -22791.517586  13577.588696  -1333.955725   -184.088836                    
+V 20  -2713.671428  -1591.365378  31777.234529       .027628                    
+P 21   6141.862815 -24939.170426  -5945.732180     73.092525                    
+V 21   2632.717224   7800.679909 -30643.787741       .004890                    
+P 22   -183.599063 -16246.545072  21182.208458    -40.068658                    
+V 22  24263.194024 -10693.384995  -8011.406909       .087928                    
+P 24  12195.085945  13137.613001 -19275.845790      8.175969                    
+V 24  -3200.114748  24941.282099  14821.139030       .028193                    
+P 25  -9777.691193 -21463.705460 -11868.964828     61.730593                    
+V 25   2013.987531 -15801.359619  26088.626576       .009425                    
+P 26  23744.094971   6753.562617  10329.359238    409.956874                    
+V 26  10406.200658   8366.190742 -28086.388053      -.124663                    
+P 27  -5518.936621  24072.397550  -8583.484602    919.949256                    
+V 27  -3761.973037 -11634.782113 -29135.152436       .042770                    
+P 28   -448.573595  16707.469341  20757.432757     21.873124                    
+V 28 -23459.819223  11299.660649  -9988.245934       .016572                    
+P 29  24162.616211   9693.941078   5672.418384    229.979179                    
+V 29   4825.823751   5293.565411 -31003.083154       .032765                    
+P 30  16545.768700 -18172.956161 -10171.578128    805.301535                    
+V 30  12442.933265  -3770.002954  27703.136257       .142568                    
+P 31 -22940.884712  -1478.089084  13250.881441     40.147789                    
+V 31 -13887.172378 -10654.328219 -24286.643101       .308591                    
+*  2004  3  1  3 15   .00000000                                                 
+P  1 -19099.507388   3218.634179 -18013.531344    332.607960                    
+V  1 -19565.656970 -12485.194850  18310.873633       .016889                    
+P  3 -24147.790847 -11324.255190   -913.434889     89.933592                    
+V  3   2417.625639  -2911.391650 -30847.316900       .028725                    
+P  4   5874.777073  24479.575994  -7914.652149    -76.861123                    
+V  4  -2742.706901  10203.249157  29769.608765      -.091996                    
+P  5  23085.609845 -11316.396805   6177.967918     19.796264                    
+V  5  -4367.003375   7681.725590  29967.770711       .019872                    
+P  6  11960.905987 -11121.393819 -20778.026396     -1.374379                    
+V  6  23697.180055  12720.239088   6639.369561      -.007737                    
+P  7   9959.200506  18355.526040  16908.090984    611.660976                    
+V  7 -19618.719377  -6960.648642  19412.202043      -.078411                    
+P  8    183.250204  26384.639714    128.767687    355.300248                    
+V  8  -2983.178826    410.238915 -32039.770015      -.088358                    
+P  9  14675.022534  -5254.211455  21038.008054    -32.385701                    
+V  9   2695.920405  27679.840465   5309.767482      -.016555                    
+P 10  18616.457930   3361.882481 -18806.694754     40.177482                    
+V 10 -19633.300886  13185.653614 -16848.379208       .006949                    
+P 11 -14933.165157   8132.815378  20376.318156     99.916246                    
+V 11  -4637.015197 -25746.638135   7012.254221       .025657                    
+P 13  -7792.206648  12569.070961 -22101.024409    -30.901545                    
+V 13 -24530.885073 -13297.658295   1164.881060       .002101                    
+P 14 -11181.836120 -18073.798134  15970.109902    -18.160859                    
+V 14  18584.180028   7970.853809  22112.639027      -.001107                    
+P 15  -3998.361347 -25060.350367   7178.933207    233.038493                    
+V 15   3041.877441  -9366.446288 -30280.518284       .056696                    
+P 16 -14945.230528  -7525.936802 -20558.583041     15.275576                    
+V 16  21703.553139 -14810.977307 -10312.038627      -.004047                    
+P 17  14689.195781   3257.223967 -21747.096037    207.384411                    
+V 17  -2082.058492  27885.714897   2025.277924       .194894                    
+P 18  14339.510959 -18270.373821  12716.975193    -15.456123                    
+V 18  15227.973361  -5939.616770 -25968.968474      -.026537                    
+P 20 -22900.789381  13357.095036   1529.265017   -184.086533                    
+V 20    249.725474  -3368.438624  31758.458346       .027615                    
+P 21   6390.001331 -24088.900312  -8643.293102     73.092757                    
+V 21   2947.167056  11065.012069 -29214.417919       .004893                    
+P 22   1931.941478 -17244.427823  20283.726841    -40.061296                    
+V 22  22683.186917 -11423.621547 -11926.807669       .087906                    
+P 24  11970.071875  15305.593205 -17775.571725      8.177846                    
+V 24  -1833.233232  23153.006922  18468.299814       .028115                    
+P 25  -9619.733457 -22751.895591  -9424.010091     61.731998                    
+V 25   1557.096524 -12786.385994  28163.052446       .009221                    
+P 26  24575.212493   7405.882902   7721.887329    409.945818                    
+V 26   7999.357182   6168.462082 -29774.869203      -.124678                    
+P 27  -5893.549196  22885.745622 -11120.232631    919.953243                    
+V 27  -4619.428994 -14688.683456 -27150.933530       .042767                    
+P 28  -2484.712254  17750.936420  19684.070711     21.874658                    
+V 28 -21727.882194  11824.164211 -13832.296614       .016566                    
+P 29  24469.229229  10084.536460   2841.686209    229.982216                    
+V 29   1937.543122   3439.328710 -31812.840977       .032767                    
+P 30  17536.757796 -18462.520365  -7598.194624    805.314461                    
+V 30   9579.593623  -2593.486145  29402.059770       .142589                    
+P 31 -24098.602472  -2347.378341  10957.181499     40.175797                    
+V 31 -11772.702978  -8688.959012 -26609.354837       .308508                    
+*  2004  3  1  3 30   .00000000                                                 
+P  1 -20800.863184   2189.239544 -16213.491113    332.610134                    
+V  1 -18156.087697 -10395.939011  21631.067936       .016925                    
+P  3 -23792.617044 -11534.293597  -3674.093534     89.935571                    
+V  3   5489.999722  -1818.787884 -30413.868685       .028706                    
+P  4   5643.275724  25249.090045  -5173.775980    -76.869091                    
+V  4  -2469.124162   6871.659090  31049.633159      -.091992                    
+P  5  22591.467516 -10521.910884   8813.319882     19.798688                    
+V  5  -6551.721000  10002.267885  28510.083514       .019589                    
+P  6  14082.362788 -10045.332588 -20000.877463     -1.375884                    
+V  6  23361.376671  11172.767042  10604.355640      -.007629                    
+P  7   8095.067353  17737.474445  18509.917881    611.654061                    
+V  7 -21758.010501  -6711.983259  16135.500670      -.078416                    
+P  8    -90.309091  26264.549553  -2747.510250    355.292435                    
+V  8  -3165.379569  -3069.783612 -31784.073494      -.088351                    
+P  9  14980.885411  -2751.515391  21325.698139    -32.387525                    
+V  9   4098.147590  27841.265570   1075.664539      -.016940                    
+P 10  16816.926278   4642.088738 -20158.931441     40.177234                    
+V 10 -20269.725201  15246.930856 -13157.628164       .006836                    
+P 11 -15405.737832   5797.766741  20829.947147     99.918579                    
+V 11  -5860.648519 -26060.262817   3054.594382       .025649                    
+P 13 -10020.739662  11439.833471 -21806.992221    -30.901317                    
+V 13 -24905.127341 -11761.667094   5360.301286       .002104                    
+P 14  -9393.852260 -17356.494481  17817.540238    -18.161123                    
+V 14  21104.361318   7896.668389  18882.838755      -.001104                    
+P 15  -3747.349768 -25752.104933   4398.611075    233.043972                    
+V 15   2603.820140  -5981.066082 -31413.432077       .056569                    
+P 16 -12989.678538  -8935.305651 -21306.040672     15.275322                    
+V 16  21669.685878 -16473.501645  -6273.945743      -.004036                    
+P 17  14569.886077   5749.441817 -21376.190349    207.401651                    
+V 17   -573.929268  27404.347779   6200.712340       .194879                    
+P 18  15579.760779 -18768.486225  10276.059220    -15.459087                    
+V 18  12321.844698  -5053.095205 -28195.377084      -.026527                    
+P 20 -22754.228987  12961.316605   4366.143183   -184.083785                    
+V 20   2958.090394  -5476.774799  31192.538112       .027606                    
+P 21   6683.701543 -22954.137682 -11189.016791     73.093340                    
+V 21   3639.326001  14107.303446 -27274.999819       .004898                    
+P 22   3888.600269 -18291.459025  19041.400977    -40.053549                    
+V 22  20744.407613 -11776.394201 -15641.714151       .087888                    
+P 24  11857.961552  17291.070141 -15961.501920      8.181967                    
+V 24   -704.048534  20895.811676  21784.016149       .028032                    
+P 25  -9485.981127 -23759.679800  -6814.586482     61.730914                    
+V 25   1480.713540  -9585.745218  29738.759375       .008954                    
+P 26  25173.469740   7871.962206   4985.050320    409.934330                    
+V 26   5242.621598   4239.509737 -30958.031136      -.124699                    
+P 27  -6359.844010  21438.155874 -13455.720979    919.956691                    
+V 27  -5790.026176 -17418.936955 -24669.359004       .042765                    
+P 28  -4349.930241  18823.470391  18274.353378     21.876737                    
+V 28 -19674.226009  11937.562890 -17451.980258       .016562                    
+P 29  24503.547120  10323.434132    -37.614807    229.985115                    
+V 29  -1211.252109   1931.709238 -32080.286319       .032767                    
+P 30  18271.560759 -18627.260125  -4894.249428    805.326669                    
+V 30   6764.979504  -1000.116047  30599.864524       .142612                    
+P 31 -25048.686599  -3047.892722   8475.217092     40.203568                    
+V 31  -9282.539924  -6916.263895 -28465.043624       .308417                    
+*  2004  3  1  3 45   .00000000                                                 
+P  1 -22352.551267   1344.922875 -14131.381911    332.612158                    
+V  1 -16245.408854  -8387.898826  24570.071618       .016849                    
+P  3 -23158.235363 -11663.219233  -6372.470776     89.939084                    
+V  3   8607.465604  -1111.694125 -29465.353968       .028752                    
+P  4   5417.944771  25713.404565  -2342.068496    -76.877249                    
+V  4  -2607.905035   3437.844361  31784.985239      -.091986                    
+P  5  21918.218614  -9512.056285  11294.804847     19.799100                    
+V  5  -8339.702718  12453.626398  26553.437006       .019203                    
+P  6  16150.615364  -9112.477485 -18874.997712     -1.375113                    
+V  6  22514.906202   9552.593578  14377.633903      -.007492                    
+P  7   6052.531288  17157.786569  19804.579562    611.647589                    
+V  7 -23571.880264  -6116.503839  12595.534784      -.078424                    
+P  8   -398.798264  25835.241016  -5575.703008    355.284399                    
+V  8  -3756.289609  -6444.550745 -30973.301465      -.088348                    
+P  9  15410.812478   -259.642621  21231.435056    -32.389671                    
+V  9   5437.901514  27441.404020  -3164.882696      -.017219                    
+P 10  14983.338304   6101.950648 -21168.140801     40.178704                    
+V 10 -20392.397946  17162.330881  -9236.114329       .006856                    
+P 11 -15986.159821   3456.842856  20924.695535     99.920544                    
+V 11  -7020.280781 -25878.619374   -951.372922       .025637                    
+P 13 -12259.069389  10456.892723 -21138.839626    -30.901238                    
+V 13 -24744.646034 -10061.786880   9466.779959       .002107                    
+P 14  -7392.344997 -16664.838642  19359.346341    -18.161366                    
+V 14  23315.062323   7408.343132  15330.731928      -.001098                    
+P 15  -3517.198092 -26134.003467   1541.115461    233.048850                    
+V 15   2580.974619  -2497.817430 -31993.354849       .056462                    
+P 16 -11059.220988 -10483.619426 -21684.605602     15.275154                    
+V 16  21151.936833 -17884.703848  -2126.331996      -.004026                    
+P 17  14583.674364   8173.675402 -20634.977972    207.419074                    
+V 17    860.552863  26379.221972  10242.616472       .194864                    
+P 18  16556.884760 -19166.301316   7656.455620    -15.461382                    
+V 18   9397.061908  -3712.891233 -29933.790299      -.026513                    
+P 20 -22378.230792  12363.301724   7127.765289   -184.081649                    
+V 20   5336.992687  -7850.479324  30088.370752       .027602                    
+P 21   7055.122586 -21558.893003 -13538.585375     73.094112                    
+V 21   4665.723985  16839.735751 -24862.267660       .004903                    
+P 22   5657.466281 -19351.408653  17476.106498    -40.045817                    
+V 22  18523.618606 -11704.028909 -19093.814170       .087879                    
+P 24  11834.059246  19054.822483 -13866.158401      8.183581                    
+V 24    116.156074  18238.511607  24709.675151       .027897                    
+P 25  -9341.201797 -24474.629731  -4086.711806     61.732417                    
+V 25   1803.835510  -6295.150893  30792.175525       .008883                    
+P 26  25510.550959   8179.030010   2165.051662    409.923384                    
+V 26   2208.442992   2644.560426 -31621.124299      -.124721                    
+P 27  -6943.262448  19762.468016 -15547.139776    919.960381                    
+V 27  -7210.468466 -19745.335409 -21735.536215       .042768                    
+P 28  -6018.833163  19886.142159  16551.348391     21.877846                    
+V 28 -17379.495509  11599.684215 -20783.998994       .016553                    
+P 29  24246.039852  10444.079408  -2916.244855    229.988041                    
+V 29  -4531.904703    818.021818 -31797.355882       .032773                    
+P 30  18758.569093 -18630.996697  -2105.969456    805.339743                    
+V 30   4087.301516    977.505566  31272.956980       .142638                    
+P 31 -25760.070831  -3600.176270   5848.308689     40.231796                    
+V 31  -6479.794291  -5405.473383 -29826.529982       .308323                    
+*  2004  3  1  4  0   .00000000                                                 
+P  1 -23711.285530    674.277499 -11803.829386    332.613407                    
+V  1 -13876.920559  -6550.886553  27077.633480       .016722                    
+P  3 -22244.603582 -11746.235308  -8962.892726     89.939897                    
+V  3  11680.602279   -798.589101 -28018.293889       .028719                    
+P  4   5161.327872  25867.890855    530.767117    -76.885218                    
+V  4  -3163.541886      3.635079  31962.210009      -.091986                    
+P  5  21103.329155  -8278.956813  13578.983572     19.801626                    
+V  5  -9694.674275  14948.217891  24131.915526       .018932                    
+P  6  18119.990724  -8325.400960 -17420.629720     -1.376270                    
+V  6  21167.197296   7947.814265  17893.542795      -.007427                    
+P  7   3863.782475  16645.226082  20770.924023    611.640900                    
+V  7 -24997.705240  -5230.642381   8849.326855      -.078436                    
+P  8   -777.889587  25110.617437  -8306.567947    355.275711                    
+V  8  -4728.226315  -9616.697650 -29624.968351      -.088337                    
+P  9  15955.188407   2171.756319  20758.182105    -32.390023                    
+V  9   6627.222847  26502.814051  -7333.416824      -.017408                    
+P 10  13161.038096   7724.174624 -21816.466103     40.180430                    
+V 10 -20024.204612  18840.163860  -5149.176095       .006780                    
+P 11 -16665.100761   1153.982013  20659.322567     99.923211                    
+V 11  -8037.167959 -25218.616095  -4936.615402       .025628                    
+P 13 -14458.291431   9630.841727 -20107.756104    -30.901135                    
+V 13 -24035.319986  -8290.958634  13413.862203       .002110                    
+P 14  -5208.807909 -16033.856919  20569.226928    -18.161219                    
+V 14  25137.284500   6558.358512  11517.267323      -.001092                    
+P 15  -3270.106595 -26201.868675  -1343.365770    233.052872                    
+V 15   2979.740681    980.253344 -32012.717244       .056361                    
+P 16  -9195.523557 -12144.632161 -21687.660512     15.275081                    
+V 16  20194.919046 -18965.608712   2058.588446      -.004020                    
+P 17  14719.932845  10482.412360 -19538.568203    207.436269                    
+V 17   2133.550472  24845.005835  14083.068055       .194853                    
+P 18  17273.580057 -19423.838652   4903.575495    -15.463853                    
+V 18   6550.378463  -1941.037630 -31152.555771      -.026500                    
+P 20 -21805.295390  11542.609540   9766.441636   -184.079616                    
+V 20   7325.593811 -10411.215542  28464.224302       .027605                    
+P 21   7531.814565 -19934.582397 -15651.372463     73.094766                    
+V 21   5967.785121  19186.074785 -22021.359372       .004906                    
+P 22   7216.947553 -20384.460569  15614.150259    -40.037952                    
+V 22  16106.196987 -11174.788020 -22224.883418       .087863                    
+P 24  11867.867191  20564.468569 -11526.995836      8.185595                    
+V 24    570.173398  15263.766608  27194.444417       .027879                    
+P 25  -9149.249796 -24893.027802  -1288.089900     61.733045                    
+V 25   2527.723370  -3011.840976  31309.411987       .008933                    
+P 26  25565.133511   8359.530267   -690.941830    409.912624                    
+V 26  -1020.694064   1433.955863 -31757.467099      -.124750                    
+P 27  -7662.951196  17898.078740 -17356.189280    919.964223                    
+V 27  -8804.679438 -21602.898667 -18404.396786       .042769                    
+P 28  -7473.650117  20897.163840  14543.645780     21.879232                    
+V 28 -14931.926765  10787.432876 -23769.122024       .016542                    
+P 29  23685.547043  10483.425933  -5744.656428    229.991127                    
+V 29  -7927.639766    128.641946 -30965.325544       .032775                    
+P 30  19013.842596 -18441.242281    718.690755    805.353171                    
+V 30   1628.211648   3290.183207  31406.635365       .142654                    
+P 31 -26207.893025  -4030.440973   3121.829611     40.259529                    
+V 31  -3438.780477  -4212.943647 -30675.383887       .308224                    
+*  2004  3  1  4 15   .00000000                                                 
+P  1 -24838.457141    158.199849  -9271.626826    332.615488                    
+V  1 -11110.926252  -4965.568731  29111.516118       .016578                    
+P  3 -21059.726304 -11818.553260 -11401.535589     89.943629                    
+V  3  14620.550321   -871.194941 -26097.222220       .028883                    
+P  4   4836.413192  25717.089932   3394.283261    -76.893701                    
+V  4  -4121.690632  -3329.693207  31578.248866      -.091982                    
+P  5  20186.748234  -6822.829659  15625.874524     19.803620                    
+V  5 -10597.894470  17394.367693  21288.153959       .018651                    
+P  6  19946.478943  -7678.838856 -15663.703896     -1.377013                    
+V  6  19345.654923   6443.888631  21091.532861      -.007281                    
+P  7   1566.111219  16222.973189  21393.065597    611.632789                    
+V  7 -25985.101244  -4121.648805   4956.762264      -.078442                    
+P  8  -1259.981671  24112.997468 -10892.873382    355.267691                    
+V  8  -6036.399877 -12497.168104 -27766.138017      -.088313                    
+P  9  16596.744881   4495.938370  19915.862032    -32.392219                    
+V  9   7584.614368  25067.277547 -11354.019316      -.017740                    
+P 10  11392.508450   9483.499478 -22092.085874     40.181135                    
+V 10 -19205.642204  20195.642708   -965.422099       .006604                    
+P 11 -17426.351122  -1069.135264  20038.779825     99.925711                    
+V 11  -8837.699512 -24113.339412  -8832.754263       .025618                    
+P 13 -16569.100344   8963.812614 -18731.168586    -30.901206                    
+V 13 -22782.410565  -6543.637767  17133.590542       .002112                    
+P 14  -2881.289099 -15493.195691  21426.568555    -18.161024                    
+V 14  26504.830099   5413.377171   7507.714171      -.001085                    
+P 15  -2968.553887 -25960.774615  -4204.430053    233.058017                    
+V 15   3787.578740   4351.271154 -31474.290384       .056398                    
+P 16  -7435.523951 -13885.475106 -21315.128237     15.274901                    
+V 16  18858.724728 -19648.519835   6207.911265      -.004016                    
+P 17  14960.459527  12632.037200 -18107.958630    207.453758                    
+V 17   3165.125797  22853.295386  17659.290737       .194843                    
+P 18  17741.062719 -19503.930111   2065.266397    -15.465724                    
+V 18   3873.731395    222.178848 -31829.279709      -.026492                    
+P 20 -21072.700050  10486.300175  12236.539002   -184.077272                    
+V 20   8878.912899 -13071.160807  26347.471747       .027611                    
+P 21   8135.469429 -18118.853623 -17491.153844     73.095269                    
+V 21   7474.372593  21084.495646 -18804.778911       .004907                    
+P 22   8553.405483 -21348.713386  13486.860594    -40.029843                    
+V 22  13582.956484 -10174.248932 -24981.707554       .087847                    
+P 24  11924.462268  21795.565242  -8985.658953      8.187331                    
+V 24    617.199506  12064.732713  29196.175810       .027890                    
+P 25  -8874.661543 -25019.837821   1532.759550     61.734970                    
+V 25   3636.041139    169.106165  31286.200933       .008890                    
+P 26  25323.660680   8449.706982  -3535.518782    409.901015                    
+V 26  -4355.205770    641.587575 -31368.272001      -.124775                    
+P 27  -8530.758499  15889.440901 -18849.908979    919.967984                    
+V 27 -10487.150406 -22944.644528 -14739.420805       .042769                    
+P 28  -8704.769204  21813.486454  12284.940509     21.880750                    
+V 28 -12424.017747   9496.030748 -26353.325103       .016531                    
+P 29  22819.852220  10480.347343  -8473.846091    229.994129                    
+V 29 -11297.091324   -124.300705 -29595.033619       .032781                    
+P 30  19060.376442 -18030.622544   3530.871317    805.365975                    
+V 30   -540.339629   5873.794291  30995.542774       .142663                    
+P 31 -26374.378786  -4369.317403    342.418319     40.286301                    
+V 31   -242.196071  -3380.238576 -31001.905938       .308127                    
+*  2004  3  1  4 30   .00000000                                                 
+P  1 -25701.564689   -229.142051  -6578.982721    332.616612                    
+V  1  -8022.405404  -3700.314387  30638.158690       .016410                    
+P  3 -19619.460091 -11913.898780 -13647.129561     89.945867                    
+V  3  17342.205278  -1304.893151 -23734.285752       .028964                    
+P  4   4408.309674  25274.484005   6198.227801    -76.901521                    
+V  4  -5449.724900  -6465.370053  30640.492849      -.091978                    
+P  5  19209.296710  -5152.190836  17399.688589     19.804812                    
+V  5 -11048.773280  19699.945622  18072.533630       .018232                    
+P  6  21589.307270  -7160.084488 -13635.330498     -1.375526                    
+V  6  17094.573794   5120.192191  23917.206849      -.007249                    
+P  7   -799.275940  15907.762648  21660.609572    611.625943                    
+V  7 -26497.680941  -2865.057755    979.853371      -.078447                    
+P  8  -1872.744081  22872.215692 -13290.225892    355.259339                    
+V  8  -7620.891726 -15008.505870 -25432.681942      -.088285                    
+P  9  17311.300743   6670.713463  18721.055798    -32.393935                    
+V  9   8238.491566  23193.795043 -15154.898086      -.017985                    
+P 10   9715.850158  11347.470750 -21989.461180     40.181122                    
+V 10 -17993.281868  21154.238941   3244.327138       .006357                    
+P 11 -18247.419747  -3174.485305  19074.099953     99.927995                    
+V 11  -9356.364658 -22610.691408 -12573.223197       .025604                    
+P 13 -18543.537122   8449.508970 -17032.463795    -30.901113                    
+V 13 -21010.506392  -4912.047260  20561.674412       .002112                    
+P 14   -453.122686 -15065.963531  21916.785449    -18.160842                    
+V 14  27366.800890   4051.529228   3370.564233      -.001090                    
+P 15  -2576.977536 -25424.764375  -6992.380111    233.062983                    
+V 15   4973.669367   7518.431265 -30390.913002       .056472                    
+P 16  -5810.144904 -15667.800084 -20573.474814     15.274666                    
+V 16  17216.473458 -19879.787217  10249.355069      -.004012                    
+P 17  15280.328196  14584.256815 -16369.533791    207.471056                    
+V 17   3886.250415  20470.350766  20914.471208       .194834                    
+P 18  17978.470785 -19373.804063   -809.044349    -15.468011                    
+V 18   1450.653663   2719.642601 -31951.315199      -.026497                    
+P 20 -20220.992329   9189.640284  14495.281791   -184.074857                    
+V 20   9969.477543 -15736.354359  23774.156811       .027615                    
+P 21   8880.923691 -16154.185169 -19026.719002     73.095615                    
+V 21   9104.818500  22489.784060 -15271.236390       .004909                    
+P 22   9661.492865 -22201.777417  11130.096813    -40.022015                    
+V 22  11046.760939  -8706.053494 -27316.952766       .087828                    
+P 24  11966.050289  22732.386743  -6287.168816      8.189512                    
+V 24    234.441341   8741.328400  30682.080859       .027942                    
+P 25  -8484.206783 -24868.350991   4327.357011     61.735465                    
+V 25   5095.689231   3158.278109  30727.646981       .008602                    
+P 26  24780.841218   8488.075274  -6321.723619    409.889343                    
+V 26  -7701.528798    283.920214 -30462.412443      -.124803                    
+P 27  -9550.554103  13784.349609 -20001.378708    919.972335                    
+V 27 -12166.754542 -23743.531434 -10811.078102       .042770                    
+P 28  -9710.962522  22592.478571   9813.513758     21.882244                    
+V 28  -9948.978435   7739.565883 -28488.896662       .016519                    
+P 29  21655.927445  10473.962352 -11056.218872    229.996949                    
+V 29 -14538.078417     52.470144 -27706.934826       .032782                    
+P 30  18927.094224 -17378.125963   6281.664738    805.378940                    
+V 30  -2358.971803   8651.514191  30043.998688       .142673                    
+P 31 -26249.459647  -4650.459525  -2442.801278     40.313407                    
+V 31   3021.937227  -2932.813037 -30804.971617       .308049                    
+*  2004  3  1  4 45   .00000000                                                 
+P  1 -26275.409069   -519.079394  -3772.716979    332.618679                    
+V  1  -4698.131852  -2808.571612  31633.154694       .016253                    
+P  3 -17947.036555 -12063.082509 -15661.622407     89.949109                    
+V  3  19767.273779  -2059.741143 -20968.748980       .029160                    
+P  4   3845.838432  24561.919969   8893.477957    -76.909748                    
+V  4  -7098.060524  -9314.884595  29166.597210      -.091979                    
+P  5  18211.033662  -3283.730769  18869.483714     19.805704                    
+V  5 -11064.746032  21776.034067  14542.211212       .017890                    
+P  6  23012.386591  -6749.680955 -11371.204793     -1.375479                    
+V  6  14473.399877   4046.858802  26323.207681      -.007449                    
+P  7  -3188.577938  15709.262764  21568.810081    611.618565                    
+V  7 -26514.351220  -1541.880223  -3018.008264      -.078452                    
+P  8  -2637.866979  21424.449732 -15457.823902    355.250798                    
+V  8  -9409.213297 -17087.622931 -22668.388488      -.088251                    
+P  9  18068.790900   8659.877885  17196.566869    -32.396279                    
+V  9   8530.126681  20955.899151 -18669.781658      -.018250                    
+P 10   8163.428001  13277.502755 -21509.484291     40.179950                    
+V 10 -16457.611482  21654.699557   7408.170422       .006123                    
+P 11 -19100.384455  -5128.952521  17782.183164     99.930494                    
+V 11  -9538.392069 -20771.477745 -16094.377954       .025589                    
+P 13 -20336.698490   8073.573102 -15040.607209    -30.900747                    
+V 13 -18762.731343  -3482.505416  23638.614606       .002115                    
+P 14   2028.539286 -14767.837876  22031.558408    -18.160990                    
+V 14  27689.520523   2559.266845   -823.610113      -.001093                    
+P 15  -2063.361621 -24616.227868  -9659.110006    233.068193                    
+V 15   6490.311636  10393.627812 -28785.014278       .056669                    
+P 16  -4343.251481 -17449.148024 -19475.594645     15.274268                    
+V 16  15351.353474 -19622.026872  14112.563330      -.004011                    
+P 17  15648.986629  16307.300790 -14354.498761    207.488044                    
+V 17   4241.299382  17774.375341  23798.389997       .194824                    
+P 18  18011.958482 -19006.509468  -3669.241489    -15.470107                    
+V 18   -646.979671   5479.530454 -31516.053157      -.026508                    
+P 20 -19292.365466   7656.494486  16503.506735   -184.072491                    
+V 20  10588.291142 -18310.307366  20788.397039       .027621                    
+P 21   9775.450492 -14086.318273 -20232.374208     73.095866                    
+V 21  10772.299345  23374.837968 -11484.404750       .004910                    
+P 22  10544.182154 -22902.409362   8583.683105    -40.013415                    
+V 22   8589.047299  -6791.992898 -29189.973016       .087804                    
+P 24  11953.630423  23368.356596  -3479.058881      8.191562                    
+V 24   -582.049103   5396.285609  31629.170786       .027960                    
+P 25  -7948.335748 -24459.529277   7048.089346     61.735440                    
+V 25   6858.272039   5875.127422  29647.818730       .008363                    
+P 26  23939.863592   8513.831455  -9003.733831    409.877805                    
+V 26 -10965.324294    359.613803 -29056.144712      -.124824                    
+P 27 -10717.906085  11632.094831 -20790.269180    919.976616                    
+V 27 -13750.828568 -23993.469399  -6695.052842       .042771                    
+P 28 -10499.286730  23193.621454   7171.617263     21.883360                    
+V 28  -7597.094463   5550.805058 -30135.480445       .016504                    
+P 29  20209.832190  10501.938415 -13446.449209    229.999169                    
+V 29 -17551.487592    633.514277 -25330.967260       .032782                    
+P 30  18647.611750 -16470.118835   8922.990960    805.392002                    
+V 30  -3783.162145  11536.711913  28566.106047       .142680                    
+P 31 -25831.109580  -4909.058973  -5186.980183     40.340057                    
+V 31   6263.454465  -2879.319108 -30091.761306       .307994                    
+*  2004  3  1  5  0   .00000000                                                 
+P  1 -26543.008666   -747.004768   -901.422517    332.618106                    
+V  1  -1233.361920  -2326.868400  32081.543553       .016120                    
+P  3 -16072.320578 -12292.687935 -17410.794350     89.949788                    
+V  3  21827.086502  -3082.052415 -17846.408289       .029297                    
+P  4   3122.972443  23608.709969  11432.947038    -76.918074                    
+V  4  -9002.189395 -11801.381450  27184.065254      -.091979                    
+P  5  17229.667546  -1241.864140  20009.725553     19.807423                    
+V  5 -10680.409586  23540.472988  10760.005349       .017774                    
+P  6  24185.575076  -6422.379947  -8910.939573     -1.376963                    
+V  6  11554.422041   3282.035117  28269.942919      -.007749                    
+P  7  -5556.815437  15629.716413  21118.659932    611.611762                    
+V  7 -26030.110889   -235.603332  -6972.817451      -.078459                    
+P  8  -3570.062650  19810.825473 -17359.125721    355.243110                    
+V  8 -11319.323119 -18687.948582 -19523.958424      -.088216                    
+P  9  18834.532960  10434.380722  15370.869974    -32.398407                    
+V  9   8415.971578  18438.436322 -21839.088552      -.018348                    
+P 10   6760.736310  15230.192321 -20659.522725     40.181041                    
+V 10 -14680.326815  21651.604354  11454.317487       .005998                    
+P 11 -19952.961787  -6905.386654  16185.486734     99.932980                    
+V 11  -9341.965089 -18667.023895 -19336.540306       .025573                    
+P 13 -21908.342537   7814.275096 -12789.663615    -30.900489                    
+V 13 -16099.239481  -2331.970588  26310.762292       .002117                    
+P 14   4514.339287 -14606.469733  21768.969598    -18.160818                    
+V 14  27457.810614   1027.907911  -5003.324943      -.001096                    
+P 15  -1400.668013 -23564.970654 -12158.940067    233.074194                    
+V 15   8274.981949  12900.669456 -26687.959961       .056723                    
+P 16  -3050.893071 -19184.489160 -18040.579972     15.273979                    
+V 16  13353.274971 -18855.702993  17730.369185      -.004008                    
+P 17  16031.553658  17776.860855 -12098.263796    207.505083                    
+V 17   4189.967958  14852.460801  26267.881693       .194817                    
+P 18  17873.517795 -18382.120831  -6465.430512    -15.472064                    
+V 18  -2361.733112   8418.042557 -30531.003844      -.026520                    
+P 20 -18328.979127   5899.385353  18226.356870   -184.069912                    
+V 20  10745.075173 -20697.733696  17441.633283       .027627                    
+P 21  10818.365441 -11962.586993 -21088.331369     73.096145                    
+V 21  12387.408469  23731.427366  -7511.630661       .004911                    
+P 22  11212.481416 -23412.124276   5890.773149    -40.005643                    
+V 22   6296.383735  -4471.418805 -30567.540152       .087780                    
+P 24  11848.699157  23706.120900   -610.481986      8.193933                    
+V 24  -1817.330238   2131.158904  32024.463784       .028002                    
+P 25  -7242.468682 -23821.078852   9648.993152     61.736062                    
+V 25   8862.118424   8250.754340  28069.209123       .008329                    
+P 26  22812.321692   8565.255968 -11537.510578    409.866322                    
+V 26 -14054.670066    849.740512 -27172.794929      -.124838                    
+P 27 -12020.129071   9481.566914 -21203.225887    919.980180                    
+V 27 -15149.308109 -23709.352572  -2470.329825       .042772                    
+P 28 -11084.657853  23580.153452   4404.767906     21.885537                    
+V 28  -5452.149228   2980.252968 -31261.021738       .016490                    
+P 29  18506.263755  10598.841950 -15602.320990    230.002250                    
+V 29 -20245.107030   1575.572646 -22506.218910       .032787                    
+P 30  18258.811483 -15301.086872  11408.477801    805.404816                    
+V 30  -4785.075165  14436.169279  26585.665232       .142684                    
+P 31 -25125.394025  -5180.324968  -7844.276060     40.367295                    
+V 31   9393.236590  -3211.534689 -28877.397748       .307949                    
+*  2004  3  1  5 15   .00000000                                                 
+P  1 -26496.202254   -950.785150   1985.391122    332.619812                    
+V  1   2271.769418  -2273.505425  31977.919846       .016195                    
+P  3 -14030.830000 -12623.924868 -18864.816354     89.953406                    
+V  3  23465.070276  -4306.485376 -14418.920428       .029578                    
+P  4   2220.064669  22450.447950  13772.443915    -76.926353                    
+V  4 -11085.329074 -13862.553975  24729.617681      -.091981                    
+P  5  16299.076963    942.028136  20800.742572     19.810104                    
+V  5  -9945.959473  24921.132514   6793.169912       .017731                    
+P  6  25085.712224  -6148.325222  -6297.340086     -1.377200                    
+V  6   8419.996647   2869.647990  29726.139947      -.008049                    
+P  7  -7859.295273  15663.857413  20316.910510    611.604167                    
+V  7 -25056.320687    970.913066 -10820.744920      -.078465                    
+P  8  -4676.354146  18075.859286 -18962.423363    355.236438                    
+V  8 -13262.967127 -19780.894382 -16055.921362      -.088178                    
+P  9  19570.671961  11973.182946  13277.465416    -32.398963                    
+V  9   7869.282865  15733.983383 -24610.854841      -.018418                    
+P 10   5525.529800  17158.837909 -19453.353903     40.180810                    
+V 10 -12751.162861  21117.355731  15312.324923       .005876                    
+P 11 -20769.753927  -8483.427750  14311.624021     99.935018                    
+V 11  -8739.931899 -16376.413832 -22244.962225       .025557                    
+P 13 -23224.328640   7643.497948 -10318.226075    -30.900197                    
+V 13 -13095.048403  -1524.938879  28531.291955       .002122                    
+P 14   6954.410694 -14581.208557  21133.531521    -18.160842                    
+V 14  26675.574432   -450.000630  -9097.364359      -.001105                    
+P 15   -568.056434 -22307.016446 -14449.386170    233.081290                    
+V 15  10252.950139  14977.964408 -24139.252671       .056731                    
+P 16  -1940.859051 -20827.874454 -16293.379135     15.273620                    
+V 16  11315.270020 -17580.009337  21039.997943      -.004004                    
+P 17  16390.261327  18976.745013  -9639.794476    207.522811                    
+V 17   3708.575224  11797.321759  28287.144742       .194811                    
+P 18  17599.575497 -17488.674044  -9148.844062    -15.474942                    
+V 18  -3652.802209  11442.632443 -29013.665316      -.026543                    
+P 20 -17371.291566   3939.217736  19633.901520   -184.067323                    
+V 20  10467.773760 -22808.253981  13791.738277       .027633                    
+P 21  12000.957194  -9830.213704 -21580.980125     73.096719                    
+V 21  13861.774953  23570.203869  -3422.634434       .004912                    
+P 22  11684.846759 -23696.724467   3097.153017    -39.997782                    
+V 22   4247.186780  -1799.988225 -31424.482826       .087755                    
+P 24  11614.923344  23757.266901   2268.691241      8.196650                    
+V 24  -3438.295921   -957.539238  31864.970653       .028087                    
+P 25  -6348.082223 -22986.295164  12086.484717     61.737706                    
+V 25  11034.758005  10230.187156  26022.093024       .008264                    
+P 26  21417.857238   8678.161951 -13881.419794    409.855106                    
+V 26 -16883.149010   1718.578191 -24842.417155      -.124851                    
+P 27 -13436.699011   7379.402930 -21234.077693    919.983635                    
+V 27 -16278.703044 -22926.126532   1782.773204       .042774                    
+P 28 -11489.112330  23720.596251   1560.962767     21.886625                    
+V 28  -3588.054506     94.473053 -31842.583011       .016473                    
+P 29  16577.770806  10794.603108 -17485.528241    230.005209                    
+V 29 -22537.252236   2819.209821 -19280.385981       .032794                    
+P 30  17799.286653 -13874.066899  13694.321591    805.417912                    
+V 30  -5354.658024  17253.697217  24135.890201       .142679                    
+P 31 -24146.235558  -5497.985123 -10370.548925     40.394596                    
+V 31  12326.301339  -3904.894144 -27184.510514       .307914                    
+*  2004  3  1  5 30   .00000000                                                 
+P  1 -26135.919863  -1169.089924   4838.156089    332.620642                    
+V  1   5715.998597  -2647.978727  31326.368503       .016285                    
+P  3 -11862.551469 -13071.691171 -19998.744270     89.955701                    
+V  3  24638.792396  -5658.569148 -10743.049771       .029813                    
+P  4   1124.814438  21127.593003  15871.466936    -76.935199                    
+V  4 -13261.567556 -15452.916345  21848.370808      -.091982                    
+P  5  15448.001033   3230.634035  21229.066836     19.811278                    
+V  5  -8924.997854  25858.776813   2712.085640       .017474                    
+P  6  25697.386492  -5894.410970  -3575.636644     -1.379031                    
+V  6   5159.423234   2837.761590  30669.231188      -.008211                    
+P  7 -10053.074840  15799.107367  19176.019328    611.597890                    
+V  7 -23620.429829   1998.549789 -14498.956200      -.078471                    
+P  8  -5955.673826  16265.800567 -20241.316522    355.228373                    
+V  8 -15149.201105 -20356.601200 -12325.505527      -.088154                    
+P  9  20237.738385  13263.784002  10954.160975    -32.401208                    
+V  9   6881.011353  12939.070777 -26941.416296      -.018571                    
+P 10   4467.256112  19015.108807 -17910.987321     40.180456                    
+V 10 -10764.378000  20043.510579  18914.356526       .005796                    
+P 11 -21513.624461  -9850.069591  12192.880772     99.937396                    
+V 11  -7720.949896 -13983.457965 -24770.697988       .025539                    
+P 13 -24257.835449   7527.981306  -7668.761952    -30.900055                    
+V 13  -9837.289035  -1110.819088  30261.067905       .002133                    
+P 14   9300.094671 -14683.157452  20136.109976    -18.161076                    
+V 14  25365.667284  -1784.363104 -13035.954209      -.001108                    
+P 15    448.151504 -20883.195321 -16491.851689    233.087669                    
+V 15  12340.331324  16580.585219 -21185.618555       .056439                    
+P 16  -1012.564454 -22334.133395 -14264.350302     15.273247                    
+V 16   9329.783710 -15813.015054  23984.183533      -.004000                    
+P 17  16685.986247  19899.232815  -7020.939907    207.540158                    
+V 17   2790.742484   8703.939107  29827.923203       .194810                    
+P 18  17229.423064 -16322.793995 -11672.727007    -15.477446                    
+V 18  -4497.521933  14455.601481 -26991.181426      -.026547                    
+P 20 -16456.469029   1804.676457  20701.670309   -184.064932                    
+V 20   9801.337797 -24559.925547   9902.000399       .027637                    
+P 21  13306.740335  -7734.636763 -21703.043597     73.097366                    
+V 21  15111.583741  22919.982799    711.770468       .004918                    
+P 22  11986.311150 -23727.686652    250.491252    -39.989891                    
+V 22   2508.722507   1152.221260 -31744.218677       .087740                    
+P 24  11219.715243  23541.705288   5108.763351      8.199825                    
+V 24  -5395.117121  -3781.922468  31157.476978       .028118                    
+P 25  -5253.556429 -21992.727777  14320.028530     61.738606                    
+V 25  13295.745908  11774.098307  23543.808619       .008179                    
+P 26  19783.532184   8884.440116 -15996.821306    409.844042                    
+V 26 -19372.746846   2914.950900 -22101.424470      -.124862                    
+P 27 -14940.010991   5368.257986 -20883.869064    919.986937                    
+V 27 -17065.714499 -21696.960179   5984.543759       .042776                    
+P 28 -11740.779779  23590.098471  -1310.172092     21.888058                    
+V 28  -2065.837679  -3026.281251 -31866.995461       .016455                    
+P 29  14463.655925  11113.160137 -19062.417639    230.008189                    
+V 29 -24360.025359   4291.151409 -15709.022175       .032799                    
+P 30  17307.717323 -12200.745609  15740.113156    805.431290                    
+V 30  -5500.036920  19893.899794  21258.897781       .142676                    
+P 31 -22914.909481  -5892.859757 -12724.014992     40.421982                    
+V 31  14984.698548  -4919.583675 -25042.744111       .307886                    
+*  2004  3  1  5 45   .00000000                                                 
+P  1 -25472.115088  -1439.700192   7608.091304    332.620565                    
+V  1   9000.682721  -3431.140336  30140.237829       .016377                    
+P  3  -9610.594365 -13643.878286 -20792.941761     89.959605                    
+V  3  25321.503578  -7057.579943  -6879.838861       .030098                    
+P  4   -167.066255  19683.879572  17693.916355    -76.943288                    
+V  4 -15439.362393 -16545.366824  18592.852686      -.091979                    
+P  5  14698.951817   5581.980430  21287.654614     19.813222                    
+V  5  -7691.809252  26309.402224  -1411.096540       .017277                    
+P  6  26013.410801  -5625.759497   -792.690092     -1.379029                    
+V  6   1865.599084   3197.574988  31085.573221      -.008254                    
+P  7 -12098.377237  16016.049545  17714.022424    611.590696                    
+V  7 -21765.156452   2774.955143 -17946.463382      -.078479                    
+P  8  -7398.781830  14426.939596 -21175.083828    355.221046                    
+V  8 -16887.954616 -20423.964594  -8397.489694      -.088137                    
+P  9  20796.252961  14302.406107   8442.303183    -32.402445                    
+V  9   5459.954654  10150.380010 -28795.853386      -.018708                    
+P 10   3586.815572  20750.801933 -16058.373060     40.181071                    
+V 10  -8815.021504  18441.386171  22196.444330       .005770                    
+P 11 -22147.150105 -10999.942349   9865.657478     99.940147                    
+V 11  -6290.025143 -11573.505583 -26871.373771       .025525                    
+P 13 -24990.308837   7430.775888  -4886.886498    -30.900339                    
+V 13  -6421.974144  -1121.892144  31469.384832       .002142                    
+P 14  11505.613383 -14895.556366  18793.742250    -18.161322                    
+V 14  23569.058514  -2891.121026 -16751.913714      -.001107                    
+P 15   1653.797583 -19337.576361 -18252.233317    233.092413                    
+V 15  14447.440625  17681.653565 -17880.011825       .056133                    
+P 16   -257.268763 -23660.551536 -11988.719427     15.272879                    
+V 16   7485.005019 -13591.070341  26512.177157      -.003995                    
+P 17  16879.814115  20545.128637  -4285.749466    207.557479                    
+V 17   1447.454733   5666.223843  30869.583176       .194814                    
+P 18  16803.544075 -14889.987971 -13993.181569    -15.479812                    
+V 18  -4892.129054  17357.905332 -24499.798433      -.026548                    
+P 20 -15616.935372   -468.680521  21411.090785   -184.062199                    
+V 20   8805.835342 -25882.457016   5840.001623       .027639                    
+P 21  14712.015538  -5717.933704 -21453.620770     73.097765                    
+V 21  16060.862687  21826.348444   4820.912739       .004920                    
+P 22  12147.360528 -23483.353319  -2600.453557    -39.982000                    
+V 22   1134.508161   4303.167978 -31519.164045       .087726                    
+P 24  10635.648503  23086.747681   7861.073159      8.202275                    
+V 24  -7623.319392  -6265.899165  29918.145267       .028122                    
+P 25  -3954.756090 -20880.717683  16312.738590     61.739906                    
+V 25  15559.723440  12859.917773  20677.986177       .007985                    
+P 26  17942.951974   9210.747385 -17848.623470    409.832884                    
+V 26 -21456.477876   4374.075558 -18992.191055      -.124875                    
+P 27 -16496.439954   3485.277042 -20160.722087    919.990929                    
+V 27 -17450.323498 -20090.641334  10057.706723       .042779                    
+P 28 -11872.605921  23171.538033  -4158.282932     21.889575                    
+V 28   -931.124236  -6291.042101 -31331.315685       .016437                    
+P 29  12208.606909  11571.342380 -20304.654278    230.010870                    
+V 29 -25662.060307   5907.233037 -11854.585877       .032806                    
+P 30  16821.244812 -10301.217436  17509.608228    805.444051                    
+V 30  -5247.157032  22265.957390  18004.987388       .142672                    
+P 31 -21459.290927  -6391.558324 -14865.854226     40.449310                    
+V 31  17300.123392  -6202.149989 -22488.222904       .307860                    
+*  2004  3  1  6  0   .00000000                                                 
+P  1 -24523.365361  -1797.865092  10248.020356    332.620572                    
+V  1  12033.405835  -4586.076290  28441.764869       .016756                    
+P  3  -7319.730660 -14340.947747 -21233.425289     89.963357                    
+V  3  25503.121534  -8419.669120  -2893.707105       .030265                    
+P  4  -1651.511603  18164.621015  19208.712136    -76.951381                    
+V  4 -17525.240898 -17131.988754  15021.889864      -.091981                    
+P  5  14067.391483   7950.886297  20975.983953     19.814458                    
+V  5  -6328.223009  26245.957063  -5503.827141       .016996                    
+P  6  26034.991944  -5307.259290   2003.815249     -1.379137                    
+V  6  -1368.415578   3943.084427  30970.507365      -.008428                    
+P  7 -13959.908473  16289.167590  15954.328570    611.583317                    
+V  7 -19547.133635   3237.386444 -21105.010421      -.078484                    
+P  8  -8988.502090  12603.944798 -21748.950892    355.213044                    
+V  8 -18393.501938 -20009.962069  -4339.061620      -.088123                    
+P  9  21208.313097  15093.841039   5785.978592    -32.405055                    
+V  9   3632.204197   7461.070268 -30148.216853      -.018843                    
+P 10   2876.661254  22319.618849 -13926.997784     40.181556                    
+V 10  -6995.128633  16341.898581  25099.723133       .005745                    
+P 11 -22634.093067 -11935.305849   7369.847417     99.942676                    
+V 11  -4468.430351  -9230.221331 -28511.846031       .025500                    
+P 13 -25412.101919   7312.851952  -2020.576116    -30.900183                    
+V 13  -2950.408505  -1571.940458  32134.564531       .002149                    
+P 14  13529.636945 -15194.478706  17129.353260    -18.161774                    
+V 14  21343.315674  -3695.609911 -20181.768930      -.001105                    
+P 15   3046.522648 -17715.807494 -19701.434714    233.098551                    
+V 15  16482.313000  18273.015105 -14280.566527       .055732                    
+P 16    341.382369 -24768.462074  -9505.952996     15.272190                    
+V 16   5861.383650 -10967.497342  28580.628959      -.003987                    
+P 17  16934.582900  20923.519508  -1479.786602    207.574763                    
+V 17   -293.469386   2773.803491  31399.105436       .194819                    
+P 18  16361.907767 -13204.592913 -16069.955044    -15.482124                    
+V 18  -4851.749616  20053.012839 -21584.135754      -.026551                    
+P 20 -14879.119362  -2839.599145  21749.821116   -184.059724                    
+V 20   7553.962603 -26719.978462   1676.411217       .027638                    
+P 21  16186.710561  -3817.397728 -20838.120488     73.098183                    
+V 21  16644.417908  20349.656652   8835.433182       .004922                    
+P 22  12202.598135 -22949.880290  -5406.655970    -39.974231                    
+V 22    162.220749   7561.789564 -30751.005586       .087713                    
+P 24   9841.662349  22425.921893  10478.815906      8.205158                    
+V 24 -10046.393235  -8347.815240  28171.963777       .028190                    
+P 25  -2455.330226 -19691.862214  18031.908699     61.739645                    
+V 25  17739.601401  13482.327663  17473.743885       .007734                    
+P 26  15935.167562   9677.382617 -19405.800500    409.821616                    
+V 26 -23080.663603   6019.863409 -15562.619770      -.124889                    
+P 27 -18067.650517   1760.830286 -19079.540856    919.994762                    
+V 27 -17388.219432 -18188.353201  13929.085769       .042779                    
+P 28 -11920.875834  22456.333589  -6933.220980     21.890913                    
+V 28   -212.236738  -9601.595083 -30243.061710       .016418                    
+P 29   9861.109091  12178.042014 -21189.793129    230.013577                    
+V 29 -26410.624074   7575.846190  -7785.300483       .032814                    
+P 30  16373.912341  -8203.407396  18971.423890    805.456706                    
+V 30  -4638.674278  24287.261555  14431.720520       .142666                    
+P 31 -19812.882311  -7015.341394 -16760.768160     40.477918                    
+V 31  19216.172815  -7687.559253 -19562.982340       .307835                    
+*  2004  3  1  6 15   .00000000                                                 
+P  1 -23316.159099  -2274.767735  12713.149637    332.621763                    
+V  1  14731.309929  -6059.655068  26261.569282       .017465                    
+P  3  -5034.873009 -15155.796484 -21312.124979     89.965033                    
+V  3  25190.614810  -9661.134009   1148.516693       .030356                    
+P  4  -3316.096989  16614.976175  20390.307039    -76.959703                    
+V  4 -19427.543718 -17224.071160  11199.399453      -.091976                    
+P  5  13561.205435  10290.540351  20300.029370     19.815514                    
+V  5  -4920.197378  25659.378638  -9494.512403       .016821                    
+P  6  25771.591743  -4905.103548   4766.177336     -1.381147                    
+V  6  -4452.791335   5051.408537  30328.272181      -.008573                    
+P  7 -15608.029722  16587.827907  13925.432414    611.575941                    
+V  7 -17035.048207   3335.267322 -23919.988803      -.078488                    
+P  8 -10700.261844  10838.290267 -21954.256657    355.204858                    
+V  8 -19587.716088 -19158.329753   -218.702397      -.088110                    
+P  9  21439.099894  15650.977318   3031.203709    -32.406589                    
+V  9   1439.945062   4957.370509 -30981.558425      -.018774                    
+P 10   2321.239040  23678.893134 -11553.371937     40.182109                    
+V 10  -5389.995906  13794.622340  27571.608527       .005794                    
+P 11 -22940.838203 -12665.755591   4748.160709     99.945209                    
+V 11  -2293.007565  -7032.445402 -29664.741629       .025478                    
+P 13 -25522.781006   7134.798649    880.664999    -30.899662                    
+V 13    474.620165  -2455.606773  32244.393210       .002155                    
+P 14  15336.685449 -15549.814963  15171.373810    -18.161796                    
+V 14  18760.466093  -4135.560348 -23266.812022      -.001095                    
+P 15   4615.721357 -16063.426705 -20815.784426    233.102300                    
+V 15  18354.251569  18365.202835 -10449.521479       .055353                    
+P 16    806.515499 -25624.689383  -6859.057765     15.271654                    
+V 16   4528.470610  -8010.620682  30154.326625      -.003979                    
+P 17  16816.353139  21051.252693   1350.553673    207.592576                    
+V 17  -2388.459818    109.022490  31411.013426       .194827                    
+P 18  15942.298533 -11289.379057 -17867.154295    -15.484671                    
+V 18  -4409.616794  22450.656263 -18296.291707      -.026551                    
+P 20 -14262.449339  -5262.531381  21711.971285   -184.057091                    
+V 20   6128.054560 -27033.255611  -2516.281276       .027641                    
+P 21  17695.465782  -2064.317643 -19868.093688     73.098745                    
+V 21  16810.317839  18562.527559  12688.374407       .004923                    
+P 22  12189.246822 -22121.901293  -8119.664598    -39.966400                    
+V 22   -387.798956  10831.331586 -29450.819880       .087709                    
+P 24   8824.011263  21597.576213  12917.807974      8.207604                    
+V 24 -12578.818867  -9982.487940  25952.070151       .028186                    
+P 25   -766.723715 -18467.463203  19449.469478     61.739473                    
+V 25  19749.755524  13653.142206  13984.866181       .007535                    
+P 26  13803.390563  10297.387671 -20641.869018    409.810664                    
+V 26 -24206.795878   7767.614778 -11865.666734      -.124902                    
+P 27 -19612.092164    217.559726 -17661.575920    919.998695                    
+V 27 -16852.480328 -16080.013388  17531.044927       .042778                    
+P 28 -11923.597583  21444.926955  -9585.985649     21.892717                    
+V 28     80.993529 -12856.297027 -28620.209588       .016399                    
+P 29   7471.701518  12933.713042 -21701.740376    230.017297                    
+V 29 -26592.970641   9201.739166  -3573.851309       .032821                    
+P 30  15995.237735  -5942.179500  20099.643881    805.469521                    
+V 30  -3732.138721  25886.741436  10602.819738       .142665                    
+P 31 -18013.656148  -7779.185522 -18377.485235     40.504864                    
+V 31  20690.182719  -9301.634138 -16314.372257       .307815                    
+*  2004  3  1  6 30   .00000000                                                 
+P  1 -21883.899939  -2896.158138  14961.795636    332.623606                    
+V  1  17024.032816  -7784.676329  23638.032680       .018302                    
+P  3  -2799.546156 -16073.918602 -21027.055673     89.968290                    
+V  3  24407.765801 -10701.715585   5178.620912       .030493                    
+P  4  -5140.367038  15078.248739  21219.088036    -76.968221                    
+V  4 -21060.057227 -16851.365270   7193.121175      -.091968                    
+P  5  13180.490005  12554.139889  19272.116555     19.815830                    
+V  5  -3554.269496  24558.913265 -13313.821230       .016643                    
+P  6  25240.489316  -4388.270494   7447.468080     -1.381857                    
+V  6  -7304.158046   6483.750382  29171.780291      -.008586                    
+P  7 -17019.740826  16877.475775  11660.544100    611.569128                    
+V  7 -14307.316282   3032.364028 -26341.375728      -.078490                    
+P  8 -12502.910081   9166.829202 -21788.521067    355.196635                    
+V  8 -20402.996093 -17927.655997   3894.888770      -.088094                    
+P  9  21458.250936  15994.036984    225.119869    -32.408489                    
+V  9  -1060.312130   2715.550832 -31287.795354      -.018755                    
+P 10   1897.753498  24791.198771  -8978.414653     40.182597                    
+V 10  -4074.691188  10866.092618  29566.886681       .005787                    
+P 11 -23037.740713 -13207.654311   2045.405301     99.947325                    
+V 11    185.116020  -5051.252987 -30310.874202       .025458                    
+P 13 -25331.084488   6858.546974   3766.669931    -30.899161                    
+V 13   3752.719755  -3748.513160  31796.386917       .002162                    
+P 14  16898.313347 -15926.506081  12953.266536    -18.161657                    
+V 14  15904.314031  -4163.629199 -25954.090479      -.001086                    
+P 15   6342.812630 -14424.207748 -21577.356681    233.108218                    
+V 15  19977.273967  17986.713224  -6452.140242       .055008                    
+P 16   1166.922692 -26202.788513  -4093.820944     15.271257                    
+V 16   3542.206286  -4801.218375  31206.778235      -.003968                    
+P 17  16495.757833  20952.155985   4158.718499    207.609464                    
+V 17  -4779.779017  -2255.763224  30907.252532       .194835                    
+P 18  15578.749099  -9174.826781 -19353.873262    -15.486834                    
+V 18  -3615.558013  24470.318392 -14694.809363      -.026551                    
+P 20 -13778.635012  -7689.208139  21298.208466   -184.054549                    
+V 20   4616.714865 -26801.258869  -6665.068802       .027642                    
+P 21  19198.919960   -483.002461 -18560.971557     73.098934                    
+V 21  16521.847452  16546.934933  16316.180286       .004919                    
+P 22  12145.546189 -21002.880013 -10692.446462    -39.958838                    
+V 22   -513.377562  14012.940870 -27639.029022       .087699                    
+P 24   7576.928556  20643.330227  15137.186137      8.210752                    
+V 24 -15129.377569 -11142.575648  23298.977636       .028131                    
+P 25   1092.095238 -17247.012825  20542.371083     61.740296                    
+V 25  21509.129208  13400.595438  10268.975671       .007548                    
+P 26  11593.561736  11075.906043 -21535.319477    409.799564                    
+V 26 -24812.923879   9527.035526  -7958.812121      -.124913                    
+P 27 -21086.610246  -1130.232251 -15933.870143    920.002897                    
+V 27 -15834.462502 -13860.367921  20802.678296       .042781                    
+P 28 -11918.813524  20146.912245 -12069.656264     21.894292                    
+V 28    -42.362637 -15954.080345 -26490.940393       .016383                    
+P 29   5091.147714  13830.222320 -21831.091247    230.020915                    
+V 29 -26216.876296  10690.010702    704.049822       .032824                    
+P 30  15708.978844  -3558.165297  20874.317678    805.482608                    
+V 30  -2597.543447  27007.733529   6586.914161       .142656                    
+P 31 -16102.753314  -8691.081516 -19689.211285     40.531761                    
+V 31  21694.595973 -10963.789479 -12794.434597       .307797                    
+*  2004  3  1  6 45   .00000000                                                 
+P  1 -20265.668070  -3681.203240  16956.051867    332.627219                    
+V  1  18856.152875  -9682.530383  20616.580278       .018989                    
+P  3   -654.407691 -17073.860671 -20382.393268     89.971373                    
+V  3  23194.312638 -11467.803251   9128.087942       .030492                    
+P  4  -7096.480113  13594.286190  21681.662163    -76.976220                    
+V  4 -22345.390316 -16060.625051   3073.322491      -.091958                    
+P  5  12917.660176  14696.525924  17910.662617     19.817222                    
+V  5  -2314.018051  22971.715920 -16895.917871       .016574                    
+P  6  24466.064536  -3729.890182  10002.299333     -1.383485                    
+V  6  -9848.554026   8186.948292  27522.272986      -.008663                    
+P  7 -18179.435994  17121.006722   9197.133936    611.562474                    
+V  7 -11449.357178   2308.489300 -28324.681568      -.078494                    
+P  8 -14359.781154   7620.562068 -21255.418170    355.188571                    
+V  8 -20784.774023 -16388.975402   7933.819417      -.088073                    
+P  9  21241.051870  16149.560311  -2584.793357    -32.410085                    
+V  9  -3799.973367    799.362556 -31067.439141      -.018745                    
+P 10   1577.231648  25625.773555  -6246.745807     40.183626                    
+V 10  -3110.948278   7637.404832  31048.683698       .005938                    
+P 11 -22900.333629 -13583.311936   -692.263802     99.949377                    
+V 11   2902.349739  -3347.320615 -30439.532782       .025434                    
+P 13 -24854.535293   6449.047702   6587.489923    -30.898976                    
+V 13   6789.687517  -5408.140042  30797.876290       .002163                    
+P 14  18194.031521 -16285.979782  10512.966574    -18.161929                    
+V 14  12867.312046  -3749.363480 -28197.310562      -.001085                    
+P 15   8201.811132 -12838.600236 -21974.195427    233.112932                    
+V 15  21273.336506  17182.642044  -2355.643520       .054542                    
+P 16   1455.734896 -26484.033004  -1258.005279     15.270959                    
+V 16   2942.760659  -1429.496635  31720.630512      -.003956                    
+P 17  15949.189417  20656.030395   6898.658308    207.626499                    
+V 17  -7397.548275  -4260.528358  29897.032767       .194845                    
+P 18  15300.140226  -6898.106801 -20504.722157    -15.489325                    
+V 18  -2533.821359  26044.315745 -10843.530638      -.026565                    
+P 20 -13431.264677 -10070.321913  20515.744506   -184.052048                    
+V 20   3111.200304 -26022.023992 -10697.739494       .027640                    
+P 21  20655.145841    909.918210 -16939.718030     73.099607                    
+V 21  15758.876299  14391.007610  19659.599420       .004922                    
+P 22  12109.106648 -19605.131984 -13080.219620    -39.951005                    
+V 22   -230.630168  17009.386082 -25345.182836       .087694                    
+P 24   6102.983948  19606.433361  17100.033776      8.212682                    
+V 24 -17604.618422 -11819.256408  20259.729879       .028042                    
+P 25   3095.179047 -16066.768832  21292.891375     61.742188                    
+V 25  22944.146413  12768.074622   6386.705537       .007440                    
+P 26   9352.818034  12009.824431 -22069.997085    409.788129                    
+V 26 -24894.513078  11205.493485  -3903.464904      -.124926                    
+P 27 -22448.101349  -2276.838915 -13928.609444    920.006827                    
+V 27 -14343.900642 -11625.030240  23690.733080       .042781                    
+P 28 -11942.910844  18580.802825 -14340.289736     21.895665                    
+V 28   -554.727574 -18798.467412 -23893.137340       .016370                    
+P 29   2768.596506  14851.062133 -21575.334110    230.023944                    
+V 29 -25310.322762  11950.120967   4971.194620       .032822                    
+P 30  15532.144300  -1096.359583  21281.840978    805.495462                    
+V 30  -1314.343573  27610.266436   2456.164625       .142640                    
+P 31 -14123.080740  -9751.589168 -20674.022846     40.559502                    
+V 31  22217.823878 -12589.981469  -9059.254775       .307795                    
+*  2004  3  1  7  0   .00000000                                                 
+P  1 -18504.786807  -4641.595390  18662.387349    332.627252                    
+V  1  20189.060921 -11666.263539  17248.880983       .019491                    
+P  3   1364.126722 -18127.956766 -19388.452286     89.974008                    
+V  3  21604.491234 -11895.426911  12929.210032       .030584                    
+P  4  -9150.140326  12198.039589  21771.025764    -76.984510                    
+V  4 -23217.967043 -14913.507620  -1088.492921      -.091953                    
+P  5  12757.869708  16675.750769  16239.809604     19.819285                    
+V  5  -1276.681460  20941.756069 -20179.597205       .016517                    
+P  6  23478.832452  -2908.447678  12387.552809     -1.384467                    
+V  6 -12023.995570  10095.548340  25408.866391      -.008737                    
+P  7 -19079.399008  17280.266861   6576.392041    611.555305                    
+V  7  -8550.545465   1160.651402 -29831.887676      -.078502                    
+P  8 -16229.962215   6223.640239 -20364.659498    355.180720                    
+V  8 -20693.526115 -14622.958822  11831.972304      -.088054                    
+P  9  20769.408694  16149.183743  -5351.475359    -32.411874                    
+V  9  -6700.974680   -741.988169 -30329.218226      -.018791                    
+P 10   1325.843455  26159.698061  -3405.897387     40.184491                    
+V 10  -2544.583338   4201.199151  31989.283630       .005915                    
+P 11 -22510.349662 -13819.945971  -3418.115427     99.951840                    
+V 11   5784.930213  -1968.695354 -30048.640080       .025413                    
+P 13 -24118.721455   5875.837063   9294.274560    -30.898720                    
+V 13   9501.066857  -7375.433806  29265.906098       .002161                    
+P 14  19211.931998 -16587.735113   7892.245346    -18.162353                    
+V 14   9747.102395  -2880.519825 -29957.639754      -.001086                    
+P 15  10160.174860 -11342.318921 -22000.443344    233.116811                    
+V 15  22175.229204  16012.745837   1771.832975       .054108                    
+P 16   1708.928933 -26458.113498   1599.485888     15.270966                    
+V 16   2753.007125   2008.289752  31687.917436      -.003949                    
+P 17  15159.786910  20197.450606   9525.472467    207.643236                    
+V 17 -10162.150198  -5859.498861  28396.642913       .194864                    
+P 18  15129.022223  -4501.805680 -21300.249598    -15.491808                    
+V 18  -1240.338312  27120.356776  -6810.368398      -.026575                    
+P 20 -13215.733442 -12357.253591  19378.205793   -184.049514                    
+V 20   1701.705107 -24712.769956 -14544.173282       .027641                    
+P 21  22021.181149   2105.897428 -15032.405391     73.099940                    
+V 21  14518.606315  12185.662836  22664.490312       .004919                    
+P 22  12115.285281 -17949.511292 -15241.258169    -39.942976                    
+V 22    426.645932  19728.760814 -22607.562385       .087685                    
+P 24   4413.127014  18530.093595  18773.928694      8.215071                    
+V 24 -19912.350977 -12022.214012  16887.007358       .027993                    
+P 25   5210.394960 -14958.466836  21688.869769     61.742377                    
+V 25  23991.346788  11812.350918   2400.875725       .007260                    
+P 26   7127.907715  13087.714780 -22235.425702    409.777127                    
+V 26 -24464.734754  12711.423123    235.711192      -.124939                    
+P 27 -23655.143498  -3225.052955 -11682.402488    920.010730                    
+V 27 -12408.257878  -9466.641700  26150.266862       .042778                    
+P 28 -12029.003695  16773.443277 -16357.762063     21.896969                    
+V 28  -1411.207510 -21301.414938 -20873.642977       .016355                    
+P 29    549.809624  15971.917821 -20938.914180    230.026447                    
+V 29 -23920.334856  12899.740817   9150.460403       .032821                    
+P 30  15474.291598   1395.459262  21315.208446    805.507918                    
+V 30     31.924267  27672.659145  -1715.193588       .142626                    
+P 31 -12117.855348 -10953.663695 -21315.200785     40.587244                    
+V 31  22264.576436 -14095.781046  -5168.283441       .307785                    
+*  2004  3  1  7 15   .00000000                                                 
+P  1 -16647.248717  -5780.950646  20052.169988    332.630126                    
+V  1  21002.201459 -13643.933340  13591.980799       .019989                    
+P  3   3225.101458 -19203.318853 -18061.561778     89.978605                    
+V  3  19705.020892 -11932.920404  16516.230187       .030648                    
+P  4 -11261.777467  10918.337491  21486.618665    -76.992831                    
+V  4 -23626.527003 -13483.932091  -5220.846836      -.091949                    
+P  5  12679.723591  18454.517849  14288.960963     19.820744                    
+V  5   -510.064423  18528.083884 -23109.303666       .016338                    
+P  6  22314.266770  -1908.779306  14563.064785     -1.383848                    
+V  6 -13782.582536  12134.315645  22868.002543      -.008650                    
+P  7 -19720.013216  17317.629019   3842.604943    611.548246                    
+V  7  -5700.938719   -396.420500 -30832.349903      -.078510                    
+P  8 -18069.717123   4992.636837 -19131.792924    355.172509                    
+V  8 -20106.230869 -12716.803316  15525.914669      -.088040                    
+P  9  20032.572118  16028.261098  -8029.003989    -32.413504                    
+V  9  -9678.660341  -1875.291769 -29089.622195      -.018781                    
+P 10   1106.427263  26378.779840   -505.458647     40.184635                    
+V 10  -2403.550886    658.147040  32370.766823       .005893                    
+P 11 -21856.518907 -13948.462352  -6085.621459     99.954033                    
+V 11   8751.596206   -949.048081 -29144.779214       .025392                    
+P 13 -23156.272670   5114.427160  11840.134566    -30.898450                    
+V 13  11815.323646  -9577.081238  27226.949559       .002163                    
+P 14  19948.991343 -16791.014659   5136.007222    -18.162246                    
+V 14   6642.857582  -1563.685907 -31204.393594      -.001088                    
+P 15  12179.894988  -9965.130280 -21656.378571    233.121607                    
+V 15  22629.050153  14549.010428   5862.246173       .053758                    
+P 16   1963.727818 -26123.521268   4429.458257     15.270446                    
+V 16   2977.685330   5413.436937  31110.138011      -.003937                    
+P 17  14118.192593  19614.413383  11996.037067    207.660753                    
+V 17 -12986.935466  -7022.603185  26429.239875       .194891                    
+P 18  15080.703780  -2032.448445 -21727.251690    -15.494009                    
+V 18    180.458285  27663.478527  -2666.026746      -.026585                    
+P 20 -13119.504786 -14503.776179  17905.388115   -184.046978                    
+V 20    473.694325 -22909.269749 -18137.596758       .027636                    
+P 21  23254.598428   3104.568140 -12871.721830     73.100198                    
+V 21  12815.687031  10021.191898  25282.528533       .004922                    
+P 22  12195.648683 -16064.770370 -17137.653473    -39.934910                    
+V 22   1408.293021  22088.020434 -19472.603892       .087675                    
+P 24   2526.419785  17455.837833  20131.409070      8.217554                    
+V 24 -21965.040527 -11778.954107  13238.204919       .028083                    
+P 25   7400.440984 -13948.212126  21723.867120     61.742844                    
+V 25  24599.665336  10601.370303  -1624.326878       .007205                    
+P 26   4963.606155  14290.085648 -22027.067075    409.765695                    
+V 26 -23554.157020  13957.776964   4391.562490      -.124950                    
+P 27 -24669.536681  -3985.736057  -9235.512684    920.014750                    
+V 27 -10071.396886  -7471.308234  28145.053260       .042768                    
+P 28 -12205.456571  14759.089576 -18086.532902     21.898408                    
+V 28  -2551.529128 -23386.814773 -17487.296428       .016339                    
+P 29  -1524.469680  17161.568007 -19933.154207    230.029813                    
+V 29 -22111.020256  13468.265979  13166.398510       .032818                    
+P 30  15537.141860   3868.419168  20974.133119    805.520763                    
+V 30   1353.272656  27192.363584  -5852.349714       .142609                    
+P 31 -10129.142652 -12282.760910 -21601.501373     40.615300                    
+V 31  21855.649622 -15399.479094  -1183.623600       .307773                    
+*  2004  3  1  7 30   .00000000                                                 
+P  1 -14740.059826  -7094.517506  21102.109471    332.633337                    
+V  1  21293.648214 -15522.130837   9707.382874       .020548                    
+P  3   4904.035069 -20263.048006 -16423.838034     89.980884                    
+V  3  17572.598588 -11543.148575  19826.491189       .030568                    
+P  4 -13387.926538   9776.917651  20834.266984    -77.001239                    
+V  4 -23536.048769 -11855.012620  -9253.496083      -.091941                    
+P  5  12656.251462  20001.439561  12092.232095     19.820917                    
+V  5    -69.850486  15802.535351 -25636.019230       .016152                    
+P  6  21011.457258   -722.826658  16492.257581     -1.385537                    
+V  6 -15092.073689  14221.089345  19942.817783      -.008835                    
+P  7 -20109.671157  17197.586120   1042.453492    611.541025                    
+V  7  -2987.894937  -2330.425187 -31303.637971      -.078514                    
+P  8 -19834.015179   3936.106909 -17577.922393    355.164900                    
+V  8 -19017.235654 -10760.931121  18955.747670      -.088019                    
+P  9  19027.594964  15824.380845 -10573.271437    -32.415845                    
+V  9 -12644.819653  -2584.191677 -27372.391466      -.018742                    
+P 10    880.157939  26278.104163   2403.826064     40.184103                    
+V 10  -2696.730942  -2886.915088  32185.444949       .005941                    
+P 11 -20935.112175 -14002.103328  -8649.232545     99.956289                    
+V 11  11716.549050   -306.474519 -27743.089007       .025374                    
+P 13 -22005.572987   4147.464942  14180.970710    -30.898222                    
+V 13  13676.513633 -11928.361077  24716.442110       .002166                    
+P 14  20411.040817 -16856.500116   2291.530084    -18.162260                    
+V 14   3651.557941    175.823979 -31915.593392      -.001096                    
+P 15  14218.786599  -8729.876654 -20948.362512    233.124585                    
+V 15  22596.184535  12872.819755   9848.613231       .053453                    
+P 16   2256.957891 -25487.603175   7183.275596     15.270075                    
+V 16   3603.280495   8688.469700  29998.166022      -.003922                    
+P 17  12823.054245  18946.877932  14269.612644    207.678237                    
+V 17 -15781.157285  -7736.416596  24024.612891       .194921                    
+P 18  15162.642202    461.122443 -21778.964699    -15.496175                    
+V 18   1639.126276  27657.293057   1517.301120      -.026603                    
+P 20 -13122.694372 -16467.669138  16122.901397   -184.044339                    
+V 20   -495.566891 -20664.500102 -21415.771673       .027634                    
+P 21  24315.057015   3913.535382 -10494.419698     73.100764                    
+V 21  10681.706438   7983.915431  27471.817865       .004923                    
+P 22  12376.585471 -13986.614460 -18736.015592    -39.926935                    
+V 22   2649.787985  24016.206846 -15994.147186       .087662                    
+P 24    469.472463  16421.962421  21150.355690      8.218292                    
+V 24 -23682.992065 -11133.493525   9374.495865       .028212                    
+P 25   9624.048449 -13055.587405  21397.251949     61.743012                    
+V 25  24732.289878   9211.677435  -5624.166269       .007043                    
+P 26   2901.187002  15589.942188 -21446.506770    409.754507                    
+V 26 -22209.823117  14865.413468   8495.310771      -.124961                    
+P 27 -25457.696693  -4577.085086  -6631.064125    920.019195                    
+V 27  -7391.666528  -5715.440501  29647.760261       .042760                    
+P 28 -12494.612416  12578.195639 -19496.314644     21.899701                    
+V 28  -3902.635325 -24993.493751 -13795.779617       .016325                    
+P 29  -3419.938788  18383.080030 -18576.033668    230.032656                    
+V 29 -19960.897742  13599.838060  16946.782611       .032812                    
+P 30  15714.526629   6274.284698  20265.030594    805.533984                    
+V 30   2562.983877  26186.017911  -9881.416359       .142591                    
+P 31  -8196.438943 -13717.219764 -21527.361417     40.643453                    
+V 31  21027.171061 -16425.129118   2830.722930       .307761                    
+*  2004  3  1  7 45   .00000000                                                 
+P  1 -12829.562517  -8569.205450  21794.615413    332.635856                    
+V  1  21080.001629 -17209.544104   5660.085845       .020781                    
+P  3   6383.689943 -21267.622809 -14502.854265     89.984270                    
+V  3  15290.987750 -10705.202932  22801.572749       .030529                    
+P  4 -15482.752120   8787.749177  19826.020113    -77.009926                    
+V  4 -22929.037036 -10115.692853 -13118.572287      -.091934                    
+P  5  12656.100846  21292.066966   9687.827282     19.823359                    
+V  5      2.581080  12846.974815 -27718.010159       .016118                    
+P  6  19611.651081    649.877939  18142.710910     -1.386719                    
+V  6 -15936.884508  16269.877272  16682.439591      -.008980                    
+P  7 -20264.379520  16888.299699  -1775.760606    611.533534                    
+V  7   -492.707279  -4592.339803 -31232.276683      -.078516                    
+P  8 -21478.110424   3054.449107 -15729.353860    355.156732                    
+V  8 -17438.511828  -8845.608993  22065.896774      -.088002                    
+P  9  17759.512989  15575.833188 -12942.612463    -32.417591                    
+V  9 -15510.779666  -2869.444665 -25207.972049      -.018708                    
+P 10    608.288245  25862.227094   5270.989727     40.185393                    
+V 10  -3413.506818  -6329.045522  31436.075758       .006032                    
+P 11 -19750.209084 -14015.013828 -11065.138511     99.958164                    
+V 11  14592.589995    -42.888076 -25867.029239       .025361                    
+P 13 -20709.260459   2965.612758  16276.252957    -30.897776                    
+V 13  15046.333233 -14336.458795  21778.143856       .002170                    
+P 14  20612.403994 -16747.965694   -592.338039    -18.162400                    
+V 14    864.347877   2294.799671 -32078.382732      -.001107                    
+P 15  16231.933033  -7651.769387 -19888.702481    233.129871                    
+V 15  22054.731109  11071.826935  13665.936105       .053301                    
+P 16   2623.427371 -24566.287499   9813.693306     15.269586                    
+V 16   4598.617926  11740.754446  28371.997713      -.003909                    
+P 17  11281.256041  18235.245156  16308.429396    207.695847                    
+V 17 -18453.052895  -8004.571112  21218.918171       .194948                    
+P 18  15374.156474   2929.447651 -21455.140575    -15.498506                    
+V 18   3044.872057  27104.504666   5667.229834      -.026620                    
+P 20 -13198.952164 -18212.180717  14061.711319   -184.041959                    
+V 20  -1140.149639 -18046.625247 -24322.094023       .027630                    
+P 21  25165.782063   4547.874805  -7940.712967     73.100894                    
+V 21   8164.084918   6153.019828  29197.408319       .004923                    
+P 22  12678.126070 -11756.485041 -20008.099519    -39.918895                    
+V 22   4074.838710  25457.224800 -12232.518220       .087649                    
+P 24  -1724.394031  15462.127611  21814.289783      8.221082                    
+V 24 -24997.221028 -10144.483542   5359.894063       .028461                    
+P 25  11837.330616 -12293.005879  20714.213020     61.744310                    
+V 25  24368.041108   7725.553384  -9534.176527       .006920                    
+P 26    977.003809  16953.643808 -20501.557447    409.743038                    
+V 26 -20493.720182  15366.303785  12477.525481      -.124973                    
+P 27 -25991.854562  -5023.635810  -3914.240559    920.023052                    
+V 27  -4439.513894  -4263.094912  30639.932206       .042744                    
+P 28 -12911.779681  10275.957518 -20562.630395     21.901313                    
+V 28  -5381.821480 -26077.580153  -9866.308804       .016312                    
+P 29  -5109.889797  19595.249916 -16891.832113    230.035932                    
+V 29 -17559.634528  13255.738104  20424.071932       .032806                    
+P 30  15992.667408   8567.156636  19200.869861    805.547115                    
+V 30   3579.256954  24688.714060 -13730.887425       .142568                    
+P 31  -6355.345219 -15228.912353 -21093.033513     40.671328                    
+V 31  19829.319192 -17105.432385   6809.655752       .307748                    
+*  2004  3  1  8  0   .00000000                                                 
+P  1 -10959.797883 -10183.931346  22118.067450    332.636794                    
+V  1  20395.618317 -18620.438097   1517.590589       .020939                    
+P  3   7654.565559 -22176.413457 -12331.209316     89.987074                    
+V  3  12947.805965  -9415.487999  25388.393993       .030429                    
+P  4 -17499.658588   7956.666035  18479.888779    -77.018295                    
+V  4 -21806.139954  -8357.214912 -16751.638244      -.091922                    
+P  5  12644.901258  22309.654731   7117.356016     19.824926                    
+V  5   -318.241686   9750.188816 -29321.426371       .015994                    
+P  6  18156.731434   2202.011165  19486.667077     -1.387034                    
+V  6 -16318.479768  18194.080900  13141.221429      -.008951                    
+P  7 -20207.067150  16363.040211  -4562.949196    611.526430                    
+V  7   1712.606647  -7117.971476 -30614.352387      -.078511                    
+P  8 -22959.116240   2340.071048 -13617.172709    355.148691                    
+V  8 -15399.296377  -7057.598893  24805.844326      -.087982                    
+P  9  16241.248497  15320.080025 -15098.382572    -32.419446                    
+V  9 -18190.456904  -2748.600201 -22632.950137      -.018664                    
+P 10    253.892105  25145.000917   8045.783898     40.185363                    
+V 10  -4524.157830  -9567.275406  30135.846767       .006069                    
+P 11 -18313.680126 -14020.780741 -13292.001897     99.961141                    
+V 11  17294.319403   -144.027405 -23548.018512       .025350                    
+P 13 -19312.573167   1568.114682  18089.735014    -30.897543                    
+V 13  15905.471502 -16704.111421  18463.344167       .002175                    
+P 14  20575.215244 -16433.824974  -3466.013074    -18.162572                    
+V 14  -1636.889147   4733.664880 -31689.292614      -.001116                    
+P 15  18173.232210  -6737.972942 -18495.433114    233.134607                    
+V 15  21000.336918   9236.635166  17252.082013       .053051                    
+P 16   3094.389636 -23383.492726  12275.662303     15.268895                    
+V 16   5916.143941  14485.908998  26260.346341      -.003898                    
+P 17   9507.868647  17518.824737  18078.246895    207.713838                    
+V 17 -20912.987766  -7847.614043  18054.375892       .194979                    
+P 18  15706.471489   5324.164846 -20762.006931    -15.500802                    
+V 18   4309.226982  26026.689075   9712.448390      -.026635                    
+P 20 -13316.607065 -19707.281832  11757.586845   -184.039458                    
+V 20  -1408.139138 -15136.396819 -26806.582784       .027626                    
+P 21  25774.918772   5029.358519  -5253.632151     73.100422                    
+V 21   5324.417065   4597.677723  30431.724092       .004929                    
+P 22  13113.019595  -9420.118174 -20931.341913    -39.910746                    
+V 22   5598.482510  26372.049450  -8253.460609       .087629                    
+P 24  -4016.226424  14604.143635  22112.586664      8.224754                    
+V 24 -25851.922571  -8882.842276   1260.321804       .028708                    
+P 25  13995.232357 -11665.331570  19685.697992     61.745907                    
+V 25  23502.232182   6227.955049 -13290.986151       .006806                    
+P 26   -778.763897  18342.037697 -19206.269769    409.731619                    
+V 26 -18480.661900  15406.435142  16269.203636      -.124986                    
+P 27 -26251.024094  -5355.052485  -1131.493525    920.026730                    
+V 27  -1294.739420  -3163.882844  31111.809951       .042724                    
+P 28 -13464.520625   7900.676997 -21267.248780     21.902784                    
+V 28  -6900.268180 -26614.136305  -5770.213015       .016303                    
+P 29  -6576.048857  20754.225542 -14910.646216    230.038483                    
+V 29 -15004.340977  12416.049398  23536.748122       .032800                    
+P 30  16350.774190  10705.071665  17800.896212    805.560282                    
+V 30   4328.623716  22752.519263 -17333.017032       .142547                    
+P 31  -4636.379037 -16784.142946 -20304.646984     40.698382                    
+V 31  18324.545321 -17384.371202  10687.827858       .307732                    
+*  2004  3  1  8 15   .00000000                                                 
+P  1  -9170.966390 -11910.270746  22066.994861    332.638544                    
+V  1  19291.203757 -19677.930211  -2651.115896       .021310                    
+P  3   8715.093541 -22949.263993  -9945.999649     89.991429                    
+V  3  10631.131718  -7688.141794  27540.256111       .030281                    
+P  4 -19392.925354   7281.320760  16819.492159    -77.026450                    
+V  4 -20186.088501  -6669.556753 -20092.651355      -.091911                    
+P  5  12586.744455  23045.635431   4425.102112     19.827393                    
+V  5  -1040.911850   6604.555178 -30420.751060       .015810                    
+P  6  16687.688460   3918.550376  20501.464838     -1.387319                    
+V  6 -16255.152762  19909.738884   9377.923711      -.008952                    
+P  7 -19966.616313  15601.457207  -7270.119190    611.519390                    
+V  7   3568.219866  -9830.178444 -29455.947660      -.078510                    
+P  8 -24237.520600   1777.850627 -11276.757803    355.140572                    
+V  8 -12945.135442  -5476.948353  27130.805215      -.087958                    
+P  9  14493.244548  15092.278885 -17005.484762    -32.420089                    
+V  9 -20603.278372  -2255.127669 -19689.476359      -.018594                    
+P 10   -216.463883  24149.038306  10679.607876     40.186171                    
+V 10  -5981.053408 -12508.529514  28308.126017       .006163                    
+P 11 -16644.882433 -14051.000672 -15291.653305     99.963054                    
+V 11  19741.280219   -580.079599 -20824.948673       .025340                    
+P 13 -17861.607114    -36.974599  19590.090831    -30.897355                    
+V 13  16254.210105 -18933.435645  14829.925633       .002181                    
+P 14  20328.444845 -15888.510589  -6280.025755    -18.162488                    
+V 14  -3782.603778   7418.651333 -30754.347400      -.001126                    
+P 15  19996.990587  -5987.492161 -16792.020539    233.140284                    
+V 15  19446.418821   7457.399045  20548.619652       .052809                    
+P 16   3696.150693 -21970.243471  14527.089953     15.268570                    
+V 16   7493.838217  16850.880574  23700.095239      -.003889                    
+P 17   7525.816789  16834.340031  19548.884425    207.731006                    
+V 17 -23076.574813  -7302.309193  14578.918285       .195009                    
+P 18  16143.088538   7599.670126 -19712.115262    -15.502997                    
+V 18   5349.598154  24463.354968  13583.934039      -.026651                    
+P 20 -13440.027877 -20930.663496   9250.464416   -184.036856                    
+V 20  -1263.748611 -12024.073813 -28826.740238       .027627                    
+P 21  26116.714751   5385.438074  -2478.344652     73.101610                    
+V 21   2236.321805   3374.544879  31154.904136       .004943                    
+P 22  13686.107646  -7025.933524 -21489.295618    -39.902765                    
+V 22   7130.563347  26740.266963  -4126.936468       .087612                    
+P 24  -6362.718812  13868.988736  22040.605918      8.226951                    
+V 24 -26206.465996  -7428.982866  -2857.312062       .028887                    
+P 25  16053.032584 -11169.780505  18328.277519     61.746712                    
+V 25  22146.977540   4803.349752 -16833.150800       .006630                    
+P 26  -2343.149239  19711.835387 -17580.841465    409.720017                    
+V 26 -16255.631204  14948.287637  19802.951517      -.125002                    
+P 27 -26221.710794  -5604.756402   1670.227355    920.031137                    
+V 27   1956.485831  -2451.486953  31062.024357       .042701                    
+P 28 -14152.269419   5502.013831 -21598.487379     21.904294                    
+V 28  -8366.809365 -26597.993648  -1581.443810       .016294                    
+P 29  -7809.068345  21815.243902 -12667.793554    230.041571                    
+V 29 -12395.590408  11080.522325  26230.490147       .032792                    
+P 30  16761.935565  12651.438025  16090.234884    805.572177                    
+V 30   4748.989815  20444.324604 -20625.085650       .142530                    
+P 31  -3063.967144 -18344.769230 -19174.189687     40.726551                    
+V 31  16585.342875 -17219.498572  14400.552250       .307718                    
+*  2004  3  1  8 30   .00000000                                                 
+P  1  -7498.041996 -13713.390499  21642.164001    332.641053                    
+V  1  17831.819540 -20316.948454  -6776.591643       .021652                    
+P  3   9571.524077 -23548.081152  -7388.201185     89.993585                    
+V  3   8426.061761  -5554.758980  29217.798422       .029925                    
+P  4 -21119.306651   6751.455337  14873.622719    -77.034668                    
+V  4 -18104.973856  -5137.967839 -23086.827880      -.091899                    
+P  5  12445.722632  23499.788804   1657.259097     19.827205                    
+V  5  -2156.829489   3502.616310 -30999.101470       .015683                    
+P  6  15243.137281   5777.153853  21169.897382     -1.388466                    
+V  6 -15781.202356  21338.678246   5454.847582      -.008998                    
+P  7 -19576.650137  14590.621796  -9849.284168    611.512805                    
+V  7   5028.977428 -12641.695486 -27773.369333      -.078508                    
+P  8 -25278.589468   1345.875993  -8747.237282    355.133189                    
+V  8 -10136.361862  -4174.024110  29002.345552      -.087929                    
+P  9  12542.845251  14923.908770 -18632.844213    -32.421151                    
+V  9 -22676.890127  -1437.031706 -16424.684758      -.018630                    
+P 10   -831.190723  22904.837108  13126.405182     40.186270                    
+V 10  -7720.597961 -15071.220461  25985.986065       .006199                    
+P 11 -14770.079505 -14133.930758 -17029.737684     99.965074                    
+V 11  21860.929673  -1306.897781 -17743.580964       .025331                    
+P 13 -16401.554910  -1832.907898  20751.461269    -30.897408                    
+V 13  16112.249290 -20929.785369  10941.307704       .002188                    
+P 14  19906.667931 -15093.632156  -8985.874644    -18.162080                    
+V 14  -5518.181341  10264.537134 -29289.006491      -.001128                    
+P 15  21659.509247  -5391.364806 -14806.993269    233.145793                    
+V 15  17423.768209   5820.457429  23501.611176       .052494                    
+P 16   4448.874323 -20363.528663  16529.545907     15.268251                    
+V 16   9257.679227  18776.577869  20735.622789      -.003875                    
+P 17   5365.270605  16214.520757  20694.716939    207.748574                    
+V 17 -24867.678073  -6420.386845  10845.774960       .195042                    
+P 18  16660.464601   9714.664388 -18324.082996    -15.505366                    
+V 18   6092.558089  22470.335413  17216.094517      -.026665                    
+P 20 -13531.146020 -21868.440093   6583.741082   -184.034322                    
+V 20   -688.788697  -8805.988618 -30348.268390       .027623                    
+P 21  26172.489495   5648.022151    338.551677     73.102069                    
+V 21  -1017.125102   2525.713459  31355.057058       .004966                    
+P 22  14394.022828  -4623.317516 -21671.951300    -39.894785                    
+V 22   8579.445897  26560.877335     74.178391       .087593                    
+P 24  -8717.648290  13270.091296  21599.739164      8.230093                    
+V 24 -26036.856463  -5869.732998  -6926.021734       .029027                    
+P 25  17967.849012 -10796.107855  16663.933953     61.748562                    
+V 25  20330.934284   3532.543002 -20101.996194       .006315                    
+P 26  -3701.175727  21017.188529 -15651.415963    409.708536                    
+V 26 -13910.653950  13972.765258  23014.253944      -.125021                    
+P 27 -25898.345995  -5808.448815   4444.212072    920.035083                    
+V 27   5224.725361  -2142.798235  30497.196495       .042676                    
+P 28 -14966.293635   3129.199769 -21551.380636     21.905850                    
+V 28  -9691.766812 -26043.765805   2624.938677       .016285                    
+P 29  -8808.655106  22734.409090 -10203.119028    230.045141                    
+V 29  -9833.341776   9268.613044  28459.158884       .032781                    
+P 30  17194.260910  14376.250985  14099.386909    805.584863                    
+V 30   4792.176875  17843.122323 -23550.525235       .142522                    
+P 31  -1655.657066 -19869.510868 -17719.405771     40.754661                    
+V 31  14691.623685 -16583.797259  17884.762976       .307704                    
+*  2004  3  1  8 45   .00000000                                                 
+P  1  -5969.589424 -15553.229429  20850.572530    332.644700                    
+V  1  16094.374876 -20486.769547 -10789.978597       .021796                    
+P  3  10237.505452 -23938.366661  -4701.970016     89.996625                    
+V  3   6411.357317  -3063.413166  30389.840576       .029651                    
+P  4 -22639.537850   6349.474829  12675.737860    -77.043059                    
+V  4 -15614.900880  -3839.725172 -25685.404516      -.091889                    
+P  5  12187.465128  23680.103162  -1138.854938     19.827777                    
+V  5  -3640.546065    533.685627 -31048.384555       .015535                    
+P  6  13857.936150   7748.816464  21480.490435     -1.389071                    
+V  6 -14945.537619  22411.465871   1436.927203      -.008982                    
+P  7 -19074.121053  13325.791212 -12254.386037    611.506073                    
+V  7   6066.317138 -15458.464759 -25593.139893      -.078510                    
+P  8 -26053.609453   1016.437908  -6070.891306    355.126304                    
+V  8  -7046.054773  -3206.885736  30388.942698      -.087911                    
+P  9  10423.444630  14841.541833 -19953.830478    -32.423890                    
+V  9 -24349.580088   -355.005561 -12890.107154      -.018702                    
+P 10  -1612.353033  21449.602189  15343.507501     40.186782                    
+V 10  -9665.841158 -17188.362204  23211.515422       .006251                    
+P 11 -12721.605391 -14293.274305 -18476.301186     99.967484                    
+V 11  23591.328652  -2267.770281 -14355.830425       .025323                    
+P 13 -14974.994699  -3794.706356  21553.901135    -30.896928                    
+V 13  15517.769766 -22605.484275   6865.292704       .002194                    
+P 14  19348.624603 -14038.866143 -11536.866431    -18.162404                    
+V 14  -6805.966351  13177.846329 -27317.939719      -.001138                    
+P 15  23120.607116  -4933.151612 -12573.503829    233.151135                    
+V 15  14979.552698   4405.107298  26062.359322       .052154                    
+P 16   5365.630387 -18604.946560  18248.901974     15.267972                    
+V 16  11124.564702  20219.961657  17418.014101      -.003866                    
+P 17   3062.775338  15686.832305  21495.130277    207.766197                    
+V 17 -26221.208204  -5266.762033   6912.979925       .195067                    
+P 18  17228.971325  11633.527382 -16622.236577    -15.507567                    
+V 18   6476.751260  20117.580895  20547.822838      -.026683                    
+P 20 -13551.079324 -22515.532728   3803.510085   -184.031519                    
+V 20    316.563057  -5580.894050 -31345.629970       .027619                    
+P 21  25931.357172   5852.093106   3149.754074     73.102375                    
+V 21  -4346.290475   2077.187620  31028.430864       .004982                    
+P 22  15225.226433  -2260.869045 -21475.937980    -39.886753                    
+V 22   9855.811854  25852.319871   4275.475678       .087578                    
+P 24 -11033.416523  12812.899298  20797.376521      8.232954                    
+V 24 -25336.622055  -4295.047703 -10879.641529       .029083                    
+P 25  19700.093971 -10527.077105  14719.773740     61.747888                    
+V 25  18098.473965   2489.600397 -23042.470562       .005846                    
+P 26  -4846.336054  22211.409753 -13449.763688    409.696889                    
+V 26 -11541.300239  12480.472178  25842.807697      -.125035                    
+P 27 -25283.440086  -6002.583918   7144.688878    920.038648                    
+V 27   8420.396871  -2237.665874  29431.474516       .042649                    
+P 28 -15889.997512    829.287999 -21127.712075     21.907600                    
+V 28 -10790.683019 -24985.054122   6774.260351       .016274                    
+P 29  -9583.334075  23470.436865  -7560.222024    230.048050                    
+V 29  -7412.943615   7018.707062  30185.571358       .032772                    
+P 30  17612.225128  15857.042159  11863.630886    805.598459                    
+V 30   4425.867492  15036.836247 -26059.881569       .142511                    
+P 31   -421.579750 -21315.402985 -15963.604627     40.782641                    
+V 31  12727.776816 -15467.028905  21080.026052       .307686                    
+*  2004  3  1  9  0   .00000000                                                 
+P  1  -4606.827217 -17385.885121  19705.350071    332.646038                    
+V  1  14164.688531 -20153.047406 -14624.041799       .021761                    
+P  3  10733.370959 -24090.630873  -1933.873448     90.000105                    
+V  3   4656.318031   -277.004500  31034.084296       .029394                    
+P  4 -23919.694605   6051.298843  10263.387717    -77.051292                    
+V  4 -12782.075555  -2841.220422 -27846.295858      -.091881                    
+P  5  11780.615349  23602.337505  -3915.590317     19.827698                    
+V  5  -5450.744271  -2219.388755 -30569.313317       .015536                    
+P  6  12561.954232   9798.778146  21427.697003     -1.388971                    
+V  6 -13809.757465  23070.059217  -2609.214448      -.008982                    
+P  7 -18497.755725  11810.855637 -14442.204408    611.498640                    
+V  7   6669.522065 -18183.341726 -22951.730033      -.078514                    
+P  8 -26540.925832    757.239834  -3292.507149    355.119141                    
+V  8  -3757.544474  -2619.087122  31266.483038      -.087913                    
+P  9   8173.432751  14865.799873 -20946.626663    -32.426135                    
+V  9 -25572.350250    919.819444  -9141.079714      -.018726                    
+P 10  -2574.605703  19825.813725  17292.407870     40.187419                    
+V 10 -11729.638154 -18810.071906  20034.938833       .006322                    
+P 11 -10536.803365 -14547.148161 -19606.308872     99.970027                    
+V 11  24883.447572  -3395.678191 -10718.946430       .025318                    
+P 13 -13620.296471  -5889.944962  21983.718865    -30.896692                    
+V 13  14525.771485 -23883.284974   2672.838540       .002202                    
+P 14  18695.626924 -12722.541538 -13888.928554    -18.162690                    
+V 14  -7626.629224  16060.387649 -24874.637740      -.001141                    
+P 15  24345.028288  -4589.706374 -10128.825223    233.154401                    
+V 15  12175.745702   3280.624083  28188.107807       .051756                    
+P 16   6451.722238 -16739.188844  19655.896528     15.267716                    
+V 16  13005.573414  21155.519919  13804.174989      -.003860                    
+P 17    660.142303  15272.388109  21934.927905    207.784312                    
+V 17 -27085.616215  -3917.255537   2842.784080       .195097                    
+P 18  17814.094350  13327.469589 -14636.164041    -15.510121                    
+V 18   6455.313071  17486.446167  23523.452047      -.026699                    
+P 20 -13461.792429 -22875.719320    957.753247   -184.029061                    
+V 20   1733.719933  -2446.235751 -31802.446166       .027605                    
+P 21  25390.677063   6034.211790   5907.991837     73.103177                    
+V 21  -7658.119781   2037.932040  30179.496601       .005007                    
+P 22  16160.385485     15.321779 -20904.597025    -39.878742                    
+V 22  10876.378412  24651.715526   8402.439901       .087561                    
+P 24 -13262.644267  12494.750959  19646.792879      8.235532                    
+V 24 -24117.100421  -2794.621704 -14653.711001       .029109                    
+P 25  21214.830496 -10339.198167  12527.662798     61.747981                    
+V 25  15508.298279   1738.966003 -25604.002831       .005312                    
+P 26  -5780.743729  23248.775429 -11012.841672    409.685931                    
+V 26  -9242.935298  10492.242775  28233.885959      -.125049                    
+P 27 -24387.458048  -6222.845970   9727.479374    920.042956                    
+V 27  11456.808076  -2719.234336  27886.032400       .042620                    
+P 28 -16899.550606  -1354.491362 -20335.914365     21.909273                    
+V 28 -11587.794235 -23472.896799  10793.669107       .016263                    
+P 29 -10149.862326  23986.294338  -4785.623795    230.051079                    
+V 29  -5221.388889   4386.576115  31382.053468       .032761                    
+P 30  17978.158863  17079.528663   9422.346062    805.610798                    
+V 30   3634.883964  12118.845475 -28111.598820       .142509                    
+P 31    635.812176 -22639.345519 -13935.376970     40.810472                    
+V 31  10779.500982 -13876.504837  23929.590572       .307663                    
+*  2004  3  1  9 15   .00000000                                                 
+P  1  -3422.970846 -19165.157511  18225.565627    332.647866                    
+V  1  12134.221696 -19299.258118 -18214.200854       .021893                    
+P  3  11085.159745 -23981.629330    867.934865     90.002432                    
+V  3   3218.016905   2729.011232  31137.650245       .029006                    
+P  4 -24932.357164   5827.456574   7677.588468    -77.059548                    
+V  4  -9684.401302  -2195.474887 -29534.647715      -.091877                    
+P  5  11198.192662  23289.303750  -6625.753933     19.829436                    
+V  5  -7531.807947  -4683.187105 -29571.291399       .015620                    
+P  6  11379.033500  11887.653919  21012.005670     -1.389633                    
+V  6 -12445.769280  23270.063951  -6616.241286      -.009074                    
+P  7 -17886.420458  10058.440424 -16373.229767    611.491427                    
+V  7   6846.224810 -20720.019169 -19895.020404      -.078515                    
+P  8 -26726.738399    532.783707   -458.692520    355.111915                    
+V  8   -361.539849  -2437.982704  31618.691705      -.087925                    
+P  9   5834.973272  15010.529145 -21594.544613    -32.427009                    
+V  9 -26310.582060   2308.462996  -5236.135376      -.018653                    
+P 10  -3724.434561  18079.601768  18939.447090     40.189315                    
+V 10 -13818.220394 -19905.358614  16513.573718       .006330                    
+P 11  -8256.777704 -14907.272254 -20400.084350     99.972458                    
+V 11  25703.000520  -4615.959698  -6894.598719       .025314                    
+P 13 -12370.207901  -8079.831928  22033.703401    -30.896350                    
+V 13  13205.759389 -24699.418401  -1563.216700       .002208                    
+P 14  17989.874717 -11151.896847 -16001.379516    -18.162988                    
+V 14  -7979.818797  18812.995943 -22000.862143      -.001142                    
+P 15  25303.683985  -4332.199359  -7513.786601    233.157382                    
+V 15   9087.031369   2503.627809  29842.691325       .051480                    
+P 16   7704.318397 -14812.421630  20726.615375     15.267687                    
+V 16  14809.443412  21576.077233   9955.864207      -.003851                    
+P 17  -1796.867510  14985.087648  22004.679915    207.801955                    
+V 17 -27424.992816  -2455.868633  -1299.042345       .195121                    
+P 18  18377.825182  14775.421170 -12400.186527    -15.512795                    
+V 18   5997.717412  14666.579467  26093.600238      -.026711                    
+P 20 -13227.728328 -22961.351407  -1904.494897   -184.026625                    
+V 20   3526.366597    505.502420 -31711.726409       .027596                    
+P 21  24556.214942   6230.963852   8566.766851     73.103763                    
+V 21 -10859.407187   2399.527422  28820.943420       .005021                    
+P 22  17173.074998   2163.292412 -19967.927163    -39.870706                    
+V 22  11567.380886  23013.354983  12381.883243       .087547                    
+P 24 -15359.764264  12305.050708  18166.955022      8.238903                    
+V 24 -22407.115667  -1454.509799 -18186.348679       .029129                    
+P 25  22482.979871 -10203.712205  10123.784667     61.747827                    
+V 25  12631.528877   1332.878635 -27741.358869       .005022                    
+P 26  -6514.941374  24086.339929  -8382.230525    409.675460                    
+V 26  -7106.864683   8048.858998  30139.691331      -.125060                    
+P 27 -23228.428864  -6502.681770  12150.607524    920.046712                    
+V 27  14253.021409  -3554.828362  25888.550433       .042585                    
+P 28 -17964.811960  -3384.205170 -19190.844082     21.910672                    
+V 28 -12019.102490 -21573.544861  14613.478119       .016253                    
+P 29 -10532.323153  24250.669226  -1927.895207    230.053820                    
+V 29  -3333.973557   1443.149985  32030.768740       .032751                    
+P 30  18253.822275  18037.941158   6818.273125    805.623535                    
+V 30   2421.762665   9184.349865 -29672.618238       .142500                    
+P 31   1521.714759 -23799.693836 -11668.215065     40.838227                    
+V 31   8930.516008 -11837.225014  26381.464389       .307641                    
+*  2004  3  1  9 30   .00000000                                                 
+P  1  -2422.880479 -20844.194081  16435.942845    332.650396                    
+V  1  10096.594092 -17927.505452 -21499.544516       .021938                    
+P  3  11323.409649 -23595.370181   3654.579883     90.005315                    
+V  3   2139.017284   5869.427082  30697.429096       .028630                    
+P  4 -25657.539523   5644.383155   4962.150505    -77.067204                    
+V  4  -6408.673219  -1940.162860 -30723.287045      -.091872                    
+P  5  10418.788541  22769.898672  -9223.381487     19.831274                    
+V  5  -9815.917421  -6796.305362 -28072.174453       .015685                    
+P  6  10326.182782  13972.746314  20239.959879     -1.390180                    
+V  6 -10933.025580  22982.517515 -10517.105888      -.009195                    
+P  7 -17277.476726   8089.651889 -18012.475964    611.484718                    
+V  7   6622.118102 -22976.993059 -16477.492800      -.078515                    
+P  8 -26605.625134    305.883001   2382.846449    355.104189                    
+V  8   3047.031451  -2673.602114  31437.486219      -.087944                    
+P  9   3452.651234  15282.220739 -21886.284460    -32.428265                    
+V  9 -26545.247403   3726.951396  -1236.373342      -.018596                    
+P 10  -5059.731088  16258.994598  20256.400028     40.188815                    
+V 10 -15835.021187 -20463.131082  12710.654489       .006302                    
+P 11  -5925.004381 -15378.413627 -20843.663299     99.974760                    
+V 11  26031.735746  -5849.283635  -2947.879866       .025304                    
+P 13 -11250.674354 -10320.539532  21703.235067    -30.896554                    
+V 13  11638.871847 -25006.114639  -5769.452917       .002214                    
+P 14  17272.745958  -9342.996678 -17837.642770    -18.162807                    
+V 14  -7884.072148  21339.330795 -18745.943384      -.001148                    
+P 15  25974.684686  -4127.358752  -4772.152904    233.162531                    
+V 15   5798.248422   2115.885938  30997.129296       .051436                    
+P 16   9112.402101 -12870.624627  21442.882443     15.267685                    
+V 16  16446.135388  21492.913107   5938.659919      -.003848                    
+P 17  -4260.027671  14831.017288  21701.003793    207.819839                    
+V 17 -27220.684293   -971.680613  -5444.030709       .195141                    
+P 18  18880.191248  15964.627521  -9952.758959    -15.515020                    
+V 18   5090.991730  11752.534456  28215.898830      -.026724                    
+P 20 -12817.347141 -22792.750624  -4733.996061   -184.024235                    
+V 20   5641.833111   3190.239905 -31075.929747       .027582                    
+P 21  23442.008141   6477.403038  11081.089544     73.104438                    
+V 21 -13860.091867   3136.449414  26973.581167       .005040                    
+P 22  18230.777436   4146.658859 -18682.401255    -39.862712                    
+V 22  11867.671043  21006.494853  16143.354830       .087526                    
+P 24 -17282.557814  12225.744889  16382.250644      8.240856                    
+V 24 -20252.052667   -353.864087 -21419.114072       .029131                    
+P 25  23482.335315 -10087.791877   7548.122123     61.748654                    
+V 25   9549.319165   1309.183947 -29415.483756       .004767                    
+P 26  -7067.363395  24685.686501  -5603.452019    409.664435                    
+V 26  -5216.536723   5209.921494  31520.647042      -.125071                    
+P 27 -21831.307687  -6871.935582  14374.861657    920.050888                    
+V 27  16736.471699  -4697.336075  23472.691606       .042551                    
+P 28 -19050.508176  -5228.464731 -17713.440813     21.911889                    
+V 28 -12034.928456 -19365.674471  18168.388817       .016243                    
+P 29 -10760.942548  24239.211745    963.235221    230.056583                    
+V 29  -1811.488054  -1728.287623  32123.828849       .032741                    
+P 30  18401.998431  18735.023293   4096.729576    805.636451                    
+V 30    806.617060   6326.727090 -30718.789412       .142492                    
+P 31   2248.646065 -24757.832051  -9200.035835     40.865800                    
+V 31   7259.271300  -9391.350484  28389.492478       .307614                    
+*  2004  3  1  9 45   .00000000                                                 
+P  1  -1603.027542 -22377.177364  14366.485130    332.654707                    
+V  1   8144.004563 -16058.651009 -24423.817692       .021825                    
+P  3  11481.770187 -22923.849265   6377.352763     90.007801                    
+V  3   1445.674375   9052.512231  29720.230854       .028088                    
+P  4 -26083.351707   5465.868616   2162.970723    -77.074833                    
+V  4  -3047.470430  -2096.206159 -31393.069611      -.091863                    
+P  5   9427.553584  22077.923170 -11664.483208     19.832273                    
+V  5 -12225.588822  -8511.478773 -26097.917173       .015736                    
+P  6   9413.034286  16009.494408  19124.086104     -1.391433                    
+V  6  -9355.471152  22195.131255 -14246.070731      -.009378                    
+P  7 -16705.198844   5933.471270 -19330.208203    611.477517                    
+V  7   6039.865979 -24871.384290 -12761.164332      -.078520                    
+P  8 -26180.772328     39.249607   5184.055239    355.096830                    
+V  8   6372.368537  -3318.141559  30723.243901      -.087972                    
+P  9   1072.033783  15679.697042 -21816.136009    -32.428719                    
+V  9 -26273.626687   5089.361376   2795.204605      -.018634                    
+P 10  -6569.716757  14412.112831  21220.951442     40.188036                    
+V 10 -17684.591832 -20492.393330   8694.059091       .006368                    
+P 11  -3585.852137 -15958.107892 -20929.053920     99.976718                    
+V 11  25868.129661  -7014.821978   1053.763161       .025295                    
+P 13 -10279.938086 -12564.734341  20998.279519    -30.896115                    
+V 13   9914.568873 -24773.498521  -9873.163983       .002229                    
+P 14  16583.128785  -7320.309455 -19365.890999    -18.162800                    
+V 14  -7375.982629  23549.583549 -15165.937964      -.001155                    
+P 15  26344.124333  -3938.887159  -1949.953895    233.165682                    
+V 15   2401.451583   2142.632869  31630.155183       .051317                    
+P 16  10657.040388 -10957.950844  21792.555083     15.267468                    
+V 16  17830.348087  20935.189250   1820.876124      -.003849                    
+P 17  -6680.251105  14808.144091  21026.765384    207.836814                    
+V 17 -26472.342828    444.542832  -9521.967530       .195161                    
+P 18  19280.865377  16890.932197  -7335.810616    -15.517124                    
+V 18   3740.262620   8840.232538  29855.599335      -.026731                    
+P 20 -12204.512169 -22397.310062  -7482.155205   -184.021877                    
+V 20   8013.101611   5535.394020 -29906.860594       .027571                    
+P 21  22069.936904   6805.547643  13408.201726     73.105059                    
+V 21 -16576.470199   4206.968845  24666.145376       .005052                    
+P 22  19296.138711   5935.840570 -17070.658687    -39.854665                    
+V 22  11731.299525  18712.555170  19620.489667       .087504                    
+P 24 -18993.581766  12232.081823  14322.140367      8.242121                    
+V 24 -17712.352826    438.104912 -24297.855954       .029242                    
+P 25  24198.341639  -9955.917240   4843.864220     61.748785                    
+V 25   6350.054262   1689.633355 -30594.313482       .004460                    
+P 26  -7463.465952  25014.538507  -2725.175323    409.652679                    
+V 26  -3643.976265   2051.880355  32346.570416      -.125082                    
+P 27 -20227.116006  -7355.628834  16364.309500    920.054677                    
+V 27  18845.271989  -6087.032748  20677.582546       .042519                    
+P 28 -20117.614360  -6863.401801 -15930.282409     21.913297                    
+V 28 -11601.854174 -16937.164670  21398.572725       .016229                    
+P 29 -10870.680767  23935.503024   3837.773857    230.059381                    
+V 29   -698.042422  -5035.349420  31663.198680       .032731                    
+P 30  18388.043087  19181.708368   1304.796378    805.649514                    
+V 30  -1173.688002   3634.025516 -31235.098337       .142480                    
+P 31   2835.827887 -25479.668338  -6572.607823     40.893671                    
+V 31   5835.778627  -6596.997826  29914.409899       .307591                    
+*  2004  3  1 10  0   .00000000                                                 
+P  1   -951.782977 -23720.993145  12052.013627    332.659078                    
+V  1   6363.683186 -13731.754908 -26936.368279       .021452                    
+P  3  11595.492015 -21967.480583   8988.602400     90.009567                    
+V  3   1147.099554  12183.530136  28222.722483       .027685                    
+P  4 -26206.372804   5254.605900   -672.701908    -77.083602                    
+V  4    304.145187  -2666.983648 -31533.126278      -.091859                    
+P  5   8216.939581  21250.733963 -13907.752905     19.834969                    
+V  5 -14676.562225  -9797.171360 -23682.115108       .015811                    
+P  6   8641.584052  17953.008290  17682.729557     -1.392913                    
+V  6  -7798.304489  20912.939766 -17739.740599      -.009555                    
+P  7 -16199.324392   3625.818163 -20302.564496    611.470532                    
+V  7   5157.252068 -26332.431585  -8814.291543      -.078527                    
+P  8 -25463.899389   -302.902472   7897.300725    355.089089                    
+V  8   9521.217696  -4346.102541  29484.971111      -.088006                    
+P  9  -1261.810426  16194.077474 -21384.118493    -32.431622                    
+V  9 -25509.505223   6310.967693   6794.401778      -.018774                    
+P 10  -8235.217707  12585.382414  21817.054115     40.187704                    
+V 10 -19276.443860 -20021.632969   4534.973019       .006556                    
+P 11  -1283.069199 -16636.670735 -20654.398584     99.978843                    
+V 11  25227.452934  -8033.501942   5041.653888       .025290                    
+P 13  -9467.950362 -14763.247129  19931.266065    -30.896330                    
+V 13   8127.013537 -23990.788986 -13803.627610       .002243                    
+P 14  15955.860730  -5115.961122 -20559.608737    -18.163020                    
+V 14  -6508.656625  25363.946726 -11322.659319      -.001159                    
+P 15  26406.586299  -3729.003545    905.231152    233.172489                    
+V 15  -1007.316722   2591.472622  31728.670781       .051423                    
+P 16  12311.962512  -9115.168103  21769.720183     15.266879                    
+V 16  18884.855497  19948.710553  -2327.555560      -.003851                    
+P 17  -9009.261249  14906.323929  19991.187912    207.854506                    
+V 17 -25198.340542   1703.923037 -13461.984035       .195185                    
+P 18  19540.793681  17558.739610  -4594.036682    -15.519463                    
+V 18   1968.619403   6023.405878  30986.055640      -.026741                    
+P 20 -11369.669887 -21808.337145 -10101.850917   -184.019245                    
+V 20  10561.364758   7482.512940 -28225.405004       .027565                    
+P 21  20469.014574   7242.985215  15508.277272     73.105640                    
+V 21 -18934.213602   5554.652047  21934.998674       .005054                    
+P 22  20328.429224   7509.010567 -15161.080314    -39.846572                    
+V 22  11129.473865  16221.837769  22752.264438       .087480                    
+P 24 -20461.435559  12293.631416  12020.734192      8.244967                    
+V 24 -14861.472185    864.840182 -26773.542518       .029433                    
+P 25  24624.607458  -9771.379782   2056.742428     61.748471                    
+V 25   3126.223598   2478.750141 -31253.535002       .004313                    
+P 26  -7734.552981  25048.157327    201.674897    409.641192                    
+V 26  -2446.625667  -1334.724400  32597.670521      -.125090                    
+P 27 -18451.890392  -7972.921443  18086.766845    920.058267                    
+V 27  20530.153208  -7653.782187  17547.302292       .042488                    
+P 28 -21124.880048  -8273.340302 -13873.049771     21.914754                    
+V 28 -10703.994227 -14381.581957  24250.598279       .016221                    
+P 29 -10899.659417  23331.716237   6646.337381    230.062108                    
+V 29    -19.594479  -8380.098128  30660.414353       .032720                    
+P 30  18181.330913  19396.491527  -1509.508059    805.662030                    
+V 30  -3467.001326   1185.725769 -31215.721459       .142468                    
+P 31   3308.292953 -25936.991702  -3830.885787     40.922864                    
+V 31   4718.701399  -3526.370834  30924.835691       .307562                    
+*  2004  3  1 10 15   .00000000                                                 
+P  1   -450.018544 -24836.817559   9531.622338    332.660195                    
+V  1   4834.503947 -11002.836170 -28993.039326       .020713                    
+P  3  11699.854976 -20735.202542  11442.611684     90.011106                    
+V  3   1234.836948  15168.400337  26231.150785       .027567                    
+P  4 -26031.722411   4973.781383  -3497.018413    -77.092254                    
+V  4   3552.010634  -3638.179879 -31141.008480      -.091852                    
+P  5   6787.169841  20327.778269 -15915.231375     19.836129                    
+V  5 -17080.933551 -10638.580084 -20865.450069       .015809                    
+P  6   8006.228028  19759.633976  15939.796846     -1.392539                    
+V  6  -6344.666168  19158.324259 -20938.095636      -.009674                    
+P  7 -15783.802839   1208.320920 -20912.051578    611.463728                    
+V  7   4044.643290 -27304.483766  -4709.883828      -.078532                    
+P  8 -24474.876826   -753.295534  10476.151277    355.082137                    
+V  8  12406.250081  -5715.088739  27740.361114      -.088047                    
+P  9  -3505.785305  16809.028808 -20596.054274    -32.433912                    
+V  9 -24282.829761   7311.404253  10696.588462      -.018822                    
+P 10 -10029.275972  10821.837637  22035.165244     40.188328                    
+V 10 -20528.660421 -19097.442100    306.525390       .006832                    
+P 11    941.707291 -17397.501016 -20024.032290     99.980940                    
+V 11  24141.200340  -8831.213386   8947.051308       .025291                    
+P 13  -8816.117677 -16866.817691  18520.853719    -30.896360                    
+V 13   6371.290609 -22666.759273 -17493.326522       .002260                    
+P 14  15420.336728  -2768.692492 -21398.062724    -18.163091                    
+V 14  -5349.518142  26715.708527  -7282.599688      -.001163                    
+P 15  26165.349659  -3460.055733   3745.025808    233.175902                    
+V 15  -4331.439317   3451.915131  31288.112747       .051373                    
+P 16  14044.426019  -7378.240308  21374.788635     15.266409                    
+V 16  19543.542725  18594.068226  -6436.223735      -.003843                    
+P 17 -11201.269747  15107.634738  18609.856956    207.872332                    
+V 17 -23435.492976   2723.098056 -17193.777180       .195203                    
+P 18  19623.780815  17980.661570  -1774.152028    -15.521933                    
+V 18   -183.692899   3390.150248  31589.080954      -.026753                    
+P 20 -10300.778549 -21063.683990 -12548.235210   -184.017175                    
+V 20  13199.034192   8989.350070 -26061.116500       .027565                    
+P 21  18674.418951   7811.637837  17345.091017     73.106248                    
+V 21 -20871.084794   7110.420429  18823.722262       .005070                    
+P 22  21285.149894   8852.733857 -12987.255707    -39.838392                    
+V 22  10051.811831  13629.905642  25484.130452       .087453                    
+P 24 -21661.822404  12375.530464   9516.294311      8.247570                    
+V 24 -11783.359744    884.726559 -28803.066140       .029588                    
+P 25  24763.124980  -9497.860459   -765.698378     61.747987                    
+V 25    -28.931781   3663.328128 -31377.269576       .004318                    
+P 26  -7916.342573  24770.459777   3124.890126    409.630400                    
+V 26  -1664.759932  -4848.716426  32265.313944      -.125096                    
+P 27 -16545.474862  -8736.285746  19514.220514    920.061797                    
+V 27  21755.993140  -9319.548579  14130.377460       .042457                    
+P 28 -22030.438026  -9451.143956 -11577.915494     21.916200                    
+V 28  -9343.564118 -11794.518400  26678.195258       .016211                    
+P 29 -10887.489208  22428.949832   9340.995240    230.065522                    
+V 29    216.781896 -11662.754571  29136.136654       .032716                    
+P 30  17756.543809  19404.526922  -4298.051423    805.674732                    
+V 30  -6007.917238   -950.112212 -30663.918674       .142456                    
+P 31   3695.746661 -26108.632339  -1022.259898     40.949992                    
+V 31   3952.831848   -263.274440  31398.169745       .307516                    
+*  2004  3  1 10 30   .00000000                                                 
+P  1    -72.000977 -25691.563158   6848.056008    332.661793                    
+V  1   3623.885078  -7942.986027 -30556.990072       .020059                    
+P  3  11828.599880 -19244.253966  13696.439293     90.012785                    
+V  3   1683.269910  17917.348588  23780.854711       .027623                    
+P  4 -25572.828437   4588.650018  -6262.290413    -77.099823                    
+V  4   6606.208579  -4978.276950 -30222.732705      -.091846                    
+P  5   5146.420852  19349.065708 -17652.915871     19.837931                    
+V  5 -19350.418511 -11038.022690 -17695.047414       .015736                    
+P  6   7494.095054  21388.491697  13924.406122     -1.393472                    
+V  6  -5072.372776  16970.396949 -23785.511897      -.009829                    
+P  7 -15475.799001  -1273.154084 -21147.900265    611.456348                    
+V  7   2781.885446 -27749.343687   -524.075796      -.078541                    
+P  8 -23241.046709  -1340.127596  12876.156545    355.074454                    
+V  8  14949.275359  -7367.250189  25515.726765      -.088100                    
+P  9  -5620.185926  17501.297041 -19463.571206    -32.435854                    
+V  9 -22638.819114   8017.743219  14437.526403      -.018802                    
+P 10 -11918.069917   9159.580231  21872.360043     40.190380                    
+V 10 -21371.134122 -17782.441934  -3917.570457       .007199                    
+P 11   3050.362403 -18217.665855 -19048.435164     99.983411                    
+V 11  22655.900034  -9341.846834  12702.336704       .025290                    
+P 13  -8317.390042 -18827.847191  16791.590329    -30.896252                    
+V 13   4739.611331 -20829.444357 -20879.100140       .002278                    
+P 14  14999.340960   -322.559630 -21866.671047    -18.163105                    
+V 14  -3977.546734  27553.849426  -3115.762529      -.001166                    
+P 15  25632.284284  -3096.144863   6521.037344    233.180363                    
+V 15  -7477.206612   4695.577848  30312.716823       .051447                    
+P 16  15816.338260  -5777.101091  20614.487079     15.266218                    
+V 16  19754.028712  16944.235226 -10435.379962      -.003843                    
+P 17 -13214.596859  15387.033732  16904.610109    207.890570                    
+V 17 -21238.059735   3427.767356 -20648.948046       .195217                    
+P 18  19497.973673  18176.863146   1075.881482    -15.524544                    
+V 18  -2660.715949   1019.709621  31655.179148      -.026762                    
+P 20  -8993.950228 -20204.219147 -14779.489686   -184.014698                    
+V 20  15833.079673  10031.304467 -23451.662499       .027560                    
+P 21  16726.296586   8526.735743  18886.645717     73.107118                    
+V 21 -22339.251441   8795.108921  15382.591361       .005084                    
+P 22  22123.717338   9962.270463 -10587.354927    -39.830356                    
+V 22   8506.841607  11033.777116  27768.998296       .087426                    
+P 24 -22578.364661  12439.911538   6850.667020      8.250489                    
+V 24  -8569.530536    472.868158 -30350.012170       .029741                    
+P 25  24624.182275  -9101.022577  -3574.885941     61.750088                    
+V 25  -3024.879366   5212.608873 -30958.651237       .004583                    
+P 26  -8047.332112  24174.798588   5992.006257    409.619075                    
+V 26  -1319.622043  -8382.290048  31352.509332      -.125105                    
+P 27 -14550.195471  -9650.917845  20623.205979    920.065957                    
+V 27  22502.899226 -11001.148413  10479.278088       .042418                    
+P 28 -22793.432506 -10398.233228  -9084.871106     21.917108                    
+V 28  -7540.743961  -9269.928724  28642.855348       .016202                    
+P 29 -10873.565487  21237.225645  11876.065440    230.068521                    
+V 29     22.882742 -14785.412584  27119.564672       .032711                    
+P 30  17094.754198  19236.489215  -7013.394536    805.687018                    
+V 30  -8720.283087  -2719.219417 -29591.781011       .142445                    
+P 31   4031.223899 -25981.373204   1804.269894     40.977513                    
+V 31   3567.079959   3099.912916  31321.352222       .307479                    
+*  2004  3  1 10 45   .00000000                                                 
+P  1    213.452393 -26259.128131   4047.017997    332.664332                    
+V  1   2785.097686  -4635.891731 -31599.427856       .019491                    
+P  3  12012.429247 -17519.627993  15710.708504     90.015219                    
+V  3   2450.741878  20348.389541  20915.578509       .027876                    
+P  4 -24850.899556   4068.037796  -8921.750176    -77.107349                    
+V  4   9384.265207  -6639.673607 -28792.723110      -.091852                    
+P  5   3310.708549  18353.633483 -19091.308054     19.838236                    
+V  5 -21399.633668 -11014.698750 -14223.752888       .015620                    
+P  6   7085.667200  22802.930261  11670.446521     -1.395454                    
+V  6  -4050.817412  14403.755274 -26231.753495      -.009955                    
+P  7 -15284.996014  -3770.150533 -21006.270107    611.449373                    
+V  7   1454.778671 -27647.849852   3665.584384      -.078554                    
+P  8 -21796.265844  -2085.769736  15055.615041    355.066899                    
+V  8  17084.170075  -9231.340748  22845.794501      -.088161                    
+P  9  -7570.012738  18241.508957 -18004.027762    -32.437840                    
+V  9 -20636.536528   8367.392215  17954.261275      -.018768                    
+P 10 -13862.104587   7630.453002  21332.324318     40.190950                    
+V 10 -21748.308543 -16152.608937  -8064.342500       .007464                    
+P 11   5009.580854 -19068.746969 -17744.077896     99.985734                    
+V 11  20831.342018  -9510.041740  16242.202270       .025291                    
+P 13  -7956.685911 -20602.090790  14773.471893    -30.896111                    
+V 13   3317.652043 -18525.111392 -23903.207984       .002295                    
+P 14  14708.148778   2174.573071 -21957.263983    -18.163317                    
+V 14  -2480.057299  27845.037256   1105.572908      -.001171                    
+P 15  24827.433973  -2604.701279   9185.656169    233.185355                    
+V 15 -10357.245659   6277.063195  28815.664061       .051596                    
+P 16  17585.591647  -4334.665220  19501.747123     15.265981                    
+V 16  19479.778724  15081.703354 -14257.071800      -.003840                    
+P 17 -15013.169123  15713.324128  14903.301794    207.908263                    
+V 17 -18676.017662   3755.999069 -23762.432635       .195226                    
+P 18  19137.188653  18174.133892   3907.642853    -15.527215                    
+V 18  -5392.800715  -1020.393021  31183.650883      -.026767                    
+P 20  -7453.782255 -19272.200154 -16757.526081   -184.012062                    
+V 20  18368.570080  10602.178372 -20442.144385       .027557                    
+P 21  14668.380431   9396.040738  20105.746382     73.107652                    
+V 21 -23307.105819  10522.443840  11667.929564       .005097                    
+P 22  22803.159494  10841.533605  -8003.419141    -39.822799                    
+V 22   6521.733974   8528.094935  29568.053894       .087400                    
+P 24 -23203.140892  12447.465981   4068.647567      8.252172                    
+V 24  -5315.824013   -377.720106 -31385.377809       .029928                    
+P 25  24225.964147  -8550.057273  -6322.052853     61.750344                    
+V 25  -5777.232327   7079.159485 -30000.270458       .004512                    
+P 26  -8167.032428  23264.363958   8751.361311    409.608193                    
+V 26  -1412.392192 -11825.391274  29874.072525      -.125114                    
+P 27 -12509.458576 -10714.404689  21395.139303    920.069859                    
+V 27  22766.818347 -12613.169208   6649.904981       .042383                    
+P 28 -23375.604173 -11124.277798  -6437.007504     21.918461                    
+V 28  -5332.862765  -6896.604756  30114.272298       .016191                    
+P 29 -10895.397808  19775.157670  14208.852220    230.071536                    
+V 29   -571.362061 -17655.620199  24647.735128       .032702                    
+P 30  16184.265020  18927.246497  -9609.569938    805.699981                    
+V 30 -11520.077913  -4082.930658 -28019.850143       .142436                    
+P 31   4349.592060 -25550.568613   4598.980131     41.005372                    
+V 31   3573.082969   6465.701375  30691.445101       .307441                    
+*  2004  3  1 11  0   .00000000                                                 
+P  1    441.598329 -26521.399098   1176.417001    332.666229                    
+V  1   2355.092204  -1174.852074 -32100.231791       .018791                    
+P  3  12277.639400 -15593.225671  17450.325896     90.018553                    
+V  3   3481.343526  22390.493604  17686.603846       .028076                    
+P  4 -23894.120692   3385.716520 -11430.300849    -77.115963                    
+V  4  11814.089208  -8560.395955 -26873.650659      -.091866                    
+P  5   1303.482824  17378.060990 -20205.893510     19.839448                    
+V  5 -23149.279822 -10603.834012 -10509.336119       .015627                    
+P  6   6755.667063  23971.842054   9216.050280     -1.396898                    
+V  6  -3338.156310  11526.637730 -28232.917631      -.009965                    
+P  7 -15213.228083  -6233.375399 -20490.298485    611.442505                    
+V  7    151.303170 -27000.622735   7781.869848      -.078566                    
+P  8 -20179.702633  -3005.674119  16976.316478    355.059662                    
+V  8  18759.403775 -11225.330864  19773.347392      -.088235                    
+P  9  -9326.133879  18995.222410 -16240.354729    -32.439897                    
+V  9 -18346.947126   8310.707018  21186.084053      -.018697                    
+P 10 -15817.622662   6258.976658  20425.230242     40.190766                    
+V 10 -21621.324798 -14294.121267 -12062.826254       .007702                    
+P 11   6791.941148 -19917.917096 -16133.160930     99.987855                    
+V 11  18738.288826  -9293.533769  19504.819899       .025291                    
+P 13  -7711.635280 -22150.225995  12501.410777    -30.895835                    
+V 13   2181.167643 -15816.537232 -26514.288210       .002312                    
+P 14  14553.934354   4672.689218 -21668.231453    -18.163471                    
+V 14   -949.148964  27574.940876   5308.131811      -.001176                    
+P 15  23778.298122  -1957.951423  11692.862524    233.190244                    
+V 15 -12893.769389   8135.499080  26819.093011       .051590                    
+P 16  19307.563036  -3066.114386  18055.493565     15.265884                    
+V 16  18701.627660  13095.267698 -17836.251595      -.003849                    
+P 17 -16567.829782  16050.402935  12639.436472    207.925637                    
+V 17 -15832.634658   3661.142577 -26473.988684       .195230                    
+P 18  18522.033572  18004.720232   6673.043843    -15.529783                    
+V 18  -8299.134500  -2676.778862  30182.577107      -.026775                    
+P 20  -5693.365938 -18309.609615 -18448.620470   -184.008985                    
+V 20  20712.281179  10714.228760 -17084.305491       .027555                    
+P 21  12546.468942  10419.352905  20980.510916     73.107948                    
+V 21 -23760.512310  12202.342776   7741.338842       .005108                    
+P 22  23285.753161  11502.707932  -5280.585950    -39.814866                    
+V 22   4141.285311   6201.428980  30851.391425       .087371                    
+P 24 -23536.920908  12359.085477   1217.283179      8.255260                    
+V 24  -2118.953013  -1655.566228 -31888.223839       .030192                    
+P 25  23593.849892  -7819.118555  -8959.101535     61.750273                    
+V 25  -8211.024803   9200.445474 -28514.453016       .004444                    
+P 26  -8314.149554  22052.181714  11353.152714    409.596018                    
+V 26  -1924.062340 -15070.264272  27856.449240      -.125122                    
+P 27 -10466.316233 -11916.658502  21816.602123    920.073558                    
+V 27  22559.655117 -14070.979017   2701.056584       .042353                    
+P 28 -23742.773020 -11646.582699  -3679.762732     21.919817                    
+V 28  -2772.952794  -4754.913780  31070.629097       .016183                    
+P 29 -10987.036474  18069.309412  16300.316468    230.074607                    
+V 29  -1519.297423 -20189.698699  21764.732216       .032691                    
+P 30  15021.178245  18514.397061 -12042.821160    805.712518                    
+V 30 -14318.548505  -5019.388212 -25976.627189       .142427                    
+P 31   4685.960164 -24820.436700   7312.353034     41.032883                    
+V 31   3964.521532   9735.250810  29515.998296       .307401                    
+*  2004  3  1 11 15   .00000000                                                 
+P  1    650.223642 -26468.966223  -1714.436760    332.665073                    
+V  1   2352.936315   2340.612104 -32048.448776       .017990                    
+P  3  12644.940544 -13502.743830  18885.114672     90.019752                    
+V  3   4707.287958  23986.304322  14151.724827       .028226                    
+P  4 -22736.599542   2521.599982 -13745.247481    -77.124099                    
+V  4  13836.549117 -10666.345117 -24496.166579      -.091877                    
+P  5   -845.055868  16455.088113 -20977.546533     19.840507                    
+V  5 -24529.116345  -9855.238216  -6613.627443       .015598                    
+P  6   6474.181107  24870.787117   6602.982711     -1.398001                    
+V  6  -2978.895134   8418.536579 -29752.311384      -.009922                    
+P  7 -15254.457347  -8614.480526 -19609.994809    611.436170                    
+V  7  -1042.222628 -25827.947987  11749.572341      -.078582                    
+P  8 -18434.428785  -4107.539191  18604.244810    355.052042                    
+V  8  19940.055008 -13259.493784  16348.707453      -.088314                    
+P  9 -10866.250961  19724.195086 -14200.807427    -32.441534                    
+V  9 -15850.501304   7813.216907  24075.556537      -.018615                    
+P 10 -17738.179030   5061.587066  19167.501637     40.191310                    
+V 10 -20969.501479 -12299.859247 -15845.250559       .007956                    
+P 11   8376.783479 -20729.205916 -14243.250207     99.990180                    
+V 11  16455.753046  -8665.003704  22432.967309       .025295                    
+P 13  -7553.610321 -23439.237353  10014.622915    -30.895402                    
+V 13   1393.008714 -12780.663298 -28668.197118       .002323                    
+P 14  14535.507584   7121.362216 -21004.554148    -18.163760                    
+V 14    522.036130  26748.809473   9418.944732      -.001181                    
+P 15  22518.833786  -1134.217571  13999.027652    233.194592                    
+V 15 -15021.519843  10196.704855  24353.962463       .051537                    
+P 16  20936.721435  -1978.483864  16300.334480     15.265389                    
+V 16  17418.655972  11076.576890 -21111.846333      -.003859                    
+P 17 -17857.401663  16358.747329  10151.667254    207.943755                    
+V 17 -12801.408720   3114.192860 -28729.691057       .195232                    
+P 18  17640.782811  17704.963064   9325.113892    -15.532207                    
+V 18 -11290.680895  -3912.105846  28668.681297      -.026779                    
+P 20  -3733.972677 -17356.518371 -19823.971704   -184.006448                    
+V 20  22776.234292  10397.516395 -13435.642033       .027553                    
+P 21  10406.821022  11588.324596  21494.805837     73.108112                    
+V 21 -23703.421394  13744.423044   3668.804777       .005116                    
+P 22  23538.538081  11965.546694  -2466.266327    -39.807102                    
+V 22   1426.202204   4132.862577  31598.454651       .087349                    
+P 24 -23589.085181  12137.522172  -1654.878795      8.258565                    
+V 24    927.038686  -3330.880202 -31846.239111       .030392                    
+P 25  22759.428867  -6888.586753 -11439.485831     61.751326                    
+V 25 -10263.683985  11501.062386 -26523.346038       .004463                    
+P 26  -8524.796960  20560.703264  13750.462954    409.584512                    
+V 26  -2816.238091 -18015.938441  25337.190191      -.125125                    
+P 27  -8462.043460 -13240.123205  21879.577211    920.076964                    
+V 27  21908.888873 -15293.747742  -1306.138445       .042323                    
+P 28 -23866.165284 -11989.197023   -860.150430     21.921138                    
+V 28     72.256090  -2913.911810  31498.742372       .016178                    
+P 29 -11177.653504  16153.268610  18115.671856    230.077620                    
+V 29  -2759.552830 -22315.686978  18520.830873       .032679                    
+P 30  13609.673999  18036.726423 -14272.293397    805.725861                    
+V 30 -17025.484683  -5524.107768 -23497.987926       .142421                    
+P 31   5074.060473 -23804.005781   9896.027720     41.060319                    
+V 31   4717.198803  12812.272362  27813.168614       .307359                    
+*  2004  3  1 11 30   .00000000                                                 
+P  1    877.990905 -26101.519581  -4575.673537    332.666014                    
+V  1   2778.937508   5808.429829 -31442.642996       .017750                    
+P  3  13128.513254 -11290.342925  19990.349709     90.022541                    
+V  3   6051.769694  25094.293903  10374.094455       .028571                    
+P  4 -21417.100922   1462.716336 -15826.999201    -77.132728                    
+V  4  15407.596371 -12874.009260 -21698.527572      -.091893                    
+P  5  -3098.894230  15612.387940 -21392.854462     19.841762                    
+V  5 -25480.621562  -8831.325801  -2601.594553       .015639                    
+P  6   6207.978333  25482.880775   3875.957187     -1.398745                    
+V  6  -3001.977792   5167.345679 -30761.237250      -.009841                    
+P  7 -15395.092676 -10867.795385 -18381.985813    611.429243                    
+V  7  -2044.868997 -24168.814655  15497.104958      -.078600                    
+P  8 -16605.856117  -5390.770083  19910.227180    355.044238                    
+V  8  20609.223489 -15239.860496  12629.050947      -.088404                    
+P  9 -12175.628202  20387.832353 -11918.623156    -32.443879                    
+V  9 -13234.304275   6857.363011  26569.589427      -.018520                    
+P 10 -19576.316830   4046.197714  17581.476814     40.193563                    
+V 10 -19791.104639 -10265.702245 -19348.126213       .008198                    
+P 11   9750.816927 -21464.906910 -12106.814361     99.992447                    
+V 11  14067.944954  -7613.348886  24975.087961       .025298                    
+P 13  -7449.002032 -24443.565480   7355.945266    -30.894981                    
+V 13   1000.654312  -9505.721128 -30328.717890       .002333                    
+P 14  14643.390684   9471.515157 -19977.717557    -18.164236                    
+V 14   1843.095450  25391.293802  13366.644577      -.001183                    
+P 15  21088.211196   -118.996747  16063.695371    233.199451                    
+V 15 -16690.284321  12375.919482  21459.751122       .051667                    
+P 16  22428.283988  -1070.565423  14266.157314     15.264788                    
+V 16  15648.382844   9116.576563 -24027.773656      -.003867                    
+P 17 -18869.449720  16597.083819   7483.161646    207.962591                    
+V 17  -9682.475030   2105.466704 -30483.378892       .195228                    
+P 18  16489.973192  17313.791465  11818.767291    -15.534859                    
+V 18 -14273.427488  -4706.364377  26667.073055      -.026782                    
+P 20  -1604.429680 -16449.537864 -20860.176040   -184.004068                    
+V 20  24481.034154   9698.581720  -9558.432441       .027549                    
+P 21   8294.525836  12886.594856  21638.595956     73.108532                    
+V 21 -23157.809213  15061.591925   -480.319790       .005131                    
+P 22  23534.648103  12256.379571    390.709419    -39.799213                    
+V 22  -1549.232926   2388.997274  31798.284145       .087330                    
+P 24 -23377.226086  11749.004676  -4498.588790      8.262018                    
+V 24   3734.282407  -5356.396245 -31256.195563       .030506                    
+P 25  21759.267392  -5746.103912 -13719.090748     61.750427                    
+V 25 -11887.561862  13895.557869 -24058.787401       .004416                    
+P 26  -8830.820724  18821.002885  15900.222800    409.573544                    
+V 26  -4032.837093 -20572.429997  22364.092563      -.125130                    
+P 27  -6534.772585 -14660.250224  21581.630882    920.080779                    
+V 27  20856.688847 -16207.398235  -5308.837690       .042295                    
+P 28 -23723.537852 -12181.783243   1974.018746     21.922942                    
+V 28   3124.815779  -1428.924544  31394.076027       .016173                    
+P 29 -11490.328271  14066.477424  19624.901650    230.080811                    
+V 29  -4218.564423 -23975.817209  14971.593696       .032663                    
+P 30  11961.993078  17532.642391 -16260.667935    805.737707                    
+V 30 -19552.515629  -5609.901061 -20626.520132       .142415                    
+P 31   5544.672469 -22522.709778  12303.750114     41.087864                    
+V 31   5789.902955  15606.895810  25611.568643       .307322                    
+*  2004  3  1 11 45   .00000000                                                 
+P  1   1162.737925 -25427.907474  -7357.730251    332.667999                    
+V  1   3614.498752   9127.796250 -30291.081691       .017392                    
+P  3  13735.339430  -9001.149505  20747.184205     90.026327                    
+V  3   7432.182615  25690.270870   6420.974259       .028932                    
+P  4 -19977.613530    203.918776 -17639.732702    -77.140672                    
+V  4  16499.854500 -15093.551011 -18526.110234      -.091905                    
+P  5  -5417.365522  14871.539315 -21444.356464     19.843296                    
+V  5 -25959.243796  -7604.666827   1459.634323       .015715                    
+P  6   5921.975013  25799.407325   1081.884440     -1.400851                    
+V  6  -3419.465007   1866.143227 -31239.663429      -.009865                    
+P  7 -15614.632217 -12951.937391 -16829.122764    611.422069                    
+V  7  -2784.535107 -22079.169916  18957.960363      -.078619                    
+P  8 -14740.076317  -6846.261926  20870.513670    355.036347                    
+V  8  20768.763969 -17071.918280   8677.555161      -.088494                    
+P  9 -13247.551137  20944.766161  -9431.579944    -32.445401                    
+V  9 -10588.952340   5443.657659  28620.553637      -.018379                    
+P 10 -21285.280181   3212.099173  15694.978275     40.193735                    
+V 10 -18103.392951  -8286.767056 -22513.224984       .008348                    
+P 11  10908.441489 -22087.070420  -9760.670384     99.994591                    
+V 11  11661.008662  -6144.320169  27086.261211       .025301                    
+P 13  -7360.692233 -25145.977737   4571.095720    -30.894499                    
+V 13   1034.351643  -6087.941199 -31468.129411       .002338                    
+P 14  14860.231446  11677.130636 -18605.510371    -18.164534                    
+V 14   2930.039554  23545.515865  17082.734999      -.001184                    
+P 15  19529.366245   1094.227952  17850.328873    233.203195                    
+V 15 -17866.873874  14581.003344  18183.983570       .051681                    
+P 16  23739.858127   -333.130193  11987.636537     15.264690                    
+V 16  13426.265680   7301.978130 -26533.888928      -.003875                    
+P 17 -19600.701386  16724.172858   4680.841583    207.979709                    
+V 17  -6578.620916    645.475288 -31697.991075       .195223                    
+P 18  15074.698007  16871.128451  14111.542034    -15.537009                    
+V 18 -17151.825954  -5057.530158  24210.875759      -.026788                    
+P 20    659.791028 -15620.420044 -21539.611329   -184.001528                    
+V 20  25758.882797   8678.501180  -5518.700585       .027545                    
+P 21   6251.909156  14290.245560  21408.197385     73.109116                    
+V 21 -22162.925381  16073.582336  -4634.444877       .005144                    
+P 22  23254.408191  12406.874111   3240.959308    -39.791733                    
+V 22  -4700.011628   1021.489828  31449.573970       .087309                    
+P 24 -22926.440244  11164.746811  -7264.728093      8.265021                    
+V 24   6224.420494  -7668.910487 -30124.270422       .030654                    
+P 25  20633.472372  -4387.332276 -15757.090021     61.750195                    
+V 25 -13051.901369  16291.744086 -21161.941087       .004515                    
+P 26  -9258.314991  16871.617749  17764.083392    409.562639                    
+V 26  -5502.601395 -22664.446299  18994.040307      -.125131                    
+P 27  -4718.229491 -16146.233561  20926.037158    920.084444                    
+V 27  19458.537361 -16747.402193  -9243.164941       .042265                    
+P 28 -23300.061880 -12258.292669   4774.911515     21.924526                    
+V 28   6298.414293   -339.668870  30760.636853       .016173                    
+P 29 -11941.079387  11852.863757  20803.192805    230.084264                    
+V 29  -5813.507427 -25128.447820  11176.938466       .032644                    
+P 30  10098.126164  17038.645552 -17974.733964    805.750259                    
+V 30 -21816.312579  -5306.170873 -17410.797002       .142410                    
+P 31   6124.159152 -21005.643904  14492.296612     41.115655                    
+V 31   7126.034031  18039.321740  22949.833898       .307280                    
+*  2004  3  1 12  0   .00000000                                                 
+P  1   1539.798094 -24465.850336 -10012.225490    332.668852                    
+V  1   4822.727617  12202.984629 -28611.742673       .017146                    
+P  3  14464.833832  -6681.654356  21142.960666     90.029149                    
+V  3   8763.557932  25768.183775   2362.420457       .029048                    
+P  4 -18461.800155  -1251.694717 -19152.006949    -77.149189                    
+V  4  17103.610687 -17232.166763 -15030.812578      -.091921                    
+P  5  -7756.489975  14247.237869 -21130.692261     19.845011                    
+V  5 -25936.160058  -6255.151775   5501.793370       .015733                    
+P  6   5580.789204  25820.132121  -1730.932392     -1.401807                    
+V  6  -4225.869484  -1390.271926 -31176.754990      -.009765                    
+P  7 -15886.596874 -14831.233492 -14979.965488    611.414857                    
+V  7  -3200.951040 -19629.489641  22071.984147      -.078642                    
+P  8 -12882.167165  -8456.521727  21467.272797    355.028333                    
+V  8  20439.291551 -18664.410972   4562.380872      -.088581                    
+P  9 -14083.489323  21354.509201  -6781.454776    -32.447503                    
+V  9  -8005.137138   3591.185757  30187.397389      -.018276                    
+P 10 -22820.698732   2550.194379  13540.799581     40.195529                    
+V 10 -15941.950558  -6453.729927 -25288.440481       .008516                    
+P 11  11851.771658 -22559.024202  -7245.346875     99.996841                    
+V 11   9319.675656  -4280.492501  28729.059898       .025306                    
+P 13  -7249.663053 -25538.128672   1707.888366    -30.894450                    
+V 13   1505.929902  -2627.972327 -32067.628553       .002344                    
+P 14  15161.536669  13696.844283 -16911.710930    -18.164527                    
+V 14   3708.710230  21271.423654  20502.805980      -.001186                    
+P 15  17887.402716   2503.481397  19327.006776    233.208097                    
+V 15 -18536.469540  16716.001387  14581.576093       .051922                    
+P 16  24833.007890    250.536776   9503.659728     15.264438                    
+V 16  10804.520113   5711.885237 -28586.848141      -.003884                    
+P 17 -20057.096992  16700.632661   1794.510769    207.997367                    
+V 17  -3591.081093  -1235.087166 -32346.724171       .195218                    
+P 18  13408.587336  16416.267900  16164.300058    -15.538854                    
+V 18 -19832.302529  -4981.549823  21340.741274      -.026791                    
+P 20   3017.736089 -14894.857318 -21850.725486   -183.998759                    
+V 20  26556.159144   7410.399510  -1385.128300       .027542                    
+P 21   4317.038302  15768.568011  20806.424189     73.109808                    
+V 21 -20773.858095  16710.292599  -8720.974176       .005155                    
+P 22  22686.156280  12452.602891   6035.414177    -39.784188                    
+V 22  -7933.642670     65.210265  30560.545947       .087296                    
+P 24 -22268.333351  10362.287883  -9905.164046      8.266802                    
+V 24   8331.637255 -10191.478861 -28466.212435       .030633                    
+P 25  19424.107463  -2816.397335 -17516.759944     61.750701                    
+V 25 -13744.131484  18594.371145 -17882.689538       .004680                    
+P 26  -9826.395498  14757.083936  19309.172177    409.551785                    
+V 26  -7142.294774 -24234.410232  15291.591835      -.125138                    
+P 27  -3040.615137 -17661.986230  19921.837385    920.087636                    
+V 27  17781.382697 -16861.333304 -13044.966671       .042248                    
+P 28 -22588.936629 -12255.498205   7495.432139     21.925883                    
+V 28   9501.498213    331.032940  29610.764752       .016170                    
+P 29 -12538.174838   9559.325109  21631.285326    230.087056                    
+V 29  -7455.528079 -25749.400517   7200.189788       .032623                    
+P 30   8045.223099  16587.890190 -19385.892578    805.763218                    
+V 30 -23741.589837  -4657.613672 -13904.598394       .142405                    
+P 31   6833.182049 -19288.508007  16422.346116     41.143424                    
+V 31   8655.935154  20043.081771  19875.909552       .307232                    
+*  2004  3  1 12 15   .00000000                                                 
+P  1   2040.409178 -23241.317498 -12492.826746    332.671059                    
+V  1   6349.788693  14947.000816 -26432.132895       .017046                    
+P  3  15308.789479  -4378.071040  21171.402062     90.031920                    
+V  3   9962.076092  25340.196656  -1730.059777       .029056                    
+P  4 -16913.387318  -2892.671885 -20337.318905    -77.157087                    
+V  4  17227.164437 -19197.602378 -11270.341582      -.091940                    
+P  5 -10070.448702  13746.775980 -20456.657037     19.846366                    
+V  5 -25399.474386  -4866.868082   9456.539790       .015728                    
+P  6   5150.323902  25553.295807  -4513.643394     -1.404653                    
+V  6  -5398.189905  -4508.956796 -30571.243420      -.009603                    
+P  7 -16179.709527 -16476.897070 -12868.161247    611.407671                    
+V  7  -3248.118279 -16901.794213  24786.434251      -.078664                    
+P  8 -11074.532001 -10196.131114  21688.988428    355.019962                    
+V  8  19659.436541 -19933.087344    355.501342      -.088665                    
+P  9 -14692.947426  21579.122257  -4013.382329    -32.448258                    
+V  9  -5570.138607   1337.388363  31236.733753      -.018127                    
+P 10 -24142.181448   2043.556112  11156.120254     40.195777                    
+V 10 -13359.345811  -4849.366523 -27628.525761       .008510                    
+P 11  12590.360099 -22846.861058  -4604.375982     99.999484                    
+V 11   7123.969849  -2060.564455  29874.274196       .025315                    
+P 13  -7076.681212 -25620.790294  -1184.582497    -30.894218                    
+V 13   2408.329479    772.851318 -32117.601860       .002354                    
+P 14  15516.696602  15495.360377 -14925.667522    -18.164566                    
+V 14   4117.807376  18643.496110  23567.673385      -.001187                    
+P 15  16207.904646   4098.122460  20467.052138    233.213929                    
+V 15 -18703.263200  18684.934453  10714.001368       .051939                    
+P 16  25674.684854    703.810232   6856.680354     15.263984                    
+V 16   7850.299898   4414.705827 -30150.871516      -.003897                    
+P 17 -20253.459169  16490.720699  -1124.111801    208.014926                    
+V 17   -815.310072  -3486.274667 -32413.949325       .195208                    
+P 18  11513.473957  15986.282952  17941.878845    -15.541672                    
+V 18 -22226.713936  -4511.657468  18104.255115      -.026800                    
+P 20   5424.343287 -14291.527412 -21788.225387   -183.996074                    
+V 20  26835.470275   5976.512595   2772.067590       .027536                    
+P 21   2522.385661  17285.116012  19842.620411     73.110028                    
+V 21 -19059.453723  16914.789654 -12667.617698       .005168                    
+P 22  21826.760558  12431.475226   8726.163100    -39.776430                    
+V 22 -11153.654208   -462.917868  29148.654309       .087280                    
+P 24 -21439.770860   9326.607754 -12373.612387      8.270114                    
+V 24  10005.254437 -12836.211098 -26307.330501       .030736                    
+P 25  18173.525936  -1045.989723 -18966.227585     61.752816                    
+V 25 -13970.413063  20709.007913 -14278.784149       .004823                    
+P 26 -10546.285536  12526.236330  20508.712623    409.540441                    
+V 26  -8860.418833 -25244.663054  11327.376074      -.125147                    
+P 27  -1523.673247 -19167.332227  18583.827937    920.092541                    
+V 27  15901.356830 -16511.088647 -16650.655026       .042234                    
+P 28 -21591.714393 -12211.439295  10089.959408     21.927798                    
+V 28  12640.551654    577.914928  27964.829330       .016171                    
+P 29 -13281.742139   7234.120220  22095.735965    230.089518                    
+V 29  -9053.159201 -25832.668742   3107.124961       .032601                    
+P 30   5836.744895  16208.886701 -20470.588692    805.775764                    
+V 30 -25263.805365  -3722.382649 -10166.089431       .142398                    
+P 31   7685.654137 -17412.280265  18059.275765     41.171023                    
+V 31  10299.828981  21567.745589  16446.071828       .307176                    
+*  2004  3  1 12 30   .00000000                                                 
+P  1   2690.275915 -21787.587820 -14756.092570    332.673667                    
+V  1   8126.957440  17284.928975 -23788.912125       .016840                    
+P  3  16251.636945  -2134.720192  20832.681924     90.034961                    
+V  3  10948.506234  24436.043833  -5784.849544       .029102                    
+P  4 -15374.553450  -4699.415582 -21174.590012    -77.165493                    
+V  4  16896.508959 -20901.700676  -7307.387300      -.091963                    
+P  5 -12313.138338  13369.812707 -19433.159561     19.848790                    
+V  5 -24354.805416  -3524.798147  13256.542001       .015708                    
+P  6   4599.314943  25015.286956  -7217.722759     -1.405346                    
+V  6  -6896.657813  -7402.370231 -29431.614905      -.009385                    
+P  7 -16459.265042 -17867.916939 -10531.738582    611.400720                    
+V  7  -2896.098511 -13986.259740  27056.809326      -.078683                    
+P  8  -9355.339749 -12032.538172  21530.745048    355.012110                    
+V  8  18484.358803 -20804.238527  -3868.604166      -.088743                    
+P  9 -15093.000846  21584.828334  -1175.118719    -32.450511                    
+V  9  -3364.344114  -1262.905954  31743.856308      -.018007                    
+P 10 -25214.761556   1668.281214   8581.859892     40.197218                    
+V 10 -10423.176633  -3545.436090 -29495.707959       .008520                    
+P 11  13140.632219 -22920.833971  -1883.526915    100.001551                    
+V 11   5146.097843    461.989990  30501.483096       .025320                    
+P 13  -6803.991762 -25403.744858  -4056.775942    -30.893583                    
+V 13   3715.860541   4016.254014 -31617.745062       .002360                    
+P 14  15890.259570  17044.635056 -12681.780357    -18.165212                    
+V 14   4111.404470  15747.889482  26224.420792      -.001188                    
+P 15  14535.224591   5859.016041  21249.578312    233.218891                    
+V 15 -18390.346573  20395.669151   6648.277334       .051895                    
+P 16  26238.468748   1055.637982   4092.006854     15.263552                    
+V 16   4643.300317   3465.468685 -31198.393081      -.003905                    
+P 17 -20212.788660  16063.990280  -4022.427879    208.032716                    
+V 17   1663.058248  -6040.725680 -31895.832586       .195203                    
+P 18   9418.755279  15614.525357  19413.684706    -15.544389                    
+V 18 -24255.624681  -3697.043079  14555.235986      -.026799                    
+P 20   7831.972055 -13821.418680 -21353.163657   -183.993005                    
+V 20  26577.099544   4464.911208   6882.278763       .027528                    
+P 21    893.706072  18799.009027  18532.571194     73.110415                    
+V 21 -17099.657006  16645.841928 -16403.761379       .005182                    
+P 22  20681.815124  12382.096588  11267.265183    -39.768328                    
+V 22 -14263.214166   -564.363145  27240.136610       .087271                    
+P 24 -20481.419220   8050.966909 -14626.489878      8.272716                    
+V 24  11211.772564 -15507.568069 -23682.286962       .030883                    
+P 25  16922.689927    902.885182 -20079.132083     61.752359                    
+V 25 -13755.391040  22545.959119 -10414.766118       .004869                    
+P 26 -11420.752651  10230.350852  21342.493501    409.529125                    
+V 26 -10561.256325 -25678.753710   7176.365350      -.125157                    
+P 27   -181.981070 -20619.380160  16932.467922    920.095778                    
+V 27  13901.108599 -15674.689681 -19998.142861       .042226                    
+P 28 -20318.327479 -12163.835956  12515.052503     21.929123                    
+V 28  15623.419042    413.294067  25850.843256       .016166                    
+P 29 -14163.689759   4925.225735  22189.096054    230.092465                    
+V 29 -10515.801752 -25390.485051  -1034.978818       .032584                    
+P 30   3511.389480  15924.391134 -21210.667413    805.787782                    
+V 30 -26331.473561  -2569.779311  -6256.963809       .142392                    
+P 31   8687.979454 -15421.677307  19373.857678     41.198758                    
+V 31  11971.225801  22580.939797  12723.712531       .307124                    
+*  2004  3  1 12 45   .00000000                                                 
+P  1   3508.346232 -20144.028520 -16762.272057    332.674829                    
+V  1  10073.302619  19156.826205 -20727.321302       .016477                    
+P  3  17271.004648      7.496896  20133.374977     90.037663                    
+V  3  11651.433726  23101.701817  -9731.530891       .029057                    
+P  4 -13884.375951  -6644.708876 -21648.573340    -77.173687                    
+V  4  16154.343456 -22263.850851  -3208.686431      -.091988                    
+P  5 -14439.749750  13108.444596 -18077.081577     19.848879                    
+V  5 -22825.232663  -2311.456919  16836.583319       .015654                    
+P  6   3900.780291  24230.002428  -9795.847841     -1.405626                    
+V  6  -8666.181126  -9991.741120 -27776.101822      -.009106                    
+P  7 -16688.629911 -18991.629051  -8012.337248    611.394485                    
+V  7  -2132.096623 -10977.585867  28847.440624      -.078706                    
+P  8  -7757.130542 -13927.152170  20994.390256    355.004039                    
+V  8  16983.564804 -21217.867690  -8034.367060      -.088814                    
+P  9 -15307.524656  21343.505616   1683.781165    -32.452339                    
+V  9  -1457.943117  -4139.204778  31693.635519      -.017851                    
+P 10 -26010.140809   1394.607073   5861.982678     40.197859                    
+V 10  -7213.579203  -2599.986070 -30860.167026       .008561                    
+P 11  13525.053839 -22756.602633    870.004525    100.003686                    
+V 11   3447.651642   3220.866499  30599.458284       .025326                    
+P 13  -6396.956317 -24905.345452  -6859.541939    -30.893381                    
+V 13   5385.177585   7010.632315 -30577.031158       .002368                    
+P 14  16243.406276  18324.781627 -10218.894928    -18.165417                    
+V 14   3660.853561  12679.138437  28427.323901      -.001189                    
+P 15  12910.816463   7759.050821  21659.936334    233.222550                    
+V 15 -17638.832315  21763.706320   2455.792753       .051814                    
+P 16  26505.569587   1339.234650   1257.038907     15.263490                    
+V 16   1272.871322   2903.649586 -31710.582324      -.003917                    
+P 17 -19965.212689  15396.743655  -6848.036815    208.050009                    
+V 17   3771.854367  -8816.335683 -30800.616107       .195192                    
+P 18   7160.472977  15329.272217  20554.218444    -15.546997                    
+V 18 -25851.286400  -2600.916033  10752.934440      -.026804                    
+P 20  10192.034969 -13487.461046 -20552.922181   -183.989797                    
+V 20  25779.798482   2966.007383  10875.654525       .027520                    
+P 21   -550.823653  20266.437559  16898.289197     73.110651                    
+V 21 -14982.365881  15879.862147 -19861.863080       .005196                    
+P 22  19265.509871  12342.120125  13615.514699    -39.760989                    
+V 22 -17168.727975   -258.714573  24869.428986       .087260                    
+P 24 -19436.132199   6537.431672 -16623.739007      8.275825                    
+V 24  11936.254907 -18106.042985 -20634.681688       .030891                    
+P 25  15709.548087   3001.504991 -20835.179327     61.754180                    
+V 25 -13141.146705  24024.039377  -6360.681220       .004941                    
+P 26 -12443.916268   7921.213478  21797.179844    409.517991                    
+V 26 -12149.038844 -25541.775980   2916.095942      -.125162                    
+P 27    977.504849 -21974.036828  14993.698597    920.099676                    
+V 27  11866.819540 -14347.577588 -23027.870174       .042218                    
+P 28 -18786.818406 -12148.528608  14730.118649     21.930320                    
+V 28  18362.560858   -133.529932  23304.000957       .016162                    
+P 29 -15167.940445   2678.715572  21910.003827    230.095124                    
+V 29 -11757.156405 -24452.754061  -5158.291386       .032569                    
+P 30   1111.829693  15750.520679 -21593.651928    805.801417                    
+V 30 -26908.015972  -1277.554487  -2241.557336       .142389                    
+P 31   9838.614597 -13363.467542  20342.837108     41.226461                    
+V 31  13580.643151  23069.578674   8777.927095       .307068                    
+*  2004  3  1 13  0   .00000000                                                 
+P  1   4505.853601 -18354.638559 -18476.044274    332.677325                    
+V  1  12098.895076  20520.039844 -17300.421217       .016149                    
+P  3  18338.555270   2012.476886  19086.292483     90.041567                    
+V  3  12010.148101  21397.443762 -13502.134041       .028962                    
+P  4 -12477.396465  -8694.541370 -21750.171694    -77.181782                    
+V  4  15058.439148 -23214.208191    956.018778      -.092013                    
+P  5 -16408.312733  12947.577116 -16411.037696     19.848665                    
+V  5 -20850.592554  -1303.593122  20134.666673       .015682                    
+P  6   3033.309536  23227.918055 -12202.768202     -1.404805                    
+V  6 -10638.436714 -12210.114917 -25632.467388      -.008871                    
+P  7 -16830.806638 -19843.956592  -5354.395354    611.387318                    
+V  7   -960.819078  -7971.282922  30131.852649      -.078738                    
+P  8  -6305.646348 -15836.701519  20088.566008    354.995870                    
+V  8  15238.104760 -21130.344747 -12066.623977      -.088890                    
+P  9 -15366.138923  20833.992329   4512.859761    -32.452776                    
+V  9     92.047932  -7207.797101  31081.246017      -.017635                    
+P 10 -26507.689362   1188.244150   3042.765020     40.199291                    
+V 10  -3820.310818  -2055.261817 -31700.399777       .008576                    
+P 11  13771.065706 -22336.280760   3608.434793    100.005824                    
+V 11   2077.238972   6139.395809  30166.389290       .025333                    
+P 13  -5825.572570 -24151.762343  -9544.949289    -30.893750                    
+V 13   7356.930143   9674.404098 -29013.530055       .002370                    
+P 14  16535.565071  19324.663908  -7579.618111    -18.165489                    
+V 14   2756.005026   9536.542911  30138.640369      -.001188                    
+P 15  11371.681456   9763.988280  21690.049974    233.227139                    
+V 15 -16506.225340  22715.724132  -1789.010582       .051834                    
+P 16  26465.551833   1590.606272  -1599.537000     15.262967                    
+V 16  -2165.253633   2751.594441 -31677.725288      -.003925                    
+P 17 -19546.630717  14473.211155  -9549.821457    208.067747                    
+V 17   5455.426597 -11719.645658 -29148.535149       .195184                    
+P 18   4780.141972  15152.571945  21343.524570    -15.549201                    
+V 18 -26960.208483  -1298.028985   6761.136465      -.026804                    
+P 20  12456.669894 -13284.476263 -19401.092500   -183.987451                    
+V 20  24460.892630   1568.973509  14684.241656       .027505                    
+P 21  -1801.164831  21642.313025  14967.675505     73.111360                    
+V 21 -12799.921183  14612.160553 -22978.839368       .005204                    
+P 22  17600.182622  12346.654242  15731.148204    -39.753143                    
+V 22 -19783.278222    417.282886  22078.465006       .087253                    
+P 24 -18347.245371   4797.055978 -18329.605540      8.278240                    
+V 24  12182.974907 -20532.082700 -17216.419588       .030833                    
+P 25  14567.542372   5214.354682 -21220.572943     61.753845                    
+V 25 -12185.384986  25074.026085  -2190.622821       .004961                    
+P 26 -13601.428499   5649.201339  21866.463982    409.506491                    
+V 26 -13532.037196 -24859.768033  -1375.095581      -.125169                    
+P 27   1955.623333 -23187.611653  12798.666569    920.102486                    
+V 27   9884.988103 -12543.324482 -25683.913578       .042215                    
+P 28 -17022.784041 -12197.999338  16698.036139     21.931924                    
+V 28  20778.135949  -1017.474781  20366.149223       .016159                    
+P 29 -16270.966951    537.218905  21263.191894    230.098250                    
+V 29 -12698.492472 -23065.875891  -9195.367997       .032553                    
+P 30  -1316.692303  15696.126250 -21612.940419    805.814192                    
+V 30 -26973.090102     71.089054   1814.064242       .142381                    
+P 31  11127.972519 -11284.711481  20949.376537     41.254448                    
+V 31  15039.459146  23040.249043   4681.955976       .307010                    
+*  2004  3  1 13 15   .00000000                                                 
+P  1   5685.667100 -16466.413472 -19867.181069    332.679169                    
+V  1  14108.415613  21350.843579 -13568.153427       .015667                    
+P  3  19421.062602   3850.093321  17710.208705     90.045425                    
+V  3  11977.081813  19395.365047 -17032.304149       .028615                    
+P  4 -11182.360629 -10809.210081 -21476.657651    -77.189667                    
+V  4  13679.406445 -23696.556195   5115.116753      -.092039                    
+P  5 -18181.148486  12865.585470 -14463.036454     19.849823                    
+V  5 -18486.138579   -569.078891  23093.103336       .015811                    
+P  6   1982.138765  22044.904670 -14396.145796     -1.405155                    
+V  6 -12734.534182 -14004.944746 -23037.579795      -.008805                    
+P  7 -16849.998287 -20429.318111  -2604.313958    611.379408                    
+V  7    595.877234  -5060.034175  30892.906758      -.078770                    
+P  8  -5018.937813 -17714.802523  18828.603243    354.987699                    
+V  8  13337.258654 -20516.417673 -15892.150861      -.088971                    
+P  9 -15302.906753  20043.141702   7261.708936    -32.453540                    
+V  9   1244.279070 -10374.847056  29912.675999      -.017655                    
+P 10 -26695.167498   1011.873487    172.033506     40.200486                    
+V 10   -339.495658  -1936.128360 -32003.494918       .008578                    
+P 11  13909.827638 -21649.241782   6284.243404    100.008222                    
+V 11   1068.638823   9133.430387  29209.923528       .025338                    
+P 13  -5065.817247 -23175.944495 -12067.090822    -30.893266                    
+V 13   9558.025042  11938.968750 -26954.084720       .002377                    
+P 14  16726.104374  20042.155525  -4809.569779    -18.165566                    
+V 14   1405.695620   6420.383773  31329.250825      -.001186                    
+P 15   9948.992462  11833.613493  21338.626744    233.231379                    
+V 15 -15064.096992  23192.716849  -6010.071555       .051831                    
+P 16  26116.751393   1846.962289  -4428.579581     15.262281                    
+V 16  -5572.490719   3013.605021 -31099.454451      -.003936                    
+P 17 -18997.118178  13286.399283 -12079.009925    208.085254                    
+V 17   6676.940482 -14649.780844 -26971.366037       .195172                    
+P 18   2323.370250  15099.334204  21767.555829    -15.551532                    
+V 18 -27545.221567    128.252967   2647.179269      -.026809                    
+P 20  14580.390430 -13199.449419 -17917.254597   -183.985623                    
+V 20  22655.695947    358.206953  18243.099975       .027489                    
+P 21  -2855.649832  22881.996568  12774.057608     73.111991                    
+V 21 -10645.372686  12857.436649 -25697.403719       .005213                    
+P 22  15715.573594  12426.786319  17578.484050    -39.745161                    
+V 22 -22029.781028   1411.336185  18915.877496       .087240                    
+P 24 -17256.847209   2849.705464 -19713.349509      8.281545                    
+V 24  11975.284720 -22690.089739 -13486.866062       .030855                    
+P 25  13524.309750   7500.340942 -21228.308022     61.754448                    
+V 25 -10958.931486  25641.625732   2018.853283       .005000                    
+P 26 -14871.012474   3461.457897  21551.060880    409.494727                    
+V 26 -14626.387654 -23678.237210  -5619.759113      -.125179                    
+P 27   2760.887133 -24218.456296  10383.344024    920.106264                    
+V 27   8039.085739 -10293.694408 -27915.161412       .042213                    
+P 28 -15058.553932 -12340.026528  18385.726829     21.933305                    
+V 28  22800.810818  -2179.432166  17085.194277       .016158                    
+P 29 -17442.610614  -1461.489992  20259.410696    230.100514                    
+V 29 -13271.648276 -21291.001858 -13080.077578       .032535                    
+P 30  -3727.864943  15762.444519 -21267.919864    805.827608                    
+V 30 -26523.352180   1390.692257   5843.039859       .142373                    
+P 31  12538.672180  -9231.006147  21183.354966     41.282267                    
+V 31  16263.716047  22518.736534    511.535441       .306950                    
+*  2004  3  1 13 30   .00000000                                                 
+P  1   7041.978692 -14527.596536 -20911.118004    332.679914                    
+V  1  16005.014427  21645.316712  -9596.241415       .015221                    
+P  3  20481.684260   5497.133031  16029.486799     90.046837                    
+V  3  11519.711148  17176.487326 -20262.366701       .028103                    
+P  4 -10021.183086 -12944.657290 -20831.787550    -77.197841                    
+V  4  12097.935775 -23670.691308   9196.344167      -.092064                    
+P  5 -19726.174244  12835.242254 -12266.044812     19.851318                    
+V  5 -15800.603759   -164.109919  25659.566192       .016021                    
+P  6    739.963828  20720.835869 -16337.347459     -1.405891                    
+V  6 -14868.145286 -15340.110782 -20036.779307      -.008754                    
+P  7 -16713.111041 -20760.217035    190.382277    611.372838                    
+V  7   2500.001373  -2330.275109  31122.748765      -.078801                    
+P  8  -3906.787313 -19513.676259  17236.278285    354.979241                    
+V  8  11374.848097 -19370.477871 -19441.193406      -.089055                    
+P  9 -15154.834884  18966.573380   9880.956468    -32.454931                    
+V  9   1974.940323 -13540.023319  28204.974999      -.017731                    
+P 10 -26569.143448    826.756024  -2701.612888     40.200678                    
+V 10   3129.845243  -2249.195604 -31765.183722       .008357                    
+P 11  13974.823242 -20692.650120   8851.018949    100.010506                    
+V 11    439.557805  12114.535136  27747.019848       .025345                    
+P 13  -4100.761089 -22016.336321 -14382.853245    -30.893034                    
+V 13  11904.413648  13751.169568 -24433.850570       .002383                    
+P 14  16776.035316  20484.056516  -1956.583848    -18.165616                    
+V 14   -362.512406   3428.116599  31979.140170      -.001190                    
+P 15   8666.956025  13923.144673  20611.235914    233.234599                    
+V 15 -13395.149296  23152.582849 -10131.225110       .051942                    
+P 16  25466.367845   2145.076706  -7181.338307     15.261692                    
+V 16  -8851.066724   3675.727856 -29984.818936      -.003945                    
+P 17 -18359.161930  11838.566937 -14390.180632    208.102782                    
+V 17   7419.803386 -17502.739748 -24311.621483       .195159                    
+P 18   -161.681064  15176.700278  21818.445531    -15.553890                    
+V 18 -27586.951459   1589.234695  -1519.111640      -.026812                    
+P 20  16521.653178 -13212.111600 -16126.656951   -183.983316                    
+V 20  20416.253103   -590.027705  21491.378317       .027473                    
+P 21  -3720.874761  23943.036241  10355.610678     73.112490                    
+V 21  -8608.678972  10649.469980 -27967.314722       .005220                    
+P 22  13647.812749  12608.277495  19126.486394    -39.737083                    
+V 22 -23843.748224   2657.784000  15436.122127       .087230                    
+P 24 -16204.097911    723.524137 -20749.870889      8.283633                    
+V 24  11354.682812 -24492.332266  -9511.795838       .030827                    
+P 25  12600.636148   9814.246123 -20858.318298     61.753996                    
+V 25  -9542.651318  25689.810440   6190.391535       .005143                    
+P 26 -16223.326943   1400.236490  20858.557078    409.483298                    
+V 26 -15359.491179 -22059.913655  -9742.890008      -.125188                    
+P 27   3409.059263 -25028.578601   7788.041228    920.109966                    
+V 27   6406.205802  -7648.005615 -29676.527114       .042212                    
+P 28 -12932.131527 -12596.520452  19764.672516     21.934895                    
+V 28  24374.205119  -3548.521431  13514.447988       .016160                    
+P 29 -18647.154186  -3285.721477  18915.268930    230.103515                    
+V 29 -13421.664959 -19201.780103 -16748.519603       .032518                    
+P 30  -6075.849270  15943.042499 -20563.994815    805.840215                    
+V 30 -25572.626280   2596.827028   9778.667149       .142366                    
+P 31  14046.121559  -7244.809698  21041.516910     41.309713                    
+V 31  17177.695421  21548.726095  -3656.783588       .306889                    
+*  2004  3  1 13 45   .00000000                                                 
+P  1   8560.343160 -12585.886625 -21589.420076    332.681186                    
+V  1  17694.261172  21419.423399  -5454.955709       .014823                    
+P  3  21481.378762   6937.957421  14073.613945     90.047289                    
+V  3  10621.854701  14827.561623 -23138.276949       .027821                    
+P  4  -9008.180995 -15053.997501 -19825.802925    -77.206162                    
+V  4  10401.608190 -23114.224268  13128.066587      -.092090                    
+P  5 -21018.008873  12824.878802  -9857.460282     19.853708                    
+V  5 -12873.727561   -130.830313  27788.085779       .016176                    
+P  6   -692.544237  19298.043335 -17992.171502     -1.404929                    
+V  6 -16948.970048 -16197.275383 -16683.049124      -.008737                    
+P  7 -16391.137858 -20856.537772   2981.871832    611.366617                    
+V  7   4699.041270    140.887472  30822.586202      -.078833                    
+P  8  -2970.474884 -21185.943017  15339.433376    354.970988                    
+V  8   9445.332769 -17707.010158 -22648.947930      -.089122                    
+P  9 -14960.237983  17609.079594  12323.261703    -32.456928                    
+V  9   2278.900205 -16600.514274  25986.205340      -.017792                    
+P 10 -26135.095126    594.389642  -5529.583024     40.202194                    
+V 10   6489.333224  -2982.606615 -30989.934538       .008218                    
+P 11  14000.381721 -19471.696448  11264.283656    100.012711                    
+V 11    191.037430  14993.351996  25803.619399       .025365                    
+P 13  -2921.413250 -20715.398685 -16452.639683    -30.893178                    
+V 13  14304.298707  15075.168337 -21495.706370       .002387                    
+P 14  16649.657572  20665.672003    930.126519    -18.165787                    
+V 14  -2503.328171    650.692926  32077.711779      -.001191                    
+P 15   7541.961627  15984.846070  19520.247952    233.238395                    
+V 15 -11589.787984  22572.036983 -14077.759211       .052232                    
+P 16  24530.226695   2519.662538  -9810.297879     15.261402                    
+V 16 -11907.666867   4706.260385 -28352.189316      -.003944                    
+P 17 -17675.809650  10141.308090 -16442.180313    208.120521                    
+V 17   7688.145106 -20175.813165 -21221.429718       .195156                    
+P 18  -2625.941309  15383.720314  21494.681092    -15.556398                    
+V 18 -27084.640384   2994.406922  -5666.552756      -.026817                    
+P 20  18244.283126 -13295.811999 -14059.802113   -183.980901                    
+V 20  17809.453345  -1210.652474  24373.335371       .027457                    
+P 21  -4411.253355  24786.840079   7754.672113     73.112842                    
+V 21  -6773.007031   8040.007265 -29746.492926       .005228                    
+P 22  11438.179868  12910.476078  20349.247476    -39.729331                    
+V 22 -25175.561772   4080.258824  11698.540222       .087225                    
+P 24 -15223.667496  -1545.940103 -21420.232021      8.287880                    
+V 24  10379.106675 -25862.587236  -5362.155644       .030926                    
+P 25  11809.708472  12108.359822 -20117.472249     61.754557                    
+V 25  -8023.932692  25200.413026  10247.521911       .005335                    
+P 26 -17623.112532   -498.524198  19803.126574    409.471822                    
+V 26 -15672.854392 -20081.867312 -13673.321764      -.125195                    
+P 27   3922.432441 -25585.166683   5056.809477    920.113753                    
+V 27   5053.840518  -4671.769737 -30930.163298       .042212                    
+P 28 -10685.934719 -12982.581382  20811.369788     21.936393                    
+V 28  25456.893289  -5044.767032   9711.914353       .016162                    
+P 29 -19844.611873  -4910.877088  17252.992018    230.107474                    
+V 29 -13108.966012 -16881.663328 -20139.927823       .032504                    
+P 30  -8316.809005  16224.057973 -19512.529576    805.853050                    
+V 30 -24151.469686   3609.364661  13555.372263       .142358                    
+P 31  15619.405954  -5363.917485  20527.470819     41.337184                    
+V 31  17717.102023  20189.751766  -7747.291059       .306838                    
+*  2004  3  1 14  0   .00000000                                                 
+P  1  10218.071379 -10686.675358 -21890.131241    332.680696                    
+V  1  19088.018641  20708.283887  -1217.771567       .014414                    
+P  3  22380.410786   8164.867290  11876.656658     90.049819                    
+V  3   9284.330166  12437.698946 -25612.442880       .027646                    
+P  4  -8149.609615 -17089.176922 -18475.314665    -77.215494                    
+V  4   8681.393155 -22023.711157  16840.599194      -.092116                    
+P  5 -22038.834899  12799.737320  -7278.496843     19.855717                    
+V  5  -9793.332321   -495.483647  29439.965655       .016353                    
+P  6  -2306.545438  17819.682586 -19331.491490     -1.406020                    
+V  6 -18886.393248 -16576.510516 -13036.007986      -.008788                    
+P  7 -15860.373326 -20744.583682   5722.836418    611.358829                    
+V  7   7128.085923   2288.316036  30002.323245      -.078866                    
+P  8  -2202.898722 -22686.419230  13171.467914    354.962608                    
+V  8   7639.864319 -15560.196099 -25456.946177      -.089184                    
+P  9 -14757.036764  15984.659271  14544.292635    -32.459232                    
+V  9   2170.027351 -19455.248425  23295.075459      -.017845                    
+P 10 -25407.193083    278.153867  -8264.076178     40.203259                    
+V 10   9644.751746  -4106.538307 -29690.797372       .008033                    
+P 11  14020.176578 -17999.527453  13482.280412    100.014941                    
+V 11    307.534685  17683.001337  23414.142492       .025383                    
+P 13  -1527.262658 -19317.990277 -18241.033768    -30.892632                    
+V 13  16661.640599  15893.663888 -18189.546207       .002397                    
+P 14  16316.083840  20610.070929   3800.824319    -18.166058                    
+V 14  -4955.422869  -1830.847723  31623.930947      -.001189                    
+P 15   6582.056133  17969.778851  18084.633618    233.244099                    
+V 15  -9742.349652  21447.751238 -17777.969155       .052516                    
+P 16  23332.219274   3001.823645 -12270.006589     15.260904                    
+V 16 -14656.927122   6056.960074 -26228.994847      -.003944                    
+P 17 -16988.819165   8215.239351 -18198.928888    208.137994                    
+V 17   7506.341550 -22571.908455 -17761.150848       .195153                    
+P 18  -5021.116808  15711.352656  20801.173320    -15.558966                    
+V 18 -26056.274744   4255.065864  -9723.786415      -.026817                    
+P 20  19718.703422 -13418.646772 -11751.943484   -183.978117                    
+V 20  14914.582807  -1452.409471  26839.289588       .027444                    
+P 21  -4948.248574  25380.214053   5016.962956     73.112897                    
+V 21  -5211.297429   5096.881844 -31001.967418       .005236                    
+P 22   9131.684726  13345.488385  21226.383412    -39.721286                    
+V 22 -25992.186487   5594.727389   7766.376614       .087216                    
+P 24 -14344.360097  -3916.919551 -21712.061413      8.290311                    
+V 24   9120.513538 -26739.350321  -1112.669670       .030874                    
+P 25  11156.696532  14334.217736 -19019.418604     61.754846                    
+V 25  -6492.900907  24174.907159  14116.311866       .005540                    
+P 26 -19030.564855  -2206.342307  18405.129843    409.459726                    
+V 26 -15524.276724 -17832.143003 -17344.926831      -.125202                    
+P 27   4328.829629 -25861.958099   2236.736480    920.117558                    
+V 27   4036.930914  -1444.613761 -31646.629521       .042213                    
+P 28  -8365.378804 -13505.814556  21507.717964     21.938288                    
+V 28  26023.894578  -6582.113869   5739.516239       .016162                    
+P 29 -20992.192208  -6320.197233  15300.099954    230.110380                    
+V 29 -12311.006984 -14420.864102 -23197.557815       .032482                    
+P 30 -10410.374562  16584.729033 -18130.702559    805.865603                    
+V 30 -22306.142434   4355.613712  17109.690675       .142349                    
+P 31  17222.439942  -3620.152374  19651.541668     41.364858                    
+V 31  17831.718256  18514.506886 -11686.694557       .306792                    
+*  2004  3  1 14 15   .00000000                                                 
+P  1  11984.962562  -8871.385287 -21807.999492    332.682147                    
+V  1  20108.075056  19564.665822   3040.048321       .014122                    
+P  3  23139.886071   9178.161567   9476.647980     90.051994                    
+V  3   7524.955879  10094.959431 -27644.415110       .027554                    
+P  4  -7443.522146 -19002.702127 -16803.067537    -77.223698                    
+V  4   7027.968677 -20415.051393  20267.540131      -.092131                    
+P  5 -22778.981050  12723.462522  -4573.493023     19.856796                    
+V  5  -6652.055257  -1267.174023  30584.592756       .016463                    
+P  6  -4085.168861  16328.076282 -20331.802240     -1.407881                    
+V  6 -20593.174535 -16496.166894  -9160.749045      -.008842                    
+P  7 -15103.418331 -20455.900159   8367.222869    611.351777                    
+V  7   9712.356805   4060.966164  28680.081635      -.078890                    
+P  8  -1589.046068 -23973.840816  10770.711061    354.954337                    
+V  8   6042.475608 -12982.680568 -27814.299528      -.089232                    
+P  9 -14581.065610  14116.170585  16503.655389    -32.461133                    
+V  9   1680.654762 -22009.118532  20180.249100      -.017746                    
+P 10 -24407.773453   -155.117097 -10858.845363     40.204031                    
+V 10  12509.401709  -5574.282266 -27889.216139       .007848                    
+P 11  14065.761743 -16296.873000  15466.707166    100.017344                    
+V 11    757.669761  20102.382276  20620.824668       .025399                    
+P 13     73.504787 -17869.670599 -19717.395060    -30.892745                    
+V 13  18879.832317  16208.410592 -14571.463208       .002409                    
+P 14  15750.583433  20347.055246   6606.109318    -18.166414                    
+V 14  -7643.744975  -3948.383551  30626.297565      -.001187                    
+P 15   5786.767223  19829.617490  16329.625024    233.248841                    
+V 15  -7947.148175  19796.662961 -21164.662826       .052742                    
+P 16  21903.440514   3617.645547 -14517.873520     15.260356                    
+V 16 -17024.633202   7664.914082 -23651.294233      -.003944                    
+P 17 -16336.892306   6089.310695 -19630.090417    208.154863                    
+V 17   6917.624145 -24603.565546 -13997.796185       .195154                    
+P 18  -7301.356988  16142.788496  19749.217370    -15.561453                    
+V 18 -24538.003307   5287.899537 -13620.501524      -.026820                    
+P 20  20922.922818 -13544.802114  -9242.500389   -183.975753                    
+V 20  11820.403417  -1279.972150  28846.482276       .027430                    
+P 21  -5359.312940  25696.698872   2190.733077     73.113883                    
+V 21  -3983.251761   1901.439725 -31710.618056       .005251                    
+P 22   6775.520463  13917.635993  21743.340107    -39.713264                    
+V 22 -26278.268129   7112.795197   3705.766463       .087208                    
+P 24 -13587.984646  -6342.874390 -21619.826203      8.292562                    
+V 24   7661.844153 -27078.460474   3159.677636       .030780                    
+P 25  10638.681175  16444.372736 -17584.286705     61.754294                    
+V 25  -5038.541233  22634.341599  17726.931127       .005732                    
+P 26 -20402.872700  -3703.016585  16690.613964    409.449948                    
+V 26 -14889.325074 -15406.078027 -20697.612609      -.125203                    
+P 27   4660.356905 -25840.391128   -622.859250    920.121004                    
+V 27   3395.337497   1942.473757 -31805.959016       .042220                    
+P 28  -6017.350426 -14165.928126  21841.334744     21.939905                    
+V 28  26067.597818  -8071.683661   1662.261924       .016158                    
+P 29 -22045.883193  -7505.222610  13089.006156    230.113054                    
+V 29 -11023.333911 -11913.054943 -25869.553421       .032466                    
+P 30 -12320.988432  16998.196020 -16441.272121    805.878650                    
+V 30 -20097.007632   4773.216999  20381.252208       .142341                    
+P 31  18815.330277  -2038.320783  18430.486941     41.392260                    
+V 31  17487.422537  16605.653826 -15405.571431       .306746                    
+*  2004  3  1 14 30   .00000000                                                 
+P  1  13824.346678  -7175.976716 -21344.572315    332.681866                    
+V  1  20689.379911  18056.758785   7242.911018       .013897                    
+P  3  23723.257289   9985.892038   6914.918707     90.053606                    
+V  3   5377.908446   7883.028511 -29201.440469       .027527                    
+P  4  -6879.963251 -20749.370145 -14837.585293    -77.231845                    
+V  4   5528.011621 -18323.118551  23347.085138      -.092142                    
+P  5 -23237.199627  12559.675071  -1789.152695     19.858275                    
+V  5  -3543.856080  -2437.294446  31200.119901       .016594                    
+P  6  -6003.978342  14863.103402 -20975.655505     -1.408680                    
+V  6 -21989.012924 -15991.989019  -5126.555022      -.008860                    
+P  7 -14109.942490 -20025.931888  10870.957800    611.344086                    
+V  7  12370.041057   5423.441221  26881.634492      -.078911                    
+P  8  -1106.794431 -25012.439628   8179.690225    354.945967                    
+V  8   4726.578381 -10043.552945 -29678.762615      -.089276                    
+P  9 -14464.466951  12034.611034  18165.747311    -32.461647                    
+V  9    860.192952 -24176.999312  16699.341931      -.017614                    
+P 10 -23166.519988   -733.689690 -13269.940043     40.205100                    
+V 10  15007.187092  -7324.012597 -25614.715673       .007624                    
+P 11  14165.203837 -14391.385815  17183.384954    100.019978                    
+V 11   1495.606836  22179.239378  17472.909044       .025424                    
+P 13   1864.122247 -16414.988566 -20856.376558    -30.892699                    
+V 13  20865.406572  16040.018190 -10702.836625       .002423                    
+P 14  14935.692818  19911.881056   9297.768651    -18.166734                    
+V 14 -10482.366556  -5649.199460  29102.651590      -.001181                    
+P 15   5147.284181  21518.455496  14286.245169    233.256033                    
+V 15  -6294.516881  17655.429548 -24176.570631       .052936                    
+P 16  20281.056862   4386.981715 -16514.919797     15.259883                    
+V 16 -18950.498537   9455.000201 -20663.184769      -.003938                    
+P 17 -15754.071732   3799.775806 -20711.595628    208.172092                    
+V 17   5981.868102 -26196.476370 -10003.323052       .195166                    
+P 18  -9424.836485  16654.092559  18356.342881    -15.564111                    
+V 18 -22582.856298   6018.401066 -17288.671646      -.026816                    
+P 20  21843.242854 -13636.060621  -6574.399960   -183.973521                    
+V 20   8621.865123   -675.450495  30359.838186       .027423                    
+P 21  -5676.582040  25717.647913   -674.150203     73.114579                    
+V 21  -3132.881053  -1454.618191 -31859.686403       .005265                    
+P 22   4417.447043  14623.217777  21891.607032    -39.705449                    
+V 22 -26036.585580   8545.154655   -415.296899       .087203                    
+P 24 -12968.521775  -8774.145417 -21144.964147      8.296015                    
+V 24   6093.500314 -26855.013171   7377.238407       .030737                    
+P 25  10244.928666  18394.122272 -15838.251818     61.755333                    
+V 25  -3744.911276  20618.441173  21015.080750       .005939                    
+P 26 -21695.855882  -4977.110672  14690.732404    409.438577                    
+V 26 -13762.072824 -12902.466852 -23678.111059      -.125205                    
+P 27   4951.952994 -25510.480678  -3471.323237    920.124596                    
+V 27   3151.873551   5390.491569 -31398.564980       .042232                    
+P 28  -3688.625229 -14954.631095  21805.794117     21.941416                    
+V 28  25598.082819  -9425.166418  -2452.648850       .016154                    
+P 29 -22962.104334  -8465.951131  10656.539579    230.116062                    
+V 29  -9260.005209  -9451.920451 -28109.784610       .032456                    
+P 30 -14019.082621  17432.549339 -14472.253895    805.891122                    
+V 30 -17596.408000   4812.701822  23313.761074       .142333                    
+P 31  20355.889021   -635.472515  16887.088936     41.420700                    
+V 31  16667.500553  14552.290720 -18839.659684       .306709                    
+*  2004  3  1 14 45   .00000000                                                 
+P  1  15694.395018  -5629.683602 -20508.160576    332.683207                    
+V  1  20782.745780  16265.327259  11316.354049       .013816                    
+P  3  24097.744360  10603.327438   4235.384943     90.055307                    
+V  3   2892.471117   5878.101614 -30258.879016       .027635                    
+P  4  -6441.491996 -22287.930606 -12612.699581    -77.240201                    
+V  4   4260.612837 -15800.621954  26023.289201      -.092150                    
+P  5 -23420.625264  12273.563778   1026.269111     19.859900                    
+V  5   -560.457853  -3979.694834  31273.991482       .016753                    
+P  6  -8031.747482  13460.700673 -21251.975725     -1.410594                    
+V  6 -23003.831822 -15115.515075  -1005.523860      -.008884                    
+P  7 -12877.182146 -19492.566968  13192.608310    611.336722                    
+V  7  15015.316406   6356.948479  24639.777144      -.078925                    
+P  8   -728.008134 -25773.306141   5444.313213    354.937027                    
+V  8   3751.927945  -6825.633561 -31017.583214      -.089307                    
+P  9 -14434.246864   9778.052954  19500.506711    -32.461869                    
+V  9   -227.052898 -25887.353946  12917.634918      -.017606                    
+P 10 -21719.384802  -1479.669931 -15456.415377     40.206354                    
+V 10  17075.321331  -9281.083259 -22904.487020       .007361                    
+P 11  14341.865037 -12316.720283  18602.847524    100.022418                    
+V 11   2463.007799  23852.874330  14025.715023       .025442                    
+P 13   3819.687890 -14995.821299 -21638.356161    -30.892375                    
+V 13  22531.637228  15427.040438  -6649.334757       .002431                    
+P 14  13862.050284  19343.782587  11829.602618    -18.167000                    
+V 14 -13377.747397  -6897.866131  27079.818094      -.001176                    
+P 15   4646.988370  22994.524263  11990.716522    233.262398                    
+V 15  -4867.024834  15079.050158 -26759.616512       .053009                    
+P 16  18506.947393   5322.484542 -18226.469689     15.259811                    
+V 16 -20390.409235  11342.845342 -17316.058454      -.003931                    
+P 17 -15268.368854   1388.873882 -21426.008143    208.190063                    
+V 17   4772.694017 -27292.355621  -5852.878626       .195187                    
+P 18 -11355.191835  17215.138030  16646.052750    -15.566770                    
+V 18 -20258.803270   6383.972043 -20663.788094      -.026807                    
+P 20  22474.657159 -13653.413433  -3793.355764   -183.970934                    
+V 20   5416.573280    360.771937  31352.608436       .027414                    
+P 21  -5935.376956  25432.999819  -3527.148349     73.114659                    
+V 21  -2686.727590  -4872.838205 -31447.037290       .005286                    
+P 22   2104.163513  15450.584130  21668.837658    -39.697614                    
+V 22 -25287.847699   9805.053795  -4528.002709       .087198                    
+P 24 -12491.623854 -11159.743315 -20295.870071      8.297529                    
+V 24   4509.492061 -26064.469020  11463.330558       .030657                    
+P 25   9957.495416  20143.119254 -13812.979489     61.754961                    
+V 25  -2687.615068  18183.928895  23923.245618       .006113                    
+P 26 -22865.636737  -6026.091239  12441.102769    409.427481                    
+V 26 -12155.112336 -10419.729767 -26240.569769      -.125201                    
+P 27   5239.791915 -24871.370397  -6257.631975    920.128777                    
+V 27   3311.026923   8796.248961 -30425.926399       .042248                    
+P 28  -1424.284571 -15855.838346  21400.781124     21.942940                    
+V 28  24642.817594 -10558.234039  -6536.778549       .016151                    
+P 29 -23699.366904  -9210.682183   8043.393064    230.118724                    
+V 29  -7053.349953  -7127.676634 -29878.646489       .032450                    
+P 30 -15482.043735  17852.087491 -12256.510577    805.904089                    
+V 30 -14886.082801   4439.585251  25855.958767       .142329                    
+P 31  21801.231461    579.512196  15049.639177     41.447785                    
+V 31  15373.215521  12446.241134 -21930.961408       .306659                    
+*  2004  3  1 15  0   .00000000                                                 
+P  1  17549.645533  -4254.029164 -19313.672128    332.682815                    
+V  1  20356.902676  14280.364697  15188.473470       .013764                    
+P  3  24235.616710  11052.150742   1483.804201     90.056164                    
+V  3    131.228524   4146.087872 -30800.486581       .027944                    
+P  4  -6104.016014 -23582.611883 -10166.969035    -77.248562                    
+V  4   3293.971346 -12916.231074  28247.239365      -.092157                    
+P  5 -23344.413700  11833.433156   3823.818384     19.862124                    
+V  5   2212.194573  -5851.474183  30803.286760       .016918                    
+P  6 -10131.512400  12151.537613 -21156.249432     -1.412294                    
+V  6 -23580.643983 -13931.833292   3128.858297      -.008801                    
+P  7 -11410.161580 -18894.622302  15293.984006    611.330218                    
+V  7  17561.459157   6859.648481  21993.655377      -.078936                    
+P  8   -419.881836 -26235.481212   2612.984465    354.928855                    
+V  8   3162.189948  -3422.190199 -31808.114076      -.089326                    
+P  9 -14511.059302   7390.280004  20484.035726    -32.462586                    
+V  9  -1504.759931 -27085.244269   8906.550095      -.017673                    
+P 10 -20107.286158  -2407.971542 -17380.999772     40.207058                    
+V 10  18666.560343 -11360.810509 -19802.872622       .007087                    
+P 11  14613.384518 -10111.387201  19700.842401    100.024958                    
+V 11   3591.475869  25076.397269  10339.605668       .025460                    
+P 13   5907.925146 -13649.825776 -22049.775106    -30.892006                    
+V 13  23801.900823  14424.385826  -2479.846965       .002440                    
+P 14  12528.922794  18684.357154  14158.211684    -18.167372                    
+V 14 -16232.288506  -7677.440776  24593.101597      -.001175                    
+P 15   4262.309971  24221.752556   9483.762937    233.266914                    
+V 15  -3736.037636  12138.715991 -28868.011432       .052895                    
+P 16  16626.170375   6428.920714 -19622.768321     15.259730                    
+V 16 -21318.044520  13238.166787 -13667.717252      -.003926                    
+P 17 -14900.677432  -1096.713501 -21762.732985    208.207148                    
+V 17   3374.047060 -27851.054061  -1623.062075       .195210                    
+P 18 -13062.755958  17790.801979  14647.452056    -15.568963                    
+V 18 -17646.214832   6336.587338 -23686.063218      -.026798                    
+P 20  22820.926754 -13558.716146   -947.094382   -183.968568                    
+V 20   2301.143844   1809.906430  31806.881741       .027407                    
+P 21  -6172.580091  24841.712920  -6318.009833     73.114693                    
+V 21  -2652.839905  -8251.898369 -30481.163077       .005305                    
+P 22   -120.272327  16380.519713  21078.876180    -39.689581                    
+V 22 -24069.846742  10811.663699  -8563.763034       .087191                    
+P 24 -12154.470162 -13449.199286 -19087.736100      8.301130                    
+V 24   3003.428593 -24722.903320  15343.849659       .030700                    
+P 25   9752.132392  21656.800199 -11544.966340     61.757374                    
+V 25  -1930.693180  15402.160859  26401.739261       .006323                    
+P 26 -23870.281331  -6856.126921   9981.119752    409.416536                    
+V 26 -10098.877740  -8052.228508 -28346.959575      -.125194                    
+P 27   5559.605421 -23931.525156  -8931.409541    920.132801                    
+V 27   3858.469429  12056.504925 -28900.997676       .042259                    
+P 28    733.812255 -16846.179491  20632.158183     21.944302                    
+V 28  23245.729255 -11393.858499 -10521.462597       .016145                    
+P 29 -24219.882263  -9755.550646   5293.502023    230.121829                    
+V 29  -4453.055658  -5023.677923 -31143.806141       .032450                    
+P 30 -16694.927936  18218.741231  -9831.256395    805.916604                    
+V 30 -12054.207382   3635.947639  27962.554568       .142327                    
+P 31  23109.391944   1605.999960  12951.332567     41.475264                    
+V 31  13623.639641  10378.331593 -24628.643258       .306612                    
+*  2004  3  1 15 15   .00000000                                                 
+P  1  19342.680654  -3062.159723 -17782.319690    332.683788                    
+V  1  19399.820884  12197.392709  18791.284603       .013833                    
+P  3  24115.290847  11359.422821  -1292.988018     90.059034                    
+V  3  -2832.218473   2740.229130 -30818.566762       .028420                    
+P  4  -5837.905090 -24604.447618  -7542.998156    -77.256268                    
+V  4   2682.513934  -9752.029099  29978.102904      -.092161                    
+P  5 -23031.071310  11212.144989   6554.721812     19.864791                    
+V  5   4697.218801  -7994.591219  29794.941246       .016853                    
+P  6 -12261.858818  10959.918792 -20690.585276     -1.412808                    
+V  6 -23677.875795 -12516.795254   7203.159002      -.008672                    
+P  7  -9721.634696 -18270.324523  17140.677269    611.323559                    
+V  7  19923.931022   6946.408254  18988.067225      -.078948                    
+P  8   -146.471915 -26386.732293   -264.322496    354.920856                    
+V  8   2983.213570     66.763605 -32038.172439      -.089341                    
+P  9 -14708.275262   4919.185432  21099.077478    -32.464073                    
+V  9  -2888.016159 -27734.592262   4741.947753      -.017817                    
+P 10 -18374.629658  -3525.552643 -19010.711603     40.205938                    
+V 10  19750.881947 -13471.641877 -16360.752235       .006778                    
+P 11  14990.898101  -7817.429893  20458.735348    100.027281                    
+V 11   4805.387176  25818.432662   6478.877301       .025473                    
+P 13   8090.229936 -12409.061947 -22083.377620    -30.891511                    
+V 13  24612.672068  13101.108298   1734.641137       .002451                    
+P 14  10944.405170  17975.874246  16243.731622    -18.167066                    
+V 14 -18948.036836  -7989.948064  21685.641794      -.001172                    
+P 15   3963.872917  25171.101393   6809.822352    233.270506                    
+V 15  -2958.775772   8918.988361 -30465.137894       .052812                    
+P 16  14685.314709   7702.799663 -20679.513995     15.259259                    
+V 16 -21725.805764  15048.365023  -9781.363090      -.003923                    
+P 17 -14664.011798  -3607.559100 -21718.071812    208.224508                    
+V 17   1876.434903 -27851.851895   2609.734332       .195237                    
+P 18 -14525.540686  18342.376520  12394.771041    -15.571327                    
+V 18 -14834.819406   5844.906984 -26301.577084      -.026784                    
+P 20  22894.327461 -13316.324299   1915.457591   -183.966497                    
+V 20   -632.414640   3635.344179  31713.950895       .027404                    
+P 21  -6424.954384  23951.843875  -8997.717221     73.114998                    
+V 21  -3020.543467 -11491.600381 -28980.933291       .005327                    
+P 22  -2215.920257  17386.920283  20131.690941    -39.681827                    
+V 22 -22436.000799  11493.227152 -12455.244386       .087187                    
+P 24 -11945.983084 -15594.398887 -17542.249462      8.304437                    
+V 24   1664.535366 -22866.384460  18948.813949       .030640                    
+P 25   9599.445759  22907.574061  -9074.796969     61.756164                    
+V 25  -1524.057390  12356.195860  28409.520656       .006464                    
+P 26 -24671.350840  -7481.567031   7353.238908    409.405246                    
+V 26  -7640.337295  -5886.853956 -29967.318694      -.125189                    
+P 27   5944.999215 -22708.543804 -11443.966875    920.137063                    
+V 27   4761.416058  15072.233662 -26848.295947       .042272                    
+P 28   2748.444604 -17895.797592  19511.938073     21.945875                    
+V 28  21465.666446 -11865.415370 -14338.871839       .016143                    
+P 29 -24491.058371 -10123.764102   2453.358849    230.124778                    
+V 29  -1524.600598  -3213.234500 -31880.881028       .032451                    
+P 30 -17650.896115  18493.612668  -7237.479959    805.929364                    
+V 30  -9192.154281   2401.402492  29595.105271       .142321                    
+P 31  24240.892521   2451.351803  10629.589868     41.503075                    
+V 31  11454.781856   8434.812485 -26889.728612       .306567                    
+*  2004  3  1 15 30   .00000000                                                 
+P  1  21025.889210  -2058.521697 -15941.210480    332.684552                    
+V  1  17919.251307  10113.563649  22061.983651       .013937                    
+P  3  23722.203958  11556.353535  -4047.849641     90.062178                    
+V  3  -5915.929249   1699.213724 -30313.997604       .028797                    
+P  4  -5609.339875 -25332.347482  -4786.668749    -77.264856                    
+V  4   2464.570827  -6400.394714  31184.017016      -.092165                    
+P  5 -22509.503583  10388.386858   9171.269062     19.865821                    
+V  5   6829.759296 -10338.020848  28265.627153       .016559                    
+P  6 -14378.390331   9902.956765 -19863.645010     -1.413633                    
+V  6 -23271.056042 -10953.810007  11145.419107      -.008586                    
+P  7  -7831.753530 -17655.838991  18702.539954    611.316146                    
+V  7  22023.347325   6647.985354  15672.749927      -.078957                    
+P  8    129.651225 -26223.983996  -3137.013433    354.912577                    
+V  8   3222.079339   3538.418657 -31706.143679      -.089359                    
+P  9 -15031.378925   2415.004770  21335.334484    -32.465873                    
+V  9  -4287.126714 -27819.583659    502.313187      -.017984                    
+P 10 -16567.705635  -4830.951070 -20317.416276     40.207268                    
+V 10  20316.548517 -15518.604128 -12634.831162       .006578                    
+P 11  15478.525893  -5478.973756  20863.812282    100.029321                    
+V 11   6024.994195  26064.217906   2510.595342       .025478                    
+P 13  10322.966715 -11298.839636 -21738.347335    -30.891027                    
+V 13  24916.039768  11537.658750   5922.214343       .002460                    
+P 14   9125.284379  17259.574323  18050.504963    -18.166787                    
+V 14 -21430.398731  -7856.127787  18407.644739      -.001168                    
+P 15   3717.877299  25821.619530   4016.190169    233.275374                    
+V 15  -2575.997870   5514.435723 -31524.202893       .052776                    
+P 16  12730.800456   9132.331374 -21378.294662     15.258864                    
+V 16 -21625.014807  16682.225751  -5724.481172      -.003923                    
+P 17 -14563.092044  -6093.265443 -21295.134290    208.242471                    
+V 17    373.009966 -27293.915245   6770.856110       .195264                    
+P 18 -15729.926886  18829.141511   9926.788480    -15.573804                    
+V 18 -11920.268900   4895.739972 -28463.339736      -.026776                    
+P 20  22715.078157 -12894.644479   4745.012641   -183.964168                    
+V 20  -3300.152541   5783.941274  31074.524587       .027399                    
+P 21  -6727.477952  22780.268912 -11519.400714     73.115478                    
+V 21  -3761.010412 -14496.790348 -26975.102550       .005347                    
+P 22  -4148.277164  18437.738907  18843.215700    -39.673929                    
+V 22 -20453.337114  11789.878724 -16137.382910       .087182                    
+P 24 -11847.394767 -17551.321704 -15687.156013      8.306772                    
+V 24    573.878112 -20549.512147  22213.795824       .030579                    
+P 25   9466.260137  23875.727227  -6446.337997     61.756353                    
+V 25  -1501.567047   9137.443677  29914.773761       .006673                    
+P 26 -25235.309676  -7924.129414   4602.244971    409.394287                    
+V 26  -4841.131681  -3999.990683 -31079.856095      -.125184                    
+P 27   6425.840559 -21228.590195 -13749.333167    920.140341                    
+V 27   5969.850907  17752.805778 -24303.634663       .042287                    
+P 28   4588.282669 -18969.413118  18058.159290     21.947135                    
+V 28  19374.292326 -11919.455172 -17923.117793       .016142                    
+P 29 -24486.827068 -10344.567607   -428.729944    230.128050                    
+V 29   1652.930984  -1756.760938 -32074.030112       .032447                    
+P 30 -18351.349260  18638.572419  -4519.291007    805.942323                    
+V 30  -6391.089577    753.409879  30722.823038       .142315                    
+P 31  25160.203685   3130.360389   8125.327161     41.530788                    
+V 31   8918.075253   6694.061619 -28679.585103       .306517                    
+*  2004  3  1 15 45   .00000000                                                 
+P  1  22553.241030  -1238.892028 -13822.827838    332.684814                    
+V  1  15942.467320   8123.731403  24944.082283       .014024                    
+P  3  23049.432719  11676.927692  -6734.100429     90.063668                    
+V  3  -9032.591187   1045.845809 -29296.138935       .029206                    
+P  4  -5381.840609 -25753.866263  -1946.299559    -77.274014                    
+V  4   2660.715170  -2960.439948  31842.790036      -.092173                    
+P  5 -21813.815698   9347.723154  11627.683452     19.866670                    
+V  5   8559.487755 -12800.475129  26241.579954       .016360                    
+P  6 -16435.317520   8990.047156 -18690.449028     -1.412716                    
+V  6 -22353.804088  -9330.359735  14886.515063      -.008529                    
+P  7  -5767.478336 -17083.896356  19954.095525    611.309012                    
+V  7  23788.237397   6009.683682  12101.659324      -.078966                    
+P  8    445.701261 -25753.388637  -5954.819815    354.904199                    
+V  8   3866.950969   6891.190657 -30820.835983      -.089370                    
+P  9 -15477.716141    -71.536772  21189.621606    -32.467126                    
+V  9  -5611.604703 -27345.154541  -3733.094614      -.018138                    
+P 10 -14733.020381  -6314.138141 -21278.314899     40.208185                    
+V 10  20370.508932 -17406.911657  -8686.832893       .006362                    
+P 11  16073.146797  -3140.705735  20909.474891    100.031986                    
+V 11   7169.675932  25816.057937  -1496.599897       .025488                    
+P 13  12558.965650 -10336.833351 -21020.337420    -30.890758                    
+V 13  24681.646192   9822.698352  10011.220488       .002467                    
+P 14   7096.574537  16574.022880  19547.678215    -18.166539                    
+V 14 -23591.720838  -7314.463881  14815.504919      -.001169                    
+P 15   3487.658454  26161.177673   1152.114808    233.280793                    
+V 15  -2610.404036   2025.884933 -32028.646517       .052742                    
+P 16  10807.194875  10697.716757 -21706.919873     15.258361                    
+V 16 -21045.371779  18053.583355  -1567.637840      -.003927                    
+P 17 -14594.282071  -8504.244448 -20503.618854    208.259814                    
+V 17  -1044.325373 -26195.940155  10788.753610       .195291                    
+P 18 -16671.032859  19210.037112   7286.164287    -15.575685                    
+V 18  -9000.447643   3494.790426 -30132.240957      -.026761                    
+P 20  22310.470972 -12267.539838   7492.773196   -183.961954                    
+V 20  -5629.329150   8187.959348  29898.775954       .027404                    
+P 21  -7111.764792  21352.061900 -13839.197329     73.116223                    
+V 21  -4828.593051 -17181.036501 -24501.598920       .005366                    
+P 22  -5889.392461  19496.167416  17235.100562    -39.666243                    
+V 22 -18199.986005  11656.037005 -19548.375232       .087177                    
+P 24 -11833.137916 -19281.614233 -13555.701621      8.309442                    
+V 24   -199.037262 -17843.187529  25081.198344       .030580                    
+P 25   9317.123619  24550.013765  -3705.890615     61.757334                    
+V 25  -1879.809654   5842.048849  30895.251039       .006879                    
+P 26 -25534.744420  -8211.835293   1774.516321    409.382553                    
+V 26  -1775.246636  -2454.941934 -31670.937530      -.125175                    
+P 27   7026.794155 -19525.459889 -15805.246789    920.144179                    
+V 27   7418.586219  20019.867030 -21313.490831       .042300                    
+P 28   6228.926613 -20027.618151  16294.660472     21.948510                    
+V 28  17053.468700 -11518.030783 -21211.387619       .016144                    
+P 29 -24188.749205 -10451.971111  -3303.435089    230.131102                    
+V 29   4989.588457   -699.371234 -31716.436898       .032440                    
+P 30 -18805.754691  18617.854183  -1723.198541    805.955487                    
+V 30  -3738.526255  -1273.095618  31323.285825       .142309                    
+P 31  25837.043322   3664.407788   5482.190231     41.558277                    
+V 31   6078.309912   5223.688569 -29972.218685       .306469                    
+*  2004  3  1 16  0   .00000000                                                 
+P  1  23882.002966   -590.757515 -11464.417331    332.686518                    
+V  1  13515.227076   6316.653875  27388.392146       .014202                    
+P  3  22098.035936  11756.437855  -9306.276904     90.067456                    
+V  3 -12092.670936    786.311172 -27782.626736       .029746                    
+P  4  -5117.912369 -25865.637977    928.247782    -77.281847                    
+V  4   3272.844733    465.844901  31942.389916      -.092172                    
+P  5 -20981.915255   8083.377690  13880.962583     19.868341                    
+V  5   9852.499228 -15293.589969  23758.124508       .016265                    
+P  6 -18387.103107   8222.664251 -17192.063091     -1.413570                    
+V  6 -20938.084599  -7734.387381  18361.432357      -.008617                    
+P  7  -3561.751618 -16582.561935  20874.886137    611.302053                    
+V  7  25157.517312   5089.533700   8332.244907      -.078974                    
+P  8    836.996690 -24990.038390  -8668.721522    354.895752                    
+V  8   4887.721624  10028.635033 -29401.102457      -.089371                    
+P  9 -16036.602930  -2491.079001  20665.853372    -32.469606                    
+V  9  -6774.147485 -26336.554402  -7886.060913      -.018338                    
+P 10 -12915.621877  -7956.699684 -21876.356103     40.208475                    
+V 10  19938.117057 -19045.608820  -4582.599233       .006095                    
+P 11  16764.467311   -846.342362  20595.328282    100.034578                    
+V 11   8161.206010  25093.125006  -5473.694662       .025487                    
+P 13  14749.165437  -9532.499242 -19941.392829    -30.890271                    
+V 13  23897.973096   8049.591709  13931.472092       .002469                    
+P 14   4890.740682  15953.582777  20709.715782    -18.166661                    
+V 14 -25354.603742  -6419.536365  10970.834643      -.001172                    
+P 15   3235.355009  26186.854310  -1732.132385    233.283912                    
+V 15  -3065.817963  -1443.542851 -31972.303624       .052656                    
+P 16   8955.609922  12371.760468 -21659.641566     15.257940                    
+V 16 -20033.692767  19084.798920   2616.783749      -.003930                    
+P 17 -14745.870958 -10793.430577 -19359.478671    208.277329                    
+V 17  -2288.627822 -24595.043732  14596.162917       .195323                    
+P 18 -17352.744507  19445.369579   4518.692741    -15.577768                    
+V 18  -6171.672802   1666.645768 -31277.860603      -.026751                    
+P 20  21713.736302 -11415.534000  10111.279326   -183.959703                    
+V 20  -7561.135998  10767.591378  28206.223141       .027412                    
+P 21  -7604.637337  19699.558302 -15917.037238     73.116848                    
+V 21  -6162.850393 -19469.907620 -21606.622302       .005386                    
+P 22  -7418.739103  20522.010646  15334.375141    -39.658836                    
+V 22 -15762.271177  11062.283092 -22630.636492       .087169                    
+P 24 -11872.020022 -20753.931443 -11185.966944      8.312630                    
+V 24   -599.140845 -14831.723709  27501.342653       .030611                    
+P 25   9115.889707  24927.914319   -901.322473     61.758681                    
+V 25  -2657.612874   2567.170535  31338.391620       .007103                    
+P 26 -25549.355907  -8377.735497  -1082.704860    409.371125                    
+V 26   1473.684172  -1299.877760 -31734.976804      -.125166                    
+P 27   7766.077817 -17639.319320 -17574.073050    920.147781                    
+V 27   9030.069249  21810.704610 -17934.014822       .042310                    
+P 28   7653.690374 -21028.356220  14250.751993     21.949990                    
+V 28  14592.213447 -10640.479279 -24145.091121       .016138                    
+P 29 -23586.851384 -10483.284472  -6121.233721    230.134094                    
+V 29   8387.762976    -69.024502 -30810.662565       .032434                    
+P 30 -19031.165178  18399.584742   1102.670036    805.968491                    
+V 30  -1314.985677  -3626.782180  31383.046806       .142300                    
+P 31  26247.468439   4080.384286   2745.770584     41.586177                    
+V 31   3011.113354   4078.133643 -30750.391012       .306424                    
+*  2004  3  1 16 15   .00000000                                                 
+P  1  24974.328280    -94.024153  -8907.291686    332.688831                    
+V  1  10700.008445   4771.481826  29353.841709       .014343                    
+P  3  20877.109498  11829.978755 -11720.863926     90.071917                    
+V  3 -15007.637044    910.059927 -25799.060845       .030153                    
+P  4  -4780.737756 -25673.456050   3786.496531    -77.290693                    
+V  4   4284.050223   3777.572589  31481.202920      -.092169                    
+P  5 -20053.973071   6596.715744  15891.669037     19.869757                    
+V  5  10692.552309 -17725.407209  20859.034617       .016130                    
+P  6 -20190.096912   7594.481730 -15395.175462     -1.415171                    
+V  6 -19053.728637  -6250.708844  21510.423013      -.008777                    
+P  7  -1252.465222 -16174.187949  21449.754282    611.294455                    
+V  7  26082.605028   3956.059613   4424.720283      -.078988                    
+P  8   1335.373869 -23957.336125 -11231.825971    354.887326                    
+V  8   6237.408349  12863.090929 -27475.254983      -.089360                    
+P  9 -16689.783934  -4797.402044  19774.871676    -32.470071                    
+V  9  -7694.406400 -24838.030176 -11881.134106      -.018478                    
+P 10 -11157.481698  -9732.341495 -22100.562886     40.208054                    
+V 10  19062.166666 -20351.115330   -391.102594       .005922                    
+P 11  17535.380470   1362.855177  19927.160982    100.037080                    
+V 11   8926.911253  23930.618387  -9352.489012       .025482                    
+P 13  16844.340362  -8886.817206 -18519.764677    -30.889979                    
+V 13  22572.920891   6312.710968  17615.439056       .002473                    
+P 14   2546.641031  15427.062956  21516.822978    -18.166699                    
+V 14 -26654.824845  -5239.762667   6939.417626      -.001174                    
+P 15   2923.614579  25904.961673  -4586.190903    233.291454                    
+V 15  -3927.168191  -4792.435865 -31359.325766       .052738                    
+P 16   7212.244023  14120.783119 -21237.259184     15.257542                    
+V 16 -18651.976965  19709.912834   6755.885267      -.003934                    
+P 17 -14998.674419 -12917.863483 -17884.490129    208.294984                    
+V 17  -3281.296229 -22544.989549  18131.090913       .195352                    
+P 18 -17787.404427  19498.481368   1672.489947    -15.580195                    
+V 18  -3524.939962   -546.003738 -31879.115702      -.026744                    
+P 20  20962.686096 -10326.764779  12555.238053   -183.957328                    
+V 20  -9052.883995  13433.977912  26025.440266       .027416                    
+P 21  -8226.908884  17861.147119 -17717.341702     73.117397                    
+V 21  -7691.166475 -21303.719201 -18343.587840       .005405                    
+P 22  -8723.808253  21473.203924  13173.027336    -39.651177                    
+V 22 -13231.496149   9996.655340 -25331.716047       .087161                    
+P 24 -11928.628269 -21944.993697  -8620.113838      8.315164                    
+V 24   -588.031378 -11609.434702  29433.341042       .030496                    
+P 25   8827.310374  25015.561416   1918.801587     61.758150                    
+V 25  -3816.281299   -592.685502  31241.232341       .007235                    
+P 26 -25266.695659  -8458.477259  -3922.029169    409.359743                    
+V 26   4815.346365   -566.349253 -31274.252712      -.125158                    
+P 27   8654.499571 -15615.172168 -19023.617826    920.151741                    
+V 27  10717.803523  23080.915137 -14229.713686       .042321                    
+P 28   8854.096210 -21928.534640  11960.784601     21.951336                    
+V 28  12083.333842  -9284.571621 -26670.997356       .016134                    
+P 29 -22680.156876 -10477.513755  -8833.263649    230.136937                    
+V 29  11745.755487    124.690212 -29368.847477       .032422                    
+P 30 -19051.447661  17957.185789   3909.396101    805.981138                    
+V 30    809.141277  -6241.640106  30898.031869       .142289                    
+P 31  26374.723972   4409.416019    -37.181905     41.613557                    
+V 31   -199.909001   3296.829675 -31005.580638       .306367                    
+*  2004  3  1 16 30   .00000000                                                 
+P  1  25798.657417    277.975703  -6196.070220    332.690884                    
+V  1   7573.598561   3554.673140  30808.113612       .014406                    
+P  3  19403.552328  11930.958984 -13936.993597     90.074136                    
+V  3 -17693.141007   1390.306029 -23378.592075       .030302                    
+P  4  -4335.845616 -25191.996015   6578.295194    -77.299522                    
+V  4   5659.277665   6878.892710  30468.053908      -.092159                    
+P  5 -19070.804706   4897.403949  17624.654806     19.871327                    
+V  5  11081.584792 -20004.024401  17595.704126       .016001                    
+P  6 -21804.095756   7091.809622 -13331.575929     -1.415707                    
+V  6 -16747.252544  -4957.597380  24280.025280      -.008859                    
+P  7   1118.744568 -15874.582688  21669.058454    611.287108                    
+V  7  26529.118314   2685.704355    441.326013      -.078998                    
+P  8   1967.756393 -22686.056035 -13600.186229    354.878850                    
+V  8   7854.216134  15318.908215 -25080.300049      -.089342                    
+P  9 -17412.214265  -6949.046873  18534.125377    -32.472103                    
+V  9  -8302.376872 -22910.720999 -15647.189551      -.018714                    
+P 10  -9495.993740 -11607.704589 -21946.266842     40.208129                    
+V 10  17801.266459 -21250.543316   3816.622707       .005829                    
+P 11  18362.599553   3449.462915  18916.819472    100.039072                    
+V 11   9402.599720  22378.322968 -13066.750149       .025473                    
+P 13  18796.846532  -8392.368908 -16779.618377    -30.889867                    
+V 13  20733.653136   4703.690597  20999.413391       .002473                    
+P 14    108.227872  15016.594671  21955.272106    -18.166772                    
+V 14 -27443.762625  -3854.616865   2790.103884      -.001175                    
+P 15   2517.265707  25330.716061  -7360.527597    233.296539                    
+V 15  -5161.251261  -7924.963334 -30203.879272       .052452                    
+P 16   5607.125168  15905.797750 -20447.106942     15.257303                    
+V 16 -16974.880448  19877.344850  10777.566374      -.003935                    
+P 17 -15326.921706 -14840.084940 -16105.741453    208.312473                    
+V 17  -3955.014791 -20113.853977  21337.605785       .195377                    
+P 18 -17995.171051  19337.317192  -1202.868751    -15.582744                    
+V 18  -1142.372258  -3083.889385 -31924.722440      -.026735                    
+P 20  20098.187876  -8997.648627  14782.319084   -183.954939                    
+V 20 -10079.564999  16092.598408  23393.600839       .027423                    
+P 21  -8992.423690  15879.843649 -19209.620373     73.118296                    
+V 21  -9331.835574 -22639.643492 -14771.952357       .005425                    
+P 22  -9800.405188  22307.418801  10787.501987    -39.643125                    
+V 22 -10700.537935   8465.308774 -27605.160098       .087155                    
+P 24 -11964.903075 -22840.319111  -5903.563447      8.318541                    
+V 24   -145.479729  -8276.862004  30845.740112       .030398                    
+P 25   8418.576502  24827.342465   4706.072355     61.759615                    
+V 25  -5320.520730  -3549.138462  30610.135526       .007447                    
+P 26 -24682.626889  -8492.763749  -6696.617390    409.348770                    
+V 26   8155.881831   -268.393612 -30298.668958      -.125147                    
+P 27   9694.823932 -13501.122699 -20127.809866    920.155193                    
+V 27  12390.211048  23806.227492 -10271.859406       .042330                    
+P 28   9830.056136 -22685.709283   9463.617226     21.953439                    
+V 28   9619.856733  -7466.963616 -28742.334017       .016130                    
+P 29 -21476.883999 -10473.679545 -11392.188181    230.139605                    
+V 29  14961.575694   -108.937491 -27412.740864       .032411                    
+P 30 -18896.242239  17270.594700   6648.132593    805.993851                    
+V 30   2576.366389  -9039.337680  29873.913694       .142279                    
+P 31  26209.823311   4685.454187  -2819.536667     41.640468                    
+V 31  -3466.256270   2902.969381 -30737.810421       .306322                    
+*  2004  3  1 16 45   .00000000                                                 
+P  1  26330.876735    557.222109  -3377.869230    332.693899                    
+V  1   4224.145060   2717.450272  31728.096514       .014276                    
+P  3  17701.552068  12089.684707 -15917.102682     90.077402                    
+V  3 -20072.046248   2185.123392 -20561.414346       .030493                    
+P  4  -3752.685403 -24444.192772   9254.748957    -77.307720                    
+V  4   7346.754873   9682.706294  28921.988451      -.092147                    
+P  5 -18072.239071   3003.240057  19049.703555     19.872665                    
+V  5  11039.484159 -22041.255071  14026.154216       .015786                    
+P  6 -23193.767621   6694.325757 -11037.549893     -1.418366                    
+V  6 -14080.034911  -3923.676359  26623.929242      -.008894                    
+P  7   3507.834095 -15692.423909  21528.821958    611.280258                    
+V  7  26478.106498   1359.990361  -3554.420137      -.079009                    
+P  8   2754.936518 -21213.137244 -15733.543601    354.870320                    
+V  8   9664.166748  17335.136478 -22261.030384      -.089320                    
+P  9 -18173.123829  -8910.715469  16967.217815    -32.474304                    
+V  9  -8541.264307 -20629.890305 -19118.794902      -.018867                    
+P 10  -7962.647196 -13543.463900 -21415.242930     40.208594                    
+V 10  16227.603026 -21684.658447   7968.620530       .005776                    
+P 11  19217.540757   5381.121419  17581.981118    100.041612                    
+V 11   9535.147888  20498.627814 -16553.313976       .025460                    
+P 13  20562.320924  -8033.749716 -14750.638952    -30.890018                    
+V 13  18425.705799   3307.776238  24024.626130       .002474                    
+P 14  -2376.943879  14736.777522  22017.627064    -18.167095                    
+V 14 -27690.233498  -2351.433917  -1406.337047      -.001175                    
+P 15   1984.887760  24487.571694 -10007.316785    233.300491                    
+V 15  -6718.224745 -10754.455933 -28529.642460       .052109                    
+P 16   4163.104362  17683.904775 -19302.923363     15.256873                    
+V 16 -15086.697914  19552.032734  14611.823243      -.003936                    
+P 17 -15699.384273 -16529.304998 -14055.058592    208.330134                    
+V 17  -4256.170595 -17381.252003  24166.443059       .195398                    
+P 18 -18003.073086  18935.821468  -4057.244060    -15.585158                    
+V 18    905.976848  -5873.374603 -31413.458959      -.026723                    
+P 20  19162.528893  -7433.227867  16753.902116   -183.952413                    
+V 20 -10634.722672  18646.906128  20355.859496       .027422                    
+P 21  -9907.390504  13801.703777 -20368.959150     73.118850                    
+V 21 -10997.473234 -23453.112041 -10955.962572       .005441                    
+P 22 -10652.634410  22983.698275   8218.124738    -39.635122                    
+V 22  -8260.367160   6492.507049 -29411.309169       .087150                    
+P 24 -11941.812161 -23434.606396  -3084.127015      8.320920                    
+V 24    729.845510  -4936.809702  31716.928439       .030207                    
+P 25   7860.746479  24385.203991   7413.057332     61.760478                    
+V 25  -7119.986736  -6223.080533  29460.360823       .007710                    
+P 26 -23801.499249  -8519.760029  -9360.854273    409.338119                    
+V 26  11401.096619   -402.238374 -28825.470692      -.125142                    
+P 27  10881.498150 -11346.516919 -20867.229963    920.158969                    
+V 27  13954.734023  23983.384164  -6136.690281       .042343                    
+P 28  10589.727981 -23259.776837   6801.988652     21.954953                    
+V 28   7291.391413  -5222.906368 -30319.818976       .016121                    
+P 29 -19994.297572 -10509.122962 -13753.055223    230.141968                    
+V 29  17936.826998   -741.979189 -24973.541459       .032402                    
+P 30 -18599.696607  16327.245499   9270.979304    806.006763                    
+V 30   3944.340900 -11932.140118  28326.092182       .142270                    
+P 31  25751.845783   4943.781362  -5554.539407     41.667393                    
+V 31  -6697.720553   2902.896855 -29955.363743       .306280                    
+*  2004  3  1 17  0   .00000000                                                 
+P  1  26555.192297    779.545474   -501.460105    332.694532                    
+V  1    747.795532   2293.893034  32100.150960       .013865                    
+P  3  15801.808969  12332.067478 -17627.540251     90.080368                    
+V  3 -22077.200112   3239.099192 -17394.166971       .030639                    
+P  4  -3006.041112 -23460.299476  11769.121106    -77.316139                    
+V  4   9280.116235  12114.000734  26871.825912      -.092134                    
+P  5 -17095.540946    939.658640  20142.077122     19.873428                    
+V  5  10603.123515 -23756.144625  10213.902275       .015616                    
+P  6 -24329.885978   6376.068450  -8553.201893     -1.418971                    
+V  6 -11125.936853  -3205.239464  28503.677808      -.008800                    
+P  7   5869.777811 -15628.936531  21030.813440    611.273565                    
+V  7  25926.778064     62.500209  -7498.491599      -.079018                    
+P  8   3710.613986 -19580.263182 -17595.983282    354.861761                    
+V  8  11584.168143  18867.584119 -19069.007608      -.089291                    
+P  9 -18937.311744 -10654.397717  15103.341533    -32.476646                    
+V  9  -8369.716162 -18081.648075 -22237.347505      -.019041                    
+P 10  -6581.925791 -15495.672952 -20515.738877     40.209635                    
+V 10  14424.163560 -21610.365979  11993.211485       .005715                    
+P 11  20067.419723   7131.563423  15945.830909    100.043783                    
+V 11   9284.651259  18364.085010 -19753.118981       .025453                    
+P 13  22101.268110  -7788.299672 -12467.538749    -30.889770                    
+V 13  15711.388785   2200.409466  26638.295968       .002475                    
+P 14  -4859.344412  14594.127281  21702.863506    -18.167143                    
+V 14 -27381.674539   -821.920460  -5578.387703      -.001173                    
+P 15   1300.216590  23406.250734 -12481.267116    233.303436                    
+V 15  -8533.748104 -13206.555886 -26369.130145       .051854                    
+P 16   2895.138356  19409.850824 -17824.605586     15.256048                    
+V 16 -13077.973706  18716.923357  18192.006526      -.003935                    
+P 17 -16080.696093 -17962.303272 -11768.384257    208.347903                    
+V 17  -4146.687344 -14435.246181  26575.443676       .195419                    
+P 18 -17843.797250  18275.109181  -6840.842270    -15.587582                    
+V 18   2564.831035  -8829.261465 -30354.217605      -.026713                    
+P 20  18197.734530  -5647.185138  18435.761567   -183.949810                    
+V 20 -10730.594822  21002.064014  16964.581654       .027433                    
+P 21 -10970.032157  11674.145390 -21176.393280     73.119293                    
+V 21 -12598.603716 -23738.473405  -6963.362472       .005457                    
+P 22 -11292.572964  23464.060892   5508.457570    -39.626884                    
+V 22  -5996.620605   4119.940654 -30718.016498       .087145                    
+P 24 -11821.054365 -23731.758742   -211.110476      8.322022                    
+V 24   2020.441377  -1690.361312  32035.312525       .030099                    
+P 25   7130.010412  23717.691168   9994.077352     61.761822                    
+V 25  -9151.373665  -8547.395396  27815.509790       .007882                    
+P 26 -22636.035276  -8577.499154 -11870.995210    409.326199                    
+V 26  14459.644162   -946.598458 -26878.927257      -.125141                    
+P 27  12200.750339  -9200.048436 -21229.471898    920.163114                    
+V 27  15321.961234  23630.042494  -1903.485000       .042356                    
+P 28  11149.046529 -23614.607070   4021.800640     21.956299                    
+V 28   5180.571200  -2605.203493 -31372.590816       .016119                    
+P 29 -18258.212687 -10617.867504 -15874.133024    230.145610                    
+V 29  20580.521539  -1728.867947 -22091.536316       .032391                    
+P 30 -18199.020522  15122.768864  11731.862186    806.019763                    
+V 30   4887.601352 -14826.209171  26279.690912       .142259                    
+P 31  25007.946642   5219.491071  -8196.539341     41.695177                    
+V 31  -9805.568717   3286.119763 -28674.411019       .306254                    
+*  2004  3  1 17 15   .00000000                                                 
+P  1  26464.687897    983.023937   2383.588282    332.696585                    
+V  1  -2754.935190   2299.730350  31920.193833       .013691                    
+P  3  13740.525508  12678.503823 -19039.117656     90.082793                    
+V  3 -23653.852446   4485.486967 -13929.251800       .030792                    
+P  4  -2077.226112 -22276.668752  14077.684526    -77.324422                    
+V  4  11381.128173  14112.664074  24355.500807      -.092123                    
+P  5 -16173.951813  -1261.067567  20882.955064     19.874883                    
+V  5   9824.706393 -25078.193970   6226.721725       .015499                    
+P  6 -25190.328754   6106.647381  -5921.723667     -1.420184                    
+V  6  -7968.470856  -2844.096010  29889.198008      -.008617                    
+P  7   8160.035512 -15677.846847  20182.557199    611.265973                    
+V  7  24888.697742  -1124.233533 -11327.146175      -.079033                    
+P  8   4840.725835 -17832.286381 -19156.494868    354.853270                    
+V  8  13525.388063  19890.186828 -15561.470378      -.089256                    
+P  9 -19666.610300 -12160.186631  12976.621519    -32.479405                    
+V  9  -7763.348866 -15359.331057 -24951.968713      -.019149                    
+P 10  -5370.477825 -17417.306863 -19262.394697     40.210562                    
+V 10  12481.512914 -21002.615850  15820.233405       .005704                    
+P 11  20876.518978   8681.404617  14036.648701    100.046339                    
+V 11   8626.060413  16054.604897 -22612.158540       .025440                    
+P 13  23380.473239  -7627.126124  -9969.474615    -30.889968                    
+V 13  12667.534920   1444.183187  28794.588991       .002475                    
+P 14  -7289.172078  14586.846019  21016.383064    -18.167293                    
+V 14 -26524.629363    641.496137  -9654.962507      -.001176                    
+P 15    443.332260  22123.513549 -14740.381037    233.308864                    
+V 15 -10531.665259 -15221.822569 -23762.876632       .051771                    
+P 16   1809.889020  21037.690295 -16037.853221     15.255649                    
+V 16 -11041.878448  17373.756582  21456.013763      -.003932                    
+P 17 -16432.811423 -19124.042410  -9285.124329    208.365598                    
+V 17  -3605.242998 -11369.061876  28529.844686       .195445                    
+P 18 -17554.258810  17344.361582  -9505.119881    -15.589755                    
+V 18   3795.794002 -11858.079111 -28765.844081      -.026703                    
+P 20  17243.907098  -3661.522615  19798.675613   -183.947238                    
+V 20 -10397.518634  23068.633738  13278.434244       .027439                    
+P 21 -12170.560321   9544.244396 -21619.163578     73.119505                    
+V 21 -14047.273746 -23508.901879  -2864.094142       .005474                    
+P 22 -11739.642308  23715.013547   2704.593776    -39.619208                    
+V 22  -3986.350017   1405.382059 -31501.273078       .087137                    
+P 24 -11566.723058 -23744.554692   2665.586773      8.325024                    
+V 24   3690.798064   1366.955090  31799.273226       .030197                    
+P 25   6208.745679  22858.765212  12405.928534     61.764656                    
+V 25 -11340.945244 -10469.164516  25706.871480       .008009                    
+P 26 -21206.934899  -8701.341014 -14185.783059    409.315045                    
+V 26  17246.092518  -1863.546571 -24489.986543      -.125139                    
+P 27  13631.052082  -7107.916750 -21209.327487    920.166770                    
+V 27  16409.566649  22783.716750   2347.406026       .042365                    
+P 28  11530.943570 -23719.547968   1171.323136     21.957857                    
+V 28   3359.723920    317.565414 -31879.004144       .016114                    
+P 29 -16302.164275 -10829.104505 -17717.704063    230.148407                    
+V 29  22812.665136  -3008.138604 -18815.530928       .032380                    
+P 30 -17732.915918  13661.380270  13987.390901    806.032787                    
+V 30   5398.560857 -17625.236603  23769.164053       .142244                    
+P 31  23993.084989   5545.995609 -10701.679512     41.722687                    
+V 31 -12705.612092   4025.919414 -26918.565671       .306226                    
+*  2004  3  1 17 30   .00000000                                                 
+P  1  26061.549366   1206.304846   5227.766925    332.696482                    
+V  1  -6182.923592   2731.864788  31193.610257       .013451                    
+P  3  11558.197494  13142.968394 -20127.593389     90.085928                    
+V  3 -24761.635507   5848.785724 -10224.069693       .030960                    
+P  4   -955.010228 -20934.308453  16140.505298    -77.332526                    
+V  4  13562.891421  15635.664092  21419.216710      -.092108                    
+P  5 -15335.408092  -3560.898192  21259.758885     19.876640                    
+V  5   8769.494337 -25950.156861   2135.324865       .015368                    
+P  6 -25760.806655   5852.621926  -3188.622044     -1.421208                    
+V  6  -4697.638030  -2866.014591  30759.162618      -.008390                    
+P  7  10336.012875 -15825.617233  18997.270785    611.258870                    
+V  7  23393.438998  -2121.835573 -14977.749149      -.079043                    
+P  8   6143.088229 -16015.562406 -20389.432448    354.845066                    
+V  8  15396.790451  20395.655871 -11800.200028      -.089215                    
+P  9 -20321.453241 -13416.758847  10625.389002    -32.480601                    
+V  9  -6715.536834 -12559.712832 -27220.153282      -.018994                    
+P 10  -4336.592085 -19259.947308 -17676.049425     40.210652                    
+V 10  10494.240269 -19855.639198  19382.303280       .005554                    
+P 11  21607.577212  10018.669673  11887.314905    100.048705                    
+V 11   7550.244627  13654.395897 -25082.339599       .025431                    
+P 13  24374.186023  -7516.379045  -7299.383467    -30.889681                    
+V 13   9382.677921   1086.289953  30455.469195       .002476                    
+P 14  -9618.068063  14704.922985  19969.921631    -18.167583                    
+V 14 -25144.519808   1949.343284 -13566.579421      -.001177                    
+P 15   -598.414444  20680.722291 -16746.635558    233.312737                    
+V 15 -12627.105433 -16757.708001 -20758.509380       .051678                    
+P 16    905.653914  22522.484374 -13973.708726     15.255495                    
+V 16  -9070.496761  15543.111204  24347.392700      -.003926                    
+P 17 -16716.544031 -20007.981681  -6647.473898    208.383090                    
+V 17  -2627.862224  -8277.727151  30002.445093       .195470                    
+P 18 -17174.013485  16141.409276 -12003.664285    -15.592426                    
+V 18   4578.758720 -14861.716527 -26676.766987      -.026696                    
+P 20  16337.650656  -1505.916837  20818.947751   -183.944528                    
+V 20  -9682.620087  24766.070986   9361.354022       .027451                    
+P 21 -13491.471250   7457.071767 -21690.856566     73.120236                    
+V 21 -15260.548443 -22795.584089   1270.977979       .005495                    
+P 22 -12019.700177  23708.914742   -145.598539    -39.611677                    
+V 22  -2295.071694  -1579.282026 -31745.723742       .087130                    
+P 24 -11146.862722 -23493.986328   5496.360004      8.328616                    
+V 24   5688.933492   4148.701232  31016.921645       .030234                    
+P 25   5086.328890  21846.447541  14608.541898     61.764663                    
+V 25 -13607.398443 -11951.302495  23172.695231       .007919                    
+P 26 -19542.212370  -8922.534169 -16267.032655    409.304265                    
+V 26  19683.789472  -3099.925608 -21695.902309      -.125130                    
+P 27  15143.919641  -5112.121229 -20808.795657    920.170791                    
+V 27  17145.864932  21499.838031   6536.489156       .042372                    
+P 28  11764.284157 -23550.739835  -1699.664763     21.959351                    
+V 28   1887.918593   3463.501614 -31827.256440       .016112                    
+P 29 -14166.270297 -11165.866597 -19250.798218    230.150792                    
+V 29  24567.455094  -4504.853633 -15202.070817       .032376                    
+P 30 -17239.948990  11955.932395  15997.678016    806.045551                    
+V 30   5487.808395 -20234.226173  20837.788812       .142229                    
+P 31  22729.484101   5953.614249 -13028.544587     41.750126                    
+V 31 -15321.068190   5080.519324 -24718.385762       .306210                    
+*  2004  3  1 17 45   .00000000                                                 
+P  1  25356.950455   1486.916665   7982.468806    332.695766                    
+V  1  -9438.175250   3568.633855  29935.005238       .013522                    
+P  3   9298.249452  13732.355148 -20874.085760     90.086748                    
+V  3 -25376.033597   7247.656808  -6340.180854       .031142                    
+P  4    363.757540 -19477.273134  17922.142799    -77.340862                    
+V  4  15733.377135  16658.509081  18116.442371      -.092093                    
+P  5 -14601.487988  -5917.323981  21266.355501     19.878641                    
+V  5   7513.017592 -26330.297087  -1987.997914       .015245                    
+P  6 -26035.296706   5578.990768   -400.921777     -1.420231                    
+V  6  -1406.562419  -3279.812150  31101.186528      -.008101                    
+P  7  12358.466124 -16051.956749  17493.727055    611.252164                    
+V  7  21485.691178  -2859.095291 -18389.629560      -.079049                    
+P  8   7607.358617 -14176.257942 -21274.871778    354.836716                    
+V  8  17108.694558  20395.406335  -7850.371986      -.089170                    
+P  9 -20862.481853 -14421.512651   8091.407508    -32.482488                    
+V  9  -5237.467044  -9779.209973 -29008.183513      -.018934                    
+P 10  -3480.003499 -20975.546145 -15783.434214     40.211620                    
+V 10   8557.208065 -18183.451550  22616.076431       .005466                    
+P 11  22223.247087  11139.035693   9534.743474    100.051104                    
+V 11   6064.446972  11248.764999 -27122.237563       .025423                    
+P 13  25065.028923  -7418.729835  -4503.246953    -30.889405                    
+V 13   5953.764658   1156.567725  31591.420491       .002478                    
+P 14 -11800.778592  14930.562185  18581.353171    -18.167513                    
+V 14 -23284.711914   3018.665365 -17246.507244      -.001179                    
+P 15  -1829.768414  19122.257246 -18466.575910    233.317636                    
+V 15 -14729.868315 -17789.846539 -17409.744675       .051549                    
+P 16    172.629400  23821.970835 -11668.003316     15.254861                    
+V 16  -7251.174652  13263.712335  26816.334084      -.003922                    
+P 17 -16893.131930 -20616.088930  -3899.733136    208.400758                    
+V 17  -1227.894480  -5254.747768  30973.669472       .195494                    
+P 18 -16743.576063  14672.978636 -14293.032014    -15.594835                    
+V 18   4912.564642 -17741.245742 -24124.427785      -.026687                    
+P 20  15510.644192    783.227022  21478.830710   -183.942058                    
+V 20  -8647.838145  26025.887099   5281.412857       .027466                    
+P 21 -14908.145827   5454.134340 -21391.431816     73.120780                    
+V 21 -16163.757065 -21646.237579   5371.294577       .005513                    
+P 22 -12163.884818  23425.135007  -2993.273909    -39.603678                    
+V 22   -974.231931  -4750.580001 -31445.058507       .087122                    
+P 24 -10534.858669 -23008.297908   8232.757176      8.330043                    
+V 24   7948.550712   6580.630875  29705.678458       .030201                    
+P 25   3759.679336  20721.343856  16565.575118     61.765293                    
+V 25 -15864.947715 -12973.586225  20257.413748       .007895                    
+P 26 -17676.287471  -9266.927642 -18080.180474    409.292106                    
+V 26  21707.444984  -4589.260757 -18539.831970      -.125119                    
+P 27  16705.011578  -3248.964857 -20036.922629    920.174765                    
+V 27  17472.818487  19849.056931  10586.940544       .042375                    
+P 28  11882.559174 -23092.180813  -4540.781528     21.960548                    
+V 28    808.525045   6740.437149 -31215.816192       .016112                    
+P 29 -11895.830095 -11643.947187 -20445.846779    230.154643                    
+V 29  25795.945076  -6133.626770 -11314.462622       .032370                    
+P 30 -16756.929575  10027.626700  17727.100530    806.058126                    
+V 30   5183.645096 -22563.265160  17536.911317       .142216                    
+P 31  21245.846791   6468.289802 -15138.761848     41.777657                    
+V 31 -17585.129490   6394.759129 -22110.833947       .306193                    
+*  2004  3  1 18  0   .00000000                                                 
+P  1  24370.608586   1859.636756  10600.801992    332.695321                    
+V  1 -12429.400706   4770.783717  28167.809855       .013896                    
+P  3   7005.562868  14446.092517 -21265.406767     90.090540                    
+V  3 -25489.286684   8598.078092  -2342.393984       .031353                    
+P  4   1873.853800 -17950.958328  19392.253591    -77.349600                    
+V  4  17799.142474  17175.941727  14506.783186      -.092084                    
+P  5 -13986.628155  -8284.840949  20903.137519     19.879760                    
+V  5   6137.890460 -26194.016626  -6070.749224       .014936                    
+P  6 -26016.168706   5250.733575   2393.642145     -1.421485                    
+V  6   1811.945730  -4077.109001  30911.865864      -.008086                    
+P  7  14192.802254 -16330.594220  15696.037641    611.244778                    
+V  7  19223.834994  -3274.775446 -21504.969823      -.079051                    
+P  8   9215.314202 -12358.696831 -21798.864334    354.828545                    
+V  8  18576.223426  19918.792383  -3779.416636      -.089122                    
+P  9 -21252.124136 -15180.370178   5419.071545    -32.483784                    
+V  9  -3357.494465  -7110.237012 -30291.326977      -.018847                    
+P 10  -2792.039860 -22518.199819 -13616.753247     40.212200                    
+V 10   6761.748921 -16019.585147  25463.475259       .005314                    
+P 11  22687.566030  12045.785915   7019.251960    100.053674                    
+V 11   4192.117455   8920.898734 -28697.738899       .025417                    
+P 13  25444.593108  -7294.995930  -1629.297595    -30.888915                    
+V 13   2482.527156   1666.225236  32182.022611       .002481                    
+P 14 -13796.702510  15238.920433  16874.391971    -18.167874                    
+V 14 -21004.910271   3776.338761 -20631.872460      -.001182                    
+P 15  -3247.248898  17493.849048 -19871.816409    233.322746                    
+V 15 -16747.955616 -18312.632783 -13775.334244       .051491                    
+P 16   -406.505680  24898.139272  -9160.719193     15.254337                    
+V 16  -5663.072003  10591.029688  28820.535156      -.003919                    
+P 17 -16925.773486 -20958.558699  -1087.621250    208.418766                    
+V 17    564.594758  -2388.918007  31431.550612       .195514                    
+P 18 -16302.714746  12954.591541 -16333.527300    -15.596929                    
+V 18   4814.878692 -20400.775263 -21154.527502      -.026678                    
+P 20  14788.419747   3163.985601  21766.844423   -183.939264                    
+V 20  -7367.361583  26794.350011   1109.601818       .027485                    
+P 21 -16389.726049   3571.976197 -20727.141721     73.121414                    
+V 21 -16693.372370 -20123.038377   9367.761207       .005525                    
+P 22 -12207.253791  22850.967534  -5789.435981    -39.595856                    
+V 22    -59.192848  -8016.458661 -30602.263762       .087113                    
+P 24  -9710.608465 -22321.768857  10828.292150      8.332098                    
+V 24  10391.712673   8603.253112  27891.703723       .030313                    
+P 25   2233.519176  19525.103447  18244.932861     61.764850                    
+V 25 -18026.516470 -13533.064626  17010.835590       .007904                    
+P 26 -15648.859825  -9753.875362 -19594.796564    409.281084                    
+V 26  23265.356765  -6254.118561 -15070.398904      -.125110                    
+P 27  18275.467439  -1547.828882 -18909.486530    920.178459                    
+V 27  17348.369794  17913.950200  14426.240996       .042376                    
+P 28  11922.385872 -22336.495558  -7301.978543     21.962174                    
+V 28    147.404693  10049.459196 -30053.627407       .016115                    
+P 29  -9539.711709 -12271.114609 -21281.239904    230.157489                    
+V 29  26468.050546  -7802.125749  -7221.611023       .032362                    
+P 30 -16317.365944   7905.391925  19144.984897    806.071012                    
+V 30   4530.876418 -24531.126547  13925.000153       .142201                    
+P 31  19576.355543   7110.476198 -16997.552054     41.804706                    
+V 31 -19443.166229   7902.209457 -19138.704690       .306167                    
+*  2004  3  1 18 15   .00000000                                                 
+P  1  23130.030992   2354.977040  13038.361354    332.697333                    
+V  1 -15075.298924   6283.104978  25923.758315       .014604                    
+P  3   4724.950066  15276.049036 -21294.310994     90.092384                    
+V  3 -25110.690166   9816.625450   1702.209866       .031525                    
+P  4   3561.722110 -16400.367517  20526.089436    -77.357114                    
+V  4  19669.067897  17201.852801  10654.762798      -.092073                    
+P  5 -13497.639672 -10616.540392  20176.980872     19.879688                    
+V  5   4730.367931 -25534.794412 -10041.574097       .014709                    
+P  6 -25714.004062   4834.344872   5147.429041     -1.422108                    
+V  6   4868.767928  -5232.744564  30196.670658      -.007963                    
+P  7  15810.228164 -16630.291439  13633.354978    611.237707                    
+V  7  16678.015776  -3320.123388 -24269.724951      -.079046                    
+P  8  10941.431160 -10603.804296 -21953.590001    354.820531                    
+V  8  19722.519609  19011.700012    344.091623      -.089076                    
+P  9 -21456.086726 -15707.263338   2654.596309    -32.484996                    
+V  9  -1119.859919  -4637.843687 -31053.843074      -.018777                    
+P 10  -2256.107443 -23845.864598 -11213.156572     40.212564                    
+V 10   5191.963796 -13416.043412  27872.857293       .005143                    
+P 11  22967.384288  12749.477323   4383.879040    100.055833                    
+V 11   1972.133479   6748.743946 -29782.564641       .025412                    
+P 13  25513.697828  -7105.847360   1272.819759    -30.888466                    
+V 13   -928.344783   2607.302739  32216.365724       .002480                    
+P 14 -15571.266226  15599.127878  14878.197700    -18.167876                    
+V 14 -18378.939246   4162.014519 -23664.709668      -.001188                    
+P 15  -4839.147484  15840.890936 -20939.445266    233.324946                    
+V 15 -18591.112951 -18339.089821  -9917.988265       .051314                    
+P 16   -855.710433  25718.650341  -6495.280502     15.253960                    
+V 16  -4374.056405   7595.224823  30325.918134      -.003921                    
+P 17 -16781.083808 -21053.252819   1742.405088    208.436482                    
+V 17   2703.978600    238.642855  31371.649908       .195533                    
+P 18 -15888.790876  11010.122987 -18089.905386    -15.599067                    
+V 18   4321.310005 -22751.173131 -17820.111710      -.026675                    
+P 20  14189.393908   5590.345985  21677.981788   -183.936598                    
+V 20  -5924.580554  27034.615748  -3081.442158       .027504                    
+P 21 -17900.230456   1840.989654 -19710.350507     73.122116                    
+V 21 -16799.426751 -18300.052495  13193.826122       .005536                    
+P 22 -12187.268220  21982.251120  -8485.779769    -39.587947                    
+V 22    432.175467 -11279.655896 -29229.719595       .087101                    
+P 24  -8661.433798 -21473.293396  13239.200919      8.333697                    
+V 24  12931.914225  10173.777390  25609.205345       .030578                    
+P 25    520.345720  18298.869318  19619.213643     61.764805                    
+V 25 -20006.925915 -13643.855788  13487.321931       .008037                    
+P 26 -13503.601526 -10395.370698 -20785.055161    409.269992                    
+V 26  24321.211628  -8008.850080 -11341.210441      -.125104                    
+P 27  19813.422742    -30.263826 -17448.544717    920.182483                    
+V 27  16748.017109  15785.315389  17987.585663       .042376                    
+P 28  11921.877555 -21285.370756  -9934.483101     21.963336                    
+V 28    -88.175195  13288.763311 -28360.072751       .016121                    
+P 29  -7148.592236 -13046.657732 -21741.772009    230.160600                    
+V 29  26573.795187  -9414.909237  -2996.695991       .032352                    
+P 30 -15950.060275   5624.952068  20226.198717    806.084143                    
+V 30   3588.904053 -26068.541680  10066.522672       .142180                    
+P 31  17759.493200   7894.233517 -18574.227482     41.831502                    
+V 31 -20854.502422   9527.654471 -15850.024046       .306163                    
+*  2004  3  1 18 30   .00000000                                                 
+P  1  21669.482917   2997.844022  15253.948044    332.697670                    
+V  1 -17307.432768   8036.657493  23242.252822       .015067                    
+P  3   2499.629033  16206.735678 -20959.653992     90.096202                    
+V  3 -24266.272487  10823.764828   5725.311478       .031765                    
+P  4   5405.845871 -14868.421318  21304.882908    -77.365731                    
+V  4  21257.962664  16768.435554   6628.549387      -.092064                    
+P  5 -13133.540155 -12865.751119  19101.083093     19.881077                    
+V  5   3376.788588 -24364.405798 -13831.558067       .014728                    
+P  6 -25147.117903   4299.301768   7813.681281     -1.422523                    
+V  6   7681.673580  -6705.824504  28969.703661      -.007882                    
+P  7  17188.705464 -16916.065369  11339.490573    611.230508                    
+V  7  13927.760786  -2960.988553 -26634.562801      -.079046                    
+P  8  12753.738701  -8947.704178 -21737.411574    354.812346                    
+V  8  20481.620353  17734.567241   4451.503283      -.089032                    
+P  9 -21444.705734 -16023.334033   -154.785687    -32.487132                    
+V  9   1417.148027  -2436.745012 -31288.827478      -.018758                    
+P 10  -1848.499425 -24921.943554  -8614.111727     40.211860                    
+V 10   3921.275794 -10441.503394  29800.090590       .004966                    
+P 11  23033.696340  13267.336340   1673.660505    100.057942                    
+V 11   -542.561014   4802.103091 -30358.669500       .025401                    
+P 13  25282.301981  -6813.527634   4152.916071    -30.888246                    
+V 13  -4179.079618   3952.894712  31693.291806       .002478                    
+P 14 -17097.074349  15975.552364  12626.889058    -18.167886                    
+V 14 -15491.992299   4130.576623 -26292.939725      -.001193                    
+P 15  -6585.840436  14206.793855 -21652.332230    233.329612                    
+V 15 -20174.252747 -17900.055359  -5903.296043       .051388                    
+P 16  -1204.442780  26258.044018  -3717.786597     15.253521                    
+V 16  -3438.059784   4358.531445  31307.191547      -.003921                    
+P 17 -16430.424581 -20924.887455   4543.823921    208.453784                    
+V 17   5130.717356   2557.149718  30796.930924       .195545                    
+P 18 -15535.211330   8871.035274 -19531.987143    -15.601493                    
+V 18   3483.801774 -24713.506611 -14180.519368      -.026668                    
+P 20  13724.190975   8013.797241  21213.798188   -183.934023                    
+V 20  -4408.674959  26728.204597  -7218.741912       .027517                    
+P 21 -19399.863251    284.475726 -18359.260281     73.122900                    
+V 21 -16447.389631 -16260.279369  16786.466835       .005548                    
+P 22 -12142.180182  20823.677422 -11035.535301    -39.579882                    
+V 22    500.230198 -14441.320018 -27349.131649       .087091                    
+P 24  -7382.702807 -20504.814958  15425.131180      8.338037                    
+V 24  15477.422701  11267.389118  22899.653828       .030925                    
+P 25  -1359.879260  17081.773264  20666.082288     61.766083                    
+V 25 -21725.977349 -13336.356118   9744.958077       .008166                    
+P 26 -11286.708993 -11195.442478 -21630.159521    409.258628                    
+V 26  24855.403058  -9762.645152  -7410.320462      -.125098                    
+P 27  21275.630194   1290.574696 -15681.865532    920.186463                    
+V 27  15665.597130  13558.246326  21211.038889       .042372                    
+P 28  11918.950497 -19949.635192 -12391.726852     21.964458                    
+V 28     90.156407  16357.669798 -26164.686439       .016125                    
+P 29  -4773.122792 -13961.285822 -21818.962097    230.163301                    
+V 29  26123.731975 -10877.433281   1284.277602       .032338                    
+P 30 -15677.904548   3227.620183  20951.634345    806.096971                    
+V 30   2429.195828 -27120.997440   6030.672015       .142162                    
+P 31  15836.724856   8826.560022 -19842.634806     41.858592                    
+V 31 -21793.716874  11189.861749 -12297.423854       .306165                    
+*  2004  3  1 18 45   .00000000                                                 
+P  1  20028.719101   3806.422166  17210.227400    332.699626                    
+V  1 -19072.599129   9951.492316  20169.633045       .015663                    
+P  3    369.755256  17215.800452 -20266.455304     90.099058                    
+V  3 -22997.853188  11547.034963   9658.436474       .031928                    
+P  4   7377.434367 -13394.375091  21716.117125    -77.374136                    
+V  4  22489.895953  15924.633011   2498.659439      -.092054                    
+P  5 -12885.705609 -14987.668987  17694.688083     19.881638                    
+V  5   2160.050428 -22712.423574 -17375.447525       .014786                    
+P  6 -24340.805984   3619.410866  10347.285817     -1.422174                    
+V  6  10178.222009  -8441.348359  27253.338869      -.007896                    
+P  7  18313.672642 -17150.579783   8852.448206    611.222900                    
+V  7  11059.204668  -2179.455776 -28555.811392      -.079041                    
+P  8  14614.913087  -7420.516963 -21154.835318    354.804100                    
+V  8  20800.901135  16159.917129   8475.111221      -.088989                    
+P  9 -21194.110674 -16155.888082  -2961.607820    -32.489027                    
+V  9   4183.491731   -568.830263 -30997.924858      -.018702                    
+P 10  -1539.497377 -25716.680009  -5864.684019     40.212556                    
+V 10   3009.388083  -7178.825627  31209.504387       .004736                    
+P 11  22862.825568  13622.406779  -1065.124945    100.059848                    
+V 11  -3286.845603   3140.050269 -30416.512784       .025397                    
+P 13  24769.070433  -6383.520331   6961.139846    -30.888321                    
+V 13  -7176.594409   5658.130133  30621.454513       .002478                    
+P 14 -18354.792547  16329.259604  10158.973236    -18.167567                    
+V 14 -12437.450569   3654.021013 -28471.259984      -.001199                    
+P 15  -8460.399245  12631.443713 -21999.339630    233.334176                    
+V 15 -21420.639611 -17042.735443  -1798.661169       .051571                    
+P 16  -1486.307131  26498.690488   -876.202207     15.252999                    
+V 16  -2892.999584    972.174980  31748.246049      -.003919                    
+P 17 -15851.065524 -20603.997087   7270.707163    208.471383                    
+V 17   7773.440798   4508.438889  29717.597712       .195554                    
+P 18 -15270.055489   6575.320635 -20635.174031    -15.603828                    
+V 18   2368.374208 -26222.060150 -10300.223953      -.026660                    
+P 20  13395.284434  10385.022980  20382.383023   -183.931378                    
+V 20  -2910.976597  25875.762516 -11230.292158       .027534                    
+P 21 -20846.466060  -1082.016197 -16697.552613     73.123737                    
+V 21 -15619.452789 -14092.423508  20087.080203       .005563                    
+P 22 -12109.385863  19388.766584 -13394.297338    -39.572256                    
+V 22    163.576895 -17404.736649 -24991.288643       .087082                    
+P 24  -5878.144595 -19459.676916  17349.757992      8.341431                    
+V 24  17934.755833  11877.832305  19810.928963       .031090                    
+P 25  -3380.309175  15909.527153  21368.567846     61.767536                    
+V 25 -23111.331950 -12655.901510   5844.726168       .008321                    
+P 26  -9045.359952 -12149.836807 -22114.715440    409.247534                    
+V 26  24865.814502 -11422.814691  -3339.624215      -.125089                    
+P 27  22619.115760   2410.134229 -13642.268132    920.190495                    
+V 27  14113.281191  11328.178239  24044.421569       .042369                    
+P 28  11949.639948 -18348.977657 -14630.237150     21.965640                    
+V 28    652.379127  19160.625644 -23506.617963       .016130                    
+P 29  -2462.093927 -14997.390006 -21511.239233    230.166131                    
+V 29  25148.510594 -12100.050914   5544.019594       .032327                    
+P 30 -15516.928174    758.866632  21308.572457    806.109646                    
+V 30   1132.242100 -27650.932885   1889.978752       .142139                    
+P 31  13851.085435   9906.983193 -20781.540461     41.886225                    
+V 31 -22251.433520  12804.553758  -8537.489230       .306166                    
+*  2004  3  1 19  0   .00000000                                                 
+P  1  18251.527652   4791.320655  18874.317401    332.699547                    
+V  1 -20334.616925  11939.764117  16758.366144       .016329                    
+P  3  -1628.934631  18274.800032 -19225.862244     90.103120                    
+V  3 -21361.505729  11924.001187  13434.075566       .032185                    
+P  4   9441.391478 -12012.405224  21753.678936    -77.382407                    
+V  4  23301.127648  14733.957483  -1663.331227      -.092033                    
+P  5 -12738.332627 -16940.910243  15982.705408     19.883621                    
+V  5   1156.261374 -20625.031106 -20612.769750       .014951                    
+P  6 -23326.347383   2773.985113  12705.498287     -1.422761                    
+V  6  12298.272098 -10372.348174  25077.753520      -.008022                    
+P  7  19178.502913 -17295.659032   6213.872275    611.215683                    
+V  7   8162.005258   -974.913634 -29996.393572      -.079022                    
+P  8  16483.569331  -6045.398164 -20216.382491    354.795563                    
+V  8  20643.014375  14369.500501  12349.111264      -.088943                    
+P  9 -20687.164657 -16137.148902  -5718.921906    -32.490486                    
+V  9   7100.040134    918.787537 -30190.939422      -.018453                    
+P 10  -1294.722928 -26208.299086  -3012.737954     40.213722                    
+V 10   2499.781001  -3721.963154  32074.684342       .004684                    
+P 11  22437.417588  13842.483249  -3785.728408    100.062021                    
+V 11  -6185.771806   1808.762132 -29955.198743       .025400                    
+P 13  24000.611469  -5786.094611   9648.855938    -30.888063                    
+V 13  -9838.008109   7661.874707  29019.193627       .002491                    
+P 14 -19333.729079  16619.613535   7516.699782    -18.167093                    
+V 14  -9313.388654   2722.681351 -30161.931465      -.001208                    
+P 15 -10429.473184  11149.814764 -21975.438716    233.338872                    
+V 15 -22264.733205 -15828.694053   2327.736369       .051738                    
+P 16  -1737.543407  26431.447644   1980.480403     15.252750                    
+V 16  -2759.342589  -2467.044839  31642.380183      -.003913                    
+P 17 -15027.141419 -20125.711542   9878.363901    208.488146                    
+V 17  10551.396973   6048.826576  28150.905309       .195573                    
+P 18 -15114.930880   4166.195730 -21380.855018    -15.606041                    
+V 18   1052.318945 -27226.813592  -6247.596772      -.026651                    
+P 20  13196.970548  12655.629027  19198.213829   -183.928964                    
+V 20  -1521.251299  24497.077351 -15046.352011       .027555                    
+P 21 -22197.057483  -2251.050392 -14753.954424     73.123882                    
+V 21 -14315.192580 -11887.514490  23042.274151       .005571                    
+P 22 -12123.809551  17699.508037 -15520.825232    -39.564470                    
+V 22   -541.636981 -20079.017627 -22195.640859       .087074                    
+P 24  -4159.849396 -18380.952051  18981.320432      8.344688                    
+V 24  20212.168159  12017.301479  16396.421087       .031086                    
+P 25  -5508.039067  14813.157391  21715.287227     61.768974                    
+V 25 -24101.101505 -11660.933751   1849.681876       .008433                    
+P 26  -6826.125500 -13246.001095 -22229.046762    409.236439                    
+V 26  24368.028482 -12898.207904    805.827370      -.125083                    
+P 27  23802.800533   3332.323014 -11366.894435    920.194044                    
+V 27  12120.829239   9187.076583  26443.933863       .042366                    
+P 28  12046.497448 -16511.312073 -16610.469306     21.967232                    
+V 28   1551.377141  21611.012264 -20433.858002       .016141                    
+P 29   -260.678087 -16129.657682 -20823.987032    230.168472                    
+V 29  23697.603451 -13001.826011   9705.540226       .032319                    
+P 30 -15475.637735  -1733.279587  21290.916905    806.122966                    
+V 30   -215.867996 -27639.237989  -2281.154498       .142116                    
+P 31  11845.720013  11127.423928 -21374.955965     41.914017                    
+V 31 -22234.578163  14287.491103  -4630.075814       .306168                    
+*  2004  3  1 19 15   .00000000                                                 
+P  1  16384.141334   5955.013489  20218.301216    332.702325                    
+V  1 -21075.478294  13909.116914  13066.172008       .017227                    
+P  3  -3466.315714  19350.222591 -17855.011717     90.107121                    
+V  3 -19425.471511  11904.865271  16986.827675       .032196                    
+P  4  11557.526111 -10750.416191  21417.897412    -77.390953                    
+V  4  23642.533738  13271.783554  -5786.043219      -.092019                    
+P  5 -12669.189218 -18688.929159  13995.234002     19.884569                    
+V  5    431.695516 -18163.205398 -23488.834288       .015069                    
+P  6 -22139.802130   1748.808302  14848.620696     -1.422777                    
+V  6  13996.017689 -12422.453361  22480.366823      -.008228                    
+P  7  19784.674238 -17313.869982   3468.413518    611.208462                    
+V  7   5326.049622    635.508830 -30926.723677      -.079001                    
+P  8  18315.702547  -4837.847508 -18938.377077    354.787069                    
+V  8  19987.268744  12451.153261  16010.503324      -.088894                    
+P  9 -19914.153505 -16002.861489  -8381.012125    -32.490294                    
+V  9  10081.474719   1995.143231 -28885.370425      -.018266                    
+P 10  -1076.686600 -26383.848455   -108.074687     40.213799                    
+V 10   2417.862932   -172.390704  32379.084506       .004542                    
+P 11  21747.204813  13958.871041  -6441.710209    100.064564                    
+V 11  -9157.282859    839.842630 -28982.485302       .025405                    
+P 13  23010.414983  -4997.667379  12169.504697    -30.887838                    
+V 13 -12093.755984   9889.089344  26914.224691       .002507                    
+P 14 -20032.092609  16805.955622   4745.348801    -18.167224                    
+V 14  -6218.898176   1345.751323 -31335.448483      -.001217                    
+P 15 -12454.408886   9790.786236 -21581.734136    233.344853                    
+V 15 -22654.599337 -14331.361794   6407.942610       .051900                    
+P 16  -1995.417764  26056.000923   4803.091889     15.252505                    
+V 16  -3039.363167  -5860.372484  30992.355418      -.003908                    
+P 17 -13950.374970 -19528.386847  12323.965532    208.505924                    
+V 17  13377.194979   7150.492236  26120.945649       .195596                    
+P 18 -15084.101510   1690.600988 -21756.699836    -15.608299                    
+V 18   -379.033634 -27695.287762  -2093.622552      -.026651                    
+P 20  13115.674559  14779.838902  17681.895915   -183.926433                    
+V 20   -324.050286  22630.349713 -18600.692401       .027577                    
+P 21 -23409.403766  -3223.360330 -12561.737042     73.124864                    
+V 21 -12551.599547  -9735.495428  25604.561622       .005594                    
+P 22 -12216.383471  15785.676581 -17377.796766    -39.556657                    
+V 22  -1563.139934 -22382.603220 -19009.699342       .087067                    
+P 24  -2247.959206 -17309.811965  20293.076044      8.348161                    
+V 24  22223.023694  11715.668415  12714.105814       .031077                    
+P 25  -7705.149300  13817.924315  21700.594920     61.769860                    
+V 25 -24646.073825 -10420.736617  -2175.865015       .008525                    
+P 26  -4673.390262 -14463.377898 -21969.445117    409.225649                    
+V 26  23394.934383 -14102.661708   4958.605670      -.125076                    
+P 27  24789.024764   4069.036767  -8896.436380    920.197989                    
+V 27   9734.176275   7219.920844  28374.528961       .042361                    
+P 28  12237.138453 -14471.815170 -18297.559247     21.968582                    
+V 28   2724.971253  23634.587082 -17002.247794       .016149                    
+P 29   1791.177252 -17326.015323 -19769.445092    230.171544                    
+V 29  21837.243256 -13513.989565  13693.736005       .032314                    
+P 30 -15554.676340  -4199.930428  20899.295753    806.136314                    
+V 30  -1527.099146 -27085.989935  -6407.954443       .142093                    
+P 31   9862.425478  12472.339781 -21612.400229     41.941971                    
+V 31 -21766.091571  15557.574792   -637.591571       .306169                    
+*  2004  3  1 19 30   .00000000                                                 
+P  1  14473.575192   7291.591968  21219.658602    332.704252                    
+V  1 -21295.830991  15766.219600   9155.096817       .017951                    
+P  3  -5118.857719  20404.726004 -16176.788752     90.110557                    
+V  3 -17267.593132  11454.625043  20254.548581       .032178                    
+P  4  13681.955044  -9629.110560  20715.471646    -77.399025                    
+V  4  23481.445073  11622.232240  -9799.494542      -.092004                    
+P  5 -12650.621422 -20201.246777  11767.001639     19.886022                    
+V  5     40.170268 -15400.351627 -25955.601676       .015162                    
+P  6 -20820.649444    536.853143  16740.624859     -1.424474                    
+V  6  15241.485039 -14508.785241  19505.197673      -.008474                    
+P  7  20141.637743 -17170.112957    663.016871    611.201626                    
+V  7   2638.066329   2617.184697 -31325.535712      -.078974                    
+P  8  20066.226846  -3805.309717 -17342.655108    354.778677                    
+V  8  18830.413135  10495.477833  19399.932741      -.088842                    
+P  9 -18873.206049 -15790.799726 -10904.064658    -32.492173                    
+V  9  13039.339872   2646.194926 -27105.896042      -.018291                    
+P 10   -846.470105 -26239.701427   2798.475273     40.214463                    
+V 10   2769.862441   3364.797819  32116.433220       .004435                    
+P 11  20789.513236  14005.019826  -8987.714194    100.066887                    
+V 11 -12115.204736    249.202697 -27514.661487       .025409                    
+P 13  21837.533119  -4001.927069  14479.425066    -30.887587                    
+V 13 -13890.179255  12253.751646  24343.149097       .002528                    
+P 14 -20456.916143  16849.298507   1892.464690    -18.167351                    
+V 14  -3250.367800   -448.920596 -31971.077410      -.001227                    
+P 15 -14492.564733   8576.201304 -20825.399997    233.348136                    
+V 15 -22553.816937 -12633.158308  10375.191383       .052022                    
+P 16  -2296.578802  25380.873748   7543.133677     15.252208                    
+V 16  -3717.119524  -9110.774065  29810.283813      -.003905                    
+P 17 -12620.542452 -18852.134342  14567.150502    208.523078                    
+V 17  16159.764541   7802.350594  23658.407925       .195633                    
+P 18 -15183.921284   -802.435163 -21756.835589    -15.610387                    
+V 18  -1835.837777 -27613.692756   2089.403493      -.026651                    
+P 20  13130.576648  16716.091147  15859.792693   -183.924276                    
+V 20    604.723139  20330.748535 -21831.773914       .027597                    
+P 21 -24443.564013  -4007.600147 -10158.157111     73.125353                    
+V 21 -10362.486352  -7721.896627  27732.958905       .005601                    
+P 22 -12412.685606  13683.847147 -18932.500013    -39.548797                    
+V 22  -2834.619339 -24246.432704 -15488.260708       .087063                    
+P 24   -170.064241 -16283.994366  21263.671400      8.349846                    
+V 24  23888.942480  11019.089456   8825.607176       .030916                    
+P 25  -9929.930623  12942.461947  21324.659065     61.771790                    
+V 25 -24711.507696  -9012.815556  -6167.168365       .008583                    
+P 26  -2627.835417 -15774.006498 -21338.345120    409.213283                    
+V 26  21995.722869 -14958.370910   9049.784092      -.125067                    
+P 27  25544.918214   4639.387008  -6274.339835    920.202175                    
+V 27   7013.448347   5501.606733  29810.063280       .042356                    
+P 28  12543.002681 -12271.676777 -19661.978357     21.970013                    
+V 28   4098.595844  25172.404498 -13274.302027       .016161                    
+P 29   3660.138620 -18548.860337 -18366.469422    230.175117                    
+V 29  19647.663447 -13582.883011  17436.929312       .032307                    
+P 30 -15746.815981  -6593.069135  20141.027137    806.149043                    
+V 30  -2715.189960 -26010.398448 -10416.772749       .142067                    
+P 31   7940.242406  13919.144730 -21489.095418     41.969956                    
+V 31 -20884.102183  16539.873038   3375.762912       .306166                    
+*  2004  3  1 19 45   .00000000                                                 
+P  1  12565.951273   8786.837401  21861.612028    332.706206                    
+V  1 -21014.782805  17420.325384   5090.546355       .018590                    
+P  3  -6570.358523  21398.546621 -14219.482176     90.113187                    
+V  3 -14972.355403  10554.690840  23179.484704       .032094                    
+P  4  15768.642656  -8661.353046  19659.293587    -77.407573                    
+V  4  22802.843678   9874.774669 -13636.229564      -.091991                    
+P  5 -12650.773389 -21454.445793   9336.732561     19.887895                    
+V  5     20.939758 -12419.490143 -27972.409828       .015300                    
+P  6 -19410.317154   -861.272098  18349.714801     -1.424347                    
+V  6  16021.447740 -16545.076321  16202.152249      -.008616                    
+P  7  20266.381823 -16833.159292  -2153.860844    611.194416                    
+V  7    178.273148   4918.934929 -31180.608604      -.078948                    
+P  8  21690.557279  -2947.077681 -15456.200936    354.770327                    
+V  8  17186.807818   8592.460192  22462.472714      -.088783                    
+P  9 -17570.437238 -15539.230751 -13246.789286    -32.494361                    
+V  9  15885.135660   2875.004430 -24883.824584      -.018263                    
+P 10   -565.472282 -25781.700140   5655.987051     40.215249                    
+V 10   3542.516567   6784.962182  31290.916798       .004350                    
+P 11  19569.491903  14015.083119 -11380.225139    100.069229                    
+V 11 -14972.398666     36.536118 -25576.295106       .025416                    
+P 13  20525.055464  -2790.673451  16538.625844    -30.886818                    
+V 13 -15191.485430  14662.223629  21350.794433       .002542                    
+P 14 -20623.649515  16713.968466   -992.952283    -18.167162                    
+V 14   -497.861476  -2615.760587 -32057.252711      -.001238                    
+P 15 -16498.772046   7520.198600 -19719.531303    233.352810                    
+V 15 -21942.826192 -10822.331282  14164.822807       .052207                    
+P 16  -2675.443861  24423.109704  10153.608379     15.251812                    
+V 16  -4759.142869 -12126.531022  28117.354576      -.003901                    
+P 17 -11045.666278 -18137.295349  16570.606164    208.541274                    
+V 17  18807.451195   8010.386295  20800.308491       .195670                    
+P 18 -15412.592192  -3263.502599 -21381.906301    -15.612507                    
+V 18  -3227.401440 -26987.344055   6229.169776      -.026657                    
+P 20  13214.532019  18428.476577  13763.553985   -183.922012                    
+V 20   1200.894745  17668.310204 -24683.832263       .027615                    
+P 21 -25263.355187  -4619.804744  -7583.847859     73.125549                    
+V 21  -7797.303893  -5924.704859  29393.491305       .005604                    
+P 22 -12731.792176  11436.144214 -20157.447952    -39.540814                    
+V 22  -4278.393560 -25616.648840 -11692.467797       .087052                    
+P 24   2039.669807 -15336.421265  21877.428238      8.352450                    
+V 24  25142.620900   9988.056346   4795.260066       .030819                    
+P 25 -12138.249353  12198.166572  20593.463871     61.772603                    
+V 25 -24278.443789  -7520.002941 -10059.865278       .008458                    
+P 26   -725.039689 -17143.419816 -20344.415576    409.201819                    
+V 26  20234.272720 -15399.060779  13009.925107      -.125054                    
+P 27  26043.570411   5068.673036  -3546.003871    920.205613                    
+V 27   4030.519423   4094.360118  30733.254753       .042346                    
+P 28  12978.379902  -9956.615580 -20680.075371     21.971639                    
+V 28   5588.498064  26183.087757  -9317.882438       .016169                    
+P 29   5320.600446 -19756.529751 -16640.158088    230.178106                    
+V 29  17219.766263 -13172.258090  20868.317120       .032300                    
+P 30 -16037.281619  -8867.240254  19029.952304    806.162603                    
+V 30  -3699.277685 -24449.968688 -14236.535349       .142039                    
+P 31   6114.145119  15438.894392 -21006.092338     41.997964                    
+V 31 -19640.575411  17168.477547   7344.801579       .306160                    
+*  2004  3  1 20  0   .00000000                                                 
+P  1  10704.871073  10418.610549  22133.384375    332.708493                    
+V  1 -20269.040948  18786.730587    940.288994       .019163                    
+P  3  -7812.397660  22291.026172 -12016.339765     90.114279                    
+V  3 -12627.640921   9203.883556  25709.368894       .032047                    
+P  4  17771.018209  -7851.847848  18268.173011    -77.416074                    
+V  4  21609.886638   8120.688802 -17232.363075      -.091981                    
+P  5 -12634.971004 -22432.896432   6746.456364     19.888933                    
+V  5    397.176954  -9310.111461 -29506.552507       .015364                    
+P  6 -17950.656006  -2437.163699  19648.822246     -1.424834                    
+V  6  16339.734145 -18444.904410  12626.250890      -.008899                    
+P  7  20182.701293 -16277.072164  -4933.092498    611.187093                    
+V  7  -1982.801748   7474.672893 -30489.351756      -.078921                    
+P  8  23146.179550  -2254.498853 -13310.715676    354.762263                    
+V  8  15087.983161   6828.133213  25148.349040      -.088718                    
+P  9 -16019.814623 -15285.389275 -15370.990660    -32.494934                    
+V  9  18533.356973   2701.339848 -22256.527142      -.018285                    
+P 10   -197.146901 -25024.930988   8414.382256     40.215176                    
+V 10   4703.574441   9987.982946  29917.131326       .004169                    
+P 11  18100.055714  14022.458233 -13578.297715    100.071266                    
+V 11 -17643.959513    185.411510 -23199.853527       .025423                    
+P 13  19118.439181  -1364.339290  18311.490459    -30.887179                    
+V 13 -15981.000879  17016.930284  17989.399075       .002545                    
+P 14 -20555.435584  16369.132695  -3861.283238    -18.167390                    
+V 14   1958.265696  -5093.091980 -31591.820394      -.001253                    
+P 15 -18426.891033   6628.836916 -18282.914710    233.357381                    
+V 15 -20819.681008  -8989.620184  17715.157616       .052376                    
+P 16  -3162.678309  23207.640251  12589.818712     15.251890                    
+V 16  -6115.807115 -14824.612622  25943.408923      -.003891                    
+P 17  -9241.926062 -17422.910515  18300.624645    208.558186                    
+V 17  21231.162238   7797.435678  17589.681758       .195701                    
+P 18 -15760.253744  -5644.520029 -20639.017325    -15.614551                    
+V 18  -4465.853865 -25840.341715  10254.608843      -.026667                    
+P 20  13335.247807  19887.960021  11429.551580   -183.919839                    
+V 20   1414.626524  14725.266752 -27107.850748       .027632                    
+P 21 -25837.685629  -5082.580779  -4882.168900     73.125839                    
+V 21  -4919.412641  -4411.529857  30559.609188       .005612                    
+P 22 -13185.393348   9088.773296 -21030.901713    -39.532571                    
+V 22  -5808.570373 -26456.718638  -7688.721894       .087041                    
+P 24   4341.610377 -14494.014806  22124.545478      8.356453                    
+V 24  25930.239513   8694.967520    689.179262       .030860                    
+P 25 -14285.007154  11588.854897  19518.738047     61.772854                    
+V 25 -23344.490212  -6027.377513 -13790.801273       .008308                    
+P 26   1005.748045 -18531.813378 -19002.557014    409.190320                    
+V 26  18186.956448 -15372.839346  16770.174650      -.125036                    
+P 27  26264.964791   5387.146663   -757.991128    920.209957                    
+V 27    866.227399   3045.726030  31135.484001       .042333                    
+P 28  13549.741722  -7575.223351 -21334.493733     21.972991                    
+V 28   7105.312436  26644.356045  -5204.764222       .016184                    
+P 29   6755.478910 -20904.943085 -14621.352093    230.180695                    
+V 29  14651.369909 -12264.834586  23927.288163       .032294                    
+P 30 -16404.391289 -10981.130630  17586.141723    806.175777                    
+V 30  -4407.271363 -22458.926197 -17800.107877       .142002                    
+P 31   4413.875747  16997.217095 -20170.320866     42.025678                    
+V 31 -18099.470965  17389.095232  11204.212284       .306151                    
+*  2004  3  1 20 15   .00000000                                                 
+P  1   8929.894141  12157.543324  22030.365847    332.711347                    
+V  1 -19111.420561  19790.013039  -3226.563058       .019583                    
+P  3  -8844.489503  23042.198587  -9605.027437     90.117524                    
+V  3 -10321.322093   7418.760984  27798.452778       .032040                    
+P  4  19643.609741  -7197.136476  16566.472699    -77.423185                    
+V  4  19923.752829   6449.502762 -20528.530348      -.091963                    
+P  5 -12567.213753 -23129.188986   4040.771560     19.890249                    
+V  5   1175.092380  -6164.824243 -30533.707978       .015535                    
+P  6 -16482.413904  -4174.754629  20616.030095     -1.424441                    
+V  6  16216.921903 -20124.929811   8836.802109      -.009285                    
+P  7  19920.193554 -15482.449215  -7625.767267    611.179773                    
+V  7  -3787.183970  10205.711553 -29259.214021      -.078891                    
+P  8  24394.153063  -1711.475785 -10942.122999    354.754454                    
+V  8  12581.603672   5281.394195  27413.607984      -.088650                    
+P  9 -14242.757079 -15064.012564 -17242.088050    -32.496273                    
+V  9  20904.390364   2160.730838 -19266.860866      -.018379                    
+P 10    291.341114 -23993.140865  11025.354923     40.215218                    
+V 10   6203.097597  12882.147547  28019.801845       .004102                    
+P 11  16401.542725  14058.362242 -15544.245758    100.073325                    
+V 11 -20050.342422    663.978304 -20425.201634       .025431                    
+P 13  17663.760220    267.827537  19767.401992    -30.887088                    
+V 13 -16261.666566  19220.200891  14317.658668       .002556                    
+P 14 -20282.097539  15790.151469  -6663.142694    -18.167682                    
+V 14   4050.382238  -7805.392543 -30582.121395      -.001266                    
+P 15 -20231.406856   5900.023913 -16539.722586    233.362226                    
+V 15 -19200.186861  -7224.855501  20968.327250       .052526                    
+P 16  -3783.826627  21766.363665  14810.121746     15.251664                    
+V 16  -7723.320748 -17133.700313  23326.375117      -.003890                    
+P 17  -7233.287558 -16745.233894  19727.628712    208.576034                    
+V 17  23347.475361   7202.411329  14075.220420       .195736                    
+P 18 -16209.397013  -7900.384284 -19541.568656    -15.617040                    
+V 18  -5469.668397 -24214.536894  14097.102460      -.026679                    
+P 20  13456.669372  21073.339850   8898.233039   -183.917354                    
+V 20   1212.447270  11592.909748 -29062.402033       .027643                    
+P 21 -26141.710778  -5424.059464  -2098.522526     73.126838                    
+V 21  -1803.871555  -3237.158809  31212.516950       .005621                    
+P 22 -13777.210445   6690.391473 -21537.290022    -39.524653                    
+V 22  -7334.565594 -26748.875708  -3547.467451       .087030                    
+P 24   6691.962055 -13776.749989  22001.217908      8.360405                    
+V 24  26213.387126   7221.307889  -3425.660852       .030886                    
+P 25 -16325.646769  11110.704300  18117.808594     61.774590                    
+V 25 -21924.054234  -4619.092239 -17298.864171       .008193                    
+P 26   2542.614254 -19895.451944 -17333.796110    409.179137                    
+V 26  15939.914136 -14844.606449  20263.456899      -.125015                    
+P 27  26196.651408   5628.623265   2042.738177    920.214203                    
+V 27  -2392.631911   2387.168077  31016.473411       .042313                    
+P 28  14255.405915  -5177.207586 -21614.456785     21.974434                    
+V 28   8557.848147  26553.748377  -1009.139930       .016198                    
+P 29   7956.655411 -21949.349555 -12346.024976    230.182995                    
+V 29  12043.204455 -10863.053897  26560.573805       .032289                    
+P 30 -16820.483098 -12898.978226  15835.483347    806.188534                    
+V 30  -4778.831783 -20105.981141 -21045.544126       .141957                    
+P 31   2862.964574  18555.462864 -18994.560567     42.053289                    
+V 31 -16334.454618  17161.284076  14889.470986       .306139                    
+*  2004  3  1 20 30   .00000000                                                 
+P  1   7275.177372  13968.007780  21554.188532    332.713843                    
+V  1 -17608.776296  20366.938202  -7340.586513       .019935                    
+P  3  -9673.927320  23614.374803  -7026.999384     90.121608                    
+V  3  -8137.822471   5233.244661  29408.448815       .032057                    
+P  4  21343.634330  -6685.911418  14583.662565    -77.431678                    
+V  4  17782.831623   4945.553859 -23470.737368      -.091961                    
+P  5 -12411.716303 -23544.260206   1266.077291     19.891313                    
+V  5   2343.711963  -3075.925486 -31038.219190       .015797                    
+P  6 -15043.764784  -6050.734017  21234.919431     -1.426415                    
+V  6  15689.433384 -21508.025001   4896.530293      -.009738                    
+P  7  19513.016309 -14437.430183 -10184.104785    611.172767                    
+V  7  -5191.865512  13023.663543 -27507.881668      -.078868                    
+P  8  25400.495195  -1295.242281  -8390.017369    354.747430                    
+V  8   9729.871683   4021.079291  29220.727027      -.088589                    
+P  9 -12267.482282 -14905.983558 -18829.582940    -32.499131                    
+V  9  22927.187991   1303.018234 -15962.587309      -.018543                    
+P 10    927.610401 -22717.818156  13443.261981     40.214646                    
+V 10   7975.501365  15387.687640  25633.276250       .004046                    
+P 11  14501.097617  14150.498273 -17244.281026    100.075504                    
+V 11 -22120.302215   1426.262494 -17298.982348       .025438                    
+P 13  16205.954751   2087.929181  20881.276936    -30.886961                    
+V 13 -16055.759248  21178.118728  10399.655180       .002557                    
+P 14 -19838.876002  14959.701621  -9350.230700    -18.167546                    
+V 14   5726.107057 -10666.103054 -29044.910234      -.001274                    
+P 15 -21869.010347   5323.749633 -14519.134353    233.369021                    
+V 15 -17117.422735  -5613.604512  23871.059736       .052725                    
+P 16  -4558.147798  20136.971717  16776.626535     15.251299                    
+V 16  -9506.259687 -18996.752135  20311.577336      -.003887                    
+P 17  -5050.856891 -16136.341631  20826.662456    208.594227                    
+V 17  25081.619069   6278.977290  10310.850883       .195767                    
+P 18 -16735.584153  -9990.496351 -18108.982982    -15.619540                    
+V 18  -6166.906591 -22167.836717  17691.612701      -.026690                    
+P 20  13540.520397  21971.909087   6213.406182   -183.914072                    
+V 20    578.629745   8368.118519 -30514.344120       .027654                    
+P 21 -26157.770968  -5676.649705    720.355744     73.127294                    
+V 21   1465.179640  -2441.576999  31341.416463       .005632                    
+P 22 -14502.740682   4290.381260 -21667.514470    -39.516550                    
+V 22  -8764.837794 -26494.817472    658.124991       .087016                    
+P 24   9044.219843 -13196.975229  21509.672601      8.362563                    
+V 24  25970.445423   5654.533693  -7482.334171       .030716                    
+P 25 -18217.653068  10752.479012  16413.379088     61.774640                    
+V 25 -20048.005445  -3375.209028 -20525.828197       .008067                    
+P 26   3871.719668 -21188.268546 -15365.068621    409.167726                    
+V 26  13585.869916 -13797.901335  23425.753990      -.124993                    
+P 27  25834.143431   5828.994723   4809.559104    920.217570                    
+V 27  -5656.418218   2133.288768  30383.877182       .042278                    
+P 28  15085.544830  -2811.606007 -21515.917172     21.975835                    
+V 28   9856.919603  25928.525173   3193.894377       .016209                    
+P 29   8925.055052 -22846.105911  -9854.577357    230.185732                    
+V 29   9494.834965  -8989.005564  28723.205317       .032289                    
+P 30 -17253.088105 -14591.753849  13809.164819    806.201442                    
+V 30  -4767.837582 -17471.537049 -23917.190171       .141917                    
+P 31   1477.974125  20072.034358 -17497.326594     42.081637                    
+V 31 -14426.226379  16460.247061  18337.809947       .306122                    
+*  2004  3  1 20 45   .00000000                                                 
+P  1   5768.323767  15809.327885  20712.707639    332.713780                    
+V  1 -15839.429076  20468.932015 -11333.086430       .020154                    
+P  3 -10315.321660  23973.662431  -4326.788520     90.125209                    
+V  3  -6154.786029   2697.547658  30509.354769       .031896                    
+P  4  22832.487190  -6299.629718  12353.801895    -77.439996                    
+V  4  15241.294554   3684.783961 -26011.108085      -.091974                    
+P  5 -12134.440345 -23687.212396  -1530.213686     19.893941                    
+V  5   3875.311572   -132.021441 -31013.229517       .016006                    
+P  6 -13668.944719  -8035.239445  21494.836145     -1.427777                    
+V  6  14808.064276 -22526.190167    870.662626      -.010022                    
+P  7  18998.453212 -13138.420606 -12562.376510    611.165339                    
+V  7  -6170.640891  15833.830857 -25263.236259      -.078849                    
+P  8  26137.398508   -977.387662  -5697.059952    354.740570                    
+V  8   6607.420863   3103.390511  30539.166576      -.088553                    
+P  9 -10128.126292 -14837.125384 -20107.474079    -32.500068                    
+V  9  24541.646475    190.449089 -12395.785979      -.018637                    
+P 10   1732.771695 -21236.976811  15625.958584     40.213775                    
+V 10   9942.247588  17439.816326  22800.809158       .004179                    
+P 11  12431.803199  14321.863341 -18649.091165    100.077885                    
+V 11 -23793.536031   2414.006474 -13873.886382       .025448                    
+P 13  14787.120129   4069.924027  21633.998141    -30.886702                    
+V 13 -15403.852296  22804.225213   6303.691492       .002560                    
+P 14 -19264.964538  13868.626344 -11876.170159    -18.168064                    
+V 14   6950.247496 -13580.881258 -27006.107379      -.001286                    
+P 15 -23300.108520   4882.615691 -12254.889104    233.372562                    
+V 15 -14620.663304  -4233.972602  26375.420588       .052643                    
+P 16  -5497.699287  18361.569814  18455.824413     15.250932                    
+V 16 -11380.540671 -20373.014354  16950.933273      -.003889                    
+P 17  -2731.975808 -15622.883868  21577.840263    208.611481                    
+V 17  26370.232042   5093.696412   6355.228188       .195794                    
+P 18 -17308.442788 -11880.107789 -16366.335859    -15.622409                    
+V 18  -6498.063809 -19771.922258  20977.723710      -.026700                    
+P 20  13547.935511  22579.794067   3421.467945   -183.911224                    
+V 20   -484.137649   5149.688121 -31439.359581       .027662                    
+P 21 -25876.078572  -5875.636539   3527.124701     73.127615                    
+V 21   4797.457700  -2048.518545  30943.665318       .005638                    
+P 22 -15349.341935   1937.096688 -21419.132769    -39.508854                    
+V 22 -10010.683367 -25715.622232   4853.547990       .087001                    
+P 24  11350.721218 -12759.022732  20658.124183      8.363877                    
+V 24  25197.394431   4084.765080 -11414.858262       .030438                    
+P 25 -19921.998139  10496.037085  14433.231566     61.774550                    
+V 25 -17762.770297  -2368.641571 -23417.207306       .007894                    
+P 26   4987.734752 -22363.600473 -13128.884209    409.156424                    
+V 26  11220.591281 -12236.081793  26197.445911      -.124974                    
+P 27  25181.032648   6024.699814   7496.875078    920.221591                    
+V 27  -8835.760812   2281.660179  29252.811677       .042244                    
+P 28  16022.534190   -525.046325 -21041.570820     21.977389                    
+V 28  10919.053101  24804.767157   7329.828029       .016223                    
+P 29   9670.361618 -23554.410909  -7191.054795    230.188376                    
+V 29   7100.689578  -6683.543088  30379.258696       .032286                    
+P 30 -17666.298371 -16038.071359  11543.063615    806.213567                    
+V 30  -4344.243007 -14644.470977 -26366.623241       .141875                    
+P 31    267.998109  21503.856425 -15702.666184     42.109507                    
+V 31 -12459.542761  15278.106095  21489.234789       .306105                    
+*  2004  3  1 21  0   .00000000                                                 
+P  1   4429.482250  17637.190995  19519.889177    332.717603                    
+V  1 -13890.176335  20064.032928 -15137.134849       .020577                    
+P  3 -10789.849046  24091.358470  -1551.229001     90.127799                    
+V  3  -4439.992877   -123.566376  31080.134247       .031757                    
+P  4  24077.076646  -6013.400200   9914.959003    -77.448519                    
+V  4  12367.110310   2731.880193 -28108.527443      -.091993                    
+P  5 -11704.558804 -23574.835212  -4300.468096     19.895363                    
+V  5   5726.482067   2585.177544 -30460.680126       .015895                    
+P  6 -12387.044143 -10092.798211  21391.073743     -1.428847                    
+V  6  13635.995136 -23123.154579  -3174.019777      -.010124                    
+P  7  18415.344211 -11590.493350 -14717.811671    611.158251                    
+V  7  -6715.262540  18538.949888 -22563.051400      -.078839                    
+P  8  26584.237818   -725.093464  -2908.327668    354.733453                    
+V  8   3298.764759   2569.761771  31345.858779      -.088540                    
+P  9  -7863.664740 -14877.185587 -21054.619420    -32.502394                    
+V  9  25700.627035  -1104.623716  -8622.259437      -.018851                    
+P 10   2720.403653 -19593.694467  17535.560349     40.213782                    
+V 10  12015.069524  18991.137979  19573.658051       .004317                    
+P 11  10231.591194  14589.743835 -19734.347266    100.080396                    
+V 11 -25022.929606   3558.987139 -10207.819334       .025455                    
+P 13  13444.942022   6180.454159  22012.739531    -30.886507                    
+V 13 -14363.061239  24022.931271   2101.056000       .002558                    
+P 14 -18601.900266  12516.476687 -14197.314435    -18.168213                    
+V 14   7706.070235 -16451.176913 -24500.387085      -.001293                    
+P 15 -24490.212261   4552.641411  -9784.773648    233.377832                    
+V 15 -11773.734468  -3153.664879  28439.506663       .052802                    
+P 16  -6606.704173  16485.143714  19819.142663     15.250714                    
+V 16 -13256.719719 -21239.409391  13302.056168      -.003891                    
+P 17   -319.082039 -15225.025809  21966.746094    208.629567                    
+V 17  27163.807875   3723.686471   2271.134218       .195824                    
+P 18 -17892.894676 -13541.438841 -14343.896613    -15.624544                    
+V 18  -6418.414523 -17109.474314  23900.581956      -.026706                    
+P 20  13441.120602  22901.958996    570.592031   -183.908678                    
+V 20  -1954.807600   2034.603047 -31822.330659       .027668                    
+P 21 -25295.129995  -6057.674860   6274.575351     73.128131                    
+V 21   8099.696221  -2064.595668  30024.848689       .005652                    
+P 22 -16296.655784   -323.847867 -20796.414960    -39.500642                    
+V 22 -10989.931693 -24450.885058   8964.385773       .086988                    
+P 24  13564.243679 -12459.121188  19460.650060      8.367632                    
+V 24  23908.015310   2601.393109 -15159.077908       .030333                    
+P 25 -21404.479831  10317.103792  12209.851336     61.775388                    
+V 25 -15128.873741  -1662.308632 -25923.113455       .007839                    
+P 26   5893.945056 -23375.997885 -10662.869220    409.144839                    
+V 26   8939.116471 -10182.746257  28524.676109      -.124960                    
+P 27  24248.828335   6251.205838  10060.766942    920.225139                    
+V 27 -11844.576364   2813.237349  27645.350629       .042199                    
+P 28  17041.624011   1639.878742 -20200.739503     21.978815                    
+V 28  11669.913295  23235.727378  11326.161045       .016236                    
+P 29  10210.386154 -24037.925590  -4402.308562    230.191251                    
+V 29   4946.360432  -4004.642245  31502.377045       .032283                    
+P 30 -18022.272289 -17224.794079   9077.060683    806.226072                    
+V 30  -3495.262392 -11718.626793 -28353.411351       .141841                    
+P 31   -765.561296  22807.934340 -13639.861797     42.134676                    
+V 31 -10520.026219  13624.589396  24287.579930       .306090                    
+*  2004  3  1 21 15   .00000000                                                 
+P  1   3270.731516  19405.208839  17995.604492    332.720403                    
+V  1 -11852.988047  19138.251563 -18688.600480       .020830                    
+P  3 -11124.239153  23945.157412   1251.375108     90.130717                    
+V  3  -3048.653404  -3153.132710  31109.229256       .031604                    
+P  4  25050.958245  -5797.108885   7308.577715    -77.456549                    
+V  4   9239.580088   2137.855578 -29729.180315      -.092016                    
+P  5 -11095.797640 -23230.851136  -6997.618683     19.896587                    
+V  5   7839.776475   5003.773756 -29391.176719       .015748                    
+P  6 -11220.999886 -12183.485135  20924.969320     -1.430299                    
+V  6  12246.352053 -23256.572941  -7170.161541      -.010299                    
+P  7  17802.445515  -9807.443013 -16611.463729    611.151128                    
+V  7  -6835.839711  21043.131744 -19454.417930      -.078841                    
+P  8  26728.330514   -502.539558    -70.621294    354.725742                    
+V  8   -104.620519   2445.239191  31625.627349      -.088540                    
+P  9  -5516.670434 -15039.042732 -21655.043883    -32.504652                    
+V  9  26371.561823  -2502.371011  -4700.923218      -.018884                    
+P 10   3895.837608 -17834.465663  19139.116839     40.214604                    
+V 10  14099.586870  20013.333590  16010.019742       .004570                    
+P 11   7941.971994  14964.938080 -20481.132190    100.082474                    
+V 11 -25776.321009   4785.728278  -6362.975675       .025461                    
+P 13  12211.308969   8379.961574  22011.177438    -30.885970                    
+V 13 -13004.647779  24772.501663  -2135.257473       .002552                    
+P 14 -17891.872192  10911.721998 -16273.510641    -18.168508                    
+V 14   7995.852356 -19177.989855 -21570.605894      -.001302                    
+P 15 -25411.152340   4304.318973  -7150.050356    233.381845                    
+V 15  -8652.851962  -2427.406432  30028.089013       .052889                    
+P 16  -7881.225061  14553.931249  20843.413661     15.249959                    
+V 16 -15043.489610 -21591.253115   9427.277257      -.003898                    
+P 17   2141.632740 -14955.619919  21984.773671    208.646929                    
+V 17  27428.732909   2253.838471  -1875.236146       .195849                    
+P 18 -18450.569828 -14954.528807 -12076.589548    -15.626970                    
+V 18  -5899.776444 -14271.017390  26411.725661      -.026720                    
+P 20  13184.975469  22951.878256  -2290.109633   -183.906473                    
+V 20  -3794.750897   -885.596645 -31657.546025       .027673                    
+P 21 -24421.827054  -6259.232077   8916.371306     73.128490                    
+V 21  11278.925607  -2479.038209  28598.762145       .005649                    
+P 22 -17317.352685  -2451.177066 -19810.270561    -39.492785                    
+V 22 -11630.383264 -22757.106094  12917.747568       .086972                    
+P 24  15639.593092 -12285.613619  17936.986630      8.370020                    
+V 24  22133.483381   1289.709815 -18653.537287       .030148                    
+P 25 -22636.905313  10186.287958   9779.974619     61.774387                    
+V 25 -12218.960541  -1306.598894 -27999.111593       .007784                    
+P 26   6602.012052 -24183.033900  -8009.187012    409.133620                    
+V 26   6831.897515  -7681.336569  30360.699164      -.124946                    
+P 27  23056.532130   6541.552185  12459.595746    920.229020                    
+V 27 -14602.904721   3693.313449  25590.004281       .042152                    
+P 28  18111.900010   3646.057686 -19009.129261     21.980003                    
+V 28  12047.311105  21289.523510  15113.732639       .016245                    
+P 29  10570.120615 -24266.214833  -1537.119502    230.194333                    
+V 29   3105.327388  -1025.087650  32076.069249       .032281                    
+P 30 -18282.814830 -18147.318275   6454.294065    806.238509                    
+V 30  -2225.847487  -8789.170725 -29845.686491       .141804                    
+P 31  -1628.923420  23942.945550 -11343.038133     42.162686                    
+V 31  -8690.869078  11527.081095  26681.585952       .306089                    
+*  2004  3  1 21 30   .00000000                                                 
+P  1   2295.771148  21066.572141  16165.332876    332.722899                    
+V  1  -9821.502246  17696.284738 -21927.160095       .020992                    
+P  3 -11349.540014  23520.123714   4032.118955     90.134624                    
+V  3  -2021.199702  -6304.854870  30594.884474       .031418                    
+P  4  25735.228822  -5616.739348   4578.800002    -77.464432                    
+V  4   5946.484102   1938.147816 -30846.987176      -.092035                    
+P  5 -10287.605370 -22684.915433  -9575.933393     19.896954                    
+V  5  10145.872282   7064.209980 -27823.734268       .015707                    
+P  6 -10186.824060 -14264.256789  20103.910197     -1.430872                    
+V  6  10719.397419 -22899.737456 -11050.837914      -.010403                    
+P  7  17196.789347  -7811.483549 -18209.012913    611.144673                    
+V  7  -6560.440536  23255.819692 -15992.899518      -.078841                    
+P  8  26565.421265   -272.430535   2768.260806    354.717693                    
+V  8  -3507.487626   2737.437370  31371.530062      -.088545                    
+P  9  -3131.946795 -15328.161765 -21898.191199    -32.507398                    
+V  9  26537.600122  -3918.373137   -693.171538      -.018879                    
+P 10   5255.779358 -16007.438491  20409.183332     40.214705                    
+V 10  16099.153472  20498.058803  12173.839312       .004845                    
+P 11   5606.630069  15451.237078 -20876.281781    100.084646                    
+V 11 -26037.712352   6014.507808  -2404.830821       .025468                    
+P 13  11111.167812  10624.049343  21629.585668    -30.885671                    
+V 13 -11411.081171  25007.496207  -6331.849129       .002545                    
+P 14 -17176.013363   9071.619362 -18068.804640    -18.168676                    
+V 14   7840.688102 -21665.664799 -18267.080372      -.001313                    
+P 15 -26042.080012   4103.881208  -4394.829666    233.385593                    
+V 15  -5344.008625  -2094.810761  31113.198562       .053081                    
+P 16  -9309.156804  12613.760581  21511.253060     15.249672                    
+V 16 -16651.244581 -21442.279569   5392.604578      -.003904                    
+P 17   4601.726700 -14819.645549  21629.396881    208.665429                    
+V 17  27148.828790    773.668730  -6015.113772       .195870                    
+P 18 -18941.350980 -16107.789724  -9603.385747    -15.629209                    
+V 18  -4931.635680 -11351.503532  28469.796725      -.026730                    
+P 20  12748.615272  22750.891073  -5111.436459   -183.904065                    
+V 20  -5949.220445  -3528.217325 -30948.739365       .027674                    
+P 21 -23271.301830  -6515.035373  11407.783470     73.129107                    
+V 21  14245.764403  -3264.057372  26687.301341       .005662                    
+P 22 -18378.169472  -4409.377688 -18478.047829    -39.485148                    
+V 22 -11872.844260 -20705.398105  16643.670475       .086953                    
+P 24  17535.128268 -12219.473401  16112.247537      8.370857                    
+V 24  19921.360892    227.670046 -21840.340268       .030191                    
+P 25 -23598.074961  10070.308780   7184.059844     61.775372                    
+V 25  -9115.346561  -1337.244512 -29607.058731       .007857                    
+P 26   7131.389186 -24747.040842  -5213.839699    409.123112                    
+V 26   4981.023851  -4793.892830  31667.159238      -.124934                    
+P 27  21629.968699   6925.002361  14654.558463    920.233257                    
+V 27 -17039.488254   4872.965750  23121.195905       .042106                    
+P 28  19197.492494   5463.073193 -17488.474641     21.981320                    
+V 28  12003.678374  19046.283024  18627.926180       .016255                    
+P 29  10780.520487 -24215.954594   1354.695148    230.197033                    
+V 29   1636.230141   2170.400070  32093.791710       .032281                    
+P 30 -18410.968701 -18809.528053   3720.369387    806.251104                    
+V 30   -558.454807  -5948.958548 -30820.530627       .141773                    
+P 31  -2335.562112  24870.805887  -8850.672022     42.190017                    
+V 31  -7049.551384   9030.001387  28625.976172       .306091                    
+*  2004  3  1 21 45   .00000000                                                 
+P  1   1499.932605  22575.739130  14059.774379    332.725550                    
+V  1  -7887.442323  15761.550834 -24797.280664       .021026                    
+P  3 -11499.710651  22809.386839   6742.386149     90.136344                    
+V  3  -1381.673768  -9486.379882  29545.268024       .031085                    
+P  4  26119.150023  -5435.838550   1771.753999    -77.472951                    
+V  4   2580.940720   2151.296415 -31443.937610      -.092062                    
+P  5  -9266.108047 -21971.409258 -11991.756536     19.899598                    
+V  5  12566.165193   8721.322774 -25785.408648       .015874                    
+P  6  -9293.098921 -16290.415517  18941.249215     -1.432119                    
+V  6   9139.444978 -22042.740327 -14750.578087      -.010581                    
+P  7  16632.115542  -5632.595940 -19481.481156    611.137927                    
+V  7  -5933.897102  25095.577216 -12241.434017      -.078844                    
+P  8  26099.870998      2.411682   5560.275909    354.710371                    
+V  8  -6814.180414   3436.117647  30585.113524      -.088557                    
+P  9   -755.080266 -15742.317687 -21779.117193    -32.509780                    
+V  9  26198.257184  -5266.682861   3337.791618      -.018826                    
+P 10   6788.281561 -14160.606955  21324.280950     40.214968                    
+V 10  17918.772993  20457.028265   8133.526109       .005305                    
+P 11   3269.937114  16045.185012 -20912.632152    100.086901                    
+V 11 -25807.879457   7164.548113   1598.935806       .025473                    
+P 13  10161.663608  12865.034441  20874.813676    -30.885575                    
+V 13  -9672.676632  24700.574512 -10416.207137       .002538                    
+P 14 -16492.743833   7021.745447 -19552.074680    -18.168768                    
+V 14   7279.556313 -23825.574136 -14646.725939      -.001318                    
+P 15 -26370.215160   3914.738086  -1565.392772    233.390658                    
+V 15  -1939.990986  -2178.774702  31674.646078       .053428                    
+P 16 -10870.538071  10708.417375  21811.341994     15.249697                    
+V 16 -17995.579246 -20823.976535   1266.633857      -.003911                    
+P 17   7012.125125 -14813.945039  20904.358726    208.683102                    
+V 17  26326.318994   -626.104500 -10078.127539       .195887                    
+P 18 -19324.989224 -16998.245691  -6966.636271    -15.632047                    
+V 18  -3521.599234  -8446.764282  30041.130662      -.026742                    
+P 20  12106.731601  22327.265424  -7844.944784   -183.901733                    
+V 20  -8349.438076  -5822.450066 -29708.962990       .027676                    
+P 21 -21866.448927  -6856.579696  13706.410418     73.129946                    
+V 21  16917.611470  -4375.829018  24320.253328       .005677                    
+P 22 -19441.196886  -6169.888286 -16823.209435    -39.477043                    
+V 22 -11673.628772 -18378.610371  20076.457360       .086935                    
+P 24  19214.168800 -12235.101779  14016.565093      8.373296                    
+V 24  17334.015853   -517.108313 -24665.996530       .030295                    
+P 25 -24274.527212   9933.392213   4465.684769     61.777067                    
+V 25  -5907.168717  -1773.693176 -30715.909880       .007915                    
+P 26   7508.408227 -25036.696550  -2325.860049    409.112257                    
+V 26   3456.701438  -1598.972076  32415.242850      -.124928                    
+P 27  20000.898215   7425.846076  16610.196781    920.236578                    
+V 27 -19094.031409   6290.934063  20278.743565       .042052                    
+P 28  20258.980603   7068.138434 -15666.080818     21.982584                    
+V 28  11507.922238  16594.872422  21809.730713       .016267                    
+P 29  10877.070322 -23871.860312   4223.173029    230.200243                    
+V 29    580.785354   5488.464506  31558.826799       .032285                    
+P 30 -18372.553499 -19223.429254    922.543869    806.263885                    
+V 30   1467.870550  -3285.057465 -31264.179516       .141745                    
+P 31  -2905.548776  25558.149491  -6205.006523     42.217660                    
+V 31  -5664.700929   6193.509132  30082.503525       .306093                    
+*  2004  3  1 22  0   .00000000                                                 
+P  1    870.511388  23890.096203  11714.376019    332.728301                    
+V  1  -6137.083613  13375.535578 -27249.159425       .020964                    
+P  3 -11610.098397  21814.528228   9334.739350     90.139480                    
+V  3  -1136.787036 -12602.844978  27978.379722       .030898                    
+P  4  26200.480303  -5217.074077  -1065.183415    -77.481052                    
+V  4   -761.912635   2778.239307 -31510.322539      -.092079                    
+P  5  -8024.814975 -21128.071939 -14204.211961     19.901062                    
+V  5  15015.697637   9945.853248 -23310.824334       .015843                    
+P  6  -8540.757886 -18217.151439  17456.127433     -1.433414                    
+V  6   7591.604318 -20693.037758 -18206.398327      -.010636                    
+P  7  16137.445124  -3307.549492 -20405.837734    611.130337                    
+V  7  -5015.855786  26493.523031  -8269.009307      -.078848                    
+P  8  25344.539719    357.446385   8257.908698    354.703228                    
+V  8  -9932.055564   4513.416392  29276.568048      -.088573                    
+P  9   1569.042217 -16271.599675 -21298.620895    -32.510023                    
+V  9  25369.538288  -6462.980161   7327.666821      -.018684                    
+P 10   8473.065429 -12340.032137  21869.238369     40.214508                    
+V 10  19468.918731  19921.296207   3960.612014       .005909                    
+P 11    975.438568  16736.130634 -20589.167489    100.089266                    
+V 11 -25104.351134   8157.269217   5579.572020       .025480                    
+P 13   9371.596085  15053.631737  19760.149435    -30.885029                    
+V 13  -7883.945962  23843.596921 -14317.972287       .002527                    
+P 14 -15876.229638   4795.207403 -20697.581822    -18.168696                    
+V 14   6367.683102 -25579.543558 -10772.071627      -.001324                    
+P 15 -26391.312719   3699.031478   1290.529139    233.397147                    
+V 15   1462.880363  -2684.464330  31700.465519       .053617                    
+P 16 -12538.169977   8878.101810  21738.609680     15.249372                    
+V 16 -19000.592191 -19784.259971  -2880.573200      -.003924                    
+P 17   9324.796116 -14927.276254  19819.766643    208.700864                    
+V 17  24982.150531  -1857.149968 -13993.412470       .195899                    
+P 18 -19562.729662 -17631.451806  -4211.357856    -15.634335                    
+V 18  -1695.165625  -5649.961116  31100.221753      -.026749                    
+P 20  11240.740804  21715.009174 -10443.774883   -183.899433                    
+V 20 -10915.220399  -7711.932964 -27960.303062       .027682                    
+P 21 -20237.179033  -7310.751300  15772.875335     73.129797                    
+V 21  19221.628999  -5756.072646  21534.983427       .005680                    
+P 22 -20465.364324  -7712.008254 -14874.891879    -39.468986                    
+V 22 -11006.423824 -15867.991695  23155.917328       .086914                    
+P 24  20646.236324 -12301.380776  11684.656378      8.376352                    
+V 24  14446.510179   -890.003372 -27082.248715       .030426                    
+P 25 -24661.012046   9738.788458   1670.873360     61.777656                    
+V 25  -2687.220496  -2618.057248 -31302.469196       .007876                    
+P 26   7765.066826 -25028.387679    603.592525    409.100772                    
+V 26   2314.162739   1811.212883  32586.647924      -.124921                    
+P 27  18205.941900   8062.387481  18294.859620    920.240872                    
+V 27 -20719.087486   7875.867959  17107.349799       .042001                    
+P 28  21254.933258   8446.725590 -13574.277150     21.984233                    
+V 28  10546.601871  14029.353075  24606.646065       .016284                    
+P 29  10898.193386 -23227.304445   7019.078537    230.202900                    
+V 29    -37.586202   8830.696946  30483.977109       .032286                    
+P 30 -18137.593514 -19408.482258  -1891.100239    806.276838                    
+V 30   3799.041848   -875.553561 -31172.054046       .141717                    
+P 31  -3364.624170  25977.662067  -3451.373413     42.245055                    
+V 31  -4593.227867   3091.546092  31020.933443       .306101                    
+*  2004  3  1 22 15   .00000000                                                 
+P  1    387.410174  24971.529042   9168.775833    332.730727                    
+V  1  -4647.898307  10596.460674 -29239.607088       .020870                    
+P  3 -11715.863603  20545.642401  11763.792939     90.142305                    
+V  3  -1275.696505 -15560.547018  25921.744709       .030721                    
+P  4  25985.504421  -4923.825938  -3884.140409    -77.489508                    
+V  4  -3988.303073   3802.250331 -31044.865633      -.092092                    
+P  5  -6565.049739 -20194.523606 -16175.859368     19.901988                    
+V  5  17406.315803  10725.367010 -20441.606891       .015883                    
+P  6  -7923.162977 -20001.107072  15673.203789     -1.434442                    
+V  6   6158.468494 -18875.384927 -21358.834078      -.010687                    
+P  7  15735.860322   -878.636290 -20965.477082    611.123534                    
+V  7  -3878.156597  27396.243854  -4149.154502      -.078853                    
+P  8  24320.363154    824.862802  10814.951967    354.695650                    
+V  8 -12774.845112   5924.731292  27464.769307      -.088590                    
+P  9   3797.702647 -16898.699893 -20463.308941    -32.512092                    
+V  9  24083.521416  -7427.727895  11211.828995      -.018600                    
+P 10  10282.176007 -10588.162722  22035.411464     40.214523                    
+V 10  20669.102149  18939.777573   -271.613659       .006548                    
+P 11  -1235.629354  17506.569597 -19911.064214    100.091767                    
+V 11 -23960.752983   8919.480206   9468.421779       .025486                    
+P 13   8741.212089  17140.703821  18305.070646    -30.884648                    
+V 13  -6139.805458  22447.982673 -17970.151000       .002515                    
+P 14 -15355.018599   2431.562170 -21485.426770    -18.168712                    
+V 14   5174.262641 -26862.884852  -6710.168372      -.001331                    
+P 15 -26109.827283   3419.252741   4124.511613    233.402671                    
+V 15   4768.180015  -3598.939911  31187.267717       .053679                    
+P 16 -14278.518641   7158.032808  21294.314164     15.249026                    
+V 16 -19601.872459 -18385.538841  -6978.628214      -.003939                    
+P 17  11494.424207 -15140.690847  18392.082167    208.718398                    
+V 17  23155.619219  -2837.150008 -17690.848026       .195904                    
+P 18 -19618.886181 -18021.098439  -1384.482398    -15.636231                    
+V 18    505.171685  -3048.162958  31630.062872      -.026769                    
+P 20  10139.675544  20952.475610 -12863.445578   -183.897134                    
+V 20 -13558.039323  -9156.743271 -25733.445828       .027690                    
+P 21 -18419.417438  -7898.618641  17571.489842     73.130086                    
+V 21  21097.409775  -7334.182551  18376.011335       .005689                    
+P 22 -21408.060788  -9023.491111 -12667.358752    -39.461111                    
+V 22  -9863.441092 -13269.534930  25828.479580       .086890                    
+P 24  21808.084031 -12382.946467   9155.316004      8.378869                    
+V 24  11344.017343   -851.612033 -29046.872911       .030684                    
+P 25 -24760.669371   9450.355615  -1152.641524     61.778797                    
+V 25    451.422610  -3854.702985 -31352.060770       .007982                    
+P 26   7937.563618 -24707.284070   3522.212826    409.089637                    
+V 26   1591.172327   5334.331953  32174.313732      -.124915                    
+P 27  16285.356176   8846.149728  19681.120007    920.244901                    
+V 27 -21881.529385   9548.875132  13656.097141       .041956                    
+P 28  22143.524408   9592.868615 -11249.796579     21.985907                    
+V 28   9124.400449  11445.310590  26973.425002       .016301                    
+P 29  10883.571064 -22284.604320   9694.739744    230.206314                    
+V 29   -214.389761  12097.354068  28891.098391       .032283                    
+P 30 -17681.580772 -19390.664539  -4672.477758    806.289553                    
+V 30   6368.033084   1213.240785 -30548.632493       .141690                    
+P 31  -3743.029604  26109.210242   -637.431519     42.272512                    
+V 31  -3877.864725   -190.728014  31419.924309       .306113                    
+*  2004  3  1 22 30   .00000000                                                 
+P  1     24.071100  25787.844734   6466.170601    332.732070                    
+V  1  -3485.505151   7497.311880 -30732.857489       .020725                    
+P  3 -11850.417058  19021.068119  13987.048612     90.144888                    
+V  3  -1770.510606 -18270.578787  23411.897643       .030557                    
+P  4  25488.759851  -4521.755020  -6637.511275    -77.497970                    
+V  4  -7009.155111   5189.518886 -30054.753656      -.092113                    
+P  5  -4896.091017 -19210.732743 -17873.295571     19.902577                    
+V  5  19649.942862  11064.555068 -17225.728496       .015998                    
+P  6  -7426.478487 -21601.907335  13622.292417     -1.436312                    
+V  6   4916.863907 -16631.131898 -24152.957492      -.010704                    
+P  7  15443.546227   1607.827482 -21150.554379    611.116457                    
+V  7  -2601.662704  27768.041238     41.702617      -.078860                    
+P  8  23055.633968   1432.137754  13187.285463    354.688094                    
+V  8 -15265.838340   7610.251697  25177.192904      -.088617                    
+P  9   5891.759225 -17599.482745 -19285.587880    -32.512906                    
+V  9  22387.394238  -8089.232149  14926.160769      -.018504                    
+P 10  12180.942001  -8942.320101  21820.780266     40.215806                    
+V 10  21451.049873  17577.084773  -4489.460570       .007236                    
+P 11  -3325.735598  18332.766569 -18889.628936    100.093925                    
+V 11 -22425.534704   9386.384526  13198.113293       .025496                    
+P 13   8262.340135  19079.009181  16534.889885    -30.884335                    
+V 13  -4531.790201  20544.315702 -21310.256126       .002503                    
+P 14 -14950.906880    -24.514907 -21901.904383    -18.168605                    
+V 14   3779.624992 -27626.915255  -2531.410715      -.001334                    
+P 15 -25538.765764   3039.864117   6888.220910    233.407837                    
+V 15   7882.860160  -4891.448875  30140.489670       .053606                    
+P 16 -16052.868082   5577.251186  20486.020291     15.248896                    
+V 16 -19749.058870 -16702.243206 -10957.958353      -.003954                    
+P 17  13480.017745 -15428.235294  16643.993817    208.735660                    
+V 17  20903.269732  -3493.321676 -21102.411009       .195898                    
+P 18 -19462.306885 -18188.317740   1465.918507    -15.638127                    
+V 18   3021.449797   -719.171510  31622.359586      -.026765                    
+P 20   8800.785869  20080.818146 -15062.603511   -183.894495                    
+V 20 -16184.396263 -10134.747409 -23067.106147       .027701                    
+P 21 -16453.880490  -8634.437637  19070.874457     73.130424                    
+V 21  22499.228807  -9029.848155  14894.470448       .005703                    
+P 22 -22226.825619 -10100.800239 -10239.360405    -39.453566                    
+V 22  -8255.811400 -10680.158169  28048.155896       .086869                    
+P 24  22684.475407 -12441.639412   6470.838456      8.381853                    
+V 24   8118.846336   -379.450710 -30524.441410       .030779                    
+P 25 -24584.898675   9034.149811  -3956.211142     61.780447                    
+V 25   3418.868013  -5450.522783 -30859.090558       .007848                    
+P 26   8064.641076 -24068.069524   6377.583830    409.078106                    
+V 26   1306.270385   8862.007218  31182.863637      -.124908                    
+P 27  14281.694498   9781.319789  20746.146587    920.249377                    
+V 27 -22563.570012  11226.300086   9977.943318       .041908                    
+P 28  22884.158991  10509.135393  -8733.095615     21.987326                    
+V 28   7263.894295   8936.202512  28872.651676       .016316                    
+P 29  10872.439132 -21054.974907  12204.836951    230.209347                    
+V 29     36.057518  15191.062824  26810.496132       .032278                    
+P 30 -16986.527277 -19201.303586  -7374.304405    806.301815                    
+V 30   9097.443460   2929.085239 -29407.179746       .141671                    
+P 31  -4074.139612  25940.715549   2187.668059     42.300227                    
+V 31  -3545.234014  -3560.029153  31267.764936       .306130                    
+*  2004  3  1 22 45   .00000000                                                 
+P  1   -251.335638  26313.989769   3652.614710    332.733939                    
+V  1  -2701.043311   4163.287453 -31701.285525       .020667                    
+P  3 -12043.935150  17266.799613  15965.675583     90.147972                    
+V  3  -2577.504739 -20652.276925  20493.669841       .030412                    
+P  4  24732.469777  -3980.291106  -9278.715648    -77.506054                    
+V  4  -9743.259147   6890.353054 -28555.564765      -.092136                    
+P  5  -3035.017879 -18215.484881 -19267.693240     19.903106                    
+V  5  21661.853268  10984.908129 -13716.774087       .016198                    
+P  6  -7030.329811 -22983.597785  11337.909646     -1.436793                    
+V  6   3934.783539 -14016.892405 -26539.364094      -.010594                    
+P  7  15269.136934   4103.168248 -20958.169443    611.109420                    
+V  7  -1272.691745  27592.403640   4225.954173      -.078867                    
+P  8  21585.009296   2200.758720  15333.640819    354.680380                    
+V  8 -17340.762089   9497.095765  22449.688472      -.088650                    
+P  9   7816.942729 -18343.821535 -17783.578425    -32.513558                    
+V  9  20341.955068  -8386.506910  18407.954215      -.018474                    
+P 10  14129.199317  -7433.405249  21229.925322     40.217525                    
+V 10  21761.369424  15910.781029  -8620.156216       .007801                    
+P 11  -5262.309442  19185.634929 -17542.129365    100.095841                    
+V 11 -20560.123917   9504.279774  16703.746059       .025505                    
+P 13   7918.859859  20824.881662  14480.301021    -30.884206                    
+V 13  -3144.421890  18181.217789 -24281.357057       .002487                    
+P 14 -14678.081230  -2524.761228 -21939.749067    -18.168929                    
+V 14   2271.962321 -27840.862785   1691.706281      -.001341                    
+P 15 -24699.228867   2528.863351   9534.215129    233.411950                    
+V 15  10720.662720  -6514.394297  28574.523624       .053490                    
+P 16 -17818.680606   4157.666067  19327.475285     15.248818                    
+V 16 -19407.877360 -14817.907360 -14750.936881      -.003975                    
+P 17  15246.384508 -15757.958340  14604.164033    208.753850                    
+V 17  18297.070010  -3765.678894 -24163.616565       .195881                    
+P 18 -19067.676007 -18160.719875   4291.422637    -15.640995                    
+V 18   5782.332955   1271.292501  31077.619307      -.026785                    
+P 20   7229.827313  19142.354218 -17003.715289   -183.892064                    
+V 20 -18699.380103 -10642.263445 -20007.331590       .027711                    
+P 21 -14384.671517  -9524.911768  20244.524944     73.131020                    
+V 21  23397.789518 -10756.081541  11147.445552       .005704                    
+P 22 -22881.040157 -10949.019599  -7633.414549    -39.445608                    
+V 22  -6213.211812  -8193.882933  29777.332159       .086844                    
+P 24  23268.680840 -12438.081864   3676.373997      8.384089                    
+V 24   4867.164616    530.939057 -31487.033329       .030776                    
+P 25 -24152.917691   8459.959293  -6691.108428     61.781204                    
+V 25   6131.829361  -7355.909019 -29827.469363       .007656                    
+P 26   8185.807696 -23115.289203   9118.236143    409.066954                    
+V 26   1457.862563  12284.229356  29628.724348      -.124902                    
+P 27  12238.398610  10864.450970  21472.029349    920.252562                    
+V 27 -22763.306665  12822.659514   6129.206503       .041854                    
+P 28  23439.047494  11206.277199  -6067.629495     21.988864                    
+V 28   5004.647980   6589.861406  30275.160444       .016331                    
+P 29  10901.926865 -19558.153970  14507.131765    230.212287                    
+V 29    681.457449  18020.373353  24280.211290       .032259                    
+P 30 -16041.769493 -18875.728074  -9950.870653    806.314015                    
+V 30  11902.417993   4235.544104 -27769.350672       .141652                    
+P 31  -4392.948513  25468.730263   4974.175146     42.326989                    
+V 31  -3604.549622  -6918.460177  30562.928862       .306148                    
+*  2004  3  1 23  0   .00000000                                                 
+P  1   -474.510030  26533.015405    776.259231    332.735532                    
+V  1  -2329.078011    688.751310 -32126.014166       .020598                    
+P  3 -12322.014508  15315.601534  17665.218433     90.149971                    
+V  3  -3638.994086 -22636.334731  17219.298332       .030288                    
+P  4  23745.702452  -3273.985926 -11762.946625    -77.514557                    
+V  4 -12120.166404   8840.967876 -26571.093085      -.092158                    
+P  5  -1006.264662 -17244.908391 -20335.270286     19.904489                    
+V  5  23363.833648  10523.777198  -9973.135169       .016521                    
+P  6  -6708.725553 -24115.936054   8858.734293     -1.438168                    
+V  6   3268.622494 -11102.620555 -28475.109520      -.010546                    
+P  7  15213.394372   6558.116676 -20392.394804    611.102573                    
+V  7     20.778415  26872.636687   8326.545715      -.078876                    
+P  8  19948.276984   3145.164343  17216.339380    354.672779                    
+V  8 -18950.243483  11501.993158  19326.101298      -.088696                    
+P  9   9544.994731 -19096.680276 -15980.945434    -32.516590                    
+V  9  18019.603375  -8271.840273  21596.881221      -.018489                    
+P 10  16082.727863  -6084.874577  20273.888001     40.218721                    
+V 10  21563.608596  14028.171515 -12593.102406       .008004                    
+P 11  -7018.806106  20031.841547 -15891.519254    100.098376                    
+V 11 -18436.572588   9232.842372  19924.055046       .025518                    
+P 13   7687.486168  22339.777246  12176.835831    -30.883671                    
+V 13  -2051.869837  15423.536854 -26833.022877       .002473                    
+P 14 -14542.570948  -5018.998987 -21598.266230    -18.169288                    
+V 14    743.742933 -27493.081151   5885.871648      -.001345                    
+P 15 -23619.653376   1859.231246  12016.750934    233.415792                    
+V 15  13205.334467  -8404.962840  26512.709949       .053471                    
+P 16 -19531.114128   2913.379846  17838.383657     15.248346                    
+V 16 -18561.580087 -12821.915610 -18292.987494      -.003997                    
+P 17  16765.411452 -16093.194496  12306.843829    208.771924                    
+V 17  15421.892952  -3609.878333 -26815.009276       .195863                    
+P 18 -18416.604312 -17971.195986   7044.048728    -15.643671                    
+V 18   8705.701847   2871.944573  30005.118001      -.026783                    
+P 20   5441.025599  18178.901333 -18653.691921   -183.889636                    
+V 20 -21010.273441 -10694.016531 -16606.696467       .027723                    
+P 21 -12257.745251 -10568.739296  21071.313476     73.132342                    
+V 21  23781.388404 -12422.552500   7197.185959       .005701                    
+P 22 -23333.552052 -11581.426294  -4895.023862    -39.438083                    
+V 22  -3782.748677  -5898.167320  30987.375238       .086828                    
+P 24  23562.669712 -12333.325505    819.223628      8.387492                    
+V 24   1685.527237   1865.536946 -31914.875416       .031018                    
+P 25 -23491.020042   7702.719548  -9309.396240     61.782025                    
+V 25   8516.868751  -9506.419836 -28270.867017       .007422                    
+P 26   8339.518988 -21863.291805  11694.702801    409.056397                    
+V 26   2024.221206  15493.909415  27539.900959      -.124897                    
+P 27  10198.362912  12084.433799  21846.058116    920.256249                    
+V 27 -22494.772077  14253.657929   2169.028399       .041801                    
+P 28  23774.670614  11702.575165  -3299.096544     21.990107                    
+V 28   2401.687901   4485.277983  31160.302910       .016351                    
+P 29  11005.501291 -17821.719107  16563.127825    230.215693                    
+V 29   1673.025776  20503.033455  21345.219772       .032244                    
+P 30 -14844.498311 -18451.790390 -12358.774900    806.326772                    
+V 30  14693.809569   5113.104360 -25664.685155       .141637                    
+P 31  -4734.471816  24698.683545   7672.673932     42.353874                    
+V 31  -4047.034391 -10167.300685  29314.408521       .306173                    
+*  2004  3  1 23 15   .00000000                                                 
+P  1   -683.459405  26436.750436  -2113.457908    332.739932                    
+V  1  -2386.129022  -2826.202932 -31997.391164       .020496                    
+P  3 -12704.521802  13205.863813  19056.217678     90.151309                    
+V  3  -4885.781633 -24167.448723  13647.381471       .030189                    
+P  4  22563.286153  -2383.680998 -14047.898346    -77.522357                    
+V  4 -14082.708818  10965.801564 -24133.067270      -.092187                    
+P  5   1159.099365 -16331.111280 -21057.683688     19.905230                    
+V  5  24687.119620   9732.853411  -6057.137904       .016859                    
+P  6  -6431.210585 -24975.485645   6226.986688     -1.439452                    
+V  6   2960.828218  -7969.153923 -29924.574924      -.010280                    
+P  7  15269.231913   8924.587180 -19464.149385    611.095759                    
+V  7   1192.946586  25631.630033  12268.664195      -.078884                    
+P  8  18188.923022   4271.947843  18801.988741    354.666014                    
+V  8 -20061.748791  13534.428197  15857.732085      -.088754                    
+P  9  11054.603553 -19819.409182 -13906.637664    -32.517814                    
+V  9  15501.863255  -7712.959560  24436.026872      -.018332                    
+P 10  17994.843741  -4912.020347  18969.921302     40.219121                    
+V 10  20839.640600  12022.767517 -16341.048802       .008158                    
+P 11  -8575.540906  20835.094866 -13966.060443    100.100780                    
+V 11 -16134.783376   8546.902003  22802.529082       .025532                    
+P 13   7538.835902  23591.629621   9664.241068    -30.883248                    
+V 13  -1315.031925  12349.923991 -28922.144701       .002462                    
+P 14 -14542.031316  -7456.883537 -20883.347170    -18.169151                    
+V 14   -712.044635 -26591.525243   9978.260450      -.001348                    
+P 15 -22334.778689   1010.204488  14292.582943    233.420268                    
+V 15  15273.519294 -10487.371054  23987.178576       .053567                    
+P 16 -21144.639942   1850.316749  16044.084450     15.247868                    
+V 16 -17211.731022 -10806.030596 -21523.647729      -.004015                    
+P 17  18017.089129 -16394.079167   9791.352788    208.788936                    
+V 17  12372.375211  -2999.496747 -29003.655521       .195836                    
+P 18 -17498.467746 -17656.532953   9677.039603    -15.645771                    
+V 18  11701.642157   4047.750839  28422.745913      -.026789                    
+P 20   3456.719696  17230.148770 -19984.436346   -183.886821                    
+V 20 -23030.071523 -10322.394391 -12923.400911       .027735                    
+P 21 -10119.295883 -11756.470205  21535.913348     73.132892                    
+V 21  23656.439410 -13939.115644   3110.194065       .005700                    
+P 22 -23552.167520 -12018.745699  -2071.847583    -39.430599                    
+V 22  -1027.151576  -3870.542331  31659.047538       .086813                    
+P 24  23576.985838 -12090.509194  -2051.919742      8.390608                    
+V 24  -1332.668305   3592.079425 -31796.892643       .031152                    
+P 25 -22631.554548   6743.748770 -11764.809842     61.781237                    
+V 25  10513.316583 -11825.096297 -26212.770153       .007222                    
+P 26   8561.400334 -20335.764438  14060.538158    409.044818                    
+V 26   2964.412816  18391.340028  24955.405230      -.124893                    
+P 27   8202.516784  13422.738974  21860.951203    920.259929                    
+V 27 -21787.483542  15439.204199  -1841.198861       .041750                    
+P 28  23863.081232  12022.913956   -474.664948     21.991730                    
+V 28   -476.573302   2689.772901  31516.073746       .016371                    
+P 29  11211.573158 -15880.126809  18338.656455    230.218632                    
+V 29   2947.577180  22568.874476  18056.568257       .032221                    
+P 30 -13399.997994 -17968.317219 -14557.606909    806.339345                    
+V 30  17381.464040   5559.653919 -23130.011761       .141625                    
+P 31  -5132.129501  23644.779945  10235.035405     42.381230                    
+V 31  -4846.105596 -13210.914243  27541.798596       .306203                    
+*  2004  3  1 23 30   .00000000                                                 
+P  1   -916.833903  26026.151826  -4966.658079    332.741833                    
+V  1  -2869.891981  -6279.452094 -31315.316802       .020146                    
+P  3 -13204.685802  10980.243504  20114.730511     90.155179                    
+V  3  -6240.073954 -25206.389935   9841.710189       .030204                    
+P  4  21224.517691  -1297.446004 -16094.463370    -77.529871                    
+V  4 -15589.052877  13180.284754 -21280.760480      -.092221                    
+P  5   3424.340643 -15500.979054 -21422.342125     19.908186                    
+V  5  25575.004820   8676.119075  -2034.111966       .017203                    
+P  6  -6164.208081 -25546.467574   3487.733888     -1.440649                    
+V  6   3038.066368  -4705.304396 -30860.237840      -.010007                    
+P  7  15422.078381  11157.398327 -18190.924430    611.089011                    
+V  7   2163.886147  23910.785041  15981.324158      -.078896                    
+P  8  16352.551541   5579.360054  20062.123149    354.658445                    
+V  8 -20660.907029  15500.135819  12102.629177      -.088830                    
+P  9  12332.098601 -20471.213230 -11594.532124    -32.521350                    
+V  9  12876.502756  -6694.696455  26872.973246      -.018206                    
+P 10  19818.084192  -3921.578675  17341.139408     40.220577                    
+V 10  19590.335506   9990.566745 -19801.167386       .008326                    
+P 11  -9920.258777  21557.566791 -11798.847201    100.103396                    
+V 11 -13739.421469   7437.629492  25288.459875       .025546                    
+P 13   7438.734130  24555.963710   6985.787395    -30.883594                    
+V 13   -979.144937   9049.895465 -30513.625832       .002449                    
+P 14 -14665.867140  -9789.660436 -19807.366922    -18.169399                    
+V 14  -2005.668132 -25163.467588  13897.828380      -.001352                    
+P 15 -20884.372097    -31.679130  16321.741516    233.426794                    
+V 15  16877.207700 -12675.663343  21038.525718       .053680                    
+P 16 -22614.700488    966.168856  13975.135174     15.247321                    
+V 16 -15378.305916  -8860.832422 -24387.576541      -.004037                    
+P 17  18990.229266 -16619.237936   7101.426840    208.806623                    
+V 17   9249.261134  -1927.602537 -30684.579099       .195812                    
+P 18 -16310.963106 -17255.891671  12145.626063    -15.648200                    
+V 18  14675.725568   4781.138040  26356.735017      -.026793                    
+P 20   1306.697037  16332.126654 -20973.306171   -183.883979                    
+V 20 -24680.783075  -9576.035559  -9020.290452       .027745                    
+P 21  -8014.128236 -13070.684452  21629.136187     73.133211                    
+V 21  23047.320122 -15219.401300  -1043.806870       .005702                    
+P 22 -23510.953065 -12288.122542    787.155457    -39.422803                    
+V 22   1977.638789  -2175.683718  31782.727573       .086798                    
+P 24  23330.305298 -11676.463861  -4887.774766      8.393132                    
+V 24  -4100.672609   5660.998943 -31131.146110       .031199                    
+P 25 -21611.661385   5571.748076 -14013.634856     61.781741                    
+V 25  12075.733081 -14225.358160 -23686.320501       .007216                    
+P 26   8882.593775 -18564.878549  16173.270272    409.033837                    
+V 26   4220.113755  20888.341014  21924.353621      -.124904                    
+P 27   6288.470082  14853.928759  21515.030310    920.263419                    
+V 27 -20685.490953  16306.346563  -5838.456738       .041698                    
+P 28  23682.998125  12197.621869   2357.805899     21.993337                    
+V 28  -3550.873208   1256.647403  31339.107446       .016395                    
+P 29  11542.313765 -13773.512784  19804.382438    230.221325                    
+V 29   4430.109418  24162.217217  14470.466157       .032190                    
+P 30 -11721.588354 -17463.546067 -16510.574051    806.351989                    
+V 30  19877.510441   5590.317454 -20208.775569       .141610                    
+P 31  -5616.181272  22329.547544  12615.365138     42.409056                    
+V 31  -5958.343594 -15960.596949  25275.107035       .306236                    
+*  2004  3  1 23 45   .00000000                                                 
+P  1  -1212.224821  25311.315654  -7733.890274    332.744421                    
+V  1  -3759.197324  -9570.667917 -30089.405752       .019796                    
+P  3 -13828.468196   8684.149283  20822.741947     90.157557                    
+V  3  -7618.737632 -25731.417834   5870.006902       .030073                    
+P  4  19771.710009    -11.250907 -17867.389977    -77.538887                    
+V  4 -16614.209817  15393.971646 -18060.489251      -.092251                    
+P  5   5748.248463 -14775.178233 -21422.632399     19.909510                    
+V  5  25985.028300   7427.339625   2028.593089       .017538                    
+P  6  -5872.500173 -25821.333599    688.130676     -1.441251                    
+V  6   3509.986995  -1404.599326 -31263.324468      -.009686                    
+P  7  15650.562181  13215.861337 -16596.373138    611.082317                    
+V  7   2862.934293  21768.170277  19398.803318      -.078913                    
+P  8  14485.216150   7057.138267  20973.772613    354.650222                    
+V  8 -20752.146863  17304.822663   8124.712472      -.088913                    
+P  9  13371.870300 -21010.744654  -9082.979354    -32.523259                    
+V  9  10234.332464  -5220.061610  28860.913226      -.017962                    
+P 10  21505.920315  -3111.675132  15416.075450     40.220776                    
+V 10  17835.506929   8026.294771 -22916.015950       .008484                    
+P 11 -11048.416156  22161.392968  -9427.240152    100.105784                    
+V 11 -11336.631950   5913.084378  27337.898190       .025559                    
+P 13   7349.708301  25216.725852   4187.522489    -30.883374                    
+V 13  -1072.012362   5620.494553 -31580.930933       .002441                    
+P 14 -14895.691449 -11971.863096 -18388.966857    -18.169499                    
+V 14  -3054.298415 -23254.466525  17576.574329      -.001354                    
+P 15 -19311.757676  -1271.808763  18068.273648    233.431372                    
+V 15  17985.634733 -14876.969705  17715.315749       .053462                    
+P 16 -23899.344880    250.661638  11666.808147     15.247091                    
+V 16 -13099.099048  -7072.201019 -26835.490916      -.004056                    
+P 17  19682.835432 -16727.581231   4284.441774    208.823949                    
+V 17   6155.376541   -407.510323 -31822.076115       .195796                    
+P 18 -14860.359601 -16809.205314  14407.761040    -15.650537                    
+V 18  17532.466724   5072.555997  23841.270937      -.026820                    
+P 20   -972.753923  15515.830076 -21603.485183   -183.881092                    
+V 20 -25896.391392  -8517.807086  -4963.811603       .027755                    
+P 21  -5984.073922 -14486.491143  21348.171124     73.133915                    
+V 21  21995.525877 -16184.332842  -5193.017282       .005700                    
+P 22 -23191.296755 -12421.852285   3632.595068    -39.414450                    
+V 22   5145.382299   -863.029829  31358.440797       .086790                    
+P 24  22848.687611 -11063.201539  -7639.308608      8.395780                    
+V 24  -6541.686125   8007.055368 -29925.134889       .031298                    
+P 25 -20471.812024   4183.518861 -16015.560144     61.783478                    
+V 25  13175.788431 -16614.373961 -20733.917339       .007260                    
+P 26   9328.305012 -16590.084860  17995.258488    409.022653                    
+V 26   5718.224847  22911.880777  18504.769916      -.124906                    
+P 27   4489.266480  16346.425666  20812.336420    920.267575                    
+V 27 -19245.935112  16792.040769  -9758.789613       .041652                    
+P 28  23220.654380  12261.123730   5150.538422     21.994933                    
+V 28  -6733.996948    223.382840  30634.558821       .016416                    
+P 29  12012.722967 -11546.300086  20936.226718    230.224419                    
+V 29   6036.783196  25243.726683  10647.350212       .032163                    
+P 30  -9830.274878 -16973.604861 -18185.064165    806.364854                    
+V 30  22099.542389   5236.668279 -16950.303835       .141603                    
+P 31  -6212.283453  20783.049152  14770.921403     42.436640                    
+V 31  -7325.219000 -18338.186263  22554.283722       .306267                    
+EOF
diff --git a/trunk/tests/data/partials.dat b/trunk/tests/data/partials.dat
new file mode 100644
index 0000000..a355b0e
--- /dev/null
+++ b/trunk/tests/data/partials.dat
@@ -0,0 +1,18 @@
+t=GEN r=15 c=13
+:::
+ -1.9e+03 -3.7e+01  2.0e+03 -3.8e+03 -1.9e+02  0.0e+00  0.0e+00 -9.1e+01  5.7e+00  2.1e+03  8.9e+01 -5.1e+03 -2.5e+02
+ -1.8e+03 -6.2e+00  2.2e+03 -3.9e+03 -1.9e+02  0.0e+00  0.0e+00 -9.1e+01  5.7e+00  2.1e+03  8.9e+01 -5.1e+03 -2.5e+02
+  2.6e+03  5.7e+02 -9.4e+02 -2.5e+00  0.0e+00  1.1e+02  3.1e-01 -2.0e+02  0.0e+00  6.4e+01 -1.9e+02 -1.7e+02  5.2e+02
+  2.0e+03 -2.1e+03 -1.7e+03  0.0e+00  0.0e+00 -9.1e+01  5.7e+00  2.1e+03  8.9e+01 -5.1e+03 -2.5e+02  1.3e-15 -2.9e-15
+  3.0e+01  2.0e+02  2.9e+03  0.0e+00  0.0e+00  1.8e+03  8.9e+01 -5.1e+03 -2.5e+02  1.3e-15 -2.9e-15 -2.7e-15  8.1e-15
+ -8.2e+00 -3.4e-01  4.2e+00  0.0e+00  0.0e+00  1.2e+00  0.0e+00 -3.8e+00 -1.5e-01  3.1e+01  4.1e-01  8.2e+01 -1.2e-19
+  3.7e+02  2.3e+02 -9.6e+01  0.0e+00  0.0e+00  0.0e+00  0.0e+00 -3.2e+01 -7.3e-01 -6.1e+01  7.8e+00  8.2e+02  3.3e+01
+ -1.5e+03 -2.8e+02  1.4e+02  0.0e+00  0.0e+00  0.0e+00  0.0e+00  6.8e+02  3.3e+01  1.2e+03  5.7e+01 -3.1e+03 -1.5e+02
+ -1.7e-01 -9.2e-01  1.7e-01  0.0e+00  0.0e+00  0.0e+00  0.0e+00  4.3e-01  0.0e+00  5.8e-01 -5.4e-02 -2.3e+00 -9.5e-02
+  1.7e+01 -5.5e+01  1.5e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00 -3.3e+01 -8.2e-01 -6.3e+01  8.1e+00
+  1.0e+02  6.0e+02 -1.0e+02  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  7.3e+02  3.5e+01  1.2e+03  6.1e+01
+ -3.8e-01 -2.9e-01  1.5e-01  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  4.6e-01  0.0e+00  6.1e-01 -5.7e-02
+ -2.6e+01 -1.9e+01  1.0e+01  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00 -3.0e+01 -2.7e-01
+  2.1e+02  1.6e+02 -8.3e+01  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  6.4e+02  3.1e+01
+  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  0.0e+00  4.1e-01  0.0e+00
+
diff --git a/trunk/tests/data/positiontest.ref b/trunk/tests/data/positiontest.ref
new file mode 100644
index 0000000..4e92d1e
--- /dev/null
+++ b/trunk/tests/data/positiontest.ref
@@ -0,0 +1,84 @@
+Position()  Unknown system! : 0 0 0
+Test set...() and transformTo
+Position.set        to Cartesian  -1575232.0141 m -4707872.2332 m 3993198.4383 m
+Transform Cartesian to Geodetic   39.00000419 degN 251.50000000 degE 1400.0091 m  Error : 4.36397e-007 m
+Transform Cartesian to Geocentric 38.81195851 degN 251.50000000 degE 6371110.6277 m  Error : 3.38708e-007 m
+Transform Cartesian to Spherical  51.18804149 deg 251.50000000 deg 6371110.6277 M  Error : 3.38708e-007 m
+Position.set         to Geodetic  39.00000419 degN 251.50000000 degE 1400.0091 m
+Transform Geodetic to Cartesian   -1575232.0141 m -4707872.2332 m 3993198.4383 m  Error : 0 m
+Transform Geodetic to Geocentric  38.81195851 degN 251.50000000 degE 6371110.6277 m  Error : 1.29053e-007 m
+Transform Geodetic to Spherical   51.18804149 deg 251.50000000 deg 6371110.6277 M  Error : 1.29053e-007 m
+Position.set        to Geocentric 38.81195851 degN 251.50000000 degE 6371110.6277 m
+Transform Geocentric to Cartesian -1575232.0141 m -4707872.2332 m 3993198.4383 m  Error : 0 m
+Transform Geocentric to Geodetic  39.00000419 degN 251.50000000 degE 1400.0091 m  Error : 1.18945e-007 m
+Transform Geocentric to Spherical 51.18804149 deg 251.50000000 deg 6371110.6277 M  Error : 0 m
+Position.set      to Spherical    51.18804149 deg 251.50000000 deg 6371110.6277 M
+Transform Spherical to Cartesian  -1575232.0141 m -4707872.2332 m 3993198.4383 m  Error : 0 m
+Transform Spherical to Geocentric 38.81195851 degN 251.50000000 degE 6371110.6277 m  Error : 0 m
+Transform Spherical to Geodetic   39.00000419 degN 251.50000000 degE 1400.0091 m  Error : 1.18945e-007 m
+
+Test printf and the indicated 'get()' functions
+-1575232.0141     X() (meters)
+-4707872.2332     Y() (meters)
+ 3993198.4383     Z() (meters)
+   -1575.2320     X()/1000 (kilometers)
+   -4707.8722     Y()/1000 (kilometers)
+    3993.1984     Z()/1000 (kilometers)
+      39.000004   geodeticLatitude() (degrees North)
+      38.811959   geocentricLatitude() (degrees North)
+     251.500000   longitude() (degrees East)
+     251.500000   longitude() (degrees East)
+     108.500000   longitude() (degrees West)
+     108.500000   longitude() (degrees West)
+      51.188041   theta() (degrees)
+       0.893400   theta() (radians)
+     251.500000   phi() (degrees)
+       4.389503   phi() (radians)
+ 6371110.6277     radius() meters
+    6371.1106     radius()/1000 kilometers
+    1400.0091     height() meters
+       1.4000     height()/1000 kilometers
+
+Test setToString and equality operators
+System: Geodetic
+Original    39.00000419 degN 251.50000000 degE 1400.0091 m
+string      39.00000419 degN 251.50000000 degE 1400.0091 m
+setToString 39.00000419 degN 251.50000000 degE 1400.0091 m Error 0.00036341 m
+ equality: == but not !=
+
+System: Geocentric
+Original    38.81195851 degN 251.50000000 degE 6371110.6277 m
+string      38.81195851 degN 251.50000000 degE 6371110.6277 m
+setToString 38.81195851 degN 251.50000000 degE 6371110.6277 m Error 0.000431592 m
+ equality: == but not !=
+
+System: Cartesian
+Original    -1575232.0141 m -4707872.2332 m 3993198.4383 m
+string      -1575232.0141 m -4707872.2332 m 3993198.4383 m
+setToString -1575232.0141 m -4707872.2332 m 3993198.4383 m Error 0 m
+ equality: == but not !=
+
+System: Spherical
+Original    51.18804149 deg 251.50000000 deg 6371110.6277 M
+string      51.18804149 deg 251.50000000 deg 6371110.6277 M
+setToString 51.18804149 deg 251.50000000 deg 6371110.6277 M Error 0.000431592 m
+ equality: == but not !=
+
+The IPP at 38.81195851 degN 251.50000000 degE 6371110.6277 m (90,0,350000) is
+           38.81195851 degN 251.50000000 degE 6728137.0000 m Geocentric
+
+Try to break it at the pole
+The pole 0.0000 m 0.0000 m 6371110.6277 m
+The pole in geodetic   90.00000000 degN 0.00000000 degE 14358.3135 m
+The pole in geocentric 90.00000000 degN 0.00000000 degE 6371110.6277 m
+The pole in spherical  0.00000000 deg 0.00000000 deg 6371110.6277 M
+The pole in cartesian  0.0000 m 0.0000 m 6371110.6277 m
+The pole in geocentric 90.00000000 degN 0.00000000 degE 6371110.6277 m
+The pole in geodetic   90.00000000 degN 0.00000000 degE 14358.3135 m
+The pole in cartesian  0.0000 m 0.0000 m 6371110.6277 m
+The pole in spherical  0.00000000 deg 0.00000000 deg 6371110.6277 M
+The pole in geodetic   90.00000000 degN 0.00000000 degE 14358.3135 m
+The pole in spherical  0.00000000 deg 0.00000000 deg 6371110.6277 M
+The pole in geocentric 90.00000000 degN 0.00000000 degE 6371110.6277 m
+The pole in cartesian  0.0000 m 0.0000 m 6371110.6277 m
+Tests complete.
diff --git a/trunk/tests/data/squ.dat b/trunk/tests/data/squ.dat
new file mode 100644
index 0000000..da8525c
--- /dev/null
+++ b/trunk/tests/data/squ.dat
@@ -0,0 +1,7 @@
+t=SQU r=5 c=5
+:::
+1.0   1.345  2.827  4.201 -0.4281
+2.188 2.0    0.8234 8.291 -0.723
+0.488   1.345  3.0  0.831 -0.32
+-0.009   6.205  -0.948 4.0  1.92
+2.8348  -1.2834 -0.873  2.834 5.8309
diff --git a/trunk/tests/data/stringutiltest.ref b/trunk/tests/data/stringutiltest.ref
new file mode 100644
index 0000000..5dda28a
--- /dev/null
+++ b/trunk/tests/data/stringutiltest.ref
@@ -0,0 +1,45 @@
+Standard hex dump:
+0000: 00 10 30 33 30 31 30 35  3a 65 70 68 20 3a 30 3a    ..030105:eph :0:
+0010: 35 32 36 34 30 2e 33 33  33 34 30 32 37 37 37 37    52640.3334027777
+0020: 37 37 37 38 42 72 69 61  6e 20 69 73 20 61 20 68    7778Brian is a h
+0030: 6f 73 65 72 32 35 39 32  35 39 32 34 20 32 20 35    oser25925924 2 5
+0040: 32 36 34 30 2e 33 33 38  38 33 36 33 34 32 35 39    2640.33883634259
+0050: 32 35 39 33 20 32 20 38  35 34 31 32 20 31 20 31    2593 2 85412 1 1
+0060: 20 30 20 31 20 31 20 34  20 32 20 34 20 30 20 30     0 1 1 4 2 4 0 0
+0070: 20 33 20 31 31 39 39 20  32 32 63 30 61 66 30 33     3 1199 22c0af03
+0080: 20 31 37 37 30 32 39 65  34 20 61 66 34 30 30 31     177029e4 af4001
+0090: 66 20 65 36 31 62 35 38  61 20 35 35 66 33 37 35    f e61b58a 55f375
+00a0: 30 20 34 63 63 61 38 38  37 20 31 31 35 64 37 63    0 4cca887 115d7c
+00b0: 66 63 20 33 61 64 32 30  34 38 61 20 63 65 61 20    fc 3ad2048a cea 
+00c0: 33 36 32 63 34 38 20 31  31 39 39 20 32 32 63 30    362c48 1199 22c0
+00d0: 61 66 30 33 20 31 37 37  30 34 61 37 34 20 33 61    af03 17704a74 3a
+00e0: 63 34 36 36 63 31 20 62  64 30 63 36 64 63 20 33    c466c1 bd0c6dc 3
+00f0: 39 31 62 33 37 38 33 20  33 65 30 34 30 63 66 85    91b3783 3e040cf.
+
+Alternate hex dump:
+      00000000:  0010 3033 3031 3035 3A65 7068 203A 303A '..030105:eph :0:'
+      00000010:  3532 3634 302E 3333 3334 3032 3737 3737 '52640.3334027777'
+      00000020:  3737 3738 4272 6961 6E20 6973 2061 2068 '7778Brian is a h'
+      00000030:  6F73 6572 3235 3932 3539 3234 2032 2035 'oser25925924 2 5'
+      00000040:  3236 3430 2E33 3338 3833 3633 3432 3539 '2640.33883634259'
+      00000050:  3235 3933 2032 2038 3534 3132 2031 2031 '2593 2 85412 1 1'
+      00000060:  2030 2031 2031 2034 2032 2034 2030 2030 ' 0 1 1 4 2 4 0 0'
+      00000070:  2033 2031 3139 3920 3232 6330 6166 3033 ' 3 1199 22c0af03'
+      00000080:  2031 3737 3032 3965 3420 6166 3430 3031 ' 177029e4 af4001'
+      00000090:  6620 6536 3162 3538 6120 3535 6633 3735 'f e61b58a 55f375'
+      000000A0:  3020 3463 6361 3838 3720 3131 3564 3763 '0 4cca887 115d7c'
+      000000B0:  6663 2033 6164 3230 3438 6120 6365 6120 'fc 3ad2048a cea '
+      000000C0:  3336 3263 3438 2031 3139 3920 3232 6330 '362c48 1199 22c0'
+      000000D0:  6166 3033 2031 3737 3034 6137 3420 3361 'af03 17704a74 3a'
+      000000E0:  6334 3636 6331 2062 6430 6336 6463 2033 'c466c1 bd0c6dc 3'
+      000000F0:  3931 6233 3738 3320 3365 3034 3063 6685 '91b3783 3e040cf.'
+
+Above using printable():
+^@^P030105:eph :0:52640.33340277777778Brian is a hoser25925924 2 52640.338836342592593 2 85412 1 1 0 1 1 4 2 4 0 0 3 1199 22c0af03 177029e4 af4001f e61b58a 55f3750 4cca887 115d7cfc 3ad2048a cea 362c48 1199 22c0af03 17704a74 3ac466c1 bd0c6dc 391b3783 3e040cf<85>
+Original: 1234567890
+       This is a very long sentence that
+     will get cut up into lines with a
+     maximum length of 40 characters,
+     each line indented by a few spaces.
+
+All other Tests Passed.
diff --git a/trunk/tests/data/sym.dat b/trunk/tests/data/sym.dat
new file mode 100644
index 0000000..8eeb1cd
--- /dev/null
+++ b/trunk/tests/data/sym.dat
@@ -0,0 +1,6 @@
+t=SYM r=4 c=4
+:::
+10.0
+1.345  9.8234
+2.827  8.291  13.0
+4.201 -0.723  0.831  9.009
diff --git a/trunk/tests/data/tmatrix.dat b/trunk/tests/data/tmatrix.dat
new file mode 100644
index 0000000..547eb98
--- /dev/null
+++ b/trunk/tests/data/tmatrix.dat
@@ -0,0 +1,15 @@
+#A 'standard' Matrix file musthave one row per line, and must
+#start with the type and dimension of the Matrix, i.e.:
+#        type=GEN rows=12 columns=14
+# or abbreviated:
+#        t=GEN r=12 c=14
+#Types are GEN SQU SYM UPT LOW DIA
+#Notice the order: type, rows, columns, and that characters are lowercase,
+#comments follow '#' signs to the end of line,
+#and lines with data must follow a line with 3 colons (:::).
+t=GEN r=4 c=5
+:::
+1.0   1.345  2.827  4.201 -0.4281
+2.188 2.0    0.8234 8.291 -0.723
+0.488   1.345  3.0  0.831 -0.32
+-0.009   6.205  -0.948 4.0  1.92
diff --git a/trunk/tests/data/ut.dat b/trunk/tests/data/ut.dat
new file mode 100644
index 0000000..9cf2903
--- /dev/null
+++ b/trunk/tests/data/ut.dat
@@ -0,0 +1,6 @@
+t=UPT r=4 c=4
+:::
+1.834  2.837  3.223  4.808
+5.8374  6.774  7.0831
+8.2374  9.1182
+10.838
diff --git a/trunk/tests/daytimetest.cpp b/trunk/tests/daytimetest.cpp
new file mode 100644
index 0000000..70c9862
--- /dev/null
+++ b/trunk/tests/daytimetest.cpp
@@ -0,0 +1,78 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/daytimetest.cpp#3 $"
+//
+// test the daytime implementation
+//
+
+#include <iostream>
+
+#include "StringUtils.hpp"
+#include "DayTime.hpp"
+#include "GPSZcount.hpp"
+
+using namespace std;
+using namespace gpstk::StringUtils;
+
+/// prints the given daytime with the given format
+void dtft(ostream& s, const gpstk::DayTime& t, const string& fmt)
+{
+   string fs = fmt;
+   string p = t.printf(fmt.c_str());
+
+   s << leftJustify(fs, 30) << " " 
+     << p << endl;
+}
+
+/// returns 0 if all tests pass
+int main()
+{
+   using gpstk::DayTime;
+   
+   try
+   {
+      cout << "BOT:" << DayTime(gpstk::DayTime::BEGINNING_OF_TIME) << endl;
+      cout << "EOT:" << DayTime(gpstk::DayTime::END_OF_TIME) << endl;
+     
+      DayTime dt;
+      dt.setSystemTime();
+      cout << "Check that the output matches the current UTC time." << endl
+           << "string                         printf()" << endl;
+
+      dtft(cout, dt, "mjd:  %Q (%.0Q)");
+      dtft(cout, dt, "mjd:  %5.3Q");
+      dtft(cout, dt, "mdy:  %02m/%02d/%04Y");
+      dtft(cout, dt, "hms:  %02H:%02M:%02S");
+      dtft(cout, dt, "hms:  %02H:%02M:%06.3f");
+      dtft(cout, dt, "cal:  %A, %B %d, %Y");
+      dtft(cout, dt, "week: %F(%G)");
+      dtft(cout, dt, "sow:  %g");
+      dtft(cout, dt, "sow:  %06.3g");
+      dtft(cout, dt, "doy:  %j:%s");
+      dtft(cout, dt, "dow:  %w");
+      dtft(cout, dt, "z:    %Z (%z)");
+      dtft(cout, dt, "unix: %U.%06u");
+
+      cout << endl
+           << "The following functions use DayTime::setToString()" << endl;
+
+      string format = "%02m/%02d/%04Y %02H:%02M:%02S";
+      string st = dt.printf(format);
+
+      DayTime q;
+      q.setToString(st, format);
+      dtft(cout, q, format);
+
+      cout << "Tests complete." << endl;
+      return 0;
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(...)
+   {
+      cout << "Some other exception thrown..." << endl;
+   }
+
+   cout << "Exiting with exceptions." << endl;
+   return -1;
+}
diff --git a/trunk/tests/delFileSpecTestDirs.pl b/trunk/tests/delFileSpecTestDirs.pl
new file mode 100755
index 0000000..814a45b
--- /dev/null
+++ b/trunk/tests/delFileSpecTestDirs.pl
@@ -0,0 +1,25 @@
+#!/usr/bin/perl -w
+# $Id: //depot/sgl/gpstk/dev/tests/delFileSpecTestDirs.pl#1 $
+#
+#
+# This script eliminates the set of dummy files and directories created
+# by genFileSpecTestDirs. The dummy files/directories are used while
+# running FileSpecTest but are unnecessary afterwards.
+#
+
+for ($stn = 401; $stn <= 403; $stn++)
+{
+    $stnDir = sprintf("fstest/ADMS%03i/RINEXOBS", $stn);
+    
+    for ($year = 1; $year <= 2; $year++)
+    {
+
+        for ($day = 50; $day <= 53; $day++)
+        {
+            $stnFile = $stnDir . sprintf("/S%02i1%03iA.%02iO", substr($stn,1,2), $day, $year);
+            # print "$stnFile\n";
+             `rm $stnFile`;
+        }
+    }
+ `rmdir -p $stnDir`;
+}
diff --git a/trunk/tests/exceptiontest.cpp b/trunk/tests/exceptiontest.cpp
new file mode 100755
index 0000000..d2766fe
--- /dev/null
+++ b/trunk/tests/exceptiontest.cpp
@@ -0,0 +1,50 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/exceptiontest.cpp#2 $"
+
+#include <iostream>
+#include <string>
+
+#include "Exception.hpp"
+
+/**
+ * @file exceptiontest.cpp
+ * tests gpslib::Exception
+ */
+
+using namespace std;
+
+class TestException
+{
+public:
+   NEW_EXCEPTION_CLASS(TE, gpstk::Exception);
+
+   int foo;
+
+   void funcie() throw(TE)
+   {
+      try {
+         foo=1;
+         if (foo-1==0)
+         {
+            TE e("Blarfo");
+            e.addLocation(FILE_LOCATION);
+            throw e;
+         }
+         foo=4;
+      } catch (TE& e) {
+         e.addText("Ja mon");
+            e.addLocation(FILE_LOCATION);
+         throw;
+      }
+   }
+};
+
+// returns 0 if all tests pass
+int main()
+{
+   TestException a;
+   try {
+      a.funcie();
+   } catch (gpstk::Exception& e) {
+      cout << "main " << e;
+   }
+}
diff --git a/trunk/tests/genFileSpecTestDirs.pl b/trunk/tests/genFileSpecTestDirs.pl
new file mode 100755
index 0000000..ea70cc9
--- /dev/null
+++ b/trunk/tests/genFileSpecTestDirs.pl
@@ -0,0 +1,30 @@
+#!/usr/bin/perl -w
+#
+# "$Id: //depot/sgl/gpstk/dev/tests/genFileSpecTestDirs.pl#1 $"
+#
+# This script generates a set of dummy files and directories for
+# running FileSpecTest. They are in the form of 
+#     fstest/ADMS###/RINEXOBS/S##1###A.##O
+
+for($stn = 401; $stn <= 403; $stn++)
+{
+    $stnDir = sprintf("fstest/ADMS%03i", $stn);
+    `mkdir -p $stnDir`;
+    $stnDir .= "/RINEXOBS";
+    `mkdir $stnDir`;
+    $stnDir .= sprintf("/S%02i1", substr($stn,1,2));
+    for ($year = 1; $year <= 2; $year++)
+    {
+	for ($day = 50; $day <= 53; $day++)
+	{
+	    $thisFile = $stnDir . sprintf("%03iA.%02iO", $day, $year);
+	    print "$thisFile\n";
+	    `touch $thisFile`;
+	}
+    }
+
+#    for ($num = 1; $num <= 5; $num++)
+#    {
+#	`touch $num`;
+#    }
+}
diff --git a/trunk/tests/gpszcounttest.cpp b/trunk/tests/gpszcounttest.cpp
new file mode 100755
index 0000000..d5b010f
--- /dev/null
+++ b/trunk/tests/gpszcounttest.cpp
@@ -0,0 +1,182 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/gpszcounttest.cpp#5 $"
+
+/**
+ * @file gpszcounttest.cpp
+ * A set of tests for the GPSZcount class.
+ * tests gpslib::GPSZcount
+ */
+
+#include <limits>
+#include "GPSZcount.hpp"
+#include "CommandOptionParser.hpp"
+
+using namespace std;
+using namespace gpstk;
+
+bool failure = false;
+int verboseLevel = 0;
+void say(const string& foo);
+void process(bool result);
+
+//
+// returns zero if all tests pass
+//
+int main (int argc, char *argv[])
+{
+      // take care of command line options
+   CommandOptionNoArg hOption('h', "help", "Display this helpful information.",
+                              false);
+   CommandOptionNoArg vOption('v', "verbose", "Increase the verbosity.", 
+                              false);
+   CommandOptionNoArg qOption('q', "quiet", "Only issue a return code.", 
+                              false);
+   CommandOptionParser cop("GPSZcount Test Suite");
+   cop.parseOptions(argc, argv);
+   if (cop.hasErrors())
+   {
+      cop.dumpErrors(cout);
+      cop.displayUsage(cout);
+      return 1;
+   }
+   
+   if(hOption.getCount())
+   {
+      cop.displayUsage(cout);
+      return 0;
+   }
+   
+   verboseLevel = vOption.getCount();
+   
+   try
+   {
+         // Proceed with testing
+      GPSZcount one, two;
+      
+      say("Equality Test: ");
+      process (one == two);
+      
+      say("Assignment Test 1: ");
+      one = GPSZcount(1000, 5);
+      process(one.getWeek() == 1000 &&
+              one.getZcount() == 5);
+      
+      say("Assignment Test 2: ");
+      try
+      {
+            // this should throw an exception
+         one.setZcount(GPSZcount::ZCOUNT_WEEK);
+            // if we get here, it failed
+         process(false);
+      }
+      catch (InvalidParameter& ip)
+      {
+         process(true);
+      }
+      
+      say("Addition Test: ");
+      one += GPSZcount::ZCOUNT_WEEK + 5 ;
+      process(one.getWeek() == 1001 &&
+              one.getZcount() == 10) ;
+      
+      say("Subtraction Test: ");
+      one -= GPSZcount::ZCOUNT_WEEK + 5 ;
+      process(one.getWeek() == 1000 &&
+              one.getZcount() == 5) ;
+      
+      say("Invalid Week Test 1: ");
+      one.setWeek(numeric_limits<short>::max());
+      try
+      {
+            // this should throw an exception
+         one += GPSZcount::ZCOUNT_WEEK;
+            // if we get here, it failed
+         process(false); 
+      }
+      catch (InvalidRequest& ir)
+      {
+         process(true);
+      }
+      
+      say("Invalid Week Test 2: " );
+      one.setWeek(0);
+      try
+      {
+            // this should throw an exception
+         one -= GPSZcount::ZCOUNT_WEEK;
+            // if we get here, it failed
+         process(false);
+      }
+      catch (InvalidRequest& ir)
+      {
+         process(true);
+      }
+      
+      say("Less-Than Test: ");
+      one.setWeek(1000).setZcount(GPSZcount::ZCOUNT_WEEK / 2) ;
+      two = one + 5 ;
+      process(two >= one) ;
+      
+      say("Greater-Than Test: ") ;
+      two = one - 5 ;
+      process(two <= one) ;
+
+      say("SameTimeBlock Test 1: ") ;
+         // set one to be at 4:20 and two at 4:00
+      one.setWeek(1200).setZcount(4 * GPSZcount::ZCOUNT_HOUR 
+                                  + 20 * GPSZcount::ZCOUNT_MINUTE) ;
+      two.setWeek(1200).setZcount(4 * GPSZcount::ZCOUNT_HOUR) ;
+         // test if one and two are between 4:00 and 5:00
+      process(one.inSameTimeBlock(two, GPSZcount::ZCOUNT_HOUR)) ;
+      
+      say("SameTimeBlock Test 2: ") ;
+         // test if one and two are NOT between 4:20 and 4:21
+      process(! one.inSameTimeBlock(two, GPSZcount::ZCOUNT_MINUTE)) ;
+
+      say("SameTimeBlock Test 3: ") ;
+         // test if one and two are NOT between 4:15 and 5:15
+      process(! one.inSameTimeBlock(two, GPSZcount::ZCOUNT_HOUR, 
+                                    15 * GPSZcount::ZCOUNT_MINUTE)) ;
+      
+      say("Dump Test: ") ;
+      if (verboseLevel)
+      {
+         cout << endl << one << endl;
+         one.dump(cout, 1);
+      }
+
+      say("String Test: ");
+      one.setWeek(1200).setZcount(123456);
+      process(string(one) == string("1200w123456z"));
+      
+      if (qOption.getCount() == 0)
+      {
+            // Display the overall results
+         cout << "GPSZcount Overall results: " 
+              << (failure ? "Fail" : "Pass") << endl;
+      }
+      
+      return failure ? 1 : 0 ;
+   }
+   catch(gpstk::Exception& exc)
+   {
+      cout << endl << endl << "Caught a " << exc.getName() << " exception:" 
+           << endl << exc << endl ;
+      return 1 ;
+   }
+}
+
+void say(const string& foo)
+{
+   if (verboseLevel)
+      cout << foo << flush;
+}
+
+void process(bool result)
+{
+   failure |= !result;
+
+   if(verboseLevel)
+   {
+      cout << (result ? "Pass" : "Fail")  << endl;
+   }
+}
diff --git a/trunk/tests/petest.cpp b/trunk/tests/petest.cpp
new file mode 100755
index 0000000..b16e985
--- /dev/null
+++ b/trunk/tests/petest.cpp
@@ -0,0 +1,102 @@
+#include <iostream>
+#include <iomanip>
+#include <string>
+#include <map>
+
+#include "DayTime.hpp"
+#include "SP3Stream.hpp"
+#include "SP3Data.hpp"
+#include "SP3Header.hpp"
+#include "SP3EphemerisStore.hpp"
+
+/**
+ * @file petest.cpp
+ *
+ */
+
+using namespace std;
+
+int main(int argc, char *argv[])
+{
+   if (argc<2) {
+      cout << "Usage: petest <SP3-format files ...>\n";
+      return -1;
+   }
+
+   try
+   {
+      int i,ip,it,nf=0,np=0,nt=0;
+      gpstk::SP3EphemerisStore EphList;
+      for(i=1; i<argc; i++) {
+         gpstk::SP3Header header;
+         gpstk::SP3Data data;
+         // you can't open, close, and reopen a file w/o abort on second open...
+         gpstk::SP3Stream pefile;
+         pefile.exceptions(ifstream::failbit);
+         cout << "Reading SP3 file " << argv[i] << "." << endl;
+         pefile.open(argv[i],ios::in);
+
+         pefile >> header;
+         //cout << "Dump header:\n";
+         //header.dump(cout);
+         //cout << endl;
+
+         ip = it = 0;
+         gpstk::DayTime t(gpstk::DayTime::BEGINNING_OF_TIME);
+         while(pefile >> data) {
+            if(data.time > t) {
+               //cout << "Epoch " << data.time << endl;
+               t = data.time;
+               it++; nt++;
+            }
+            //data.dump(cout);
+            ip++; np++;
+         }
+         cout << "\nDone with file " << argv[i] << ": read "
+              << ip << " P/V records and " << it << " epochs." << endl;
+         pefile.close();
+         nf++;
+
+         // add to store
+         EphList.loadFile(string(argv[i]));
+      }
+      cout << "\nDone with " << nf << " files: read "
+           << np << " P/V records and " << nt << " epochs." << endl;
+
+      //EphList.dump(2);
+
+      unsigned long ref;
+      // choose a time tag within the data....
+      gpstk::DayTime tt(2004,2,29,3,0,0.0);
+      gpstk::Xvt PVT;
+      for(i=0; i<300; i++) {
+         tt += 30.0;
+         PVT = EphList.getPrnXvt(31,tt);
+
+         if (false) 
+            cout << "LI " << tt << " P " << fixed
+                 << setw(13) << setprecision(6) << PVT.x[0] << " "
+                 << setw(13) << setprecision(6) << PVT.x[1] << " "
+                 << setw(13) << setprecision(6) << PVT.x[2] << " "
+                 << setw(13) << setprecision(6) << PVT.dtime
+                 << " V "
+                 << setw(13) << setprecision(6) << PVT.v[0] << " "
+                 << setw(13) << setprecision(6) << PVT.v[1] << " "
+                 << setw(13) << setprecision(6) << PVT.v[2] << " "
+                 << setw(13) << setprecision(6) << PVT.ddtime
+                 << endl;
+      }
+   }
+   catch (gpstk::Exception& e)
+   {
+      cout << e;
+      exit(-1);
+   }
+   catch (...)
+   {
+      cout << "Caught an unknown exception" << endl;
+      exit(-1);
+   }
+
+   return 0;
+}
diff --git a/trunk/tests/positiontest.cpp b/trunk/tests/positiontest.cpp
new file mode 100755
index 0000000..f0c5d2b
--- /dev/null
+++ b/trunk/tests/positiontest.cpp
@@ -0,0 +1,232 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/positiontest.cpp#4 $"
+/**
+ * @file positiontest.cpp  Test the Position module
+ *
+ */
+
+#include <iostream>
+#include <iomanip>
+#include "Position.hpp"
+
+using namespace std;
+using namespace gpstk;
+using namespace gpstk::StringUtils;
+
+int main()
+{
+   try
+   {
+      int i;
+      Position c,s,d,g;
+      cout << "Position() " << c << endl;
+
+      // test transformTo
+      cout << "Test set...() and transformTo\n";
+      {
+         c.setECEF(-1575232.0141,-4707872.2332, 3993198.4383);
+         cout << "Position.set        to Cartesian  " << c << endl;
+         Position t(c);
+         t.transformTo(Position::Geodetic);
+         cout << "Transform Cartesian to Geodetic   " << t;
+         cout << "  Error : " << range(t,c) << " m" << endl;
+         t = c;
+         t.transformTo(Position::Geocentric);
+         cout << "Transform Cartesian to Geocentric " << t;
+         cout << "  Error : " << range(t,c) << " m" << endl;
+         t = c;
+         t.transformTo(Position::Spherical);
+         cout << "Transform Cartesian to Spherical  " << t;
+         cout << "  Error : " << range(t,c) << " m" << endl;
+      }
+      {
+         d.setGeodetic(39.000004186778,251.499999999370,1400.009066903964);
+         cout << "Position.set         to Geodetic  " << d << endl;
+         Position t(d);
+         t.transformTo(Position::Cartesian);
+         cout << "Transform Geodetic to Cartesian   " << t;
+         cout << "  Error : " << range(t,d) << " m" << endl;
+         t = d;
+         t.transformTo(Position::Geocentric);
+         cout << "Transform Geodetic to Geocentric  " << t;
+         cout << "  Error : " << range(t,d) << " m" << endl;
+         t = d;
+         t.transformTo(Position::Spherical);
+         cout << "Transform Geodetic to Spherical   " << t;
+         cout << "  Error : " << range(t,d) << " m" << endl;
+      }
+      {
+         g.setGeocentric(38.811958506159,251.499999999370,6371110.627671023800);
+         cout << "Position.set        to Geocentric " << g << endl;
+         Position t(g);
+         t.transformTo(Position::Cartesian);
+         cout << "Transform Geocentric to Cartesian " << t;
+         cout << "  Error : " << range(t,g) << " m" << endl;
+         t = g;
+         t.transformTo(Position::Geodetic);
+         cout << "Transform Geocentric to Geodetic  " << t;
+         cout << "  Error : " << range(t,g) << " m" << endl;
+         t = g;
+         t.transformTo(Position::Spherical);
+         cout << "Transform Geocentric to Spherical " << t;
+         cout << "  Error : " << range(t,g) << " m" << endl;
+      }
+      {
+         s.setSpherical(51.188041493841,251.499999999370,6371110.627671023800);
+         cout << "Position.set      to Spherical    " << s << endl;
+         Position t(s);
+         t.transformTo(Position::Cartesian);
+         cout << "Transform Spherical to Cartesian  " << t;
+         cout << "  Error : " << range(t,s) << " m" << endl;
+         t = s;
+         t.transformTo(Position::Geocentric);
+         cout << "Transform Spherical to Geocentric " << t;
+         cout << "  Error : " << range(t,s) << " m" << endl;
+         t = s;
+         t.transformTo(Position::Geodetic);
+         cout << "Transform Spherical to Geodetic   " << t;
+         cout << "  Error : " << range(t,s) << " m" << endl;
+      }
+
+      // test printf
+      cout << "\nTest printf and the indicated 'get()' functions\n";
+      cout << c.printf("%13.4x     X() (meters)") << endl;
+      cout << c.printf("%13.4y     Y() (meters)") << endl;
+      cout << c.printf("%13.4z     Z() (meters)") << endl;
+      cout << c.printf("%13.4X     X()/1000 (kilometers)") << endl;
+      cout << c.printf("%13.4Y     Y()/1000 (kilometers)") << endl;
+      cout << c.printf("%13.4Z     Z()/1000 (kilometers)") << endl;
+      cout << c.printf("%15.6A   geodeticLatitude() (degrees North)") << endl;
+      cout << c.printf("%15.6a   geocentricLatitude() (degrees North)") << endl;
+      cout << c.printf("%15.6L   longitude() (degrees East)") << endl;
+      cout << c.printf("%15.6l   longitude() (degrees East)") << endl;
+      cout << c.printf("%15.6w   longitude() (degrees West)") << endl;
+      cout << c.printf("%15.6W   longitude() (degrees West)") << endl;
+      cout << c.printf("%15.6t   theta() (degrees)") << endl;
+      cout << c.printf("%15.6T   theta() (radians)") << endl;
+      cout << c.printf("%15.6p   phi() (degrees)") << endl;
+      cout << c.printf("%15.6P   phi() (radians)") << endl;
+      cout << c.printf("%13.4r     radius() meters") << endl;
+      cout << c.printf("%13.4R     radius()/1000 kilometers") << endl;
+      cout << c.printf("%13.4h     height() meters") << endl;
+      cout << c.printf("%13.4H     height()/1000 kilometers") << endl;
+
+      // test setToString
+      cout << "\nTest setToString and equality operators\n";
+      string fmt[5]={
+         "",
+         "%A degN %L degE %h m",
+         "%a degN %L degE %r m",
+         "%x m %y m %z m",
+         "%t deg %p deg %r M"};
+      for(i=1; i<5; i++) {
+         string str;
+         Position t(c),tt;
+         t.transformTo(static_cast<Position::CoordinateSystem>(i));
+         {
+            ostringstream o;
+            o << t;
+            str = o.str();
+         }
+         tt.setToString(str,fmt[i]);
+         cout << "System: " << t.getSystemName() << endl;
+         cout << "Original    " << t << endl;
+         cout << "string      " << str << endl;
+         cout << "setToString " << tt
+            << " Error " << range(tt,t) << " m" << endl;
+         cout << " equality: " << (t==tt ? "==" : "not ==");
+         cout << " but " << (t!=tt ? "!=" : "not !=") << endl;
+         cout << endl;
+      }
+
+      // test elevation and azimuth
+      cout << "Elevation and azimth" << fixed << endl;
+      c.setECEF(-1575232.0141,-4707872.2332, 3993198.4383);
+      s.setECEF(3*6371110.62767,0,0);
+      cout << setw(6) << setprecision(2) << c.elevation(s)
+         << " " << setw(6) << setprecision(2) << c.azimuth(s) << endl;
+      // compare with functions from Triple::
+      cout << setw(6) << setprecision(2) << c.elvAngle(s)
+         << " " << setw(6) << setprecision(2) << c.azAngle(s) << endl;
+      cout << endl;
+
+      // test IPP
+      cout << "The IPP at " << g << " (90,0,350000) is\n"
+           << "           " << g.getIonosphericPiercePoint(90,0,350000)
+           << " " << g.getSystemName() << endl << endl;
+
+      // test ALL transforms with pole
+      // X -> D -> C -> S -> X -> C -> D -> X -> S -> D -> S -> C -> X
+      cout << "Try to break it at the pole\n";
+      c.setECEF(0,0,6371110.6277);
+      //c.setECEF(0,0,0.0001);         // this will break it
+      cout << "Set to the pole in cartesian : " << c << endl;
+      c.transformTo(Position::Geodetic);
+      cout << "The pole in geodetic   " << c << endl;
+      c.transformTo(Position::Geocentric);
+      cout << "The pole in geocentric " << c << endl;
+      c.transformTo(Position::Spherical);
+      cout << "The pole in spherical  " << c << endl;
+      c.transformTo(Position::Cartesian);
+      cout << "The pole in cartesian  " << c << endl;
+      c.transformTo(Position::Geocentric);
+      cout << "The pole in geocentric " << c << endl;
+      c.transformTo(Position::Geodetic);
+      cout << "The pole in geodetic   " << c << endl;
+      c.transformTo(Position::Cartesian);
+      cout << "The pole in cartesian  " << c << endl;
+      c.transformTo(Position::Spherical);
+      cout << "The pole in spherical  " << c << endl;
+      c.transformTo(Position::Geodetic);
+      cout << "The pole in geodetic   " << c << endl;
+      c.transformTo(Position::Spherical);
+      cout << "The pole in spherical  " << c << endl;
+      c.transformTo(Position::Geocentric);
+      cout << "The pole in geocentric " << c << endl;
+      c.transformTo(Position::Cartesian);
+      cout << "The pole in cartesian  " << c << endl;
+
+      // test ALL transforms with origin
+      // X -> D -> C -> S -> X -> C -> D -> X -> S -> D -> S -> C -> X
+      cout << endl << "Try to break it at the origin\n";
+      c.setECEF(0,0,0);
+      cout << "Set to the origin in cartesian : " << c << endl;
+      c.transformTo(Position::Geodetic);
+      cout << "The origin in geodetic   " << c << endl;
+      c.transformTo(Position::Geocentric);
+      cout << "The origin in geocentric " << c << endl;
+      c.transformTo(Position::Spherical);
+      cout << "The origin in spherical  " << c << endl;
+      c.transformTo(Position::Cartesian);
+      cout << "The origin in cartesian  " << c << endl;
+      c.transformTo(Position::Geocentric);
+      cout << "The origin in geocentric " << c << endl;
+      c.transformTo(Position::Geodetic);
+      cout << "The origin in geodetic   " << c << endl;
+      c.transformTo(Position::Cartesian);
+      cout << "The origin in cartesian  " << c << endl;
+      c.transformTo(Position::Spherical);
+      cout << "The origin in spherical  " << c << endl;
+      c.transformTo(Position::Geodetic);
+      cout << "The origin in geodetic   " << c << endl;
+      c.transformTo(Position::Spherical);
+      cout << "The origin in spherical  " << c << endl;
+      c.transformTo(Position::Geocentric);
+      cout << "The origin in geocentric " << c << endl;
+      c.transformTo(Position::Cartesian);
+      cout << "The origin in cartesian  " << c << endl;
+
+      cout << "Tests complete." << endl;
+      return 0;
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+   catch(...)
+   {
+      cout << "Some other exception thrown..." << endl;
+   }
+
+   cout << "Exiting with exceptions." << endl;
+   return -1;
+}
diff --git a/trunk/tests/rinex_met_livetest.pl b/trunk/tests/rinex_met_livetest.pl
new file mode 100644
index 0000000..fdb0d5d
--- /dev/null
+++ b/trunk/tests/rinex_met_livetest.pl
@@ -0,0 +1,60 @@
+#!/usr/bin/perl
+#
+# Live Rinex Test
+# 
+# >>rinex_met_live <development directory> <met, obs, or nav (m,o,n)> <download directory>
+#
+#
+
+
+
+
+$dir=$ARGV[0];
+$dir =~ s/^-//;
+$devdir=$dir."/gpstk/dev/tests";
+
+$L=$ARGV[1];
+$L =~ s/^-//;
+
+$dldir=$ARGV[2];
+$dldir =~ s/^-//;
+if((-e $dldir)==o)
+{
+   $dldir=$devdir;
+}
+
+#print "PRE DL\n";
+
+system "$devdir/Rinex_dl.pl $L $dldir";
+print "POST DL\n";
+
+print "Current Directory: ";
+system "pwd";
+
+chdir "$dldir/NewRinexData-$L";
+
+print "New Directory: ";
+system "pwd";
+
+mkdir "Rinex_out-$L";
+$newdir=$dldir."/Rinex_out-".$L;
+
+#print "\n!!$newdir!!\n";
+
+ at all_files= glob "*";
+
+#print "!!@all_files\n!!";
+#print "BEFORE\n";
+
+chdir "$newdir";
+
+foreach(@all_files)
+{
+  # print "INSIDE\n";
+   $out=$_.".out";
+  # print "$out\n";
+   system "$devdir/rinex_met_test $_>$out";
+   print "Ran $_ Test\n";
+}
+
+#print "AFTER\n";
diff --git a/trunk/tests/rinex_met_read_write.cpp b/trunk/tests/rinex_met_read_write.cpp
new file mode 100644
index 0000000..f9c5581
--- /dev/null
+++ b/trunk/tests/rinex_met_read_write.cpp
@@ -0,0 +1,61 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/rinex_met_read_write.cpp#1 $"
+
+/**
+ * @file rinex_met_read_write.cpp
+ * tests gpslib::RinexMetData, gpslib::RinexMetHeader and gpslib::RinexMetStream.
+ */
+
+#include "RinexMetBase.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetHeader.hpp"
+#include "RinexMetStream.hpp"
+
+using namespace std;
+
+/// Returns 0 on success. The input file and output file should diff
+/// without errors.
+main(int argc, char *argv[])
+{
+   if (argc<3)
+   {
+      cout << "rinex_met_read_write inputfile outputfile" << endl;
+      exit(-1);
+   }
+
+   try
+   {
+      cout << "Reading " << argv[1] << endl;
+      gpstk::RinexMetStream roffs(argv[1]);
+      cout << "Writing " << argv[2] << endl;
+      gpstk::RinexMetStream out(argv[2],ios::out);
+//      out.exceptions(fstream::failbit);
+      gpstk::RinexMetHeader roh;
+      gpstk::RinexMetData roe;
+
+
+
+      roffs >> roh;
+      out << roh;
+      roh.dump(cout);
+
+      while (roffs >> roe)
+      {
+         out << roe;
+      }
+
+      cout << "done" << endl;
+      exit(0);
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e;
+      exit(1);
+   }
+   catch (...)
+   {
+      cout << "unknown error.  Done." << endl;
+      exit(1);
+   }
+
+   exit(0);
+} // main()
diff --git a/trunk/tests/rinex_met_test.cpp b/trunk/tests/rinex_met_test.cpp
new file mode 100644
index 0000000..429e3d9
--- /dev/null
+++ b/trunk/tests/rinex_met_test.cpp
@@ -0,0 +1,57 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/rinex_met_test.cpp#1 $"
+
+#include "RinexMetBase.hpp"
+#include "RinexMetData.hpp"
+#include "RinexMetHeader.hpp"
+#include "RinexMetStream.hpp"
+
+/**
+ * @file rinex_met_test.cpp
+ * Tests gpslib::RinexMetStream, gpslib::RinexMetData, gpslib::RinexMetHeader.
+ */
+
+using namespace std;
+
+/// returns 0 if successful.
+main(int argc, char *argv[])
+{
+   if (argc<2)
+   {
+      cout << "Gimme a rinex obs to chew on!  Exiting." << endl;
+      exit(-1);
+   }
+
+   try
+   {
+      cout << "Reading " << argv[1] << "." << endl;
+
+      gpstk::RinexMetStream roffs(argv[1]);
+
+         // reading the header data isn't necessary
+//      gpstk::RinexMetHeader roh;
+      gpstk::RinexMetData roe;
+
+      roffs.exceptions(fstream::failbit);
+
+//      roffs >> roh;
+//      roh.dump(cout);
+
+      while (roffs >> roe)
+      {}
+
+      cout << "done" << endl;
+      exit(0);
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e;
+      exit(1);
+   }
+   catch (...)
+   {
+      cout << "unknown error.  Done." << endl;
+      exit(1);
+   }
+
+   exit(0);
+} // main()
diff --git a/trunk/tests/rinex_nav_read_write.cpp b/trunk/tests/rinex_nav_read_write.cpp
new file mode 100644
index 0000000..e276512
--- /dev/null
+++ b/trunk/tests/rinex_nav_read_write.cpp
@@ -0,0 +1,59 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/rinex_nav_read_write.cpp#1 $"
+
+/**
+ * @file rinex_nav_read_write.cpp
+ * tests gpslib::RinexNavStream, gpslib::RinexNavData, gpslib::RinexNavHeader.
+ */
+
+#include "RinexNavBase.hpp"
+#include "RinexNavData.hpp"
+#include "RinexNavHeader.hpp"
+#include "RinexNavStream.hpp"
+
+using namespace std;
+
+/// Returns 0 on success, and input and output files should diff without error.
+main(int argc, char *argv[])
+{
+   if (argc<2)
+   {
+      cout << "rinex_nav_read_write inputfile outputfile" << endl;
+      exit(-1);
+   }
+
+   try
+   {
+      cout << "Reading " << argv[1] << endl;
+      gpstk::RinexNavStream rnffs(argv[1]);
+      cout << "Writing " << argv[2] << endl;
+      gpstk::RinexNavStream out(argv[2], ios::out);
+      gpstk::RinexNavHeader rnh;
+      gpstk::RinexNavData rne;
+      
+      rnffs >> rnh;
+      out << rnh;
+      rnh.dump(cout);
+
+      int i = 0;
+      while (rnffs >> rne)
+      {
+         out << rne;
+         i++;
+      }
+
+      cout << "Read " << i << " records.  Done."  << endl;
+      exit(0);
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e;
+      exit(1);
+   }
+   catch (...)
+   {
+      cout << "unknown error.  Done." << endl;
+      exit(1);
+   }
+
+   exit(0);
+} // main()
diff --git a/trunk/tests/rinex_nav_test.cpp b/trunk/tests/rinex_nav_test.cpp
new file mode 100644
index 0000000..9690bd3
--- /dev/null
+++ b/trunk/tests/rinex_nav_test.cpp
@@ -0,0 +1,58 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/rinex_nav_test.cpp#2 $"
+
+/**
+ * @file rinex_nav_test.cpp
+ * tests gpslib::RinexNavStream, gpslib::RinexNavData, gpslib::RinexNavHeader.
+ */
+
+//#include "RinexNavBase.hpp"
+#include "RinexNavStream.hpp"
+#include "RinexNavData.hpp"
+#include "RinexMetStream.hpp"
+
+using namespace std;
+
+/// Returns 0 when successful.
+main(int argc, char *argv[])
+{
+   if (argc<2)
+   {
+      cout << "Gimme a rinex nav to chew on!  Exiting." << endl;
+      exit(-1);
+   }
+
+   try
+   {
+      cout << "Reading " << argv[1] << "." << endl;
+
+      gpstk::RinexNavStream rnffs(argv[1]);
+      gpstk::RinexNavHeader rnh;
+      gpstk::RinexNavData rne;
+
+      rnffs.exceptions(fstream::failbit);
+      
+      rnffs >> rnh;
+      rnh.dump(cout);
+
+      int i = 0;
+      while (rnffs >> rne)
+      {
+         i++;
+      }
+
+      cout << "Read " << i << " records.  Done."  << endl;
+      exit(0);
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e;
+      exit(1);
+   }
+   catch (...)
+   {
+      cout << "unknown error.  Done." << endl;
+      exit(1);
+   }
+
+   exit(0);
+} // main()
diff --git a/trunk/tests/rinex_obs_read_write.cpp b/trunk/tests/rinex_obs_read_write.cpp
new file mode 100644
index 0000000..2a87b22
--- /dev/null
+++ b/trunk/tests/rinex_obs_read_write.cpp
@@ -0,0 +1,63 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/rinex_obs_read_write.cpp#1 $"
+
+/**
+ * @file rinex_obs_read_write.cpp
+ * tests gpslib::RinexObsData, gpslib::RinexObsStream, gpslib::RinexObsHeader.
+ */
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+using namespace std;
+
+/// Returns 0 on success.  Input and output files should diff wihtout error.
+main(int argc, char *argv[])
+{
+
+   if (argc<2)
+   {
+      cout << "rinex_obs_read_write inputfile outputfile" << endl;
+      exit(-1);
+   }
+
+   try
+   {
+      cout << "Reading " << argv[1] << endl;
+      gpstk::RinexObsStream roffs(argv[1]);
+      cout << "Writing " << argv[2] << endl;
+      gpstk::RinexObsStream out(argv[2], ios::out);
+      roffs.exceptions(ios::failbit);
+      gpstk::RinexObsHeader roh;
+      gpstk::RinexObsData roe;
+      
+      roffs >> roh;
+      out << roh;
+      roh.dump(cout);
+
+      while (roffs >> roe)
+      {
+         out << roe;
+      }
+
+      cout << "Read " << roffs.recordNumber << " epochs.  Done."  << endl;
+      exit(0);
+   }
+   catch(gpstk::FFStreamError& e)
+   {
+      cout << e;
+      exit(1);
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e;
+      exit(1);
+   }
+   catch (...)
+   {
+      cout << "unknown error.  Done." << endl;
+      exit(1);
+   }
+
+   exit(0);
+} // main()
diff --git a/trunk/tests/rinex_obs_test.cpp b/trunk/tests/rinex_obs_test.cpp
new file mode 100644
index 0000000..0b2585e
--- /dev/null
+++ b/trunk/tests/rinex_obs_test.cpp
@@ -0,0 +1,59 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/rinex_obs_test.cpp#1 $"
+
+/**
+ * @file rinex_obs_test.cpp
+ * tests gpslib::RinexObsData, gpslib::RinexObsStream, gpslib::RinexObsHeader.
+ */
+
+#include "RinexObsBase.hpp"
+#include "RinexObsData.hpp"
+#include "RinexObsHeader.hpp"
+#include "RinexObsStream.hpp"
+
+using namespace std;
+
+/// Returns 0 on success.
+main(int argc, char *argv[])
+{
+   if (argc<2)
+   {
+      cout << "Gimme a rinex obs to chew on!  Exiting." << endl;
+      exit(-1);
+   }
+
+   try
+   {
+      cout << "Reading " << argv[1] << "." << endl;
+
+      gpstk::RinexObsStream roffs(argv[1]);
+      roffs.exceptions(ios::failbit);
+      gpstk::RinexObsHeader roh;
+      gpstk::RinexObsData roe;
+      
+      roffs >> roh;
+      roh.dump(cout);
+
+      while (roffs >> roe)
+      {}
+
+      cout << "Read " << roffs.recordNumber << " epochs.  Done."  << endl;
+      exit(0);
+   }
+   catch(gpstk::FFStreamError& e)
+   {
+      cout << e;
+      exit(1);
+   }
+   catch(gpstk::Exception& e)
+   {
+      cout << e;
+      exit(1);
+   }
+   catch (...)
+   {
+      cout << "unknown error.  Done." << endl;
+      exit(1);
+   }
+
+   exit(0);
+} // main()
diff --git a/trunk/tests/runAllTests b/trunk/tests/runAllTests
new file mode 100755
index 0000000..4398230
--- /dev/null
+++ b/trunk/tests/runAllTests
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+data="./data"
+
+echo "rinex_met_test"
+rinex_met_test $data/405_077A.02M
+
+echo "daytimetest:"
+daytimetest
+
+echo "exceptiontest:"
+exceptiontest
+
+echo "petest:"
+petest $data/nga12600.apc
+
+echo "stringutiltest:"
+stringutiltest >stringutiltest.out
+diff stringutiltest.out $data/stringutiltest.ref
+
+echo "ephemeris comparison test:"
+echo "first merge RINEX navigation files into merged.n"
+../apps/Rinextools/NavMerge -omerged.n $data/s011061a.04n $data/s021061a.04n $data/s031061a.04n
+echo "EphComp will throw an exception here when it can't find PRN 13 .. this is normal"
+EphComp -p $data/nga12600.apc -p $data/nga12601.apc -b merged.n > EphComp.out
+gnuplot -persist EphComp.gp
+
+echo "MatrixTest"
+MatrixTest $data/anotsym.dat  $data/cov.dat $data/dia.dat $data/lt.dat \
+           $data/partials.dat $data/squ.dat $data/sym.dat $data/tmatrix.dat \
+           $data/ut.dat >MatrixTest.out
+diff MatrixTest.out $data/MatrixTest.ref
+
+echo "Generating directory for FileSpecTest"
+genFileSpecTestDirs.pl
+FileSpecTest
+
+echo "PositionTest"
+positiontest > positiontest.out
+diff positiontest.out data/positiontest.ref
diff --git a/trunk/tests/runAllTests.bat b/trunk/tests/runAllTests.bat
new file mode 100755
index 0000000..a89c697
--- /dev/null
+++ b/trunk/tests/runAllTests.bat
@@ -0,0 +1,72 @@
+echo off
+REM Run all tests in the tests directory
+REM $Id:$
+
+echo.
+echo.
+echo rinex_met_test
+echo -------------------------------------------------------------------------
+rinex_met_test data/405_077A.02M
+
+echo.
+echo.
+echo daytimetest:
+echo -------------------------------------------------------------------------
+daytimetest
+
+echo.
+echo.
+echo exceptiontest:
+echo -------------------------------------------------------------------------
+exceptiontest
+
+echo.
+echo.
+echo petest:
+echo -------------------------------------------------------------------------
+petest data/nga12600.apc
+
+echo.
+echo.
+echo stringutiltest:
+echo -------------------------------------------------------------------------
+stringutiltest >stringutiltest.out
+diff stringutiltest.out data/stringutiltest.ref
+echo Look in stringutiltest.out
+
+echo.
+echo.
+echo MatrixTest
+echo -------------------------------------------------------------------------
+MatrixTest data/anotsym.dat  data/cov.dat data/dia.dat data/lt.dat data/partials.dat data/squ.dat data/sym.dat data/tmatrix.dat data/ut.dat > MatrixTest.out
+echo Look in MatrixTest.out
+echo Here is a 'diff' with what MatrixTest.out should be:
+diff MatrixTest.out data/MatrixTest.ref.Win32
+
+echo.
+echo.
+echo Generating directory for FileSpecTest
+echo -------------------------------------------------------------------------
+perl genFileSpecTestDirs.pl
+FileSpecTest
+
+echo.
+echo.
+echo PositionTest
+echo -------------------------------------------------------------------------
+positiontest > positiontest.out
+diff positiontest.out data/positiontest.ref
+echo Look in positiontest.out
+
+echo.
+echo.
+echo EphComp:
+echo -------------------------------------------------------------------------
+echo first merge three RINEX navigation files to create merged.n
+..\apps\Rinextools\NavMerge -omerged.n data\s011061a.04n data\s021061a.04n data\s031061a.04n
+echo EphComp will throw an exception when it can't find PRN 13 here --
+echo    that's ok, its part of the test:
+EphComp -p data/nga12600.apc -p data/nga12601.apc -b merged.n > EphComp.out
+echo ...end of EphComp. Look in EphComp.out -- here's the plot:
+gnuplot EphCompWin.gp
+
diff --git a/trunk/tests/stringutiltest.cpp b/trunk/tests/stringutiltest.cpp
new file mode 100755
index 0000000..71de1fe
--- /dev/null
+++ b/trunk/tests/stringutiltest.cpp
@@ -0,0 +1,468 @@
+#pragma ident "$Id: //depot/sgl/gpstk/dev/tests/stringutiltest.cpp#2 $"
+
+#include <iostream>
+#include <string>
+#include "StringUtils.hpp"
+
+using namespace gpstk::StringUtils;
+using namespace std;
+
+/**
+ * @file stringutiltest.cpp
+ * A test of the gpslib::StringUtils functions
+ *
+ */
+
+// must be big enough to show hex digits in index
+char hexDumpMess[] =
+{ 0x00, 0x10, 0x30, 0x33, 0x30, 0x31, 0x30, 0x35,
+  0x3A, 0x65, 0x70, 0x68, 0x20, 0x3A, 0x30, 0x3A,
+  0x35, 0x32, 0x36, 0x34, 0x30, 0x2E, 0x33, 0x33,
+  0x33, 0x34, 0x30, 0x32, 0x37, 0x37, 0x37, 0x37,
+  0x37, 0x37, 0x37, 0x38, 0x42, 0x72, 0x69, 0x61,
+  0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x68,
+  0x6f, 0x73, 0x65, 0x72, 0x32, 0x35, 0x39, 0x32,
+  0x35, 0x39, 0x32, 0x34, 0x20, 0x32, 0x20, 0x35,
+  0x32, 0x36, 0x34, 0x30, 0x2E, 0x33, 0x33, 0x38,
+  0x38, 0x33, 0x36, 0x33, 0x34, 0x32, 0x35, 0x39,
+  0x32, 0x35, 0x39, 0x33, 0x20, 0x32, 0x20, 0x38,
+  0x35, 0x34, 0x31, 0x32, 0x20, 0x31, 0x20, 0x31,
+  0x20, 0x30, 0x20, 0x31, 0x20, 0x31, 0x20, 0x34,
+  0x20, 0x32, 0x20, 0x34, 0x20, 0x30, 0x20, 0x30,
+  0x20, 0x33, 0x20, 0x31, 0x31, 0x39, 0x39, 0x20,
+  0x32, 0x32, 0x63, 0x30, 0x61, 0x66, 0x30, 0x33,
+  0x20, 0x31, 0x37, 0x37, 0x30, 0x32, 0x39, 0x65,
+  0x34, 0x20, 0x61, 0x66, 0x34, 0x30, 0x30, 0x31,
+  0x66, 0x20, 0x65, 0x36, 0x31, 0x62, 0x35, 0x38,
+  0x61, 0x20, 0x35, 0x35, 0x66, 0x33, 0x37, 0x35,
+  0x30, 0x20, 0x34, 0x63, 0x63, 0x61, 0x38, 0x38,
+  0x37, 0x20, 0x31, 0x31, 0x35, 0x64, 0x37, 0x63,
+  0x66, 0x63, 0x20, 0x33, 0x61, 0x64, 0x32, 0x30,
+  0x34, 0x38, 0x61, 0x20, 0x63, 0x65, 0x61, 0x20,
+  0x33, 0x36, 0x32, 0x63, 0x34, 0x38, 0x20, 0x31,
+  0x31, 0x39, 0x39, 0x20, 0x32, 0x32, 0x63, 0x30,
+  0x61, 0x66, 0x30, 0x33, 0x20, 0x31, 0x37, 0x37,
+  0x30, 0x34, 0x61, 0x37, 0x34, 0x20, 0x33, 0x61,
+  0x63, 0x34, 0x36, 0x36, 0x63, 0x31, 0x20, 0x62,
+  0x64, 0x30, 0x63, 0x36, 0x64, 0x63, 0x20, 0x33,
+  0x39, 0x31, 0x62, 0x33, 0x37, 0x38, 0x33, 0x20,
+  0x33, 0x65, 0x30, 0x34, 0x30, 0x63, 0x66, 0x85 };
+
+/// This returns 0 if all tests pass.
+int main()
+{
+   try
+   {
+      int rc = 0;
+      string result, ref;
+      string a = "1234567890", b = "456";
+      string aa = "---1234567890---";
+      char c = '-';
+      string d = "--";
+      string hexDumpString(hexDumpMess, sizeof(hexDumpMess));
+
+         // Someone may want to do this to a string stream and do some
+         // comparisons and what-not... for now, I'm only testing to
+         // make sure it doesn't crash...
+      cout << "Standard hex dump:" << endl;
+      hexDumpData(cout, hexDumpString);
+      cout << endl << "Alternate hex dump:" << endl;
+      HexDumpDataConfig hdcfg(true, true, true, 8, 2, 2, 1, 0, 0, 16, true,
+                              '\'', 1);
+      hexDumpData(cout, hexDumpString, 6, hdcfg);
+      
+      cout << endl << "Above using printable():" << endl;
+      cout << printable(hexDumpString) << endl;
+
+
+         //#############################
+         // Justification tests
+  
+      cout << "Original: " << a << endl;
+      ref = a;
+      result = string(3,c) + a;
+      a = rightJustify(a, a.length() + 3, c);
+      if(a != result)
+      {
+         cout  << "rightJustify failed: " << a << endl 
+               << "Should be: " << result << endl;
+      }
+  
+      a = ref;
+      result = a + string(3,c);
+      a = leftJustify(a, a.length()+3, c);
+      if(a != result)
+      {
+         cout << "leftJustify failed: " << a << endl 
+              << "Should be: " << result << endl;
+      }
+  
+      a = ref;
+      result = string(3,c) + a + string(3,c);
+      a = center(a, a.length()+6, c);
+      if(a != result)
+      {
+         cout << "center failed: " << a << endl
+              << "Should be: " << result << endl;
+      }
+
+      a = ref;
+
+         //#############################
+         // Strip Tests
+
+         //######## Leading
+      ref = aa;
+      result = aa.substr(1,string::npos);
+      aa = stripLeading(aa, c, 1);
+      if(aa != result)
+      {
+         cout << "stripLeading(string, char, 1) failed: " << aa << endl
+              << "Should be: " << result << endl;
+      }
+
+      aa = ref;
+      result = aa.substr(2,string::npos);
+      aa = stripLeading(aa, d, 1);
+      if(aa != result)
+      {
+         cout << "stripLeading(string, char *, 1) failed: " << aa  << endl
+              << "Should be: " << result << endl;
+      }
+
+      aa = ref;
+      result = aa.substr(3,string::npos);
+      aa = stripLeading(aa, c);
+      if(aa != result)
+      {
+         cout << "stripLeading(string, char) failed: " << aa << endl
+              << "Should be: " << result << endl;
+      }
+
+      aa = ref;
+      result = aa.substr(2,string::npos);
+      aa = stripLeading(aa, d);
+      if(aa != result)
+      {
+         cout << "stripLeading(string, char *) failed: " << aa  << endl
+              << "Should be: " << result << endl;
+      }
+
+         //######## Trailing
+      aa = ref;
+      result = aa.substr(0, aa.length()-1);
+      aa = stripTrailing(aa, c, 1);
+      if(aa != result)
+      {
+         cout << "stripTrailing(string, char, 1) failed: " << aa  << endl
+              << "Should be: " << result << endl;
+      }
+
+      aa = ref;
+      result = aa.substr(0, aa.length()-2);
+      aa = stripTrailing(aa, d, 1);
+      if(aa != result)
+      {
+         cout << "stripTrailing(string, char *, 1) failed: " << aa  << endl
+              << "Should be: " << result << endl;
+      }
+
+      aa = ref;
+      result = aa.substr(0, aa.length()-3);
+      aa = stripTrailing(aa, c);
+      if(aa != result)
+      {
+         cout << "stripTrailing(string, char) failed: " << aa  << endl
+              << "Should be: " << result << endl;
+      }
+
+      aa = ref;
+      result = aa.substr(0, aa.length()-2);
+      aa = stripTrailing(aa, d);
+      if(aa != result)
+      {
+         cout << "stripTrailing(string, char *) failed: " << aa  << endl
+              << "Should be: " << result << endl;
+      }
+
+         //######## Both Leading & Trailing
+      aa = ref;
+      result = aa.substr(1,aa.length()-2);
+      aa = strip(aa, c, 1);
+      if(aa != result)
+      {
+         cout << "strip(string, char, 1) failed: " << aa  << endl
+              << "Should be: " << result << endl;
+      }
+  
+      aa = ref;
+      result = aa.substr(2,aa.length()-4);
+      aa = strip(aa, d, 1);
+      if(aa != result)
+      {
+         cout << "strip(string, char *, 1) failed: " << aa  << endl
+              << "Should be: " << result << endl;
+      }
+  
+      aa = ref;
+      result = aa.substr(3, aa.length()-6);
+      aa = strip(aa,c);
+      if(aa != result)
+      {
+         cout << "strip(string, char) failed: " << aa  << endl
+              << "Should be: " << result << endl;
+      }
+  
+      aa = ref;
+      result = aa.substr(2, aa.length()-4);
+      aa = strip(aa,d);
+      if(aa != result)
+      {
+         cout << "strip(string, char *) failed: " << aa  << endl
+              << "Should be: " << result << endl;
+      }
+
+         //################################ 
+         //translation
+      string xlat = "The Hoopy Ford Prefect Boffs the Eccentrica Gallumbits";
+      string xlati1 = "sdfgDFG";
+      string xlato1 = "!)#%#)%";
+      string xlata1 = "The Hoopy )or) Pre#ect Bo##! the Eccentrica %allumbit!";
+      string xlati2 = "sdfgDFG";
+      string xlato2 = "!)#%";
+      string xlata2 = "The Hoopy  or) Pre#ect Bo##! the Eccentrica  allumbit!";
+      string xlati3 = "sdfgDFG";
+      string xlato3 = "sdfgDFG";
+      string xlata3 = "The Hoopy Ford Prefect Boffs the Eccentrica Gallumbits";
+      aa = translate(xlat, xlati1, xlato1);
+      if (aa != xlata1)
+      {
+         cout << "translate(const string&,const string&,const string&,char) "
+              << "failed: " << aa << endl
+              << "should be " << xlata1 << endl;
+      }
+      aa = translate(xlat, xlati2, xlato2);
+      if (aa != xlata2)
+      {
+         cout << "translate(const string&,const string&,const string&,char) "
+              << "failed: " << aa << endl
+              << "should be " << xlata2 << endl;
+      }
+      aa = translate(xlat, xlati3, xlato3);
+      if (aa != xlata3)
+      {
+         cout << "translate(const string&,const string&,const string&,char) "
+              << "failed: " << aa << endl
+              << "should be " << xlata3 << endl;
+      }
+
+         //################################ 
+         //String to number
+      int res = asInt(a);
+      if (1234567890 != res)
+      {
+         cout << "asInt(string&) failed: " << res << endl
+              << "should be 1234567890" << endl;
+      }
+
+      a = "12345.67890";
+      double res2 = asDouble(a);
+      if ( (double)(12345.67890) != res2)
+      {
+         cout << "asDouble(string&) failed: " << setprecision(15) << res2 << endl
+              << "should be 12345.67890 " << endl;
+      }
+
+      float res25 = asFloat(a);
+      if( (float)(12345.67890) != res25)
+      {
+         cout << "asFloat(string&) failed: " << setprecision(15) << res25 << endl
+              << "should be 12345.67890 " << endl;
+      }
+  
+      long double lda = 12345.67890L;
+      long double res3 = asLongDouble(a);
+      if (lda != res3)
+      {
+         cout << "asLongDouble(string&) failed: " << setprecision(21) << res3
+              << endl << "should be 12345.67890 " << endl;
+      }
+  
+         //#####################################33
+         // Number as string
+    
+      res2 = 12345.6789; // double
+      res3 = 12345.6789L; // long double
+      res = 1234567890; // int
+
+      aa = asString(res2);
+      if(asDouble(aa) != res2)
+      {
+         cout << "asString(double) failed: " << aa << endl
+              << "should be 12345.6789" << endl;
+      }
+  
+      aa = asString(res3);
+      if(asLongDouble(aa) != res3)
+      {
+         cout << "asString(long double) failed: " << aa << endl
+              << "should be 12345.6789" << endl;
+      }
+
+      aa = asString(res);
+      if(asInt(aa) != res)
+      {
+         cout << "asString(X) failed: " << aa << endl
+              << "should be " << res << endl;
+      }
+  
+         // ##############################3
+         // Hex tests
+
+      string q="0x100 bleh";
+      string z="100 moo";
+
+      result = x2d(q);
+      if (result != string("256 bleh"))
+      {
+         cout << "x2d failed: " << result << endl
+              << "Should be: '256 bleh'"<< endl;
+      }
+
+      result = d2x(z);
+      if (result != string("64 moo"))
+      {
+         cout << "x2d failed: " << result << endl
+              << "Should be: '64 moo'"<< endl;
+      }
+
+         //##############################3
+         // String replacement
+
+      a   = "010101000111010";
+      aa  = "0-0-0-000---0-0";
+      string aaa = "0abc0abc0abc000abcabcabc0abc0";
+  
+      ref = a;
+      a = replaceAll(a, string("1"), string("-"));
+      if(a != aa)
+      {
+         cout << "replaceAll() failed: " << a << endl
+              << "should be            " << aa << endl;
+      }
+
+      a = ref;
+      a = replaceAll(a, string("1"), string("abc"));
+      if(a != aaa)
+      {
+         cout << "replaceAll() failed: " << a << endl
+              << "should be            " << aaa << endl;
+      }
+
+      a = ref;
+      aaa = "01230123012300012312312301230";
+      a = replaceAll(a, string("1"), string("123"));
+      if(a != aaa)
+      {
+         cout << "replaceAll() failed: " << a << endl
+              << "should be            " << aaa << endl;
+      }
+
+         //##############################################
+         // Word Tests
+      a = "      The  Quick    Brown  Fox     Jumps  Over    The  Lazy    Dog.    ";
+  
+      aa = firstWord(a);
+      if(aa != string("The"))
+      {
+         cout << "firstWord() failed: " << aa << endl
+              << "should be 'The'" << endl;
+      }
+  
+      res = numWords(a);
+      if(res != 9)
+      {
+         cout << "numWords() failed: " << res << endl
+              << "should be 9" << endl;
+      }
+  
+      aa = word(a, 4);
+      if(aa != string("Jumps"))
+      {
+         cout << "word() failed: " << aa << endl
+              << "should be 'Jumps'" << endl;
+      }
+
+      removeWords(a, 3, 2);
+      result = "      The  Quick    Brown  Over    The  Lazy    Dog.    ";
+      if(a != result)
+      {
+         cout << "removeWords() failed: " << a << endl
+              << "should be '" << result << "'" << endl;
+      }
+
+      aa = stripFirstWord(a);
+      result = "Quick    Brown  Over    The  Lazy    Dog.    ";
+      if ((aa != string("The")) ||
+          (a != result))
+      {
+         cout << "stripFirstWord() failed: " << aa << endl
+              << "should be 'The'" << endl
+              << "and: " << a << endl
+              << "should be '" << result << "'" << endl;
+      }
+
+      removeWords(a, 5);
+      result = "Quick    Brown  Over    The  Lazy";
+      if (a != result)
+      {
+         cout << "removeWords failed: " << a << endl
+              << "should be '" << result << "'" << endl;
+      }
+
+      aa = words(a, 3);
+      result = "The  Lazy";
+      if (aa != result)
+      {
+         cout << "words failed: \'" << aa << "' ("  << a << ")" << endl
+              << "should be '" << result << "'" << endl;
+      }
+
+         //####################
+         // regular expressions
+
+      rc = isLike(a, "Br.*Over.*");
+      if (rc != 1)
+      {
+         cout << "isLike (Br.*Over.*) failed: " << rc << endl
+              << "should be: 1" << endl;
+      }
+
+      rc = isLike(a, "Br.Over.*");
+      if (rc != 0)
+      {
+         cout << "isLike (Br.Over.*) failed: " << rc << endl
+              << "should be: 0" << endl;
+      }
+
+      aa = matches(a, "Br.*Over.*");
+      result = "Brown  Over    The  Lazy";
+      if (aa != result)
+      {
+         cout << "matches failed: " << aa << endl
+              << "should be: '" << result << "'" << endl;
+      }
+
+      string prettyPrintThis("This is a very long sentence that will get cut up into lines with a maximum length of 40 characters, each line indented by a few spaces.");
+      prettyPrint(prettyPrintThis, "\n", "    ", "      ", 40);
+      cout << prettyPrintThis << endl;
+
+      cout << "All other Tests Passed." << endl; 
+
+      return 0;
+   }
+   catch (gpstk::Exception& e)
+   {
+      cout << e << endl;
+   }
+}
diff --git a/trunk/tests/testscript.pl b/trunk/tests/testscript.pl
new file mode 100755
index 0000000..15922e1
--- /dev/null
+++ b/trunk/tests/testscript.pl
@@ -0,0 +1,184 @@
+#!/usr/bin/perl
+# $Id: //depot/sgl/gpstk/dev/tests/testscript.pl#6 $
+
+#            Ryan Mire ARL SGL 
+#                June 2005 
+# last saved: July 25 1:50pm
+# 
+#
+# Test Script created for the purpose of automating the testing of the GPStk Toolkit
+# Proper Command Line Syntax:
+#   >>test script terminated\n testscript <home directory> <configfile> <output directory> [<html file and directory path>]
+#
+
+
+$homedir=$ARGV[0];
+die "\nThe given output directory, $homedir, is  not found or does not exist.\n Try......>>test script terminated\n testscript <home directory> <configfile> <output directory> [<html file name>]\n"
+ if((-e $homedir)==0);
+
+$configfile=$ARGV[1];
+
+$outdir=$ARGV[2];
+mkdir "$outdir"
+  if((-e $outdir)==0);
+
+$html=$ARGV[3];
+
+$exedir=$homedir."/gpstk/dev/tests";
+die "\nThe test directory, $exedir, is not found or does not exist.......test script terminated"
+ if((-e $exedir)==0);
+
+$datdir=$exedir."/data";
+die "\nThe data directory, $datdir, is not found or does not exist......test script terminated"
+ if((-e $datdir)==0);
+
+$passfail="All Tests Passed";
+
+
+$n=0;
+
+open(CONFIG, $configfile);
+$testspec="";
+$mainlog="$outdir/testscript.log";
+open(LOG,">".$mainlog);
+open(HTML,">".$html);
+
+if($html)          
+{
+   chomp($kernel =`uname -s`);
+   chomp($processor = `uname -p`);
+   print HTML "<tr class=\"alt\">\n";
+   print HTML "<td> $kernel</td>\n";                   #Name of Kernel
+   print HTML "<td> $processor</td>\n";                #Name of Processor
+}
+
+while(<CONFIG>)
+{
+  # print "N = $n\n";
+   next if /^(#|!)/;                         #Skips lines beginning with "!" 
+   s/^\s+//;                                 #Substitute any space at the beginning of the line with nothing
+   
+   if (/\\$/)                                #If the line contains a "\" at the end
+   {
+      s/\\$//;                               #Substitute the endline character "\" with nothing
+      s/\n/ /;                               #Substitute the newline character with a space
+      $testspec=$testspec.$_;
+      next;
+   }
+   else
+   {
+      $testspec=$testspec.$_;
+   }
+
+      $n+=1;                                 #Counts up through all the executed tests
+
+      $testspec=~ s/;\s*$//;                 #Substitue the colon and space endline character with nothing
+      $testspec=~ s/\$outdir/$outdir/;       #Replace the word $outdir with the true local value of $outdir
+      $testspec=~ s/\$datdir/$datdir/g;      #Replace the word $datdir with the true local value of $datdir
+     # print "\nOriginal: $testspec\n";
+
+      @Cmdline=split /,/, $testspec;         #Split the line at any commas and create the command line array
+      @Cmdname=split /(\s+|,|;)/, $testspec; #Split the line at any comas or whitespace or colons and create the command name array
+
+      $Cmdline="$exedir/@Cmdline[0]";        #Add on the proper local directory $exedir to begin the building of the command line
+      $Cmdname="@Cmdname[0]";                
+      $scrfile="$outdir/$Cmdname.scr";       #Creates the generic screen output file in the proper $outdir local directory
+          
+     # print "Command Line: $Cmdline\n";
+      print "Executing: $Cmdname\n";
+     # print "File Spec for Screen Capture: $scrfile\n";
+ 
+      $ret_val="Success";
+     
+      if (system "$Cmdline>$scrfile")
+      {
+         $ret_val="Failure";
+      }
+   
+      $diff_val="Success";
+      $diffline=@Cmdline[1];                   #If there are any pieces after the first space/comma/colon diffline gets them
+
+     # print "DIFFLINE:     $diffline\n";
+
+      if ($diffline)                            
+      {
+	
+        
+         $diffline=~ s/^\s//;                   #Takes off the beginning whitespace 
+         @diffline=split /:/, $diffline;        #Splits at any colon
+         $output=@diffline[0];                  #Text before the colon
+         $golden=@diffline[1];                  #Text after the colon
+         $diff_file="$outdir/$Cmdname.dif";     
+                  
+         system "sdiff -s -I File $outdir/$output $datdir/$golden>$diff_file";      #executes Unix Bash Shell command
+
+      
+         if (!-z $diff_file)                    #If the diff file is non-empty
+         {
+            $diff_val="False";
+         }
+      }
+   
+      if(-z $diff_file)
+      {
+        system "rm $diff_file"
+      }
+
+      print "\t\tTest Run:     $ret_val\n";
+      print "\t\tDiff Value:   $diff_val\n";
+#     print "$kernel \t $processor \n";
+
+
+      if ($ret_val eq 'Success' && $diff_val eq 'Success')
+      {
+         print LOG "$Cmdname......Success\n";
+      }
+      else
+      {
+          print LOG "$Cmdname......Failure   -see $Cmdname.dif and $Cmdname.scr\n";        
+          $passfail="One or More Tests Failed";
+          chomp($n);
+          chomp($Cmdname);
+          $failed[$n]="\t $n \t $Cmdname \n";      #Adds failed test to Failed Test list
+      }
+      
+      if ($html)
+      {
+          if($ret_val eq 'Success' && $diff_val eq 'Success')
+          {
+	      $colorcode="pass";
+          }
+          else
+          {
+	      $colorcode="fail";
+	  }
+           print HTML "<td> class=\"$colorcode\"> $ret_val </td>\n";     
+      }
+
+      $testspec="";
+}
+   print LOG "\n Failed Test List :\n";
+ print LOG "\n @failed";
+
+if($html)
+{
+   print HTML "</tr>\n";
+}
+
+   close(HTML);
+   close(LOG);
+   close(CONFIG);
+   
+ print "\n    Main Directory:       $homedir\n";
+ print "    Configuration File:   $configfile\n";
+ print "    Output Directory:     $outdir\n";
+ print "    Test Directory:       $exedir\n";
+ print "    Data directory:       $datdir\n";
+ print "\nRan $n tests\n"; 
+ print "$passfail\n";
+   
+if(@failed!=0)
+{   
+    print "Failed Test List:\n";
+    print "@failed";
+}
diff --git a/trunk/tests/testscript_readme.txt b/trunk/tests/testscript_readme.txt
new file mode 100644
index 0000000..a93a4c3
--- /dev/null
+++ b/trunk/tests/testscript_readme.txt
@@ -0,0 +1,18 @@
+
+	testscript.pl is a script accompanied by configfile.txt, which contains a list of test programs and their associated command line options.  testscript.pl runs through every line of the configfile building and extending the proper command line for each test.
+
+>>testscript.pl <development directory>  <configfile>  <output directory>  [<html file and directory path>]
+
+<development directory> - This is the directory path that the GPSTk is installed in. 
+
+<configfile> - The file path and name of the configuration file.
+
+<output directory> - The output directory is the directory that all .dif and .scr files are sent to.  This not only allows for better archiving but also for easier cleanup at the end of testing so as not to waste disc space.  The test script outputs to screen the names of all tests executed and which ones failed in the execution or in differencing.  If a test does fail it can be seen in brief in the testscript.log file located in the output directory. For more details look at the .scr an [...]
+
+[<html file and directory path>] - The optional html directory path saves information in a format that can be used in an html script to help create a graphical table of information showing test results, the machine in which the tests were run on and they type of processor.
+
+	As  the tests are executed the stout results are written to a file named by the name of the test program + .scr on the end.  If necessary, the results are differenced against known data in the data directory.  The result of the differencing, even if there it is null, is placed into a file with the .dif extension. The .dif files are also named like the .scr, with the name of the test program + .dif on the end.
+SEE configfile help for details on proper syntax for the test script to be able to sync with the configfile.
+ 
+  
+

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/gpstk.git



More information about the Pkg-grass-devel mailing list